From 1ee0889ff126fa78881ee5b8e2adb064e3c28a3d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 19 Apr 2023 16:03:40 +0200 Subject: [PATCH 0001/4087] vdpau: add package_type (#17013) * add package_type * clear package_id * add empty layout --------- Co-authored-by: Uilian Ries Co-authored-by: Daniel --- recipes/vdpau/all/conanfile.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/recipes/vdpau/all/conanfile.py b/recipes/vdpau/all/conanfile.py index f2d2ef6b865d4..6c41a1e1b47da 100644 --- a/recipes/vdpau/all/conanfile.py +++ b/recipes/vdpau/all/conanfile.py @@ -3,28 +3,30 @@ from conan.tools.gnu import PkgConfig from conan.tools.system import package_manager -required_conan_version = ">=1.47" +required_conan_version = ">=1.50.0" class SysConfigVDPAUConan(ConanFile): name = "vdpau" version = "system" description = "VDPAU is the Video Decode and Presentation API for UNIX. It provides an interface to video decode acceleration and presentation hardware present in modern GPUs." - topics = ("vdpau", "hwaccel", "video") + topics = ("hwaccel", "video") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.freedesktop.org/wiki/Software/VDPAU/" license = "MIT" + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" + def layout(self): + pass + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("This recipe supports only Linux and FreeBSD") - def package_id(self): - del self.info.settings.compiler - del self.info.settings.arch - del self.info.settings.build_type - def system_requirements(self): dnf = package_manager.Dnf(self) dnf.install(["libvdpau-devel"], update=True, check=True) From 1449adffdd5151e0e7a3324c17e183c1e04c245c Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Wed, 19 Apr 2023 07:42:24 -0700 Subject: [PATCH 0002/4087] (#17103) linter: pylintrc_testpackage should not run layout checks --- linter/pylintrc_testpackage | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/linter/pylintrc_testpackage b/linter/pylintrc_testpackage index 94930dfb9465e..c5cf96e8cadf7 100644 --- a/linter/pylintrc_testpackage +++ b/linter/pylintrc_testpackage @@ -16,7 +16,11 @@ disable=fixme, missing-class-docstring, invalid-name, wrong-import-order, # TODO: Remove - import-outside-toplevel # TODO: Remove + import-outside-toplevel, # TODO: Remove + + # Not relevant to test package + conan-missing-layout-src-folder, + conan-layout-src-folder-is-src enable=conan-test-no-name, conan-import-conanfile From 8ab08bd3784fdc32b7d118397df491ba3bf305cd Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 19 Apr 2023 17:02:12 +0200 Subject: [PATCH 0003/4087] (#17102) xorg: add xcb-cursor it is needed for qt 6.5.0 https://github.com/qt/qtbase/commit/012132c60d --- recipes/xorg/all/conanfile.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index dcb49c7e48c40..b8a810681f531 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -32,7 +32,7 @@ def system_requirements(self): "libxv-dev", "libxvmc-dev", "libxxf86vm-dev", "libxcb-render0-dev", "libxcb-render-util0-dev", "libxcb-xkb-dev", "libxcb-icccm4-dev", "libxcb-image0-dev", "libxcb-keysyms1-dev", "libxcb-randr0-dev", "libxcb-shape0-dev", "libxcb-sync-dev", "libxcb-xfixes0-dev", - "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev"], update=True, check=True) + "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev"], update=True, check=True) apt.install_substitutes( ["libxcb-util-dev"], ["libxcb-util0-dev"], update=True, check=True) @@ -42,7 +42,7 @@ def system_requirements(self): "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", - "xcb-util-devel", "libuuid-devel"], update=True, check=True) + "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) dnf = package_manager.Dnf(self) dnf.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", @@ -50,7 +50,7 @@ def system_requirements(self): "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", - "xcb-util-devel", "libuuid-devel"], update=True, check=True) + "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) zypper = package_manager.Zypper(self) zypper.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", @@ -58,18 +58,18 @@ def system_requirements(self): "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXss-devel", "libXvMC-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", - "xcb-util-devel", "libuuid-devel"], update=True, check=True) + "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) pacman = package_manager.PacMan(self) pacman.install(["libxcb", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor", "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres", "libxss", "libxvmc", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", - "libxxf86vm", "libxv", "xcb-util", "util-linux-libs"], update=True, check=True) + "libxxf86vm", "libxv", "xcb-util", "util-linux-libs", "xcb-util-cursor"], update=True, check=True) package_manager.Pkg(self).install(["libX11", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor", "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres", "libXScrnSaver", "libxvmc", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", - "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util"], update=True, check=True) + "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "xcb-util-cursor"], update=True, check=True) def package_info(self): for name in ["x11", "x11-xcb", "fontenc", "ice", "sm", "xau", "xaw7", @@ -79,7 +79,7 @@ def package_info(self): "xcb-xkb", "xcb-icccm", "xcb-image", "xcb-keysyms", "xcb-randr", "xcb-render", "xcb-renderutil", "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xfixes", "xcb-xinerama", "xcb", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util", - "xcb-dri3"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]): + "xcb-dri3", "xcb-cursor"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]): pkg_config = PkgConfig(self, name) pkg_config.fill_cpp_info( self.cpp_info.components[name], is_system=self.settings.os != "FreeBSD") From 44e5e30d7b9bf3bf8c5e59afa1b2090ed47151f8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 19 Apr 2023 17:23:09 +0200 Subject: [PATCH 0004/4087] (#17093) uni-algo: fix broken logic in validate() + cleanup dead code * fix logic in validate() it was broken for legacy compiler=Visual Studio, and compiler.cppstd was not checked * remove dead code * no need to call CMakeToolchain in case of header-only * simplify definition of cmake_file_name & cmake_target_name relying on self.name to explicitly define these properties is not only unnecessarily confusing, but also not future proof in case of recipe renaming. --- recipes/uni-algo/all/conanfile.py | 52 ++++++++++++++----------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/recipes/uni-algo/all/conanfile.py b/recipes/uni-algo/all/conanfile.py index 5f287244a39c7..f69aa205d9dbf 100644 --- a/recipes/uni-algo/all/conanfile.py +++ b/recipes/uni-algo/all/conanfile.py @@ -1,10 +1,11 @@ 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.layout import basic_layout -from conan.tools.microsoft import check_min_vs, is_msvc -from conan.tools.files import export_conandata_patches, get, copy, rmdir +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os required_conan_version = ">=1.53.0" @@ -32,21 +33,18 @@ class UniAlgoConan(ConanFile): @property def _min_cppstd(self): - return 17 + return "17" @property def _compilers_minimum_version(self): return { "Visual Studio": "16", - "msvc": "191", + "msvc": "192", "gcc": "7", "clang": "8", "apple-clang": "11", } - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -69,24 +67,26 @@ def package_id(self): self.info.clear() def validate(self): - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) - else: - check_min_vs(self, int(self._compilers_minimum_version["msvc"])) - if self.options.get_safe("shared"): - raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + 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." + ) + + if is_msvc(self) and self.options.get_safe("shared"): + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared with msvc") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - tc = CMakeToolchain(self) - tc.variables["UNI_ALGO_HEADER_ONLY"] = self.options.header_only - tc.generate() + if not self.options.header_only: + tc = CMakeToolchain(self) + tc.variables["UNI_ALGO_HEADER_ONLY"] = self.options.header_only + tc.generate() def build(self): if not self.options.header_only: @@ -125,11 +125,5 @@ def package_info(self): self.cpp_info.system_libs.append("m") # see https://github.com/uni-algo/uni-algo/blob/v0.7.1/CMakeLists.txt#L75-L109 - self.cpp_info.set_property("cmake_file_name", f"{self.name}") - self.cpp_info.set_property("cmake_target_name", f"{self.name}::{self.name}") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = f"{self.name}" - self.cpp_info.filenames["cmake_find_package_multi"] = f"{self.name}" - self.cpp_info.names["cmake_find_package"] = f"{self.name}" - self.cpp_info.names["cmake_find_package_multi"] = f"{self.name}" + self.cpp_info.set_property("cmake_file_name", "uni-algo") + self.cpp_info.set_property("cmake_target_name", "uni-algo::uni-algo") From 51a57a3a4e667d2d60581aac6e8500618ae917a8 Mon Sep 17 00:00:00 2001 From: Franck W Date: Wed, 19 Apr 2023 22:41:41 +0200 Subject: [PATCH 0005/4087] (#17130) fakeit: add version 2.4.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/fakeit/all/conandata.yml | 3 +++ recipes/fakeit/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fakeit/all/conandata.yml b/recipes/fakeit/all/conandata.yml index 6c84b299ffd6c..9b66729378da9 100644 --- a/recipes/fakeit/all/conandata.yml +++ b/recipes/fakeit/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/eranpeer/FakeIt/archive/2.4.0.tar.gz" + sha256: "eb79459ad6a97a5c985e3301b0d44538bdce2ba26115afe040f3874688edefb5" "2.3.2": url: "https://github.com/eranpeer/FakeIt/archive/2.3.2.tar.gz" sha256: "d2472d0d4b3dce83e8c9672e9221375c7a0c32aa8fe57c20075776928142b495" diff --git a/recipes/fakeit/config.yml b/recipes/fakeit/config.yml index a05c93c91a063..2d2179fc9b476 100644 --- a/recipes/fakeit/config.yml +++ b/recipes/fakeit/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.2": folder: all "2.3.1": From 3dc6a1b0bc86195ac9081eccf5183003607c26bf Mon Sep 17 00:00:00 2001 From: Jakob Widauer Date: Thu, 20 Apr 2023 06:43:43 +0200 Subject: [PATCH 0006/4087] (#17040) restinio: update dependencies * Update conanfile.py * fixup: linter + update layout --------- Co-authored-by: Chris Mc --- recipes/restinio/all/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index a9df43d526e76..f8da952c6fcac 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -18,7 +18,7 @@ class RestinioConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "RESTinio is a header-only C++14 library that gives you an embedded HTTP/Websocket server." topics = ("http-server", "websockets", "rest", "tls-support") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "asio": ["boost", "standalone"], @@ -34,12 +34,14 @@ class RestinioConan(ConanFile): } def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def requirements(self): self.requires("http_parser/2.9.4") - if Version(self.version) >= "0.6.16": + if Version(self.version) >= "0.6.17": + self.requires("fmt/9.1.0") + elif Version(self.version) >= "0.6.16": self.requires("fmt/9.0.0") else: self.requires("fmt/8.1.1") @@ -105,8 +107,7 @@ def generate(self): deps.generate() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -117,7 +118,6 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "restinio") self.cpp_info.set_property("cmake_target_name", "restinio::restinio") From be0b3d8eeeaad3d1d29d918b04a8436c40b07d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20V=C4=8Del=C3=A1k?= <1205482+fcelda@users.noreply.github.com> Date: Thu, 20 Apr 2023 15:02:10 +0200 Subject: [PATCH 0007/4087] (#17121) ldns: remove debug print statement --- recipes/ldns/all/conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/ldns/all/conanfile.py b/recipes/ldns/all/conanfile.py index ad41c0f4623d1..b6e94e58b15d8 100644 --- a/recipes/ldns/all/conanfile.py +++ b/recipes/ldns/all/conanfile.py @@ -106,7 +106,6 @@ def build(self): autotools.make() def package(self): - print(self.package_folder) autotools = Autotools(self) for target in ["install-h", "install-lib"]: autotools.install(target=target) From 45b667764da25f5de04daff3d4fc4b68cf1385b2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 20 Apr 2023 16:41:50 +0200 Subject: [PATCH 0008/4087] (#17136) [bot] Update authorized users list (2023-04-20) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 834b9ee6def4b..7f823184ed816 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1123,3 +1123,4 @@ authorized_users: - danicriss - voronaam - MatusKysel +- Sfletche132 From 194212efa44f97ff6e5955ccf8dd3ea852f420cd Mon Sep 17 00:00:00 2001 From: Sfletche132 <36818350+Sfletche132@users.noreply.github.com> Date: Thu, 20 Apr 2023 19:04:53 +0100 Subject: [PATCH 0009/4087] =?UTF-8?q?(#16789)=20Update=20abseil=20conanfil?= =?UTF-8?q?e.py=20to=20remove=20"\r"=20character=20in=20CMake=20target=20f?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update abseil conanfile.py to remove "\r" character in CMake target file on Windows * Update conanfile.py * Update conanfile.py --- recipes/abseil/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/abseil/all/conanfile.py b/recipes/abseil/all/conanfile.py index 2e1ff4f0d1d3b..1705dce38f64f 100644 --- a/recipes/abseil/all/conanfile.py +++ b/recipes/abseil/all/conanfile.py @@ -144,7 +144,10 @@ def _load_components_from_cmake_target_file(self, absl_target_file_path): components = {} abs_target_content = load(self, absl_target_file_path) - + + # Replace the line endings to support building with MSys2 on Windows + abs_target_content = abs_target_content.replace("\r\n", "\n") + cmake_functions = re.findall(r"(?Padd_library|set_target_properties)[\n|\s]*\([\n|\s]*(?P[^)]*)\)", abs_target_content) for (cmake_function_name, cmake_function_args) in cmake_functions: cmake_function_args = re.split(r"[\s|\n]+", cmake_function_args, maxsplit=2) From 88208bc5a164a65cbe6c05c849d32fdf146b1158 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 20 Apr 2023 22:01:49 +0200 Subject: [PATCH 0010/4087] (#17137) [config] Fix build log paths --- .c3i/config_v1.yml | 10 +++++----- .c3i/config_v2.yml | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index da307f4d721bc..a47a3adc33d1a 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -101,7 +101,7 @@ configurations: compiler.libcxx: ["libstdc++", "libc++"] compiler.version: ["11", "12", "13"] build_type: ["Release", "Debug"] - - id: configs/macos-clang + - id: macos-clang epochs: [0, 20211221] hrname: "macOS, Clang" content: @@ -112,7 +112,7 @@ configurations: compiler.version: [ "11.0", "12.0" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - - id: configs/macos-clang + - id: macos-clang epochs: [20220120] hrname: "macOS, Clang" content: @@ -123,7 +123,7 @@ configurations: compiler.version: [ "13.0" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - - id: configs/macos-m1-clang + - id: macos-m1-clang epochs: [0, 20211221] hrname: "macOS, Clang (M1/arm64)" build_profile: @@ -137,7 +137,7 @@ configurations: compiler.version: [ "12.0" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - - id: configs/macos-m1-clang + - id: macos-m1-clang epochs: [20220120] hrname: "macOS, Clang (M1/arm64)" build_profile: @@ -151,7 +151,7 @@ configurations: compiler.version: [ "13.0" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - - id: configs/windows-visual_studio + - id: windows-visual_studio epochs: [0, 20211221, 20220120] hrname: "Windows, Visual Studio" content: diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 2a1738ef411f9..7cc0b0834fde7 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -62,7 +62,7 @@ configurations: compiler.libcxx: ["libstdc++11"] compiler.version: ["11"] build_type: ["Release"] - - id: configs/macos-clang + - id: macos-clang epochs: [0, 20211221, 20220120, 20220628] hrname: "macOS, Clang" build_profile: @@ -75,7 +75,7 @@ configurations: compiler.version: [ "13" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - - id: configs/macos-m1-clang + - id: macos-m1-clang epochs: [0, 20211221, 20220120, 20220628] hrname: "macOS M1, Clang" build_profile: @@ -89,7 +89,7 @@ configurations: compiler.version: ["13" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - - id: configs/windows-msvc + - id: windows-msvc epochs: [0, 20211221, 20220120, 20220628] hrname: "Windows, MSVC" build_profile: From 03d813bfd9d3261241562bf4069be4f1c8a7e0ca Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 21 Apr 2023 05:22:36 +0900 Subject: [PATCH 0011/4087] (#17127) nameof: add version 0.10.3, support conan v2 * nameof: add version 0.10.3, support conan v2 * update minimum compiler version --- recipes/nameof/all/conandata.yml | 21 +++-- recipes/nameof/all/conanfile.py | 88 +++++++++++-------- .../nameof/all/test_package/CMakeLists.txt | 11 ++- recipes/nameof/all/test_package/conanfile.py | 22 +++-- .../nameof/all/test_v1_package/CMakeLists.txt | 8 ++ .../nameof/all/test_v1_package/conanfile.py | 18 ++++ recipes/nameof/config.yml | 8 +- 7 files changed, 116 insertions(+), 60 deletions(-) create mode 100644 recipes/nameof/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/nameof/all/test_v1_package/conanfile.py diff --git a/recipes/nameof/all/conandata.yml b/recipes/nameof/all/conandata.yml index c80396081f89b..a47ecd560d7e3 100644 --- a/recipes/nameof/all/conandata.yml +++ b/recipes/nameof/all/conandata.yml @@ -1,13 +1,16 @@ sources: - "0.9.4": - sha256: d23505104ce94474318976af8ce334e6891ef0b3927dfa1bc64484f701072aae - url: https://github.com/Neargye/nameof/archive/v0.9.4.tar.gz - "0.10.0": - sha256: 9c4eaaa795ebbdb5d87952b5280d9eb0ca2d1eaab3bac98a296cb1b74f8e673c - url: https://github.com/Neargye/nameof/archive/v0.10.0.tar.gz - "0.10.1": - url: "https://github.com/Neargye/nameof/archive/v0.10.1.tar.gz" - sha256: "000a55de58fb57cd77043ab9e91a3c91dbea5947b2cb0034cddf869ecf16e86d" + "0.10.3": + url: "https://github.com/Neargye/nameof/archive/v0.10.3.tar.gz" + sha256: "f31dd02841adfbb98949454005a308174645957d2b8d4dc06a7c15e1039e46e6" "0.10.2": url: "https://github.com/Neargye/nameof/archive/v0.10.2.tar.gz" sha256: "b596fd0804c61781bc8d87d9b8e448e2450debddb52c70ed3e89bf02c6c16f4f" + "0.10.1": + url: "https://github.com/Neargye/nameof/archive/v0.10.1.tar.gz" + sha256: "000a55de58fb57cd77043ab9e91a3c91dbea5947b2cb0034cddf869ecf16e86d" + "0.10.0": + url: "https://github.com/Neargye/nameof/archive/v0.10.0.tar.gz" + sha256: "9c4eaaa795ebbdb5d87952b5280d9eb0ca2d1eaab3bac98a296cb1b74f8e673c" + "0.9.4": + url: "https://github.com/Neargye/nameof/archive/v0.9.4.tar.gz" + sha256: "d23505104ce94474318976af8ce334e6891ef0b3927dfa1bc64484f701072aae" diff --git a/recipes/nameof/all/conanfile.py b/recipes/nameof/all/conanfile.py index 640713e2839c3..eeff71754920a 100644 --- a/recipes/nameof/all/conanfile.py +++ b/recipes/nameof/all/conanfile.py @@ -1,60 +1,78 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from conans.tools import Version +required_conan_version = ">=1.52.0" class NameofConan(ConanFile): name = "nameof" + description = "Header-only C++17 library provides nameof macros and functions to simply obtain the name of a variable, type, function, macro, and enum." + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Neargye/nameof" - license = "MIT" - description = "Header-only C++17 library provides nameof macros and functions to simply obtain the name of a variable, type, function, macro, and enum." topics = ( - "conan", - "nameof", - "cplusplus", "enum-to-string", "serialization", "reflection", "header-only", "compile-time" ) + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "compiler" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 @property - def _supported_compiler(self): - compiler = str(self.settings.compiler) - version = tools.Version(self.settings.compiler.version) - if compiler == "Visual Studio" and version >= "15": - return True - if compiler == "gcc" and version >= "7.4": - return True - if compiler == "clang" and version >= "5": - return True - if compiler == "apple-clang" and version >= "9": - return True - return False + def _compilers_minimum_version(self): + return { + "gcc": "9", + "clang": "5", + "apple-clang": "9", + "Visual Studio": "15.3", + "msvc": "191", + } - 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 layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() - def configure(self): + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") - if not self._supported_compiler: - raise ConanInvalidConfiguration("nameof: Unsupported compiler (https://github.com/Neargye/nameof#compiler-compatibility).") + check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + 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.", + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("nameof.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="nameof.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/nameof/all/test_package/CMakeLists.txt b/recipes/nameof/all/test_package/CMakeLists.txt index 6c1d84c7e3d82..0e0eb7cf71e17 100644 --- a/recipes/nameof/all/test_package/CMakeLists.txt +++ b/recipes/nameof/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(nameof REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE nameof::nameof) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/nameof/all/test_package/conanfile.py b/recipes/nameof/all/test_package/conanfile.py index a59a26a52c8dc..b4ff34dc80ca1 100644 --- a/recipes/nameof/all/test_package/conanfile.py +++ b/recipes/nameof/all/test_package/conanfile.py @@ -1,10 +1,18 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self, src_folder=".") + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +20,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/nameof/all/test_v1_package/CMakeLists.txt b/recipes/nameof/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/nameof/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/nameof/all/test_v1_package/conanfile.py b/recipes/nameof/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/nameof/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/nameof/config.yml b/recipes/nameof/config.yml index da915b86fd4a9..9af7662bde26f 100644 --- a/recipes/nameof/config.yml +++ b/recipes/nameof/config.yml @@ -1,9 +1,11 @@ versions: - "0.9.4": + "0.10.3": folder: "all" - "0.10.0": + "0.10.2": folder: "all" "0.10.1": folder: "all" - "0.10.2": + "0.10.0": + folder: "all" + "0.9.4": folder: "all" From 01d7b1c4c12ef82f6ec2f55096fa5fbdff444176 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Fri, 21 Apr 2023 02:04:56 -0700 Subject: [PATCH 0012/4087] (#17021) wil: correct package_info and msvc version review mistakes from https://github.com/conan-io/conan-center-index/pull/16701#discussion_r1166056823 --- recipes/wil/all/conanfile.py | 13 ++++++------- recipes/wil/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/recipes/wil/all/conanfile.py b/recipes/wil/all/conanfile.py index 32f511bb89acf..f54643102b43b 100644 --- a/recipes/wil/all/conanfile.py +++ b/recipes/wil/all/conanfile.py @@ -33,21 +33,20 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): + # About compiler version: https://github.com/microsoft/wil/issues/207#issuecomment-991722592 return { "Visual Studio": "15", - "msvc": "14.1" + "msvc": "191" } - # About compiler version: https://github.com/microsoft/wil/issues/207#issuecomment-991722592 def export_sources(self): export_conandata_patches(self) def layout(self): basic_layout(self, src_folder="src") - # same package ID for any package def package_id(self): - self.info.clear() + self.info.clear() # same package ID for any package def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -83,11 +82,11 @@ def package_info(self): self.cpp_info.libdirs = [] # https://github.com/microsoft/wil/blob/56e3e5aa79234f8de3ceeeaf05b715b823bc2cca/CMakeLists.txt#L53 - self.cpp_info.set_property("cmake_file_name", "WIL") + self.cpp_info.set_property("cmake_file_name", "wil") self.cpp_info.set_property("cmake_target_name", "WIL::WIL") # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "WIL" - self.cpp_info.filenames["cmake_find_package_multi"] = "WIL" + self.cpp_info.filenames["cmake_find_package"] = "wil" + self.cpp_info.filenames["cmake_find_package_multi"] = "wil" self.cpp_info.names["cmake_find_package"] = "WIL" self.cpp_info.names["cmake_find_package_multi"] = "WIL" diff --git a/recipes/wil/all/test_package/CMakeLists.txt b/recipes/wil/all/test_package/CMakeLists.txt index 5cc9ea385c984..69bc898ac6c03 100644 --- a/recipes/wil/all/test_package/CMakeLists.txt +++ b/recipes/wil/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -find_package(WIL REQUIRED CONFIG) +find_package(wil REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE WIL::WIL) From ede9a8454d7e374381897662f990980244c68dbd Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Fri, 21 Apr 2023 12:23:00 +0300 Subject: [PATCH 0013/4087] (#17060) libmysqlclient: stop it from dictating which compiler to use * fix * Update recipes/libmysqlclient/all/conanfile.py --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/libmysqlclient/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index b66e35ac22bea..a7af0fe1eae6e 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -208,6 +208,10 @@ def generate(self): tc.cache_variables["ENABLED_PROFILING"] = False tc.cache_variables["MYSQL_MAINTAINER_MODE"] = False tc.cache_variables["WIX_DIR"] = False + # Disable additional Linux distro-specific compiler checks. + # The recipe already checks for minimum versions of supported + # compilers. + tc.cache_variables["FORCE_UNSUPPORTED_COMPILER"] = True tc.cache_variables["WITH_LZ4"] = "system" From 1b18a01bb666895c11fa7cf625ee66b7d0c6395e Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Fri, 21 Apr 2023 11:43:23 +0200 Subject: [PATCH 0014/4087] (#16632) New recipe popt/1.16 --- recipes/popt/all/conandata.yml | 10 ++ recipes/popt/all/conanfile.py | 131 ++++++++++++++++++ .../popt/all/patches/0004-vcpkg-fixmsvc.patch | 62 +++++++++ recipes/popt/all/test_package/CMakeLists.txt | 7 + recipes/popt/all/test_package/conanfile.py | 26 ++++ recipes/popt/all/test_package/test_package.c | 17 +++ .../popt/all/test_v1_package/CMakeLists.txt | 10 ++ recipes/popt/all/test_v1_package/conanfile.py | 18 +++ recipes/popt/config.yml | 3 + 9 files changed, 284 insertions(+) create mode 100644 recipes/popt/all/conandata.yml create mode 100644 recipes/popt/all/conanfile.py create mode 100644 recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch create mode 100644 recipes/popt/all/test_package/CMakeLists.txt create mode 100644 recipes/popt/all/test_package/conanfile.py create mode 100644 recipes/popt/all/test_package/test_package.c create mode 100644 recipes/popt/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/popt/all/test_v1_package/conanfile.py create mode 100644 recipes/popt/config.yml diff --git a/recipes/popt/all/conandata.yml b/recipes/popt/all/conandata.yml new file mode 100644 index 0000000000000..943e3728397d7 --- /dev/null +++ b/recipes/popt/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "1.16": + url: "https://ftp.openbsd.org/pub/OpenBSD/distfiles/popt-1.16.tar.gz" + sha256: "e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8" +patches: + "1.16": + - patch_file: "patches/0004-vcpkg-fixmsvc.patch" + patch_description: "Windows portability" + patch_type: "portability" + patch_source: "https://github.com/microsoft/vcpkg/blob/master/ports/libpopt/0004-vcpkg-fixmsvc.patch" diff --git a/recipes/popt/all/conanfile.py b/recipes/popt/all/conanfile.py new file mode 100644 index 0000000000000..ce3a9a4e859ec --- /dev/null +++ b/recipes/popt/all/conanfile.py @@ -0,0 +1,131 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, unix_path +import os + + +required_conan_version = ">=1.54.0" + +class PoptConan(ConanFile): + name = "popt" + description = "Library for parsing command line parameters" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/rpm-software-management/popt" + topics = ("command line", "options", "parsing") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def build_requirements(self): + self.tool_requires("gnu-config/cci.20210814") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if 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() + + tc = AutotoolsToolchain(self) + if is_msvc(self): + tc.extra_cflags.append("-FS") + tc.configure_args.extend([ + "--disable-dependency-tracking", + "--disable-nls", + ]) + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f"{ar_wrapper} \"lib -nologo\"") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") + + def _patch_sources(self): + apply_conandata_patches(self) + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), + src=os.path.dirname(gnu_config), + dst=self.source_folder) + + def build(self): + self._patch_sources() + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + autotools = Autotools(self) + autotools.install() + + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = ["libpopt"] if self.settings.os == "Windows" else ["popt"] + + self.cpp_info.set_property("pkg_config_name", "popt") + + if is_apple_os(self): + self.cpp_info.system_libs = ["iconv"] diff --git a/recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch b/recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch new file mode 100644 index 0000000000000..d9bc082f3b53e --- /dev/null +++ b/recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch @@ -0,0 +1,62 @@ +diff -Naur a/poptconfig.c b/poptconfig.c +--- a/poptconfig.c 2009-05-20 16:18:07.000000000 +0300 ++++ b/poptconfig.c 2017-01-21 03:10:17.116120500 +0300 +@@ -141,17 +141,23 @@ + int poptSaneFile(const char * fn) + { + struct stat sb; +- uid_t uid = getuid(); ++#ifndef _MSC_VER ++ uid_t uid = getuid(); ++#endif // ! _MSC_VER + + if (stat(fn, &sb) == -1) + return 1; ++#ifndef _MSC_VER + if ((uid_t)sb.st_uid != uid) + return 0; ++#endif // ! _MSC_VER + if (!S_ISREG(sb.st_mode)) + return 0; + /*@-bitwisesigned@*/ +- if (sb.st_mode & (S_IWGRP|S_IWOTH)) +- return 0; ++#ifndef _MSC_VER ++ if (sb.st_mode & (S_IWGRP | S_IWOTH)) ++ return 0; ++#endif // ! _MSC_VER + /*@=bitwisesigned@*/ + return 1; + } +diff -Naur a/popthelp.c b/popthelp.c +--- a/popthelp.c 2009-08-28 03:06:33.000000000 +0300 ++++ b/popthelp.c 2017-01-21 02:59:26.665695800 +0300 +@@ -10,7 +10,10 @@ + + #include "system.h" + +-#define POPT_USE_TIOCGWINSZ ++#ifndef _MSC_VER ++#define POPT_USE_TIOCGWINSZ ++#endif ++ + #ifdef POPT_USE_TIOCGWINSZ + #include + #endif +diff -Naur a/system.h b/system.h +--- a/system.h 2008-12-18 19:09:49.000000000 +0200 ++++ b/system.h 2017-01-21 03:10:59.195367500 +0300 +@@ -100,4 +100,13 @@ + #endif + #define UNUSED(x) x __attribute__((__unused__)) + ++#if defined(_MSC_VER) ++#define X_OK 0 ++ ++#include ++typedef SSIZE_T ssize_t; ++ ++#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) ++#endif ++ + #include "popt.h" diff --git a/recipes/popt/all/test_package/CMakeLists.txt b/recipes/popt/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..22ec2254e31d1 --- /dev/null +++ b/recipes/popt/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(popt REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE popt::popt) diff --git a/recipes/popt/all/test_package/conanfile.py b/recipes/popt/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/popt/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/popt/all/test_package/test_package.c b/recipes/popt/all/test_package/test_package.c new file mode 100644 index 0000000000000..1ba85997582a9 --- /dev/null +++ b/recipes/popt/all/test_package/test_package.c @@ -0,0 +1,17 @@ +#include +#include +#include "popt.h" + + +int main(int argc, const char* argv[]) { + struct poptOption table[] = { + POPT_AUTOHELP + POPT_TABLEEND + }; + + poptContext context = poptGetContext(NULL, argc, argv, table, 0); + poptGetNextOpt(context); + poptFreeContext(context); + + return EXIT_SUCCESS; +} diff --git a/recipes/popt/all/test_v1_package/CMakeLists.txt b/recipes/popt/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..cbe79d4195d31 --- /dev/null +++ b/recipes/popt/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(popt REQUIRED CONFIG) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/popt/all/test_v1_package/conanfile.py b/recipes/popt/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/popt/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/popt/config.yml b/recipes/popt/config.yml new file mode 100644 index 0000000000000..b41d4f764c9b5 --- /dev/null +++ b/recipes/popt/config.yml @@ -0,0 +1,3 @@ +versions: + "1.16": + folder: all From 272ed3e41446a3e1cd37629e4d3367f108649c1b Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 22 Apr 2023 13:22:47 +0900 Subject: [PATCH 0015/4087] (#17148) quill: add version 2.8.0, add package_type --- recipes/quill/all/conandata.yml | 3 ++ recipes/quill/all/conanfile.py | 29 +++++++++++++++---- .../quill/all/test_package/test_package.cpp | 4 +-- recipes/quill/config.yml | 2 ++ 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index bacec03cf029c..3a5d682ed6cdb 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.0": + url: "https://github.com/odygrd/quill/archive/v2.8.0.tar.gz" + sha256: "0461a6c314e3d882f3b9ada487ef1bf558925272509ee41a9fd25f7776db6075" "2.7.0": url: "https://github.com/odygrd/quill/archive/v2.7.0.tar.gz" sha256: "10b8912e4c463a3a86b809076b95bec49aa08393d9ae6b92196cd46314236b87" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index 4a93b65f7b144..fbe3a6d255795 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -16,19 +16,22 @@ class QuillConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/odygrd/quill/" - topics = ("quill", "logging", "log", "async") + topics = ("logging", "log", "async") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], "with_bounded_queue": [True, False], "with_no_exceptions": [True, False], "with_x86_arch": [True, False], + "with_bounded_blocking_queue": [True, False], } default_options = { "fPIC": True, "with_bounded_queue": False, "with_no_exceptions": False, "with_x86_arch": False, + "with_bounded_blocking_queue": False, } @property @@ -54,14 +57,18 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def configure(self): + if Version(self.version) < "2.8.0": + del self.options.with_bounded_blocking_queue + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if Version(self.version) >= "1.6.3": - self.requires("fmt/9.1.0") + self.requires("fmt/9.1.0", transitive_headers=True) else: - self.requires("fmt/7.1.3") + self.requires("fmt/7.1.3", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] @@ -107,12 +114,24 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["QUILL_FMT_EXTERNAL"] = True tc.variables["QUILL_ENABLE_INSTALL"] = True - tc.variables["QUILL_USE_BOUNDED_QUEUE"] = self.options.with_bounded_queue + + if Version(self.version) < "2.8.0": + tc.variables["QUILL_USE_BOUNDED_QUEUE"] = self.options.with_bounded_queue + else: + if self.options.with_bounded_queue: + tc.preprocessor_definitions["QUILL_USE_BOUNDED_QUEUE"] = 1 + tc.variables["QUILL_NO_EXCEPTIONS"] = self.options.with_no_exceptions tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True if self.is_quilll_x86_arch(): - tc.variables["QUILL_X86ARCH"] = True + if Version(self.version) < "2.8.0": + tc.variables["QUILL_X86ARCH"] = True + else: + tc.preprocessor_definitions["QUILL_X86ARCH"] = 1 tc.variables["CMAKE_CXX_FLAGS"] = "-mclflushopt" + if Version(self.version) >= "2.8.0" and self.options.get_safe("with_bounded_blocking_queue"): + tc.preprocessor_definitions["QUILL_USE_BOUNDED_BLOCKING_QUEUE"] = 1 + tc.generate() deps = CMakeDeps(self) diff --git a/recipes/quill/all/test_package/test_package.cpp b/recipes/quill/all/test_package/test_package.cpp index db27c1e9dc225..ab2f3ef6f2de8 100644 --- a/recipes/quill/all/test_package/test_package.cpp +++ b/recipes/quill/all/test_package/test_package.cpp @@ -3,8 +3,8 @@ int main() { quill::start(); - quill::Handler *file_handler = quill::file_handler("logfile.log", "w"); - quill::Logger *my_logger = quill::create_logger("my_logger", file_handler); + auto file_handler = quill::file_handler("logfile.log", "w"); + auto my_logger = quill::create_logger("my_logger", std::move(file_handler)); LOG_INFO(my_logger, "Hello from {}", "Quill"); LOG_CRITICAL(my_logger, "This is a conan example {}", 1234); diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index f181f5c050b7e..dc1965f645ea9 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.0": + folder: "all" "2.7.0": folder: "all" "2.6.0": From 413775941483fbe74b7005c0864c6cc6fa755f3f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 22 Apr 2023 15:21:50 +0200 Subject: [PATCH 0016/4087] (#17163) date: bump libcurl version --- recipes/date/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 94441699d1ef4..a42b06fc8f951 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if not self.options.header_only and not self.options.use_system_tz_db: - self.requires("libcurl/7.88.1") + self.requires("libcurl/8.0.1") def package_id(self): if self.info.options.header_only: From 3da660bd3ba65945b3203fb7ef0ab035a4b63cb7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 22 Apr 2023 20:42:18 +0200 Subject: [PATCH 0017/4087] (#17128) libevent: add package_type + bump openssl * bump openssl * add package_type --- recipes/libevent/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libevent/all/conanfile.py b/recipes/libevent/all/conanfile.py index de9d89f8d8faa..50a8e2865f1b2 100644 --- a/recipes/libevent/all/conanfile.py +++ b/recipes/libevent/all/conanfile.py @@ -14,7 +14,7 @@ class LibeventConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/libevent/libevent" license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/3.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From fa8b0052e406c10612c92956a7ec87656ca7ca70 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 24 Apr 2023 00:01:45 +0900 Subject: [PATCH 0018/4087] (#17172) itlib: add version 1.9.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 12596dac8be8e..961e113df7bb6 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/iboB/itlib/archive/v1.9.1.tar.gz" + sha256: "3d87b841d85dc30fac2a5157955d685c37fd32a5ecff2e9df330b147fdc3da39" "1.9.0": url: "https://github.com/iboB/itlib/archive/v1.9.0.tar.gz" sha256: "62b8c01f208a39c22462cde285dd84c60a8141cfbbc94f5fc1d991685a724228" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index 847b023a09b14..b00faa3f0c243 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: all "1.9.0": folder: all "1.8.3": From 1333cb2b93cc991101a59c2cd23bd570d02b76d3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 24 Apr 2023 01:42:05 +0900 Subject: [PATCH 0019/4087] (#17174) ada: add version 2.2.0 --- 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 0beb2e0f823cb..62bc176a75a27 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/ada-url/ada/archive/refs/tags/v2.2.0.tar.gz" + sha256: "40a6b3fe0d5c62936c081e8403790ec05d5afe3d0909eece894efcfef7e678ee" "2.0.0": url: "https://github.com/ada-url/ada/archive/refs/tags/v2.0.0.tar.gz" sha256: "a18272e1c5d6580f62a333df88149e3810ffedcb61b3fb06c480a5b52e458b5e" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index d77ad03cbf510..4dcc45252703e 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,3 +1,5 @@ versions: + "2.2.0": + folder: all "2.0.0": folder: all From c1525397291d2b90bb39bec3d62e84b3a0811da1 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 24 Apr 2023 14:26:48 +0200 Subject: [PATCH 0020/4087] (#16930) boost: add official patches * boost: apply upstream patches to 1.80.0 * boost: address review comments --- recipes/boost/all/conandata.yml | 8 ++++++++ .../patches/1.80.0-0005-config-libcpp15.patch | 16 ++++++++++++++++ .../1.80.0-0006-unordered-msvc-rtcc.patch | 18 ++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 recipes/boost/all/patches/1.80.0-0005-config-libcpp15.patch create mode 100644 recipes/boost/all/patches/1.80.0-0006-unordered-msvc-rtcc.patch diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index ce580a269e8fd..66fc9b08da551 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -88,6 +88,14 @@ patches: patch_description: "On POSIX systems that don't support *at APIs, compilation fails due to a missing include" patch_type: "official" patch_source: "https://github.com/boostorg/filesystem/issues/250" + - patch_file: "patches/1.80.0-0005-config-libcpp15.patch" + patch_description: "Support for libcpp15 which removes std::unary_function and std::binary_function." + patch_type: "portability" + patch_source: "https://www.boost.org/patches/1_80_0/0005-config-libcpp15.patch" + - patch_file: "patches/1.80.0-0006-unordered-msvc-rtcc.patch" + patch_description: "Fix MSVC /RTCc build runtime failures." + patch_type: "official" + patch_source: "https://www.boost.org/patches/1_80_0/0006-unordered-msvc-rtcc.patch" "1.79.0": - patch_file: "patches/boost_locale_fail_on_missing_backend.patch" patch_description: "Fails the build when there is no iconv backend" diff --git a/recipes/boost/all/patches/1.80.0-0005-config-libcpp15.patch b/recipes/boost/all/patches/1.80.0-0005-config-libcpp15.patch new file mode 100644 index 0000000000000..1e84702f8b06b --- /dev/null +++ b/recipes/boost/all/patches/1.80.0-0005-config-libcpp15.patch @@ -0,0 +1,16 @@ +--- a/boost/config/stdlib/libcpp.hpp 2022-08-03 22:47:07.000000000 -0400 ++++ b/boost/config/stdlib/libcpp.hpp 2022-09-16 22:16:17.044119011 -0400 +@@ -168,4 +168,13 @@ + # define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #endif + ++#if _LIBCPP_VERSION >= 15000 ++// ++// Unary function is now deprecated in C++11 and later: ++// ++#if __cplusplus >= 201103L ++#define BOOST_NO_CXX98_FUNCTION_BASE ++#endif ++#endif ++ + // --- end --- diff --git a/recipes/boost/all/patches/1.80.0-0006-unordered-msvc-rtcc.patch b/recipes/boost/all/patches/1.80.0-0006-unordered-msvc-rtcc.patch new file mode 100644 index 0000000000000..ff133016a2022 --- /dev/null +++ b/recipes/boost/all/patches/1.80.0-0006-unordered-msvc-rtcc.patch @@ -0,0 +1,18 @@ +--- a/boost/unordered/detail/prime_fmod.hpp 2022-08-03 22:47:16.000000000 -0400 ++++ b/boost/unordered/detail/prime_fmod.hpp 2022-12-14 01:45:27.368620146 -0500 +@@ -117,9 +117,15 @@ + #if defined(BOOST_UNORDERED_FCA_HAS_64B_SIZE_T) + std::size_t sizes_under_32bit = inv_sizes32_len; + if (BOOST_LIKELY(size_index < sizes_under_32bit)) { ++#if defined(__MSVC_RUNTIME_CHECKS) ++ return fast_modulo( ++ boost::uint32_t(hash & 0xffffffffu) + boost::uint32_t(hash >> 32), ++ inv_sizes32[size_index], boost::uint32_t(sizes[size_index])); ++#else + return fast_modulo( + boost::uint32_t(hash) + boost::uint32_t(hash >> 32), + inv_sizes32[size_index], boost::uint32_t(sizes[size_index])); ++#endif + } else { + return positions[size_index - sizes_under_32bit](hash); + } From 4675f5e4dc7b7dad2d9ac0cab1c7acf4e3be4d48 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:02:13 +0200 Subject: [PATCH 0021/4087] (#17171) librealsense: conan v2 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * conan v2 support * usb as IMPORTED target * fix Ninja generator on windows * fix undefined ref to GUID_DEVINTERFACE_USB_DEVICE on Windows * other attempt to fix undefined ref to GUID_DEVINTERFACE_USB_DEVICE --------- Co-authored-by: Rubén Rincón Blanco --- recipes/librealsense/all/CMakeLists.txt | 12 -- recipes/librealsense/all/conandata.yml | 14 +- recipes/librealsense/all/conanfile.py | 156 +++++++++--------- ...make.patch => 2.49.0-0001-fix-cmake.patch} | 40 ++++- ....patch => 2.49.0-0002-fix-avx-check.patch} | 0 ...patch => 2.49.0-0003-atlstr-removal.patch} | 0 ...004-fix-GUID_DEVINTERFACE_USB_DEVICE.patch | 14 ++ .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 11 files changed, 178 insertions(+), 113 deletions(-) delete mode 100644 recipes/librealsense/all/CMakeLists.txt rename recipes/librealsense/all/patches/{2.49.0-fix-cmake.patch => 2.49.0-0001-fix-cmake.patch} (51%) rename recipes/librealsense/all/patches/{2.49.0-fix-avx-check.patch => 2.49.0-0002-fix-avx-check.patch} (100%) rename recipes/librealsense/all/patches/{2.49.0-atlstr-removal.patch => 2.49.0-0003-atlstr-removal.patch} (100%) create mode 100644 recipes/librealsense/all/patches/2.49.0-0004-fix-GUID_DEVINTERFACE_USB_DEVICE.patch create mode 100644 recipes/librealsense/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/librealsense/all/test_v1_package/conanfile.py diff --git a/recipes/librealsense/all/CMakeLists.txt b/recipes/librealsense/all/CMakeLists.txt deleted file mode 100644 index c70003c936d89..0000000000000 --- a/recipes/librealsense/all/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -find_package(libusb REQUIRED) -set(USB_FOUND TRUE) -add_library(usb INTERFACE IMPORTED GLOBAL) -target_link_libraries(usb INTERFACE libusb::libusb) - -add_subdirectory("source_subfolder") diff --git a/recipes/librealsense/all/conandata.yml b/recipes/librealsense/all/conandata.yml index 15076b23713cf..881a52d920da1 100644 --- a/recipes/librealsense/all/conandata.yml +++ b/recipes/librealsense/all/conandata.yml @@ -16,9 +16,11 @@ sources: sha256: "b837b2cff2b270b89eed3c0b212ab4108389a20b6e07c19dd5957918ff9ce7e0" patches: "2.49.0": - - patch_file: "patches/2.49.0-fix-cmake.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.49.0-fix-avx-check.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.49.0-atlstr-removal.patch" - base_path: "source_subfolder" + - patch_file: "patches/2.49.0-0001-fix-cmake.patch" + - patch_file: "patches/2.49.0-0002-fix-avx-check.patch" + - patch_file: "patches/2.49.0-0003-atlstr-removal.patch" + patch_description: "Remove Windows ATL libraries usage because it's missing in CI of conancenter" + patch_type: "conan" + - patch_file: "patches/2.49.0-0004-fix-GUID_DEVINTERFACE_USB_DEVICE.patch" + patch_description: "Fix undefined ref to GUID_DEVINTERFACE_USB_DEVICE on Windows" + patch_type: "conan" diff --git a/recipes/librealsense/all/conanfile.py b/recipes/librealsense/all/conanfile.py index 31f48b1512211..3bc7e1c733c5a 100644 --- a/recipes/librealsense/all/conanfile.py +++ b/recipes/librealsense/all/conanfile.py @@ -1,7 +1,13 @@ -from conans import ConanFile, CMake, tools +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, download, export_conandata_patches, get, rm, rmdir +from conan.tools.microsoft import is_msvc import os import urllib +required_conan_version = ">=1.53.0" + class LibrealsenseConan(ConanFile): name = "librealsense" @@ -10,7 +16,8 @@ class LibrealsenseConan(ConanFile): homepage = "https://github.com/IntelRealSense/librealsense" description = "Intel(R) RealSense(tm) Cross Platform API for accessing Intel RealSense cameras." topics = ("usb", "camera") - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -23,19 +30,11 @@ class LibrealsenseConan(ConanFile): "tools": True, "rsusb_backend": True, # TODO: change to False when CI gets MSVC ATL support } - short_paths = True - generators = "cmake", "cmake_find_package" - exports_sources = ["CMakeLists.txt", "patches/*"] - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + short_paths = True - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -45,100 +44,103 @@ 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("libusb/1.0.24") + self.requires("libusb/1.0.26") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, 14) def source(self): sources = self.conan_data["sources"][self.version] - tools.get(**sources["source"], strip_root=True, destination=self._source_subfolder) + get(self, **sources["source"], strip_root=True) for firmware in sources["firmware"]: filename = os.path.basename(urllib.parse.urlparse(firmware["url"]).path) - tools.download(filename=filename, **firmware) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - - self._cmake.definitions["CHECK_FOR_UPDATES"] = False - self._cmake.definitions["BUILD_WITH_STATIC_CRT"] = False - self._cmake.definitions["BUILD_EASYLOGGINGPP"] = False - self._cmake.definitions["BUILD_TOOLS"] = self.options.tools - self._cmake.definitions["BUILD_EXAMPLES"] = False - self._cmake.definitions["BUILD_GLSL_EXTENSIONS"] = False - self._cmake.definitions["BUILD_GRAPHICAL_EXAMPLES"] = False - self._cmake.definitions["BUILD_INTERNAL_UNIT_TESTS"] = False - self._cmake.definitions["BUILD_NETWORK_DEVICE"] = False - self._cmake.definitions["BUILD_UNIT_TESTS"] = False - self._cmake.definitions["BUILD_WITH_CUDA"] = False - self._cmake.definitions["BUILD_WITH_OPENMP"] = False - self._cmake.definitions["BUILD_WITH_TM2"] = True - self._cmake.definitions["BUILD_PYTHON_BINDINGS"] = False - self._cmake.definitions["BUILD_PYTHON_DOCS"] = False - self._cmake.definitions["BUILD_NODEJS_BINDINGS"] = False - self._cmake.definitions["BUILD_CV_EXAMPLES"] = False - self._cmake.definitions["BUILD_DLIB_EXAMPLES"] = False - self._cmake.definitions["BUILD_OPENVINO_EXAMPLES"] = False - self._cmake.definitions["BUILD_OPEN3D_EXAMPLES"] = False - self._cmake.definitions["BUILD_MATLAB_BINDINGS"] = False - self._cmake.definitions["BUILD_PCL_EXAMPLES"] = False - self._cmake.definitions["BUILD_UNITY_BINDINGS"] = False - self._cmake.definitions["BUILD_CSHARP_BINDINGS"] = False - self._cmake.definitions["BUILD_OPENNI2_BINDINGS"] = False - self._cmake.definitions["BUILD_CV_KINFU_EXAMPLE"] = False + download(self, filename=filename, **firmware) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CHECK_FOR_UPDATES"] = False + tc.variables["BUILD_WITH_STATIC_CRT"] = False + tc.variables["BUILD_EASYLOGGINGPP"] = False + tc.variables["BUILD_TOOLS"] = self.options.tools + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_GLSL_EXTENSIONS"] = False + tc.variables["BUILD_GRAPHICAL_EXAMPLES"] = False + tc.variables["BUILD_INTERNAL_UNIT_TESTS"] = False + tc.variables["BUILD_NETWORK_DEVICE"] = False + tc.variables["BUILD_UNIT_TESTS"] = False + tc.variables["BUILD_WITH_CUDA"] = False + tc.variables["BUILD_WITH_OPENMP"] = False + tc.variables["BUILD_WITH_TM2"] = True + tc.variables["BUILD_PYTHON_BINDINGS"] = False + tc.variables["BUILD_PYTHON_DOCS"] = False + tc.variables["BUILD_NODEJS_BINDINGS"] = False + tc.variables["BUILD_CV_EXAMPLES"] = False + tc.variables["BUILD_DLIB_EXAMPLES"] = False + tc.variables["BUILD_OPENVINO_EXAMPLES"] = False + tc.variables["BUILD_OPEN3D_EXAMPLES"] = False + tc.variables["BUILD_MATLAB_BINDINGS"] = False + tc.variables["BUILD_PCL_EXAMPLES"] = False + tc.variables["BUILD_UNITY_BINDINGS"] = False + tc.variables["BUILD_CSHARP_BINDINGS"] = False + tc.variables["BUILD_OPENNI2_BINDINGS"] = False + tc.variables["BUILD_CV_KINFU_EXAMPLE"] = False if self.settings.os == "Windows": - self._cmake.definitions["FORCE_RSUSB_BACKEND"] = self.options.rsusb_backend + tc.variables["FORCE_RSUSB_BACKEND"] = self.options.rsusb_backend + tc.generate() - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + deps = CMakeDeps(self) + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses", keep_path=False) - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() if self.options.shared: - postfix = "d" if self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug" else "" - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "libfw{}.*".format(postfix)) - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "librealsense-file{}.*".format(postfix)) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + postfix = "d" if is_msvc(self) and self.settings.build_type == "Debug" else "" + rm(self, f"libfw{postfix}.*", os.path.join(self.package_folder, "lib")) + rm(self, f"librealsense-file{postfix}.*", 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, "lib", "cmake")) def package_info(self): - postfix = "d" if self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug" else "" - - self.cpp_info.names["cmake_find_package"] = "realsense2" - self.cpp_info.names["cmake_find_package_multi"] = "realsense2" + self.cpp_info.set_property("cmake_file_name", "realsense2") + postfix = "d" if is_msvc(self) and self.settings.build_type == "Debug" else "" if not self.options.shared: - self.cpp_info.components["fw"].libs = ["fw" + postfix] - self.cpp_info.components["file"].libs = ["realsense-file" + postfix] - - self.cpp_info.components["realsense2"].libs = ["realsense2" + postfix] + self.cpp_info.components["fw"].set_property("cmake_target_name", "realsense2::fw") + self.cpp_info.components["fw"].libs = [f"fw{postfix}"] + self.cpp_info.components["realsense-file"].set_property("cmake_target_name", "realsense2::realsense-file") + self.cpp_info.components["realsense-file"].libs = [f"realsense-file{postfix}"] + + self.cpp_info.components["realsense2"].set_property("cmake_target_name", "realsense2::realsense2") + self.cpp_info.components["realsense2"].set_property("pkg_config_name", "realsense2") + self.cpp_info.components["realsense2"].libs = [f"realsense2{postfix}"] self.cpp_info.components["realsense2"].requires = ["libusb::libusb"] if not self.options.shared: - self.cpp_info.components["realsense2"].requires.extend(["file", "fw"]) - self.cpp_info.components["realsense2"].names["pkg_config"] = "realsense2" + self.cpp_info.components["realsense2"].requires.extend(["realsense-file", "fw"]) if self.settings.os == "Linux": self.cpp_info.components["realsense2"].system_libs.extend(["m", "pthread", "udev"]) elif self.settings.os == "Windows": self.cpp_info.components["realsense2"].system_libs.extend([ "cfgmgr32", "setupapi", - "sensorsapi", "PortableDeviceGuids", + "sensorsapi", "portabledeviceguids", "winusb", "shlwapi", "mf", "mfplat", "mfreadwrite", "mfuuid" ]) + + # TODO: to remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "realsense2" + self.cpp_info.names["cmake_find_package_multi"] = "realsense2" diff --git a/recipes/librealsense/all/patches/2.49.0-fix-cmake.patch b/recipes/librealsense/all/patches/2.49.0-0001-fix-cmake.patch similarity index 51% rename from recipes/librealsense/all/patches/2.49.0-fix-cmake.patch rename to recipes/librealsense/all/patches/2.49.0-0001-fix-cmake.patch index a571906e24eca..19e6de7bccc77 100644 --- a/recipes/librealsense/all/patches/2.49.0-fix-cmake.patch +++ b/recipes/librealsense/all/patches/2.49.0-0001-fix-cmake.patch @@ -1,5 +1,3 @@ -diff --git a/CMake/install_config.cmake b/CMake/install_config.cmake -index 9f5666611..2ca5625ce 100644 --- a/CMake/install_config.cmake +++ b/CMake/install_config.cmake @@ -48,4 +48,4 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/config/realsense2.pc" @@ -8,8 +6,40 @@ index 9f5666611..2ca5625ce 100644 -install(CODE "execute_process(COMMAND ldconfig)") +# install(CODE "execute_process(COMMAND ldconfig)") -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0c15d9510..2c55dbe7b 100644 +--- a/CMake/libusb_config.cmake ++++ b/CMake/libusb_config.cmake +@@ -1,14 +1,5 @@ + if (NOT TARGET usb) +- find_library(LIBUSB_LIB usb-1.0) +- find_path(LIBUSB_INC libusb.h HINTS PATH_SUFFIXES libusb-1.0) +- include(FindPackageHandleStandardArgs) +- find_package_handle_standard_args(usb "libusb not found; using internal version" LIBUSB_LIB LIBUSB_INC) +- if (USB_FOUND AND NOT USE_EXTERNAL_USB) +- add_library(usb INTERFACE) +- target_include_directories(usb INTERFACE ${LIBUSB_INC}) +- target_link_libraries(usb INTERFACE ${LIBUSB_LIB}) +- else() +- include(CMake/external_libusb.cmake) +- endif() +- install(TARGETS usb EXPORT realsense2Targets) ++ find_package(libusb REQUIRED CONFIG) ++ add_library(usb INTERFACE IMPORTED) ++ set_property(TARGET usb PROPERTY INTERFACE_LINK_LIBRARIES libusb::libusb) + endif() +--- a/CMake/windows_config.cmake ++++ b/CMake/windows_config.cmake +@@ -57,8 +57,9 @@ macro(os_target_config) + if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) + message("Preparing Windows 7 drivers" ) + make_directory(${CMAKE_CURRENT_BINARY_DIR}/drivers/) +- file(GLOB DRIVERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/" "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/*") +- foreach(item IN LISTS DRIVERS) ++ file(GLOB DRIVERS "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/" "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/*") ++ foreach(_driver_path IN LISTS DRIVERS) ++ get_filename_component(item ${_driver_path} NAME) + message("Copying ${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/${item} to ${CMAKE_CURRENT_BINARY_DIR}/drivers/" ) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/${item}" "${CMAKE_CURRENT_BINARY_DIR}/drivers/${item}" COPYONLY) + endforeach() --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.1.0) @@ -21,8 +51,6 @@ index 0c15d9510..2c55dbe7b 100644 #Deprecation message, should be removed in future releases if(${FORCE_LIBUVC} OR ${FORCE_WINUSB_UVC} OR ${ANDROID_USB_HOST_UVC}) -diff --git a/common/fw/CMakeLists.txt b/common/fw/CMakeLists.txt -index 2772f59d8..8214145fc 100644 --- a/common/fw/CMakeLists.txt +++ b/common/fw/CMakeLists.txt @@ -57,16 +57,16 @@ set_target_properties (${PROJECT_NAME} PROPERTIES FOLDER Resources) diff --git a/recipes/librealsense/all/patches/2.49.0-fix-avx-check.patch b/recipes/librealsense/all/patches/2.49.0-0002-fix-avx-check.patch similarity index 100% rename from recipes/librealsense/all/patches/2.49.0-fix-avx-check.patch rename to recipes/librealsense/all/patches/2.49.0-0002-fix-avx-check.patch diff --git a/recipes/librealsense/all/patches/2.49.0-atlstr-removal.patch b/recipes/librealsense/all/patches/2.49.0-0003-atlstr-removal.patch similarity index 100% rename from recipes/librealsense/all/patches/2.49.0-atlstr-removal.patch rename to recipes/librealsense/all/patches/2.49.0-0003-atlstr-removal.patch diff --git a/recipes/librealsense/all/patches/2.49.0-0004-fix-GUID_DEVINTERFACE_USB_DEVICE.patch b/recipes/librealsense/all/patches/2.49.0-0004-fix-GUID_DEVINTERFACE_USB_DEVICE.patch new file mode 100644 index 0000000000000..5993f3e0d4e20 --- /dev/null +++ b/recipes/librealsense/all/patches/2.49.0-0004-fix-GUID_DEVINTERFACE_USB_DEVICE.patch @@ -0,0 +1,14 @@ +--- a/src/win/win-helpers.cpp ++++ b/src/win/win-helpers.cpp +@@ -26,9 +26,9 @@ + #include // DEVPKEY_... + + //https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/supported-usb-classes#microsoft-provided-usb-device-class-drivers +-#ifndef WITH_TRACKING ++// #ifndef WITH_TRACKING + DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE, 0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED); +-#endif ++// #endif + DEFINE_GUID(GUID_DEVINTERFACE_IMAGE_WIN10, 0x6bdd1fc6L, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f); + DEFINE_GUID(GUID_DEVINTERFACE_CAMERA_WIN10, 0xca3e7ab9, 0xb4c3, 0x4ae6, 0x82, 0x51, 0x57, 0x9e, 0xf9, 0x33, 0x89, 0x0f); + diff --git a/recipes/librealsense/all/test_package/CMakeLists.txt b/recipes/librealsense/all/test_package/CMakeLists.txt index 3bf9e7c362597..9853eeb40e1a1 100644 --- a/recipes/librealsense/all/test_package/CMakeLists.txt +++ b/recipes/librealsense/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(realsense2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} realsense2::realsense2) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE realsense2::realsense2) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/librealsense/all/test_package/conanfile.py b/recipes/librealsense/all/test_package/conanfile.py index 49a3a66ea5bad..98ab55852ad56 100644 --- a/recipes/librealsense/all/test_package/conanfile.py +++ b/recipes/librealsense/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/librealsense/all/test_v1_package/CMakeLists.txt b/recipes/librealsense/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/librealsense/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/librealsense/all/test_v1_package/conanfile.py b/recipes/librealsense/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/librealsense/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From adc4c44d3a0e7b0ab25b47c8f675ff8d5547ee8a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:25:12 +0200 Subject: [PATCH 0022/4087] (#17167) libzen: add package_type (and generate v2 packages) --- recipes/libzen/all/conanfile.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/recipes/libzen/all/conanfile.py b/recipes/libzen/all/conanfile.py index 1a994b7d1e470..c2222bfee137d 100644 --- a/recipes/libzen/all/conanfile.py +++ b/recipes/libzen/all/conanfile.py @@ -5,7 +5,7 @@ import os import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.54.0" class LibzenConan(ConanFile): @@ -15,7 +15,7 @@ class LibzenConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "Small C++ derivate classes to have an easier life" topics = ("c++", "helper", "util") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,17 +39,13 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -59,8 +55,6 @@ def generate(self): tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True # To install relocatable shared libs on Macos 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" tc.generate() def build(self): From 78c7dc89a17746cbcdf389a9b532146252ddf9b3 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Mon, 24 Apr 2023 18:04:36 +0200 Subject: [PATCH 0023/4087] (#17026) soci: conan v2 support * soci: conan v2 support Additionally, drop old versions and update dependencies * soci: fix linter nits * soci: warn -> warning * soci: cleanup test_v1_package --- recipes/soci/all/CMakeLists.txt | 7 - recipes/soci/all/conandata.yml | 13 +- recipes/soci/all/conanfile.py | 145 +++++++----------- ...-INSTALL_NAME_DIR-for-relocatable-li.patch | 39 +++++ .../patches/0001-handle-libmysqlclient8.patch | 17 -- recipes/soci/all/test_package/CMakeLists.txt | 3 - recipes/soci/all/test_package/conanfile.py | 20 ++- .../soci/all/test_v1_package/CMakeLists.txt | 8 + recipes/soci/all/test_v1_package/conanfile.py | 17 ++ recipes/soci/config.yml | 4 - 10 files changed, 134 insertions(+), 139 deletions(-) delete mode 100644 recipes/soci/all/CMakeLists.txt create mode 100644 recipes/soci/all/patches/0001-Remove-hardcoded-INSTALL_NAME_DIR-for-relocatable-li.patch delete mode 100644 recipes/soci/all/patches/0001-handle-libmysqlclient8.patch create mode 100644 recipes/soci/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/soci/all/test_v1_package/conanfile.py diff --git a/recipes/soci/all/CMakeLists.txt b/recipes/soci/all/CMakeLists.txt deleted file mode 100644 index 9079100af539d..0000000000000 --- a/recipes/soci/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/soci/all/conandata.yml b/recipes/soci/all/conandata.yml index f28c4f0941684..fec95012281aa 100644 --- a/recipes/soci/all/conandata.yml +++ b/recipes/soci/all/conandata.yml @@ -2,13 +2,8 @@ sources: "4.0.3": url: "https://github.com/SOCI/soci/archive/v4.0.3.tar.gz" sha256: "4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928" - "4.0.2": - url: "https://github.com/SOCI/soci/archive/v4.0.2.tar.gz" - sha256: "f293192a412ed82693d17dfe46e2734b140bff835bc3259e3cbd7c315e5e2d74" - "4.0.1": - url: "https://github.com/SOCI/soci/archive/4.0.1.tar.gz" - sha256: "fa69347b1a1ef74450c0382b665a67bd6777cc7005bbe09726479625bcf1e29c" patches: - "4.0.2": - - patch_file: "patches/0001-handle-libmysqlclient8.patch" - base_path: "source_subfolder" + "4.0.3": + - patch_file: "patches/0001-Remove-hardcoded-INSTALL_NAME_DIR-for-relocatable-li.patch" + patch_description: "Generate relocatable libraries on MacOS" + patch_type: "portability" diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index dcf4cd5ecdfb6..67c572d5ad86b 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -1,9 +1,13 @@ -from conan.tools.files import rename -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.55.0" class SociConan(ConanFile): @@ -42,41 +46,31 @@ class SociConan(ConanFile): "with_boost": False, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): if self.options.with_sqlite3: - self.requires("sqlite3/3.38.0") + self.requires("sqlite3/3.41.1") if self.options.with_odbc and self.settings.os != "Windows": - self.requires("odbc/2.3.9") + self.requires("odbc/2.3.11") if self.options.with_mysql: - self.requires("libmysqlclient/8.0.25") + self.requires("libmysqlclient/8.0.31") if self.options.with_postgresql: - self.requires("libpq/13.4") + self.requires("libpq/14.7") if self.options.with_boost: - self.requires("boost/1.78.0") + self.requires("boost/1.81.0") @property def _minimum_compilers_version(self): @@ -89,12 +83,12 @@ def _minimum_compilers_version(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version.value) + compiler_version = Version(self.settings.compiler.version.value) if compiler not in self._minimum_compilers_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format(self.name, self.settings.compiler)) + self.output.warning("{} recipe lacks information about the {} compiler support.".format(self.name, self.settings.compiler)) elif compiler_version < self._minimum_compilers_version[compiler]: raise ConanInvalidConfiguration("{} requires a {} version >= {}".format(self.name, compiler, compiler_version)) @@ -111,84 +105,49 @@ def validate(self): raise ConanInvalidConfiguration("{} firebird {} ".format(prefix, message)) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmakelists = os.path.join(self._source_subfolder, "CMakeLists.txt") - tools.replace_in_file(cmakelists, - "set(CMAKE_MODULE_PATH ${SOCI_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})", - "list(APPEND CMAKE_MODULE_PATH ${SOCI_SOURCE_DIR}/cmake)") - tools.replace_in_file(cmakelists, - "set(CMAKE_MODULE_PATH ${SOCI_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})", - "list(APPEND CMAKE_MODULE_PATH ${SOCI_SOURCE_DIR}/cmake/modules)") - - # Remove hardcoded install_name_dir, it prevents relocatable shared lib on macOS - soci_backend_cmake = os.path.join(self._source_subfolder, "cmake", "SociBackend.cmake") - soci_core_cmake = os.path.join(self._source_subfolder, "src", "core", "CMakeLists.txt") - tools.replace_in_file(soci_backend_cmake, "INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib", "") - tools.replace_in_file(soci_core_cmake, "INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib", "") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - - self._cmake.definitions["SOCI_SHARED"] = self.options.shared - self._cmake.definitions["SOCI_TESTS"] = False - self._cmake.definitions["SOCI_CXX11"] = True - - if self.options.shared: - self._cmake.definitions["SOCI_STATIC"] = False - - self._cmake.definitions["SOCI_EMPTY"] = self.options.empty - self._cmake.definitions["WITH_SQLITE3"] = self.options.with_sqlite3 - self._cmake.definitions["WITH_DB2"] = self.options.with_db2 - self._cmake.definitions["WITH_ODBC"] = self.options.with_odbc - self._cmake.definitions["WITH_ORACLE"] = self.options.with_oracle - self._cmake.definitions["WITH_FIREBIRD"] = self.options.with_firebird - self._cmake.definitions["WITH_MYSQL"] = self.options.with_mysql - self._cmake.definitions["WITH_POSTGRESQL"] = self.options.with_postgresql - self._cmake.definitions["WITH_BOOST"] = self.options.with_boost - - # Relocatable shared lib on macOS - self._cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - - 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["SOCI_SHARED"] = self.options.shared + tc.variables["SOCI_STATIC"] = not self.options.shared + tc.variables["SOCI_TESTS"] = False + tc.variables["SOCI_CXX11"] = True + tc.variables["SOCI_EMPTY"] = self.options.empty + tc.variables["WITH_SQLITE3"] = self.options.with_sqlite3 + tc.variables["WITH_DB2"] = self.options.with_db2 + tc.variables["WITH_ODBC"] = self.options.with_odbc + tc.variables["WITH_ORACLE"] = self.options.with_oracle + tc.variables["WITH_FIREBIRD"] = self.options.with_firebird + tc.variables["WITH_MYSQL"] = self.options.with_mysql + tc.variables["WITH_POSTGRESQL"] = self.options.with_postgresql + tc.variables["WITH_BOOST"] = self.options.with_boost + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE_1_0.txt", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "cmake")) - - if os.path.isdir(os.path.join(self.package_folder, "lib64")): - if os.path.isdir(os.path.join(self.package_folder, "lib")): - self.copy("*", dst="lib", src="lib64", keep_path=False, symlinks=True) - tools.rmdir(os.path.join(self.package_folder, "lib64")) - else: - rename(self, os.path.join(self.package_folder, "lib64"), os.path.join(self.package_folder, "lib")) - os.remove(os.path.join(self.package_folder, "include", "soci", "soci-config.h.in")) - 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", "SOCI") target_suffix = "" if self.options.shared else "_static" - lib_prefix = "lib" if self._is_msvc and not self.options.shared else "" - version = tools.Version(self.version) + lib_prefix = "lib" if is_msvc(self) and not self.options.shared else "" + version = Version(self.version) lib_suffix = "_{}_{}".format(version.major, version.minor) if self.settings.os == "Windows" else "" # soci_core diff --git a/recipes/soci/all/patches/0001-Remove-hardcoded-INSTALL_NAME_DIR-for-relocatable-li.patch b/recipes/soci/all/patches/0001-Remove-hardcoded-INSTALL_NAME_DIR-for-relocatable-li.patch new file mode 100644 index 0000000000000..5de0027f7500e --- /dev/null +++ b/recipes/soci/all/patches/0001-Remove-hardcoded-INSTALL_NAME_DIR-for-relocatable-li.patch @@ -0,0 +1,39 @@ +From d491bf7b5040d314ffd0c6310ba01f78ff44c85e Mon Sep 17 00:00:00 2001 +From: Rasmus Thomsen +Date: Fri, 14 Apr 2023 09:16:29 +0200 +Subject: [PATCH] Remove hardcoded INSTALL_NAME_DIR for relocatable libraries + on MacOS + +--- + cmake/SociBackend.cmake | 2 +- + src/core/CMakeLists.txt | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/cmake/SociBackend.cmake b/cmake/SociBackend.cmake +index 5d4ef0df..39fe1f77 100644 +--- a/cmake/SociBackend.cmake ++++ b/cmake/SociBackend.cmake +@@ -171,7 +171,7 @@ macro(soci_backend NAME) + set_target_properties(${THIS_BACKEND_TARGET} + PROPERTIES + SOVERSION ${${PROJECT_NAME}_SOVERSION} +- INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib) ++ ) + + if(APPLE) + set_target_properties(${THIS_BACKEND_TARGET} +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 3e7deeae..f9eae564 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -59,7 +59,6 @@ if (SOCI_SHARED) + PROPERTIES + VERSION ${SOCI_VERSION} + SOVERSION ${SOCI_SOVERSION} +- INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib + CLEAN_DIRECT_OUTPUT 1) + endif() + +-- +2.25.1 + diff --git a/recipes/soci/all/patches/0001-handle-libmysqlclient8.patch b/recipes/soci/all/patches/0001-handle-libmysqlclient8.patch deleted file mode 100644 index 67b492e4ec099..0000000000000 --- a/recipes/soci/all/patches/0001-handle-libmysqlclient8.patch +++ /dev/null @@ -1,17 +0,0 @@ -From https://github.com/SOCI/soci/commit/7c431d9f073dec786fede7a78d6ff4ed44bbdb92 - ---- a/src/backends/mysql/session.cpp -+++ b/src/backends/mysql/session.cpp -@@ -355,7 +355,11 @@ mysql_session_backend::mysql_session_backend( - } - if (reconnect_p) - { -- my_bool reconnect = 1; -+#if MYSQL_VERSION_ID < 8 -+ my_bool reconnect = 1; -+#else -+ bool reconnect = 1; -+#endif - if (0 != mysql_options(conn_, MYSQL_OPT_RECONNECT, &reconnect)) - { - clean_up(); diff --git a/recipes/soci/all/test_package/CMakeLists.txt b/recipes/soci/all/test_package/CMakeLists.txt index b2d9b8214b5b3..070af95d1baf0 100644 --- a/recipes/soci/all/test_package/CMakeLists.txt +++ b/recipes/soci/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(SOCI REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/soci/all/test_package/conanfile.py b/recipes/soci/all/test_package/conanfile.py index 38f4483872d47..84eaa369e4a72 100644 --- a/recipes/soci/all/test_package/conanfile.py +++ b/recipes/soci/all/test_package/conanfile.py @@ -1,10 +1,18 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type", + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +20,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/soci/all/test_v1_package/CMakeLists.txt b/recipes/soci/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/soci/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/soci/all/test_v1_package/conanfile.py b/recipes/soci/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/soci/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/soci/config.yml b/recipes/soci/config.yml index 434258b9cffeb..404a7ddf18bdf 100644 --- a/recipes/soci/config.yml +++ b/recipes/soci/config.yml @@ -1,7 +1,3 @@ versions: "4.0.3": folder: all - "4.0.2": - folder: all - "4.0.1": - folder: all From 83d63ed502d25788df9185f9a74174317a34091b Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Mon, 24 Apr 2023 18:21:36 +0200 Subject: [PATCH 0024/4087] (#17192) Docs: update policy on version ranges * docs: update policy on version ranges * docs: fix --- docs/adding_packages/dependencies.md | 16 ++++++---------- docs/faqs.md | 7 ++++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index b04ca6fc57377..38ea372bc59a6 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -174,18 +174,14 @@ for consumer, we do impose some limits on Conan features to provide a smoother f * [`python_requires`](https://docs.conan.io/1/reference/conanfile/other.html#python-requires) are not allowed. ### Version Ranges + +Version ranges are a useful Conan feature, [documentation here](https://docs.conan.io/1/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: +* 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. -Version ranges are a useful Conan feature, [documentation here](https://docs.conan.io/1/versioning/version_ranges.html). However, -in the context of ConanCenter they pose a few key challenges when being used generally to consume packages, most notably: +Conan maintainers may introduce this for other dependencies over time. -* Non-Deterministic `package-id`: With version ranges the newest compatible package may yield a different `package_id` than the one built - and published by ConanCenter resulting in frustrating error "no binaries found". For more context - see [this excellent explanation](https://github.com/conan-io/conan-center-index/pull/8831#issuecomment-1024526780). - -* Build Reproducibility: If consumers try to download and build the recipe at a later time, it may resolve to a different package version - that may generate a different binary (that may or may not be compatible). In order to prevent these types of issues, we have decided to - only allow exact requirements versions. This is a complicated issue, - [check this thread](https://github.com/conan-io/conan-center-index/pull/9140#discussion_r795461547) for more information. +Outside of the cases outlined above, version ranges are not allowed in ConanCenter recipes. ## Handling "internal" dependencies diff --git a/docs/faqs.md b/docs/faqs.md index d4755d154cc74..80b4a41020b98 100644 --- a/docs/faqs.md +++ b/docs/faqs.md @@ -35,7 +35,7 @@ This section gathers the most common questions from the community related to pac * [What is the policy for supported python versions?](#what-is-the-policy-for-supported-python-versions) * [How to package libraries that depend on proprietary closed-source libraries?](#how-to-package-libraries-that-depend-on-proprietary-closed-source-libraries) * [How to protect my project from breaking changes in recipes?](#how-to-protect-my-project-from-breaking-changes-in-recipes) - * [Why are version ranges not allowed?](#why-are-version-ranges-not-allowed) + * [What's the policy on version ranges?](#whats-the-policy-on-version-ranges) * [How to consume a graph of shared libraries?](#how-to-consume-a-graph-of-shared-libraries) * [How to watch only specific recipes?](#how-to-watch-only-specific-recipes) * [Is it possible to disable Pylint?](#is-it-possible-to-disable-pylint) @@ -369,9 +369,10 @@ need to modify your project if the recipe changes the binaries, flags,... it pro To isolate from these changes there are different strategies you can follow. Keep reading in the [consuming recipes section](consuming_recipes.md#isolate-your-project-from-upstream-changes). -## Why are version ranges not allowed? +## What's the policy on version ranges? -See [Dependencies Version Ranges](adding_packages/dependencies.md#version-ranges) for details. +Version ranges are currently allowed on a handful of dependencies, but not for general use. +See [Dependencies Version Ranges](adding_packages/dependencies.md#version-ranges) for additional details. ## How to consume a graph of shared libraries? From 4c170f6c32c15ee026e49abc34bd150a96813e66 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Mon, 24 Apr 2023 09:44:31 -0700 Subject: [PATCH 0025/4087] (#16861) backward-cpp: Add `libelf` as its direct dependency * backward-cpp: Add `libelf` as its direct dependency if the stack walking option is set to `dwarf`, matching the requirements stated in `backward.hpp`. * backward-cpp: `libdwarf`'s headers need to be transitive, otherwise `dwarf.h` cannot be found by CMake. * Update recipes/backward-cpp/all/conanfile.py --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/backward-cpp/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/backward-cpp/all/conanfile.py b/recipes/backward-cpp/all/conanfile.py index f1e9400efa7d4..6f744e6d9f6c3 100644 --- a/recipes/backward-cpp/all/conanfile.py +++ b/recipes/backward-cpp/all/conanfile.py @@ -67,6 +67,7 @@ def requirements(self): if self.settings.os in ["Linux", "Android"]: if self._has_stack_details("dwarf"): self.requires("libdwarf/20191104", transitive_headers=True, transitive_libs=True) + self.requires("libelf/0.8.13") if self._has_stack_details("dw"): self.requires("elfutils/0.186", transitive_headers=True, transitive_libs=True) if self._has_stack_details("bfd"): From d0ce881bda3500a5287f05a63c6e43b611c3c2ba Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 25 Apr 2023 05:45:45 +0900 Subject: [PATCH 0026/4087] (#17146) rapidyaml: make c4core transitive_headers * make c4core transitive * remove transitive_libs --- recipes/rapidyaml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rapidyaml/all/conanfile.py b/recipes/rapidyaml/all/conanfile.py index 9b33134d2e034..5e12ce14eb4bb 100644 --- a/recipes/rapidyaml/all/conanfile.py +++ b/recipes/rapidyaml/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("c4core/0.1.11") + self.requires("c4core/0.1.11", transitive_headers=True) def validate(self): if self.info.settings.compiler.cppstd: From 628fbfec8f8a4ced0218f845a36db985821eba5b Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 25 Apr 2023 00:22:34 -0700 Subject: [PATCH 0027/4087] (#17199) docs: removed v2_roadmap (updated steps in v2_migration) * docs: removed v2_roadmap (updated steps in v2_migration) * revert: extra changes --- docs/consuming_recipes.md | 5 ++--- docs/v2_linter.md | 2 +- docs/v2_migration.md | 9 ++++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/consuming_recipes.md b/docs/consuming_recipes.md index b0a653026de20..a777e97d08e79 100644 --- a/docs/consuming_recipes.md +++ b/docs/consuming_recipes.md @@ -23,9 +23,8 @@ There can be several causes if a recipe (a new revision) might stopped to work i If your Conan client is not new enough, Conan will fail to parse the recipe and will raise a cryptic Python syntax error. -- **New Conan Version**: Conan keeps evolving and adding new features, especially on its road to Conan 2.0, - and ConanCenter is committed in this [roadmap](v2_roadmap.md) as well, and tries to prepare the user base to these - new features in order to ease the migration to new versions. +- **New Conan Version**: Conan keeps evolving and adding new features, and ConanCenter is committed in this + as well, and tries to prepare the user base to these new features in order to ease the migration to new versions. New recipe revisions can take into account changes that are introduced in new Conan client version, sometimes these changes modify some experimental behavior without modifying recipe syntax. diff --git a/docs/v2_linter.md b/docs/v2_linter.md index 1b6930d1a3c7b..3d6e3a3f6be33 100644 --- a/docs/v2_linter.md +++ b/docs/v2_linter.md @@ -7,7 +7,7 @@ * [Import ConanFile from `conan`](#import-conanfile-from-conan) * [Import tools from `conan`](#import-tools-from-conan) -On our [path to Conan v2](v2_roadmap.md) we are leveraging on custom Pylint rules. This +We are leveraging on custom Pylint rules. This linter will run for every pull-request that is submitted to the repository and will raise some warnings and errors that should be addressed in order to migrate the recipes to Conan v2. diff --git a/docs/v2_migration.md b/docs/v2_migration.md index 0e2bfb0608fe4..4f42901c4d9b7 100644 --- a/docs/v2_migration.md +++ b/docs/v2_migration.md @@ -1,8 +1,10 @@ # Preparing recipes for Conan 2.0 -Refer to [road to Conan v2](v2_roadmap.md) to know the steps that -will be taken in ConanCenter and this repository to start running -Conan v2 in pull requests. +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. ## Contents @@ -110,6 +112,7 @@ In ConanCenterIndex this will typically looks like: 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. From 5e375f73d524f14d01f09c5c8c9df79ef950745f Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 25 Apr 2023 01:07:14 -0700 Subject: [PATCH 0028/4087] (#17201) docs: migration guide to reference docs.conan.io * docs: reference to docs.conan.io for migration guide plus I moved the rest to https://github.com/conan-io/docs/pull/3188 so I can delete the rest of them. * chore: syntax * fixup: auto link bit me --- docs/v2_migration.md | 317 ++----------------------------------------- 1 file changed, 8 insertions(+), 309 deletions(-) diff --git a/docs/v2_migration.md b/docs/v2_migration.md index 4f42901c4d9b7..2928fb8cc914e 100644 --- a/docs/v2_migration.md +++ b/docs/v2_migration.md @@ -123,333 +123,34 @@ 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* ``.names``, ``.filenames`` or ``.build_modules`` attributes. -There is a new way of setting the *cpp_info* information with these +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. All the information in the recipes, already set with the current model, should be translated to the new model. These two models **will live together in recipes** to make -recipes compatible **with both new and current generators** for some time. After a stable -Conan 2.0 version is released, and when the moment arrives that we don't support the -current generators anymore in Conan Center Index, those attributes (``.names``, -``.filenames`` etc.) will disappear from recipes, and only ``set_property`` methods will -stay. +recipes compatible **with both new and current generators** for some time. We will cover some cases of porting all the information set with the current model to the new one. To read more about the properties available for each generator and how the -properties model work, please check the [Conan documentation](https://docs.conan.io/1/conan_v2.html#editables-don-t-use-external-templates-any-more-new-layout-model). +properties model work, please check the [Conan documentation](https://docs.conan.io/1/migrating_to_2.0/properties.html). > **Note**: Please, remember that the **new** ``set_property`` and the **current** attributes > model are *completely independent since Conan 1.43*. Setting ``set_property`` in recipes will > not affect current CMake 1.X generators (``cmake``, ``cmake_multi``, ``cmake_find_package`` and > ``cmake_find_package_multi``) at all. -### CMakeDeps - -### Update required_conan_version to ">=1.43.0" - -If you set the property ``cmake_target_name`` in the recipe, the Conan minimum -required version should be updated to 1.43. - -```python - -required_conan_version = ">=1.43.0" - -class GdalConan(ConanFile): - name = "gdal" - ... -``` - -The reason for this change is that in Conan versions previous to 1.43 the -``cmake_target_name`` values were not the final CMake target names. Those values were -completed by Conan, adding namespaces automatically the final target names. After 1.43 -``cmake_target_name`` sets the **complete target name** that is added to the ``.cmake`` -files generated by Conan. Let's see an example: - -```python -class GdalConan(ConanFile): - name = "gdal" - ... - def package_info(self): - # Before 1.43 -> Conan adds GDAL:: namespace -> Creates target with name GDAL::GDAL - # self.cpp_info.set_property("cmake_target_name", "GDAL") - - # After 1.43 -> Conan creates target with name GDAL::GDAL - self.cpp_info.set_property("cmake_target_name", "GDAL::GDAL") -``` - ### Translating .names information to cmake_target_name, cmake_module_target_name and cmake_file_name -To translate the ``.names`` information to the new model there are some important things to -take into account: - -* The value of the ``.names`` attribute value in recipes is just a part of the final - target name for CMake generators. Conan will complete the rest of the target name by - pre-pending a namespace (with ``::`` separator) to the ``.names`` value. This namespace takes - the same value as the ``.names`` value. Let's see an example: - -```python -class SomePkgConan(ConanFile): - name = "somepkg" - ... - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "some-pkg" - self.cpp_info.names["cmake_find_package_multi"] = "some-pkg" - ... -``` - -This recipe generates the target ``some-pkg::some-pkg`` for both the -``cmake_find_package`` and the ``cmake_find_package_multi`` generators. Also, please -remember that if no ``.names`` attribute were set, Conan would create the target -``somepkg::somepkg`` for both generators by default. - -As we explained before, the ``cmake_target_name`` sets the **complete target name**, so, -to translate this information to the new model we should add the following lines: - -```python -class SomePkgConan(ConanFile): - name = "somepkg" - ... - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "some-pkg" - self.cpp_info.names["cmake_find_package_multi"] = "some-pkg" - # CMakeDeps does NOT add any namespace automatically - self.cpp_info.set_property("cmake_target_name", "some-pkg::some-pkg") - ... -``` - -* If ``.filenames`` attribute is not set, it will fall back on the ``.names`` value to - generate the files. Both the ``Find.cmake`` and ``-config.cmake`` files that - store the dependencies will take the ``.names`` value to create the complete filename. - For the previous example, to translate all the information from the current model to the - new one, we should have added one more line setting the ``cmake_file_name`` value. - -```python -class SomePkgConan(ConanFile): - name = "somepkg" - ... - def package_info(self): - # These generators fallback the filenames for the .cmake files - # in the .names attribute value and generate - self.cpp_info.names["cmake_find_package"] = "some-pkg" # generates module file Findsome-pkg.cmake - self.cpp_info.names["cmake_find_package_multi"] = "some-pkg" # generates config file some-pkg-config.cmake - - self.cpp_info.set_property("cmake_target_name", "some-pkg::some-pkg") - self.cpp_info.set_property("cmake_file_name", "some-pkg") # generates config file some-pkg-config.cmake - ... -``` - -Please note that if we hadn't set the ``cmake_file_name`` property, the ``CMakeDeps`` -generator would have taken the package name to generate the filename for the config file -and the generated filename would have resulted ``somepkg-config.cmake`` instead of -``some-pkg-config.cmake``. - -* Some recipes in Conan Center Index define different ``.names`` values for ``cmake_find_package`` - and ``cmake_find_package_multi``. For these cases, besides ``cmake_target_name`` you should also set - the ``cmake_module_target_name`` and ``cmake_find_mode`` properties. Let's see an example: - -```python -class ExpatConan(ConanFile): - name = "expat" - ... - def package_info(self): - # creates EXPAT::EXPAT target for module files FindEXPAT.cmake - self.cpp_info.names["cmake_find_package"] = "EXPAT" - # creates expat::expat target for config files expat-config.cmake - self.cpp_info.names["cmake_find_package_multi"] = "expat" - ... -``` - -Should translate to the code above. Please note we have added the ``cmake_find_mode`` -property for the -[CMakeDeps](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html#properties) -generator with value ``both``. - -```python -class ExpatConan(ConanFile): - name = "expat" - ... - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "EXPAT" - self.cpp_info.names["cmake_find_package_multi"] = "expat" - - # creates EXPAT::EXPAT target for module files FindEXPAT.cmake - self.cpp_info.set_property("cmake_target_name", "EXPAT::EXPAT") - # creates expat::expat target for config files expat-config.cmake - self.cpp_info.set_property("cmake_module_target_name", "expat::expat") - - # generates module file FindEXPAT.cmake - self.cpp_info.set_property("cmake_file_name", "EXPAT") - # generates config file expat-config.cmake - self.cpp_info.set_property("cmake_module_file_name", "expat") - - # config is the default for CMakeDeps - # we set cmake_find_mode to both to generate both module and config files - self.cpp_info.set_property("cmake_find_mode", "both") - ... -``` - -> *Note**: There are more cases in which you probably want to set the -> ``cmake_find_mode`` property to ``both``. For example, for the libraries which [find -> modules files are included in the CMake -> distribution](https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules). +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 -Like in the ``.names`` case, there are some cases in Conan Center Index of recipes that -set different filenames for ``cmake_find_package`` and ``cmake_find_package_multi`` -generators. To translate that information to the ``set_property`` model we have to set the -``cmake_file_name`` and ``cmake_find_mode`` properties. Let's see an example: - -```python -class GlewConan(ConanFile): - name = "glew" - ... - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "GLEW" - self.cpp_info.names["cmake_find_package_multi"] = "GLEW" - self.cpp_info.filenames["cmake_find_package"] = "GLEW" # generates FindGLEW.cmake - self.cpp_info.filenames["cmake_find_package_multi"] = "glew" # generates glew-config.cmake - ... -``` - -In this case we have to set the ``cmake_find_mode`` property for the -[CMakeDeps](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html#properties) -generator with value ``both``. That will make CMakeDeps generator create both module and -config files for consumers (by default it generates just config files). - -```python -class GlewConan(ConanFile): - name = "glew" - ... - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "GLEW" - self.cpp_info.names["cmake_find_package_multi"] = "GLEW" - self.cpp_info.filenames["cmake_find_package"] = "GLEW" - self.cpp_info.filenames["cmake_find_package_multi"] = "glew" - - self.cpp_info.set_property("cmake_target_name", "GLEW::GLEW") - - self.cpp_info.set_property("cmake_file_name", "GLEW") # generates FindGLEW.cmake - self.cpp_info.set_property("cmake_module_file_name", "glew") # generates glew-config.cmake - - # generate both modules and config files - self.cpp_info.set_property("cmake_find_mode", "both") - ... -``` - -### Understanding some workarounds with the .names attribute model in recipes - -The ``.names`` model has some limitations. Because of this, there are some recurrent -workarounds in recipes to achieve things like setting absolute names for targets (without -the ``::`` namespace), or for setting a custom namespace. These workarounds can now be -undone with the ``set_property`` model because it allows setting arbitrary names for CMake -targets. Let's see some examples of these workarounds in recipes: - -* **Use of components to get arbitrary target names in recipes**. Some recipes add a component - whose only role is to get a target name that is not limited by the namespaces added by - the current generators automatically. For example, the [ktx - recipe](https://github.com/conan-io/conan-center-index/blob/5753f954027d9d04b6d05e326f2757ab6b1ac69c/recipes/ktx/all/conanfile.py) - uses this workaround to get a target with name ``KTX::ktx``. - -```python -class KtxConan(ConanFile): - name = "ktx" - ... - - def package_info(self): - # changes namespace to KTX:: - self.cpp_info.names["cmake_find_package"] = "KTX" - ... - # the target inherits the KTX:: namespace and sets the target KTX::ktx - self.cpp_info.components["libktx"].names["cmake_find_package"] = "ktx" - ... - # all the information is set via this "fake root" component - self.cpp_info.components["libktx"].libs = ["ktx"] - self.cpp_info.components["libktx"].defines = [ - "KTX_FEATURE_KTX1", "KTX_FEATURE_KTX2", "KTX_FEATURE_WRITE" - ] - ... -``` - -In these cases, the recommendation is to add the ``cmake_target_name`` property for both -the root and component ``cpp_info``. In the end the target that the consumer will get is -the one created for the component, but it will avoid creating an "unwanted" target if we -add the property just to the component or to the root ``cpp_info``. Please note that when -the migration to Conan 2.0 is done, there will be no need for that component anymore and -it should dissapear. At that moment, the information from the component will be set in the -root ``cpp_info`` and the ``self.cpp_info.components[]`` lines removed. - -```python -class KtxConan(ConanFile): - name = "ktx" - ... - - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "KTX" - ... - # FIXME: Remove the libktx component in Conan 2.0, this is just needed for - # compatibility with current generators - self.cpp_info.components["libktx"].names["cmake_find_package"] = "ktx" - ... - self.cpp_info.components["libktx"].libs = ["ktx"] - self.cpp_info.components["libktx"].defines = [ - "KTX_FEATURE_KTX1", "KTX_FEATURE_KTX2", "KTX_FEATURE_WRITE" - ] - - # Set the root cpp_info target name as KTX::ktx for the root and the component - # In Conan 2.0 the component should be removed - # and those properties should be added to the root cpp_info instead - self.cpp_info.set_property("cmake_target_name", "KTX::ktx") - self.cpp_info.components["libktx"].set_property("cmake_target_name", "KTX::ktx") - ... -``` - -* **Use build modules to create aliases with arbitray names for targets**. Similar to the - previous example, some recipes use a build module with an alias to set an arbitrary - target name. Let's see the example of the [tensorflow-lite - recipe](https://github.com/conan-io/conan-center-index/blob/03b24bf128cbf15d23ed988b8d8ca0c0ba87d307/recipes/tensorflow-lite/all/conanfile.py), - that uses this workaround to define a ``tensorflow::tensorflowlite`` target. - -```python -class TensorflowLiteConan(ConanFile): - name = "tensorflow-lite" - ... - - def package_info(self): - # generate the target tensorflowlite::tensorflowlite - self.cpp_info.names["cmake_find_package"] = "tensorflowlite" - self.cpp_info.filenames["cmake_find_package"] = "tensorflowlite" - # this build module defines an alias tensorflow::tensorflowlite to the tensorflowlite::tensorflowlite generated target - self.cpp_info.build_modules["cmake_find_package"] = [os.path.join(self._module_subfolder, self._module_file)] - ... -``` - -To translate this information to the new model, just check which aliases are defined in the -build modules and define those for the new model. In this case it should be enough with -adding the ``tensorflow::tensorflowlite`` target with ``cmake_target_name`` to the root -cpp_info (besides the ``cmake_file_name``property). - -```python -class TensorflowLiteConan(ConanFile): - name = "tensorflow-lite" - ... - - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "tensorflowlite" - self.cpp_info.filenames["cmake_find_package"] = "tensorflowlite" - self.cpp_info.build_modules["cmake_find_package"] = [os.path.join(self._module_subfolder, self._module_file)] - - # set the tensorflowlite::tensorflowlite target name directly for CMakeDeps with no need for aliases - self.cpp_info.set_property("cmake_target_name", "tensorflow::tensorflowlite") - self.cpp_info.set_property("cmake_file_name", "tensorflowlite") - ... -``` +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 -Previously we saw that some recipes use a build module with an alias to set an arbitrary target name. -But sometimes the declared ".build_modules" come from the original package that declares useful CMake functions, variables +The declared `.build_modules` come from the original package that declares useful CMake functions, variables etc. We need to use the property `cmake_build_modules` to declare a list of cmake files instead of using `cpp_info.build_modules`: ```python @@ -481,9 +182,7 @@ class PyBind11Conan(ConanFile): ### PkgConfigDeps -The case of ``PkgConfigDeps`` is much more straight forward than the ``CMakeDeps`` case. -This is because the current -[pkg_config](https://docs.conan.io/1/reference/generators/pkg_config.html) +The current [pkg_config](https://docs.conan.io/1/reference/generators/pkg_config.html) generator suports the new ``set_property`` model for most of the properties. Then, the current model can be translated to the new one without having to leave the old attributes in the recipes. Let's see an example: From c7a25a8182038a91c31c12f9ba7f6defb26719f5 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 25 Apr 2023 10:27:20 +0200 Subject: [PATCH 0029/4087] (#17185) [bot] Update authorized users list (2023-04-24) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 7f823184ed816..38d2519d6078c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1124,3 +1124,7 @@ authorized_users: - voronaam - MatusKysel - Sfletche132 +- stefanpantic-pdftools +- silvergasp +- doocman +- gouarin From efd8f1e617aa370289ea80946e8f82898b271e01 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 25 Apr 2023 10:52:45 +0200 Subject: [PATCH 0030/4087] (#17135) ninja: regenerate binaries fixes conan-io/conan-center-index#16744 fixes conan-io/conan-center-index#16314 --- recipes/ninja/all/conanfile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/ninja/all/conanfile.py b/recipes/ninja/all/conanfile.py index d1a9ba2c4828e..0384c14b307b8 100644 --- a/recipes/ninja/all/conanfile.py +++ b/recipes/ninja/all/conanfile.py @@ -24,8 +24,7 @@ def package_id(self): del self.info.settings.compiler def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 61801248e5c4d311f4938dad2cd4ad52f4d10dcb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 12:03:08 +0200 Subject: [PATCH 0031/4087] (#17208) pulseaudio: use version range for openssl --- recipes/pulseaudio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py index 88158f16f9cb1..84e7c6bf375e7 100644 --- a/recipes/pulseaudio/all/conanfile.py +++ b/recipes/pulseaudio/all/conanfile.py @@ -70,7 +70,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.options.with_dbus: self.requires("dbus/1.15.2") From 002aa9085080cba268adb81f8b9eedb53a279e20 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 13:11:12 +0200 Subject: [PATCH 0032/4087] (#17211) cyrus-sasl: use version range for openssl --- recipes/cyrus-sasl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cyrus-sasl/all/conanfile.py b/recipes/cyrus-sasl/all/conanfile.py index 388752ab46b24..53ce502733557 100644 --- a/recipes/cyrus-sasl/all/conanfile.py +++ b/recipes/cyrus-sasl/all/conanfile.py @@ -78,7 +78,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.options.with_postgresql: self.requires("libpq/14.7") if self.options.with_mysql: From 7a8d854bb6d1676fbca6aa4640fa1598602e2743 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 13:50:21 +0200 Subject: [PATCH 0033/4087] (#17213) kmod: use version range for openssl --- recipes/kmod/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/kmod/all/conanfile.py b/recipes/kmod/all/conanfile.py index c337847519806..f60d2ebc28242 100644 --- a/recipes/kmod/all/conanfile.py +++ b/recipes/kmod/all/conanfile.py @@ -51,7 +51,7 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.os != "Linux": From 91726aeeb1854961f2b06286e0e9688a65613c89 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 14:52:31 +0200 Subject: [PATCH 0034/4087] (#17216) mariadb-connector-c: use version range for openssl --- recipes/mariadb-connector-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index e47cefb16ad93..13b1525cfce34 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): if self.options.with_curl: self.requires("libcurl/8.0.1") if self.options.with_ssl == "openssl": - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.os != "Windows" and self.options.with_ssl == "schannel": From 78b23345e589a5c4203b31a92f4d66594f4ecd3e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 25 Apr 2023 10:06:00 -0500 Subject: [PATCH 0035/4087] (#17195) libffi: Add version 3.4.4 --- recipes/libffi/all/conandata.yml | 8 ++++++++ recipes/libffi/all/conanfile.py | 4 ++-- ...ll-libraries-to-arch-dependent-directories.patch | 13 +++++++++++++ .../0006-3.4.4-library-no-version-suffix.patch | 13 +++++++++++++ recipes/libffi/config.yml | 2 ++ 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 recipes/libffi/all/patches/0005-3.4.4-do-not-install-libraries-to-arch-dependent-directories.patch create mode 100644 recipes/libffi/all/patches/0006-3.4.4-library-no-version-suffix.patch diff --git a/recipes/libffi/all/conandata.yml b/recipes/libffi/all/conandata.yml index 869663acc18e9..f5c063ead8052 100644 --- a/recipes/libffi/all/conandata.yml +++ b/recipes/libffi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.4": + url: "https://github.com/libffi/libffi/releases/download/v3.4.4/libffi-3.4.4.tar.gz" + sha256: "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676" "3.4.3": url: "https://github.com/libffi/libffi/releases/download/v3.4.3/libffi-3.4.3.tar.gz" sha256: "4416dd92b6ae8fcb5b10421e711c4d3cb31203d77521a77d85d0102311e6c3b8" @@ -9,6 +12,11 @@ sources: url: "https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz" sha256: "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056" patches: + "3.4.4": + - patch_file: "patches/0002-3.4.3-fix-libtool-path.patch" + - patch_file: "patches/0004-3.3-fix-complex-type-msvc.patch" + - patch_file: "patches/0005-3.4.4-do-not-install-libraries-to-arch-dependent-directories.patch" + - patch_file: "patches/0006-3.4.4-library-no-version-suffix.patch" "3.4.3": - patch_file: "patches/0002-3.4.3-fix-libtool-path.patch" - patch_file: "patches/0004-3.3-fix-complex-type-msvc.patch" diff --git a/recipes/libffi/all/conanfile.py b/recipes/libffi/all/conanfile.py index 65dffe00621e4..e46a94d1b4462 100644 --- a/recipes/libffi/all/conanfile.py +++ b/recipes/libffi/all/conanfile.py @@ -21,6 +21,7 @@ class LibffiConan(ConanFile): homepage = "https://sourceware.org/libffi/" topics = ("runtime", "foreign-function-interface", "runtime-library") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -60,8 +61,7 @@ def build_requirements(self): self.tool_requires("automake/1.16.5") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): virtual_build_env = VirtualBuildEnv(self) diff --git a/recipes/libffi/all/patches/0005-3.4.4-do-not-install-libraries-to-arch-dependent-directories.patch b/recipes/libffi/all/patches/0005-3.4.4-do-not-install-libraries-to-arch-dependent-directories.patch new file mode 100644 index 0000000000000..b97912cd6bba1 --- /dev/null +++ b/recipes/libffi/all/patches/0005-3.4.4-do-not-install-libraries-to-arch-dependent-directories.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.in b/Makefile.in +index 86eb4a5..450200a 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -521,7 +521,7 @@ target_os = @target_os@ + target_vendor = @target_vendor@ + tmake_file = @tmake_file@ + toolexecdir = @toolexecdir@ +-toolexeclibdir = @toolexeclibdir@ ++toolexeclibdir = @libdir@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ diff --git a/recipes/libffi/all/patches/0006-3.4.4-library-no-version-suffix.patch b/recipes/libffi/all/patches/0006-3.4.4-library-no-version-suffix.patch new file mode 100644 index 0000000000000..3e7be9c15fb0d --- /dev/null +++ b/recipes/libffi/all/patches/0006-3.4.4-library-no-version-suffix.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.in b/Makefile.in +index 450200a..abcee85 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -616,7 +616,7 @@ AM_CFLAGS = $(am__append_3) + @LIBFFI_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_dep = + @LIBFFI_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map + @LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map-sun +-libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` ++libffi_version_info = -avoid-version + libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) + libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep) + AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src diff --git a/recipes/libffi/config.yml b/recipes/libffi/config.yml index 7f562b85ed6ac..af3a9af92b306 100644 --- a/recipes/libffi/config.yml +++ b/recipes/libffi/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.4": + folder: "all" "3.4.3": folder: "all" "3.4.2": From 1217f62d0c55a936552352a9ac66f51c0e304588 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Apr 2023 17:42:46 +0200 Subject: [PATCH 0036/4087] (#17217) [docs] Regenerate tables of contents Co-authored-by: conan-center-bot --- docs/v2_migration.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/v2_migration.md b/docs/v2_migration.md index 2928fb8cc914e..629cef881ac0e 100644 --- a/docs/v2_migration.md +++ b/docs/v2_migration.md @@ -15,11 +15,8 @@ This is expected for recipes to be updates in each pull request. * [CMakeToolchain](#cmaketoolchain) * [New conf_info properties](#new-conf_info-properties) * [New cpp_info set_property model](#new-cpp_info-set_property-model) - * [CMakeDeps](#cmakedeps) - * [Update required_conan_version to ">=1.43.0"](#update-required_conan_version-to-1430) * [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) - * [Understanding some workarounds with the .names attribute model in recipes](#understanding-some-workarounds-with-the-names-attribute-model-in-recipes) * [Translating .build_modules to cmake_build_modules](#translating-build_modules-to-cmake_build_modules) * [PkgConfigDeps](#pkgconfigdeps) From 94129a4ade63c0023e9ee1161c98121d7e00fc32 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 18:02:19 +0200 Subject: [PATCH 0037/4087] (#17210) libevent: use version range for openssl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libevent/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libevent/all/conanfile.py b/recipes/libevent/all/conanfile.py index 50a8e2865f1b2..2d107e409da17 100644 --- a/recipes/libevent/all/conanfile.py +++ b/recipes/libevent/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b18ada16531a77bf550c072c32d503da26892844 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 18:22:24 +0200 Subject: [PATCH 0038/4087] (#17220) glog: use version range for cmake * use version range for cmake * upper bound --- recipes/glog/all/conanfile.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/recipes/glog/all/conanfile.py b/recipes/glog/all/conanfile.py index dd9ba19268a0e..f0db480178e58 100644 --- a/recipes/glog/all/conanfile.py +++ b/recipes/glog/all/conanfile.py @@ -58,20 +58,9 @@ def requirements(self): if self.options.get_safe("with_unwind") or (Version(self.version) < "0.5.0" and self.settings.os in ["Linux", "FreeBSD"]): self.requires("libunwind/1.6.2") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "0.6.0" and not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.2") + if Version(self.version) >= "0.6.0": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c41e775109c49fcd27844ed55841209f0177fd03 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Tue, 25 Apr 2023 18:42:35 +0200 Subject: [PATCH 0039/4087] (#17188) libcuckoo: conan v2 support * Update conanfile.py for Conan v2 * Update test_package * Add test_package for Conan v1 * Replace test_v1_package/test_package.cpp with symlink * Keep a single copy of test_package.cpp * Add package_type --- recipes/libcuckoo/all/conanfile.py | 64 +++++++++++-------- .../libcuckoo/all/test_package/CMakeLists.txt | 5 +- .../libcuckoo/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 13 ++++ .../all/test_v1_package/conanfile.py | 15 +++++ 5 files changed, 83 insertions(+), 35 deletions(-) create mode 100644 recipes/libcuckoo/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libcuckoo/all/test_v1_package/conanfile.py diff --git a/recipes/libcuckoo/all/conanfile.py b/recipes/libcuckoo/all/conanfile.py index 3f070f7ebb3fc..bca46ac3eb7a8 100644 --- a/recipes/libcuckoo/all/conanfile.py +++ b/recipes/libcuckoo/all/conanfile.py @@ -1,7 +1,11 @@ import os -from conans import CMake, ConanFile, tools -required_conan_version = ">=1.33.0" +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 copy, get, rmdir + +required_conan_version = ">=1.53.0" class LibCuckooConan(ConanFile): @@ -11,46 +15,56 @@ class LibCuckooConan(ConanFile): homepage = "https://github.com/efficient/libcuckoo" url = "https://github.com/conan-io/conan-center-index" topics = ("concurrency", "hashmap", "header-only", "library", "cuckoo") + package_type = "header-library" settings = "arch", "build_type", "compiler", "os" - generators = "cmake", "cmake_find_package_multi" - no_copy_source = True @property def _minimum_cpp_standard(self): return 11 - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): - if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._minimum_cpp_standard) 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], + destination=self.source_folder, strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_STRESS_TESTS"] = False + tc.variables["BUILD_TESTS"] = False + tc.variables["BUILD_UNIT_TESTS"] = False + tc.variables["BUILD_UNIVERSAL_BENCHMARK"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) # Install with CMake cmake = CMake(self) - cmake.definitions["BUILD_EXAMPLES"] = "OFF" - cmake.definitions["BUILD_STRESS_TESTS"] = "OFF" - cmake.definitions["BUILD_TESTS"] = "OFF" - cmake.definitions["BUILD_UNIT_TESTS"] = "OFF" - cmake.definitions["BUILD_UNIVERSAL_BENCHMARK"] = "OFF" - cmake.configure(source_folder=self._source_subfolder) cmake.install() - # Copy license files - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - # Remove CMake config files (only files in share) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) - def package_id(self): - self.info.header_only() def package_info(self): + self.cpp_info.set_property("cmake_file_name", "libcuckoo") + self.cpp_info.set_property("cmake_target_name", "libcuckoo::libcuckoo") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] if self.settings.os == "Linux": self.cpp_info.system_libs = ["pthread"] - self.cpp_info.names["cmake_find_package"] = "libcuckoo" - self.cpp_info.names["cmake_find_package_multi"] = "libcuckoo" diff --git a/recipes/libcuckoo/all/test_package/CMakeLists.txt b/recipes/libcuckoo/all/test_package/CMakeLists.txt index 5bea3f6fd86e4..bbb37dc967899 100644 --- a/recipes/libcuckoo/all/test_package/CMakeLists.txt +++ b/recipes/libcuckoo/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(libcuckoo REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/libcuckoo/all/test_package/conanfile.py b/recipes/libcuckoo/all/test_package/conanfile.py index 22583ef52742a..45ce88cf52fa9 100644 --- a/recipes/libcuckoo/all/test_package/conanfile.py +++ b/recipes/libcuckoo/all/test_package/conanfile.py @@ -1,11 +1,20 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout -class TestPackageConan(ConanFile): +class LibcuckooTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +22,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("{0}".format(bin_path), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libcuckoo/all/test_v1_package/CMakeLists.txt b/recipes/libcuckoo/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..a4368c23dc75f --- /dev/null +++ b/recipes/libcuckoo/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 11) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(libcuckoo REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libcuckoo::libcuckoo) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD}) diff --git a/recipes/libcuckoo/all/test_v1_package/conanfile.py b/recipes/libcuckoo/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..8a5678ccbf761 --- /dev/null +++ b/recipes/libcuckoo/all/test_v1_package/conanfile.py @@ -0,0 +1,15 @@ +import os + +from conans import CMake, ConanFile, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run("{0}".format(bin_path), run_environment=True) From 0313e0395049bfd08b96e5f9727c52a9a62af4b5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 19:03:20 +0200 Subject: [PATCH 0040/4087] (#17184) sundials: conan v2 support --- recipes/sundials/all/CMakeLists.txt | 7 -- recipes/sundials/all/conandata.yml | 10 --- recipes/sundials/all/conanfile.py | 83 +++++++++---------- .../patches/0001-disable-in-source-fail.patch | 15 ---- .../sundials/all/test_package/CMakeLists.txt | 7 +- .../sundials/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../sundials/all/test_v1_package/conanfile.py | 17 ++++ 8 files changed, 82 insertions(+), 87 deletions(-) delete mode 100644 recipes/sundials/all/CMakeLists.txt delete mode 100644 recipes/sundials/all/patches/0001-disable-in-source-fail.patch create mode 100644 recipes/sundials/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sundials/all/test_v1_package/conanfile.py diff --git a/recipes/sundials/all/CMakeLists.txt b/recipes/sundials/all/CMakeLists.txt deleted file mode 100644 index 361b35d4c17d9..0000000000000 --- a/recipes/sundials/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/sundials/all/conandata.yml b/recipes/sundials/all/conandata.yml index c8039381646ea..d7e3f7fdd5714 100644 --- a/recipes/sundials/all/conandata.yml +++ b/recipes/sundials/all/conandata.yml @@ -8,13 +8,3 @@ sources: "5.2.0": url: "https://github.com/LLNL/sundials/releases/download/v5.2.0/sundials-5.2.0.tar.gz" sha256: "95f058acce5bd66e654de65acdbb1c9f44c90cf1b4e28f8d933cdb4415ebba3e" -patches: - "5.4.0": - - patch_file: "patches/0001-disable-in-source-fail.patch" - base_path: "source_subfolder" - "5.3.0": - - patch_file: "patches/0001-disable-in-source-fail.patch" - base_path: "source_subfolder" - "5.2.0": - - patch_file: "patches/0001-disable-in-source-fail.patch" - base_path: "source_subfolder" diff --git a/recipes/sundials/all/conanfile.py b/recipes/sundials/all/conanfile.py index 78c54bca4ac45..c431e2317a534 100644 --- a/recipes/sundials/all/conanfile.py +++ b/recipes/sundials/all/conanfile.py @@ -1,9 +1,11 @@ -from conans import CMake, ConanFile, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, mkdir import glob import os import shutil -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class SundialsConan(ConanFile): @@ -13,11 +15,11 @@ class SundialsConan(ConanFile): " with the goal of providing robust time integrators " "and nonlinear solvers that can easily be incorporated" "into existing simulation codes.") - topics = ("sundials", "integrators", "ode", "non-linear solvers") + topics = ("integrators", "ode", "non-linear solvers") homepage = "https://github.com/LLNL/sundials" url = "https://github.com/conan-io/conan-center-index" - - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -39,14 +41,7 @@ class SundialsConan(ConanFile): "build_kinsol": True, } - exports_sources = "CMakeLists.txt", "patches/**" - generators = "cmake" short_paths = True - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" def config_options(self): if self.settings.os == "Windows": @@ -54,42 +49,40 @@ 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.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_STATIC_LIBS"] = not self.options.shared - self._cmake.definitions["BUILD_ARKODE"] = self.options.build_arkode - self._cmake.definitions["BUILD_CVODE"] = self.options.build_cvode - self._cmake.definitions["BUILD_CVODES"] = self.options.build_cvodes - self._cmake.definitions["BUILD_IDA"] = self.options.build_ida - self._cmake.definitions["BUILD_IDAS"] = self.options.build_idas - self._cmake.definitions["BUILD_KINSOL"] = self.options.build_kinsol - self._cmake.definitions["EXAMPLES_ENABLE_C"] = False - self._cmake.definitions["EXAMPLES_INSTALL"] = False - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.variables["BUILD_ARKODE"] = self.options.build_arkode + tc.variables["BUILD_CVODE"] = self.options.build_cvode + tc.variables["BUILD_CVODES"] = self.options.build_cvodes + tc.variables["BUILD_IDA"] = self.options.build_ida + tc.variables["BUILD_IDAS"] = self.options.build_idas + tc.variables["BUILD_KINSOL"] = self.options.build_kinsol + tc.variables["EXAMPLES_ENABLE_C"] = False + tc.variables["EXAMPLES_INSTALL"] = False + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", 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() if self.settings.os == "Windows" and self.options.shared: - tools.mkdir(os.path.join(self.package_folder, "bin")) + mkdir(self, os.path.join(self.package_folder, "bin")) for dll_path in glob.glob(os.path.join(self.package_folder, "lib", "*.dll")): shutil.move(dll_path, os.path.join(self.package_folder, "bin", os.path.basename(dll_path))) @@ -110,7 +103,7 @@ def package_info(self): self.cpp_info.components["sundials_sunmatrixsparse"].libs = ["sundials_sunmatrixsparse"] self.cpp_info.components["sundials_sunnonlinsolfixedpoint"].libs = ["sundials_sunnonlinsolfixedpoint"] self.cpp_info.components["sundials_sunnonlinsolnewton"].libs = ["sundials_sunnonlinsolnewton"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_nvecmanyvector"].system_libs = ["m"] self.cpp_info.components["sundials_nvecserial"].system_libs = ["m"] self.cpp_info.components["sundials_sunlinsolpcg"].system_libs = ["m"] @@ -125,25 +118,25 @@ def package_info(self): self.cpp_info.components["sundials_sunnonlinsolnewton"].system_libs = ["m"] if self.options.build_arkode: self.cpp_info.components["sundials_arkode"].libs = ["sundials_arkode"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_arkode"].system_libs = ["m"] if self.options.build_cvode: self.cpp_info.components["sundials_cvode"].libs = ["sundials_cvode"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_cvode"].system_libs = ["m"] if self.options.build_cvodes: self.cpp_info.components["sundials_cvodes"].libs = ["sundials_cvodes"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_cvodes"].system_libs = ["m"] if self.options.build_ida: self.cpp_info.components["sundials_ida"].libs = ["sundials_ida"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_ida"].system_libs = ["m"] if self.options.build_idas: self.cpp_info.components["sundials_idas"].libs = ["sundials_idas"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_idas"].system_libs = ["m"] if self.options.build_kinsol: self.cpp_info.components["sundials_kinsol"].libs = ["sundials_kinsol"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["sundials_kinsol"].system_libs = ["m"] diff --git a/recipes/sundials/all/patches/0001-disable-in-source-fail.patch b/recipes/sundials/all/patches/0001-disable-in-source-fail.patch deleted file mode 100644 index 73a6ba500d80c..0000000000000 --- a/recipes/sundials/all/patches/0001-disable-in-source-fail.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6bd5cc3..52a7d05 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -48,10 +48,5 @@ endif() - - set_property(GLOBAL PROPERTY USE_FOLDERS ON) - --# Prohibit in-source build --if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -- message(FATAL_ERROR "In-source build prohibited.") --endif("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -- - # Hide some cache variables - mark_as_advanced(EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH) diff --git a/recipes/sundials/all/test_package/CMakeLists.txt b/recipes/sundials/all/test_package/CMakeLists.txt index 7b9b613cbb24a..cf2fd2bc5a19e 100644 --- a/recipes/sundials/all/test_package/CMakeLists.txt +++ b/recipes/sundials/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(sundials REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE sundials::sundials) diff --git a/recipes/sundials/all/test_package/conanfile.py b/recipes/sundials/all/test_package/conanfile.py index 0926a977fb737..98ab55852ad56 100644 --- a/recipes/sundials/all/test_package/conanfile.py +++ b/recipes/sundials/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools -class SundialsTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sundials/all/test_v1_package/CMakeLists.txt b/recipes/sundials/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/sundials/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sundials/all/test_v1_package/conanfile.py b/recipes/sundials/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/sundials/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From f3906c9bdaaaa3d347b7c5c38839d9eb10ce8784 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 19:48:21 +0200 Subject: [PATCH 0041/4087] (#17215) nuraft: use version range for openssl --- recipes/nuraft/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/nuraft/all/conanfile.py b/recipes/nuraft/all/conanfile.py index 2b94650c7d797..9ec70bcec889d 100644 --- a/recipes/nuraft/all/conanfile.py +++ b/recipes/nuraft/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.options.asio == "boost": self.requires("boost/1.81.0") else: From 9eb152c2a20f325b7dea70dfcef430dd2a5feda3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 26 Apr 2023 03:23:23 +0900 Subject: [PATCH 0042/4087] (#17176) icu: add version 73.1, add package_type --- recipes/icu/all/conandata.yml | 5 +++++ recipes/icu/all/conanfile.py | 4 ++-- recipes/icu/config.yml | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index 552662991ba50..bebf278b61b51 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ 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" @@ -15,6 +18,8 @@ sources: url: "https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz" sha256: "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" patches: + "73.1": + - patch_file: "patches/0001-69.1-fix-mingw.patch" "72.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" "71.1": diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 5b2773ee2d710..26611e98022e6 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -25,7 +25,7 @@ class ICUConan(ConanFile): "providing Unicode and Globalization support for software applications." url = "https://github.com/conan-io/conan-center-index" topics = ("icu", "icu4c", "i see you", "unicode") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -74,7 +74,7 @@ def validate(self): if self.options.dat_package_file: if not os.path.exists(self.options.dat_package_file): raise ConanInvalidConfiguration("Non-existent dat_package_file specified") - + def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index cbeb0baa14abe..14241e230efc1 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "73.1": + folder: all "72.1": folder: all "71.1": From ff6048302a6528ab79e30549ed586372ed27dfde Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 25 Apr 2023 12:22:40 -0700 Subject: [PATCH 0043/4087] (#17203) cppserver: remove cmake_new_enough MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/cppserver/all/conanfile.py | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/recipes/cppserver/all/conanfile.py b/recipes/cppserver/all/conanfile.py index aecc783ed09c3..91e6f623b52d8 100644 --- a/recipes/cppserver/all/conanfile.py +++ b/recipes/cppserver/all/conanfile.py @@ -17,6 +17,7 @@ class CppServer(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/chronoxor/CppServer" topics = ("network", "socket", "asynchronous", "low-latency") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -69,20 +70,9 @@ def validate(self): elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration(f"{self.ref} requires a compiler that supports at least C++17") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "1.0.2.0" and not self._cmake_new_enough("3.20"): - self.tool_requires("cmake/3.25.1") + if Version(self.version) >= "1.0.2.0": + self.tool_requires("cmake/[>=3.20 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 62796a0cec789eab4851ed7535e0e568e7547b6a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 26 Apr 2023 04:42:32 +0900 Subject: [PATCH 0044/4087] (#17165) screen_capture_lite: add version 17.1.1173, add package_type --- recipes/screen_capture_lite/all/conandata.yml | 4 ++- recipes/screen_capture_lite/all/conanfile.py | 28 +++++++++---------- recipes/screen_capture_lite/config.yml | 2 ++ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/recipes/screen_capture_lite/all/conandata.yml b/recipes/screen_capture_lite/all/conandata.yml index ebf387ff02ee5..87497fb96911b 100644 --- a/recipes/screen_capture_lite/all/conandata.yml +++ b/recipes/screen_capture_lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "17.1.1173": + url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.1173.tar.gz" + sha256: "17875fb58f0e5920b13b6ef2516c8e973055347339d3dbaabfa97ef448fdfff2" "17.1.613": url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.613.tar.gz" sha256: "ab111e52379fc4bca852b9a79535329e12dca9b25a0b87a2ef84ab7348a64064" @@ -8,7 +11,6 @@ sources: "17.1.439": url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.439.tar.gz" sha256: "c6e6eead72114dc7ba9f3fb17eeff01b4b53bb3ad3b71a55ebe08b61bbff9dea" - patches: "17.1.462": - patch_file: "patches/17.1.462-0001-fix-cmake.patch" diff --git a/recipes/screen_capture_lite/all/conanfile.py b/recipes/screen_capture_lite/all/conanfile.py index b435b4fa5fdfb..f893a0c447d8c 100644 --- a/recipes/screen_capture_lite/all/conanfile.py +++ b/recipes/screen_capture_lite/all/conanfile.py @@ -18,6 +18,7 @@ class ScreenCaptureLiteConan(ConanFile): homepage = "https://github.com/smasherprog/screen_capture_lite" topics = ("screen-capture", "screen-ercorder") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -28,7 +29,7 @@ class ScreenCaptureLiteConan(ConanFile): } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 20 @property @@ -37,6 +38,8 @@ def _compilers_minimum_version(self): "gcc": "11", "clang": "10", "apple-clang": "10", + "Visual Studio": "16", + "msvc": "192", } def export_sources(self): @@ -48,10 +51,7 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") @@ -62,14 +62,12 @@ def requirements(self): def validate(self): if self.info.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) - check_min_vs(self, 192) - 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._minimum_cpp_standard}, which your compiler does not support." - ) + check_min_cppstd(self, self._min_cppstd) + 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." + ) if self.info.settings.compiler == "clang" and self.info.settings.compiler.get_safe("libcxx") == "libstdc++": raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libstdc++") @@ -92,10 +90,10 @@ def _cmake_new_enough(self, required_version): def build_requirements(self): if Version(self.version) >= "17.1.596" and not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.0") + self.tool_requires("cmake/3.25.3") 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/screen_capture_lite/config.yml b/recipes/screen_capture_lite/config.yml index f8e73a4caff7b..863f787460bb7 100644 --- a/recipes/screen_capture_lite/config.yml +++ b/recipes/screen_capture_lite/config.yml @@ -1,4 +1,6 @@ versions: + "17.1.1173": + folder: "all" "17.1.613": folder: "all" "17.1.462": From c0762ddfcc01132ee6db91887315f81abed18d74 Mon Sep 17 00:00:00 2001 From: Federico De Felici Date: Tue, 25 Apr 2023 22:24:10 +0200 Subject: [PATCH 0045/4087] (#17050) clove-unit: bump to v2.4.0 + conan2 compliance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * clove-unit: add version 2.2.3 * fix conanfile * update test * reduce cmake minimum version for Macos Clang M1/Arm64 * remove unused os import Co-authored-by: Uilian Ries * fix indentation Co-authored-by: Uilian Ries * replace CONAN_LIBS because deprecation Co-authored-by: Uilian Ries * add cmake_find_package_multi generator to generate CloveUnit-config.cmake Co-authored-by: Uilian Ries * removed outdated self.settings for dual profile Co-authored-by: Uilian Ries * Bump Clove-Unit to v2.4.0 and migration to conan2 * set src_folder to src and fix indentation warnings * fix CMakeLists adding newline at eof * fix CMakeLists adding newline at eof * setting compiler in cmakelist * remove settings from conanfile.py * fix package() copy directive * update conanfile.py * restore cmake_find_package and cmake_find_package_multi conf in conanfile.py for test_v1_package * Update recipes/clove-unit/all/test_package/CMakeLists.txt * Update recipes/clove-unit/all/test_package/CMakeLists.txt --------- Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- recipes/clove-unit/all/conandata.yml | 3 ++ recipes/clove-unit/all/conanfile.py | 42 +++++++++++++++---- .../all/test_package/CMakeLists.txt | 7 ++-- .../clove-unit/all/test_package/conanfile.py | 21 +++++++--- .../all/test_v1_package/CMakeLists.txt | 9 ++++ .../all/test_v1_package/conanfile.py | 18 ++++++++ recipes/clove-unit/config.yml | 2 + 7 files changed, 83 insertions(+), 19 deletions(-) create mode 100644 recipes/clove-unit/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/clove-unit/all/test_v1_package/conanfile.py diff --git a/recipes/clove-unit/all/conandata.yml b/recipes/clove-unit/all/conandata.yml index 2c3695d23b94a..8be6c1dd9a952 100644 --- a/recipes/clove-unit/all/conandata.yml +++ b/recipes/clove-unit/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/fdefelici/clove-unit/archive/v2.4.0.tar.gz" + sha256: d5005854d7b3b6ed1b470c2df353fadd80a2ed5a80bb85efc074b9d55315e78d "2.3.0": url: "https://github.com/fdefelici/clove-unit/archive/v2.3.0.tar.gz" sha256: ca94d33643bbe1ff2205f7e6405f3e9c5a95d2f3a076a126814e64b46e3cce8e diff --git a/recipes/clove-unit/all/conanfile.py b/recipes/clove-unit/all/conanfile.py index c29b4d879af19..b1b609b91277b 100644 --- a/recipes/clove-unit/all/conanfile.py +++ b/recipes/clove-unit/all/conanfile.py @@ -1,6 +1,9 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.layout import basic_layout +from conan.tools.files import export_conandata_patches, get, copy +import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.52.0" class CloveUnitConan(ConanFile): name = "clove-unit" @@ -10,21 +13,42 @@ class CloveUnitConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "MIT" no_copy_source = True + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" - @property - def _source_subfolder(self): - return "source_subfolder" + # Use the export_sources(self) method instead of the exports_sources attribute. + # This allows finer grain exportation of patches per version + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + # Not mandatory when there is no patch, but will suppress warning message about missing build() method + def build(self): + # The attribute no_copy_source should not be used when applying patches in build + # apply_conandata_patches(self) + pass def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="clove-unit.h", dst="include", src=self._source_subfolder) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "clove-unit.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) def package_id(self): - self.info.header_only() + self.info.clear() def package_info(self): + self.cpp_info.set_property("cmake_file_name", "CloveUnit") + self.cpp_info.set_property("cmake_target_name", "CloveUnit::CloveUnit") + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + # NOTE: needed by conan test phase on test_v1_package folder + self.cpp_info.filenames["cmake_find_package"] = "CloveUnit" + self.cpp_info.filenames["cmake_find_package_multi"] = "CloveUnit" self.cpp_info.names["cmake_find_package"] = "CloveUnit" self.cpp_info.names["cmake_find_package_multi"] = "CloveUnit" diff --git a/recipes/clove-unit/all/test_package/CMakeLists.txt b/recipes/clove-unit/all/test_package/CMakeLists.txt index fde8b9c97172b..fb45b2eb12291 100644 --- a/recipes/clove-unit/all/test_package/CMakeLists.txt +++ b/recipes/clove-unit/all/test_package/CMakeLists.txt @@ -1,10 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) find_package(CloveUnit CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} CloveUnit::CloveUnit) + diff --git a/recipes/clove-unit/all/test_package/conanfile.py b/recipes/clove-unit/all/test_package/conanfile.py index 1bf1c7e26255d..fb5d7dc241b5a 100644 --- a/recipes/clove-unit/all/test_package/conanfile.py +++ b/recipes/clove-unit/all/test_package/conanfile.py @@ -1,9 +1,18 @@ -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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -11,6 +20,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/clove-unit/all/test_v1_package/CMakeLists.txt b/recipes/clove-unit/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..5e4401df6124d --- /dev/null +++ b/recipes/clove-unit/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) +project(test_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/clove-unit/all/test_v1_package/conanfile.py b/recipes/clove-unit/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e264aad8e8ec --- /dev/null +++ b/recipes/clove-unit/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + +# legacy validation with Conan 1.x +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/clove-unit/config.yml b/recipes/clove-unit/config.yml index 3c940ec906d09..48ff824f79074 100644 --- a/recipes/clove-unit/config.yml +++ b/recipes/clove-unit/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: "all" "2.3.0": folder: "all" "2.2.4": From f9c41013de677f031d75143bc41b0b2518dcc378 Mon Sep 17 00:00:00 2001 From: tankeco Date: Wed, 26 Apr 2023 04:49:58 +0800 Subject: [PATCH 0046/4087] (#16992) fast-dds: modernize for conan v2 * modernize fast-dds for conan v2 * fix check msvc * fix is_msvc * try fix v2 build and warning * fix conan v2 build --- recipes/fast-dds/all/CMakeLists.txt | 7 - recipes/fast-dds/all/conandata.yml | 9 +- recipes/fast-dds/all/conanfile.py | 153 +++++++++--------- ....3.2-0001-fix-find-asio-and-tinyxml2.patch | 20 ++- ....3.3-0001-fix-find-asio-and-tinyxml2.patch | 28 ---- ....3.X-0001-fix-find-asio-and-tinyxml2.patch | 20 ++- .../fast-dds/all/test_package/CMakeLists.txt | 7 +- .../fast-dds/all/test_package/conanfile.py | 22 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../fast-dds/all/test_v1_package/conanfile.py | 16 ++ 10 files changed, 163 insertions(+), 127 deletions(-) delete mode 100644 recipes/fast-dds/all/CMakeLists.txt delete mode 100644 recipes/fast-dds/all/patches/2.3.3-0001-fix-find-asio-and-tinyxml2.patch create mode 100644 recipes/fast-dds/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/fast-dds/all/test_v1_package/conanfile.py diff --git a/recipes/fast-dds/all/CMakeLists.txt b/recipes/fast-dds/all/CMakeLists.txt deleted file mode 100644 index 8b9014fcee176..0000000000000 --- a/recipes/fast-dds/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/fast-dds/all/conandata.yml b/recipes/fast-dds/all/conandata.yml index ea3e09684b01e..b9e90bef53612 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -11,10 +11,13 @@ sources: patches: "2.3.4": - patch_file: "patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" "2.3.3": - patch_file: "patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" "2.3.2": - patch_file: "patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" diff --git a/recipes/fast-dds/all/conanfile.py b/recipes/fast-dds/all/conanfile.py index c7f1a37d3d3bd..f65eb37516bb2 100644 --- a/recipes/fast-dds/all/conanfile.py +++ b/recipes/fast-dds/all/conanfile.py @@ -1,10 +1,24 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import ( + apply_conandata_patches, + collect_libs, + copy, + export_conandata_patches, + get, + rename, + rm, + rmdir, + save, +) +from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime, is_msvc, msvc_runtime_flag +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class FastDDSConan(ConanFile): @@ -14,7 +28,7 @@ class FastDDSConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "The most complete OSS DDS implementation for embedded systems." topics = ("dds", "middleware", "ipc") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -27,34 +41,20 @@ class FastDDSConan(ConanFile): "with_ssl": False, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - - @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 11 @property - def _minimum_compilers_version(self): + def _compilers_minimum_version(self): return { - "Visual Studio": "16", "gcc": "5", "clang": "3.9", "apple-clang": "8", } 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": @@ -62,78 +62,81 @@ 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("tinyxml2/9.0.0") self.requires("asio/1.21.0") - self.requires("fast-cdr/1.0.23") - self.requires("foonathan-memory/0.7.1") + self.requires("fast-cdr/1.0.26", transitive_headers=True, transitive_libs=True) + self.requires("foonathan-memory/0.7.3") self.requires("boost/1.75.0") # boost/1.76 is required by version 2.3.2, boost/1.75.0 required for 2.3.3 by Windows if self.options.with_ssl: - self.requires("openssl/1.1.1m") + self.requires("openssl/1.1.1t") 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 min_version and tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration( - "{} requires C++{} support. {} {} does not support it.".format( - self.name, self._minimum_cpp_standard, - self.settings.compiler, self.settings.compiler.version + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, "192") + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - ) - if self.options.shared and self._is_msvc and "MT" in msvc_runtime_flag(self): + if self.options.shared and is_msvc(self) and "MT" in msvc_runtime_flag(self): # This combination leads to an fast-dds error when linking # linking dynamic '*.dll' and static MT runtime raise ConanInvalidConfiguration("Mixing a dll {} library with a static runtime is a bad idea".format(self.name)) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_MEMORY_TOOLS"] = False - self._cmake.definitions["NO_TLS"] = not self.options.with_ssl - self._cmake.definitions["SECURITY"] = self.options.with_ssl - self._cmake.definitions["EPROSIMA_INSTALLER_MINION"] = False - 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["BUILD_MEMORY_TOOLS"] = False + tc.variables["NO_TLS"] = not self.options.with_ssl + tc.variables["SECURITY"] = self.options.with_ssl + tc.variables["EPROSIMA_INSTALLER_MINION"] = False + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() - cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - tools.rename( - src=os.path.join(self.package_folder, "tools"), - dst=os.path.join(os.path.join(self.package_folder, "bin", "tools")) - ) - tools.remove_files_by_mask( - directory=os.path.join(self.package_folder, "lib"), - pattern="*.pdb" + copy( + self, + "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, ) - tools.remove_files_by_mask( - directory=os.path.join(self.package_folder, "bin"), - pattern="*.pdb" + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + rename( + self, + os.path.join(self.package_folder, "tools"), + os.path.join(os.path.join(self.package_folder, "bin", "tools")), ) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + 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( os.path.join(self.package_folder, self._module_file_rel_path), {"fastrtps": "fastdds::fastrtps"} ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): content += textwrap.dedent("""\ @@ -142,7 +145,7 @@ def _create_cmake_module_alias_targets(module_file, targets): set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) endif() """.format(alias=alias, aliased=aliased)) - tools.save(module_file, content) + save(self, module_file, content) @property def _module_file_rel_path(self): @@ -153,20 +156,21 @@ def package_info(self): # component fastrtps self.cpp_info.components["fastrtps"].set_property("cmake_target_name", "fastrtps") - self.cpp_info.components["fastrtps"].libs = tools.collect_libs(self) + self.cpp_info.components["fastrtps"].set_property("cmake_target_aliases", ["fastdds::fastrtps"]) + self.cpp_info.components["fastrtps"].libs = collect_libs(self) self.cpp_info.components["fastrtps"].requires = [ "fast-cdr::fast-cdr", "asio::asio", "tinyxml2::tinyxml2", "foonathan-memory::foonathan-memory", - "boost::boost" + "boost::boost", ] if self.settings.os in ["Linux", "FreeBSD", "Neutrino"]: self.cpp_info.components["fastrtps"].system_libs.append("pthread") if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["fastrtps"].system_libs.extend(["rt", "dl", "atomic"]) + self.cpp_info.components["fastrtps"].system_libs.extend(["rt", "dl", "atomic", "m"]) elif self.settings.os == "Windows": - self.cpp_info.components["fastrtps"].system_libs.extend(["iphlpapi","shlwapi"]) + self.cpp_info.components["fastrtps"].system_libs.extend(["iphlpapi", "shlwapi", "mswsock", "ws2_32"]) if self.options.shared: self.cpp_info.components["fastrtps"].defines.append("FASTRTPS_DYN_LINK") if self.options.with_ssl: @@ -176,9 +180,6 @@ def package_info(self): # FIXME: actually conan generators don't know how to create an executable imported target self.cpp_info.components["fast-discovery-server"].set_property("cmake_target_name", "fastdds::fast-discovery-server") self.cpp_info.components["fast-discovery-server"].bindirs = ["bin"] - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var for fast-dds::fast-discovery-server with: {}".format(bin_path)), - self.env_info.PATH.append(bin_path) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "fastdds" diff --git a/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch index 4530f0222378b..5d4d5bc2037bb 100644 --- a/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch +++ b/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch @@ -14,9 +14,18 @@ index 8a9cb0209..400c681e7 100644 find_package(foonathan_memory REQUIRED) message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index 04d313bf2..c7d64f04d 100644 +index 04d313bf2..efd1f9f7a 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt +@@ -434,7 +434,7 @@ elseif(NOT EPROSIMA_INSTALLER) + $ + $ + PRIVATE +- ${Asio_INCLUDE_DIR} ++ ${asio_INCLUDE_DIR} + ${TINYXML2_INCLUDE_DIR} + $<$:${ANDROID_IFADDRS_INCLUDE_DIR}> + ${THIRDPARTY_BOOST_INCLUDE_DIR} @@ -455,7 +455,7 @@ elseif(NOT EPROSIMA_INSTALLER) # Link library to external libraries. target_link_libraries(${PROJECT_NAME} ${PRIVACY} fastcdr foonathan_memory @@ -26,3 +35,12 @@ index 04d313bf2..c7d64f04d 100644 $<$:OpenSSL::SSL$OpenSSL::Crypto> $<$:iphlpapi$Shlwapi> ${THIRDPARTY_BOOST_LINK_LIBS} +@@ -536,7 +536,7 @@ if(UNIX AND EPROSIMA_INSTALLER) + COMPONENT headers + ) + +- set_public_headers_directory(${Asio_INCLUDE_DIR} "" ++ set_public_headers_directory(${asio_INCLUDE_DIR} "" + DESTINATION thirdparty/asio + COMPONENT headers + ) diff --git a/recipes/fast-dds/all/patches/2.3.3-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.3.3-0001-fix-find-asio-and-tinyxml2.patch deleted file mode 100644 index a597b73998c04..0000000000000 --- a/recipes/fast-dds/all/patches/2.3.3-0001-fix-find-asio-and-tinyxml2.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8a9cb0209..400c681e7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -225,8 +225,8 @@ if(NOT BUILD_SHARED_LIBS) - endif() - - eprosima_find_package(fastcdr REQUIRED) --eprosima_find_thirdparty(Asio asio VERSION 1.10.8) --eprosima_find_thirdparty(TinyXML2 tinyxml2) -+eprosima_find_thirdparty(asio REQUIRED) -+eprosima_find_thirdparty(tinyxml2 REQUIRED) - - find_package(foonathan_memory REQUIRED) - message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index d26915242..f00e36ea6 100644 ---- a/src/cpp/CMakeLists.txt -+++ b/src/cpp/CMakeLists.txt -@@ -456,7 +456,7 @@ elseif(NOT EPROSIMA_INSTALLER) - # Link library to external libraries. - target_link_libraries(${PROJECT_NAME} ${PRIVACY} fastcdr foonathan_memory - ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} -- ${TINYXML2_LIBRARY} -+ tinyxml2::tinyxml2 - $<$:OpenSSL::SSL$OpenSSL::Crypto$<$:$crypt32.lib>> - $<$:iphlpapi$Shlwapi> - ${THIRDPARTY_BOOST_LINK_LIBS} diff --git a/recipes/fast-dds/all/patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch index a597b73998c04..a8f7744bacf11 100644 --- a/recipes/fast-dds/all/patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch +++ b/recipes/fast-dds/all/patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch @@ -14,9 +14,18 @@ index 8a9cb0209..400c681e7 100644 find_package(foonathan_memory REQUIRED) message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index d26915242..f00e36ea6 100644 +index d26915242..5cc41ba84 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt +@@ -435,7 +435,7 @@ elseif(NOT EPROSIMA_INSTALLER) + $ + $ + PRIVATE +- ${Asio_INCLUDE_DIR} ++ ${asio_INCLUDE_DIR} + ${TINYXML2_INCLUDE_DIR} + $<$:${ANDROID_IFADDRS_INCLUDE_DIR}> + ${THIRDPARTY_BOOST_INCLUDE_DIR} @@ -456,7 +456,7 @@ elseif(NOT EPROSIMA_INSTALLER) # Link library to external libraries. target_link_libraries(${PROJECT_NAME} ${PRIVACY} fastcdr foonathan_memory @@ -26,3 +35,12 @@ index d26915242..f00e36ea6 100644 $<$:OpenSSL::SSL$OpenSSL::Crypto$<$:$crypt32.lib>> $<$:iphlpapi$Shlwapi> ${THIRDPARTY_BOOST_LINK_LIBS} +@@ -579,7 +579,7 @@ if(UNIX AND EPROSIMA_INSTALLER) + COMPONENT headers + ) + +- set_public_headers_directory(${Asio_INCLUDE_DIR} "" ++ set_public_headers_directory(${asio_INCLUDE_DIR} "" + DESTINATION thirdparty/asio + COMPONENT headers + ) diff --git a/recipes/fast-dds/all/test_package/CMakeLists.txt b/recipes/fast-dds/all/test_package/CMakeLists.txt index 8d075b0d63dcf..d158385cb30f9 100644 --- a/recipes/fast-dds/all/test_package/CMakeLists.txt +++ b/recipes/fast-dds/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(fastdds REQUIRED CONFIG) add_executable(${PROJECT_NAME} @@ -12,5 +9,5 @@ add_executable(${PROJECT_NAME} msg/HelloWorldPubSubTypes.cxx ) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) target_link_libraries(${PROJECT_NAME} fastrtps) diff --git a/recipes/fast-dds/all/test_package/conanfile.py b/recipes/fast-dds/all/test_package/conanfile.py index 1bf1c7e26255d..fafba71d30d56 100644 --- a/recipes/fast-dds/all/test_package/conanfile.py +++ b/recipes/fast-dds/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - 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/fast-dds/all/test_v1_package/CMakeLists.txt b/recipes/fast-dds/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..fe92296627765 --- /dev/null +++ b/recipes/fast-dds/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package 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/fast-dds/all/test_v1_package/conanfile.py b/recipes/fast-dds/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..1bf1c7e26255d --- /dev/null +++ b/recipes/fast-dds/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From f5add38230cd2d8b77ed949730e1a14fd7873ce3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 25 Apr 2023 23:58:03 +0200 Subject: [PATCH 0047/4087] (#17218) capnproto: use version range for openssl --- recipes/capnproto/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index 44891a3a9397b..f101073a53368 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -77,7 +77,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_zlib"): self.requires("zlib/1.2.13") From ff0bdc7078023da0237f95480b78efc85bc51c95 Mon Sep 17 00:00:00 2001 From: forthib Date: Wed, 26 Apr 2023 01:08:23 +0200 Subject: [PATCH 0048/4087] (#16745) tcl: conan v2 support * tcl: conan v2 support fixes #16708 * remove call to fix_apple_shared_install_name --- recipes/tcl/all/conandata.yml | 2 - recipes/tcl/all/conanfile.py | 193 +++++++++--------- recipes/tcl/all/test_package/CMakeLists.txt | 7 +- recipes/tcl/all/test_package/conanfile.py | 26 ++- recipes/tcl/all/test_package/hello.bat | 1 + .../tcl/all/test_v1_package/CMakeLists.txt | 8 + recipes/tcl/all/test_v1_package/conanfile.py | 19 ++ 7 files changed, 148 insertions(+), 108 deletions(-) create mode 100644 recipes/tcl/all/test_package/hello.bat create mode 100644 recipes/tcl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tcl/all/test_v1_package/conanfile.py diff --git a/recipes/tcl/all/conandata.yml b/recipes/tcl/all/conandata.yml index 3968e17be34e3..ddecf77805a4c 100644 --- a/recipes/tcl/all/conandata.yml +++ b/recipes/tcl/all/conandata.yml @@ -8,7 +8,5 @@ sources: patches: "8.6.11": - patch_file: "patches/0001-8.6.11-no-read-only-data.patch" - base_path: "source_subfolder" "8.6.10": - patch_file: "patches/0001-8.6.10-no-read-only-data.patch" - base_path: "source_subfolder" diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index d2beb4e9a85e2..c81bc94de1c84 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -1,43 +1,38 @@ -from conans import AutoToolsBuildEnvironment, tools -from conan.tools.microsoft import is_msvc, msvc_runtime_flag -from conan.tools import files from conan import ConanFile from conan.errors import ConanInvalidConfiguration -import functools +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.files import apply_conandata_patches, chdir, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, NMakeToolchain import os -required_conan_version = ">=1.45.0" +required_conan_version = ">=1.54.0" class TclConan(ConanFile): name = "tcl" description = "Tcl is a very powerful but easy to learn dynamic programming language." - topics = ("tcl", "scripting", "programming") + license = "TCL" url = "https://github.com/conan-io/conan-center-index" homepage = "https://tcl.tk" - license = "TCL" - + topics = ("tcl", "scripting", "programming") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { - "fPIC": [True, False], "shared": [True, False], + "fPIC": [True, False], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, } - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -45,24 +40,44 @@ 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): + # Not using basic_layout because package() needs the source folder to be a sub-directory of the build folder + self.folders.source = "src" + self.folders.generators = "conan" def requirements(self): self.requires("zlib/1.2.13") def validate(self): if self.settings.os not in ("FreeBSD", "Linux", "Macos", "Windows"): - raise ConanInvalidConfiguration("Unsupported os") + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") def build_requirements(self): - if self._settings_build.os == "Windows" and not is_msvc(self) and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + if self._settings_build.os == "Windows" and not is_msvc(self): + 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): - 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=True) + + def generate(self): + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self, prefix=self.package_folder) + def yes_no(v): return "yes" if v else "no" + tc.configure_args.extend([ + "--enable-threads", + "--enable-symbols={}".format(yes_no(self.settings.build_type == "Debug")), + "--enable-64bit={}".format(yes_no(self.settings.arch == "x86_64")), + ]) + tc.generate() def _get_default_build_system_subdir(self): return { @@ -74,45 +89,44 @@ def _get_default_build_system_subdir(self): def _get_configure_dir(self, build_system_subdir=None): if build_system_subdir is None: build_system_subdir = self._get_default_build_system_subdir() - return os.path.join(self.source_folder, self._source_subfolder, build_system_subdir) + return os.path.join(self.source_folder, build_system_subdir) def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) - if tools.is_apple_os(self.settings.os) and self.settings.arch not in ("x86", "x86_64"): - tools.replace_in_file(os.path.join(self._get_configure_dir(), "configure"), "#define HAVE_CPUID 1", "#undef HAVE_CPUID") + if is_apple_os(self) and self.settings.arch not in ("x86", "x86_64"): + replace_in_file(self, os.path.join(self._get_configure_dir(), "configure"), "#define HAVE_CPUID 1", "#undef HAVE_CPUID") unix_config_dir = self._get_configure_dir("unix") # When disabling 64-bit support (in 32-bit), this test must be 0 in order to use "long long" for 64-bit ints # (${tcl_type_64bit} can be either "__int64" or "long long") - tools.replace_in_file(os.path.join(unix_config_dir, "configure"), - "(sizeof(${tcl_type_64bit})==sizeof(long))", - "(sizeof(${tcl_type_64bit})!=sizeof(long))") + replace_in_file(self, os.path.join(unix_config_dir, "configure"), + "(sizeof(${tcl_type_64bit})==sizeof(long))", + "(sizeof(${tcl_type_64bit})!=sizeof(long))") unix_makefile_in = os.path.join(unix_config_dir, "Makefile.in") # Avoid building internal libraries as shared libraries - tools.replace_in_file(unix_makefile_in, "--enable-shared --enable-threads", "--enable-threads") + replace_in_file(self, unix_makefile_in, "--enable-shared --enable-threads", "--enable-threads") # Avoid clearing CFLAGS and LDFLAGS in the makefile - tools.replace_in_file(unix_makefile_in, "\nCFLAGS\t", "\n#CFLAGS\t") - tools.replace_in_file(unix_makefile_in, "\nLDFLAGS\t", "\n#LDFLAGS\t") + replace_in_file(self, unix_makefile_in, "\nCFLAGS\t", "\n#CFLAGS\t") + replace_in_file(self, unix_makefile_in, "\nLDFLAGS\t", "\n#LDFLAGS\t") # Use CFLAGS and CPPFLAGS as argument to CC - tools.replace_in_file(unix_makefile_in, "${CFLAGS}", "${CFLAGS} ${CPPFLAGS}") + replace_in_file(self, unix_makefile_in, "${CFLAGS}", "${CFLAGS} ${CPPFLAGS}") # nmake creates a temporary file with mixed forward/backward slashes # force the filename to avoid cryptic error messages win_config_dir = self._get_configure_dir("win") win_makefile_vc = os.path.join(win_config_dir, "makefile.vc") - tools.replace_in_file(win_makefile_vc, "@type << >$@", "type <$@") + replace_in_file(self, win_makefile_vc, "@type << >$@", "type <$@") - win_rules_vc = os.path.join(self._source_subfolder, "win", "rules.vc") + win_rules_vc = os.path.join(self.source_folder, "win", "rules.vc") # do not treat nmake build warnings as errors - tools.replace_in_file(win_rules_vc, "cwarn = $(cwarn) -WX", "") + replace_in_file(self, win_rules_vc, "cwarn = $(cwarn) -WX", "") # disable whole program optimization to be portable across different MSVC versions. # See conan-io/conan-center-index#4811 conan-io/conan-center-index#4094 - tools.replace_in_file( - win_rules_vc, - "OPTIMIZATIONS = $(OPTIMIZATIONS) -GL", - "") + replace_in_file(self, + win_rules_vc, + "OPTIMIZATIONS = $(OPTIMIZATIONS) -GL", + "") def _build_nmake(self, targets): opts = [] @@ -121,60 +135,46 @@ def _build_nmake(self, targets): opts.append("static") if self.settings.build_type == "Debug": opts.append("symbols") - if "MD" in msvc_runtime_flag(self): - opts.append("msvcrt") - else: + if is_msvc_static_runtime(self): opts.append("nomsvcrt") + else: + opts.append("msvcrt") if "d" not in msvc_runtime_flag(self): opts.append("unchecked") - with tools.vcvars(self.settings): - with tools.chdir(self._get_configure_dir("win")): - self.run('nmake -nologo -f "{cfgdir}/makefile.vc" INSTALLDIR="{pkgdir}" OPTS={opts} {targets}'.format( - cfgdir=self._get_configure_dir("win"), - pkgdir=self.package_folder, - opts=",".join(opts), - targets=" ".join(targets), - )) - - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - def yes_no(v): - return "yes" if v else "no" - conf_args = [ - "--enable-threads", - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-symbols={}".format(yes_no(self.settings.build_type == "Debug")), - "--enable-64bit={}".format(yes_no(self.settings.arch == "x86_64")), - ] - autotools.configure(configure_dir=self._get_configure_dir(), args=conf_args, vars={"PKG_CFG_ARGS": " ".join(conf_args)}) - - # https://core.tcl.tk/tcl/tktview/840660e5a1 - for root, _, list_of_files in os.walk(self.build_folder): - if "Makefile" in list_of_files: - tools.replace_in_file(os.path.join(root, "Makefile"), "-Dstrtod=fixstrtod", "", strict=False) - return autotools + + with chdir(self, self._get_configure_dir("win")): + self.run('nmake -nologo -f "{cfgdir}/makefile.vc" INSTALLDIR="{pkgdir}" OPTS={opts} {targets}'.format( + cfgdir=self._get_configure_dir("win"), + pkgdir=self.package_folder, + opts=",".join(opts), + targets=" ".join(targets), + )) def build(self): self._patch_sources() if is_msvc(self): self._build_nmake(["release"]) else: - autotools = self._configure_autotools() - autotools.make() + autotools = Autotools(self) + autotools.configure(self._get_configure_dir()) + + # https://core.tcl.tk/tcl/tktview/840660e5a1 + for root, _, list_of_files in os.walk(self.build_folder): + if "Makefile" in list_of_files: + replace_in_file(self, os.path.join(root, "Makefile"), "-Dstrtod=fixstrtod", "", strict=False) def package(self): - self.copy(pattern="license.terms", dst="licenses", src=self._source_subfolder) + copy(self, "license.terms", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) if is_msvc(self): self._build_nmake(["install-binaries", "install-libraries"]) else: - autotools = self._configure_autotools() - autotools.install() + autotools = Autotools(self) + autotools.make(target="install") autotools.make(target="install-private-headers") - files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - files.rmdir(self, os.path.join(self.package_folder, "man")) - files.rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "man")) + rmdir(self, os.path.join(self.package_folder, "share")) tclConfigShPath = os.path.join(self.package_folder, "lib", "tclConfig.sh") package_path = self.package_folder @@ -184,26 +184,28 @@ def package(self): drive, path = os.path.splitdrive(self.build_folder) build_folder = "".join([drive, path.lower().replace("\\", "/")]) - tools.replace_in_file(tclConfigShPath, - package_path, - "${TCL_ROOT}") - tools.replace_in_file(tclConfigShPath, - build_folder, - "${TCL_BUILD_ROOT}") + replace_in_file(self, tclConfigShPath, + package_path, + "${TCL_ROOT}") + replace_in_file(self, tclConfigShPath, + build_folder, + "${TCL_BUILD_ROOT}") + + replace_in_file(self, tclConfigShPath, + "\nTCL_BUILD_", + "\n#TCL_BUILD_") + replace_in_file(self, tclConfigShPath, + "\nTCL_SRC_DIR", + "\n#TCL_SRC_DIR") - tools.replace_in_file(tclConfigShPath, - "\nTCL_BUILD_", - "\n#TCL_BUILD_") - tools.replace_in_file(tclConfigShPath, - "\nTCL_SRC_DIR", - "\n#TCL_SRC_DIR") + #fix_apple_shared_install_name(self) def package_info(self): libs = [] systemlibs = [] libdirs = [] for root, _, _ in os.walk(os.path.join(self.package_folder, "lib"), topdown=False): - newlibs = tools.collect_libs(self, root) + newlibs = collect_libs(self, root) if newlibs: libs.extend(newlibs) libdirs.append(root) @@ -230,15 +232,18 @@ def package_info(self): tcl_library = os.path.join(self.package_folder, "lib", "{}{}".format(self.name, ".".join(self.version.split(".")[:2]))) self.output.info("Setting TCL_LIBRARY environment variable to {}".format(tcl_library)) + self.runenv_info.define_path('TCL_LIBRARY', tcl_library) self.env_info.TCL_LIBRARY = tcl_library tcl_root = self.package_folder self.output.info("Setting TCL_ROOT environment variable to {}".format(tcl_root)) + self.runenv_info.define_path('TCL_ROOT', tcl_root) self.env_info.TCL_ROOT = tcl_root tclsh_list = list(filter(lambda fn: fn.startswith("tclsh"), os.listdir(os.path.join(self.package_folder, "bin")))) tclsh = os.path.join(self.package_folder, "bin", tclsh_list[0]) self.output.info("Setting TCLSH environment variable to {}".format(tclsh)) + self.runenv_info.define_path('TCLSH', tclsh) self.env_info.TCLSH = tclsh bindir = os.path.join(self.package_folder, "bin") diff --git a/recipes/tcl/all/test_package/CMakeLists.txt b/recipes/tcl/all/test_package/CMakeLists.txt index 3a403dc404b41..d66a20fd8057c 100644 --- a/recipes/tcl/all/test_package/CMakeLists.txt +++ b/recipes/tcl/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(TCL REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE tcl::tcl) diff --git a/recipes/tcl/all/test_package/conanfile.py b/recipes/tcl/all/test_package/conanfile.py index 51f56ce267b06..851bcca29ec58 100644 --- a/recipes/tcl/all/test_package/conanfile.py +++ b/recipes/tcl/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,8 +21,9 @@ 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) - assert(os.path.exists(os.environ["TCLSH"])) - self.run("{} {}".format(os.environ["TCLSH"], os.path.join(self.source_folder, "hello.tcl")), run_environment=True) + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") + if self.settings.os == "Windows": + self.run(os.path.join(self.source_folder, "hello.bat"), env="conanrun") + else: + self.run(f"$TCLSH {os.path.join(self.source_folder, 'hello.tcl')}", env="conanrun") diff --git a/recipes/tcl/all/test_package/hello.bat b/recipes/tcl/all/test_package/hello.bat new file mode 100644 index 0000000000000..91b1898381da6 --- /dev/null +++ b/recipes/tcl/all/test_package/hello.bat @@ -0,0 +1 @@ +%TCLSH% %~dp0hello.tcl diff --git a/recipes/tcl/all/test_v1_package/CMakeLists.txt b/recipes/tcl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..33e5f24630032 --- /dev/null +++ b/recipes/tcl/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +conan_basic_setup() + +add_executable(${PROJECT_NAME} ../test_package/test_package.c) +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/tcl/all/test_v1_package/conanfile.py b/recipes/tcl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a3f559c43d6bb --- /dev/null +++ b/recipes/tcl/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + 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) + assert(os.path.exists(os.environ["TCLSH"])) + self.run("{} {}".format(os.environ["TCLSH"], os.path.join(self.source_folder, "..", "test_package", "hello.tcl")), run_environment=True) From 2aac16d045ea47e9d30c63e99fa44973f1915c17 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 01:32:34 +0200 Subject: [PATCH 0049/4087] (#17212) gdcm: use version range for openssl --- recipes/gdcm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index 44040c4d2f633..f32e56dd3a6fd 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_json: self.requires("json-c/0.16") if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 4fbb48c014adc99908a72f5aa100bf534e31393a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 02:03:07 +0200 Subject: [PATCH 0050/4087] (#17221) hdf5: use version range for cmake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for cmake * upper bound --------- Co-authored-by: Rubén Rincón Blanco --- recipes/hdf5/all/conanfile.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/recipes/hdf5/all/conanfile.py b/recipes/hdf5/all/conanfile.py index 16b0a8cc3ba90..e4e17863639bf 100644 --- a/recipes/hdf5/all/conanfile.py +++ b/recipes/hdf5/all/conanfile.py @@ -99,20 +99,9 @@ def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "1.14.0" and not self._cmake_new_enough("3.18"): - self.tool_requires("cmake/3.25.3") + if Version(self.version) >= "1.14.0": + self.tool_requires("cmake/[>=3.18 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 2f2421fdf644eddc59f76afd5b7a69526e61a294 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 26 Apr 2023 02:45:56 +0200 Subject: [PATCH 0051/4087] (#16381) dlpack: add 0.6 & 0.8 + conan v2 support * dlpack: conan v2 support * dlpack: add 0.6 & 0.8 --- recipes/dlpack/all/conandata.yml | 6 ++++ recipes/dlpack/all/conanfile.py | 32 +++++++++++++------ .../dlpack/all/test_package/CMakeLists.txt | 9 +++--- recipes/dlpack/all/test_package/conanfile.py | 22 +++++++++---- .../dlpack/all/test_package/test_package.cpp | 6 ++++ .../dlpack/all/test_v1_package/CMakeLists.txt | 8 +++++ .../dlpack/all/test_v1_package/conanfile.py | 19 +++++++++++ recipes/dlpack/config.yml | 4 +++ 8 files changed, 86 insertions(+), 20 deletions(-) create mode 100644 recipes/dlpack/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dlpack/all/test_v1_package/conanfile.py diff --git a/recipes/dlpack/all/conandata.yml b/recipes/dlpack/all/conandata.yml index ef8f66a4af407..1ee4d67252887 100644 --- a/recipes/dlpack/all/conandata.yml +++ b/recipes/dlpack/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.8": + url: "https://github.com/dmlc/dlpack/archive/v0.8.tar.gz" + sha256: "cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513" + "0.6": + url: "https://github.com/dmlc/dlpack/archive/v0.6.tar.gz" + sha256: "ce7715108623c011aa1e01afb32e218ddbdf66492494d7e718a78ac41010b77a" "0.4": url: "https://github.com/dmlc/dlpack/archive/v0.4.tar.gz" sha256: "d0a533189ecd45a033b72e276fccaa2122cfd76de125e0a5e126bdea0fec2d24" diff --git a/recipes/dlpack/all/conanfile.py b/recipes/dlpack/all/conanfile.py index fa27209ed37f1..16cb97d66e4ba 100644 --- a/recipes/dlpack/all/conanfile.py +++ b/recipes/dlpack/all/conanfile.py @@ -1,7 +1,10 @@ +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout import os -from conans import ConanFile, tools -required_conan_version = ">=1.33.0" + +required_conan_version = ">=1.52.0" class DlpackConan(ConanFile): @@ -10,18 +13,29 @@ class DlpackConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dmlc/dlpack" description = "RFC for common in-memory tensor structure and operator interface for deep learning system" - topics = ("conan", "dlpack", "tensor", "operator") + topics = ("deep-learning", "operator", "tensor", "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): - tools.get(**self.conan_data["sources"][self.version], strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses") - self.copy("*dlpack.h", keep_path=True) - - def package_id(self): - self.info.header_only() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/dlpack/all/test_package/CMakeLists.txt b/recipes/dlpack/all/test_package/CMakeLists.txt index 196188113685c..45718466e5323 100644 --- a/recipes/dlpack/all/test_package/CMakeLists.txt +++ b/recipes/dlpack/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(dlpack REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE dlpack::dlpack) diff --git a/recipes/dlpack/all/test_package/conanfile.py b/recipes/dlpack/all/test_package/conanfile.py index 1d0bdd3779793..48499fa0989d9 100644 --- a/recipes/dlpack/all/test_package/conanfile.py +++ b/recipes/dlpack/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -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 +# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/dlpack/all/test_package/test_package.cpp b/recipes/dlpack/all/test_package/test_package.cpp index a0a733faa8b21..6304024f2e652 100644 --- a/recipes/dlpack/all/test_package/test_package.cpp +++ b/recipes/dlpack/all/test_package/test_package.cpp @@ -4,9 +4,15 @@ int main() { +#if DLPACK_VERSION < 60 int major = (DLPACK_VERSION >> 6) & 7; int minor = (DLPACK_VERSION >> 3) & 7; int patch = DLPACK_VERSION & 7; +#else + int major = DLPACK_VERSION / 100; + int minor = (DLPACK_VERSION - major * 100) / 10; + int patch = DLPACK_VERSION - major * 100 - minor * 10; +#endif std::cout << "dlpack version: " << major << "." << minor << "." << patch << std::endl; return EXIT_SUCCESS; } diff --git a/recipes/dlpack/all/test_v1_package/CMakeLists.txt b/recipes/dlpack/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9d54a092e0a67 --- /dev/null +++ b/recipes/dlpack/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_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/dlpack/all/test_v1_package/conanfile.py b/recipes/dlpack/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/dlpack/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/dlpack/config.yml b/recipes/dlpack/config.yml index 4b83db0466f4e..a1b8905afe4b1 100644 --- a/recipes/dlpack/config.yml +++ b/recipes/dlpack/config.yml @@ -1,3 +1,7 @@ versions: + "0.8": + folder: "all" + "0.6": + folder: "all" "0.4": folder: "all" From 14005148a62c4463acce43853144e4ad4ae4cf8b Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 26 Apr 2023 03:07:26 +0200 Subject: [PATCH 0052/4087] (#16017) Add SoPlex linear programming solver * Add SoPlex linear programming solver * Use zlib transitively * Rename options to follow conventions * Use GMP and Boost by default * Use headers of requirements transitively * Use requirement libs of GMP transitively * Set cmake_target_name to soplex * Use Toolchain cache variables instead of patching the CMake file * Add library alias in CMakeLists of test package for conan v1 * Add comment to explain why we use transitive libs * Fix work around for v1 when namespaces are enforced * Drop unused replace_in_file * Set missing GMP_LIBRARIES variable --- recipes/soplex/all/conandata.yml | 4 + recipes/soplex/all/conanfile.py | 129 ++++++++++++++++++ .../soplex/all/test_package/CMakeLists.txt | 13 ++ recipes/soplex/all/test_package/conanfile.py | 26 ++++ recipes/soplex/all/test_package/main.cpp | 26 ++++ .../soplex/all/test_v1_package/CMakeLists.txt | 9 ++ .../soplex/all/test_v1_package/conanfile.py | 18 +++ recipes/soplex/config.yml | 3 + 8 files changed, 228 insertions(+) create mode 100644 recipes/soplex/all/conandata.yml create mode 100644 recipes/soplex/all/conanfile.py create mode 100644 recipes/soplex/all/test_package/CMakeLists.txt create mode 100644 recipes/soplex/all/test_package/conanfile.py create mode 100644 recipes/soplex/all/test_package/main.cpp create mode 100644 recipes/soplex/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/soplex/all/test_v1_package/conanfile.py create mode 100644 recipes/soplex/config.yml diff --git a/recipes/soplex/all/conandata.yml b/recipes/soplex/all/conandata.yml new file mode 100644 index 0000000000000..eaf5ac83b4427 --- /dev/null +++ b/recipes/soplex/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "6.0.3": + url: "https://github.com/scipopt/soplex/archive/refs/tags/release-603.tar.gz" + sha256: "2bdf9adc9ac6ad48f98056679b7b852e626ac4aaaf277e7d4ce17794ed1097be" diff --git a/recipes/soplex/all/conanfile.py b/recipes/soplex/all/conanfile.py new file mode 100644 index 0000000000000..d1ea6917fd3ef --- /dev/null +++ b/recipes/soplex/all/conanfile.py @@ -0,0 +1,129 @@ +from conan import ConanFile +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.errors import ConanInvalidConfiguration +from conan.tools.files import collect_libs, copy, get +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version +from os.path import join + +required_conan_version = ">=1.53.0" + + +class SoPlexConan(ConanFile): + name = "soplex" + description = "SoPlex linear programming solver" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://soplex.zib.de" + topics = ("simplex", "solver", "linear", "programming") + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_boost": [True, False], + "with_gmp": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_boost": True, + "with_gmp": True + } + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + "clang": "4", + "apple-clang": "7", + } + + def _determine_lib_name(self): + if self.options.shared: + return "soplexshared" + elif self.options.get_safe("fPIC"): + return "soplex-pic" + else: + return "soplex" + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def requirements(self): + self.requires("zlib/1.2.13", transitive_headers=True) + if self.options.with_gmp: + # transitive libs as anything using soplex requires __gmpz_init_set_si + # see https://github.com/conan-io/conan-center-index/pull/16017#issuecomment-1495688452 + self.requires("gmp/6.2.1", transitive_headers=True, transitive_libs=True) + if self.options.with_boost: + self.requires("boost/1.81.0", transitive_headers=True) # also update Boost_VERSION_MACRO below! + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["GMP"] = self.options.with_gmp + tc.variables["BOOST"] = self.options.with_boost + tc.variables["Boost_VERSION_MACRO"] = "108100" + if self.options.with_gmp: + tc.cache_variables["GMP_INCLUDE_DIRS"] = ";".join(self.dependencies["gmp"].cpp_info.includedirs) + tc.cache_variables["GMP_LIBRARIES"] = "gmp::gmp" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build(target=f"lib{self._determine_lib_name()}") + + def package(self): + copy(self, pattern="LICENSE", src=self.source_folder, dst=join(self.package_folder, "licenses")) + copy(self, pattern="soplex.h", src=join(self.source_folder, "src"), dst=join(self.package_folder, "include")) + copy(self, pattern="soplex.hpp", src=join(self.source_folder, "src"), dst=join(self.package_folder, "include")) + copy(self, pattern="soplex_interface.h", src=join(self.source_folder, "src"), dst=join(self.package_folder, "include")) + copy(self, pattern="*.h", src=join(self.source_folder, "src", "soplex"), dst=join(self.package_folder, "include", "soplex")) + copy(self, pattern="*.hpp", src=join(self.source_folder, "src", "soplex"), dst=join(self.package_folder, "include", "soplex")) + copy(self, pattern="*.h", src=join(self.build_folder, "soplex"), dst=join(self.package_folder, "include", "soplex")) + if self.options.shared: + copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + else: + copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = collect_libs(self) + # https://github.com/conan-io/conan-center-index/pull/16017#discussion_r1156484737 + self.cpp_info.set_property("cmake_target_name", "soplex") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/soplex/all/test_package/CMakeLists.txt b/recipes/soplex/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..e74edd1950d7a --- /dev/null +++ b/recipes/soplex/all/test_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 14) + +find_package(soplex REQUIRED CONFIG) +# work around v1 legacy generators always having namespaces +if(TARGET soplex::soplex) + add_library(soplex INTERFACE IMPORTED) + set_target_properties(soplex PROPERTIES INTERFACE_LINK_LIBRARIES soplex::soplex) +endif() + +add_executable(${PROJECT_NAME} main.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE soplex) diff --git a/recipes/soplex/all/test_package/conanfile.py b/recipes/soplex/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8a5bb47f50c4c --- /dev/null +++ b/recipes/soplex/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 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/soplex/all/test_package/main.cpp b/recipes/soplex/all/test_package/main.cpp new file mode 100644 index 0000000000000..65c9a2cdd5cbb --- /dev/null +++ b/recipes/soplex/all/test_package/main.cpp @@ -0,0 +1,26 @@ +#include +#include + +using namespace soplex; +using namespace std; + +int main() { + SoPlex mysoplex; + mysoplex.setIntParam(SoPlex::OBJSENSE, SoPlex::OBJSENSE_MAXIMIZE); + + DSVector dummycol(0); // obj: max x + 3y + mysoplex.addColReal(LPCol(1.0, dummycol, 1.0, 0.0)); + mysoplex.addColReal(LPCol(3.0, dummycol, 1.0, 0.0)); + + DSVector row1(2); + row1.add(0, 1.0); + row1.add(1, 1.0); + mysoplex.addRowReal(LPRow(0.0, row1, 2.0)); // x + y <= 2 + mysoplex.addRowReal(LPRow(1.0, row1, infinity)); // 1 <= x + y + + mysoplex.optimize(); + + auto objective = mysoplex.objValueReal(); + bool objectiveValueIsFour = objective > 3.9 && objective < 4.1; + return objectiveValueIsFour ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/recipes/soplex/all/test_v1_package/CMakeLists.txt b/recipes/soplex/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..8bf82de500d9f --- /dev/null +++ b/recipes/soplex/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 14) + +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/soplex/all/test_v1_package/conanfile.py b/recipes/soplex/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/soplex/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/soplex/config.yml b/recipes/soplex/config.yml new file mode 100644 index 0000000000000..bce376a5fec90 --- /dev/null +++ b/recipes/soplex/config.yml @@ -0,0 +1,3 @@ +versions: + "6.0.3": + folder: all From 9a3fa379d0ab26c4a7449ee7280c8c45b99cfad2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 03:42:18 +0200 Subject: [PATCH 0053/4087] (#17214) mongo-c-driver: use version range for openssl --- 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 de42d6dfa08de..9c272cde63df8 100644 --- a/recipes/mongo-c-driver/all/conanfile.py +++ b/recipes/mongo-c-driver/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): if self.options.with_ssl == "openssl": - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") elif self.options.with_ssl == "libressl": self.requires("libressl/3.5.3") if self.options.with_sasl == "cyrus": From 086768a58e8ddf7a0be9857e0898e3243a45d02a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 26 Apr 2023 11:41:38 +0900 Subject: [PATCH 0054/4087] (#17238) glaze: add version 1.2.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 dfc444208aeee..766b84fe8ef38 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.2": + url: "https://github.com/stephenberry/glaze/archive/v1.2.2.tar.gz" + sha256: "9bacbe5b07819de9799c8b9aa4861224768d2f87b0cb2f16bd1a4639c6e54755" "1.2.0": url: "https://github.com/stephenberry/glaze/archive/v1.2.0.tar.gz" sha256: "f324a88885da5ed832ddb3ab4e3b0c8994815167b2608615fabfe0373c48a0a4" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 430ecd703fbac..19e6066a04e74 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.2": + folder: all "1.2.0": folder: all "1.1.2": From c1e98bdf20d2154f5e5cbcbc78b03c289851b2a6 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Tue, 25 Apr 2023 21:24:22 -0700 Subject: [PATCH 0055/4087] (#17240) rapidcsv: Add version 8.75. --- recipes/rapidcsv/all/conandata.yml | 11 +++++++---- recipes/rapidcsv/config.yml | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/rapidcsv/all/conandata.yml b/recipes/rapidcsv/all/conandata.yml index 4a94a5cab704f..502ec08fa730f 100644 --- a/recipes/rapidcsv/all/conandata.yml +++ b/recipes/rapidcsv/all/conandata.yml @@ -1,13 +1,16 @@ sources: + "8.75": + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.75.tar.gz" + sha256: "004454890d371b4db370dfd44d64077f8f9b2b92e59d1d6471e1923f891485be" "8.69": - url: "https://github.com/d99kris/rapidcsv/archive/v8.69.tar.gz" + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.69.tar.gz" sha256: "b63e58b1d18277f0331e211bbe6740587069fcd3e5b5a5fb63be7d2f17250d54" "8.64": - url: "https://github.com/d99kris/rapidcsv/archive/v8.64.tar.gz" + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.64.tar.gz" sha256: "e2ab5231b6e65f1e168dc279bbba2e34afd43c7bc6e2522726b107bcc4e8ebac" "8.62": url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.62.tar.gz" - sha256: a7efda6324420f2b69d3448672a9553dc91520632409661f9f83ac0425faa31d + sha256: "a7efda6324420f2b69d3448672a9553dc91520632409661f9f83ac0425faa31d" "8.53": url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.53.tar.gz" - sha256: 27cc1d6b924e91b99640aae5c6c286bb60494d0bee1ec10e1bfd39698d30007b + sha256: "27cc1d6b924e91b99640aae5c6c286bb60494d0bee1ec10e1bfd39698d30007b" diff --git a/recipes/rapidcsv/config.yml b/recipes/rapidcsv/config.yml index fa4a806018292..df34fa7350e3c 100644 --- a/recipes/rapidcsv/config.yml +++ b/recipes/rapidcsv/config.yml @@ -1,4 +1,6 @@ versions: + "8.75": + folder: "all" "8.69": folder: "all" "8.64": From ed8b52eecb8c34232f426f43336249658e4111ea Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Tue, 25 Apr 2023 21:41:56 -0700 Subject: [PATCH 0056/4087] (#17241) roaring: Add version 1.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 a4b345baccd93..14b0607a44ca3 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index e1569e34fefb4..d61f68fe0a402 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.2": + folder: all "1.1.0": folder: all "1.0.0": From 784bbb475a109a369ffdcf182a7780dc8e02133d Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Tue, 25 Apr 2023 22:01:48 -0700 Subject: [PATCH 0057/4087] (#17239) nanobench: Add version 4.3.11. --- recipes/nanobench/all/conandata.yml | 3 +++ recipes/nanobench/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nanobench/all/conandata.yml b/recipes/nanobench/all/conandata.yml index 35db0353ebb57..3806111c8079d 100644 --- a/recipes/nanobench/all/conandata.yml +++ b/recipes/nanobench/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.11": + url: "https://github.com/martinus/nanobench/archive/v4.3.11.tar.gz" + sha256: "53a5a913fa695c23546661bf2cd22b299e10a3e994d9ed97daf89b5cada0da70" "4.3.9": url: "https://github.com/martinus/nanobench/archive/v4.3.9.tar.gz" sha256: "4a7fd8fdd5819e4d1c34ae558df010a0ccf36db0508c41c51cd0181bc04c6356" diff --git a/recipes/nanobench/config.yml b/recipes/nanobench/config.yml index e4f35b37cfb39..226032b8ed3b2 100644 --- a/recipes/nanobench/config.yml +++ b/recipes/nanobench/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.11": + folder: "all" "4.3.9": folder: "all" "4.3.7": From 2347922b51d1be52ddf40bf596c3b931d6435cfd Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Wed, 26 Apr 2023 07:22:21 +0200 Subject: [PATCH 0058/4087] (#17223) libarchive: bump deps * Bump deps * Use version range for openssl --- 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 3ac86ca42e82b..7b3f2cc70c9d0 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -85,7 +85,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.10.4") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_iconv: @@ -95,7 +95,7 @@ def requirements(self): if self.options.with_nettle: self.requires("nettle/3.8.1") if self.options.with_openssl: - self.requires("openssl/3.0.8") + self.requires("openssl/[>=1.1 <4]") if self.options.with_libb2: self.requires("libb2/20190723") if self.options.with_lz4: @@ -103,9 +103,9 @@ def requirements(self): if self.options.with_lzo: self.requires("lzo/2.10") if self.options.with_lzma: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.with_zstd: - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") if self.options.get_safe("with_mbedtls"): self.requires("mbedtls/3.2.1") From 98b1462693cac0b9f4658d9389bc619a52bb3f67 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 08:04:34 +0200 Subject: [PATCH 0059/4087] (#17209) libcurl: use version range for openssl --- recipes/libcurl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 5f6976a5ffc50..cca1e3740917d 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -181,7 +181,7 @@ def layout(self): def requirements(self): if self.options.with_ssl == "openssl": - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.5.1") if self.options.with_nghttp2: From e55629230e78333068ac3d9dabc41cbfc6075f5d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 26 Apr 2023 16:02:12 +0900 Subject: [PATCH 0060/4087] (#17206) statslib: add version 3.4.0, support conan v2 --- recipes/statslib/all/conandata.yml | 3 ++ recipes/statslib/all/conanfile.py | 44 ++++++++++++++----- .../statslib/all/test_package/CMakeLists.txt | 11 ++--- .../statslib/all/test_package/conanfile.py | 22 +++++++--- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../statslib/all/test_v1_package/conanfile.py | 18 ++++++++ recipes/statslib/config.yml | 2 + 7 files changed, 82 insertions(+), 26 deletions(-) create mode 100644 recipes/statslib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/statslib/all/test_v1_package/conanfile.py diff --git a/recipes/statslib/all/conandata.yml b/recipes/statslib/all/conandata.yml index eeb058ec28754..c09ac70fd003b 100644 --- a/recipes/statslib/all/conandata.yml +++ b/recipes/statslib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + url: "https://github.com/kthohr/stats/archive/v3.4.0.tar.gz" + sha256: "aee9cadf0ab8c6fc26963d502eb62cd551f0e0e83388b72d61819308cc8bb17f" "3.2.0": url: "https://github.com/kthohr/stats/archive/v3.2.0.tar.gz" sha256: "1360ba4fbeed96db04e28541b8044daffecdbabc5565944d5cb67136477003ed" diff --git a/recipes/statslib/all/conanfile.py b/recipes/statslib/all/conanfile.py index 24315800e6c0d..15f4da77d6f72 100644 --- a/recipes/statslib/all/conanfile.py +++ b/recipes/statslib/all/conanfile.py @@ -1,31 +1,51 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class StatsLibConan(ConanFile): name = "statslib" description = "A C++ header-only library of statistical distribution functions." - topics = ("statistics", "constexpr", "probability", "stats") + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.kthohr.com/statslib.html" - license = "Apache-2.0" + topics = ("statistics", "constexpr", "probability", "stats", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("gcem/1.14.1") + self.requires("gcem/1.16.0", transitive_headers=True) def package_id(self): - self.info.header_only() + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) 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 package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/statslib/all/test_package/CMakeLists.txt b/recipes/statslib/all/test_package/CMakeLists.txt index 754ae16121d12..94c3b5a1feecb 100644 --- a/recipes/statslib/all/test_package/CMakeLists.txt +++ b/recipes/statslib/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(statslib CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} statslib::statslib) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE statslib::statslib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/statslib/all/test_package/conanfile.py b/recipes/statslib/all/test_package/conanfile.py index 49a3a66ea5bad..e730ad6dc0dfc 100644 --- a/recipes/statslib/all/test_package/conanfile.py +++ b/recipes/statslib/all/test_package/conanfile.py @@ -1,10 +1,18 @@ -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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +20,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/statslib/all/test_v1_package/CMakeLists.txt b/recipes/statslib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/statslib/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/statslib/all/test_v1_package/conanfile.py b/recipes/statslib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/statslib/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/statslib/config.yml b/recipes/statslib/config.yml index 0b639b7fca8af..fc55f9dac4247 100644 --- a/recipes/statslib/config.yml +++ b/recipes/statslib/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: "all" "3.2.0": folder: "all" "3.1.2": From d8e920e3bf3890b76fbfddbe1d6130e5c1216a4e Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Wed, 26 Apr 2023 09:22:00 +0200 Subject: [PATCH 0061/4087] (#17194) xoshiro-cpp: conan v2 support * Modernize recipe * Update test_package * Add test_package for Conan v1 * Keep a single copy of test_package.cpp * Bugfix * Bugfix * Bugfix * Add package_type --- recipes/xoshiro-cpp/all/conanfile.py | 62 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +-- .../xoshiro-cpp/all/test_package/conanfile.py | 21 +++++-- .../all/test_v1_package/CMakeLists.txt | 13 ++++ .../all/test_v1_package/conanfile.py | 18 ++++++ 5 files changed, 82 insertions(+), 39 deletions(-) create mode 100644 recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/xoshiro-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/xoshiro-cpp/all/conanfile.py b/recipes/xoshiro-cpp/all/conanfile.py index 6530c076be41f..c922c9e422fe2 100644 --- a/recipes/xoshiro-cpp/all/conanfile.py +++ b/recipes/xoshiro-cpp/all/conanfile.py @@ -1,7 +1,12 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class XoshiroCppConan(ConanFile): @@ -11,9 +16,8 @@ class XoshiroCppConan(ConanFile): homepage = "https://github.com/Reputeless/Xoshiro-cpp" url = "https://github.com/conan-io/conan-center-index" topics = ("prng", "xoshiro", "header-only") + package_type = "header-library" settings = "arch", "build_type", "compiler", "os" - generators = "cmake" - no_copy_source = True @property def _minimum_compilers_version(self): @@ -24,45 +28,47 @@ def _minimum_compilers_version(self): "Visual Studio": "16" } - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _minimum_cpp_standard(self): return 17 + def package_id(self): + self.info.clear() + def validate(self): if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._minimum_cpp_standard) - compiler = self.settings.compiler + compiler = str(self.settings.compiler) + version = Version(self.settings.compiler.version) try: - min_version = self._minimum_compilers_version[str(compiler)] - if tools.Version(compiler.version) < min_version: + min_version = self._minimum_compilers_version[compiler] + if version < min_version: msg = ( - "{} requires C++{} features which are not supported by compiler {} {}." - ).format(self.name, self._minimum_cpp_standard, compiler, compiler.version) + f"{self.name} requires C++{self._minimum_cpp_standard} features " + f"which are not supported by compiler {compiler} {version}." + ) raise ConanInvalidConfiguration(msg) except KeyError: msg = ( - "{} recipe lacks information about the {} compiler, " - "support for the required C++{} features is assumed" - ).format(self.name, compiler, self._minimum_cpp_standard) + f"{self.ref} recipe lacks information about the {compiler} compiler, " + f"support for the required C++{self._minimum_cpp_standard} features is assumed" + ) self.output.warn(msg) 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], + destination=self.source_folder, strip_root=True) def package(self): - self.copy("*.hpp", dst="include/xoshiro-cpp", - src=self._source_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "*.hpp", src=self.source_folder, + dst=os.path.join(self.package_folder, "include/xoshiro-cpp/")) + copy(self, "LICENSE", src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "xoshiro-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "xoshiro-cpp" + self.cpp_info.set_property("cmake_file_name", "xoshiro-cpp") + self.cpp_info.set_property( + "cmake_target_name", "xoshiro-cpp::xoshiro-cpp") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt b/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt index 10b7962b40da7..7b5f12d50e4ab 100644 --- a/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt +++ b/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(xoshiro-cpp REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +add_executable(test_package test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE xoshiro-cpp::xoshiro-cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD}) diff --git a/recipes/xoshiro-cpp/all/test_package/conanfile.py b/recipes/xoshiro-cpp/all/test_package/conanfile.py index 17a59b1022fd6..7e910b5e71329 100644 --- a/recipes/xoshiro-cpp/all/test_package/conanfile.py +++ b/recipes/xoshiro-cpp/all/test_package/conanfile.py @@ -1,18 +1,27 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout -class TestPackageConan(ConanFile): +class XoshiroCppTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("{0}".format(bin_path), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt b/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..6044711e33fae --- /dev/null +++ b/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package) + +set(CMAKE_CXX_STANDARD 17) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(xoshiro-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE xoshiro-cpp::xoshiro-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD}) diff --git a/recipes/xoshiro-cpp/all/test_v1_package/conanfile.py b/recipes/xoshiro-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2fc6ad2a6a2ba --- /dev/null +++ b/recipes/xoshiro-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import CMake, ConanFile, 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("{0}".format(bin_path), run_environment=True) From 324874d02df60f6e9efed3f5e2ee811cebe04914 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 09:42:23 +0200 Subject: [PATCH 0062/4087] (#17179) libsrtp: conan v2 support * conan v2 support * relocatable shared lib * version range for openssl Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libsrtp/all/CMakeLists.txt | 7 -- recipes/libsrtp/all/conandata.yml | 2 +- recipes/libsrtp/all/conanfile.py | 69 +++++++++---------- .../libsrtp/all/test_package/CMakeLists.txt | 6 +- recipes/libsrtp/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../libsrtp/all/test_v1_package/conanfile.py | 17 +++++ recipes/libsrtp/config.yml | 2 +- 8 files changed, 77 insertions(+), 55 deletions(-) delete mode 100644 recipes/libsrtp/all/CMakeLists.txt create mode 100644 recipes/libsrtp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libsrtp/all/test_v1_package/conanfile.py diff --git a/recipes/libsrtp/all/CMakeLists.txt b/recipes/libsrtp/all/CMakeLists.txt deleted file mode 100644 index a69305eb3971f..0000000000000 --- a/recipes/libsrtp/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/libsrtp/all/conandata.yml b/recipes/libsrtp/all/conandata.yml index c81f6d3838710..b0630ee5a7c2f 100644 --- a/recipes/libsrtp/all/conandata.yml +++ b/recipes/libsrtp/all/conandata.yml @@ -5,6 +5,6 @@ sources: "2.4.0": url: "https://github.com/cisco/libsrtp/archive/v2.4.0.tar.gz" sha256: "713c5c1dc740707422307f39834c0b0fbb76769168d87e92c438a3cca8233d3d" - 2.3.0: + "2.3.0": url: "https://github.com/cisco/libsrtp/archive/v2.3.0.tar.gz" sha256: "94093a5d04c5f4743e8d81182b76938374df6d393b45322f24960d250b0110e8" diff --git a/recipes/libsrtp/all/conanfile.py b/recipes/libsrtp/all/conanfile.py index d1587d82b27e6..3bf9617ba21c6 100644 --- a/recipes/libsrtp/all/conanfile.py +++ b/recipes/libsrtp/all/conanfile.py @@ -1,21 +1,24 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, get, replace_in_file +from conan.tools.scm import Version import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" -class ConanRecipe(ConanFile): +class LibsrtpRecipe(ConanFile): name = "libsrtp" description = ( "This package provides an implementation of the Secure Real-time Transport" "Protocol (SRTP), the Universal Security Transform (UST), and a supporting" "cryptographic kernel." ) - topics = ("conan", "libsrtp", "srtp") + topics = ("srtp",) homepage = "https://github.com/cisco/libsrtp" url = "https://github.com/conan-io/conan-center-index" license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,44 +31,40 @@ class ConanRecipe(ConanFile): "with_openssl": False, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1q") + self.requires("openssl/[>=1.1 <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 _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["ENABLE_OPENSSL"] = self.options.with_openssl - self._cmake.definitions["TEST_APPS"] = False - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_OPENSSL"] = self.options.with_openssl + tc.variables["TEST_APPS"] = False + if Version(self.version) < "2.4.0": + # Relocatable shared libs on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - tools.replace_in_file( - os.path.join(self._source_subfolder, "CMakeLists.txt"), + replace_in_file( + self, os.path.join(self.source_folder, "CMakeLists.txt"), "install(TARGETS srtp2 DESTINATION lib)", ( "include(GNUInstallDirs)\n" @@ -75,17 +74,17 @@ def build(self): "ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})" ), ) - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() def package_info(self): - libsrtp_major = tools.Version(self.version).major - self.cpp_info.names["pkg_config"] = "libsrtp{}".format(libsrtp_major if int(libsrtp_major) > 1 else "") - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.set_property("pkg_config_name", f"libsrtp{Version(self.version).major}") + self.cpp_info.libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] diff --git a/recipes/libsrtp/all/test_package/CMakeLists.txt b/recipes/libsrtp/all/test_package/CMakeLists.txt index 7e6857eea56cb..88bdca8976ea9 100644 --- a/recipes/libsrtp/all/test_package/CMakeLists.txt +++ b/recipes/libsrtp/all/test_package/CMakeLists.txt @@ -1,11 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) +project(test_package LANGUAGES C) find_package(libsrtp REQUIRED CONFIG) add_executable(test_package test_package.c) - target_link_libraries(test_package PRIVATE libsrtp::libsrtp) diff --git a/recipes/libsrtp/all/test_package/conanfile.py b/recipes/libsrtp/all/test_package/conanfile.py index 84ee68733e516..98ab55852ad56 100644 --- a/recipes/libsrtp/all/test_package/conanfile.py +++ b/recipes/libsrtp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "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) @@ -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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libsrtp/all/test_v1_package/CMakeLists.txt b/recipes/libsrtp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libsrtp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsrtp/all/test_v1_package/conanfile.py b/recipes/libsrtp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libsrtp/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/libsrtp/config.yml b/recipes/libsrtp/config.yml index 75f515b1ca5ea..d17b791c9f454 100644 --- a/recipes/libsrtp/config.yml +++ b/recipes/libsrtp/config.yml @@ -3,5 +3,5 @@ versions: folder: all "2.4.0": folder: all - 2.3.0: + "2.3.0": folder: all From a11daf0868fc0c99f3af63474ad5ab844e6b3450 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Wed, 26 Apr 2023 10:05:48 +0200 Subject: [PATCH 0063/4087] (#16889) [qt/6.5.0] Add version * [qt/6.5.0] Add version * Use apple-clang 12 for Qt 6.5.0 * Improve conandata.yaml * disable gcc9 * Remove dangerous default values [] as arguments * Remove duplicate patch description * Improve string formatting * Reorder conandata.yml for easier reviewing * Apply suggestions from code review Co-authored-by: ericLemanissier * Update recipes/qt/6.x.x/conanfile.py Co-authored-by: ericLemanissier * More string formatting improvements * Fix other lint warnings * Fix string formatting --------- Co-authored-by: ericLemanissier --- recipes/qt/6.x.x/conandata.yml | 39 +++ recipes/qt/6.x.x/conanfile.py | 198 ++++++------ recipes/qt/6.x.x/qtmodules6.5.0.conf | 331 +++++++++++++++++++++ recipes/qt/6.x.x/test_package/conanfile.py | 17 +- recipes/qt/config.yml | 2 + 5 files changed, 484 insertions(+), 103 deletions(-) create mode 100644 recipes/qt/6.x.x/qtmodules6.5.0.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index fa3f6c751ce19..b3b89583f4ce5 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,22 @@ sources: + "6.5.0": + url: + - "https://download.qt.io/official_releases/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://download.qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://ftp1.nluug.nl/languages/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://ftp2.nluug.nl/languages/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://master.qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" + sha256: "dba376e110e53895c7c827eea389dc12aa9c45862cd197d2f0d37ee472baf0b0" "6.4.2": url: - "https://download.qt.io/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" @@ -32,11 +50,17 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.2/6.2.4/single/qt-everywhere-src-6.2.4.tar.xz" sha256: "cfe41905b6bde3712c65b102ea3d46fc80a44c9d1487669f14e4a6ee82ebb8fd" patches: + "6.5.0": + - base_path: "qtwebengine" + patch_description: "Workaround for too long .rps file name" + patch_file: "patches/c72097e.diff" "6.4.2": - base_path: "qtbase/cmake" + patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" + patch_description: "Workaround for too long .rps file name" - patch_file: "patches/d13958d.diff" base_path: "qtbase" patch_description: "Fix PCRE2 detection" @@ -44,9 +68,11 @@ patches: patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/445885" "6.4.1": - base_path: "qtbase/cmake" + patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" + patch_description: "Workaround for too long .rps file name" - patch_file: "patches/d13958d.diff" base_path: "qtbase" patch_description: "Fix PCRE2 detection" @@ -59,25 +85,38 @@ patches: patch_source: "https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/444132" "6.3.2": - base_path: "qtbase/cmake" + patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" + patch_description: "Workaround for too long .rps file name" - 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" "6.2.4": - base_path: "qtdeclarative" + patch_description: "Directly include Unicode.h in YarrCanonicalize.h" patch_file: "patches/32451d5.diff" - base_path: "qtbase/cmake" + patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" + patch_description: "Workaround for too long .rps file name" - patch_file: "patches/138a720.diff" base_path: "qtwebengine/src/3rdparty" + patch_description: "Fix build with msvc2019 16.8.0" - patch_file: "patches/CVE-2022-1096-qtwebengine-6.2.diff" base_path: "qtwebengine" + patch_description: "Fix Chromium callback" - patch_file: "patches/CVE-2022-25255-qprocess6-2.diff" base_path: "qtbase" + patch_description: "Fix executable path resolution" - patch_file: "patches/CVE-2022-25643-6.2.diff" base_path: "qtbase" + patch_description: "Fix DLL path" - patch_file: "patches/d13958d_.diff" base_path: "qtbase" + patch_description: "Fix PCRE2 detection" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index c209d55aaaedf..3888f704f5a82 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -24,22 +24,22 @@ class qt(Generator): @staticmethod def content_template(path, folder, os_): - return textwrap.dedent("""\ + bin_folder = "bin" if os_ == "Windows" else "libexec" + return textwrap.dedent(f"""\ [Paths] - Prefix = {0} - ArchData = {1}/archdatadir - HostData = {1}/archdatadir - Data = {1}/datadir - Sysconf = {1}/sysconfdir - LibraryExecutables = {1}/archdatadir/{2} + Prefix = {path} + ArchData = {folder}/archdatadir + HostData = {folder}/archdatadir + Data = {folder}/datadir + Sysconf = {folder}/sysconfdir + LibraryExecutables = {folder}/archdatadir/{bin_folder} HostLibraryExecutables = bin - Plugins = {1}/archdatadir/plugins - Imports = {1}/archdatadir/imports - Qml2Imports = {1}/archdatadir/qml - Translations = {1}/datadir/translations - Documentation = {1}/datadir/doc - Examples = {1}/datadir/examples""").format(path, folder, - "bin" if os_ == "Windows" else "libexec") + Plugins = {folder}/archdatadir/plugins + Imports = {folder}/archdatadir/imports + Qml2Imports = {folder}/archdatadir/qml + Translations = {folder}/datadir/translations + Documentation = {folder}/datadir/doc + Examples = {folder}/datadir/examples""") @property def filename(self): @@ -61,7 +61,7 @@ class QtConan(ConanFile): "qtmultimedia", "qtlocation", "qtsensors", "qtconnectivity", "qtserialbus", "qtserialport", "qtwebsockets", "qtwebchannel", "qtwebengine", "qtwebview", "qtremoteobjects", "qtpositioning", "qtlanguageserver", - "qtspeech", "qthttpserver", "qtquick3dphysics"] + "qtspeech", "qthttpserver", "qtquick3dphysics", "qtgrpc", "qtquickeffectmaker"] name = "qt" description = "Qt is a cross-platform framework for graphical user interfaces." @@ -163,7 +163,7 @@ def _get_module_tree(self): if self._submodules_tree: return self._submodules_tree config = configparser.ConfigParser() - config.read(os.path.join(self.recipe_folder, "qtmodules%s.conf" % self.version)) + config.read(os.path.join(self.recipe_folder, f"qtmodules{self.version}.conf")) self._submodules_tree = {} assert config.sections(), f"no qtmodules.conf file for version {self.version}" for s in config.sections(): @@ -179,7 +179,7 @@ def _get_module_tree(self): self._submodules_tree[modulename]["depends"] = [str(i) for i in config.get(section, "depends").split()] for m in self._submodules_tree: - assert m in ["qtbase", "qtqa", "qtrepotools"] or m in self._submodules, "module %s not in self._submodules" % m + assert m in ["qtbase", "qtqa", "qtrepotools"] or m in self._submodules, f"module {m} not in self._submodules" return self._submodules_tree @@ -214,7 +214,7 @@ def _minimum_compilers_version(self): "Visual Studio": "16", "gcc": "8", "clang": "9", - "apple-clang": "11" + "apple-clang": "12" if Version(self.version) >= "6.5.0" else "11" } def configure(self): @@ -268,6 +268,9 @@ def validate(self): elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") + if Version(self.version) >= "6.5.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) == "9": + raise ConanInvalidConfiguration("qt 6.5.0 cannot be built with gcc 9, cf QTBUG-112920") + if Version(self.version) >= "6.4.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "12": raise ConanInvalidConfiguration("apple-clang >= 12 required by qt >= 6.4.0") @@ -305,7 +308,7 @@ def validate(self): # In any case, check its actual version for compatibility from six import StringIO # Python 2 and 3 compatible mybuf = StringIO() - cmd_v = "\"{}\" --version".format(python_exe) + cmd_v = f"\"{python_exe}\" --version" self.run(cmd_v, output=mybuf) verstr = mybuf.getvalue().strip().split("Python ")[1] if verstr.endswith("+"): @@ -316,13 +319,13 @@ def validate(self): v_max = "3.0.0" if v_min <= version < v_max: msg = ("Found valid Python 2 required for QtWebengine:" - " version={}, path={}".format(mybuf.getvalue(), python_exe)) + f" version={mybuf.getvalue()}, path={python_exe}") self.output.success(msg) else: - msg = ("Found Python 2 in path, but with invalid version {}" - " (QtWebEngine requires >= {} & < " - "{})\nIf you have both Python 2 and 3 installed, copy the python 2 executable to" - "python2(.exe)".format(verstr, v_min, v_max)) + msg = (f"Found Python 2 in path, but with invalid version {verstr}" + f" (QtWebEngine requires >= {v_min} & < " + f"{v_max})\nIf you have both Python 2 and 3 installed, copy the python 2 executable to" + f"python2(.exe)") raise ConanInvalidConfiguration(msg) if self.options.widgets and not self.options.gui: @@ -503,7 +506,7 @@ def generate(self): for module in self._get_module_tree: if module != 'qtbase': - tc.variables["BUILD_%s" % module] = ("ON" if self.options.get_safe(module) else "OFF") + tc.variables[f"BUILD_{module}"] = ("ON" if self.options.get_safe(module) else "OFF") tc.variables["FEATURE_system_zlib"] = "ON" @@ -516,8 +519,14 @@ def generate(self): tc.variables["HAVE_openssl"] = "ON" if self.options["openssl"].shared: tc.variables["INPUT_openssl"] = "runtime" + tc.variables["QT_FEATURE_openssl_runtime"] = "ON" else: tc.variables["INPUT_openssl"] = "linked" + tc.variables["QT_FEATURE_openssl_linked"] = "ON" + + # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012 + if is_msvc(self): + tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) if self.options.with_dbus: tc.variables["INPUT_dbus"] = "linked" @@ -538,7 +547,7 @@ def generate(self): ("with_vulkan", "vulkan"), ("with_brotli", "brotli"), ("with_gssapi", "gssapi")]: - tc.variables["FEATURE_%s" % conf_arg] = ("ON" if self.options.get_safe(opt, False) else "OFF") + tc.variables[f"FEATURE_{conf_arg}"] = ("ON" if self.options.get_safe(opt, False) else "OFF") for opt, conf_arg in [ @@ -551,12 +560,12 @@ def generate(self): ("with_pcre2", "pcre2"),]: if self.options.get_safe(opt, False): if self.options.multiconfiguration: - tc.variables["FEATURE_%s" % conf_arg] = "ON" + tc.variables[f"FEATURE_{conf_arg}"] = "ON" else: - tc.variables["FEATURE_system_%s" % conf_arg] = "ON" + tc.variables[f"FEATURE_system_{conf_arg}"] = "ON" else: - tc.variables["FEATURE_%s" % conf_arg] = "OFF" - tc.variables["FEATURE_system_%s" % conf_arg] = "OFF" + tc.variables[f"FEATURE_{conf_arg}"] = "OFF" + tc.variables[f"FEATURE_system_{conf_arg}"] = "OFF" for opt, conf_arg in [ ("with_doubleconversion", "doubleconversion"), @@ -568,14 +577,14 @@ def generate(self): ("with_pcre2", "pcre"),]: if self.options.get_safe(opt, False): if self.options.multiconfiguration: - tc.variables["INPUT_%s" % conf_arg] = "qt" + tc.variables[f"INPUT_{conf_arg}"] = "qt" else: - tc.variables["INPUT_%s" % conf_arg] = "system" + tc.variables[f"INPUT_{conf_arg}"] = "system" else: - tc.variables["INPUT_%s" % conf_arg] = "no" + tc.variables[f"INPUT_{conf_arg}"] = "no" for feature in str(self.options.disabled_features).split(): - tc.variables["FEATURE_%s" % feature] = "OFF" + tc.variables[f"FEATURE_{feature}"] = "OFF" if self.settings.os == "Macos": tc.variables["FEATURE_framework"] = "OFF" @@ -596,11 +605,9 @@ def generate(self): if xplatform_val: tc.variables["QT_QMAKE_TARGET_MKSPEC"] = xplatform_val else: - self.output.warn("host not supported: %s %s %s %s" % - (self.settings.os, self.settings.compiler, - self.settings.compiler.version, self.settings.arch)) + self.output.warn(f"host not supported: {self.settings.os} {self.settings.compiler} {self.settings.compiler.version} {self.settings.arch}") if self.options.cross_compile: - tc.variables["QT_QMAKE_DEVICE_OPTIONS"] = "CROSS_COMPILE=%s" % self.options.cross_compile + tc.variables["QT_QMAKE_DEVICE_OPTIONS"] = f"CROSS_COMPILE={self.options.cross_compile}" tc.variables["FEATURE_pkg_config"] = "ON" if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and not self.options.shared: @@ -740,7 +747,7 @@ def _xplatform(self): if self.settings.compiler == "sun-cc": if self.settings.arch == "sparc": return "solaris-cc-stlport" if self.settings.compiler.libcxx == "libstlport" else "solaris-cc" - elif self.settings.arch == "sparcv9": + if self.settings.arch == "sparcv9": return "solaris-cc64-stlport" if self.settings.compiler.libcxx == "libstlport" else "solaris-cc64" elif self.settings.compiler == "gcc": return {"sparc": "solaris-g++", @@ -764,7 +771,7 @@ def _build_context(self): with tools.vcvars(self) if is_msvc(self) else tools.no_op(): # next lines force cmake package to be in PATH before the one provided by visual studio (vcvars) build_env = tools.RunEnvironment(self).vars if is_msvc(self) else {} - build_env["MAKEFLAGS"] = "j%d" % build_jobs(self) + build_env["MAKEFLAGS"] = f"j{build_jobs(self)}" build_env["PKG_CONFIG_PATH"] = [self.build_folder] if self.settings.os == "Windows": if "PATH" not in build_env: @@ -786,7 +793,8 @@ def build(self): cmake = CMake(self) cmake.configure() if self.settings.os == "Macos": - save(self, "bash_env", 'export DYLD_LIBRARY_PATH="%s"' % ":".join(RunEnvironment(self).vars["DYLD_LIBRARY_PATH"])) + dyld_library_path = ":".join(RunEnvironment(self).vars["DYLD_LIBRARY_PATH"]) + save(self, "bash_env", f"export DYLD_LIBRARY_PATH=\"{dyld_library_path}\"") with tools.environment_append({ "BASH_ENV": os.path.abspath("bash_env") }) if self.settings.os == "Macos" else tools.no_op(): @@ -803,7 +811,7 @@ def _cmake_entry_point_file(self): return os.path.join("lib", "cmake", "Qt6Core", "conan_qt_entry_point.cmake") def _cmake_qt6_private_file(self, module): - return os.path.join("lib", "cmake", "Qt6{0}".format(module), "conan_qt_qt6_{0}private.cmake".format(module.lower())) + return os.path.join("lib", "cmake", f"Qt6{module}", "conan_qt_qt6_{module.lower()}private.cmake") def package(self): with self._build_context(): @@ -823,7 +831,7 @@ def package(self): os.remove(os.path.join(self.package_folder, "bin", "qt-cmake-private-install.cmake")) for m in os.listdir(os.path.join(self.package_folder, "lib", "cmake")): - module = os.path.join(self.package_folder, "lib", "cmake", m, "%sMacros.cmake" % m) + module = os.path.join(self.package_folder, "lib", "cmake", m, f"{m}Macros.cmake") helper_modules = glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")) if not os.path.isfile(module) and not helper_modules: rmdir(self, os.path.join(self.package_folder, "lib", "cmake", m)) @@ -833,9 +841,9 @@ def package(self): extension = ".exe" filecontents = "set(QT_CMAKE_EXPORT_NAMESPACE Qt6)\n" ver = Version(self.version) - filecontents += "set(QT_VERSION_MAJOR %s)\n" % ver.major - filecontents += "set(QT_VERSION_MINOR %s)\n" % ver.minor - filecontents += "set(QT_VERSION_PATCH %s)\n" % ver.patch + 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" targets = ["moc", "rcc", "tracegen", "cmake_automoc_parser", "qlalr", "qmake"] if self.options.with_dbus: targets.extend(["qdbuscpp2xml", "qdbusxml2cpp"]) @@ -859,45 +867,45 @@ def package(self): targets.append("qscxmlc") for target in targets: exe_path = None - for path_ in ["bin/{0}{1}".format(target, extension), - "lib/{0}{1}".format(target, extension)]: + for path_ in [f"bin/{target}{extension}", + f"lib/{target}{extension}"]: if os.path.isfile(os.path.join(self.package_folder, path_)): exe_path = path_ break if not exe_path: - self.output.warn("Could not find path to {0}{1}".format(target, extension)) - filecontents += textwrap.dedent("""\ - if(NOT TARGET ${{QT_CMAKE_EXPORT_NAMESPACE}}::{0}) - add_executable(${{QT_CMAKE_EXPORT_NAMESPACE}}::{0} IMPORTED) - set_target_properties(${{QT_CMAKE_EXPORT_NAMESPACE}}::{0} PROPERTIES IMPORTED_LOCATION ${{CMAKE_CURRENT_LIST_DIR}}/../../../{1}) + self.output.warn(f"Could not find path to {target}{extension}") + filecontents += textwrap.dedent(f"""\ + if(NOT TARGET ${{QT_CMAKE_EXPORT_NAMESPACE}}::{target}) + add_executable(${{QT_CMAKE_EXPORT_NAMESPACE}}::{target} IMPORTED) + set_target_properties(${{QT_CMAKE_EXPORT_NAMESPACE}}::{target} PROPERTIES IMPORTED_LOCATION ${{CMAKE_CURRENT_LIST_DIR}}/../../../{exe_path}) endif() - """.format(target, exe_path)) + """) - filecontents += textwrap.dedent("""\ + filecontents += textwrap.dedent(f"""\ if(NOT DEFINED QT_DEFAULT_MAJOR_VERSION) - set(QT_DEFAULT_MAJOR_VERSION %s) + set(QT_DEFAULT_MAJOR_VERSION {ver.major}) endif() - """ % ver.major) + """) filecontents += 'set(CMAKE_AUTOMOC_MACRO_NAMES "Q_OBJECT" "Q_GADGET" "Q_GADGET_EXPORT" "Q_NAMESPACE" "Q_NAMESPACE_EXPORT")\n' save(self, os.path.join(self.package_folder, self._cmake_executables_file), filecontents) - def _create_private_module(module, dependencies=[]): - dependencies_string = ';'.join('Qt6::%s' % dependency for dependency in dependencies) - contents = textwrap.dedent("""\ - if(NOT TARGET Qt6::{0}Private) - add_library(Qt6::{0}Private INTERFACE IMPORTED) + def _create_private_module(module, dependencies): + dependencies_string = ';'.join(f"Qt6::{dependency}" for dependency in dependencies) + contents = textwrap.dedent(f"""\ + if(NOT TARGET Qt6::{module}Private) + add_library(Qt6::{module}Private INTERFACE IMPORTED) - set_target_properties(Qt6::{0}Private PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${{CMAKE_CURRENT_LIST_DIR}}/../../../include/Qt{0}/{1};${{CMAKE_CURRENT_LIST_DIR}}/../../../include/Qt{0}/{1}/Qt{0}" - INTERFACE_LINK_LIBRARIES "{2}" + set_target_properties(Qt6::{module}Private PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${{CMAKE_CURRENT_LIST_DIR}}/../../../include/Qt{module}/{self.version};${{CMAKE_CURRENT_LIST_DIR}}/../../../include/Qt{module}/{self.version}/Qt{module}" + INTERFACE_LINK_LIBRARIES "{dependencies_string}" ) - add_library(Qt::{0}Private INTERFACE IMPORTED) - set_target_properties(Qt::{0}Private PROPERTIES - INTERFACE_LINK_LIBRARIES "Qt6::{0}Private" + add_library(Qt::{module}Private INTERFACE IMPORTED) + set_target_properties(Qt::{module}Private PROPERTIES + INTERFACE_LINK_LIBRARIES "Qt6::{module}Private" _qt_is_versionless_target "TRUE" ) - endif()""".format(module, self.version, dependencies_string)) + endif()""") save(self, os.path.join(self.package_folder, self._cmake_qt6_private_file(module)), contents) @@ -982,33 +990,33 @@ def _get_corrected_reqs(requires): reqs.append(corrected_req) return reqs - def _create_module(module, requires=[], has_include_dir=True): - componentname = "qt%s" % module - assert componentname not in self.cpp_info.components, "Module %s already present in self.cpp_info.components" % module - self.cpp_info.components[componentname].set_property("cmake_target_name", "Qt6::{}".format(module)) + def _create_module(module, requires, has_include_dir=True): + componentname = f"qt{module}" + assert componentname not in self.cpp_info.components, f"Module {module} already present in self.cpp_info.components" + self.cpp_info.components[componentname].set_property("cmake_target_name", f"Qt6::{module}") self.cpp_info.components[componentname].names["cmake_find_package"] = module self.cpp_info.components[componentname].names["cmake_find_package_multi"] = module if module.endswith("Private"): libname = module[:-7] else: libname = module - self.cpp_info.components[componentname].libs = ["Qt6%s%s" % (libname, libsuffix)] + self.cpp_info.components[componentname].libs = [f"Qt6{libname}{libsuffix}"] if has_include_dir: - self.cpp_info.components[componentname].includedirs = ["include", os.path.join("include", "Qt%s" % module)] - self.cpp_info.components[componentname].defines = ["QT_%s_LIB" % module.upper()] + self.cpp_info.components[componentname].includedirs = ["include", os.path.join("include", f"Qt{module}")] + self.cpp_info.components[componentname].defines = [f"QT_{module.upper()}_LIB"] if module != "Core" and "Core" not in requires: requires.append("Core") self.cpp_info.components[componentname].requires = _get_corrected_reqs(requires) - def _create_plugin(pluginname, libname, type, requires): - componentname = "qt%s" % pluginname - assert componentname not in self.cpp_info.components, "Plugin %s already present in self.cpp_info.components" % pluginname - self.cpp_info.components[componentname].set_property("cmake_target_name", "Qt6::{}".format(pluginname)) + def _create_plugin(pluginname, libname, plugintype, requires): + componentname = f"qt{pluginname}" + assert componentname not in self.cpp_info.components, f"Plugin {pluginname} already present in self.cpp_info.components" + self.cpp_info.components[componentname].set_property("cmake_target_name", f"Qt6::{pluginname}") self.cpp_info.components[componentname].names["cmake_find_package"] = pluginname self.cpp_info.components[componentname].names["cmake_find_package_multi"] = pluginname if not self.options.shared: self.cpp_info.components[componentname].libs = [libname + libsuffix] - self.cpp_info.components[componentname].libdirs = [os.path.join("res", "archdatadir", "plugins", type)] + self.cpp_info.components[componentname].libdirs = [os.path.join("res", "archdatadir", "plugins", plugintype)] self.cpp_info.components[componentname].includedirs = [] if "Core" not in requires: requires.append("Core") @@ -1043,7 +1051,7 @@ def _create_plugin(pluginname, libname, type, requires): self.cpp_info.components["qtPlatform"].names["cmake_find_package_multi"] = "Platform" self.cpp_info.components["qtPlatform"].includedirs = [os.path.join("res", "archdatadir", "mkspecs", self._xplatform())] if Version(self.version) < "6.1.0": - self.cpp_info.components["qtCore"].libs.append("Qt6Core_qobject%s" % libsuffix) + self.cpp_info.components["qtCore"].libs.append(f"Qt6Core_qobject{libsuffix}") if self.options.with_dbus: _create_module("DBus", ["dbus::dbus"]) if self.options.gui: @@ -1130,8 +1138,8 @@ def _create_plugin(pluginname, libname, type, requires): if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: networkReqs.append("krb5::krb5-gssapi") _create_module("Network", networkReqs) - _create_module("Sql") - _create_module("Test") + _create_module("Sql", []) + _create_module("Test", []) if self.options.widgets: _create_module("Widgets", ["Gui"]) _add_build_module("qtWidgets", self._cmake_qt6_private_file("Widgets")) @@ -1141,11 +1149,11 @@ def _create_plugin(pluginname, libname, type, requires): _create_module("OpenGL", ["Gui"]) if self.options.widgets and self.options.get_safe("opengl", "no") != "no": _create_module("OpenGLWidgets", ["OpenGL", "Widgets"]) - _create_module("Concurrent") - _create_module("Xml") + _create_module("Concurrent", []) + _create_module("Xml", []) if self.options.qt5compat: - _create_module("Core5Compat") + _create_module("Core5Compat", []) # since https://github.com/qt/qtdeclarative/commit/4fb84137f1c0a49d64b8bef66fef8a4384cc2a68 qt_quick_enabled = self.options.gui and (Version(self.version) < "6.2.0" or self.options.qtshadertools) @@ -1212,9 +1220,9 @@ def _create_plugin(pluginname, libname, type, requires): if self.options.get_safe("qtlottie"): _create_module("Bodymovin", ["Gui"]) if self.options.get_safe("qtscxml"): - _create_module("StateMachine") + _create_module("StateMachine", []) _create_module("StateMachineQml", ["StateMachine", "Qml"]) - _create_module("Scxml") + _create_module("Scxml", []) _create_plugin("QScxmlEcmaScriptDataModelPlugin", "qscxmlecmascriptdatamodel", "scxmldatamodel", ["Scxml", "Qml"]) _create_module("ScxmlQml", ["Scxml", "Qml"]) if self.options.get_safe("qtvirtualkeyboard") and qt_quick_enabled: @@ -1292,12 +1300,12 @@ def _create_plugin(pluginname, libname, type, requires): _create_plugin("CoreAudioPlugin", "qtaudio_coreaudio", "audio", []) if self._has_positioning: - _create_module("Positioning") + _create_module("Positioning", []) _create_plugin("QGeoPositionInfoSourceFactoryGeoclue2", "qtposition_geoclue2", "position", []) _create_plugin("QGeoPositionInfoSourceFactoryPoll", "qtposition_positionpoll", "position", []) if self.options.get_safe("qtsensors"): - _create_module("Sensors") + _create_module("Sensors", []) _create_plugin("genericSensorPlugin", "qtsensors_generic", "sensors", []) _create_plugin("IIOSensorProxySensorPlugin", "qtsensors_iio-sensor-proxy", "sensors", []) if self.settings.os == "Linux": @@ -1310,7 +1318,7 @@ def _create_plugin(pluginname, libname, type, requires): _create_module("Nfc", []) if self.options.get_safe("qtserialport"): - _create_module("SerialPort") + _create_module("SerialPort", []) if self.options.get_safe("qtserialbus"): _create_module("SerialBus", ["SerialPort"] if self.options.get_safe("qtserialport") else []) @@ -1338,7 +1346,7 @@ def _create_plugin(pluginname, libname, type, requires): _create_module("WebEngineWidgets", ["WebEngineCore", "Quick", "PrintSupport", "Widgets", "Gui", "Network"]) if self.options.get_safe("qtremoteobjects"): - _create_module("RemoteObjects") + _create_module("RemoteObjects", []) if self.options.get_safe("qtwebview"): _create_module("WebView", ["Core", "Gui"]) @@ -1348,7 +1356,7 @@ def _create_plugin(pluginname, libname, type, requires): self.cpp_info.components["qtEntryPointImplementation"].set_property("cmake_target_name", "Qt6::EntryPointImplementation") self.cpp_info.components["qtEntryPointImplementation"].names["cmake_find_package"] = "EntryPointImplementation" self.cpp_info.components["qtEntryPointImplementation"].names["cmake_find_package_multi"] = "EntryPointImplementation" - self.cpp_info.components["qtEntryPointImplementation"].libs = ["Qt6EntryPoint%s" % libsuffix] + self.cpp_info.components["qtEntryPointImplementation"].libs = [f"Qt6EntryPoint{libsuffix}"] self.cpp_info.components["qtEntryPointImplementation"].system_libs = ["shell32"] if self.settings.compiler == "gcc": @@ -1402,7 +1410,7 @@ def _create_plugin(pluginname, libname, type, requires): _add_build_module("qtCore", self._cmake_entry_point_file) for m in os.listdir(os.path.join("lib", "cmake")): - module = os.path.join("lib", "cmake", m, "%sMacros.cmake" % m) + module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") component_name = m.replace("Qt6", "qt") if component_name == "qt": component_name = "qtCore" diff --git a/recipes/qt/6.x.x/qtmodules6.5.0.conf b/recipes/qt/6.x.x/qtmodules6.5.0.conf new file mode 100644 index 0000000000000..809df6bd31582 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.5.0.conf @@ -0,0 +1,331 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.5.0 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.5.0 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.5.0 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.5.0 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.5.0 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.5.0 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.5.0 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia + path = qtdoc + url = ../qtdoc.git + branch = 6.5.0 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.5.0 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.5.0 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.5.0 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.5.0 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.5.0 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools + path = qt3d + url = ../qt3d.git + branch = 6.5.0 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.5.0 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.5.0 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.5.0 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.5.0 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.5.0 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.5.0 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.5.0 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.5.0 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.5.0 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.5.0 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.5.0 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.5.0 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.5.0 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.5.0 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.5.0 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.5.0 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.5.0 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.5.0 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.5.0 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.5.0 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.5.0 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.5.0 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.5.0 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.5.0 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.5.0 + status = addon +[submodule "qtgrpc"] + depends = qtbase + path = qtgrpc + url = ../qtgrpc.git + branch = 6.5.0 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.5.0 + status = addon diff --git a/recipes/qt/6.x.x/test_package/conanfile.py b/recipes/qt/6.x.x/test_package/conanfile.py index a1ea3147988b6..05478516b0d29 100644 --- a/recipes/qt/6.x.x/test_package/conanfile.py +++ b/recipes/qt/6.x.x/test_package/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.build import cross_building from conan.tools.files import mkdir, chdir from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version from conans import tools, Meson, RunEnvironment, CMake from conan.errors import ConanException @@ -50,20 +51,20 @@ def _getenvpath(var): value = _getenvpath('CC') if value: - args.append('QMAKE_CC="%s"' % value) + args.append(f"QMAKE_CC=\"{value}\"") value = _getenvpath('CXX') if value: - args.append('QMAKE_CXX="%s"' % value) + args.append(f"QMAKE_CXX=\"{value}\"") value = _getenvpath('LD') if value: - args.append('QMAKE_LINK_C="%s"' % value) - args.append('QMAKE_LINK_C_SHLIB="%s"' % value) - args.append('QMAKE_LINK="%s"' % value) - args.append('QMAKE_LINK_SHLIB="%s"' % value) + args.append(f"QMAKE_LINK_C=\"{value}\"") + args.append(f"QMAKE_LINK_C_SHLIB=\"{value}\"") + args.append(f"QMAKE_LINK=\"{value}\"") + args.append(f"QMAKE_LINK_SHLIB=\"{value}\"") - self.run("qmake %s" % " ".join(args), run_environment=True) + self.run(f"qmake {' '.join(args)}", run_environment=True) if tools.os_info.is_windows: if is_msvc(self): self.run("nmake", run_environment=True) @@ -91,7 +92,7 @@ def _build_with_cmake_find_package_multi(self): with tools.environment_append(env_build.vars): cmake = CMake(self, set_cmake_flags=True) if self.settings.os == "Macos": - cmake.definitions['CMAKE_OSX_DEPLOYMENT_TARGET'] = '10.14' + cmake.definitions['CMAKE_OSX_DEPLOYMENT_TARGET'] = '10.15' if Version(self.deps_cpp_info["qt"].version) >= "6.5.0" else "10.14" cmake.configure() cmake.build() diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 55bc58936733e..b1da461ce231b 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,4 +1,6 @@ versions: + "6.5.0": + folder: 6.x.x "6.4.2": folder: 6.x.x "6.4.1": From 73a9e1899f4c2437eae0a9b6d621bc02dc0df117 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 13:02:02 +0200 Subject: [PATCH 0064/4087] (#17232) hdrhistogram-c: add package_type (and generate v2 packages) --- recipes/hdrhistogram-c/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/hdrhistogram-c/all/conanfile.py b/recipes/hdrhistogram-c/all/conanfile.py index 3fcbc5c0722dd..dafe5ff3618bc 100644 --- a/recipes/hdrhistogram-c/all/conanfile.py +++ b/recipes/hdrhistogram-c/all/conanfile.py @@ -14,7 +14,7 @@ class HdrhistogramcConan(ConanFile): homepage = "https://github.com/HdrHistogram/HdrHistogram_c" description = "'C' port of High Dynamic Range (HDR) Histogram" topics = ("libraries", "c", "histogram") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -45,8 +45,7 @@ def requirements(self): self.requires("zlib/1.2.13") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From a08f48696f5e06bd6dfaa68a35458502bfd73b04 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 15:02:30 +0200 Subject: [PATCH 0065/4087] (#17231) libsvtav1: add package_type + use version range for cmake - add package_type - use version range for cmake - methods by order of execution --- recipes/libsvtav1/all/conandata.yml | 1 - recipes/libsvtav1/all/conanfile.py | 33 +++++++++-------------------- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/recipes/libsvtav1/all/conandata.yml b/recipes/libsvtav1/all/conandata.yml index 9f05e79206c06..74d595eb1046f 100644 --- a/recipes/libsvtav1/all/conandata.yml +++ b/recipes/libsvtav1/all/conandata.yml @@ -8,7 +8,6 @@ sources: "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.4.1": - patch_file: "patches/llvm-clang-macos.patch" diff --git a/recipes/libsvtav1/all/conanfile.py b/recipes/libsvtav1/all/conanfile.py index 511812832ae5f..ae303bae006ef 100644 --- a/recipes/libsvtav1/all/conanfile.py +++ b/recipes/libsvtav1/all/conanfile.py @@ -14,6 +14,7 @@ class SVTAV1Conan(ConanFile): topics = "av1", "codec", "encoder", "decoder", "video" homepage = "https://gitlab.com/AOMediaCodec/SVT-AV1" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,6 +29,9 @@ class SVTAV1Conan(ConanFile): "build_decoder": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") @@ -36,19 +40,15 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def build_requirements(self): if Version(self.version) >= "1.3.0": - # at least CMake 3.16 - self.tool_requires("cmake/3.25.0") + self.tool_requires("cmake/[>=3.16 <4]") if self.settings.arch in ("x86", "x86_64"): self.tool_requires("nasm/2.15.05") - def export_sources(self): - export_conandata_patches(self) - - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -70,19 +70,8 @@ def build(self): cmake.build() def package(self): - copy( - self, - "LICENSE.md", - self.source_folder, - dst=os.path.join(self.package_folder, "licenses"), - ) - copy( - self, - "PATENTS.md", - self.source_folder, - dst=os.path.join(self.package_folder, "licenses"), - ) - + for license_file in ("LICENSE.md", "PATENTS.md"): + copy(self, license_file, self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.configure() cmake.install() @@ -93,13 +82,11 @@ def package_info(self): self.cpp_info.components["encoder"].libs = ["SvtAv1Enc"] self.cpp_info.components["encoder"].includedirs = ["include/svt-av1"] self.cpp_info.components["encoder"].set_property("pkg_config_name", "SvtAv1Enc") - self.cpp_info.components["encoder"].names["pkg_config"] = "SvtAv1Enc" if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["encoder"].system_libs = ["pthread", "dl", "m"] if self.options.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") - self.cpp_info.components["decoder"].names["pkg_config"] = "SvtAv1Dec" if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["encoder"].system_libs = ["pthread", "dl", "m"] From 16fe67278ef7e0374a23a517ae46b8899753b4ed Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 20:36:57 +0200 Subject: [PATCH 0066/4087] (#17248) caf: use version range for openssl --- recipes/caf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/caf/all/conanfile.py b/recipes/caf/all/conanfile.py index 05a974aee0f02..7a5cb98c5ded6 100644 --- a/recipes/caf/all/conanfile.py +++ b/recipes/caf/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 238d7079448917dfded1bac527dc37e027c40a2b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 21:02:59 +0200 Subject: [PATCH 0067/4087] (#17237) args-parser: add package_type (and generate v2 packages) --- recipes/args-parser/all/conanfile.py | 14 ++++++-------- recipes/args-parser/all/test_package/conanfile.py | 7 ++++--- .../args-parser/all/test_v1_package/CMakeLists.txt | 11 ++++------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/recipes/args-parser/all/conanfile.py b/recipes/args-parser/all/conanfile.py index 6203a42e03b3a..f4ea312819ef0 100644 --- a/recipes/args-parser/all/conanfile.py +++ b/recipes/args-parser/all/conanfile.py @@ -15,7 +15,8 @@ class ArgsParserConan(ConanFile): homepage = "https://github.com/igormironchik/args-parser" license = "MIT" description = "Small C++ header-only library for parsing command line arguments." - topics = ("args-parser", "argument", "parsing") + topics = ("argument", "parsing") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -33,6 +34,9 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -45,12 +49,8 @@ def validate(self): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -64,6 +64,4 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "args-parser::args-parser") self.cpp_info.includedirs.append(os.path.join("include", "args-parser")) self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/args-parser/all/test_package/conanfile.py b/recipes/args-parser/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/args-parser/all/test_package/conanfile.py +++ b/recipes/args-parser/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/args-parser/all/test_v1_package/CMakeLists.txt b/recipes/args-parser/all/test_v1_package/CMakeLists.txt index 135995b086884..0d20897301b68 100644 --- a/recipes/args-parser/all/test_v1_package/CMakeLists.txt +++ b/recipes/args-parser/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(args-parser REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE args-parser::args-parser) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From e7c4562de619ba905f8ab8e25c8a6f2a4bc3ef27 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 26 Apr 2023 23:04:43 +0200 Subject: [PATCH 0068/4087] (#17078) amqp-cpp: add package_type + bump openssl * bump openssl * add package_type * use version range for openssl --- recipes/amqp-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/amqp-cpp/all/conanfile.py b/recipes/amqp-cpp/all/conanfile.py index efcd52d23c58e..637de6f9e0cfb 100644 --- a/recipes/amqp-cpp/all/conanfile.py +++ b/recipes/amqp-cpp/all/conanfile.py @@ -14,7 +14,7 @@ class AmqpcppConan(ConanFile): topics = ("amqp", "network", "queue") license = "Apache-2.0" description = "C++ library for asynchronous non-blocking communication with RabbitMQ" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -44,7 +44,7 @@ def layout(self): def requirements(self): if self.options.get_safe("linux_tcp_module"): - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 374141e6d21763521558004aa3592e33014f19a5 Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Thu, 27 Apr 2023 00:33:38 -0300 Subject: [PATCH 0069/4087] (#17253) update sqlite3 to version 3.41.2 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index abd5698e4def4..6d45e7f1f7b2a 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.41.2": + url: "https://sqlite.org/2023/sqlite-amalgamation-3410200.zip" + sha256: "01df06a84803c1ab4d62c64e995b151b2dbcf5dbc93bbc5eee213cb18225d987" "3.41.1": url: "https://sqlite.org/2023/sqlite-amalgamation-3410100.zip" sha256: "df0d54bf246521360c8148f64e7e5ad07a4665b4f902339e844f4c493d535ff5" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 120cf3d9db93f..eec1a2b667f2b 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.41.2": + folder: all "3.41.1": folder: all "3.40.1": From 9ec2d034f34cdfadbba1af362fe236f4e15a7190 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 27 Apr 2023 13:42:15 +0900 Subject: [PATCH 0070/4087] (#17252) g3log: add version 2.3 --- recipes/g3log/all/conandata.yml | 3 +++ recipes/g3log/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/g3log/all/conandata.yml b/recipes/g3log/all/conandata.yml index 18c31e017c3eb..1ad5a5433b5fb 100644 --- a/recipes/g3log/all/conandata.yml +++ b/recipes/g3log/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3": + url: "https://github.com/KjellKod/g3log/archive/2.3.tar.gz" + sha256: "a27dc3ff0d962cc6e0b4e60890b4904e664b0df16393d27e14c878d7de09b505" "2.2": url: "https://github.com/KjellKod/g3log/archive/2.2.tar.gz" sha256: "9ce18295f71936eaa12d890996ca48fdb578bf0bde16ab652e86b8f30dbe1f1e" diff --git a/recipes/g3log/config.yml b/recipes/g3log/config.yml index dd2ee1df416cc..0452fc2e8e027 100644 --- a/recipes/g3log/config.yml +++ b/recipes/g3log/config.yml @@ -1,4 +1,6 @@ versions: + "2.3": + folder: all "2.2": folder: all "2.1": From 05ca68224e82409e1cffd40fd4ca1291f19f4a23 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 27 Apr 2023 07:22:11 +0200 Subject: [PATCH 0071/4087] (#17255) oatpp-openssl: use version range for openssl --- recipes/oatpp-openssl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/oatpp-openssl/all/conanfile.py b/recipes/oatpp-openssl/all/conanfile.py index d109d1b7545bb..b17d50cd83efc 100644 --- a/recipes/oatpp-openssl/all/conanfile.py +++ b/recipes/oatpp-openssl/all/conanfile.py @@ -44,7 +44,7 @@ def layout(self): def requirements(self): self.requires(f"oatpp/{self.version}") - self.requires("openssl/3.0.5") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): From 803a693baa802b93eb850c8b9037aca5b659db89 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 27 Apr 2023 08:29:15 +0200 Subject: [PATCH 0072/4087] (#17258) hiredis: use version range for openssl --- recipes/hiredis/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hiredis/all/conanfile.py b/recipes/hiredis/all/conanfile.py index d9d489f182026..95c01b327b522 100644 --- a/recipes/hiredis/all/conanfile.py +++ b/recipes/hiredis/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): if self.options.with_ssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 6d52c95ebe991cf3c257e410c2dae0ee4337ddf1 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 27 Apr 2023 08:02:54 +0100 Subject: [PATCH 0073/4087] ffmpeg: Fix list options with Conan 2.0. (#17141) * Append the configuration options after duplicates are trimmed. `update_configure_args` from the `AutotoolsToolchain` strips out duplicate configuration flags, even if they have different values. e.g. `--enable-encoder=gif --enable-encoder=mp3` This commit simply appends those flags after the offending method call to avoid them being stripped. * Use wrapper method to improve clarity of args modification order. * bump xz_utils & openssl --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/ffmpeg/all/conanfile.py | 42 ++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 297965cd9b219..94bd67a191bc1 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -261,7 +261,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.with_libiconv: self.requires("libiconv/1.17") if self.options.with_freetype: @@ -291,7 +291,7 @@ def requirements(self): if self.options.with_libwebp: self.requires("libwebp/1.3.0") if self.options.with_ssl == "openssl": - self.requires("openssl/1.1.1t") + self.requires("openssl/3.1.0") if self.options.get_safe("with_libalsa"): self.requires("libalsa/1.2.7.2") if self.options.get_safe("with_xcb") or self.options.get_safe("with_vaapi"): @@ -388,6 +388,27 @@ def _default_compilers(self): return {"cc": "cl.exe", "cxx": "cl.exe"} return {} + def _create_toolchain(self): + tc = AutotoolsToolchain(self) + # Custom configure script of ffmpeg understands: + # --prefix, --bindir, --datadir, --docdir, --incdir, --libdir, --mandir + # Options --datadir, --docdir, --incdir, and --mandir are not injected by AutotoolsToolchain but their default value + # in ffmpeg script matches expected conan install layout. + # Several options injected by AutotoolsToolchain are unknown from this configure script and must be pruned. + # This must be done before modifying tc.configure_args, because update_configre_args currently removes + # duplicate configuration keys, even when they have different values, such as list of encoder flags. + # See https://github.com/conan-io/conan-center-index/issues/17140 for further information. + tc.update_configure_args({ + "--sbindir": None, + "--includedir": None, + "--oldincludedir": None, + "--datarootdir": None, + "--build": None, + "--host": None, + "--target": None, + }) + return tc + def generate(self): env = VirtualBuildEnv(self) env.generate() @@ -402,7 +423,8 @@ def opt_append_disable_if_set(args, what, v): if v: args.append(f"--disable-{what}") - tc = AutotoolsToolchain(self) + tc = self._create_toolchain() + args = [ "--pkg-config-flags=--static", "--disable-doc", @@ -594,20 +616,6 @@ def opt_append_disable_if_set(args, what, v): if tc.ldflags: args.append("--extra-ldflags={}".format(" ".join(tc.ldflags))) tc.configure_args.extend(args) - # Custom configure script of ffmpeg understands: - # --prefix, --bindir, --datadir, --docdir, --incdir, --libdir, --mandir - # Options --datadir, --docdir, --incdir, and --mandir are not injected by AutotoolsToolchain but their default value - # in ffmpeg script matches expected conan install layout. - # Several options injected by AutotoolsToolchain are unknown from this configure script and must be pruned: - tc.update_configure_args({ - "--sbindir": None, - "--includedir": None, - "--oldincludedir": None, - "--datarootdir": None, - "--build": None, - "--host": None, - "--target": None, - }) tc.generate() if is_msvc(self): From a489fa6dd3ec5417c90b06e52290b9510b9566ff Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 27 Apr 2023 13:17:23 +0200 Subject: [PATCH 0074/4087] (#17249) minizip-ng: use version range for openssl --- recipes/minizip-ng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 7632c45379321..a4e9fe7489e1e 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -91,7 +91,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_openssl: - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.settings.os != "Windows": if self.options.get_safe("with_iconv"): self.requires("libiconv/1.17") From 9aefb8848c78f60b591d041f4759f2dad61058d0 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:32:13 +0200 Subject: [PATCH 0075/4087] (#17190) grpc: use newer openssl --- 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 75bd5c12038cc..584cea79d847b 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -92,7 +92,7 @@ def requirements(self): else: self.requires("abseil/20220623.0", transitive_headers=True) self.requires("c-ares/1.18.1") - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") self.requires("re2/20220601") self.requires("zlib/1.2.13") self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True) From f845d8f26b82fef646fc10c42293b69a9603f40e Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Thu, 27 Apr 2023 16:54:50 +0200 Subject: [PATCH 0076/4087] (#17251) [qt/6.x.x] Fix qt6 formatting issue --- recipes/qt/6.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 3888f704f5a82..5511bfa479f30 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -811,7 +811,7 @@ def _cmake_entry_point_file(self): return os.path.join("lib", "cmake", "Qt6Core", "conan_qt_entry_point.cmake") def _cmake_qt6_private_file(self, module): - return os.path.join("lib", "cmake", f"Qt6{module}", "conan_qt_qt6_{module.lower()}private.cmake") + return os.path.join("lib", "cmake", f"Qt6{module}", f"conan_qt_qt6_{module.lower()}private.cmake") def package(self): with self._build_context(): From d405c1b936ad4ff8046e83326af65fbb832c6112 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 27 Apr 2023 18:43:09 +0200 Subject: [PATCH 0077/4087] (#17229) cppbenchmark: add package_type + use version range for cmake - add package_type - bump hdrhistogram-c - remove _cmake_new_enough() - use version range for cmake - fix msvc min version --- recipes/cppbenchmark/all/conanfile.py | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/recipes/cppbenchmark/all/conanfile.py b/recipes/cppbenchmark/all/conanfile.py index 46bffc2766e8d..cf8688e000658 100644 --- a/recipes/cppbenchmark/all/conanfile.py +++ b/recipes/cppbenchmark/all/conanfile.py @@ -15,6 +15,7 @@ class CppBenchmark(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/chronoxor/CppBenchmark" topics = ("utils", "library", "benchmark") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -28,6 +29,7 @@ class CppBenchmark(ConanFile): @property def _min_cppstd(self): return 17 + @property def _compilers_minimum_version(self): return { @@ -35,7 +37,7 @@ def _compilers_minimum_version(self): "clang": 6, "gcc": 7, "Visual Studio": 16, - "msvc": 191, + "msvc": 192, } def export_sources(self): @@ -53,11 +55,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hdrhistogram-c/0.11.1") + self.requires("hdrhistogram-c/0.11.6") self.requires("cpp-optparse/cci.20171104") def validate(self): - if self.settings.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: @@ -65,20 +67,8 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if not self._cmake_new_enough("3.20"): - self.tool_requires("cmake/3.25.1") + self.tool_requires("cmake/[>=3.20 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From d9f798c15e3a09d2eabeee2566b3c447288245d2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:51:31 +0200 Subject: [PATCH 0078/4087] (#17256) trantor: use version range for openssl --- recipes/trantor/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index b50440403329e..2e4e5da0c655a 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.options.with_c_ares: self.requires("c-ares/1.19.0") From 1e0d2484a5530db5bb63153a72aed90454fdc883 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 27 Apr 2023 23:05:35 +0200 Subject: [PATCH 0079/4087] (#16378) libtiff: add 4.5.0 * libtiff: add 4.5.0 * fix license * libtiff: extend robust handling of dependencies * fix linter issues --- recipes/libtiff/all/conandata.yml | 15 +++ recipes/libtiff/all/conanfile.py | 16 ++- .../4.5.0-0001-cmake-dependencies.patch | 116 ++++++++++++++++++ recipes/libtiff/config.yml | 2 + 4 files changed, 145 insertions(+), 4 deletions(-) create mode 100644 recipes/libtiff/all/patches/4.5.0-0001-cmake-dependencies.patch diff --git a/recipes/libtiff/all/conandata.yml b/recipes/libtiff/all/conandata.yml index ed109970ab657..a3b0e93e72a46 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.5.0": + url: "http://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz" + sha256: "c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464" "4.4.0": url: "http://download.osgeo.org/libtiff/tiff-4.4.0.tar.gz" sha256: "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed" @@ -18,6 +21,10 @@ sources: url: "http://download.osgeo.org/libtiff/tiff-4.0.8.tar.gz" sha256: "59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910" patches: + "4.5.0": + - patch_file: "patches/4.5.0-0001-cmake-dependencies.patch" + patch_description: "CMake: robust handling of dependencies" + patch_type: "conan" "4.4.0": - patch_file: "patches/4.4.0-0001-cmake-dependencies.patch" patch_description: "CMake: robust handling of dependencies" @@ -35,18 +42,26 @@ patches: patch_description: "CMake: robust handling of dependencies" patch_type: "conan" - patch_file: "patches/4.1.0-0002-no-libm-mingw.patch" + patch_description: "port to MINGW: Exclude libm from MINGW since math related functions are already included in libmsvcrt.a" + patch_type: "portability" patch_source: "https://gitlab.com/libtiff/libtiff/-/merge_requests/73" "4.0.9": - patch_file: "patches/4.0.8-0001-cmake-dependencies.patch" patch_description: "CMake: robust handling of dependencies" patch_type: "conan" - patch_file: "patches/4.0.8-0002-no-libm-mingw.patch" + patch_description: "port to MINGW: Exclude libm from MINGW since math related functions are already included in libmsvcrt.a" + patch_type: "portability" patch_source: "https://gitlab.com/libtiff/libtiff/-/merge_requests/73" "4.0.8": - patch_file: "patches/4.0.8-0001-cmake-dependencies.patch" patch_description: "CMake: robust handling of dependencies" patch_type: "conan" - patch_file: "patches/4.0.8-0002-no-libm-mingw.patch" + patch_description: "port to MINGW: Exclude libm from MINGW since math related functions are already included in libmsvcrt.a" + patch_type: "portability" patch_source: "https://gitlab.com/libtiff/libtiff/-/merge_requests/73" - patch_file: "patches/4.0.8-0003-file-offsets-bits-mingw.patch" + patch_description: "port to MINGW: enable Large file support by defining _FILE_OFFSET_BITS=64" + patch_type: "portability" patch_source: "https://gitlab.com/libtiff/libtiff/-/commit/f2a3b020402943f90957552a884788e70ece6cd7" diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 511c05c6ee477..ed90e33f1af31 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -121,6 +121,12 @@ def generate(self): tc.variables["webp"] = self.options.webp if Version(self.version) >= "4.3.0": tc.variables["lerc"] = False # TODO: add lerc support for libtiff versions >= 4.3.0 + if Version(self.version) >= "4.5.0": + # Disable tools, test, contrib, man & html generation + tc.variables["tiff-tools"] = False + tc.variables["tiff-tests"] = False + tc.variables["tiff-contrib"] = False + tc.variables["tiff-docs"] = False tc.variables["cxx"] = self.options.cxx # BUILD_SHARED_LIBS must be set in command line because defined upstream before project() tc.cache_variables["BUILD_SHARED_LIBS"] = bool(self.options.shared) @@ -137,9 +143,10 @@ def _patch_sources(self): "set_target_properties(tiffxx PROPERTIES SOVERSION ${SO_COMPATVERSION} WINDOWS_EXPORT_ALL_SYMBOLS ON)") # Disable tools, test, contrib, man & html generation - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "add_subdirectory(tools)\nadd_subdirectory(test)\nadd_subdirectory(contrib)\nadd_subdirectory(build)\n" - "add_subdirectory(man)\nadd_subdirectory(html)", "") + if Version(self.version) < "4.5.0": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "add_subdirectory(tools)\nadd_subdirectory(test)\nadd_subdirectory(contrib)\nadd_subdirectory(build)\n" + "add_subdirectory(man)\nadd_subdirectory(html)", "") def build(self): self._patch_sources() @@ -148,7 +155,8 @@ def build(self): cmake.build() def package(self): - copy(self, "COPYRIGHT", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), ignore_case=True, keep_path=False) + license_file = "COPYRIGHT" if Version(self.version) < "4.5.0" else "LICENSE.md" + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), ignore_case=True, keep_path=False) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) diff --git a/recipes/libtiff/all/patches/4.5.0-0001-cmake-dependencies.patch b/recipes/libtiff/all/patches/4.5.0-0001-cmake-dependencies.patch new file mode 100644 index 0000000000000..7780017230ea1 --- /dev/null +++ b/recipes/libtiff/all/patches/4.5.0-0001-cmake-dependencies.patch @@ -0,0 +1,116 @@ +--- a/cmake/DeflateCodec.cmake ++++ b/cmake/DeflateCodec.cmake +@@ -35,7 +35,10 @@ set(LIBDEFLATE_SUPPORT FALSE) + + # libdeflate + set(LIBDEFLATE_SUPPORT FALSE) +-find_package(Deflate) ++find_package(libdeflate CONFIG) ++if(libdeflate_FOUND) ++ set(Deflate_FOUND TRUE) ++endif() + option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ${Deflate_FOUND}) + if (libdeflate AND Deflate_FOUND AND ZIP_SUPPORT) + set(LIBDEFLATE_SUPPORT TRUE) +--- a/cmake/JBIGCodec.cmake ++++ b/cmake/JBIGCodec.cmake +@@ -27,14 +27,17 @@ set(JBIG_SUPPORT FALSE) + # JBIG-KIT + set(JBIG_SUPPORT FALSE) + +-find_package(JBIG) ++find_package(jbig CONFIG) ++if(jbig_FOUND) ++ set(JBIG_FOUND TRUE) ++endif() + + if(JBIG_FOUND) + set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIRS}) + set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES}) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${JBIG_LIBRARIES}) +- check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN) ++ set(HAVE_JBG_NEWLEN TRUE) + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE}) + endif() +--- a/cmake/JPEGCodec.cmake ++++ b/cmake/JPEGCodec.cmake +@@ -47,19 +47,7 @@ + cmake_push_check_state(RESET) + set(CMAKE_REQUIRED_INCLUDES "${JPEG_INCLUDE_DIRS}") + set(CMAKE_REQUIRED_LIBRARIES "${JPEG_LIBRARIES}") +- check_c_source_compiles( +- " +- #include +- #include +- #include \"jpeglib.h\" +- int main() +- { +- jpeg_read_scanlines(0,0,0); +- jpeg12_read_scanlines(0,0,0); +- return 0; +- } +- " +- HAVE_JPEGTURBO_DUAL_MODE_8_12) ++ set(HAVE_JPEGTURBO_DUAL_MODE_8_12 FALSE) + cmake_pop_check_state() + endif() + +--- a/cmake/ZSTDCodec.cmake ++++ b/cmake/ZSTDCodec.cmake +@@ -28,7 +28,10 @@ set(ZSTD_USABLE FALSE) + set(ZSTD_SUPPORT FALSE) + set(ZSTD_USABLE FALSE) + +-find_package(ZSTD) ++find_package(zstd CONFIG) ++if(zstd_FOUND) ++ set(ZSTD_FOUND TRUE) ++endif() + + if(ZSTD_FOUND) + if(NOT DEFINED ZSTD_HAVE_DECOMPRESS_STREAM) +@@ -36,7 +39,7 @@ if(ZSTD_FOUND) + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS}) + set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES}) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZSTD_LIBRARIES}) +- check_symbol_exists(ZSTD_decompressStream "zstd.h" ZSTD_HAVE_DECOMPRESS_STREAM) ++ set(ZSTD_HAVE_DECOMPRESS_STREAM TRUE) + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE}) + endif() +--- a/libtiff/CMakeLists.txt ++++ b/libtiff/CMakeLists.txt +@@ -116,7 +116,7 @@ if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT) + string(APPEND tiff_requires_private " zlib") + endif() + if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT) +- target_link_libraries(tiff PRIVATE Deflate::Deflate) ++ target_link_libraries(tiff PRIVATE $,libdeflate::libdeflate,libdeflate::libdeflate_static>) + list(APPEND tiff_libs_private_list "${Deflate_LIBRARY}") + endif() + if(JPEG_SUPPORT) +@@ -130,7 +130,7 @@ if(JBIG_SUPPORT) + endif() + endif() + if(JBIG_SUPPORT) +- target_link_libraries(tiff PRIVATE JBIG::JBIG) ++ target_link_libraries(tiff PRIVATE jbig::jbig) + list(APPEND tiff_libs_private_list "${JBIG_LIBRARY}") + endif() + if(LERC_SUPPORT) +@@ -145,11 +145,11 @@ if(ZSTD_SUPPORT) + string(APPEND tiff_requires_private " liblzma") + endif() + if(ZSTD_SUPPORT) +- target_link_libraries(tiff PRIVATE ZSTD::ZSTD) ++ target_link_libraries(tiff PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) + string(APPEND tiff_requires_private " libzstd") + endif() + if(WEBP_SUPPORT) +- target_link_libraries(tiff PRIVATE WebP::WebP) ++ target_link_libraries(tiff PRIVATE WebP::webp) + string(APPEND tiff_requires_private " libwebp") + endif() + if(CMath_LIBRARY) diff --git a/recipes/libtiff/config.yml b/recipes/libtiff/config.yml index 0ca17e7b3017c..bbe65356cc08b 100644 --- a/recipes/libtiff/config.yml +++ b/recipes/libtiff/config.yml @@ -1,4 +1,6 @@ versions: + "4.5.0": + folder: all "4.4.0": folder: all "4.3.0": From 13c833dd6ee353a727f6c52b5e956abc5478cfc3 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 28 Apr 2023 06:41:52 +0900 Subject: [PATCH 0080/4087] (#17283) ada: add version 2.3.2, remove _cmake_new_enough --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/all/conanfile.py | 15 ++------------- recipes/ada/config.yml | 2 ++ 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 62bc176a75a27..4ce757c97fa0c 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/ada-url/ada/archive/refs/tags/v2.3.0.tar.gz" + sha256: "932a93f6a745775343ebdbaafca295e07b9513f6aaeb738f9e85dcb397925e33" "2.2.0": url: "https://github.com/ada-url/ada/archive/refs/tags/v2.2.0.tar.gz" sha256: "40a6b3fe0d5c62936c081e8403790ec05d5afe3d0909eece894efcfef7e678ee" diff --git a/recipes/ada/all/conanfile.py b/recipes/ada/all/conanfile.py index 2c1c18f48552a..1377e7aa51408 100644 --- a/recipes/ada/all/conanfile.py +++ b/recipes/ada/all/conanfile.py @@ -59,20 +59,9 @@ def validate(self): f"{self.ref} requires , please use libc++ or upgrade compiler." ) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "0.6.0" and not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.2") + if Version(self.version) >= "0.6.0": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 4dcc45252703e..b2aa30969f390 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.0": folder: all "2.0.0": From d981996021901c8b7bf4965af6c0f5f0a3bff109 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 00:02:04 +0200 Subject: [PATCH 0081/4087] (#17261) libsamplerate: use version range for cmake --- recipes/libsamplerate/all/conanfile.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/recipes/libsamplerate/all/conanfile.py b/recipes/libsamplerate/all/conanfile.py index 3417ad7c0f9a0..5342c615e4072 100644 --- a/recipes/libsamplerate/all/conanfile.py +++ b/recipes/libsamplerate/all/conanfile.py @@ -44,22 +44,10 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): if is_apple_os(self) and self.options.shared and Version(self.version) >= "0.2.2": # see https://github.com/libsndfile/libsamplerate/blob/0.2.2/src/CMakeLists.txt#L110-L119 - if not self._cmake_new_enough("3.17"): - self.tool_requires("cmake/3.25.2") + self.tool_requires("cmake/[>=3.17 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 1a7c9af7f251012a8316b5940933bda89cb19e8c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 00:22:07 +0200 Subject: [PATCH 0082/4087] (#17260) brynet: add package_type + use version range for openssl * use version range for openssl * add package_type --- recipes/brynet/all/conanfile.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/brynet/all/conanfile.py b/recipes/brynet/all/conanfile.py index ece3fff57254f..e7c1a89c1701b 100644 --- a/recipes/brynet/all/conanfile.py +++ b/recipes/brynet/all/conanfile.py @@ -14,7 +14,7 @@ class BrynetConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/IronsDu/brynet" topics = ("networking", "tcp", "websocket") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_openssl": [True, False], @@ -30,7 +30,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1s", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) def package_id(self): self.info.clear() @@ -40,8 +40,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 2c33a3f51bb9821d56d1bee1412002ba5a820eb0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 00:42:06 +0200 Subject: [PATCH 0083/4087] (#17257) rabbitmq-c: add package_type + use version range for openssl * use version range for openssl * add package_type --- recipes/rabbitmq-c/all/conanfile.py | 4 ++-- recipes/rabbitmq-c/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/rabbitmq-c/all/conanfile.py b/recipes/rabbitmq-c/all/conanfile.py index f604b1a30b71d..a192092e12ead 100755 --- a/recipes/rabbitmq-c/all/conanfile.py +++ b/recipes/rabbitmq-c/all/conanfile.py @@ -14,7 +14,7 @@ class RabbitmqcConan(ConanFile): homepage = "https://github.com/alanxz/rabbitmq-c" description = "This is a C-language AMQP client library for use with v2.0+ of the RabbitMQ broker." topics = ("rabbitmq", "message queue") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,7 +39,7 @@ def configure(self): def requirements(self): if self.options.ssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/rabbitmq-c/all/test_package/conanfile.py b/recipes/rabbitmq-c/all/test_package/conanfile.py index ca71e7a1bae14..82d331c47fc53 100644 --- a/recipes/rabbitmq-c/all/test_package/conanfile.py +++ b/recipes/rabbitmq-c/all/test_package/conanfile.py @@ -7,6 +7,10 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) @@ -17,9 +21,6 @@ def generate(self): tc.variables["WITH_SSL"] = self.dependencies["rabbitmq-c"].options.ssl tc.generate() - def layout(self): - cmake_layout(self) - def build(self): cmake = CMake(self) cmake.configure() From ad6e12dd9cfbb149fa3c33d9933d643836581b0a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 01:22:24 +0200 Subject: [PATCH 0084/4087] (#17235) quazip: fix recipe for conan v2 * improvements for conan v2 - use self.dependencies - add package_type - bump qt - remove useless VirtualBuildEnv * add bzip2 to requirements since 1.4 --- recipes/quazip/all/conanfile.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/quazip/all/conanfile.py b/recipes/quazip/all/conanfile.py index 9dd3d5245caaa..0203b4a63fa9c 100644 --- a/recipes/quazip/all/conanfile.py +++ b/recipes/quazip/all/conanfile.py @@ -3,7 +3,6 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualBuildEnv import os required_conan_version = ">=1.53.0" @@ -19,7 +18,7 @@ class QuaZIPConan(ConanFile): homepage = "https://github.com/stachenov/quazip" license = "LGPL-2.1-linking-exception" topics = ("zip", "unzip", "compress") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -32,7 +31,7 @@ class QuaZIPConan(ConanFile): @property def _qt_major(self): - return Version(self.deps_cpp_info["qt"].version).major + return Version(self.dependencies["qt"].ref.version).major def export_sources(self): export_conandata_patches(self) @@ -49,12 +48,13 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + self.requires("qt/5.15.9") self.requires("zlib/1.2.13") - self.requires("qt/5.15.8") + if Version(self.version) >= "1.4": + self.requires("bzip2/1.0.8") 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) @@ -65,8 +65,6 @@ def generate(self): tc.generate() tc = CMakeDeps(self) tc.generate() - tc = VirtualBuildEnv(self) - tc.generate(scope="build") def build(self): apply_conandata_patches(self) From f61053ed84f2970b9e9fd3a6f49d35d09a48f118 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 02:45:02 +0200 Subject: [PATCH 0085/4087] (#17230) foonathan-lexy: add package_type + use version range for cmake - add package_type - remove _cmake_new_enough() - use version range for cmake --- recipes/foonathan-lexy/all/conanfile.py | 20 +++---------------- .../all/test_package/conanfile.py | 1 - 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/recipes/foonathan-lexy/all/conanfile.py b/recipes/foonathan-lexy/all/conanfile.py index d95ef191b17a0..ab4e9af924282 100644 --- a/recipes/foonathan-lexy/all/conanfile.py +++ b/recipes/foonathan-lexy/all/conanfile.py @@ -15,8 +15,8 @@ class FoonathanLexyConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/foonathan/lexy" topics = ("parser", "parser-combinators", "grammar") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True options = { "fPIC": [True, False], } @@ -46,7 +46,7 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.info.settings.compiler.cppstd: + if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: @@ -54,20 +54,8 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if not self._cmake_new_enough("3.18"): - self.tool_requires("cmake/3.25.0") + self.tool_requires("cmake/[>=3.18 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) @@ -88,8 +76,6 @@ def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() - - # some files extensions and folders are not allowed. Please, read the FAQs to get informed. rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "share")) diff --git a/recipes/foonathan-lexy/all/test_package/conanfile.py b/recipes/foonathan-lexy/all/test_package/conanfile.py index 1111583fea732..a9fb96656f203 100644 --- a/recipes/foonathan-lexy/all/test_package/conanfile.py +++ b/recipes/foonathan-lexy/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From e4d0b430d1bf147ea2f7157f88a1d2580b23704f Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Fri, 28 Apr 2023 03:43:27 +0200 Subject: [PATCH 0086/4087] (#17222) boost: bump deps * Bump deps * Bump b2 to v4.9.6 * Remove trailing space --- recipes/boost/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index fedf05bf920e1..846714ef0e150 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -535,9 +535,9 @@ def requirements(self): if self._with_bzip2: self.requires("bzip2/1.0.8") if self._with_lzma: - self.requires("xz_utils/5.2.5") + self.requires("xz_utils/5.4.2") if self._with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") if self._with_stacktrace_backtrace: self.requires("libbacktrace/cci.20210118", transitive_headers=True, transitive_libs=True) @@ -561,7 +561,7 @@ def package_id(self): def build_requirements(self): if not self.options.header_only: - self.tool_requires("b2/4.9.3") + self.tool_requires("b2/4.9.6") def source(self): get(self, **self.conan_data["sources"][self.version], @@ -852,7 +852,7 @@ def build(self): " shared:.//boost_fiber : @numa", strict=False) if self.settings.os == "Android": - # force versionless soname from boostorg/boost#206 + # force versionless soname from boostorg/boost#206 # this can be applied to all versions and it's easier with a replace replace_in_file(self, os.path.join(self.source_folder, "boostcpp.jam"), "! [ $(property-set).get ] in windows cygwin darwin aix &&", From de2bd19e03b752a318d1015f589c4f54dd4163f0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 04:43:54 +0200 Subject: [PATCH 0087/4087] (#17187) libpcap: use winflexbison if build machine is Windows * use winflexbison if build machine is Windows * add package_type --- recipes/libpcap/all/conanfile.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/libpcap/all/conanfile.py b/recipes/libpcap/all/conanfile.py index b2ff6d95b30ce..f8f592dda7427 100644 --- a/recipes/libpcap/all/conanfile.py +++ b/recipes/libpcap/all/conanfile.py @@ -23,7 +23,7 @@ class LibPcapConan(ConanFile): description = "libpcap is an API for capturing network traffic" license = "BSD-3-Clause" topics = ("networking", "pcap", "sniffing", "network-traffic") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -77,15 +77,14 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} can not be built static on Windows") def build_requirements(self): - if is_msvc(self, build_context=True): + if self._settings_build.os == "Windows": self.tool_requires("winflexbison/2.5.24") else: self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): VirtualBuildEnv(self).generate() From bd7afedeecc250ce7c7a972fe050198c24d4b9a6 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 28 Apr 2023 12:03:11 +0900 Subject: [PATCH 0088/4087] (#17181) greg7mdp-gtl: add version 1.1.8, add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * greg7mdp-gtl: add version 1.1.7 * update 1.1.8 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/greg7mdp-gtl/all/conandata.yml | 3 +++ recipes/greg7mdp-gtl/all/conanfile.py | 12 +++++------- recipes/greg7mdp-gtl/all/test_package/CMakeLists.txt | 3 +-- .../greg7mdp-gtl/all/test_v1_package/CMakeLists.txt | 9 +++------ recipes/greg7mdp-gtl/config.yml | 2 ++ 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/recipes/greg7mdp-gtl/all/conandata.yml b/recipes/greg7mdp-gtl/all/conandata.yml index 03c557a0c1185..c22694a6e750c 100644 --- a/recipes/greg7mdp-gtl/all/conandata.yml +++ b/recipes/greg7mdp-gtl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.8": + url: "https://github.com/greg7mdp/gtl/archive/v1.1.8.tar.gz" + sha256: "6bda4c07bd966a88740ee07e3df23863a93d7b5365e0eea7f13cde9eda961b86" "1.1.5": url: "https://github.com/greg7mdp/gtl/archive/v1.1.5.tar.gz" sha256: "2d943d2ccc33c6c662918efc51782dac414354a1458441f16041a98eec164bda" diff --git a/recipes/greg7mdp-gtl/all/conanfile.py b/recipes/greg7mdp-gtl/all/conanfile.py index 44af92f813395..511f3700cda78 100644 --- a/recipes/greg7mdp-gtl/all/conanfile.py +++ b/recipes/greg7mdp-gtl/all/conanfile.py @@ -17,11 +17,12 @@ class Greg7mdpGtlConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/greg7mdp/gtl" topics = ("bitset", "memoize", "containers", "bitvector", "unordered-set", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 20 @property @@ -42,14 +43,13 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.get_safe("compiler.version")) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -60,9 +60,7 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.set_property("cmake_file_name", "gtl") self.cpp_info.set_property("cmake_target_name", "gtl::gtl") diff --git a/recipes/greg7mdp-gtl/all/test_package/CMakeLists.txt b/recipes/greg7mdp-gtl/all/test_package/CMakeLists.txt index a2b5f552d2486..4de04c5c56508 100644 --- a/recipes/greg7mdp-gtl/all/test_package/CMakeLists.txt +++ b/recipes/greg7mdp-gtl/all/test_package/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.12) - -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(gtl REQUIRED CONFIG) diff --git a/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt b/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt index 7967c88037332..9652e22fc19d5 100644 --- a/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt +++ b/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,9 @@ cmake_minimum_required(VERSION 3.12) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(gtl REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gtl::gtl) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/greg7mdp-gtl/config.yml b/recipes/greg7mdp-gtl/config.yml index 94e2cbf33f6be..cd16082304dc7 100644 --- a/recipes/greg7mdp-gtl/config.yml +++ b/recipes/greg7mdp-gtl/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.8": + folder: all "1.1.5": folder: all "1.1.4": From 1eefbb3cd9baf095cb80470927cdf17b45bf23a7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 05:23:36 +0200 Subject: [PATCH 0089/4087] (#17122) s2n: remove component workaround for legacy generators * more elegant way to define target for legacy generators * use version range for openssl * openssl >= 1.1 --- recipes/s2n/all/conanfile.py | 42 +++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/recipes/s2n/all/conanfile.py b/recipes/s2n/all/conanfile.py index cf3cfb56e85eb..34d4cbcae2b9f 100644 --- a/recipes/s2n/all/conanfile.py +++ b/recipes/s2n/all/conanfile.py @@ -1,8 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save import os +import textwrap required_conan_version = ">=1.53.0" @@ -39,7 +40,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.os == "Windows": @@ -69,20 +70,35 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "s2n")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::s2n": "s2n::s2n"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "s2n") self.cpp_info.set_property("cmake_target_name", "AWS::s2n") - # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["s2n-lib"].libs = ["s2n"] - self.cpp_info.components["s2n-lib"].requires = ["openssl::crypto"] + self.cpp_info.libs = ["s2n"] + self.cpp_info.requires = ["openssl::crypto"] if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.components["s2n-lib"].system_libs = ["m", "pthread"] + self.cpp_info.system_libs = ["m", "pthread"] # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "s2n" - self.cpp_info.filenames["cmake_find_package_multi"] = "s2n" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["s2n-lib"].names["cmake_find_package"] = "s2n" - self.cpp_info.components["s2n-lib"].names["cmake_find_package_multi"] = "s2n" - self.cpp_info.components["s2n-lib"].set_property("cmake_target_name", "AWS::s2n") + 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] From 1a1261bfa88ae8ae63f059bfad4e970d243167a1 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 28 Apr 2023 13:03:26 +0900 Subject: [PATCH 0090/4087] (#17112) mdspan: add version 0.6.0, add package_type * mdspan: add version 0.6.0 * drop support C++14 * enable C++17 in test_package --- recipes/mdspan/all/conandata.yml | 3 ++ recipes/mdspan/all/conanfile.py | 37 ++++++++++++------- .../mdspan/all/test_package/CMakeLists.txt | 2 + recipes/mdspan/config.yml | 2 + 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/recipes/mdspan/all/conandata.yml b/recipes/mdspan/all/conandata.yml index 0fafdc34b37c9..e43d2577da38b 100644 --- a/recipes/mdspan/all/conandata.yml +++ b/recipes/mdspan/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.0": + url: "https://github.com/kokkos/mdspan/archive/refs/tags/mdspan-0.6.0.tar.gz" + sha256: "79f94d7f692cbabfbaff6cd0d3434704435c853ee5087b182965fa929a48a592" "0.5.0": url: "https://github.com/kokkos/mdspan/archive/refs/tags/mdspan-0.5.0.tar.gz" sha256: "ffa73e5e0dcd78e5279cd3b51a4d983a1fbef696e630fd1287ce32d93d6642d1" diff --git a/recipes/mdspan/all/conanfile.py b/recipes/mdspan/all/conanfile.py index 521e78d3b8c7d..e3006cfddddbd 100644 --- a/recipes/mdspan/all/conanfile.py +++ b/recipes/mdspan/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.scm import Version -from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.52.0" @@ -16,22 +15,32 @@ class MDSpanConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/kokkos/mdspan" topics = ("multi-dimensional", "array", "span", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _minimum_cpp_standard(self): - return 14 + def _min_cppstd(self): + return "14" if Version(self.version) < "0.6.0" else "17" @property def _minimum_compilers_version(self): return { - "Visual Studio": "15" if Version(self.version) < "0.2.0" else "16", - "msvc": "191" if Version(self.version) < "0.2.0" else "192", - "gcc": "5", - "clang": "3.4", - "apple-clang": "5.1" - } + "14": { + "Visual Studio": "15" if Version(self.version) < "0.2.0" else "16", + "msvc": "191" if Version(self.version) < "0.2.0" else "192", + "gcc": "5", + "clang": "3.4", + "apple-clang": "5.1" + }, + "17": { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "12", + } + }.get(self._min_cppstd, {}) def layout(self): basic_layout(self, src_folder="src") @@ -41,17 +50,17 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) min_version = self._minimum_compilers_version.get( str(self.settings.compiler)) if not min_version: - self.output.warn(f"{self.ref} recipe lacks information about the {self.settings.compiler} " - "compiler support.") + self.output.warning(f"{self.ref} recipe lacks information about the {self.settings.compiler} " + "compiler support.") else: if Version(self.settings.compiler.version) < min_version: raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._minimum_cpp_standard} support. " - "The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") + f"{self.ref} requires C++{self._min_cppstd} support. " + f"The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") if str(self.settings.compiler) == "Visual Studio" and "16.6" <= Version(self.settings.compiler.version) < "17.0": raise ConanInvalidConfiguration( diff --git a/recipes/mdspan/all/test_package/CMakeLists.txt b/recipes/mdspan/all/test_package/CMakeLists.txt index bcf4df86e865c..ec6ceb3022ff8 100644 --- a/recipes/mdspan/all/test_package/CMakeLists.txt +++ b/recipes/mdspan/all/test_package/CMakeLists.txt @@ -13,6 +13,8 @@ endif() if(MSVC) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) +elseif(mdspan_VERSION VERSION_GREATER_EQUAL "0.6.0") + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) else() target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14) endif() diff --git a/recipes/mdspan/config.yml b/recipes/mdspan/config.yml index d13fcfd021b7b..babcbfb79d964 100644 --- a/recipes/mdspan/config.yml +++ b/recipes/mdspan/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.0": + folder: all "0.5.0": folder: all "0.4.0": From 430521e081d73c44df4336f77920074ec7b83cae Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 06:24:13 +0200 Subject: [PATCH 0091/4087] (#17105) aws-c-common: add AWS_COMMON_USE_IMPORT_EXPORT interface definition if shared * add AWS_COMMON_USE_IMPORT_EXPORT interface definition if shared * more elegant way to define target for legacy generators * typo --- recipes/aws-c-common/all/conanfile.py | 51 ++++++++++++++++++--------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/recipes/aws-c-common/all/conanfile.py b/recipes/aws-c-common/all/conanfile.py index 22976c3d4e8f5..4c7af96e0f6da 100644 --- a/recipes/aws-c-common/all/conanfile.py +++ b/recipes/aws-c-common/all/conanfile.py @@ -2,10 +2,11 @@ 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.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os +import textwrap required_conan_version = ">=1.53.0" @@ -82,26 +83,44 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-common")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-common": "aws-c-common::aws-c-common"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-common") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-common") - - self.cpp_info.filenames["cmake_find_package"] = "aws-c-common" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-common" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-common-lib"].set_property("cmake_target_name", "AWS::aws-c-common") - self.cpp_info.components["aws-c-common-lib"].names["cmake_find_package"] = "aws-c-common" - self.cpp_info.components["aws-c-common-lib"].names["cmake_find_package_multi"] = "aws-c-common" - - self.cpp_info.components["aws-c-common-lib"].libs = ["aws-c-common"] + self.cpp_info.libs = ["aws-c-common"] + if self.options.shared: + self.cpp_info.defines.append("AWS_COMMON_USE_IMPORT_EXPORT") if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["aws-c-common-lib"].system_libs = ["dl", "m", "pthread", "rt"] + self.cpp_info.system_libs = ["dl", "m", "pthread", "rt"] elif self.settings.os == "Windows": - self.cpp_info.components["aws-c-common-lib"].system_libs = ["bcrypt", "ws2_32"] + self.cpp_info.system_libs = ["bcrypt", "ws2_32"] if Version(self.version) >= "0.6.13": - self.cpp_info.components["aws-c-common-lib"].system_libs.append("shlwapi") + self.cpp_info.system_libs.append("shlwapi") if not self.options.shared: if is_apple_os(self): - self.cpp_info.components["aws-c-common-lib"].frameworks = ["CoreFoundation"] - self.cpp_info.components["aws-c-common-lib"].builddirs.append(os.path.join("lib", "cmake")) + self.cpp_info.frameworks = ["CoreFoundation"] + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] From 5b38180bb962677f465abe10e6682c17d412870a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 07:22:55 +0200 Subject: [PATCH 0092/4087] (#17095) websocketpp: add package_type + bump boost & asio * bump openssl & asio * add package_type * use version range for openssl --- recipes/websocketpp/all/conanfile.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recipes/websocketpp/all/conanfile.py b/recipes/websocketpp/all/conanfile.py index b624ce15c7838..2e4962181cae1 100644 --- a/recipes/websocketpp/all/conanfile.py +++ b/recipes/websocketpp/all/conanfile.py @@ -13,7 +13,7 @@ class WebsocketPPConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zaphoyd/websocketpp" license = "BSD-3-Clause" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "asio": ["boost", "standalone", False], @@ -34,13 +34,13 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1t", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) if self.options.with_zlib: self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) if self.options.asio == "standalone": - self.requires("asio/1.24.0", transitive_headers=True) + self.requires("asio/1.27.0", transitive_headers=True) elif self.options.asio == "boost": self.requires("boost/1.81.0", transitive_headers=True) @@ -48,8 +48,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) From 095b30567f576e3987a958c89c1dc320d273b7c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 07:53:21 +0200 Subject: [PATCH 0093/4087] (#17090) mailio: add package_type + bump openssl & cmake + few improvements * bump openssl * various improvements - call VirtualBuildEnv since there is a build requirement - bump cmake - don't use self.output.warn, it's not compatible with conan v2 - cleanup unused imports - add package_type * boost headers are public * use version range for openssl & cmake * more elegant version range for cmake * Revert "more elegant version range for cmake" This reverts commit 36fcdfe2ffa1ca501e8b9d7287e8fb38f204adc0. * Revert "Revert "more elegant version range for cmake"" This reverts commit 7db1e630e72ba9de7f27286f3c041cf3742ffc99. * no upper bound for cmake * upper bound --- recipes/mailio/all/conanfile.py | 42 ++++++++++---------- recipes/mailio/all/test_package/conanfile.py | 1 - 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/recipes/mailio/all/conanfile.py b/recipes/mailio/all/conanfile.py index 8024179a3697b..67ea0faeba25f 100644 --- a/recipes/mailio/all/conanfile.py +++ b/recipes/mailio/all/conanfile.py @@ -1,39 +1,39 @@ 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.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version 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.scm import Version import os required_conan_version = ">=1.53.0" -class mailioConan(ConanFile): +class MailioConan(ConanFile): name = "mailio" description = "mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols." license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/karastojko/mailio" topics = ("smtp", "imap", "email", "mail", "libraries", "cpp") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], - "shared": [True, False] + "shared": [True, False], } default_options = { "fPIC": True, - "shared": False + "shared": False, } short_paths = True @property def _min_cppstd(self): - return 17 + return "17" @property - def _compiler_required_cpp(self): + def _compilers_minimum_version(self): return { "gcc": "8.3", "clang": "6", @@ -57,35 +57,37 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0") - self.requires("openssl/1.1.1s") + self.requires("boost/1.81.0", transitive_headers=True) + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) - try: - minimum_required_compiler_version = self._compiler_required_cpp[str(self.settings.compiler)] - if Version(self.settings.compiler.version) < minimum_required_compiler_version: - raise ConanInvalidConfiguration(f"{self.ref} requires c++{self._min_cppstd} support. The current compiler does not support it.") - except KeyError: - self.output.warn(f"{self.ref} has no support for the current compiler. Please consider adding it.") + + 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): - # mailio requires cmake >= 3.16.3 - self.tool_requires("cmake/3.25.0") + self.tool_requires("cmake/[>=3.16.3 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) tc.variables["MAILIO_BUILD_SHARED_LIBRARY"] = self.options.shared tc.variables["MAILIO_BUILD_DOCUMENTATION"] = False tc.variables["MAILIO_BUILD_EXAMPLES"] = False tc.generate() - dpes = CMakeDeps(self) - dpes.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) diff --git a/recipes/mailio/all/test_package/conanfile.py b/recipes/mailio/all/test_package/conanfile.py index 1111583fea732..a9fb96656f203 100644 --- a/recipes/mailio/all/test_package/conanfile.py +++ b/recipes/mailio/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From 2f25d6a7735d0135cf91020c443a1297a953eafb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 10:55:18 +0200 Subject: [PATCH 0094/4087] (#17088) paho-mqtt-c: bump openssl + drop maintenance of 1.3.0 & 1.3.1 * bump openssl * drop maintenance of 1.3.0 & 1.3.1 * add anl to system libs if Linux * use version range for openssl --- recipes/paho-mqtt-c/all/conandata.yml | 20 --- recipes/paho-mqtt-c/all/conanfile.py | 46 ++--- ...1-fix-MinGW-and-OSX-builds-for-1-3-0.patch | 169 ------------------ ...2-fix-MinGW-and-OSX-builds-for-1-3-1.patch | 169 ------------------ .../patches/0004-fix-cmake-find-openssl.patch | 47 ----- recipes/paho-mqtt-c/config.yml | 4 - 6 files changed, 16 insertions(+), 439 deletions(-) delete mode 100644 recipes/paho-mqtt-c/all/patches/0001-fix-MinGW-and-OSX-builds-for-1-3-0.patch delete mode 100644 recipes/paho-mqtt-c/all/patches/0002-fix-MinGW-and-OSX-builds-for-1-3-1.patch delete mode 100644 recipes/paho-mqtt-c/all/patches/0004-fix-cmake-find-openssl.patch diff --git a/recipes/paho-mqtt-c/all/conandata.yml b/recipes/paho-mqtt-c/all/conandata.yml index 3cbc11b2a30de..97257e57f3eab 100644 --- a/recipes/paho-mqtt-c/all/conandata.yml +++ b/recipes/paho-mqtt-c/all/conandata.yml @@ -23,12 +23,6 @@ sources: "1.3.4": url: "https://github.com/eclipse/paho.mqtt.c/archive/v1.3.4.tar.gz" sha256: "1ae9b657b693254ed0710350df3dcf5232d1f479409a52861b5e5bb5cc3da046" - "1.3.1": - url: "https://github.com/eclipse/paho.mqtt.c/archive/v1.3.1.tar.gz" - sha256: "7b4eed66ae3df3613629139c0df28b16abfa4e0927bd17360027d936784aa55e" - "1.3.0": - url: "https://github.com/eclipse/paho.mqtt.c/archive/v1.3.0.tar.gz" - sha256: "87cf846b02dde6328b84832287d8725d91f12f41366eecb4d59eeda1d6c7efdf" patches: "1.3.9": - patch_file: "patches/0003-allow-static-windows-runtimes.patch" @@ -50,17 +44,3 @@ patches: - patch_file: "patches/0002-fix-MinGW-and-OSX-builds-for-1-3-4.patch" patch_description: "disable cpack, link win32 libs more, source patches for MinGW/OSX" patch_type: "conan" - "1.3.1": - - patch_file: "patches/0002-fix-MinGW-and-OSX-builds-for-1-3-1.patch" - patch_description: "disable cpack, link win32 libs more, source patches for MinGW/OSX" - patch_type: "conan" - - patch_file: "patches/0004-fix-cmake-find-openssl.patch" - patch_description: "use cci openssl" - patch_type: "conan" - "1.3.0": - - patch_file: "patches/0001-fix-MinGW-and-OSX-builds-for-1-3-0.patch" - patch_description: "disable cpack, link win32 libs more, source patches for MinGW/OSX" - patch_type: "conan" - - patch_file: "patches/0004-fix-cmake-find-openssl.patch" - patch_description: "use cci openssl" - patch_type: "conan" diff --git a/recipes/paho-mqtt-c/all/conanfile.py b/recipes/paho-mqtt-c/all/conanfile.py index 5979cabf16f7d..7af37a8f2229f 100644 --- a/recipes/paho-mqtt-c/all/conanfile.py +++ b/recipes/paho-mqtt-c/all/conanfile.py @@ -1,12 +1,11 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, replace_in_file -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, replace_in_file import os required_conan_version = ">=1.53.0" + class PahoMqttcConan(ConanFile): name = "paho-mqtt-c" description = "Eclipse Paho MQTT C client library for Linux, Windows and MacOS" @@ -31,10 +30,6 @@ class PahoMqttcConan(ConanFile): "high_performance": False, } - @property - def _has_high_performance_option(self): - return Version(self.version) >= "1.3.2" - def export_sources(self): export_conandata_patches(self) @@ -42,9 +37,6 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._has_high_performance_option: - del self.options.high_performance - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -57,11 +49,7 @@ def layout(self): def requirements(self): if self.options.ssl: # Headers are exposed https://github.com/eclipse/paho.mqtt.c/blob/f7799da95e347bbc930b201b52a1173ebbad45a7/src/SSLSocket.h#L29 - self.requires("openssl/1.1.1t", transitive_headers=True) - - def validate(self): - if not self.options.shared and Version(self.version) < "1.3.4": - raise ConanInvalidConfiguration(f"{self.ref} does not support static linking") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -80,8 +68,7 @@ def generate(self): if self.options.ssl: tc.cache_variables["OPENSSL_SEARCH_PATH"] = self.dependencies["openssl"].package_folder.replace("\\", "/") tc.cache_variables["OPENSSL_ROOT_DIR"] = self.dependencies["openssl"].package_folder.replace("\\", "/") - if self._has_high_performance_option: - tc.variables["PAHO_HIGH_PERFORMANCE"] = self.options.high_performance + tc.variables["PAHO_HIGH_PERFORMANCE"] = self.options.high_performance tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() @@ -119,27 +106,25 @@ def package(self): rm(self, "*.cmake", os.path.join(self.package_folder, "lib")) def package_info(self): - self.cpp_info.components["_paho-mqtt-c"].libs = [self._lib_target] - self.cpp_info.set_property("cmake_file_name", "eclipse-paho-mqtt-c") + self.cpp_info.set_property("cmake_target_name", f"eclipse-paho-mqtt-c::{self._cmake_target}") - self.cpp_info.components["_paho-mqtt-c"].set_property("cmake_target_name", f"eclipse-paho-mqtt-c::{self._cmake_target}") - + # TODO: back to global scope in conan v2 + self.cpp_info.components["_paho-mqtt-c"].libs = [self._lib_target] if self.settings.os == "Windows": if not self.options.shared: self.cpp_info.components["_paho-mqtt-c"].system_libs.append("ws2_32") if self.settings.compiler == "gcc": self.cpp_info.components["_paho-mqtt-c"].system_libs.extend( ["wsock32", "uuid", "crypt32", "rpcrt4"]) + elif self.settings.os == "Linux": + self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["anl", "c", "dl", "pthread"]) + elif self.settings.os == "FreeBSD": + self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["compat", "pthread"]) + elif self.settings.os == "Android": + self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["c"]) else: - if self.settings.os == "Linux": - self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["c", "dl", "pthread"]) - elif self.settings.os == "FreeBSD": - self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["compat", "pthread"]) - elif self.settings.os == "Android": - self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["c"]) - else: - self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["c", "pthread"]) + self.cpp_info.components["_paho-mqtt-c"].system_libs.extend(["c", "pthread"]) if self.options.ssl: self.cpp_info.components["_paho-mqtt-c"].requires = ["openssl::openssl"] @@ -149,6 +134,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "eclipse-paho-mqtt-c" self.cpp_info.components["_paho-mqtt-c"].names["cmake_find_package"] = self._cmake_target self.cpp_info.components["_paho-mqtt-c"].names["cmake_find_package_multi"] = self._cmake_target + self.cpp_info.components["_paho-mqtt-c"].set_property("cmake_target_name", f"eclipse-paho-mqtt-c::{self._cmake_target}") @property def _epl_file(self): @@ -172,6 +158,6 @@ def _lib_target(self): target += "s" if not self.options.shared: # https://github.com/eclipse/paho.mqtt.c/blob/317fb008e1541838d1c29076d2bc5c3e4b6c4f53/src/CMakeLists.txt#L154 - if Version(self.version) < "1.3.2" or self.settings.os == "Windows": + if self.settings.os == "Windows": target += "-static" return target diff --git a/recipes/paho-mqtt-c/all/patches/0001-fix-MinGW-and-OSX-builds-for-1-3-0.patch b/recipes/paho-mqtt-c/all/patches/0001-fix-MinGW-and-OSX-builds-for-1-3-0.patch deleted file mode 100644 index 8b2cf63dd0649..0000000000000 --- a/recipes/paho-mqtt-c/all/patches/0001-fix-MinGW-and-OSX-builds-for-1-3-0.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b53745b..d8787d8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -37,7 +37,7 @@ STRING(TIMESTAMP BUILD_TIMESTAMP UTC) - MESSAGE(STATUS "Timestamp is ${BUILD_TIMESTAMP}") - - IF(WIN32) -- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN -MD) -+ ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN) - ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - ADD_DEFINITIONS(-DOSX) - ENDIF() -@@ -61,34 +61,6 @@ IF(PAHO_BUILD_DOCUMENTATION) - ADD_SUBDIRECTORY(doc) - ENDIF() - --IF (PAHO_ENABLE_CPACK) -- ### packaging settings -- FILE(GLOB samples "src/samples/*.c") -- INSTALL(FILES ${samples} DESTINATION samples) -- -- SET(CPACK_PACKAGE_VENDOR "Eclipse Paho") -- SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C") -- INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION .) -- -- IF (WIN32) -- SET(CPACK_GENERATOR "ZIP") -- ELSEIF(PAHO_BUILD_DEB_PACKAGE) -- INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION .) -- -- SET(CPACK_GENERATOR "DEB") -- CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in -- ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY) -- SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake) -- ADD_SUBDIRECTORY(debian) -- ELSE() -- SET(CPACK_GENERATOR "TGZ") -- ENDIF() --ELSE() -- FILE(GLOB samples "src/samples/*.c") -- INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}) -- --ENDIF() -- - SET(CPACK_PACKAGE_VERSION_MAJOR ${PAHO_VERSION_MAJOR}) - SET(CPACK_PACKAGE_VERSION_MINOR ${PAHO_VERSION_MINOR}) - SET(CPACK_PACKAGE_VERSION_PATCH ${PAHO_VERSION_PATCH}) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index b46eaca..399b37d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -55,7 +55,7 @@ SET(common_src - ) - - IF (WIN32) -- SET(LIBS_SYSTEM ws2_32) -+ SET(LIBS_SYSTEM ws2_32 rpcrt4 crypt32 wsock32) - ELSEIF (UNIX) - IF(CMAKE_SYSTEM_NAME MATCHES "Linux") - SET(LIBS_SYSTEM c dl pthread) -diff --git a/src/MQTTAsync.c b/src/MQTTAsync.c -index a5813b4..4f209ec 100644 ---- a/src/MQTTAsync.c -+++ b/src/MQTTAsync.c -@@ -205,6 +205,14 @@ START_TIME_TYPE MQTTAsync_start_clock(void) - clock_gettime(CLOCK_MONOTONIC, &start); - return start; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+#define START_TIME_TYPE struct timeval -+START_TIME_TYPE MQTTAsync_start_clock(void) -+{ -+ static struct timeval start; -+ gettimeofday(&start, NULL); -+ return start; -+} - #else - #define START_TIME_TYPE struct timeval - START_TIME_TYPE MQTTAsync_start_clock(void) -@@ -235,6 +243,16 @@ long MQTTAsync_elapsed(struct timespec start) - ntimersub(now, start, res); - return (res.tv_sec)*1000L + (res.tv_nsec)/1000000L; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+ -+long MQTTAsync_elapsed(struct timeval start) -+{ -+ struct timeval now, res; -+ -+ gettimeofday(&now, NULL); -+ timersub(&now, &start, &res); -+ return (res.tv_sec)*1000 + (res.tv_usec)/1000; -+} - #else - long MQTTAsync_elapsed(struct timeval start) - { -diff --git a/src/MQTTClient.c b/src/MQTTClient.c -index 2069ff9..faee1ae 100644 ---- a/src/MQTTClient.c -+++ b/src/MQTTClient.c -@@ -258,6 +258,14 @@ START_TIME_TYPE MQTTClient_start_clock(void) - clock_gettime(CLOCK_MONOTONIC, &start); - return start; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+#define START_TIME_TYPE struct timeval -+START_TIME_TYPE MQTTClient_start_clock(void) -+{ -+ static struct timeval start; -+ gettimeofday(&start, NULL); -+ return start; -+} - #else - #define START_TIME_TYPE struct timeval - START_TIME_TYPE MQTTClient_start_clock(void) -@@ -288,6 +296,15 @@ long MQTTClient_elapsed(struct timespec start) - ntimersub(now, start, res); - return (res.tv_sec)*1000L + (res.tv_nsec)/1000000L; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+long MQTTClient_elapsed(struct timeval start) -+{ -+ struct timeval now, res; -+ -+ gettimeofday(&now, NULL); -+ timersub(&now, &start, &res); -+ return (res.tv_sec)*1000 + (res.tv_usec)/1000; -+} - #else - long MQTTClient_elapsed(struct timeval start) - { -diff --git a/src/Thread.c b/src/Thread.c -index 4cb2f16..40ce8dc 100644 ---- a/src/Thread.c -+++ b/src/Thread.c -@@ -409,9 +409,16 @@ int Thread_wait_cond(cond_type condvar, int timeout) - struct timespec cond_timeout; - - FUNC_ENTRY; -+#if defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+ struct timeval cur_time; -+ gettimeofday(&cur_time, NULL); -+ cond_timeout.tv_sec = cur_time.tv_sec + timeout; -+ cond_timeout.tv_nsec = cur_time.tv_usec * 1000; -+#else - clock_gettime(CLOCK_REALTIME, &cond_timeout); - - cond_timeout.tv_sec += timeout; -+#endif - pthread_mutex_lock(&condvar->mutex); - rc = pthread_cond_timedwait(&condvar->cond, &condvar->mutex, &cond_timeout); - pthread_mutex_unlock(&condvar->mutex); -diff --git a/src/WebSocket.c b/src/WebSocket.c -index 47b1dad..3f96dac 100644 ---- a/src/WebSocket.c -+++ b/src/WebSocket.c -@@ -28,6 +28,11 @@ - #include "MQTTProtocolOut.h" - #include "StackTrace.h" - -+#ifdef __MINGW32__ -+#define htonll __builtin_bswap64 -+#define ntohll __builtin_bswap64 -+#endif -+ - #if defined(__linux__) - # include - #elif defined(__APPLE__) diff --git a/recipes/paho-mqtt-c/all/patches/0002-fix-MinGW-and-OSX-builds-for-1-3-1.patch b/recipes/paho-mqtt-c/all/patches/0002-fix-MinGW-and-OSX-builds-for-1-3-1.patch deleted file mode 100644 index 5ffa0a2a42da0..0000000000000 --- a/recipes/paho-mqtt-c/all/patches/0002-fix-MinGW-and-OSX-builds-for-1-3-1.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b53745b..d8787d8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -37,7 +37,7 @@ STRING(TIMESTAMP BUILD_TIMESTAMP UTC) - MESSAGE(STATUS "Timestamp is ${BUILD_TIMESTAMP}") - - IF(WIN32) -- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN -MD) -+ ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN) - ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - ADD_DEFINITIONS(-DOSX) - ENDIF() -@@ -61,34 +61,6 @@ IF(PAHO_BUILD_DOCUMENTATION) - ADD_SUBDIRECTORY(doc) - ENDIF() - --IF (PAHO_ENABLE_CPACK) -- ### packaging settings -- FILE(GLOB samples "src/samples/*.c") -- INSTALL(FILES ${samples} DESTINATION samples) -- -- SET(CPACK_PACKAGE_VENDOR "Eclipse Paho") -- SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C") -- INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION .) -- -- IF (WIN32) -- SET(CPACK_GENERATOR "ZIP") -- ELSEIF(PAHO_BUILD_DEB_PACKAGE) -- INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION .) -- -- SET(CPACK_GENERATOR "DEB") -- CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in -- ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY) -- SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake) -- ADD_SUBDIRECTORY(debian) -- ELSE() -- SET(CPACK_GENERATOR "TGZ") -- ENDIF() --ELSE() -- FILE(GLOB samples "src/samples/*.c") -- INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}) -- --ENDIF() -- - SET(CPACK_PACKAGE_VERSION_MAJOR ${PAHO_VERSION_MAJOR}) - SET(CPACK_PACKAGE_VERSION_MINOR ${PAHO_VERSION_MINOR}) - SET(CPACK_PACKAGE_VERSION_PATCH ${PAHO_VERSION_PATCH}) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index b46eaca..399b37d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -55,7 +55,7 @@ SET(common_src - ) - - IF (WIN32) -- SET(LIBS_SYSTEM ws2_32) -+ SET(LIBS_SYSTEM ws2_32 rpcrt4 crypt32 wsock32) - ELSEIF (UNIX) - IF(CMAKE_SYSTEM_NAME MATCHES "Linux") - SET(LIBS_SYSTEM c dl pthread) -diff --git a/src/MQTTAsync.c b/src/MQTTAsync.c -index a5813b4..4f209ec 100644 ---- a/src/MQTTAsync.c -+++ b/src/MQTTAsync.c -@@ -205,6 +205,14 @@ START_TIME_TYPE MQTTAsync_start_clock(void) - clock_gettime(CLOCK_MONOTONIC, &start); - return start; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+#define START_TIME_TYPE struct timeval -+START_TIME_TYPE MQTTAsync_start_clock(void) -+{ -+ static struct timeval start; -+ gettimeofday(&start, NULL); -+ return start; -+} - #else - #define START_TIME_TYPE struct timeval - START_TIME_TYPE MQTTAsync_start_clock(void) -@@ -255,6 +263,16 @@ long MQTTAsync_elapsed(struct timespec start) - ntimersub(now, start, res); - return (res.tv_sec)*1000L + (res.tv_nsec)/1000000L; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+ -+long MQTTAsync_elapsed(struct timeval start) -+{ -+ struct timeval now, res; -+ -+ gettimeofday(&now, NULL); -+ timersub(&now, &start, &res); -+ return (res.tv_sec)*1000 + (res.tv_usec)/1000; -+} - #else - long MQTTAsync_elapsed(struct timeval start) - { -diff --git a/src/MQTTClient.c b/src/MQTTClient.c -index 2069ff9..faee1ae 100644 ---- a/src/MQTTClient.c -+++ b/src/MQTTClient.c -@@ -258,6 +258,14 @@ START_TIME_TYPE MQTTClient_start_clock(void) - clock_gettime(CLOCK_MONOTONIC, &start); - return start; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+#define START_TIME_TYPE struct timeval -+START_TIME_TYPE MQTTClient_start_clock(void) -+{ -+ static struct timeval start; -+ gettimeofday(&start, NULL); -+ return start; -+} - #else - #define START_TIME_TYPE struct timeval - START_TIME_TYPE MQTTClient_start_clock(void) -@@ -288,6 +296,15 @@ long MQTTClient_elapsed(struct timespec start) - ntimersub(now, start, res); - return (res.tv_sec)*1000L + (res.tv_nsec)/1000000L; - } -+#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+long MQTTClient_elapsed(struct timeval start) -+{ -+ struct timeval now, res; -+ -+ gettimeofday(&now, NULL); -+ timersub(&now, &start, &res); -+ return (res.tv_sec)*1000 + (res.tv_usec)/1000; -+} - #else - long MQTTClient_elapsed(struct timeval start) - { -diff --git a/src/Thread.c b/src/Thread.c -index 4cb2f16..40ce8dc 100644 ---- a/src/Thread.c -+++ b/src/Thread.c -@@ -411,9 +411,16 @@ int Thread_wait_cond(cond_type condvar, int timeout) - struct timespec cond_timeout; - - FUNC_ENTRY; -+#if defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -+ struct timeval cur_time; -+ gettimeofday(&cur_time, NULL); -+ cond_timeout.tv_sec = cur_time.tv_sec + timeout; -+ cond_timeout.tv_nsec = cur_time.tv_usec * 1000; -+#else - clock_gettime(CLOCK_REALTIME, &cond_timeout); - - cond_timeout.tv_sec += timeout; -+#endif - pthread_mutex_lock(&condvar->mutex); - rc = pthread_cond_timedwait(&condvar->cond, &condvar->mutex, &cond_timeout); - pthread_mutex_unlock(&condvar->mutex); -diff --git a/src/WebSocket.c b/src/WebSocket.c -index 47b1dad..3f96dac 100644 ---- a/src/WebSocket.c -+++ b/src/WebSocket.c -@@ -29,6 +28,11 @@ - #include "SocketBuffer.h" - #include "StackTrace.h" - -+#ifdef __MINGW32__ -+#define htonll __builtin_bswap64 -+#define ntohll __builtin_bswap64 -+#endif -+ - #if defined(__linux__) - # include - #elif defined(__APPLE__) diff --git a/recipes/paho-mqtt-c/all/patches/0004-fix-cmake-find-openssl.patch b/recipes/paho-mqtt-c/all/patches/0004-fix-cmake-find-openssl.patch deleted file mode 100644 index 54de70390b304..0000000000000 --- a/recipes/paho-mqtt-c/all/patches/0004-fix-cmake-find-openssl.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 399b37d..55fee4f 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -108,29 +108,10 @@ INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h - IF (PAHO_WITH_SSL) - SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes") - -- IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") -- SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl") -- ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") -- -- IF (WIN32) -- SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64") -- SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") -- IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT}) -- IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86") -- SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32") -- SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32") -- ENDIF () -- ENDIF () -- ELSE() -- SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") -- ENDIF () -- -- FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h -- HINTS ${OPENSSL_SEARCH_PATH}/include) -- FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl ssleay32 -- HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH}) -- FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES crypto libcrypto libeay32 -- HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH}) -+ find_package(OpenSSL REQUIRED CONFIG) -+ -+ SET(OPENSSL_LIB ${OPENSSL_SSL_LIBRARY}) -+ SET(OPENSSLCRYPTO_LIB ${OPENSSL_CRYPTO_LIBRARY}) - - MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}") - MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}") -@@ -151,6 +132,8 @@ IF (PAHO_WITH_SSL) - - TARGET_LINK_LIBRARIES(paho-mqtt3cs ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM}) - TARGET_LINK_LIBRARIES(paho-mqtt3as ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM}) -+ target_link_directories(paho-mqtt3cs PRIVATE "${OPENSSL_ROOT_DIR}/lib") -+ target_link_directories(paho-mqtt3as PRIVATE "${OPENSSL_ROOT_DIR}/lib") - SET_TARGET_PROPERTIES( - paho-mqtt3cs paho-mqtt3as PROPERTIES - VERSION ${CLIENT_VERSION} diff --git a/recipes/paho-mqtt-c/config.yml b/recipes/paho-mqtt-c/config.yml index bb19e3738404a..7d5e8aea45866 100644 --- a/recipes/paho-mqtt-c/config.yml +++ b/recipes/paho-mqtt-c/config.yml @@ -15,7 +15,3 @@ versions: folder: "all" "1.3.4": folder: "all" - "1.3.1": - folder: "all" - "1.3.0": - folder: "all" From 5815ed963ba704dcae9aa7e94624ff2be16222b5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 15:32:30 +0200 Subject: [PATCH 0095/4087] (#17279) cppserver: use version range for openssl & bump asio --- recipes/cppserver/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cppserver/all/conanfile.py b/recipes/cppserver/all/conanfile.py index 91e6f623b52d8..785bad0fb6e29 100644 --- a/recipes/cppserver/all/conanfile.py +++ b/recipes/cppserver/all/conanfile.py @@ -57,8 +57,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("asio/1.24.0") - self.requires("openssl/1.1.1s") + self.requires("asio/1.27.0") + self.requires("openssl/[>=1.1 <4]") self.requires("cppcommon/1.0.3.0") def validate(self): From 30f251ea17f37dacbbec239ade45e9f5ff469c2f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 16:23:26 +0200 Subject: [PATCH 0096/4087] (#17280) zlib: add mirror url for tarball of 1.2.13 --- recipes/zlib/all/conandata.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/zlib/all/conandata.yml b/recipes/zlib/all/conandata.yml index e2abd8cd4f339..4da75436b4d71 100644 --- a/recipes/zlib/all/conandata.yml +++ b/recipes/zlib/all/conandata.yml @@ -1,6 +1,8 @@ sources: "1.2.13": - url: "https://zlib.net/fossils/zlib-1.2.13.tar.gz" + url: + - "https://zlib.net/fossils/zlib-1.2.13.tar.gz" + - "https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz" sha256: "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30" "1.2.12": url: "https://zlib.net/fossils/zlib-1.2.12.tar.gz" From f485b5732ed0f797c87f8b02a9147193ad7d895f Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Fri, 28 Apr 2023 07:42:42 -0700 Subject: [PATCH 0097/4087] (#17205) wavelet_buffer: remove cmake_new_enough --- recipes/wavelet_buffer/all/conanfile.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/recipes/wavelet_buffer/all/conanfile.py b/recipes/wavelet_buffer/all/conanfile.py index d2fc690c180b0..69a04b499e31b 100644 --- a/recipes/wavelet_buffer/all/conanfile.py +++ b/recipes/wavelet_buffer/all/conanfile.py @@ -17,7 +17,7 @@ class WaveletBufferConan(ConanFile): topics = ("compression", "signal-processing", "wavelet") homepage = "https://github.com/panda-official/WaveletBuffer" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -80,24 +80,11 @@ def validate(self): if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared with Visual Studio.") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.0") + self.tool_requires("cmake/[>=3.16 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From fa2853d170a640559f173cc1a8faf862f1d7aaf2 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Fri, 28 Apr 2023 08:07:36 -0700 Subject: [PATCH 0098/4087] (#17200) h3: drop cmake_new_enough MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * h3: drop cmake_new_enough uses https://github.com/conan-io/conan-center-index/pull/17192 instead * Update recipes/h3/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/h3/all/conanfile.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/recipes/h3/all/conanfile.py b/recipes/h3/all/conanfile.py index 50c5d475b2fea..1976ac70237aa 100644 --- a/recipes/h3/all/conanfile.py +++ b/recipes/h3/all/conanfile.py @@ -46,20 +46,9 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "4.1.0" and not self._cmake_new_enough("3.20"): - self.tool_requires("cmake/3.25.2") + if Version(self.version) >= "4.1.0": + self.tool_requires("cmake/[>=3.20 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From fe0ea28798c38315ff0819c682fda8a034081f9b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 17:43:48 +0200 Subject: [PATCH 0099/4087] (#17098) gsoap: add package_type + bump openssl & bison * bump openssl & bison * add package_type * cleanup topics * openssl headers are public * fix test package * use winflexbison if build machine is Windows * minor change * test package workaround for conan v1 client * use version range for openssl --- recipes/gsoap/all/conanfile.py | 13 +++--- recipes/gsoap/all/test_package/conanfile.py | 44 ++++++++++++------- .../gsoap/all/test_v1_package/conanfile.py | 16 ++++--- 3 files changed, 46 insertions(+), 27 deletions(-) diff --git a/recipes/gsoap/all/conanfile.py b/recipes/gsoap/all/conanfile.py index 49ca4cbe85bbd..38b4629ae4211 100644 --- a/recipes/gsoap/all/conanfile.py +++ b/recipes/gsoap/all/conanfile.py @@ -3,7 +3,6 @@ from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get -from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.52.0" @@ -16,7 +15,8 @@ class GsoapConan(ConanFile): license = ("gSOAP-1.3b", "GPL-2.0-or-later") url = "https://github.com/conan-io/conan-center-index" homepage = "https://sourceforge.net/projects/gsoap2" - topics = ("gsoap", "logging") + topics = ("logging",) + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -49,22 +49,21 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) self.requires("zlib/1.2.13") def build_requirements(self): if cross_building(self, skip_x64_x86=True) and hasattr(self, "settings_build"): self.tool_requires(f"gsoap/{self.version}") - if is_msvc(self, build_context=True): + if self._settings_build.os == "Windows": self.tool_requires("winflexbison/2.5.24") else: - self.tool_requires("bison/3.7.6") + self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): toolchain = CMakeToolchain(self) diff --git a/recipes/gsoap/all/test_package/conanfile.py b/recipes/gsoap/all/test_package/conanfile.py index b6f1a8aefca6f..1ea623e022729 100644 --- a/recipes/gsoap/all/test_package/conanfile.py +++ b/recipes/gsoap/all/test_package/conanfile.py @@ -1,33 +1,47 @@ -from conan import ConanFile -from conan.tools.build import can_run, cross_building +from conan import ConanFile, conan_version +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.scm import Version import os -class TestGsoapConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "CMakeToolchain" test_type = "explicit" def layout(self): cmake_layout(self) def requirements(self): - self.requires(self.tested_reference_str) + self.requires(self.tested_reference_str, run=can_run(self)) - def build(self): - # TODO: Add some test for the cross-building scenario + 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() - if not cross_building(self): - 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}", env="conanrun") + def build(self): + 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}") + if Version(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") - self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h", env="conanrun") + else: + import_dir = os.path.join(self.dependencies["gsoap"].package_folder, "bin", "import") + self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h") - cmake = CMake(self) - cmake.configure() - cmake.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): if can_run(self): diff --git a/recipes/gsoap/all/test_v1_package/conanfile.py b/recipes/gsoap/all/test_v1_package/conanfile.py index efaa7d687c237..27d9e27609d72 100644 --- a/recipes/gsoap/all/test_v1_package/conanfile.py +++ b/recipes/gsoap/all/test_v1_package/conanfile.py @@ -5,16 +5,22 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" + test_type = "explicit" - def build(self): - # TODO: Add some test for the cross-building scenario + def requirements(self): + self.requires(self.tested_reference_str) - if not tools.cross_building(self): + def build_requirements(self): + if hasattr(self, "settings_build"): + self.build_requires(self.tested_reference_str) + + def build(self): + with tools.no_op() if hasattr(self, "settings_build") else tools.run_environment(self): calc_wsdl = os.path.join(self.source_folder, os.pardir, "test_package", "calc.wsdl") self.output.info(f"Generating code from WSDL '{calc_wsdl}'") - self.run(f"wsdl2h -o calc.h {calc_wsdl}", run_environment=True) + self.run(f"wsdl2h -o calc.h {calc_wsdl}") import_dir = os.path.join(self.deps_cpp_info["gsoap"].rootpath, "bin", "import") - self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h", run_environment=True) + self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h") cmake = CMake(self) cmake.configure() From 470686fda1856e859305876811998d8077036e7a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 28 Apr 2023 18:01:51 +0200 Subject: [PATCH 0100/4087] (#17278) [bot] Update authorized users list (2023-04-27) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 38d2519d6078c..1ecee66230033 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1128,3 +1128,4 @@ authorized_users: - silvergasp - doocman - gouarin +- gegles From 98d3128500cdf3cd0c204804af1d4b2b5af6f1c7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 18:24:08 +0200 Subject: [PATCH 0101/4087] (#17087) qpdf: bump openssl * bump openssl * use version range for openssl * use version range for cmake * more elegant version range for cmake * remove _cmake_new_enough * upper bound --- recipes/qpdf/all/conanfile.py | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/recipes/qpdf/all/conanfile.py b/recipes/qpdf/all/conanfile.py index b3981f4ed09dc..d5b0654a5d179 100644 --- a/recipes/qpdf/all/conanfile.py +++ b/recipes/qpdf/all/conanfile.py @@ -64,9 +64,7 @@ def requirements(self): # https://qpdf.readthedocs.io/en/stable/installation.html#basic-dependencies self.requires("zlib/1.2.13") if self.options.with_ssl == "openssl": - self.requires("openssl/1.1.1t") - elif self.options.with_ssl == "gnutls": - raise ConanInvalidConfiguration("GnuTLS is not available in Conan Center yet.") + self.requires("openssl/[>=1.1 <4]") if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": @@ -84,20 +82,11 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False + if self.options.with_ssl == "gnutls": + raise ConanInvalidConfiguration("GnuTLS is not available in Conan Center yet.") def build_requirements(self): - if not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/[>=3.16 <4]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") From 359a0ae2439e27aa1d5aac1155fda776fc47f534 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 19:02:26 +0200 Subject: [PATCH 0102/4087] (#17287) duckdb: use version range for openssl --- recipes/duckdb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index e4e20e16d2314..34aad40c19a16 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -81,7 +81,7 @@ def requirements(self): if self.options.with_odbc: self.requires("odbc/2.3.11") if self.options.with_httpfs: - self.requires("openssl/3.0.7") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.cppstd: From 9d6eafdcf67ebc22c9886372aa2db4937b66878e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 19:43:37 +0200 Subject: [PATCH 0103/4087] (#17080) opusfile: add package_type + bump openssl * bump openssl * add package_type * add transitive headers * opus also public * use version range for openssl --- recipes/opusfile/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/opusfile/all/conanfile.py b/recipes/opusfile/all/conanfile.py index c7c9a6ee8b4e2..ec4750c742092 100644 --- a/recipes/opusfile/all/conanfile.py +++ b/recipes/opusfile/all/conanfile.py @@ -18,6 +18,7 @@ class OpusFileConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/xiph/opusfile" license = "BSD-3-Clause" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -55,10 +56,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("ogg/1.3.5") - self.requires("opus/1.3.1") + self.requires("ogg/1.3.5", transitive_headers=True) + self.requires("opus/1.3.1", transitive_headers=True) if self.options.http: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def validate(self): if is_msvc(self) and self.options.shared: From da463ec9dddc3bc4d3482c718f0f58532f3d355c Mon Sep 17 00:00:00 2001 From: Gregory Popovitch Date: Fri, 28 Apr 2023 14:02:10 -0400 Subject: [PATCH 0104/4087] (#17291) [parallel-hashmap] Update version to 1.3.11 * [parallel-hashmap] Update version to 1.3.11 and conan v2 support * Add GTL Package * Revert "Add GTL Package" This reverts commit 6dd5d607c15c9ccd9ad11d07f941490a9224dd19. * Update recipes/parallel-hashmap/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/parallel-hashmap/all/conandata.yml | 3 +++ recipes/parallel-hashmap/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/parallel-hashmap/all/conandata.yml b/recipes/parallel-hashmap/all/conandata.yml index 41fe3e31571e0..e810473c6e2e7 100644 --- a/recipes/parallel-hashmap/all/conandata.yml +++ b/recipes/parallel-hashmap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.11": + 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" sha256: "c4562ea360dc1dcaddd96a0494c753400364a52c7aa9750de49d8e6a222d28d3" diff --git a/recipes/parallel-hashmap/config.yml b/recipes/parallel-hashmap/config.yml index 2115f091019fe..a8a50d11cadad 100644 --- a/recipes/parallel-hashmap/config.yml +++ b/recipes/parallel-hashmap/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.11": + folder: all "1.3.8": folder: all "1.37": From f3d9a7f9c8218ce614e2e57a3b4b7e1f9360c14e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 20:24:19 +0200 Subject: [PATCH 0105/4087] (#17259) cpp-httplib: use version range for openssl --- recipes/cpp-httplib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-httplib/all/conanfile.py b/recipes/cpp-httplib/all/conanfile.py index 218cdbba77338..fafe791af7015 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -35,7 +35,7 @@ def config_options(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.get_safe("with_brotli"): From 5fba21b506a69bbb9a932b057674b175a64e60f8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 21:03:05 +0200 Subject: [PATCH 0106/4087] (#17290) libtiff: bump dependencies --- recipes/libtiff/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index ed90e33f1af31..9d78f893c2d31 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -83,9 +83,9 @@ def requirements(self): if self.options.zlib: self.requires("zlib/1.2.13") if self.options.get_safe("libdeflate"): - self.requires("libdeflate/1.17") + self.requires("libdeflate/1.18") if self.options.lzma: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": @@ -95,7 +95,7 @@ def requirements(self): if self.options.jbig: self.requires("jbig/20160605") if self.options.get_safe("zstd"): - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") if self.options.get_safe("webp"): self.requires("libwebp/1.3.0") From d04defadff2c3618ce4946cb9cf3546dbb8ac2bb Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Fri, 28 Apr 2023 12:43:10 -0700 Subject: [PATCH 0107/4087] (#17266) restinio: bump dependencies * restinio: bump dependencies * fixup: typo for boot version --- recipes/restinio/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index f8da952c6fcac..16542fcac1126 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -46,7 +46,7 @@ def requirements(self): else: self.requires("fmt/8.1.1") - self.requires("expected-lite/0.5.0") + self.requires("expected-lite/0.6.2") self.requires("optional-lite/3.5.0") self.requires("string-view-lite/1.6.0") self.requires("variant-lite/2.0.0") @@ -58,15 +58,15 @@ def requirements(self): self.requires("asio/1.16.1") else: if Version(self.version) >= "0.6.9": - self.requires("boost/1.78.0") + self.requires("boost/1.81.0") else: self.requires("boost/1.73.0") if self.options.with_openssl: - self.requires("openssl/1.1.1n") + self.requires("openssl/1.1.1t") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") if self.options.with_pcre == 1: self.requires("pcre/8.45") From 2dc2a4fa215e47d613a38b911cd781cde16e404f Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Fri, 28 Apr 2023 13:03:11 -0700 Subject: [PATCH 0108/4087] (#17265) expected-lite: add version 0.6.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/expected-lite/all/conandata.yml | 3 +++ recipes/expected-lite/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/expected-lite/all/conandata.yml b/recipes/expected-lite/all/conandata.yml index 164f98f702d8b..d3a6677071af2 100644 --- a/recipes/expected-lite/all/conandata.yml +++ b/recipes/expected-lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.3": + url: "https://github.com/martinmoene/expected-lite/archive/v0.6.3.tar.gz" + sha256: "b2f90d5f03f6423ec67cc3c06fd0c4e813ec10c4313062b875b37d17593b57b4" "0.6.2": url: "https://github.com/martinmoene/expected-lite/archive/v0.6.2.tar.gz" sha256: "8e3c58fddb32abc22a429543440554f1ae50d1de3fb9a0abf699bc3f247dc1da" diff --git a/recipes/expected-lite/config.yml b/recipes/expected-lite/config.yml index ad5f08f24e4fd..9fcad808e37e7 100644 --- a/recipes/expected-lite/config.yml +++ b/recipes/expected-lite/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.3": + folder: all "0.6.2": folder: all "0.6.1": From 23ae3c36e23d703a16dccb8e6de4c7cdd9fce569 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 28 Apr 2023 22:25:53 +0200 Subject: [PATCH 0109/4087] (#17233) qarchive: fix recipe for conan v2 + use version range for cmake - use conan.tools.files.copy instead of self.copy - add package_type - protect double deletion of fPIC - bump dependencies - use version range for cmake - fix import of cmake_layout in test package --- recipes/qarchive/all/conanfile.py | 25 +++++++++---------- .../qarchive/all/test_package/conanfile.py | 4 +-- .../all/test_v1_package/CMakeLists.txt | 11 +++----- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/recipes/qarchive/all/conanfile.py b/recipes/qarchive/all/conanfile.py index 5cf8969c4ade0..b299a0c2ae050 100644 --- a/recipes/qarchive/all/conanfile.py +++ b/recipes/qarchive/all/conanfile.py @@ -1,11 +1,11 @@ from conan import ConanFile -from conan.tools.files import get, apply_conandata_patches, rmdir, save, export_conandata_patches from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class QarchiveConan(ConanFile): @@ -18,7 +18,7 @@ class QarchiveConan(ConanFile): "This library helps you to extract and compress archives supported by libarchive" ) topics = ("qt", "compress", "libarchive") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -42,21 +42,20 @@ 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("libarchive/3.6.1") - self.requires("qt/5.15.7") + self.requires("libarchive/3.6.2") + self.requires("qt/5.15.9") def build_requirements(self): - self.tool_requires("cmake/3.24.2") - - def layout(self): - cmake_layout(self, src_folder="src") + self.tool_requires("cmake/[>=3.17 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -73,7 +72,7 @@ def build(self): cmake.build() def package(self): - self.copy("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")) diff --git a/recipes/qarchive/all/test_package/conanfile.py b/recipes/qarchive/all/test_package/conanfile.py index 0a318ba85a952..8e6ae76816f4e 100644 --- a/recipes/qarchive/all/test_package/conanfile.py +++ b/recipes/qarchive/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 -from conan.tools.layout import cmake_layout +from conan.tools.cmake import CMake, cmake_layout + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" diff --git a/recipes/qarchive/all/test_v1_package/CMakeLists.txt b/recipes/qarchive/all/test_v1_package/CMakeLists.txt index cf1b8efc8c833..0d20897301b68 100644 --- a/recipes/qarchive/all/test_v1_package/CMakeLists.txt +++ b/recipes/qarchive/all/test_v1_package/CMakeLists.txt @@ -1,13 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(QArchive REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} QArchive) -# Must compile with "-fPIC" since Qt was built with -reduce-relocations. -target_compile_options(${PROJECT_NAME} PRIVATE -fPIC) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 98150fd03a7148a01eb8a5a57ee0f85aa136e812 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 28 Apr 2023 16:12:18 -0500 Subject: [PATCH 0110/4087] (#17197) libffi/3.4.3: Add patch to allow building with the C2x standard This patch allows building with newer versions of Clang out-of-the-box. Clang 15.0.0 removed support for implicit function declarations. This is mentioned here: https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html#c2x-feature-support. This removal breaks builds using the default C standard in Clang. This is because the function open_temp_exec_file is not properly declared. This patch is from the upstream project and declares the function. --- recipes/libffi/all/conandata.yml | 4 +++ ...-forward-declare-open_temp_exec_file.patch | 30 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 recipes/libffi/all/patches/0007-3.4.3-forward-declare-open_temp_exec_file.patch diff --git a/recipes/libffi/all/conandata.yml b/recipes/libffi/all/conandata.yml index f5c063ead8052..3333c954f7024 100644 --- a/recipes/libffi/all/conandata.yml +++ b/recipes/libffi/all/conandata.yml @@ -22,6 +22,10 @@ patches: - patch_file: "patches/0004-3.3-fix-complex-type-msvc.patch" - patch_file: "patches/0005-3.4.3-do-not-install-libraries-to-arch-dependent-directories.patch" - patch_file: "patches/0006-3.4.3-library-no-version-suffix.patch" + - patch_file: "patches/0007-3.4.3-forward-declare-open_temp_exec_file.patch" + patch_type: "portability" + patch_source: "https://github.com/libffi/libffi/pull/764" + patch_description: "Forward declare the open_temp_exec_file function which is required by the C99 standard" "3.4.2": - patch_file: "patches/0002-3.4.2-fix-libtool-path.patch" - patch_file: "patches/0004-3.3-fix-complex-type-msvc.patch" diff --git a/recipes/libffi/all/patches/0007-3.4.3-forward-declare-open_temp_exec_file.patch b/recipes/libffi/all/patches/0007-3.4.3-forward-declare-open_temp_exec_file.patch new file mode 100644 index 0000000000000..a2e9d8e2661aa --- /dev/null +++ b/recipes/libffi/all/patches/0007-3.4.3-forward-declare-open_temp_exec_file.patch @@ -0,0 +1,30 @@ +diff --git a/include/ffi_common.h b/include/ffi_common.h +index 2bd31b0..c53a794 100644 +--- a/include/ffi_common.h ++++ b/include/ffi_common.h +@@ -128,6 +128,10 @@ void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN; + static trampoline. */ + int ffi_tramp_is_present (void *closure) FFI_HIDDEN; + ++/* Return a file descriptor of a temporary zero-sized file in a ++ writable and executable filesystem. */ ++int open_temp_exec_file(void) FFI_HIDDEN; ++ + /* Extended cif, used in callback from assembly routine */ + typedef struct + { +diff --git a/src/tramp.c b/src/tramp.c +index b9d273a..c3f4c99 100644 +--- a/src/tramp.c ++++ b/src/tramp.c +@@ -39,6 +39,10 @@ + #ifdef __linux__ + #define _GNU_SOURCE 1 + #endif ++ ++#include ++#include ++ + #include + #include + #include From 949183818530df94c5cc14289aa6ffdf48abe502 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 00:14:57 +0200 Subject: [PATCH 0111/4087] (#17119) aws-checksums: add missing interface definition if shared + modernize more for conan v2 * add AWS_CHECKSUMS_USE_IMPORT_EXPORT interface definition if shared * modernize more * more elegant way to define target for legacy generators --- recipes/aws-checksums/all/conanfile.py | 63 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 8 +-- 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/recipes/aws-checksums/all/conanfile.py b/recipes/aws-checksums/all/conanfile.py index d3412c3a07b16..80a0c88a8c55b 100644 --- a/recipes/aws-checksums/all/conanfile.py +++ b/recipes/aws-checksums/all/conanfile.py @@ -1,9 +1,11 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, save import os +import textwrap + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.52.0" class AwsChecksums(ConanFile): name = "aws-checksums" @@ -11,10 +13,11 @@ class AwsChecksums(ConanFile): "Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient " "SW implementations. C interface with language bindings for each of our SDKs." ) - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-checksums" topics = ("aws", "checksum", ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,18 +37,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") @@ -54,8 +48,7 @@ def requirements(self): self.requires("aws-c-common/0.8.2") 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) @@ -76,18 +69,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-checksums")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-checksums": "aws-checksums::aws-checksums"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-checksums") self.cpp_info.set_property("cmake_target_name", "AWS::aws-checksums") - # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["aws-checksums-lib"].libs = ["aws-checksums"] + self.cpp_info.libs = ["aws-checksums"] + if self.options.shared: + self.cpp_info.defines.append("AWS_CHECKSUMS_USE_IMPORT_EXPORT") # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "aws-checksums" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-checksums" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-checksums-lib"].names["cmake_find_package"] = "aws-checksums" - self.cpp_info.components["aws-checksums-lib"].names["cmake_find_package_multi"] = "aws-checksums" - self.cpp_info.components["aws-checksums-lib"].set_property("cmake_target_name", "AWS::aws-checksums") - self.cpp_info.components["aws-checksums-lib"].requires = ["aws-c-common::aws-c-common-lib"] + 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/aws-checksums/all/test_v1_package/CMakeLists.txt b/recipes/aws-checksums/all/test_v1_package/CMakeLists.txt index 915af9f83a60f..0d20897301b68 100644 --- a/recipes/aws-checksums/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-checksums/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-checksums REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-checksums) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From ede71611639dfdc93aa1557164eb2971e2ebc945 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Sat, 29 Apr 2023 01:03:43 +0200 Subject: [PATCH 0112/4087] (#17115) coin-clp: make dependency on coin-utils libs transitive * coin-clp: make dependency on coin-utils libs transitive This fixed linking problems with coin-clp: https://github.com/conan-io/conan-center-index/pull/16053#issuecomment-1512637106 * Update recipes/coin-clp/all/conanfile.py Co-authored-by: Chris Mc --------- Co-authored-by: Chris Mc --- recipes/coin-clp/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/coin-clp/all/conanfile.py b/recipes/coin-clp/all/conanfile.py index d9945fab24333..94e548dfba655 100644 --- a/recipes/coin-clp/all/conanfile.py +++ b/recipes/coin-clp/all/conanfile.py @@ -49,7 +49,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("coin-utils/2.11.6", transitive_headers=True) + # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16053#issuecomment-1512637106 + self.requires("coin-utils/2.11.6", transitive_headers=True, transitive_libs=True) self.requires("coin-osi/0.108.7", transitive_headers=True) def validate(self): From b7896c3fe6c25584afbe6c91e4e36f9db61b90e6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 01:24:39 +0200 Subject: [PATCH 0113/4087] (#17062) xmlsec: fix url of tarballs + bump dependencies * fix url of tarballs * bump dependencies * libxml2 public headers are exposed in xmlsec public headers * add libxml2 to requires of test package for conan v2 since it's directly used in test source code * link to libxml2 and eventually libxslt in test package * openssl headers are also public * typo * add libxml2 to requires of test package since CMakeDeps seems to be affected by traits * use https * use version range for openssl --- recipes/xmlsec/all/conandata.yml | 6 +++--- recipes/xmlsec/all/conanfile.py | 14 +++++++++++--- recipes/xmlsec/all/test_package/CMakeLists.txt | 9 ++++++++- recipes/xmlsec/all/test_package/conanfile.py | 10 ++++++++-- recipes/xmlsec/all/test_v1_package/conanfile.py | 3 ++- 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index 0f782600a7b31..46664dc0decc9 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,10 +1,10 @@ sources: "1.2.32": - url: "http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.32.tar.gz" + url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.32.tar.gz" sha256: "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043" "1.2.31": - url: "http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.31.tar.gz" + url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.31.tar.gz" sha256: "9b10bc52cc31e4f76162e3975e50db26b71ab49c571d810b311ca626be5a0b26" "1.2.30": - url: "http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.30.tar.gz" + url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.30.tar.gz" sha256: "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8" diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 507ae2456e030..6cbfca0ca36ca 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -60,9 +60,9 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.10.4", transitive_headers=True) if self.options.with_openssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: self.requires("libxslt/1.1.34") @@ -140,7 +140,15 @@ def build(self): crypto_engines = [] if self.options.with_openssl: ov = Version(self.dependencies["openssl"].ref.version) - crypto_engines.append(f"openssl={ov.major}{ov.minor}0") + if ov.major >= "3": + if Version(self.version) < "1.2.35": + # configure.js doesn't understand openssl=300 before xmlsec 1.2.35, + # For these xmlsec versions, setting 110 even for OpenSSL 3.x should be compatible + crypto_engines.append("openssl=110") + else: + crypto_engines.append("openssl=300") + else: + crypto_engines.append(f"openssl={ov.major}{ov.minor}0") yes_no = lambda v: "yes" if v else "no" args = [ diff --git a/recipes/xmlsec/all/test_package/CMakeLists.txt b/recipes/xmlsec/all/test_package/CMakeLists.txt index b99fa5a5fed63..926e0b1fdcb15 100644 --- a/recipes/xmlsec/all/test_package/CMakeLists.txt +++ b/recipes/xmlsec/all/test_package/CMakeLists.txt @@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) find_package(xmlsec REQUIRED CONFIG) +find_package(LibXml2 REQUIRED MODULE) +if(XMLSEC_WITH_XSLT) + find_package(LibXslt REQUIRED MODULE) +endif() add_executable(${PROJECT_NAME} sign1.c) -target_link_libraries(${PROJECT_NAME} PRIVATE xmlsec::xmlsec) +target_link_libraries(${PROJECT_NAME} PRIVATE LibXml2::LibXml2 xmlsec::xmlsec) +if(XMLSEC_WITH_XSLT) + target_link_libraries(${PROJECT_NAME} PRIVATE LibXslt::LibXslt) +endif() diff --git a/recipes/xmlsec/all/test_package/conanfile.py b/recipes/xmlsec/all/test_package/conanfile.py index 80f642849361b..e977f9247d9e3 100644 --- a/recipes/xmlsec/all/test_package/conanfile.py +++ b/recipes/xmlsec/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -14,6 +14,12 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + self.requires("libxml2/2.10.4") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["XMLSEC_WITH_XSLT"] = self.dependencies["xmlsec"].options.with_xslt + tc.generate() def build(self): cmake = CMake(self) diff --git a/recipes/xmlsec/all/test_v1_package/conanfile.py b/recipes/xmlsec/all/test_v1_package/conanfile.py index dd7e5cd83ea16..8a68c0f50f6f9 100644 --- a/recipes/xmlsec/all/test_v1_package/conanfile.py +++ b/recipes/xmlsec/all/test_v1_package/conanfile.py @@ -4,10 +4,11 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "cmake", "cmake_find_package", "cmake_find_package_multi" def build(self): cmake = CMake(self) + cmake.definitions["XMLSEC_WITH_XSLT"] = self.options["xmlsec"].with_xslt cmake.configure() cmake.build() From fc76e669dac1dc6f9e23d8da7a1e0dc24ddf258c Mon Sep 17 00:00:00 2001 From: Tobulus Date: Sat, 29 Apr 2023 02:04:53 +0200 Subject: [PATCH 0114/4087] (#16893) libbsd: support Conan v2 * libbsd: support Conan v2 * libbsd: fix linter messages * fix del libcxx, fix license * catch specific exception * fix licenses ... again * move to toolchain generator * fix: remove apple support https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/1 * review comments * more cleanup * newline * linter messages * syntax * readd autoreconf * add patch source * more cleanup * more cleanup * is done by helper tools * more cleanup * fix test * duplicated delete, fix mac stuff * add package_type * fixup: prefer rm_safe --------- Co-authored-by: Chris Mc --- recipes/libbsd/all/conandata.yml | 4 +- recipes/libbsd/all/conanfile.py | 92 ++++++++++--------- .../libbsd/all/test_package/CMakeLists.txt | 5 +- recipes/libbsd/all/test_package/conanfile.py | 28 +++--- .../libbsd/all/test_v1_package/CMakeLists.txt | 8 ++ .../libbsd/all/test_v1_package/conanfile.py | 25 +++++ 6 files changed, 99 insertions(+), 63 deletions(-) create mode 100644 recipes/libbsd/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libbsd/all/test_v1_package/conanfile.py diff --git a/recipes/libbsd/all/conandata.yml b/recipes/libbsd/all/conandata.yml index 6ed28ef4d2392..5c7d8675d858e 100644 --- a/recipes/libbsd/all/conandata.yml +++ b/recipes/libbsd/all/conandata.yml @@ -5,4 +5,6 @@ sources: patches: "0.10.0": - patch_file: "patches/0001-support-macosx.patch" - base_path: "source_subfolder" + patch_description: "Enables building on MacOS" + patch_type: "portability" + patch_source: "https://github.com/NixOS/nixpkgs/blob/1016bfcff1df163aff75d908df1e00f897a29b9b/pkgs/development/libraries/libbsd/darwin.patch" diff --git a/recipes/libbsd/all/conanfile.py b/recipes/libbsd/all/conanfile.py index d921957f06961..468a858c4a3dc 100644 --- a/recipes/libbsd/all/conanfile.py +++ b/recipes/libbsd/all/conanfile.py @@ -1,8 +1,14 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import glob import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class LibBsdConan(ConanFile): name = "libbsd" @@ -12,6 +18,7 @@ class LibBsdConan(ConanFile): license = ("ISC", "MIT", "Beerware", "BSD-2-clause", "BSD-3-clause", "BSD-4-clause") homepage = "https://libbsd.freedesktop.org/wiki/" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,72 +28,66 @@ class LibBsdConan(ConanFile): "shared": False, "fPIC": True, } - exports_sources = "patches/**" - - _autotools = None def build_requirements(self): - self.build_requires("libtool/2.4.6") - - @property - def _source_subfolder(self): - return "source_subfolder" + self.tool_requires("libtool/2.4.7") + def export_sources(self): + export_conandata_patches(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 generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + if is_apple_os(self): + tc.extra_cflags.append("-Wno-error=implicit-function-declaration") + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if not tools.is_apple_os(self.settings.os) and self.settings.os != "Linux": - raise ConanInvalidConfiguration("libbsd is only available for GNU-like operating systems (e.g. Linux)") + if not is_apple_os(self) and self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} is only available for GNU-like operating systems (e.g. Linux)") def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if tools.is_apple_os(self.settings.os): - self._autotools.flags.append("-Wno-error=implicit-function-declaration") - conf_args = [ - ] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - self.run("autoreconf -fiv") - autotools = self._configure_autotools() + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - autotools = self._configure_autotools() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + autotools = Autotools(self) autotools.install() os.unlink(os.path.join(os.path.join(self.package_folder, "lib", "libbsd.la"))) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.components["bsd"].libs = ["bsd"] - self.cpp_info.components["bsd"].names["pkg_config"] = "libbsd" + self.cpp_info.components["bsd"].set_property("pkg_config_name", "libbsd") self.cpp_info.components["libbsd-overlay"].libs = [] self.cpp_info.components["libbsd-overlay"].requires = ["bsd"] self.cpp_info.components["libbsd-overlay"].includedirs.append(os.path.join("include", "bsd")) self.cpp_info.components["libbsd-overlay"].defines = ["LIBBSD_OVERLAY"] - self.cpp_info.components["libbsd-overlay"].names["pkg_config"] = "libbsd-overlay" + self.cpp_info.components["libbsd-overlay"].set_property("pkg_config_name", "libbsd-overlay") # on apple-clang, GNU .init_array section is not supported if self.settings.compiler != "apple-clang": @@ -95,4 +96,5 @@ def package_info(self): if self.settings.os == "Linux": self.cpp_info.components["libbsd-ctor"].exelinkflags = ["-Wl,-z,nodlopen", "-Wl,-u,libbsd_init_func"] self.cpp_info.components["libbsd-ctor"].sharedlinkflags = ["-Wl,-z,nodlopen", "-Wl,-u,libbsd_init_func"] - self.cpp_info.components["libbsd-ctor"].names["pkg_config"] = "libbsd-ctor" + self.cpp_info.components["libbsd-ctor"].set_property("pkg_config_name", "libbsd-ctor") + diff --git a/recipes/libbsd/all/test_package/CMakeLists.txt b/recipes/libbsd/all/test_package/CMakeLists.txt index 532326ae9815e..d4aafe28c716a 100644 --- a/recipes/libbsd/all/test_package/CMakeLists.txt +++ b/recipes/libbsd/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - find_package(libbsd REQUIRED) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} libbsd::libbsd-overlay) +target_link_libraries(${PROJECT_NAME} PRIVATE libbsd::libbsd-overlay) diff --git a/recipes/libbsd/all/test_package/conanfile.py b/recipes/libbsd/all/test_package/conanfile.py index 6128ac2ebae8f..ec1844a785913 100644 --- a/recipes/libbsd/all/test_package/conanfile.py +++ b/recipes/libbsd/all/test_package/conanfile.py @@ -1,25 +1,27 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException 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", "cmake_find_package", "pkg_config" + 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): - pcfiles = ["libbsd", "libbsd-overlay"] - if self.settings.compiler != "apple-clang": - pcfiles.append("libbsd-ctor") - for f in pcfiles: - pc = "{}.pc".format(f) - if not os.path.isfile(pc): - raise ConanException("{} not created by pkg_config generator".format(pc)) cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libbsd/all/test_v1_package/CMakeLists.txt b/recipes/libbsd/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..cd6f4a15c06e7 --- /dev/null +++ b/recipes/libbsd/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libbsd/all/test_v1_package/conanfile.py b/recipes/libbsd/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6128ac2ebae8f --- /dev/null +++ b/recipes/libbsd/all/test_v1_package/conanfile.py @@ -0,0 +1,25 @@ +from conans import ConanFile, CMake, tools +from conans.errors import ConanException +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package", "pkg_config" + + def build(self): + pcfiles = ["libbsd", "libbsd-overlay"] + if self.settings.compiler != "apple-clang": + pcfiles.append("libbsd-ctor") + for f in pcfiles: + pc = "{}.pc".format(f) + if not os.path.isfile(pc): + raise ConanException("{} not created by pkg_config generator".format(pc)) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 472fb52dd0c1847f6c296faccca07665ec06ea9a Mon Sep 17 00:00:00 2001 From: Martin Wudenka Date: Sat, 29 Apr 2023 02:24:54 +0200 Subject: [PATCH 0115/4087] (#16847) implot: Adapt recipe to conan 2 * implot: Adapt recipe to conan 2 * implot: Change source subfolder to src May please v2 migration linter * implot: Add src_folder attr to cmake_layout May please conan v2 linter * implot: Add test_v1_package * implot: Use rm_safe to remove fPIC * implot: Add min CMake version to test_v1 CMakeLists * implot: Remove versions pre 0.13 Dependency imgui 1.86 is no longer in conan center * implot: Remove unused import * implot: Add IMGUI_DEFINE_MATH_OPERATORS compile definition imgui behavior changed with version 1.89.4 * implot: Remove versions pre 0.13 from conandata.yml * implot: Fiy layout src folder path * implot: Add CMake project specification to test_v1 * implot: Change handling of source folder * implot: Depend on imgui 1.88 for implot 0.13 * implot: Try run_environment=True in test_v1 * implot: Remove not needed rm_safe * implot: Remove file permission specification in CMake * implot: Define CMake generators by string Less verbose than in generate method * implot: Add VirtualRunEnv generator to test_package * implot: Add test_type to test package * implot: Lower required conan version to 1.54 * implot: tidy up conanfile * implot: Use bindirs[0] and not bindir in test_package * implot: use conan v1 generators in test_v1_package * implot: Readd versions 0.11 and 0.12 * implot Add missing new line to conandata.yml * implot Add missing new line to config.yml --- recipes/implot/all/CMakeLists.txt | 19 ++++--- recipes/implot/all/conanfile.py | 55 +++++++++++-------- .../implot/all/test_package/CMakeLists.txt | 3 - recipes/implot/all/test_package/conanfile.py | 22 ++++++-- .../implot/all/test_v1_package/CMakeLists.txt | 8 +++ .../implot/all/test_v1_package/conanfile.py | 23 ++++++++ 6 files changed, 89 insertions(+), 41 deletions(-) create mode 100644 recipes/implot/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/implot/all/test_v1_package/conanfile.py diff --git a/recipes/implot/all/CMakeLists.txt b/recipes/implot/all/CMakeLists.txt index 4a06ba1470e36..ec869caed9029 100644 --- a/recipes/implot/all/CMakeLists.txt +++ b/recipes/implot/all/CMakeLists.txt @@ -3,18 +3,19 @@ project(implot CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) -include(conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -set(SOURCE_DIR source_subfolder) -file(GLOB SOURCE_FILES ${SOURCE_DIR}/*.cpp) -file(GLOB HEADER_FILES ${SOURCE_DIR}/*.h) +file(GLOB SOURCE_FILES ${IMPLOT_SRC_DIR}/*.cpp) +file(GLOB HEADER_FILES ${IMPLOT_SRC_DIR}/*.h) add_library(${PROJECT_NAME} ${SOURCE_FILES}) -target_include_directories(${PROJECT_NAME} PRIVATE ${SOURCE_DIR}) -target_link_libraries(${PROJECT_NAME} PUBLIC ${CONAN_LIBS}) +target_include_directories(${PROJECT_NAME} PRIVATE ${IMPLOT_SRC_DIR}) + +find_package(imgui CONFIG REQUIRED) + +target_link_libraries(${PROJECT_NAME} PUBLIC imgui::imgui) + +target_compile_definitions(${PROJECT_NAME} PRIVATE IMGUI_DEFINE_MATH_OPERATORS) include(GNUInstallDirs) @@ -24,4 +25,4 @@ install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) +) diff --git a/recipes/implot/all/conanfile.py b/recipes/implot/all/conanfile.py index c90ba7a4fb427..ce2e069d3196d 100644 --- a/recipes/implot/all/conanfile.py +++ b/recipes/implot/all/conanfile.py @@ -1,7 +1,10 @@ -from conans import ConanFile, CMake, tools -import functools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy +from conan.tools.scm import Version +import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.54" class ImplotConan(ConanFile): name = "implot" @@ -11,9 +14,7 @@ class ImplotConan(ConanFile): topics = ("imgui", "plot", "graphics", ) license = "MIT" settings = "os", "arch", "compiler", "build_type" - - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + package_type = "library" options = { "shared": [True, False], @@ -24,41 +25,47 @@ class ImplotConan(ConanFile): "fPIC": True } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + del self.options.fPIC # rm_safe not needed def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): - if tools.Version(self.version) >= "0.13": - self.requires("imgui/1.87") + if Version(self.version) >= "0.14": + self.requires("imgui/1.89.4", transitive_headers=True) + elif Version(self.version) >= "0.13": + # imgui 1.89 renamed ImGuiKeyModFlags_* to ImGuiModFlags_* + self.requires("imgui/1.88", transitive_headers=True) else: - self.requires("imgui/1.86") + self.requires("imgui/1.86", transitive_headers=True) + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["IMPLOT_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) 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() def package_info(self): diff --git a/recipes/implot/all/test_package/CMakeLists.txt b/recipes/implot/all/test_package/CMakeLists.txt index 12c0824c90a91..945aea8b2724f 100644 --- a/recipes/implot/all/test_package/CMakeLists.txt +++ b/recipes/implot/all/test_package/CMakeLists.txt @@ -3,9 +3,6 @@ project(test_package) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(implot CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/implot/all/test_package/conanfile.py b/recipes/implot/all/test_package/conanfile.py index 4576de7f46804..4b1e5bb19a0a2 100644 --- a/recipes/implot/all/test_package/conanfile.py +++ b/recipes/implot/all/test_package/conanfile.py @@ -1,15 +1,27 @@ -from conans import ConanFile, CMake, tools import os -class TestPackageConan(ConanFile): +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class ImplotTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def layout(self): + cmake_layout(self) + def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + cmd = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/implot/all/test_v1_package/CMakeLists.txt b/recipes/implot/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/implot/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/implot/all/test_v1_package/conanfile.py b/recipes/implot/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4ef0320775f21 --- /dev/null +++ b/recipes/implot/all/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +import os + +from conans import ConanFile, CMake +from conans.tools import cross_building + + +class ImplotTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 15fa7633c11b82ae1bdaf3440ab4855d5fd5c139 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 29 Apr 2023 03:02:36 +0200 Subject: [PATCH 0116/4087] (#17301) glib: bump deps --- recipes/glib/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index ed7433bf4dc2e..041447c27862e 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): self.requires("zlib/1.2.13") - self.requires("libffi/3.4.3") + self.requires("libffi/3.4.4") if Version(self.version) >= "2.73.2": self.requires("pcre2/10.42") else: @@ -85,7 +85,7 @@ def requirements(self): self.requires("libiconv/1.17") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") From 7a6655632ef95646b2ad4602c9382230df93f18d Mon Sep 17 00:00:00 2001 From: Andrew Kielbasinski Date: Fri, 28 Apr 2023 22:06:46 -0400 Subject: [PATCH 0117/4087] (#16375) wtl: port to v2 * wtl: port to v2 Added new source mirror (the other wasn't working) * Fix indentation * Remove extraneous character --- recipes/wtl/all/conandata.yml | 12 ++++-- recipes/wtl/all/conanfile.py | 39 ++++++++++++++----- recipes/wtl/all/test_package/CMakeLists.txt | 12 +++--- recipes/wtl/all/test_package/conanfile.py | 26 +++++++++---- .../wtl/all/test_v1_package/CMakeLists.txt | 8 ++++ recipes/wtl/all/test_v1_package/conanfile.py | 19 +++++++++ 6 files changed, 88 insertions(+), 28 deletions(-) create mode 100644 recipes/wtl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/wtl/all/test_v1_package/conanfile.py diff --git a/recipes/wtl/all/conandata.yml b/recipes/wtl/all/conandata.yml index ff81fe89a2bae..1062fb5eccd19 100644 --- a/recipes/wtl/all/conandata.yml +++ b/recipes/wtl/all/conandata.yml @@ -1,7 +1,11 @@ sources: - "9.1.5321": - url: "https://iweb.dl.sourceforge.net/project/wtl/WTL%209.1/WTL%209.1.5321%20Final/WTL91_5321_Final.zip" - sha256: "c03f80c66f28e86b3cc7c98d14afab6bec8eb9366476f6bdda8469c35f52b18a" "10.0.9163": - url: "https://iweb.dl.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.9163/WTL10_9163.zip" + url: + - "https://master.dl.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.9163/WTL10_9163.zip" + - "https://iweb.dl.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.9163/WTL10_9163.zip" sha256: "b9fff11c36532c5fa0114b3c7ee4f752cbef71c7ddfd2e5f88f6f51f15431104" + "9.1.5321": + url: + - "https://master.dl.sourceforge.net/project/wtl/WTL%209.1/WTL%209.1.5321%20Final/WTL91_5321_Final.zip" + - "https://iweb.dl.sourceforge.net/project/wtl/WTL%209.1/WTL%209.1.5321%20Final/WTL91_5321_Final.zip" + sha256: "c03f80c66f28e86b3cc7c98d14afab6bec8eb9366476f6bdda8469c35f52b18a" diff --git a/recipes/wtl/all/conanfile.py b/recipes/wtl/all/conanfile.py index 7f344d54b158c..31f78cb05551e 100644 --- a/recipes/wtl/all/conanfile.py +++ b/recipes/wtl/all/conanfile.py @@ -1,24 +1,45 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout import os +required_conan_version = ">=1.54.0" + class WTLConan(ConanFile): name = "wtl" + description = "Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components." license = "MS-PL" url = "https://github.com/conan-io/conan-center-index" homepage = "https://sourceforge.net/projects/wtl" - description = "Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components." - topics = ("atl", "template library", "windows", "template", "ui", "gdi") + topics = ("atl", "template library", "windows", "template", "ui", "gdi", "header-only") - settings = {'os': ['Windows']} + settings = "os" no_copy_source = True + package_type = "header-library" + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.os != "Windows": + raise ConanInvalidConfiguration(f"{self.ref} can only be used on Windows.") + def source(self): - tools.get(**self.conan_data["sources"][self.version]) + get(self, **self.conan_data["sources"][self.version]) + + def build(self): + pass def package(self): - self.copy("*", dst="include", src=os.path.join(self.source_folder, "include")) - self.copy("MS-PL.TXT", dst="licenses", src=self.source_folder) + copy(self, "MS-PL.TXT", 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_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/wtl/all/test_package/CMakeLists.txt b/recipes/wtl/all/test_package/CMakeLists.txt index ca6cdfccb74dd..7c87cbcfbe53b 100644 --- a/recipes/wtl/all/test_package/CMakeLists.txt +++ b/recipes/wtl/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(wtl REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) - -conan_target_link_libraries(${PROJECT_NAME}) +target_link_libraries(${PROJECT_NAME} PRIVATE wtl::wtl) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/wtl/all/test_package/conanfile.py b/recipes/wtl/all/test_package/conanfile.py index bf31d11585919..48499fa0989d9 100644 --- a/recipes/wtl/all/test_package/conanfile.py +++ b/recipes/wtl/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -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 WTLTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +# 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) @@ -12,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/wtl/all/test_v1_package/CMakeLists.txt b/recipes/wtl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9d54a092e0a67 --- /dev/null +++ b/recipes/wtl/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_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/wtl/all/test_v1_package/conanfile.py b/recipes/wtl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/wtl/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From b07333418d9ed0d51a2b025571b305fee7448077 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 04:25:35 +0200 Subject: [PATCH 0118/4087] (#16281) tesseract: bump dependencies + modernize more for conan v2 * modernize more * bump libcurl * bump libcurl * avoid to depend on leptonica in test package --- recipes/tesseract/all/conanfile.py | 98 +++++++++---------- .../all/test_package/test_package.cpp | 10 +- 2 files changed, 51 insertions(+), 57 deletions(-) diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index 347299bc98164..bbdcc2c253a14 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -1,14 +1,15 @@ 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, rmdir, save -from conan.tools.build import cross_building from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" + class TesseractConan(ConanFile): name = "tesseract" @@ -18,6 +19,7 @@ class TesseractConan(ConanFile): homepage = "https://github.com/tesseract-ocr/tesseract" topics = ("ocr", "image", "multimedia", "graphics") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,6 +40,29 @@ class TesseractConan(ConanFile): "with_libarchive": True, } + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "5.0.0" else "17" + + @property + def _compilers_minimum_version(self): + return { + "11": { + "Visual Studio": "14", + "msvc": "190", + "gcc": "5", + "clang": "5", + "apple-clang": "6", + }, + "17": { + "Visual Studio": "16", + "msvc": "192", + "gcc": "7", + "clang": "7", + "apple-clang": "11", + }, + }.get(self._min_cppstd, {}) + def export_sources(self): export_conandata_patches(self) @@ -51,9 +76,6 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - if self.options.with_training: - # do not enforce failure and allow user to build with system cairo, pango, fontconfig - self.output.warn("*** Build with training is not yet supported, continue on your own") def layout(self): cmake_layout(self, src_folder="src") @@ -65,35 +87,21 @@ def requirements(self): self.requires("libarchive/3.6.2") # libcurl is not required for 4.x if self.options.get_safe("with_libcurl", default=False): - self.requires("libcurl/7.86.0") + self.requires("libcurl/8.0.1") def validate(self): - # Check compiler version - compiler = str(self.settings.compiler) - compiler_version = Version(self.settings.compiler.version.value) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - if Version(self.version) >= "5.0.0": - # 5.0.0 requires C++-17 compiler - minimal_version = { - "Visual Studio": "16", - "msvc": "192", - "gcc": "7", - "clang": "7", - "apple-clang": "11" - } - else: - minimal_version = { - "Visual Studio": "14", - "msvc": "190", - "gcc": "5", - "clang": "5", - "apple-clang": "6" - } - if compiler not in minimal_version: - self.output.warn( - "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) - elif compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration(f"{self.ref} requires a {compiler} version >= {minimal_version[compiler]}, but {compiler_version} was found") + 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.with_training: + # do not enforce failure and allow user to build with system cairo, pango, fontconfig + self.output.warning("*** Build with training is not yet supported, continue on your own") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -118,20 +126,11 @@ def generate(self): tc.variables["AUTO_OPTIMIZE"] = self.options.with_auto_optimize # Set Leptonica_DIR to ensure that find_package will be called in original CMake file - tc.variables["Leptonica_DIR"] = self.deps_cpp_info["leptonica"].rootpath.replace("\\", "/") + tc.variables["Leptonica_DIR"] = self.dependencies["leptonica"].package_folder.replace("\\", "/") if Version(self.version) >= "5.0.0": tc.variables["DISABLE_CURL"] = not self.options.with_libcurl tc.variables["DISABLE_ARCHIVE"] = not self.options.with_libarchive - - if cross_building(self): - cmake_system_processor = { - "armv8": "aarch64", - "armv8.3": "aarch64", - }.get(str(self.settings.arch), str(self.settings.arch)) - tc.cache_variables["CMAKE_SYSTEM_PROCESSOR"] = cmake_system_processor - - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() deps = CMakeDeps(self) @@ -161,17 +160,17 @@ def package(self): def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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) @property def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): # Official CMake imported target is: @@ -197,10 +196,6 @@ def package_info(self): elif self.settings.os == "Windows": self.cpp_info.components["libtesseract"].system_libs = ["ws2_32"] - 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) - # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.names["cmake_find_package"] = "Tesseract" self.cpp_info.names["cmake_find_package_multi"] = "Tesseract" @@ -209,13 +204,14 @@ def package_info(self): self.cpp_info.components["libtesseract"].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components["libtesseract"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] self.cpp_info.components["libtesseract"].set_property("pkg_config_name", "tesseract") + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) @property def _libname(self): suffix = "" if self.settings.os == "Windows": v = Version(self.version) - suffix += "{}{}".format(v.major, v.minor) + suffix += f"{v.major}{v.minor}" if self.settings.build_type == "Debug": suffix += "d" - return "tesseract" + suffix + return f"tesseract{suffix}" diff --git a/recipes/tesseract/all/test_package/test_package.cpp b/recipes/tesseract/all/test_package/test_package.cpp index c7c20b350dbbc..347eb5141c4c3 100644 --- a/recipes/tesseract/all/test_package/test_package.cpp +++ b/recipes/tesseract/all/test_package/test_package.cpp @@ -1,11 +1,9 @@ -#include -#include #include +#include + int main(int argc, char **argv) { - printf("Tesseract version: %s\n", tesseract::TessBaseAPI::Version()); - printf("Leptonica version: %d.%d.%d\n", LIBLEPT_MAJOR_VERSION, LIBLEPT_MINOR_VERSION, LIBLEPT_PATCH_VERSION); - printf("Lib versions: %s\n", getImagelibVersions()); - return 0; + printf("Tesseract version: %s\n", tesseract::TessBaseAPI::Version()); + return 0; } From 2a321c7a488ef31dd58235373359ac09e5fd4653 Mon Sep 17 00:00:00 2001 From: "Huang, Zhaoquan" Date: Sat, 29 Apr 2023 11:06:25 +0800 Subject: [PATCH 0119/4087] (#14940) libnice: add recipe * libnice: add recipe * libnice: move to v2 version of cross_building * libnice: remove unused imports * libnice: supports the feature toggles * libnice: requires meson when building test package * libnice: apply env to allow executing meson * libnice: force to find OpenSSL by pkg-config * libnice: move to OpenSSL 1.1.1s * libnice: add glib in build_requirements to provide glib-mkenums * libnice: apply suggestions from code review Co-authored-by: Uilian Ries * libnice: fix syntax * libnice: add v1 test package * libnice: change test packages to use CMake instead of Meson * libnice: bump dependencies * libnice: avoid static runtime and shared glib * libnice: bump version to 0.1.21 * Apply suggestions from code review Co-authored-by: Uilian Ries * libnice: remove pdb from package * Apply suggestions from code review Co-authored-by: Chris Mc * Use can_run instead of cross_building --------- Co-authored-by: Uilian Ries Co-authored-by: Chris Mc --- recipes/libnice/all/conandata.yml | 4 + recipes/libnice/all/conanfile.py | 114 ++++++++++++++++++ .../libnice/all/test_package/CMakeLists.txt | 7 ++ recipes/libnice/all/test_package/conanfile.py | 27 +++++ .../libnice/all/test_package/src/example.c | 7 ++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libnice/all/test_v1_package/conanfile.py | 19 +++ recipes/libnice/config.yml | 3 + 8 files changed, 189 insertions(+) create mode 100644 recipes/libnice/all/conandata.yml create mode 100644 recipes/libnice/all/conanfile.py create mode 100644 recipes/libnice/all/test_package/CMakeLists.txt create mode 100644 recipes/libnice/all/test_package/conanfile.py create mode 100644 recipes/libnice/all/test_package/src/example.c create mode 100644 recipes/libnice/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libnice/all/test_v1_package/conanfile.py create mode 100644 recipes/libnice/config.yml diff --git a/recipes/libnice/all/conandata.yml b/recipes/libnice/all/conandata.yml new file mode 100644 index 0000000000000..603d8d4fc1235 --- /dev/null +++ b/recipes/libnice/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + 0.1.21: + url: https://libnice.freedesktop.org/releases/libnice-0.1.21.tar.gz + sha256: 72e73a2acf20f59093e21d5601606e405873503eb35f346fa621de23e99b3b39 diff --git a/recipes/libnice/all/conanfile.py b/recipes/libnice/all/conanfile.py new file mode 100644 index 0000000000000..5fd9fcdbbc036 --- /dev/null +++ b/recipes/libnice/all/conanfile.py @@ -0,0 +1,114 @@ +import os +from conan import ConanFile +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.files import copy, get, rmdir, rename, chdir, rm +from conan.tools.layout import basic_layout +from conan.tools.gnu import PkgConfigDeps +from conan.tools.microsoft import is_msvc_static_runtime +from conan.errors import ConanInvalidConfiguration + + +class LibniceConan(ConanFile): + name = "libnice" + homepage = "https://libnice.freedesktop.org/" + license = ("MPL-1.1", "LGPL-2.1-only") + url = "https://github.com/conan-io/conan-center-index" + description = "a GLib ICE implementation" + topics = ("ice", "stun", "turn") + package_type = "library" + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False], + "crypto_library": ["openssl", "win32"], + "with_gstreamer": [True, False], + "with_gtk_doc": [True, False], + "with_introspection": [True, False]} + default_options = { + "shared": False, + "fPIC": True, + "with_gstreamer": False, + "with_gtk_doc": False, + "with_introspection": False} + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + self.options.crypto_library = "win32" + else: + self.options.crypto_library = "openssl" + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.os != "Windows" and self.options.crypto_library == "win32": + raise ConanInvalidConfiguration( + f"-o {self.ref}:crypto_library=win32 is not supported on non-Windows") + if self.settings.os == "Windows" and self.options.with_gtk_doc: + raise ConanInvalidConfiguration( + f"-o {self.ref}:with_gtk_doc=True is not support on Windows") + if is_msvc_static_runtime(self) and self.dependencies["glib"].options.shared: + raise ConanInvalidConfiguration( + "-o glib/*:shared=True with static runtime is not supported") + + def requirements(self): + self.requires("glib/2.75.2") + if self.options.crypto_library == "openssl": + self.requires("openssl/1.1.1t") + if self.options.with_gstreamer: + self.requires("gstreamer/1.19.2") + + def build_requirements(self): + self.tool_requires("meson/1.0.0") + self.tool_requires("pkgconf/1.9.3") + self.tool_requires("glib/2.75.2") # for glib-mkenums + if self.options.with_introspection: + self.tool_requires("gobject-introspection/1.72.0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = PkgConfigDeps(self) + tc.generate() + tc = MesonToolchain(self) + tc.project_options["gupnp"] = "disabled" + tc.project_options["gstreamer"] = "enabled" if self.options.with_gstreamer else "disabled" + tc.project_options["crypto-library"] = "auto" if self.options.crypto_library == "win32" else str( + self.options.crypto_library) + + tc.project_options["examples"] = "disabled" + tc.project_options["tests"] = "disabled" + tc.project_options["gtk_doc"] = "disabled" if self.options.with_gtk_doc else "disabled" + tc.project_options["introspection"] = "enabled" if self.options.with_introspection else "disabled" + tc.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, pattern="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")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + if self.settings.os == "Windows": + if not self.options.shared: + with chdir(self, os.path.join(self.package_folder, "lib")): + rename(self, "libnice.a", "nice.lib") + + def package_info(self): + self.cpp_info.libs = ["nice"] + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("advapi32") diff --git a/recipes/libnice/all/test_package/CMakeLists.txt b/recipes/libnice/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d61c442b074a4 --- /dev/null +++ b/recipes/libnice/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(example LANGUAGES C) + +find_package(libnice REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} src/example.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libnice::libnice) diff --git a/recipes/libnice/all/test_package/conanfile.py b/recipes/libnice/all/test_package/conanfile.py new file mode 100644 index 0000000000000..22dd4e9d14ebe --- /dev/null +++ b/recipes/libnice/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake +from conan.tools.layout import cmake_layout +from conan.tools.build import can_run + + +class LibniceTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindirs[0], "example") + self.run(cmd, env="conanrun") diff --git a/recipes/libnice/all/test_package/src/example.c b/recipes/libnice/all/test_package/src/example.c new file mode 100644 index 0000000000000..de04a569af0f5 --- /dev/null +++ b/recipes/libnice/all/test_package/src/example.c @@ -0,0 +1,7 @@ +#include + +int main() +{ + NiceAgent *agent = nice_agent_new(NULL, NICE_COMPATIBILITY_RFC5245); + g_object_unref(agent); +} diff --git a/recipes/libnice/all/test_v1_package/CMakeLists.txt b/recipes/libnice/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/libnice/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libnice/all/test_v1_package/conanfile.py b/recipes/libnice/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..8c9580d2d52b2 --- /dev/null +++ b/recipes/libnice/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +import os +from conan import ConanFile +from conans import CMake +from conan.tools.build import can_run + + +class LibniceTestConan(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 can_run(self): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) diff --git a/recipes/libnice/config.yml b/recipes/libnice/config.yml new file mode 100644 index 0000000000000..68b088642e3c7 --- /dev/null +++ b/recipes/libnice/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.21": + folder: all From 0f5a9908128021f7081dd99302e70558aaeef4d3 Mon Sep 17 00:00:00 2001 From: KGrzeg Date: Sat, 29 Apr 2023 05:27:27 +0200 Subject: [PATCH 0120/4087] (#14329) libb64: Add version 2.0.0.1 (a new recipe) * libb64: add recipe * Fixed issues detected by cci hook * Format the code * Remove unused import * Typo in example code * Add options to the package * Apply suggestions from code review Co-authored-by: Piotr Gaczkowski * Renamed libb64 to b64 * Removed package_id method * Removed CXX settings * Manage fPIC flag * Changed shared to static * Common code style * Swap cmake to autotools * MSVC for Windows * add cmake support Signed-off-by: Uilian Ries * add patch for windows Signed-off-by: Uilian Ries * fix append path Signed-off-by: Uilian Ries * Add patches list to conandata.yml * build on GCC5 Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Piotr Gaczkowski Co-authored-by: Uilian Ries --- recipes/b64/all/CMakeLists.txt | 23 ++++ recipes/b64/all/conandata.yml | 20 +++ recipes/b64/all/conanfile.py | 65 ++++++++++ .../b64/all/patches/0001-windows-elseif.patch | 13 ++ recipes/b64/all/patches/0002-extern-c.patch | 117 ++++++++++++++++++ .../b64/all/patches/0003-stdlib-exit.patch | 57 +++++++++ .../b64/all/patches/0004-include-order.patch | 22 ++++ recipes/b64/all/test_package/CMakeLists.txt | 8 ++ recipes/b64/all/test_package/conanfile.py | 26 ++++ recipes/b64/all/test_package/test_package.cpp | 26 ++++ .../b64/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/b64/all/test_v1_package/conanfile.py | 18 +++ recipes/b64/config.yml | 3 + 13 files changed, 406 insertions(+) create mode 100644 recipes/b64/all/CMakeLists.txt create mode 100644 recipes/b64/all/conandata.yml create mode 100755 recipes/b64/all/conanfile.py create mode 100644 recipes/b64/all/patches/0001-windows-elseif.patch create mode 100644 recipes/b64/all/patches/0002-extern-c.patch create mode 100644 recipes/b64/all/patches/0003-stdlib-exit.patch create mode 100644 recipes/b64/all/patches/0004-include-order.patch create mode 100644 recipes/b64/all/test_package/CMakeLists.txt create mode 100644 recipes/b64/all/test_package/conanfile.py create mode 100644 recipes/b64/all/test_package/test_package.cpp create mode 100644 recipes/b64/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/b64/all/test_v1_package/conanfile.py create mode 100644 recipes/b64/config.yml diff --git a/recipes/b64/all/CMakeLists.txt b/recipes/b64/all/CMakeLists.txt new file mode 100644 index 0000000000000..86ec29f0103b2 --- /dev/null +++ b/recipes/b64/all/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.15) +project(b64 LANGUAGES C CXX) + +file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/include/b64/*.h") +add_library(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/src/src/cdecode.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/src/cencode.c" ${HEADER_FILES}) +target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/include") +set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${HEADER_FILES}" WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/b64" +) + +set(BASE64_APP base64) +add_executable(${BASE64_APP} "${CMAKE_CURRENT_SOURCE_DIR}/src/base64/base64.cc" ${HEADER_FILES}) +target_link_libraries(${BASE64_APP} PRIVATE ${PROJECT_NAME}) +target_include_directories(${BASE64_APP} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/include") +target_compile_definitions(${BASE64_APP} PRIVATE BUFFERSIZE=16777216) +set_target_properties(${BASE64_APP} PROPERTIES LINKER_LANGUAGE CXX) +install(TARGETS ${BASE64_APP} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) diff --git a/recipes/b64/all/conandata.yml b/recipes/b64/all/conandata.yml new file mode 100644 index 0000000000000..6f62323cd1501 --- /dev/null +++ b/recipes/b64/all/conandata.yml @@ -0,0 +1,20 @@ +sources: + "2.0.0.1": + url: "https://github.com/libb64/libb64/archive/refs/tags/v2.0.0.1.tar.gz" + sha256: "ce8e578a953a591bd4a6f157eec310b9a4c2e6f10ade2fdda6ae6bafaf798b98" +patches: + "2.0.0.1": + - patch_file: "patches/0001-windows-elseif.patch" + patch_description: "Replace elseif definition by elif to make it work on Windows" + patch_type: "portability" + patch_source: "https://github.com/libb64/libb64/commit/b5edeafc89853c48fa41a4c16393a1fdc8638ab6" + - patch_file: "patches/0002-extern-c.patch" + patch_description: "Move extern C from C++ headers to C headers" + patch_type: "portability" + patch_source: "https://github.com/libb64/libb64/pull/6/commits/502573666a61317aa6bee2ff9ab74e65a7c25f63" + - patch_file: "patches/0003-stdlib-exit.patch" + patch_description: "Use cstdlib instead of stdlib.h for exit() - needed for GCC5" + patch_type: "conan" + - patch_file: "patches/0004-include-order.patch" + patch_description: "Include C headers first, than C++ headers, and project headers" + patch_type: "conan" diff --git a/recipes/b64/all/conanfile.py b/recipes/b64/all/conanfile.py new file mode 100755 index 0000000000000..bdc200c525d02 --- /dev/null +++ b/recipes/b64/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.cmake import cmake_layout, CMakeToolchain, CMake +import os + + +required_conan_version = ">=1.53.0" + + +class B64Conan(ConanFile): + name = "b64" + description = "A library of ANSI C routines for fast encoding/decoding data into and from a base64-encoded format." + license = "CC0-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://libb64.sourceforge.net/" + topics = ("base64", "codec", "encoder", "decoder") + 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.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): + copy(self, pattern="LICENSE.md", 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 = ["b64"] + + # TODO: Only for Conan 1.x legacy - Remove after running Conan 2.x only + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/b64/all/patches/0001-windows-elseif.patch b/recipes/b64/all/patches/0001-windows-elseif.patch new file mode 100644 index 0000000000000..ab8677906ac76 --- /dev/null +++ b/recipes/b64/all/patches/0001-windows-elseif.patch @@ -0,0 +1,13 @@ +diff --git a/include/b64/ccommon.h b/include/b64/ccommon.h +index 2b614df..28a9936 100644 +--- a/include/b64/ccommon.h ++++ b/include/b64/ccommon.h +@@ -14,7 +14,7 @@ For details, see http://sourceforge.net/projects/libb64 + #ifndef HAVE_SIZE_T + #ifdef _WIN32 + #include +- #elseif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) ++ #elif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) + #include + #else + typedef unsigned long size_t; diff --git a/recipes/b64/all/patches/0002-extern-c.patch b/recipes/b64/all/patches/0002-extern-c.patch new file mode 100644 index 0000000000000..ad69b157b0f90 --- /dev/null +++ b/recipes/b64/all/patches/0002-extern-c.patch @@ -0,0 +1,117 @@ +diff --git a/include/b64/cdecode.h b/include/b64/cdecode.h +index d6ff24c..889614f 100644 +--- a/include/b64/cdecode.h ++++ b/include/b64/cdecode.h +@@ -13,6 +13,11 @@ For details, see http://sourceforge.net/projects/libb64 + #define BASE64_CDEC_VER_MAJOR 2 + #define BASE64_CDEC_VER_MINOR 0 + ++#ifdef __cplusplus ++extern "C" ++{ ++#endif ++ + typedef enum + { + step_a, step_b, step_c, step_d +@@ -24,11 +29,15 @@ typedef struct + char plainchar; + } base64_decodestate; + +-extern void base64_init_decodestate(base64_decodestate* state_in); ++void base64_init_decodestate(base64_decodestate* state_in); ++ ++size_t base64_decode_maxlength(size_t encode_len); + +-extern size_t base64_decode_maxlength(size_t encode_len); ++int base64_decode_value(signed char value_in); ++size_t base64_decode_block(const char* code_in, const size_t length_in, void* plaintext_out, base64_decodestate* state_in); + +-extern int base64_decode_value(signed char value_in); +-extern size_t base64_decode_block(const char* code_in, const size_t length_in, void* plaintext_out, base64_decodestate* state_in); ++#ifdef __cplusplus ++} ++#endif + + #endif /* BASE64_CDECODE_H */ +diff --git a/include/b64/cencode.h b/include/b64/cencode.h +index 96b0cdb..9b70877 100644 +--- a/include/b64/cencode.h ++++ b/include/b64/cencode.h +@@ -13,6 +13,11 @@ For details, see http://sourceforge.net/projects/libb64 + #define BASE64_CENC_VER_MAJOR 2 + #define BASE64_CENC_VER_MINOR 0 + ++#ifdef __cplusplus ++extern "C" ++{ ++#endif ++ + typedef enum + { + step_A, step_B, step_C +@@ -31,12 +36,16 @@ typedef struct + char result; + } base64_encodestate; + +-extern void base64_init_encodestate(base64_encodestate* state_in); ++void base64_init_encodestate(base64_encodestate* state_in); ++ ++size_t base64_encode_length(size_t plain_len, base64_encodestate* state_in); + +-extern size_t base64_encode_length(size_t plain_len, base64_encodestate* state_in); ++char base64_encode_value(signed char value_in); ++size_t base64_encode_block(const void* plaintext_in, const size_t length_in, char* code_out, base64_encodestate* state_in); ++size_t base64_encode_blockend(char* code_out, base64_encodestate* state_in); + +-extern char base64_encode_value(signed char value_in); +-extern size_t base64_encode_block(const void* plaintext_in, const size_t length_in, char* code_out, base64_encodestate* state_in); +-extern size_t base64_encode_blockend(char* code_out, base64_encodestate* state_in); ++#ifdef __cplusplus ++} ++#endif + + #endif /* BASE64_CENCODE_H */ +diff --git a/include/b64/decode.h b/include/b64/decode.h +index b2362e5..bfff27c 100644 +--- a/include/b64/decode.h ++++ b/include/b64/decode.h +@@ -12,10 +12,8 @@ For details, see http://sourceforge.net/projects/libb64 + + namespace base64 + { +- extern "C" +- { +- #include "cdecode.h" +- } ++ ++#include "cdecode.h" + + struct decoder + { +@@ -69,4 +67,3 @@ namespace base64 + + + #endif // BASE64_DECODE_H +- +diff --git a/include/b64/encode.h b/include/b64/encode.h +index c1a5f88..c1c2ead 100644 +--- a/include/b64/encode.h ++++ b/include/b64/encode.h +@@ -12,10 +12,8 @@ For details, see http://sourceforge.net/projects/libb64 + + namespace base64 + { +- extern "C" +- { ++ + #include "cencode.h" +- } + + struct encoder + { +@@ -75,4 +73,3 @@ namespace base64 + } // namespace base64 + + #endif // BASE64_ENCODE_H +- diff --git a/recipes/b64/all/patches/0003-stdlib-exit.patch b/recipes/b64/all/patches/0003-stdlib-exit.patch new file mode 100644 index 0000000000000..0ccb585ce887e --- /dev/null +++ b/recipes/b64/all/patches/0003-stdlib-exit.patch @@ -0,0 +1,57 @@ +diff --git a/base64/base64.cc b/base64/base64.cc +index acab416..f952dc6 100644 +--- a/base64/base64.cc ++++ b/base64/base64.cc +@@ -12,7 +12,7 @@ For details, see http://sourceforge.net/projects/libb64 + #include + #include + +-#include ++#include + + // Function which prints the usage of this executable + void usage() +@@ -38,14 +38,14 @@ int main(int argc, char** argv) + if (argc == 1) + { + usage(); +- exit(-1); ++ std::exit(-1); + } + if (argc != 4) + { + usage("Wrong number of arguments!"); +- exit(-1); ++ std::exit(-1); + } +- ++ + // So far so good; try to open the input file + std::string input = argv[2]; + // Note that we have to open the input in binary mode. +@@ -56,9 +56,9 @@ int main(int argc, char** argv) + if (!instream.is_open()) + { + usage("Could not open input file!"); +- exit(-1); ++ std::exit(-1); + } +- ++ + // Now try to open the output file + std::string output = argv[3]; + // Again, note that we have to open the ouput in binary mode. +@@ -68,7 +68,7 @@ int main(int argc, char** argv) + if (!outstream.is_open()) + { + usage("Could not open output file!"); +- exit(-1); ++ std::exit(-1); + } + + // determine whether we need to encode or decode: +@@ -91,4 +91,3 @@ int main(int argc, char** argv) + + return 0; + } +- diff --git a/recipes/b64/all/patches/0004-include-order.patch b/recipes/b64/all/patches/0004-include-order.patch new file mode 100644 index 0000000000000..b509bb64fb543 --- /dev/null +++ b/recipes/b64/all/patches/0004-include-order.patch @@ -0,0 +1,22 @@ +diff --git a/base64/base64.cc b/base64/base64.cc +index f952dc6..e22abd0 100644 +--- a/base64/base64.cc ++++ b/base64/base64.cc +@@ -5,14 +5,14 @@ This is part of the libb64 project, and has been placed in the public domain. + For details, see http://sourceforge.net/projects/libb64 + */ + +-#include +-#include ++#include + + #include + #include + #include + +-#include ++#include ++#include + + // Function which prints the usage of this executable + void usage() diff --git a/recipes/b64/all/test_package/CMakeLists.txt b/recipes/b64/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..21db2d93d4c6c --- /dev/null +++ b/recipes/b64/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(b64 REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE b64::b64) diff --git a/recipes/b64/all/test_package/conanfile.py b/recipes/b64/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/b64/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/b64/all/test_package/test_package.cpp b/recipes/b64/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..32696bbbcfe1a --- /dev/null +++ b/recipes/b64/all/test_package/test_package.cpp @@ -0,0 +1,26 @@ +#include + +extern "C" { + #include "b64/cencode.h" + #include "b64/cdecode.h" +} + +int main() { + const char str[] = "Hello world!"; + const unsigned len = sizeof(str); + char out[len*2] = {0}, rev[len*2] = {0}; + + base64_encodestate E; + base64_init_encodestate(&E); + base64_decodestate D; + base64_init_decodestate(&D); + + const unsigned out_len = base64_encode_block(str, len, out, &E); + base64_decode_block(out, out_len, rev, &D); + + std::cout << "input: " << str << std::endl; + std::cout << "base64: " << out << std::endl; + std::cout << "reversed: " << rev << std::endl; + + return 0; +} diff --git a/recipes/b64/all/test_v1_package/CMakeLists.txt b/recipes/b64/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/b64/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/b64/all/test_v1_package/conanfile.py b/recipes/b64/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/b64/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/b64/config.yml b/recipes/b64/config.yml new file mode 100644 index 0000000000000..db58b29f8bd29 --- /dev/null +++ b/recipes/b64/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.0.1": + folder: all From 3b74fcb38700ce4120313161e92e6a68f7108cf2 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Sat, 29 Apr 2023 18:12:33 +0930 Subject: [PATCH 0121/4087] (#17296) [armadillo] Bump dependencies * Bump dependency versions and fix output to ensure conan 2.0 compatibility --- recipes/armadillo/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/armadillo/all/conanfile.py b/recipes/armadillo/all/conanfile.py index 698da802b3b8f..4c814b3794dad 100644 --- a/recipes/armadillo/all/conanfile.py +++ b/recipes/armadillo/all/conanfile.py @@ -146,7 +146,7 @@ def validate(self): ) for opt in deprecated_opts: - self.output.warn( + self.output.warning( f"DEPRECATION NOTICE: Value {opt} uses armadillo's default dependency search and will be replaced when this package becomes available in ConanCenter" ) @@ -165,10 +165,10 @@ def requirements(self): if self.options.use_hdf5: # Use the conan dependency if the system lib isn't being used - self.requires("hdf5/1.12.0") + self.requires("hdf5/1.14.0") if self.options.use_blas == "openblas": - self.requires("openblas/0.3.15") + self.requires("openblas/0.3.20") # Note that if you're relying on this to build LAPACK, you _must_ have # a fortran compiler installed. If you don't, OpenBLAS will build successfully but # without LAPACK support, which isn't obvious. @@ -187,7 +187,7 @@ def requirements(self): self.options.use_blas == "intel_mkl" or self.options.use_lapack == "intel_mkl" ): - self.output.warn( + self.output.warning( "The intel-mkl package does not exist in CCI. To use an Intel MKL package, override this requirement with your own recipe." ) self.requires("intel-mkl/2021.4") From e8531b6892e44e7671a7081a8975d7c845905924 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 29 Apr 2023 18:21:55 +0900 Subject: [PATCH 0122/4087] (#17294) cpu_features: add version 0.8.0, add package_type --- recipes/cpu_features/all/conandata.yml | 13 + recipes/cpu_features/all/conanfile.py | 5 +- .../0.8.0-0001-support-aarch64-macos.patch | 257 ++++++++++++++++++ recipes/cpu_features/config.yml | 2 + 4 files changed, 274 insertions(+), 3 deletions(-) create mode 100644 recipes/cpu_features/all/patches/0.8.0-0001-support-aarch64-macos.patch diff --git a/recipes/cpu_features/all/conandata.yml b/recipes/cpu_features/all/conandata.yml index a6a49730a3d42..8e0a68b98fb04 100644 --- a/recipes/cpu_features/all/conandata.yml +++ b/recipes/cpu_features/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/google/cpu_features/archive/refs/tags/v0.8.0.tar.gz" + sha256: "7021729f2db97aa34f218d12727314f23e8b11eaa2d5a907e8426bcb41d7eaac" "0.7.0": url: "https://github.com/google/cpu_features/archive/refs/tags/v0.7.0.tar.gz" sha256: "df80d9439abf741c7d2fdcdfd2d26528b136e6c52976be8bd0cd5e45a27262c0" @@ -6,7 +9,17 @@ sources: url: "https://github.com/google/cpu_features/archive/refs/tags/v0.6.0.tar.gz" sha256: "95a1cf6f24948031df114798a97eea2a71143bd38a4d07d9a758dda3924c1932" patches: + "0.8.0": + - patch_file: "patches/0.8.0-0001-support-aarch64-macos.patch" + patch_description: "support M1 MacOSX" + patch_type: "portability" + patch_source: "https://github.com/google/cpu_features/pull/204" "0.7.0": - patch_file: "patches/0.7.0-0001-support-aarch64-macos.patch" + patch_description: "support M1 MacOSX" + patch_type: "portability" + patch_source: "https://github.com/google/cpu_features/pull/204" "0.6.0": - patch_file: "patches/0.6.0-0001-fix-bundle-install.patch" + patch_description: "add bundle destination to install" + patch_type: "conan" diff --git a/recipes/cpu_features/all/conanfile.py b/recipes/cpu_features/all/conanfile.py index 67333f1731762..704de6e4661e1 100644 --- a/recipes/cpu_features/all/conanfile.py +++ b/recipes/cpu_features/all/conanfile.py @@ -15,7 +15,7 @@ class CpuFeaturesConan(ConanFile): homepage = "https://github.com/google/cpu_features" description = "A cross platform C99 library to get cpu features at runtime." topics = ("cpu", "features", "cpuid") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -43,8 +43,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/cpu_features/all/patches/0.8.0-0001-support-aarch64-macos.patch b/recipes/cpu_features/all/patches/0.8.0-0001-support-aarch64-macos.patch new file mode 100644 index 0000000000000..e29b90d0379c1 --- /dev/null +++ b/recipes/cpu_features/all/patches/0.8.0-0001-support-aarch64-macos.patch @@ -0,0 +1,257 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bcc9bb0..c87475c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,7 +147,7 @@ target_link_libraries(cpu_features PUBLIC ${CMAKE_DL_LIBS}) + target_include_directories(cpu_features + PUBLIC $ + ) +-if(PROCESSOR_IS_X86) ++if(PROCESSOR_IS_X86 OR PROCESSOR_IS_AARCH64) + if(APPLE) + target_compile_definitions(cpu_features PRIVATE HAVE_SYSCTLBYNAME) + endif() +diff --git b/include/impl_aarch64__base_implementation.inl b/include/impl_aarch64__base_implementation.inl +new file mode 100644 +index 0000000..ef3629e +--- /dev/null ++++ b/include/impl_aarch64__base_implementation.inl +@@ -0,0 +1,63 @@ ++#include "cpuinfo_aarch64.h" ++ ++//////////////////////////////////////////////////////////////////////////////// ++// Definitions for introspection. ++//////////////////////////////////////////////////////////////////////////////// ++#define INTROSPECTION_TABLE \ ++ LINE(AARCH64_FP, fp, "fp", AARCH64_HWCAP_FP, 0) \ ++ LINE(AARCH64_ASIMD, asimd, "asimd", AARCH64_HWCAP_ASIMD, 0) \ ++ LINE(AARCH64_EVTSTRM, evtstrm, "evtstrm", AARCH64_HWCAP_EVTSTRM, 0) \ ++ LINE(AARCH64_AES, aes, "aes", AARCH64_HWCAP_AES, 0) \ ++ LINE(AARCH64_PMULL, pmull, "pmull", AARCH64_HWCAP_PMULL, 0) \ ++ LINE(AARCH64_SHA1, sha1, "sha1", AARCH64_HWCAP_SHA1, 0) \ ++ LINE(AARCH64_SHA2, sha2, "sha2", AARCH64_HWCAP_SHA2, 0) \ ++ LINE(AARCH64_CRC32, crc32, "crc32", AARCH64_HWCAP_CRC32, 0) \ ++ LINE(AARCH64_ATOMICS, atomics, "atomics", AARCH64_HWCAP_ATOMICS, 0) \ ++ LINE(AARCH64_FPHP, fphp, "fphp", AARCH64_HWCAP_FPHP, 0) \ ++ LINE(AARCH64_ASIMDHP, asimdhp, "asimdhp", AARCH64_HWCAP_ASIMDHP, 0) \ ++ LINE(AARCH64_CPUID, cpuid, "cpuid", AARCH64_HWCAP_CPUID, 0) \ ++ LINE(AARCH64_ASIMDRDM, asimdrdm, "asimdrdm", AARCH64_HWCAP_ASIMDRDM, 0) \ ++ LINE(AARCH64_JSCVT, jscvt, "jscvt", AARCH64_HWCAP_JSCVT, 0) \ ++ LINE(AARCH64_FCMA, fcma, "fcma", AARCH64_HWCAP_FCMA, 0) \ ++ LINE(AARCH64_LRCPC, lrcpc, "lrcpc", AARCH64_HWCAP_LRCPC, 0) \ ++ LINE(AARCH64_DCPOP, dcpop, "dcpop", AARCH64_HWCAP_DCPOP, 0) \ ++ LINE(AARCH64_SHA3, sha3, "sha3", AARCH64_HWCAP_SHA3, 0) \ ++ LINE(AARCH64_SM3, sm3, "sm3", AARCH64_HWCAP_SM3, 0) \ ++ LINE(AARCH64_SM4, sm4, "sm4", AARCH64_HWCAP_SM4, 0) \ ++ LINE(AARCH64_ASIMDDP, asimddp, "asimddp", AARCH64_HWCAP_ASIMDDP, 0) \ ++ LINE(AARCH64_SHA512, sha512, "sha512", AARCH64_HWCAP_SHA512, 0) \ ++ LINE(AARCH64_SVE, sve, "sve", AARCH64_HWCAP_SVE, 0) \ ++ LINE(AARCH64_ASIMDFHM, asimdfhm, "asimdfhm", AARCH64_HWCAP_ASIMDFHM, 0) \ ++ LINE(AARCH64_DIT, dit, "dit", AARCH64_HWCAP_DIT, 0) \ ++ LINE(AARCH64_USCAT, uscat, "uscat", AARCH64_HWCAP_USCAT, 0) \ ++ LINE(AARCH64_ILRCPC, ilrcpc, "ilrcpc", AARCH64_HWCAP_ILRCPC, 0) \ ++ LINE(AARCH64_FLAGM, flagm, "flagm", AARCH64_HWCAP_FLAGM, 0) \ ++ LINE(AARCH64_SSBS, ssbs, "ssbs", AARCH64_HWCAP_SSBS, 0) \ ++ LINE(AARCH64_SB, sb, "sb", AARCH64_HWCAP_SB, 0) \ ++ LINE(AARCH64_PACA, paca, "paca", AARCH64_HWCAP_PACA, 0) \ ++ LINE(AARCH64_PACG, pacg, "pacg", AARCH64_HWCAP_PACG, 0) \ ++ LINE(AARCH64_DCPODP, dcpodp, "dcpodp", 0, AARCH64_HWCAP2_DCPODP) \ ++ LINE(AARCH64_SVE2, sve2, "sve2", 0, AARCH64_HWCAP2_SVE2) \ ++ LINE(AARCH64_SVEAES, sveaes, "sveaes", 0, AARCH64_HWCAP2_SVEAES) \ ++ LINE(AARCH64_SVEPMULL, svepmull, "svepmull", 0, AARCH64_HWCAP2_SVEPMULL) \ ++ LINE(AARCH64_SVEBITPERM, svebitperm, "svebitperm", 0, \ ++ AARCH64_HWCAP2_SVEBITPERM) \ ++ LINE(AARCH64_SVESHA3, svesha3, "svesha3", 0, AARCH64_HWCAP2_SVESHA3) \ ++ LINE(AARCH64_SVESM4, svesm4, "svesm4", 0, AARCH64_HWCAP2_SVESM4) \ ++ LINE(AARCH64_FLAGM2, flagm2, "flagm2", 0, AARCH64_HWCAP2_FLAGM2) \ ++ LINE(AARCH64_FRINT, frint, "frint", 0, AARCH64_HWCAP2_FRINT) \ ++ LINE(AARCH64_SVEI8MM, svei8mm, "svei8mm", 0, AARCH64_HWCAP2_SVEI8MM) \ ++ LINE(AARCH64_SVEF32MM, svef32mm, "svef32mm", 0, AARCH64_HWCAP2_SVEF32MM) \ ++ LINE(AARCH64_SVEF64MM, svef64mm, "svef64mm", 0, AARCH64_HWCAP2_SVEF64MM) \ ++ LINE(AARCH64_SVEBF16, svebf16, "svebf16", 0, AARCH64_HWCAP2_SVEBF16) \ ++ LINE(AARCH64_I8MM, i8mm, "i8mm", 0, AARCH64_HWCAP2_I8MM) \ ++ LINE(AARCH64_BF16, bf16, "bf16", 0, AARCH64_HWCAP2_BF16) \ ++ LINE(AARCH64_DGH, dgh, "dgh", 0, AARCH64_HWCAP2_DGH) \ ++ LINE(AARCH64_RNG, rng, "rng", 0, AARCH64_HWCAP2_RNG) \ ++ LINE(AARCH64_BTI, bti, "bti", 0, AARCH64_HWCAP2_BTI) \ ++ LINE(AARCH64_MTE, mte, "mte", 0, AARCH64_HWCAP2_MTE) \ ++ LINE(AARCH64_ECV, ecv, "ecv", 0, AARCH64_HWCAP2_ECV) \ ++ LINE(AARCH64_AFP, afp, "afp", 0, AARCH64_HWCAP2_AFP) \ ++ LINE(AARCH64_RPRES, rpres, "rpres", 0, AARCH64_HWCAP2_RPRES) ++#define INTROSPECTION_PREFIX Aarch64 ++#define INTROSPECTION_ENUM_PREFIX AARCH64 +diff --git a/src/impl_aarch64_linux_or_android.c b/src/impl_aarch64_linux_or_android.c +index ef923d9..c0a764c 100644 +--- a/src/impl_aarch64_linux_or_android.c ++++ b/src/impl_aarch64_linux_or_android.c +@@ -17,81 +17,7 @@ + #ifdef CPU_FEATURES_ARCH_AARCH64 + #if defined(CPU_FEATURES_OS_LINUX) || defined(CPU_FEATURES_OS_ANDROID) + +-#include "cpuinfo_aarch64.h" +- +-//////////////////////////////////////////////////////////////////////////////// +-// Definitions for introspection. +-//////////////////////////////////////////////////////////////////////////////// +-#define INTROSPECTION_TABLE \ +- LINE(AARCH64_FP, fp, "fp", AARCH64_HWCAP_FP, 0) \ +- LINE(AARCH64_ASIMD, asimd, "asimd", AARCH64_HWCAP_ASIMD, 0) \ +- LINE(AARCH64_EVTSTRM, evtstrm, "evtstrm", AARCH64_HWCAP_EVTSTRM, 0) \ +- LINE(AARCH64_AES, aes, "aes", AARCH64_HWCAP_AES, 0) \ +- LINE(AARCH64_PMULL, pmull, "pmull", AARCH64_HWCAP_PMULL, 0) \ +- LINE(AARCH64_SHA1, sha1, "sha1", AARCH64_HWCAP_SHA1, 0) \ +- LINE(AARCH64_SHA2, sha2, "sha2", AARCH64_HWCAP_SHA2, 0) \ +- LINE(AARCH64_CRC32, crc32, "crc32", AARCH64_HWCAP_CRC32, 0) \ +- LINE(AARCH64_ATOMICS, atomics, "atomics", AARCH64_HWCAP_ATOMICS, 0) \ +- LINE(AARCH64_FPHP, fphp, "fphp", AARCH64_HWCAP_FPHP, 0) \ +- LINE(AARCH64_ASIMDHP, asimdhp, "asimdhp", AARCH64_HWCAP_ASIMDHP, 0) \ +- LINE(AARCH64_CPUID, cpuid, "cpuid", AARCH64_HWCAP_CPUID, 0) \ +- LINE(AARCH64_ASIMDRDM, asimdrdm, "asimdrdm", AARCH64_HWCAP_ASIMDRDM, 0) \ +- LINE(AARCH64_JSCVT, jscvt, "jscvt", AARCH64_HWCAP_JSCVT, 0) \ +- LINE(AARCH64_FCMA, fcma, "fcma", AARCH64_HWCAP_FCMA, 0) \ +- LINE(AARCH64_LRCPC, lrcpc, "lrcpc", AARCH64_HWCAP_LRCPC, 0) \ +- LINE(AARCH64_DCPOP, dcpop, "dcpop", AARCH64_HWCAP_DCPOP, 0) \ +- LINE(AARCH64_SHA3, sha3, "sha3", AARCH64_HWCAP_SHA3, 0) \ +- LINE(AARCH64_SM3, sm3, "sm3", AARCH64_HWCAP_SM3, 0) \ +- LINE(AARCH64_SM4, sm4, "sm4", AARCH64_HWCAP_SM4, 0) \ +- LINE(AARCH64_ASIMDDP, asimddp, "asimddp", AARCH64_HWCAP_ASIMDDP, 0) \ +- LINE(AARCH64_SHA512, sha512, "sha512", AARCH64_HWCAP_SHA512, 0) \ +- LINE(AARCH64_SVE, sve, "sve", AARCH64_HWCAP_SVE, 0) \ +- LINE(AARCH64_ASIMDFHM, asimdfhm, "asimdfhm", AARCH64_HWCAP_ASIMDFHM, 0) \ +- LINE(AARCH64_DIT, dit, "dit", AARCH64_HWCAP_DIT, 0) \ +- LINE(AARCH64_USCAT, uscat, "uscat", AARCH64_HWCAP_USCAT, 0) \ +- LINE(AARCH64_ILRCPC, ilrcpc, "ilrcpc", AARCH64_HWCAP_ILRCPC, 0) \ +- LINE(AARCH64_FLAGM, flagm, "flagm", AARCH64_HWCAP_FLAGM, 0) \ +- LINE(AARCH64_SSBS, ssbs, "ssbs", AARCH64_HWCAP_SSBS, 0) \ +- LINE(AARCH64_SB, sb, "sb", AARCH64_HWCAP_SB, 0) \ +- LINE(AARCH64_PACA, paca, "paca", AARCH64_HWCAP_PACA, 0) \ +- LINE(AARCH64_PACG, pacg, "pacg", AARCH64_HWCAP_PACG, 0) \ +- LINE(AARCH64_DCPODP, dcpodp, "dcpodp", 0, AARCH64_HWCAP2_DCPODP) \ +- LINE(AARCH64_SVE2, sve2, "sve2", 0, AARCH64_HWCAP2_SVE2) \ +- LINE(AARCH64_SVEAES, sveaes, "sveaes", 0, AARCH64_HWCAP2_SVEAES) \ +- LINE(AARCH64_SVEPMULL, svepmull, "svepmull", 0, AARCH64_HWCAP2_SVEPMULL) \ +- LINE(AARCH64_SVEBITPERM, svebitperm, "svebitperm", 0, \ +- AARCH64_HWCAP2_SVEBITPERM) \ +- LINE(AARCH64_SVESHA3, svesha3, "svesha3", 0, AARCH64_HWCAP2_SVESHA3) \ +- LINE(AARCH64_SVESM4, svesm4, "svesm4", 0, AARCH64_HWCAP2_SVESM4) \ +- LINE(AARCH64_FLAGM2, flagm2, "flagm2", 0, AARCH64_HWCAP2_FLAGM2) \ +- LINE(AARCH64_FRINT, frint, "frint", 0, AARCH64_HWCAP2_FRINT) \ +- LINE(AARCH64_SVEI8MM, svei8mm, "svei8mm", 0, AARCH64_HWCAP2_SVEI8MM) \ +- LINE(AARCH64_SVEF32MM, svef32mm, "svef32mm", 0, AARCH64_HWCAP2_SVEF32MM) \ +- LINE(AARCH64_SVEF64MM, svef64mm, "svef64mm", 0, AARCH64_HWCAP2_SVEF64MM) \ +- LINE(AARCH64_SVEBF16, svebf16, "svebf16", 0, AARCH64_HWCAP2_SVEBF16) \ +- LINE(AARCH64_I8MM, i8mm, "i8mm", 0, AARCH64_HWCAP2_I8MM) \ +- LINE(AARCH64_BF16, bf16, "bf16", 0, AARCH64_HWCAP2_BF16) \ +- LINE(AARCH64_DGH, dgh, "dgh", 0, AARCH64_HWCAP2_DGH) \ +- LINE(AARCH64_RNG, rng, "rng", 0, AARCH64_HWCAP2_RNG) \ +- LINE(AARCH64_BTI, bti, "bti", 0, AARCH64_HWCAP2_BTI) \ +- LINE(AARCH64_MTE, mte, "mte", 0, AARCH64_HWCAP2_MTE) \ +- LINE(AARCH64_ECV, ecv, "ecv", 0, AARCH64_HWCAP2_ECV) \ +- LINE(AARCH64_AFP, afp, "afp", 0, AARCH64_HWCAP2_AFP) \ +- LINE(AARCH64_RPRES, rpres, "rpres", 0, AARCH64_HWCAP2_RPRES) +-#define INTROSPECTION_PREFIX Aarch64 +-#define INTROSPECTION_ENUM_PREFIX AARCH64 +-#include "define_introspection_and_hwcaps.inl" +- +-//////////////////////////////////////////////////////////////////////////////// +-// Implementation. +-//////////////////////////////////////////////////////////////////////////////// +- +-#include +- +-#include "internal/bit_utils.h" +-#include "internal/filesystem.h" +-#include "internal/stack_line_reader.h" +-#include "internal/string_view.h" ++#include "impl_aarch64__base_implementation.inl" + + static bool HandleAarch64Line(const LineResult result, + Aarch64Info* const info) { +diff --git b/src/impl_aarch64_macos_or_iphone.c b/src/impl_aarch64_macos_or_iphone.c +new file mode 100644 +index 0000000..4dd1db7 +--- /dev/null ++++ b/src/impl_aarch64_macos_or_iphone.c +@@ -0,0 +1,82 @@ ++// Copyright 2021 Google LLC ++// ++// 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 "cpu_features_macros.h" ++ ++#ifdef CPU_FEATURES_ARCH_AARCH64 ++#if defined(CPU_FEATURES_OS_MACOS) || defined(CPU_FEATURES_OS_IPHONE) ++ ++#include "impl_aarch64__base_implementation.inl" ++#include "define_introspection_and_hwcaps.inl" ++ ++#if !defined(HAVE_SYSCTLBYNAME) ++#error "Darwin needs support for sysctlbyname" ++#endif ++#include ++ ++#if defined(CPU_FEATURES_MOCK_SYSCTL_AARCH64) ++extern bool GetDarwinSysCtlByName(const char*); ++extern int GetDarwinSysCtlByNameValue(const char* name); ++#else ++static int GetDarwinSysCtlByNameValue(const char* name) { ++ int enabled; ++ size_t enabled_len = sizeof(enabled); ++ const int failure = sysctlbyname(name, &enabled, &enabled_len, NULL, 0); ++ return failure ? 0 : enabled; ++} ++ ++static bool GetDarwinSysCtlByName(const char* name) { ++ return GetDarwinSysCtlByNameValue(name) != 0; ++} ++#endif ++ ++static const Aarch64Info kEmptyAarch64Info; ++ ++Aarch64Info GetAarch64Info(void) { ++ Aarch64Info info = kEmptyAarch64Info; ++ ++ // Handling Darwin platform through sysctlbyname. ++ info.implementer = GetDarwinSysCtlByNameValue("hw.cputype"); ++ info.variant = GetDarwinSysCtlByNameValue("hw.cpusubtype"); ++ info.part = GetDarwinSysCtlByNameValue("hw.cpufamily"); ++ info.revision = GetDarwinSysCtlByNameValue("hw.cpusubfamily"); ++ ++ info.features.fp = GetDarwinSysCtlByName("hw.optional.floatingpoint"); ++ info.features.asimd = GetDarwinSysCtlByName("hw.optional.AdvSIMD"); ++ info.features.aes = GetDarwinSysCtlByName("hw.optional.arm.FEAT_AES"); ++ info.features.pmull = GetDarwinSysCtlByName("hw.optional.arm.FEAT_PMULL"); ++ info.features.sha1 = GetDarwinSysCtlByName("hw.optional.arm.FEAT_SHA1"); ++ info.features.sha2 = GetDarwinSysCtlByName("hw.optional.arm.FEAT_SHA2"); ++ info.features.crc32 = GetDarwinSysCtlByName("hw.optional.armv8_crc32"); ++ info.features.atomics = GetDarwinSysCtlByName("hw.optional.armv8_1_atomics"); ++ info.features.fphp = GetDarwinSysCtlByName("hw.optional.neon_hpfp"); ++ info.features.jscvt = GetDarwinSysCtlByName("hw.optional.arm.FEAT_JSCVT"); ++ info.features.fcma = GetDarwinSysCtlByName("hw.optional.arm.FEAT_FCMA"); ++ info.features.lrcpc = GetDarwinSysCtlByName("hw.optional.arm.FEAT_LRCPC"); ++ info.features.sha3 = GetDarwinSysCtlByName("hw.optional.armv8_2_sha3"); ++ info.features.sha512 = GetDarwinSysCtlByName("hw.optional.armv8_2_sha512"); ++ info.features.asimdfhm = GetDarwinSysCtlByName("hw.optional.armv8_2_fhm"); ++ info.features.flagm = GetDarwinSysCtlByName("hw.optional.arm.FEAT_FLAGM"); ++ info.features.flagm2 = GetDarwinSysCtlByName("hw.optional.arm.FEAT_FLAGM2"); ++ info.features.ssbs = GetDarwinSysCtlByName("hw.optional.arm.FEAT_SSBS"); ++ info.features.sb = GetDarwinSysCtlByName("hw.optional.arm.FEAT_SB"); ++ info.features.i8mm = GetDarwinSysCtlByName("hw.optional.arm.FEAT_I8MM"); ++ info.features.bf16 = GetDarwinSysCtlByName("hw.optional.arm.FEAT_BF16"); ++ info.features.bti = GetDarwinSysCtlByName("hw.optional.arm.FEAT_BTI"); ++ ++ return info; ++} ++ ++#endif // defined(CPU_FEATURES_OS_MACOS) || defined(CPU_FEATURES_OS_IPHONE) ++#endif // CPU_FEATURES_ARCH_AARCH64 diff --git a/recipes/cpu_features/config.yml b/recipes/cpu_features/config.yml index 5af5c000c90f1..a4fbe67cb54a0 100644 --- a/recipes/cpu_features/config.yml +++ b/recipes/cpu_features/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: "all" "0.7.0": folder: "all" "0.6.0": From d8e543255ac3196c12a175cfe33e7408f52f4c0d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 11:41:35 +0200 Subject: [PATCH 0123/4087] (#17288) restbed: use version range openssl + modernize more for conan v2 * use version range for openssl & bump asio * modernize more - add package_type - remove ipc option in config_options() instead of configure() - sort methods by order of execution --- recipes/restbed/all/conanfile.py | 31 ++++++++----------- .../all/test_v1_package/CMakeLists.txt | 13 +++----- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/recipes/restbed/all/conanfile.py b/recipes/restbed/all/conanfile.py index 0a5e2d6cfc925..f63b47dfcb4cd 100644 --- a/recipes/restbed/all/conanfile.py +++ b/recipes/restbed/all/conanfile.py @@ -8,7 +8,7 @@ import os import re -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class RestbedConan(ConanFile): @@ -18,7 +18,7 @@ class RestbedConan(ConanFile): topics = ("restful", "server", "client", "json", "http", "ssl", "tls") url = "https://github.com/conan-io/conan-center-index" license = "AGPL-3.0-or-later", "LicenseRef-CPL" # Corvusoft Permissive License (CPL) - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -51,15 +51,19 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + del self.options.ipc def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - if self.settings.os in ("Windows", ): - del self.options.ipc + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("asio/1.27.0") + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") def validate(self): if getattr(self.info.settings.compiler, "cppstd"): @@ -71,17 +75,8 @@ def validate(self): f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support." ) - def layout(self): - cmake_layout(self, src_folder="src") - - def requirements(self): - self.requires("asio/1.24.0") - if self.options.with_openssl: - self.requires("openssl/3.0.5") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/restbed/all/test_v1_package/CMakeLists.txt b/recipes/restbed/all/test_v1_package/CMakeLists.txt index 87b1318ff1676..0d20897301b68 100644 --- a/recipes/restbed/all/test_v1_package/CMakeLists.txt +++ b/recipes/restbed/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(restbed REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE restbed::restbed) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From eccffc6d90e68e5de79ba5673c465b74a42dea6a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 12:02:05 +0200 Subject: [PATCH 0124/4087] (#17284) grpc: several improvements for conan v2 * several improvements - bump c-ares & re2 - remove full_package_mode for protobuf - avoid to have protobuf in build requirements in case of native build - avoid to have grpc in build requirements of test package in case of native build, mainly to avoid missing packages in c3i - use tool_requires instead of build_requires * expose abseil libs --- recipes/grpc/all/conanfile.py | 54 +++++++++++----------- recipes/grpc/all/test_package/conanfile.py | 30 ++++++------ 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index 584cea79d847b..cf5aaa317ecb2 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -4,9 +4,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os -from conan.tools.build import cross_building, valid_min_cppstd, check_min_cppstd +from conan.tools.build import can_run, cross_building, valid_min_cppstd, check_min_cppstd from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps -from conan.tools.env import VirtualBuildEnv +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, replace_in_file, rmdir from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version @@ -14,7 +14,7 @@ required_conan_version = ">=1.53.0" -class grpcConan(ConanFile): +class GrpcConan(ConanFile): name = "grpc" package_type = "library" description = "Google's RPC (remote procedure call) library and framework." @@ -56,9 +56,6 @@ class grpcConan(ConanFile): short_paths = True - def layout(self): - cmake_layout(self, src_folder="src") - @property def _grpc_plugin_template(self): return "grpc_plugin_template.cmake.in" @@ -86,35 +83,38 @@ def configure(self): if cross_building(self): self.options["grpc"].shared = True + 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 if is_msvc(self) and Version(self.version) < "1.47": - self.requires("abseil/20211102.0", transitive_headers=True) + self.requires("abseil/20211102.0", transitive_headers=True, transitive_libs=True) else: - self.requires("abseil/20220623.0", transitive_headers=True) - self.requires("c-ares/1.18.1") + self.requires("abseil/20220623.0", transitive_headers=True, transitive_libs=True) + self.requires("c-ares/1.19.0") self.requires("openssl/[>=1.1 <4]") - self.requires("re2/20220601") + self.requires("re2/20230301") self.requires("zlib/1.2.13") - self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True) + self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True, run=can_run(self)) self.requires("googleapis/cci.20221108") self.requires("grpc-proto/cci.20220627") def package_id(self): del self.info.options.secure - self.info.requires["protobuf"].full_package_mode() def validate(self): check_min_vs(self, "190") - if is_msvc(self) and self.info.options.shared: + if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} shared not supported by Visual Studio") - if Version(self.version) >= "1.47" and self.info.settings.compiler == "gcc" and Version(self.info.settings.compiler.version) < "6": + if Version(self.version) >= "1.47" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "6": raise ConanInvalidConfiguration("GCC older than 6 is not supported") - if self.info.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._cxxstd_required) - if self.info.options.shared and \ + if self.options.shared and \ (not self.dependencies["protobuf"].options.shared or not self.dependencies["googleapis"].options.shared or not self.dependencies["grpc-proto"].options.shared): raise ConanInvalidConfiguration( "If built as shared, protobuf, googleapis and grpc-proto must be shared as well. " @@ -122,18 +122,20 @@ def validate(self): ) def build_requirements(self): - if hasattr(self, "settings_build"): - self.build_requires('protobuf/3.21.9') + if not can_run(self): + self.tool_requires("protobuf/3.21.9") + if cross_building(self): # when cross compiling we need pre compiled grpc plugins for protoc - if cross_building(self): - self.build_requires('grpc/{}'.format(self.version)) + self.tool_requires(f"grpc/{self.version}") 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): - + # Set up environment so that we can run grpc-cpp-plugin at build time + VirtualBuildEnv(self).generate() + if can_run(self): + VirtualRunEnv(self).generate(scope="build") # This doesn't work yet as one would expect, because the install target builds everything # and we need the install target because of the generated CMake files @@ -185,10 +187,6 @@ def generate(self): cmake_deps = CMakeDeps(self) cmake_deps.generate() - # Set up environment so that we can run grpc-cpp-plugin at build time - if hasattr(self, "settings_build"): - VirtualBuildEnv(self).generate() - def _patch_sources(self): apply_conandata_patches(self) @@ -210,7 +208,7 @@ def _patch_sources(self): # This workaround wraps the protoc command to be invoked by CMake with a modified environment 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, os.path.join(self.source_folder, "CMakeLists.txt"), "COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}", 'COMMAND ${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}') def build(self): diff --git a/recipes/grpc/all/test_package/conanfile.py b/recipes/grpc/all/test_package/conanfile.py index d0170152b60d2..0f6a5af6c45a4 100644 --- a/recipes/grpc/all/test_package/conanfile.py +++ b/recipes/grpc/all/test_package/conanfile.py @@ -14,13 +14,23 @@ def layout(self): cmake_layout(self) def requirements(self): - self.requires(self.tested_reference_str) + self.requires(self.tested_reference_str, run=can_run(self)) def build_requirements(self): - # For the grpc-cpp-plugin executable - self.tool_requires(self.tested_reference_str) + if not can_run(self): + # For the grpc-cpp-plugin executable at build time + self.tool_requires(self.tested_reference_str) def generate(self): + # Set up environment so that we can run grpc-cpp-plugin at build time + VirtualBuildEnv(self).generate() + if can_run(self): + VirtualRunEnv(self).generate(scope="build") + + # 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") @@ -31,22 +41,10 @@ def generate(self): project_include = os.path.join(self.source_folder, "macos_make_override.cmake") tc.cache_variables["CMAKE_PROJECT_test_package_INCLUDE"] = project_include tc.generate() - - # Set up environment so that we can run grpc-cpp-plugin at build time - if hasattr(self, "settings_build"): - VirtualBuildEnv(self).generate() - else: - # Cover case in Conan 1.x when only one profile is provided - self.output.info("Generating VirtualRunEnv in build environment - using two profiles is advised.") - VirtualRunEnv(self).generate(scope="build") - - # Environment so that the compiled test executable can load shared libraries - runenv = VirtualRunEnv(self) - runenv.generate(scope="run") deps = CMakeDeps(self) deps.generate() - + def build(self): cmake = CMake(self) cmake.configure() From 211d070af8c2d9bf943fb31cc7fe91777bd8e722 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 12:24:44 +0200 Subject: [PATCH 0125/4087] (#17263) flatbuffers: use version range for cmake --- recipes/flatbuffers/all/conanfile.py | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/recipes/flatbuffers/all/conanfile.py b/recipes/flatbuffers/all/conanfile.py index 52f0f38733e5c..ff0db700336fb 100644 --- a/recipes/flatbuffers/all/conanfile.py +++ b/recipes/flatbuffers/all/conanfile.py @@ -42,27 +42,15 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - - def build_requirements(self): - if Version(self.version) >= "2.0.7" and not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.3") - def configure(self): if self.options.shared or self.options.header_only: self.options.rm_safe("fPIC") if self.options.header_only: del self.options.shared + def layout(self): + cmake_layout(self, src_folder="src") + def package_id(self): if self.info.options.header_only and not self._has_flatc(info=True): self.info.clear() @@ -71,8 +59,9 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - cmake_layout(self, src_folder="src") + def build_requirements(self): + if Version(self.version) >= "2.0.7": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 79a2fe3416c49d6dfc2961546c7e8e302464858b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 29 Apr 2023 13:22:32 +0200 Subject: [PATCH 0126/4087] (#17262) googleapis: use version range for cmake --- recipes/googleapis/all/conanfile.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/recipes/googleapis/all/conanfile.py b/recipes/googleapis/all/conanfile.py index bb0a56e9d71cd..823693a078c6a 100644 --- a/recipes/googleapis/all/conanfile.py +++ b/recipes/googleapis/all/conanfile.py @@ -72,24 +72,12 @@ def validate(self): if self.options.shared and not self.dependencies["protobuf"].options.shared: raise ConanInvalidConfiguration("If built as shared, protobuf must be shared as well. Please, use `protobuf:shared=True`") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): if not can_run(self): self.tool_requires(f"protobuf/{self._protobuf_version}") # CMake >= 3.20 is required. There is a proto with dots in the name 'k8s.min.proto' and CMake fails to generate project files - if not self._cmake_new_enough("3.20"): - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/[>=3.20 <4]") def source(self): get(self, **self.conan_data["sources"][str(self.version)], strip_root=True) From 2646a69f1966cbfc2cd303b625a8fef0faf55ea8 Mon Sep 17 00:00:00 2001 From: Joris Putcuyps Date: Sat, 29 Apr 2023 14:04:00 +0200 Subject: [PATCH 0127/4087] (#17250) Improve ArduinoJson and add 6.21.2 * Add package_type and safer cppstd check for v1 * Add version 6.21.2 * Workaround for v1 C++11 check * Disable apple-clang for now * Allow apple-clang but require the cppstd * Fix github warnings * fixup: format prefix was missing --------- Co-authored-by: Chris Mc --- recipes/arduinojson/all/conandata.yml | 3 +++ recipes/arduinojson/all/conanfile.py | 20 +++++++++++++++++++- recipes/arduinojson/config.yml | 2 ++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/recipes/arduinojson/all/conandata.yml b/recipes/arduinojson/all/conandata.yml index 8cd5e36ab9fb1..d44d34b58314d 100644 --- a/recipes/arduinojson/all/conandata.yml +++ b/recipes/arduinojson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.21.2": + url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.2/ArduinoJson-v6.21.2.zip" + sha256: "1dc888061f6e7828f7a0a4e71bf059796e5ce202ce6ddb4e3a2e384d32b5cba0" "6.21.0": url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.0/ArduinoJson-v6.21.0.zip" sha256: "08f7cad5fca2393c40fcb479c43235a2fa7da1a40331377ddf617eda2f123583" diff --git a/recipes/arduinojson/all/conanfile.py b/recipes/arduinojson/all/conanfile.py index 18a97a6e9847a..af682213f09dd 100644 --- a/recipes/arduinojson/all/conanfile.py +++ b/recipes/arduinojson/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.layout import basic_layout from conan.tools.scm import Version from conan.tools.build import check_min_cppstd +from conan.errors import ConanInvalidConfiguration import os import textwrap @@ -16,12 +17,29 @@ class ArduinojsonConan(ConanFile): topics = ("json", "arduino", "iot", "embedded", "esp8266") license = "MIT" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "6", + "clang": "6", + } + def validate(self): if Version(self.version) >= "6.21.0": - check_min_cppstd(self, 11) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + elif str(self.settings.compiler) == 'apple-clang': + raise ConanInvalidConfiguration("cppstd needs to be set on apple-clang to activate c++11.") + else: + 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++11, which your compiler does not support.") def package_id(self): self.info.clear() diff --git a/recipes/arduinojson/config.yml b/recipes/arduinojson/config.yml index 803d10dbd17d2..3358de6326521 100644 --- a/recipes/arduinojson/config.yml +++ b/recipes/arduinojson/config.yml @@ -1,4 +1,6 @@ versions: + "6.21.2": + folder: all "6.21.0": folder: all "6.20.1": From 729067176e44ae6585d9d92ff0ce0a083a8b6f6a Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Sun, 30 Apr 2023 05:41:02 +0700 Subject: [PATCH 0128/4087] (#17310) libcap/2.68: 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 1539a34e13bec..5d119b718f418 100644 --- a/recipes/libcap/all/conandata.yml +++ b/recipes/libcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.68": + url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.68.tar.xz" + sha256: "90be3b6d41be5f81ae4b03ec76012b0d27c829293684f6c05b65d5f9cce724b2" "2.66": url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.66.tar.xz" sha256: "15c40ededb3003d70a283fe587a36b7d19c8b3b554e33f86129c059a4bb466b2" @@ -27,6 +30,13 @@ sources: url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.45.tar.xz" sha256: "d66639f765c0e10557666b00f519caf0bd07a95f867dddaee131cd284fac3286" patches: + "2.68": + - 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.66": - 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 6cf43a9b4e1c5..24a13cbb3bd22 100644 --- a/recipes/libcap/config.yml +++ b/recipes/libcap/config.yml @@ -1,4 +1,6 @@ versions: + "2.68": + folder: all "2.66": folder: all "2.65": From fd8cab4df33152746c0c83ac44fca4f7e171f42c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 30 Apr 2023 01:02:57 +0200 Subject: [PATCH 0129/4087] (#17234) qxlsx: add package_type + use version range for cmake - add package_type - use version range for cmake - bump qt --- recipes/qxlsx/all/conanfile.py | 34 ++++++------------- .../qxlsx/all/test_v1_package/CMakeLists.txt | 9 ++--- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/recipes/qxlsx/all/conanfile.py b/recipes/qxlsx/all/conanfile.py index 2db27dce4134a..28fac77f7f2b5 100644 --- a/recipes/qxlsx/all/conanfile.py +++ b/recipes/qxlsx/all/conanfile.py @@ -12,18 +12,18 @@ class QXlsxConan(ConanFile): name = "qxlsx" description = "Excel file(*.xlsx) reader/writer library using Qt 5 or 6." license = "MIT" - topics = ("qxlsx", "excel", "xlsx") + topics = ("excel", "xlsx") homepage = "https://github.com/QtExcel/QXlsx" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } @property @@ -41,39 +41,27 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - def requirements(self): - self.requires("qt/5.15.7") - def layout(self): cmake_layout(self, src_folder="src") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False + def requirements(self): + self.requires("qt/5.15.9") def build_requirements(self): - if Version(self.version) >= "1.4.4" and not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.0") + if Version(self.version) >= "1.4.4": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + tc = VirtualBuildEnv(self) + tc.generate() tc = CMakeToolchain(self) tc.variables["QT_VERSION_MAJOR"] = self._qt_version tc.generate() tc = CMakeDeps(self) tc.generate() - tc = VirtualBuildEnv(self) - tc.generate(scope="build") def build(self): apply_conandata_patches(self) diff --git a/recipes/qxlsx/all/test_v1_package/CMakeLists.txt b/recipes/qxlsx/all/test_v1_package/CMakeLists.txt index 098ce8b428891..0d20897301b68 100644 --- a/recipes/qxlsx/all/test_v1_package/CMakeLists.txt +++ b/recipes/qxlsx/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(QXlsx REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} QXlsx::Core) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 7e03f38a1085ebe934e7cf77ca7e4987b88eaa8a Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 30 Apr 2023 01:22:55 +0200 Subject: [PATCH 0130/4087] (#17189) libbigwig: conan v2 support; bump deps * Sort import statements * Remove workaround for gsasl link error This error was addressed by this PR: https://github.com/conan-io/conan-center-index/pull/15373/files * Modernize recipe * Bump deps * Build with CURL support by default (follow upstream) * Bugfix * Bugfix * Add package_type * Remove symlink to test_package.c * Update recipes/libbigwig/all/conanfile.py Co-authored-by: James * Document transitive_includes. Thanks @RubenRBS! * Apply suggestions from review --------- Co-authored-by: James --- recipes/libbigwig/all/conanfile.py | 45 +++++++++---------- .../libbigwig/all/test_package/CMakeLists.txt | 2 +- .../libbigwig/all/test_package/conanfile.py | 3 +- .../all/test_v1_package/CMakeLists.txt | 2 +- .../all/test_v1_package/conanfile.py | 2 +- 5 files changed, 25 insertions(+), 29 deletions(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index 7caf0f129e795..0f28a5364da62 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -1,10 +1,11 @@ +import os + from conan import ConanFile -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, get, copy from conan.errors import ConanInvalidConfiguration -import os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.53.0" class LibBigWigConan(ConanFile): @@ -14,6 +15,7 @@ class LibBigWigConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dpryan79/libBigWig" license = "MIT" + package_type = "library" settings = "arch", "build_type", "compiler", "os" options = { @@ -26,32 +28,28 @@ class LibBigWigConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "with_curl": False, + "with_curl": True, "with_zlibng": False } def configure(self): if self.options.shared: - del self.options.fPIC - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_curl: - self.requires("libcurl/7.85.0") + # transitive_headers=True is required due to includes in bigWigIO.h + # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 + self.requires("libcurl/8.0.1", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.0.6") + self.requires("zlib-ng/2.0.7") else: - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") def validate(self): if self.info.settings.os == "Windows": @@ -62,13 +60,9 @@ def validate(self): if not zlib_ng.options.zlib_compat: raise ConanInvalidConfiguration(f"{self.ref} requires the dependency option zlib-ng:zlib_compat=True") - if self.options.with_curl: - libcurl = self.dependencies["libcurl"] - if libcurl.options.with_imap or libcurl.options.with_pop3 or libcurl.options.with_smtp: - raise ConanInvalidConfiguration(f"{self.ref} requires libcurl using the follow options: -o libcurl:with_imap=False -o libcurl:with_pop3=False -o libcurl:with_smtp=False") - 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) @@ -91,10 +85,11 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.libs = ["BigWig"] - self.cpp_info.system_libs = ["m"] self.cpp_info.set_property("cmake_file_name", "BigWig") self.cpp_info.set_property("cmake_target_name", "BigWig::BigWig") + self.cpp_info.libs = ["BigWig"] + self.cpp_info.system_libs = ["m"] + if not self.options.with_curl: self.cpp_info.defines = ["NOCURL"] diff --git a/recipes/libbigwig/all/test_package/CMakeLists.txt b/recipes/libbigwig/all/test_package/CMakeLists.txt index 7a790b50c498a..fae2a97e9d90d 100644 --- a/recipes/libbigwig/all/test_package/CMakeLists.txt +++ b/recipes/libbigwig/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package C) +project(test_package LANGUAGES C) find_package(BigWig REQUIRED CONFIG) diff --git a/recipes/libbigwig/all/test_package/conanfile.py b/recipes/libbigwig/all/test_package/conanfile.py index 8a6b7483b895d..c76c01456ca00 100644 --- a/recipes/libbigwig/all/test_package/conanfile.py +++ b/recipes/libbigwig/all/test_package/conanfile.py @@ -1,7 +1,8 @@ import os + from conan import ConanFile -from conan.tools.cmake import CMake, cmake_layout from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout class TestPackageConan(ConanFile): diff --git a/recipes/libbigwig/all/test_v1_package/CMakeLists.txt b/recipes/libbigwig/all/test_v1_package/CMakeLists.txt index 0ef441c1d3786..70375bb9b607e 100644 --- a/recipes/libbigwig/all/test_v1_package/CMakeLists.txt +++ b/recipes/libbigwig/all/test_v1_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package C) +project(test_package LANGUAGES C) include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") conan_basic_setup(TARGETS) diff --git a/recipes/libbigwig/all/test_v1_package/conanfile.py b/recipes/libbigwig/all/test_v1_package/conanfile.py index fe504f17122b3..e8dacc213db5b 100644 --- a/recipes/libbigwig/all/test_v1_package/conanfile.py +++ b/recipes/libbigwig/all/test_v1_package/conanfile.py @@ -1,7 +1,7 @@ import os -from conans import ConanFile, CMake from conan.tools.build import cross_building +from conans import CMake, ConanFile class TestPackageConan(ConanFile): From 4d9b24719e665a3463d75c7cd47a8e53604198a2 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 30 Apr 2023 11:41:33 +0900 Subject: [PATCH 0131/4087] (#17319) cpp-httplib: add version 0.12.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 c988b80c20991..9933170ac8517 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.3": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.3.tar.gz" + sha256: "175ced3c9cdaf221e9edf210297568d8f7d402a41d6db01254ac9e0b25487c54" "0.12.2": url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.2.tar.gz" sha256: "a7897d052de8fae75817e7a261ae37b89dc4cb8ac74b74458a1f2d2e707cfd03" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 34c14702497cc..6ad1768ae264f 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.3": + folder: all "0.12.2": folder: all "0.12.1": From d33327e34480f58afe7d219004b4637a2f9fd597 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Sun, 30 Apr 2023 08:02:45 +0200 Subject: [PATCH 0132/4087] (#17245) soci: fix linking against dependencies with conanv1 * soci: fix linking against dependencies with conanv1 soci searches for POSTGRESQL_LIBRARIES etc. instead of what conan defines (PostgreSQL_LIBRARIES). fixes #11628 * soci: fix @rpath on MacOS --- recipes/soci/all/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index 67c572d5ad86b..6b15a39df0e5f 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -110,6 +110,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + # MacOS @rpath + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.variables["SOCI_SHARED"] = self.options.shared tc.variables["SOCI_STATIC"] = not self.options.shared tc.variables["SOCI_TESTS"] = False @@ -126,6 +128,9 @@ def generate(self): tc.generate() deps = CMakeDeps(self) + deps.set_property("mysql", "cmake_file_name", "MYSQL") + deps.set_property("libpq", "cmake_file_name", "POSTGRESQL") + deps.set_property("sqlite3", "cmake_file_name", "SQLITE3") deps.generate() def build(self): From 1fe9ef67e8ab7a0ea26dfce402393df9884feffc Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 30 Apr 2023 08:42:09 +0200 Subject: [PATCH 0133/4087] (#17307) cmake: add 3.26.3 --- 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 26d72e55410d4..00a43300159e0 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.26.3": + Linux: + armv8: + url: "https://cmake.org/files/v3.26/cmake-3.26.3-linux-aarch64.tar.gz" + sha256: "7a4fbe374475db1a098b632b54e3c9180973e8a791c700deabe5408ae23ea3ce" + x86_64: + url: "https://cmake.org/files/v3.26/cmake-3.26.3-linux-x86_64.tar.gz" + sha256: "28d4d1d0db94b47d8dfd4f7dec969a3c747304f4a28ddd6fd340f553f2384dc2" + Macos: + universal: + url: "https://cmake.org/files/v3.26/cmake-3.26.3-macos10.10-universal.tar.gz" + sha256: "b0d39ae9ddec3f193f50ff549edb30d0b35acb6c95c12f7611dbc8afc52c8ab6" + Windows: + armv8: + url: "https://cmake.org/files/v3.26/cmake-3.26.3-windows-arm64.zip" + sha256: "fd1d908ea54a081a092bc7f9dad0a6ba90fc5aa2644ee5cef901e3f925fce3d8" + x86_64: + url: "https://cmake.org/files/v3.26/cmake-3.26.3-windows-x86_64.zip" + sha256: "91a418595cc9a97d5f679e36728dfec79ee52980f51e8814ec7b05b890708523" "3.25.3": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 0d5f93d2a4775..a504377b77d5d 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -13,3 +13,5 @@ versions: folder: "binary" "3.25.3": folder: "binary" + "3.26.3": + folder: "binary" From 502f42c55b0aec649c902278cf335f8478d6e1e9 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Sun, 30 Apr 2023 00:03:17 -0700 Subject: [PATCH 0134/4087] (#17204) benchmark: remove cmake_new_enough MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * benchmark: remove cmake_new_enough * Update recipes/benchmark/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/benchmark/all/conanfile.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/recipes/benchmark/all/conanfile.py b/recipes/benchmark/all/conanfile.py index a1b57fcf562db..de0392e20c566 100644 --- a/recipes/benchmark/all/conanfile.py +++ b/recipes/benchmark/all/conanfile.py @@ -49,20 +49,9 @@ def validate(self): 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") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "1.7.1" and not self._cmake_new_enough("3.16.3"): - self.tool_requires("cmake/3.25.3") + if Version(self.version) >= "1.7.1": + self.tool_requires("cmake/[>=3.16.3 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c1ff42f1f4d9c9c29a5905f30da6e9faa6e188cb Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Sun, 30 Apr 2023 11:02:09 +0200 Subject: [PATCH 0135/4087] (#17316) [cppcheck] Remove deprecated with_z3 option * Update conanfile.py * Update conanfile.py --- recipes/cppcheck/all/conanfile.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipes/cppcheck/all/conanfile.py b/recipes/cppcheck/all/conanfile.py index 9df1c9cbfbeb2..734ffc6f84fd2 100644 --- a/recipes/cppcheck/all/conanfile.py +++ b/recipes/cppcheck/all/conanfile.py @@ -15,8 +15,8 @@ class CppcheckConan(ConanFile): license = "GPL-3.0-or-later" package_type = "application" settings = "os", "arch", "compiler", "build_type" - options = {"have_rules": [True, False], "with_z3": [True, False, "deprecated"]} - default_options = {"have_rules": True, "with_z3": "deprecated"} + options = {"have_rules": [True, False]} + default_options = {"have_rules": True} def layout(self): cmake_layout(self, src_folder="src") @@ -24,10 +24,6 @@ def layout(self): def export_sources(self): export_conandata_patches(self) - def configure(self): - if self.options.get_safe("with_z3") != "deprecated": - self.output.warning("Option \"with_z3\" is deprecated, do not use anymore.") - def requirements(self): if self.options.get_safe("have_rules"): self.requires("pcre/8.45") @@ -61,7 +57,6 @@ def package(self): def package_id(self): del self.info.settings.compiler del self.info.settings.build_type - del self.info.options.with_z3 def package_info(self): self.cpp_info.includedirs = [] From 52bf677221c3a8edc8474a42f588b7fde43d4db1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 30 Apr 2023 15:21:51 +0200 Subject: [PATCH 0136/4087] (#17318) tensorflow-lite: use version range for cmake + add package_type * use version range for cmake * fix required_conan_version * add package_type * add msvc to min versions * sort methods by order of execution * add VirtualBuildEnv --- recipes/tensorflow-lite/all/conanfile.py | 50 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 11 ++-- 2 files changed, 33 insertions(+), 28 deletions(-) diff --git a/recipes/tensorflow-lite/all/conanfile.py b/recipes/tensorflow-lite/all/conanfile.py index 056335ade2737..083c62e71120c 100644 --- a/recipes/tensorflow-lite/all/conanfile.py +++ b/recipes/tensorflow-lite/all/conanfile.py @@ -1,13 +1,14 @@ from conan import ConanFile -from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +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.env import VirtualBuildEnv from conan.tools.files import get, save, copy, export_conandata_patches, apply_conandata_patches -from conan.errors import ConanInvalidConfiguration +from conan.tools.scm import Version from os.path import join import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class TensorflowLiteConan(ConanFile): @@ -18,7 +19,7 @@ class TensorflowLiteConan(ConanFile): description = ("TensorFlow Lite is a set of tools that enables on-device machine learning " "by helping developers run their models on mobile, embedded, and IoT devices.") topics = ("machine-learning", "neural-networks", "deep-learning") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,11 +40,16 @@ class TensorflowLiteConan(ConanFile): short_paths = True + @property + def _min_cppstd(self): + return "17" + @property def _compilers_minimum_version(self): return { "gcc": "8", "Visual Studio": "15.8", + "msvc": "191", "clang": "5", "apple-clang": "5.1", } @@ -63,6 +69,9 @@ 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("abseil/20230125.1") self.requires("eigen/3.4.0") @@ -80,13 +89,25 @@ def requirements(self): if self.options.with_xnnpack or self.options.get_safe("with_nnapi", False): self.requires("fp16/cci.20210320") + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def build_requirements(self): - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/[>=3.16 <4]") - def layout(self): - cmake_layout(self, src_folder="src", build_folder=f"build_folder/{self.settings.build_type}") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() tc = CMakeToolchain(self) tc.variables.update({ "CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS": True, @@ -105,19 +126,6 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def validate(self): - if self.info.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, 17) - - minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if not minimum_version: - self.output.warning(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++17, which your compiler does not support.") - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self.source_folder) - def build(self): apply_conandata_patches(self) cmake = CMake(self) diff --git a/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt b/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt index ff2f7e7d39536..0d20897301b68 100644 --- a/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt +++ b/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(tensorflowlite REQUIRED CONFIG) - -add_executable(test_package ../test_package/test_package.cpp) -target_link_libraries(test_package PRIVATE tensorflow::tensorflowlite) -target_compile_features(test_package PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From eb92bfd229349adf7aa0bec8ac20b7b4a582d2d3 Mon Sep 17 00:00:00 2001 From: theirix Date: Mon, 1 May 2023 01:42:27 +0300 Subject: [PATCH 0137/4087] (#17317) amqp-cpp: add 4.3.24 * Add amqp-cpp 4.3.24 * Update recipes/amqp-cpp/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Specify C++17 in test for newer versions --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/amqp-cpp/all/conandata.yml | 5 +++ recipes/amqp-cpp/all/conanfile.py | 35 +++++++++++++++++++ ...01-cmake-openssl-install-directories.patch | 25 +++++++++++++ .../amqp-cpp/all/test_package/CMakeLists.txt | 4 +++ recipes/amqp-cpp/config.yml | 2 ++ 5 files changed, 71 insertions(+) create mode 100644 recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch diff --git a/recipes/amqp-cpp/all/conandata.yml b/recipes/amqp-cpp/all/conandata.yml index 063e7eada3339..d5f7ffbc385d2 100644 --- a/recipes/amqp-cpp/all/conandata.yml +++ b/recipes/amqp-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.24": + url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.24.tar.gz" + sha256: "c3312f8af813cacabf6c257dfaf41bf9e66606bbf7d62d085a9b7da695355245" "4.3.18": url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.18.tar.gz" sha256: "cc2c1fc5da00a1778c2804306e06bdedc782a5f74762b9d9b442d3a498dd0c4f" @@ -24,6 +27,8 @@ sources: url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.1.5.tar.gz" sha256: "9840c7fb17bb0c0b601d269e528b7f9cac5ec008dcf8d66bef22434423b468aa" patches: + "4.3.24": + - patch_file: "patches/4.3.24-0001-cmake-openssl-install-directories.patch" "4.3.18": - patch_file: "patches/0001-cmake-openssl-install-directories.patch" "4.3.16": diff --git a/recipes/amqp-cpp/all/conanfile.py b/recipes/amqp-cpp/all/conanfile.py index 637de6f9e0cfb..c1e0ec3696e4e 100644 --- a/recipes/amqp-cpp/all/conanfile.py +++ b/recipes/amqp-cpp/all/conanfile.py @@ -1,6 +1,9 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd +from conan.errors import ConanInvalidConfiguration import os import textwrap @@ -46,6 +49,38 @@ def requirements(self): if self.options.get_safe("linux_tcp_module"): self.requires("openssl/[>=1.1 <4]") + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "4.3.20" else "17" + + @property + def _compilers_minimum_version(self): + return { + "17": { + "gcc": "7.4", + "Visual Studio": "15.7", + "msvc": "191", + "clang": "6", + "apple-clang": "10", + }, + }.get(self._min_cppstd, {}) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + 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." + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch b/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch new file mode 100644 index 0000000000000..3ab0f79114118 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 69deeaf..4623ab2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -91,7 +91,10 @@ else() + #add_library(${PROJECT_NAME} STATIC ${SRCS}) + add_library(${PROJECT_NAME} STATIC ${src_MAIN} ${src_LINUX_TCP}) + endif() +- ++if(AMQP-CPP_LINUX_TCP) ++find_package(OpenSSL REQUIRED) ++target_link_libraries(${PROJECT_NAME} OpenSSL::SSL OpenSSL::Crypto) ++endif() + # install rules + # ------------------------------------------------------------------------------------------------------ + +@@ -100,7 +103,7 @@ if(AMQP-CPP_BUILD_SHARED) + install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib ++ RUNTIME DESTINATION bin + ) + else() + # copy static lib diff --git a/recipes/amqp-cpp/all/test_package/CMakeLists.txt b/recipes/amqp-cpp/all/test_package/CMakeLists.txt index bbc10e2424b6b..dcd602f230785 100644 --- a/recipes/amqp-cpp/all/test_package/CMakeLists.txt +++ b/recipes/amqp-cpp/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(amqpcpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE amqpcpp) +if(amqpcpp_VERSION VERSION_LESS "4.3.20") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/amqp-cpp/config.yml b/recipes/amqp-cpp/config.yml index 81db570a6cd83..31f91dc40c919 100644 --- a/recipes/amqp-cpp/config.yml +++ b/recipes/amqp-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.24": + folder: all "4.3.18": folder: all "4.3.16": From 80fe0aab97090fe473ece7d9f0ad8053a22ea849 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Mon, 1 May 2023 13:43:58 +0700 Subject: [PATCH 0138/4087] (#17321) libsystemd/253.3: Bump versions and dependencies * libsystemd: Sort versions in conandata and config files * libsystemd/all: Bump dependencies versions * libsystemd/all: Disable unrelated 'link-journalctl-shared' option * libsystemd: Use last stable patches for all versions The systemd versioning schema is something like 'systemd_version.build_patch', where 'build_patch' contains fixes related to build files and security updates. So it should be fine to replace all minor versions. * libsystemd/253.3: Bump version --- recipes/libsystemd/all/conandata.yml | 90 ++++++++++--------- recipes/libsystemd/all/conanfile.py | 10 ++- ...001-Remove-dependency-from-coreutils.patch | 6 +- ...scalls.py-Replace-unicode-with-ascii.patch | 6 +- ...001-Remove-dependency-from-coreutils.patch | 8 +- ...001-Remove-dependency-from-coreutils.patch | 8 +- ...scalls.py-Replace-unicode-with-ascii.patch | 32 +++++++ recipes/libsystemd/config.yml | 14 +-- 8 files changed, 114 insertions(+), 60 deletions(-) rename recipes/libsystemd/all/patches/{247.11 => 247.13}/0001-Remove-dependency-from-coreutils.patch (89%) rename recipes/libsystemd/all/patches/{248.10 => 248.12}/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch (88%) rename recipes/libsystemd/all/patches/{249.12 => 249.16}/0001-Remove-dependency-from-coreutils.patch (86%) rename recipes/libsystemd/all/patches/{251.4 => 251.15}/0001-Remove-dependency-from-coreutils.patch (87%) create mode 100644 recipes/libsystemd/all/patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index 5c8e2c6ade205..8c721280d7274 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -1,64 +1,74 @@ sources: + "253.3": + url: "https://github.com/systemd/systemd-stable/archive/v253.3.tar.gz" + sha256: "569775d77084e45d15e103004cf4fbc00d7249c33791471b80f0c3296962bbfd" + "252.9": + url: "https://github.com/systemd/systemd-stable/archive/v252.9.tar.gz" + sha256: "c386aac4ba39fa1bca3a3c9ef9df5a737e3184c9c6a04340e34d6d0254007845" + "251.15": + url: "https://github.com/systemd/systemd-stable/archive/v251.15.tar.gz" + sha256: "570b30b5b9a649d7481ca2bd0355a2d659f9a0ebb71a24588c6c365cda90c298" + "249.16": + url: "https://github.com/systemd/systemd-stable/archive/v249.16.tar.gz" + sha256: "e6c8a686023ef0ce402f4abde42245e3ada661e000c4811dc16c8cd9b4c6d885" + "248.12": + url: "https://github.com/systemd/systemd-stable/archive/v248.12.tar.gz" + sha256: "d0826453439363b57a4f092ae078b128a95e87047281a79e8b136116ab83abc9" + "247.13": + url: "https://github.com/systemd/systemd-stable/archive/v247.13.tar.gz" + sha256: "0958bfcebf3ed4e451f6cc49802f338fcc80eb4fe4f0cf5cb5b1b90fa62e5f47" "246.16": url: "https://github.com/systemd/systemd-stable/archive/v246.16.tar.gz" sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2" - "247.11": - url: "https://github.com/systemd/systemd-stable/archive/v247.11.tar.gz" - sha256: "99537ecf15815d5bac2f8f75b4e04635e1f8e95e7c857c711e42483aa2744f7f" - "248.10": - url: "https://github.com/systemd/systemd-stable/archive/v248.10.tar.gz" - sha256: "dab015c2ccd5cb0427b1c3ec85ac0f02974b38ca643de31932f198a8b60de8da" - "249.12": - url: "https://github.com/systemd/systemd-stable/archive/v249.12.tar.gz" - sha256: "cf8851e94cbd82c65a86ab122747f3e0018b04cd991c7daccbacb4a3ef149b68" - "251.4": - url: "https://github.com/systemd/systemd-stable/archive/v251.4.tar.gz" - sha256: "3459239979f52b8c4ace33734d31c2fb69fa13cf81d04b1b982f7d8d4651e015" - "252.4": - url: "https://github.com/systemd/systemd-stable/archive/v252.4.tar.gz" - sha256: "cf2d27e67663d599a045101c7178cf0ec63d9df2962a54adf7de0d0357724f00" patches: - "246.16": - - patch_file: "patches/246.16/0001-Drop-bundled-copy-of-linux-if_arp.h.patch" - patch_description: "fix build error with Linux headers >= 5.14 by removing a bundled copy of it" - patch_type: "portability" - patch_source: "https://github.com/systemd/systemd-stable/commit/06dea04b38ce506c1436cd4fef9bf9919a34f441" - - patch_file: "patches/246.16/0002-meson.build-change-operator-combining-bools-from-to-.patch" - patch_description: "allow to build with meson >= 0.60.0 by fixing syntax error" - patch_type: "bugfix" - patch_source: "https://github.com/systemd/systemd-stable/commit/3d0666d9091dd097022f02fae79890b5746285c1" - - patch_file: "patches/246.16/0003-Remove-dependency-from-coreutils.patch" - patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" + "253.3": + - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" - "247.11": - - patch_file: "patches/247.11/0001-Remove-dependency-from-coreutils.patch" + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" patch_type: "conan" - "248.10": - - patch_file: "patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + "252.9": + - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" - - patch_file: "patches/247.11/0001-Remove-dependency-from-coreutils.patch" + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" patch_type: "conan" - "249.12": - - patch_file: "patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + "251.15": + - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" - - patch_file: "patches/249.12/0001-Remove-dependency-from-coreutils.patch" + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" patch_type: "conan" - "251.4": - - patch_file: "patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + "249.16": + - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" - - patch_file: "patches/251.4/0001-Remove-dependency-from-coreutils.patch" + - patch_file: "patches/249.16/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" - "252.4": - - patch_file: "patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + "248.12": + - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" - - patch_file: "patches/251.4/0001-Remove-dependency-from-coreutils.patch" + - patch_file: "patches/247.13/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" + "247.13": + - patch_file: "patches/247.13/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" + "246.16": + - patch_file: "patches/246.16/0001-Drop-bundled-copy-of-linux-if_arp.h.patch" + patch_description: "fix build error with Linux headers >= 5.14 by removing a bundled copy of it" + patch_type: "portability" + patch_source: "https://github.com/systemd/systemd-stable/commit/06dea04b38ce506c1436cd4fef9bf9919a34f441" + - patch_file: "patches/246.16/0002-meson.build-change-operator-combining-bools-from-to-.patch" + patch_description: "allow to build with meson >= 0.60.0 by fixing syntax error" + patch_type: "bugfix" + patch_source: "https://github.com/systemd/systemd-stable/commit/3d0666d9091dd097022f02fae79890b5746285c1" + - patch_file: "patches/246.16/0003-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" diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index fd17db6680de2..17ae41f5c8e6a 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -52,23 +52,23 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libcap/2.66") + self.requires("libcap/2.68") self.requires("libmount/2.36.2") if self.options.with_selinux: self.requires("libselinux/3.3") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_xz: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.with_zstd: - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") self.tool_requires("m4/1.4.19") self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): @@ -132,6 +132,8 @@ def generate(self): unrelated.extend(["sysext", "nscd"]) if Version(self.version) >= "251.1": unrelated.append("link-boot-shared") + if Version(self.version) >= "252.1": + unrelated.append("link-journalctl-shared") for opt in unrelated: tc.project_options[opt] = "false" diff --git a/recipes/libsystemd/all/patches/247.11/0001-Remove-dependency-from-coreutils.patch b/recipes/libsystemd/all/patches/247.13/0001-Remove-dependency-from-coreutils.patch similarity index 89% rename from recipes/libsystemd/all/patches/247.11/0001-Remove-dependency-from-coreutils.patch rename to recipes/libsystemd/all/patches/247.13/0001-Remove-dependency-from-coreutils.patch index ef33b45cc2799..4114c124814c8 100644 --- a/recipes/libsystemd/all/patches/247.11/0001-Remove-dependency-from-coreutils.patch +++ b/recipes/libsystemd/all/patches/247.13/0001-Remove-dependency-from-coreutils.patch @@ -1,4 +1,4 @@ -From 319900054fb800f3f3c57806176a71e5f5cff5bd Mon Sep 17 00:00:00 2001 +From 2dbb0fe320ca75e7e2be6eba8b5fe6fe07a1ece1 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Thu, 18 Aug 2022 21:51:58 +0300 Subject: [PATCH] Remove dependency from coreutils @@ -24,6 +24,8 @@ index 177cd4fb66..869c2352f6 100644 conf.set_quoted('RELATIVE_SOURCE_PATH', relative_source_path) conf.set('BUILD_MODE', 'BUILD_MODE_' + get_option('mode').to_upper(), + +base-commit: bb47600aeb38c68c857fbf0ee5f66c3144dd81ce -- -2.37.2 +2.40.1 diff --git a/recipes/libsystemd/all/patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch b/recipes/libsystemd/all/patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch similarity index 88% rename from recipes/libsystemd/all/patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch rename to recipes/libsystemd/all/patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch index 93bb5224d5833..b040e39278226 100644 --- a/recipes/libsystemd/all/patches/248.10/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch +++ b/recipes/libsystemd/all/patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch @@ -1,4 +1,4 @@ -From 512223a1ada207304787fb24a6da9e844b381239 Mon Sep 17 00:00:00 2001 +From e8ff65fb110f1a1118ab709fe41e1c3dff0b3c40 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Wed, 17 Aug 2022 22:31:13 +0300 Subject: [PATCH] missing_syscalls.py: Replace unicode with ascii @@ -25,6 +25,8 @@ index 1bfa31ba37..cc353fe723 100644 for line in open(filename): items = line.split() if len(items) >= 2: + +base-commit: 786df410b1cb3a2294c9a5d118c958525e7439e6 -- -2.37.2 +2.40.1 diff --git a/recipes/libsystemd/all/patches/249.12/0001-Remove-dependency-from-coreutils.patch b/recipes/libsystemd/all/patches/249.16/0001-Remove-dependency-from-coreutils.patch similarity index 86% rename from recipes/libsystemd/all/patches/249.12/0001-Remove-dependency-from-coreutils.patch rename to recipes/libsystemd/all/patches/249.16/0001-Remove-dependency-from-coreutils.patch index de0ae81a2b1a0..1df9689ea3a32 100644 --- a/recipes/libsystemd/all/patches/249.12/0001-Remove-dependency-from-coreutils.patch +++ b/recipes/libsystemd/all/patches/249.16/0001-Remove-dependency-from-coreutils.patch @@ -1,4 +1,4 @@ -From dd758e85278e15db6e66e9802744f120eeb2285c Mon Sep 17 00:00:00 2001 +From 08ad698a1b3f7c1caf9dac54c68c2878c664ceec Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Thu, 18 Aug 2022 21:51:58 +0300 Subject: [PATCH] Remove dependency from coreutils @@ -10,7 +10,7 @@ can simply replace '@CONAN_SRC_REL_PATH@' with the actual path there. 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/meson.build b/meson.build -index b9b8ebef45..30c5b6efa1 100644 +index ece21fbd10..aefc82513e 100644 --- a/meson.build +++ b/meson.build @@ -25,9 +25,7 @@ conf.set('PROJECT_VERSION', meson.project_version(), @@ -24,6 +24,8 @@ index b9b8ebef45..30c5b6efa1 100644 conf.set_quoted('RELATIVE_SOURCE_PATH', relative_source_path) conf.set10('BUILD_MODE_DEVELOPER', get_option('mode') == 'developer', + +base-commit: 358552f75f0ef03af2d6d0ba0f5423f17eab7f84 -- -2.37.2 +2.40.1 diff --git a/recipes/libsystemd/all/patches/251.4/0001-Remove-dependency-from-coreutils.patch b/recipes/libsystemd/all/patches/251.15/0001-Remove-dependency-from-coreutils.patch similarity index 87% rename from recipes/libsystemd/all/patches/251.4/0001-Remove-dependency-from-coreutils.patch rename to recipes/libsystemd/all/patches/251.15/0001-Remove-dependency-from-coreutils.patch index 466e1bb85a6ce..d186a13d30fbb 100644 --- a/recipes/libsystemd/all/patches/251.4/0001-Remove-dependency-from-coreutils.patch +++ b/recipes/libsystemd/all/patches/251.15/0001-Remove-dependency-from-coreutils.patch @@ -1,4 +1,4 @@ -From 9c20566484b758204215f945dfa8a1242b8bff8c Mon Sep 17 00:00:00 2001 +From 0cd72ba5fc1e0b7927522e91d4a1b5172bbc818e Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Thu, 18 Aug 2022 21:51:58 +0300 Subject: [PATCH] Remove dependency from coreutils @@ -10,7 +10,7 @@ can simply replace '@CONAN_SRC_REL_PATH@' with the actual path there. 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/meson.build b/meson.build -index dbba108ad1..035869fb0d 100644 +index d27796e85e..1a31824c8c 100644 --- a/meson.build +++ b/meson.build @@ -25,10 +25,7 @@ conf.set('PROJECT_VERSION', meson.project_version(), @@ -25,6 +25,8 @@ index dbba108ad1..035869fb0d 100644 conf.set_quoted('RELATIVE_SOURCE_PATH', relative_source_path) conf.set10('BUILD_MODE_DEVELOPER', get_option('mode') == 'developer', + +base-commit: a6422b7bd7001dc38d658f3197073a3e22ca9f1b -- -2.37.2 +2.40.1 diff --git a/recipes/libsystemd/all/patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch b/recipes/libsystemd/all/patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch new file mode 100644 index 0000000000000..c6abf3d61d056 --- /dev/null +++ b/recipes/libsystemd/all/patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch @@ -0,0 +1,32 @@ +From da3472d677dd30065f8745a124d580e5c24d3868 Mon Sep 17 00:00:00 2001 +From: Sergey Bobrenok +Date: Wed, 17 Aug 2022 22:31:13 +0300 +Subject: [PATCH] missing_syscalls.py: Replace unicode with ascii + +In some system configurations 'find_program('missing_syscalls.py')' may +fail with error: + 'ascii' codec can't decode byte 0xe2 in position 615: ordinal not in range(128) + Unusable script 'src/basic/missing_syscalls.py' + Program missing_syscalls.py found: NO +--- + src/basic/missing_syscalls.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/basic/missing_syscalls.py b/src/basic/missing_syscalls.py +index 5ccf02adec..14169e67f3 100644 +--- a/src/basic/missing_syscalls.py ++++ b/src/basic/missing_syscalls.py +@@ -31,7 +31,7 @@ def dictify(f): + + @dictify + def parse_syscall_table(filename): +- print(f'Reading {filename}…') ++ print(f'Reading {filename}...') + for line in open(filename): + items = line.split() + if len(items) >= 2: + +base-commit: ed18c2ab79e8b94182d5dcf31d58457763f3e3e1 +-- +2.40.1 + diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml index c1a22f5e0a469..83bb58c5a15a2 100644 --- a/recipes/libsystemd/config.yml +++ b/recipes/libsystemd/config.yml @@ -1,13 +1,15 @@ versions: - "246.16": + "253.3": + folder: all + "252.9": folder: all - "247.11": + "251.15": folder: all - "248.10": + "249.16": folder: all - "249.12": + "248.12": folder: all - "251.4": + "247.13": folder: all - "252.4": + "246.16": folder: all From b1e03ad9aa441298f6839b5cab0c5a3f638221bc Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 1 May 2023 09:24:01 +0200 Subject: [PATCH 0139/4087] (#17314) arduinojson: fix cppstd check logic --- recipes/arduinojson/all/conanfile.py | 34 +++++-------------- .../all/test_package/CMakeLists.txt | 5 ++- .../arduinojson/all/test_package/conanfile.py | 7 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++--- 4 files changed, 20 insertions(+), 34 deletions(-) diff --git a/recipes/arduinojson/all/conanfile.py b/recipes/arduinojson/all/conanfile.py index af682213f09dd..74cc1a0a27699 100644 --- a/recipes/arduinojson/all/conanfile.py +++ b/recipes/arduinojson/all/conanfile.py @@ -1,9 +1,8 @@ from conan import ConanFile +from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get, save from conan.tools.layout import basic_layout from conan.tools.scm import Version -from conan.tools.build import check_min_cppstd -from conan.errors import ConanInvalidConfiguration import os import textwrap @@ -22,35 +21,22 @@ class ArduinojsonConan(ConanFile): no_copy_source = True @property - def _compilers_minimum_version(self): - return { - "Visual Studio": "16", - "msvc": "192", - "gcc": "6", - "clang": "6", - } + def _min_cppstd(self): + return "98" if Version(self.version) < "6.21.0" else "11" - def validate(self): - if Version(self.version) >= "6.21.0": - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) - elif str(self.settings.compiler) == 'apple-clang': - raise ConanInvalidConfiguration("cppstd needs to be set on apple-clang to activate c++11.") - else: - 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++11, which your compiler does not support.") + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() - def layout(self): - basic_layout(self, src_folder="src") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) def source(self): has_arduinojson_root=Version(self.version) < "6.18.2" - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=has_arduinojson_root) + get(self, **self.conan_data["sources"][self.version], strip_root=has_arduinojson_root) def build(self): pass @@ -85,9 +71,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "ArduinoJson") self.cpp_info.set_property("cmake_target_name", "ArduinoJson") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "ArduinoJson" diff --git a/recipes/arduinojson/all/test_package/CMakeLists.txt b/recipes/arduinojson/all/test_package/CMakeLists.txt index d206236f0971b..759822ccd5496 100644 --- a/recipes/arduinojson/all/test_package/CMakeLists.txt +++ b/recipes/arduinojson/all/test_package/CMakeLists.txt @@ -1,7 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) find_package(ArduinoJson REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE ArduinoJson) +if(ArduinoJson_VERSION VERSION_GREATER_EQUAL "6.21.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/arduinojson/all/test_package/conanfile.py b/recipes/arduinojson/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/arduinojson/all/test_package/conanfile.py +++ b/recipes/arduinojson/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/arduinojson/all/test_v1_package/CMakeLists.txt b/recipes/arduinojson/all/test_v1_package/CMakeLists.txt index 7e433826ed298..0d20897301b68 100644 --- a/recipes/arduinojson/all/test_v1_package/CMakeLists.txt +++ b/recipes/arduinojson/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(ArduinoJson REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ArduinoJson) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From c92d1534436ac781a3248470bd7cfa3ecae24405 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 1 May 2023 10:02:43 +0200 Subject: [PATCH 0140/4087] (#17309) cryptopp: use version range for cmake --- recipes/cryptopp/all/conanfile.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/recipes/cryptopp/all/conanfile.py b/recipes/cryptopp/all/conanfile.py index 376aada489aac..f16bdf4f4f23d 100644 --- a/recipes/cryptopp/all/conanfile.py +++ b/recipes/cryptopp/all/conanfile.py @@ -50,20 +50,9 @@ def validate(self): if self.options.shared and Version(self.version) >= "8.7.0": raise ConanInvalidConfiguration("cryptopp 8.7.0 and higher do not support shared builds") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "8.7.0" and not self._cmake_new_enough("3.20"): - self.tool_requires("cmake/3.25.2") + if Version(self.version) >= "8.7.0": + self.tool_requires("cmake/[>=3.20 <4]") def source(self): # Get cryptopp sources From 8176a2d7bc5061467a8fdfc73a4536eab15ad1ad Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 May 2023 10:45:40 +0200 Subject: [PATCH 0141/4087] (#16849) onnxruntime: add 1.14.1 * onnxruntime * Fix hook reported error * Fix TypeError: unhashable type: 'SettingsItem' * don't link with boost * fix linter issue on test_package * drop cmake_new_enough --- recipes/onnxruntime/all/conandata.yml | 20 ++ recipes/onnxruntime/all/conanfile.py | 233 +++++++++++++++++ .../1.14.1-0001-cmake-dependencies.patch | 247 ++++++++++++++++++ .../1.14.1-0002-cmake-dependencies.patch | 191 ++++++++++++++ .../patches/1.14.1-0003-amx-gas-version.patch | 42 +++ .../1.14.1-0004-abseil-no-string-view.patch | 22 ++ .../all/test_package/CMakeLists.txt | 9 + .../onnxruntime/all/test_package/conanfile.py | 27 ++ .../all/test_package/test_package.cpp | 9 + .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 19 ++ recipes/onnxruntime/config.yml | 3 + 12 files changed, 830 insertions(+) create mode 100644 recipes/onnxruntime/all/conandata.yml create mode 100644 recipes/onnxruntime/all/conanfile.py create mode 100644 recipes/onnxruntime/all/patches/1.14.1-0001-cmake-dependencies.patch create mode 100644 recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch create mode 100644 recipes/onnxruntime/all/patches/1.14.1-0003-amx-gas-version.patch create mode 100644 recipes/onnxruntime/all/patches/1.14.1-0004-abseil-no-string-view.patch create mode 100644 recipes/onnxruntime/all/test_package/CMakeLists.txt create mode 100644 recipes/onnxruntime/all/test_package/conanfile.py create mode 100644 recipes/onnxruntime/all/test_package/test_package.cpp create mode 100644 recipes/onnxruntime/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/onnxruntime/all/test_v1_package/conanfile.py create mode 100644 recipes/onnxruntime/config.yml diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml new file mode 100644 index 0000000000000..93052017c9ff5 --- /dev/null +++ b/recipes/onnxruntime/all/conandata.yml @@ -0,0 +1,20 @@ +sources: + "1.14.1": + url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" + sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" +patches: + "1.14.1": + - 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" + patch_source: "https://github.com/microsoft/onnxruntime/commit/126e7bf15fa4af8621814b82a3f7bd0d786f0239.patch" + - 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" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py new file mode 100644 index 0000000000000..cd2777075e37e --- /dev/null +++ b/recipes/onnxruntime/all/conanfile.py @@ -0,0 +1,233 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv +import os + + +required_conan_version = ">=1.53.0" + + +class OnnxRuntimeConan(ConanFile): + name = "onnxruntime" + description = "ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator" + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + homepage = "https://onnxruntime.ai" + topics = ("deep-learning", "onnx", "neural-networks", "machine-learning", "ai-framework", "hardware-acceleration") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_xnnpack": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_xnnpack": False, + } + short_paths = True + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "5", + "apple-clang": "10", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("abseil/20230125.2") + self.requires("protobuf/3.21.9") + self.requires("date/3.0.1") + self.requires("re2/20230301") + self.requires("onnx/1.13.1") + self.requires("flatbuffers/1.12.0") + self.requires("boost/1.81.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run + self.requires("safeint/3.0.28") + self.requires("nlohmann_json/3.11.2") + self.requires("eigen/3.4.0") + self.requires("ms-gsl/4.0.0") + self.requires("cpuinfo/cci.20220228") + if self.settings.os != "Windows": + self.requires("nsync/1.25.0") + else: + self.requires("wil/1.0.230202.1") + if self.options.with_xnnpack: + self.requires("xnnpack/cci.20220801") + + 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): + # Required by upstream https://github.com/microsoft/onnxruntime/blob/v1.14.1/cmake/CMakeLists.txt#L5 + self.tool_requires("cmake/[>=3.24 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + # disable downloading dependencies to ensure conan ones are used + tc.variables["FETCHCONTENT_FULLY_DISCONNECTED"] = True + + tc.variables["onnxruntime_BUILD_SHARED_LIB"] = self.options.shared + tc.variables["onnxruntime_USE_FULL_PROTOBUF"] = not self.dependencies["protobuf"].options.lite + 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) + deps.generate() + vbe = VirtualBuildEnv(self) + vbe.generate(scope="build") + + def build(self): + apply_conandata_patches(self) + 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 + # This will most likely lead to build errors on compilers not undergoing CI testing upstream + # so disable COMPILE_WARNING_AS_ERROR + cmake.configure(build_script_folder="cmake", cli_args=["--compile-no-warning-as-error"]) + 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() + pkg_config_dir = os.path.join(self.package_folder, "lib", "pkgconfig") + rmdir(self, pkg_config_dir) + + def package_info(self): + if self.options.shared: + self.cpp_info.libs = ["onnxruntime"] + else: + onnxruntime_libs = [ + "session", + "optimizer", + "providers", + "framework", + "graph", + "util", + "mlas", + "common", + "flatbuffers", + ] + self.cpp_info.libs = [f"onnxruntime_{lib}" for lib in onnxruntime_libs] + + self.cpp_info.includedirs.append("include/onnxruntime/core/session") + + if self.settings.os in ["Linux", "Android", "FreeBSD", "SunOS", "AIX"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("pthread") + if is_apple_os(self): + self.cpp_info.frameworks.append("Foundation") + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("shlwapi") + + # https://github.com/microsoft/onnxruntime/blob/v1.14.1/cmake/CMakeLists.txt#L1584 + self.cpp_info.set_property("pkg_config_name", "onnxruntime") 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 new file mode 100644 index 0000000000000..4af8aa88fe662 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.14.1-0001-cmake-dependencies.patch @@ -0,0 +1,247 @@ +--- 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 + source_group(TREE ${REPO_ROOT} FILES ${onnxruntime_flatbuffers_srcs}) + + onnxruntime_add_static_library(onnxruntime_flatbuffers ${onnxruntime_flatbuffers_srcs}) +-onnxruntime_add_include_to_target(onnxruntime_flatbuffers onnx flatbuffers ${GSL_TARGET}) ++onnxruntime_add_include_to_target(onnxruntime_flatbuffers onnx flatbuffers::flatbuffers ${GSL_TARGET}) + 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 new file mode 100644 index 0000000000000..33dc41a44c7b2 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch @@ -0,0 +1,191 @@ +--- 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) +--- 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() +--- 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,8 +136,10 @@ FetchContent_Declare( + date + URL ${DEP_URL_date} + URL_HASH SHA1=${DEP_SHA1_date} ++ FIND_PACKAGE_ARGS NAMES date + ) + onnxruntime_fetchcontent_makeavailable(date) ++add_library(date_interface ALIAS date::date) + + + +@@ -145,6 +147,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,10 +266,12 @@ 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 + onnxruntime_fetchcontent_makeavailable(Protobuf nlohmann_json mp11 re2 safeint GSL flatbuffers) ++add_library(Boost::mp11 ALIAS Boost::headers) + if(NOT flatbuffers_FOUND) + if(NOT TARGET flatbuffers::flatbuffers) + add_library(flatbuffers::flatbuffers ALIAS flatbuffers) +@@ -291,6 +296,10 @@ namespace std { using ::getenv; } + target_compile_options(flatc PRIVATE /FI${CMAKE_BINARY_DIR}/gdk_cstdlib_wrapper.h) + endif() + endif() ++else() ++ if(NOT TARGET flatbuffers::flatbuffers) ++ add_library(flatbuffers::flatbuffers ALIAS flatbuffers::flatbuffers_shared) ++ endif() + endif() + + if (onnxruntime_BUILD_UNIT_TESTS) +@@ -359,6 +368,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 +396,9 @@ 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}) ++add_library(safeint_interface ALIAS safeint::safeint) ++#target_include_directories(safeint_interface INTERFACE ${safeint_SOURCE_DIR}) ++ + + # XNNPACK EP + if (onnxruntime_USE_XNNPACK) +@@ -416,9 +427,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) +--- 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() +--- a/cmake/external/xnnpack.cmake ++++ b/cmake/external/xnnpack.cmake +@@ -25,12 +25,19 @@ 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(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) ++# set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) ++ ++add_library(XNNPACK ALIAS xnnpack::xnnpack) + + set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) + +--- a/cmake/onnxruntime_common.cmake ++++ b/cmake/onnxruntime_common.cmake +@@ -195,7 +195,7 @@ if (ARM64 OR ARM OR X86 OR X64 OR X86_64) + # 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::cpuinfo) +- list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo cpuinfo::clog) ++ list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo) + endif() + endif() + endif() +--- 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.14.1-0003-amx-gas-version.patch b/recipes/onnxruntime/all/patches/1.14.1-0003-amx-gas-version.patch new file mode 100644 index 0000000000000..ab85b0ed79eee --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.14.1-0003-amx-gas-version.patch @@ -0,0 +1,42 @@ +From 126e7bf15fa4af8621814b82a3f7bd0d786f0239 Mon Sep 17 00:00:00 2001 +From: JiCheng +Date: Wed, 22 Mar 2023 07:57:22 +0800 +Subject: [PATCH] [AMX] add assembler check (#15055) + +### Description + + +AMX isn't supportted until assembler 2.40 even though the GCC frontend +supports it. + + +### Motivation and Context + +--- + cmake/onnxruntime_mlas.cmake | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/cmake/onnxruntime_mlas.cmake b/cmake/onnxruntime_mlas.cmake +index e79e1ed9855..6292a667d4a 100644 +--- a/cmake/onnxruntime_mlas.cmake ++++ b/cmake/onnxruntime_mlas.cmake +@@ -7,7 +7,17 @@ set(MLAS_SRC_DIR ${ONNXRUNTIME_ROOT}/core/mlas/lib) + set(MLAS_AMX_SUPPORTED FALSE) + + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11) +- set(MLAS_AMX_SUPPORTED TRUE) ++ # match assembler version, AMX instructions are supported from 2.40 ++ if (CMAKE_ASM-ATT_COMPILER_ID STREQUAL "GNU") ++ execute_process( ++ COMMAND ${CMAKE_ASM-ATT_COMPILER} --version ++ OUTPUT_VARIABLE _gas_version ++ ) ++ # 2.40 or later ++ if (_gas_version MATCHES "GNU.[Aa]ssembler.*(2\\.[4-9][0-9])") ++ set(MLAS_AMX_SUPPORTED TRUE) ++ endif() ++ endif() + endif() + + if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") diff --git a/recipes/onnxruntime/all/patches/1.14.1-0004-abseil-no-string-view.patch b/recipes/onnxruntime/all/patches/1.14.1-0004-abseil-no-string-view.patch new file mode 100644 index 0000000000000..983988c7e0db2 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.14.1-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 +@@ -20,7 +20,7 @@ Status KernelTypeStrResolver::ResolveKernelTypeStr(const Node& node, std::string + 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/all/test_package/CMakeLists.txt b/recipes/onnxruntime/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b5d8ccbfcd52c --- /dev/null +++ b/recipes/onnxruntime/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package CXX) + +find_package(onnxruntime REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +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 new file mode 100644 index 0000000000000..18016812d8c7e --- /dev/null +++ b/recipes/onnxruntime/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, src_folder=".") + + 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/onnxruntime/all/test_package/test_package.cpp b/recipes/onnxruntime/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a9cc6b11cef74 --- /dev/null +++ b/recipes/onnxruntime/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ + +#include +#include + +int main() { + const auto& api = Ort::GetApi(); + std::cout << OrtGetApiBase()->GetVersionString() << std::endl; + return 0; +} diff --git a/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt b/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/onnxruntime/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/onnxruntime/all/test_v1_package/conanfile.py b/recipes/onnxruntime/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/onnxruntime/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/onnxruntime/config.yml b/recipes/onnxruntime/config.yml new file mode 100644 index 0000000000000..0414d9adf6108 --- /dev/null +++ b/recipes/onnxruntime/config.yml @@ -0,0 +1,3 @@ +versions: + "1.14.1": + folder: all From bc967431ca6cb226f08a342ff743e38c9de5c9d9 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Mon, 1 May 2023 16:41:49 +0700 Subject: [PATCH 0142/4087] (#17331) sdbus-cpp/all: Bump dependencies --- recipes/sdbus-cpp/all/conanfile.py | 6 +++--- recipes/sdbus-cpp/all/test_pkgconf/conanfile.py | 2 +- recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index c9aa7c7a53b7a..dbf11bfac5c83 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -55,7 +55,7 @@ def configure(self): del self.options.fPIC def requirements(self): - self.requires("libsystemd/251.4") + self.requires("libsystemd/253.3") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -72,9 +72,9 @@ def validate(self): raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("pkgconf/1.7.4") + self.tool_requires("pkgconf/1.9.3") if self.options.with_code_gen: - self.tool_requires("expat/2.4.8") + self.tool_requires("expat/2.5.0") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py index 14a7f949ac19a..5ce2acc54a189 100644 --- a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py @@ -15,7 +15,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/1.7.4") + self.tool_requires("pkgconf/1.9.3") def layout(self): cmake_layout(self) diff --git a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py index 22690852ece67..5daabc3db91f3 100644 --- a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py @@ -11,7 +11,7 @@ class SdbusCppTestConan(ConanFile): generators = ("cmake", "pkg_config") def build_requirements(self): - self.tool_requires("pkgconf/1.7.4") + self.tool_requires("pkgconf/1.9.3") def build(self): cmake = CMake(self) From a7b52527d3edfb2deec7b66629d4ee0f8449274a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 1 May 2023 19:03:14 +0200 Subject: [PATCH 0143/4087] (#17335) [bot] Update authorized users list (2023-05-01) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 1ecee66230033..2d9fc992b3d6c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1129,3 +1129,7 @@ authorized_users: - doocman - gouarin - gegles +- jusito +- pwqbot +- ilya-lavrenov +- aubreynicoll From dcbf0605b2435a617845206e0c88d05cec9b334a Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 2 May 2023 00:21:57 +0400 Subject: [PATCH 0144/4087] (#17333) Added ittapi 3.24.0 --- recipes/ittapi/all/conandata.yml | 3 +++ recipes/ittapi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ittapi/all/conandata.yml b/recipes/ittapi/all/conandata.yml index fe25f2187adf4..425388a0a3b63 100644 --- a/recipes/ittapi/all/conandata.yml +++ b/recipes/ittapi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.24.0": + url: "https://github.com/intel/ittapi/archive/v3.24.0.tar.gz" + sha256: "36c42d3f2446ddfaa2d7dfa02dfaa79615933f1a68a72d7e4f1d70de7b56e2c9" "3.23.0": url: "https://github.com/intel/ittapi/archive/v3.23.0.tar.gz" sha256: "9af1231808c602c2f7a66924c8798b1741d3aa4b15f3874d82ca7a89b5dbb1b1" diff --git a/recipes/ittapi/config.yml b/recipes/ittapi/config.yml index c34864bd34f7f..e8e090e18ce3e 100644 --- a/recipes/ittapi/config.yml +++ b/recipes/ittapi/config.yml @@ -1,3 +1,5 @@ versions: + "3.24.0": + folder: all "3.23.0": folder: all From 4e2404e2c30b16af92a6e35a6fbd8a29510ef6b7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 1 May 2023 23:26:42 +0200 Subject: [PATCH 0145/4087] (#16287) cfgfile: use version range for cmake * moderize more * use version range for cmake --- recipes/cfgfile/all/conanfile.py | 50 +++++++++---------- recipes/cfgfile/all/test_package/conanfile.py | 10 ++-- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/recipes/cfgfile/all/conanfile.py b/recipes/cfgfile/all/conanfile.py index 6ce91734444e4..84a0a1cacbb3d 100644 --- a/recipes/cfgfile/all/conanfile.py +++ b/recipes/cfgfile/all/conanfile.py @@ -1,9 +1,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os required_conan_version = ">=1.50.0" @@ -15,7 +16,7 @@ class CfgfileConan(ConanFile): homepage = "https://github.com/igormironchik/cfgfile.git" license = "MIT" description = "Header-only library for reading/saving configuration files with schema defined in sources." - topics = ("cfgfile", "configuration", "file") + topics = ("configuration", "file") settings = "os", "arch", "compiler", "build_type" @property @@ -32,6 +33,15 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.version == "0.2.9.1" or Version(self.version) >= "0.2.10": + self.requires("args-parser/6.2.0.1") + elif self.version == "0.2.9.0": + self.requires("args-parser/6.0.1.0") + def package_id(self): del self.info.settings.compiler @@ -41,33 +51,18 @@ def validate(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def requirements(self): - if Version(self.version) >= "0.2.10": - self.requires("args-parser/6.2.0.1") - elif self.version == "0.2.9.1": - self.requires("args-parser/6.2.0.1") - elif self.version == "0.2.9.0": - self.requires("args-parser/6.0.1.0") - def build_requirements(self): - self.tool_requires("cmake/3.25.0") - - def build(self): - cmake = CMake(self) - cmake.configure(build_script_folder=self.source_folder) - cmake.build() - - def layout(self): - cmake_layout(self) + self.tool_requires("cmake/[>=3.19 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() tc = CMakeToolchain(self) tc.cache_variables["BUILD_EXAMPLES"] = False tc.cache_variables["BUILD_TESTS"] = False @@ -77,6 +72,11 @@ def generate(self): deps = CMakeDeps(self) deps.generate() + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_folder) + cmake.build() + def package(self): copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) @@ -87,6 +87,6 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "cfgfile") self.cpp_info.set_property("cmake_target_name", "cfgfile::cfgfile") self.cpp_info.includedirs.append(os.path.join("include", "cfgfile")) - 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) + + # TODO: to remove once conan v1 support dropped + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/cfgfile/all/test_package/conanfile.py b/recipes/cfgfile/all/test_package/conanfile.py index cc0263e38af82..edcafc68a3a25 100644 --- a/recipes/cfgfile/all/test_package/conanfile.py +++ b/recipes/cfgfile/all/test_package/conanfile.py @@ -7,13 +7,17 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def build_requirements(self): - self.tool_requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + def build(self): if not cross_building(self, skip_x64_x86=True): cmake = CMake(self) From 4b808a34619c66c62efe597848e5eb5b18063f75 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 May 2023 07:05:45 +0900 Subject: [PATCH 0146/4087] (#16264) arsenalgear: add version 2.1.0 * arsenalgear: add version 2.1.0 * make static-library --- recipes/arsenalgear/all/conandata.yml | 3 ++ recipes/arsenalgear/all/conanfile.py | 41 ++++++++++++++++----------- recipes/arsenalgear/config.yml | 2 ++ 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/recipes/arsenalgear/all/conandata.yml b/recipes/arsenalgear/all/conandata.yml index b30bf921ec7e0..3b459d19be1fc 100644 --- a/recipes/arsenalgear/all/conandata.yml +++ b/recipes/arsenalgear/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v2.1.0.tar.gz" + sha256: "2548a0452f3c290f4912ccc3511ae70be62ef4cd8e5d372e27423184d72785f9" "2.0.1": url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v2.0.1.tar.gz" sha256: "d0fa1639abb3c41aa60e596b9d70966281a1206c5527b34a4526f6577c3bac6f" diff --git a/recipes/arsenalgear/all/conanfile.py b/recipes/arsenalgear/all/conanfile.py index 98dcd780da86b..6e42344321144 100644 --- a/recipes/arsenalgear/all/conanfile.py +++ b/recipes/arsenalgear/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import is_msvc -from conan.tools.files import get, copy +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 @@ -17,18 +17,17 @@ class ArsenalgearConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/JustWhit3/arsenalgear-cpp" topics = ("constants", "math", "operators", "stream") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], "fPIC": [True, False], } default_options = { - "shared": False, "fPIC": True, } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property @@ -42,14 +41,15 @@ def _compilers_minimum_version(self): } def export_sources(self): - copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + if Version(self.version) < "2.1.0": + 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: + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): @@ -59,34 +59,39 @@ def requirements(self): if Version(self.version) < "2.0.0": self.requires("boost/1.81.0") if self.settings.os in ["Linux", "Macos"]: - self.requires("exprtk/0.0.1") + self.requires("exprtk/0.0.2") def validate(self): # arsenalgear doesn't support Visual Studio(yet). if is_msvc(self): raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio(yet)") - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) - 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._minimum_cpp_standard}, which your compiler does not support.") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["ARSENALGEAR_VERSION"] = str(self.version) - tc.variables["ARSENALGEAR_SRC_DIR"] = self.source_folder.replace("\\", "/") + if Version(self.version) < "2.1.0": + tc.variables["ARSENALGEAR_VERSION"] = str(self.version) + tc.variables["ARSENALGEAR_SRC_DIR"] = self.source_folder.replace("\\", "/") + else: + tc.variables["ARSENALGEAR_TESTS"] = False tc.generate() deps = CMakeDeps(self) deps.generate() def build(self): cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + if Version(self.version) < "2.1.0": + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + else: + cmake.configure() cmake.build() def package(self): @@ -94,6 +99,8 @@ def package(self): cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + def package_info(self): self.cpp_info.libs = ["arsenalgear"] diff --git a/recipes/arsenalgear/config.yml b/recipes/arsenalgear/config.yml index 6d0bf30afb485..b3de9cadbac04 100644 --- a/recipes/arsenalgear/config.yml +++ b/recipes/arsenalgear/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.1": folder: all "1.2.2": From b47c03ba16392b3047a880bf50f9879943bc9c35 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 2 May 2023 09:41:50 +0200 Subject: [PATCH 0147/4087] (#17362) glib: add version 2.76.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index c746e27f43351..cad33c3742370 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.76.2": + url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.2.tar.xz" + sha256: "24f3847857b1d8674cdb0389a36edec0f13c666cd3ce727ecd340eb9da8aca9e" "2.76.1": url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.1.tar.xz" sha256: "43dc0f6a126958f5b454136c4398eab420249c16171a769784486e25f2fda19f" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index 5d3540a1d7c4e..385fb40736e20 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.76.2": + folder: all "2.76.1": folder: all "2.76.0": From 89fa4810f031bc579dacf17866102b603e48c869 Mon Sep 17 00:00:00 2001 From: Alexander Kozhinov Date: Tue, 2 May 2023 14:04:21 +0200 Subject: [PATCH 0148/4087] (#16966) Prepare nodejs for v18 * nodejs: conanfile.py: prepare for v18 Signed-off-by: Alexander Kozhinov * test_package: conanfile.py: update for conan v2 usage Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * nodejs: conanfile.py: remove compiler verification Signed-off-by: Alexander Kozhinov * nodejs: test_package: rework for v1 and v2 Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * nodejse: conanfile.py: rework conan_version test Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Gregor Jasny * Update recipes/nodejs/all/test_package/conanfile.py Co-authored-by: Gregor Jasny * Update recipes/nodejs/all/conanfile.py Co-authored-by: Gregor Jasny * Update recipes/nodejs/all/conanfile.py Co-authored-by: Gregor Jasny * nodejs: conanfile.py: use self.settings instead of self.info.settings Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: do not use self.settings in source() method Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: use subprocess in _glibc_version Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * nodejs: conanfile.py: fix arch / revert _glibc_version Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: remove dobule defined build() method Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: fix glibc version aquisition Signed-off-by: Alexander Kozhinov --------- Signed-off-by: Alexander Kozhinov Co-authored-by: Chris Mc Co-authored-by: Gregor Jasny --- recipes/nodejs/all/conanfile.py | 47 +++++++++++++------ recipes/nodejs/all/test_package/conanfile.py | 12 +++-- .../nodejs/all/test_v1_package/conanfile.py | 16 +++++++ 3 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 recipes/nodejs/all/test_v1_package/conanfile.py diff --git a/recipes/nodejs/all/conanfile.py b/recipes/nodejs/all/conanfile.py index c0927a5e70416..d08325293889a 100644 --- a/recipes/nodejs/all/conanfile.py +++ b/recipes/nodejs/all/conanfile.py @@ -1,19 +1,24 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +import re +from six import StringIO +from conan import ConanFile, conan_version +from conan.tools.scm import Version +from conan.tools.files import copy, get +from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.59.0" class NodejsConan(ConanFile): name = "nodejs" description = "nodejs binaries for use in recipes" - topics = ("conan", "node", "nodejs") + topics = ("node", "javascript", "runtime") url = "https://github.com/conan-io/conan-center-index" homepage = "https://nodejs.org" license = "MIT" - settings = "os", "arch" + settings = "os", "arch", "compiler" no_copy_source = True + short_paths = True @property def _source_subfolder(self): @@ -28,21 +33,35 @@ def _nodejs_arch(self): return "armv8" return str(self.settings.arch) + @property + def _glibc_version(self): + cmd = ['ldd', '--version'] if conan_version.major == "1" else ['ldd --version'] + buff = StringIO() + self.run(cmd, buff) + return str(re.search(r'GLIBC (\d{1,3}.\d{1,3})', buff.getvalue()).group(1)) + def validate(self): - if (not (self.version in self.conan_data["sources"]) or - not (str(self.settings.os) in self.conan_data["sources"][self.version]) or - not (self._nodejs_arch in self.conan_data["sources"][self.version][str(self.settings.os)] ) ): + if not self.version in self.conan_data["sources"] or \ + not str(self.settings.os) in self.conan_data["sources"][self.version] or \ + not self._nodejs_arch in self.conan_data["sources"][self.version][str(self.settings.os)]: raise ConanInvalidConfiguration("Binaries for this combination of architecture/version/os not available") + if Version(self.version) >= "18.0.0": + if str(self.settings.os) == "Linux": + if Version(self._glibc_version) < '2.27': + raise ConanInvalidConfiguration("Binaries for this combination of architecture/version/os not available") + def build(self): - tools.get(**self.conan_data["sources"][self.version][str(self.settings.os)][self._nodejs_arch], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version][str(self.settings.os)][self._nodejs_arch], + destination=self._source_subfolder, strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", src=os.path.join(self._source_subfolder, "bin"), dst="bin") - self.copy(pattern="node.exe", src=self._source_subfolder, dst="bin") - self.copy(pattern="npm", src=self._source_subfolder, dst="bin") - self.copy(pattern="npx", src=self._source_subfolder, dst="bin") + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self._source_subfolder) + copy(self, pattern="*", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self._source_subfolder, "bin")) + copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib"), src=os.path.join(self._source_subfolder, "lib")) + copy(self, pattern="node.exe", dst=os.path.join(self.package_folder, "bin"), src=self._source_subfolder) + copy(self, pattern="npm", dst=os.path.join(self.package_folder, "bin"), src=self._source_subfolder) + copy(self, pattern="npx", dst=os.path.join(self.package_folder, "bin"), src=self._source_subfolder) def package_info(self): self.cpp_info.includedirs = [] diff --git a/recipes/nodejs/all/test_package/conanfile.py b/recipes/nodejs/all/test_package/conanfile.py index 42e6935fc89c3..26c1600e272f4 100644 --- a/recipes/nodejs/all/test_package/conanfile.py +++ b/recipes/nodejs/all/test_package/conanfile.py @@ -1,12 +1,16 @@ -import os -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "arch" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): + if can_run(self): self.output.info("Node version:") - self.run("node --version", run_environment=True) + self.run("node --version") diff --git a/recipes/nodejs/all/test_v1_package/conanfile.py b/recipes/nodejs/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..70012946fb840 --- /dev/null +++ b/recipes/nodejs/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conan import ConanFile +from conan.tools.build import cross_building + + +class TestPackageConan(ConanFile): + + settings = "os", "arch" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def test(self): + if not cross_building(self): + self.output.info("Node version:") + self.run("node --version") From 746eeba73375f0e1815c2c27328d22dd4f1ca49d Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 2 May 2023 16:21:42 +0200 Subject: [PATCH 0149/4087] (#17370) [sentry-breakpad] Add version 0.6.2 --- recipes/sentry-breakpad/all/conandata.yml | 3 +++ recipes/sentry-breakpad/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sentry-breakpad/all/conandata.yml b/recipes/sentry-breakpad/all/conandata.yml index 2bf59ee52fc8f..21ccf617970ea 100644 --- a/recipes/sentry-breakpad/all/conandata.yml +++ b/recipes/sentry-breakpad/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.2": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" + sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.6.1": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" diff --git a/recipes/sentry-breakpad/config.yml b/recipes/sentry-breakpad/config.yml index ea4872076354c..2e0e20ffce3ff 100644 --- a/recipes/sentry-breakpad/config.yml +++ b/recipes/sentry-breakpad/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.2": + folder: all "0.6.1": folder: all "0.6.0": From 3bda6cce942917ba54ecef6e6bcceb81c763ac22 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 4 May 2023 15:41:02 +0100 Subject: [PATCH 0150/4087] libelf: conditionally remove shared option and set package type (#17228) --- recipes/libelf/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/libelf/all/conanfile.py b/recipes/libelf/all/conanfile.py index ef53cb9bcc6e2..c93a47a212b33 100644 --- a/recipes/libelf/all/conanfile.py +++ b/recipes/libelf/all/conanfile.py @@ -18,7 +18,6 @@ class LibelfConan(ConanFile): homepage = "https://directory.fsf.org/wiki/Libelf" license = "LGPL-2.0" topics = ("elf", "fsf", "libelf", "object-file") - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -41,7 +40,10 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if self.settings.os not in ["Linux", "FreeBSD", "Windows"]: + self.options.rm_safe("shared") + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -52,10 +54,6 @@ def layout(self): else: basic_layout(self, src_folder="src") - def validate(self): - if self.options.shared and self.settings.os not in ["Linux", "FreeBSD", "Windows"]: - raise ConanInvalidConfiguration("libelf can not be built as shared library on non linux/FreeBSD/windows platforms") - def build_requirements(self): if self.settings.os != "Windows": self.tool_requires("autoconf/2.71") @@ -114,7 +112,7 @@ def package(self): autotools = Autotools(self) autotools.install() rmdir(self, os.path.join(self.package_folder, "lib", "locale")) - if self.options.shared: + if self.options.get_safe("shared"): rm(self, "*.a", 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")) From 3f3e324a10346d396fcb58b8862b435687bbca75 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 5 May 2023 09:53:24 +0200 Subject: [PATCH 0151/4087] [config] Update conan v2 version (#17225) --- .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 7cc0b0834fde7..304c51c530e92 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.0.2 + version: 2.0.4 artifactory: url: "https://c3i.jfrog.io/c3i" From a14d346c76116c950c2e511a30682e9c56cf8218 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 5 May 2023 10:14:24 +0200 Subject: [PATCH 0152/4087] (#16356) New recipe openmvg/2.0 * add openmvg/2.0 * drop gcc < 7 * fix build for non-x86 archs * inject __SSE2__ for msvc if x86 * add /bigobj for openMVG_multiview compilation * add short_paths * bigobj for openMVG_matching as well * more accurate check of ceres-solver version regarding C++14 * bump libtiff --- recipes/openmvg/all/conandata.yml | 22 ++ recipes/openmvg/all/conanfile.py | 273 ++++++++++++++++++ .../2.0-0001-robust-dependencies.patch | 198 +++++++++++++ .../patches/2.0-0002-dont-force-c++11.patch | 18 ++ .../all/patches/2.0-0003-fix-non-x86.patch | 12 + .../2.0-0004-no-auto-simd-optimization.patch | 29 ++ .../all/patches/2.0-0005-msvc-bigobj.patch | 25 ++ .../openmvg/all/test_package/CMakeLists.txt | 13 + recipes/openmvg/all/test_package/conanfile.py | 26 ++ .../openmvg/all/test_package/test_package.cpp | 24 ++ .../all/test_v1_package/CMakeLists.txt | 8 + .../openmvg/all/test_v1_package/conanfile.py | 17 ++ recipes/openmvg/config.yml | 3 + 13 files changed, 668 insertions(+) create mode 100644 recipes/openmvg/all/conandata.yml create mode 100644 recipes/openmvg/all/conanfile.py create mode 100644 recipes/openmvg/all/patches/2.0-0001-robust-dependencies.patch create mode 100644 recipes/openmvg/all/patches/2.0-0002-dont-force-c++11.patch create mode 100644 recipes/openmvg/all/patches/2.0-0003-fix-non-x86.patch create mode 100644 recipes/openmvg/all/patches/2.0-0004-no-auto-simd-optimization.patch create mode 100644 recipes/openmvg/all/patches/2.0-0005-msvc-bigobj.patch create mode 100644 recipes/openmvg/all/test_package/CMakeLists.txt create mode 100644 recipes/openmvg/all/test_package/conanfile.py create mode 100644 recipes/openmvg/all/test_package/test_package.cpp create mode 100644 recipes/openmvg/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openmvg/all/test_v1_package/conanfile.py create mode 100644 recipes/openmvg/config.yml diff --git a/recipes/openmvg/all/conandata.yml b/recipes/openmvg/all/conandata.yml new file mode 100644 index 0000000000000..b120ff5ab6cb6 --- /dev/null +++ b/recipes/openmvg/all/conandata.yml @@ -0,0 +1,22 @@ +sources: + "2.0": + url: "https://github.com/openMVG/openMVG/archive/refs/tags/v2.0.tar.gz" + sha256: "950da7d6fc370cc99ad29092fd3b46196f782af2f905e475a7262ceb96170618" +patches: + "2.0": + - patch_file: "patches/2.0-0001-robust-dependencies.patch" + patch_description: "Robust discovery of dependencies" + patch_type: "conan" + - patch_file: "patches/2.0-0002-dont-force-c++11.patch" + patch_description: "Allow newer C++ standard than C++11" + patch_type: "conan" + - patch_file: "patches/2.0-0003-fix-non-x86.patch" + patch_description: "Fix build for non-x86 arch" + patch_type: "portability" + patch_source: "https://github.com/openMVG/openMVG/pull/1979" + - patch_file: "patches/2.0-0004-no-auto-simd-optimization.patch" + patch_description: "No fragile babysitting of optimization flags" + patch_type: "conan" + - patch_file: "patches/2.0-0005-msvc-bigobj.patch" + patch_description: "Add /bigobj for openMVG_multiview compilation" + patch_type: "portability" diff --git a/recipes/openmvg/all/conanfile.py b/recipes/openmvg/all/conanfile.py new file mode 100644 index 0000000000000..cb31a55747055 --- /dev/null +++ b/recipes/openmvg/all/conanfile.py @@ -0,0 +1,273 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, rm, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import glob +import os + +required_conan_version = ">=1.53.0" + + +class Openmvgconan(ConanFile): + name = "openmvg" + description = ( + "OpenMVG provides an end-to-end 3D reconstruction from images framework " + "compounded of libraries, binaries, and pipelines." + ) + license = "MPL-2.0" + topics = ("computer-vision", "geometry", "structure-from-motion", "sfm", + "multi-view-geometry", "photogrammetry", "3d-reconstruction") + homepage = "https://github.com/openMVG/openMVG" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_openmp": [True, False], + "with_avx": [False, "avx", "avx2"], + "programs": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_openmp": False, + "with_avx": False, + "programs": True, + } + + short_paths = True + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if self.settings.arch not in ["x86", "x86_64"]: + del self.options.with_avx + + 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("cereal/1.3.2", transitive_headers=True) + self.requires("ceres-solver/2.1.0") + self.requires("coin-clp/1.17.7") + self.requires("coin-lemon/1.3.1") + self.requires("coin-osi/0.108.7") + self.requires("coin-utils/2.11.6") + self.requires("eigen/3.4.0", transitive_headers=True) + self.requires("flann/1.9.2", transitive_headers=True, transitive_libs=True) + self.requires("libjpeg/9e") + self.requires("libpng/1.6.39") + self.requires("libtiff/4.5.0") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, "11") + + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration( + f"{self.ref} can' be built by gcc < 7 due to usage of some ceres-solver templated code " + "which hits a bug in gcc < 7: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480" + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["OpenMVG_BUILD_SHARED"] = self.options.shared + tc.variables["OpenMVG_BUILD_TESTS"] = False + tc.variables["OpenMVG_BUILD_DOC"] = False + tc.variables["OpenMVG_BUILD_EXAMPLES"] = False + tc.variables["OpenMVG_BUILD_OPENGL_EXAMPLES"] = False + tc.variables["OpenMVG_BUILD_SOFTWARES"] = self.options.programs + tc.variables["OpenMVG_BUILD_GUI_SOFTWARES"] = False + tc.variables["OpenMVG_BUILD_COVERAGE"] = False + tc.variables["OpenMVG_USE_OPENMP"] = self.options.with_openmp + tc.variables["OpenMVG_USE_OPENCV"] = False + tc.variables["OpenMVG_USE_OCVSIFT"] = False + # OpenMVG expects these CMake variables to be set automatically by a custom OptimizeForArchitecture macro + # but this macro is fragile and broken in case of cross-build. Moreover it may lead to non-portable binaries. + # Therefore macro is disabled through patch and we allow users to decide whether they want specific avx + # optimization. + tc.variables["USE_SSE2"] = self.settings.arch in ["x86", "x86_64"] + tc.variables["USE_AVX"] = self.options.get_safe("with_avx") in ["avx", "avx2"] + tc.variables["USE_AVX2"] = self.options.get_safe("with_avx") == "avx2" + # Even though openmvg requires C++11, recent versions of cereal require C++14 + # and targets generated by CMakeDeps don't propagate compile features (yet?) + # see https://github.com/conan-io/conan/issues/10281 + if Version(self.dependencies["ceres-solver"].ref.version) >= "2.0.0" and not valid_min_cppstd(self, "14"): + tc.variables["CMAKE_CXX_STANDARD"] = "14" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "src")) + cmake.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rm(self, "*.cmake", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "share", "openMVG", "cmake")) + rename(self, src=os.path.join(self.package_folder, "share"), dst=os.path.join(self.package_folder, "res")) + for dll_file in glob.glob(os.path.join(self.package_folder, "lib", "*.dll")): + rename(self, src=dll_file, dst=os.path.join(self.package_folder, "bin", os.path.basename(dll_file))) + + @property + def _openmvg_components(self): + return { + "openmvg_camera": { + "target": "openMVG_camera", + "requires": ["openmvg_numeric", "cereal::cereal"], + }, + "openmvg_exif": { + "target": "openMVG_exif", + "libs": ["openMVG_exif"], + "requires": ["openmvg_easyexif"], + }, + "openmvg_features": { + "target": "openMVG_features", + "libs": ["openMVG_features"], + "requires": ["openmvg_fast", "openmvg_stlplus", "eigen::eigen", "cereal::cereal"], + }, + "openmvg_geodesy": { + "target": "openMVG_geodesy", + "requires": ["openmvg_numeric"], + }, + "openmvg_geometry": { + "target": "openMVG_geometry", + "libs": ["openMVG_geometry"], + "requires": ["openmvg_numeric", "openmvg_linearprogramming", "cereal::cereal"], + }, + "openmvg_graph": { + "target": "openMVG_graph", + "requires": ["coin-lemon::coin-lemon"], + }, + "openmvg_image": { + "target": "openMVG_image", + "libs": ["openMVG_image"], + "requires": ["openmvg_numeric", "libjpeg::libjpeg", "libpng::libpng", "libtiff::libtiff"], + }, + "openmvg_linearprogramming": { + "target": "openMVG_linearProgramming", + "libs": ["openMVG_linearProgramming"], + "requires": ["openmvg_numeric", "coin-clp::coin-clp", "coin-osi::coin-osi", "coin-utils::coin-utils"], + }, + "openmvg_linftycomputervision": { + "target": "openMVG_lInftyComputerVision", + "libs": ["openMVG_lInftyComputerVision"], + "requires": ["openmvg_linearprogramming", "openmvg_multiview"], + }, + "openmvg_matching": { + "target": "openMVG_matching", + "libs": ["openMVG_matching"], + "requires": ["openmvg_features", "openmvg_stlplus", "cereal::cereal", "flann::flann"], + "system_libs": [(self.settings.os in ["Linux", "FreeBSD"], ["pthread"])], + }, + "openmvg_kvld": { + "target": "openMVG_kvld", + "libs": ["openMVG_kvld"], + "requires": ["openmvg_features", "openmvg_image"], + }, + "openmvg_matching_image_collection": { + "target": "openMVG_matching_image_collection", + "libs": ["openMVG_matching_image_collection"], + "requires": ["openmvg_matching", "openmvg_multiview"], + }, + "openmvg_multiview": { + "target": "openMVG_multiview", + "libs": ["openMVG_multiview"], + "requires": ["openmvg_numeric", "openmvg_graph", "ceres-solver::ceres-solver"], + }, + "openmvg_numeric": { + "target": "openMVG_numeric", + "libs": ["openMVG_numeric"], + "requires": ["eigen::eigen"], + "defines": [(is_msvc(self), ["_USE_MATH_DEFINES"])], + }, + "openmvg_robust_estimation": { + "target": "openMVG_robust_estimation", + "libs": ["openMVG_robust_estimation"], + "requires": ["openmvg_numeric"], + }, + "openmvg_sfm": { + "target": "openMVG_sfm", + "libs": ["openMVG_sfm"], + "requires": [ + "openmvg_geometry", "openmvg_features", "openmvg_graph", "openmvg_matching", + "openmvg_multiview", "openmvg_image", "openmvg_linftycomputervision", + "openmvg_system", "openmvg_stlplus", "cereal::cereal", "ceres-solver::ceres-solver", + ], + }, + "openmvg_system": { + "target": "openMVG_system", + "libs": ["openMVG_system"], + "requires": ["openmvg_numeric"], + }, + # vendored libs + "openmvg_easyexif": { + "target": "openMVG_easyexif", + "libs": ["openMVG_easyexif"], + }, + "openmvg_fast": { + "target": "openMVG_fast", + "libs": ["openMVG_fast"], + }, + "openmvg_stlplus": { + "target": "openMVG_stlplus", + "libs": ["openMVG_stlplus"], + }, + "openmvg_vlsift": { + "target": "vlsift", + "libs": ["vlsift"], + }, + } + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "OpenMVG") + + for component, values in self._openmvg_components.items(): + target = values["target"] + libs = values.get("libs", []) + defines = [] + for _condition, _defines in values.get("defines", []): + if _condition: + defines.extend(_defines) + system_libs = [] + for _condition, _system_libs in values.get("system_libs", []): + if _condition: + system_libs.extend(_system_libs) + + self.cpp_info.components[component].set_property("cmake_target_name", f"OpenMVG::{target}") + if libs: + self.cpp_info.components[component].libs = libs + self.cpp_info.components[component].defines = defines + self.cpp_info.components[component].requires = values.get("requires", []) + self.cpp_info.components[component].system_libs = system_libs + self.cpp_info.components[component].resdirs = ["res"] + + # TODO: to remove in conan v2 + self.cpp_info.components[component].names["cmake_find_package"] = target + self.cpp_info.components[component].names["cmake_find_package_multi"] = target + + # TODO: to remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "OpenMVG" + self.cpp_info.names["cmake_find_package_multi"] = "OpenMVG" + if self.options.programs: + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/openmvg/all/patches/2.0-0001-robust-dependencies.patch b/recipes/openmvg/all/patches/2.0-0001-robust-dependencies.patch new file mode 100644 index 0000000000000..73934a64c7993 --- /dev/null +++ b/recipes/openmvg/all/patches/2.0-0001-robust-dependencies.patch @@ -0,0 +1,198 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -98,7 +98,7 @@ endif() + # ============================================================================== + # Check that submodule have been initialized and updated + # ============================================================================== +-if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) ++if (0) + message(FATAL_ERROR + "\n submodule(s) are missing, please update your repository:\n" + " > git submodule update -i\n") +@@ -193,12 +193,6 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) + endif (OpenMVG_BUILD_OPENGL_EXAMPLES) + + # Dependencies install rules +-install( +- DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/ +- DESTINATION include/openMVG_dependencies +- COMPONENT headers +- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" +-) + + # ============================================================================== + # --END-- SUBMODULE CONFIGURATION +@@ -261,7 +255,7 @@ if (NOT Eigen3_FOUND) + set(OpenMVG_USE_INTERNAL_EIGEN ON) + find_package(Eigen QUIET) + else() +- set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) ++ set(EIGEN_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS}) + endif() + + # ============================================================================== +@@ -288,12 +282,12 @@ endif() + # - internal by default (flann), + # - external if FLANN_INCLUDE_DIR_HINTS and a valid Flann setup is found + # ============================================================================== +-if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS) ++if (0) + set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) + set(OpenMVG_USE_INTERNAL_FLANN ON) + endif() +-find_package(Flann QUIET) +-if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) ++find_package(Flann REQUIRED CONFIG) ++if (0) + set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) + endif() + +@@ -303,14 +297,14 @@ endif() + # - internal by default (CoinUtils), + # - external if COINUTILS_INCLUDE_DIR_HINTS and a valid CoinUtils setup is found + # ============================================================================== +-if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) ++if (0) + set(COINUTILS_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/) + set(OpenMVG_USE_INTERNAL_COINUTILS ON) + find_package(CoinUtils QUIET) + set(COINUTILS_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/) + set(COINUTILS_LIBRARY lib_CoinUtils) + else() +- find_package(CoinUtils QUIET) ++ find_package(coin-utils REQUIRED CONFIG) + endif() + + ## ============================================================================== +@@ -319,7 +313,7 @@ endif() + ## - internal by default (Clp), + ## - external if CLP_INCLUDE_DIR_HINTS and a valid Clp setup is found + ## ============================================================================== +-if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) ++if (0) + set(CLP_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/) + set(OpenMVG_USE_INTERNAL_CLP ON) + find_package(Clp QUIET) +@@ -328,7 +322,7 @@ if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) + ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/OsiClp/) + set(CLP_LIBRARIES lib_clp lib_OsiClpSolver) + else() +- find_package(Clp QUIET) ++ find_package(coin-clp REQUIRED CONFIG) + endif() + + # ============================================================================== +@@ -337,14 +331,14 @@ endif() + # - internal by default (Osi), + # - external if OSI_INCLUDE_DIR_HINTS and a valid Osi setup is found + # ============================================================================== +-if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) ++if (0) + set(OSI_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/) + set(OpenMVG_USE_INTERNAL_OSI ON) + find_package(Osi QUIET) + set(OSI_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/Osi/) + set(OSI_LIBRARY lib_Osi) + else() +- find_package(Osi QUIET) ++ find_package(coin-osi REQUIRED CONFIG) + endif() + + # ============================================================================== +@@ -364,11 +358,11 @@ endif() + # - internal by default (Lemon), + # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found + # ============================================================================== +-if (NOT DEFINED LEMON_INCLUDE_DIR_HINTS) ++if (0) + set(LEMON_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon) + set(OpenMVG_USE_INTERNAL_LEMON ON) + endif() +-find_package(Lemon QUIET) ++find_package(LEMON REQUIRED CONFIG) + if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) + set(LEMON_INCLUDE_DIRS + ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon +--- a/src/openMVG/graph/CMakeLists.txt ++++ b/src/openMVG/graph/CMakeLists.txt +@@ -1,7 +1,7 @@ + + add_library(openMVG_graph INTERFACE) + target_compile_features(openMVG_graph INTERFACE ${CXX11_FEATURES}) +-target_link_libraries(openMVG_graph INTERFACE ${LEMON_LIBRARY}) ++target_link_libraries(openMVG_graph INTERFACE LEMON::LEMON) + install(TARGETS openMVG_graph DESTINATION lib EXPORT openMVG-targets) + + UNIT_TEST(openMVG_graph connectedComponent "openMVG_testing;openMVG_graph") +--- a/src/openMVG/linearProgramming/CMakeLists.txt ++++ b/src/openMVG/linearProgramming/CMakeLists.txt +@@ -15,9 +15,9 @@ target_link_libraries(openMVG_linearProgramming + PUBLIC + openMVG_numeric + PRIVATE +- ${CLP_LIBRARIES} # clp + solver wrapper +- ${COINUTILS_LIBRARY} # container tools +- ${OSI_LIBRARY} # generic LP ++ coin-clp::coin-clp ++ coin-utils::coin-utils ++ coin-osi::coin-osi + ) + + target_include_directories(openMVG_linearProgramming +--- a/src/openMVG/matching/CMakeLists.txt ++++ b/src/openMVG/matching/CMakeLists.txt +@@ -40,7 +40,7 @@ target_link_libraries(openMVG_matching + if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN) + target_link_libraries(openMVG_matching + PUBLIC +- ${FLANN_LIBRARIES} ++ $,flann::flann_cpp,flann::flann_cpp_s> + ) + endif() + set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") +--- a/src/openMVG/multiview/CMakeLists.txt ++++ b/src/openMVG/multiview/CMakeLists.txt +@@ -29,9 +29,9 @@ target_link_libraries(openMVG_multiview + openMVG_numeric + ) + target_link_libraries(openMVG_multiview +- LINK_PRIVATE ++ PRIVATE + openMVG_graph +- ${CERES_LIBRARIES} ++ Ceres::ceres + ) + target_include_directories(openMVG_multiview + PRIVATE +--- a/src/openMVG/sfm/CMakeLists.txt ++++ b/src/openMVG/sfm/CMakeLists.txt +@@ -30,11 +30,11 @@ target_link_libraries(openMVG_sfm + ) + + target_link_libraries(openMVG_sfm +- LINK_PRIVATE ++ PRIVATE + openMVG_image + openMVG_lInftyComputerVision + openMVG_system +- ${CERES_LIBRARIES} ++ Ceres::ceres + ${STLPLUS_LIBRARY} + ) + target_include_directories(openMVG_sfm +--- a/src/software/SfM/CMakeLists.txt ++++ b/src/software/SfM/CMakeLists.txt +@@ -191,12 +191,9 @@ target_link_libraries(openMVG_main_FrustumFiltering + ) + + add_executable(openMVG_main_ComputeStructureFromKnownPoses main_ComputeStructureFromKnownPoses.cpp) +-target_include_directories(openMVG_main_ComputeStructureFromKnownPoses +- PRIVATE +- ${CERES_INCLUDE_DIRS} +-) + target_link_libraries(openMVG_main_ComputeStructureFromKnownPoses + PRIVATE ++ Ceres::ceres + openMVG_system + openMVG_features + openMVG_sfm diff --git a/recipes/openmvg/all/patches/2.0-0002-dont-force-c++11.patch b/recipes/openmvg/all/patches/2.0-0002-dont-force-c++11.patch new file mode 100644 index 0000000000000..5d41fe3f4a874 --- /dev/null +++ b/recipes/openmvg/all/patches/2.0-0002-dont-force-c++11.patch @@ -0,0 +1,18 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -120,6 +120,7 @@ endif () + # ============================================================================== + # Check C++11 support + # ============================================================================== ++if(0) + include(CXX11) + check_for_cxx11_compiler(CXX11_COMPILER) + # If a C++11 compiler is available, then set the appropriate flags +@@ -130,6 +131,7 @@ if (CXX11_COMPILER) + else (CXX11_COMPILER) + message(FATAL_ERROR "A CXX11 compiler is required.") + endif (CXX11_COMPILER) ++endif() + + # ============================================================================== + # OpenMP detection diff --git a/recipes/openmvg/all/patches/2.0-0003-fix-non-x86.patch b/recipes/openmvg/all/patches/2.0-0003-fix-non-x86.patch new file mode 100644 index 0000000000000..953666dfd9de8 --- /dev/null +++ b/recipes/openmvg/all/patches/2.0-0003-fix-non-x86.patch @@ -0,0 +1,12 @@ +--- a/src/openMVG/matching/metric_simd.hpp ++++ b/src/openMVG/matching/metric_simd.hpp +@@ -17,7 +17,9 @@ + #include + + #include ++#if defined(OPENMVG_USE_AVX2) || defined(OPENMVG_USE_AVX) + #include ++#endif + + namespace openMVG { + namespace matching { diff --git a/recipes/openmvg/all/patches/2.0-0004-no-auto-simd-optimization.patch b/recipes/openmvg/all/patches/2.0-0004-no-auto-simd-optimization.patch new file mode 100644 index 0000000000000..fe05cf48371c1 --- /dev/null +++ b/recipes/openmvg/all/patches/2.0-0004-no-auto-simd-optimization.patch @@ -0,0 +1,29 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -109,8 +109,24 @@ endif() + # ============================================================================== + set(CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmakeFindModules) +-include(OptimizeForArchitecture) +-OptimizeForArchitecture() ++if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(i[0-9]86)|(amd64)|(AMD64)") ++ if(MSVC) ++ add_definitions("-D__SSE2__") ++ endif() ++ if(USE_AVX2) ++ if(MSVC) ++ add_compile_options("/arch:AVX2") ++ else() ++ add_compile_options("-mavx2") ++ endif() ++ elseif(USE_AVX) ++ if(MSVC) ++ add_compile_options("/arch:AVX") ++ else() ++ add_compile_options("-mavx") ++ endif() ++ endif() ++endif() + + if (UNIX AND NOT OpenMVG_BUILD_COVERAGE) + set(CMAKE_C_FLAGS_RELEASE "-O3") diff --git a/recipes/openmvg/all/patches/2.0-0005-msvc-bigobj.patch b/recipes/openmvg/all/patches/2.0-0005-msvc-bigobj.patch new file mode 100644 index 0000000000000..253ad672fc36d --- /dev/null +++ b/recipes/openmvg/all/patches/2.0-0005-msvc-bigobj.patch @@ -0,0 +1,25 @@ +--- a/src/openMVG/matching/CMakeLists.txt ++++ b/src/openMVG/matching/CMakeLists.txt +@@ -45,7 +45,9 @@ target_link_libraries(openMVG_matching + endif() + set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") + set_property(TARGET openMVG_matching PROPERTY FOLDER OpenMVG/OpenMVG) +- ++if(MSVC) ++ set_target_properties(openMVG_matching PROPERTIES COMPILE_FLAGS "/bigobj") ++endif() + + if (USE_AVX2) + target_compile_options(openMVG_matching PUBLIC "-DOPENMVG_USE_AVX2") +--- a/src/openMVG/multiview/CMakeLists.txt ++++ b/src/openMVG/multiview/CMakeLists.txt +@@ -40,6 +40,9 @@ target_include_directories(openMVG_multiview + $ + ) + set_target_properties(openMVG_multiview PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") ++if(MSVC) ++ set_target_properties(openMVG_multiview PROPERTIES COMPILE_FLAGS "/bigobj") ++endif() + + add_library(openMVG_multiview_test_data ${MULTIVIEWTESTDATA}) + target_link_libraries(openMVG_multiview_test_data PRIVATE openMVG_numeric openMVG_multiview) diff --git a/recipes/openmvg/all/test_package/CMakeLists.txt b/recipes/openmvg/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7ecd1fedb6052 --- /dev/null +++ b/recipes/openmvg/all/test_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(OpenMVG REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE + OpenMVG::openMVG_geometry + OpenMVG::openMVG_linearProgramming + OpenMVG::openMVG_multiview + OpenMVG::openMVG_numeric +) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/openmvg/all/test_package/conanfile.py b/recipes/openmvg/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/openmvg/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/openmvg/all/test_package/test_package.cpp b/recipes/openmvg/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a612513939780 --- /dev/null +++ b/recipes/openmvg/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#include +#include +#include +#include + +int main() { + // Test symbols of openMVG_geometry + openMVG::geometry::Polygon2d polygon; + polygon.emplace_back(0.0, 0.0); + polygon.emplace_back(0.0, 2.0); + polygon.emplace_back(1.0, 2.0); + polygon.emplace_back(5.0, 1.2); + polygon.emplace_back(0.0, 0.0); + double area; + auto ret = openMVG::geometry::ConvexPolygonArea(polygon, area); + + // Test symbols of openMVG_linearProgramming + openMVG::linearProgramming::OSI_CLP_SolverWrapper solver(10); + + // Test symbols of openMVG_multiview + openMVG::Mat3 mat; + openMVG::PreconditionerFromPoints(1024, 1024, &mat); + return 0; +} diff --git a/recipes/openmvg/all/test_v1_package/CMakeLists.txt b/recipes/openmvg/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/openmvg/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/openmvg/all/test_v1_package/conanfile.py b/recipes/openmvg/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/openmvg/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/openmvg/config.yml b/recipes/openmvg/config.yml new file mode 100644 index 0000000000000..eab700ad534a3 --- /dev/null +++ b/recipes/openmvg/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0": + folder: all From 6198be928b1f9513af0091f0c111d2c895767949 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 5 May 2023 10:46:39 +0200 Subject: [PATCH 0153/4087] (#16131) vulkan-validationlayers: add 1.3.239.0 + modernize more for conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add vulkan-validationlayers/1.3.239.0 * modernize more * Vulkan-ValidationLayers requires CMake >=3.17.2 since 1.3.239 see https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/5032 * relocatable shared lib on macOS * fix _cmake_new_enough() for conan v2 * add spirv-headers to requirements it's a direct dependency, so don't rely anymore on spirv-tools to expose spirv-headers to vulkan-validationlayers since it's a private dependency of spirv-tools (it would break in conan v2) * bump cmake * vulkan headers is public * use version range for cmake * upper bound --------- Co-authored-by: Rubén Rincón Blanco --- .../vulkan-validationlayers/all/conandata.yml | 7 ++++ .../vulkan-validationlayers/all/conanfile.py | 35 ++++++++++--------- .../all/dependencies/dependencies-1.2.182.yml | 1 + .../dependencies/dependencies-1.2.189.2.yml | 1 + .../dependencies/dependencies-1.2.198.0.yml | 1 + .../dependencies/dependencies-1.3.204.1.yml | 1 + .../dependencies/dependencies-1.3.211.0.yml | 1 + .../dependencies/dependencies-1.3.216.0.yml | 1 + .../dependencies/dependencies-1.3.224.1.yml | 1 + .../dependencies/dependencies-1.3.231.1.yml | 1 + .../dependencies/dependencies-1.3.236.0.yml | 1 + .../dependencies/dependencies-1.3.239.0.yml | 3 ++ .../patches/1.3.239.0-0001-fix-cmake.patch | 11 ++++++ recipes/vulkan-validationlayers/config.yml | 2 ++ 14 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.239.0.yml create mode 100644 recipes/vulkan-validationlayers/all/patches/1.3.239.0-0001-fix-cmake.patch diff --git a/recipes/vulkan-validationlayers/all/conandata.yml b/recipes/vulkan-validationlayers/all/conandata.yml index f251df5a89323..cce0aea3d2aac 100644 --- a/recipes/vulkan-validationlayers/all/conandata.yml +++ b/recipes/vulkan-validationlayers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.239.0": + url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/sdk-1.3.239.0.tar.gz" + sha256: "7aa7fb46e25e5ef0144d29c92122b631dc7c7c6804a6339f195b368ad53328e4" "1.3.236.0": url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/sdk-1.3.236.0.tar.gz" sha256: "68f2cf70b1960f85e931ef56935e6ceda1beeb214f8fa319e6b95128b02b485a" @@ -27,6 +30,10 @@ sources: url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/v1.2.182.tar.gz" sha256: "5a1f7027c06a8e5ae777d9053b5ce46f10ca623806a43332eb2da06fe46476d4" patches: + "1.3.239.0": + - patch_file: "patches/1.3.239.0-0001-fix-cmake.patch" + patch_description: "CMake: Adapt to conan" + patch_type: "conan" "1.3.236.0": - patch_file: "patches/1.3.236.0-0001-fix-cmake.patch" patch_description: "CMake: Adapt to conan" diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index aac6abc417151..9b4e7e7f28c9e 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -1,8 +1,9 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanException, ConanInvalidConfiguration +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.env import Environment, VirtualBuildEnv +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, rename, replace_in_file, rm from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version @@ -12,7 +13,7 @@ import shutil import yaml -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.55.0" class VulkanValidationLayersConan(ConanFile): @@ -69,7 +70,6 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "11": {}, "17": { "apple-clang": "9", "clang": "6", @@ -77,7 +77,7 @@ def _compilers_minimum_version(self): "msvc": "191", "Visual Studio": "15.7", }, - }[self._min_cppstd] + }.get(self._min_cppstd, {}) def export(self): copy(self, f"dependencies/{self._dependencies_filename}", self.recipe_folder, self.export_folder) @@ -96,9 +96,13 @@ def layout(self): def requirements(self): self.requires("robin-hood-hashing/3.11.5") - # TODO: set private=True, once the issue is resolved https://github.com/conan-io/conan/issues/9390 - self.requires(self._require("spirv-tools"), private=not hasattr(self, "settings_build")) - self.requires(self._require("vulkan-headers")) + self.requires(self._require("spirv-headers")) + if Version(conan_version).major < "2": + # TODO: set private=True, once the issue is resolved https://github.com/conan-io/conan/issues/9390 + self.requires(self._require("spirv-tools"), private=not hasattr(self, "settings_build")) + else: + self.requires(self._require("spirv-tools")) + self.requires(self._require("vulkan-headers"), transitive_headers=True) if self.options.get_safe("with_wsi_xcb") or self.options.get_safe("with_wsi_xlib"): self.requires("xorg/system") if self._needs_wayland_for_build: @@ -119,8 +123,8 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version and loose_lt_semver(str(self.info.settings.compiler.version), minimum_version): + 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.", ) @@ -134,10 +138,11 @@ def loose_lt_semver(v1, v2): def build_requirements(self): if self._needs_pkg_config and not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") + if Version(self.version) >= "1.3.239": + self.tool_requires("cmake/[>=3.17.2 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): env = VirtualBuildEnv(self) @@ -164,10 +169,6 @@ def generate(self): if self._needs_pkg_config: deps = PkgConfigDeps(self) deps.generate() - # TODO: to remove when properly handled by conan (see https://github.com/conan-io/conan/issues/11962) - env = Environment() - env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) - env.vars(self).save_script("conanbuildenv_pkg_config_path") def _patch_sources(self): apply_conandata_patches(self) @@ -216,13 +217,13 @@ def package(self): # Move json files to res, but keep in mind to preserve relative # path between module library and manifest json file rename(self, os.path.join(self.package_folder, "share"), os.path.join(self.package_folder, "res")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["VkLayer_utils"] manifest_subfolder = "bin" if self.settings.os == "Windows" else os.path.join("res", "vulkan", "explicit_layer.d") vk_layer_path = os.path.join(self.package_folder, manifest_subfolder) - self.output.info(f"Prepending to VK_LAYER_PATH runtime environment variable: {vk_layer_path}") self.runenv_info.prepend_path("VK_LAYER_PATH", vk_layer_path) # 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) diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml index b9bba2753f36e..c3e6505e83271 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml @@ -1,2 +1,3 @@ +spirv-headers: "cci.20210616" spirv-tools: "2021.2" vulkan-headers: "1.2.182" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml index d04ec5223c8dd..dd52c0e08b282 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml @@ -1,2 +1,3 @@ +spirv-headers: "cci.20210811" spirv-tools: "2021.3" vulkan-headers: "1.2.189" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml index 31b1b00476431..ac36ea35232c5 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.2.198.0" spirv-tools: "2021.4" vulkan-headers: "1.2.198.0" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml index 41940a6cde1f7..e19c38225be30 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.3.204.0" spirv-tools: "1.3.204.0" vulkan-headers: "1.3.204.1" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.211.0.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.211.0.yml index 0c38c431cad0f..d6b212b266991 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.211.0.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.211.0.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.3.211.0" spirv-tools: "1.3.211.0" vulkan-headers: "1.3.211.0" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.216.0.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.216.0.yml index bcd70ac192233..3ca4ddaf45684 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.216.0.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.216.0.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.3.216.0" spirv-tools: "1.3.216.0" vulkan-headers: "1.3.216.0" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.224.1.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.224.1.yml index 17115c7cd5750..5db991b2921eb 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.224.1.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.224.1.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.3.224.0" spirv-tools: "1.3.224.0" vulkan-headers: "1.3.224.0" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.231.1.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.231.1.yml index bfd00812c5211..55064d8349ad8 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.231.1.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.231.1.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.3.231.1" spirv-tools: "1.3.231.1" vulkan-headers: "1.3.231.1" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.236.0.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.236.0.yml index 830bb842e9002..6e9ed400844e9 100644 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.236.0.yml +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.236.0.yml @@ -1,2 +1,3 @@ +spirv-headers: "1.3.236.0" spirv-tools: "1.3.236.0" vulkan-headers: "1.3.236.0" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.239.0.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.239.0.yml new file mode 100644 index 0000000000000..a580c69936290 --- /dev/null +++ b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.239.0.yml @@ -0,0 +1,3 @@ +spirv-headers: "1.3.239.0" +spirv-tools: "1.3.239.0" +vulkan-headers: "1.3.239.0" diff --git a/recipes/vulkan-validationlayers/all/patches/1.3.239.0-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.3.239.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..e30c2cbd5ce46 --- /dev/null +++ b/recipes/vulkan-validationlayers/all/patches/1.3.239.0-0001-fix-cmake.patch @@ -0,0 +1,11 @@ +--- a/layers/CMakeLists.txt ++++ b/layers/CMakeLists.txt +@@ -134,7 +134,7 @@ endif() + + find_package(PythonInterp 3 QUIET) + +-if (PYTHONINTERP_FOUND) ++if (0) + # Get the include directory of the SPIRV-Headers + get_target_property(SPIRV_HEADERS_INCLUDE_DIR SPIRV-Headers::SPIRV-Headers INTERFACE_INCLUDE_DIRECTORIES) + diff --git a/recipes/vulkan-validationlayers/config.yml b/recipes/vulkan-validationlayers/config.yml index 8da325f5c1293..d99b3e54ca59d 100644 --- a/recipes/vulkan-validationlayers/config.yml +++ b/recipes/vulkan-validationlayers/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.239.0": + folder: all "1.3.236.0": folder: all "1.3.231.1": From ecb08413599846104be645210c947d1a95a09572 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 5 May 2023 14:24:00 +0200 Subject: [PATCH 0154/4087] (#17065) ffmpeg: use version range for openssl * bump xz_utils & openssl * use version range for openssl * openssl >= 1.1 --- 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 94bd67a191bc1..b68accaf3f292 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -291,7 +291,7 @@ def requirements(self): if self.options.with_libwebp: self.requires("libwebp/1.3.0") if self.options.with_ssl == "openssl": - self.requires("openssl/3.1.0") + self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_libalsa"): self.requires("libalsa/1.2.7.2") if self.options.get_safe("with_xcb") or self.options.get_safe("with_vaapi"): From 33ffcee8c64fb759822777416082ac49c21041b8 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 5 May 2023 14:22:56 +0100 Subject: [PATCH 0155/4087] (#17401) [config] Add values for cppstds for conan v2 pipeline Co-authored-by: Daniel --- .c3i/config_v2.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 304c51c530e92..2138c690b60a9 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -107,11 +107,11 @@ configurations: cppstd: apple-clang: - "13": ["gnu17"] + "13": ["17", "gnu17", "20", "gnu20"] gcc: - "11": ["gnu17"] + "11": ["17", "gnu17", "20", "gnu20"] msvc: - "192": ["14"] + "192": ["14", "17", "20"] jenkins: url: "http://mb-jenkins-my-bloody-jenkins:8080" From 7581062d7195d756a82c9e1adb136709c777bff6 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 5 May 2023 14:46:52 +0100 Subject: [PATCH 0156/4087] =?UTF-8?q?(#17389)=20vulkan-loader:=20condition?= =?UTF-8?q?ally=20remove=20shared=20option=20on=20platforms=20where=20?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- recipes/vulkan-loader/all/conanfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/vulkan-loader/all/conanfile.py b/recipes/vulkan-loader/all/conanfile.py index 26c55ed9363d7..7d7adac29c32f 100644 --- a/recipes/vulkan-loader/all/conanfile.py +++ b/recipes/vulkan-loader/all/conanfile.py @@ -60,7 +60,11 @@ def config_options(self): del self.options.with_wsi_directfb def configure(self): - if self.options.shared: + if not is_apple_os(self): + # static builds are not supported + self.options.rm_safe("shared") + self.package_type = "shared-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -79,8 +83,6 @@ def validate(self): if self.options.get_safe("with_wsi_directfb"): # TODO: directfb package raise ConanInvalidConfiguration("Conan recipe for DirectFB is not available yet.") - if not is_apple_os(self) and not self.options.shared: - raise ConanInvalidConfiguration(f"Static builds are not supported on {self.settings.os}") # FIXME: It should build but Visual Studio 2015 container in CI of CCI seems to lack some Win SDK headers check_min_vs(self, "191") # TODO: to replace by some version range check From 4556e63d540a946a193553da70994d91e55a20cc Mon Sep 17 00:00:00 2001 From: System-Arch <33330183+System-Arch@users.noreply.github.com> Date: Fri, 5 May 2023 11:02:17 -0400 Subject: [PATCH 0157/4087] (#17383) CMake [build from source] Added missing definition needed when bootstrapping with OpenSSL --- recipes/cmake/3.x.x/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/cmake/3.x.x/conanfile.py b/recipes/cmake/3.x.x/conanfile.py index 99b7b5e57d1a7..f6de583315097 100644 --- a/recipes/cmake/3.x.x/conanfile.py +++ b/recipes/cmake/3.x.x/conanfile.py @@ -97,6 +97,7 @@ def generate(self): openssl = self.dependencies["openssl"] bootstrap_cmake_options.append("-DCMAKE_USE_OPENSSL=ON") bootstrap_cmake_options.append(f'-DOPENSSL_USE_STATIC_LIBS={"FALSE" if openssl.options.shared else "TRUE"}') + bootstrap_cmake_options.append(f'-DOPENSSL_ROOT_DIR={openssl.package_path}') else: bootstrap_cmake_options.append("-DCMAKE_USE_OPENSSL=OFF") save(self, "bootstrap_args", json.dumps({"bootstrap_cmake_options": ' '.join(arg for arg in bootstrap_cmake_options)})) From ade3d21e0373a7144821672ba8f5e43f498009e0 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 5 May 2023 10:24:03 -0500 Subject: [PATCH 0158/4087] (#17306) libffi/3.4.4: Pull forward the forward declaration patch This patch is also necessary for version 3.4.4. This patch shouldn't need to be carried forward any further after this release. --- recipes/libffi/all/conandata.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/libffi/all/conandata.yml b/recipes/libffi/all/conandata.yml index 3333c954f7024..5984134b2d8b9 100644 --- a/recipes/libffi/all/conandata.yml +++ b/recipes/libffi/all/conandata.yml @@ -17,6 +17,10 @@ patches: - patch_file: "patches/0004-3.3-fix-complex-type-msvc.patch" - patch_file: "patches/0005-3.4.4-do-not-install-libraries-to-arch-dependent-directories.patch" - patch_file: "patches/0006-3.4.4-library-no-version-suffix.patch" + - patch_file: "patches/0007-3.4.3-forward-declare-open_temp_exec_file.patch" + patch_type: "portability" + patch_source: "https://github.com/libffi/libffi/pull/764" + patch_description: "Forward declare the open_temp_exec_file function which is required by the C99 standard" "3.4.3": - patch_file: "patches/0002-3.4.3-fix-libtool-path.patch" - patch_file: "patches/0004-3.3-fix-complex-type-msvc.patch" From be10746a4ce87210605a0f9d840dc14e3528f750 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 5 May 2023 16:45:43 +0100 Subject: [PATCH 0159/4087] (#16812) libmysqlclient: move check_min_cppstd to validate_build * libmysqlclient: move check_min_cppstd to validate build * libmysqlclient: move some logic back to validate() * formatting --- recipes/libmysqlclient/all/conanfile.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index a7af0fe1eae6e..39c37976fdc14 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -69,10 +69,14 @@ def requirements(self): if self.settings.os == "FreeBSD": self.requires("libunwind/1.6.2") - def validate(self): + def validate_build(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): + raise ConanInvalidConfiguration("Cross compilation not yet supported by the recipe. Contributions are welcomed.") + + def validate(self): def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] lv2 = [int(v) for v in v2.split(".")] @@ -83,9 +87,6 @@ def loose_lt_semver(v1, v2): if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} {minimum_version} or newer") - if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): - raise ConanInvalidConfiguration("Cross compilation not yet supported by the recipe. Contributions are welcomed.") - # Sice 8.0.17 this doesn't support shared library on MacOS. # https://github.com/mysql/mysql-server/blob/mysql-8.0.17/cmake/libutils.cmake#L333-L335 if self.settings.compiler == "apple-clang" and self.options.shared: From 77d75d34d9578ac7db420f59e867c6d1d671a6d6 Mon Sep 17 00:00:00 2001 From: Alexander Kozhinov Date: Fri, 5 May 2023 20:25:17 +0200 Subject: [PATCH 0160/4087] (#16964) Package/nodejs v18 * nodejs: conanfile.py: prepare for v18 Signed-off-by: Alexander Kozhinov * test_package: conanfile.py: update for conan v2 usage Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * nodejs: conanfile.py: remove compiler verification Signed-off-by: Alexander Kozhinov * nodejs: test_package: rework for v1 and v2 Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * nodejse: conanfile.py: rework conan_version test Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Gregor Jasny * Update recipes/nodejs/all/test_package/conanfile.py Co-authored-by: Gregor Jasny * Update recipes/nodejs/all/conanfile.py Co-authored-by: Gregor Jasny * Update recipes/nodejs/all/conanfile.py Co-authored-by: Gregor Jasny * nodejs: conanfile.py: use self.settings instead of self.info.settings Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: do not use self.settings in source() method Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: use subprocess in _glibc_version Signed-off-by: Alexander Kozhinov * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * Update recipes/nodejs/all/conanfile.py Co-authored-by: Chris Mc * nodejs: conanfile.py: fix arch / revert _glibc_version Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: remove dobule defined build() method Signed-off-by: Alexander Kozhinov * nodejs: conanfile.py: fix glibc version aquisition Signed-off-by: Alexander Kozhinov * nodejs: add v18 Signed-off-by: Alexander Kozhinov * Update config.yml * Update config.yml --------- Signed-off-by: Alexander Kozhinov Co-authored-by: Chris Mc Co-authored-by: Gregor Jasny --- recipes/nodejs/all/conandata.yml | 22 ++++++++++++++++++++++ recipes/nodejs/config.yml | 2 ++ 2 files changed, 24 insertions(+) diff --git a/recipes/nodejs/all/conandata.yml b/recipes/nodejs/all/conandata.yml index 21b79e6148a9b..0681cc81e538a 100644 --- a/recipes/nodejs/all/conandata.yml +++ b/recipes/nodejs/all/conandata.yml @@ -47,3 +47,25 @@ sources: "armv8": url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-darwin-arm64.tar.gz" sha256: "aeac294dbe54a4dfd222eedfbae704b185c40702254810e2c5917f6dbc80e017" + "18.15.0": + Windows: + "x86_64": + 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/v18.15.0/node-v18.15.0-linux-x64.tar.xz" + sha256: "c8c5fa53ce0c0f248e45983e86368e0b1daf84b77e88b310f769c3cfc12682ef" + "armv7": + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-armv7l.tar.xz" + sha256: "baad3cdf1365f46bf837635554b10bc3e320799e69ac26e07df1fcde0c1738c7" + "armv8": + 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/v18.15.0/node-v18.15.0-darwin-x64.tar.gz" + sha256: "76add174d2d3f98da08907412e82add7352b8cb6f639324d352a65c084b99c7e" + "armv8": + url: "https://nodejs.org/dist/v18.15.0/node-v18.15.0-darwin-arm64.tar.gz" + sha256: "bd302a689c3c34e2b61d86b97de66d26a335881a17af09b6a0a4bb1019df56e4" diff --git a/recipes/nodejs/config.yml b/recipes/nodejs/config.yml index 8a3ed6b7b7266..e973a099243f7 100644 --- a/recipes/nodejs/config.yml +++ b/recipes/nodejs/config.yml @@ -5,3 +5,5 @@ versions: folder: all "16.3.0": folder: all + "18.15.0": + folder: all From 3781b8873e429abf7820a343d3a811cb54abc100 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Fri, 5 May 2023 12:31:09 -0700 Subject: [PATCH 0161/4087] (#17285) yajl: initial onboarding (v2.1.0) * yajl: initial onboarding (v2.1.0) * yajl: address PR comments * yajl: address PR comments (cont.) --- recipes/yajl/all/conandata.yml | 4 ++ recipes/yajl/all/conanfile.py | 69 +++++++++++++++++++ recipes/yajl/all/test_package/CMakeLists.txt | 8 +++ recipes/yajl/all/test_package/conanfile.py | 26 +++++++ recipes/yajl/all/test_package/test_package.c | 19 +++++ .../yajl/all/test_v1_package/CMakeLists.txt | 8 +++ recipes/yajl/all/test_v1_package/conanfile.py | 19 +++++ recipes/yajl/config.yml | 3 + 8 files changed, 156 insertions(+) create mode 100644 recipes/yajl/all/conandata.yml create mode 100644 recipes/yajl/all/conanfile.py create mode 100644 recipes/yajl/all/test_package/CMakeLists.txt create mode 100644 recipes/yajl/all/test_package/conanfile.py create mode 100644 recipes/yajl/all/test_package/test_package.c create mode 100644 recipes/yajl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/yajl/all/test_v1_package/conanfile.py create mode 100644 recipes/yajl/config.yml diff --git a/recipes/yajl/all/conandata.yml b/recipes/yajl/all/conandata.yml new file mode 100644 index 0000000000000..21b18ea006ef3 --- /dev/null +++ b/recipes/yajl/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.1.0": + url: "https://github.com/lloyd/yajl/archive/refs/tags/2.1.0.tar.gz" + sha256: "3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a" diff --git a/recipes/yajl/all/conanfile.py b/recipes/yajl/all/conanfile.py new file mode 100644 index 0000000000000..ba0bf3ca1a52e --- /dev/null +++ b/recipes/yajl/all/conanfile.py @@ -0,0 +1,69 @@ +from conan import ConanFile +from conan.tools.files import get, copy, rmdir, rename +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.apple import fix_apple_shared_install_name +import os + +required_conan_version = ">=1.53.0" + + +class YAJLConan(ConanFile): + name = "yajl" + description = "A fast streaming JSON parsing library in C" + license = "ISC" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/lloyd/yajl" + topics = ("json", "encoding", "decoding", "manipulation") + 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") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + 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")) + + # We need to move the dll from lib to bin in order for it to be found later + if self.settings.os == "Windows": + rename(self, os.path.join(self.package_folder, "lib", "yajl.dll"), os.path.join(self.package_folder, "bin", "yajl.dll")) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = ["yajl"] if self.options.shared else ["yajl_s"] + + # https://github.com/lloyd/yajl/blob/5e3a7856e643b4d6410ddc3f84bc2f38174f2872/src/CMakeLists.txt#L64 + self.cpp_info.set_property("pkg_config_name", "yajl") diff --git a/recipes/yajl/all/test_package/CMakeLists.txt b/recipes/yajl/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c1ab399f3fa7c --- /dev/null +++ b/recipes/yajl/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package C) + +find_package(yajl REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE yajl::yajl) diff --git a/recipes/yajl/all/test_package/conanfile.py b/recipes/yajl/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/yajl/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/yajl/all/test_package/test_package.c b/recipes/yajl/all/test_package/test_package.c new file mode 100644 index 0000000000000..9a2af8a9d4996 --- /dev/null +++ b/recipes/yajl/all/test_package/test_package.c @@ -0,0 +1,19 @@ +#include +#include +#include +#include + +#define CHK(x) if (x != yajl_gen_status_ok) return 1; + +int main(void) { + printf("Welcome to YAJL v%d.%d.%d!", YAJL_MAJOR, YAJL_MINOR, YAJL_MICRO); + yajl_gen yg; + yajl_gen_status s; + + yg = yajl_gen_alloc(NULL); + CHK(yajl_gen_map_open(yg)); + CHK(yajl_gen_map_close(yg)); + s = yajl_gen_map_close(yg); + + return yajl_gen_generation_complete == s ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/recipes/yajl/all/test_v1_package/CMakeLists.txt b/recipes/yajl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/yajl/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/yajl/all/test_v1_package/conanfile.py b/recipes/yajl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/yajl/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/yajl/config.yml b/recipes/yajl/config.yml new file mode 100644 index 0000000000000..dfff490f9a9b6 --- /dev/null +++ b/recipes/yajl/config.yml @@ -0,0 +1,3 @@ +versions: + "2.1.0": + folder: all From ab29b6f7333092fd31b289b743e829ea2525bf96 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 5 May 2023 22:30:24 +0200 Subject: [PATCH 0162/4087] (#17387) paho-mqtt-cpp: deprecate ssl option & ensure to use config file generated by CMakeDeps * remove openssl from direct requirements * cleanup recipe * fix conditional set of shared & ssl options for conan v1 client * override cmake names of paho-mqtt-c to satisfy CML of paho-mqtt-cpp * remove useless patches * deprecate ssl option * restore handling of paho-mqtt-c shared option * fix link of object target to paho-mqtt-c target --- recipes/paho-mqtt-cpp/all/conandata.yml | 16 ++- recipes/paho-mqtt-cpp/all/conanfile.py | 72 +++++------ .../all/patches/1.0.1-0001-fix-cmake.patch | 13 ++ .../1.0.1/0001-fix-cmake-module-path.patch | 14 --- ...02-fix-cmake-find-paho-mqtt-c-static.patch | 16 --- .../0003-fix-paho-mqtt-cpp-config-cmake.patch | 17 --- .../all/patches/1.1-0001-fix-cmake.patch | 26 ++++ ....1-0002-deadlock_and_remlog-for-1-1.patch} | 0 .../all/patches/1.1/0002-ios_fix.patch | 118 ------------------ .../all/patches/1.2.0-0001-fix-cmake.patch | 26 ++++ recipes/paho-mqtt-cpp/config.yml | 4 +- 11 files changed, 112 insertions(+), 210 deletions(-) create mode 100644 recipes/paho-mqtt-cpp/all/patches/1.0.1-0001-fix-cmake.patch delete mode 100644 recipes/paho-mqtt-cpp/all/patches/1.0.1/0001-fix-cmake-module-path.patch delete mode 100644 recipes/paho-mqtt-cpp/all/patches/1.0.1/0002-fix-cmake-find-paho-mqtt-c-static.patch delete mode 100644 recipes/paho-mqtt-cpp/all/patches/1.0.1/0003-fix-paho-mqtt-cpp-config-cmake.patch create mode 100644 recipes/paho-mqtt-cpp/all/patches/1.1-0001-fix-cmake.patch rename recipes/paho-mqtt-cpp/all/patches/{1.1/0001-deadlock_and_remlog-for-1-1.patch => 1.1-0002-deadlock_and_remlog-for-1-1.patch} (100%) delete mode 100644 recipes/paho-mqtt-cpp/all/patches/1.1/0002-ios_fix.patch create mode 100644 recipes/paho-mqtt-cpp/all/patches/1.2.0-0001-fix-cmake.patch diff --git a/recipes/paho-mqtt-cpp/all/conandata.yml b/recipes/paho-mqtt-cpp/all/conandata.yml index f49eae153bb9c..82fdb49cadc6c 100644 --- a/recipes/paho-mqtt-cpp/all/conandata.yml +++ b/recipes/paho-mqtt-cpp/all/conandata.yml @@ -9,10 +9,16 @@ sources: sha256: e97386d159b811e534b98d21e3f6881ab2b43678ec026da7525d5c21ebc292ff url: https://github.com/eclipse/paho.mqtt.cpp/archive/v1.0.1.tar.gz patches: + "1.2.0": + - patch_file: "patches/1.2.0-0001-fix-cmake.patch" + patch_description: "CMake: Honor fPIC option and properly link paho-mqtt-c to object target" + patch_type: "conan" "1.1": - - patch_file: "patches/1.1/0001-deadlock_and_remlog-for-1-1.patch" - - patch_file: "patches/1.1/0002-ios_fix.patch" + - patch_file: "patches/1.1-0001-fix-cmake.patch" + patch_description: "CMake: Honor fPIC option and properly link paho-mqtt-c to object target" + patch_type: "conan" + - patch_file: "patches/1.1-0002-deadlock_and_remlog-for-1-1.patch" "1.0.1": - - patch_file: "patches/1.0.1/0001-fix-cmake-module-path.patch" - - patch_file: "patches/1.0.1/0002-fix-cmake-find-paho-mqtt-c-static.patch" - - patch_file: "patches/1.0.1/0003-fix-paho-mqtt-cpp-config-cmake.patch" + - patch_file: "patches/1.0.1-0001-fix-cmake.patch" + patch_description: "CMake: properly link paho-mqtt-c to object target" + patch_type: "conan" diff --git a/recipes/paho-mqtt-cpp/all/conanfile.py b/recipes/paho-mqtt-cpp/all/conanfile.py index 2d982c303ea2a..a2003509d5dc7 100644 --- a/recipes/paho-mqtt-cpp/all/conanfile.py +++ b/recipes/paho-mqtt-cpp/all/conanfile.py @@ -1,14 +1,13 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, rmdir, get from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.env import VirtualBuildEnv from conan.tools.build import check_min_cppstd from conan.tools.scm import Version import os +required_conan_version = ">=1.55.0" -required_conan_version = ">=1.53.0" class PahoMqttCppConan(ConanFile): name = "paho-mqtt-cpp" @@ -22,12 +21,12 @@ class PahoMqttCppConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "ssl": [True, False], + "ssl": [True, False, "deprecated"], # TODO: deprecated option, to remove in few months } default_options = { "shared": False, "fPIC": True, - "ssl": True + "ssl": "deprecated", } @property @@ -45,23 +44,16 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.options["paho-mqtt-c/*"].shared = self.options.shared - self.options["paho-mqtt-c/*"].ssl = self.options.ssl + suffix = "" if Version(conan_version).major < "2" else "/*" + self.options[f"paho-mqtt-c{suffix}"].shared = self.options.shared + + # TODO: deprecated option, to remove in few months + if self.options.ssl != "deprecated": + self.output.warning("ssl option is deprecated, do not use anymore") def layout(self): cmake_layout(self, src_folder="src") - def validate(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, self._min_cppstd) - - if self.dependencies["paho-mqtt-c"].options.shared != self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} requires paho-mqtt-c to have a matching 'shared' option.") - if self.dependencies["paho-mqtt-c"].options.ssl != self.options.ssl: - raise ConanInvalidConfiguration(f"{self.ref} requires paho-mqtt-c to have a matching 'ssl' option.") - if Version(self.version) < "1.2.0" and Version(self.dependencies["paho-mqtt-c"].ref.version) >= "1.3.2": - raise ConanInvalidConfiguration(f"{self.ref} requires paho-mqtt-c =< 1.3.1") - def requirements(self): if Version(self.version) >= "1.2.0": # Headers are exposed https://github.com/conan-io/conan-center-index/pull/16760#issuecomment-1502420549 @@ -71,10 +63,18 @@ def requirements(self): # This is the "official tested" version https://github.com/eclipse/paho.mqtt.cpp/releases/tag/v1.1 self.requires("paho-mqtt-c/1.3.1", transitive_headers=True, transitive_libs=True) - # upstream's CMakeLists.txt references openssl directly with ssl enabled, so we - # should directly depend, not just transitively. - if self.options.ssl: - self.requires("openssl/1.1.1t") + def package_id(self): + # TODO: deprecated option, to remove in few months + del self.info.options.ssl + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + if self.dependencies["paho-mqtt-c"].options.shared != self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} requires paho-mqtt-c to have a matching 'shared' option.") + if Version(self.version) < "1.2.0" and Version(self.dependencies["paho-mqtt-c"].ref.version) >= "1.3.2": + raise ConanInvalidConfiguration(f"{self.ref} requires paho-mqtt-c =< 1.3.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -85,18 +85,15 @@ def generate(self): tc.variables["PAHO_BUILD_SAMPLES"] = False tc.variables["PAHO_BUILD_STATIC"] = not self.options.shared tc.variables["PAHO_BUILD_SHARED"] = self.options.shared - tc.variables["PAHO_WITH_SSL"] = self.options.ssl + 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") deps.generate() - vbuildenv = VirtualBuildEnv(self) - vbuildenv.generate(scope="build") - - def _patch_sources(self): - apply_conandata_patches(self) def build(self): - self._patch_sources() + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -110,20 +107,19 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "PahoMqttCpp" - self.cpp_info.names["cmake_find_package_multi"] = "PahoMqttCpp" - target = "paho-mqttpp3" if self.options.shared else "paho-mqttpp3-static" self.cpp_info.set_property("cmake_file_name", "PahoMqttCpp") self.cpp_info.set_property("cmake_target_name", f"PahoMqttCpp::{target}") - - self.cpp_info.components["paho-mqttpp"].set_property("cmake_target_name", f"PahoMqttCpp::{target}") - self.cpp_info.components["paho-mqttpp"].names["cmake_find_package"] = target - self.cpp_info.components["paho-mqttpp"].names["cmake_find_package_multi"] = target + # TODO: back to root level once conan v1 support removed if self.settings.os == "Windows": self.cpp_info.components["paho-mqttpp"].libs = [target] else: self.cpp_info.components["paho-mqttpp"].libs = ["paho-mqttpp3"] + + # TODO: to remove once conan v1 support removed + self.cpp_info.names["cmake_find_package"] = "PahoMqttCpp" + self.cpp_info.names["cmake_find_package_multi"] = "PahoMqttCpp" + self.cpp_info.components["paho-mqttpp"].names["cmake_find_package"] = target + self.cpp_info.components["paho-mqttpp"].names["cmake_find_package_multi"] = target + self.cpp_info.components["paho-mqttpp"].set_property("cmake_target_name", f"PahoMqttCpp::{target}") self.cpp_info.components["paho-mqttpp"].requires = ["paho-mqtt-c::paho-mqtt-c"] - if self.options.ssl: - self.cpp_info.components["paho-mqttpp"].requires.extend(["openssl::openssl"]) diff --git a/recipes/paho-mqtt-cpp/all/patches/1.0.1-0001-fix-cmake.patch b/recipes/paho-mqtt-cpp/all/patches/1.0.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..e22c0033d4b91 --- /dev/null +++ b/recipes/paho-mqtt-cpp/all/patches/1.0.1-0001-fix-cmake.patch @@ -0,0 +1,13 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -74,9 +74,9 @@ target_include_directories(paho-cpp-objs + $ + $ + PRIVATE +- ${PAHO_MQTT_C_INCLUDE_DIRS} + src + ) ++target_link_libraries(paho-cpp-objs PUBLIC PahoMqttC::PahoMqttC) + + + ## --- Build the shared library, if requested --- diff --git a/recipes/paho-mqtt-cpp/all/patches/1.0.1/0001-fix-cmake-module-path.patch b/recipes/paho-mqtt-cpp/all/patches/1.0.1/0001-fix-cmake-module-path.patch deleted file mode 100644 index 1eae81cadb7a3..0000000000000 --- a/recipes/paho-mqtt-cpp/all/patches/1.0.1/0001-fix-cmake-module-path.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1f6ab07..bb0b31f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -69,7 +69,7 @@ endif() - ## --- Build directories --- - - # For the paho_mqtt_c module --list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) -+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) - add_subdirectory(src) - - # --- Documentation --- - diff --git a/recipes/paho-mqtt-cpp/all/patches/1.0.1/0002-fix-cmake-find-paho-mqtt-c-static.patch b/recipes/paho-mqtt-cpp/all/patches/1.0.1/0002-fix-cmake-find-paho-mqtt-c-static.patch deleted file mode 100644 index 5846fe7e82581..0000000000000 --- a/recipes/paho-mqtt-cpp/all/patches/1.0.1/0002-fix-cmake-find-paho-mqtt-c-static.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/cmake/FindPahoMqttC.cmake b/cmake/FindPahoMqttC.cmake -index 10c2bfa..a03b226 100644 ---- a/cmake/FindPahoMqttC.cmake -+++ b/cmake/FindPahoMqttC.cmake -@@ -5,6 +5,10 @@ if(PAHO_WITH_SSL) - else() - set(_PAHO_MQTT_C_LIB_NAME paho-mqtt3a) - endif() -+# add suffix when using static Paho MQTT C library variant -+if(PAHO_BUILD_STATIC) -+ set(_PAHO_MQTT_C_LIB_NAME ${_PAHO_MQTT_C_LIB_NAME}-static) -+endif() - - find_library(PAHO_MQTT_C_LIBRARIES NAMES ${_PAHO_MQTT_C_LIB_NAME}) - unset(_PAHO_MQTT_C_LIB_NAME) - diff --git a/recipes/paho-mqtt-cpp/all/patches/1.0.1/0003-fix-paho-mqtt-cpp-config-cmake.patch b/recipes/paho-mqtt-cpp/all/patches/1.0.1/0003-fix-paho-mqtt-cpp-config-cmake.patch deleted file mode 100644 index c84f74f66c0de..0000000000000 --- a/recipes/paho-mqtt-cpp/all/patches/1.0.1/0003-fix-paho-mqtt-cpp-config-cmake.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cmake/PahoMqttCppConfig.cmake.in b/cmake/PahoMqttCppConfig.cmake.in -index e06dc68..f1137fc 100644 ---- a/cmake/PahoMqttCppConfig.cmake.in -+++ b/cmake/PahoMqttCppConfig.cmake.in -@@ -1,6 +1,11 @@ -+set(PAHO_BUILD_STATIC @PAHO_BUILD_STATIC@) -+set(PAHO_BUILD_SHARED @PAHO_BUILD_SHARED@) -+set(PAHO_WITH_SSL @PAHO_WITH_SSL@) -+ - include(CMakeFindDependencyMacro) - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) - find_dependency(PahoMqttC REQUIRED) - list(REMOVE_AT CMAKE_MODULE_PATH -1) - - include("${CMAKE_CURRENT_LIST_DIR}/@package_name@Targets.cmake") -+ - diff --git a/recipes/paho-mqtt-cpp/all/patches/1.1-0001-fix-cmake.patch b/recipes/paho-mqtt-cpp/all/patches/1.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..dbcbfa21fd7ce --- /dev/null +++ b/recipes/paho-mqtt-cpp/all/patches/1.1-0001-fix-cmake.patch @@ -0,0 +1,26 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,7 +56,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + + # Generate position-independent code (-fPIC on UNIX) +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # --- System Libraries --- + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -72,9 +72,12 @@ target_include_directories(paho-cpp-objs + $ + $ + PRIVATE +- ${PAHO_MQTT_C_INCLUDE_DIRS} + src + ) ++target_link_libraries(paho-cpp-objs PUBLIC PahoMqttC::PahoMqttC) ++if(PAHO_BUILD_SHARED) ++ set_target_properties(paho-cpp-objs PROPERTIES POSITION_INDEPENDENT_CODE ON) ++endif() + + + ## --- Build the shared library, if requested --- diff --git a/recipes/paho-mqtt-cpp/all/patches/1.1/0001-deadlock_and_remlog-for-1-1.patch b/recipes/paho-mqtt-cpp/all/patches/1.1-0002-deadlock_and_remlog-for-1-1.patch similarity index 100% rename from recipes/paho-mqtt-cpp/all/patches/1.1/0001-deadlock_and_remlog-for-1-1.patch rename to recipes/paho-mqtt-cpp/all/patches/1.1-0002-deadlock_and_remlog-for-1-1.patch diff --git a/recipes/paho-mqtt-cpp/all/patches/1.1/0002-ios_fix.patch b/recipes/paho-mqtt-cpp/all/patches/1.1/0002-ios_fix.patch deleted file mode 100644 index ed09f85a50c45..0000000000000 --- a/recipes/paho-mqtt-cpp/all/patches/1.1/0002-ios_fix.patch +++ /dev/null @@ -1,118 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 4e9b7c4..5cc6327 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -41,7 +41,7 @@ find_package(Threads REQUIRED) - - ## --- Use object library to optimize compilation --- - --add_library(paho-cpp-objs OBJECT -+set (PAHO-CPP-SRC - async_client.cpp - client.cpp - disconnect_options.cpp -@@ -51,56 +51,51 @@ add_library(paho-cpp-objs OBJECT - response_options.cpp - ssl_options.cpp - string_collection.cpp -- subscribe_options.cpp -+ subscribe_options.cpp - token.cpp - topic.cpp - connect_options.cpp - will_options.cpp - ) - --## install the shared library --#install(TARGETS paho-cpp-objs EXPORT PahoMqttCpp --# OBJECTS DESTINATION ${CMAKE_INSTALL_LIBDIR} --#) -+if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "iOS") -+ add_library(paho-cpp-objs OBJECT ${PAHO-CPP-SRC}) - --# Object libraries can't use target_link_libraries in order to take advantage --# of transitive usage requirements until CMake 3.12. This is a workaround: --#target_include_directories(OBJS PRIVATE ${PAHO_MQTT_C_INCLUDE_DIRS}) -- --target_include_directories(paho-cpp-objs -+ target_include_directories(paho-cpp-objs - PUBLIC - $ - $ - PRIVATE - ${PAHO_MQTT_C_INCLUDE_DIRS} - src --) -+ ) -+ -+endif() - - - ## --- Build the shared library, if requested --- - - if(PAHO_BUILD_SHARED) - ## create the shared library -- add_library(paho-mqttpp3 SHARED $) -+ if (${CMAKE_SYSTEM_NAME} STREQUAL "iOS") -+ add_library(paho-mqttpp3 SHARED ${PAHO-CPP-SRC}) -+ else() -+ add_library(paho-mqttpp3 SHARED $) -+ endif() - - ## add dependencies to the shared library - target_link_libraries(paho-mqttpp3 - PRIVATE ${LIBS_SYSTEM} - PUBLIC PahoMqttC::PahoMqttC Threads::Threads) - -- # It would be nice to exort the include paths from the obj lib, but we -- # get an export error. Perhaps in a future version? -- # -- # CMake Error: install(EXPORT "PahoMqttCpp" ...) includes target "paho-mqttpp3" -- # which requires target "paho-cpp-objs" that is not in the export set. -- -- #target_include_directories(paho-mqttpp3 PUBLIC -- # $ -- #) - -- target_include_directories(paho-mqttpp3 PUBLIC -- $ -- $ -+ target_include_directories(paho-mqttpp3 -+ PUBLIC -+ $ -+ $ -+ PRIVATE -+ ${PAHO_MQTT_C_INCLUDE_DIRS} -+ src - ) - - ## set the shared library soname -@@ -119,16 +114,24 @@ endif() - - if(PAHO_BUILD_STATIC) - ## create the static library -- add_library(paho-mqttpp3-static STATIC $) -+ if (${CMAKE_SYSTEM_NAME} STREQUAL "iOS") -+ add_library(paho-mqttpp3-static STATIC ${PAHO-CPP-SRC}) -+ else() -+ add_library(paho-mqttpp3-static STATIC $) -+ endif() - - ## add dependencies to the shared library - target_link_libraries(paho-mqttpp3-static - PRIVATE ${LIBS_SYSTEM} - PUBLIC PahoMqttC::PahoMqttC Threads::Threads) - -- target_include_directories(paho-mqttpp3-static PUBLIC -- $ -- $ -+ target_include_directories(paho-mqttpp3-static -+ PUBLIC -+ $ -+ $ -+ PRIVATE -+ ${PAHO_MQTT_C_INCLUDE_DIRS} -+ src - ) - - ## install the static library diff --git a/recipes/paho-mqtt-cpp/all/patches/1.2.0-0001-fix-cmake.patch b/recipes/paho-mqtt-cpp/all/patches/1.2.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..060c0957c43a8 --- /dev/null +++ b/recipes/paho-mqtt-cpp/all/patches/1.2.0-0001-fix-cmake.patch @@ -0,0 +1,26 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,7 +57,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + + # Generate position-independent code (-fPIC on UNIX) +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # --- System Libraries --- + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -73,9 +73,12 @@ target_include_directories(paho-cpp-objs + $ + $ + PRIVATE +- ${PAHO_MQTT_C_INCLUDE_DIRS} + src + ) ++target_link_libraries(paho-cpp-objs PUBLIC PahoMqttC::PahoMqttC) ++if(PAHO_BUILD_SHARED) ++ set_target_properties(paho-cpp-objs PROPERTIES POSITION_INDEPENDENT_CODE ON) ++endif() + + + ## --- Build the shared library, if requested --- diff --git a/recipes/paho-mqtt-cpp/config.yml b/recipes/paho-mqtt-cpp/config.yml index 1970391ed5cca..e1306dc2a1d9a 100644 --- a/recipes/paho-mqtt-cpp/config.yml +++ b/recipes/paho-mqtt-cpp/config.yml @@ -1,7 +1,7 @@ versions: - "1.0.1": + "1.2.0": folder: "all" "1.1": folder: "all" - "1.2.0": + "1.0.1": folder: "all" From e512415afcb1567a47be4e0950e44548272f7d8e Mon Sep 17 00:00:00 2001 From: n-morales <61885661+n-morales@users.noreply.github.com> Date: Fri, 5 May 2023 17:28:29 -0700 Subject: [PATCH 0163/4087] (#16280) rmlui: modernize package definition * rmlui: modernize package definition to comply with linters and use CMakeDeps/CmakeToolchain * rmlui: update package to work properly with conan 2.0 and add test_v1_package * rmlui: use ctest because it's easier for the v1 package test * rmlui: make sure custom rtti compiler flags are propagated if option is set * rmlui: use old generators in test_v1_package * rmlui: for test_v1_package, make sure ctest outputs on error * rmlui: self.output.warn -> self.output.warning * rmlui: run v1 test in run environment * rmlui: use run() instead of ctest for v1 package * rmlui: fix #15095 * rmlui: fix some output refs and remove redundant headers param * rmlui: 4.x: use patches instead of manual search/replace * rmlui: 4.x: remove enable_rtti_and_exceptions option as it was broken anyway and probably is not the right place to do it * rmlui: 4.x: remove the cpp file in test_v1_package since it re-uses the test_package one * rmlui: 4.x: ensure that lua is found via config mode to ensure using conan Lua --- recipes/rmlui/4.x/conandata.yml | 21 +++ recipes/rmlui/4.x/conanfile.py | 120 +++++++----------- .../4.0-fix-cmake-targets-and-config.patch | 88 +++++++++++++ .../4.1-fix-cmake-targets-and-config.patch | 82 ++++++++++++ .../4.2-fix-cmake-targets-and-config.patch | 82 ++++++++++++ .../4.3-fix-cmake-targets-and-config.patch | 82 ++++++++++++ .../4.4-fix-cmake-targets-and-config.patch | 82 ++++++++++++ recipes/rmlui/4.x/test_package/CMakeLists.txt | 7 +- recipes/rmlui/4.x/test_package/conanfile.py | 23 +++- .../rmlui/4.x/test_v1_package/CMakeLists.txt | 9 ++ .../rmlui/4.x/test_v1_package/conanfile.py | 18 +++ 11 files changed, 532 insertions(+), 82 deletions(-) create mode 100644 recipes/rmlui/4.x/patches/4.0-fix-cmake-targets-and-config.patch create mode 100644 recipes/rmlui/4.x/patches/4.1-fix-cmake-targets-and-config.patch create mode 100644 recipes/rmlui/4.x/patches/4.2-fix-cmake-targets-and-config.patch create mode 100644 recipes/rmlui/4.x/patches/4.3-fix-cmake-targets-and-config.patch create mode 100644 recipes/rmlui/4.x/patches/4.4-fix-cmake-targets-and-config.patch create mode 100644 recipes/rmlui/4.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/rmlui/4.x/test_v1_package/conanfile.py diff --git a/recipes/rmlui/4.x/conandata.yml b/recipes/rmlui/4.x/conandata.yml index f35a5c4a8e8db..e272e1d8e0557 100644 --- a/recipes/rmlui/4.x/conandata.yml +++ b/recipes/rmlui/4.x/conandata.yml @@ -14,3 +14,24 @@ sources: "4.4": url: "https://github.com/mikke89/RmlUi/archive/4.4.tar.gz" sha256: "9e45176e47154616253c4e5c78368f4af4b4379278b73066c3fb5a338f9c655a" +patches: + "4.0": + - patch_file: "patches/4.0-fix-cmake-targets-and-config.patch" + patch_description: "Make external libraries work when provided by conan and remove the generation of a config file" + patch_type: "conan" + "4.1": + - patch_file: "patches/4.1-fix-cmake-targets-and-config.patch" + patch_description: "Make external libraries work when provided by conan and remove the generation of a config file" + patch_type: "conan" + "4.2": + - patch_file: "patches/4.2-fix-cmake-targets-and-config.patch" + patch_description: "Make external libraries work when provided by conan and remove the generation of a config file" + patch_type: "conan" + "4.3": + - patch_file: "patches/4.3-fix-cmake-targets-and-config.patch" + patch_description: "Make external libraries work when provided by conan and remove the generation of a config file" + patch_type: "conan" + "4.4": + - patch_file: "patches/4.4-fix-cmake-targets-and-config.patch" + patch_description: "Make external libraries work when provided by conan and remove the generation of a config file" + patch_type: "conan" diff --git a/recipes/rmlui/4.x/conanfile.py b/recipes/rmlui/4.x/conanfile.py index 1266df20bec90..1bd6398f97698 100644 --- a/recipes/rmlui/4.x/conanfile.py +++ b/recipes/rmlui/4.x/conanfile.py @@ -1,18 +1,23 @@ -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 CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, replace_in_file, copy, export_conandata_patches, apply_conandata_patches import os +required_conan_version = ">=1.53.0" + class RmluiConan(ConanFile): name = "rmlui" description = "RmlUi - The HTML/CSS User Interface Library Evolved" - homepage = "https://github.com/mikke89/RmlUi" - url = "https://github.com/conan-io/conan-center-index" license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mikke89/RmlUi" topics = ("css", "gui", "html", "lua", "rmlui") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { - "enable_rtti_and_exceptions": [True, False], "font_interface": ["freetype", None], "fPIC": [True, False], "matrix_mode": ["column_major", "row_major"], @@ -21,7 +26,6 @@ class RmluiConan(ConanFile): "with_thirdparty_containers": [True, False] } default_options = { - "enable_rtti_and_exceptions": True, "font_interface": "freetype", "fPIC": True, "matrix_mode": "column_major", @@ -29,9 +33,6 @@ class RmluiConan(ConanFile): "with_lua_bindings": False, "with_thirdparty_containers": True } - build_requires = ["cmake/3.23.2"] - exports_sources = ["CMakeLists.txt"] - generators = ["cmake", "cmake_find_package"] @property def _minimum_compilers_version(self): @@ -49,18 +50,21 @@ def _minimum_compilers_version(self): def _minimum_cpp_standard(self): return 14 + 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: - del self.options.fPIC + self.options.rm_safe("fPIC") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - + check_min_cppstd(self, self._minimum_cpp_standard) + def lazy_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] lv2 = [int(v) for v in v2.split(".")] @@ -70,12 +74,10 @@ def lazy_lt_semver(v1, v2): min_version = self._minimum_compilers_version.get( str(self.settings.compiler)) if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + self.output.warning(f"{self.ref} recipe lacks information about the {self.settings.compiler} compiler support.") else: if lazy_lt_semver(str(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)) + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard} support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") def requirements(self): if self.options.font_interface == "freetype": @@ -85,79 +87,55 @@ def requirements(self): self.requires("lua/5.3.5") if self.options.with_thirdparty_containers: - self.requires("robin-hood-hashing/3.11.3") + self.requires("robin-hood-hashing/3.11.3", transitive_headers=True) - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if not hasattr(self, "_cmake"): - self._cmake = CMake(self) - self._cmake.definitions["BUILD_LUA_BINDINGS"] = self.options.with_lua_bindings - self._cmake.definitions["BUILD_SAMPLES"] = False - self._cmake.definitions["CUSTOM_CONFIGURATION"] = True - self._cmake.definitions["CUSTOM_INCLUDE_DIRS"] = ";".join(self.deps_cpp_info["robin-hood-hashing"].include_paths) - self._cmake.definitions["DISABLE_RTTI_AND_EXCEPTIONS"] = not self.options.enable_rtti_and_exceptions - self._cmake.definitions["ENABLE_PRECOMPILED_HEADERS"] = True - self._cmake.definitions["ENABLE_TRACY_PROFILING"] = False - self._cmake.definitions["MATRIX_ROW_MAJOR"] = self.options.matrix_mode == "row_major" - self._cmake.definitions["NO_FONT_INTERFACE_DEFAULT"] = self.options.font_interface is None - self._cmake.definitions["NO_THIRDPARTY_CONTAINERS"] = not self.options.with_thirdparty_containers - - self._cmake.configure() - - return self._cmake + get(self, **self.conan_data["sources"][self.version], + destination=self.source_folder, strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_LUA_BINDINGS"] = self.options.with_lua_bindings + tc.cache_variables["BUILD_SAMPLES"] = False + tc.cache_variables["DISABLE_RTTI_AND_EXCEPTIONS"] = False + tc.cache_variables["ENABLE_PRECOMPILED_HEADERS"] = True + tc.cache_variables["ENABLE_TRACY_PROFILING"] = False + tc.cache_variables["MATRIX_ROW_MAJOR"] = self.options.matrix_mode == "row_major" + tc.cache_variables["NO_FONT_INTERFACE_DEFAULT"] = not self.options.font_interface + tc.cache_variables["NO_THIRDPARTY_CONTAINERS"] = not self.options.with_thirdparty_containers + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - # The *.cmake files that conan generates using cmake_find_package for CMake's find_package to consume use - # different variable naming than described in CMake's documentation, thus the need for most of the replacements. - # References: - # * https://cmake.org/cmake/help/latest/module/FindFreetype.html - # * https://cmake.org/cmake/help/latest/module/FindLua.html - replace_mapping = { - "FREETYPE_FOUND": "Freetype_FOUND", - "FREETYPE_INCLUDE_DIRS": "Freetype_INCLUDE_DIRS", - "FREETYPE_LINK_DIRS": "Freetype_LINK_DIRS", - "FREETYPE_LIBRARY": "Freetype_LIBRARIES", - "FREETYPE_LIBRARIES": "Freetype_LIBRARIES", - "LUA_FOUND": "lua_FOUND", - "LUA_INCLUDE_DIR": "lua_INCLUDE_DIR", - "LUA_LIBRARIES": "lua_LIBRARIES", - # disables the built-in generation of package configuration files - "if(PkgHelpers_AVAILABLE)": "if(FALSE)" - } - - cmakelists_path = os.path.join( - self._source_subfolder, "CMakeLists.txt") - for key, value in replace_mapping.items(): - tools.replace_in_file(cmakelists_path, key, value, strict=False) + apply_conandata_patches(self) + # If we are using robin_hood hashing provided by conan, we need to change its include path if self.options.with_thirdparty_containers: - config_path = os.path.join(self._source_subfolder, + config_path = os.path.join(self.source_folder, "Include", "RmlUi", "Config", "Config.h") - tools.replace_in_file( - config_path, "\"../Core/Containers/robin_hood.h\"", "") + replace_in_file( + self, config_path, "\"../Core/Containers/robin_hood.h\"", "") def build(self): self._patch_sources() - self._configure_cmake().build() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self._configure_cmake().install() - self.copy("*LICENSE.txt", dst="licenses", src=self._source_subfolder, excludes=("Samples/*", "Tests/*")) + copy(self, pattern="*LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder, excludes=("Samples/*", "Tests/*")) + cmake = CMake(self) + cmake.install() def package_info(self): if self.options.matrix_mode == "row_major": self.cpp_info.defines.append("RMLUI_MATRIX_ROW_MAJOR") - if not self.options.enable_rtti_and_exceptions: - self.cpp_info.defines.append("RMLUI_USE_CUSTOM_RTTI") - if not self.options.shared: self.cpp_info.defines.append("RMLUI_STATIC_LIB") diff --git a/recipes/rmlui/4.x/patches/4.0-fix-cmake-targets-and-config.patch b/recipes/rmlui/4.x/patches/4.0-fix-cmake-targets-and-config.patch new file mode 100644 index 0000000000000..cb97ad8c3eb6e --- /dev/null +++ b/recipes/rmlui/4.x/patches/4.0-fix-cmake-targets-and-config.patch @@ -0,0 +1,88 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -322,21 +322,13 @@ + # FreeType + if(NOT NO_FONT_INTERFACE_DEFAULT) + find_package(Freetype REQUIRED) +- +- if(FREETYPE_FOUND) +- include_directories(${FREETYPE_INCLUDE_DIRS}) +- link_directories(${FREETYPE_LINK_DIRS}) +- list(APPEND CORE_LINK_LIBS ${FREETYPE_LIBRARY}) +- endif() ++ list(APPEND CORE_LINK_LIBS freetype) + endif() + + # Lua + if(BUILD_LUA_BINDINGS) +- find_package(Lua REQUIRED) +- if(LUA_FOUND) +- include_directories(${LUA_INCLUDE_DIR}) +- list(APPEND LUA_BINDINGS_LINK_LIBS ${LUA_LIBRARIES}) +- endif() ++ find_package(lua REQUIRED CONFIG) ++ list(APPEND LUA_BINDINGS_LINK_LIBS lua::lua) + endif() + + # rlottie +@@ -445,6 +437,10 @@ + if( MATRIX_ROW_MAJOR ) + target_compile_definitions(RmlCore PUBLIC -DRMLUI_MATRIX_ROW_MAJOR) + endif () ++if ( NOT NO_THIRDPARTY_CONTAINERS ) ++ find_package(robin_hood REQUIRED) ++ target_link_libraries(RmlCore robin_hood::robin_hood) ++endif() + if( CUSTOM_CONFIGURATION AND CUSTOM_LINK_LIBRARIES ) + target_link_libraries(RmlCore PUBLIC ${CUSTOM_LINK_LIBRARIES}) + endif () +@@ -891,49 +887,3 @@ + ) + endif() + endif() +- +-#=================================== +-# Generate Config.cmake files ====== +-#=================================== +- +-# Try to include helper module +-include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE PkgHelpers_AVAILABLE) +- +-# guard against older versions of cmake which do not provide it +-if(PkgHelpers_AVAILABLE) +- set (INCLUDE_INSTALL_DIR "include") +- set (LIB_INSTALL_DIR "lib") +- set (INCLUDE_DIR "${PROJECT_SOURCE_DIR}/Include") +- +- # generate configuration for install tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.install.in +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- INSTALL_DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake +- PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake ) +- install(EXPORT RmlUiTargets +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake) +- +- # generate configuration for build tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.build.in +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfig.cmake +- INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR} +- PATH_VARS INCLUDE_DIR CMAKE_CURRENT_BINARY_DIR) +- export(TARGETS ${RMLUI_EXPORTED_TARGETS} +- FILE "${CMAKE_CURRENT_BINARY_DIR}/RmlUiTargets.cmake") +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- set(RmlUi_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "The directory containing a CMake configuration file for RmlUi.") +-else() +- message("If you wish to use find_package(RmlUi) in your own project to find RmlUi library" +- " please update cmake to version which provides CMakePackageConfighelpers module" +- " or write generators for RmlUiConfig.cmake by yourself.") +-endif() diff --git a/recipes/rmlui/4.x/patches/4.1-fix-cmake-targets-and-config.patch b/recipes/rmlui/4.x/patches/4.1-fix-cmake-targets-and-config.patch new file mode 100644 index 0000000000000..6f33ce9a7d1cc --- /dev/null +++ b/recipes/rmlui/4.x/patches/4.1-fix-cmake-targets-and-config.patch @@ -0,0 +1,82 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -323,15 +323,13 @@ + # FreeType + if(NOT NO_FONT_INTERFACE_DEFAULT) + find_package(Freetype REQUIRED) +- list(APPEND CORE_LINK_LIBS ${FREETYPE_LIBRARIES}) +- list(APPEND CORE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS}) ++ list(APPEND CORE_LINK_LIBS freetype) + endif() + + # Lua + if(BUILD_LUA_BINDINGS) +- find_package(Lua REQUIRED) +- list(APPEND LUA_BINDINGS_INCLUDE_DIRS ${LUA_INCLUDE_DIR}) +- list(APPEND LUA_BINDINGS_LINK_LIBS ${LUA_LIBRARIES}) ++ find_package(lua REQUIRED CONFIG) ++ list(APPEND LUA_BINDINGS_LINK_LIBS lua::lua) + endif() + + # rlottie +@@ -437,6 +435,10 @@ + if( MATRIX_ROW_MAJOR ) + list(APPEND CORE_PUBLIC_DEFS -DRMLUI_MATRIX_ROW_MAJOR) + endif () ++if ( NOT NO_THIRDPARTY_CONTAINERS ) ++ find_package(robin_hood REQUIRED) ++ target_link_libraries(RmlCore robin_hood::robin_hood) ++endif() + if( CUSTOM_CONFIGURATION AND CUSTOM_LINK_LIBRARIES ) + target_link_libraries(RmlCore PUBLIC ${CUSTOM_LINK_LIBRARIES}) + endif () +@@ -890,49 +892,3 @@ + ) + endif() + endif() +- +-#=================================== +-# Generate Config.cmake files ====== +-#=================================== +- +-# Try to include helper module +-include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE PkgHelpers_AVAILABLE) +- +-# guard against older versions of cmake which do not provide it +-if(PkgHelpers_AVAILABLE) +- set (INCLUDE_INSTALL_DIR "include") +- set (LIB_INSTALL_DIR "lib") +- set (INCLUDE_DIR "${PROJECT_SOURCE_DIR}/Include") +- +- # generate configuration for install tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.install.in +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- INSTALL_DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake +- PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake ) +- install(EXPORT RmlUiTargets +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake) +- +- # generate configuration for build tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.build.in +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfig.cmake +- INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR} +- PATH_VARS INCLUDE_DIR CMAKE_CURRENT_BINARY_DIR) +- export(TARGETS ${RMLUI_EXPORTED_TARGETS} +- FILE "${CMAKE_CURRENT_BINARY_DIR}/RmlUiTargets.cmake") +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- set(RmlUi_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "The directory containing a CMake configuration file for RmlUi.") +-else() +- message("If you wish to use find_package(RmlUi) in your own project to find RmlUi library" +- " please update cmake to version which provides CMakePackageConfighelpers module" +- " or write generators for RmlUiConfig.cmake by yourself.") +-endif() diff --git a/recipes/rmlui/4.x/patches/4.2-fix-cmake-targets-and-config.patch b/recipes/rmlui/4.x/patches/4.2-fix-cmake-targets-and-config.patch new file mode 100644 index 0000000000000..6f33ce9a7d1cc --- /dev/null +++ b/recipes/rmlui/4.x/patches/4.2-fix-cmake-targets-and-config.patch @@ -0,0 +1,82 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -323,15 +323,13 @@ + # FreeType + if(NOT NO_FONT_INTERFACE_DEFAULT) + find_package(Freetype REQUIRED) +- list(APPEND CORE_LINK_LIBS ${FREETYPE_LIBRARIES}) +- list(APPEND CORE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS}) ++ list(APPEND CORE_LINK_LIBS freetype) + endif() + + # Lua + if(BUILD_LUA_BINDINGS) +- find_package(Lua REQUIRED) +- list(APPEND LUA_BINDINGS_INCLUDE_DIRS ${LUA_INCLUDE_DIR}) +- list(APPEND LUA_BINDINGS_LINK_LIBS ${LUA_LIBRARIES}) ++ find_package(lua REQUIRED CONFIG) ++ list(APPEND LUA_BINDINGS_LINK_LIBS lua::lua) + endif() + + # rlottie +@@ -437,6 +435,10 @@ + if( MATRIX_ROW_MAJOR ) + list(APPEND CORE_PUBLIC_DEFS -DRMLUI_MATRIX_ROW_MAJOR) + endif () ++if ( NOT NO_THIRDPARTY_CONTAINERS ) ++ find_package(robin_hood REQUIRED) ++ target_link_libraries(RmlCore robin_hood::robin_hood) ++endif() + if( CUSTOM_CONFIGURATION AND CUSTOM_LINK_LIBRARIES ) + target_link_libraries(RmlCore PUBLIC ${CUSTOM_LINK_LIBRARIES}) + endif () +@@ -890,49 +892,3 @@ + ) + endif() + endif() +- +-#=================================== +-# Generate Config.cmake files ====== +-#=================================== +- +-# Try to include helper module +-include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE PkgHelpers_AVAILABLE) +- +-# guard against older versions of cmake which do not provide it +-if(PkgHelpers_AVAILABLE) +- set (INCLUDE_INSTALL_DIR "include") +- set (LIB_INSTALL_DIR "lib") +- set (INCLUDE_DIR "${PROJECT_SOURCE_DIR}/Include") +- +- # generate configuration for install tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.install.in +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- INSTALL_DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake +- PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake ) +- install(EXPORT RmlUiTargets +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake) +- +- # generate configuration for build tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.build.in +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfig.cmake +- INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR} +- PATH_VARS INCLUDE_DIR CMAKE_CURRENT_BINARY_DIR) +- export(TARGETS ${RMLUI_EXPORTED_TARGETS} +- FILE "${CMAKE_CURRENT_BINARY_DIR}/RmlUiTargets.cmake") +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- set(RmlUi_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "The directory containing a CMake configuration file for RmlUi.") +-else() +- message("If you wish to use find_package(RmlUi) in your own project to find RmlUi library" +- " please update cmake to version which provides CMakePackageConfighelpers module" +- " or write generators for RmlUiConfig.cmake by yourself.") +-endif() diff --git a/recipes/rmlui/4.x/patches/4.3-fix-cmake-targets-and-config.patch b/recipes/rmlui/4.x/patches/4.3-fix-cmake-targets-and-config.patch new file mode 100644 index 0000000000000..ed5a7e097948b --- /dev/null +++ b/recipes/rmlui/4.x/patches/4.3-fix-cmake-targets-and-config.patch @@ -0,0 +1,82 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -328,15 +328,13 @@ + message(WARNING "You are using FreeType version 2.11.0 which introduced an issue that causes a crash on startup on some of the samples. Please avoid this version specifically.") + endif() + +- list(APPEND CORE_LINK_LIBS ${FREETYPE_LIBRARIES}) +- list(APPEND CORE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS}) ++ list(APPEND CORE_LINK_LIBS freetype) + endif() + + # Lua + if(BUILD_LUA_BINDINGS) +- find_package(Lua REQUIRED) +- list(APPEND LUA_BINDINGS_INCLUDE_DIRS ${LUA_INCLUDE_DIR}) +- list(APPEND LUA_BINDINGS_LINK_LIBS ${LUA_LIBRARIES}) ++ find_package(lua REQUIRED CONFIG) ++ list(APPEND LUA_BINDINGS_LINK_LIBS lua::lua) + endif() + + # rlottie +@@ -442,6 +440,10 @@ + if( MATRIX_ROW_MAJOR ) + list(APPEND CORE_PUBLIC_DEFS -DRMLUI_MATRIX_ROW_MAJOR) + endif () ++if ( NOT NO_THIRDPARTY_CONTAINERS ) ++ find_package(robin_hood REQUIRED) ++ target_link_libraries(RmlCore robin_hood::robin_hood) ++endif() + if( CUSTOM_CONFIGURATION AND CUSTOM_LINK_LIBRARIES ) + target_link_libraries(RmlCore PUBLIC ${CUSTOM_LINK_LIBRARIES}) + endif () +@@ -895,49 +897,3 @@ + ) + endif() + endif() +- +-#=================================== +-# Generate Config.cmake files ====== +-#=================================== +- +-# Try to include helper module +-include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE PkgHelpers_AVAILABLE) +- +-# guard against older versions of cmake which do not provide it +-if(PkgHelpers_AVAILABLE) +- set (INCLUDE_INSTALL_DIR "include") +- set (LIB_INSTALL_DIR "lib") +- set (INCLUDE_DIR "${PROJECT_SOURCE_DIR}/Include") +- +- # generate configuration for install tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.install.in +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- INSTALL_DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake +- PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake ) +- install(EXPORT RmlUiTargets +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake) +- +- # generate configuration for build tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.build.in +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfig.cmake +- INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR} +- PATH_VARS INCLUDE_DIR CMAKE_CURRENT_BINARY_DIR) +- export(TARGETS ${RMLUI_EXPORTED_TARGETS} +- FILE "${CMAKE_CURRENT_BINARY_DIR}/RmlUiTargets.cmake") +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- set(RmlUi_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "The directory containing a CMake configuration file for RmlUi.") +-else() +- message("If you wish to use find_package(RmlUi) in your own project to find RmlUi library" +- " please update cmake to version which provides CMakePackageConfighelpers module" +- " or write generators for RmlUiConfig.cmake by yourself.") +-endif() diff --git a/recipes/rmlui/4.x/patches/4.4-fix-cmake-targets-and-config.patch b/recipes/rmlui/4.x/patches/4.4-fix-cmake-targets-and-config.patch new file mode 100644 index 0000000000000..7aad2d5041e22 --- /dev/null +++ b/recipes/rmlui/4.x/patches/4.4-fix-cmake-targets-and-config.patch @@ -0,0 +1,82 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -328,15 +328,13 @@ + message(WARNING "You are using FreeType version 2.11.0 which introduced an issue that causes a crash on startup on some of the samples. Please avoid this version specifically.") + endif() + +- list(APPEND CORE_LINK_LIBS ${FREETYPE_LIBRARIES}) +- list(APPEND CORE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS}) ++ list(APPEND CORE_LINK_LIBS freetype) + endif() + + # Lua + if(BUILD_LUA_BINDINGS) +- find_package(Lua REQUIRED) +- list(APPEND LUA_BINDINGS_INCLUDE_DIRS ${LUA_INCLUDE_DIR}) +- list(APPEND LUA_BINDINGS_LINK_LIBS ${LUA_LIBRARIES}) ++ find_package(lua REQUIRED CONFIG) ++ list(APPEND LUA_BINDINGS_LINK_LIBS lua::lua) + endif() + + # rlottie +@@ -442,6 +440,10 @@ + if( MATRIX_ROW_MAJOR ) + list(APPEND CORE_PUBLIC_DEFS -DRMLUI_MATRIX_ROW_MAJOR) + endif () ++if ( NOT NO_THIRDPARTY_CONTAINERS ) ++ find_package(robin_hood REQUIRED) ++ target_link_libraries(RmlCore PUBLIC robin_hood::robin_hood) ++endif() + if( CUSTOM_CONFIGURATION AND CUSTOM_LINK_LIBRARIES ) + target_link_libraries(RmlCore PUBLIC ${CUSTOM_LINK_LIBRARIES}) + endif () +@@ -909,49 +911,3 @@ + ) + endif() + endif() +- +-#=================================== +-# Generate Config.cmake files ====== +-#=================================== +- +-# Try to include helper module +-include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE PkgHelpers_AVAILABLE) +- +-# guard against older versions of cmake which do not provide it +-if(PkgHelpers_AVAILABLE) +- set (INCLUDE_INSTALL_DIR "include") +- set (LIB_INSTALL_DIR "lib") +- set (INCLUDE_DIR "${PROJECT_SOURCE_DIR}/Include") +- +- # generate configuration for install tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.install.in +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- INSTALL_DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake +- PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfig.cmake +- ${CMAKE_CURRENT_BINARY_DIR}/install/RmlUiConfigVersion.cmake +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake ) +- install(EXPORT RmlUiTargets +- DESTINATION ${LIB_INSTALL_DIR}/RmlUi/cmake) +- +- # generate configuration for build tree +- configure_package_config_file(${PROJECT_SOURCE_DIR}/CMake/RmlUiConfig.cmake.build.in +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfig.cmake +- INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR} +- PATH_VARS INCLUDE_DIR CMAKE_CURRENT_BINARY_DIR) +- export(TARGETS ${RMLUI_EXPORTED_TARGETS} +- FILE "${CMAKE_CURRENT_BINARY_DIR}/RmlUiTargets.cmake") +- write_basic_package_version_file( +- ${CMAKE_CURRENT_BINARY_DIR}/RmlUiConfigVersion.cmake +- VERSION ${PROJECT_VERSION} +- COMPATIBILITY SameMajorVersion ) +- set(RmlUi_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "The directory containing a CMake configuration file for RmlUi.") +-else() +- message("If you wish to use find_package(RmlUi) in your own project to find RmlUi library" +- " please update cmake to version which provides CMakePackageConfighelpers module" +- " or write generators for RmlUiConfig.cmake by yourself.") +-endif() diff --git a/recipes/rmlui/4.x/test_package/CMakeLists.txt b/recipes/rmlui/4.x/test_package/CMakeLists.txt index a4e52d4d781fe..e73da164625e9 100644 --- a/recipes/rmlui/4.x/test_package/CMakeLists.txt +++ b/recipes/rmlui/4.x/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(rmlui REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) -target_compile_Features(${PROJECT_NAME} PRIVATE cxx_std_14) -target_link_libraries(${PROJECT_NAME} rmlui::rmlui) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +target_link_libraries(${PROJECT_NAME} PRIVATE rmlui::rmlui) diff --git a/recipes/rmlui/4.x/test_package/conanfile.py b/recipes/rmlui/4.x/test_package/conanfile.py index dd013f432a8f6..e5cc6d82624f5 100644 --- a/recipes/rmlui/4.x/test_package/conanfile.py +++ b/recipes/rmlui/4.x/test_package/conanfile.py @@ -1,11 +1,22 @@ +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 ConanRmluiTestConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def configure(self): + self.options[self.tested_reference_str].with_thirdparty_containers = True + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +24,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rmlui/4.x/test_v1_package/CMakeLists.txt b/recipes/rmlui/4.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..e8b0466c90698 --- /dev/null +++ b/recipes/rmlui/4.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +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/rmlui/4.x/test_v1_package/conanfile.py b/recipes/rmlui/4.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..bfe2d3a5c6032 --- /dev/null +++ b/recipes/rmlui/4.x/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, RunEnvironment, tools +from conan.tools.build import cross_building +import os + +# legacy validation with Conan 1.x +class ConanRmluiTestV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From f320cf06b36f17e43c85de7a8dd8e4ef665b0484 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Sat, 6 May 2023 09:02:05 +0200 Subject: [PATCH 0164/4087] (#17415) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index cf9833088edb2..c3340fdae5302 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -3,6 +3,7 @@ required_for_references: - aaplus - abseil - access_private +- ada - ade - alac - alpaca @@ -15,13 +16,18 @@ required_for_references: - apriltag - arduinojson - arg_router +- args-parser +- arsenalgear - asio - asmjit - async_simple - autoconf - automake - aws-c-common +- aws-checksums - b2 +- b64 +- backward-cpp - benchmark - bison - bitflags @@ -30,18 +36,21 @@ required_for_references: - boost - boost-leaf - brotli +- brynet - bullet3 - bzip2 - bzip3 - c-ares - c-blosc2 - c4core +- caf - catch2 - ccache - cctz - celero - cereal - ceres-solver +- cfgfile - cfitsio - cgif - cgns @@ -50,6 +59,7 @@ required_for_references: - civetweb - clhep - cli11 +- clove-unit - cmake - coin-cgl - coin-clp @@ -59,9 +69,12 @@ required_for_references: - commata - cpp-httplib - cpp-jwt +- cpp-optparse - cpp-peglib +- cppbenchmark - cppcheck - cppcodec +- cpu_features - cpuinfo - crc32c - cryptopp @@ -78,6 +91,7 @@ required_for_references: - daw_utf_range - dbus - dirent +- dlpack - doctest - double-conversion - doxygen @@ -101,6 +115,7 @@ required_for_references: - fakeit - farmhash - fast-cdr +- fast-dds - fast_float - ffmpeg - fft @@ -111,6 +126,7 @@ required_for_references: - flex - fmt - fontconfig +- foonathan-lexy - foonathan-memory - fp16 - freeglut @@ -143,14 +159,18 @@ required_for_references: - gnutls - googleapis - gperf +- grpc - grpc-proto - gsl - gsl-lite +- gsoap - gtest - gtk - gurkenlaeufer +- h3 - harfbuzz - hdf5 +- hdrhistogram-c - hidapi - highfive - highway @@ -192,10 +212,13 @@ required_for_references: - libatomic_ops - libattr - libbacktrace +- libbigwig +- libbsd - libcap - libcbor - libcds - libconfuse +- libcuckoo - libcurl - libde265 - libdeflate @@ -237,6 +260,7 @@ required_for_references: - libpqxx - libpsl - libqrencode +- librealsense - libressl - librttopo - libsamplerate @@ -247,6 +271,9 @@ required_for_references: - libsodium - libspatialindex - libspng +- libsrtp +- libsvtav1 +- libsystemd - libtar - libtasn1 - libtiff @@ -267,6 +294,7 @@ required_for_references: - libxml2 - libxslt - libyuv +- libzen - libzip - lief - linux-syscall-support @@ -298,6 +326,7 @@ required_for_references: - msgpack-cxx - msys2 - namedtype +- nameof - nanoflann - nanorange - nas @@ -307,6 +336,7 @@ required_for_references: - ninja - nlohmann_json - nng +- nodejs - nsync - nuraft - odbc @@ -314,6 +344,7 @@ required_for_references: - ogg - onetbb - onnx +- onnxruntime - openal - openal-soft - openapi-generator @@ -329,6 +360,7 @@ required_for_references: - openssl - optional-lite - opus +- opusfile - osqp - out_ptr - paho-mqtt-c @@ -343,6 +375,7 @@ required_for_references: - picojson - pkgconf - poco +- popt - proj - proposal - protobuf @@ -363,9 +396,12 @@ required_for_references: - rapidfuzz - rapidjson - rapidxml +- rapidyaml - re2 - readerwriterqueue - readosm +- restbed +- restinio - roaring - robin-hood-hashing - rttr @@ -382,6 +418,8 @@ required_for_references: - simdjson - simdutf - snappy +- soci +- soplex - soxr - span-lite - spdlog @@ -399,6 +437,7 @@ required_for_references: - tabulate - taocpp-pegtl - tcb-span +- tcl - tensorflow-lite - tensorpipe - termcap @@ -429,6 +468,7 @@ required_for_references: - vtu11 - vulkan-headers - vulkan-loader +- vulkan-validationlayers - wasmtime - wasmtime-cpp - wayland @@ -440,10 +480,12 @@ required_for_references: - wolfssl - wslay - wt +- wtl - xapian-core - xerces-c - xkbcommon - xkeyboard-config +- xmlsec - xnnpack - xorg - xorg-cf-files @@ -451,6 +493,7 @@ required_for_references: - xorg-macros - xorg-makedepend - xorg-proto +- xoshiro-cpp - xsimd - xtensor - xtl From ffe3aa901fbbfafa3914f6b2048925a22fba1799 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 6 May 2023 09:22:07 +0200 Subject: [PATCH 0165/4087] (#17402) [docs] Update changelog 04-May-2023 --- docs/changelog.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 62a25b67a3124..1f0425119cede 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,15 @@ # Changelog +### 04-May-2023 - 16:05 CEST + +- [bugfix] Fix cppstd issues when selecting the value to use in profiles. +- [feature] Add support for raising `InvalidConfiguration` in `validate_build()` method in recipes. +- [feature] Update library requirements for Conan client 2.0.4 +- [feature] Inform users when Conan v2 CI build is mandatory for merging. +- [feature] Implement different "under maintenance" levels: OFF, MINOR, MAJOR, CRITICAL. +- [feature] ValidateInfrastrucure: Check Artifactory repos exist. +- [feature] Move variables to new folder properties approach. + ### 12-April-2023 - 16:18 CEST - [feature] Add ListPackages job the posibility to update a list via PR From 2e9eb798d56ff2c29a399d3febb53097fbd56906 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 6 May 2023 02:43:50 -0500 Subject: [PATCH 0166/4087] (#17315) boost: Use the sysroot conf variable * boost: Use the sysroot conf variable This allows cross-compiling the Boost recipe. Related to issue #16051. * Convert backslashes to forward slashes in the sysroot flag Don't use the `--sysroot` flag when the compiler is msvc. * Quote the sysroot path if it contains spaces * Only sanitize sysroot when it is not None --- recipes/boost/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 846714ef0e150..d845fca4e54da 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1276,6 +1276,13 @@ def create_library_config(deps_name, name): ldflags = " ".join(self.conf.get("tools.build:sharedlinkflags", default=[], check_type=list)) + " " asflags = buildenv_vars.get("ASFLAGS", "") + " " + sysroot = self.conf.get("tools.build:sysroot") + if sysroot and not is_msvc(self): + sysroot = sysroot.replace("\\", "/") + sysroot = f'"{sysroot}"' if ' ' in sysroot else sysroot + cppflags += f"--sysroot={sysroot} " + ldflags += f"--sysroot={sysroot} " + if self._with_stacktrace_backtrace: backtrace_aggregated_cpp_info = self.dependencies["libbacktrace"].cpp_info.aggregated_components() cppflags += " ".join(f"-I{p}" for p in backtrace_aggregated_cpp_info.includedirs) + " " From 36d6eb8ca1dc0f850eb8b0e9bb1f1b9d56fe3798 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 6 May 2023 11:03:09 +0200 Subject: [PATCH 0167/4087] (#17421) onnx: add version 1.14.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 57f5f55435613..7a261fa84daf5 100644 --- a/recipes/onnx/all/conandata.yml +++ b/recipes/onnx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.0": + url: "https://github.com/onnx/onnx/archive/v1.14.0.tar.gz" + sha256: "1b02ad523f79d83f9678c749d5a3f63f0bcd0934550d5e0d7b895f9a29320003" "1.13.1": url: "https://github.com/onnx/onnx/archive/refs/tags/v1.13.1.tar.gz" sha256: "090d3e10ec662a98a2a72f1bf053f793efc645824f0d4b779e0ce47468a0890e" diff --git a/recipes/onnx/config.yml b/recipes/onnx/config.yml index 0e1a1dc106800..553b17a4b40e9 100644 --- a/recipes/onnx/config.yml +++ b/recipes/onnx/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.0": + folder: all "1.13.1": folder: all "1.12.0": From 58a3d4637025db740dc08fb01d9963f8c42d9c9f Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 6 May 2023 04:47:27 -0500 Subject: [PATCH 0168/4087] (#17350) libuuid/1.0.3: Fix missing include for the sys/file.h header This fixes compilation when using Clang 16. Due to the removal of support for implicit declarations, libuuid fails to build due to an issue where the `` header is not included. Specifically, the `flock` function requires ` to be included. Since the compiler preprocessor macro `HAVE_SYS_FILE_H` is not defined, that header is not included. This worked previously since the compiler assumed that is was an implicit function declaration. Defining the macro on the necessary platforms solves the issue. --- recipes/libuuid/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/libuuid/all/conanfile.py b/recipes/libuuid/all/conanfile.py index 6de5bf2a00bf5..7d995adb8138c 100644 --- a/recipes/libuuid/all/conanfile.py +++ b/recipes/libuuid/all/conanfile.py @@ -28,6 +28,10 @@ class LibuuidConan(ConanFile): "fPIC": True, } + @property + def _has_sys_file_header(self): + return self.settings.os in ["FreeBSD", "Linux", "Macos"] + def export_sources(self): export_conandata_patches(self) @@ -58,6 +62,8 @@ def generate(self): env = VirtualBuildEnv(self) env.generate() tc = AutotoolsToolchain(self) + if self._has_sys_file_header: + tc.extra_defines.append("HAVE_SYS_FILE_H") if "x86" in self.settings.arch: tc.extra_cflags.append("-mstackrealign") tc.generate() From 1cb74ff97dff2f3cde13fca57faf0c8bac3e05f7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 6 May 2023 12:22:15 +0200 Subject: [PATCH 0169/4087] (#17365) norm: add package_type + bump deps + small patch to fix compilation with apple-clang & C++20 * fix build error with C++20 * add package_type * bump libxml2 --- recipes/norm/all/conandata.yml | 3 +++ recipes/norm/all/conanfile.py | 4 ++-- recipes/norm/all/patches/0003-cpp20-compat.patch | 11 +++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 recipes/norm/all/patches/0003-cpp20-compat.patch diff --git a/recipes/norm/all/conandata.yml b/recipes/norm/all/conandata.yml index 84742a26f918f..7e6037b74502b 100644 --- a/recipes/norm/all/conandata.yml +++ b/recipes/norm/all/conandata.yml @@ -6,3 +6,6 @@ patches: "1.5.9": - patch_file: "patches/0001-fix-pthread.patch" - patch_file: "patches/0002-fix-fpic.patch" + - patch_file: "patches/0003-cpp20-compat.patch" + patch_description: "C++20 compatibility: Fix ambiguous overloaded operator ==" + patch_type: "portability" diff --git a/recipes/norm/all/conanfile.py b/recipes/norm/all/conanfile.py index 8a6e8274f50f0..0a0ac61c170c3 100644 --- a/recipes/norm/all/conanfile.py +++ b/recipes/norm/all/conanfile.py @@ -13,7 +13,7 @@ class NormConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.nrl.navy.mil/itd/ncs/products/norm" license = "NRL" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.10.3") # dependency of protolib actually + self.requires("libxml2/2.10.4") # dependency of protolib actually def source(self): get(self, **self.conan_data["sources"][self.version]) diff --git a/recipes/norm/all/patches/0003-cpp20-compat.patch b/recipes/norm/all/patches/0003-cpp20-compat.patch new file mode 100644 index 0000000000000..6603e3d9c09bf --- /dev/null +++ b/recipes/norm/all/patches/0003-cpp20-compat.patch @@ -0,0 +1,11 @@ +--- a/src/common/normNode.cpp ++++ b/src/common/normNode.cpp +@@ -1621,7 +1621,7 @@ void NormSenderNode::HandleObjectMessage(const NormObjectMsg& msg) + { + // The hacky use of "sync_id" here keeps the debug message from + // printing too often while "waiting to sync" ... +- if (0 == sync_id) ++ if (0 == (UINT16)sync_id) + { + PLOG(PL_ERROR, "NormSenderNode::HandleObjectMessage() waiting to sync ...\n"); + sync_id = 100; From 343d9ca8cbb17a48c2202171fdb0c9f5b529abac Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 6 May 2023 22:44:42 +0200 Subject: [PATCH 0170/4087] (#17092) libzip: add package_type + bump dependencies * bump dependencies * add package_type * use version range for openssl --- recipes/libzip/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index ecd458a3e00e3..466b104bf29b9 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -15,7 +15,7 @@ class LibZipConan(ConanFile): 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" options = { "shared": [True, False], @@ -68,13 +68,13 @@ def requirements(self): self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.get_safe("with_zstd"): - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") if self.options.crypto == "openssl": - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") elif self.options.crypto == "mbedtls": self.requires("mbedtls/3.2.1") From 25bc1ddee29648c988508c853fcd9a628d812891 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 6 May 2023 23:24:37 +0200 Subject: [PATCH 0171/4087] (#17085) libtorrent: bump openssl * bump openssl * use version range for openssl & cmake * more elegant version range for cmake * Revert "more elegant version range for cmake" This reverts commit 883987976359c240dc1f82155a669a9b37802d07. * Revert "Revert "more elegant version range for cmake"" This reverts commit a4a373b357ef119d968af0207558b214caf9bc94. * remove _cmake_new_enough * upper bound --- recipes/libtorrent/all/conanfile.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/recipes/libtorrent/all/conanfile.py b/recipes/libtorrent/all/conanfile.py index b4c2ef19ba081..f21e595615c63 100644 --- a/recipes/libtorrent/all/conanfile.py +++ b/recipes/libtorrent/all/conanfile.py @@ -88,7 +88,7 @@ def requirements(self): else: self.requires("boost/1.76.0", transitive_headers=True) if self.options.enable_encryption: - self.requires("openssl/1.1.1t", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) if self.options.enable_iconv: self.requires("libiconv/1.17") @@ -106,20 +106,9 @@ def validate(self): (self.dependencies["boost"].options.header_only or self.dependencies["boost"].options.without_system): raise ConanInvalidConfiguration(f"{self.ref} requires boost with system, which is non-header only in boost < 1.69.0") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "2.0.4" and not self._cmake_new_enough("3.16.0"): - self.tool_requires("cmake/3.25.3") + if Version(self.version) >= "2.0.4": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 205b4bc397860d83d0a18cbd2cd190309bedfeb1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 May 2023 17:42:32 +0900 Subject: [PATCH 0172/4087] (#17432) daw_json_link: update daw_header_libraries --- recipes/daw_json_link/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index 0d033ee3520a2..8aa6c28e920ef 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.85.1") + self.requires("daw_header_libraries/2.88.0") self.requires("daw_utf_range/2.2.3") def package_id(self): From 63b887d9f1195498235b618af0ce623e4a5d0847 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 7 May 2023 17:21:39 +0300 Subject: [PATCH 0173/4087] (#17438) onetbb: bump to 2021.9.0 --- recipes/onetbb/all/conandata.yml | 3 +++ recipes/onetbb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/onetbb/all/conandata.yml b/recipes/onetbb/all/conandata.yml index 8aa96163617d7..8839ace156f3f 100644 --- a/recipes/onetbb/all/conandata.yml +++ b/recipes/onetbb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2021.9.0": + url: "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.9.0.tar.gz" + sha256: "1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e" "2021.8.0": url: "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.8.0.tar.gz" sha256: "eee380323bb7ce864355ed9431f85c43955faaae9e9bce35c62b372d7ffd9f8b" diff --git a/recipes/onetbb/config.yml b/recipes/onetbb/config.yml index 3b166ba921ecf..7995868f434ad 100644 --- a/recipes/onetbb/config.yml +++ b/recipes/onetbb/config.yml @@ -1,4 +1,6 @@ versions: + "2021.9.0": + folder: all "2021.8.0": folder: all "2021.7.0": From 2811137ecda0b5d9858090209e9012cf9d752f00 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 8 May 2023 08:02:28 +0200 Subject: [PATCH 0174/4087] (#17419) [doc] Update supported platforms and configurations (2023-05-05) --- docs/supported_platforms_and_configurations.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/supported_platforms_and_configurations.md b/docs/supported_platforms_and_configurations.md index 30139c81d09f8..804e090fe3178 100644 --- a/docs/supported_platforms_and_configurations.md +++ b/docs/supported_platforms_and_configurations.md @@ -59,10 +59,10 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- ## Linux - Python: 3.7.13 -- CMake: 3.15.7, 3.18.2 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) +- CMake: 3.15.7 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) - Compilers: - - GCC versions: 5, 7, 9, 10, 11 - - Clang versions: 11, 12, 13 + - GCC versions: 11 + - Clang versions: - C++ Standard Library (`libcxx`): - GCC compiler: `libstdc++`, `libstdc++11` - Clang compiler: `libstdc++`, `libc++` @@ -76,9 +76,9 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Python: 3.7.12 - CMake: 3.20.1 -- Compilers: Apple-clang versions 11.0.3, 12.0.5, 13.0.0 -- Macos SDK versions (for each apple-clang version respectively): 10.15, 11.3 -- Macos deployment target (`minos`): 10.15, 11.0, 11.3 +- Compilers: Apple-clang versions 13.0.0 +- Macos SDK versions (for each apple-clang version respectively): 11.3 +- Macos deployment target (`minos`): 11.0 - C++ Standard Library (`libcxx`): `libc++` - Architectures: x86_64, armv8 - Build types: Release, Debug From 227d68239711089cbacacf85e4e1486f9d447b13 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Mon, 8 May 2023 02:05:31 -0700 Subject: [PATCH 0175/4087] (#16678) openvc: 4.x modernize more for conan v2 * openvc: 4.x bump libwebp * v2: disable ffmpeg * chore: disable ffmpeg more * chore: use `self.dependencies["gtk"].options.version` * fixup: protobuf symbols are exposed * add dnn componment when option is enabled * opencv: restore ffmpeg and fixes for conan 2.0 --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/opencv/4.x/conanfile.py | 16 ++++++++-------- recipes/opencv/4.x/test_package/CMakeLists.txt | 4 ++++ recipes/opencv/4.x/test_package/conanfile.py | 1 + recipes/opencv/4.x/test_v1_package/conanfile.py | 1 + 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index bc47b9d740314..b34e8e76955fb 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -207,7 +207,7 @@ def requirements(self): if self.options.with_ipp == "intel-ipp": self.requires("intel-ipp/2020") if self.options.with_webp: - self.requires("libwebp/1.2.4") + self.requires("libwebp/1.3.0") if self.options.get_safe("contrib_freetype"): self.requires("freetype/2.12.1") self.requires("harfbuzz/6.0.0") @@ -219,7 +219,8 @@ def requirements(self): if self.options.get_safe("with_gtk"): self.requires("gtk/system") if self.options.dnn: - self.requires(f"protobuf/{self._protobuf_version}") + # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16678#issuecomment-1507811867 + self.requires(f"protobuf/{self._protobuf_version}", transitive_libs=True) if self.options.with_ade: self.requires("ade/0.1.2a") @@ -244,8 +245,7 @@ def build_requirements(self): self.tool_requires(f"protobuf/{self._protobuf_version}") def source(self): - get(self, **self.conan_data["sources"][self.version][0], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version][0], strip_root=True) get(self, **self.conan_data["sources"][self.version][1], destination=self._contrib_folder, strip_root=True) @@ -371,9 +371,9 @@ def generate(self): tc.variables["OPENCV_FFMPEG_USE_FIND_PACKAGE"] = "ffmpeg" tc.variables["OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT"] = False tc.variables["FFMPEG_LIBRARIES"] = "ffmpeg::avcodec;ffmpeg::avformat;ffmpeg::avutil;ffmpeg::swscale" - for component in ["avcodec", "avformat", "avutil", "swscale", "avresample"]: - # TODO: use self.dependencies once https://github.com/conan-io/conan/issues/12728 fixed - ffmpeg_component_version = self.deps_cpp_info["ffmpeg"].components[component].version + ffmpeg_cpp_info = self.dependencies["ffmpeg"].cpp_info + for component in ["avcodec", "avformat", "avutil", "swscale"]: + ffmpeg_component_version = ffmpeg_cpp_info.components[component].get_property("component_version") tc.variables[f"FFMPEG_lib{component}_VERSION"] = ffmpeg_component_version tc.variables["WITH_GSTREAMER"] = False @@ -540,7 +540,7 @@ def _is_gtk_version2(self): return False gtk_version = self.dependencies["gtk"].ref.version if gtk_version == "system": - return self.options["gtk"].version == 2 + return self.dependencies["gtk"].options.version == 2 else: return Version(gtk_version) < "3.0.0" diff --git a/recipes/opencv/4.x/test_package/CMakeLists.txt b/recipes/opencv/4.x/test_package/CMakeLists.txt index 590e6c1b43a32..e49280ad955c0 100644 --- a/recipes/opencv/4.x/test_package/CMakeLists.txt +++ b/recipes/opencv/4.x/test_package/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) +option(built_dnn "Enabled if opencv is built dnn" OFF) option(built_with_ade "Enabled if opencv is built with ade" OFF) option(built_with_ffmpeg "Enabled if opencv is built with ffmpeg" OFF) option(built_contrib_sfm "Enabled if opencv is built contrib sfm" OFF) @@ -17,6 +18,9 @@ target_link_libraries(${PROJECT_NAME} PRIVATE $ ) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(built_dnn) + target_link_libraries(${PROJECT_NAME} PRIVATE opencv_dnn) +endif() if(built_with_ade) target_compile_definitions(${PROJECT_NAME} PRIVATE BUILT_WITH_ADE) endif() diff --git a/recipes/opencv/4.x/test_package/conanfile.py b/recipes/opencv/4.x/test_package/conanfile.py index 8cbff65ecd5a3..5d9136c00ec0e 100644 --- a/recipes/opencv/4.x/test_package/conanfile.py +++ b/recipes/opencv/4.x/test_package/conanfile.py @@ -17,6 +17,7 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) + tc.variables["built_dnn"] = self.dependencies["opencv"].options.dnn tc.variables["built_with_ade"] = self.dependencies["opencv"].options.with_ade tc.variables["built_with_ffmpeg"] = self.dependencies["opencv"].options.with_ffmpeg tc.variables["built_contrib_sfm"] = self.dependencies["opencv"].options.contrib and self.dependencies["opencv"].options.contrib_sfm diff --git a/recipes/opencv/4.x/test_v1_package/conanfile.py b/recipes/opencv/4.x/test_v1_package/conanfile.py index 1c034b84e089a..dc9799aa32b63 100644 --- a/recipes/opencv/4.x/test_v1_package/conanfile.py +++ b/recipes/opencv/4.x/test_v1_package/conanfile.py @@ -8,6 +8,7 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) + cmake.definitions["built_dnn"] = self.options["opencv"].dnn cmake.definitions["built_with_ade"] = self.options["opencv"].with_ade cmake.definitions["built_with_ffmpeg"] = self.options["opencv"].with_ffmpeg cmake.definitions["built_contrib_sfm"] = self.options["opencv"].contrib and self.options["opencv"].contrib_sfm From ff6b6f2c46bed9ed611037125996da4a1e9f883d Mon Sep 17 00:00:00 2001 From: Sil3ntStorm Date: Mon, 8 May 2023 11:42:10 +0200 Subject: [PATCH 0176/4087] (#17454) Update abseil to 20230125.3 --- recipes/abseil/all/conandata.yml | 7 +++++++ recipes/abseil/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index ae22ede2e85ee..26d7ab5e3cd64 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20230125.3": + url: "https://github.com/abseil/abseil-cpp/archive/20230125.3.tar.gz" + sha256: "5366D7E7FA7BA0D915014D387B66D0D002C03236448E1BA9EF98122C13B35C36" "20230125.2": url: "https://github.com/abseil/abseil-cpp/archive/20230125.2.tar.gz" sha256: "9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906" @@ -27,6 +30,10 @@ sources: url: "https://github.com/abseil/abseil-cpp/archive/20200225.3.tar.gz" sha256: "66d4d009050f39c104b03f79bdca9d930c4964016f74bf24867a43fbdbd00d23" patches: + "20230125.3": + - patch_file: "patches/0003-absl-string-libm.patch" + patch_description: "link libm to absl string" + patch_type: "portability" "20230125.2": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" diff --git a/recipes/abseil/config.yml b/recipes/abseil/config.yml index f8279dbcea805..b44abb830b77f 100644 --- a/recipes/abseil/config.yml +++ b/recipes/abseil/config.yml @@ -1,4 +1,6 @@ versions: + "20230125.3": + folder: all "20230125.2": folder: all "20230125.1": From 6a34c2d97328f3e2bd4efdaa7423c2ac3d2ec7a8 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Mon, 8 May 2023 05:02:18 -0700 Subject: [PATCH 0177/4087] (#17377) docs: using openssl version range with 1.x clients add a small warning as a disclaimer --- docs/adding_packages/dependencies.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index 38ea372bc59a6..a45c6c0f3c31c 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -168,20 +168,26 @@ for consumer, we do impose some limits on Conan features to provide a smoother f > **Note**: These are very specific to the ConanCenter being the default remote and may not be relevant to your specifc use case. -* [Version ranges](https://docs.conan.io/1/versioning/version_ranges.html) are not allowed. +* [Version ranges](https://docs.conan.io/1/versioning/version_ranges.html) are generally not allowed (see below for exemption). * Specify explicit [RREV](https://docs.conan.io/1/versioning/revisions.html) (recipe revision) of dependencies is not allowed. * Only ConanCenter recipes are allowed in `requires`/`requirements()` and `build_requires`/`build_requirements()`. * [`python_requires`](https://docs.conan.io/1/reference/conanfile/other.html#python-requires) are not allowed. ### Version Ranges -Version ranges are a useful Conan feature, [documentation here](https://docs.conan.io/1/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: +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: + * 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. -Conan maintainers may introduce this for other dependencies over time. +> **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 +> can user the defunct `--require-override openssl/1.1.1t@` from the command line, or override from the recipe with `self.requires(openssl/1.1.1t, override=True)` +> to ensure a lower version is picked. -Outside of the cases outlined above, version ranges are not allowed in ConanCenter recipes. +Conan maintainers may introduce this for other dependencies over time. Outside of the cases outlined above, version ranges are not allowed in ConanCenter recipes. ## Handling "internal" dependencies From 35f89396d3d39a999fdc882deda8b2265bbc58f4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 8 May 2023 14:43:31 +0200 Subject: [PATCH 0178/4087] (#17178) ginkgo: conan v2 support --- recipes/ginkgo/all/CMakeLists.txt | 7 -- recipes/ginkgo/all/conandata.yml | 4 - recipes/ginkgo/all/conanfile.py | 105 ++++++++---------- .../ginkgo/all/test_package/CMakeLists.txt | 11 +- recipes/ginkgo/all/test_package/conanfile.py | 19 +++- .../ginkgo/all/test_v1_package/CMakeLists.txt | 8 ++ .../ginkgo/all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 87 insertions(+), 84 deletions(-) delete mode 100644 recipes/ginkgo/all/CMakeLists.txt create mode 100644 recipes/ginkgo/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ginkgo/all/test_v1_package/conanfile.py diff --git a/recipes/ginkgo/all/CMakeLists.txt b/recipes/ginkgo/all/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/ginkgo/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/ginkgo/all/conandata.yml b/recipes/ginkgo/all/conandata.yml index 80b4abc10b2df..1b82b82c2ec35 100644 --- a/recipes/ginkgo/all/conandata.yml +++ b/recipes/ginkgo/all/conandata.yml @@ -8,10 +8,6 @@ sources: patches: "1.4.0": - patch_file: "patches/windows-symbols.patch" - base_path: "source_subfolder" "1.3.0": - patch_file: "patches/cmake-fixes.patch" - base_path: "source_subfolder" - patch_file: "patches/windows-iterator.patch" - base_path: "source_subfolder" - diff --git a/recipes/ginkgo/all/conanfile.py b/recipes/ginkgo/all/conanfile.py index 759ce0c647076..89838bc8bd072 100644 --- a/recipes/ginkgo/all/conanfile.py +++ b/recipes/ginkgo/all/conanfile.py @@ -1,9 +1,13 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.54.0" class GinkgoConan(ConanFile): @@ -16,7 +20,7 @@ class GinkgoConan(ConanFile): "focus on sparse solution of linear systems." ) topics = ("hpc", "linear-algebra") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -31,39 +35,23 @@ class GinkgoConan(ConanFile): "cuda": False, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - @property - def _minimum_cpp_standard(self): - return 14 + def _min_cppstd(self): + return "14" @property def _minimum_compilers_version(self): return { "Visual Studio": "16", + "msvc": "192", "gcc": "5.4", "clang": "3.9", "apple-clang": "10.0", - "intel": "18" + "intel": "18", } 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": @@ -71,11 +59,14 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -86,51 +77,43 @@ def loose_lt_semver(v1, v2): minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): raise ConanInvalidConfiguration( - "{} requires C++{} support. The current compiler {} {} does not support it.".format( - self.name, self._minimum_cpp_standard, - self.settings.compiler, self.settings.compiler.version - ) + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if self.options.shared and self._is_msvc and "MT" in msvc_runtime_flag(self): + if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( "Ginkgo does not support mixing static CRT and shared library" ) 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["GINKGO_BUILD_TESTS"] = False - self._cmake.definitions["GINKGO_BUILD_EXAMPLES"] = False - self._cmake.definitions["GINKGO_BUILD_BENCHMARKS"] = False - self._cmake.definitions["GINKGO_DEVEL_TOOLS"] = False - self._cmake.definitions["GINKGO_BUILD_REFERENCE"] = True - self._cmake.definitions["GINKGO_BUILD_OMP"] = self.options.openmp - self._cmake.definitions["GINKGO_BUILD_CUDA"] = self.options.cuda - self._cmake.definitions["GINKGO_BUILD_HIP"] = False - self._cmake.definitions["GINKGO_BUILD_DPCPP"] = False - self._cmake.definitions["GINKGO_BUILD_HWLOC"] = False - self._cmake.definitions["BUILD_SHARED_LIBS"] = self.options.shared - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["GINKGO_BUILD_TESTS"] = False + tc.variables["GINKGO_BUILD_EXAMPLES"] = False + tc.variables["GINKGO_BUILD_BENCHMARKS"] = False + tc.variables["GINKGO_DEVEL_TOOLS"] = False + tc.variables["GINKGO_BUILD_REFERENCE"] = True + tc.variables["GINKGO_BUILD_OMP"] = self.options.openmp + tc.variables["GINKGO_BUILD_CUDA"] = self.options.cuda + tc.variables["GINKGO_BUILD_HIP"] = False + tc.variables["GINKGO_BUILD_DPCPP"] = False + tc.variables["GINKGO_BUILD_HWLOC"] = False + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - 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")) + 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", "Ginkgo") @@ -138,7 +121,7 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "ginkgo") debug_suffix = "d" if self.settings.build_type == "Debug" else "" - has_dpcpp_device = tools.Version(self.version) >= "1.4.0" + has_dpcpp_device = Version(self.version) >= "1.4.0" 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") diff --git a/recipes/ginkgo/all/test_package/CMakeLists.txt b/recipes/ginkgo/all/test_package/CMakeLists.txt index f3372b703d4f2..b153fe63054f5 100644 --- a/recipes/ginkgo/all/test_package/CMakeLists.txt +++ b/recipes/ginkgo/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(Ginkgo REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} Ginkgo::ginkgo) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14) +target_link_libraries(${PROJECT_NAME} PRIVATE Ginkgo::ginkgo) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/ginkgo/all/test_package/conanfile.py b/recipes/ginkgo/all/test_package/conanfile.py index 38f4483872d47..98ab55852ad56 100644 --- a/recipes/ginkgo/all/test_package/conanfile.py +++ b/recipes/ginkgo/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ginkgo/all/test_v1_package/CMakeLists.txt b/recipes/ginkgo/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/ginkgo/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ginkgo/all/test_v1_package/conanfile.py b/recipes/ginkgo/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/ginkgo/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 89c97b28ffbe6cb63b921665474c140e17c9b160 Mon Sep 17 00:00:00 2001 From: Antony Peacock Date: Mon, 8 May 2023 14:41:56 +0100 Subject: [PATCH 0179/4087] (#17456) Remove output.warn, no longer supported in Conan 2.0 * Remove output.warning, no longer supported in Conan 2.0 * Continues to assume complier support --- recipes/wg21-linear_algebra/all/conanfile.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipes/wg21-linear_algebra/all/conanfile.py b/recipes/wg21-linear_algebra/all/conanfile.py index 3744e3b10b91b..77b29cb972259 100644 --- a/recipes/wg21-linear_algebra/all/conanfile.py +++ b/recipes/wg21-linear_algebra/all/conanfile.py @@ -41,13 +41,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._minimum_cpp_standard) min_version = self._minimum_compilers_version.get(str(compiler)) - if not min_version: - self.output.warn(f"{self.name} recipe lacks information about the " - f"{compiler} compiler support.") - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires at least {compiler} {min_version}") + if min_version and Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration(f"{self.ref} requires at least {compiler} {min_version}") def layout(self): cmake_layout(self, src_folder="src") From 00f2eb68578c222aa25b5fd4d4db81b8c08f5d99 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 May 2023 00:22:52 +0900 Subject: [PATCH 0180/4087] (#17450) taskflow: add version 3.6.0, add package_type --- recipes/taskflow/all/conandata.yml | 3 +++ recipes/taskflow/all/conanfile.py | 9 ++++++--- recipes/taskflow/config.yml | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/recipes/taskflow/all/conandata.yml b/recipes/taskflow/all/conandata.yml index 8b83234e329ca..d4e7661550418 100644 --- a/recipes/taskflow/all/conandata.yml +++ b/recipes/taskflow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.0": + url: "https://github.com/taskflow/taskflow/archive/v3.6.0.tar.gz" + sha256: "5a1cd9cf89f93a97fcace58fd73ed2fc8ee2053bcb43e047acb6bc121c3edf4c" "3.5.0": url: "https://github.com/taskflow/taskflow/archive/v3.5.0.tar.gz" sha256: "33c44e0da7dfda694d2b431724d6c8fd25a889ad0afbb4a32e8da82e2e9c2a92" diff --git a/recipes/taskflow/all/conanfile.py b/recipes/taskflow/all/conanfile.py index ec7156468a894..7d914d16abb83 100644 --- a/recipes/taskflow/all/conanfile.py +++ b/recipes/taskflow/all/conanfile.py @@ -19,7 +19,8 @@ class TaskflowConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/taskflow/taskflow" - topics = ("tasking", "parallelism") + topics = ("tasking", "parallelism", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" short_paths = True @@ -72,8 +73,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) @@ -85,6 +85,9 @@ def package(self): dst=os.path.join(self.package_folder, "include", "taskflow")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "Taskflow") self.cpp_info.set_property("cmake_target_name", "Taskflow::Taskflow") if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/taskflow/config.yml b/recipes/taskflow/config.yml index bd7fbbad854e3..36b5f1772375b 100644 --- a/recipes/taskflow/config.yml +++ b/recipes/taskflow/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.0": + folder: all "3.5.0": folder: all "3.4.0": From 2be2be4d4c2ddb59ea3876f318abfc029c0215b2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 8 May 2023 19:22:13 +0200 Subject: [PATCH 0181/4087] (#17452) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index c3340fdae5302..4ea73e5e9a604 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -3,50 +3,98 @@ required_for_references: - aaplus - abseil - access_private +- acl - ada - ade +- aeron - alac - alpaca +- amgcl - amqp-cpp - android-ndk +- angelscript - antlr4-cppruntime +- any-lite +- anyrpc - approvaltests.cpp - apr - apr-util - apriltag +- arcus - arduinojson - arg_router +- argh +- argon2 +- argparse - args-parser +- argtable2 +- argtable3 - arsenalgear - asio - asmjit +- astc-codec - async_simple +- asyncplusplus +- audiofile - autoconf - automake +- avir - aws-c-common - aws-checksums - b2 - b64 +- backport-cpp - backward-cpp +- bacnet-stack +- baical-p7 +- base64 +- bdwgc +- bear - benchmark +- bertrand +- bigint +- binutils - bison +- bit-lite - bitflags +- bitmagic +- bitsery +- blaze - blend2d - bliss +- boolean-lite +- boolinq - boost +- boost-ext-ut - boost-leaf +- box2d +- brigand - brotli - brynet - bullet3 +- butteraugli +- bvdberg-ctest +- byte-lite - bzip2 - bzip3 - c-ares +- c-blosc - c-blosc2 +- c-client +- c-dbg-macro - c4core - caf +- cajun-jsonapi +- calceph +- canary +- canvas_ity +- capnproto +- capstone - catch2 - ccache +- cccl - cctz +- cd3-boost-unit-definitions - celero - cereal - ceres-solver @@ -55,18 +103,31 @@ required_for_references: - cgif - cgns - charls +- chef-fun +- chipmunk2d +- cimg +- circularbuffer +- cista - cityhash - civetweb +- cjson +- clara - clhep - cli11 +- clipper - clove-unit - cmake +- cmocka +- cmp +- cnpy - coin-cgl - coin-clp - coin-lemon - coin-osi - coin-utils - commata +- concurrencpp +- concurrentqueue - cpp-httplib - cpp-jwt - cpp-optparse @@ -88,6 +149,7 @@ required_for_references: - date - dav1d - daw_header_libraries +- daw_json_link - daw_utf_range - dbus - dirent @@ -337,6 +399,7 @@ required_for_references: - nlohmann_json - nng - nodejs +- norm - nsync - nuraft - odbc @@ -500,6 +563,7 @@ required_for_references: - xtrans - xxhash - xz_utils +- yajl - yaml-cpp - yasm - zeromq From 3aa819e25683a2e46471036b51ae768113869eef Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Tue, 9 May 2023 00:02:12 +0200 Subject: [PATCH 0182/4087] (#17462) (#17461) Perfetto: Bump v34.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 2748dc3d8f117..2fbc0e9ee87b3 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "34.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v34.0.tar.gz" + sha256: "81dbf2fac446a0389c80e309b2060dcccd926012ce2a61621a47e3e432aee8c1" "32.1": url: "https://github.com/google/perfetto/archive/refs/tags/v32.1.tar.gz" sha256: "0d1088b4758b3d5f3813178c6de22386329d42407d23aa1479f20dce96e49d78" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index dbeb493c74c3d..0c134a6c0d779 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "34.0": + folder: all "32.1": folder: all "31.0": From c2e01eb5701d974fd0a59f90e9a5ed6e2320936a Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Mon, 8 May 2023 15:43:53 -0700 Subject: [PATCH 0183/4087] (#17202) c-blosc2: remove cmake_new_enough MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * c-blosc2: remove cmake_new_enough * Update recipes/c-blosc2/all/conanfile.py Co-authored-by: Rubén Rincón Blanco --------- Co-authored-by: Rubén Rincón Blanco --- recipes/c-blosc2/all/conanfile.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 5bd6a12c47f4b..95efd9dcbcb1d 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -73,20 +73,9 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.4") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "2.4.1" and not self._cmake_new_enough("3.16.3"): - self.tool_requires("cmake/3.25.3") + if Version(self.version) >= "2.4.1": + self.tool_requires("cmake/[>=3.16.3 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b7f3f487ba9eb2d8518b73cacac54df3810f970e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 9 May 2023 12:03:19 +0200 Subject: [PATCH 0184/4087] (#17445) glfw: add package_type (and generate v2 packages) --- recipes/glfw/all/conanfile.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index 420995ba769e7..f7a8579bcc74f 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -17,7 +17,7 @@ class GlfwConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/glfw/glfw" topics = ("graphics", "opengl", "vulkan", "opengl-es") - + package_type = "library" settings = "os", "arch", "build_type", "compiler" options = { "shared": [True, False], @@ -49,13 +49,12 @@ def layout(self): def requirements(self): self.requires("opengl/system") if self.options.vulkan_static: - self.requires("vulkan-loader/1.3.236.0") + self.requires("vulkan-loader/1.3.239.0") if self.settings.os in ["Linux", "FreeBSD"]: self.requires("xorg/system") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 5c3093b35b888c26b5338551b8b84122f8b8a787 Mon Sep 17 00:00:00 2001 From: Enwei Jiao Date: Tue, 9 May 2023 18:42:56 +0800 Subject: [PATCH 0185/4087] (#17425) googleapi: fix open files with utf-8 encoding --- recipes/googleapis/all/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/googleapis/all/helpers.py b/recipes/googleapis/all/helpers.py index bc9910954682a..90c6fd93c7d96 100644 --- a/recipes/googleapis/all/helpers.py +++ b/recipes/googleapis/all/helpers.py @@ -131,7 +131,7 @@ def collecting_items(collection, line): line = line.strip(",").strip("\"") collection.append(line) - with open(filename, 'r') as f: + with open(filename, 'r', encoding='utf-8') as f: action = None parsing_variable = None variables = {} From cd0a74d190844fdbbdb2ff5c0cfb47dd80abf680 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 9 May 2023 13:24:47 +0200 Subject: [PATCH 0186/4087] (#17077) civetweb: bump openssl * bump openssl * use version range for openssl * version range workaround for conan v1 client * typo * version range workaround of openssl 1.x.x for conan v1 * better version range * no version range if openssl limited to 1.x --- recipes/civetweb/all/conanfile.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/civetweb/all/conanfile.py b/recipes/civetweb/all/conanfile.py index 9adc5e492d29d..4d048e6a27d5b 100644 --- a/recipes/civetweb/all/conanfile.py +++ b/recipes/civetweb/all/conanfile.py @@ -82,7 +82,10 @@ def layout(self): def requirements(self): if self.options.with_ssl: - self.requires("openssl/1.1.1t") + if Version(self.version) < "1.16": + self.requires("openssl/1.1.1t") + else: + self.requires("openssl/[>=1 <4]") if self.options.get_safe("with_zlib"): self.requires("zlib/1.2.13") @@ -97,11 +100,13 @@ def generate(self): tc = CMakeToolchain(self) if self.options.with_ssl: - openssl_version = Version(str(self.dependencies["openssl"].ref.version)[:-1]) + openssl_version = Version(self.dependencies["openssl"].ref.version) tc.variables["CIVETWEB_ENABLE_SSL"] = self.options.with_ssl tc.variables["CIVETWEB_ENABLE_SSL_DYNAMIC_LOADING"] = self.options.ssl_dynamic_loading - tc.variables["CIVETWEB_SSL_OPENSSL_API_1_0"] = openssl_version.minor == "0" - tc.variables["CIVETWEB_SSL_OPENSSL_API_1_1"] = openssl_version.minor == "1" + tc.variables["CIVETWEB_SSL_OPENSSL_API_1_0"] = openssl_version.major == "1" and openssl_version.minor == "0" + tc.variables["CIVETWEB_SSL_OPENSSL_API_1_1"] = openssl_version.major == "1" and openssl_version.minor == "1" + if Version(self.version) >= "1.16": + tc.variables["CIVETWEB_SSL_OPENSSL_API_3_0"] = openssl_version.major == "3" tc.variables["CIVETWEB_BUILD_TESTING"] = False tc.variables["CIVETWEB_CXX_ENABLE_LTO"] = False From eff8a2a2858df49c356a9b7080c7232d99569adb Mon Sep 17 00:00:00 2001 From: Nico Schmidt <73886020+nicosmd@users.noreply.github.com> Date: Tue, 9 May 2023 14:45:37 +0200 Subject: [PATCH 0187/4087] (#16997) foonathan-memory remove crosscompile check * foonathan memory remove crosscompile check since it is working * foonathan-memory invalidate cross build for macos m1 * foonathan-memory fix spelling * foonathan-memory: refactor to lift crossbuild restriction for versions 0.7.2 and newer --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/foonathan-memory/all/conanfile.py | 44 ++++++++++++++++------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/recipes/foonathan-memory/all/conanfile.py b/recipes/foonathan-memory/all/conanfile.py index 559c8e0a19f12..8d963cf86b4eb 100644 --- a/recipes/foonathan-memory/all/conanfile.py +++ b/recipes/foonathan-memory/all/conanfile.py @@ -2,7 +2,8 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, collect_libs, copy, get, rm, rmdir, save +from conan.tools.files import apply_conandata_patches, export_conandata_patches, collect_libs, copy, get, replace_in_file, rm, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -22,7 +23,7 @@ class FoonathanMemoryConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_tools": [True, False], - "with_sizecheck":[True, False], + "with_sizecheck": [True, False], } default_options = { "shared": False, @@ -44,11 +45,13 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - def validate(self): - # FIXME: jenkins servers throw error with this combination - # quick fix until somebody can reproduce - if hasattr(self, "settings_build") and cross_building(self): - raise ConanInvalidConfiguration("Cross building is not yet supported. Contributions are welcome") + def validate_build(self): + # Versions older than 0.7.2 require to compile and run an executable + # during the build, newer versions do it differently. + is_older = Version(self.version) < "0.7.2" + if hasattr(self, "settings_build") and cross_building(self) and is_older: + raise ConanInvalidConfiguration( + "Cross building is not supported on versions older than 0.7.2") def layout(self): cmake_layout(self, src_folder="src") @@ -64,17 +67,29 @@ def generate(self): tc.variables["FOONATHAN_MEMORY_CHECK_ALLOCATION_SIZE"] = self.options.with_sizecheck tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + current_version = Version(self.version) + if current_version >= "0.7.2" and current_version < "0.7.4": + self.output.warning("WEJ09138409238409238FLKSJDSALFKJSDFLK JLKULIUS") + # Remove static linking when cross-building, see: + # https://github.com/conan-io/conan-center-index/pull/16997#issuecomment-1508243262 + # https://github.com/foonathan/memory/issues/162 + replace_in_file(self, os.path.join(self.source_folder, "tool/CMakeLists.txt"), "if (CMAKE_CROSSCOMPILING)", "if (FALSE)") + + def build(self): + self._patch_sources() 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, "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", "foonathan_memory", "cmake")) + rmdir(self, os.path.join(self.package_folder, + "lib", "foonathan_memory", "cmake")) rmdir(self, os.path.join(self.package_folder, "share")) rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) @@ -103,7 +118,8 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "foonathan_memory") self.cpp_info.set_property("cmake_target_name", "foonathan_memory") self.cpp_info.libs = collect_libs(self) - self.cpp_info.includedirs = [os.path.join("include", "foonathan_memory")] + self.cpp_info.includedirs = [ + os.path.join("include", "foonathan_memory")] if self.options.with_tools: bin_path = os.path.join(self.package_folder, "bin") @@ -113,5 +129,7 @@ def package_info(self): # TODO: to remove in conan v2 once legacy generators removed self.cpp_info.names["cmake_find_package"] = "foonathan_memory" self.cpp_info.names["cmake_find_package_multi"] = "foonathan_memory" - 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] + 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] From 7bf9af87f4edc14742bf8a8138860af2811c20d7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 May 2023 22:23:05 +0900 Subject: [PATCH 0188/4087] (#17469) glaze: add version 1.2.3 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 766b84fe8ef38..165fceb314bfd 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.3": + url: "https://github.com/stephenberry/glaze/archive/v1.2.3.tar.gz" + sha256: "003cd3922795319253f080b328dd5c957bc8f446cc2a8145324c2748f4acf10f" "1.2.2": url: "https://github.com/stephenberry/glaze/archive/v1.2.2.tar.gz" sha256: "9bacbe5b07819de9799c8b9aa4861224768d2f87b0cb2f16bd1a4639c6e54755" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 19e6066a04e74..779e5b74adbe2 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.3": + folder: all "1.2.2": folder: all "1.2.0": From daca8db13fa5f234a8724e30c7fd38774d40df3b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 May 2023 22:43:53 +0900 Subject: [PATCH 0189/4087] (#17429) ada: add version 2.3.1, enable shared build * ada: add version 2.3.1, enable shared build * rm fPIC on shared build * disable shared under 3.2.0 * fix version mismatch * ada: fix logic around shared option for newer versions --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/all/conanfile.py | 11 ++++++++++- recipes/ada/config.yml | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 4ce757c97fa0c..affd7c6d9b96f 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.1": + url: "https://github.com/ada-url/ada/archive/refs/tags/v2.3.1.tar.gz" + sha256: "298992ec0958979090566c7835ea60c14f5330d6372ee092ef6eee1d2e6ac079" "2.3.0": url: "https://github.com/ada-url/ada/archive/refs/tags/v2.3.0.tar.gz" sha256: "932a93f6a745775343ebdbaafca295e07b9513f6aaeb738f9e85dcb397925e33" diff --git a/recipes/ada/all/conanfile.py b/recipes/ada/all/conanfile.py index 1377e7aa51408..dcb06ed03de1a 100644 --- a/recipes/ada/all/conanfile.py +++ b/recipes/ada/all/conanfile.py @@ -15,13 +15,15 @@ class AdaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ada-url/ada" topics = ("url", "parser", "WHATWG") - package_type = "static-library" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], + "shared": [True, False], } default_options = { "fPIC": True, + "shared": False, } @property @@ -42,6 +44,13 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def configure(self): + if Version(self.version) <= "2.0.0": + self.options.rm_safe("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") diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index b2aa30969f390..622fd3350ef87 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.1": + folder: all "2.3.0": folder: all "2.2.0": From 2fc88a398f97a99f6d7bf3fce9aa14999d2bab91 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 May 2023 17:23:18 +0300 Subject: [PATCH 0190/4087] (#17413) eabase: add Conan v2 support, add v2.09.12 * eabase: add Conan v2 support * eabase: fix v2.09.06 source * eabase: add v2.09.12 * Update recipes/eabase/all/test_v1_package/CMakeLists.txt --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/eabase/all/CMakeLists.txt | 9 --- recipes/eabase/all/conandata.yml | 9 ++- recipes/eabase/all/conanfile.py | 56 +++++++++++++------ .../eabase/all/test_package/CMakeLists.txt | 10 ++-- recipes/eabase/all/test_package/conanfile.py | 22 ++++++-- .../eabase/all/test_v1_package/CMakeLists.txt | 8 +++ .../eabase/all/test_v1_package/conanfile.py | 19 +++++++ recipes/eabase/config.yml | 4 +- 8 files changed, 97 insertions(+), 40 deletions(-) delete mode 100644 recipes/eabase/all/CMakeLists.txt create mode 100644 recipes/eabase/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/eabase/all/test_v1_package/conanfile.py diff --git a/recipes/eabase/all/CMakeLists.txt b/recipes/eabase/all/CMakeLists.txt deleted file mode 100644 index 2cc1d907283f7..0000000000000 --- a/recipes/eabase/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) - -set(DEST_DIR "${CMAKE_INSTALL_PREFIX}") diff --git a/recipes/eabase/all/conandata.yml b/recipes/eabase/all/conandata.yml index 3d5c49b6fcf42..2c833d6c97845 100644 --- a/recipes/eabase/all/conandata.yml +++ b/recipes/eabase/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "2.09.12": + url: "https://github.com/electronicarts/EABase/archive/d1be0a1d0fc01a9bf8f3f2cea75018df0d2410ee.zip" + sha256: "53b72d188aa17c7b23aa6bef9a4767854e82eac46a027dec233d12fd3dfbc677" + "2.09.06": + url: "https://github.com/electronicarts/EABase/archive/refs/heads/2.09.06.zip" + sha256: "3223c2b81dcdccaeb9fca7a83695f9edb402b817c89c073c0eb3ee64646699ea" "2.09.05": url: "https://github.com/electronicarts/EABase/archive/2.09.05.tar.gz" sha256: "f85b98c96f1976aa013c8d6016c5e37a409633ac3fce843cd4ec0b89c67e6b7a" - "2.09.06": - url: "https://github.com/electronicarts/EABase/archive/2.09.06.tar.gz" - sha256: "981f922441617152b841585c0fc0bd205bd898c758016fa4985599a63c5a6e16" diff --git a/recipes/eabase/all/conanfile.py b/recipes/eabase/all/conanfile.py index fa0631dead1bd..e1ead0a93a9bc 100644 --- a/recipes/eabase/all/conanfile.py +++ b/recipes/eabase/all/conanfile.py @@ -1,35 +1,59 @@ import os -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class EABaseConan(ConanFile): name = "eabase" description = "EABase is a small set of header files that define platform-independent data types and platform feature macros. " - topics = ("conan", "eabase", "config",) + topics = ("eastl", "config") license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/electronicarts/EABase" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "os", "compiler", "build_type", "arch" - @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - folder_name = "EABase-{}".format(self.version) - os.rename(folder_name, self._source_subfolder) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.includedirs += [ + os.path.join("include", "Common"), + os.path.join("include", "Common", "EABase"), + ] + + self.cpp_info.set_property("cmake_file_name", "EABase") + self.cpp_info.set_property("cmake_target_name", "EABase::EABase") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "EABase" + self.cpp_info.filenames["cmake_find_package_multi"] = "EABase" self.cpp_info.names["cmake_find_package"] = "EABase" self.cpp_info.names["cmake_find_package_multi"] = "EABase" - self.cpp_info.includedirs.extend([os.path.join("include", "Common"), - os.path.join("include", "Common", "EABase")]) diff --git a/recipes/eabase/all/test_package/CMakeLists.txt b/recipes/eabase/all/test_package/CMakeLists.txt index 196188113685c..d2f6d0c57dfc9 100644 --- a/recipes/eabase/all/test_package/CMakeLists.txt +++ b/recipes/eabase/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(EABase REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE EABase::EABase) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/eabase/all/test_package/conanfile.py b/recipes/eabase/all/test_package/conanfile.py index bd7165a553cf4..0a808db45f245 100644 --- a/recipes/eabase/all/test_package/conanfile.py +++ b/recipes/eabase/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -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 +# It will become the standard on Conan 2.x 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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +22,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/eabase/all/test_v1_package/CMakeLists.txt b/recipes/eabase/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..f6d6c9603dafa --- /dev/null +++ b/recipes/eabase/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +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/eabase/all/test_v1_package/conanfile.py b/recipes/eabase/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/eabase/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/eabase/config.yml b/recipes/eabase/config.yml index 2e5ba08e41ecc..7c5c5f65bfc3e 100644 --- a/recipes/eabase/config.yml +++ b/recipes/eabase/config.yml @@ -1,5 +1,7 @@ versions: - "2.09.05": + "2.09.12": folder: "all" "2.09.06": folder: "all" + "2.09.05": + folder: "all" From 99adadb5a80de7eeb23b8632229142ed3e189de4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 9 May 2023 16:45:09 +0200 Subject: [PATCH 0191/4087] (#17175) effcee: conan v2 support --- recipes/effcee/all/CMakeLists.txt | 9 -- recipes/effcee/all/conandata.yml | 1 - recipes/effcee/all/conanfile.py | 95 +++++++++---------- .../effcee/all/test_package/CMakeLists.txt | 13 +-- recipes/effcee/all/test_package/conanfile.py | 21 ++-- .../effcee/all/test_v1_package/CMakeLists.txt | 8 ++ .../effcee/all/test_v1_package/conanfile.py | 17 ++++ 7 files changed, 90 insertions(+), 74 deletions(-) delete mode 100644 recipes/effcee/all/CMakeLists.txt create mode 100644 recipes/effcee/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/effcee/all/test_v1_package/conanfile.py diff --git a/recipes/effcee/all/CMakeLists.txt b/recipes/effcee/all/CMakeLists.txt deleted file mode 100644 index a53ad7e107d11..0000000000000 --- a/recipes/effcee/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory(source_subfolder/) diff --git a/recipes/effcee/all/conandata.yml b/recipes/effcee/all/conandata.yml index 688296fd06354..8e17ad0e718d0 100644 --- a/recipes/effcee/all/conandata.yml +++ b/recipes/effcee/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "2019.1": - patch_file: "patches/0001-fix-cmake.patch" - base_path: "source_subfolder" diff --git a/recipes/effcee/all/conanfile.py b/recipes/effcee/all/conanfile.py index 6f5840a5a392b..8579fbc0fec1b 100644 --- a/recipes/effcee/all/conanfile.py +++ b/recipes/effcee/all/conanfile.py @@ -1,7 +1,12 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class EffceeConan(ConanFile): @@ -10,23 +15,21 @@ class EffceeConan(ConanFile): homepage = "https://github.com/google/effcee/" description = "Effcee is a C++ library for stateful pattern matching" \ " of strings, inspired by LLVM's FileCheck" - topics = ("conan", "effcee", "strings", "algorithm", "matcher") + topics = ("strings", "algorithm", "matcher") license = "Apache-2.0" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake", "cmake_find_package_multi" + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + 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": @@ -34,54 +37,48 @@ 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("re2/20210601") + self.requires("re2/20230301", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") - if self.settings.compiler == "Visual Studio" and \ - self.options.shared and "MT" in self.settings.compiler.runtime: - raise ConanInvalidConfiguration("Visual Studio build for shared" - " library with MT runtime is not" - " supported") + check_min_cppstd(self, "11") + if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} shared with MT runtime not supported by 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 _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["EFFCEE_BUILD_TESTING"] = False - self._cmake.definitions["EFFCEE_BUILD_SAMPLES"] = False + def generate(self): + tc = CMakeToolchain(self) + tc.variables["EFFCEE_BUILD_TESTING"] = False + tc.variables["EFFCEE_BUILD_SAMPLES"] = False if self.settings.os == "Windows": - if self.settings.compiler == "Visual Studio": - self._cmake.definitions["EFFCEE_ENABLE_SHARED_CRT"] = \ - "MD" in self.settings.compiler.runtime + if is_msvc(self): + tc.variables["EFFCEE_ENABLE_SHARED_CRT"] = not is_msvc_static_runtime(self) else: # Do not force linkage to static libgcc and libstdc++ for MinGW - self._cmake.definitions["EFFCEE_ENABLE_SHARED_CRT"] = True - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["EFFCEE_ENABLE_SHARED_CRT"] = True + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + deps = CMakeDeps(self) + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/effcee/all/test_package/CMakeLists.txt b/recipes/effcee/all/test_package/CMakeLists.txt index f42f881c6aad0..52906cfefeb69 100644 --- a/recipes/effcee/all/test_package/CMakeLists.txt +++ b/recipes/effcee/all/test_package/CMakeLists.txt @@ -1,13 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(effcee REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) - -target_link_libraries(${PROJECT_NAME} effcee::effcee) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE effcee::effcee) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/effcee/all/test_package/conanfile.py b/recipes/effcee/all/test_package/conanfile.py index 12dd810a6ab3b..98ab55852ad56 100644 --- a/recipes/effcee/all/test_package/conanfile.py +++ b/recipes/effcee/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if 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/effcee/all/test_v1_package/CMakeLists.txt b/recipes/effcee/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/effcee/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/effcee/all/test_v1_package/conanfile.py b/recipes/effcee/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..12dd810a6ab3b --- /dev/null +++ b/recipes/effcee/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 184cf9ece35959d9b4c263d1b76a55b69bf30293 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 9 May 2023 17:23:39 +0200 Subject: [PATCH 0192/4087] (#17467) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 4ea73e5e9a604..fb06fc548f78e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -130,41 +130,63 @@ required_for_references: - concurrentqueue - cpp-httplib - cpp-jwt +- cpp-lazy - cpp-optparse - cpp-peglib +- cpp-sort - cppbenchmark - cppcheck - cppcodec +- cppfront +- cpptoml +- cppunit +- cpputest +- cpr - cpu_features - cpuinfo +- cqrlib - crc32c +- create-dmg +- crunch - cryptopp +- cs_libguarded - csm - cspice +- csvmonkey +- ctre - cubicinterpolation - cwalk - cxxopts +- cyclonedds - cyrus-sasl +- dacap-clip - dataframe - date - dav1d - daw_header_libraries - daw_json_link - daw_utf_range +- dbcppp - dbus +- decimal_for_cpp - dirent +- discount - dlpack +- docopt.cpp - doctest - double-conversion - doxygen - draco +- dragonbox - drflac - drmp3 - drwav - duckdb - earcut - easy_profiler +- ecos - editline +- edlib - egl - eigen - elfio @@ -208,6 +230,7 @@ required_for_references: - gflags - ghc-filesystem - giflib +- ginkgo - glad - glfw - gli @@ -499,6 +522,7 @@ required_for_references: - symengine - tabulate - taocpp-pegtl +- taskflow - tcb-span - tcl - tensorflow-lite @@ -537,6 +561,7 @@ required_for_references: - wayland - wayland-protocols - websocketpp +- wg21-linear_algebra - wil - winflexbison - wiringpi From a1993b2cf298669488512b4412201fcd6e469b42 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Tue, 9 May 2023 17:42:50 +0200 Subject: [PATCH 0193/4087] (#17472) prometheus-cpp: bump dependencies --- recipes/prometheus-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index 413fb7b3f847a..77a024b271ec1 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -64,9 +64,9 @@ def layout(self): def requirements(self): if self.options.with_pull: - self.requires("civetweb/1.15") + self.requires("civetweb/1.16") if self.options.with_push: - self.requires("libcurl/7.86.0") + self.requires("libcurl/8.0.1") if self.options.get_safe("with_compression"): self.requires("zlib/1.2.13") From cda51849ab28fae9c673b6d055e02d95155fbb5d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 9 May 2023 19:03:10 +0200 Subject: [PATCH 0194/4087] (#17464) [doc] Update supported platforms and configurations (2023-05-08) --- docs/supported_platforms_and_configurations.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/supported_platforms_and_configurations.md b/docs/supported_platforms_and_configurations.md index 804e090fe3178..30139c81d09f8 100644 --- a/docs/supported_platforms_and_configurations.md +++ b/docs/supported_platforms_and_configurations.md @@ -59,10 +59,10 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- ## Linux - Python: 3.7.13 -- CMake: 3.15.7 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) +- CMake: 3.15.7, 3.18.2 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) - Compilers: - - GCC versions: 11 - - Clang versions: + - GCC versions: 5, 7, 9, 10, 11 + - Clang versions: 11, 12, 13 - C++ Standard Library (`libcxx`): - GCC compiler: `libstdc++`, `libstdc++11` - Clang compiler: `libstdc++`, `libc++` @@ -76,9 +76,9 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Python: 3.7.12 - CMake: 3.20.1 -- Compilers: Apple-clang versions 13.0.0 -- Macos SDK versions (for each apple-clang version respectively): 11.3 -- Macos deployment target (`minos`): 11.0 +- Compilers: Apple-clang versions 11.0.3, 12.0.5, 13.0.0 +- Macos SDK versions (for each apple-clang version respectively): 10.15, 11.3 +- Macos deployment target (`minos`): 10.15, 11.0, 11.3 - C++ Standard Library (`libcxx`): `libc++` - Architectures: x86_64, armv8 - Build types: Release, Debug From 5f5d5abb9159b6fe262f51264f8697311c402173 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 9 May 2023 19:22:33 +0200 Subject: [PATCH 0195/4087] (#17388) [bot] Update authorized users list (2023-05-04) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 2d9fc992b3d6c..87654946dfc0c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1133,3 +1133,7 @@ authorized_users: - pwqbot - ilya-lavrenov - aubreynicoll +- j-carl +- jeffgarrett +- Maaown +- Knapock From 48c92f9ec39b7855b4263b69ba34886258a19eb3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 9 May 2023 19:42:26 +0200 Subject: [PATCH 0196/4087] (#17483) libxft/all/: bump deps --- recipes/libxft/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libxft/all/conanfile.py b/recipes/libxft/all/conanfile.py index 5bb077b0fdb7a..c237fe2cfea9c 100644 --- a/recipes/libxft/all/conanfile.py +++ b/recipes/libxft/all/conanfile.py @@ -27,11 +27,11 @@ def export_sources(self): def requirements(self): self.requires("xorg/system") - self.requires("freetype/2.12.1") - self.requires("fontconfig/2.13.93") + self.requires("freetype/2.13.0") + self.requires("fontconfig/2.14.2") def build_requirements(self): - self.build_requires("pkgconf/1.7.4") + self.build_requires("pkgconf/1.9.3") self.build_requires("xorg-macros/1.19.3") self.build_requires("libtool/2.4.7") From aa396030275cc75b6ff3cc615a12a1cd4b09b5bc Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 9 May 2023 20:24:06 +0200 Subject: [PATCH 0197/4087] (#17477) fontconfig/all/: bump deps --- recipes/fontconfig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index f372086d95a23..c44276116659f 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") self.requires("expat/2.5.0") if self.settings.os == "Linux": self.requires("libuuid/1.0.3") From b514e27ba889306f7112cbebcf57b8076d5827d2 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 9 May 2023 21:03:43 +0200 Subject: [PATCH 0198/4087] (#17480) wayland/all/: bump deps --- recipes/wayland/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index c656a7a7cff96..2f0995116baad 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -48,9 +48,9 @@ def layout(self): def requirements(self): if self.options.enable_libraries: - self.requires("libffi/3.4.3") + self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.10.4") self.requires("expat/2.5.0") def validate(self): @@ -58,7 +58,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") if cross_building(self): From 16465b147043cf1be6cc9dac6d1299598c6ddd5a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 9 May 2023 21:45:54 +0200 Subject: [PATCH 0199/4087] (#17109) aws-c-compression: add missing interface definition if shared + modernize more for conan v2 * add AWS_COMPRESSION_USE_IMPORT_EXPORT interface definition if shared * modernize more for conan v2 * more elegant way to define target for legacy generators * aws-c-common is public --- recipes/aws-c-compression/all/conanfile.py | 63 ++++++++++--------- .../all/test_v1_package/CMakeLists.txt | 8 +-- 2 files changed, 38 insertions(+), 33 deletions(-) diff --git a/recipes/aws-c-compression/all/conanfile.py b/recipes/aws-c-compression/all/conanfile.py index 635a3e71fc9b4..828f55f643189 100644 --- a/recipes/aws-c-compression/all/conanfile.py +++ b/recipes/aws-c-compression/all/conanfile.py @@ -1,9 +1,10 @@ from conan import ConanFile 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, save import os +import textwrap -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class AwsCCompression(ConanFile): @@ -13,7 +14,7 @@ class AwsCCompression(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-compression" license = "Apache-2.0", - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,28 +31,18 @@ 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 requirements(self): - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -71,18 +62,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-compression")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-compression": "aws-c-compression::aws-c-compression"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-compression") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-compression") - # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["aws-c-compression-lib"].libs = ["aws-c-compression"] + self.cpp_info.libs = ["aws-c-compression"] + if self.options.shared: + self.cpp_info.defines.append("AWS_COMPRESSION_USE_IMPORT_EXPORT") # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "aws-c-compression" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-compression" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-compression-lib"].names["cmake_find_package"] = "aws-c-compression" - self.cpp_info.components["aws-c-compression-lib"].names["cmake_find_package_multi"] = "aws-c-compression" - self.cpp_info.components["aws-c-compression-lib"].set_property("cmake_target_name", "AWS::aws-c-compression") - self.cpp_info.components["aws-c-compression-lib"].requires = ["aws-c-common::aws-c-common-lib"] + 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/aws-c-compression/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-compression/all/test_v1_package/CMakeLists.txt index e3ad5964d2a88..0d20897301b68 100644 --- a/recipes/aws-c-compression/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-compression/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-compression REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-compression) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From e4dd6ad377346a14e68874b9572a1a3f65c60761 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 9 May 2023 22:25:20 +0200 Subject: [PATCH 0200/4087] (#17479) nss/all/: bump deps --- recipes/nss/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/nss/all/conanfile.py b/recipes/nss/all/conanfile.py index 4a063d42abaeb..6c0ff3efc96a7 100644 --- a/recipes/nss/all/conanfile.py +++ b/recipes/nss/all/conanfile.py @@ -36,7 +36,7 @@ def build_requirements(self): if self.settings.os == "Windows": self.build_requires("mozilla-build/3.3") if hasattr(self, "settings_build"): - self.build_requires("sqlite3/3.39.3") + self.build_requires("sqlite3/3.41.2") def configure(self): self.options["nspr"].shared = True @@ -49,8 +49,8 @@ def configure(self): def requirements(self): self.requires("nspr/4.35") - self.requires("sqlite3/3.39.3") - self.requires("zlib/1.2.12") + self.requires("sqlite3/3.41.2") + self.requires("zlib/1.2.13") def validate(self): if not self.options.shared: From 31f0d23ea7b6b06425fbba7578ff5968aee25ff2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 May 2023 06:25:14 +0900 Subject: [PATCH 0201/4087] (#17041) libuvc: add version 0.0.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libuvc: add version 0.0.7 * Update recipes/libuvc/all/conanfile.py Co-authored-by: Daniel --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel --- recipes/libuvc/all/conandata.yml | 7 +++++++ recipes/libuvc/all/conanfile.py | 8 ++++++-- .../patches/0.0.7-0001-fix-cci-packagename.patch | 13 +++++++++++++ recipes/libuvc/config.yml | 2 ++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 recipes/libuvc/all/patches/0.0.7-0001-fix-cci-packagename.patch diff --git a/recipes/libuvc/all/conandata.yml b/recipes/libuvc/all/conandata.yml index 080f9c58fdbad..9ed43ec234a2c 100644 --- a/recipes/libuvc/all/conandata.yml +++ b/recipes/libuvc/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "0.0.7": + url: "https://github.com/libuvc/libuvc/archive/v0.0.7.tar.gz" + sha256: "7c6ba79723ad5d0ccdfbe6cadcfbd03f9f75b701d7ba96631eb1fd929a86ee72" "0.0.6": url: "https://github.com/libuvc/libuvc/archive/v0.0.6.tar.gz" sha256: "42175a53c1c704365fdc782b44233925e40c9344fbb7f942181c1090f06e2873" patches: + "0.0.7": + - patch_file: "patches/0.0.7-0001-fix-cci-packagename.patch" + patch_description: "use cci package name" + patch_type: "conan" "0.0.6": - patch_file: "patches/0001-adjust-libusb-libjpeg.patch" patch_description: "Robust discovery and injection of libusb & libjpeg" diff --git a/recipes/libuvc/all/conanfile.py b/recipes/libuvc/all/conanfile.py index 17b10736856bf..c10470d935e60 100644 --- a/recipes/libuvc/all/conanfile.py +++ b/recipes/libuvc/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -17,7 +18,7 @@ class LibuvcConan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/libuvc/libuvc" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -59,7 +60,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") @@ -87,6 +88,9 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["CMAKE_BUILD_TARGET"] = "Shared" if self.options.shared else "Static" tc.variables["LIBUVC_WITH_JPEG"] = bool(self.options.with_jpeg) + if Version(self.version) >= "0.0.7": + tc.variables["BUILD_EXAMPLE"] = False + # Relocatable shared libs on macOS tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() diff --git a/recipes/libuvc/all/patches/0.0.7-0001-fix-cci-packagename.patch b/recipes/libuvc/all/patches/0.0.7-0001-fix-cci-packagename.patch new file mode 100644 index 0000000000000..06c70b926bb50 --- /dev/null +++ b/recipes/libuvc/all/patches/0.0.7-0001-fix-cci-packagename.patch @@ -0,0 +1,13 @@ +diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt +index fbaffc9..e14daf4 100644 +--- a/a/CMakeLists.txt ++++ b/b/CMakeLists.txt +@@ -116,7 +116,7 @@ foreach(target_name IN LISTS UVC_TARGETS) + ) + target_link_libraries(${target_name} + # libusb-1.0 used internally so we link to it privately. +- PRIVATE LibUSB::LibUSB ${threads} ++ PRIVATE libusb::libusb ${threads} + ) + if(JPEG_FOUND) + target_link_libraries(${target_name} diff --git a/recipes/libuvc/config.yml b/recipes/libuvc/config.yml index d33b2d9ed7a85..8915eeb6ead5c 100644 --- a/recipes/libuvc/config.yml +++ b/recipes/libuvc/config.yml @@ -1,3 +1,5 @@ versions: + "0.0.7": + folder: all "0.0.6": folder: all From 584ca24777ba940245f90e68add7a729bebdf965 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 May 2023 00:02:29 +0200 Subject: [PATCH 0202/4087] (#17481) xkbcommon/all/: bump deps --- recipes/xkbcommon/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index f3d45b29512c0..a315f50588edc 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.10.4") if self.options.get_safe("with_wayland"): self.requires("wayland/1.21.0") if not self._has_build_profile: @@ -76,7 +76,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") From 13fa85871f6032bc30f3141f3b1588de7ef1494d Mon Sep 17 00:00:00 2001 From: William Behrens <35979547+wbehrens-on-gh@users.noreply.github.com> Date: Tue, 9 May 2023 18:03:57 -0500 Subject: [PATCH 0203/4087] (#16960) readline: update for conan v2 * readline: update for conan v2 * readline: remove conan-specific lines from cmake test_package * readline: Add virtualenv when not cross building * Update recipes/readline/all/conanfile.py --------- Co-authored-by: William Behrens <35979547+WilliamBehrens@users.noreply.github.com> Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/readline/all/conanfile.py | 82 ++++++++++--------- .../readline/all/test_package/CMakeLists.txt | 3 - .../readline/all/test_package/conanfile.py | 20 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../readline/all/test_v1_package/conanfile.py | 17 ++++ 5 files changed, 81 insertions(+), 49 deletions(-) create mode 100644 recipes/readline/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/readline/all/test_v1_package/conanfile.py diff --git a/recipes/readline/all/conanfile.py b/recipes/readline/all/conanfile.py index 2062f025d7a28..607d6921916f3 100644 --- a/recipes/readline/all/conanfile.py +++ b/recipes/readline/all/conanfile.py @@ -1,7 +1,15 @@ import os -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration - +from conan import ConanFile +from conan.tools.files import get, replace_in_file, rmdir, copy +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.env import VirtualRunEnv +from conan.tools.gnu import AutotoolsToolchain, AutotoolsDeps, Autotools +from conan.errors import ConanInvalidConfiguration + +required_conan_version = ">=1.53.0" class ReadLineConan(ConanFile): name = "readline" @@ -22,12 +30,6 @@ class ReadLineConan(ConanFile): "with_library": "termcap", } - @property - def _source_subfolder(self): - return "source_subfolder" - - _autotools = None - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -40,56 +42,56 @@ def requirements(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("readline does not support Visual Studio") + def layout(self): + basic_layout(self, src_folder="src") + def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_autotools(self): - if self._autotools: - return self._autotools + def generate(self): + if not cross_building(self): + # Expose LD_LIBRARY_PATH when there are shared dependencies, + # as configure tries to run a test executable (when not cross-building) + env = VirtualRunEnv(self) + env.generate(scope="build") - configure_args = [ + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ "--with-curses={}".format("yes" if self.options.with_library == "curses" else "no"), - ] - if self.options.shared: - configure_args.extend(["--enable-shared", "--disable-static"]) - else: - configure_args.extend(["--enable-static", "--disable-shared"]) - if tools.cross_building(self.settings): - configure_args.append("bash_cv_wcwidth_broken=yes") - - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # this should be really done automatically by the AutoToolsBuildEnvironment helper, - # but very unlikely old helper will be fixed any time soon - self._autotools.link_flags.extend(["-arch", "arm64"]) - self._autotools.configure(args=configure_args, configure_dir=self._source_subfolder) - return self._autotools + ]) + if cross_building(self): + tc.configure_args.append("bash_cv_wcwidth_broken=yes") + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() def _patch_sources(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "shlib", "Makefile.in"), "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS)", + replace_in_file(self, os.path.join(self.source_folder, "shlib", "Makefile.in"), "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS)", "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS) -ltermcap") - tools.replace_in_file(os.path.join(self._source_subfolder, "Makefile.in"), "@TERMCAP_LIB@", "-ltermcap") + replace_in_file(self, os.path.join(self.source_folder, "Makefile.in"), "@TERMCAP_LIB@", "-ltermcap") def build(self): self._patch_sources() - 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", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["history", "readline"] diff --git a/recipes/readline/all/test_package/CMakeLists.txt b/recipes/readline/all/test_package/CMakeLists.txt index e6c520fdaeb88..0ba8423464ca0 100644 --- a/recipes/readline/all/test_package/CMakeLists.txt +++ b/recipes/readline/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(readline CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/readline/all/test_package/conanfile.py b/recipes/readline/all/test_package/conanfile.py index 49a3a66ea5bad..0170011d8e2d2 100644 --- a/recipes/readline/all/test_package/conanfile.py +++ b/recipes/readline/all/test_package/conanfile.py @@ -1,10 +1,18 @@ -from conans import ConanFile, CMake, tools import os - +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,6 +20,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/readline/all/test_v1_package/CMakeLists.txt b/recipes/readline/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/readline/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/readline/all/test_v1_package/conanfile.py b/recipes/readline/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/readline/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 7ede67674d2baaed43b4ddd3d512363f6d0f36b6 Mon Sep 17 00:00:00 2001 From: Seadex-GmbH <125141609+Seadex-GmbH@users.noreply.github.com> Date: Wed, 10 May 2023 01:44:38 +0200 Subject: [PATCH 0204/4087] (#16654) seadex-essentials - Conan 2.0 ready * Add essentials library receipe with Conan 2.0 support * Minimum required Conan version to 1.59 in the recipe * Fix pull request issues for essentials 2.1.0 * Rename directory to seadex-essentials * Removed test package dependency * License moved to licenses directory in package * Shared build disabled for Windows * GCC minimum version set to 8; added needed extra flags needed to use filesystem * Fix compilers version checks in configure method * Fix configuration to set c++fs flags * configure method: use libs.append for c++fs * Initialize cpp_info if not initialized in configure method * Move libs.append to package_info method * Use essentials 2.1.1 * Set CMake shared depending on shared option in the generate method * Append c++fs library to system_libs * Require stdc++ library for needed compilers * Fix requires keyword * Use GCC 8.3 as minimum supported version * Use c++17 standard for clang comipler to support filesystem * Support for GCC, Microsoft only * Clang minimum version 12; use libstdc++11 * Add libc++ as libcxx cimpiler setting for clang * Do not set any libcxx in configuration * Only allow Linux and Windows builds * Move OS check to validate method * Added needed dependencies for test package (uses headers) * Added needed dependencies for test package (uses headers) * Apple clang enabled * essentials 2.1.2 with build support for Clang and Apple-Clang * essentials 2.1.2 * Set Apple-Clang min cppstd to 17 * Add essentials library receipe with Conan 2.0 support * Minimum required Conan version to 1.59 in the recipe * Fix pull request issues for essentials 2.1.0 * Rename directory to seadex-essentials * Removed test package dependency * License moved to licenses directory in package * Shared build disabled for Windows * GCC minimum version set to 8; added needed extra flags needed to use filesystem * Fix compilers version checks in configure method * Fix configuration to set c++fs flags * configure method: use libs.append for c++fs * Initialize cpp_info if not initialized in configure method * Move libs.append to package_info method * Use essentials 2.1.1 * Set CMake shared depending on shared option in the generate method * Append c++fs library to system_libs * Require stdc++ library for needed compilers * Fix requires keyword * Use GCC 8.3 as minimum supported version * Use c++17 standard for clang comipler to support filesystem * Support for GCC, Microsoft only * Clang minimum version 12; use libstdc++11 * Add libc++ as libcxx cimpiler setting for clang * Do not set any libcxx in configuration * Only allow Linux and Windows builds * Move OS check to validate method * Added needed dependencies for test package (uses headers) * Added needed dependencies for test package (uses headers) * Apple clang enabled * essentials 2.1.2 with build support for Clang and Apple-Clang * essentials 2.1.2 * Set Apple-Clang min cppstd to 17 * Removed "library" as a topic Co-authored-by: Jordan Williams * CMake minimum version to 3.15 Co-authored-by: Jordan Williams * CMake minimum version to 3.15 for test v1 package Co-authored-by: Jordan Williams * Explicit disable unit tests Co-authored-by: Jordan Williams * Minimum Conan version set to 1.53.0 Co-authored-by: Jordan Williams * dependencies with transitive headers; dependency option moved to configuration; cleanup * Removed wrong validation * Set fmt dependency to be header only in configuration * Set header-only option * Spdlog option set header-only * fmt option header-only in configure method * Set specific version options * Spdlog header-only in default options * Spdlog header only default option neeeded in test package * spdlog header only set in configure method * Removed default_options from test package * option set moved to config_options * Set spdlog header only * Configure all versions of spdlog as header-only * Moved heade-only option set to config_options * Moved header only option back to default_options * Test package link PRIVATE library Co-authored-by: Jordan Williams * Spdlog header only in configure method * Removed set of BUILD_SHARED_LIBS flag * spdlog header only validation * spdlog in default options * Renamed examples directory to skip from build * Removed code that is default in conan * Cleanup generate method * Removed headers trait * fPIC management in Windows * Added transitive_libs to requirements: spdlog, fmt * Set fmt as external for spdlog; header only option set in configure method * Reorder the methods in the conan recipe; spdlog default option back * Disabled another example; remove unexisitng option use for spdlog * Set fmt header only flag * fmt external flag * fmt header only * Manually set SPDLOG_FMT_EXTERNAL * Added fmt external header only flag; removed default options for fmt spdlog * Removed white space in cache variable * Update codebase * Removed unused import Co-authored-by: Chris Mc * Removed export_sources method Co-authored-by: Chris Mc * package_type specified Co-authored-by: Chris Mc * Added comments; removed spdlog transitive_libs trait Co-authored-by: Chris Mc * Removed the shared option set for Windows build. Co-authored-by: Chris Mc * Removed OS limitation check * Update recipes/seadex-essentials/all/conanfile.py just to dismiss my review since I do not have persmissions :( * Explicit disable unit tests and examples --------- Co-authored-by: Jordan Williams Co-authored-by: Chris Mc --- recipes/seadex-essentials/all/conandata.yml | 5 + recipes/seadex-essentials/all/conanfile.py | 99 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 31 ++++++ .../all/test_package/test_package.cpp | 20 ++++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 ++++ recipes/seadex-essentials/config.yml | 3 + 8 files changed, 192 insertions(+) create mode 100644 recipes/seadex-essentials/all/conandata.yml create mode 100644 recipes/seadex-essentials/all/conanfile.py create mode 100644 recipes/seadex-essentials/all/test_package/CMakeLists.txt create mode 100644 recipes/seadex-essentials/all/test_package/conanfile.py create mode 100644 recipes/seadex-essentials/all/test_package/test_package.cpp create mode 100644 recipes/seadex-essentials/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/seadex-essentials/all/test_v1_package/conanfile.py create mode 100644 recipes/seadex-essentials/config.yml diff --git a/recipes/seadex-essentials/all/conandata.yml b/recipes/seadex-essentials/all/conandata.yml new file mode 100644 index 0000000000000..113d034e0a06a --- /dev/null +++ b/recipes/seadex-essentials/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "2.1.3": + url: + - "https://github.com/SeadexGmbH/essentials/archive/refs/tags/2.1.3.tar.gz" + sha256: "c0f758279b90fcf6a3e0a511978d0fa3bf4934fe600bb6e69cc8feb65221bd58" diff --git a/recipes/seadex-essentials/all/conanfile.py b/recipes/seadex-essentials/all/conanfile.py new file mode 100644 index 0000000000000..e938a5f24cf68 --- /dev/null +++ b/recipes/seadex-essentials/all/conanfile.py @@ -0,0 +1,99 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class SeadexEssentialsConan(ConanFile): + name = "seadex-essentials" + description = "essentials is a small c++ library that offers very basic capabilities for applications and libraries." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://essentials.seadex.de/" + topics = ("utility", "c++") + 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": "8.3", + "clang": "12", + "Visual Studio": "16", + "msvc": "192", + "apple-clang": "10" + } + + 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.options["fmt/*"].header_only = True + self.options["spdlog/*"].header_only = True + + def requirements(self): + # Headers are exposed https://github.com/SeadexGmbH/essentials/blob/622a07dc1530f5668f5dde0ce18007d420c371cd/essentials/include/essentials/log/log_level.hpp#L15 + self.requires("spdlog/1.11.0", transitive_headers=True) + # Exposes headers and symbols https://github.com/SeadexGmbH/essentials/blob/622a07dc1530f5668f5dde0ce18007d420c371cd/essentials/include/essentials/type_wrapper.hpp#L282 + self.requires("fmt/9.1.0", transitive_headers=True, transitive_libs=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires at least {self.settings.compiler} {minimum_version}." + ) + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + if not self.dependencies["spdlog"].options.header_only: + raise ConanInvalidConfiguration("Spdlog must be header only!") + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ESS_BUILD_UNIT_TESTS"] = False + tc.cache_variables["ESS_BUILD_EXAMPLES"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", self.source_folder, os.path.join(self.package_folder, "licenses") ) + cmake = CMake(self) + cmake.configure() + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["essentials"] diff --git a/recipes/seadex-essentials/all/test_package/CMakeLists.txt b/recipes/seadex-essentials/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..cfd0f452a3ad8 --- /dev/null +++ b/recipes/seadex-essentials/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(seadex-essentials REQUIRED CONFIG) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE seadex-essentials::seadex-essentials) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/seadex-essentials/all/test_package/conanfile.py b/recipes/seadex-essentials/all/test_package/conanfile.py new file mode 100644 index 0000000000000..63dab6b31486d --- /dev/null +++ b/recipes/seadex-essentials/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + 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/seadex-essentials/all/test_package/test_package.cpp b/recipes/seadex-essentials/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..442d07091ff95 --- /dev/null +++ b/recipes/seadex-essentials/all/test_package/test_package.cpp @@ -0,0 +1,20 @@ +#include + +#include "essentials/log/log.hpp" + +int main() { + + auto& logger = sxe::logger::get_instance(); + sxe::logger_manager::get_instance().set_logger( logger ); + logger.set_log_level( LL_TRACE ); + logger.add_std_out_sink(); + + SXE_LOG_LOCATED( LL_TRACE, "main.cpp", __LINE__, "{}) Hello {}!", __LINE__, "John Doe" ); + SXE_LOG_LOCATED( LL_DEBUG, "main.cpp", __LINE__, "{}) Hello {}!", __LINE__, "John Doe" ); + SXE_LOG_LOCATED( LL_INFO, "main.cpp", __LINE__, "{}) Hello {}!", __LINE__, "John Doe" ); + SXE_LOG_LOCATED( LL_WARN, "main.cpp", __LINE__, "{}) Hello {}!", __LINE__, "John Doe" ); + SXE_LOG_LOCATED( LL_ERROR, "main.cpp", __LINE__, "{}) Hello {}!", __LINE__, "John Doe" ); + SXE_LOG_LOCATED( LL_FATAL, "main.cpp", __LINE__, "{}) Hello {}!", __LINE__, "John Doe" ); + + return EXIT_SUCCESS; +} diff --git a/recipes/seadex-essentials/all/test_v1_package/CMakeLists.txt b/recipes/seadex-essentials/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/seadex-essentials/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/seadex-essentials/all/test_v1_package/conanfile.py b/recipes/seadex-essentials/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/seadex-essentials/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/seadex-essentials/config.yml b/recipes/seadex-essentials/config.yml new file mode 100644 index 0000000000000..e6ceade928280 --- /dev/null +++ b/recipes/seadex-essentials/config.yml @@ -0,0 +1,3 @@ +versions: + "2.1.3": + folder: all From 43edfb41a886405c3df98f16334288e17232c3ba Mon Sep 17 00:00:00 2001 From: Cedric Schmeits Date: Wed, 10 May 2023 02:26:59 +0200 Subject: [PATCH 0205/4087] (#16397) add flatbuffers version 23.3.3 * add version 23.3.3 * Flatbuffers LICENSE.txt file has been renamed to LICENSE * Update recipes/flatbuffers/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Daniel --- recipes/flatbuffers/all/conandata.yml | 3 +++ recipes/flatbuffers/all/conanfile.py | 2 +- recipes/flatbuffers/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/flatbuffers/all/conandata.yml b/recipes/flatbuffers/all/conandata.yml index 93f9eb1d779b9..ef2d33598fbf6 100644 --- a/recipes/flatbuffers/all/conandata.yml +++ b/recipes/flatbuffers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "23.3.3": + url: "https://github.com/google/flatbuffers/archive/v23.3.3.tar.gz" + sha256: "8aff985da30aaab37edf8e5b02fda33ed4cbdd962699a8e2af98fdef306f4e4d" "23.1.21": url: "https://github.com/google/flatbuffers/archive/v23.1.21.tar.gz" sha256: "d84cb25686514348e615163b458ae0767001b24b42325f426fd56406fd384238" diff --git a/recipes/flatbuffers/all/conanfile.py b/recipes/flatbuffers/all/conanfile.py index ff0db700336fb..3dbcca3f23f42 100644 --- a/recipes/flatbuffers/all/conanfile.py +++ b/recipes/flatbuffers/all/conanfile.py @@ -116,7 +116,7 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE.txt", 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")) diff --git a/recipes/flatbuffers/config.yml b/recipes/flatbuffers/config.yml index db16b3569f848..a6c4efcf09db7 100644 --- a/recipes/flatbuffers/config.yml +++ b/recipes/flatbuffers/config.yml @@ -1,4 +1,6 @@ versions: + "23.3.3": + folder: all "23.1.21": folder: all "23.1.4": From b8e60f579e36a4b70cb1132c75770130b0f45a6f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 May 2023 10:48:57 +0900 Subject: [PATCH 0206/4087] (#17488) daw_json_link: add version 3.16.0 --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index abbb022e065fe..5ccbbdb92e211 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.16.0": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.16.0.tar.gz" + sha256: "48eae5db76e72a481ba4830900974178c49fb8c7c89909405381bd1775cbc84c" "3.15.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.15.0.tar.gz" sha256: "6f72c69944e33f56823d941b09c8d17ece44b224e802ae0a3416c32f2bdbec40" diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index 9a80cf2db94c7..b5d7c520796ca 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.16.0": + folder: "all" "3.15.0": folder: "all" "3.14.1": From ee5fe6ca6d807868ad3036b79aff40844f3e4997 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Wed, 10 May 2023 05:42:11 +0200 Subject: [PATCH 0207/4087] (#17475) Bump eigen in opencv --- recipes/opencv/4.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index b34e8e76955fb..dc9fe5f7a71d2 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -198,7 +198,7 @@ def requirements(self): if self.options.get_safe("with_tiff"): self.requires("libtiff/4.4.0") if self.options.with_eigen: - self.requires("eigen/3.3.9") + self.requires("eigen/3.4.0") if self.options.get_safe("with_ffmpeg"): # opencv doesn't support ffmpeg >= 5.0.0 for the moment (until 4.5.5 at least) self.requires("ffmpeg/4.4") From 3b5a0c7aaeda7f018eaed39ab0ea811e5f7fa48a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 06:44:01 +0200 Subject: [PATCH 0208/4087] (#16769) libzippp: fix all shared build on Linux for conan v2 + add package_type * do not build tests * add package_type * explicitly define upstream CMake imported target * cosmetic change to trigger build of new packages --- recipes/libzippp/all/conanfile.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/recipes/libzippp/all/conanfile.py b/recipes/libzippp/all/conanfile.py index b05dfec251011..e0c0670ea25f1 100644 --- a/recipes/libzippp/all/conanfile.py +++ b/recipes/libzippp/all/conanfile.py @@ -8,6 +8,7 @@ required_conan_version = ">=1.53.0" + class LibZipppConan(ConanFile): name = "libzippp" description = "A simple basic C++ wrapper around the libzip library" @@ -15,6 +16,7 @@ class LibZipppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ctabin/libzippp" topics = ("zip", "zlib", "libzip", "zip-archives", "zip-editing") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -52,7 +54,7 @@ def requirements(self): self.requires(f"libzip/{versions[1]}") def validate(self): - if self.settings.compiler.cppstd: + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) libzippp_version = str(self.version) @@ -70,6 +72,7 @@ def generate(self): tc.variables["CMAKE_CXX_STANDARD"] = 11 tc.variables["LIBZIPPP_INSTALL"] = True tc.variables["LIBZIPPP_INSTALL_HEADERS"] = True + tc.variables["LIBZIPPP_BUILD_TESTS"] = False tc.variables["LIBZIPPP_ENABLE_ENCRYPTION"] = self.options.with_encryption tc.generate() @@ -96,6 +99,8 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "cmake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "libzippp") + self.cpp_info.set_property("cmake_target_name", "libzippp::libzippp") prefix = "lib" if self.settings.os == "Windows" else "" postfix = "" if self.options.shared else "_static" self.cpp_info.libs = [f"{prefix}zippp{postfix}"] @@ -103,8 +108,5 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - self.cpp_info.names["cmake_find_package"] = "libzippp" - self.cpp_info.names["cmake_find_package_multi"] = "libzippp" - self.cpp_info.set_property("cmake_file_name", "libzippp") if self.options.with_encryption: self.cpp_info.defines.append("LIBZIPPP_WITH_ENCRYPTION") From 2e6b4f8235ff14f3e5a362302a659824b04bf900 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 07:21:58 +0200 Subject: [PATCH 0209/4087] (#17468) screen_capture_lite: use version range for cmake + few minor improvements * fix min cppstd it's C++17 since 17.1.596, instead of C++20 * remove CMP0077 workaround * use version range for cmake * don't use self.info in validate() * fix apple-clang check logic * cleanup imports --- recipes/screen_capture_lite/all/conanfile.py | 34 ++++++------------- .../all/test_v1_package/conanfile.py | 1 - 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/recipes/screen_capture_lite/all/conanfile.py b/recipes/screen_capture_lite/all/conanfile.py index f893a0c447d8c..9f864ff248956 100644 --- a/recipes/screen_capture_lite/all/conanfile.py +++ b/recipes/screen_capture_lite/all/conanfile.py @@ -1,14 +1,14 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.microsoft import is_msvc from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.apple import is_apple_os import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.54.0" + class ScreenCaptureLiteConan(ConanFile): name = "screen_capture_lite" @@ -30,7 +30,7 @@ class ScreenCaptureLiteConan(ConanFile): @property def _min_cppstd(self): - return 20 + return "20" if Version(self.version) < "17.1.596" else "17" @property def _compilers_minimum_version(self): @@ -61,36 +61,25 @@ def requirements(self): self.requires("xorg/system") def validate(self): - if self.info.settings.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.info.settings.compiler), False) - if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + 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.info.settings.compiler == "clang" and self.info.settings.compiler.get_safe("libcxx") == "libstdc++": + if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libstdc++": raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libstdc++") # Since 17.1.451, screen_capture_lite uses CGPreflightScreenCaptureAccess which is provided by macOS SDK 11 later. if Version(self.version) >= "17.1.451" and \ - is_apple_os(self) and Version(self.info.settings.compiler.version) <= "11": + self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) <= "11": raise ConanInvalidConfiguration(f"{self.ref} requires CGPreflightScreenCaptureAccess which support macOS SDK 11 later.") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if Version(self.version) >= "17.1.596" and not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.3") + if Version(self.version) >= "17.1.596": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -103,7 +92,6 @@ def generate(self): tc.variables["CMAKE_SYSTEM_VERSION"] = "10.0.18362.0" if Version(self.version) >= "17.1.613": tc.variables["BUILD_CSHARP"] = False - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() deps = CMakeDeps(self) diff --git a/recipes/screen_capture_lite/all/test_v1_package/conanfile.py b/recipes/screen_capture_lite/all/test_v1_package/conanfile.py index 132c03950e167..5a05af3c2dfd2 100644 --- a/recipes/screen_capture_lite/all/test_v1_package/conanfile.py +++ b/recipes/screen_capture_lite/all/test_v1_package/conanfile.py @@ -1,6 +1,5 @@ from conans import ConanFile, CMake from conan.tools.build import cross_building -from conan.tools.microsoft import is_msvc import os From 4a9f95fb4c9a7f68ec3801bea43d7036fea0d252 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 08:02:04 +0200 Subject: [PATCH 0210/4087] (#17439) bitserializer: fix conan v2 regression introduced by previous PR & new logic in 0.50 * fix conan v2 support & logic of recipe - fix regression of previous of PR regarding conan v2 (self.info.clear(), use self.info in package_id()) - add package_type - add fPIC option when with_csv options is enabled since it generates a static lib - use cmake_layout in case of CMake build - fix transitive traits of rapidyaml - remove with_csv & with_rapidyaml options if version < 0.50, instead of raising - avoid replace_in_file() with strict=False, it's a bad practice * fix illegal access to self.info in package_info() * remove fPIC is header only --- recipes/bitserializer/all/conanfile.py | 88 +++++++++++-------- .../all/test_package/conanfile.py | 4 +- .../all/test_v1_package/conanfile.py | 11 ++- 3 files changed, 62 insertions(+), 41 deletions(-) diff --git a/recipes/bitserializer/all/conanfile.py b/recipes/bitserializer/all/conanfile.py index de0b409d6488a..e4f6815698c02 100644 --- a/recipes/bitserializer/all/conanfile.py +++ b/recipes/bitserializer/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir, replace_in_file from conan.tools.layout import basic_layout from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.51.1" class BitserializerConan(ConanFile): @@ -17,9 +17,10 @@ class BitserializerConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://bitbucket.org/Pavel_Kisliak/bitserializer" license = "MIT" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { + "fPIC": [True, False], "with_cpprestsdk": [True, False], "with_rapidjson": [True, False], "with_pugixml": [True, False], @@ -27,6 +28,7 @@ class BitserializerConan(ConanFile): "with_csv": [True, False], } default_options = { + "fPIC": True, "with_cpprestsdk": False, "with_rapidjson": False, "with_pugixml": False, @@ -50,17 +52,31 @@ def _compilers_minimum_version(self): "apple-clang": "12", } - @property - def _is_header_only(self): + def _is_header_only(self, info=False): + if Version(self.version) < "0.50": + return True # All components of library are header-only except csv-archive - return not self.options.with_csv - - def _patch_sources(self): - # Remove 'ryml' subdirectory from #include - replace_in_file(self, os.path.join(self.source_folder, "include/bitserializer/rapidyaml_archive.h"), "#include = "0.50": + # Remove 'ryml' subdirectory from #include + replace_in_file( + self, os.path.join(self.source_folder, "include", "bitserializer", "rapidyaml_archive.h"), + "#include Date: Wed, 10 May 2023 08:46:20 +0200 Subject: [PATCH 0211/4087] (#16583) Conan v2 support for physx * Create new package for physx to support Conan v2 * Applied suggestions from review * Fixed conandata.yml errors * Fixed missing newline on conanfile.py * Fixed invalid topic name * Added tests for V1 and V2 and removed PDBs * Fixed tests for v1 and v2 * More fixes to tests and linter * Added missing system lib for foundations on Windows * Applied suggestions from review * Reintroduce fPIC settings * Test to fix compilation error on MacOS and clang * Fixed missing parenthesis * Disabled compilation for macOS with c++17 * Disable PhysX compilation for MacOS and C++17 * Added note about fPIC --- recipes/physx/4.x.x/CMakeLists.txt | 7 - recipes/physx/4.x.x/conandata.yml | 15 +- recipes/physx/4.x.x/conanfile.py | 255 ++++++++---------- .../physx/4.x.x/test_package/CMakeLists.txt | 5 +- recipes/physx/4.x.x/test_package/conanfile.py | 25 +- .../4.x.x/test_v1_package/CMakeLists.txt | 17 ++ .../physx/4.x.x/test_v1_package/conanfile.py | 18 ++ .../4.x.x/test_v1_package/test_library.cpp | 25 ++ .../4.x.x/test_v1_package/test_package.cpp | 143 ++++++++++ 9 files changed, 345 insertions(+), 165 deletions(-) delete mode 100644 recipes/physx/4.x.x/CMakeLists.txt create mode 100644 recipes/physx/4.x.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/physx/4.x.x/test_v1_package/conanfile.py create mode 100644 recipes/physx/4.x.x/test_v1_package/test_library.cpp create mode 100644 recipes/physx/4.x.x/test_v1_package/test_package.cpp diff --git a/recipes/physx/4.x.x/CMakeLists.txt b/recipes/physx/4.x.x/CMakeLists.txt deleted file mode 100644 index 8d0517deecfde..0000000000000 --- a/recipes/physx/4.x.x/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/physx/compiler/public") diff --git a/recipes/physx/4.x.x/conandata.yml b/recipes/physx/4.x.x/conandata.yml index 46b51857501a4..6ce5c7aca0b19 100644 --- a/recipes/physx/4.x.x/conandata.yml +++ b/recipes/physx/4.x.x/conandata.yml @@ -5,12 +5,17 @@ sources: patches: "4.1.1": - patch_file: "patches/0001-PsAllocator-include-typeinfo.patch" - base_path: "source_subfolder" + patch_description: "Fixed typeinfo inclusion for some VS versions" + patch_type: "portability" - patch_file: "patches/0002-GuGJKType-const-discard-qualifiers.patch" - base_path: "source_subfolder" + patch_description: "Add missing const qualifier to GuGJKType" + patch_type: "portability" - patch_file: "patches/0003-PsWindowsInlineAoS-msvc142-bug-workaround.patch" - base_path: "source_subfolder" + patch_description: "Workaround for a MSVC 142 bug on V3LoadA" + patch_type: "portability" - patch_file: "patches/0004-Conan-PhysXGpu-name-workaround.patch" - base_path: "source_subfolder" + patch_description: "Fix PhysXGpu library name" + patch_type: "conan" - patch_file: "patches/0005-CMake-macos-ios-android-install-targets.patch" - base_path: "source_subfolder" + patch_description: "Add installation targets for iOS, MacOS, Android" + patch_type: "portability" diff --git a/recipes/physx/4.x.x/conanfile.py b/recipes/physx/4.x.x/conanfile.py index 0bb8f44d71f7b..809257b1a0342 100644 --- a/recipes/physx/4.x.x/conanfile.py +++ b/recipes/physx/4.x.x/conanfile.py @@ -1,12 +1,13 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import load, get, apply_conandata_patches, export_conandata_patches, rm, rmdir, copy, replace_in_file, save +from conan.tools.build import valid_min_cppstd +from conan.tools.scm import Version +from conan.tools.microsoft import msvc_runtime_flag, is_msvc import os -import shutil - -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class PhysXConan(ConanFile): name = "physx" @@ -14,7 +15,7 @@ class PhysXConan(ConanFile): "physics solution supporting a wide range of devices, " \ "from smartphones to high-end multicore CPUs and GPUs." license = "BSD-3-Clause" - topics = ("PhysX", "physics", "physics-engine", "physics-simulation", "game-development", "cuda") + topics = ("physx", "physics", "physics-engine", "physics-simulation", "game-development", "cuda") homepage = "https://github.com/NVIDIAGameWorks/PhysX" url = "https://github.com/conan-io/conan-center-index" @@ -37,24 +38,13 @@ class PhysXConan(ConanFile): no_copy_source = True short_paths = True - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] + generators = "CMakeDeps" 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 config_options(self): if self.settings.os == "Windows": @@ -68,26 +58,27 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def validate(self): if self.settings.os not in ["Windows", "Linux", "Macos", "Android", "iOS"]: raise ConanInvalidConfiguration("Current os is not supported") - if self.settings.os == "Macos" and self.settings.arch not in ["x86", "x86_64"]: - raise ConanInvalidConfiguration("{} only supports x86 and x86_64 on macOS".format(self.name)) + if self.settings.os == "Macos": + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration("{} only supports x86 and x86_64 on macOS".format(self.name)) + + if valid_min_cppstd(self, 17): + raise ConanInvalidConfiguration("{} is not supported with C++ 17. Contributions are welcome.".format(self.name)) build_type = self.settings.build_type if build_type not in ["Debug", "RelWithDebInfo", "Release"]: raise ConanInvalidConfiguration("Current build_type is not supported") - if self.settings.os == "Windows" and not self._is_msvc: + if self.settings.os == "Windows" and not is_msvc(self): raise ConanInvalidConfiguration("{} only supports Visual Studio on Windows".format(self.name)) - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) < 9: - raise ConanInvalidConfiguration("Visual Studio versions < 9 are not supported") - - if self._is_msvc: + if is_msvc(self): allowed_runtimes = ["MDd", "MTd"] if build_type == "Debug" else ["MD", "MT"] if msvc_runtime_flag(self) not in allowed_runtimes: raise ConanInvalidConfiguration( @@ -98,56 +89,84 @@ def validate(self): ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + + # Needed. See https://github.com/conan-io/conan-center-index/pull/16583#discussion_r1188548265 for details + tc.cache_variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + + # Options defined in physx/compiler/public/CMakeLists.txt + tc.cache_variables["TARGET_BUILD_PLATFORM"] = self._get_target_build_platform() + tc.cache_variables["PX_BUILDSNIPPETS"] = False + tc.cache_variables["PX_BUILDPUBLICSAMPLES"] = False + tc.cache_variables["PX_CMAKE_SUPPRESS_REGENERATION"] = False + cmakemodules_abspath = os.path.join( + self.build_folder, + self.source_folder, + "externals", + self._get_cmakemodules_subfolder() + ) + tc.cache_variables["CMAKEMODULES_PATH"] = cmakemodules_abspath.replace("\\", "/") + tc.cache_variables["PHYSX_ROOT_DIR"] = os.path.join(self.source_folder, "physx").replace("\\", "/") + + # Options defined in physx/source/compiler/cmake/CMakeLists.txt + if self.settings.os in ["Windows", "Android"]: + tc.cache_variables["PX_SCALAR_MATH"] = not self.options.enable_simd # this value doesn't matter on other os + tc.cache_variables["PX_GENERATE_STATIC_LIBRARIES"] = not self.options.shared + tc.cache_variables["PX_EXPORT_LOWLEVEL_PDB"] = False + tc.cache_variables["PXSHARED_PATH"] = os.path.join(self.source_folder, "pxshared").replace("\\", "/") + tc.cache_variables["PXSHARED_INSTALL_PREFIX"] = self.package_folder.replace("\\", "/") + tc.cache_variables["PX_GENERATE_SOURCE_DISTRO"] = False + + # Options defined in externals/cmakemodules/NVidiaBuildOptions.cmake + tc.cache_variables["NV_APPEND_CONFIG_NAME"] = False + tc.cache_variables["NV_USE_GAMEWORKS_OUTPUT_DIRS"] = False + if is_msvc(self): + tc.cache_variables["NV_USE_STATIC_WINCRT"] = "MT" in msvc_runtime_flag(self) + tc.cache_variables["NV_USE_DEBUG_WINCRT"] = "d" in msvc_runtime_flag(self) + tc.cache_variables["NV_FORCE_64BIT_SUFFIX"] = False + tc.cache_variables["NV_FORCE_32BIT_SUFFIX"] = False + tc.cache_variables["PX_ROOT_LIB_DIR"] = os.path.join(self.package_folder, "lib").replace("\\", "/") + + if self.settings.os == "Windows": + # Options defined in physx/source/compiler/cmake/windows/CMakeLists.txt + tc.cache_variables["PX_COPY_EXTERNAL_DLL"] = False # External dll copy disabled, PhysXDevice dll copy is handled afterward during conan packaging + tc.cache_variables["PX_FLOAT_POINT_PRECISE_MATH"] = self.options.enable_float_point_precise_math + tc.cache_variables["PX_USE_NVTX"] = False # Could be controlled by an option if NVTX had a recipe, disabled for the moment + tc.cache_variables["GPU_DLL_COPIED"] = True # PhysXGpu dll copy disabled, this copy is handled afterward during conan packaging + + # Options used in physx/source/compiler/cmake/windows/PhysX.cmake + tc.cache_variables["PX_GENERATE_GPU_PROJECTS"] = False + + tc.generate() def build(self): - self._copy_sources() self._patch_sources() - cmake = self._configure_cmake() - cmake.build() - - def _copy_sources(self): - # Copy CMakeLists wrapper - shutil.copy(os.path.join(self.source_folder, "CMakeLists.txt"), "CMakeLists.txt") - - # Copy patches - if "patches" in self.conan_data and not os.path.exists("patches"): - os.mkdir("patches") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - shutil.copy(os.path.join(self.source_folder, patch["patch_file"]), "patches") - - # Copy PhysX source code - subfolders_to_copy = [ - "pxshared", - os.path.join("externals", self._get_cmakemodules_subfolder()), - os.path.join("physx", "compiler"), - os.path.join("physx", "include"), - os.path.join("physx", "source"), - ] - for subfolder in subfolders_to_copy: - shutil.copytree(os.path.join(self.source_folder, self._source_subfolder, subfolder), - os.path.join(self._source_subfolder, subfolder)) + + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "physx/compiler/public")) + cmake.build(build_type=self._get_physx_build_type()) def _get_cmakemodules_subfolder(self): return "CMakeModules" if self.settings.os == "Windows" else "cmakemodules" def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + apply_conandata_patches(self) # There is no reason to force consumer of PhysX public headers to use one of # NDEBUG or _DEBUG, since none of them relies on NDEBUG or _DEBUG - tools.replace_in_file(os.path.join(self._source_subfolder, "pxshared", "include", "foundation", "PxPreprocessor.h"), + replace_in_file(self, os.path.join(self.source_folder, "pxshared", "include", "foundation", "PxPreprocessor.h"), "#error Exactly one of NDEBUG and _DEBUG needs to be defined!", "// #error Exactly one of NDEBUG and _DEBUG needs to be defined!") - physx_source_cmake_dir = os.path.join(self._source_subfolder, "physx", "source", "compiler", "cmake") + physx_source_cmake_dir = os.path.join(self.source_folder, "physx", "source", "compiler", "cmake") # Remove global and specifics hard-coded PIC settings # (conan's CMake build helper properly sets CMAKE_POSITION_INDEPENDENT_CODE # depending on options) - tools.replace_in_file(os.path.join(physx_source_cmake_dir, "CMakeLists.txt"), + replace_in_file(self, os.path.join(physx_source_cmake_dir, "CMakeLists.txt"), "SET(CMAKE_POSITION_INDEPENDENT_CODE ON)", "") for cmake_file in ( "FastXml.cmake", @@ -167,72 +186,17 @@ def _patch_sources(self): "SimulationController.cmake", ): target, _ = os.path.splitext(os.path.basename(cmake_file)) - tools.replace_in_file(os.path.join(physx_source_cmake_dir, cmake_file), + replace_in_file(self, os.path.join(physx_source_cmake_dir, cmake_file), "SET_TARGET_PROPERTIES({} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)".format(target), "") # No error for compiler warnings - tools.replace_in_file(os.path.join(physx_source_cmake_dir, "windows", "CMakeLists.txt"), + replace_in_file(self, os.path.join(physx_source_cmake_dir, "windows", "CMakeLists.txt"), "/WX", "") for cmake_os in ("linux", "mac", "android", "ios"): - tools.replace_in_file(os.path.join(physx_source_cmake_dir, cmake_os, "CMakeLists.txt"), + replace_in_file(self, os.path.join(physx_source_cmake_dir, cmake_os, "CMakeLists.txt"), "-Werror", "") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self, build_type=self._get_physx_build_type()) - - cmake.definitions["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) - - # Options defined in physx/compiler/public/CMakeLists.txt - cmake.definitions["TARGET_BUILD_PLATFORM"] = self._get_target_build_platform() - cmake.definitions["PX_BUILDSNIPPETS"] = False - cmake.definitions["PX_BUILDPUBLICSAMPLES"] = False - cmake.definitions["PX_CMAKE_SUPPRESS_REGENERATION"] = False - cmakemodules_abspath = os.path.join( - self.build_folder, - self._source_subfolder, - "externals", - self._get_cmakemodules_subfolder() - ) - cmake.definitions["CMAKEMODULES_PATH"] = cmakemodules_abspath.replace("\\", "/") - cmake.definitions["PHYSX_ROOT_DIR"] = os.path.join(self.build_folder, self._source_subfolder, "physx").replace("\\", "/") - - # Options defined in physx/source/compiler/cmake/CMakeLists.txt - if self.settings.os in ["Windows", "Android"]: - cmake.definitions["PX_SCALAR_MATH"] = not self.options.enable_simd # this value doesn't matter on other os - cmake.definitions["PX_GENERATE_STATIC_LIBRARIES"] = not self.options.shared - cmake.definitions["PX_EXPORT_LOWLEVEL_PDB"] = False - cmake.definitions["PXSHARED_PATH"] = os.path.join(self.build_folder, self._source_subfolder, "pxshared").replace("\\", "/") - cmake.definitions["PXSHARED_INSTALL_PREFIX"] = self.package_folder.replace("\\", "/") - cmake.definitions["PX_GENERATE_SOURCE_DISTRO"] = False - - # Options defined in externals/cmakemodules/NVidiaBuildOptions.cmake - cmake.definitions["NV_APPEND_CONFIG_NAME"] = False - cmake.definitions["NV_USE_GAMEWORKS_OUTPUT_DIRS"] = False - if self._is_msvc: - cmake.definitions["NV_USE_STATIC_WINCRT"] = "MT" in msvc_runtime_flag(self) - cmake.definitions["NV_USE_DEBUG_WINCRT"] = "d" in msvc_runtime_flag(self) - cmake.definitions["NV_FORCE_64BIT_SUFFIX"] = False - cmake.definitions["NV_FORCE_32BIT_SUFFIX"] = False - cmake.definitions["PX_ROOT_LIB_DIR"] = os.path.join(self.package_folder, "lib").replace("\\", "/") - - if self.settings.os == "Windows": - # Options defined in physx/source/compiler/cmake/windows/CMakeLists.txt - cmake.definitions["PX_COPY_EXTERNAL_DLL"] = False # External dll copy disabled, PhysXDevice dll copy is handled afterward during conan packaging - cmake.definitions["PX_FLOAT_POINT_PRECISE_MATH"] = self.options.enable_float_point_precise_math - cmake.definitions["PX_USE_NVTX"] = False # Could be controlled by an option if NVTX had a recipe, disabled for the moment - cmake.definitions["GPU_DLL_COPIED"] = True # PhysXGpu dll copy disabled, this copy is handled afterward during conan packaging - - # Options used in physx/source/compiler/cmake/windows/PhysX.cmake - cmake.definitions["PX_GENERATE_GPU_PROJECTS"] = False - - cmake.configure( - build_folder=os.path.join(self.build_folder, self._build_subfolder), - source_folder=os.path.join(self.build_folder), - ) - return cmake - def _get_physx_build_type(self): if self.settings.build_type == "Debug": return "debug" @@ -254,25 +218,28 @@ def _get_target_build_platform(self): }.get(str(self.settings.os)) def package(self): - cmake = self._configure_cmake() - cmake.install() + cmake = CMake(self) + cmake.install(build_type=self._get_physx_build_type()) + + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._get_license()) - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._get_license()) + cmake_installation_dir = os.path.join(self.package_folder, "lib", self._get_physx_build_type()) + package_dst_lib_dir = os.path.join(self.package_folder, "lib") + package_dst_bin_dir = os.path.join(self.package_folder, "bin") - out_lib_dir = os.path.join(self.package_folder, "lib", self._get_physx_build_type()) - self.copy(pattern="*.a", dst="lib", src=out_lib_dir, keep_path=False) - self.copy(pattern="*.so", dst="lib", src=out_lib_dir, keep_path=False) - self.copy(pattern="*.dylib*", dst="lib", src=out_lib_dir, keep_path=False) - self.copy(pattern="*.lib", dst="lib", src=out_lib_dir, keep_path=False) - self.copy(pattern="*.dll", dst="bin", src=out_lib_dir, keep_path=False) + copy(self, pattern="*.a", dst=package_dst_lib_dir, src=cmake_installation_dir, keep_path=False) + copy(self, pattern="*.so", dst=package_dst_lib_dir, src=cmake_installation_dir, keep_path=False) + copy(self, pattern="*.dylib*", dst=package_dst_lib_dir, src=cmake_installation_dir, keep_path=False) + copy(self, pattern="*.lib", dst=package_dst_lib_dir, src=cmake_installation_dir, keep_path=False) + copy(self, pattern="*.dll", dst=package_dst_bin_dir, src=cmake_installation_dir, keep_path=False) - tools.rmdir(out_lib_dir) - tools.rmdir(os.path.join(self.package_folder, "source")) + rmdir(self, os.path.join(self.package_folder, "source")) + rmdir(self, cmake_installation_dir) self._copy_external_bin() def _get_license(self): - readme = tools.load(os.path.join(self.source_folder, self._source_subfolder, "README.md")) + readme = load(self, os.path.join(self.source_folder, "README.md")) begin = readme.find("Copyright") end = readme.find("\n## Introduction", begin) return readme[begin:end] @@ -281,28 +248,30 @@ def _copy_external_bin(self): # For Windows and Linux 64 bits, PhysXGpu (and PhysXDevice on Windows) # precompiled shared libs must also be provided to end-user if # application uses GPU features. - external_bin_dir = os.path.join(self.source_folder, self._source_subfolder, "physx", "bin") + external_bin_dir = os.path.join(self.source_folder, "physx", "bin") physx_build_type = self._get_physx_build_type() - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = self.settings.compiler.version if self.settings.os == "Linux" and self.settings.arch == "x86_64": + package_dst_lib_dir = os.path.join(self.package_folder, "lib") physx_gpu_dir = os.path.join(external_bin_dir, "linux.clang", physx_build_type) - self.copy(pattern="*PhysXGpu*.so", dst="lib", src=physx_gpu_dir, keep_path=False) - elif self.settings.os == "Windows" and \ - ((self.settings.compiler == "Visual Studio" and compiler_version >= "12") or \ - str(self.settings.compiler) == "msvc"): + copy(self, pattern="*PhysXGpu*.so", dst=package_dst_lib_dir, src=physx_gpu_dir, keep_path=False) + elif self.settings.os == "Windows" and is_msvc(self): physx_arch = {"x86": "x86_32", "x86_64": "x86_64"}.get(str(self.settings.arch)) dll_info_list = [{ "pattern": "PhysXGpu*.dll", "vc_ver": {"x86": "vc120", "x86_64": "vc140"}.get(str(self.settings.arch)) }, { "pattern": "PhysXDevice*.dll", - "vc_ver": {"12": "vc120", "14": "vc140", "15": "vc141"}.get(str(compiler_version), "vc142") + "vc_ver": {"180": "vc120", "190": "vc140", "191": "vc141"}.get(str(compiler_version), "vc142") }] + + package_dst_bin_dir = os.path.join(self.package_folder, "bin") + for dll_info in dll_info_list: dll_subdir = "win.{0}.{1}.mt".format(physx_arch, dll_info.get("vc_ver")) dll_dir = os.path.join(external_bin_dir, dll_subdir, physx_build_type) - self.copy(pattern=dll_info.get("pattern"), dst="bin", src=dll_dir, keep_path=False) + copy(self, pattern=dll_info.get("pattern"), dst=package_dst_bin_dir, src=dll_dir, keep_path=False) def package_info(self): self.cpp_info.set_property("cmake_file_name", "PhysX") @@ -314,6 +283,8 @@ def package_info(self): self.cpp_info.components["physxfoundation"].system_libs = ["m", "pthread", "rt"] elif self.settings.os == "Android": self.cpp_info.components["physxfoundation"].system_libs = ["log"] + elif self.settings.os == "Windows": + self.cpp_info.components["physxfoundation"].system_libs = ["ws2_32"] # PhysXCommon self.cpp_info.components["physxcommon"].set_property("cmake_target_name", "PhysX::PhysXCommon") diff --git a/recipes/physx/4.x.x/test_package/CMakeLists.txt b/recipes/physx/4.x.x/test_package/CMakeLists.txt index e6ab5b97e050a..b7cd3b4aec9e9 100644 --- a/recipes/physx/4.x.x/test_package/CMakeLists.txt +++ b/recipes/physx/4.x.x/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(PhysX REQUIRED PhysX PhysXExtensions CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) @@ -11,7 +8,7 @@ target_link_libraries(${PROJECT_NAME} PhysX::PhysX PhysX::PhysXExtensions) option(TEST_SHARED_LIBRARY "Build a test shared library") if(TEST_SHARED_LIBRARY) - find_package(PhysX REQUIRED PhysXFoundation) + find_package(PhysX REQUIRED PhysXFoundation CONFIG) add_library(${PROJECT_NAME}_lib SHARED test_library.cpp) target_link_libraries(${PROJECT_NAME}_lib PhysX::PhysXFoundation PhysX::PhysXExtensions) endif() diff --git a/recipes/physx/4.x.x/test_package/conanfile.py b/recipes/physx/4.x.x/test_package/conanfile.py index 4cdfb6a5e4042..3bc1fe0a67f9f 100644 --- a/recipes/physx/4.x.x/test_package/conanfile.py +++ b/recipes/physx/4.x.x/test_package/conanfile.py @@ -1,18 +1,29 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout import os - class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["TEST_SHARED_LIBRARY"] = True if "fPIC" not in self.options["physx"].fields else self.options["physx"].fPIC + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["TEST_SHARED_LIBRARY"] = True if "fPIC" not in self.options["physx"].fields else self.options["physx"].fPIC 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): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/physx/4.x.x/test_v1_package/CMakeLists.txt b/recipes/physx/4.x.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..e6ab5b97e050a --- /dev/null +++ b/recipes/physx/4.x.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(PhysX REQUIRED PhysX PhysXExtensions CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PhysX::PhysX PhysX::PhysXExtensions) + +option(TEST_SHARED_LIBRARY "Build a test shared library") +if(TEST_SHARED_LIBRARY) + find_package(PhysX REQUIRED PhysXFoundation) + add_library(${PROJECT_NAME}_lib SHARED test_library.cpp) + target_link_libraries(${PROJECT_NAME}_lib PhysX::PhysXFoundation PhysX::PhysXExtensions) +endif() diff --git a/recipes/physx/4.x.x/test_v1_package/conanfile.py b/recipes/physx/4.x.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4cdfb6a5e4042 --- /dev/null +++ b/recipes/physx/4.x.x/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.definitions["TEST_SHARED_LIBRARY"] = True if "fPIC" not in self.options["physx"].fields else self.options["physx"].fPIC + 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/physx/4.x.x/test_v1_package/test_library.cpp b/recipes/physx/4.x.x/test_v1_package/test_library.cpp new file mode 100644 index 0000000000000..dbd8a536f547c --- /dev/null +++ b/recipes/physx/4.x.x/test_v1_package/test_library.cpp @@ -0,0 +1,25 @@ +#include "PxConfig.h" +#include "PxPhysicsAPI.h" + +using namespace physx; + +#if defined(_WINDOWS) +#include + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { + return TRUE; +} + +#define EXPORTS __declspec(dllexport) +#else +#define EXPORTS +#endif + +PxDefaultAllocator gAllocator; +PxDefaultErrorCallback gErrorCallback; + +EXPORTS +void some_func(void) { + PxFoundation *gFoundation = PxCreateFoundation(PX_PHYSICS_VERSION, gAllocator, gErrorCallback); + gFoundation->release(); +} diff --git a/recipes/physx/4.x.x/test_v1_package/test_package.cpp b/recipes/physx/4.x.x/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..984f48894974c --- /dev/null +++ b/recipes/physx/4.x.x/test_v1_package/test_package.cpp @@ -0,0 +1,143 @@ +#include + +#include "PxConfig.h" +#include "PxPhysicsAPI.h" + +#define PVD_HOST "127.0.0.1" +#define PX_RELEASE(x) if (x) {x->release(); x = NULL;} + +using namespace physx; + +PxDefaultAllocator gAllocator; +PxDefaultErrorCallback gErrorCallback; + +PxFoundation *gFoundation = NULL; +PxPhysics *gPhysics = NULL; + +PxDefaultCpuDispatcher *gDispatcher = NULL; +PxScene *gScene = NULL; + +PxMaterial *gMaterial = NULL; + +PxPvd *gPvd = NULL; + +#if PX_SUPPORT_GPU_PHYSX +PxCudaContextManager *gCudaContextManager = NULL; +#endif + +PxReal stackZ = 10.0f; + +PxRigidDynamic *createDynamic(const PxTransform &t, const PxGeometry &geometry, const PxVec3 &velocity = PxVec3(0)) { + PxRigidDynamic *dynamic = PxCreateDynamic(*gPhysics, t, geometry, *gMaterial, 10.0f); + dynamic->setAngularDamping(0.5f); + dynamic->setLinearVelocity(velocity); + gScene->addActor(*dynamic); + return dynamic; +} + +void createStack(const PxTransform &t, PxU32 size, PxReal halfExtent) { + PxShape *shape = gPhysics->createShape(PxBoxGeometry(halfExtent, halfExtent, halfExtent), *gMaterial); + for (PxU32 i = 0; i < size; ++i) { + for (PxU32 j = 0;j < size - i; ++j) { + PxTransform localTm(PxVec3(PxReal(j * 2) - PxReal(size - i), PxReal(i * 2 + 1), 0) * halfExtent); + PxRigidDynamic *body = gPhysics->createRigidDynamic(t.transform(localTm)); + body->attachShape(*shape); + PxRigidBodyExt::updateMassAndInertia(*body, 10.0f); + gScene->addActor(*body); + } + } + shape->release(); +} + +void initPhysics() { + gFoundation = PxCreateFoundation(PX_PHYSICS_VERSION, gAllocator, gErrorCallback); + + gPvd = PxCreatePvd(*gFoundation); + PxPvdTransport *transport = PxDefaultPvdSocketTransportCreate(PVD_HOST, 5425, 10); + gPvd->connect(*transport, PxPvdInstrumentationFlag::ePROFILE); + + gPhysics = PxCreatePhysics(PX_PHYSICS_VERSION, *gFoundation, PxTolerancesScale(), true, gPvd); + + PxSceneDesc sceneDesc(gPhysics->getTolerancesScale()); + sceneDesc.gravity = PxVec3(0.0f, -9.81f, 0.0f); + gDispatcher = PxDefaultCpuDispatcherCreate(4); + sceneDesc.cpuDispatcher = gDispatcher; + sceneDesc.filterShader = PxDefaultSimulationFilterShader; + +#if PX_SUPPORT_GPU_PHYSX + PxCudaContextManagerDesc cudaContextManagerDesc; + cudaContextManagerDesc.interopMode = PxCudaInteropMode::NO_INTEROP; + gCudaContextManager = PxCreateCudaContextManager(*gFoundation, cudaContextManagerDesc, PxGetProfilerCallback()); //Create the CUDA context manager, required for GRB to dispatch CUDA kernels. + if (gCudaContextManager) { + if (!gCudaContextManager->contextIsValid()) { + gCudaContextManager->release(); + gCudaContextManager = NULL; + } + } + sceneDesc.cudaContextManager = gCudaContextManager; //Set the CUDA context manager, used by GRB. + + sceneDesc.flags |= PxSceneFlag::eENABLE_GPU_DYNAMICS; //Enable GPU dynamics - without this enabled, simulation (contact gen and solver) will run on the CPU. + sceneDesc.flags |= PxSceneFlag::eENABLE_PCM; //Enable PCM. PCM NP is supported on GPU. Legacy contact gen will fall back to CPU + sceneDesc.flags |= PxSceneFlag::eENABLE_STABILIZATION; //Improve solver stability by enabling post-stabilization. + sceneDesc.broadPhaseType = PxBroadPhaseType::eGPU; //Enable GPU broad phase. Without this set, broad phase will run on the CPU. + sceneDesc.gpuMaxNumPartitions = 8; //Defines the maximum number of partitions used by the solver. Only power-of-2 values are valid. + //A value of 8 generally gives best balance between performance and stability. +#endif + + gScene = gPhysics->createScene(sceneDesc); + + PxPvdSceneClient *pvdClient = gScene->getScenePvdClient(); + if (pvdClient) { + pvdClient->setScenePvdFlag(PxPvdSceneFlag::eTRANSMIT_CONSTRAINTS, true); + pvdClient->setScenePvdFlag(PxPvdSceneFlag::eTRANSMIT_CONTACTS, true); + pvdClient->setScenePvdFlag(PxPvdSceneFlag::eTRANSMIT_SCENEQUERIES, true); + } + gMaterial = gPhysics->createMaterial(0.5f, 0.5f, 0.6f); + + PxRigidStatic *groundPlane = PxCreatePlane(*gPhysics, PxPlane(0,1,0,0), *gMaterial); + gScene->addActor(*groundPlane); + + for (PxU32 i = 0; i < 40; ++i) { + createStack(PxTransform(PxVec3(0, 0, stackZ -= 10.0f)), 20, 1.0f); + } + + PxRigidDynamic *ball = createDynamic(PxTransform(PxVec3(0,20,100)), PxSphereGeometry(5), PxVec3(0,-25,-100)); + PxRigidBodyExt::updateMassAndInertia(*ball, 1000.f); +} + +void stepPhysics() { + gScene->simulate(1.0f / 60.0f); + gScene->fetchResults(true); +} + +void cleanupPhysics() { + PX_RELEASE(gScene); + PX_RELEASE(gDispatcher); + PX_RELEASE(gPhysics); + if (gPvd) { + PxPvdTransport *transport = gPvd->getTransport(); + gPvd->release(); + gPvd = NULL; + PX_RELEASE(transport); + } +#if PX_SUPPORT_GPU_PHYSX + PX_RELEASE(gCudaContextManager); +#endif + PX_RELEASE(gFoundation); +} + +int main(int, char **) { + static const PxU32 frameCount = 100; + initPhysics(); + for (PxU32 i = 0; i < frameCount; ++i) { + stepPhysics(); + } + cleanupPhysics(); + + std::cout << "Test of PhysX " + << PX_PHYSICS_VERSION_MAJOR << "." << PX_PHYSICS_VERSION_MINOR << "." << PX_PHYSICS_VERSION_BUGFIX + << " done.\n" + << std::endl; + + return 0; +} From 624bf3da13831db679147ca516a271187cd5e8f8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 10:44:35 +0200 Subject: [PATCH 0212/4087] (#17162) tinymidi: conan v2 support --- recipes/tinymidi/all/CMakeLists.txt | 13 ++++ recipes/tinymidi/all/conanfile.py | 73 +++++++------------ .../tinymidi/all/test_package/CMakeLists.txt | 8 +- .../tinymidi/all/test_package/conanfile.py | 22 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../tinymidi/all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 81 insertions(+), 60 deletions(-) create mode 100644 recipes/tinymidi/all/CMakeLists.txt create mode 100644 recipes/tinymidi/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tinymidi/all/test_v1_package/conanfile.py diff --git a/recipes/tinymidi/all/CMakeLists.txt b/recipes/tinymidi/all/CMakeLists.txt new file mode 100644 index 0000000000000..094fa86cdf303 --- /dev/null +++ b/recipes/tinymidi/all/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.15) +project(tinymidi LANGUAGES C) + +add_library(tinymidi ${TINYMIDI_SRC_DIR}/rawmidi.c) + +include(GNUInstallDirs) +install(FILES ${TINYMIDI_SRC_DIR}/include/rawmidi.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install( + TARGETS tinymidi + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} +) diff --git a/recipes/tinymidi/all/conanfile.py b/recipes/tinymidi/all/conanfile.py index b2ff9ca52409d..02f50473bbbf6 100644 --- a/recipes/tinymidi/all/conanfile.py +++ b/recipes/tinymidi/all/conanfile.py @@ -1,17 +1,20 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, 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 import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class TinyMidiConan(ConanFile): name = "tinymidi" description = "A small C library for doing MIDI on GNU/Linux" - topics = ("conan", "tinymidi", "MIDI") + topics = ("audio", "MIDI") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/krgn/tinymidi" license = "LGPL-3.0-only" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,64 +25,38 @@ class TinyMidiConan(ConanFile): "fPIC": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + exports_sources = "CMakeLists.txt" 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.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("Only Linux and FreeBSD are supported") - def build_requirements(self): - self.build_requires("libtool/2.4.6") - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _get_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - self._autotools.libs = [] - return self._autotools - - def _make_args(self, autotools): - args = [ - "INSTALL_PREFIX={}".format(tools.unix_path(self.package_folder)), - "COMPILE_FLAGS={}".format(autotools.vars["CFLAGS"]), - "LINKING_FLAGS={} -o".format(autotools.vars["LDFLAGS"]), - ] - if tools.get_env("CC"): - args.append("CC={}".format(tools.get_env("CC"))) - return args + def generate(self): + tc = CMakeToolchain(self) + tc.variables["TINYMIDI_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() def build(self): - with tools.chdir(self._source_subfolder): - autotools = self._get_autotools() - make_args = self._make_args(autotools) - autotools.make(args=make_args) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() def package(self): - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - tools.mkdir(os.path.join(self.package_folder, "include")) - tools.mkdir(os.path.join(self.package_folder, "lib")) - with tools.chdir(self._source_subfolder): - autotools = self._get_autotools() - make_args = self._make_args(autotools) - autotools.install(args=make_args) - if self.options.shared: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.a") - else: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.so*") + copy(self, "COPYING", 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 = ["tinymidi"] diff --git a/recipes/tinymidi/all/test_package/CMakeLists.txt b/recipes/tinymidi/all/test_package/CMakeLists.txt index afa2476357074..e64d0510b8470 100644 --- a/recipes/tinymidi/all/test_package/CMakeLists.txt +++ b/recipes/tinymidi/all/test_package/CMakeLists.txt @@ -1,9 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(tinymidi REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE tinymidi::tinymidi) diff --git a/recipes/tinymidi/all/test_package/conanfile.py b/recipes/tinymidi/all/test_package/conanfile.py index 07847b3d9465f..98ab55852ad56 100644 --- a/recipes/tinymidi/all/test_package/conanfile.py +++ b/recipes/tinymidi/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tinymidi/all/test_v1_package/CMakeLists.txt b/recipes/tinymidi/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/tinymidi/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinymidi/all/test_v1_package/conanfile.py b/recipes/tinymidi/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/tinymidi/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 32befb7d6204bf553d47c156b0203f6c6bd686de Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 10 May 2023 11:22:18 +0200 Subject: [PATCH 0213/4087] (#17497) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index fb06fc548f78e..03fc21f2749e9 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -40,6 +40,7 @@ required_for_references: - automake - avir - aws-c-common +- aws-c-compression - aws-checksums - b2 - b64 @@ -182,20 +183,30 @@ required_for_references: - drmp3 - drwav - duckdb +- eabase - earcut - easy_profiler - ecos - editline - edlib +- effcee - egl - eigen - elfio - embree3 +- enet +- entityx - enum-flags +- erikzenker-hsm +- erkir +- eternal - etl +- exiv2 - expat - expected-lite - exprtk +- ezc3d +- faac - fakeit - farmhash - fast-cdr @@ -369,6 +380,7 @@ required_for_references: - libusb - libuuid - libuv +- libuvc - libverto - libvips - libvpx @@ -463,6 +475,7 @@ required_for_references: - poco - popt - proj +- prometheus-cpp - proposal - protobuf - psimd @@ -485,6 +498,7 @@ required_for_references: - rapidyaml - re2 - readerwriterqueue +- readline - readosm - restbed - restinio @@ -496,6 +510,7 @@ required_for_references: - scnlib - sdl - sdl_image +- seadex-essentials - semimap - sentry-breakpad - serd From 1dc8977cd6462cb9fee3ba525f99e4928cedfd60 Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Wed, 10 May 2023 11:43:35 +0200 Subject: [PATCH 0214/4087] (#17494) fast-cdr: Bump version to 1.0.27 --- 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 cdb8b2a2124ba..6a9ba77868449 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.27": + url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.27.tar.gz" + sha256: "a9bc8fd31a2c2b95e6d2fb46e6ce1ad733e86dc4442f733479e33ed9cdc54bf6" "1.0.26": url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.26.tar.gz" sha256: "812b29dd9fa8b79395dea3f4b810f9ab9e820fa4f0a666338c279b739a36595d" diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index 1c38f8cdfa493..3527dfb5e8511 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.27": + folder: all "1.0.26": folder: all "1.0.24": From fe7fd7e5f981b742aea8400b62f6d8b5f5720a3d Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 10 May 2023 11:23:41 +0100 Subject: [PATCH 0215/4087] (#17498) foonathan: cleanup warning --- recipes/foonathan-memory/all/conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/foonathan-memory/all/conanfile.py b/recipes/foonathan-memory/all/conanfile.py index 8d963cf86b4eb..041ce28409468 100644 --- a/recipes/foonathan-memory/all/conanfile.py +++ b/recipes/foonathan-memory/all/conanfile.py @@ -71,7 +71,6 @@ def _patch_sources(self): apply_conandata_patches(self) current_version = Version(self.version) if current_version >= "0.7.2" and current_version < "0.7.4": - self.output.warning("WEJ09138409238409238FLKSJDSALFKJSDFLK JLKULIUS") # Remove static linking when cross-building, see: # https://github.com/conan-io/conan-center-index/pull/16997#issuecomment-1508243262 # https://github.com/foonathan/memory/issues/162 From b0a66451745ceae9fe99e12a87295a60dce02fe6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 May 2023 13:02:24 +0200 Subject: [PATCH 0216/4087] (#17493) at-spi2-core/new/: bump deps --- recipes/at-spi2-core/new/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/at-spi2-core/new/conanfile.py b/recipes/at-spi2-core/new/conanfile.py index d40f68c8b3da5..a1cb677e5eea0 100644 --- a/recipes/at-spi2-core/new/conanfile.py +++ b/recipes/at-spi2-core/new/conanfile.py @@ -44,12 +44,12 @@ def configure(self): self.options["glib"].shared = True def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") def requirements(self): - self.requires("glib/2.75.2") + self.requires("glib/2.76.2") if self.options.with_x11: self.requires("xorg/system") self.requires("dbus/1.15.2") From 355d367211822e1a409eb7b26d5517e28966ed03 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 10 May 2023 13:44:37 +0200 Subject: [PATCH 0217/4087] (#17455) [bot] Update authorized users list (2023-05-08) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 87654946dfc0c..e65e955232924 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1137,3 +1137,8 @@ authorized_users: - jeffgarrett - Maaown - Knapock +- kaveish +- kwach +- BrettDong +- mtudan +- kontrybutor From 211c7f6dadd519cf5b0f52ea9d35c480bb8ab5b1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 14:03:22 +0200 Subject: [PATCH 0218/4087] (#17396) wise_enum: conan v2 support * conan v2 support * fix indentation of config.yml --- recipes/wise_enum/all/conanfile.py | 68 +++++++++++-------- .../wise_enum/all/test_package/CMakeLists.txt | 7 +- .../wise_enum/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ recipes/wise_enum/config.yml | 2 +- 6 files changed, 84 insertions(+), 39 deletions(-) create mode 100644 recipes/wise_enum/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/wise_enum/all/test_v1_package/conanfile.py diff --git a/recipes/wise_enum/all/conanfile.py b/recipes/wise_enum/all/conanfile.py index 8253de9c07846..88c84965977d4 100644 --- a/recipes/wise_enum/all/conanfile.py +++ b/recipes/wise_enum/all/conanfile.py @@ -1,7 +1,13 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.50.0" class WiseEnumConan(ConanFile): @@ -22,49 +28,55 @@ class WiseEnumConan(ConanFile): homepage = "https://github.com/quicknir/wise_enum" url = "https://github.com/conan-io/conan-center-index" license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "11" - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + } - compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + def layout(self): + basic_layout(self, src_folder="src") - minimal_version = { - "gcc": "5" - } - unsupported = {"Visual Studio"} - if compiler in unsupported: - raise ConanInvalidConfiguration( - "{} does not support {} compiler".format(self.name, compiler) - ) + def package_id(self): + self.info.clear() - if compiler in minimal_version and compiler_version < minimal_version[compiler]: + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration("Visual Studio is not supported") + + 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( - "{} requires {} compiler {} or newer [is: {}]".format(self.name, compiler, minimal_version[compiler], compiler_version) + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def package_id(self): - self.info.header_only() - 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 build(self): + pass def package(self): - self.copy("*.h", dst="include", src=self._source_subfolder) - self.copy("LICENSE", dst="licenses" , src=self._source_subfolder) + 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")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "WiseEnum") self.cpp_info.set_property("cmake_target_name", "WiseEnum::wise_enum") self.cpp_info.set_property("pkg_config_name", "WiseEnum") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "WiseEnum" @@ -74,3 +86,5 @@ def package_info(self): self.cpp_info.components["_wise_enum"].names["cmake_find_package_multi"] = "wise_enum" self.cpp_info.components["_wise_enum"].set_property("cmake_target_name", "WiseEnum::wise_enum") self.cpp_info.components["_wise_enum"].set_property("pkg_config_name", "WiseEnum") + self.cpp_info.components["_wise_enum"].bindirs = [] + self.cpp_info.components["_wise_enum"].libdirs = [] diff --git a/recipes/wise_enum/all/test_package/CMakeLists.txt b/recipes/wise_enum/all/test_package/CMakeLists.txt index fbc90fdad3ead..6131dd641fdb9 100644 --- a/recipes/wise_enum/all/test_package/CMakeLists.txt +++ b/recipes/wise_enum/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES CXX) find_package(WiseEnum REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) target_link_libraries(${PROJECT_NAME} WiseEnum::wise_enum) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/wise_enum/all/test_package/conanfile.py b/recipes/wise_enum/all/test_package/conanfile.py index 49a3a66ea5bad..0a6bc68712d90 100644 --- a/recipes/wise_enum/all/test_package/conanfile.py +++ b/recipes/wise_enum/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/wise_enum/all/test_v1_package/CMakeLists.txt b/recipes/wise_enum/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/wise_enum/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/wise_enum/all/test_v1_package/conanfile.py b/recipes/wise_enum/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/wise_enum/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/wise_enum/config.yml b/recipes/wise_enum/config.yml index 2570ef88d7259..c6ac749e0b234 100644 --- a/recipes/wise_enum/config.yml +++ b/recipes/wise_enum/config.yml @@ -1,3 +1,3 @@ versions: - "3.0.0": + "3.0.0": folder: all From 6fab9347920f25624740f3db9de09efc4c16779f Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Wed, 10 May 2023 14:44:18 +0200 Subject: [PATCH 0219/4087] (#17153) ccache: add version 4.8 * ccache: add version 4.8 * ccache: simplify conanfile * ccache: work around glibc incompatibilities * ccache: exclude CCI runner with Clang 11 and libstdc++ from GCC 7 * fixup! ccache: exclude CCI runner with Clang 11 and libstdc++ from GCC 7 --- recipes/ccache/all/conandata.yml | 7 +++ recipes/ccache/all/conanfile.py | 55 ++++++------------- .../all/patches/4.8-cmake-msvc-runtime.patch | 11 ++++ recipes/ccache/config.yml | 2 + 4 files changed, 38 insertions(+), 37 deletions(-) create mode 100644 recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index 50d1ae7c89749..f619a4b106905 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "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.8": + - patch_file: "patches/4.8-cmake-msvc-runtime.patch" + patch_description: "fixup MSVC runtime" + patch_type: "conan" "4.7.4": - patch_file: "patches/4.7.4-cmake-msvc-runtime.patch" patch_description: "fixup MSVC runtime" diff --git a/recipes/ccache/all/conanfile.py b/recipes/ccache/all/conanfile.py index 8ad717ae1195e..d2852b89b924b 100644 --- a/recipes/ccache/all/conanfile.py +++ b/recipes/ccache/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.build import check_min_cppstd from conan.tools.scm import Version -from conan.tools.microsoft import is_msvc +from conan.tools.microsoft import check_min_vs, is_msvc import os required_conan_version = ">=1.55.0" @@ -31,29 +31,15 @@ class CcacheConan(ConanFile): @property def _min_cppstd(self): - if Version(self.version) > "4.7": - return "17" - else: - return "17" if is_msvc(self) else "14" + return "17" @property def _compilers_minimum_version(self): - if Version(self.version) > "4.7": - return { - "gcc": "8", - "clang": "9", - "apple-clang": "11", - "Visual Studio": "16.2", - "msvc": "192", - } - else: - return { - "gcc": "6", - "clang": "6", - "apple-clang": "10", - "Visual Studio": "15.7" if Version(self.version) < "4.6" else "16.2", - "msvc": "191" if Version(self.version) < "4.6" else "192" - } + return { + "gcc": "8", + "clang": "9", + "apple-clang": "11", + } def export_sources(self): export_conandata_patches(self) @@ -67,23 +53,18 @@ def requirements(self): self.requires("hiredis/1.1.0") def validate(self): - if self.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - - def lazy_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] - - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and lazy_lt_semver(str(self.settings.compiler.version), minimum_version): - raise ConanInvalidConfiguration( - "{} requires C++{}, which your compiler does not support.".format(self.name, self._min_cppstd) - ) - - def package_id(self): - del self.info.settings.compiler + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if self.settings.compiler== "clang" and Version(self.settings.compiler.version).major == "11" and \ + self.settings.compiler.libcxx == "libstdc++": + raise ConanInvalidConfiguration(f"{self.ref} requires C++ filesystem library, that is not supported by Clang 11 + libstdc++.") def build_requirements(self): self.tool_requires("cmake/3.25.3") diff --git a/recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch b/recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch new file mode 100644 index 0000000000000..0bc4c5ce8f995 --- /dev/null +++ b/recipes/ccache/all/patches/4.8-cmake-msvc-runtime.patch @@ -0,0 +1,11 @@ +--- 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/config.yml b/recipes/ccache/config.yml index cef04a1dc93b4..f0dd21774402e 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,3 +1,5 @@ versions: + "4.8": + folder: all "4.7.4": folder: all From a9513fdc9273049347078b52e86ee71dc4bf0337 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 10 May 2023 15:22:04 +0200 Subject: [PATCH 0220/4087] (#17501) [opencv] Remove 4.5.x old patch versions Signed-off-by: Uilian Ries --- recipes/opencv/4.x/conandata.yml | 57 -------------------------------- recipes/opencv/config.yml | 6 ---- 2 files changed, 63 deletions(-) diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml index 07c4f73b1ee73..3da12bba6234f 100644 --- a/recipes/opencv/4.x/conandata.yml +++ b/recipes/opencv/4.x/conandata.yml @@ -9,21 +9,6 @@ sources: sha256: "77f616ae4bea416674d8c373984b20c8bd55e7db887fd38c6df73463a0647bab" - url: "https://github.com/opencv/opencv_contrib/archive/4.5.3.tar.gz" sha256: "73da052fd10e73aaba2560eaff10cc5177e2dcc58b27f8aedf7c649e24c233bc" - "4.5.2": - - url: "https://github.com/opencv/opencv/archive/4.5.2.tar.gz" - sha256: "ae258ed50aa039279c3d36afdea5c6ecf762515836b27871a8957c610d0424f8" - - url: "https://github.com/opencv/opencv_contrib/archive/4.5.2.tar.gz" - sha256: "9f52fd3114ac464cb4c9a2a6a485c729a223afb57b9c24848484e55cef0b5c2a" - "4.5.1": - - url: "https://github.com/opencv/opencv/archive/4.5.1.tar.gz" - sha256: "e27fe5b168918ab60d58d7ace2bd82dd14a4d0bd1d3ae182952c2113f5637513" - - url: "https://github.com/opencv/opencv_contrib/archive/4.5.1.tar.gz" - sha256: "12c3b1ddd0b8c1a7da5b743590a288df0934e5cef243e036ca290c2e45e425f5" - "4.5.0": - - url: "https://github.com/opencv/opencv/archive/4.5.0.tar.gz" - sha256: "dde4bf8d6639a5d3fe34d5515eab4a15669ded609a1d622350c7ff20dace1907" - - url: "https://github.com/opencv/opencv_contrib/archive/4.5.0.tar.gz" - sha256: "a65f1f0b98b2c720abbf122c502044d11f427a43212d85d8d2402d7a6339edda" "4.1.2": - url: "https://github.com/opencv/opencv/archive/4.1.2.tar.gz" sha256: "385dd0a9c25e67ef0dd60e022d2a2d7b17e2f36819cf3cb46aa8cdff5c5282c9" @@ -62,48 +47,6 @@ patches: - patch_file: "patches/4.1.2-0007-android-install-layout.patch" patch_description: "Honor install layout from conan if Android" patch_type: "conan" - "4.5.2": - - patch_file: "patches/4.1.2-0001-find-openexr.patch" - patch_description: "Robust discovery & injection of OpenEXR" - patch_type: "conan" - - patch_file: "patches/4.5.0-0002-find-ade.patch" - patch_description: "Robust discovery & injection of ade" - patch_type: "conan" - - patch_file: "patches/4.1.2-0003-find-quirc.patch" - patch_description: "Robust discovery & injection of quirc" - patch_type: "conan" - - patch_file: "patches/4.5.2-0001-fix-zlib-static-android.patch" - patch_description: "Fix discovery of zlib static if Android" - patch_type: "conan" - - patch_file: "patches/4.1.2-0007-android-install-layout.patch" - patch_description: "Honor install layout from conan if Android" - patch_type: "conan" - "4.5.1": - - patch_file: "patches/4.1.2-0001-find-openexr.patch" - patch_description: "Robust discovery & injection of OpenEXR" - patch_type: "conan" - - patch_file: "patches/4.5.0-0002-find-ade.patch" - patch_description: "Robust discovery & injection of ade" - patch_type: "conan" - - patch_file: "patches/4.1.2-0003-find-quirc.patch" - patch_description: "Robust discovery & injection of quirc" - 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.5.0": - - patch_file: "patches/4.1.2-0001-find-openexr.patch" - patch_description: "Robust discovery & injection of OpenEXR" - patch_type: "conan" - - patch_file: "patches/4.5.0-0002-find-ade.patch" - patch_description: "Robust discovery & injection of ade" - patch_type: "conan" - - patch_file: "patches/4.1.2-0003-find-quirc.patch" - patch_description: "Robust discovery & injection of quirc" - 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.1.2": - patch_file: "patches/4.1.2-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index ca1a31e15cba8..9eaf5dfd20e1b 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -3,12 +3,6 @@ versions: folder: "4.x" "4.5.3": folder: "4.x" - "4.5.2": - folder: "4.x" - "4.5.1": - folder: "4.x" - "4.5.0": - folder: "4.x" "4.1.2": folder: "4.x" "3.4.17": From 7a7cd2c07994b110c7564f4a399ac0812006d242 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 May 2023 16:13:27 +0200 Subject: [PATCH 0221/4087] (#17492) at-spi2-core: add version 2.48.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/at-spi2-core/config.yml | 2 ++ recipes/at-spi2-core/new/conandata.yml | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index 21111516a8585..f3e69dd713878 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -19,3 +19,5 @@ versions: folder: new "2.47.1": folder: new + "2.48.0": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index 0404ff9bea312..1d17c17af2c31 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.48.0": + url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.48/at-spi2-core-2.48.0.tar.xz" + sha256: "905a5b6f1790b68ee803bffa9f5fab4ceb591fb4fae0b2f8c612c54f1d4e8a30" "2.47.1": url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.47/at-spi2-core-2.47.1.tar.xz" sha256: "c6ba7c160434edebf09d2936933569c936f6ec972301766f2bdac5a4d418153c" @@ -12,6 +15,8 @@ sources: sha256: "ba95f346e93108fbb3462c62437081d582154db279b4052dedc52a706828b192" url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.45/at-spi2-core-2.45.1.tar.xz" patches: + "2.48.0": + - patch_file: "patches/93.patch" "2.47.1": - patch_file: "patches/93.patch" "2.46.0": From cdb22b33ac179019be60af0fd66918959175968c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 17:14:56 +0200 Subject: [PATCH 0222/4087] (#17434) thrift: use version range for openssl + modernize more for conan v2 * add package_type * modernize more for conan v2 * use version range for openssl * bump qt * boost headers are exposed in public headers of thrift --- recipes/thrift/all/conanfile.py | 28 +++++++++----------- recipes/thrift/all/test_package/conanfile.py | 7 ++--- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 3470e0c73c483..0aaa55ea7ce2b 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -1,13 +1,13 @@ 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, get, replace_in_file, rm, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class ThriftConan(ConanFile): @@ -17,6 +17,7 @@ class ThriftConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/apache/thrift" topics = ("thrift", "serialization", "rpc") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -52,8 +53,7 @@ def _settings_build(self): return getattr(self, "settings_build", self.settings) def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -63,31 +63,29 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.81.0", transitive_headers=True) if self.options.with_openssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_qt5: - self.requires("qt/5.15.8") + self.requires("qt/5.15.9") def build_requirements(self): - # TODO: use is_msvc with build_context in conan >=1.52.0 (see https://github.com/conan-io/conan/pull/11949) - if str(self._settings_build.compiler) in ["Visual Studio", "msvc"]: + if self._settings_build.os == "Windows": self.tool_requires("winflexbison/2.5.24") else: self.tool_requires("flex/2.6.4") self.tool_requires("bison/3.8.2") - def 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) @@ -102,8 +100,6 @@ def generate(self): tc.variables["WITH_MT"] = is_msvc_static_runtime(self) # This policy doesn't matter for us, but avoids a warning tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0074"] = "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" tc.generate() cd = CMakeDeps(self) diff --git a/recipes/thrift/all/test_package/conanfile.py b/recipes/thrift/all/test_package/conanfile.py index cbbd8f2b5bc46..bf9e658fe8687 100644 --- a/recipes/thrift/all/test_package/conanfile.py +++ b/recipes/thrift/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str, run=can_run(self)) + def build(self): cmake = CMake(self) cmake.configure() From b77dbd33ab6aeabd8600006dc026ae808d969e2c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 19:47:35 +0200 Subject: [PATCH 0223/4087] (#17177) ktx: conan v2 support --- recipes/ktx/all/CMakeLists.txt | 8 -- recipes/ktx/all/conandata.yml | 4 +- recipes/ktx/all/conanfile.py | 126 ++++++++---------- .../patches/0004-unvendor-dependencies.patch | 48 +++++++ recipes/ktx/all/test_package/CMakeLists.txt | 7 +- recipes/ktx/all/test_package/conanfile.py | 19 ++- .../ktx/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/ktx/all/test_v1_package/conanfile.py | 18 +++ 8 files changed, 146 insertions(+), 92 deletions(-) delete mode 100644 recipes/ktx/all/CMakeLists.txt create mode 100644 recipes/ktx/all/patches/0004-unvendor-dependencies.patch create mode 100644 recipes/ktx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ktx/all/test_v1_package/conanfile.py diff --git a/recipes/ktx/all/CMakeLists.txt b/recipes/ktx/all/CMakeLists.txt deleted file mode 100644 index 7bc9d34119351..0000000000000 --- a/recipes/ktx/all/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -link_libraries(${CONAN_LIBS}) -add_subdirectory(source_subfolder) diff --git a/recipes/ktx/all/conandata.yml b/recipes/ktx/all/conandata.yml index 955ee1b7c0556..bc8cca1018446 100644 --- a/recipes/ktx/all/conandata.yml +++ b/recipes/ktx/all/conandata.yml @@ -5,8 +5,6 @@ sources: patches: "4.0.0": - patch_file: "patches/0001-objutil-cxx-std.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-lodepng-no-export-symbols.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-clamp-include-algorithm.patch" - base_path: "source_subfolder" + - patch_file: "patches/0004-unvendor-dependencies.patch" diff --git a/recipes/ktx/all/conanfile.py b/recipes/ktx/all/conanfile.py index b476c62299b82..872df15047bc5 100644 --- a/recipes/ktx/all/conanfile.py +++ b/recipes/ktx/all/conanfile.py @@ -1,17 +1,20 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +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 import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class KtxConan(ConanFile): name = "ktx" description = "Khronos Texture library and tool." license = "Apache-2.0" - topics = ("ktx", "texture", "khronos") + topics = ("texture", "khronos") homepage = "https://github.com/KhronosGroup/KTX-Software" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,21 +29,12 @@ class KtxConan(ConanFile): "tools": True, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _has_sse_support(self): return self.settings.arch in ["x86", "x86_64"] 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": @@ -53,94 +47,84 @@ 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("lodepng/cci.20200615") - self.requires("zstd/1.5.0") + self.requires("zstd/1.5.5") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def build(self): - self._patch_sources() - cmake = self._configure_cmake() - cmake.build() + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["KTX_FEATURE_TOOLS"] = self.options.tools + tc.variables["KTX_FEATURE_DOC"] = False + tc.variables["KTX_FEATURE_LOADTEST_APPS"] = False + tc.variables["KTX_FEATURE_STATIC_LIBRARY"] = not self.options.shared + tc.variables["KTX_FEATURE_TESTS"] = False + tc.variables["BASISU_SUPPORT_SSE"] = self.options.get_safe("sse", False) + tc.generate() + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmakelists = os.path.join(self._source_subfolder, "CMakeLists.txt") - # Allow CMake wrapper - tools.replace_in_file(cmakelists, "${CMAKE_SOURCE_DIR}", "${CMAKE_CURRENT_SOURCE_DIR}") - tools.replace_in_file(cmakelists, "${CMAKE_BINARY_DIR}", "${CMAKE_CURRENT_BINARY_DIR}") - # Unvendor several libs (we rely on CMake wrapper to link those libs) + apply_conandata_patches(self) + # Unvendor several libs (we rely on patch files to link those libs) # It's worth noting that vendored jpeg-compressor can't be replaced by CCI equivalent - basisu_dir = os.path.join(self.build_folder, self._source_subfolder, "lib", "basisu") + basisu_dir = os.path.join(self.source_folder, "lib", "basisu") ## lodepng (the patch file 0002-lodepng-no-export-symbols is important, in order to not try to export lodepng symbols) os.remove(os.path.join(basisu_dir, "encoder", "lodepng.cpp")) os.remove(os.path.join(basisu_dir, "encoder", "lodepng.h")) - tools.replace_in_file(cmakelists, "lib/basisu/encoder/lodepng.cpp", "") - tools.replace_in_file(cmakelists, "lib/basisu/encoder/lodepng.h", "") - tools.replace_in_file(os.path.join(self._source_subfolder, "tools", "toktx", "pngimage.cc"), - "#include \"encoder/lodepng.h\"", - "#include ") ## zstd - tools.rmdir(os.path.join(basisu_dir, "zstd")) - tools.replace_in_file(cmakelists, "lib/basisu/zstd/zstd.c", "") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["KTX_FEATURE_TOOLS"] = self.options.tools - self._cmake.definitions["KTX_FEATURE_DOC"] = False - self._cmake.definitions["KTX_FEATURE_LOADTEST_APPS"] = False - self._cmake.definitions["KTX_FEATURE_STATIC_LIBRARY"] = not self.options.shared - self._cmake.definitions["KTX_FEATURE_TESTS"] = False - self._cmake.definitions["BASISU_SUPPORT_SSE"] = self.options.get_safe("sse", False) - self._cmake.configure() - return self._cmake + rmdir(self, os.path.join(basisu_dir, "zstd")) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) - self.copy("*", dst="licenses", src=os.path.join(self._source_subfolder, "LICENSES")) - cmake = self._configure_cmake() + 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, "LICENSES"), dst=os.path.join(self.package_folder, "licenses")) + 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", "Ktx") self.cpp_info.set_property("cmake_target_name", "KTX::ktx") - - self.cpp_info.filenames["cmake_find_package"] = "Ktx" - self.cpp_info.filenames["cmake_find_package_multi"] = "Ktx" - self.cpp_info.names["cmake_find_package"] = "KTX" - self.cpp_info.names["cmake_find_package_multi"] = "KTX" - self.cpp_info.components["libktx"].names["cmake_find_package"] = "ktx" - self.cpp_info.components["libktx"].names["cmake_find_package_multi"] = "ktx" - + # TODO: back to root level in conan v2 self.cpp_info.components["libktx"].libs = ["ktx"] self.cpp_info.components["libktx"].defines = [ "KTX_FEATURE_KTX1", "KTX_FEATURE_KTX2", "KTX_FEATURE_WRITE" ] if not self.options.shared: self.cpp_info.components["libktx"].defines.append("KHRONOS_STATIC") - stdcpp_library = tools.stdcpp_library(self) - if stdcpp_library: - self.cpp_info.components["libktx"].system_libs.append(stdcpp_library) + libcxx = stdcpp_library(self) + if libcxx: + self.cpp_info.components["libktx"].system_libs.append(libcxx) if self.settings.os == "Windows": self.cpp_info.components["libktx"].defines.append("BASISU_NO_ITERATOR_DEBUG_LEVEL") elif self.settings.os == "Linux": self.cpp_info.components["libktx"].system_libs.extend(["m", "dl", "pthread"]) - self.cpp_info.components["libktx"].requires = ["lodepng::lodepng", "zstd::zstd"] + # TODO: to remove in conan v2 + self.cpp_info.filenames["cmake_find_package"] = "Ktx" + self.cpp_info.filenames["cmake_find_package_multi"] = "Ktx" + self.cpp_info.names["cmake_find_package"] = "KTX" + self.cpp_info.names["cmake_find_package_multi"] = "KTX" + self.cpp_info.components["libktx"].names["cmake_find_package"] = "ktx" + self.cpp_info.components["libktx"].names["cmake_find_package_multi"] = "ktx" + self.cpp_info.components["libktx"].set_property("cmake_target_name", "KTX::ktx") + self.cpp_info.components["libktx"].requires = ["lodepng::lodepng", "zstd::zstd"] if self.options.tools: - 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.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/ktx/all/patches/0004-unvendor-dependencies.patch b/recipes/ktx/all/patches/0004-unvendor-dependencies.patch new file mode 100644 index 0000000000000..d09e2d811a873 --- /dev/null +++ b/recipes/ktx/all/patches/0004-unvendor-dependencies.patch @@ -0,0 +1,48 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -121,7 +121,6 @@ set(KTX_MAIN_SRC + lib/basisu/transcoder/basisu_transcoder.cpp + lib/basisu/transcoder/basisu_transcoder.h + lib/basisu/transcoder/basisu.h +- lib/basisu/zstd/zstd.c + lib/checkheader.c + lib/dfdutils/createdfd.c + lib/dfdutils/colourspaces.c +@@ -415,11 +414,13 @@ PRIVATE + lib/basisu/encoder/cppspmd_type_aliases.h + lib/basisu/encoder/jpgd.cpp + lib/basisu/encoder/jpgd.h +- lib/basisu/encoder/lodepng.cpp +- lib/basisu/encoder/lodepng.h + lib/writer1.c + lib/writer2.c + ) ++find_package(lodepng REQUIRED CONFIG) ++find_package(zstd REQUIRED CONFIG) ++target_link_libraries(ktx PRIVATE lodepng::lodepng $,zstd::libzstd_shared,zstd::libzstd_static>) ++target_link_libraries(ktx_read PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) + target_include_directories( + ktx + PRIVATE +--- a/tools/toktx/CMakeLists.txt ++++ b/tools/toktx/CMakeLists.txt +@@ -28,6 +28,8 @@ PRIVATE + target_link_libraries( + toktx + ktx ++ lodepng::lodepng ++ $,zstd::libzstd_shared,zstd::libzstd_static> + ) + + target_compile_definitions( +--- a/tools/toktx/pngimage.cc ++++ b/tools/toktx/pngimage.cc +@@ -21,7 +21,7 @@ + #include + + #include "image.hpp" +-#include "encoder/lodepng.h" ++#include + #include + #include "dfd.h" + diff --git a/recipes/ktx/all/test_package/CMakeLists.txt b/recipes/ktx/all/test_package/CMakeLists.txt index 6eb84d40ec7ba..0d08193e7ed87 100644 --- a/recipes/ktx/all/test_package/CMakeLists.txt +++ b/recipes/ktx/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES C) find_package(Ktx REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} KTX::ktx) +target_link_libraries(${PROJECT_NAME} PRIVATE KTX::ktx) diff --git a/recipes/ktx/all/test_package/conanfile.py b/recipes/ktx/all/test_package/conanfile.py index 8bf8322cf17d1..5ec8993308c18 100644 --- a/recipes/ktx/all/test_package/conanfile.py +++ b/recipes/ktx/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,7 +21,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") ktx_path = os.path.join(self.source_folder, "etc1.ktx") - self.run("{} {}".format(bin_path, ktx_path), run_environment=True) + self.run(f"{bin_path} {ktx_path}", env="conanrun") diff --git a/recipes/ktx/all/test_v1_package/CMakeLists.txt b/recipes/ktx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/ktx/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ktx/all/test_v1_package/conanfile.py b/recipes/ktx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..d6484909910f3 --- /dev/null +++ b/recipes/ktx/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + ktx_path = os.path.join(self.source_folder, os.pardir, "test_package", "etc1.ktx") + self.run(f"{bin_path} {ktx_path}", run_environment=True) From 085159d8a350413815f380498489f3cc45e848dc Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 21:04:38 +0200 Subject: [PATCH 0224/4087] (#17169) libkml: conan v2 support --- recipes/libkml/all/CMakeLists.txt | 11 -- recipes/libkml/all/conandata.yml | 12 +- recipes/libkml/all/conanfile.py | 102 +++++++-------- .../libkml/all/patches/0001-fix-cmake.patch | 69 ++++++++++ ...-for-mingw-and-empty-literal-for-vc.patch} | 0 ...0003-export-extern-symbols-for-msvc.patch} | 0 ...tch => 0004-minizip-no-crypt-header.patch} | 0 .../all/patches/conanize-cmakelists.patch | 120 ------------------ .../libkml/all/test_package/CMakeLists.txt | 7 +- recipes/libkml/all/test_package/conanfile.py | 19 ++- .../libkml/all/test_v1_package/CMakeLists.txt | 8 ++ .../libkml/all/test_v1_package/conanfile.py | 17 +++ 12 files changed, 157 insertions(+), 208 deletions(-) delete mode 100644 recipes/libkml/all/CMakeLists.txt create mode 100644 recipes/libkml/all/patches/0001-fix-cmake.patch rename recipes/libkml/all/patches/{fix-for-mingw-and-empty-literal-for-vc.patch => 0002-fix-for-mingw-and-empty-literal-for-vc.patch} (100%) rename recipes/libkml/all/patches/{export-extern-symbols-for-msvc.patch => 0003-export-extern-symbols-for-msvc.patch} (100%) rename recipes/libkml/all/patches/{minizip-no-crypt-header.patch => 0004-minizip-no-crypt-header.patch} (100%) delete mode 100644 recipes/libkml/all/patches/conanize-cmakelists.patch create mode 100644 recipes/libkml/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libkml/all/test_v1_package/conanfile.py diff --git a/recipes/libkml/all/CMakeLists.txt b/recipes/libkml/all/CMakeLists.txt deleted file mode 100644 index e174fe2ff60d5..0000000000000 --- a/recipes/libkml/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4.3) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS KEEP_RPATHS) - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/libkml/all/conandata.yml b/recipes/libkml/all/conandata.yml index 8d8c18cdc2663..deea781fb42fe 100644 --- a/recipes/libkml/all/conandata.yml +++ b/recipes/libkml/all/conandata.yml @@ -4,11 +4,7 @@ sources: sha256: "ac2a61b4bca105cbed9ad8d0d6d5536dc7c2a11abcecf86431d023e2f3ae96db" patches: "1.3.0": - - patch_file: "patches/conanize-cmakelists.patch" - base_path: "source_subfolder" - - patch_file: "patches/fix-for-mingw-and-empty-literal-for-vc.patch" - base_path: "source_subfolder" - - patch_file: "patches/export-extern-symbols-for-msvc.patch" - base_path: "source_subfolder" - - patch_file: "patches/minizip-no-crypt-header.patch" - base_path: "source_subfolder" + - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0002-fix-for-mingw-and-empty-literal-for-vc.patch" + - patch_file: "patches/0003-export-extern-symbols-for-msvc.patch" + - patch_file: "patches/0004-minizip-no-crypt-header.patch" diff --git a/recipes/libkml/all/conanfile.py b/recipes/libkml/all/conanfile.py index 70ba46ffc23ce..1b2a9bb8fba8b 100644 --- a/recipes/libkml/all/conanfile.py +++ b/recipes/libkml/all/conanfile.py @@ -1,20 +1,22 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime import os import textwrap -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.54.0" class LibkmlConan(ConanFile): name = "libkml" description = "Reference implementation of OGC KML 2.2" license = "BSD-3-Clause" - topics = ("libkml", "kml", "ogc", "geospatial") + topics = ("kml", "ogc", "geospatial") homepage = "https://github.com/libkml/libkml" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,20 +27,8 @@ class LibkmlConan(ConanFile): "fPIC": True, } - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -46,46 +36,47 @@ 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("expat/2.4.8") - self.requires("minizip/1.2.12") - self.requires("uriparser/0.9.6") - self.requires("zlib/1.2.12") + self.requires("boost/1.81.0", transitive_headers=True) + self.requires("expat/2.5.0") + self.requires("minizip/1.2.13") + self.requires("uriparser/0.9.7") + self.requires("zlib/1.2.13") def validate(self): - if self.options.shared and \ - ((self.settings.compiler == "Visual Studio" and "MT" in self.settings.compiler.runtime) or \ - (self.settings.compiler == "msvc" and self.settings.compiler.runtime == "static")): - raise ConanInvalidConfiguration("libkml shared with Visual Studio and MT runtime is not supported") + if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} shared with Visual Studio and MT runtime is not supported") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() - cmake.build() + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + # To install relocatable shared libs on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.generate() - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): + apply_conandata_patches(self) cmake = CMake(self) - # To install relocatable shared libs on Macos - cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - cmake.configure(build_folder=self._build_subfolder) - return cmake + cmake.configure() + cmake.build() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + 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, "cmake")) + 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, "cmake")) self._create_cmake_module_alias_targets( os.path.join(self.package_folder, self._module_file_rel_path), { @@ -98,26 +89,20 @@ def package(self): } ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) - - @property - def _module_subfolder(self): - return os.path.join("lib", "cmake") + """) + save(self, module_file, content) @property def _module_file_rel_path(self): - return os.path.join(self._module_subfolder, - "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): self.cpp_info.set_property("cmake_file_name", "LibKML") @@ -159,7 +144,6 @@ def _register_components(self, components): self.cpp_info.components[comp_cmake_lib_name].set_property("cmake_target_name", comp_cmake_lib_name) self.cpp_info.components[comp_cmake_lib_name].names["cmake_find_package"] = comp_cmake_lib_name self.cpp_info.components[comp_cmake_lib_name].names["cmake_find_package_multi"] = comp_cmake_lib_name - self.cpp_info.components[comp_cmake_lib_name].builddirs.append(self._module_subfolder) self.cpp_info.components[comp_cmake_lib_name].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components[comp_cmake_lib_name].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] self.cpp_info.components[comp_cmake_lib_name].libs = [comp_cmake_lib_name] diff --git a/recipes/libkml/all/patches/0001-fix-cmake.patch b/recipes/libkml/all/patches/0001-fix-cmake.patch new file mode 100644 index 0000000000000..e7ab69a15ddc3 --- /dev/null +++ b/recipes/libkml/all/patches/0001-fix-cmake.patch @@ -0,0 +1,69 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,7 +30,6 @@ set(TEST_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-rtti -DGTEST_HAS_RTTI=0 + else() + if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DUNICODE /D_UNICODE") +- set(BUILD_SHARED_LIBS OFF) + endif() + endif() + +@@ -93,7 +92,7 @@ set(MINIZIP_DEPENDS "" CACHE INTERNAL "MINIZIP_DEPENDS") + + set(LIBKML_TARGETS) + +-find_package(EXPAT) ++find_package(EXPAT REQUIRED MODULE) + if(EXPAT_FOUND) + include_directories(${EXPAT_INCLUDE_DIR}) + else() +@@ -110,16 +109,16 @@ else() + list(APPEND MINIZIP_DEPENDS ZLIB) + endif() + +-find_package(MiniZip) +-if(MINIZIP_FOUND) ++find_package(minizip REQUIRED CONFIG) ++if(minizip_FOUND) + include_directories(${MINIZIP_INCLUDE_DIR}) + else() + include(External_minizip) + list(APPEND KMLBASE_DEPENDS MINIZIP) + endif() + +-find_package(UriParser) +-if(URIPARSER_FOUND) ++find_package(uriparser REQUIRED CONFIG) ++if(uriparser_FOUND) + include_directories(${URIPARSER_INCLUDE_DIR}) + else() + include(External_uriparser) +@@ -149,10 +148,11 @@ if(WITH_SWIG) + endif() + endif() + +-list(APPEND KMLBASE_LINK_LIBS ${EXPAT_LIBRARY}) +-list(APPEND KMLBASE_LINK_LIBS ${ZLIB_LIBRARY}) +-list(APPEND KMLBASE_LINK_LIBS ${MINIZIP_LIBRARY}) +-list(APPEND KMLBASE_LINK_LIBS ${URIPARSER_LIBRARY}) ++list(APPEND KMLBASE_LINK_LIBS Boost::headers) ++list(APPEND KMLBASE_LINK_LIBS EXPAT::EXPAT) ++list(APPEND KMLBASE_LINK_LIBS ZLIB::ZLIB) ++list(APPEND KMLBASE_LINK_LIBS minizip::minizip) ++list(APPEND KMLBASE_LINK_LIBS uriparser::uriparser) + + include_directories(${CMAKE_SOURCE_DIR}/src) + +diff --git a/src/kml/base/CMakeLists.txt b/src/kml/base/CMakeLists.txt +index dc3e9c4..895930b 100644 +--- a/src/kml/base/CMakeLists.txt ++++ b/src/kml/base/CMakeLists.txt +@@ -3,7 +3,7 @@ if(HAVE_SYSTEM_EXPAT) + include_directories(${EXPAT_INCLUDE_DIR}) + endif() + +-list(APPEND KMLBASE_LINK_LIBS ${EXPAT_LIBRARY}) ++list(APPEND KMLBASE_LINK_LIBS EXPAT::EXPAT) + + file(GLOB SRCS "*.cc" + contrib/minizip/unzip.c diff --git a/recipes/libkml/all/patches/fix-for-mingw-and-empty-literal-for-vc.patch b/recipes/libkml/all/patches/0002-fix-for-mingw-and-empty-literal-for-vc.patch similarity index 100% rename from recipes/libkml/all/patches/fix-for-mingw-and-empty-literal-for-vc.patch rename to recipes/libkml/all/patches/0002-fix-for-mingw-and-empty-literal-for-vc.patch diff --git a/recipes/libkml/all/patches/export-extern-symbols-for-msvc.patch b/recipes/libkml/all/patches/0003-export-extern-symbols-for-msvc.patch similarity index 100% rename from recipes/libkml/all/patches/export-extern-symbols-for-msvc.patch rename to recipes/libkml/all/patches/0003-export-extern-symbols-for-msvc.patch diff --git a/recipes/libkml/all/patches/minizip-no-crypt-header.patch b/recipes/libkml/all/patches/0004-minizip-no-crypt-header.patch similarity index 100% rename from recipes/libkml/all/patches/minizip-no-crypt-header.patch rename to recipes/libkml/all/patches/0004-minizip-no-crypt-header.patch diff --git a/recipes/libkml/all/patches/conanize-cmakelists.patch b/recipes/libkml/all/patches/conanize-cmakelists.patch deleted file mode 100644 index b6a246c651e3a..0000000000000 --- a/recipes/libkml/all/patches/conanize-cmakelists.patch +++ /dev/null @@ -1,120 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -19,7 +19,7 @@ option(WITH_SWIG "Build all swig bindings" OFF) - option(WITH_PYTHON "Build python bindings" OFF) - option(WITH_JAVA "Build java bindings" OFF) - --set(LIBKML_DATA_DIR ${CMAKE_SOURCE_DIR}/testdata CACHE "Directory containing test data" PATH) -+set(LIBKML_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/testdata CACHE "Directory containing test data" PATH) - - #AM_CXXFLAGS = -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti - #AM_TEST_CXXFLAGS = -Wall -Wextra -Wno-unused-parameter -Werror -fno-rtti -DGTEST_HAS_RTTI=0 -@@ -30,7 +30,6 @@ set(TEST_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-rtti -DGTEST_HAS_RTTI=0 - else() - if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DUNICODE /D_UNICODE") -- set(BUILD_SHARED_LIBS OFF) - endif() - endif() - -@@ -80,7 +79,7 @@ set(INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" CACHE "install directory " PATH) - - # Path to additional CMake modules - set(CMAKE_MODULE_PATH -- ${CMAKE_SOURCE_DIR}/cmake -+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake - ${CMAKE_MODULE_PATH}) - - include(LibKMLHelper) -@@ -93,49 +92,7 @@ set(MINIZIP_DEPENDS "" CACHE INTERNAL "MINIZIP_DEPENDS") - - set(LIBKML_TARGETS) - --find_package(EXPAT) --if(EXPAT_FOUND) -- include_directories(${EXPAT_INCLUDE_DIR}) --else() -- include(External_expat) -- list(APPEND KMLBASE_DEPENDS EXPAT) --endif() -- --find_package(ZLIB 1.2.8) --if(ZLIB_FOUND) -- include_directories(${ZLIB_INCLUDE_DIR}) --else() -- include(External_zlib) -- list(APPEND KMLBASE_DEPENDS ZLIB) -- list(APPEND MINIZIP_DEPENDS ZLIB) --endif() -- --find_package(MiniZip) --if(MINIZIP_FOUND) -- include_directories(${MINIZIP_INCLUDE_DIR}) --else() -- include(External_minizip) -- list(APPEND KMLBASE_DEPENDS MINIZIP) --endif() -- --find_package(UriParser) --if(URIPARSER_FOUND) -- include_directories(${URIPARSER_INCLUDE_DIR}) --else() -- include(External_uriparser) -- list(APPEND KMLBASE_DEPENDS URIPARSER) --endif() -- --find_package(Boost) --if(Boost_FOUND) -- message(STATUS "Found Boost: ${Boost_VERSION}") --else() -- include(External_boost) -- list(APPEND KMLBASE_DEPENDS BOOST) -- message(STATUS "Found Boost includes: ${Boost_INCLUDE_DIRS}") --endif() -- --include_directories(${Boost_INCLUDE_DIRS}) -+include_directories(${CONAN_INCLUDE_DIRS_BOOST}) - - if(WITH_SWIG) - find_package(SWIG) -@@ -149,16 +106,16 @@ if(WITH_SWIG) - endif() - endif() - --list(APPEND KMLBASE_LINK_LIBS ${EXPAT_LIBRARY}) --list(APPEND KMLBASE_LINK_LIBS ${ZLIB_LIBRARY}) --list(APPEND KMLBASE_LINK_LIBS ${MINIZIP_LIBRARY}) --list(APPEND KMLBASE_LINK_LIBS ${URIPARSER_LIBRARY}) -+list(APPEND KMLBASE_LINK_LIBS "CONAN_PKG::expat") -+list(APPEND KMLBASE_LINK_LIBS "CONAN_PKG::zlib") -+list(APPEND KMLBASE_LINK_LIBS "CONAN_PKG::minizip") -+list(APPEND KMLBASE_LINK_LIBS "CONAN_PKG::uriparser") - --include_directories(${CMAKE_SOURCE_DIR}/src) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) - - add_subdirectory(src) - --configure_file("${CMAKE_SOURCE_DIR}/cmake/libkml.pc.in" -+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/libkml.pc.in" - "${CMAKE_BINARY_DIR}/libkml.pc" @ONLY) - - install(FILES ${CMAKE_BINARY_DIR}/libkml.pc -@@ -168,7 +125,7 @@ if(BUILD_TESTING) - enable_testing() - find_package(GoogleTest REQUIRED) - include_directories(${GTEST_INCLUDE_DIR}) -- include_directories(${CMAKE_SOURCE_DIR}/tests) -+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/tests) - add_definitions("-DDATADIR=\"${LIBKML_DATA_DIR}\"") - add_subdirectory(tests) - endif() -@@ -195,7 +152,7 @@ file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_DIR}" - "${INCLUDE_INSTALL_DIR}") - - # ... for the build tree --set(CONF_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/src") -+set(CONF_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/src") - configure_file(cmake/LibKMLConfig.cmake.in - "${PROJECT_BINARY_DIR}/LibKMLConfig.cmake" @ONLY) - diff --git a/recipes/libkml/all/test_package/CMakeLists.txt b/recipes/libkml/all/test_package/CMakeLists.txt index 1399066db6945..c68b8c6d04753 100644 --- a/recipes/libkml/all/test_package/CMakeLists.txt +++ b/recipes/libkml/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES CXX) find_package(LibKML REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} kmlbase kmlconvenience kmldom kmlengine) +target_link_libraries(${PROJECT_NAME} PRIVATE kmlbase kmlconvenience kmldom kmlengine) diff --git a/recipes/libkml/all/test_package/conanfile.py b/recipes/libkml/all/test_package/conanfile.py index 38f4483872d47..98ab55852ad56 100644 --- a/recipes/libkml/all/test_package/conanfile.py +++ b/recipes/libkml/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libkml/all/test_v1_package/CMakeLists.txt b/recipes/libkml/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libkml/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libkml/all/test_v1_package/conanfile.py b/recipes/libkml/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libkml/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 47501ea61cccde3d89ae142a4ec4be0cecaabc8c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 22:25:56 +0200 Subject: [PATCH 0225/4087] (#17149) taocpp-json: conan v2 support --- recipes/taocpp-json/all/conanfile.py | 69 ++++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../taocpp-json/all/test_package/conanfile.py | 24 ++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 79 insertions(+), 44 deletions(-) create mode 100644 recipes/taocpp-json/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/taocpp-json/all/test_v1_package/conanfile.py diff --git a/recipes/taocpp-json/all/conanfile.py b/recipes/taocpp-json/all/conanfile.py index fa81d8742b283..c4c33792ccb9b 100644 --- a/recipes/taocpp-json/all/conanfile.py +++ b/recipes/taocpp-json/all/conanfile.py @@ -1,8 +1,12 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.51.1" class TaoCPPJSONConan(ConanFile): @@ -13,64 +17,65 @@ class TaoCPPJSONConan(ConanFile): description = "C++ header-only JSON library" topics = ("json", "jaxn", "cbor", "msgpack", "ubjson", "json-pointer", "json-patch") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "11" if Version(self.version) < "1.0.0-beta.11" else "17" @property def _min_compilers_version(self): return { - "gcc": "7", - "clang": "6", - "apple-clang": "10", - "Visual Studio": "15", - } - - @property - def _min_cppstd_required(self): - return "11" if tools.Version(self.version) < "1.0.0-beta.11" else "17" + "17": { + "gcc": "7", + "clang": "6", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) @property def _requires_pegtl(self): - return tools.Version(self.version) >= "1.0.0-beta.13" + return Version(self.version) >= "1.0.0-beta.13" + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self._requires_pegtl: - self.requires("taocpp-pegtl/3.2.5") + self.requires("taocpp-pegtl/3.2.7") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, self._min_cppstd_required) - if tools.Version(self.version) >= "1.0.0-beta.11": - min_compiler_version = self._min_compilers_version.get(str(self.settings.compiler), False) - if min_compiler_version: - if tools.Version(self.settings.compiler.version) < min_compiler_version: - raise ConanInvalidConfiguration("taocpp-json requires C++17, which your compiler does not support.") - else: - self.output.warn("taocpp-json requires C++17. Your compiler is unknown. Assuming it supports C++17.") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + min_compiler_version = self._min_compilers_version.get(str(self.settings.compiler), False) + if min_compiler_version and Version(self.settings.compiler.version) < min_compiler_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], destination=self._source_subfolder, - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - self.copy("*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "taocpp-json") self.cpp_info.set_property("cmake_target_name", "taocpp::json") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed self.cpp_info.components["json"].bindirs = [] - self.cpp_info.components["json"].frameworkdirs = [] self.cpp_info.components["json"].libdirs = [] - self.cpp_info.components["json"].resdirs = [] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "taocpp-json" diff --git a/recipes/taocpp-json/all/test_package/CMakeLists.txt b/recipes/taocpp-json/all/test_package/CMakeLists.txt index a7298e226f7ce..bf7290d1f3c3a 100644 --- a/recipes/taocpp-json/all/test_package/CMakeLists.txt +++ b/recipes/taocpp-json/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(taocpp-json REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} taocpp::json) +target_link_libraries(${PROJECT_NAME} PRIVATE taocpp::json) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/taocpp-json/all/test_package/conanfile.py b/recipes/taocpp-json/all/test_package/conanfile.py index 54b6b5990cb87..0a6bc68712d90 100644 --- a/recipes/taocpp-json/all/test_package/conanfile.py +++ b/recipes/taocpp-json/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -import os.path - -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/taocpp-json/all/test_v1_package/CMakeLists.txt b/recipes/taocpp-json/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..2a4b77ef89cd7 --- /dev/null +++ b/recipes/taocpp-json/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_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/taocpp-json/all/test_v1_package/conanfile.py b/recipes/taocpp-json/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/taocpp-json/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From cc26f11759f94c6d7b4f61afb2efc62f7a56f5bd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 May 2023 23:04:09 +0200 Subject: [PATCH 0226/4087] (#17061) libmysqlclient: use version range for openssl + improve robustness of openssl discovery & link * bump openssl * back to openssl 1.1.x if version < 8.0.30 * use version range for openssl & cmake * version range workaround for conan v1 client * version range workaround for conan v1 client * version range workaround of openssl 1.x.x for conan v1 * better version range * remove _cmake_new_enough * upper bound * more robust link to OpenSSL libs * typo * do not merge OpenSSL libs into mysqlclient lib --- recipes/libmysqlclient/all/conanfile.py | 38 +++++++++++++------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 39c37976fdc14..46f8df1537d5e 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -62,7 +62,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/1.1.1t") + if Version(self.version) < "8.0.30": + self.requires("openssl/1.1.1t") + else: + self.requires("openssl/[>=1.1 <4]") self.requires("zlib/1.2.13") self.requires("zstd/1.5.5") self.requires("lz4/1.9.4") @@ -97,21 +100,9 @@ def loose_lt_semver(v1, v2): if self.settings.compiler.get_safe("cppstd") == "20" and Version(self.version) < "8.0.29": raise ConanInvalidConfiguration(f"{self.ref} doesn't support C++20") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r'cmake version (\d+\.\d+\.\d+)', output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if is_apple_os(self) and not self._cmake_new_enough("3.18"): - # CMake 3.18 or higher is required if Apple, but CI of CCI may run CMake 3.15 - self.tool_requires("cmake/3.25.3") + if is_apple_os(self): + self.tool_requires("cmake/[>=3.18 <4]") if self.settings.os == "FreeBSD" and not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") @@ -164,19 +155,30 @@ def _patch_sources(self): "NAMES zstd", f"NAMES zstd {self.dependencies['zstd'].cpp_info.aggregated_components().libs[0]}") - replace_in_file(self, os.path.join(self.source_folder, "cmake", "ssl.cmake"), + # Fix discovery & link to OpenSSL + ssl_cmake = os.path.join(self.source_folder, "cmake", "ssl.cmake") + replace_in_file(self, ssl_cmake, "NAMES ssl", f"NAMES ssl {self.dependencies['openssl'].cpp_info.components['ssl'].libs[0]}") - replace_in_file(self, os.path.join(self.source_folder, "cmake", "ssl.cmake"), + replace_in_file(self, ssl_cmake, "NAMES crypto", f"NAMES crypto {self.dependencies['openssl'].cpp_info.components['crypto'].libs[0]}") - replace_in_file(self, os.path.join(self.source_folder, "cmake", "ssl.cmake"), + replace_in_file(self, ssl_cmake, "IF(NOT OPENSSL_APPLINK_C)\n", "IF(FALSE AND NOT OPENSSL_APPLINK_C)\n", strict=False) + replace_in_file(self, ssl_cmake, + "SET(SSL_LIBRARIES ${MY_OPENSSL_LIBRARY} ${MY_CRYPTO_LIBRARY})", + "find_package(OpenSSL REQUIRED MODULE)\nset(SSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto)") + + # And do not merge OpenSSL libs into mysqlclient lib + replace_in_file(self, os.path.join(self.source_folder, "cmake", "libutils.cmake"), + 'IF(WIN32 AND ${TARGET} STREQUAL "mysqlclient")', + "if(0)") + # Do not copy shared libs of dependencies to package folder deps_shared = ["SSL", "KERBEROS", "SASL", "LDAP", "PROTOBUF", "CURL"] for dep in deps_shared: From 74a5031667218c0af40d34824d214d1ca1fe8bca Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Wed, 10 May 2023 17:45:02 -0400 Subject: [PATCH 0227/4087] (#16438) [google-cloud-cpp]: support for v2.x.y series MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [google-cloud-cpp]: support for v2.x.y series This change splits packaging for the v2.x vs. v1.x series. The 2.x series requires C++14, and include dozens of new components. I have updated the package to use the `googleapis` package in Conan. Backport fixes for older CMake. Explicit declare build requirement on gRPC. Simplify exceptions for Protobuf workarounds. Automatically use CMake > 3.10 policies in tests. This is needed for Windows, where the default policies are not quite right until 3.15. Disable MSVC runtime overrides, they were designed for vcpkg and need fixes upstream. Fix minimum required version for MSVC. * Bump dependencies * fix: whitespace typo * Address review comments * Most google-cloud-cpp dependencies require transitive headers * Cleanup for conan v2 * Address review comments * Update recipes/google-cloud-cpp/2.x/conanfile.py --------- Co-authored-by: Chris Mc Co-authored-by: Chris Mc Co-authored-by: Rubén Rincón Blanco Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- .../2.x/conan_cmake_project_include.cmake | 10 + recipes/google-cloud-cpp/2.x/conandata.yml | 16 + recipes/google-cloud-cpp/2.x/conanfile.py | 336 +++++ .../001-use-googleapis-conan-package.patch | 1279 +++++++++++++++++ .../002-interface-library-properties.patch | 44 + .../2.5.0/003-use-conan-msvc-runtime.patch | 53 + .../2.x/test_package/CMakeLists.txt | 19 + .../2.x/test_package/bigtable.cpp | 16 + .../2.x/test_package/conanfile.py | 37 + .../2.x/test_package/pubsub.cpp | 16 + .../2.x/test_package/spanner.cpp | 17 + .../2.x/test_package/speech.cpp | 13 + .../2.x/test_package/storage.cpp | 18 + .../2.x/test_v1_package/CMakeLists.txt | 8 + .../2.x/test_v1_package/conanfile.py | 21 + recipes/google-cloud-cpp/config.yml | 2 + 16 files changed, 1905 insertions(+) create mode 100644 recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake create mode 100644 recipes/google-cloud-cpp/2.x/conandata.yml create mode 100644 recipes/google-cloud-cpp/2.x/conanfile.py create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch create mode 100644 recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt create mode 100644 recipes/google-cloud-cpp/2.x/test_package/bigtable.cpp create mode 100644 recipes/google-cloud-cpp/2.x/test_package/conanfile.py create mode 100644 recipes/google-cloud-cpp/2.x/test_package/pubsub.cpp create mode 100644 recipes/google-cloud-cpp/2.x/test_package/spanner.cpp create mode 100644 recipes/google-cloud-cpp/2.x/test_package/speech.cpp create mode 100644 recipes/google-cloud-cpp/2.x/test_package/storage.cpp create mode 100644 recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py diff --git a/recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake b/recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake new file mode 100644 index 0000000000000..17098fdadc87d --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake @@ -0,0 +1,10 @@ +find_package(googleapis CONFIG REQUIRED) +if (NOT ("${googleapis_RES_DIRS_RELEASE}" STREQUAL "")) + set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_RELEASE}") +elseif (NOT ("${googleapis_RES_DIRS_RELWITHDEBINFO}" STREQUAL "")) + set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_RELWITHDEBINFO}") +elseif (NOT ("${googleapis_RES_DIRS_MINSIZEREL}" STREQUAL "")) + set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_MINSIZEREL}") +elseif (NOT ("${googleapis_RES_DIRS_DEBUG}" STREQUAL "")) + set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_DEBUG}") +endif () diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml new file mode 100644 index 0000000000000..94473c6cb2ac9 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -0,0 +1,16 @@ +sources: + "2.5.0": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.5.0.tar.gz" + sha256: "ac93ef722d08bfb220343bde2f633c7c11f15e34ec3ecd0a57dbd3ff729cc3a6" +patches: + "2.5.0": + - patch_file: "patches/2.5.0/001-use-googleapis-conan-package.patch" + patch_description: "Use Conan package for googleapis" + patch_type: conan + - patch_file: "patches/2.5.0/002-interface-library-properties.patch" + patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636 + patch_description: "Fix problems with INTERFACE proto libraries" + patch_type: backport + - patch_file: "patches/2.5.0/003-use-conan-msvc-runtime.patch" + patch_description: "Let Conan select the MSVC runtime" + patch_type: conan diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py new file mode 100644 index 0000000000000..0da218c665ea2 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -0,0 +1,336 @@ +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualRunEnv, VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration + +required_conan_version = ">=1.56.0" + + +class GoogleCloudCppConan(ConanFile): + name = "google-cloud-cpp" + description = "C++ Client Libraries for Google Cloud Services" + license = "Apache-2.0" + topics = ( + "google", + "cloud", + "google-cloud-storage", + "google-cloud-platform", + "google-cloud-pubsub", + "google-cloud-spanner", + "google-cloud-bigtable", + ) + homepage = "https://github.com/googleapis/google-cloud-cpp" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = {"shared": [True, False], "fPIC": [True, False]} + default_options = {"shared": False, "fPIC": True} + + short_paths = True + + def export_sources(self): + copy(self, "conan_cmake_project_include.cmake", 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") + self.options["protobuf"].shared = True + self.options["googleapis"].shared = True + self.options["grpc-proto"].shared = True + self.options["grpc"].shared = True + + def validate(self): + # As-of 2022-03, google-cloud-cpp only supports "Visual Studio >= 2019", + # and Visual Studio < 2019 is out of mainline support. + # The wikipedia page says this maps to 192* for the MSVC version: + # https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B + check_min_vs(self, "192") + if is_msvc(self) and self.info.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} shared not supported by Visual Studio") + + if hasattr(self, "settings_build") and cross_building(self): + raise ConanInvalidConfiguration( + "Recipe not prepared for cross-building (yet)" + ) + + if ( + self.settings.compiler == "clang" + and Version(self.settings.compiler.version) < "6.0" + ): + raise ConanInvalidConfiguration("Clang version must be at least 6.0.") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, 14) + + if ( + self.settings.compiler == "gcc" + and Version(self.settings.compiler.version) < "5.4" + ): + raise ConanInvalidConfiguration("Building requires GCC >= 5.4") + + if self.info.options.shared and \ + (not self.dependencies["protobuf"].options.shared or \ + not self.dependencies["googleapis"].options.shared or \ + not self.dependencies["grpc-proto"].options.shared or \ + not self.dependencies["grpc"].options.shared): + raise ConanInvalidConfiguration( + "If built as shared, protobuf, googleapis, grpc-proto, and grpc must be shared as well." + " Please, use `protobuf/*:shared=True`, `googleapis/*:shared=True`, `grpc-proto/*:shared=True`," + " and `grpc/*:shared=True`", + ) + + 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 requirements(self): + self.requires("protobuf/3.21.9", transitive_headers=True) + self.requires("grpc/1.50.1", transitive_headers=True) + self.requires("nlohmann_json/3.10.0") + self.requires("crc32c/1.1.1") + self.requires("abseil/20220623.0", transitive_headers=True) + self.requires("libcurl/7.88.1") + self.requires("openssl/[>=1.1 <4]") + self.requires("zlib/1.2.13") + # `google-cloud-cpp` contains code generated from the proto files. + # Working with older versions of these protos almost always will fail, as + # at least some of the RPCs included in the GRPC-generator stubs will be + # missing. + # Working with newer versions of these protos almost always will work. There + # are very few breaking changes on the proto files. + self.requires(f"googleapis/{self._GOOGLEAPIS_VERSIONS[self.version]}", transitive_headers=True) + + def build_requirements(self): + # For the grpc-cpp-plugin executable + self.tool_requires("grpc/1.50.1") + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_PROJECT_google-cloud-cpp_INCLUDE"] = os.path.join(self.source_folder, "conan_cmake_project_include.cmake") + tc.variables["BUILD_TESTING"] = False + tc.variables["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False + tc.variables["GOOGLE_CLOUD_CPP_ENABLE"] = ",".join(self._components()) + tc.generate() + VirtualRunEnv(self).generate(scope="build") + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # This was informed by comments in the grpc port. On macOS `Make` will + # run commands via `/bin/sh`. `/bin/sh` is subject to System Integrity + # Protections. In particular, the system will purge the DYLD_LIBRARY_PATH + # enviroment variables: + # 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": + replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), + "$", + '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" $') + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + _GOOGLEAPIS_VERSIONS = { + "2.5.0": "cci.20221108", + } + + _GA_COMPONENTS_BASE = {"bigquery", "bigtable", "iam", "pubsub", "spanner", "storage"} + _GA_COMPONENTS_VERSION = { + '2.5.0': { + "accessapproval", + "accesscontextmanager", + "apigateway", + "apigeeconnect", + "appengine", + "artifactregistry", + "asset", + "assuredworkloads", + "automl", + "baremetalsolution", + "batch", + "beyondcorp", + "billing", + "binaryauthorization", + "certificatemanager", + "channel", + "cloudbuild", + "composer", + "connectors", + "contactcenterinsights", + "container", + "containeranalysis", + "datacatalog", + "datamigration", + "dataplex", + "dataproc", + "datastream", + "debugger", + "deploy", + "dialogflow_cx", + "dialogflow_es", + "dlp", + "documentai", + "edgecontainer", + "eventarc", + "filestore", + "functions", + "gameservices", + "gkehub", + "iap", + "ids", + "iot", + "kms", + "language", + "logging", + "managedidentities", + "memcache", + "monitoring", + "networkconnectivity", + "networkmanagement", + "notebooks", + "optimization", + "orgpolicy", + "osconfig", + "oslogin", + "policytroubleshooter", + "privateca", + "profiler", + "recommender", + "redis", + "resourcemanager", + "resourcesettings", + "retail", + "run", + "scheduler", + "secretmanager", + "securitycenter", + "servicecontrol", + "servicedirectory", + "servicemanagement", + "serviceusage", + "shell", + "speech", + "storagetransfer", + "talent", + "tasks", + "texttospeech", + "tpu", + "trace", + "translate", + "video", + "videointelligence", + "vision", + "vmmigration", + "vmwareengine", + "vpcaccess", + "webrisk", + "websecurityscanner", + "workflows", + }, + } + + def _components(self): + result = self._GA_COMPONENTS_BASE + for v in sorted(self._GA_COMPONENTS_VERSION.keys()): + if v > Version(self): + break + result = result.union(self._GA_COMPONENTS_VERSION[v]) + # Some protos do not compile due to inconvenient system macros clashing with proto enum values. + # Protobuf can workaround these problems, but the current version in Conan index (protobuf/3.21.4) + # do not contain the fixes for these cases. + # TODO - review after protobuf >= 3.22.x + result.remove('asset') + result.remove('channel') + result.remove('storagetransfer') + # Some of the macros are platform specific. + if self.settings.os == "Android": + result.remove('accesscontextmanager') + result.remove('talent') + # TODO - certificatemanager crashes the gRPC code generator. Add it back after gRPC >= 1.53.x + result.remove('certificatemanager') + return result + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, path=os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, path=os.path.join(self.package_folder, "lib", "pkgconfig")) + + def _add_proto_component(self, component): + PROTOS_SHARED_REQUIRES=["googleapis::googleapis", "grpc::grpc++", "grpc::_grpc", "protobuf::libprotobuf"] + self.cpp_info.components[component].requires = PROTOS_SHARED_REQUIRES + self.cpp_info.components[component].libs = [f"google_cloud_cpp_{component}"] + self.cpp_info.components[component].names["pkg_config"] = f"google_cloud_cpp_{component}" + + def _add_grpc_component(self, component, protos, extra=None): + SHARED_REQUIRES=["grpc_utils", "common", "grpc::grpc++", "grpc::_grpc", "protobuf::libprotobuf", "abseil::absl_memory"] + self.cpp_info.components[component].requires = (extra or []) + [protos] + SHARED_REQUIRES + self.cpp_info.components[component].libs = [f"google_cloud_cpp_{component}"] + self.cpp_info.components[component].names["pkg_config"] = f"google_cloud_cpp_{component}" + + def package_info(self): + self.cpp_info.components["common"].requires = ["abseil::absl_any", "abseil::absl_flat_hash_map", "abseil::absl_memory", "abseil::absl_optional", "abseil::absl_time"] + self.cpp_info.components["common"].libs = ["google_cloud_cpp_common"] + self.cpp_info.components["common"].names["pkg_config"] = "google_cloud_cpp_common" + + self.cpp_info.components["rest_internal"].requires = ["common", "libcurl::libcurl", "openssl::ssl", "openssl::crypto", "zlib::zlib"] + self.cpp_info.components["rest_internal"].libs = ["google_cloud_cpp_rest_internal"] + self.cpp_info.components["rest_internal"].names["pkg_config"] = "google_cloud_cpp_common" + + # A small number of gRPC-generated stubs are used directly in the common components + # shared by all gRPC-based libraries. These bust be defined without reference to `grpc_utils`. + GRPC_UTILS_REQUIRED_PROTOS=["iam_protos", "longrunning_operations_protos", "rpc_error_details_protos", "rpc_status_protos"] + for component in GRPC_UTILS_REQUIRED_PROTOS: + self._add_proto_component(component) + + self.cpp_info.components["grpc_utils"].requires = GRPC_UTILS_REQUIRED_PROTOS + ["common", "abseil::absl_function_ref", "abseil::absl_memory", "abseil::absl_time", "grpc::grpc++", "grpc::_grpc"] + self.cpp_info.components["grpc_utils"].libs = ["google_cloud_cpp_grpc_utils"] + self.cpp_info.components["grpc_utils"].names["pkg_config"] = "google_cloud_cpp_grpc_utils" + + for component in self._components(): + # bigquery proto library predates the adoption of more consistent naming + if component == 'bigquery': + self._add_proto_component("cloud_bigquery_protos") + self._add_grpc_component(component, "cloud_bigquery_protos") + continue + if component == 'dialogflow_es': + self._add_proto_component("cloud_dialogflow_v2_protos") + self._add_grpc_component(component, "cloud_dialogflow_v2_protos") + continue + # `storage` is the only component that does not depend on a matching `*_protos` library + protos=f"{component}_protos" + if component != 'storage' and component not in GRPC_UTILS_REQUIRED_PROTOS: + self._add_proto_component(protos) + # The components in self._GA_COMPONENTS_BASE are hand-crafted and need custom + # definitions (see below) + if component in self._GA_COMPONENTS_BASE: + continue + self._add_grpc_component(component, protos) + + self._add_grpc_component("bigquery", "cloud_bigquery_protos") + self._add_grpc_component("bigtable", "bigtable_protos") + self._add_grpc_component("iam", "iam_protos") + self._add_grpc_component("pubsub", "pubsub_protos", ["abseil::absl_flat_hash_map"]) + self._add_grpc_component("spanner", "spanner_protos", ["abseil::absl_fixed_array", "abseil::absl_numeric", "abseil::absl_strings", "abseil::absl_time"]) + + self.cpp_info.components["storage"].requires = ["rest_internal", "common", "nlohmann_json::nlohmann_json", "abseil::absl_memory", "abseil::absl_strings", "abseil::absl_str_format", "abseil::absl_time", "abseil::absl_variant", "crc32c::crc32c", "libcurl::libcurl", "openssl::ssl", "openssl::crypto", "zlib::zlib"] + self.cpp_info.components["storage"].libs = ["google_cloud_cpp_storage"] + self.cpp_info.components["storage"].names["pkg_config"] = "google_cloud_cpp_storage" diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch new file mode 100644 index 0000000000000..44737240ad451 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch @@ -0,0 +1,1279 @@ +diff --git a/cmake/CompileProtos.cmake b/cmake/CompileProtos.cmake +index 366edba..4eb5ea3 100644 +--- a/cmake/CompileProtos.cmake ++++ b/cmake/CompileProtos.cmake +@@ -362,20 +362,10 @@ function (google_cloud_cpp_proto_library libname) + return() + endif () + +- if (${_opt_LOCAL_INCLUDE}) +- google_cloud_cpp_generate_proto( +- proto_sources ${_opt_UNPARSED_ARGUMENTS} LOCAL_INCLUDE +- PROTO_PATH_DIRECTORIES ${_opt_PROTO_PATH_DIRECTORIES}) +- else () +- google_cloud_cpp_generate_proto( +- proto_sources ${_opt_UNPARSED_ARGUMENTS} PROTO_PATH_DIRECTORIES +- ${_opt_PROTO_PATH_DIRECTORIES}) +- endif () +- + add_library(${libname} ${proto_sources}) + set_property(TARGET ${libname} PROPERTY PROTO_SOURCES + ${_opt_UNPARSED_ARGUMENTS}) +- target_link_libraries(${libname} PUBLIC gRPC::grpc++ gRPC::grpc ++ target_link_libraries(${libname} PUBLIC gRPC::grpc++ gRPC::grpc googleapis::googleapis + protobuf::libprotobuf) + # We want to treat the generated code as "system" headers so they get + # ignored by the more aggressive warnings. +diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt +index ad2bd4b..28bf016 100644 +--- a/external/googleapis/CMakeLists.txt ++++ b/external/googleapis/CMakeLists.txt +@@ -16,24 +16,6 @@ + + include(GoogleapisConfig) + +-set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL +- "https://github.com/googleapis/googleapis/archive/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" +- "https://storage.googleapis.com/cloud-cpp-community-archive/com_google_googleapis/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" +-) +-set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH +- "${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256}") +-if (GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL) +- set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL +- ${GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL}) +-endif () +-if (GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL_HASH) +- set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH +- "${GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL_HASH}") +-endif () +- +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") +- + set(EXTERNAL_GOOGLEAPIS_PROTO_FILES + # cmake-format: sort + "google/api/annotations.proto" +@@ -113,32 +95,6 @@ foreach (file IN LISTS protolists) + endforeach () + endforeach () + +-include(ExternalProject) +- +-externalproject_add( +- googleapis_download +- EXCLUDE_FROM_ALL ON +- PREFIX "${PROJECT_BINARY_DIR}/external/googleapis" +- URL ${GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL} +- URL_HASH SHA256=${GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH} +- PATCH_COMMAND +- "" +- # ~~~ +- # Scaffolding for patching googleapis after download. For example: +- # PATCH_COMMAND +- # patch +- # -p1 +- # --input=/workspace/external/googleapis.patch +- # NOTE: This should only be used while developing with a new +- # protobuf message. No changes to `PATCH_COMMAND` should ever be +- # committed to the main branch. +- # ~~~ +- CONFIGURE_COMMAND "" +- BUILD_COMMAND "" +- INSTALL_COMMAND "" +- BUILD_BYPRODUCTS ${EXTERNAL_GOOGLEAPIS_BYPRODUCTS} +- LOG_DOWNLOAD OFF) +- + # Sometimes (this happens often with vcpkg) protobuf is installed in a non- + # standard directory. We need to find out where, and then add that directory to + # the search path for protos. +@@ -187,7 +143,6 @@ function (external_googleapis_add_library proto) + endfunction () + + function (external_googleapis_set_version_and_alias short_name) +- add_dependencies("google_cloud_cpp_${short_name}" googleapis_download) + set_target_properties( + "google_cloud_cpp_${short_name}" + PROPERTIES EXPORT_NAME google-cloud-cpp::${short_name} +diff --git a/google/cloud/accessapproval/CMakeLists.txt b/google/cloud/accessapproval/CMakeLists.txt +index 43af932..e297251 100644 +--- a/google/cloud/accessapproval/CMakeLists.txt ++++ b/google/cloud/accessapproval/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::accessapproval_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/accesscontextmanager/CMakeLists.txt b/google/cloud/accesscontextmanager/CMakeLists.txt +index 9ff4ce8..3c96472 100644 +--- a/google/cloud/accesscontextmanager/CMakeLists.txt ++++ b/google/cloud/accesscontextmanager/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::accesscontextmanager_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/apigateway/CMakeLists.txt b/google/cloud/apigateway/CMakeLists.txt +index 5764bd3..517eb1e 100644 +--- a/google/cloud/apigateway/CMakeLists.txt ++++ b/google/cloud/apigateway/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::apigateway_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/apigeeconnect/CMakeLists.txt b/google/cloud/apigeeconnect/CMakeLists.txt +index 17bd60f..af353aa 100644 +--- a/google/cloud/apigeeconnect/CMakeLists.txt ++++ b/google/cloud/apigeeconnect/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::apigeeconnect_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/apikeys/CMakeLists.txt b/google/cloud/apikeys/CMakeLists.txt +index 9359474..6410175 100644 +--- a/google/cloud/apikeys/CMakeLists.txt ++++ b/google/cloud/apikeys/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::apikeys_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/appengine/CMakeLists.txt b/google/cloud/appengine/CMakeLists.txt +index 154a058..6136505 100644 +--- a/google/cloud/appengine/CMakeLists.txt ++++ b/google/cloud/appengine/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::appengine_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/artifactregistry/CMakeLists.txt b/google/cloud/artifactregistry/CMakeLists.txt +index 43d5f07..53184d4 100644 +--- a/google/cloud/artifactregistry/CMakeLists.txt ++++ b/google/cloud/artifactregistry/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::artifactregistry_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/asset/CMakeLists.txt b/google/cloud/asset/CMakeLists.txt +index dc33c07..6924523 100644 +--- a/google/cloud/asset/CMakeLists.txt ++++ b/google/cloud/asset/CMakeLists.txt +@@ -31,8 +31,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_EXTRA_INCLUDES + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/assuredworkloads/CMakeLists.txt b/google/cloud/assuredworkloads/CMakeLists.txt +index a081c00..01332c6 100644 +--- a/google/cloud/assuredworkloads/CMakeLists.txt ++++ b/google/cloud/assuredworkloads/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::assuredworkloads_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/automl/CMakeLists.txt b/google/cloud/automl/CMakeLists.txt +index c890e5e..f711f54 100644 +--- a/google/cloud/automl/CMakeLists.txt ++++ b/google/cloud/automl/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::automl_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/baremetalsolution/CMakeLists.txt b/google/cloud/baremetalsolution/CMakeLists.txt +index df02616..f4cbee4 100644 +--- a/google/cloud/baremetalsolution/CMakeLists.txt ++++ b/google/cloud/baremetalsolution/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::baremetalsolution_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/batch/CMakeLists.txt b/google/cloud/batch/CMakeLists.txt +index 03a1a3d..9645386 100644 +--- a/google/cloud/batch/CMakeLists.txt ++++ b/google/cloud/batch/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::batch_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/beyondcorp/CMakeLists.txt b/google/cloud/beyondcorp/CMakeLists.txt +index e8eea05..24b9a98 100644 +--- a/google/cloud/beyondcorp/CMakeLists.txt ++++ b/google/cloud/beyondcorp/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::beyondcorp_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/billing/CMakeLists.txt b/google/cloud/billing/CMakeLists.txt +index 54c45e6..4c928e6 100644 +--- a/google/cloud/billing/CMakeLists.txt ++++ b/google/cloud/billing/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::billing_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/binaryauthorization/CMakeLists.txt b/google/cloud/binaryauthorization/CMakeLists.txt +index 9f8cd45..48363e2 100644 +--- a/google/cloud/binaryauthorization/CMakeLists.txt ++++ b/google/cloud/binaryauthorization/CMakeLists.txt +@@ -32,8 +32,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_EXTRA_INCLUDES + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/certificatemanager/CMakeLists.txt b/google/cloud/certificatemanager/CMakeLists.txt +index 84a25b0..f4bae6d 100644 +--- a/google/cloud/certificatemanager/CMakeLists.txt ++++ b/google/cloud/certificatemanager/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::certificatemanager_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/channel/CMakeLists.txt b/google/cloud/channel/CMakeLists.txt +index ed6967b..ac19559 100644 +--- a/google/cloud/channel/CMakeLists.txt ++++ b/google/cloud/channel/CMakeLists.txt +@@ -35,8 +35,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::channel_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/cloudbuild/CMakeLists.txt b/google/cloud/cloudbuild/CMakeLists.txt +index 8f30f40..04d6a82 100644 +--- a/google/cloud/cloudbuild/CMakeLists.txt ++++ b/google/cloud/cloudbuild/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::cloudbuild_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/composer/CMakeLists.txt b/google/cloud/composer/CMakeLists.txt +index cde8542..c9af9d1 100644 +--- a/google/cloud/composer/CMakeLists.txt ++++ b/google/cloud/composer/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::composer_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/connectors/CMakeLists.txt b/google/cloud/connectors/CMakeLists.txt +index aef9110..cfd986f 100644 +--- a/google/cloud/connectors/CMakeLists.txt ++++ b/google/cloud/connectors/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::connectors_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/contactcenterinsights/CMakeLists.txt b/google/cloud/contactcenterinsights/CMakeLists.txt +index 03b74ed..3f8831c 100644 +--- a/google/cloud/contactcenterinsights/CMakeLists.txt ++++ b/google/cloud/contactcenterinsights/CMakeLists.txt +@@ -30,8 +30,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/container/CMakeLists.txt b/google/cloud/container/CMakeLists.txt +index 20a6c8b..dedca21 100644 +--- a/google/cloud/container/CMakeLists.txt ++++ b/google/cloud/container/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::container_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/containeranalysis/CMakeLists.txt b/google/cloud/containeranalysis/CMakeLists.txt +index 7548de3..e2486d2 100644 +--- a/google/cloud/containeranalysis/CMakeLists.txt ++++ b/google/cloud/containeranalysis/CMakeLists.txt +@@ -30,8 +30,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_EXTRA_INCLUDES + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/datacatalog/CMakeLists.txt b/google/cloud/datacatalog/CMakeLists.txt +index 7e80060..dd20ab2 100644 +--- a/google/cloud/datacatalog/CMakeLists.txt ++++ b/google/cloud/datacatalog/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::datacatalog_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/datamigration/CMakeLists.txt b/google/cloud/datamigration/CMakeLists.txt +index ee95f1a..1772e90 100644 +--- a/google/cloud/datamigration/CMakeLists.txt ++++ b/google/cloud/datamigration/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::datamigration_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/dataplex/CMakeLists.txt b/google/cloud/dataplex/CMakeLists.txt +index c83e390..079242e 100644 +--- a/google/cloud/dataplex/CMakeLists.txt ++++ b/google/cloud/dataplex/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dataplex_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/dataproc/CMakeLists.txt b/google/cloud/dataproc/CMakeLists.txt +index ed180ca..e8c5912 100644 +--- a/google/cloud/dataproc/CMakeLists.txt ++++ b/google/cloud/dataproc/CMakeLists.txt +@@ -32,8 +32,6 @@ find_package(absl CONFIG REQUIRED) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/datastream/CMakeLists.txt b/google/cloud/datastream/CMakeLists.txt +index 7ecfd1f..2a7c100 100644 +--- a/google/cloud/datastream/CMakeLists.txt ++++ b/google/cloud/datastream/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::datastream_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/debugger/CMakeLists.txt b/google/cloud/debugger/CMakeLists.txt +index 8c299f3..3fae60d 100644 +--- a/google/cloud/debugger/CMakeLists.txt ++++ b/google/cloud/debugger/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::debugger_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/deploy/CMakeLists.txt b/google/cloud/deploy/CMakeLists.txt +index 73c0d68..9181cb8 100644 +--- a/google/cloud/deploy/CMakeLists.txt ++++ b/google/cloud/deploy/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::deploy_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/dialogflow_cx/CMakeLists.txt b/google/cloud/dialogflow_cx/CMakeLists.txt +index 90c70e3..4aead59 100644 +--- a/google/cloud/dialogflow_cx/CMakeLists.txt ++++ b/google/cloud/dialogflow_cx/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dialogflow_cx_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/dialogflow_es/CMakeLists.txt b/google/cloud/dialogflow_es/CMakeLists.txt +index 0ddf345..fad8716 100644 +--- a/google/cloud/dialogflow_es/CMakeLists.txt ++++ b/google/cloud/dialogflow_es/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dialogflow_es_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/dlp/CMakeLists.txt b/google/cloud/dlp/CMakeLists.txt +index 67c6329..f6eaa27 100644 +--- a/google/cloud/dlp/CMakeLists.txt ++++ b/google/cloud/dlp/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dlp_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/documentai/CMakeLists.txt b/google/cloud/documentai/CMakeLists.txt +index 00bc94b..42fd1e1 100644 +--- a/google/cloud/documentai/CMakeLists.txt ++++ b/google/cloud/documentai/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::documentai_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/edgecontainer/CMakeLists.txt b/google/cloud/edgecontainer/CMakeLists.txt +index 4cacb9a..08a2f2e 100644 +--- a/google/cloud/edgecontainer/CMakeLists.txt ++++ b/google/cloud/edgecontainer/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::edgecontainer_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/eventarc/CMakeLists.txt b/google/cloud/eventarc/CMakeLists.txt +index d5e2854..fe37f94 100644 +--- a/google/cloud/eventarc/CMakeLists.txt ++++ b/google/cloud/eventarc/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::eventarc_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/filestore/CMakeLists.txt b/google/cloud/filestore/CMakeLists.txt +index 1f5a0e8..0ae2d00 100644 +--- a/google/cloud/filestore/CMakeLists.txt ++++ b/google/cloud/filestore/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::filestore_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/functions/CMakeLists.txt b/google/cloud/functions/CMakeLists.txt +index ec9ebcd..50d9fc7 100644 +--- a/google/cloud/functions/CMakeLists.txt ++++ b/google/cloud/functions/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::functions_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/gameservices/CMakeLists.txt b/google/cloud/gameservices/CMakeLists.txt +index 30d81ff..0b9cf8c 100644 +--- a/google/cloud/gameservices/CMakeLists.txt ++++ b/google/cloud/gameservices/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::gameservices_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/gkehub/CMakeLists.txt b/google/cloud/gkehub/CMakeLists.txt +index 1747a18..d71c854 100644 +--- a/google/cloud/gkehub/CMakeLists.txt ++++ b/google/cloud/gkehub/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::gkehub_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/grafeas/CMakeLists.txt b/google/cloud/grafeas/CMakeLists.txt +index 2ed9350..33ba5fd 100644 +--- a/google/cloud/grafeas/CMakeLists.txt ++++ b/google/cloud/grafeas/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::grafeas_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/iap/CMakeLists.txt b/google/cloud/iap/CMakeLists.txt +index a22e9b0..4c78edb 100644 +--- a/google/cloud/iap/CMakeLists.txt ++++ b/google/cloud/iap/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::iap_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/ids/CMakeLists.txt b/google/cloud/ids/CMakeLists.txt +index 4724bf2..fc73ea3 100644 +--- a/google/cloud/ids/CMakeLists.txt ++++ b/google/cloud/ids/CMakeLists.txt +@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::ids_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/iot/CMakeLists.txt b/google/cloud/iot/CMakeLists.txt +index 3619b82..1874025 100644 +--- a/google/cloud/iot/CMakeLists.txt ++++ b/google/cloud/iot/CMakeLists.txt +@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::iot_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/kms/CMakeLists.txt b/google/cloud/kms/CMakeLists.txt +index 14a2ef3..59a3596 100644 +--- a/google/cloud/kms/CMakeLists.txt ++++ b/google/cloud/kms/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::kms_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/language/CMakeLists.txt b/google/cloud/language/CMakeLists.txt +index 123ef3c..add8dbc 100644 +--- a/google/cloud/language/CMakeLists.txt ++++ b/google/cloud/language/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::language_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/managedidentities/CMakeLists.txt b/google/cloud/managedidentities/CMakeLists.txt +index 674ce03..b5e4bfa 100644 +--- a/google/cloud/managedidentities/CMakeLists.txt ++++ b/google/cloud/managedidentities/CMakeLists.txt +@@ -31,8 +31,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::managedidentities_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/memcache/CMakeLists.txt b/google/cloud/memcache/CMakeLists.txt +index 8a0ad6b..2fafadc 100644 +--- a/google/cloud/memcache/CMakeLists.txt ++++ b/google/cloud/memcache/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::memcache_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/monitoring/CMakeLists.txt b/google/cloud/monitoring/CMakeLists.txt +index e021974..346a1a6 100644 +--- a/google/cloud/monitoring/CMakeLists.txt ++++ b/google/cloud/monitoring/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::monitoring_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/networkconnectivity/CMakeLists.txt b/google/cloud/networkconnectivity/CMakeLists.txt +index 4ca5e45..ffe44d2 100644 +--- a/google/cloud/networkconnectivity/CMakeLists.txt ++++ b/google/cloud/networkconnectivity/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::networkconnectivity_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/networkmanagement/CMakeLists.txt b/google/cloud/networkmanagement/CMakeLists.txt +index 3fe12a5..d94db72 100644 +--- a/google/cloud/networkmanagement/CMakeLists.txt ++++ b/google/cloud/networkmanagement/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::networkmanagement_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/notebooks/CMakeLists.txt b/google/cloud/notebooks/CMakeLists.txt +index 4cc76ea..2508e4b 100644 +--- a/google/cloud/notebooks/CMakeLists.txt ++++ b/google/cloud/notebooks/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::notebooks_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/optimization/CMakeLists.txt b/google/cloud/optimization/CMakeLists.txt +index 474c28a..e37eb3f 100644 +--- a/google/cloud/optimization/CMakeLists.txt ++++ b/google/cloud/optimization/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::optimization_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/orgpolicy/CMakeLists.txt b/google/cloud/orgpolicy/CMakeLists.txt +index b6935e6..8fe4286 100644 +--- a/google/cloud/orgpolicy/CMakeLists.txt ++++ b/google/cloud/orgpolicy/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::orgpolicy_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/osconfig/CMakeLists.txt b/google/cloud/osconfig/CMakeLists.txt +index 7b5dfe5..19f88a1 100644 +--- a/google/cloud/osconfig/CMakeLists.txt ++++ b/google/cloud/osconfig/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::osconfig_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/oslogin/CMakeLists.txt b/google/cloud/oslogin/CMakeLists.txt +index 1092f6f..87410cf 100644 +--- a/google/cloud/oslogin/CMakeLists.txt ++++ b/google/cloud/oslogin/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::oslogin_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/policytroubleshooter/CMakeLists.txt b/google/cloud/policytroubleshooter/CMakeLists.txt +index aa934d5..9f0bb42 100644 +--- a/google/cloud/policytroubleshooter/CMakeLists.txt ++++ b/google/cloud/policytroubleshooter/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::policytroubleshooter_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/privateca/CMakeLists.txt b/google/cloud/privateca/CMakeLists.txt +index 5ba62ac..b47750d 100644 +--- a/google/cloud/privateca/CMakeLists.txt ++++ b/google/cloud/privateca/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::privateca_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/profiler/CMakeLists.txt b/google/cloud/profiler/CMakeLists.txt +index b1388dc..d2fe3b2 100644 +--- a/google/cloud/profiler/CMakeLists.txt ++++ b/google/cloud/profiler/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::profiler_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/pubsublite/CMakeLists.txt b/google/cloud/pubsublite/CMakeLists.txt +index 12b2b33..2ec80d0 100644 +--- a/google/cloud/pubsublite/CMakeLists.txt ++++ b/google/cloud/pubsublite/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::pubsublite_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/recommender/CMakeLists.txt b/google/cloud/recommender/CMakeLists.txt +index b44cd96..26fdfb5 100644 +--- a/google/cloud/recommender/CMakeLists.txt ++++ b/google/cloud/recommender/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::recommender_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/redis/CMakeLists.txt b/google/cloud/redis/CMakeLists.txt +index 9387bbd..c3bbd0e 100644 +--- a/google/cloud/redis/CMakeLists.txt ++++ b/google/cloud/redis/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::redis_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/resourcemanager/CMakeLists.txt b/google/cloud/resourcemanager/CMakeLists.txt +index d445a8f..2689c33 100644 +--- a/google/cloud/resourcemanager/CMakeLists.txt ++++ b/google/cloud/resourcemanager/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::resourcemanager_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/resourcesettings/CMakeLists.txt b/google/cloud/resourcesettings/CMakeLists.txt +index afac58e..c0b4359 100644 +--- a/google/cloud/resourcesettings/CMakeLists.txt ++++ b/google/cloud/resourcesettings/CMakeLists.txt +@@ -32,8 +32,6 @@ find_package(absl CONFIG REQUIRED) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/retail/CMakeLists.txt b/google/cloud/retail/CMakeLists.txt +index cbda24a..da3b066 100644 +--- a/google/cloud/retail/CMakeLists.txt ++++ b/google/cloud/retail/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::retail_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/run/CMakeLists.txt b/google/cloud/run/CMakeLists.txt +index f771798..7906713 100644 +--- a/google/cloud/run/CMakeLists.txt ++++ b/google/cloud/run/CMakeLists.txt +@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::run_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/scheduler/CMakeLists.txt b/google/cloud/scheduler/CMakeLists.txt +index d4e2310..eeaae20 100644 +--- a/google/cloud/scheduler/CMakeLists.txt ++++ b/google/cloud/scheduler/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::scheduler_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/secretmanager/CMakeLists.txt b/google/cloud/secretmanager/CMakeLists.txt +index f33f9bf..949f929 100644 +--- a/google/cloud/secretmanager/CMakeLists.txt ++++ b/google/cloud/secretmanager/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::secretmanager_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/securitycenter/CMakeLists.txt b/google/cloud/securitycenter/CMakeLists.txt +index e482223..bad25ac 100644 +--- a/google/cloud/securitycenter/CMakeLists.txt ++++ b/google/cloud/securitycenter/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::securitycenter_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/servicecontrol/CMakeLists.txt b/google/cloud/servicecontrol/CMakeLists.txt +index b2f6362..c1c55f3 100644 +--- a/google/cloud/servicecontrol/CMakeLists.txt ++++ b/google/cloud/servicecontrol/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::servicecontrol_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/servicedirectory/CMakeLists.txt b/google/cloud/servicedirectory/CMakeLists.txt +index a66c216..527201a 100644 +--- a/google/cloud/servicedirectory/CMakeLists.txt ++++ b/google/cloud/servicedirectory/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::servicedirectory_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/servicemanagement/CMakeLists.txt b/google/cloud/servicemanagement/CMakeLists.txt +index 96b1a0b..c9981ae 100644 +--- a/google/cloud/servicemanagement/CMakeLists.txt ++++ b/google/cloud/servicemanagement/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::servicemanagement_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/serviceusage/CMakeLists.txt b/google/cloud/serviceusage/CMakeLists.txt +index f9b199a..fddb936 100644 +--- a/google/cloud/serviceusage/CMakeLists.txt ++++ b/google/cloud/serviceusage/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::serviceusage_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/shell/CMakeLists.txt b/google/cloud/shell/CMakeLists.txt +index 178b8bc..a7181f6 100644 +--- a/google/cloud/shell/CMakeLists.txt ++++ b/google/cloud/shell/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::shell_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/speech/CMakeLists.txt b/google/cloud/speech/CMakeLists.txt +index 4cc2e0a..3f52437 100644 +--- a/google/cloud/speech/CMakeLists.txt ++++ b/google/cloud/speech/CMakeLists.txt +@@ -39,8 +39,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::speech_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/storagetransfer/CMakeLists.txt b/google/cloud/storagetransfer/CMakeLists.txt +index fd8a5ae..163e9b4 100644 +--- a/google/cloud/storagetransfer/CMakeLists.txt ++++ b/google/cloud/storagetransfer/CMakeLists.txt +@@ -38,8 +38,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::storagetransfer_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/talent/CMakeLists.txt b/google/cloud/talent/CMakeLists.txt +index 574023e..405dc48 100644 +--- a/google/cloud/talent/CMakeLists.txt ++++ b/google/cloud/talent/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::talent_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/tasks/CMakeLists.txt b/google/cloud/tasks/CMakeLists.txt +index 3b5678e..026f9b1 100644 +--- a/google/cloud/tasks/CMakeLists.txt ++++ b/google/cloud/tasks/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::tasks_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/texttospeech/CMakeLists.txt b/google/cloud/texttospeech/CMakeLists.txt +index 0fdc54a..840e8d4 100644 +--- a/google/cloud/texttospeech/CMakeLists.txt ++++ b/google/cloud/texttospeech/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::texttospeech_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/tpu/CMakeLists.txt b/google/cloud/tpu/CMakeLists.txt +index 2666b6b..cdaf519 100644 +--- a/google/cloud/tpu/CMakeLists.txt ++++ b/google/cloud/tpu/CMakeLists.txt +@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::tpu_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/trace/CMakeLists.txt b/google/cloud/trace/CMakeLists.txt +index 99a04f5..80d4c1b 100644 +--- a/google/cloud/trace/CMakeLists.txt ++++ b/google/cloud/trace/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::trace_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/translate/CMakeLists.txt b/google/cloud/translate/CMakeLists.txt +index f8a0394..6a44718 100644 +--- a/google/cloud/translate/CMakeLists.txt ++++ b/google/cloud/translate/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::translate_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/video/CMakeLists.txt b/google/cloud/video/CMakeLists.txt +index b1b2628..df98ae4 100644 +--- a/google/cloud/video/CMakeLists.txt ++++ b/google/cloud/video/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::video_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/videointelligence/CMakeLists.txt b/google/cloud/videointelligence/CMakeLists.txt +index 1963d27..4638ddc 100644 +--- a/google/cloud/videointelligence/CMakeLists.txt ++++ b/google/cloud/videointelligence/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::videointelligence_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/vision/CMakeLists.txt b/google/cloud/vision/CMakeLists.txt +index b23e737..004b803 100644 +--- a/google/cloud/vision/CMakeLists.txt ++++ b/google/cloud/vision/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vision_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/vmmigration/CMakeLists.txt b/google/cloud/vmmigration/CMakeLists.txt +index aa88701..e799a3b 100644 +--- a/google/cloud/vmmigration/CMakeLists.txt ++++ b/google/cloud/vmmigration/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vmmigration_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/vmwareengine/CMakeLists.txt b/google/cloud/vmwareengine/CMakeLists.txt +index 55adb2f..79c0f53 100644 +--- a/google/cloud/vmwareengine/CMakeLists.txt ++++ b/google/cloud/vmwareengine/CMakeLists.txt +@@ -38,8 +38,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vmwareengine_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/vpcaccess/CMakeLists.txt b/google/cloud/vpcaccess/CMakeLists.txt +index 5ce47b7..dc7454e 100644 +--- a/google/cloud/vpcaccess/CMakeLists.txt ++++ b/google/cloud/vpcaccess/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vpcaccess_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/webrisk/CMakeLists.txt b/google/cloud/webrisk/CMakeLists.txt +index 5be0ce7..5d3123f 100644 +--- a/google/cloud/webrisk/CMakeLists.txt ++++ b/google/cloud/webrisk/CMakeLists.txt +@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::webrisk_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/websecurityscanner/CMakeLists.txt b/google/cloud/websecurityscanner/CMakeLists.txt +index e21608e..c95230e 100644 +--- a/google/cloud/websecurityscanner/CMakeLists.txt ++++ b/google/cloud/websecurityscanner/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::websecurityscanner_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") +diff --git a/google/cloud/workflows/CMakeLists.txt b/google/cloud/workflows/CMakeLists.txt +index 76c239a..aef6492 100644 +--- a/google/cloud/workflows/CMakeLists.txt ++++ b/google/cloud/workflows/CMakeLists.txt +@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::workflows_protos) + + include(GoogleCloudCppCommon) + +-set(EXTERNAL_GOOGLEAPIS_SOURCE +- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") + find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) + if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch new file mode 100644 index 0000000000000..6800c78c11f3e --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch @@ -0,0 +1,44 @@ +diff --git a/cmake/CompileProtos.cmake b/cmake/CompileProtos.cmake +index 4eb5ea3..9de47cd 100644 +--- a/cmake/CompileProtos.cmake ++++ b/cmake/CompileProtos.cmake +@@ -315,6 +315,10 @@ include(GNUInstallDirs) + + # Install headers for a C++ proto library. + function (google_cloud_cpp_install_proto_library_headers target) ++ get_target_property(type ${target} TYPE) ++ if ("${type}" STREQUAL "INTERFACE_LIBRARY") ++ return() ++ endif () + get_target_property(target_sources ${target} SOURCES) + foreach (header ${target_sources}) + # Skip anything that is not a header file. +@@ -332,6 +336,10 @@ endfunction () + + # Install protos for a C++ proto library. + function (google_cloud_cpp_install_proto_library_protos target source_dir) ++ get_target_property(type ${target} TYPE) ++ if ("${type}" STREQUAL "INTERFACE_LIBRARY") ++ return() ++ endif () + get_target_property(target_protos ${target} PROTO_SOURCES) + foreach (header ${target_protos}) + # Skip anything that is not a header file. +diff --git a/google/cloud/dialogflow_es/CMakeLists.txt b/google/cloud/dialogflow_es/CMakeLists.txt +index fad8716..cc44723 100644 +--- a/google/cloud/dialogflow_es/CMakeLists.txt ++++ b/google/cloud/dialogflow_es/CMakeLists.txt +@@ -35,7 +35,12 @@ endif () + + include(CompileProtos) + add_library(google_cloud_cpp_dialogflow_es_protos INTERFACE) +-external_googleapis_set_version_and_alias(dialogflow_es_protos) ++set_target_properties( ++ google_cloud_cpp_dialogflow_es_protos ++ PROPERTIES EXPORT_NAME google-cloud-cpp::dialogflow_es_protos) ++add_library(google-cloud-cpp::dialogflow_es_protos ALIAS ++ google_cloud_cpp_dialogflow_es_protos) ++ + target_link_libraries( + google_cloud_cpp_dialogflow_es_protos + PUBLIC diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch new file mode 100644 index 0000000000000..875dd10498af2 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 236c6e1..f961398 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,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 057fe6b..dbffd7b 100644 +--- a/cmake/GoogleCloudCppCommon.cmake ++++ b/cmake/GoogleCloudCppCommon.cmake +@@ -21,9 +21,6 @@ get_filename_component(GOOGLE_CLOUD_CPP_SUBPROJECT + # 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 0cb7a9a..d9016a0 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 28bf016..c281ce8 100644 +--- a/external/googleapis/CMakeLists.txt ++++ b/external/googleapis/CMakeLists.txt +@@ -103,8 +103,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/test_package/CMakeLists.txt b/recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5d76b297da5c5 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.10...3.24) +project(google-cloud-cpp-test CXX) + +find_package(google-cloud-cpp CONFIG REQUIRED) + +# There are too many libraries to test them all. We +# should pick what we test with a view to detecting +# the most common packaging problems. + +# Bigtable, Pub/Sub and Spanner have signficant amounts of +# custom code and thus some amount of ad-hoc dependencies on +# absl::* components. +# Storage has custom code and does not depend on gRPC or Protobuf. +# Speech is a good model for most other libraries. +foreach(component IN ITEMS "bigtable" "pubsub" "spanner" "speech" "storage") + add_executable("${component}" "${component}.cpp") + target_compile_features("${component}" PRIVATE cxx_std_14) + target_link_libraries("${component}" google-cloud-cpp::${component}) +endforeach() diff --git a/recipes/google-cloud-cpp/2.x/test_package/bigtable.cpp b/recipes/google-cloud-cpp/2.x/test_package/bigtable.cpp new file mode 100644 index 0000000000000..3c792f63e06bf --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/bigtable.cpp @@ -0,0 +1,16 @@ +#include + +int main(int argc, char *argv[]) { + if (argc != 1) { + std::cerr << "Usage: bigtable\n"; + return 1; + } + auto const project_id = std::string{"test-only-invalid"}; + auto const instance_id = std::string{"test-only-invalid"}; + auto const table_id = std::string{"test-only-invalid"}; + std::cout << "Testing google-cloud-cpp::bigtable library " << google::cloud::version_string() << "\n"; + namespace cbt = ::google::cloud::bigtable; + auto table = cbt::Table( + cbt::MakeDataConnection(), cbt::TableResource(project_id, instance_id, table_id)); + return 0; +} diff --git a/recipes/google-cloud-cpp/2.x/test_package/conanfile.py b/recipes/google-cloud-cpp/2.x/test_package/conanfile.py new file mode 100644 index 0000000000000..a3be7ec5660ae --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/conanfile.py @@ -0,0 +1,37 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.build import can_run +from conan.tools.env import VirtualRunEnv + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + # Environment so that the compiled test executable can load shared libraries + runenv = VirtualRunEnv(self) + runenv.generate(scope="run") + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not can_run(self): + return + for test in ["bigtable", "pubsub", "spanner", "speech", "storage"]: + cmd = os.path.join(self.cpp.build.bindir, test) + self.run(cmd, env="conanrun") diff --git a/recipes/google-cloud-cpp/2.x/test_package/pubsub.cpp b/recipes/google-cloud-cpp/2.x/test_package/pubsub.cpp new file mode 100644 index 0000000000000..c000cd8a7c940 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/pubsub.cpp @@ -0,0 +1,16 @@ +#include +#include + +int main(int argc, char* argv[]) { + if (argc != 1) { + std::cerr << "Usage: pubsub\n"; + return 1; + } + auto const project_id = std::string{"test-only-invalid"}; + auto const topic_id = std::string{"test-only-invalid"}; + std::cout << "Testing google-cloud-cpp::pubsub library " << google::cloud::version_string() << "\n"; + namespace pubsub = google::cloud::pubsub; + auto publisher = pubsub::Publisher( + pubsub::MakePublisherConnection(pubsub::Topic(project_id, topic_id))); + return 0; +} diff --git a/recipes/google-cloud-cpp/2.x/test_package/spanner.cpp b/recipes/google-cloud-cpp/2.x/test_package/spanner.cpp new file mode 100644 index 0000000000000..77d7f3f6a68ad --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/spanner.cpp @@ -0,0 +1,17 @@ +#include +#include + +int main(int argc, char *argv[]) { + if (argc != 1) { + std::cerr << "Usage: bigtable\n"; + return 1; + } + auto const project_id = std::string{"test-only-invalid"}; + auto const instance_id = std::string{"test-only-invalid"}; + auto const database_id = std::string{"test-only-invalid"}; + std::cout << "Testing google-cloud-cpp::spanner library " << google::cloud::version_string() << "\n"; + namespace spanner = ::google::cloud::spanner; + auto client = spanner::Client( + spanner::MakeConnection(spanner::Database(project_id, instance_id, database_id))); + return 0; +} diff --git a/recipes/google-cloud-cpp/2.x/test_package/speech.cpp b/recipes/google-cloud-cpp/2.x/test_package/speech.cpp new file mode 100644 index 0000000000000..e05f7ddf8d1b5 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/speech.cpp @@ -0,0 +1,13 @@ +#include +#include + +int main(int argc, char* argv[]) { + if (argc != 1) { + std::cerr << "Usage: speech\n"; + return 1; + } + std::cout << "Testing google-cloud-cpp::speech library " << google::cloud::version_string() << "\n"; + namespace speech = ::google::cloud::speech; + auto client = speech::SpeechClient(speech::MakeSpeechConnection()); + return 0; +} diff --git a/recipes/google-cloud-cpp/2.x/test_package/storage.cpp b/recipes/google-cloud-cpp/2.x/test_package/storage.cpp new file mode 100644 index 0000000000000..ae43da936475d --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_package/storage.cpp @@ -0,0 +1,18 @@ +#include +#include + +int main(int argc, char* argv[]) { + if (argc != 1) { + std::cerr << "Usage: storage\n"; + return 1; + } + + // Create aliases to make the code easier to read. + namespace gcs = google::cloud::storage; + + // Create a client to communicate with Google Cloud Storage. This client + // uses the default configuration for authentication and project id. + std::cout << "Testing google-cloud-cpp::storage library " << google::cloud::version_string() << "\n"; + auto client = gcs::Client(); + return 0; +} diff --git a/recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt b/recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9d63e750dab0a --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.10...3.24) +project(google-cloud-cpp-test 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/google-cloud-cpp/2.x/test_v1_package/conanfile.py b/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7d052b9b26983 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py @@ -0,0 +1,21 @@ +import os + +from conans import ConanFile, CMake, tools +from conan.tools.build import can_run + + +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 can_run(self): + return + for test in ["bigtable", "pubsub", "spanner", "speech", "storage"]: + cmd = os.path.join("bin", test) + self.run(cmd, run_environment=True) diff --git a/recipes/google-cloud-cpp/config.yml b/recipes/google-cloud-cpp/config.yml index 79daaecfa3b4d..90eb7ac7b97bc 100644 --- a/recipes/google-cloud-cpp/config.yml +++ b/recipes/google-cloud-cpp/config.yml @@ -9,3 +9,5 @@ versions: folder: "all" "1.40.1": folder: "all" + "2.5.0": + folder: "2.x" From 04a2840f00c729e69fbb812eee31c744e9942065 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 11 May 2023 07:02:38 +0200 Subject: [PATCH 0228/4087] (#17487) librdkafka: add package_type + bump dependencies * bump dependencies * add package_type * remove several workaround for issues in conan client - includedirs, libdirs, bindirs of components fixed in conan 1.50.0 - PKG_CONFIG_PATH for CMake fixed in conan 1.55.0 --- recipes/librdkafka/all/conanfile.py | 34 +++++++++-------------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index ab3bc456d08b1..43ce6cb13d84b 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import Environment, VirtualBuildEnv +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 import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.55.0" class LibrdkafkaConan(ConanFile): @@ -19,6 +19,7 @@ class LibrdkafkaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/edenhill/librdkafka" topics = ("kafka", "consumer", "producer") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,23 +67,25 @@ def requirements(self): if self.options.zlib: self.requires("zlib/1.2.13") if self.options.zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") if self.options.ssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/>=1.1 <4") if self._depends_on_cyrus_sasl: self.requires("cyrus-sasl/2.1.27") if self.options.get_safe("curl", False): - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.0.1") def build_requirements(self): if self._depends_on_cyrus_sasl: self.tool_requires("pkgconf/1.9.3") 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): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) tc.variables["WITHOUT_OPTIMIZATION"] = self.settings.build_type == "Debug" tc.variables["ENABLE_DEVEL"] = self.settings.build_type == "Debug" @@ -107,14 +110,6 @@ def generate(self): if self._depends_on_cyrus_sasl: pc = PkgConfigDeps(self) pc.generate() - # inject pkgconf env vars in build context - ms = VirtualBuildEnv(self) - ms.generate(scope="build") - # also need to inject generators folder into PKG_CONFIG_PATH - env = Environment() - env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) - envvars = env.vars(self, scope="build") - envvars.save_script("conanbuildenv_pkg_config_path") def build(self): apply_conandata_patches(self) @@ -167,15 +162,6 @@ def package_info(self): self.cpp_info.components["rdkafka++"].libs = ["rdkafka++"] self.cpp_info.components["rdkafka++"].requires = ["rdkafka"] - # FIXME: remove when Conan 1.50 is used in c3i and update the Conan required version - # from that version components don't have empty libdirs by default - self.cpp_info.components["rdkafka"].includedirs = ["include"] - self.cpp_info.components["rdkafka"].libdirs= ["lib"] - self.cpp_info.components["rdkafka"].bindirs = ["bin"] - self.cpp_info.components["rdkafka++"].includedirs = ["include"] - self.cpp_info.components["rdkafka++"].libdirs = ["lib"] - self.cpp_info.components["rdkafka++"].bindirs = ["bin"] - # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "RdKafka" self.cpp_info.names["cmake_find_package_multi"] = "RdKafka" From d815220f4c353ad989f04d0afe6cf01cecd08471 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 May 2023 20:21:58 +0900 Subject: [PATCH 0229/4087] (#17511) uni-algo: add version 0.8.0, add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/all/conanfile.py | 1 + recipes/uni-algo/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index 70619cbd6ac67..5bec751a95929 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/uni-algo/uni-algo/archive/refs/tags/v0.8.0.tar.gz" + sha256: "657f124f4fb4705f948e9c0835ec88484ee4745d7b19cb2ddb772119a7ea024e" "0.7.1": url: "https://github.com/uni-algo/uni-algo/archive/refs/tags/v0.7.1.tar.gz" sha256: "9ff1f03d6ffd81df7a2a21df353502db55d198a940da0aef0546b37ca934fdfb" diff --git a/recipes/uni-algo/all/conanfile.py b/recipes/uni-algo/all/conanfile.py index f69aa205d9dbf..6db6b84997bdc 100644 --- a/recipes/uni-algo/all/conanfile.py +++ b/recipes/uni-algo/all/conanfile.py @@ -20,6 +20,7 @@ class UniAlgoConan(ConanFile): homepage = "https://github.com/uni-algo/uni-algo" topics = ("unicode", "utf-8", "utf-16", "header-only") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index b93cc3a7e946b..e65f3bb5dd3af 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: all "0.7.1": folder: all "0.7.0": From 3625cd5a6394c743a0f4591f0ee6144d1b1da5a3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 May 2023 14:43:08 +0200 Subject: [PATCH 0230/4087] (#17519) librdkafka: fixup version range typo fixes up conan-io/conan-center-index#17487 --- recipes/librdkafka/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index 43ce6cb13d84b..fbd6361872d87 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): if self.options.zstd: self.requires("zstd/1.5.5") if self.options.ssl: - self.requires("openssl/>=1.1 <4") + self.requires("openssl/[>=1.1 <4]") if self._depends_on_cyrus_sasl: self.requires("cyrus-sasl/2.1.27") if self.options.get_safe("curl", False): From 7007caa3f5082cac1a5bcf88ab25a34923e89e6e Mon Sep 17 00:00:00 2001 From: tankeco Date: Thu, 11 May 2023 22:58:43 +0800 Subject: [PATCH 0231/4087] (#17426) sophus: update sophus version schema, update download link and modernize more --- recipes/sophus/all/conandata.yml | 12 ++++++------ recipes/sophus/all/conanfile.py | 20 +++++++------------- recipes/sophus/config.yml | 4 ++-- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/recipes/sophus/all/conandata.yml b/recipes/sophus/all/conandata.yml index cc44a93d24470..5ba97a496abc6 100644 --- a/recipes/sophus/all/conandata.yml +++ b/recipes/sophus/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "22.10": - url: "https://github.com/strasdat/Sophus/archive/refs/tags/v22.10.tar.gz" - sha256: "270709b83696da179447cf743357e36a8b9bc8eed5ff4b9d66d33fe691010bad" - "22.04.1": - url: "https://github.com/strasdat/Sophus/archive/refs/tags/v22.04.1.tar.gz" - sha256: "635dc536e7768c91e89d537608226b344eef901b51fbc51c9f220c95feaa0b54" + "1.22.10": + url: "https://github.com/strasdat/Sophus/archive/refs/tags/1.22.10.tar.gz" + sha256: "eb1da440e6250c5efc7637a0611a5b8888875ce6ac22bf7ff6b6769bbc958082" + "1.22.4": + url: "https://github.com/strasdat/Sophus/archive/refs/tags/1.22.4.tar.gz" + sha256: "13597381636c5a0757bb89451bf3c98a0978e49b89739b66571a4bdd950caa81" "1.0.0": url: "https://github.com/strasdat/Sophus/archive/v1.0.0.tar.gz" sha256: "b4c8808344fe429ec026eca7eb921cef27fe9ff8326a48b72c53c4bf0804ad53" diff --git a/recipes/sophus/all/conanfile.py b/recipes/sophus/all/conanfile.py index 6b71153ca9340..7fa9bd18760cf 100644 --- a/recipes/sophus/all/conanfile.py +++ b/recipes/sophus/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.53.0" class SophusConan(ConanFile): @@ -15,7 +15,7 @@ class SophusConan(ConanFile): homepage = "https://strasdat.github.io/Sophus/" license = "MIT" no_copy_source = True - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_fmt": [True, False], @@ -25,11 +25,11 @@ class SophusConan(ConanFile): } def requirements(self): - self.requires("eigen/3.4.0") - if self.options.with_fmt and Version(self.version) >= Version("22.10"): - self.requires("fmt/9.1.0") - elif self.options.with_fmt and Version(self.version) >= Version("22.04.1"): - self.requires("fmt/8.1.1") + self.requires("eigen/3.4.0", transitive_headers=True) + if self.options.with_fmt and Version(self.version) >= Version("1.22.10"): + self.requires("fmt/9.1.0", transitive_headers=True) + elif self.options.with_fmt and Version(self.version) >= Version("1.22.4"): + self.requires("fmt/8.1.1", transitive_headers=True) def package_id(self): self.info.clear() @@ -57,12 +57,6 @@ def package_info(self): if not self.options.with_fmt: self.cpp_info.defines.append("SOPHUS_USE_BASIC_LOGGING=1") - # TODO: remove this block if required_conan_version changed to 1.51.1 or higher - # (see https://github.com/conan-io/conan/pull/11790) - self.cpp_info.requires = ["eigen::eigen"] - if self.options.with_fmt and Version(self.version) >= Version("22.04.1"): - self.cpp_info.requires.append("fmt::fmt") - # TODO: to remove in conan v2 once cmake_find_package* generator removed self.cpp_info.names["cmake_find_package"] = "Sophus" self.cpp_info.names["cmake_find_package_multi"] = "Sophus" diff --git a/recipes/sophus/config.yml b/recipes/sophus/config.yml index 89d44f82139c3..44d3b5bd2a8c9 100644 --- a/recipes/sophus/config.yml +++ b/recipes/sophus/config.yml @@ -1,7 +1,7 @@ versions: - "22.10": + "1.22.10": folder: all - "22.04.1": + "1.22.4": folder: all "1.0.0": folder: all From e8866f774d39d6492ce942bd29b3381c3f182777 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 11 May 2023 17:03:13 +0200 Subject: [PATCH 0232/4087] (#17118) aws-c-sdkutils: add missing interface definition if shared + modernize more for conan v2 * add AWS_SDKUTILS_USE_IMPORT_EXPORT interface definition if shared * modernize more * more elegant way to define target for legacy generators * aws-c-common is a public dependency --- recipes/aws-c-sdkutils/all/conanfile.py | 66 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 9 +-- 2 files changed, 41 insertions(+), 34 deletions(-) diff --git a/recipes/aws-c-sdkutils/all/conanfile.py b/recipes/aws-c-sdkutils/all/conanfile.py index 43b3b4f755411..f2158c8d10fa8 100644 --- a/recipes/aws-c-sdkutils/all/conanfile.py +++ b/recipes/aws-c-sdkutils/all/conanfile.py @@ -1,17 +1,20 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, rmdir, save import os +import textwrap + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.52.0" class AwsCSDKUtils(ConanFile): name = "aws-c-sdkutils" description = "C99 library implementing AWS SDK specific utilities. Includes utilities for ARN parsing, reading AWS profiles, etc..." - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-sdkutils" topics = ("aws", "amazon", "cloud", "utility", "ARN") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,28 +31,18 @@ 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 requirements(self): - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -69,17 +62,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-sdkutils")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-sdkutils": "aws-c-sdkutils::aws-c-sdkutils"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-sdkutils") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-sdkutils") + self.cpp_info.libs = ["aws-c-sdkutils"] + if self.options.shared: + self.cpp_info.defines.append("AWS_SDKUTILS_USE_IMPORT_EXPORT") - self.cpp_info.filenames["cmake_find_package"] = "aws-c-sdkutils" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-sdkutils" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-sdkutils-lib"].names["cmake_find_package"] = "aws-c-sdkutils" - self.cpp_info.components["aws-c-sdkutils-lib"].names["cmake_find_package_multi"] = "aws-c-sdkutils" - self.cpp_info.components["aws-c-sdkutils-lib"].set_property("cmake_target_name", "AWS::aws-c-sdkutils") - - self.cpp_info.components["aws-c-sdkutils-lib"].libs = ["aws-c-sdkutils"] - self.cpp_info.components["aws-c-sdkutils-lib"].requires = ["aws-c-common::aws-c-common-lib"] + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt index 6e620de3b4bc3..0d20897301b68 100644 --- a/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.1) - -project(test_package C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-sdkutils REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} AWS::aws-c-sdkutils) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From a290c298b84b9c7e13dcce538c6d4a744b83ef1e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 11 May 2023 17:44:10 +0200 Subject: [PATCH 0233/4087] (#17002) New recipe libpointmatcher/1.3.1 --- recipes/libpointmatcher/all/conandata.yml | 9 + recipes/libpointmatcher/all/conanfile.py | 88 ++++++++ .../all/patches/1.3.1-0001-fix-cmake.patch | 208 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 + .../all/test_package/conanfile.py | 26 +++ .../all/test_package/test_package.cpp | 7 + .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ recipes/libpointmatcher/config.yml | 3 + 9 files changed, 374 insertions(+) create mode 100644 recipes/libpointmatcher/all/conandata.yml create mode 100644 recipes/libpointmatcher/all/conanfile.py create mode 100644 recipes/libpointmatcher/all/patches/1.3.1-0001-fix-cmake.patch create mode 100644 recipes/libpointmatcher/all/test_package/CMakeLists.txt create mode 100644 recipes/libpointmatcher/all/test_package/conanfile.py create mode 100644 recipes/libpointmatcher/all/test_package/test_package.cpp create mode 100644 recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libpointmatcher/all/test_v1_package/conanfile.py create mode 100644 recipes/libpointmatcher/config.yml diff --git a/recipes/libpointmatcher/all/conandata.yml b/recipes/libpointmatcher/all/conandata.yml new file mode 100644 index 0000000000000..448e7fdb12dff --- /dev/null +++ b/recipes/libpointmatcher/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.3.1": + url: "https://github.com/ethz-asl/libpointmatcher/archive/refs/tags/1.3.1.tar.gz" + sha256: "82f93d2e7689efeef8837b8e969919b51c51ad4a1d1fa921c4dd8df4811378ab" +patches: + "1.3.1": + - patch_file: "patches/1.3.1-0001-fix-cmake.patch" + patch_description: "Fix upstream CMakeLists" + patch_type: "conan" diff --git a/recipes/libpointmatcher/all/conanfile.py b/recipes/libpointmatcher/all/conanfile.py new file mode 100644 index 0000000000000..b189d68d9c79e --- /dev/null +++ b/recipes/libpointmatcher/all/conanfile.py @@ -0,0 +1,88 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +import os + +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" + license = "BSD-3-Clause" + topics = ("robotics", "lidar", "point-cloud") + homepage = "https://github.com/ethz-asl/libpointmatcher" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_openmp": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_openmp": False, + } + + @property + def _min_cppstd(self): + return "11" + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("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("libnabo/1.0.7") + + 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 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.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "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")) + + 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"] 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 new file mode 100644 index 0000000000000..bec21dac0c243 --- /dev/null +++ b/recipes/libpointmatcher/all/patches/1.3.1-0001-fix-cmake.patch @@ -0,0 +1,208 @@ +--- 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/test_package/CMakeLists.txt b/recipes/libpointmatcher/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b3a37d353b52c --- /dev/null +++ b/recipes/libpointmatcher/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(libpointmatcher REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libpointmatcher::libpointmatcher) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/libpointmatcher/all/test_package/conanfile.py b/recipes/libpointmatcher/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/libpointmatcher/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/libpointmatcher/all/test_package/test_package.cpp b/recipes/libpointmatcher/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ec1d2ba86285d --- /dev/null +++ b/recipes/libpointmatcher/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include + +int main() +{ + auto rigidTrans = PointMatcher::get().REG(Transformation).create("RigidTransformation"); + return 0; +} diff --git a/recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt b/recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libpointmatcher/all/test_v1_package/conanfile.py b/recipes/libpointmatcher/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libpointmatcher/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/libpointmatcher/config.yml b/recipes/libpointmatcher/config.yml new file mode 100644 index 0000000000000..59334d5077368 --- /dev/null +++ b/recipes/libpointmatcher/config.yml @@ -0,0 +1,3 @@ +versions: + "1.3.1": + folder: all From 3d9e728cdc788500c53ecf8b92ef35613232bd37 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 11 May 2023 18:25:11 +0200 Subject: [PATCH 0234/4087] (#17527) [config] Drop Clang 11 from Conan v1 configuration Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index a47a3adc33d1a..ce17baffab669 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -79,17 +79,6 @@ configurations: compiler.libcxx: [ "libstdc++11" ] compiler.version: ["5", "7", "9", "10", "11"] build_type: ["Release", "Debug"] - - id: linux-clang - epochs: [0] - hrname: "Linux, Clang" - content: - - os: [ "Linux" ] - arch: [ "x86_64" ] - compiler: - - "clang": - compiler.libcxx: [ "libstdc++", "libc++" ] - compiler.version: [ "11" ] - build_type: [ "Release", "Debug" ] - id: linux-clang epochs: [20211221, 20220120] hrname: "Linux, Clang" @@ -99,7 +88,7 @@ configurations: compiler: - "clang": compiler.libcxx: ["libstdc++", "libc++"] - compiler.version: ["11", "12", "13"] + compiler.version: ["12", "13"] build_type: ["Release", "Debug"] - id: macos-clang epochs: [0, 20211221] From 1dd0e6d1ddddbadc563397315752d252827976a4 Mon Sep 17 00:00:00 2001 From: Hans-Joachim Krauch Date: Thu, 11 May 2023 13:47:40 -0300 Subject: [PATCH 0235/4087] (#16500) foxglove-websocket: Add version 1.0.0 * foxglove-websocket: Add version 1.0.0 * do not start server in test * foxglove-websocket: Remove 0.0.1 version --- recipes/foxglove-websocket/all/conandata.yml | 6 +- recipes/foxglove-websocket/all/conanfile.py | 91 +++++++++++++++---- .../all/test_package/CMakeLists.txt | 11 +-- .../all/test_package/conanfile.py | 22 ++++- .../all/test_package/test_package.cpp | 20 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 22 +++++ recipes/foxglove-websocket/config.yml | 2 +- 8 files changed, 142 insertions(+), 40 deletions(-) create mode 100644 recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/foxglove-websocket/all/test_v1_package/conanfile.py diff --git a/recipes/foxglove-websocket/all/conandata.yml b/recipes/foxglove-websocket/all/conandata.yml index e0bef4a6e6152..30a26f91bb4d6 100644 --- a/recipes/foxglove-websocket/all/conandata.yml +++ b/recipes/foxglove-websocket/all/conandata.yml @@ -1,4 +1,4 @@ sources: - 0.0.1: - url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v0.0.1.tar.gz - sha256: 94766f44973f0c0ce7e87039b9ef9d5b4a8bc73727047568170ac61262625c9b + 1.0.0: + url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.0.0.tar.gz + sha256: c6106934a47d9d5b53ee3f6a0a6c8ec778ffdb52e9b462136bfc1bc5391ed227 diff --git a/recipes/foxglove-websocket/all/conanfile.py b/recipes/foxglove-websocket/all/conanfile.py index 2d4424bef585f..60557d9c03f13 100644 --- a/recipes/foxglove-websocket/all/conanfile.py +++ b/recipes/foxglove-websocket/all/conanfile.py @@ -1,8 +1,14 @@ -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 CMakeToolchain, CMake, cmake_layout +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy, rmdir +from conan.tools.scm import Version import os +required_conan_version = ">=1.53.0" + class FoxgloveWebSocketConan(ConanFile): name = "foxglove-websocket" url = "https://github.com/conan-io/conan-center-index" @@ -11,30 +17,81 @@ class FoxgloveWebSocketConan(ConanFile): license = "MIT" topics = ("foxglove", "websocket") - settings = ("os", "compiler", "build_type", "arch") - requires = ("nlohmann_json/3.10.5", "websocketpp/0.8.2") - generators = ("cmake", "cmake_find_package") + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps" + + @property + def _min_cppstd(self): + return 17 - _source_root = "source_root" - _source_package_path = os.path.join(_source_root, "cpp", "foxglove-websocket") + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16.9", + "msvc": "191", + "gcc": "9", + "clang": "9", + "apple-clang": "12", + } + + @property + def _source_package_path(self): + return os.path.join(self.source_folder, "tarball", "cpp", "foxglove-websocket") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_root) + tmp_folder = "tarball" + get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=tmp_folder) + copy(self, "*", src=os.path.join(self.source_folder, tmp_folder, "cpp", "foxglove-websocket"), dst=self.source_folder) + copy(self, "LICENSE", src=tmp_folder, dst=self.source_folder) + rmdir(self, tmp_folder) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") - if (self.settings.compiler == "gcc" or self.settings.compiler == "clang") and tools.Version(self.settings.compiler.version) <= 8: - raise ConanInvalidConfiguration("Compiler version is not supported, c++17 support is required") - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) <= "16.8": - raise ConanInvalidConfiguration("Compiler version is not supported, c++17 support is required") + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def requirements(self): + self.requires("nlohmann_json/3.10.5", transitive_headers=True) + self.requires("websocketpp/0.8.2") + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): self.options["websocketpp"].asio = "standalone" + if self.options.shared: + self.options.rm_safe("fPIC") + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_package_path) - self.copy("include/*", src=self._source_package_path) + cmake = CMake(self) + cmake.install() - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.libs = ["foxglove_websocket"] diff --git a/recipes/foxglove-websocket/all/test_package/CMakeLists.txt b/recipes/foxglove-websocket/all/test_package/CMakeLists.txt index 2b26900ab008c..869000fbad0c4 100644 --- a/recipes/foxglove-websocket/all/test_package/CMakeLists.txt +++ b/recipes/foxglove-websocket/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(foxglove-websocket REQUIRED CONFIG) -add_executable(test_package test_package.cpp) -set_target_properties(test_package PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON) -target_link_libraries(test_package foxglove-websocket::foxglove-websocket) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} foxglove-websocket::foxglove-websocket) +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON) diff --git a/recipes/foxglove-websocket/all/test_package/conanfile.py b/recipes/foxglove-websocket/all/test_package/conanfile.py index 005eae16e0474..3475b6c2095c1 100644 --- a/recipes/foxglove-websocket/all/test_package/conanfile.py +++ b/recipes/foxglove-websocket/all/test_package/conanfile.py @@ -1,17 +1,29 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.build import can_run import os class TestPackageConan(ConanFile): settings = ("os", "arch", "compiler", "build_type") - generators = ("cmake", "cmake_find_package_multi") + generators = "CMakeDeps" + test_type = "explicit" + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + 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 not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/foxglove-websocket/all/test_package/test_package.cpp b/recipes/foxglove-websocket/all/test_package/test_package.cpp index 13842a1ec1a3b..d63b14b5b96bc 100644 --- a/recipes/foxglove-websocket/all/test_package/test_package.cpp +++ b/recipes/foxglove-websocket/all/test_package/test_package.cpp @@ -1,11 +1,17 @@ -#include -#include +#include +#include + +template<> +void foxglove::Server::setupTlsHandler() {} int main() { - foxglove::websocket::Server server{0, "example"}; - server.getEndpoint().set_timer(0, [&](std::error_code const& ec) { - server.stop(); - }); - server.run(); + // Note: Server instance is only initiated here and not started. This is similar to how it's + // done in the websocketpp recipe. + const auto logHandler = [](foxglove::WebSocketLogLevel, char const* msg) { + std::cout << msg << std::endl; + }; + foxglove::ServerOptions serverOptions; + foxglove::Server server("example", logHandler, serverOptions); + (void)server; return 0; } diff --git a/recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt b/recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/foxglove-websocket/all/test_v1_package/conanfile.py b/recipes/foxglove-websocket/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a4da47d572258 --- /dev/null +++ b/recipes/foxglove-websocket/all/test_v1_package/conanfile.py @@ -0,0 +1,22 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageConan(ConanFile): + settings = ("os", "arch", "compiler", "build_type") + generators = ("cmake", "cmake_find_package_multi") + test_type = "explicit" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def requirements(self): + self.requires(self.tested_reference_str) + + 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/foxglove-websocket/config.yml b/recipes/foxglove-websocket/config.yml index 768a10bf6dc2b..3e794e52e592a 100644 --- a/recipes/foxglove-websocket/config.yml +++ b/recipes/foxglove-websocket/config.yml @@ -1,3 +1,3 @@ versions: - 0.0.1: + 1.0.0: folder: all From 04ead3b361cac7dfd31f968818b992e5d3a87355 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 11 May 2023 12:23:55 -0500 Subject: [PATCH 0236/4087] (#17372) gdbm: Support Conan V2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdbm: Support Conan V2 Required for PR #17355. Also, add version 1.23. * Fixes * Make sure that YYDEBUG is defined when gdbmtool_debug is enabled * Fix v1 package * Try changing the name of the top-level CMake project --------- Co-authored-by: Rubén Rincón Blanco --- recipes/gdbm/all/conandata.yml | 15 +- recipes/gdbm/all/conanfile.py | 152 +++++++++--------- recipes/gdbm/all/test_package/CMakeLists.txt | 9 +- recipes/gdbm/all/test_package/conanfile.py | 24 ++- .../gdbm/all/test_v1_package/CMakeLists.txt | 8 + recipes/gdbm/all/test_v1_package/conanfile.py | 18 +++ recipes/gdbm/config.yml | 4 +- 7 files changed, 135 insertions(+), 95 deletions(-) create mode 100644 recipes/gdbm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/gdbm/all/test_v1_package/conanfile.py diff --git a/recipes/gdbm/all/conandata.yml b/recipes/gdbm/all/conandata.yml index bac7f3ad5d141..cc2f6e66ae117 100644 --- a/recipes/gdbm/all/conandata.yml +++ b/recipes/gdbm/all/conandata.yml @@ -1,17 +1,22 @@ sources: - "1.18.1": + "1.23": url: [ - "https://ftp.gnu.org/gnu/gdbm/gdbm-1.18.1.tar.gz", - "https://mirrors.tripadvisor.com/gnu/gdbm/gdbm-1.18.1.tar.gz", + "https://ftp.gnu.org/gnu/gdbm/gdbm-1.23.tar.gz", + "https://mirrors.tripadvisor.com/gnu/gdbm/gdbm-1.23.tar.gz", ] - sha256: "86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc" + sha256: "74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd" "1.19": url: [ "https://ftp.gnu.org/gnu/gdbm/gdbm-1.19.tar.gz", "https://mirrors.tripadvisor.com/gnu/gdbm/gdbm-1.19.tar.gz", ] sha256: "37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc" + "1.18.1": + url: [ + "https://ftp.gnu.org/gnu/gdbm/gdbm-1.18.1.tar.gz", + "https://mirrors.tripadvisor.com/gnu/gdbm/gdbm-1.18.1.tar.gz", + ] + sha256: "86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc" patches: "1.18.1": - patch_file: "patches/0001-fix-multiple-definitions.patch" - base_path: "source_subfolder" diff --git a/recipes/gdbm/all/conanfile.py b/recipes/gdbm/all/conanfile.py index 823adce58d090..71b092ccff400 100644 --- a/recipes/gdbm/all/conanfile.py +++ b/recipes/gdbm/all/conanfile.py @@ -1,9 +1,14 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration import os -import shutil -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.54.0" class GdbmConan(ConanFile): @@ -13,10 +18,11 @@ class GdbmConan(ConanFile): "the standard UNIX dbm. " "These routines are provided to a programmer needing " "to create and manipulate a hashed database.") - topics = ("conan", "gdbm", "dbm", "hash", "database") + license = "GPL-3.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.gnu.org.ua/software/gdbm/gdbm.html" - license = "GPL-3.0" + topics = ("dbm", "hash", "database") + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -37,103 +43,95 @@ class GdbmConan(ConanFile): "with_nls": True, } - exports_sources = "patches/**" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(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") if not self.options.with_nls: - del self.options.with_libiconv + self.options.rm_safe("with_libiconv") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.get_safe("with_libiconv"): - self.requires("libiconv/1.16") + self.requires("libiconv/1.17") if self.options.with_readline: self.requires("readline/8.1.2") def validate(self): if self.settings.os == "Windows": - raise ConanInvalidConfiguration("gdbm is not supported on Windows") + raise ConanInvalidConfiguration(f"{self.name} is not supported on Windows") def build_requirements(self): - self.build_requires("bison/3.7.6") - self.build_requires("flex/2.6.4") - self.build_requires("gnu-config/cci.20210814") + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") + self.tool_requires("gnu-config/cci.20210814") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", None) or self.deps_user_info - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "build-aux", "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "build-aux", "config.guess")) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - self._autotools.libs = [] - conf_args = [ - "--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug", - "--with-readline" if self.options.with_readline else "--without-readline", - "--enable-libgdbm-compat" if self.options.libgdbm_compat else "--disable-libgdbm-compat", - "--enable-gdbmtool-debug" if self.options.gdbmtool_debug else "--disable-gdbmtool-debug", - "--disable-rpath", - ] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend([ - "--disable-shared", "--enable-static", - "--with-pic" if self.options.get_safe("fPIC", True) else "--without-pic"] - ) - - if not self.options.with_nls: - conf_args.extend(["--disable-nls"]) - + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + if not cross_building(self): + virtual_run_env = VirtualRunEnv(self) + virtual_run_env.generate(scope="build") + tc = AutotoolsToolchain(self) + yes_no = lambda v: "yes" if v else "no" + enable_debug = self.settings.build_type in ["Debug", "RelWithDebInfo"] + tc.configure_args.extend([ + f"--enable-debug={yes_no(enable_debug)}", + f"--enable-libgdbm-compat={yes_no(self.options.libgdbm_compat)}", + f"--enable-gdbmtool-debug={yes_no(self.options.gdbmtool_debug)}", + f"--enable-nls={yes_no(self.options.with_nls)}", + f"--with-readline={yes_no(self.options.with_readline)}", + f"--with-pic={yes_no(self.options.get_safe('fPIC', True))}", + ]) + if self.options.gdbmtool_debug: + tc.extra_defines.append("YYDEBUG=1") if self.options.get_safe("with_libiconv"): - conf_args.extend([ - "--with-libiconv-prefix={}" - .format(self.deps_cpp_info["libiconv"].rootpath), + libiconv_package_folder = self.dependencies.direct_host["libiconv"].package_folder + tc.configure_args.extend([ + f"--with-libiconv-prefix={libiconv_package_folder}" "--with-libintl-prefix" ]) else: - conf_args.extend(['--without-libiconv-prefix', - "--without-libintl-prefix"]) + tc.configure_args.extend([ + "--without-libiconv-prefix", + "--without-libintl-prefix" + ]) + tc.generate() + autotools_deps = AutotoolsDeps(self) + autotools_deps.generate() - self._autotools.configure(args=conf_args) - return self._autotools + def _patch_sources(self): + apply_conandata_patches(self) + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), os.path.dirname(gnu_config), os.path.join(self.source_folder, "build-aux")) def build(self): self._patch_sources() - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - with tools.chdir("src"): - autotools.make(target="maintainer-clean-generic") - autotools.make() + autotools = Autotools(self) + autotools.configure() + autotools.make(target="maintainer-clean-generic") + autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "share")) + 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, "share")) + fix_apple_shared_install_name(self) def package_info(self): if self.options.libgdbm_compat: diff --git a/recipes/gdbm/all/test_package/CMakeLists.txt b/recipes/gdbm/all/test_package/CMakeLists.txt index 7672a2d37cdd9..271f4ed1ffbb0 100644 --- a/recipes/gdbm/all/test_package/CMakeLists.txt +++ b/recipes/gdbm/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 C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(gdbm REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE gdbm::gdbm) diff --git a/recipes/gdbm/all/test_package/conanfile.py b/recipes/gdbm/all/test_package/conanfile.py index bbf2351737349..0a808db45f245 100644 --- a/recipes/gdbm/all/test_package/conanfile.py +++ b/recipes/gdbm/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +# 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) @@ -12,6 +22,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/gdbm/all/test_v1_package/CMakeLists.txt b/recipes/gdbm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0624ca060d101 --- /dev/null +++ b/recipes/gdbm/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_v1_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/gdbm/all/test_v1_package/conanfile.py b/recipes/gdbm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/gdbm/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/gdbm/config.yml b/recipes/gdbm/config.yml index 1090769a11fc8..bdd7d2d2f235b 100644 --- a/recipes/gdbm/config.yml +++ b/recipes/gdbm/config.yml @@ -1,5 +1,7 @@ versions: - "1.18.1": + "1.23": folder: all "1.19": folder: all + "1.18.1": + folder: all From bebd0c2906a4856b9b8d36cae3fd291c56d4430e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 11 May 2023 20:05:41 +0200 Subject: [PATCH 0237/4087] (#16387) sfml: bump dependencies and depend on openal-soft instead of deprecated openal --- recipes/sfml/all/conanfile.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 32bcab86eaacb..18f3ab2ca1e58 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -17,7 +17,7 @@ class SfmlConan(ConanFile): topics = ("multimedia", "games", "graphics", "audio") homepage = "https://www.sfml-dev.org" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -58,11 +58,11 @@ def requirements(self): self.requires("libudev/system") self.requires("xorg/system") if self.options.graphics: - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") self.requires("stb/cci.20220909") if self.options.audio: - self.requires("flac/1.3.3") - self.requires("openal/1.22.2") + self.requires("flac/1.4.2") + self.requires("openal-soft/1.22.2") self.requires("vorbis/1.3.7") def validate(self): @@ -72,8 +72,7 @@ def validate(self): raise ConanInvalidConfiguration("sfml:graphics=True requires sfml:window=True") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) rmdir(self, os.path.join(self.source_folder, "extlibs")) def generate(self): @@ -246,7 +245,7 @@ def opengles_ios(): "audio": { "target": "sfml-audio", "libs": [f"sfml-audio{suffix}"], - "requires": ["system", "flac::flac", "openal::openal", "vorbis::vorbis"], + "requires": ["system", "flac::flac", "openal-soft::openal-soft", "vorbis::vorbis"], "system_libs": android(), }, }) From 4e7a7fa69db15aa53706cbae2351d17c5a967f1a Mon Sep 17 00:00:00 2001 From: Eric Riff <57375845+ericriff@users.noreply.github.com> Date: Thu, 11 May 2023 15:22:24 -0400 Subject: [PATCH 0238/4087] (#17530) Add mold 1.11.0 --- recipes/mold/all/conandata.yml | 3 +++ recipes/mold/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 1a021caadcd5c..22885d71a0ad6 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -11,3 +11,6 @@ sources: "1.8.0": url: "https://github.com/rui314/mold/archive/refs/tags/v1.8.0.tar.gz" sha256: "7210225478796c2528aae30320232a5a3b93a640292575a8c55aa2b140041b5c" + "1.11.0": + url: "https://github.com/rui314/mold/archive/refs/tags/v1.11.0.tar.gz" + sha256: "99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f" diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index 7461d58f360be..b98e60e56dc68 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -9,3 +9,5 @@ versions: folder: all "1.8.0": folder: all + "1.11.0": + folder: all From c241052aa80d36b88d795618b4eb9d13bbe82c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 12 May 2023 00:21:51 +0200 Subject: [PATCH 0239/4087] (#17523) vulkan-memory-allocator: Add package_type and update vulkan-headers dependency --- recipes/vulkan-memory-allocator/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/vulkan-memory-allocator/all/conanfile.py b/recipes/vulkan-memory-allocator/all/conanfile.py index 5920e7735e904..88b01c7c9bcc1 100644 --- a/recipes/vulkan-memory-allocator/all/conanfile.py +++ b/recipes/vulkan-memory-allocator/all/conanfile.py @@ -15,6 +15,7 @@ class VulkanMemoryAllocatorConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "Easy to integrate Vulkan memory allocation library." topics = ("vulkan", "memory-allocator", "graphics") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -28,7 +29,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("vulkan-headers/1.3.236.0") + self.requires("vulkan-headers/1.3.243.0") def package_id(self): self.info.clear() From b6a8895d9e7eda106f01c304066e9fbf13e2acc8 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 11 May 2023 18:02:37 -0500 Subject: [PATCH 0240/4087] (#17504) fmt: Add version 10.0.0 --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/all/conanfile.py | 1 + recipes/fmt/all/test_package/CMakeLists.txt | 2 +- recipes/fmt/all/test_v1_package/CMakeLists.txt | 2 +- recipes/fmt/config.yml | 2 ++ 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index 2e3e916ce6875..2125f36949279 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.0.0": + url: "https://github.com/fmtlib/fmt/releases/download/10.0.0/fmt-10.0.0.zip" + sha256: "4943cb165f3f587f26da834d3056ee8733c397e024145ca7d2a8a96bb71ac281" "9.1.0": url: "https://github.com/fmtlib/fmt/releases/download/9.1.0/fmt-9.1.0.zip" sha256: "cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996" diff --git a/recipes/fmt/all/conanfile.py b/recipes/fmt/all/conanfile.py index 9e0bb36bb8099..d4667f8ad030c 100644 --- a/recipes/fmt/all/conanfile.py +++ b/recipes/fmt/all/conanfile.py @@ -17,6 +17,7 @@ class FmtConan(ConanFile): topics = ("format", "iostream", "printf") url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "header_only": [True, False], diff --git a/recipes/fmt/all/test_package/CMakeLists.txt b/recipes/fmt/all/test_package/CMakeLists.txt index a71cd67f135ec..98b237372b898 100644 --- a/recipes/fmt/all/test_package/CMakeLists.txt +++ b/recipes/fmt/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(fmt REQUIRED CONFIG) diff --git a/recipes/fmt/all/test_v1_package/CMakeLists.txt b/recipes/fmt/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..91630d79f4abb 100644 --- a/recipes/fmt/all/test_v1_package/CMakeLists.txt +++ b/recipes/fmt/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index 7251dde3fac9f..44e12e4e3ddc7 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.0.0": + folder: all "9.1.0": folder: all "9.0.0": From 9562bc83ed6f09ba87e1c9ba37dc40a7c301bb79 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 12 May 2023 10:23:10 +0200 Subject: [PATCH 0241/4087] (#17531) [bot] Update list of references (prod-v2/ListPackages) --- .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 03fc21f2749e9..51fd26e16f950 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -59,6 +59,7 @@ required_for_references: - bit-lite - bitflags - bitmagic +- bitserializer - bitsery - blaze - blend2d @@ -296,6 +297,7 @@ required_for_references: - jwt-cpp - kangaru - kmod +- ktx - kuba-zip - lcms - ldns @@ -337,6 +339,7 @@ required_for_references: - libiconv - libjpeg - libjpeg-turbo +- libkml - liblsl - libltc - libmodbus @@ -356,6 +359,7 @@ required_for_references: - libpqxx - libpsl - libqrencode +- librdkafka - librealsense - libressl - librttopo @@ -393,6 +397,7 @@ required_for_references: - libyuv - libzen - libzip +- libzippp - lief - linux-syscall-support - lodepng @@ -469,6 +474,7 @@ required_for_references: - pcre2 - pdfgen - pfr +- physx - picobench - picojson - pkgconf @@ -508,6 +514,7 @@ required_for_references: - ruy - s2n - scnlib +- screen_capture_lite - sdl - sdl_image - seadex-essentials @@ -536,6 +543,7 @@ required_for_references: - string-view-lite - symengine - tabulate +- taocpp-json - taocpp-pegtl - taskflow - tcb-span @@ -544,9 +552,11 @@ required_for_references: - tensorpipe - termcap - threadpool +- thrift - tinycthread - tinycthreadpool - tinyexif +- tinymidi - tinyxml2 - tl-expected - tlx @@ -580,6 +590,7 @@ required_for_references: - wil - winflexbison - wiringpi +- wise_enum - wolfssl - wslay - wt From 7cfce6b755b110eb2ebbb756fc3737ed73b43ef0 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 12 May 2023 10:41:32 +0200 Subject: [PATCH 0242/4087] (#17535) [bot] Update authorized users list (2023-05-12) --- .c3i/authorized_users.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index e65e955232924..d77b09fbd91f5 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1142,3 +1142,12 @@ authorized_users: - BrettDong - mtudan - kontrybutor +- ThomasKes +- wbehrens-on-gh +- raulcd +- bwhitchurch +- jhunold +- Corallo +- JGatley +- christapley +- mpimenov From ad92bbd3383592b5e84b6019c96ce26ac131a753 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 12 May 2023 11:02:05 +0200 Subject: [PATCH 0243/4087] (#17533) [doc] Update supported platforms and configurations (2023-05-11) --- docs/supported_platforms_and_configurations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/supported_platforms_and_configurations.md b/docs/supported_platforms_and_configurations.md index 30139c81d09f8..f39ae2fe9c847 100644 --- a/docs/supported_platforms_and_configurations.md +++ b/docs/supported_platforms_and_configurations.md @@ -62,7 +62,7 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - CMake: 3.15.7, 3.18.2 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) - Compilers: - GCC versions: 5, 7, 9, 10, 11 - - Clang versions: 11, 12, 13 + - Clang versions: 12, 13 - C++ Standard Library (`libcxx`): - GCC compiler: `libstdc++`, `libstdc++11` - Clang compiler: `libstdc++`, `libc++` From 8dfe340163d98cca543918d207e50a675abe1029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Fri, 12 May 2023 12:42:04 +0200 Subject: [PATCH 0244/4087] (#17458) arrow: add version 11.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- 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 692a759b11a1b..63008d8eba8f6 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-11.0.0/apache-arrow-11.0.0.tar.gz?action=download" + sha256: "2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430" "10.0.1": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-10.0.1/apache-arrow-10.0.1.tar.gz?action=download" sha256: "c814e0670112a22c1a6ec03ab420a52ae236a9a42e9e438c3cbd37f37e658fb3" diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index 4bae18e25c979..f8d5aa9001a2b 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "11.0.0": + folder: all "10.0.1": folder: all "10.0.0": From 4012d3f54f40cb8fb15f2def37c3317f543e8c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= Date: Fri, 12 May 2023 13:22:22 +0200 Subject: [PATCH 0245/4087] (#17507) Mosquitto 2.x conan2 * (#17006) mosquitto/2.x: mark old test_package as v1 * (#17006) mosquitto/2.x: copy the 1.x test_package to 2.x as well * it's anyway more comprehensive than the old 2.x test package for v1 * (#17006) mosquitto/2.x: port to conan v2 * testing constraints: linux, v2.0.15 only, no websockets (not ported yet), no ssl (same reason for its currently stated dependency version) * basically I've done a `conan create 2.x/conanfile.py --version=2.0.15 --user=dan --channel=local_run --profile:build=default --profile:host=default --options:host=ssl=False` to test it * similarly to check conan 1 regression: `conan create 2.x/conanfile.py 2.0.15@dan/local_run --profile:build=default --profile:host=default --options:host=mosquitto:ssl=False` * (#17006) mosquitto/2.x: fix licence copying * the destination folder now needs to specify root as well * used the same code from 1.x * (#17006) mosquitto/2.x: apply patches before they're consumed * now cmake creation of makefiles is called in generate(), so had to appy patches earlier * try macos patch as well * wip * wip * wip * wip * Update recipes/mosquitto/2.x/conanfile.py Co-authored-by: Chris Mc * Update recipes/mosquitto/2.x/conanfile.py Co-authored-by: Chris Mc * wip * wip * fixed bad dependency * Fixed compiler * static builds * suggestions * wip * Fixed bad interface folders --------- Co-authored-by: danicriss Co-authored-by: Chris Mc --- recipes/mosquitto/2.x/CMakeLists.txt | 11 -- recipes/mosquitto/2.x/conanfile.py | 155 ++++++++---------- .../mosquitto/2.x/test_package/CMakeLists.txt | 8 +- .../mosquitto/2.x/test_package/conanfile.py | 22 ++- .../mosquitto/2.x/test_package/test_package.c | 68 ++++++-- .../2.x/test_v1_package/CMakeLists.txt | 8 + .../2.x/test_v1_package/conanfile.py | 18 ++ 7 files changed, 167 insertions(+), 123 deletions(-) delete mode 100644 recipes/mosquitto/2.x/CMakeLists.txt create mode 100644 recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/mosquitto/2.x/test_v1_package/conanfile.py diff --git a/recipes/mosquitto/2.x/CMakeLists.txt b/recipes/mosquitto/2.x/CMakeLists.txt deleted file mode 100644 index 0afabb3cbe2e0..0000000000000 --- a/recipes/mosquitto/2.x/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(conan_cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/mosquitto/2.x/conanfile.py b/recipes/mosquitto/2.x/conanfile.py index a2b39f2d1e5d0..6af30191cdf13 100644 --- a/recipes/mosquitto/2.x/conanfile.py +++ b/recipes/mosquitto/2.x/conanfile.py @@ -1,11 +1,13 @@ import os + from conan import ConanFile -from conan.tools.files import get, replace_in_file, rmdir, rm +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, rm +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -from conans import CMake -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class Mosquitto(ConanFile): @@ -40,113 +42,93 @@ class Mosquitto(ConanFile): "websockets": False, "threading": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + generators = "CMakeDeps" def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.clients: - del self.options.cjson + self.options.rm_safe("cjson") if not self.options.broker: - del self.options.websockets + self.options.rm_safe("websockets") if not self.options.build_cpp: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("compiler.libcxx") + self.options.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.ssl: - self.requires("openssl/1.1.1q") + self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("cjson"): self.requires("cjson/1.7.14") if self.options.get_safe("websockets"): self.requires("libwebsockets/4.2.0") def source(self): - get(self, **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["WITH_STATIC_LIBRARIES"] = not self.options.shared - self._cmake.definitions["WITH_PIC"] = self.options.get_safe("fPIC", False) - self._cmake.definitions["WITH_TLS"] = self.options.ssl - self._cmake.definitions["WITH_CLIENTS"] = self.options.clients + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_STATIC_LIBRARIES"] = not self.options.shared + tc.variables["WITH_PIC"] = self.options.get_safe("fPIC", True) + tc.variables["WITH_TLS"] = self.options.ssl + tc.variables["WITH_CLIENTS"] = self.options.clients if Version(self.version) < "2.0.6": - self._cmake.definitions["CMAKE_DISABLE_FIND_PACKAGE_cJSON"] = not self.options.get_safe("cjson") + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_cJSON"] = not self.options.get_safe("cjson") else: - self._cmake.definitions["WITH_CJSON"] = self.options.get_safe("cjson") - self._cmake.definitions["WITH_BROKER"] = self.options.broker - self._cmake.definitions["WITH_APPS"] = self.options.apps - self._cmake.definitions["WITH_PLUGINS"] = False - self._cmake.definitions["WITH_LIB_CPP"] = self.options.build_cpp - self._cmake.definitions["WITH_THREADING"] = self.settings.compiler != "Visual Studio" and self.options.threading - self._cmake.definitions["WITH_WEBSOCKETS"] = self.options.get_safe("websockets", False) - self._cmake.definitions["STATIC_WEBSOCKETS"] = self.options.get_safe("websockets", False) and not self.options["libwebsockets"].shared - self._cmake.definitions["DOCUMENTATION"] = False - self._cmake.definitions["CMAKE_INSTALL_SYSCONFDIR"] = os.path.join(self.package_folder, "res").replace("\\", "/") - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - - def _patch_sources(self): - replace_in_file(self, os.path.join(self._source_subfolder, "client", "CMakeLists.txt"), "static)", "static ${CONAN_LIBS})") - replace_in_file(self, os.path.join(self._source_subfolder, "client", "CMakeLists.txt"), "quitto)", "quitto ${CONAN_LIBS})") - replace_in_file(self, os.path.join(self._source_subfolder, "apps", "mosquitto_ctrl", "CMakeLists.txt"), "static)", "static ${CONAN_LIBS})") - replace_in_file(self, os.path.join(self._source_subfolder, "apps", "mosquitto_ctrl", "CMakeLists.txt"), "quitto)", "quitto ${CONAN_LIBS})") - replace_in_file(self, os.path.join(self._source_subfolder, "apps", "mosquitto_passwd", "CMakeLists.txt"), "OPENSSL_LIBRARIES", "CONAN_LIBS") - replace_in_file(self, os.path.join(self._source_subfolder, "apps", "mosquitto_ctrl", "CMakeLists.txt"), "OPENSSL_LIBRARIES", "CONAN_LIBS") - replace_in_file(self, os.path.join(self._source_subfolder, "src", "CMakeLists.txt"), "OPENSSL_LIBRARIES", "CONAN_LIBS") - replace_in_file(self, os.path.join(self._source_subfolder, "lib", "CMakeLists.txt"), "OPENSSL_LIBRARIES", "CONAN_LIBS") - replace_in_file(self, os.path.join(self._source_subfolder, "src", "CMakeLists.txt"), "MOSQ_LIBS", "CONAN_LIBS") - replace_in_file(self, os.path.join(self._source_subfolder, "include", "mosquitto.h"), "__declspec(dllimport)", "") - replace_in_file(self, os.path.join(self._source_subfolder, "lib", "cpp", "mosquittopp.h"), "__declspec(dllimport)", "") - # dynlibs for apple mobile want code signatures and that will not work here - # this would actually be the right patch for static builds also, but this would have other side effects, so - if(self.settings.os in ["iOS", "watchOS", "tvOS"]): - replace_in_file(self, os.path.join(self._source_subfolder, "lib", "CMakeLists.txt"), "SHARED", "") - replace_in_file(self, os.path.join(self._source_subfolder, "lib", "cpp", "CMakeLists.txt"), "SHARED", "") + tc.variables["WITH_CJSON"] = self.options.get_safe("cjson") + tc.variables["WITH_BROKER"] = self.options.broker + tc.variables["WITH_APPS"] = self.options.apps + tc.variables["WITH_PLUGINS"] = False + tc.variables["WITH_LIB_CPP"] = self.options.build_cpp + tc.variables["WITH_THREADING"] = not is_msvc(self) and self.options.threading + tc.variables["WITH_WEBSOCKETS"] = self.options.get_safe("websockets", False) + tc.variables["STATIC_WEBSOCKETS"] = self.options.get_safe("websockets", False) and not self.dependencies["libwebsockets"].options.shared + tc.variables["DOCUMENTATION"] = False + tc.variables["CMAKE_INSTALL_SYSCONFDIR"] = os.path.join(self.package_folder, "res").replace("\\", "/") + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("edl-v10", src=self._source_subfolder, dst="licenses") - self.copy("epl-v20", src=self._source_subfolder, dst="licenses") - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + for license_file in ("LICENSE.txt", "edl-v10", "epl-v20"): + copy(self, license_file, 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")) rm(self, "*.example", os.path.join(self.package_folder, "res")) + package_lib_folder = os.path.join(self.package_folder, "lib") if not self.options.shared: - 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")) - elif self.options.shared and self.settings.compiler == "Visual Studio": - self.copy("mosquitto.lib", src=os.path.join(self._build_subfolder, "lib"), dst="lib") + rm(self, "mosquitto.lib", package_lib_folder) + rm(self, "mosquittopp.lib", package_lib_folder) + rm(self, "*.dll.a", package_lib_folder) + rm(self, "*.so*", package_lib_folder) + rm(self, "*.dylib", package_lib_folder) + elif self.options.shared and is_msvc(self): + lib_folder = os.path.join(self.build_folder, "lib", str(self.settings.build_type)) + copy(self, "mosquitto.lib", lib_folder, package_lib_folder) if self.options.build_cpp: - self.copy("mosquittopp.lib", src=os.path.join(self._build_subfolder, "lib"), dst="lib") + libpp_folder = os.path.join(self.build_folder, "lib", "cpp", str(self.settings.build_type)) + copy(self, "mosquittopp.lib", libpp_folder, package_lib_folder) def package_info(self): - libsuffix = "" if self.options.shared else "_static" - self.cpp_info.components["libmosquitto"].names["pkg_config"] = "libmosquitto" - self.cpp_info.components["libmosquitto"].libs = ["mosquitto" + libsuffix] + lib_suffix = "" if self.options.shared else "_static" + self.cpp_info.components["libmosquitto"].set_property("pkg_config_name", "libmosquitto") + self.cpp_info.components["libmosquitto"].libs = [f"mosquitto{lib_suffix}"] + self.cpp_info.components["libmosquitto"].resdirs = ["res"] + if not self.options.shared: + self.cpp_info.components["libmosquitto"].defines = ["LIBMOSQUITTO_STATIC"] if self.options.ssl: self.cpp_info.components["libmosquitto"].requires = ["openssl::openssl"] if self.settings.os == "Linux": @@ -155,22 +137,17 @@ def package_info(self): self.cpp_info.components["libmosquitto"].system_libs = ["ws2_32"] if self.options.build_cpp: - self.cpp_info.components["libmosquittopp"].names["pkg_config"] = "libmosquittopp" - self.cpp_info.components["libmosquittopp"].libs = ["mosquittopp" + libsuffix] + self.cpp_info.components["libmosquittopp"].set_property("pkg_config_name", "libmosquittopp") + self.cpp_info.components["libmosquittopp"].libs = [f"mosquittopp{lib_suffix}"] self.cpp_info.components["libmosquittopp"].requires = ["libmosquitto"] if self.settings.os == "Linux": self.cpp_info.components["libmosquittopp"].system_libs = ["pthread", "m"] elif self.settings.os == "Windows": self.cpp_info.components["libmosquittopp"].system_libs = ["ws2_32"] - if self.options.broker or self.options.get_safe("apps") or self.options.get_safe("clients"): - 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) - if self.options.broker: self.cpp_info.components["mosquitto_broker"].libdirs = [] - self.cpp_info.components["mosquitto_broker"].include_dirs = [] + self.cpp_info.components["mosquitto_broker"].includedirs = [] if self.options.websockets: self.cpp_info.components["mosquitto_broker"].requires.append("libwebsockets::libwebsockets") if self.settings.os in ("FreeBSD", "Linux"): @@ -182,7 +159,13 @@ def package_info(self): if self.options.get_safe(option): option_comp_name = "mosquitto_{}".format(option) self.cpp_info.components[option_comp_name].libdirs = [] - self.cpp_info.components[option_comp_name].include_dirs = [] + self.cpp_info.components[option_comp_name].includedirs = [] self.cpp_info.components[option_comp_name].requires = ["openssl::openssl", "libmosquitto"] if self.options.cjson: self.cpp_info.components[option_comp_name].requires.append("cjson::cjson") + + # TODO: to remove in conan v2 + if self.options.broker or self.options.get_safe("apps") or self.options.get_safe("clients"): + 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) diff --git a/recipes/mosquitto/2.x/test_package/CMakeLists.txt b/recipes/mosquitto/2.x/test_package/CMakeLists.txt index e4946381ed96d..d1e99239bfe10 100644 --- a/recipes/mosquitto/2.x/test_package/CMakeLists.txt +++ b/recipes/mosquitto/2.x/test_package/CMakeLists.txt @@ -1,9 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES C) find_package(mosquitto REQUIRED CONFIG) + add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} mosquitto::mosquitto) +target_link_libraries(${PROJECT_NAME} PRIVATE mosquitto::libmosquitto) diff --git a/recipes/mosquitto/2.x/test_package/conanfile.py b/recipes/mosquitto/2.x/test_package/conanfile.py index 9963f7a997273..98ab55852ad56 100644 --- a/recipes/mosquitto/2.x/test_package/conanfile.py +++ b/recipes/mosquitto/2.x/test_package/conanfile.py @@ -1,11 +1,19 @@ from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mosquitto/2.x/test_package/test_package.c b/recipes/mosquitto/2.x/test_package/test_package.c index de500c81909be..53439ed97c364 100644 --- a/recipes/mosquitto/2.x/test_package/test_package.c +++ b/recipes/mosquitto/2.x/test_package/test_package.c @@ -1,19 +1,59 @@ -#include +#include #include +#ifdef WIN32 +# include +#endif +#include "mosquitto.h" -int main(int argc, char *argv[]) -{ - struct mosquitto *mosq; - int rc; +/* Hostname and port for the MQTT broker. */ +#define BROKER_HOSTNAME "localhost" +#define BROKER_PORT 1883 - mosquitto_lib_init(); - mosq = mosquitto_new(NULL, true, NULL); - if(mosq == NULL){ - fprintf(stderr, "Error: Out of memory.\n"); - return 1; - } - mosquitto_lib_cleanup(); - return 0; -} +void connect_callback(struct mosquitto *mosq, void *obj, int result) {} +void message_callback(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message) {} + +int main(int argc, char * argv []) { + struct mosquitto* st_mosquitto = NULL; + + #ifdef WIN32 + WORD wVersionRequested = MAKEWORD(2, 2); + WSADATA wsaData; + WSAStartup(wVersionRequested, &wsaData); + #endif + + puts("mosquitto_lib_init"); + if (mosquitto_lib_init() != MOSQ_ERR_SUCCESS) { + return EXIT_FAILURE; + } + + puts("mosquitto_new"); + st_mosquitto = mosquitto_new("foobar", true, NULL); + if (!st_mosquitto) { + return EXIT_FAILURE; + } + + puts("mosquitto_connect_callback_set"); + mosquitto_connect_callback_set(st_mosquitto, connect_callback); + mosquitto_message_callback_set(st_mosquitto, message_callback); + puts("mosquitto_connect"); + if (mosquitto_connect(st_mosquitto, BROKER_HOSTNAME, BROKER_PORT, 60) != MOSQ_ERR_SUCCESS) { + fprintf(stderr, "Could not connect to MQTT broker\n"); + } + + puts("mosquitto_subscribe"); + if (mosquitto_subscribe(st_mosquitto, NULL, "#", 0) != MOSQ_ERR_SUCCESS) { + fprintf(stderr, "Could not suscribe to MQTT broker\n"); + } + + puts("mosquitto_destroy"); + mosquitto_destroy(st_mosquitto); + + puts("mosquitto_lib_cleanup"); + if (mosquitto_lib_cleanup() != MOSQ_ERR_SUCCESS) { + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} diff --git a/recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt b/recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..f113bcd8a8b0e --- /dev/null +++ b/recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mosquitto/2.x/test_v1_package/conanfile.py b/recipes/mosquitto/2.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9963f7a997273 --- /dev/null +++ b/recipes/mosquitto/2.x/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conan import ConanFile +from conan.tools.build import cross_building +from conans import CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e2fd760f203a6b43c9fcd5d8b547357f8e2c3137 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Fri, 12 May 2023 14:22:36 +0200 Subject: [PATCH 0246/4087] (#17537) (#17536) openexr: Add version 3.1.7 --- recipes/openexr/3.x/conandata.yml | 5 +++++ recipes/openexr/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 61df50d0ab0d1..a7eeabc240c75 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.7": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" + sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" "3.1.5": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz" sha256: "93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec" @@ -6,6 +9,8 @@ sources: url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.4.tar.gz" sha256: "cb019c3c69ada47fe340f7fa6c8b863ca0515804dc60bdb25c942c1da886930b" patches: + "3.1.7": + - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" "3.1.5": - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" "3.1.4": diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index f58456c305b79..839005bf8beb6 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.7": + folder: "3.x" "3.1.5": folder: "3.x" "3.1.4": From a18f000bdb4f29539b597cae06dd65c8ba8b2d25 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 12 May 2023 23:02:31 +0900 Subject: [PATCH 0247/4087] (#17534) quill: update fmt, add _min_cppstd --- recipes/quill/all/conanfile.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index fbe3a6d255795..b91c210a46df0 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -34,6 +34,10 @@ class QuillConan(ConanFile): "with_bounded_blocking_queue": False, } + @property + def _min_cppstd(self): + return "17" if Version(self.version) >= "2.0.0" else "14" + @property def _compilers_minimum_versions(self): return { @@ -65,10 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= "1.6.3": - self.requires("fmt/9.1.0", transitive_headers=True) - else: - self.requires("fmt/7.1.3", transitive_headers=True) + self.requires("fmt/10.0.0", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] @@ -76,18 +77,16 @@ def validate(self): if not any(arch in str(self.settings.arch) for arch in supported_archs): raise ConanInvalidConfiguration(f"{self.settings.arch} is not supported by {self.ref}") - cxx_std = "17" if Version(self.version) >= "2.0.0" else "14" - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, cxx_std) + check_min_cppstd(self, self._min_cppstd) - compilers_minimum_version = self._compilers_minimum_versions[cxx_std] + compilers_minimum_version = self._compilers_minimum_versions[self._min_cppstd] minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{cxx_std}, which your compiler does not support.") + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") else: - self.output.warning(f"{self.ref} requires C++{cxx_std}. Your compiler is unknown. Assuming it supports C++{cxx_std}.") + self.output.warning(f"{self.ref} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") if Version(self.version) >= "2.0.0" and \ self.settings.compiler== "clang" and Version(self.settings.compiler.version).major == "11" and \ From 1bca4ac9bc95a012f00ca37ffe0c1e8bbffb6a43 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 12 May 2023 20:26:41 +0200 Subject: [PATCH 0248/4087] (#17030) qt 5.x: several fixes for conan v2 * fix for conan v2 - inject VirtualRunEnv in build scope since path to shared libs of requirements is required when executables built during qt build process are executed. - also remove some build requirements, they are requirements actually, but their shared libs must be visible as describe in previous point. - don't rely on is_msvc in package_id, it's forbidden in conan v2 * move package_id() (sort by order of execution) * add test package for new generators * lowercase system libs for Windows * fix build on macOS when dependencies are shared * bump dependencies and prefer openal-soft over deprecated openal recipe --- recipes/qt/5.x.x/conanfile.py | 110 ++++++----- recipes/qt/5.x.x/test_package/CMakeLists.txt | 26 +-- recipes/qt/5.x.x/test_package/conanfile.py | 173 +++++------------- recipes/qt/5.x.x/test_package/meson.build | 6 - .../qt/5.x.x/test_v1_package/CMakeLists.txt | 23 +++ recipes/qt/5.x.x/test_v1_package/conanfile.py | 145 +++++++++++++++ recipes/qt/5.x.x/test_v1_package/meson.build | 6 + .../test_package.pro | 6 +- 8 files changed, 280 insertions(+), 215 deletions(-) delete mode 100644 recipes/qt/5.x.x/test_package/meson.build create mode 100644 recipes/qt/5.x.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/qt/5.x.x/test_v1_package/conanfile.py create mode 100644 recipes/qt/5.x.x/test_v1_package/meson.build rename recipes/qt/5.x.x/{test_package => test_v1_package}/test_package.pro (56%) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 741dfb6f889fa..145542ecbe345 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -134,33 +134,6 @@ def export(self): def export_sources(self): export_conandata_patches(self) - def build_requirements(self): - if self._settings_build.os == "Windows" and is_msvc(self): - self.tool_requires("jom/1.1.3") - if self.options.qtwebengine: - self.tool_requires("ninja/1.11.1") - self.tool_requires("nodejs/16.3.0") - self.tool_requires("gperf/3.1") - # gperf, bison, flex, python >= 2.7.5 & < 3 - if self.settings.os != "Windows": - self.tool_requires("bison/3.8.2") - self.tool_requires("flex/2.6.4") - else: - self.tool_requires("winflexbison/2.5.24") - - if self.options.qtwayland: - self.tool_requires("wayland/1.21.0") - if self.options.with_doubleconversion: - self.tool_requires("double-conversion/3.2.1") - if self.options.get_safe("with_icu", False): - self.tool_requires("icu/72.1") - if self.options.with_pcre2: - self.tool_requires("pcre2/10.42") - if self.options.with_zstd: - self.tool_requires("zstd/1.5.5") - if self.options.with_glib: - self.tool_requires("glib/2.76.1") - def validate_build(self): if self.options.qtwebengine: # Check if a valid python2 is available in PATH or it will failflex @@ -368,7 +341,7 @@ def validate(self): def requirements(self): self.requires("zlib/1.2.13") if self.options.openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): @@ -376,7 +349,7 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.76.1") + self.requires("glib/2.76.2") # if self.options.with_libiconv: # QTBUG-84708 # self.requires("libiconv/1.16")# QTBUG-84708 if self.options.with_doubleconversion and not self.options.multiconfiguration: @@ -386,7 +359,7 @@ def requirements(self): if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/72.1") + self.requires("icu/73.1") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: self.requires("harfbuzz/7.1.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: @@ -397,7 +370,7 @@ def requirements(self): if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.39") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.41.2") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.0.31") if self.options.with_pq: @@ -406,7 +379,7 @@ def requirements(self): if self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("with_openal", False): - self.requires("openal/1.22.2") + self.requires("openal-soft/1.22.2") if self.options.get_safe("with_libalsa", False): self.requires("libalsa/1.2.7.2") if self.options.get_safe("with_x11", False): @@ -437,10 +410,40 @@ def requirements(self): if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_atspi"): - self.requires("at-spi2-core/2.47.1") + self.requires("at-spi2-core/2.48.0") if self.options.get_safe("with_md4c", False): self.requires("md4c/0.4.8") + def package_id(self): + del self.info.options.cross_compile + del self.info.options.sysroot + if self.info.options.multiconfiguration: + if self.info.settings.compiler == "Visual Studio": + if "MD" in self.info.settings.compiler.runtime: + self.info.settings.compiler.runtime = "MD/MDd" + else: + self.info.settings.compiler.runtime = "MT/MTd" + elif self.info.settings.compiler == "msvc": + self.info.settings.compiler.runtime_type = "Release/Debug" + if self.info.settings.os == "Android": + del self.info.options.android_sdk + + def build_requirements(self): + if self._settings_build.os == "Windows" and is_msvc(self): + self.tool_requires("jom/1.1.3") + if self.options.qtwebengine: + self.tool_requires("ninja/1.11.1") + self.tool_requires("nodejs/18.15.0") + self.tool_requires("gperf/3.1") + # gperf, bison, flex, python >= 2.7.5 & < 3 + if self._settings_build.os == "Windows": + self.tool_requires("winflexbison/2.5.24") + else: + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") + if self.options.qtwayland: + self.tool_requires("wayland/1.21.0") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, destination="qt5") @@ -464,18 +467,27 @@ def generate(self): ms.generate() vbe = VirtualBuildEnv(self) vbe.generate() - vre = VirtualRunEnv(self) - vre.generate() + if not cross_building(self): + vre = VirtualRunEnv(self) + vre.generate(scope="build") env = Environment() env.define("MAKEFLAGS", f"j{build_jobs(self)}") env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) if self.settings.os == "Windows": env.prepend_path("PATH", os.path.join(self.source_folder, "qt5", "gnuwin32", "bin")) if self._settings_build.os == "Macos": - save(self, "bash_env", 'export DYLD_LIBRARY_PATH="%s"' % env.vars(self).get("DYLD_LIBRARY_PATH")) + # On macOS, SIP resets DYLD_LIBRARY_PATH injected by VirtualBuildEnv & VirtualRunEnv + dyld_library_path = "$DYLD_LIBRARY_PATH" + dyld_library_path_build = vbe.vars().get("DYLD_LIBRARY_PATH") + if dyld_library_path_build: + dyld_library_path = f"{dyld_library_path_build}:{dyld_library_path}" + if not cross_building(self): + dyld_library_path_host = vre.vars().get("DYLD_LIBRARY_PATH") + if dyld_library_path_host: + dyld_library_path = f"{dyld_library_path_host}:{dyld_library_path}" + save(self, "bash_env", f'export DYLD_LIBRARY_PATH="{dyld_library_path}"') env.define_path("BASH_ENV", os.path.abspath("bash_env")) - envvars = env.vars(self) - envvars.save_script("my_env_file") + env.vars(self).save_script("conan_qt_env_file") def _make_program(self): if is_msvc(self): @@ -530,7 +542,7 @@ def _xplatform(self): elif self.settings.os == "WindowsStore": if is_msvc(self): - if self.settings.compiler == "Visual Studio": + if str(self.settings.compiler) == "Visual Studio": msvc_version = str(self.settings.compiler.version) else: msvc_version = { @@ -707,7 +719,7 @@ def build(self): ("libpq", "PSQL"), ("odbc", "ODBC"), ("sdl2", "SDL2"), - ("openal", "OPENAL"), + ("openal-soft", "OPENAL"), ("zstd", "ZSTD"), ("libalsa", "ALSA"), ("xkbcommon", "XKBCOMMON"), @@ -940,20 +952,6 @@ def _create_private_module(module, dependencies=[]): if self.options.qtdeclarative: _create_private_module("Qml", ["CorePrivate", "Qml"]) - def package_id(self): - del self.info.options.cross_compile - del self.info.options.sysroot - if self.info.options.multiconfiguration and is_msvc(self): - if self.info.settings.compiler == "Visual Studio": - if "MD" in self.info.settings.compiler.runtime: - self.info.settings.compiler.runtime = "MD/MDd" - else: - self.info.settings.compiler.runtime = "MT/MTd" - else: - self.info.settings.compiler.runtime_type = "Release/Debug" - if self.info.settings.os == "Android": - del self.info.options.android_sdk - def package_info(self): self.cpp_info.set_property("cmake_file_name", "Qt5") @@ -1336,7 +1334,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.get_safe("with_libalsa", False): multimedia_reqs.append("libalsa::libalsa") if self.options.with_openal: - multimedia_reqs.append("openal::openal") + multimedia_reqs.append("openal-soft::openal-soft") if self.options.get_safe("with_pulseaudio", False): multimedia_reqs.append("pulseaudio::pulse") _create_module("Multimedia", multimedia_reqs) @@ -1432,7 +1430,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtNetwork"].system_libs.append("dnsapi") # qtnetwork from qtbase requires "DnsFree" which is in "Dnsapi.lib" library self.cpp_info.components["qtNetwork"].system_libs.append("iphlpapi") if self.options.widgets: - self.cpp_info.components["qtWidgets"].system_libs.append("UxTheme") + self.cpp_info.components["qtWidgets"].system_libs.append("uxtheme") self.cpp_info.components["qtWidgets"].system_libs.append("dwmapi") if self.options.get_safe("qtwinextras"): self.cpp_info.components["qtWinExtras"].system_libs.append("dwmapi") # qtwinextras requires "DwmGetColorizationColor" which is in "dwmapi.lib" library diff --git a/recipes/qt/5.x.x/test_package/CMakeLists.txt b/recipes/qt/5.x.x/test_package/CMakeLists.txt index 8ef3702021088..0d11db68fc293 100644 --- a/recipes/qt/5.x.x/test_package/CMakeLists.txt +++ b/recipes/qt/5.x.x/test_package/CMakeLists.txt @@ -1,23 +1,9 @@ -cmake_minimum_required(VERSION 3.1.0) - -set(CMAKE_CXX_STANDARD 11) - -project(test_package) - -cmake_policy(SET CMP0020 NEW) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_set_vs_runtime() -conan_set_libcxx() -conan_output_dirs_setup() +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(Qt5 COMPONENTS Core Network Sql Concurrent Xml REQUIRED CONFIG) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) - -set(SOURCES test_package.cpp greeter.h example.qrc) - -add_executable(${PROJECT_NAME} WIN32 ${SOURCES}) - -target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Sql Qt5::Concurrent Qt5::Xml) +add_executable(${PROJECT_NAME} WIN32 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_package/conanfile.py b/recipes/qt/5.x.x/test_package/conanfile.py index 42e2b17ce8950..5a7b088d4aa41 100644 --- a/recipes/qt/5.x.x/test_package/conanfile.py +++ b/recipes/qt/5.x.x/test_package/conanfile.py @@ -1,145 +1,58 @@ import os -import shutil +import textwrap from conan import ConanFile -from conans import tools, Meson, RunEnvironment, CMake -from conan.tools.build import cross_building -from conan.tools.files import save -from conan.errors import ConanInvalidConfiguration - +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.env import VirtualRunEnv +from conan.tools.files import copy, save class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi", "qmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + def requirements(self): + self.requires(self.tested_reference_str, run=can_run(self)) def build_requirements(self): - if self._settings_build.os == "Windows" and self.settings.compiler == "Visual Studio": - self.build_requires("jom/1.1.3") - if self._meson_supported(): - self.build_requires("meson/1.0.1") + if not can_run(self): + self.tool_requires(self.tested_reference_str) def generate(self): - save(self, "qt.conf", """[Paths] -Prefix = {} -ArchData = bin/archdatadir -HostData = bin/archdatadir -Data = bin/datadir -Sysconf = bin/sysconfdir -LibraryExecutables = bin/archdatadir/bin -Plugins = bin/archdatadir/plugins -Imports = bin/archdatadir/imports -Qml2Imports = bin/archdatadir/qml -Translations = bin/datadir/translations -Documentation = bin/datadir/doc -Examples = bin/datadir/examples""".format(self.dependencies["qt"].package_folder.replace('\\', '/'))) - - def _is_mingw(self): - return self.settings.os == "Windows" and self.settings.compiler == "gcc" - - def _meson_supported(self): - return self.options["qt"].shared and\ - not cross_building(self) and\ - not tools.os_info.is_macos and\ - not self._is_mingw() - - def _qmake_supported(self): - return self.options["qt"].shared - - def _build_with_qmake(self): - if not self._qmake_supported(): - return - tools.mkdir("qmake_folder") - with tools.chdir("qmake_folder"): - self.output.info("Building with qmake") - - with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): - args = [self.source_folder, "DESTDIR=bin"] - - def _getenvpath(var): - val = os.getenv(var) - if val and tools.os_info.is_windows: - val = val.replace("\\", "/") - os.environ[var] = val - return val - - value = _getenvpath("CC") - if value: - args += ['QMAKE_CC="' + value + '"', - 'QMAKE_LINK_C="' + value + '"', - 'QMAKE_LINK_C_SHLIB="' + value + '"'] - - value = _getenvpath('CXX') - if value: - args += ['QMAKE_CXX="' + value + '"', - 'QMAKE_LINK="' + value + '"', - 'QMAKE_LINK_SHLIB="' + value + '"'] - - self.run("qmake %s" % " ".join(args), run_environment=True) - if tools.os_info.is_windows: - if self.settings.compiler == "Visual Studio": - self.run("jom", run_environment=True) - else: - self.run("mingw32-make", run_environment=True) - else: - self.run("make", run_environment=True) - - def _build_with_meson(self): - if self._meson_supported(): - self.output.info("Building with Meson") - tools.mkdir("meson_folder") - with tools.environment_append(RunEnvironment(self).vars): - meson = Meson(self) - try: - meson.configure(build_folder="meson_folder", defs={"cpp_std": "c++11"}) - except ConanInvalidConfiguration: - self.output.info(open("meson_folder/meson-logs/meson-log.txt", 'r').read()) - raise - meson.build() - - def _build_with_cmake_find_package_multi(self): - self.output.info("Building with cmake_find_package_multi") - env_build = RunEnvironment(self) - with tools.environment_append(env_build.vars): - cmake = CMake(self, set_cmake_flags=True) - if self.settings.os == "Macos": - cmake.definitions['CMAKE_OSX_DEPLOYMENT_TARGET'] = '10.14' - - cmake.configure() - cmake.build() + qt_install_prefix = self.dependencies["qt"].package_folder.replace("\\", "/") + qt_conf = textwrap.dedent(f"""\ + [Paths] + Prefix = {qt_install_prefix} + ArchData = bin/archdatadir + HostData = bin/archdatadir + Data = bin/datadir + Sysconf = bin/sysconfdir + LibraryExecutables = bin/archdatadir/bin + Plugins = bin/archdatadir/plugins + Imports = bin/archdatadir/imports + Qml2Imports = bin/archdatadir/qml + Translations = bin/datadir/translations + Documentation = bin/datadir/doc + Examples = bin/datadir/examples + """) + save(self, "qt.conf", qt_conf) + + VirtualRunEnv(self).generate() + if can_run(self): + VirtualRunEnv(self).generate(scope="build") def build(self): - self._build_with_qmake() - self._build_with_meson() - self._build_with_cmake_find_package_multi() - - def _test_with_qmake(self): - if not self._qmake_supported(): - return - self.output.info("Testing qmake") - bin_path = os.path.join("qmake_folder", "bin") - if tools.os_info.is_macos: - bin_path = os.path.join(bin_path, "test_package.app", "Contents", "MacOS") - shutil.copy(os.path.join(self.generators_folder, "qt.conf"), bin_path) - self.run(os.path.join(bin_path, "test_package"), run_environment=True) - - def _test_with_meson(self): - if self._meson_supported(): - self.output.info("Testing Meson") - shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "meson_folder") - self.run(os.path.join("meson_folder", "test_package"), run_environment=True) - - def _test_with_cmake_find_package_multi(self): - self.output.info("Testing CMake_find_package_multi") - shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "bin") - self.run(os.path.join("bin", "test_package"), run_environment=True) + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - if not cross_building(self, skip_x64_x86=True): - self._test_with_qmake() - self._test_with_meson() - self._test_with_cmake_find_package_multi() + if can_run(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") diff --git a/recipes/qt/5.x.x/test_package/meson.build b/recipes/qt/5.x.x/test_package/meson.build deleted file mode 100644 index 9ca197c37965e..0000000000000 --- a/recipes/qt/5.x.x/test_package/meson.build +++ /dev/null @@ -1,6 +0,0 @@ -project('test_package', 'cpp') -qt5 = import('qt5') -qt5_dep = dependency('qt5', modules: ['Core', 'Network', 'Sql', 'Concurrent', 'Xml']) -moc_files = qt5.preprocess(moc_headers : 'greeter.h', qresources : 'example.qrc') -executable('test_package', 'test_package.cpp', moc_files, - dependencies : qt5_dep) diff --git a/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt b/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..d5866335fec6a --- /dev/null +++ b/recipes/qt/5.x.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.1.0) + +set(CMAKE_CXX_STANDARD 11) + +project(test_package) + +cmake_policy(SET CMP0020 NEW) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_set_vs_runtime() +conan_set_libcxx() +conan_output_dirs_setup() + +find_package(Qt5 COMPONENTS Core Network Sql Concurrent Xml REQUIRED CONFIG) + +set(CMAKE_AUTOMOC ON) +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}) + +target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Sql Qt5::Concurrent Qt5::Xml) diff --git a/recipes/qt/5.x.x/test_v1_package/conanfile.py b/recipes/qt/5.x.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..cc3b35ad8bcbd --- /dev/null +++ b/recipes/qt/5.x.x/test_v1_package/conanfile.py @@ -0,0 +1,145 @@ +import os +import shutil + +from conan import ConanFile +from conans import tools, Meson, RunEnvironment, CMake +from conan.tools.build import cross_building +from conan.tools.files import save +from conan.errors import ConanInvalidConfiguration + + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi", "qmake" + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def build_requirements(self): + if self._settings_build.os == "Windows" and self.settings.compiler == "Visual Studio": + self.build_requires("jom/1.1.3") + if self._meson_supported(): + self.build_requires("meson/1.1.0") + + def generate(self): + save(self, "qt.conf", """[Paths] +Prefix = {} +ArchData = bin/archdatadir +HostData = bin/archdatadir +Data = bin/datadir +Sysconf = bin/sysconfdir +LibraryExecutables = bin/archdatadir/bin +Plugins = bin/archdatadir/plugins +Imports = bin/archdatadir/imports +Qml2Imports = bin/archdatadir/qml +Translations = bin/datadir/translations +Documentation = bin/datadir/doc +Examples = bin/datadir/examples""".format(self.dependencies["qt"].package_folder.replace('\\', '/'))) + + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" + + def _meson_supported(self): + return self.options["qt"].shared and\ + not cross_building(self) and\ + not tools.os_info.is_macos and\ + not self._is_mingw() + + def _qmake_supported(self): + return self.options["qt"].shared + + def _build_with_qmake(self): + if not self._qmake_supported(): + return + tools.mkdir("qmake_folder") + with tools.chdir("qmake_folder"): + self.output.info("Building with qmake") + + with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): + args = [self.source_folder, "DESTDIR=bin"] + + def _getenvpath(var): + val = os.getenv(var) + if val and tools.os_info.is_windows: + val = val.replace("\\", "/") + os.environ[var] = val + return val + + value = _getenvpath("CC") + if value: + args += ['QMAKE_CC="' + value + '"', + 'QMAKE_LINK_C="' + value + '"', + 'QMAKE_LINK_C_SHLIB="' + value + '"'] + + value = _getenvpath('CXX') + if value: + args += ['QMAKE_CXX="' + value + '"', + 'QMAKE_LINK="' + value + '"', + 'QMAKE_LINK_SHLIB="' + value + '"'] + + self.run("qmake %s" % " ".join(args), run_environment=True) + if tools.os_info.is_windows: + if self.settings.compiler == "Visual Studio": + self.run("jom", run_environment=True) + else: + self.run("mingw32-make", run_environment=True) + else: + self.run("make", run_environment=True) + + def _build_with_meson(self): + if self._meson_supported(): + self.output.info("Building with Meson") + tools.mkdir("meson_folder") + with tools.environment_append(RunEnvironment(self).vars): + meson = Meson(self) + try: + meson.configure(build_folder="meson_folder", defs={"cpp_std": "c++11"}) + except ConanInvalidConfiguration: + self.output.info(open("meson_folder/meson-logs/meson-log.txt", 'r').read()) + raise + meson.build() + + def _build_with_cmake_find_package_multi(self): + self.output.info("Building with cmake_find_package_multi") + env_build = RunEnvironment(self) + with tools.environment_append(env_build.vars): + cmake = CMake(self, set_cmake_flags=True) + if self.settings.os == "Macos": + cmake.definitions['CMAKE_OSX_DEPLOYMENT_TARGET'] = '10.14' + + cmake.configure() + cmake.build() + + def build(self): + self._build_with_qmake() + self._build_with_meson() + self._build_with_cmake_find_package_multi() + + def _test_with_qmake(self): + if not self._qmake_supported(): + return + self.output.info("Testing qmake") + bin_path = os.path.join("qmake_folder", "bin") + if tools.os_info.is_macos: + bin_path = os.path.join(bin_path, "test_package.app", "Contents", "MacOS") + shutil.copy(os.path.join(self.generators_folder, "qt.conf"), bin_path) + self.run(os.path.join(bin_path, "test_package"), run_environment=True) + + def _test_with_meson(self): + if self._meson_supported(): + self.output.info("Testing Meson") + shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "meson_folder") + self.run(os.path.join("meson_folder", "test_package"), run_environment=True) + + def _test_with_cmake_find_package_multi(self): + self.output.info("Testing CMake_find_package_multi") + shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "bin") + self.run(os.path.join("bin", "test_package"), run_environment=True) + + def test(self): + if not cross_building(self, skip_x64_x86=True): + self._test_with_qmake() + self._test_with_meson() + self._test_with_cmake_find_package_multi() diff --git a/recipes/qt/5.x.x/test_v1_package/meson.build b/recipes/qt/5.x.x/test_v1_package/meson.build new file mode 100644 index 0000000000000..cc717d4f23da5 --- /dev/null +++ b/recipes/qt/5.x.x/test_v1_package/meson.build @@ -0,0 +1,6 @@ +project('test_package', 'cpp') +qt5 = import('qt5') +qt5_dep = dependency('qt5', modules: ['Core', 'Network', 'Sql', 'Concurrent', 'Xml']) +moc_files = qt5.preprocess(moc_headers : '../test_package/greeter.h', qresources : '../test_package/example.qrc') +executable('test_package', '../test_package/test_package.cpp', moc_files, + dependencies : qt5_dep) diff --git a/recipes/qt/5.x.x/test_package/test_package.pro b/recipes/qt/5.x.x/test_v1_package/test_package.pro similarity index 56% rename from recipes/qt/5.x.x/test_package/test_package.pro rename to recipes/qt/5.x.x/test_v1_package/test_package.pro index 58325c643ef64..3b3ce9cba0343 100644 --- a/recipes/qt/5.x.x/test_package/test_package.pro +++ b/recipes/qt/5.x.x/test_v1_package/test_package.pro @@ -1,8 +1,8 @@ -SOURCES += test_package.cpp +SOURCES += ../test_package/test_package.cpp -HEADERS += greeter.h +HEADERS += ../test_package/greeter.h -RESOURCES = example.qrc +RESOURCES = ../test_package/example.qrc QT -= gui QT += network sql concurrent xml From 42f19389ebe60256e854110590cac57e2d1c66f8 Mon Sep 17 00:00:00 2001 From: Barak Shoshany Date: Sat, 13 May 2023 03:41:48 -0400 Subject: [PATCH 0249/4087] (#17549) bshoshany-thread-pool: add version 3.4.0 --- recipes/bshoshany-thread-pool/all/conandata.yml | 3 +++ recipes/bshoshany-thread-pool/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/bshoshany-thread-pool/all/conandata.yml b/recipes/bshoshany-thread-pool/all/conandata.yml index 7dac950c38bc0..34ca195ae9b51 100644 --- a/recipes/bshoshany-thread-pool/all/conandata.yml +++ b/recipes/bshoshany-thread-pool/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + sha256: "b282149693534934d29c3e6eb563a668b04d6abc53ff013bbe608d96741eddb2" + url: "https://github.com/bshoshany/thread-pool/archive/refs/tags/v3.4.0.tar.gz" "3.3.0": sha256: "b76c0103c7ed07c137bd5b1988b9c09da280bbbad37588a096d2954c8d996e0f" url: "https://github.com/bshoshany/thread-pool/archive/refs/tags/v3.3.0.tar.gz" diff --git a/recipes/bshoshany-thread-pool/config.yml b/recipes/bshoshany-thread-pool/config.yml index 319c05acee4d0..1bf5f1f671b5c 100644 --- a/recipes/bshoshany-thread-pool/config.yml +++ b/recipes/bshoshany-thread-pool/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: all "3.3.0": folder: all "3.2.0": From 34fa9e0629a9382332f7e063c6fb6fed7ce6aec5 Mon Sep 17 00:00:00 2001 From: David Aceituno Date: Sat, 13 May 2023 10:26:50 +0200 Subject: [PATCH 0250/4087] (#17459) h5pp: conan v2 support * Updated for conan v2 compatibility * Moved conan v1 tests * Added src_folder to basic_layout. Should fix E9012(conan-missing-layout-src-folder). * Added patches to let older h5pp versions support a wider range of hdf5 versions. * hdf5/1.14.0 now works from h5pp/1.8.3 to the latest h5pp/1.11.0 * older versions of hdf5 should still work in case the user overrides * Sorted conandata.yml and removed blank lines * Brought changes from the other PR: https://github.com/conan-io/conan-center-index/pull/17395 * Addressed linter warnings related to the new patches in conandata.yml * Fixed patch field format in conandata.yml * changed self.output.warn to self.output.warning * Add zlib/1.2.13 as a transitive dependency for h5pp >= v1.10.0 * Added a patch_source field to the h5pp commit where this fix was first introduced --- recipes/h5pp/all/conandata.yml | 64 +++++++++++++------ recipes/h5pp/all/conanfile.py | 62 ++++++++++++------ .../fix-support-new-hdf5-v1.8.3-5.patch | 13 ++++ .../patches/fix-support-new-hdf5-v1.8.6.patch | 22 +++++++ .../patches/fix-support-new-hdf5-v1.9.0.patch | 23 +++++++ recipes/h5pp/all/test_package/CMakeLists.txt | 9 +-- recipes/h5pp/all/test_package/conanfile.py | 19 ++++-- .../h5pp/all/test_v1_package/CMakeLists.txt | 11 ++++ recipes/h5pp/all/test_v1_package/conanfile.py | 16 +++++ .../h5pp/all/test_v1_package/test_package.cpp | 23 +++++++ 10 files changed, 214 insertions(+), 48 deletions(-) create mode 100644 recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.3-5.patch create mode 100644 recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.6.patch create mode 100644 recipes/h5pp/all/patches/fix-support-new-hdf5-v1.9.0.patch create mode 100644 recipes/h5pp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/h5pp/all/test_v1_package/conanfile.py create mode 100644 recipes/h5pp/all/test_v1_package/test_package.cpp diff --git a/recipes/h5pp/all/conandata.yml b/recipes/h5pp/all/conandata.yml index dd08f4511c3dd..cd78418f65010 100644 --- a/recipes/h5pp/all/conandata.yml +++ b/recipes/h5pp/all/conandata.yml @@ -1,22 +1,48 @@ sources: - "1.8.3": - sha256: 52d439a0008cb76071f0e839d15ca6a4e911a87dc779f0bbd9dc91d98ba0b52b - url: https://github.com/DavidAce/h5pp/archive/v1.8.3.tar.gz - "1.8.4": - sha256: 401f2014d90d9ce318e518e368e7e45fc2aa95b8e30cdc91baa41212df15b831 - url: https://github.com/DavidAce/h5pp/archive/v1.8.4.tar.gz - "1.8.5": - sha256: 1e1a42159fccd10b1022445ea0f0690c5314e94b0fc3d5c9fa0f02b165148c18 - url: https://github.com/DavidAce/h5pp/archive/v1.8.5.tar.gz + "1.11.0": + url: "https://github.com/DavidAce/h5pp/archive/v1.11.0.tar.gz" + sha256: "1c4171275eb50a26ed9da8055397f03a726896c4c49ad0380b16dcb13574ecff" + "1.10.0": + url: "https://github.com/DavidAce/h5pp/archive/v1.10.0.tar.gz" + sha256: "27a3e42ed02d8d9341229d58a517134753e1ea46dab4c40d01bb309098c32f13" + "1.9.0": + url: "https://github.com/DavidAce/h5pp/archive/v1.9.0.tar.gz" + sha256: "f633b6f76ab20e1767f55068154cf8bf553e39d526ae80947388640c57ea2056" "1.8.6": - sha256: 39d413c9383b00a87153b9480ab6a91ba356d3f30b3598de0c0c8f7f3bd802c7 - url: https://github.com/DavidAce/h5pp/archive/v1.8.6.tar.gz + url: "https://github.com/DavidAce/h5pp/archive/v1.8.6.tar.gz" + sha256: "39d413c9383b00a87153b9480ab6a91ba356d3f30b3598de0c0c8f7f3bd802c7" + "1.8.5": + url: "https://github.com/DavidAce/h5pp/archive/v1.8.5.tar.gz" + sha256: "1e1a42159fccd10b1022445ea0f0690c5314e94b0fc3d5c9fa0f02b165148c18" + "1.8.4": + url: "https://github.com/DavidAce/h5pp/archive/v1.8.4.tar.gz" + sha256: "401f2014d90d9ce318e518e368e7e45fc2aa95b8e30cdc91baa41212df15b831" + "1.8.3": + url: "https://github.com/DavidAce/h5pp/archive/v1.8.3.tar.gz" + sha256: "52d439a0008cb76071f0e839d15ca6a4e911a87dc779f0bbd9dc91d98ba0b52b" +patches: "1.9.0": - sha256: f633b6f76ab20e1767f55068154cf8bf553e39d526ae80947388640c57ea2056 - url: https://github.com/DavidAce/h5pp/archive/v1.9.0.tar.gz - "1.10.0": - sha256: 27a3e42ed02d8d9341229d58a517134753e1ea46dab4c40d01bb309098c32f13 - url: https://github.com/DavidAce/h5pp/archive/v1.10.0.tar.gz - "1.11.0": - sha256: 1c4171275eb50a26ed9da8055397f03a726896c4c49ad0380b16dcb13574ecff - url: https://github.com/DavidAce/h5pp/archive/v1.11.0.tar.gz + - patch_file: "patches/fix-support-new-hdf5-v1.9.0.patch" + patch_type: "bugfix" + patch_source: "https://github.com/DavidAce/h5pp/commit/a8471cd2a21310bae0564eeed21dc00c457d674d" + patch_description: "Adds support for HDF5 versions later than 1.12.1 by allowing the construction of h5pp::hid types from any integral type (not just hid_t)" + "1.8.6": + - patch_file: "patches/fix-support-new-hdf5-v1.8.6.patch" + patch_type: "bugfix" + patch_source: "https://github.com/DavidAce/h5pp/commit/a8471cd2a21310bae0564eeed21dc00c457d674d" + patch_description: "Adds support for HDF5 versions later than 1.12.1 by allowing the construction of h5pp::hid types from any integral type (not just hid_t)" + "1.8.5": + - patch_file: "patches/fix-support-new-hdf5-v1.8.3-5.patch" + patch_type: "bugfix" + patch_source: "https://github.com/DavidAce/h5pp/commit/a8471cd2a21310bae0564eeed21dc00c457d674d" + patch_description: "Adds support for HDF5 versions later than 1.12.1 by allowing the construction of h5pp::hid types from any integral type (not just hid_t)" + "1.8.4": + - patch_file: "patches/fix-support-new-hdf5-v1.8.3-5.patch" + patch_type: "bugfix" + patch_source: "https://github.com/DavidAce/h5pp/commit/a8471cd2a21310bae0564eeed21dc00c457d674d" + patch_description: "Adds support for HDF5 versions later than 1.12.1 by allowing the construction of h5pp::hid types from any integral type (not just hid_t)" + "1.8.3": + - patch_file: "patches/fix-support-new-hdf5-v1.8.3-5.patch" + patch_type: "bugfix" + patch_source: "https://github.com/DavidAce/h5pp/commit/a8471cd2a21310bae0564eeed21dc00c457d674d" + patch_description: "Adds support for HDF5 versions later than 1.12.1 by allowing the construction of h5pp::hid types from any integral type (not just hid_t)" diff --git a/recipes/h5pp/all/conanfile.py b/recipes/h5pp/all/conanfile.py index ac11c70a03a29..572f56191b252 100644 --- a/recipes/h5pp/all/conanfile.py +++ b/recipes/h5pp/all/conanfile.py @@ -1,7 +1,10 @@ from conan import ConanFile +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc from conan.tools.scm import Version from conan.tools.files import get +from conan.tools.files import copy +from conan.tools.files import apply_conandata_patches,export_conandata_patches from conan.tools.build import check_min_cppstd from conan.errors import ConanInvalidConfiguration import os @@ -13,23 +16,26 @@ class H5ppConan(ConanFile): description = "A C++17 wrapper for HDF5 with focus on simplicity" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/DavidAce/h5pp" - topics = ("h5pp", "hdf5", "binary", "storage", "header-only", "cpp17") + topics = ("hdf5", "binary", "storage", "header-only", "cpp17") license = "MIT" + package_type="header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True short_paths = True options = { "with_eigen": [True, False], "with_spdlog": [True, False], + "with_zlib" : [True, False], } default_options = { "with_eigen": True, "with_spdlog": True, + "with_zlib" : True, } @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "17" @property def _compilers_minimum_version(self): @@ -40,6 +46,9 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if Version(self.version) < "1.10.0": # These dependencies are always required before h5pp 1.10.0: @@ -50,50 +59,64 @@ def config_options(self): # that including the headers is intentional. del self.options.with_eigen del self.options.with_spdlog - - def requirements(self): - if Version(self.version) < "1.10.0": - self.requires("hdf5/1.12.1") + del self.options.with_zlib else: - self.requires("hdf5/1.13.1") + self.options["hdf5"].with_zlib = self.options.with_zlib + def requirements(self): + self.requires("hdf5/1.14.0", transitive_headers=True, transitive_libs=True) if Version(self.version) < "1.10.0" or self.options.get_safe('with_eigen'): - self.requires("eigen/3.4.0") + self.requires("eigen/3.4.0", transitive_headers=True) if Version(self.version) < "1.10.0" or self.options.get_safe('with_spdlog'): - self.requires("spdlog/1.11.0") + self.requires("spdlog/1.11.0", transitive_headers=True, transitive_libs=True) + if Version(self.version) >= "1.10.0" and self.options.with_zlib: + self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) + + 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, 17) + 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("h5pp requires C++17, which your compiler does not support.") else: - self.output.warn("h5pp requires C++17. Your compiler is unknown. Assuming it supports C++17.") + self.output.warning("h5pp requires C++17. Your compiler is unknown. Assuming it supports C++17.") def source(self): get(self,**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + destination=self.source_folder, strip_root=True) + apply_conandata_patches(self) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") if Version(self.version) < "1.9.0": - includedir = os.path.join(self._source_subfolder, "h5pp", "include") + includedir = os.path.join(self.source_folder, "h5pp", "include") else: - includedir = os.path.join(self._source_subfolder, "include") - self.copy("*", src=includedir, dst="include") + includedir = os.path.join(self.source_folder, "include") + copy(self, pattern="*", src=includedir, dst=os.path.join(self.package_folder, "include")) + copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + def package_info(self): self.cpp_info.set_property("cmake_file_name", "h5pp") self.cpp_info.set_property("cmake_target_name", "h5pp::h5pp") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] self.cpp_info.components["h5pp_headers"].set_property("cmake_target_name", "h5pp::headers") + self.cpp_info.components["h5pp_headers"].bindirs = [] + self.cpp_info.components["h5pp_headers"].libdirs = [] self.cpp_info.components["h5pp_deps"].set_property("cmake_target_name", "h5pp::deps") - self.cpp_info.components["h5pp_flags"].set_property("cmake_target_name", "h5pp::flags") + self.cpp_info.components["h5pp_deps"].bindirs = [] + self.cpp_info.components["h5pp_deps"].libdirs = [] self.cpp_info.components["h5pp_deps"].requires = ["hdf5::hdf5"] + self.cpp_info.components["h5pp_flags"].set_property("cmake_target_name", "h5pp::flags") + self.cpp_info.components["h5pp_flags"].bindirs = [] + self.cpp_info.components["h5pp_flags"].libdirs = [] if Version(self.version) >= "1.10.0": if self.options.with_eigen: @@ -103,6 +126,9 @@ def package_info(self): self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_SPDLOG") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_FMT") + if self.options.with_zlib: + self.cpp_info.components["h5pp_deps"].requires.append("zlib::zlib") + else: self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") diff --git a/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.3-5.patch b/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.3-5.patch new file mode 100644 index 0000000000000..aeea88c60d8ff --- /dev/null +++ b/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.3-5.patch @@ -0,0 +1,13 @@ +diff --git a/h5pp/include/h5pp/details/h5ppHid.h b/h5pp/include/h5pp/details/h5ppHid.h +index 7bd9f12..1335dd8 100644 +--- a/h5pp/include/h5pp/details/h5ppHid.h ++++ b/h5pp/include/h5pp/details/h5ppHid.h +@@ -16,7 +16,7 @@ namespace h5pp::hid { + hid_base() = default; + hid_base(std::initializer_list) = delete; + // Use enable_if to avoid implicit conversion from hid_h5x and still have a non-explicit hid_t constructor +- template>> ++ template>> + hid_base(const T &other) { + // constructor from hid_t + if constexpr(zeroValueIsOK){ diff --git a/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.6.patch b/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.6.patch new file mode 100644 index 0000000000000..02970a76bf18c --- /dev/null +++ b/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.8.6.patch @@ -0,0 +1,22 @@ +diff --git a/h5pp/include/h5pp/details/h5ppHid.h b/h5pp/include/h5pp/details/h5ppHid.h +index cda2d6d..76ba594 100644 +--- a/h5pp/include/h5pp/details/h5ppHid.h ++++ b/h5pp/include/h5pp/details/h5ppHid.h +@@ -15,7 +15,7 @@ namespace h5pp::hid { + virtual ~hid_base() = default; + hid_base() = default; + // Use enable_if to avoid implicit conversion from hid_h5x and still have a non-explicit hid_t constructor +- template>> ++ template>> + hid_base(const T &other) { + // constructor from hid_t + if constexpr(zeroValueIsOK) { +@@ -66,7 +66,7 @@ namespace h5pp::hid { + return *this; + } + +- template>> ++ template>> + hid_base &operator=(const T &rhs) { + // Copy assignment from hid_t + if constexpr(zeroValueIsOK) { diff --git a/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.9.0.patch b/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.9.0.patch new file mode 100644 index 0000000000000..af8a034bf7dd1 --- /dev/null +++ b/recipes/h5pp/all/patches/fix-support-new-hdf5-v1.9.0.patch @@ -0,0 +1,23 @@ +diff --git a/include/h5pp/details/h5ppHid.h b/include/h5pp/details/h5ppHid.h +index b1f4989..8af0eb3 100644 +--- a/include/h5pp/details/h5ppHid.h ++++ b/include/h5pp/details/h5ppHid.h +@@ -15,7 +15,7 @@ namespace h5pp::hid { + virtual ~hid_base() = default; + hid_base() = default; + // Use enable_if to avoid implicit conversion from hid_h5x and still have a non-explicit hid_t constructor +- template>> ++ template>> + hid_base(const T &other) { + // constructor from hid_t + if constexpr(zeroValueIsOK) { +@@ -66,7 +66,7 @@ namespace h5pp::hid { + return *this; + } + +- template>> ++ template>> + hid_base &operator=(const T &rhs) { + // Copy assignment from hid_t + if constexpr(zeroValueIsOK) { + diff --git a/recipes/h5pp/all/test_package/CMakeLists.txt b/recipes/h5pp/all/test_package/CMakeLists.txt index 7b0b3d3e25936..523f3a9d98155 100644 --- a/recipes/h5pp/all/test_package/CMakeLists.txt +++ b/recipes/h5pp/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) -target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_17) +add_executable(test_package test_package.cpp) +target_compile_features(test_package PRIVATE cxx_std_17) find_package(h5pp REQUIRED CONFIG) -target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE h5pp::h5pp) +target_link_libraries(test_package PRIVATE h5pp::h5pp) diff --git a/recipes/h5pp/all/test_package/conanfile.py b/recipes/h5pp/all/test_package/conanfile.py index ca45a778caa64..57ecdac2f006b 100644 --- a/recipes/h5pp/all/test_package/conanfile.py +++ b/recipes/h5pp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -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, cmake_layout class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,5 +21,5 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin","test_package"), run_environment=True) + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/h5pp/all/test_v1_package/CMakeLists.txt b/recipes/h5pp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..7b0b3d3e25936 --- /dev/null +++ b/recipes/h5pp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) +target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_17) + +find_package(h5pp REQUIRED CONFIG) +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE h5pp::h5pp) diff --git a/recipes/h5pp/all/test_v1_package/conanfile.py b/recipes/h5pp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..ca45a778caa64 --- /dev/null +++ b/recipes/h5pp/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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): + self.run(os.path.join("bin","test_package"), run_environment=True) diff --git a/recipes/h5pp/all/test_v1_package/test_package.cpp b/recipes/h5pp/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..384a3eda62383 --- /dev/null +++ b/recipes/h5pp/all/test_v1_package/test_package.cpp @@ -0,0 +1,23 @@ +#include + +int main() { + using cplx = std::complex; + + static_assert(h5pp::type::sfinae::has_data>() and + "h5pp ompile time type-checker failed. Could not properly detect class member data. Check that you are using a supported compiler!"); + + std::string outputFilename = "test_package.h5"; + size_t logLevel = 1; + h5pp::File file(outputFilename, H5F_ACC_TRUNC | H5F_ACC_RDWR, logLevel); + + // Generate dummy data + std::vector vectorComplexWrite = {{-0.191154, 0.326211}, {0.964728, -0.712335}, {-0.0351791, -0.10264}, {0.177544, 0.99999}}; + + // Write dummy data to file + file.writeDataset(vectorComplexWrite, "vectorComplex"); + + + // Read dummy data from file + auto vectorComplexRead = file.readDataset>("vectorComplex"); + return 0; +} From ee254831e253cbdabeccf4f62103fb4c2d79f217 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 May 2023 12:03:34 +0300 Subject: [PATCH 0251/4087] (#17282) liblzf: add recipe * liblzf: add new package * liblzf: fix Clang undefined behavior warning instead of silencing it * liblzf: add Ubuntu as a sources mirror * liblzf: tweak patch names and descriptions * liblzf: fix conandata.yml indentation * liblzf: fix unused imports * liblzf: Add missing #include * Add WINDOWS_EXPORT_ALL_SYMBOLS * liblzf: remove unused USE_MSVC_RUNTIME_LIBRARY_DLL * liblzf: nicer library filename libliblzf.a -> liblzf.a Similar to how Debian packages the library. --- recipes/liblzf/all/CMakeLists.txt | 33 +++++++++ recipes/liblzf/all/conandata.yml | 14 ++++ recipes/liblzf/all/conanfile.py | 67 +++++++++++++++++++ .../all/patches/0001-add-extern-c.patch | 23 +++++++ .../patches/0002-fix-macro-expansion-ub.patch | 15 +++++ .../liblzf/all/test_package/CMakeLists.txt | 7 ++ recipes/liblzf/all/test_package/conanfile.py | 27 ++++++++ .../liblzf/all/test_package/test_package.cpp | 16 +++++ .../liblzf/all/test_v1_package/CMakeLists.txt | 8 +++ .../liblzf/all/test_v1_package/conanfile.py | 19 ++++++ recipes/liblzf/config.yml | 3 + 11 files changed, 232 insertions(+) create mode 100644 recipes/liblzf/all/CMakeLists.txt create mode 100644 recipes/liblzf/all/conandata.yml create mode 100644 recipes/liblzf/all/conanfile.py create mode 100644 recipes/liblzf/all/patches/0001-add-extern-c.patch create mode 100644 recipes/liblzf/all/patches/0002-fix-macro-expansion-ub.patch create mode 100644 recipes/liblzf/all/test_package/CMakeLists.txt create mode 100644 recipes/liblzf/all/test_package/conanfile.py create mode 100644 recipes/liblzf/all/test_package/test_package.cpp create mode 100644 recipes/liblzf/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/liblzf/all/test_v1_package/conanfile.py create mode 100644 recipes/liblzf/config.yml diff --git a/recipes/liblzf/all/CMakeLists.txt b/recipes/liblzf/all/CMakeLists.txt new file mode 100644 index 0000000000000..a501b15938468 --- /dev/null +++ b/recipes/liblzf/all/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.15) +project(liblzf LANGUAGES C) + +add_library(liblzf + src/lzf_c.c + src/lzf_d.c +) +set_target_properties(liblzf PROPERTIES OUTPUT_NAME lzf) + +# The original autotools config specified -O3 -funroll-all-loops for GCC +if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR + CMAKE_C_COMPILER_ID STREQUAL "Clang") + target_compile_options(liblzf PRIVATE "$<$:-O3>") + target_compile_options(liblzf PRIVATE "$<$:-O3>") +elseif(CMAKE_C_COMPILER_ID STREQUAL "MSVC") + target_compile_options(liblzf PRIVATE "$<$:/O2>") + target_compile_options(liblzf PRIVATE "$<$:/O2>") +endif() +if(CMAKE_C_COMPILER_ID STREQUAL "GNU") + target_compile_options(liblzf PRIVATE "-funroll-all-loops") +endif() + +set_target_properties(liblzf PROPERTIES + WINDOWS_EXPORT_ALL_SYMBOLS ON + PUBLIC_HEADER src/lzf.h +) + +install(TARGETS liblzf + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) diff --git a/recipes/liblzf/all/conandata.yml b/recipes/liblzf/all/conandata.yml new file mode 100644 index 0000000000000..4379b9bd34879 --- /dev/null +++ b/recipes/liblzf/all/conandata.yml @@ -0,0 +1,14 @@ +sources: + "3.6": + url: + - "http://dist.schmorp.de/liblzf/liblzf-3.6.tar.gz" + - "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/liblzf/3.6-3/liblzf_3.6.orig.tar.gz" + sha256: "9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a" +patches: + "3.6": + - patch_file: "patches/0001-add-extern-c.patch" + patch_description: "C++: link using C symbol names by adding 'extern \"C\"'" + patch_type: "portability" + - patch_file: "patches/0002-fix-macro-expansion-ub.patch" + patch_description: "Clang: fix \"macro expansion producing 'defined' has undefined behaviour\" warning" + patch_type: "portability" diff --git a/recipes/liblzf/all/conanfile.py b/recipes/liblzf/all/conanfile.py new file mode 100644 index 0000000000000..70d2ac9f7171b --- /dev/null +++ b/recipes/liblzf/all/conanfile.py @@ -0,0 +1,67 @@ +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 LiblzfConan(ConanFile): + name = "liblzf" + description = ( + "LZF is an extremely fast (not that much slower than a pure memcpy) " + "compression algorithm. It is ideal for applications where you want to " + "save *some* space but not at the cost of speed." + ) + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://software.schmorp.de/pkg/liblzf.html" + topics = ("lzf", "compression") + license = "BSD-2-Clause", "GPL-2.0-or-later" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + 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") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.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): + 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 = ["lzf"] diff --git a/recipes/liblzf/all/patches/0001-add-extern-c.patch b/recipes/liblzf/all/patches/0001-add-extern-c.patch new file mode 100644 index 0000000000000..903705a40884d --- /dev/null +++ b/recipes/liblzf/all/patches/0001-add-extern-c.patch @@ -0,0 +1,23 @@ +--- a/lzf.h ++++ b/lzf.h +@@ -48,6 +48,10 @@ + + #define LZF_VERSION 0x0105 /* 1.5, API version */ + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + /* + * Compress in_len bytes stored at the memory block starting at + * in_data and write the result to out_data, up to a maximum length +@@ -96,5 +100,9 @@ unsigned int + lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif + diff --git a/recipes/liblzf/all/patches/0002-fix-macro-expansion-ub.patch b/recipes/liblzf/all/patches/0002-fix-macro-expansion-ub.patch new file mode 100644 index 0000000000000..018c4e6810151 --- /dev/null +++ b/recipes/liblzf/all/patches/0002-fix-macro-expansion-ub.patch @@ -0,0 +1,15 @@ +--- a/lzfP.h ++++ b/lzfP.h +@@ -79,7 +79,11 @@ + * Unconditionally aligning does not cost very much, so do it if unsure + */ + #ifndef STRICT_ALIGN +-# define STRICT_ALIGN !(defined(__i386) || defined (__amd64)) ++# if !(defined(__i386) || defined (__amd64)) ++# define STRICT_ALIGN 1 ++# else ++# define STRICT_ALIGN 0 ++# endif + #endif + + /* diff --git a/recipes/liblzf/all/test_package/CMakeLists.txt b/recipes/liblzf/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c587e08f822f4 --- /dev/null +++ b/recipes/liblzf/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(liblzf REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE liblzf::liblzf) diff --git a/recipes/liblzf/all/test_package/conanfile.py b/recipes/liblzf/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/liblzf/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/liblzf/all/test_package/test_package.cpp b/recipes/liblzf/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..fa8baf612976d --- /dev/null +++ b/recipes/liblzf/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include +#include + +int main(void) { + const char in_data[] = "AAAAAAAAAAAAAAAAAAAAA"; + const unsigned int buf_len = 100; + char compressed_data[buf_len]; + char decompressed_data[buf_len]; + unsigned int compressed_len = lzf_compress(in_data, sizeof(in_data), compressed_data, buf_len); + unsigned int decompressed_len = lzf_decompress(compressed_data, compressed_len, decompressed_data, buf_len); + if (compressed_len >= 10 || decompressed_len != sizeof(in_data)) { + return EXIT_FAILURE; + } + return EXIT_SUCCESS; +} diff --git a/recipes/liblzf/all/test_v1_package/CMakeLists.txt b/recipes/liblzf/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/liblzf/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/liblzf/all/test_v1_package/conanfile.py b/recipes/liblzf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/liblzf/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/liblzf/config.yml b/recipes/liblzf/config.yml new file mode 100644 index 0000000000000..86c7a0c01bf99 --- /dev/null +++ b/recipes/liblzf/config.yml @@ -0,0 +1,3 @@ +versions: + "3.6": + folder: all From 3415269503d7b11c49a95039134f712475f0407e Mon Sep 17 00:00:00 2001 From: Vincent Le Bourlot Date: Sat, 13 May 2023 11:44:56 +0200 Subject: [PATCH 0252/4087] (#16669) libdb/5.3.28 - check for clang compiler alongside apple-clang * check for clang compiler alongside apple-clang * Fix linting errors * chore: update imports for v2 * chore: fix typo * chore: fix indent * fixup: use old subfolder name * fixup: update imports more * Update recipes/libdb/all/conanfile.py * fixup: less foolders * Update recipes/libdb/all/conanfile.py * fixup: abs path with new helpers * fixup: block M! since it's not understood --------- Co-authored-by: Chris Mc Co-authored-by: Chris Mc Co-authored-by: Daniel --- recipes/libdb/all/conanfile.py | 112 +++++++++++++++++---------------- 1 file changed, 58 insertions(+), 54 deletions(-) diff --git a/recipes/libdb/all/conanfile.py b/recipes/libdb/all/conanfile.py index 1fd743e1c3a19..2500bfb57361a 100644 --- a/recipes/libdb/all/conanfile.py +++ b/recipes/libdb/all/conanfile.py @@ -1,10 +1,16 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, MSBuild, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, rename, rm, rmdir +from conan.tools.microsoft import is_msvc, check_min_vs, unix_path +from conan.tools.scm import Version +# FIXME: Needs to be migrted to Conan v2 +from conans import AutoToolsBuildEnvironment, MSBuild +from conans import tools as legacy_tools + import glob import os -import shutil -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.55.0" class LibdbConan(ConanFile): @@ -14,7 +20,7 @@ class LibdbConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.oracle.com/database/berkeley-db" license = ("BSD-3-Clause") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -50,8 +56,7 @@ def _user_info_build(self): return getattr(self, "user_info_build", self.deps_user_info) def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -61,63 +66,63 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.get_safe("with_cxx", False): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.compiler.rm_safe("libcxx") + self.settings.compiler.rm_safe("cppstd") def requirements(self): if self.options.with_tcl: self.requires("tcl/8.6.10") def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self) and check_min_vs(self, "191", raise_invalid=False): # FIXME: it used to work with previous versions of Visual Studio 2019 in CI of CCI. - if tools.Version(self.settings.compiler.version) == "16": - raise ConanInvalidConfiguration("Visual Studio 2019 not supported.") + raise ConanInvalidConfiguration(f"{self.ref} Visual Studio 2019 is currently not supported. Contributions are welcomed!") + + if self.settings.os == "Macos" and self.settings.arch == "armv8": + raise ConanInvalidConfiguration(f"{self.ref} Macos Apple Sillicon is currently not supported. Contributions are welcomed!") if self.options.get_safe("with_cxx"): - if self.settings.compiler == "clang": - if tools.Version(self.settings.compiler.version) <= "5": - raise ConanInvalidConfiguration("This compiler version is unsupported") - if self.settings.compiler == "apple-clang": - if tools.Version(self.settings.compiler.version) < "10": - raise ConanInvalidConfiguration("This compiler version is unsupported") + if self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "6": + raise ConanInvalidConfiguration(f"{self.ref} does no support clang<6 with_cxx=True") + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "10": + raise ConanInvalidConfiguration(f"{self.ref} does no support apple-clang<10 with_cxx=True") def build_requirements(self): - if self.settings.compiler != "Visual Studio": - self.build_requires("gnu-config/cci.20201022") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) - if self.settings.compiler != "Visual Studio": + if is_msvc(self): for subdir in [ "dist", os.path.join("lang", "sql", "jdbc"), os.path.join("lang", "sql", "odbc"), os.path.join("lang", "sql", "sqlite"), ]: - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, subdir, "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, subdir, "config.guess")) + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), src=os.path.dirname(gnu_config), dst=os.path.join(self._source_subfolder, subdir)) for file in glob.glob(os.path.join(self._source_subfolder, "build_windows", "VS10", "*.vcxproj")): - tools.replace_in_file(file, + replace_in_file(self, file, "", "10.0.17763.0") dist_configure = os.path.join(self._source_subfolder, "dist", "configure") - tools.replace_in_file(dist_configure, "../$sqlite_dir", "$sqlite_dir") - tools.replace_in_file(dist_configure, + replace_in_file(self, dist_configure, "../$sqlite_dir", "$sqlite_dir") + replace_in_file(self, dist_configure, "\n --disable-option-checking)", "\n --datarootdir=*)" "\n ;;" @@ -126,8 +131,8 @@ def _patch_sources(self): def _configure_autotools(self): if self._autotools: return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.compiler == "apple-clang" and tools.Version(self.settings.compiler.version) >= "12": + self._autotools = AutoToolsBuildEnvironment(self, win_bash=legacy_tools.os_info.is_windows) + if self.settings.compiler in ["apple-clang", "clang"] and Version(self.settings.compiler.version) >= "12": self._autotools.flags.append("-Wno-error=implicit-function-declaration") conf_args = [ "--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug", @@ -145,13 +150,13 @@ def _configure_autotools(self): else: conf_args.extend(["--disable-shared", "--enable-static"]) if self.options.with_tcl: - conf_args.append("--with-tcl={}".format(tools.unix_path(os.path.join(self.deps_cpp_info["tcl"].rootpath, "lib")))) + conf_args.append("--with-tcl={}".format(unix_path(self, os.path.join(self.deps_cpp_info["tcl"].rootpath, "lib")))) self._autotools.configure(configure_dir=os.path.join(self.source_folder, self._source_subfolder, "dist"), args=conf_args) if self.settings.os == "Windows" and self.options.shared: - tools.replace_in_file(os.path.join(self.build_folder, "libtool"), + replace_in_file(self, os.path.join(self.build_folder, "libtool"), "\ndeplibs_check_method=", "\ndeplibs_check_method=pass_all\n#deplibs_check_method=") - tools.replace_in_file(os.path.join(self.build_folder, "Makefile"), + replace_in_file(self, os.path.join(self.build_folder, "Makefile"), ".a", ".dll.a") return self._autotools @@ -183,23 +188,23 @@ def _build_msvc(self): def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self._build_msvc() else: autotools = self._configure_autotools() autotools.make() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") + copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) bindir = os.path.join(self.package_folder, "bin") libdir = os.path.join(self.package_folder, "lib") - if self.settings.compiler == "Visual Studio": + if is_msvc(self): build_windows = os.path.join(self._source_subfolder, "build_windows") build_dir = os.path.join(self._source_subfolder, "build_windows", self._msvc_arch, self._msvc_build_type) - self.copy("*.lib", src=build_dir, dst="lib") - self.copy("*.dll", src=build_dir, dst="bin") + copy(self, "*.lib", src=build_dir, dst=libdir) + copy(self, "*.dll", src=build_dir, dst=bindir) for fn in ("db.h", "db.cxx", "db_int.h", "dbstl_common.h"): - self.copy(fn, src=build_windows, dst="include") + copy(self, fn, src=build_windows, dst=os.path.join(self.package_folder, "include")) def _lib_to_msvc_lib(lib): shared_suffix = "" if self.options.shared else "s" @@ -209,7 +214,7 @@ def _lib_to_msvc_lib(lib): msvc_libs = [_lib_to_msvc_lib(lib) for lib in self._libs] for lib, msvc_lib in zip(self._libs, msvc_libs): - tools.rename(os.path.join(libdir, "{}.lib".format(msvc_lib)), + rename(self, os.path.join(libdir, "{}.lib".format(msvc_lib)), os.path.join(libdir, "{}.lib".format(lib))) else: autotools = self._configure_autotools() @@ -218,7 +223,7 @@ def _lib_to_msvc_lib(lib): if self.settings.os == "Windows": for fn in os.listdir(libdir): if fn.endswith(".dll"): - tools.rename(os.path.join(libdir, fn), os.path.join(bindir, fn)) + rename(self, os.path.join(libdir, fn), os.path.join(bindir, fn)) for fn in os.listdir(bindir): if not fn.endswith(".dll"): binpath = os.path.join(bindir, fn) @@ -232,13 +237,13 @@ def _lib_to_msvc_lib(lib): os.remove(os.path.join(bindir, fn)) if not os.listdir(bindir): - tools.rmdir(bindir) + rmdir(self, bindir) - tools.rmdir(os.path.join(self.package_folder, "docs")) - tools.remove_files_by_mask(libdir, "*.la") + rmdir(self, os.path.join(self.package_folder, "docs")) + rm(self, "*.la", libdir) if not self.options.shared: # autotools installs the static libraries twice as libXXX.a and libXXX-5.3.a ==> remove libXXX-5.3.a - tools.remove_files_by_mask(libdir, "*-{}.a".format(".".join(self._major_minor_version))) + rm(self, "*-{}.a".format(".".join(self._major_minor_version)), libdir) @property def _major_minor_version(self): @@ -259,10 +264,9 @@ def _libs(self): def package_info(self): self.cpp_info.libs = self._libs - if self.settings.compiler == "Visual Studio" and self.options.shared: + if is_msvc(self) and self.options.shared: self.cpp_info.defines = ["DB_USE_DLL"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["dl", "pthread"]) elif self.settings.os == "Windows" : self.cpp_info.system_libs.append("ws2_32") - From 30c1a6b1d03b82aba94abf5b182ae3fecb1fb2ac Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 13 May 2023 13:22:36 +0300 Subject: [PATCH 0253/4087] (#17553) freeglut: add version 3.4.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/freeglut/all/conandata.yml | 3 +++ recipes/freeglut/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/freeglut/all/conandata.yml b/recipes/freeglut/all/conandata.yml index 1b8ca276b4eda..e132a04abbb80 100644 --- a/recipes/freeglut/all/conandata.yml +++ b/recipes/freeglut/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + url: "https://github.com/FreeGLUTProject/freeglut/archive/v3.4.0.tar.gz" + sha256: "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec" "3.2.2": sha256: "c5944a082df0bba96b5756dddb1f75d0cd72ce27b5395c6c1dde85c2ff297a50" url: "https://github.com/FreeGLUTProject/freeglut/releases/download/v3.2.2/freeglut-3.2.2.tar.gz" diff --git a/recipes/freeglut/config.yml b/recipes/freeglut/config.yml index 31ef026aaa09c..dc897e491fcb6 100644 --- a/recipes/freeglut/config.yml +++ b/recipes/freeglut/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: all "3.2.2": folder: all "3.2.1": From ef7c176b5d7a116ca8b995b3a7bb5acd659378cc Mon Sep 17 00:00:00 2001 From: Binrui Dong Date: Sat, 13 May 2023 19:01:39 +0800 Subject: [PATCH 0254/4087] (#17550) quill: add version 2.9.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 3a5d682ed6cdb..6251899f54ebd 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.0": + url: "https://github.com/odygrd/quill/archive/v2.9.0.tar.gz" + sha256: "dec64c0fbb4bfbafe28fdeeeefac10206285bf2be4a42ec5dfb7987ca4ccb372" "2.8.0": url: "https://github.com/odygrd/quill/archive/v2.8.0.tar.gz" sha256: "0461a6c314e3d882f3b9ada487ef1bf558925272509ee41a9fd25f7776db6075" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index dc1965f645ea9..5cd8b62893f38 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.0": + folder: "all" "2.8.0": folder: "all" "2.7.0": From 779ed64efa036a1658532c10a10ff77590713e58 Mon Sep 17 00:00:00 2001 From: jdoubleu Date: Sat, 13 May 2023 13:44:19 +0200 Subject: [PATCH 0255/4087] (#16569) port ZBar recipe to conan2 * port ZBar recipe to conan2 * Apply suggestions from code review * Use rm safe * improve test package Signed-off-by: Uilian Ries * do not run autoreconf The configure file is already generated. * Use autoreconf for 0.23 * patch aarch Signed-off-by: Uilian Ries * fix mac build Signed-off-by: Uilian Ries * fix apple shared install Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Chris Mc Co-authored-by: Chris Mc Co-authored-by: Uilian Ries --- recipes/zbar/all/conandata.yml | 5 + recipes/zbar/all/conanfile.py | 135 +++++++++--------- .../zbar/all/patches/0001-support-aarch.patch | 12 ++ recipes/zbar/all/test_package/CMakeLists.txt | 3 - recipes/zbar/all/test_package/conanfile.py | 21 ++- .../zbar/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/zbar/all/test_v1_package/conanfile.py | 18 +++ 7 files changed, 122 insertions(+), 80 deletions(-) create mode 100644 recipes/zbar/all/patches/0001-support-aarch.patch create mode 100644 recipes/zbar/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/zbar/all/test_v1_package/conanfile.py diff --git a/recipes/zbar/all/conandata.yml b/recipes/zbar/all/conandata.yml index cf2cfcd314d59..6b2d63eaa0b13 100644 --- a/recipes/zbar/all/conandata.yml +++ b/recipes/zbar/all/conandata.yml @@ -5,3 +5,8 @@ sources: "0.10": url: "https://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10.tar.gz" sha256: "575fa82de699faa7bda2d2ebbe3e1af0a4152ec4d3ad72c0ab6712d7cc9b5dd2" +patches: + "0.10": + - patch_file: "patches/0001-support-aarch.patch" + patch_description: "Add support for Mac M1" + patch_type: "portability" diff --git a/recipes/zbar/all/conanfile.py b/recipes/zbar/all/conanfile.py index 00bd9d090d748..9bd026144c74d 100644 --- a/recipes/zbar/all/conanfile.py +++ b/recipes/zbar/all/conanfile.py @@ -1,11 +1,15 @@ -from conans import tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name from conan.tools.build import cross_building +from conan.tools.files import get, copy, rmdir, rm, export_conandata_patches, apply_conandata_patches +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.env import Environment +from conan.tools.scm import Version +from conan.tools.layout import basic_layout import os -import shutil -required_conan_version = ">=1.36.0" +required_conan_version = ">=1.53.0" class ZbarConan(ConanFile): @@ -13,7 +17,7 @@ class ZbarConan(ConanFile): license = "LGPL-2.1-only" url = "https://github.com/conan-io/conan-center-index" homepage = "http://zbar.sourceforge.net/" - topics = ("zbar", "bar codes") + topics = ("zbar", "barcode", "scanner", "decoder", "reader", "bar") description = "ZBar is an open source software suite for reading bar codes\ from various sources, such as video streams, image files and raw intensity sensors" settings = "os", "compiler", "build_type", "arch" @@ -46,15 +50,8 @@ class ZbarConan(ConanFile): "enable_pthread": True, } - _autotools = None - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", None) or self.deps_user_info - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -62,7 +59,10 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_jpeg: @@ -73,83 +73,76 @@ def requirements(self): self.requires("gtk/4.7.0") if self.options.with_qt: self.requires("qt/5.15.5") - if tools.Version(self.version) >= "0.22": + if Version(self.version) >= "0.22": self.requires("libiconv/1.17") def build_requirements(self): - self.build_requires("gnu-config/cci.20210814") - if tools.Version(self.version) >= "0.22": - self.build_requires("automake/1.16.5") - self.build_requires("gettext/0.21") - self.build_requires("pkgconf/1.7.4") - self.build_requires("libtool/2.4.6") + self.tool_requires("gnu-config/cci.20210814") + if Version(self.version) >= "0.22": + self.tool_requires("automake/1.16.5") + self.tool_requires("gettext/0.21") + self.tool_requires("pkgconf/1.7.4") + self.tool_requires("libtool/2.4.6") def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("Zbar can't be built on Windows") - if tools.is_apple_os(self.settings.os) and not self.options.shared: + if is_apple_os(self) and not self.options.shared: raise ConanInvalidConfiguration("Zbar can't be built static on macOS") if self.options.with_xv: #TODO add when available self.output.warn("There is no Xvideo package available on Conan (yet). This recipe will use the one present on the system (if available).") - if tools.Version(self.version) >= "0.22" and cross_building(self): - raise ConanInvalidConfiguration("{} can't be built on cross building environment currently because autopoint(part of gettext) doesn't execute correctly.".format(self.name)) + if Version(self.version) >= "0.22" and cross_building(self): + raise ConanInvalidConfiguration(f"{self.ref} can't be built on cross building environment currently because autopoint(part of gettext) doesn't execute correctly.") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if not self._autotools: - if tools.Version(self.version) >= "0.22": - with tools.chdir(self._source_subfolder): - self.run("autoreconf -fiv") - self._autotools = AutoToolsBuildEnvironment(self) - yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - "--enable-video={}".format(yes_no(self.options.with_video)), - "--with-imagemagick={}".format(yes_no(self.options.with_imagemagick)), - "--with-gtk={}".format(yes_no(self.options.with_gtk)), - "--with-qt={}".format(yes_no(self.options.with_qt)), - "--with-python={}".format(yes_no(self.options.with_python_bindings)), - "--with-x={}".format(yes_no(self.options.with_x)), - "--with-xshm={}".format(yes_no(self.options.with_xshm)), - "--with-xv={}".format(yes_no(self.options.with_xv)), - "--with-jpeg={}".format(yes_no(self.options.with_jpeg)), - "--enable-pthread={}".format(yes_no(self.options.enable_pthread)), - ] - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # ./libtool: eval: line 961: syntax error near unexpected token `|' - args.append("NM=nm") - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + yes_no = lambda v: "yes" if v else "no" + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + f"--enable-video={yes_no(self.options.with_video)}", + f"--with-imagemagick={yes_no(self.options.with_imagemagick)}", + f"--with-gtk={yes_no(self.options.with_gtk)}", + f"--with-qt={yes_no(self.options.with_qt)}", + f"--with-python={yes_no(self.options.with_python_bindings)}", + f"--with-x={yes_no(self.options.with_x)}", + f"--with-xshm={yes_no(self.options.with_xshm)}", + f"--with-xv={yes_no(self.options.with_xv)}", + f"--with-jpeg={yes_no(self.options.with_jpeg)}", + f"--enable-pthread={yes_no(self.options.enable_pthread)}", + ]) + tc.generate() + if self.settings.os == "Macos" and self.settings.arch == "armv8": + # ./libtool: eval: line 961: syntax error near unexpected token `|' + env = Environment() + env.define("NM", "nm") + env.vars(self).save_script("conanbuild_macos_nm") def build(self): - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "config", "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "config", "config.guess")) - - autotools = self._configure_autotools() + apply_conandata_patches(self) + copy(self, "config.sub", src=self.source_folder, dst=os.path.join(self.source_folder, "config")) + copy(self, "config.guess", src=self.source_folder, dst=os.path.join(self.source_folder, "config")) + + autotools = Autotools(self) + if Version(self.version) > "0.10": + autotools.autoreconf() + autotools.configure() autotools.make() def package(self): - if tools.Version(self.version) < "0.23": - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - else: - self.copy("LICENSE.md", src=self._source_subfolder, dst="licenses") - autotools = self._configure_autotools() + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "share")) - 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", os.path.join(self.package_folder, "lib")) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.names["pkg_config"] = "zbar" + self.cpp_info.libs = ["zbar"] self.cpp_info.set_property("pkg_config_name", "zbar") - self.cpp_info.libs = tools.collect_libs(self) if self.settings.os in ("FreeBSD", "Linux") and self.options.enable_pthread: self.cpp_info.system_libs = ["pthread"] - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): self.cpp_info.system_libs = ["iconv"] diff --git a/recipes/zbar/all/patches/0001-support-aarch.patch b/recipes/zbar/all/patches/0001-support-aarch.patch new file mode 100644 index 0000000000000..af159847c4b2d --- /dev/null +++ b/recipes/zbar/all/patches/0001-support-aarch.patch @@ -0,0 +1,12 @@ +diff --git a/config/config.sub b/config/config.sub +index 848a7a5..8fecc04 100755 +--- a/config/config.sub ++++ b/config/config.sub +@@ -322,6 +322,7 @@ case $basic_machine in + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ ++ | aarch64-* | aarch64_be-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ diff --git a/recipes/zbar/all/test_package/CMakeLists.txt b/recipes/zbar/all/test_package/CMakeLists.txt index ecdb95efbb37f..5f986e30b6686 100644 --- a/recipes/zbar/all/test_package/CMakeLists.txt +++ b/recipes/zbar/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(zbar CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/zbar/all/test_package/conanfile.py b/recipes/zbar/all/test_package/conanfile.py index 90eb89e3f2f46..ef5d7042163ec 100644 --- a/recipes/zbar/all/test_package/conanfile.py +++ b/recipes/zbar/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/zbar/all/test_v1_package/CMakeLists.txt b/recipes/zbar/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/zbar/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zbar/all/test_v1_package/conanfile.py b/recipes/zbar/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/zbar/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 58eb47ce712215c0d16806432f06e7c9581b5f9e Mon Sep 17 00:00:00 2001 From: Binrui Dong Date: Sat, 13 May 2023 20:41:57 +0800 Subject: [PATCH 0256/4087] (#17551) asio: add version 1.28.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 07b942100462b..46bc4f8f41b43 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.28.0": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-0.tar.gz" + sha256: "226438b0798099ad2a202563a83571ce06dd13b570d8fded4840dbc1f97fa328" "1.27.0": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-27-0.tar.gz" sha256: "b31c63867daaba0e460ee2c85dc508a52c81db0a7318e0d2147f444b26f80ed7" diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index d62ea0d240f76..06fbadd587b1a 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,4 +1,6 @@ versions: + "1.28.0": + folder: all "1.27.0": folder: all "1.26.0": From 817881143295274a49661b8729924b8e7d73ab58 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 May 2023 16:24:05 +0300 Subject: [PATCH 0257/4087] (#17313) flatbuffers/23.3.3: updated cmake required version --- recipes/flatbuffers/all/conandata.yml | 6 ++++++ recipes/flatbuffers/all/conanfile.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/flatbuffers/all/conandata.yml b/recipes/flatbuffers/all/conandata.yml index ef2d33598fbf6..8ec1c3ec389ea 100644 --- a/recipes/flatbuffers/all/conandata.yml +++ b/recipes/flatbuffers/all/conandata.yml @@ -38,6 +38,12 @@ sources: patches: "2.0.6": - patch_file: "patches/0004-no-flatc-execution-build-time.patch" + patch_description: "No flatc execution during build time" + patch_type: "conan" "2.0.5": - patch_file: "patches/0002-apple-no-universal-build.patch" + patch_description: "Don't use universal2 architecture" + patch_type: "bugfix" - patch_file: "patches/0003-no-flatc-execution-build-time.patch" + patch_description: "No flatc execution during build time" + patch_type: "conan" diff --git a/recipes/flatbuffers/all/conanfile.py b/recipes/flatbuffers/all/conanfile.py index 3dbcca3f23f42..06610b4d9bfd6 100644 --- a/recipes/flatbuffers/all/conanfile.py +++ b/recipes/flatbuffers/all/conanfile.py @@ -60,7 +60,9 @@ def validate(self): check_min_cppstd(self, 11) def build_requirements(self): - if Version(self.version) >= "2.0.7": + # since 23.3.3 version, flatbuffers cmake scripts were refactored to use cmake 3.8 version + # see https://github.com/google/flatbuffers/pull/7801 + if Version(self.version) >= "2.0.7" and Version(self.version) < "23.3.3": self.tool_requires("cmake/[>=3.16 <4]") def source(self): From 8e9d54dbf0ca4ec378d8b0df596a5521044627d8 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 13 May 2023 17:44:54 +0300 Subject: [PATCH 0258/4087] (#16193) godot-cpp: add version 3.5.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/godot-cpp/all/conandata.yml | 3 +++ recipes/godot-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/godot-cpp/all/conandata.yml b/recipes/godot-cpp/all/conandata.yml index ce95c40023693..a5e56e1b0aaa0 100644 --- a/recipes/godot-cpp/all/conandata.yml +++ b/recipes/godot-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/godotengine/godot-cpp/archive/godot-3.5.1-stable.tar.gz" + sha256: "a0ab1f117d30ab01837e39e7ff704bbded282db4643343579b2bca11794f99fc" "3.3.4": url: "https://github.com/godotengine/godot-cpp/archive/godot-3.3.4-stable.tar.gz" sha256: "fa12b8dd8652109eceae7aecf134f64529edfb34ec33d24b1a9c220b40599575" diff --git a/recipes/godot-cpp/config.yml b/recipes/godot-cpp/config.yml index 0d66aae9da011..6d3463978fb93 100644 --- a/recipes/godot-cpp/config.yml +++ b/recipes/godot-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: all "3.3.4": folder: all "cci.3.2-20200130": From 51bc4c6dc0e4c1f8d12efcc785487dc9c627b8cb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 13 May 2023 17:41:54 +0200 Subject: [PATCH 0259/4087] (#17554) clove-unit: cleanup recipe and don't suggest unofficial CMake names --- recipes/clove-unit/all/conanfile.py | 29 ++++--------------- .../all/test_package/CMakeLists.txt | 5 ++-- 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/recipes/clove-unit/all/conanfile.py b/recipes/clove-unit/all/conanfile.py index b1b609b91277b..630528ab512d9 100644 --- a/recipes/clove-unit/all/conanfile.py +++ b/recipes/clove-unit/all/conanfile.py @@ -1,14 +1,14 @@ from conan import ConanFile +from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.tools.files import export_conandata_patches, get, copy import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class CloveUnitConan(ConanFile): name = "clove-unit" description = "Single-header Unit Testing framework for C (interoperable with C++) with test autodiscovery feature" - topics = ("clove-unit", "unit-testing", "testing", "unit testing", "test") + topics = ("unit-testing", "testing", "unit testing", "test") homepage = "https://github.com/fdefelici/clove-unit" url = "https://github.com/conan-io/conan-center-index" license = "MIT" @@ -16,39 +16,22 @@ class CloveUnitConan(ConanFile): package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - # Use the export_sources(self) method instead of the exports_sources attribute. - # This allows finer grain exportation of patches per version - def export_sources(self): - export_conandata_patches(self) - def layout(self): 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) - # Not mandatory when there is no patch, but will suppress warning message about missing build() method def build(self): - # The attribute no_copy_source should not be used when applying patches in build - # apply_conandata_patches(self) pass def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "clove-unit.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) - def package_id(self): - self.info.clear() - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "CloveUnit") - self.cpp_info.set_property("cmake_target_name", "CloveUnit::CloveUnit") - # Folders not used for header-only self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - # NOTE: needed by conan test phase on test_v1_package folder - self.cpp_info.filenames["cmake_find_package"] = "CloveUnit" - self.cpp_info.filenames["cmake_find_package_multi"] = "CloveUnit" - self.cpp_info.names["cmake_find_package"] = "CloveUnit" - self.cpp_info.names["cmake_find_package_multi"] = "CloveUnit" diff --git a/recipes/clove-unit/all/test_package/CMakeLists.txt b/recipes/clove-unit/all/test_package/CMakeLists.txt index fb45b2eb12291..6b669b3ad30d6 100644 --- a/recipes/clove-unit/all/test_package/CMakeLists.txt +++ b/recipes/clove-unit/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) - -find_package(CloveUnit CONFIG REQUIRED) +find_package(clove-unit CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CloveUnit::CloveUnit) +target_link_libraries(${PROJECT_NAME} PRIVATE clove-unit::clove-unit) From 676577cd0cd324b78fc5c9b087df94350ac84b85 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 May 2023 03:41:40 +0900 Subject: [PATCH 0260/4087] (#17556) ada: add version 2.4.0 --- 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 affd7c6d9b96f..58c7e0e41688d 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/ada-url/ada/archive/refs/tags/v2.4.0.tar.gz" + sha256: "14624f1dfd966fee85272688064714172ff70e6e304a1e1850f352a07e4c6dc7" "2.3.1": url: "https://github.com/ada-url/ada/archive/refs/tags/v2.3.1.tar.gz" sha256: "298992ec0958979090566c7835ea60c14f5330d6372ee092ef6eee1d2e6ac079" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 622fd3350ef87..fb1219967c27e 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.1": folder: all "2.3.0": From 320eedbf60b7ba22746615af856178fea0db6faa Mon Sep 17 00:00:00 2001 From: Quentin Chateau Date: Sat, 13 May 2023 22:23:14 +0200 Subject: [PATCH 0261/4087] (#17558) packio: add version 2.5.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/) --- recipes/packio/all/conandata.yml | 3 +++ recipes/packio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/packio/all/conandata.yml b/recipes/packio/all/conandata.yml index 7cc482e810d3d..883472bb39dd2 100644 --- a/recipes/packio/all/conandata.yml +++ b/recipes/packio/all/conandata.yml @@ -41,3 +41,6 @@ sources: "2.4.1": url: "https://github.com/qchateau/packio/archive/2.4.1.tar.gz" sha256: "c115548146d6da432048265037b30f77ba6ad7a39350693c4fb36fd896bc7a4b" + "2.5.0": + url: "https://github.com/qchateau/packio/archive/2.5.0.tar.gz" + sha256: "5aa29313ac37be2fb66ff01af9413d9f9931cd4566f1400b00fac107552558ae" diff --git a/recipes/packio/config.yml b/recipes/packio/config.yml index 2a9f47eb7fdb4..4e4071772582c 100644 --- a/recipes/packio/config.yml +++ b/recipes/packio/config.yml @@ -27,3 +27,5 @@ versions: folder: all "2.4.1": folder: all + "2.5.0": + folder: all From 6f86d27aec59660240aa7383278cd747c160be19 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Sun, 14 May 2023 11:28:02 -0400 Subject: [PATCH 0262/4087] (#17532) [googleapis] prepare for google-cloud-cpp-2.10.1 * [googleapis] prepare for google-cloud-cpp-2.10.1 * Fix build problems on Windows * I forgot how `deactivate_library()` works --- recipes/googleapis/all/conandata.yml | 3 +++ recipes/googleapis/all/conanfile.py | 8 ++++++++ recipes/googleapis/all/helpers.py | 24 ++++++++++++++---------- recipes/googleapis/config.yml | 2 ++ 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/recipes/googleapis/all/conandata.yml b/recipes/googleapis/all/conandata.yml index d67e7781b543f..1c14a1790d586 100644 --- a/recipes/googleapis/all/conandata.yml +++ b/recipes/googleapis/all/conandata.yml @@ -7,6 +7,9 @@ # (master branch) https://github.com/grpc/grpc/blob/master/CMakeLists.txt#L347 sources: + "cci.20230501": + url: "https://github.com/googleapis/googleapis/archive/2da477b6a72168c65fdb4245530cfa702cc4b029.tar.gz" + sha256: "3e48e5833fcd2e1fcb8b6a5b7a88e18503b670e8636b868cdb5ac32e00fbdafb" "cci.20221108": url: "https://github.com/googleapis/googleapis/archive/67b2d7c2fb11188776bc398f02c67fccd8187502.zip" sha256: "cca450c34e3a8adc03364686d44748f362e4a9af6d3ef32b918f2d5483a3025e" diff --git a/recipes/googleapis/all/conanfile.py b/recipes/googleapis/all/conanfile.py index 823693a078c6a..c1eae06780f75 100644 --- a/recipes/googleapis/all/conanfile.py +++ b/recipes/googleapis/all/conanfile.py @@ -153,6 +153,14 @@ def deactivate_library(key): deactivate_library("//google/cloud/talent/v4:talent_cc_proto") deactivate_library("//google/cloud/asset/v1:asset_proto") deactivate_library("//google/cloud/asset/v1:asset_cc_proto") + # This fails to build on Windows. It is arguably a missing feature of + # Protobuf. + # https://github.com/protocolbuffers/protobuf/issues/12774 + # Fortunately this library is not used by any downstream packages + # (grpc-protos, or google-cloud-cpp), and it is only "beta" at the + # moment. Simply disable it for now. + deactivate_library("//google/cloud/lifesciences/v2beta:lifesciences_proto") + deactivate_library("//google/cloud/lifesciences/v2beta:lifesciences_cc_proto") return proto_libraries diff --git a/recipes/googleapis/all/helpers.py b/recipes/googleapis/all/helpers.py index 90c6fd93c7d96..268a1364e7302 100644 --- a/recipes/googleapis/all/helpers.py +++ b/recipes/googleapis/all/helpers.py @@ -50,7 +50,7 @@ def shorten_cmake_target(self, cmake_target): if short_name.endswith(suffix): short_name = short_name[:-len(suffix)] return short_name - + @property def cmake_deps(self): def to_cmake_target(item): @@ -58,7 +58,7 @@ def to_cmake_target(item): return item[2:].replace("/", "_").replace(":", "_") return item return [to_cmake_target(it) for it in self.deps] - + @property def cmake_deps_short(self): return [self.shorten_cmake_target(dep) for dep in self.cmake_deps] @@ -68,7 +68,7 @@ def cmake_content(self): cmake_target_short = self.shorten_cmake_target(self.cmake_target) content = f"\n\n# {self.cmake_target} ({cmake_target_short})\n" content += "\n".join([f"#{it}" for it in self.dumps().split('\n')]) - content += "\n" + content += "\n" if not self.srcs: content += textwrap.dedent(f"""\ add_library({cmake_target_short} INTERFACE) @@ -81,8 +81,8 @@ def cmake_content(self): target_compile_features({cmake_target_short} PUBLIC cxx_std_11) # set project_label to shorten the name of the vcxproj file and cause shorter paths set_property(TARGET {cmake_target_short} PROPERTY OUTPUT_NAME "{self.cmake_target}") - protobuf_generate(LANGUAGE cpp - TARGET {cmake_target_short} + protobuf_generate(LANGUAGE cpp + TARGET {cmake_target_short} PROTOS ${{{cmake_target_short}_PROTOS}} IMPORT_DIRS ${{CMAKE_SOURCE_DIR}} ) @@ -107,14 +107,18 @@ def parse_proto_libraries(filename, source_folder, error): basedir = os.path.dirname(filename) current_folder_str = os.path.relpath(basedir, source_folder).replace('\\', '/') # We need forward slashes because of Windows proto_library = None - + def parsing_sources(line): proto_path = os.path.relpath(os.path.join(basedir, line.strip(",").strip("\"")), source_folder).replace('\\', '/') proto_library.srcs.append(proto_path) def parsing_deps(line): + # Remove any comments + line = line.split('#', 1)[0].strip() line = line.strip(",").strip("\"") - if line.startswith("@com_google_protobuf//:"): + if line == '': + pass + elif line.startswith("@com_google_protobuf//:"): proto_library.deps.add("protobuf::libprotobuf") elif line.startswith("@com_google_googleapis//"): proto_library.deps.add(line[len("@com_google_googleapis"):]) @@ -137,7 +141,7 @@ def collecting_items(collection, line): variables = {} for line in f.readlines(): line = line.strip() - + if line == "proto_library(": assert proto_library == None proto_library = _ProtoLibrary(is_cc=False) @@ -175,11 +179,11 @@ def collecting_items(collection, line): proto_library = None action = None elif line == "],": - action = None + action = None elif line.startswith("] + "): varname = re_add_varname.search(line).group(1) for it in variables[varname]: - action(it) + action(it) elif action: action(line) diff --git a/recipes/googleapis/config.yml b/recipes/googleapis/config.yml index 6656d26c71a64..dd9050334b552 100644 --- a/recipes/googleapis/config.yml +++ b/recipes/googleapis/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20230501": + folder: all "cci.20221108": folder: all "cci.20220711": From f14b622501128990d3accc8530fc0047eeff1ad0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 May 2023 01:21:47 +0900 Subject: [PATCH 0263/4087] (#17563) pfr: add version 2.1.0 --- recipes/pfr/all/conandata.yml | 3 +++ recipes/pfr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pfr/all/conandata.yml b/recipes/pfr/all/conandata.yml index b92cfd4d3f6f2..a92db9416c3b3 100644 --- a/recipes/pfr/all/conandata.yml +++ b/recipes/pfr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/boostorg/pfr/archive/refs/tags/2.1.0.tar.gz" + sha256: "7c18a4ab73b70f8b3513fa3a836c6f4310f627bbf55f62b89bdd7aa787c7da31" "2.0.3": url: "https://github.com/boostorg/pfr/archive/refs/tags/2.0.3.tar.gz" sha256: "c7d1950b56a07678423759f0bcdf37312f9861e3e9e59c45331903891213e2f2" diff --git a/recipes/pfr/config.yml b/recipes/pfr/config.yml index 7fb15b0ae62fb..656874f312592 100644 --- a/recipes/pfr/config.yml +++ b/recipes/pfr/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: "all" "2.0.3": folder: "all" "2.0.2": From 510a46ccc4500241f154e2ae601e347a474f668b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 15 May 2023 03:02:35 +0200 Subject: [PATCH 0264/4087] (#17566) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 51fd26e16f950..d87b85b740a79 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -41,6 +41,7 @@ required_for_references: - avir - aws-c-common - aws-c-compression +- aws-c-sdkutils - aws-checksums - b2 - b64 @@ -233,6 +234,7 @@ required_for_references: - fxdiv - g3log - gamma +- gdbm - gdcm - gdk-pixbuf - gemmlowp @@ -265,6 +267,7 @@ required_for_references: - gtk - gurkenlaeufer - h3 +- h5pp - harfbuzz - hdf5 - hdrhistogram-c @@ -342,6 +345,7 @@ required_for_references: - libkml - liblsl - libltc +- liblzf - libmodbus - libmodplug - libmorton @@ -521,12 +525,14 @@ required_for_references: - semimap - sentry-breakpad - serd +- sfml - shield - sigslot - simdjson - simdutf - snappy - soci +- sophus - soplex - soxr - span-lite @@ -580,6 +586,7 @@ required_for_references: - vtu11 - vulkan-headers - vulkan-loader +- vulkan-memory-allocator - vulkan-validationlayers - wasmtime - wasmtime-cpp @@ -617,6 +624,7 @@ required_for_references: - yajl - yaml-cpp - yasm +- zbar - zeromq - zfp - zimg From 0b4e69128ae2aa40dbc44c36beb8fc3d25c7d534 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 15 May 2023 03:22:30 +0200 Subject: [PATCH 0265/4087] (#17561) zbar: bump dependencies + few fixes following v2 migration * bump dependencies * add package_type * use output.warning instead of output.warn * fix copy of gnu-config files * add VirtualBuildEnv since there are build requirements * properly handle dependencies --- recipes/zbar/all/conanfile.py | 64 +++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/recipes/zbar/all/conanfile.py b/recipes/zbar/all/conanfile.py index 9bd026144c74d..3611c54ea21e1 100644 --- a/recipes/zbar/all/conanfile.py +++ b/recipes/zbar/all/conanfile.py @@ -2,11 +2,11 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os, fix_apple_shared_install_name from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import get, copy, rmdir, rm, export_conandata_patches, apply_conandata_patches -from conan.tools.gnu import Autotools, AutotoolsToolchain -from conan.tools.env import Environment -from conan.tools.scm import Version +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -17,10 +17,11 @@ class ZbarConan(ConanFile): license = "LGPL-2.1-only" url = "https://github.com/conan-io/conan-center-index" homepage = "http://zbar.sourceforge.net/" - topics = ("zbar", "barcode", "scanner", "decoder", "reader", "bar") + topics = ("barcode", "scanner", "decoder", "reader", "bar") description = "ZBar is an open source software suite for reading bar codes\ from various sources, such as video streams, image files and raw intensity sensors" - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -65,24 +66,15 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): + self.requires("libiconv/1.17") if self.options.with_jpeg: - self.requires("libjpeg/9d") + self.requires("libjpeg/9e") if self.options.with_imagemagick: self.requires("imagemagick/7.0.11-14") if self.options.with_gtk: self.requires("gtk/4.7.0") if self.options.with_qt: - self.requires("qt/5.15.5") - if Version(self.version) >= "0.22": - self.requires("libiconv/1.17") - - def build_requirements(self): - self.tool_requires("gnu-config/cci.20210814") - if Version(self.version) >= "0.22": - self.tool_requires("automake/1.16.5") - self.tool_requires("gettext/0.21") - self.tool_requires("pkgconf/1.7.4") - self.tool_requires("libtool/2.4.6") + self.requires("qt/5.15.9") def validate(self): if self.settings.os == "Windows": @@ -90,14 +82,28 @@ def validate(self): if is_apple_os(self) and not self.options.shared: raise ConanInvalidConfiguration("Zbar can't be built static on macOS") if self.options.with_xv: #TODO add when available - self.output.warn("There is no Xvideo package available on Conan (yet). This recipe will use the one present on the system (if available).") + self.output.warning("There is no Xvideo package available on Conan (yet). This recipe will use the one present on the system (if available).") if Version(self.version) >= "0.22" and cross_building(self): raise ConanInvalidConfiguration(f"{self.ref} can't be built on cross building environment currently because autopoint(part of gettext) doesn't execute correctly.") + def build_requirements(self): + self.tool_requires("gnu-config/cci.20210814") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/1.9.3") + if Version(self.version) >= "0.22": + self.tool_requires("gettext/0.21") + self.tool_requires("libtool/2.4.7") + 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") + yes_no = lambda v: "yes" if v else "no" tc = AutotoolsToolchain(self) tc.configure_args.extend([ @@ -112,20 +118,28 @@ def generate(self): f"--with-jpeg={yes_no(self.options.with_jpeg)}", f"--enable-pthread={yes_no(self.options.enable_pthread)}", ]) - tc.generate() + env = tc.environment() if self.settings.os == "Macos" and self.settings.arch == "armv8": # ./libtool: eval: line 961: syntax error near unexpected token `|' - env = Environment() env.define("NM", "nm") - env.vars(self).save_script("conanbuild_macos_nm") + tc.generate(env) + + AutotoolsDeps(self).generate() + PkgConfigDeps(self).generate() def build(self): apply_conandata_patches(self) - copy(self, "config.sub", src=self.source_folder, dst=os.path.join(self.source_folder, "config")) - copy(self, "config.guess", src=self.source_folder, dst=os.path.join(self.source_folder, "config")) + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), + src=os.path.dirname(gnu_config), + dst=os.path.join(self.source_folder, "config")) autotools = Autotools(self) - if Version(self.version) > "0.10": + if Version(self.version) >= "0.22": autotools.autoreconf() autotools.configure() autotools.make() @@ -144,5 +158,3 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "zbar") if self.settings.os in ("FreeBSD", "Linux") and self.options.enable_pthread: self.cpp_info.system_libs = ["pthread"] - if is_apple_os(self): - self.cpp_info.system_libs = ["iconv"] From fcb4e651095c73b1d549da372f1852de4d56d7bb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 15 May 2023 04:03:24 +0200 Subject: [PATCH 0266/4087] (#17398) outcome: conan v2 support --- recipes/outcome/all/conanfile.py | 78 ++++++++++++------- .../outcome/all/test_package/CMakeLists.txt | 17 ++-- recipes/outcome/all/test_package/conanfile.py | 24 ++++-- .../{example.cpp => test_package.cpp} | 0 .../all/test_v1_package/CMakeLists.txt | 8 ++ .../outcome/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 96 insertions(+), 48 deletions(-) rename recipes/outcome/all/test_package/{example.cpp => test_package.cpp} (100%) create mode 100644 recipes/outcome/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/outcome/all/test_v1_package/conanfile.py diff --git a/recipes/outcome/all/conanfile.py b/recipes/outcome/all/conanfile.py index c11f8f905ac53..910063cd4cd17 100644 --- a/recipes/outcome/all/conanfile.py +++ b/recipes/outcome/all/conanfile.py @@ -1,5 +1,14 @@ import os -from conans import ConanFile, errors, tools + +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.50.0" + class OutcomeConan(ConanFile): name = "outcome" @@ -7,42 +16,51 @@ class OutcomeConan(ConanFile): description = "Provides very lightweight outcome and result" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" - topics = ("outcome", "result") - settings = "compiler" + topics = ("result",) + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _source_subfolder = "source_subfolder" + @property + def _min_cppstd(self): + return "14" - def configure(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "14") - - minimum_version = { + @property + def _compilers_minimum_version(self): + return { "clang": "3.9", "gcc": "6", - "Visual Studio": "15.0", - }.get(str(self.settings.compiler)) - - if not minimum_version: - self.output.warn( - "Unknown compiler {} {}. Assuming compiler supports C++14." - .format(self.settings.compiler, self.settings.compiler.version)) - else: - version = tools.Version(self.settings.compiler.version) - if version < minimum_version: - raise errors.ConanInvalidConfiguration( - "The compiler {} {} does not support C++14." - .format(self.settings.compiler, self.settings.compiler.version)) + "Visual Studio": "15", + "msvc": "191", + } + + 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): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass def package(self): - self.copy("outcome.hpp", dst="include", - src=os.path.join(self._source_subfolder, "single-header")) - self.copy("Licence.txt", dst="licenses", src=self._source_subfolder) + copy(self, "Licence.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "outcome.hpp", src=os.path.join(self.source_folder, "single-header"), + dst=os.path.join(self.package_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/outcome/all/test_package/CMakeLists.txt b/recipes/outcome/all/test_package/CMakeLists.txt index 36d5f5376146d..8a2128b64a829 100644 --- a/recipes/outcome/all/test_package/CMakeLists.txt +++ b/recipes/outcome/all/test_package/CMakeLists.txt @@ -1,13 +1,8 @@ -cmake_minimum_required(VERSION 3.1 FATAL_ERROR) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -project(OutcomePackageTest CXX) +find_package(outcome REQUIRED CONFIG) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_executable(example example.cpp) -target_link_libraries(example CONAN_PKG::outcome) -set_target_properties(example PROPERTIES - CXX_STANDARD 14 - CXX_STANDARD_REQUIRED ON - CXX_EXTENSIONS OFF) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE outcome::outcome) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/outcome/all/test_package/conanfile.py b/recipes/outcome/all/test_package/conanfile.py index 25a1fd17c6fbe..0a6bc68712d90 100644 --- a/recipes/outcome/all/test_package/conanfile.py +++ b/recipes/outcome/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools -class OutcomeTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/outcome/all/test_package/example.cpp b/recipes/outcome/all/test_package/test_package.cpp similarity index 100% rename from recipes/outcome/all/test_package/example.cpp rename to recipes/outcome/all/test_package/test_package.cpp diff --git a/recipes/outcome/all/test_v1_package/CMakeLists.txt b/recipes/outcome/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/outcome/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/outcome/all/test_v1_package/conanfile.py b/recipes/outcome/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/outcome/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From d64bdfce8258590fb76f0e48a13237ed161d5995 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Mon, 15 May 2023 13:43:14 +0300 Subject: [PATCH 0267/4087] (#17254) cryptopp/8.7.0: update cryptopp-cmake to 8.7.0.1 --- recipes/cryptopp/all/conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 83270c254fc7c..2bc29cced3bfe 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -4,8 +4,8 @@ sources: url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_7_0.tar.gz" sha256: "8d6a4064b8e9f34cd3e838f5a12c40067ee7b95ee37d9173ec273cb0913e7ca2" cmake: - url: "https://github.com/abdes/cryptopp-cmake/archive/CRYPTOPP_8_7_0.tar.gz" - sha256: "c113aba8069842edb201b4aaa2925e2c9d6ca081c4fd6b049ff74fedf6e8bae3" + url: "https://github.com/abdes/cryptopp-cmake/archive/CRYPTOPP_8_7_0_1.tar.gz" + sha256: "49800456bec6432eff4a798d37f6c7760b887adc9f8928e66f44bcb8bf81f157" "8.6.0": source: url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_6_0.tar.gz" From b438423f9a356a02a8a1b43b03d79096bf8fb014 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 15 May 2023 13:41:36 +0200 Subject: [PATCH 0268/4087] (#17571) [openapi-generator] bump to 6.6.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 29ff657dad1a9..b429533e05e27 100644 --- a/recipes/openapi-generator/all/conandata.yml +++ b/recipes/openapi-generator/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "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" "6.5.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.5.0/openapi-generator-cli-6.5.0.jar" sha256: "f18d771e98f2c5bb169d1d1961de4f94866d2901abc1e16177dd7e9299834721" "6.4.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.4.0/openapi-generator-cli-6.4.0.jar" sha256: "35aead300e0c9469fbd9d30cf46f4153897dcb282912091ca4ec9212dce9d151" - "6.3.0": - url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.3.0/openapi-generator-cli-6.3.0.jar" - sha256: "d714d7beec500a4b024fea63e3e787c9bf1f01ce1870af539f7c488a307b3f5b" diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml index 46013b2ecd3e9..805a487d9c79b 100644 --- a/recipes/openapi-generator/config.yml +++ b/recipes/openapi-generator/config.yml @@ -1,7 +1,7 @@ versions: + "6.6.0": + folder: all "6.5.0": folder: all "6.4.0": folder: all - "6.3.0": - folder: all From e1335f2c9d90422265ed592eec9f0d1c3a15f47c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 May 2023 02:01:39 +0900 Subject: [PATCH 0269/4087] (#17576) benchmark: add version 1.8.0 --- recipes/benchmark/all/conandata.yml | 3 +++ recipes/benchmark/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/benchmark/all/conandata.yml b/recipes/benchmark/all/conandata.yml index 926ace1d06183..b417e78a3f997 100644 --- a/recipes/benchmark/all/conandata.yml +++ b/recipes/benchmark/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.0.tar.gz" + sha256: "ea2e94c24ddf6594d15c711c06ccd4486434d9cf3eca954e2af8a20c88f9f172" "1.7.1": url: "https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz" sha256: "6430e4092653380d9dc4ccb45a1e2dc9259d581f4866dc0759713126056bc1d7" diff --git a/recipes/benchmark/config.yml b/recipes/benchmark/config.yml index c3f78fe6dce87..c75e2eaab25cc 100644 --- a/recipes/benchmark/config.yml +++ b/recipes/benchmark/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.7.1": folder: all "1.7.0": From a1d08756e0b68f379f30f803a18cd33333ecba59 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 15 May 2023 20:23:14 +0200 Subject: [PATCH 0270/4087] (#17180) opensubdiv: conan v2 support * conan v2 support * fix CMakeLists of 3.4.4 * add patch description * no warnings as errors for msvc --- recipes/opensubdiv/all/CMakeLists.txt | 7 - recipes/opensubdiv/all/conandata.yml | 16 +- recipes/opensubdiv/all/conanfile.py | 185 ++++++++---------- .../3.4.4-0001-cmake-minimum-required.patch | 13 ++ .../patches/3.4.4-0002-cmake-no-rpath.patch | 15 ++ .../all/test_package/CMakeLists.txt | 18 +- .../opensubdiv/all/test_package/conanfile.py | 23 ++- .../{example.cpp => test_package.cpp} | 0 .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ recipes/opensubdiv/config.yml | 4 +- 11 files changed, 174 insertions(+), 132 deletions(-) delete mode 100644 recipes/opensubdiv/all/CMakeLists.txt create mode 100644 recipes/opensubdiv/all/patches/3.4.4-0001-cmake-minimum-required.patch create mode 100644 recipes/opensubdiv/all/patches/3.4.4-0002-cmake-no-rpath.patch rename recipes/opensubdiv/all/test_package/{example.cpp => test_package.cpp} (100%) create mode 100644 recipes/opensubdiv/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opensubdiv/all/test_v1_package/conanfile.py diff --git a/recipes/opensubdiv/all/CMakeLists.txt b/recipes/opensubdiv/all/CMakeLists.txt deleted file mode 100644 index b71c882d9d33f..0000000000000 --- a/recipes/opensubdiv/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/opensubdiv/all/conandata.yml b/recipes/opensubdiv/all/conandata.yml index d44ee432a8b6b..8e41ab1d1bb93 100644 --- a/recipes/opensubdiv/all/conandata.yml +++ b/recipes/opensubdiv/all/conandata.yml @@ -1,7 +1,19 @@ sources: + "3.5.0": + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_5_0.zip" + sha256: "1b2916d57173ac523acd334fb6e25623ddfed3c342f3c2aadfe4d1d0be6e7657" "3.4.4": url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_4_4.zip" sha256: "04b52a67e90a56b18d9ddd0384630f43b5263a8fdee1afae081e32d7b23cd5ec" +patches: "3.5.0": - url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_5_0.zip" - sha256: "1b2916d57173ac523acd334fb6e25623ddfed3c342f3c2aadfe4d1d0be6e7657" + - patch_file: "patches/3.4.4-0002-cmake-no-rpath.patch" + patch_description: "CMake: do not populate rpath with absolute paths" + patch_type: "conan" + "3.4.4": + - patch_file: "patches/3.4.4-0001-cmake-minimum-required.patch" + patch_description: "CMake: Fix position of cmake_minimum_required()" + patch_type: "conan" + - patch_file: "patches/3.4.4-0002-cmake-no-rpath.patch" + patch_description: "CMake: do not populate rpath with absolute paths" + patch_type: "conan" diff --git a/recipes/opensubdiv/all/conanfile.py b/recipes/opensubdiv/all/conanfile.py index a2f72bc024b2a..1522234dcfaac 100644 --- a/recipes/opensubdiv/all/conanfile.py +++ b/recipes/opensubdiv/all/conanfile.py @@ -1,14 +1,12 @@ -import functools -import os - from conan import ConanFile -from conan.tools.files import get, replace_in_file -from conan.tools.build import check_min_cppstd -import conan.tools.scm as tools_scm from conan.errors import ConanInvalidConfiguration -from conans import CMake, tools +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version +import os -required_conan_version = ">=1.48.0" +required_conan_version = ">=1.54.0" class OpenSubdivConan(ConanFile): @@ -18,10 +16,11 @@ class OpenSubdivConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "An Open-Source subdivision surface library" topics = ("cgi", "vfx", "animation", "subdivision surface") - - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], + "fPIC": [True, False], "with_tbb": [True, False], "with_opengl": [True, False], "with_omp": [True, False], @@ -33,6 +32,7 @@ class OpenSubdivConan(ConanFile): } default_options = { "shared": False, + "fPIC": True, "with_tbb": False, "with_opengl": False, "with_omp": False, @@ -44,69 +44,59 @@ class OpenSubdivConan(ConanFile): } short_paths = True - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): if self.options.get_safe("with_metal"): - return 14 - return 11 + return "14" + return "11" @property def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "gcc": "5", "clang": "11", "apple-clang": "11.0", } def export_sources(self): - self.copy("CMakeLists.txt") + export_conandata_patches(self) def config_options(self): - if self.settings.os != "Windows": + if self.settings.os == "Windows": + del self.options.fPIC + else: del self.options.with_dx if self.settings.os != "Macos": del self.options.with_metal def configure(self): - if self.settings.os == "Windows": - del self.options.shared + 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_tbb: - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.8.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): - 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( - f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support." + check_min_cppstd(self, self._min_cppstd) + min_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if min_version and Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - else: - if tools_scm.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration( - f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it." - ) + + if self.options.shared and self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} shared not supported on Windows") 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) @property def _osd_gpu_enabled(self): @@ -120,82 +110,71 @@ def _osd_gpu_enabled(self): ] ) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CMAKE_CXX_STANDARD"] = self._minimum_cpp_standard - cmake.definitions["NO_TBB"] = not self.options.with_tbb - cmake.definitions["NO_OPENGL"] = not self.options.with_opengl - cmake.definitions["BUILD_SHARED_LIBS"] = self.options.get_safe("shared") - cmake.definitions["NO_OMP"] = not self.options.with_omp - cmake.definitions["NO_CUDA"] = not self.options.with_cuda - cmake.definitions["NO_DX"] = not self.options.get_safe("with_dx") - cmake.definitions["NO_METAL"] = not self.options.get_safe("with_metal") - cmake.definitions["NO_CLEW"] = not self.options.with_clew - cmake.definitions["NO_OPENCL"] = not self.options.with_opencl - cmake.definitions[ - "NO_PTEX" - ] = True # Note: PTEX is for examples only, but we skip them.. - cmake.definitions["NO_DOC"] = True - cmake.definitions["NO_EXAMPLES"] = True - cmake.definitions["NO_TUTORIALS"] = True - cmake.definitions["NO_REGRESSION"] = True - cmake.definitions["NO_TESTS"] = True - cmake.definitions["NO_GLTESTS"] = True - - cmake.configure(build_folder=self._build_subfolder) - - return cmake + def generate(self): + tc = CMakeToolchain(self) + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + tc.variables["NO_TBB"] = not self.options.with_tbb + tc.variables["NO_OPENGL"] = not self.options.with_opengl + tc.variables["BUILD_SHARED_LIBS"] = self.options.get_safe("shared") + tc.variables["NO_OMP"] = not self.options.with_omp + tc.variables["NO_CUDA"] = not self.options.with_cuda + tc.variables["NO_DX"] = not self.options.get_safe("with_dx") + tc.variables["NO_METAL"] = not self.options.get_safe("with_metal") + tc.variables["NO_CLEW"] = not self.options.with_clew + tc.variables["NO_OPENCL"] = not self.options.with_opencl + tc.variables["NO_PTEX"] = True # Note: PTEX is for examples only, but we skip them.. + tc.variables["NO_DOC"] = True + tc.variables["NO_EXAMPLES"] = True + tc.variables["NO_TUTORIALS"] = True + tc.variables["NO_REGRESSION"] = True + tc.variables["NO_TESTS"] = True + tc.variables["NO_GLTESTS"] = True + tc.variables["NO_MACOS_FRAMEWORK"] = True + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + if self.settings.os == "Macos" and not self._osd_gpu_enabled: + path = os.path.join(self.source_folder, "opensubdiv", "CMakeLists.txt") + replace_in_file(self, path, "$", "") + # No warnings as errors + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "/WX", "") def build(self): - if self.settings.os == "Macos": - path = os.path.join(self._source_subfolder, "opensubdiv", "CMakeLists.txt") - replace_in_file( - self, - path, - "${CMAKE_SOURCE_DIR}/opensubdiv", - "${CMAKE_SOURCE_DIR}/source_subfolder/opensubdiv", - ) - if not self._osd_gpu_enabled: - replace_in_file(self, path, "$", "") - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - - for mask in [ - "Find*.cmake", - "*Config*.cmake", - "*-config.cmake", - "*Targets*.cmake", - ]: - tools.remove_files_by_mask(self.package_folder, mask) - - if self.options.get_safe("shared") == True: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.a") + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenSubdiv") + target_suffix = "" if self.options.shared else "_static" - self.cpp_info.names["cmake_find_package"] = "OpenSubdiv" - self.cpp_info.names["cmake_find_package_multi"] = "OpenSubdiv" - + self.cpp_info.components["osdcpu"].set_property("cmake_target_name", f"OpenSubdiv::osdcpu{target_suffix}") self.cpp_info.components["osdcpu"].libs = ["osdCPU"] - self.cpp_info.components["osdcpu"].set_property( - "cmake_target_name", "OpenSubdiv::osdcpu" - ) - if self.options.with_tbb: self.cpp_info.components["osdcpu"].requires = ["onetbb::onetbb"] if self._osd_gpu_enabled: + self.cpp_info.components["osdgpu"].set_property("cmake_target_name", f"OpenSubdiv::osdgpu{target_suffix}") self.cpp_info.components["osdgpu"].libs = ["osdGPU"] - self.cpp_info.components["osdgpu"].set_property( - "cmake_target_name", "OpenSubdiv::osdgpu" - ) dl_required = self.options.with_opengl or self.options.with_opencl if self.settings.os in ["Linux", "FreeBSD"] and dl_required: self.cpp_info.components["osdgpu"].system_libs = ["dl"] + + # TODO: to remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "OpenSubdiv" + self.cpp_info.names["cmake_find_package_multi"] = "OpenSubdiv" + self.cpp_info.components["osdcpu"].names["cmake_find_package"] = f"osdcpu{target_suffix}" + self.cpp_info.components["osdcpu"].names["cmake_find_package_multi"] = f"osdcpu{target_suffix}" + self.cpp_info.components["osdgpu"].names["cmake_find_package"] = f"osdgpu{target_suffix}" + self.cpp_info.components["osdgpu"].names["cmake_find_package_multi"] = f"osdgpu{target_suffix}" diff --git a/recipes/opensubdiv/all/patches/3.4.4-0001-cmake-minimum-required.patch b/recipes/opensubdiv/all/patches/3.4.4-0001-cmake-minimum-required.patch new file mode 100644 index 0000000000000..b5cdfb823f789 --- /dev/null +++ b/recipes/opensubdiv/all/patches/3.4.4-0001-cmake-minimum-required.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,9 +22,9 @@ + # language governing permissions and limitations under the Apache License. + # + ++cmake_minimum_required(VERSION 3.1) + project(OpenSubdiv) + +-cmake_minimum_required(VERSION 2.8.6) + + # Turn on folder support + set_property(GLOBAL PROPERTY USE_FOLDERS ON) diff --git a/recipes/opensubdiv/all/patches/3.4.4-0002-cmake-no-rpath.patch b/recipes/opensubdiv/all/patches/3.4.4-0002-cmake-no-rpath.patch new file mode 100644 index 0000000000000..28d5b935a34e9 --- /dev/null +++ b/recipes/opensubdiv/all/patches/3.4.4-0002-cmake-no-rpath.patch @@ -0,0 +1,15 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,12 +146,10 @@ if (NOT CMAKE_COMPILER_IS_ICC) + # sequences of ':' that this command causes. The consequence is that examples + # built and installed using icc will not have an rpath pointing to the built + # OSD library which they depend on and will have to set LD_LIBRARY_PATH instead. +- list(APPEND CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + endif() + + # add the automatically determined parts of the RPATH + # which point to directories outside the build tree to the install RPATH +-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + # ensure that ARC is shown as enabled in the Xcode UI + if(CMAKE_GENERATOR STREQUAL "Xcode") diff --git a/recipes/opensubdiv/all/test_package/CMakeLists.txt b/recipes/opensubdiv/all/test_package/CMakeLists.txt index 03f2ff1d46044..eae6cba922206 100644 --- a/recipes/opensubdiv/all/test_package/CMakeLists.txt +++ b/recipes/opensubdiv/all/test_package/CMakeLists.txt @@ -1,13 +1,11 @@ cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) +project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +find_package(OpenSubdiv REQUIRED CONFIG) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(OpenSubdiv REQUIRED) - -add_executable(example example.cpp) -target_link_libraries(example OpenSubdiv::OpenSubdiv) +add_executable(${PROJECT_NAME} test_package.cpp) +if(TARGET OpenSubdiv::osdcpu_static) + target_link_libraries(${PROJECT_NAME} PRIVATE OpenSubdiv::osdcpu_static) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE OpenSubdiv::osdcpu) +endif() diff --git a/recipes/opensubdiv/all/test_package/conanfile.py b/recipes/opensubdiv/all/test_package/conanfile.py index c08cb9fda4903..98ab55852ad56 100644 --- a/recipes/opensubdiv/all/test_package/conanfile.py +++ b/recipes/opensubdiv/all/test_package/conanfile.py @@ -1,12 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake -from conan.tools.build import cross_building +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" -class USDTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -14,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/opensubdiv/all/test_package/example.cpp b/recipes/opensubdiv/all/test_package/test_package.cpp similarity index 100% rename from recipes/opensubdiv/all/test_package/example.cpp rename to recipes/opensubdiv/all/test_package/test_package.cpp diff --git a/recipes/opensubdiv/all/test_v1_package/CMakeLists.txt b/recipes/opensubdiv/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/opensubdiv/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opensubdiv/all/test_v1_package/conanfile.py b/recipes/opensubdiv/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/opensubdiv/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/opensubdiv/config.yml b/recipes/opensubdiv/config.yml index 8c2082f7398cc..6ef9c2e0ceacc 100644 --- a/recipes/opensubdiv/config.yml +++ b/recipes/opensubdiv/config.yml @@ -1,5 +1,5 @@ versions: - "3.4.4": - folder: all "3.5.0": folder: all + "3.4.4": + folder: all From d3aadb4095a57281497cb3fe1763ce2e6ebde645 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 May 2023 09:41:41 +0200 Subject: [PATCH 0271/4087] (#17581) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index d87b85b740a79..07f9287b8fd1e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -465,6 +465,7 @@ required_for_references: - openjpeg - openmesh - openssl +- opensubdiv - optional-lite - opus - opusfile From c51f1f6fdaa104284048bea365d559c914180c42 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 May 2023 10:01:40 +0200 Subject: [PATCH 0272/4087] (#17572) [bot] Update authorized users list (2023-05-15) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index d77b09fbd91f5..3efcaeb15436a 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1151,3 +1151,5 @@ authorized_users: - JGatley - christapley - mpimenov +- ashvardanian +- 7bitcoder From 47e7d6b3d8101b9fc69e770382f315278cdf5a73 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 May 2023 17:42:13 +0900 Subject: [PATCH 0273/4087] (#17582) simdjson: add version 3.1.8 --- 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 10725abf7be6f..4be0fb0333ac6 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.8": + url: "https://github.com/simdjson/simdjson/archive/v3.1.8.tar.gz" + sha256: "99e7eeb0a0038e0213da68f099e6a8b67bcaeea1586385ec5f752bea85d902d8" "3.1.7": url: "https://github.com/simdjson/simdjson/archive/v3.1.7.tar.gz" sha256: "c65f5184fba321c7b9e97f6c881af9b607457bdd60fac0467010e099121540e2" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 88ca4d98f4ac9..6327300ad07ec 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.8": + folder: all "3.1.7": folder: all "3.1.5": From 8d87a8a5a0cfd793c791db28d00608cf39581ca5 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 May 2023 13:01:40 +0200 Subject: [PATCH 0274/4087] (#17585) [bot] Update authorized users list (2023-05-16) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 3efcaeb15436a..50bd402bbb45c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1153,3 +1153,4 @@ authorized_users: - mpimenov - ashvardanian - 7bitcoder +- samuaz From ee24d8b9286fe94c032bd0e3f1a14fa3f06cf1ff Mon Sep 17 00:00:00 2001 From: Jens Carl Date: Tue, 16 May 2023 04:23:08 -0700 Subject: [PATCH 0275/4087] (#17358) fmt: invalid libdirs and bindirs when packaging header-only version In the header-only version of the library the libdirs and bindirs obsolete and generate some compiler warnings. The fix is related to issue #17152. --- recipes/fmt/all/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/fmt/all/conanfile.py b/recipes/fmt/all/conanfile.py index d4667f8ad030c..862834c358047 100644 --- a/recipes/fmt/all/conanfile.py +++ b/recipes/fmt/all/conanfile.py @@ -118,6 +118,9 @@ def package_info(self): if self.options.header_only: self.cpp_info.components["_fmt"].defines.append("FMT_HEADER_ONLY=1") + + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] else: postfix = "d" if self.settings.build_type == "Debug" else "" libname = "fmt" + postfix From a45dbe358676f19746a345d2f79b623f7b8d2bff Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Tue, 16 May 2023 10:21:59 -0400 Subject: [PATCH 0276/4087] (#17564) [grpc-proto] prepare for google-cloud-cpp-v2.10.1 --- recipes/grpc-proto/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/grpc-proto/all/conanfile.py b/recipes/grpc-proto/all/conanfile.py index 1d872f78afd9c..5ab0a942ba98e 100644 --- a/recipes/grpc-proto/all/conanfile.py +++ b/recipes/grpc-proto/all/conanfile.py @@ -54,10 +54,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - # protobuf symbols are exposed from generated structures - # https://github.com/conan-io/conan-center-index/pull/16185#issuecomment-1501174215 + # protobuf symbols are exposed from generated structures + # https://github.com/conan-io/conan-center-index/pull/16185#issuecomment-1501174215 self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True, run=can_run(self)) - self.requires("googleapis/cci.20221108") + self.requires("googleapis/cci.20230501") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 610b7720c1c27ff0532ce9b0ef726d825f3537da Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 16 May 2023 10:23:11 -0500 Subject: [PATCH 0277/4087] (#17562) boost: Remove version 1.70.0 to reduce the size of the recipe folder This is necessary for adding Boost version 1.82.0 in PR #17471. --- recipes/boost/all/conandata.yml | 45 --- .../all/dependencies/dependencies-1.70.0.yml | 270 ------------------ .../0001-beast-fix-moved-from-executor.patch | 89 ------ .../1.70.0-boost_build-with-newer-b2.patch | 51 ---- .../patches/bcp_namespace_issues_1_70.patch | 33 --- recipes/boost/config.yml | 2 - 6 files changed, 490 deletions(-) delete mode 100644 recipes/boost/all/dependencies/dependencies-1.70.0.yml delete mode 100644 recipes/boost/all/patches/0001-beast-fix-moved-from-executor.patch delete mode 100644 recipes/boost/all/patches/1.70.0-boost_build-with-newer-b2.patch delete mode 100644 recipes/boost/all/patches/bcp_namespace_issues_1_70.patch diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index 66fc9b08da551..2be1304335523 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -52,11 +52,6 @@ sources: "1.71.0": url: "https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2" sha256: "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee" - "1.70.0": - url: - - "https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.bz2" - - "https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.bz2" - sha256: "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778" patches: "1.81.0": - patch_file: "patches/boost_1_77_mpi_check.patch" @@ -328,43 +323,3 @@ patches: - patch_file: "patches/1.75.0-boost_build-with-newer-b2.patch" patch_description: "Bump build_requires of 'b2' to '4.7.1' (was '4.5.0')" patch_type: "conan" - "1.70.0": - - patch_file: "patches/0001-beast-fix-moved-from-executor.patch" - patch_description: "" - patch_type: "conan" - - patch_file: "patches/bcp_namespace_issues_1_70.patch" - patch_description: "" - patch_type: "conan" - - patch_file: "patches/boost_build_qcc_fix_debug_build_parameter.patch" - patch_description: "" - patch_type: "conan" - - patch_file: "patches/boost_core_qnx_cxx_provide___cxa_get_globals.patch" - patch_description: "" - patch_type: "conan" - - patch_file: "patches/python_base_prefix.patch" - patch_description: "" - patch_type: "conan" - - patch_file: "patches/solaris_pthread_data.patch" - patch_description: "" - patch_type: "conan" - - patch_file: "patches/boost_locale_fail_on_missing_backend.patch" - patch_description: "Fails the build when there is no iconv backend" - patch_type: "conan" - - patch_file: "patches/boost_mpi_check.patch" - patch_description: "Fails the build when mpi is not configured" - patch_type: "conan" - - patch_file: "patches/1.69.0-contract-no-system.patch" - patch_description: "This library links to boost_system, even though that library is header-only" - patch_type: "conan" - - patch_file: "patches/1.69.0-locale-no-system.patch" - patch_description: "This library links to boost_system, even though that library is header-only" - patch_type: "conan" - - patch_file: "patches/1.69.0-random-no-system.patch" - patch_description: "This library links to boost_system, even though that library is header-only" - patch_type: "conan" - - patch_file: "patches/1.69.0-type_erasure-no-system.patch" - patch_description: "This library links to boost_system, even though that library is header-only" - patch_type: "conan" - - patch_file: "patches/1.70.0-boost_build-with-newer-b2.patch" - patch_description: "Bump build_requires of 'b2' to '4.7.1' (was '4.5.0')" - patch_type: "conan" diff --git a/recipes/boost/all/dependencies/dependencies-1.70.0.yml b/recipes/boost/all/dependencies/dependencies-1.70.0.yml deleted file mode 100644 index f09a3e59357cc..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.70.0.yml +++ /dev/null @@ -1,270 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- locale -- log -- math -- mpi -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: - - serialization - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - - test - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - 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 - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - math - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - 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 - 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 - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - 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.70.0 diff --git a/recipes/boost/all/patches/0001-beast-fix-moved-from-executor.patch b/recipes/boost/all/patches/0001-beast-fix-moved-from-executor.patch deleted file mode 100644 index 4ceb88f6e3d75..0000000000000 --- a/recipes/boost/all/patches/0001-beast-fix-moved-from-executor.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff -Naur a/boost/beast/websocket/impl/ping.hpp b/boost/beast/websocket/impl/ping.hpp ---- a/boost/beast/websocket/impl/ping.hpp 2019-05-06 22:01:43.435117251 -0400 -+++ b/boost/beast/websocket/impl/ping.hpp 2019-05-06 22:02:37.949433556 -0400 -@@ -176,7 +176,8 @@ - impl.op_idle_ping.emplace(std::move(*this)); - impl.wr_block.lock(this); - BOOST_ASIO_CORO_YIELD -- net::post(this->get(), std::move(*this)); -+ net::post( -+ this->get_executor(), std::move(*this)); - BOOST_ASSERT(impl.wr_block.is_locked(this)); - } - if(impl.check_stop_now(ec)) -diff -Naur a/libs/beast/CHANGELOG.md b/libs/beast/CHANGELOG.md ---- a/libs/beast/CHANGELOG.md 2019-05-06 22:02:54.332528615 -0400 -+++ b/libs/beast/CHANGELOG.md 2019-05-06 22:03:05.896595711 -0400 -@@ -1,3 +1,10 @@ -+Version 248-hf1: -+ -+* Add idle ping suspend test -+* Fix moved-from executor in idle ping timeout -+ -+-------------------------------------------------------------------------------- -+ - Version 248: - - * Don't use a moved-from handler -diff -Naur a/libs/beast/test/beast/websocket/ping.cpp b/libs/beast/test/beast/websocket/ping.cpp ---- a/libs/beast/test/beast/websocket/ping.cpp 2019-05-06 22:02:54.342528673 -0400 -+++ b/libs/beast/test/beast/websocket/ping.cpp 2019-05-06 22:03:05.908595781 -0400 -@@ -10,8 +10,11 @@ - // Test that header file is self-contained. - #include - -+#include -+ - #include "test.hpp" - -+#include - #include - #include - -@@ -366,6 +369,46 @@ - BEAST_EXPECT(count == 3); - }); - -+ // suspend idle ping -+ { -+ using socket_type = -+ net::basic_stream_socket< -+ net::ip::tcp, -+ net::executor>; -+ net::io_context ioc; -+ stream ws1(ioc); -+ stream ws2(ioc); -+ ws1.set_option(stream_base::timeout{ -+ stream_base::none(), -+ std::chrono::seconds(0), -+ true}); -+ test::connect( -+ ws1.next_layer(), -+ ws2.next_layer()); -+ ws1.async_handshake("localhost", "/", -+ [](error_code){}); -+ ws2.async_accept([](error_code){}); -+ ioc.run(); -+ ioc.restart(); -+ flat_buffer b1; -+ auto mb = b1.prepare(65536); -+ std::memset(mb.data(), 0, mb.size()); -+ b1.commit(65536); -+ ws1.async_write(b1.data(), -+ [&](error_code, std::size_t){}); -+ BEAST_EXPECT( -+ ws1.impl_->wr_block.is_locked()); -+ ws1.async_read_some(net::mutable_buffer{}, -+ [&](error_code, std::size_t){}); -+ ioc.run(); -+ ioc.restart(); -+ flat_buffer b2; -+ ws2.async_read(b2, -+ [&](error_code, std::size_t){}); -+ ioc.run(); -+ } -+ //); -+ - { - echo_server es{log, kind::async}; - net::io_context ioc; diff --git a/recipes/boost/all/patches/1.70.0-boost_build-with-newer-b2.patch b/recipes/boost/all/patches/1.70.0-boost_build-with-newer-b2.patch deleted file mode 100644 index 11edf1b516dfb..0000000000000 --- a/recipes/boost/all/patches/1.70.0-boost_build-with-newer-b2.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- tools/build/src/build/configure.jam.orig 2019-04-09 15:36:57.000000000 -0400 -+++ tools/build/src/build/configure.jam 2022-01-28 20:51:10.924240100 -0500 -@@ -452,7 +452,7 @@ - return [ find-builds-raw $(p) : $(ps) : $(what) : - $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) : - $(10) : $(11) : $(12) : $(13) : $(14) : $(15) : -- $(16) : $(17) : $(18) : $(19) ] ; -+ $(16) : $(17) : $(18) ] ; - } - - -@@ -510,7 +510,7 @@ - rule __init__ ( message : * ) - { - self.message = $(message) ; -- for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -+ for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 - { - local name = [ CALC $(i) - 1 ] ; - self.targets.$(name) = $($(i)[1]) ; -@@ -527,7 +527,7 @@ - } - rule all-properties ( ) - { -- local i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; -+ local i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ; - return $(self.props.$(i)) ; - } - rule check ( properties * ) -@@ -549,9 +549,7 @@ - : $(self.targets.14) $(self.what.14) - : $(self.targets.15) $(self.what.15) - : $(self.targets.16) $(self.what.16) -- : $(self.targets.17) $(self.what.17) -- : $(self.targets.18) $(self.what.18) -- : $(self.targets.19) $(self.what.19) ] ; -+ : $(self.targets.17) $(self.what.17) ] ; - if $(self.props.$(i)) - { - return [ property.evaluate-conditionals-in-context $(self.props.$(i)) : $(properties) ] ; ---- tools/build/src/util/indirect.jam.orig 2020-12-03 00:02:49.000000000 -0500 -+++ tools/build/src/util/indirect.jam 2022-01-28 20:32:41.249509200 -0500 -@@ -102,7 +102,7 @@ - { - return [ modules.call-in [ get-module $(r) ] : [ get-rule $(r) ] $(args) : - $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) : $(10) : $(11) : -- $(12) : $(13) : $(14) : $(15) : $(16) : $(17) : $(18) : $(19) ] ; -+ $(12) : $(13) : $(14) : $(15) : $(16) : $(17) : $(18) ] ; - } - - diff --git a/recipes/boost/all/patches/bcp_namespace_issues_1_70.patch b/recipes/boost/all/patches/bcp_namespace_issues_1_70.patch deleted file mode 100644 index 024a19f8a5ee2..0000000000000 --- a/recipes/boost/all/patches/bcp_namespace_issues_1_70.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d0586e88122f41cd5ac9666db70c37d6f0fc7480 Mon Sep 17 00:00:00 2001 -From: Peter Dimov -Date: Sun, 26 May 2019 18:49:12 +0300 -Subject: [PATCH] Fix `bcp --namespace` issues - ---- - Jamroot | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/Jamroot b/Jamroot -index e0d7c90f51d..4e913c2b3f3 100644 ---- a/Jamroot -+++ b/Jamroot -@@ -140,7 +140,8 @@ import "class" : new ; - import property-set ; - import threadapi-feature ; - import option ; --import tools/boost_install/boost-install ; -+# Backslash because of `bcp --namespace` -+import tools/boost\_install/boost-install ; - - path-constant BOOST_ROOT : . ; - constant BOOST_VERSION : 1.70.0 ; -@@ -311,8 +312,8 @@ rule boost-install ( libraries * ) - # stage and install targets via boost-install, above. - rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * ) - { -+ autolink = shared:BOOST_$(name:U)_DYN_LINK=1 ; - name = boost_$(name) ; -- autolink = shared:$(name:U)_DYN_LINK=1 ; - lib $(name) - : $(sources) - : $(requirements) $(autolink) diff --git a/recipes/boost/config.yml b/recipes/boost/config.yml index 76bc4f6280af1..2ce47c1e59d7e 100644 --- a/recipes/boost/config.yml +++ b/recipes/boost/config.yml @@ -21,5 +21,3 @@ versions: folder: all "1.71.0": folder: all - "1.70.0": - folder: all From bf4cb8149d5fb712d0498cc37082ac0185b538a7 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Tue, 16 May 2023 16:21:54 -0400 Subject: [PATCH 0278/4087] (#17588) [grpc] prepare for google-cloud-cpp-v2.10.1 --- 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 cf5aaa317ecb2..bdae7abad302a 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -97,7 +97,7 @@ def requirements(self): self.requires("re2/20230301") self.requires("zlib/1.2.13") self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True, run=can_run(self)) - self.requires("googleapis/cci.20221108") + self.requires("googleapis/cci.20230501") self.requires("grpc-proto/cci.20220627") def package_id(self): From d8085508d8ce28f16a0b7428522da60b862e8563 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Tue, 16 May 2023 23:01:38 +0200 Subject: [PATCH 0279/4087] (#17591) qwt/6.2.0: Update qt requirement Update to latest qt 5.x release to avoid an override --- 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 e2134db89385f..3c7b6925650a8 100644 --- a/recipes/qwt/all/conanfile.py +++ b/recipes/qwt/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.7") + self.requires("qt/5.15.9") def validate(self): if hasattr(self, "settings_build") and cross_building(self): From b7617041a378a5fa11a292e7d67ef55eeeb333e6 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 17 May 2023 07:04:50 +0900 Subject: [PATCH 0280/4087] (#17565) pcg-cpp: add versoin cci.20220409, add package_type --- recipes/pcg-cpp/all/conandata.yml | 3 +++ recipes/pcg-cpp/all/conanfile.py | 8 +++----- recipes/pcg-cpp/config.yml | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/recipes/pcg-cpp/all/conandata.yml b/recipes/pcg-cpp/all/conandata.yml index 19d6cd5450a07..372c7daee9c81 100644 --- a/recipes/pcg-cpp/all/conandata.yml +++ b/recipes/pcg-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20220409": + url: "https://github.com/imneme/pcg-cpp/archive/428802d1a5634f96bcd0705fab379ff0113bcf13.tar.gz" + sha256: "79f23706ed0cbc1bb57ea35d50d0abed66898b8f7b0bcf2aaecdfd234863b060" "cci.20210406": url: "https://github.com/imneme/pcg-cpp/archive/ffd522e7188bef30a00c74dc7eb9de5faff90092.tar.gz" sha256: "81e4ab1936971627e6cc49fba279d0891b657d4397fc7940f6e751a37e4fdc94" diff --git a/recipes/pcg-cpp/all/conanfile.py b/recipes/pcg-cpp/all/conanfile.py index ed57b37949e7a..d470b1eadd1c2 100644 --- a/recipes/pcg-cpp/all/conanfile.py +++ b/recipes/pcg-cpp/all/conanfile.py @@ -11,9 +11,10 @@ class PcgcppConan(ConanFile): name = "pcg-cpp" description = "C++ implementation of the PCG family of random number generators." license = ("MIT", "Apache-2.0") - topics = ("pcg-cpp", "pcg", "rng", "random") + topics = ("pcg-cpp", "pcg", "rng", "random", "header-only") homepage = "https://github.com/imneme/pcg-cpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def layout(self): basic_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/pcg-cpp/config.yml b/recipes/pcg-cpp/config.yml index 92120b7e9b6de..5055373e8abfa 100644 --- a/recipes/pcg-cpp/config.yml +++ b/recipes/pcg-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20220409": + folder: "all" "cci.20210406": folder: "all" From 5aab2bd31aa1efd3c9adef2f2adf0309576ca363 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 17 May 2023 15:23:52 +0900 Subject: [PATCH 0281/4087] (#17529) libnghttp2: add version 1.53.0, add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libnghttp2: add version 1.53.0, add package_type * fix version check * update openssl --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libnghttp2/all/conandata.yml | 3 +++ recipes/libnghttp2/all/conanfile.py | 30 +++++++++++++++++----------- recipes/libnghttp2/config.yml | 2 ++ 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 4d6d7d71575c2..9078b4202e02b 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.53.0": + url: "https://github.com/nghttp2/nghttp2/releases/download/v1.53.0/nghttp2-1.53.0.tar.xz" + sha256: "b867184254e5a29b0ba68413aa14f8b0ce1142a371761374598dec092dabb809" "1.51.0": url: "https://github.com/nghttp2/nghttp2/releases/download/v1.51.0/nghttp2-1.51.0.tar.xz" sha256: "66aa76d97c143f42295405a31413e5e7d157968dad9f957bb4b015b598882e6b" diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index 24b9362fec615..d6777fe1e084b 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -19,6 +19,7 @@ class Nghttp2Conan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://nghttp2.org" license = "MIT" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -52,28 +53,30 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") if not self.options.with_app: del self.options.with_jemalloc + if Version(self.version) >= "1.52.0": + del self.options.with_asio def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if self.options.with_app or self.options.with_asio: - self.requires("openssl/1.1.1s") + if self.options.with_app or self.options.get_safe("with_asio"): + self.requires("openssl/[>=1.1 <4]") if self.options.with_app: - self.requires("c-ares/1.18.1") + self.requires("c-ares/1.19.0") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.10.4") self.requires("zlib/1.2.13") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") if self.options.with_hpack: self.requires("jansson/2.14") - if self.options.with_asio: + if self.options.get_safe("with_asio"): self.requires("boost/1.81.0") def validate(self): - if self.options.with_asio and is_msvc(self): + if self.options.get_safe("with_asio") and is_msvc(self): raise ConanInvalidConfiguration("Build with asio and MSVC is not supported yet, see upstream bug #589") if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "6": raise ConanInvalidConfiguration(f"{self.ref} requires GCC >= 6.0") @@ -88,13 +91,16 @@ def generate(self): tc.variables["ENABLE_HPACK_TOOLS"] = self.options.with_hpack tc.variables["ENABLE_APP"] = self.options.with_app tc.variables["ENABLE_EXAMPLES"] = False - tc.variables["ENABLE_PYTHON_BINDINGS"] = False + if Version(self.version) < "1.52.0": + tc.variables["ENABLE_PYTHON_BINDINGS"] = False tc.variables["ENABLE_FAILMALLOC"] = False # disable unneeded auto-picked dependencies tc.variables["WITH_LIBXML2"] = False tc.variables["WITH_JEMALLOC"] = self.options.get_safe("with_jemalloc", False) - tc.variables["WITH_SPDYLAY"] = False - tc.variables["ENABLE_ASIO_LIB"] = self.options.with_asio + if Version(self.version) < "1.47.0": + tc.variables["WITH_SPDYLAY"] = False + if Version(self.version) < "1.52.0": + tc.variables["ENABLE_ASIO_LIB"] = self.options.with_asio if is_apple_os(self): # workaround for: install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable tc.cache_variables["CMAKE_MACOSX_BUNDLE"] = False @@ -122,7 +128,7 @@ def _patch_sources(self): "\n" "link_libraries(\n" " {} ${{CONAN_LIBS}}\n".format(target_libnghttp2)) - if not self.options.shared: + if not self.options.shared and Version(self.version) < "1.52.0": replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), "\n" " add_library(nghttp2_asio SHARED\n", @@ -155,7 +161,7 @@ def package_info(self): if is_msvc(self) and not self.options.shared: self.cpp_info.components["nghttp2"].defines.append("NGHTTP2_STATICLIB") - if self.options.with_asio: + if self.options.get_safe("with_asio"): self.cpp_info.components["nghttp2_asio"].set_property("pkg_config_name", "libnghttp2_asio") self.cpp_info.components["nghttp2_asio"].libs = ["nghttp2_asio"] self.cpp_info.components["nghttp2_asio"].requires = [ @@ -177,4 +183,4 @@ def package_info(self): self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) # trick for internal conan usage to pick up in downsteam pc files the pc file including all libs components - self.cpp_info.set_property("pkg_config_name", "libnghttp2_asio" if self.options.with_asio else "libnghttp2") + self.cpp_info.set_property("pkg_config_name", "libnghttp2_asio" if self.options.get_safe("with_asio") else "libnghttp2") diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 486aa86ed0090..35bd03552b39b 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.53.0": + folder: all "1.51.0": folder: all "1.50.0": From db1f14129fb8ede57c8a3dbba60d7f4d0d1442cb Mon Sep 17 00:00:00 2001 From: Marco Zille Date: Wed, 17 May 2023 12:04:22 +0200 Subject: [PATCH 0282/4087] (#17525) Enabled source copy on PhysX library to fix local patch application MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Enabled source copy on PhysX library to fix local patch application * Fixed linter warnings --------- Co-authored-by: Rubén Rincón Blanco --- recipes/physx/4.x.x/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/physx/4.x.x/conanfile.py b/recipes/physx/4.x.x/conanfile.py index 809257b1a0342..502ac7ccfc798 100644 --- a/recipes/physx/4.x.x/conanfile.py +++ b/recipes/physx/4.x.x/conanfile.py @@ -1,9 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout -from conan.tools.files import load, get, apply_conandata_patches, export_conandata_patches, rm, rmdir, copy, replace_in_file, save +from conan.tools.files import load, get, apply_conandata_patches, export_conandata_patches, rmdir, copy, replace_in_file, save from conan.tools.build import valid_min_cppstd -from conan.tools.scm import Version from conan.tools.microsoft import msvc_runtime_flag, is_msvc import os @@ -35,7 +34,6 @@ class PhysXConan(ConanFile): "enable_float_point_precise_math": False, } - no_copy_source = True short_paths = True generators = "CMakeDeps" From fcfba5070bbeff33345e9f437f1730e0b521eb5c Mon Sep 17 00:00:00 2001 From: Kevin Puetz Date: Wed, 17 May 2023 10:45:04 -0500 Subject: [PATCH 0283/4087] (#16782) apr: allow recipes which support cross_building to consume exising apr binaries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * apr: Remove settings_build workaround for tools.cross_building As discussed in https://github.com/conan-io/conan-center-index/pull/6622#discussion_r685814490 conan 1.38.0 and up have the new conan.tools.build.cross_building which compares build vs host settings, without the fallback on os_build/arch_build that the old tools.cross_compiling has. The recipe was converted in #14797 to use conan.tools.build.cross_building and required_conan_version = ">=1.53.0", making the workaround is obsolete. * apr: Loosen the cross-building restriction From all the discussion I found in #6622, the issue which motivated a "doesn't support cross-build yet" is the use of is AC_TRY_RUN checks in ./configure. That's not an issue when consuming existing binaries, so this check belongs in validate_build (since conan 1.51.0). It also doesn't apply to MSVC which uses CMake rather than autoconf; There's no use of try_compile or try_run in the CMake project. --------- Co-authored-by: Rubén Rincón Blanco --- recipes/apr/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/apr/all/conanfile.py b/recipes/apr/all/conanfile.py index 9ca885e105eb6..932bac9dcf2ea 100644 --- a/recipes/apr/all/conanfile.py +++ b/recipes/apr/all/conanfile.py @@ -67,9 +67,9 @@ def layout(self): else: basic_layout(self, src_folder="src") - def validate(self): - if hasattr(self, "settings_build") and cross_building(self): - raise ConanInvalidConfiguration("apr recipe doesn't support cross-build yet due to runtime checks") + def validate_build(self): + if cross_building(self) and not is_msvc(self): + raise ConanInvalidConfiguration("apr recipe doesn't support cross-build yet due to runtime checks in autoconf") def build_requirements(self): if not is_msvc(self): From a63314cea056cb233b5a774498570de9d62af166 Mon Sep 17 00:00:00 2001 From: Stephen Webb Date: Thu, 18 May 2023 03:42:38 +1000 Subject: [PATCH 0284/4087] (#17323) [APR] Upgrade to 1.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add version 1.7.4 * Replace deprecated sys_siglist[] with strsignal() * Add 1.7.4 to built version list --------- Co-authored-by: Stephen Webb Co-authored-by: Rubén Rincón Blanco --- recipes/apr/all/conandata.yml | 14 ++++++++ .../0401-cmake-build-only-shared-static.patch | 33 +++++++++++++++++++ recipes/apr/config.yml | 2 ++ 3 files changed, 49 insertions(+) create mode 100644 recipes/apr/all/patches/0401-cmake-build-only-shared-static.patch diff --git a/recipes/apr/all/conandata.yml b/recipes/apr/all/conandata.yml index 99413b626b3c6..0e388265ecf5f 100644 --- a/recipes/apr/all/conandata.yml +++ b/recipes/apr/all/conandata.yml @@ -1,13 +1,27 @@ sources: + "1.7.4": + url: "https://archive.apache.org/dist/apr/apr-1.7.4.tar.bz2" + sha256: "fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577" "1.7.0": url: "https://archive.apache.org/dist/apr/apr-1.7.0.tar.bz2" sha256: "e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea" patches: + "1.7.4": + - patch_file: "patches/0401-cmake-build-only-shared-static.patch" + patch_type: "conan" + patch_description: "Use BUILD_SHARED_LIBS to conditionally build static/dynamic libs" + - patch_file: "patches/0006-sys_siglist-fix.patch" + patch_type: "bugfix" + patch_description: "Replace deprecated sys_siglist[] with strsignal()" "1.7.0": - patch_file: "patches/0001-cmake-build-only-shared-static.patch" + patch_type: "conan" + patch_description: "Use BUILD_SHARED_LIBS to conditionally build static/dynamic libs" - patch_file: "patches/0002-apr-config-prefix-env.patch" - patch_file: "patches/0003-cmake-gen_test_char-use-target.patch" - patch_file: "patches/0004-autotools-mingw.patch" - patch_file: "patches/0005-clang12-apple.patch" - patch_file: "patches/0006-sys_siglist-fix.patch" + patch_type: "bugfix" + patch_description: "Replace deprecated sys_siglist[] with strsignal()" - patch_file: "patches/0007-cmake-minimum-required.patch" diff --git a/recipes/apr/all/patches/0401-cmake-build-only-shared-static.patch b/recipes/apr/all/patches/0401-cmake-build-only-shared-static.patch new file mode 100644 index 0000000000000..ea5a43d70f982 --- /dev/null +++ b/recipes/apr/all/patches/0401-cmake-build-only-shared-static.patch @@ -0,0 +1,33 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,26 +261,25 @@ SET(install_targets) + SET(install_bin_pdb) + + # libapr-1 is shared, apr-1 is static ++IF(BUILD_SHARED_LIBS) + ADD_LIBRARY(libapr-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libapr.rc) + SET(install_targets ${install_targets} libapr-1) + SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libapr-1.pdb) + TARGET_LINK_LIBRARIES(libapr-1 ${APR_SYSTEM_LIBS}) + SET_TARGET_PROPERTIES(libapr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_EXPORT;WINNT") + ADD_DEPENDENCIES(libapr-1 test_char_header) +- ++ELSE() + ADD_LIBRARY(apr-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) + SET(install_targets ${install_targets} apr-1) + TARGET_LINK_LIBRARIES(apr-1 ${APR_SYSTEM_LIBS}) + SET_TARGET_PROPERTIES(apr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;WINNT") + ADD_DEPENDENCIES(apr-1 test_char_header) +- ++ENDIF() + # libaprapp-1 and aprapp-1 are static + ADD_LIBRARY(libaprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) +-SET(install_targets ${install_targets} libaprapp-1) + SET_TARGET_PROPERTIES(libaprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_APP;WINNT") + + ADD_LIBRARY(aprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) +-SET(install_targets ${install_targets} aprapp-1) + SET_TARGET_PROPERTIES(aprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;APR_APP;WINNT") + + IF(APR_BUILD_TESTAPR) + diff --git a/recipes/apr/config.yml b/recipes/apr/config.yml index 0f57b11de8fb0..87d6549199fa1 100644 --- a/recipes/apr/config.yml +++ b/recipes/apr/config.yml @@ -1,3 +1,5 @@ versions: + "1.7.4": + folder: all "1.7.0": folder: all From 33a6b410f4c83cc2c89e8775a4f5c054e7abf0f1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 18 May 2023 12:03:15 +0200 Subject: [PATCH 0285/4087] (#17608) [bot] Update list of references (prod-v2/ListPackages) --- .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 07f9287b8fd1e..59f6830baccbf 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -353,6 +353,7 @@ required_for_references: - libmp3lame - libmysqlclient - libnabo +- libnghttp2 - libnop - libnova - libnuma @@ -475,6 +476,7 @@ required_for_references: - paho-mqtt-cpp - patchelf - pcapplusplus +- pcg-cpp - pcre - pcre2 - pdfgen From 5bbd3ca3cd658b456116d5ffaa5d5cfbfa669094 Mon Sep 17 00:00:00 2001 From: Binrui Dong Date: Thu, 18 May 2023 22:01:39 +0800 Subject: [PATCH 0286/4087] (#17613) ghc-filesystem: add version 1.5.14 --- recipes/ghc-filesystem/all/conandata.yml | 3 +++ recipes/ghc-filesystem/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ghc-filesystem/all/conandata.yml b/recipes/ghc-filesystem/all/conandata.yml index 934a94aaf88eb..3090b1b69e602 100644 --- a/recipes/ghc-filesystem/all/conandata.yml +++ b/recipes/ghc-filesystem/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.14": + url: "https://github.com/gulrak/filesystem/archive/v1.5.14.tar.gz" + sha256: "e783f672e49de7c5a237a0cea905ed51012da55c04fbacab397161976efc8472" "1.5.12": url: "https://github.com/gulrak/filesystem/archive/v1.5.12.tar.gz" sha256: "7d62c5746c724d28da216d9e11827ba4e573df15ef40720292827a4dfd33f2e9" diff --git a/recipes/ghc-filesystem/config.yml b/recipes/ghc-filesystem/config.yml index a66760cf157ac..bff6eeb8992dd 100644 --- a/recipes/ghc-filesystem/config.yml +++ b/recipes/ghc-filesystem/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.14": + folder: "all" "1.5.12": folder: "all" "1.5.8": From 8e76f850c39f6f46e7cd0880f557f5b6d6d951ff Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 18 May 2023 16:42:38 +0200 Subject: [PATCH 0287/4087] (#17612) [bot] Update authorized users list (2023-05-18) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 50bd402bbb45c..f3067c8a9334c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1154,3 +1154,6 @@ authorized_users: - ashvardanian - 7bitcoder - samuaz +- zajo +- bruchar1 +- pskoko From f189b2b2c91b8a9d917368d3f19f60b85111a061 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 19 May 2023 00:02:48 +0900 Subject: [PATCH 0288/4087] (#17586) libxml2: add version 2.11.3, add package_type, update dependencies * libxml2: add version 2.11.3, add package_type, update dependencies * remove duplicate package_type * remove run-debug in 2.11.3 * remove run-debug from 2.11.0 --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/all/conanfile.py | 7 ++++--- recipes/libxml2/config.yml | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 9a478e4940277..e548a32e4b405 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.3": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.3.tar.xz" + sha256: "f1acae1664bda006cd81bfc238238217043d586d06659d5c0e3d1bcebe040870" "2.10.4": url: "https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.4.tar.xz" sha256: "ed0c91c5845008f1936739e4eee2035531c1c94742c6541f44ee66d885948d45" diff --git a/recipes/libxml2/all/conanfile.py b/recipes/libxml2/all/conanfile.py index 04bda9f32e243..becdc73f93c9c 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -23,7 +23,6 @@ class Libxml2Conan(ConanFile): topics = "xml", "parser", "validation" homepage = "https://gitlab.gnome.org/GNOME/libxml2/-/wikis/" license = "MIT" - settings = "os", "arch", "compiler", "build_type" # from ./configure and ./win32/configure.js default_options = { @@ -82,6 +81,8 @@ def config_options(self): del self.options.fPIC if Version(self.version) >= "2.10.3": del self.options.docbook + if Version(self.version) >= "2.11.0": + self.options.rm_safe("run-debug") def configure(self): if self.options.shared: @@ -96,11 +97,11 @@ def requirements(self): if self.options.zlib: self.requires("zlib/1.2.13") if self.options.lzma: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.iconv: self.requires("libiconv/1.17", transitive_headers=True, transitive_libs=True) if self.options.icu: - self.requires("icu/72.1") + self.requires("icu/73.1") def build_requirements(self): if not (is_msvc(self) or self._is_mingw_windows): diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 62805541d55d5..fb628837cedd1 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.3": + folder: all "2.10.4": folder: all "2.10.3": From b3d1eb1a9cbc94ee4a51f9c9b119535505e165e3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 18 May 2023 18:03:50 +0200 Subject: [PATCH 0289/4087] (#17275) spirv-tools: use version range for cmake --- recipes/spirv-tools/all/conanfile.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/recipes/spirv-tools/all/conanfile.py b/recipes/spirv-tools/all/conanfile.py index e904e089fbe0e..efb00f02f9f61 100644 --- a/recipes/spirv-tools/all/conanfile.py +++ b/recipes/spirv-tools/all/conanfile.py @@ -74,21 +74,9 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): if Version(self.version) >= "1.3.239": - if not self._cmake_new_enough("3.17.2"): - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/[>=3.17.2 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 37d8f78e21271bef65c650c4550078f5086362dd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 18 May 2023 19:03:29 +0200 Subject: [PATCH 0290/4087] (#17151) libmikmod: conan v2 support * conan v2 support * relocatable shared lib on macOS * fix position of cmake_minimum_required() * fix patch name * remove bin folder when appropriate --- recipes/libmikmod/all/CMakeLists.txt | 7 -- recipes/libmikmod/all/conandata.yml | 5 +- recipes/libmikmod/all/conanfile.py | 107 +++++++++--------- ...keLists.txt.patch => 0001-fix-cmake.patch} | 23 ++-- .../libmikmod/all/test_package/CMakeLists.txt | 8 +- .../libmikmod/all/test_package/conanfile.py | 21 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 8 files changed, 116 insertions(+), 80 deletions(-) delete mode 100644 recipes/libmikmod/all/CMakeLists.txt rename recipes/libmikmod/all/patches/{0001-CMakeLists.txt.patch => 0001-fix-cmake.patch} (70%) create mode 100644 recipes/libmikmod/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libmikmod/all/test_v1_package/conanfile.py diff --git a/recipes/libmikmod/all/CMakeLists.txt b/recipes/libmikmod/all/CMakeLists.txt deleted file mode 100644 index 8bdaa1e47bfa0..0000000000000 --- a/recipes/libmikmod/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/libmikmod/all/conandata.yml b/recipes/libmikmod/all/conandata.yml index 8104d18a62f26..9580f44fe8c20 100644 --- a/recipes/libmikmod/all/conandata.yml +++ b/recipes/libmikmod/all/conandata.yml @@ -4,5 +4,6 @@ sources: sha256: "ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19" patches: "3.3.11.1": - - base_path: "source_subfolder" - patch_file: "patches/0001-CMakeLists.txt.patch" + - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "Fix cmake_minimum_required() position and dll installation, and build either static or shared" + patch_type: "conan" diff --git a/recipes/libmikmod/all/conanfile.py b/recipes/libmikmod/all/conanfile.py index 1d04522f0806a..d4af224f4ca59 100644 --- a/recipes/libmikmod/all/conanfile.py +++ b/recipes/libmikmod/all/conanfile.py @@ -1,17 +1,20 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir import os +required_conan_version = ">=1.53.0" + class LibmikmodConan(ConanFile): name = "libmikmod" description = "Module player and library supporting many formats, including mod, s3m, it, and xm." - topics = ("libmikmod", "audio") + topics = ("audio",) url = "https://github.com/conan-io/conan-center-index" homepage = "http://mikmod.sourceforge.net" license = "LGPL-2.1-or-later" - exports_sources = ["patches/*", "CMakeLists.txt"] - generators = "cmake" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,7 +24,7 @@ class LibmikmodConan(ConanFile): "with_alsa": [True, False], "with_oss": [True, False], "with_pulse": [True, False], - "with_coreaudio": [True, False] + "with_coreaudio": [True, False], } default_options = { "shared": False, @@ -31,13 +34,11 @@ class LibmikmodConan(ConanFile): "with_alsa": True, "with_oss": True, "with_pulse": True, - "with_coreaudio": True + "with_coreaudio": True, } - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" - - _cmake = None + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -52,14 +53,17 @@ def config_options(self): del self.options.with_oss del self.options.with_pulse # Apple - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): del self.options.with_coreaudio 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.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.settings.os == "Linux": @@ -69,59 +73,58 @@ def requirements(self): self.requires("pulseaudio/14.2") 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_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self, set_cmake_flags=True) - self._cmake.definitions["ENABLE_STATIC"] = not self.options.shared - self._cmake.definitions["ENABLE_DOC"] = False - self._cmake.definitions["ENABLE_DSOUND"] = self.options.get_safe("with_dsound", False) - self._cmake.definitions["ENABLE_MMSOUND"] = self.options.get_safe("with_mmsound", False) - self._cmake.definitions["ENABLE_ALSA"] = self.options.get_safe("with_alsa", False) - self._cmake.definitions["ENABLE_OSS"] = self.options.get_safe("with_oss", False) - self._cmake.definitions["ENABLE_PULSE"] = self.options.get_safe("with_pulse", False) - self._cmake.definitions["ENABLE_COREAUDIO"] = self.options.get_safe("with_coreaudio", False) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "CMAKE_SOURCE_DIR", - "PROJECT_SOURCE_DIR") + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_STATIC"] = not self.options.shared + tc.variables["ENABLE_DOC"] = False + tc.variables["ENABLE_DSOUND"] = self.options.get_safe("with_dsound", False) + tc.variables["ENABLE_MMSOUND"] = self.options.get_safe("with_mmsound", False) + tc.variables["ENABLE_ALSA"] = self.options.get_safe("with_alsa", False) + tc.variables["ENABLE_OSS"] = self.options.get_safe("with_oss", False) + tc.variables["ENABLE_PULSE"] = self.options.get_safe("with_pulse", False) + tc.variables["ENABLE_COREAUDIO"] = self.options.get_safe("with_coreaudio", False) + # Relocatable shared libs on macOS + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) # Ensure missing dependencies yields errors - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "MESSAGE(WARNING", "MESSAGE(FATAL_ERROR") - tools.replace_in_file(os.path.join(self._source_subfolder, "drivers", "drv_alsa.c"), + replace_in_file(self, os.path.join(self.source_folder, "drivers", "drv_alsa.c"), "alsa_pcm_close(pcm_h);", "if (pcm_h) alsa_pcm_close(pcm_h);") - cmake = self._configure_cmake() + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="COPYING.LESSER", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "COPYING.LESSER", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - os.remove(os.path.join(self.package_folder, "bin", "libmikmod-config")) - if not self.options.shared: - tools.rmdir(os.path.join(self.package_folder, "bin")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + if self.settings.os == "Windows" and self.options.shared: + os.remove(os.path.join(self.package_folder, "bin", "libmikmod-config")) + else: + rmdir(self, os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.set_property("pkg_config_name", "libmikmod") + self.cpp_info.libs = collect_libs(self) if not self.options.shared: self.cpp_info.defines = ["MIKMOD_STATIC"] - self.cpp_info.filenames["pkg_config"] = "libmikmod" if self.options.get_safe("with_dsound"): self.cpp_info.system_libs.append("dsound") diff --git a/recipes/libmikmod/all/patches/0001-CMakeLists.txt.patch b/recipes/libmikmod/all/patches/0001-fix-cmake.patch similarity index 70% rename from recipes/libmikmod/all/patches/0001-CMakeLists.txt.patch rename to recipes/libmikmod/all/patches/0001-fix-cmake.patch index a6c87e4f1e4da..8ccb9c4721dde 100644 --- a/recipes/libmikmod/all/patches/0001-CMakeLists.txt.patch +++ b/recipes/libmikmod/all/patches/0001-fix-cmake.patch @@ -1,8 +1,16 @@ -avoid building shared lib when shared=False, -and a fix to install .dlls correctly on Windows ---- "CMakeLists.txt" 2017-04-07 16:55:00.000000000 +0200 -+++ CMakeLists.txt 2017-07-21 20:01:33.330845600 +0200 -@@ -389,12 +391,6 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,8 +23,8 @@ + # + # (This copyright notice applies only to this file) + +-PROJECT(libmikmod C) + CMAKE_MINIMUM_REQUIRED(VERSION 2.8) ++PROJECT(libmikmod C) + LIST(APPEND CMAKE_MODULE_PATH "${libmikmod_SOURCE_DIR}/cmake") + + SET(LIBMIKMOD_MAJOR_VERSION 3) +@@ -389,12 +389,6 @@ REPLACE_FUNCTIONS_FROMDIR(MIKMOD_LIB_MODULES SET (LIBMIKMOD_LIBS) @@ -15,7 +23,7 @@ and a fix to install .dlls correctly on Windows IF (ENABLE_STATIC) ADD_LIBRARY (mikmod-static STATIC -@@ -410,16 +406,22 @@ +@@ -410,16 +404,21 @@ IF (ENABLE_STATIC) ${LIBMIKMOD_LIBS} PROPERTIES CLEAN_DIRECT_OUTPUT 1 ) @@ -42,11 +50,10 @@ and a fix to install .dlls correctly on Windows + ) + ENDIF(WIN32) +ENDIF (ENABLE_STATIC) -+ IF(DISABLE_HQMIXER) SET(NO_HQMIXER 1) -@@ -854,6 +856,7 @@ +@@ -854,6 +853,7 @@ INSTALL( TARGETS ${LIBMIKMOD_LIBS} LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}" diff --git a/recipes/libmikmod/all/test_package/CMakeLists.txt b/recipes/libmikmod/all/test_package/CMakeLists.txt index afa2476357074..9da3bc41b4793 100644 --- a/recipes/libmikmod/all/test_package/CMakeLists.txt +++ b/recipes/libmikmod/all/test_package/CMakeLists.txt @@ -1,9 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libmikmod REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libmikmod::libmikmod) diff --git a/recipes/libmikmod/all/test_package/conanfile.py b/recipes/libmikmod/all/test_package/conanfile.py index bd7165a553cf4..98ab55852ad56 100644 --- a/recipes/libmikmod/all/test_package/conanfile.py +++ b/recipes/libmikmod/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if 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/libmikmod/all/test_v1_package/CMakeLists.txt b/recipes/libmikmod/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libmikmod/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmikmod/all/test_v1_package/conanfile.py b/recipes/libmikmod/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libmikmod/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 7e540872c21f64227479eb9c2ddd3de040da26b1 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 19 May 2023 04:41:44 +0900 Subject: [PATCH 0291/4087] (#17616) ada: add version 2.4.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 58c7e0e41688d..d0bbb11a602e2 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.1": + url: "https://github.com/ada-url/ada/archive/refs/tags/v2.4.1.tar.gz" + sha256: "e9359937e7aeb8e5889515c0a9e22cd5da50e9b053038eb092135a0e64888fe7" "2.4.0": url: "https://github.com/ada-url/ada/archive/refs/tags/v2.4.0.tar.gz" sha256: "14624f1dfd966fee85272688064714172ff70e6e304a1e1850f352a07e4c6dc7" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index fb1219967c27e..9428da9743763 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.1": + folder: all "2.4.0": folder: all "2.3.1": From 08c3824650499473d897476f8d6b6094f19e15c7 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 19 May 2023 08:41:58 +0100 Subject: [PATCH 0292/4087] (#17620) ninja: use static runtime on Linux * ninja: use static runtime on Linux * ninja: add comment --- recipes/ninja/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/ninja/all/conanfile.py b/recipes/ninja/all/conanfile.py index 0384c14b307b8..6fede8df5ba1b 100644 --- a/recipes/ninja/all/conanfile.py +++ b/recipes/ninja/all/conanfile.py @@ -29,6 +29,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False + if self.settings.os == "Linux" and "libstdc++" in self.settings.compiler.libcxx: + # Link C++ library statically on Linux so that it can run on systems + # with an older C++ runtime + tc.cache_variables["CMAKE_EXE_LINKER_FLAGS"] = "-static-libstdc++ -static-libgcc" tc.generate() def build(self): From f0e4a24c0d8248c80b86d0b9364ac4ff9a68412d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 19 May 2023 10:41:31 +0200 Subject: [PATCH 0293/4087] (#17626) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 59f6830baccbf..e04ff807a175f 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -346,6 +346,7 @@ required_for_references: - liblsl - libltc - liblzf +- libmikmod - libmodbus - libmodplug - libmorton From 677f654558c98a746ac69c0c06c83fb4b7be67e1 Mon Sep 17 00:00:00 2001 From: Alex Lupu <97593287+mralexlupu@users.noreply.github.com> Date: Fri, 19 May 2023 12:02:01 +0300 Subject: [PATCH 0294/4087] (#17614) gtest: posibility to disable pthread from options * Add posibility to disable pthreads * Update recipes/gtest/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/gtest/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/gtest/all/conanfile.py b/recipes/gtest/all/conanfile.py index 198ee6fa77ef1..556a1401b077b 100644 --- a/recipes/gtest/all/conanfile.py +++ b/recipes/gtest/all/conanfile.py @@ -26,6 +26,7 @@ class GTestConan(ConanFile): "no_main": [True, False], "hide_symbols": [True, False], "debug_postfix": ["ANY"], + "disable_pthreads": [True, False], } default_options = { "shared": False, @@ -34,6 +35,7 @@ class GTestConan(ConanFile): "no_main": False, "hide_symbols": False, "debug_postfix": "d", + "disable_pthreads": False, } @property @@ -113,8 +115,7 @@ def generate(self): if self.settings.compiler.get_safe("runtime"): tc.variables["gtest_force_shared_crt"] = "MD" in msvc_runtime_flag(self) - if self.settings.os == "Windows" and self.settings.compiler == "gcc": - tc.variables["gtest_disable_pthreads"] = True + tc.variables["gtest_disable_pthreads"] = self.options.disable_pthreads if Version(self.version) < "1.12.0": # Relocatable shared lib on Macos tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" From 1f5c1f8e302c30246bc585f5fe382149fbbc57ef Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 19 May 2023 11:44:20 +0200 Subject: [PATCH 0295/4087] (#17513) poco: use version range openssl + bump dependencies * bump sqlite3 & libpq * use version range for openssl * poco < 1.11.0 requires openssl 1.x * drop maintenance of poco < 1.11.0 --- recipes/poco/all/conandata.yml | 26 ------ recipes/poco/all/conanfile.py | 20 +---- .../1.10.0-set-missing-cmake-variable.patch | 11 --- recipes/poco/all/patches/1.10.0.patch | 51 ------------ recipes/poco/all/patches/1.10.1.patch | 51 ------------ recipes/poco/all/patches/1.8.1.patch | 81 ------------------- recipes/poco/all/patches/1.9.2.patch | 81 ------------------- recipes/poco/config.yml | 10 --- 8 files changed, 4 insertions(+), 327 deletions(-) delete mode 100644 recipes/poco/all/patches/1.10.0-set-missing-cmake-variable.patch delete mode 100644 recipes/poco/all/patches/1.10.0.patch delete mode 100644 recipes/poco/all/patches/1.10.1.patch delete mode 100644 recipes/poco/all/patches/1.8.1.patch delete mode 100644 recipes/poco/all/patches/1.9.2.patch diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index c1b33d73bc83f..c1f5e069c2cc2 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -26,21 +26,6 @@ sources: "1.11.0": url: "https://github.com/pocoproject/poco/archive/poco-1.11.0-release.tar.gz" sha256: "8a7bfd0883ee95e223058edce8364c7d61026ac1882e29643822ce9b753f3602" - "1.10.1": - url: "https://github.com/pocoproject/poco/archive/poco-1.10.1-release.tar.gz" - sha256: "44592a488d2830c0b4f3bfe4ae41f0c46abbfad49828d938714444e858a00818" - "1.10.0": - url: "https://github.com/pocoproject/poco/archive/poco-1.10.0-release.tar.gz" - sha256: "8047800d5a965d3177e614b4a4a162381e2638220b24d1d15ff5d6cac1738be8" - "1.9.4": - url: "https://github.com/pocoproject/poco/archive/poco-1.9.4-release.tar.gz" - sha256: "367014cdbcfe9df8f1d746239902149d2398af9b49ba2c1aaaa88616fd538f61" - "1.9.3": - url: "https://github.com/pocoproject/poco/archive/poco-1.9.3-release.tar.gz" - sha256: "73b9dfd1f57106eefb9b451d223579281acfb50b031424e9d0c6486ebb824d01" - "1.8.1": - url: "https://github.com/pocoproject/poco/archive/poco-1.8.1-release.tar.gz" - sha256: "43cc469c01d1f799efc51e2bfde6ffdf467b98a8a0901e6b33db86958619b3af" patches: "1.12.4": - patch_file: patches/1.12.4.patch @@ -69,14 +54,3 @@ patches: "1.11.0": - patch_file: patches/1.11.0.patch - patch_file: patches/0002-mysql-include.patch - "1.10.1": - - patch_file: patches/1.10.1.patch - "1.10.0": - - patch_file: patches/1.10.0.patch - - patch_file: patches/1.10.0-set-missing-cmake-variable.patch - "1.9.4": - - patch_file: patches/1.9.2.patch - "1.9.3": - - patch_file: patches/1.9.2.patch - "1.8.1": - - patch_file: patches/1.8.1.patch diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index 4c42e9050c2aa..330da5a01ce34 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -86,15 +86,6 @@ def config_options(self): del self.options.enable_fork else: del self.options.enable_netssl_win - if Version(self.version) < "1.9.0": - del self.options.enable_encodings - if Version(self.version) < "1.10.0": - del self.options.enable_data_mysql - del self.options.enable_data_postgresql - del self.options.enable_jwt - if Version(self.version) < "1.11.0": - del self.options.enable_activerecord - del self.options.enable_activerecord_compiler if Version(self.version) < "1.12.0": del self.options.enable_prometheus @@ -125,17 +116,17 @@ def requirements(self): if self.options.enable_xml: self.requires("expat/2.5.0") if self.options.enable_data_sqlite: - self.requires("sqlite3/3.40.1") + self.requires("sqlite3/3.41.2") if self.options.enable_apacheconnector: self.requires("apr/1.7.0") self.requires("apr-util/1.6.1") if self.options.enable_netssl or self.options.enable_crypto or \ self.options.get_safe("enable_jwt"): - self.requires("openssl/1.1.1t", transitive_headers=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.enable_data_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("enable_data_postgresql"): - self.requires("libpq/14.5") + self.requires("libpq/14.7") if self.options.get_safe("enable_data_mysql"): self.requires("libmysqlclient/8.0.31") @@ -179,8 +170,6 @@ def _dep_lib_paths(self, dep_name): def generate(self): tc = CMakeToolchain(self) tc.variables["CMAKE_BUILD_TYPE"] = self.settings.build_type - if Version(self.version) < "1.10.1": - tc.variables["POCO_STATIC"] = not self.options.shared for comp in self._poco_component_tree.values(): if comp.option: tc.variables[comp.option.upper()] = self.options.get_safe(comp.option, False) @@ -210,8 +199,7 @@ def generate(self): # Disable automatic linking on MSVC tc.preprocessor_definitions["POCO_NO_AUTOMATIC_LIBS"] = "1" # Picked up from conan v1 CMake wrapper, don't know the rationale - if Version(self.version) >= "1.11.0": - tc.preprocessor_definitions["XML_DTD"] = "1" + tc.preprocessor_definitions["XML_DTD"] = "1" tc.generate() deps = CMakeDeps(self) diff --git a/recipes/poco/all/patches/1.10.0-set-missing-cmake-variable.patch b/recipes/poco/all/patches/1.10.0-set-missing-cmake-variable.patch deleted file mode 100644 index 83c11982c1cfa..0000000000000 --- a/recipes/poco/all/patches/1.10.0-set-missing-cmake-variable.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -436,7 +436,7 @@ - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion - ) -- -+set(PocoConfigPackageLocation "lib${LIB_SUFFIX}/cmake/${PROJECT_NAME}") - configure_file(cmake/${PROJECT_NAME}Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake" @ONLY) - install( - FILES diff --git a/recipes/poco/all/patches/1.10.0.patch b/recipes/poco/all/patches/1.10.0.patch deleted file mode 100644 index a293b75b06fea..0000000000000 --- a/recipes/poco/all/patches/1.10.0.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- a/cmake/PocoMacros.cmake -+++ b/cmake/PocoMacros.cmake -@@ -40,7 +40,7 @@ if(WIN32) - endforeach() - endif (X64) - endif () -- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} -+ find_program(CMAKE_MC_COMPILER mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} - DOC "path to message compiler") - if (NOT CMAKE_MC_COMPILER) - message(FATAL_ERROR "message compiler not found: required to build") -@@ -278,7 +278,7 @@ - - if (MSVC) - # install the targets pdb -- POCO_INSTALL_PDB(${target_name}) -+ # POCO_INSTALL_PDB(${target_name}) - endif() - - endmacro() ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -35,7 +35,7 @@ POCO_MESSAGES( SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if (POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -+ find_package(pcre REQUIRED CONFIG) - find_package(ZLIB REQUIRED) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library -@@ -101,7 +101,7 @@ set_target_properties(Foundation - ) - - if (POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC pcre::libpcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - endif (POCO_UNBUNDLED) - ---- a/NetSSL_Win/CMakeLists.txt -+++ b/NetSSL_Win/CMakeLists.txt -@@ -21,7 +21,7 @@ - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) -+target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib ws2_32 ) - target_include_directories(NetSSLWin - PUBLIC - $ diff --git a/recipes/poco/all/patches/1.10.1.patch b/recipes/poco/all/patches/1.10.1.patch deleted file mode 100644 index 60675d563d9b5..0000000000000 --- a/recipes/poco/all/patches/1.10.1.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- a/cmake/PocoMacros.cmake -+++ b/cmake/PocoMacros.cmake -@@ -40,7 +40,7 @@ if(WIN32) - endforeach() - endif(X64) - endif() -- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} -+ find_program(CMAKE_MC_COMPILER mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} - DOC "path to message compiler") - if(NOT CMAKE_MC_COMPILER) - message(FATAL_ERROR "message compiler not found: required to build") -@@ -279,7 +279,7 @@ - - if(MSVC) - # install the targets pdb -- POCO_INSTALL_PDB(${target_name}) -+ # POCO_INSTALL_PDB(${target_name}) - endif() - - endmacro() ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -35,7 +35,7 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if(POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -+ find_package(pcre REQUIRED CONFIG) - find_package(ZLIB REQUIRED) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library -@@ -101,7 +101,7 @@ set_target_properties(Foundation - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC pcre::libpcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - endif(POCO_UNBUNDLED) - ---- a/NetSSL_Win/CMakeLists.txt -+++ b/NetSSL_Win/CMakeLists.txt -@@ -21,7 +21,7 @@ - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) -+target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib ws2_32 ) - target_include_directories(NetSSLWin - PUBLIC - $ diff --git a/recipes/poco/all/patches/1.8.1.patch b/recipes/poco/all/patches/1.8.1.patch deleted file mode 100644 index a13cf433b0cbd..0000000000000 --- a/recipes/poco/all/patches/1.8.1.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- a/cmake/PocoMacros.cmake -+++ b/cmake/PocoMacros.cmake -@@ -265,7 +265,7 @@ - - if (MSVC) - # install the targets pdb -- POCO_INSTALL_PDB(${target_name}) -+ # POCO_INSTALL_PDB(${target_name}) - endif() - - endmacro() ---- a/Crypto/CMakeLists.txt -+++ b/Crypto/CMakeLists.txt -@@ -20,7 +20,7 @@ - DEFINE_SYMBOL Crypto_EXPORTS - ) - --target_link_libraries( "${LIBNAME}" Foundation ${OPENSSL_LIBRARIES} ) -+target_link_libraries( "${LIBNAME}" Foundation OpenSSL::SSL OpenSSL::Crypto) - target_include_directories( "${LIBNAME}" - PUBLIC - $ ---- a/Data/SQLite/CMakeLists.txt -+++ b/Data/SQLite/CMakeLists.txt -@@ -10,9 +10,9 @@ - POCO_HEADERS_AUTO( SQLITE_SRCS ${HDRS_G}) - - if (POCO_UNBUNDLED) -- find_package(SQLite3) -- set(DATASQLITELIBS ${SQLITE3_LIBRARIES}) -- include_directories("${SQLITE3_INCLUDE_DIRS}") -+ find_package(SQLite3 REQUIRED) -+ set(DATASQLITELIBS SQLite::SQLite3) -+ #include_directories(${SQLite3_INCLUDE_DIRS}) - else() - # sqlite3 - POCO_SOURCES( SQLITE_SRCS sqlite3 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -32,9 +32,8 @@ POCO_MESSAGES( SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if (POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -- set(SYSLIBS ${SYSLIBS} ${PCRE_LIBRARIES}) -- include_directories(${PCRE_INCLUDE_DIRS}) -+ find_package(pcre REQUIRED CONFIG) -+ set(SYSLIBS ${SYSLIBS} pcre::libpcre) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library - POCO_SOURCES( SRCS RegExp -@@ -106,7 +105,6 @@ if(ANDROID) - endif(ANDROID) - - # TODO: Why is this here? --add_definitions( -DPCRE_STATIC) - - # For SetAffinity - if(UNIX AND NOT APPLE) ---- a/NetSSL_OpenSSL/CMakeLists.txt -+++ b/NetSSL_OpenSSL/CMakeLists.txt -@@ -18,7 +18,7 @@ set_target_properties( "${LIBNAME}" - DEFINE_SYMBOL NetSSL_EXPORTS - ) - --target_link_libraries( "${LIBNAME}" Crypto Net Util Foundation ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ) -+target_link_libraries( "${LIBNAME}" Crypto Net Util Foundation OpenSSL::SSL OpenSSL::Crypto ) - target_include_directories( "${LIBNAME}" - PUBLIC - $ ---- a/NetSSL_Win/CMakeLists.txt -+++ b/NetSSL_Win/CMakeLists.txt -@@ -18,7 +18,7 @@ - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries( "${LIBNAME}" Net Util Foundation Crypt32.lib ) -+target_link_libraries( "${LIBNAME}" Net Util Foundation Crypt32.lib ws2_32 ) - target_include_directories( "${LIBNAME}" - PUBLIC - $ diff --git a/recipes/poco/all/patches/1.9.2.patch b/recipes/poco/all/patches/1.9.2.patch deleted file mode 100644 index 2eab9fab22f69..0000000000000 --- a/recipes/poco/all/patches/1.9.2.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- a/cmake/PocoMacros.cmake -+++ b/cmake/PocoMacros.cmake -@@ -278,7 +278,7 @@ - - if (MSVC) - # install the targets pdb -- POCO_INSTALL_PDB(${target_name}) -+ # POCO_INSTALL_PDB(${target_name}) - endif() - - endmacro() ---- a/Crypto/CMakeLists.txt -+++ b/Crypto/CMakeLists.txt -@@ -24,7 +24,7 @@ - DEFINE_SYMBOL Crypto_EXPORTS - ) - --target_link_libraries( "${LIBNAME}" Foundation ${OPENSSL_LIBRARIES} ) -+target_link_libraries( "${LIBNAME}" Foundation OpenSSL::SSL OpenSSL::Crypto) - target_include_directories( "${LIBNAME}" - PUBLIC - $ ---- a/Data/SQLite/CMakeLists.txt -+++ b/Data/SQLite/CMakeLists.txt -@@ -16,9 +16,9 @@ - endif() - - if (POCO_UNBUNDLED) -- find_package(SQLite3) -- set(DATASQLITELIBS ${SQLITE3_LIBRARIES}) -- include_directories("${SQLITE3_INCLUDE_DIRS}") -+ find_package(SQLite3 REQUIRED) -+ set(DATASQLITELIBS SQLite::SQLite3) -+ #include_directories(${SQLite3_INCLUDE_DIRS}) - else() - # sqlite3 - POCO_SOURCES( SQLITE_SRCS sqlite3 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -38,9 +38,8 @@ POCO_MESSAGES( SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if (POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -- set(SYSLIBS ${SYSLIBS} ${PCRE_LIBRARIES}) -- include_directories(${PCRE_INCLUDE_DIRS}) -+ find_package(pcre REQUIRED CONFIG) -+ set(SYSLIBS ${SYSLIBS} pcre::libpcre) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library - POCO_SOURCES( SRCS RegExp -@@ -112,7 +111,6 @@ if(ANDROID) - endif(ANDROID) - - # TODO: Why is this here? --add_definitions( -DPCRE_STATIC) - - # For SetAffinity - if(UNIX AND NOT APPLE) ---- a/NetSSL_OpenSSL/CMakeLists.txt -+++ b/NetSSL_OpenSSL/CMakeLists.txt -@@ -24,7 +24,7 @@ set_target_properties( "${LIBNAME}" - DEFINE_SYMBOL NetSSL_EXPORTS - ) - --target_link_libraries( "${LIBNAME}" Crypto Net Util Foundation ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ) -+target_link_libraries( "${LIBNAME}" Crypto Net Util Foundation OpenSSL::SSL OpenSSL::Crypto ) - target_include_directories( "${LIBNAME}" - PUBLIC - $ ---- a/NetSSL_Win/CMakeLists.txt -+++ b/NetSSL_Win/CMakeLists.txt -@@ -24,7 +24,7 @@ - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries( "${LIBNAME}" Net Util Foundation Crypt32.lib ) -+target_link_libraries( "${LIBNAME}" Net Util Foundation Crypt32.lib ws2_32 ) - target_include_directories( "${LIBNAME}" - PUBLIC - $ diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index a8a61444c2607..9843e7f469dce 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -17,13 +17,3 @@ versions: folder: all "1.11.0": folder: all - "1.10.1": - folder: all - "1.10.0": - folder: all - "1.9.3": - folder: all - "1.9.4": - folder: all - "1.8.1": - folder: all From 471f5d1d01c348c6d17d2e931f89ee116fc55f3e Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 19 May 2023 11:42:53 +0100 Subject: [PATCH 0296/4087] (#17610) glib: revert shared option to be False by default * glib: revert shared option to be False by default * glib: attempt to workaround library clashes --- recipes/glib/all/conanfile.py | 2 +- recipes/glib/all/test_package/conanfile.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index 041447c27862e..95fb7a1a6aec3 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -35,7 +35,7 @@ class GLibConan(ConanFile): "with_mount": [True, False], } default_options = { - "shared": True, + "shared": False, "fPIC": True, "with_elf": True, "with_mount": True, diff --git a/recipes/glib/all/test_package/conanfile.py b/recipes/glib/all/test_package/conanfile.py index 37f9bd528f982..2f5458641d6f7 100644 --- a/recipes/glib/all/test_package/conanfile.py +++ b/recipes/glib/all/test_package/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake, CMakeDeps, CMakeToolchain -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.gnu import PkgConfig, PkgConfigDeps import os @@ -25,6 +25,15 @@ def generate(self): tc.generate() virtual_run_env = VirtualRunEnv(self) virtual_run_env.generate() + + if self.settings.os == "Macos": + env = Environment() + # Avoid conflicts with system libiconv + # see: https://github.com/conan-io/conan-center-index/pull/17610#issuecomment-1552921286 + env.define_path("DYLD_FALLBACK_LIBRARY_PATH", "$DYLD_LIBRARY_PATH") + env.define_path("DYLD_LIBRARY_PATH", "") + env.vars(self, scope="run").save_script("conanrun_macos_runtimepath") + if self.settings.os == "Windows": deps = CMakeDeps(self) deps.generate() From c43806fbdb22ca2eda7d251657c4dcde93056a44 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 19 May 2023 13:41:52 +0200 Subject: [PATCH 0297/4087] (#17606) [mawk] Add new recipe for awk language interpreter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add mawk recipe Signed-off-by: Uilian Ries * Build mawk on Windows Signed-off-by: Uilian Ries * Remove unused import Co-authored-by: Rubén Rincón Blanco --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- recipes/mawk/all/conandata.yml | 4 + recipes/mawk/all/conanfile.py | 93 ++++++++++++++++++++++ recipes/mawk/all/test_package/conanfile.py | 15 ++++ recipes/mawk/config.yml | 3 + 4 files changed, 115 insertions(+) create mode 100644 recipes/mawk/all/conandata.yml create mode 100644 recipes/mawk/all/conanfile.py create mode 100644 recipes/mawk/all/test_package/conanfile.py create mode 100644 recipes/mawk/config.yml diff --git a/recipes/mawk/all/conandata.yml b/recipes/mawk/all/conandata.yml new file mode 100644 index 0000000000000..fb6b329064d57 --- /dev/null +++ b/recipes/mawk/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.3.4-20230404": + url: "https://invisible-island.net/archives/mawk/mawk-1.3.4-20230404.tgz" + sha256: "5a8260b1adda00bad8e40ba89fa20860c5b6e1393089dd1c7a6126aa023e9f63" diff --git a/recipes/mawk/all/conanfile.py b/recipes/mawk/all/conanfile.py new file mode 100644 index 0000000000000..dee1c14a1a666 --- /dev/null +++ b/recipes/mawk/all/conanfile.py @@ -0,0 +1,93 @@ +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rmdir, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.54.0" + + +class PackageConan(ConanFile): + name = "mawk" + description = "mawk is an interpreter for the AWK Programming Language." + license = "GPL-2.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://invisible-island.net/mawk/mawk.html" + topics = ("awk", "app", "interpreter", "programming-language") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type + + def layout(self): + basic_layout(self, src_folder="src") + + 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") + + def source(self): + # INFO: The certificate of the website is expired/invalid + get(self, **self.conan_data["sources"][self.version], strip_root=True, verify=False) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.generate() + + if is_msvc(self): + env = Environment() + env.define("CC", "cl -nologo") + env.define("CXX", "cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", "lib -nologo") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + # INFO: It's not able to find lib math on Windows without passing its path. + env.define("MATHLIB", os.path.join(self.dependencies.build["msys2"].package_folder, "usr", "lib", "libm.a")) + env.vars(self).save_script("conanbuild_msvc") + + def _patch_sources(self): + if is_msvc(self): + # INFO: MAWK_RAND_MAX is not defined when building on Windows. Use system RAND_MAX instead. + replace_in_file(self, os.path.join(self.source_folder, 'bi_funct.c'), 'MAWK_RAND_MAX', 'RAND_MAX') + + def build(self): + self._patch_sources() + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + 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/mawk/all/test_package/conanfile.py b/recipes/mawk/all/test_package/conanfile.py new file mode 100644 index 0000000000000..4029c07de3be7 --- /dev/null +++ b/recipes/mawk/all/test_package/conanfile.py @@ -0,0 +1,15 @@ +from conan import ConanFile +from conan.tools.build import can_run + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + if can_run(self): + self.run("mawk --version") diff --git a/recipes/mawk/config.yml b/recipes/mawk/config.yml new file mode 100644 index 0000000000000..5f91386891e08 --- /dev/null +++ b/recipes/mawk/config.yml @@ -0,0 +1,3 @@ +versions: + "1.3.4-20230404": + folder: all From 59007cdc4103474102a5b2d59f191ace5ea8d0e8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 19 May 2023 21:22:16 +0900 Subject: [PATCH 0298/4087] (#17583) blend2d: add version 0.9 --- recipes/blend2d/all/conandata.yml | 7 +++++ .../0.9-0001-disable-embed-asmjit.patch | 27 +++++++++++++++++++ recipes/blend2d/config.yml | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 recipes/blend2d/all/patches/0.9-0001-disable-embed-asmjit.patch diff --git a/recipes/blend2d/all/conandata.yml b/recipes/blend2d/all/conandata.yml index bf96e03acb1d2..a8918f809e2b0 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9": + url: "https://blend2d.com/download/blend2d-0.9.tar.xz" + sha256: "a70a2a57c67017afa1067a11807fef9808788c69b4012ba4d56a5c47a5ba87c3" "0.8": url: "https://blend2d.com/download/blend2d-0.8.zip" sha256: "0c1e2cc94cd4aa054c527b2dc51d533c8783a8e31779de3ba7bb49f8bd9afca1" @@ -9,6 +12,10 @@ sources: url: "https://blend2d.com/download/blend2d-beta17.zip" sha256: "06ee8fb0bea281d09291e498900093139426501a1a7f09dba0ec801dd340635e" patches: + "0.9": + - patch_file: "patches/0.9-0001-disable-embed-asmjit.patch" + patch_description: "use asmjit cci package" + patch_type: "conan" "0.8": - patch_file: "patches/0.8-0001-disable-embed-asmjit.patch" patch_description: "use asmjit cci package" diff --git a/recipes/blend2d/all/patches/0.9-0001-disable-embed-asmjit.patch b/recipes/blend2d/all/patches/0.9-0001-disable-embed-asmjit.patch new file mode 100644 index 0000000000000..71daec98e5e7e --- /dev/null +++ b/recipes/blend2d/all/patches/0.9-0001-disable-embed-asmjit.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 77c74eb..80d7bb0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -395,7 +395,7 @@ endif() + + # Find asmjit dependency if building with JIT support. + if (NOT BLEND2D_NO_JIT) +- if (NOT DEFINED ASMJIT_DIR) ++ if (0) + foreach(dir "${BLEND2D_DIR}/3rdparty/asmjit" + "${CMAKE_CURRENT_LIST_DIR}/../asmjit") + if (EXISTS ${dir}/CMakeLists.txt) +@@ -413,10 +413,9 @@ if (NOT BLEND2D_NO_JIT) + endif() + + set(ASMJIT_NO_FOREIGN TRUE) +- include("${ASMJIT_DIR}/CMakeLists.txt") +- list(APPEND BLEND2D_DEPS ${ASMJIT_LIBS}) +- list(APPEND BLEND2D_PRIVATE_CFLAGS ${ASMJIT_CFLAGS}) +- list(APPEND BLEND2D_PRIVATE_CFLAGS -DASMJIT_NO_STDCXX) ++ find_package(asmjit CONFIG REQUIRED) ++ list(APPEND BLEND2D_DEPS asmjit::asmjit) ++ list(APPEND BLEND2D_PRIVATE_CFLAGS ${asmjit_DEFINITIONS_DEBUG}${asmjit_DEFINITIONS_RELEASE}) + + # A possibility to reduce the resulting binary size by disabling asmjit logging. + if (BLEND2D_NO_JIT_LOGGING) diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index 21fbadf20d447..bf1e95c0dd1d1 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.9": + folder: all "0.8": folder: all "0.0.18": From 52addf03a1770ea481281f0ce052c5e922b7c4b3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 19 May 2023 15:02:02 +0200 Subject: [PATCH 0299/4087] (#17625) libxml2: add version 2.11.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index e548a32e4b405..1056eab90fe20 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.4": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.4.tar.xz" + sha256: "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7" "2.11.3": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.3.tar.xz" sha256: "f1acae1664bda006cd81bfc238238217043d586d06659d5c0e3d1bcebe040870" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index fb628837cedd1..a49601ef686b5 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.4": + folder: all "2.11.3": folder: all "2.10.4": From c50c33597177c779870453e682219cb5b534e98e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 19 May 2023 22:42:15 +0900 Subject: [PATCH 0300/4087] (#17627) ftxui: add version 4.1.0, add package_type --- recipes/ftxui/all/conandata.yml | 7 +++++++ recipes/ftxui/all/conanfile.py | 5 +++++ recipes/ftxui/config.yml | 2 ++ 3 files changed, 14 insertions(+) diff --git a/recipes/ftxui/all/conandata.yml b/recipes/ftxui/all/conandata.yml index 2a9fda1f01655..96df426708fff 100644 --- a/recipes/ftxui/all/conandata.yml +++ b/recipes/ftxui/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.1.0.tar.gz" + sha256: "6f03f5917b44c9bc12335ad891a93813bbb6e738e0bd0c44f97bcc6077c45980" "4.0.0": url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.0.0.tar.gz" sha256: "7276e4117429ebf8e34ea371c3ea4e66eb99e0f234cb4c5c85fca17174a53dfa" @@ -9,6 +12,10 @@ sources: url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v2.0.0.tar.gz" sha256: "d891695ef22176f0c09f8261a37af9ad5b262dd670a81e6b83661a23abc2c54f" patches: + "4.1.0": + - patch_file: "patches/4.0.0-0002-install-dll.patch" + patch_description: "add runtime destionation for windows shared build" + patch_type: "conan" "4.0.0": - patch_file: "patches/4.0.0-0002-install-dll.patch" patch_description: "add runtime destionation for windows shared build" diff --git a/recipes/ftxui/all/conanfile.py b/recipes/ftxui/all/conanfile.py index d458731d30305..04120e770fee3 100644 --- a/recipes/ftxui/all/conanfile.py +++ b/recipes/ftxui/all/conanfile.py @@ -16,6 +16,7 @@ class FTXUIConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ArthurSonzogni/FTXUI" topics = ("ncurses", "terminal", "screen", "tui") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -91,9 +92,13 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + if Version(self.version) >= "4.1.0": + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ftxui") + if Version(self.version) >= "4.1.0": + self.cpp_info.set_property("pkg_config_name", "ftxui") self.cpp_info.components["ftxui-dom"].set_property("cmake_target_name", "ftxui::dom") self.cpp_info.components["ftxui-dom"].libs = ["ftxui-dom"] diff --git a/recipes/ftxui/config.yml b/recipes/ftxui/config.yml index 4763abe690b6e..a7509144ae93e 100644 --- a/recipes/ftxui/config.yml +++ b/recipes/ftxui/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.0": + folder: all "4.0.0": folder: all "3.0.0": From 689b709f63c16784036488bf8bad643330b78637 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 19 May 2023 16:28:46 +0200 Subject: [PATCH 0301/4087] (#17622) double-conversion: add version 3.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/double-conversion/all/conandata.yml | 3 +++ recipes/double-conversion/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/double-conversion/all/conandata.yml b/recipes/double-conversion/all/conandata.yml index 7e987d626c73a..be979eb639b24 100644 --- a/recipes/double-conversion/all/conandata.yml +++ b/recipes/double-conversion/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/google/double-conversion/archive/refs/tags/v3.3.0.tar.gz" + sha256: "04ec44461850abbf33824da84978043b22554896b552c5fd11a9c5ae4b4d296e" "3.2.1": url: "https://github.com/google/double-conversion/archive/v3.2.1.tar.gz" sha256: "e40d236343cad807e83d192265f139481c51fc83a1c49e406ac6ce0a0ba7cd35" diff --git a/recipes/double-conversion/config.yml b/recipes/double-conversion/config.yml index af0b0f2b2e22d..0b998927e4218 100644 --- a/recipes/double-conversion/config.yml +++ b/recipes/double-conversion/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: all "3.2.1": folder: all "3.2.0": From 7280a11bfd63a5ba3611a1149758401393cc963b Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 20 May 2023 00:03:46 +0900 Subject: [PATCH 0302/4087] (#17619) skyr-url: support conan v2, update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * skyr-url: support conan v2, update dependencies * fix library name in debug build * Update recipes/skyr-url/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/skyr-url/all/CMakeLists.txt | 9 -- recipes/skyr-url/all/conandata.yml | 7 +- recipes/skyr-url/all/conanfile.py | 110 +++++++++--------- .../skyr-url/all/test_package/CMakeLists.txt | 8 +- .../skyr-url/all/test_package/conanfile.py | 21 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../skyr-url/all/test_v1_package/conanfile.py | 18 +++ 7 files changed, 102 insertions(+), 79 deletions(-) delete mode 100644 recipes/skyr-url/all/CMakeLists.txt create mode 100644 recipes/skyr-url/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/skyr-url/all/test_v1_package/conanfile.py diff --git a/recipes/skyr-url/all/CMakeLists.txt b/recipes/skyr-url/all/CMakeLists.txt deleted file mode 100644 index 16d33ed296f4b..0000000000000 --- a/recipes/skyr-url/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory("source_subfolder") diff --git a/recipes/skyr-url/all/conandata.yml b/recipes/skyr-url/all/conandata.yml index 25a1fe3b1c9e0..13a1cba86dd1e 100644 --- a/recipes/skyr-url/all/conandata.yml +++ b/recipes/skyr-url/all/conandata.yml @@ -5,11 +5,12 @@ sources: "1.12.0": url: "https://github.com/cpp-netlib/url/archive/v1.12.0.tar.gz" sha256: "42ede3666a4c40828aa74e4b35bf43dfc79de9329e6463ff90f9bb727b3a06f0" - patches: "1.13.0": - patch_file: "patches/1.13.0-0001-fix-cmake.patch" - base_path: "source_subfolder" + patch_description: "fix installer, fix range-v3 name" + patch_type: "conan" "1.12.0": - patch_file: "patches/1.12.0-0001-fix-cmake.patch" - base_path: "source_subfolder" + patch_description: "fix installer, fix range-v3 name" + patch_type: "conan" diff --git a/recipes/skyr-url/all/conanfile.py b/recipes/skyr-url/all/conanfile.py index d73a94e93ebb3..11f0da24114c2 100644 --- a/recipes/skyr-url/all/conanfile.py +++ b/recipes/skyr-url/all/conanfile.py @@ -1,10 +1,14 @@ -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import is_msvc_static_runtime, is_msvc +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file, collect_libs +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv import os -import functools -required_conan_version = ">=1.45.0" +required_conan_version = ">=1.53.0" class SkyrUrlConan(ConanFile): name = "skyr-url" @@ -13,6 +17,7 @@ class SkyrUrlConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://cpp-netlib.github.io/url" topics = ("whatwg", "url", "parser") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,19 +31,9 @@ class SkyrUrlConan(ConanFile): "with_json": True, "with_fs": True, } - generators = "cmake", "cmake_find_package_multi" - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder (self): - return "build_subfolder" - - @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property @@ -46,15 +41,15 @@ def _minimum_compilers_version(self): # https://github.com/cpp-netlib/url/tree/v1.12.0#requirements return { "Visual Studio": "16", + "msvc": "192", "gcc": "7", - "clang": "6" if tools.Version(self.version) <= "1.12.0" else "8", + "clang": "6" if Version(self.version) <= "1.12.0" else "8", "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, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -62,72 +57,77 @@ 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("tl-expected/1.1.0", transitive_headers=True) + self.requires("range-v3/0.12.0", transitive_headers=True) + if self.options.with_json: + self.requires("nlohmann_json/3.11.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + self.output.warn(f"{self.ref} recipe lacks information about the {self.settings.compiler} compiler support.") else: - if tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++17 support. The current compiler {} {} does not support it.".format( - self.name, self.settings.compiler, self.settings.compiler.version)) + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++17 support. " + f"The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") if self.options.with_fs and self.settings.compiler == "apple-clang": raise ConanInvalidConfiguration("apple-clang currently does not support with filesystem") if self.settings.compiler.get_safe("libcxx") == "libstdc++": - raise ConanInvalidConfiguration("{} supports only libstdc++'s new ABI".format(self.name)) - - def requirements(self): - self.requires("tl-expected/1.0.0") - self.requires("range-v3/0.12.0") - if self.options.with_json: - self.requires("nlohmann_json/3.10.5") + raise ConanInvalidConfiguration(f"{self.ref} supports only libstdc++'s new ABI") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["skyr_BUILD_TESTS"] = False - cmake.definitions["skyr_FULL_WARNINGS"] = False - cmake.definitions["skyr_WARNINGS_AS_ERRORS"] = False - cmake.definitions["skyr_ENABLE_JSON_FUNCTIONS"] = self.options.with_json - cmake.definitions["skyr_ENABLE_FILESYSTEM_FUNCTIONS"] = self.options.with_fs + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["skyr_BUILD_TESTS"] = False + tc.variables["skyr_FULL_WARNINGS"] = False + tc.variables["skyr_WARNINGS_AS_ERRORS"] = False + tc.variables["skyr_ENABLE_JSON_FUNCTIONS"] = self.options.with_json + tc.variables["skyr_ENABLE_FILESYSTEM_FUNCTIONS"] = self.options.with_fs + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True if is_msvc(self): - cmake.definitions["skyr_USE_STATIC_CRT"] = is_msvc_static_runtime(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.variables["skyr_USE_STATIC_CRT"] = is_msvc_static_runtime(self) + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE_1_0.txt", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, pattern="LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "skyr-url") self.cpp_info.set_property("cmake_target_name", "skyr::skyr-url") self.cpp_info.components["url"].name = "skyr-url" - self.cpp_info.components["url"].libs = tools.collect_libs(self) + self.cpp_info.components["url"].libs = ["skyr-urld" if self.settings.build_type == "Debug" else "skyr-url"] self.cpp_info.components["url"].requires = ["tl-expected::tl-expected", "range-v3::range-v3"] if self.options.with_json: self.cpp_info.components["url"].requires.append("nlohmann_json::nlohmann_json") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["url"].system_libs.append("m") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "skyr-url" self.cpp_info.filenames["cmake_find_package_multi"] = "skyr-url" self.cpp_info.names["cmake_find_package"] = "skyr" diff --git a/recipes/skyr-url/all/test_package/CMakeLists.txt b/recipes/skyr-url/all/test_package/CMakeLists.txt index 96bec18bacbdc..5ca2e760876e8 100644 --- a/recipes/skyr-url/all/test_package/CMakeLists.txt +++ b/recipes/skyr-url/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES CXX) -find_package(skyr-url CONFIG REQUIRED) +find_package(skyr-url REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} skyr::skyr-url) diff --git a/recipes/skyr-url/all/test_package/conanfile.py b/recipes/skyr-url/all/test_package/conanfile.py index 5120e440ae5fb..f5cf204295e19 100644 --- a/recipes/skyr-url/all/test_package/conanfile.py +++ b/recipes/skyr-url/all/test_package/conanfile.py @@ -1,11 +1,18 @@ -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os - 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) @@ -13,6 +20,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/skyr-url/all/test_v1_package/CMakeLists.txt b/recipes/skyr-url/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..54d2c07bb9d41 --- /dev/null +++ b/recipes/skyr-url/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_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/skyr-url/all/test_v1_package/conanfile.py b/recipes/skyr-url/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/skyr-url/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 31ea6917a108547184bada312d2cfca809a94d7c Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Fri, 19 May 2023 16:43:03 +0100 Subject: [PATCH 0303/4087] (#17590) opus: Add option to disable stack protector. --- recipes/opus/all/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/opus/all/conanfile.py b/recipes/opus/all/conanfile.py index 548f3227f6d6e..2dfefae5f4332 100644 --- a/recipes/opus/all/conanfile.py +++ b/recipes/opus/all/conanfile.py @@ -20,11 +20,13 @@ class OpusConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "fixed_point": [True, False], + "stack_protector": [True, False], } default_options = { "shared": False, "fPIC": True, "fixed_point": False, + "stack_protector": True, } def export_sources(self): @@ -53,6 +55,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["OPUS_FIXED_POINT"] = self.options.fixed_point + tc.variables["OPUS_STACK_PROTECTOR"] = self.options.stack_protector tc.generate() def build(self): From 6666c8b45ad9c90c98671b3c6ead70dd52ceebde Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Fri, 19 May 2023 18:24:07 +0200 Subject: [PATCH 0304/4087] (#17579) bshoshany-thread-pool: conan v2 support * Modernize recipe * Update test_package * Add test_v1_package/ --- .../bshoshany-thread-pool/all/conanfile.py | 28 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 ++--- .../all/test_package/conanfile.py | 24 +++++++++++----- .../all/test_v1_package/CMakeLists.txt | 14 ++++++++++ .../all/test_v1_package/conanfile.py | 18 ++++++++++++ 5 files changed, 69 insertions(+), 22 deletions(-) create mode 100644 recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py diff --git a/recipes/bshoshany-thread-pool/all/conanfile.py b/recipes/bshoshany-thread-pool/all/conanfile.py index ee5a622fcbc1c..15c03a2e73fb9 100644 --- a/recipes/bshoshany-thread-pool/all/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/conanfile.py @@ -1,9 +1,10 @@ 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.scm import Version -from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.43.0" @@ -20,11 +21,17 @@ class BShoshanyThreadPoolConan(ConanFile): @property def _minimum_compilers_version(self): - return {"apple-clang": "10", "clang": "5", "gcc": "8", "Visual Studio": "16"} + return { + "apple-clang": "10", + "clang": "5", + "gcc": "8", + "Visual Studio": "16", + "msvc": "192", + } @property - def _minimum_cpp_standard(self): - return 17 + def _min_cppstd(self): + return "17" @property def _source_subfolder(self): @@ -48,9 +55,10 @@ def source(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - try: - if Version(self.settings.compiler.version) < self._minimum_compilers_version[str(self.settings.compiler)]: - raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports C++{self._minimum_cpp_standard}. {self.settings.compiler}, {self.settings.compiler.version}") - except KeyError: - self.output.warn("Unknown compiler encountered. Assuming it supports C++17.") + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", + ) diff --git a/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt index e58c83ea5f16f..ef975b6d66e03 100644 --- a/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt +++ b/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt @@ -1,14 +1,11 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(bshoshany-thread-pool REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} bshoshany-thread-pool::bshoshany-thread-pool) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/bshoshany-thread-pool/all/test_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_package/conanfile.py index d52de022aa2ac..a154ce8fd694e 100644 --- a/recipes/bshoshany-thread-pool/all/test_package/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/test_package/conanfile.py @@ -1,17 +1,27 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout -class TestPackageConan(ConanFile): - settings = "arch", "build_type", "compiler", "os" - generators = "cmake", "cmake_find_package_multi" + +class BshoshanyThreadPoolTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0ad87e39bce01 --- /dev/null +++ b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(bshoshany-thread-pool REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_link_libraries(${PROJECT_NAME} bshoshany-thread-pool::bshoshany-thread-pool) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e3619171241a6 --- /dev/null +++ b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import CMake, ConanFile, tools + + +class BshoshanyThreadPoolTestConan(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("{0}".format(bin_path), run_environment=True) From 3089f24d37b16ba62bb438df58c967fa1bcaa822 Mon Sep 17 00:00:00 2001 From: Brandon Whitchurch <36140721+bwhitchurch@users.noreply.github.com> Date: Fri, 19 May 2023 10:24:27 -0700 Subject: [PATCH 0305/4087] (#17463) Catch2: Add recipe option for CATCH_CONFIG_NO_POSIX_SIGNALS Add recipe option to catch to toggle CATCH_CONFIG_NO_POSIX_SIGNALS. --- recipes/catch2/3.x.x/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/catch2/3.x.x/conanfile.py b/recipes/catch2/3.x.x/conanfile.py index 9cc83f41b1e3a..6f59c5ce8e188 100644 --- a/recipes/catch2/3.x.x/conanfile.py +++ b/recipes/catch2/3.x.x/conanfile.py @@ -25,6 +25,7 @@ class Catch2Conan(ConanFile): "with_prefix": [True, False], "default_reporter": [None, "ANY"], "console_width": [None, "ANY"], + "no_posix_signals": [True, False], } default_options = { "shared": False, @@ -32,6 +33,7 @@ class Catch2Conan(ConanFile): "with_prefix": False, "default_reporter": None, "console_width": "80", + "no_posix_signals": False, } @property @@ -102,6 +104,7 @@ def generate(self): tc.variables["CATCH_CONFIG_CONSOLE_WIDTH"] = self.options.console_width if self.options.default_reporter: tc.variables["CATCH_CONFIG_DEFAULT_REPORTER"] = self._default_reporter_str + tc.variables["CATCH_CONFIG_NO_POSIX_SIGNALS"] = self.options.no_posix_signals tc.generate() def build(self): From 3de759fcef13a19d3e8dc1eca57ed5dbf7de4214 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Sat, 20 May 2023 01:24:56 +0700 Subject: [PATCH 0306/4087] (#17334) sdbus-cpp/all: Conan v2 compatibility fix * sdbus-cpp/all: Check for supported OS first It allows you to avoid useless warnings about unknown compilers if you're trying to run the recipe on an unsupported OS. * sdbus-cpp/all: Use Conan v2 logging * sdbus-cpp/all: Add package name to InvalidConfiguration exception Co-authored-by: Jordan Williams * sdbus-cpp/all: Add package_type --------- Co-authored-by: Jordan Williams --- recipes/sdbus-cpp/all/conanfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index dbf11bfac5c83..b93c27ec1b918 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -18,6 +18,7 @@ class SdbusCppConan(ConanFile): description = "High-level C++ D-Bus library for Linux designed" \ " to provide easy-to-use yet powerful API in modern C++" topics = ("dbus", "sd-bus", "sdbus-c++") + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -58,18 +59,19 @@ def requirements(self): self.requires("libsystemd/253.3") def validate(self): + if self.info.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.name} only supports Linux") + if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._minimum_cpp_standard) min_version = self._minimum_compilers_version.get(str(self.info.settings.compiler)) if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( + self.output.warning("{} recipe lacks information about the {} compiler support.".format( self.name, self.info.settings.compiler)) else: if Version(self.info.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.info.settings.compiler, self.info.settings.compiler.version)) - if self.info.settings.os != "Linux": - raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): self.tool_requires("pkgconf/1.9.3") From 33fce7ad786f36610dcff331fb716eedd552b4af Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 19 May 2023 21:04:50 +0200 Subject: [PATCH 0307/4087] (#17441) dataframe: remove dllimport of templates in 2.0.0 --- recipes/dataframe/all/conandata.yml | 4 + recipes/dataframe/all/conanfile.py | 2 +- .../2.0.0-0002-no-export-templates.patch | 223 ++++++++++++++++++ 3 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 recipes/dataframe/all/patches/2.0.0-0002-no-export-templates.patch diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 98d9bcc0c3c09..16ec52d345ce0 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -37,3 +37,7 @@ patches: - patch_file: "patches/2.0.0-0001-use-abs.patch" patch_description: "use std::abs instead fabsf/fabsl" patch_type: "portability" + - patch_file: "patches/2.0.0-0002-no-export-templates.patch" + patch_description: "Do not export symbols which are templates" + patch_type: "portability" + patch_source: "https://github.com/hosseinmoein/DataFrame/pull/235" diff --git a/recipes/dataframe/all/conanfile.py b/recipes/dataframe/all/conanfile.py index 55d7613657607..95fdd9bafb34a 100644 --- a/recipes/dataframe/all/conanfile.py +++ b/recipes/dataframe/all/conanfile.py @@ -152,7 +152,7 @@ def package_info(self): if Version(self.version) < "1.20.0" and not self.options.shared: # weird but required in those versions of dataframe self.cpp_info.defines.append("LIBRARY_EXPORTS") - if "1.20.0" <= Version(self.version) < "2.0.0" and self.options.shared: + if Version(self.version) >= "1.20.0" and self.options.shared: self.cpp_info.defines.append("HMDF_SHARED") # TODO: to remove in conan v2 once cmake_find_package_* generators removed diff --git a/recipes/dataframe/all/patches/2.0.0-0002-no-export-templates.patch b/recipes/dataframe/all/patches/2.0.0-0002-no-export-templates.patch new file mode 100644 index 0000000000000..df182770bdb56 --- /dev/null +++ b/recipes/dataframe/all/patches/2.0.0-0002-no-export-templates.patch @@ -0,0 +1,223 @@ +--- a/include/DataFrame/Vectors/HeteroConstPtrView.h ++++ b/include/DataFrame/Vectors/HeteroConstPtrView.h +@@ -30,7 +30,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #pragma once + + #include +-#include + + #include + #include +@@ -49,7 +48,7 @@ struct HeteroConstPtrView { + + using size_type = size_t; + +- HMDF_API HeteroConstPtrView(); ++ HeteroConstPtrView(); + template + HeteroConstPtrView(const T *begin_ptr, const T *end_ptr); + +@@ -69,13 +68,13 @@ struct HeteroConstPtrView { + HeteroConstPtrView(VectorConstPtrView &vec); + template + HeteroConstPtrView(VectorConstPtrView &&vec); +- HMDF_API HeteroConstPtrView(const HeteroConstPtrView &that); +- HMDF_API HeteroConstPtrView(HeteroConstPtrView &&that); ++ HeteroConstPtrView(const HeteroConstPtrView &that); ++ HeteroConstPtrView(HeteroConstPtrView &&that); + + ~HeteroConstPtrView() { clear(); } + +- HMDF_API HeteroConstPtrView &operator= (const HeteroConstPtrView &rhs); +- HMDF_API HeteroConstPtrView &operator= (HeteroConstPtrView &&rhs); ++ HeteroConstPtrView &operator= (const HeteroConstPtrView &rhs); ++ HeteroConstPtrView &operator= (HeteroConstPtrView &&rhs); + + template + VectorConstPtrView &get_vector(); +@@ -86,7 +85,7 @@ struct HeteroConstPtrView { + typename VectorConstPtrView::size_type + size () const { return (get_vector().size()); } + +- HMDF_API void clear(); ++ void clear(); + + template + bool empty() const noexcept; +--- a/include/DataFrame/Vectors/HeteroConstView.h ++++ b/include/DataFrame/Vectors/HeteroConstView.h +@@ -30,7 +30,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #pragma once + + #include +-#include + + #include + #include +@@ -48,7 +47,7 @@ struct HeteroConstView { + + using size_type = size_t; + +- HMDF_API HeteroConstView(); ++ HeteroConstView(); + template + HeteroConstView(const T *begin_ptr, const T *end_ptr); + +@@ -65,13 +64,13 @@ struct HeteroConstView { + template + void set_begin_end_special(const T *bp, const T *ep_1); + +- HMDF_API HeteroConstView(const HeteroConstView &that); +- HMDF_API HeteroConstView(HeteroConstView &&that); ++ HeteroConstView(const HeteroConstView &that); ++ HeteroConstView(HeteroConstView &&that); + + ~HeteroConstView() { clear(); } + +- HMDF_API HeteroConstView &operator= (const HeteroConstView &rhs); +- HMDF_API HeteroConstView &operator= (HeteroConstView &&rhs); ++ HeteroConstView &operator= (const HeteroConstView &rhs); ++ HeteroConstView &operator= (HeteroConstView &&rhs); + + template + VectorConstView &get_vector(); +@@ -82,7 +81,7 @@ struct HeteroConstView { + typename VectorConstView::size_type + size () const { return (get_vector().size()); } + +- HMDF_API void clear(); ++ void clear(); + + template + bool empty() const noexcept; +--- a/include/DataFrame/Vectors/HeteroPtrView.h ++++ b/include/DataFrame/Vectors/HeteroPtrView.h +@@ -30,7 +30,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #pragma once + + #include +-#include + + #include + #include +@@ -49,7 +48,7 @@ struct HeteroPtrView { + + using size_type = size_t; + +- HMDF_API HeteroPtrView(); ++ HeteroPtrView(); + template + HeteroPtrView(T *begin_ptr, T *end_ptr); + +@@ -69,13 +68,13 @@ struct HeteroPtrView { + HeteroPtrView(VectorPtrView &vec); + template + HeteroPtrView(VectorPtrView &&vec); +- HMDF_API HeteroPtrView(const HeteroPtrView &that); +- HMDF_API HeteroPtrView(HeteroPtrView &&that); ++ HeteroPtrView(const HeteroPtrView &that); ++ HeteroPtrView(HeteroPtrView &&that); + + ~HeteroPtrView() { clear(); } + +- HMDF_API HeteroPtrView &operator= (const HeteroPtrView &rhs); +- HMDF_API HeteroPtrView &operator= (HeteroPtrView &&rhs); ++ HeteroPtrView &operator= (const HeteroPtrView &rhs); ++ HeteroPtrView &operator= (HeteroPtrView &&rhs); + + template + VectorPtrView &get_vector(); +@@ -91,7 +90,7 @@ struct HeteroPtrView { + typename VectorPtrView:: + size_type size () const { return (get_vector().size()); } + +- HMDF_API void clear(); ++ void clear(); + + template + bool empty() const noexcept; +--- a/include/DataFrame/Vectors/HeteroVector.h ++++ b/include/DataFrame/Vectors/HeteroVector.h +@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #pragma once + +-#include + #include + #include + #include +@@ -58,14 +57,14 @@ struct HeteroVector { + + using size_type = size_t; + +- HMDF_API HeteroVector(); +- HMDF_API HeteroVector(const HeteroVector &that); +- HMDF_API HeteroVector(HeteroVector &&that); ++ HeteroVector(); ++ HeteroVector(const HeteroVector &that); ++ HeteroVector(HeteroVector &&that); + + ~HeteroVector() { clear(); } + +- HMDF_API HeteroVector &operator= (const HeteroVector &rhs); +- HMDF_API HeteroVector &operator= (HeteroVector &&rhs); ++ HeteroVector &operator= (const HeteroVector &rhs); ++ HeteroVector &operator= (HeteroVector &&rhs); + + template + std::vector::type> &get_vector(); +@@ -104,7 +103,7 @@ struct HeteroVector { + template + size_type size () const { return (get_vector().size()); } + +- HMDF_API void clear(); ++ void clear(); + + template + void erase(size_type pos); +--- a/include/DataFrame/Vectors/HeteroView.h ++++ b/include/DataFrame/Vectors/HeteroView.h +@@ -30,7 +30,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #pragma once + + #include +-#include + + #include + #include +@@ -49,7 +48,7 @@ struct HeteroView { + + using size_type = size_t; + +- HMDF_API HeteroView(); ++ HeteroView(); + template + HeteroView(T *begin_ptr, T *end_ptr); + +@@ -65,13 +64,13 @@ struct HeteroView { + template + void set_begin_end_special(T *bp, T *ep_1); + +- HMDF_API HeteroView(const HeteroView &that); +- HMDF_API HeteroView(HeteroView &&that); ++ HeteroView(const HeteroView &that); ++ HeteroView(HeteroView &&that); + + ~HeteroView() { clear(); } + +- HMDF_API HeteroView &operator= (const HeteroView &rhs); +- HMDF_API HeteroView &operator= (HeteroView &&rhs); ++ HeteroView &operator= (const HeteroView &rhs); ++ HeteroView &operator= (HeteroView &&rhs); + + template + VectorView &get_vector(); +@@ -82,7 +81,7 @@ struct HeteroView { + typename VectorView:: + size_type size () const { return (get_vector().size()); } + +- HMDF_API void clear(); ++ void clear(); + + template + bool empty() const noexcept; From d92719bb86365bbc7ea6563b6a3e299777142d3c Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Fri, 19 May 2023 17:22:54 -0300 Subject: [PATCH 0308/4087] (#17601) update sqlite3 to version 3.42.0 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index 6d45e7f1f7b2a..efde056fcf092 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.42.0": + url: "https://sqlite.org/2023/sqlite-amalgamation-3420000.zip" + sha256: "1cc824d0f5e675829fa37018318fda833ea56f7e9de2b41eddd9f7643b5ec29e" "3.41.2": url: "https://sqlite.org/2023/sqlite-amalgamation-3410200.zip" sha256: "01df06a84803c1ab4d62c64e995b151b2dbcf5dbc93bbc5eee213cb18225d987" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index eec1a2b667f2b..50ef72c5285ab 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.42.0": + folder: all "3.41.2": folder: all "3.41.1": From 5b99cc5f29dbee8d7208d57acf052df54b993c3c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 19 May 2023 23:04:35 +0200 Subject: [PATCH 0309/4087] (#17158) libmad: conan v2 support * conan v2 support * drop autotools * drop msvc shared --- recipes/libmad/all/CMakeLists.txt | 34 +++++ recipes/libmad/all/conandata.yml | 2 +- recipes/libmad/all/conanfile.py | 131 ++++++------------ .../libmad/all/test_package/CMakeLists.txt | 7 +- recipes/libmad/all/test_package/conanfile.py | 21 ++- .../libmad/all/test_v1_package/CMakeLists.txt | 8 ++ .../libmad/all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 124 insertions(+), 96 deletions(-) create mode 100644 recipes/libmad/all/CMakeLists.txt create mode 100644 recipes/libmad/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libmad/all/test_v1_package/conanfile.py diff --git a/recipes/libmad/all/CMakeLists.txt b/recipes/libmad/all/CMakeLists.txt new file mode 100644 index 0000000000000..38a40c94acdd8 --- /dev/null +++ b/recipes/libmad/all/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.15) +project(libmad LANGUAGES C) + +add_library(mad + ${LIBMAD_SRC_DIR}/bit.c + ${LIBMAD_SRC_DIR}/decoder.c + ${LIBMAD_SRC_DIR}/fixed.c + ${LIBMAD_SRC_DIR}/frame.c + ${LIBMAD_SRC_DIR}/huffman.c + ${LIBMAD_SRC_DIR}/layer12.c + ${LIBMAD_SRC_DIR}/layer3.c + ${LIBMAD_SRC_DIR}/stream.c + ${LIBMAD_SRC_DIR}/synth.c + ${LIBMAD_SRC_DIR}/timer.c + ${LIBMAD_SRC_DIR}/version.c + ${LIBMAD_SRC_DIR}/huffman.c +) + +target_include_directories(mad PUBLIC ${LIBMAD_SRC_DIR}/msvc++) +target_compile_definitions(mad PRIVATE FPM_DEFAULT ASO_ZEROCHECK HAVE_CONFIG_H) +set_target_properties(mad + PROPERTIES + VERSION ${LIBMAD_VERSION} + SOVERSION ${LIBMAD_VERSION_MAJOR} +) + +include(GNUInstallDirs) +install(FILES ${LIBMAD_SRC_DIR}/msvc++/mad.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install( + TARGETS mad + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} +) diff --git a/recipes/libmad/all/conandata.yml b/recipes/libmad/all/conandata.yml index 15cdb9fb19a6e..ef36d3264b7e2 100644 --- a/recipes/libmad/all/conandata.yml +++ b/recipes/libmad/all/conandata.yml @@ -1,4 +1,4 @@ sources: "0.15.1b": url: "https://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz" - sha256: bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 + sha256: "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690" diff --git a/recipes/libmad/all/conanfile.py b/recipes/libmad/all/conanfile.py index fb912e50ed5eb..ddf1ee367e1b2 100644 --- a/recipes/libmad/all/conanfile.py +++ b/recipes/libmad/all/conanfile.py @@ -1,114 +1,75 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, MSBuild -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, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os -import shutil -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class LibmadConan(ConanFile): name = "libmad" description = "MAD is a high-quality MPEG audio decoder." - topics = ("conan", "mad", "MPEG", "audio", "decoder") + topics = ("mad", "MPEG", "audio", "decoder") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.underbit.com/products/mad/" license = "GPL-2.0-or-later" + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return self.settings.compiler == "Visual Studio" + exports_sources = "CMakeLists.txt" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - def validate(self): - if self.options.shared and self._is_msvc: - raise ConanInvalidConfiguration("libmad does not support shared library for MSVC") - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + def layout(self): + cmake_layout(self, src_folder="src") - def build_requirements(self): - if not self._is_msvc: - self.build_requires("gnu-config/cci.20201022") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + def validate(self): + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} shared not supported by 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 build(self): - if self._is_msvc: - self._build_msvc() - else: - self._build_autotools() - - def _build_msvc(self): - with tools.chdir(os.path.join(self._source_subfolder, "msvc++")): - # cl : Command line error D8016: '/ZI' and '/Gy-' command-line options are incompatible - tools.replace_in_file("libmad.dsp", "/ZI ", "") - if self.settings.arch == "x86_64": - tools.replace_in_file("libmad.dsp", "Win32", "x64") - tools.replace_in_file("libmad.dsp", "FPM_INTEL", "FPM_DEFAULT") - tools.replace_in_file("mad.h", "# define FPM_INTEL", "# define FPM_DEFAULT") - with tools.vcvars(self.settings): - self.run("devenv libmad.dsp /upgrade") - msbuild = MSBuild(self) - msbuild.build(project_file="libmad.vcxproj") - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBMAD_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.variables["LIBMAD_VERSION"] = self.version + tc.variables["LIBMAD_VERSION_MAJOR"] = Version(self.version).major + tc.generate() - def _build_autotools(self): - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "config.guess")) - autotools = self._configure_autotools() - autotools.make() - - def _configure_autotools(self): - if self._autotools: - return self._autotools - args = [] - if self.options.shared: - args = ["--disable-static", "--enable-shared"] - else: - args = ["--disable-shared", "--enable-static"] - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.configure(configure_dir=self._source_subfolder, args=args) - return self._autotools + def build(self): + replace_in_file( + self, os.path.join(self.source_folder, "msvc++", "mad.h"), + "# define FPM_INTEL", "# define FPM_DEFAULT", + ) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() def package(self): - self.copy("COPYRIGHT", dst="licenses", src=self._source_subfolder) - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("CREDITS", dst="licenses", src=self._source_subfolder) - if self._is_msvc: - self.copy(pattern="*.lib", dst="lib", src=self._source_subfolder, keep_path=False) - self.copy(pattern="mad.h", dst="include", src=os.path.join(self._source_subfolder, "msvc++")) - else: - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") + for license_file in ("COPYRIGHT", "COPYING", "CREDITS"): + 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 = ["libmad" if self._is_msvc else "mad"] + self.cpp_info.libs = ["mad"] diff --git a/recipes/libmad/all/test_package/CMakeLists.txt b/recipes/libmad/all/test_package/CMakeLists.txt index 7b9b613cbb24a..74d514ce40214 100644 --- a/recipes/libmad/all/test_package/CMakeLists.txt +++ b/recipes/libmad/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libmad REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libmad::libmad) diff --git a/recipes/libmad/all/test_package/conanfile.py b/recipes/libmad/all/test_package/conanfile.py index d4128b0450777..98ab55852ad56 100644 --- a/recipes/libmad/all/test_package/conanfile.py +++ b/recipes/libmad/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libmad/all/test_v1_package/CMakeLists.txt b/recipes/libmad/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libmad/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmad/all/test_v1_package/conanfile.py b/recipes/libmad/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libmad/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 690fd6125d210a2d6f816b2790ef6c3b5be9f4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20V=C4=8Del=C3=A1k?= <1205482+fcelda@users.noreply.github.com> Date: Fri, 19 May 2023 23:44:48 +0200 Subject: [PATCH 0310/4087] (#17126) uvw: Add conan v2 support * uvw: conan2 support * uvw: update test package * uvw: add test_v1_package * uvw: review: remove uvw from the topics * uvw: review: require fixed libuv version * uvw: review: remove unused variables * uvw: review: move libuv versions to conanfile * uvw: review: remove older recipe versions * uvw: review: remove older recipe version from config * uvw: review: simplify recipe test --- recipes/uvw/all/conandata.yml | 9 -- recipes/uvw/all/conanfile.py | 103 ++++++++---------- recipes/uvw/all/test_package/CMakeLists.txt | 5 +- recipes/uvw/all/test_package/conanfile.py | 19 +++- recipes/uvw/all/test_package/test_package.cpp | 5 +- .../uvw/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/uvw/all/test_v1_package/conanfile.py | 17 +++ recipes/uvw/config.yml | 6 - 8 files changed, 86 insertions(+), 86 deletions(-) create mode 100644 recipes/uvw/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/uvw/all/test_v1_package/conanfile.py diff --git a/recipes/uvw/all/conandata.yml b/recipes/uvw/all/conandata.yml index f47d086dd6f95..4130a1aca6e4b 100644 --- a/recipes/uvw/all/conandata.yml +++ b/recipes/uvw/all/conandata.yml @@ -8,12 +8,3 @@ sources: "2.10.0": url: "https://github.com/skypjack/uvw/archive/v2.10.0_libuv_v1.42.tar.gz" sha256: "30b0ba97a94d5e652490c6b1b32c95e608263f21cf3bc606308d09b3e3a114bf" - "2.9.0": - url: "https://github.com/skypjack/uvw/archive/v2.9.0_libuv_v1.41.tar.gz" - sha256: "dd610cb1626b8a7779ed251584bcc0362fb98fcee13e699680f61828a1ba55de" - "2.8.0": - url: "https://github.com/skypjack/uvw/archive/v2.8.0_libuv_v1.40.tar.gz" - sha256: "aa5769f5b9ba50de72ab02a8f8acf298b4aa9ceaef07992418a13a0fa119ce7d" - "2.6.0": - url: "https://github.com/skypjack/uvw/archive/v2.6.0_libuv-v1.38.tar.gz" - sha256: "2695276bb4b154174ac0a6401bde5c0768bca99a43c9a469af67526f7e2e9410" diff --git a/recipes/uvw/all/conanfile.py b/recipes/uvw/all/conanfile.py index c710f06618ebd..6b312583aebcd 100644 --- a/recipes/uvw/all/conanfile.py +++ b/recipes/uvw/all/conanfile.py @@ -1,85 +1,72 @@ +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 -import glob -import re -from conans import ConanFile, tools -from conans.errors import ConanException, ConanInvalidConfiguration -required_conan_version = ">=1.33.0" + +required_conan_version = ">=1.54.0" + class UvwConan(ConanFile): name = "uvw" description = "Header-only, event based, tiny and easy to use libuv wrapper in modern C++." - topics = ("uvw", "libuv", "io", "networking", "header-only",) + topics = ("libuv", "io", "networking", "header-only",) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/skypjack/uvw" + package_type = "header-library" no_copy_source = True settings = "compiler" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _supported_compiler(self): - compiler = str(self.settings.compiler) - version = tools.Version(self.settings.compiler.version) - if compiler == "Visual Studio" and version >= "15": - return True - if compiler == "gcc" and version >= "7": - return True - if compiler == "clang" and version >= "5": - return True - if compiler == "apple-clang" and version >= "10": - return True - return False - - def configure(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") - if not self._supported_compiler: - raise ConanInvalidConfiguration("uvw requires C++17. {} {} does not support it.".format( - str(self.settings.compiler), - self.settings.compiler.version) - ) + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "gcc": "7", + "clang": "5", + "apple-clang": "10", + } @property - def _required_EXACT_libuv_version(self): - """ Return *EXACT* libuv version to use with this uvw library """ - match = re.match(r".*libuv[_-]v([0-9]+\.[0-9]+).*", self.conan_data["sources"][self.version]["url"]) - if not match: - raise ConanException("uvw recipe does not know what version of libuv to use as dependency") - return tools.Version(match.group(1)) + def _required_libuv_version(self): + return { + "2.12.1": "1.44.2", + "2.11.0": "1.43.0", + "2.10.0": "1.42.0", + }[self.version] + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - libuv_version = self._required_EXACT_libuv_version - revision = 0 - if libuv_version.major == "1" and libuv_version.minor == "44": - revision = 1 - self.requires("libuv/{}.{}.{}".format(libuv_version.major, libuv_version.minor, revision)) + self.requires(f"libuv/{self._required_libuv_version}") def package_id(self): - self.info.header_only() + 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("{self.ref} requires C++{self._min_cppstd}, which your compiler doesn't support") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "src")) - self.copy("*", dst=os.path.join("include", "uvw"), src=os.path.join(self._source_subfolder, "src", "uvw")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*.hpp", src=os.path.join(self.source_folder, "src"), dst=os.path.join(self.package_folder, "include")) + copy(self, "*", src=os.path.join(self.source_folder, "src", "uvw"), dst=os.path.join(self.package_folder, "include", "uvw")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) def package_info(self): - # Check whether the version of libuv used as a requirement is ok - required_version = self._required_EXACT_libuv_version - tuple_exact = (required_version.major, required_version.minor) - - current_version = tools.Version(self.deps_cpp_info["libuv"].version) - tuple_current = (current_version.major, current_version.minor) - - if tuple_exact != tuple_current: - raise ConanException("This version of uvw requires an exact libuv version as dependency: {}.{}".format( - required_version.major, - required_version.minor) - ) + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/uvw/all/test_package/CMakeLists.txt b/recipes/uvw/all/test_package/CMakeLists.txt index 6a744e56bf2d7..2040ab68d4259 100644 --- a/recipes/uvw/all/test_package/CMakeLists.txt +++ b/recipes/uvw/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.1) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(uvw REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} uvw::uvw) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/uvw/all/test_package/conanfile.py b/recipes/uvw/all/test_package/conanfile.py index 90eb89e3f2f46..9be22ab3d97f8 100644 --- a/recipes/uvw/all/test_package/conanfile.py +++ b/recipes/uvw/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -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/uvw/all/test_package/test_package.cpp b/recipes/uvw/all/test_package/test_package.cpp index dda75d5b7decc..79042982db2f2 100644 --- a/recipes/uvw/all/test_package/test_package.cpp +++ b/recipes/uvw/all/test_package/test_package.cpp @@ -1,8 +1,5 @@ -#include - #include int main() { - auto loop = uvw::Loop::getDefault(); - assert(loop != nullptr); + uvw::Loop::getDefault(); } diff --git a/recipes/uvw/all/test_v1_package/CMakeLists.txt b/recipes/uvw/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/uvw/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/uvw/all/test_v1_package/conanfile.py b/recipes/uvw/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/uvw/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) diff --git a/recipes/uvw/config.yml b/recipes/uvw/config.yml index 96dd6767e90c4..92580e1d6336d 100644 --- a/recipes/uvw/config.yml +++ b/recipes/uvw/config.yml @@ -5,9 +5,3 @@ versions: folder: "all" "2.10.0": folder: "all" - "2.9.0": - folder: "all" - "2.8.0": - folder: "all" - "2.6.0": - folder: "all" From 69153aafce6f6f6a0d6ef9619a952f880322361f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20Kl=C3=B6ckner?= Date: Sat, 20 May 2023 00:27:47 +0200 Subject: [PATCH 0311/4087] (#15235) android-ndk: add NDK r19c and r20b * Add Android NDK r19c and r20b * Add new versions to config.yml * Remove module and config CMake files --- recipes/android-ndk/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/android-ndk/all/conanfile.py | 6 +++++- recipes/android-ndk/config.yml | 4 ++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/recipes/android-ndk/all/conandata.yml b/recipes/android-ndk/all/conandata.yml index 3276410e65493..020850fb26202 100644 --- a/recipes/android-ndk/all/conandata.yml +++ b/recipes/android-ndk/all/conandata.yml @@ -142,3 +142,29 @@ sources: "x86_64": url: "https://dl.google.com/android/repository/android-ndk-r21d-darwin-x86_64.zip" sha256: "5851115c6fc4cce26bc320295b52da240665d7ff89bda2f5d5af1887582f5c48" + "r20b": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r20b-windows-x86_64.zip" + sha256: "b9dd083aae7a29c887876ffb3840d4b192dee1a05ad9dbf545f2facd00b4e821" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip" + sha256: "8381c440fe61fcbb01e209211ac01b519cd6adf51ab1c2281d5daad6ca4c8c8c" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r20b-darwin-x86_64.zip" + sha256: "4d760db479de1b6e54f5da2fe894a35f120ad4d6ccf4b989254940183ca00c08" + "r19c": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r19c-windows-x86_64.zip" + sha256: "0faf708c9837a921cae5262745f5857162614bb9689a0d188780d12ea93a2c18" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip" + sha256: "4c62514ec9c2309315fd84da6d52465651cdb68605058f231f1e480fcf2692e1" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip" + sha256: "4eeaddcb4bb58b2a10a9712f9b8e84ea83889786a88923879e973058f59281cf" diff --git a/recipes/android-ndk/all/conanfile.py b/recipes/android-ndk/all/conanfile.py index 7d9d0cacc05ec..af3c867fd7625 100644 --- a/recipes/android-ndk/all/conanfile.py +++ b/recipes/android-ndk/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, download, unzip, load, copy +from conan.tools.files import get, download, unzip, load, copy, rm from conan.tools.layout import basic_layout from conan.tools.scm import Version import os @@ -76,6 +76,10 @@ def package(self): copy(self, "cmake-wrapper", src=os.path.join(self.source_folder, os.pardir), dst=os.path.join(self.package_folder, "bin")) self._fix_broken_links() self._fix_permissions() + # Remove module and config CMake files, see https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#kb-h016-cmake-modules-config-files + rm(self, "*Config.cmake", os.path.join(self.package_folder, "bin"), recursive=True) + rm(self, "*-config.cmake", os.path.join(self.package_folder, "bin"), recursive=True) + rm(self, "Find*.cmake", os.path.join(self.package_folder, "bin"), recursive=True) # from here on, everything is assumed to run in 2 profile mode, using this android-ndk recipe as a build requirement diff --git a/recipes/android-ndk/config.yml b/recipes/android-ndk/config.yml index bf4ed9150d9a2..abc3839165991 100644 --- a/recipes/android-ndk/config.yml +++ b/recipes/android-ndk/config.yml @@ -21,3 +21,7 @@ versions: folder: all "r21d": folder: all + "r20b": + folder: all + "r19c": + folder: all From 67c3111013c094a41c5633b61734bb4c10de2f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 20 May 2023 04:23:37 +0200 Subject: [PATCH 0312/4087] (#17628) libcurl: Use cert conf * Cert conf for libcurl * Typo --- recipes/libcurl/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index cca1e3740917d..d7c8bcbae11b7 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -226,7 +226,9 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - download(self, "https://curl.se/ca/cacert-2023-01-10.pem", "cacert.pem", verify=True, sha256="fb1ecd641d0a02c01bc9036d513cb658bbda62a75e246bedbc01764560a639f0") + cert_url = self.conf.get("user.libcurl.cert:url", check_type=str) or "https://curl.se/ca/cacert-2023-01-10.pem" + cert_sha256 = self.conf.get("user.libcurl.cert:sha256", check_type=str) or "fb1ecd641d0a02c01bc9036d513cb658bbda62a75e246bedbc01764560a639f0" + download(self, cert_url, "cacert.pem", verify=True, sha256=cert_sha256) def generate(self): env = VirtualBuildEnv(self) From ce9305aefe172dd4c46d8f1ea38861006002b1e3 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 20 May 2023 18:01:45 +0900 Subject: [PATCH 0313/4087] (#17635) ada: add version 2.4.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 d0bbb11a602e2..d0ba115e7230a 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.2": + url: "https://github.com/ada-url/ada/archive/v2.4.2.tar.gz" + sha256: "d865ab8828c14fc1e2217ca9f5d7918d50775175b2873faf2fbda0085e0623d2" "2.4.1": url: "https://github.com/ada-url/ada/archive/refs/tags/v2.4.1.tar.gz" sha256: "e9359937e7aeb8e5889515c0a9e22cd5da50e9b053038eb092135a0e64888fe7" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 9428da9743763..635bf97e9cb5b 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.2": + folder: all "2.4.1": folder: all "2.4.0": From 6b0a237e7bccb316399164e2251e3332e72abb84 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Sat, 20 May 2023 11:43:44 -0700 Subject: [PATCH 0314/4087] (#17374) docs: add standing convention for naming forks of projects * docs: add standing convention for naming forks of projects * docs: link from attribute rules for name * Apply suggestions from code review Co-authored-by: SSE4 --------- Co-authored-by: SSE4 --- docs/adding_packages/conanfile_attributes.md | 1 + docs/faqs.md | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/docs/adding_packages/conanfile_attributes.md b/docs/adding_packages/conanfile_attributes.md index 37395fdd866c3..66bd21cf8d8b9 100644 --- a/docs/adding_packages/conanfile_attributes.md +++ b/docs/adding_packages/conanfile_attributes.md @@ -33,6 +33,7 @@ Same as the _recipe folder_ and always lowercase. Please see the FAQs for: * [name collisions](../faqs.md#what-is-the-policy-on-recipe-name-collisions) +* [naming forks](../faqs.md##what-is-the-policy-for-naming-forks) * [space and symbols](../faqs.md#should-reference-names-use---or-_) ### Version diff --git a/docs/faqs.md b/docs/faqs.md index 80b4a41020b98..b84d6e6a09102 100644 --- a/docs/faqs.md +++ b/docs/faqs.md @@ -6,6 +6,7 @@ This section gathers the most common questions from the community related to pac ## Contents * [What is the policy on recipe name collisions?](#what-is-the-policy-on-recipe-name-collisions) + * [What is the policy for naming forks?](#what-is-the-policy-for-naming-forks) * [What is the policy on creating packages from pre-compiled binaries?](#what-is-the-policy-on-creating-packages-from-pre-compiled-binaries) * [Should reference names use `-` or `_`?](#should-reference-names-use---or-_) * [Why are CMake find/config files and pkg-config files not packaged?](#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged) @@ -55,6 +56,15 @@ However, if it is not possible and there is the case of a new recipe producing a For example, `GSL` is the name of `Guidelines Support Library` from Microsoft and `GNU Scientific Library` from GNU. Both libraries are commonly known as `gsl`, however, to disambiguate (if there is already a `gsl` package in this repo) we could use `ms-gsl` in the first case or `gnu-gsl` in the second. +## What is the policy for naming forks? + +When submitting recipes, it's important to pick names which clearly identify the source. For projects which are forks of existing but diverge significantly enough +to be unique (subject to opinion), they should be prefixed with the author or organization such as `author-name`. A good example is the [crow](https://github.com/ipkn/crow) +which was forked [crowcpp-crow](https://github.com/CrowCpp/Crow). The original project maintains the `crow` name where as the more featured and advanced fork is `crowcpp-crow`. + +Forks are acceptable submissions given they have significantly divergent from the upstream. This can include adding new features, updating compiler or standard support, and actively being maintained. Changes which are not sufficient are build scripts, small bug fixes, "conan-ization" - all of these can be +[applied as patches to the original](adding_packages/sources_and_patches.md). + ## What is the policy on creating packages from pre-compiled binaries? The policy is that in the general case [recipes should build packages from sources](adding_packages/sources_and_patches.md#picking-the-sources), because of reproducibility and security concerns. The implication is that the sources must be publicly available, and in a format that can be consumed programmatically. From 697e0fdefd7a9d2c50a9c92107cdbaba0f7c2e86 Mon Sep 17 00:00:00 2001 From: Stas <69521847+staskau@users.noreply.github.com> Date: Sun, 21 May 2023 10:04:23 +0200 Subject: [PATCH 0315/4087] (#16976) Verilator: add version 5.008 * add version 5.008 * add version 5.004 instead of 5.008 in order to avoid dependency to help2man * delete empty line * fix version name --- recipes/verilator/all/conandata.yml | 3 +++ recipes/verilator/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/verilator/all/conandata.yml b/recipes/verilator/all/conandata.yml index d1f4e9b1e9a56..5919b3eb0c751 100644 --- a/recipes/verilator/all/conandata.yml +++ b/recipes/verilator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.004": + url: "https://github.com/verilator/verilator/archive/refs/tags/v5.004.tar.gz" + sha256: "7d193a09eebefdbec8defaabfc125663f10cf6ab0963ccbefdfe704a8a4784d2" "4.224": url: "https://github.com/verilator/verilator/archive/refs/tags/v4.224.tar.gz" sha256: "010ff2b5c76d4dbc2ed4a3278a5599ba35c8ed4c05690e57296d6b281591367b" diff --git a/recipes/verilator/config.yml b/recipes/verilator/config.yml index 63930f262a916..41c32c5e1838b 100644 --- a/recipes/verilator/config.yml +++ b/recipes/verilator/config.yml @@ -7,3 +7,5 @@ versions: folder: all "4.224": folder: all + "5.004": + folder: all From 046a0ea5a968280b7b1c812a9bf1b7c64202694e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 22 May 2023 02:21:47 +0900 Subject: [PATCH 0316/4087] (#17641) luau: add version 0.577 --- recipes/luau/all/conandata.yml | 7 +++++++ recipes/luau/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index d9396fa422030..c127812d6a812 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.577": + url: "https://github.com/Roblox/luau/archive/0.577.tar.gz" + sha256: "4fd3f0d7a3bb6a9f4ed69711d261c4ae6ab6dfe8eb8e444f738c3338c559c7c8" "0.572": url: "https://github.com/Roblox/luau/archive/0.572.tar.gz" sha256: "5cdd13233eefc4b3f27970118272254a24be81fafcccf60e7a29391fbc529151" @@ -30,6 +33,10 @@ sources: url: "https://github.com/Roblox/luau/archive/0.540.tar.gz" sha256: "84b3e52b3b0ccf4d5bc0e0c04055f3a9b2f045c1281e203a858335a6fe76b0ff" patches: + "0.577": + - patch_file: "patches/0.572-0001-fix-cmake.patch" + patch_description: "enable shared build" + patch_type: "portability" "0.572": - patch_file: "patches/0.572-0001-fix-cmake.patch" patch_description: "enable shared build" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 7a020ec6f4657..53d1e61ba8c54 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.577": + folder: all "0.572": folder: all "0.568": From 6d6bed97c78aa6374d01ded32561056e5ff3e916 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Sun, 21 May 2023 20:41:35 +0200 Subject: [PATCH 0317/4087] (#17642) ccache: add version 4.8.1 --- recipes/ccache/all/conandata.yml | 7 +++++++ recipes/ccache/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index f619a4b106905..4e411c4409cdf 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -6,6 +9,10 @@ sources: url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz" sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36" patches: + "4.8.1": + - patch_file: "patches/4.8-cmake-msvc-runtime.patch" + patch_description: "fixup MSVC runtime" + patch_type: "conan" "4.8": - patch_file: "patches/4.8-cmake-msvc-runtime.patch" patch_description: "fixup MSVC runtime" diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index f0dd21774402e..6bdb34d995150 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,4 +1,6 @@ versions: + "4.8.1": + folder: all "4.8": folder: all "4.7.4": From ea19dfd549470ada2b23e3340a2f571f0afaf154 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 22 May 2023 05:01:37 +0900 Subject: [PATCH 0318/4087] (#17643) daw_header_libraries: add version 2.92.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 759c5753e034d..235989d757184 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 95e2e809241da..622972bcce45d 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.92.0": + folder: all "2.88.0": folder: all "2.85.1": From 80a6759c1979c0806f09459dc8101ff138356cb7 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 22 May 2023 07:01:47 +0900 Subject: [PATCH 0319/4087] (#17644) daw_utf_range: update daw_header_libraries --- recipes/daw_utf_range/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index 39ca72fe75c36..f289799db1a13 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.88.0") + self.requires("daw_header_libraries/2.92.0") def package_id(self): self.info.clear() From d413b8352cb268e77a3051fcb63c8dad14e21e87 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Mon, 22 May 2023 00:01:53 -0700 Subject: [PATCH 0320/4087] (#17648) antlr4-cppruntime: Add version 4.13.0. --- recipes/antlr4-cppruntime/all/conandata.yml | 3 +++ recipes/antlr4-cppruntime/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/antlr4-cppruntime/all/conandata.yml b/recipes/antlr4-cppruntime/all/conandata.yml index cbefbe9948203..28bc286ec79b5 100644 --- a/recipes/antlr4-cppruntime/all/conandata.yml +++ b/recipes/antlr4-cppruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.13.0": + url: "https://github.com/antlr/antlr4/archive/refs/tags/4.13.0.tar.gz" + sha256: "b7082b539256e6de5137a7d57afe89493dce234a3ce686dbae709ef6cf2d2c81" "4.12.0": url: "https://github.com/antlr/antlr4/archive/refs/tags/4.12.0.tar.gz" sha256: "8b6050a2111a6bb6405cc5e9e7bca80c136548ac930e4b2c27566d1eb32f8aed" diff --git a/recipes/antlr4-cppruntime/config.yml b/recipes/antlr4-cppruntime/config.yml index 58018c9cc3666..62ba72dbb3e3f 100644 --- a/recipes/antlr4-cppruntime/config.yml +++ b/recipes/antlr4-cppruntime/config.yml @@ -1,4 +1,6 @@ versions: + "4.13.0": + folder: all "4.12.0": folder: all "4.11.1": From 69a9bc5354ae6133aad09c3e94a86d6d507a3a6e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 22 May 2023 03:27:35 -0500 Subject: [PATCH 0321/4087] (#13400) gstreamer: Support Conan V2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gstreamer: Support Conan V2 Add test package for PkgConfigDeps generator. * Fix licenses installation * Check for pkgconf conf setting * Fix Apple shared install name * Fix Python F-string * Organize versions in descending order * Update dependencies and use rm_safe * Fix license The GStreamer library is LGPL 2.0 or later. See gst.h. The use of certain GPL-linked plugins may make it GPL. * Don't use fix_apple_shared_install_name This results in the error "otool-classic: can't map file." * Bump glib to 2.75.1 * Place MesonToolchain last in generate method * Add glib as a tool_requires for the glib-mkenums tool * Bump Meson and glib versions * Remove package_id method * Update other glib version * Remove package_id method? * Update test v1 package * Add package type * Update glib to 2.76.0 * Bump glib to version 2.76.1 * Bump CMake version * Bump glib * Change CMake project name of test v1 package * Fix package name * gstreamer: add timeout when calling test_package and add GST_DEBUG to runtime * gstreamer test package: generate virtualrunenv * gstreamer: undo debugging and fix conan2 * gstreamer: fix removal of pdb files on Windows/msvc * Update recipes/gstreamer/all/conanfile.py * Update recipes/gstreamer/all/conanfile.py * Update recipes/gstreamer/all/conanfile.py * gstreamer test_package: add GST_DEBUG env var * gstreamer: use newer runenv info * transitive_libs might be needed after all --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Co-authored-by: Rubén Rincón --- recipes/gstreamer/all/conandata.yml | 30 +-- recipes/gstreamer/all/conanfile.py | 183 +++++++++--------- .../gstreamer/all/test_package/CMakeLists.txt | 33 +++- .../gstreamer/all/test_package/conanfile.py | 37 +++- .../all/test_v1_package/CMakeLists.txt | 15 ++ .../all/test_v1_package/conanfile.py | 18 ++ recipes/gstreamer/config.yml | 12 +- 7 files changed, 201 insertions(+), 127 deletions(-) create mode 100644 recipes/gstreamer/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/gstreamer/all/test_v1_package/conanfile.py diff --git a/recipes/gstreamer/all/conandata.yml b/recipes/gstreamer/all/conandata.yml index 5c2457feed4e9..39e4939669206 100644 --- a/recipes/gstreamer/all/conandata.yml +++ b/recipes/gstreamer/all/conandata.yml @@ -1,19 +1,19 @@ sources: - "1.16.2": - sha256: "dac037ab84d557f5d4e6e66e833f6bf8cf4f84671a311e0b2df99f9b30a9d693" - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.16.2/gstreamer-1.16.2.tar.bz2" - "1.18.0": - sha256: "f072da67b6dad9b4aecf2cb594aaaa66f86c22af9ba80503b90f957d47015ef8" - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.18.0/gstreamer-1.18.0.tar.bz2" - "1.18.3": - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.18.3/gstreamer-1.18.3.tar.gz" - sha256: "d7e3917b5d3d9c3bd9bb70b7500314a5725377cff39bcd818df13c1fda0f60ba" - "1.18.4": - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.18.4/gstreamer-1.18.4.tar.gz" - sha256: "f0956c2056281f5909d030945a9896810e55084f29b6bcfc401b53e91ddf1c7f" - "1.19.1": - url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.19.1/gstreamer-1.19.1.tar.gz" - sha256: "2e51f61e59564e48883b5f1996871b0d1c404406aadb9aa1b306de8a2a331a90" "1.19.2": url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.19.2/gstreamer-1.19.2.tar.gz" sha256: "6ec8494867d9b58f145c0c357da631faf21c2c72c7cd8b637b440188fe904ab8" + "1.19.1": + url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.19.1/gstreamer-1.19.1.tar.gz" + sha256: "2e51f61e59564e48883b5f1996871b0d1c404406aadb9aa1b306de8a2a331a90" + "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" diff --git a/recipes/gstreamer/all/conanfile.py b/recipes/gstreamer/all/conanfile.py index f2f81654473da..2c45e3ce6053d 100644 --- a/recipes/gstreamer/all/conanfile.py +++ b/recipes/gstreamer/all/conanfile.py @@ -1,18 +1,26 @@ -from conans import ConanFile, tools, Meson, VisualStudioBuildEnvironment -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, rename, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version + import glob import os -import shutil -required_conan_version = ">=1.29" +required_conan_version = ">=1.53.0" class GStreamerConan(ConanFile): name = "gstreamer" description = "GStreamer is a development framework for creating applications like media players, video editors, streaming media broadcasters and so on" - topics = ("conan", "gstreamer", "multimedia", "video", "audio", "broadcasting", "framework", "media") + topics = ("multimedia", "video", "audio", "broadcasting", "framework", "media") url = "https://github.com/conan-io/conan-center-index" homepage = "https://gstreamer.freedesktop.org/" - license = "GPL-2.0-only" + license = "LGPL-2.0-or-later" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,104 +32,86 @@ class GStreamerConan(ConanFile): "fPIC": True, "with_introspection": False, } - generators = "pkg_config" - _meson = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def requirements(self): - self.requires("glib/2.72.0") - @property - def _is_msvc(self): - return self.settings.compiler == "Visual Studio" + def config_options(self): + if self.settings.os == 'Windows': + del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def config_options(self): - if self.settings.os == 'Windows': - del self.options.fPIC + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("glib/2.76.2", transitive_headers=True, transitive_libs=True) def validate(self): - if not self.options["glib"].shared and self.options.shared: + if not self.dependencies.direct_host["glib"].options.shared and self.info.options.shared: # https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/133 raise ConanInvalidConfiguration("shared GStreamer cannot link to static GLib") def build_requirements(self): - self.build_requires("meson/0.61.2") - self.build_requires("pkgconf/1.7.4") + self.tool_requires("meson/1.1.0") + # There used to be an issue with glib being shared by default but its dependencies being static + # No longer the case, but see: https://github.com/conan-io/conan-center-index/pull/13400#issuecomment-1551565573 for context + self.tool_requires("glib/2.76.2") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.3") if self.options.with_introspection: - self.build_requires("gobject-introspection/1.70.0") + self.tool_requires("gobject-introspection/1.72.0") if self.settings.os == 'Windows': - self.build_requires("winflexbison/2.5.24") + self.tool_requires("winflexbison/2.5.24") else: - self.build_requires("bison/3.7.6") - self.build_requires("flex/2.6.4") + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("%s-%s" % (self.name, self.version), self._source_subfolder) - - def _configure_meson(self): - if self._meson: - return self._meson - meson = Meson(self) - if self._is_msvc: - if tools.Version(self.settings.compiler.version) < "14": - meson.options["c_args"] = " -Dsnprintf=_snprintf" - meson.options["cpp_args"] = " -Dsnprintf=_snprintf" - if self.settings.get_safe("compiler.runtime"): - meson.options["b_vscrt"] = str(self.settings.compiler.runtime).lower() - meson.options["tools"] = "disabled" - meson.options["examples"] = "disabled" - meson.options["benchmarks"] = "disabled" - meson.options["tests"] = "disabled" - meson.options["introspection"] = "enabled" if self.options.with_introspection else "disabled" - meson.configure(build_folder=self._build_subfolder, - source_folder=self._source_subfolder, - args=['--wrap-mode=nofallback']) - self._meson = meson - return self._meson + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() + tc = MesonToolchain(self) + if is_msvc(self) and not check_min_vs(self, "190", raise_invalid=False): + tc.project_options["c_std"] = "c99" + tc.project_options["tools"] = "disabled" + tc.project_options["examples"] = "disabled" + tc.project_options["benchmarks"] = "disabled" + tc.project_options["tests"] = "disabled" + tc.project_options["introspection"] = "enabled" if self.options.with_introspection else "disabled" + tc.generate() def build(self): - with tools.environment_append(VisualStudioBuildEnvironment(self).vars) if self._is_msvc else tools.no_op(): - meson = self._configure_meson() - meson.build() + meson = Meson(self) + meson.configure() + meson.build() def _fix_library_names(self, path): # regression in 1.16 - if self.settings.compiler == "Visual Studio": - with tools.chdir(path): + if is_msvc(self): + with chdir(self, path): for filename_old in glob.glob("*.a"): filename_new = filename_old[3:-2] + ".lib" - self.output.info("rename %s into %s" % (filename_old, filename_new)) - shutil.move(filename_old, filename_new) + self.output.info(f"rename {filename_old} into {filename_new}") + rename(self, filename_old, filename_new) 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() + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() self._fix_library_names(os.path.join(self.package_folder, "lib")) self._fix_library_names(os.path.join(self.package_folder, "lib", "gstreamer-1.0")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "lib", "gstreamer-1.0", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.remove_files_by_mask(self.package_folder, "*.pdb") - - def package_id(self): - self.info.requires["glib"].full_package_mode() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "gstreamer-1.0", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", self.package_folder, recursive=True) def package_info(self): gst_plugin_path = os.path.join(self.package_folder, "lib", "gstreamer-1.0") @@ -129,16 +119,18 @@ def package_info(self): pkgconfig_variables = { "exec_prefix": "${prefix}", "toolsdir": "${exec_prefix}/bin", - "pluginsdir": "${libdir}/gstreamer-1.0", + # PkgConfigDep uses libdir1 instead of libdir, so the path is spelled out explicitly here. + "pluginsdir": "${prefix}/lib/gstreamer-1.0", "datarootdir": "${prefix}/share", "datadir": "${datarootdir}", "girdir": "${datadir}/gir-1.0", - "typelibdir": "${libdir}/girepository-1.0", + "typelibdir": "${prefix}/lib/girepository-1.0", "libexecdir": "${prefix}/libexec", "pluginscannerdir": "${libexecdir}/gstreamer-1.0", } pkgconfig_custom_content = "\n".join("{}={}".format(key, value) for key, value in pkgconfig_variables.items()) + self.cpp_info.components["gstreamer-1.0"].set_property("pkg_config_name", "gstreamer-1.0") self.cpp_info.components["gstreamer-1.0"].names["pkg_config"] = "gstreamer-1.0" self.cpp_info.components["gstreamer-1.0"].requires = ["glib::glib-2.0", "glib::gobject-2.0"] if not self.options.shared: @@ -149,13 +141,15 @@ def package_info(self): if self.settings.os == "Linux": self.cpp_info.components["gstreamer-1.0"].system_libs = ["m"] 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") self.cpp_info.components["gstreamer-base-1.0"].names["pkg_config"] = "gstreamer-base-1.0" self.cpp_info.components["gstreamer-base-1.0"].requires = ["gstreamer-1.0"] self.cpp_info.components["gstreamer-base-1.0"].libs = ["gstbase-1.0"] self.cpp_info.components["gstreamer-base-1.0"].includedirs = [os.path.join("include", "gstreamer-1.0")] self.cpp_info.components["gstreamer-base-1.0"].set_property("pkg_config_custom_content", pkgconfig_custom_content) - + + self.cpp_info.components["gstreamer-controller-1.0"].set_property("pkg_config_name", "gstreamer-controller-1.0") self.cpp_info.components["gstreamer-controller-1.0"].names["pkg_config"] = "gstreamer-controller-1.0" self.cpp_info.components["gstreamer-controller-1.0"].requires = ["gstreamer-1.0"] self.cpp_info.components["gstreamer-controller-1.0"].libs = ["gstcontroller-1.0"] @@ -163,13 +157,15 @@ def package_info(self): if self.settings.os == "Linux": self.cpp_info.components["gstreamer-controller-1.0"].system_libs = ["m"] self.cpp_info.components["gstreamer-controller-1.0"].set_property("pkg_config_custom_content", pkgconfig_custom_content) - + + 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"] 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) - + + self.cpp_info.components["gstreamer-check-1.0"].set_property("pkg_config_name", "gstreamer-check-1.0") self.cpp_info.components["gstreamer-check-1.0"].names["pkg_config"] = "gstreamer-check-1.0" self.cpp_info.components["gstreamer-check-1.0"].requires = ["gstreamer-1.0"] self.cpp_info.components["gstreamer-check-1.0"].libs = ["gstcheck-1.0"] @@ -177,15 +173,17 @@ def package_info(self): if self.settings.os == "Linux": 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 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" self.cpp_info.components["gstcoreelements"].requires = ["glib::gobject-2.0", "glib::glib-2.0", "gstreamer-1.0", "gstreamer-base-1.0"] self.cpp_info.components["gstcoreelements"].libs = ["gstcoreelements"] self.cpp_info.components["gstcoreelements"].includedirs = [os.path.join("include", "gstreamer-1.0")] self.cpp_info.components["gstcoreelements"].libdirs = [gst_plugin_path] + self.cpp_info.components["gstcoretracers"].set_property("pkg_config_name", "gstcoretracers") self.cpp_info.components["gstcoretracers"].names["pkg_config"] = "gstcoretracers" self.cpp_info.components["gstcoretracers"].requires = ["gstreamer-1.0"] self.cpp_info.components["gstcoretracers"].libs = ["gstcoretracers"] @@ -193,18 +191,23 @@ def package_info(self): self.cpp_info.components["gstcoretracers"].libdirs = [gst_plugin_path] if self.options.shared: - self.output.info("Appending GST_PLUGIN_PATH env var : %s" % gst_plugin_path) - self.env_info.GST_PLUGIN_PATH.append(gst_plugin_path) + self.runenv_info.define_path("GST_PLUGIN_PATH", gst_plugin_path) gstreamer_root = self.package_folder - self.output.info("Creating GSTREAMER_ROOT env var : %s" % gstreamer_root) - self.env_info.GSTREAMER_ROOT = gstreamer_root gst_plugin_scanner = "gst-plugin-scanner.exe" if self.settings.os == "Windows" else "gst-plugin-scanner" gst_plugin_scanner = os.path.join(self.package_folder, "bin", "gstreamer-1.0", gst_plugin_scanner) - self.output.info("Creating GST_PLUGIN_SCANNER env var : %s" % gst_plugin_scanner) + self.runenv_info.define_path("GSTREAMER_ROOT", gstreamer_root) + self.runenv_info.define_path("GST_PLUGIN_SCANNER", gst_plugin_scanner) + if self.settings.arch == "x86": + self.runenv_info.define_path("GSTREAMER_ROOT_X86", gstreamer_root) + elif self.settings.arch == "x86_64": + self.runenv_info.define_path("GSTREAMER_ROOT_X86_64", gstreamer_root) + + # TODO: remove the following when only Conan 2.0 is supported + if self.options.shared: + self.env_info.GST_PLUGIN_PATH.append(gst_plugin_path) + self.env_info.GSTREAMER_ROOT = gstreamer_root self.env_info.GST_PLUGIN_SCANNER = gst_plugin_scanner if self.settings.arch == "x86": - self.output.info("Creating GSTREAMER_ROOT_X86 env var : %s" % gstreamer_root) self.env_info.GSTREAMER_ROOT_X86 = gstreamer_root elif self.settings.arch == "x86_64": - self.output.info("Creating GSTREAMER_ROOT_X86_64 env var : %s" % gstreamer_root) self.env_info.GSTREAMER_ROOT_X86_64 = gstreamer_root diff --git a/recipes/gstreamer/all/test_package/CMakeLists.txt b/recipes/gstreamer/all/test_package/CMakeLists.txt index 4e7b0a54031d8..d70e14ee506c0 100644 --- a/recipes/gstreamer/all/test_package/CMakeLists.txt +++ b/recipes/gstreamer/all/test_package/CMakeLists.txt @@ -1,15 +1,28 @@ -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(gstreamer REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} - gstreamer::gstreamer-1.0 gstreamer::gstreamer-base-1.0 gstreamer::gstreamer-controller-1.0 - gstreamer::gstreamer-net-1.0 gstreamer::gstreamer-check-1.0) -if (TARGET gstreamer::gstcoreelements) - target_link_libraries(${PROJECT_NAME} gstreamer::gstcoreelements) -endif () + +if (CMAKE_SYSTEM_NAME STREQUAL "Windows") + target_link_libraries(${PROJECT_NAME} PRIVATE + gstreamer::gstreamer-1.0 gstreamer::gstreamer-base-1.0 gstreamer::gstreamer-controller-1.0 + gstreamer::gstreamer-net-1.0 gstreamer::gstreamer-check-1.0) + if (TARGET gstreamer::gstcoreelements) + target_link_libraries(${PROJECT_NAME} PRIVATE gstreamer::gstcoreelements) + endif () +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(gstreamer-1.0 REQUIRED IMPORTED_TARGET gstreamer-1.0) + pkg_check_modules(gstreamer-base-1.0 REQUIRED IMPORTED_TARGET gstreamer-base-1.0) + pkg_check_modules(gstreamer-controller-1.0 REQUIRED IMPORTED_TARGET gstreamer-controller-1.0) + pkg_check_modules(gstreamer-net-1.0 REQUIRED IMPORTED_TARGET gstreamer-net-1.0) + pkg_check_modules(gstreamer-check-1.0 REQUIRED IMPORTED_TARGET gstreamer-check-1.0) + pkg_check_modules(gstcoreelements IMPORTED_TARGET gstcoreelements) + target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::gstreamer-1.0 PkgConfig::gstreamer-base-1.0 PkgConfig::gstreamer-controller-1.0 + PkgConfig::gstreamer-net-1.0 PkgConfig::gstreamer-check-1.0) + if (TARGET PkgConfig::gstcoreelements) + target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::gstcoreelements) + endif () +endif() diff --git a/recipes/gstreamer/all/test_package/conanfile.py b/recipes/gstreamer/all/test_package/conanfile.py index 49a3a66ea5bad..bdc56ffa1130e 100644 --- a/recipes/gstreamer/all/test_package/conanfile.py +++ b/recipes/gstreamer/all/test_package/conanfile.py @@ -1,10 +1,35 @@ -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, CMakeDeps, CMakeToolchain +from conan.tools.env import Environment, VirtualRunEnv +from conan.tools.gnu import PkgConfigDeps import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.generate() + tc = CMakeToolchain(self) + tc.generate() + runenv = VirtualRunEnv(self) + runenv.generate() + + # Print debug information from gstreamer at runtime + env = Environment() + env.define("GST_DEBUG", "7") + env.vars(self, scope="run").save_script("conanrun_gstdebug") def build(self): cmake = CMake(self) @@ -12,6 +37,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/gstreamer/all/test_v1_package/CMakeLists.txt b/recipes/gstreamer/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..73976ce47fac2 --- /dev/null +++ b/recipes/gstreamer/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(gstreamer REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE + gstreamer::gstreamer-1.0 gstreamer::gstreamer-base-1.0 gstreamer::gstreamer-controller-1.0 + gstreamer::gstreamer-net-1.0 gstreamer::gstreamer-check-1.0) +if (TARGET gstreamer::gstcoreelements) + target_link_libraries(${PROJECT_NAME} PRIVATE gstreamer::gstcoreelements) +endif () diff --git a/recipes/gstreamer/all/test_v1_package/conanfile.py b/recipes/gstreamer/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/gstreamer/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/gstreamer/config.yml b/recipes/gstreamer/config.yml index e2a4a362c2d1c..ced567b81f5cb 100644 --- a/recipes/gstreamer/config.yml +++ b/recipes/gstreamer/config.yml @@ -1,13 +1,13 @@ versions: - "1.16.2": - folder: all - "1.18.0": + "1.19.2": folder: all - "1.18.3": + "1.19.1": folder: all "1.18.4": folder: all - "1.19.1": + "1.18.3": folder: all - "1.19.2": + "1.18.0": + folder: all + "1.16.2": folder: all From 4f8f0e095caebfdba20ab00e98bd73e32bf7e6ef Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 22 May 2023 11:21:45 +0200 Subject: [PATCH 0322/4087] (#17649) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index e04ff807a175f..c83eae47b4757 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -74,6 +74,7 @@ required_for_references: - brigand - brotli - brynet +- bshoshany-thread-pool - bullet3 - butteraugli - bvdberg-ctest @@ -346,6 +347,7 @@ required_for_references: - liblsl - libltc - liblzf +- libmad - libmikmod - libmodbus - libmodplug @@ -415,6 +417,7 @@ required_for_references: - make - mariadb-connector-c - matchit +- mawk - mbedtls - md4c - md4qt @@ -523,6 +526,7 @@ required_for_references: - s2n - scnlib - screen_capture_lite +- sdbus-cpp - sdl - sdl_image - seadex-essentials @@ -534,6 +538,7 @@ required_for_references: - sigslot - simdjson - simdutf +- skyr-url - snappy - soci - sophus @@ -580,6 +585,7 @@ required_for_references: - uriparser - utf8proc - utfcpp +- uvw - vaapi - variant-lite - vdpau From df685bed197f2f0a0b0673622064022cd296f5d6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 22 May 2023 11:42:20 +0200 Subject: [PATCH 0323/4087] (#17631) wayland: bump deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --------- Co-authored-by: Rubén Rincón Blanco --- recipes/wayland/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 2f0995116baad..4deb10375518e 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.10.4") + self.requires("libxml2/2.11.4") self.requires("expat/2.5.0") def validate(self): From 115b95224bde41f6f23b563c8821063719a5c614 Mon Sep 17 00:00:00 2001 From: Tsche <2440422+Tsche@users.noreply.github.com> Date: Mon, 22 May 2023 12:26:07 +0200 Subject: [PATCH 0324/4087] (#16390) libassert: new recipe * libassert package * libassert: change namespace, fix 1.0 build * libassert: add stacktrace tag * libassert: fix yaml linter errors * libassert: fix yaml linter error in config.yml * libassert: fix recipe url * libassert: change minimum compiler versions * libassert: try fixing error in gcc8 * fix broken patch * libassert: fix gcc8 patch * libassert: disable apple-clang build * libassert: add Windows-specific cmake patch * libassert: add patch_description for all patches * libassert: Fix shared Windows builds * libassert: add package_type, rename recipe class --------- Co-authored-by: Tsche --- recipes/libassert/all/conandata.yml | 32 +++++ recipes/libassert/all/conanfile.py | 118 ++++++++++++++++++ .../1.0/0001-add-cstring-include.patch | 12 ++ .../all/patches/1.0/0002-cmake-backport.patch | 68 ++++++++++ ...max_line_number_width-miscalculation.patch | 40 ++++++ ...max_line_number_width-miscalculation.patch | 40 ++++++ ...nary_diagnostics_descriptor-noexcept.patch | 26 ++++ .../all/patches/1.1/0003-cmake-windows.patch | 21 ++++ .../libassert/all/test_package/CMakeLists.txt | 11 ++ .../libassert/all/test_package/conanfile.py | 31 +++++ .../all/test_package/test_package.cpp | 16 +++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 22 ++++ recipes/libassert/config.yml | 6 + 14 files changed, 451 insertions(+) create mode 100644 recipes/libassert/all/conandata.yml create mode 100644 recipes/libassert/all/conanfile.py create mode 100644 recipes/libassert/all/patches/1.0/0001-add-cstring-include.patch create mode 100644 recipes/libassert/all/patches/1.0/0002-cmake-backport.patch create mode 100644 recipes/libassert/all/patches/1.0/0003-fix-max_line_number_width-miscalculation.patch create mode 100644 recipes/libassert/all/patches/1.1/0001-fix-max_line_number_width-miscalculation.patch create mode 100644 recipes/libassert/all/patches/1.1/0002-binary_diagnostics_descriptor-noexcept.patch create mode 100644 recipes/libassert/all/patches/1.1/0003-cmake-windows.patch create mode 100644 recipes/libassert/all/test_package/CMakeLists.txt create mode 100644 recipes/libassert/all/test_package/conanfile.py create mode 100644 recipes/libassert/all/test_package/test_package.cpp create mode 100644 recipes/libassert/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libassert/all/test_v1_package/conanfile.py create mode 100644 recipes/libassert/config.yml diff --git a/recipes/libassert/all/conandata.yml b/recipes/libassert/all/conandata.yml new file mode 100644 index 0000000000000..ce3617941de3e --- /dev/null +++ b/recipes/libassert/all/conandata.yml @@ -0,0 +1,32 @@ +sources: + # Newer versions at the top + "1.1": + url: + - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.1.tar.gz" + sha256: "01e1b99bf4dacd816fceeb5cc7efdc8875ed21295a62396584a0e7649b944c67" + "1.0": + url: + - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.0.tar.gz" + sha256: "e1bb3b50767994ca4d0f60b7977b279cf32b8569ff92c5830e7a1de567b82fd5" + +patches: + "1.1": + - patch_file: "patches/1.1/0001-fix-max_line_number_width-miscalculation.patch" + patch_type: "bugfix" + patch_description: "Fix max_line_number_width miscalculation" + - patch_file: "patches/1.1/0002-binary_diagnostics_descriptor-noexcept.patch" + patch_type: "portability" + patch_description: "Fixes GCC 8 build" + - patch_file: "patches/1.1/0003-cmake-windows.patch" + patch_type: "bugfix" + patch_description: "Fixes Windows DLL CMake install" + "1.0": + - patch_file: "patches/1.0/0001-add-cstring-include.patch" + patch_type: "bugfix" + patch_description: "Add missing include" + - patch_file: "patches/1.0/0002-cmake-backport.patch" + patch_type: "portability" + patch_description: "Port back CMake install" + - patch_file: "patches/1.0/0003-fix-max_line_number_width-miscalculation.patch" + patch_type: "bugfix" + patch_description: "Fix max_line_number_width miscalculation" diff --git a/recipes/libassert/all/conanfile.py b/recipes/libassert/all/conanfile.py new file mode 100644 index 0000000000000..8b59411a354b3 --- /dev/null +++ b/recipes/libassert/all/conanfile.py @@ -0,0 +1,118 @@ +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.files import get, copy, rm, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches +import os + + +required_conan_version = ">=1.53.0" + + +class LibAssertConan(ConanFile): + name = "libassert" + description = "The most over-engineered and overpowered C++ assertion library." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jeremy-rifkin/libassert" + package_type = "library" + + topics = ("assert", "library", "assertions", "stacktrace") + 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": "8", + "clang": "9" + } + + 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 self.settings.compiler == "apple-clang": + raise ConanInvalidConfiguration("apple-clang not supported") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def export_sources(self): + export_conandata_patches(self) + + def generate(self): + toolchain = CMakeToolchain(self) + if is_msvc(self): + toolchain.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + + toolchain.generate() + + def build(self): + apply_conandata_patches(self) + + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) + cmake.install() + + 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"] + + self.cpp_info.set_property("cmake_file_name", "assert") + self.cpp_info.set_property("cmake_target_name", "assert::assert") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "assert" + self.cpp_info.filenames["cmake_find_package_multi"] = "assert" + self.cpp_info.names["cmake_find_package"] = "assert" + self.cpp_info.names["cmake_find_package_multi"] = "assert" + + if self.settings.os == "Linux": + self.cpp_info.system_libs.append("dl") + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("dbghelp") diff --git a/recipes/libassert/all/patches/1.0/0001-add-cstring-include.patch b/recipes/libassert/all/patches/1.0/0001-add-cstring-include.patch new file mode 100644 index 0000000000000..1d164d02c27f8 --- /dev/null +++ b/recipes/libassert/all/patches/1.0/0001-add-cstring-include.patch @@ -0,0 +1,12 @@ +diff --git a/include/assert.hpp b/include/assert.hpp +index d4cc580..f1cc9f9 100644 +--- a/include/assert.hpp ++++ b/include/assert.hpp +@@ -5,6 +5,7 @@ + // https://github.com/jeremy-rifkin/asserts + + #include ++#include + #include + #include + #include diff --git a/recipes/libassert/all/patches/1.0/0002-cmake-backport.patch b/recipes/libassert/all/patches/1.0/0002-cmake-backport.patch new file mode 100644 index 0000000000000..51a8f768416e8 --- /dev/null +++ b/recipes/libassert/all/patches/1.0/0002-cmake-backport.patch @@ -0,0 +1,68 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b3cd118..0bb5de8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 3.1) + + project(asserts) + ++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) ++ ++# libassert uses relocs, -fpic has to be used to allow shared libs to link libassert as a static library. ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++include(GNUInstallDirs) ++ + add_library(asserts_library_warnings INTERFACE) + + if(MSVC) +@@ -11,8 +15,12 @@ else() + endif() + + add_library(assert src/assert.cpp) +-target_include_directories(assert PUBLIC +- $) ++target_include_directories( ++ assert ++ PUBLIC ++ $ ++ $ ++) + + option(ASSERT_DECOMPOSE_BINARY_LOGICAL "Enables expression decomposition of && and ||" OFF) + option(ASSERT_LOWERCASE "Enables assert alias for ASSERT" OFF) +@@ -43,7 +51,32 @@ set_target_properties(assert + + target_link_libraries(assert PRIVATE asserts_library_warnings) + +-if (MSVC) +- target_link_libraries(assert PRIVATE dbghelp) +-endif () ++target_link_libraries( ++ assert ++ PRIVATE ++ $<$:dbghelp> ++ ${CMAKE_DL_LIBS} ++) ++ ++if(NOT CMAKE_SKIP_INSTALL_RULES) ++ install( ++ TARGETS assert ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++ ++ install( ++ FILES ++ include/assert.hpp ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/assert/assert ++ ) + ++ install( ++ FILES ++ third_party/magic_enum.hpp ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/assert/third_party ++ ) ++ ++endif() diff --git a/recipes/libassert/all/patches/1.0/0003-fix-max_line_number_width-miscalculation.patch b/recipes/libassert/all/patches/1.0/0003-fix-max_line_number_width-miscalculation.patch new file mode 100644 index 0000000000000..88fb2864143b2 --- /dev/null +++ b/recipes/libassert/all/patches/1.0/0003-fix-max_line_number_width-miscalculation.patch @@ -0,0 +1,40 @@ +From caeea1c4cfae0d8be1e60bcd9e6d0944fc264acf Mon Sep 17 00:00:00 2001 +From: Tsche <2440422+Tsche@users.noreply.github.com> +Date: Thu, 2 Mar 2023 16:51:22 +0100 +Subject: [PATCH] fix max_line_number_width miscalculation (#40) + +--- + src/assert.cpp | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/assert.cpp b/src/assert.cpp +--- a/src/assert.cpp ++++ b/src/assert.cpp +@@ -2021,10 +2021,20 @@ namespace libassert::detail { + // path preprocessing + constexpr size_t max_file_length = 50; + auto [files, longest_file_width] = process_paths(trace, start, end); +- size_t max_line_number_width = log10(std::max_element(trace.begin(), trace.begin() + end + 1, +- [](const asserts::detail::stacktrace_entry& a, const asserts::detail::stacktrace_entry& b) { +- return std::to_string(a.line).size() < std::to_string(b.line).size(); +- })->line - start + 1 + 1); // +1 for indices starting at 0, +1 again for log ++ ++ const auto max_line_number = ++ std::max_element(std::next(trace.begin(), start), ++ std::next(trace.begin(), end + 1), ++ [](const asserts::detail::stacktrace_entry& a, ++ const asserts::detail::stacktrace_entry& b) { ++ return std::to_string(a.line).size() < ++ std::to_string(b.line).size(); ++ }) ++ ->line; ++ ++ // +1 for indices starting at 0, +1 again for log ++ const size_t max_line_number_width = log10(max_line_number + 1 + 1); ++ + size_t max_frame_width = log10(end - start + 1 + 1); // ^ + // do the actual trace + for(size_t i = start; i <= end; i++) { +-- +2.39.1 + diff --git a/recipes/libassert/all/patches/1.1/0001-fix-max_line_number_width-miscalculation.patch b/recipes/libassert/all/patches/1.1/0001-fix-max_line_number_width-miscalculation.patch new file mode 100644 index 0000000000000..f50510da3be16 --- /dev/null +++ b/recipes/libassert/all/patches/1.1/0001-fix-max_line_number_width-miscalculation.patch @@ -0,0 +1,40 @@ +From caeea1c4cfae0d8be1e60bcd9e6d0944fc264acf Mon Sep 17 00:00:00 2001 +From: Tsche <2440422+Tsche@users.noreply.github.com> +Date: Thu, 2 Mar 2023 16:51:22 +0100 +Subject: [PATCH] fix max_line_number_width miscalculation (#40) + +--- + src/assert.cpp | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/assert.cpp b/src/assert.cpp +--- a/src/assert.cpp ++++ b/src/assert.cpp +@@ -2024,10 +2024,20 @@ namespace libassert::detail { + // path preprocessing + constexpr size_t max_file_length = 50; + auto [files, longest_file_width] = process_paths(trace, start, end); +- size_t max_line_number_width = log10(std::max_element(trace.begin(), trace.begin() + end + 1, +- [](const libassert::detail::stacktrace_entry& a, const libassert::detail::stacktrace_entry& b) { +- return std::to_string(a.line).size() < std::to_string(b.line).size(); +- })->line - start + 1 + 1); // +1 for indices starting at 0, +1 again for log ++ ++ const auto max_line_number = ++ std::max_element(std::next(trace.begin(), start), ++ std::next(trace.begin(), end + 1), ++ [](const libassert::detail::stacktrace_entry& a, ++ const libassert::detail::stacktrace_entry& b) { ++ return std::to_string(a.line).size() < ++ std::to_string(b.line).size(); ++ }) ++ ->line; ++ ++ // +1 for indices starting at 0, +1 again for log ++ const size_t max_line_number_width = log10(max_line_number + 1 + 1); ++ + size_t max_frame_width = log10(end - start + 1 + 1); // ^ + // do the actual trace + for(size_t i = start; i <= end; i++) { +-- +2.39.1 + diff --git a/recipes/libassert/all/patches/1.1/0002-binary_diagnostics_descriptor-noexcept.patch b/recipes/libassert/all/patches/1.1/0002-binary_diagnostics_descriptor-noexcept.patch new file mode 100644 index 0000000000000..09970102b04bd --- /dev/null +++ b/recipes/libassert/all/patches/1.1/0002-binary_diagnostics_descriptor-noexcept.patch @@ -0,0 +1,26 @@ +diff --git a/include/assert.hpp b/include/assert.hpp +index 89113c0..8c52d1b 100644 +--- a/include/assert.hpp ++++ b/include/assert.hpp +@@ -693,7 +693,7 @@ namespace libassert::detail { + binary_diagnostics_descriptor(const binary_diagnostics_descriptor&) = delete; + binary_diagnostics_descriptor(binary_diagnostics_descriptor&&) noexcept; // = default; in the .cpp + binary_diagnostics_descriptor& operator=(const binary_diagnostics_descriptor&) = delete; +- binary_diagnostics_descriptor& operator=(binary_diagnostics_descriptor&&) noexcept; // = default; in the .cpp ++ binary_diagnostics_descriptor& operator=(binary_diagnostics_descriptor&&); // = default; in the .cpp + }; + + void sort_and_dedup(literal_format(&)[format_arr_length]); +diff --git a/src/assert.cpp b/src/assert.cpp +index 5eb80f1..8d52a64 100644 +--- a/src/assert.cpp ++++ b/src/assert.cpp +@@ -2111,7 +2111,7 @@ namespace libassert::detail { + LIBASSERT_ATTR_COLD + binary_diagnostics_descriptor::binary_diagnostics_descriptor(binary_diagnostics_descriptor&&) noexcept = default; + LIBASSERT_ATTR_COLD binary_diagnostics_descriptor& +- binary_diagnostics_descriptor::operator=(binary_diagnostics_descriptor&&) noexcept = default; ++ binary_diagnostics_descriptor::operator=(binary_diagnostics_descriptor&&) = default; + + LIBASSERT_ATTR_COLD + static std::string print_values(const std::vector& vec, size_t lw) { diff --git a/recipes/libassert/all/patches/1.1/0003-cmake-windows.patch b/recipes/libassert/all/patches/1.1/0003-cmake-windows.patch new file mode 100644 index 0000000000000..2cac0ab5b331d --- /dev/null +++ b/recipes/libassert/all/patches/1.1/0003-cmake-windows.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64a1a43..9eb9269 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,6 +11,8 @@ option(ASSERT_LOWERCASE "Enables assert alias for ASSERT" OFF) + option(ASSERT_USE_MAGIC_ENUM "Use the MagicEnum library to print better diagnostics for enum classes" ON) + set(ASSERT_FAIL "" CACHE STRING "ASSERT_FAIL") + ++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) ++ + # libassert uses relocs, -fpic has to be used to allow shared libs to link libassert as a static library. + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +@@ -90,6 +90,7 @@ if(NOT CMAKE_SKIP_INSTALL_RULES) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + + install( diff --git a/recipes/libassert/all/test_package/CMakeLists.txt b/recipes/libassert/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..97d2bfbc982a3 --- /dev/null +++ b/recipes/libassert/all/test_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package CXX) + +find_package(assert REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +# don't link to ${CONAN_LIBS} or CONAN_PKG::package +target_link_libraries(${PROJECT_NAME} PRIVATE assert::assert) +# In case the target project need a specific C++ standard +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libassert/all/test_package/conanfile.py b/recipes/libassert/all/test_package/conanfile.py new file mode 100644 index 0000000000000..32641e4d3c230 --- /dev/null +++ b/recipes/libassert/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.files import copy +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 generate(self): + for dep in self.dependencies.values(): + copy(self, "*.dll", dep.cpp_info.libdirs[0], self.build_folder) + + 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/libassert/all/test_package/test_package.cpp b/recipes/libassert/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4bd48fe4effaa --- /dev/null +++ b/recipes/libassert/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include +#include + +int main(void) { + std::cout << "Testing libassert\n"; + + try{ + VERIFY(1 != 1); + } + catch (...){ + return EXIT_SUCCESS; + } + + return EXIT_FAILURE; +} diff --git a/recipes/libassert/all/test_v1_package/CMakeLists.txt b/recipes/libassert/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/libassert/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libassert/all/test_v1_package/conanfile.py b/recipes/libassert/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..74182229a4469 --- /dev/null +++ b/recipes/libassert/all/test_v1_package/conanfile.py @@ -0,0 +1,22 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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 imports(self): + self.copy("*.dll", dst="bin", src="lib") + + 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/libassert/config.yml b/recipes/libassert/config.yml new file mode 100644 index 0000000000000..b0be8446640a5 --- /dev/null +++ b/recipes/libassert/config.yml @@ -0,0 +1,6 @@ +versions: + # Newer versions at the top + "1.1": + folder: all + "1.0": + folder: all From ff837b11b4b6831dfd20f35963c84319a9ec9878 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 22 May 2023 13:42:27 +0200 Subject: [PATCH 0325/4087] (#17632) xkbcommon: bump deps * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index a315f50588edc..926843dcf8b92 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.10.4") + self.requires("libxml2/2.11.4") if self.options.get_safe("with_wayland"): self.requires("wayland/1.21.0") if not self._has_build_profile: From d78a3cb29f0678431a167695174592f73965c9f4 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 22 May 2023 15:41:58 +0200 Subject: [PATCH 0326/4087] (#17650) sml: add 1.1.8 --- recipes/sml/all/conandata.yml | 8 +++ .../sml/all/patches/0001-arrow_up-1.1.8.patch | 68 +++++++++++++++++++ recipes/sml/config.yml | 2 + 3 files changed, 78 insertions(+) create mode 100644 recipes/sml/all/patches/0001-arrow_up-1.1.8.patch diff --git a/recipes/sml/all/conandata.yml b/recipes/sml/all/conandata.yml index cfb630a1d7b27..3c49eae151250 100644 --- a/recipes/sml/all/conandata.yml +++ b/recipes/sml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.8": + url: "https://github.com/boost-ext/sml/archive/refs/tags/v1.1.8.tar.gz" + sha256: "d2626b2fd249fa0788ca364a2f8dcb4762dd72195f86d43370e4cad4c02262c5" "1.1.6": url: "https://github.com/boost-ext/sml/archive/refs/tags/v1.1.6.tar.gz" sha256: "08a6d80eb9aa6ee4e462c1b802b9d7db8a39758746565f13cc4d2459ed49a29e" @@ -9,5 +12,10 @@ sources: url: "https://github.com/boost-ext/sml/archive/v1.1.4.tar.gz" sha256: "897c78077f5a4d22b0de253b8689a8ea6d8adfba8d7b4877d6f5c76277e00976" patches: + "1.1.8": + - patch_file: "patches/0001-arrow_up-1.1.8.patch" + patch_type: backport + patch_source: https://github.com/boost-ext/sml/commit/9d7cc3d43f1a619a84049d6786054f31d6d1ab86 + patch_description: Backport C++ compatibility fixes and release version bump. "1.1.4": - patch_file: "patches/0001-fix-clang12-error.patch" diff --git a/recipes/sml/all/patches/0001-arrow_up-1.1.8.patch b/recipes/sml/all/patches/0001-arrow_up-1.1.8.patch new file mode 100644 index 0000000000000..b980c919a6312 --- /dev/null +++ b/recipes/sml/all/patches/0001-arrow_up-1.1.8.patch @@ -0,0 +1,68 @@ +From 9d7cc3d43f1a619a84049d6786054f31d6d1ab86 Mon Sep 17 00:00:00 2001 +From: Kris Jusiak +Date: Sun, 21 May 2023 10:55:42 -0500 +Subject: [PATCH] :arrow_up: 1.1.8 + +--- + CMakeLists.txt | 2 +- + Makefile | 2 +- + include/boost/sml.hpp | 6 +++--- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 12fa670..dee81c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,7 +177,7 @@ configure_package_config_file( + + write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/smlConfigVersion.cmake +- VERSION 1.1.6 ++ VERSION 1.1.8 + COMPATIBILITY SameMajorVersion + ) + +diff --git a/Makefile b/Makefile +index b00c9ee..8046400 100644 +--- a/Makefile ++++ b/Makefile +@@ -26,7 +26,7 @@ DRMEMORY:=drmemory -light -batch -exit_code_if_errors 1 -- + GCOV:=-fprofile-arcs -ftest-coverage + CLANG_FORMAT?=clang-format + CLANG_TIDY?=clang-tidy +-PYTHON?=python2 ++PYTHON?=python3 + MKDOCS?=mkdocs + MKDOCS_THEME?=boost-modern + MKDOCS_SITE?=site +diff --git a/include/boost/sml.hpp b/include/boost/sml.hpp +index 8143249..2a5dac9 100644 +--- a/include/boost/sml.hpp ++++ b/include/boost/sml.hpp +@@ -9,12 +9,12 @@ + #if (__cplusplus < 201305L && _MSC_VER < 1900) + #error "[Boost::ext].SML requires C++14 support (Clang-3.4+, GCC-5.1+, MSVC-2015+)" + #else +-#define BOOST_SML_VERSION 1'1'6 ++#define BOOST_SML_VERSION 1'1'8 + #define BOOST_SML_NAMESPACE_BEGIN \ + namespace boost { \ + inline namespace ext { \ + namespace sml { \ +- inline namespace v1_1_6 { ++ inline namespace v1_1_8 { + #define BOOST_SML_NAMESPACE_END \ + } \ + } \ +@@ -422,7 +422,7 @@ struct pool : pool_type... { + template <> + struct pool<> { + using boost_di_inject__ = type_list<>; +- constexpr pool() = default; ++ pool() = default; + template + constexpr explicit pool(Ts &&...) {} + __BOOST_SML_ZERO_SIZE_ARRAY(byte); +-- +2.40.1 + diff --git a/recipes/sml/config.yml b/recipes/sml/config.yml index fa8612a6d0ffa..5ebc9beff7190 100644 --- a/recipes/sml/config.yml +++ b/recipes/sml/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.8": + folder: all "1.1.6": folder: all "1.1.5": From 14c300edcffe85f58e6749721ce0ced8b3b3ae97 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 22 May 2023 17:21:38 +0200 Subject: [PATCH 0327/4087] (#17653) c-ares: add version 1.19.1 This fixes the following security issues: - CVE-2023-32067. High. 0-byte UDP payload causes Denial of Service [12] - CVE-2023-31147. Moderate. Insufficient randomness in generation of DNS query IDs [13] - CVE-2023-31130. Moderate. Buffer Underwrite in ares_inet_net_pton() [14] - CVE-2023-31124. Low. AutoTools does not set CARES_RANDOM_FILE during cross compilation [15] --- 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 a2f22979a5926..e654988836336 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ 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" "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" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index ec5c9c9aa795e..402bb147b757b 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.19.1": + folder: all "1.19.0": folder: all "1.18.1": From b2a6b2e814e3ba0bcd94166256e7d5d8ad6ce140 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 23 May 2023 01:01:43 +0900 Subject: [PATCH 0328/4087] (#17654) unordered_dense: add version 4.0.1 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index b9bf5f8340caa..b69698c93c08e 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.1": + url: "https://github.com/martinus/unordered_dense/archive/v4.0.1.tar.gz" + sha256: "6c8be4f76fed592f8c1ae07ce07eaa8749ed3a929a84a502764564dcbcc53a76" "4.0.0": url: "https://github.com/martinus/unordered_dense/archive/v4.0.0.tar.gz" sha256: "c9d43bfc60ed03e9aa667bc6d3c586f7a04dfb0082333b0e50624aac71c53172" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index d28b5937a6b4e..50c688a80fb21 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.1": + folder: all "4.0.0": folder: all "3.1.1": From 2804649290125daf850a393f9cf261df0ab86897 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 22 May 2023 15:21:58 -0500 Subject: [PATCH 0329/4087] (#17659) graphene: Bump glib and Meson versions --- recipes/graphene/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/graphene/all/conanfile.py b/recipes/graphene/all/conanfile.py index c7a67802da5a5..39254a6f16cdf 100644 --- a/recipes/graphene/all/conanfile.py +++ b/recipes/graphene/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): def requirements(self): if self.options.with_glib: - self.requires("glib/2.75.2") + self.requires("glib/2.76.2") def validate(self): if self.settings.compiler == "gcc": @@ -70,7 +70,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", default=False): self.tool_requires("pkgconf/1.9.3") From a79323921df85958e097f4ec41fe3b2c81e44b50 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 23 May 2023 14:42:55 +0900 Subject: [PATCH 0330/4087] (#17645) daw_json_link: add version 3.17.1 --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/all/conanfile.py | 2 +- recipes/daw_json_link/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 5ccbbdb92e211..34917b7868c4b 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.17.1": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.17.1.tar.gz" + sha256: "a29c6bcb7856ac0217fa36873af007f619fd467097488746f29a6a332616a829" "3.16.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.16.0.tar.gz" sha256: "48eae5db76e72a481ba4830900974178c49fb8c7c89909405381bd1775cbc84c" diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index 8aa6c28e920ef..b573c7276e333 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.88.0") + self.requires("daw_header_libraries/2.92.0") self.requires("daw_utf_range/2.2.3") def package_id(self): diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index b5d7c520796ca..b6d705def5e3f 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.17.1": + folder: "all" "3.16.0": folder: "all" "3.15.0": From 4cdb1e6491d3e795926f8daa87d23fb287350b14 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 23 May 2023 16:02:27 +0900 Subject: [PATCH 0331/4087] (#17647) trantor: include cstdint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * trantor: include cstdint * Update recipes/trantor/all/conandata.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/trantor/all/conandata.yml | 31 +++++++++++++++++++ recipes/trantor/all/conanfile.py | 14 ++++++--- .../patches/1.5.5-0001-include-cstdint.patch | 12 +++++++ .../patches/1.5.6-0001-include-cstdint.patch | 24 ++++++++++++++ 4 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch create 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 6649410b0f203..22a2a702c41db 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -17,3 +17,34 @@ sources: "1.5.5": url: "https://github.com/an-tao/trantor/archive/refs/tags/v1.5.5.tar.gz" sha256: "5a549c6efebe7ecba73a944cfba4a9713130704d4ccc82af534a2e108b9a0e71" +patches: + "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" + "1.5.6": + - patch_file: "patches/1.5.6-0001-include-cstdint.patch" + patch_description: "include cstdint for uint8_t, intmax_t" + patch_type: "portability" + patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" + "1.5.5": + - patch_file: "patches/1.5.5-0001-include-cstdint.patch" + patch_description: "include cstdint for uint8_t" + patch_type: "portability" + patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 2e4e5da0c655a..eae8498e37414 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import is_msvc, msvc_runtime_flag -from conan.tools.files import get, copy, rmdir, replace_in_file +from conan.tools.files import get, copy, rmdir, replace_in_file, export_conandata_patches, apply_conandata_patches from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -31,7 +31,7 @@ class TrantorConan(ConanFile): } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 14 @property @@ -44,6 +44,9 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -62,14 +65,14 @@ def requirements(self): def validate(self): if self.info.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) if minimum_version: if Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") else: - self.output.warn(f"{self.ref} requires C++{self._minimum_cpp_standard}. Your compiler is unknown. Assuming it supports C++{self._minimum_cpp_standard}.") + self.output.warn(f"{self.ref} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") # TODO: Compilation succeeds, but execution of test_package fails on Visual Studio with MDd if is_msvc(self) and self.options.shared and "MDd" in msvc_runtime_flag(self): @@ -92,6 +95,7 @@ def generate(self): tc.generate() def _patch_sources(self): + apply_conandata_patches(self) cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") # fix c-ares imported target replace_in_file(self, cmakelists, "c-ares_lib", "c-ares::cares") diff --git a/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch b/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch new file mode 100644 index 0000000000000..12c881a36cc34 --- /dev/null +++ b/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch @@ -0,0 +1,12 @@ +diff --git a/trantor/utils/MsgBuffer.h b/trantor/utils/MsgBuffer.h +index 19d42e2..adeeb1b 100644 +--- a/trantor/utils/MsgBuffer.h ++++ b/trantor/utils/MsgBuffer.h +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch b/recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch new file mode 100644 index 0000000000000..f910402545ffa --- /dev/null +++ b/recipes/trantor/all/patches/1.5.6-0001-include-cstdint.patch @@ -0,0 +1,24 @@ +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 + { From 0ee3035897d3f247f9ef051fa0b91c13623ce9ee Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 23 May 2023 10:01:47 +0200 Subject: [PATCH 0332/4087] (#17662) [bot] Update list of references (prod-v2/ListPackages) --- .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 c83eae47b4757..13710e26a13d1 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -259,11 +259,13 @@ required_for_references: - gnutls - googleapis - gperf +- graphene - grpc - grpc-proto - gsl - gsl-lite - gsoap +- gstreamer - gtest - gtk - gurkenlaeufer @@ -311,6 +313,7 @@ required_for_references: - lexbor - libalsa - libarchive +- libassert - libatomic_ops - libattr - libbacktrace @@ -539,6 +542,7 @@ required_for_references: - simdjson - simdutf - skyr-url +- sml - snappy - soci - sophus From d7fd5a48acb1bdfbe1782335eeb2dc9beb8d06c4 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 23 May 2023 10:21:52 +0200 Subject: [PATCH 0333/4087] (#17651) [bot] Update authorized users list (2023-05-22) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index f3067c8a9334c..eea29f76778e2 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1157,3 +1157,6 @@ authorized_users: - zajo - bruchar1 - pskoko +- marcus-sonestedt +- amrox +- tristanpenman From e79e9b6347b10ea25ea1c711062600c1845b4b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 23 May 2023 10:43:19 +0200 Subject: [PATCH 0334/4087] (#17611) sml: Add package_type, fix unsafe cppstd check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Small improvements for SML * Add 1.1.8 * I don't know how to use shasum * Remove 1.1.8 as there's a PR for that already --------- Co-authored-by: Francisco Ramírez --- recipes/sml/all/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/sml/all/conanfile.py b/recipes/sml/all/conanfile.py index ba7c5897722f0..f69ae30abf611 100644 --- a/recipes/sml/all/conanfile.py +++ b/recipes/sml/all/conanfile.py @@ -1,22 +1,23 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, copy, get +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.50.0" +required_conan_version = ">=1.52.0" class SMLConan(ConanFile): name = "sml" homepage = "https://github.com/boost-ext/sml" description = "SML: C++14 State Machine Library" - topics = ("state-machine", "metaprogramming", "design-patterns", "sml") + topics = ("state-machine", "metaprogramming", "design-patterns") license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" settings = "os", "arch", "compiler", "build_type" + package_type = "header-library" @property def _min_cppstd(self): @@ -33,8 +34,7 @@ def _minimum_compilers_version(self): } def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def layout(self): basic_layout(self, src_folder="src") @@ -44,7 +44,7 @@ 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._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( From 21eb2dd71f97238df073f2bf55aff37d4200bf5a Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Tue, 23 May 2023 11:22:36 +0200 Subject: [PATCH 0335/4087] (#17570) gklib: conan v2 support * gklib: conan v2 support * gklib: Fix typo in test_package recipe * Fix typo in version range * Remove cmake target properties not in upstream * Remove no longer needed stuff --- recipes/gklib/all/CMakeLists.txt | 7 -- recipes/gklib/all/conandata.yml | 12 ++- recipes/gklib/all/conanfile.py | 74 ++++++++----------- .../004-increase-minimum-cmakelists.patch | 22 ++++++ recipes/gklib/all/test_package/CMakeLists.txt | 8 +- recipes/gklib/all/test_package/conanfile.py | 26 ++++--- .../gklib/all/test_v1_package/CMakeLists.txt | 8 ++ .../gklib/all/test_v1_package/conanfile.py | 17 +++++ 8 files changed, 105 insertions(+), 69 deletions(-) delete mode 100644 recipes/gklib/all/CMakeLists.txt create mode 100644 recipes/gklib/all/patches/004-increase-minimum-cmakelists.patch create mode 100644 recipes/gklib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/gklib/all/test_v1_package/conanfile.py diff --git a/recipes/gklib/all/CMakeLists.txt b/recipes/gklib/all/CMakeLists.txt deleted file mode 100644 index 17aa471de5c7b..0000000000000 --- a/recipes/gklib/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper LANGUAGES C) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/gklib/all/conandata.yml b/recipes/gklib/all/conandata.yml index 65acd4434d084..9326c830cfc5f 100644 --- a/recipes/gklib/all/conandata.yml +++ b/recipes/gklib/all/conandata.yml @@ -5,8 +5,14 @@ sources: patches: "5.1.1": - patch_file: "patches/001-install-win32-headers.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Install win32 headers" - patch_file: "patches/002-disable-tests.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Disable tests" - patch_file: "patches/003-install-runtime.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Install runtime" + - patch_file: "patches/004-increase-minimum-cmakelists.patch" + patch_type: "conan" + patch_description: "Increase minium CMake version required" diff --git a/recipes/gklib/all/conanfile.py b/recipes/gklib/all/conanfile.py index c9233e206a92a..17e3f51c1d534 100644 --- a/recipes/gklib/all/conanfile.py +++ b/recipes/gklib/all/conanfile.py @@ -1,8 +1,11 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches +from os import path +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 +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class GKlibConan(ConanFile): @@ -13,6 +16,7 @@ class GKlibConan(ConanFile): description = "A library of various helper routines and frameworks" \ " used by many of the lab's software" topics = ("karypislab") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,29 +26,13 @@ class GKlibConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] @property def _is_mingw(self): return self.settings.os == "Windows" and self.settings.compiler == "gcc" 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": @@ -52,45 +40,47 @@ 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 validate(self): - if self.options.shared and self._is_msvc: + if self.options.shared and is_msvc(self): raise ConanInvalidConfiguration( f"{self.name} {self.version} shared not supported with Visual Studio") 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): - apply_conandata_patches(self) + def generate(self): + tc = CMakeToolchain(self) - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["ASSERT"] = self.settings.build_type == "Debug" - self._cmake.definitions["ASSERT2"] = self.settings.build_type == "Debug" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["ASSERT"] = self.settings.build_type == "Debug" + tc.variables["ASSERT2"] = self.settings.build_type == "Debug" + + tc.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + copy(self, pattern="LICENSE.txt", src=self.source_folder, + dst=path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") def package_info(self): self.cpp_info.libs = ["GKlib"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - if self._is_msvc or self._is_mingw: + if is_msvc(self) or self._is_mingw: self.cpp_info.defines.append("USE_GKREGEX") - if self._is_msvc: + if is_msvc(self): self.cpp_info.defines.append("__thread=__declspec(thread)") diff --git a/recipes/gklib/all/patches/004-increase-minimum-cmakelists.patch b/recipes/gklib/all/patches/004-increase-minimum-cmakelists.patch new file mode 100644 index 0000000000000..fc47c174baee0 --- /dev/null +++ b/recipes/gklib/all/patches/004-increase-minimum-cmakelists.patch @@ -0,0 +1,22 @@ +From 216537a5a9f882005b1c1a762130b32b6f0c46a6 Mon Sep 17 00:00:00 2001 +From: Joakim Haugen +Date: Mon, 15 May 2023 10:34:16 +0200 +Subject: [PATCH] Increase minimum requires CMakeLists version + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2bc6f77..9ef8038 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.4) + project(GKlib C) + + option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF) +-- +2.30.2 + diff --git a/recipes/gklib/all/test_package/CMakeLists.txt b/recipes/gklib/all/test_package/CMakeLists.txt index b012d77ecf242..1e94195212cdd 100644 --- a/recipes/gklib/all/test_package/CMakeLists.txt +++ b/recipes/gklib/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package C) find_package(gklib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} gklib::gklib) +target_link_libraries(${PROJECT_NAME} PRIVATE gklib::gklib) diff --git a/recipes/gklib/all/test_package/conanfile.py b/recipes/gklib/all/test_package/conanfile.py index 46d71712aba54..ef5d7042163ec 100644 --- a/recipes/gklib/all/test_package/conanfile.py +++ b/recipes/gklib/all/test_package/conanfile.py @@ -1,17 +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 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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -19,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/gklib/all/test_v1_package/CMakeLists.txt b/recipes/gklib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9735bda16bdf4 --- /dev/null +++ b/recipes/gklib/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package 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/gklib/all/test_v1_package/conanfile.py b/recipes/gklib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..20d4d2e28d57e --- /dev/null +++ b/recipes/gklib/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 3aa41357ec627b31fa0fad2b0221d2841daaa5c0 Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 23 May 2023 13:06:10 +0300 Subject: [PATCH 0336/4087] (#16865) antigrain: add library * add agg * linter fixes * linter fixes * fix requires * Update conanfile.py add copying * fix copying * fix debug suffix * remove suffix * fix fpic * fix fpic for v2 * Apply suggestions from code review Co-authored-by: Chris Mc * misprint * rename package with author prefix and move to tag 2.6.1 * fix package name --------- Co-authored-by: Chris Mc --- recipes/aggeom-agg/all/conandata.yml | 4 + recipes/aggeom-agg/all/conanfile.py | 141 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 10 ++ .../aggeom-agg/all/test_package/conanfile.py | 29 ++++ .../all/test_package/test_package.cpp | 10 ++ .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 +++ recipes/aggeom-agg/config.yml | 3 + 8 files changed, 222 insertions(+) create mode 100644 recipes/aggeom-agg/all/conandata.yml create mode 100644 recipes/aggeom-agg/all/conanfile.py create mode 100644 recipes/aggeom-agg/all/test_package/CMakeLists.txt create mode 100644 recipes/aggeom-agg/all/test_package/conanfile.py create mode 100644 recipes/aggeom-agg/all/test_package/test_package.cpp create mode 100644 recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/aggeom-agg/all/test_v1_package/conanfile.py create mode 100644 recipes/aggeom-agg/config.yml diff --git a/recipes/aggeom-agg/all/conandata.yml b/recipes/aggeom-agg/all/conandata.yml new file mode 100644 index 0000000000000..8b26697b0ef0d --- /dev/null +++ b/recipes/aggeom-agg/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.6.1": + url: "https://github.com/aggeom/agg-2.6/archive/refs/tags/agg-2.6.1.tar.gz" + sha256: 685966f880f1c2aae19479b60525fafba8cbd88e4c62d1947767780df8f6a3d0 diff --git a/recipes/aggeom-agg/all/conanfile.py b/recipes/aggeom-agg/all/conanfile.py new file mode 100644 index 0000000000000..55a67e88a5f75 --- /dev/null +++ b/recipes/aggeom-agg/all/conanfile.py @@ -0,0 +1,141 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.errors import ConanInvalidConfiguration + +import os + +required_conan_version = ">=1.53.0" + +class AggConan(ConanFile): + name = 'aggeom-agg' + description = 'AGG Anti-Grain Geometry Library' + topics = ('graphics') + url = "https://github.com/conan-io/conan-center-index" + homepage = 'https://github.com/aggeom' + license = 'BSD-3-Clause' + + settings = 'os', 'arch', 'compiler', 'build_type' + options = { + 'shared': [True, False], + 'fPIC': [True, False], + 'with_gpc': [True, False], + 'with_freetype': [True, False], + 'with_agg2d': [True, False], + 'with_agg2d_freetype': [True, False], + 'with_platform': [True, False], + 'with_controls': [True, False], + } + + default_options = { + 'shared': False, + 'fPIC': True, + 'with_gpc': True, + 'with_freetype': True, + 'with_agg2d': True, + 'with_agg2d_freetype': True, + 'with_platform': True, + 'with_controls': True, + } + + def validate(self): + if self.settings.os not in ("Windows", "Linux"): + raise ConanInvalidConfiguration("OS is not supported") + if self.options.shared: + raise ConanInvalidConfiguration("Invalid configuration") + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + self.options.rm_safe("fPIC") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_freetype: + self.requires('freetype/2.13.0') + if self.options.with_platform and self.settings.os in ["Linux"]: + self.requires("xorg/system") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables['agg_USE_EXPAT'] = False + tc.variables['agg_USE_SDL_PLATFORM'] = False + tc.variables['agg_BUILD_DEMO'] = False + tc.variables['agg_BUILD_EXAMPLES'] = False + + tc.variables['agg_USE_GPC'] = self.options.with_gpc + tc.variables['agg_USE_FREETYPE'] = self.options.with_freetype + tc.variables['agg_USE_AGG2D'] = self.options.with_agg2d + tc.variables['agg_USE_AGG2D_FREETYPE'] = self.options.with_agg2d_freetype + tc.variables['agg_BUILD_PLATFORM'] = self.options.with_platform + tc.variables['agg_BUILD_CONTROLS'] = self.options.with_controls + + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "copying", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.configure() + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + + self.cpp_info.set_property("cmake_file_name", "agg") + self.cpp_info.filenames["cmake_find_package"]="agg" + self.cpp_info.filenames["cmake_find_package_multi"]="agg" + self.cpp_info.names["cmake_find_package"]="agg" + self.cpp_info.names["cmake_find_package_multi"]="agg" + + self.cpp_info.components["agg"].set_property("cmake_target_name", "agg::agg") + self.cpp_info.components["agg"].libs = ["agg"] + self.cpp_info.components["agg"].includedirs = [os.path.join("include", "agg")] + + if self.options.with_freetype: + self.cpp_info.components["fontfreetype"].set_property("cmake_target_name", "agg::fontfreetype") + self.cpp_info.components["fontfreetype"].libs = ["aggfontfreetype"] + self.cpp_info.components["fontfreetype"].includedirs = [os.path.join("include", "agg","fontfreetype")] + self.cpp_info.components["fontfreetype"].requires = ["agg", "freetype::freetype"] + + if self.options.with_gpc: + self.cpp_info.components["gpc"].set_property("cmake_target_name", "agg::gpc") + self.cpp_info.components["gpc"].libs = [ "agggpc"] + self.cpp_info.components["gpc"].includedirs = [os.path.join("include", "agg","gpc")] + + + if self.options.with_agg2d: + self.cpp_info.components["2d"].set_property("cmake_target_name", "agg::2d") + self.cpp_info.components["2d"].libs = ["agg2d"] + self.cpp_info.components["2d"].includedirs = [os.path.join("include", "agg","2d")] + self.cpp_info.components["2d"].requires = ["agg"] + if self.options.with_agg2d_freetype: + self.cpp_info.components["2d"].requires = ["agg", "fontfreetype"] + + if self.options.with_platform: + + self.cpp_info.components["platform"].set_property("cmake_target_name", "agg::platform") + self.cpp_info.components["platform"].libs = ["aggplatform"] + self.cpp_info.components["platform"].includedirs = [os.path.join("include", "agg","platform")] + if self.settings.os in ["Linux"]: + self.cpp_info.components["platform"].requires = ["xorg::xorg", "agg"] + + if self.options.with_controls: + self.cpp_info.components["controls"].set_property("cmake_target_name", "agg::controls") + self.cpp_info.components["controls"].libs = ["aggctrl"] + self.cpp_info.components["controls"].includedirs = [os.path.join("include", "agg","ctrl")] + self.cpp_info.components["controls"].requires = ["agg"] diff --git a/recipes/aggeom-agg/all/test_package/CMakeLists.txt b/recipes/aggeom-agg/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5c9ab68de09d8 --- /dev/null +++ b/recipes/aggeom-agg/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +find_package(agg REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE agg::agg agg::platform ) + +set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE) +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/aggeom-agg/all/test_package/conanfile.py b/recipes/aggeom-agg/all/test_package/conanfile.py new file mode 100644 index 0000000000000..6d529581ba2f5 --- /dev/null +++ b/recipes/aggeom-agg/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, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + 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/aggeom-agg/all/test_package/test_package.cpp b/recipes/aggeom-agg/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8fd51b67e8648 --- /dev/null +++ b/recipes/aggeom-agg/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include +enum flip_y_e { flip_y = true }; + +int agg_main(int argc, char* argv[]) { + agg::platform_support app(agg::pix_format_bgr24, flip_y); + app.caption("AGG Example. Anti-Aliasing Demo"); + + return 0; +} diff --git a/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt b/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aggeom-agg/all/test_v1_package/conanfile.py b/recipes/aggeom-agg/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/aggeom-agg/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/aggeom-agg/config.yml b/recipes/aggeom-agg/config.yml new file mode 100644 index 0000000000000..cfb13334b8b03 --- /dev/null +++ b/recipes/aggeom-agg/config.yml @@ -0,0 +1,3 @@ +versions: + "2.6.1": + folder: "all" From 1f5afd14d4babf1a43923dc8a4670974ce858fa4 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 23 May 2023 21:23:30 +0900 Subject: [PATCH 0337/4087] (#17400) bitmagic: add version 7.13.4, add package_type --- recipes/bitmagic/all/conandata.yml | 3 +++ recipes/bitmagic/all/conanfile.py | 14 ++++++++------ recipes/bitmagic/all/test_package/conanfile.py | 7 ++++--- .../bitmagic/all/test_v1_package/CMakeLists.txt | 9 +++------ recipes/bitmagic/config.yml | 2 ++ 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/recipes/bitmagic/all/conandata.yml b/recipes/bitmagic/all/conandata.yml index be5ff4fa07b8e..eef7267c67af3 100644 --- a/recipes/bitmagic/all/conandata.yml +++ b/recipes/bitmagic/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.13.4": + url: "https://github.com/tlk00/BitMagic/archive/refs/tags/v7.13.4.tar.gz" + sha256: "3a45e2f11396b09f963573af299d9ce03b6d100357d317c817cd91cca4ba84c4" "7.12.3": url: "https://github.com/tlk00/BitMagic/archive/refs/tags/v7.12.3.tar.gz" sha256: "5e59507a01a8295bb57aebcf557a4a25b992244736f7924300cdb9635f1b2780" diff --git a/recipes/bitmagic/all/conanfile.py b/recipes/bitmagic/all/conanfile.py index 8a5d321f046d1..298aa1209d5d7 100644 --- a/recipes/bitmagic/all/conanfile.py +++ b/recipes/bitmagic/all/conanfile.py @@ -19,10 +19,15 @@ class BitmagicConan(ConanFile): homepage = "http://bitmagic.io" topics = ("information-retrieval", "algorithm", "bit-manipulation", "integer-compression", "sparse-vector", "sparse-matrix", "bit-array", - "bit-vector", "indexing-engine", "adjacency-matrix", "associative-array") + "bit-vector", "indexing-engine", "adjacency-matrix", "associative-array", "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 _minimum_compilers_version(self): return { @@ -38,7 +43,7 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration(f"{self.name} requires C++17, which your compiler does not support.") @@ -47,8 +52,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) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -59,6 +63,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/bitmagic/all/test_package/conanfile.py b/recipes/bitmagic/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/bitmagic/all/test_package/conanfile.py +++ b/recipes/bitmagic/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/bitmagic/all/test_v1_package/CMakeLists.txt b/recipes/bitmagic/all/test_v1_package/CMakeLists.txt index a1f535ce8930b..be00a8c7f57c7 100644 --- a/recipes/bitmagic/all/test_v1_package/CMakeLists.txt +++ b/recipes/bitmagic/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(bitmagic REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE bitmagic::bitmagic) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bitmagic/config.yml b/recipes/bitmagic/config.yml index 34c9a540c22c6..f5ee671fc8132 100644 --- a/recipes/bitmagic/config.yml +++ b/recipes/bitmagic/config.yml @@ -1,4 +1,6 @@ versions: + "7.13.4": + folder: all "7.12.3": folder: all "7.11.2": From 724c455b4d4bba6fdcc03cbb07a7083e15e35d38 Mon Sep 17 00:00:00 2001 From: Sylwester Dawida Date: Tue, 23 May 2023 16:23:30 +0200 Subject: [PATCH 0338/4087] (#17589) 7bitdi : add new recipe --- recipes/7bitdi/all/conandata.yml | 4 + recipes/7bitdi/all/conanfile.py | 135 ++++++++++++++++++ .../7bitdi/all/test_package/CMakeLists.txt | 10 ++ recipes/7bitdi/all/test_package/conanfile.py | 31 ++++ .../7bitdi/all/test_package/test_package.cpp | 7 + .../7bitdi/all/test_v1_package/CMakeLists.txt | 8 ++ .../7bitdi/all/test_v1_package/conanfile.py | 17 +++ recipes/7bitdi/config.yml | 3 + 8 files changed, 215 insertions(+) create mode 100644 recipes/7bitdi/all/conandata.yml create mode 100644 recipes/7bitdi/all/conanfile.py create mode 100644 recipes/7bitdi/all/test_package/CMakeLists.txt create mode 100644 recipes/7bitdi/all/test_package/conanfile.py create mode 100644 recipes/7bitdi/all/test_package/test_package.cpp create mode 100644 recipes/7bitdi/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/7bitdi/all/test_v1_package/conanfile.py create mode 100644 recipes/7bitdi/config.yml diff --git a/recipes/7bitdi/all/conandata.yml b/recipes/7bitdi/all/conandata.yml new file mode 100644 index 0000000000000..2bc8fbc5ed01d --- /dev/null +++ b/recipes/7bitdi/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.0": + url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v1.0.0.tar.gz" + sha256: "4a5bfc541bf98b9943a54003c7ad1f8a2a3f879143022be805aaa343852d8279" diff --git a/recipes/7bitdi/all/conanfile.py b/recipes/7bitdi/all/conanfile.py new file mode 100644 index 0000000000000..3bdbdc03629c3 --- /dev/null +++ b/recipes/7bitdi/all/conanfile.py @@ -0,0 +1,135 @@ +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.files import get, copy, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class SevenBitDIConan(ConanFile): + name = "7bitdi" + homepage = "https://github.com/7bitcoder/7bitDI" + description = "7bitDI is a simple C++ dependency injection library." + topics = ("cpp17", "dependency-injector", "injector", "header-only") + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + 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 _minimum_compilers_version(self): + return { + "Visual Studio": "14", + "msvc": "192", + "gcc": "6", + "clang": "6", + "apple-clang": "10", + } + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + if self.options.get_safe("shared") or self.options.header_only: + self.options.rm_safe("fPIC") + if self.options.header_only: + self.options.rm_safe("shared") + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + + def validate(self): + compiler = self.settings.compiler + compiler_name = str(compiler) + + if compiler.get_safe("cppstd"): + check_min_cppstd(self, 17) + + minimum_version = self._minimum_compilers_version.get(compiler_name, False) + if minimum_version and Version(compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"Requires compiler {compiler_name} minimum version: {minimum_version} with C++17 support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if not self.options.header_only: + tc = CMakeToolchain(self) + tc.variables["_7BIT_DI_BUILD_EXAMPLES"] = False + tc.variables["_7BIT_DI_BUILD_TESTS"] = False + tc.variables["_7BIT_DI_BUILD_DOC"] = False + tc.variables["_7BIT_DI_BUILD_SINGLE_HEADER"] = False + tc.variables["_7BIT_DI_INSTALL"] = True + tc.variables["_7BIT_DI_LIBRARY_TYPE"] = self.getSevenBitDILibraryType() + tc.generate() + + def getSevenBitDILibraryType(self): + if self.options.header_only: + return "HeaderOnly" + elif self.options.shared: + return "Shared" + else: + return "Static" + + def build(self): + if not self.options.header_only: + 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, + ) + if self.options.header_only: + copy( + self, + src=os.path.join(self.source_folder, "Include"), + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + ) + else: + 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", "7bitDI") + self.cpp_info.set_property("cmake_target_name", "7bitDI::7bitDI") + + if self.options.header_only: + self.cpp_info.libs = [] + self.cpp_info.bindirs = [] + else: + suffix = "d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = ["7bitDI" + suffix] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "7bitDI" + self.cpp_info.names["cmake_find_package_multi"] = "7bitDI" diff --git a/recipes/7bitdi/all/test_package/CMakeLists.txt b/recipes/7bitdi/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f0038de83701f --- /dev/null +++ b/recipes/7bitdi/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(7bitDI REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PUBLIC 7bitDI::7bitDI) + +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/7bitdi/all/test_package/conanfile.py b/recipes/7bitdi/all/test_package/conanfile.py new file mode 100644 index 0000000000000..543315cd0fbb8 --- /dev/null +++ b/recipes/7bitdi/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + 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/7bitdi/all/test_package/test_package.cpp b/recipes/7bitdi/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..91eeefedff48d --- /dev/null +++ b/recipes/7bitdi/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + std::cout << "7bitdi version: " << _7BIT_DI_VERSION; + return 0; +} diff --git a/recipes/7bitdi/all/test_v1_package/CMakeLists.txt b/recipes/7bitdi/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/7bitdi/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/7bitdi/all/test_v1_package/conanfile.py b/recipes/7bitdi/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0f735b51a2642 --- /dev/null +++ b/recipes/7bitdi/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +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 tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/7bitdi/config.yml b/recipes/7bitdi/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/7bitdi/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all From 53b43c645b7491ab49611383fbe494cccfaac4e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 23 May 2023 17:03:17 +0200 Subject: [PATCH 0339/4087] (#17540) arrow: add version 12.0.0 --- recipes/arrow/all/conandata.yml | 3 +++ recipes/arrow/all/conanfile.py | 33 ++++++++++++++++++++------------- recipes/arrow/config.yml | 2 ++ 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index 63008d8eba8f6..772cdfef9c3c2 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.0.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-12.0.0/apache-arrow-12.0.0.tar.gz?action=download" + sha256: "ddd8347882775e53af7d0965a1902b7d8fcd0a030fd14f783d4f85e821352d52" "11.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-11.0.0/apache-arrow-11.0.0.tar.gz?action=download" sha256: "2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430" diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 1def26f4a6ab8..dcc135335bdb3 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -17,7 +17,7 @@ class ArrowConan(ConanFile): license = ("Apache-2.0",) url = "https://github.com/conan-io/conan-center-index" homepage = "https://arrow.apache.org/" - topics = ("memory", "gandiva", "parquet", "skyhook", "plasma", "hdfs", "csv", "cuda", "gcs", "json", "hive", "s3", "grpc") + topics = ("memory", "gandiva", "parquet", "skyhook", "acero", "hdfs", "csv", "cuda", "gcs", "json", "hive", "s3", "grpc") settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,7 +26,7 @@ class ArrowConan(ConanFile): "parquet": ["auto", True, False], "substrait": [True, False], "skyhook": [True, False], - "plasma": [True, False], + "acero": [True, False], "cli": [True, False], "compute": ["auto", True, False], "dataset_modules": ["auto", True, False], @@ -34,6 +34,7 @@ class ArrowConan(ConanFile): "encryption": [True, False], "filesystem_layer": [True, False], "hdfs_bridgs": [True, False], + "plasma": [True, False, "deprecated"], "simd_level": [None, "default", "sse4_2", "avx2", "avx512", "neon", ], "runtime_simd_level": [None, "sse4_2", "avx2", "avx512", "max"], "with_backtrace": [True, False], @@ -71,7 +72,7 @@ class ArrowConan(ConanFile): "parquet": "auto", "skyhook": False, "substrait": False, - "plasma": False, + "acero": False, "cli": False, "compute": "auto", "dataset_modules": "auto", @@ -79,6 +80,7 @@ class ArrowConan(ConanFile): "encryption": False, "filesystem_layer": False, "hdfs_bridgs": False, + "plasma": "deprecated", "simd_level": "default", "runtime_simd_level": "max", "with_backtrace": False, @@ -165,6 +167,8 @@ def validate(self): f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support." ) + if self.options.plasma != "deprecated": + self.output.warning("plasma option is deprecated since Arrow 12.0.0, do not use anymore.") if self.options.shared: del self.options.fPIC if self.options.compute == False and not self._compute(True): @@ -258,7 +262,7 @@ def _with_flight_rpc(self, required=False): def _with_gflags(self, required=False): if required or self.options.with_gflags == "auto": - return bool(self.options.plasma or self._with_glog() or self._with_grpc()) + return bool(self._with_glog() or self._with_grpc()) else: return bool(self.options.with_gflags) @@ -396,7 +400,7 @@ def generate(self): tc.variables["ARROW_GANDIVA"] = bool(self.options.gandiva) tc.variables["ARROW_PARQUET"] = self._parquet() tc.variables["ARROW_SUBSTRAIT"] = bool(self.options.get_safe("substrait", False)) - tc.variables["ARROW_PLASMA"] = bool(self.options.plasma) + tc.variables["ARROW_ACERO"] = bool(self.options.acero) tc.variables["ARROW_DATASET"] = self._dataset_modules() tc.variables["ARROW_FILESYSTEM"] = bool(self.options.filesystem_layer) tc.variables["PARQUET_REQUIRE_ENCRYPTION"] = bool(self.options.encryption) @@ -504,6 +508,7 @@ def _patch_sources(self): for filename in glob.glob(os.path.join(self.source_folder, "cpp", "cmake_modules", "Find*.cmake")): if os.path.basename(filename) not in [ "FindArrow.cmake", + "FindArrowAcero.cmake", "FindArrowCUDA.cmake", "FindArrowDataset.cmake", "FindArrowFlight.cmake", @@ -515,7 +520,6 @@ def _patch_sources(self): "FindArrowTesting.cmake", "FindGandiva.cmake", "FindParquet.cmake", - "FindPlasma.cmake", ]: os.remove(filename) @@ -579,12 +583,15 @@ def package_info(self): self.cpp_info.components["libarrow_substrait"].names["pkg_config"] = "arrow_substrait" self.cpp_info.components["libarrow_substrait"].requires = ["libparquet", "dataset"] - if self.options.plasma: - self.cpp_info.components["libplasma"].libs = [self._lib_name("plasma")] - self.cpp_info.components["libplasma"].names["cmake_find_package"] = "plasma" - self.cpp_info.components["libplasma"].names["cmake_find_package_multi"] = "plasma" - self.cpp_info.components["libplasma"].names["pkg_config"] = "plasma" - self.cpp_info.components["libplasma"].requires = ["libarrow"] + # Plasma was deprecated in Arrow 12.0.0 + del self.options.plasma + + if self.options.acero: + self.cpp_info.components["libacero"].libs = [self._lib_name("acero")] + self.cpp_info.components["libacero"].names["cmake_find_package"] = "acero" + self.cpp_info.components["libacero"].names["cmake_find_package_multi"] = "acero" + self.cpp_info.components["libacero"].names["pkg_config"] = "acero" + self.cpp_info.components["libacero"].requires = ["libarrow"] if self.options.gandiva: self.cpp_info.components["libgandiva"].libs = [self._lib_name("gandiva")] @@ -612,7 +619,7 @@ def package_info(self): if self._dataset_modules(): self.cpp_info.components["dataset"].libs = ["arrow_dataset"] - if (self.options.cli and (self.options.with_cuda or self._with_flight_rpc() or self._parquet())) or self.options.plasma: + if self.options.cli and (self.options.with_cuda or self._with_flight_rpc() or self._parquet()): binpath = os.path.join(self.package_folder, "bin") self.output.info(f"Appending PATH env var: {binpath}") self.env_info.PATH.append(binpath) diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index f8d5aa9001a2b..06c575d489c3c 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.0": + folder: all "11.0.0": folder: all "10.0.1": From 8d4987161c2c4180c6c5b4d8bb36c499223c9957 Mon Sep 17 00:00:00 2001 From: Loic Gouarin Date: Tue, 23 May 2023 18:23:50 +0200 Subject: [PATCH 0340/4087] (#17170) samurai : new package * add samurai package * update config * update compiler versions * fix C++17 * fix * fix * update test * update gcc * review --------- Co-authored-by: memsharded --- recipes/samurai/all/conandata.yml | 4 + recipes/samurai/all/conanfile.py | 77 +++++++++++++++++++ .../samurai/all/test_package/CMakeLists.txt | 10 +++ recipes/samurai/all/test_package/conanfile.py | 27 +++++++ .../samurai/all/test_package/test_package.cpp | 13 ++++ recipes/samurai/config.yml | 3 + 6 files changed, 134 insertions(+) create mode 100644 recipes/samurai/all/conandata.yml create mode 100644 recipes/samurai/all/conanfile.py create mode 100644 recipes/samurai/all/test_package/CMakeLists.txt create mode 100644 recipes/samurai/all/test_package/conanfile.py create mode 100644 recipes/samurai/all/test_package/test_package.cpp create mode 100644 recipes/samurai/config.yml diff --git a/recipes/samurai/all/conandata.yml b/recipes/samurai/all/conandata.yml new file mode 100644 index 0000000000000..7e66e39ecb0dd --- /dev/null +++ b/recipes/samurai/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.2.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.2.0.tar.gz" + sha256: "2cc885211fcee2582d9219588d474071c1fa75d52fc43d976f538d739ad71b48" diff --git a/recipes/samurai/all/conanfile.py b/recipes/samurai/all/conanfile.py new file mode 100644 index 0000000000000..3c3caf72355d3 --- /dev/null +++ b/recipes/samurai/all/conanfile.py @@ -0,0 +1,77 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +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 = "samurai" + description = "Intervals coupled with algebra of set to handle adaptive mesh refinement and operators on it" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/hpc-maths/samurai" + topics = ("scientific computing", "adaptive mesh refinement", "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 { + "Visual Studio": "16.9", + "msvc": "192", + "gcc": "12", + "clang": "13", + "apple-clang": "14", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("cli11/2.3.2") + self.requires("fmt/9.1.0") + self.requires("highfive/2.7.1") + self.requires("pugixml/1.13") + self.requires("xsimd/10.0.0") + self.requires("xtensor/0.24.3") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + # Copy all files to the package folder + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/samurai/all/test_package/CMakeLists.txt b/recipes/samurai/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..533cf0729a819 --- /dev/null +++ b/recipes/samurai/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(samurai REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PRIVATE samurai::samurai) + +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/samurai/all/test_package/conanfile.py b/recipes/samurai/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/samurai/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/samurai/all/test_package/test_package.cpp b/recipes/samurai/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..378797846ff9e --- /dev/null +++ b/recipes/samurai/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include + +int main(void) +{ + constexpr std::size_t dim = 2; + using Config = samurai::UniformConfig; + + samurai::Box box({-1}, {1}); + samurai::UniformMesh umesh{box, 10}; + + return EXIT_SUCCESS; +} diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml new file mode 100644 index 0000000000000..b370fcee5fe7c --- /dev/null +++ b/recipes/samurai/config.yml @@ -0,0 +1,3 @@ +versions: + "0.2.0": + folder: all From 29122dd88f43ca1a270efb6a7c1728f36f63f533 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 May 2023 04:42:21 +0900 Subject: [PATCH 0341/4087] (#17665) quirc: add version 1.2 * quirc: add version 1.2 * add patch_description --- recipes/quirc/all/conandata.yml | 9 +++++++++ recipes/quirc/config.yml | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/quirc/all/conandata.yml b/recipes/quirc/all/conandata.yml index 91fd4b44c4dfb..a6863036da2b5 100644 --- a/recipes/quirc/all/conandata.yml +++ b/recipes/quirc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2": + url: "https://github.com/dlbeer/quirc/archive/v1.2.tar.gz" + sha256: "73c12ea33d337ec38fb81218c7674f57dba7ec0570bddd5c7f7a977c0deb64c5" "1.1": url: "https://github.com/dlbeer/quirc/archive/v1.1.tar.gz" sha256: "5102ccb57639cb355642c1f8af0d815026c948d85d99bf9b86be5746e759f8e6" @@ -8,5 +11,11 @@ sources: patches: "1.1": - patch_file: "patches/remove-c99-features.patch" + patch_description: "remove c99 features" + patch_type: "portability" + patch_source: "https://github.com/dlbeer/quirc/issues/68" "1.0": - patch_file: "patches/replace-vla.patch" + patch_description: "threshold() uses now the row_average member of struct quirc." + patch_type: "portability" + patch_source: "https://github.com/dlbeer/quirc/commit/90371f36a034312f264f2589ff218dad62bee4a4" diff --git a/recipes/quirc/config.yml b/recipes/quirc/config.yml index d5affdb292771..db25e2b16686a 100644 --- a/recipes/quirc/config.yml +++ b/recipes/quirc/config.yml @@ -1,6 +1,7 @@ versions: + "1.2": + folder: all "1.1": folder: all "1.0": folder: all - From 4b794f52f7dc56ccb17dd419c6ea2435212ce19f Mon Sep 17 00:00:00 2001 From: Tristan Penman Date: Wed, 24 May 2023 20:07:39 +1000 Subject: [PATCH 0342/4087] (#17621) valijson: bump version 1.0.1 --- 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 7d91b8058deb9..60d1924df1916 100644 --- a/recipes/valijson/all/conandata.yml +++ b/recipes/valijson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/tristanpenman/valijson/archive/v1.0.1.tar.gz" + sha256: "b478b82af1db1d98c2ce47de4ad28647ec66800eaf704dba8b5e785cbca1d785" "1.0": url: "https://github.com/tristanpenman/valijson/archive/v1.0.tar.gz" sha256: "6b9f0bc89880feb3fe09aa469cd81f6168897d2fbb4e715853da3b94afd3779a" diff --git a/recipes/valijson/config.yml b/recipes/valijson/config.yml index 3fcfb3c4539e9..12f40d7975787 100644 --- a/recipes/valijson/config.yml +++ b/recipes/valijson/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.1": + folder: "all" "1.0": folder: "all" "0.7": From 739eaccde92f974a796e8a44b1dc201f41c85fec Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 24 May 2023 21:49:53 +0900 Subject: [PATCH 0343/4087] (#16696) naive-tsearch: support conan v2 * naive-tsearch: support conan v2 * disable tests * fix package_type * remove package_type Co-authored-by: Uilian Ries * revert package_type Co-authored-by: Uilian Ries * make package_type as header-library when header_only=True Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/naive-tsearch/all/CMakeLists.txt | 7 -- recipes/naive-tsearch/all/conandata.yml | 6 +- recipes/naive-tsearch/all/conanfile.py | 84 +++++++++++-------- .../all/test_package/CMakeLists.txt | 11 ++- .../all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ recipes/naive-tsearch/config.yml | 4 +- 8 files changed, 103 insertions(+), 56 deletions(-) delete mode 100644 recipes/naive-tsearch/all/CMakeLists.txt create mode 100644 recipes/naive-tsearch/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/naive-tsearch/all/test_v1_package/conanfile.py diff --git a/recipes/naive-tsearch/all/CMakeLists.txt b/recipes/naive-tsearch/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/naive-tsearch/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/naive-tsearch/all/conandata.yml b/recipes/naive-tsearch/all/conandata.yml index fe6850061cde2..f2b6946fce0e4 100644 --- a/recipes/naive-tsearch/all/conandata.yml +++ b/recipes/naive-tsearch/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "0.1.0": - url: "https://github.com/kulp/naive-tsearch/releases/download/v0.1.0/naive-tsearch-0.1.0.tar.xz" - sha256: "0e45b7ffb5ff98dce56c4e01365905158843f4c75e6bf1061774153f3c63a2a4" "0.1.1": url: "https://github.com/kulp/naive-tsearch/releases/download/v0.1.1/naive-tsearch-0.1.1.tar.xz" sha256: "cb779326a8748fb527ab2f4d199923c92dc7d120988b45400d4b31fd77288a1b" + "0.1.0": + url: "https://github.com/kulp/naive-tsearch/releases/download/v0.1.0/naive-tsearch-0.1.0.tar.xz" + sha256: "0e45b7ffb5ff98dce56c4e01365905158843f4c75e6bf1061774153f3c63a2a4" diff --git a/recipes/naive-tsearch/all/conanfile.py b/recipes/naive-tsearch/all/conanfile.py index 18e7d263339e4..d8bcafaf23b02 100644 --- a/recipes/naive-tsearch/all/conanfile.py +++ b/recipes/naive-tsearch/all/conanfile.py @@ -1,16 +1,19 @@ -from conans import CMake, ConanFile, tools +from conan import ConanFile +from conan.tools.files import get, copy, rm, rmdir +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os +required_conan_version = ">=1.53.0" class NaiveTsearchConan(ConanFile): name = "naive-tsearch" description = "A simple tsearch() implementation for platforms without one" - topics = ("conan", "naive-tsearch", "tsearch", "search", "tree", "msvc") license = "MIT" - homepage = "https://github.com/kulp/naive-tsearch" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kulp/naive-tsearch" + topics = ("tsearch", "search", "tree", "msvc") + package_type = 'static-library' settings = "os", "arch", "compiler", "build_type" - exports_sources = ["CMakeLists.txt"] options = { "fPIC": [True, False], "header_only": [True, False], @@ -19,60 +22,73 @@ class NaiveTsearchConan(ConanFile): "fPIC": True, "header_only": True, } - generators = "cmake" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.header_only: + self.package_type = 'header-library' + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + else: + del self.info.options.header_only def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("{}-{}".format(self.name, self.version), self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["NAIVE_TSEARCH_INSTALL"] = True - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["NAIVE_TSEARCH_INSTALL"] = True + tc.variables["NAIVE_TSEARCH_TESTS"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - 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() - - 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): - del self.info.options.header_only + rmdir(self, os.path.join(self.package_folder, "share")) + if self.options.header_only: + rmdir(self, os.path.join(self.package_folder, "lib")) + rm(self, "tsearch.h", os.path.join(self.package_folder, "include", "naive-tsearch")) + else: + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "tsearch_hdronly.h", os.path.join(self.package_folder, "include", "naive-tsearch")) + rm(self, "tsearch.c.inc", os.path.join(self.package_folder, "include", "naive-tsearch")) def package_info(self): if self.options.header_only: self.cpp_info.components["header_only"].libs = [] self.cpp_info.components["header_only"].libdirs = [] + self.cpp_info.components["header_only"].bindirs = [] self.cpp_info.components["header_only"].includedirs.append(os.path.join("include", "naive-tsearch")) self.cpp_info.components["header_only"].defines = ["NAIVE_TSEARCH_HDRONLY"] - self.cpp_info.components["header_only"].names["cmake_find_package"] = "naive-tsearch-hdronly" - self.cpp_info.components["header_only"].names["cmake_find_package_multi"] = "naive-tsearch-hdronly" + self.cpp_info.components["header_only"].set_property("cmake_target_name", "naive-tsearch::naive-tsearch-hdronly") + self.cpp_info.components["header_only"].set_property("pkg_config_name", "naive-tsearch") else: self.cpp_info.components["naive_tsearch"].libs = ["naive-tsearch"] self.cpp_info.components["naive_tsearch"].includedirs.append(os.path.join("include", "naive-tsearch")) + self.cpp_info.components["naive_tsearch"].set_property("cmake_target_name", "naive-tsearch::naive-tsearch") + self.cpp_info.components["naive_tsearch"].set_property("pkg_config_name", "naive-tsearch") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + if self.options.header_only: + self.cpp_info.components["header_only"].names["cmake_find_package"] = "naive-tsearch-hdronly" + self.cpp_info.components["header_only"].names["cmake_find_package_multi"] = "naive-tsearch-hdronly" + else: self.cpp_info.components["naive_tsearch"].names["cmake_find_package"] = "naive-tsearch" self.cpp_info.components["naive_tsearch"].names["cmake_find_package_multi"] = "naive-tsearch" diff --git a/recipes/naive-tsearch/all/test_package/CMakeLists.txt b/recipes/naive-tsearch/all/test_package/CMakeLists.txt index 3a403dc404b41..23cf15ed79338 100644 --- a/recipes/naive-tsearch/all/test_package/CMakeLists.txt +++ b/recipes/naive-tsearch/all/test_package/CMakeLists.txt @@ -1,8 +1,11 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(naive-tsearch REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +if(TARGET naive-tsearch::naive-tsearch-hdronly) + target_link_libraries(${PROJECT_NAME} PRIVATE naive-tsearch::naive-tsearch-hdronly) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE naive-tsearch::naive-tsearch) +endif() diff --git a/recipes/naive-tsearch/all/test_package/conanfile.py b/recipes/naive-tsearch/all/test_package/conanfile.py index bd7165a553cf4..e845ae751a301 100644 --- a/recipes/naive-tsearch/all/test_package/conanfile.py +++ b/recipes/naive-tsearch/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if 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/naive-tsearch/all/test_v1_package/CMakeLists.txt b/recipes/naive-tsearch/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/naive-tsearch/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/naive-tsearch/all/test_v1_package/conanfile.py b/recipes/naive-tsearch/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/naive-tsearch/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/naive-tsearch/config.yml b/recipes/naive-tsearch/config.yml index 06eee83c5fb24..2b7d871e4c96b 100644 --- a/recipes/naive-tsearch/config.yml +++ b/recipes/naive-tsearch/config.yml @@ -1,5 +1,5 @@ versions: - "0.1.0": - folder: "all" "0.1.1": folder: "all" + "0.1.0": + folder: "all" From c3571b2bc8ec821e15055a88317db749656e1ff0 Mon Sep 17 00:00:00 2001 From: Dmitry Bely Date: Wed, 24 May 2023 17:05:45 +0100 Subject: [PATCH 0344/4087] (#17046) harfbuzz: bump dependencies * harfbuzz: bump dependencies * harfbuzz: bump dep and use gettext from conancenter on macOS * harfbuzz: work around runtime path issues --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/harfbuzz/all/conanfile.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index 8c53f442303a5..5234c8cf1512b 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os, fix_apple_shared_install_name from conan.tools.build import can_run, stdcpp_library -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, replace_in_file from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout @@ -49,6 +49,10 @@ class HarfbuzzConan(ConanFile): short_paths = True + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + def export_sources(self): export_conandata_patches(self) @@ -76,7 +80,7 @@ def requirements(self): if self.options.with_icu: self.requires("icu/72.1") if self.options.with_glib: - self.requires("glib/2.76.0", run=can_run(self)) + self.requires("glib/2.76.2", run=can_run(self)) def validate(self): if self.options.shared and self.options.with_glib and not self.dependencies["glib"].options.shared: @@ -97,7 +101,11 @@ def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") if self.options.with_glib and not can_run(self): - self.tool_requires("glib/2.76.0") + self.tool_requires("glib/2.76.2") + if self.settings.os == "Macos": + # Ensure that the gettext we use at build time is compatible + # with the libiconv that is transitively exposed by glib + self.tool_requires("gettext/0.21") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -119,6 +127,15 @@ def is_vs_2017(): VirtualBuildEnv(self).generate() if self.options.with_glib and can_run(self): VirtualRunEnv(self).generate(scope="build") + + # Avoid conflicts with libiconv + # see: https://github.com/conan-io/conan-center-index/pull/17046#issuecomment-1554629094 + if self._settings_build.os == "Macos": + env = Environment() + env.define_path("DYLD_FALLBACK_LIBRARY_PATH", "$DYLD_LIBRARY_PATH") + env.define_path("DYLD_LIBRARY_PATH", "") + env.vars(self, scope="build").save_script("conanbuild_macos_runtimepath") + PkgConfigDeps(self).generate() backend, cxxflags = meson_backend_and_flags() From 3e03e94d9c80d61dbd55b93a711b50a2c5ee1b90 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 24 May 2023 19:22:07 +0200 Subject: [PATCH 0345/4087] (#17677) glib: add version 2.76.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index cad33c3742370..86a2b24a9d299 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.76.3": + url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.3.tar.xz" + sha256: "c0be444e403d7c3184d1f394f89f0b644710b5e9331b54fa4e8b5037813ad32a" "2.76.2": url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.2.tar.xz" sha256: "24f3847857b1d8674cdb0389a36edec0f13c666cd3ce727ecd340eb9da8aca9e" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index 385fb40736e20..362adfbe65783 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.76.3": + folder: all "2.76.2": folder: all "2.76.1": From 070832a4dcd58d7cb9c4a684e9ee2d3f687ad833 Mon Sep 17 00:00:00 2001 From: Paulo Coutinho Date: Thu, 25 May 2023 03:21:49 -0300 Subject: [PATCH 0346/4087] (#17689) upgrade sqlitecpp to version 3.3.0 --- 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 ee0a68eaa6f16..9f7fc37611e76 100644 --- a/recipes/sqlitecpp/all/conandata.yml +++ b/recipes/sqlitecpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/SRombauts/SQLiteCpp/archive/3.3.0.tar.gz" + sha256: "4a37dd63cf91235ea2ef4494054700c144b3f96e93a330ef61ed53d106353e9c" "3.2.1": url: "https://github.com/SRombauts/SQLiteCpp/archive/3.2.1.tar.gz" sha256: "70c67d5680c47460f82a7abf8e6b0329bf2fb10795a982a6d8abc06adb42d693" diff --git a/recipes/sqlitecpp/config.yml b/recipes/sqlitecpp/config.yml index e29442357e51d..71f5731f373e2 100644 --- a/recipes/sqlitecpp/config.yml +++ b/recipes/sqlitecpp/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: all "3.2.1": folder: all "3.2.0": From 19c61c1586376fe6f076e88991a5e25fb1a0984a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 May 2023 17:44:50 +0900 Subject: [PATCH 0347/4087] (#17329) lua: add version 5.4.6, add package_type * lua: add version 5.4.5 * update 5.4.6 --- recipes/lua/all/conandata.yml | 3 +++ recipes/lua/all/conanfile.py | 19 +++++++++---------- recipes/lua/all/test_package/CMakeLists.txt | 2 +- recipes/lua/config.yml | 2 ++ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/recipes/lua/all/conandata.yml b/recipes/lua/all/conandata.yml index f5255a70f03a4..8ec9d4e74c4ed 100644 --- a/recipes/lua/all/conandata.yml +++ b/recipes/lua/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.6": + url: "https://www.lua.org/ftp/lua-5.4.6.tar.gz" + sha256: "7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88" "5.4.4": url: "https://www.lua.org/ftp/lua-5.4.4.tar.gz" sha256: "164c7849653b80ae67bec4b7473b884bf5cc8d2dca05653475ec2ed27b9ebf61" diff --git a/recipes/lua/all/conanfile.py b/recipes/lua/all/conanfile.py index 1c9406858f97e..72ee3c59253a9 100644 --- a/recipes/lua/all/conanfile.py +++ b/recipes/lua/all/conanfile.py @@ -11,23 +11,22 @@ class LuaConan(ConanFile): name = "lua" - package_type = "library" description = "Lua is a powerful, efficient, lightweight, embeddable scripting language." + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.lua.org/" - topics = ("lua", "scripting") - license = "MIT" - - settings = "os", "compiler", "arch", "build_type" + topics = ("embed", "scripting") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [False, True], "fPIC": [True, False], - "compile_as_cpp": [True, False] + "compile_as_cpp": [True, False], } default_options = { "shared": False, "fPIC": True, - "compile_as_cpp": False + "compile_as_cpp": False, } def export_sources(self): @@ -45,12 +44,12 @@ def configure(self): self.options.rm_safe("compiler.libcxx") self.options.rm_safe("compiler.cppstd") - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - 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["LUA_SRC_DIR"] = self.source_folder.replace("\\", "/") diff --git a/recipes/lua/all/test_package/CMakeLists.txt b/recipes/lua/all/test_package/CMakeLists.txt index 4ca1d96700d41..452e652d03775 100644 --- a/recipes/lua/all/test_package/CMakeLists.txt +++ b/recipes/lua/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES CXX) find_package(lua REQUIRED CONFIG) diff --git a/recipes/lua/config.yml b/recipes/lua/config.yml index 00ba0957e8f66..2b62e0c775189 100644 --- a/recipes/lua/config.yml +++ b/recipes/lua/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.6": + folder: all "5.4.4": folder: all "5.4.3": From 8f81d01302c8dc17565960362fabbd75c4ed181d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 25 May 2023 11:41:42 +0200 Subject: [PATCH 0348/4087] (#17695) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 13710e26a13d1..0a75bc37e02f5 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -1,4 +1,5 @@ required_for_references: +- 7bitdi - aaf - aaplus - abseil @@ -7,6 +8,7 @@ required_for_references: - ada - ade - aeron +- aggeom-agg - alac - alpaca - amgcl @@ -246,6 +248,7 @@ required_for_references: - ghc-filesystem - giflib - ginkgo +- gklib - glad - glfw - gli @@ -439,6 +442,7 @@ required_for_references: - msgpack-c - msgpack-cxx - msys2 +- naive-tsearch - namedtype - nameof - nanoflann @@ -527,6 +531,7 @@ required_for_references: - rttr - ruy - s2n +- samurai - scnlib - screen_capture_lite - sdbus-cpp From ae5af70ca1b50d9aa905046a688b6e346e84bf08 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 25 May 2023 12:02:10 +0200 Subject: [PATCH 0349/4087] (#17690) harfbuzz/all: bump deps * harfbuzz/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * harfbuzz/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/harfbuzz/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index 5234c8cf1512b..c31c4772cdf26 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -78,9 +78,9 @@ def requirements(self): if self.options.with_freetype: self.requires("freetype/2.13.0") if self.options.with_icu: - self.requires("icu/72.1") + self.requires("icu/73.1") if self.options.with_glib: - self.requires("glib/2.76.2", run=can_run(self)) + self.requires("glib/2.76.3", run=can_run(self)) def validate(self): if self.options.shared and self.options.with_glib and not self.dependencies["glib"].options.shared: @@ -97,11 +97,11 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") if self.options.with_glib and not can_run(self): - self.tool_requires("glib/2.76.2") + self.tool_requires("glib/2.76.3") if self.settings.os == "Macos": # Ensure that the gettext we use at build time is compatible # with the libiconv that is transitively exposed by glib From c5326102cc68bbff0b6099b2582017d7c89339b9 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Thu, 25 May 2023 04:05:06 -0700 Subject: [PATCH 0350/4087] (#17322) restinio: bump dependencies --- recipes/restinio/all/conanfile.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index 16542fcac1126..0b396c60ef333 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -39,14 +39,12 @@ def layout(self): def requirements(self): self.requires("http_parser/2.9.4") - if Version(self.version) >= "0.6.17": + if Version(self.version) >= "0.6.16": self.requires("fmt/9.1.0") - elif Version(self.version) >= "0.6.16": - self.requires("fmt/9.0.0") else: self.requires("fmt/8.1.1") - self.requires("expected-lite/0.6.2") + self.requires("expected-lite/0.6.3") self.requires("optional-lite/3.5.0") self.requires("string-view-lite/1.6.0") self.requires("variant-lite/2.0.0") @@ -63,7 +61,7 @@ def requirements(self): self.requires("boost/1.73.0") if self.options.with_openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: self.requires("zlib/1.2.13") From a01c2ee242e8c81f7718b22996ad4f3f84f51fa7 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 25 May 2023 14:01:51 +0200 Subject: [PATCH 0351/4087] (#17693) [bot] Update authorized users list (2023-05-25) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index eea29f76778e2..36565f4595195 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1160,3 +1160,5 @@ authorized_users: - marcus-sonestedt - amrox - tristanpenman +- schmidjo82 +- hiiizxf From d4e2efe03a053f9b9ad91ef09eedd7842f778a6e Mon Sep 17 00:00:00 2001 From: Gareth Andrew Lloyd Date: Thu, 25 May 2023 13:22:21 +0100 Subject: [PATCH 0352/4087] (#17685) Fix fmt test_package for C++20 --- recipes/fmt/all/test_package/test_package.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/fmt/all/test_package/test_package.cpp b/recipes/fmt/all/test_package/test_package.cpp index bcd009407212d..736bcb6a40958 100644 --- a/recipes/fmt/all/test_package/test_package.cpp +++ b/recipes/fmt/all/test_package/test_package.cpp @@ -46,11 +46,10 @@ int main() { fmt::print("{}\n", formatted); fmt::memory_buffer buf; - fmt::format_to(std::begin(buf), "{}", 2.7182818); + fmt::format_to(std::back_inserter(buf), "{}", 2.7182818); fmt::print("Euler number: {}\n", fmt::to_string(buf)); - const std::string date = fmt::format("The date is {}\n", Date(2012, 12, 9)); - fmt::print(date); + fmt::print("The date is {}\n", Date(2012, 12, 9)); report("{} {} {}\n", "Conan", 42, 3.14159); From e98bd59725c0d4460f7db48c8bad2336662d8713 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 25 May 2023 15:01:53 +0200 Subject: [PATCH 0353/4087] (#17688) harfbuzz: add version 7.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index bdeb5b0c43801..f28956a8ac497 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.3.0": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/7.3.0/harfbuzz-7.3.0.tar.xz" + sha256: "20770789749ac9ba846df33983dbda22db836c70d9f5d050cb9aa5347094a8fb" "7.1.0": url: "https://github.com/harfbuzz/harfbuzz/releases/download/7.1.0/harfbuzz-7.1.0.tar.xz" sha256: "f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index ccb850f8b35f9..2957fc897516b 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "7.3.0": + folder: all "7.1.0": folder: all "6.0.0": From 38f6c70b0aef02b80bb65271e167f0f39bcc98b5 Mon Sep 17 00:00:00 2001 From: Loic Gouarin Date: Thu, 25 May 2023 15:41:50 +0200 Subject: [PATCH 0354/4087] (#17673) update samurai to release 0.3.0 * update samurai to release 0.3.0 * add c++17 if version < 0.3.0 * add end line * fix cxx17 --- 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 7e66e39ecb0dd..d10010d1fa9f9 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.3.0.tar.gz" + sha256: "5e6313d92fa2cd23941192c74014749acfcfbcfd5fdc1601cb3c9f4d151c7f4e" "0.2.0": url: "https://github.com/hpc-maths/samurai/archive/v0.2.0.tar.gz" sha256: "2cc885211fcee2582d9219588d474071c1fa75d52fc43d976f538d739ad71b48" diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml index b370fcee5fe7c..0e8084dbaff4b 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,3 +1,5 @@ versions: + "0.3.0": + folder: all "0.2.0": folder: all From 89fcd37aa5df8e09d1594b8c6376b1cdd1cd4ffc Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 25 May 2023 23:22:01 +0900 Subject: [PATCH 0355/4087] (#17687) hidapi: add version 0.14.0 --- recipes/hidapi/all/conandata.yml | 3 +++ recipes/hidapi/all/conanfile.py | 3 ++- recipes/hidapi/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/hidapi/all/conandata.yml b/recipes/hidapi/all/conandata.yml index eac49619f91bb..a5b2b5c3f2c29 100644 --- a/recipes/hidapi/all/conandata.yml +++ b/recipes/hidapi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.0": + url: "https://github.com/libusb/hidapi/archive/hidapi-0.14.0.tar.gz" + sha256: "a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd" "0.13.1": url: "https://github.com/libusb/hidapi/archive/hidapi-0.13.1.tar.gz" sha256: "476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3" diff --git a/recipes/hidapi/all/conanfile.py b/recipes/hidapi/all/conanfile.py index fe9ed0a02da20..893e57541d41c 100644 --- a/recipes/hidapi/all/conanfile.py +++ b/recipes/hidapi/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, MSBuild, MSBuildToolchain +from conan.tools.apple import is_apple_os from conan.tools.scm import Version import os @@ -150,7 +151,7 @@ def package_info(self): self.cpp_info.components["hidraw"].system_libs = ["pthread", "dl"] else: self.cpp_info.libs = ["hidapi"] - if self.settings.os == "Macos": + if is_apple_os(self): self.cpp_info.frameworks.extend(["IOKit", "CoreFoundation", "AppKit"]) if Version(self.version) == "0.10.1" and self.settings.os == "Windows": self.cpp_info.system_libs = ["setupapi"] diff --git a/recipes/hidapi/config.yml b/recipes/hidapi/config.yml index 902a32ea98919..9873ccd8c495b 100644 --- a/recipes/hidapi/config.yml +++ b/recipes/hidapi/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.0": + folder: all "0.13.1": folder: all "0.12.0": From c298646d8e63699ff8a0acc136d004bb1ea0590e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 May 2023 00:22:48 +0900 Subject: [PATCH 0356/4087] (#17684) magic_enum: add version 0.9.0, minor improvements --- recipes/magic_enum/all/conandata.yml | 51 ++++++++++--------- recipes/magic_enum/all/conanfile.py | 13 +++-- .../all/test_v1_package/CMakeLists.txt | 9 ++-- recipes/magic_enum/config.yml | 18 ++++--- 4 files changed, 46 insertions(+), 45 deletions(-) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index f1eb6c3e30073..759878c043f07 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,28 +1,31 @@ sources: - "0.6.5": - sha256: "37A69482517C8976CB48CD271DA8C6BA92E07EE2AB2BDD7CAEF4C8158AF77359" - url: "https://github.com/Neargye/magic_enum/archive/v0.6.5.tar.gz" - "0.6.6": - sha256: "1033f9a9315023feebb48f20d5a572149ec72c1e95a52bcf7042a412ff9d2e28" - url: "https://github.com/Neargye/magic_enum/archive/v0.6.6.tar.gz" - "0.7.0": - sha256: "4fe6627407a656d0d73879c0346b251ccdcfb718c37bef5410ba172c7c7d5f9a" - url: "https://github.com/Neargye/magic_enum/archive/v0.7.0.tar.gz" - "0.7.1": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.1.tar.gz" - sha256: "11bb590dd055194e92936fa4d0652084c14bd23ac8e4b5a02271b6259a05cec9" - "0.7.2": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.2.tar.gz" - sha256: "a77895ebc684f7a4dd2e4e06529b22e9ae694037f6dee0753d3ce0bbcd5b3e38" - "0.7.3": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.3.tar.gz" - sha256: "b8d0cd848546fee136dc1fa4bb021a1e4dc8fe98e44d8c119faa3ef387636bf7" - "0.8.0": - url: "https://github.com/Neargye/magic_enum/archive/v0.8.0.tar.gz" - sha256: "5e7680e877dd4cf68d9d0c0e3c2a683b432a9ba84fc1993c4da3de70db894c3c" - "0.8.1": - url: "https://github.com/Neargye/magic_enum/archive/v0.8.1.tar.gz" - sha256: "6b948d1680f02542d651fc82154a9e136b341ce55c5bf300736b157e23f9df11" + "0.9.0": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.0.tar.gz" + sha256: "2fb2f602b4660f8af539ee00958132a397e138bda19aa1ceae546de3a143386b" "0.8.2": url: "https://github.com/Neargye/magic_enum/archive/v0.8.2.tar.gz" sha256: "62bd7034bbbfc3d7806001767d5775ab42f3ff33bb38366e1ceb21102f0dff9a" + "0.8.1": + url: "https://github.com/Neargye/magic_enum/archive/v0.8.1.tar.gz" + sha256: "6b948d1680f02542d651fc82154a9e136b341ce55c5bf300736b157e23f9df11" + "0.8.0": + url: "https://github.com/Neargye/magic_enum/archive/v0.8.0.tar.gz" + sha256: "5e7680e877dd4cf68d9d0c0e3c2a683b432a9ba84fc1993c4da3de70db894c3c" + "0.7.3": + url: "https://github.com/Neargye/magic_enum/archive/v0.7.3.tar.gz" + sha256: "b8d0cd848546fee136dc1fa4bb021a1e4dc8fe98e44d8c119faa3ef387636bf7" + "0.7.2": + url: "https://github.com/Neargye/magic_enum/archive/v0.7.2.tar.gz" + sha256: "a77895ebc684f7a4dd2e4e06529b22e9ae694037f6dee0753d3ce0bbcd5b3e38" + "0.7.1": + url: "https://github.com/Neargye/magic_enum/archive/v0.7.1.tar.gz" + sha256: "11bb590dd055194e92936fa4d0652084c14bd23ac8e4b5a02271b6259a05cec9" + "0.7.0": + url: "https://github.com/Neargye/magic_enum/archive/v0.7.0.tar.gz" + sha256: "4fe6627407a656d0d73879c0346b251ccdcfb718c37bef5410ba172c7c7d5f9a" + "0.6.6": + url: "https://github.com/Neargye/magic_enum/archive/v0.6.6.tar.gz" + sha256: "1033f9a9315023feebb48f20d5a572149ec72c1e95a52bcf7042a412ff9d2e28" + "0.6.5": + url: "https://github.com/Neargye/magic_enum/archive/v0.6.5.tar.gz" + sha256: "37A69482517C8976CB48CD271DA8C6BA92E07EE2AB2BDD7CAEF4C8158AF77359" diff --git a/recipes/magic_enum/all/conanfile.py b/recipes/magic_enum/all/conanfile.py index ad2dd7598a2f6..5d4edee82bb6d 100644 --- a/recipes/magic_enum/all/conanfile.py +++ b/recipes/magic_enum/all/conanfile.py @@ -15,11 +15,12 @@ class MagicEnumConan(ConanFile): "Header-only C++17 library provides static reflection for enums, work " "with any enum type without any macro or boilerplate code." ) - topics = ("cplusplus", "enum-to-string", "string-to-enum", "serialization", - "reflection", "header-only", "compile-time") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Neargye/magic_enum" - license = "MIT" + topics = ("cplusplus", "enum-to-string", "string-to-enum", "serialization", + "reflection", "header-only", "compile-time") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -32,6 +33,7 @@ def _compilers_minimum_version(self): return { "gcc": "9", "Visual Studio": "15", + "msvc": "191", "clang": "5", "apple-clang": "10", } @@ -52,8 +54,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -66,6 +67,4 @@ 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.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/magic_enum/all/test_v1_package/CMakeLists.txt b/recipes/magic_enum/all/test_v1_package/CMakeLists.txt index de886ea1bc291..be00a8c7f57c7 100644 --- a/recipes/magic_enum/all/test_v1_package/CMakeLists.txt +++ b/recipes/magic_enum/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(magic_enum REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE magic_enum::magic_enum) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index affbfa65ae445..e1638e15ae6fe 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,19 +1,21 @@ versions: - "0.6.5": + "0.9.0": folder: all - "0.6.6": + "0.8.2": folder: all - "0.7.0": + "0.8.1": folder: all - "0.7.1": + "0.8.0": + folder: all + "0.7.3": folder: all "0.7.2": folder: all - "0.7.3": + "0.7.1": folder: all - "0.8.0": + "0.7.0": folder: all - "0.8.1": + "0.6.6": folder: all - "0.8.2": + "0.6.5": folder: all From 3d1a502c9070de8abfbe35c43bcc1449d1215d26 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Thu, 25 May 2023 18:22:21 +0200 Subject: [PATCH 0357/4087] (#17667) lzma_sdk: Convert to Conan 2 * lzma_sdk: Conan 2 compatibility * lzma_sdk: fix autotools build * lzma_sdk: add conan v1 test * lzma_sdk: use basic layout * lzma_sdk: apply flags from environment --- recipes/lzma_sdk/9.20/conanfile.py | 115 ++++++++++-------- .../lzma_sdk/9.20/test_package/conanfile.py | 14 ++- .../9.20/test_v1_package/conanfile.py | 10 ++ 3 files changed, 84 insertions(+), 55 deletions(-) create mode 100644 recipes/lzma_sdk/9.20/test_v1_package/conanfile.py diff --git a/recipes/lzma_sdk/9.20/conanfile.py b/recipes/lzma_sdk/9.20/conanfile.py index 66f4dfa40693b..27fc9f6331b8f 100644 --- a/recipes/lzma_sdk/9.20/conanfile.py +++ b/recipes/lzma_sdk/9.20/conanfile.py @@ -1,9 +1,12 @@ from conan import ConanFile -from conan.tools.files import get, chdir, replace_in_file, rm -from conans import tools, AutoToolsBuildEnvironment, VisualStudioBuildEnvironment +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import get, chdir, copy, replace_in_file, rm +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, NMakeToolchain import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.55.0" """ This older lzma release is used to build 7zip (to extract its sources). @@ -25,36 +28,51 @@ class LzmaSdkConan(ConanFile): license = ("LZMA-exception",) homepage = "https://www.7-zip.org/sdk.html" topics = ("lzma", "zip", "compression", "decompression") - settings = "os", "arch", "compiler" - - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if self.settings.compiler != "Visual Studio" and self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + if not is_msvc(self) and self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.build_requires("msys2/cci.latest") + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): + del self.info.settings.build_type del self.info.settings.compiler def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder) - rm(self, "7zr.exe", self._source_subfolder) - rm(self, "lzma.exe", self._source_subfolder) + get(self, **self.conan_data["sources"][self.version]) + rm(self, "7zr.exe", self.source_folder) + rm(self, "lzma.exe", self.source_folder) + + def generate(self): + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() @property def _msvc_build_dirs(self): return ( - (os.path.join(self._source_subfolder, "C", "Util", "7z"), "7zDec.exe"), - (os.path.join(self._source_subfolder, "C", "Util", "Lzma"), "LZMAc.exe"), - (os.path.join(self._source_subfolder, "CPP", "7zip", "UI", "Console"), "7z.exe"), - (os.path.join(self._source_subfolder, "CPP", "7zip","Bundles", "Alone7z"), "7zr.exe"), - (os.path.join(self._source_subfolder, "CPP", "7zip", "Bundles", "LzmaCon"), "lzma.exe"), + (os.path.join(self.source_folder, "C", "Util", "7z"), "7zDec.exe"), + (os.path.join(self.source_folder, "C", "Util", "Lzma"), "LZMAc.exe"), + (os.path.join(self.source_folder, "CPP", "7zip", "UI", "Console"), "7z.exe"), + (os.path.join(self.source_folder, "CPP", "7zip","Bundles", "Alone7z"), "7zr.exe"), + (os.path.join(self.source_folder, "CPP", "7zip", "Bundles", "LzmaCon"), "lzma.exe"), ) @property @@ -68,69 +86,64 @@ def _msvc_cpu(self): def _autotools_build_dirs(self): es = ".exe" if self.settings.os == "Windows" else "" return ( - (os.path.join(self._source_subfolder, "C", "Util", "7z"), f"7zDec{es}"), - (os.path.join(self._source_subfolder, "CPP", "7zip", "Bundles", "LzmaCon"), f"lzma{es}"), + (os.path.join(self.source_folder, "C", "Util", "7z"), f"7zDec{es}"), + (os.path.join(self.source_folder, "CPP", "7zip", "Bundles", "LzmaCon"), f"lzma{es}"), ) def _build_msvc(self): for make_dir, _ in self._msvc_build_dirs: - with tools.vcvars(self): - with tools.environment_append(VisualStudioBuildEnvironment(self).vars): - with tools.chdir(make_dir): - self.run(f"nmake /f makefile NEW_COMPILER=1 CPU={self._msvc_cpu} NO_BUFFEROVERFLOWU=1") + self.run(f"nmake /f makefile NEW_COMPILER=1 CPU={self._msvc_cpu} NO_BUFFEROVERFLOWU=1", cwd=make_dir) def _build_autotools(self): - env_build = AutoToolsBuildEnvironment(self) - with tools.environment_append(env_build.vars): - for make_dir, _ in self._autotools_build_dirs: - with chdir(self, make_dir): - args = [ - "-f", "makefile.gcc", - ] - if self.settings.os == "Windows": - args.append("IS_MINGW=1") - autotools = AutoToolsBuildEnvironment(self) - autotools.make(args=args) + autotools = Autotools(self) + for make_dir, _ in self._autotools_build_dirs: + with chdir(self, make_dir): + args = [ + "-f", "makefile.gcc", + ] + if self.settings.os == "Windows": + args.append("IS_MINGW=1") + autotools.make(args=args) def _patch_sources(self): - if self.settings.compiler == "Visual Studio": - replace_in_file(self, os.path.join(self._source_subfolder, "CPP", "Build.mak"), + if is_msvc(self): + replace_in_file(self, os.path.join(self.source_folder, "CPP", "Build.mak"), "-MT\r", "-" + str(self.settings.compiler.runtime)) - replace_in_file(self, os.path.join(self._source_subfolder, "CPP", "Build.mak"), + replace_in_file(self, os.path.join(self.source_folder, "CPP", "Build.mak"), "-MD\r", "-" + str(self.settings.compiler.runtime)) - replace_in_file(self, os.path.join(self._source_subfolder, "CPP", "Build.mak"), + replace_in_file(self, os.path.join(self.source_folder, "CPP", "Build.mak"), " -WX ", " ") # Patches for other build systems - replace_in_file(self, os.path.join(self._source_subfolder, "C", "Util", "7z", "makefile.gcc"), + replace_in_file(self, os.path.join(self.source_folder, "C", "Util", "7z", "makefile.gcc"), "CFLAGS = ", - "CFLAGS = -fpermissive ") - replace_in_file(self, os.path.join(self._source_subfolder, "C", "Util", "7z", "makefile.gcc"), + "CFLAGS += -fpermissive ") + replace_in_file(self, os.path.join(self.source_folder, "C", "Util", "7z", "makefile.gcc"), ": 7zAlloc.c", ": ../../7zAlloc.c") - replace_in_file(self, os.path.join(self._source_subfolder, "C", "Util", "Lzma", "makefile.gcc"), + replace_in_file(self, os.path.join(self.source_folder, "CPP", "7zip", "Bundles", "LzmaCon", "makefile.gcc"), "CFLAGS = ", - "CFLAGS = -fpermissive ") - replace_in_file(self, os.path.join(self._source_subfolder, "CPP", "Common", "MyString.h"), + "CFLAGS += -fpermissive ") + replace_in_file(self, os.path.join(self.source_folder, "CPP", "Common", "MyString.h"), "#ifdef _WIN32\r\n", "#ifdef _WIN32\r\n#ifndef UNDER_CE\r\n#include \r\n#endif\r\n") def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self._build_msvc() else: self._build_autotools() def package(self): - self.copy("lzma.txt", src=self._source_subfolder, dst="licenses") - self.copy("7zC.txt", src=self._source_subfolder, dst="licenses") - if self.settings.compiler == "Visual Studio": + copy(self, "lzma.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "7zC.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + if is_msvc(self): for make_dir, exe in self._msvc_build_dirs: - self.copy(exe, src=os.path.join(make_dir, self._msvc_cpu), dst="bin", keep_path=False) + copy(self, exe, dst=os.path.join(self.package_folder, "bin"), src=os.path.join(make_dir, self._msvc_cpu), keep_path=False) else: for make_dir, exe in self._autotools_build_dirs: - self.copy(exe, src=os.path.join(make_dir), dst="bin", keep_path=False) + copy(self, exe, dst=os.path.join(self.package_folder, "bin"), src=os.path.join(make_dir), keep_path=False) def package_info(self): self.cpp_info.libdirs = [] diff --git a/recipes/lzma_sdk/9.20/test_package/conanfile.py b/recipes/lzma_sdk/9.20/test_package/conanfile.py index d956ede854042..8ba1177d3f022 100644 --- a/recipes/lzma_sdk/9.20/test_package/conanfile.py +++ b/recipes/lzma_sdk/9.20/test_package/conanfile.py @@ -1,10 +1,16 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): - self.run("7zDec", run_environment=True) - self.run("lzma", run_environment=True) + if can_run(self): + self.run("7zDec") + self.run("lzma") diff --git a/recipes/lzma_sdk/9.20/test_v1_package/conanfile.py b/recipes/lzma_sdk/9.20/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..d956ede854042 --- /dev/null +++ b/recipes/lzma_sdk/9.20/test_v1_package/conanfile.py @@ -0,0 +1,10 @@ +from conans import ConanFile, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if not tools.cross_building(self): + self.run("7zDec", run_environment=True) + self.run("lzma", run_environment=True) From c3e5b6a43605a39550a88ed93f48760df59fbb01 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 25 May 2023 19:02:39 +0200 Subject: [PATCH 0358/4087] (#17443) rectpack2d: conan v2 support --- recipes/rectpack2d/all/conanfile.py | 72 +++++++++++-------- .../all/test_package/CMakeLists.txt | 12 ++-- .../rectpack2d/all/test_package/conanfile.py | 22 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 86 insertions(+), 45 deletions(-) create mode 100644 recipes/rectpack2d/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rectpack2d/all/test_v1_package/conanfile.py diff --git a/recipes/rectpack2d/all/conanfile.py b/recipes/rectpack2d/all/conanfile.py index f4e81a4a0bdcb..3c0eda3c2b8b3 100644 --- a/recipes/rectpack2d/all/conanfile.py +++ b/recipes/rectpack2d/all/conanfile.py @@ -1,8 +1,11 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.50.0" class Rectpack2dConan(ConanFile): @@ -12,49 +15,56 @@ class Rectpack2dConan(ConanFile): description = "C++17 rectangle packing library" topics = ("header-only", "rectpack2d", "graphical", "cpp17") license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "compiler" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "17" @property - def _minimum_cpp_standard(self): - return 17 - - @property - def _minimum_compilers_version(self): + def _min_compilers_version(self): return { "Visual Studio": "15.7", + "msvc": "191", "gcc": "7", "clang": "5", "apple-clang": "10", } - def configure(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"): - 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 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)) + check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + min_version = self._min_compilers_version.get(str(self.settings.compiler), False) + if min_version and loose_lt_semver(str(self.settings.compiler.version), min_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): - 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 package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) - self.copy(pattern="*.h", dst=os.path.join("include", "rectpack2d"), - src=os.path.join(self._source_subfolder, "src")) + def build(self): + pass - def package_id(self): - self.info.header_only() + 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, "src"), dst=os.path.join(self.package_folder, "include", "rectpack2d")) + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rectpack2d/all/test_package/CMakeLists.txt b/recipes/rectpack2d/all/test_package/CMakeLists.txt index cb7ed1d19feb8..5676b880e88bb 100644 --- a/recipes/rectpack2d/all/test_package/CMakeLists.txt +++ b/recipes/rectpack2d/all/test_package/CMakeLists.txt @@ -1,12 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +find_package(rectpack2d REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE rectpack2d::rectpack2d) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/rectpack2d/all/test_package/conanfile.py b/recipes/rectpack2d/all/test_package/conanfile.py index 5493d58611803..0a6bc68712d90 100644 --- a/recipes/rectpack2d/all/test_package/conanfile.py +++ b/recipes/rectpack2d/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rectpack2d/all/test_v1_package/CMakeLists.txt b/recipes/rectpack2d/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/rectpack2d/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rectpack2d/all/test_v1_package/conanfile.py b/recipes/rectpack2d/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/rectpack2d/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2867c07073afc8e6c8a0357926fd05d9c61daa7d Mon Sep 17 00:00:00 2001 From: Binrui Dong Date: Fri, 26 May 2023 01:43:04 +0800 Subject: [PATCH 0359/4087] (#17435) quantlib: add version 1.30 --- recipes/quantlib/all/conandata.yml | 8 +- recipes/quantlib/all/conanfile.py | 27 +++- ...1-fix-cmake.patch => 1.22-fix-cmake.patch} | 0 .../all/patches/1.30-backport-pr-1644.patch | 25 ++++ .../quantlib/all/patches/1.30-fix-cmake.patch | 125 ++++++++++++++++++ .../quantlib/all/test_package/CMakeLists.txt | 2 +- recipes/quantlib/config.yml | 2 + 7 files changed, 180 insertions(+), 9 deletions(-) rename recipes/quantlib/all/patches/{0001-fix-cmake.patch => 1.22-fix-cmake.patch} (100%) create mode 100644 recipes/quantlib/all/patches/1.30-backport-pr-1644.patch create mode 100644 recipes/quantlib/all/patches/1.30-fix-cmake.patch diff --git a/recipes/quantlib/all/conandata.yml b/recipes/quantlib/all/conandata.yml index 92d444f47a0c7..e51c457667afd 100644 --- a/recipes/quantlib/all/conandata.yml +++ b/recipes/quantlib/all/conandata.yml @@ -1,7 +1,13 @@ sources: + "1.30": + url: "https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz" + sha256: "10159054b68cb9a39480d9000b87851f49e6f42474a4cb9367e934bece2363f3" "1.22": url: "https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.22/QuantLib-1.22.tar.gz" sha256: "85c81816f689f458596dd7073e4da8fd7f596c1e4c8ada81a6300389a39588af" patches: + "1.30": + - patch_file: "patches/1.30-backport-pr-1644.patch" + - patch_file: "patches/1.30-fix-cmake.patch" "1.22": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/1.22-fix-cmake.patch" diff --git a/recipes/quantlib/all/conanfile.py b/recipes/quantlib/all/conanfile.py index 33792726d5185..117151188f5e9 100644 --- a/recipes/quantlib/all/conanfile.py +++ b/recipes/quantlib/all/conanfile.py @@ -43,13 +43,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.80.0") + self.requires("boost/1.80.0", transitive_headers=True) def validate(self): if self.info.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, 14 if self.version >= "1.24" else 11) if self.info.settings.compiler == "gcc" and Version(self.info.settings.compiler.version) < "5": raise ConanInvalidConfiguration("gcc < 5 not supported") + if self.version >= "1.24" and is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration("MSVC DLL build is not supported by upstream") def source(self): get(self, **self.conan_data["sources"][self.version], @@ -57,13 +59,22 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["USE_BOOST_DYNAMIC_LIBRARIES"] = False # even if boost shared, the underlying upstream logic doesn't matter for conan - if is_msvc(self): - tc.variables["MSVC_RUNTIME"] = "static" if is_msvc_static_runtime(self) else "dynamic" - # Export symbols for msvc shared - tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + if self.version >= "1.24": + tc.cache_variables["QL_BUILD_BENCHMARK"] = False + tc.cache_variables["QL_BUILD_EXAMPLES"] = False + tc.cache_variables["QL_BUILD_TEST_SUITE"] = False + tc.cache_variables["QL_INSTALL_BENCHMARK"] = False + tc.cache_variables["QL_INSTALL_EXAMPLES"] = False + tc.cache_variables["QL_INSTALL_TEST_SUITE"] = False + else: + # even if boost shared, the underlying upstream logic doesn't matter for conan + tc.variables["USE_BOOST_DYNAMIC_LIBRARIES"] = False + if is_msvc(self): + tc.variables["MSVC_RUNTIME"] = "static" if is_msvc_static_runtime(self) else "dynamic" + # Export symbols for msvc shared + tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() deps = CMakeDeps(self) deps.generate() @@ -85,6 +96,8 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "quantlib") self.cpp_info.libs = collect_libs(self) self.cpp_info.requires = ["boost::headers"] + if self.settings.os in ["Linux", "FreeBSD"] and self.options.shared: + self.cpp_info.system_libs.append("m") # TODO: to remove in conan v2 self.cpp_info.names["cmake_find_package"] = "QuantLib" diff --git a/recipes/quantlib/all/patches/0001-fix-cmake.patch b/recipes/quantlib/all/patches/1.22-fix-cmake.patch similarity index 100% rename from recipes/quantlib/all/patches/0001-fix-cmake.patch rename to recipes/quantlib/all/patches/1.22-fix-cmake.patch diff --git a/recipes/quantlib/all/patches/1.30-backport-pr-1644.patch b/recipes/quantlib/all/patches/1.30-backport-pr-1644.patch new file mode 100644 index 0000000000000..0356ad72ec47e --- /dev/null +++ b/recipes/quantlib/all/patches/1.30-backport-pr-1644.patch @@ -0,0 +1,25 @@ +diff --git a/cmake/GenerateHeaders.cmake b/cmake/GenerateHeaders.cmake +index 3e032e537..9d5a8bea9 100644 +--- a/cmake/GenerateHeaders.cmake ++++ b/cmake/GenerateHeaders.cmake +@@ -64,14 +64,12 @@ function(generate_dir_headers source_dir binary_dir) + generate_dir_headers("${source_dir}/${child}" "${binary_dir}/${child}") + endif() + endforeach() +- if (children_all) +- file(WRITE "${binary_dir}/all.hpp" +- "/* This file is automatically generated; do not edit. */\n\n") +- foreach(child ${children_all}) +- file(RELATIVE_PATH all_path ${SOURCE_DIR} ${child}) +- file(APPEND "${binary_dir}/all.hpp" "#include <${all_path}>\n") +- endforeach() +- endif() ++ file(WRITE "${binary_dir}/all.hpp" ++ "/* This file is automatically generated; do not edit. */\n\n") ++ foreach(child ${children_all}) ++ file(RELATIVE_PATH all_path ${SOURCE_DIR} ${child}) ++ file(APPEND "${binary_dir}/all.hpp" "#include <${all_path}>\n") ++ endforeach() + endfunction() + + # Call generate_dir_headers for each directory at this top level (ql/) diff --git a/recipes/quantlib/all/patches/1.30-fix-cmake.patch b/recipes/quantlib/all/patches/1.30-fix-cmake.patch new file mode 100644 index 0000000000000..0fb576b009a2b --- /dev/null +++ b/recipes/quantlib/all/patches/1.30-fix-cmake.patch @@ -0,0 +1,125 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 542877163..83e919784 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,40 +69,6 @@ option(QL_USE_STD_TUPLE "Use std::tuple instead of boost::tuple" OFF) + set(QL_EXTERNAL_SUBDIRECTORIES "" CACHE STRING "Optional list of external source directories to be added to the build (semicolon-separated)") + set(QL_EXTRA_LINK_LIBRARIES "" CACHE STRING "Optional extra link libraries to add to QuantLib") + +-# Require C++14 or higher +-if (NOT DEFINED CMAKE_CXX_STANDARD) +- set(CMAKE_CXX_STANDARD 14) +-elseif(CMAKE_CXX_STANDARD LESS 14) +- message(FATAL_ERROR "Please specify CMAKE_CXX_STANDARD of 14 or higher") +-endif() +-if (NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED) +- set(CMAKE_CXX_STANDARD_REQUIRED ON) +-endif() +-# Avoid use of compiler language extensions, i.e. -std=c++14 not -std=gnu++14 +-if (NOT DEFINED CMAKE_CXX_EXTENSIONS) +- set(CMAKE_CXX_EXTENSIONS FALSE) +-endif() +- +-# Convenience option to activate all STD options +-if (QL_USE_STD_CLASSES) +- if (CMAKE_CXX_STANDARD GREATER_EQUAL 17) +- set(QL_USE_STD_ANY ON) +- set(QL_USE_STD_OPTIONAL ON) +- endif() +- set(QL_USE_STD_FUNCTION ON) +- set(QL_USE_STD_SHARED_PTR ON) +- set(QL_USE_STD_TUPLE ON) +-endif() +- +-if (CMAKE_CXX_STANDARD LESS 17) +- if (QL_USE_STD_ANY) +- message(FATAL_ERROR "QL_USE_STD_ANY requires at least C++17") +- endif() +- if (QL_USE_STD_OPTIONAL) +- message(FATAL_ERROR "QL_USE_STD_OPTIONAL requires at least C++17") +- endif() +-endif () +- + # Set the default warning level we use to pass the GitHub workflows + if (QL_ENABLE_DEFAULT_WARNING_LEVEL) + if (MSVC) +@@ -229,7 +195,7 @@ if (QL_TAGGED_LAYOUT) + endif() + set(DEBUG_POSTFIX ${DEBUG_POSTFIX}-mt) + set(RELEASE_POSTFIX ${RELEASE_POSTFIX}-mt) +- if (CMAKE_MSVC_RUNTIME_LIBRARY MATCHES ".*DLL$") ++ if (CMAKE_MSVC_RUNTIME_LIBRARY MATCHES "DLL") + set(DEBUG_POSTFIX ${DEBUG_POSTFIX}-gd) + else() + set(DEBUG_POSTFIX ${DEBUG_POSTFIX}-sgd) +diff --git a/cmake/Platform.cmake b/cmake/Platform.cmake +index 1da2834bc..aa4530798 100644 +--- a/cmake/Platform.cmake ++++ b/cmake/Platform.cmake +@@ -1,12 +1,5 @@ + # Platform-specific flags and settings + if (MSVC) +- # See cmake policy CMP00091 +- # One of "MultiThreaded", "MultiThreadedDebug", "MultiThreadedDLL", "MultiThreadedDebugDLL" +- if (NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY) +- set(CMAKE_MSVC_RUNTIME_LIBRARY +- "MultiThreaded$<$:Debug>") +- endif() +- + # Export all symbols so MSVC can populate the .lib and .dll + if (BUILD_SHARED_LIBS) + # Temp: disable DLL builds on MSVC +diff --git a/ql/CMakeLists.txt b/ql/CMakeLists.txt +index fc137f41d..883b8a670 100644 +--- a/ql/CMakeLists.txt ++++ b/ql/CMakeLists.txt +@@ -2344,6 +2344,8 @@ add_library(ql_library + ${QL_CONFIGURED_HEADERS} + ${QL_GENERATED_HEADERS}) + ++target_compile_features(ql_library PUBLIC cxx_std_14) ++ + set_target_properties(ql_library PROPERTIES + EXPORT_NAME ${PACKAGE_NAME} + OUTPUT_NAME ${PACKAGE_NAME} +@@ -2378,6 +2380,7 @@ target_link_libraries(ql_library PUBLIC + ${OpenMP_CXX_LIBRARIES}) + + install(TARGETS ql_library EXPORT QuantLibTargets ++ RUNTIME DESTINATION ${QL_INSTALL_BINDIR} + ARCHIVE DESTINATION ${QL_INSTALL_LIBDIR} + LIBRARY DESTINATION ${QL_INSTALL_LIBDIR}) + +@@ -2398,32 +2401,3 @@ foreach(file ${QL_GENERATED_HEADERS}) + file(RELATIVE_PATH path ${PROJECT_BINARY_DIR} ${dir}) + install(FILES ${file} DESTINATION "${QL_INSTALL_INCLUDEDIR}/${path}") + endforeach() +- +-# Install config scripts for people using `find_package(QuantLib::QuantLib CONFIG ...)` +-include(CMakePackageConfigHelpers) +-write_basic_package_version_file( +- "${PROJECT_BINARY_DIR}/cmake/QuantLibConfigVersion.cmake" +- VERSION ${QL_VERSION} +- COMPATIBILITY AnyNewerVersion +-) +-export(EXPORT QuantLibTargets +- FILE "${PROJECT_BINARY_DIR}/cmake/QuantLibTargets.cmake" +- NAMESPACE QuantLib:: +-) +-configure_file("${PROJECT_SOURCE_DIR}/cmake/QuantLibConfig.cmake.in" +- "${PROJECT_BINARY_DIR}/cmake/QuantLibConfig.cmake" +- COPYONLY +-) +-configure_package_config_file("${PROJECT_SOURCE_DIR}/cmake/QuantLibConfig.cmake.in" +- "${PROJECT_BINARY_DIR}/cmake/QuantLibConfig.cmake" +- INSTALL_DESTINATION "${QL_INSTALL_CMAKEDIR}" +-) +-install(EXPORT QuantLibTargets +- FILE QuantLibTargets.cmake +- NAMESPACE QuantLib:: +- DESTINATION "${QL_INSTALL_CMAKEDIR}" +-) +-install(FILES "${PROJECT_BINARY_DIR}/cmake/QuantLibConfig.cmake" +- "${PROJECT_BINARY_DIR}/cmake/QuantLibConfigVersion.cmake" +- DESTINATION "${QL_INSTALL_CMAKEDIR}" +-) diff --git a/recipes/quantlib/all/test_package/CMakeLists.txt b/recipes/quantlib/all/test_package/CMakeLists.txt index 8fdec262bfc09..365925ecff2bd 100644 --- a/recipes/quantlib/all/test_package/CMakeLists.txt +++ b/recipes/quantlib/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(QuantLib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE QuantLib::QuantLib) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/quantlib/config.yml b/recipes/quantlib/config.yml index a04ddfaf17d5f..c89bef5d1ecd3 100644 --- a/recipes/quantlib/config.yml +++ b/recipes/quantlib/config.yml @@ -1,3 +1,5 @@ versions: + "1.30": + folder: "all" "1.22": folder: "all" From 1868fc6e23f11484c9a917571fffe6cf36edbe0a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 May 2023 03:24:26 +0900 Subject: [PATCH 0360/4087] (#17326) miniaudio: add version 0.11.16 * miniaudio: add version 0.11.15 * update 0.11.16 --- recipes/miniaudio/all/conandata.yml | 3 +++ recipes/miniaudio/all/conanfile.py | 1 + recipes/miniaudio/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/miniaudio/all/conandata.yml b/recipes/miniaudio/all/conandata.yml index 49cc53a5d3381..0a8c29a2d9d9f 100644 --- a/recipes/miniaudio/all/conandata.yml +++ b/recipes/miniaudio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.16": + url: "https://github.com/mackron/miniaudio/archive/refs/tags/0.11.16.tar.gz" + sha256: "13320464820491c61bd178b95818fecb7cd0e68f9677d61e1345df6be8d4d77e" "0.11.11": url: "https://github.com/mackron/miniaudio/archive/a0dc1037f99a643ff5fad7272cd3d6461f2d63fa.tar.gz" sha256: "4821e2f796d95b772fd4ef1274181d5302854bfe55680125a5cd9b24b8542dcf" diff --git a/recipes/miniaudio/all/conanfile.py b/recipes/miniaudio/all/conanfile.py index f595f804f6c12..7eabe4511f13d 100644 --- a/recipes/miniaudio/all/conanfile.py +++ b/recipes/miniaudio/all/conanfile.py @@ -13,6 +13,7 @@ class MiniaudioConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mackron/miniaudio" topics = ("audio", "header-only", "sound") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/miniaudio/config.yml b/recipes/miniaudio/config.yml index 52824dc107878..a7faf6cecc196 100644 --- a/recipes/miniaudio/config.yml +++ b/recipes/miniaudio/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.16": + folder: all "0.11.11": folder: all "0.11.9": From dfda9857131befe0619e3250ca559416abf0a1f6 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Thu, 25 May 2023 12:21:44 -0700 Subject: [PATCH 0361/4087] (#17705) docs: remove mention of the migration test_v1_package * Delete docs/package_templates/autotools_package/all/test_v1_package directory * Delete docs/package_templates/cmake_package/all/test_v1_package directory * Delete docs/package_templates/header_only/all/test_v1_package directory * Delete docs/package_templates/meson_package/all/test_v1_package directory * Delete docs/package_templates/msbuild_package/all/test_v1_package directory * Delete docs/package_templates/prebuilt_tool_package/all/test_v1_package directory * Update test_packages.md * Update error_knowledge_base.md --- docs/adding_packages/test_packages.md | 22 ++++++++---------- docs/error_knowledge_base.md | 4 ---- .../all/test_v1_package/CMakeLists.txt | 11 --------- .../all/test_v1_package/conanfile.py | 19 --------------- .../all/test_v1_package/CMakeLists.txt | 8 ------- .../all/test_v1_package/conanfile.py | 19 --------------- .../all/test_v1_package/CMakeLists.txt | 9 -------- .../all/test_v1_package/conanfile.py | 19 --------------- .../all/test_v1_package/conanfile.py | 23 ------------------- .../all/test_v1_package/CMakeLists.txt | 12 ---------- .../all/test_v1_package/conanfile.py | 19 --------------- .../all/test_v1_package/conanfile.py | 13 ----------- 12 files changed, 9 insertions(+), 169 deletions(-) delete mode 100644 docs/package_templates/autotools_package/all/test_v1_package/CMakeLists.txt delete mode 100644 docs/package_templates/autotools_package/all/test_v1_package/conanfile.py delete mode 100644 docs/package_templates/cmake_package/all/test_v1_package/CMakeLists.txt delete mode 100644 docs/package_templates/cmake_package/all/test_v1_package/conanfile.py delete mode 100644 docs/package_templates/header_only/all/test_v1_package/CMakeLists.txt delete mode 100644 docs/package_templates/header_only/all/test_v1_package/conanfile.py delete mode 100644 docs/package_templates/meson_package/all/test_v1_package/conanfile.py delete mode 100644 docs/package_templates/msbuild_package/all/test_v1_package/CMakeLists.txt delete mode 100644 docs/package_templates/msbuild_package/all/test_v1_package/conanfile.py delete mode 100644 docs/package_templates/prebuilt_tool_package/all/test_v1_package/conanfile.py diff --git a/docs/adding_packages/test_packages.md b/docs/adding_packages/test_packages.md index 5870221fbc94b..acca57f456418 100644 --- a/docs/adding_packages/test_packages.md +++ b/docs/adding_packages/test_packages.md @@ -8,19 +8,19 @@ themselves. It's possible to have ConanCenter run `conan test` on more then one ## Contents - * [Files and Structure](#files-and-structure) - * [CMake targets](#cmake-targets) - * [Testing more generators with `test_`](#testing-more-generators-with-test_something) - * [Testing CMake variables from FindModules](#testing-cmake-variables-from-findmodules) - * [How it works](#how-it-works) - * [Minimalist Source Code](#minimalist-source-code) + * [Files and Structure](#files-and-structure) + * [CMake targets](#cmake-targets) + * [Testing more generators with `test_`](#testing-more-generators-with-test_something) + * [Testing CMake variables from FindModules](#testing-cmake-variables-from-findmodules) + * [How it works](#how-it-works) + * [Minimalist Source Code](#minimalist-source-code) ### Files and Structure See the [recipe files and structures](README.md#recipe-files-structure) for a visual. All ConanCenterIndex recipe should have a two [test_folders](https://docs.conan.io/1/reference/commands/creator/create.html?highlight=test_folder) -One for the current CMake generator in `test_package/` and on for the deprecated generators in `test_v1_package/`. +One for the current CMake generator in `test_package/`. Please refer to the [Package Templates](../package_templates/) for the current practices about which files and what their content should be. @@ -39,11 +39,7 @@ target_link_libraries(test_ranges PRIVATE fmt::fmt) Refer to the [package template](https://github.com/conan-io/conan-center-index/blob/master/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt) for more examples. -> **Notes** It's still important to test targets provided by `cmake_find_package[_multi]` generators. -> It should help in the migration (and compatibility) with Conan v2. See [v1 test package template](https://github.com/conan-io/conan-center-index/blob/master/docs/package_templates/cmake_package/all/test_v1_package/CMakeLists.txt) for details. -> You can see read [this conversation](https://github.com/conan-io/conan-center-index/issues/12888#issuecomment-1290817799) for more context. - -In ConanCenter we try to accurately represent the names of the targets and the information provided by CMake's modules and config files that some libraries +In ConanCenterIndex, we try to accurately represent the names of the targets and the information provided by CMake's modules and config files that some libraries provide. If CMake or the library itself don't enforce any target name, the default ones provided by Conan should be recommended. The minimal project in the `test_package` folder should serve as an example of the best way to consume the package, and targets are preferred over raw variables. @@ -60,7 +56,7 @@ of them together in the testing logs. Sometimes it is useful to test the package using different build systems (CMake, Autotools,...). Instead of adding complex logic to one `test_package/conanfile.py` file, it is better to add another `test_/conanfile.py` file with a minimal example for that build system. That way the examples will be short and easy to understand and maintain. In some other situations it could be useful to test different Conan generators -(`cmake_find_package`, `CMakeDeps`,...) using different folders and `conanfile.py` files. +(e.g. `CMakeDeps`) using different folders and `conanfile.py` files. When using more than one `test_` folder, create a different project for each of them to keep the content of the `conanfile.py` and the project files as simple as possible, without the need of extra logic to handle different scenarios. diff --git a/docs/error_knowledge_base.md b/docs/error_knowledge_base.md index 2cd397492d49b..415d9fd2e98fc 100644 --- a/docs/error_knowledge_base.md +++ b/docs/error_knowledge_base.md @@ -476,10 +476,6 @@ def package_info(self): Pylint is executed by default over all `conanfile.py` files in ConanCenterIndex and it should not be skipped. It's an important tool which helps us keep a standard level of acceptance. Otherwise, it would be incredibly hard to review all recipes and keep them to the same level of standards. -#### **#KB-H073: "TEST V1 PACKAGE FOLDER"** - -The legacy content in test_package should not be removed. Instead, rename that folder to `test_v1_package` and create a new `test_package` folder following the [file structure](adding_packages/README.md#recipe-files-structure) related to Conan v2 and v1 compatibility. Also, you can obtain good examples of Conan v2 test packages from the [template packages](package_templates/README.md) folder. - #### **#KB-H075: "REQUIREMENT OVERRIDE PARAMETER"** The [self.requires()](https://docs.conan.io/1/reference/conanfile/methods.html#requirements) allows to override a dependency version, forcing to use that version imposed by the recipe only. As a side-effect, dependencies can use different versions of the same project at the same package, which may cause unpredicted errors, like ABI incompatibility. For that reason, the `override` parameter is forbidden and should not be used. Instead, all dependencies should align their package versions, even when it's necessary to open more pull requests to update dependency versions. diff --git a/docs/package_templates/autotools_package/all/test_v1_package/CMakeLists.txt b/docs/package_templates/autotools_package/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 206d47b726b56..0000000000000 --- a/docs/package_templates/autotools_package/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES C) # if the project is pure C -# project(test_package LANGUAGES CXX) # if the project uses c++ - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(package REQUIRED CONFIG) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/docs/package_templates/autotools_package/all/test_v1_package/conanfile.py b/docs/package_templates/autotools_package/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/docs/package_templates/autotools_package/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -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/docs/package_templates/cmake_package/all/test_v1_package/CMakeLists.txt b/docs/package_templates/cmake_package/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/docs/package_templates/cmake_package/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -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/docs/package_templates/cmake_package/all/test_v1_package/conanfile.py b/docs/package_templates/cmake_package/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/docs/package_templates/cmake_package/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -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/docs/package_templates/header_only/all/test_v1_package/CMakeLists.txt b/docs/package_templates/header_only/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7738c036b5d79..0000000000000 --- a/docs/package_templates/header_only/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES C) # if the project is pure C -project(test_package LANGUAGES CXX) # if the project uses 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/docs/package_templates/header_only/all/test_v1_package/conanfile.py b/docs/package_templates/header_only/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/docs/package_templates/header_only/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -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/docs/package_templates/meson_package/all/test_v1_package/conanfile.py b/docs/package_templates/meson_package/all/test_v1_package/conanfile.py deleted file mode 100644 index c5b074313827d..0000000000000 --- a/docs/package_templates/meson_package/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -from conans import ConanFile, Meson -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "pkg_config" - - def build_requirements(self): - self.build_requires("meson/0.63.3") - self.build_requires("pkgconf/1.9.3") - - def build(self): - meson = Meson(self) - meson.configure(build_folder="bin", source_folder="../test_package") - meson.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/docs/package_templates/msbuild_package/all/test_v1_package/CMakeLists.txt b/docs/package_templates/msbuild_package/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 510461758af8b..0000000000000 --- a/docs/package_templates/msbuild_package/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.15) - -project(test_package C) # if the project is pure C -project(test_package CXX) # if the project uses c++ - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(package REQUIRED CONFIG) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/docs/package_templates/msbuild_package/all/test_v1_package/conanfile.py b/docs/package_templates/msbuild_package/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/docs/package_templates/msbuild_package/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -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/docs/package_templates/prebuilt_tool_package/all/test_v1_package/conanfile.py b/docs/package_templates/prebuilt_tool_package/all/test_v1_package/conanfile.py deleted file mode 100644 index 36fd085b2d6b7..0000000000000 --- a/docs/package_templates/prebuilt_tool_package/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from conans import ConanFile -from conan.tools.build import can_run - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if can_run(self): - # self.run checks the command exit code - # the tool must be available on PATH, which is configured by self.env_info.PATH - self.run("tool --version", run_environment=True) From a10644331b3aae13aa8b8e0a7738a359cd6e5b13 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 May 2023 13:41:39 +0900 Subject: [PATCH 0362/4087] (#17697) tinyxml: add package_type, use rm_safe --- recipes/tinyxml/all/conanfile.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/recipes/tinyxml/all/conanfile.py b/recipes/tinyxml/all/conanfile.py index b6d3aba1021b4..46d31e88896c2 100644 --- a/recipes/tinyxml/all/conanfile.py +++ b/recipes/tinyxml/all/conanfile.py @@ -5,17 +5,17 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class TinyXmlConan(ConanFile): name = "tinyxml" description = "TinyXML is a simple, small, C++ XML parser that can be easily integrated into other programs." license = "Zlib" - topics = ("xml", "parser") - homepage = "http://www.grinninglizard.com/tinyxml/" url = "https://github.com/conan-io/conan-center-index" - + homepage = "http://www.grinninglizard.com/tinyxml/" + topics = ("xml", "parser") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,10 +36,7 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") @@ -49,8 +46,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} shared not supported by Visual Studio") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From a12b7c20205ad65ba1a6e2c1347a74778746d167 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 May 2023 14:22:02 +0900 Subject: [PATCH 0363/4087] (#17694) libserial: include cstdint for gcc13, add package_type --- recipes/libserial/all/conandata.yml | 5 +++++ recipes/libserial/all/conanfile.py | 9 +++++++-- recipes/libserial/all/patches/0001-add-cstdint.patch | 12 ++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 recipes/libserial/all/patches/0001-add-cstdint.patch diff --git a/recipes/libserial/all/conandata.yml b/recipes/libserial/all/conandata.yml index 6677947184a94..f2d6529173319 100644 --- a/recipes/libserial/all/conandata.yml +++ b/recipes/libserial/all/conandata.yml @@ -2,3 +2,8 @@ sources: "cci.20200930": url: "https://github.com/crayzeewulf/libserial/archive/1d1e47a2faae0470f93eb291263b0ce7ea119a81.tar.gz" sha256: "a433b04bd42e8b4504e5e1fbe7ec22b648f2872d3d125e58c17b9c6c1b171bba" +patches: + "cci.20200930": + - patch_file: "patches/0001-add-cstdint.patch" + patch_description: "add cstdint for uint8_t" + patch_type: "portability" diff --git a/recipes/libserial/all/conanfile.py b/recipes/libserial/all/conanfile.py index 9415f1c8d2625..647fb6e4c8381 100644 --- a/recipes/libserial/all/conanfile.py +++ b/recipes/libserial/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy, rm, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout @@ -17,6 +17,7 @@ class LibserialConan(ConanFile): homepage = "https://github.com/crayzeewulf/libserial" topics = ("serial-ports", "rs232", "usb-serial") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -37,6 +38,9 @@ def _compilers_minimum_version(self): "clang": "7", } + def export_sources(self): + export_conandata_patches(self) + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -57,7 +61,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -70,6 +74,7 @@ def generate(self): tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/libserial/all/patches/0001-add-cstdint.patch b/recipes/libserial/all/patches/0001-add-cstdint.patch new file mode 100644 index 0000000000000..1ffc6faea2d33 --- /dev/null +++ b/recipes/libserial/all/patches/0001-add-cstdint.patch @@ -0,0 +1,12 @@ +diff --git a/src/libserial/SerialPortConstants.h b/src/libserial/SerialPortConstants.h +index f9d5dc1..0588e3e 100644 +--- a/src/libserial/SerialPortConstants.h ++++ b/src/libserial/SerialPortConstants.h +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + namespace LibSerial + { From 5ffa2e468e3e486880c01da2eef8fb601da124a1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 26 May 2023 08:01:52 +0200 Subject: [PATCH 0364/4087] (#17709) meson: add version 1.1.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index f25b5c36671dc..233e51184aef9 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.1": + url: "https://github.com/mesonbuild/meson/releases/download/1.1.1/meson-1.1.1.tar.gz" + sha256: "d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c" "1.1.0": url: "https://github.com/mesonbuild/meson/archive/1.1.0.tar.gz" sha256: "f29a3e14062043d75e82d16f1e41856e6b1ed7a7c016e10c7b13afa7ee6364cc" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 8eb6efcdd80dd..eb30cf3e2eaa0 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.1": + folder: all "1.1.0": folder: all "1.0.1": From 9037b6b544d73b78f41f447776b4439154667bc9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 May 2023 08:41:34 +0200 Subject: [PATCH 0365/4087] (#17706) [docs] Regenerate tables of contents Co-authored-by: conan-center-bot --- docs/adding_packages/test_packages.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/adding_packages/test_packages.md b/docs/adding_packages/test_packages.md index acca57f456418..220ff43cb0e59 100644 --- a/docs/adding_packages/test_packages.md +++ b/docs/adding_packages/test_packages.md @@ -8,12 +8,12 @@ themselves. It's possible to have ConanCenter run `conan test` on more then one ## Contents - * [Files and Structure](#files-and-structure) - * [CMake targets](#cmake-targets) - * [Testing more generators with `test_`](#testing-more-generators-with-test_something) - * [Testing CMake variables from FindModules](#testing-cmake-variables-from-findmodules) - * [How it works](#how-it-works) - * [Minimalist Source Code](#minimalist-source-code) + * [Files and Structure](#files-and-structure) + * [CMake targets](#cmake-targets) + * [Testing more generators with `test_`](#testing-more-generators-with-test_something) + * [Testing CMake variables from FindModules](#testing-cmake-variables-from-findmodules) + * [How it works](#how-it-works) + * [Minimalist Source Code](#minimalist-source-code) ### Files and Structure From a5fb8937300878317438c15ed313c799b38a20da Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Fri, 26 May 2023 09:02:19 +0200 Subject: [PATCH 0366/4087] (#17669) Update sobjectizer package for v5.7.4.3 --- recipes/sobjectizer/all/conandata.yml | 3 +++ recipes/sobjectizer/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sobjectizer/all/conandata.yml b/recipes/sobjectizer/all/conandata.yml index edb04804cef50..d2eb9bdc8e4eb 100644 --- a/recipes/sobjectizer/all/conandata.yml +++ b/recipes/sobjectizer/all/conandata.yml @@ -27,3 +27,6 @@ sources: "5.7.4.2": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.2.tar.gz" sha256: "defaec29e135a21b1b279b1db8eb56993099a7368baae93e7ea1f3f79909f3d8" + "5.7.4.3": + url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.3.tar.gz" + sha256: "ef54ec1c8c5c05a415e44a67ef02e95550b480594e459ccedab5a49d8c909a56" diff --git a/recipes/sobjectizer/config.yml b/recipes/sobjectizer/config.yml index 9bfbd2833f9cd..1e9d92d9b1885 100644 --- a/recipes/sobjectizer/config.yml +++ b/recipes/sobjectizer/config.yml @@ -17,3 +17,5 @@ versions: folder: all "5.7.4.2": folder: all + "5.7.4.3": + folder: all From 297762932db2fdaf14b1f5f30497e25656e5d9c2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 May 2023 16:42:37 +0900 Subject: [PATCH 0367/4087] (#17657) arsenalgear: add transitive_headers to exprtk --- recipes/arsenalgear/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/arsenalgear/all/conanfile.py b/recipes/arsenalgear/all/conanfile.py index 6e42344321144..94953657bcd46 100644 --- a/recipes/arsenalgear/all/conanfile.py +++ b/recipes/arsenalgear/all/conanfile.py @@ -59,7 +59,9 @@ def requirements(self): if Version(self.version) < "2.0.0": self.requires("boost/1.81.0") if self.settings.os in ["Linux", "Macos"]: - self.requires("exprtk/0.0.2") + # exprtk is used in public header of arsenalgear + # https://github.com/JustWhit3/arsenalgear-cpp/blob/v1.2.2/include/math.hpp + self.requires("exprtk/0.0.2", transitive_headers=True) def validate(self): # arsenalgear doesn't support Visual Studio(yet). From e098ba63138bac5f5b804c8760388da9d0eefbbd Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 May 2023 17:22:58 +0900 Subject: [PATCH 0368/4087] (#17339) replxx: support conan v2 * replxx: support conan v2 * remove unused modules * fix wrong indent * remove ---- * support debug build * small fix * add `-static` in msvc static build * fix condition --- recipes/replxx/all/CMakeLists.txt | 7 -- recipes/replxx/all/conandata.yml | 12 +-- recipes/replxx/all/conanfile.py | 75 +++++++++++-------- .../replxx/all/test_package/CMakeLists.txt | 13 ++-- recipes/replxx/all/test_package/conanfile.py | 21 ++++-- .../replxx/all/test_v1_package/CMakeLists.txt | 8 ++ .../replxx/all/test_v1_package/conanfile.py | 18 +++++ recipes/replxx/config.yml | 5 +- 8 files changed, 99 insertions(+), 60 deletions(-) delete mode 100644 recipes/replxx/all/CMakeLists.txt create mode 100644 recipes/replxx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/replxx/all/test_v1_package/conanfile.py diff --git a/recipes/replxx/all/CMakeLists.txt b/recipes/replxx/all/CMakeLists.txt deleted file mode 100644 index d17aaff199b4a..0000000000000 --- a/recipes/replxx/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/replxx/all/conandata.yml b/recipes/replxx/all/conandata.yml index dc32e4cea0525..6dce0f8a4cabd 100644 --- a/recipes/replxx/all/conandata.yml +++ b/recipes/replxx/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "0.0.2": - sha256: 6f5c58b4cd23550d5a589d134727296438793cb818ce7158fbd5e1b0db1548ba - url: https://github.com/AmokHuginnsson/replxx/archive/release-0.0.2.tar.gz - "0.0.3": - sha256: 72ad0655eead16544645b1724b27a988543fcefd14d46df6e8dfef17d9ba50ac - url: https://github.com/AmokHuginnsson/replxx/archive/release-0.0.3.tar.gz "0.0.4": url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.4.tar.gz" sha256: "a22988b2184e1d256e2d111b5749e16ffb1accbf757c7b248226d73c426844c4" + "0.0.3": + url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.3.tar.gz" + sha256: "72ad0655eead16544645b1724b27a988543fcefd14d46df6e8dfef17d9ba50ac" + "0.0.2": + url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.2.tar.gz" + sha256: "6f5c58b4cd23550d5a589d134727296438793cb818ce7158fbd5e1b0db1548ba" diff --git a/recipes/replxx/all/conanfile.py b/recipes/replxx/all/conanfile.py index 072b7fd6bb25f..1d287dc51fe1f 100644 --- a/recipes/replxx/all/conanfile.py +++ b/recipes/replxx/all/conanfile.py @@ -1,7 +1,12 @@ +from conan import ConanFile +from conan.tools.files import get, copy, rmdir, replace_in_file +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc import os -from conans import CMake, ConanFile, tools -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class ReplxxConan(ConanFile): name = "replxx" @@ -9,12 +14,11 @@ class ReplxxConan(ConanFile): A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed. """ + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/AmokHuginnsson/replxx" topics = ("readline", "libedit", "UTF-8") - license = "BSD-3-Clause" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,15 +29,9 @@ class ReplxxConan(ConanFile): "fPIC": True, } - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def _min_cppstd(self): + return 11 def config_options(self): if self.settings.os == "Windows": @@ -41,37 +39,54 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["REPLXX_BuildExamples"] = False - self._cmake.definitions["BUILD_STATIC_LIBS"] = not self.options.shared - self._cmake.configure() - return self._cmake + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["REPLXX_BuildExamples"] = False + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.generate() def build(self): - if tools.Version(self.version) < "0.0.3": - tools.replace_in_file( - os.path.join(self._source_subfolder, "src", "io.cxx"), + if Version(self.version) < "0.0.3": + replace_in_file(self, + os.path.join(self.source_folder, "src", "io.cxx"), "#include \n", "#include \n#include \n" ) - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.md", dst='licenses', src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, pattern="LICENSE.md", 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, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == "Linux": + libname = "replxx" + if is_msvc(self) and not self.options.shared: + libname += "-static" + if self.settings.build_type == "Debug": + libname += "-d" + self.cpp_info.libs = [libname] + + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "m"] if not self.options.shared: self.cpp_info.defines.append("REPLXX_STATIC") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "replxx" self.cpp_info.filenames["cmake_find_package_multi"] = "replxx" diff --git a/recipes/replxx/all/test_package/CMakeLists.txt b/recipes/replxx/all/test_package/CMakeLists.txt index 55da8e6493036..8b0f16b38a428 100644 --- a/recipes/replxx/all/test_package/CMakeLists.txt +++ b/recipes/replxx/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(replxx CONFIG REQUIRED) +find_package(replxx REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} replxx::replxx) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE replxx::replxx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/replxx/all/test_package/conanfile.py b/recipes/replxx/all/test_package/conanfile.py index 7e2dfe859bb27..ef5d7042163ec 100644 --- a/recipes/replxx/all/test_package/conanfile.py +++ b/recipes/replxx/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.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/replxx/all/test_v1_package/CMakeLists.txt b/recipes/replxx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/replxx/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/replxx/all/test_v1_package/conanfile.py b/recipes/replxx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/replxx/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/replxx/config.yml b/recipes/replxx/config.yml index 234def7eb2dfa..280ae0c8f5550 100644 --- a/recipes/replxx/config.yml +++ b/recipes/replxx/config.yml @@ -1,8 +1,7 @@ ---- versions: - "0.0.2": + "0.0.4": folder: "all" "0.0.3": folder: "all" - "0.0.4": + "0.0.2": folder: "all" From e4b97cb7ce418877985d94ec2694903048f06aa4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 26 May 2023 14:22:09 +0200 Subject: [PATCH 0369/4087] (#17713) pixman: generate V2 package * pixman/all/: bump deps * pixman/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pixman/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pixman/all/conanfile.py b/recipes/pixman/all/conanfile.py index 94146c6c721b7..f93814d449e1a 100644 --- a/recipes/pixman/all/conanfile.py +++ b/recipes/pixman/all/conanfile.py @@ -54,7 +54,7 @@ def validate(self): raise ConanInvalidConfiguration("pixman can only be built as a static library on Windows") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 6c2cf016bd4e894fcf58597847092e585db90bde Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 26 May 2023 16:28:32 +0200 Subject: [PATCH 0370/4087] (#17714) lzo: generate missing binaries --- recipes/lzo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/lzo/all/conanfile.py b/recipes/lzo/all/conanfile.py index d5a4ce4f0d916..2daa81c92934c 100644 --- a/recipes/lzo/all/conanfile.py +++ b/recipes/lzo/all/conanfile.py @@ -12,7 +12,7 @@ class LZOConan(ConanFile): license = "GPL-v2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.oberhumer.com/opensource/lzo/" - topics = ("lzo", "compression") + topics = ("compression") package_type = "library" settings = "os", "arch", "compiler", "build_type" From a272d386a12747709f5e8ffb060b3f1373313310 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 00:02:54 +0900 Subject: [PATCH 0371/4087] (#17336) visit_struct: add version 1.1.0, support conan v2, fix url * visit_struct: add version 1.1.0, support conan v2, fix url * add end line --- recipes/visit_struct/all/conandata.yml | 5 ++- recipes/visit_struct/all/conanfile.py | 43 ++++++++++++------- .../all/test_package/CMakeLists.txt | 11 ++--- .../all/test_package/conanfile.py | 21 ++++++--- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 18 ++++++++ recipes/visit_struct/config.yml | 2 + 7 files changed, 78 insertions(+), 30 deletions(-) create mode 100644 recipes/visit_struct/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/visit_struct/all/test_v1_package/conanfile.py diff --git a/recipes/visit_struct/all/conandata.yml b/recipes/visit_struct/all/conandata.yml index 959681c08c025..e688df3cb0abd 100644 --- a/recipes/visit_struct/all/conandata.yml +++ b/recipes/visit_struct/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/cbeck88/visit_struct/archive/refs/tags/v1.1.0.tar.gz" + sha256: "73a84f2d8a8844bc03a919163b27ee3b3f85d8c64f6151ce098ca50dbed6be51" "1.0": - url: "https://github.com/garbageslam/visit_struct/archive/refs/tags/v1.0.tar.gz" + url: "https://github.com/cbeck88/visit_struct/archive/refs/tags/v1.0.tar.gz" sha256: "7e5d727bd9fbe444d182840625f5eb21f2cf67f06f3aeab27a2d7c4724b3c09c" diff --git a/recipes/visit_struct/all/conanfile.py b/recipes/visit_struct/all/conanfile.py index f72295c8e8cc9..b4d861bfec980 100644 --- a/recipes/visit_struct/all/conanfile.py +++ b/recipes/visit_struct/all/conanfile.py @@ -1,15 +1,19 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout import os -from conans import ConanFile, tools -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class VisitStructConan(ConanFile): name = "visit_struct" description = "A miniature library for struct-field reflection in C++" - topics = ("reflection", "introspection", "visitor", "struct-field-visitor",) - homepage = "https://github.com/garbageslam/visit_struct" - url = "https://github.com/conan-io/conan-center-index" license = "BSL-1.0" + topics = ("reflection", "introspection", "visitor", "struct-field-visitor", "header-only") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/cbeck88/visit_struct" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type", options = { "with_boost_fusion": [True, False], @@ -22,28 +26,35 @@ class VisitStructConan(ConanFile): no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_boost_fusion or self.options.with_boost_hana: - self.requires("boost/1.78.0") + self.requires("boost/1.81.0") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, dst="licenses") - self.copy(pattern="*visit_struct.hpp", src=os.path.join(self._source_subfolder, "include"), dst="include") - self.copy(pattern="*visit_struct_intrusive.hpp", src=os.path.join(self._source_subfolder, "include"), dst="include") + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="*visit_struct.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + copy(self, pattern="*visit_struct_intrusive.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) if self.options.with_boost_fusion: - self.copy(pattern="*visit_struct_boost_fusion.hpp", src=os.path.join(self._source_subfolder, "include"), dst="include") + copy(self, pattern="*visit_struct_boost_fusion.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) if self.options.with_boost_hana: - self.copy(pattern="*visit_struct_boost_hana.hpp", src=os.path.join(self._source_subfolder, "include"), dst="include") + copy(self, pattern="*visit_struct_boost_hana.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/visit_struct/all/test_package/CMakeLists.txt b/recipes/visit_struct/all/test_package/CMakeLists.txt index 0b3daffae916f..24d52d34e85ac 100644 --- a/recipes/visit_struct/all/test_package/CMakeLists.txt +++ b/recipes/visit_struct/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(visit_struct REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} visit_struct::visit_struct) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE visit_struct::visit_struct) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/visit_struct/all/test_package/conanfile.py b/recipes/visit_struct/all/test_package/conanfile.py index 1d4478bedc297..3a91c9439218e 100644 --- a/recipes/visit_struct/all/test_package/conanfile.py +++ b/recipes/visit_struct/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" + 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) @@ -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/visit_struct/all/test_v1_package/CMakeLists.txt b/recipes/visit_struct/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/visit_struct/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/visit_struct/all/test_v1_package/conanfile.py b/recipes/visit_struct/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/visit_struct/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/visit_struct/config.yml b/recipes/visit_struct/config.yml index cbd84c934d0b3..f936952d5165b 100644 --- a/recipes/visit_struct/config.yml +++ b/recipes/visit_struct/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: "all" "1.0": folder: "all" From 7e4def413b71fc24e0cb64b2b322cf6518ee13c2 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Fri, 26 May 2023 18:01:35 +0200 Subject: [PATCH 0372/4087] (#17718) libpcap: add version 1.10.4 --- recipes/libpcap/all/conandata.yml | 3 +++ recipes/libpcap/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libpcap/all/conandata.yml b/recipes/libpcap/all/conandata.yml index c909e32c74890..776adccb0ef4d 100644 --- a/recipes/libpcap/all/conandata.yml +++ b/recipes/libpcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.4": + url: "https://github.com/the-tcpdump-group/libpcap/archive/libpcap-1.10.4.tar.gz" + sha256: "1783ff39f2a6eb99a7625c7ea471782614c94965ea934b6b22ac6eb38db266bc" "1.10.1": url: "https://github.com/the-tcpdump-group/libpcap/archive/libpcap-1.10.1.tar.gz" sha256: "7b650c9e0ce246aa41ba5463fe8e903efc444c914a3ccb986547350bed077ed6" diff --git a/recipes/libpcap/config.yml b/recipes/libpcap/config.yml index 102e778434a57..704c5ae57304e 100644 --- a/recipes/libpcap/config.yml +++ b/recipes/libpcap/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.4": + folder: all "1.10.1": folder: all "1.10.0": From e359fabbb27accb7f74daba86602a8995a4d39ee Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 26 May 2023 18:42:03 +0200 Subject: [PATCH 0373/4087] (#17711) [bot] Update list of references (prod-v2/ListPackages) --- .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 0a75bc37e02f5..c8d7ad85f5cbb 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -418,6 +418,7 @@ required_for_references: - lua - luau - lz4 +- lzma_sdk - m4 - magic_enum - make @@ -432,6 +433,7 @@ required_for_references: - mgs - mikelankamp-fpm - mimalloc +- miniaudio - minisat - minizip - minizip-ng @@ -510,6 +512,7 @@ required_for_references: - pybind11 - qhull - qpdf +- quantlib - quill - quirc - rabbitmq-c @@ -524,6 +527,7 @@ required_for_references: - readerwriterqueue - readline - readosm +- rectpack2d - restbed - restinio - roaring From 76f86b46eb267627f0de5491114ed42297051308 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 02:02:22 +0900 Subject: [PATCH 0374/4087] (#17704) xsimd: add version 11.1.0, update xtl, minor improvement * xsimd: add version 11.1.0, minor improvement * use C++14 when xtl_complex is True --- recipes/xsimd/all/conandata.yml | 3 ++ recipes/xsimd/all/conanfile.py | 38 +++++++++++++++---- recipes/xsimd/all/test_package/CMakeLists.txt | 7 +++- recipes/xsimd/all/test_package/conanfile.py | 16 ++++++-- .../xsimd/all/test_v1_package/CMakeLists.txt | 25 +----------- .../xsimd/all/test_v1_package/conanfile.py | 1 + recipes/xsimd/config.yml | 2 + 7 files changed, 57 insertions(+), 35 deletions(-) diff --git a/recipes/xsimd/all/conandata.yml b/recipes/xsimd/all/conandata.yml index 1a4062ea92a4a..81dd94420426b 100644 --- a/recipes/xsimd/all/conandata.yml +++ b/recipes/xsimd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.1.0": + url: "https://github.com/xtensor-stack/xsimd/archive/11.1.0.tar.gz" + sha256: "aa54dba8daade472656eba0d27154f072fec06ee3831aefcac69a5f6c7dbbae7" "11.0.0": url: "https://github.com/xtensor-stack/xsimd/archive/11.0.0.tar.gz" sha256: "50c31c319c8b36c8946eb954c7cca2e2ece86bf8a66a7ebf321b24cd273e7c47" diff --git a/recipes/xsimd/all/conanfile.py b/recipes/xsimd/all/conanfile.py index f94116c204e90..b22729f3e5ce1 100644 --- a/recipes/xsimd/all/conanfile.py +++ b/recipes/xsimd/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.layout import basic_layout from conan.tools.scm import Version from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd import os import textwrap @@ -12,11 +13,11 @@ class XsimdConan(ConanFile): name = "xsimd" + description = "C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, NEON, AVX512)" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/xtensor-stack/xsimd" - description = "C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, NEON, AVX512)" - topics = ("simd-intrinsics", "vectorization", "simd") + topics = ("simd-intrinsics", "vectorization", "simd", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { @@ -25,20 +26,43 @@ class XsimdConan(ConanFile): default_options = { "xtl_complex": False, } - no_copy_source = True + @property + def _min_cppstd(self): + return 14 if self.options.xtl_complex else 11 + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + def requirements(self): if self.options.xtl_complex: - self.requires("xtl/0.7.4") + self.requires("xtl/0.7.5") def package_id(self): self.info.clear() def validate(self): # TODO: check supported version (probably >= 8.0.0) - if Version(self.version) < "8.0.0" and self.settings.os == "Macos" and self.settings.arch in ["armv8", "armv8_32", "armv8.3"]: - raise ConanInvalidConfiguration(f"{self.name} doesn't support macOS M1") + 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") + + 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 layout(self): basic_layout(self, src_folder="src") @@ -79,9 +103,7 @@ def package_info(self): if self.options.xtl_complex: self.cpp_info.defines = ["XSIMD_ENABLE_XTL_COMPLEX=1"] self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] ## TODO: workaround for arm compilation issue : https://github.com/xtensor-stack/xsimd/issues/735 if Version(self.version) >= "9.0.0" and \ diff --git a/recipes/xsimd/all/test_package/CMakeLists.txt b/recipes/xsimd/all/test_package/CMakeLists.txt index 5d39cde644c56..0624e265ce85e 100644 --- a/recipes/xsimd/all/test_package/CMakeLists.txt +++ b/recipes/xsimd/all/test_package/CMakeLists.txt @@ -7,7 +7,12 @@ find_package(xsimd REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE xsimd) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) + +if (XSIMD_WITH_XTL) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") foreach(flag "/arch:AVX") diff --git a/recipes/xsimd/all/test_package/conanfile.py b/recipes/xsimd/all/test_package/conanfile.py index d120a992c06a6..21848efdbb9cb 100644 --- a/recipes/xsimd/all/test_package/conanfile.py +++ b/recipes/xsimd/all/test_package/conanfile.py @@ -1,18 +1,28 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMakeDeps, CMakeToolchain +from conan.tools.env import VirtualBuildEnv import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def layout(self): + cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) - def layout(self): - cmake_layout(self) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["XSIMD_WITH_XTL"] = self.dependencies["xsimd"].options.xtl_complex + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate(scope="build") def build(self): cmake = CMake(self) diff --git a/recipes/xsimd/all/test_v1_package/CMakeLists.txt b/recipes/xsimd/all/test_v1_package/CMakeLists.txt index b2359dc86fc74..9d54a092e0a67 100644 --- a/recipes/xsimd/all/test_v1_package/CMakeLists.txt +++ b/recipes/xsimd/all/test_v1_package/CMakeLists.txt @@ -1,29 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -include(CheckCXXCompilerFlag) - include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(xsimd REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE xsimd) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) - -if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - foreach(flag "/arch:AVX") - CHECK_CXX_COMPILER_FLAG(${flag} COMPILER_SUPPORTS_MARCH_NATIVE) - if(COMPILER_SUPPORTS_MARCH_NATIVE) - target_compile_options(${PROJECT_NAME} PRIVATE ${flag}) - endif() - endforeach() -elseif ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")) - foreach(flag "-march=native" "-mtune=native") - CHECK_CXX_COMPILER_FLAG(${flag} COMPILER_SUPPORTS_MARCH_NATIVE) - if(COMPILER_SUPPORTS_MARCH_NATIVE) - target_compile_options(${PROJECT_NAME} PRIVATE ${flag}) - endif() - endforeach() -endif() +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xsimd/all/test_v1_package/conanfile.py b/recipes/xsimd/all/test_v1_package/conanfile.py index 38f4483872d47..71bd246c37e4e 100644 --- a/recipes/xsimd/all/test_v1_package/conanfile.py +++ b/recipes/xsimd/all/test_v1_package/conanfile.py @@ -8,6 +8,7 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) + cmake.definitions["XSIMD_WITH_XTL"] = self.options["xsimd"].xtl_complex cmake.configure() cmake.build() diff --git a/recipes/xsimd/config.yml b/recipes/xsimd/config.yml index 37e417d6caa91..d35cd82fe09bb 100644 --- a/recipes/xsimd/config.yml +++ b/recipes/xsimd/config.yml @@ -1,4 +1,6 @@ versions: + "11.1.0": + folder: all "11.0.0": folder: all "10.0.0": From 7a769a0a69c5ddede1f59e9a1e6b3d5047b6f17d Mon Sep 17 00:00:00 2001 From: Maxim Pimenov <10366009+mpimenov@users.noreply.github.com> Date: Fri, 26 May 2023 21:02:24 +0300 Subject: [PATCH 0375/4087] (#17692) arrow: add a missing dependency In correspondence of what is done here: https://github.com/apache/arrow/blob/apache-arrow-12.0.0/cpp/src/arrow/dataset/CMakeLists.txt#L56-L63 --- recipes/arrow/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index dcc135335bdb3..7cb86094ef93f 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -618,6 +618,8 @@ def package_info(self): if self._dataset_modules(): self.cpp_info.components["dataset"].libs = ["arrow_dataset"] + if self._parquet(): + self.cpp_info.components["dataset"].requires = ["libparquet"] if self.options.cli and (self.options.with_cuda or self._with_flight_rpc() or self._parquet()): binpath = os.path.join(self.package_folder, "bin") From 416dee9d1dadef0b204dae1de85aa568673d37d6 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 04:01:42 +0900 Subject: [PATCH 0376/4087] (#17720) ada: add version 2.5.0 --- 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 d0ba115e7230a..a9ea66194e886 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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 635bf97e9cb5b..280074ea58b38 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.2": folder: all "2.4.1": From 710cc662429242efe2d2235df9f0273522603247 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 04:42:33 +0900 Subject: [PATCH 0377/4087] (#17640) bzip3: add version 1.3.1, add patch_description --- recipes/bzip3/all/conandata.yml | 12 ++++++++++++ recipes/bzip3/all/test_package/conanfile.py | 1 + recipes/bzip3/config.yml | 2 ++ 3 files changed, 15 insertions(+) diff --git a/recipes/bzip3/all/conandata.yml b/recipes/bzip3/all/conandata.yml index 4bb5f34796c3f..0de00365a28f1 100644 --- a/recipes/bzip3/all/conandata.yml +++ b/recipes/bzip3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://github.com/kspalaiologos/bzip3/releases/download/1.3.1/bzip3-1.3.1.tar.xz" + sha256: "b023c261307ff4e0e64935ea32bba0216377fd8fc2fd19ba86509a32cbb8a35a" "1.3.0": url: "https://github.com/kspalaiologos/bzip3/releases/download/1.3.0/bzip3-1.3.0.tar.xz" sha256: "72fca01d9030e9c260e2ff8fe9d2e9f6261ea28e86adabeb6a8af3300ec390ef" @@ -32,6 +35,15 @@ sources: patches: "1.1.5": - patch_file: "patches/1.1.5-0002-export-symbols.patch" + patch_description: "fix hidden public symbols on shard build" + patch_type: "portability" + patch_source: "https://github.com/kspalaiologos/bzip3/issues/46" "1.1.4": - patch_file: "patches/1.1.4-0001-make-restrict-alias.patch" + patch_description: "make restrict alias" + patch_type: "portability" + patch_source: "https://github.com/kspalaiologos/bzip3/commit/c5bba99d1a655a177eef9aeb71207326929c66d9" - patch_file: "patches/1.1.4-0002-export-symbols.patch" + patch_description: "fix hidden public symbols on shard build" + patch_type: "portability" + patch_source: "https://github.com/kspalaiologos/bzip3/issues/46" diff --git a/recipes/bzip3/all/test_package/conanfile.py b/recipes/bzip3/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/bzip3/all/test_package/conanfile.py +++ b/recipes/bzip3/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/bzip3/config.yml b/recipes/bzip3/config.yml index 8395bf34db523..014fd9d903968 100644 --- a/recipes/bzip3/config.yml +++ b/recipes/bzip3/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.3.0": folder: all "1.2.3": From 718d8750e735eca62d4f7ffeeab3e6ff593dd9d2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 05:42:33 +0900 Subject: [PATCH 0378/4087] (#17638) minizip-ng: add version 4.0.0 * minizip-ng: add version 4.0.0 * require newer cmake --- recipes/minizip-ng/all/conandata.yml | 3 +++ recipes/minizip-ng/all/conanfile.py | 19 ++++++++++++++++--- recipes/minizip-ng/config.yml | 2 ++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index cb0fe2c9abad5..352a0f4b634fe 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.0": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.0.tar.gz" + sha256: "f9062e576de026fd5026d65597de3b05263cd4d91400cacdbbe36dfa8a642fff" "3.0.9": url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.9.tar.gz" sha256: "992693a532eb15b20d306e6aeea1a1a6501bd19dca993ebe9a95fd22d6b7fd74" diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index a4e9fe7489e1e..a47310a4b7929 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -99,6 +99,8 @@ def requirements(self): def build_requirements(self): if self._needs_pkg_config: self.tool_requires("pkgconf/1.9.3") + if Version(self.version) >= "4.0.0": + self.tool_requires("cmake/[>=3.19 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -136,9 +138,14 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE 1)", - "") + if Version(self.version) < "4.0.0": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE 1)", + "") + else: + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set_target_properties(${MINIZIP_TARGET} PROPERTIES POSITION_INDEPENDENT_CODE 1)", + "") def build(self): self._patch_sources() @@ -169,6 +176,9 @@ def package_info(self): if self.options.with_bzip2: self.cpp_info.components["minizip"].defines.append("HAVE_BZIP2") + if Version(self.version) >= "4.0.0": + self.cpp_info.components["minizip"].includedirs.append(os.path.join("include", "minizip-ng")) + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "minizip" self.cpp_info.filenames["cmake_find_package_multi"] = "minizip" @@ -192,3 +202,6 @@ def package_info(self): self.cpp_info.components["minizip"].frameworks.extend(["CoreFoundation", "Security"]) if self.settings.os != "Windows" and self.options.with_iconv: self.cpp_info.components["minizip"].requires.append("libiconv::libiconv") + + + diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index d293a6987b124..85231c7536268 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.0": + folder: all "3.0.9": folder: all "3.0.8": From c83a335313782783a895e680926ce8d828028373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro?= Date: Fri, 26 May 2023 23:42:17 +0200 Subject: [PATCH 0379/4087] (#17465) Add vir-simd library * Add vir-simd library * Fix indentation * Remove unused code. * Update minimum compiler version * Address PR comments. Remove Windows support until tested. --- recipes/vir-simd/all/conandata.yml | 6 ++ recipes/vir-simd/all/conanfile.py | 89 +++++++++++++++++++ .../vir-simd/all/test_package/CMakeLists.txt | 8 ++ .../vir-simd/all/test_package/conanfile.py | 27 ++++++ .../all/test_package/test_package.cpp | 24 +++++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../vir-simd/all/test_v1_package/conanfile.py | 19 ++++ recipes/vir-simd/config.yml | 4 + 8 files changed, 185 insertions(+) create mode 100644 recipes/vir-simd/all/conandata.yml create mode 100644 recipes/vir-simd/all/conanfile.py create mode 100644 recipes/vir-simd/all/test_package/CMakeLists.txt create mode 100644 recipes/vir-simd/all/test_package/conanfile.py create mode 100644 recipes/vir-simd/all/test_package/test_package.cpp create mode 100644 recipes/vir-simd/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/vir-simd/all/test_v1_package/conanfile.py create mode 100644 recipes/vir-simd/config.yml diff --git a/recipes/vir-simd/all/conandata.yml b/recipes/vir-simd/all/conandata.yml new file mode 100644 index 0000000000000..e21aa490a4d13 --- /dev/null +++ b/recipes/vir-simd/all/conandata.yml @@ -0,0 +1,6 @@ +sources: + # Newer versions at the top + "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/all/conanfile.py b/recipes/vir-simd/all/conanfile.py new file mode 100644 index 0000000000000..830132a2e93bd --- /dev/null +++ b/recipes/vir-simd/all/conanfile.py @@ -0,0 +1,89 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.52.0" + + +class VirSIMDConan(ConanFile): + name = "vir-simd" + description = "A fallback std::experimental::simd (Parallelism TS 2) implementation with additional features" + license = "LGPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mattkretz/vir-simd" + topics = ("simd", "parallelism-ts", "cpp17", "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 { + "Visual Studio": "15", + "msvc": "19.15", + "gcc": "7", + "clang": "5", + "apple-clang": "5.1", + } + + def layout(self): + basic_layout(self, src_folder="src") + + # same package ID for any package + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + 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": + raise ConanInvalidConfiguration(f"{self.ref} Windows support is not provided so far.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + # Nothing to do + return + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="vir/*.h", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, + ) + + def package_info(self): + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + # Set these to the appropriate values if the package has an official FindPACKAGE.cmake + # listed in https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules + # examples: bzip2, freetype, gdal, icu, libcurl, libjpeg, libpng, libtiff, openssl, sqlite3, zlib... + self.cpp_info.set_property("cmake_module_file_name", "vir-simd") + self.cpp_info.set_property("cmake_module_target_name", "vir-simd::vir-simd") + # Set these to the appropriate values if package provides a CMake config file + # (package-config.cmake or packageConfig.cmake, with package::package target, usually installed in /lib/cmake//) + self.cpp_info.set_property("cmake_file_name", "vir-simd") + self.cpp_info.set_property("cmake_target_name", "vir-simd::vir-simd") + # Set this to the appropriate value if the package provides a pkgconfig file + # (package.pc, usually installed in /lib/pkgconfig/) + self.cpp_info.set_property("pkg_config_name", "vir-simd") diff --git a/recipes/vir-simd/all/test_package/CMakeLists.txt b/recipes/vir-simd/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2737b968f7f8b --- /dev/null +++ b/recipes/vir-simd/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(vir-simd REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE vir-simd::vir-simd) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/vir-simd/all/test_package/conanfile.py b/recipes/vir-simd/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/vir-simd/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/vir-simd/all/test_package/test_package.cpp b/recipes/vir-simd/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..fb0755d36c45f --- /dev/null +++ b/recipes/vir-simd/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#include +#include +#include + +namespace stdx = vir::stdx; + +template +std::ostream& operator<<(std::ostream& s, const stdx::simd& v) { + s << '[' << v[0]; + for (std::size_t i = 1; i < v.size(); ++i) { + s << ", " << v[i]; + } + return s << ']'; +} + +int main(void) { + + using floatv = stdx::simd>; + const floatv a{5}; + + std::cout << a * 3<< std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/vir-simd/all/test_v1_package/CMakeLists.txt b/recipes/vir-simd/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..54d2c07bb9d41 --- /dev/null +++ b/recipes/vir-simd/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_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/vir-simd/all/test_v1_package/conanfile.py b/recipes/vir-simd/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/vir-simd/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/vir-simd/config.yml b/recipes/vir-simd/config.yml new file mode 100644 index 0000000000000..88f0acde73637 --- /dev/null +++ b/recipes/vir-simd/config.yml @@ -0,0 +1,4 @@ +versions: + # Newer versions at the top + "0.2.0": + folder: all From 473cba2273183e84aab2bba0f862fe4ec5007fa6 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Sat, 27 May 2023 03:42:39 -0700 Subject: [PATCH 0380/4087] (#17303) backward-cpp: Add support for `libunwind` and Apple Silicon Macs * backward-cpp: Add support for `libunwind` and Apple Silicon-based Macs. * backward-cpp: Support for `libunwind` is not available on Windows. * backward-cpp: Patch `CMakeLists.txt` to link against `libunwind` on Linux. * backward-cpp: `libunwind` needs to be transitive. * backward-cpp: Fix the warning. * backward-cpp: Add `m` to the list of system libraries. --- recipes/backward-cpp/all/conanfile.py | 44 +++++++++++-------- .../all/patches/backward-cpp-1.5.patch | 8 +++- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/recipes/backward-cpp/all/conanfile.py b/recipes/backward-cpp/all/conanfile.py index 6f744e6d9f6c3..df15db8d54d06 100644 --- a/recipes/backward-cpp/all/conanfile.py +++ b/recipes/backward-cpp/all/conanfile.py @@ -22,8 +22,8 @@ class BackwardCppConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "stack_walking" : ["unwind", "backtrace"], - "stack_details" : ["dw", "bfd", "dwarf", "backtrace_symbol"], + "stack_walking": ["unwind", "libunwind", "backtrace"], + "stack_details": ["dw", "bfd", "dwarf", "backtrace_symbol"], } default_options = { "shared": False, @@ -39,11 +39,11 @@ def _supported_os(self): supported_os.append("Windows") return supported_os - def _has_stack_walking(self, type): - return self.options.stack_walking == type + def _has_stack_walking(self, method): + return self.options.stack_walking == method - def _has_stack_details(self, type): - return False if self.settings.os == "Windows" else self.options.stack_details == type + def _has_stack_details(self, method): + return False if self.settings.os == "Windows" else self.options.stack_details == method def export_sources(self): export_conandata_patches(self) @@ -65,6 +65,8 @@ def layout(self): def requirements(self): if self.settings.os in ["Linux", "Android"]: + if self._has_stack_walking("libunwind"): + self.requires("libunwind/1.6.2", transitive_headers=True) if self._has_stack_details("dwarf"): self.requires("libdwarf/20191104", transitive_headers=True, transitive_libs=True) self.requires("libelf/0.8.13") @@ -78,12 +80,16 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) + if self._has_stack_walking("libunwind"): + if Version(self.version) < "1.6": + raise ConanInvalidConfiguration("Support for libunwind is only available as of 1.6.") + if self.settings.os == "Windows": + raise ConanInvalidConfiguration("Support for libunwind is only available on Linux and macOS.") if self.settings.os == "Macos": - if self.settings.arch == "armv8": - raise ConanInvalidConfiguration("Macos M1 not supported yet") + if self.settings.arch == "armv8" and Version(self.version) < "1.6": + raise ConanInvalidConfiguration("Support for Apple Silicon is only available as of 1.6.") if not self._has_stack_details("backtrace_symbol"): - raise ConanInvalidConfiguration("only stack_details=backtrace_symbol" - " is supported on Macos") + raise ConanInvalidConfiguration("Stack details other than backtrace_symbol are not supported on macOS.") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -91,6 +97,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["STACK_WALKING_UNWIND"] = self._has_stack_walking("unwind") + tc.variables["STACK_WALKING_LIBUNWIND"] = self._has_stack_walking("libunwind") tc.variables["STACK_WALKING_BACKTRACE"] = self._has_stack_walking("backtrace") tc.variables["STACK_DETAILS_AUTO_DETECT"] = False tc.variables["STACK_DETAILS_BACKTRACE_SYMBOL"] = self._has_stack_details("backtrace_symbol") @@ -120,18 +127,19 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "Backward") self.cpp_info.set_property("cmake_target_name", "Backward::Backward") - self.cpp_info.defines.append("BACKWARD_HAS_UNWIND={}".format(int(self._has_stack_walking("unwind")))) - self.cpp_info.defines.append("BACKWARD_HAS_BACKTRACE={}".format(int(self._has_stack_walking("backtrace")))) + self.cpp_info.defines.append(f"BACKWARD_HAS_UNWIND={int(self._has_stack_walking('unwind'))}") + self.cpp_info.defines.append(f"BACKWARD_HAS_LIBUNWIND={int(self._has_stack_walking('libunwind'))}") + self.cpp_info.defines.append(f"BACKWARD_HAS_BACKTRACE={int(self._has_stack_walking('backtrace'))}") - self.cpp_info.defines.append("BACKWARD_HAS_BACKTRACE_SYMBOL={}".format(int(self._has_stack_details("backtrace_symbol")))) - self.cpp_info.defines.append("BACKWARD_HAS_DW={}".format(int(self._has_stack_details("dw")))) - self.cpp_info.defines.append("BACKWARD_HAS_BFD={}".format(int(self._has_stack_details("bfd")))) - self.cpp_info.defines.append("BACKWARD_HAS_DWARF={}".format(int(self._has_stack_details("dwarf")))) - self.cpp_info.defines.append("BACKWARD_HAS_PDB_SYMBOL={}".format(int(self.settings.os == "Windows"))) + self.cpp_info.defines.append(f"BACKWARD_HAS_BACKTRACE_SYMBOL={int(self._has_stack_details('backtrace_symbol'))}") + self.cpp_info.defines.append(f"BACKWARD_HAS_DW={int(self._has_stack_details('dw'))}") + self.cpp_info.defines.append(f"BACKWARD_HAS_BFD={int(self._has_stack_details('bfd'))}") + self.cpp_info.defines.append(f"BACKWARD_HAS_DWARF={int(self._has_stack_details('dwarf'))}") + self.cpp_info.defines.append(f"BACKWARD_HAS_PDB_SYMBOL={int(self.settings.os == 'Windows')}") self.cpp_info.libs = ["backward"] if self.settings.os == "Linux": - self.cpp_info.system_libs.extend(["dl"]) + self.cpp_info.system_libs.extend(["dl", "m"]) if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["psapi", "dbghelp"]) diff --git a/recipes/backward-cpp/all/patches/backward-cpp-1.5.patch b/recipes/backward-cpp/all/patches/backward-cpp-1.5.patch index 2fa198687d928..7d2e80dfe3661 100644 --- a/recipes/backward-cpp/all/patches/backward-cpp-1.5.patch +++ b/recipes/backward-cpp/all/patches/backward-cpp-1.5.patch @@ -41,11 +41,17 @@ ############################################################################### -@@ -86,6 +86,19 @@ endif() +@@ -86,6 +86,25 @@ endif() add_library(backward ${libtype} backward.cpp) target_compile_definitions(backward PUBLIC ${BACKWARD_DEFINITIONS}) target_include_directories(backward PUBLIC ${BACKWARD_INCLUDE_DIRS}) +target_compile_features(backward PUBLIC cxx_std_11) ++if(STACK_WALKING_LIBUNWIND) ++ if(NOT APPLE) ++ find_package(libunwind REQUIRED CONFIG) ++ target_link_libraries(backward PUBLIC libunwind::libunwind) ++ endif() ++endif() +if(STACK_DETAILS_DW) + find_package(elfutils REQUIRED CONFIG) + target_link_libraries(backward PUBLIC elfutils::libdw) From c83763d83c9293146e4b4f6bebe703bf2dc0056e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 27 May 2023 14:23:32 +0300 Subject: [PATCH 0381/4087] (#17298) pybind11: add v2.10.4 * pybind11: add v2.10.4 * pybind11: use the correct CMake var for Python, simplify v1 CMakeLists.txt Mostly based on the current cmake_package template. * pybind11: set both Python_EXECUTABLE and PYTHON_EXECUTABLE In an attempt to fix the build errors at https://c3i.jfrog.io/c3i/misc/logs/pr/17298/2-linux-clang/pybind11/2.10.4//5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9-test.txt * pybind11: update v1 test PYTHONPATH * pybind11: drop test_v1_package --- recipes/pybind11/all/conandata.yml | 3 +++ .../pybind11/all/test_package/CMakeLists.txt | 2 +- .../pybind11/all/test_package/conanfile.py | 5 +++- .../all/test_v1_package/CMakeLists.txt | 18 ------------- .../pybind11/all/test_v1_package/conanfile.py | 27 ------------------- recipes/pybind11/config.yml | 2 ++ 6 files changed, 10 insertions(+), 47 deletions(-) delete mode 100644 recipes/pybind11/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/pybind11/all/test_v1_package/conanfile.py diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index d2814f09ff728..062301bf4716d 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -17,3 +17,6 @@ sources: 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" diff --git a/recipes/pybind11/all/test_package/CMakeLists.txt b/recipes/pybind11/all/test_package/CMakeLists.txt index d142acb135035..e8d17d781285f 100644 --- a/recipes/pybind11/all/test_package/CMakeLists.txt +++ b/recipes/pybind11/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) find_package(pybind11 REQUIRED CONFIG) pybind11_add_module(test_package MODULE test_package.cpp) diff --git a/recipes/pybind11/all/test_package/conanfile.py b/recipes/pybind11/all/test_package/conanfile.py index 8c98920d26587..0f281e118c544 100644 --- a/recipes/pybind11/all/test_package/conanfile.py +++ b/recipes/pybind11/all/test_package/conanfile.py @@ -9,7 +9,7 @@ class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" test_type = "explicit" def requirements(self): @@ -20,6 +20,9 @@ def generate(self): deps.generate() toolchain = CMakeToolchain(self) + # Used by FindPython.cmake in CMake + toolchain.variables["Python_EXECUTABLE"] = PurePath(self._python_interpreter).as_posix() + # Used by FindPythonLibsNew.cmake in pybind11 toolchain.variables["PYTHON_EXECUTABLE"] = PurePath(self._python_interpreter).as_posix() toolchain.generate() diff --git a/recipes/pybind11/all/test_v1_package/CMakeLists.txt b/recipes/pybind11/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3cee2617c4143..0000000000000 --- a/recipes/pybind11/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(test_package CXX) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_output_dirs_setup() -conan_set_rpath() -conan_set_std() -conan_set_fpic() -conan_check_compiler() -conan_set_libcxx() -conan_set_vs_runtime() - -find_package(Python COMPONENTS Interpreter Development) -find_package(pybind11 REQUIRED CONFIG) - -Python_add_library(test_package ../test_package/test_package.cpp) -target_link_libraries(test_package PRIVATE pybind11::headers) -set_property(TARGET test_package PROPERTY CXX_STANDARD 11) diff --git a/recipes/pybind11/all/test_v1_package/conanfile.py b/recipes/pybind11/all/test_v1_package/conanfile.py deleted file mode 100644 index 922ac10548541..0000000000000 --- a/recipes/pybind11/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import ConanFile, CMake, tools -import os -import sys -from platform import python_version - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["PYTHON_EXECUTABLE"] = self._python_interpreter - cmake.configure() - cmake.build() - - @property - def _python_interpreter(self): - if getattr(sys, "frozen", False): - return "python" - return sys.executable - - def test(self): - if not tools.cross_building(self): - with tools.environment_append({"PYTHONPATH": "lib"}): - python_module = os.path.join(self.source_folder, "..", "test_package", "test.py") - self.run(f"{self._python_interpreter} {python_module}", run_environment=True) diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index d015836d04db4..03a8eff62e5b8 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -11,3 +11,5 @@ versions: folder: all "2.10.1": folder: all + "2.10.4": + folder: all From 22fd0f7a53825a04bcf09af828e3b54a5ae2cda5 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 21:03:28 +0900 Subject: [PATCH 0382/4087] (#17022) opentelemetry-proto: support conan v2 * opentelemetry-proto: support conan v2 * fix conf_info name * try to support conan v1 * define generate() instead of build() * update code for getting res folder * support conan v1 * remove unused CMake --- recipes/opentelemetry-proto/all/conanfile.py | 37 +++++++++++-------- .../all/test_package/conanfile.py | 33 +++++++++++++++-- .../all/test_v1_package/conanfile.py | 7 ++++ 3 files changed, 58 insertions(+), 19 deletions(-) create mode 100644 recipes/opentelemetry-proto/all/test_v1_package/conanfile.py diff --git a/recipes/opentelemetry-proto/all/conanfile.py b/recipes/opentelemetry-proto/all/conanfile.py index 8b2d929914548..05dc5d3a1f5cc 100644 --- a/recipes/opentelemetry-proto/all/conanfile.py +++ b/recipes/opentelemetry-proto/all/conanfile.py @@ -1,10 +1,9 @@ +from conan import ConanFile +from conan.tools.files import get, copy, save +from conan.tools.layout import basic_layout import os -from pathlib import Path -from conans import ConanFile, tools - - -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class OpenTelemetryProtoConan(ConanFile): name = "opentelemetry-proto" @@ -13,24 +12,32 @@ class OpenTelemetryProtoConan(ConanFile): homepage = "https://github.com/open-telemetry/opentelemetry-proto" description = "Protobuf definitions for the OpenTelemetry protocol (OTLP)" topics = ("opentelemetry", "telemetry", "otlp") + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.proto", dst="res", src=self._source_subfolder) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.proto", + dst=os.path.join(self.package_folder, "res"), + src=self.source_folder, + ) # satisfy KB-H014 (header_only recipes require headers) - tools.save(os.path.join(self.package_folder, "include", "dummy_header.h"), "\n") + save(self, os.path.join(self.package_folder, "include", "dummy_header.h"), "\n") def package_info(self): - self.user_info.proto_root = os.path.join(self.package_folder, "res") + self.conf_info.define("user.opentelemetry-proto:proto_root", os.path.join(self.package_folder, "res")) self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] - self.cpp_info.resdirs = [] + + self.user_info.proto_root = os.path.join(self.package_folder, "res") diff --git a/recipes/opentelemetry-proto/all/test_package/conanfile.py b/recipes/opentelemetry-proto/all/test_package/conanfile.py index 533d3d56112fa..468f9bc6b7433 100644 --- a/recipes/opentelemetry-proto/all/test_package/conanfile.py +++ b/recipes/opentelemetry-proto/all/test_package/conanfile.py @@ -1,9 +1,34 @@ +from conan import ConanFile +from conan.tools.cmake import CMakeDeps, CMakeToolchain +from conan.tools.env import VirtualBuildEnv +from conan.tools.layout import basic_layout import os -from conans import ConanFile - class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + + _res_folder = "" + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate(scope="build") + + self._res_folder = self.dependencies["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root") def test(self): - res_folder = self.deps_user_info["opentelemetry-proto"].proto_root - assert os.path.isfile(os.path.join(res_folder, "opentelemetry", "proto", "common", "v1", "common.proto")) + # TODO: to remove in conan v2 + if self._res_folder == "": + self._res_folder = self.deps_user_info["opentelemetry-proto"].proto_root + + assert os.path.isfile(os.path.join(self._res_folder, "opentelemetry", "proto", "common", "v1", "common.proto")) diff --git a/recipes/opentelemetry-proto/all/test_v1_package/conanfile.py b/recipes/opentelemetry-proto/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c5940f5104d54 --- /dev/null +++ b/recipes/opentelemetry-proto/all/test_v1_package/conanfile.py @@ -0,0 +1,7 @@ +from conans import ConanFile, CMake +import os + +class TestPackageV1Conan(ConanFile): + def test(self): + res_folder = self.deps_user_info["opentelemetry-proto"].proto_root + assert os.path.isfile(os.path.join(res_folder, "opentelemetry", "proto", "common", "v1", "common.proto")) From 7e6d6f54d954ed949806f6907c8b6c6ef25728f2 Mon Sep 17 00:00:00 2001 From: Manel Jimeno <52399441+mjimenofluendo@users.noreply.github.com> Date: Sat, 27 May 2023 14:44:06 +0200 Subject: [PATCH 0383/4087] (#13537) gstreamer: Add version 1.20 * gstreamer: (#13534) Add 1.20 version * gstreamer: (#13534) Add 1.22 version --- recipes/gstreamer/all/conandata.yml | 6 ++++++ recipes/gstreamer/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/gstreamer/all/conandata.yml b/recipes/gstreamer/all/conandata.yml index 39e4939669206..c81d17d89f92b 100644 --- a/recipes/gstreamer/all/conandata.yml +++ b/recipes/gstreamer/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "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" "1.19.2": url: "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.19.2/gstreamer-1.19.2.tar.gz" sha256: "6ec8494867d9b58f145c0c357da631faf21c2c72c7cd8b637b440188fe904ab8" diff --git a/recipes/gstreamer/config.yml b/recipes/gstreamer/config.yml index ced567b81f5cb..e4692dfb998b7 100644 --- a/recipes/gstreamer/config.yml +++ b/recipes/gstreamer/config.yml @@ -1,4 +1,8 @@ versions: + "1.22.3": + folder: all + "1.20.6": + folder: all "1.19.2": folder: all "1.19.1": From e0b37febe138bda1f4711ec36e8179a065b60ef9 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 May 2023 23:01:42 +0900 Subject: [PATCH 0384/4087] (#17716) pystring: add package_type * pystring: add package_type * fix topics --- recipes/pystring/all/conanfile.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recipes/pystring/all/conanfile.py b/recipes/pystring/all/conanfile.py index aae1b97c58843..1f4b786341b1d 100644 --- a/recipes/pystring/all/conanfile.py +++ b/recipes/pystring/all/conanfile.py @@ -11,10 +11,10 @@ class PystringConan(ConanFile): description = "Pystring is a collection of C++ functions which match the " \ "interface and behavior of python's string class methods using std::string." license = "BSD-3-Clause" - topics = ("pystring", "string") - homepage = "https://github.com/imageworks/pystring" url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://github.com/imageworks/pystring" + topics = ("python", "string") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,8 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 2a633c200f1ce15fb2c6ebec8addae4f10b019b5 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 28 May 2023 19:01:35 +0900 Subject: [PATCH 0385/4087] (#17726) cpp-httplib: add version 0.12.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 9933170ac8517..2d3a6cc9a0aa7 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.4": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.4.tar.gz" + sha256: "1aecc75c64fe979f4c6f8b0308ef11f282c721522072fa02717ff07cc9627d10" "0.12.3": url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.3.tar.gz" sha256: "175ced3c9cdaf221e9edf210297568d8f7d402a41d6db01254ac9e0b25487c54" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 6ad1768ae264f..863f2cbd3a813 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.4": + folder: all "0.12.3": folder: all "0.12.2": From 0a9f005d8d3507dede753aec50f182d03f8c80aa Mon Sep 17 00:00:00 2001 From: chausner <15180557+chausner@users.noreply.github.com> Date: Sun, 28 May 2023 12:41:35 +0200 Subject: [PATCH 0386/4087] (#17727) liblsl: add version 1.16.2 Co-authored-by: chausner --- recipes/liblsl/all/conandata.yml | 3 +++ recipes/liblsl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/liblsl/all/conandata.yml b/recipes/liblsl/all/conandata.yml index 2cf8655a17765..ee93b75bd818e 100644 --- a/recipes/liblsl/all/conandata.yml +++ b/recipes/liblsl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.16.2": + url: "https://github.com/sccn/liblsl/archive/refs/tags/v1.16.2.tar.gz" + sha256: "923aa4c81c0fef651c325e3c27aa5b96771540ca2a0933d1b327db27c6dac839" "1.16.1": url: "https://github.com/sccn/liblsl/archive/refs/tags/v1.16.1.tar.gz" sha256: "7410620c26f8e86ae431e7476bf685918e180bd676982a7f7a7817299c8707c5" diff --git a/recipes/liblsl/config.yml b/recipes/liblsl/config.yml index eb92f3dd2dc5e..4caf149a06ee6 100644 --- a/recipes/liblsl/config.yml +++ b/recipes/liblsl/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.2": + folder: all "1.16.1": folder: all "1.16.0": From b5e1a136674511c54babcb97978d0bd256ac1470 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 28 May 2023 20:41:37 +0900 Subject: [PATCH 0387/4087] (#17729) di: add version 1.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/di/all/conandata.yml | 3 +++ recipes/di/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/di/all/conandata.yml b/recipes/di/all/conandata.yml index 0dd2a459aba98..36983ad396050 100644 --- a/recipes/di/all/conandata.yml +++ b/recipes/di/all/conandata.yml @@ -5,3 +5,6 @@ sources: "1.2.0": url: https://github.com/boost-ext/di/archive/v1.2.0.tar.gz sha256: 47ed660a1198f61394d30890cbb9a68b0fd6d17f41283e1de0036d10c1d24a55 + "1.3.0": + url: "https://github.com/boost-ext/di/archive/v1.3.0.tar.gz" + sha256: "853e02ade9bf39f2863b470350c3ef55caffc3090d7d9a503724ff480c8d7eff" diff --git a/recipes/di/config.yml b/recipes/di/config.yml index 246aedabf295f..1ff0ab25aeeea 100644 --- a/recipes/di/config.yml +++ b/recipes/di/config.yml @@ -3,3 +3,5 @@ versions: folder: all "1.2.0": folder: all + "1.3.0": + folder: all From 2a6b77f0a4715e483cee5df900ea3b1073f605b0 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 28 May 2023 23:01:45 +0900 Subject: [PATCH 0388/4087] (#17730) imath: add version 3.1.8 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 bebaaa4063645..663f51d566598 100644 --- a/recipes/imath/all/conandata.yml +++ b/recipes/imath/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.8": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.8.tar.gz" + sha256: "a23a4e2160ca8ff68607a4e129e484edd1d0d13f707394d32af7aed659020803" "3.1.7": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.7.tar.gz" sha256: "bff1fa140f4af0e7f02c6cb78d41b9a7d5508e6bcdfda3a583e35460eb6d4b47" diff --git a/recipes/imath/config.yml b/recipes/imath/config.yml index a8c8ad2b073d1..bfc330f91425c 100644 --- a/recipes/imath/config.yml +++ b/recipes/imath/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.8": + folder: all "3.1.7": folder: all "3.1.6": From 9ce37e91198577a73cbe529ea4c61638149cfa5e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 May 2023 00:21:41 +0900 Subject: [PATCH 0389/4087] (#17731) itlib: add version 1.9.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 961e113df7bb6..55fc01342577f 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.2": + url: "https://github.com/iboB/itlib/archive/v1.9.2.tar.gz" + sha256: "70627c57edff91dfae219e101c0672560f65567272e889f461069c8ea506bef1" "1.9.1": url: "https://github.com/iboB/itlib/archive/v1.9.1.tar.gz" sha256: "3d87b841d85dc30fac2a5157955d685c37fd32a5ecff2e9df330b147fdc3da39" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index b00faa3f0c243..fa9e9daa2fe0e 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.2": + folder: all "1.9.1": folder: all "1.9.0": From ddad9eafcb5c15cc9e93b6397ee74b9b300600ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Farr=C3=A9?= Date: Mon, 29 May 2023 11:22:54 +0200 Subject: [PATCH 0390/4087] (#17473) Onnx expose ONNX_DISABLE_STATIC_REGISTRATION with recipe option * Onnx expose ONNX_DISABLE_STATIC_REGISTRATION with recipe option * disable_static_registration to be available only after 1.9.0 --- recipes/onnx/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index 20403cb789ca7..f12c6c1c0716c 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -26,10 +26,12 @@ class OnnxConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "disable_static_registration": [True, False], } default_options = { "shared": False, "fPIC": True, + "disable_static_registration": False, } @property @@ -49,6 +51,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.version < "1.9.0": + del self.options.disable_static_registration def configure(self): if self.options.shared: @@ -95,6 +99,8 @@ def generate(self): tc.variables["ONNX_VERIFY_PROTO3"] = Version(self.dependencies.host["protobuf"].ref.version).major == "3" if is_msvc(self): tc.variables["ONNX_USE_MSVC_STATIC_RUNTIME"] = is_msvc_static_runtime(self) + if self.version >= "1.9.0": + tc.variables["ONNX_DISABLE_STATIC_REGISTRATION"] = self.options.get_safe('disable_static_registration') tc.generate() deps = CMakeDeps(self) deps.generate() From 996d5527a2758770bcb07d5dd8eb75b2f6dded2d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 May 2023 19:23:24 +0900 Subject: [PATCH 0391/4087] (#17737) plutovg: add version cci.20230205, add package_type --- recipes/plutovg/all/conandata.yml | 3 +++ recipes/plutovg/all/conanfile.py | 23 +++++++---------------- recipes/plutovg/config.yml | 2 ++ 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/recipes/plutovg/all/conandata.yml b/recipes/plutovg/all/conandata.yml index dbcdf0e92b441..caee6f61d4f89 100644 --- a/recipes/plutovg/all/conandata.yml +++ b/recipes/plutovg/all/conandata.yml @@ -1,4 +1,7 @@ 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" diff --git a/recipes/plutovg/all/conanfile.py b/recipes/plutovg/all/conanfile.py index 13289c4f9dd84..ac581e3e79204 100644 --- a/recipes/plutovg/all/conanfile.py +++ b/recipes/plutovg/all/conanfile.py @@ -4,16 +4,16 @@ import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class PlutoVGConan(ConanFile): name = "plutovg" description = "Tiny 2D vector graphics library in C" + license = "MIT", topics = ("vector", "graphics", ) url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sammycage/plutovg" - license = "MIT", - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,24 +30,15 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") 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/plutovg/config.yml b/recipes/plutovg/config.yml index b7f8945df864d..2d50305e8506d 100644 --- a/recipes/plutovg/config.yml +++ b/recipes/plutovg/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20230205": + folder: all "cci.20221030": folder: all "cci.20220103": From ee233d0bf9e9bae0b76a8a1610916c7435dfdac2 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 May 2023 20:01:53 +0900 Subject: [PATCH 0392/4087] (#17735) ftxui: add version 4.1.1 * ftxui: add version 4.1.1 * fix version number * remove pc file --- recipes/ftxui/all/conandata.yml | 7 +++++++ recipes/ftxui/all/conanfile.py | 4 +++- .../ftxui/all/patches/4.1.1-0002-install-dll.patch | 12 ++++++++++++ recipes/ftxui/config.yml | 2 ++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 recipes/ftxui/all/patches/4.1.1-0002-install-dll.patch diff --git a/recipes/ftxui/all/conandata.yml b/recipes/ftxui/all/conandata.yml index 96df426708fff..cfe78d851822f 100644 --- a/recipes/ftxui/all/conandata.yml +++ b/recipes/ftxui/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.1": + url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.1.1.tar.gz" + sha256: "355739597588f837d3ade70c4a52614e5f8d9c04b9e31e5621ed5aa9ba92507f" "4.1.0": url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.1.0.tar.gz" sha256: "6f03f5917b44c9bc12335ad891a93813bbb6e738e0bd0c44f97bcc6077c45980" @@ -12,6 +15,10 @@ sources: url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v2.0.0.tar.gz" sha256: "d891695ef22176f0c09f8261a37af9ad5b262dd670a81e6b83661a23abc2c54f" patches: + "4.1.1": + - patch_file: "patches/4.1.1-0002-install-dll.patch" + patch_description: "add runtime destionation for windows shared build" + patch_type: "conan" "4.1.0": - patch_file: "patches/4.0.0-0002-install-dll.patch" patch_description: "add runtime destionation for windows shared build" diff --git a/recipes/ftxui/all/conanfile.py b/recipes/ftxui/all/conanfile.py index 04120e770fee3..2f4a068d989e3 100644 --- a/recipes/ftxui/all/conanfile.py +++ b/recipes/ftxui/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import is_msvc_static_runtime, is_msvc -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, rm from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -94,6 +94,8 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) if Version(self.version) >= "4.1.0": rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if Version(self.version) >= "4.1.1": + rm(self, "ftxui.pc", os.path.join(self.package_folder, "lib"), ) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ftxui") diff --git a/recipes/ftxui/all/patches/4.1.1-0002-install-dll.patch b/recipes/ftxui/all/patches/4.1.1-0002-install-dll.patch new file mode 100644 index 0000000000000..6acb41d9c736a --- /dev/null +++ b/recipes/ftxui/all/patches/4.1.1-0002-install-dll.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/ftxui_install.cmake b/cmake/ftxui_install.cmake +index d6de491..c5c4f66 100644 +--- a/cmake/ftxui_install.cmake ++++ b/cmake/ftxui_install.cmake +@@ -11,6 +11,7 @@ include(CMakePackageConfigHelpers) + install( + TARGETS screen dom component + EXPORT ftxui-targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) diff --git a/recipes/ftxui/config.yml b/recipes/ftxui/config.yml index a7509144ae93e..727707c7ea721 100644 --- a/recipes/ftxui/config.yml +++ b/recipes/ftxui/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.1": + folder: all "4.1.0": folder: all "4.0.0": From 94465781ae943f7bec2731a52be763ba08a8fa8e Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 29 May 2023 14:01:38 +0200 Subject: [PATCH 0393/4087] (#17739) [bot] Update authorized users list (2023-05-29) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 36565f4595195..864f7afbbe086 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1162,3 +1162,6 @@ authorized_users: - tristanpenman - schmidjo82 - hiiizxf +- ftena +- tkhyn +- Hagartinger From f69dcb05cc6688c5b486a8d2f74cf95ad4ecb564 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 29 May 2023 14:22:00 +0200 Subject: [PATCH 0394/4087] (#17738) [bot] Update list of references (prod-v2/ListPackages) --- .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 c8d7ad85f5cbb..fec5b5a843012 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -379,6 +379,7 @@ required_for_references: - librttopo - libsamplerate - libselinux +- libserial - libsgp4 - libsmacker - libsndfile @@ -419,6 +420,7 @@ required_for_references: - luau - lz4 - lzma_sdk +- lzo - m4 - magic_enum - make @@ -480,6 +482,7 @@ required_for_references: - openmesh - openssl - opensubdiv +- opentelemetry-proto - optional-lite - opus - opusfile @@ -497,6 +500,7 @@ required_for_references: - physx - picobench - picojson +- pixman - pkgconf - poco - popt @@ -510,6 +514,7 @@ required_for_references: - pugixml - pulseaudio - pybind11 +- pystring - qhull - qpdf - quantlib @@ -528,6 +533,7 @@ required_for_references: - readline - readosm - rectpack2d +- replxx - restbed - restinio - roaring @@ -585,6 +591,7 @@ required_for_references: - tinycthreadpool - tinyexif - tinymidi +- tinyxml - tinyxml2 - tl-expected - tlx @@ -604,6 +611,8 @@ required_for_references: - vdpau - veque - vincentlaucsb-csv-parser +- vir-simd +- visit_struct - volk - vorbis - vtu11 From aa98cb76cfd996860691adcc1d909cddb95e29a0 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Mon, 29 May 2023 15:41:50 +0300 Subject: [PATCH 0395/4087] (#17733) Add gc/8.2.4 recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add gc/8.2.4 recipe * Add gc/8.2.4 recipe * Change requirements libatomic_ops from 7.6.14 to 7.8.0 * Further v2 improvements * Simplify test_package --------- Co-authored-by: Rubén Rincón --- recipes/bdwgc/all/conandata.yml | 5 ++++ recipes/bdwgc/all/conanfile.py | 26 ++++++------------- .../all/patches/update-cmake-8_2_4.patch | 15 +++++++++++ recipes/bdwgc/all/test_package/test_package.c | 15 +++-------- recipes/bdwgc/config.yml | 2 ++ 5 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 recipes/bdwgc/all/patches/update-cmake-8_2_4.patch diff --git a/recipes/bdwgc/all/conandata.yml b/recipes/bdwgc/all/conandata.yml index 97d6a0b86b6e9..8dfe6c5a2d882 100644 --- a/recipes/bdwgc/all/conandata.yml +++ b/recipes/bdwgc/all/conandata.yml @@ -8,6 +8,9 @@ sources: "8.2.2": url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.2/gc-8.2.2.tar.gz" sha256: "f30107bcb062e0920a790ffffa56d9512348546859364c23a14be264b38836a0" + "8.2.4": + url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.4/gc-8.2.4.tar.gz" + sha256: "3d0d3cdbe077403d3106bb40f0cbb563413d6efdbb2a7e1cd6886595dec48fc2" patches: "8.0.4": - patch_file: "patches/update-cmake-8_0_4.patch" @@ -15,3 +18,5 @@ patches: - patch_file: "patches/update-cmake-8_0_6.patch" "8.2.2": - patch_file: "patches/update-cmake-8_2_2.patch" + "8.2.4": + - patch_file: "patches/update-cmake-8_2_4.patch" diff --git a/recipes/bdwgc/all/conanfile.py b/recipes/bdwgc/all/conanfile.py index 925a47c27595c..304326f5fe9b1 100644 --- a/recipes/bdwgc/all/conanfile.py +++ b/recipes/bdwgc/all/conanfile.py @@ -1,11 +1,11 @@ from conan import ConanFile +from conan.errors import ConanException from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, save, rmdir, load from conan.tools.scm import Version -from conan.tools.files import apply_conandata_patches, get, save, rmdir, copy, load -from conan.errors import ConanException import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.53.0" class BdwGcConan(ConanFile): @@ -57,8 +57,7 @@ class BdwGcConan(ConanFile): default_options[option] = default def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -66,28 +65,19 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") if Version(self.version) < "8.2.0": del self.options.throw_bad_alloc_library if not self.options.cplusplus: - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if self.settings.os == "Windows": - self.requires("libatomic_ops/7.6.14") + self.requires("libatomic_ops/7.8.0") def source(self): get(self, **self.conan_data["sources"][self.version], diff --git a/recipes/bdwgc/all/patches/update-cmake-8_2_4.patch b/recipes/bdwgc/all/patches/update-cmake-8_2_4.patch new file mode 100644 index 0000000000000..c2ec8ac9747c1 --- /dev/null +++ b/recipes/bdwgc/all/patches/update-cmake-8_2_4.patch @@ -0,0 +1,15 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -175,6 +175,12 @@ if (enable_threads) + message(STATUS "Thread library: ${CMAKE_THREAD_LIBS_INIT}") + if (without_libatomic_ops OR BORLAND OR MSVC OR WATCOM) + include_directories(libatomic_ops/src) ++ find_package(Atomic_ops CONFIG) ++ if (Atomic_ops_FOUND) ++ get_target_property(AO_INCLUDE_DIRS Atomic_ops::atomic_ops ++ INTERFACE_INCLUDE_DIRECTORIES) ++ include_directories(${AO_INCLUDE_DIRS}) ++ endif() + # Note: alternatively, use CFLAGS_EXTRA to pass -I<...>/libatomic_ops/src. + else() + # Assume the compiler supports GCC atomic intrinsics. diff --git a/recipes/bdwgc/all/test_package/test_package.c b/recipes/bdwgc/all/test_package/test_package.c index b2df5018e2c03..a65be074b3335 100644 --- a/recipes/bdwgc/all/test_package/test_package.c +++ b/recipes/bdwgc/all/test_package/test_package.c @@ -5,17 +5,8 @@ int main() { - int i; - - GC_INIT(); /* Optional on Linux/X86; see below. */ - for (i = 0; i < 10000000; ++i) - { - int **p = (int **) GC_MALLOC(sizeof(int *)); - int *q = (int *) GC_MALLOC_ATOMIC(sizeof(int)); - assert(*p == 0); - *p = (int *) GC_REALLOC(q, 2 * sizeof(int)); - if (i % 100000 == 0) - printf("Heap size = %u\n", (unsigned) GC_get_heap_size()); - } + GC_INIT(); + printf("BDWGC Version: %d", GC_get_version()); + GC_deinit(); return 0; } diff --git a/recipes/bdwgc/config.yml b/recipes/bdwgc/config.yml index a32355f74df3f..b018b2961234b 100644 --- a/recipes/bdwgc/config.yml +++ b/recipes/bdwgc/config.yml @@ -5,3 +5,5 @@ versions: folder: all "8.2.2": folder: all + "8.2.4": + folder: all From 3a3f2893fe41824e2c093c9afc7036d8f94f6421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Mon, 29 May 2023 15:21:50 +0200 Subject: [PATCH 0396/4087] (#17710) libpfm4: Simplify logic as only Linux is supported * Simplify logic as only Linux is supported * Fix layout * Remove .a when shared * Add 4.13.0 --- recipes/libpfm4/all/conandata.yml | 3 ++ recipes/libpfm4/all/conanfile.py | 57 +++++++++++++------------------ recipes/libpfm4/config.yml | 2 ++ 3 files changed, 28 insertions(+), 34 deletions(-) diff --git a/recipes/libpfm4/all/conandata.yml b/recipes/libpfm4/all/conandata.yml index ccfa567e2963b..c6534c2a7319f 100644 --- a/recipes/libpfm4/all/conandata.yml +++ b/recipes/libpfm4/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.13.0": + url: "https://versaweb.dl.sourceforge.net/project/perfmon2/libpfm4/libpfm-4.13.0.tar.gz" + sha256: "d18b97764c755528c1051d376e33545d0eb60c6ebf85680436813fa5b04cc3d1" "4.12.0": url: "https://versaweb.dl.sourceforge.net/project/perfmon2/libpfm4/libpfm-4.12.0.tar.gz" sha256: "4b0c1f53f39a61525b69bebf532c68040c1b984d7544a8ae0844b13cd91e1ee4" diff --git a/recipes/libpfm4/all/conanfile.py b/recipes/libpfm4/all/conanfile.py index 89894d3e1796e..563971fb81a95 100644 --- a/recipes/libpfm4/all/conanfile.py +++ b/recipes/libpfm4/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout -from conan.tools.files import get, rmdir, copy, replace_in_file +from conan.tools.files import get, rmdir, copy, replace_in_file, rm from conan.errors import ConanInvalidConfiguration import os @@ -11,11 +11,12 @@ class Libpfm4Conan(ConanFile): license = "MIT" homepage = "http://perfmon2.sourceforge.net" url = "https://github.com/conan-io/conan-center-index" - description = ("A helper library to program the performance monitoring events") + description = "A helper library to program the performance monitoring events" topics = ("perf", "pmu", "benchmark", "microbenchmark") settings = "os", "compiler", "build_type", "arch" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} + package_type = "library" def validate(self): # The library doesn't really make much sense without perf_events API @@ -23,28 +24,14 @@ def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("This library is Linux only") - def config_options(self): - # and currently does not compile on modern Mac OS X && Windows - if self.settings.os == "Windows": - del self.options.fPIC - def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self.source_folder) @@ -54,16 +41,19 @@ def generate(self): tc.generate() def _patch_sources(self): - if not self.options.shared: + if self.options.get_safe("fPIC"): # honor fPIC option replace_in_file(self, os.path.join(self.source_folder, "rules.mk"), "-fPIC", "") replace_in_file(self, os.path.join(self.source_folder, "rules.mk"), "-DPIC", "") + def _yes_no(self, option): + return "y" if option else "n" + def build(self): self._patch_sources() args = [ 'DBG=', - 'CONFIG_PFMLIB_SHARED={}'.format("y" if self.options.shared else "n"), + f'CONFIG_PFMLIB_SHARED={self._yes_no(self.options.shared)}', f'-C {self.source_folder}' ] autotools = Autotools(self) @@ -71,25 +61,24 @@ def build(self): def package(self): copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - args = [ + copy(self, "err.h", dst=os.path.join(self.package_folder, "include", "perfmon"), src=os.path.join(self.source_folder, "include", "perfmon")) + + autotools = Autotools(self) + autotools.install(args=[ 'DBG=', 'LDCONFIG=true', - 'CONFIG_PFMLIB_SHARED={}'.format("y" if self.options.shared else "n"), + f'CONFIG_PFMLIB_SHARED={self._yes_no(self.options.shared)}', f'DESTDIR={self.package_folder}{os.sep}', f'INCDIR=include{os.sep}', f'LIBDIR=lib{os.sep}', f'-C {self.source_folder}' - ] - # due to bug, Mac install phase fails with config shared - if self.settings.os == 'Macos': - args.append('CONFIG_PFMLIB_SHARED=n') - - copy(self, "err.h", dst=os.path.join(self.package_folder, "include", "perfmon"), src=os.path.join(self.source_folder, "include", "perfmon")) - autotools = Autotools(self) - autotools.install(args=args) + ]) rmdir(self, os.path.join(self.package_folder, "usr")) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.libs = ["pfm"] - if self.settings.os in ("Linux", "FreeBSD"): - self.cpp_info.system_libs = ["pthread", "m"] + # This currently only compiles on Linux, so always add the libs + self.cpp_info.system_libs = ["pthread", "m"] + diff --git a/recipes/libpfm4/config.yml b/recipes/libpfm4/config.yml index b06c46e0f08f9..c296be9e946ca 100644 --- a/recipes/libpfm4/config.yml +++ b/recipes/libpfm4/config.yml @@ -1,3 +1,5 @@ versions: + "4.13.0": + folder: all "4.12.0": folder: all From 27b950b226afd252c5cde3b0407684148507b53f Mon Sep 17 00:00:00 2001 From: Fran Tena Date: Mon, 29 May 2023 16:01:52 +0200 Subject: [PATCH 0397/4087] (#17681) spdlog: add version 1.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/spdlog/all/conandata.yml | 3 +++ recipes/spdlog/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/spdlog/all/conandata.yml b/recipes/spdlog/all/conandata.yml index 60c6a1f3b520c..ca7a629380047 100644 --- a/recipes/spdlog/all/conandata.yml +++ b/recipes/spdlog/all/conandata.yml @@ -8,6 +8,9 @@ sources: "1.9.2": url: "https://github.com/gabime/spdlog/archive/v1.9.2.tar.gz" sha256: "6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38" + "1.9.1": + url: "https://github.com/gabime/spdlog/archive/v1.9.1.tar.gz" + sha256: "9a452cfa24408baccc9b2bc2d421d68172a7630c99e9504a14754be840d31a62" "1.8.5": url: "https://github.com/gabime/spdlog/archive/v1.8.5.tar.gz" sha256: "944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8" diff --git a/recipes/spdlog/config.yml b/recipes/spdlog/config.yml index 2efd56b833781..1323ecbb893ca 100644 --- a/recipes/spdlog/config.yml +++ b/recipes/spdlog/config.yml @@ -5,5 +5,7 @@ versions: folder: "all" "1.9.2": folder: "all" + "1.9.1": + folder: "all" "1.8.5": folder: "all" From 0aac38b01c994c247837f227e8fabb15ec16b299 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 29 May 2023 23:42:00 +0900 Subject: [PATCH 0398/4087] (#17724) yyjson: add version 0.7.0, add package_type --- recipes/yyjson/all/conandata.yml | 3 +++ recipes/yyjson/all/conanfile.py | 7 +++---- recipes/yyjson/config.yml | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/yyjson/all/conandata.yml b/recipes/yyjson/all/conandata.yml index 683231e89f238..35f28ce479a2e 100644 --- a/recipes/yyjson/all/conandata.yml +++ b/recipes/yyjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/ibireme/yyjson/archive/refs/tags/0.7.0.tar.gz" + sha256: "9b91ee48ac1fe5939f747d49f123d9a522b5f4e1e46165c1871936d583628a06" "0.6.0": url: "https://github.com/ibireme/yyjson/archive/refs/tags/0.6.0.tar.gz" sha256: "75aa65d2944b3f64ce5918aa3da00f738dc695a0e8e0662de0063aafe1a8662f" diff --git a/recipes/yyjson/all/conanfile.py b/recipes/yyjson/all/conanfile.py index 5fd04cf964be2..041f3c54d28f4 100644 --- a/recipes/yyjson/all/conanfile.py +++ b/recipes/yyjson/all/conanfile.py @@ -12,8 +12,8 @@ class YyjsonConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ibireme/yyjson" - topics = ("yyjson", "json", "serialization", "deserialization") - + topics = ("json", "serialization", "deserialization") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,8 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/yyjson/config.yml b/recipes/yyjson/config.yml index c1abc92e2b1b8..7a6fcce01199c 100644 --- a/recipes/yyjson/config.yml +++ b/recipes/yyjson/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.5.1": From b6c2ae2ffac6844769ac8a96a268c2f199b9b510 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 00:42:35 +0900 Subject: [PATCH 0399/4087] (#17721) fast_float: add version 5.0.0, add BSL-1.0 license --- recipes/fast_float/all/conandata.yml | 3 +++ recipes/fast_float/all/conanfile.py | 4 ++-- recipes/fast_float/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index c3fef89b2a998..a619fbeb19b89 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0.0": + url: "https://github.com/fastfloat/fast_float/archive/v5.0.0.tar.gz" + sha256: "86645ab4af22d21d4ba2d980572dfb74faf90c20c52240d7d8d2201f3eaf4252" "4.0.0": url: "https://github.com/fastfloat/fast_float/archive/v4.0.0.tar.gz" sha256: "9470f229b9ea8d116af7c92f2ab8e8ae6b3c3225d15081b859634328f28d4664" diff --git a/recipes/fast_float/all/conanfile.py b/recipes/fast_float/all/conanfile.py index dd07baab915bd..ec98c563d0552 100644 --- a/recipes/fast_float/all/conanfile.py +++ b/recipes/fast_float/all/conanfile.py @@ -10,8 +10,8 @@ class FastFloatConan(ConanFile): name = "fast_float" description = "Fast and exact implementation of the C++ from_chars " \ "functions for float and double types." - license = ("Apache-2.0", "MIT") - topics = ("fast_float", "conversion", "from_chars", "header-only") + 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" package_type = "header-library" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 853456106d279..7b5ce3829adc9 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.0": + folder: all "4.0.0": folder: all "3.11.0": From ea8a75cb968322dd24258a15d9fa22e638236ca1 Mon Sep 17 00:00:00 2001 From: Andreas Zoufal Date: Mon, 29 May 2023 18:42:07 +0200 Subject: [PATCH 0400/4087] (#17702) benchmark: add pfm option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add enable_libpfm option. * Add version check for libpfm support. * Update recipes/benchmark/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/benchmark/all/conanfile.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/recipes/benchmark/all/conanfile.py b/recipes/benchmark/all/conanfile.py index de0392e20c566..4143dd1a1d5dd 100644 --- a/recipes/benchmark/all/conanfile.py +++ b/recipes/benchmark/all/conanfile.py @@ -25,17 +25,21 @@ class BenchmarkConan(ConanFile): "fPIC": [True, False], "enable_lto": [True, False], "enable_exceptions": [True, False], + "enable_libpfm": [True, False], } default_options = { "shared": False, "fPIC": True, "enable_lto": False, "enable_exceptions": True, + "enable_libpfm": False, } def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.os != "Linux" or Version(self.version) < "1.5.4": + del self.options.enable_libpfm def configure(self): if self.options.shared: @@ -49,6 +53,10 @@ def validate(self): 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") + def requirements(self): + if self.options.get_safe("enable_libpfm"): + self.requires("libpfm4/4.13.0") + def build_requirements(self): if Version(self.version) >= "1.7.1": self.tool_requires("cmake/[>=3.16.3 <4]") @@ -62,6 +70,7 @@ def generate(self): tc.variables["BENCHMARK_ENABLE_GTEST_TESTS"] = "OFF" 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 Version(self.version) >= "1.6.1": tc.variables["BENCHMARK_ENABLE_WERROR"] = False tc.variables["BENCHMARK_FORCE_WERROR"] = False @@ -102,6 +111,9 @@ def package_info(self): self.cpp_info.components["_benchmark"].system_libs.append("shlwapi") elif self.settings.os == "SunOS": self.cpp_info.components["_benchmark"].system_libs.append("kstat") + if self.options.get_safe("enable_libpfm"): + self.cpp_info.components["_benchmark"].requires.append("libpfm4::libpfm4") + self.cpp_info.components["benchmark_main"].set_property("cmake_target_name", "benchmark::benchmark_main") self.cpp_info.components["benchmark_main"].libs = ["benchmark_main"] From b6a13252b62dd998007cd22fd7d7784db3005f9a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 02:42:43 +0900 Subject: [PATCH 0401/4087] (#17683) libcurl: add version 8.1.1, update libnghttp2 --- recipes/libcurl/all/conandata.yml | 3 +++ recipes/libcurl/all/conanfile.py | 2 +- recipes/libcurl/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index 98dd67e54de0e..5c9d395cd4837 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.1.1": + url: "https://curl.se/download/curl-8.1.1.tar.gz" + sha256: "44915e6708551bff2b4fd1615d593bc843b00ba013012634c04208702e354ab2" "8.0.1": url: "https://curl.se/download/curl-8.0.1.tar.gz" sha256: "5fd29000a4089934f121eff456101f0a5d09e2a3e89da1d714adf06c4be887cb" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index d7c8bcbae11b7..c70fbd5ab0576 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -185,7 +185,7 @@ def requirements(self): elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.5.1") if self.options.with_nghttp2: - self.requires("libnghttp2/1.51.0") + self.requires("libnghttp2/1.53.0") if self.options.with_libssh2: self.requires("libssh2/1.10.0") if self.options.with_zlib: diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 8e9856b18ba3a..eb21896fc64a1 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.1.1": + folder: all "8.0.1": folder: all "7.88.1": From 4be708145e2e6f1729eb529de895c5fd439f405b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 04:02:40 +0900 Subject: [PATCH 0402/4087] (#17637) expat: add `large_size` option` --- recipes/expat/all/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/expat/all/conanfile.py b/recipes/expat/all/conanfile.py index 36b0654037e28..baaf7c03c6cca 100644 --- a/recipes/expat/all/conanfile.py +++ b/recipes/expat/all/conanfile.py @@ -20,11 +20,13 @@ class ExpatConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "char_type": ["char", "wchar_t", "ushort"], + "large_size": [True, False], } default_options = { "shared": False, "fPIC": True, "char_type": "char", + "large_size": False, } def export_sources(self): @@ -57,6 +59,7 @@ def generate(self): if is_msvc(self): tc.variables["EXPAT_MSVC_STATIC_CRT"] = is_msvc_static_runtime(self) tc.variables["EXPAT_BUILD_PKGCONFIG"] = False + tc.variables["EXPAT_LARGE_SIZE"] = self.options.large_size tc.generate() def build(self): @@ -88,6 +91,8 @@ def package_info(self): self.cpp_info.defines.append("XML_UNICODE") elif self.options.get_safe("char_type") == "wchar_t": self.cpp_info.defines.append("XML_UNICODE_WCHAR_T") + if self.options.large_size: + self.cpp_info.defines.append("XML_LARGE_SIZE") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") From 36ab3f5f500cd1721309aca30418b020240753e9 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Mon, 29 May 2023 22:02:18 +0200 Subject: [PATCH 0403/4087] (#17546) tensorflow-lite: Add version 2.12.0 --- recipes/tensorflow-lite/all/conandata.yml | 12 ++++++++++++ recipes/tensorflow-lite/all/conanfile.py | 2 +- recipes/tensorflow-lite/config.yml | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/tensorflow-lite/all/conandata.yml b/recipes/tensorflow-lite/all/conandata.yml index 42304f36f76b1..4727adcc61017 100644 --- a/recipes/tensorflow-lite/all/conandata.yml +++ b/recipes/tensorflow-lite/all/conandata.yml @@ -1,8 +1,20 @@ sources: + "2.12.0": + url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.10.0.tar.gz" + sha256: "b5a1bb04c84b6fe1538377e5a1f649bb5d5f0b2e3625a3c526ff3a8af88633e8" "2.10.0": url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.10.0.tar.gz" sha256: "b5a1bb04c84b6fe1538377e5a1f649bb5d5f0b2e3625a3c526ff3a8af88633e8" patches: + "2.12.0": + - patch_file: "patches/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." + - patch_file: "patches/disable_fetch_content.patch" + patch_description: "Fail if the CMake build script tries to fetch external dependencies" + patch_type: "conan" + - patch_file: "patches/dependencies_2_10.patch" + patch_description: "Dependency compatibility: Patch CMakeLists.txt, updating package names, target names, etc" + patch_type: "conan" "2.10.0": - patch_file: "patches/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 083c62e71120c..5b4b074e11411 100644 --- a/recipes/tensorflow-lite/all/conanfile.py +++ b/recipes/tensorflow-lite/all/conanfile.py @@ -77,7 +77,7 @@ def requirements(self): self.requires("eigen/3.4.0") self.requires("farmhash/cci.20190513") self.requires("fft/cci.20061228") - self.requires("flatbuffers/23.1.21", transitive_headers=True) + self.requires("flatbuffers/23.3.3", transitive_headers=True) self.requires("gemmlowp/cci.20210928") self.requires("ruy/cci.20220628") if self.settings.arch in ("x86", "x86_64"): diff --git a/recipes/tensorflow-lite/config.yml b/recipes/tensorflow-lite/config.yml index 22d65dcfdfac6..cabc9e91cd30c 100644 --- a/recipes/tensorflow-lite/config.yml +++ b/recipes/tensorflow-lite/config.yml @@ -1,3 +1,5 @@ versions: + "2.12.0": + folder: all "2.10.0": folder: all From ceed169f469ad1075c01e02db985815728441817 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 29 May 2023 22:44:17 +0200 Subject: [PATCH 0404/4087] (#17499) at-spi2-core: deprecate old recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * at-spi2-core: deprecate old recipe * Update recipes/at-spi2-core/all/conanfile.py Co-authored-by: Rubén Rincón Blanco --------- Co-authored-by: Rubén Rincón Blanco --- recipes/at-spi2-core/all/conanfile.py | 35 +++++++++++++++------------ 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/recipes/at-spi2-core/all/conanfile.py b/recipes/at-spi2-core/all/conanfile.py index e6ca0e2427585..44da1a0663727 100644 --- a/recipes/at-spi2-core/all/conanfile.py +++ b/recipes/at-spi2-core/all/conanfile.py @@ -1,5 +1,9 @@ -from conans import ConanFile, Meson, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, replace_in_file,rmdir +from conan.tools.scm import Version + +from conans import Meson import os @@ -11,6 +15,7 @@ class AtSpi2CoreConan(ConanFile): homepage = "https://gitlab.gnome.org/GNOME/at-spi2-core/" license = "LGPL-2.1-or-later" generators = "pkg_config" + deprecated = "Consumers should migrate to at-spi2-core/[>=2.45.1], which includes atk and at-spi2-atk" settings = "os", "arch", "compiler", "build_type" options = { @@ -35,8 +40,7 @@ def _build_subfolder(self): _meson = None def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def configure(self): if self.options.shared: @@ -47,14 +51,14 @@ def configure(self): self.options["glib"].shared = True def build_requirements(self): - self.build_requires("meson/0.62.2") - self.build_requires("pkgconf/1.7.4") + self.build_requires("meson/1.1.0") + self.build_requires("pkgconf/1.9.3") def requirements(self): - self.requires("glib/2.73.0") + self.requires("glib/2.76.2") if self.options.with_x11: self.requires("xorg/system") - self.requires("dbus/1.12.20") + self.requires("dbus/1.15.2") def validate(self): if self.options.shared and not self.options["glib"].shared: @@ -65,7 +69,7 @@ def validate(self): raise ConanInvalidConfiguration("only linux is supported by this recipe") def source(self): - tools.get(**self.conan_data["sources"][self.version], + get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) def _configure_meson(self): @@ -84,10 +88,9 @@ def _configure_meson(self): return self._meson def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if tools.Version(self.version) >= "2.42.0": - tools.replace_in_file(os.path.join(self._source_subfolder, "bus", "meson.build"), + apply_conandata_patches(self) + if Version(self.version) >= "2.42.0": + replace_in_file(self, os.path.join(self._source_subfolder, "bus", "meson.build"), "if x11_dep.found()", "if x11_option == 'yes'") meson = self._configure_meson() @@ -97,12 +100,12 @@ def package(self): self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) meson = self._configure_meson() meson.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "etc")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ['atspi'] self.cpp_info.includedirs = ["include/at-spi-2.0"] self.cpp_info.names["pkg_config"] = "atspi-2" From de3b6df3cd97f53bef922ac367a7300c0520a2c1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 29 May 2023 23:22:26 +0200 Subject: [PATCH 0405/4087] (#17495) atk: deprecate in favor of at-spi2-core * atk: deprecate in favor of at-spi2-core * bump deps --- recipes/atk/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/atk/all/conanfile.py b/recipes/atk/all/conanfile.py index 851368f9af235..8e4a3de1197c7 100644 --- a/recipes/atk/all/conanfile.py +++ b/recipes/atk/all/conanfile.py @@ -20,6 +20,7 @@ class AtkConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.atk.org" license = "LGPL-2.1-or-later" + deprecated = "at-spi2-core" settings = "os", "arch", "compiler", "build_type" options = { @@ -50,7 +51,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.75.2") + self.requires("glib/2.76.2") def validate(self): if self.options.shared and not self.dependencies["glib"].options.shared: @@ -63,11 +64,11 @@ def validate(self): raise ConanInvalidConfiguration("this specific configuration is prevented due to internal c3i limitations") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires("glib/2.75.2") + self.tool_requires("glib/2.76.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 30dedae39c1a68da2d32365857b646c3345ecd16 Mon Sep 17 00:00:00 2001 From: Thomas Khyn Date: Tue, 30 May 2023 10:02:35 +1200 Subject: [PATCH 0406/4087] (#17328) cmake: add `conanbuildinfo.cmake` to `.gitignore` --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b2733bea8c3a6..4955b6cd850e6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ **/test_package/build-*/ **/test_package/test_output/ conan.lock +conanbuildinfo.cmake conanbuildinfo.txt conaninfo.txt graph_info.json From 48f2d0748ebe422694a62f44d4e4a1aab7062a9d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 07:22:48 +0900 Subject: [PATCH 0407/4087] (#17327) libnfs: add version 5.0.2 --- recipes/libnfs/all/conandata.yml | 8 ++++++++ recipes/libnfs/all/conanfile.py | 4 ++-- recipes/libnfs/config.yml | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/recipes/libnfs/all/conandata.yml b/recipes/libnfs/all/conandata.yml index 5c9b795165455..b4b4af80e776c 100644 --- a/recipes/libnfs/all/conandata.yml +++ b/recipes/libnfs/all/conandata.yml @@ -1,8 +1,16 @@ sources: + "5.0.2": + url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.2.tar.gz" + sha256: "637e56643b19da9fba98f06847788c4dad308b723156a64748041035dcdf9bd3" "5.0.1": url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.1.tar.gz" sha256: "7ef445410b42f36b9bad426608b53ccb9ccca4101e545c383f564c11db672ca8" patches: + "5.0.2": + - patch_file: "patches/5.0.1-0001-remove-exports.patch" + patch_description: "Fix installation" + patch_type: "conan" + patch_source: "https://github.com/sahlberg/libnfs/pull/377" "5.0.1": - patch_file: "patches/5.0.1-0001-remove-exports.patch" patch_description: "Fix installation" diff --git a/recipes/libnfs/all/conanfile.py b/recipes/libnfs/all/conanfile.py index 3b943c080be1a..12b83841bd97e 100644 --- a/recipes/libnfs/all/conanfile.py +++ b/recipes/libnfs/all/conanfile.py @@ -13,6 +13,7 @@ class LibnfsConan(ConanFile): license = "LGPL-2.1" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sahlberg/libnfs" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -40,8 +41,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/libnfs/config.yml b/recipes/libnfs/config.yml index 12fc1d264fabb..7e49cd33d0bdc 100644 --- a/recipes/libnfs/config.yml +++ b/recipes/libnfs/config.yml @@ -1,3 +1,5 @@ versions: + "5.0.2": + folder: "all" "5.0.1": folder: "all" From bf3a18cc8888004df590ca437fc1d3090f3f0dd7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 30 May 2023 01:02:58 +0200 Subject: [PATCH 0408/4087] (#17264) cyclonedds: use version range for openssl & cmake --- recipes/cyclonedds/all/conanfile.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/recipes/cyclonedds/all/conanfile.py b/recipes/cyclonedds/all/conanfile.py index 28044cd38689c..2219a574b8d39 100644 --- a/recipes/cyclonedds/all/conanfile.py +++ b/recipes/cyclonedds/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self.options.with_shm: self.requires("iceoryx/2.0.2") if self.options.with_ssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.options.enable_security and not self.options.shared: @@ -85,20 +85,8 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output=output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if not self._cmake_new_enough("3.16"): - self.tool_requires("cmake/3.25.2") + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From dd977c2a83ce37b649dca6aaeb48ff444466a55b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 08:43:04 +0900 Subject: [PATCH 0409/4087] (#17154) wasmtime: add version 9.0.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wasmtime: add version 8.0.0 * update 9.0.1 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/wasmtime/all/conandata.yml | 30 ++++++++++++++++++++++++++++++ recipes/wasmtime/config.yml | 2 ++ 2 files changed, 32 insertions(+) diff --git a/recipes/wasmtime/all/conandata.yml b/recipes/wasmtime/all/conandata.yml index bad0047d04374..e337fecbbe977 100644 --- a/recipes/wasmtime/all/conandata.yml +++ b/recipes/wasmtime/all/conandata.yml @@ -1,4 +1,34 @@ sources: + "9.0.1": + Windows: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-x86_64-windows-c-api.zip" + sha256: "39bc0cf1a4e611427d7da9b16f7798321fe189ca2915a570f2df97d27848cfe3" + MinGW: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-x86_64-mingw-c-api.zip" + sha256: "3672a99ba17c6755df5260f82916605ba36e2b9336fa2c16248c3b2c732e3318" + Linux: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-x86_64-linux-c-api.tar.xz" + sha256: "9141a08bec03cb727920f29c9f471b4b251613842096f65f0a462c838935bf41" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-aarch64-linux-c-api.tar.xz" + sha256: "6b50b8f04f1cb77c39665286125db3f111470483c594d5d323d49b927e46c07b" + "s390x": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-s390x-linux-c-api.tar.xz" + sha256: "701b1951325f0d9528ee7fd525afd1db059b8f38f0634c488e5f8a0418752983" + Macos: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-x86_64-macos-c-api.tar.xz" + sha256: "b1bba66e2bcab5ff88f217eab58fe145f00c7655be023807ccdef23fde3e8795" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-aarch64-macos-c-api.tar.xz" + sha256: "c275e91dffcb6d6a3fb6b10e5de93d2553646f0bbfa4756d36178d0fc51c6334" + Android: + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v9.0.1/wasmtime-v9.0.1-aarch64-linux-c-api.tar.xz" + sha256: "6b50b8f04f1cb77c39665286125db3f111470483c594d5d323d49b927e46c07b" "7.0.0": Windows: "x86_64": diff --git a/recipes/wasmtime/config.yml b/recipes/wasmtime/config.yml index 604aa079994aa..dbe6065513d63 100644 --- a/recipes/wasmtime/config.yml +++ b/recipes/wasmtime/config.yml @@ -1,4 +1,6 @@ versions: + "9.0.1": + folder: all "7.0.0": folder: all "6.0.1": From 6b30c6e82387a6471205aa9e6fcfec42218e41c1 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 09:24:19 +0900 Subject: [PATCH 0410/4087] (#16990) watcher: add version 0.8.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * watcher: add version 0.8.3 * fix macro for 0.3.x * drop MSVC support in 0.8.3 * update 0.8.7 * support msvc again * Update recipes/watcher/all/conanfile.py Co-authored-by: James * Update recipes/watcher/all/conanfile.py Co-authored-by: James --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: James --- recipes/watcher/all/conandata.yml | 3 +++ recipes/watcher/all/test_package/CMakeLists.txt | 9 +++++++++ recipes/watcher/all/test_package/test_package.cpp | 4 ++-- recipes/watcher/config.yml | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index f7df7228f93fd..16f9a357e1c56 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,4 +1,7 @@ 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" diff --git a/recipes/watcher/all/test_package/CMakeLists.txt b/recipes/watcher/all/test_package/CMakeLists.txt index 18f5fe387b11a..01b429a54beb8 100644 --- a/recipes/watcher/all/test_package/CMakeLists.txt +++ b/recipes/watcher/all/test_package/CMakeLists.txt @@ -10,8 +10,17 @@ target_link_libraries(${PROJECT_NAME} PRIVATE watcher::watcher Threads::Threads) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) if(watcher_VERSION VERSION_LESS "0.4.0") target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_NAMESPACE=water) + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=water::watcher::event) + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=water::watcher::event) else() target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_NAMESPACE=wtr) + if(watcher_VERSION VERSION_LESS "0.8.1") + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=wtr::watcher::event) + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=wtr::watcher::event) + else() + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=wtr::watcher) + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=wtr::watcher::event) + endif() endif() if(watcher_VERSION VERSION_GREATER_EQUAL "0.6.0") diff --git a/recipes/watcher/all/test_package/test_package.cpp b/recipes/watcher/all/test_package/test_package.cpp index 5324e0d9a2b54..3216b6f2e2ca3 100644 --- a/recipes/watcher/all/test_package/test_package.cpp +++ b/recipes/watcher/all/test_package/test_package.cpp @@ -13,9 +13,9 @@ int main(int argc, char** argv) { "water.watcher.stream":{ )"; - auto const show_event_json = [](const WATCHER_NAMESPACE::watcher::event::event& this_event) { + auto const show_event_json = [](const WATCHER_EVENT_NAMESPACE::event& this_event) { std::cout << " " << this_event; - if (this_event.kind != WATCHER_NAMESPACE::watcher::event::kind::watcher) { + if (this_event.kind != WATCHER_EVENT_KIND_NAMESPACE::kind::watcher) { std::cout << ","; } std::cout << "\n"; diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index 3d179a6711efc..18cb91a415735 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.7": + folder: all "0.8.0": folder: all "0.6.0": From c1111fdae8b49628387333499e757ec6235a5e41 Mon Sep 17 00:00:00 2001 From: Maxim Pimenov <10366009+mpimenov@users.noreply.github.com> Date: Tue, 30 May 2023 04:22:48 +0300 Subject: [PATCH 0411/4087] (#17521) arrow: modernize more for conan v2 (take two) Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/arrow/all/conanfile.py | 275 ++++++++++---------- recipes/arrow/all/test_package/conanfile.py | 1 - 2 files changed, 140 insertions(+), 136 deletions(-) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 7cb86094ef93f..ee4cdd21e5b52 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -1,10 +1,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc_static_runtime, is_msvc, check_min_vs -from conan.tools.files import export_conandata_patches, apply_conandata_patches, get, copy, rmdir 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 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 import glob @@ -18,6 +18,7 @@ class ArrowConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://arrow.apache.org/" topics = ("memory", "gandiva", "parquet", "skyhook", "acero", "hdfs", "csv", "cuda", "gcs", "json", "hive", "s3", "grpc") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -114,18 +115,25 @@ class ArrowConan(ConanFile): short_paths = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): # arrow >= 10.0.0 requires C++17. # https://github.com/apache/arrow/pull/13991 - return 11 if Version(self.version) < "10.0.0" else 17 + return "11" if Version(self.version) < "10.0.0" else "17" @property def _compilers_minimum_version(self): return { - "gcc": "8", - "clang": "7", - "apple-clang": "10", - } + "11": { + "clang": "3.9", + }, + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) def export_sources(self): export_conandata_patches(self) @@ -151,66 +159,6 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - def validate(self): - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) - - if self._minimum_cpp_standard == 11: - if self.info.settings.compiler == "clang" and self.info.settings.compiler.version <= Version("3.9"): - raise ConanInvalidConfiguration("This recipe does not support this compiler version") - else: - 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._minimum_cpp_standard}, which your compiler does not support." - ) - - if self.options.plasma != "deprecated": - self.output.warning("plasma option is deprecated since Arrow 12.0.0, do not use anymore.") - if self.options.shared: - del self.options.fPIC - if self.options.compute == False and not self._compute(True): - raise ConanInvalidConfiguration("compute options is required (or choose auto)") - if self.options.parquet == False and self._parquet(True): - raise ConanInvalidConfiguration("parquet options is required (or choose auto)") - if self.options.dataset_modules == False and self._dataset_modules(True): - raise ConanInvalidConfiguration("dataset_modules options is required (or choose auto)") - if self.options.get_safe("skyhook", False): - raise ConanInvalidConfiguration("CCI has no librados recipe (yet)") - if self.options.with_jemalloc == False and self._with_jemalloc(True): - raise ConanInvalidConfiguration("with_jemalloc option is required (or choose auto)") - if self.options.with_re2 == False and self._with_re2(True): - raise ConanInvalidConfiguration("with_re2 option is required (or choose auto)") - if self.options.with_protobuf == False and self._with_protobuf(True): - raise ConanInvalidConfiguration("with_protobuf option is required (or choose auto)") - if self.options.with_gflags == False and self._with_gflags(True): - raise ConanInvalidConfiguration("with_gflags options is required (or choose auto)") - if self.options.with_flight_rpc == False and self._with_flight_rpc(True): - raise ConanInvalidConfiguration("with_flight_rpc options is required (or choose auto)") - if self.options.with_grpc == False and self._with_grpc(True): - raise ConanInvalidConfiguration("with_grpc options is required (or choose auto)") - if self.options.with_boost == False and self._with_boost(True): - raise ConanInvalidConfiguration("with_boost options is required (or choose auto)") - if self.options.with_openssl == False and self._with_openssl(True): - raise ConanInvalidConfiguration("with_openssl options is required (or choose auto)") - if self.options.with_llvm == False and self._with_llvm(True): - raise ConanInvalidConfiguration("with_llvm options is required (or choose auto)") - if self.options.with_cuda: - raise ConanInvalidConfiguration("CCI has no cuda recipe (yet)") - if self.options.with_orc: - raise ConanInvalidConfiguration("CCI has no orc recipe (yet)") - if self.options.with_s3 and not self.options["aws-sdk-cpp"].config: - raise ConanInvalidConfiguration("arrow:with_s3 requires aws-sdk-cpp:config is True.") - - if self.options.shared and self._with_jemalloc(): - if self.options["jemalloc"].enable_cxx: - raise ConanInvalidConfiguration("jemmalloc.enable_cxx of a static jemalloc must be disabled") - - if Version(self.version) < "6.0.0" and self.options.get_safe("simd_level") == "default": - raise ConanInvalidConfiguration(f"In {self.ref}, simd_level options is not supported `default` value.") - def layout(self): cmake_layout(self, src_folder="src") @@ -326,13 +274,13 @@ def requirements(self): if self._with_thrift(): self.requires("thrift/0.17.0") if self._with_protobuf(): - self.requires("protobuf/3.21.4") + self.requires("protobuf/3.21.9") if self._with_jemalloc(): self.requires("jemalloc/5.3.0") if self.options.with_mimalloc: self.requires("mimalloc/1.7.6") if self._with_boost(): - self.requires("boost/1.80.0") + self.requires("boost/1.81.0") if self._with_gflags(): self.requires("gflags/2.2.2") if self._with_glog(): @@ -348,9 +296,9 @@ def requirements(self): if self._with_openssl(): # aws-sdk-cpp requires openssl/1.1.1. it uses deprecated functions in openssl/3.0.0 if self.options.with_s3: - self.requires("openssl/1.1.1s") + self.requires("openssl/1.1.1t") else: - self.requires("openssl/1.1.1s") + self.requires("openssl/1.1.1t") if self.options.get_safe("with_opentelemetry"): self.requires("opentelemetry-cpp/1.7.0") if self.options.with_s3: @@ -378,19 +326,77 @@ def requirements(self): if self.options.with_backtrace: self.requires("libbacktrace/cci.20210118") + def package_id(self): + self.info.options.with_gflags = self._with_gflags() + self.info.options.with_protobuf = self._with_protobuf() + self.info.options.with_re2 = self._with_re2() + self.info.options.with_jemalloc = self._with_jemalloc() + self.info.options.with_openssl = self._with_openssl() + self.info.options.with_boost = self._with_boost() + self.info.options.with_glog = self._with_glog() + self.info.options.with_grpc = self._with_grpc() + + 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." + ) + + if self.options.compute == False and not self._compute(True): + raise ConanInvalidConfiguration("compute options is required (or choose auto)") + if self.options.parquet == False and self._parquet(True): + raise ConanInvalidConfiguration("parquet options is required (or choose auto)") + if self.options.dataset_modules == False and self._dataset_modules(True): + raise ConanInvalidConfiguration("dataset_modules options is required (or choose auto)") + if self.options.get_safe("skyhook", False): + raise ConanInvalidConfiguration("CCI has no librados recipe (yet)") + if self.options.with_jemalloc == False and self._with_jemalloc(True): + raise ConanInvalidConfiguration("with_jemalloc option is required (or choose auto)") + if self.options.with_re2 == False and self._with_re2(True): + raise ConanInvalidConfiguration("with_re2 option is required (or choose auto)") + if self.options.with_protobuf == False and self._with_protobuf(True): + raise ConanInvalidConfiguration("with_protobuf option is required (or choose auto)") + if self.options.with_gflags == False and self._with_gflags(True): + raise ConanInvalidConfiguration("with_gflags options is required (or choose auto)") + if self.options.with_flight_rpc == False and self._with_flight_rpc(True): + raise ConanInvalidConfiguration("with_flight_rpc options is required (or choose auto)") + if self.options.with_grpc == False and self._with_grpc(True): + raise ConanInvalidConfiguration("with_grpc options is required (or choose auto)") + if self.options.with_boost == False and self._with_boost(True): + raise ConanInvalidConfiguration("with_boost options is required (or choose auto)") + if self.options.with_openssl == False and self._with_openssl(True): + raise ConanInvalidConfiguration("with_openssl options is required (or choose auto)") + if self.options.with_llvm == False and self._with_llvm(True): + raise ConanInvalidConfiguration("with_llvm options is required (or choose auto)") + if self.options.with_cuda: + raise ConanInvalidConfiguration("CCI has no cuda recipe (yet)") + if self.options.with_orc: + raise ConanInvalidConfiguration("CCI has no orc recipe (yet)") + if self.options.with_s3 and not self.dependencies["aws-sdk-cpp"].options.config: + raise ConanInvalidConfiguration("arrow:with_s3 requires aws-sdk-cpp:config is True.") + + if self.options.shared and self._with_jemalloc(): + if self.dependencies["jemalloc"].options.enable_cxx: + raise ConanInvalidConfiguration("jemmalloc.enable_cxx of a static jemalloc must be disabled") + + if Version(self.version) < "6.0.0" and self.options.get_safe("simd_level") == "default": + raise ConanInvalidConfiguration(f"In {self.ref}, simd_level options is not supported `default` value.") + def source(self): get(self, **self.conan_data["sources"][self.version], - filename=f"apache-arrow-{self.version}.tar.gz", destination=self.source_folder, strip_root=True) + filename=f"apache-arrow-{self.version}.tar.gz", strip_root=True) def generate(self): - # BUILD_SHARED_LIBS and POSITION_INDEPENDENT_CODE are automatically parsed when self.options.shared or self.options.fPIC exist tc = CMakeToolchain(self) if cross_building(self): cmake_system_processor = { "armv8": "aarch64", "armv8.3": "aarch64", }.get(str(self.settings.arch), str(self.settings.arch)) - tc.variables["CMAKE_SYSTEM_PROCESSOR"] = cmake_system_processor if cmake_system_processor == "aarch64": tc.variables["ARROW_CPU_FLAG"] = "armv8" if is_msvc(self): @@ -423,10 +429,10 @@ def generate(self): tc.variables["BOOST_SOURCE"] = "SYSTEM" tc.variables["Protobuf_SOURCE"] = "SYSTEM" if self._with_protobuf(): - tc.variables["ARROW_PROTOBUF_USE_SHARED"] = bool(self.options["protobuf"].shared) + tc.variables["ARROW_PROTOBUF_USE_SHARED"] = bool(self.dependencies["protobuf"].options.shared) tc.variables["gRPC_SOURCE"] = "SYSTEM" if self._with_grpc(): - tc.variables["ARROW_GRPC_USE_SHARED"] = bool(self.options["grpc"].shared) + tc.variables["ARROW_GRPC_USE_SHARED"] = bool(self.dependencies["grpc"].options.shared) tc.variables["ARROW_USE_GLOG"] = self._with_glog() tc.variables["GLOG_SOURCE"] = "SYSTEM" @@ -434,23 +440,23 @@ def generate(self): tc.variables["ARROW_WITH_BROTLI"] = bool(self.options.with_brotli) tc.variables["brotli_SOURCE"] = "SYSTEM" if self.options.with_brotli: - tc.variables["ARROW_BROTLI_USE_SHARED"] = bool(self.options["brotli"].shared) + tc.variables["ARROW_BROTLI_USE_SHARED"] = bool(self.dependencies["brotli"].options.shared) tc.variables["gflags_SOURCE"] = "SYSTEM" if self._with_gflags(): - tc.variables["ARROW_GFLAGS_USE_SHARED"] = bool(self.options["gflags"].shared) + tc.variables["ARROW_GFLAGS_USE_SHARED"] = bool(self.dependencies["gflags"].options.shared) tc.variables["ARROW_WITH_BZ2"] = bool(self.options.with_bz2) tc.variables["BZip2_SOURCE"] = "SYSTEM" if self.options.with_bz2: - tc.variables["ARROW_BZ2_USE_SHARED"] = bool(self.options["bzip2"].shared) + tc.variables["ARROW_BZ2_USE_SHARED"] = bool(self.dependencies["bzip2"].options.shared) tc.variables["ARROW_WITH_LZ4"] = bool(self.options.with_lz4) tc.variables["lz4_SOURCE"] = "SYSTEM" if self.options.with_lz4: - tc.variables["ARROW_LZ4_USE_SHARED"] = bool(self.options["lz4"].shared) + tc.variables["ARROW_LZ4_USE_SHARED"] = bool(self.dependencies["lz4"].options.shared) tc.variables["ARROW_WITH_SNAPPY"] = bool(self.options.with_snappy) tc.variables["RapidJSON_SOURCE"] = "SYSTEM" tc.variables["Snappy_SOURCE"] = "SYSTEM" if self.options.with_snappy: - tc.variables["ARROW_SNAPPY_USE_SHARED"] = bool(self.options["snappy"].shared) + tc.variables["ARROW_SNAPPY_USE_SHARED"] = bool(self.dependencies["snappy"].options.shared) tc.variables["ARROW_WITH_ZLIB"] = bool(self.options.with_zlib) tc.variables["re2_SOURCE"] = "SYSTEM" tc.variables["ZLIB_SOURCE"] = "SYSTEM" @@ -463,20 +469,20 @@ def generate(self): else: tc.variables["ZSTD_SOURCE"] = "SYSTEM" if self.options.with_zstd: - tc.variables["ARROW_ZSTD_USE_SHARED"] = bool(self.options["zstd"].shared) + tc.variables["ARROW_ZSTD_USE_SHARED"] = bool(self.dependencies["zstd"].options.shared) tc.variables["ORC_SOURCE"] = "SYSTEM" tc.variables["ARROW_WITH_THRIFT"] = self._with_thrift() tc.variables["Thrift_SOURCE"] = "SYSTEM" if self._with_thrift(): - tc.variables["THRIFT_VERSION"] = bool(self.deps_cpp_info["thrift"].version) # a recent thrift does not require boost - tc.variables["ARROW_THRIFT_USE_SHARED"] = bool(self.options["thrift"].shared) + tc.variables["THRIFT_VERSION"] = bool(self.dependencies["thrift"].ref.version) # a recent thrift does not require boost + tc.variables["ARROW_THRIFT_USE_SHARED"] = bool(self.dependencies["thrift"].options.shared) tc.variables["ARROW_USE_OPENSSL"] = self._with_openssl() if self._with_openssl(): - tc.variables["OPENSSL_ROOT_DIR"] = self.deps_cpp_info["openssl"].rootpath.replace("\\", "/") - tc.variables["ARROW_OPENSSL_USE_SHARED"] = bool(self.options["openssl"].shared) + tc.variables["OPENSSL_ROOT_DIR"] = self.dependencies["openssl"].package_folder.replace("\\", "/") + tc.variables["ARROW_OPENSSL_USE_SHARED"] = bool(self.dependencies["openssl"].options.shared) if self._with_boost(): tc.variables["ARROW_USE_BOOST"] = True - tc.variables["ARROW_BOOST_USE_SHARED"] = bool(self.options["boost"].shared) + tc.variables["ARROW_BOOST_USE_SHARED"] = bool(self.dependencies["boost"].options.shared) tc.variables["ARROW_S3"] = bool(self.options.with_s3) tc.variables["AWSSDK_SOURCE"] = "SYSTEM" tc.variables["ARROW_BUILD_UTILITIES"] = bool(self.options.cli) @@ -491,12 +497,12 @@ def generate(self): tc.variables["ARROW_BOOST_REQUIRED"] = self._with_boost() tc.variables["utf8proc_SOURCE"] = "SYSTEM" if self._with_utf8proc(): - tc.variables["ARROW_UTF8PROC_USE_SHARED"] = bool(self.options["utf8proc"].shared) + tc.variables["ARROW_UTF8PROC_USE_SHARED"] = bool(self.dependencies["utf8proc"].options.shared) tc.variables["BUILD_WARNING_LEVEL"] = "PRODUCTION" if is_msvc(self): - tc.variables["ARROW_USE_STATIC_CRT"] = "MT" in str(self.settings.compiler.runtime) + tc.variables["ARROW_USE_STATIC_CRT"] = is_msvc_static_runtime(self) if self._with_llvm(): - tc.variables["LLVM_DIR"] = self.deps_cpp_info["llvm-core"].rootpath.replace("\\", "/") + tc.variables["LLVM_DIR"] = self.dependencies["llvm-core"].package_folder.replace("\\", "/") tc.generate() deps = CMakeDeps(self) @@ -539,81 +545,57 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) - def _lib_name(self, name): - if is_msvc(self) and not self.options.shared: - return "{}_static".format(name) - else: - return "{}".format(name) + def package_info(self): + # FIXME: fix CMake targets of components - def package_id(self): - self.info.options.with_gflags = self._with_gflags() - self.info.options.with_protobuf = self._with_protobuf() - self.info.options.with_re2 = self._with_re2() - self.info.options.with_jemalloc = self._with_jemalloc() - self.info.options.with_openssl = self._with_openssl() - self.info.options.with_boost = self._with_boost() - self.info.options.with_glog = self._with_glog() - self.info.options.with_grpc = self._with_grpc() + self.cpp_info.set_property("cmake_file_name", "Arrow") - def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "Arrow" - self.cpp_info.filenames["cmake_find_package_multi"] = "Arrow" - self.cpp_info.components["libarrow"].libs = [self._lib_name("arrow")] - self.cpp_info.components["libarrow"].names["cmake_find_package"] = "arrow" - self.cpp_info.components["libarrow"].names["cmake_find_package_multi"] = "arrow" - self.cpp_info.components["libarrow"].names["pkg_config"] = "arrow" + suffix = "_static" if is_msvc(self) and not self.options.shared else "" + + self.cpp_info.components["libarrow"].set_property("pkg_config_name", "arrow") + self.cpp_info.components["libarrow"].libs = [f"arrow{suffix}"] if not self.options.shared: self.cpp_info.components["libarrow"].defines = ["ARROW_STATIC"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libarrow"].system_libs = ["pthread", "m", "dl", "rt"] if self._parquet(): - self.cpp_info.components["libparquet"].libs = [self._lib_name("parquet")] - self.cpp_info.components["libparquet"].names["cmake_find_package"] = "parquet" - self.cpp_info.components["libparquet"].names["cmake_find_package_multi"] = "parquet" - self.cpp_info.components["libparquet"].names["pkg_config"] = "parquet" + self.cpp_info.components["libparquet"].set_property("pkg_config_name", "parquet") + self.cpp_info.components["libparquet"].libs = [f"parquet{suffix}"] self.cpp_info.components["libparquet"].requires = ["libarrow"] if not self.options.shared: self.cpp_info.components["libparquet"].defines = ["PARQUET_STATIC"] - if self.options.get_safe("substrait", False): - self.cpp_info.components["libarrow_substrait"].libs = [self._lib_name("arrow_substrait")] - self.cpp_info.components["libarrow_substrait"].names["cmake_find_package"] = "arrow_substrait" - self.cpp_info.components["libarrow_substrait"].names["cmake_find_package_multi"] = "arrow_substrait" - self.cpp_info.components["libarrow_substrait"].names["pkg_config"] = "arrow_substrait" + if self.options.get_safe("substrait"): + self.cpp_info.components["libarrow_substrait"].set_property("pkg_config_name", "arrow_substrait") + self.cpp_info.components["libarrow_substrait"].libs = [f"arrow_substrait{suffix}"] self.cpp_info.components["libarrow_substrait"].requires = ["libparquet", "dataset"] # Plasma was deprecated in Arrow 12.0.0 del self.options.plasma if self.options.acero: - self.cpp_info.components["libacero"].libs = [self._lib_name("acero")] + self.cpp_info.components["libacero"].libs = [f"acero{suffix}"] self.cpp_info.components["libacero"].names["cmake_find_package"] = "acero" self.cpp_info.components["libacero"].names["cmake_find_package_multi"] = "acero" self.cpp_info.components["libacero"].names["pkg_config"] = "acero" self.cpp_info.components["libacero"].requires = ["libarrow"] if self.options.gandiva: - self.cpp_info.components["libgandiva"].libs = [self._lib_name("gandiva")] - self.cpp_info.components["libgandiva"].names["cmake_find_package"] = "gandiva" - self.cpp_info.components["libgandiva"].names["cmake_find_package_multi"] = "gandiva" - self.cpp_info.components["libgandiva"].names["pkg_config"] = "gandiva" + self.cpp_info.components["libgandiva"].set_property("pkg_config_name", "gandiva") + self.cpp_info.components["libgandiva"].libs = [f"gandiva{suffix}"] self.cpp_info.components["libgandiva"].requires = ["libarrow"] if not self.options.shared: self.cpp_info.components["libgandiva"].defines = ["GANDIVA_STATIC"] if self._with_flight_rpc(): - self.cpp_info.components["libarrow_flight"].libs = [self._lib_name("arrow_flight")] - self.cpp_info.components["libarrow_flight"].names["cmake_find_package"] = "flight_rpc" - self.cpp_info.components["libarrow_flight"].names["cmake_find_package_multi"] = "flight_rpc" - self.cpp_info.components["libarrow_flight"].names["pkg_config"] = "flight_rpc" + self.cpp_info.components["libarrow_flight"].set_property("pkg_config_name", "flight_rpc") + self.cpp_info.components["libarrow_flight"].libs = [f"arrow_flight{suffix}"] self.cpp_info.components["libarrow_flight"].requires = ["libarrow"] if self.options.get_safe("with_flight_sql"): - self.cpp_info.components["libarrow_flight_sql"].libs = [self._lib_name("arrow_flight_sql")] - self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package"] = "flight_sql" - self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package_multi"] = "flight_sql" - self.cpp_info.components["libarrow_flight_sql"].names["pkg_config"] = "flight_sql" + self.cpp_info.components["libarrow_flight_sql"].set_property("pkg_config_name", "flight_sql") + self.cpp_info.components["libarrow_flight_sql"].libs = [f"arrow_flight_sql{suffix}"] self.cpp_info.components["libarrow_flight_sql"].requires = ["libarrow", "libarrow_flight"] if self._dataset_modules(): @@ -693,3 +675,26 @@ def package_info(self): self.cpp_info.components["libarrow"].requires.append("grpc::grpc") if self._with_flight_rpc(): self.cpp_info.components["libarrow_flight"].requires.append("protobuf::protobuf") + + # TODO: to remove in conan v2 + self.cpp_info.filenames["cmake_find_package"] = "Arrow" + self.cpp_info.filenames["cmake_find_package_multi"] = "Arrow" + self.cpp_info.components["libarrow"].names["cmake_find_package"] = "arrow" + self.cpp_info.components["libarrow"].names["cmake_find_package_multi"] = "arrow" + if self._parquet(): + self.cpp_info.components["libparquet"].names["cmake_find_package"] = "parquet" + self.cpp_info.components["libparquet"].names["cmake_find_package_multi"] = "parquet" + if self.options.get_safe("substrait"): + self.cpp_info.components["libarrow_substrait"].names["cmake_find_package"] = "arrow_substrait" + self.cpp_info.components["libarrow_substrait"].names["cmake_find_package_multi"] = "arrow_substrait" + if self.options.gandiva: + self.cpp_info.components["libgandiva"].names["cmake_find_package"] = "gandiva" + self.cpp_info.components["libgandiva"].names["cmake_find_package_multi"] = "gandiva" + if self._with_flight_rpc(): + self.cpp_info.components["libarrow_flight"].names["cmake_find_package"] = "flight_rpc" + self.cpp_info.components["libarrow_flight"].names["cmake_find_package_multi"] = "flight_rpc" + if self.options.get_safe("with_flight_sql"): + self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package"] = "flight_sql" + self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package_multi"] = "flight_sql" + if self.options.cli and (self.options.with_cuda or self._with_flight_rpc() or self._parquet()): + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/arrow/all/test_package/conanfile.py b/recipes/arrow/all/test_package/conanfile.py index 1111583fea732..a9fb96656f203 100644 --- a/recipes/arrow/all/test_package/conanfile.py +++ b/recipes/arrow/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From 04d0d621b6a5df9e1fdb584679ea15b1f1c42536 Mon Sep 17 00:00:00 2001 From: Oleksandr Koval <37271580+OleksandrKvl@users.noreply.github.com> Date: Tue, 30 May 2023 05:23:48 +0300 Subject: [PATCH 0412/4087] (#16938) recipe for `sbepp/1.0.1` * recipe for `sbepp/1.0.0` Fixes #16936 * use `src_folder` to `src` in `cmake_layout` call * use `test_package` instead of wrong `test_package_with_sbeppc` for `v1` tests * fix errors detected by conan-center hooks * remove folder `sbepp` from `_module_path` * add `lib/cmake` to `builddirs` to silence hook warning * remove `OUTPUT_NAME` property from `INTERFACE` library * try to fix ICE during GCC build * bump required compiler versions for C++17 support * add `--verbose` to cmake build * pass `--verbose` correctly * forbid CCI Clang 11 build * fix errors * workaround MSVC bug * try `192` as `min_vs` * workaround MSVC bug * fix MSVC error * remove redundant configuration from `package_info` * use `1.0.1` release, remove clang-11 related checks * update version in `config.yml` * remove `compiler` setting from package ID --- recipes/sbepp/all/cmake/sbeppcTargets.cmake | 34 +++++ recipes/sbepp/all/conandata.yml | 4 + recipes/sbepp/all/conanfile.py | 124 ++++++++++++++++++ recipes/sbepp/all/test_package/CMakeLists.txt | 39 ++++++ recipes/sbepp/all/test_package/conanfile.py | 27 ++++ recipes/sbepp/all/test_package/test_sbepp.cpp | 16 +++ .../sbepp/all/test_package/test_sbeppc.cpp | 12 ++ .../sbepp/all/test_package/test_schema.xml | 32 +++++ .../sbepp/all/test_v1_package/CMakeLists.txt | 8 ++ .../sbepp/all/test_v1_package/conanfile.py | 19 +++ recipes/sbepp/config.yml | 3 + 11 files changed, 318 insertions(+) create mode 100644 recipes/sbepp/all/cmake/sbeppcTargets.cmake create mode 100644 recipes/sbepp/all/conandata.yml create mode 100644 recipes/sbepp/all/conanfile.py create mode 100644 recipes/sbepp/all/test_package/CMakeLists.txt create mode 100644 recipes/sbepp/all/test_package/conanfile.py create mode 100644 recipes/sbepp/all/test_package/test_sbepp.cpp create mode 100644 recipes/sbepp/all/test_package/test_sbeppc.cpp create mode 100644 recipes/sbepp/all/test_package/test_schema.xml create mode 100644 recipes/sbepp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sbepp/all/test_v1_package/conanfile.py create mode 100644 recipes/sbepp/config.yml diff --git a/recipes/sbepp/all/cmake/sbeppcTargets.cmake b/recipes/sbepp/all/cmake/sbeppcTargets.cmake new file mode 100644 index 0000000000000..826e03f948da8 --- /dev/null +++ b/recipes/sbepp/all/cmake/sbeppcTargets.cmake @@ -0,0 +1,34 @@ +# mimicking flatbuffers/all/cmake/FlatcTargets.cmake +if(NOT TARGET sbepp::sbeppc) + if(CMAKE_CROSSCOMPILING) + find_program(SBEPP_SBEPPC_EXECUTABLE + NAMES sbeppc + PATHS ENV PATH + NO_DEFAULT_PATH + ) + else() + find_program(SBEPP_SBEPPC_EXECUTABLE + NAMES sbeppc + PATHS "${CMAKE_CURRENT_LIST_DIR}/../../bin/" + NO_DEFAULT_PATH + ) + endif() + # TODO: In conan v2 with CMakeToolchain, can be replaced by: + # find_program(SBEPP_SBEPPC_EXECUTABLE NAMES sbeppc) + # # Nice enough to handle sbeppc not in build_requires for native build + # if(NOT SBEPP_SBEPPC_EXECUTABLE AND NOT CMAKE_CROSSCOMPILING) + # find_program(SBEPP_SBEPPC_EXECUTABLE + # NAMES flatc + # PATHS "${CMAKE_CURRENT_LIST_DIR}/../../bin/" + # NO_DEFAULT_PATH + # ) + # endif() + + if(SBEPP_SBEPPC_EXECUTABLE) + get_filename_component( + SBEPP_SBEPPC_EXECUTABLE "${SBEPP_SBEPPC_EXECUTABLE}" ABSOLUTE) + add_executable(sbepp::sbeppc IMPORTED) + set_property(TARGET sbepp::sbeppc + PROPERTY IMPORTED_LOCATION ${SBEPP_SBEPPC_EXECUTABLE}) + endif() +endif() diff --git a/recipes/sbepp/all/conandata.yml b/recipes/sbepp/all/conandata.yml new file mode 100644 index 0000000000000..dea8b825f69d9 --- /dev/null +++ b/recipes/sbepp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.1": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.0.1.tar.gz" + sha256: "c8ee54df0ae670bd7508a48947da6c6987eeb72481f1ab8cc05b8d4d03aaec8b" diff --git a/recipes/sbepp/all/conanfile.py b/recipes/sbepp/all/conanfile.py new file mode 100644 index 0000000000000..a444e6edb4d52 --- /dev/null +++ b/recipes/sbepp/all/conanfile.py @@ -0,0 +1,124 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.files import export_conandata_patches, 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 PackageConan(ConanFile): + name = "sbepp" + description = "C++ implementation of the FIX Simple Binary Encoding" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/OleksandrKvl/sbepp" + topics = ("trading", "fix", "sbe") + settings = "os", "arch", "compiler", "build_type" + options = { + "with_sbeppc": [True, False] + } + default_options = { + "with_sbeppc": True + } + + @property + def _min_cppstd(self): + if self.options.with_sbeppc: + return 17 + else: + return 11 + + @property + def _compilers_minimum_version(self): + if self.options.with_sbeppc: + return { + "gcc": "9", + "clang": "9", + "apple-clang": "11" + } + else: + return { + "gcc": "4.8.1", + "clang": "3.3", + "apple-clang": "9.4" + } + + def export_sources(self): + copy(self, os.path.join("cmake", "sbeppcTargets.cmake"), + self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + if not self.info.options.with_sbeppc: + self.info.clear() + else: + del self.info.settings.compiler + + def requirements(self): + if self.options.with_sbeppc: + self.requires("fmt/9.1.0") + self.requires("pugixml/1.12.1") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if not self.options.with_sbeppc: + tc.variables["SBEPP_BUILD_SBEPPC"] = False + + tc.generate() + + if self.options.with_sbeppc: + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE.md", 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, "sbeppcTargets.cmake", + src=os.path.join(self.source_folder, os.pardir, "cmake"), + dst=os.path.join(self.package_folder, self._module_path)) + + @property + def _module_path(self): + return os.path.join("lib", "cmake") + + def package_info(self): + # provide sbepp::sbeppc target + build_modules = [ + os.path.join(self._module_path, "sbeppcTargets.cmake") + ] + self.cpp_info.builddirs.append(self._module_path) + self.cpp_info.set_property("cmake_build_modules", build_modules) + + # TODO: to remove in conan v2 + if self.options.with_sbeppc: + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/sbepp/all/test_package/CMakeLists.txt b/recipes/sbepp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d65c50caeceb --- /dev/null +++ b/recipes/sbepp/all/test_package/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(sbepp REQUIRED CONFIG) + +# test `sbepp::sbeppc` executable +if(TARGET sbepp::sbeppc) + set(sbeppc_test_name "test_sbeppc") + set(schema "test_schema") + set(schema_path "${CMAKE_CURRENT_LIST_DIR}/${schema}.xml") + set(output_file "${CMAKE_CURRENT_BINARY_DIR}/${schema}/${schema}.hpp") + + add_custom_command( + OUTPUT ${output_file} + COMMAND $ ${schema_path} + DEPENDS ${schema_path} + ) + + add_custom_target(compile_schema DEPENDS ${output_file}) + + add_executable(${sbeppc_test_name}) + add_dependencies(${sbeppc_test_name} compile_schema) + target_sources(${sbeppc_test_name} PRIVATE test_sbeppc.cpp) + + target_include_directories(${sbeppc_test_name} + SYSTEM PRIVATE + ${CMAKE_CURRENT_BINARY_DIR} + ) + + target_link_libraries(${sbeppc_test_name} PRIVATE sbepp::sbepp) + target_compile_features(${sbeppc_test_name} PRIVATE cxx_std_11) +endif() + +# test `sbepp::sbepp` header-only library +add_executable(${PROJECT_NAME}) +target_sources(${PROJECT_NAME} PRIVATE test_sbepp.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE sbepp::sbepp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/sbepp/all/test_package/conanfile.py b/recipes/sbepp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..1111583fea732 --- /dev/null +++ b/recipes/sbepp/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sbepp/all/test_package/test_sbepp.cpp b/recipes/sbepp/all/test_package/test_sbepp.cpp new file mode 100644 index 0000000000000..8d76c1e4c80fb --- /dev/null +++ b/recipes/sbepp/all/test_package/test_sbepp.cpp @@ -0,0 +1,16 @@ +#include + +#include + +enum class Enum +{ + A, + B +}; + +int main() +{ + auto underlying = sbepp::to_underlying(Enum::A); + + return EXIT_SUCCESS; +} diff --git a/recipes/sbepp/all/test_package/test_sbeppc.cpp b/recipes/sbepp/all/test_package/test_sbeppc.cpp new file mode 100644 index 0000000000000..a2cc1c925f8a5 --- /dev/null +++ b/recipes/sbepp/all/test_package/test_sbeppc.cpp @@ -0,0 +1,12 @@ +#include + +#include +#include + +int main(void) +{ + std::array buf{}; + auto msg = sbepp::make_view( + buf.data(), buf.size()); + return EXIT_SUCCESS; +} diff --git a/recipes/sbepp/all/test_package/test_schema.xml b/recipes/sbepp/all/test_package/test_schema.xml new file mode 100644 index 0000000000000..e3d30c765baa7 --- /dev/null +++ b/recipes/sbepp/all/test_package/test_schema.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/recipes/sbepp/all/test_v1_package/CMakeLists.txt b/recipes/sbepp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sbepp/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/sbepp/all/test_v1_package/conanfile.py b/recipes/sbepp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/sbepp/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/sbepp/config.yml b/recipes/sbepp/config.yml new file mode 100644 index 0000000000000..715e55357a17b --- /dev/null +++ b/recipes/sbepp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.1": + folder: all From 5ef7a891285e0886398a878516129986cad67327 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 17:42:36 +0900 Subject: [PATCH 0413/4087] (#17746) quill: add version 2.9.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/all/conanfile.py | 2 +- recipes/quill/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 6251899f54ebd..c0383be1acb6e 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.1": + url: "https://github.com/odygrd/quill/archive/v2.9.1.tar.gz" + sha256: "921e053118136f63cebb2ca1d7e42456fd0bf9626facb755884709092753c054" "2.9.0": url: "https://github.com/odygrd/quill/archive/v2.9.0.tar.gz" sha256: "dec64c0fbb4bfbafe28fdeeeefac10206285bf2be4a42ec5dfb7987ca4ccb372" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index b91c210a46df0..51cfa188d7465 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -141,7 +141,7 @@ def _patch_sources(self): rmdir(self, os.path.join(self.source_folder, "quill", "quill", "include", "quill", "bundled", "fmt")) rmdir(self, os.path.join(self.source_folder, "quill", "quill", "src", "bundled", "fmt")) - if Version(self.version) >= "2.0.0": + if "2.0.0" <= Version(self.version) < "2.9.1": replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), """set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/quill/cmake" CACHE STRING "Modules for CMake" FORCE)""", """set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}/quill/cmake")""" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 5cd8b62893f38..55f002f64b6ee 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.1": + folder: "all" "2.9.0": folder: "all" "2.8.0": From 6560f9480758cc5710537126b065a306decdd3c8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 30 May 2023 18:41:57 +0900 Subject: [PATCH 0414/4087] (#17734) lunasvg: add version 2.3.8, add package_type --- recipes/lunasvg/all/conandata.yml | 8 +++- recipes/lunasvg/all/conanfile.py | 39 +++++++++---------- .../lunasvg/all/test_package/CMakeLists.txt | 8 +++- recipes/lunasvg/config.yml | 2 + 4 files changed, 33 insertions(+), 24 deletions(-) diff --git a/recipes/lunasvg/all/conandata.yml b/recipes/lunasvg/all/conandata.yml index e504366930815..ae1c5e27df269 100644 --- a/recipes/lunasvg/all/conandata.yml +++ b/recipes/lunasvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.8": + url: "https://github.com/sammycage/lunasvg/archive/v2.3.8.tar.gz" + sha256: "54d697e271a5aca36f9999d546b1b346e98a8183140027330f69a3eb0c184194" "2.3.5": url: "https://github.com/sammycage/lunasvg/archive/v2.3.5.tar.gz" sha256: "350ff56aa1acdedefe2ad8a4241a9fb8f9b232868adc7bd36dfb3dbdd57e2e93" @@ -11,8 +14,11 @@ sources: "2.3.1": url: "https://github.com/sammycage/lunasvg/archive/refs/tags/v2.3.1.tar.gz" sha256: "6492bf0f51982f5382f83f1a42f247bb1bbcbaef4a15963bbd53073cd4944a25" - patches: + "2.3.8": + - patch_file: "patches/2.3.5-0001-fix-cmake.patch" + patch_description: "use external plutovg and fix installation path for conan" + patch_type: "conan" "2.3.5": - patch_file: "patches/2.3.5-0001-fix-cmake.patch" patch_description: "use external plutovg and fix installation path for conan" diff --git a/recipes/lunasvg/all/conanfile.py b/recipes/lunasvg/all/conanfile.py index faebad4a7c975..f1db22cef3305 100644 --- a/recipes/lunasvg/all/conanfile.py +++ b/recipes/lunasvg/all/conanfile.py @@ -8,7 +8,7 @@ import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class LunaSVGConan(ConanFile): name = "lunasvg" @@ -17,6 +17,7 @@ class LunaSVGConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sammycage/lunasvg" topics = ("svg", "renderer", ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,7 +29,7 @@ class LunaSVGConan(ConanFile): } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): if Version(self.version) <= "2.3.2": return 14 else: @@ -36,17 +37,21 @@ def _minimum_cpp_standard(self): @property def _compilers_minimum_version(self): - if Version(self.version) <= "2.3.2": + if self._min_cppstd == 14: return { "gcc": "5", "clang": "3.5", - "apple-clang": "10" + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", } else: return { "gcc": "7.1", "clang": "7", - "apple-clang": "12.0" + "apple-clang": "12.0", + "Visual Studio": "16", + "msvc": "192", } def export_sources(self): @@ -58,10 +63,7 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") @@ -74,20 +76,15 @@ def requirements(self): def validate(self): if self.info.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) - if Version(self.version) <= "2.3.2": - check_min_vs(self, 191) - else: - check_min_vs(self, 192) - 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._minimum_cpp_standard}, which your compiler does not support." - ) + check_min_cppstd(self, self._min_cppstd) + 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." + ) 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/lunasvg/all/test_package/CMakeLists.txt b/recipes/lunasvg/all/test_package/CMakeLists.txt index 1c8a5ea6697c7..583dafb520bda 100644 --- a/recipes/lunasvg/all/test_package/CMakeLists.txt +++ b/recipes/lunasvg/all/test_package/CMakeLists.txt @@ -1,8 +1,12 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(lunasvg REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE lunasvg::lunasvg) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +if (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.2") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/lunasvg/config.yml b/recipes/lunasvg/config.yml index d8c968c29bee6..ff80eb38ff5be 100644 --- a/recipes/lunasvg/config.yml +++ b/recipes/lunasvg/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.8": + folder: all "2.3.5": folder: all "2.3.4": From 414baa47626f095d5faddec26d5d37d5206b6012 Mon Sep 17 00:00:00 2001 From: Gareth Andrew Lloyd Date: Tue, 30 May 2023 11:42:26 +0100 Subject: [PATCH 0415/4087] (#17666) Update cppitertools for conan v2 * Update cppitertools for conan v2 * Update recipes/cppitertools/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/cppitertools/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/cppitertools/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/cppitertools/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/cppitertools/all/conanfile.py | 34 ++++++++++-------- .../all/test_package/CMakeLists.txt | 3 -- .../all/test_package/conanfile.py | 36 +++++++++++++------ 3 files changed, 44 insertions(+), 29 deletions(-) diff --git a/recipes/cppitertools/all/conanfile.py b/recipes/cppitertools/all/conanfile.py index 585bcc850ce23..15118a8925b22 100644 --- a/recipes/cppitertools/all/conanfile.py +++ b/recipes/cppitertools/all/conanfile.py @@ -1,8 +1,11 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy, rename +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.32.0" +required_conan_version = ">=1.50.0" class CppItertoolsConan(ConanFile): @@ -23,22 +26,23 @@ def _source_subfolder(self): return "source_subfolder" def source(self): - tools.get(**self.conan_data["sources"][self.version]) + get(self, **self.conan_data["sources"][self.version]) extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + rename(self, extracted_dir, self._source_subfolder) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) minimal_version = { "Visual Studio": "15", + "msvc": "191", "gcc": "7", "clang": "5.0", "apple-clang": "9.1" } compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) if compiler not in minimal_version: self.output.info("{} requires a compiler that supports at least C++17".format(self.name)) @@ -47,19 +51,19 @@ def validate(self): # Exclude compilers not supported by cppitertools if compiler_version < minimal_version[compiler]: raise ConanInvalidConfiguration("{} requires a compiler that supports at least C++17. {} {} is not".format( - self.name, compiler, tools.Version(self.settings.compiler.version.value))) + self.name, compiler, Version(self.settings.compiler.version.value))) def requirements(self): if self.options.zip_longest: self.requires('boost/1.75.0') def package(self): - self.copy("*.hpp", dst=os.path.join("include", "cppitertools"), src=self._source_subfolder, excludes=('examples/**', 'test/**')) - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) - + copy(self, "*.hpp", src=os.path.join(self.source_folder, self._source_subfolder), dst=os.path.join(self.package_folder,"include", "cppitertools"), excludes=('examples/**', 'test/**')) + copy(self, "LICENSE.md", src=os.path.join(self.source_folder, self._source_subfolder), dst=os.path.join(self.package_folder,"licenses")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "cppitertools" - self.cpp_info.names["cmake_find_package_multi"] = "cppitertools" - + self.cpp_info.set_property("cmake_file_name", "cppitertools") + self.cpp_info.set_property("cmake_target_name", "cppitertools::cppitertools") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] def package_id(self): - self.info.header_only() + self.info.clear() diff --git a/recipes/cppitertools/all/test_package/CMakeLists.txt b/recipes/cppitertools/all/test_package/CMakeLists.txt index 76d1d8411383a..39161129005c3 100644 --- a/recipes/cppitertools/all/test_package/CMakeLists.txt +++ b/recipes/cppitertools/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(cppitertools REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/cppitertools/all/test_package/conanfile.py b/recipes/cppitertools/all/test_package/conanfile.py index 92e1d0d57881c..758d48b5853ba 100644 --- a/recipes/cppitertools/all/test_package/conanfile.py +++ b/recipes/cppitertools/all/test_package/conanfile.py @@ -1,23 +1,37 @@ import os -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain, CMakeDeps +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ZIP_LONGEST"] = self.dependencies["cppitertools"].options.zip_longest + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) - if self.options["cppitertools"].zip_longest: - cmake.definitions["ZIP_LONGEST"] = True 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) + def layout(self): + cmake_layout(self) - if self.options["cppitertools"].zip_longest: - bin_path = os.path.join("bin", "test_zip_longest") - self.run(bin_path, run_environment=True) + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") + # sense if it was built because we don't have access to: + # self.dependencies["cppitertools"].options.zip_longest + cmd = os.path.join(self.cpp.build.bindir, "test_zip_longest") + if os.path.exists(cmd): + self.run(cmd, env="conanrun") From a8aeffe91182596947a4019f52488c67a1ed5444 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Tue, 30 May 2023 13:22:21 +0200 Subject: [PATCH 0416/4087] (#17629) 7zip: Add version 22.01 and Conan 2 compatibility * 7zip: Add version 22.01 and Conan 2 compatibility * 7zip: disable version 19 * 7zip: re-add _settings_build property * 7zip: small fixes * 7zip: Apply suggestions from code review Co-authored-by: Jordan Williams * Revert "7zip: disable version 19" This reverts commit 6ad545e29747ced45fd57d4be03a936527602224. * 7zip: fix download arguments * 7zip: add mirror URLs * zip: call 7zip with absolute path * fixup! zip: call 7zip with absolute path * fixup! zip: call 7zip with absolute path --------- Co-authored-by: Jordan Williams --- recipes/7zip/19.00/conandata.yml | 9 +- recipes/7zip/19.00/conanfile.py | 88 +++++++++++-------- recipes/7zip/19.00/test_package/conanfile.py | 10 ++- .../7zip/19.00/test_v1_package/conanfile.py | 10 +++ recipes/7zip/config.yml | 2 + 5 files changed, 79 insertions(+), 40 deletions(-) create mode 100644 recipes/7zip/19.00/test_v1_package/conanfile.py diff --git a/recipes/7zip/19.00/conandata.yml b/recipes/7zip/19.00/conandata.yml index 0d36819b4de39..a080fa528823a 100644 --- a/recipes/7zip/19.00/conandata.yml +++ b/recipes/7zip/19.00/conandata.yml @@ -1,4 +1,11 @@ sources: + "22.01": + url: + - https://www.7-zip.org/a/7z2201-src.tar.xz + - https://sourceforge.net/projects/sevenzip/files/7-Zip/22.01/7z2201-src.tar.xz + sha256: "393098730c70042392af808917e765945dc2437dee7aae3cfcc4966eb920fbc5" "19.00": - url: https://www.7-zip.org/a/7z1900-src.7z + url: + - https://www.7-zip.org/a/7z1900-src.7z + - https://sourceforge.net/projects/sevenzip/files/7-Zip/19.00/7z1900-src.7z sha256: "9ba70a5e8485cf9061b30a2a84fe741de5aeb8dd271aab8889da0e9b3bf1868e" diff --git a/recipes/7zip/19.00/conanfile.py b/recipes/7zip/19.00/conanfile.py index d18ee2242a6e7..746b1dee843e5 100644 --- a/recipes/7zip/19.00/conanfile.py +++ b/recipes/7zip/19.00/conanfile.py @@ -1,20 +1,25 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import download, chdir, replace_in_file -from conans import tools, AutoToolsBuildEnvironment +from conan.tools.files import copy, chdir, download, get, 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, NMakeToolchain +from conan.tools.scm import Version + import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.55.0" class SevenZipConan(ConanFile): name = "7zip" url = "https://github.com/conan-io/conan-center-index" description = "7-Zip is a file archiver with a high compression ratio" - license = ("LGPL-2.1", "BSD-3-Clause", "Unrar") + license = ("LGPL-2.1-or-later", "BSD-3-Clause", "Unrar") homepage = "https://www.7-zip.org" - topics = ("7zip", "zip", "compression", "decompression") - settings = "os", "arch", "compiler" + topics = ("archive", "compression", "decompression", "zip") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): @@ -26,26 +31,42 @@ def validate(self): if self.settings.arch not in ("x86", "x86_64"): raise ConanInvalidConfiguration("Unsupported architecture") + def layout(self): + basic_layout(self, src_folder="src") + def build_requirements(self): - self.build_requires("lzma_sdk/9.20") + if Version(self.version) < "22": + self.build_requires("lzma_sdk/9.20") - if self.settings.compiler != "Visual Studio" and self._settings_build.os == "Windows" and "make" not in os.environ.get("CONAN_MAKE_PROGRAM", ""): + if not is_msvc(self) and self._settings_build.os == "Windows" and "make" not in os.environ.get("CONAN_MAKE_PROGRAM", ""): self.build_requires("make/4.3") def package_id(self): + del self.info.settings.build_type del self.info.settings.compiler - def _uncompress_7z(self, filename): - self.run(f"7zr x {filename}") - def source(self): - from six.moves.urllib.parse import urlparse - url = self.conan_data["sources"][self.version]["url"] - filename = os.path.basename(urlparse(url).path) - sha256 = self.conan_data["sources"][self.version]["sha256"] - download(self, url, filename, sha256) - self._uncompress_7z(filename) - os.unlink(filename) + if Version(self.version) < "22": + item = self.conan_data["sources"][self.version] + filename = "7z-source.7z" + download(self, **item, filename=filename) + sevenzip = os.path.join(self.dependencies.build["lzma_sdk"].package_folder, "bin", "7zr.exe") + self.run(f"{sevenzip} x {filename}") + os.unlink(filename) + else: + get(self, **self.conan_data["sources"][self.version]) + + def generate(self): + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + if self.settings.os == "Windows" and self.settings.compiler == "gcc": + tc.environment().define("IS_MINGW", "1") + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() @property def _msvc_platform(self): @@ -55,47 +76,40 @@ def _msvc_platform(self): }[str(self.settings.arch)] def _build_msvc(self): - with tools.vcvars(self.settings): - with chdir(self, os.path.join("CPP", "7zip")): - self.run(f"nmake /f makefile PLATFORM={self._msvc_platform}") + self.run(f"nmake /f makefile PLATFORM={self._msvc_platform}", cwd=os.path.join(self.source_folder, "CPP", "7zip")) def _build_autotools(self): # TODO: Enable non-Windows methods in configure - autotools = AutoToolsBuildEnvironment(self) - extra_env = {} - if self.settings.os == "Windows" and self.settings.compiler == "gcc": - extra_env["IS_MINGW"] = "1" - with tools.environment_append(extra_env): - with chdir(self, os.path.join("CPP", "7zip", "Bundles", "LzmaCon")): - autotools.make(args=["-f", "makefile.gcc"], target="all") + autotools = Autotools(self) + with chdir(self, os.path.join(self.source_folder, "CPP", "7zip", "Bundles", "LzmaCon")): + autotools.make(args=["-f", "makefile.gcc"], target="all") def _patch_sources(self): - if self.settings.compiler == "Visual Studio": - fn = os.path.join("CPP", "Build.mak") + if is_msvc(self): + fn = os.path.join(self.source_folder, "CPP", "Build.mak") os.chmod(fn, 0o644) replace_in_file(self, fn, "-MT", f"-{self.settings.compiler.runtime}") replace_in_file(self, fn, "-MD", f"-{self.settings.compiler.runtime}") def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self._build_msvc() else: self._build_autotools() def package(self): - self.copy("DOC/License.txt", src="", dst="licenses") - self.copy("DOC/unRarLicense.txt", src="", dst="licenses") + copy(self, "License.txt", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "DOC")) + copy(self, "unRarLicense.txt", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "DOC")) if self.settings.os == "Windows": - self.copy("*.exe", src="CPP/7zip", dst="bin", keep_path=False) - self.copy("*.dll", src="CPP/7zip", dst="bin", keep_path=False) - + copy(self, "*.exe", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self.source_folder, "CPP", "7zip"), keep_path=False) + copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self.source_folder, "CPP", "7zip"), keep_path=False) # TODO: Package the libraries: binaries and headers (add the rest of settings) def package_info(self): bin_path = os.path.join(self.package_folder, "bin") self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.path.append(bin_path) - + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/7zip/19.00/test_package/conanfile.py b/recipes/7zip/19.00/test_package/conanfile.py index f6a6ccb388a8e..19851f5658605 100644 --- a/recipes/7zip/19.00/test_package/conanfile.py +++ b/recipes/7zip/19.00/test_package/conanfile.py @@ -1,9 +1,15 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): + if can_run(self): self.run("7z.exe") diff --git a/recipes/7zip/19.00/test_v1_package/conanfile.py b/recipes/7zip/19.00/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e5371836902a7 --- /dev/null +++ b/recipes/7zip/19.00/test_v1_package/conanfile.py @@ -0,0 +1,10 @@ +from conans import ConanFile +from conan.tools.build import can_run + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if can_run(self): + self.run("7z.exe", run_environment=True) diff --git a/recipes/7zip/config.yml b/recipes/7zip/config.yml index 46489517ceb78..906f1e74d1d7b 100644 --- a/recipes/7zip/config.yml +++ b/recipes/7zip/config.yml @@ -1,3 +1,5 @@ versions: + "22.01": + folder: "19.00" "19.00": folder: "19.00" From f104e5af297ab8e6ed68618a3179bd79b62c65cb Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 30 May 2023 16:03:31 +0400 Subject: [PATCH 0417/4087] (#17417) opencl-headers: removed copy-paste errors in package_info section, added new versions --- recipes/opencl-headers/all/conandata.yml | 6 ++++ recipes/opencl-headers/all/conanfile.py | 44 +++++++++++++++++------- recipes/opencl-headers/config.yml | 4 +++ 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/recipes/opencl-headers/all/conandata.yml b/recipes/opencl-headers/all/conandata.yml index bc33b51742e45..d57be7c7026e9 100644 --- a/recipes/opencl-headers/all/conandata.yml +++ b/recipes/opencl-headers/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2023.04.17": + url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2023.04.17.tar.gz" + sha256: "0ce992f4167f958f68a37918dec6325be18f848dee29a4521c633aae3304915d" + "2023.02.06": + url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2023.02.06.tar.gz" + sha256: "464d1b04a5e185739065b2d86e4cebf02c154c416d63e6067a5060d7c053c79a" "2022.09.30": url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2022.09.30.tar.gz" sha256: "0ae857ecb28af95a420c800b21ed2d0f437503e104f841ab8db249df5f4fbe5c" diff --git a/recipes/opencl-headers/all/conanfile.py b/recipes/opencl-headers/all/conanfile.py index dc0b6c90581c5..f2f779e3923da 100644 --- a/recipes/opencl-headers/all/conanfile.py +++ b/recipes/opencl-headers/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile -from conan.tools.files import copy, get +from conan.tools.files import copy, get, save from conan.tools.layout import basic_layout import os +import textwrap required_conan_version = ">=1.50.0" @@ -17,6 +18,10 @@ class OpenclHeadersConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _target_name(self): + return "OpenCL::Headers" + def layout(self): basic_layout(self, src_folder="src") @@ -33,22 +38,37 @@ 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, "CL"), dst=os.path.join(self.package_folder, "include", "CL")) + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + save(self, module_file, content) + + def generate(self): + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {self._target_name: f"{self.name}::{self.name}"} + ) + + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") + def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenCLHeaders") - self.cpp_info.set_property("cmake_target_name", "OpenCL::Headers") - self.cpp_info.set_property("pkg_config_name", "OpenCL") + self.cpp_info.set_property("cmake_target_name", self._target_name) + self.cpp_info.set_property("pkg_config_name", "OpenCL-Headers") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "OpenCLHeaders" self.cpp_info.filenames["cmake_find_package_multi"] = "OpenCLHeaders" - self.cpp_info.names["cmake_find_package"] = "OpenCL" - self.cpp_info.names["cmake_find_package_multi"] = "OpenCL" - self.cpp_info.names["pkg_config"] = "OpenCL" - self.cpp_info.components["_opencl-headers"].names["cmake_find_package"] = "Headers" - self.cpp_info.components["_opencl-headers"].names["cmake_find_package_multi"] = "Headers" - self.cpp_info.components["_opencl-headers"].set_property("cmake_target_name", "OpenCL::Headers") - self.cpp_info.components["_opencl-headers"].set_property("pkg_config_name", "OpenCL") - self.cpp_info.components["_opencl-headers"].bindirs = [] - self.cpp_info.components["_opencl-headers"].libdirs = [] + 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/opencl-headers/config.yml b/recipes/opencl-headers/config.yml index ce621bb7cdbe5..2bf575fcc9451 100644 --- a/recipes/opencl-headers/config.yml +++ b/recipes/opencl-headers/config.yml @@ -1,4 +1,8 @@ versions: + "2023.04.17": + folder: all + "2023.02.06": + folder: all "2022.09.30": folder: all "2022.05.18": From 5417f5c4d25400f11db678f2a4530db65a63e104 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 30 May 2023 15:01:44 +0200 Subject: [PATCH 0418/4087] (#17750) [bot] Update authorized users list (2023-05-30) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 864f7afbbe086..46326caa44c6f 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1165,3 +1165,5 @@ authorized_users: - ftena - tkhyn - Hagartinger +- perseoGI +- krabbstek From 19d941aa0780a36cabe7d6c992973c25a0618b44 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 30 May 2023 17:24:51 +0400 Subject: [PATCH 0419/4087] (#17311) onetbb: made tbbmalloc and tbbproxy enabled by default --- recipes/onetbb/all/conandata.yml | 4 ++-- recipes/onetbb/all/conanfile.py | 29 +++++++++++++++++------------ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/recipes/onetbb/all/conandata.yml b/recipes/onetbb/all/conandata.yml index 8839ace156f3f..9ccf39c2f9dca 100644 --- a/recipes/onetbb/all/conandata.yml +++ b/recipes/onetbb/all/conandata.yml @@ -17,12 +17,12 @@ sources: patches: "2021.8.0": - patch_description: "fix building for android with NDK >= 25" - patch_type: "backport" + patch_type: "portability" patch_source: "https://github.com/oneapi-src/oneTBB/pull/953.patch" patch_file: "patches/android-ndk25.patch" "2021.7.0": - patch_description: "fix building for android with NDK >= 25" - patch_type: "backport" + patch_type: "portability" patch_source: "https://github.com/oneapi-src/oneTBB/pull/953.patch" patch_file: "patches/android-ndk25.patch" "2021.6.0": diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 6cd71594e81e6..57b1bd6404c1e 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -31,8 +31,8 @@ class OneTBBConan(ConanFile): default_options = { "shared": True, "fPIC": True, - "tbbmalloc": False, - "tbbproxy": False, + "tbbmalloc": True, + "tbbproxy": True, "interprocedural_optimization": True, } @@ -42,7 +42,7 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not (Version(self.version) >= "2021.6.0" and self.options.shared and self.settings.os != "Android"): + if Version(self.version) < "2021.6.0" or self.settings.os == "Android": del self.options.interprocedural_optimization if Version(self.version) < "2021.2.0": del self.options.shared @@ -51,16 +51,21 @@ def config_options(self): def configure(self): if self.options.get_safe("shared", True): self.options.rm_safe("fPIC") + else: + del self.options.tbbproxy + if not self.options.tbbmalloc: + self.options.rm_safe("tbbproxy") def layout(self): cmake_layout(self, src_folder="src") def package_id(self): - if Version(self.version) < "2021.6.0": - del self.info.options.tbbmalloc - del self.info.options.tbbproxy + if Version(self.version) < "2021.5.0": + self.info.options.tbbmalloc = True + if Version(self.version) < "2021.6.0" and self.info.options.get_safe("tbbproxy"): + self.info.options.tbbproxy = True - def validate(self): + def validate_build(self): if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "11.0": raise ConanInvalidConfiguration(f"{self.ref} couldn't be built by apple-clang < 11.0") if not self.options.get_safe("shared", True): @@ -71,8 +76,6 @@ def validate(self): "Please consider fixing at least the aforementioned issue in upstream." ) self.output.warning("oneTBB strongly discourages usage of static linkage") - if self.options.tbbproxy and not (self.options.tbbmalloc and self.options.get_safe("shared", True)): - raise ConanInvalidConfiguration("tbbproxy needs tbbmalloc and shared options") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -81,10 +84,12 @@ def generate(self): toolchain = CMakeToolchain(self) toolchain.variables["TBB_TEST"] = False toolchain.variables["TBB_STRICT"] = False - if Version(self.version) >= "2021.6.0": + if Version(self.version) >= "2021.5.0": toolchain.variables["TBBMALLOC_BUILD"] = self.options.tbbmalloc + if self.options.get_safe("interprocedural_optimization"): + toolchain.variables["TBB_ENABLE_IPO"] = self.options.interprocedural_optimization + if Version(self.version) >= "2021.6.0" and self.options.get_safe("tbbproxy"): toolchain.variables["TBBMALLOC_PROXY_BUILD"] = self.options.tbbproxy - toolchain.variables["TBB_ENABLE_IPO"] = self.options.get_safe("interprocedural_optimization", False) toolchain.generate() def build(self): @@ -140,7 +145,7 @@ def lib_name(name): tbbmalloc.system_libs = ["dl", "pthread"] # tbbmalloc_proxy - if self.options.tbbproxy: + if self.options.get_safe("tbbproxy", False): tbbproxy = self.cpp_info.components["tbbmalloc_proxy"] tbbproxy.set_property("cmake_target_name", "TBB::tbbmalloc_proxy") From 1607036d5776dd5ed0c1d5573993edb2e950abce Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 May 2023 04:02:49 +0900 Subject: [PATCH 0420/4087] (#17747) roaring: add version 1.1.5 * roaring: add version 1.1.4 * update 1.1.5 --- 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 14b0607a44ca3..8bee1b8164c8a 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index d61f68fe0a402..1f2bdd44d6371 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.5": + folder: all "1.1.2": folder: all "1.1.0": From c3644d1040a47d6a4deb06048dfa9f89ead64716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 31 May 2023 11:42:38 +0200 Subject: [PATCH 0421/4087] (#17717) imgui: Fix docking branch version detection, add package_type, fix & simplify test_package, more * Simplify test_package * Add package_type * Fix docking version detection, fix test_package for docking branch, raise invalid for gcc 5 > 1.89.5 if no cppstd or if it's less than 11 * Fix improts * Use C++11 for all targets - Add C++11 compiler flag for all targets, including binaries - Set CMake definition for test on generate to respect Conan 1.x Signed-off-by: Uilian Ries * Use conf_info in package instead of relying two times in the same regex * Remove test_v1_package * Instantiate one object --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/imgui/all/CMakeLists.txt | 1 + recipes/imgui/all/conanfile.py | 11 ++++- recipes/imgui/all/test_package/CMakeLists.txt | 4 ++ recipes/imgui/all/test_package/conanfile.py | 11 ++++- .../imgui/all/test_package/test_package.cpp | 40 ++----------------- .../imgui/all/test_v1_package/CMakeLists.txt | 8 ---- .../imgui/all/test_v1_package/conanfile.py | 17 -------- 7 files changed, 27 insertions(+), 65 deletions(-) delete mode 100644 recipes/imgui/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/imgui/all/test_v1_package/conanfile.py diff --git a/recipes/imgui/all/CMakeLists.txt b/recipes/imgui/all/CMakeLists.txt index 8c9bf128442ff..97b98049ec042 100644 --- a/recipes/imgui/all/CMakeLists.txt +++ b/recipes/imgui/all/CMakeLists.txt @@ -15,6 +15,7 @@ endif() set(BINARY_TO_COMPRESSED_BIN binary_to_compressed_c) add_executable(${BINARY_TO_COMPRESSED_BIN} ${EXTRA_FONTS_DIR}/binary_to_compressed_c.cpp) +target_compile_features(${BINARY_TO_COMPRESSED_BIN} PRIVATE cxx_std_11) add_library(${PROJECT_NAME} ${SOURCE_FILES}) set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/recipes/imgui/all/conanfile.py b/recipes/imgui/all/conanfile.py index c2583929a0dfa..b71a56e771c7a 100644 --- a/recipes/imgui/all/conanfile.py +++ b/recipes/imgui/all/conanfile.py @@ -1,12 +1,13 @@ from conan import ConanFile from conan.tools.files import get, copy, replace_in_file from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os import re required_conan_version = ">=1.53.0" + class IMGUIConan(ConanFile): name = "imgui" description = "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies" @@ -14,6 +15,7 @@ class IMGUIConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ocornut/imgui" topics = ("gui", "graphical", "bloat-free") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -61,9 +63,12 @@ def build(self): cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() + def _match_docking_branch(self): + return re.match(r'cci\.\d{8}\+(?P\d+\.\d+(?:\.\d+))\.docking', str(self.version)) + def package(self): copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - m = re.match(r'cci\.\d{8}\+(?P\d+\.\d+)\.docking', str(self.version)) + m = self._match_docking_branch() version = Version(m.group('version')) if m else Version(self.version) backends_folder = os.path.join( self.source_folder, @@ -76,6 +81,8 @@ def package(self): cmake.install() def package_info(self): + self.conf_info.define("user.imgui:with_docking", bool(self._match_docking_branch())) + self.cpp_info.libs = ["imgui"] if self.settings.os == "Linux": self.cpp_info.system_libs.append("m") diff --git a/recipes/imgui/all/test_package/CMakeLists.txt b/recipes/imgui/all/test_package/CMakeLists.txt index 3e9ea943d420e..e5abc72962c86 100644 --- a/recipes/imgui/all/test_package/CMakeLists.txt +++ b/recipes/imgui/all/test_package/CMakeLists.txt @@ -5,8 +5,12 @@ find_package(imgui REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE imgui::imgui) + +option(DOCKING "Test docking" OFF) + if (DOCKING) target_compile_definitions(${PROJECT_NAME} PRIVATE -DDOCKING) endif() + target_compile_definitions(${PROJECT_NAME} PUBLIC "IMGUI_USER_CONFIG=\"${CMAKE_CURRENT_SOURCE_DIR}/my_imgui_config.h\"") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/imgui/all/test_package/conanfile.py b/recipes/imgui/all/test_package/conanfile.py index a9fb96656f203..b97c0a2e4d75c 100644 --- a/recipes/imgui/all/test_package/conanfile.py +++ b/recipes/imgui/all/test_package/conanfile.py @@ -1,12 +1,13 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os +import re 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,12 @@ def requirements(self): def layout(self): cmake_layout(self) + def generate(self): + with_docking = self.dependencies[self.tested_reference_str].conf_info.get("user.imgui:with_docking", False) + tc = CMakeToolchain(self) + tc.variables["DOCKING"] = with_docking + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/imgui/all/test_package/test_package.cpp b/recipes/imgui/all/test_package/test_package.cpp index 6a0a221db872e..37c38430fa7a8 100644 --- a/recipes/imgui/all/test_package/test_package.cpp +++ b/recipes/imgui/all/test_package/test_package.cpp @@ -7,43 +7,11 @@ int main(int, char**) { - ImGuiContext* context =ImGui::CreateContext(); - ImGuiIO& io = ImGui::GetIO(); - - ImGuiTextBuffer textBuffer; - textBuffer.append("Hello, ImGui"); - - // Build atlas - unsigned char* tex_pixels = NULL; - int tex_w, tex_h; - io.Fonts->GetTexDataAsRGBA32(&tex_pixels, &tex_w, &tex_h); - - for (int n = 0; n < 50; n++) - { - printf("NewFrame() %d\n", n); - io.DisplaySize = ImVec2(1920, 1080); - io.DeltaTime = 1.0f / 60.0f; - ImGui::NewFrame(); - + printf("IMGUI VERSION: %s\n", IMGUI_VERSION); + ImGui::CreateContext(); #ifdef DOCKING - auto dockspaceID = ImGui::GetID("MyDockSpace"); - static ImGuiDockNodeFlags dockspace_flags = ImGuiDockNodeFlags_None; - ImGui::DockSpace(dockspaceID, ImVec2(0.0f, 0.0f), dockspace_flags); - printf(" with docking\n"); + printf(" with docking\n"); #endif - - static float f = 0.0f; - ImGui::Text("Hello, world!"); - ImGui::Text("%s", textBuffer.begin()); - ImGui::SliderFloat("float", &f, 0.0f, 1.0f); - ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io.Framerate, io.Framerate); - ImGui::MyFunction("test_package"); // ensure we are using our provided IMGUI_USER_CONFIG - ImGui::ShowDemoWindow(NULL); - - ImGui::Render(); - } - - printf("DestroyContext()\n"); - ImGui::DestroyContext(context); + ImGui::DestroyContext(); return 0; } diff --git a/recipes/imgui/all/test_v1_package/CMakeLists.txt b/recipes/imgui/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/imgui/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/imgui/all/test_v1_package/conanfile.py b/recipes/imgui/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/imgui/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) From 25902ea052f13b6543114e0036351246065e8cfc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 31 May 2023 06:01:50 -0500 Subject: [PATCH 0422/4087] (#17757) libmount: Correctly identify the library's license as LGPL-2.1-or-later Fixes #17756. --- recipes/libmount/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmount/all/conanfile.py b/recipes/libmount/all/conanfile.py index 8152bd466af26..04bcc9f5b860f 100644 --- a/recipes/libmount/all/conanfile.py +++ b/recipes/libmount/all/conanfile.py @@ -17,7 +17,7 @@ class LibmountConan(ConanFile): topics = ("mount", "linux", "util-linux") url = "https://github.com/conan-io/conan-center-index" homepage = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git" - license = "GPL-2.0-or-later" + license = "LGPL-2.1-or-later" package_type = "library" settings = "os", "arch", "compiler", "build_type" From c6409020fcaaa9fe24de13be3dd5b6ecbd1c18ef Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 May 2023 20:41:56 +0900 Subject: [PATCH 0423/4087] (#17766) scnlib: update fast_float --- recipes/scnlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index 67178e9a18b6c..b8bd34702ff8e 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.0": - self.requires("fast_float/4.0.0") + self.requires("fast_float/5.0.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From e9820ea2a13b65c4046182c225144299771de1dc Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Wed, 31 May 2023 14:22:43 +0200 Subject: [PATCH 0424/4087] (#17597) turtle: conan v2 support * turtle: conan v2 support * turtle: add package_type * turtle: address review comments * turtle: make linter happy --- recipes/turtle/all/conanfile.py | 25 +++++++++++-------- .../turtle/all/test_package/CMakeLists.txt | 5 +--- recipes/turtle/all/test_package/conanfile.py | 21 ++++++++++------ 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/recipes/turtle/all/conanfile.py b/recipes/turtle/all/conanfile.py index 9e4b9153b69bc..a032a9c58db93 100644 --- a/recipes/turtle/all/conanfile.py +++ b/recipes/turtle/all/conanfile.py @@ -1,30 +1,33 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout import os +required_conan_version = ">=1.53.0" class TurtleConan(ConanFile): name = "turtle" description = "Turtle is a C++ mock object library based on Boost with a focus on usability, simplicity and flexibility." - topics = ("conan", "turtule", "mock", "test", "boost") + topics = ("mock", "test", "boost") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mat007/turtle" license = "BSL-1.0" no_copy_source = True + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.73.0") + self.requires("boost/1.81.0") def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE_1_0.txt", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) diff --git a/recipes/turtle/all/test_package/CMakeLists.txt b/recipes/turtle/all/test_package/CMakeLists.txt index 232bbd2abd280..284560de8122d 100644 --- a/recipes/turtle/all/test_package/CMakeLists.txt +++ b/recipes/turtle/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(turtle REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/turtle/all/test_package/conanfile.py b/recipes/turtle/all/test_package/conanfile.py index 7e2dfe859bb27..f13196f305151 100644 --- a/recipes/turtle/all/test_package/conanfile.py +++ b/recipes/turtle/all/test_package/conanfile.py @@ -1,10 +1,17 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type", + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +19,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") From 64fcd07733ea75e5bdadf667c2e8ffe77b493b7c Mon Sep 17 00:00:00 2001 From: hiiizxf <385122613@qq.com> Date: Wed, 31 May 2023 21:02:28 +0800 Subject: [PATCH 0425/4087] (#17663) xlsxio: add new recipe * add xlsxio recipe * solve pylint warning * change default shared options to False * rmdir cmake in package folder * separate shared/static lib by option * Patch cmake to solve compilation problems in windows * remove options do not make sense --- recipes/xlsxio/all/conandata.yml | 17 +++ recipes/xlsxio/all/conanfile.py | 132 ++++++++++++++++++ recipes/xlsxio/all/patches/0233_cmake.patch | 86 ++++++++++++ recipes/xlsxio/all/patches/0234_cmake.patch | 111 +++++++++++++++ .../xlsxio/all/test_package/CMakeLists.txt | 8 ++ recipes/xlsxio/all/test_package/conanfile.py | 26 ++++ .../xlsxio/all/test_package/test_package.cpp | 13 ++ .../xlsxio/all/test_v1_package/CMakeLists.txt | 8 ++ .../xlsxio/all/test_v1_package/conanfile.py | 17 +++ recipes/xlsxio/config.yml | 5 + 10 files changed, 423 insertions(+) create mode 100644 recipes/xlsxio/all/conandata.yml create mode 100644 recipes/xlsxio/all/conanfile.py create mode 100644 recipes/xlsxio/all/patches/0233_cmake.patch create mode 100644 recipes/xlsxio/all/patches/0234_cmake.patch create mode 100644 recipes/xlsxio/all/test_package/CMakeLists.txt create mode 100644 recipes/xlsxio/all/test_package/conanfile.py create mode 100644 recipes/xlsxio/all/test_package/test_package.cpp create mode 100644 recipes/xlsxio/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/xlsxio/all/test_v1_package/conanfile.py create mode 100644 recipes/xlsxio/config.yml diff --git a/recipes/xlsxio/all/conandata.yml b/recipes/xlsxio/all/conandata.yml new file mode 100644 index 0000000000000..026e7d4f464c4 --- /dev/null +++ b/recipes/xlsxio/all/conandata.yml @@ -0,0 +1,17 @@ +sources: + "0.2.34": + sha256: 726e3bc3cf571ac20e5c39b1f192f3793d24ebfdeaadcd210de74aa1ec100bb6 + url: https://github.com/brechtsanders/xlsxio/archive/refs/tags/0.2.34.tar.gz + "0.2.33": + sha256: f221ffff7d9ba33c87411ba76b371cac202f25e07bf4e740828592e1c7e79263 + url: https://github.com/brechtsanders/xlsxio/archive/refs/tags/0.2.33.tar.gz + +patches: + "0.2.34": + - patch_file: patches/0234_cmake.patch + patch_description: "conan build cmake support" + patch_type: "conan" + "0.2.33": + - patch_file: patches/0233_cmake.patch + patch_description: "conan build cmake support" + patch_type: "conan" diff --git a/recipes/xlsxio/all/conanfile.py b/recipes/xlsxio/all/conanfile.py new file mode 100644 index 0000000000000..f1cc40e63d655 --- /dev/null +++ b/recipes/xlsxio/all/conanfile.py @@ -0,0 +1,132 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.54.0" + + +class XlsxioConan(ConanFile): + name = "xlsxio" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/brechtsanders/xlsxio" + description = "Cross-platform C library for reading values from and writing values to .xlsx files." + topics = ("xlsx",) + license = "MIT" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC":[True, False], + "shared": [True, False], + "with_libzip": [True, False], + "with_minizip_ng": [True, False], + "with_wide": [True, False], + } + default_options = { + "fPIC": True, + "shared": False, + "with_libzip": False, + "with_minizip_ng": False, + "with_wide": False, + } + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if Version(self.version) < "0.2.34": + del self.options.with_minizip_ng + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_libzip: + self.requires("libzip/1.7.3") + elif Version(self.version) >= "0.2.34" and self.options.with_minizip_ng : + self.requires("minizip-ng/3.0.8") + else: + self.requires("minizip/1.2.12") + self.requires("expat/2.4.9") + if self.options.with_wide: + self.options["expat"].char_type="ushort" + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = VirtualBuildEnv(self) + tc.generate() + + tc = CMakeToolchain(self) + tc.variables["BUILD_STATIC"] = not self.options.shared + tc.variables["BUILD_SHARED"] = self.options.shared + tc.variables["WITH_LIBZIP"] = self.options.with_libzip + if Version(self.version) >= "0.2.34": + tc.variables["WITH_MINIZIP_NG"] = self.options.with_minizip_ng + tc.variables["WITH_WIDE"] = self.options.with_wide + tc.generate() + + tc = CMakeDeps(self) + 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.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, "cmake")) + 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_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "xlsxio") + self.cpp_info.set_property("cmake_module_file_name", "xlsxio") + self.cpp_info.set_property("pkg_config_name", "xlsxio") + + self.cpp_info.components["xlsxio_read"].set_property("cmake_target_name", "xlsxio::xlsxio_read") + self.cpp_info.components["xlsxio_read"].set_property("cmake_module_target_name", "xlsxio::xlsxio_read") + self.cpp_info.components["xlsxio_read"].set_property("pkg_config_name", "libxlsxio_read") + self.cpp_info.components["xlsxio_write"].set_property("cmake_target_name", "xlsxio::xlsxio_write") + self.cpp_info.components["xlsxio_write"].set_property("cmake_module_target_name", "xlsxio::xlsxio_write") + self.cpp_info.components["xlsxio_write"].set_property("pkg_config_name", "libxlsxio_write") + if self.options.with_wide: + self.cpp_info.components["xlsxio_readw"].set_property("cmake_target_name", "xlsxio::xlsxio_readw") + self.cpp_info.components["xlsxio_readw"].set_property("cmake_module_target_name", "xlsxio::xlsxio_readw") + self.cpp_info.components["xlsxio_readw"].set_property("pkg_config_name", "libxlsxio_readw") + + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] + + # TODO: to remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "xlsxio" + self.cpp_info.names["cmake_find_package_multi"] = "xlsxio" + self.cpp_info.components["xlsxio_read"].names["cmake_find_package"] = "xlsxio_read" + self.cpp_info.components["xlsxio_read"].names["cmake_find_package_multi"] = "xlsxio_read" + self.cpp_info.components["xlsxio_write"].names["cmake_find_package"] = "xlsxio_write" + self.cpp_info.components["xlsxio_write"].names["cmake_find_package_multi"] = "xlsxio_write" + if self.options.with_wide: + self.cpp_info.components["xlsxio_readw"].names["cmake_find_package"] = "xlsxio_readw" + self.cpp_info.components["xlsxio_readw"].names["cmake_find_package_multi"] = "xlsxio_readw" + diff --git a/recipes/xlsxio/all/patches/0233_cmake.patch b/recipes/xlsxio/all/patches/0233_cmake.patch new file mode 100644 index 0000000000000..a669955dfcba4 --- /dev/null +++ b/recipes/xlsxio/all/patches/0233_cmake.patch @@ -0,0 +1,86 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,13 +46,23 @@ ENDIF() + # dependancy: libzip + IF(WITH_LIBZIP) + FIND_PACKAGE(LibZip REQUIRED) +- SET(ANYZIP_INCLUDE_DIRS ${LIBZIP_INCLUDE_DIRS}) +- SET(ANYZIP_LIBRARIES ${LIBZIP_LIBRARIES}) ++ IF(LIBZIP_INCLUDE_DIRS) ++ SET(ANYZIP_INCLUDE_DIRS ${LIBZIP_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${LIBZIP_LIBRARIES}) ++ ELSE() ++ SET(ANYZIP_INCLUDE_DIRS ${libzip_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${libzip_LIBRARIES}) ++ ENDIF() + SET(ANYZIP_DEF USE_LIBZIP) + ELSE() +- FIND_PACKAGE(Minizip REQUIRED) +- SET(ANYZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) +- SET(ANYZIP_LIBRARIES ${MINIZIP_LIBRARIES}) ++ FIND_PACKAGE(Minizip 1 REQUIRED) ++ IF(MINIZIP_INCLUDE_DIRS) ++ SET(ANYZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${MINIZIP_LIBRARIES}) ++ ELSE() ++ SET(ANYZIP_INCLUDE_DIRS ${minizip_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${minizip_LIBRARIES}) ++ ENDIF() + SET(ANYZIP_DEF USE_MINIZIP) + ENDIF() + # dependancy: expat +@@ -62,6 +72,9 @@ IF(EXPAT_DIR) + FIND_LIBRARY(EXPAT_LIBRARIES NAMES expat libexpat NO_DEFAULT_PATH PATHS ${EXPAT_DIR}/lib ${EXPAT_DIR}) + ELSE() + FIND_PACKAGE(EXPAT REQUIRED) ++ IF(NOT EXPAT_LIBRARIES) ++ SET(EXPAT_LIBRARIES ${expat_LIBRARIES}) ++ ENDIF() + ENDIF() + # dependancy: expatw (if wide library was requested) + IF(WITH_WIDE) +@@ -70,6 +83,9 @@ IF(WITH_WIDE) + ELSE() + FIND_LIBRARY(EXPATW_LIBRARIES NAMES expatw) + ENDIF() ++ IF(NOT EXPATW_LIBRARIES) ++ SET(EXPATW_LIBRARIES ${EXPAT_LIBRARIES}) ++ ENDIF() + ENDIF() + + # Doxygen +@@ -101,7 +117,9 @@ ENDIF() + + FOREACH(LINKTYPE ${LINKTYPES}) + ADD_LIBRARY(xlsxio_read_${LINKTYPE} ${LINKTYPE} lib/xlsxio_read.c lib/xlsxio_read_sharedstrings.c) +- SET_TARGET_PROPERTIES(xlsxio_read_${LINKTYPE} PROPERTIES COMPILE_DEFINITIONS "BUILD_XLSXIO;${ANYZIP_DEF};BUILD_XLSXIO_${LINKTYPE}") ++ TARGET_COMPILE_DEFINITIONS(xlsxio_read_${LINKTYPE} PUBLIC BUILD_XLSXIO) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_read_${LINKTYPE} PUBLIC ${ANYZIP_DEF}) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_read_${LINKTYPE} PUBLIC BUILD_XLSXIO_${LINKTYPE}) + SET_TARGET_PROPERTIES(xlsxio_read_${LINKTYPE} PROPERTIES OUTPUT_NAME xlsxio_read) + IF(MINGW AND LINKTYPE STREQUAL "SHARED") + SET_TARGET_PROPERTIES(xlsxio_read_${LINKTYPE} PROPERTIES LINK_FLAGS "-Wl,--output-def=libxlsxio_read.def") +@@ -112,7 +130,9 @@ FOREACH(LINKTYPE ${LINKTYPES}) + SET(ALLTARGETS_LIB ${ALLTARGETS_LIB} xlsxio_read_${LINKTYPE}) + + ADD_LIBRARY(xlsxio_write_${LINKTYPE} ${LINKTYPE} lib/xlsxio_write.c) +- SET_TARGET_PROPERTIES(xlsxio_write_${LINKTYPE} PROPERTIES COMPILE_DEFINITIONS "BUILD_XLSXIO;${ANYZIP_DEF};BUILD_XLSXIO_${LINKTYPE}") ++ TARGET_COMPILE_DEFINITIONS(xlsxio_write_${LINKTYPE} PUBLIC BUILD_XLSXIO) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_write_${LINKTYPE} PUBLIC ${ANYZIP_DEF}) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_write_${LINKTYPE} PUBLIC BUILD_XLSXIO_${LINKTYPE}) + SET_TARGET_PROPERTIES(xlsxio_write_${LINKTYPE} PROPERTIES OUTPUT_NAME xlsxio_write) + IF(MINGW AND LINKTYPE STREQUAL "SHARED") + SET_TARGET_PROPERTIES(xlsxio_write_${LINKTYPE} PROPERTIES LINK_FLAGS "-Wl,--output-def=libxlsxio_write.def") +@@ -122,8 +142,10 @@ FOREACH(LINKTYPE ${LINKTYPES}) + + IF(WITH_WIDE) + ADD_LIBRARY(xlsxio_readw_${LINKTYPE} ${LINKTYPE} lib/xlsxio_read.c lib/xlsxio_read_sharedstrings.c) +- SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES DEFINE_SYMBOL "BUILD_XLSXIO_DLL") +- SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES COMPILE_DEFINITIONS "XML_UNICODE;BUILD_XLSXIO;${ANYZIP_DEF}") ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC BUILD_XLSXIO_DLL) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC XML_UNICODE) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC BUILD_XLSXIO) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC ${ANYZIP_DEF}) + SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES OUTPUT_NAME xlsxio_readw) + IF(MINGW AND LINKTYPE STREQUAL "SHARED") + SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES LINK_FLAGS "-Wl,--output-def=libxlsxio_readw.def") diff --git a/recipes/xlsxio/all/patches/0234_cmake.patch b/recipes/xlsxio/all/patches/0234_cmake.patch new file mode 100644 index 0000000000000..0000f8397c5c4 --- /dev/null +++ b/recipes/xlsxio/all/patches/0234_cmake.patch @@ -0,0 +1,111 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bf4e9bf..f0d6a0e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,8 +22,6 @@ OPTION(BUILD_PC_FILES "Build pkg-config .pc" ON) + OPTION(BUILD_TOOLS "Build tools" ON) + OPTION(BUILD_EXAMPLES "Build examples" ON) + OPTION(WITH_LIBZIP "Use libzip instead of Minizip" OFF) +-OPTION(WITH_MINIZIP_NG "Use Minizip NG" OFF) +-OPTION(MINIZIP_NG_SUFFIX "Minizip NG suffix (default is empty)" "") + OPTION(WITH_WIDE "Also build UTF-16 library (libxlsxio_readw)" OFF) + SET(ZLIB_DIR "" CACHE PATH "Path to the zlib library") + IF(WITH_LIBZIP) +@@ -48,18 +46,33 @@ ENDIF() + # dependancy: libzip/minizip/minizip-ng + IF(WITH_LIBZIP) + FIND_PACKAGE(LibZip REQUIRED) +- SET(ANYZIP_INCLUDE_DIRS ${LIBZIP_INCLUDE_DIRS}) +- SET(ANYZIP_LIBRARIES ${LIBZIP_LIBRARIES}) ++ IF(LIBZIP_INCLUDE_DIRS) ++ SET(ANYZIP_INCLUDE_DIRS ${LIBZIP_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${LIBZIP_LIBRARIES}) ++ ELSE() ++ SET(ANYZIP_INCLUDE_DIRS ${libzip_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${libzip_LIBRARIES}) ++ ENDIF() + SET(ANYZIP_DEF USE_LIBZIP) + ELSEIF(WITH_MINIZIP_NG) +- FIND_PACKAGE(minizip${MINIZIP_NG_SUFFIX} REQUIRED) +- SET(ANYZIP_INCLUDE_DIRS "${minizip-ng_DIR}/../../../include/minizip${MINIZIP_NG_SUFFIX}") +- SET(ANYZIP_LIBRARIES minizip${MINIZIP_NG_SUFFIX}) ++ FIND_PACKAGE(minizip 3 REQUIRED) ++ IF(minizip_INCLUDE_DIRS) ++ SET(ANYZIP_INCLUDE_DIRS ${minizip_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${minizip_LIBRARIES}) ++ ELSE() ++ SET(ANYZIP_INCLUDE_DIRS "${minizip-ng_DIR}/../../../include/minizip${MINIZIP_NG_SUFFIX}") ++ SET(ANYZIP_LIBRARIES minizip${MINIZIP_NG_SUFFIX}) ++ ENDIF() + SET(ANYZIP_DEF USE_MINIZIP;USE_MINIZIP_NG) + ELSE() +- FIND_PACKAGE(Minizip REQUIRED) +- SET(ANYZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) +- SET(ANYZIP_LIBRARIES ${MINIZIP_LIBRARIES}) ++ FIND_PACKAGE(Minizip 1 REQUIRED) ++ IF(MINIZIP_INCLUDE_DIRS) ++ SET(ANYZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${MINIZIP_LIBRARIES}) ++ ELSE() ++ SET(ANYZIP_INCLUDE_DIRS ${minizip_INCLUDE_DIRS}) ++ SET(ANYZIP_LIBRARIES ${minizip_LIBRARIES}) ++ ENDIF() + SET(ANYZIP_DEF USE_MINIZIP) + ENDIF() + # dependancy: expat +@@ -69,6 +82,9 @@ IF(EXPAT_DIR) + FIND_LIBRARY(EXPAT_LIBRARIES NAMES expat libexpat NO_DEFAULT_PATH PATHS ${EXPAT_DIR}/lib ${EXPAT_DIR}) + ELSE() + FIND_PACKAGE(EXPAT REQUIRED) ++ IF(NOT EXPAT_LIBRARIES) ++ SET(EXPAT_LIBRARIES ${expat_LIBRARIES}) ++ ENDIF() + ENDIF() + # dependancy: expatw (if wide library was requested) + IF(WITH_WIDE) +@@ -77,6 +93,9 @@ IF(WITH_WIDE) + ELSE() + FIND_LIBRARY(EXPATW_LIBRARIES NAMES expatw) + ENDIF() ++ IF(NOT EXPATW_LIBRARIES) ++ SET(EXPATW_LIBRARIES ${EXPAT_LIBRARIES}) ++ ENDIF() + ENDIF() + + # Doxygen +@@ -108,7 +127,9 @@ ENDIF() + + FOREACH(LINKTYPE ${LINKTYPES}) + ADD_LIBRARY(xlsxio_read_${LINKTYPE} ${LINKTYPE} lib/xlsxio_read.c lib/xlsxio_read_sharedstrings.c) +- SET_TARGET_PROPERTIES(xlsxio_read_${LINKTYPE} PROPERTIES COMPILE_DEFINITIONS "BUILD_XLSXIO;${ANYZIP_DEF};BUILD_XLSXIO_${LINKTYPE}") ++ TARGET_COMPILE_DEFINITIONS(xlsxio_read_${LINKTYPE} PUBLIC BUILD_XLSXIO) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_read_${LINKTYPE} PUBLIC ${ANYZIP_DEF}) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_read_${LINKTYPE} PUBLIC BUILD_XLSXIO_${LINKTYPE}) + SET_TARGET_PROPERTIES(xlsxio_read_${LINKTYPE} PROPERTIES OUTPUT_NAME xlsxio_read) + IF(MINGW AND LINKTYPE STREQUAL "SHARED") + SET_TARGET_PROPERTIES(xlsxio_read_${LINKTYPE} PROPERTIES LINK_FLAGS "-Wl,--output-def=libxlsxio_read.def") +@@ -119,7 +140,9 @@ FOREACH(LINKTYPE ${LINKTYPES}) + SET(ALLTARGETS_LIB ${ALLTARGETS_LIB} xlsxio_read_${LINKTYPE}) + + ADD_LIBRARY(xlsxio_write_${LINKTYPE} ${LINKTYPE} lib/xlsxio_write.c) +- SET_TARGET_PROPERTIES(xlsxio_write_${LINKTYPE} PROPERTIES COMPILE_DEFINITIONS "BUILD_XLSXIO;${ANYZIP_DEF};BUILD_XLSXIO_${LINKTYPE}") ++ TARGET_COMPILE_DEFINITIONS(xlsxio_write_${LINKTYPE} PUBLIC BUILD_XLSXIO) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_write_${LINKTYPE} PUBLIC ${ANYZIP_DEF}) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_write_${LINKTYPE} PUBLIC BUILD_XLSXIO_${LINKTYPE}) + SET_TARGET_PROPERTIES(xlsxio_write_${LINKTYPE} PROPERTIES OUTPUT_NAME xlsxio_write) + IF(MINGW AND LINKTYPE STREQUAL "SHARED") + SET_TARGET_PROPERTIES(xlsxio_write_${LINKTYPE} PROPERTIES LINK_FLAGS "-Wl,--output-def=libxlsxio_write.def") +@@ -129,8 +152,11 @@ FOREACH(LINKTYPE ${LINKTYPES}) + + IF(WITH_WIDE) + ADD_LIBRARY(xlsxio_readw_${LINKTYPE} ${LINKTYPE} lib/xlsxio_read.c lib/xlsxio_read_sharedstrings.c) +- SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES DEFINE_SYMBOL "BUILD_XLSXIO_DLL") +- SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES COMPILE_DEFINITIONS "XML_UNICODE;BUILD_XLSXIO;${ANYZIP_DEF}") ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC BUILD_XLSXIO_DLL) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC XML_UNICODE) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC BUILD_XLSXIO) ++ TARGET_COMPILE_DEFINITIONS(xlsxio_readw_${LINKTYPE} PUBLIC ${ANYZIP_DEF}) ++ + SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES OUTPUT_NAME xlsxio_readw) + IF(MINGW AND LINKTYPE STREQUAL "SHARED") + SET_TARGET_PROPERTIES(xlsxio_readw_${LINKTYPE} PROPERTIES LINK_FLAGS "-Wl,--output-def=libxlsxio_readw.def") diff --git a/recipes/xlsxio/all/test_package/CMakeLists.txt b/recipes/xlsxio/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..67d6a295ac9dc --- /dev/null +++ b/recipes/xlsxio/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +find_package(xlsxio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE xlsxio::xlsxio_read) +target_link_libraries(${PROJECT_NAME} PRIVATE xlsxio::xlsxio_write) diff --git a/recipes/xlsxio/all/test_package/conanfile.py b/recipes/xlsxio/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8a5bb47f50c4c --- /dev/null +++ b/recipes/xlsxio/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 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/xlsxio/all/test_package/test_package.cpp b/recipes/xlsxio/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e7ee13469ca6e --- /dev/null +++ b/recipes/xlsxio/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include +#include + +int main(int argc, char** argv) { + xlsxioreader xlsxioread; + xlsxiowriter xlsxiowrite; + xlsxioreadersheet sheet; + (void)xlsxioread; + (void)sheet; + (void)xlsxiowrite; + return 0; +} diff --git a/recipes/xlsxio/all/test_v1_package/CMakeLists.txt b/recipes/xlsxio/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/xlsxio/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xlsxio/all/test_v1_package/conanfile.py b/recipes/xlsxio/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/xlsxio/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) diff --git a/recipes/xlsxio/config.yml b/recipes/xlsxio/config.yml new file mode 100644 index 0000000000000..5b98871657b36 --- /dev/null +++ b/recipes/xlsxio/config.yml @@ -0,0 +1,5 @@ +versions: + "0.2.34": + folder: all + "0.2.33": + folder: all From 15d691086e8d75865835b9675c9fdfe43d05abdd Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 31 May 2023 14:41:56 +0100 Subject: [PATCH 0426/4087] (#17775) xoshiro-cpp: Conan 2.0 syntax fixes --- recipes/xoshiro-cpp/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/xoshiro-cpp/all/conanfile.py b/recipes/xoshiro-cpp/all/conanfile.py index c922c9e422fe2..84a6a0825a628 100644 --- a/recipes/xoshiro-cpp/all/conanfile.py +++ b/recipes/xoshiro-cpp/all/conanfile.py @@ -25,7 +25,8 @@ def _minimum_compilers_version(self): "apple-clang": "10", "clang": "6", "gcc": "7", - "Visual Studio": "16" + "Visual Studio": "16", + "msvc": "192" } @property @@ -54,7 +55,7 @@ def validate(self): f"{self.ref} recipe lacks information about the {compiler} compiler, " f"support for the required C++{self._minimum_cpp_standard} features is assumed" ) - self.output.warn(msg) + self.output.warning(msg) def source(self): get(self, **self.conan_data["sources"][self.version], From c4b9c1316073179a5afd1adc7181acfc22b117aa Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 31 May 2023 15:22:35 +0100 Subject: [PATCH 0427/4087] (#17774) xtensor: add missing package_type --- recipes/xtensor/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/xtensor/all/conanfile.py b/recipes/xtensor/all/conanfile.py index 9a77cdf6361a6..9bcb5c8f335ae 100644 --- a/recipes/xtensor/all/conanfile.py +++ b/recipes/xtensor/all/conanfile.py @@ -12,6 +12,7 @@ class XtensorConan(ConanFile): name = "xtensor" + package_type = "header-library" description = "C++ tensors with broadcasting and lazy computing" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" From 954a620409ebb0fe72bbef1c9147d1176c68a856 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Jun 2023 00:23:19 +0900 Subject: [PATCH 0428/4087] (#17749) wasmtime-cpp: add version 9.0.0 --- recipes/wasmtime-cpp/all/conandata.yml | 3 +++ recipes/wasmtime-cpp/all/conanfile.py | 1 + recipes/wasmtime-cpp/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/wasmtime-cpp/all/conandata.yml b/recipes/wasmtime-cpp/all/conandata.yml index cc2a691b8c6c2..524a7021c9bc2 100644 --- a/recipes/wasmtime-cpp/all/conandata.yml +++ b/recipes/wasmtime-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.0.0": + url: "https://github.com/bytecodealliance/wasmtime-cpp/archive/v9.0.0.tar.gz" + sha256: "0ff8242a9dcbe43eb38c6a3e02be40ed585e6b88efd89092bf1b5318cb8fece1" "7.0.0": url: "https://github.com/bytecodealliance/wasmtime-cpp/archive/v7.0.0.tar.gz" sha256: "967df644901d9ade1568a9dcfd5f30a63ba44f8125a399842d192e258dbb7684" diff --git a/recipes/wasmtime-cpp/all/conanfile.py b/recipes/wasmtime-cpp/all/conanfile.py index 70992503d1ca8..3b547f8d8dbce 100644 --- a/recipes/wasmtime-cpp/all/conanfile.py +++ b/recipes/wasmtime-cpp/all/conanfile.py @@ -43,6 +43,7 @@ def requirements(self): "0.39.0": "0.39.1", "1.0.0": "1.0.1", "6.0.0": "6.0.1", + "9.0.0": "9.0.1", } self.requires(f"wasmtime/{version_map.get(version, version)}") diff --git a/recipes/wasmtime-cpp/config.yml b/recipes/wasmtime-cpp/config.yml index 12bb2cdba162c..37168a28be705 100644 --- a/recipes/wasmtime-cpp/config.yml +++ b/recipes/wasmtime-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "9.0.0": + folder: all "7.0.0": folder: all "6.0.0": From 90b99fefac2ed658dd4df24321b6e2015e39c3ad Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Jun 2023 01:23:01 +0900 Subject: [PATCH 0429/4087] (#17633) libuv: add version 1.45.0, support conan v2 more * libuv: add version 1.45.0, support conan v2 more * fix library name for msvc in 1.45.0 * link dbghelp in 1.45.0 * separate target_name and lib_name (because lib name of msvc static build is libuv) --- recipes/libuv/all/conandata.yml | 7 +++ recipes/libuv/all/conanfile.py | 51 ++++++++-------- .../libuv/all/patches/1.45.0/fix-cmake.patch | 58 +++++++++++++++++++ recipes/libuv/config.yml | 2 + 4 files changed, 95 insertions(+), 23 deletions(-) create mode 100644 recipes/libuv/all/patches/1.45.0/fix-cmake.patch diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml index e251d497e772d..f54bb8fd1e59d 100644 --- a/recipes/libuv/all/conandata.yml +++ b/recipes/libuv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.45.0": + url: "https://github.com/libuv/libuv/archive/v1.45.0.tar.gz" + sha256: "458e34d5ef7f3c0394a2bfd8c39d757cb1553baa5959b9b4b45df63aa027a228" "1.44.2": url: "https://github.com/libuv/libuv/archive/v1.44.2.tar.gz" sha256: "e6e2ba8b4c349a4182a33370bb9be5e23c51b32efb9b9e209d0e8556b73a48da" @@ -24,6 +27,10 @@ sources: url: "https://github.com/libuv/libuv/archive/v1.38.1.zip" sha256: "0359369492742eb2a36312fffe26f80bcffe4cec981a4fd72d182b061ee14890" patches: + "1.45.0": + - patch_file: "patches/1.45.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" "1.44.2": - patch_file: "patches/1.44.2/fix-cmake.patch" patch_description: "separate shared and static library build" diff --git a/recipes/libuv/all/conanfile.py b/recipes/libuv/all/conanfile.py index a147f0a7124e2..d9bda835cdea0 100644 --- a/recipes/libuv/all/conanfile.py +++ b/recipes/libuv/all/conanfile.py @@ -2,20 +2,21 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class LibuvConan(ConanFile): name = "libuv" + description = "A multi-platform support library with a focus on asynchronous I/O" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://libuv.org" - description = "A multi-platform support library with a focus on asynchronous I/O" - topics = ("libuv", "asynchronous", "io", "networking", "multi-platform") - + topics = ("asynchronous", "io", "networking", "multi-platform") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -35,18 +36,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") @@ -56,12 +48,13 @@ def validate(self): check_min_vs(self, "190") 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["LIBUV_BUILD_TESTS"] = False + if Version(self.version) >= "1.45.0": + tc.variables["LIBUV_BUILD_SHARED"] = self.options.shared tc.generate() def build(self): @@ -82,7 +75,7 @@ def package(self): # 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), - {self._target_lib_name: "libuv::libuv"} + {self._target_name: "libuv::libuv"} ) def _create_cmake_module_alias_targets(self, module_file, targets): @@ -101,20 +94,32 @@ def _module_file_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") @property - def _target_lib_name(self): - return "uv" if self.options.shared else "uv_a" + def _target_name(self): + if Version(self.version) < "1.45.0": + return "uv" if self.options.shared else "uv_a" + return "uv" + + @property + def _lib_name(self): + if Version(self.version) < "1.45.0": + return "uv" if self.options.shared else "uv_a" + if is_msvc(self) and not self.options.shared: + return "libuv" + return "uv" def package_info(self): self.cpp_info.set_property("cmake_file_name", "libuv") - self.cpp_info.set_property("cmake_target_name", self._target_lib_name) + self.cpp_info.set_property("cmake_target_name", self._target_name) self.cpp_info.set_property("pkg_config_name", "libuv" if self.options.shared else "libuv-static") - self.cpp_info.libs = [self._target_lib_name] + self.cpp_info.libs = [self._lib_name] if self.options.shared: self.cpp_info.defines = ["USING_UV_SHARED=1"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["dl", "pthread", "rt"] if self.settings.os == "Windows": self.cpp_info.system_libs = ["iphlpapi", "psapi", "userenv", "ws2_32"] + if Version(self.version) >= "1.45.0": + self.cpp_info.system_libs.append("dbghelp") # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.names["pkg_config"] = "libuv" if self.options.shared else "libuv-static" diff --git a/recipes/libuv/all/patches/1.45.0/fix-cmake.patch b/recipes/libuv/all/patches/1.45.0/fix-cmake.patch new file mode 100644 index 0000000000000..17b69ef2b4959 --- /dev/null +++ b/recipes/libuv/all/patches/1.45.0/fix-cmake.patch @@ -0,0 +1,58 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 93733dd..d9e7acc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -460,8 +460,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}) + target_compile_options(uv_a PRIVATE ${uv_cflags}) +@@ -480,6 +479,8 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv") + if(MSVC) + 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, +@@ -732,18 +733,10 @@ 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) + + 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::) + + if(LIBUV_BUILD_SHARED) + # The version in the filename is mirroring the behaviour of autotools. +@@ -757,6 +750,15 @@ if(LIBUV_BUILD_SHARED) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++else() ++ configure_file(libuv-static.pc.in libuv-static.pc @ONLY) ++ install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ install(TARGETS uv_a EXPORT libuvConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(EXPORT libuvConfig ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv ++ NAMESPACE libuv::) + endif() + + if(MSVC) diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml index cc83d80cfe19b..d0dda281ae9b7 100644 --- a/recipes/libuv/config.yml +++ b/recipes/libuv/config.yml @@ -1,4 +1,6 @@ versions: + "1.45.0": + folder: all "1.44.2": folder: all "1.44.1": From 7dda1156b8384a5893ff989331ec2e225955989c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 31 May 2023 20:23:03 +0300 Subject: [PATCH 0430/4087] (#17411) thrust: add Conan v2 support * thrust: Conan v2 support * thrust: fix linter warnings * thrust: add v1.17.2 * thrust: tidy conanfile.py a bit * thrust: drop v1.9.5 Requires onetbb <= 2020.x, which does not have Conan v2 support and is unlikely to get it either due to its complex build system. * thrust: bump onetbb dependency version * thrust: fix warn() -> warning() * thrust: fix non-standard fnmatch pattern * thrust: add CUDA support to test_package * thrust: mention CUB dependency in conanfile.py * thrust: tweak CUDA_ARCHITECTURES * thrust: formatting * thrust: add THRUST_IGNORE_CUB_VERSION_CHECK define * thrust: remove unnecessary transitive_*=True * thrust: drop test_v1_package --- recipes/thrust/all/conandata.yml | 6 +- recipes/thrust/all/conanfile.py | 79 +++++++++++++------ .../thrust/all/test_package/CMakeLists.txt | 28 +++++-- recipes/thrust/all/test_package/conanfile.py | 30 +++++-- .../thrust/all/test_package/test_package.cpp | 74 +---------------- .../thrust/all/test_package/test_package.cu | 11 +++ .../thrust/all/test_package/test_package.cuh | 75 ++++++++++++++++++ recipes/thrust/config.yml | 4 +- 8 files changed, 191 insertions(+), 116 deletions(-) create mode 100644 recipes/thrust/all/test_package/test_package.cu create mode 100644 recipes/thrust/all/test_package/test_package.cuh diff --git a/recipes/thrust/all/conandata.yml b/recipes/thrust/all/conandata.yml index 702d317873355..4912f01513e01 100644 --- a/recipes/thrust/all/conandata.yml +++ b/recipes/thrust/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "1.9.5": - url: "https://github.com/thrust/thrust/archive/1.9.5.tar.gz" - sha256: "d155dc2a260fe0c75c63c185fa4c4b4c6c5b7c444fcdac7109bb71941c9603f1" "1.16.0": url: "https://github.com/thrust/thrust/archive/1.16.0.tar.gz" sha256: "93b9553e3ee544e05395022bea67e6d600f8f3eb680950ec7cf73c0f55162487" "1.17.0": url: "https://github.com/thrust/thrust/archive/1.17.0.tar.gz" sha256: "b02aca5d2325e9128ed9d46785b8e72366f758b873b95001f905f22afcf31bbf" + "1.17.2": + url: "https://github.com/thrust/thrust/archive/1.17.2.tar.gz" + sha256: "d021e37f5aac30fd1b9737865399feb57db8e601ae2fc0af3cd41784435e9523" diff --git a/recipes/thrust/all/conanfile.py b/recipes/thrust/all/conanfile.py index 55d9c443a7b03..eb0ee0d040efe 100644 --- a/recipes/thrust/all/conanfile.py +++ b/recipes/thrust/all/conanfile.py @@ -1,44 +1,75 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class ThrustConan(ConanFile): name = "thrust" license = "Apache-2.0" - description = ("Thrust is a parallel algorithms library which resembles" - "the C++ Standard Template Library (STL).") - topics = ("parallel", "stl", "header-only") + description = ( + "Thrust is a parallel algorithms library which resembles " + "the C++ Standard Template Library (STL)." + ) + topics = ("parallel", "stl", "header-only", "cuda", "gpgpu") homepage = "https://thrust.github.io/" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - options = {"device_system": ["cuda", "cpp", "omp", "tbb"]} - default_options = {"device_system": "tbb"} + options = { + "device_system": ["cuda", "cpp", "omp", "tbb"], + } + default_options = { + "device_system": "tbb", + } - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): + # TODO: https://github.com/conan-io/conan-center-index/pull/17484 + # Otherwise CUB from system CUDA is used, which is not guaranteed to be compatible + # self.requires("cub/1.17.2") + if self.options.device_system == "tbb": - self.requires("onetbb/2020.3") - elif self.options.device_system != "cpp": - self.output.warn('Conan package for {0} is not available,' - ' this package will use {0} from system.' - .format(str(self.options.device_system).upper())) + self.requires("onetbb/2021.9.0") + + if self.options.device_system in ["cuda", "omp"]: + dev = str(self.options.device_system).upper() + self.output.warning( + f"Conan package for {dev} is not available," + f" this package will use {dev} from system." + ) + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*[.h|.inl]", src=os.path.join(self._source_subfolder, "thrust"), - dst=os.path.join("include", "thrust")) - - def package_id(self): - self.info.header_only() + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + for pattern in ["*.h", "*.inl"]: + copy( + self, + pattern=pattern, + src=os.path.join(self.source_folder, "thrust"), + dst=os.path.join(self.package_folder, "include", "thrust"), + ) def package_info(self): - self.cpp_info.defines = ["THRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_{}".format( - str(self.options.device_system).upper())] + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + dev = str(self.options.device_system).upper() + self.cpp_info.defines = [f"THRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_{dev}"] + # Since CUB and Thrust are provided separately, their versions are not guaranteed to match + self.cpp_info.defines += ["THRUST_IGNORE_CUB_VERSION_CHECK=1"] diff --git a/recipes/thrust/all/test_package/CMakeLists.txt b/recipes/thrust/all/test_package/CMakeLists.txt index 00c2a09754018..1a734eec44011 100644 --- a/recipes/thrust/all/test_package/CMakeLists.txt +++ b/recipes/thrust/all/test_package/CMakeLists.txt @@ -1,11 +1,23 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) find_package(thrust CONFIG REQUIRED) -add_executable(test_package test_package.cpp) -target_link_libraries(test_package thrust::thrust) -set_target_properties(test_package PROPERTIES CXX_STANDARD 11) +if (THRUST_BACKEND STREQUAL "CUDA") + cmake_minimum_required(VERSION 3.18) + enable_language(CUDA) + find_package(CUDAToolkit REQUIRED) + add_executable(${PROJECT_NAME} test_package.cu) + target_link_libraries(${PROJECT_NAME} CUDA::cudart) + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24") + set_target_properties(${PROJECT_NAME} PROPERTIES CUDA_ARCHITECTURES native) + else() + # Use the defaults from nvcc + set_target_properties(${PROJECT_NAME} PROPERTIES CUDA_ARCHITECTURES OFF) + endif() +else() + add_executable(${PROJECT_NAME} test_package.cpp) +endif() + +target_link_libraries(${PROJECT_NAME} thrust::thrust) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/thrust/all/test_package/conanfile.py b/recipes/thrust/all/test_package/conanfile.py index 9058f6e9a3054..1a1d2d0117430 100644 --- a/recipes/thrust/all/test_package/conanfile.py +++ b/recipes/thrust/all/test_package/conanfile.py @@ -1,10 +1,26 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -class ThrustTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + backend = str(self.dependencies["thrust"].options.device_system).upper() + tc.variables["THRUST_BACKEND"] = backend + tc.generate() def build(self): cmake = CMake(self) @@ -12,6 +28,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/thrust/all/test_package/test_package.cpp b/recipes/thrust/all/test_package/test_package.cpp index 48b3f8b33f1f7..28f5508b5fd2f 100644 --- a/recipes/thrust/all/test_package/test_package.cpp +++ b/recipes/thrust/all/test_package/test_package.cpp @@ -1,81 +1,11 @@ -// Adapted from https://github.com/thrust/thrust/blob/master/examples/monte_carlo.cu - -#include -#include -#include -#include +#include "test_package.cuh" #include #include -#include - -// we could vary M & N to find the perf sweet spot - -__host__ __device__ -unsigned int hash(unsigned int a) -{ - a = (a+0x7ed55d16) + (a<<12); - a = (a^0xc761c23c) ^ (a>>19); - a = (a+0x165667b1) + (a<<5); - a = (a+0xd3a2646c) ^ (a<<9); - a = (a+0xfd7046c5) + (a<<3); - a = (a^0xb55a4f09) ^ (a>>16); - return a; -} - -struct estimate_pi : public thrust::unary_function -{ - __host__ __device__ - float operator()(unsigned int thread_id) - { - float sum = 0; - unsigned int N = 100; // samples per thread - - unsigned int seed = hash(thread_id); - - // seed a random number generator - thrust::default_random_engine rng(seed); - - // create a mapping from random numbers to [0,1) - thrust::uniform_real_distribution u01(0,1); - - // take N samples in a quarter circle - for(unsigned int i = 0; i < N; ++i) - { - // draw a sample from the unit square - float x = u01(rng); - float y = u01(rng); - - // measure distance from the origin - float dist = sqrtf(x*x + y*y); - - // add 1.0f if (u0,u1) is inside the quarter circle - if(dist <= 1.0f) - sum += 1.0f; - } - - // multiply by 4 to get the area of the whole circle - sum *= 4.0f; - - // divide by N - return sum / N; - } -}; int main(void) { - // use 30 independent seeds - int M = 300; - - float estimate = thrust::transform_reduce(thrust::counting_iterator(0), - thrust::counting_iterator(M), - estimate_pi(), - 0.0f, - thrust::plus()); - estimate /= M; - std::cout << std::setprecision(3); - std::cout << "pi is approximately " << estimate << std::endl; - + std::cout << "pi is approximately " << estimate() << std::endl; return 0; } diff --git a/recipes/thrust/all/test_package/test_package.cu b/recipes/thrust/all/test_package/test_package.cu new file mode 100644 index 0000000000000..28f5508b5fd2f --- /dev/null +++ b/recipes/thrust/all/test_package/test_package.cu @@ -0,0 +1,11 @@ +#include "test_package.cuh" + +#include +#include + +int main(void) +{ + std::cout << std::setprecision(3); + std::cout << "pi is approximately " << estimate() << std::endl; + return 0; +} diff --git a/recipes/thrust/all/test_package/test_package.cuh b/recipes/thrust/all/test_package/test_package.cuh new file mode 100644 index 0000000000000..ccaa3b425e151 --- /dev/null +++ b/recipes/thrust/all/test_package/test_package.cuh @@ -0,0 +1,75 @@ +// Adapted from https://github.com/thrust/thrust/blob/master/examples/monte_carlo.cu +#pragma once + +#include +#include +#include +#include + +#include + +// we could vary M & N to find the perf sweet spot + +__host__ __device__ +unsigned int hash(unsigned int a) +{ + a = (a+0x7ed55d16) + (a<<12); + a = (a^0xc761c23c) ^ (a>>19); + a = (a+0x165667b1) + (a<<5); + a = (a+0xd3a2646c) ^ (a<<9); + a = (a+0xfd7046c5) + (a<<3); + a = (a^0xb55a4f09) ^ (a>>16); + return a; +} + +struct estimate_pi : public thrust::unary_function +{ + __host__ __device__ + float operator()(unsigned int thread_id) + { + float sum = 0; + unsigned int N = 100; // samples per thread + + unsigned int seed = hash(thread_id); + + // seed a random number generator + thrust::default_random_engine rng(seed); + + // create a mapping from random numbers to [0,1) + thrust::uniform_real_distribution u01(0,1); + + // take N samples in a quarter circle + for(unsigned int i = 0; i < N; ++i) + { + // draw a sample from the unit square + float x = u01(rng); + float y = u01(rng); + + // measure distance from the origin + float dist = sqrtf(x*x + y*y); + + // add 1.0f if (u0,u1) is inside the quarter circle + if(dist <= 1.0f) + sum += 1.0f; + } + + // multiply by 4 to get the area of the whole circle + sum *= 4.0f; + + // divide by N + return sum / N; + } +}; + +float estimate() { + // use 30 independent seeds + int M = 300; + + float estimate = thrust::transform_reduce(thrust::counting_iterator(0), + thrust::counting_iterator(M), + estimate_pi(), + 0.0f, + thrust::plus()); + estimate /= M; + return estimate; +} diff --git a/recipes/thrust/config.yml b/recipes/thrust/config.yml index 995f77f066bf1..f07d47b001a70 100644 --- a/recipes/thrust/config.yml +++ b/recipes/thrust/config.yml @@ -1,7 +1,7 @@ versions: - "1.9.5": - folder: all "1.16.0": folder: all "1.17.0": folder: all + "1.17.2": + folder: all From 316973088043aafc9c3af02fd949f26099aec4da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez=20Falero?= Date: Thu, 1 Jun 2023 10:03:56 +0200 Subject: [PATCH 0431/4087] (#17780) conan V2 windows machine label updated --- .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 2138c690b60a9..8fd47e6c8b9e8 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -120,7 +120,7 @@ node_labels: Windows: x86_64: "msvc": - default: "windows20221212" + default: "windows20230531" Macos: x86_64: "apple-clang": From 5240ae181d6407dff1fdf24028e1c09f68fceea1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 1 Jun 2023 10:24:01 +0200 Subject: [PATCH 0432/4087] (#17100) aws-c-cal: modernize more for conan v2 + bump openssl * bump openssl * modernize more for conan v2 * restore test of libcrypto * aws-c-common public headers are included by aws-c-cal public headers * link aws-c-common in test package * add AWS_CAL_USE_IMPORT_EXPORT interface definition if shared * modernize a little bit more * more elegant way to define target for legacy generators * add transitive_libs to aws-c-common * use version range for openssl --- recipes/aws-c-cal/all/conanfile.py | 90 +++++++++++-------- .../aws-c-cal/all/test_package/CMakeLists.txt | 3 +- .../aws-c-cal/all/test_package/conanfile.py | 9 +- .../all/test_v1_package/CMakeLists.txt | 8 +- .../all/test_v1_package/conanfile.py | 9 +- 5 files changed, 71 insertions(+), 48 deletions(-) diff --git a/recipes/aws-c-cal/all/conanfile.py b/recipes/aws-c-cal/all/conanfile.py index 3ed5c70f492e6..bb8fb82e75aab 100644 --- a/recipes/aws-c-cal/all/conanfile.py +++ b/recipes/aws-c-cal/all/conanfile.py @@ -1,11 +1,12 @@ 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, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.scm import Version import os +import textwrap -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.53.0" class AwsCCal(ConanFile): @@ -14,7 +15,8 @@ class AwsCCal(ConanFile): topics = ("aws", "amazon", "cloud", "cal", "crypt", ) url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-cal" - license = "Apache-2.0", + license = "Apache-2.0" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -27,11 +29,10 @@ class AwsCCal(ConanFile): @property def _needs_openssl(self): - return self.settings.os != "Windows" and not is_apple_os(self) + return not (self.settings.os == "Windows" or is_apple_os(self)) def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -39,30 +40,26 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - 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 requirements(self): if Version(self.version) <= "0.5.11": - self.requires("aws-c-common/0.6.11") + # transitive_libs probably not strictly required, but it's impossible to write a robust test package + # without it for conan v2 (we would have to required aws-c-common in test package, but we can't know + # which version to require in test package) + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) else: - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) if self._needs_openssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -84,30 +81,43 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-cal")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-cal": "aws-c-cal::aws-c-cal"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-cal") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-cal") - - self.cpp_info.filenames["cmake_find_package"] = "aws-c-cal" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-cal" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-cal-lib"].names["cmake_find_package"] = "aws-c-cal" - self.cpp_info.components["aws-c-cal-lib"].names["cmake_find_package_multi"] = "aws-c-cal" - self.cpp_info.components["aws-c-cal-lib"].set_property("cmake_target_name", "AWS::aws-c-cal") - - self.cpp_info.components["aws-c-cal-lib"].libs = ["aws-c-cal"] - self.cpp_info.components["aws-c-cal-lib"].requires = ["aws-c-common::aws-c-common-lib"] + self.cpp_info.libs = ["aws-c-cal"] + self.cpp_info.requires = ["aws-c-common::aws-c-common"] + if self.options.shared: + self.cpp_info.defines.append("AWS_CAL_USE_IMPORT_EXPORT") if self.settings.os == "Windows": - self.cpp_info.components["aws-c-cal-lib"].system_libs.append("ncrypt") + self.cpp_info.system_libs.append("ncrypt") elif is_apple_os(self): - self.cpp_info.components["aws-c-cal-lib"].frameworks.extend(["CoreFoundation", "Security"]) + self.cpp_info.frameworks.extend(["CoreFoundation", "Security"]) elif self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.components["aws-c-cal-lib"].system_libs.append("dl") + self.cpp_info.system_libs.append("dl") - self.user_info.with_openssl = self._needs_openssl if self._needs_openssl: - self.cpp_info.components["aws-c-cal-lib"].requires.append("openssl::crypto") + self.cpp_info.requires.append("openssl::crypto") if not self.dependencies["openssl"].options.shared: # aws-c-cal does not statically link to openssl and searches dynamically for openssl symbols . # Mark these as undefined so the linker will include them. @@ -124,5 +134,9 @@ def package_info(self): "HMAC_CTX_init", "HMAC_CTX_cleanup", "HMAC_CTX_reset", ]) crypto_link_flags = "-Wl," + ",".join(f"-u{symbol}" for symbol in crypto_symbols) - self.cpp_info.components["aws-c-cal-lib"].exelinkflags.append(crypto_link_flags) - self.cpp_info.components["aws-c-cal-lib"].sharedlinkflags.append(crypto_link_flags) + self.cpp_info.exelinkflags.append(crypto_link_flags) + self.cpp_info.sharedlinkflags.append(crypto_link_flags) + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/aws-c-cal/all/test_package/CMakeLists.txt b/recipes/aws-c-cal/all/test_package/CMakeLists.txt index 7ed07f4d9b8e6..a98182dc5ef67 100644 --- a/recipes/aws-c-cal/all/test_package/CMakeLists.txt +++ b/recipes/aws-c-cal/all/test_package/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) find_package(aws-c-cal REQUIRED CONFIG) +find_package(aws-c-common REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-cal) +target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-cal AWS::aws-c-common) diff --git a/recipes/aws-c-cal/all/test_package/conanfile.py b/recipes/aws-c-cal/all/test_package/conanfile.py index 1b3c18ef08ac1..fb5c5c0c1d8f0 100644 --- a/recipes/aws-c-cal/all/test_package/conanfile.py +++ b/recipes/aws-c-cal/all/test_package/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +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 @@ -10,6 +11,10 @@ class TestPackageConan(ConanFile): generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" test_type = "explicit" + @property + def _needs_openssl(self): + return not (self.settings.os == "Windows" or is_apple_os(self)) + def layout(self): cmake_layout(self) @@ -25,7 +30,7 @@ def test(self): if can_run(self): stream = io.StringIO() bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun", output=stream) + self.run(bin_path, stream, env="conanrun") self.output.info(stream.getvalue()) - if self.deps_user_info["aws-c-cal"].with_openssl == "True": + if self._needs_openssl: assert "found static libcrypto" in stream.getvalue() diff --git a/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt index 8a88842ed46e6..0d20897301b68 100644 --- a/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-cal REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-cal) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-cal/all/test_v1_package/conanfile.py b/recipes/aws-c-cal/all/test_v1_package/conanfile.py index ff0f4e1acbd6f..e27da49632915 100644 --- a/recipes/aws-c-cal/all/test_v1_package/conanfile.py +++ b/recipes/aws-c-cal/all/test_v1_package/conanfile.py @@ -1,4 +1,5 @@ from conans import ConanFile, CMake, tools +from conan.tools.apple import is_apple_os import os import io @@ -7,6 +8,10 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" + @property + def _needs_openssl(self): + return not (self.settings.os == "Windows" or is_apple_os(self)) + def build(self): cmake = CMake(self) cmake.configure() @@ -16,7 +21,7 @@ def test(self): if not tools.cross_building(self): stream = io.StringIO() bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True, output=stream) + self.run(bin_path, stream, run_environment=True) self.output.info(stream.getvalue()) - if self.deps_user_info["aws-c-cal"].with_openssl == "True": + if self._needs_openssl: assert "found static libcrypto" in stream.getvalue() From 19869bfd407ea75221f22d1d4491127c765286c3 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 1 Jun 2023 13:22:50 +0400 Subject: [PATCH 0433/4087] (#17416) Added opencl-clhpp-headers package --- .../opencl-clhpp-headers/all/conandata.yml | 13 ++++ recipes/opencl-clhpp-headers/all/conanfile.py | 78 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 10 +++ .../all/test_package/conanfile.py | 22 ++++++ .../all/test_package/test_package.cpp | 22 ++++++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 15 ++++ recipes/opencl-clhpp-headers/config.yml | 9 +++ 8 files changed, 177 insertions(+) create mode 100644 recipes/opencl-clhpp-headers/all/conandata.yml create mode 100644 recipes/opencl-clhpp-headers/all/conanfile.py create mode 100644 recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt create mode 100644 recipes/opencl-clhpp-headers/all/test_package/conanfile.py create mode 100644 recipes/opencl-clhpp-headers/all/test_package/test_package.cpp create mode 100644 recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py create mode 100644 recipes/opencl-clhpp-headers/config.yml diff --git a/recipes/opencl-clhpp-headers/all/conandata.yml b/recipes/opencl-clhpp-headers/all/conandata.yml new file mode 100644 index 0000000000000..e4e17b97c1724 --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/conandata.yml @@ -0,0 +1,13 @@ +sources: + "2023.04.17": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2023.04.17.tar.gz" + sha256: "179243843c620ef6f78b52937aaaa0a742c6ff415f9aaefe3c20225ee283b357" + "2023.02.06": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2023.02.06.tar.gz" + sha256: "2726106df611fb5cb65503a52df27988d80c0b8844c8f0901c6092ab43701e8c" + "2022.09.30": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2022.09.30.tar.gz" + sha256: "999dec3ebf451f0f1087e5e1b9a5af91434b4d0c496d47e912863ac85ad1e6b2" + "2022.05.18": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2022.05.18.tar.gz" + sha256: "d29affd740c5037b4499790613f5af0718ffc88c325e793b73cb35b7592fc0f7" diff --git a/recipes/opencl-clhpp-headers/all/conanfile.py b/recipes/opencl-clhpp-headers/all/conanfile.py new file mode 100644 index 0000000000000..80288ec7b3f8d --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/conanfile.py @@ -0,0 +1,78 @@ +from conan import ConanFile +from conan.tools.files import copy, get, save +from conan.tools.layout import basic_layout +import os +import textwrap + +required_conan_version = ">=1.50.0" + + +class OpenclClhppHeadersConan(ConanFile): + name = "opencl-clhpp-headers" + description = "C++ language headers for the OpenCL API" + license = "Apache-2.0" + topics = ("opencl", "header-only", "api-headers") + homepage = "https://github.com/KhronosGroup/OpenCL-CLHPP" + url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _target_name(self): + return "OpenCL::HeadersCpp" + + 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 requirements(self): + self.requires(f"opencl-headers/{self.version}", transitive_headers=True) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + save(self, module_file, content) + + def generate(self): + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {self._target_name: f"{self.name}::{self.name}"} + ) + + def build(self): + pass + + def package(self): + 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, "include", "CL"), dst=os.path.join(self.package_folder, "include", "CL")) + + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "OpenCLHeadersCpp") + self.cpp_info.set_property("cmake_target_name", self._target_name) + self.cpp_info.set_property("pkg_config_name", "OpenCL-CLHPP") + self.cpp_info.requires = ["opencl-headers::opencl-headers"] + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.filenames["cmake_find_package"] = "OpenCLHeadersCpp" + self.cpp_info.filenames["cmake_find_package_multi"] = "OpenCLHeadersCpp" + 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/opencl-clhpp-headers/all/test_package/CMakeLists.txt b/recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3a0c8417853f5 --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(OpenCLHeadersCpp REQUIRED CONFIG) + +add_library(${PROJECT_NAME} OBJECT test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE OpenCL::HeadersCpp) diff --git a/recipes/opencl-clhpp-headers/all/test_package/conanfile.py b/recipes/opencl-clhpp-headers/all/test_package/conanfile.py new file mode 100644 index 0000000000000..7f3268933acd2 --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/test_package/conanfile.py @@ -0,0 +1,22 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout + + +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): + pass diff --git a/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp b/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..24cf50fffbbe2 --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp @@ -0,0 +1,22 @@ +#define CL_HPP_MINIMUM_OPENCL_VERSION 120 +#define CL_HPP_TARGET_OPENCL_VERSION 120 + +#include + +#include +#include + +int main() { + cl::Context context; + cl::Device device_id; + + (void) context; + (void) device_id; + + if (CL_VERSION_1_2 != 1) { + std::cerr << "Wrong OpenCL header version"; + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} diff --git a/recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt b/recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py b/recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..92704204c75e6 --- /dev/null +++ b/recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py @@ -0,0 +1,15 @@ +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): + pass diff --git a/recipes/opencl-clhpp-headers/config.yml b/recipes/opencl-clhpp-headers/config.yml new file mode 100644 index 0000000000000..691c70a050912 --- /dev/null +++ b/recipes/opencl-clhpp-headers/config.yml @@ -0,0 +1,9 @@ +versions: + "2023.04.17": + folder: all + "2023.02.06": + folder: all + "2022.09.30": + folder: all + "2022.05.18": + folder: all From d08688ae65be13daf5203e53d17749c1f494301f Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 1 Jun 2023 19:04:17 +0900 Subject: [PATCH 0434/4087] (#17271) mimalloc: add version 1.8.2, 2.1.2, add package_type * mimalloc: add version 1.8.2, 2.1.2 * add 1.8.2 to config.yml * fix shared build --- recipes/mimalloc/all/conandata.yml | 20 +++++++++++++++++ recipes/mimalloc/all/conanfile.py | 2 +- .../1.8.2-0001-change-install-paths.patch | 22 +++++++++++++++++++ .../1.8.2-0002-support-older-compiler.patch | 22 +++++++++++++++++++ .../2.1.2-0001-change-install-paths.patch | 13 +++++++++++ .../2.1.2-0002-support-older-compiler.patch | 22 +++++++++++++++++++ recipes/mimalloc/config.yml | 4 ++++ 7 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 recipes/mimalloc/all/patches/1.8.2-0001-change-install-paths.patch create mode 100644 recipes/mimalloc/all/patches/1.8.2-0002-support-older-compiler.patch create mode 100644 recipes/mimalloc/all/patches/2.1.2-0001-change-install-paths.patch create mode 100644 recipes/mimalloc/all/patches/2.1.2-0002-support-older-compiler.patch diff --git a/recipes/mimalloc/all/conandata.yml b/recipes/mimalloc/all/conandata.yml index c25b069c45c60..4c93c0b6b2850 100644 --- a/recipes/mimalloc/all/conandata.yml +++ b/recipes/mimalloc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/microsoft/mimalloc/archive/v2.1.2.tar.gz" + sha256: "2b1bff6f717f9725c70bf8d79e4786da13de8a270059e4ba0bdd262ae7be46eb" "2.0.9": url: "https://github.com/microsoft/mimalloc/archive/v2.0.9.tar.gz" sha256: "4a29edae32a914a706715e2ac8e7e4109e25353212edeed0888f4e3e15db5850" @@ -17,6 +20,9 @@ sources: "2.0.2": url: "https://github.com/microsoft/mimalloc/archive/v2.0.2.tar.gz" sha256: "c81a5f443f72373e3105172d6a935e29b0dabd13ba387c080bc444586cbe3021" + "1.8.2": + url: "https://github.com/microsoft/mimalloc/archive/v1.8.2.tar.gz" + sha256: "4058d53d6ceb75862f32c30a6ee686c3cbb5e965b2c324b828ca454f7fe064f9" "1.7.9": url: "https://github.com/microsoft/mimalloc/archive/v1.7.9.tar.gz" sha256: "45e05be518363d32b2cdcce1a1fac3580895ea2e4524e1a3c7e71145cb58659f" @@ -33,6 +39,13 @@ sources: url: "https://github.com/microsoft/mimalloc/archive/v1.6.7.tar.gz" sha256: "111b718b496f297f128d842880e72e90e33953cf00b45ba0ccd2167e7340ed17" patches: + "2.1.2": + - patch_file: "patches/2.1.2-0001-change-install-paths.patch" + patch_description: "fix install paths" + patch_type: "conan" + - patch_file: "patches/2.1.2-0002-support-older-compiler.patch" + patch_description: "fix compilation errors on older compilers" + patch_type: "portability" "2.0.9": - patch_file: "patches/2.0.9-0001-change-install-paths.patch" patch_description: "fix install paths" @@ -63,6 +76,13 @@ patches: - patch_file: "patches/2.0.2-0002-include-cstddef-to-get-std-size-t.patch" patch_description: "include stddef" patch_type: "portability" + "1.8.2": + - patch_file: "patches/1.8.2-0001-change-install-paths.patch" + patch_description: "fix install paths" + patch_type: "conan" + - patch_file: "patches/1.8.2-0002-support-older-compiler.patch" + patch_description: "fix compilation errors on older compilers" + patch_type: "portability" "1.7.9": - patch_file: "patches/1.7.9-0001-change-install-paths.patch" patch_description: "fix install paths" diff --git a/recipes/mimalloc/all/conanfile.py b/recipes/mimalloc/all/conanfile.py index 124cfd39af08c..af2bccdab3572 100644 --- a/recipes/mimalloc/all/conanfile.py +++ b/recipes/mimalloc/all/conanfile.py @@ -19,7 +19,7 @@ class MimallocConan(ConanFile): homepage = "https://github.com/microsoft/mimalloc" description = "mimalloc is a compact general purpose allocator with excellent performance." topics = ("mimalloc", "allocator", "performance", "microsoft") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/mimalloc/all/patches/1.8.2-0001-change-install-paths.patch b/recipes/mimalloc/all/patches/1.8.2-0001-change-install-paths.patch new file mode 100644 index 0000000000000..fb5aaa8360791 --- /dev/null +++ b/recipes/mimalloc/all/patches/1.8.2-0001-change-install-paths.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2bcd1ef..615cec9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -415,7 +415,7 @@ if(MI_BUILD_SHARED) + install(FILES "$/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll" DESTINATION ${mi_install_libdir}) + endif() + +- install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_libdir} LIBRARY) ++ install(TARGETS mimalloc EXPORT mimalloc RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + install(EXPORT mimalloc DESTINATION ${mi_install_cmakedir}) + endif() + +@@ -439,7 +439,7 @@ if (MI_BUILD_STATIC) + set_target_properties(mimalloc-static PROPERTIES OUTPUT_NAME ${mi_basename}) + endif() + +- install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION ${mi_install_objdir} LIBRARY) ++ install(TARGETS mimalloc-static EXPORT mimalloc RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + install(EXPORT mimalloc DESTINATION ${mi_install_cmakedir}) + endif() + diff --git a/recipes/mimalloc/all/patches/1.8.2-0002-support-older-compiler.patch b/recipes/mimalloc/all/patches/1.8.2-0002-support-older-compiler.patch new file mode 100644 index 0000000000000..139ede7a8c43a --- /dev/null +++ b/recipes/mimalloc/all/patches/1.8.2-0002-support-older-compiler.patch @@ -0,0 +1,22 @@ +diff --git a/include/mimalloc.h b/include/mimalloc.h +index 368c22c..fb19939 100644 +--- a/include/mimalloc.h ++++ b/include/mimalloc.h +@@ -505,7 +505,7 @@ template struct _mi_heap_stl_allocator_common : publi + #endif + + void collect(bool force) { mi_heap_collect(this->heap.get(), force); } +- template bool is_equal(const _mi_heap_stl_allocator_common& x) const { return (this->heap == x.heap); } ++ template bool is_equal(const _mi_heap_stl_allocator_common& x) const { return (this->heap == x.heap); } + + protected: + std::shared_ptr heap; +@@ -516,7 +516,7 @@ protected: + this->heap.reset(hp, (_mi_destroy ? &heap_destroy : &heap_delete)); /* calls heap_delete/destroy when the refcount drops to zero */ + } + _mi_heap_stl_allocator_common(const _mi_heap_stl_allocator_common& x) mi_attr_noexcept : heap(x.heap) { } +- template _mi_heap_stl_allocator_common(const _mi_heap_stl_allocator_common& x) mi_attr_noexcept : heap(x.heap) { } ++ template _mi_heap_stl_allocator_common(const _mi_heap_stl_allocator_common& x) mi_attr_noexcept : heap(x.heap) { } + + private: + static void heap_delete(mi_heap_t* hp) { if (hp != NULL) { mi_heap_delete(hp); } } diff --git a/recipes/mimalloc/all/patches/2.1.2-0001-change-install-paths.patch b/recipes/mimalloc/all/patches/2.1.2-0001-change-install-paths.patch new file mode 100644 index 0000000000000..eb6660f83dccc --- /dev/null +++ b/recipes/mimalloc/all/patches/2.1.2-0001-change-install-paths.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2bcd1ef..37eee49 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -415,7 +415,7 @@ if(MI_BUILD_SHARED) + install(FILES "$/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll" DESTINATION ${mi_install_libdir}) + endif() + +- install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_libdir} LIBRARY) ++ install(TARGETS mimalloc EXPORT mimalloc RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + install(EXPORT mimalloc DESTINATION ${mi_install_cmakedir}) + endif() + diff --git a/recipes/mimalloc/all/patches/2.1.2-0002-support-older-compiler.patch b/recipes/mimalloc/all/patches/2.1.2-0002-support-older-compiler.patch new file mode 100644 index 0000000000000..58a4298ac30b4 --- /dev/null +++ b/recipes/mimalloc/all/patches/2.1.2-0002-support-older-compiler.patch @@ -0,0 +1,22 @@ +diff --git a/include/mimalloc.h b/include/mimalloc.h +index f77c2ea..4c9594f 100644 +--- a/include/mimalloc.h ++++ b/include/mimalloc.h +@@ -508,7 +508,7 @@ template struct _mi_heap_stl_allocator_common : publi + #endif + + void collect(bool force) { mi_heap_collect(this->heap.get(), force); } +- template bool is_equal(const _mi_heap_stl_allocator_common& x) const { return (this->heap == x.heap); } ++ template bool is_equal(const _mi_heap_stl_allocator_common& x) const { return (this->heap == x.heap); } + + protected: + std::shared_ptr heap; +@@ -519,7 +519,7 @@ protected: + this->heap.reset(hp, (_mi_destroy ? &heap_destroy : &heap_delete)); /* calls heap_delete/destroy when the refcount drops to zero */ + } + _mi_heap_stl_allocator_common(const _mi_heap_stl_allocator_common& x) mi_attr_noexcept : heap(x.heap) { } +- template _mi_heap_stl_allocator_common(const _mi_heap_stl_allocator_common& x) mi_attr_noexcept : heap(x.heap) { } ++ template _mi_heap_stl_allocator_common(const _mi_heap_stl_allocator_common& x) mi_attr_noexcept : heap(x.heap) { } + + private: + static void heap_delete(mi_heap_t* hp) { if (hp != NULL) { mi_heap_delete(hp); } } diff --git a/recipes/mimalloc/config.yml b/recipes/mimalloc/config.yml index cabec88f14c46..2f9902ecefeb6 100644 --- a/recipes/mimalloc/config.yml +++ b/recipes/mimalloc/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.2": + folder: all "2.0.9": folder: all "2.0.7": @@ -11,6 +13,8 @@ versions: folder: all "2.0.2": folder: all + "1.8.2": + folder: all "1.7.9": folder: all "1.7.7": From 34d74c1249753dd3b72809bb228fc5f9a2bcc1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez=20Falero?= Date: Thu, 1 Jun 2023 13:22:19 +0200 Subject: [PATCH 0435/4087] (#17783) conan V1 windows machine label updated --- .c3i/config_v1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index ce17baffab669..669ef87bfc51d 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -162,7 +162,7 @@ node_labels: Windows: x86_64: "Visual Studio": - default: "windows20221212" + default: "windows20230531" Macos: x86_64: "apple-clang": From a18a105899c228a509a34ff324939001f8febeeb Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Thu, 1 Jun 2023 17:03:20 +0200 Subject: [PATCH 0436/4087] (#17503) fast-dds: bump version and update dependencies * fast-dds: bump version and update dependencies * fast-dds: Add tool_requires CMake * Apply suggestions from code review Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/fast-dds/all/conandata.yml | 7 +++++ recipes/fast-dds/all/conanfile.py | 12 ++++--- ...10.1-0001-fix-find-asio-and-tinyxml2.patch | 31 +++++++++++++++++++ recipes/fast-dds/config.yml | 2 ++ 4 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 recipes/fast-dds/all/patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch diff --git a/recipes/fast-dds/all/conandata.yml b/recipes/fast-dds/all/conandata.yml index b9e90bef53612..89a0fa550b4d4 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.1": + url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.10.1.tar.gz" + sha256: "2cc2682db5dc7e87684b7f23166e2f32faf8d5c4b4a8c94c6c21211a8a38f553" "2.3.4": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.4.tar.gz" sha256: "b1b2322de0ca55a16495666e3fbda8aca32b888bbfaecda29f2ffc4b072ef7ac" @@ -9,6 +12,10 @@ sources: url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.2.tar.gz" sha256: "4d8183cf4d37c3de9e6fd28d2850dd08023a9079001c4880b23c95f0d8c0b5ce" patches: + "2.10.1": + - patch_file: "patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" "2.3.4": - patch_file: "patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch" patch_type: "conan" diff --git a/recipes/fast-dds/all/conanfile.py b/recipes/fast-dds/all/conanfile.py index f65eb37516bb2..d47f222eebac4 100644 --- a/recipes/fast-dds/all/conanfile.py +++ b/recipes/fast-dds/all/conanfile.py @@ -69,12 +69,11 @@ def layout(self): def requirements(self): self.requires("tinyxml2/9.0.0") - self.requires("asio/1.21.0") - self.requires("fast-cdr/1.0.26", transitive_headers=True, transitive_libs=True) + self.requires("asio/1.28.0") + self.requires("fast-cdr/1.0.27", transitive_headers=True, transitive_libs=True) self.requires("foonathan-memory/0.7.3") - self.requires("boost/1.75.0") # boost/1.76 is required by version 2.3.2, boost/1.75.0 required for 2.3.3 by Windows if self.options.with_ssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.cppstd: @@ -91,6 +90,10 @@ def validate(self): # linking dynamic '*.dll' and static MT runtime raise ConanInvalidConfiguration("Mixing a dll {} library with a static runtime is a bad idea".format(self.name)) + def build_requirements(self): + if Version(self.version) >= "2.7.0": + self.tool_requires("cmake/[>=3.16.3 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -163,7 +166,6 @@ def package_info(self): "asio::asio", "tinyxml2::tinyxml2", "foonathan-memory::foonathan-memory", - "boost::boost", ] if self.settings.os in ["Linux", "FreeBSD", "Neutrino"]: self.cpp_info.components["fastrtps"].system_libs.append("pthread") diff --git a/recipes/fast-dds/all/patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch new file mode 100644 index 0000000000000..bada751126e81 --- /dev/null +++ b/recipes/fast-dds/all/patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch @@ -0,0 +1,31 @@ +From b8c533b0fb2b92e9bd2aada5e195d7a0b3c0c6a9 Mon Sep 17 00:00:00 2001 +From: Joakim Haugen +Date: Wed, 10 May 2023 13:17:11 +0200 +Subject: [PATCH] fix find asio and tinyxml2 + +--- + CMakeLists.txt | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b01b2c470..7867feff3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -232,9 +232,11 @@ if(NOT BUILD_SHARED_LIBS) + set(FASTDDS_STATIC ON) + endif() + +-eprosima_find_package(fastcdr REQUIRED) +-eprosima_find_thirdparty(Asio asio VERSION 1.10.8) +-eprosima_find_thirdparty(TinyXML2 tinyxml2) ++eprosima_find_thirdparty(fastcdr REQUIRED) ++eprosima_find_thirdparty(asio REQUIRED) ++eprosima_find_thirdparty(tinyxml2 REQUIRED) ++set(TINYXML2_LIBRARY tinyxml2::tinyxml2) ++set(Asio_INCLUDE_DIR ${asio_INCLUDE_DIR}) + + find_package(foonathan_memory REQUIRED) + message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") +-- +2.30.2 + diff --git a/recipes/fast-dds/config.yml b/recipes/fast-dds/config.yml index e8d99700ff1a0..9d0fe488028aa 100644 --- a/recipes/fast-dds/config.yml +++ b/recipes/fast-dds/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.1": + folder: all "2.3.4": folder: all "2.3.3": From a800c03755241ab130a98a5504513305e506c9a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ft?= Date: Thu, 1 Jun 2023 17:41:51 +0200 Subject: [PATCH 0437/4087] (#17789) magic_enum: Bump to 0.9.1 --- 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 759878c043f07..a2cf39acaa727 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.1": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.1.tar.gz" + sha256: "864798f3146de2bb0da766f87d9a64b1742a5d109661b5bf4fdf839040b854d7" "0.9.0": url: "https://github.com/Neargye/magic_enum/archive/v0.9.0.tar.gz" sha256: "2fb2f602b4660f8af539ee00958132a397e138bda19aa1ceae546de3a143386b" diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index e1638e15ae6fe..a66b904650bec 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.1": + folder: all "0.9.0": folder: all "0.8.2": From 5544439796d6402c79190179cb52794cf88e1a61 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 1 Jun 2023 18:22:06 +0200 Subject: [PATCH 0438/4087] (#17770) [bot] Update list of references (prod-v2/ListPackages) --- .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 fec5b5a843012..819fa84e3c179 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -1,5 +1,6 @@ required_for_references: - 7bitdi +- 7zip - aaf - aaplus - abseil @@ -144,6 +145,7 @@ required_for_references: - cppcheck - cppcodec - cppfront +- cppitertools - cpptoml - cppunit - cpputest @@ -362,12 +364,14 @@ required_for_references: - libmp3lame - libmysqlclient - libnabo +- libnfs - libnghttp2 - libnop - libnova - libnuma - libpcap - libpciaccess +- libpfm4 - libpng - libpq - libpqxx @@ -418,6 +422,7 @@ required_for_references: - lodepng - lua - luau +- lunasvg - lz4 - lzma_sdk - lzo @@ -502,6 +507,7 @@ required_for_references: - picojson - pixman - pkgconf +- plutovg - poco - popt - proj @@ -542,6 +548,7 @@ required_for_references: - ruy - s2n - samurai +- sbepp - scnlib - screen_capture_lite - sdbus-cpp @@ -622,6 +629,7 @@ required_for_references: - vulkan-validationlayers - wasmtime - wasmtime-cpp +- watcher - wayland - wayland-protocols - websocketpp @@ -656,6 +664,7 @@ required_for_references: - yajl - yaml-cpp - yasm +- yyjson - zbar - zeromq - zfp From 9d282f3b8e74feea8e886d5b1c080e1733558e44 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Thu, 1 Jun 2023 09:42:48 -0700 Subject: [PATCH 0439/4087] (#17764) openssl: add versions 1.1.1u/3.0.9/3.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * openssl: add versions 1.1.1u/3.0.9/3.1.1 * openssl: add old mirrors * openssl: revert old mirrors for v3.x.x * Update recipes/openssl/config.yml Co-authored-by: Marian Klymov --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Marian Klymov --- recipes/openssl/1.x.x/conandata.yml | 10 ++++++++++ recipes/openssl/3.x.x/conandata.yml | 14 +++++++++++++- recipes/openssl/config.yml | 9 ++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/recipes/openssl/1.x.x/conandata.yml b/recipes/openssl/1.x.x/conandata.yml index d35e2ee74b6f2..e9abce013a402 100644 --- a/recipes/openssl/1.x.x/conandata.yml +++ b/recipes/openssl/1.x.x/conandata.yml @@ -26,6 +26,12 @@ sources: - "https://www.openssl.org/source/openssl-1.1.1t.tar.gz" - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz" - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1t/openssl-1.1.1t.tar.gz" + 1.1.1u: + sha256: e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6 + url: + - "https://www.openssl.org/source/openssl-1.1.1u.tar.gz" + - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1u.tar.gz" + - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1u/openssl-1.1.1u.tar.gz" patches: 1.0.2u: - patch_file: patches/1.0.2u-darwin-arm64.patch @@ -43,3 +49,7 @@ patches: - patch_file: patches/1.1.1-tvos-watchos.patch patch_description: "TVOS and WatchOS don't like fork()" patch_type: "portability" + 1.1.1u: + - patch_file: patches/1.1.1-tvos-watchos.patch + patch_description: "TVOS and WatchOS don't like fork()" + patch_type: "portability" diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index 460c1e7d062e9..d51b393f65f34 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,8 +1,19 @@ sources: + 3.1.1: + url: + - "https://www.openssl.org/source/openssl-3.1.1.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.1.1/openssl-3.1.1.tar.gz" + sha256: b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674 3.1.0: url: - "https://www.openssl.org/source/openssl-3.1.0.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.1.0/openssl-3.1.0.tar.gz" sha256: aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4 + 3.0.9: + url: + - "https://www.openssl.org/source/openssl-3.0.9.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.0.9/openssl-3.0.9.tar.gz" + sha256: eb1ab04781474360f77c318ab89d8c5a03abc38e63d65a603cabbf1b00a1dc90 3.0.8: url: - "https://www.openssl.org/source/openssl-3.0.8.tar.gz" @@ -14,5 +25,6 @@ sources: - "https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz" sha256: 83049d042a260e696f62406ac5c08bf706fd84383f945cf21bd61e9ed95c396e 3.0.5: - url: https://www.openssl.org/source/openssl-3.0.5.tar.gz + url: + - "https://www.openssl.org/source/openssl-3.0.5.tar.gz" sha256: aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index f69b3734c7256..baf4bcb4f9215 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,7 +1,12 @@ versions: - # 3.0.x releases + # 3.1.x releases + 3.1.1: + folder: "3.x.x" 3.1.0: folder: "3.x.x" + # 3.0.x releases + 3.0.9: + folder: "3.x.x" 3.0.8: folder: "3.x.x" 3.0.7: @@ -10,6 +15,8 @@ versions: folder: "3.x.x" # 1.1.1x releases + 1.1.1u: + folder: "1.x.x" 1.1.1t: folder: "1.x.x" 1.1.1s: From dcac47361e6402e74ba353382ceab4b385b7d869 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Jun 2023 10:01:37 +0900 Subject: [PATCH 0440/4087] (#17794) miniaudio: add version 0.11.17 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/miniaudio/all/conandata.yml | 3 +++ recipes/miniaudio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/miniaudio/all/conandata.yml b/recipes/miniaudio/all/conandata.yml index 0a8c29a2d9d9f..f2557191152c7 100644 --- a/recipes/miniaudio/all/conandata.yml +++ b/recipes/miniaudio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.17": + url: "https://github.com/mackron/miniaudio/archive/0.11.17.tar.gz" + sha256: "4b139065f7068588b73d507d24e865060e942eb731f988ee5a8f1828155b9480" "0.11.16": url: "https://github.com/mackron/miniaudio/archive/refs/tags/0.11.16.tar.gz" sha256: "13320464820491c61bd178b95818fecb7cd0e68f9677d61e1345df6be8d4d77e" diff --git a/recipes/miniaudio/config.yml b/recipes/miniaudio/config.yml index a7faf6cecc196..b40e9165e25a0 100644 --- a/recipes/miniaudio/config.yml +++ b/recipes/miniaudio/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.17": + folder: all "0.11.16": folder: all "0.11.11": From 1f61f4e73bf2f8cf463f88e0819cefbfe98e45ee Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Jun 2023 19:01:49 +0900 Subject: [PATCH 0441/4087] (#17790) uvw: add version 3.1.0 --- recipes/uvw/all/conandata.yml | 3 +++ recipes/uvw/all/conanfile.py | 6 ++++-- recipes/uvw/all/test_package/CMakeLists.txt | 9 ++++++--- recipes/uvw/all/test_package/test_package.cpp | 4 ++++ recipes/uvw/config.yml | 2 ++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/recipes/uvw/all/conandata.yml b/recipes/uvw/all/conandata.yml index 4130a1aca6e4b..f854a4bf38927 100644 --- a/recipes/uvw/all/conandata.yml +++ b/recipes/uvw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.0": + url: "https://github.com/skypjack/uvw/archive/v3.1.0_libuv_v1.45.tar.gz" + sha256: "0a612bd243150fbbe1365cdaf48203d32061c1d14f93825a31876b183922f93b" "2.12.1": url: "https://github.com/skypjack/uvw/archive/v2.12.1_libuv_v1.44.tar.gz" sha256: "3460842778e91e7d2fae4201e49e4521e9d94fbbf3891ae6c52d3c9fc0673598" diff --git a/recipes/uvw/all/conanfile.py b/recipes/uvw/all/conanfile.py index 6b312583aebcd..80186b62e3cfa 100644 --- a/recipes/uvw/all/conanfile.py +++ b/recipes/uvw/all/conanfile.py @@ -13,13 +13,13 @@ class UvwConan(ConanFile): name = "uvw" description = "Header-only, event based, tiny and easy to use libuv wrapper in modern C++." - topics = ("libuv", "io", "networking", "header-only",) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/skypjack/uvw" + topics = ("libuv", "io", "networking", "header-only",) package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "compiler" @property def _min_cppstd(self): @@ -29,6 +29,7 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", + "msvc": "191", "gcc": "7", "clang": "5", "apple-clang": "10", @@ -37,6 +38,7 @@ def _compilers_minimum_version(self): @property def _required_libuv_version(self): return { + "3.1.0": "1.45.0", "2.12.1": "1.44.2", "2.11.0": "1.43.0", "2.10.0": "1.42.0", diff --git a/recipes/uvw/all/test_package/CMakeLists.txt b/recipes/uvw/all/test_package/CMakeLists.txt index 2040ab68d4259..1bad80ec9ab42 100644 --- a/recipes/uvw/all/test_package/CMakeLists.txt +++ b/recipes/uvw/all/test_package/CMakeLists.txt @@ -1,8 +1,11 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(uvw REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} uvw::uvw) +target_link_libraries(${PROJECT_NAME} PRIVATE uvw::uvw) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +if(uvw_VERSION VERSION_GREATER_EQUAL "3.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE UVW_API_3_0) +endif() diff --git a/recipes/uvw/all/test_package/test_package.cpp b/recipes/uvw/all/test_package/test_package.cpp index 79042982db2f2..864863c297929 100644 --- a/recipes/uvw/all/test_package/test_package.cpp +++ b/recipes/uvw/all/test_package/test_package.cpp @@ -1,5 +1,9 @@ #include int main() { +#ifdef UVW_API_3_0 + uvw::loop::get_default(); +#else uvw::Loop::getDefault(); +#endif } diff --git a/recipes/uvw/config.yml b/recipes/uvw/config.yml index 92580e1d6336d..e703f58ea9d08 100644 --- a/recipes/uvw/config.yml +++ b/recipes/uvw/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.0": + folder: "all" "2.12.1": folder: "all" "2.11.0": From 5436bffb47ef9af1ad707071363bd0a4cf561947 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:01:56 +0200 Subject: [PATCH 0442/4087] (#17795) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 819fa84e3c179..4fed5ec701d39 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -42,6 +42,7 @@ required_for_references: - autoconf - automake - avir +- aws-c-cal - aws-c-common - aws-c-compression - aws-c-sdkutils @@ -476,6 +477,7 @@ required_for_references: - openal - openal-soft - openapi-generator +- opencl-clhpp-headers - opencl-headers - opencl-icd-loader - openexr @@ -594,6 +596,7 @@ required_for_references: - termcap - threadpool - thrift +- thrust - tinycthread - tinycthreadpool - tinyexif @@ -604,6 +607,7 @@ required_for_references: - tlx - toml11 - trantor +- turtle - uni-algo - unicorn - univalue @@ -646,6 +650,7 @@ required_for_references: - xerces-c - xkbcommon - xkeyboard-config +- xlsxio - xmlsec - xnnpack - xorg From 881895ba172d45775cab53d20d11969213cb9a30 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:22:02 +0100 Subject: [PATCH 0443/4087] (#17788) jasper: remove windows sdk workaround * jasper: remove windows sdk workaround * Update conanfile.py --- recipes/jasper/all/conanfile.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/recipes/jasper/all/conanfile.py b/recipes/jasper/all/conanfile.py index 86a1c7f3eefd5..6bc3bfb690d58 100644 --- a/recipes/jasper/all/conanfile.py +++ b/recipes/jasper/all/conanfile.py @@ -2,7 +2,6 @@ from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save -from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os import textwrap @@ -75,12 +74,6 @@ def generate(self): tc.cache_variables["JAS_CROSSCOMPILING"] = True tc.cache_variables["JAS_STDC_VERSION"] = "199901L" - # TODO: Remove after fixing https://github.com/conan-io/conan-center-index/issues/13159 - # C3I workaround to force CMake to choose the highest version of - # the windows SDK available in the system - if is_msvc(self) and not self.conf.get("tools.cmake.cmaketoolchain:system_version"): - tc.variables["CMAKE_SYSTEM_VERSION"] = "10.0" - tc.generate() cmakedeps = CMakeDeps(self) From 70bb1cd5a81d7527741e2e4a2eac041c6571cffd Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 2 Jun 2023 23:03:08 +0900 Subject: [PATCH 0444/4087] (#17785) etl: add version 20.36.0, minor improvements --- recipes/etl/all/conandata.yml | 3 +++ recipes/etl/all/conanfile.py | 7 +++++-- recipes/etl/all/test_package/CMakeLists.txt | 4 ++-- recipes/etl/all/test_package/conanfile.py | 1 + recipes/etl/config.yml | 2 ++ 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index 8cb6346b5426d..54b5c71761334 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.36.0": + url: "https://github.com/ETLCPP/etl/archive/20.36.0.tar.gz" + sha256: "bcab607d619008c7e3942ecc9cb429e17deb553c81bc5f1fd013fbc1e17f1344" "20.35.14": url: "https://github.com/ETLCPP/etl/archive/20.35.14.tar.gz" sha256: "6af1baf039d38f405f932451615f9bcf227f5767b463f33e17fcbbbc02e4632e" diff --git a/recipes/etl/all/conanfile.py b/recipes/etl/all/conanfile.py index 2eacebb25e1f6..b0f40f7104e26 100644 --- a/recipes/etl/all/conanfile.py +++ b/recipes/etl/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.tools.files import get, copy, save +from conan.tools.layout import basic_layout import os import textwrap @@ -18,12 +19,14 @@ class EmbeddedTemplateLibraryConan(ConanFile): 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 build(self): pass diff --git a/recipes/etl/all/test_package/CMakeLists.txt b/recipes/etl/all/test_package/CMakeLists.txt index 5755c51bbf480..b8e7aee7d9458 100644 --- a/recipes/etl/all/test_package/CMakeLists.txt +++ b/recipes/etl/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(etl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -target_link_libraries(${PROJECT_NAME} etl) +target_link_libraries(${PROJECT_NAME} PRIVATE etl) diff --git a/recipes/etl/all/test_package/conanfile.py b/recipes/etl/all/test_package/conanfile.py index 220ec13c13be3..ef412253ccf80 100644 --- a/recipes/etl/all/test_package/conanfile.py +++ b/recipes/etl/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/etl/config.yml b/recipes/etl/config.yml index 8fa9e8f7bd7b9..f15a6f212d97e 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.36.0": + folder: all "20.35.14": folder: all "20.35.11": From 09df84735d9bd1ecefe5175ef1aed6e4fa26c7c2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 3 Jun 2023 08:01:32 +0900 Subject: [PATCH 0445/4087] (#17804) daw_header_libraries: add version 2.93.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 235989d757184..29376e7702ee0 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 622972bcce45d..1983a1c07c015 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.93.1": + folder: all "2.92.0": folder: all "2.88.0": From 450bf37c5fc7b324df356052c9881bbf655607cd Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Sat, 3 Jun 2023 01:41:35 +0200 Subject: [PATCH 0446/4087] (#17803) Update SObjectizer v.5.7.4 --- recipes/sobjectizer/all/conandata.yml | 3 +++ recipes/sobjectizer/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sobjectizer/all/conandata.yml b/recipes/sobjectizer/all/conandata.yml index d2eb9bdc8e4eb..b8c5263a27c95 100644 --- a/recipes/sobjectizer/all/conandata.yml +++ b/recipes/sobjectizer/all/conandata.yml @@ -30,3 +30,6 @@ sources: "5.7.4.3": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.3.tar.gz" sha256: "ef54ec1c8c5c05a415e44a67ef02e95550b480594e459ccedab5a49d8c909a56" + "5.7.5": + url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.5.tar.gz" + sha256: "282b7c72f6a6ee30b9c08b5339c3e327452903e1b246a163a7c8e57b3e37932f" diff --git a/recipes/sobjectizer/config.yml b/recipes/sobjectizer/config.yml index 1e9d92d9b1885..31292d0fc4747 100644 --- a/recipes/sobjectizer/config.yml +++ b/recipes/sobjectizer/config.yml @@ -19,3 +19,5 @@ versions: folder: all "5.7.4.3": folder: all + "5.7.5": + folder: all From 1a030686d16d5459b8146d389d9b47c8622e8055 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 3 Jun 2023 14:02:03 +0900 Subject: [PATCH 0447/4087] (#17807) svector: add version 1.0.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/svector/all/conandata.yml | 3 +++ recipes/svector/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/svector/all/conandata.yml b/recipes/svector/all/conandata.yml index 876425a447ec4..0a0746084cf0e 100644 --- a/recipes/svector/all/conandata.yml +++ b/recipes/svector/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.3": + url: "https://github.com/martinus/svector/archive/v1.0.3.tar.gz" + sha256: "40d597f5d8ade27059bef49012f23f2147c1a7dfbcd45492bb1057620c434b4f" "1.0.2": url: "https://github.com/martinus/svector/archive/refs/tags/v1.0.2.tar.gz" sha256: "317743113aff89c7c11682ad7ed504a043885be7497f791cb393ba5a7a8d3c41" diff --git a/recipes/svector/config.yml b/recipes/svector/config.yml index 8457ca9a4a8cd..f625d5d2b747f 100644 --- a/recipes/svector/config.yml +++ b/recipes/svector/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.3": + folder: all "1.0.2": folder: all From 60c752ced20d3c0b8aeef567956511c87c1e19ab Mon Sep 17 00:00:00 2001 From: Marek Kwasecki Date: Sat, 3 Jun 2023 09:03:00 +0200 Subject: [PATCH 0448/4087] (#17428) Add libmemcached library * Add libmemcached library * Update conanfile.py removed version attribute * Review tips * empty lines * fix example * For moderm Mac OS 13 that part of the patch isn't needed anymore * #error requires compiler support for the ISO C++ 2011 standard from: memcached.h:46 including: cinttypes:35 * KB-H043 Library './lib/libmemcached.so' links to system library 'm' but it is not in cpp_info.system_libs. * use tools.apple.is_apple_os instead of checking exclusively for Macos --- recipes/libmemcached/all/conandata.yml | 9 + recipes/libmemcached/all/conanfile.py | 99 ++++++++ .../all/patches/01-compile-fix.patch | 218 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 9 + .../all/test_package/conanfile.py | 28 +++ .../all/test_package/src/example.cpp | 7 + .../all/test_v1_package/CMakeLists.txt | 10 + .../all/test_v1_package/conanfile.py | 20 ++ recipes/libmemcached/config.yml | 3 + 9 files changed, 403 insertions(+) create mode 100644 recipes/libmemcached/all/conandata.yml create mode 100644 recipes/libmemcached/all/conanfile.py create mode 100644 recipes/libmemcached/all/patches/01-compile-fix.patch create mode 100644 recipes/libmemcached/all/test_package/CMakeLists.txt create mode 100644 recipes/libmemcached/all/test_package/conanfile.py create mode 100644 recipes/libmemcached/all/test_package/src/example.cpp create mode 100644 recipes/libmemcached/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libmemcached/all/test_v1_package/conanfile.py create mode 100644 recipes/libmemcached/config.yml diff --git a/recipes/libmemcached/all/conandata.yml b/recipes/libmemcached/all/conandata.yml new file mode 100644 index 0000000000000..10b3ba148bd9a --- /dev/null +++ b/recipes/libmemcached/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.0.18": + url: "https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz" + sha256: "e22c0bb032fde08f53de9ffbc5a128233041d9f33b5de022c0978a2149885f82" + +patches: + "1.0.18": + - patch_file: "patches/01-compile-fix.patch" + patch_description: "fix compilation on MacOS" diff --git a/recipes/libmemcached/all/conanfile.py b/recipes/libmemcached/all/conanfile.py new file mode 100644 index 0000000000000..8fb59fdd42cd6 --- /dev/null +++ b/recipes/libmemcached/all/conanfile.py @@ -0,0 +1,99 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.build import cross_building +from conan.tools.files import apply_conandata_patches, get, copy, export_conandata_patches, rm, rmdir +from conan.tools.layout import basic_layout +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os + +import os + +required_conan_version = ">=1.54.0" + +class LibmemcachedConan(ConanFile): + name = "libmemcached" + + # Optional metadata + license = "BSD License" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://libmemcached.org/" + description = "libmemcached is a C client library for interfacing to a memcached server" + topics = ("cache", "network", "cloud") + # package_type should usually be "library" (if there is shared option) + package_type = "library" + + # Binary configuration + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False], + "sasl": [True, False] + } + default_options = {"shared": False, + "fPIC": True, + "sasl": False} + + def source(self): + get(self, **self.conan_data["sources"][self.version], + strip_root=True, destination=self.source_folder) + + def export_sources(self): + export_conandata_patches(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): + # src_folder must use the same source folder name the project + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"] or not is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + + def _patch_source(self): + apply_conandata_patches(self) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.configure_args.append('--disable-dependency-tracking') + if not self.options.sasl: + tc.configure_args.append("--disable-sasl") + tc.generate() + + AutotoolsDeps(self).generate() + + def build(self): + self._patch_source() + + 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")) + + autotools = Autotools(self) + autotools.install() + + # 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 = ["memcached"] + self.cpp_info.system_libs = ["m"] + diff --git a/recipes/libmemcached/all/patches/01-compile-fix.patch b/recipes/libmemcached/all/patches/01-compile-fix.patch new file mode 100644 index 0000000000000..368bfda4321ab --- /dev/null +++ b/recipes/libmemcached/all/patches/01-compile-fix.patch @@ -0,0 +1,218 @@ +diff --git a/clients/memflush.cc b/clients/memflush.cc +index 8bd0dbf..cdba743 100644 +--- a/clients/memflush.cc ++++ b/clients/memflush.cc +@@ -39,7 +39,7 @@ int main(int argc, char *argv[]) + { + options_parse(argc, argv); + +- if (opt_servers == false) ++ if (opt_servers == NULL) + { + char *temp; + +@@ -48,7 +48,7 @@ int main(int argc, char *argv[]) + opt_servers= strdup(temp); + } + +- if (opt_servers == false) ++ if (opt_servers == NULL) + { + std::cerr << "No Servers provided" << std::endl; + exit(EXIT_FAILURE); +diff --git a/example/byteorder.cc b/example/byteorder.cc +index fdfa021..8c03d35 100644 +--- a/example/byteorder.cc ++++ b/example/byteorder.cc +@@ -42,27 +42,59 @@ + #include + + /* Byte swap a 64-bit number. */ +-#ifndef swap64 +-static inline uint64_t swap64(uint64_t in) +-{ +-#ifndef WORDS_BIGENDIAN +- /* Little endian, flip the bytes around until someone makes a faster/better ++#if !defined(htonll) && !defined(ntohll) ++#if __BYTE_ORDER == __LITTLE_ENDIAN ++# if defined(__FreeBSD__) ++# include ++# define htonll(x) bswap64(x) ++# define ntohll(x) bswap64(x) ++# elif defined(__APPLE__) ++# include ++# define htonll(x) OSSwapInt64(x) ++# define ntohll(x) OSSwapInt64(x) ++# elif defined(__OpenBSD__) ++# include ++# define htonll(x) swap64(x) ++# define ntohll(x) swap64(x) ++# elif defined(__NetBSD__) ++# include ++# include ++# if defined(__BSWAP_RENAME) && !defined(__bswap_32) ++# define htonll(x) bswap64(x) ++# define ntohll(x) bswap64(x) ++# endif ++# elif defined(__sun) || defined(sun) ++# include ++# define htonll(x) BSWAP_64(x) ++# define ntohll(x) BSWAP_64(x) ++# elif defined(_MSC_VER) ++# include ++# define htonll(x) _byteswap_uint64(x) ++# define ntohll(x) _byteswap_uint64(x) ++# else ++# include ++# ifndef bswap_64 ++ /* Little endian, flip the bytes around until someone makes a faster/better + * way to do this. */ +- uint64_t rv= 0; +- for (uint8_t x= 0; x < 8; x++) +- { +- rv= (rv << 8) | (in & 0xff); +- in >>= 8; +- } +- return rv; ++ static inline uint64_t bswap_64(uint64_t in) ++ { ++ uint64_t rv= 0; ++ for (uint8_t x= 0; x < 8; x++) ++ { ++ rv= (rv << 8) | (in & 0xff); ++ in >>= 8; ++ } ++ return rv; ++ } ++# endif ++# define htonll(x) bswap_64(x) ++# define ntohll(x) bswap_64(x) ++# endif + #else +- /* big-endian machines don't need byte swapping */ +- return in; +-#endif // WORDS_BIGENDIAN +-} ++# define htonll(x) (x) ++# define ntohll(x) (x) ++#endif + #endif +- +-#ifdef HAVE_HTONLL + + uint64_t example_ntohll(uint64_t value) + { +@@ -73,17 +105,3 @@ uint64_t example_htonll(uint64_t value) + { + return htonll(value); + } +- +-#else // HAVE_HTONLL +- +-uint64_t example_ntohll(uint64_t value) +-{ +- return swap64(value); +-} +- +-uint64_t example_htonll(uint64_t value) +-{ +- return swap64(value); +-} +- +-#endif // HAVE_HTONLL +diff --git a/libmemcached/byteorder.cc b/libmemcached/byteorder.cc +index 9f11aa8..f167822 100644 +--- a/libmemcached/byteorder.cc ++++ b/libmemcached/byteorder.cc +@@ -39,41 +39,66 @@ + #include "libmemcached/byteorder.h" + + /* Byte swap a 64-bit number. */ +-#ifndef swap64 +-static inline uint64_t swap64(uint64_t in) +-{ +-#ifndef WORDS_BIGENDIAN +- /* Little endian, flip the bytes around until someone makes a faster/better ++#if !defined(htonll) && !defined(ntohll) ++#if __BYTE_ORDER == __LITTLE_ENDIAN ++# if defined(__FreeBSD__) ++# include ++# define htonll(x) bswap64(x) ++# define ntohll(x) bswap64(x) ++# elif defined(__APPLE__) ++# include ++# define htonll(x) OSSwapInt64(x) ++# define ntohll(x) OSSwapInt64(x) ++# elif defined(__OpenBSD__) ++# include ++# define htonll(x) swap64(x) ++# define ntohll(x) swap64(x) ++# elif defined(__NetBSD__) ++# include ++# include ++# if defined(__BSWAP_RENAME) && !defined(__bswap_32) ++# define htonll(x) bswap64(x) ++# define ntohll(x) bswap64(x) ++# endif ++# elif defined(__sun) || defined(sun) ++# include ++# define htonll(x) BSWAP_64(x) ++# define ntohll(x) BSWAP_64(x) ++# elif defined(_MSC_VER) ++# include ++# define htonll(x) _byteswap_uint64(x) ++# define ntohll(x) _byteswap_uint64(x) ++# else ++# include ++# ifndef bswap_64 ++ /* Little endian, flip the bytes around until someone makes a faster/better + * way to do this. */ +- uint64_t rv= 0; +- for (uint8_t x= 0; x < 8; ++x) +- { +- rv= (rv << 8) | (in & 0xff); +- in >>= 8; +- } +- return rv; ++ static inline uint64_t bswap_64(uint64_t in) ++ { ++ uint64_t rv= 0; ++ for (uint8_t x= 0; x < 8; x++) ++ { ++ rv= (rv << 8) | (in & 0xff); ++ in >>= 8; ++ } ++ return rv; ++ } ++# endif ++# define htonll(x) bswap_64(x) ++# define ntohll(x) bswap_64(x) ++# endif + #else +- /* big-endian machines don't need byte swapping */ +- return in; +-#endif // WORDS_BIGENDIAN +-} ++# define htonll(x) (x) ++# define ntohll(x) (x) ++#endif + #endif +- + + uint64_t memcached_ntohll(uint64_t value) + { +-#ifdef HAVE_HTONLL + return ntohll(value); +-#else +- return swap64(value); +-#endif + } + + uint64_t memcached_htonll(uint64_t value) + { +-#ifdef HAVE_HTONLL + return htonll(value); +-#else +- return swap64(value); +-#endif + } diff --git a/recipes/libmemcached/all/test_package/CMakeLists.txt b/recipes/libmemcached/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..453e1be414e2c --- /dev/null +++ b/recipes/libmemcached/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 11) + +find_package(libmemcached REQUIRED) + +add_executable(${PROJECT_NAME} src/example.cpp) +#target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} libmemcached::libmemcached) diff --git a/recipes/libmemcached/all/test_package/conanfile.py b/recipes/libmemcached/all/test_package/conanfile.py new file mode 100644 index 0000000000000..6bf32dfafa72f --- /dev/null +++ b/recipes/libmemcached/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +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/libmemcached/all/test_package/src/example.cpp b/recipes/libmemcached/all/test_package/src/example.cpp new file mode 100644 index 0000000000000..5f730988f2265 --- /dev/null +++ b/recipes/libmemcached/all/test_package/src/example.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + std::cout << memcached_lib_version() << '\n'; + return 0; +} diff --git a/recipes/libmemcached/all/test_v1_package/CMakeLists.txt b/recipes/libmemcached/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..8b0d38c4a2f57 --- /dev/null +++ b/recipes/libmemcached/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 11) + +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/libmemcached/all/test_v1_package/conanfile.py b/recipes/libmemcached/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..395686390e2f2 --- /dev/null +++ b/recipes/libmemcached/all/test_v1_package/conanfile.py @@ -0,0 +1,20 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/libmemcached/config.yml b/recipes/libmemcached/config.yml new file mode 100644 index 0000000000000..701bdddc9bca6 --- /dev/null +++ b/recipes/libmemcached/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.18": + folder: all From bf7de71328d956ee006d1d449ce602c3300c64fc Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 3 Jun 2023 16:41:32 +0900 Subject: [PATCH 0449/4087] (#17808) octo-logger-cpp: add version 1.4.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 eecbf7a0bd2d8..035fe6943e202 100644 --- a/recipes/octo-logger-cpp/all/conandata.yml +++ b/recipes/octo-logger-cpp/all/conandata.yml @@ -5,3 +5,6 @@ sources: "1.2.0": sha256: 54381d6dbc80c6be6d8b9e087a4b55fae6ff5d07c3c2399bc7e1c94252260bf2 url: https://github.com/ofiriluz/octo-logger-cpp/archive/refs/tags/v1.2.0.tar.gz + "1.4.0": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.4.0.tar.gz" + sha256: "6aacbab0e57917a935e0f9741e52a57ecac21785ba49aaafec5775030208a153" diff --git a/recipes/octo-logger-cpp/config.yml b/recipes/octo-logger-cpp/config.yml index ee6c707d3f79c..14adddf7ca35b 100644 --- a/recipes/octo-logger-cpp/config.yml +++ b/recipes/octo-logger-cpp/config.yml @@ -3,3 +3,5 @@ versions: folder: "all" "1.2.0": folder: "all" + "1.4.0": + folder: "all" From e1162e2a724c98d6ae5ab4a143eea3cd8a9e4adb Mon Sep 17 00:00:00 2001 From: James Date: Sat, 3 Jun 2023 10:22:09 +0200 Subject: [PATCH 0450/4087] (#17763) Libwebsockets support for conan2 * wip * working * force Windows SDK version * patch sources in build() because it is conditional * libwebsockets: remove cmake system version workaround --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/libwebsockets/all/CMakeLists.txt | 7 - recipes/libwebsockets/all/conanfile.py | 364 +++++++++--------- .../all/test_package/CMakeLists.txt | 3 - .../all/test_package/conanfile.py | 23 +- 4 files changed, 194 insertions(+), 203 deletions(-) delete mode 100644 recipes/libwebsockets/all/CMakeLists.txt diff --git a/recipes/libwebsockets/all/CMakeLists.txt b/recipes/libwebsockets/all/CMakeLists.txt deleted file mode 100644 index f3c9da822bfbd..0000000000000 --- a/recipes/libwebsockets/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory("source_subfolder") diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index c2dfe332c1332..12c738824025c 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -1,9 +1,13 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException, ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanException, ConanInvalidConfiguration +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.tools.files import get, replace_in_file, rmdir, copy, save, collect_libs +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.56.0" class LibwebsocketsConan(ConanFile): @@ -185,17 +189,8 @@ class LibwebsocketsConan(ConanFile): "enable_spawn": False } - exports_sources = "CMakeLists.txt" - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] + def layout(self): + cmake_layout(self, src_folder="src") def config_options(self): if self.settings.os == "Windows": @@ -203,9 +198,9 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def requirements(self): if self.options.with_libuv: @@ -217,7 +212,7 @@ def requirements(self): self.requires("libev/4.33") if self.options.with_zlib == "zlib": - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") elif self.options.with_zlib == "miniz": self.requires("miniz/2.2.0") @@ -228,33 +223,35 @@ def requirements(self): self.requires("sqlite3/3.37.2") if self.options.with_ssl == "openssl": - self.requires("openssl/1.1.1o") + # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail + self.requires("openssl/1.1.1t", transitive_headers=True) elif self.options.with_ssl == "mbedtls": self.requires("mbedtls/2.25.0") elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/4.8.1") def validate(self): - if self.options.shared and self.settings.compiler == "gcc" and tools.Version(self.settings.compiler.version) < "5": + if self.options.shared and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": # https://github.com/conan-io/conan-center-index/pull/5321#issuecomment-826367276 raise ConanInvalidConfiguration("{}/{} shared=True with gcc<5 does not build. Please submit a PR with a fix.".format(self.name, self.version)) - if tools.Version(self.version) <= "4.0.15" and self.settings.compiler == "apple-clang" and tools.Version(self.settings.compiler.version) >= "12": + if Version(self.version) <= "4.0.15" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) >= "12": raise ConanInvalidConfiguration("{}/{} with apple-clang>=12 does not build. Please submit a PR with a fix.".format(self.name, self.version)) - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) < 16 and tools.Version(self.version) >= "4.3.2": - raise ConanInvalidConfiguration ("{}/{} requires at least Visual Studio 2019".format(self.name, self.version)) + if Version(self.version) >= "4.3.2": + if ("Visual" in str(self.settings.compiler.version) and Version(self.settings.compiler.version) < 16) or \ + ("msvc" == str(self.settings.compiler.version) and Version(self.settings.compiler.version) < 192): + raise ConanInvalidConfiguration ("{}/{} requires at least Visual Studio 2019".format(self.name, self.version)) if self.options.with_hubbub: raise ConanInvalidConfiguration("Library hubbub not implemented (yet) in CCI") # TODO - Add hubbub package when available. 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 _get_library_extension(self, dep): - if self.options[dep].shared: + if self.dependencies[dep].options.shared: if self.settings.os == "Windows" : - if self._is_msvc: + if is_msvc(self): return ".lib" else: return ".dll.a" @@ -263,212 +260,202 @@ def _get_library_extension(self, dep): else: return ".so" else: - if self.settings.os == "Windows" and self._is_msvc: + if self.settings.os == "Windows" and is_msvc(self): return ".lib" else: return ".a" - @property - def _get_library_prefix(self): - if self.settings.os == "Windows" : - return "" - return "lib" - def _cmakify_path_list(self, paths): return ";".join(paths).replace("\\", "/") def _find_library(self, libname, dep): - for path in self.deps_cpp_info[dep].lib_paths: - lib_fullpath = os.path.join(path, self._get_library_prefix + libname + self._get_library_extension(dep)) - - print("Test : " + str(lib_fullpath)) + prefix = "lib" if self.settings.os != "Windows" else "" + for path in self.dependencies[dep].cpp_info.libdirs: + lib_fullpath = os.path.join(path, prefix + libname + self._get_library_extension(dep)) + self.output.info("Dependency library full path : " + str(lib_fullpath)) if os.path.isfile(lib_fullpath): return lib_fullpath raise ConanException("Library {} not found".format(lib_fullpath)) def _find_libraries(self, dep): - return [self._find_library(lib, dep) for lib in self.deps_cpp_info[dep].libs] - - def _configure_cmake(self): - if self._cmake is not None: - return self._cmake - - self._cmake = CMake(self) - self._cmake.definitions["LWS_WITHOUT_TESTAPPS"] = True - self._cmake.definitions["LWS_WITHOUT_TEST_SERVER"] = True - self._cmake.definitions["LWS_WITHOUT_TEST_SERVER_EXTPOLL"] = True - self._cmake.definitions["LWS_WITHOUT_TEST_PING"] = True - self._cmake.definitions["LWS_WITHOUT_TEST_CLIENT"] = True - - self._cmake.definitions["LWS_LINK_TESTAPPS_DYNAMIC"] = True - self._cmake.definitions["LWS_WITH_SHARED"] = self.options.shared - self._cmake.definitions["LWS_WITH_STATIC"] = not self.options.shared - self._cmake.definitions["LWS_WITH_SSL"] = bool(self.options.with_ssl) + aggregated = self.dependencies[dep].cpp_info.aggregated_components() + result = [self._find_library(lib, dep) for lib in aggregated.libs] + return result + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LWS_WITHOUT_TESTAPPS"] = True + tc.variables["LWS_WITHOUT_TEST_SERVER"] = True + tc.variables["LWS_WITHOUT_TEST_SERVER_EXTPOLL"] = True + tc.variables["LWS_WITHOUT_TEST_PING"] = True + tc.variables["LWS_WITHOUT_TEST_CLIENT"] = True + + tc.variables["LWS_LINK_TESTAPPS_DYNAMIC"] = True + tc.variables["LWS_WITH_SHARED"] = self.options.shared + tc.variables["LWS_WITH_STATIC"] = not self.options.shared + tc.variables["LWS_WITH_SSL"] = bool(self.options.with_ssl) if self.options.with_ssl == "openssl": - self._cmake.definitions["LWS_OPENSSL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("openssl")) - self._cmake.definitions["LWS_OPENSSL_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["openssl"].include_paths) + tc.variables["LWS_OPENSSL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("openssl")) + tc.variables["LWS_OPENSSL_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["openssl"].cpp_info.includedirs) elif self.options.with_ssl == "mbedtls": - self._cmake.definitions["LWS_WITH_MBEDTLS"] = True - self._cmake.definitions["LWS_MBEDTLS_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("mbedtls")) - self._cmake.definitions["LWS_MBEDTLS_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["mbedtls"].include_paths) + tc.variables["LWS_WITH_MBEDTLS"] = True + tc.variables["LWS_MBEDTLS_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("mbedtls")) + tc.variables["LWS_MBEDTLS_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["mbedtls"].cpp_info.includedirs) elif self.options.with_ssl == "wolfssl": - self._cmake.definitions["LWS_WITH_WOLFSSL"] = True - self._cmake.definitions["LWS_WOLFSSL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("wolfssl")) - self._cmake.definitions["LWS_WOLFSSL_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["wolfssl"].include_paths) + tc.variables["LWS_WITH_WOLFSSL"] = True + tc.variables["LWS_WOLFSSL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("wolfssl")) + tc.variables["LWS_WOLFSSL_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["wolfssl"].cpp_info.includedirs) else: - self._cmake.definitions["LWS_WITH_WOLFSSL"] = False + tc.variables["LWS_WITH_WOLFSSL"] = False - self._cmake.definitions["LWS_WITH_LIBEV"] = self.options.with_libevent == "libev" + tc.variables["LWS_WITH_LIBEV"] = self.options.with_libevent == "libev" if self.options.with_libevent == "libev": - self._cmake.definitions["LWS_LIBEV_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libev")) - self._cmake.definitions["LWS_LIBEV_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["libev"].include_paths).replace("\\", "/") + tc.variables["LWS_LIBEV_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libev")) + tc.variables["LWS_LIBEV_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["libev"].cpp_info.includedirs).replace("\\", "/") - self._cmake.definitions["LWS_WITH_LIBUV"] = self.options.with_libuv + tc.variables["LWS_WITH_LIBUV"] = self.options.with_libuv if self.options.with_libuv: - self._cmake.definitions["LWS_LIBUV_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libuv")) - self._cmake.definitions["LWS_LIBUV_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["libuv"].include_paths) + tc.variables["LWS_LIBUV_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libuv")) + tc.variables["LWS_LIBUV_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["libuv"].cpp_info.includedirs) - self._cmake.definitions["LWS_WITH_LIBEVENT"] = self.options.with_libevent == "libevent" + tc.variables["LWS_WITH_LIBEVENT"] = self.options.with_libevent == "libevent" if self.options.with_libevent == "libevent": - self._cmake.definitions["LWS_LIBEVENT_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libevent")) - self._cmake.definitions["LWS_LIBEVENT_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["libevent"].include_paths) + tc.variables["LWS_LIBEVENT_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libevent")) + tc.variables["LWS_LIBEVENT_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["libevent"].cpp_info.includedirs) - self._cmake.definitions["LWS_WITH_ZLIB"] = self.options.with_zlib != False - self._cmake.definitions["LWS_WITH_MINIZ"] = self.options.with_zlib == "miniz" - self._cmake.definitions["LWS_WITH_BUNDLED_ZLIB"] = self.options.with_zlib == "bundled" + tc.variables["LWS_WITH_ZLIB"] = self.options.with_zlib != False + tc.variables["LWS_WITH_MINIZ"] = self.options.with_zlib == "miniz" + tc.variables["LWS_WITH_BUNDLED_ZLIB"] = self.options.with_zlib == "bundled" if self.options.with_zlib == "zlib": - self._cmake.definitions["LWS_ZLIB_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("zlib")) - self._cmake.definitions["LWS_ZLIB_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["zlib"].include_paths) + tc.variables["LWS_ZLIB_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("zlib")) + tc.variables["LWS_ZLIB_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["zlib"].cpp_info.includedirs) elif self.options.with_zlib == "miniz": - self._cmake.definitions["MINIZ_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("miniz")) - self._cmake.definitions["MINIZ_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["miniz"].include_paths) + tc.variables["MINIZ_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("miniz")) + tc.variables["MINIZ_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["miniz"].cpp_info.includedirs) - self._cmake.definitions["LWS_WITH_SQLITE3"] = self.options.with_sqlite3 + tc.variables["LWS_WITH_SQLITE3"] = self.options.with_sqlite3 if self.options.with_sqlite3: - self._cmake.definitions["LWS_SQLITE3_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("sqlite3")) - self._cmake.definitions["LWS_SQLITE3_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["sqlite3"].include_paths) + tc.variables["LWS_SQLITE3_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("sqlite3")) + tc.variables["LWS_SQLITE3_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["sqlite3"].cpp_info.includedirs) - self._cmake.definitions["LWS_WITH_FSMOUNT"] = self.options.with_libmount + tc.variables["LWS_WITH_FSMOUNT"] = self.options.with_libmount if self.options.with_libmount: - self._cmake.definitions["LWS_LIBMOUNT_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libmount")) - self._cmake.definitions["LWS_LIBMOUNT_INCLUDE_DIRS"] = self._cmakify_path_list(self.deps_cpp_info["libmount"].include_paths) - - self._cmake.definitions["LWS_WITH_HUBBUB"] = self.options.with_hubbub - - self._cmake.definitions["LWS_SSL_CLIENT_USE_OS_CA_CERTS"] = self.options.ssl_client_use_os_ca_certs - self._cmake.definitions["LWS_SSL_SERVER_WITH_ECDH_CERT"] = self.options.ssl_server_with_ecdh_cert - - self._cmake.definitions["LWS_WITH_NETWORK"] = self.options.enable_network - self._cmake.definitions["LWS_ROLE_H1"] = self.options.role_h1 - self._cmake.definitions["LWS_ROLE_WS"] = self.options.role_ws - self._cmake.definitions["LWS_ROLE_MQTT"] = self.options.role_mqtt - self._cmake.definitions["LWS_ROLE_DBUS"] = self.options.role_dbus - self._cmake.definitions["LWS_ROLE_RAW_PROXY"] = self.options.role_raw_proxy - self._cmake.definitions["LWS_ROLE_RAW_FILE"] = self.options.role_raw_file - self._cmake.definitions["LWS_WITH_HTTP2"] = self.options.enable_http2 - self._cmake.definitions["LWS_WITH_LWSWS"] = self.options.enable_lwsws - self._cmake.definitions["LWS_WITH_CGI"] = self.options.enable_cgi - self._cmake.definitions["LWS_IPV6"] = self.options.enable_ipv6 - self._cmake.definitions["LWS_UNIX_SOCK"] = self.options.enable_unix_sock - self._cmake.definitions["LWS_WITH_PLUGINS"] = self.options.enable_plugins - self._cmake.definitions["LWS_WITH_HTTP_PROXY"] = self.options.enable_http_proxy - self._cmake.definitions["LWS_WITH_ZIP_FOPS"] = self.options.enable_zip_fops - self._cmake.definitions["LWS_WITH_SOCKS5"] = self.options.enable_socks5 - self._cmake.definitions["LWS_WITH_GENERIC_SESSIONS"] = self.options.enable_generic_sessions - self._cmake.definitions["LWS_WITH_PEER_LIMITS"] = self.options.enable_peer_limits - self._cmake.definitions["LWS_WITH_ACCESS_LOG"] = self.options.enable_access_log - self._cmake.definitions["LWS_WITH_RANGES"] = self.options.enable_ranges - self._cmake.definitions["LWS_WITH_SERVER_STATUS"] = self.options.enable_server_status - self._cmake.definitions["LWS_WITH_THREADPOOL"] = self.options.enable_threadpool - self._cmake.definitions["LWS_WITH_HTTP_STREAM_COMPRESSION"] = self.options.enable_http_stream_compression - self._cmake.definitions["LWS_WITH_HTTP_BROTLI"] = self.options.enable_http_brotli - self._cmake.definitions["LWS_WITH_ACME"] = self.options.enable_acme - self._cmake.definitions["LWS_WITH_FTS"] = self.options.enable_fts - self._cmake.definitions["LWS_WITH_SYS_ASYNC_DNS"] = self.options.enable_sys_async_dns - self._cmake.definitions["LWS_WITH_SYS_NTPCLIENT"] = self.options.enable_sys_ntpclient - self._cmake.definitions["LWS_WITH_SYS_DHCP_CLIENT"] = self.options.enable_sys_dhcp_client - self._cmake.definitions["LWS_WITH_HTTP_BASIC_AUTH"] = self.options.enable_http_basic_auth - self._cmake.definitions["LWS_WITH_HTTP_UNCOMMON_HEADERS"] = self.options.enable_http_uncommon_headers - - self._cmake.definitions["LWS_WITHOUT_EXTENSIONS"] = not self.options.enable_extensions - self._cmake.definitions["LWS_WITHOUT_BUILTIN_GETIFADDRS"] = not self.options.enable_builtin_getifaddrs - self._cmake.definitions["LWS_FALLBACK_GETHOSTBYNAME"] = self.options.enable_fallback_gethostbyname - self._cmake.definitions["LWS_WITHOUT_BUILTIN_SHA1"] = not self.options.enable_builtin_sha1 - self._cmake.definitions["LWS_WITHOUT_DAEMONIZE"] = not self.options.enable_daemonize - self._cmake.definitions["LWS_WITH_LEJP"] = self.options.enable_lejp - self._cmake.definitions["LWS_WITH_STRUCT_JSON"] = self.options.enable_struct_json - self._cmake.definitions["LWS_WITH_STRUCT_SQLITE3"] = self.options.enable_struct_sqlite3 - - self._cmake.definitions["LWS_WITH_NO_LOGS"] = self.options.disable_logs - self._cmake.definitions["LWS_LOGS_TIMESTAMP"] = self.options.logs_timestamp - self._cmake.definitions["LWS_AVOID_SIGPIPE_IGN"] = self.options.avoid_sigpipe_ign - self._cmake.definitions["LWS_WITH_STATS"] = self.options.enable_stats - self._cmake.definitions["LWS_WITH_JOSE"] = self.options.enable_jose - self._cmake.definitions["LWS_WITH_GENCRYPTO"] = self.options.enable_gencrypto - self._cmake.definitions["LWS_WITH_SELFTESTS"] = self.options.enable_selftests - self._cmake.definitions["LWS_WITH_GCOV"] = self.options.enable_gcov - self._cmake.definitions["LWS_WITH_LWSAC"] = self.options.enable_lwsac - self._cmake.definitions["LWS_WITH_CUSTOM_HEADERS"] = self.options.enable_custom_headers - self._cmake.definitions["LWS_WITH_DISKCACHE"] = self.options.enable_diskcache - self._cmake.definitions["LWS_WITH_DIR"] = self.options.enable_dir - self._cmake.definitions["LWS_WITH_LEJP_CONF"] = self.options.enable_lejp_conf - self._cmake.definitions["LWS_WITH_DEPRECATED_LWS_DLL"] = self.options.enable_deprecated_lws_dll - self._cmake.definitions["LWS_WITH_SEQUENCER"] = self.options.enable_sequencer - self._cmake.definitions["LWS_WITH_EXTERNAL_POLL"] = self.options.enable_external_poll - self._cmake.definitions["LWS_WITH_LWS_DSH"] = self.options.enable_lws_dsh - self._cmake.definitions["LWS_CLIENT_HTTP_PROXYING"] = self.options.enable_external_http_proxying - self._cmake.definitions["LWS_WITH_FILE_OPS"] = self.options.enable_file_ops - self._cmake.definitions["LWS_WITH_DETAILED_LATENCY"] = self.options.enable_detailed_latency - self._cmake.definitions["LWS_WITH_UDP"] = self.options.enable_udp - self._cmake.definitions["LWS_WITH_SPAWN"] = self.options.enable_spawn - - self._cmake.definitions["LWS_WITH_ALSA"] = False - self._cmake.definitions["LWS_WITH_GTK"] = False - - if tools.Version(self.version) >= "4.1.0": - self._cmake.definitions["LWS_WITH_SYS_SMD"] = self.settings.os != "Windows" - self._cmake.definitions["DISABLE_WERROR"] = True - - # Temporary override Windows 10 SDK for Visual Studio 2019, see issue #4450 - # CCI worker has 10.0.17763.0 SDK installed alongside with 10.0.20348 but only 20348 can be used with Visual Studio 2019 - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) == 16: - self._cmake.definitions["CMAKE_SYSTEM_VERSION"] = "10.0.20348" - - self._cmake.configure() - return self._cmake + tc.variables["LWS_LIBMOUNT_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libmount")) + tc.variables["LWS_LIBMOUNT_INCLUDE_DIRS"] = self._cmakify_path_list(self.dependencies["libmount"].cpp_info.includedirs) + + tc.variables["LWS_WITH_HUBBUB"] = self.options.with_hubbub + + tc.variables["LWS_SSL_CLIENT_USE_OS_CA_CERTS"] = self.options.ssl_client_use_os_ca_certs + tc.variables["LWS_SSL_SERVER_WITH_ECDH_CERT"] = self.options.ssl_server_with_ecdh_cert + + tc.variables["LWS_WITH_NETWORK"] = self.options.enable_network + tc.variables["LWS_ROLE_H1"] = self.options.role_h1 + tc.variables["LWS_ROLE_WS"] = self.options.role_ws + tc.variables["LWS_ROLE_MQTT"] = self.options.role_mqtt + tc.variables["LWS_ROLE_DBUS"] = self.options.role_dbus + tc.variables["LWS_ROLE_RAW_PROXY"] = self.options.role_raw_proxy + tc.variables["LWS_ROLE_RAW_FILE"] = self.options.role_raw_file + tc.variables["LWS_WITH_HTTP2"] = self.options.enable_http2 + tc.variables["LWS_WITH_LWSWS"] = self.options.enable_lwsws + tc.variables["LWS_WITH_CGI"] = self.options.enable_cgi + tc.variables["LWS_IPV6"] = self.options.enable_ipv6 + tc.variables["LWS_UNIX_SOCK"] = self.options.enable_unix_sock + tc.variables["LWS_WITH_PLUGINS"] = self.options.enable_plugins + tc.variables["LWS_WITH_HTTP_PROXY"] = self.options.enable_http_proxy + tc.variables["LWS_WITH_ZIP_FOPS"] = self.options.enable_zip_fops + tc.variables["LWS_WITH_SOCKS5"] = self.options.enable_socks5 + tc.variables["LWS_WITH_GENERIC_SESSIONS"] = self.options.enable_generic_sessions + tc.variables["LWS_WITH_PEER_LIMITS"] = self.options.enable_peer_limits + tc.variables["LWS_WITH_ACCESS_LOG"] = self.options.enable_access_log + tc.variables["LWS_WITH_RANGES"] = self.options.enable_ranges + tc.variables["LWS_WITH_SERVER_STATUS"] = self.options.enable_server_status + tc.variables["LWS_WITH_THREADPOOL"] = self.options.enable_threadpool + tc.variables["LWS_WITH_HTTP_STREAM_COMPRESSION"] = self.options.enable_http_stream_compression + tc.variables["LWS_WITH_HTTP_BROTLI"] = self.options.enable_http_brotli + tc.variables["LWS_WITH_ACME"] = self.options.enable_acme + tc.variables["LWS_WITH_FTS"] = self.options.enable_fts + tc.variables["LWS_WITH_SYS_ASYNC_DNS"] = self.options.enable_sys_async_dns + tc.variables["LWS_WITH_SYS_NTPCLIENT"] = self.options.enable_sys_ntpclient + tc.variables["LWS_WITH_SYS_DHCP_CLIENT"] = self.options.enable_sys_dhcp_client + tc.variables["LWS_WITH_HTTP_BASIC_AUTH"] = self.options.enable_http_basic_auth + tc.variables["LWS_WITH_HTTP_UNCOMMON_HEADERS"] = self.options.enable_http_uncommon_headers + + tc.variables["LWS_WITHOUT_EXTENSIONS"] = not self.options.enable_extensions + tc.variables["LWS_WITHOUT_BUILTIN_GETIFADDRS"] = not self.options.enable_builtin_getifaddrs + tc.variables["LWS_FALLBACK_GETHOSTBYNAME"] = self.options.enable_fallback_gethostbyname + tc.variables["LWS_WITHOUT_BUILTIN_SHA1"] = not self.options.enable_builtin_sha1 + tc.variables["LWS_WITHOUT_DAEMONIZE"] = not self.options.enable_daemonize + tc.variables["LWS_WITH_LEJP"] = self.options.enable_lejp + tc.variables["LWS_WITH_STRUCT_JSON"] = self.options.enable_struct_json + tc.variables["LWS_WITH_STRUCT_SQLITE3"] = self.options.enable_struct_sqlite3 + + tc.variables["LWS_WITH_NO_LOGS"] = self.options.disable_logs + tc.variables["LWS_LOGS_TIMESTAMP"] = self.options.logs_timestamp + tc.variables["LWS_AVOID_SIGPIPE_IGN"] = self.options.avoid_sigpipe_ign + tc.variables["LWS_WITH_STATS"] = self.options.enable_stats + tc.variables["LWS_WITH_JOSE"] = self.options.enable_jose + tc.variables["LWS_WITH_GENCRYPTO"] = self.options.enable_gencrypto + tc.variables["LWS_WITH_SELFTESTS"] = self.options.enable_selftests + tc.variables["LWS_WITH_GCOV"] = self.options.enable_gcov + tc.variables["LWS_WITH_LWSAC"] = self.options.enable_lwsac + tc.variables["LWS_WITH_CUSTOM_HEADERS"] = self.options.enable_custom_headers + tc.variables["LWS_WITH_DISKCACHE"] = self.options.enable_diskcache + tc.variables["LWS_WITH_DIR"] = self.options.enable_dir + tc.variables["LWS_WITH_LEJP_CONF"] = self.options.enable_lejp_conf + tc.variables["LWS_WITH_DEPRECATED_LWS_DLL"] = self.options.enable_deprecated_lws_dll + tc.variables["LWS_WITH_SEQUENCER"] = self.options.enable_sequencer + tc.variables["LWS_WITH_EXTERNAL_POLL"] = self.options.enable_external_poll + tc.variables["LWS_WITH_LWS_DSH"] = self.options.enable_lws_dsh + tc.variables["LWS_CLIENT_HTTP_PROXYING"] = self.options.enable_external_http_proxying + tc.variables["LWS_WITH_FILE_OPS"] = self.options.enable_file_ops + tc.variables["LWS_WITH_DETAILED_LATENCY"] = self.options.enable_detailed_latency + tc.variables["LWS_WITH_UDP"] = self.options.enable_udp + tc.variables["LWS_WITH_SPAWN"] = self.options.enable_spawn + + tc.variables["LWS_WITH_ALSA"] = False + tc.variables["LWS_WITH_GTK"] = False + + if Version(self.version) >= "4.1.0": + tc.variables["LWS_WITH_SYS_SMD"] = self.settings.os != "Windows" + tc.variables["DISABLE_WERROR"] = True + + tc.generate() + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - cmakelists = os.path.join(self._source_subfolder, "CMakeLists.txt") - tools.replace_in_file( + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "SET(CMAKE_INSTALL_NAME_DIR \"${CMAKE_INSTALL_PREFIX}/${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}\")", "", ) - if tools.Version(self.version) == "4.0.15" and self.options.with_ssl: - tools.replace_in_file( + if Version(self.version) == "4.0.15" and self.options.with_ssl: + replace_in_file(self, cmakelists, "list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib)", "list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib crypt32.lib)" ) - if tools.Version(self.version) < "4.1.0": - tools.replace_in_file(cmakelists, "-Werror", "") - if tools.Version(self.version) >= "4.1.4": - tools.replace_in_file(cmakelists, "add_compile_options(/W3 /WX)", "add_compile_options(/W3)") + if Version(self.version) < "4.1.0": + replace_in_file(self, cmakelists, "-Werror", "") + if Version(self.version) >= "4.1.4": + replace_in_file(self, cmakelists, "add_compile_options(/W3 /WX)", "add_compile_options(/W3)") def build(self): self._patch_sources() - cmake = self._configure_cmake() + 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, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + 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")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( @@ -476,8 +463,7 @@ def package(self): {self._cmake_target: "Libwebsockets::{}".format(self._cmake_target)} ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): content += textwrap.dedent("""\ @@ -486,7 +472,7 @@ def _create_cmake_module_alias_targets(module_file, targets): set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) endif() """.format(alias=alias, aliased=aliased)) - tools.save(module_file, content) + save(self, module_file, content) @property def _module_file_rel_path(self): @@ -502,7 +488,7 @@ def package_info(self): pkgconfig_name = "libwebsockets" if self.options.shared else "libwebsockets_static" self.cpp_info.set_property("pkg_config_name", pkgconfig_name) # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["_libwebsockets"].libs = tools.collect_libs(self) + self.cpp_info.components["_libwebsockets"].libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.components["_libwebsockets"].system_libs.extend(["ws2_32", "crypt32"]) elif self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/libwebsockets/all/test_package/CMakeLists.txt b/recipes/libwebsockets/all/test_package/CMakeLists.txt index 7ca319a6f6da7..6aa87cfd3d013 100644 --- a/recipes/libwebsockets/all/test_package/CMakeLists.txt +++ b/recipes/libwebsockets/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(Libwebsockets REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/libwebsockets/all/test_package/conanfile.py b/recipes/libwebsockets/all/test_package/conanfile.py index 9b63bd176646b..bff3c734cea93 100644 --- a/recipes/libwebsockets/all/test_package/conanfile.py +++ b/recipes/libwebsockets/all/test_package/conanfile.py @@ -1,10 +1,24 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): cmake = CMake(self) @@ -12,5 +26,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") From fa840988f992155d64334a87cf5543f2565ca441 Mon Sep 17 00:00:00 2001 From: krabbstek Date: Sat, 3 Jun 2023 11:02:16 +0200 Subject: [PATCH 0451/4087] (#17744) Bumped CMake to 3.26.4 --- recipes/cmake/binary/conandata.yml | 22 +++++++++++----------- recipes/cmake/config.yml | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 00a43300159e0..b8c5dfe2bfbee 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,23 +1,23 @@ sources: - "3.26.3": + "3.26.4": Linux: armv8: - url: "https://cmake.org/files/v3.26/cmake-3.26.3-linux-aarch64.tar.gz" - sha256: "7a4fbe374475db1a098b632b54e3c9180973e8a791c700deabe5408ae23ea3ce" + url: "https://cmake.org/files/v3.26/cmake-3.26.4-linux-aarch64.tar.gz" + sha256: "1c9843c92f40bee1a16baa12871693d3e190c9a222259a89e406d4d9aae6cf74" x86_64: - url: "https://cmake.org/files/v3.26/cmake-3.26.3-linux-x86_64.tar.gz" - sha256: "28d4d1d0db94b47d8dfd4f7dec969a3c747304f4a28ddd6fd340f553f2384dc2" + url: "https://cmake.org/files/v3.26/cmake-3.26.4-linux-x86_64.tar.gz" + sha256: "ba1e0dcc710e2f92be6263f9617510b3660fa9dc409ad2fb8190299563f952a0" Macos: universal: - url: "https://cmake.org/files/v3.26/cmake-3.26.3-macos10.10-universal.tar.gz" - sha256: "b0d39ae9ddec3f193f50ff549edb30d0b35acb6c95c12f7611dbc8afc52c8ab6" + url: "https://cmake.org/files/v3.26/cmake-3.26.4-macos10.10-universal.tar.gz" + sha256: "f30362daae58788ada07f9f0fe2b49a53dde4262e2d8fe73640045d9d6055183" Windows: armv8: - url: "https://cmake.org/files/v3.26/cmake-3.26.3-windows-arm64.zip" - sha256: "fd1d908ea54a081a092bc7f9dad0a6ba90fc5aa2644ee5cef901e3f925fce3d8" + url: "https://cmake.org/files/v3.26/cmake-3.26.4-windows-arm64.zip" + sha256: "6a9b28f318e766e40ac032b7fd2064fa9e026ff329f0ea175cbc8b15af51c45c" x86_64: - url: "https://cmake.org/files/v3.26/cmake-3.26.3-windows-x86_64.zip" - sha256: "91a418595cc9a97d5f679e36728dfec79ee52980f51e8814ec7b05b890708523" + url: "https://cmake.org/files/v3.26/cmake-3.26.4-windows-x86_64.zip" + sha256: "62c35427104a4f8205226f72708d71334bd36a72cf72c60d0e3a766d71dcc78a" "3.25.3": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index a504377b77d5d..174b2ccab0551 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -13,5 +13,5 @@ versions: folder: "binary" "3.25.3": folder: "binary" - "3.26.3": + "3.26.4": folder: "binary" From 7668745b32555d4bbdf67aa01798d698c623ff88 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 3 Jun 2023 04:42:35 -0500 Subject: [PATCH 0452/4087] (#17355) avahi/0.8: Disable the use of the setproctitle function on Linux * avahi/0.8: Disable the use of the setproctitle function on Linux This function is not declared on Linux. Configure ignores warnings about the missing declaration. This causes issues when building with recent versions of Clang. Support for implicit declarations was removed in newer C standards in Clang. Telling configure that the setproctitle function is not available disables the use of this function in Avahi. * Capitalize Linux --- recipes/avahi/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index 14386077db5e2..828f628b5ac41 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -70,6 +70,8 @@ def generate(self): tc.configure_args.append("--disable-python") tc.configure_args.append("--disable-qt5") tc.configure_args.append("--with-systemdsystemunitdir=/lib/systemd/system") + if self.settings.os == "Linux": + tc.configure_args.append("ac_cv_func_setproctitle=no") tc.generate() AutotoolsDeps(self).generate() PkgConfigDeps(self).generate() From 374db56a02c202b4abeef7edb8b70ee608a82b73 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Sat, 3 Jun 2023 03:23:11 -0700 Subject: [PATCH 0453/4087] (#17244) Z3: Revise the recipe to support Conan v2 and add the latest four minor releases. * z3: Remove the entry `base_path` from each patch descriptor. * z3: Create the test package for Conan 1.x. * z3: Make the test package compatible with Conan 2.x. * z3: Make the recipe compatible with Conan 2.x. * z3: Add the latest three stable releases, 4.12.1, 4.11.2, 4.10.2. * z3: Add a new boolean option `use_gmp` to specify whether the GMP library should be used and its default value is consistent with the default value of Z3's CMake option `Z3_USE_LIB_GMP`. * z3: Patch `CMakeLists.txt` for all supported versions to use the GMP library provided by Conan Center if and only if users have specified to use GMP. * z3: Add `gmp/6.2.1` as its dependency if and only if users have specified to use GMP. * z3: Remove the deprecated option `multiprecision`. * z3: Remove unneeded import statements from the recipe. * z3: Remove deprecated patches. * z3: Remove deprecated old versions. * z3: Fix an issue that `CMakeLists.txt` is not patched. * z3: Add version 4.9.1. * z3: Specify the encoding when accessing `CMakeLists.txt`. * z3: Raise the minimum GCC version to 8 because compiling with GCC 7 leads to a segfault. * z3: Set the flag `stdlib` for Clang on Linux to fix the linker errors. * z3: Disable the `DeMorgan` test suite because it triggers a page fault when compiled with Z3 v4.11.2 and Clang in release mode. * z3: Use `replace_in_file` to patch `CMakeLists.txt`. * z3: Use `CMakeDeps.set_property()` to override the name of the GMP library provided by Conan Center instead of patching `CMakeLists.txt` manually. * z3: Add v4.12.2. --- recipes/z3/all/conandata.yml | 40 ++--- recipes/z3/all/conanfile.py | 154 ++++++++---------- .../0001-cmake-use-conan-mpir-4.10.2.patch | 22 --- .../0001-cmake-use-conan-mpir-4.8.8.patch | 23 --- .../patches/0002-python-interp-3-4.8.8.patch | 11 -- .../0003-cmake-try-compile-flags-4.10.2.patch | 17 -- recipes/z3/all/test_package/CMakeLists.txt | 6 +- recipes/z3/all/test_package/conanfile.py | 19 ++- recipes/z3/all/test_package/test_package.cpp | 3 +- recipes/z3/all/test_v1_package/CMakeLists.txt | 8 + recipes/z3/all/test_v1_package/conanfile.py | 17 ++ recipes/z3/config.yml | 8 +- 12 files changed, 129 insertions(+), 199 deletions(-) delete mode 100644 recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.10.2.patch delete mode 100644 recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.8.8.patch delete mode 100644 recipes/z3/all/patches/0002-python-interp-3-4.8.8.patch delete mode 100644 recipes/z3/all/patches/0003-cmake-try-compile-flags-4.10.2.patch create mode 100644 recipes/z3/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/z3/all/test_v1_package/conanfile.py diff --git a/recipes/z3/all/conandata.yml b/recipes/z3/all/conandata.yml index 5f25ce5da1c6e..8720c1e15bb24 100644 --- a/recipes/z3/all/conandata.yml +++ b/recipes/z3/all/conandata.yml @@ -1,30 +1,16 @@ sources: - "4.8.8": - url: "https://github.com/Z3Prover/z3/archive/z3-4.8.8.tar.gz" - sha256: "6962facdcdea287c5eeb1583debe33ee23043144d0e5308344e6a8ee4503bcff" + "4.12.2": + url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.2.tar.gz" + sha256: "9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f" + "4.12.1": + url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.1.tar.gz" + sha256: "a3735fabf00e1341adcc70394993c05fd3e2ae167a3e9bb46045e33084eb64a3" + "4.11.2": + url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.11.2.tar.gz" + sha256: "e3a82431b95412408a9c994466fad7252135c8ed3f719c986cd75c8c5f234c7e" "4.10.2": - url: "https://github.com/Z3Prover/z3/archive/z3-4.10.2.tar.gz" + url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.10.2.tar.gz" sha256: "889fd035b833775c8cd2eb4723eb011bf916a3e9bf08ce66b31c548acee7a321" - -patches: - "4.8.8": - - patch_file: "patches/0001-cmake-use-conan-mpir-4.8.8.patch" - patch_description: "Support building with MPIR" - patch_type: "conan" - base_path: "source_subfolder" - - - patch_file: "patches/0002-python-interp-3-4.8.8.patch" - patch_description: "Fix finding the Python interpreter" - patch_type: "backport" - base_path: "source_subfolder" - - "4.10.2": - - patch_file: "patches/0001-cmake-use-conan-mpir-4.10.2.patch" - patch_description: "Support building with MPIR" - patch_type: "conan" - base_path: "source_subfolder" - - - patch_file: "patches/0003-cmake-try-compile-flags-4.10.2.patch" - patch_description: "Fix flag transmission to CMake try_compile" - patch_type: "portability" - base_path: "source_subfolder" + "4.9.1": + url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.9.1.tar.gz" + sha256: "ca08ba933481242507b2f8b303c3ebdf5d16b0005d397fb45018321dc639a0d7" diff --git a/recipes/z3/all/conanfile.py b/recipes/z3/all/conanfile.py index 1fa41bab49793..b8fb69514925d 100644 --- a/recipes/z3/all/conanfile.py +++ b/recipes/z3/all/conanfile.py @@ -1,11 +1,13 @@ -from conans import CMake, ConanFile, tools -from conan.tools.files import apply_conandata_patches, get, rmdir +from conan import ConanFile +from conan.tools.microsoft import check_min_vs +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import export_conandata_patches, apply_conandata_patches, replace_in_file, get, copy, rmdir, save +from conan.tools.build import check_min_cppstd from conan.tools.scm import Version -from conan.errors import ConanException, ConanInvalidConfiguration +from conan.errors import ConanInvalidConfiguration import os -import textwrap -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.53.0" class Z3Conan(ConanFile): @@ -21,30 +23,32 @@ class Z3Conan(ConanFile): "shared": [True, False], "fPIC": [True, False], "multithreaded": [True, False], - "multiprecision": ["internal", "gmp", "mpir"] + "use_gmp": [True, False] } default_options = { "shared": False, "fPIC": True, "multithreaded": True, - "multiprecision": "gmp" + "use_gmp": False } - generators = "cmake" - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "17" @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + # Compiling z3 with GCC 7 results in a segfault + return { + "17": { + "gcc": "8", + "clang": "5", + "apple-clang": "9.1", + }, + }.get(self._min_cppstd, {}) def export_sources(self): - 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": @@ -52,78 +56,61 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - if self.options.multiprecision == "internal": - self.provides.append("gmp") + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.output.info( - f"{self.name} will build using {self.options.multiprecision} multiprecision implementation.") - if self.options.multiprecision == "mpir": - self.requires("mpir/3.0.0") - elif self.options.multiprecision == "gmp": + if self.options.use_gmp: self.requires("gmp/6.2.1") - elif self.options.multiprecision == "internal": - pass - def source(self): - get(self, **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["Z3_USE_LIB_GMP"] = self.options.multiprecision != "internal" - self._cmake.definitions["Z3_USE_LIB_MPIR"] = self.options.multiprecision == "mpir" - self._cmake.definitions["SINGLE_THREADED"] = not self.options.multithreaded - self._cmake.definitions["Z3_BUILD_LIBZ3_SHARED"] = self.options.shared - self._cmake.definitions["Z3_INCLUDE_GIT_HASH"] = False - self._cmake.definitions["Z3_INCLUDE_GIT_DESCRIBE"] = False - self._cmake.definitions["Z3_ENABLE_EXAMPLE_TARGETS"] = False - self._cmake.definitions["Z3_BUILD_DOCUMENTATION"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def validate(self): + # Z3 requires C++17, and it is recommended to use VS2019 or later + check_min_vs(self, "192") - @property - def _compilers_minimum_version(self): - return { - "gcc": "7", - "Visual Studio": "15.7", - "clang": "5", - "apple-clang": "10", - } + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - def validate(self): - if Version(self.version) >= "4.8.11": - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") - compiler = self.settings.compiler - min_version = self._compilers_minimum_version\ - .get(str(compiler), False) - if min_version: - if Version(compiler.version) < min_version: - raise ConanInvalidConfiguration( - f"{self.name} requires C++17, which {compiler} {compiler.version} does not support.") - else: - self.output.info( - f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++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++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["Z3_USE_LIB_GMP"] = self.options.use_gmp + tc.variables["Z3_SINGLE_THREADED"] = not self.options.multithreaded + tc.variables["Z3_BUILD_LIBZ3_SHARED"] = self.options.shared + tc.variables["Z3_INCLUDE_GIT_HASH"] = False + tc.variables["Z3_INCLUDE_GIT_DESCRIBE"] = False + tc.variables["Z3_ENABLE_EXAMPLE_TARGETS"] = False + tc.variables["Z3_BUILD_DOCUMENTATION"] = False + # Set the flag `stdlib` for Clang on Linux to fix the linker errors + if self.settings.os == "Linux" and self.settings.compiler == "clang": + # Possible values: `libc++`, `libstdc++11` and `libstdc++` + stdlib = f" -stdlib={self.settings.compiler.libcxx}".rstrip("1") + tc.variables["CMAKE_CXX_FLAGS"] = tc.variables.get("CMAKE_CXX_FLAGS", "") + stdlib + tc.generate() + tc = CMakeDeps(self) + # Override the target name of the GMP library provided by Conan Center + if self.options.use_gmp: + tc.set_property("gmp", "cmake_target_name", "GMP::GMP") + tc.generate() def build(self): apply_conandata_patches(self) - - if self.options.multiprecision == "mpir": - tools.save(os.path.join(self._build_subfolder, "gmp.h"), textwrap.dedent("""\ - #pragma once - #include - """)) - - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", src=os.path.join(self.source_folder), dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) @@ -146,14 +133,5 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "z3" self.cpp_info.components["libz3"].names["cmake_find_package"] = "libz3" self.cpp_info.components["libz3"].names["cmake_find_package_multi"] = "libz3" - self.cpp_info.components["libz3"].set_property( - "cmake_target_name", "z3::libz3") - - libz3_requirements = [] - if self.options.multiprecision == "mpir": - libz3_requirements.append("mpir::mpir") - elif self.options.multiprecision == "gmp": - libz3_requirements.append("gmp::gmp") - elif self.options.multiprecision == "internal": - pass - self.cpp_info.components["libz3"].requires = libz3_requirements + self.cpp_info.components["libz3"].set_property("cmake_target_name", "z3::libz3") + self.cpp_info.components["libz3"].requires = ["gmp::gmp"] if self.options.use_gmp else [] diff --git a/recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.10.2.patch b/recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.10.2.patch deleted file mode 100644 index c510cb76b177f..0000000000000 --- a/recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.10.2.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -242,10 +242,16 @@ - if (Z3_USE_LIB_GMP) - # Because this is off by default we will make the configure fail if libgmp - # can't be found -- find_package(GMP REQUIRED) -- message(STATUS "Using libgmp") -- list(APPEND Z3_DEPENDENT_LIBS GMP::GMP) -+ if (Z3_USE_LIB_MPIR) -+ message(STATUS "Using libmpir") -+ list(APPEND Z3_DEPENDENT_LIBS CONAN_PKG::mpir) -+ else() -+ message(STATUS "Using libgmp") -+ find_package(GMP REQUIRED) -+ list(APPEND Z3_DEPENDENT_LIBS GMP::GMP) -+ endif() -+ list(APPEND Z3_COMPONENT_EXTRA_INCLUDE_DIRS "${CMAKE_BINARY_DIR}" ${CONAN_INCLUDE_DIRS}) - list(APPEND Z3_COMPONENT_CXX_DEFINES "-D_MP_GMP") - else() - list(APPEND Z3_COMPONENT_CXX_DEFINES "-D_MP_INTERNAL") - message(STATUS "Not using libgmp") diff --git a/recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.8.8.patch b/recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.8.8.patch deleted file mode 100644 index d7ee939df7e2f..0000000000000 --- a/recipes/z3/all/patches/0001-cmake-use-conan-mpir-4.8.8.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -246,10 +246,16 @@ - if (Z3_USE_LIB_GMP) - # Because this is off by default we will make the configure fail if libgmp - # can't be found -- find_package(GMP REQUIRED) -- message(STATUS "Using libgmp") -- list(APPEND Z3_DEPENDENT_LIBS ${GMP_C_LIBRARIES}) -- list(APPEND Z3_COMPONENT_EXTRA_INCLUDE_DIRS ${GMP_INCLUDE_DIRS}) -+ if (Z3_USE_LIB_MPIR) -+ message(STATUS "Using libmpir") -+ list(APPEND Z3_DEPENDENT_LIBS CONAN_PKG::mpir) -+ else() -+ message(STATUS "Using libgmp") -+ find_package(GMP REQUIRED) -+ list(APPEND Z3_DEPENDENT_LIBS ${GMP_C_LIBRARIES}) -+ list(APPEND Z3_COMPONENT_EXTRA_INCLUDE_DIRS ${GMP_INCLUDE_DIRS}) -+ endif() -+ list(APPEND Z3_COMPONENT_EXTRA_INCLUDE_DIRS "${CMAKE_BINARY_DIR}" ${CONAN_INCLUDE_DIRS}) - list(APPEND Z3_COMPONENT_CXX_DEFINES "-D_MP_GMP") - else() - list(APPEND Z3_COMPONENT_CXX_DEFINES "-D_MP_INTERNAL") diff --git a/recipes/z3/all/patches/0002-python-interp-3-4.8.8.patch b/recipes/z3/all/patches/0002-python-interp-3-4.8.8.patch deleted file mode 100644 index 5f497703b3de0..0000000000000 --- a/recipes/z3/all/patches/0002-python-interp-3-4.8.8.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -169,7 +169,7 @@ - ################################################################################ - # Find Python - ################################################################################ --find_package(PythonInterp REQUIRED) -+find_package(PythonInterp 3 REQUIRED) - message(STATUS "PYTHON_EXECUTABLE: ${PYTHON_EXECUTABLE}") - - ################################################################################ diff --git a/recipes/z3/all/patches/0003-cmake-try-compile-flags-4.10.2.patch b/recipes/z3/all/patches/0003-cmake-try-compile-flags-4.10.2.patch deleted file mode 100644 index 0a19de4afbb27..0000000000000 --- a/recipes/z3/all/patches/0003-cmake-try-compile-flags-4.10.2.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -1,2 +1,2 @@ - # Enforce some CMake policies --cmake_minimum_required(VERSION 3.4) -+cmake_minimum_required(VERSION 3.8) -@@ -179,9 +179,10 @@ - ################################################################################ - # C++ language version - ################################################################################ - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) -+cmake_policy(SET CMP0067 NEW) # ensures try_compile uses the same standard - - ################################################################################ - # Platform detection - ################################################################################ diff --git a/recipes/z3/all/test_package/CMakeLists.txt b/recipes/z3/all/test_package/CMakeLists.txt index 04cd4a68ceb59..22ff0aeb773f3 100644 --- a/recipes/z3/all/test_package/CMakeLists.txt +++ b/recipes/z3/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES CXX) find_package(Z3 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE z3::libz3) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/z3/all/test_package/conanfile.py b/recipes/z3/all/test_package/conanfile.py index 38f4483872d47..a9fb96656f203 100644 --- a/recipes/z3/all/test_package/conanfile.py +++ b/recipes/z3/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/z3/all/test_package/test_package.cpp b/recipes/z3/all/test_package/test_package.cpp index 952704555d235..4e91c96764a96 100644 --- a/recipes/z3/all/test_package/test_package.cpp +++ b/recipes/z3/all/test_package/test_package.cpp @@ -141,5 +141,6 @@ void demorgan() int main() { simple_example(); - demorgan(); + // Z3 v4.11.2: Trigger a page fault when compiled with and Clang in release mode + // demorgan(); } diff --git a/recipes/z3/all/test_v1_package/CMakeLists.txt b/recipes/z3/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/z3/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/z3/all/test_v1_package/conanfile.py b/recipes/z3/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/z3/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/z3/config.yml b/recipes/z3/config.yml index 186c923c3a5de..16c46b24354e5 100644 --- a/recipes/z3/config.yml +++ b/recipes/z3/config.yml @@ -1,5 +1,11 @@ versions: - "4.8.8": + "4.12.2": + folder: "all" + "4.12.1": + folder: "all" + "4.11.2": folder: "all" "4.10.2": folder: "all" + "4.9.1": + folder: "all" From 0feef23bd45e243ed5ddf38f7173aec3bfc6c50a Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 3 Jun 2023 20:25:11 +0900 Subject: [PATCH 0454/4087] (#16572) ragel: support conan v2 * ragel: support conan v2 * make includedirs/libdirs empty * fix CMakeLists.txt * fix cmake source dir --- recipes/ragel/all/CMakeLists.txt | 238 +++++++++--------- recipes/ragel/all/conandata.yml | 4 +- recipes/ragel/all/conanfile.py | 95 ++++--- recipes/ragel/all/test_package/conanfile.py | 19 +- .../ragel/all/test_v1_package/conanfile.py | 10 + 5 files changed, 202 insertions(+), 164 deletions(-) create mode 100644 recipes/ragel/all/test_v1_package/conanfile.py diff --git a/recipes/ragel/all/CMakeLists.txt b/recipes/ragel/all/CMakeLists.txt index b4afee381476c..1d3d3c24617fe 100644 --- a/recipes/ragel/all/CMakeLists.txt +++ b/recipes/ragel/all/CMakeLists.txt @@ -1,133 +1,131 @@ cmake_minimum_required(VERSION 3.0) -project(ragel) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +project(ragel LANGUAGES CXX) file(GLOB HEADERS - source_subfolder/ragel/buffer.h - source_subfolder/ragel/cdgoto.h - source_subfolder/ragel/cscodegen.h - source_subfolder/ragel/csipgoto.h - source_subfolder/ragel/inputdata.h - source_subfolder/ragel/rbxgoto.h - source_subfolder/ragel/rubyflat.h - source_subfolder/ragel/cdcodegen.h - source_subfolder/ragel/cdipgoto.h - source_subfolder/ragel/csfflat.h - source_subfolder/ragel/cssplit.h - source_subfolder/ragel/javacodegen.h - source_subfolder/ragel/redfsm.h - source_subfolder/ragel/rubyftable.h - source_subfolder/ragel/cdfflat.h - source_subfolder/ragel/cdsplit.h - source_subfolder/ragel/csfgoto.h - source_subfolder/ragel/cstable.h - source_subfolder/ragel/parsedata.h - source_subfolder/ragel/rlparse.h - source_subfolder/ragel/rubytable.h - source_subfolder/ragel/cdfgoto.h - source_subfolder/ragel/cdtable.h - source_subfolder/ragel/csflat.h - source_subfolder/ragel/dotcodegen.h - source_subfolder/ragel/parsetree.h - source_subfolder/ragel/rlscan.h - source_subfolder/ragel/version.h - source_subfolder/ragel/cdflat.h - source_subfolder/ragel/common.h - source_subfolder/ragel/csftable.h - source_subfolder/ragel/fsmgraph.h - source_subfolder/ragel/pcheck.h - source_subfolder/ragel/rubycodegen.h - source_subfolder/ragel/xmlcodegen.h - source_subfolder/ragel/cdftable.h - source_subfolder/ragel/csgoto.h - source_subfolder/ragel/gendata.h - source_subfolder/ragel/ragel.h - source_subfolder/ragel/rubyfflat.h - source_subfolder/ragel/gocodegen.h - source_subfolder/ragel/gotable.h - source_subfolder/ragel/goftable.h - source_subfolder/ragel/goflat.h - source_subfolder/ragel/gofflat.h - source_subfolder/ragel/gogoto.h - source_subfolder/ragel/gofgoto.h - source_subfolder/ragel/goipgoto.h - source_subfolder/ragel/gotablish.h - source_subfolder/ragel/mlcodegen.h - source_subfolder/ragel/mltable.h - source_subfolder/ragel/mlftable.h - source_subfolder/ragel/mlflat.h - source_subfolder/ragel/mlfflat.h - source_subfolder/ragel/mlgoto.h - source_subfolder/ragel/mlfgoto.h + ${RAGEL_SOURCE_DIR}/ragel/buffer.h + ${RAGEL_SOURCE_DIR}/ragel/cdgoto.h + ${RAGEL_SOURCE_DIR}/ragel/cscodegen.h + ${RAGEL_SOURCE_DIR}/ragel/csipgoto.h + ${RAGEL_SOURCE_DIR}/ragel/inputdata.h + ${RAGEL_SOURCE_DIR}/ragel/rbxgoto.h + ${RAGEL_SOURCE_DIR}/ragel/rubyflat.h + ${RAGEL_SOURCE_DIR}/ragel/cdcodegen.h + ${RAGEL_SOURCE_DIR}/ragel/cdipgoto.h + ${RAGEL_SOURCE_DIR}/ragel/csfflat.h + ${RAGEL_SOURCE_DIR}/ragel/cssplit.h + ${RAGEL_SOURCE_DIR}/ragel/javacodegen.h + ${RAGEL_SOURCE_DIR}/ragel/redfsm.h + ${RAGEL_SOURCE_DIR}/ragel/rubyftable.h + ${RAGEL_SOURCE_DIR}/ragel/cdfflat.h + ${RAGEL_SOURCE_DIR}/ragel/cdsplit.h + ${RAGEL_SOURCE_DIR}/ragel/csfgoto.h + ${RAGEL_SOURCE_DIR}/ragel/cstable.h + ${RAGEL_SOURCE_DIR}/ragel/parsedata.h + ${RAGEL_SOURCE_DIR}/ragel/rlparse.h + ${RAGEL_SOURCE_DIR}/ragel/rubytable.h + ${RAGEL_SOURCE_DIR}/ragel/cdfgoto.h + ${RAGEL_SOURCE_DIR}/ragel/cdtable.h + ${RAGEL_SOURCE_DIR}/ragel/csflat.h + ${RAGEL_SOURCE_DIR}/ragel/dotcodegen.h + ${RAGEL_SOURCE_DIR}/ragel/parsetree.h + ${RAGEL_SOURCE_DIR}/ragel/rlscan.h + ${RAGEL_SOURCE_DIR}/ragel/version.h + ${RAGEL_SOURCE_DIR}/ragel/cdflat.h + ${RAGEL_SOURCE_DIR}/ragel/common.h + ${RAGEL_SOURCE_DIR}/ragel/csftable.h + ${RAGEL_SOURCE_DIR}/ragel/fsmgraph.h + ${RAGEL_SOURCE_DIR}/ragel/pcheck.h + ${RAGEL_SOURCE_DIR}/ragel/rubycodegen.h + ${RAGEL_SOURCE_DIR}/ragel/xmlcodegen.h + ${RAGEL_SOURCE_DIR}/ragel/cdftable.h + ${RAGEL_SOURCE_DIR}/ragel/csgoto.h + ${RAGEL_SOURCE_DIR}/ragel/gendata.h + ${RAGEL_SOURCE_DIR}/ragel/ragel.h + ${RAGEL_SOURCE_DIR}/ragel/rubyfflat.h + ${RAGEL_SOURCE_DIR}/ragel/gocodegen.h + ${RAGEL_SOURCE_DIR}/ragel/gotable.h + ${RAGEL_SOURCE_DIR}/ragel/goftable.h + ${RAGEL_SOURCE_DIR}/ragel/goflat.h + ${RAGEL_SOURCE_DIR}/ragel/gofflat.h + ${RAGEL_SOURCE_DIR}/ragel/gogoto.h + ${RAGEL_SOURCE_DIR}/ragel/gofgoto.h + ${RAGEL_SOURCE_DIR}/ragel/goipgoto.h + ${RAGEL_SOURCE_DIR}/ragel/gotablish.h + ${RAGEL_SOURCE_DIR}/ragel/mlcodegen.h + ${RAGEL_SOURCE_DIR}/ragel/mltable.h + ${RAGEL_SOURCE_DIR}/ragel/mlftable.h + ${RAGEL_SOURCE_DIR}/ragel/mlflat.h + ${RAGEL_SOURCE_DIR}/ragel/mlfflat.h + ${RAGEL_SOURCE_DIR}/ragel/mlgoto.h + ${RAGEL_SOURCE_DIR}/ragel/mlfgoto.h ) file(GLOB SRC - source_subfolder/ragel/main.cpp - source_subfolder/ragel/parsetree.cpp - source_subfolder/ragel/parsedata.cpp - source_subfolder/ragel/fsmstate.cpp - source_subfolder/ragel/fsmbase.cpp - source_subfolder/ragel/fsmattach.cpp - source_subfolder/ragel/fsmmin.cpp - source_subfolder/ragel/fsmgraph.cpp - source_subfolder/ragel/fsmap.cpp - source_subfolder/ragel/rlscan.cpp - source_subfolder/ragel/rlparse.cpp - source_subfolder/ragel/inputdata.cpp - source_subfolder/ragel/common.cpp - source_subfolder/ragel/redfsm.cpp - source_subfolder/ragel/gendata.cpp - source_subfolder/ragel/cdcodegen.cpp - source_subfolder/ragel/cdtable.cpp - source_subfolder/ragel/cdftable.cpp - source_subfolder/ragel/cdflat.cpp - source_subfolder/ragel/cdfflat.cpp - source_subfolder/ragel/cdgoto.cpp - source_subfolder/ragel/cdfgoto.cpp - source_subfolder/ragel/cdipgoto.cpp - source_subfolder/ragel/cdsplit.cpp - source_subfolder/ragel/javacodegen.cpp - source_subfolder/ragel/rubycodegen.cpp - source_subfolder/ragel/rubytable.cpp - source_subfolder/ragel/rubyftable.cpp - source_subfolder/ragel/rubyflat.cpp - source_subfolder/ragel/rubyfflat.cpp - source_subfolder/ragel/rbxgoto.cpp - source_subfolder/ragel/cscodegen.cpp - source_subfolder/ragel/cstable.cpp - source_subfolder/ragel/csftable.cpp - source_subfolder/ragel/csflat.cpp - source_subfolder/ragel/csfflat.cpp - source_subfolder/ragel/csgoto.cpp - source_subfolder/ragel/csfgoto.cpp - source_subfolder/ragel/csipgoto.cpp - source_subfolder/ragel/cssplit.cpp - source_subfolder/ragel/dotcodegen.cpp - source_subfolder/ragel/xmlcodegen.cpp - source_subfolder/ragel/gocodegen.cpp - source_subfolder/ragel/gotable.cpp - source_subfolder/ragel/goftable.cpp - source_subfolder/ragel/goflat.cpp - source_subfolder/ragel/gofflat.cpp - source_subfolder/ragel/gogoto.cpp - source_subfolder/ragel/gofgoto.cpp - source_subfolder/ragel/goipgoto.cpp - source_subfolder/ragel/gotablish.cpp - source_subfolder/ragel/mlcodegen.cpp - source_subfolder/ragel/mltable.cpp - source_subfolder/ragel/mlftable.cpp - source_subfolder/ragel/mlflat.cpp - source_subfolder/ragel/mlfflat.cpp - source_subfolder/ragel/mlgoto.cpp - source_subfolder/ragel/mlfgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/main.cpp + ${RAGEL_SOURCE_DIR}/ragel/parsetree.cpp + ${RAGEL_SOURCE_DIR}/ragel/parsedata.cpp + ${RAGEL_SOURCE_DIR}/ragel/fsmstate.cpp + ${RAGEL_SOURCE_DIR}/ragel/fsmbase.cpp + ${RAGEL_SOURCE_DIR}/ragel/fsmattach.cpp + ${RAGEL_SOURCE_DIR}/ragel/fsmmin.cpp + ${RAGEL_SOURCE_DIR}/ragel/fsmgraph.cpp + ${RAGEL_SOURCE_DIR}/ragel/fsmap.cpp + ${RAGEL_SOURCE_DIR}/ragel/rlscan.cpp + ${RAGEL_SOURCE_DIR}/ragel/rlparse.cpp + ${RAGEL_SOURCE_DIR}/ragel/inputdata.cpp + ${RAGEL_SOURCE_DIR}/ragel/common.cpp + ${RAGEL_SOURCE_DIR}/ragel/redfsm.cpp + ${RAGEL_SOURCE_DIR}/ragel/gendata.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdcodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdtable.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdftable.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdfflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdfgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdipgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/cdsplit.cpp + ${RAGEL_SOURCE_DIR}/ragel/javacodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/rubycodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/rubytable.cpp + ${RAGEL_SOURCE_DIR}/ragel/rubyftable.cpp + ${RAGEL_SOURCE_DIR}/ragel/rubyflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/rubyfflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/rbxgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/cscodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/cstable.cpp + ${RAGEL_SOURCE_DIR}/ragel/csftable.cpp + ${RAGEL_SOURCE_DIR}/ragel/csflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/csfflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/csgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/csfgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/csipgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/cssplit.cpp + ${RAGEL_SOURCE_DIR}/ragel/dotcodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/xmlcodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/gocodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/gotable.cpp + ${RAGEL_SOURCE_DIR}/ragel/goftable.cpp + ${RAGEL_SOURCE_DIR}/ragel/goflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/gofflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/gogoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/gofgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/goipgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/gotablish.cpp + ${RAGEL_SOURCE_DIR}/ragel/mlcodegen.cpp + ${RAGEL_SOURCE_DIR}/ragel/mltable.cpp + ${RAGEL_SOURCE_DIR}/ragel/mlftable.cpp + ${RAGEL_SOURCE_DIR}/ragel/mlflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/mlfflat.cpp + ${RAGEL_SOURCE_DIR}/ragel/mlgoto.cpp + ${RAGEL_SOURCE_DIR}/ragel/mlfgoto.cpp ) add_executable(${CMAKE_PROJECT_NAME} ${SRC} ${HEADERS}) target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC ${CONAN_LIBS}) -target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE source_subfolder/aapl - PRIVATE ${CMAKE_BINARY_DIR}) +target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${RAGEL_SOURCE_DIR}/aapl + PRIVATE ${CMAKE_SOURCE_DIR} + PRIVATE ${CMAKE_BINARY_DIR}) install(TARGETS ${CMAKE_PROJECT_NAME} RUNTIME DESTINATION bin) diff --git a/recipes/ragel/all/conandata.yml b/recipes/ragel/all/conandata.yml index a561cfe4c7dce..cef6c070a411d 100644 --- a/recipes/ragel/all/conandata.yml +++ b/recipes/ragel/all/conandata.yml @@ -2,8 +2,8 @@ sources: "6.10": url: "http://www.colm.net/files/ragel/ragel-6.10.tar.gz" sha256: "5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f" - patches: "6.10": - patch_file: "patches/0001-unistd.patch" - base_path: "source_subfolder" + patch_description: "don't include unistd.h on MSVC" + patch_type: "portability" diff --git a/recipes/ragel/all/conanfile.py b/recipes/ragel/all/conanfile.py index ab235df3cddb0..f91723125a17b 100644 --- a/recipes/ragel/all/conanfile.py +++ b/recipes/ragel/all/conanfile.py @@ -1,68 +1,89 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, CMake +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.layout import basic_layout +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv import os -import glob +required_conan_version = ">=1.53.0" class RagelConan(ConanFile): name = "ragel" description = "Ragel compiles executable finite state machines from regular languages" - homepage = "http://www.colm.net/open-source/ragel" - url = "https://github.com/conan-io/conan-center-index" license = "GPL-2.0-or-later" - topics = ("ragel", "FSM", "regex", "fsm-compiler") - exports_sources = ["CMakeLists.txt", "config.h", "patches/*"] - generators = "cmake" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://www.colm.net/open-source/ragel" + topics = ("FSM", "regex", "fsm-compiler") + package_type = "application" settings = "os", "arch", "compiler", "build_type" - _cmake = None - _autotools = None - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "config.h", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + + def layout(self): + if self.settings.os == "Windows": + cmake_layout(self, src_folder="src") + else: + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if self.settings.os == "Windows": + tc = CMakeToolchain(self) + tc.variables["RAGEL_SOURCE_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() - def _configure_autotools(self): - if not self._autotools: - self._autotools = AutoToolsBuildEnvironment(self) - self._autotools.configure(configure_dir=self._source_subfolder) - return self._autotools + dpes = CMakeDeps(self) + dpes.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.generate() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + deps = AutotoolsDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) if self.settings.os == "Windows": - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() else: - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - self.copy(pattern="CREDITS", dst="licenses", src=self._source_subfolder) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="CREDITS", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if self.settings.os == "Windows": - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() else: - autotools = self._configure_autotools() + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "share")) - - def package_id(self): - del self.info.settings.compiler + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + self.env_info.RAGEL_ROOT = self.package_folder bindir = os.path.join(self.package_folder, "bin") self.output.info("Appending PATH environment variable: {}".format(bindir)) diff --git a/recipes/ragel/all/test_package/conanfile.py b/recipes/ragel/all/test_package/conanfile.py index 0299aedde34df..9eec930f11301 100644 --- a/recipes/ragel/all/test_package/conanfile.py +++ b/recipes/ragel/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, 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 = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) - settings = "os", "arch", "build_type", "compiler" + def requirements(self): + self.requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): - self.run("ragel --version", run_environment=True) + if can_run(self): + self.run("ragel --version", env="conanrun") diff --git a/recipes/ragel/all/test_v1_package/conanfile.py b/recipes/ragel/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0299aedde34df --- /dev/null +++ b/recipes/ragel/all/test_v1_package/conanfile.py @@ -0,0 +1,10 @@ +from conans import ConanFile, tools + + +class TestPackageConan(ConanFile): + + settings = "os", "arch", "build_type", "compiler" + + def test(self): + if not tools.cross_building(self): + self.run("ragel --version", run_environment=True) From 99e0222483cd3325a07d5644c3388cea473bc031 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Sat, 3 Jun 2023 10:21:56 -0700 Subject: [PATCH 0455/4087] (#17802) Bring ring-span-lite to conan2 This change performs some simple cleanup of these conanfile.py files in order to trigger a conan2 build of each. --- recipes/ring-span-lite/all/conanfile.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/recipes/ring-span-lite/all/conanfile.py b/recipes/ring-span-lite/all/conanfile.py index b99c854a61b09..91e2240703f2a 100644 --- a/recipes/ring-span-lite/all/conanfile.py +++ b/recipes/ring-span-lite/all/conanfile.py @@ -10,8 +10,8 @@ class RingSpanLiteConan(ConanFile): name = "ring-span-lite" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/ring-span-lite" - description = ("ring-span lite - A ring_span type for C++98, C++11 and later in a \ - single-file header-only library ") + description = ( + "ring-span lite - A ring_span type for C++98, C++11 and later in a single-file header-only library ") topics = ("cpp98", "cpp11", "cpp14", "cpp17", "ring-span") license = "BSL-1.0" settings = "os", "arch", "compiler", "build_type" @@ -31,25 +31,30 @@ def build(self): pass def package(self): - copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) - copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE.txt", src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ring-span-lite") - self.cpp_info.set_property("cmake_target_name", "nonstd::ring-span-lite") + self.cpp_info.set_property( + "cmake_target_name", "nonstd::ring-span-lite") self.cpp_info.bindirs = [] self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] self.cpp_info.resdirs = [] - # TODO: to remove in conan v2 once cmake_find_package* generators removed + # TODO: to remove in conan v2 once cmake_find_package* generators + # removed. self.cpp_info.filenames["cmake_find_package"] = "ring-span-lite" self.cpp_info.filenames["cmake_find_package_multi"] = "ring-span-lite" self.cpp_info.names["cmake_find_package"] = "nonstd" self.cpp_info.names["cmake_find_package_multi"] = "nonstd" self.cpp_info.components["ringspanlite"].names["cmake_find_package"] = "ring-span-lite" self.cpp_info.components["ringspanlite"].names["cmake_find_package_multi"] = "ring-span-lite" - self.cpp_info.components["ringspanlite"].set_property("cmake_target_name", "nonstd::ring-span-lite") + self.cpp_info.components["ringspanlite"].set_property( + "cmake_target_name", "nonstd::ring-span-lite") self.cpp_info.components["ringspanlite"].bindirs = [] self.cpp_info.components["ringspanlite"].frameworkdirs = [] self.cpp_info.components["ringspanlite"].libdirs = [] From a50f79404ad30cf53e53c2f94f884e2760d69812 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Sat, 3 Jun 2023 11:41:38 -0700 Subject: [PATCH 0456/4087] (#17801) Bring tl-function to conan2 This change performs some simple cleanup of these conanfile.py files in order to trigger a conan2 build of each. --- recipes/tl-function-ref/all/conanfile.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/tl-function-ref/all/conanfile.py b/recipes/tl-function-ref/all/conanfile.py index 06ae98ab9af68..8868ec6b1b3e9 100644 --- a/recipes/tl-function-ref/all/conanfile.py +++ b/recipes/tl-function-ref/all/conanfile.py @@ -35,8 +35,10 @@ def build(self): pass def package(self): - copy(self, "COPYING", 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")) + copy(self, "COPYING", src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "tl-function-ref") @@ -46,14 +48,16 @@ def package_info(self): self.cpp_info.libdirs = [] self.cpp_info.resdirs = [] - # TODO: to remove in conan v2 once cmake_find_package* generators removed + # TODO: to remove in conan v2 once cmake_find_package* generators + # removed. self.cpp_info.filenames["cmake_find_package"] = "tl-function-ref" self.cpp_info.filenames["cmake_find_package_multi"] = "tl-function-ref" self.cpp_info.names["cmake_find_package"] = "tl" self.cpp_info.names["cmake_find_package_multi"] = "tl" self.cpp_info.components["function-ref"].names["cmake_find_package"] = "function-ref" self.cpp_info.components["function-ref"].names["cmake_find_package_multi"] = "function-ref" - self.cpp_info.components["function-ref"].set_property("cmake_target_name", "tl::function-ref") + self.cpp_info.components["function-ref"].set_property( + "cmake_target_name", "tl::function-ref") self.cpp_info.components["function-ref"].bindirs = [] self.cpp_info.components["function-ref"].frameworkdirs = [] self.cpp_info.components["function-ref"].libdirs = [] From 98cc2bb726b52871fe1bc3ad2c266e55b88ad891 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 4 Jun 2023 10:41:56 +0900 Subject: [PATCH 0457/4087] (#17815) flatbuffers: add version 23.5.26 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/flatbuffers/all/conandata.yml | 3 +++ recipes/flatbuffers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/flatbuffers/all/conandata.yml b/recipes/flatbuffers/all/conandata.yml index 8ec1c3ec389ea..bff177589ebd1 100644 --- a/recipes/flatbuffers/all/conandata.yml +++ b/recipes/flatbuffers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "23.5.26": + url: "https://github.com/google/flatbuffers/archive/v23.5.26.tar.gz" + sha256: "1cce06b17cddd896b6d73cc047e36a254fb8df4d7ea18a46acf16c4c0cd3f3f3" "23.3.3": url: "https://github.com/google/flatbuffers/archive/v23.3.3.tar.gz" sha256: "8aff985da30aaab37edf8e5b02fda33ed4cbdd962699a8e2af98fdef306f4e4d" diff --git a/recipes/flatbuffers/config.yml b/recipes/flatbuffers/config.yml index a6c4efcf09db7..58021445a86c5 100644 --- a/recipes/flatbuffers/config.yml +++ b/recipes/flatbuffers/config.yml @@ -1,4 +1,6 @@ versions: + "23.5.26": + folder: all "23.3.3": folder: all "23.1.21": From 3008843bb6742dce4c18650dd1a863b962254d9d Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 4 Jun 2023 14:02:21 +0900 Subject: [PATCH 0458/4087] (#17816) uni-algo: add version 0.8.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index 5bec751a95929..bbb5332eaec1a 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.1": + url: "https://github.com/uni-algo/uni-algo/archive/v0.8.1.tar.gz" + sha256: "11192280fa435a9d68131d5368d2b314201d7089e6d2f38f29a8591c9aafa776" "0.8.0": url: "https://github.com/uni-algo/uni-algo/archive/refs/tags/v0.8.0.tar.gz" sha256: "657f124f4fb4705f948e9c0835ec88484ee4745d7b19cb2ddb772119a7ea024e" diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index e65f3bb5dd3af..1764f2d6c3778 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.1": + folder: all "0.8.0": folder: all "0.7.1": From b7e446466ac6125a2f2bc1a96ebd2a02c42ee075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hunold?= Date: Sun, 4 Jun 2023 15:03:23 +0200 Subject: [PATCH 0459/4087] (#17471) Add Boost 1.82.0 * Add Boost 1.82.0 * boost: add patch for libiconv flag --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/boost/all/conandata.yml | 9 + .../all/dependencies/dependencies-1.82.0.yml | 280 ++++++++++++++++++ .../1.82.0-locale-iconv-library-option.patch | 12 + recipes/boost/config.yml | 2 + 4 files changed, 303 insertions(+) create mode 100644 recipes/boost/all/dependencies/dependencies-1.82.0.yml create mode 100644 recipes/boost/all/patches/1.82.0-locale-iconv-library-option.patch diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index 2be1304335523..b2ef58c60ab75 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "1.82.0": + url: + - "https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.82.0/boost_1_82_0.tar.bz2" + sha256: a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 "1.81.0": url: - "https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2" @@ -53,6 +58,10 @@ sources: url: "https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2" sha256: "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee" patches: + "1.82.0": + - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" + patch_description: "Optional flag to specify iconv from either libc of libiconv" + patch_type: "conan" "1.81.0": - patch_file: "patches/boost_1_77_mpi_check.patch" patch_description: "Fails the build when mpi is not configured" diff --git a/recipes/boost/all/dependencies/dependencies-1.82.0.yml b/recipes/boost/all/dependencies/dependencies-1.82.0.yml new file mode 100644 index 0000000000000..02d6958cfca28 --- /dev/null +++ b/recipes/boost/all/dependencies/dependencies-1.82.0.yml @@ -0,0 +1,280 @@ +configure_options: +- atomic +- chrono +- container +- context +- contract +- coroutine +- date_time +- exception +- fiber +- filesystem +- graph +- graph_parallel +- iostreams +- json +- locale +- log +- math +- mpi +- nowide +- program_options +- python +- random +- regex +- serialization +- stacktrace +- system +- test +- thread +- timer +- type_erasure +- url +- wave +dependencies: + atomic: [] + chrono: + - system + 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 + - container + - date_time + - exception + - filesystem + - random + - regex + - system + - thread + log_setup: + - log + math: [] + math_c99: + - math + math_c99f: + - math + math_c99l: + - math + math_tr1: + - math + math_tr1f: + - math + math_tr1l: + - math + mpi: + - graph + - serialization + mpi_python: + - mpi + - python + nowide: + - filesystem + numpy: + - python + prg_exec_monitor: + - test + program_options: [] + python: [] + random: + - system + regex: [] + serialization: [] + stacktrace: [] + stacktrace_addr2line: + - stacktrace + stacktrace_backtrace: + - stacktrace + stacktrace_basic: + - stacktrace + stacktrace_noop: + - stacktrace + stacktrace_windbg: + - stacktrace + stacktrace_windbg_cached: + - stacktrace + system: [] + test: + - exception + test_exec_monitor: + - test + thread: + - atomic + - chrono + - container + - date_time + - exception + - system + timer: + - chrono + - system + type_erasure: + - thread + unit_test_framework: + - prg_exec_monitor + - test + - test_exec_monitor + url: + - system + wave: + - filesystem + - serialization + wserialization: + - serialization +libs: + atomic: + - boost_atomic + chrono: + - boost_chrono + container: + - boost_container + context: + - boost_context + contract: + - boost_contract + coroutine: + - boost_coroutine + date_time: + - boost_date_time + exception: + - boost_exception + fiber: + - boost_fiber + fiber_numa: + - boost_fiber_numa + filesystem: + - boost_filesystem + graph: + - boost_graph + graph_parallel: + - boost_graph_parallel + iostreams: + - boost_iostreams + json: + - boost_json + locale: + - boost_locale + log: + - boost_log + log_setup: + - boost_log_setup + math: [] + math_c99: + - boost_math_c99 + math_c99f: + - boost_math_c99f + math_c99l: + - boost_math_c99l + math_tr1: + - boost_math_tr1 + math_tr1f: + - boost_math_tr1f + math_tr1l: + - boost_math_tr1l + mpi: + - boost_mpi + mpi_python: + - boost_mpi_python + nowide: + - boost_nowide + numpy: + - boost_numpy{py_major}{py_minor} + prg_exec_monitor: + - boost_prg_exec_monitor + program_options: + - boost_program_options + python: + - boost_python{py_major}{py_minor} + random: + - boost_random + regex: + - boost_regex + serialization: + - boost_serialization + stacktrace: [] + stacktrace_addr2line: + - boost_stacktrace_addr2line + stacktrace_backtrace: + - boost_stacktrace_backtrace + stacktrace_basic: + - boost_stacktrace_basic + stacktrace_noop: + - boost_stacktrace_noop + stacktrace_windbg: + - boost_stacktrace_windbg + stacktrace_windbg_cached: + - boost_stacktrace_windbg_cached + system: + - boost_system + test: [] + test_exec_monitor: + - boost_test_exec_monitor + thread: + - boost_thread + timer: + - boost_timer + type_erasure: + - boost_type_erasure + unit_test_framework: + - boost_unit_test_framework + url: + - boost_url + wave: + - boost_wave + wserialization: + - boost_wserialization +requirements: + iostreams: + - bzip2 + - lzma + - zlib + - zstd + locale: + - iconv + - icu + python: + - python + regex: + - icu + stacktrace: + - backtrace +static_only: +- boost_exception +- boost_test_exec_monitor +version: 1.82.0 diff --git a/recipes/boost/all/patches/1.82.0-locale-iconv-library-option.patch b/recipes/boost/all/patches/1.82.0-locale-iconv-library-option.patch new file mode 100644 index 0000000000000..80b22dd54b0e1 --- /dev/null +++ b/recipes/boost/all/patches/1.82.0-locale-iconv-library-option.patch @@ -0,0 +1,12 @@ +diff --git a/libs/locale/build/Jamfile.v2 b/libs/locale/build/Jamfile.v2 +index f1321db3..36899cdc 100644 +--- a/libs/locale/build/Jamfile.v2 ++++ b/libs/locale/build/Jamfile.v2 +@@ -22,6 +22,7 @@ project /boost/locale + # Features + + feature.feature boost.locale.iconv : on off : optional propagated ; ++feature.feature boost.locale.iconv.lib : libc libiconv : optional propagated ; + feature.feature boost.locale.icu : on off : optional propagated ; + feature.feature boost.locale.posix : on off : optional propagated ; + feature.feature boost.locale.std : on off : optional propagated ; diff --git a/recipes/boost/config.yml b/recipes/boost/config.yml index 2ce47c1e59d7e..38ecaf5c73d63 100644 --- a/recipes/boost/config.yml +++ b/recipes/boost/config.yml @@ -1,4 +1,6 @@ versions: + "1.82.0": + folder: all "1.81.0": folder: all "1.80.0": From 4a82e9cf92930c48a77badaf0f5442853ae0531a Mon Sep 17 00:00:00 2001 From: Marcin Zdun Date: Sun, 4 Jun 2023 19:22:17 +0200 Subject: [PATCH 0460/4087] (#17819) add mbits-diags/0.9.5 --- recipes/mbits-diags/all/conandata.yml | 3 +++ recipes/mbits-diags/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mbits-diags/all/conandata.yml b/recipes/mbits-diags/all/conandata.yml index 39c27e3a72100..2d952403c9f2e 100644 --- a/recipes/mbits-diags/all/conandata.yml +++ b/recipes/mbits-diags/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.5": + url: "https://github.com/mbits-libs/diags/archive/v0.9.5.tar.gz" + sha256: "5594ad477a9a23012faf50ce0c007351f5073908cf84a3507fc539b74878dd55" "0.9.4": url: "https://github.com/mbits-libs/diags/archive/v0.9.4.tar.gz" sha256: "4fa47e416fa9521c1d268765faf8b313f8e38de249049bc09950a303e11571bf" diff --git a/recipes/mbits-diags/config.yml b/recipes/mbits-diags/config.yml index b894994ccfb77..f92e22cde3e4b 100644 --- a/recipes/mbits-diags/config.yml +++ b/recipes/mbits-diags/config.yml @@ -1,3 +1,5 @@ versions: + "0.9.5": + folder: all "0.9.4": folder: all From c61d6a516480ac724f42428875844cbaa6316a5d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Jun 2023 03:02:25 +0900 Subject: [PATCH 0461/4087] (#17821) daw_utf_range: update daw_header_libraries --- recipes/daw_utf_range/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index f289799db1a13..98739a79d1622 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.92.0") + self.requires("daw_header_libraries/2.93.1") def package_id(self): self.info.clear() From 16b21b040ccd5ef766cadd3249eaaf9f6cd93b45 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 5 Jun 2023 09:02:41 +0200 Subject: [PATCH 0462/4087] (#17447) llhttp: conan v2 support --- recipes/llhttp/all/CMakeLists.txt | 9 --- recipes/llhttp/all/conandata.yml | 1 - recipes/llhttp/all/conanfile.py | 74 +++++++------------ .../llhttp/all/test_package/CMakeLists.txt | 8 +- recipes/llhttp/all/test_package/conanfile.py | 21 ++++-- .../llhttp/all/test_v1_package/CMakeLists.txt | 8 ++ .../llhttp/all/test_v1_package/conanfile.py | 17 +++++ 7 files changed, 69 insertions(+), 69 deletions(-) delete mode 100644 recipes/llhttp/all/CMakeLists.txt create mode 100644 recipes/llhttp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/llhttp/all/test_v1_package/conanfile.py diff --git a/recipes/llhttp/all/CMakeLists.txt b/recipes/llhttp/all/CMakeLists.txt deleted file mode 100644 index 881b1cb39250b..0000000000000 --- a/recipes/llhttp/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory(source_subfolder) diff --git a/recipes/llhttp/all/conandata.yml b/recipes/llhttp/all/conandata.yml index c2671d44c5a50..c68e912051f93 100644 --- a/recipes/llhttp/all/conandata.yml +++ b/recipes/llhttp/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "6.0.6": - patch_file: "patches/cmake_install_dirs.patch" - base_path: "source_subfolder" diff --git a/recipes/llhttp/all/conanfile.py b/recipes/llhttp/all/conanfile.py index df6177221446b..e3071abca2729 100644 --- a/recipes/llhttp/all/conanfile.py +++ b/recipes/llhttp/all/conanfile.py @@ -1,19 +1,20 @@ -from conans import ConanFile, tools, CMake -from conan.tools.files import patch +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class LlhttpParserConan(ConanFile): name = "llhttp" - description = "http request/response parser for c " + description = "http request/response parser for c" topics = ("http", "parser") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nodejs/llhttp" - license = ("MIT",) - generators = ("cmake",) - settings = "os", "compiler", "build_type", "arch" + license = "MIT" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,17 +23,9 @@ class LlhttpParserConan(ConanFile): "shared": False, "fPIC": True, } - exports_sources = "CMakeLists.txt", "patches/*" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -40,48 +33,35 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get( - **self.conan_data["sources"][self.version], - destination=self._source_subfolder, - strip_root=True, - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy( - "LICENSE-MIT", - src=os.path.join(self.source_folder, self._source_subfolder), - dst="licenses", - ) - cmake = self._configure_cmake() + copy(self, "LICENSE-MIT", 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "llhttp") self.cpp_info.set_property("cmake_target_name", "llhttp::llhttp") self.cpp_info.set_property("pkg_config_name", "libllhttp") self.cpp_info.libs = ["llhttp"] - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "llhttp" - self.cpp_info.names["cmake_find_package_multi"] = "llhttp" - self.cpp_info.names["pkg_config"] = "libllhttp" diff --git a/recipes/llhttp/all/test_package/CMakeLists.txt b/recipes/llhttp/all/test_package/CMakeLists.txt index e55d928fc7b95..100d91bba1f4c 100644 --- a/recipes/llhttp/all/test_package/CMakeLists.txt +++ b/recipes/llhttp/all/test_package/CMakeLists.txt @@ -1,11 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES C) find_package(llhttp REQUIRED CONFIG) - add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} llhttp::llhttp) +target_link_libraries(${PROJECT_NAME} PRIVATE llhttp::llhttp) diff --git a/recipes/llhttp/all/test_package/conanfile.py b/recipes/llhttp/all/test_package/conanfile.py index 49a3a66ea5bad..0a6bc68712d90 100644 --- a/recipes/llhttp/all/test_package/conanfile.py +++ b/recipes/llhttp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/llhttp/all/test_v1_package/CMakeLists.txt b/recipes/llhttp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/llhttp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/llhttp/all/test_v1_package/conanfile.py b/recipes/llhttp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/llhttp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 39fd8cc16d3ec48465be718b5b7c8008a6ee9b80 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Jun 2023 17:22:00 +0900 Subject: [PATCH 0463/4087] (#17791) c4core: update fast_float --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index 08b0f78e6b940..55906598cb7b9 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/4.0.0", transitive_headers=True) + self.requires("fast_float/5.0.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 23bed7bb5326c1f665e716a5a0233636a55cf457 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 5 Jun 2023 14:21:31 +0200 Subject: [PATCH 0464/4087] (#17827) [bot] Update authorized users list (2023-06-05) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 46326caa44c6f..4c13d43f270b4 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1167,3 +1167,6 @@ authorized_users: - Hagartinger - perseoGI - krabbstek +- fcorso2016 +- seboste +- Sa3eedove From 06a7ffaadcc501783f0f55b75e15b4c2c29b861f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 5 Jun 2023 15:21:37 +0200 Subject: [PATCH 0465/4087] (#17824) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 4fed5ec701d39..35134c2733591 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -409,6 +409,7 @@ required_for_references: - libvips - libvpx - libwebp +- libwebsockets - libx264 - libx265 - libxls @@ -529,6 +530,7 @@ required_for_references: - quill - quirc - rabbitmq-c +- ragel - rang - range-v3 - rapidcheck @@ -544,6 +546,7 @@ required_for_references: - replxx - restbed - restinio +- ring-span-lite - roaring - robin-hood-hashing - rttr @@ -604,6 +607,7 @@ required_for_references: - tinyxml - tinyxml2 - tl-expected +- tl-function-ref - tlx - toml11 - trantor @@ -670,6 +674,7 @@ required_for_references: - yaml-cpp - yasm - yyjson +- z3 - zbar - zeromq - zfp From e6c5990d7c021f9116fd9cdda42488de464e3538 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Jun 2023 22:42:10 +0900 Subject: [PATCH 0466/4087] (#17811) mongo-c-driver: add version 1.23.4 --- recipes/mongo-c-driver/all/conandata.yml | 13 +++++++++++++ recipes/mongo-c-driver/all/conanfile.py | 2 +- recipes/mongo-c-driver/config.yml | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index be9c59fe3dc4d..a38252586109a 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.23.4": + url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.23.4/mongo-c-driver-1.23.4.tar.gz" + sha256: "209406c91fcf7c63aa633179a0a6b1b36ba237fb77e0470fd81f7299a408e334" "1.23.2": url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.23.2/mongo-c-driver-1.23.2.tar.gz" sha256: "123c358827eea07cd76a31c40281bb1c81b6744f6587c96d0cf217be8b1234e3" @@ -21,6 +24,16 @@ sources: url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.2/mongo-c-driver-1.17.2.tar.gz" sha256: "bc53d5f72ab628a1ae549db6888325d6dc34db3ca31c5e16e550c1bb4266d864" patches: + "1.23.4": + - patch_file: "patches/1.23.2-0001-disable-shared-when-static.patch" + patch_description: "separate static and shared builds" + patch_type: "conan" + - patch_file: "patches/1.22.0-0002-fix-uninitialized-warning.patch" + patch_description: "fix uninitialized variable warning" + patch_type: "portability" + - patch_file: "patches/1.22.0-0003-disable-warning-errors.patch" + patch_description: "disable compiler flags to make warnings into errors" + patch_type: "conan" "1.23.2": - patch_file: "patches/1.23.2-0001-disable-shared-when-static.patch" patch_description: "separate static and shared builds" diff --git a/recipes/mongo-c-driver/all/conanfile.py b/recipes/mongo-c-driver/all/conanfile.py index 9c272cde63df8..e53dfd765dfa4 100644 --- a/recipes/mongo-c-driver/all/conanfile.py +++ b/recipes/mongo-c-driver/all/conanfile.py @@ -78,7 +78,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_icu: - self.requires("icu/72.1") + self.requires("icu/73.1") def validate(self): if self.options.with_ssl == "darwin" and not is_apple_os(self): diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index 1b2d5cda4e394..c015047a9d2d7 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.23.4": + folder: all "1.23.2": folder: all "1.22.2": From 4c27283b4e2ee84891c0aeac6cc440f6671e5d2c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 5 Jun 2023 23:42:45 +0900 Subject: [PATCH 0467/4087] (#17379) zpp_bits: add version 4.4.17, add package_type * zpp_bits: add version 4.4.14, add package_type * update to 4.4.17 * remove 4.4.14 --- recipes/zpp_bits/all/conandata.yml | 3 +++ recipes/zpp_bits/all/conanfile.py | 1 + recipes/zpp_bits/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/zpp_bits/all/conandata.yml b/recipes/zpp_bits/all/conandata.yml index 10471fdb07486..5c61aeec321ee 100644 --- a/recipes/zpp_bits/all/conandata.yml +++ b/recipes/zpp_bits/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.17": + url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.17.tar.gz" + sha256: "e6aacf3fbea7ee16a9b55a8622665d37b157efad321750876aa5c15ed8ac65e6" "4.4.13": url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.13.tar.gz" sha256: "817be8218f1ef6ad66f2c18154d16a9577d0f939a29c76cb95c71f7f24c53fe1" diff --git a/recipes/zpp_bits/all/conanfile.py b/recipes/zpp_bits/all/conanfile.py index 4127bf8c567e7..6b48c8af049c7 100644 --- a/recipes/zpp_bits/all/conanfile.py +++ b/recipes/zpp_bits/all/conanfile.py @@ -16,6 +16,7 @@ class ZppBitsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/eyalz800/zpp_bits" topics = ("serialization", "rpc", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/zpp_bits/config.yml b/recipes/zpp_bits/config.yml index d7d24328031e4..f68457e089852 100644 --- a/recipes/zpp_bits/config.yml +++ b/recipes/zpp_bits/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.17": + folder: all "4.4.13": folder: all "4.4.12": From 67b528e0baa8acb2ac103d4278f32cf3b6aae367 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Jun 2023 00:23:22 +0900 Subject: [PATCH 0468/4087] (#17373) lief: add version 0.13.0 * lief: add version 0.13.0 * add boost::leaf include dir * require C++14 with frozen * fix windows path problem * fix runtime destination --- recipes/lief/all/conandata.yml | 7 +++ recipes/lief/all/conanfile.py | 23 +++++++- .../patches/0.13.0-001_link_to_conan.patch | 56 +++++++++++++++++++ recipes/lief/config.yml | 2 + 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 recipes/lief/all/patches/0.13.0-001_link_to_conan.patch diff --git a/recipes/lief/all/conandata.yml b/recipes/lief/all/conandata.yml index 322361c8a5bce..03f9ed3030ff2 100644 --- a/recipes/lief/all/conandata.yml +++ b/recipes/lief/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.13.0": + url: "https://github.com/lief-project/LIEF/archive/0.13.0.tar.gz" + sha256: "8834e2ccfeefd1003527887357950173fe55e9a712004aa638af67378e28ef55" "0.12.3": url: "https://github.com/lief-project/LIEF/archive/0.12.3.tar.gz" sha256: "762925ad2eed642a6e7ef2cc899bcd3e93a40a2ce1dd2391d9b9ecadfe6438cf" @@ -9,6 +12,10 @@ sources: url: "https://github.com/lief-project/LIEF/archive/0.10.1.tar.gz" sha256: "6f30c98a559f137e08b25bcbb376c0259914b33c307b8b901e01ca952241d00a" patches: + "0.13.0": + - patch_file: "patches/0.13.0-001_link_to_conan.patch" + patch_description: "find conan package and link these" + patch_type: "conan" "0.12.3": - patch_file: "patches/0.12.3-001_link_to_conan.patch" patch_description: "find conan package and link these" diff --git a/recipes/lief/all/conanfile.py b/recipes/lief/all/conanfile.py index 06891925739de..7a69bb5dfa4c4 100644 --- a/recipes/lief/all/conanfile.py +++ b/recipes/lief/all/conanfile.py @@ -50,7 +50,19 @@ class LiefConan(ConanFile): @property def _min_cppstd(self): - return "11" + return "14" if self.options.with_frozen else "11" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) def export_sources(self): export_conandata_patches(self) @@ -84,6 +96,11 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.options.shared and is_msvc(self) and not check_min_vs(self, "191", raise_invalid=False): raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio < 15 with shared:True") @@ -120,6 +137,10 @@ def generate(self): tc.variables["LIEF_EXTERNAL_SPDLOG"] = True tc.variables["LIEF_OPT_EXTERNAL_LEAF"] = True tc.variables["LIEF_OPT_EXTERNAL_SPAN"] = True + if Version(self.version) >= "0.13.0": + tc.variables["LIEF_INSTALL"] = True + tc.variables["LIEF_EXTERNAL_SPAN_DIR"] = self.dependencies["tcb-span"].cpp_info.includedirs[0].replace("\\", "/") + tc.variables["LIEF_EXTERNAL_LEAF_DIR"] = self.dependencies["boost"].cpp_info.includedirs[0].replace("\\", "/") tc.generate() deps = CMakeDeps(self) diff --git a/recipes/lief/all/patches/0.13.0-001_link_to_conan.patch b/recipes/lief/all/patches/0.13.0-001_link_to_conan.patch new file mode 100644 index 0000000000000..a5a1b2657ba0d --- /dev/null +++ b/recipes/lief/all/patches/0.13.0-001_link_to_conan.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 774c479..5aec5cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,8 +99,12 @@ endif() + + # Dependencies + # ============ +-set(THIRD_PARTY_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/third-party/") + include(LIEFDependencies) ++set(LIEF_FROZEN_ENABLED 0) ++if (LIEF_SUPPORT_CXX14 AND NOT LIEF_DISABLE_FROZEN) ++ message(STATUS "Enable Frozen (C++14 support)") ++ set(LIEF_FROZEN_ENABLED 1) ++endif() + + # iOS specific config + # =================== +@@ -479,8 +483,7 @@ endif() + # cmake-format: off + set_target_properties( + LIB_LIEF +- PROPERTIES POSITION_INDEPENDENT_CODE ON +- CXX_STANDARD 11 ++ PROPERTIES CXX_STANDARD 11 + CXX_STANDARD_REQUIRED ON + CXX_VISIBILITY_PRESET hidden + C_VISIBILITY_PRESET hidden) +@@ -682,9 +685,9 @@ if (LIEF_INSTALL) + + # Installation + # ====================== +- ++ include(GNUInstallDirs) ++ if(0) + if(UNIX) +- include(GNUInstallDirs) + set(CMAKE_INSTALL_LIBDIR "lib") + else() + if(WIN32) +@@ -698,13 +701,14 @@ if (LIEF_INSTALL) + message(FATAL_ERROR "System not UNIX nor WIN32 - not implemented yet") + endif() + endif() ++ endif() + + install( + TARGETS LIB_LIEF lief_spdlog + EXPORT LIEFExport + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install( diff --git a/recipes/lief/config.yml b/recipes/lief/config.yml index f24eac175f18c..5063acd40dcd6 100644 --- a/recipes/lief/config.yml +++ b/recipes/lief/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.0": + folder: "all" "0.12.3": folder: "all" "0.12.2": From 2da3d81b48f04d75de61b7e644c75dfab381aff5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 5 Jun 2023 18:03:20 +0200 Subject: [PATCH 0469/4087] (#17297) xoshiro-cpp: fix msvc & cleanup a little bit * fix msvc & cleanup recipe * conan 1.50.0 is sufficient * Empty Commit --- recipes/xoshiro-cpp/all/conanfile.py | 43 ++++++------------- .../all/test_package/CMakeLists.txt | 4 +- .../all/test_v1_package/CMakeLists.txt | 11 ++--- 3 files changed, 18 insertions(+), 40 deletions(-) diff --git a/recipes/xoshiro-cpp/all/conanfile.py b/recipes/xoshiro-cpp/all/conanfile.py index 84a6a0825a628..97eea31fdbb08 100644 --- a/recipes/xoshiro-cpp/all/conanfile.py +++ b/recipes/xoshiro-cpp/all/conanfile.py @@ -6,7 +6,7 @@ from conan.tools.files import copy, get from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.50.0" class XoshiroCppConan(ConanFile): @@ -17,7 +17,11 @@ class XoshiroCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("prng", "xoshiro", "header-only") package_type = "header-library" - settings = "arch", "build_type", "compiler", "os" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return "17" @property def _minimum_compilers_version(self): @@ -26,50 +30,31 @@ def _minimum_compilers_version(self): "clang": "6", "gcc": "7", "Visual Studio": "16", - "msvc": "192" + "msvc": "192", } - @property - def _minimum_cpp_standard(self): - return 17 - def package_id(self): self.info.clear() def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) - compiler = str(self.settings.compiler) - version = Version(self.settings.compiler.version) - try: - min_version = self._minimum_compilers_version[compiler] - if version < min_version: - msg = ( - f"{self.name} requires C++{self._minimum_cpp_standard} features " - f"which are not supported by compiler {compiler} {version}." - ) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - f"{self.ref} recipe lacks information about the {compiler} compiler, " - f"support for the required C++{self._minimum_cpp_standard} features is assumed" + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - self.output.warning(msg) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "*.hpp", src=self.source_folder, - dst=os.path.join(self.package_folder, "include/xoshiro-cpp/")) + dst=os.path.join(self.package_folder, "include", "xoshiro-cpp")) copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "xoshiro-cpp") - self.cpp_info.set_property( - "cmake_target_name", "xoshiro-cpp::xoshiro-cpp") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt b/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt index 7b5f12d50e4ab..4a58eb5fc4eb1 100644 --- a/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt +++ b/recipes/xoshiro-cpp/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) - find_package(xoshiro-cpp REQUIRED CONFIG) add_executable(test_package test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE xoshiro-cpp::xoshiro-cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD}) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt b/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt index 6044711e33fae..0d20897301b68 100644 --- a/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt +++ b/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt @@ -1,13 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.1) project(test_package) -set(CMAKE_CXX_STANDARD 17) - include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(xoshiro-cpp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE xoshiro-cpp::xoshiro-cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD}) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From bd6a68bc6ff7f56e2dc678e47fe852e7860e1475 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Jun 2023 01:42:46 +0900 Subject: [PATCH 0470/4087] (#17605) [duckdb] add version 0.8.0 --- recipes/duckdb/all/conandata.yml | 10 +++ .../all/patches/0.8.0-0001-fix-cmake.patch | 86 +++++++++++++++++++ recipes/duckdb/config.yml | 2 + 3 files changed, 98 insertions(+) create mode 100644 recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 034e9d6c571e6..00427bcc806aa 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -12,6 +15,13 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "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" + - patch_file: "patches/0.6.0-0002-include-stdlib.patch" + patch_description: "include stdlib for abort function" + 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" 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 new file mode 100644 index 0000000000000..6daffba956a1a --- /dev/null +++ b/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch @@ -0,0 +1,86 @@ +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/config.yml b/recipes/duckdb/config.yml index c1b25ce335aee..e7c24e2d529f0 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: "all" "0.7.1": folder: "all" "0.6.1": From 2d087087ca8f086be6c4e372fc80f56fa95b15a7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:43:48 +0200 Subject: [PATCH 0471/4087] (#17399) termcolor: conan v2 support --- recipes/termcolor/all/conanfile.py | 47 ++++++++++++------- .../termcolor/all/test_package/CMakeLists.txt | 9 ++-- .../termcolor/all/test_package/conanfile.py | 19 ++++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 17 +++++++ 5 files changed, 72 insertions(+), 28 deletions(-) create mode 100644 recipes/termcolor/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/termcolor/all/test_v1_package/conanfile.py diff --git a/recipes/termcolor/all/conanfile.py b/recipes/termcolor/all/conanfile.py index 6c4c0eeda2585..1e7b2ef15d00e 100644 --- a/recipes/termcolor/all/conanfile.py +++ b/recipes/termcolor/all/conanfile.py @@ -1,36 +1,49 @@ import os -from conans import ConanFile, CMake, tools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir + +required_conan_version = ">=1.50.0" + class TermcolorConan(ConanFile): name = "termcolor" description = "Termcolor is a header-only C++ library for printing colored messages to the terminal." - topics = ("termcolor", "terminal", "color") + topics = ("terminal", "color") license = "BSD-3-Clause" homepage = "https://github.com/ikalnytskyi/termcolor" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - generators = "cmake" - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def package_id(self): - self.info.header_only() + def generate(self): + tc = CMakeToolchain(self) + tc.generate() - def _configure_cmake(self): + def build(self): cmake = CMake(self) - cmake.configure(source_folder=self._source_subfolder) - return cmake + cmake.configure() + cmake.build() def package(self): - self.copy(pattern="LICENSE", 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "termcolor") + self.cpp_info.set_property("cmake_target_name", "termcolor::termcolor") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/termcolor/all/test_package/CMakeLists.txt b/recipes/termcolor/all/test_package/CMakeLists.txt index 07ff01a5a223c..1d45a2e0c344b 100644 --- a/recipes/termcolor/all/test_package/CMakeLists.txt +++ b/recipes/termcolor/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(termcolor REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} termcolor::termcolor) +target_link_libraries(${PROJECT_NAME} PRIVATE termcolor::termcolor) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/termcolor/all/test_package/conanfile.py b/recipes/termcolor/all/test_package/conanfile.py index 38f4483872d47..0a6bc68712d90 100644 --- a/recipes/termcolor/all/test_package/conanfile.py +++ b/recipes/termcolor/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/termcolor/all/test_v1_package/CMakeLists.txt b/recipes/termcolor/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/termcolor/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/termcolor/all/test_v1_package/conanfile.py b/recipes/termcolor/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/termcolor/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0d701c828841e853487db48870b9c789ee77b2c9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Jun 2023 04:41:34 +0900 Subject: [PATCH 0472/4087] (#17833) quill: add version 2.9.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 c0383be1acb6e..37c0201c6a203 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.2": + url: "https://github.com/odygrd/quill/archive/v2.9.2.tar.gz" + sha256: "5b5b502f33277d1ebdb39d57898b1ca25affef4819d390927499f368dd562d91" "2.9.1": url: "https://github.com/odygrd/quill/archive/v2.9.1.tar.gz" sha256: "921e053118136f63cebb2ca1d7e42456fd0bf9626facb755884709092753c054" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 55f002f64b6ee..6219dcc09a861 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.2": + folder: "all" "2.9.1": folder: "all" "2.9.0": From 91832299e67b70cfc14b53dfb04513741fbe0e28 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 6 Jun 2023 09:42:21 +0200 Subject: [PATCH 0473/4087] (#17839) libxcrypt: add version 4.4.34 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libxcrypt/all/conandata.yml | 3 +++ recipes/libxcrypt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxcrypt/all/conandata.yml b/recipes/libxcrypt/all/conandata.yml index df7c72ca12c22..7c93eb6d3f47d 100644 --- a/recipes/libxcrypt/all/conandata.yml +++ b/recipes/libxcrypt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.34": + url: "https://github.com/besser82/libxcrypt/archive/v4.4.34.tar.gz" + sha256: "8888bbe9f8530bbd9f8063d65288018d419f91e9b3e3349abb8cb4d0a0397cc5" "4.4.28": url: "https://github.com/besser82/libxcrypt/archive/v4.4.28.tar.gz" sha256: "db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457" diff --git a/recipes/libxcrypt/config.yml b/recipes/libxcrypt/config.yml index 5f226d94e67a1..178dce23d013b 100644 --- a/recipes/libxcrypt/config.yml +++ b/recipes/libxcrypt/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.34": + folder: all "4.4.28": folder: all "4.4.27": From e53ffb54957dcddcecca7e9bf0868f8e5da47457 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 6 Jun 2023 10:21:51 +0200 Subject: [PATCH 0474/4087] (#17840) nsync: add version 1.26.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 fe01573d5a239..b694103d49b84 100644 --- a/recipes/nsync/all/conandata.yml +++ b/recipes/nsync/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.26.0": + url: "https://github.com/google/nsync/archive/1.26.0.tar.gz" + sha256: "80fc1e605bb3cf5f272811ece39c4fb6761ffcb9b30563301845cc9ff381eb8b" "1.25.0": url: "https://github.com/google/nsync/archive/1.25.0.tar.gz" sha256: "2be9dbfcce417c7abcc2aa6fee351cd4d292518d692577e74a2c6c05b049e442" @@ -9,6 +12,8 @@ sources: sha256: "b7e75b17957c62bd02dd73890bde22da3a564903fcaad651b395453d41d3325b" url: "https://github.com/google/nsync/archive/refs/tags/1.23.0.tar.gz" patches: + "1.26.0": + - patch_file: "patches/0001-darwin-exclude_semaphore_mutex_c_from_nsync_cpp_lib.patch" "1.25.0": - patch_file: "patches/0001-darwin-exclude_semaphore_mutex_c_from_nsync_cpp_lib.patch" "1.24.0": diff --git a/recipes/nsync/config.yml b/recipes/nsync/config.yml index 14ad5b4688ed8..960f98574a708 100644 --- a/recipes/nsync/config.yml +++ b/recipes/nsync/config.yml @@ -1,4 +1,6 @@ versions: + "1.26.0": + folder: "all" "1.25.0": folder: "all" "1.24.0": From ecface3f14319f2f6901c3d6d189ade8d685c643 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 6 Jun 2023 18:04:29 +0900 Subject: [PATCH 0475/4087] (#17155) wasmer: add version 3.2.1 * wasmer: add version 3.2.1 * add Security for apple os * use `is_msvc_static_runtime` * fix is_msvc_static_runtime bug * fix _compiler_alias --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++ recipes/wasmer/all/conanfile.py | 40 ++++++++++++++++++-------------- recipes/wasmer/config.yml | 2 ++ 3 files changed, 51 insertions(+), 18 deletions(-) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 7b9c9649cb8d8..b910c1ff73d15 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "3.2.1": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v3.2.1/wasmer-windows-amd64.tar.gz" + sha256: "e5500d405de2f43ed00d4a3341e5dba463abc15ebbb2aac832aca9e18cbe090d" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v3.2.1/wasmer-windows-gnu64.tar.gz" + sha256: "f16242f3ddca3c8a1294bb8feb34a2447f8d19f12e095fac7e7eb710a1f8ac9e" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v3.2.1/wasmer-linux-amd64.tar.gz" + sha256: "43e8c84460da374d78e9c527da10145143d8bd46e49e93e18efa27fed0c42683" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v3.2.1/wasmer-linux-aarch64.tar.gz" + sha256: "f1847405588339b4327ef9d68c266355b04d3d18d6fc2c9fdfb2c9f576f4d758" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v3.2.1/wasmer-darwin-amd64.tar.gz" + sha256: "c1bd3bf73cb13c0f8ba7015356964414979b2e145168eef4b81a921ff18f582c" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v3.2.1/wasmer-darwin-arm64.tar.gz" + sha256: "9e5360b4a494324824308891a7027bfd19199c53449a649f97a5db6e7ae028fb" "3.1.0": Windows: "x86_64": diff --git a/recipes/wasmer/all/conanfile.py b/recipes/wasmer/all/conanfile.py index 9db5f12cf18fe..441a5c8738ad6 100644 --- a/recipes/wasmer/all/conanfile.py +++ b/recipes/wasmer/all/conanfile.py @@ -1,9 +1,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.files import get, copy, replace_in_file from conan.tools.layout import basic_layout from conan.tools.scm import Version +from conan.tools.apple import is_apple_os import os required_conan_version = ">=1.53.0" @@ -15,7 +16,8 @@ class WasmerConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/wasmerio/wasmer/" topics = ("webassembly", "wasm", "wasi", "emscripten") - settings = "os", "arch", "compiler" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], } @@ -26,9 +28,9 @@ class WasmerConan(ConanFile): @property def _compiler_alias(self): return { - "Visual Studio": "Visual Studio", - "msvc": "Visual Studio", - }.get(str(self.settings.compiler), "gcc") + "Visual Studio": "msvc", + "msvc": "msvc", + }.get(str(self.info.settings.compiler), "gcc") def configure(self): self.settings.rm_safe("compiler.libcxx") @@ -46,13 +48,13 @@ def validate(self): raise ConanInvalidConfiguration("Binaries for this combination of version/os/arch/compiler are not available") if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("Shared Windows build of wasmer are non-working atm (no import libraries are available)") + raise ConanInvalidConfiguration(f"Shared Windows build of {self.ref} are non-working atm (no import libraries are available)") if self.settings.os == "Linux" and self.options.shared and "2.3.0" <= Version(self.version): - raise ConanInvalidConfiguration("Shared Linux build of wasmer are not working. It requires glibc >= 2.25") + raise ConanInvalidConfiguration(f"Shared Linux build of {self.ref} are not working. It requires glibc >= 2.25") - if is_msvc(self) and not self.options.shared and self.settings.compiler.runtime != "MT": - raise ConanInvalidConfiguration("wasmer is only available with compiler.runtime=MT") + if is_msvc(self) and not self.options.shared and not is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} is only available with compiler.runtime=static") def package_id(self): del self.info.settings.compiler.version @@ -60,26 +62,26 @@ def package_id(self): def source(self): get( - self, - **self.conan_data["sources"][self.version][str(self.settings.os)][str(self.settings.arch)][self._compiler_alias], destination=self.source_folder + self, + **self.conan_data["sources"][self.version][str(self.info.settings.os)][str(self.info.settings.arch)][self._compiler_alias] ) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - self.copy("*.h", src=os.path.join(self.source_folder, "include"), dst="include", keep_path=False) + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) srclibdir = os.path.join(self.source_folder, "lib") dstlibdir = os.path.join(self.package_folder, "lib") dstbindir = os.path.join(self.package_folder, "bin") if self.options.shared: - self.copy("wasmer.dll.lib", src=srclibdir, dst=dstlibdir, keep_path=False) # FIXME: not available (yet) - self.copy("wasmer.dll", src=srclibdir, dst=dstbindir, keep_path=False) - self.copy("libwasmer.so*", src=srclibdir, dst=dstlibdir, keep_path=False) - self.copy("libwasmer.dylib", src=srclibdir, dst=dstlibdir, keep_path=False) + copy(self, pattern="wasmer.dll.lib", dst=dstlibdir, src=srclibdir) # FIXME: not available (yet) + copy(self, pattern="wasmer.dll", dst=dstbindir, src=srclibdir) + copy(self, pattern="libwasmer.so*", dst=dstlibdir, src=srclibdir) + copy(self, pattern="libwasmer.dylib", dst=dstlibdir, src=srclibdir) else: - self.copy("wasmer.lib", src=srclibdir, dst=dstlibdir, keep_path=False) - self.copy("libwasmer.a", src=srclibdir, dst=dstlibdir, keep_path=False) + copy(self, pattern="wasmer.lib", dst=dstlibdir, src=srclibdir) + copy(self, pattern="libwasmer.a", dst=dstlibdir, src=srclibdir) replace_in_file(self, os.path.join(self.package_folder, "include", "wasm.h"), "__declspec(dllimport)", "") @@ -92,3 +94,5 @@ def package_info(self): self.cpp_info.system_libs.append("rt") elif self.settings.os == "Windows": self.cpp_info.system_libs = ["bcrypt", "userenv", "ws2_32"] + elif is_apple_os(self) and Version(self.version) >= "3.2.0": + self.cpp_info.frameworks = ["Security"] diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index e0d445f36bd33..15cf31b8c9d16 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.1": + folder: "all" "3.1.0": folder: "all" "3.0.2": From 6826b2b57c74268be525bdf3e42b2d2abd826912 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 6 Jun 2023 12:03:20 +0200 Subject: [PATCH 0476/4087] (#17444) raylib: conan v2 support + remove `use_external_glfw` option * conan v2 support * cleanup android patch * patch CMakeLists of 3.5.0 * restore OFF/ON value for USE_EXTERNAL_GLFW * it requires conan >= 1.54.0 due to BUILD_SHARED_LIBS * empty commit * do not corrupt glfw target * typo * set CMP0054 to NEW to fix a CMakeDeps issue when glfw is shared --- recipes/raylib/all/CMakeLists.txt | 7 - recipes/raylib/all/conandata.yml | 18 ++- recipes/raylib/all/conanfile.py | 122 +++++++---------- .../0001-3.5.0-enable-cmake-build.patch | 123 ------------------ ....5.0-0001-enable-cmake-build-android.patch | 40 ++++++ .../patches/3.5.0-0002-cmake-project.patch | 8 ++ ...0.0-0001-enable-cmake-build-android.patch} | 12 -- .../raylib/all/test_package/CMakeLists.txt | 7 +- recipes/raylib/all/test_package/conanfile.py | 19 ++- .../raylib/all/test_v1_package/CMakeLists.txt | 8 ++ .../raylib/all/test_v1_package/conanfile.py | 17 +++ recipes/raylib/config.yml | 4 +- 12 files changed, 149 insertions(+), 236 deletions(-) delete mode 100644 recipes/raylib/all/CMakeLists.txt delete mode 100644 recipes/raylib/all/patches/0001-3.5.0-enable-cmake-build.patch create mode 100644 recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch create mode 100644 recipes/raylib/all/patches/3.5.0-0002-cmake-project.patch rename recipes/raylib/all/patches/{0001-4.0.0-enable-cmake-build.patch => 4.0.0-0001-enable-cmake-build-android.patch} (61%) create mode 100644 recipes/raylib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/raylib/all/test_v1_package/conanfile.py diff --git a/recipes/raylib/all/CMakeLists.txt b/recipes/raylib/all/CMakeLists.txt deleted file mode 100644 index 0496b29838549..0000000000000 --- a/recipes/raylib/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/raylib/all/conandata.yml b/recipes/raylib/all/conandata.yml index 17c0c7abb4dfd..8757de8ae9e8a 100644 --- a/recipes/raylib/all/conandata.yml +++ b/recipes/raylib/all/conandata.yml @@ -1,15 +1,13 @@ sources: - "3.5.0": - url: "https://github.com/raysan5/raylib/archive/3.5.0.tar.gz" - sha256: "761985876092fa98a99cbf1fef7ca80c3ee0365fb6a107ab901a272178ba69f5" "4.0.0": - url: "https://github.com/raysan5/raylib/archive/4.0.0.tar.gz" + url: "https://github.com/raysan5/raylib/archive/refs/tags/4.0.0.tar.gz" sha256: "11f6087dc7bedf9efb3f69c0c872f637e421d914e5ecea99bbe7781f173dc38c" - -patches: "3.5.0": - - patch_file: "patches/0001-3.5.0-enable-cmake-build.patch" - base_path: "source_subfolder" + url: "https://github.com/raysan5/raylib/archive/refs/tags/3.5.0.tar.gz" + sha256: "761985876092fa98a99cbf1fef7ca80c3ee0365fb6a107ab901a272178ba69f5" +patches: "4.0.0": - - patch_file: "patches/0001-4.0.0-enable-cmake-build.patch" - base_path: "source_subfolder" + - patch_file: "patches/4.0.0-0001-enable-cmake-build-android.patch" + "3.5.0": + - patch_file: "patches/3.5.0-0001-enable-cmake-build-android.patch" + - patch_file: "patches/3.5.0-0002-cmake-project.patch" diff --git a/recipes/raylib/all/conanfile.py b/recipes/raylib/all/conanfile.py index 6003a95f7be72..b00589d9af8ba 100644 --- a/recipes/raylib/all/conanfile.py +++ b/recipes/raylib/all/conanfile.py @@ -1,8 +1,12 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.54.0" class RaylibConan(ConanFile): @@ -11,95 +15,77 @@ class RaylibConan(ConanFile): license = "Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.raylib.com/" - topics = ("raylib", "gamedev") - + topics = ("gamedev",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "use_external_glfw": [True, False], - "opengl_version":[None, "3.3","2.1","1.1","ES-2.0"] + "opengl_version": [None, "4.3", "3.3", "2.1", "1.1", "ES-2.0"], } default_options = { "shared": False, "fPIC": True, - "use_external_glfw": True, - "opengl_version" : None + "opengl_version": None, } - exports_sources = ["CMakeLists.txt","patches/**"] - generators = "cmake", "cmake_find_package_multi" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.os == "Android": + del self.options.opengl_version 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.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - - if self.options.use_external_glfw and self.settings.os != "Android": - self.requires("glfw/3.3.6") - if self.settings.os != "Android": + self.requires("glfw/3.3.8") self.requires("opengl/system") - if self.settings.os == "Linux": self.requires("xorg/system") - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_EXAMPLES"] = False - + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_EXAMPLES"] = False if self.settings.os == "Android": - self._cmake.definitions["PLATFORM"] = "Android" - self._cmake.definitions["USE_EXTERNAL_GLFW"] = "OFF" - self._cmake.definitions["OPENGL_VERSION"] = "ES 2.0" + tc.variables["PLATFORM"] = "Android" + tc.variables["USE_EXTERNAL_GLFW"] = "OFF" + tc.variables["OPENGL_VERSION"] = "ES 2.0" else: - self._cmake.definitions["USE_EXTERNAL_GLFW"] = "OFF" if self.options.use_external_glfw else "ON" - self._cmake.definitions["OPENGL_VERSION"] = "OFF" if not self.options.opengl_version else self.options.opengl_version - - self._cmake.definitions["WITH_PIC"] = self.options.get_safe("fPIC", True) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["USE_EXTERNAL_GLFW"] = "ON" + tc.variables["OPENGL_VERSION"] = "OFF" if not self.options.opengl_version else self.options.opengl_version + tc.variables["WITH_PIC"] = self.options.get_safe("fPIC", True) + # Due to a specific logic of cmakedeps_macros.cmake used by CMakeDeps to try to locate shared libs on Windows + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0054"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( @@ -107,44 +93,36 @@ def package(self): {"raylib": "raylib::raylib"} ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) - - @property - def _module_subfolder(self): - return os.path.join("lib", "cmake") + save(self, module_file, content) @property def _module_file_rel_path(self): - return os.path.join(self._module_subfolder, - "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): self.cpp_info.set_property("cmake_file_name", "raylib") self.cpp_info.set_property("cmake_target_name", "raylib") self.cpp_info.set_property("pkg_config_name", "raylib") libname = "raylib" - if self._is_msvc and not self.options.shared and self.version == '3.5.0': + if is_msvc(self) and not self.options.shared and Version(self.version) < "4.0.0": libname += "_static" self.cpp_info.libs = [libname] - if self._is_msvc and self.options.shared: + if is_msvc(self) and self.options.shared: self.cpp_info.defines.append("USE_LIBTYPE_SHARED") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["m", "pthread"]) elif self.settings.os == "Windows": self.cpp_info.system_libs.append("winmm") - self.cpp_info.builddirs.append(self._module_subfolder) - # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/raylib/all/patches/0001-3.5.0-enable-cmake-build.patch b/recipes/raylib/all/patches/0001-3.5.0-enable-cmake-build.patch deleted file mode 100644 index db2fcdc698196..0000000000000 --- a/recipes/raylib/all/patches/0001-3.5.0-enable-cmake-build.patch +++ /dev/null @@ -1,123 +0,0 @@ -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 57ba74d4..4f019db1 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -28,7 +28,6 @@ if (APPLE AND NOT CMAKE_SYSTEM STRLESS "Darwin-18.0.0") - add_definitions(-DGL_SILENCE_DEPRECATION) - MESSAGE(AUTHOR_WARNING "OpenGL is deprecated starting with macOS 10.14 (Mojave)!") - endif() --list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) - - include(CheckIncludeFile) - CHECK_INCLUDE_FILE("stdatomic.h" HAVE_STDATOMIC_H) -@@ -51,6 +50,7 @@ endif() - if(${PLATFORM} MATCHES "Android") - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/standard_lighting.c) -+ list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/opengl_interop.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_3d_picking.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_vr_simulator.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_3d_camera_free.c) -@@ -119,19 +119,5 @@ foreach(example_source ${example_sources}) - endif() - endforeach() - --if (${PLATFORM} MATCHES "Desktop") -- # rlgl_standalone can't be linked with raylib because of duplicate rlgl symbols -- foreach (example_source "others/rlgl_standalone.c") -- # Create the basename for the example -- get_filename_component(example_name ${example_source} NAME) -- string(REPLACE ".c" "" example_name ${example_name}) -- add_executable(${example_name} ${example_source}) -- add_dependencies(${example_name} raylib) -- target_link_libraries(${example_name} ${raylib_LDFLAGS}) -- target_include_directories(${example_name} PRIVATE ${raylib_INCLUDE_DIRS}) -- -- endforeach() --endif() -- - # Copy all of the resource files to the destination - file(COPY ${example_resources} DESTINATION "resources/") -diff --git a/examples/shapes/shapes_draw_circle_sector.c b/examples/shapes/shapes_draw_circle_sector.c -index 8b1cf6ec..b58f3f35 100644 ---- a/examples/shapes/shapes_draw_circle_sector.c -+++ b/examples/shapes/shapes_draw_circle_sector.c -@@ -57,11 +57,11 @@ int main(void) - - // Draw GUI controls - //------------------------------------------------------------------------------ -- startAngle = GuiSliderBar((Rectangle){ 600, 40, 120, 20}, "StartAngle", startAngle, 0, 720, true ); -- endAngle = GuiSliderBar((Rectangle){ 600, 70, 120, 20}, "EndAngle", endAngle, 0, 720, true); -+ startAngle = GuiSliderBar((Rectangle){ 600, 40, 120, 20}, "StartAngle",NULL, startAngle, 0, 720); -+ endAngle = GuiSliderBar((Rectangle){ 600, 70, 120, 20}, "EndAngle", NULL, endAngle, 0, 720); - -- outerRadius = GuiSliderBar((Rectangle){ 600, 140, 120, 20}, "Radius", outerRadius, 0, 200, true); -- segments = GuiSliderBar((Rectangle){ 600, 170, 120, 20}, "Segments", segments, 0, 100, true); -+ outerRadius = GuiSliderBar((Rectangle){ 600, 140, 120, 20}, "Radius", NULL, outerRadius, 0, 200); -+ segments = GuiSliderBar((Rectangle){ 600, 170, 120, 20}, "Segments", NULL, segments, 0, 100); - //------------------------------------------------------------------------------ - - DrawText(TextFormat("MODE: %s", (segments >= 4)? "MANUAL" : "AUTO"), 600, 200, 10, (segments >= 4)? MAROON : DARKGRAY); -diff --git a/examples/shapes/shapes_draw_ring.c b/examples/shapes/shapes_draw_ring.c -index b363dc07..a18fdaf2 100644 ---- a/examples/shapes/shapes_draw_ring.c -+++ b/examples/shapes/shapes_draw_ring.c -@@ -64,13 +64,13 @@ int main(void) - - // Draw GUI controls - //------------------------------------------------------------------------------ -- startAngle = GuiSliderBar((Rectangle){ 600, 40, 120, 20 }, "StartAngle", startAngle, -450, 450, true); -- endAngle = GuiSliderBar((Rectangle){ 600, 70, 120, 20 }, "EndAngle", endAngle, -450, 450, true); -+ startAngle = GuiSliderBar((Rectangle){ 600, 40, 120, 20 }, "StartAngle", NULL, startAngle, -450, 450); -+ endAngle = GuiSliderBar((Rectangle){ 600, 70, 120, 20 }, "EndAngle", NULL, endAngle, -450, 450); - -- innerRadius = GuiSliderBar((Rectangle){ 600, 140, 120, 20 }, "InnerRadius", innerRadius, 0, 100, true); -- outerRadius = GuiSliderBar((Rectangle){ 600, 170, 120, 20 }, "OuterRadius", outerRadius, 0, 200, true); -+ innerRadius = GuiSliderBar((Rectangle){ 600, 140, 120, 20 }, NULL, "InnerRadius", innerRadius, 0, 100); -+ outerRadius = GuiSliderBar((Rectangle){ 600, 170, 120, 20 }, NULL, "OuterRadius", outerRadius, 0, 200); - -- segments = GuiSliderBar((Rectangle){ 600, 240, 120, 20 }, "Segments", segments, 0, 100, true); -+ segments = GuiSliderBar((Rectangle){ 600, 240, 120, 20 }, "Segments", NULL, segments, 0, 100); - - drawRing = GuiCheckBox((Rectangle){ 600, 320, 20, 20 }, "Draw Ring", drawRing); - drawRingLines = GuiCheckBox((Rectangle){ 600, 350, 20, 20 }, "Draw RingLines", drawRingLines); -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 2e9861f8..08b149f1 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -108,7 +108,7 @@ elseif(${PLATFORM} MATCHES "Android") - add_if_flag_compiles(-Wa,--noexecstack CMAKE_C_FLAGS) - add_if_flag_compiles(-no-canonical-prefixes CMAKE_C_FLAGS) - add_definitions(-DANDROID -D__ANDROID_API__=21) -- include_directories(external/android/native_app_glue) -+ include_directories(${ANDROID_NDK}/sources/android/native_app_glue) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate") - - find_library(OPENGL_LIBRARY OpenGL) -diff --git a/src/core.c b/src/core.c -index e6d27e5f..fb7014b0 100644 ---- a/src/core.c -+++ b/src/core.c -@@ -186,7 +186,7 @@ - - // Support retrieving native window handlers - #if defined(_WIN32) -- #define GLFW_EXPOSE_NATIVE_WIN32 -+ - #include // WARNING: It requires customization to avoid windows.h inclusion! - - #if !defined(SUPPORT_BUSY_WAIT_LOOP) -@@ -3346,10 +3346,12 @@ static bool InitGraphicsDevice(int width, int height) - glfwSwapInterval(0); // No V-Sync by default - #endif - --#if defined(PLATFORM_DESKTOP) -+#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) - // Load OpenGL 3.3 extensions - // NOTE: GLFW loader function is passed as parameter - rlLoadExtensions(glfwGetProcAddress); -+#else -+ rlLoadExtensions(eglGetProcAddress); - #endif - - // Try to enable GPU V-Sync, so frames are limited to screen refresh rate (60Hz -> 60 FPS) diff --git a/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch b/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch new file mode 100644 index 0000000000000..41d8a0a51669a --- /dev/null +++ b/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch @@ -0,0 +1,40 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 2e9861f8..08b149f1 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -108,7 +108,7 @@ elseif(${PLATFORM} MATCHES "Android") + add_if_flag_compiles(-Wa,--noexecstack CMAKE_C_FLAGS) + add_if_flag_compiles(-no-canonical-prefixes CMAKE_C_FLAGS) + add_definitions(-DANDROID -D__ANDROID_API__=21) +- include_directories(external/android/native_app_glue) ++ include_directories(${ANDROID_NDK}/sources/android/native_app_glue) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate") + + find_library(OPENGL_LIBRARY OpenGL) +diff --git a/src/core.c b/src/core.c +index e6d27e5f..fb7014b0 100644 +--- a/src/core.c ++++ b/src/core.c +@@ -186,7 +186,7 @@ + + // Support retrieving native window handlers + #if defined(_WIN32) +- #define GLFW_EXPOSE_NATIVE_WIN32 ++ + #include // WARNING: It requires customization to avoid windows.h inclusion! + + #if !defined(SUPPORT_BUSY_WAIT_LOOP) +@@ -3346,10 +3346,12 @@ static bool InitGraphicsDevice(int width, int height) + glfwSwapInterval(0); // No V-Sync by default + #endif + +-#if defined(PLATFORM_DESKTOP) ++#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) + // Load OpenGL 3.3 extensions + // NOTE: GLFW loader function is passed as parameter + rlLoadExtensions(glfwGetProcAddress); ++#else ++ rlLoadExtensions(eglGetProcAddress); + #endif + + // Try to enable GPU V-Sync, so frames are limited to screen refresh rate (60Hz -> 60 FPS) diff --git a/recipes/raylib/all/patches/3.5.0-0002-cmake-project.patch b/recipes/raylib/all/patches/3.5.0-0002-cmake-project.patch new file mode 100644 index 0000000000000..03464a8959dfc --- /dev/null +++ b/recipes/raylib/all/patches/3.5.0-0002-cmake-project.patch @@ -0,0 +1,8 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,5 @@ + cmake_minimum_required(VERSION 3.0) ++project(raylib) + set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + + if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") diff --git a/recipes/raylib/all/patches/0001-4.0.0-enable-cmake-build.patch b/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch similarity index 61% rename from recipes/raylib/all/patches/0001-4.0.0-enable-cmake-build.patch rename to recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch index 9ef917874947c..6b4ff9b463c46 100644 --- a/recipes/raylib/all/patches/0001-4.0.0-enable-cmake-build.patch +++ b/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch @@ -11,18 +11,6 @@ index c156d6b3..608fe531 100644 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate") find_library(OPENGL_LIBRARY OpenGL) -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 6ade9686..4e849ce4 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -66,6 +66,7 @@ endif () - if (${PLATFORM} MATCHES "Android") - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/standard_lighting.c) -+ list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/raylib_opengl_interop.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_3d_picking.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_vr_simulator.c) - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_3d_camera_free.c) diff --git a/src/rcore.c b/src/rcore.c index 3b451552..d7e58c1c 100644 --- a/src/rcore.c diff --git a/recipes/raylib/all/test_package/CMakeLists.txt b/recipes/raylib/all/test_package/CMakeLists.txt index a1f55e19ef5a2..b4df9cc28b40d 100644 --- a/recipes/raylib/all/test_package/CMakeLists.txt +++ b/recipes/raylib/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES C) find_package(raylib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} raylib) +target_link_libraries(${PROJECT_NAME} PRIVATE raylib) diff --git a/recipes/raylib/all/test_package/conanfile.py b/recipes/raylib/all/test_package/conanfile.py index 38f4483872d47..0a6bc68712d90 100644 --- a/recipes/raylib/all/test_package/conanfile.py +++ b/recipes/raylib/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/raylib/all/test_v1_package/CMakeLists.txt b/recipes/raylib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/raylib/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/raylib/all/test_v1_package/conanfile.py b/recipes/raylib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/raylib/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/raylib/config.yml b/recipes/raylib/config.yml index 9d0cb9313a0f3..b0be0ea520564 100644 --- a/recipes/raylib/config.yml +++ b/recipes/raylib/config.yml @@ -1,5 +1,5 @@ versions: - "3.5.0": - folder: "all" "4.0.0": folder: "all" + "3.5.0": + folder: "all" From 4c879f7a6d2977ae72ece915bcfbca4f83672aae Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 6 Jun 2023 03:43:14 -0700 Subject: [PATCH 0477/4087] (#17045) dbcppp: remove invalid option + set package_type * dbcppp: remove invalid option + set package_type * chore: fixup linter * chore: keep configure but ignore missing option * chore: drop unused import * fixup: correct typo * fixup: dont use info in package_info --- recipes/dbcppp/all/conanfile.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/recipes/dbcppp/all/conanfile.py b/recipes/dbcppp/all/conanfile.py index 3a0d9d2ce43eb..2c148eca60aad 100644 --- a/recipes/dbcppp/all/conanfile.py +++ b/recipes/dbcppp/all/conanfile.py @@ -1,6 +1,6 @@ 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.microsoft import check_min_vs, is_msvc from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -16,14 +16,13 @@ class DBCpppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/xR3b0rn/dbcppp" topics = ("can", "dbc", "network") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], "fPIC": [True, False], "with_tools": [True, False], } default_options = { - "shared": False, "fPIC": True, "with_tools": False, } @@ -48,12 +47,11 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") - self.options["boost"].header_only = True def layout(self): - cmake_layout(self) + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_tools: @@ -61,9 +59,6 @@ def requirements(self): self.requires("boost/1.80.0") def validate(self): - if self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} does not currently support {self.ref}:shared=True") - if self.info.settings.compiler.cppstd: check_min_cppstd(self, self._minimum_cpp_standard) check_min_vs(self, 191) @@ -75,12 +70,10 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][str(self.version)],destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][str(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.variables["build_tests"] = False tc.variables["build_examples"] = False tc.variables["build_tools"] = self.options.with_tools @@ -108,4 +101,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["libdbcppp"] - self.env_info.path.append(os.path.join(self.package_folder, "bin")) + if self.options.with_tools: + self.env_info.path.append(os.path.join(self.package_folder, "bin")) From eaea4721f0d6e2ab747b53c985e1c913540b5323 Mon Sep 17 00:00:00 2001 From: Oleksandr Koval <37271580+OleksandrKvl@users.noreply.github.com> Date: Tue, 6 Jun 2023 14:21:35 +0300 Subject: [PATCH 0478/4087] (#17842) sbepp: add 1.1.0 version --- 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 dea8b825f69d9..82c17d19658b7 100644 --- a/recipes/sbepp/all/conandata.yml +++ b/recipes/sbepp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.1.0.tar.gz" + sha256: "a5787c7204a2509c8d1eb6c65f0143020d7c7ceadd4a53d2cb9a64dc4f6b9e9a" "1.0.1": url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.0.1.tar.gz" sha256: "c8ee54df0ae670bd7508a48947da6c6987eeb72481f1ab8cc05b8d4d03aaec8b" diff --git a/recipes/sbepp/config.yml b/recipes/sbepp/config.yml index 715e55357a17b..20ec1c9e2bdee 100644 --- a/recipes/sbepp/config.yml +++ b/recipes/sbepp/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: all "1.0.1": folder: all From 51e6a3c7cacabac1663eaadd240f3ea7e14b23a3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 6 Jun 2023 14:03:46 +0200 Subject: [PATCH 0479/4087] (#17397) timsort: conan v2 support --- recipes/timsort/all/conandata.yml | 46 +++++++++---------- recipes/timsort/all/conanfile.py | 38 +++++++++------ .../timsort/all/test_package/CMakeLists.txt | 9 ++-- recipes/timsort/all/test_package/conanfile.py | 19 ++++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../timsort/all/test_v1_package/conanfile.py | 17 +++++++ recipes/timsort/config.yml | 16 +++---- 7 files changed, 96 insertions(+), 57 deletions(-) create mode 100644 recipes/timsort/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/timsort/all/test_v1_package/conanfile.py diff --git a/recipes/timsort/all/conandata.yml b/recipes/timsort/all/conandata.yml index 47ca98338210c..494ae5cf97b30 100644 --- a/recipes/timsort/all/conandata.yml +++ b/recipes/timsort/all/conandata.yml @@ -1,25 +1,25 @@ sources: - "1.2.0": - sha256: 3a189cb8717efbf0442da1d62109b7e881c158ab8167f8997e79cdb3a2cd7c9a - url: https://github.com/timsort/cpp-TimSort/archive/v1.2.0.tar.gz - "1.2.1": - sha256: 4f32285926330c97290b102c92c4ae8c308f46f70488d383595ae5f191e1de55 - url: https://github.com/timsort/cpp-TimSort/archive/v1.2.1.tar.gz - "1.2.2": - sha256: 594a5e59248accd1caa6a9e0f145d91ed9cf5bf1044d46684df1e866a534ee76 - url: https://github.com/timsort/cpp-TimSort/archive/v1.2.2.tar.gz - "1.3.0": - sha256: 25fe8338ac053c09662d62bbcaab981e478054a75b9422c1a652e580026713f0 - url: https://github.com/timsort/cpp-TimSort/archive/v1.3.0.tar.gz - "2.0.0": - sha256: 6cb23b0efb83e1d4f6eab58cddd35b36ca49cd927a46294575b9c0d304a2e833 - url: https://github.com/timsort/cpp-TimSort/archive/v2.0.0.tar.gz - "2.0.1": - sha256: 5c7fe16ca8ead3a86691cb64c373b9ca634add6b6539254baa58f4e254e865c6 - url: https://github.com/timsort/cpp-TimSort/archive/v2.0.1.tar.gz - "2.0.2": - sha256: df15ac2cea751e573979ff97966f2b3d5d9c35a819c43d9944756974e069b2d7 - url: https://github.com/timsort/cpp-TimSort/archive/v2.0.2.tar.gz "2.1.0": - sha256: b16606f85316d9a3cfde638c02dd9ce23324b0a904bb020e4ad2497cb8cf9ebd - url: https://github.com/timsort/cpp-TimSort/archive/v2.1.0.tar.gz + url: "https://github.com/timsort/cpp-TimSort/archive/v2.1.0.tar.gz" + sha256: "b16606f85316d9a3cfde638c02dd9ce23324b0a904bb020e4ad2497cb8cf9ebd" + "2.0.2": + url: "https://github.com/timsort/cpp-TimSort/archive/v2.0.2.tar.gz" + sha256: "df15ac2cea751e573979ff97966f2b3d5d9c35a819c43d9944756974e069b2d7" + "2.0.1": + url: "https://github.com/timsort/cpp-TimSort/archive/v2.0.1.tar.gz" + sha256: "5c7fe16ca8ead3a86691cb64c373b9ca634add6b6539254baa58f4e254e865c6" + "2.0.0": + url: "https://github.com/timsort/cpp-TimSort/archive/v2.0.0.tar.gz" + sha256: "6cb23b0efb83e1d4f6eab58cddd35b36ca49cd927a46294575b9c0d304a2e833" + "1.3.0": + url: "https://github.com/timsort/cpp-TimSort/archive/v1.3.0.tar.gz" + sha256: "25fe8338ac053c09662d62bbcaab981e478054a75b9422c1a652e580026713f0" + "1.2.2": + url: "https://github.com/timsort/cpp-TimSort/archive/v1.2.2.tar.gz" + sha256: "594a5e59248accd1caa6a9e0f145d91ed9cf5bf1044d46684df1e866a534ee76" + "1.2.1": + url: "https://github.com/timsort/cpp-TimSort/archive/v1.2.1.tar.gz" + sha256: "4f32285926330c97290b102c92c4ae8c308f46f70488d383595ae5f191e1de55" + "1.2.0": + url: "https://github.com/timsort/cpp-TimSort/archive/v1.2.0.tar.gz" + sha256: "3a189cb8717efbf0442da1d62109b7e881c158ab8167f8997e79cdb3a2cd7c9a" diff --git a/recipes/timsort/all/conanfile.py b/recipes/timsort/all/conanfile.py index b1ba83d8496dd..9df11dc1a164c 100644 --- a/recipes/timsort/all/conanfile.py +++ b/recipes/timsort/all/conanfile.py @@ -1,42 +1,50 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.50.0" class TimsortConan(ConanFile): name = "timsort" description = "A C++ implementation of timsort" - topics = ("timsort", "sorting", "algorithms") + topics = ("sorting", "algorithms") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/timsort/cpp-TimSort" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + 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"): - if tools.Version(self.version) >= "2.0.0": - tools.check_min_cppstd(self, 11) - - def package_id(self): - self.info.header_only() + if Version(self.version) >= "2.0.0": + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass def package(self): - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "gfx-timsort") self.cpp_info.set_property("cmake_target_name", "gfx::timsort") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "gfx-timsort" diff --git a/recipes/timsort/all/test_package/CMakeLists.txt b/recipes/timsort/all/test_package/CMakeLists.txt index d7e20e564e8bd..0e39263ef4095 100644 --- a/recipes/timsort/all/test_package/CMakeLists.txt +++ b/recipes/timsort/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(gfx-timsort REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} gfx::timsort) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE gfx::timsort) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/timsort/all/test_package/conanfile.py b/recipes/timsort/all/test_package/conanfile.py index 38f4483872d47..0a6bc68712d90 100644 --- a/recipes/timsort/all/test_package/conanfile.py +++ b/recipes/timsort/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/timsort/all/test_v1_package/CMakeLists.txt b/recipes/timsort/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/timsort/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/timsort/all/test_v1_package/conanfile.py b/recipes/timsort/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/timsort/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/timsort/config.yml b/recipes/timsort/config.yml index 95d7ff39635a1..798460e5d36d8 100644 --- a/recipes/timsort/config.yml +++ b/recipes/timsort/config.yml @@ -1,17 +1,17 @@ versions: - "1.2.0": - folder: all - "1.2.1": + "2.1.0": folder: all - "1.2.2": + "2.0.2": folder: all - "1.3.0": + "2.0.1": folder: all "2.0.0": folder: all - "2.0.1": + "1.3.0": folder: all - "2.0.2": + "1.2.2": folder: all - "2.1.0": + "1.2.1": + folder: all + "1.2.0": folder: all From a6234917bb1ac9562c844589f3358d7a4bc5b8a8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 6 Jun 2023 15:03:31 +0200 Subject: [PATCH 0480/4087] (#17166) libmediainfo: conan v2 support * conan v2 support * fix cmake_minimum_required() in 20.03 * no need for CMAKE_POLICY_DEFAULT_CMP0042 after 22.03 * libzen headers are public * libzen lib also public --- recipes/libmediainfo/all/CMakeLists.txt | 11 -- recipes/libmediainfo/all/conandata.yml | 37 +++++- recipes/libmediainfo/all/conanfile.py | 123 +++++++++--------- ...lists-CMAKE_MODULE_PATH-find_package.patch | 24 ---- ....03-0001-cmake-get-property-location.patch | 29 +++++ ...20.03-0002-cmake-handle-dependencies.patch | 59 +++++++++ .../20.03-0003-cmake-minimum-required.patch | 10 ++ ....03-0001-cmake-get-property-location.patch | 29 +++++ ...21.03-0002-cmake-handle-dependencies.patch | 50 +++++++ ...09-0001-cmake-get-property-location.patch} | 0 ...21.09-0002-cmake-handle-dependencies.patch | 50 +++++++ .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 27 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 +++ 15 files changed, 368 insertions(+), 115 deletions(-) delete mode 100644 recipes/libmediainfo/all/CMakeLists.txt delete mode 100644 recipes/libmediainfo/all/patches/0001-cmakelists-CMAKE_MODULE_PATH-find_package.patch create mode 100644 recipes/libmediainfo/all/patches/20.03-0001-cmake-get-property-location.patch create mode 100644 recipes/libmediainfo/all/patches/20.03-0002-cmake-handle-dependencies.patch create mode 100644 recipes/libmediainfo/all/patches/20.03-0003-cmake-minimum-required.patch create mode 100644 recipes/libmediainfo/all/patches/21.03-0001-cmake-get-property-location.patch create mode 100644 recipes/libmediainfo/all/patches/21.03-0002-cmake-handle-dependencies.patch rename recipes/libmediainfo/all/patches/{0002-cmake-get-property-location.patch => 21.09-0001-cmake-get-property-location.patch} (100%) create mode 100644 recipes/libmediainfo/all/patches/21.09-0002-cmake-handle-dependencies.patch create mode 100644 recipes/libmediainfo/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libmediainfo/all/test_v1_package/conanfile.py diff --git a/recipes/libmediainfo/all/CMakeLists.txt b/recipes/libmediainfo/all/CMakeLists.txt deleted file mode 100644 index 8f32238b21da5..0000000000000 --- a/recipes/libmediainfo/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_definitions(${CONAN_DEFINES}) -set(ZenLib_LIBRARY ${CONAN_LIBS_LIBZEN}) -set(TinyXML_FOUND ON) - -add_subdirectory(source_subfolder/Project/CMake) diff --git a/recipes/libmediainfo/all/conandata.yml b/recipes/libmediainfo/all/conandata.yml index c54a0606f82a2..5a0b5059c5987 100644 --- a/recipes/libmediainfo/all/conandata.yml +++ b/recipes/libmediainfo/all/conandata.yml @@ -13,8 +13,37 @@ sources: sha256: "6848310eb7050efe7f90f18191dacfcc220c924390b8088fdf0d553274917f72" patches: "22.03": - - patch_file: "patches/0002-cmake-get-property-location.patch" - base_path: "source_subfolder" + - patch_file: "patches/21.09-0001-cmake-get-property-location.patch" + patch_description: "CMake: remove use of LOCATION property" + patch_type: "portability" + patch_source: "https://github.com/MediaArea/MediaInfoLib/pull/1526" + - patch_file: "patches/21.09-0002-cmake-handle-dependencies.patch" + patch_description: "CMake: robust discovery and link of dependencies" + patch_type: "conan" + "21.09": + - patch_file: "patches/21.09-0001-cmake-get-property-location.patch" + patch_description: "CMake: remove use of LOCATION property" + patch_type: "portability" + patch_source: "https://github.com/MediaArea/MediaInfoLib/pull/1526" + - patch_file: "patches/21.09-0002-cmake-handle-dependencies.patch" + patch_description: "CMake: robust discovery and link of dependencies" + patch_type: "conan" + "21.03": + - patch_file: "patches/21.03-0001-cmake-get-property-location.patch" + patch_description: "CMake: remove use of LOCATION property" + patch_type: "portability" + patch_source: "https://github.com/MediaArea/MediaInfoLib/pull/1526" + - patch_file: "patches/21.03-0002-cmake-handle-dependencies.patch" + patch_description: "CMake: robust discovery and link of dependencies" + patch_type: "conan" "20.03": - - patch_file: "patches/0001-cmakelists-CMAKE_MODULE_PATH-find_package.patch" - base_path: "source_subfolder" + - patch_file: "patches/20.03-0001-cmake-get-property-location.patch" + patch_description: "CMake: remove use of LOCATION property" + patch_type: "portability" + patch_source: "https://github.com/MediaArea/MediaInfoLib/pull/1526" + - patch_file: "patches/20.03-0002-cmake-handle-dependencies.patch" + patch_description: "CMake: robust discovery and link of dependencies" + patch_type: "conan" + - patch_file: "patches/20.03-0003-cmake-minimum-required.patch" + patch_description: "CMake: fix cmake_minimum_required()" + patch_type: "conan" diff --git a/recipes/libmediainfo/all/conanfile.py b/recipes/libmediainfo/all/conanfile.py index 37d62638387b4..88fc1cba47064 100644 --- a/recipes/libmediainfo/all/conanfile.py +++ b/recipes/libmediainfo/all/conanfile.py @@ -1,11 +1,16 @@ -from conan.tools.files import rename -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import ( + apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, + rm, rmdir, save +) +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class LibmediainfoConan(ConanFile): @@ -13,9 +18,12 @@ class LibmediainfoConan(ConanFile): license = ("BSD-2-Clause", "Apache-2.0", "GLPL-2.1+", "GPL-2.0-or-later", "MPL-2.0") homepage = "https://mediaarea.net/en/MediaInfo" url = "https://github.com/conan-io/conan-center-index" - description = "MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files" - topics = ("libmediainfo", "video", "audio", "metadata", "tag") - + description = ( + "MediaInfo is a convenient unified display of the most relevant " + "technical and tag data for video and audio files" + ) + topics = ("video", "audio", "metadata", "tag") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,16 +34,8 @@ class LibmediainfoConan(ConanFile): "fPIC": True, } - generators = "cmake", "cmake_find_package" - - @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 config_options(self): if self.settings.os == "Windows": @@ -43,67 +43,64 @@ 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("libcurl/7.82.0") - self.requires("libzen/0.4.38") + self.requires("libcurl/8.0.1") + self.requires("libzen/0.4.38", transitive_headers=True, transitive_libs=True) self.requires("tinyxml2/9.0.0") - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") def validate(self): - if not self.options["libzen"].enable_unicode: + if not self.dependencies["libzen"].options.enable_unicode: raise ConanInvalidConfiguration("This package requires libzen with unicode support") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_ZENLIB"] = False - cmake.definitions["BUILD_ZLIB"] = False - # Generate a relocatable shared lib on Macos - cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - cmake.configure() - return cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_ZENLIB"] = False + tc.variables["BUILD_ZLIB"] = False + if Version(self.version) < "22.03": + # Generate a relocatable shared lib on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - rename(self, "Findtinyxml2.cmake", "FindTinyXML.cmake") - tools.replace_in_file("FindTinyXML.cmake", "tinyxml2_LIBRARIES", "TinyXML_LIBRARIES") + apply_conandata_patches(self) - # TODO: move this to a patch (see how https://github.com/MediaArea/MediaInfoLib/issues/1408 if addressed by upstream) + # TODO: move this to a patch (see how https://github.com/MediaArea/MediaInfoLib/issues/1408 is addressed by upstream) postfix = "" if self.settings.build_type == "Debug": if self.settings.os == "Windows": postfix += "d" - elif tools.is_apple_os(self.settings.os): + elif is_apple_os(self): postfix += "_debug" - tools.replace_in_file(os.path.join(self._source_subfolder, "Source", "MediaInfoDLL", "MediaInfoDLL.h"), - "MediaInfo.dll", - "MediaInfo{}.dll".format(postfix)) - tools.replace_in_file(os.path.join(self._source_subfolder, "Source", "MediaInfoDLL", "MediaInfoDLL.h"), - "libmediainfo.0.dylib", - "libmediainfo{}.0.dylib".format(postfix)) + mediainfodll_h = os.path.join(self.source_folder, "Source", "MediaInfoDLL", "MediaInfoDLL.h") + replace_in_file(self, mediainfodll_h, "MediaInfo.dll", f"MediaInfo{postfix}.dll") + replace_in_file(self, mediainfodll_h, "libmediainfo.0.dylib", f"libmediainfo{postfix}.0.dylib") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "Project", "CMake")) cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("License.html", 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")) + copy(self, "License.html", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "bin"), "*.pdb") - tools.rmdir(os.path.join(self.package_folder, "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + 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")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( @@ -111,21 +108,20 @@ def package(self): {"mediainfo": "MediaInfoLib::MediaInfoLib"} ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) @property def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): self.cpp_info.set_property("cmake_file_name", "MediaInfoLib") @@ -135,9 +131,9 @@ def package_info(self): if self.settings.build_type == "Debug": if self.settings.os == "Windows": postfix += "d" - elif tools.is_apple_os(self.settings.os): + elif is_apple_os(self): postfix += "_debug" - self.cpp_info.libs = ["mediainfo" + postfix] + self.cpp_info.libs = [f"mediainfo{postfix}"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) @@ -146,4 +142,3 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "MediaInfoLib" 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] - self.cpp_info.names["pkg_config"] = "libmediainfo" diff --git a/recipes/libmediainfo/all/patches/0001-cmakelists-CMAKE_MODULE_PATH-find_package.patch b/recipes/libmediainfo/all/patches/0001-cmakelists-CMAKE_MODULE_PATH-find_package.patch deleted file mode 100644 index 0a6c4f7b41354..0000000000000 --- a/recipes/libmediainfo/all/patches/0001-cmakelists-CMAKE_MODULE_PATH-find_package.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- Project/CMake/CMakeLists.txt -+++ Project/CMake/CMakeLists.txt -@@ -2,7 +2,7 @@ - - cmake_minimum_required(VERSION 2.8.11) - --set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") -+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") - - set(MediaInfoLib_MAJOR_VERSION 20) - set(MediaInfoLib_MINOR_VERSION 03) -@@ -85,10 +85,10 @@ - endif() - - # use bundled tinyxml only if no system --find_package(TinyXML) -+find_package(TinyXML REQUIRED) - - # use system curl if is present --find_package(CURL) -+find_package(CURL REQUIRED) - - include_directories(${MediaInfoLib_SOURCES_PATH}) - include_directories(${MediaInfoLib_SOURCES_PATH}/ThirdParty/md5/) diff --git a/recipes/libmediainfo/all/patches/20.03-0001-cmake-get-property-location.patch b/recipes/libmediainfo/all/patches/20.03-0001-cmake-get-property-location.patch new file mode 100644 index 0000000000000..d4cf8aa8336f4 --- /dev/null +++ b/recipes/libmediainfo/all/patches/20.03-0001-cmake-get-property-location.patch @@ -0,0 +1,29 @@ +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -56,10 +56,8 @@ if (NOT BUILD_ZLIB) + find_package(ZLIB REQUIRED) + else() + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../zlib ${CMAKE_CURRENT_BINARY_DIR}/zlib) +- get_target_property(ZLIB_LIBRARIES zlibstatic LOCATION) + if(NOT BUILD_SHARED_LIBS) +- get_filename_component(ZLIB_LIBRARIES ${ZLIB_LIBRARIES} NAME) +- set(ZLIB_LIBRARIES "${LIB_INSTALL_DIR}/${ZLIB_LIBRARIES}") ++ set(ZLIB_LIBRARIES "${LIB_INSTALL_DIR}/$") + endif() + if(UNIX AND BUILD_SHARED_LIBS) + target_compile_options(zlibstatic PRIVATE -fPIC) +@@ -398,13 +396,7 @@ endif() + target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) + + if(MSVC AND BUILD_SHARED_LIBS) +- get_target_property(LOCATION mediainfo LOCATION_DEBUG) +- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") +- install(FILES ${LOCATION} DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) +- +- get_target_property(LOCATION mediainfo LOCATION_RELWITHDEBINFO) +- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") +- install(FILES ${LOCATION} DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) ++ install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) + endif() + + if (APPLE) diff --git a/recipes/libmediainfo/all/patches/20.03-0002-cmake-handle-dependencies.patch b/recipes/libmediainfo/all/patches/20.03-0002-cmake-handle-dependencies.patch new file mode 100644 index 0000000000000..0cfa50f5d6096 --- /dev/null +++ b/recipes/libmediainfo/all/patches/20.03-0002-cmake-handle-dependencies.patch @@ -0,0 +1,59 @@ +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -2,7 +2,7 @@ project(MediaInfoLib) + + cmake_minimum_required(VERSION 2.8.11) + +-set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") ++list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + + set(MediaInfoLib_MAJOR_VERSION 20) + set(MediaInfoLib_MINOR_VERSION 03) +@@ -83,7 +83,7 @@ elseif(APPLE) + endif() + + # use bundled tinyxml only if no system +-find_package(TinyXML) ++find_package(tinyxml2 REQUIRED CONFIG) + + # use system curl if is present + find_package(CURL) +@@ -350,7 +350,7 @@ if(WIN32) + set(MediaInfoLib_SRCS ${MediaInfoLib_SRCS} ${MediaInfoLib_SOURCES_PATH}/ThirdParty/aes-gladman/aes_ni.c) + endif() + +-if(NOT TinyXML_FOUND) ++if(NOT tinyxml2_FOUND) + include_directories(${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) + list(APPEND MediaInfoLib_SRCS ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/tinyxml2.cpp) + endif() +@@ -368,7 +368,7 @@ if(NOT CURL_FOUND) + target_compile_definitions(mediainfo PRIVATE MEDIAINFO_LIBCURL_NO) + else() + include_directories(${CURL_INCLUDE_DIRS}) +- target_link_libraries(mediainfo ${CURL_LIBRARIES}) ++ target_link_libraries(mediainfo CURL::libcurl) + set(CURL_PC " libcurl") + set(CURL_LIB " -lcurl") + endif() +@@ -383,17 +383,17 @@ target_include_directories(mediainfo PRIVATE + ${MediaInfoLib_SOURCES_PATH}/ThirdParty/sha2-gladman/ + ${MediaInfoLib_SOURCES_PATH}/ThirdParty/hmac-gladman/) + +-if(NOT TinyXML_FOUND) ++if(NOT tinyxml2_FOUND) + target_include_directories(mediainfo PRIVATE ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) + else() +- target_link_libraries(mediainfo "${TinyXML_LIBRARIES}") ++ target_link_libraries(mediainfo tinyxml2::tinyxml2) + endif() + + if(BUILD_ZENLIB) + target_include_directories(mediainfo PRIVATE ${ZLIB_INCLUDE_DIRS}) + endif() + +-target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) ++target_link_libraries(mediainfo zen ZLIB::ZLIB) + + if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) diff --git a/recipes/libmediainfo/all/patches/20.03-0003-cmake-minimum-required.patch b/recipes/libmediainfo/all/patches/20.03-0003-cmake-minimum-required.patch new file mode 100644 index 0000000000000..c5d841d99efb7 --- /dev/null +++ b/recipes/libmediainfo/all/patches/20.03-0003-cmake-minimum-required.patch @@ -0,0 +1,10 @@ +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -1,6 +1,6 @@ ++cmake_minimum_required(VERSION 2.8.11) + project(MediaInfoLib) + +-cmake_minimum_required(VERSION 2.8.11) + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + diff --git a/recipes/libmediainfo/all/patches/21.03-0001-cmake-get-property-location.patch b/recipes/libmediainfo/all/patches/21.03-0001-cmake-get-property-location.patch new file mode 100644 index 0000000000000..5b2da1594d4ef --- /dev/null +++ b/recipes/libmediainfo/all/patches/21.03-0001-cmake-get-property-location.patch @@ -0,0 +1,29 @@ +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -56,10 +56,8 @@ if (NOT BUILD_ZLIB) + find_package(ZLIB REQUIRED) + else() + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../zlib ${CMAKE_CURRENT_BINARY_DIR}/zlib) +- get_target_property(ZLIB_LIBRARIES zlibstatic LOCATION) + if(NOT BUILD_SHARED_LIBS) +- get_filename_component(ZLIB_LIBRARIES ${ZLIB_LIBRARIES} NAME) +- set(ZLIB_LIBRARIES "${LIB_INSTALL_DIR}/${ZLIB_LIBRARIES}") ++ set(ZLIB_LIBRARIES "${LIB_INSTALL_DIR}/$") + endif() + if(UNIX AND BUILD_SHARED_LIBS) + target_compile_options(zlibstatic PRIVATE -fPIC) +@@ -400,13 +398,7 @@ endif() + target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) + + if(MSVC AND BUILD_SHARED_LIBS) +- get_target_property(LOCATION mediainfo LOCATION_DEBUG) +- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") +- install(FILES ${LOCATION} DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) +- +- get_target_property(LOCATION mediainfo LOCATION_RELWITHDEBINFO) +- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") +- install(FILES ${LOCATION} DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) ++ install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) + endif() + + if (APPLE) diff --git a/recipes/libmediainfo/all/patches/21.03-0002-cmake-handle-dependencies.patch b/recipes/libmediainfo/all/patches/21.03-0002-cmake-handle-dependencies.patch new file mode 100644 index 0000000000000..2c573df236311 --- /dev/null +++ b/recipes/libmediainfo/all/patches/21.03-0002-cmake-handle-dependencies.patch @@ -0,0 +1,50 @@ +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -83,7 +83,7 @@ elseif(APPLE) + endif() + + # use bundled tinyxml only if no system +-find_package(TinyXML) ++find_package(tinyxml2 REQUIRED CONFIG) + + # use system curl if is present + find_package(CURL) +@@ -352,7 +352,7 @@ if(WIN32) + set(MediaInfoLib_SRCS ${MediaInfoLib_SRCS} ${MediaInfoLib_SOURCES_PATH}/ThirdParty/aes-gladman/aes_ni.c) + endif() + +-if(NOT TinyXML_FOUND) ++if(NOT tinyxml2_FOUND) + include_directories(${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) + list(APPEND MediaInfoLib_SRCS ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/tinyxml2.cpp) + endif() +@@ -370,7 +370,7 @@ if(NOT CURL_FOUND) + target_compile_definitions(mediainfo PRIVATE MEDIAINFO_LIBCURL_NO) + else() + include_directories(${CURL_INCLUDE_DIRS}) +- target_link_libraries(mediainfo ${CURL_LIBRARIES}) ++ target_link_libraries(mediainfo CURL::libcurl) + set(CURL_PC " libcurl") + set(CURL_LIB " -lcurl") + endif() +@@ -385,17 +385,17 @@ target_include_directories(mediainfo PRIVATE + ${MediaInfoLib_SOURCES_PATH}/ThirdParty/sha2-gladman/ + ${MediaInfoLib_SOURCES_PATH}/ThirdParty/hmac-gladman/) + +-if(NOT TinyXML_FOUND) ++if(NOT tinyxml2_FOUND) + target_include_directories(mediainfo PRIVATE ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) + else() +- target_link_libraries(mediainfo "${TinyXML_LIBRARIES}") ++ target_link_libraries(mediainfo tinyxml2::tinyxml2) + endif() + + if(BUILD_ZENLIB) + target_include_directories(mediainfo PRIVATE ${ZLIB_INCLUDE_DIRS}) + endif() + +-target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) ++target_link_libraries(mediainfo zen ZLIB::ZLIB) + + if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) diff --git a/recipes/libmediainfo/all/patches/0002-cmake-get-property-location.patch b/recipes/libmediainfo/all/patches/21.09-0001-cmake-get-property-location.patch similarity index 100% rename from recipes/libmediainfo/all/patches/0002-cmake-get-property-location.patch rename to recipes/libmediainfo/all/patches/21.09-0001-cmake-get-property-location.patch diff --git a/recipes/libmediainfo/all/patches/21.09-0002-cmake-handle-dependencies.patch b/recipes/libmediainfo/all/patches/21.09-0002-cmake-handle-dependencies.patch new file mode 100644 index 0000000000000..5c11938fdfdda --- /dev/null +++ b/recipes/libmediainfo/all/patches/21.09-0002-cmake-handle-dependencies.patch @@ -0,0 +1,50 @@ +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -83,7 +83,7 @@ elseif(APPLE) + endif() + + # use bundled tinyxml only if no system +-find_package(TinyXML) ++find_package(tinyxml2 REQUIRED CONFIG) + + # use system curl if is present + find_package(CURL) +@@ -357,7 +357,7 @@ if(WIN32) + set(MediaInfoLib_SRCS ${MediaInfoLib_SRCS} ${MediaInfoLib_SOURCES_PATH}/ThirdParty/aes-gladman/aes_ni.c) + endif() + +-if(NOT TinyXML_FOUND) ++if(NOT tinyxml2_FOUND) + include_directories(${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) + list(APPEND MediaInfoLib_SRCS ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/tinyxml2.cpp) + endif() +@@ -375,7 +375,7 @@ if(NOT CURL_FOUND) + target_compile_definitions(mediainfo PRIVATE MEDIAINFO_LIBCURL_NO) + else() + include_directories(${CURL_INCLUDE_DIRS}) +- target_link_libraries(mediainfo ${CURL_LIBRARIES}) ++ target_link_libraries(mediainfo CURL::libcurl) + set(CURL_PC " libcurl") + set(CURL_LIB " -lcurl") + endif() +@@ -390,17 +390,17 @@ target_include_directories(mediainfo PRIVATE + ${MediaInfoLib_SOURCES_PATH}/ThirdParty/sha2-gladman/ + ${MediaInfoLib_SOURCES_PATH}/ThirdParty/hmac-gladman/) + +-if(NOT TinyXML_FOUND) ++if(NOT tinyxml2_FOUND) + target_include_directories(mediainfo PRIVATE ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) + else() +- target_link_libraries(mediainfo "${TinyXML_LIBRARIES}") ++ target_link_libraries(mediainfo tinyxml2::tinyxml2) + endif() + + if(BUILD_ZENLIB) + target_include_directories(mediainfo PRIVATE ${ZLIB_INCLUDE_DIRS}) + endif() + +-target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) ++target_link_libraries(mediainfo zen ZLIB::ZLIB) + + if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) diff --git a/recipes/libmediainfo/all/test_package/CMakeLists.txt b/recipes/libmediainfo/all/test_package/CMakeLists.txt index ddd72d9a23de2..c81192f5719cd 100644 --- a/recipes/libmediainfo/all/test_package/CMakeLists.txt +++ b/recipes/libmediainfo/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES CXX) find_package(MediaInfoLib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} mediainfo) +target_link_libraries(${PROJECT_NAME} PRIVATE mediainfo) option(LIBMEDIAINFO_SHARED "Is libmediainfo a shared library?") if(LIBMEDIAINFO_SHARED) diff --git a/recipes/libmediainfo/all/test_package/conanfile.py b/recipes/libmediainfo/all/test_package/conanfile.py index f658082513f60..a518ea1284361 100644 --- a/recipes/libmediainfo/all/test_package/conanfile.py +++ b/recipes/libmediainfo/all/test_package/conanfile.py @@ -1,4 +1,6 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os # testsrc.mp4 generated with: @@ -6,17 +8,28 @@ class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBMEDIAINFO_SHARED"] = self.dependencies["libmediainfo"].options.shared + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["LIBMEDIAINFO_SHARED"] = self.options["libmediainfo"].shared cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") testsrc = os.path.join(self.source_folder, "testsrc.mp4") - self.run("{} {}".format(bin_path, testsrc), run_environment=True) + self.run(f"{bin_path} {testsrc}", env="conanrun") diff --git a/recipes/libmediainfo/all/test_v1_package/CMakeLists.txt b/recipes/libmediainfo/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libmediainfo/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmediainfo/all/test_v1_package/conanfile.py b/recipes/libmediainfo/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f87f616cc28bd --- /dev/null +++ b/recipes/libmediainfo/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.definitions["LIBMEDIAINFO_SHARED"] = self.options["libmediainfo"].shared + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + testsrc = os.path.join(self.source_folder, os.pardir, "test_package", "testsrc.mp4") + self.run(f"{bin_path} {testsrc}", run_environment=True) From 7c9bdcd02b523d1f8b29c12fdb6fedd459789a1d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 6 Jun 2023 15:43:44 +0200 Subject: [PATCH 0481/4087] (#16612) librasterlite: conan v2 support --- recipes/librasterlite/all/conandata.yml | 2 - recipes/librasterlite/all/conanfile.py | 171 ++++++++---------- .../all/patches/0002-nmake-honor-flags.patch | 3 +- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 26 +-- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 7 files changed, 118 insertions(+), 116 deletions(-) create mode 100644 recipes/librasterlite/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/librasterlite/all/test_v1_package/conanfile.py diff --git a/recipes/librasterlite/all/conandata.yml b/recipes/librasterlite/all/conandata.yml index 8e05bde05f4df..83f1191432129 100644 --- a/recipes/librasterlite/all/conandata.yml +++ b/recipes/librasterlite/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "1.1g": - patch_file: "patches/0001-fix-autotools.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-nmake-honor-flags.patch" - base_path: "source_subfolder" diff --git a/recipes/librasterlite/all/conanfile.py b/recipes/librasterlite/all/conanfile.py index 5fbfd045b9808..788447253ed3c 100644 --- a/recipes/librasterlite/all/conanfile.py +++ b/recipes/librasterlite/all/conanfile.py @@ -1,8 +1,14 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, VisualStudioBuildEnvironment, tools -import functools +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rm, rmdir, save +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, NMakeDeps, NMakeToolchain import os -required_conan_version = ">=1.36.0" +required_conan_version = ">=1.58.0" class LibrasterliteConan(ConanFile): @@ -15,7 +21,7 @@ class LibrasterliteConan(ConanFile): topics = ("rasterlite", "raster", "spatialite") homepage = "https://www.gaia-gis.it/fossil/librasterlite" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,23 +32,12 @@ class LibrasterliteConan(ConanFile): "fPIC": True, } - generators = "pkg_config" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -50,98 +45,86 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("libgeotiff/1.7.0") - self.requires("libjpeg/9d") - self.requires("libpng/1.6.37") + self.requires("libgeotiff/1.7.1") + self.requires("libjpeg/9e") + self.requires("libpng/1.6.39") self.requires("libspatialite/5.0.1") - self.requires("libtiff/4.3.0") - self.requires("sqlite3/3.38.1") + self.requires("libtiff/4.4.0") + self.requires("sqlite3/3.41.1") def build_requirements(self): - if not self._is_msvc: - self.build_requires("libtool/2.4.6") - self.build_requires("pkgconf/1.7.4") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + if not is_msvc(self): + self.tool_requires("libtool/2.4.7") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/1.9.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): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + deps = NMakeDeps(self) + deps.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") - def _build_msvc(self): - target = "rasterlite_i.lib" if self.options.shared else "rasterlite.lib" - optflags = ["-D_USE_MATH_DEFINES"] - system_libs = [lib + ".lib" for lib in self.deps_cpp_info.system_libs] - if self.options.shared: - optflags.append("-DDLL_EXPORT") - with tools.chdir(self._source_subfolder): - tools.save(os.path.join("headers", "config.h"), "#define VERSION \"{}\"\n".format(self.version)) - with tools.vcvars(self): - with tools.environment_append(VisualStudioBuildEnvironment(self).vars): - self.run("nmake -f makefile.vc {} OPTFLAGS=\"{}\" SYSTEM_LIBS=\"{}\"".format(target, - " ".join(optflags), - " ".join(system_libs))) - - def _build_autotools(self): - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - # relocatable shared libs on macOS - tools.replace_in_file("configure", "-install_name \\$rpath/", "-install_name @rpath/") - # avoid SIP issues on macOS when dependencies are shared - if tools.is_apple_os(self.settings.os): - libpaths = ":".join(self.deps_cpp_info.lib_paths) - tools.replace_in_file( - "configure", - "#! /bin/sh\n", - "#! /bin/sh\nexport DYLD_LIBRARY_PATH={}:$DYLD_LIBRARY_PATH\n".format(libpaths), - ) - with tools.run_environment(self): - autotools = self._configure_autotools() - autotools.make() - - @functools.lru_cache(1) - def _configure_autotools(self): - yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-static={}".format(yes_no(not self.options.shared)), - "--enable-shared={}".format(yes_no(self.options.shared)), - "--disable-gcov", - ] - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.configure(args=args) - return autotools + tc = AutotoolsToolchain(self) + tc.configure_args.append("--disable-gcov") + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if self._is_msvc: - self._build_msvc() + apply_conandata_patches(self) + if is_msvc(self): + target = "rasterlite_i.lib" if self.options.shared else "rasterlite.lib" + optflags = ["-D_USE_MATH_DEFINES"] + if self.options.shared: + optflags.append("-DDLL_EXPORT") + save(self, os.path.join(self.source_folder, "headers", "config.h"), f"#define VERSION \"{self.version}\"\n") + with chdir(self, self.source_folder): + self.run(f"nmake -f makefile.vc {target} OPTFLAGS=\"{' '.join(optflags)}\"") else: - self._build_autotools() + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - if self._is_msvc: - self.copy("rasterlite.h", dst="include", src=os.path.join(self._source_subfolder, "headers")) - self.copy("*.lib", dst="lib", src=self._source_subfolder) - self.copy("*.dll", dst="bin", src=self._source_subfolder) + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + copy(self, "rasterlite.h", src=os.path.join(self.source_folder, "headers"), dst=os.path.join(self.package_folder, "include")) + copy(self, "*.lib", src=self.source_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.dll", src=self.source_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) else: - with tools.chdir(self._source_subfolder): - with tools.run_environment(self): - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + 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", "rasterlite") - suffix = "_i" if self._is_msvc and self.options.shared else "" - self.cpp_info.libs = ["rasterlite{}".format(suffix)] - - # TODO: to remove in conan v2 once pkg_config generator removed - self.cpp_info.names["pkg_config"] = "rasterlite" + suffix = "_i" if is_msvc(self) and self.options.shared else "" + self.cpp_info.libs = [f"rasterlite{suffix}"] diff --git a/recipes/librasterlite/all/patches/0002-nmake-honor-flags.patch b/recipes/librasterlite/all/patches/0002-nmake-honor-flags.patch index ff434e3cfd949..b9711900f2f71 100644 --- a/recipes/librasterlite/all/patches/0002-nmake-honor-flags.patch +++ b/recipes/librasterlite/all/patches/0002-nmake-honor-flags.patch @@ -1,6 +1,5 @@ This patch for msvc build allows to: * define OPTFLAG ourself from conanfile (allow to honor profile) -* inject a custom SYSTEM_LIBS variable from conanfile (allow robust shared build) * not hardcode this very specific C:\OSGeo4W environment * define rasterliteGetVersion() to be compliant with autotools build @@ -37,7 +36,7 @@ This patch for msvc build allows to: - C:\OSGeo4W\lib\libpng13.lib C:\OSGeo4W\lib\zlib.lib \ - C:\OSGeo4W\lib\geotiff_i.lib C:\OSGeo4W\lib\spatialite_i.lib + link /dll /out:$(RASTERLITE_DLL) \ -+ /implib:rasterlite_i.lib $(LIBOBJ) $(SYSTEM_LIBS) ++ /implib:rasterlite_i.lib $(LIBOBJ) if exist $(RASTERLITE_DLL).manifest mt -manifest \ $(RASTERLITE_DLL).manifest -outputresource:$(RASTERLITE_DLL);2 diff --git a/recipes/librasterlite/all/test_package/CMakeLists.txt b/recipes/librasterlite/all/test_package/CMakeLists.txt index 66ed4461774cf..5678137a1cf88 100644 --- a/recipes/librasterlite/all/test_package/CMakeLists.txt +++ b/recipes/librasterlite/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES C) find_package(librasterlite REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} librasterlite::librasterlite) +target_link_libraries(${PROJECT_NAME} PRIVATE librasterlite::librasterlite) diff --git a/recipes/librasterlite/all/test_package/conanfile.py b/recipes/librasterlite/all/test_package/conanfile.py index 79178ce11469e..0a6bc68712d90 100644 --- a/recipes/librasterlite/all/test_package/conanfile.py +++ b/recipes/librasterlite/all/test_package/conanfile.py @@ -1,19 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" - def build_requirements(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.3") + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) 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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/librasterlite/all/test_v1_package/CMakeLists.txt b/recipes/librasterlite/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/librasterlite/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/librasterlite/all/test_v1_package/conanfile.py b/recipes/librasterlite/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/librasterlite/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From cf5f2b21f128cf95e22cfaa693c10da877bb96b6 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 7 Jun 2023 02:41:39 +0900 Subject: [PATCH 0482/4087] (#17845) lief: add version 0.13.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/lief/all/conandata.yml | 7 +++++++ recipes/lief/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/lief/all/conandata.yml b/recipes/lief/all/conandata.yml index 03f9ed3030ff2..957438b147a11 100644 --- a/recipes/lief/all/conandata.yml +++ b/recipes/lief/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.13.1": + url: "https://github.com/lief-project/LIEF/archive/0.13.1.tar.gz" + sha256: "a3a846e9b6ce2acf89ef4687e870f41ca703f18fee3e7f501ebb05ee1aeb1847" "0.13.0": url: "https://github.com/lief-project/LIEF/archive/0.13.0.tar.gz" sha256: "8834e2ccfeefd1003527887357950173fe55e9a712004aa638af67378e28ef55" @@ -12,6 +15,10 @@ sources: url: "https://github.com/lief-project/LIEF/archive/0.10.1.tar.gz" sha256: "6f30c98a559f137e08b25bcbb376c0259914b33c307b8b901e01ca952241d00a" patches: + "0.13.1": + - patch_file: "patches/0.13.0-001_link_to_conan.patch" + patch_description: "find conan package and link these" + patch_type: "conan" "0.13.0": - patch_file: "patches/0.13.0-001_link_to_conan.patch" patch_description: "find conan package and link these" diff --git a/recipes/lief/config.yml b/recipes/lief/config.yml index 5063acd40dcd6..8c2e3de0a3a96 100644 --- a/recipes/lief/config.yml +++ b/recipes/lief/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.1": + folder: "all" "0.13.0": folder: "all" "0.12.3": From 132eca44aebdd0265afaf3ffad36ed3066980bd1 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Wed, 7 Jun 2023 07:43:13 +0100 Subject: [PATCH 0483/4087] (#17779) id3v2lib: Add new recipe. * id3v2lib: Add new recipe. * id3v2lib doesn't current support MSVC. * Check for "Visual Studio" along with "msvc". * Convert compiler to string to stop braking Conan 2 * PR feedback: use `is_msvc`, specify `package_type` * Drop support for legacy Conan 1.x. --- recipes/id3v2lib/all/conandata.yml | 4 ++ recipes/id3v2lib/all/conanfile.py | 72 +++++++++++++++++++ .../id3v2lib/all/test_package/CMakeLists.txt | 7 ++ .../id3v2lib/all/test_package/conanfile.py | 26 +++++++ .../id3v2lib/all/test_package/test_package.c | 13 ++++ recipes/id3v2lib/config.yml | 3 + 6 files changed, 125 insertions(+) create mode 100644 recipes/id3v2lib/all/conandata.yml create mode 100644 recipes/id3v2lib/all/conanfile.py create mode 100644 recipes/id3v2lib/all/test_package/CMakeLists.txt create mode 100644 recipes/id3v2lib/all/test_package/conanfile.py create mode 100644 recipes/id3v2lib/all/test_package/test_package.c create mode 100644 recipes/id3v2lib/config.yml diff --git a/recipes/id3v2lib/all/conandata.yml b/recipes/id3v2lib/all/conandata.yml new file mode 100644 index 0000000000000..c6353a726bee8 --- /dev/null +++ b/recipes/id3v2lib/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.1": + url: "https://github.com/larsbs/id3v2lib/archive/refs/tags/2.1.tar.gz" + sha256: "c91d185e227254d800617f18bee53181f126cb654bfee6041ed9c04172cea95a" diff --git a/recipes/id3v2lib/all/conanfile.py b/recipes/id3v2lib/all/conanfile.py new file mode 100644 index 0000000000000..084cf1767bdcf --- /dev/null +++ b/recipes/id3v2lib/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.53.0" + + +class LibwebmConan(ConanFile): + name = "id3v2lib" + description = "id3v2lib is a library written in C to read and edit id3 tags from mp3 files." + topics = ("conan", "id3", "tags", "mp3", "container", "media", "audio") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/larsbs/id3v2lib" + license = "BSD-2-Clause" + package_type = "library" + + settings = "os", "arch", "compiler", "build_type" + + options = { + "shared": [True, False], + "fPIC": [True, False], + } + + default_options = { + "shared": False, + "fPIC": True, + } + + def validate(self): + # An issue has been opened to discuss supporting MSVC: + # https://github.com/larsbs/id3v2lib/issues/48 + if is_msvc(self): + raise ConanInvalidConfiguration("id3v2lib does not support Visual Studio.") + + 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 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): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "id3v2lib") + self.cpp_info.set_property("cmake_target_name", "id3v2lib::id3v2lib") + self.cpp_info.set_property("pkg_config_name", "id3v2lib") + self.cpp_info.libs = ["id3v2lib"] diff --git a/recipes/id3v2lib/all/test_package/CMakeLists.txt b/recipes/id3v2lib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4ba735415e377 --- /dev/null +++ b/recipes/id3v2lib/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(id3v2lib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE id3v2lib::id3v2lib) diff --git a/recipes/id3v2lib/all/test_package/conanfile.py b/recipes/id3v2lib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/id3v2lib/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/id3v2lib/all/test_package/test_package.c b/recipes/id3v2lib/all/test_package/test_package.c new file mode 100644 index 0000000000000..cc17067652458 --- /dev/null +++ b/recipes/id3v2lib/all/test_package/test_package.c @@ -0,0 +1,13 @@ +#include +#include + +int main(void) { + ID3v2_Tag *tag = ID3v2_Tag_new_empty(); + ID3v2_Tag_set_title(tag, "Amazing Song!"); + + ID3v2_TextFrame *title_frame = ID3v2_Tag_get_title_frame(tag); + printf("Track title: %s\n", title_frame->data->text); + + ID3v2_Tag_free(tag); + return 0; +} diff --git a/recipes/id3v2lib/config.yml b/recipes/id3v2lib/config.yml new file mode 100644 index 0000000000000..adf6918baab9c --- /dev/null +++ b/recipes/id3v2lib/config.yml @@ -0,0 +1,3 @@ +versions: + "2.1": + folder: all From 59f8e10f6bc014344b3f8ff2de1ec28aee368dd7 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Wed, 7 Jun 2023 00:23:26 -0700 Subject: [PATCH 0484/4087] (#17268) gegles-spdlog_setup: initial Conan v2 recipe * spdlog_setup: initial Conan v2 recipe * gegles-spdlog_setup: rename recipe to gegles-spdlog_setup As this is a fork of an unmaintained project, we want leave the original name available for the original creator * build: fix test_package for VS * gegles-spdlog_setup: minor cleanup * build: fix names for legacy generators * remove test_v1_package files * remove redundant `transitive_` attributes --- recipes/gegles-spdlog_setup/all/conandata.yml | 5 ++ recipes/gegles-spdlog_setup/all/conanfile.py | 78 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 +++++++ .../all/test_package/test_package.cpp | 8 ++ recipes/gegles-spdlog_setup/config.yml | 3 + 6 files changed, 128 insertions(+) create mode 100644 recipes/gegles-spdlog_setup/all/conandata.yml create mode 100644 recipes/gegles-spdlog_setup/all/conanfile.py create mode 100644 recipes/gegles-spdlog_setup/all/test_package/CMakeLists.txt create mode 100644 recipes/gegles-spdlog_setup/all/test_package/conanfile.py create mode 100644 recipes/gegles-spdlog_setup/all/test_package/test_package.cpp create mode 100644 recipes/gegles-spdlog_setup/config.yml diff --git a/recipes/gegles-spdlog_setup/all/conandata.yml b/recipes/gegles-spdlog_setup/all/conandata.yml new file mode 100644 index 0000000000000..f836eaeba60c2 --- /dev/null +++ b/recipes/gegles-spdlog_setup/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "1.1.0": + url: + - "https://github.com/gegles/spdlog_setup/archive/v1.1.0.tar.gz" + sha256: "80a37463a1cd2735f6f7af0b0dfb01a1ecc0a271b33fb29966564b9758f7c309" diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py new file mode 100644 index 0000000000000..a01817bb0138b --- /dev/null +++ b/recipes/gegles-spdlog_setup/all/conanfile.py @@ -0,0 +1,78 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + + +class SpdlogSetupConan(ConanFile): + name = "gegles-spdlog_setup" + description = "Setup spdlog via a TOML config file" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/gegles/spdlog_setup" + topics = ('spdlog', 'logging', 'header-only', 'toml', 'cpptoml') + 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 { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "12.0", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("cpptoml/0.1.1") + self.requires("spdlog/1.11.0") + self.requires("fmt/9.1.0") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "spdlog_setup") + self.cpp_info.set_property("cmake_target_name", "spdlog_setup::spdlog_setup") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + # This is needed since we prefixed the package name with the author name + self.cpp_info.names["cmake_find_package"] = "SPDLOG_SETUP" + self.cpp_info.names["cmake_find_package_multi"] = "spdlog_setup" diff --git a/recipes/gegles-spdlog_setup/all/test_package/CMakeLists.txt b/recipes/gegles-spdlog_setup/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f3c223fadf1f3 --- /dev/null +++ b/recipes/gegles-spdlog_setup/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(spdlog_setup REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE spdlog_setup::spdlog_setup) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/gegles-spdlog_setup/all/test_package/conanfile.py b/recipes/gegles-spdlog_setup/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/gegles-spdlog_setup/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/gegles-spdlog_setup/all/test_package/test_package.cpp b/recipes/gegles-spdlog_setup/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..19eff1dcb9934 --- /dev/null +++ b/recipes/gegles-spdlog_setup/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include +#include + +int main(void) { + std::cout << "Welcome to spdlog_setup!\n"; + return 123 == spdlog_setup::details::parse_max_size("123") ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/recipes/gegles-spdlog_setup/config.yml b/recipes/gegles-spdlog_setup/config.yml new file mode 100644 index 0000000000000..b5c0d3cb2d409 --- /dev/null +++ b/recipes/gegles-spdlog_setup/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.0": + folder: all From 1910ba33eccfa69daf9f15ae52d92673bdb2e98d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 7 Jun 2023 18:43:31 +0900 Subject: [PATCH 0485/4087] (#17853) mongo-c-driver: add version 1.23.5 --- recipes/mongo-c-driver/all/conandata.yml | 13 +++++++++++++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index a38252586109a..4adb823d08a96 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.23.5": + url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.23.5/mongo-c-driver-1.23.5.tar.gz" + sha256: "260dc2207881ccbe7b79b1fa6b3ba84ab9be94eb93d4beefbbe8a6cb562947ed" "1.23.4": url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.23.4/mongo-c-driver-1.23.4.tar.gz" sha256: "209406c91fcf7c63aa633179a0a6b1b36ba237fb77e0470fd81f7299a408e334" @@ -24,6 +27,16 @@ sources: url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.2/mongo-c-driver-1.17.2.tar.gz" sha256: "bc53d5f72ab628a1ae549db6888325d6dc34db3ca31c5e16e550c1bb4266d864" patches: + "1.23.5": + - patch_file: "patches/1.23.2-0001-disable-shared-when-static.patch" + patch_description: "separate static and shared builds" + patch_type: "conan" + - patch_file: "patches/1.22.0-0002-fix-uninitialized-warning.patch" + patch_description: "fix uninitialized variable warning" + patch_type: "portability" + - patch_file: "patches/1.22.0-0003-disable-warning-errors.patch" + patch_description: "disable compiler flags to make warnings into errors" + patch_type: "conan" "1.23.4": - patch_file: "patches/1.23.2-0001-disable-shared-when-static.patch" patch_description: "separate static and shared builds" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index c015047a9d2d7..8d257ac381ff8 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.23.5": + folder: all "1.23.4": folder: all "1.23.2": From 8b1cc15617db571d8cadb42bc9c1a23afdd713a5 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 7 Jun 2023 21:21:34 +0900 Subject: [PATCH 0486/4087] (#17850) fmtlog: update fmt * fmtlog: update fmt * add package_type * remove fPIC and shared on header-only * make fmt transitive_libs=True --- recipes/fmtlog/all/conanfile.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/recipes/fmtlog/all/conanfile.py b/recipes/fmtlog/all/conanfile.py index e1fd99b8fca24..17e20eaf9c51b 100644 --- a/recipes/fmtlog/all/conanfile.py +++ b/recipes/fmtlog/all/conanfile.py @@ -8,7 +8,7 @@ import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class PackageConan(ConanFile): @@ -17,7 +17,8 @@ class PackageConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/MengRao/fmtlog" - topics = ("logging", "low-latency", "topic3") + topics = ("logging", "low-latency") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -53,10 +54,11 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") + if self.options.header_only: + self.package_type = "header-library" + self.options.rm_safe("fPIC") + self.options.rm_safe("shared") def layout(self): if self.options.header_only: @@ -65,14 +67,13 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/9.1.0") + self.requires("fmt/10.0.0", transitive_headers=True, transitive_libs=True) def package_id(self): - if self.options.header_only: + if self.info.options.header_only: self.info.clear() def validate(self): - # FIXME: self.info.settings.compiler does not work with header-only packages if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._minimum_cpp_standard) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) @@ -80,8 +81,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): if self.options.header_only: @@ -112,6 +112,8 @@ def package(self): def package_info(self): if self.options.header_only: self.cpp_info.defines.append("FMTLOG_HEADER_ONLY") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] else: self.cpp_info.libs = ["fmtlog-shared" if self.options.shared else "fmtlog-static"] From 61bb817b62f9f0df13401804c7756726427f908e Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 7 Jun 2023 15:21:55 +0200 Subject: [PATCH 0487/4087] (#17851) [bot] Update list of references (prod-v2/ListPackages) --- .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 35134c2733591..cfb8041cbe80e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -357,6 +357,7 @@ required_for_references: - libltc - liblzf - libmad +- libmediainfo - libmikmod - libmodbus - libmodplug @@ -421,6 +422,7 @@ required_for_references: - libzippp - lief - linux-syscall-support +- llhttp - lodepng - lua - luau @@ -538,6 +540,7 @@ required_for_references: - rapidjson - rapidxml - rapidyaml +- raylib - re2 - readerwriterqueue - readline @@ -597,9 +600,11 @@ required_for_references: - tensorflow-lite - tensorpipe - termcap +- termcolor - threadpool - thrift - thrust +- timsort - tinycthread - tinycthreadpool - tinyexif @@ -635,6 +640,7 @@ required_for_references: - vulkan-loader - vulkan-memory-allocator - vulkan-validationlayers +- wasmer - wasmtime - wasmtime-cpp - watcher @@ -682,5 +688,6 @@ required_for_references: - zlib - zlib-ng - zmarok-semver +- zpp_bits - zstd - zulu-openjdk From 8ffc84903218a2c5cf69d004cabf740c11d7ab89 Mon Sep 17 00:00:00 2001 From: Barak Shoshany Date: Wed, 7 Jun 2023 09:42:32 -0400 Subject: [PATCH 0488/4087] (#17708) bshoshany-thread-pool: add version 3.5.0 * bshoshany-thread-pool: add version 3.5.0 * Update recipes/bshoshany-thread-pool/all/conanfile.py Co-authored-by: Uilian Ries * bshoshany-thread-pool: compatibility w/ older releases --------- Co-authored-by: Uilian Ries --- recipes/bshoshany-thread-pool/all/conandata.yml | 3 +++ recipes/bshoshany-thread-pool/all/conanfile.py | 1 + recipes/bshoshany-thread-pool/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/bshoshany-thread-pool/all/conandata.yml b/recipes/bshoshany-thread-pool/all/conandata.yml index 34ca195ae9b51..dee19ad62ca27 100644 --- a/recipes/bshoshany-thread-pool/all/conandata.yml +++ b/recipes/bshoshany-thread-pool/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + sha256: "d3efd5c434f6e99f4cff7b8219cbb586dc06bc0aeaf17cd174813a2333961306" + url: "https://github.com/bshoshany/thread-pool/archive/refs/tags/v3.5.0.tar.gz" "3.4.0": sha256: "b282149693534934d29c3e6eb563a668b04d6abc53ff013bbe608d96741eddb2" url: "https://github.com/bshoshany/thread-pool/archive/refs/tags/v3.4.0.tar.gz" diff --git a/recipes/bshoshany-thread-pool/all/conanfile.py b/recipes/bshoshany-thread-pool/all/conanfile.py index 15c03a2e73fb9..29f20f3aa9b91 100644 --- a/recipes/bshoshany-thread-pool/all/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/conanfile.py @@ -39,6 +39,7 @@ def _source_subfolder(self): def package(self): copy(self, "*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) + copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) def package_id(self): diff --git a/recipes/bshoshany-thread-pool/config.yml b/recipes/bshoshany-thread-pool/config.yml index 1bf5f1f671b5c..cabaf98e03ae7 100644 --- a/recipes/bshoshany-thread-pool/config.yml +++ b/recipes/bshoshany-thread-pool/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: all "3.4.0": folder: all "3.3.0": From dba333f6a57440b2c492ed2a881e48bf6cf555b3 Mon Sep 17 00:00:00 2001 From: Charles Brunet Date: Wed, 7 Jun 2023 10:23:04 -0400 Subject: [PATCH 0489/4087] (#17600) [qt] Fix qt pkg-config generation for meson Fixes #17599 Ensure generated file names are the same as standard Qt pkg-config files. Otherwise, the qt recipe is unusable with meson, because the meson qt module looks for specific pc file names and variables. --- recipes/qt/5.x.x/conanfile.py | 8 ++++++++ recipes/qt/6.x.x/conanfile.py | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 145542ecbe345..75d1c67bc8f2c 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -954,6 +954,7 @@ def _create_private_module(module, dependencies=[]): def package_info(self): self.cpp_info.set_property("cmake_file_name", "Qt5") + self.cpp_info.set_property("pkg_config_name", "qt5") self.cpp_info.names["cmake_find_package"] = "Qt5" self.cpp_info.names["cmake_find_package_multi"] = "Qt5" @@ -992,6 +993,7 @@ def _create_module(module, requires=[], has_include_dir=True): componentname = f"qt{module}" assert componentname not in self.cpp_info.components, f"Module {module} already present in self.cpp_info.components" self.cpp_info.components[componentname].set_property("cmake_target_name", f"Qt5::{module}") + self.cpp_info.components[componentname].set_property("pkg_config_name", f"Qt5{module}") self.cpp_info.components[componentname].names["cmake_find_package"] = module self.cpp_info.components[componentname].names["cmake_find_package_multi"] = module if module.endswith("Private"): @@ -1033,6 +1035,12 @@ def _create_plugin(pluginname, libname, plugintype, requires): core_reqs.append("glib::glib-2.0") _create_module("Core", core_reqs) + pkg_config_vars = [ + "host_bins=${prefix}/bin", + "exec_prefix=${prefix}", + ] + self.cpp_info.components["qtCore"].set_property("pkg_config_custom_content", "\n".join(pkg_config_vars)) + if self.settings.os == "Windows": module = "WinMain" componentname = f"qt{module}" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 5511bfa479f30..7e85ec64558ae 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -954,6 +954,7 @@ def _has_positioning(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "Qt6") + self.cpp_info.set_property("pkg_config_name", "qt6") self.cpp_info.names["cmake_find_package"] = "Qt6" self.cpp_info.names["cmake_find_package_multi"] = "Qt6" @@ -994,6 +995,7 @@ def _create_module(module, requires, has_include_dir=True): componentname = f"qt{module}" assert componentname not in self.cpp_info.components, f"Module {module} already present in self.cpp_info.components" self.cpp_info.components[componentname].set_property("cmake_target_name", f"Qt6::{module}") + self.cpp_info.components[componentname].set_property("pkg_config_name", f"Qt6{module}") self.cpp_info.components[componentname].names["cmake_find_package"] = module self.cpp_info.components[componentname].names["cmake_find_package_multi"] = module if module.endswith("Private"): @@ -1035,6 +1037,13 @@ def _create_plugin(pluginname, libname, plugintype, requires): core_reqs.append("glib::glib") _create_module("Core", core_reqs) + pkg_config_vars = [ + "bindir=${prefix}/bin", + "libexecdir=${prefix}/bin", + "exec_prefix=${prefix}", + ] + self.cpp_info.components["qtCore"].set_property("pkg_config_custom_content", "\n".join(pkg_config_vars)) + if self.settings.os == "Windows": if Version(self.version) >= "6.3.0": self.cpp_info.components["qtCore"].system_libs.append("authz") From 12e64f066853f647b5d8ad032b09739abd8e0ee3 Mon Sep 17 00:00:00 2001 From: hiiizxf <385122613@qq.com> Date: Wed, 7 Jun 2023 23:42:19 +0800 Subject: [PATCH 0490/4087] (#17782) add nanomsg recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add nanomsg recipe * add system_libs * add enable_tools option default value False and add pkg_config_name * recommit all/conanfile.py * Update recipes/nanomsg/all/conanfile.py * Update recipes/nanomsg/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/nanomsg/all/conandata.yml | 4 + recipes/nanomsg/all/conanfile.py | 102 ++++++++++++++++++ .../nanomsg/all/test_package/CMakeLists.txt | 8 ++ recipes/nanomsg/all/test_package/conanfile.py | 25 +++++ .../nanomsg/all/test_package/test_package.cpp | 11 ++ recipes/nanomsg/config.yml | 3 + 6 files changed, 153 insertions(+) create mode 100644 recipes/nanomsg/all/conandata.yml create mode 100644 recipes/nanomsg/all/conanfile.py create mode 100644 recipes/nanomsg/all/test_package/CMakeLists.txt create mode 100644 recipes/nanomsg/all/test_package/conanfile.py create mode 100644 recipes/nanomsg/all/test_package/test_package.cpp create mode 100644 recipes/nanomsg/config.yml diff --git a/recipes/nanomsg/all/conandata.yml b/recipes/nanomsg/all/conandata.yml new file mode 100644 index 0000000000000..1d7161c198806 --- /dev/null +++ b/recipes/nanomsg/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.2": + url: "https://github.com/nanomsg/nanomsg/archive/refs/tags/1.2.tar.gz" + sha256: "6ef7282e833df6a364f3617692ef21e59d5c4878acea4f2d7d36e21c8858de67" diff --git a/recipes/nanomsg/all/conanfile.py b/recipes/nanomsg/all/conanfile.py new file mode 100644 index 0000000000000..851ab78f2038e --- /dev/null +++ b/recipes/nanomsg/all/conanfile.py @@ -0,0 +1,102 @@ +from conan import ConanFile +from conan.tools.files import get, copy, rm, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +import os + + +required_conan_version = ">=1.53.0" + +class NanomsgConan(ConanFile): + name = "nanomsg" + description = "A socket library that provides several common communication patterns." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/nanomsg/nanomsg" + topics = ("socket", "protocols", "communication") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "enable_coverage": [True, False], + "enable_getaddrinfo_a":[True, False], + "enable_tools": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "enable_coverage": False, + "enable_getaddrinfo_a":True, + "enable_tools": 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.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["NN_STATIC_LIB"] = not self.options.shared + tc.variables["NN_ENABLE_COVERAGE"] = self.options.enable_coverage + tc.variables["NN_ENABLE_GETADDRINFO_A"] = self.options.enable_getaddrinfo_a + tc.variables["NN_ENABLE_DOC"] = False + tc.variables["NN_TESTS"] = False + tc.variables["NN_TOOLS"] = self.options.enable_tools + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate(scope="build") + + def build(self): + 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, "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 = ["nanomsg"] + self.cpp_info.set_property("cmake_file_name", "nanomsg") + self.cpp_info.set_property("cmake_target_name", "nanomsg::nanomsg") + self.cpp_info.set_property("pkg_config_name", "nanomsg") + + if self.settings.os == "Windows" and not self.options.shared: + self.cpp_info.system_libs.extend(["mswsock", "ws2_32", "advapi32"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("anl") + self.cpp_info.system_libs.append("rt") + self.cpp_info.system_libs.append("nsl") + + if not self.options.shared: + self.cpp_info.defines.append("NN_STATIC_LIB") + if self.options.enable_coverage: + self.cpp_info.defines.append("NN_ENABLE_COVERAGE") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "nanomsg" + self.cpp_info.names["cmake_find_package_multi"] = "nanomsg" diff --git a/recipes/nanomsg/all/test_package/CMakeLists.txt b/recipes/nanomsg/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5ea217a77048d --- /dev/null +++ b/recipes/nanomsg/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package CXX) + +find_package(nanomsg REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE nanomsg::nanomsg) diff --git a/recipes/nanomsg/all/test_package/conanfile.py b/recipes/nanomsg/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/nanomsg/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/nanomsg/all/test_package/test_package.cpp b/recipes/nanomsg/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..38d120fc8ced4 --- /dev/null +++ b/recipes/nanomsg/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include +#include "nanomsg/nn.h" + + +int main(void) { + void *msg = nn_allocmsg(32, 0); + nn_freemsg(msg); + + return EXIT_SUCCESS; +} diff --git a/recipes/nanomsg/config.yml b/recipes/nanomsg/config.yml new file mode 100644 index 0000000000000..a0777b5aa931c --- /dev/null +++ b/recipes/nanomsg/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2": + folder: all From d09e0f540e044d97de6c6b59fddc52b9a6e4f0a5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 8 Jun 2023 07:01:57 +0900 Subject: [PATCH 0491/4087] (#17861) opentelemetry-proto: add version 0.20.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/opentelemetry-proto/all/conandata.yml | 3 +++ recipes/opentelemetry-proto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opentelemetry-proto/all/conandata.yml b/recipes/opentelemetry-proto/all/conandata.yml index 15e276cc4de55..88d8d71b3c37a 100644 --- a/recipes/opentelemetry-proto/all/conandata.yml +++ b/recipes/opentelemetry-proto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.20.0": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v0.20.0.tar.gz" + sha256: "6ab267cf82832ed60ad075d574c78da736193eecb9693e8a8d02f65d6d3f3520" "0.19.0": url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v0.19.0.tar.gz" sha256: "464bc2b348e674a1a03142e403cbccb01be8655b6de0f8bfe733ea31fcd421be" diff --git a/recipes/opentelemetry-proto/config.yml b/recipes/opentelemetry-proto/config.yml index a5c8b6c0c2e34..f4d1c28407340 100644 --- a/recipes/opentelemetry-proto/config.yml +++ b/recipes/opentelemetry-proto/config.yml @@ -1,4 +1,6 @@ versions: + "0.20.0": + folder: all "0.19.0": folder: all "0.18.0": From f27a5fec82c0c49b3eca5ae1e02dba0bd63854f3 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 8 Jun 2023 08:41:39 +0900 Subject: [PATCH 0492/4087] (#17862) imath: add version 3.1.9 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 663f51d566598..184bb3afe6a05 100644 --- a/recipes/imath/all/conandata.yml +++ b/recipes/imath/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.9": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.9.tar.gz" + sha256: "f1d8aacd46afed958babfced3190d2d3c8209b66da451f556abd6da94c165cf3" "3.1.8": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.8.tar.gz" sha256: "a23a4e2160ca8ff68607a4e129e484edd1d0d13f707394d32af7aed659020803" diff --git a/recipes/imath/config.yml b/recipes/imath/config.yml index bfc330f91425c..e9bdf1c39b31e 100644 --- a/recipes/imath/config.yml +++ b/recipes/imath/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.9": + folder: all "3.1.8": folder: all "3.1.7": From dc7e8032e042f865d4df88e113b5442eb97705f2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 8 Jun 2023 21:04:03 +0900 Subject: [PATCH 0493/4087] (#17304) simdutf: add version 3.2.14, add package_type * simdutf: add version 3.2.8 * fix patch for 3.2.8 * support shared build * update 3.2.9 * update 3.2.11 * update 3.2.12 * update 3.2.12 * update 3.2.14 --- recipes/simdutf/all/conandata.yml | 7 +++++ recipes/simdutf/all/conanfile.py | 4 +-- .../all/patches/3.2.14-0001-fix-cmake.patch | 30 +++++++++++++++++++ recipes/simdutf/config.yml | 2 ++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 recipes/simdutf/all/patches/3.2.14-0001-fix-cmake.patch diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index ccc7fafd76088..b0cd66f4e34df 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.14": + url: "https://github.com/simdutf/simdutf/archive/v3.2.14.tar.gz" + sha256: "6bd6cd41e0e588312c3ae24adb297454bd9bd9622ed7443f41300d7201f233a1" "3.2.2": url: "https://github.com/simdutf/simdutf/archive/v3.2.2.tar.gz" sha256: "5a5c84c05bf30d681126d1dcbde903615f2c927e201e0c6d489f74a91b7f506f" @@ -30,6 +33,10 @@ sources: url: "https://github.com/simdutf/simdutf/archive/v1.0.1.tar.gz" sha256: "e7832ba58fb95fe00de76dbbb2f17d844a7ad02a6f5e3e9e5ce9520e820049a0" patches: + "3.2.14": + - patch_file: "patches/3.2.14-0001-fix-cmake.patch" + patch_description: "remove static build, enable rpath on macOS" + patch_type: "conan" "3.2.2": - patch_file: "patches/2.0.3-0001-fix-cmake.patch" patch_description: "remove static build, enable rpath on macOS" diff --git a/recipes/simdutf/all/conanfile.py b/recipes/simdutf/all/conanfile.py index 6bdedd0dd5b54..6ac2ab3946ae3 100644 --- a/recipes/simdutf/all/conanfile.py +++ b/recipes/simdutf/all/conanfile.py @@ -15,6 +15,7 @@ class SimdutfConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/simdutf/simdutf" topics = ("unicode", "transcoding", "neon", "simd", "avx2", "sse2", "utf8", "utf16", ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -48,7 +49,7 @@ def validate(self): check_min_cppstd(self, self._minimum_cpp_standard) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -59,7 +60,6 @@ def generate(self): if Version(self.version) >= "2.0.3": tc.variables["SIMDUTF_TOOLS"] = False tc.generate() - deps = CMakeDeps(self) deps.generate() diff --git a/recipes/simdutf/all/patches/3.2.14-0001-fix-cmake.patch b/recipes/simdutf/all/patches/3.2.14-0001-fix-cmake.patch new file mode 100644 index 0000000000000..2fa471fee1dfb --- /dev/null +++ b/recipes/simdutf/all/patches/3.2.14-0001-fix-cmake.patch @@ -0,0 +1,30 @@ +diff --git a/cmake/simdutf-flags.cmake b/cmake/simdutf-flags.cmake +index 4844fa0..801e2b3 100644 +--- a/cmake/simdutf-flags.cmake ++++ b/cmake/simdutf-flags.cmake +@@ -24,4 +24,4 @@ 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) ++set(CMAKE_MACOSX_RPATH ON) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f42e310..80ce35c 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 "$") + +@@ -38,4 +38,4 @@ if(SIMDUTF_SANITIZE_UNDEFINED) + endif() + if(MSVC AND BUILD_SHARED_LIBS) + set(SIMDUTF_WINDOWS_DLL TRUE) +-endif() +\ No newline at end of file ++endif() diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index c0a677b2e1801..ec7185837f86c 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.14": + folder: all "3.2.2": folder: all "3.2.0": From ffa17a5a1c683fc537d500dd50070f3e4b333bc1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 8 Jun 2023 17:02:15 +0200 Subject: [PATCH 0494/4087] (#17864) [bot] Update list of references (prod-v2/ListPackages) --- .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 cfb8041cbe80e..51d0b0e7182b5 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -228,6 +228,7 @@ required_for_references: - flatbuffers - flex - fmt +- fmtlog - fontconfig - foonathan-lexy - foonathan-memory @@ -243,6 +244,7 @@ required_for_references: - gdbm - gdcm - gdk-pixbuf +- gegles-spdlog_setup - gemmlowp - geos - getopt-for-visual-studio @@ -288,6 +290,7 @@ required_for_references: - homog2d - http_parser - icu +- id3v2lib - iir1 - im95able-rea - imake @@ -459,6 +462,7 @@ required_for_references: - namedtype - nameof - nanoflann +- nanomsg - nanorange - nas - nasm From f913b534257772017cc72ac6e12385e07e249f8c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 8 Jun 2023 17:24:00 +0200 Subject: [PATCH 0495/4087] (#17104) aws-c-io: fix interface definition for shared lib on windows + bump s2n + add package_type * add AWS_IO_USE_IMPORT_EXPORT interface definition This definition is mandatory to properly define __delcspec(dllimport) if shared on windows It's very important since aws-c-io has at least one global symbol in its interface. * add package_type * bump s2n * modernize a little bit more * more elegant way to define target for legacy generators * aws-c-common is a public dependency of aws-c-io --- recipes/aws-c-io/all/conanfile.py | 77 +++++++++++++++++-------------- 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 84b513c37e69f..20a04052e80c5 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -1,18 +1,21 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir -from conan.tools.scm import Version 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 + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.52.0" class AwsCIO(ConanFile): name = "aws-c-io" description = "IO and TLS for application protocols" - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-io" topics = ("aws", "amazon", "cloud", "io", "tls",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -29,18 +32,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") @@ -49,18 +43,17 @@ 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.10.9": - self.requires("aws-c-common/0.6.11") + self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.11") else: - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.13") if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.3.15") + self.requires("s2n/1.3.31") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -81,24 +74,38 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-io")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-io": "aws-c-io::aws-c-io"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-io") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-io") - # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["aws-c-io-lib"].libs = ["aws-c-io"] + self.cpp_info.libs = ["aws-c-io"] + if self.options.shared: + self.cpp_info.defines.append("AWS_IO_USE_IMPORT_EXPORT") if self.settings.os == "Macos": - self.cpp_info.components["aws-c-io-lib"].frameworks.append("Security") + self.cpp_info.frameworks.append("Security") if self.settings.os == "Windows": - self.cpp_info.components["aws-c-io-lib"].system_libs = ["crypt32", "secur32", "shlwapi"] + self.cpp_info.system_libs = ["crypt32", "secur32", "shlwapi"] # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "aws-c-io" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-io" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-io-lib"].names["cmake_find_package"] = "aws-c-io" - self.cpp_info.components["aws-c-io-lib"].names["cmake_find_package_multi"] = "aws-c-io" - self.cpp_info.components["aws-c-io-lib"].set_property("cmake_target_name", "AWS::aws-c-io") - self.cpp_info.components["aws-c-io-lib"].requires = ["aws-c-cal::aws-c-cal-lib", "aws-c-common::aws-c-common-lib"] - if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.cpp_info.components["aws-c-io-lib"].requires.append("s2n::s2n-lib") + 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] From d6e0237714c5da123c1cb5c2c90ab9a3d3a27271 Mon Sep 17 00:00:00 2001 From: Marcin Zdun Date: Thu, 8 Jun 2023 21:03:09 +0200 Subject: [PATCH 0496/4087] (#17870) add mbits-diags/0.9.6 --- recipes/mbits-diags/all/conandata.yml | 3 +++ recipes/mbits-diags/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mbits-diags/all/conandata.yml b/recipes/mbits-diags/all/conandata.yml index 2d952403c9f2e..3bca84056e5f0 100644 --- a/recipes/mbits-diags/all/conandata.yml +++ b/recipes/mbits-diags/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.6": + url: "https://github.com/mbits-libs/diags/archive/v0.9.6.tar.gz" + sha256: "db86aa0c4ce1bbfa548a39e046b7872e6f369d668ee433dc5a57cf2a026deb4c" "0.9.5": url: "https://github.com/mbits-libs/diags/archive/v0.9.5.tar.gz" sha256: "5594ad477a9a23012faf50ce0c007351f5073908cf84a3507fc539b74878dd55" diff --git a/recipes/mbits-diags/config.yml b/recipes/mbits-diags/config.yml index f92e22cde3e4b..9ac73bad7edeb 100644 --- a/recipes/mbits-diags/config.yml +++ b/recipes/mbits-diags/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.6": + folder: all "0.9.5": folder: all "0.9.4": From 54e8adf2547196b7debc6b9e1c8e57e9573fae6b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 9 Jun 2023 08:21:33 +0900 Subject: [PATCH 0497/4087] (#17871) tuplet: add version 2.1.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/tuplet/all/conandata.yml | 3 +++ recipes/tuplet/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tuplet/all/conandata.yml b/recipes/tuplet/all/conandata.yml index 98eee37c105c5..defd879c8e383 100644 --- a/recipes/tuplet/all/conandata.yml +++ b/recipes/tuplet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/codeinred/tuplet/archive/v2.1.1.tar.gz" + sha256: "2df403ffeed38a9687a3f2a7d2a68419ba029f519244e9bcd30caa0e8ec2ead3" "2.1.0": url: "https://github.com/codeinred/tuplet/archive/v2.1.0.tar.gz" sha256: "e77503b81259c4d67d1b16b887b9ab778422e2ffc031d2171b5117d2fddb237c" diff --git a/recipes/tuplet/config.yml b/recipes/tuplet/config.yml index dab8b51866d73..56682d1116e02 100644 --- a/recipes/tuplet/config.yml +++ b/recipes/tuplet/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: all "2.1.0": folder: all "2.0.0": From 4a435300358ab987a8831211375a36b823737287 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 9 Jun 2023 12:41:44 +0900 Subject: [PATCH 0498/4087] (#17860) libnghttp2: add version 1.54.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libnghttp2/all/conandata.yml | 3 +++ recipes/libnghttp2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 9078b4202e02b..4bb9bc4aa3c48 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.54.0": + url: "https://github.com/nghttp2/nghttp2/archive/v1.54.0.tar.gz" + sha256: "aae8bda9e06d7c51a12488175086edc44a46c230561dc7c45d779e00e43d4b8e" "1.53.0": url: "https://github.com/nghttp2/nghttp2/releases/download/v1.53.0/nghttp2-1.53.0.tar.xz" sha256: "b867184254e5a29b0ba68413aa14f8b0ce1142a371761374598dec092dabb809" diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 35bd03552b39b..f75606a075b1c 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.54.0": + folder: all "1.53.0": folder: all "1.51.0": From 8797be4d079d3a65e1f93761a74f8c10f4ed8607 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Fri, 9 Jun 2023 23:35:16 +0930 Subject: [PATCH 0499/4087] (#16284) [tz] Add tz recipe * [tz] Add initial data only recipe * Add initial data-only recipe Relates to #16204 * [tz] Add library package This will build zdump and a local database as well as provide an option to use this as a data-only recipe * [tz] Update license information * BSD-3-Clause by default * Public domain when data_only=True * [tz] Add test_v1_package Add test_v1 package and fix test_package to use self.dependencies rather than self.options when querying upstream options * [tz] Fix linting issues * [tz] Add homepage metadata to recipe and remove conan 2.0 requirement from test_package * [tz] fix test_package layout * [tz] Save dependency options to file in generate for 1.x compatibility * Remove test_v1_package as it's redundant after these changes * Save dependencies to json file in generate() for a cross-version compatible recipe * simplify Signed-off-by: Uilian Ries * Update version in config.yml * Add mawk to fix current build * use tool requirement mawk Signed-off-by: Uilian Ries * replace more awk in Makefile Signed-off-by: Uilian Ries * run test package with Conan 1.x Signed-off-by: Uilian Ries * safe remove settings Signed-off-by: Uilian Ries * fix settings deletion Signed-off-by: Uilian Ries * include dirs should be empty Signed-off-by: Uilian Ries * [tz] Fix windows builds * Add msys as a build dependency to fix invocation of make * Fix paths to ensure that forward slashes are used for cross-os compatibility * [tz] Fix typo when querying settings_build * [tz] Ensure test_package runs in msys context on Windows * [tz] Add conan v2 ready reference * Revert "[tz] Add conan v2 ready reference" This reverts commit 8220bd79318216b2d259c71c1b10a6d84fe94f0a. --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/tz/all/conandata.yml | 4 ++ recipes/tz/all/conanfile.py | 73 ++++++++++++++++++++++++ recipes/tz/all/test_package/conanfile.py | 35 ++++++++++++ recipes/tz/config.yml | 3 + 4 files changed, 115 insertions(+) create mode 100644 recipes/tz/all/conandata.yml create mode 100644 recipes/tz/all/conanfile.py create mode 100644 recipes/tz/all/test_package/conanfile.py create mode 100644 recipes/tz/config.yml diff --git a/recipes/tz/all/conandata.yml b/recipes/tz/all/conandata.yml new file mode 100644 index 0000000000000..dd6b60859c1a9 --- /dev/null +++ b/recipes/tz/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2023c": + url: "https://github.com/eggert/tz/archive/refs/tags/2023c.tar.gz" + sha256: "9aa20ef838183e58f09acca92098cf6aa6d8e229aecf24e098c3af2a38e596f8" diff --git a/recipes/tz/all/conanfile.py b/recipes/tz/all/conanfile.py new file mode 100644 index 0000000000000..38bd6ee601c91 --- /dev/null +++ b/recipes/tz/all/conanfile.py @@ -0,0 +1,73 @@ +import os + +from conan import ConanFile +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.files import get, copy, rmdir, replace_in_file +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + +class TzConan(ConanFile): + name = "tz" + license = "Unlicense" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.iana.org/time-zones" + description = "The Time Zone Database contains data that represent the history of local time for many representative locations around the globe." + topics = ("tz", "tzdb", "time", "zone", "date") + settings = "os", "build_type", "arch", "compiler" + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + + def build_requirements(self): + self.tool_requires("mawk/1.3.4-20230404") + 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): + tc = AutotoolsToolchain(self) + tc.generate() + + def _patch_sources(self): + # INFO: The Makefile enforces /usr/bin/awk, but we want to use tool requirements + awk_path = os.path.join(self.dependencies.direct_build['mawk'].package_folder, "bin", "mawk").replace("\\", "/") + replace_in_file(self, os.path.join(self.source_folder, "Makefile"), "AWK= awk", f"AWK={awk_path}") + + def build(self): + self._patch_sources() + autotools = Autotools(self) + autotools.make(args=["-C", self.source_folder.replace("\\", "/")]) + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + autotools = Autotools(self) + destdir = self.package_folder.replace('\\', '/') + autotools.install(args=["-C", self.source_folder.replace("\\", "/"), f"DESTDIR={destdir}"]) + rmdir(self, os.path.join(self.package_folder, "usr", "share", "man")) + # INFO: The library does not have a public API, it's used to build the zic and zdump tools + rmdir(self, os.path.join(self.package_folder, "usr", "lib")) + + def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.includedirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = [os.path.join("usr", "share")] + self.cpp_info.bindirs = [os.path.join("usr", "bin"), os.path.join("usr", "sbin")] + self.buildenv_info.define("TZDATA", os.path.join(self.package_folder, "usr", "share", "zoneinfo")) + self.runenv_info.define("TZDATA", os.path.join(self.package_folder, "usr", "share", "zoneinfo")) diff --git a/recipes/tz/all/test_package/conanfile.py b/recipes/tz/all/test_package/conanfile.py new file mode 100644 index 0000000000000..eaec136cd36cc --- /dev/null +++ b/recipes/tz/all/test_package/conanfile.py @@ -0,0 +1,35 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.errors import ConanException +import os + + +class TzTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "VirtualBuildEnv", "VirtualRunEnv" + test_type = "explicit" + tzdata = None + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + if self._settings_build.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + + def generate(self): + # INFO: zdump does not consume TZDATA, need to pass absolute path of the zoneinfo directory + self.tzdata = self.dependencies.build['tz'].buildenv_info.vars(self).get('TZDATA') + with open("tzdata.info", "w") as fd: + fd.write(self.tzdata) + + def build(self): + pass + + def test(self): + if can_run(self): + with open("tzdata.info", "r") as fd: + self.tzdata = fd.read() + self.run(f"zdump {os.path.join(self.tzdata, 'America', 'Los_Angeles')}") diff --git a/recipes/tz/config.yml b/recipes/tz/config.yml new file mode 100644 index 0000000000000..baca28b344a2b --- /dev/null +++ b/recipes/tz/config.yml @@ -0,0 +1,3 @@ +versions: + "2023c": + folder: all From 9b686e5fa622f2696afac3453395292949e55074 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 9 Jun 2023 16:41:49 +0200 Subject: [PATCH 0500/4087] (#17869) [pixman] Remove collect_libs and use library real name * remove collect_libs Signed-off-by: Uilian Ries * use prefix for windows Signed-off-by: Uilian Ries * revert conandata.yml Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/pixman/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/pixman/all/conanfile.py b/recipes/pixman/all/conanfile.py index f93814d449e1a..a5d1aeafc9a5d 100644 --- a/recipes/pixman/all/conanfile.py +++ b/recipes/pixman/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.apple import fix_apple_shared_install_name from conan.tools.env import VirtualBuildEnv from conan.tools.files import ( - apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, + apply_conandata_patches, copy, export_conandata_patches, get, rename, replace_in_file, rm, rmdir ) from conan.tools.layout import basic_layout @@ -93,7 +93,7 @@ def package(self): rename(self, os.path.join(lib_folder, f"{prefix}.a"), os.path.join(lib_folder, f"{prefix}.lib")) def package_info(self): - self.cpp_info.libs = collect_libs(self) + self.cpp_info.libs = ['libpixman-1'] if self.settings.os == "Windows" else ['pixman-1'] self.cpp_info.includedirs.append(os.path.join("include", "pixman-1")) self.cpp_info.set_property("pkg_config_name", "pixman-1") if self.settings.os in ("FreeBSD", "Linux"): From d980c654d936ec144b5bcb34b1d5968d9f135965 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Jun 2023 00:22:44 +0900 Subject: [PATCH 0501/4087] (#17863) zlib-ng: add version 2.1.2 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/all/conanfile.py | 8 ++++++++ recipes/zlib-ng/config.yml | 2 ++ 3 files changed, 13 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 81a85da093ebb..6a968e1b5df2d 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.2.tar.gz" + sha256: "383560d6b00697c04e8878e26c0187b480971a8bce90ffd26a5a7b0f7ecf1a33" "2.0.7": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.tar.gz" sha256: "6c0853bb27738b811f2b4d4af095323c3d5ce36ceed6b50e5f773204fb8f7200" diff --git a/recipes/zlib-ng/all/conanfile.py b/recipes/zlib-ng/all/conanfile.py index 810ef7d7bdec6..2c536695c6f5e 100644 --- a/recipes/zlib-ng/all/conanfile.py +++ b/recipes/zlib-ng/all/conanfile.py @@ -27,6 +27,7 @@ class ZlibNgConan(ConanFile): "with_optim": [True, False], "with_new_strategies": [True, False], "with_native_instructions": [True, False], + "with_reduced_mem": [True, False], } default_options = { "shared": False, @@ -36,11 +37,14 @@ class ZlibNgConan(ConanFile): "with_optim": False, "with_new_strategies": True, "with_native_instructions": False, + "with_reduced_mem": False, } def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "2.1.0": + del self.options.with_reduced_mem def configure(self): if self.options.shared: @@ -61,11 +65,15 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["ZLIB_ENABLE_TESTS"] = False + tc.variables["ZLIBNG_ENABLE_TESTS"] = False + tc.variables["ZLIB_COMPAT"] = self.options.zlib_compat tc.variables["WITH_GZFILEOP"] = self.options.with_gzfileop tc.variables["WITH_OPTIM"] = self.options.with_optim tc.variables["WITH_NEW_STRATEGIES"] = self.options.with_new_strategies 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 tc.generate() def build(self): diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index 5e344c7c2810f..c37d0e56fedc6 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.2": + folder: all "2.0.7": folder: all "2.0.6": From 8588908f35e43404061210b3e32dade2d60cd776 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 9 Jun 2023 18:22:14 +0200 Subject: [PATCH 0502/4087] (#17852) dbus 1.15.6 * dbus 1.15.6 * disable test --- recipes/dbus/1.x.x/conandata.yml | 3 +++ recipes/dbus/1.x.x/conanfile.py | 3 ++- recipes/dbus/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/dbus/1.x.x/conandata.yml b/recipes/dbus/1.x.x/conandata.yml index 20ee5e48052c8..c3b193cfa06c5 100644 --- a/recipes/dbus/1.x.x/conandata.yml +++ b/recipes/dbus/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.15.6": + url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.15.6.tar.xz" + sha256: "f97f5845f9c4a5a1fb3df67dfa9e16b5a3fd545d348d6dc850cb7ccc9942bd8c" "1.15.2": url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.15.2.tar.xz" sha256: "7e640803084af59f5e477b7ded11fd888b5380910a895c51ca3aedd63c0626ca" diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index 00b0dc44a35ef..008d492888632 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.apple import fix_apple_shared_install_name, is_apple_os from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, rename, rm, rmdir, save +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 PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -146,6 +146,7 @@ def generate(self): def build(self): apply_conandata_patches(self) if self._meson_available: + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "# subdir('test')") meson = Meson(self) meson.configure() meson.build() diff --git a/recipes/dbus/config.yml b/recipes/dbus/config.yml index cc866e2f4cf3b..b9caba7b44349 100644 --- a/recipes/dbus/config.yml +++ b/recipes/dbus/config.yml @@ -1,4 +1,6 @@ versions: + "1.15.6": + folder: 1.x.x "1.15.2": folder: 1.x.x "1.15.0": From a9d4625acd0f583c3372b64011257ac01e9680aa Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Jun 2023 02:03:00 +0900 Subject: [PATCH 0503/4087] (#17820) dataframe: add version 2.1.0 --- recipes/dataframe/all/conandata.yml | 3 +++ recipes/dataframe/all/conanfile.py | 25 +++++++++++++------ .../dataframe/all/test_package/CMakeLists.txt | 6 ++++- recipes/dataframe/config.yml | 2 ++ 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 16ec52d345ce0..06380e6e2f3cf 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.1.0.tar.gz" + sha256: "7f131c608dccd14599e5765e1a919550f08f5c334764f0e20ec181e7e8cbddae" "2.0.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.0.0.tar.gz" sha256: "df46ab60153f75ef0a1ab269e6b107ec34fdc467993c3984029d7deb5e0fab6c" diff --git a/recipes/dataframe/all/conanfile.py b/recipes/dataframe/all/conanfile.py index 95fdd9bafb34a..d8ecb6217a53f 100644 --- a/recipes/dataframe/all/conanfile.py +++ b/recipes/dataframe/all/conanfile.py @@ -51,17 +51,28 @@ class DataFrameConan(ConanFile): @property def _min_cppstd(self): - return "17" + return "20" if Version(self.version) >= "2.1.0" else "17" @property def _minimum_compilers_version(self): return { - "Visual Studio": "15", - "msvc": "191", - "gcc": "7", - "clang": "6", - "apple-clang": "10.0", - } + "17": { + "Visual Studio": "15", + "msvc": "191", + "gcc": "7", + "clang": "6", + "apple-clang": "10.0", + }, + "20": { + "Visual Studio": "16", + "msvc": "192", + "gcc": "11", + "clang": "12", + "apple-clang": "13", + }, + }.get(self._min_cppstd, {}) + + return {} def export_sources(self): export_conandata_patches(self) diff --git a/recipes/dataframe/all/test_package/CMakeLists.txt b/recipes/dataframe/all/test_package/CMakeLists.txt index 4c82a6b1a8874..541c6ae64fbf1 100644 --- a/recipes/dataframe/all/test_package/CMakeLists.txt +++ b/recipes/dataframe/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(DataFrame REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE DataFrame::DataFrame) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.1.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml index db87f49d71721..0bd7dd9ecfa09 100644 --- a/recipes/dataframe/config.yml +++ b/recipes/dataframe/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.0": folder: all "1.22.0": From 3de3c8dc15446a8fd237c7efe4caf485311098b6 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Jun 2023 03:23:33 +0900 Subject: [PATCH 0504/4087] (#17772) libcurl: add version 8.1.2, update c-ares --- recipes/libcurl/all/conandata.yml | 3 +++ recipes/libcurl/all/conanfile.py | 2 +- recipes/libcurl/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index 5c9d395cd4837..ed67365a84b81 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.1.2": + url: "https://curl.se/download/curl-8.1.2.tar.gz" + sha256: "2e5a9b8fcdc095bdd2f079561f369de71c5eb3b80f00a702fbe9a8b8d9897891" "8.1.1": url: "https://curl.se/download/curl-8.1.1.tar.gz" sha256: "44915e6708551bff2b4fd1615d593bc843b00ba013012634c04208702e354ab2" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index c70fbd5ab0576..91888f3558faa 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -195,7 +195,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_c_ares: - self.requires("c-ares/1.19.0") + self.requires("c-ares/1.19.1") if self.options.get_safe("with_libpsl"): self.requires("libpsl/0.21.1") diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index eb21896fc64a1..cb27832872bdf 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.1.2": + folder: all "8.1.1": folder: all "8.0.1": From 23786ac0b1605c972dad2f2c5ff200fc1f718dec Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Jun 2023 11:21:45 +0900 Subject: [PATCH 0505/4087] (#17885) fast_float: add version 5.1.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 a619fbeb19b89..0e5feff513d3f 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.1.0": + url: "https://github.com/fastfloat/fast_float/archive/v5.1.0.tar.gz" + sha256: "37a0de5473ed6b9617ea4c199c2d5bda45ab027dbe72220fe36cf3000f9f23bf" "5.0.0": url: "https://github.com/fastfloat/fast_float/archive/v5.0.0.tar.gz" sha256: "86645ab4af22d21d4ba2d980572dfb74faf90c20c52240d7d8d2201f3eaf4252" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 7b5ce3829adc9..f3c2d4fddf72d 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "5.1.0": + folder: all "5.0.0": folder: all "4.0.0": From 22cf85b58e5e437beda396a0bc11c6bb12c27437 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Jun 2023 12:02:04 +0900 Subject: [PATCH 0506/4087] (#17884) cpp-httplib: add version 0.12.5 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 2d3a6cc9a0aa7..4c38028d6d647 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.5": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.5.tar.gz" + sha256: "b488f3fa9c6bf35608c3d9a5b69be52e016bbf2fbfe67e5ee684eadb2655493e" "0.12.4": url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.4.tar.gz" sha256: "1aecc75c64fe979f4c6f8b0308ef11f282c721522072fa02717ff07cc9627d10" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 863f2cbd3a813..589f0df2ffe4a 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.5": + folder: all "0.12.4": folder: all "0.12.3": From 905377695458e962fa50c5f4e9daf9fa73d74984 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 10 Jun 2023 14:03:00 +0900 Subject: [PATCH 0507/4087] (#17883) libcurl: update libnghttp2 1.54.0 --- recipes/libcurl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 91888f3558faa..0e354bcda9e97 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -185,7 +185,7 @@ def requirements(self): elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.5.1") if self.options.with_nghttp2: - self.requires("libnghttp2/1.53.0") + self.requires("libnghttp2/1.54.0") if self.options.with_libssh2: self.requires("libssh2/1.10.0") if self.options.with_zlib: From 9751543cf066ed32e75675fd56dfedf4a0de70f4 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sat, 10 Jun 2023 12:21:35 +0200 Subject: [PATCH 0508/4087] (#17887) hdf5: add v1.14.1 --- recipes/hdf5/all/conandata.yml | 3 +++ recipes/hdf5/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hdf5/all/conandata.yml b/recipes/hdf5/all/conandata.yml index dc660f8ec159b..5eba8570f098c 100644 --- a/recipes/hdf5/all/conandata.yml +++ b/recipes/hdf5/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.1": + url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_1.tar.gz" + sha256: "1f710f3846d9c3ef9a4c57ef252ee0570f0af4e028fd6ccc360a48b7b16c347d" "1.14.0": url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_0.tar.gz" sha256: "0f2ec13c1bf6e9f506fd03681c83a476d722e7479cad9ce6f8585a26c317d0ad" diff --git a/recipes/hdf5/config.yml b/recipes/hdf5/config.yml index 6c8040e06da05..7ae39b3f5a326 100644 --- a/recipes/hdf5/config.yml +++ b/recipes/hdf5/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.1": + folder: all "1.14.0": folder: all "1.13.1": From f8052dd2e5e4e35712444bdc43bf552a05e3c84f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 10 Jun 2023 14:02:13 +0200 Subject: [PATCH 0509/4087] (#17889) libxcrypt: add version 4.4.35 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libxcrypt/all/conandata.yml | 3 +++ recipes/libxcrypt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxcrypt/all/conandata.yml b/recipes/libxcrypt/all/conandata.yml index 7c93eb6d3f47d..812907a83d051 100644 --- a/recipes/libxcrypt/all/conandata.yml +++ b/recipes/libxcrypt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.35": + url: "https://github.com/besser82/libxcrypt/archive/v4.4.35.tar.gz" + sha256: "15981f2ffb82d70f07285f9683c485c4774083057564a2e7e74236c19e8e9f7b" "4.4.34": url: "https://github.com/besser82/libxcrypt/archive/v4.4.34.tar.gz" sha256: "8888bbe9f8530bbd9f8063d65288018d419f91e9b3e3349abb8cb4d0a0397cc5" diff --git a/recipes/libxcrypt/config.yml b/recipes/libxcrypt/config.yml index 178dce23d013b..bdbb3cb2f74cf 100644 --- a/recipes/libxcrypt/config.yml +++ b/recipes/libxcrypt/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.35": + folder: all "4.4.34": folder: all "4.4.28": From c9d67a39b233a69406d2de5b5c93b46132b15420 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 11 Jun 2023 01:21:41 +0900 Subject: [PATCH 0510/4087] (#17893) magic_enum: add version 0.9.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 a2cf39acaa727..4ecb46e8a245f 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.2": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.2.tar.gz" + sha256: "7887d6a2dfdec65acb7a529a620b3c6f53f30cca55b419ac8ca688a089149e1a" "0.9.1": url: "https://github.com/Neargye/magic_enum/archive/v0.9.1.tar.gz" sha256: "864798f3146de2bb0da766f87d9a64b1742a5d109661b5bf4fdf839040b854d7" diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index a66b904650bec..5a84973326ded 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.2": + folder: all "0.9.1": folder: all "0.9.0": From 55821d3d677ea594c568853a9be40311a74d9b36 Mon Sep 17 00:00:00 2001 From: Jean-Marco Alameddine Date: Sun, 11 Jun 2023 00:01:37 +0200 Subject: [PATCH 0511/4087] (#17896) proposal: add version 7.6.0 --- recipes/proposal/all/conandata.yml | 3 +++ recipes/proposal/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/proposal/all/conandata.yml b/recipes/proposal/all/conandata.yml index 0fd8a065192d9..f4db8fd2f7116 100644 --- a/recipes/proposal/all/conandata.yml +++ b/recipes/proposal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.6.0": + url: "https://github.com/tudo-astroparticlephysics/PROPOSAL/archive/refs/tags/7.6.0.tar.gz" + sha256: "8c0ddd53ac81c2c4959f2425a9d4bf8e40fba55f03407aefc1d3ac9b3d523a62" "7.5.1": url: "https://github.com/tudo-astroparticlephysics/PROPOSAL/archive/refs/tags/7.5.1.tar.gz" sha256: "2a283bfc335c4b6b01d2acc1eea1a5e4c456bd3dd11e41ef24ca3d955c9655a3" diff --git a/recipes/proposal/config.yml b/recipes/proposal/config.yml index 279c6cb19e836..9767bd63e1ea0 100644 --- a/recipes/proposal/config.yml +++ b/recipes/proposal/config.yml @@ -1,4 +1,6 @@ versions: + "7.6.0": + folder: all "7.5.1": folder: all "7.5.0": From 7294c226f21aced7499ac079bfb6271d2b1d943c Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 11 Jun 2023 11:21:43 +0900 Subject: [PATCH 0512/4087] (#17898) fast_float: add version 5.2.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 0e5feff513d3f..639141632b5b0 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.2.0": + url: "https://github.com/fastfloat/fast_float/archive/v5.2.0.tar.gz" + sha256: "72bbfd1914e414c920e39abdc81378adf910a622b62c45b4c61d344039425d18" "5.1.0": url: "https://github.com/fastfloat/fast_float/archive/v5.1.0.tar.gz" sha256: "37a0de5473ed6b9617ea4c199c2d5bda45ab027dbe72220fe36cf3000f9f23bf" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index f3c2d4fddf72d..e3868aa3d0506 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "5.2.0": + folder: all "5.1.0": folder: all "5.0.0": From 347eebf9a91aa1231dbb57a945cc825ebe94bfdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Ferdinand=20Rivera=20Morell?= Date: Sun, 11 Jun 2023 17:02:26 -0500 Subject: [PATCH 0513/4087] (#17905) B2 4.10.0 --- recipes/b2/config.yml | 2 ++ recipes/b2/portable/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/b2/config.yml b/recipes/b2/config.yml index 8b6a9f5076283..e04f8d0be32ae 100644 --- a/recipes/b2/config.yml +++ b/recipes/b2/config.yml @@ -47,3 +47,5 @@ versions: folder: portable "4.9.6": folder: portable + "4.10.0": + folder: portable diff --git a/recipes/b2/portable/conandata.yml b/recipes/b2/portable/conandata.yml index 00c3852f57248..3c65d8cd4d51b 100644 --- a/recipes/b2/portable/conandata.yml +++ b/recipes/b2/portable/conandata.yml @@ -59,3 +59,6 @@ sources: "4.9.6": url: "https://github.com/bfgroup/b2/releases/download/4.9.6/b2-4.9.6.tar.bz2" sha256: "10c1344c751fcf5a1f9ec6f52c02626cfbf78a4806f7817949b115e107bbbc5f" + "4.10.0": + url: "https://github.com/bfgroup/b2/releases/download/4.10.0/b2-4.10.0.tar.bz2" + sha256: "aee0185473141d4acb56e39c78758b1016e66393ea5ca86ef29403bd9258f2e2" From adf63bc7a7d463df2e527497bd5c252c34d14230 Mon Sep 17 00:00:00 2001 From: Gudmundur Adalsteinsson Date: Mon, 12 Jun 2023 08:03:44 +0000 Subject: [PATCH 0514/4087] (#17224) libzmq: Support for no encryption in conan v2 * Support for no encryption in conan v2 * Use False for no encryption Co-authored-by: Chris Mc --------- Co-authored-by: Chris Mc --- recipes/zeromq/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zeromq/all/conanfile.py b/recipes/zeromq/all/conanfile.py index d7a259f237734..128a7c91716bd 100644 --- a/recipes/zeromq/all/conanfile.py +++ b/recipes/zeromq/all/conanfile.py @@ -22,7 +22,7 @@ class ZeroMQConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "encryption": [None, "libsodium", "tweetnacl"], + "encryption": [False, "libsodium", "tweetnacl"], "with_norm": [True, False], "poller": [None, "kqueue", "epoll", "devpoll", "pollset", "poll", "select"], "with_draft_api": [True, False], From e8d855942ce92ab86e08d7e14d976666e680eb01 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 12 Jun 2023 10:42:13 +0200 Subject: [PATCH 0515/4087] (#17856) atk: remove outdated workaround * atk: remove outdated workaround * bump deps --- recipes/atk/all/conanfile.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/recipes/atk/all/conanfile.py b/recipes/atk/all/conanfile.py index 8e4a3de1197c7..40a2f9c42d3e3 100644 --- a/recipes/atk/all/conanfile.py +++ b/recipes/atk/all/conanfile.py @@ -44,14 +44,12 @@ def configure(self): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") - if self.options.shared: - self.options["glib"].shared = True def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.76.2") + self.requires("glib/2.76.3") def validate(self): if self.options.shared and not self.dependencies["glib"].options.shared: @@ -64,11 +62,11 @@ def validate(self): raise ConanInvalidConfiguration("this specific configuration is prevented due to internal c3i limitations") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.1.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires("glib/2.76.2") + self.tool_requires("glib/2.76.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 46f7fe6d981caf612946a69a9b90a3df1bebe2f6 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Jun 2023 11:21:27 +0200 Subject: [PATCH 0516/4087] (#17908) [bot] Update list of references (prod-v2/ListPackages) --- .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 51d0b0e7182b5..b94929723d92f 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -45,6 +45,7 @@ required_for_references: - aws-c-cal - aws-c-common - aws-c-compression +- aws-c-io - aws-c-sdkutils - aws-checksums - b2 @@ -621,6 +622,7 @@ required_for_references: - toml11 - trantor - turtle +- tz - uni-algo - unicorn - univalue From e921b54245158b257473b107e06ecacd450a50ee Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 12 Jun 2023 11:42:18 +0200 Subject: [PATCH 0517/4087] (#17844) cairo: bump deps * cairo/meson/: bump deps * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * remove package_id --- recipes/cairo/meson/conanfile.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 9eb330e00f07b..6ff2bab330a2c 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -88,8 +88,6 @@ def configure(self): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") - if self.options.with_glib and self.options.shared: - self.options["glib"].shared = True def layout(self): basic_layout(self, src_folder="src") @@ -105,11 +103,11 @@ def requirements(self): if self.options.with_freetype: self.requires("freetype/2.13.0") if self.options.with_fontconfig: - self.requires("fontconfig/2.13.93") + self.requires("fontconfig/2.14.2") if self.options.with_png: self.requires("libpng/1.6.39") if self.options.with_glib: - self.requires("glib/2.76.1") + self.requires("glib/2.76.3") if self.settings.os == "Linux": if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system") @@ -122,10 +120,6 @@ def requirements(self): if self.options.get_safe("with_opengl") and self.settings.os in ["Linux", "FreeBSD"]: self.requires("egl/system") - def package_id(self): - if self.info.options.with_glib and not self.dependencies["glib"].options.shared: - self.info.requires["glib"].full_package_mode() - def validate(self): if self.options.get_safe("with_xlib_xrender") and not self.options.get_safe("with_xlib"): raise ConanInvalidConfiguration("'with_xlib_xrender' option requires 'with_xlib' option to be enabled as well!") @@ -141,7 +135,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") From 5bac9305db1675329aab158ca4f6b5014a164121 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 12 Jun 2023 12:22:25 +0200 Subject: [PATCH 0518/4087] (#17769) mozilla-build: conan V2 compatibility --- recipes/mozilla-build/all/conanfile.py | 10 +++++----- recipes/mozilla-build/all/test_package/conanfile.py | 12 +++++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/recipes/mozilla-build/all/conanfile.py b/recipes/mozilla-build/all/conanfile.py index c13282cd3e215..6bed83f899cf8 100644 --- a/recipes/mozilla-build/all/conanfile.py +++ b/recipes/mozilla-build/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.files import download +from conan.tools.files import download, copy from conan.errors import ConanInvalidConfiguration import os @@ -19,18 +19,18 @@ def validate(self): raise ConanInvalidConfiguration("Only Windows supported") def build_requirements(self): - self.build_requires("7zip/19.00") + self.build_requires("7zip/22.01") def build(self): filename = "mozilla-build.exe" download(self, **self.conan_data["sources"][self.version][0], filename=filename) download(self, **self.conan_data["sources"][self.version][1], filename="LICENSE") - self.run(f"7z x {filename}", run_environment=True) + self.run(f"7z x {filename}") def package(self): - self.copy("LICENSE", dst="licenses") - self.copy("nsinstall.exe", src="bin", dst="bin") + copy(self, "LICENSE", src=self.build_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "nsinstall.exe", src=os.path.join(self.build_folder, "bin"), dst=os.path.join(self.package_folder, "bin")) def package_id(self): del self.info.settings.build_type diff --git a/recipes/mozilla-build/all/test_package/conanfile.py b/recipes/mozilla-build/all/test_package/conanfile.py index 73fd3540bb387..dd7e8af7bf77d 100644 --- a/recipes/mozilla-build/all/test_package/conanfile.py +++ b/recipes/mozilla-build/all/test_package/conanfile.py @@ -1,15 +1,21 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.files import save import os 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): - tools.save("file.txt", "some text") + save(self, "file.txt", "some text") assert not os.path.isdir("destionation") self.run("nsinstall -D destination") assert os.path.isdir("destination") assert not os.path.isfile(os.path.join("destination", "file.txt")) self.run("nsinstall -t -m 644 file.txt destination") assert os.path.isfile(os.path.join("destination", "file.txt")) - From ac1171f04ba2dc5cbfbc3b5266ab06b94cfba2f1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Jun 2023 13:02:51 +0200 Subject: [PATCH 0519/4087] (#17867) [bot] Update authorized users list (2023-06-08) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 4c13d43f270b4..7f2fea31023a4 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1170,3 +1170,6 @@ authorized_users: - fcorso2016 - seboste - Sa3eedove +- cjbradfield +- ssrobins +- Ohjurot From cb8148938369f721978e6288130a24013de0b57f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Jun 2023 20:23:18 +0900 Subject: [PATCH 0520/4087] (#17778) glaze: add version 1.2.5, update dependencies * glaze: add version 1.2.4 * drop support apple-clang for glaze<1.0 * fix validateion * rename _min_cppstd * update 1.2.5 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/all/conanfile.py | 18 ++++++------------ recipes/glaze/config.yml | 2 ++ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 165fceb314bfd..6b8554764d505 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.5": + url: "https://github.com/stephenberry/glaze/archive/v1.2.5.tar.gz" + sha256: "bc3ff0b24c8c71557e7aabc5a2bfedd51acea92548c208c3a51815848d2b2c5a" "1.2.3": url: "https://github.com/stephenberry/glaze/archive/v1.2.3.tar.gz" sha256: "003cd3922795319253f080b328dd5c957bc8f446cc2a8145324c2748f4acf10f" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 7f723fc2acd6a..cf738ce161e1d 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -19,7 +19,7 @@ class GlazeConan(ConanFile): settings = "os", "arch", "compiler", "build_type" @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 20 @property @@ -40,11 +40,11 @@ def layout(self): def requirements(self): if Version(self.version) < "0.2.4": - self.requires("fmt/9.1.0") + self.requires("fmt/10.0.0") self.requires("frozen/1.1.1") self.requires("nanorange/cci.20200706") if Version(self.version) < "0.2.3": - self.requires("fast_float/4.0.0") + self.requires("fast_float/5.0.0") if "0.1.5" <= Version(self.version) < "0.2.3": self.requires("dragonbox/1.1.3") @@ -53,18 +53,12 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - - 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] + check_min_cppstd(self, self._min_cppstd) 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): + if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name} {self.version} requires C++{self._minimum_cpp_standard}, which your compiler does not support.", + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) def source(self): diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 779e5b74adbe2..0e6c10eefcb35 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.5": + folder: all "1.2.3": folder: all "1.2.2": From 25fa2033576cf728ac7e24a42237c644a97a4c08 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Jun 2023 21:23:07 +0900 Subject: [PATCH 0521/4087] (#17793) re2: add version 20230602, add with_icu option * re2: add version 20230602, add with_icu option * require C++14 since 20230601 * enable C++14 in test_package --- recipes/re2/all/conandata.yml | 3 ++ recipes/re2/all/conanfile.py | 42 +++++++++++++++++++-- recipes/re2/all/test_package/CMakeLists.txt | 6 ++- recipes/re2/config.yml | 2 + 4 files changed, 49 insertions(+), 4 deletions(-) diff --git a/recipes/re2/all/conandata.yml b/recipes/re2/all/conandata.yml index ae373a08facb0..bc9a3a910cce5 100644 --- a/recipes/re2/all/conandata.yml +++ b/recipes/re2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20230602": + url: "https://github.com/google/re2/releases/download/2023-06-02/re2-2023-06-02.tar.gz" + sha256: "4ccdd5aafaa1bcc24181e6dd3581c3eee0354734bb9f3cb4306273ffa434b94f" "20230301": url: "https://github.com/google/re2/archive/refs/tags/2023-03-01.tar.gz" sha256: "7a9a4824958586980926a300b4717202485c4b4115ac031822e29aa4ef207e48" diff --git a/recipes/re2/all/conanfile.py b/recipes/re2/all/conanfile.py index c8ad0901b061a..ca615ecb2c5f0 100644 --- a/recipes/re2/all/conanfile.py +++ b/recipes/re2/all/conanfile.py @@ -1,12 +1,13 @@ 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.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.54.0" - class Re2Conan(ConanFile): name = "re2" description = "Fast, safe, thread-friendly regular expression library" @@ -20,15 +21,35 @@ class Re2Conan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_icu": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_icu": False, } + @property + def _min_cppstd(self): + return 14 if Version(self.version) >= "20230601" else 11 + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "20230201": + del self.options.with_icu def configure(self): if self.options.shared: @@ -37,9 +58,21 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.get_safe("with_icu"): + self.requires("icu/73.1") + if Version(self.version) >= "20230601": + self.requires("abseil/20230125.3", transitive_headers=True) + def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -49,6 +82,9 @@ def generate(self): tc.variables["RE2_BUILD_TESTING"] = False tc.generate() + deps = CMakeDeps(self) + deps.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/re2/all/test_package/CMakeLists.txt b/recipes/re2/all/test_package/CMakeLists.txt index dee70b6be9bd8..f2cb6370aee9f 100644 --- a/recipes/re2/all/test_package/CMakeLists.txt +++ b/recipes/re2/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(re2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE re2::re2) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if (re2_VERSION VERSION_GREATER_EQUAL "20230602") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/re2/config.yml b/recipes/re2/config.yml index ff0398cb71456..6ecf995b443ac 100644 --- a/recipes/re2/config.yml +++ b/recipes/re2/config.yml @@ -1,4 +1,6 @@ versions: + "20230602": + folder: all "20230301": folder: all "20230201": From ac03dbbcd53675e811d0ecc0164fe8314b354c43 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 12 Jun 2023 14:22:51 +0100 Subject: [PATCH 0522/4087] (#17698) bazel: update to Conan v2, add v6.2.0 * bazel: update to Conan v2, add v6.2.0 * bazel: Fix an error in conandata.yml * bazel: Drop test_v1_package --- recipes/bazel/all/conandata.yml | 49 ++++++++++-- recipes/bazel/all/conanfile.py | 87 ++++++++++++++------- recipes/bazel/all/test_package/conanfile.py | 14 ++-- recipes/bazel/config.yml | 2 + 4 files changed, 112 insertions(+), 40 deletions(-) diff --git a/recipes/bazel/all/conandata.yml b/recipes/bazel/all/conandata.yml index 00f7c7d9a52af..36326bd6f856a 100644 --- a/recipes/bazel/all/conandata.yml +++ b/recipes/bazel/all/conandata.yml @@ -1,10 +1,43 @@ sources: + "6.2.0": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/6.2.0/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-darwin-x86_64" + sha256: "d2356012843ce3a2fbba89f88191673a6ad2f7716cc46ad43ec1bcee78d36b44" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-darwin-arm64" + sha256: "482957a15c34eb43b1d1ae5e7623444e4783a04d4c618d7c518fe7b3dbf75512" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-linux-x86_64" + sha256: "3d11c26fb9ba12c833844450bb90165b176e8a19cb5cf5923f3cec855837f17c" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-linux-arm64" + sha256: "16e41fe8fb791ffb9835643435e4828384a1890b0f916fd84b750fa01f783807" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-windows-x86_64.exe" + sha256: "3d119e934ffb26910fcbd44dbc5973761480f58d3a06722cb84a90e16d8c5727" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-windows-arm64.exe" + sha256: "3c23fccd3815933452c859e8482864598b6903d3143f9f18589915bf2c0dd2d4" + "4.0.0": - - url: "https://raw.githubusercontent.com/bazelbuild/bazel/4.0.0/LICENSE" - sha256: cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 - - url: "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-darwin-x86_64" - sha256: "349f3c9dd24191369c1073c57cc1386fc3c2d4ad7d44135c3d873c9dc67fae1f" - - url: "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-linux-x86_64" - sha256: "7bee349a626281fc8b8d04a7a0b0358492712377400ab12533aeb39c2eb2b901" - - url: "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-windows-x86_64.exe" - sha256: "43930bbbc8b5d618884ee8145e1ec181760bf9eea42d16217a30381d176e4cf6" + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/4.0.0/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-darwin-x86_64" + sha256: "349f3c9dd24191369c1073c57cc1386fc3c2d4ad7d44135c3d873c9dc67fae1f" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-linux-x86_64" + sha256: "7bee349a626281fc8b8d04a7a0b0358492712377400ab12533aeb39c2eb2b901" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-windows-x86_64.exe" + sha256: "43930bbbc8b5d618884ee8145e1ec181760bf9eea42d16217a30381d176e4cf6" diff --git a/recipes/bazel/all/conanfile.py b/recipes/bazel/all/conanfile.py index 710635dca3f71..f765c4a073f3c 100644 --- a/recipes/bazel/all/conanfile.py +++ b/recipes/bazel/all/conanfile.py @@ -1,53 +1,86 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, rename, download + +required_conan_version = ">=1.47.0" + class BazelConan(ConanFile): name = "bazel" + package_type = "application" description = "Bazel is a fast, scalable, multi-language and extensible build system." license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://bazel.build/" - topics = ("test", "build", "automation") - settings = "os", "arch" - no_copy_source = True + topics = ("test", "build", "automation", "pre-built") + settings = "os", "arch", "compiler", "build_type" - @property - def _program_suffix(self): - return ".exe" if self.settings.os == "Windows" else "" + def layout(self): + pass - def _chmod_plus_x(self, name): - os.chmod(name, os.stat(name).st_mode | 0o111) + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type @property - def _bazel_filename(self): - platform = "darwin" if self.settings.os == "Macos" else str(self.settings.os).lower() - return "bazel-{}-{}-{}{}".format(self.version, platform, self.settings.arch, self._program_suffix) + def _binary_info(self): + os = str(self.settings.os) + arch = str(self.settings.arch) + return self.conan_data["sources"][self.version][os].get(arch) def validate(self): - if self.settings.arch != "x86_64": - raise ConanInvalidConfiguration("Only amd64 is supported for this package.") if self.settings.os not in ["Linux", "Macos", "Windows"]: raise ConanInvalidConfiguration("Only Linux, Windows and OSX are supported for this package.") + if self._binary_info is None: + raise ConanInvalidConfiguration( + f"{self.settings.arch} architecture on {self.settings.os} is not supported for this package." + ) + + def source(self): + pass + + @property + def _bazel_filename(self): + return self._binary_info["url"].rsplit("/")[-1] def build(self): - for source in self.conan_data["sources"][self.version]: - url = source["url"] - filename = url[url.rfind("/") + 1:] - if filename in ["LICENSE", self._bazel_filename]: - tools.download(url, filename) - tools.check_sha256(filename, source["sha256"]) + download(self, **self._binary_info, filename=self._bazel_filename) + download(self, **self.conan_data["sources"][self.version]["license"], filename="LICENSE") + + @property + def _program_suffix(self): + return ".exe" if self.settings.os == "Windows" else "" + + @staticmethod + def _chmod_plus_x(name): + os.chmod(name, os.stat(name).st_mode | 0o111) def package(self): - self.copy(pattern="LICENSE", dst="licenses") - self.copy(pattern=self._bazel_filename, dst="bin") + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern=self._bazel_filename, + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder, + ) old_target_filename = os.path.join(self.package_folder, "bin", self._bazel_filename) new_target_filename = os.path.join(self.package_folder, "bin", "bazel" + self._program_suffix) - tools.rename(old_target_filename, new_target_filename) + rename(self, old_target_filename, new_target_filename) self._chmod_plus_x(new_target_filename) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable with : {0}".format(bin_path)) - self.env_info.path.append(bin_path) + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # 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/bazel/all/test_package/conanfile.py b/recipes/bazel/all/test_package/conanfile.py index 829753e7fee0f..5375af669ee12 100644 --- a/recipes/bazel/all/test_package/conanfile.py +++ b/recipes/bazel/all/test_package/conanfile.py @@ -1,9 +1,13 @@ -from conans import ConanFile +from conan import ConanFile -class TestPackage(ConanFile): - settings = "os", "arch" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" - def test(self): - self.run("bazel --version", run_environment=True) + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + def test(self): + self.run("bazel --version") diff --git a/recipes/bazel/config.yml b/recipes/bazel/config.yml index d2be8f453d7c0..e55e6b68a69ee 100644 --- a/recipes/bazel/config.yml +++ b/recipes/bazel/config.yml @@ -1,3 +1,5 @@ versions: + "6.2.0": + folder: all "4.0.0": folder: all From d999c3acbe01251ebe207e4b4c5ffcf528bdc2df Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Mon, 12 Jun 2023 10:02:03 -0400 Subject: [PATCH 0523/4087] (#17902) [grpc] do not depend on grpc-proto or googleapis --- .../all/conan_cmake_project_include.cmake | 14 - recipes/grpc/all/conandata.yml | 5 - recipes/grpc/all/conanfile.py | 26 +- ...002-consume-protos-from-requirements.patch | 290 ---------------- ...002-consume-protos-from-requirements.patch | 309 ----------------- ...002-consume-protos-from-requirements.patch | 327 ------------------ ...002-consume-protos-from-requirements.patch | 326 ----------------- 7 files changed, 6 insertions(+), 1291 deletions(-) delete mode 100644 recipes/grpc/all/patches/v1.46.x/002-consume-protos-from-requirements.patch delete mode 100644 recipes/grpc/all/patches/v1.47.x/002-consume-protos-from-requirements.patch delete mode 100644 recipes/grpc/all/patches/v1.48.x/002-consume-protos-from-requirements.patch delete mode 100644 recipes/grpc/all/patches/v1.50.x/002-consume-protos-from-requirements.patch diff --git a/recipes/grpc/all/conan_cmake_project_include.cmake b/recipes/grpc/all/conan_cmake_project_include.cmake index 0036126a38780..0d23c71e319ad 100644 --- a/recipes/grpc/all/conan_cmake_project_include.cmake +++ b/recipes/grpc/all/conan_cmake_project_include.cmake @@ -1,17 +1,3 @@ -find_package(grpc-proto CONFIG REQUIRED) -find_package(googleapis CONFIG REQUIRED) - -set(googleapis_RES_DIRS - $<$:${googleapis_RES_DIRS_RELEASE}> - $<$:${googleapis_RES_DIRS_RELWITHDEBINFO}> - $<$:${googleapis_RES_DIRS_MINSIZEREL}> - $<$:${googleapis_RES_DIRS_DEBUG}>) -set(grpc-proto_RES_DIRS - $<$:${grpc-proto_RES_DIRS_RELEASE}> - $<$:${grpc-proto_RES_DIRS_RELWITHDEBINFO}> - $<$:${grpc-proto_RES_DIRS_MINSIZEREL}> - $<$:${grpc-proto_RES_DIRS_DEBUG}>) - # TODO: move to a patch? It avoids link errors while resolving abseil symbols with gcc if (TARGET check_epollexclusive) set_target_properties(check_epollexclusive PROPERTIES LINKER_LANGUAGE CXX) diff --git a/recipes/grpc/all/conandata.yml b/recipes/grpc/all/conandata.yml index 80e0a549aa77c..afbe96ebd2a5e 100644 --- a/recipes/grpc/all/conandata.yml +++ b/recipes/grpc/all/conandata.yml @@ -14,16 +14,11 @@ sources: patches: "1.50.1": - patch_file: "patches/v1.50.x/001-disable-cppstd-override.patch" - - patch_file: "patches/v1.50.x/002-consume-protos-from-requirements.patch" "1.50.0": - patch_file: "patches/v1.50.x/001-disable-cppstd-override.patch" - - patch_file: "patches/v1.50.x/002-consume-protos-from-requirements.patch" "1.48.0": - patch_file: "patches/v1.48.x/001-disable-cppstd-override.patch" - - patch_file: "patches/v1.48.x/002-consume-protos-from-requirements.patch" "1.47.1": - patch_file: "patches/v1.47.x/001-disable-cppstd-override.patch" - - patch_file: "patches/v1.47.x/002-consume-protos-from-requirements.patch" "1.46.3": - patch_file: "patches/v1.46.x/001-disable-cppstd-override.patch" - - patch_file: "patches/v1.46.x/002-consume-protos-from-requirements.patch" diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index bdae7abad302a..3187b094b3559 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -77,8 +77,6 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") self.options["protobuf"].shared = True - self.options["googleapis"].shared = True - self.options["grpc-proto"].shared = True if cross_building(self): self.options["grpc"].shared = True @@ -97,8 +95,6 @@ def requirements(self): self.requires("re2/20230301") self.requires("zlib/1.2.13") self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True, run=can_run(self)) - self.requires("googleapis/cci.20230501") - self.requires("grpc-proto/cci.20220627") def package_id(self): del self.info.options.secure @@ -115,10 +111,10 @@ def validate(self): check_min_cppstd(self, self._cxxstd_required) if self.options.shared and \ - (not self.dependencies["protobuf"].options.shared or not self.dependencies["googleapis"].options.shared or not self.dependencies["grpc-proto"].options.shared): + (not self.dependencies["protobuf"].options.shared): raise ConanInvalidConfiguration( - "If built as shared, protobuf, googleapis and grpc-proto must be shared as well. " - "Please, use `protobuf:shared=True` and `googleapis:shared=True` and `grpc-proto:shared=True`", + "If built as shared protobuf must be shared as well. " + "Please, use `protobuf:shared=True`.", ) def build_requirements(self): @@ -149,7 +145,7 @@ def generate(self): tc.cache_variables["gRPC_BUILD_CODEGEN"] = self.options.codegen tc.cache_variables["gRPC_BUILD_CSHARP_EXT"] = self.options.csharp_ext - tc.cache_variables["gRPC_BUILD_TESTS"] = False + tc.cache_variables["gRPC_BUILD_TESTS"] = "OFF" # We need the generated cmake/ files (bc they depend on the list of targets, which is dynamic) tc.cache_variables["gRPC_INSTALL"] = True @@ -190,16 +186,6 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - # Clean existing proto files, they will be taken from requirements - shutil.rmtree(os.path.join(self.source_folder, "src", "proto", "grpc")) - - if Version(self.version) >= "1.47": - # Take googleapis from requirement instead of vendored/hardcoded version - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/googleapis)", - "if (FALSE) # Do not download, it is provided by Conan" - ) - # On macOS if all the following are true: # - protoc from protobuf has shared library dependencies # - grpc_cpp_plugin has shared library deps (when crossbuilding) @@ -388,12 +374,12 @@ def corefoundation(): components.update({ "grpc++_reflection": { "lib": "grpc++_reflection", - "requires": ["grpc++", "protobuf::libprotobuf", "grpc-proto::grpc-proto", "googleapis::googleapis"], + "requires": ["grpc++", "protobuf::libprotobuf"], "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), }, "grpcpp_channelz": { "lib": "grpcpp_channelz", - "requires": ["grpc++", "protobuf::libprotobuf", "grpc-proto::grpc-proto", "googleapis::googleapis"], + "requires": ["grpc++", "protobuf::libprotobuf"], "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), }, }) diff --git a/recipes/grpc/all/patches/v1.46.x/002-consume-protos-from-requirements.patch b/recipes/grpc/all/patches/v1.46.x/002-consume-protos-from-requirements.patch deleted file mode 100644 index ff27fa43b34ea..0000000000000 --- a/recipes/grpc/all/patches/v1.46.x/002-consume-protos-from-requirements.patch +++ /dev/null @@ -1,290 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2db10e5..612d2cf 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -329,7 +329,7 @@ function(protobuf_generate_grpc_cpp) - return() - endif() - -- set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) -+ set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR} -I ${googleapis_RES_DIRS} -I ${grpc-proto_RES_DIRS}) - foreach(FIL ${ARGN}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) -@@ -348,18 +348,15 @@ function(protobuf_generate_grpc_cpp) - OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" - COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} - ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} -- --cpp_out=${_gRPC_PROTO_GENS_DIR} - --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN} - ${_protobuf_include_path} -- ${REL_FIL} -- DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} ${_gRPC_CPP_PLUGIN} -+ ${FIL} -+ DEPENDS ${_gRPC_PROTOBUF_PROTOC} ${_gRPC_CPP_PLUGIN} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}" -- VERBATIM) -+ ) - endforeach() - endfunction() - -@@ -413,178 +410,28 @@ add_custom_target(tools - DEPENDS tools_c tools_cxx) - - protobuf_generate_grpc_cpp( -- src/proto/grpc/channelz/channelz.proto -+ grpc/channelz/v1/channelz.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/core/stats.proto -+ grpc/core/stats.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/health/v1/health.proto -+ grpc/health/v1/health.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/lb/v1/load_balancer.proto -+ grpc/lb/v1/load_balancer.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/lookup/v1/rls.proto -+ grpc/lookup/v1/rls.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/lookup/v1/rls_config.proto -+ grpc/lookup/v1/rls_config.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/reflection/v1alpha/reflection.proto -+ grpc/reflection/v1alpha/reflection.proto - ) - protobuf_generate_grpc_cpp( -- src/proto/grpc/status/status.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/benchmark_service.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/control.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/duplicate/echo_duplicate.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/echo.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/echo_messages.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/empty.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/messages.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/payloads.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/report_qps_scenario_service.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/simple_messages.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/stats.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/test.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/worker_service.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/ads_for_test.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/cds_for_test.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/eds_for_test.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/lds_rds_for_test.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/lrs_for_test.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/address.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/ads.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/aggregate_cluster.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/base.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/cluster.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/config_dump.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/config_source.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/csds.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/discovery.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/endpoint.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/expr.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/extension.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/fault.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/fault_common.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/http_connection_manager.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/http_filter_rbac.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/listener.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/load_report.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/lrs.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/metadata.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/orca_load_report.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/orca_service.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/path.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/percent.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/protocol.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/range.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/rbac.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/regex.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/route.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/router.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/string.proto --) --protobuf_generate_grpc_cpp( -- src/proto/grpc/testing/xds/v3/tls.proto -+ grpc/status/status.proto - ) - protobuf_generate_grpc_cpp( - test/core/tsi/alts/fake_handshaker/handshaker.proto -@@ -3275,10 +3122,8 @@ endif() - - if(gRPC_BUILD_CODEGEN) - add_library(grpc++_reflection -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.h - src/cpp/ext/proto_server_reflection.cc - src/cpp/ext/proto_server_reflection_plugin.cc - ) -@@ -3317,6 +3162,7 @@ target_link_libraries(grpc++_reflection - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -@@ -3872,10 +3718,8 @@ endif() - # See https://github.com/grpc/grpc/issues/19473 - if(gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE) - add_library(grpcpp_channelz -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.h - src/cpp/server/channelz/channelz_service.cc - src/cpp/server/channelz/channelz_service_plugin.cc - ) -@@ -3914,6 +3758,7 @@ target_link_libraries(grpcpp_channelz - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -diff --git a/src/cpp/ext/proto_server_reflection.h b/src/cpp/ext/proto_server_reflection.h -index 04f1e63..82837e8 100644 ---- a/src/cpp/ext/proto_server_reflection.h -+++ b/src/cpp/ext/proto_server_reflection.h -@@ -24,7 +24,7 @@ - - #include - --#include "src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h" -+#include "grpc/reflection/v1alpha/reflection.grpc.pb.h" - - namespace grpc { - -diff --git a/src/cpp/server/channelz/channelz_service.h b/src/cpp/server/channelz/channelz_service.h -index 824f0a9..bfa31a1 100644 ---- a/src/cpp/server/channelz/channelz_service.h -+++ b/src/cpp/server/channelz/channelz_service.h -@@ -23,7 +23,7 @@ - - #include - --#include "src/proto/grpc/channelz/channelz.grpc.pb.h" -+#include "grpc/channelz/v1/channelz.grpc.pb.h" - - namespace grpc { - diff --git a/recipes/grpc/all/patches/v1.47.x/002-consume-protos-from-requirements.patch b/recipes/grpc/all/patches/v1.47.x/002-consume-protos-from-requirements.patch deleted file mode 100644 index 9ead7f09de502..0000000000000 --- a/recipes/grpc/all/patches/v1.47.x/002-consume-protos-from-requirements.patch +++ /dev/null @@ -1,309 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c1eaeba..706e6d1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -445,7 +445,7 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - endif() - - # Sets the include path for ProtoBuf files -- set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) -+ set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR} -I ${googleapis_RES_DIRS} -I ${grpc-proto_RES_DIRS}) - # The absolute path of the expected place for the input proto file - # For example, health proto has package name grpc.health.v1, it's expected to be: - # ${_gRPC_PROTO_SRCS_DIR}/grpc/health/v1/health.proto -@@ -470,8 +470,8 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - # path. For example, health proto has package name grpc.health.v1, the bash - # equivalent would be: - # cp src/proto/grpc/health/v1/health.proto ${_gRPC_PROTO_SRCS_DIR}/grpc/health/v1 -- file(MAKE_DIRECTORY ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} DESTINATION ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -+ # file(MAKE_DIRECTORY ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -+ # file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} DESTINATION ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) - - #if cross-compiling, find host plugin - if(CMAKE_CROSSCOMPILING) -@@ -484,18 +484,15 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" - COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} - ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} -- --cpp_out=${_gRPC_PROTO_GENS_DIR} - --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN} - ${_protobuf_include_path} -- ${REL_FIL} -- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin -+ ${FILE_LOCATION} -+ DEPENDS ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin - WORKING_DIRECTORY ${_gRPC_PROTO_SRCS_DIR} -- COMMENT "Running gRPC C++ protocol buffer compiler for ${IMPORT_PATH}" -- VERBATIM) -+ COMMENT "Running gRPC C++ protocol buffer compiler for ${FILE_LOCATION}" -+ ) - endfunction() - - # These options allow users to enable or disable the building of the various -@@ -548,181 +545,28 @@ add_custom_target(tools - DEPENDS tools_c tools_cxx) - - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/core/stats.proto src/proto/grpc/core/stats.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/health/v1/health.proto src/proto/grpc/health/v1/health.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lb/v1/load_balancer.proto src/proto/grpc/lb/v1/load_balancer.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lookup/v1/rls.proto src/proto/grpc/lookup/v1/rls.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lookup/v1/rls_config.proto src/proto/grpc/lookup/v1/rls_config.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/reflection/v1alpha/reflection.proto src/proto/grpc/reflection/v1alpha/reflection.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/status/status.proto src/proto/grpc/status/status.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/benchmark_service.proto src/proto/grpc/testing/benchmark_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/control.proto src/proto/grpc/testing/control.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/duplicate/echo_duplicate.proto src/proto/grpc/testing/duplicate/echo_duplicate.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/echo.proto src/proto/grpc/testing/echo.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/echo_messages.proto src/proto/grpc/testing/echo_messages.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/empty.proto src/proto/grpc/testing/empty.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/messages.proto src/proto/grpc/testing/messages.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/payloads.proto src/proto/grpc/testing/payloads.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/report_qps_scenario_service.proto src/proto/grpc/testing/report_qps_scenario_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/simple_messages.proto src/proto/grpc/testing/simple_messages.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/stats.proto src/proto/grpc/testing/stats.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/test.proto src/proto/grpc/testing/test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/worker_service.proto src/proto/grpc/testing/worker_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/ads_for_test.proto src/proto/grpc/testing/xds/ads_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/cds_for_test.proto src/proto/grpc/testing/xds/cds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/eds_for_test.proto src/proto/grpc/testing/xds/eds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/lds_rds_for_test.proto src/proto/grpc/testing/xds/lds_rds_for_test.proto -+ grpc/channelz/v1/channelz.proto grpc/channelz/v1/channelz.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/lrs_for_test.proto src/proto/grpc/testing/xds/lrs_for_test.proto -+ grpc/core/stats.proto grpc/core/stats.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/address.proto src/proto/grpc/testing/xds/v3/address.proto -+ grpc/health/v1/health.proto grpc/health/v1/health.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/ads.proto src/proto/grpc/testing/xds/v3/ads.proto -+ grpc/lb/v1/load_balancer.proto grpc/lb/v1/load_balancer.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/aggregate_cluster.proto src/proto/grpc/testing/xds/v3/aggregate_cluster.proto -+ grpc/lookup/v1/rls.proto grpc/lookup/v1/rls.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/base.proto src/proto/grpc/testing/xds/v3/base.proto -+ grpc/lookup/v1/rls_config.proto grpc/lookup/v1/rls_config.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/cluster.proto src/proto/grpc/testing/xds/v3/cluster.proto -+ grpc/reflection/v1alpha/reflection.proto grpc/reflection/v1alpha/reflection.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/config_dump.proto src/proto/grpc/testing/xds/v3/config_dump.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/config_source.proto src/proto/grpc/testing/xds/v3/config_source.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/csds.proto src/proto/grpc/testing/xds/v3/csds.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/discovery.proto src/proto/grpc/testing/xds/v3/discovery.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/endpoint.proto src/proto/grpc/testing/xds/v3/endpoint.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/expr.proto src/proto/grpc/testing/xds/v3/expr.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/extension.proto src/proto/grpc/testing/xds/v3/extension.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/fault.proto src/proto/grpc/testing/xds/v3/fault.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/fault_common.proto src/proto/grpc/testing/xds/v3/fault_common.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/http_connection_manager.proto src/proto/grpc/testing/xds/v3/http_connection_manager.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/http_filter_rbac.proto src/proto/grpc/testing/xds/v3/http_filter_rbac.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/listener.proto src/proto/grpc/testing/xds/v3/listener.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/load_report.proto src/proto/grpc/testing/xds/v3/load_report.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/lrs.proto src/proto/grpc/testing/xds/v3/lrs.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/metadata.proto src/proto/grpc/testing/xds/v3/metadata.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/orca_load_report.proto src/proto/grpc/testing/xds/v3/orca_load_report.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/orca_service.proto src/proto/grpc/testing/xds/v3/orca_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/outlier_detection.proto src/proto/grpc/testing/xds/v3/outlier_detection.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/path.proto src/proto/grpc/testing/xds/v3/path.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/percent.proto src/proto/grpc/testing/xds/v3/percent.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/protocol.proto src/proto/grpc/testing/xds/v3/protocol.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/range.proto src/proto/grpc/testing/xds/v3/range.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/rbac.proto src/proto/grpc/testing/xds/v3/rbac.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/regex.proto src/proto/grpc/testing/xds/v3/regex.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/route.proto src/proto/grpc/testing/xds/v3/route.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/router.proto src/proto/grpc/testing/xds/v3/router.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/string.proto src/proto/grpc/testing/xds/v3/string.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/tls.proto src/proto/grpc/testing/xds/v3/tls.proto -+ grpc/status/status.proto grpc/status/status.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( - test/core/tsi/alts/fake_handshaker/handshaker.proto test/core/tsi/alts/fake_handshaker/handshaker.proto -@@ -3446,10 +3290,8 @@ endif() - - if(gRPC_BUILD_CODEGEN) - add_library(grpc++_reflection -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.h - src/cpp/ext/proto_server_reflection.cc - src/cpp/ext/proto_server_reflection_plugin.cc - ) -@@ -3488,6 +3330,7 @@ target_link_libraries(grpc++_reflection - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -@@ -4076,10 +3919,8 @@ endif() - # See https://github.com/grpc/grpc/issues/19473 - if(gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE) - add_library(grpcpp_channelz -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.h - src/cpp/server/channelz/channelz_service.cc - src/cpp/server/channelz/channelz_service_plugin.cc - ) -@@ -4118,6 +3959,7 @@ target_link_libraries(grpcpp_channelz - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -diff --git a/src/cpp/ext/proto_server_reflection.h b/src/cpp/ext/proto_server_reflection.h -index a9b5db0..528e75b 100644 ---- a/src/cpp/ext/proto_server_reflection.h -+++ b/src/cpp/ext/proto_server_reflection.h -@@ -29,8 +29,8 @@ - #include - #include - --#include "src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h" --#include "src/proto/grpc/reflection/v1alpha/reflection.pb.h" -+#include "grpc/reflection/v1alpha/reflection.grpc.pb.h" -+#include "grpc/reflection/v1alpha/reflection.pb.h" - - namespace grpc { - -diff --git a/src/cpp/server/channelz/channelz_service.h b/src/cpp/server/channelz/channelz_service.h -index 91936da..a84c57a 100644 ---- a/src/cpp/server/channelz/channelz_service.h -+++ b/src/cpp/server/channelz/channelz_service.h -@@ -24,8 +24,8 @@ - #include - #include - --#include "src/proto/grpc/channelz/channelz.grpc.pb.h" --#include "src/proto/grpc/channelz/channelz.pb.h" -+#include "grpc/channelz/v1/channelz.grpc.pb.h" -+#include "grpc/channelz/v1/channelz.pb.h" - - namespace grpc { - diff --git a/recipes/grpc/all/patches/v1.48.x/002-consume-protos-from-requirements.patch b/recipes/grpc/all/patches/v1.48.x/002-consume-protos-from-requirements.patch deleted file mode 100644 index 5fd52235a25e3..0000000000000 --- a/recipes/grpc/all/patches/v1.48.x/002-consume-protos-from-requirements.patch +++ /dev/null @@ -1,327 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7d23aa5..457188b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -451,7 +451,7 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - endif() - - # Sets the include path for ProtoBuf files -- set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) -+ set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR} -I ${googleapis_RES_DIRS} -I ${grpc-proto_RES_DIRS}) - # The absolute path of the expected place for the input proto file - # For example, health proto has package name grpc.health.v1, it's expected to be: - # ${_gRPC_PROTO_SRCS_DIR}/grpc/health/v1/health.proto -@@ -476,8 +476,8 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - # path. For example, health proto has package name grpc.health.v1, the bash - # equivalent would be: - # cp src/proto/grpc/health/v1/health.proto ${_gRPC_PROTO_SRCS_DIR}/grpc/health/v1 -- file(MAKE_DIRECTORY ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} DESTINATION ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -+ # file(MAKE_DIRECTORY ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -+ # file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} DESTINATION ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) - - #if cross-compiling, find host plugin - if(CMAKE_CROSSCOMPILING) -@@ -490,18 +490,15 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" - COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} - ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} -- --cpp_out=${_gRPC_PROTO_GENS_DIR} - --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN} - ${_protobuf_include_path} -- ${REL_FIL} -- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin -+ ${FILE_LOCATION} -+ DEPENDS ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin - WORKING_DIRECTORY ${_gRPC_PROTO_SRCS_DIR} -- COMMENT "Running gRPC C++ protocol buffer compiler for ${IMPORT_PATH}" -- VERBATIM) -+ COMMENT "Running gRPC C++ protocol buffer compiler for ${FILE_LOCATION}" -+ ) - endfunction() - - # These options allow users to enable or disable the building of the various -@@ -554,199 +551,28 @@ add_custom_target(tools - DEPENDS tools_c tools_cxx) - - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/core/stats.proto src/proto/grpc/core/stats.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/health/v1/health.proto src/proto/grpc/health/v1/health.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lb/v1/load_balancer.proto src/proto/grpc/lb/v1/load_balancer.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lookup/v1/rls.proto src/proto/grpc/lookup/v1/rls.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lookup/v1/rls_config.proto src/proto/grpc/lookup/v1/rls_config.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/reflection/v1alpha/reflection.proto src/proto/grpc/reflection/v1alpha/reflection.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/status/status.proto src/proto/grpc/status/status.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/benchmark_service.proto src/proto/grpc/testing/benchmark_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/control.proto src/proto/grpc/testing/control.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/duplicate/echo_duplicate.proto src/proto/grpc/testing/duplicate/echo_duplicate.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/echo.proto src/proto/grpc/testing/echo.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/echo_messages.proto src/proto/grpc/testing/echo_messages.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/empty.proto src/proto/grpc/testing/empty.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/istio_echo.proto src/proto/grpc/testing/istio_echo.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/messages.proto src/proto/grpc/testing/messages.proto -+ grpc/channelz/v1/channelz.proto grpc/channelz/v1/channelz.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/payloads.proto src/proto/grpc/testing/payloads.proto -+ grpc/core/stats.proto grpc/core/stats.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/report_qps_scenario_service.proto src/proto/grpc/testing/report_qps_scenario_service.proto -+ grpc/health/v1/health.proto grpc/health/v1/health.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/simple_messages.proto src/proto/grpc/testing/simple_messages.proto -+ grpc/lb/v1/load_balancer.proto grpc/lb/v1/load_balancer.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/stats.proto src/proto/grpc/testing/stats.proto -+ grpc/lookup/v1/rls.proto grpc/lookup/v1/rls.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/test.proto src/proto/grpc/testing/test.proto -+ grpc/lookup/v1/rls_config.proto grpc/lookup/v1/rls_config.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/worker_service.proto src/proto/grpc/testing/worker_service.proto -+ grpc/reflection/v1alpha/reflection.proto grpc/reflection/v1alpha/reflection.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/ads_for_test.proto src/proto/grpc/testing/xds/ads_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/cds_for_test.proto src/proto/grpc/testing/xds/cds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/eds_for_test.proto src/proto/grpc/testing/xds/eds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/lds_rds_for_test.proto src/proto/grpc/testing/xds/lds_rds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/lrs_for_test.proto src/proto/grpc/testing/xds/lrs_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/address.proto src/proto/grpc/testing/xds/v3/address.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/ads.proto src/proto/grpc/testing/xds/v3/ads.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/aggregate_cluster.proto src/proto/grpc/testing/xds/v3/aggregate_cluster.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/base.proto src/proto/grpc/testing/xds/v3/base.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/cluster.proto src/proto/grpc/testing/xds/v3/cluster.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/config_dump.proto src/proto/grpc/testing/xds/v3/config_dump.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/config_source.proto src/proto/grpc/testing/xds/v3/config_source.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/csds.proto src/proto/grpc/testing/xds/v3/csds.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/discovery.proto src/proto/grpc/testing/xds/v3/discovery.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/endpoint.proto src/proto/grpc/testing/xds/v3/endpoint.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/expr.proto src/proto/grpc/testing/xds/v3/expr.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/extension.proto src/proto/grpc/testing/xds/v3/extension.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/fault.proto src/proto/grpc/testing/xds/v3/fault.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/fault_common.proto src/proto/grpc/testing/xds/v3/fault_common.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/http_connection_manager.proto src/proto/grpc/testing/xds/v3/http_connection_manager.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/http_filter_rbac.proto src/proto/grpc/testing/xds/v3/http_filter_rbac.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/listener.proto src/proto/grpc/testing/xds/v3/listener.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/load_report.proto src/proto/grpc/testing/xds/v3/load_report.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/lrs.proto src/proto/grpc/testing/xds/v3/lrs.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/metadata.proto src/proto/grpc/testing/xds/v3/metadata.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/orca_load_report.proto src/proto/grpc/testing/xds/v3/orca_load_report.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/orca_service.proto src/proto/grpc/testing/xds/v3/orca_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/outlier_detection.proto src/proto/grpc/testing/xds/v3/outlier_detection.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/path.proto src/proto/grpc/testing/xds/v3/path.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/percent.proto src/proto/grpc/testing/xds/v3/percent.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/protocol.proto src/proto/grpc/testing/xds/v3/protocol.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/range.proto src/proto/grpc/testing/xds/v3/range.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/rbac.proto src/proto/grpc/testing/xds/v3/rbac.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/regex.proto src/proto/grpc/testing/xds/v3/regex.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/ring_hash.proto src/proto/grpc/testing/xds/v3/ring_hash.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/round_robin.proto src/proto/grpc/testing/xds/v3/round_robin.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/route.proto src/proto/grpc/testing/xds/v3/route.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/router.proto src/proto/grpc/testing/xds/v3/router.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/string.proto src/proto/grpc/testing/xds/v3/string.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/tls.proto src/proto/grpc/testing/xds/v3/tls.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/typed_struct.proto src/proto/grpc/testing/xds/v3/typed_struct.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/udpa_typed_struct.proto src/proto/grpc/testing/xds/v3/udpa_typed_struct.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/wrr_locality.proto src/proto/grpc/testing/xds/v3/wrr_locality.proto -+ src/proto/grpc/status/status.proto grpc/status/status.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto -@@ -3497,10 +3323,8 @@ endif() - - if(gRPC_BUILD_CODEGEN) - add_library(grpc++_reflection -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.h - src/cpp/ext/proto_server_reflection.cc - src/cpp/ext/proto_server_reflection_plugin.cc - ) -@@ -3539,6 +3363,7 @@ target_link_libraries(grpc++_reflection - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -@@ -4096,10 +3921,8 @@ endif() - # See https://github.com/grpc/grpc/issues/19473 - if(gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE) - add_library(grpcpp_channelz -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.h - src/cpp/server/channelz/channelz_service.cc - src/cpp/server/channelz/channelz_service_plugin.cc - ) -@@ -4138,6 +3961,7 @@ target_link_libraries(grpcpp_channelz - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -diff --git a/src/cpp/ext/proto_server_reflection.h b/src/cpp/ext/proto_server_reflection.h -index a9b5db0..528e75b 100644 ---- a/src/cpp/ext/proto_server_reflection.h -+++ b/src/cpp/ext/proto_server_reflection.h -@@ -29,8 +29,8 @@ - #include - #include - --#include "src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h" --#include "src/proto/grpc/reflection/v1alpha/reflection.pb.h" -+#include "grpc/reflection/v1alpha/reflection.grpc.pb.h" -+#include "grpc/reflection/v1alpha/reflection.pb.h" - - namespace grpc { - -diff --git a/src/cpp/server/channelz/channelz_service.h b/src/cpp/server/channelz/channelz_service.h -index 91936da..a84c57a 100644 ---- a/src/cpp/server/channelz/channelz_service.h -+++ b/src/cpp/server/channelz/channelz_service.h -@@ -24,8 +24,8 @@ - #include - #include - --#include "src/proto/grpc/channelz/channelz.grpc.pb.h" --#include "src/proto/grpc/channelz/channelz.pb.h" -+#include "grpc/channelz/v1/channelz.grpc.pb.h" -+#include "grpc/channelz/v1/channelz.pb.h" - - namespace grpc { - diff --git a/recipes/grpc/all/patches/v1.50.x/002-consume-protos-from-requirements.patch b/recipes/grpc/all/patches/v1.50.x/002-consume-protos-from-requirements.patch deleted file mode 100644 index 515291213b267..0000000000000 --- a/recipes/grpc/all/patches/v1.50.x/002-consume-protos-from-requirements.patch +++ /dev/null @@ -1,326 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 259fa93..fb05774 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -452,7 +452,7 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - endif() - - # Sets the include path for ProtoBuf files -- set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) -+ set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR} -I ${googleapis_RES_DIRS} -I ${grpc-proto_RES_DIRS}) - # The absolute path of the expected place for the input proto file - # For example, health proto has package name grpc.health.v1, it's expected to be: - # ${_gRPC_PROTO_SRCS_DIR}/grpc/health/v1/health.proto -@@ -477,8 +477,6 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - # path. For example, health proto has package name grpc.health.v1, the bash - # equivalent would be: - # cp src/proto/grpc/health/v1/health.proto ${_gRPC_PROTO_SRCS_DIR}/grpc/health/v1 -- file(MAKE_DIRECTORY ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) -- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} DESTINATION ${_gRPC_PROTO_SRCS_DIR}/${REL_DIR}) - - #if cross-compiling, find host plugin - if(CMAKE_CROSSCOMPILING) -@@ -491,18 +489,15 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM - OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" - "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" -- "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" - COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} - ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} -- --cpp_out=${_gRPC_PROTO_GENS_DIR} - --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN} - ${_protobuf_include_path} -- ${REL_FIL} -- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION} ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} ${_gRPC_CPP_PLUGIN} -+ ${FILE_LOCATION} -+ DEPENDS ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin - WORKING_DIRECTORY ${_gRPC_PROTO_SRCS_DIR} -- COMMENT "Running gRPC C++ protocol buffer compiler for ${IMPORT_PATH}" -- VERBATIM) -+ COMMENT "Running gRPC C++ protocol buffer compiler for ${FILE_LOCATION}" -+ ) - endfunction() - - # These options allow users to enable or disable the building of the various -@@ -554,199 +549,28 @@ add_custom_target(tools - DEPENDS tools_c tools_cxx) - - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/core/stats.proto src/proto/grpc/core/stats.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/health/v1/health.proto src/proto/grpc/health/v1/health.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lb/v1/load_balancer.proto src/proto/grpc/lb/v1/load_balancer.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lookup/v1/rls.proto src/proto/grpc/lookup/v1/rls.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/lookup/v1/rls_config.proto src/proto/grpc/lookup/v1/rls_config.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/reflection/v1alpha/reflection.proto src/proto/grpc/reflection/v1alpha/reflection.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/status/status.proto src/proto/grpc/status/status.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/benchmark_service.proto src/proto/grpc/testing/benchmark_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/control.proto src/proto/grpc/testing/control.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/duplicate/echo_duplicate.proto src/proto/grpc/testing/duplicate/echo_duplicate.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/echo.proto src/proto/grpc/testing/echo.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/echo_messages.proto src/proto/grpc/testing/echo_messages.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/empty.proto src/proto/grpc/testing/empty.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/istio_echo.proto src/proto/grpc/testing/istio_echo.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/messages.proto src/proto/grpc/testing/messages.proto -+ grpc/channelz/v1/channelz.proto grpc/channelz/v1/channelz.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/payloads.proto src/proto/grpc/testing/payloads.proto -+ grpc/core/stats.proto grpc/core/stats.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/report_qps_scenario_service.proto src/proto/grpc/testing/report_qps_scenario_service.proto -+ grpc/health/v1/health.proto grpc/health/v1/health.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/simple_messages.proto src/proto/grpc/testing/simple_messages.proto -+ grpc/lb/v1/load_balancer.proto grpc/lb/v1/load_balancer.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/stats.proto src/proto/grpc/testing/stats.proto -+ grpc/lookup/v1/rls.proto grpc/lookup/v1/rls.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/test.proto src/proto/grpc/testing/test.proto -+ grpc/lookup/v1/rls_config.proto grpc/lookup/v1/rls_config.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/worker_service.proto src/proto/grpc/testing/worker_service.proto -+ grpc/reflection/v1alpha/reflection.proto grpc/reflection/v1alpha/reflection.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/ads_for_test.proto src/proto/grpc/testing/xds/ads_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/cds_for_test.proto src/proto/grpc/testing/xds/cds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/eds_for_test.proto src/proto/grpc/testing/xds/eds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/lds_rds_for_test.proto src/proto/grpc/testing/xds/lds_rds_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/lrs_for_test.proto src/proto/grpc/testing/xds/lrs_for_test.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/address.proto src/proto/grpc/testing/xds/v3/address.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/ads.proto src/proto/grpc/testing/xds/v3/ads.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/aggregate_cluster.proto src/proto/grpc/testing/xds/v3/aggregate_cluster.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/base.proto src/proto/grpc/testing/xds/v3/base.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/cluster.proto src/proto/grpc/testing/xds/v3/cluster.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/config_dump.proto src/proto/grpc/testing/xds/v3/config_dump.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/config_source.proto src/proto/grpc/testing/xds/v3/config_source.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/csds.proto src/proto/grpc/testing/xds/v3/csds.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/discovery.proto src/proto/grpc/testing/xds/v3/discovery.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/endpoint.proto src/proto/grpc/testing/xds/v3/endpoint.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/expr.proto src/proto/grpc/testing/xds/v3/expr.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/extension.proto src/proto/grpc/testing/xds/v3/extension.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/fault.proto src/proto/grpc/testing/xds/v3/fault.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/fault_common.proto src/proto/grpc/testing/xds/v3/fault_common.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/http_connection_manager.proto src/proto/grpc/testing/xds/v3/http_connection_manager.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/http_filter_rbac.proto src/proto/grpc/testing/xds/v3/http_filter_rbac.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/listener.proto src/proto/grpc/testing/xds/v3/listener.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/load_report.proto src/proto/grpc/testing/xds/v3/load_report.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/lrs.proto src/proto/grpc/testing/xds/v3/lrs.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/metadata.proto src/proto/grpc/testing/xds/v3/metadata.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/orca_load_report.proto src/proto/grpc/testing/xds/v3/orca_load_report.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/orca_service.proto src/proto/grpc/testing/xds/v3/orca_service.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/outlier_detection.proto src/proto/grpc/testing/xds/v3/outlier_detection.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/path.proto src/proto/grpc/testing/xds/v3/path.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/percent.proto src/proto/grpc/testing/xds/v3/percent.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/protocol.proto src/proto/grpc/testing/xds/v3/protocol.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/range.proto src/proto/grpc/testing/xds/v3/range.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/rbac.proto src/proto/grpc/testing/xds/v3/rbac.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/regex.proto src/proto/grpc/testing/xds/v3/regex.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/ring_hash.proto src/proto/grpc/testing/xds/v3/ring_hash.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/round_robin.proto src/proto/grpc/testing/xds/v3/round_robin.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/route.proto src/proto/grpc/testing/xds/v3/route.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/router.proto src/proto/grpc/testing/xds/v3/router.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/string.proto src/proto/grpc/testing/xds/v3/string.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/tls.proto src/proto/grpc/testing/xds/v3/tls.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/typed_struct.proto src/proto/grpc/testing/xds/v3/typed_struct.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/udpa_typed_struct.proto src/proto/grpc/testing/xds/v3/udpa_typed_struct.proto --) --protobuf_generate_grpc_cpp_with_import_path_correction( -- src/proto/grpc/testing/xds/v3/wrr_locality.proto src/proto/grpc/testing/xds/v3/wrr_locality.proto -+ src/proto/grpc/status/status.proto grpc/status/status.proto - ) - protobuf_generate_grpc_cpp_with_import_path_correction( - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto -@@ -3536,10 +3360,8 @@ endif() - - if(gRPC_BUILD_CODEGEN) - add_library(grpc++_reflection -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/reflection/v1alpha/reflection.grpc.pb.h - src/cpp/ext/proto_server_reflection.cc - src/cpp/ext/proto_server_reflection_plugin.cc - ) -@@ -3578,6 +3400,7 @@ target_link_libraries(grpc++_reflection - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -@@ -4149,10 +3972,8 @@ endif() - # See https://github.com/grpc/grpc/issues/19473 - if(gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE) - add_library(grpcpp_channelz -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h -- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.cc -+ ${_gRPC_PROTO_GENS_DIR}/grpc/channelz/v1/channelz.grpc.pb.h - src/cpp/server/channelz/channelz_service.cc - src/cpp/server/channelz/channelz_service_plugin.cc - ) -@@ -4191,6 +4012,7 @@ target_link_libraries(grpcpp_channelz - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -+ grpc-proto::grpc-proto - ) - - foreach(_hdr -diff --git a/src/cpp/ext/proto_server_reflection.h b/src/cpp/ext/proto_server_reflection.h -index a9b5db0..528e75b 100644 ---- a/src/cpp/ext/proto_server_reflection.h -+++ b/src/cpp/ext/proto_server_reflection.h -@@ -29,8 +29,8 @@ - #include - #include - --#include "src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h" --#include "src/proto/grpc/reflection/v1alpha/reflection.pb.h" -+#include "grpc/reflection/v1alpha/reflection.grpc.pb.h" -+#include "grpc/reflection/v1alpha/reflection.pb.h" - - namespace grpc { - -diff --git a/src/cpp/server/channelz/channelz_service.h b/src/cpp/server/channelz/channelz_service.h -index 91936da..0172493 100644 ---- a/src/cpp/server/channelz/channelz_service.h -+++ b/src/cpp/server/channelz/channelz_service.h -@@ -24,8 +24,9 @@ - #include - #include - --#include "src/proto/grpc/channelz/channelz.grpc.pb.h" --#include "src/proto/grpc/channelz/channelz.pb.h" -+#include "grpc/channelz/v1/channelz.grpc.pb.h" -+#include "grpc/channelz/v1/channelz.pb.h" -+ - - namespace grpc { - From 6a8da45366aa89bc829ce542be8231c3cfcc26f9 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Jun 2023 17:22:14 +0200 Subject: [PATCH 0524/4087] (#17910) [bot] Update authorized users list (2023-06-12) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 7f2fea31023a4..060e988ef045a 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1173,3 +1173,4 @@ authorized_users: - cjbradfield - ssrobins - Ohjurot +- nbukuli From 4801546bf5992bc0a9b6a8bece142043a051f40f Mon Sep 17 00:00:00 2001 From: Marek Kwasecki Date: Mon, 12 Jun 2023 17:42:22 +0200 Subject: [PATCH 0525/4087] (#17835) libmemcached: Fix recipe logic Moor's law, doh! Due to peculiarity of how conan stores old conanfile.py in ~/.conan local tests passed. I suspect a bug in github pipeline that allowed it to be merged with a flaw Co-authored-by: James --- recipes/libmemcached/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmemcached/all/conanfile.py b/recipes/libmemcached/all/conanfile.py index 8fb59fdd42cd6..0288b9bb0fd69 100644 --- a/recipes/libmemcached/all/conanfile.py +++ b/recipes/libmemcached/all/conanfile.py @@ -52,7 +52,7 @@ def layout(self): basic_layout(self, src_folder="src") def validate(self): - if self.settings.os not in ["Linux", "FreeBSD"] or not is_apple_os(self): + if self.settings.os not in ["Linux", "FreeBSD"] and not is_apple_os(self): raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") def _patch_source(self): From f895a1175717788fed8defb769f78d113e0936b9 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 12 Jun 2023 19:43:30 +0200 Subject: [PATCH 0526/4087] (#17539) [qt/6.x.x] V2 migration * Remove qt/6.2.4 * [qt/6.x.x] Conan v2 * Remove Qt < 6.3.2 specific checks * Improve bash environment script for macOS * Remove _build_context() * Improve package_id * Improve openssl and sqlite3 options management * fix options deletion * remove unused import * self.output.warn() -> self.output.warning() * Add test_v1_package * Apply suggestions from code review Co-authored-by: Uilian Ries --------- Co-authored-by: ericLemanissier Co-authored-by: Uilian Ries --- recipes/qt/6.x.x/conandata.yml | 33 --- recipes/qt/6.x.x/conanfile.py | 254 ++++++------------ recipes/qt/6.x.x/patches/138a720.diff | 21 -- recipes/qt/6.x.x/patches/32451d5.diff | 32 --- .../CVE-2022-1096-qtwebengine-6.2.diff | 27 -- .../patches/CVE-2022-25255-qprocess6-2.diff | 25 -- .../qt/6.x.x/patches/CVE-2022-25643-6.2.diff | 73 ----- recipes/qt/6.x.x/patches/d13958d_.diff | 23 -- recipes/qt/6.x.x/test_package/conanfile.py | 29 +- .../qt/6.x.x/test_v1_package/CMakeLists.txt | 25 ++ recipes/qt/6.x.x/test_v1_package/conanfile.py | 145 ++++++++++ recipes/qt/6.x.x/test_v1_package/meson.build | 6 + .../qt/6.x.x/test_v1_package/test_package.pro | 14 + recipes/qt/config.yml | 2 - 14 files changed, 295 insertions(+), 414 deletions(-) delete mode 100644 recipes/qt/6.x.x/patches/138a720.diff delete mode 100644 recipes/qt/6.x.x/patches/32451d5.diff delete mode 100644 recipes/qt/6.x.x/patches/CVE-2022-1096-qtwebengine-6.2.diff delete mode 100644 recipes/qt/6.x.x/patches/CVE-2022-25255-qprocess6-2.diff delete mode 100644 recipes/qt/6.x.x/patches/CVE-2022-25643-6.2.diff delete mode 100644 recipes/qt/6.x.x/patches/d13958d_.diff create mode 100644 recipes/qt/6.x.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/qt/6.x.x/test_v1_package/conanfile.py create mode 100644 recipes/qt/6.x.x/test_v1_package/meson.build create mode 100644 recipes/qt/6.x.x/test_v1_package/test_package.pro diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index b3b89583f4ce5..6df3996bdfa44 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -41,14 +41,6 @@ sources: - "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" - "6.2.4": - url: - - "https://download.qt.io/archive/qt/6.2/6.2.4/single/qt-everywhere-src-6.2.4.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.2/6.2.4/single/qt-everywhere-src-6.2.4.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.2/6.2.4/single/qt-everywhere-src-6.2.4.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.2/6.2.4/single/qt-everywhere-src-6.2.4.tar.xz" - - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.2/6.2.4/single/qt-everywhere-src-6.2.4.tar.xz" - sha256: "cfe41905b6bde3712c65b102ea3d46fc80a44c9d1487669f14e4a6ee82ebb8fd" patches: "6.5.0": - base_path: "qtwebengine" @@ -95,28 +87,3 @@ patches: patch_description: "Fix PCRE2 detection" patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/445885" patch_type: "bugfix" - "6.2.4": - - base_path: "qtdeclarative" - patch_description: "Directly include Unicode.h in YarrCanonicalize.h" - patch_file: "patches/32451d5.diff" - - base_path: "qtbase/cmake" - patch_description: "Fix pri helpers" - patch_file: "patches/qt6-pri-helpers-fix.diff" - - patch_file: "patches/c72097e.diff" - base_path: "qtwebengine" - patch_description: "Workaround for too long .rps file name" - - patch_file: "patches/138a720.diff" - base_path: "qtwebengine/src/3rdparty" - patch_description: "Fix build with msvc2019 16.8.0" - - patch_file: "patches/CVE-2022-1096-qtwebengine-6.2.diff" - base_path: "qtwebengine" - patch_description: "Fix Chromium callback" - - patch_file: "patches/CVE-2022-25255-qprocess6-2.diff" - base_path: "qtbase" - patch_description: "Fix executable path resolution" - - patch_file: "patches/CVE-2022-25643-6.2.diff" - base_path: "qtbase" - patch_description: "Fix DLL path" - - patch_file: "patches/d13958d_.diff" - base_path: "qtbase" - patch_description: "Fix PCRE2 detection" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 7e85ec64558ae..14de16b485078 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -1,5 +1,3 @@ -from contextlib import contextmanager - import configparser import glob import os @@ -8,51 +6,17 @@ from conan import ConanFile from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.build import cross_building, check_min_cppstd, build_jobs, default_cppstd -from conan.tools.env import VirtualBuildEnv, Environment +from conan.tools.build import cross_building, check_min_cppstd, default_cppstd +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv, Environment from conan.tools.files import copy, get, replace_in_file, apply_conandata_patches, save, rm, rmdir, export_conandata_patches from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import msvc_runtime_flag, is_msvc from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -from conans import RunEnvironment, tools -from conans.model import Generator required_conan_version = ">=1.55.0" -class qt(Generator): - @staticmethod - def content_template(path, folder, os_): - bin_folder = "bin" if os_ == "Windows" else "libexec" - return textwrap.dedent(f"""\ - [Paths] - Prefix = {path} - ArchData = {folder}/archdatadir - HostData = {folder}/archdatadir - Data = {folder}/datadir - Sysconf = {folder}/sysconfdir - LibraryExecutables = {folder}/archdatadir/{bin_folder} - HostLibraryExecutables = bin - Plugins = {folder}/archdatadir/plugins - Imports = {folder}/archdatadir/imports - Qml2Imports = {folder}/archdatadir/qml - Translations = {folder}/datadir/translations - Documentation = {folder}/datadir/doc - Examples = {folder}/datadir/examples""") - - @property - def filename(self): - return "qt.conf" - - @property - def content(self): - return qt.content_template( - self.conanfile.deps_cpp_info["qt"].rootpath.replace("\\", "/"), - "res", - self.conanfile.settings.os) - - class QtConan(ConanFile): _submodules = ["qtsvg", "qtdeclarative", "qttools", "qttranslations", "qtdoc", "qtwayland","qtquickcontrols2", "qtquicktimeline", "qtquick3d", "qtshadertools", "qt5compat", @@ -103,11 +67,11 @@ class QtConan(ConanFile): "gui": [True, False], "widgets": [True, False], - "device": "ANY", - "cross_compile": "ANY", - "sysroot": "ANY", + "device": [None, "ANY"], + "cross_compile": [None, "ANY"], + "sysroot": [None, "ANY"], "multiconfiguration": [True, False], - "disabled_features": "ANY", + "disabled_features": [None, "ANY"], } options.update({module: [True, False] for module in _submodules}) @@ -158,6 +122,10 @@ class QtConan(ConanFile): _submodules_tree = None + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + @property def _get_module_tree(self): if self._submodules_tree: @@ -222,15 +190,15 @@ def configure(self): del self.options.opengl del self.options.with_vulkan del self.options.with_freetype - del self.options.with_fontconfig + self.options.rm_safe("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("with_x11") if not self.options.get_safe("qtmultimedia"): - del self.options.with_libalsa + self.options.rm_safe("with_libalsa") del self.options.with_openal del self.options.with_gstreamer del self.options.with_pulseaudio @@ -264,7 +232,7 @@ def validate(self): check_min_cppstd(self, 17) minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warn("C++17 support required. Your compiler is unknown. Assuming it supports C++17.") + self.output.warning("C++17 support required. Your compiler is unknown. Assuming it supports C++17.") elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") @@ -274,12 +242,9 @@ def validate(self): if Version(self.version) >= "6.4.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "12": raise ConanInvalidConfiguration("apple-clang >= 12 required by qt >= 6.4.0") - if Version(self.version) >= "6.3.0" and self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): + if self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): raise ConanInvalidConfiguration("Qt needs recent libstdc++, with charconv. please switch to gcc, or to libc++") - if Version(self.version) < "6.3.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) >= "11": - raise ConanInvalidConfiguration("Qt lower then 6.3.0 needs to be compiled for gcc with a version lower then 11") - if self.options.get_safe("qtwebengine"): if not self.options.shared: raise ConanInvalidConfiguration("Static builds of Qt WebEngine are not supported") @@ -292,42 +257,6 @@ def validate(self): if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross compiling Qt WebEngine is not supported") - if Version(self.version) < "6.3.0": - # Check if a valid python2 is available in PATH or it will failflex - # Start by checking if python2 can be found - python_exe = tools.which("python2") - if not python_exe: - # Fall back on regular python - python_exe = tools.which("python") - - if not python_exe: - msg = ("Python2 must be available in PATH " - "in order to build Qt WebEngine") - 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, output=mybuf) - verstr = mybuf.getvalue().strip().split("Python ")[1] - if verstr.endswith("+"): - verstr = verstr[:-1] - version = Version(verstr) - # >= 2.7.5 & < 3 - v_min = "2.7.5" - v_max = "3.0.0" - if v_min <= version < v_max: - msg = ("Found valid Python 2 required for QtWebengine:" - f" version={mybuf.getvalue()}, path={python_exe}") - self.output.success(msg) - else: - msg = (f"Found Python 2 in path, but with invalid version {verstr}" - f" (QtWebEngine requires >= {v_min} & < " - f"{v_max})\nIf you have both Python 2 and 3 installed, copy the python 2 executable to" - f"python2(.exe)") - raise ConanInvalidConfiguration(msg) - if self.options.widgets and not self.options.gui: raise ConanInvalidConfiguration("using option qt:widgets without option qt:gui is not possible. " "You can either disable qt:widgets or enable qt:gui") @@ -359,6 +288,9 @@ def validate(self): if cross_building(self): raise ConanInvalidConfiguration("cross compiling qt 6 is not yet supported. Contributions are welcome") + if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: + raise ConanInvalidConfiguration("sqlite3 option enable_column_metadata must be enabled for qt") + def layout(self): cmake_layout(self, src_folder="src") @@ -393,7 +325,6 @@ def requirements(self): self.requires("libpng/1.6.39") if self.options.with_sqlite3 and not self.options.multiconfiguration: self.requires("sqlite3/3.41.1") - self.options["sqlite3"].enable_column_metadata = True if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.0.31") if self.options.with_pq: @@ -480,10 +411,27 @@ def generate(self): pc = PkgConfigDeps(self) pc.generate() + vbe = VirtualBuildEnv(self) + vbe.generate() + if not cross_building(self): + vre = VirtualRunEnv(self) + vre.generate(scope="build") # TODO: to remove when properly handled by conan (see https://github.com/conan-io/conan/issues/11962) env = Environment() env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) env.vars(self).save_script("conanbuildenv_pkg_config_path") + if self._settings_build.os == "Macos": + # On macOS, SIP resets DYLD_LIBRARY_PATH injected by VirtualBuildEnv & VirtualRunEnv + dyld_library_path = "$DYLD_LIBRARY_PATH" + dyld_library_path_build = vbe.vars().get("DYLD_LIBRARY_PATH") + if dyld_library_path_build: + dyld_library_path = f"{dyld_library_path_build}:{dyld_library_path}" + if not cross_building(self): + dyld_library_path_host = vre.vars().get("DYLD_LIBRARY_PATH") + if dyld_library_path_host: + dyld_library_path = f"{dyld_library_path_host}:{dyld_library_path}" + save(self, "bash_env", f'export DYLD_LIBRARY_PATH="{dyld_library_path}"') + env.define_path("BASH_ENV", os.path.abspath("bash_env")) tc = CMakeToolchain(self, generator="Ninja") @@ -517,7 +465,7 @@ def generate(self): tc.variables["INPUT_openssl"] = "no" else: tc.variables["HAVE_openssl"] = "ON" - if self.options["openssl"].shared: + if self.dependencies["openssl"].options.shared: tc.variables["INPUT_openssl"] = "runtime" tc.variables["QT_FEATURE_openssl_runtime"] = "ON" else: @@ -605,7 +553,7 @@ def generate(self): if xplatform_val: tc.variables["QT_QMAKE_TARGET_MKSPEC"] = xplatform_val else: - self.output.warn(f"host not supported: {self.settings.os} {self.settings.compiler} {self.settings.compiler.version} {self.settings.arch}") + self.output.warning(f"host not supported: {self.settings.os} {self.settings.compiler} {self.settings.compiler.version} {self.settings.arch}") if self.options.cross_compile: tc.variables["QT_QMAKE_DEVICE_OPTIONS"] = f"CROSS_COMPILE={self.options.cross_compile}" @@ -631,6 +579,20 @@ def generate(self): tc.generate() + def package_id(self): + del self.info.options.cross_compile + del self.info.options.sysroot + if self.info.options.multiconfiguration: + if self.info.settings.compiler == "Visual Studio": + if "MD" in self.info.settings.compiler.runtime: + self.info.settings.compiler.runtime = "MD/MDd" + else: + self.info.settings.compiler.runtime = "MT/MTd" + elif self.info.settings.compiler == "msvc": + self.info.settings.compiler.runtime_type = "Release/Debug" + if self.info.settings.os == "Android": + del self.info.options.android_sdk + def source(self): destination = self.source_folder if self.settings.os == "Windows": @@ -642,12 +604,11 @@ def source(self): # patching in source method because of no_copy_source attribute apply_conandata_patches(self) - if Version(self.version) >= "6.2.0": - for f in ["renderer", os.path.join("renderer", "core"), os.path.join("renderer", "platform")]: - replace_in_file(self, os.path.join(self.source_folder, "qtwebengine", "src", "3rdparty", "chromium", "third_party", "blink", f, "BUILD.gn"), - " if (enable_precompiled_headers) {\n if (is_win) {", - " if (enable_precompiled_headers) {\n if (false) {" - ) + for f in ["renderer", os.path.join("renderer", "core"), os.path.join("renderer", "platform")]: + replace_in_file(self, os.path.join(self.source_folder, "qtwebengine", "src", "3rdparty", "chromium", "third_party", "blink", f, "BUILD.gn"), + " if (enable_precompiled_headers) {\n if (is_win) {", + " if (enable_precompiled_headers) {\n if (false) {" + ) replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", "QtInternalTargets.cmake"), "-Zc:wchar_t", @@ -658,12 +619,10 @@ def source(self): os.remove(file) # workaround QTBUG-94356 - if Version(self.version) >= "6.1.1": - zlib_file_name = "FindWrapSystemZLIB.cmake" if Version(self.version) >= "6.3.1" else "FindWrapZLIB.cmake" - replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", zlib_file_name), '"-lz"', 'ZLIB::ZLIB') - replace_in_file(self, os.path.join(self.source_folder, "qtbase", "configure.cmake"), - "set_property(TARGET ZLIB::ZLIB PROPERTY IMPORTED_GLOBAL TRUE)", - "") + replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", "FindWrapSystemZLIB.cmake"), '"-lz"', 'ZLIB::ZLIB') + replace_in_file(self, os.path.join(self.source_folder, "qtbase", "configure.cmake"), + "set_property(TARGET ZLIB::ZLIB PROPERTY IMPORTED_GLOBAL TRUE)", + "") if Version(self.version) <= "6.4.0": # use official variable name https://cmake.org/cmake/help/latest/module/FindFontconfig.html replace_in_file(self, os.path.join(self.source_folder, "qtbase", "src", "gui", "configure.cmake"), "FONTCONFIG_FOUND", "Fontconfig_FOUND") @@ -766,41 +725,13 @@ def _xplatform(self): return None - @contextmanager - def _build_context(self): - with tools.vcvars(self) if is_msvc(self) else tools.no_op(): - # next lines force cmake package to be in PATH before the one provided by visual studio (vcvars) - build_env = tools.RunEnvironment(self).vars if is_msvc(self) else {} - build_env["MAKEFLAGS"] = f"j{build_jobs(self)}" - build_env["PKG_CONFIG_PATH"] = [self.build_folder] - if self.settings.os == "Windows": - if "PATH" not in build_env: - build_env["PATH"] = [] - build_env["PATH"].append(os.path.join(self.source_folder, "gnuwin32", "bin")) - if is_msvc(self): - # this avoids cmake using gcc from strawberryperl - build_env["CC"] = "cl" - build_env["CXX"] = "cl" - with tools.environment_append(build_env): - - if self.settings.os == "Macos": - save(self, ".qmake.stash" , "") - save(self, ".qmake.super" , "") - yield - def build(self): - with self._build_context(): - cmake = CMake(self) - cmake.configure() - if self.settings.os == "Macos": - dyld_library_path = ":".join(RunEnvironment(self).vars["DYLD_LIBRARY_PATH"]) - save(self, "bash_env", f"export DYLD_LIBRARY_PATH=\"{dyld_library_path}\"") - with tools.environment_append({ - "BASH_ENV": os.path.abspath("bash_env") - }) if self.settings.os == "Macos" else tools.no_op(): - with tools.run_environment(self): - with tools.remove_from_path("perl") if self.settings.os == "Windows" else tools.no_op(): - cmake.build() + if self.settings.os == "Macos": + save(self, ".qmake.stash" , "") + save(self, ".qmake.super" , "") + cmake = CMake(self) + cmake.configure() + cmake.build() @property def _cmake_executables_file(self): @@ -814,10 +745,11 @@ def _cmake_qt6_private_file(self, module): return os.path.join("lib", "cmake", f"Qt6{module}", f"conan_qt_qt6_{module.lower()}private.cmake") def package(self): - with self._build_context(): - cmake = CMake(self) - cmake.install() - save(self, os.path.join(self.package_folder, "bin", "qt.conf"), qt.content_template("..", "res", self.settings.os)) + if self.settings.os == "Macos": + save(self, ".qmake.stash" , "") + save(self, ".qmake.super" , "") + cmake = CMake(self) + cmake.install() copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses")) for module in self._get_module_tree: if module != "qtbase" and not self.options.get_safe(module): @@ -873,7 +805,7 @@ def package(self): exe_path = path_ break if not exe_path: - self.output.warn(f"Could not find path to {target}{extension}") + self.output.warning(f"Could not find path to {target}{extension}") filecontents += textwrap.dedent(f"""\ if(NOT TARGET ${{QT_CMAKE_EXPORT_NAMESPACE}}::{target}) add_executable(${{QT_CMAKE_EXPORT_NAMESPACE}}::{target} IMPORTED) @@ -935,23 +867,6 @@ def _create_private_module(module, dependencies): )""") save(self, os.path.join(self.package_folder, self._cmake_entry_point_file), contents) - def package_id(self): - del self.info.options.cross_compile - del self.info.options.sysroot - if self.options.multiconfiguration and is_msvc(self): - if self.settings.compiler == "Visual Studio": - if "MD" in self.settings.compiler.runtime: - self.info.settings.compiler.runtime = "MD/MDd" - else: - self.info.settings.compiler.runtime = "MT/MTd" - else: - self.info.settings.compiler.runtime_type = "Release/Debug" - - @property - def _has_positioning(self): - return (self.options.get_safe("qtlocation") and Version(self.version) < "6.2.2") or \ - (self.options.get_safe("qtpositioning") and Version(self.version) >= "6.2.2") - def package_info(self): self.cpp_info.set_property("cmake_file_name", "Qt6") self.cpp_info.set_property("pkg_config_name", "qt6") @@ -1045,22 +960,16 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtCore"].set_property("pkg_config_custom_content", "\n".join(pkg_config_vars)) if self.settings.os == "Windows": - if Version(self.version) >= "6.3.0": - self.cpp_info.components["qtCore"].system_libs.append("authz") + self.cpp_info.components["qtCore"].system_libs.append("authz") if is_msvc(self): - if Version(self.version) >= "6.3.0": - self.cpp_info.components["qtCore"].cxxflags.append("-permissive-") - if Version(self.version) >= "6.2.0": - self.cpp_info.components["qtCore"].cxxflags.append("-Zc:__cplusplus") - self.cpp_info.components["qtCore"].system_libs.append("synchronization") - if Version(self.version) >= "6.2.1": - self.cpp_info.components["qtCore"].system_libs.append("runtimeobject") + self.cpp_info.components["qtCore"].cxxflags.append("-permissive-") + self.cpp_info.components["qtCore"].cxxflags.append("-Zc:__cplusplus") + self.cpp_info.components["qtCore"].system_libs.append("synchronization") + self.cpp_info.components["qtCore"].system_libs.append("runtimeobject") self.cpp_info.components["qtPlatform"].set_property("cmake_target_name", "Qt6::Platform") self.cpp_info.components["qtPlatform"].names["cmake_find_package"] = "Platform" self.cpp_info.components["qtPlatform"].names["cmake_find_package_multi"] = "Platform" self.cpp_info.components["qtPlatform"].includedirs = [os.path.join("res", "archdatadir", "mkspecs", self._xplatform())] - if Version(self.version) < "6.1.0": - self.cpp_info.components["qtCore"].libs.append(f"Qt6Core_qobject{libsuffix}") if self.options.with_dbus: _create_module("DBus", ["dbus::dbus"]) if self.options.gui: @@ -1165,7 +1074,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("Core5Compat", []) # since https://github.com/qt/qtdeclarative/commit/4fb84137f1c0a49d64b8bef66fef8a4384cc2a68 - qt_quick_enabled = self.options.gui and (Version(self.version) < "6.2.0" or self.options.qtshadertools) + qt_quick_enabled = self.options.gui and self.options.qtshadertools if self.options.qtdeclarative: _create_module("Qml", ["Network"]) @@ -1202,8 +1111,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("Quick3DRuntimeRender", ["Gui", "Quick", "Quick3DAssetImport", "Quick3DUtils", "ShaderTools"]) _create_module("Quick3D", ["Gui", "Qml", "Quick", "Quick3DRuntimeRender"]) - if (self.options.get_safe("qtquickcontrols2") or \ - (self.options.qtdeclarative and Version(self.version) >= "6.2.0")) and qt_quick_enabled: + if (self.options.get_safe("qtquickcontrols2") or self.options.qtdeclarative ) and qt_quick_enabled: _create_module("QuickControls2", ["Gui", "Quick"]) _create_module("QuickTemplates2", ["Gui", "Quick"]) @@ -1308,7 +1216,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_plugin("AVFServicePlugin", "qavfcamera", "mediaservice", []) _create_plugin("CoreAudioPlugin", "qtaudio_coreaudio", "audio", []) - if self._has_positioning: + if self.options.get_safe("qtpositioning"): _create_module("Positioning", []) _create_plugin("QGeoPositionInfoSourceFactoryGeoclue2", "qtposition_geoclue2", "position", []) _create_plugin("QGeoPositionInfoSourceFactoryPoll", "qtposition_positionpoll", "position", []) @@ -1345,7 +1253,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.get_safe("qtwebengine") and qt_quick_enabled: webenginereqs = ["Gui", "Quick", "WebChannel"] - if self._has_positioning: + if self.options.get_safe("qtpositioning"): webenginereqs.append("Positioning") if self.settings.os == "Linux": webenginereqs.extend(["expat::expat", "opus::libopus", "xorg-proto::xorg-proto", "libxshmfence::libxshmfence", \ diff --git a/recipes/qt/6.x.x/patches/138a720.diff b/recipes/qt/6.x.x/patches/138a720.diff deleted file mode 100644 index 0d48b6636dade..0000000000000 --- a/recipes/qt/6.x.x/patches/138a720.diff +++ /dev/null @@ -1,21 +0,0 @@ -From 138a7203f16cf356e9d4dac697920a22437014b0 Mon Sep 17 00:00:00 2001 -From: Peter Varga -Date: Fri, 13 Nov 2020 11:09:23 +0100 -Subject: [PATCH] Fix build with msvc2019 16.8.0 - -Fixes: QTBUG-88708 -Change-Id: I3554ceec0437801b4861f68edd504d01fc01cf93 -Reviewed-by: Allan Sandfeld Jensen ---- - -diff --git a/chromium/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h b/chromium/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h -index 78c316e..136c796 100644 ---- a/chromium/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h -+++ b/chromium/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h -@@ -145,5 +145,5 @@ - // https://en.wikipedia.org/wiki/CIELAB_color_space#Forward_transformation. - SkV3 ToXYZ(const SkV3& lab) const { - auto invf = [](float x) -> float { -- return x > kSigma ? pow(x, 3) : 3 * kSigma2 * (x - 4.0f / 29.0f); -+ return x > kSigma ? (float)pow(x, 3) : 3 * kSigma2 * (x - 4.0f / 29.0f); - }; diff --git a/recipes/qt/6.x.x/patches/32451d5.diff b/recipes/qt/6.x.x/patches/32451d5.diff deleted file mode 100644 index f9388cbc4f1b8..0000000000000 --- a/recipes/qt/6.x.x/patches/32451d5.diff +++ /dev/null @@ -1,32 +0,0 @@ -From 32451d5c9126921180aad4bf78ec6af5eb27ec2a Mon Sep 17 00:00:00 2001 -From: Ulf Hermann -Date: Tue, 13 Jul 2021 11:05:51 +0200 -Subject: [PATCH] Directly include Unicode.h in YarrCanonicalize.h - -The redirection via utypes.h can be problematic if you have another -utypes.h around in a prominent place. It's easily avoided, though. - -Fixes: QTBUG-77528 -Change-Id: I50368f56b0d7eb957955900a32dbb625a38d02af ---- - -diff --git a/src/3rdparty/masm/stubs/wtf/unicode/utypes.h b/src/3rdparty/masm/stubs/wtf/unicode/utypes.h -deleted file mode 100644 -index e1b4ff9..0000000 ---- a/src/3rdparty/masm/stubs/wtf/unicode/utypes.h -+++ /dev/null -@@ -1 +0,0 @@ --#include -diff --git a/src/3rdparty/masm/yarr/YarrCanonicalize.h b/src/3rdparty/masm/yarr/YarrCanonicalize.h -index cbd279e..17c9831 100644 ---- a/src/3rdparty/masm/yarr/YarrCanonicalize.h -+++ b/src/3rdparty/masm/yarr/YarrCanonicalize.h -@@ -26,7 +26,7 @@ - #pragma once - - #include --#include -+#include - - namespace JSC { namespace Yarr { - diff --git a/recipes/qt/6.x.x/patches/CVE-2022-1096-qtwebengine-6.2.diff b/recipes/qt/6.x.x/patches/CVE-2022-1096-qtwebengine-6.2.diff deleted file mode 100644 index 157d0781d4702..0000000000000 --- a/recipes/qt/6.x.x/patches/CVE-2022-1096-qtwebengine-6.2.diff +++ /dev/null @@ -1,27 +0,0 @@ ---- a/src/3rdparty/chromium/v8/src/objects/objects.cc -+++ b/src/3rdparty/chromium/v8/src/objects/objects.cc -@@ -2513,6 +2513,12 @@ Maybe Object::SetPropertyInternal(LookupIterator* it, - Maybe result = - JSObject::SetPropertyWithInterceptor(it, should_throw, value); - if (result.IsNothing() || result.FromJust()) return result; -+ // Assuming that the callback have side effects, we use -+ // Object::SetSuperProperty() which works properly regardless on -+ // whether the property was present on the receiver or not when -+ // storing to the receiver. -+ // Proceed lookup from the next state. -+ it->Next(); - } else { - Maybe maybe_attributes = - JSObject::GetPropertyAttributesWithInterceptor(it); -@@ -2533,10 +2539,8 @@ Maybe Object::SetPropertyInternal(LookupIterator* it, - // property to the receiver. - it->NotFound(); - } -- return Object::SetSuperProperty(it, value, store_origin, -- should_throw); - } -- break; -+ return Object::SetSuperProperty(it, value, store_origin, should_throw); - } - - case LookupIterator::ACCESSOR: { diff --git a/recipes/qt/6.x.x/patches/CVE-2022-25255-qprocess6-2.diff b/recipes/qt/6.x.x/patches/CVE-2022-25255-qprocess6-2.diff deleted file mode 100644 index 3a566b1b64daa..0000000000000 --- a/recipes/qt/6.x.x/patches/CVE-2022-25255-qprocess6-2.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- a/src/corelib/io/qprocess_unix.cpp -+++ b/src/corelib/io/qprocess_unix.cpp -@@ -1,7 +1,7 @@ - /**************************************************************************** - ** - ** Copyright (C) 2020 The Qt Company Ltd. --** Copyright (C) 2021 Intel Corporation. -+** Copyright (C) 2022 Intel Corporation. - ** Copyright (C) 2021 Alex Trotsenko. - ** Contact: https://www.qt.io/licensing/ - ** -@@ -437,9 +437,10 @@ static QString resolveExecutable(const QString &program) - #endif - - if (!program.contains(QLatin1Char('/'))) { -- QString exeFilePath = QStandardPaths::findExecutable(program); -- if (!exeFilePath.isEmpty()) -- return exeFilePath; -+ // findExecutable() returns its argument if it's an absolute path, -+ // otherwise it searches $PATH; returns empty if not found (we handle -+ // that case much later) -+ return QStandardPaths::findExecutable(program); - } - return program; - } diff --git a/recipes/qt/6.x.x/patches/CVE-2022-25643-6.2.diff b/recipes/qt/6.x.x/patches/CVE-2022-25643-6.2.diff deleted file mode 100644 index c71c32e4002b3..0000000000000 --- a/recipes/qt/6.x.x/patches/CVE-2022-25643-6.2.diff +++ /dev/null @@ -1,73 +0,0 @@ -diff --git a/src/plugins/platforms/windows/qwindowsglcontext.cpp b/src/plugins/platforms/windows/qwindowsglcontext.cpp -index 1a7be0d271..9a8506d971 100644 ---- a/src/plugins/platforms/windows/qwindowsglcontext.cpp -+++ b/src/plugins/platforms/windows/qwindowsglcontext.cpp -@@ -47,7 +47,7 @@ - #include - #include - #include -- -+#include - #include - - #include -@@ -162,19 +162,25 @@ QFunctionPointer QWindowsOpengl32DLL::resolve(const char *name) - - bool QWindowsOpengl32DLL::init(bool softwareRendering) - { -- const QByteArray opengl32 = QByteArrayLiteral("opengl32.dll"); -- const QByteArray swopengl = QByteArrayLiteral("opengl32sw.dll"); -+ const QByteArray opengl32 = QByteArrayLiteral("opengl32"); -+ const QByteArray swopengl = QByteArrayLiteral("opengl32sw"); -+ bool useSystemLib = false; - - QByteArray openglDll = qgetenv("QT_OPENGL_DLL"); -- if (openglDll.isEmpty()) -+ if (openglDll.isEmpty()) { - openglDll = softwareRendering ? swopengl : opengl32; -+ useSystemLib = !softwareRendering; -+ } - - openglDll = openglDll.toLower(); - m_nonOpengl32 = openglDll != opengl32; - - qCDebug(lcQpaGl) << "Qt: Using WGL and OpenGL from" << openglDll; - -- m_lib = ::LoadLibraryA(openglDll.constData()); -+ if (useSystemLib) -+ m_lib = QSystemLibrary::load((wchar_t*)(QString::fromLatin1(openglDll).utf16())); -+ else -+ m_lib = LoadLibraryA(openglDll.constData()); - if (!m_lib) { - qErrnoWarning(::GetLastError(), "Failed to load %s", openglDll.constData()); - return false; -@@ -184,7 +190,7 @@ bool QWindowsOpengl32DLL::init(bool softwareRendering) - // Load opengl32.dll always. GDI functions like ChoosePixelFormat do - // GetModuleHandle for opengl32.dll and behave differently (and call back into - // opengl32) when the module is present. This is fine for dummy contexts and windows. -- ::LoadLibraryA("opengl32.dll"); -+ QSystemLibrary::load(L"opengl32"); - } - - wglCreateContext = reinterpret_cast(resolve("wglCreateContext")); -diff --git a/src/plugins/platforms/windows/qwindowsopengltester.cpp b/src/plugins/platforms/windows/qwindowsopengltester.cpp -index 0b1af47a65..1757b6a0dc 100644 ---- a/src/plugins/platforms/windows/qwindowsopengltester.cpp -+++ b/src/plugins/platforms/windows/qwindowsopengltester.cpp -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - - #ifndef QT_NO_OPENGL - #include -@@ -358,7 +359,7 @@ bool QWindowsOpenGLTester::testDesktopGL() - - // Test #1: Load opengl32.dll and try to resolve an OpenGL 2 function. - // This will typically fail on systems that do not have a real OpenGL driver. -- lib = LoadLibraryA("opengl32.dll"); -+ lib = QSystemLibrary::load(L"opengl32"); - if (lib) { - CreateContext = reinterpret_cast( - reinterpret_cast(::GetProcAddress(lib, "wglCreateContext"))); diff --git a/recipes/qt/6.x.x/patches/d13958d_.diff b/recipes/qt/6.x.x/patches/d13958d_.diff deleted file mode 100644 index 2e9d40bd0efc0..0000000000000 --- a/recipes/qt/6.x.x/patches/d13958d_.diff +++ /dev/null @@ -1,23 +0,0 @@ -From d13958dabb9f5542d772c6312cd33e4960bf1137 Mon Sep 17 00:00:00 2001 -From: Eric Lemanissier -Date: Tue, 29 Nov 2022 09:15:58 +0000 -Subject: [PATCH] fix pcre2 detection - -Pick-to: 6.3 -Change-Id: I89f167e11bf1c72c9fae474ddd12380636ac5df8 ---- - -diff --git a/cmake/FindWrapSystemPCRE2.cmake b/cmake/FindWrapSystemPCRE2.cmake -index f8516d3..3ac04b8 100644 ---- a/cmake/FindWrapSystemPCRE2.cmake -+++ b/cmake/FindWrapSystemPCRE2.cmake -@@ -6,7 +6,7 @@ - --find_package(PCRE2 ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG QUIET) -+find_package(PCRE2 ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} COMPONENTS 16BIT QUIET) - --set(__pcre2_target_name "PCRE2::pcre2-16") -+set(__pcre2_target_name "PCRE2::16BIT") - if(PCRE2_FOUND AND TARGET "${__pcre2_target_name}") - # Hunter case. - set(__pcre2_found TRUE) diff --git a/recipes/qt/6.x.x/test_package/conanfile.py b/recipes/qt/6.x.x/test_package/conanfile.py index 05478516b0d29..8c6b8d55be7ac 100644 --- a/recipes/qt/6.x.x/test_package/conanfile.py +++ b/recipes/qt/6.x.x/test_package/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.build import cross_building -from conan.tools.files import mkdir, chdir +from conan.tools.files import chdir, mkdir, save from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -13,13 +13,32 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "qt", "cmake", "cmake_find_package_multi", "cmake_find_package", "pkg_config", "qmake" + generators = "cmake", "cmake_find_package_multi", "cmake_find_package", "pkg_config", "qmake" def build_requirements(self): self.tool_requires("cmake/3.25.3") if self._meson_supported(): self.tool_requires("meson/1.0.1") + def generate(self): + path = self.dependencies["qt"].package_folder.replace("\\", "/") + folder = os.path.join(path, "bin") + bin_folder = "bin" if self.settings.os == "Windows" else "libexec" + save(self, "qt.conf", f"""[Paths] +Prefix = {path} +ArchData = {folder}/archdatadir +HostData = {folder}/archdatadir +Data = {folder}/datadir +Sysconf = {folder}/sysconfdir +LibraryExecutables = {folder}/archdatadir/{bin_folder} +HostLibraryExecutables = bin +Plugins = {folder}/archdatadir/plugins +Imports = {folder}/archdatadir/imports +Qml2Imports = {folder}/archdatadir/qml +Translations = {folder}/datadir/translations +Documentation = {folder}/datadir/doc +Examples = {folder}/datadir/examples""") + def _is_mingw(self): return self.settings.os == "Windows" and self.settings.compiler == "gcc" @@ -109,18 +128,18 @@ def _test_with_qmake(self): bin_path = os.path.join("qmake_folder", "bin") if self.settings.os == "Macos": bin_path = os.path.join(bin_path, "test_package.app", "Contents", "MacOS") - shutil.copy("qt.conf", bin_path) + shutil.copy(os.path.join(self.generators_folder, "qt.conf"), bin_path) self.run(os.path.join(bin_path, "test_package"), run_environment=True) def _test_with_meson(self): if self._meson_supported(): self.output.info("Testing Meson") - shutil.copy("qt.conf", "meson_folder") + shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "meson_folder") self.run(os.path.join("meson_folder", "test_package"), run_environment=True) def _test_with_cmake_find_package_multi(self): self.output.info("Testing CMake_find_package_multi") - shutil.copy("qt.conf", "bin") + shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "bin") self.run(os.path.join("bin", "test_package"), run_environment=True) def test(self): diff --git a/recipes/qt/6.x.x/test_v1_package/CMakeLists.txt b/recipes/qt/6.x.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..60524d0bb25e1 --- /dev/null +++ b/recipes/qt/6.x.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.3.0) + +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_set_vs_runtime() +conan_set_libcxx() +conan_output_dirs_setup() + +find_package(Qt6 COMPONENTS Core Network Sql Concurrent Xml REQUIRED CONFIG) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp ../test_package/greeter.h ../test_package/example.qrc) + +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) + +target_link_libraries(${PROJECT_NAME} Qt6::Core Qt6::Network Qt6::Sql Qt6::Concurrent Qt6::Xml) + +# check if extra qt cmake functions are usable +qt_add_executable(${PROJECT_NAME}2 ../test_package/test_package.cpp ../test_package/greeter.h ../test_package/example.qrc) + +set_property(TARGET ${PROJECT_NAME}2 PROPERTY CXX_STANDARD 17) + +target_link_libraries(${PROJECT_NAME}2 PRIVATE Qt6::Core Qt6::Network Qt6::Sql Qt6::Concurrent Qt6::Xml) diff --git a/recipes/qt/6.x.x/test_v1_package/conanfile.py b/recipes/qt/6.x.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..85db60ab1408b --- /dev/null +++ b/recipes/qt/6.x.x/test_v1_package/conanfile.py @@ -0,0 +1,145 @@ +import os +import shutil + +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.files import mkdir, chdir, save +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +from conans import tools, Meson, RunEnvironment, CMake +from conan.errors import ConanException + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi", "cmake_find_package", "pkg_config", "qmake" + + def build_requirements(self): + self.tool_requires("cmake/3.25.3") + if self._meson_supported(): + self.tool_requires("meson/1.1.0") + + def generate(self): + save(self, "qt.conf", """[Paths] +Prefix = {} +ArchData = bin/archdatadir +HostData = bin/archdatadir +Data = bin/datadir +Sysconf = bin/sysconfdir +LibraryExecutables = bin/archdatadir/bin +Plugins = bin/archdatadir/plugins +Imports = bin/archdatadir/imports +Qml2Imports = bin/archdatadir/qml +Translations = bin/datadir/translations +Documentation = bin/datadir/doc +Examples = bin/datadir/examples""".format(self.dependencies["qt"].package_folder.replace('\\', '/'))) + + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" + + def _meson_supported(self): + return False and self.options["qt"].shared and\ + not cross_building(self) and\ + not self.settings.os == "Macos" and\ + not self._is_mingw() + + def _qmake_supported(self): + return self.options["qt"].shared + + def _build_with_qmake(self): + if not self._qmake_supported(): + return + mkdir(self, "qmake_folder") + with chdir(self, "qmake_folder"): + self.output.info("Building with qmake") + + with tools.vcvars(self.settings) if is_msvc(self) else tools.no_op(): + args = [self.source_folder, "DESTDIR=bin"] + + def _getenvpath(var): + val = os.getenv(var) + if val and tools.os_info.is_windows: + val = val.replace("\\", "/") + os.environ[var] = val + return val + + value = _getenvpath('CC') + if value: + args.append(f"QMAKE_CC=\"{value}\"") + + value = _getenvpath('CXX') + if value: + args.append(f"QMAKE_CXX=\"{value}\"") + + value = _getenvpath('LD') + if value: + args.append(f"QMAKE_LINK_C=\"{value}\"") + args.append(f"QMAKE_LINK_C_SHLIB=\"{value}\"") + args.append(f"QMAKE_LINK=\"{value}\"") + args.append(f"QMAKE_LINK_SHLIB=\"{value}\"") + + self.run(f"qmake {' '.join(args)}", run_environment=True) + if tools.os_info.is_windows: + if is_msvc(self): + self.run("nmake", run_environment=True) + else: + self.run("mingw32-make", run_environment=True) + else: + self.run("make", run_environment=True) + + def _build_with_meson(self): + if self._meson_supported(): + self.output.info("Building with Meson") + mkdir(self, "meson_folder") + with tools.environment_append(RunEnvironment(self).vars): + meson = Meson(self) + try: + meson.configure(build_folder="meson_folder", defs={"cpp_std": "c++11"}) + except ConanException: + self.output.info(open("meson_folder/meson-logs/meson-log.txt", 'r').read()) + raise + meson.build() + + def _build_with_cmake_find_package_multi(self): + self.output.info("Building with cmake_find_package_multi") + env_build = RunEnvironment(self) + with tools.environment_append(env_build.vars): + cmake = CMake(self, set_cmake_flags=True) + if self.settings.os == "Macos": + cmake.definitions['CMAKE_OSX_DEPLOYMENT_TARGET'] = '10.15' if Version(self.deps_cpp_info["qt"].version) >= "6.5.0" else "10.14" + + cmake.configure() + cmake.build() + + def build(self): + self._build_with_qmake() + self._build_with_meson() + self._build_with_cmake_find_package_multi() + + def _test_with_qmake(self): + if not self._qmake_supported(): + return + self.output.info("Testing qmake") + bin_path = os.path.join("qmake_folder", "bin") + if self.settings.os == "Macos": + bin_path = os.path.join(bin_path, "test_package.app", "Contents", "MacOS") + shutil.copy("qt.conf", bin_path) + self.run(os.path.join(bin_path, "test_package"), run_environment=True) + + def _test_with_meson(self): + if self._meson_supported(): + self.output.info("Testing Meson") + shutil.copy("qt.conf", "meson_folder") + self.run(os.path.join("meson_folder", "test_package"), run_environment=True) + + def _test_with_cmake_find_package_multi(self): + self.output.info("Testing CMake_find_package_multi") + shutil.copy("qt.conf", "bin") + self.run(os.path.join("bin", "test_package"), run_environment=True) + + def test(self): + if not cross_building(self, skip_x64_x86=True): + self._test_with_qmake() + self._test_with_meson() + self._test_with_cmake_find_package_multi() diff --git a/recipes/qt/6.x.x/test_v1_package/meson.build b/recipes/qt/6.x.x/test_v1_package/meson.build new file mode 100644 index 0000000000000..684dfec65a30e --- /dev/null +++ b/recipes/qt/6.x.x/test_v1_package/meson.build @@ -0,0 +1,6 @@ +project('test_package', 'cpp') +qt6 = import('qt6') +qt6_dep = dependency('qt6', modules: ['Core', 'Network', 'Sql', 'Concurrent', 'Xml']) +moc_files = qt6.preprocess(moc_headers : 'greeter.h', qresources : 'example.qrc') +executable('test_package', 'test_package.cpp', moc_files, + dependencies : qt6_dep) diff --git a/recipes/qt/6.x.x/test_v1_package/test_package.pro b/recipes/qt/6.x.x/test_v1_package/test_package.pro new file mode 100644 index 0000000000000..3b3ce9cba0343 --- /dev/null +++ b/recipes/qt/6.x.x/test_v1_package/test_package.pro @@ -0,0 +1,14 @@ +SOURCES += ../test_package/test_package.cpp + +HEADERS += ../test_package/greeter.h + +RESOURCES = ../test_package/example.qrc + +QT -= gui +QT += network sql concurrent xml + +CONFIG += console + +CONFIG += conan_basic_setup +include($$OUT_PWD/../conanbuildinfo.pri) +LIBS -= $$CONAN_LIBS_QT diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index b1da461ce231b..13ce5a438f056 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -7,8 +7,6 @@ versions: folder: 6.x.x "6.3.2": folder: 6.x.x - "6.2.4": - folder: 6.x.x "5.15.9": folder: 5.x.x "5.15.8": From d03ec595a8ace559439662b14b5d6ba8e223215a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Jun 2023 10:43:23 +0900 Subject: [PATCH 0527/4087] (#17918) roaring: add version 1.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 8bee1b8164c8a..e26f0a417c73c 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 1f2bdd44d6371..4dee57cf2ee12 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.1.5": folder: all "1.1.2": From 8d9b8d0b40ddce7595517fcde46677ce9c7128d7 Mon Sep 17 00:00:00 2001 From: Steve Robinson Date: Tue, 13 Jun 2023 01:23:24 -0700 Subject: [PATCH 0528/4087] (#17826) Add support for SDL 2.26.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 091076bcd4337..9aefd68806154 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.26.5": + url: "https://www.libsdl.org/release/SDL2-2.26.5.tar.gz" + sha256: "ad8fea3da1be64c83c45b1d363a6b4ba8fd60f5bde3b23ec73855709ec5eabf7" "2.26.1": url: "https://www.libsdl.org/release/SDL2-2.26.1.tar.gz" sha256: "02537cc7ebd74071631038b237ec4bfbb3f4830ba019e569434da33f42373e04" diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 211e5780e8908..960f4e5e4f3c0 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.26.5": + folder: all "2.26.1": folder: all "2.26.0": From 00e2c04a3b70dfff424a0be327a7fd994ca0df56 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 13 Jun 2023 15:22:54 +0400 Subject: [PATCH 0529/4087] (#17786) opencl-icd-loader: added versions from 2023 year --- recipes/opencl-icd-loader/all/conandata.yml | 6 ++++++ recipes/opencl-icd-loader/all/conanfile.py | 3 +++ recipes/opencl-icd-loader/config.yml | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/recipes/opencl-icd-loader/all/conandata.yml b/recipes/opencl-icd-loader/all/conandata.yml index 398c17f249549..5deceedd582f2 100644 --- a/recipes/opencl-icd-loader/all/conandata.yml +++ b/recipes/opencl-icd-loader/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2023.04.17": + url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2023.04.17.tar.gz" + sha256: "173bdc4f321d550b6578ad2aafc2832f25fbb36041f095e6221025f74134b876" + "2023.02.06": + url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2023.02.06.tar.gz" + sha256: "f31a932b470c1e115d6a858b25c437172809b939953dc1cf20a3a15e8785d698" "2022.09.30": url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2022.09.30.tar.gz" sha256: "e9522fb736627dd4feae2a9c467a864e7d25bb715f808de8a04eea5a7d394b74" diff --git a/recipes/opencl-icd-loader/all/conanfile.py b/recipes/opencl-icd-loader/all/conanfile.py index c056a66cf0845..b7187e1a134cc 100644 --- a/recipes/opencl-icd-loader/all/conanfile.py +++ b/recipes/opencl-icd-loader/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime @@ -75,6 +76,8 @@ def package(self): cmake.install() rm(self, "*.pdb", 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")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") diff --git a/recipes/opencl-icd-loader/config.yml b/recipes/opencl-icd-loader/config.yml index ee1b6d54f979e..48faee001ea5a 100644 --- a/recipes/opencl-icd-loader/config.yml +++ b/recipes/opencl-icd-loader/config.yml @@ -1,4 +1,8 @@ versions: + "2023.04.17": + folder: all + "2023.02.06": + folder: all "2022.09.30": folder: all "2022.05.18": From 67abf4eecff461975c3abfd311efc98f3fe83e6b Mon Sep 17 00:00:00 2001 From: Jean-Marco Alameddine Date: Tue, 13 Jun 2023 14:41:41 +0200 Subject: [PATCH 0530/4087] (#17922) proposal: add version 7.6.1 * add proposal/7.6.1 * fix trailing spaces * fix more trailing spaces --- recipes/proposal/all/conandata.yml | 3 +++ recipes/proposal/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/proposal/all/conandata.yml b/recipes/proposal/all/conandata.yml index f4db8fd2f7116..12a5ee6f38fda 100644 --- a/recipes/proposal/all/conandata.yml +++ b/recipes/proposal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.6.1": + url: "https://github.com/tudo-astroparticlephysics/PROPOSAL/archive/refs/tags/7.6.1.tar.gz" + sha256: "ed1621e1b859179672468330c1a5ac7d84a4c0a5b80d6bf826b22ed6ef6967ca" "7.6.0": url: "https://github.com/tudo-astroparticlephysics/PROPOSAL/archive/refs/tags/7.6.0.tar.gz" sha256: "8c0ddd53ac81c2c4959f2425a9d4bf8e40fba55f03407aefc1d3ac9b3d523a62" diff --git a/recipes/proposal/config.yml b/recipes/proposal/config.yml index 9767bd63e1ea0..bbcc40794eb0a 100644 --- a/recipes/proposal/config.yml +++ b/recipes/proposal/config.yml @@ -1,4 +1,6 @@ versions: + "7.6.1": + folder: all "7.6.0": folder: all "7.5.1": From 3972a30e74fb003d8d9c80ac0d32fb280eb65722 Mon Sep 17 00:00:00 2001 From: Martin Wudenka Date: Wed, 14 Jun 2023 00:22:11 +0200 Subject: [PATCH 0531/4087] (#17901) ftxui: Fix sha for version 4.1.1 --- recipes/ftxui/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ftxui/all/conandata.yml b/recipes/ftxui/all/conandata.yml index cfe78d851822f..9093a5522f932 100644 --- a/recipes/ftxui/all/conandata.yml +++ b/recipes/ftxui/all/conandata.yml @@ -1,7 +1,7 @@ sources: "4.1.1": url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.1.1.tar.gz" - sha256: "355739597588f837d3ade70c4a52614e5f8d9c04b9e31e5621ed5aa9ba92507f" + sha256: "9009d093e48b3189487d67fc3e375a57c7b354c0e43fc554ad31bec74a4bc2dd" "4.1.0": url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.1.0.tar.gz" sha256: "6f03f5917b44c9bc12335ad891a93813bbb6e738e0bd0c44f97bcc6077c45980" From a330c8db9d5dca80bbf2f133fc9b21b656f06e4f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Jun 2023 16:01:47 +0900 Subject: [PATCH 0532/4087] (#17928) scnlib: update fast_float 5.2.0 --- recipes/scnlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index b8bd34702ff8e..d88df6abc4e63 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.0": - self.requires("fast_float/5.0.0") + self.requires("fast_float/5.2.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 4082ba378ebe7649b0d73d90d5f993f86bf88f0f Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Wed, 14 Jun 2023 10:21:58 +0200 Subject: [PATCH 0533/4087] (#17917) absent: conan v2 support --- recipes/absent/all/conanfile.py | 71 ++++++++++--------- .../absent/all/test_package/CMakeLists.txt | 3 - recipes/absent/all/test_package/conanfile.py | 20 ++++-- .../absent/all/test_v1_package/CMakeLists.txt | 11 +++ .../absent/all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 82 insertions(+), 40 deletions(-) create mode 100644 recipes/absent/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/absent/all/test_v1_package/conanfile.py diff --git a/recipes/absent/all/conanfile.py b/recipes/absent/all/conanfile.py index bdc5f5e18836b..89db056b9c57b 100644 --- a/recipes/absent/all/conanfile.py +++ b/recipes/absent/all/conanfile.py @@ -1,8 +1,14 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.files import get, copy, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class AbsentConan(ConanFile): @@ -15,13 +21,13 @@ class AbsentConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "MIT" topics = ("nullable-types", "composition", "monadic-interface", "declarative-programming") + package_type = "header-library" no_copy_source = True settings = "os", "arch", "compiler", "build_type" - generators = "cmake" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -29,47 +35,49 @@ def _compilers_minimum_version(self): "gcc": "7", "clang": "5", "apple-clang": "10", - "Visual Studio": "15.7", } - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") - - 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] + def layout(self): + cmake_layout(self, src_folder="src") - 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( - "{} requires C++17, which your compiler does not support.".format(self.name) - ) + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTS"] = False + tc.generate() - def _configure_cmake(self): + def build(self): cmake = CMake(self) - cmake.definitions["BUILD_TESTS"] = "OFF" - cmake.configure(source_folder=self._source_subfolder) - return cmake + cmake.configure() + # header_only - no 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() - 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", "absent") self.cpp_info.set_property("cmake_target_name", "rvarago::absent") + self.cpp_info.components["absentlib"].set_property("cmake_target_name", "rvarago::absent") + # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed self.cpp_info.components["absentlib"].bindirs = [] self.cpp_info.components["absentlib"].frameworkdirs = [] @@ -83,4 +91,3 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "rvarago" self.cpp_info.components["absentlib"].names["cmake_find_package"] = "absent" self.cpp_info.components["absentlib"].names["cmake_find_package_multi"] = "absent" - self.cpp_info.components["absentlib"].set_property("cmake_target_name", "rvarago::absent") diff --git a/recipes/absent/all/test_package/CMakeLists.txt b/recipes/absent/all/test_package/CMakeLists.txt index fe998526125cb..a092e06169aaf 100644 --- a/recipes/absent/all/test_package/CMakeLists.txt +++ b/recipes/absent/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(absent REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/absent/all/test_package/conanfile.py b/recipes/absent/all/test_package/conanfile.py index 38f4483872d47..02eb5ce439fb4 100644 --- a/recipes/absent/all/test_package/conanfile.py +++ b/recipes/absent/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -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 +# It will become the standard on Conan 2.x 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 +22,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/absent/all/test_v1_package/CMakeLists.txt b/recipes/absent/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..fb3acbf709bdb --- /dev/null +++ b/recipes/absent/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(absent REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +target_link_libraries(${PROJECT_NAME} rvarago::absent) diff --git a/recipes/absent/all/test_v1_package/conanfile.py b/recipes/absent/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/absent/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ce260dda4b279dbecd722cd971d5e83d717b4f44 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 14 Jun 2023 18:01:53 +0900 Subject: [PATCH 0534/4087] (#17907) zulu-openjdk: add version 11.0.19, several improvements * zulu-openjdk: add version 11.0.19 * add package_id * add required_conan_version --- recipes/zulu-openjdk/all/conandata.yml | 42 ++++++++++++++++++-------- recipes/zulu-openjdk/all/conanfile.py | 35 +++++++++++---------- recipes/zulu-openjdk/config.yml | 4 ++- 3 files changed, 52 insertions(+), 29 deletions(-) diff --git a/recipes/zulu-openjdk/all/conandata.yml b/recipes/zulu-openjdk/all/conandata.yml index 516a7ae7f4098..4c8a8b5afbd6a 100644 --- a/recipes/zulu-openjdk/all/conandata.yml +++ b/recipes/zulu-openjdk/all/conandata.yml @@ -1,24 +1,23 @@ sources: - "11.0.12": + "11.0.19": "Windows": "x86_64": - url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-win_x64.zip" - sha256: "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015" + url: "https://cdn.azul.com/zulu/bin/zulu11.64.19-ca-jdk11.0.19-win_x64.zip" + sha256: "19ef5239adddd63b47dd574119eeaacd116376e1a7a2449d013c2d23987c78a0" "Linux": "x86_64": - url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz" - sha256: "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3" + url: "https://cdn.azul.com/zulu/bin/zulu11.64.19-ca-jdk11.0.19-linux_x64.tar.gz" + sha256: "8b963105ad195c8f622b34dbac663ce11e5f73f4c84edd6dd1d364a26798b540" "armv8": - url: "https://cdn.azul.com/zulu-embedded/bin/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz" - sha256: "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb" + url: "https://cdn.azul.com/zulu-embedded/bin/zulu11.64.19-ca-jdk11.0.19-linux_aarch64.tar.gz" + sha256: "edfea52958b765732e4ee97b821e78d6ebf66a69fc21bdf6035c38b0e2939820" "Macos": "x86_64": - url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz" - sha256: "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7" + url: "https://cdn.azul.com/zulu/bin/zulu11.64.19-ca-jdk11.0.19-macosx_x64.tar.gz" + sha256: "222630bd333f901f53cd0d2341975ec9a31fd6846166d4ce86e8a57a3d734ac5" "armv8": - url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz" - sha256: "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17" - + url: "https://cdn.azul.com/zulu/bin/zulu11.64.19-ca-jdk11.0.19-macosx_aarch64.tar.gz" + sha256: "f0d84d5f1ae9d67bbb28d4e97fe365692fcdf8f5ad49c57b525281ebb5807577" "11.0.15": "Windows": "x86_64": @@ -38,3 +37,22 @@ sources: "armv8": url: "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz" sha256: "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2" + "11.0.12": + "Windows": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-win_x64.zip" + sha256: "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015" + "Linux": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz" + sha256: "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3" + "armv8": + url: "https://cdn.azul.com/zulu-embedded/bin/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz" + sha256: "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb" + "Macos": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz" + sha256: "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz" + sha256: "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17" diff --git a/recipes/zulu-openjdk/all/conanfile.py b/recipes/zulu-openjdk/all/conanfile.py index 05d28945d8c9a..1aa178e14ab52 100644 --- a/recipes/zulu-openjdk/all/conanfile.py +++ b/recipes/zulu-openjdk/all/conanfile.py @@ -1,19 +1,19 @@ -import os - from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.files import get, copy +import os +required_conan_version = ">=1.53.0" class ZuluOpenJDK(ConanFile): name = "zulu-openjdk" - url = "https://github.com/conan-io/conan-center-index/" description = "A OpenJDK distribution" - homepage = "https://www.azul.com" license = "https://www.azul.com/products/zulu-and-zulu-enterprise/zulu-terms-of-use/" + url = "https://github.com/conan-io/conan-center-index/" + homepage = "https://www.azul.com" topics = ("java", "jdk", "openjdk") - settings = "os", "arch" package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): @@ -24,38 +24,41 @@ def _jni_folder(self): folder = {"Linux": "linux", "Macos": "darwin", "Windows": "win32"}.get(str(self._settings_build.os)) return os.path.join("include", folder) + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type def validate(self): supported_archs = ["x86_64", "armv8"] if self._settings_build.arch not in supported_archs: raise ConanInvalidConfiguration(f"Unsupported Architecture ({self._settings_build.arch}). " - "This version {self.version} currently only supports {supported_archs}.") + f"This version {self.version} currently only supports {supported_archs}.") supported_os = ["Windows", "Macos", "Linux"] if self._settings_build.os not in supported_os: raise ConanInvalidConfiguration(f"Unsupported os ({self._settings_build.os}). " - "This package currently only support {supported_os}.") + f"This package currently only support {supported_os}.") def build(self): get(self, **self.conan_data["sources"][self.version][str(self._settings_build.os)][str(self._settings_build.arch)], strip_root=True) def package(self): copy(self, pattern="*", dst=os.path.join(self.package_folder, "bin"), - src=os.path.join(self.source_folder, "bin"), + src=os.path.join(self.source_folder, "bin"), excludes=("msvcp140.dll", "vcruntime140.dll")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "include"), + copy(self, pattern="*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib"), + copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib"), src=os.path.join(self.source_folder, "lib")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "res"), + copy(self, pattern="*", dst=os.path.join(self.package_folder, "res"), src=os.path.join(self.source_folder, "conf")) # conf folder is required for security settings, to avoid # java.lang.SecurityException: Can't read cryptographic policy directory: unlimited # https://github.com/conan-io/conan-center-index/pull/4491#issuecomment-774555069 - copy(self, pattern="*", dst=os.path.join(self.package_folder, "conf"), + copy(self, pattern="*", dst=os.path.join(self.package_folder, "conf"), src=os.path.join(self.source_folder, "conf")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "licenses"), + copy(self, pattern="*", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "legal")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib", "jmods"), + copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib", "jmods"), src=os.path.join(self.source_folder, "jmods")) def package_info(self): @@ -65,10 +68,10 @@ def package_info(self): java_home = self.package_folder bin_path = os.path.join(java_home, "bin") - self.output.info("Creating JAVA_HOME environment variable with : {0}".format(java_home)) + self.output.info(f"Creating JAVA_HOME environment variable with : {java_home}") self.env_info.JAVA_HOME = java_home self.buildenv_info.define_path("JAVA_HOME", java_home) self.runenv_info.define_path("JAVA_HOME", java_home) - self.output.info("Appending PATH environment variable with : {0}".format(bin_path)) + self.output.info(f"Appending PATH environment variable with : {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/zulu-openjdk/config.yml b/recipes/zulu-openjdk/config.yml index 41d345875e1e8..a92b329e254ee 100644 --- a/recipes/zulu-openjdk/config.yml +++ b/recipes/zulu-openjdk/config.yml @@ -1,5 +1,7 @@ versions: - "11.0.12": + "11.0.19": folder: all "11.0.15": folder: all + "11.0.12": + folder: all From 0343faf2a49c84ca5975f31b2dc267347f739908 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 14 Jun 2023 11:41:58 +0200 Subject: [PATCH 0535/4087] (#17890) wil: add version 1.0.230411.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 c9a6344cdb846..a123bb6fadf86 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.230411.1": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230411.1.tar.gz" + sha256: "03742849f5cb458fcfe8d30ff7afb6ff4bd67fe3aee3768cd6fb1140c59fcfd3" "1.0.230202.1": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230202.1.tar.gz" sha256: "7bf01e9d93fb93f0fe2614492fac4a423b3a97b435015db74f5ac4a0270ebc8a" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index 5d004c574dfa1..4e26f7b007f29 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.230411.1": + folder: "all" "1.0.230202.1": folder: "all" From 183021f38a7c8d47a9f0ac48882751d010dff018 Mon Sep 17 00:00:00 2001 From: Erin M Date: Wed, 14 Jun 2023 12:21:58 +0200 Subject: [PATCH 0536/4087] (#17877) vulkan-headers: Add 1.3.250 --- 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 a021c2306d89c..a1c2b29568796 100644 --- a/recipes/vulkan-headers/all/conandata.yml +++ b/recipes/vulkan-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.250.0": + url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.250.0.tar.gz" + sha256: "0da601a81b868bc543ec09ab7e514d1b059774993dfce81df7150f432c8bf33a" "1.3.243.0": url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.243.0.tar.gz" sha256: "29ddb2ef931f5fb0cabd1a78398f9c4da44d37f8c8a1e110f834f4c260c9d548" diff --git a/recipes/vulkan-headers/config.yml b/recipes/vulkan-headers/config.yml index 63336383d3028..f84f6da3852f9 100644 --- a/recipes/vulkan-headers/config.yml +++ b/recipes/vulkan-headers/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.250.0": + folder: all "1.3.243.0": folder: all "1.3.239.0": From 1dea51728d55b639fbe2adec0b07595041fbd3e3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 14 Jun 2023 13:42:47 +0200 Subject: [PATCH 0537/4087] (#17855) at-spi2-core: remove outdated workaround * at-spi2-core: remove outdated workaround * bump deps --- recipes/at-spi2-core/all/conanfile.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipes/at-spi2-core/all/conanfile.py b/recipes/at-spi2-core/all/conanfile.py index 44da1a0663727..32d98e739d744 100644 --- a/recipes/at-spi2-core/all/conanfile.py +++ b/recipes/at-spi2-core/all/conanfile.py @@ -47,15 +47,13 @@ def configure(self): del self.options.fPIC del self.settings.compiler.libcxx del self.settings.compiler.cppstd - if self.options.shared: - self.options["glib"].shared = True def build_requirements(self): - self.build_requires("meson/1.1.0") + self.build_requires("meson/1.1.1") self.build_requires("pkgconf/1.9.3") def requirements(self): - self.requires("glib/2.76.2") + self.requires("glib/2.76.3") if self.options.with_x11: self.requires("xorg/system") self.requires("dbus/1.15.2") @@ -108,6 +106,3 @@ def package_info(self): self.cpp_info.libs = ['atspi'] self.cpp_info.includedirs = ["include/at-spi-2.0"] self.cpp_info.names["pkg_config"] = "atspi-2" - - def package_id(self): - self.info.requires["glib"].full_package_mode() From 005867e5efec6f10d542a28579057caf480eeb0b Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Wed, 14 Jun 2023 13:22:45 +0100 Subject: [PATCH 0538/4087] (#17740) libwebm: Add recipe for building WebM container library. * libwebm: Add recipe for building WebM container library. * Add missing newline. * Add missing colon. * Fix shared & fPIC behaviour. * Don't validate `shared` && `fPIC` when building for Windows. * Further iteration of fPIC handling. * Link system maths library. * Add cmake_find_package_multi to test_v1_package. * Build test package with c++11 support. * Patch out forced prefix for Windows libraries. * Actually add the patch file... * Add patch to stop example programs being built. * Windows patch changes & feedback from WebM proj PR. * Remove Conan v1 support. * libwebm: Update to version 1.0.0.30. * Remove unnecessary topics. * libwebm: Disable sample programs. * libwebm: Change target names. --- recipes/libwebm/all/conandata.yml | 3 + recipes/libwebm/all/conanfile.py | 72 +++++++++++++++++++ .../libwebm/all/test_package/CMakeLists.txt | 8 +++ recipes/libwebm/all/test_package/conanfile.py | 26 +++++++ .../libwebm/all/test_package/test_package.cpp | 16 +++++ recipes/libwebm/config.yml | 3 + 6 files changed, 128 insertions(+) create mode 100644 recipes/libwebm/all/conandata.yml create mode 100644 recipes/libwebm/all/conanfile.py create mode 100644 recipes/libwebm/all/test_package/CMakeLists.txt create mode 100644 recipes/libwebm/all/test_package/conanfile.py create mode 100644 recipes/libwebm/all/test_package/test_package.cpp create mode 100644 recipes/libwebm/config.yml diff --git a/recipes/libwebm/all/conandata.yml b/recipes/libwebm/all/conandata.yml new file mode 100644 index 0000000000000..d6b7a70fca5c6 --- /dev/null +++ b/recipes/libwebm/all/conandata.yml @@ -0,0 +1,3 @@ +sources: + '1.0.0.30': + url: 'https://chromium.googlesource.com/webm/libwebm/+archive/libwebm-1.0.0.30.tar.gz' diff --git a/recipes/libwebm/all/conanfile.py b/recipes/libwebm/all/conanfile.py new file mode 100644 index 0000000000000..7d2ceec33ba43 --- /dev/null +++ b/recipes/libwebm/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +import os + +required_conan_version = ">=1.53.0" + + +class LibwebmConan(ConanFile): + name = "libwebm" + description = "Library for muxing and demuxing WebM media container files" + topics = ("webm", "container", "demuxing", "muxing", "media", "audio", "video") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://chromium.googlesource.com/webm/libwebm/" + license = "BSD-3-Clause" + + settings = "os", "arch", "compiler", "build_type" + + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_pes_ts": [True, False], + "with_new_parser_api": [True, False], + } + + default_options = { + "shared": False, + "fPIC": True, + "with_pes_ts": True, + "with_new_parser_api": 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") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version]) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_WEBMTS"] = self.options.with_pes_ts + tc.variables["ENABLE_WEBM_PARSER"] = self.options.with_new_parser_api + tc.variables["ENABLE_WEBMINFO"] = False + tc.variables["ENABLE_SAMPLE_PROGRAMS"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE.TXT", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "webm") + self.cpp_info.set_property("cmake_target_name", "webm::webm") + self.cpp_info.set_property("pkg_config_name", "webm") + self.cpp_info.libs = ["webm"] + + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/libwebm/all/test_package/CMakeLists.txt b/recipes/libwebm/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4a896b2300ca0 --- /dev/null +++ b/recipes/libwebm/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +find_package(webm REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE webm::webm) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/libwebm/all/test_package/conanfile.py b/recipes/libwebm/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/libwebm/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/libwebm/all/test_package/test_package.cpp b/recipes/libwebm/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4d44f2363caf2 --- /dev/null +++ b/recipes/libwebm/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include +#include +#include + +int main(void) { + int32_t major, minor, build, revision; + + mkvparser::GetVersion(major, minor, build, revision); + printf("Mkv Parser version: %d.%d.%d.%d\n", major, minor, build, revision); + + mkvmuxer::GetVersion(&major, &minor, &build, &revision); + printf("Mkv Muxer version: %d.%d.%d.%d\n", major, minor, build, revision); + + return 0; +} diff --git a/recipes/libwebm/config.yml b/recipes/libwebm/config.yml new file mode 100644 index 0000000000000..d9683e805a917 --- /dev/null +++ b/recipes/libwebm/config.yml @@ -0,0 +1,3 @@ +versions: + '1.0.0.30': + folder: all From 6b7a91694ec46a2b0c6783571cc8974b8aab4ced Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 14 Jun 2023 15:23:51 +0200 Subject: [PATCH 0539/4087] (#17496) at-spi2-atk: deprecate in favor of at-spi2-core * at-spi2-atk: deprecate in favor of at-spi2-core * fix hooks and bump deps * unbump glib * don't mess with package_id and dependencies options * bump deps --- recipes/at-spi2-atk/all/conanfile.py | 33 ++++++++++++---------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/recipes/at-spi2-atk/all/conanfile.py b/recipes/at-spi2-atk/all/conanfile.py index 2fc37026d8c0f..e8f187953a737 100644 --- a/recipes/at-spi2-atk/all/conanfile.py +++ b/recipes/at-spi2-atk/all/conanfile.py @@ -1,5 +1,8 @@ -from conans import ConanFile, Meson, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, rmdir + +from conans import Meson import os required_conan_version = ">=1.33.0" @@ -21,6 +24,7 @@ class AtSPI2AtkConan(ConanFile): "shared": False, "fPIC": True, } + deprecated = "at-spi2-core" _meson = None @@ -48,25 +52,21 @@ def configure(self): del self.options.fPIC del self.settings.compiler.libcxx del self.settings.compiler.cppstd - if self.options.shared: - self.options["at-spi2-core"].shared = True - self.options["atk"].shared = True - self.options["glib"].shared = True def build_requirements(self): - self.build_requires("meson/0.62.2") - self.build_requires('pkgconf/1.7.4') + self.build_requires("meson/1.1.1") + self.build_requires('pkgconf/1.9.3') def requirements(self): self.requires("at-spi2-core/2.44.1") self.requires("atk/2.38.0") - self.requires("glib/2.73.0") - self.requires("libxml2/2.9.14") + self.requires("glib/2.76.3") + self.requires("libxml2/2.11.4") def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], + strip_root=True, destination=self._source_subfolder) def _configure_meson(self): if self._meson: @@ -85,14 +85,9 @@ def package(self): self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) meson = self._configure_meson() meson.install() - tools.rmdir(os.path.join(self.package_folder, 'lib', 'pkgconfig')) + rmdir(self, os.path.join(self.package_folder, 'lib', 'pkgconfig')) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ['atk-bridge-2.0'] self.cpp_info.includedirs = [os.path.join('include', 'at-spi2-atk', '2.0')] self.cpp_info.names['pkg_config'] = 'atk-bridge-2.0' - - def package_id(self): - self.info.requires["at-spi2-core"].full_package_mode() - self.info.requires["atk"].full_package_mode() - self.info.requires["glib"].full_package_mode() From ac12ea13f41c6cc8c550f279b3f0ff66170118f3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 14 Jun 2023 16:42:57 +0200 Subject: [PATCH 0540/4087] (#17767) gfortran: deprecate in favor of gcc * gfortran: v2 compatibility * deprecate --- recipes/gfortran/all/conanfile.py | 4 +++- recipes/gfortran/all/test_package/conanfile.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/gfortran/all/conanfile.py b/recipes/gfortran/all/conanfile.py index 209997c47d1fa..2b4c0cbc0e73f 100644 --- a/recipes/gfortran/all/conanfile.py +++ b/recipes/gfortran/all/conanfile.py @@ -15,6 +15,8 @@ class GFortranConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True short_paths = True + + deprecated = "gcc" def validate(self): if self.settings.arch != "x86_64": @@ -24,7 +26,7 @@ def validate(self): def build_requirements(self): if self.settings.os == "Windows": - self.tool_requires("7zip/19.00") + self.tool_requires("7zip/22.01") def build(self): if self.settings.os == "Windows": diff --git a/recipes/gfortran/all/test_package/conanfile.py b/recipes/gfortran/all/test_package/conanfile.py index 9d3aaf213929b..e0f64282eb4bd 100644 --- a/recipes/gfortran/all/test_package/conanfile.py +++ b/recipes/gfortran/all/test_package/conanfile.py @@ -11,4 +11,4 @@ def build_requirements(self): def test(self): if can_run(self): - self.run("gfortran --version", env="conanrun") + self.run("gfortran --version") From cb91e91f8d6dfb29b1bd64a11148aacc41e6915e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 14 Jun 2023 16:43:30 +0100 Subject: [PATCH 0541/4087] (#17470) libtins: Conan v2 support * libtins: Conan v2 support Also upgraded dependencies: - boost 1.79.0 -> 1.81.0 - openssl 1.1.1q -> 3.1.0 * libtins: fix patches not being applied * libtins: add missing 'm' system lib * libtins: drop test_v1_package * libtins: use version range for openssl dependency Co-authored-by: Uilian Ries * libtins: set PCAP library properties without patching * console_bridge: remove transitive_libs from boost The used components appear to be header-only. * libtins: add "with_tcp_stream_custom_data" option Available already since v3.5 and enabled by default: https://github.com/mfontanini/libtins/commit/fdc6ccdf5c2a00b40736958282b11188eec221f8 --------- Co-authored-by: Uilian Ries --- recipes/libtins/all/CMakeLists.txt | 7 - recipes/libtins/all/conanfile.py | 156 ++++++++---------- .../libtins/all/test_package/CMakeLists.txt | 12 +- recipes/libtins/all/test_package/conanfile.py | 19 ++- .../libtins/all/test_package/test_package.cpp | 2 +- 5 files changed, 92 insertions(+), 104 deletions(-) delete mode 100644 recipes/libtins/all/CMakeLists.txt diff --git a/recipes/libtins/all/CMakeLists.txt b/recipes/libtins/all/CMakeLists.txt deleted file mode 100644 index 61f3d3b039e2b..0000000000000 --- a/recipes/libtins/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/libtins/all/conanfile.py b/recipes/libtins/all/conanfile.py index 27984b1647f64..7bca8b98f2ebb 100644 --- a/recipes/libtins/all/conanfile.py +++ b/recipes/libtins/all/conanfile.py @@ -1,18 +1,29 @@ -from conans import tools, CMake, ConanFile import os -import textwrap -required_conan_version = ">=1.43.0" +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 copy, get, replace_in_file, rm, rmdir + +required_conan_version = ">=1.53.0" class LibTinsConan(ConanFile): name = "libtins" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/mfontanini/libtins" description = "High-level, multiplatform C++ network packet sniffing and crafting library." license = "BSD-2-Clause" - topics = ("pcap", "packets", "network", "packet-analyser", "packet-parsing", "libpcap", "sniffing") - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mfontanini/libtins" + topics = ( + "pcap", + "packets", + "network", + "packet-analyser", + "packet-parsing", + "libpcap", + "sniffing", + ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -20,6 +31,7 @@ class LibTinsConan(ConanFile): "with_ack_tracker": [True, False], "with_wpa2": [True, False], "with_dot11": [True, False], + "with_tcp_stream_custom_data": [True, False], } default_options = { "shared": False, @@ -27,19 +39,12 @@ class LibTinsConan(ConanFile): "with_ack_tracker": True, "with_wpa2": True, "with_dot11": True, + "with_tcp_stream_custom_data": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_subfolder" + def _min_cppstd(self): + return 11 def config_options(self): if self.settings.os == "Windows": @@ -47,88 +52,71 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libpcap/1.10.1") - if self.options.with_ack_tracker: - self.requires("boost/1.79.0") + self.requires("libpcap/1.10.1", transitive_headers=True, transitive_libs=True) + if self.options.with_ack_tracker or self.options.with_tcp_stream_custom_data: + # Used in two public headers: + # - https://github.com/mfontanini/libtins/blob/v4.4/include/tins/tcp_ip/ack_tracker.h#L38 + # - https://github.com/mfontanini/libtins/blob/v4.4/include/tins/tcp_ip/stream.h#L48 + self.requires("boost/1.81.0", transitive_headers=True) if self.options.with_wpa2: - self.requires("openssl/1.1.1q") + self.requires("openssl/[>=1.1 <4]") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - # Use Findlibpcap.cmake from cmake_find_package - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "FIND_PACKAGE(PCAP REQUIRED)", - "find_package(libpcap REQUIRED)") - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "CMakeLists.txt"), - "${PCAP_LIBRARY}", - "libpcap::libpcap") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["LIBTINS_BUILD_EXAMPLES"] = False - self._cmake.definitions["LIBTINS_BUILD_TESTS"] = False - - self._cmake.definitions["LIBTINS_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["LIBTINS_ENABLE_CXX11"] = tools.valid_min_cppstd(self, 11) - self._cmake.definitions["LIBTINS_ENABLE_ACK_TRACKER"] = self.options.with_ack_tracker - self._cmake.definitions["LIBTINS_ENABLE_WPA2"] = self.options.with_wpa2 - self._cmake.definitions["LIBTINS_ENABLE_DOT11"] = self.options.with_dot11 - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBTINS_BUILD_EXAMPLES"] = False + tc.variables["LIBTINS_BUILD_TESTS"] = False + tc.variables["LIBTINS_BUILD_SHARED"] = self.options.shared + tc.variables["LIBTINS_ENABLE_CXX11"] = True + tc.variables["LIBTINS_ENABLE_ACK_TRACKER"] = self.options.with_ack_tracker + tc.variables["LIBTINS_ENABLE_TCP_STREAM_CUSTOM_DATA"] = self.options.with_tcp_stream_custom_data + tc.variables["LIBTINS_ENABLE_WPA2"] = self.options.with_wpa2 + tc.variables["LIBTINS_ENABLE_DOT11"] = self.options.with_dot11 + tc.variables["PCAP_LIBRARY"] = "libpcap::libpcap" + tc.generate() + deps = CMakeDeps(self) + deps.set_property("libpcap", "cmake_file_name", "PCAP") + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(os.path.join(self._source_subfolder, "LICENSE"), dst="licenses") - cmake = self._configure_cmake() - cmake.install() - tools.rmdir(os.path.join(self.package_folder, "CMake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), - {"libtins": "libtins::libtins"} + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, ) + cmake = CMake(self) + cmake.install() - @staticmethod - def _create_cmake_module_alias_targets(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)) - tools.save(module_file, content) - - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + 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, "lib"), recursive=True) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "libtins") - self.cpp_info.set_property("cmake_target_name", "libtins") - self.cpp_info.set_property("pkg_config_name", "libtins") self.cpp_info.libs = ["tins"] + self.cpp_info.set_property("pkg_config_name", "libtins") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.defines.append("TINS_STATIC") self.cpp_info.system_libs.extend(["ws2_32", "iphlpapi"]) - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/libtins/all/test_package/CMakeLists.txt b/recipes/libtins/all/test_package/CMakeLists.txt index e785b2b7bd437..94a84063fcb9f 100644 --- a/recipes/libtins/all/test_package/CMakeLists.txt +++ b/recipes/libtins/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) find_package(libtins REQUIRED CONFIG) -add_executable(test_package test_package.cpp) -target_link_libraries(test_package libtins) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libtins::libtins) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/libtins/all/test_package/conanfile.py b/recipes/libtins/all/test_package/conanfile.py index a4f1e01b10ec3..ef5d7042163ec 100644 --- a/recipes/libtins/all/test_package/conanfile.py +++ b/recipes/libtins/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import tools, ConanFile, CMake +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "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/libtins/all/test_package/test_package.cpp b/recipes/libtins/all/test_package/test_package.cpp index 54d999bafa1ac..7f4d391a27813 100644 --- a/recipes/libtins/all/test_package/test_package.cpp +++ b/recipes/libtins/all/test_package/test_package.cpp @@ -6,5 +6,5 @@ int main() { SnifferConfiguration config; config.set_filter("port 80"); config.set_promisc_mode(true); - config.set_snap_len(400); + config.set_snap_len(50); } From 95e4194a08d708f6dfda3be5db8946545118c720 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 14 Jun 2023 18:21:57 +0200 Subject: [PATCH 0542/4087] (#17935) Bump/at spi2 core/new * at-spi2-core/new: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * at-spi2-core/new: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * at-spi2-core/new: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/at-spi2-core/new/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/at-spi2-core/new/conanfile.py b/recipes/at-spi2-core/new/conanfile.py index a1cb677e5eea0..85d759b7547fc 100644 --- a/recipes/at-spi2-core/new/conanfile.py +++ b/recipes/at-spi2-core/new/conanfile.py @@ -44,15 +44,15 @@ def configure(self): self.options["glib"].shared = True def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.1.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") def requirements(self): - self.requires("glib/2.76.2") + self.requires("glib/2.76.3") if self.options.with_x11: self.requires("xorg/system") - self.requires("dbus/1.15.2") + self.requires("dbus/1.15.6") def validate(self): if self.options.shared and not self.options["glib"].shared: From 63a5db3a10b18a48c1355ed7910d8c4e2411e07c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 14 Jun 2023 20:21:42 +0200 Subject: [PATCH 0543/4087] (#17930) [bot] Update list of references (prod-v2/ListPackages) --- .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 b94929723d92f..15173de4683b5 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -55,6 +55,7 @@ required_for_references: - bacnet-stack - baical-p7 - base64 +- bazel - bdwgc - bear - benchmark @@ -256,6 +257,7 @@ required_for_references: - ginkgo - gklib - glad +- glaze - glfw - gli - glib @@ -362,6 +364,7 @@ required_for_references: - liblzf - libmad - libmediainfo +- libmemcached - libmikmod - libmodbus - libmodplug @@ -453,6 +456,7 @@ required_for_references: - minizip - minizip-ng - mongo-c-driver +- mozilla-build - mozjpeg - mpg123 - ms-gsl From b2d2b624f83bf24564048eddf342d80d5955e661 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 15 Jun 2023 12:22:37 +0400 Subject: [PATCH 0544/4087] (#17812) [hwloc] new recipe --- recipes/hwloc/all/conandata.yml | 13 ++ recipes/hwloc/all/conanfile.py | 114 ++++++++++++++++++ recipes/hwloc/all/test_package/CMakeLists.txt | 7 ++ recipes/hwloc/all/test_package/conanfile.py | 26 ++++ recipes/hwloc/all/test_package/test_package.c | 10 ++ recipes/hwloc/config.yml | 9 ++ 6 files changed, 179 insertions(+) create mode 100644 recipes/hwloc/all/conandata.yml create mode 100644 recipes/hwloc/all/conanfile.py create mode 100644 recipes/hwloc/all/test_package/CMakeLists.txt create mode 100644 recipes/hwloc/all/test_package/conanfile.py create mode 100644 recipes/hwloc/all/test_package/test_package.c create mode 100644 recipes/hwloc/config.yml diff --git a/recipes/hwloc/all/conandata.yml b/recipes/hwloc/all/conandata.yml new file mode 100644 index 0000000000000..bfdda23bd429a --- /dev/null +++ b/recipes/hwloc/all/conandata.yml @@ -0,0 +1,13 @@ +sources: + "2.9.1": + sha256: "a440e2299f7451dc10a57ddbfa3f116c2a6c4be1bb97c663edd3b9c7b3b3b4cf" + url: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.1.tar.gz + "2.9.0": + sha256: "9d7d3450e0a5fea4cb80ca07dc8db939abb7ab62e2a7bb27f9376447658738ec" + url: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.0.tar.gz + "2.8.0": + sha256: "20b2bd4df436827d8e50f7afeafb6f967259f2fb374ce7330244f8d0ed2dde6f" + url: https://download.open-mpi.org/release/hwloc/v2.8/hwloc-2.8.0.tar.gz + "2.7.2": + sha256: "407d2712b1c9026787461ddb62044fa9b5c6007755ca37652b360d837a75344f" + url: https://download.open-mpi.org/release/hwloc/v2.7/hwloc-2.7.2.tar.gz diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py new file mode 100644 index 0000000000000..ac1264a7b4049 --- /dev/null +++ b/recipes/hwloc/all/conanfile.py @@ -0,0 +1,114 @@ +from conan import ConanFile +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import 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.53.0" + + +class HwlocConan(ConanFile): + name = "hwloc" + description = "Portable Hardware Locality (hwloc)" + topics = ("hardware", "topology") + license = "BSD-3-Clause" + homepage = "https://www.open-mpi.org/projects/hwloc/" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_libxml2": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_libxml2": 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 requirements(self): + if self.options.with_libxml2: + self.requires("libxml2/2.9.12") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def layout(self): + if self.settings.os == "Windows": + cmake_layout(self, src_folder="src") + else: + basic_layout(self, src_folder="src") + + def generate(self): + if self.settings.os == "Windows": + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.cache_variables["HWLOC_ENABLE_TESTING"] = 'OFF' + tc.cache_variables["HWLOC_SKIP_LSTOPO"] = 'ON' + tc.cache_variables["HWLOC_SKIP_TOOLS"] = 'ON' + tc.cache_variables["HWLOC_SKIP_INCLUDES"] = 'OFF' + tc.cache_variables["HWLOC_WITH_OPENCL"] = 'OFF' + tc.cache_variables["HWLOC_WITH_CUDA"] = 'OFF' + tc.cache_variables["HWLOC_BUILD_SHARED_LIBS"] = self.options.shared + tc.cache_variables["HWLOC_WITH_LIBXML2"] = self.options.with_libxml2 + tc.generate() + else: + deps = PkgConfigDeps(self) + deps.generate() + tc = AutotoolsToolchain(self) + if not self.options.with_libxml2: + tc.configure_args.extend(["--disable-libxml2"]) + tc.configure_args.extend(["--disable-io", "--disable-cairo"]) + tc.generate() + + def build(self): + if self.settings.os == "Windows": + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join("contrib", "windows-cmake")) + cmake.build() + else: + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, "COPYING", self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if self.settings.os == "Windows": + cmake = CMake(self) + cmake.install() + # remove PDB files + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + else: + autotools = Autotools(self) + autotools.install() + fix_apple_shared_install_name(self) + # remove tools + rmdir(self, os.path.join(self.package_folder, "bin")) + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", 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("pkg_config_name", "hwloc") + self.cpp_info.libs = ["hwloc"] + + if not self.options.shared: + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + if is_apple_os(self): + self.cpp_info.frameworks = ['IOKit', 'Foundation', 'CoreFoundation'] diff --git a/recipes/hwloc/all/test_package/CMakeLists.txt b/recipes/hwloc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ea8c4a4511afc --- /dev/null +++ b/recipes/hwloc/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(hwloc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE hwloc::hwloc) diff --git a/recipes/hwloc/all/test_package/conanfile.py b/recipes/hwloc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/hwloc/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/hwloc/all/test_package/test_package.c b/recipes/hwloc/all/test_package/test_package.c new file mode 100644 index 0000000000000..a8a04af2fe797 --- /dev/null +++ b/recipes/hwloc/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include + +int main(void) { + hwloc_topology_t topology; + + hwloc_topology_init(&topology); + hwloc_topology_destroy(topology); + + return 0; +} diff --git a/recipes/hwloc/config.yml b/recipes/hwloc/config.yml new file mode 100644 index 0000000000000..724950afba073 --- /dev/null +++ b/recipes/hwloc/config.yml @@ -0,0 +1,9 @@ +versions: + "2.9.1": + folder: all + "2.9.0": + folder: all + "2.8.0": + folder: all + "2.7.2": + folder: all From 61add294648a42d778e9da77d4312282e74b9c02 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Jun 2023 18:22:46 +0900 Subject: [PATCH 0545/4087] (#17880) rapidfuzz: add version 2.0.0, add package_type --- recipes/rapidfuzz/all/conandata.yml | 3 +++ recipes/rapidfuzz/all/conanfile.py | 2 +- recipes/rapidfuzz/all/test_package/CMakeLists.txt | 2 +- recipes/rapidfuzz/config.yml | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index 040b401c838af..72d797c618c5e 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.0.0.tar.gz" + sha256: "0d6d399be1de151631bbc189b72089600884831a4dac91e22f17351cef18ae64" "1.10.4": url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v1.10.4.tar.gz" sha256: "84a1ea8759aaa5bc8587c26504421d6fd34ad2a8dc74bf469b0cc3cc6758e17a" diff --git a/recipes/rapidfuzz/all/conanfile.py b/recipes/rapidfuzz/all/conanfile.py index c1795c07d7730..7ffe16027b312 100644 --- a/recipes/rapidfuzz/all/conanfile.py +++ b/recipes/rapidfuzz/all/conanfile.py @@ -17,6 +17,7 @@ class PackageConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/maxbachmann/rapidfuzz-cpp" topics = ("levenshtein", "string-matching", "string-similarity", "string-comparison", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -54,7 +55,6 @@ def validate(self): 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, "rapidfuzz/*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) diff --git a/recipes/rapidfuzz/all/test_package/CMakeLists.txt b/recipes/rapidfuzz/all/test_package/CMakeLists.txt index 2f63d271b136c..91a5e1677ee9b 100644 --- a/recipes/rapidfuzz/all/test_package/CMakeLists.txt +++ b/recipes/rapidfuzz/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) find_package(rapidfuzz REQUIRED CONFIG) diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index 5f45a18000f9c..62df69f5c8745 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: "all" "1.10.4": folder: "all" "cci.20210513": From e9a40780ef74d2e94cce5cc2201be062e373dcf5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Jun 2023 21:02:15 +0900 Subject: [PATCH 0546/4087] (#17936) icu: add version 73.2, remove unused patch file --- recipes/icu/all/conandata.yml | 5 +++++ recipes/icu/all/conanfile.py | 2 +- ...9344a18f4f32e8070ee53b79495630901c26.patch | 22 ------------------- recipes/icu/config.yml | 2 ++ 4 files changed, 8 insertions(+), 23 deletions(-) delete mode 100644 recipes/icu/all/patches/6aba9344a18f4f32e8070ee53b79495630901c26.patch diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index bebf278b61b51..24eb6e8181a95 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "73.2": + url: "https://github.com/unicode-org/icu/releases/download/release-73-2/icu4c-73_2-src.tgz" + sha256: "818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1" "73.1": url: "https://github.com/unicode-org/icu/releases/download/release-73-1/icu4c-73_1-src.tgz" sha256: "a457431de164b4aa7eca00ed134d00dfbf88a77c6986a10ae7774fc076bb8c45" @@ -18,6 +21,8 @@ sources: url: "https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz" sha256: "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" patches: + "73.2": + - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" "72.1": diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 26611e98022e6..7c1ed7f4b7c6e 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -24,7 +24,7 @@ class ICUConan(ConanFile): description = "ICU is a mature, widely used set of C/C++ and Java libraries " \ "providing Unicode and Globalization support for software applications." url = "https://github.com/conan-io/conan-center-index" - topics = ("icu", "icu4c", "i see you", "unicode") + topics = ("icu4c", "i see you", "unicode") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/icu/all/patches/6aba9344a18f4f32e8070ee53b79495630901c26.patch b/recipes/icu/all/patches/6aba9344a18f4f32e8070ee53b79495630901c26.patch deleted file mode 100644 index 05ecec5cd8005..0000000000000 --- a/recipes/icu/all/patches/6aba9344a18f4f32e8070ee53b79495630901c26.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 6aba9344a18f4f32e8070ee53b79495630901c26 Mon Sep 17 00:00:00 2001 -From: "Shane F. Carr" -Date: Fri, 24 Apr 2020 19:23:40 -0500 -Subject: [PATCH] ICU-21081 Make U_ASSERT C++14 compatible - ---- - source/common/uassert.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/source/common/uassert.h b/source/common/uassert.h -index 15cd55c8734..afd31eeffd9 100644 ---- a/source/common/uassert.h -+++ b/source/common/uassert.h -@@ -32,7 +32,7 @@ - # include - # define U_ASSERT(exp) assert(exp) - #elif U_CPLUSPLUS_VERSION --# define U_ASSERT(exp) void() -+# define U_ASSERT(exp) (void)0 - #else - # define U_ASSERT(exp) - #endif diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index 14241e230efc1..af733c9ce0ff1 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "73.2": + folder: all "73.1": folder: all "72.1": From 90f2c353ed03956c201d36cce707210ab2a77fad Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Jun 2023 22:01:47 +0900 Subject: [PATCH 0547/4087] (#17929) c4core: update fast_float 5.2.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index 55906598cb7b9..7d65b437dcf21 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/5.0.0", transitive_headers=True) + self.requires("fast_float/5.2.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 6b8596050e70b4871273e49505557415e7408494 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Jun 2023 22:42:58 +0900 Subject: [PATCH 0548/4087] (#17904) daw_json_link: add version 3.17.2, update daw_header_libraries --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/all/conanfile.py | 2 +- recipes/daw_json_link/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 34917b7868c4b..77fb43160a9b9 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.17.2": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.17.2.tar.gz" + sha256: "6f74d386c842d83f32798f4e4cf812da9872cf4fe3565393443fc3be1a06a8ae" "3.17.1": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.17.1.tar.gz" sha256: "a29c6bcb7856ac0217fa36873af007f619fd467097488746f29a6a332616a829" diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index b573c7276e333..7a1455d0e9bda 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.92.0") + self.requires("daw_header_libraries/2.93.1") self.requires("daw_utf_range/2.2.3") def package_id(self): diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index b6d705def5e3f..754af98c981f6 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.17.2": + folder: "all" "3.17.1": folder: "all" "3.16.0": From b991547ff7ea39f9576f92a5e1ece42173975003 Mon Sep 17 00:00:00 2001 From: Christopher Bradfield <11827031+cjbradfield@users.noreply.github.com> Date: Thu, 15 Jun 2023 09:42:15 -0500 Subject: [PATCH 0549/4087] (#17832) Add version 8.1.0 to the llhttp recipe * Add version 8.1.0 to the llhttp recipe * Remove .pc install lines in CMakeLists from llhttp 8.1.0 * Only build the static libhttp 8.1.0 library if shared=False * Update the patch to add RUNTIME DESTINATION for Windows --- recipes/llhttp/all/conandata.yml | 5 +++++ recipes/llhttp/all/conanfile.py | 2 ++ .../all/patches/cmake_remove_pcfiles.patch | 18 ++++++++++++++++++ recipes/llhttp/config.yml | 2 ++ 4 files changed, 27 insertions(+) create mode 100644 recipes/llhttp/all/patches/cmake_remove_pcfiles.patch diff --git a/recipes/llhttp/all/conandata.yml b/recipes/llhttp/all/conandata.yml index c68e912051f93..c0d216898aa55 100644 --- a/recipes/llhttp/all/conandata.yml +++ b/recipes/llhttp/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "8.1.0": + url: https://github.com/nodejs/llhttp/archive/refs/tags/release/v8.1.0.tar.gz + sha256: "9da0d23453e8e242cf3b2bc5d6fb70b1517b8a70520065fcbad6be787e86638e" "6.0.6": url: https://github.com/nodejs/llhttp/archive/refs/tags/release/v6.0.6.tar.gz sha256: "14023d0efce07a996a197d3b6b15020b26526605277e521f5aa10dacc3af67ad" patches: + "8.1.0": + - patch_file: "patches/cmake_remove_pcfiles.patch" "6.0.6": - patch_file: "patches/cmake_install_dirs.patch" diff --git a/recipes/llhttp/all/conanfile.py b/recipes/llhttp/all/conanfile.py index e3071abca2729..d481feee9f858 100644 --- a/recipes/llhttp/all/conanfile.py +++ b/recipes/llhttp/all/conanfile.py @@ -46,6 +46,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + if not self.options.shared: + tc.variables["BUILD_STATIC_LIBS"] = True tc.generate() def build(self): diff --git a/recipes/llhttp/all/patches/cmake_remove_pcfiles.patch b/recipes/llhttp/all/patches/cmake_remove_pcfiles.patch new file mode 100644 index 0000000000000..f6cab456c7e6f --- /dev/null +++ b/recipes/llhttp/all/patches/cmake_remove_pcfiles.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt.new +@@ -62,14 +62,10 @@ + EXPORT llhttp + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + +- install(FILES +- ${CMAKE_CURRENT_SOURCE_DIR}/libllhttp.pc +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig +- ) +- + # This is required to work with FetchContent + install(EXPORT llhttp + FILE llhttp-config.cmake diff --git a/recipes/llhttp/config.yml b/recipes/llhttp/config.yml index 158212133c56d..047cd19c4e9fa 100644 --- a/recipes/llhttp/config.yml +++ b/recipes/llhttp/config.yml @@ -1,3 +1,5 @@ versions: + "8.1.0": + folder: all "6.0.6": folder: all From a2e0b6f05efe419c7fb4b0efc5b01a9cb9e49d12 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Fri, 16 Jun 2023 07:25:39 +0200 Subject: [PATCH 0550/4087] (#16252) mp-units recipes updated to Conan 2.0 * mp-units recipes updated to Conan 2.0 * linter issues resolved * `cmake_layout` now properly points to the current directory * Revert "`cmake_layout` now properly points to the current directory" This reverts commit 1caf7bf990a6118cbbf5fc8f7bc52599734b5d68. * `package_type` set to `header-library` * `requires` attribute moved to `requirements` + traits added * `package_id()` removed as not needed with `package_type=header_library` * explicit `transitive_*` traits removed for requirements * Revert "`package_id()` removed as not needed with `package_type=header_library`" This reverts commit 3f42e821073d4b519368722573226347a255288f. * Conan version requirement downgraded to 1.59 * added test_v1_package * `_full_compiler_version` for msvc did not work as expected * Update recipes/mp-units/0.7.0/conanfile.py Co-authored-by: Jordan Williams * `transitive_headers` set for `fmt` and `gsl-lite` * Fix building with Clang * Update recipes/mp-units/0.7.0/conandata.yml * mp-units/0.8.0 support added * Old releases of mp-units removed * "cmake/3.26.4" `tool_requires` added * version range set for "cmake" * sha256 updated as it weirdly changed --------- Co-authored-by: memsharded Co-authored-by: Jordan Williams --- recipes/mp-units/0.6.0/conandata.yml | 4 - recipes/mp-units/0.6.0/conanfile.py | 69 -------- .../0.6.0/test_package/CMakeLists.txt | 9 - .../mp-units/0.6.0/test_package/conanfile.py | 25 --- .../0.6.0/test_package/test_package.cpp | 8 - recipes/mp-units/0.7.0/conandata.yml | 4 - recipes/mp-units/0.7.0/conanfile.py | 84 ---------- recipes/mp-units/0.8.0/conandata.yml | 4 + recipes/mp-units/0.8.0/conanfile.py | 155 ++++++++++++++++++ .../test_package/CMakeLists.txt | 0 .../mp-units/0.8.0/test_package/conanfile.py | 27 +++ .../test_package/test_package.cpp | 0 .../0.8.0/test_v1_package/CMakeLists.txt | 10 ++ .../test_v1_package}/conanfile.py | 0 .../0.8.0/test_v1_package/test_package.cpp | 19 +++ recipes/mp-units/config.yml | 6 +- 16 files changed, 217 insertions(+), 207 deletions(-) delete mode 100644 recipes/mp-units/0.6.0/conandata.yml delete mode 100644 recipes/mp-units/0.6.0/conanfile.py delete mode 100644 recipes/mp-units/0.6.0/test_package/CMakeLists.txt delete mode 100644 recipes/mp-units/0.6.0/test_package/conanfile.py delete mode 100644 recipes/mp-units/0.6.0/test_package/test_package.cpp delete mode 100644 recipes/mp-units/0.7.0/conandata.yml delete mode 100644 recipes/mp-units/0.7.0/conanfile.py create mode 100644 recipes/mp-units/0.8.0/conandata.yml create mode 100644 recipes/mp-units/0.8.0/conanfile.py rename recipes/mp-units/{0.7.0 => 0.8.0}/test_package/CMakeLists.txt (100%) create mode 100644 recipes/mp-units/0.8.0/test_package/conanfile.py rename recipes/mp-units/{0.7.0 => 0.8.0}/test_package/test_package.cpp (100%) create mode 100644 recipes/mp-units/0.8.0/test_v1_package/CMakeLists.txt rename recipes/mp-units/{0.7.0/test_package => 0.8.0/test_v1_package}/conanfile.py (100%) create mode 100644 recipes/mp-units/0.8.0/test_v1_package/test_package.cpp diff --git a/recipes/mp-units/0.6.0/conandata.yml b/recipes/mp-units/0.6.0/conandata.yml deleted file mode 100644 index b8636a96910a4..0000000000000 --- a/recipes/mp-units/0.6.0/conandata.yml +++ /dev/null @@ -1,4 +0,0 @@ -sources: - "0.6.0": - url: https://github.com/mpusz/units/archive/v0.6.0.tar.gz - sha256: 7102d2c4460c87525d385b5f1488ac0ef9755b7f7984076bcc64d1506e1bdfd8 diff --git a/recipes/mp-units/0.6.0/conanfile.py b/recipes/mp-units/0.6.0/conanfile.py deleted file mode 100644 index d3b064aae5a00..0000000000000 --- a/recipes/mp-units/0.6.0/conanfile.py +++ /dev/null @@ -1,69 +0,0 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from conans.tools import Version, check_min_cppstd -import os - - -class MPUnitsConan(ConanFile): - name = "mp-units" - homepage = "https://github.com/mpusz/units" - description = "Physical Units library for C++" - topics = ("units", "dimensions", "quantities", "dimensional-analysis", "physical-quantities", "physical-units", "system-of-units", "cpp23", "cpp20", "library", "quantity-manipulation") - license = "MIT" - url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - requires = ( - "fmt/7.0.3", - "ms-gsl/3.1.0" - ) - generators = "cmake" - no_copy_source = True - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def _validate_compiler_settings(self): - compiler = self.settings.compiler - version = Version(self.settings.compiler.version) - if compiler == "gcc": - if version < "10.0": - raise ConanInvalidConfiguration("mp-units requires at least g++-10") - elif compiler == "Visual Studio": - if version < "16": - raise ConanInvalidConfiguration("mp-units requires at least MSVC 16.7") - else: - raise ConanInvalidConfiguration("mp-units is supported only by gcc and Visual Studio so far") - if compiler.get_safe("cppstd"): - check_min_cppstd(self, "20") - - def configure(self): - self._validate_compiler_settings() - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "units-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def package(self): - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "src", "include")) - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) - - def package_id(self): - self.info.header_only() - - def package_info(self): - compiler = self.settings.compiler - version = Version(self.settings.compiler.version) - if compiler == "gcc": - self.cpp_info.cxxflags = [ - "-Wno-non-template-friend" - ] - elif compiler == "Visual Studio": - self.cpp_info.cxxflags = [ - "/utf-8" - ] diff --git a/recipes/mp-units/0.6.0/test_package/CMakeLists.txt b/recipes/mp-units/0.6.0/test_package/CMakeLists.txt deleted file mode 100644 index 9276c30bd7348..0000000000000 --- a/recipes/mp-units/0.6.0/test_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE CONAN_PKG::mp-units) -target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) diff --git a/recipes/mp-units/0.6.0/test_package/conanfile.py b/recipes/mp-units/0.6.0/test_package/conanfile.py deleted file mode 100644 index 0109b151054b5..0000000000000 --- a/recipes/mp-units/0.6.0/test_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - - # TODO remove when https://github.com/conan-io/conan/issues/7680 is solved (or VS2019 is updated to at least 16.7) - def _skip_check(self): - return self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version) <= "16" - - def build(self): - if self._skip_check(): - return - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if self._skip_check(): - return - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/mp-units/0.6.0/test_package/test_package.cpp b/recipes/mp-units/0.6.0/test_package/test_package.cpp deleted file mode 100644 index 08d749317da70..0000000000000 --- a/recipes/mp-units/0.6.0/test_package/test_package.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -int main() -{ - using namespace units::physical::si::literals; - std::cout << "Speed = " << 240._q_km / 2_q_h << '\n'; -} diff --git a/recipes/mp-units/0.7.0/conandata.yml b/recipes/mp-units/0.7.0/conandata.yml deleted file mode 100644 index 9986b435619c5..0000000000000 --- a/recipes/mp-units/0.7.0/conandata.yml +++ /dev/null @@ -1,4 +0,0 @@ -sources: - "0.7.0": - url: https://github.com/mpusz/units/archive/v0.7.0.tar.gz - sha256: 7ff4bc3537e1bd09630fefae513796686a3f97e509283ad658e1ae81fe49de67 diff --git a/recipes/mp-units/0.7.0/conanfile.py b/recipes/mp-units/0.7.0/conanfile.py deleted file mode 100644 index 71d2cc465a52e..0000000000000 --- a/recipes/mp-units/0.7.0/conanfile.py +++ /dev/null @@ -1,84 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version, check_min_cppstd -from conans.errors import ConanInvalidConfiguration -import os - -required_conan_version = ">=1.33.0" - -class MPUnitsConan(ConanFile): - name = "mp-units" - homepage = "https://github.com/mpusz/units" - description = "Physical Units library for C++" - topics = ("units", "dimensions", "quantities", "dimensional-analysis", "physical-quantities", "physical-units", "system-of-units", "cpp23", "cpp20", "library", "quantity-manipulation") - license = "MIT" - url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - generators = "cmake_find_package_multi" - no_copy_source = True - - @property - def _source_subfolder(self): - return "source_subfolder" - - def requirements(self): - compiler = self.settings.compiler - self.requires("fmt/7.1.3") - self.requires("gsl-lite/0.38.0") - if compiler == "clang" and compiler.libcxx == "libc++": - self.requires("range-v3/0.11.0") - - def validate(self): - compiler = self.settings.compiler - version = Version(self.settings.compiler.version) - if compiler == "gcc": - if version < "10.0": - raise ConanInvalidConfiguration("mp-units requires at least g++-10") - elif compiler == "clang": - if version < "12": - raise ConanInvalidConfiguration("mp-units requires at least clang++-12") - elif compiler == "Visual Studio": - if version < "16": - raise ConanInvalidConfiguration("mp-units requires at least Visual Studio 16.9") - else: - raise ConanInvalidConfiguration("Unsupported compiler") - if compiler.get_safe("cppstd"): - check_min_cppstd(self, "20") - - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) - - def package(self): - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) - cmake = CMake(self) - cmake.configure(source_folder=os.path.join(self._source_subfolder, "src")) - cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - - def package_id(self): - self.info.header_only() - - def package_info(self): - compiler = self.settings.compiler - - # core - self.cpp_info.components["core"].requires = ["gsl-lite::gsl-lite"] - if compiler == "Visual Studio": - self.cpp_info.components["core"].cxxflags = ["/utf-8"] - elif compiler == "clang" and compiler.libcxx == "libc++": - self.cpp_info.components["core"].requires.append("range-v3::range-v3") - - # rest - self.cpp_info.components["core-io"].requires = ["core"] - self.cpp_info.components["core-fmt"].requires = ["core", "fmt::fmt"] - self.cpp_info.components["isq"].requires = ["core"] - self.cpp_info.components["isq-natural"].requires = ["isq"] - self.cpp_info.components["si"].requires = ["isq"] - self.cpp_info.components["si-cgs"].requires = ["si"] - self.cpp_info.components["si-fps"].requires = ["si"] - self.cpp_info.components["si-iau"].requires = ["si"] - self.cpp_info.components["si-imperial"].requires = ["si"] - self.cpp_info.components["si-international"].requires = ["si"] - self.cpp_info.components["si-typographic"].requires = ["si"] - self.cpp_info.components["si-uscs"].requires = ["si"] - self.cpp_info.components["isq-iec80000"].requires = ["si"] - self.cpp_info.components["systems"].requires = ["isq", "isq-natural", "si", "si-cgs", "si-fps", "si-iau", "si-imperial", "si-international", "si-typographic", "si-uscs", "isq-iec80000"] diff --git a/recipes/mp-units/0.8.0/conandata.yml b/recipes/mp-units/0.8.0/conandata.yml new file mode 100644 index 0000000000000..7b20912030889 --- /dev/null +++ b/recipes/mp-units/0.8.0/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.8.0": + url: https://github.com/mpusz/units/archive/v0.8.0.tar.gz + sha256: 4081c75e5f2763bb95a6514d952f187519591e594b8fb93ddc9943741827e8c9 diff --git a/recipes/mp-units/0.8.0/conanfile.py b/recipes/mp-units/0.8.0/conanfile.py new file mode 100644 index 0000000000000..b662aae02b390 --- /dev/null +++ b/recipes/mp-units/0.8.0/conanfile.py @@ -0,0 +1,155 @@ +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, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.59.0" + + +class MPUnitsConan(ConanFile): + name = "mp-units" + homepage = "https://github.com/mpusz/units" + description = "Physical 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" + tool_requires = "cmake/[>=3.19 <4]" + package_type = "header-library" + no_copy_source = True + + @property + def _min_cppstd(self): + return "20" + + @property + def _minimum_compilers_version(self): + return {"gcc": "10.3", "clang": "12", "apple-clang": "13", "msvc": "192"} + + @property + def _use_libfmt(self): + compiler = self.settings.compiler + version = Version(self.settings.compiler.version) + std_support = compiler == "msvc" and version >= 193 and compiler.cppstd == 23 + return not std_support + + @property + def _use_range_v3(self): + compiler = self.settings.compiler + version = Version(self.settings.compiler.version) + return "clang" in compiler and compiler.libcxx == "libc++" and version < 14 + + def requirements(self): + self.requires("gsl-lite/0.40.0") + if self._use_libfmt: + self.requires("fmt/8.1.1") + if self._use_range_v3: + self.requires("range-v3/0.11.0") + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + 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 at least {compiler} {min_version} ({compiler.version} in use)" + ) + + 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["UNITS_USE_LIBFMT"] = self._use_libfmt + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder="src") + 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 + + # core + self.cpp_info.components["core"].requires = ["gsl-lite::gsl-lite"] + if compiler == "msvc": + self.cpp_info.components["core"].cxxflags = ["/utf-8"] + if self._use_range_v3: + self.cpp_info.components["core"].requires.append("range-v3::range-v3") + + # rest + self.cpp_info.components["core-io"].requires = ["core"] + self.cpp_info.components["core-fmt"].requires = ["core"] + if self._use_libfmt: + self.cpp_info.components["core-fmt"].requires.append("fmt::fmt") + self.cpp_info.components["isq"].requires = ["core"] + self.cpp_info.components["isq-natural"].requires = ["isq"] + self.cpp_info.components["si"].requires = ["isq"] + self.cpp_info.components["si-cgs"].requires = ["si"] + self.cpp_info.components["si-fps"].requires = ["si-international"] + self.cpp_info.components["si-hep"].requires = ["si"] + self.cpp_info.components["si-iau"].requires = ["si"] + self.cpp_info.components["si-imperial"].requires = ["si"] + self.cpp_info.components["si-international"].requires = ["si"] + self.cpp_info.components["si-typographic"].requires = ["si"] + self.cpp_info.components["si-uscs"].requires = ["si"] + self.cpp_info.components["isq-iec80000"].requires = ["si"] + self.cpp_info.components["systems"].requires = [ + "isq", + "isq-natural", + "si", + "si-cgs", + "si-fps", + "si-hep", + "si-iau", + "si-imperial", + "si-international", + "si-typographic", + "si-uscs", + "isq-iec80000", + ] diff --git a/recipes/mp-units/0.7.0/test_package/CMakeLists.txt b/recipes/mp-units/0.8.0/test_package/CMakeLists.txt similarity index 100% rename from recipes/mp-units/0.7.0/test_package/CMakeLists.txt rename to recipes/mp-units/0.8.0/test_package/CMakeLists.txt diff --git a/recipes/mp-units/0.8.0/test_package/conanfile.py b/recipes/mp-units/0.8.0/test_package/conanfile.py new file mode 100644 index 0000000000000..e418ee7701960 --- /dev/null +++ b/recipes/mp-units/0.8.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/0.7.0/test_package/test_package.cpp b/recipes/mp-units/0.8.0/test_package/test_package.cpp similarity index 100% rename from recipes/mp-units/0.7.0/test_package/test_package.cpp rename to recipes/mp-units/0.8.0/test_package/test_package.cpp diff --git a/recipes/mp-units/0.8.0/test_v1_package/CMakeLists.txt b/recipes/mp-units/0.8.0/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..07f3e7cd91e8a --- /dev/null +++ b/recipes/mp-units/0.8.0/test_v1_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/0.7.0/test_package/conanfile.py b/recipes/mp-units/0.8.0/test_v1_package/conanfile.py similarity index 100% rename from recipes/mp-units/0.7.0/test_package/conanfile.py rename to recipes/mp-units/0.8.0/test_v1_package/conanfile.py diff --git a/recipes/mp-units/0.8.0/test_v1_package/test_package.cpp b/recipes/mp-units/0.8.0/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..cd9ed5c7a0227 --- /dev/null +++ b/recipes/mp-units/0.8.0/test_v1_package/test_package.cpp @@ -0,0 +1,19 @@ +#include +#include +#include +#include +#include + +using namespace units; + +template +constexpr auto avg_speed(Length d, Time t) +{ + return d / t; +} + +int main() +{ + using namespace units::isq::si::references; + 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 7ad903a9673a0..384108bf7c63a 100644 --- a/recipes/mp-units/config.yml +++ b/recipes/mp-units/config.yml @@ -1,5 +1,3 @@ versions: - "0.7.0": - folder: 0.7.0 - "0.6.0": - folder: 0.6.0 + "0.8.0": + folder: 0.8.0 From 4819005dd9c9994c05d087a046c9ab0f07d60715 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 16 Jun 2023 12:21:49 +0200 Subject: [PATCH 0551/4087] (#17948) [bot] Update list of references (prod-v2/ListPackages) --- .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 15173de4683b5..a0789e7504653 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -4,6 +4,7 @@ required_for_references: - aaf - aaplus - abseil +- absent - access_private - acl - ada @@ -252,6 +253,7 @@ required_for_references: - getopt-for-visual-studio - gettext - gflags +- gfortran - ghc-filesystem - giflib - ginkgo @@ -405,6 +407,7 @@ required_for_references: - libtar - libtasn1 - libtiff +- libtins - libtool - libtorrent - libudev @@ -416,6 +419,7 @@ required_for_references: - libverto - libvips - libvpx +- libwebm - libwebp - libwebsockets - libx264 From 41db99176154216c977c9994cbf2ded74614221c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Jun 2023 19:43:11 +0900 Subject: [PATCH 0552/4087] (#17944) glaze: add version 1.2.6, update fast_float --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/all/conanfile.py | 2 +- recipes/glaze/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6b8554764d505..59c05f33d67c1 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.6": + url: "https://github.com/stephenberry/glaze/archive/v1.2.6.tar.gz" + sha256: "ef602f1efc7f84669de517181cb091c136e2b9372c176947d0940ebd6c2f2d98" "1.2.5": url: "https://github.com/stephenberry/glaze/archive/v1.2.5.tar.gz" sha256: "bc3ff0b24c8c71557e7aabc5a2bfedd51acea92548c208c3a51815848d2b2c5a" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index cf738ce161e1d..253e1e45cba72 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -44,7 +44,7 @@ def requirements(self): self.requires("frozen/1.1.1") self.requires("nanorange/cci.20200706") if Version(self.version) < "0.2.3": - self.requires("fast_float/5.0.0") + self.requires("fast_float/5.2.0") if "0.1.5" <= Version(self.version) < "0.2.3": self.requires("dragonbox/1.1.3") diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 0e6c10eefcb35..5039876977670 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.6": + folder: all "1.2.5": folder: all "1.2.3": From 4df9d6ced0cc9886e19b905b68ca83a068469995 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 16 Jun 2023 13:41:31 +0200 Subject: [PATCH 0553/4087] (#17941) [bot] Update authorized users list (2023-06-15) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 060e988ef045a..9a246979eef6f 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1174,3 +1174,4 @@ authorized_users: - ssrobins - Ohjurot - nbukuli +- ffabiomar From 92d0323a498f900f92405e5db556861b1d271018 Mon Sep 17 00:00:00 2001 From: Sylwester Dawida Date: Fri, 16 Jun 2023 14:22:20 +0200 Subject: [PATCH 0554/4087] (#17891) 7bitconf: add new recipe --- recipes/7bitconf/all/conandata.yml | 4 + recipes/7bitconf/all/conanfile.py | 140 ++++++++++++++++++ .../7bitconf/all/test_package/CMakeLists.txt | 10 ++ .../7bitconf/all/test_package/conanfile.py | 28 ++++ .../all/test_package/test_package.cpp | 17 +++ recipes/7bitconf/config.yml | 3 + 6 files changed, 202 insertions(+) create mode 100644 recipes/7bitconf/all/conandata.yml create mode 100644 recipes/7bitconf/all/conanfile.py create mode 100644 recipes/7bitconf/all/test_package/CMakeLists.txt create mode 100644 recipes/7bitconf/all/test_package/conanfile.py create mode 100644 recipes/7bitconf/all/test_package/test_package.cpp create mode 100644 recipes/7bitconf/config.yml diff --git a/recipes/7bitconf/all/conandata.yml b/recipes/7bitconf/all/conandata.yml new file mode 100644 index 0000000000000..62dda78f20515 --- /dev/null +++ b/recipes/7bitconf/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.0": + url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.0.0.tar.gz" + sha256: "48a02d331f4281c8ff691d55c54abe744228637e9ad3af500daf526f4c77696d" diff --git a/recipes/7bitconf/all/conanfile.py b/recipes/7bitconf/all/conanfile.py new file mode 100644 index 0000000000000..50d4e6434d0f0 --- /dev/null +++ b/recipes/7bitconf/all/conanfile.py @@ -0,0 +1,140 @@ +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.files import get, copy, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class SevenBitConfConan(ConanFile): + name = "7bitconf" + homepage = "https://github.com/7bitCoder/7bitConf" + description = "7bitConf is a simple C++17 centralized configuration provider library." + topics = ("cpp17", "configuration", "provider", "configuration-files") + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + 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 _minimum_compilers_version(self): + return { + "Visual Studio": "14", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "10", + } + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + if self.options.get_safe("shared") or self.options.header_only: + self.options.rm_safe("fPIC") + if self.options.header_only: + self.options.rm_safe("shared") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("taocpp-json/1.0.0-beta.13", transitive_headers=True) + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + + def validate(self): + compiler = self.settings.compiler + compiler_name = str(compiler) + + if compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._minimum_compilers_version.get(compiler_name, False) + if minimum_version and Version(compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"Requires compiler {compiler_name} minimum version: {minimum_version} with C++17 support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if not self.options.header_only: + tc = CMakeToolchain(self) + tc.variables["_7BIT_CONF_BUILD_EXAMPLES"] = False + tc.variables["_7BIT_CONF_BUILD_TESTS"] = False + tc.variables["_7BIT_CONF_BUILD_SINGLE_HEADER"] = False + tc.variables["_7BIT_CONF_INSTALL"] = True + tc.variables["_7BIT_CONF_LIBRARY_TYPE"] = self.getSevenBitConfLibraryType() + tc.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.generate() + + def getSevenBitConfLibraryType(self): + if self.options.header_only: + return "HeaderOnly" + if self.options.shared: + return "Shared" + return "Static" + + def build(self): + if not self.options.header_only: + 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, + ) + if self.options.header_only: + copy( + self, + src=os.path.join(self.source_folder, "Include"), + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + ) + else: + 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", "7bitConf") + self.cpp_info.set_property("cmake_target_name", "7bitConf::7bitConf") + self.cpp_info.requires = ["taocpp-json::taocpp-json"] + + if self.options.header_only: + self.cpp_info.libs = [] + self.cpp_info.bindirs = [] + else: + suffix = "d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = ["7bitConf" + suffix] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + diff --git a/recipes/7bitconf/all/test_package/CMakeLists.txt b/recipes/7bitconf/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c27c6a95e062c --- /dev/null +++ b/recipes/7bitconf/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(7bitConf REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PUBLIC 7bitConf::7bitConf) + +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/7bitconf/all/test_package/conanfile.py b/recipes/7bitconf/all/test_package/conanfile.py new file mode 100644 index 0000000000000..49854c6d47088 --- /dev/null +++ b/recipes/7bitconf/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain","CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def 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/7bitconf/all/test_package/test_package.cpp b/recipes/7bitconf/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a1d4cb2de73d8 --- /dev/null +++ b/recipes/7bitconf/all/test_package/test_package.cpp @@ -0,0 +1,17 @@ +#include +#include + +int main(int argc, char **argv) { + + auto configuration = sb::cf::ConfigurationBuilder{} + .addAppSettings() + .addCommandLine(argc, argv) + .addJson({{"setting", "value"}}) + .build(); + + std::cout << "7bitconf version: " << _7BIT_CONF_VERSION << std::endl + << "Configuration json: " << std::endl + << *configuration << std::endl; + + return 0; +} diff --git a/recipes/7bitconf/config.yml b/recipes/7bitconf/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/7bitconf/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all From 47b64bc4696e96fea82d837466c751f0a1e1c696 Mon Sep 17 00:00:00 2001 From: Jean-Marco Alameddine Date: Fri, 16 Jun 2023 20:21:49 +0200 Subject: [PATCH 0555/4087] (#17952) proposal: add version 7.6.2 --- recipes/proposal/all/conandata.yml | 3 +++ recipes/proposal/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/proposal/all/conandata.yml b/recipes/proposal/all/conandata.yml index 12a5ee6f38fda..413be0b0859fb 100644 --- a/recipes/proposal/all/conandata.yml +++ b/recipes/proposal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.6.2": + url: "https://github.com/tudo-astroparticlephysics/PROPOSAL/archive/refs/tags/7.6.2.tar.gz" + sha256: "52e91807009b8e610deee485ea57523482cf5626a28f3e42b747dc58d9f505d8" "7.6.1": url: "https://github.com/tudo-astroparticlephysics/PROPOSAL/archive/refs/tags/7.6.1.tar.gz" sha256: "ed1621e1b859179672468330c1a5ac7d84a4c0a5b80d6bf826b22ed6ef6967ca" diff --git a/recipes/proposal/config.yml b/recipes/proposal/config.yml index bbcc40794eb0a..52f45a4a6325f 100644 --- a/recipes/proposal/config.yml +++ b/recipes/proposal/config.yml @@ -1,4 +1,6 @@ versions: + "7.6.2": + folder: all "7.6.1": folder: all "7.6.0": From 88b0186935755e543e91e0ca97c0a087f2147e0a Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 17 Jun 2023 07:02:17 +0900 Subject: [PATCH 0556/4087] (#17924) duckdb: add version 0.8.1 --- recipes/duckdb/all/conandata.yml | 10 +++ .../all/patches/0.8.1-0001-fix-cmake.patch | 87 +++++++++++++++++++ recipes/duckdb/config.yml | 2 + 3 files changed, 99 insertions(+) create mode 100644 recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 00427bcc806aa..841b055baa39a 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -15,6 +18,13 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "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" + - patch_file: "patches/0.6.0-0002-include-stdlib.patch" + patch_description: "include stdlib for abort function" + 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" 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 new file mode 100644 index 0000000000000..5cd9417ef53c9 --- /dev/null +++ b/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch @@ -0,0 +1,87 @@ +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/config.yml b/recipes/duckdb/config.yml index e7c24e2d529f0..0c9fddd5a6804 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.1": + folder: "all" "0.8.0": folder: "all" "0.7.1": From 29b90eb2ddd6d075c08ebdc2548f25b42d584bfc Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 17 Jun 2023 01:02:27 +0200 Subject: [PATCH 0557/4087] (#17943) cppcheck: remove unused patch --- .../patches/0003-pcre-debuglib-name-2.7.patch | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 recipes/cppcheck/all/patches/0003-pcre-debuglib-name-2.7.patch diff --git a/recipes/cppcheck/all/patches/0003-pcre-debuglib-name-2.7.patch b/recipes/cppcheck/all/patches/0003-pcre-debuglib-name-2.7.patch deleted file mode 100644 index fa8b46fd1608e..0000000000000 --- a/recipes/cppcheck/all/patches/0003-pcre-debuglib-name-2.7.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/cmake/findDependencies.cmake 2022-04-15 20:23:30.000000000 +0200 -+++ b/cmake/findDependencies.cmake 2022-11-24 13:57:22.099453500 +0100 -@@ -16,7 +16,7 @@ - - if (HAVE_RULES) - find_path(PCRE_INCLUDE pcre.h) -- find_library(PCRE_LIBRARY pcre) -+ find_library(PCRE_LIBRARY NAMES pcre pcred) - if (NOT PCRE_LIBRARY OR NOT PCRE_INCLUDE) - message(FATAL_ERROR "pcre dependency for RULES has not been found") - endif() -@@ -24,16 +24,8 @@ - - if (USE_Z3) - find_package(Z3 QUIET) -- if (NOT Z3_FOUND) - find_library(Z3_LIBRARIES z3) -- if (NOT Z3_LIBRARIES) -- message(FATAL_ERROR "z3 dependency has not been found") -- endif() - find_path(Z3_CXX_INCLUDE_DIRS z3++.h PATH_SUFFIXES "z3") -- if (NOT Z3_CXX_INCLUDE_DIRS) -- message(FATAL_ERROR "z3++.h has not been found") -- endif() -- endif() - endif() - - set(CMAKE_INCLUDE_CURRENT_DIR ON) From 72cd24ff866997f4dcac160eb18330978d5e1cb0 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 17 Jun 2023 19:21:34 +0900 Subject: [PATCH 0558/4087] (#17955) simdjson: add version 3.2.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 4be0fb0333ac6..afec1dc0cc483 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.0": + url: "https://github.com/simdjson/simdjson/archive/v3.2.0.tar.gz" + sha256: "75a684dbbe38cf72b8b3bdbdc430764813f3615899a6029931c26ddd89812da4" "3.1.8": url: "https://github.com/simdjson/simdjson/archive/v3.1.8.tar.gz" sha256: "99e7eeb0a0038e0213da68f099e6a8b67bcaeea1586385ec5f752bea85d902d8" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 6327300ad07ec..d5e9878fcbc91 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.0": + folder: all "3.1.8": folder: all "3.1.7": From f7725917969033489be4b0905ef025cc3c3a9bd8 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 17 Jun 2023 23:21:52 +0900 Subject: [PATCH 0559/4087] (#17958) quill: add version 3.0.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 37c0201c6a203..b46e32721c6ba 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.2": + url: "https://github.com/odygrd/quill/archive/v3.0.2.tar.gz" + sha256: "76e9f607168f71cf1028ae7374fbe91225e400c11b5a51a6ebc992c85d012eed" "2.9.2": url: "https://github.com/odygrd/quill/archive/v2.9.2.tar.gz" sha256: "5b5b502f33277d1ebdb39d57898b1ca25affef4819d390927499f368dd562d91" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 6219dcc09a861..f987a8252400c 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.2": + folder: "all" "2.9.2": folder: "all" "2.9.1": From b77038bdaee9ac6a67a6585032767d7aeb1b74ca Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Sat, 17 Jun 2023 21:21:56 +0300 Subject: [PATCH 0560/4087] (#17960) charls: add version 2.4.2 --- recipes/charls/all/conandata.yml | 3 +++ recipes/charls/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/charls/all/conandata.yml b/recipes/charls/all/conandata.yml index 44bdf87dad81c..3f80f816193ca 100644 --- a/recipes/charls/all/conandata.yml +++ b/recipes/charls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.2": + url: "https://github.com/team-charls/charls/archive/2.4.2.tar.gz" + sha256: "d1c2c35664976f1e43fec7764d72755e6a50a80f38eca70fcc7553cad4fe19d9" "2.4.1": url: "https://github.com/team-charls/charls/archive/2.4.1.tar.gz" sha256: "f313f556b5acb9215961d9718c21235aafcd43bce6b357bf66f772e5692bba75" diff --git a/recipes/charls/config.yml b/recipes/charls/config.yml index 96f2c11fde345..f31161f1acff8 100644 --- a/recipes/charls/config.yml +++ b/recipes/charls/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.2": + folder: all "2.4.1": folder: all "2.4.0": From e4624036a08696a6c49060519741441f1f418d3f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Jun 2023 01:41:37 +0900 Subject: [PATCH 0561/4087] (#17964) watcher: add version 0.8.8 --- recipes/watcher/all/conandata.yml | 3 +++ recipes/watcher/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index 16f9a357e1c56..80ba8ba329e37 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.8": + url: "https://github.com/e-dant/watcher/archive/release/0.8.8.tar.gz" + sha256: "51e61a096d072ae5c78df9318dec50fb5718c88b672305fc4b6bd2c7ba264bbe" "0.8.7": url: "https://github.com/e-dant/watcher/archive/release/0.8.7.tar.gz" sha256: "e83eaf097f8ebe9b87bee2962e6e18f6f2597ae4e76d8d0258adc2c62fa545d2" diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index 18cb91a415735..61b409d523160 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.8": + folder: all "0.8.7": folder: all "0.8.0": From a1b9cd6cd69decc7477770d922bce74097005794 Mon Sep 17 00:00:00 2001 From: xuzhenbao <43104033+xuzhenbao@users.noreply.github.com> Date: Mon, 19 Jun 2023 07:23:47 +0800 Subject: [PATCH 0562/4087] (#16254) Add mDNSResponder-1790.80.10 * Add 1790.80.10 version * Add patch for resolving memory leak * Add unicast_disabled option * Support conan v2 * Support conan v2 * Support conan v2 * Support conan v2 * Support conan v2 * Support conan v2 * Support conan v2 * Resolve conan v2 test package failed * Resolve conan v2 test package failed * fix license folder Signed-off-by: Uilian Ries * add comment Signed-off-by: Uilian Ries * Set use_tls option default value to false * Update recipes/mdnsresponder/all/conanfile.py * Ignore "DEBUG=1" option for mdnsresponder-878.200.35 and mdnsresponder-1310.140.1 * Update recipes/mdnsresponder/all/conanfile.py * Fix target folder * Update recipes/mdnsresponder/all/conanfile.py Co-authored-by: Uilian Ries * Add MSBuildToolchain and VCVars, fix msbuild missing error * Upgrade windows toolset for mdnsresponder-878.200.35 * Remove source patches * Add new line at the end of conandata.yml * Add patch_description and patch_type for conandata.yml --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/mdnsresponder/all/conandata.yml | 38 +- recipes/mdnsresponder/all/conanfile.py | 152 +++-- .../Add-unicast-disabled-flag.patch | 28 + ...ve-compile-problem-on-linux-platform.patch | 58 ++ .../1790.80.10/Support-cross-building.patch | 158 +++++ .../878.200.35/upgrade-windows-toolset.patch | 570 ++++++++++++++++++ .../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 | 17 + recipes/mdnsresponder/config.yml | 2 + 11 files changed, 979 insertions(+), 82 deletions(-) create mode 100644 recipes/mdnsresponder/all/patches/1790.80.10/Add-unicast-disabled-flag.patch create mode 100644 recipes/mdnsresponder/all/patches/1790.80.10/Resolve-compile-problem-on-linux-platform.patch create mode 100644 recipes/mdnsresponder/all/patches/1790.80.10/Support-cross-building.patch create mode 100644 recipes/mdnsresponder/all/patches/878.200.35/upgrade-windows-toolset.patch create mode 100644 recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/mdnsresponder/all/test_v1_package/conanfile.py diff --git a/recipes/mdnsresponder/all/conandata.yml b/recipes/mdnsresponder/all/conandata.yml index cadda75d51e61..c11cf45776081 100644 --- a/recipes/mdnsresponder/all/conandata.yml +++ b/recipes/mdnsresponder/all/conandata.yml @@ -5,23 +5,29 @@ sources: "1310.140.1": url: "https://github.com/apple-oss-distributions/mDNSResponder/archive/mDNSResponder-1310.140.1.tar.gz" sha256: "ecb0043ffc5a3cbf4f43da0298e351d787654d980b291d1cb567c6ddee9dc983" + "1790.80.10": + url: "https://github.com/apple-oss-distributions/mDNSResponder/archive/mDNSResponder-1790.80.10.tar.gz" + sha256: "ffb990231639dfe8c7f0b15d0665206a9013f1aacfb2cbb934eb87f6a57f38b7" patches: "878.200.35": - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/DLLStub.c.patch" - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/mDNSResponder.sln.patch" - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/mDNSWin32.c.patch" - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/Service.c.patch" + - patch_file: "patches/878.200.35/DLLStub.c.patch" + - patch_file: "patches/878.200.35/mDNSResponder.sln.patch" + - patch_file: "patches/878.200.35/mDNSWin32.c.patch" + - patch_file: "patches/878.200.35/Service.c.patch" + - patch_file: "patches/878.200.35/upgrade-windows-toolset.patch" "878.200.35-opt": - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/opt/permit-over-long-service-types.patch" - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/opt/poll-rather-than-select.patch" - - base_path: "source_subfolder" - patch_file: "patches/878.200.35/opt/unicast.patch" + - patch_file: "patches/878.200.35/opt/permit-over-long-service-types.patch" + - patch_file: "patches/878.200.35/opt/poll-rather-than-select.patch" + - patch_file: "patches/878.200.35/opt/unicast.patch" "1310.140.1": - - base_path: "source_subfolder" - patch_file: "patches/1310.140.1/dns_sd.c.patch" + - patch_file: "patches/1310.140.1/dns_sd.c.patch" + "1790.80.10": + - patch_file: "patches/1790.80.10/Resolve-compile-problem-on-linux-platform.patch" + patch_description: "ensure the compilation passes on Linux: update mDNS.c, mbedtls.c and uds_daemon.c to resolve compilation errors." + patch_type: "bugfix" + - patch_file: "patches/1790.80.10/Support-cross-building.patch" + patch_description: "allow dependencies provided by conan and support cross-building for linux:update Makefile to use dependencies provided by conan and support cross-building." + patch_type: "conan" + - patch_file: "patches/1790.80.10/Add-unicast-disabled-flag.patch" + patch_description: "add missing unicast cropping option: update Makefile to add missing cropping option, and update uDNS.c to resolve related compilation errors." + patch_type: "bugfix" diff --git a/recipes/mdnsresponder/all/conanfile.py b/recipes/mdnsresponder/all/conanfile.py index 5e0b8a3e6f765..9200f80247bf5 100644 --- a/recipes/mdnsresponder/all/conanfile.py +++ b/recipes/mdnsresponder/all/conanfile.py @@ -1,14 +1,19 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, MSBuild -from conans.errors import ConanInvalidConfiguration -from conan.tools.files.symlinks import absolute_to_relative_symlinks +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import symlinks, rmdir, get, replace_in_file, rename, chdir, patch, mkdir, copy, apply_conandata_patches +from conan.tools.scm import Version +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, is_msvc, MSBuildToolchain, VCVars import os -required_conan_version = ">=1.33.0" + +required_conan_version = ">=1.53.0" class MdnsResponderConan(ConanFile): name = "mdnsresponder" - description = "Conan package for Apple's mDNSResponder" + description = "Apple Open Source DNS Service Discovery Collection" topics = ("Bonjour", "DNS-SD", "mDNS") url = "https://github.com/conan-io/conan-center-index" homepage = "https://opensource.apple.com/tarballs/mDNSResponder/" @@ -16,52 +21,75 @@ class MdnsResponderConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = { "with_opt_patches": [True, False], + "use_tls": [True, False], + "unicast_disabled": [True, False], } default_options = { "with_opt_patches": False, + "use_tls": False, + "unicast_disabled": False, } - exports_sources = ["patches/**"] - _autotools = None + def export_sources(self): + # INFO: export_conandata_patches will not export optional patches + copy(self, "*.patch", dst=os.path.join(self.export_sources_folder, "patches"), src=os.path.join(self.recipe_folder, "patches")) - @property - def _source_subfolder(self): - return "source_subfolder" + def configure(self): + if self.options.use_tls: + #The target(libdns_sd) is a shared lib, so mbedtls enable 'shared' option + self.options['mbedtls'].shared = True + + def requirements(self): + if self.options.use_tls: + self.requires("mbedtls/2.25.0") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): if self.settings.os not in ["Linux", "Windows"]: raise ConanInvalidConfiguration("Only Linux and Windows are supported for this package.") - if tools.Version(self.version) >= "1096.0.2": + if Version(self.version) >= "1096.0.2": # recent tarballs (since 1096.0.2) are missing mDNSWindows, so for now, Linux only if self.settings.os == "Windows": raise ConanInvalidConfiguration("Windows is not supported for version {}.".format(self.version)) # TCP_NOTSENT_LOWAT is causing build failures for packages built with gcc 4.9 # the best check would probably be for Linux kernel v3.12, but for now... - if self.settings.compiler == "gcc" and tools.Version(self.settings.compiler.version) < "5": + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration("Only gcc 5 or higher is supported for this package.") # __has_c_attribute is not available in Clang 5 - if self.settings.compiler == "clang" and tools.Version(self.settings.compiler.version) < "6": + if self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "6": raise ConanInvalidConfiguration("Only Clang 6 or higher is supported for this package.") # FIXME: Migration of the project files fails with VS 2017 on c3i (conan-center-index's infrastructure) # though works OK with VS 2015 and VS 2019, and works with VS 2017 in my local environment - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) == "15": + if is_msvc(self) and (Version(self.settings.compiler.version) == "15" or "1910" <= Version(self.settings.compiler.version) <= "1916"): raise ConanInvalidConfiguration("Visual Studio 2017 is not supported in CCI (yet).") + if self.options.use_tls and (not self.dependencies["mbedtls"].options.shared): + raise ConanInvalidConfiguration("The dependency 'mbedtls' must be built as a shared library.") 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) @property def _posix_folder(self): - return os.path.join(self._source_subfolder, "mDNSPosix") + return os.path.join(self.source_folder, "mDNSPosix") @property def _make_build_args(self): # the Makefile does not support parallel builds - return [ + build_args = [ "os=linux", "-j1", ] + if not self.options.use_tls: + build_args.append("tls=no") + #FIXME: 878.200.35 and 1310.140.1 will fail to compile when DEBUG=1 + if self.settings.build_type == "Debug" and Version(self.version) != "878.200.35" and Version(self.version) != "1310.140.1": + build_args.append("DEBUG=1") + if self.options.unicast_disabled: + build_args.append("unicast_disabled=y") + + return build_args @property def _make_build_targets(self): @@ -80,17 +108,9 @@ def _make_install_targets(self): # not installing man pages, NSS plugin return " ".join(["setup", "InstalledDaemon", "InstalledLib", "InstalledClients"]) - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - # fix for error: 'for' loop initial declarations are only allowed in C99 or C11 mode - self._autotools.flags.append("-std=gnu99") - return self._autotools - def _build_make(self): - with tools.chdir(self._posix_folder): - autotools = self._configure_autotools() + with chdir(self, self._posix_folder): + autotools = Autotools(self) autotools.make(args=self._make_build_args, target=self._make_build_targets) @property @@ -110,31 +130,48 @@ def _msvc_platform(self): return self._msvc_platforms[str(self.settings.arch)] def _build_msvc(self): - sln = os.path.join(self._source_subfolder, "mDNSResponder.sln") + sln = os.path.join(self.source_folder, "mDNSResponder.sln") if "MD" in self.settings.compiler.runtime: # could use glob and replace_in_file(strict=False, ...) - dll_vcxproj = os.path.join(self._source_subfolder, "mDNSWindows", "DLL", "dnssd.vcxproj") - dllstub_vcxproj = os.path.join(self._source_subfolder, "mDNSWindows", "DLLStub", "DLLStub.vcxproj") - dns_sd_vcxproj = os.path.join(self._source_subfolder, "Clients", "DNS-SD.VisualStudio", "dns-sd.vcxproj") + dll_vcxproj = os.path.join(self.source_folder, "mDNSWindows", "DLL", "dnssd.vcxproj") + dllstub_vcxproj = os.path.join(self.source_folder, "mDNSWindows", "DLLStub", "DLLStub.vcxproj") + dns_sd_vcxproj = os.path.join(self.source_folder, "Clients", "DNS-SD.VisualStudio", "dns-sd.vcxproj") for vcxproj in [dll_vcxproj, dllstub_vcxproj, dns_sd_vcxproj]: - tools.replace_in_file(vcxproj, "MultiThreaded", "MultiThreadedDLL") - tools.replace_in_file(vcxproj, "MultiThreadedDebug", "MultiThreadedDebugDLL") + replace_in_file(self, vcxproj, "MultiThreaded", "MultiThreadedDLL") + replace_in_file(self, vcxproj, "MultiThreadedDebug", "MultiThreadedDebugDLL") # could use glob and replace_in_file(strict=False, ...) - dll_rc = os.path.join(self._source_subfolder, "mDNSWindows", "DLL", "dll.rc") - dns_sd_rc = os.path.join(self._source_subfolder, "Clients", "DNS-SD.VisualStudio", "dns-sd.rc") + dll_rc = os.path.join(self.source_folder, "mDNSWindows", "DLL", "dll.rc") + dns_sd_rc = os.path.join(self.source_folder, "Clients", "DNS-SD.VisualStudio", "dns-sd.rc") for rc in [dll_rc, dns_sd_rc]: - tools.replace_in_file(rc, "afxres.h", "winres.h") + replace_in_file(self, rc, "afxres.h", "winres.h") msbuild = MSBuild(self) - msbuild.build(sln, targets=self._msvc_targets, platforms=self._msvc_platforms, definitions=self._msvc_definitions) + # use Win32 instead of the default value when building x86 + msbuild.platform = "Win32" if self.settings.arch == "x86" else msbuild.platform + #TODO: How to add _msvc_definitions to msbuild.build + msbuild.build(sln, targets=self._msvc_targets) + + def generate(self): + if self.settings.os == "Linux": + tc = AutotoolsToolchain(self) + # fix for error: 'for' loop initial declarations are only allowed in C99 or C11 mode + tc.extra_cflags.append("-std=gnu99") + tc.generate() + tc = AutotoolsDeps(self) + tc.generate() + elif is_msvc(self): + tc = MSBuildToolchain(self) + tc.configuration = "Debug" if self.settings.build_type == "Debug" else "Release" + tc.generate() + tc = VCVars(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) if self.options.with_opt_patches: - for patch in self.conan_data.get("patches", {}).get("{}-opt".format(self.version), []): - tools.patch(**patch) + for patchfile in self.conan_data.get("patches", {}).get("{}-opt".format(self.version), []): + patch(self, **patchfile) if self.settings.os == "Linux": self._build_make() elif self.settings.os == "Windows": @@ -142,31 +179,31 @@ def build(self): def _install_make(self): for dir in ["bin", "include", "lib", "sbin"]: - tools.mkdir(os.path.join(self.package_folder, dir)) - with tools.chdir(self._posix_folder): - autotools = self._configure_autotools() + mkdir(self, os.path.join(self.package_folder, dir)) + with chdir(self, self._posix_folder): + autotools = Autotools(self) autotools.make(args=self._make_install_args, target=self._make_install_targets) # package the daemon in bin too - tools.rename(os.path.join(self.package_folder, "sbin", "mdnsd"), + rename(self, os.path.join(self.package_folder, "sbin", "mdnsd"), os.path.join(self.package_folder, "bin", "mdnsd")) - tools.rmdir(os.path.join(self.package_folder, "sbin")) - absolute_to_relative_symlinks(self, self.package_folder) + rmdir(self, os.path.join(self.package_folder, "sbin")) + symlinks.absolute_to_relative_symlinks(self, self.package_folder) def _msvc_build_folder(self, *argv): - return os.path.join(self._source_subfolder, *argv, self._msvc_platform, str(self.settings.build_type)) + return os.path.join(self.source_folder, *argv, self._msvc_platform, str(self.settings.build_type)) def _install_msvc(self): - self.copy("mDNSResponder.exe", dst="bin", src=self._msvc_build_folder("mDNSWindows", "SystemService")) - self.copy("dns_sd.h", dst="include", src=os.path.join(self._source_subfolder, "mDNSShared")) - self.copy("dnssd.dll", dst="bin", src=self._msvc_build_folder("mDNSWindows", "DLL")) - self.copy("dnssdStatic.lib", dst="lib", src=self._msvc_build_folder("mDNSWindows", "DLLStub")) + copy(self, "mDNSResponder.exe", dst=os.path.join(self.package_folder, "bin"), src=self._msvc_build_folder("mDNSWindows", "SystemService")) + copy(self, "dns_sd.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "mDNSShared")) + copy(self, "dnssd.dll", dst=os.path.join(self.package_folder, "bin"), src=self._msvc_build_folder("mDNSWindows", "DLL")) + copy(self, "dnssdStatic.lib", dst=os.path.join(self.package_folder, "lib"), src=self._msvc_build_folder("mDNSWindows", "DLLStub")) # rename consistently with Bonjour SDK - tools.rename(src=os.path.join(self.package_folder, "lib", "dnssdStatic.lib"), + rename(self, src=os.path.join(self.package_folder, "lib", "dnssdStatic.lib"), dst=os.path.join(self.package_folder, "lib", "dnssd.lib")) - self.copy("dns-sd.exe", dst="bin", src=self._msvc_build_folder("Clients", "DNS-SD.VisualStudio")) + copy(self, "dns-sd.exe", dst=os.path.join(self.package_folder, "bin"), src=self._msvc_build_folder("Clients", "DNS-SD.VisualStudio")) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if self.settings.os == "Linux": self._install_make() elif self.settings.os == "Windows": @@ -176,6 +213,9 @@ def package_info(self): # although not one of the find-modules in the CMake distribution, FindDNSSD.cmake is commonly used for this package self.cpp_info.names["cmake_find_package"] = "DNSSD" self.cpp_info.names["cmake_find_package_multi"] = "DNSSD" + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "DNSSD") + self.cpp_info.set_property("cmake_target_name", "DNSSD::DNSSD") if self.settings.os == "Linux": self.cpp_info.libs = ["dns_sd"] diff --git a/recipes/mdnsresponder/all/patches/1790.80.10/Add-unicast-disabled-flag.patch b/recipes/mdnsresponder/all/patches/1790.80.10/Add-unicast-disabled-flag.patch new file mode 100644 index 0000000000000..a0817cef24722 --- /dev/null +++ b/recipes/mdnsresponder/all/patches/1790.80.10/Add-unicast-disabled-flag.patch @@ -0,0 +1,28 @@ +diff --git a/mDNSCore/uDNS.c b/mDNSCore/uDNS.c +index 5611517..cfbc7b4 100644 +--- a/mDNSCore/uDNS.c ++++ b/mDNSCore/uDNS.c +@@ -7243,7 +7243,7 @@ mDNSexport mStatus mDNS_SetSecretForDomain(mDNS *m, DomainAuthInfo *info, const + return mStatus_UnsupportedErr; + } + +-mDNSexport domainname *uDNS_GetNextSearchDomain(mDNSInterfaceID InterfaceID, mDNSs8 *searchIndex, mDNSBool ignoreDotLocal) ++mDNSexport domainname *uDNS_GetNextSearchDomain(mDNSInterfaceID InterfaceID, int *searchIndex, mDNSBool ignoreDotLocal) + { + (void) InterfaceID; + (void) searchIndex; +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile +index f695228..179ab8d 100755 +--- a/mDNSPosix/Makefile ++++ b/mDNSPosix/Makefile +@@ -81,6 +81,10 @@ LINKOPTS_PTHREAD = -lpthread + LDSUFFIX = so + JAVACFLAGS_OS = -fPIC -shared -ldns_sd + ++ifeq ($(unicast_disabled), y) ++CFLAGS_COMMON += -DUNICAST_DISABLED ++endif ++ + # Set up diverging paths for debug vs. prod builds + ifeq "$(DEBUG)" "1" + CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=2 diff --git a/recipes/mdnsresponder/all/patches/1790.80.10/Resolve-compile-problem-on-linux-platform.patch b/recipes/mdnsresponder/all/patches/1790.80.10/Resolve-compile-problem-on-linux-platform.patch new file mode 100644 index 0000000000000..11a00e0f60c5f --- /dev/null +++ b/recipes/mdnsresponder/all/patches/1790.80.10/Resolve-compile-problem-on-linux-platform.patch @@ -0,0 +1,58 @@ +diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c +index 9466634..d60c6f2 100644 +--- a/mDNSCore/mDNS.c ++++ b/mDNSCore/mDNS.c +@@ -9849,7 +9849,7 @@ mDNSlocal void mDNSCoreReceiveNoUnicastAnswers(mDNS *const m, const DNSMessage * + #else + const DNSServRef dnsserv = qptr->qDNSServer; + #endif +- debugf("mDNSCoreReceiveNoUnicastAnswers making negative cache entry TTL %d for %##s (%s)", negttl, name->c, DNSTypeName(q.qtype)); ++ debugf("mDNSCoreReceiveNoUnicastAnswers making negative cache entry TTL %d for %##s (%s)", negttl, currentQName->c, DNSTypeName(q.qtype)); + // Create a negative record for the current name in the CNAME chain. + MakeNegativeCacheRecord(m, &m->rec.r, currentQName, currentQNameHash, q.qtype, q.qclass, negttl, mDNSInterface_Any, + dnsserv, response->h.flags); +diff --git a/mDNSPosix/mbedtls.c b/mDNSPosix/mbedtls.c +index a73681b..dba44b9 100644 +--- a/mDNSPosix/mbedtls.c ++++ b/mDNSPosix/mbedtls.c +@@ -218,10 +218,12 @@ mDNSPosixTLSRead(TCPSocket *sock, void *buf, unsigned long buflen, mDNSBool *clo + // and then re-enable read events. What we don't want is to keep calling + // read, because that will spin. + return 0; ++#ifdef MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS + case MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS: + LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_ERROR, "Got async in progress in TLS read!"); + // No idea how to handle this yet. + return 0; ++#endif + #ifdef MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS + case MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS: + LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_ERROR, "Got crypto in progress in TLS read!"); +@@ -259,9 +261,11 @@ mDNSPosixTLSWrite(TCPSocket *sock, const void *buf, unsigned long buflen) + case MBEDTLS_ERR_SSL_WANT_WRITE: + LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_ERROR, "Got SSL want write in TLS read!"); + return 0; ++#ifdef MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS + case MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS: + LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_ERROR, "Got async in progress in TLS read!"); + return 0; ++#endif + #ifdef MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS + case MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS: + LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_ERROR, "Got crypto in progress in TLS read!"); +diff --git a/mDNSShared/uds_daemon.c b/mDNSShared/uds_daemon.c +index bfcb5d8..7475784 100644 +--- a/mDNSShared/uds_daemon.c ++++ b/mDNSShared/uds_daemon.c +@@ -2913,7 +2913,11 @@ exit: + mDNSlocal mStatus add_domain_to_browser(request_state *info, const domainname *d) + { + browser_t *b, *p; ++#if MDNSRESPONDER_PLATFORM_APPLE + __block mStatus err; ++#else ++ mStatus err; ++#endif + + for (p = info->u.browser.browsers; p; p = p->next) + { diff --git a/recipes/mdnsresponder/all/patches/1790.80.10/Support-cross-building.patch b/recipes/mdnsresponder/all/patches/1790.80.10/Support-cross-building.patch new file mode 100644 index 0000000000000..e74fc81741998 --- /dev/null +++ b/recipes/mdnsresponder/all/patches/1790.80.10/Support-cross-building.patch @@ -0,0 +1,158 @@ +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile +index 802a13d..440b4b2 100755 +--- a/mDNSPosix/Makefile ++++ b/mDNSPosix/Makefile +@@ -37,7 +37,13 @@ + + ############################################################################# + +-LIBVERS = 1 ++ ++ ++LIB_MAJOR_VER = 1 ++LIB_MINOR_VER = 0 ++LIB_PATCH_VER = 0 ++LIBVERS = $(LIB_MAJOR_VER).$(LIB_MINOR_VER).$(LIB_PATCH_VER) ++ + + COREDIR = ../mDNSCore + SHAREDDIR ?= ../mDNSShared +@@ -53,18 +59,24 @@ else ifeq ($(SYSTEM), Linux) + os=linux + endif + +-CC = cc ++ifneq ($(findstring $(os),solaris x),) ++CC ?= gcc ++LD ?= gcc ++else ++CC ?= cc ++LD ?= ld ++endif ++ + BISON = bison + FLEX = flex +-ST = strip +-LD = ld ++STRIP ?= strip + SOOPTS = -shared + CP = cp + RM = rm + LN = ln -s -f + CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(UTILDIR) -I$(DSODIR) -I$(SERVICEREGISTRATIONDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPOSIX_BUILD -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" + CFLAGS_PTHREAD = +-LINKOPTS = ++LINKOPTS += ${LDFLAGS} -Wl,--as-needed $(LIBS) + LINKOPTS_PTHREAD = -lpthread + LDSUFFIX = so + JAVACFLAGS_OS = -fPIC -shared -ldns_sd +@@ -74,13 +86,13 @@ ifeq "$(DEBUG)" "1" + CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=2 + OBJDIR = objects/debug + BUILDDIR = build/debug +-STRIP = echo ++MDNS_STRIP = echo + else + ifeq "$(DEBUGSYMS)" "1" + CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=0 + OBJDIR = objects/prod + BUILDDIR = build/prod +-STRIP = echo ++MDNS_STRIP = echo + else + # We use -Os for two reasons: + # 1. We want to make small binaries, suitable for putting into hardware devices +@@ -88,7 +100,7 @@ else + CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=0 + OBJDIR ?= objects/prod + BUILDDIR ?= build/prod +-STRIP = $(ST) -S ++MDNS_STRIP = $(STRIP) -S + endif + endif + +@@ -97,13 +109,11 @@ ifeq ($(os),solaris) + CFLAGS_DEBUGGING = -O0 -DMDNS_DEBUGMSGS=0 + CFLAGS_OS = -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN -DNOT_HAVE_SOCKLEN_T -DNOT_HAVE_IF_NAMETOINDEX \ + -DLOG_PERROR=0 -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -DTARGET_OS_SOLARIS +-CC = gcc +-LD = gcc + SOOPTS = -shared +-LINKOPTS = -lsocket -lnsl -lresolv ++LINKOPTS += -lsocket -lnsl -lresolv + JAVACFLAGS_OS += -I$(JDK)/include/solaris + ifneq ($(DEBUG),1) +-STRIP = $(ST) ++MDNS_STRIP = $(STRIP) + endif + else + +@@ -114,7 +124,7 @@ CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LI + TLSOBJS = + else + CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -DPOSIX_HAS_TLS -ftabstop=4 -Wno-expansion-to-defined +-TLSOBJS = $(OBJDIR)/mbedtls.c.o -lmbedtls -lmbedcrypto ++TLSOBJS = $(OBJDIR)/mbedtls.c.o + endif + LD = $(CC) + SOOPTS = -shared +@@ -162,10 +172,9 @@ CFLAGS_OS = -DHAVE_IPV6 -no-cpp-precomp -Werror -Wdeclaration-after-statement \ + -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \ + -DHAVE_STRLCPY=1 -DTARGET_OS_MAC \ + -D__APPLE_USE_RFC_2292 #-Wunreachable-code +-CC = gcc + LD = $(CC) + SOOPTS = -dynamiclib +-LINKOPTS = -lSystem ++LINKOPTS += -lSystem + LDSUFFIX = dylib + JDK = /System/Library/Frameworks/JavaVM.framework/Home + JAVACFLAGS_OS = -dynamiclib -I/System/Library/Frameworks/JavaVM.framework/Headers -framework JavaVM +@@ -229,7 +238,7 @@ endif + endif + endif + +-MDNSCFLAGS = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUGGING) ++MDNSCFLAGS = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUGGING) $(CPPFLAGS) $(CXXFLAGS) + + ############################################################################# + +@@ -267,7 +276,7 @@ Daemon: setup $(BUILDDIR)/mdnsd + + $(BUILDDIR)/mdnsd: $(DAEMONOBJS) + $(CC) -o $@ $+ $(LINKOPTS) +- $(STRIP) $@ ++ $(MDNS_STRIP) $@ + + # libdns_sd target builds the client library + libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) +@@ -276,8 +285,8 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) + CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o $(OBJDIR)/dnssd_errstring.c.so.o + + $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) +- $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ +- $(STRIP) $@ ++ $(LD) $(SOOPTS) $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).$(LIB_MAJOR_VER) -o $@ $+ ++ $(MDNS_STRIP) $@ + + Clients: setup libdns_sd ../Clients/build/dns-sd + @echo "Clients done" +@@ -291,7 +300,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) + + $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o + $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ +- $(STRIP) $@ ++ $(MDNS_STRIP) $@ + + ############################################################################# + +@@ -322,7 +331,8 @@ $(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAM + + $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) + $(CP) $< $@ +- $(LN) $@ $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) ++ $(LN) libdns_sd.$(LDSUFFIX).$(LIBVERS) $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIB_MAJOR_VER) ++ $(LN) libdns_sd.$(LDSUFFIX).$(LIB_MAJOR_VER) $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) + ifdef LDCONFIG + # -m means 'merge into existing database', -R means 'rescan directories' + $(LDCONFIG) -mR diff --git a/recipes/mdnsresponder/all/patches/878.200.35/upgrade-windows-toolset.patch b/recipes/mdnsresponder/all/patches/878.200.35/upgrade-windows-toolset.patch new file mode 100644 index 0000000000000..082e2a6d8b4d6 --- /dev/null +++ b/recipes/mdnsresponder/all/patches/878.200.35/upgrade-windows-toolset.patch @@ -0,0 +1,570 @@ +diff --git a/Clients/DNS-SD.VisualStudio/dns-sd.vcxproj b/Clients/DNS-SD.VisualStudio/dns-sd.vcxproj +index 8ed154a..e21d9de 100755 +--- a/Clients/DNS-SD.VisualStudio/dns-sd.vcxproj ++++ b/Clients/DNS-SD.VisualStudio/dns-sd.vcxproj +@@ -26,18 +26,22 @@ + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + +diff --git a/Clients/ExplorerPlugin/ExplorerPlugin.vcxproj b/Clients/ExplorerPlugin/ExplorerPlugin.vcxproj +index 810c90e..87fe301 100755 +--- a/Clients/ExplorerPlugin/ExplorerPlugin.vcxproj ++++ b/Clients/ExplorerPlugin/ExplorerPlugin.vcxproj +@@ -34,24 +34,32 @@ + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 ++ ++ ++ v142 + + + +diff --git a/Clients/ExplorerPlugin/ExplorerPluginLocRes.vcxproj b/Clients/ExplorerPlugin/ExplorerPluginLocRes.vcxproj +index fb96fd3..faef74e 100755 +--- a/Clients/ExplorerPlugin/ExplorerPluginLocRes.vcxproj ++++ b/Clients/ExplorerPlugin/ExplorerPluginLocRes.vcxproj +@@ -35,24 +35,32 @@ + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 ++ ++ ++ v142 + + + +diff --git a/Clients/ExplorerPlugin/ExplorerPluginRes.vcxproj b/Clients/ExplorerPlugin/ExplorerPluginRes.vcxproj +index 4fb6490..9471cec 100755 +--- a/Clients/ExplorerPlugin/ExplorerPluginRes.vcxproj ++++ b/Clients/ExplorerPlugin/ExplorerPluginRes.vcxproj +@@ -34,24 +34,32 @@ + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 ++ ++ ++ v142 + + + +diff --git a/Clients/FirefoxExtension/FirefoxExtension.vcxproj b/Clients/FirefoxExtension/FirefoxExtension.vcxproj +index 1d02a4e..3999920 100755 +--- a/Clients/FirefoxExtension/FirefoxExtension.vcxproj ++++ b/Clients/FirefoxExtension/FirefoxExtension.vcxproj +@@ -18,11 +18,13 @@ + DynamicLibrary + false + MultiByte ++ v142 + + + DynamicLibrary + false + MultiByte ++ v142 + + + +diff --git a/Clients/PrinterSetupWizard/PrinterSetupWizard.vcxproj b/Clients/PrinterSetupWizard/PrinterSetupWizard.vcxproj +index 563597e..558320e 100755 +--- a/Clients/PrinterSetupWizard/PrinterSetupWizard.vcxproj ++++ b/Clients/PrinterSetupWizard/PrinterSetupWizard.vcxproj +@@ -35,24 +35,32 @@ + Application + Static + MultiByte ++ v142 + + + Application + Static + MultiByte ++ v142 + + + Application ++ v142 + + + Application + Static + MultiByte ++ v142 + + + Application + Static + MultiByte ++ v142 ++ ++ ++ v142 + + + +diff --git a/Clients/PrinterSetupWizard/PrinterSetupWizardLocRes.vcxproj b/Clients/PrinterSetupWizard/PrinterSetupWizardLocRes.vcxproj +index 86affb8..efbb143 100755 +--- a/Clients/PrinterSetupWizard/PrinterSetupWizardLocRes.vcxproj ++++ b/Clients/PrinterSetupWizard/PrinterSetupWizardLocRes.vcxproj +@@ -35,24 +35,32 @@ + DynamicLibrary + Static + MultiByte ++ v142 + + + DynamicLibrary + Static + MultiByte ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + MultiByte ++ v142 + + + DynamicLibrary + Static + MultiByte ++ v142 ++ ++ ++ v142 + + + +diff --git a/Clients/PrinterSetupWizard/PrinterSetupWizardRes.vcxproj b/Clients/PrinterSetupWizard/PrinterSetupWizardRes.vcxproj +index 16befa7..3cf521c 100755 +--- a/Clients/PrinterSetupWizard/PrinterSetupWizardRes.vcxproj ++++ b/Clients/PrinterSetupWizard/PrinterSetupWizardRes.vcxproj +@@ -35,24 +35,32 @@ + DynamicLibrary + Static + MultiByte ++ v142 + + + DynamicLibrary + Static + MultiByte ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + MultiByte ++ v142 + + + DynamicLibrary + Static + MultiByte ++ v142 ++ ++ ++ v142 + + + +diff --git a/Clients/mDNSNetMonitor.VisualStudio/mDNSNetMonitor.vcxproj b/Clients/mDNSNetMonitor.VisualStudio/mDNSNetMonitor.vcxproj +index 89a27a4..a26a972 100755 +--- a/Clients/mDNSNetMonitor.VisualStudio/mDNSNetMonitor.vcxproj ++++ b/Clients/mDNSNetMonitor.VisualStudio/mDNSNetMonitor.vcxproj +@@ -28,19 +28,23 @@ + Application + Unicode + true ++ v142 + + + Application + Unicode + true ++ v142 + + + Application + Unicode ++ v142 + + + Application + Unicode ++ v142 + + + +diff --git a/mDNSWindows/ControlPanel/ControlPanel.vcxproj b/mDNSWindows/ControlPanel/ControlPanel.vcxproj +index c341d42..0b82bea 100755 +--- a/mDNSWindows/ControlPanel/ControlPanel.vcxproj ++++ b/mDNSWindows/ControlPanel/ControlPanel.vcxproj +@@ -28,19 +28,23 @@ + Application + Static + MultiByte ++ v142 + + + Application + Static ++ v142 + + + Application + Static + MultiByte ++ v142 + + + Application + Static ++ v142 + + + +diff --git a/mDNSWindows/ControlPanel/ControlPanelLocRes.vcxproj b/mDNSWindows/ControlPanel/ControlPanelLocRes.vcxproj +index bc51708..4633fe4 100755 +--- a/mDNSWindows/ControlPanel/ControlPanelLocRes.vcxproj ++++ b/mDNSWindows/ControlPanel/ControlPanelLocRes.vcxproj +@@ -36,24 +36,32 @@ + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 ++ ++ ++ v142 + + + +diff --git a/mDNSWindows/ControlPanel/ControlPanelRes.vcxproj b/mDNSWindows/ControlPanel/ControlPanelRes.vcxproj +index 321e5ee..37fd041 100755 +--- a/mDNSWindows/ControlPanel/ControlPanelRes.vcxproj ++++ b/mDNSWindows/ControlPanel/ControlPanelRes.vcxproj +@@ -34,24 +34,32 @@ + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + Application ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 ++ ++ ++ v142 + + + +diff --git a/mDNSWindows/DLL/dnssd.vcxproj b/mDNSWindows/DLL/dnssd.vcxproj +index 7438a3a..0a6a50e 100755 +--- a/mDNSWindows/DLL/dnssd.vcxproj ++++ b/mDNSWindows/DLL/dnssd.vcxproj +@@ -28,18 +28,22 @@ + + DynamicLibrary + MultiByte ++ v142 + + + DynamicLibrary + MultiByte ++ v142 + + + DynamicLibrary + MultiByte ++ v142 + + + DynamicLibrary + MultiByte ++ v142 + + + +diff --git a/mDNSWindows/DLLStub/DLLStub.vcxproj b/mDNSWindows/DLLStub/DLLStub.vcxproj +index 292d931..0f3fd11 100755 +--- a/mDNSWindows/DLLStub/DLLStub.vcxproj ++++ b/mDNSWindows/DLLStub/DLLStub.vcxproj +@@ -29,24 +29,28 @@ + false + Unicode + false ++ v142 + + + StaticLibrary + false + Unicode + false ++ v142 + + + StaticLibrary + false + Unicode + false ++ v142 + + + StaticLibrary + false + Unicode + false ++ v142 + + + +diff --git a/mDNSWindows/DLLX/DLLX.vcxproj b/mDNSWindows/DLLX/DLLX.vcxproj +index a57e4ed..6c414b7 100755 +--- a/mDNSWindows/DLLX/DLLX.vcxproj ++++ b/mDNSWindows/DLLX/DLLX.vcxproj +@@ -28,23 +28,27 @@ + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + false + Static + Unicode ++ v142 + + + DynamicLibrary + Static + Unicode ++ v142 + + + DynamicLibrary + false + Static + Unicode ++ v142 + + + +diff --git a/mDNSWindows/NSPTool/NSPTool.vcxproj b/mDNSWindows/NSPTool/NSPTool.vcxproj +index 7c86852..f676f42 100755 +--- a/mDNSWindows/NSPTool/NSPTool.vcxproj ++++ b/mDNSWindows/NSPTool/NSPTool.vcxproj +@@ -26,18 +26,22 @@ + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + +diff --git a/mDNSWindows/SystemService/Service.vcxproj b/mDNSWindows/SystemService/Service.vcxproj +index c0eb7a0..4a9ee1c 100755 +--- a/mDNSWindows/SystemService/Service.vcxproj ++++ b/mDNSWindows/SystemService/Service.vcxproj +@@ -28,18 +28,22 @@ + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + Application + MultiByte ++ v142 + + + +diff --git a/mDNSWindows/mdnsNSP/mdnsNSP.vcxproj b/mDNSWindows/mdnsNSP/mdnsNSP.vcxproj +index 71b2b98..e844f9a 100755 +--- a/mDNSWindows/mdnsNSP/mdnsNSP.vcxproj ++++ b/mDNSWindows/mdnsNSP/mdnsNSP.vcxproj +@@ -26,18 +26,22 @@ + + DynamicLibrary + MultiByte ++ v142 + + + DynamicLibrary + MultiByte ++ v142 + + + DynamicLibrary + MultiByte ++ v142 + + + DynamicLibrary + MultiByte ++ v142 + + + diff --git a/recipes/mdnsresponder/all/test_package/CMakeLists.txt b/recipes/mdnsresponder/all/test_package/CMakeLists.txt index 34af13462f44f..5814f8fe93b5d 100644 --- a/recipes/mdnsresponder/all/test_package/CMakeLists.txt +++ b/recipes/mdnsresponder/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES C) + +find_package(DNSSD REQUIRED CONFIG) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE DNSSD::DNSSD) diff --git a/recipes/mdnsresponder/all/test_package/conanfile.py b/recipes/mdnsresponder/all/test_package/conanfile.py index fdb9f346a1da9..e845ae751a301 100644 --- a/recipes/mdnsresponder/all/test_package/conanfile.py +++ b/recipes/mdnsresponder/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt b/recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..a4d5a242ce134 --- /dev/null +++ b/recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +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/mdnsresponder/all/test_v1_package/conanfile.py b/recipes/mdnsresponder/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/mdnsresponder/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/mdnsresponder/config.yml b/recipes/mdnsresponder/config.yml index a8ca75314b5a1..a7592a4b20916 100644 --- a/recipes/mdnsresponder/config.yml +++ b/recipes/mdnsresponder/config.yml @@ -3,3 +3,5 @@ versions: folder: all "1310.140.1": folder: all + "1790.80.10": + folder: all From b3f1af6d4ed210b84af7219dc504d0d271d83976 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Jun 2023 15:41:51 +0900 Subject: [PATCH 0563/4087] (#17959) strong_type: add version v11, add package_type --- recipes/strong_type/all/conandata.yml | 25 +++++++------ recipes/strong_type/all/conanfile.py | 35 ++++++++++--------- .../strong_type/all/test_package/conanfile.py | 7 ++-- recipes/strong_type/config.yml | 8 +++-- 4 files changed, 41 insertions(+), 34 deletions(-) diff --git a/recipes/strong_type/all/conandata.yml b/recipes/strong_type/all/conandata.yml index 3e0188fb65a1e..93df54150e6a0 100644 --- a/recipes/strong_type/all/conandata.yml +++ b/recipes/strong_type/all/conandata.yml @@ -1,13 +1,16 @@ sources: - "v7": - url: https://github.com/rollbear/strong_type/archive/refs/tags/v7.tar.gz - sha256: 854365b28dfaaee5c2047dd4d2e746c809b76035191b22a4ce24f4cac49d0891 - "v8": - url: https://github.com/rollbear/strong_type/archive/refs/tags/v8.tar.gz - sha256: 31ee68e097fec2ce65dbf2ed683911c5ee6a7a37808b28d84479ef7e17990fad - "v9": - url: https://github.com/rollbear/strong_type/archive/refs/tags/v9.tar.gz - sha256: 9d71ee02256b99c7f0189295514dd683cc1be8886444d5c04623fd491cf5aa40 + "v11": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v11.tar.gz" + sha256: "b9879c8835501c05147603ac86097b263437f72a35299b5f96c90be789932418" "v10": - url: https://github.com/rollbear/strong_type/archive/refs/tags/v10.tar.gz - sha256: 154e4ceda6cf8fe734deb7eafdf58df5052822d04425dc7c22711ef54cdaeefa + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v10.tar.gz" + sha256: "154e4ceda6cf8fe734deb7eafdf58df5052822d04425dc7c22711ef54cdaeefa" + "v9": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v9.tar.gz" + sha256: "9d71ee02256b99c7f0189295514dd683cc1be8886444d5c04623fd491cf5aa40" + "v8": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v8.tar.gz" + sha256: "31ee68e097fec2ce65dbf2ed683911c5ee6a7a37808b28d84479ef7e17990fad" + "v7": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v7.tar.gz" + sha256: "854365b28dfaaee5c2047dd4d2e746c809b76035191b22a4ce24f4cac49d0891" diff --git a/recipes/strong_type/all/conanfile.py b/recipes/strong_type/all/conanfile.py index 04af76b6e1170..a5d80e301881b 100644 --- a/recipes/strong_type/all/conanfile.py +++ b/recipes/strong_type/all/conanfile.py @@ -11,29 +11,33 @@ class StrongTypeConan(ConanFile): name = "strong_type" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/rollbear/strong_type" description = "An additive strong typedef library for C++14/17/20" - topics = ("cpp14", "cpp17", "strong_type") license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/rollbear/strong_type" + topics = ("cpp14", "cpp17", "strong_type", "header-only") + 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, 14) + check_min_cppstd(self, self._min_cppstd) if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": raise ConanInvalidConfiguration("GCC < version 7 is not supported") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -49,9 +53,12 @@ def package_info(self): self.cpp_info.set_property( "cmake_target_name", "rollbear::strong_type") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] + + self.cpp_info.components["strong_type"].set_property( + "cmake_target_name", "rollbear::strong_type") + self.cpp_info.components["strong_type"].bindirs = [] + self.cpp_info.components["strong_type"].libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "strong_type" @@ -60,9 +67,3 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "rollbear" self.cpp_info.components["strong_type"].names["cmake_find_package"] = "strong_type" self.cpp_info.components["strong_type"].names["cmake_find_package_multi"] = "strong_type" - self.cpp_info.components["strong_type"].set_property( - "cmake_target_name", "rollbear::strong_type") - self.cpp_info.components["strong_type"].bindirs = [] - self.cpp_info.components["strong_type"].frameworkdirs = [] - self.cpp_info.components["strong_type"].libdirs = [] - self.cpp_info.components["strong_type"].resdirs = [] diff --git a/recipes/strong_type/all/test_package/conanfile.py b/recipes/strong_type/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/strong_type/all/test_package/conanfile.py +++ b/recipes/strong_type/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/strong_type/config.yml b/recipes/strong_type/config.yml index a45ecce57a17a..547a5c53c28e3 100644 --- a/recipes/strong_type/config.yml +++ b/recipes/strong_type/config.yml @@ -1,9 +1,11 @@ versions: - "v7": + "v11": folder: all - "v8": + "v10": folder: all "v9": folder: all - "v10": + "v8": + folder: all + "v7": folder: all From d69f531477c0e574465666d3f3dfa45d969dabcf Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:43:29 +0200 Subject: [PATCH 0564/4087] (#17366) octomap: fix compilation with C++17 or higher standard * C++17 compatibility * more fixes for C++20 * more fix --- recipes/octomap/all/conandata.yml | 32 ++- ...3-0001-targets-outputname-collision.patch} | 0 .../all/patches/1.9.3-0002-cpp17-compat.patch | 247 ++++++++++++++++++ ...5-0001-targets-outputname-collision.patch} | 0 .../all/patches/1.9.6-0001-cpp17-compat.patch | 216 +++++++++++++++ 5 files changed, 491 insertions(+), 4 deletions(-) rename recipes/octomap/all/patches/{targets-outputname-collision-1.9.3.patch => 1.9.3-0001-targets-outputname-collision.patch} (100%) create mode 100644 recipes/octomap/all/patches/1.9.3-0002-cpp17-compat.patch rename recipes/octomap/all/patches/{targets-outputname-collision-1.9.5.patch => 1.9.5-0001-targets-outputname-collision.patch} (100%) create mode 100644 recipes/octomap/all/patches/1.9.6-0001-cpp17-compat.patch diff --git a/recipes/octomap/all/conandata.yml b/recipes/octomap/all/conandata.yml index 1b73c9b2e5c5d..badfa463524af 100644 --- a/recipes/octomap/all/conandata.yml +++ b/recipes/octomap/all/conandata.yml @@ -13,10 +13,34 @@ sources: sha256: "8488de97ed2c8f4757bfbaf3225e82a9e36783dce1f573b3bde1cf968aa89696" patches: "1.9.7": - - patch_file: "patches/targets-outputname-collision-1.9.5.patch" + - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" + patch_description: "CMake: build either shared or static, and avoid name collision" + patch_type: "conan" + - patch_file: "patches/1.9.6-0001-cpp17-compat.patch" + patch_description: "Robust C++17 compatibility" + patch_type: "portability" + patch_source: "https://github.com/OctoMap/octomap/pull/394" "1.9.6": - - patch_file: "patches/targets-outputname-collision-1.9.5.patch" + - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" + patch_description: "CMake: build either shared or static, and avoid name collision" + patch_type: "conan" + - patch_file: "patches/1.9.6-0001-cpp17-compat.patch" + patch_description: "Robust C++17 compatibility" + patch_type: "portability" + patch_source: "https://github.com/OctoMap/octomap/pull/394" "1.9.5": - - patch_file: "patches/targets-outputname-collision-1.9.5.patch" + - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" + patch_description: "CMake: build either shared or static, and avoid name collision" + patch_type: "conan" + - patch_file: "patches/1.9.3-0002-cpp17-compat.patch" + patch_description: "Robust C++17 compatibility" + patch_type: "portability" + patch_source: "https://github.com/OctoMap/octomap/pull/394" "1.9.3": - - patch_file: "patches/targets-outputname-collision-1.9.3.patch" + - patch_file: "patches/1.9.3-0001-targets-outputname-collision.patch" + patch_description: "CMake: build either shared or static, and avoid name collision" + patch_type: "conan" + - patch_file: "patches/1.9.3-0002-cpp17-compat.patch" + patch_description: "Robust C++17 compatibility" + patch_type: "portability" + patch_source: "https://github.com/OctoMap/octomap/pull/394" diff --git a/recipes/octomap/all/patches/targets-outputname-collision-1.9.3.patch b/recipes/octomap/all/patches/1.9.3-0001-targets-outputname-collision.patch similarity index 100% rename from recipes/octomap/all/patches/targets-outputname-collision-1.9.3.patch rename to recipes/octomap/all/patches/1.9.3-0001-targets-outputname-collision.patch diff --git a/recipes/octomap/all/patches/1.9.3-0002-cpp17-compat.patch b/recipes/octomap/all/patches/1.9.3-0002-cpp17-compat.patch new file mode 100644 index 0000000000000..f260df02249e4 --- /dev/null +++ b/recipes/octomap/all/patches/1.9.3-0002-cpp17-compat.patch @@ -0,0 +1,247 @@ +--- a/octomap/include/octomap/AbstractOcTree.h ++++ b/octomap/include/octomap/AbstractOcTree.h +@@ -51,7 +51,7 @@ namespace octomap { + friend class StaticMapInit; + public: + AbstractOcTree(); +- virtual ~AbstractOcTree() {}; ++ virtual ~AbstractOcTree() {} + + /// virtual constructor: creates a new object of same type + virtual AbstractOcTree* create() const = 0; +--- a/octomap/include/octomap/AbstractOccupancyOcTree.h ++++ b/octomap/include/octomap/AbstractOccupancyOcTree.h +@@ -52,7 +52,7 @@ namespace octomap { + class AbstractOccupancyOcTree : public AbstractOcTree { + public: + AbstractOccupancyOcTree(); +- virtual ~AbstractOccupancyOcTree() {}; ++ virtual ~AbstractOccupancyOcTree() {} + + //-- IO + +--- a/octomap/include/octomap/ColorOcTree.h ++++ b/octomap/include/octomap/ColorOcTree.h +@@ -192,7 +192,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// static member to ensure static initialization (only once) + static StaticMemberInitializer colorOcTreeMemberInit; +--- a/octomap/include/octomap/CountingOcTree.h ++++ b/octomap/include/octomap/CountingOcTree.h +@@ -110,7 +110,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// static member to ensure static initialization (only once) + static StaticMemberInitializer countingOcTreeMemberInit; +--- a/octomap/include/octomap/OcTree.h ++++ b/octomap/include/octomap/OcTree.h +@@ -59,7 +59,7 @@ namespace octomap { + */ + OcTree(std::string _filename); + +- virtual ~OcTree(){}; ++ virtual ~OcTree(){} + + /// virtual constructor: creates a new object of same type + /// (Covariant return type requires an up-to-date compiler) +@@ -89,7 +89,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + + /// to ensure static initialization (only once) +--- a/octomap/include/octomap/OcTreeBase.h ++++ b/octomap/include/octomap/OcTreeBase.h +@@ -43,7 +43,7 @@ namespace octomap { + template + class OcTreeBase : public OcTreeBaseImpl { + public: +- OcTreeBase(double res) : OcTreeBaseImpl(res) {}; ++ OcTreeBase(double res) : OcTreeBaseImpl(res) {} + + /// virtual constructor: creates a new object of same type + /// (Covariant return type requires an up-to-date compiler) +@@ -51,7 +51,7 @@ namespace octomap { + std::string getTreeType() const {return "OcTreeBase";} + }; + +- }; ++} + + + #endif +--- a/octomap/include/octomap/OcTreeBaseImpl.h ++++ b/octomap/include/octomap/OcTreeBaseImpl.h +@@ -244,7 +244,7 @@ namespace octomap { + virtual size_t memoryUsage() const; + + /// \return Memory usage of a single octree node +- virtual inline size_t memoryUsageNode() const {return sizeof(NODE); }; ++ virtual inline size_t memoryUsageNode() const {return sizeof(NODE); } + + /// \return Memory usage of a full grid of the same size as the OcTree in bytes (for comparison) + /// \note this can be larger than the adressable memory - size_t may not be enough to hold it! +@@ -324,12 +324,12 @@ namespace octomap { + typedef leaf_iterator iterator; + + /// @return beginning of the tree as leaf iterator +- iterator begin(unsigned char maxDepth=0) const {return iterator(this, maxDepth);}; ++ iterator begin(unsigned char maxDepth=0) const {return iterator(this, maxDepth);} + /// @return end of the tree as leaf iterator +- const iterator end() const {return leaf_iterator_end;}; // TODO: RVE? ++ const iterator end() const {return leaf_iterator_end;} // TODO: RVE? + + /// @return beginning of the tree as leaf iterator +- leaf_iterator begin_leafs(unsigned char maxDepth=0) const {return leaf_iterator(this, maxDepth);}; ++ leaf_iterator begin_leafs(unsigned char maxDepth=0) const {return leaf_iterator(this, maxDepth);} + /// @return end of the tree as leaf iterator + const leaf_iterator end_leafs() const {return leaf_iterator_end;} + +--- a/octomap/include/octomap/OcTreeDataNode.h ++++ b/octomap/include/octomap/OcTreeDataNode.h +@@ -100,9 +100,9 @@ namespace octomap { + OCTOMAP_DEPRECATED(bool hasChildren() const); + + /// @return value stored in the node +- T getValue() const{return value;}; ++ T getValue() const{return value;} + /// sets value to be stored in the node +- void setValue(T v) {value = v;}; ++ void setValue(T v) {value = v;} + + // file IO: + +--- a/octomap/include/octomap/OcTreeIterator.hxx ++++ b/octomap/include/octomap/OcTreeIterator.hxx +@@ -95,7 +95,7 @@ + maxDepth = other.maxDepth; + stack = other.stack; + return *this; +- }; ++ } + + /// Ptr operator will return the current node in the octree which the + /// iterator is referring to +@@ -213,7 +213,7 @@ + * @param tree OcTreeBaseImpl on which the iterator is used on + * @param depth Maximum depth to traverse the tree. 0 (default): unlimited + */ +- tree_iterator(OcTreeBaseImpl const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {}; ++ tree_iterator(OcTreeBaseImpl const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {} + + /// postfix increment operator of iterator (it++) + tree_iterator operator++(int){ +@@ -280,7 +280,7 @@ + } + } + +- leaf_iterator(const leaf_iterator& other) : iterator_base(other) {}; ++ leaf_iterator(const leaf_iterator& other) : iterator_base(other) {} + + /// postfix increment operator of iterator (it++) + leaf_iterator operator++(int){ +@@ -334,7 +334,7 @@ + */ + class leaf_bbx_iterator : public iterator_base { + public: +- leaf_bbx_iterator() : iterator_base() {}; ++ leaf_bbx_iterator() : iterator_base() {} + /** + * Constructor of the iterator. The bounding box corners min and max are + * converted into an OcTreeKey first. +@@ -425,7 +425,7 @@ + + + return *this; +- }; ++ } + + protected: + +--- a/octomap/include/octomap/OcTreeStamped.h ++++ b/octomap/include/octomap/OcTreeStamped.h +@@ -116,7 +116,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// to ensure static initialization (only once) + static StaticMemberInitializer ocTreeStampedMemberInit; +--- a/octomap/include/octomap/ScanGraph.h ++++ b/octomap/include/octomap/ScanGraph.h +@@ -115,7 +115,7 @@ namespace octomap { + + public: + +- ScanGraph() {}; ++ ScanGraph() {} + ~ScanGraph(); + + /// Clears all nodes and edges, and will delete the corresponding objects +--- a/octomap/src/ColorOcTree.cpp ++++ b/octomap/src/ColorOcTree.cpp +@@ -91,7 +91,7 @@ namespace octomap { + ColorOcTree::ColorOcTree(double in_resolution) + : OccupancyOcTreeBase(in_resolution) { + colorOcTreeMemberInit.ensureLinking(); +- }; ++ } + + ColorOcTreeNode* ColorOcTree::setNodeColor(const OcTreeKey& key, + uint8_t r, +--- a/octomap/src/OcTree.cpp ++++ b/octomap/src/OcTree.cpp +@@ -39,7 +39,7 @@ namespace octomap { + OcTree::OcTree(double in_resolution) + : OccupancyOcTreeBase(in_resolution) { + ocTreeMemberInit.ensureLinking(); +- }; ++ } + + OcTree::OcTree(std::string _filename) + : OccupancyOcTreeBase (0.1) { // resolution will be set according to tree file +--- a/octomap/src/Pointcloud.cpp ++++ b/octomap/src/Pointcloud.cpp +@@ -38,7 +38,7 @@ + + #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + #include +- #if __cplusplus > 199711L ++ #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + #include + #endif + #else +@@ -213,7 +213,7 @@ namespace octomap { + #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + samples.reserve(this->size()); + samples.insert(samples.end(), this->begin(), this->end()); +- #if __cplusplus > 199711L ++ #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + std::random_device r; + std::mt19937 urbg(r()); + std::shuffle(samples.begin(), samples.end(), urbg); +--- a/octomap/src/compare_octrees.cpp ++++ b/octomap/src/compare_octrees.cpp +@@ -132,7 +132,7 @@ int main(int argc, char** argv) { + else + kld +=log(p1/p2)*p1 + log((1-p1)/(1-p2))*(1-p1); + +-#if __cplusplus >= 201103L ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + if (std::isnan(kld)){ + #else + if (isnan(kld)){ diff --git a/recipes/octomap/all/patches/targets-outputname-collision-1.9.5.patch b/recipes/octomap/all/patches/1.9.5-0001-targets-outputname-collision.patch similarity index 100% rename from recipes/octomap/all/patches/targets-outputname-collision-1.9.5.patch rename to recipes/octomap/all/patches/1.9.5-0001-targets-outputname-collision.patch diff --git a/recipes/octomap/all/patches/1.9.6-0001-cpp17-compat.patch b/recipes/octomap/all/patches/1.9.6-0001-cpp17-compat.patch new file mode 100644 index 0000000000000..510dd8cad3218 --- /dev/null +++ b/recipes/octomap/all/patches/1.9.6-0001-cpp17-compat.patch @@ -0,0 +1,216 @@ +--- a/octomap/include/octomap/AbstractOcTree.h ++++ b/octomap/include/octomap/AbstractOcTree.h +@@ -51,7 +51,7 @@ namespace octomap { + friend class StaticMapInit; + public: + AbstractOcTree(); +- virtual ~AbstractOcTree() {}; ++ virtual ~AbstractOcTree() {} + + /// virtual constructor: creates a new object of same type + virtual AbstractOcTree* create() const = 0; +--- a/octomap/include/octomap/AbstractOccupancyOcTree.h ++++ b/octomap/include/octomap/AbstractOccupancyOcTree.h +@@ -52,7 +52,7 @@ namespace octomap { + class AbstractOccupancyOcTree : public AbstractOcTree { + public: + AbstractOccupancyOcTree(); +- virtual ~AbstractOccupancyOcTree() {}; ++ virtual ~AbstractOccupancyOcTree() {} + + //-- IO + +--- a/octomap/include/octomap/ColorOcTree.h ++++ b/octomap/include/octomap/ColorOcTree.h +@@ -192,7 +192,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// static member to ensure static initialization (only once) + static StaticMemberInitializer colorOcTreeMemberInit; +--- a/octomap/include/octomap/CountingOcTree.h ++++ b/octomap/include/octomap/CountingOcTree.h +@@ -110,7 +110,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// static member to ensure static initialization (only once) + static StaticMemberInitializer countingOcTreeMemberInit; +--- a/octomap/include/octomap/OcTree.h ++++ b/octomap/include/octomap/OcTree.h +@@ -59,7 +59,7 @@ namespace octomap { + */ + OcTree(std::string _filename); + +- virtual ~OcTree(){}; ++ virtual ~OcTree(){} + + /// virtual constructor: creates a new object of same type + /// (Covariant return type requires an up-to-date compiler) +@@ -89,7 +89,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + + /// to ensure static initialization (only once) +--- a/octomap/include/octomap/OcTreeBase.h ++++ b/octomap/include/octomap/OcTreeBase.h +@@ -43,7 +43,7 @@ namespace octomap { + template + class OcTreeBase : public OcTreeBaseImpl { + public: +- OcTreeBase(double res) : OcTreeBaseImpl(res) {}; ++ OcTreeBase(double res) : OcTreeBaseImpl(res) {} + + /// virtual constructor: creates a new object of same type + /// (Covariant return type requires an up-to-date compiler) +--- a/octomap/include/octomap/OcTreeBaseImpl.h ++++ b/octomap/include/octomap/OcTreeBaseImpl.h +@@ -244,7 +244,7 @@ namespace octomap { + virtual size_t memoryUsage() const; + + /// \return Memory usage of a single octree node +- virtual inline size_t memoryUsageNode() const {return sizeof(NODE); }; ++ virtual inline size_t memoryUsageNode() const {return sizeof(NODE); } + + /// \return Memory usage of a full grid of the same size as the OcTree in bytes (for comparison) + /// \note this can be larger than the adressable memory - size_t may not be enough to hold it! +@@ -324,12 +324,12 @@ namespace octomap { + typedef leaf_iterator iterator; + + /// @return beginning of the tree as leaf iterator +- iterator begin(unsigned char maxDepth=0) const {return iterator(this, maxDepth);}; ++ iterator begin(unsigned char maxDepth=0) const {return iterator(this, maxDepth);} + /// @return end of the tree as leaf iterator +- const iterator end() const {return leaf_iterator_end;}; // TODO: RVE? ++ const iterator end() const {return leaf_iterator_end;} // TODO: RVE? + + /// @return beginning of the tree as leaf iterator +- leaf_iterator begin_leafs(unsigned char maxDepth=0) const {return leaf_iterator(this, maxDepth);}; ++ leaf_iterator begin_leafs(unsigned char maxDepth=0) const {return leaf_iterator(this, maxDepth);} + /// @return end of the tree as leaf iterator + const leaf_iterator end_leafs() const {return leaf_iterator_end;} + +--- a/octomap/include/octomap/OcTreeDataNode.h ++++ b/octomap/include/octomap/OcTreeDataNode.h +@@ -100,9 +100,9 @@ namespace octomap { + OCTOMAP_DEPRECATED(bool hasChildren() const); + + /// @return value stored in the node +- T getValue() const{return value;}; ++ T getValue() const{return value;} + /// sets value to be stored in the node +- void setValue(T v) {value = v;}; ++ void setValue(T v) {value = v;} + + // file IO: + +--- a/octomap/include/octomap/OcTreeIterator.hxx ++++ b/octomap/include/octomap/OcTreeIterator.hxx +@@ -95,7 +95,7 @@ + maxDepth = other.maxDepth; + stack = other.stack; + return *this; +- }; ++ } + + /// Ptr operator will return the current node in the octree which the + /// iterator is referring to +@@ -213,7 +213,7 @@ + * @param tree OcTreeBaseImpl on which the iterator is used on + * @param depth Maximum depth to traverse the tree. 0 (default): unlimited + */ +- tree_iterator(OcTreeBaseImpl const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {}; ++ tree_iterator(OcTreeBaseImpl const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {} + + /// postfix increment operator of iterator (it++) + tree_iterator operator++(int){ +@@ -280,7 +280,7 @@ + } + } + +- leaf_iterator(const leaf_iterator& other) : iterator_base(other) {}; ++ leaf_iterator(const leaf_iterator& other) : iterator_base(other) {} + + /// postfix increment operator of iterator (it++) + leaf_iterator operator++(int){ +@@ -334,7 +334,7 @@ + */ + class leaf_bbx_iterator : public iterator_base { + public: +- leaf_bbx_iterator() : iterator_base() {}; ++ leaf_bbx_iterator() : iterator_base() {} + /** + * Constructor of the iterator. The bounding box corners min and max are + * converted into an OcTreeKey first. +@@ -425,7 +425,7 @@ + + + return *this; +- }; ++ } + + protected: + +--- a/octomap/include/octomap/OcTreeStamped.h ++++ b/octomap/include/octomap/OcTreeStamped.h +@@ -116,7 +116,7 @@ namespace octomap { + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// to ensure static initialization (only once) + static StaticMemberInitializer ocTreeStampedMemberInit; +--- a/octomap/include/octomap/ScanGraph.h ++++ b/octomap/include/octomap/ScanGraph.h +@@ -115,7 +115,7 @@ namespace octomap { + + public: + +- ScanGraph() {}; ++ ScanGraph() {} + ~ScanGraph(); + + /// Clears all nodes and edges, and will delete the corresponding objects +--- a/octomap/src/Pointcloud.cpp ++++ b/octomap/src/Pointcloud.cpp +@@ -38,7 +38,7 @@ + + #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + #include +- #if __cplusplus > 199711L ++ #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + #include + #endif + #else +@@ -213,7 +213,7 @@ namespace octomap { + #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + samples.reserve(this->size()); + samples.insert(samples.end(), this->begin(), this->end()); +- #if __cplusplus > 199711L ++ #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + std::random_device r; + std::mt19937 urbg(r()); + std::shuffle(samples.begin(), samples.end(), urbg); +--- a/octomap/src/compare_octrees.cpp ++++ b/octomap/src/compare_octrees.cpp +@@ -132,7 +132,7 @@ int main(int argc, char** argv) { + else + kld +=log(p1/p2)*p1 + log((1-p1)/(1-p2))*(1-p1); + +-#if __cplusplus >= 201103L ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + if (std::isnan(kld)){ + #else + if (isnan(kld)){ From f145c6a1df8b668e5e9ad9978ab08ab5d3c39cc2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 19 Jun 2023 11:41:31 +0200 Subject: [PATCH 0565/4087] (#17965) [bot] Update list of references (prod-v2/ListPackages) --- .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 a0789e7504653..616a429fed7ba 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -1,4 +1,5 @@ required_for_references: +- 7bitconf - 7bitdi - 7zip - aaf @@ -450,6 +451,7 @@ required_for_references: - mbedtls - md4c - md4qt +- mdnsresponder - mdspan - meson - mgs @@ -462,6 +464,7 @@ required_for_references: - mongo-c-driver - mozilla-build - mozjpeg +- mp-units - mpg123 - ms-gsl - msgpack-c From 615693fbddad74583873085c8e8b54b98b51729f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Jun 2023 19:02:14 +0900 Subject: [PATCH 0566/4087] (#17962) commata: add version 0.2.4-bug1 --- 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 d18c4f077249e..8d18339e36157 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.4-bug1": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4-bug1.tar.gz" + sha256: "fcde251d9b41f1601e1f8b2181613b4bf33c4318678700e2b3b54bf24bc9e1e3" "0.2.4": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4.tar.gz" sha256: "2d154c1ed7bbf6551729bcc5baf581613f6605df080ada35a9e107648d255e2e" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 199edf0f60679..48953f2722cf9 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.4-bug1": + folder: all "0.2.4": folder: all "0.2.3": From f43e1f5c1948dc450a494c63a94a52d0ca76c67b Mon Sep 17 00:00:00 2001 From: "C.D. Clark III" Date: Mon, 19 Jun 2023 05:41:46 -0500 Subject: [PATCH 0567/4087] (#17937) [libinterpolate]: added version 2.6.3 --- recipes/libinterpolate/all/conandata.yml | 4 ++++ recipes/libinterpolate/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/libinterpolate/all/conandata.yml b/recipes/libinterpolate/all/conandata.yml index 04998351d32b8..ccfe0443cddf0 100644 --- a/recipes/libinterpolate/all/conandata.yml +++ b/recipes/libinterpolate/all/conandata.yml @@ -3,3 +3,7 @@ sources: url: - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.2.tar.gz" sha256: "42f40c9b77fda6e0c52ed39b522458456e89fb4981d63f812aa158c6f4be8ab0" + "2.6.3": + url: + - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.3.tar.gz" + sha256: "bb2f253c27594b4e56ed9349630086665f529100eac2cd3cba63d198c3a84ff9" diff --git a/recipes/libinterpolate/config.yml b/recipes/libinterpolate/config.yml index 8296a371553be..f4cf1cbc64d28 100644 --- a/recipes/libinterpolate/config.yml +++ b/recipes/libinterpolate/config.yml @@ -1,3 +1,5 @@ versions: "2.6.2": folder: all + "2.6.3": + folder: all From 3c40759273eaf41536c05a88072b41968776f77d Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 19 Jun 2023 17:02:24 +0200 Subject: [PATCH 0568/4087] (#17822) cppdap: add recipe * cppdap: add recipe * cppdap: never allow shared option * cppdap: raise error for all shared builds * cppdap: correct the order of cmake min and project --- recipes/cppdap/all/conandata.yml | 10 ++ recipes/cppdap/all/conanfile.py | 99 +++++++++++++++++++ ...min-CMake-version-prior-to-project-c.patch | 33 +++++++ .../cppdap/all/test_package/CMakeLists.txt | 8 ++ recipes/cppdap/all/test_package/conanfile.py | 26 +++++ .../cppdap/all/test_package/test_package.cpp | 10 ++ recipes/cppdap/config.yml | 3 + 7 files changed, 189 insertions(+) create mode 100644 recipes/cppdap/all/conandata.yml create mode 100644 recipes/cppdap/all/conanfile.py create mode 100644 recipes/cppdap/all/patches/0001-build-cmake-use-min-CMake-version-prior-to-project-c.patch create mode 100644 recipes/cppdap/all/test_package/CMakeLists.txt create mode 100644 recipes/cppdap/all/test_package/conanfile.py create mode 100644 recipes/cppdap/all/test_package/test_package.cpp create mode 100644 recipes/cppdap/config.yml diff --git a/recipes/cppdap/all/conandata.yml b/recipes/cppdap/all/conandata.yml new file mode 100644 index 0000000000000..81a6d395b6748 --- /dev/null +++ b/recipes/cppdap/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "cci.20230526": + url: "https://github.com/google/cppdap/archive/03cc18678ed2ed8b2424ec99dee7e4655d876db5.tar.gz" + sha256: "b1de5020fdb3ab429973545f3f869cab909c0f81151242e694f6f7c1f9b32d2d" +patches: + "cci.20230526": + - patch_file: "patches/0001-build-cmake-use-min-CMake-version-prior-to-project-c.patch" + patch_description: "correct the order of cmake min and project" + patch_type: "conan" + patch_source: "https://github.com/google/cppdap/pull/112" diff --git a/recipes/cppdap/all/conanfile.py b/recipes/cppdap/all/conanfile.py new file mode 100644 index 0000000000000..01e7b35399573 --- /dev/null +++ b/recipes/cppdap/all/conanfile.py @@ -0,0 +1,99 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "cppdap" + description = "Debug Adapter Protocol SDK" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/google/cppdap" + topics = ("debug", "adapter", "protocol", "dap") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_json": ["jsoncpp", "nlohmann_json", "rapidjson"], + } + default_options = { + "shared": False, + "fPIC": True, + "with_json": "nlohmann_json", + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_json == "jsoncpp": + self.requires("jsoncpp/1.9.5") + elif self.options.with_json == "rapidjson": + self.requires("rapidjson/cci.20220822") + elif self.options.with_json == "nlohmann_json": + self.requires("nlohmann_json/3.11.2") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + if self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CPPDAP_USE_EXTERNAL_JSONCPP_PACKAGE"] = self.options.with_json == "jsoncpp" + tc.variables["CPPDAP_USE_EXTERNAL_RAPIDJSON_PACKAGE"] = self.options.with_json == "rapidjson" + tc.variables["CPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE"] = self.options.with_json == "nlohmann_json" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + + def package_info(self): + self.cpp_info.libs = ["cppdap"] + + self.cpp_info.set_property("cmake_file_name", "cppdap") + self.cpp_info.set_property("cmake_target_name", "cppdap::cppdap") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + if self.settings.os in ["Windows"]: + self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/cppdap/all/patches/0001-build-cmake-use-min-CMake-version-prior-to-project-c.patch b/recipes/cppdap/all/patches/0001-build-cmake-use-min-CMake-version-prior-to-project-c.patch new file mode 100644 index 0000000000000..4afee12c43400 --- /dev/null +++ b/recipes/cppdap/all/patches/0001-build-cmake-use-min-CMake-version-prior-to-project-c.patch @@ -0,0 +1,33 @@ +From ab76a207761b02e169f3ace39e3beb126b39fe9e Mon Sep 17 00:00:00 2001 +From: Gregor Jasny +Date: Mon, 5 Jun 2023 08:01:43 +0200 +Subject: [PATCH] build(cmake): use min CMake version prior to project call + +The [CMake documentation](https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html) +mandates that `cmake_minimum_required` should be called early +in the `CMakeLists.txt` prior to any `project()` command. +--- + CMakeLists.txt | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f111f1a..717f02e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,11 +12,10 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + +-cmake_policy(SET CMP0048 NEW) +-project(cppdap VERSION 1.59.0 LANGUAGES CXX C) +- + cmake_minimum_required(VERSION 3.13) + ++project(cppdap VERSION 1.59.0 LANGUAGES CXX C) ++ + set (CMAKE_CXX_STANDARD 11) + + include(GNUInstallDirs) +-- +2.40.1 + diff --git a/recipes/cppdap/all/test_package/CMakeLists.txt b/recipes/cppdap/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4175e2067e663 --- /dev/null +++ b/recipes/cppdap/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(cppdap REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cppdap::cppdap) diff --git a/recipes/cppdap/all/test_package/conanfile.py b/recipes/cppdap/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/cppdap/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/cppdap/all/test_package/test_package.cpp b/recipes/cppdap/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8b914589b185d --- /dev/null +++ b/recipes/cppdap/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include "dap/dap.h" + +int main() { + + dap::initialize(); + dap::terminate(); + + return EXIT_SUCCESS; +} diff --git a/recipes/cppdap/config.yml b/recipes/cppdap/config.yml new file mode 100644 index 0000000000000..4dde24d181aa0 --- /dev/null +++ b/recipes/cppdap/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230526": + folder: all From 13b7efbd6d4fc4a0d92e29a6ce4838ac45b96f56 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Jun 2023 03:04:31 +0900 Subject: [PATCH 0569/4087] (#17919) c-blosc: add version 1.21.4, add package_type --- recipes/c-blosc/all/conandata.yml | 7 ++ recipes/c-blosc/all/conanfile.py | 13 ++-- .../patches/cmake-dependencies-1.21.4+.patch | 71 +++++++++++++++++++ recipes/c-blosc/config.yml | 2 + 4 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 recipes/c-blosc/all/patches/cmake-dependencies-1.21.4+.patch diff --git a/recipes/c-blosc/all/conandata.yml b/recipes/c-blosc/all/conandata.yml index c8c0ea232bc21..d2e82d3ed6ffb 100644 --- a/recipes/c-blosc/all/conandata.yml +++ b/recipes/c-blosc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.21.4": + url: "https://github.com/Blosc/c-blosc/archive/v1.21.4.tar.gz" + sha256: "e72bd03827b8564bbb3dc3ea0d0e689b4863871ce3861d946f2efd7a186ecf3e" "1.21.3": url: "https://github.com/Blosc/c-blosc/archive/v1.21.3.tar.gz" sha256: "941016c4564bca662080bb01aea74f06630bd665e598c6f6967fd91b2e2e0bb6" @@ -24,6 +27,10 @@ sources: url: "https://github.com/Blosc/c-blosc/archive/v1.17.1.tar.gz" sha256: "19a6948b579c27e8ac440b4f077f99fc90e7292b1d9cb896bec0fd781d68fba2" patches: + "1.21.4": + - patch_file: "patches/cmake-dependencies-1.21.4+.patch" + patch_description: "use cci package" + patch_type: "conan" "1.21.3": - patch_file: "patches/cmake-dependencies-1.21.2+.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc/all/conanfile.py b/recipes/c-blosc/all/conanfile.py index a349a37babbd2..5967507ab8e97 100644 --- a/recipes/c-blosc/all/conanfile.py +++ b/recipes/c-blosc/all/conanfile.py @@ -12,10 +12,10 @@ class CbloscConan(ConanFile): name = "c-blosc" description = "An extremely fast, multi-threaded, meta-compressor library." license = "BSD-3-Clause" - topics = ("c-blosc", "blosc", "compression") - homepage = "https://github.com/Blosc/c-blosc" + topics = ("blosc", "compression") url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://github.com/Blosc/c-blosc" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -58,15 +58,14 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_snappy: - self.requires("snappy/1.1.9") + self.requires("snappy/1.1.10") if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/c-blosc/all/patches/cmake-dependencies-1.21.4+.patch b/recipes/c-blosc/all/patches/cmake-dependencies-1.21.4+.patch new file mode 100644 index 0000000000000..0b293b6c2c49e --- /dev/null +++ b/recipes/c-blosc/all/patches/cmake-dependencies-1.21.4+.patch @@ -0,0 +1,71 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f726a0a..1dbcdc4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -140,7 +140,8 @@ include(GNUInstallDirs) + + if(NOT DEACTIVATE_LZ4) + if(PREFER_EXTERNAL_LZ4) +- find_package(LZ4) ++ find_package(lz4 REQUIRED CONFIG) ++ set(LZ4_FOUND TRUE) + else() + message(STATUS "Using LZ4 internal sources.") + endif() +@@ -162,7 +163,6 @@ endif() + if(NOT DEACTIVATE_ZLIB) + # import the ZLIB_ROOT environment variable to help finding the zlib library + if(PREFER_EXTERNAL_ZLIB) +- set(ZLIB_ROOT $ENV{ZLIB_ROOT}) + find_package(ZLIB) + if(NOT ZLIB_FOUND ) + message(STATUS "No zlib found. Using internal sources.") +@@ -177,7 +177,7 @@ endif() + + if(NOT DEACTIVATE_ZSTD) + if(PREFER_EXTERNAL_ZSTD) +- find_package(Zstd) ++ find_package(zstd REQUIRED CONFIG) + else() + message(STATUS "Using ZSTD internal sources.") + endif() +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index ceb27b8..36c5777 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -88,7 +88,7 @@ endif(WIN32) + + if(NOT DEACTIVATE_LZ4) + if(LZ4_FOUND) +- set(LIBS ${LIBS} ${LZ4_LIBRARY}) ++ set(LIBS ${LIBS} $,LZ4::lz4_shared,LZ4::lz4_static>) + else(LZ4_FOUND) + file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) + set(SOURCES ${SOURCES} ${LZ4_FILES}) +@@ -98,7 +98,7 @@ endif(NOT DEACTIVATE_LZ4) + + if(NOT DEACTIVATE_SNAPPY) + if(SNAPPY_FOUND) +- set(LIBS ${LIBS} ${SNAPPY_LIBRARY}) ++ set(LIBS ${LIBS} "Snappy::snappy") + else(SNAPPY_FOUND) + file(GLOB SNAPPY_FILES ${SNAPPY_LOCAL_DIR}/*.cc) + set(SOURCES ${SOURCES} ${SNAPPY_FILES}) +@@ -108,7 +108,7 @@ endif(NOT DEACTIVATE_SNAPPY) + + if(NOT DEACTIVATE_ZLIB) + if(ZLIB_FOUND) +- set(LIBS ${LIBS} ${ZLIB_LIBRARY}) ++ set(LIBS ${LIBS} "ZLIB::ZLIB") + else(ZLIB_FOUND) + file(GLOB ZLIB_FILES ${ZLIB_LOCAL_DIR}/*.c) + set(SOURCES ${SOURCES} ${ZLIB_FILES}) +@@ -118,7 +118,7 @@ endif(NOT DEACTIVATE_ZLIB) + + if (NOT DEACTIVATE_ZSTD) + if (ZSTD_FOUND) +- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) ++ set(LIBS ${LIBS} $,zstd::libzstd_shared,zstd::libzstd_static>) + else (ZSTD_FOUND) + # Enable assembly code only when not using MSVC *and* x86 is there + if((NOT MSVC) AND COMPILER_SUPPORT_SSE2) # if SSE2 is here, this is an x86 platform diff --git a/recipes/c-blosc/config.yml b/recipes/c-blosc/config.yml index 5798e3590a6d3..0bea6e6e853db 100644 --- a/recipes/c-blosc/config.yml +++ b/recipes/c-blosc/config.yml @@ -1,4 +1,6 @@ versions: + "1.21.4": + folder: all "1.21.3": folder: all "1.21.1": From ec0d2b4fffd3a1fe34f7108b55783153ab410cea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 19 Jun 2023 21:41:54 +0100 Subject: [PATCH 0570/4087] (#17969) cuda-api-wrappers: add new recipe --- recipes/cuda-api-wrappers/all/conandata.yml | 4 ++ recipes/cuda-api-wrappers/all/conanfile.py | 49 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 10 ++++ .../all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 11 +++++ recipes/cuda-api-wrappers/config.yml | 3 ++ 6 files changed, 103 insertions(+) create mode 100644 recipes/cuda-api-wrappers/all/conandata.yml create mode 100644 recipes/cuda-api-wrappers/all/conanfile.py create mode 100644 recipes/cuda-api-wrappers/all/test_package/CMakeLists.txt create mode 100644 recipes/cuda-api-wrappers/all/test_package/conanfile.py create mode 100644 recipes/cuda-api-wrappers/all/test_package/test_package.cpp create mode 100644 recipes/cuda-api-wrappers/config.yml diff --git a/recipes/cuda-api-wrappers/all/conandata.yml b/recipes/cuda-api-wrappers/all/conandata.yml new file mode 100644 index 0000000000000..fa4742f5cc320 --- /dev/null +++ b/recipes/cuda-api-wrappers/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.6.3": + url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.6.3.tar.gz" + sha256: "45d896136dbb4df6c75c36071899b9fe47df9a03629c95208c2d5bda979d109e" diff --git a/recipes/cuda-api-wrappers/all/conanfile.py b/recipes/cuda-api-wrappers/all/conanfile.py new file mode 100644 index 0000000000000..bca11c0ee8633 --- /dev/null +++ b/recipes/cuda-api-wrappers/all/conanfile.py @@ -0,0 +1,49 @@ +import os + +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + + +class CudaApiWrappersConan(ConanFile): + name = "cuda-api-wrappers" + description = "Thin, unified, C++-flavored wrappers for the CUDA APIs" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/eyalroz/cuda-api-wrappers" + topics = ("gpgpu", "cuda", "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 package(self): + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "src"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/cuda-api-wrappers/all/test_package/CMakeLists.txt b/recipes/cuda-api-wrappers/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..60f8a4074a3bc --- /dev/null +++ b/recipes/cuda-api-wrappers/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cuda-api-wrappers REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cuda-api-wrappers::cuda-api-wrappers) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +target_compile_definitions(${PROJECT_NAME} PRIVATE + CUDA_API_WRAPPERS_VERSION=\"${cuda-api-wrappers_VERSION_STRING}\") diff --git a/recipes/cuda-api-wrappers/all/test_package/conanfile.py b/recipes/cuda-api-wrappers/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cuda-api-wrappers/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/cuda-api-wrappers/all/test_package/test_package.cpp b/recipes/cuda-api-wrappers/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..b0369aaadec26 --- /dev/null +++ b/recipes/cuda-api-wrappers/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include + +CUDA_FH void test() { + std::cout << "cuda-api-wrappers v" << CUDA_API_WRAPPERS_VERSION << std::endl; +} + +int main() { + test(); + return 0; +} diff --git a/recipes/cuda-api-wrappers/config.yml b/recipes/cuda-api-wrappers/config.yml new file mode 100644 index 0000000000000..a98729f2af8b0 --- /dev/null +++ b/recipes/cuda-api-wrappers/config.yml @@ -0,0 +1,3 @@ +versions: + "0.6.3": + folder: all From 7355aec604683ff822da676bec197c1777685418 Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Mon, 19 Jun 2023 23:23:09 +0200 Subject: [PATCH 0571/4087] (#17410) add emio * add emio 0.3.0 * conan -> conans * conans * better imports? * import errors * fix v1 * cmake package names * test it with apple-clang 14 * simplify conanfiles as suggested * require clang 14 * drop MSVC support since it doesn't compile --- recipes/emio/all/conandata.yml | 4 ++ recipes/emio/all/conanfile.py | 62 +++++++++++++++++++ recipes/emio/all/test_package/CMakeLists.txt | 8 +++ recipes/emio/all/test_package/conanfile.py | 26 ++++++++ .../emio/all/test_package/test_package.cpp | 9 +++ recipes/emio/config.yml | 3 + 6 files changed, 112 insertions(+) create mode 100644 recipes/emio/all/conandata.yml create mode 100644 recipes/emio/all/conanfile.py create mode 100644 recipes/emio/all/test_package/CMakeLists.txt create mode 100644 recipes/emio/all/test_package/conanfile.py create mode 100644 recipes/emio/all/test_package/test_package.cpp create mode 100644 recipes/emio/config.yml diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml new file mode 100644 index 0000000000000..7951ebbf46b65 --- /dev/null +++ b/recipes/emio/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.3.0": + url: "https://github.com/viatorus/emio/archive/0.3.0.tar.gz" + sha256: "d891d0a435a8b71eee78bba46b9abc3848b1c20d61eb747b6059adaf23acce1d" diff --git a/recipes/emio/all/conanfile.py b/recipes/emio/all/conanfile.py new file mode 100644 index 0000000000000..8eb00bd9ec66b --- /dev/null +++ b/recipes/emio/all/conanfile.py @@ -0,0 +1,62 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.50.0" + + +class EmioConan(ConanFile): + name = "emio" + description = "A character input/output library for embedded systems." + topics = ("format", "scan", "header-only") + homepage = "https://github.com/viatorus/emio" + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + settings = "os", "arch", "compiler", "build_type" + package_type = "header-library" + no_copy_source = True + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "14", + "apple-clang": "14", + } + + @property + def _min_cppstd(self): + return 20 + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC.") + + 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 package(self): + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) diff --git a/recipes/emio/all/test_package/CMakeLists.txt b/recipes/emio/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f5509edbbb4df --- /dev/null +++ b/recipes/emio/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(emio REQUIRED) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE emio::emio) +target_compile_features(test_package PRIVATE cxx_std_20) diff --git a/recipes/emio/all/test_package/conanfile.py b/recipes/emio/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/emio/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/emio/all/test_package/test_package.cpp b/recipes/emio/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..efef6cc4e862d --- /dev/null +++ b/recipes/emio/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +int main() { + std::string s = emio::format("{}", 1); + if (s == "1") { + return EXIT_SUCCESS; + } + return EXIT_FAILURE; +} diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml new file mode 100644 index 0000000000000..d126790212e0c --- /dev/null +++ b/recipes/emio/config.yml @@ -0,0 +1,3 @@ +versions: + "0.3.0": + folder: all From bdfc9662a5132e28c287acf6a75eaa682a8a4b68 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 20 Jun 2023 09:44:53 +0200 Subject: [PATCH 0572/4087] (#17107) aws-c-http: add missing interface definition if shared + modernize more for conan v2 * add AWS_HTTP_USE_IMPORT_EXPORT interface definition if shared * modernize more * more elegant way to define target for legacy generators * aws-c-common & aws-c-io are public dependencies --- recipes/aws-c-http/all/conanfile.py | 76 ++++++++++--------- .../all/test_v1_package/CMakeLists.txt | 9 +-- 2 files changed, 44 insertions(+), 41 deletions(-) diff --git a/recipes/aws-c-http/all/conanfile.py b/recipes/aws-c-http/all/conanfile.py index 5f4b5242c4dbe..2d95021a30464 100644 --- a/recipes/aws-c-http/all/conanfile.py +++ b/recipes/aws-c-http/all/conanfile.py @@ -1,18 +1,21 @@ from conan import ConanFile -from conan.tools.scm import Version -from conan.tools.files import get, copy, rmdir 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 + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.47.0" class AwsCHttp(ConanFile): name = "aws-c-http" description = "C99 implementation of the HTTP/1.1 and HTTP/2 specifications" - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-http" topics = ("aws", "amazon", "cloud", "http", "http2", ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -29,33 +32,23 @@ 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 requirements(self): - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) self.requires("aws-c-compression/0.2.15") if Version(self.version) < "0.6.22": - self.requires("aws-c-io/0.10.20") + self.requires("aws-c-io/0.10.20", transitive_headers=True) else: - self.requires("aws-c-io/0.13.4") + self.requires("aws-c-io/0.13.4", transitive_headers=True) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -76,21 +69,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-http")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-http": "aws-c-http::aws-c-http"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-http") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-http") + self.cpp_info.libs = ["aws-c-http"] + if self.options.shared: + self.cpp_info.defines.append("AWS_HTTP_USE_IMPORT_EXPORT") - self.cpp_info.filenames["cmake_find_package"] = "aws-c-http" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-http" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - - self.cpp_info.components["aws-c-http-lib"].set_property("cmake_target_name", "AWS::aws-c-http") - self.cpp_info.components["aws-c-http-lib"].names["cmake_find_package"] = "aws-c-http" - self.cpp_info.components["aws-c-http-lib"].names["cmake_find_package_multi"] = "aws-c-http" - self.cpp_info.components["aws-c-http-lib"].libs = ["aws-c-http"] - self.cpp_info.components["aws-c-http-lib"].requires = [ - "aws-c-common::aws-c-common-lib", - "aws-c-compression::aws-c-compression-lib", - "aws-c-io::aws-c-io-lib" - ] + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt index b3195e120b0b2..0d20897301b68 100644 --- a/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.1) - -project(test_package C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-http REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-http) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 63c88dc147291da87c7b9f4326ef40594b707a24 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 20 Jun 2023 11:41:26 +0200 Subject: [PATCH 0573/4087] (#17979) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 616a429fed7ba..59799be1c4abb 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -149,6 +149,7 @@ required_for_references: - cppbenchmark - cppcheck - cppcodec +- cppdap - cppfront - cppitertools - cpptoml @@ -168,6 +169,7 @@ required_for_references: - csvmonkey - ctre - cubicinterpolation +- cuda-api-wrappers - cwalk - cxxopts - cyclonedds @@ -206,6 +208,7 @@ required_for_references: - eigen - elfio - embree3 +- emio - enet - entityx - enum-flags @@ -487,6 +490,7 @@ required_for_references: - norm - nsync - nuraft +- octomap - odbc - ogdf - ogg @@ -606,6 +610,7 @@ required_for_references: - stb - strawberryperl - string-view-lite +- strong_type - symengine - tabulate - taocpp-json From 32a4c02d7f35400aa26304dbdf52fddf70a4b1e5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 20 Jun 2023 11:22:30 +0100 Subject: [PATCH 0574/4087] (#17968) cuda-kat: update recipe to Conan v2 * cuda-kat: update recipe to Conan v2 * cuda-kat: add /Zc:__cplusplus on MSVC For https://github.com/eyalroz/cuda-kat/blob/master/src/kat/detail/constexpr_by_cpp_version.hpp * metis: add a comment for /Zc:__cplusplus --- recipes/cuda-kat/all/conanfile.py | 77 ++++++++++++------- .../cuda-kat/all/test_package/CMakeLists.txt | 11 +-- .../cuda-kat/all/test_package/conanfile.py | 21 +++-- 3 files changed, 70 insertions(+), 39 deletions(-) diff --git a/recipes/cuda-kat/all/conanfile.py b/recipes/cuda-kat/all/conanfile.py index dfc221ba485b8..127039e3f143a 100644 --- a/recipes/cuda-kat/all/conanfile.py +++ b/recipes/cuda-kat/all/conanfile.py @@ -1,26 +1,30 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class CudaKatConan(ConanFile): name = "cuda-kat" - homepage = "https://github.com/eyalroz/cuda-kat" description = "CUDA kernel author's tools" - topics = ("gpgpu", "cuda", "cuda-kat", "header-only") - url = "https://github.com/conan-io/conan-center-index" - no_copy_source = True license = "BSD-3-Clause" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/eyalroz/cuda-kat" + topics = ("gpgpu", "cuda", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def package_id(self): - self.info.header_only() + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -29,26 +33,47 @@ def _compilers_minimum_version(self): "Visual Studio": "15", "clang": "5", "apple-clang": "10", - } + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): - if self.settings.os == "Windows": - raise ConanInvalidConfiguration("CUDA-kat library are not compatible on Windows") if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++17") + 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], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE*", src=self._source_subfolder, dst="licenses") - self.copy("*", src=os.path.join(self._source_subfolder, "src"), dst="include") + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "src"), + ) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "cuda-kat" - self.cpp_info.names["cmake_find_package_multi"] = "cuda-kat" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if is_msvc(self): + # Required for C++ version checks to work at + # https://github.com/eyalroz/cuda-kat/blob/44d381b/src/kat/detail/constexpr_by_cpp_version.hpp + # Otherwise MSVC will always report __cplusplus as 199711L + self.cpp_info.cxxflags.append("/Zc:__cplusplus") diff --git a/recipes/cuda-kat/all/test_package/CMakeLists.txt b/recipes/cuda-kat/all/test_package/CMakeLists.txt index a6fd14216f176..85ab0da0a3d69 100644 --- a/recipes/cuda-kat/all/test_package/CMakeLists.txt +++ b/recipes/cuda-kat/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(cuda-kat REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} cuda-kat::cuda-kat) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE cuda-kat::cuda-kat) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/cuda-kat/all/test_package/conanfile.py b/recipes/cuda-kat/all/test_package/conanfile.py index 49a3a66ea5bad..3a91c9439218e 100644 --- a/recipes/cuda-kat/all/test_package/conanfile.py +++ b/recipes/cuda-kat/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 8e043b012398e063d9dc087bc2b16d185fda5aa3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 20 Jun 2023 12:02:51 +0100 Subject: [PATCH 0575/4087] (#17950) gperftools: add new recipe * gperftools: add recipe * gperftools: fix YAML formatting * gperftools: fix empty option handling * gperftools: add missing system_libs * gperftools: change version 2.10 -> 2.10.0 Based on the version in CMakeLists.txt. * gperftools: disable Windows support for now * gperftools: enable libunwind use To avoid the following warning: CMake Warning at CMakeLists.txt:471 (message): No frame pointers and no libunwind. Using experimental backtrace capturing via libgcc. Expect crashy cpu profiler. * gperftools: disable irrelevant options if minimal_build * gperftools: define components, link with only one by default * gperftools: remove unnecessary export_conandata_patches * gperftools: fix mixed .a/.so output * gperftools: convert from CMake to Autotools CMake produced incomplete static libraries that were missing symbols. * gperftools: tweak test_package.cpp * gperftools: patch Makefile to disable tests and benchmarks * gperftools: add armv8 cross-compilation support --- recipes/gperftools/all/conandata.yml | 4 + recipes/gperftools/all/conanfile.py | 227 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 10 + .../gperftools/all/test_package/conanfile.py | 25 ++ .../all/test_package/test_package.cpp | 12 + recipes/gperftools/config.yml | 3 + 6 files changed, 281 insertions(+) create mode 100644 recipes/gperftools/all/conandata.yml create mode 100644 recipes/gperftools/all/conanfile.py create mode 100644 recipes/gperftools/all/test_package/CMakeLists.txt create mode 100644 recipes/gperftools/all/test_package/conanfile.py create mode 100644 recipes/gperftools/all/test_package/test_package.cpp create mode 100644 recipes/gperftools/config.yml diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml new file mode 100644 index 0000000000000..8b70af3488037 --- /dev/null +++ b/recipes/gperftools/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.10.0": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz" + sha256: "83e3bfdd28b8bcf53222c3798d4d395d52dadbbae59e8730c4a6d31a9c3732d8" diff --git a/recipes/gperftools/all/conanfile.py b/recipes/gperftools/all/conanfile.py new file mode 100644 index 0000000000000..60812b411ba17 --- /dev/null +++ b/recipes/gperftools/all/conanfile.py @@ -0,0 +1,227 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun +from conan.tools.build import cross_building +from conan.tools.cmake import cmake_layout +from conan.tools.env import VirtualRunEnv +from conan.tools.files import get, copy, rm, rmdir, replace_in_file +from conan.tools.gnu import AutotoolsToolchain, AutotoolsDeps, Autotools + +required_conan_version = ">=1.53.0" + + +class GperftoolsConan(ConanFile): + name = "gperftools" + description = "High-performance multi-threaded malloc()" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/gperftools/gperftools" + topics = ("memory", "allocator", "tcmalloc", "google-perftools") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "build_cpu_profiler": [True, False], + "build_heap_profiler": [True, False], + "build_heap_checker": [True, False], + "build_debugalloc": [True, False], + "dynamic_sized_delete_support": [True, False], + "emergency_malloc": [None, True, False], + "enable_aggressive_decommit_by_default": [True, False], + "enable_frame_pointers": [True, False], + "enable_large_alloc_report": [True, False], + "enable_libunwind": [True, False], + "enable_stacktrace_via_backtrace": [None, True, False], + "sized_delete": [True, False], + "tcmalloc_alignment": [None, "ANY"], + "tcmalloc_pagesize": [None, "ANY"], + } + default_options = { + "shared": False, + "fPIC": True, + "build_cpu_profiler": False, + "build_heap_profiler": False, + "build_heap_checker": False, + "build_debugalloc": False, + "dynamic_sized_delete_support": False, + "emergency_malloc": None, + "enable_aggressive_decommit_by_default": False, + "enable_frame_pointers": False, + "enable_large_alloc_report": False, + "enable_libunwind": True, + "enable_stacktrace_via_backtrace": False, + "sized_delete": False, + "tcmalloc_alignment": None, + "tcmalloc_pagesize": None, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + @property + def _build_minimal(self): + # Corresponds to the gperftools build_minimal option + return not ( + self.options.build_cpu_profiler + or self.options.build_heap_profiler + or self.options.build_heap_checker + ) + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + if self._build_minimal: + # Minimal build does not include stack trace support, so these options are irrelevant + self.options.rm_safe("enable_libunwind") + self.options.rm_safe("enable_frame_pointers") + self.options.rm_safe("enable_stacktrace_via_backtrace") + self.options.rm_safe("emergency_malloc") + elif self.options.enable_libunwind: + # enable_stacktrace_via_backtrace has no effect if libunwind is enabled + self.options.rm_safe("enable_stacktrace_via_backtrace") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os == "Windows": + raise ConanInvalidConfiguration( + "gperftools recipe does not currently support Windows. Contributions are welcome." + ) + + def requirements(self): + if self.options.get_safe("enable_libunwind", False): + self.requires("libunwind/1.6.2") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + args = {} + args["prefix"] = "" + args["enable-cpu-profiler"] = self.options.build_cpu_profiler + args["enable-heap-profiler"] = self.options.build_heap_profiler + args["enable-heap-checker"] = self.options.build_heap_checker + args["enable-debugalloc"] = self.options.build_debugalloc + args["enable-minimal"] = self._build_minimal + args["enable-dynamic-sized-delete-support"] = self.options.dynamic_sized_delete_support + args["enable-sized-delete"] = self.options.sized_delete + args["enable-large-alloc-report"] = self.options.enable_large_alloc_report + args["enable-aggressive-decommit-by-default"] = self.options.enable_aggressive_decommit_by_default + if self._build_minimal: + # No stack trace support will be built + args["enable-libunwind"] = False + args["enable-frame-pointers"] = False + args["enable-stacktrace-via-backtrace"] = False + args["enable-emergency-malloc"] = False + else: + args["enable-libunwind"] = self.options.enable_libunwind + args["enable-frame-pointers"] = self.options.enable_frame_pointers + args["enable-stacktrace-via-backtrace"] = self.options.get_safe( + "enable_stacktrace_via_backtrace", False + ) + args["enable-emergency-malloc"] = self.options.emergency_malloc + args["with-tcmalloc-alignment"] = self.options.tcmalloc_alignment + args["with-tcmalloc-pagesize"] = self.options.tcmalloc_pagesize + + # Based on https://github.com/conan-io/conan-center-index/blob/c647b1/recipes/libx264/all/conanfile.py#L94 + if is_apple_os(self) and self.settings.arch == "armv8": + args["host"] = "aarch64-apple-darwin" + tc.extra_asflags = ["-arch arm64"] + tc.extra_ldflags = ["-arch arm64"] + if self.settings.os != "Macos": + xcrun = XCRun(self) + platform_flags = ["-isysroot", xcrun.sdk_path] + apple_min_version_flag = AutotoolsToolchain(self).apple_min_version_flag + if apple_min_version_flag: + platform_flags.append(apple_min_version_flag) + tc.extra_asflags.extend(platform_flags) + tc.extra_cflags.extend(platform_flags) + tc.extra_ldflags.extend(platform_flags) + + for k, v in args.items(): + if v in [True, False]: + v = "yes" if v else "no" + if v is not None: + tc.configure_args.append(f"--{k}={v}") + tc.generate() + + tc = AutotoolsDeps(self) + tc.generate() + + def _patch_sources(self): + # Disable building of tests and benchmarks in Makefile + for pattern in ["noinst_PROGRAMS = ", "TESTS = "]: + replace_in_file( + self, + os.path.join(self.source_folder, "Makefile.in"), + pattern, + f"{pattern}\n_{pattern}", + ) + + def build(self): + self._patch_sources() + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy( + self, + pattern="COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + autotools = Autotools(self) + autotools.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + fix_apple_shared_install_name(self) + + def _add_component(self, lib): + self.cpp_info.components[lib].libs = [lib] + + def package_info(self): + self._add_component("tcmalloc_minimal") + if self.options.build_debugalloc: + self._add_component("tcmalloc_minimal_debug") + if self.options.build_heap_profiler or self.options.build_heap_checker: + self._add_component("tcmalloc") + if self.options.build_debugalloc: + self._add_component("tcmalloc_debug") + if self.options.build_cpu_profiler: + self._add_component("profiler") + if "tcmalloc" in self.cpp_info.components: + self._add_component("tcmalloc_and_profiler") + + for component in self.cpp_info.components.values(): + if self.settings.os in ["Linux", "FreeBSD"]: + component.system_libs.extend(["pthread", "m"]) + if self.options.get_safe("enable_libunwind"): + component.requires.append("libunwind::libunwind") + + # Select the preferred library to link against by default + main_component = self.cpp_info.components["gperftools"] + for lib in [ + "tcmalloc_and_profiler", + "tcmalloc", + "tcmalloc_debug", + "tcmalloc_minimal_debug", + "tcmalloc_minimal", + ]: + if lib in self.cpp_info.components: + main_component.requires = [lib] + if lib != "tcmalloc_and_profiler" and "profiler" in self.cpp_info.components: + main_component.requires.append("profiler") + break diff --git a/recipes/gperftools/all/test_package/CMakeLists.txt b/recipes/gperftools/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c9f3e082d85e9 --- /dev/null +++ b/recipes/gperftools/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(gperftools REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE gperftools::gperftools) + +add_executable(${PROJECT_NAME}_minimal test_package.cpp) +target_link_libraries(${PROJECT_NAME}_minimal PRIVATE gperftools::tcmalloc_minimal) diff --git a/recipes/gperftools/all/test_package/conanfile.py b/recipes/gperftools/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/gperftools/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/gperftools/all/test_package/test_package.cpp b/recipes/gperftools/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ee9b96dfbc3cd --- /dev/null +++ b/recipes/gperftools/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include + +#include +#include +#include + +int main() { + void *p = tc_malloc(100); + tc_free(p); + std::cout << TC_VERSION_STRING << std::endl; + return p == 0 ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml new file mode 100644 index 0000000000000..22d65dcfdfac6 --- /dev/null +++ b/recipes/gperftools/config.yml @@ -0,0 +1,3 @@ +versions: + "2.10.0": + folder: all From 7567b0843ca095f21b46d07b4b7ec16b8e4e87cd Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Jun 2023 20:44:41 +0900 Subject: [PATCH 0576/4087] (#17947) cppcommon: support conan v2, update fmt * cppcommon: support conan v2, update fmt * add tools_require cmake --- recipes/cppcommon/all/CMakeLists.txt | 11 -- recipes/cppcommon/all/conandata.yml | 91 ++++++++----- recipes/cppcommon/all/conanfile.py | 121 ++++++++++-------- .../0001-update-cmakelists-1-0-0-0.patch | 23 ++-- .../0001-update-cmakelists-1-0-1-0.patch | 37 +++--- .../0001-update-cmakelists-1-0-3-0.patch | 25 ++-- .../0003-define-win32-winnt-1-0-1-0.patch | 2 +- ...0003-define-win32-winnt-cci-20201104.patch | 8 +- .../patches/0004-include-cstdint-1-0-0.patch | 49 +++++++ .../patches/0005-include-mutex-1-0-0.patch | 12 ++ .../cppcommon/all/test_package/CMakeLists.txt | 10 +- .../cppcommon/all/test_package/conanfile.py | 22 +++- recipes/cppcommon/config.yml | 8 +- 13 files changed, 259 insertions(+), 160 deletions(-) delete mode 100644 recipes/cppcommon/all/CMakeLists.txt create mode 100644 recipes/cppcommon/all/patches/0004-include-cstdint-1-0-0.patch create mode 100644 recipes/cppcommon/all/patches/0005-include-mutex-1-0-0.patch diff --git a/recipes/cppcommon/all/CMakeLists.txt b/recipes/cppcommon/all/CMakeLists.txt deleted file mode 100644 index 6ba47d078b389..0000000000000 --- a/recipes/cppcommon/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/cppcommon/all/conandata.yml b/recipes/cppcommon/all/conandata.yml index c69e434893cba..c2897878ad2bc 100644 --- a/recipes/cppcommon/all/conandata.yml +++ b/recipes/cppcommon/all/conandata.yml @@ -1,43 +1,76 @@ sources: + "1.0.3.0": + url: "https://github.com/chronoxor/CppCommon/archive/1.0.3.0.tar.gz" + sha256: "af530d3550a050d4ed73a680b016e043ea6f4f56e11163226f2a6e24d9eae4ca" + "1.0.2.0": + url: "https://github.com/chronoxor/CppCommon/archive/1.0.2.0.tar.gz" + sha256: "1a748159ab5d0eb74a6c7b110606718caa779cdf17b3e91bf0dbd0e297823dec" + "1.0.1.0": + url: "https://github.com/chronoxor/CppCommon/archive/1.0.1.0.tar.gz" + sha256: "974ac65c72bb57bc6cbe825990e595fd40ead8c1e66e00c1206b19f749697878" "1.0.0.0": url: "https://github.com/chronoxor/CppCommon/archive/1.0.0.0.tar.gz" sha256: "d6124dd4cd430e5f10c2942ff02a95636369875b652e66a499b01f1fb3ecfd6d" "cci.20201104": url: "https://github.com/chronoxor/CppCommon/archive/cacfa9554d367467808663d9d5a695933ae566bb.tar.gz" sha256: "d2e717798e1668c831ee977763eaff7413ef48e6e0914a6322c9918016092048" - "1.0.1.0": - url: "https://github.com/chronoxor/CppCommon/archive/1.0.1.0.tar.gz" - sha256: "974ac65c72bb57bc6cbe825990e595fd40ead8c1e66e00c1206b19f749697878" - "1.0.2.0": - url: "https://github.com/chronoxor/CppCommon/archive/1.0.2.0.tar.gz" - sha256: "1a748159ab5d0eb74a6c7b110606718caa779cdf17b3e91bf0dbd0e297823dec" - "1.0.3.0": - url: "https://github.com/chronoxor/CppCommon/archive/1.0.3.0.tar.gz" - sha256: "af530d3550a050d4ed73a680b016e043ea6f4f56e11163226f2a6e24d9eae4ca" - patches: + "1.0.3.0": + - patch_file: "patches/0001-update-cmakelists-1-0-3-0.patch" + patch_description: "use cci packages" + patch_type: "conan" + - patch_file: "patches/0003-define-win32-winnt-1-0-1-0.patch" + patch_description: "define _WIN32_WINNT" + patch_type: "portability" + - patch_file: "patches/0004-include-cstdint-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" + "1.0.2.0": + - patch_file: "patches/0001-update-cmakelists-1-0-1-0.patch" + patch_description: "use cci packages" + patch_type: "conan" + - patch_file: "patches/0003-define-win32-winnt-1-0-1-0.patch" + patch_description: "define _WIN32_WINNT" + patch_type: "portability" + - patch_file: "patches/0004-include-cstdint-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" + "1.0.1.0": + - patch_file: "patches/0001-update-cmakelists-1-0-1-0.patch" + patch_description: "use cci packages" + patch_type: "conan" + - patch_file: "patches/0003-define-win32-winnt-1-0-1-0.patch" + patch_description: "define _WIN32_WINNT" + patch_type: "portability" + - patch_file: "patches/0004-include-cstdint-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" + - patch_file: "patches/0005-include-mutex-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" "1.0.0.0": - patch_file: "patches/0001-update-cmakelists-1-0-0-0.patch" - base_path: "source_subfolder" + patch_description: "use cci packages" + patch_type: "conan" - patch_file: "patches/0002-fix-cross-platform-issues.patch" - base_path: "source_subfolder" + patch_description: "fix platform problems" + patch_type: "portability" + - patch_file: "patches/0004-include-cstdint-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" + - patch_file: "patches/0005-include-mutex-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" "cci.20201104": - patch_file: "patches/0001-update-cmakelists-1-0-0-0.patch" - base_path: "source_subfolder" + patch_description: "use cci packages" + patch_type: "conan" - patch_file: "patches/0003-define-win32-winnt-cci-20201104.patch" - base_path: "source_subfolder" - "1.0.1.0": - - patch_file: "patches/0001-update-cmakelists-1-0-1-0.patch" - base_path: "source_subfolder" - - patch_file: "patches/0003-define-win32-winnt-1-0-1-0.patch" - base_path: "source_subfolder" - "1.0.2.0": - - patch_file: "patches/0001-update-cmakelists-1-0-1-0.patch" - base_path: "source_subfolder" - - patch_file: "patches/0003-define-win32-winnt-1-0-1-0.patch" - base_path: "source_subfolder" - "1.0.3.0": - - patch_file: "patches/0001-update-cmakelists-1-0-3-0.patch" - base_path: "source_subfolder" - - patch_file: "patches/0003-define-win32-winnt-1-0-1-0.patch" - base_path: "source_subfolder" + patch_description: "define _WIN32_WINNT" + patch_type: "portability" + - patch_file: "patches/0004-include-cstdint-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" + - patch_file: "patches/0005-include-mutex-1-0-0.patch" + patch_description: "include cstdint" + patch_type: "portability" diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index aa3040d536ba0..c289f88e777b0 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -1,33 +1,38 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +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 +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 -import glob +required_conan_version = ">=1.53.0" class CppCommon(ConanFile): name = "cppcommon" - license = "MIT" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/chronoxor/CppCommon" description = "C++ Common Library contains reusable components and patterns" \ " for error and exceptions handling, filesystem manipulations, math," \ " string format and encoding, shared memory, threading, time management" \ " and others." - topics = ("conan", "utils", "library") - settings = "os", "compiler", "build_type", "arch" - options = {"fPIC": [True, False], "shared": [True, False]} - default_options = {"fPIC": True, "shared": False} - exports_sources = ["patches/**", "CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/chronoxor/CppCommon" + topics = ("utils", "filesystem", "uuid", "synchronization", "queue") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + "shared": [True, False], + } + default_options = { + "fPIC": True, + "shared": False, + } @property - def _build_subfolder(self): - return "build_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -36,64 +41,74 @@ def _compilers_minimum_version(self): "clang": 6, "gcc": 7, "Visual Studio": 16, + "msvc": 192, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.compiler == "Visual Studio" and self.settings.arch == "x86": - raise ConanInvalidConfiguration("Visual Studio x86 builds are not supported.") - if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "17") - - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("cppcommon requires C++17, which your compiler does not support.") - else: - self.output.warn("cppcommon requires C++17. Your compiler is unknown. Assuming it supports C++17.") + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/8.0.0") + if Version(self.version) < "1.0.3" or self.version == "cci.20201104": + self.requires("fmt/8.1.1") + else: + self.requires("fmt/10.0.0") if self.settings.os == "Linux": self.requires("libuuid/1.0.3") + 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 is_msvc(self) and self.settings.arch == "x86": + raise ConanInvalidConfiguration("Visual Studio x86 builds are not supported.") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.20 <4]") + def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob("CppCommon-*")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["CPPCOMMON_MODULE"] = "OFF" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CPPCOMMON_MODULE"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + dpes = CMakeDeps(self) + dpes.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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() - self.copy(pattern="*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy(pattern="*.inl", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy(pattern="*.h", dst=os.path.join("include", "plugins"), src=os.path.join(self._source_subfolder, "plugins")) + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + copy(self, pattern="*.inl", 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", "plugins"), src=os.path.join(self.source_folder, "plugins")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - self.cpp_info.includedirs.append(os.path.join("include", "plugins")) - if self.settings.os == "Linux": + self.cpp_info.libs = ["cppcommon", "plugin-function", "plugin-interface"] + self.cpp_info.includedirs.append(os.path.join(self.package_folder, "include", "plugins")) + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "rt", "dl", "m"] if self.settings.os == "Windows": self.cpp_info.system_libs = ["userenv", "rpcrt4"] diff --git a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-0-0.patch b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-0-0.patch index 4429b5fee77ed..db56e91ef6951 100644 --- a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-0-0.patch +++ b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-0-0.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index dcd57785b..2dde9577f 100644 +index dcd5778..160fc09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -18,13 +18,13 @@ if(DOXYGEN_FOUND) +@@ -18,30 +18,30 @@ if(DOXYGEN_FOUND) endif() # CMake module path @@ -20,8 +20,9 @@ index dcd57785b..2dde9577f 100644 +# include(SystemInformation) # External packages ++find_package(fmt REQUIRED) find_package(Threads REQUIRED) -@@ -32,16 +32,15 @@ if(UNIX AND NOT APPLE AND NOT MSYS) + if(UNIX AND NOT APPLE AND NOT MSYS) find_package(LibBFD) find_package(LibDL) find_package(LibRT) @@ -40,12 +41,12 @@ index dcd57785b..2dde9577f 100644 # Link libraries list(APPEND LINKLIBS Threads::Threads) -@@ -49,17 +48,18 @@ if(UNIX AND NOT APPLE AND NOT MSYS) +@@ -49,17 +49,18 @@ if(UNIX AND NOT APPLE AND NOT MSYS) list(APPEND LINKLIBS ${LIBBFD_LIBRARIES}) list(APPEND LINKLIBS ${LIBDL_LIBRARIES}) list(APPEND LINKLIBS ${LIBRT_LIBRARIES}) - list(APPEND LINKLIBS ${LIBUUID_LIBRARIES}) -+ list(APPEND LINKLIBS CONAN_PKG::libuuid) ++ list(APPEND LINKLIBS libuuid::libuuid) endif() if(WIN32 OR MSYS) list(APPEND LINKLIBS ${DBGHELP_LIBRARIES}) @@ -62,7 +63,7 @@ index dcd57785b..2dde9577f 100644 include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/plugins") # Library -@@ -68,8 +68,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl") +@@ -68,8 +69,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl") file(GLOB_RECURSE LIB_SOURCE_FILES "source/*.cpp") add_library(cppcommon ${LIB_HEADER_FILES} ${LIB_INLINE_FILES} ${LIB_SOURCE_FILES}) set_target_properties(cppcommon PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "libraries") @@ -70,11 +71,11 @@ index dcd57785b..2dde9577f 100644 -target_link_libraries(cppcommon ${LINKLIBS} fmt) +target_include_directories(cppcommon PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_compile_features(cppcommon PUBLIC cxx_std_17) -+target_link_libraries(cppcommon PUBLIC ${LINKLIBS} CONAN_PKG::fmt) ++target_link_libraries(cppcommon PUBLIC ${LINKLIBS} fmt::fmt) list(APPEND INSTALL_TARGETS cppcommon) list(APPEND LINKLIBS cppcommon) -@@ -91,7 +92,7 @@ if(NOT CPPCOMMON_MODULE) +@@ -91,7 +93,7 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS_PDB ${PLUGIN_TARGET}) endforeach() @@ -83,7 +84,7 @@ index dcd57785b..2dde9577f 100644 file(GLOB EXAMPLE_HEADER_FILES "examples/*.h") file(GLOB EXAMPLE_INLINE_FILES "examples/*.inl") file(GLOB EXAMPLE_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/examples" "examples/*.cpp") -@@ -105,8 +106,8 @@ if(NOT CPPCOMMON_MODULE) +@@ -105,8 +107,8 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS ${EXAMPLE_TARGET}) list(APPEND INSTALL_TARGETS_PDB ${EXAMPLE_TARGET}) endforeach() @@ -94,7 +95,7 @@ index dcd57785b..2dde9577f 100644 file(GLOB BENCHMARK_HEADER_FILES "performance/*.h") file(GLOB BENCHMARK_INLINE_FILES "performance/*.inl") file(GLOB BENCHMARK_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/performance" "performance/*.cpp") -@@ -120,8 +121,8 @@ if(NOT CPPCOMMON_MODULE) +@@ -120,8 +122,8 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS ${BENCHMARK_TARGET}) list(APPEND INSTALL_TARGETS_PDB ${BENCHMARK_TARGET}) endforeach() @@ -105,7 +106,7 @@ index dcd57785b..2dde9577f 100644 file(GLOB TESTS_HEADER_FILES "tests/*.h") file(GLOB TESTS_INLINE_FILES "tests/*.inl") file(GLOB TESTS_SOURCE_FILES "tests/*.cpp") -@@ -136,15 +137,15 @@ if(NOT CPPCOMMON_MODULE) +@@ -136,15 +138,15 @@ if(NOT CPPCOMMON_MODULE) # CTest enable_testing() add_test(cppcommon-tests cppcommon-tests --durations yes --order lex) diff --git a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-1-0.patch b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-1-0.patch index c7b2d0bf5679b..650b9b1d05898 100644 --- a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-1-0.patch +++ b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-1-0.patch @@ -1,17 +1,14 @@ -From 85122652b618951f1b8fe91d8804d92a74d971be Mon Sep 17 00:00:00 2001 -From: Alejandro Colomar -Date: Mon, 7 Jun 2021 10:27:46 +0200 -Subject: [PATCH] update cmakelists - ---- - CMakeLists.txt | 42 +++++++++++++++++++----------------------- - 1 file changed, 19 insertions(+), 23 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index aa5447a8..10a0065b 100644 +index aa5447a..19b3564 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -17,49 +17,36 @@ if(DOXYGEN_FOUND) +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.6) ++cmake_minimum_required(VERSION 3.8) + + # Global properties + set_property(GLOBAL PROPERTY USE_FOLDERS ON) +@@ -17,49 +17,37 @@ if(DOXYGEN_FOUND) endif() endif() @@ -26,6 +23,7 @@ index aa5447a8..10a0065b 100644 - # External packages find_package(Threads REQUIRED) ++find_package(fmt REQUIRED) if(UNIX AND NOT APPLE AND NOT MSYS) find_package(LibBFD) find_package(LibDL) @@ -49,7 +47,7 @@ index aa5447a8..10a0065b 100644 list(APPEND LINKLIBS ${LIBDL_LIBRARIES}) list(APPEND LINKLIBS ${LIBRT_LIBRARIES}) - list(APPEND LINKLIBS ${LIBUUID_LIBRARIES}) -+ list(APPEND LINKLIBS CONAN_PKG::libuuid) ++ list(APPEND LINKLIBS libuuid::libuuid) endif() if(WIN32 OR MSYS) list(APPEND LINKLIBS ${DBGHELP_LIBRARIES}) @@ -65,7 +63,7 @@ index aa5447a8..10a0065b 100644 include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/plugins") # Library -@@ -68,8 +55,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl" "source/*.inl") +@@ -68,8 +56,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl" "source/*.inl") file(GLOB_RECURSE LIB_SOURCE_FILES "include/*.cpp" "source/*.cpp") add_library(cppcommon ${LIB_HEADER_FILES} ${LIB_INLINE_FILES} ${LIB_SOURCE_FILES}) set_target_properties(cppcommon PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "libraries") @@ -73,11 +71,11 @@ index aa5447a8..10a0065b 100644 -target_link_libraries(cppcommon ${LINKLIBS} fmt) +target_include_directories(cppcommon PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_compile_features(cppcommon PUBLIC cxx_std_17) -+target_link_libraries(cppcommon PUBLIC ${LINKLIBS} CONAN_PKG::fmt) ++target_link_libraries(cppcommon PUBLIC ${LINKLIBS} fmt::fmt) list(APPEND INSTALL_TARGETS cppcommon) list(APPEND LINKLIBS cppcommon) -@@ -92,6 +80,7 @@ if(NOT CPPCOMMON_MODULE) +@@ -92,6 +81,7 @@ if(NOT CPPCOMMON_MODULE) endforeach() # Examples @@ -85,7 +83,7 @@ index aa5447a8..10a0065b 100644 file(GLOB EXAMPLE_HEADER_FILES "examples/*.h") file(GLOB EXAMPLE_INLINE_FILES "examples/*.inl") file(GLOB EXAMPLE_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/examples" "examples/*.cpp") -@@ -105,8 +94,10 @@ if(NOT CPPCOMMON_MODULE) +@@ -105,8 +95,10 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS ${EXAMPLE_TARGET}) list(APPEND INSTALL_TARGETS_PDB ${EXAMPLE_TARGET}) endforeach() @@ -96,7 +94,7 @@ index aa5447a8..10a0065b 100644 file(GLOB BENCHMARK_HEADER_FILES "performance/*.h") file(GLOB BENCHMARK_INLINE_FILES "performance/*.inl") file(GLOB BENCHMARK_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/performance" "performance/*.cpp") -@@ -120,8 +111,10 @@ if(NOT CPPCOMMON_MODULE) +@@ -120,8 +112,10 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS ${BENCHMARK_TARGET}) list(APPEND INSTALL_TARGETS_PDB ${BENCHMARK_TARGET}) endforeach() @@ -107,7 +105,7 @@ index aa5447a8..10a0065b 100644 file(GLOB TESTS_HEADER_FILES "tests/*.h") file(GLOB TESTS_INLINE_FILES "tests/*.inl") file(GLOB TESTS_SOURCE_FILES "tests/*.cpp") -@@ -132,19 +125,22 @@ if(NOT CPPCOMMON_MODULE) +@@ -132,19 +126,22 @@ if(NOT CPPCOMMON_MODULE) target_link_libraries(cppcommon-tests ${LINKLIBS}) list(APPEND INSTALL_TARGETS cppcommon-tests) list(APPEND INSTALL_TARGETS_PDB cppcommon-tests) @@ -134,6 +132,3 @@ index aa5447a8..10a0065b 100644 foreach(INSTALL_TARGET_PDB ${INSTALL_TARGETS_PDB}) install(FILES $ DESTINATION "${PROJECT_SOURCE_DIR}/bin") endforeach() --- -2.31.1.498.g6c1eba8ee3d - diff --git a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-3-0.patch b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-3-0.patch index 83cb81ebe9a49..6a01d828cbe86 100644 --- a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-3-0.patch +++ b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-3-0.patch @@ -1,14 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index aa5447a8..10a0065b 100644 +index 7ce5f63..be39a51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 3.20) -+cmake_minimum_required(VERSION 3.18.2) - - # Global properties - set_property(GLOBAL PROPERTY USE_FOLDERS ON) -@@ -17,49 +17,36 @@ if(DOXYGEN_FOUND) +@@ -17,49 +17,37 @@ if(DOXYGEN_FOUND) endif() endif() @@ -23,6 +17,7 @@ index aa5447a8..10a0065b 100644 - # External packages find_package(Threads REQUIRED) ++find_package(fmt REQUIRED) if(UNIX AND NOT APPLE AND NOT MSYS) find_package(LibBFD) find_package(LibDL) @@ -46,7 +41,7 @@ index aa5447a8..10a0065b 100644 list(APPEND LINKLIBS ${LIBDL_LIBRARIES}) list(APPEND LINKLIBS ${LIBRT_LIBRARIES}) - list(APPEND LINKLIBS ${LIBUUID_LIBRARIES}) -+ list(APPEND LINKLIBS CONAN_PKG::libuuid) ++ list(APPEND LINKLIBS libuuid::libuuid) endif() if(WIN32 OR MSYS) list(APPEND LINKLIBS ${DBGHELP_LIBRARIES}) @@ -62,7 +57,7 @@ index aa5447a8..10a0065b 100644 include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/plugins") # Library -@@ -68,8 +55,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl" "source/*.inl") +@@ -68,8 +56,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl" "source/*.inl") file(GLOB_RECURSE LIB_SOURCE_FILES "include/*.cpp" "source/*.cpp") add_library(cppcommon ${LIB_HEADER_FILES} ${LIB_INLINE_FILES} ${LIB_SOURCE_FILES}) set_target_properties(cppcommon PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "libraries") @@ -70,11 +65,11 @@ index aa5447a8..10a0065b 100644 -target_link_libraries(cppcommon ${LINKLIBS} fmt) +target_include_directories(cppcommon PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_compile_features(cppcommon PUBLIC cxx_std_17) -+target_link_libraries(cppcommon PUBLIC ${LINKLIBS} CONAN_PKG::fmt) ++target_link_libraries(cppcommon PUBLIC ${LINKLIBS} fmt::fmt) list(APPEND INSTALL_TARGETS cppcommon) list(APPEND LINKLIBS cppcommon) -@@ -92,6 +80,7 @@ if(NOT CPPCOMMON_MODULE) +@@ -92,6 +81,7 @@ if(NOT CPPCOMMON_MODULE) endforeach() # Examples @@ -82,7 +77,7 @@ index aa5447a8..10a0065b 100644 file(GLOB EXAMPLE_HEADER_FILES "examples/*.h") file(GLOB EXAMPLE_INLINE_FILES "examples/*.inl") file(GLOB EXAMPLE_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/examples" "examples/*.cpp") -@@ -105,8 +94,10 @@ if(NOT CPPCOMMON_MODULE) +@@ -105,8 +95,10 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS ${EXAMPLE_TARGET}) list(APPEND INSTALL_TARGETS_PDB ${EXAMPLE_TARGET}) endforeach() @@ -93,7 +88,7 @@ index aa5447a8..10a0065b 100644 file(GLOB BENCHMARK_HEADER_FILES "performance/*.h") file(GLOB BENCHMARK_INLINE_FILES "performance/*.inl") file(GLOB BENCHMARK_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/performance" "performance/*.cpp") -@@ -120,8 +111,10 @@ if(NOT CPPCOMMON_MODULE) +@@ -120,8 +112,10 @@ if(NOT CPPCOMMON_MODULE) list(APPEND INSTALL_TARGETS ${BENCHMARK_TARGET}) list(APPEND INSTALL_TARGETS_PDB ${BENCHMARK_TARGET}) endforeach() @@ -104,7 +99,7 @@ index aa5447a8..10a0065b 100644 file(GLOB TESTS_HEADER_FILES "tests/*.h") file(GLOB TESTS_INLINE_FILES "tests/*.inl") file(GLOB TESTS_SOURCE_FILES "tests/*.cpp") -@@ -132,19 +125,22 @@ if(NOT CPPCOMMON_MODULE) +@@ -132,19 +126,22 @@ if(NOT CPPCOMMON_MODULE) target_link_libraries(cppcommon-tests ${LINKLIBS}) list(APPEND INSTALL_TARGETS cppcommon-tests) list(APPEND INSTALL_TARGETS_PDB cppcommon-tests) diff --git a/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-1-0.patch b/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-1-0.patch index 3b9099c8f0c45..b85cb3d5f9ed0 100644 --- a/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-1-0.patch +++ b/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-1-0.patch @@ -17,7 +17,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 10a0065b..2ed1668c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -61,6 +61,10 @@ target_link_libraries(cppcommon PUBLIC ${LINKLIBS} CONAN_PKG::fmt) +@@ -62,6 +62,10 @@ target_link_libraries(cppcommon PUBLIC ${LINKLIBS} CONAN_PKG::fmt) list(APPEND INSTALL_TARGETS cppcommon) list(APPEND LINKLIBS cppcommon) diff --git a/recipes/cppcommon/all/patches/0003-define-win32-winnt-cci-20201104.patch b/recipes/cppcommon/all/patches/0003-define-win32-winnt-cci-20201104.patch index 83c8b1f1eb2c9..61af4f0ef8364 100644 --- a/recipes/cppcommon/all/patches/0003-define-win32-winnt-cci-20201104.patch +++ b/recipes/cppcommon/all/patches/0003-define-win32-winnt-cci-20201104.patch @@ -4,11 +4,13 @@ https://github.com/chronoxor/CppCMakeScripts/blob/1.0.0.0/SetPlatformFeatures.cm Even if it sets _WIN32_WINNT to _WIN32_WINNT_WIN10, here a less strict definiton is chosen (_WIN32_WINNT_VISTA). +--- + diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad3d53aa8..d4dcbf8b5 100644 +index 160fc09..5eeddd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -74,6 +74,10 @@ target_link_libraries(cppcommon PUBLIC ${LINKLIBS} CONAN_PKG::fmt) +@@ -75,6 +75,10 @@ target_link_libraries(cppcommon PUBLIC ${LINKLIBS} fmt::fmt) list(APPEND INSTALL_TARGETS cppcommon) list(APPEND LINKLIBS cppcommon) @@ -18,4 +20,4 @@ index ad3d53aa8..d4dcbf8b5 100644 + # Additional module components: benchmarks, examples, plugins, tests, tools and install if(NOT CPPCOMMON_MODULE) - + diff --git a/recipes/cppcommon/all/patches/0004-include-cstdint-1-0-0.patch b/recipes/cppcommon/all/patches/0004-include-cstdint-1-0-0.patch new file mode 100644 index 0000000000000..ac9007806f716 --- /dev/null +++ b/recipes/cppcommon/all/patches/0004-include-cstdint-1-0-0.patch @@ -0,0 +1,49 @@ +diff --git a/include/common/reader.h b/include/common/reader.h +index b3bba38..39f1f87 100644 +--- a/include/common/reader.h ++++ b/include/common/reader.h +@@ -11,6 +11,7 @@ + + #include + #include ++#include + + namespace CppCommon { + +diff --git a/include/string/string_utils.inl b/include/string/string_utils.inl +index 1315e63..1a225c8 100644 +--- a/include/string/string_utils.inl ++++ b/include/string/string_utils.inl +@@ -6,6 +6,8 @@ + \copyright MIT License + */ + ++#include ++ + namespace CppCommon { + + inline bool StringUtils::IsBlank(char ch) +diff --git a/include/system/uuid.h b/include/system/uuid.h +index bc3c2ea..cf768ea 100644 +--- a/include/system/uuid.h ++++ b/include/system/uuid.h +@@ -13,6 +13,7 @@ + + #include + #include ++#include + + namespace CppCommon { + +diff --git a/source/string/encoding.cpp b/source/string/encoding.cpp +index 5a0e633..65dc7e6 100644 +--- a/source/string/encoding.cpp ++++ b/source/string/encoding.cpp +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + namespace CppCommon { + diff --git a/recipes/cppcommon/all/patches/0005-include-mutex-1-0-0.patch b/recipes/cppcommon/all/patches/0005-include-mutex-1-0-0.patch new file mode 100644 index 0000000000000..bca5eaf100bb2 --- /dev/null +++ b/recipes/cppcommon/all/patches/0005-include-mutex-1-0-0.patch @@ -0,0 +1,12 @@ +diff --git a/source/cache/filecache.cpp b/source/cache/filecache.cpp +index 0c22f50..2bfb3a1 100644 +--- a/source/cache/filecache.cpp ++++ b/source/cache/filecache.cpp +@@ -7,6 +7,7 @@ + */ + + #include "cache/filecache.h" ++#include + + namespace CppCommon { + diff --git a/recipes/cppcommon/all/test_package/CMakeLists.txt b/recipes/cppcommon/all/test_package/CMakeLists.txt index ba1e21ea8636c..0c4ae375149ae 100644 --- a/recipes/cppcommon/all/test_package/CMakeLists.txt +++ b/recipes/cppcommon/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(cppcommon REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -conan_target_link_libraries(${PROJECT_NAME}) - +target_link_libraries(${PROJECT_NAME} PRIVATE cppcommon::cppcommon) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) diff --git a/recipes/cppcommon/all/test_package/conanfile.py b/recipes/cppcommon/all/test_package/conanfile.py index 4903f1a7e8fa0..ef5d7042163ec 100644 --- a/recipes/cppcommon/all/test_package/conanfile.py +++ b/recipes/cppcommon/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cppcommon/config.yml b/recipes/cppcommon/config.yml index 17d2cd502269e..ee34523110204 100644 --- a/recipes/cppcommon/config.yml +++ b/recipes/cppcommon/config.yml @@ -1,11 +1,11 @@ versions: - "1.0.0.0": + "1.0.3.0": folder: all - "cci.20201104": + "1.0.2.0": folder: all "1.0.1.0": folder: all - "1.0.2.0": + "1.0.0.0": folder: all - "1.0.3.0": + "cci.20201104": folder: all From 04fea26ef531c410cee4758d6a834ff329f4b029 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Tue, 20 Jun 2023 08:44:09 -0400 Subject: [PATCH 0577/4087] (#17915) [google-cloud-cpp] break dependency on googleapis * [google-cloud-cpp] break dependency on googleapis * Fix formatting and comments * Backport fixes from upstream * Need more upstream patches to make INTERFACE libraries * Argh, patched the wrong libraries --- .../google-cloud-cpp/2.x/components_2_5_0.py | 364 +++++ .../2.x/conan_cmake_project_include.cmake | 10 - recipes/google-cloud-cpp/2.x/conandata.yml | 11 +- recipes/google-cloud-cpp/2.x/conanfile.py | 234 ++- .../2.x/extract_dependencies.py | 365 +++++ .../001-use-googleapis-conan-package.patch | 1279 ----------------- .../002-interface-library-properties.patch | 6 +- .../2.5.0/003-use-conan-msvc-runtime.patch | 4 +- .../2.5.0/004-remove-duplicate-protos.patch | 108 ++ .../005-interface-library-properties.patch | 51 + 10 files changed, 996 insertions(+), 1436 deletions(-) create mode 100644 recipes/google-cloud-cpp/2.x/components_2_5_0.py delete mode 100644 recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake create mode 100755 recipes/google-cloud-cpp/2.x/extract_dependencies.py delete mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch diff --git a/recipes/google-cloud-cpp/2.x/components_2_5_0.py b/recipes/google-cloud-cpp/2.x/components_2_5_0.py new file mode 100644 index 0000000000000..9244c68af5641 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/components_2_5_0.py @@ -0,0 +1,364 @@ +# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT +DEPENDENCIES = { + "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'], + "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "cloud_bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'], + "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "billing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos', 'type_money_protos'], + "binaryauthorization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "certificatemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "channel_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_decimal_protos', 'type_money_protos', 'type_postal_address_protos'], + "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "cloud_common_common_protos": ['api_field_behavior_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "composer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "connectors_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "contactcenterinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "container_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "containeranalysis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "datacatalog_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "datamigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "dataplex_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "datastream_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "debugger_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'devtools_source_v1_source_context_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "deploy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "cloud_dialogflow_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "dialogflow_cx_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'], + "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "gameservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "iap_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "ids_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "iot_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "language_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "logging_type_type_protos": ['api_annotations_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'], + "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'], + "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'], + "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "resourcesettings_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "retail_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "cloud_speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'], + "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'], + "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'], + "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "cloud_texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "tpu_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "devtools_cloudtrace_v2_trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'], + "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'], + "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "workflows_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "api_annotations_protos": ['api_http_protos'], + "api_auth_protos": ['api_annotations_protos'], + "api_billing_protos": ['api_annotations_protos', 'api_metric_protos'], + "api_client_protos": ['api_launch_stage_protos'], + "api_distribution_protos": ['api_annotations_protos'], + "api_endpoint_protos": ['api_annotations_protos'], + "api_log_protos": ['api_label_protos'], + "api_logging_protos": ['api_annotations_protos', 'api_label_protos'], + "api_metric_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitored_resource_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitoring_protos": ['api_annotations_protos'], + "api_quota_protos": ['api_annotations_protos'], + "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'], + "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'], + "devtools_cloudtrace_v2_tracing_protos": ['api_client_protos', 'api_field_behavior_protos', 'devtools_cloudtrace_v2_trace_protos', 'devtools_cloudtrace_v2_trace_protos', 'rpc_status_protos'], +} + +PROTO_COMPONENTS = { + "accessapproval_protos", + "accesscontextmanager_protos", + "api_annotations_protos", + "api_auth_protos", + "api_backend_protos", + "api_billing_protos", + "api_client_protos", + "api_config_change_protos", + "api_context_protos", + "api_control_protos", + "api_distribution_protos", + "api_documentation_protos", + "api_endpoint_protos", + "api_field_behavior_protos", + "api_http_protos", + "api_httpbody_protos", + "api_label_protos", + "api_launch_stage_protos", + "api_log_protos", + "api_logging_protos", + "api_metric_protos", + "api_monitored_resource_protos", + "api_monitoring_protos", + "api_quota_protos", + "api_resource_protos", + "api_routing_protos", + "api_service_protos", + "api_source_info_protos", + "api_system_parameter_protos", + "api_usage_protos", + "api_visibility_protos", + "apigateway_protos", + "apigeeconnect_protos", + "appengine_protos", + "artifactregistry_protos", + "asset_protos", + "assuredworkloads_protos", + "automl_protos", + "baremetalsolution_protos", + "batch_protos", + "beyondcorp_protos", + "bigtable_protos", + "billing_protos", + "binaryauthorization_protos", + "certificatemanager_protos", + "channel_protos", + "cloud_bigquery_protos", + "cloud_common_common_protos", + "cloud_dialogflow_v2_protos", + "cloud_speech_protos", + "cloud_texttospeech_protos", + "cloudbuild_protos", + "composer_protos", + "connectors_protos", + "contactcenterinsights_protos", + "container_protos", + "containeranalysis_protos", + "datacatalog_protos", + "datamigration_protos", + "dataplex_protos", + "dataproc_protos", + "datastream_protos", + "debugger_protos", + "deploy_protos", + "devtools_cloudtrace_v2_trace_protos", + "devtools_cloudtrace_v2_tracing_protos", + "devtools_source_v1_source_context_protos", + "dialogflow_cx_protos", + "dlp_protos", + "documentai_protos", + "edgecontainer_protos", + "eventarc_protos", + "filestore_protos", + "functions_protos", + "gameservices_protos", + "gkehub_protos", + "grafeas_protos", + "iam_protos", + "iam_v1_iam_policy_protos", + "iam_v1_options_protos", + "iam_v1_policy_protos", + "iap_protos", + "ids_protos", + "iot_protos", + "kms_protos", + "language_protos", + "logging_protos", + "logging_type_type_protos", + "longrunning_operations_protos", + "managedidentities_protos", + "memcache_protos", + "monitoring_protos", + "networkconnectivity_protos", + "networkmanagement_protos", + "notebooks_protos", + "optimization_protos", + "orgpolicy_protos", + "osconfig_protos", + "oslogin_protos", + "policytroubleshooter_protos", + "privateca_protos", + "profiler_protos", + "pubsub_protos", + "recommender_protos", + "redis_protos", + "resourcemanager_protos", + "resourcesettings_protos", + "retail_protos", + "rpc_code_protos", + "rpc_error_details_protos", + "rpc_status_protos", + "run_protos", + "scheduler_protos", + "secretmanager_protos", + "securitycenter_protos", + "servicecontrol_protos", + "servicedirectory_protos", + "servicemanagement_protos", + "serviceusage_protos", + "shell_protos", + "spanner_protos", + "storage_protos", + "storagetransfer_protos", + "talent_protos", + "tasks_protos", + "tpu_protos", + "translate_protos", + "type_calendar_period_protos", + "type_color_protos", + "type_date_protos", + "type_datetime_protos", + "type_dayofweek_protos", + "type_decimal_protos", + "type_expr_protos", + "type_latlng_protos", + "type_money_protos", + "type_postal_address_protos", + "type_timeofday_protos", + "video_protos", + "videointelligence_protos", + "vision_protos", + "vmmigration_protos", + "vmwareengine_protos", + "vpcaccess_protos", + "webrisk_protos", + "websecurityscanner_protos", + "workflows_protos" +} + +COMPONENTS = { + "accessapproval", + "accesscontextmanager", + "apigateway", + "apigeeconnect", + "appengine", + "artifactregistry", + "asset", + "assuredworkloads", + "automl", + "baremetalsolution", + "batch", + "beyondcorp", + "bigquery", + "bigtable", + "billing", + "binaryauthorization", + "certificatemanager", + "channel", + "cloudbuild", + "composer", + "connectors", + "contactcenterinsights", + "container", + "containeranalysis", + "datacatalog", + "datamigration", + "dataplex", + "dataproc", + "datastream", + "debugger", + "deploy", + "dialogflow_cx", + "dialogflow_es", + "dlp", + "documentai", + "edgecontainer", + "eventarc", + "filestore", + "functions", + "gameservices", + "gkehub", + "iam", + "iap", + "ids", + "iot", + "kms", + "language", + "logging", + "managedidentities", + "memcache", + "monitoring", + "networkconnectivity", + "networkmanagement", + "notebooks", + "optimization", + "orgpolicy", + "osconfig", + "oslogin", + "policytroubleshooter", + "privateca", + "profiler", + "pubsub", + "recommender", + "redis", + "resourcemanager", + "resourcesettings", + "retail", + "run", + "scheduler", + "secretmanager", + "securitycenter", + "servicecontrol", + "servicedirectory", + "servicemanagement", + "serviceusage", + "shell", + "spanner", + "speech", + "storage", + "storagetransfer", + "talent", + "tasks", + "texttospeech", + "tpu", + "trace", + "translate", + "video", + "videointelligence", + "vision", + "vmmigration", + "vmwareengine", + "vpcaccess", + "webrisk", + "websecurityscanner", + "workflows" +} diff --git a/recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake b/recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake deleted file mode 100644 index 17098fdadc87d..0000000000000 --- a/recipes/google-cloud-cpp/2.x/conan_cmake_project_include.cmake +++ /dev/null @@ -1,10 +0,0 @@ -find_package(googleapis CONFIG REQUIRED) -if (NOT ("${googleapis_RES_DIRS_RELEASE}" STREQUAL "")) - set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_RELEASE}") -elseif (NOT ("${googleapis_RES_DIRS_RELWITHDEBINFO}" STREQUAL "")) - set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_RELWITHDEBINFO}") -elseif (NOT ("${googleapis_RES_DIRS_MINSIZEREL}" STREQUAL "")) - set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_MINSIZEREL}") -elseif (NOT ("${googleapis_RES_DIRS_DEBUG}" STREQUAL "")) - set(EXTERNAL_GOOGLEAPIS_SOURCE "${googleapis_RES_DIRS_DEBUG}") -endif () diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml index 94473c6cb2ac9..b0ad561ceddc4 100644 --- a/recipes/google-cloud-cpp/2.x/conandata.yml +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -4,9 +4,6 @@ sources: sha256: "ac93ef722d08bfb220343bde2f633c7c11f15e34ec3ecd0a57dbd3ff729cc3a6" patches: "2.5.0": - - patch_file: "patches/2.5.0/001-use-googleapis-conan-package.patch" - patch_description: "Use Conan package for googleapis" - patch_type: conan - patch_file: "patches/2.5.0/002-interface-library-properties.patch" patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636 patch_description: "Fix problems with INTERFACE proto libraries" @@ -14,3 +11,11 @@ patches: - patch_file: "patches/2.5.0/003-use-conan-msvc-runtime.patch" patch_description: "Let Conan select the MSVC runtime" patch_type: conan + - patch_file: "patches/2.5.0/004-remove-duplicate-protos.patch" + patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10486 + patch_description: "Some libraries defined had duplicate symbols" + patch_type: backport + - patch_file: "patches/2.5.0/005-interface-library-properties.patch" + patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636 + patch_description: "Fix problems with INTERFACE proto libraries" + patch_type: backport diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py index 0da218c665ea2..7c14208cf7c08 100644 --- a/recipes/google-cloud-cpp/2.x/conanfile.py +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -9,6 +9,18 @@ from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration +# Load the generated component dependency information. +# +# `google-cloud-cpp` has well over 200 components. Conan cannot use the CMake +# files generated by `google-cloud-cpp`. Manually maintaining this dependency +# information is error prone and fairly tedious. A helper script in this +# directory reproduces the algorithms used by `google-cloud-cpp` to generate its +# dependency information. With each new revision of `google-cloud-cpp` the +# script will be used to generate a new file with the component dependency +# information. The expectation is that maintaining this script will be easier +# than writing long lists of dependencies by hand. +import components_2_5_0 + required_conan_version = ">=1.56.0" @@ -31,11 +43,25 @@ class GoogleCloudCppConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} + exports = ["components_2_5_0.py"] short_paths = True + _GA_COMPONENTS = { + '2.5.0': components_2_5_0.COMPONENTS, + } + _PROTO_COMPONENTS = { + '2.5.0': components_2_5_0.PROTO_COMPONENTS, + } + _PROTO_COMPONENT_DEPENDENCIES = { + "2.5.0": components_2_5_0.DEPENDENCIES + } + # Some components require custom dependency definitions. + _REQUIRES_CUSTOM_DEPENDENCIES = { + "bigquery", "bigtable", "iam", "pubsub", "spanner", "storage", + } + def export_sources(self): - copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) export_conandata_patches(self) def config_options(self): @@ -46,8 +72,6 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") self.options["protobuf"].shared = True - self.options["googleapis"].shared = True - self.options["grpc-proto"].shared = True self.options["grpc"].shared = True def validate(self): @@ -64,6 +88,21 @@ def validate(self): "Recipe not prepared for cross-building (yet)" ) + if self.version not in self._GA_COMPONENTS: + raise ConanInvalidConfiguration( + "The components are unknown for version %s" % self.version + ) + + if self.version not in self._PROTO_COMPONENTS: + raise ConanInvalidConfiguration( + "The proto components are unknown for version %s" % self.version + ) + + if self.version not in self._PROTO_COMPONENT_DEPENDENCIES: + raise ConanInvalidConfiguration( + "The inter-component dependencies are unknown for version %s" % self.version + ) + if ( self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "6.0" @@ -81,14 +120,10 @@ def validate(self): if self.info.options.shared and \ (not self.dependencies["protobuf"].options.shared or \ - not self.dependencies["googleapis"].options.shared or \ - not self.dependencies["grpc-proto"].options.shared or \ not self.dependencies["grpc"].options.shared): raise ConanInvalidConfiguration( - "If built as shared, protobuf, googleapis, grpc-proto, and grpc must be shared as well." - " Please, use `protobuf/*:shared=True`, `googleapis/*:shared=True`, `grpc-proto/*:shared=True`," - " and `grpc/*:shared=True`", - ) + "If built as shared, protobuf, and grpc must be shared as well." + " Please, use `protobuf/*:shared=True`, and `grpc/*:shared=True`.") def layout(self): cmake_layout(self, src_folder="src") @@ -105,13 +140,6 @@ def requirements(self): self.requires("libcurl/7.88.1") self.requires("openssl/[>=1.1 <4]") self.requires("zlib/1.2.13") - # `google-cloud-cpp` contains code generated from the proto files. - # Working with older versions of these protos almost always will fail, as - # at least some of the RPCs included in the GRPC-generator stubs will be - # missing. - # Working with newer versions of these protos almost always will work. There - # are very few breaking changes on the proto files. - self.requires(f"googleapis/{self._GOOGLEAPIS_VERSIONS[self.version]}", transitive_headers=True) def build_requirements(self): # For the grpc-cpp-plugin executable @@ -119,7 +147,6 @@ def build_requirements(self): def generate(self): tc = CMakeToolchain(self) - tc.cache_variables["CMAKE_PROJECT_google-cloud-cpp_INCLUDE"] = os.path.join(self.source_folder, "conan_cmake_project_include.cmake") tc.variables["BUILD_TESTING"] = False tc.variables["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False tc.variables["GOOGLE_CLOUD_CPP_ENABLE"] = ",".join(self._components()) @@ -147,124 +174,44 @@ def build(self): cmake.configure() cmake.build() - _GOOGLEAPIS_VERSIONS = { - "2.5.0": "cci.20221108", - } - - _GA_COMPONENTS_BASE = {"bigquery", "bigtable", "iam", "pubsub", "spanner", "storage"} - _GA_COMPONENTS_VERSION = { - '2.5.0': { - "accessapproval", - "accesscontextmanager", - "apigateway", - "apigeeconnect", - "appengine", - "artifactregistry", - "asset", - "assuredworkloads", - "automl", - "baremetalsolution", - "batch", - "beyondcorp", - "billing", - "binaryauthorization", - "certificatemanager", - "channel", - "cloudbuild", - "composer", - "connectors", - "contactcenterinsights", - "container", - "containeranalysis", - "datacatalog", - "datamigration", - "dataplex", - "dataproc", - "datastream", - "debugger", - "deploy", - "dialogflow_cx", - "dialogflow_es", - "dlp", - "documentai", - "edgecontainer", - "eventarc", - "filestore", - "functions", - "gameservices", - "gkehub", - "iap", - "ids", - "iot", - "kms", - "language", - "logging", - "managedidentities", - "memcache", - "monitoring", - "networkconnectivity", - "networkmanagement", - "notebooks", - "optimization", - "orgpolicy", - "osconfig", - "oslogin", - "policytroubleshooter", - "privateca", - "profiler", - "recommender", - "redis", - "resourcemanager", - "resourcesettings", - "retail", - "run", - "scheduler", - "secretmanager", - "securitycenter", - "servicecontrol", - "servicedirectory", - "servicemanagement", - "serviceusage", - "shell", - "speech", - "storagetransfer", - "talent", - "tasks", - "texttospeech", - "tpu", - "trace", - "translate", - "video", - "videointelligence", - "vision", - "vmmigration", - "vmwareengine", - "vpcaccess", - "webrisk", - "websecurityscanner", - "workflows", - }, + def _generate_proto_requires(self, component): + deps = self._PROTO_COMPONENT_DEPENDENCIES.get(self.version, dict()) + return deps.get(component, []) + + _SKIPPED_COMPONENTS = { + # Some protos do not compile due to inconvenient system macros clashing + # with proto enum values. Protobuf can workaround these problems, but + # the current version in Conan index (protobuf/3.21.4) do not contain + # the fixes for these cases. + # TODO - review after protobuf >= 4.23.x + 'asset', + 'channel', + 'storagetransfer', + # TODO - certificatemanager crashes the gRPC code generator. Add it back + # after gRPC >= 1.53.x + 'certificatemanager', } def _components(self): - result = self._GA_COMPONENTS_BASE - for v in sorted(self._GA_COMPONENTS_VERSION.keys()): - if v > Version(self): - break - result = result.union(self._GA_COMPONENTS_VERSION[v]) - # Some protos do not compile due to inconvenient system macros clashing with proto enum values. - # Protobuf can workaround these problems, but the current version in Conan index (protobuf/3.21.4) - # do not contain the fixes for these cases. - # TODO - review after protobuf >= 3.22.x - result.remove('asset') - result.remove('channel') - result.remove('storagetransfer') - # Some of the macros are platform specific. + result = self._GA_COMPONENTS.get(self.version, []).copy() + for c in self._SKIPPED_COMPONENTS: + result.remove(c) + # TODO - these do not build on Android due to conflicts between OS + # macros and Proto enums. Revisit after Protobuf >= 4.23.x if self.settings.os == "Android": result.remove('accesscontextmanager') result.remove('talent') - # TODO - certificatemanager crashes the gRPC code generator. Add it back after gRPC >= 1.53.x - result.remove('certificatemanager') + return result + + def _proto_components(self): + result = self._PROTO_COMPONENTS.get(self.version, []).copy() + for c in self._SKIPPED_COMPONENTS: + result.remove(c + '_protos') + # TODO - these do not build on Android due to conflicts between OS + # macros and Proto enums. Revisit after Protobuf >= 4.23.x + if self.settings.os == "Android": + result.remove('accesscontextmanager_protos') + result.remove('talent_protos') return result def package(self): @@ -275,8 +222,7 @@ def package(self): rmdir(self, path=os.path.join(self.package_folder, "lib", "pkgconfig")) def _add_proto_component(self, component): - PROTOS_SHARED_REQUIRES=["googleapis::googleapis", "grpc::grpc++", "grpc::_grpc", "protobuf::libprotobuf"] - self.cpp_info.components[component].requires = PROTOS_SHARED_REQUIRES + self.cpp_info.components[component].requires = self._generate_proto_requires(component) self.cpp_info.components[component].libs = [f"google_cloud_cpp_{component}"] self.cpp_info.components[component].names["pkg_config"] = f"google_cloud_cpp_{component}" @@ -296,15 +242,29 @@ def package_info(self): self.cpp_info.components["rest_internal"].names["pkg_config"] = "google_cloud_cpp_common" # A small number of gRPC-generated stubs are used directly in the common components - # shared by all gRPC-based libraries. These bust be defined without reference to `grpc_utils`. - GRPC_UTILS_REQUIRED_PROTOS=["iam_protos", "longrunning_operations_protos", "rpc_error_details_protos", "rpc_status_protos"] + # shared by all gRPC-based libraries. These must be defined without reference to `grpc_utils`. + GRPC_UTILS_REQUIRED_PROTOS={"iam_protos", "longrunning_operations_protos", "rpc_error_details_protos", "rpc_status_protos"} for component in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) - self.cpp_info.components["grpc_utils"].requires = GRPC_UTILS_REQUIRED_PROTOS + ["common", "abseil::absl_function_ref", "abseil::absl_memory", "abseil::absl_time", "grpc::grpc++", "grpc::_grpc"] + self.cpp_info.components["grpc_utils"].requires = list(GRPC_UTILS_REQUIRED_PROTOS) + ["common", "abseil::absl_function_ref", "abseil::absl_memory", "abseil::absl_time", "grpc::grpc++", "grpc::_grpc"] self.cpp_info.components["grpc_utils"].libs = ["google_cloud_cpp_grpc_utils"] self.cpp_info.components["grpc_utils"].names["pkg_config"] = "google_cloud_cpp_grpc_utils" + for component in self._proto_components(): + if component not in GRPC_UTILS_REQUIRED_PROTOS: + self._add_proto_component(component) + + # Interface libraries for backwards compatibility + self.cpp_info.components["dialogflow_es_protos"].requires = ["cloud_dialogflow_v2_protos"] + self.cpp_info.components["logging_type_protos"].requires = ["logging_type_type_protos"] + self.cpp_info.components["speech_protos"].requires = ["cloud_speech_protos"] + self.cpp_info.components["texttospeech_protos"].requires = ["cloud_texttospeech_protos"] + self.cpp_info.components["trace_protos"].requires = [ + "devtools_cloudtrace_v2_trace_protos", + "devtools_cloudtrace_v2_tracing_protos", + ] + for component in self._components(): # bigquery proto library predates the adoption of more consistent naming if component == 'bigquery': @@ -317,11 +277,7 @@ def package_info(self): continue # `storage` is the only component that does not depend on a matching `*_protos` library protos=f"{component}_protos" - if component != 'storage' and component not in GRPC_UTILS_REQUIRED_PROTOS: - self._add_proto_component(protos) - # The components in self._GA_COMPONENTS_BASE are hand-crafted and need custom - # definitions (see below) - if component in self._GA_COMPONENTS_BASE: + if component in self._REQUIRES_CUSTOM_DEPENDENCIES: continue self._add_grpc_component(component, protos) diff --git a/recipes/google-cloud-cpp/2.x/extract_dependencies.py b/recipes/google-cloud-cpp/2.x/extract_dependencies.py new file mode 100755 index 0000000000000..cc43b46fa3fa4 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/extract_dependencies.py @@ -0,0 +1,365 @@ +#!/usr/bin/env python3 + +import argparse +import glob +import os + +"""Extract google-cloud-cpp's component dependency info for use in Conan. + +google-cloud-cpp builds a number (about 100) of libraries from proto files. +These libraries have dependencies between them. In Conan, one cannot use the +dependencies preserved in the *-config.cmake files generated by the package, so +we have to reconstruct the dependencies here. + +Fortunately, google-cloud-cpp uses a number of *.deps files to keep these +dependencies. We just need to reimplement their algorithm to load these files +and convert them to CMake dependencies. + +The *.deps files themselves are generated (and committed to GitHub) from +Bazel rules. +""" + +# Used in _generate_proto_requires(): common requirements +_PROTO_DEPS_COMMON_REQUIRES = {"grpc::grpc++", "grpc::_grpc", "protobuf::libprotobuf"} + +# 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. +_PROTO_DEPS_REMOVED_TARGETS = { + "cloud_kms_v1_kms_protos", + "cloud_orgpolicy_v1_orgpolicy_protos", + "cloud_oslogin_common_common_protos", + "cloud_recommender_v1_recommender_protos", + "identity_accesscontextmanager_type_type_protos", +} + +# Used in _generate_proto_requires(): the *.deps files are generated from +# Bazel and contain a few targets that have incorrect names for CMake. +_PROTO_DEPS_REPLACED_TARGETS = { + "grafeas_v1_grafeas_protos": "grafeas_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", +} + +# A few *.deps files use ad-hoc naming. +_PROTO_DEPS_REPLACED_NAMES = { + "common": "cloud_common_common", + "bigquery": "cloud_bigquery", + "dialogflow": "cloud_dialogflow_v2", + "logging_type": "logging_type_type", + "texttospeech": "cloud_texttospeech", + "speech": "cloud_speech", + "trace": "devtools_cloudtrace_v2_trace", +} + +# A few *.deps files are not used. +_PROTO_DEPS_UNUSED = { + "iam_policy", +} + +# A few _protos libraries were introduced before `google-cloud-cpp` adopted +# more consistent naming. +_PROTO_BASE_COMPONENTS = { + "api_service_protos", + "api_visibility_protos", + "api_monitoring_protos", + "type_date_protos", + "api_control_protos", + "api_client_protos", + "api_annotations_protos", + "api_httpbody_protos", + "iam_v1_policy_protos", + "api_auth_protos", + "api_resource_protos", + "api_billing_protos", + "api_quota_protos", + "api_source_info_protos", + "api_backend_protos", + "type_datetime_protos", + "iam_v1_options_protos", + "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", + "iam_v1_iam_policy_protos", + "type_expr_protos", + "api_routing_protos", + "api_usage_protos", + "logging_type_type_protos", + "type_calendar_period_protos", + "rpc_code_protos", + "api_system_parameter_protos", + "cloud_common_common_protos", + "type_postal_address_protos", + "type_latlng_protos", + "type_dayofweek_protos", + "api_monitored_resource_protos", + "type_money_protos", + "api_metric_protos", + "api_label_protos", + "api_log_protos", + "grafeas_protos", + "api_http_protos", + "type_timeofday_protos", + "api_field_behavior_protos", + "api_context_protos", + "api_logging_protos", +} + +# A list of experimental components used when `google-cloud-cpp` does not +# provide an easy-to-use list. +_DEFAULT_EXPERIMENTAL_COMPONENTS = { + "apikeys", + "pubsublite", +} + +# A list of components used when `google-cloud-cpp` does not provide an +# easy-to-use list. +_DEFAULT_COMPONENTS = { + "accessapproval", + "accesscontextmanager", + "apigateway", + "apigeeconnect", + "appengine", + "artifactregistry", + "asset", + "assuredworkloads", + "automl", + "baremetalsolution", + "batch", + "beyondcorp", + "bigquery", + "bigtable", + "billing", + "binaryauthorization", + "certificatemanager", + "channel", + "cloudbuild", + "composer", + "connectors", + "contactcenterinsights", + "container", + "containeranalysis", + "datacatalog", + "datamigration", + "dataplex", + "dataproc", + "datastream", + "debugger", + "deploy", + "dialogflow_cx", + "dialogflow_es", + "dlp", + "documentai", + "edgecontainer", + "eventarc", + "filestore", + "functions", + "gameservices", + "gkehub", + "iam", + "iap", + "ids", + "iot", + "kms", + "language", + "logging", + "managedidentities", + "memcache", + "monitoring", + "networkconnectivity", + "networkmanagement", + "notebooks", + "optimization", + "orgpolicy", + "osconfig", + "oslogin", + "policytroubleshooter", + "privateca", + "profiler", + "pubsub", + "recommender", + "redis", + "resourcemanager", + "resourcesettings", + "retail", + "run", + "scheduler", + "secretmanager", + "securitycenter", + "servicecontrol", + "servicedirectory", + "servicemanagement", + "serviceusage", + "shell", + "spanner", + "speech", + "storage", + "storagetransfer", + "talent", + "tasks", + "texttospeech", + "tpu", + "trace", + "translate", + "video", + "videointelligence", + "vision", + "vmmigration", + "vmwareengine", + "vpcaccess", + "webrisk", + "websecurityscanner", + "workflows", +} + +# `google-cloud-cpp` managems these dependencies using CMake code. +_HARD_CODED_DEPENDENCIES = { + "api_annotations_protos": ["api_http_protos"], + "api_auth_protos": ["api_annotations_protos"], + "api_client_protos": ["api_launch_stage_protos"], + "api_metric_protos": ["api_launch_stage_protos", "api_label_protos"], + "api_billing_protos": ["api_annotations_protos", "api_metric_protos"], + "api_distribution_protos": ["api_annotations_protos"], + "api_endpoint_protos": ["api_annotations_protos"], + "api_log_protos": ["api_label_protos"], + "api_logging_protos": ["api_annotations_protos", "api_label_protos"], + "api_monitored_resource_protos": ["api_launch_stage_protos", "api_label_protos"], + "api_monitoring_protos": ["api_annotations_protos"], + "api_quota_protos": ["api_annotations_protos"], + "api_usage_protos": ["api_annotations_protos", "api_visibility_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", + ], + "devtools_cloudtrace_v2_tracing_protos": [ + "devtools_cloudtrace_v2_trace_protos", + "devtools_cloudtrace_v2_trace_protos", + "api_client_protos", + "api_field_behavior_protos", + "rpc_status_protos", + ], +} + + +def _components(source_folder): + libraries = os.path.join(source_folder, "libraries.bzl") + # Use the hard-coded list because the `google-cloud-cpp` does not provide + # an easy way to get all the components. + if not os.path.exists(libraries): + return _DEFAULT_COMPONENTS + # The `libraries.bzl` file is a Starlark file that simply defines some + # variables listing all GA, experimental, and "transition", components. + # We want both the GA and transition components, the latter are components + # that recently transitioned from experimental to GA. + g = dict() + with open(libraries) as f: + exec(compile(f.read(), libraries, "exec"), g) + return ( + g["GOOGLE_CLOUD_CPP_GA_LIBRARIES"] + g["GOOGLE_CLOUD_CPP_TRANSITION_LIBRARIES"] + ) + + +def _experimental_components(source_folder): + libraries = os.path.join(source_folder, "libraries.bzl") + # Use the hard-coded list because the `google-cloud-cpp` does not provide + # an easy way to get all the components. + if not os.path.exists(libraries): + return _DEFAULT_EXPERIMENTAL_COMPONENTS + # The `libraries.bzl` file is a Starlark file that simply defines some + # variables listing all GA, experimental, and "transition", components. + # We want to return any experimental components, the caller will skip them + # as they are not built by Conan. + g = dict() + with open(libraries) as f: + exec(compile(f.read(), libraries, "exec"), g) + return g["GOOGLE_CLOUD_CPP_EXPERIMENTAL_LIBRARIES"] + + +def _generate_proto_requires(depfile): + """Load the dependencies for a single google-cloud-cpp::*-protos library.""" + requires = [] + with open(depfile, "r", encoding="utf-8") as f: + for line in f.readlines(): + line = line.strip() + line = line.replace(":", "_") + line = line.replace("_proto", "_protos") + line = line.replace("@com_google_googleapis//", "") + line = line.replace("google/", "") + line = line.replace("/", "_") + if line in _PROTO_DEPS_REMOVED_TARGETS: + continue + line = _PROTO_DEPS_REPLACED_TARGETS.get(line, line) + requires.append(line) + return list(_PROTO_DEPS_COMMON_REQUIRES) + requires + + +def main(): + """Generate a python file representing the google-cloud-cpp proto deps.""" + parser = argparse.ArgumentParser(description=(__doc__)) + parser.add_argument( + "-s", + "--source-folder", + help="a directory where `google-cloud-cpp` source has been extracted", + ) + args = parser.parse_args() + source_folder = vars(args)["source_folder"] + deps_folder = os.path.join(source_folder, "external", "googleapis", "protodeps") + print("# Automatically generated by %s DO NOT EDIT" % __file__) + print("DEPENDENCIES = {") + proto_components = _PROTO_BASE_COMPONENTS.copy() + files = sorted(glob.glob(os.path.join(deps_folder, "*.deps"))) + experimental = set(_experimental_components(source_folder)) + for filename in files: + component = os.path.basename(filename).replace(".deps", "") + component = _PROTO_DEPS_REPLACED_NAMES.get(component, component) + if component in experimental or component in _PROTO_DEPS_UNUSED: + # Experimental components have an associated *_protos, component. + # The Conan package only compiles the GA components, so we need + # to skip these. + continue + component = component + "_protos" + deps = _generate_proto_requires(filename) + proto_components.add(component) + proto_components.update(deps) + print(f' "{component}": {sorted(deps)},') + for component in sorted(_HARD_CODED_DEPENDENCIES.keys()): + deps = _HARD_CODED_DEPENDENCIES[component] + proto_components.add(component) + proto_components.update(deps) + print(f' "{component}": {sorted(deps)},') + print("}") + proto_components = proto_components - _PROTO_DEPS_COMMON_REQUIRES + names = ['"%s"' % c for c in proto_components] + joined = ",\n ".join(sorted(names)) + print(f"\nPROTO_COMPONENTS = {{\n {joined}\n}}") + names = ['"%s"' % c for c in _components(source_folder)] + joined = ",\n ".join(sorted(names)) + print(f"\nCOMPONENTS = {{\n {joined}\n}}") + + +if __name__ == "__main__": + main() diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch deleted file mode 100644 index 44737240ad451..0000000000000 --- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/001-use-googleapis-conan-package.patch +++ /dev/null @@ -1,1279 +0,0 @@ -diff --git a/cmake/CompileProtos.cmake b/cmake/CompileProtos.cmake -index 366edba..4eb5ea3 100644 ---- a/cmake/CompileProtos.cmake -+++ b/cmake/CompileProtos.cmake -@@ -362,20 +362,10 @@ function (google_cloud_cpp_proto_library libname) - return() - endif () - -- if (${_opt_LOCAL_INCLUDE}) -- google_cloud_cpp_generate_proto( -- proto_sources ${_opt_UNPARSED_ARGUMENTS} LOCAL_INCLUDE -- PROTO_PATH_DIRECTORIES ${_opt_PROTO_PATH_DIRECTORIES}) -- else () -- google_cloud_cpp_generate_proto( -- proto_sources ${_opt_UNPARSED_ARGUMENTS} PROTO_PATH_DIRECTORIES -- ${_opt_PROTO_PATH_DIRECTORIES}) -- endif () -- - add_library(${libname} ${proto_sources}) - set_property(TARGET ${libname} PROPERTY PROTO_SOURCES - ${_opt_UNPARSED_ARGUMENTS}) -- target_link_libraries(${libname} PUBLIC gRPC::grpc++ gRPC::grpc -+ target_link_libraries(${libname} PUBLIC gRPC::grpc++ gRPC::grpc googleapis::googleapis - protobuf::libprotobuf) - # We want to treat the generated code as "system" headers so they get - # ignored by the more aggressive warnings. -diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt -index ad2bd4b..28bf016 100644 ---- a/external/googleapis/CMakeLists.txt -+++ b/external/googleapis/CMakeLists.txt -@@ -16,24 +16,6 @@ - - include(GoogleapisConfig) - --set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL -- "https://github.com/googleapis/googleapis/archive/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" -- "https://storage.googleapis.com/cloud-cpp-community-archive/com_google_googleapis/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" --) --set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH -- "${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256}") --if (GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL) -- set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL -- ${GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL}) --endif () --if (GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL_HASH) -- set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH -- "${GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL_HASH}") --endif () -- --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") -- - set(EXTERNAL_GOOGLEAPIS_PROTO_FILES - # cmake-format: sort - "google/api/annotations.proto" -@@ -113,32 +95,6 @@ foreach (file IN LISTS protolists) - endforeach () - endforeach () - --include(ExternalProject) -- --externalproject_add( -- googleapis_download -- EXCLUDE_FROM_ALL ON -- PREFIX "${PROJECT_BINARY_DIR}/external/googleapis" -- URL ${GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL} -- URL_HASH SHA256=${GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH} -- PATCH_COMMAND -- "" -- # ~~~ -- # Scaffolding for patching googleapis after download. For example: -- # PATCH_COMMAND -- # patch -- # -p1 -- # --input=/workspace/external/googleapis.patch -- # NOTE: This should only be used while developing with a new -- # protobuf message. No changes to `PATCH_COMMAND` should ever be -- # committed to the main branch. -- # ~~~ -- CONFIGURE_COMMAND "" -- BUILD_COMMAND "" -- INSTALL_COMMAND "" -- BUILD_BYPRODUCTS ${EXTERNAL_GOOGLEAPIS_BYPRODUCTS} -- LOG_DOWNLOAD OFF) -- - # Sometimes (this happens often with vcpkg) protobuf is installed in a non- - # standard directory. We need to find out where, and then add that directory to - # the search path for protos. -@@ -187,7 +143,6 @@ function (external_googleapis_add_library proto) - endfunction () - - function (external_googleapis_set_version_and_alias short_name) -- add_dependencies("google_cloud_cpp_${short_name}" googleapis_download) - set_target_properties( - "google_cloud_cpp_${short_name}" - PROPERTIES EXPORT_NAME google-cloud-cpp::${short_name} -diff --git a/google/cloud/accessapproval/CMakeLists.txt b/google/cloud/accessapproval/CMakeLists.txt -index 43af932..e297251 100644 ---- a/google/cloud/accessapproval/CMakeLists.txt -+++ b/google/cloud/accessapproval/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::accessapproval_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/accesscontextmanager/CMakeLists.txt b/google/cloud/accesscontextmanager/CMakeLists.txt -index 9ff4ce8..3c96472 100644 ---- a/google/cloud/accesscontextmanager/CMakeLists.txt -+++ b/google/cloud/accesscontextmanager/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::accesscontextmanager_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/apigateway/CMakeLists.txt b/google/cloud/apigateway/CMakeLists.txt -index 5764bd3..517eb1e 100644 ---- a/google/cloud/apigateway/CMakeLists.txt -+++ b/google/cloud/apigateway/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::apigateway_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/apigeeconnect/CMakeLists.txt b/google/cloud/apigeeconnect/CMakeLists.txt -index 17bd60f..af353aa 100644 ---- a/google/cloud/apigeeconnect/CMakeLists.txt -+++ b/google/cloud/apigeeconnect/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::apigeeconnect_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/apikeys/CMakeLists.txt b/google/cloud/apikeys/CMakeLists.txt -index 9359474..6410175 100644 ---- a/google/cloud/apikeys/CMakeLists.txt -+++ b/google/cloud/apikeys/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::apikeys_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/appengine/CMakeLists.txt b/google/cloud/appengine/CMakeLists.txt -index 154a058..6136505 100644 ---- a/google/cloud/appengine/CMakeLists.txt -+++ b/google/cloud/appengine/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::appengine_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/artifactregistry/CMakeLists.txt b/google/cloud/artifactregistry/CMakeLists.txt -index 43d5f07..53184d4 100644 ---- a/google/cloud/artifactregistry/CMakeLists.txt -+++ b/google/cloud/artifactregistry/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::artifactregistry_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/asset/CMakeLists.txt b/google/cloud/asset/CMakeLists.txt -index dc33c07..6924523 100644 ---- a/google/cloud/asset/CMakeLists.txt -+++ b/google/cloud/asset/CMakeLists.txt -@@ -31,8 +31,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_EXTRA_INCLUDES - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/assuredworkloads/CMakeLists.txt b/google/cloud/assuredworkloads/CMakeLists.txt -index a081c00..01332c6 100644 ---- a/google/cloud/assuredworkloads/CMakeLists.txt -+++ b/google/cloud/assuredworkloads/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::assuredworkloads_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/automl/CMakeLists.txt b/google/cloud/automl/CMakeLists.txt -index c890e5e..f711f54 100644 ---- a/google/cloud/automl/CMakeLists.txt -+++ b/google/cloud/automl/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::automl_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/baremetalsolution/CMakeLists.txt b/google/cloud/baremetalsolution/CMakeLists.txt -index df02616..f4cbee4 100644 ---- a/google/cloud/baremetalsolution/CMakeLists.txt -+++ b/google/cloud/baremetalsolution/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::baremetalsolution_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/batch/CMakeLists.txt b/google/cloud/batch/CMakeLists.txt -index 03a1a3d..9645386 100644 ---- a/google/cloud/batch/CMakeLists.txt -+++ b/google/cloud/batch/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::batch_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/beyondcorp/CMakeLists.txt b/google/cloud/beyondcorp/CMakeLists.txt -index e8eea05..24b9a98 100644 ---- a/google/cloud/beyondcorp/CMakeLists.txt -+++ b/google/cloud/beyondcorp/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::beyondcorp_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/billing/CMakeLists.txt b/google/cloud/billing/CMakeLists.txt -index 54c45e6..4c928e6 100644 ---- a/google/cloud/billing/CMakeLists.txt -+++ b/google/cloud/billing/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::billing_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/binaryauthorization/CMakeLists.txt b/google/cloud/binaryauthorization/CMakeLists.txt -index 9f8cd45..48363e2 100644 ---- a/google/cloud/binaryauthorization/CMakeLists.txt -+++ b/google/cloud/binaryauthorization/CMakeLists.txt -@@ -32,8 +32,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_EXTRA_INCLUDES - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/certificatemanager/CMakeLists.txt b/google/cloud/certificatemanager/CMakeLists.txt -index 84a25b0..f4bae6d 100644 ---- a/google/cloud/certificatemanager/CMakeLists.txt -+++ b/google/cloud/certificatemanager/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::certificatemanager_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/channel/CMakeLists.txt b/google/cloud/channel/CMakeLists.txt -index ed6967b..ac19559 100644 ---- a/google/cloud/channel/CMakeLists.txt -+++ b/google/cloud/channel/CMakeLists.txt -@@ -35,8 +35,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::channel_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/cloudbuild/CMakeLists.txt b/google/cloud/cloudbuild/CMakeLists.txt -index 8f30f40..04d6a82 100644 ---- a/google/cloud/cloudbuild/CMakeLists.txt -+++ b/google/cloud/cloudbuild/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::cloudbuild_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/composer/CMakeLists.txt b/google/cloud/composer/CMakeLists.txt -index cde8542..c9af9d1 100644 ---- a/google/cloud/composer/CMakeLists.txt -+++ b/google/cloud/composer/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::composer_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/connectors/CMakeLists.txt b/google/cloud/connectors/CMakeLists.txt -index aef9110..cfd986f 100644 ---- a/google/cloud/connectors/CMakeLists.txt -+++ b/google/cloud/connectors/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::connectors_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/contactcenterinsights/CMakeLists.txt b/google/cloud/contactcenterinsights/CMakeLists.txt -index 03b74ed..3f8831c 100644 ---- a/google/cloud/contactcenterinsights/CMakeLists.txt -+++ b/google/cloud/contactcenterinsights/CMakeLists.txt -@@ -30,8 +30,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/container/CMakeLists.txt b/google/cloud/container/CMakeLists.txt -index 20a6c8b..dedca21 100644 ---- a/google/cloud/container/CMakeLists.txt -+++ b/google/cloud/container/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::container_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/containeranalysis/CMakeLists.txt b/google/cloud/containeranalysis/CMakeLists.txt -index 7548de3..e2486d2 100644 ---- a/google/cloud/containeranalysis/CMakeLists.txt -+++ b/google/cloud/containeranalysis/CMakeLists.txt -@@ -30,8 +30,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_EXTRA_INCLUDES - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/datacatalog/CMakeLists.txt b/google/cloud/datacatalog/CMakeLists.txt -index 7e80060..dd20ab2 100644 ---- a/google/cloud/datacatalog/CMakeLists.txt -+++ b/google/cloud/datacatalog/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::datacatalog_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/datamigration/CMakeLists.txt b/google/cloud/datamigration/CMakeLists.txt -index ee95f1a..1772e90 100644 ---- a/google/cloud/datamigration/CMakeLists.txt -+++ b/google/cloud/datamigration/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::datamigration_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/dataplex/CMakeLists.txt b/google/cloud/dataplex/CMakeLists.txt -index c83e390..079242e 100644 ---- a/google/cloud/dataplex/CMakeLists.txt -+++ b/google/cloud/dataplex/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dataplex_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/dataproc/CMakeLists.txt b/google/cloud/dataproc/CMakeLists.txt -index ed180ca..e8c5912 100644 ---- a/google/cloud/dataproc/CMakeLists.txt -+++ b/google/cloud/dataproc/CMakeLists.txt -@@ -32,8 +32,6 @@ find_package(absl CONFIG REQUIRED) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/datastream/CMakeLists.txt b/google/cloud/datastream/CMakeLists.txt -index 7ecfd1f..2a7c100 100644 ---- a/google/cloud/datastream/CMakeLists.txt -+++ b/google/cloud/datastream/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::datastream_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/debugger/CMakeLists.txt b/google/cloud/debugger/CMakeLists.txt -index 8c299f3..3fae60d 100644 ---- a/google/cloud/debugger/CMakeLists.txt -+++ b/google/cloud/debugger/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::debugger_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/deploy/CMakeLists.txt b/google/cloud/deploy/CMakeLists.txt -index 73c0d68..9181cb8 100644 ---- a/google/cloud/deploy/CMakeLists.txt -+++ b/google/cloud/deploy/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::deploy_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/dialogflow_cx/CMakeLists.txt b/google/cloud/dialogflow_cx/CMakeLists.txt -index 90c70e3..4aead59 100644 ---- a/google/cloud/dialogflow_cx/CMakeLists.txt -+++ b/google/cloud/dialogflow_cx/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dialogflow_cx_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/dialogflow_es/CMakeLists.txt b/google/cloud/dialogflow_es/CMakeLists.txt -index 0ddf345..fad8716 100644 ---- a/google/cloud/dialogflow_es/CMakeLists.txt -+++ b/google/cloud/dialogflow_es/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dialogflow_es_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/dlp/CMakeLists.txt b/google/cloud/dlp/CMakeLists.txt -index 67c6329..f6eaa27 100644 ---- a/google/cloud/dlp/CMakeLists.txt -+++ b/google/cloud/dlp/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::dlp_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/documentai/CMakeLists.txt b/google/cloud/documentai/CMakeLists.txt -index 00bc94b..42fd1e1 100644 ---- a/google/cloud/documentai/CMakeLists.txt -+++ b/google/cloud/documentai/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::documentai_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/edgecontainer/CMakeLists.txt b/google/cloud/edgecontainer/CMakeLists.txt -index 4cacb9a..08a2f2e 100644 ---- a/google/cloud/edgecontainer/CMakeLists.txt -+++ b/google/cloud/edgecontainer/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::edgecontainer_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/eventarc/CMakeLists.txt b/google/cloud/eventarc/CMakeLists.txt -index d5e2854..fe37f94 100644 ---- a/google/cloud/eventarc/CMakeLists.txt -+++ b/google/cloud/eventarc/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::eventarc_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/filestore/CMakeLists.txt b/google/cloud/filestore/CMakeLists.txt -index 1f5a0e8..0ae2d00 100644 ---- a/google/cloud/filestore/CMakeLists.txt -+++ b/google/cloud/filestore/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::filestore_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/functions/CMakeLists.txt b/google/cloud/functions/CMakeLists.txt -index ec9ebcd..50d9fc7 100644 ---- a/google/cloud/functions/CMakeLists.txt -+++ b/google/cloud/functions/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::functions_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/gameservices/CMakeLists.txt b/google/cloud/gameservices/CMakeLists.txt -index 30d81ff..0b9cf8c 100644 ---- a/google/cloud/gameservices/CMakeLists.txt -+++ b/google/cloud/gameservices/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::gameservices_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/gkehub/CMakeLists.txt b/google/cloud/gkehub/CMakeLists.txt -index 1747a18..d71c854 100644 ---- a/google/cloud/gkehub/CMakeLists.txt -+++ b/google/cloud/gkehub/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::gkehub_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/grafeas/CMakeLists.txt b/google/cloud/grafeas/CMakeLists.txt -index 2ed9350..33ba5fd 100644 ---- a/google/cloud/grafeas/CMakeLists.txt -+++ b/google/cloud/grafeas/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::grafeas_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/iap/CMakeLists.txt b/google/cloud/iap/CMakeLists.txt -index a22e9b0..4c78edb 100644 ---- a/google/cloud/iap/CMakeLists.txt -+++ b/google/cloud/iap/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::iap_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/ids/CMakeLists.txt b/google/cloud/ids/CMakeLists.txt -index 4724bf2..fc73ea3 100644 ---- a/google/cloud/ids/CMakeLists.txt -+++ b/google/cloud/ids/CMakeLists.txt -@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::ids_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/iot/CMakeLists.txt b/google/cloud/iot/CMakeLists.txt -index 3619b82..1874025 100644 ---- a/google/cloud/iot/CMakeLists.txt -+++ b/google/cloud/iot/CMakeLists.txt -@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::iot_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/kms/CMakeLists.txt b/google/cloud/kms/CMakeLists.txt -index 14a2ef3..59a3596 100644 ---- a/google/cloud/kms/CMakeLists.txt -+++ b/google/cloud/kms/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::kms_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/language/CMakeLists.txt b/google/cloud/language/CMakeLists.txt -index 123ef3c..add8dbc 100644 ---- a/google/cloud/language/CMakeLists.txt -+++ b/google/cloud/language/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::language_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/managedidentities/CMakeLists.txt b/google/cloud/managedidentities/CMakeLists.txt -index 674ce03..b5e4bfa 100644 ---- a/google/cloud/managedidentities/CMakeLists.txt -+++ b/google/cloud/managedidentities/CMakeLists.txt -@@ -31,8 +31,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::managedidentities_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/memcache/CMakeLists.txt b/google/cloud/memcache/CMakeLists.txt -index 8a0ad6b..2fafadc 100644 ---- a/google/cloud/memcache/CMakeLists.txt -+++ b/google/cloud/memcache/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::memcache_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/monitoring/CMakeLists.txt b/google/cloud/monitoring/CMakeLists.txt -index e021974..346a1a6 100644 ---- a/google/cloud/monitoring/CMakeLists.txt -+++ b/google/cloud/monitoring/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::monitoring_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/networkconnectivity/CMakeLists.txt b/google/cloud/networkconnectivity/CMakeLists.txt -index 4ca5e45..ffe44d2 100644 ---- a/google/cloud/networkconnectivity/CMakeLists.txt -+++ b/google/cloud/networkconnectivity/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::networkconnectivity_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/networkmanagement/CMakeLists.txt b/google/cloud/networkmanagement/CMakeLists.txt -index 3fe12a5..d94db72 100644 ---- a/google/cloud/networkmanagement/CMakeLists.txt -+++ b/google/cloud/networkmanagement/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::networkmanagement_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/notebooks/CMakeLists.txt b/google/cloud/notebooks/CMakeLists.txt -index 4cc76ea..2508e4b 100644 ---- a/google/cloud/notebooks/CMakeLists.txt -+++ b/google/cloud/notebooks/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::notebooks_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/optimization/CMakeLists.txt b/google/cloud/optimization/CMakeLists.txt -index 474c28a..e37eb3f 100644 ---- a/google/cloud/optimization/CMakeLists.txt -+++ b/google/cloud/optimization/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::optimization_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/orgpolicy/CMakeLists.txt b/google/cloud/orgpolicy/CMakeLists.txt -index b6935e6..8fe4286 100644 ---- a/google/cloud/orgpolicy/CMakeLists.txt -+++ b/google/cloud/orgpolicy/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::orgpolicy_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/osconfig/CMakeLists.txt b/google/cloud/osconfig/CMakeLists.txt -index 7b5dfe5..19f88a1 100644 ---- a/google/cloud/osconfig/CMakeLists.txt -+++ b/google/cloud/osconfig/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::osconfig_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/oslogin/CMakeLists.txt b/google/cloud/oslogin/CMakeLists.txt -index 1092f6f..87410cf 100644 ---- a/google/cloud/oslogin/CMakeLists.txt -+++ b/google/cloud/oslogin/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::oslogin_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/policytroubleshooter/CMakeLists.txt b/google/cloud/policytroubleshooter/CMakeLists.txt -index aa934d5..9f0bb42 100644 ---- a/google/cloud/policytroubleshooter/CMakeLists.txt -+++ b/google/cloud/policytroubleshooter/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::policytroubleshooter_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/privateca/CMakeLists.txt b/google/cloud/privateca/CMakeLists.txt -index 5ba62ac..b47750d 100644 ---- a/google/cloud/privateca/CMakeLists.txt -+++ b/google/cloud/privateca/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::privateca_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/profiler/CMakeLists.txt b/google/cloud/profiler/CMakeLists.txt -index b1388dc..d2fe3b2 100644 ---- a/google/cloud/profiler/CMakeLists.txt -+++ b/google/cloud/profiler/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::profiler_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/pubsublite/CMakeLists.txt b/google/cloud/pubsublite/CMakeLists.txt -index 12b2b33..2ec80d0 100644 ---- a/google/cloud/pubsublite/CMakeLists.txt -+++ b/google/cloud/pubsublite/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::pubsublite_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/recommender/CMakeLists.txt b/google/cloud/recommender/CMakeLists.txt -index b44cd96..26fdfb5 100644 ---- a/google/cloud/recommender/CMakeLists.txt -+++ b/google/cloud/recommender/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::recommender_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/redis/CMakeLists.txt b/google/cloud/redis/CMakeLists.txt -index 9387bbd..c3bbd0e 100644 ---- a/google/cloud/redis/CMakeLists.txt -+++ b/google/cloud/redis/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::redis_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/resourcemanager/CMakeLists.txt b/google/cloud/resourcemanager/CMakeLists.txt -index d445a8f..2689c33 100644 ---- a/google/cloud/resourcemanager/CMakeLists.txt -+++ b/google/cloud/resourcemanager/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::resourcemanager_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/resourcesettings/CMakeLists.txt b/google/cloud/resourcesettings/CMakeLists.txt -index afac58e..c0b4359 100644 ---- a/google/cloud/resourcesettings/CMakeLists.txt -+++ b/google/cloud/resourcesettings/CMakeLists.txt -@@ -32,8 +32,6 @@ find_package(absl CONFIG REQUIRED) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/retail/CMakeLists.txt b/google/cloud/retail/CMakeLists.txt -index cbda24a..da3b066 100644 ---- a/google/cloud/retail/CMakeLists.txt -+++ b/google/cloud/retail/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::retail_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/run/CMakeLists.txt b/google/cloud/run/CMakeLists.txt -index f771798..7906713 100644 ---- a/google/cloud/run/CMakeLists.txt -+++ b/google/cloud/run/CMakeLists.txt -@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::run_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/scheduler/CMakeLists.txt b/google/cloud/scheduler/CMakeLists.txt -index d4e2310..eeaae20 100644 ---- a/google/cloud/scheduler/CMakeLists.txt -+++ b/google/cloud/scheduler/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::scheduler_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/secretmanager/CMakeLists.txt b/google/cloud/secretmanager/CMakeLists.txt -index f33f9bf..949f929 100644 ---- a/google/cloud/secretmanager/CMakeLists.txt -+++ b/google/cloud/secretmanager/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::secretmanager_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/securitycenter/CMakeLists.txt b/google/cloud/securitycenter/CMakeLists.txt -index e482223..bad25ac 100644 ---- a/google/cloud/securitycenter/CMakeLists.txt -+++ b/google/cloud/securitycenter/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::securitycenter_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/servicecontrol/CMakeLists.txt b/google/cloud/servicecontrol/CMakeLists.txt -index b2f6362..c1c55f3 100644 ---- a/google/cloud/servicecontrol/CMakeLists.txt -+++ b/google/cloud/servicecontrol/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::servicecontrol_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/servicedirectory/CMakeLists.txt b/google/cloud/servicedirectory/CMakeLists.txt -index a66c216..527201a 100644 ---- a/google/cloud/servicedirectory/CMakeLists.txt -+++ b/google/cloud/servicedirectory/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::servicedirectory_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/servicemanagement/CMakeLists.txt b/google/cloud/servicemanagement/CMakeLists.txt -index 96b1a0b..c9981ae 100644 ---- a/google/cloud/servicemanagement/CMakeLists.txt -+++ b/google/cloud/servicemanagement/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::servicemanagement_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/serviceusage/CMakeLists.txt b/google/cloud/serviceusage/CMakeLists.txt -index f9b199a..fddb936 100644 ---- a/google/cloud/serviceusage/CMakeLists.txt -+++ b/google/cloud/serviceusage/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::serviceusage_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/shell/CMakeLists.txt b/google/cloud/shell/CMakeLists.txt -index 178b8bc..a7181f6 100644 ---- a/google/cloud/shell/CMakeLists.txt -+++ b/google/cloud/shell/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::shell_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/speech/CMakeLists.txt b/google/cloud/speech/CMakeLists.txt -index 4cc2e0a..3f52437 100644 ---- a/google/cloud/speech/CMakeLists.txt -+++ b/google/cloud/speech/CMakeLists.txt -@@ -39,8 +39,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::speech_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/storagetransfer/CMakeLists.txt b/google/cloud/storagetransfer/CMakeLists.txt -index fd8a5ae..163e9b4 100644 ---- a/google/cloud/storagetransfer/CMakeLists.txt -+++ b/google/cloud/storagetransfer/CMakeLists.txt -@@ -38,8 +38,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::storagetransfer_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/talent/CMakeLists.txt b/google/cloud/talent/CMakeLists.txt -index 574023e..405dc48 100644 ---- a/google/cloud/talent/CMakeLists.txt -+++ b/google/cloud/talent/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::talent_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/tasks/CMakeLists.txt b/google/cloud/tasks/CMakeLists.txt -index 3b5678e..026f9b1 100644 ---- a/google/cloud/tasks/CMakeLists.txt -+++ b/google/cloud/tasks/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::tasks_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/texttospeech/CMakeLists.txt b/google/cloud/texttospeech/CMakeLists.txt -index 0fdc54a..840e8d4 100644 ---- a/google/cloud/texttospeech/CMakeLists.txt -+++ b/google/cloud/texttospeech/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::texttospeech_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/tpu/CMakeLists.txt b/google/cloud/tpu/CMakeLists.txt -index 2666b6b..cdaf519 100644 ---- a/google/cloud/tpu/CMakeLists.txt -+++ b/google/cloud/tpu/CMakeLists.txt -@@ -27,8 +27,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::tpu_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/trace/CMakeLists.txt b/google/cloud/trace/CMakeLists.txt -index 99a04f5..80d4c1b 100644 ---- a/google/cloud/trace/CMakeLists.txt -+++ b/google/cloud/trace/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::trace_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/translate/CMakeLists.txt b/google/cloud/translate/CMakeLists.txt -index f8a0394..6a44718 100644 ---- a/google/cloud/translate/CMakeLists.txt -+++ b/google/cloud/translate/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::translate_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/video/CMakeLists.txt b/google/cloud/video/CMakeLists.txt -index b1b2628..df98ae4 100644 ---- a/google/cloud/video/CMakeLists.txt -+++ b/google/cloud/video/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::video_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/videointelligence/CMakeLists.txt b/google/cloud/videointelligence/CMakeLists.txt -index 1963d27..4638ddc 100644 ---- a/google/cloud/videointelligence/CMakeLists.txt -+++ b/google/cloud/videointelligence/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::videointelligence_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/vision/CMakeLists.txt b/google/cloud/vision/CMakeLists.txt -index b23e737..004b803 100644 ---- a/google/cloud/vision/CMakeLists.txt -+++ b/google/cloud/vision/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vision_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/vmmigration/CMakeLists.txt b/google/cloud/vmmigration/CMakeLists.txt -index aa88701..e799a3b 100644 ---- a/google/cloud/vmmigration/CMakeLists.txt -+++ b/google/cloud/vmmigration/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vmmigration_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/vmwareengine/CMakeLists.txt b/google/cloud/vmwareengine/CMakeLists.txt -index 55adb2f..79c0f53 100644 ---- a/google/cloud/vmwareengine/CMakeLists.txt -+++ b/google/cloud/vmwareengine/CMakeLists.txt -@@ -38,8 +38,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vmwareengine_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/vpcaccess/CMakeLists.txt b/google/cloud/vpcaccess/CMakeLists.txt -index 5ce47b7..dc7454e 100644 ---- a/google/cloud/vpcaccess/CMakeLists.txt -+++ b/google/cloud/vpcaccess/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::vpcaccess_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/webrisk/CMakeLists.txt b/google/cloud/webrisk/CMakeLists.txt -index 5be0ce7..5d3123f 100644 ---- a/google/cloud/webrisk/CMakeLists.txt -+++ b/google/cloud/webrisk/CMakeLists.txt -@@ -28,8 +28,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::webrisk_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/websecurityscanner/CMakeLists.txt b/google/cloud/websecurityscanner/CMakeLists.txt -index e21608e..c95230e 100644 ---- a/google/cloud/websecurityscanner/CMakeLists.txt -+++ b/google/cloud/websecurityscanner/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::websecurityscanner_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -diff --git a/google/cloud/workflows/CMakeLists.txt b/google/cloud/workflows/CMakeLists.txt -index 76c239a..aef6492 100644 ---- a/google/cloud/workflows/CMakeLists.txt -+++ b/google/cloud/workflows/CMakeLists.txt -@@ -29,8 +29,6 @@ set(GOOGLE_CLOUD_CPP_DOXYGEN_DEPS google-cloud-cpp::workflows_protos) - - include(GoogleCloudCppCommon) - --set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) - if (PROTO_INCLUDE_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch index 6800c78c11f3e..4099fd00cae2f 100644 --- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch @@ -1,5 +1,5 @@ diff --git a/cmake/CompileProtos.cmake b/cmake/CompileProtos.cmake -index 4eb5ea3..9de47cd 100644 +index 366edba..74c27bf 100644 --- a/cmake/CompileProtos.cmake +++ b/cmake/CompileProtos.cmake @@ -315,6 +315,10 @@ include(GNUInstallDirs) @@ -25,10 +25,10 @@ index 4eb5ea3..9de47cd 100644 foreach (header ${target_protos}) # Skip anything that is not a header file. diff --git a/google/cloud/dialogflow_es/CMakeLists.txt b/google/cloud/dialogflow_es/CMakeLists.txt -index fad8716..cc44723 100644 +index 0ddf345..2a00f2d 100644 --- a/google/cloud/dialogflow_es/CMakeLists.txt +++ b/google/cloud/dialogflow_es/CMakeLists.txt -@@ -35,7 +35,12 @@ endif () +@@ -37,7 +37,12 @@ endif () include(CompileProtos) add_library(google_cloud_cpp_dialogflow_es_protos INTERFACE) diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch index 875dd10498af2..f021f480b2dd1 100644 --- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch @@ -39,10 +39,10 @@ index 0cb7a9a..d9016a0 100644 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 28bf016..c281ce8 100644 +index ad2bd4b..cd1eb3a 100644 --- a/external/googleapis/CMakeLists.txt +++ b/external/googleapis/CMakeLists.txt -@@ -103,8 +103,6 @@ if (PROTO_INCLUDE_DIR) +@@ -147,8 +147,6 @@ if (PROTO_INCLUDE_DIR) list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") endif () diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch new file mode 100644 index 0000000000000..3bae252294281 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch @@ -0,0 +1,108 @@ +diff --git a/google/cloud/speech/CMakeLists.txt b/google/cloud/speech/CMakeLists.txt +index 4cc2e0a..59546c7 100644 +--- a/google/cloud/speech/CMakeLists.txt ++++ b/google/cloud/speech/CMakeLists.txt +@@ -46,19 +46,18 @@ if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") + endif () + +-include(CompileProtos) +-google_cloud_cpp_load_protolist( +- proto_list +- "${PROJECT_SOURCE_DIR}/external/googleapis/protolists/speech.list") +-google_cloud_cpp_load_protodeps( +- proto_deps +- "${PROJECT_SOURCE_DIR}/external/googleapis/protodeps/speech.deps") +-google_cloud_cpp_grpcpp_library( +- google_cloud_cpp_speech_protos # cmake-format: sort +- ${proto_list} PROTO_PATH_DIRECTORIES "${EXTERNAL_GOOGLEAPIS_SOURCE}" +- "${PROTO_INCLUDE_DIR}") +-external_googleapis_set_version_and_alias(speech_protos) +-target_link_libraries(google_cloud_cpp_speech_protos PUBLIC ${proto_deps}) ++add_library(google_cloud_cpp_speech_protos INTERFACE) ++target_link_libraries(google_cloud_cpp_speech_protos ++ INTERFACE google-cloud-cpp::cloud_speech_protos) ++set_target_properties( ++ google_cloud_cpp_speech_protos ++ PROPERTIES EXPORT_NAME google-cloud-cpp::speech_protos ++ VERSION "${PROJECT_VERSION}" ++ SOVERSION "${PROJECT_VERSION_MAJOR}") ++target_compile_options(google_cloud_cpp_speech_protos ++ INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++add_library(google-cloud-cpp::speech_protos ALIAS ++ google_cloud_cpp_speech_protos) + + file( + GLOB source_files +diff --git a/google/cloud/texttospeech/CMakeLists.txt b/google/cloud/texttospeech/CMakeLists.txt +index 0fdc54a..c43aa51 100644 +--- a/google/cloud/texttospeech/CMakeLists.txt ++++ b/google/cloud/texttospeech/CMakeLists.txt +@@ -36,19 +36,18 @@ if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") + endif () + +-include(CompileProtos) +-google_cloud_cpp_load_protolist( +- proto_list +- "${PROJECT_SOURCE_DIR}/external/googleapis/protolists/texttospeech.list") +-google_cloud_cpp_load_protodeps( +- proto_deps +- "${PROJECT_SOURCE_DIR}/external/googleapis/protodeps/texttospeech.deps") +-google_cloud_cpp_grpcpp_library( +- google_cloud_cpp_texttospeech_protos # cmake-format: sort +- ${proto_list} PROTO_PATH_DIRECTORIES "${EXTERNAL_GOOGLEAPIS_SOURCE}" +- "${PROTO_INCLUDE_DIR}") +-external_googleapis_set_version_and_alias(texttospeech_protos) +-target_link_libraries(google_cloud_cpp_texttospeech_protos PUBLIC ${proto_deps}) ++add_library(google_cloud_cpp_texttospeech_protos INTERFACE) ++target_link_libraries(google_cloud_cpp_texttospeech_protos ++ INTERFACE google-cloud-cpp::cloud_texttospeech_protos) ++set_target_properties( ++ google_cloud_cpp_texttospeech_protos ++ PROPERTIES EXPORT_NAME google-cloud-cpp::texttospeech_protos ++ VERSION "${PROJECT_VERSION}" ++ SOVERSION "${PROJECT_VERSION_MAJOR}") ++target_compile_options(google_cloud_cpp_texttospeech_protos ++ INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++add_library(google-cloud-cpp::texttospeech_protos ALIAS ++ google_cloud_cpp_texttospeech_protos) + + file( + GLOB source_files +diff --git a/google/cloud/trace/CMakeLists.txt b/google/cloud/trace/CMakeLists.txt +index 99a04f5..0afc230 100644 +--- a/google/cloud/trace/CMakeLists.txt ++++ b/google/cloud/trace/CMakeLists.txt +@@ -35,18 +35,19 @@ if (PROTO_INCLUDE_DIR) + list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") + endif () + +-include(CompileProtos) +-google_cloud_cpp_load_protolist( +- proto_list +- "${PROJECT_SOURCE_DIR}/external/googleapis/protolists/trace.list") +-google_cloud_cpp_load_protodeps( +- proto_deps "${PROJECT_SOURCE_DIR}/external/googleapis/protodeps/trace.deps") +-google_cloud_cpp_grpcpp_library( +- google_cloud_cpp_trace_protos # cmake-format: sort +- ${proto_list} PROTO_PATH_DIRECTORIES "${EXTERNAL_GOOGLEAPIS_SOURCE}" +- "${PROTO_INCLUDE_DIR}") +-external_googleapis_set_version_and_alias(trace_protos) +-target_link_libraries(google_cloud_cpp_trace_protos PUBLIC ${proto_deps}) ++add_library(google_cloud_cpp_trace_protos INTERFACE) ++target_link_libraries( ++ google_cloud_cpp_trace_protos ++ INTERFACE google-cloud-cpp::devtools_cloudtrace_v2_trace_protos ++ google-cloud-cpp::devtools_cloudtrace_v2_tracing_protos) ++set_target_properties( ++ google_cloud_cpp_trace_protos ++ PROPERTIES EXPORT_NAME google-cloud-cpp::trace_protos ++ VERSION "${PROJECT_VERSION}" ++ SOVERSION "${PROJECT_VERSION_MAJOR}") ++target_compile_options(google_cloud_cpp_trace_protos ++ INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) ++add_library(google-cloud-cpp::trace_protos ALIAS google_cloud_cpp_trace_protos) + + file( + GLOB source_files diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch new file mode 100644 index 0000000000000..4ecbc354da0bd --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch @@ -0,0 +1,51 @@ +diff --git a/google/cloud/speech/CMakeLists.txt b/google/cloud/speech/CMakeLists.txt +index 59546c7..51bc0b6 100644 +--- a/google/cloud/speech/CMakeLists.txt ++++ b/google/cloud/speech/CMakeLists.txt +@@ -49,11 +49,8 @@ endif () + add_library(google_cloud_cpp_speech_protos INTERFACE) + target_link_libraries(google_cloud_cpp_speech_protos + INTERFACE google-cloud-cpp::cloud_speech_protos) +-set_target_properties( +- google_cloud_cpp_speech_protos +- PROPERTIES EXPORT_NAME google-cloud-cpp::speech_protos +- VERSION "${PROJECT_VERSION}" +- SOVERSION "${PROJECT_VERSION_MAJOR}") ++set_target_properties(google_cloud_cpp_speech_protos ++ PROPERTIES EXPORT_NAME google-cloud-cpp::speech_protos) + target_compile_options(google_cloud_cpp_speech_protos + INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) + add_library(google-cloud-cpp::speech_protos ALIAS +diff --git a/google/cloud/texttospeech/CMakeLists.txt b/google/cloud/texttospeech/CMakeLists.txt +index c43aa51..3041dac 100644 +--- a/google/cloud/texttospeech/CMakeLists.txt ++++ b/google/cloud/texttospeech/CMakeLists.txt +@@ -41,9 +41,7 @@ target_link_libraries(google_cloud_cpp_texttospeech_protos + INTERFACE google-cloud-cpp::cloud_texttospeech_protos) + set_target_properties( + google_cloud_cpp_texttospeech_protos +- PROPERTIES EXPORT_NAME google-cloud-cpp::texttospeech_protos +- VERSION "${PROJECT_VERSION}" +- SOVERSION "${PROJECT_VERSION_MAJOR}") ++ PROPERTIES EXPORT_NAME google-cloud-cpp::texttospeech_protos) + target_compile_options(google_cloud_cpp_texttospeech_protos + INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) + add_library(google-cloud-cpp::texttospeech_protos ALIAS +diff --git a/google/cloud/trace/CMakeLists.txt b/google/cloud/trace/CMakeLists.txt +index 0afc230..828603d 100644 +--- a/google/cloud/trace/CMakeLists.txt ++++ b/google/cloud/trace/CMakeLists.txt +@@ -40,11 +40,8 @@ target_link_libraries( + google_cloud_cpp_trace_protos + INTERFACE google-cloud-cpp::devtools_cloudtrace_v2_trace_protos + google-cloud-cpp::devtools_cloudtrace_v2_tracing_protos) +-set_target_properties( +- google_cloud_cpp_trace_protos +- PROPERTIES EXPORT_NAME google-cloud-cpp::trace_protos +- VERSION "${PROJECT_VERSION}" +- SOVERSION "${PROJECT_VERSION_MAJOR}") ++set_target_properties(google_cloud_cpp_trace_protos ++ PROPERTIES EXPORT_NAME google-cloud-cpp::trace_protos) + target_compile_options(google_cloud_cpp_trace_protos + INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG}) + add_library(google-cloud-cpp::trace_protos ALIAS google_cloud_cpp_trace_protos) From e1243272ec4e069a7f9feeb20e6195a37f7c9bc2 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Tue, 20 Jun 2023 15:23:34 +0200 Subject: [PATCH 0578/4087] (#17858) [cgal] compatibility with Conan 2.0, and cgal/5.5.2 * [cgal] compatibility with Conan 2.0, and cgal/5.5.2 * cleanup for the linter * Fix linter errors for Conan 1.0 * Use patch directly to avoid `strip` in conandata That is for compatibility with Conan 1.x. * remove version before 5.3 (header only) * backport the patch * remove CGAL CMake Config files * Fix the licenses/ directory * fix linter error * reuse patches with versions, for Conan 1.x * fix a final linter warning * handle that CGAL requires C++14 * CGAL is a header-only library * add back a CMake build module ... to backport part of CGAL CMake logic for CGAL::CGAL * Update to Boost 1.82 Co-authored-by: Uilian Ries * place the Conan specific CMake module in lib/cmake/CGAL That will avoid a warning: ``` post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod/BuildSingleReference/.conan/data/cgal/5.5/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/lib/cmake/CGAL', '/home/conan/w/prod/BuildSingleReference/.conan/data/cgal/5.5/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/'} post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan-official-cgal-variables.cmake ``` * Add a comment about CGAL_setup_CGAL_flags --------- Co-authored-by: Uilian Ries --- recipes/cgal/all/conandata.yml | 33 +++- recipes/cgal/all/conanfile.py | 179 ++++++++++++++---- .../cgal/all/patches/0001-fix-for-conan.patch | 22 +++ recipes/cgal/all/test_package/CMakeLists.txt | 11 +- recipes/cgal/all/test_package/conanfile.py | 20 +- recipes/cgal/config.yml | 8 +- 6 files changed, 210 insertions(+), 63 deletions(-) create mode 100644 recipes/cgal/all/patches/0001-fix-for-conan.patch diff --git a/recipes/cgal/all/conandata.yml b/recipes/cgal/all/conandata.yml index a9e86a3361343..243b9320511a5 100644 --- a/recipes/cgal/all/conandata.yml +++ b/recipes/cgal/all/conandata.yml @@ -1,13 +1,4 @@ sources: - "5.0.4": - sha256: e82096c03ccb31200f02a5b9bd0a5e9ea07840351987dca55aae99a8d5823f59 - url: https://github.com/CGAL/cgal/releases/download/v5.0.4/CGAL-5.0.4.tar.xz - "5.1.5": - sha256: b1bb8a6053aa12baa5981aef20a542cd3e617a86826963fb8fb6852b1a0da97c - url: https://github.com/CGAL/cgal/releases/download/v5.1.5/CGAL-5.1.5.tar.xz - "5.2.4": - sha256: 7f792c59d067e41a073bcee5d615f4276f9ccd2b5e7d359093cc36149fda14c3 - url: https://github.com/CGAL/cgal/releases/download/v5.2.4/CGAL-5.2.4.tar.xz "5.3.2": sha256: af917dbc550388ebcb206f774e610fbdb914d95a4b2932fa952279129103852b url: https://github.com/CGAL/cgal/releases/download/v5.3.2/CGAL-5.3.2.tar.xz @@ -17,3 +8,27 @@ sources: "5.5.1": sha256: 091630def028facdcaf00eb5b68ad79eddac1b855cca6e87eef18a031566edfc url: https://github.com/CGAL/cgal/releases/download/v5.5.1/CGAL-5.5.1.tar.xz + "5.5.2": + sha256: b2b05d5616ecc69facdc24417cce0b04fb4321491d107db45103add520e3d8c3 + url: https://github.com/CGAL/cgal/releases/download/v5.5.2/CGAL-5.5.2.tar.xz +patches: + "5.3.2": + - patch_file: "patches/0001-fix-for-conan.patch" + patch_type: bugfix + patch_source: https://github.com/CGAL/cgal/pull/7502 + patch_description: Fix Eigen3 support in CGAL + "5.5": + - patch_file: "patches/0001-fix-for-conan.patch" + patch_type: bugfix + patch_source: https://github.com/CGAL/cgal/pull/7502 + patch_description: Fix Eigen3 support in CGAL + "5.5.1": + - patch_file: "patches/0001-fix-for-conan.patch" + patch_type: bugfix + patch_source: https://github.com/CGAL/cgal/pull/7502 + patch_description: Fix Eigen3 support in CGAL + "5.5.2": + - patch_file: "patches/0001-fix-for-conan.patch" + patch_type: bugfix + patch_source: https://github.com/CGAL/cgal/pull/7502 + patch_description: Fix Eigen3 support in CGAL diff --git a/recipes/cgal/all/conanfile.py b/recipes/cgal/all/conanfile.py index 47cc7c6fa95ce..3a63d4857c167 100644 --- a/recipes/cgal/all/conanfile.py +++ b/recipes/cgal/all/conanfile.py @@ -1,8 +1,11 @@ import os +import textwrap from conan import ConanFile -from conan.tools import files -from conan.tools import scm -from conans import CMake +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import get, replace_in_file, rmdir, rm, copy, save, export_conandata_patches, patch +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.50.0" @@ -14,63 +17,167 @@ class CgalConan(ConanFile): description = "C++ library that provides easy access to efficient and reliable algorithms"\ " in computational geometry." topics = ("cgal", "geometry", "algorithms") + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - exports_sources = "CMakeLists.txt" + generators = "CMakeDeps" short_paths = True - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "14" @property - def _build_subfolder(self): - return "build_subfolder" + def _minimum_compilers_version(self): + return { + "Visual Studio": "15", + "msvc": "191", + "gcc": "5", + "clang": "5", + "apple-clang": "5.1", + } - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["CGAL_HEADER_ONLY"] = "TRUE" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def export_sources(self): + export_conandata_patches(self) - def _patch_sources(self): - if scm.Version(self.version) < "5.3": - files.replace_in_file(self, os.path.join(self._source_subfolder, "CMakeLists.txt"), - "CMAKE_SOURCE_DIR", "CMAKE_CURRENT_SOURCE_DIR") - else: - files.replace_in_file(self, os.path.join(self._source_subfolder, "CMakeLists.txt"), - "if(NOT PROJECT_NAME)", "if(TRUE)") + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.75.0") - self.requires("eigen/3.3.9") + self.requires("boost/1.82.0") + self.requires("eigen/3.4.0") self.requires("mpfr/4.1.0") 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._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", + ) + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "if(NOT PROJECT_NAME)", "if(1)", strict=False) + for it in self.conan_data.get("patches", {}).get(self.version, []): + patch(self, **it, strip=2) + 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=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - files.rmdir(self, os.path.join(self.package_folder, "share")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - files.rmdir(self, os.path.join(self.package_folder, "bin")) + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "bin")) + rm(self, "*Config*.cmake", os.path.join(self.package_folder, "lib", "cmake", "CGAL")) + rm(self, "Find*.cmake", os.path.join(self.package_folder, "lib", "cmake", "CGAL")) + self._create_cmake_module_variables( + os.path.join(self.package_folder, self._cmake_module_file_rel_path) + ) + + def _create_cmake_module_variables(self, module_file): + ''' + CGAL requires C++14, and specific compilers flags to enable the possibility to set FPU rounding modes. + This CMake module, from the upsream CGAL pull-request https://github.com/CGAL/cgal/pull/7512, takes + care of all the known compilers CGAL has ever supported. + ''' + content = textwrap.dedent('''\ +function(CGAL_setup_CGAL_flags target) + # CGAL now requires C++14. `decltype(auto)` is used as a marker of + # C++14. + target_compile_features(${target} INTERFACE cxx_decltype_auto) + + if(MSVC) + target_compile_options(${target} INTERFACE + "-D_SCL_SECURE_NO_DEPRECATE;-D_SCL_SECURE_NO_WARNINGS") + if(CMAKE_VERSION VERSION_LESS 3.11) + target_compile_options(${target} INTERFACE + /fp:strict + /fp:except- + /wd4503 # Suppress warnings C4503 about "decorated name length exceeded" + /bigobj # Use /bigobj by default + ) + else() + # The MSVC generator supports `$` since CMake 3.11. + target_compile_options(${target} INTERFACE + $<$:/fp:strict> + $<$:/fp:except-> + $<$:/wd4503> # Suppress warnings C4503 about "decorated name length exceeded" + $<$:/bigobj> # Use /bigobj by default + ) + endif() + elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang") + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.3) + message(STATUS "Apple Clang version ${CMAKE_CXX_COMPILER_VERSION} compiler detected") + message(STATUS "Boost MP is turned off for all Apple Clang versions below 11.0.3!") + target_compile_options(${target} INTERFACE "-DCGAL_DO_NOT_USE_BOOST_MP") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") + message( STATUS "Using Intel Compiler. Adding -fp-model strict" ) + if(WIN32) + target_compile_options(${target} INTERFACE "/fp:strict") + else() + target_compile_options(${target} INTERFACE "-fp-model" "strict") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "SunPro") + message( STATUS "Using SunPro compiler, using STLPort 4." ) + target_compile_options(${target} INTERFACE + "-features=extensions;-library=stlport4;-D_GNU_SOURCE") + target_link_libraries(${target} INTERFACE "-library=stlport4") + elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + if ( RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE ) + target_compile_options(${target} INTERFACE "-Wall") + endif() + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3) + message( STATUS "Using gcc version 4 or later. Adding -frounding-math" ) + if(CMAKE_VERSION VERSION_LESS 3.3) + target_compile_options(${target} INTERFACE "-frounding-math") + else() + target_compile_options(${target} INTERFACE "$<$:-frounding-math>") + endif() + endif() + if ( "${GCC_VERSION}" MATCHES "^4.2" ) + message( STATUS "Using gcc version 4.2. Adding -fno-strict-aliasing" ) + target_compile_options(${target} INTERFACE "-fno-strict-aliasing" ) + endif() + if ( "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "alpha" ) + message( STATUS "Using gcc on alpha. Adding -mieee -mfp-rounding-mode=d" ) + target_compile_options(${target} INTERFACE "-mieee" "-mfp-rounding-mode=d" ) + endif() + endif() +endfunction() + +CGAL_setup_CGAL_flags(CGAL::CGAL) +''') + save(self, module_file, content) + + @property + def _cmake_module_file_rel_path(self): + return os.path.join("lib", "cmake", "CGAL", f"conan-official-{self.name}-variables.cmake") + + @property + def _module_subfolder(self): + return os.path.join("lib", "cmake", "CGAL") def package_info(self): - self.cpp_info.names["cmake_find_package"] = "CGAL" - self.cpp_info.names["cmake_find_package_multi"] = "CGAL" if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - self.cpp_info.defines.append("CGAL_HEADER_ONLY=1") + self.cpp_info.builddirs.append(self._module_subfolder) + self.cpp_info.set_property("cmake_find_package", "CGAL") + self.cpp_info.set_property("cmake_target_name", "CGAL::CGAL") + self.cpp_info.set_property("cmake_build_modules", [self._cmake_module_file_rel_path]) diff --git a/recipes/cgal/all/patches/0001-fix-for-conan.patch b/recipes/cgal/all/patches/0001-fix-for-conan.patch new file mode 100644 index 0000000000000..9f5f7328fbcd1 --- /dev/null +++ b/recipes/cgal/all/patches/0001-fix-for-conan.patch @@ -0,0 +1,22 @@ +diff --git a/Installation/cmake/modules/CGAL_Eigen3_support.cmake b/Installation/cmake/modules/CGAL_Eigen3_support.cmake +index cc0df0fad10..bfcf56c7c2f 100644 +--- a/Installation/cmake/modules/CGAL_Eigen3_support.cmake ++++ b/Installation/cmake/modules/CGAL_Eigen3_support.cmake +@@ -1,9 +1,14 @@ +-if(EIGEN3_FOUND AND NOT TARGET CGAL::Eigen3_support) ++if((EIGEN3_FOUND OR Eigen3_FOUND) AND NOT TARGET CGAL::Eigen3_support) + if(NOT TARGET Threads::Threads) + find_package(Threads REQUIRED) + endif() + add_library(CGAL::Eigen3_support INTERFACE IMPORTED) + set_target_properties(CGAL::Eigen3_support PROPERTIES +- INTERFACE_COMPILE_DEFINITIONS "CGAL_EIGEN3_ENABLED" +- INTERFACE_INCLUDE_DIRECTORIES "${EIGEN3_INCLUDE_DIR}") ++ INTERFACE_COMPILE_DEFINITIONS "CGAL_EIGEN3_ENABLED") ++ if(TARGET Eigen3::Eigen) ++ target_link_libraries(CGAL::Eigen3_support INTERFACE Eigen3::Eigen) ++ else() ++ set_target_properties(CGAL::Eigen3_support PROPERTIES ++ INTERFACE_INCLUDE_DIRECTORIES "${EIGEN3_INCLUDE_DIR}") ++ endif() + endif() diff --git a/recipes/cgal/all/test_package/CMakeLists.txt b/recipes/cgal/all/test_package/CMakeLists.txt index c5080a4f875bc..f704ccdcb3f0e 100644 --- a/recipes/cgal/all/test_package/CMakeLists.txt +++ b/recipes/cgal/all/test_package/CMakeLists.txt @@ -1,9 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.10) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(CGAL REQUIRED) +find_package(Eigen3 REQUIRED) +include(CGAL_Eigen3_support) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) +target_link_libraries(${PROJECT_NAME} PRIVATE CGAL::CGAL) +target_link_libraries(${PROJECT_NAME} PRIVATE CGAL::Eigen3_support) diff --git a/recipes/cgal/all/test_package/conanfile.py b/recipes/cgal/all/test_package/conanfile.py index 2b959f9f04238..539dd819448cb 100644 --- a/recipes/cgal/all/test_package/conanfile.py +++ b/recipes/cgal/all/test_package/conanfile.py @@ -1,20 +1,26 @@ import os from conan import ConanFile -from conan.tools import build -from conans import CMake - +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires("eigen/3.4.0") + 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 not build.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/cgal/config.yml b/recipes/cgal/config.yml index 72209e170658c..48232844708f0 100644 --- a/recipes/cgal/config.yml +++ b/recipes/cgal/config.yml @@ -1,13 +1,9 @@ versions: - "5.0.4": - folder: all - "5.1.5": - folder: all - "5.2.4": - folder: all "5.3.2": folder: all "5.5": folder: all "5.5.1": folder: all + "5.5.2": + folder: all From 281d74103f935c5ad25a6fcd476d2334b63ae858 Mon Sep 17 00:00:00 2001 From: Beartama <8091245+uyha@users.noreply.github.com> Date: Tue, 20 Jun 2023 17:01:53 +0300 Subject: [PATCH 0579/4087] (#17981) cppzmq: add version 4.10.0 --- recipes/cppzmq/all/conandata.yml | 3 +++ recipes/cppzmq/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cppzmq/all/conandata.yml b/recipes/cppzmq/all/conandata.yml index 263917af47c65..4bfaa1bc9f316 100644 --- a/recipes/cppzmq/all/conandata.yml +++ b/recipes/cppzmq/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.10.0": + url: "https://github.com/zeromq/cppzmq/archive/refs/tags/v4.10.0.tar.gz" + sha256: "c81c81bba8a7644c84932225f018b5088743a22999c6d82a2b5f5cd1e6942b74" "4.9.0": url: "https://github.com/zeromq/cppzmq/archive/v4.9.0.tar.gz" sha256: "3fdf5b100206953f674c94d40599bdb3ea255244dcc42fab0d75855ee3645581" diff --git a/recipes/cppzmq/config.yml b/recipes/cppzmq/config.yml index a52b8593d6634..e5b938c02e62a 100644 --- a/recipes/cppzmq/config.yml +++ b/recipes/cppzmq/config.yml @@ -1,4 +1,6 @@ versions: + "4.10.0": + folder: all "4.9.0": folder: all "4.8.1": From 895cf9f84a0c4dbcb88ddb019850c9f855bdcf60 Mon Sep 17 00:00:00 2001 From: ihsan demir Date: Tue, 20 Jun 2023 17:42:14 +0300 Subject: [PATCH 0580/4087] (#17932) [hazelcast-cpp-client] Added the new hazelcast-cpp-client version 5.3.0 --- recipes/hazelcast-cpp-client/all/conandata.yml | 3 +++ recipes/hazelcast-cpp-client/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hazelcast-cpp-client/all/conandata.yml b/recipes/hazelcast-cpp-client/all/conandata.yml index 03a7693f717d9..b475516774d72 100644 --- a/recipes/hazelcast-cpp-client/all/conandata.yml +++ b/recipes/hazelcast-cpp-client/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.0": + url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v5.3.0.tar.gz" + sha256: "5d38710d027b6311a479c2e4c42f9ac2a04c831a3eb673d4539a2221c8ff8015" "5.2.0": url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v5.2.0.tar.gz" sha256: "49afe765fe4e8ddf134ebf2862a698b8d0dd8dc724d4300e09e5bf7da9e4cbfb" diff --git a/recipes/hazelcast-cpp-client/config.yml b/recipes/hazelcast-cpp-client/config.yml index cc9a79c74eb46..7e4b5ade25250 100644 --- a/recipes/hazelcast-cpp-client/config.yml +++ b/recipes/hazelcast-cpp-client/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.0": + folder: all "5.2.0": folder: all "5.1.0": From f064344020c834a7125b7c111909e5819ea11c10 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 00:23:24 +0900 Subject: [PATCH 0581/4087] (#17836) jinja2cpp: support conan v2, update dependencies * jinja2cpp: support conan v2, update dependencies * import msvc_runtime_flag * some fixes --------- Co-authored-by: czoido --- recipes/jinja2cpp/all/CMakeLists.txt | 7 - recipes/jinja2cpp/all/conandata.yml | 8 +- recipes/jinja2cpp/all/conanfile.py | 157 ++++++++---------- .../all/patches/fix-cmake-1.1.0.patch | 33 +++- .../all/patches/fix-cmake-1.2.1.patch | 32 +++- .../jinja2cpp/all/test_package/CMakeLists.txt | 11 +- .../jinja2cpp/all/test_package/conanfile.py | 19 ++- 7 files changed, 145 insertions(+), 122 deletions(-) delete mode 100644 recipes/jinja2cpp/all/CMakeLists.txt diff --git a/recipes/jinja2cpp/all/CMakeLists.txt b/recipes/jinja2cpp/all/CMakeLists.txt deleted file mode 100644 index 4b0bc06c8282d..0000000000000 --- a/recipes/jinja2cpp/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(source_subfolder) diff --git a/recipes/jinja2cpp/all/conandata.yml b/recipes/jinja2cpp/all/conandata.yml index ba871764ca5c4..01898ea7a626a 100644 --- a/recipes/jinja2cpp/all/conandata.yml +++ b/recipes/jinja2cpp/all/conandata.yml @@ -1,6 +1,6 @@ sources: "1.2.1": - url: "https://github.com/jinja2cpp/Jinja2Cpp/archive/refs/tags/1.2.1.tar.gz" + url: "https://github.com/jinja2cpp/Jinja2Cpp/archive/1.2.1.tar.gz" sha256: "2e61516fd4fd77452c8dd7a6f958ad47c42990df9b7bdc62cf2deb8aa7819b6c" "1.1.0": url: "https://github.com/jinja2cpp/Jinja2Cpp/archive/1.1.0.tar.gz" @@ -8,7 +8,9 @@ sources: patches: "1.2.1": - patch_file: "patches/fix-cmake-1.2.1.patch" - base_path: "source_subfolder" + patch_description: "use cci package, fix compilation error on MSVC" + patch_type: "conan" "1.1.0": - patch_file: "patches/fix-cmake-1.1.0.patch" - base_path: "source_subfolder" + patch_description: "use cci package, include mutex for std::unique_lock" + patch_type: "conan" diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index 5ccade1cbf22f..f6bfa2d0a3b34 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -1,20 +1,22 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import msvc_runtime_flag, is_msvc +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os -import textwrap - -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class Jinja2cppConan(ConanFile): name = "jinja2cpp" + description = "Jinja2 C++ (and for C++) almost full-conformance template engine implementation" license = "MIT" - homepage = "https://jinja2cpp.dev/" url = "https://github.com/conan-io/conan-center-index" - description = "Jinja2 C++ (and for C++) almost full-conformance template engine implementation" + homepage = "https://jinja2cpp.dev/" topics = ("cpp14", "cpp17", "jinja2", "string templates", "templates engine") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,25 +27,22 @@ class Jinja2cppConan(ConanFile): "fPIC": True, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_subfolder" + def _min_cppstd(self): + return 14 @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] + def _compilers_minimum_version(self): + return { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } 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": @@ -51,98 +50,72 @@ 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("expected-lite/0.5.0") - self.requires("optional-lite/3.5.0") - self.requires("rapidjson/cci.20211112") - self.requires("string-view-lite/1.6.0") - self.requires("variant-lite/2.0.0") + self.requires("boost/1.82.0") + self.requires("expected-lite/0.6.3", transitive_headers=True) + self.requires("optional-lite/3.5.0", transitive_headers=True) + self.requires("rapidjson/cci.20220822") + self.requires("string-view-lite/1.7.0", transitive_headers=True) + self.requires("variant-lite/2.0.0", transitive_headers=True) if self.version == "1.1.0": self.requires("fmt/6.2.1") # not compatible with fmt >= 7.0.0 else: - self.requires("nlohmann_json/3.10.5") - self.requires("fmt/8.1.1") + self.requires("nlohmann_json/3.11.2") + self.requires("fmt/10.0.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.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): - 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["JINJA2CPP_BUILD_TESTS"] = False + tc.variables["JINJA2CPP_STRICT_WARNINGS"] = False + tc.variables["JINJA2CPP_BUILD_SHARED"] = self.options.shared + tc.variables["JINJA2CPP_DEPS_MODE"] = "conan-build" + tc.variables["JINJA2CPP_CXX_STANDARD"] = self.settings.compiler.get_safe("cppstd", 14) + if is_msvc(self): + # Runtime type configuration for Jinja2C++ should be strictly '/MT' or '/MD' + runtime = "/MD" if "MD" in msvc_runtime_flag(self) else "/MT" + tc.variables["JINJA2CPP_MSVC_RUNTIME_TYPE"] = runtime + tc.generate() + deps = CMakeDeps(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) # Don't force MD for shared lib, allow to honor runtime from profile - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "set(JINJA2CPP_MSVC_RUNTIME_TYPE \"/MD\")", "") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["JINJA2CPP_BUILD_TESTS"] = False - self._cmake.definitions["JINJA2CPP_STRICT_WARNINGS"] = False - self._cmake.definitions["JINJA2CPP_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["JINJA2CPP_DEPS_MODE"] = "conan-build" - self._cmake.definitions["JINJA2CPP_CXX_STANDARD"] = self.settings.compiler.get_safe("cppstd", 14) - # Conan cmake generator omits the build_type flag for MSVC multiconfiguration CMake, - # but provide build-type-specific runtime type flag. For now, Jinja2C++ build scripts - # need to know the build type is being built in order to setup internal flags correctly - self._cmake.definitions["CMAKE_BUILD_TYPE"] = self.settings.build_type - if self._is_msvc: - # Runtime type configuration for Jinja2C++ should be strictly '/MT' or '/MD' - runtime = "/MD" if "MD" in msvc_runtime_flag(self) else "/MT" - self._cmake.definitions["JINJA2CPP_MSVC_RUNTIME_TYPE"] = runtime - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(JINJA2CPP_MSVC_RUNTIME_TYPE \"/MD\")", "") def build(self): - if self.version == "1.1.0": - if tools.Version(self.deps_cpp_info["fmt"].version) >= "7.0.0": - raise ConanInvalidConfiguration("jinja2cpp requires fmt < 7.0.0") self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "jinja2cpp")) - tools.rmdir(os.path.join(self.package_folder, "share")) - - # 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), - {"jinja2cpp": "jinja2cpp::jinja2cpp"} - ) - - @staticmethod - def _create_cmake_module_alias_targets(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)) - tools.save(module_file, content) - - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + rmdir(self, os.path.join(self.package_folder, "lib", "jinja2cpp")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "jinja2cpp") self.cpp_info.set_property("cmake_target_name", "jinja2cpp") self.cpp_info.libs = ["jinja2cpp"] - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/jinja2cpp/all/patches/fix-cmake-1.1.0.patch b/recipes/jinja2cpp/all/patches/fix-cmake-1.1.0.patch index 2c9056e924d37..e1b4bd4776539 100644 --- a/recipes/jinja2cpp/all/patches/fix-cmake-1.1.0.patch +++ b/recipes/jinja2cpp/all/patches/fix-cmake-1.1.0.patch @@ -1,3 +1,5 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b5c8b3c..c0afc14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,10 +21,6 @@ option(JINJA2CPP_STRICT_WARNINGS "Enable additional warnings and treat them as e @@ -29,20 +31,37 @@ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jinja2cpp ) +diff --git a/include/jinja2cpp/template_env.h b/include/jinja2cpp/template_env.h +index d49859e..0bd456e 100644 +--- a/include/jinja2cpp/template_env.h ++++ b/include/jinja2cpp/template_env.h +@@ -6,6 +6,7 @@ + #include "filesystem_handler.h" + #include "template.h" + ++#include + #include + #include + +diff --git a/thirdparty/thirdparty-conan-build.cmake b/thirdparty/thirdparty-conan-build.cmake +index 5aecfbd..957657f 100644 --- a/thirdparty/thirdparty-conan-build.cmake +++ b/thirdparty/thirdparty-conan-build.cmake -@@ -8,7 +8,11 @@ find_package(string-view-lite) +@@ -6,9 +6,13 @@ find_package(optional-lite) + find_package(string-view-lite) + find_package(Boost) - set(CONAN_BOOST_PACKAGE_NAME Boost::Boost) +-set(CONAN_BOOST_PACKAGE_NAME Boost::Boost) find_package(fmt) -find_package(rapidjson) +find_package(RapidJSON) - --set(JINJA2_PRIVATE_LIBS_INT ${CONAN_BOOST_PACKAGE_NAME} fmt::fmt rapidjson::rapidjson) --set(JINJA2_PUBLIC_LIBS_INT expected-lite::expected-lite variant-lite::variant-lite optional-lite::optional-lite string-view-lite::string-view-lite) ++ +# TODO: replace conan targets by official imported targets when fixed in corresponding recipes: +# - CONAN_PKG::rapidjson => rapidjson +# - CONAN_PKG::optional-lite => nonstd::optional-lite +# - CONAN_PKG::variant-lite => nonstd::variant-lite -+set(JINJA2_PRIVATE_LIBS_INT ${CONAN_BOOST_PACKAGE_NAME} fmt::fmt CONAN_PKG::rapidjson) -+set(JINJA2_PUBLIC_LIBS_INT nonstd::expected-lite CONAN_PKG::variant-lite CONAN_PKG::optional-lite nonstd::string-view-lite) ++set(JINJA2_PRIVATE_LIBS_INT Boost::headers Boost::filesystem fmt::fmt rapidjson) ++set(JINJA2_PUBLIC_LIBS_INT nonstd::expected-lite nonstd::variant-lite nonstd::optional-lite nonstd::string-view-lite) + +-set(JINJA2_PRIVATE_LIBS_INT ${CONAN_BOOST_PACKAGE_NAME} fmt::fmt rapidjson::rapidjson) +-set(JINJA2_PUBLIC_LIBS_INT expected-lite::expected-lite variant-lite::variant-lite optional-lite::optional-lite string-view-lite::string-view-lite) diff --git a/recipes/jinja2cpp/all/patches/fix-cmake-1.2.1.patch b/recipes/jinja2cpp/all/patches/fix-cmake-1.2.1.patch index d355b60a17daa..391fd64166078 100644 --- a/recipes/jinja2cpp/all/patches/fix-cmake-1.2.1.patch +++ b/recipes/jinja2cpp/all/patches/fix-cmake-1.2.1.patch @@ -12,7 +12,7 @@ index bf603b0..6229f02 100644 ) diff --git a/src/helpers.h b/src/helpers.h -index 3af280f..a6a3205 100644 +index 3af280f..b1c31fe 100644 --- a/src/helpers.h +++ b/src/helpers.h @@ -32,12 +32,21 @@ struct MultiStringLiteral @@ -37,3 +37,33 @@ index 3af280f..a6a3205 100644 template struct SelectMemberPtr; +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index 77794b9..e31b999 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -67,8 +67,8 @@ if(JINJA2CPP_BUILD_TESTS) + endif() + + if (NOT DEFINED JINJA2_PRIVATE_LIBS_INT) +- set(JINJA2CPP_PRIVATE_LIBS ${JINJA2CPP_PRIVATE_LIBS} Boost::variant +- Boost::filesystem Boost::algorithm Boost::lexical_cast fmt RapidJson) ++ set(JINJA2CPP_PRIVATE_LIBS ${JINJA2CPP_PRIVATE_LIBS} Boost::headers ++ Boost::filesystem 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 ec1e2c4..3a70e8a 100644 +--- a/thirdparty/thirdparty-conan-build.cmake ++++ b/thirdparty/thirdparty-conan-build.cmake +@@ -7,9 +7,8 @@ find_package(string-view-lite REQUIRED) + find_package(nlohmann_json REQUIRED) + + find_package(Boost) +-set(CONAN_BOOST_PACKAGE_NAME Boost::Boost) + find_package(fmt) + find_package(RapidJSON) + +-set(JINJA2_PRIVATE_LIBS_INT ${CONAN_BOOST_PACKAGE_NAME} fmt::fmt RapidJSON::RapidJSON nlohmann_json::nlohmann_json) ++set(JINJA2_PRIVATE_LIBS_INT Boost::headers Boost::filesystem fmt::fmt rapidjson nlohmann_json::nlohmann_json) + set(JINJA2_PUBLIC_LIBS_INT nonstd::expected-lite nonstd::variant-lite nonstd::optional-lite nonstd::string-view-lite) diff --git a/recipes/jinja2cpp/all/test_package/CMakeLists.txt b/recipes/jinja2cpp/all/test_package/CMakeLists.txt index 5f02285c2de3e..832ed53e2f10d 100644 --- a/recipes/jinja2cpp/all/test_package/CMakeLists.txt +++ b/recipes/jinja2cpp/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(jinja2cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} jinja2cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) +target_link_libraries(${PROJECT_NAME} PRIVATE jinja2cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/jinja2cpp/all/test_package/conanfile.py b/recipes/jinja2cpp/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/jinja2cpp/all/test_package/conanfile.py +++ b/recipes/jinja2cpp/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") From ec6fdb50b2d42be7a604c221d05de2503cd94ceb Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 20 Jun 2023 18:02:49 +0200 Subject: [PATCH 0582/4087] (#17829) [lefticus-tools] Add new recipe for Lefticus Tools * add lefticus tools Signed-off-by: Uilian Ries * remove patches Signed-off-by: Uilian Ries * need C++20 Signed-off-by: Uilian Ries * fix bad import Signed-off-by: Uilian Ries * simplify test package due Windows Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/lefticus-tools/all/conandata.yml | 4 ++ recipes/lefticus-tools/all/conanfile.py | 64 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../all/test_package/conanfile.py | 25 ++++++++ .../all/test_package/test_package.cpp | 15 +++++ recipes/lefticus-tools/config.yml | 3 + 6 files changed, 119 insertions(+) create mode 100644 recipes/lefticus-tools/all/conandata.yml create mode 100644 recipes/lefticus-tools/all/conanfile.py create mode 100644 recipes/lefticus-tools/all/test_package/CMakeLists.txt create mode 100644 recipes/lefticus-tools/all/test_package/conanfile.py create mode 100644 recipes/lefticus-tools/all/test_package/test_package.cpp create mode 100644 recipes/lefticus-tools/config.yml diff --git a/recipes/lefticus-tools/all/conandata.yml b/recipes/lefticus-tools/all/conandata.yml new file mode 100644 index 0000000000000..5f60c304dca5d --- /dev/null +++ b/recipes/lefticus-tools/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230420": + url: "https://github.com/lefticus/tools/archive/137dd15b8aa9d43cc8633b972eec82c9009b6bbd.tar.gz" + sha256: "f1ef4929ea608fb466e11af635d2537808a7df7b1bc664d9742d147ed08e24c2" diff --git a/recipes/lefticus-tools/all/conanfile.py b/recipes/lefticus-tools/all/conanfile.py new file mode 100644 index 0000000000000..b9179faa1d97b --- /dev/null +++ b/recipes/lefticus-tools/all/conanfile.py @@ -0,0 +1,64 @@ +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.errors import ConanInvalidConfiguration +from conan import Version +import os + + +required_conan_version = ">=1.53.0" + + +class LefticusToolsConan(ConanFile): + name = "lefticus-tools" + description = "Some handy C++ tools" + topics = ("tools", "cpp", "cmake") + license = "MIT" + homepage = "https://github.com/lefticus/tools" + url = "https://github.com/conan-io/conan-center-index" + 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": "13", + "apple-clang": "14", + } + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], 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="ProjectOptions", dst=os.path.join(self.package_folder, "lib", "cmake"), src=self.source_folder) + copy(self, pattern="*.cmake", dst=os.path.join(self.package_folder, "lib", "cmake", "cmake"), src=os.path.join(self.source_folder, "cmake")) + copy(self, pattern="*.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.set_property("cmake_target_name", "lefticus::tools") + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] diff --git a/recipes/lefticus-tools/all/test_package/CMakeLists.txt b/recipes/lefticus-tools/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d6a06ccd62240 --- /dev/null +++ b/recipes/lefticus-tools/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(lefticus-tools REQUIRED CONFIG) + +add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE lefticus::tools) +target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/lefticus-tools/all/test_package/conanfile.py b/recipes/lefticus-tools/all/test_package/conanfile.py new file mode 100644 index 0000000000000..254feca104287 --- /dev/null +++ b/recipes/lefticus-tools/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, cmake_layout +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): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/lefticus-tools/all/test_package/test_package.cpp b/recipes/lefticus-tools/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..01077cece833f --- /dev/null +++ b/recipes/lefticus-tools/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include +#include + +#include "lefticus/tools/consteval_invoke.hpp" + + +constexpr unsigned int Factorial(unsigned int number) { + return number <= 1 ? number : Factorial(number - 1) * number; +} + + +int main() { + std::cout << "Factorial of 3 is: " << lefticus::tools::consteval_invoke(Factorial, 3) << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/lefticus-tools/config.yml b/recipes/lefticus-tools/config.yml new file mode 100644 index 0000000000000..7c6ba2bb8da04 --- /dev/null +++ b/recipes/lefticus-tools/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230420": + folder: all From 83c64c7fff4a3c776ebbd9d8d3a9761b805cba32 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 01:43:50 +0900 Subject: [PATCH 0583/4087] (#17987) concurrentqueue: add version 1.0.4, add package_type --- recipes/concurrentqueue/all/conandata.yml | 15 ++++++++----- recipes/concurrentqueue/all/conanfile.py | 22 ++++++++++--------- .../all/test_package/conanfile.py | 1 + recipes/concurrentqueue/config.yml | 2 ++ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/recipes/concurrentqueue/all/conandata.yml b/recipes/concurrentqueue/all/conandata.yml index 4a3b84f1e1032..01e2ad199f983 100644 --- a/recipes/concurrentqueue/all/conandata.yml +++ b/recipes/concurrentqueue/all/conandata.yml @@ -1,10 +1,13 @@ sources: + "1.0.4": + url: "https://github.com/cameron314/concurrentqueue/archive/refs/tags/v1.0.4.tar.gz" + sha256: "87fbc9884d60d0d4bf3462c18f4c0ee0a9311d0519341cac7cbd361c885e5281" "1.0.3": - url: https://github.com/cameron314/concurrentqueue/archive/v1.0.3.zip - sha256: 5e9e229a1791e8299dcd4bd73ac1be1953424a903818feb7afd929eb16094ef5 + url: "https://github.com/cameron314/concurrentqueue/archive/refs/tags/v1.0.3.tar.gz" + sha256: "eb37336bf9ae59aca7b954db3350d9b30d1cab24b96c7676f36040aa76e915e8" "1.0.2": - url: https://github.com/cameron314/concurrentqueue/archive/v1.0.2.zip - sha256: 6dc85de0e38a014471fe3c653e3e21dc38a5f069cfc031a90fa59f0a45f7584f + url: "https://github.com/cameron314/concurrentqueue/archive/refs/tags/v1.0.2.tar.gz" + sha256: "c3aeb97c97169f743a53ca33812ea2ab61dd06dfd28319ca3f0a0771372fc7fc" "1.0.1": - url: https://github.com/cameron314/concurrentqueue/archive/v1.0.1.zip - sha256: b31dca11745ef331756109af838e3689462fbbc2c52dda9f7e1c416778f1f35b + url: "https://github.com/cameron314/concurrentqueue/archive/refs/tags/v1.0.1.tar.gz" + sha256: "7e715c793001e01851448320e8a416b80342b2e75db46d4c978e990a506060e6" diff --git a/recipes/concurrentqueue/all/conanfile.py b/recipes/concurrentqueue/all/conanfile.py index 866dbaf480b38..fe58e688dd504 100644 --- a/recipes/concurrentqueue/all/conanfile.py +++ b/recipes/concurrentqueue/all/conanfile.py @@ -9,27 +9,31 @@ class ConcurrentqueueConan(ConanFile): name = "concurrentqueue" + description = "A fast multi-producer, multi-consumer lock-free concurrent queue for C++11" + license = ["BSD-2-Clause", "BSL-1.0"] url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/cameron314/concurrentqueue" - description = "A fast multi-producer, multi-consumer lock-free concurrent queue for C++11" topics = ("cpp11", "cpp14", "cpp17", "queue", "lock-free") - license = ["BSD-2-Clause", "BSL-1.0"] + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) - - def layout(self): - basic_layout(self, src_folder="src") + check_min_cppstd(self, self._min_cppstd) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -44,8 +48,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "concurrentqueue::concurrentqueue") self.cpp_info.includedirs.append(os.path.join("include", "moodycamel")) self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/concurrentqueue/all/test_package/conanfile.py b/recipes/concurrentqueue/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/concurrentqueue/all/test_package/conanfile.py +++ b/recipes/concurrentqueue/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/concurrentqueue/config.yml b/recipes/concurrentqueue/config.yml index df27cd90727cc..ba8a25151dfc3 100644 --- a/recipes/concurrentqueue/config.yml +++ b/recipes/concurrentqueue/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.4": + folder: all "1.0.3": folder: all "1.0.2": From 68bcd1f54f23d0ecd36d0e9f39d69e05f2152481 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Tue, 20 Jun 2023 19:28:15 +0200 Subject: [PATCH 0584/4087] (#17978) vo-amrwbenc: add version 0.1.3 --- recipes/vo-amrwbenc/all/conandata.yml | 4 + recipes/vo-amrwbenc/all/conanfile.py | 108 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../vo-amrwbenc/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.c | 10 ++ recipes/vo-amrwbenc/config.yml | 3 + 6 files changed, 158 insertions(+) create mode 100644 recipes/vo-amrwbenc/all/conandata.yml create mode 100644 recipes/vo-amrwbenc/all/conanfile.py create mode 100644 recipes/vo-amrwbenc/all/test_package/CMakeLists.txt create mode 100644 recipes/vo-amrwbenc/all/test_package/conanfile.py create mode 100644 recipes/vo-amrwbenc/all/test_package/test_package.c create mode 100644 recipes/vo-amrwbenc/config.yml diff --git a/recipes/vo-amrwbenc/all/conandata.yml b/recipes/vo-amrwbenc/all/conandata.yml new file mode 100644 index 0000000000000..942ba6a84fca6 --- /dev/null +++ b/recipes/vo-amrwbenc/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.3": + url: "https://downloads.sourceforge.net/project/opencore-amr/vo-amrwbenc/vo-amrwbenc-0.1.3.tar.gz" + sha256: "5652b391e0f0e296417b841b02987d3fd33e6c0af342c69542cbb016a71d9d4e" diff --git a/recipes/vo-amrwbenc/all/conanfile.py b/recipes/vo-amrwbenc/all/conanfile.py new file mode 100644 index 0000000000000..71830859a3a43 --- /dev/null +++ b/recipes/vo-amrwbenc/all/conanfile.py @@ -0,0 +1,108 @@ +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import copy, get, rename, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import check_min_vs, is_msvc, unix_path +import os + +required_conan_version = ">=1.54.0" + + +class OpencoreAmrConan(ConanFile): + name = "vo-amrwbenc" + homepage = "https://sourceforge.net/projects/opencore-amr/" + description = "VisualOn AMR-WB encoder library." + topics = ("audio-codec", "amr-wb", "G.722.2") + url = "https://github.com/conan-io/conan-center-index" + license = "Apache-2.0" + package_type = "library" + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @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.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + 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() + tc = AutotoolsToolchain(self) + yes_no = lambda v: "yes" if v else "no" + if is_msvc(self): + tc.extra_cflags.append("-EHsc") + if check_min_vs(self, "180", raise_invalid=False): + tc.extra_cflags.append("-FS") + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f"{ar_wrapper} \"lib -nologo\"") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, pattern="NOTICE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + fix_apple_shared_install_name(self) + + if is_msvc(self) and self.options.shared: + for import_lib in ["vo-amrwbenc"]: + rename(self, os.path.join(self.package_folder, "lib", f"{import_lib}.dll.lib"), + os.path.join(self.package_folder, "lib", f"{import_lib}.lib")) + + def package_info(self): + self.cpp_info.libs = ["vo-amrwbenc"] + + self.cpp_info.set_property("pkg_config_name", "vo-amrwbenc") diff --git a/recipes/vo-amrwbenc/all/test_package/CMakeLists.txt b/recipes/vo-amrwbenc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..996db2c8839df --- /dev/null +++ b/recipes/vo-amrwbenc/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(vo-amrwbenc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE vo-amrwbenc::vo-amrwbenc) diff --git a/recipes/vo-amrwbenc/all/test_package/conanfile.py b/recipes/vo-amrwbenc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/vo-amrwbenc/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/vo-amrwbenc/all/test_package/test_package.c b/recipes/vo-amrwbenc/all/test_package/test_package.c new file mode 100644 index 0000000000000..3680b1b652585 --- /dev/null +++ b/recipes/vo-amrwbenc/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include +#include "vo-amrwbenc/enc_if.h" + +int main(void) +{ + void* state = E_IF_init(); + E_IF_exit(state); + + return EXIT_SUCCESS; +} diff --git a/recipes/vo-amrwbenc/config.yml b/recipes/vo-amrwbenc/config.yml new file mode 100644 index 0000000000000..ce394846b7adb --- /dev/null +++ b/recipes/vo-amrwbenc/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.3": + folder: "all" From 95c58a68705c700e6a5b70280112958155d01527 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 03:02:32 +0900 Subject: [PATCH 0585/4087] (#17973) cimg: add version 3.2.5, update dependencies, add package_type --- recipes/cimg/all/conandata.yml | 3 +++ recipes/cimg/all/conanfile.py | 26 +++++++++++++++++--------- recipes/cimg/config.yml | 2 ++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index eea92963062f7..c4ba41f9e21b5 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.5": + url: "https://cimg.eu/files/CImg_3.2.5.zip" + sha256: "3ab9f25cd7e5f7256dde67b4ea78ead05834bee0db9160c89668a388ba141cd9" "3.2.0": url: "https://cimg.eu/files/CImg_3.2.0.zip" sha256: "7a923357c3127d8839696c7b0f4eb4c23982c090d3f49fb133f2c8556ca74a88" diff --git a/recipes/cimg/all/conanfile.py b/recipes/cimg/all/conanfile.py index 4c4d65c0ab3d8..7976b292f24a3 100644 --- a/recipes/cimg/all/conanfile.py +++ b/recipes/cimg/all/conanfile.py @@ -11,11 +11,11 @@ class CImgConan(ConanFile): name = "cimg" description = "The CImg Library is a small and open-source C++ toolkit for image processing" - homepage = "http://cimg.eu" - topics = ("physics", "simulation", "robotics", "kinematics", "engine") license = "CeCILL V2" url = "https://github.com/conan-io/conan-center-index" - + homepage = "http://cimg.eu" + topics = ("physics", "simulation", "robotics", "kinematics", "engine") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "enable_fftw": [True, False], @@ -64,17 +64,26 @@ def layout(self): def requirements(self): if self.options.enable_fftw: - self.requires("fftw/3.3.9") + self.requires("fftw/3.3.10") if self.options.enable_jpeg: self.requires("libjpeg/9e") if self.options.enable_openexr: - self.requires("openexr/2.5.7") + if self.options.enable_opencv: + self.requires("openexr/3.1.5") + else: + self.requires("openexr/3.1.7") if self.options.enable_png: self.requires("libpng/1.6.39") if self.options.enable_tiff: - self.requires("libtiff/4.4.0") + if self.options.enable_opencv: + self.requires("libtiff/4.4.0") + else: + self.requires("libtiff/4.5.0") if self.options.enable_ffmpeg: - self.requires("ffmpeg/5.0") + if self.options.enable_opencv: + self.requires("ffmpeg/4.4") + else: + self.requires("ffmpeg/5.1") if self.options.enable_opencv: self.requires("opencv/4.5.5") if self.options.enable_magick: @@ -93,8 +102,7 @@ def validate(self): raise ConanInvalidConfiguration("xshm not available in CCI yet") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index 570cd2f89fed4..b39649938fc2e 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.5": + folder: all "3.2.0": folder: all "3.0.2": From 55b6ae1025356d1bcf080e75e7feab28ace9cc6a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 04:03:26 +0900 Subject: [PATCH 0586/4087] (#17873) opentelemetry-cpp: add version 1.9.1, update dependencies * opentelemetry-cpp: add version 1.9.1 * replace \ to / * add LD_LIBRARY_PATH --- recipes/opentelemetry-cpp/all/conandata.yml | 7 +++ recipes/opentelemetry-cpp/all/conanfile.py | 44 +++++++++++++------ .../all/patches/1.9.1-0001-fix-cmake.patch | 27 ++++++++++++ recipes/opentelemetry-cpp/config.yml | 2 + 4 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch diff --git a/recipes/opentelemetry-cpp/all/conandata.yml b/recipes/opentelemetry-cpp/all/conandata.yml index 88ad3e40bea9c..2342d2e0da093 100644 --- a/recipes/opentelemetry-cpp/all/conandata.yml +++ b/recipes/opentelemetry-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.9.1.tar.gz" + sha256: "668de24f81c8d36d75092ad9dcb02a97cd41473adbe72485ece05e336db48249" "1.8.1": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.8.1.tar.gz" sha256: "3d640201594b07f08dade9cd1017bd0b59674daca26223b560b9bb6bf56264c2" @@ -25,6 +28,10 @@ sources: sha256: "32f12ff15ec257e3462883f84bc291c2d5dc30055604c12ec4b46a36dfa3f189" patches: + "1.9.1": + - patch_file: "patches/1.9.1-0001-fix-cmake.patch" + patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" + patch_type: "conan" "1.8.1": - patch_file: "patches/1.8.1-0001-fix-cmake.patch" patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index 28a5a3dd6a2cd..c56f8d1fa1129 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.microsoft import check_min_vs +from conan.tools.env import Environment import os import textwrap @@ -18,6 +19,7 @@ class OpenTelemetryCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/open-telemetry/opentelemetry-cpp" topics = ("opentelemetry", "telemetry", "tracing", "metrics", "logs") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -91,14 +93,14 @@ def requirements(self): self.requires("ms-gsl/4.0.0") if self.options.with_abseil: - self.requires("abseil/20220623.0") + self.requires("abseil/20220623.0", transitive_headers=True) if self.options.with_otlp: - self.requires("protobuf/3.21.4") + self.requires("protobuf/3.21.9") if Version(self.version) <= "1.4.1": self.requires("opentelemetry-proto/0.11.0") else: - self.requires("opentelemetry-proto/0.19.0") + self.requires("opentelemetry-proto/0.20.0") if self.options.get_safe("with_otlp_grpc"): self.requires("grpc/1.50.1") @@ -109,13 +111,13 @@ def requirements(self): self.options.with_etw ): self.requires("nlohmann_json/3.11.2") - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if (self.options.with_zipkin or self.options.with_elasticsearch or self.options.get_safe("with_otlp_http") ): - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.1.1") if self.options.with_prometheus: self.requires("prometheus-cpp/1.1.0") @@ -157,7 +159,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("protobuf/3.21.4") + self.tool_requires("protobuf/3.21.9") self.tool_requires("grpc/1.50.1") def _create_cmake_module_variables(self, module_file): @@ -172,8 +174,7 @@ def _create_cmake_module_variables(self, module_file): save(self, module_file, content) 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) @@ -181,6 +182,7 @@ def generate(self): tc.variables["BUILD_TESTING"] = False tc.variables["BUILD_BENCHMARK"] = False + tc.variables["WITH_EXAMPLES"] = False tc.variables["WITH_NO_DEPRECATED_CODE"] = self.options.with_no_deprecated_code tc.variables["WITH_STL"] = self.options.with_stl tc.variables["WITH_GSL"] = self.options.with_gsl @@ -198,14 +200,21 @@ def generate(self): tc.variables["WITH_LOGS_PREVIEW"] = self.options.with_logs_preview tc.variables["WITH_ASYNC_EXPORT_PREVIEW"] = self.options.with_async_export_preview tc.variables["WITH_METRICS_EXEMPLAR_PREVIEW"] = self.options.with_metrics_exemplar_preview - tc.generate() tc = CMakeDeps(self) tc.generate() + if self.settings.os == "Linux": + env = Environment() + if self.dependencies["grpc"].options.shared: + env.append_path("LD_LIBRARY_PATH", os.path.join(self.dependencies["grpc"].package_folder, "lib")) + if self.dependencies["protobuf"].options.shared: + env.append_path("LD_LIBRARY_PATH", os.path.join(self.dependencies["protobuf"].package_folder, "lib")) + env.vars(self).save_script("conanbuild_loadpath") + def _patch_sources(self): - protos_path = self.deps_user_info["opentelemetry-proto"].proto_root.replace("\\", "/") + protos_path = self.dependencies["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") protos_cmake_path = os.path.join( self.source_folder, "cmake", @@ -215,10 +224,17 @@ def _patch_sources(self): protos_cmake_path, "if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto/.git)", "if(1)") - replace_in_file(self, - protos_cmake_path, - "set(PROTO_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", - f"set(PROTO_PATH \"{protos_path}\")") + if Version(self.version) < "1.9.0": + replace_in_file(self, + protos_cmake_path, + "set(PROTO_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", + f"set(PROTO_PATH \"{protos_path}\")") + else: + replace_in_file(self, + protos_cmake_path, + "\"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", + f"\"{protos_path}\")") + rmdir(self, os.path.join(self.source_folder, "api", "include", "opentelemetry", "nostd", "absl")) apply_conandata_patches(self) diff --git a/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..6deba6e434af5 --- /dev/null +++ b/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dbfb6a2..83c92cc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -299,7 +299,6 @@ if(WITH_JAEGER) + find_package(Thrift QUIET) + if(Thrift_FOUND) + find_package(Boost REQUIRED) +- include_directories(${Boost_INCLUDE_DIR}) + else() + # Install Thrift and propagate via vcpkg toolchain file + if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) +diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake +index 34b33d3..19e67e9 100644 +--- a/cmake/opentelemetry-proto.cmake ++++ b/cmake/opentelemetry-proto.cmake +@@ -311,6 +311,10 @@ if(WITH_OTLP_GRPC) + endif() + endif() + ++if(TARGET gRPC::grpc++) ++ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) ++endif() ++ + if(BUILD_SHARED_LIBS) + foreach(proto_target ${OPENTELEMETRY_PROTO_TARGETS}) + set_property(TARGET ${proto_target} PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/recipes/opentelemetry-cpp/config.yml b/recipes/opentelemetry-cpp/config.yml index 4dd7c49be1a03..8429e67e0bca0 100644 --- a/recipes/opentelemetry-cpp/config.yml +++ b/recipes/opentelemetry-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: all "1.8.1": folder: all "1.7.0": From 849fec51ce49c1682af589874e39cd6dc30d1bb4 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 05:24:21 +0900 Subject: [PATCH 0587/4087] (#17810) mongo-cxx-driver: add version 3.7.2 * mongo-cxx-driver: add version 3.7.1 * update dependencies * update 3.7.2, update mongo-c-driver * disable mongo-c-driver transitivie_headers --- recipes/mongo-cxx-driver/all/conandata.yml | 10 +++ recipes/mongo-cxx-driver/all/conanfile.py | 6 +- .../all/patches/3.7.2-0001-dirs.patch | 80 +++++++++++++++++++ .../3.7.2-0002-poly_use_std_define.patch | 13 +++ .../all/test_package/test_package.cpp | 2 - recipes/mongo-cxx-driver/config.yml | 2 + 6 files changed, 108 insertions(+), 5 deletions(-) create mode 100644 recipes/mongo-cxx-driver/all/patches/3.7.2-0001-dirs.patch create mode 100644 recipes/mongo-cxx-driver/all/patches/3.7.2-0002-poly_use_std_define.patch diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 63919e45005aa..5f674bff2da01 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.2": + url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.7.2/mongo-cxx-driver-r3.7.2.tar.gz" + sha256: "bc0f5193a8184db47a75685b58acd484b0e489eb0476b4d931d1bf4f5fc2186e" "3.7.0": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.7.0/mongo-cxx-driver-r3.7.0.tar.gz" sha256: "fb2da11178db728f63147fe4b0c7509eb49b1b02c5cb55f9bee5f927e451a0c7" @@ -15,6 +18,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.7.2": + - patch_file: "patches/3.7.2-0001-dirs.patch" + patch_description: "disable documentation features, fix directories" + patch_type: "conan" + - patch_file: "patches/3.7.2-0002-poly_use_std_define.patch" + patch_description: "use poly macro instead __cplusplus" + patch_type: "portability" "3.7.0": - patch_file: "patches/3.7.0-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 118ad3a647540..557880613c87c 100644 --- a/recipes/mongo-cxx-driver/all/conanfile.py +++ b/recipes/mongo-cxx-driver/all/conanfile.py @@ -17,7 +17,7 @@ class MongoCxxConan(ConanFile): 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" options = { "shared": [True, False], @@ -47,9 +47,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("mongo-c-driver/1.23.2") + self.requires("mongo-c-driver/1.23.5") if self.options.polyfill == "boost": - self.requires("boost/1.81.0") + self.requires("boost/1.82.0", transitive_headers=True) @property def _minimal_std_version(self): diff --git a/recipes/mongo-cxx-driver/all/patches/3.7.2-0001-dirs.patch b/recipes/mongo-cxx-driver/all/patches/3.7.2-0001-dirs.patch new file mode 100644 index 0000000000000..f1c52fb2f96e1 --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.7.2-0001-dirs.patch @@ -0,0 +1,80 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 20254fa..d7dc7c4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -206,6 +206,7 @@ set (BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR}) + + include (MakeDistFiles) + ++if(FALSE) + add_custom_target(hugo_dir + COMMAND ${CMAKE_COMMAND} -E make_directory hugo + ) +@@ -261,6 +262,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) + +@@ -270,6 +272,9 @@ if (ENABLE_TESTS) + enable_testing() + endif () + ++set(MONGO_CXX_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++set(MONGO_CXX_PROJECT_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}) ++ + add_subdirectory(src) + + add_subdirectory(examples EXCLUDE_FROM_ALL) +@@ -281,6 +286,7 @@ add_subdirectory(benchmark EXCLUDE_FROM_ALL) + # CMake does not implement anything like 'dist' from autotools. + # This implementation is based on the one in GnuCash. + ++if(FALSE) + add_subdirectory (cmake) + add_subdirectory (data) + add_subdirectory (docs) +@@ -381,4 +387,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 d87d588..1aefd91 100644 +--- a/src/bsoncxx/CMakeLists.txt ++++ b/src/bsoncxx/CMakeLists.txt +@@ -71,7 +71,7 @@ set(BSONCXX_VERSION_NO_EXTRA ${BSONCXX_VERSION_MAJOR}.${BSONCXX_VERSION_MINOR}.$ + set(BSONCXX_VERSION ${BSONCXX_VERSION_NO_EXTRA}${BSONCXX_VERSION_EXTRA}) + message ("bsoncxx version: ${BSONCXX_VERSION}") + set(BSONCXX_INLINE_NAMESPACE "v${BSONCXX_ABI_VERSION}") +-set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/${BSONCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE INTERNAL "") + + set(LIBBSON_REQUIRED_VERSION 1.13.0) + set(LIBBSON_REQUIRED_ABI_VERSION 1.0) +@@ -94,7 +94,8 @@ if(TARGET bson_shared OR TARGET bson_static) + endif() + else() + # Attempt to find libbson by new package name (without lib). +- find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} ${LIBBSON_REQUIRED_VERSION} QUIET) ++ find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} REQUIRED) ++ set(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND TRUE) + + if(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND) + message ("found libbson version ${bson-${LIBBSON_REQUIRED_ABI_VERSION}_VERSION}") +diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt +index a7e6ded..4fb9027 100644 +--- a/src/mongocxx/CMakeLists.txt ++++ b/src/mongocxx/CMakeLists.txt +@@ -27,7 +27,7 @@ set(MONGOCXX_VERSION_NO_EXTRA ${MONGOCXX_VERSION_MAJOR}.${MONGOCXX_VERSION_MINOR + set(MONGOCXX_VERSION ${MONGOCXX_VERSION_NO_EXTRA}${MONGOCXX_VERSION_EXTRA}) + message ("mongocxx version: ${MONGOCXX_VERSION}") + set(MONGOCXX_INLINE_NAMESPACE "v${MONGOCXX_ABI_VERSION}") +-set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/${MONGOCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/" CACHE INTERNAL "") + + set(LIBMONGOC_REQUIRED_VERSION 1.22.1) + set(LIBMONGOC_REQUIRED_ABI_VERSION 1.0) diff --git a/recipes/mongo-cxx-driver/all/patches/3.7.2-0002-poly_use_std_define.patch b/recipes/mongo-cxx-driver/all/patches/3.7.2-0002-poly_use_std_define.patch new file mode 100644 index 0000000000000..1105c439eae72 --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.7.2-0002-poly_use_std_define.patch @@ -0,0 +1,13 @@ +diff --git a/src/bsoncxx/stdx/make_unique.hpp b/src/bsoncxx/stdx/make_unique.hpp +index fe8bb2d..737e76b 100644 +--- a/src/bsoncxx/stdx/make_unique.hpp ++++ b/src/bsoncxx/stdx/make_unique.hpp +@@ -48,7 +48,7 @@ using ::boost::make_unique; + BSONCXX_INLINE_NAMESPACE_END + } // namespace bsoncxx + +-#elif __cplusplus >= 201402L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L) ++#elif defined(BSONCXX_POLY_USE_STD) + + #include + diff --git a/recipes/mongo-cxx-driver/all/test_package/test_package.cpp b/recipes/mongo-cxx-driver/all/test_package/test_package.cpp index 57282320fb7a6..d44d69617b5ba 100644 --- a/recipes/mongo-cxx-driver/all/test_package/test_package.cpp +++ b/recipes/mongo-cxx-driver/all/test_package/test_package.cpp @@ -6,8 +6,6 @@ #include // Compilation check -#include -#include #include int main() { diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index fe3fd8b511744..454f3110a5cca 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.2": + folder: all "3.7.0": folder: all "3.6.7": From be2d09eea01dea5b0a86ff56cd0504cd01ea485d Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 20 Jun 2023 16:23:02 -0500 Subject: [PATCH 0588/4087] (#17661) gtk-doc-stub: Support Conan V2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gtk-doc-stub: Support Conan V2 * Revert the gitignore * Copy from the correct location in the test v1 package * Remove for loop * Fix path * Don't use unix path * Remove setting bin directory since it is the default * Drop the test_v1_package * Test only as a build requirement * Fix test_package * Set win_bash to avoid the cannot wrap error * Use unix_path for the automake directory path * Fix Windows builds --------- Co-authored-by: Rubén Rincón --- recipes/gtk-doc-stub/all/conandata.yml | 1 - recipes/gtk-doc-stub/all/conanfile.py | 72 +++++++++++-------- .../all/test_package/conanfile.py | 50 +++++++------ 3 files changed, 70 insertions(+), 53 deletions(-) diff --git a/recipes/gtk-doc-stub/all/conandata.yml b/recipes/gtk-doc-stub/all/conandata.yml index f0e15055fe310..c03929cb0c469 100644 --- a/recipes/gtk-doc-stub/all/conandata.yml +++ b/recipes/gtk-doc-stub/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "cci.20181216": - patch_file: "patches/0001-relocatable-gtkdocize.patch" - base_path: "source_subfolder" diff --git a/recipes/gtk-doc-stub/all/conanfile.py b/recipes/gtk-doc-stub/all/conanfile.py index dc86c338bb133..e2a8032aad958 100644 --- a/recipes/gtk-doc-stub/all/conanfile.py +++ b/recipes/gtk-doc-stub/all/conanfile.py @@ -1,8 +1,13 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import functools +from conan import ConanFile +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import unix_path_package_info_legacy + import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class GtkDocStubConan(ConanFile): @@ -12,54 +17,59 @@ class GtkDocStubConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "GPL-2.0-or-later" topics = ("gtk", "documentation", "gtkdocize") + package_type = "application" settings = "os" - exports_sources = "patches/*" - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + 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_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 package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - args = [ - "--datadir={}".format(tools.unix_path(os.path.join(self.package_folder, "res"))), - "--datarootdir={}".format(tools.unix_path(os.path.join(self.package_folder, "res"))), - ] - autotools.configure(args=args, configure_dir=self._source_subfolder) - return autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + tc = AutotoolsToolchain(self) + tc.configure_args.append("--datarootdir=${prefix}/res") + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - autotools = self._configure_autotools() + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - autotools = self._configure_autotools() + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() def package_info(self): + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] self.cpp_info.resdirs = ["res"] - automake_dir = tools.unix_path(os.path.join(self.package_folder, "res", "aclocal")) - self.output.info("Appending AUTOMAKE_CONAN_INCLUDES environment variable: {}".format(automake_dir)) + self.buildenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) + + automake_dir = unix_path_package_info_legacy(self, os.path.join(self.package_folder, "res", "aclocal")) + self.buildenv_info.append_path("AUTOMAKE_CONAN_INCLUDES", automake_dir) + + # TODO: remove the following when only Conan 2.0 is supported + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.env_info.AUTOMAKE_CONAN_INCLUDES.append(automake_dir) diff --git a/recipes/gtk-doc-stub/all/test_package/conanfile.py b/recipes/gtk-doc-stub/all/test_package/conanfile.py index 9346d5cf9cd7a..f3486b7aa5a22 100644 --- a/recipes/gtk-doc-stub/all/test_package/conanfile.py +++ b/recipes/gtk-doc-stub/all/test_package/conanfile.py @@ -1,37 +1,45 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import os -import shutil +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.files import copy +from conan.tools.env import VirtualBuildEnv +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - exports_sources = "configure.ac", + exports_sources = "configure.ac" test_type = "explicit" + win_bash = True # This assignment must be *here* to avoid "Cannot wrap command with different envs." in Conan 1.x @property def _settings_build(self): return getattr(self, "settings_build", self.settings) - def requirements(self): - self.requires(self.tested_reference_str) + def layout(self): + basic_layout(self) def build_requirements(self): - self.build_requires(self.tested_reference_str) - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - self.build_requires("automake/1.16.4") + self.tool_requires(self.tested_reference_str) + if self._settings_build.os == "Windows": + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + self.tool_requires("automake/1.16.5") + + def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + tc = AutotoolsToolchain(self) + tc.configure_args.append("--enable-option-checking=fatal") + tc.configure_args.append("--enable-gtk-doc=no") + tc.generate() def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), - os.path.join(self.build_folder, src)) - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), run_environment=True, win_bash=tools.os_info.is_windows) - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - args = [ - "--enable-option-checking=fatal", - "--enable-gtk-doc=no", - ] - autotools.configure(args=args) + copy(self, "configure.ac", self.export_sources_folder, self.build_folder) + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() def test(self): - self.run("gtkdocize --copy", run_environment=True, win_bash=tools.os_info.is_windows) + if can_run(self): + self.run(f"gtkdocize --version", env="conanbuild") From 332887800b6b8d2efeb06220a131d1eacb958179 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 20 Jun 2023 17:04:40 -0500 Subject: [PATCH 0589/4087] (#17658) cairo: Add package_type and bump dependencies --- recipes/cairo/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/cairo/all/conanfile.py b/recipes/cairo/all/conanfile.py index 1ee19505ae145..e1166eb30e7ea 100644 --- a/recipes/cairo/all/conanfile.py +++ b/recipes/cairo/all/conanfile.py @@ -26,10 +26,11 @@ class CairoConan(ConanFile): name = "cairo" description = "Cairo is a 2D graphics library with support for multiple output devices" - topics = ("cairo", "graphics") + topics = ("graphics") url = "https://github.com/conan-io/conan-center-index" homepage = "https://cairographics.org/" license = ("LGPL-2.1-only", "MPL-1.1") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -85,12 +86,12 @@ def requirements(self): if self.options.get_safe("with_freetype", True): self.requires("freetype/2.13.0") if self.options.get_safe("with_fontconfig", False): - self.requires("fontconfig/2.13.93") + self.requires("fontconfig/2.14.2") if self.settings.os == "Linux": if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system") if self.options.get_safe("with_glib", True): - self.requires("glib/2.76.1") + self.requires("glib/2.76.2") self.requires("zlib/1.2.13") self.requires("pixman/0.40.0") self.requires("libpng/1.6.39") From 5271fa06fe36582d244f06a845a437f338dad219 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 07:42:51 +0900 Subject: [PATCH 0590/4087] (#17592) mailio: add version 0.22.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mailio: add version 0.22.0 * add transitive_headers * Apply suggestions from code review Co-authored-by: Rubén Rincón Blanco * Update recipes/mailio/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/mailio/all/conandata.yml | 7 +++++ recipes/mailio/all/conanfile.py | 6 ++-- .../all/patches/0.22.0-adapt-cmakelists.patch | 30 +++++++++++++++++++ recipes/mailio/config.yml | 2 ++ 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 recipes/mailio/all/patches/0.22.0-adapt-cmakelists.patch diff --git a/recipes/mailio/all/conandata.yml b/recipes/mailio/all/conandata.yml index 068f2f54981f1..b111e743965da 100644 --- a/recipes/mailio/all/conandata.yml +++ b/recipes/mailio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.22.0": + url: "https://github.com/karastojko/mailio/archive/refs/tags/0.22.0.tar.gz" + sha256: "e177522f0479f33b6cbc7085268ca385140457eb752b45f07e5d6b41e314ece9" "0.21.0": url: "https://github.com/karastojko/mailio/archive/refs/tags/0.21.0.tar.gz" sha256: "8f58dfc8bcbe01224c788f22c544c27611e3c411ed5a2097488fbb32a3c0fb3d" @@ -6,6 +9,10 @@ sources: url: "https://github.com/karastojko/mailio/archive/refs/tags/0.20.0.tar.gz" sha256: "073d6b1ff891444b54a01c2a3f17074fd612f9e2e14d9ebd61863c70737b1882" patches: + "0.22.0": + - patch_file: "patches/0.22.0-adapt-cmakelists.patch" + patch_description: "fix install path" + patch_type: "conan" "0.21.0": - patch_file: "patches/0.21.0-adapt-cmakelists.patch" patch_description: "fix install path" diff --git a/recipes/mailio/all/conanfile.py b/recipes/mailio/all/conanfile.py index 67ea0faeba25f..0222d864db414 100644 --- a/recipes/mailio/all/conanfile.py +++ b/recipes/mailio/all/conanfile.py @@ -57,8 +57,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0", transitive_headers=True) - self.requires("openssl/[>=1.1 <4]") + self.requires("boost/1.81.0", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.get_safe("compiler.cppstd"): @@ -84,6 +84,8 @@ def generate(self): tc.variables["MAILIO_BUILD_SHARED_LIBRARY"] = self.options.shared tc.variables["MAILIO_BUILD_DOCUMENTATION"] = False tc.variables["MAILIO_BUILD_EXAMPLES"] = False + if Version(self.version) >= "0.22.0": + tc.variables["MAILIO_BUILD_TESTS"] = False tc.generate() deps = CMakeDeps(self) diff --git a/recipes/mailio/all/patches/0.22.0-adapt-cmakelists.patch b/recipes/mailio/all/patches/0.22.0-adapt-cmakelists.patch new file mode 100644 index 0000000000000..417d346368830 --- /dev/null +++ b/recipes/mailio/all/patches/0.22.0-adapt-cmakelists.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a79e042..9306cba 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -145,7 +145,7 @@ configure_file(mailio.pc.in ${CMAKE_BINARY_DIR}/mailio.pc IMMEDIATE @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/mailio.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) + + configure_file(${PROJECT_SOURCE_DIR}/include/version.hpp.in version.hpp) +-install(FILES ${CMAKE_BINARY_DIR}/version.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) ++install(FILES ${PROJECT_BINARY_DIR}/version.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) + + # generate the export header for exporting symbols + # this is needed to generate a shared library. +@@ -181,16 +181,11 @@ endif() + install(DIRECTORY include/mailio DESTINATION ${INCLUDE_INSTALL_DIR}) + + install(TARGETS ${PROJECT_NAME} +- EXPORT ${PROJECT_NAME}Config + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} + ) + +-export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) +- +-install(EXPORT ${PROJECT_NAME}Config DESTINATION share/${PROJECT_NAME}/cmake) +- + # optionally build examples + if(${MAILIO_BUILD_EXAMPLES}) + add_subdirectory(examples) diff --git a/recipes/mailio/config.yml b/recipes/mailio/config.yml index ad2748292fb8c..683db0fec7b2d 100644 --- a/recipes/mailio/config.yml +++ b/recipes/mailio/config.yml @@ -1,4 +1,6 @@ versions: + "0.22.0": + folder: all "0.21.0": folder: all "0.20.0": From 2ce5d183f739e534712b714ddbe372746393beb8 Mon Sep 17 00:00:00 2001 From: Emil Dotchevski Date: Tue, 20 Jun 2023 16:22:48 -0700 Subject: [PATCH 0591/4087] (#17568) leaf-1.82.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/boost-leaf/all/conandata.yml | 3 +++ recipes/boost-leaf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/boost-leaf/all/conandata.yml b/recipes/boost-leaf/all/conandata.yml index 42c2ccab24961..7ea0efeaa464d 100644 --- a/recipes/boost-leaf/all/conandata.yml +++ b/recipes/boost-leaf/all/conandata.yml @@ -2,3 +2,6 @@ sources: "1.81.0": url: "https://github.com/boostorg/leaf/archive/refs/tags/1.81.0.tar.gz" sha256: "6a2bfa8727891e844f1f95c9c68af192f4c5f53b1707acce54290932118b48c0" + "1.82.0": + url: "https://github.com/boostorg/leaf/archive/refs/tags/boost-1.82.0.tar.gz" + sha256: "0917b22b60a2980bf5e33a393a8545dc6a4a7006c8ca8b78280d1cdb965d75f3" diff --git a/recipes/boost-leaf/config.yml b/recipes/boost-leaf/config.yml index 80eea4560f825..e86af291ae99f 100644 --- a/recipes/boost-leaf/config.yml +++ b/recipes/boost-leaf/config.yml @@ -1,3 +1,5 @@ versions: "1.81.0": folder: "all" + "1.82.0": + folder: "all" From 7ff7a8a09c07e01b5b10974e159a18950df5f32c Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Wed, 21 Jun 2023 02:03:01 +0200 Subject: [PATCH 0592/4087] (#17547) glpk: Add recipe with conan v2 support --- recipes/glpk/all/conanfile.py | 168 +++++++----------- recipes/glpk/all/test_package/CMakeLists.txt | 7 +- recipes/glpk/all/test_package/conanfile.py | 28 +-- recipes/glpk/all/test_package/test_package.c | 75 ++++---- .../glpk/all/test_v1_package/CMakeLists.txt | 8 + recipes/glpk/all/test_v1_package/conanfile.py | 17 ++ 6 files changed, 146 insertions(+), 157 deletions(-) create mode 100644 recipes/glpk/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/glpk/all/test_v1_package/conanfile.py diff --git a/recipes/glpk/all/conanfile.py b/recipes/glpk/all/conanfile.py index e03f104fe6d73..7c7e12af60356 100644 --- a/recipes/glpk/all/conanfile.py +++ b/recipes/glpk/all/conanfile.py @@ -1,10 +1,15 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conan.tools.files import rename -from conan.tools.microsoft import is_msvc -from contextlib import contextmanager +from conan import ConanFile, conan_version +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rename, rm +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, unix_path +from conan.tools.scm import Version import os -required_conan_version = ">=1.45.0" +required_conan_version = ">=1.54.0" class GlpkConan(ConanFile): @@ -14,137 +19,98 @@ class GlpkConan(ConanFile): topics = ("linear", "programming", "simplex", "solver") url = "https://github.com/conan-io/conan-center-index" license = "GPL-3.0-or-later" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], } - default_options = { "shared": False, "fPIC": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") def build_requirements(self): - self.build_requires("libtool/2.4.6") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + self.tool_requires("libtool/2.4.7") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if is_msvc(self): + self.tool_requires("automake/1.16.5") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) + 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") - @contextmanager - def _build_context(self): + tc = AutotoolsToolchain(self) if is_msvc(self): - with tools.vcvars(self): - env = { - "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)), - "LD": "{} link -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - "AR": "{} lib".format(tools.unix_path(self._user_info_build["automake"].ar_lib)), - } - with tools.environment_append(env): - yield - else: - yield - - def _patch_source(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows, run_environment=True) - tools.replace_in_file(os.path.join(self._source_subfolder, "configure"), - r"-install_name \$rpath/", - "-install_name @rpath/") - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - - self._autotools.libs = [] - yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - "--with-pic={}".format(yes_no(self.options.get_safe("fPIC", True))) - ] + tc.extra_defines.append("__WOE__") + if (Version(conan_version).major < "2" and self.settings.compiler == "Visual Studio" \ + and Version(self.settings.compiler.version) >= "12") or \ + (self.settings.compiler == "msvc" and Version(self.settings.compiler.version) >= "180"): + tc.extra_cflags.append("-FS") + tc.generate() if is_msvc(self): - self._autotools.defines.append("__WOE__") - if self.settings.compiler == "Visual Studio" and \ - tools.Version(self.settings.compiler.version) >= "12": - self._autotools.flags.append("-FS") - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f"{ar_wrapper} \"lib -nologo\"") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") def build(self): - #self._patch_source() - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + fix_apple_shared_install_name(self) if is_msvc(self) and self.options.shared: pjoin = lambda p: os.path.join(self.package_folder, "lib", p) rename(self, pjoin("glpk.dll.lib"), pjoin("glpk.lib")) def package_info(self): - self.cpp_info.set_property("cmake_find_mode", "both") - self.cpp_info.set_property("cmake_file_name", "glpk") - self.cpp_info.set_property("cmake_target_name", "glpk::glpk") - self.cpp_info.set_property("pkg_config_name", "glpk") - - self.cpp_info.components["libglpk"].set_property("cmake_target_name", "glpk::glpk") - self.cpp_info.components["libglpk"].libs = ["glpk"] - - if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.components["libglpk"].system_libs = ["m"] - - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment var: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "glpk" - self.cpp_info.names["cmake_find_package_multi"] = "glpk" - self.cpp_info.components["libglpk"].names["cmake_find_package"] = "glpk" - self.cpp_info.components["libglpk"].names["cmake_find_package_multi"] = "glpk" - + self.cpp_info.libs = ["glpk"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + # TODO: to remove in conan v2 + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/glpk/all/test_package/CMakeLists.txt b/recipes/glpk/all/test_package/CMakeLists.txt index 3258d5f78ee30..b283b9e10c4e0 100644 --- a/recipes/glpk/all/test_package/CMakeLists.txt +++ b/recipes/glpk/all/test_package/CMakeLists.txt @@ -1,10 +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(glpk CONFIG REQUIRED) +find_package(glpk REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE glpk::glpk) diff --git a/recipes/glpk/all/test_package/conanfile.py b/recipes/glpk/all/test_package/conanfile.py index 66177d47bc143..0a6bc68712d90 100644 --- a/recipes/glpk/all/test_package/conanfile.py +++ b/recipes/glpk/all/test_package/conanfile.py @@ -1,17 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools -class GlpkTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" - #def 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 requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -19,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/glpk/all/test_package/test_package.c b/recipes/glpk/all/test_package/test_package.c index 965bd82a292c4..4c43ab6e7eb91 100644 --- a/recipes/glpk/all/test_package/test_package.c +++ b/recipes/glpk/all/test_package/test_package.c @@ -11,44 +11,43 @@ int main(void) { glp_prob *lp; int ia[1+1000], ja[1+1000]; double ar[1+1000], z, x1, x2, x3; -s1: lp = glp_create_prob(); -s2: glp_set_prob_name(lp, "sample"); -s3: glp_set_obj_dir(lp, GLP_MAX); -s4: glp_add_rows(lp, 3); -s5: glp_set_row_name(lp, 1, "p"); -s6: glp_set_row_bnds(lp, 1, GLP_UP, 0.0, 100.0); -s7: glp_set_row_name(lp, 2, "q"); -s8: glp_set_row_bnds(lp, 2, GLP_UP, 0.0, 600.0); -s9: glp_set_row_name(lp, 3, "r"); -s10: glp_set_row_bnds(lp, 3, GLP_UP, 0.0, 300.0); -s11: glp_add_cols(lp, 3); -s12: glp_set_col_name(lp, 1, "x1"); -s13: glp_set_col_bnds(lp, 1, GLP_LO, 0.0, 0.0); -s14: glp_set_obj_coef(lp, 1, 10.0); -s15: glp_set_col_name(lp, 2, "x2"); -s16: glp_set_col_bnds(lp, 2, GLP_LO, 0.0, 0.0); -s17: glp_set_obj_coef(lp, 2, 6.0); -s18: glp_set_col_name(lp, 3, "x3"); -s19: glp_set_col_bnds(lp, 3, GLP_LO, 0.0, 0.0); -s20: glp_set_obj_coef(lp, 3, 4.0); -s21: ia[1] = 1, ja[1] = 1, ar[1] = 1.0; /* a[1,1] = 1 */ -s22: ia[2] = 1, ja[2] = 2, ar[2] = 1.0; /* a[1,2] = 1 */ -s23: ia[3] = 1, ja[3] = 3, ar[3] = 1.0; /* a[1,3] = 1 */ -s24: ia[4] = 2, ja[4] = 1, ar[4] = 10.0; /* a[2,1] = 10 */ -s25: ia[5] = 3, ja[5] = 1, ar[5] = 2.0; /* a[3,1] = 2 */ -s26: ia[6] = 2, ja[6] = 2, ar[6] = 4.0; /* a[2,2] = 4 */ -s27: ia[7] = 3, ja[7] = 2, ar[7] = 2.0; /* a[3,2] = 2 */ -s28: ia[8] = 2, ja[8] = 3, ar[8] = 5.0; /* a[2,3] = 5 */ -s29: ia[9] = 3, ja[9] = 3, ar[9] = 6.0; /* a[3,3] = 6 */ -s30: glp_load_matrix(lp, 9, ia, ja, ar); -s31: glp_simplex(lp, NULL); -s32: z = glp_get_obj_val(lp); -s33: x1 = glp_get_col_prim(lp, 1); -s34: x2 = glp_get_col_prim(lp, 2); -s35: x3 = glp_get_col_prim(lp, 3); -s36: printf("\nz = %g; x1 = %g; x2 = %g; x3 = %g\n", + lp = glp_create_prob(); + glp_set_prob_name(lp, "sample"); + glp_set_obj_dir(lp, GLP_MAX); + glp_add_rows(lp, 3); + glp_set_row_name(lp, 1, "p"); + glp_set_row_bnds(lp, 1, GLP_UP, 0.0, 100.0); + glp_set_row_name(lp, 2, "q"); + glp_set_row_bnds(lp, 2, GLP_UP, 0.0, 600.0); + glp_set_row_name(lp, 3, "r"); + glp_set_row_bnds(lp, 3, GLP_UP, 0.0, 300.0); + glp_add_cols(lp, 3); + glp_set_col_name(lp, 1, "x1"); + glp_set_col_bnds(lp, 1, GLP_LO, 0.0, 0.0); + glp_set_obj_coef(lp, 1, 10.0); + glp_set_col_name(lp, 2, "x2"); + glp_set_col_bnds(lp, 2, GLP_LO, 0.0, 0.0); + glp_set_obj_coef(lp, 2, 6.0); + glp_set_col_name(lp, 3, "x3"); + glp_set_col_bnds(lp, 3, GLP_LO, 0.0, 0.0); + glp_set_obj_coef(lp, 3, 4.0); + ia[1] = 1, ja[1] = 1, ar[1] = 1.0; /* a[1,1] = 1 */ + ia[2] = 1, ja[2] = 2, ar[2] = 1.0; /* a[1,2] = 1 */ + ia[3] = 1, ja[3] = 3, ar[3] = 1.0; /* a[1,3] = 1 */ + ia[4] = 2, ja[4] = 1, ar[4] = 10.0; /* a[2,1] = 10 */ + ia[5] = 3, ja[5] = 1, ar[5] = 2.0; /* a[3,1] = 2 */ + ia[6] = 2, ja[6] = 2, ar[6] = 4.0; /* a[2,2] = 4 */ + ia[7] = 3, ja[7] = 2, ar[7] = 2.0; /* a[3,2] = 2 */ + ia[8] = 2, ja[8] = 3, ar[8] = 5.0; /* a[2,3] = 5 */ + ia[9] = 3, ja[9] = 3, ar[9] = 6.0; /* a[3,3] = 6 */ + glp_load_matrix(lp, 9, ia, ja, ar); + glp_simplex(lp, NULL); + z = glp_get_obj_val(lp); + x1 = glp_get_col_prim(lp, 1); + x2 = glp_get_col_prim(lp, 2); + x3 = glp_get_col_prim(lp, 3); + printf("\nz = %g; x1 = %g; x2 = %g; x3 = %g\n", z, x1, x2, x3); -s37: glp_delete_prob(lp); + glp_delete_prob(lp); return 0; } - diff --git a/recipes/glpk/all/test_v1_package/CMakeLists.txt b/recipes/glpk/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/glpk/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/glpk/all/test_v1_package/conanfile.py b/recipes/glpk/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/glpk/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ef772df744c741137455d355f2ff4a5e4fe9c296 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 21 Jun 2023 01:43:36 +0100 Subject: [PATCH 0593/4087] (#17484) CUB: add recipe * cub: add recipe Limited to < v2 initially, since v2 requires libcudacxx, which is not available on ConanCenter. * cub: fix license not being copied correctly * cub: fix YAML formatting * cub: drop test_v1_package --- recipes/cub/all/conandata.yml | 4 + recipes/cub/all/conanfile.py | 85 +++++++++++++++++++ recipes/cub/all/test_package/CMakeLists.txt | 8 ++ recipes/cub/all/test_package/conanfile.py | 26 ++++++ recipes/cub/all/test_package/test_package.cpp | 9 ++ recipes/cub/config.yml | 3 + 6 files changed, 135 insertions(+) create mode 100644 recipes/cub/all/conandata.yml create mode 100644 recipes/cub/all/conanfile.py create mode 100644 recipes/cub/all/test_package/CMakeLists.txt create mode 100644 recipes/cub/all/test_package/conanfile.py create mode 100644 recipes/cub/all/test_package/test_package.cpp create mode 100644 recipes/cub/config.yml diff --git a/recipes/cub/all/conandata.yml b/recipes/cub/all/conandata.yml new file mode 100644 index 0000000000000..b266ef302799f --- /dev/null +++ b/recipes/cub/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.17.2": + url: "https://github.com/NVIDIA/cub/archive/refs/tags/1.17.2.tar.gz" + sha256: "1013a595794548c359f22c07e1f8c620b97e3a577f7e8496d9407f74566a3e2a" diff --git a/recipes/cub/all/conanfile.py b/recipes/cub/all/conanfile.py new file mode 100644 index 0000000000000..2cde129243380 --- /dev/null +++ b/recipes/cub/all/conanfile.py @@ -0,0 +1,85 @@ +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 CubConan(ConanFile): + name = "cub" + description = "Cooperative primitives for CUDA C++" + license = "BSD 3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/project/cub" + topics = ("algorithms", "cuda", "gpu", "nvidia", "nvidia-hpc-sdk") + 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 { + "Visual Studio": "15", + "msvc": "14.1", + "gcc": "5", + "clang": "5", + "apple-clang": "5.1", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy( + self, + pattern="LICENSE.TXT", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*.cuh", + dst=os.path.join(self.package_folder, "include", "cub"), + src=os.path.join(self.source_folder, "cub"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + # Follows the naming conventions of the official CMake config file: + # https://github.com/NVIDIA/cub/blob/main/cub/cmake/cub-config.cmake + + self.cpp_info.set_property("cmake_file_name", "cub") + self.cpp_info.set_property("cmake_target_name", "CUB::CUB") + self.cpp_info.set_property("pkg_config_name", "cub") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "cub" + self.cpp_info.filenames["cmake_find_package_multi"] = "cub" + self.cpp_info.names["cmake_find_package"] = "CUB" + self.cpp_info.names["cmake_find_package_multi"] = "CUB" diff --git a/recipes/cub/all/test_package/CMakeLists.txt b/recipes/cub/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..da40597464dd4 --- /dev/null +++ b/recipes/cub/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cub REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE CUB::CUB) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/cub/all/test_package/conanfile.py b/recipes/cub/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cub/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/cub/all/test_package/test_package.cpp b/recipes/cub/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..60b6a6e4b6475 --- /dev/null +++ b/recipes/cub/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include +#include +#include + +int main() { + std::cout << "CUB version: " << + CUB_MAJOR_VERSION << "." << CUB_MINOR_VERSION << "." << CUB_SUBMINOR_VERSION << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/cub/config.yml b/recipes/cub/config.yml new file mode 100644 index 0000000000000..bcae7d8610bb8 --- /dev/null +++ b/recipes/cub/config.yml @@ -0,0 +1,3 @@ +versions: + "1.17.2": + folder: all From af770be1e683c603abe7c093e1ddfc4be88fd1f5 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Wed, 21 Jun 2023 03:22:30 +0200 Subject: [PATCH 0594/4087] (#17923) artery-font-format: conan v2 support * artery-font-format: conan v2 support * remove test_v1_package test_v1_package is no longer necessary --- recipes/artery-font-format/all/conanfile.py | 36 +++++++++++++------ .../all/test_package/CMakeLists.txt | 11 +++--- .../all/test_package/conanfile.py | 22 ++++++++---- 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/recipes/artery-font-format/all/conanfile.py b/recipes/artery-font-format/all/conanfile.py index a477d0ff0e98a..0b2ff0a648da1 100644 --- a/recipes/artery-font-format/all/conanfile.py +++ b/recipes/artery-font-format/all/conanfile.py @@ -1,6 +1,8 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.files import get, copy +import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class ArteryFontFormatConan(ConanFile): @@ -10,18 +12,30 @@ class ArteryFontFormatConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "Artery Atlas Font format library" topics = ("artery", "font", "atlas") - + package_type = "header-library" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + # header only: no build step + pass def package(self): - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") - self.copy("*.h", src=self._source_subfolder, dst="include") - self.copy("*.hpp", src=self._source_subfolder, dst="include") + copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, + ) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, + ) diff --git a/recipes/artery-font-format/all/test_package/CMakeLists.txt b/recipes/artery-font-format/all/test_package/CMakeLists.txt index 454c47bb2cbab..240a8cec38d93 100644 --- a/recipes/artery-font-format/all/test_package/CMakeLists.txt +++ b/recipes/artery-font-format/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(artery-font-format REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} 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 c53028872776c..26110ca175735 100644 --- a/recipes/artery-font-format/all/test_package/conanfile.py +++ b/recipes/artery-font-format/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -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 +# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake" + 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) @@ -12,7 +22,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") arfont = os.path.join(self.source_folder, "example.arfont") - self.run("{} {}".format(bin_path, arfont), run_environment=True) + self.run(f"{bin_path} {arfont}", env="conanrun") From 30f9fc8b0246e394d9ff83571d9fe1192ba58df5 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Wed, 21 Jun 2023 04:03:13 +0200 Subject: [PATCH 0595/4087] (#17369) [sentry-crashpad] Add version 0.6.2 * [sentry-crashpad] Add version 0.6.2 * Bump libcurl to 8.1.2 * Use a range for OpenSSL * Fix handler path in test_package for conan v2 * Add change from https://github.com/conan-io/conan-center-index/pull/16713 --- recipes/sentry-crashpad/all/conandata.yml | 3 +++ recipes/sentry-crashpad/all/conanfile.py | 11 ++++++----- .../sentry-crashpad/all/test_package/conanfile.py | 12 ++++++++---- recipes/sentry-crashpad/config.yml | 2 ++ 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/recipes/sentry-crashpad/all/conandata.yml b/recipes/sentry-crashpad/all/conandata.yml index 2bf59ee52fc8f..21ccf617970ea 100644 --- a/recipes/sentry-crashpad/all/conandata.yml +++ b/recipes/sentry-crashpad/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.2": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" + sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.6.1": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" diff --git a/recipes/sentry-crashpad/all/conanfile.py b/recipes/sentry-crashpad/all/conanfile.py index cd2118a3e0d3c..645ba8aaf554d 100644 --- a/recipes/sentry-crashpad/all/conanfile.py +++ b/recipes/sentry-crashpad/all/conanfile.py @@ -8,7 +8,7 @@ import os -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.53.0" class SentryCrashpadConan(ConanFile): @@ -18,9 +18,8 @@ class SentryCrashpadConan(ConanFile): homepage = "https://github.com/getsentry/sentry-native" license = "Apache-2.0" topics = ("crashpad", "error-reporting", "crash-reporting") - provides = "crashpad", "mini_chromium" - + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -41,6 +40,7 @@ def _is_mingw(self): def _minimum_compilers_version(self): return { "Visual Studio": "16", + "msvc": "191", "gcc": "6", "clang": "3.4", "apple-clang": "5.1", @@ -62,9 +62,9 @@ def build_requirements(self): def requirements(self): self.requires("zlib/1.2.13") if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.1.2") if self.options.get_safe("with_tls"): - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -144,6 +144,7 @@ def package_info(self): self.cpp_info.components["crashpad_util"].requires = ["crashpad_compat", "crashpad_mini_chromium", "zlib::zlib"] if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.components["crashpad_util"].system_libs.extend(["pthread", "rt"]) + # Requires libcurl https://github.com/getsentry/crashpad/blob/2237d97ee2c38c930c07001e660be57324f69a37/util/CMakeLists.txt#L256 self.cpp_info.components["crashpad_util"].requires.extend(["libcurl::libcurl"]) elif self.settings.os == "Windows": self.cpp_info.components["crashpad_util"].system_libs.append("winhttp") diff --git a/recipes/sentry-crashpad/all/test_package/conanfile.py b/recipes/sentry-crashpad/all/test_package/conanfile.py index 3a9d92c6be51d..b1079103ac7c1 100644 --- a/recipes/sentry-crashpad/all/test_package/conanfile.py +++ b/recipes/sentry-crashpad/all/test_package/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.files import mkdir +from conan.tools.files import mkdir, save, load from conan.tools.cmake import cmake_layout, CMake import os @@ -16,6 +16,11 @@ def requirements(self): def layout(self): cmake_layout(self) + def generate(self): + handler_exe = "crashpad_handler.exe" if self.settings.os == "Windows" else "crashpad_handler" + handler_bin_path = os.path.join(self.dependencies[self.tested_reference_str].package_folder, "bin", handler_exe) + save(self, os.path.join(self.build_folder, "handler_bin_path"), handler_bin_path) + def build(self): cmake = CMake(self) cmake.configure() @@ -26,6 +31,5 @@ def test(self): test_env_dir = "test_env" mkdir(self, test_env_dir) bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - handler_exe = "crashpad_handler.exe" if self.settings.os == "Windows" else "crashpad_handler" - handler_bin_path = os.path.join(self.deps_cpp_info["sentry-crashpad"].bin_paths[0], handler_exe) - self.run(f"{bin_path} {test_env_dir} {handler_bin_path}", run_environment=True) + handler_bin_path = load(self, os.path.join(self.build_folder, "handler_bin_path")) + self.run(f"{bin_path} {test_env_dir} {handler_bin_path}", env="conanrun") diff --git a/recipes/sentry-crashpad/config.yml b/recipes/sentry-crashpad/config.yml index ea4872076354c..2e0e20ffce3ff 100644 --- a/recipes/sentry-crashpad/config.yml +++ b/recipes/sentry-crashpad/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.2": + folder: all "0.6.1": folder: all "0.6.0": From 0646377ec33d0868b00af8307233766cb286077f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 21 Jun 2023 04:02:42 +0100 Subject: [PATCH 0596/4087] (#17346) console_bridge: add recipe * console_bridge: add recipe * console_bridge: disable linting during unit tests * console_bridge: use description from GitHub project summary * console_bridge: remove unused USE_MSVC_RUNTIME_LIBRARY_DLL * console_bridge: Add 'm' to system_libs * console_bridge: improve conanfile.py - Add src_folder="src" to cmake_layout(). - Add minimum cppstd >= 14. - Explicitly set the CMake package and target names. * console_bridge: replace test_requires() -> build_requires() * console_bridge: drop test_v1_package * console_bridge: drop skip_test=False support For a simpler recipe. * console_bridge: simplify patch a bit * console_bridge: remove unnecessary cpp_info properties Co-authored-by: Uilian Ries * console_bridge: remove *.cmake and *.pc in recipe --------- Co-authored-by: Uilian Ries --- recipes/console_bridge/all/conandata.yml | 4 + recipes/console_bridge/all/conanfile.py | 79 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 9 +++ recipes/console_bridge/config.yml | 3 + 6 files changed, 129 insertions(+) create mode 100644 recipes/console_bridge/all/conandata.yml create mode 100644 recipes/console_bridge/all/conanfile.py create mode 100644 recipes/console_bridge/all/test_package/CMakeLists.txt create mode 100644 recipes/console_bridge/all/test_package/conanfile.py create mode 100644 recipes/console_bridge/all/test_package/test_package.cpp create mode 100644 recipes/console_bridge/config.yml diff --git a/recipes/console_bridge/all/conandata.yml b/recipes/console_bridge/all/conandata.yml new file mode 100644 index 0000000000000..b08e5584e75a4 --- /dev/null +++ b/recipes/console_bridge/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/ros/console_bridge/archive/refs/tags/1.0.2.tar.gz" + sha256: "303a619c01a9e14a3c82eb9762b8a428ef5311a6d46353872ab9a904358be4a4" diff --git a/recipes/console_bridge/all/conanfile.py b/recipes/console_bridge/all/conanfile.py new file mode 100644 index 0000000000000..489534f60bd16 --- /dev/null +++ b/recipes/console_bridge/all/conanfile.py @@ -0,0 +1,79 @@ +import os + +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 copy, get, rm, rmdir + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "console_bridge" + description = "A ROS-independent library for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ros/console_bridge" + topics = ("logging", "ros", "robotics") + 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 14 + + 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): + pass + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + CMakeDeps(self).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() + + rm(self, "*.pdb", os.path.join(self.package_folder)) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "console_bridge")) + rmdir(self, os.path.join(self.package_folder, "CMake")) + + def package_info(self): + self.cpp_info.libs = ["console_bridge"] + + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] diff --git a/recipes/console_bridge/all/test_package/CMakeLists.txt b/recipes/console_bridge/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c15ea1a1502bc --- /dev/null +++ b/recipes/console_bridge/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(console_bridge REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE console_bridge::console_bridge) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/console_bridge/all/test_package/conanfile.py b/recipes/console_bridge/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/console_bridge/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/console_bridge/all/test_package/test_package.cpp b/recipes/console_bridge/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..1c02a2b52e784 --- /dev/null +++ b/recipes/console_bridge/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +#include + +int main() { + console_bridge::setLogLevel(console_bridge::CONSOLE_BRIDGE_LOG_DEBUG); + CONSOLE_BRIDGE_logInform("CONSOLE_BRIDGE_logInform() ran successfully"); + return EXIT_SUCCESS; +} diff --git a/recipes/console_bridge/config.yml b/recipes/console_bridge/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/console_bridge/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all From 016ace90d45cc191e095d5dc070b27d5ecdee6f3 Mon Sep 17 00:00:00 2001 From: Anton Date: Wed, 21 Jun 2023 06:43:38 +0300 Subject: [PATCH 0597/4087] (#17312) clickhouse-cpp: add library * * clickhouse-cpp init * update clickhouse * fix version * eof fix * linter fix * fix for win shared build * try to fix old generators * Build fixes * Fix abseil * fix naming * compiler restrictions * missing cpp_std * fix package * possible workaround for __muloti4 * do not print fail * typo * Update conanfile.py does this help? * Update conanfile.py gcc rt lib * remove build_tests * Update conanfile.py * Apply suggestions from code review Co-authored-by: Uilian Ries * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update recipes/clickhouse-cpp/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/clickhouse-cpp/all/conandata.yml | 4 + recipes/clickhouse-cpp/all/conanfile.py | 126 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 9 ++ .../all/test_package/conanfile.py | 29 ++++ .../all/test_package/test_package.cpp | 28 ++++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ recipes/clickhouse-cpp/config.yml | 3 + 8 files changed, 224 insertions(+) create mode 100644 recipes/clickhouse-cpp/all/conandata.yml create mode 100644 recipes/clickhouse-cpp/all/conanfile.py create mode 100644 recipes/clickhouse-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/clickhouse-cpp/all/test_package/conanfile.py create mode 100644 recipes/clickhouse-cpp/all/test_package/test_package.cpp create mode 100644 recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/clickhouse-cpp/all/test_v1_package/conanfile.py create mode 100644 recipes/clickhouse-cpp/config.yml diff --git a/recipes/clickhouse-cpp/all/conandata.yml b/recipes/clickhouse-cpp/all/conandata.yml new file mode 100644 index 0000000000000..67cb91f1f1a6c --- /dev/null +++ b/recipes/clickhouse-cpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.4.0": + url: "https://github.com/ClickHouse/clickhouse-cpp/archive/refs/tags/v2.4.0.tar.gz" + sha256: "336a1d0b4c4d6bd67bd272afab3bdac51695f8b0e93dd6c85d4d774d6c7df8ad" diff --git a/recipes/clickhouse-cpp/all/conanfile.py b/recipes/clickhouse-cpp/all/conanfile.py new file mode 100644 index 0000000000000..9586c0240cbc1 --- /dev/null +++ b/recipes/clickhouse-cpp/all/conanfile.py @@ -0,0 +1,126 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain,CMakeDeps, cmake_layout +from conan.tools.files import copy, get +from conan.tools.build import check_min_cppstd +from conan.errors import ConanInvalidConfiguration +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class ClickHouseCppConan(ConanFile): + name = "clickhouse-cpp" + homepage = "https://github.com/ClickHouse/clickhouse-cpp" + url = "https://github.com/conan-io/conan-center-index" + description = "ClickHouse C++ API" + license = "Apache-2.0" + topics = ("database", "db", "clickhouse") + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "enable_benchmark": [True, False], + "with_openssl": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "enable_benchmark": False, + "with_openssl": False + } + + def requirements(self): + + self.requires("lz4/1.9.4") + + self.requires("abseil/20230125.3", transitive_headers=True) + + self.requires("cityhash/cci.20130801") + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + + def build_requirements(self): + if self.options.enable_benchmark: + self.requires("benchmark/1.8.0") + + @property + def _min_cppstd(self): + return "17" + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "msvc": "191", + "gcc": "7", + "clang": "6", + } + + @property + def _requires_compiler_rt(self): + return self.settings.compiler == "clang" and (( self.settings.compiler.libcxx in ["libstdc++", "libstdc++11"] and not self.options.shared) or self.settings.compiler.libcxx == "libc++" ) + + 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++17, which your compiler does not support.") + if self.settings.os == "Windows" and self.options.shared: + raise ConanInvalidConfiguration("f{self.ref} does not support shared library on Windows.") + # look at https://github.com/ClickHouse/clickhouse-cpp/pull/226 + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + 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.variables["BUILD_BENCHMARK"] = self.options.enable_benchmark + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["WITH_OPENSSL"] = self.options.with_openssl + tc.cache_variables["WITH_SYSTEM_ABSEIL"] = True + tc.cache_variables["WITH_SYSTEM_LZ4"] = True + tc.cache_variables["WITH_SYSTEM_CITYHASH"] = True + tc.generate() + + cd = CMakeDeps(self) + cd.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs.append("clickhouse-cpp-lib") + self.cpp_info.set_property("cmake_target_name", "clickhouse-cpp-lib::clickhouse-cpp-lib") + + if self._requires_compiler_rt: + ldflags = ["--rtlib=compiler-rt"] + self.cpp_info.exelinkflags = ldflags + self.cpp_info.sharedlinkflags = ldflags + self.cpp_info.system_libs.append("gcc_s") + + self.cpp_info.filenames["cmake_find_package"] = "clickhouse-cpp" + self.cpp_info.filenames["cmake_find_package_multi"] = "clickhouse-cpp" + self.cpp_info.names["cmake_find_package"] = "clickhouse-cpp-lib" + self.cpp_info.names["cmake_find_package_multi"] = "clickhouse-cpp-lib" + + if self.settings.os == 'Windows': + self.cpp_info.system_libs = ['ws2_32', 'wsock32'] diff --git a/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt b/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b042c5663ae08 --- /dev/null +++ b/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(clickhouse-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE clickhouse-cpp-lib::clickhouse-cpp-lib ) + +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/clickhouse-cpp/all/test_package/conanfile.py b/recipes/clickhouse-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..6d529581ba2f5 --- /dev/null +++ b/recipes/clickhouse-cpp/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, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + 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/clickhouse-cpp/all/test_package/test_package.cpp b/recipes/clickhouse-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..475e89847d23f --- /dev/null +++ b/recipes/clickhouse-cpp/all/test_package/test_package.cpp @@ -0,0 +1,28 @@ +#include +#include +#include +#include + +#include +#include +using namespace clickhouse; + +int main() +{ + const auto localHostEndpoint = ClientOptions() + .SetHost( "localhost") + .SetPort(9000) + .SetUser("default") + .SetPassword("") + .SetDefaultDatabase("default"); + + try { + Client client(localHostEndpoint); + } + catch (const std::exception &ex) + { + std::cout << "not connected but works" << std::endl; + } + + return 0; +} diff --git a/recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt b/recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/clickhouse-cpp/all/test_v1_package/conanfile.py b/recipes/clickhouse-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/clickhouse-cpp/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/clickhouse-cpp/config.yml b/recipes/clickhouse-cpp/config.yml new file mode 100644 index 0000000000000..e1d4aed9fe78f --- /dev/null +++ b/recipes/clickhouse-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "2.4.0": + folder: all From 984dc14c78c482af557d21afda9edadddd4c5389 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Wed, 21 Jun 2023 06:22:53 +0200 Subject: [PATCH 0598/4087] (#17138) asyncly: add package * asyncly: add package * asyncly: run test with WIN32_LEAN_AND_MEAN * asyncly: remove v1 tests --- recipes/asyncly/all/conandata.yml | 4 + recipes/asyncly/all/conanfile.py | 113 ++++++++++++++++++ .../asyncly/all/test_package/CMakeLists.txt | 10 ++ recipes/asyncly/all/test_package/conanfile.py | 26 ++++ .../asyncly/all/test_package/test_package.cpp | 16 +++ recipes/asyncly/config.yml | 3 + 6 files changed, 172 insertions(+) create mode 100644 recipes/asyncly/all/conandata.yml create mode 100644 recipes/asyncly/all/conanfile.py create mode 100644 recipes/asyncly/all/test_package/CMakeLists.txt create mode 100644 recipes/asyncly/all/test_package/conanfile.py create mode 100644 recipes/asyncly/all/test_package/test_package.cpp create mode 100644 recipes/asyncly/config.yml diff --git a/recipes/asyncly/all/conandata.yml b/recipes/asyncly/all/conandata.yml new file mode 100644 index 0000000000000..e12604057e984 --- /dev/null +++ b/recipes/asyncly/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230420": + url: "https://github.com/goto-opensource/asyncly/archive/e50ce7cf227a86ee0558a89a55f43e34f63e9316.zip" + sha256: "b5d9fcf6baddba48ad5ed5ed6e6ff50ad2ac6340e29c344fe621046e09072357" diff --git a/recipes/asyncly/all/conanfile.py b/recipes/asyncly/all/conanfile.py new file mode 100644 index 0000000000000..1f48e267d577a --- /dev/null +++ b/recipes/asyncly/all/conanfile.py @@ -0,0 +1,113 @@ +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.files import get, copy, rm, 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 PackageConan(ConanFile): + name = "asyncly" + description = "High level concurrency primitives for C++" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/goto-opensource/asyncly" + topics = ("c++", "asynchronous", "communication") + 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 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "13", + "apple-clang": "13", + } + + 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("boost/1.81.0", transitive_headers=True) + self.requires("function2/4.2.2", transitive_headers=True) + self.requires("prometheus-cpp/1.1.0", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_TESTING"] = False + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["asyncly"] + self.cpp_info.requires = ["boost::headers", "function2::function2", "prometheus-cpp::prometheus-cpp-core"] + + self.cpp_info.set_property("cmake_file_name", "asyncly") + self.cpp_info.set_property("cmake_target_name", "asyncly::asyncly") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "asyncly" + self.cpp_info.filenames["cmake_find_package_multi"] = "asyncly" + self.cpp_info.names["cmake_find_package"] = "asyncly" + self.cpp_info.names["cmake_find_package_multi"] = "asyncly" diff --git a/recipes/asyncly/all/test_package/CMakeLists.txt b/recipes/asyncly/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..e1381e7ef86e9 --- /dev/null +++ b/recipes/asyncly/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(asyncly REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE asyncly::asyncly) +target_compile_definitions(${PROJECT_NAME} PRIVATE WIN32_LEAN_AND_MEAN) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/asyncly/all/test_package/conanfile.py b/recipes/asyncly/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/asyncly/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/asyncly/all/test_package/test_package.cpp b/recipes/asyncly/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..b5674382d1ec9 --- /dev/null +++ b/recipes/asyncly/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include "asyncly/executor/AsioExecutorController.h" +#include "asyncly/executor/MetricsWrapper.h" +#include "asyncly/executor/ThreadPoolExecutorController.h" + +static void task() +{ +} + +int main() +{ + auto threadPool = asyncly::ThreadPoolExecutorController::create(2); + + threadPool->get_executor()->post([]() { task(); }); + + return 0; +} diff --git a/recipes/asyncly/config.yml b/recipes/asyncly/config.yml new file mode 100644 index 0000000000000..7c6ba2bb8da04 --- /dev/null +++ b/recipes/asyncly/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230420": + folder: all From 1087f7762a3b3e738cfb2cff28c3602b6aa2a943 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 14:03:29 +0900 Subject: [PATCH 0599/4087] (#17834) thrift: add version 0.18.1, use official urls, update boost * thrift: add version 0.18.1 * include cstddef, typeinfo * remove 0.13.0 * fix removal --------- Co-authored-by: czoido --- recipes/thrift/all/conandata.yml | 37 ++++++++++--------- recipes/thrift/all/conanfile.py | 2 +- .../patches/0.18.1-0002-include-stddef.patch | 24 ++++++++++++ recipes/thrift/config.yml | 4 +- 4 files changed, 47 insertions(+), 20 deletions(-) create mode 100644 recipes/thrift/all/patches/0.18.1-0002-include-stddef.patch diff --git a/recipes/thrift/all/conandata.yml b/recipes/thrift/all/conandata.yml index ab039201f49e0..57ad35a140baa 100644 --- a/recipes/thrift/all/conandata.yml +++ b/recipes/thrift/all/conandata.yml @@ -1,23 +1,30 @@ sources: + "0.18.1": + url: "http://archive.apache.org/dist/thrift/0.18.1/thrift-0.18.1.tar.gz" + sha256: "04c6f10e5d788ca78e13ee2ef0d2152c7b070c0af55483d6b942e29cff296726" "0.17.0": - url: "https://github.com/apache/thrift/archive/v0.17.0.tar.gz" - sha256: "f5888bcd3b8de40c2c2ab86896867ad9b18510deb412cba3e5da76fb4c604c29" + url: "http://archive.apache.org/dist/thrift/0.17.0/thrift-0.17.0.tar.gz" + sha256: "b272c1788bb165d99521a2599b31b97fa69e5931d099015d91ae107a0b0cc58f" "0.16.0": - url: "https://github.com/apache/thrift/archive/refs/tags/v0.16.0.tar.gz" - sha256: "df2931de646a366c2e5962af679018bca2395d586e00ba82d09c0379f14f8e7b" + url: "http://archive.apache.org/dist/thrift/0.16.0/thrift-0.16.0.tar.gz" + sha256: "f460b5c1ca30d8918ff95ea3eb6291b3951cf518553566088f3f2be8981f6209" "0.15.0": - url: "https://github.com/apache/thrift/archive/refs/tags/v0.15.0.tar.gz" - sha256: "32d2f18aa9be114619ee54e1abc3bb497febb2a8aa917894c20bae21185fac15" + url: "http://archive.apache.org/dist/thrift/0.15.0/thrift-0.15.0.tar.gz" + sha256: "d5883566d161f8f6ddd4e21f3a9e3e6b8272799d054820f1c25b11e86718f86b" "0.14.2": - url: "https://github.com/apache/thrift/archive/v0.14.2.tar.gz" - sha256: "f966cdac6bb8d149a9950a761e6ee6f3b22d5a6073da43a333d3468f159ebeaa" + url: "http://archive.apache.org/dist/thrift/0.14.2/thrift-0.14.2.tar.gz" + sha256: "4191bfc0b7490e20cc69f9f4dc6e991fbb612d4551aa9eef1dbf7f4c47ce554d" "0.14.1": - url: "https://github.com/apache/thrift/archive/refs/tags/v0.14.1.tar.gz" - sha256: "5ae1c4d16452a22eaf9d802ba7489907147c2b316ff38c9758918552fae5132c" - "0.13.0": - url: "https://github.com/apache/thrift/archive/0.13.0.tar.gz" - sha256: "8469c8d72c684c6de72ddf55fc65d1c10868a576e7dc4d1f4a21a59814b97110" + url: "http://archive.apache.org/dist/thrift/0.14.1/thrift-0.14.1.tar.gz" + sha256: "13da5e1cd9c8a3bb89778c0337cc57eb0c29b08f3090b41cf6ab78594b410ca5" patches: + "0.18.1": + - patch_file: "patches/cmake-0.16.0.patch" + patch_description: "use cci packages" + patch_type: "conan" + - patch_file: "patches/0.18.1-0002-include-stddef.patch" + patch_description: "include cstddef" + patch_type: "portability" "0.17.0": - patch_file: "patches/cmake-0.16.0.patch" patch_description: "use cci packages" @@ -38,7 +45,3 @@ patches: - patch_file: "patches/cmake-0.14.1.patch" patch_description: "use cci packages" patch_type: "conan" - "0.13.0": - - patch_file: "patches/cmake-0.13.0.patch" - patch_description: "use cci packages" - patch_type: "conan" diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 0aaa55ea7ce2b..54cc1c65d6945 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0", transitive_headers=True) + self.requires("boost/1.82.0", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: diff --git a/recipes/thrift/all/patches/0.18.1-0002-include-stddef.patch b/recipes/thrift/all/patches/0.18.1-0002-include-stddef.patch new file mode 100644 index 0000000000000..f8195ce2910ed --- /dev/null +++ b/recipes/thrift/all/patches/0.18.1-0002-include-stddef.patch @@ -0,0 +1,24 @@ +diff --git a/lib/cpp/src/thrift/numeric_cast.h b/lib/cpp/src/thrift/numeric_cast.h +index d7063db..8775121 100644 +--- a/lib/cpp/src/thrift/numeric_cast.h ++++ b/lib/cpp/src/thrift/numeric_cast.h +@@ -22,6 +22,7 @@ + + #include + #include ++#include + + #if defined(_MSC_VER) + // avoid compiler warnings and errors in MSVC if max is defined as a macro +diff --git a/lib/cpp/src/thrift/transport/TBufferTransports.h b/lib/cpp/src/thrift/transport/TBufferTransports.h +index f72d8f6..f745b8c 100644 +--- a/lib/cpp/src/thrift/transport/TBufferTransports.h ++++ b/lib/cpp/src/thrift/transport/TBufferTransports.h +@@ -22,6 +22,7 @@ + + #include + #include ++#include + #include + + #include diff --git a/recipes/thrift/config.yml b/recipes/thrift/config.yml index 66a1ad96af024..8ce3e9b3821f4 100644 --- a/recipes/thrift/config.yml +++ b/recipes/thrift/config.yml @@ -1,4 +1,6 @@ versions: + "0.18.1": + folder: all "0.17.0": folder: all "0.16.0": @@ -9,5 +11,3 @@ versions: folder: all "0.14.1": folder: all - "0.13.0": - folder: all From fad656d400b5c8f5ea1790fac37566c2cb12cb47 Mon Sep 17 00:00:00 2001 From: sean <43609023+spnda@users.noreply.github.com> Date: Wed, 21 Jun 2023 08:04:13 +0200 Subject: [PATCH 0600/4087] (#16704) fastgltf: Add new recipe * fastgltf: Add new recipe * minor fixes * remove fPIC, adjust c++17 in CMakeLists * fix hooks license + packaged cmake files --------- Co-authored-by: memsharded Co-authored-by: Uilian Ries --- recipes/fastgltf/all/conandata.yml | 4 + recipes/fastgltf/all/conanfile.py | 77 +++++++++++++++++++ .../fastgltf/all/test_package/CMakeLists.txt | 8 ++ .../fastgltf/all/test_package/conanfile.py | 27 +++++++ .../all/test_package/test_package.cpp | 9 +++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../fastgltf/all/test_v1_package/conanfile.py | 19 +++++ recipes/fastgltf/config.yml | 3 + 8 files changed, 155 insertions(+) create mode 100644 recipes/fastgltf/all/conandata.yml create mode 100644 recipes/fastgltf/all/conanfile.py create mode 100644 recipes/fastgltf/all/test_package/CMakeLists.txt create mode 100644 recipes/fastgltf/all/test_package/conanfile.py create mode 100644 recipes/fastgltf/all/test_package/test_package.cpp create mode 100644 recipes/fastgltf/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/fastgltf/all/test_v1_package/conanfile.py create mode 100644 recipes/fastgltf/config.yml diff --git a/recipes/fastgltf/all/conandata.yml b/recipes/fastgltf/all/conandata.yml new file mode 100644 index 0000000000000..8a3b511412ab1 --- /dev/null +++ b/recipes/fastgltf/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.4.0": + url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.4.0.tar.gz" + sha256: "77debe12acb6b498ea77306ce64277cedb14ad803b461ea677a61bc604bb59b5" diff --git a/recipes/fastgltf/all/conanfile.py b/recipes/fastgltf/all/conanfile.py new file mode 100644 index 0000000000000..35ece19d5af8d --- /dev/null +++ b/recipes/fastgltf/all/conanfile.py @@ -0,0 +1,77 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import get, copy, rmdir +from conan.tools.build import check_min_cppstd + + +required_conan_version = ">=1.59.0" + + +class fastgltf(ConanFile): + name = "fastgltf" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/spnda/fastgltf" + description = "A blazing fast C++17 glTF 2.0 library powered by SIMD." + topics = ("gltf", "simd", "cpp17") + + # Needed for CMake configurations for dependencies to work + generators = "CMakeDeps" + + package_type = "library" + settings = "os", "compiler", "build_type", "arch" + + options = { + "shared": [True, False], + "fPIC": [True, False], + "enable_small_vector": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "enable_small_vector": False, + } + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + 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.get_safe("compiler.cppstd"): + check_min_cppstd(self, "17") + + def requirements(self): + self.requires("simdjson/3.1.7") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FASTGLTF_DOWNLOAD_SIMDJSON"] = False + if self.options.enable_small_vector: + tc.variables["FASTGLTF_USE_SMALL_VECTOR"] = True + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["fastgltf"] diff --git a/recipes/fastgltf/all/test_package/CMakeLists.txt b/recipes/fastgltf/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..8764aa657ae40 --- /dev/null +++ b/recipes/fastgltf/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +find_package(fastgltf REQUIRED CONFIG) + +set(CMAKE_CXX_STANDARD 17) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} fastgltf::fastgltf) diff --git a/recipes/fastgltf/all/test_package/conanfile.py b/recipes/fastgltf/all/test_package/conanfile.py new file mode 100644 index 0000000000000..1111583fea732 --- /dev/null +++ b/recipes/fastgltf/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fastgltf/all/test_package/test_package.cpp b/recipes/fastgltf/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4d023ef72431e --- /dev/null +++ b/recipes/fastgltf/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + fastgltf::Parser parser; + printf("Version: " FASTGLTF_QUOTE(FASTGLTF_VERSION)); + printf("C++17: " FASTGLTF_QUOTE(FASTGLTF_CPP_17)); + printf("C++20: " FASTGLTF_QUOTE(FASTGLTF_CPP_20)); +} diff --git a/recipes/fastgltf/all/test_v1_package/CMakeLists.txt b/recipes/fastgltf/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/fastgltf/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/fastgltf/all/test_v1_package/conanfile.py b/recipes/fastgltf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/fastgltf/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/fastgltf/config.yml b/recipes/fastgltf/config.yml new file mode 100644 index 0000000000000..af29e78bd9b25 --- /dev/null +++ b/recipes/fastgltf/config.yml @@ -0,0 +1,3 @@ +versions: + "0.4.0": + folder: all From 4d972bd32332c609d507e3242a656aa6cad26bc3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 15:49:47 +0900 Subject: [PATCH 0601/4087] (#16112) libdrawille: add recipe * libdrawille: add recipe * link math lib only on Linux * support msvc * drop support msvc * add `src_folder` argument --- recipes/libdrawille/all/conandata.yml | 12 +++ recipes/libdrawille/all/conanfile.py | 74 +++++++++++++++ .../all/patches/0001-fix-cmake.patch | 55 +++++++++++ .../all/patches/0002-support-msvc.patch | 95 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../libdrawille/all/test_package/conanfile.py | 25 +++++ .../all/test_package/test_package.c | 10 ++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ recipes/libdrawille/config.yml | 3 + 10 files changed, 307 insertions(+) create mode 100644 recipes/libdrawille/all/conandata.yml create mode 100644 recipes/libdrawille/all/conanfile.py create mode 100644 recipes/libdrawille/all/patches/0001-fix-cmake.patch create mode 100644 recipes/libdrawille/all/patches/0002-support-msvc.patch create mode 100644 recipes/libdrawille/all/test_package/CMakeLists.txt create mode 100644 recipes/libdrawille/all/test_package/conanfile.py create mode 100644 recipes/libdrawille/all/test_package/test_package.c create mode 100644 recipes/libdrawille/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libdrawille/all/test_v1_package/conanfile.py create mode 100644 recipes/libdrawille/config.yml diff --git a/recipes/libdrawille/all/conandata.yml b/recipes/libdrawille/all/conandata.yml new file mode 100644 index 0000000000000..7562384137dba --- /dev/null +++ b/recipes/libdrawille/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "cci.20160428": + url: "https://github.com/Huulivoide/libdrawille/archive/e7e366e739c80120690dd0ee9f41648d2556f800.tar.gz" + sha256: "c4f4e4b74d419bb06e8fdf4886421216d65eb095e69fb8bcdeb33960bbd7ae16" +patches: + "cci.20160428": + - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "disable test, examples add installer, link mathlib only on Linux" + patch_type: "conan" + - patch_file: "patches/0002-support-msvc.patch" + patch_description: "rename restrict keyword for msvc" + patch_type: "portability" diff --git a/recipes/libdrawille/all/conanfile.py b/recipes/libdrawille/all/conanfile.py new file mode 100644 index 0000000000000..b6f2dc8f8a984 --- /dev/null +++ b/recipes/libdrawille/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class LibdrawilleConan(ConanFile): + name = "libdrawille" + description = "C implementation of drawille library and extra drawing functionality" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Huulivoide/libdrawille/" + topics = ("drawille") + 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": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.ref} supports x86 and x86_64 only.") + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC.(yet)") + + 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.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["drawille"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/libdrawille/all/patches/0001-fix-cmake.patch b/recipes/libdrawille/all/patches/0001-fix-cmake.patch new file mode 100644 index 0000000000000..e45992f62132f --- /dev/null +++ b/recipes/libdrawille/all/patches/0001-fix-cmake.patch @@ -0,0 +1,55 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d225ed..dc1a1b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.4) + project(libdrawille VERSION 0.0.1 LANGUAGES C) + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -pedantic") ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic") + set(CMAKE_C_STANDARD 11) + set(CMAKE_C_STANDARD_REQUIRED ON) + +@@ -12,6 +12,3 @@ elseif(${WIN32}) + endif() + + add_subdirectory(src) +-add_subdirectory(test) +-add_subdirectory(examples) +-add_subdirectory(benchmark) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3c74714..240ca8b 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,9 +1,26 @@ +-find_library(MATH m) +- + set(SOURCE_FILES Canvas.c stamp.c mat3.c polygon.c point.c utils.c x86/sse.c x86/avx2.c) + set_source_files_properties(x86/sse.c PROPERTIES COMPILE_FLAGS "-msse -msse2 -msse4") + set_source_files_properties(x86/avx2.c PROPERTIES COMPILE_FLAGS "-msse -msse2 -msse4 -mavx -mavx2") + +-add_library(libdrawille ${SOURCE_FILES}) +-target_link_libraries(libdrawille ${MATH}) ++add_library(drawille ${SOURCE_FILES}) ++ ++find_library(MATH m) ++if(MATH) ++ target_link_libraries(drawille ${MATH}) ++endif() ++ ++include(GNUInstallDirs) ++ ++install( ++ TARGETS drawille ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) + ++install( ++ FILES ++ Canvas.h ++ mat3.h ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/drawille ++) diff --git a/recipes/libdrawille/all/patches/0002-support-msvc.patch b/recipes/libdrawille/all/patches/0002-support-msvc.patch new file mode 100644 index 0000000000000..24685ef15d80a --- /dev/null +++ b/recipes/libdrawille/all/patches/0002-support-msvc.patch @@ -0,0 +1,95 @@ +diff --git a/src/stamp.c b/src/stamp.c +index 73c78d0..6da8910 100644 +--- a/src/stamp.c ++++ b/src/stamp.c +@@ -138,8 +138,13 @@ int draw_stamp_outline(Canvas* c, Color color, const Stamp* s) { + return 1; + } + ++#ifdef _MSC_VER ++void fill_triangle(Canvas* __restrict canvas, const Color color, ++ const Point v1, const Point v2, const Point v3) { ++#else + void fill_triangle(Canvas* restrict canvas, const Color color, + const Point v1, const Point v2, const Point v3) { ++#endif + // 28.4 fixed-point coordinates + const int Y1 = to_fixed(v1.y); + const int Y2 = to_fixed(v2.y); +diff --git a/src/stamp.h b/src/stamp.h +index 5132bd7..009fea9 100644 +--- a/src/stamp.h ++++ b/src/stamp.h +@@ -35,7 +35,12 @@ void apply_matrix(Stamp* s); + int draw_stamp_outline(Canvas* c, Color color, const Stamp* s); + int fill_shape(Canvas* c, Color color, const Stamp* s); + ++#ifdef _MSC_VER ++void fill_triangle(Canvas* __restrict canvas, const Color color, ++ const Point v1, const Point v2, const Point v3); ++#else + void fill_triangle(Canvas* restrict canvas, const Color color, + const Point v1, const Point v2, const Point v3); ++#endif + + #endif //LIBDRAWILLE_STAMP_H +diff --git a/src/x86/avx2.c b/src/x86/avx2.c +index 100c474..27870a8 100644 +--- a/src/x86/avx2.c ++++ b/src/x86/avx2.c +@@ -17,8 +17,13 @@ static inline __m256i to_fixed_avx2(const float a, const float b, const float c, + return _mm256_cvtps_epi32(m); + } + ++#ifdef _MSC_VER ++void fill_triangle_avx2(Canvas* __restrict canvas, const Color color, ++ const Point v1, const Point v2, const Point v3) { ++#else + void fill_triangle_avx2(Canvas* restrict canvas, const Color color, + const Point v1, const Point v2, const Point v3) { ++#endif + // Block size, standard 8x8 (must be power of two) + const int q = 8; + +diff --git a/src/x86/sse.c b/src/x86/sse.c +index 27a6380..5cf0b48 100644 +--- a/src/x86/sse.c ++++ b/src/x86/sse.c +@@ -10,8 +10,13 @@ static inline __m128i to_fixed_sse(const float a, const float b, const float c) + return _mm_cvtps_epi32(m); + } + ++#ifdef _MSC_VER ++void fill_triangle_sse4(Canvas* __restrict canvas, const Color color, ++ const Point v1, const Point v2, const Point v3) { ++#else + void fill_triangle_sse4(Canvas* restrict canvas, const Color color, + const Point v1, const Point v2, const Point v3) { ++#endif + // Block size, standard 8x8 (must be power of two) + const int q = 8; + +diff --git a/src/x86/x86.h b/src/x86/x86.h +index c31cd03..4d161cb 100644 +--- a/src/x86/x86.h ++++ b/src/x86/x86.h +@@ -36,10 +36,19 @@ static inline void printv8h(const char* prefix, vec8 v) { + } + + ++#ifdef _MSC_VER ++void fill_triangle_sse4(Canvas* __restrict canvas, const Color color, ++ const Point v1, const Point v2, const Point v3); ++ ++void fill_triangle_avx2(Canvas* __restrict canvas, const Color color, ++ const Point v1, const Point v2, const Point v3); ++#else + void fill_triangle_sse4(Canvas* restrict canvas, const Color color, + const Point v1, const Point v2, const Point v3); + + void fill_triangle_avx2(Canvas* restrict canvas, const Color color, + const Point v1, const Point v2, const Point v3); ++#endif ++ + + #endif //LIBDRAWILLE_X86_H diff --git a/recipes/libdrawille/all/test_package/CMakeLists.txt b/recipes/libdrawille/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c756c82332027 --- /dev/null +++ b/recipes/libdrawille/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES C) + +find_package(libdrawille REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libdrawille::libdrawille) diff --git a/recipes/libdrawille/all/test_package/conanfile.py b/recipes/libdrawille/all/test_package/conanfile.py new file mode 100644 index 0000000000000..78a82060a3202 --- /dev/null +++ b/recipes/libdrawille/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, src_folder=".") + + 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/libdrawille/all/test_package/test_package.c b/recipes/libdrawille/all/test_package/test_package.c new file mode 100644 index 0000000000000..e6581befbb41a --- /dev/null +++ b/recipes/libdrawille/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include "drawille/Canvas.h" + + +int main() { + Canvas* canvas = new_canvas(100, 100); + + free_canvas(canvas); + + return 0; +} diff --git a/recipes/libdrawille/all/test_v1_package/CMakeLists.txt b/recipes/libdrawille/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/libdrawille/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdrawille/all/test_v1_package/conanfile.py b/recipes/libdrawille/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/libdrawille/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/libdrawille/config.yml b/recipes/libdrawille/config.yml new file mode 100644 index 0000000000000..4478b307ea3a4 --- /dev/null +++ b/recipes/libdrawille/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20160428": + folder: all From 111cb4fa9da288e7ba18637335bbd4311640ec5e Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Wed, 21 Jun 2023 09:41:54 +0200 Subject: [PATCH 0602/4087] (#17975) opencore-amr: add Conan 2 support --- recipes/opencore-amr/all/conandata.yml | 9 + recipes/opencore-amr/all/conanfile.py | 129 +- ...1-remove-deprecated-register-keyword.patch | 1357 +++++++++++++++++ .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 16 + 7 files changed, 1475 insertions(+), 74 deletions(-) create mode 100644 recipes/opencore-amr/all/patches/0001-remove-deprecated-register-keyword.patch create mode 100644 recipes/opencore-amr/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opencore-amr/all/test_v1_package/conanfile.py diff --git a/recipes/opencore-amr/all/conandata.yml b/recipes/opencore-amr/all/conandata.yml index 44a009a38d2e0..8ac0f24717894 100644 --- a/recipes/opencore-amr/all/conandata.yml +++ b/recipes/opencore-amr/all/conandata.yml @@ -5,3 +5,12 @@ sources: "0.1.5": url: "https://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.5.tar.gz" sha256: "2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341" +patches: + "0.1.6": + - patch_file: "patches/0001-remove-deprecated-register-keyword.patch" + patch_description: "remove deprecated register keyword" + patch_type: "portability" + "0.1.5": + - patch_file: "patches/0001-remove-deprecated-register-keyword.patch" + patch_description: "remove deprecated register keyword" + patch_type: "portability" diff --git a/recipes/opencore-amr/all/conanfile.py b/recipes/opencore-amr/all/conanfile.py index 3c1ebbcb2a163..c502c5b4aa5f7 100644 --- a/recipes/opencore-amr/all/conanfile.py +++ b/recipes/opencore-amr/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile -from conan.tools import files -from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version -from conans import AutoToolsBuildEnvironment -from conans.tools import environment_append, get_env, os_info, vcvars, unix_path -from contextlib import contextmanager +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import check_min_vs, is_msvc, unix_path import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.54.0" class OpencoreAmrConan(ConanFile): @@ -17,6 +17,7 @@ class OpencoreAmrConan(ConanFile): topics = ("audio-codec", "amr", "opencore") url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -27,82 +28,83 @@ class OpencoreAmrConan(ConanFile): "fPIC": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def build_requirements(self): - if self._settings_build.os == "Windows" and not get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.5") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if is_msvc(self): + self.tool_requires("automake/1.16.5") def source(self): - files.get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @contextmanager - def _build_context(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + "--disable-compile-c", + "--disable-examples", + ]) if is_msvc(self): - with vcvars(self): - env = { - "CC": "cl -nologo", - "CXX": "cl -nologo", - "LD": "link -nologo", - "AR": "{} lib".format(unix_path(self.deps_user_info["automake"].ar_lib)), - } - with environment_append(env): - yield - else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment( - self, win_bash=os_info.is_windows) - - def yes_no(v): return "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - ] + tc.extra_cxxflags.append("-EHsc") + if check_min_vs(self, "180", raise_invalid=False): + tc.extra_cxxflags.append("-FS") + tc.generate() + if is_msvc(self): - self._autotools.cxx_flags.append("-EHsc") - if Version(self.settings.compiler.version) >= "12": - self._autotools.flags.append("-FS") - self._autotools.configure( - args=args, configure_dir=self._source_subfolder) - return self._autotools + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f"{ar_wrapper} \"lib -nologo\"") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") def build(self): - with self._build_context(): - self._configure_autotools() - self._autotools.make() + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self._autotools.install() - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - files.rm(self, "*.la", os.path.join(self.package_folder, "lib")) - files.rmdir(self, os.path.join( - self.package_folder, "lib", "pkgconfig")) - if self.settings.compiler == "Visual Studio" and self.options.shared: + copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + fix_apple_shared_install_name(self) + + if is_msvc(self) and self.options.shared: for lib in ("opencore-amrwb", "opencore-amrnb"): - files.rename(self, os.path.join(self.package_folder, "lib", "{}.dll.lib".format(lib)), + rename(self, os.path.join(self.package_folder, "lib", "{}.dll.lib".format(lib)), os.path.join(self.package_folder, "lib", "{}.lib".format(lib))) def package_info(self): @@ -114,5 +116,8 @@ def package_info(self): "cmake_target_name", f'opencore-amr::{lib}') self.cpp_info.components[lib].set_property("pkg_config_name", lib) self.cpp_info.components[lib].libs = [lib] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components[lib].system_libs.extend(["m"]) + # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generator removed self.cpp_info.components[lib].names["pkg_config"] = lib diff --git a/recipes/opencore-amr/all/patches/0001-remove-deprecated-register-keyword.patch b/recipes/opencore-amr/all/patches/0001-remove-deprecated-register-keyword.patch new file mode 100644 index 0000000000000..8604cff0abf61 --- /dev/null +++ b/recipes/opencore-amr/all/patches/0001-remove-deprecated-register-keyword.patch @@ -0,0 +1,1357 @@ +From 8fa46c7a3092186e922ed27e9b38d79caf178f36 Mon Sep 17 00:00:00 2001 +From: Gregor Jasny +Date: Mon, 19 Jun 2023 20:41:15 +0200 +Subject: [PATCH] remove deprecated register keyword + +--- + .../common/include/basic_op_arm_gcc_v5.h | 62 ++++++------ + .../common/include/basic_op_c_equivalent.h | 10 +- + .../gsm_amr/amr_nb/common/include/l_add.h | 8 +- + .../gsm_amr/amr_nb/common/include/l_mac.h | 6 +- + .../gsm_amr/amr_nb/common/include/l_msu.h | 6 +- + .../gsm_amr/amr_nb/common/include/l_mult.h | 6 +- + .../gsm_amr/amr_nb/common/include/l_sub.h | 8 +- + .../gsm_amr/amr_nb/common/include/mpy_32.h | 14 +-- + .../gsm_amr/amr_nb/common/include/mpy_32_16.h | 6 +- + .../gsm_amr/amr_nb/common/include/mult.h | 6 +- + .../gsm_amr/amr_nb/common/include/negate.h | 2 +- + .../gsm_amr/amr_nb/common/include/norm_l.h | 4 +- + .../gsm_amr/amr_nb/common/include/norm_s.h | 4 +- + .../gsm_amr/amr_nb/common/src/az_lsp.cpp | 8 +- + .../audio/gsm_amr/amr_nb/common/src/div_s.cpp | 4 +- + .../gsm_amr/amr_nb/common/src/gc_pred.cpp | 8 +- + .../gsm_amr/amr_nb/common/src/gmed_n.cpp | 6 +- + .../audio/gsm_amr/amr_nb/common/src/l_abs.cpp | 2 +- + .../gsm_amr/amr_nb/common/src/l_shr_r.cpp | 2 +- + .../gsm_amr/amr_nb/common/src/lsp_az.cpp | 8 +- + .../gsm_amr/amr_nb/common/src/mult_r.cpp | 2 +- + .../gsm_amr/amr_nb/common/src/negate.cpp | 2 +- + .../gsm_amr/amr_nb/common/src/norm_l.cpp | 4 +- + .../gsm_amr/amr_nb/common/src/norm_s.cpp | 4 +- + .../gsm_amr/amr_nb/common/src/pred_lt.cpp | 6 +- + .../gsm_amr/amr_nb/common/src/q_plsf_3.cpp | 6 +- + .../gsm_amr/amr_nb/common/src/residu.cpp | 2 +- + .../audio/gsm_amr/amr_nb/common/src/round.cpp | 2 +- + .../audio/gsm_amr/amr_nb/common/src/shr.cpp | 4 +- + .../audio/gsm_amr/amr_nb/common/src/shr_r.cpp | 2 +- + .../gsm_amr/amr_nb/common/src/weight_a.cpp | 2 +- + .../audio/gsm_amr/amr_nb/dec/src/d1035pf.cpp | 2 +- + .../audio/gsm_amr/amr_nb/dec/src/d_plsf_5.cpp | 2 +- + .../audio/gsm_amr/amr_nb/dec/src/int_lsf.cpp | 6 +- + .../audio/gsm_amr/amr_nb/dec/src/ph_disp.cpp | 8 +- + .../audio/gsm_amr/amr_nb/dec/src/pstfilt.cpp | 4 +- + .../audio/gsm_amr/amr_nb/enc/src/autocorr.cpp | 6 +- + .../audio/gsm_amr/amr_nb/enc/src/c2_9pf.cpp | 24 ++--- + .../audio/gsm_amr/amr_nb/enc/src/cl_ltp.cpp | 2 +- + .../audio/gsm_amr/amr_nb/enc/src/convolve.cpp | 2 +- + .../audio/gsm_amr/amr_nb/enc/src/cor_h.cpp | 4 +- + .../audio/gsm_amr/amr_nb/enc/src/cor_h_x.cpp | 6 +- + .../audio/gsm_amr/amr_nb/enc/src/cor_h_x2.cpp | 6 +- + .../audio/gsm_amr/amr_nb/enc/src/dtx_enc.cpp | 6 +- + .../audio/gsm_amr/amr_nb/enc/src/l_negate.cpp | 2 +- + .../audio/gsm_amr/amr_nb/enc/src/levinson.cpp | 10 +- + .../audio/gsm_amr/amr_nb/enc/src/pitch_ol.cpp | 2 +- + .../audio/gsm_amr/amr_nb/enc/src/pre_proc.cpp | 2 +- + .../audio/gsm_amr/amr_nb/enc/src/set_sign.cpp | 2 +- + .../gsm_amr/amr_wb/dec/src/normalize_amr_wb.h | 4 +- + .../amr_wb/dec/src/pvamrwb_math_op.cpp | 2 +- + .../src/pvamrwbdecoder_basic_op_gcc_armv5.h | 98 +++++++++---------- + 52 files changed, 208 insertions(+), 208 deletions(-) + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_arm_gcc_v5.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_arm_gcc_v5.h +index 5752171..2c93015 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_arm_gcc_v5.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_arm_gcc_v5.h +@@ -112,10 +112,10 @@ extern "C" + L_sum = 32-bit sum of L_var1 and L_var2 (Word32) + */ + +- static inline Word32 L_add(register Word32 L_var1, register Word32 L_var2, Flag *pOverflow) ++ static inline Word32 L_add(Word32 L_var1, Word32 L_var2, Flag *pOverflow) + { +- register Word32 ra = L_var1; +- register Word32 rb = L_var2; ++ Word32 ra = L_var1; ++ Word32 rb = L_var2; + Word32 result; + + OSCL_UNUSED_ARG(pOverflow); +@@ -151,8 +151,8 @@ extern "C" + */ + static inline Word32 L_sub(Word32 L_var1, Word32 L_var2, Flag *pOverflow) + { +- register Word32 ra = L_var1; +- register Word32 rb = L_var2; ++ Word32 ra = L_var1; ++ Word32 rb = L_var2; + Word32 result; + + OSCL_UNUSED_ARG(pOverflow); +@@ -190,9 +190,9 @@ extern "C" + */ + static inline Word32 L_mac(Word32 L_var3, Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = L_var3; +- register Word32 rb = var1; +- register Word32 rc = var2; ++ Word32 ra = L_var3; ++ Word32 rb = var1; ++ Word32 rc = var2; + Word32 result; + + OSCL_UNUSED_ARG(pOverflow); +@@ -234,8 +234,8 @@ extern "C" + + static inline Word32 L_mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = var1; +- register Word32 rb = var2; ++ Word32 ra = var1; ++ Word32 rb = var2; + Word32 result; + Word32 product; + +@@ -279,9 +279,9 @@ extern "C" + */ + static inline Word32 L_msu(Word32 L_var3, Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = L_var3; +- register Word32 rb = var1; +- register Word32 rc = var2; ++ Word32 ra = L_var3; ++ Word32 rb = var1; ++ Word32 rc = var2; + Word32 product; + Word32 result; + +@@ -326,13 +326,13 @@ extern "C" + Word16 L_var2_lo, + Flag *pOverflow) + { +- register Word32 product32; +- register Word32 L_sum; +- register Word32 L_product, result; +- register Word32 ra = L_var1_hi; +- register Word32 rb = L_var1_lo; +- register Word32 rc = L_var2_hi; +- register Word32 rd = L_var2_lo; ++ Word32 product32; ++ Word32 L_sum; ++ Word32 L_product, result; ++ Word32 ra = L_var1_hi; ++ Word32 rb = L_var1_lo; ++ Word32 rc = L_var2_hi; ++ Word32 rd = L_var2_lo; + + + +@@ -410,9 +410,9 @@ extern "C" + Flag *pOverflow) + { + +- register Word32 ra = L_var1_hi; +- register Word32 rb = L_var1_lo; +- register Word32 rc = var2; ++ Word32 ra = L_var1_hi; ++ Word32 rb = L_var1_lo; ++ Word32 rc = var2; + Word32 result, L_product; + + OSCL_UNUSED_ARG(pOverflow); +@@ -470,8 +470,8 @@ extern "C" + */ + static inline Word16 mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = var1; +- register Word32 rb = var2; ++ Word32 ra = var1; ++ Word32 rb = var2; + Word32 product; + Word32 temp; + +@@ -494,9 +494,9 @@ extern "C" + + static inline Word32 amrnb_fxp_mac_16_by_16bb(Word32 L_var1, Word32 L_var2, Word32 L_var3) + { +- register Word32 ra = L_var1; +- register Word32 rb = L_var2; +- register Word32 rc = L_var3; ++ Word32 ra = L_var1; ++ Word32 rb = L_var2; ++ Word32 rc = L_var3; + Word32 result; + + __asm__ volatile("smlabb %0, %1, %2, %3" +@@ -508,9 +508,9 @@ extern "C" + + static inline Word32 amrnb_fxp_msu_16_by_16bb(Word32 L_var1, Word32 L_var2, Word32 L_var3) + { +- register Word32 ra = L_var1; +- register Word32 rb = L_var2; +- register Word32 rc = L_var3; ++ Word32 ra = L_var1; ++ Word32 rb = L_var2; ++ Word32 rc = L_var3; + Word32 result; + + __asm__ volatile("rsb %0, %1, #0" +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_c_equivalent.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_c_equivalent.h +index 62072a5..d56ecd0 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_c_equivalent.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/basic_op_c_equivalent.h +@@ -109,7 +109,7 @@ extern "C" + Returns: + L_sum = 32-bit sum of L_var1 and L_var2 (Word32) + */ +- static inline Word32 L_add(register Word32 L_var1, register Word32 L_var2, Flag *pOverflow) ++ static inline Word32 L_add(Word32 L_var1, Word32 L_var2, Flag *pOverflow) + { + Word32 L_sum; + +@@ -148,8 +148,8 @@ extern "C" + Returns: + L_diff = 32-bit difference of L_var1 and L_var2 (Word32) + */ +- static inline Word32 L_sub(register Word32 L_var1, register Word32 L_var2, +- register Flag *pOverflow) ++ static inline Word32 L_sub(Word32 L_var1, Word32 L_var2, ++ Flag *pOverflow) + { + Word32 L_diff; + +@@ -240,7 +240,7 @@ extern "C" + */ + static inline Word32 L_mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 L_product; ++ Word32 L_product; + + L_product = (Word32) var1 * var2; + +@@ -446,7 +446,7 @@ extern "C" + */ + static inline Word16 mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 product; ++ Word32 product; + + product = ((Word32) var1 * var2) >> 15; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_add.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_add.h +index ac72c31..fc849a5 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_add.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_add.h +@@ -88,10 +88,10 @@ extern "C" + ; Function Prototype declaration + ----------------------------------------------------------------------------*/ + #if ((PV_CPU_ARCH_VERSION >=5) && (PV_COMPILER == EPV_ARM_GNUC))/* Instructions for ARM-linux cross-compiler*/ +- __inline Word32 L_add(register Word32 L_var1, register Word32 L_var2, Flag *pOverflow) ++ __inline Word32 L_add(Word32 L_var1, Word32 L_var2, Flag *pOverflow) + { +- register Word32 ra = L_var1; +- register Word32 rb = L_var2; ++ Word32 ra = L_var1; ++ Word32 rb = L_var2; + Word32 result; + + OSCL_UNUSED_ARG(pOverflow); +@@ -107,7 +107,7 @@ extern "C" + #else /* C EQUIVALENT */ + + +- static inline Word32 L_add(register Word32 L_var1, register Word32 L_var2, Flag *pOverflow) ++ static inline Word32 L_add(Word32 L_var1, Word32 L_var2, Flag *pOverflow) + { + Word32 L_sum; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mac.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mac.h +index f672428..173e1dd 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mac.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mac.h +@@ -90,9 +90,9 @@ extern "C" + + static inline Word32 L_mac(Word32 L_var3, Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = L_var3; +- register Word32 rb = var1; +- register Word32 rc = var2; ++ Word32 ra = L_var3; ++ Word32 rb = var1; ++ Word32 rc = var2; + Word32 result; + + OSCL_UNUSED_ARG(pOverflow); +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_msu.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_msu.h +index 86c5735..de07525 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_msu.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_msu.h +@@ -92,9 +92,9 @@ extern "C" + + __inline Word32 L_msu(Word32 L_var3, Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = L_var3; +- register Word32 rb = var1; +- register Word32 rc = var2; ++ Word32 ra = L_var3; ++ Word32 rb = var1; ++ Word32 rc = var2; + Word32 product; + Word32 result; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mult.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mult.h +index 33fedb1..5531509 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mult.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_mult.h +@@ -91,8 +91,8 @@ extern "C" + + __inline Word32 L_mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = var1; +- register Word32 rb = var2; ++ Word32 ra = var1; ++ Word32 rb = var2; + Word32 result; + Word32 product; + +@@ -115,7 +115,7 @@ extern "C" + + static inline Word32 L_mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 L_product; ++ Word32 L_product; + + L_product = (Word32) var1 * var2; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_sub.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_sub.h +index 88d86ca..ef83f1c 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_sub.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/l_sub.h +@@ -93,8 +93,8 @@ extern "C" + + __inline Word32 L_sub(Word32 L_var1, Word32 L_var2, Flag *pOverflow) + { +- register Word32 ra = L_var1; +- register Word32 rb = L_var2; ++ Word32 ra = L_var1; ++ Word32 rb = L_var2; + Word32 result; + + OSCL_UNUSED_ARG(pOverflow); +@@ -109,8 +109,8 @@ extern "C" + + #else /* C EQUIVALENT */ + +- static inline Word32 L_sub(register Word32 L_var1, register Word32 L_var2, +- register Flag *pOverflow) ++ static inline Word32 L_sub(Word32 L_var1, Word32 L_var2, ++ Flag *pOverflow) + { + Word32 L_diff; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32.h +index 8df43c9..83505f4 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32.h +@@ -96,13 +96,13 @@ extern "C" + Word16 L_var2_lo, + Flag *pOverflow) + { +- register Word32 product32; +- register Word32 L_sum; +- register Word32 L_product, result; +- register Word32 ra = L_var1_hi; +- register Word32 rb = L_var1_lo; +- register Word32 rc = L_var2_hi; +- register Word32 rd = L_var2_lo; ++ Word32 product32; ++ Word32 L_sum; ++ Word32 L_product, result; ++ Word32 ra = L_var1_hi; ++ Word32 rb = L_var1_lo; ++ Word32 rc = L_var2_hi; ++ Word32 rd = L_var2_lo; + + + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32_16.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32_16.h +index 3a68e69..4eaa732 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32_16.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mpy_32_16.h +@@ -96,9 +96,9 @@ extern "C" + Flag *pOverflow) + { + +- register Word32 ra = L_var1_hi; +- register Word32 rb = L_var1_lo; +- register Word32 rc = var2; ++ Word32 ra = L_var1_hi; ++ Word32 rb = L_var1_lo; ++ Word32 rc = var2; + Word32 result, L_product; + + OSCL_UNUSED_ARG(pOverflow); +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mult.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mult.h +index c89a94e..c2ebf9a 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mult.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/mult.h +@@ -89,8 +89,8 @@ extern "C" + + __inline Word16 mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 ra = var1; +- register Word32 rb = var2; ++ Word32 ra = var1; ++ Word32 rb = var2; + Word32 product; + Word32 temp = 0x7FFF; + +@@ -120,7 +120,7 @@ extern "C" + + static inline Word16 mult(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word32 product; ++ Word32 product; + + product = ((Word32) var1 * var2) >> 15; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/negate.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/negate.h +index 2b77f77..3ff7347 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/negate.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/negate.h +@@ -86,7 +86,7 @@ extern "C" + ; GLOBAL FUNCTION DEFINITIONS + ; Function Prototype declaration + ----------------------------------------------------------------------------*/ +- Word16 negate(register Word16 var1); ++ Word16 negate(Word16 var1); + + /*---------------------------------------------------------------------------- + ; END +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_l.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_l.h +index 288b6c7..d3de69f 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_l.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_l.h +@@ -91,8 +91,8 @@ extern "C" + #if ((PV_CPU_ARCH_VERSION >=5) && (PV_COMPILER == EPV_ARM_GNUC)) + static inline Word16 norm_l(Word32 L_var1) + { +- register Word32 var_out = 0; +- register Word32 ra = L_var1; ++ Word32 var_out = 0; ++ Word32 ra = L_var1; + if (L_var1) + { + ra ^= (ra << 1); +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_s.h b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_s.h +index 7847f34..e7865f8 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_s.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include/norm_s.h +@@ -91,8 +91,8 @@ extern "C" + #if ((PV_CPU_ARCH_VERSION >=5) && (PV_COMPILER == EPV_ARM_GNUC)) + static inline Word16 norm_s(Word16 var1) + { +- register Word32 var_out = 0; +- register Word32 ra = var1 << 16; ++ Word32 var_out = 0; ++ Word32 ra = var1 << 16; + if (ra) + { + ra ^= (ra << 1); +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/az_lsp.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/az_lsp.cpp +index 7711ac9..b3194aa 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/az_lsp.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/az_lsp.cpp +@@ -489,10 +489,10 @@ void Az_lsp( + Flag *pOverflow /* (i/o): overflow flag */ + ) + { +- register Word16 i; +- register Word16 j; +- register Word16 nf; +- register Word16 ip; ++ Word16 i; ++ Word16 j; ++ Word16 nf; ++ Word16 ip; + Word16 xlow; + Word16 ylow; + Word16 xhigh; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/div_s.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/div_s.cpp +index f60f18b..40667eb 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/div_s.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/div_s.cpp +@@ -165,13 +165,13 @@ Word16 div_s (Word16 var1, Word16 var2) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-OSCL_EXPORT_REF Word16 div_s(register Word16 var1, register Word16 var2) ++OSCL_EXPORT_REF Word16 div_s(Word16 var1, Word16 var2) + { + /*---------------------------------------------------------------------------- + ; Define all local variables + ----------------------------------------------------------------------------*/ + Word16 var_out = 0; +- register Word16 iteration; ++ Word16 iteration; + Word32 L_num; + Word32 L_denom; + Word32 L_denom_by_2; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gc_pred.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gc_pred.cpp +index 71519e9..198cccc 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gc_pred.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gc_pred.cpp +@@ -445,9 +445,9 @@ OSCL_EXPORT_REF void gc_pred( + Flag *pOverflow + ) + { +- register Word16 i; +- register Word32 L_temp1, L_temp2; +- register Word32 L_tmp; ++ Word16 i; ++ Word32 L_temp1, L_temp2; ++ Word32 L_tmp; + Word32 ener_code; + Word32 ener; + Word16 exp, frac; +@@ -929,7 +929,7 @@ OSCL_EXPORT_REF void gc_pred_average_limited( + ) + { + Word16 av_pred_en; +- register Word16 i; ++ Word16 i; + + /* do average in MR122 mode (log2() domain) */ + av_pred_en = 0; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gmed_n.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gmed_n.cpp +index a723ce4..e15549f 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gmed_n.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/gmed_n.cpp +@@ -154,9 +154,9 @@ OSCL_EXPORT_REF Word16 gmed_n( /* o : the median value */ + Word16 n /* i : number of inputs */ + ) + { +- register Word16 i, j, ix = 0; +- register Word16 max; +- register Word16 medianIndex; ++ Word16 i, j, ix = 0; ++ Word16 max; ++ Word16 medianIndex; + Word16 tmp[NMAX]; + Word16 tmp2[NMAX]; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_abs.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_abs.cpp +index e436006..8f167c3 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_abs.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_abs.cpp +@@ -143,7 +143,7 @@ Word32 L_abs (Word32 L_var1) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-Word32 L_abs(register Word32 L_var1) ++Word32 L_abs(Word32 L_var1) + { + /*---------------------------------------------------------------------------- + ; Define all local variables +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_shr_r.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_shr_r.cpp +index 0a07135..ec120f0 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_shr_r.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/l_shr_r.cpp +@@ -159,7 +159,7 @@ Word32 L_shr_r (Word32 L_var1, Word16 var2) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-OSCL_EXPORT_REF Word32 L_shr_r(register Word32 L_var1, register Word16 var2, Flag *pOverflow) ++OSCL_EXPORT_REF Word32 L_shr_r(Word32 L_var1, Word16 var2, Flag *pOverflow) + { + Word32 result; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/lsp_az.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/lsp_az.cpp +index c41f614..af1a716 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/lsp_az.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/lsp_az.cpp +@@ -185,8 +185,8 @@ static void Get_lsp_pol( + Word32 *f, + Flag *pOverflow) + { +- register Word16 i; +- register Word16 j; ++ Word16 i; ++ Word16 j; + + Word16 hi; + Word16 lo; +@@ -332,8 +332,8 @@ OSCL_EXPORT_REF void Lsp_Az( + Flag *pOverflow /* (o) : overflow flag */ + ) + { +- register Word16 i; +- register Word16 j; ++ Word16 i; ++ Word16 j; + + Word32 f1[6]; + Word32 f2[6]; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/mult_r.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/mult_r.cpp +index 003afc7..a6b4a62 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/mult_r.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/mult_r.cpp +@@ -155,7 +155,7 @@ Word16 mult_r (Word16 var1, Word16 var2) + OSCL_EXPORT_REF Word16 mult_r(Word16 var1, Word16 var2, Flag *pOverflow) + { + +- register Word32 L_product_arr; ++ Word32 L_product_arr; + + L_product_arr = ((Word32) var1) * var2; /* product */ + L_product_arr += (Word32) 0x00004000L; /* round */ +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/negate.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/negate.cpp +index 3db2458..e16dca0 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/negate.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/negate.cpp +@@ -128,7 +128,7 @@ Word16 negate (Word16 var1) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-Word16 negate(register Word16 var1) ++Word16 negate(Word16 var1) + { + /*---------------------------------------------------------------------------- + ; Define all local variables +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_l.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_l.cpp +index dc4ca72..fabbb44 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_l.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_l.cpp +@@ -153,12 +153,12 @@ Word16 norm_l (Word32 L_var1) + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ + #if !((PV_CPU_ARCH_VERSION >=5) && ((PV_COMPILER == EPV_ARM_GNUC) || (PV_COMPILER == EPV_ARM_RVCT))) +-OSCL_EXPORT_REF Word16 norm_l(register Word32 L_var1) ++OSCL_EXPORT_REF Word16 norm_l(Word32 L_var1) + { + /*---------------------------------------------------------------------------- + ; Define all local variables + ----------------------------------------------------------------------------*/ +- register Word16 var_out = 0; ++ Word16 var_out = 0; + + /*---------------------------------------------------------------------------- + ; Function body here +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_s.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_s.cpp +index 4fdc6d2..66dfb65 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_s.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/norm_s.cpp +@@ -155,13 +155,13 @@ Word16 norm_s (Word16 var1) + ----------------------------------------------------------------------------*/ + #if !((PV_CPU_ARCH_VERSION >=5) && ((PV_COMPILER == EPV_ARM_GNUC) || (PV_COMPILER == EPV_ARM_RVCT))) + +-OSCL_EXPORT_REF Word16 norm_s(register Word16 var1) ++OSCL_EXPORT_REF Word16 norm_s(Word16 var1) + { + /*---------------------------------------------------------------------------- + ; Define all local variables + ----------------------------------------------------------------------------*/ + +- register Word16 var_out = 0; ++ Word16 var_out = 0; + + /*---------------------------------------------------------------------------- + ; Function body here +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/pred_lt.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/pred_lt.cpp +index fd51242..abcfddc 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/pred_lt.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/pred_lt.cpp +@@ -202,9 +202,9 @@ OSCL_EXPORT_REF void Pred_lt_3or6( + Flag *pOverflow /* output: if set, overflow occurred in this function */ + ) + { +- register Word16 i; +- register Word16 j; +- register Word16 k; ++ Word16 i; ++ Word16 j; ++ Word16 k; + + Word16 *pX0; + Word16 *pX2; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/q_plsf_3.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/q_plsf_3.cpp +index 2c5446b..adb3542 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/q_plsf_3.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/q_plsf_3.cpp +@@ -216,7 +216,7 @@ static Word16 Vq_subvec4( /* o: quantization index, Q0 */ + Flag *pOverflow /* o : Flag set when overflow occurs */ + ) + { +- register Word16 i; ++ Word16 i; + Word16 temp; + const Word16 *p_dico; + Word16 index = 0; +@@ -510,7 +510,7 @@ static Word16 Vq_subvec3( /* o: quantization index, Q0 */ + Flag use_half, /* i: use every second entry in codebook */ + Flag *pOverflow) /* o : Flag set when overflow occurs */ + { +- register Word16 i; ++ Word16 i; + Word16 temp; + + const Word16 *p_dico; +@@ -884,7 +884,7 @@ OSCL_EXPORT_REF void Q_plsf_3( + Flag *pOverflow /* o : Flag set when overflow occurs */ + ) + { +- register Word16 i, j; ++ Word16 i, j; + Word16 lsf1[M]; + Word16 wf1[M]; + Word16 lsf_p[M]; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/residu.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/residu.cpp +index 787e043..3e8393e 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/residu.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/residu.cpp +@@ -152,7 +152,7 @@ OSCL_EXPORT_REF void Residu( + { + + +- register Word16 i, j; ++ Word16 i, j; + Word32 s1; + Word32 s2; + Word32 s3; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/round.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/round.cpp +index 9fd4abb..b46a44e 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/round.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/round.cpp +@@ -141,7 +141,7 @@ Word16 pv_round (Word32 L_var1) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-OSCL_EXPORT_REF Word16 pv_round(register Word32 L_var1, Flag *pOverflow) ++OSCL_EXPORT_REF Word16 pv_round(Word32 L_var1, Flag *pOverflow) + { + Word16 result; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr.cpp +index a0fbd35..dabe1a8 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr.cpp +@@ -157,9 +157,9 @@ Word16 shr_std (Word16 var1, Word16 var2) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-OSCL_EXPORT_REF Word16 shr(register Word16 var1, register Word16 var2, Flag *pOverflow) ++OSCL_EXPORT_REF Word16 shr(Word16 var1, Word16 var2, Flag *pOverflow) + { +- register Word16 result; ++ Word16 result; + + if (var2 != 0) + { +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr_r.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr_r.cpp +index b403885..04ef9e6 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr_r.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/shr_r.cpp +@@ -160,7 +160,7 @@ Word16 shr_r (Word16 var1, Word16 var2) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-OSCL_EXPORT_REF Word16 shr_r(register Word16 var1, register Word16 var2, Flag *pOverflow) ++OSCL_EXPORT_REF Word16 shr_r(Word16 var1, Word16 var2, Flag *pOverflow) + { + /*---------------------------------------------------------------------------- + ; Define all local variables +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/weight_a.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/weight_a.cpp +index 98382b8..04160d8 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/weight_a.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/common/src/weight_a.cpp +@@ -137,7 +137,7 @@ OSCL_EXPORT_REF void Weight_Ai( + Word16 a_exp[] /* (o) : Spectral expanded LPC coefficients */ + ) + { +- register Word16 i; ++ Word16 i; + + *(a_exp) = *(a); + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d1035pf.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d1035pf.cpp +index d56b922..5f147bd 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d1035pf.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d1035pf.cpp +@@ -177,7 +177,7 @@ void dec_10i40_35bits( + const Word16* dgray_ptr /* i : ptr to read-only tbl */ + ) + { +- register Word16 i, j, pos1, pos2; ++ Word16 i, j, pos1, pos2; + Word16 sign, tmp; + + for (i = 0; i < L_CODE; i++) +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d_plsf_5.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d_plsf_5.cpp +index 8a4e763..9218c4b 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d_plsf_5.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/d_plsf_5.cpp +@@ -263,7 +263,7 @@ void D_plsf_5( + Flag *pOverflow /* o : Flag set when overflow occurs */ + ) + { +- register Word16 i; ++ Word16 i; + Word16 temp; + Word16 sign; + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/int_lsf.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/int_lsf.cpp +index e50eb6c..82844a1 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/int_lsf.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/int_lsf.cpp +@@ -176,9 +176,9 @@ void Int_lsf( + Flag *pOverflow /* o : flag set if overflow occurs */ + ) + { +- register Word16 i; +- register Word16 temp1; +- register Word16 temp2; ++ Word16 i; ++ Word16 temp1; ++ Word16 temp2; + + if (i_subfr == 0) + { +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/ph_disp.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/ph_disp.cpp +index 22fe3b5..b2d00ff 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/ph_disp.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/ph_disp.cpp +@@ -147,7 +147,7 @@ int ph_disp_reset (ph_dispState *state) + + Word16 ph_disp_reset(ph_dispState *state) + { +- register Word16 i; ++ Word16 i; + + if (state == (ph_dispState *) NULL) + { +@@ -560,15 +560,15 @@ void ph_disp( + Flag *pOverflow /* i/o : oveflow indicator */ + ) + { +- register Word16 i, i1; +- register Word16 tmp1; ++ Word16 i, i1; ++ Word16 tmp1; + Word32 L_temp; + Word32 L_temp2; + Word16 impNr; /* indicator for amount of disp./filter used */ + + Word16 inno_sav[L_SUBFR]; + Word16 ps_poss[L_SUBFR]; +- register Word16 nze, nPulse; ++ Word16 nze, nPulse; + Word16 ppos; + const Word16 *ph_imp; /* Pointer to phase dispersion filter */ + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/pstfilt.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/pstfilt.cpp +index 479ded7..2bbb9e1 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/pstfilt.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src/pstfilt.cpp +@@ -376,10 +376,10 @@ void Post_Filter( + Word16 Ap4[MP1]; /* bandwidth expanded LP parameters */ + Word16 *Az; /* pointer to Az_4: */ + /* LPC parameters in each subframe */ +- register Word16 i_subfr; /* index for beginning of subframe */ ++ Word16 i_subfr; /* index for beginning of subframe */ + Word16 h[L_H]; + +- register Word16 i; ++ Word16 i; + Word16 temp1; + Word16 temp2; + Word32 L_tmp; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/autocorr.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/autocorr.cpp +index 033c93a..014a124 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/autocorr.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/autocorr.cpp +@@ -224,9 +224,9 @@ Word16 Autocorr( + Flag *pOverflow /* (o) : indicates overflow */ + ) + { +- register Word16 i; +- register Word16 j; +- register Word16 norm; ++ Word16 i; ++ Word16 j; ++ Word16 norm; + + Word16 y[L_WINDOW]; + Word32 sum; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/c2_9pf.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/c2_9pf.cpp +index 052a53f..2bcb7b8 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/c2_9pf.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/c2_9pf.cpp +@@ -267,7 +267,7 @@ extern "C" + Word16 dn_sign[L_CODE]; + Word16 rr[L_CODE][L_CODE]; + +- register Word16 i; ++ Word16 i; + + Word16 index; + Word16 sharp; +@@ -527,10 +527,10 @@ extern "C" + Flag * pOverflow /* o : Flag set when overflow occurs */ + ) + { +- register Word16 i0; +- register Word16 i1; ++ Word16 i0; ++ Word16 i1; + Word16 ix = 0; /* initialization only needed to keep gcc silent */ +- register Word16 track1; ++ Word16 track1; + Word16 ipos[NB_PULSE]; + Word16 psk; + Word16 ps0; +@@ -543,7 +543,7 @@ extern "C" + Word32 s; + Word32 alp0; + Word32 alp1; +- register Word16 i; ++ Word16 i; + Word32 L_temp; + Word16 *p_codvec = &codvec[0]; + +@@ -898,13 +898,13 @@ extern "C" + Flag *pOverflow /* o : Flag set when overflow occurs */ + ) + { +- register Word16 i; +- register Word16 j; +- register Word16 k; +- register Word16 track; +- register Word16 first; +- register Word16 index; +- register Word16 rsign; ++ Word16 i; ++ Word16 j; ++ Word16 k; ++ Word16 track; ++ Word16 first; ++ Word16 index; ++ Word16 rsign; + Word16 indx; + Word16 _sign[NB_PULSE]; + Word16 *p0; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cl_ltp.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cl_ltp.cpp +index 50eb6b9..2b49af2 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cl_ltp.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cl_ltp.cpp +@@ -545,7 +545,7 @@ void cl_ltp( + Flag *pOverflow /* o : overflow indicator */ + ) + { +- register Word16 i; ++ Word16 i; + Word16 index; + Word32 L_temp; /* temporarily variable */ + Word16 resu3; /* flag for upsample resolution */ +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/convolve.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/convolve.cpp +index e1471d6..c059532 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/convolve.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/convolve.cpp +@@ -155,7 +155,7 @@ void Convolve( + Word16 L /* (i) : vector size */ + ) + { +- register Word16 i, n; ++ Word16 i, n; + Word32 s1, s2; + + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h.cpp +index 32fbdd1..1b2f3d4 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h.cpp +@@ -193,8 +193,8 @@ void cor_h( + Flag *pOverflow + ) + { +- register Word16 i; +- register Word16 dec; ++ Word16 i; ++ Word16 dec; + + Word16 h2[L_CODE]; + Word32 s; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x.cpp +index 7bb54bb..492e4b8 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x.cpp +@@ -202,9 +202,9 @@ void cor_h_x( + Flag *pOverflow /* (o): pointer to overflow flag */ + ) + { +- register Word16 i; +- register Word16 j; +- register Word16 k; ++ Word16 i; ++ Word16 j; ++ Word16 k; + + Word32 s; + Word32 y32[L_CODE]; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x2.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x2.cpp +index 9d72ab3..fc126b2 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x2.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/cor_h_x2.cpp +@@ -194,9 +194,9 @@ void cor_h_x2( + Flag *pOverflow + ) + { +- register Word16 i; +- register Word16 j; +- register Word16 k; ++ Word16 i; ++ Word16 j; ++ Word16 k; + Word32 s; + Word32 y32[L_CODE]; + Word32 max; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/dtx_enc.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/dtx_enc.cpp +index f4f25f9..202ba2d 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/dtx_enc.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/dtx_enc.cpp +@@ -67,7 +67,7 @@ terms listed above has been obtained from the copyright holder. + ; MACROS + ; Define module specific macros here + ----------------------------------------------------------------------------*/ +-extern Word32 L_add(register Word32 L_var1, register Word32 L_var2, Flag *pOverflow); ++extern Word32 L_add(Word32 L_var1, Word32 L_var2, Flag *pOverflow); + + /*---------------------------------------------------------------------------- + ; DEFINES +@@ -544,7 +544,7 @@ void dtx_enc(dtx_encState *st, /* i/o : State struct */ + Flag *pOverflow /* i/o : overflow indicator */ + ) + { +- register Word16 i, j; ++ Word16 i, j; + Word16 temp; + Word16 log_en; + Word16 lsf[M]; +@@ -800,7 +800,7 @@ void dtx_buffer(dtx_encState *st, /* i/o : State struct */ + ) + { + +- register Word16 i; ++ Word16 i; + Word32 L_frame_en; + Word32 L_temp; + Word16 log_en_e; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/l_negate.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/l_negate.cpp +index 9699095..01b9dca 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/l_negate.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/l_negate.cpp +@@ -125,7 +125,7 @@ Word32 L_negate (Word32 L_var1) + /*---------------------------------------------------------------------------- + ; FUNCTION CODE + ----------------------------------------------------------------------------*/ +-Word32 L_negate(register Word32 L_var1) ++Word32 L_negate(Word32 L_var1) + { + /*---------------------------------------------------------------------------- + ; Define all local variables +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/levinson.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/levinson.cpp +index cbd27d7..c138e5d 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/levinson.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/levinson.cpp +@@ -573,8 +573,8 @@ Word16 Levinson( + Flag *pOverflow + ) + { +- register Word16 i; +- register Word16 j; ++ Word16 i; ++ Word16 j; + Word16 hi; + Word16 lo; + Word16 Kh; /* reflexion coefficient; hi and lo */ +@@ -586,9 +586,9 @@ Word16 Levinson( + Word16 Al[M + 1]; + Word16 Anh[M + 1]; /* LPC coef.for next iteration in */ + Word16 Anl[M + 1]; /* double prec. */ +- register Word32 t0; /* temporary variable */ +- register Word32 t1; /* temporary variable */ +- register Word32 t2; /* temporary variable */ ++ Word32 t0; /* temporary variable */ ++ Word32 t1; /* temporary variable */ ++ Word32 t2; /* temporary variable */ + + Word16 *p_Rh; + Word16 *p_Rl; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pitch_ol.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pitch_ol.cpp +index d8efa1e..1d0ff1e 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pitch_ol.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pitch_ol.cpp +@@ -303,7 +303,7 @@ static Word16 Lag_max( /* o : lag found */ + ) + #endif + { +- register Word16 i; ++ Word16 i; + Word16 *p; + Word32 max; + Word32 t0; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pre_proc.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pre_proc.cpp +index 93d23b5..4108f3f 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pre_proc.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/pre_proc.cpp +@@ -436,7 +436,7 @@ void Pre_Process( + Word16 signal[], /* input/output signal */ + Word16 lg) /* length of signal */ + { +- register Word16 i; ++ Word16 i; + Word16 x_n_2; + Word16 x_n_1; + Word32 L_tmp; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/set_sign.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/set_sign.cpp +index f759901..f25b062 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/set_sign.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/set_sign.cpp +@@ -194,7 +194,7 @@ void set_sign(Word16 dn[], /* i/o : correlation between target and h[] */ + Word16 n /* i : # of maximum correlations in dn2[] */ + ) + { +- register Word16 i, j, k; ++ Word16 i, j, k; + Word16 val, min; + Word16 pos = 0; /* initialization only needed to keep gcc silent */ + +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/normalize_amr_wb.h b/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/normalize_amr_wb.h +index 73ccb71..5132d7d 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/normalize_amr_wb.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/normalize_amr_wb.h +@@ -66,8 +66,8 @@ terms listed above has been obtained from the copyright holder. + + __inline int16 normalize_amr_wb(int32 x) + { +- register int32 y; +- register int32 ra = x; ++ int32 y; ++ int32 ra = x; + + + asm volatile( +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwb_math_op.cpp b/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwb_math_op.cpp +index d1ec790..5872512 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwb_math_op.cpp ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwb_math_op.cpp +@@ -205,7 +205,7 @@ int16 div_16by16(int16 var1, int16 var2) + { + + int16 var_out = 0; +- register int16 iteration; ++ int16 iteration; + int32 L_num; + int32 L_denom; + int32 L_denom_by_2; +diff --git a/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwbdecoder_basic_op_gcc_armv5.h b/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwbdecoder_basic_op_gcc_armv5.h +index c2c9f36..e9ddbf1 100644 +--- a/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwbdecoder_basic_op_gcc_armv5.h ++++ b/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/pvamrwbdecoder_basic_op_gcc_armv5.h +@@ -51,10 +51,10 @@ extern "C" + + static inline int16 sub_int16(int16 var1, int16 var2) + { +- register int32 L_var_out; +- register int32 L_var_aux; +- register int32 ra = (int32)var1; +- register int32 rb = (int32)var2; ++ int32 L_var_out; ++ int32 L_var_aux; ++ int32 ra = (int32)var1; ++ int32 rb = (int32)var2; + + asm volatile( + "mov %0, %2, lsl #16\n" +@@ -72,10 +72,10 @@ extern "C" + + static inline int16 add_int16(int16 var1, int16 var2) + { +- register int32 L_var_out; +- register int32 L_var_aux; +- register int32 ra = (int32)var1; +- register int32 rb = (int32)var2; ++ int32 L_var_out; ++ int32 L_var_aux; ++ int32 ra = (int32)var1; ++ int32 rb = (int32)var2; + + asm volatile( + "mov %0, %2, lsl #16\n" +@@ -93,11 +93,11 @@ extern "C" + + static inline int32 mul_32by16(int16 hi, int16 lo, int16 n) + { +- register int32 H_32; +- register int32 L_32; +- register int32 ra = (int32)hi; +- register int32 rb = (int32)lo; +- register int32 rc = (int32)n; ++ int32 H_32; ++ int32 L_32; ++ int32 ra = (int32)hi; ++ int32 rb = (int32)lo; ++ int32 rc = (int32)n; + + + asm volatile( +@@ -117,9 +117,9 @@ extern "C" + + static inline int32 sub_int32(int32 L_var1, int32 L_var2) + { +- register int32 L_var_out; +- register int32 ra = L_var1; +- register int32 rb = L_var2; ++ int32 L_var_out; ++ int32 ra = L_var1; ++ int32 rb = L_var2; + + asm volatile( + "qsub %0, %1, %2" +@@ -132,9 +132,9 @@ extern "C" + + static inline int32 add_int32(int32 L_var1, int32 L_var2) + { +- register int32 L_var_out; +- register int32 ra = L_var1; +- register int32 rb = L_var2; ++ int32 L_var_out; ++ int32 ra = L_var1; ++ int32 rb = L_var2; + + asm volatile( + "qadd %0, %1, %2" +@@ -147,10 +147,10 @@ extern "C" + + static inline int32 msu_16by16_from_int32(int32 L_var3, int16 var1, int16 var2) + { +- register int32 L_var_out; +- register int32 ra = (int32)var1; +- register int32 rb = (int32)var2; +- register int32 rc = L_var3; ++ int32 L_var_out; ++ int32 ra = (int32)var1; ++ int32 rb = (int32)var2; ++ int32 rc = L_var3; + + asm volatile( + "smulbb %0, %1, %2\n" +@@ -166,10 +166,10 @@ extern "C" + + static inline int32 mac_16by16_to_int32(int32 L_var3, int16 var1, int16 var2) + { +- register int32 L_var_out; +- register int32 ra = (int32)var1; +- register int32 rb = (int32)var2; +- register int32 rc = L_var3; ++ int32 L_var_out; ++ int32 ra = (int32)var1; ++ int32 rb = (int32)var2; ++ int32 rc = L_var3; + + asm volatile( + "smulbb %0, %1, %2\n" +@@ -185,9 +185,9 @@ extern "C" + + static inline int32 mul_16by16_to_int32(int16 var1, int16 var2) + { +- register int32 L_var_out; +- register int32 ra = (int32)var1; +- register int32 rb = (int32)var2; ++ int32 L_var_out; ++ int32 ra = (int32)var1; ++ int32 rb = (int32)var2; + + asm volatile( + "smulbb %0, %1, %2\n" +@@ -202,9 +202,9 @@ extern "C" + + static inline int16 mult_int16(int16 var1, int16 var2) + { +- register int32 L_var_out; +- register int32 ra = (int32)var1; +- register int32 rb = (int32)var2; ++ int32 L_var_out; ++ int32 ra = (int32)var1; ++ int32 rb = (int32)var2; + + asm volatile( + "smulbb %0, %1, %2\n" +@@ -218,9 +218,9 @@ extern "C" + + static inline int16 amr_wb_round(int32 L_var1) + { +- register int32 L_var_out; +- register int32 ra = (int32)L_var1; +- register int32 rb = (int32)0x00008000L; ++ int32 L_var_out; ++ int32 ra = (int32)L_var1; ++ int32 rb = (int32)0x00008000L; + + asm volatile( + "qadd %0, %1, %2\n" +@@ -233,9 +233,9 @@ extern "C" + + static inline int16 amr_wb_shl1_round(int32 L_var1) + { +- register int32 L_var_out; +- register int32 ra = (int32)L_var1; +- register int32 rb = (int32)0x00008000L; ++ int32 L_var_out; ++ int32 ra = (int32)L_var1; ++ int32 rb = (int32)0x00008000L; + + asm volatile( + "qadd %0, %1, %1\n" +@@ -250,10 +250,10 @@ extern "C" + + static inline int32 fxp_mac_16by16(const int16 L_var1, const int16 L_var2, int32 L_add) + { +- register int32 tmp; +- register int32 ra = (int32)L_var1; +- register int32 rb = (int32)L_var2; +- register int32 rc = (int32)L_add; ++ int32 tmp; ++ int32 ra = (int32)L_var1; ++ int32 rb = (int32)L_var2; ++ int32 rc = (int32)L_add; + + asm volatile( + "smlabb %0, %1, %2, %3" +@@ -266,9 +266,9 @@ extern "C" + + static inline int32 fxp_mul_16by16bb(int16 L_var1, const int16 L_var2) + { +- register int32 tmp; +- register int32 ra = (int32)L_var1; +- register int32 rb = (int32)L_var2; ++ int32 tmp; ++ int32 ra = (int32)L_var1; ++ int32 rb = (int32)L_var2; + + asm volatile( + "smulbb %0, %1, %2" +@@ -284,9 +284,9 @@ extern "C" + + static inline int32 fxp_mul32_by_16(int32 L_var1, const int32 L_var2) + { +- register int32 tmp; +- register int32 ra = (int32)L_var1; +- register int32 rb = (int32)L_var2; ++ int32 tmp; ++ int32 ra = (int32)L_var1; ++ int32 rb = (int32)L_var2; + + asm volatile( + "smulwb %0, %1, %2" +-- +2.41.0 + diff --git a/recipes/opencore-amr/all/test_package/CMakeLists.txt b/recipes/opencore-amr/all/test_package/CMakeLists.txt index f8165a7ba4d2f..b4b3b8c570e31 100644 --- a/recipes/opencore-amr/all/test_package/CMakeLists.txt +++ b/recipes/opencore-amr/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(opencore-amr REQUIRED) @@ -10,4 +7,4 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE opencore-amr::opencore-amrnb opencore-amr::opencore-amrwb - ) +) diff --git a/recipes/opencore-amr/all/test_package/conanfile.py b/recipes/opencore-amr/all/test_package/conanfile.py index e16563695d6b4..e730ad6dc0dfc 100644 --- a/recipes/opencore-amr/all/test_package/conanfile.py +++ b/recipes/opencore-amr/all/test_package/conanfile.py @@ -1,9 +1,18 @@ -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", "arch", "build_type" - generators = "cmake", "cmake_find_package" + 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) @@ -11,6 +20,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/opencore-amr/all/test_v1_package/CMakeLists.txt b/recipes/opencore-amr/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/opencore-amr/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencore-amr/all/test_v1_package/conanfile.py b/recipes/opencore-amr/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e16563695d6b4 --- /dev/null +++ b/recipes/opencore-amr/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "arch", "build_type" + generators = "cmake", "cmake_find_package" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2c44ad6501ca59b3ef6487c172e2d22bfceca588 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Wed, 21 Jun 2023 04:22:56 -0400 Subject: [PATCH 0603/4087] (#17988) [google-cloud-cpp] update to v2.12.0 --- .../google-cloud-cpp/2.x/components_2_12_0.py | 411 ++++++++++++++++++ recipes/google-cloud-cpp/2.x/conandata.yml | 7 + recipes/google-cloud-cpp/2.x/conanfile.py | 10 +- .../2.x/extract_dependencies.py | 1 + .../2.12.0/001-use-conan-msvc-runtime.patch | 53 +++ recipes/google-cloud-cpp/config.yml | 2 + 6 files changed, 482 insertions(+), 2 deletions(-) create mode 100644 recipes/google-cloud-cpp/2.x/components_2_12_0.py create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.12.0/001-use-conan-msvc-runtime.patch diff --git a/recipes/google-cloud-cpp/2.x/components_2_12_0.py b/recipes/google-cloud-cpp/2.x/components_2_12_0.py new file mode 100644 index 0000000000000..943f3345fcb41 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/components_2_12_0.py @@ -0,0 +1,411 @@ +# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT +DEPENDENCIES = { + "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "advisorynotifications_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "aiplatform_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos', 'type_money_protos'], + "alloydb_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apikeys_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'], + "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "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'], + "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'], + "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'], + "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'], + "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'], + "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'], + "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'], + "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'], + "domains_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_money_protos', 'type_postal_address_protos'], + "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "essentialcontacts_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "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'], + "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkemulticloud_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', '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'], + "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'], + "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'], + "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'], + "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "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'], + "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "recaptchaenterprise_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'], + "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "resourcesettings_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "retail_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_context_attribute_context_protos', 'rpc_status_protos'], + "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "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'], + "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'], + "storageinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos'], + "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'], + "support_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'], + "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "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'], + "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'], + "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'], + "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'], + "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "workflows_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "workstations_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "api_annotations_protos": ['api_http_protos'], + "api_auth_protos": ['api_annotations_protos'], + "api_billing_protos": ['api_annotations_protos', 'api_metric_protos'], + "api_client_protos": ['api_launch_stage_protos'], + "api_distribution_protos": ['api_annotations_protos'], + "api_endpoint_protos": ['api_annotations_protos'], + "api_log_protos": ['api_label_protos'], + "api_logging_protos": ['api_annotations_protos', 'api_label_protos'], + "api_metric_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitored_resource_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitoring_protos": ['api_annotations_protos'], + "api_quota_protos": ['api_annotations_protos'], + "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'], + "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'], + "devtools_cloudtrace_v2_tracing_protos": ['api_client_protos', 'api_field_behavior_protos', 'devtools_cloudtrace_v2_trace_protos', 'devtools_cloudtrace_v2_trace_protos', 'rpc_status_protos'], +} + +PROTO_COMPONENTS = { + "accessapproval_protos", + "accesscontextmanager_protos", + "advisorynotifications_protos", + "aiplatform_protos", + "alloydb_protos", + "api_annotations_protos", + "api_auth_protos", + "api_backend_protos", + "api_billing_protos", + "api_client_protos", + "api_config_change_protos", + "api_context_protos", + "api_control_protos", + "api_distribution_protos", + "api_documentation_protos", + "api_endpoint_protos", + "api_field_behavior_protos", + "api_http_protos", + "api_httpbody_protos", + "api_label_protos", + "api_launch_stage_protos", + "api_log_protos", + "api_logging_protos", + "api_metric_protos", + "api_monitored_resource_protos", + "api_monitoring_protos", + "api_quota_protos", + "api_resource_protos", + "api_routing_protos", + "api_service_protos", + "api_source_info_protos", + "api_system_parameter_protos", + "api_usage_protos", + "api_visibility_protos", + "apigateway_protos", + "apigeeconnect_protos", + "apikeys_protos", + "appengine_protos", + "artifactregistry_protos", + "asset_protos", + "assuredworkloads_protos", + "automl_protos", + "baremetalsolution_protos", + "batch_protos", + "beyondcorp_protos", + "bigtable_protos", + "billing_protos", + "binaryauthorization_protos", + "certificatemanager_protos", + "channel_protos", + "cloud_bigquery_protos", + "cloud_common_common_protos", + "cloud_dialogflow_v2_protos", + "cloud_speech_protos", + "cloud_texttospeech_protos", + "cloudbuild_protos", + "composer_protos", + "confidentialcomputing_protos", + "connectors_protos", + "contactcenterinsights_protos", + "container_protos", + "containeranalysis_protos", + "contentwarehouse_protos", + "datacatalog_protos", + "datamigration_protos", + "dataplex_protos", + "dataproc_protos", + "datastream_protos", + "deploy_protos", + "devtools_cloudtrace_v2_trace_protos", + "devtools_cloudtrace_v2_tracing_protos", + "devtools_source_v1_source_context_protos", + "dialogflow_cx_protos", + "dlp_protos", + "documentai_protos", + "domains_protos", + "edgecontainer_protos", + "essentialcontacts_protos", + "eventarc_protos", + "filestore_protos", + "functions_protos", + "gameservices_protos", + "gkebackup_protos", + "gkehub_protos", + "gkemulticloud_protos", + "grafeas_protos", + "iam_protos", + "iam_v1_iam_policy_protos", + "iam_v1_options_protos", + "iam_v1_policy_protos", + "iap_protos", + "ids_protos", + "iot_protos", + "kms_protos", + "language_protos", + "logging_protos", + "logging_type_type_protos", + "longrunning_operations_protos", + "managedidentities_protos", + "memcache_protos", + "monitoring_protos", + "networkconnectivity_protos", + "networkmanagement_protos", + "networkservices_protos", + "notebooks_protos", + "optimization_protos", + "orgpolicy_protos", + "osconfig_protos", + "oslogin_protos", + "policytroubleshooter_protos", + "privateca_protos", + "profiler_protos", + "pubsub_protos", + "recaptchaenterprise_protos", + "recommender_protos", + "redis_protos", + "resourcemanager_protos", + "resourcesettings_protos", + "retail_protos", + "rpc_code_protos", + "rpc_context_attribute_context_protos", + "rpc_error_details_protos", + "rpc_status_protos", + "run_protos", + "scheduler_protos", + "secretmanager_protos", + "securitycenter_protos", + "servicecontrol_protos", + "servicedirectory_protos", + "servicemanagement_protos", + "serviceusage_protos", + "shell_protos", + "spanner_protos", + "storage_protos", + "storageinsights_protos", + "storagetransfer_protos", + "support_protos", + "talent_protos", + "tasks_protos", + "timeseriesinsights_protos", + "tpu_protos", + "translate_protos", + "type_calendar_period_protos", + "type_color_protos", + "type_date_protos", + "type_datetime_protos", + "type_dayofweek_protos", + "type_decimal_protos", + "type_expr_protos", + "type_interval_protos", + "type_latlng_protos", + "type_money_protos", + "type_postal_address_protos", + "type_timeofday_protos", + "video_protos", + "videointelligence_protos", + "vision_protos", + "vmmigration_protos", + "vmwareengine_protos", + "vpcaccess_protos", + "webrisk_protos", + "websecurityscanner_protos", + "workflows_protos", + "workstations_protos" +} + +COMPONENTS = { + "accessapproval", + "accesscontextmanager", + "advisorynotifications", + "aiplatform", + "alloydb", + "apigateway", + "apigeeconnect", + "apikeys", + "appengine", + "artifactregistry", + "asset", + "assuredworkloads", + "automl", + "baremetalsolution", + "batch", + "beyondcorp", + "bigquery", + "bigtable", + "billing", + "binaryauthorization", + "certificatemanager", + "channel", + "cloudbuild", + "composer", + "confidentialcomputing", + "connectors", + "contactcenterinsights", + "container", + "containeranalysis", + "contentwarehouse", + "datacatalog", + "datamigration", + "dataplex", + "dataproc", + "datastream", + "deploy", + "dialogflow_cx", + "dialogflow_es", + "dlp", + "documentai", + "domains", + "edgecontainer", + "essentialcontacts", + "eventarc", + "filestore", + "functions", + "gameservices", + "gkebackup", + "gkehub", + "gkemulticloud", + "iam", + "iap", + "ids", + "iot", + "kms", + "language", + "logging", + "managedidentities", + "memcache", + "monitoring", + "networkconnectivity", + "networkmanagement", + "networkservices", + "notebooks", + "optimization", + "orgpolicy", + "osconfig", + "oslogin", + "policytroubleshooter", + "privateca", + "profiler", + "pubsub", + "recaptchaenterprise", + "recommender", + "redis", + "resourcemanager", + "resourcesettings", + "retail", + "run", + "scheduler", + "secretmanager", + "securitycenter", + "servicecontrol", + "servicedirectory", + "servicemanagement", + "serviceusage", + "shell", + "spanner", + "speech", + "storage", + "storageinsights", + "storagetransfer", + "support", + "talent", + "tasks", + "texttospeech", + "timeseriesinsights", + "tpu", + "trace", + "translate", + "video", + "videointelligence", + "vision", + "vmmigration", + "vmwareengine", + "vpcaccess", + "webrisk", + "websecurityscanner", + "workflows", + "workstations" +} diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml index b0ad561ceddc4..d9339e05c5ec4 100644 --- a/recipes/google-cloud-cpp/2.x/conandata.yml +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -2,6 +2,9 @@ sources: "2.5.0": url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.5.0.tar.gz" sha256: "ac93ef722d08bfb220343bde2f633c7c11f15e34ec3ecd0a57dbd3ff729cc3a6" + "2.12.0": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.12.0.tar.gz" + sha256: "8cda870803925c62de8716a765e03eb9d34249977e5cdb7d0d20367e997a55e2" patches: "2.5.0": - patch_file: "patches/2.5.0/002-interface-library-properties.patch" @@ -19,3 +22,7 @@ patches: patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636 patch_description: "Fix problems with INTERFACE proto libraries" patch_type: backport + "2.12.0": + - patch_file: "patches/2.12.0/001-use-conan-msvc-runtime.patch" + patch_description: "Let Conan select the MSVC runtime" + patch_type: conan diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py index 7c14208cf7c08..810fc35bc2f60 100644 --- a/recipes/google-cloud-cpp/2.x/conanfile.py +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -20,6 +20,7 @@ # information. The expectation is that maintaining this script will be easier # than writing long lists of dependencies by hand. import components_2_5_0 +import components_2_12_0 required_conan_version = ">=1.56.0" @@ -43,18 +44,23 @@ class GoogleCloudCppConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} - exports = ["components_2_5_0.py"] + exports = ["components_2_5_0.py", + "components_2_12_0.py", + ] short_paths = True _GA_COMPONENTS = { '2.5.0': components_2_5_0.COMPONENTS, + '2.12.0': components_2_12_0.COMPONENTS, } _PROTO_COMPONENTS = { '2.5.0': components_2_5_0.PROTO_COMPONENTS, + '2.12.0': components_2_12_0.PROTO_COMPONENTS, } _PROTO_COMPONENT_DEPENDENCIES = { - "2.5.0": components_2_5_0.DEPENDENCIES + "2.5.0": components_2_5_0.DEPENDENCIES, + "2.12.0": components_2_12_0.DEPENDENCIES, } # Some components require custom dependency definitions. _REQUIRES_CUSTOM_DEPENDENCIES = { diff --git a/recipes/google-cloud-cpp/2.x/extract_dependencies.py b/recipes/google-cloud-cpp/2.x/extract_dependencies.py index cc43b46fa3fa4..1a7607684544a 100755 --- a/recipes/google-cloud-cpp/2.x/extract_dependencies.py +++ b/recipes/google-cloud-cpp/2.x/extract_dependencies.py @@ -40,6 +40,7 @@ "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", } # A few *.deps files use ad-hoc naming. 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 new file mode 100644 index 0000000000000..bfefce3078428 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.12.0/001-use-conan-msvc-runtime.patch @@ -0,0 +1,53 @@ +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/config.yml b/recipes/google-cloud-cpp/config.yml index 90eb7ac7b97bc..d5603efb5114a 100644 --- a/recipes/google-cloud-cpp/config.yml +++ b/recipes/google-cloud-cpp/config.yml @@ -11,3 +11,5 @@ versions: folder: "all" "2.5.0": folder: "2.x" + "2.12.0": + folder: "2.x" From 4107856927d149d43e397c3561b36d5b9b6c234d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 21 Jun 2023 11:01:44 +0200 Subject: [PATCH 0604/4087] (#17991) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 59799be1c4abb..3286a93ff5157 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -47,6 +47,7 @@ required_for_references: - aws-c-cal - aws-c-common - aws-c-compression +- aws-c-http - aws-c-io - aws-c-sdkutils - aws-checksums @@ -112,6 +113,7 @@ required_for_references: - ceres-solver - cfgfile - cfitsio +- cgal - cgif - cgns - charls @@ -149,6 +151,7 @@ required_for_references: - cppbenchmark - cppcheck - cppcodec +- cppcommon - cppdap - cppfront - cppitertools @@ -170,6 +173,7 @@ required_for_references: - ctre - cubicinterpolation - cuda-api-wrappers +- cuda-kat - cwalk - cxxopts - cyclonedds @@ -269,6 +273,7 @@ required_for_references: - glib - glm - glog +- glpk - glslang - glu - gmp @@ -276,6 +281,7 @@ required_for_references: - gnutls - googleapis - gperf +- gperftools - graphene - grpc - grpc-proto @@ -285,6 +291,7 @@ required_for_references: - gstreamer - gtest - gtk +- gtk-doc-stub - gurkenlaeufer - h3 - h5pp @@ -312,6 +319,7 @@ required_for_references: - itlib - jasper - jbig +- jinja2cpp - joltphysics - jom - json-c @@ -325,6 +333,7 @@ required_for_references: - kuba-zip - lcms - ldns +- lefticus-tools - lemon - leptonica - lerc @@ -465,6 +474,7 @@ required_for_references: - minizip - minizip-ng - mongo-c-driver +- mongo-cxx-driver - mozilla-build - mozjpeg - mp-units @@ -512,6 +522,7 @@ required_for_references: - openmesh - openssl - opensubdiv +- opentelemetry-cpp - opentelemetry-proto - optional-lite - opus @@ -655,6 +666,7 @@ required_for_references: - vincentlaucsb-csv-parser - vir-simd - visit_struct +- vo-amrwbenc - volk - vorbis - vtu11 From 7fafb6012ddad08f1f3430acb5c56989a926eb35 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Jun 2023 18:09:20 +0900 Subject: [PATCH 0605/4087] (#17963) svgwrite: support conan v2, update dependencies * svgwrite: support conan v2, update dependencies * add msvc version check --- recipes/svgwrite/all/CMakeLists.txt | 11 -- recipes/svgwrite/all/conandata.yml | 32 ++++-- recipes/svgwrite/all/conanfile.py | 106 ++++++++++-------- .../all/patches/0.1.0-0001-fix-cmake.patch | 13 +++ ...atch => 0.1.0-0002-remove-gcc-flags.patch} | 0 ...ns.patch => 0.1.0-0003-span-lite-ns.patch} | 0 .../patches/0.1.0-0004-add-fmt-runtime.patch | 13 +++ .../all/patches/0.2.0-0001-fix-cmake.patch | 18 +++ .../patches/0.2.0-0002-include-cstdint.patch | 19 ++++ .../svgwrite/all/test_package/CMakeLists.txt | 14 +-- .../svgwrite/all/test_package/conanfile.py | 22 ++-- .../{example.cpp => test_package.cpp} | 0 recipes/svgwrite/config.yml | 4 +- 13 files changed, 172 insertions(+), 80 deletions(-) delete mode 100644 recipes/svgwrite/all/CMakeLists.txt create mode 100644 recipes/svgwrite/all/patches/0.1.0-0001-fix-cmake.patch rename recipes/svgwrite/all/patches/{0001-remove-gcc-flags.patch => 0.1.0-0002-remove-gcc-flags.patch} (100%) rename recipes/svgwrite/all/patches/{0002-span-lite-ns.patch => 0.1.0-0003-span-lite-ns.patch} (100%) create mode 100644 recipes/svgwrite/all/patches/0.1.0-0004-add-fmt-runtime.patch create mode 100644 recipes/svgwrite/all/patches/0.2.0-0001-fix-cmake.patch create mode 100644 recipes/svgwrite/all/patches/0.2.0-0002-include-cstdint.patch rename recipes/svgwrite/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/svgwrite/all/CMakeLists.txt b/recipes/svgwrite/all/CMakeLists.txt deleted file mode 100644 index a7a84f24be646..0000000000000 --- a/recipes/svgwrite/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if (WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif(WIN32 AND BUILD_SHARED_LIBS) - -add_subdirectory("source_subfolder") diff --git a/recipes/svgwrite/all/conandata.yml b/recipes/svgwrite/all/conandata.yml index 2732ab9e3e8f7..d4fffab589e1b 100644 --- a/recipes/svgwrite/all/conandata.yml +++ b/recipes/svgwrite/all/conandata.yml @@ -1,13 +1,31 @@ sources: - "0.1.0": - url: "https://gitlab.com/dvd0101/svgwrite/-/archive/v0.1.0/svgwrite-v0.1.0.tar.gz" - sha256: "beca35ebd5f95fd8a09f6c5b612990c633fd1101e4dd4f72769d819e91ef27bb" "0.2.0": url: "https://gitlab.com/dvd0101/svgwrite/-/archive/v0.2.0/svgwrite-v0.2.0.tar.gz" sha256: "aec13438ac991b13c840488a8f7e878255bdbdf24e757aa3f75de4482eae8812" + "0.1.0": + url: "https://gitlab.com/dvd0101/svgwrite/-/archive/v0.1.0/svgwrite-v0.1.0.tar.gz" + sha256: "beca35ebd5f95fd8a09f6c5b612990c633fd1101e4dd4f72769d819e91ef27bb" patches: + "0.2.0": + - patch_file: "patches/0.2.0-0001-fix-cmake.patch" + patch_description: "remove old conan features" + patch_type: "conan" + - patch_file: "patches/0.2.0-0002-include-cstdint.patch" + patch_description: "include cstdint for gcc 13 or later" + patch_type: "portability" + - patch_file: "patches/0.1.0-0004-add-fmt-runtime.patch" + patch_description: "add fmt::runtime to non-constexpr string" + patch_type: "portability" "0.1.0": - - patch_file: "patches/0001-remove-gcc-flags.patch" - base_path: "source_subfolder" - - patch_file: "patches/0002-span-lite-ns.patch" - base_path: "source_subfolder" + - patch_file: "patches/0.1.0-0001-fix-cmake.patch" + patch_description: "remove old conan features" + patch_type: "conan" + - patch_file: "patches/0.1.0-0002-remove-gcc-flags.patch" + patch_description: "disable gcc flags" + patch_type: "portability" + - patch_file: "patches/0.1.0-0003-span-lite-ns.patch" + patch_description: "fix target name" + patch_type: "conan" + - patch_file: "patches/0.1.0-0004-add-fmt-runtime.patch" + patch_description: "add fmt::runtime to non-constexpr string" + patch_type: "portability" diff --git a/recipes/svgwrite/all/conanfile.py b/recipes/svgwrite/all/conanfile.py index bef96e5e83402..cac9b7b0b66e8 100644 --- a/recipes/svgwrite/all/conanfile.py +++ b/recipes/svgwrite/all/conanfile.py @@ -1,79 +1,93 @@ +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.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +required_conan_version = ">=1.53.0" class SvgwriteConan(ConanFile): name = "svgwrite" + description = "a streaming svg library" license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.com/dvd0101/svgwrite" - description = "SVGWrite - a streaming svg library" - topics = ("svg", "stream", "vector", "image") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - exports_sources = ("CMakeLists.txt", "patches/*") - requires = "span-lite/0.7.0", "fmt/6.1.2" - generators = "cmake", "cmake_find_package" - _cmake = None + topics = ("svg", "writer", "stream", "vector", "image") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "Visual Studio": "16", + "msvc": "192", + } + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + if self.options.shared: + self.options.rm_safe("fPIC") - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "17") + def layout(self): + cmake_layout(self, src_folder="src") - minimal_version = { - "Visual Studio": "16", - "gcc": "7.3", - "clang": "6", - "apple-clang": "10.0" - } + def requirements(self): + self.requires("span-lite/0.10.3", transitive_headers=True) + self.requires("fmt/10.0.0") - if compiler not in minimal_version: - self.output.warn("{} recipe lacks information about the {} compiler" - " standard version support".format(self.name, compiler)) - elif compiler_version < minimal_version.get(compiler): - raise ConanInvalidConfiguration("%s requires a compiler that supports" - " at least C++17. %s %s is not" - " supported." % (self.name, compiler, compiler_version)) + 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): - tools.get(**self.conan_data["sources"][self.version]) - extracted_folder = self.name + "-v" + self.version - os.rename(extracted_folder, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["svgwrite"] diff --git a/recipes/svgwrite/all/patches/0.1.0-0001-fix-cmake.patch b/recipes/svgwrite/all/patches/0.1.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..1576eca80f5fc --- /dev/null +++ b/recipes/svgwrite/all/patches/0.1.0-0001-fix-cmake.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d70de08..df997b1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,7 +9,7 @@ else() + set(BUILD_THIS_PROJECT False) + endif() + +-if(BUILD_THIS_PROJECT) ++if(0) + include(${CMAKE_BINARY_DIR}/conan_paths.cmake) + + include(CTest) diff --git a/recipes/svgwrite/all/patches/0001-remove-gcc-flags.patch b/recipes/svgwrite/all/patches/0.1.0-0002-remove-gcc-flags.patch similarity index 100% rename from recipes/svgwrite/all/patches/0001-remove-gcc-flags.patch rename to recipes/svgwrite/all/patches/0.1.0-0002-remove-gcc-flags.patch diff --git a/recipes/svgwrite/all/patches/0002-span-lite-ns.patch b/recipes/svgwrite/all/patches/0.1.0-0003-span-lite-ns.patch similarity index 100% rename from recipes/svgwrite/all/patches/0002-span-lite-ns.patch rename to recipes/svgwrite/all/patches/0.1.0-0003-span-lite-ns.patch diff --git a/recipes/svgwrite/all/patches/0.1.0-0004-add-fmt-runtime.patch b/recipes/svgwrite/all/patches/0.1.0-0004-add-fmt-runtime.patch new file mode 100644 index 0000000000000..dd055f311c058 --- /dev/null +++ b/recipes/svgwrite/all/patches/0.1.0-0004-add-fmt-runtime.patch @@ -0,0 +1,13 @@ +diff --git a/src/writer.cpp b/src/writer.cpp +index 81da66e..cd2419b 100644 +--- a/src/writer.cpp ++++ b/src/writer.cpp +@@ -56,7 +56,7 @@ namespace svgw::v1 { + template + void print(std::ostream& os, std::vector& buffer, std::string_view format_str, Args&&... args) { + buffer.clear(); +- fmt::format_to(std::back_inserter(buffer), format_str, args...); ++ fmt::format_to(std::back_inserter(buffer), fmt::runtime(format_str), args...); + buffer.push_back(0); + os << buffer.data(); + } diff --git a/recipes/svgwrite/all/patches/0.2.0-0001-fix-cmake.patch b/recipes/svgwrite/all/patches/0.2.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c47884c595ab0 --- /dev/null +++ b/recipes/svgwrite/all/patches/0.2.0-0001-fix-cmake.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4467941..0212c5a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,13 +6,6 @@ option(SVGWRITE_BUILD_DOC "Build svgwrite documentation") + option(SVGWRITE_BUILD_EXAMPLES "Build svgwrite examples") + + if(SVGWRITE_BUILD_LIB) +- if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) +- include(${CMAKE_BINARY_DIR}/conan_paths.cmake) +- +- include(CTest) +- enable_testing() +- endif() +- + add_subdirectory(src) + + if(SVGWRITE_BUILD_EXAMPLES) diff --git a/recipes/svgwrite/all/patches/0.2.0-0002-include-cstdint.patch b/recipes/svgwrite/all/patches/0.2.0-0002-include-cstdint.patch new file mode 100644 index 0000000000000..a24c4a3a8233e --- /dev/null +++ b/recipes/svgwrite/all/patches/0.2.0-0002-include-cstdint.patch @@ -0,0 +1,19 @@ +diff --git a/include/svgwrite/writer.hpp b/include/svgwrite/writer.hpp +index d97bc96..711d453 100644 +--- a/include/svgwrite/writer.hpp ++++ b/include/svgwrite/writer.hpp +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + + /** + * The svgw namespace +@@ -255,4 +256,4 @@ namespace svgw { + std::ostream* os; + }; + } +-} +\ No newline at end of file ++} diff --git a/recipes/svgwrite/all/test_package/CMakeLists.txt b/recipes/svgwrite/all/test_package/CMakeLists.txt index 5f358b17c3b77..682e5fb4ea0e1 100644 --- a/recipes/svgwrite/all/test_package/CMakeLists.txt +++ b/recipes/svgwrite/all/test_package/CMakeLists.txt @@ -1,9 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +project(test_package LANGUAGES CXX) -add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) -set_property(TARGET example PROPERTY CXX_STANDARD 17) +find_package(svgwrite REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE svgwrite::svgwrite) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/svgwrite/all/test_package/conanfile.py b/recipes/svgwrite/all/test_package/conanfile.py index 4ead2ad43af38..ef5d7042163ec 100644 --- a/recipes/svgwrite/all/test_package/conanfile.py +++ b/recipes/svgwrite/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 SvgwriteTestConan(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.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/svgwrite/all/test_package/example.cpp b/recipes/svgwrite/all/test_package/test_package.cpp similarity index 100% rename from recipes/svgwrite/all/test_package/example.cpp rename to recipes/svgwrite/all/test_package/test_package.cpp diff --git a/recipes/svgwrite/config.yml b/recipes/svgwrite/config.yml index f97c9e447ad07..fc6f796e2eea9 100644 --- a/recipes/svgwrite/config.yml +++ b/recipes/svgwrite/config.yml @@ -1,5 +1,5 @@ versions: - "0.1.0": - folder: all "0.2.0": folder: all + "0.1.0": + folder: all From 47d2a6eb9a38f04abd930edf4090c2099e1405c8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 21 Jun 2023 11:03:57 +0100 Subject: [PATCH 0606/4087] (#17990) Thrust: use cub from Conan --- recipes/thrust/all/conanfile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/thrust/all/conanfile.py b/recipes/thrust/all/conanfile.py index eb0ee0d040efe..01049f1cfb97f 100644 --- a/recipes/thrust/all/conanfile.py +++ b/recipes/thrust/all/conanfile.py @@ -31,9 +31,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - # TODO: https://github.com/conan-io/conan-center-index/pull/17484 # Otherwise CUB from system CUDA is used, which is not guaranteed to be compatible - # self.requires("cub/1.17.2") + self.requires("cub/1.17.2") if self.options.device_system == "tbb": self.requires("onetbb/2021.9.0") From 4caf0c9eff92791a50995f2dcda7b18c0e02cac8 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Wed, 21 Jun 2023 14:45:34 +0400 Subject: [PATCH 0607/4087] (#17945) [scons] updated to conan v2 * [scons] updated to conan v2 * layout, simplify tests, test tool_requires * fix hook error --------- Co-authored-by: memsharded --- recipes/scons/all/conanfile.py | 42 +++++++++---------- recipes/scons/all/test_package/SConscript | 9 ---- recipes/scons/all/test_package/SConstruct | 3 +- recipes/scons/all/test_package/conanfile.py | 46 +++++++++------------ 4 files changed, 42 insertions(+), 58 deletions(-) diff --git a/recipes/scons/all/conanfile.py b/recipes/scons/all/conanfile.py index f52d4fa5ffabe..c3cafc92f9e09 100644 --- a/recipes/scons/all/conanfile.py +++ b/recipes/scons/all/conanfile.py @@ -1,4 +1,6 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.files import copy, get, save +from conan.tools.scm import Version import os import shutil import textwrap @@ -11,17 +13,17 @@ class SConsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index/" homepage = "https://scons.org" topics = ("scons", "build", "configuration", "development") - settings = "os" # Added to let the CI test this package on all os'es + settings = "os" + package_type = "application" + no_copy_source = True + short_paths = True - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + self.folders.source = "src" def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], + strip_root=True, destination=self.source_folder) def _chmod_x(self, path): if os.name == "posix": @@ -36,19 +38,19 @@ def _scons_cmd(self): return os.path.join(self.package_folder, "bin", "scons.cmd") def package_id(self): - self.info.header_only() + self.info.clear() def package(self): - self.copy("LICENSE*", src=self._source_subfolder, dst="licenses") + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - if tools.Version(self.version) < 4: - shutil.copytree(os.path.join(self._source_subfolder, "engine", "SCons"), + if Version(self.version) < 4: + shutil.copytree(os.path.join(self.source_folder, "engine", "SCons"), os.path.join(self.package_folder, "res", "SCons")) else: - shutil.copytree(os.path.join(self._source_subfolder, "SCons"), + shutil.copytree(os.path.join(self.source_folder, "SCons"), os.path.join(self.package_folder, "res", "SCons")) - tools.save(self._scons_sh, textwrap.dedent("""\ + save(self, self._scons_sh, textwrap.dedent("""\ #!/bin/sh realpath() ( @@ -70,7 +72,7 @@ def package(self): exec ${PYTHON:-python3} "$currentdir/../res/SCons/__main__.py" "$@" """)) self._chmod_x(self._scons_sh) - tools.save(self._scons_cmd, textwrap.dedent(r""" + save(self, self._scons_cmd, textwrap.dedent(r""" @echo off set currentdir=%~dp0 if not defined PYTHON ( @@ -80,18 +82,14 @@ def package(self): CALL %PYTHON% %currentdir%\\..\\res\\SCons\\__main__.py %* """)) - # Mislead CI and create an empty header in the include directory - include_dir = os.path.join(self.package_folder, "include") - os.mkdir(include_dir) - tools.save(os.path.join(include_dir, "__nop.h"), "") - def package_info(self): self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] self._chmod_x(self._scons_sh) - bindir = os.path.join(self.package_folder, "bin") + + # For Conan 1.x downstream consumers, can be removed once recipe is Conan 2.x only: self.output.info("Appending PATH environment var: {}".format(bindir)) self.env_info.PATH.append(bindir) diff --git a/recipes/scons/all/test_package/SConscript b/recipes/scons/all/test_package/SConscript index 4292c616da88f..d87b9971cdc64 100644 --- a/recipes/scons/all/test_package/SConscript +++ b/recipes/scons/all/test_package/SConscript @@ -3,15 +3,6 @@ import os env = Environment() -conan = SConscript("SConscript_conan") -if not conan: - print("File `SConscript_conan` is missing.") - print("It should be generated by running `conan install`.") - sys.exit(1) - -flags = conan["conan"] -env.MergeFlags(flags) - print("CC is: {}".format(env.subst('$CC'))) test_package = env.Program(["test_package.c"]) diff --git a/recipes/scons/all/test_package/SConstruct b/recipes/scons/all/test_package/SConstruct index a01f66f16099c..ef39d8e2323d3 100644 --- a/recipes/scons/all/test_package/SConstruct +++ b/recipes/scons/all/test_package/SConstruct @@ -2,5 +2,6 @@ import os SConsignFile(os.path.join(GetLaunchDir(), "db")) SConscript('SConscript', - variant_dir=GetLaunchDir(), + build_dir='build', + src='.', duplicate=False) diff --git a/recipes/scons/all/test_package/conanfile.py b/recipes/scons/all/test_package/conanfile.py index 315bdaa33b945..ae2a5c9cf4727 100644 --- a/recipes/scons/all/test_package/conanfile.py +++ b/recipes/scons/all/test_package/conanfile.py @@ -1,43 +1,37 @@ -from conans import ConanFile, tools -from conans.errors import ConanException +from conan import ConanFile +from conan.tools.build import build_jobs, cross_building +from conan.tools.layout import basic_layout from io import StringIO import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "scons" + generators = "VirtualBuildEnv" + test_type = "explicit" - def build(self): - scons_path = self.deps_user_info["scons"].scons - if not scons_path: - raise ConanException("scons could not be found") - if not scons_path.replace("\\", "/").startswith(self.deps_cpp_info["scons"].rootpath.replace("\\", "/")): - raise ConanException("an external scons was found") + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + def layout(self): + basic_layout(self) + + def build(self): output = StringIO() - self.run("{} --version".format(scons_path), run_environment=True, output=output, ignore_errors=True) - self.output.info("output: %s" % output.getvalue()) - output = StringIO() - self.run("{} --version".format(scons_path), run_environment=True, output=output) - text = output.getvalue() - if self.deps_cpp_info["scons"].version not in text: - raise ConanException("scons --version does not return correct version") + self.run("scons --version", output) + self.output.info(output.getvalue()) + assert("SCons by Steven Knight" in output.getvalue()) scons_args = [ - "-j", str(tools.cpu_count()), + "-j", str(build_jobs(self)), "-C", self.source_folder, "-f", os.path.join(self.source_folder, "SConstruct"), ] - self.run("scons {}".format(" ".join(scons_args)), run_environment=True) + self.run("scons {}".format(" ".join(scons_args))) def test(self): - from io import StringIO - - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - output = StringIO() - self.run(bin_path, run_environment=True, ignore_errors=True, output=output) - self.output.info("output: %s" % output.getvalue()) - self.run(bin_path, run_environment=True) + if not cross_building(self): + # Scons build put executable righe here + bin_path = os.path.join(self.recipe_folder, "test_package") + self.run(bin_path, env="conanrun") From f18fb9024d918f847adee269a3be452600cde26d Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 21 Jun 2023 20:53:28 +0930 Subject: [PATCH 0608/4087] (#17664) [util-linux-libuuid] Add util-linux-libuuid package * [util-linux-libuuid] Add util-linux-libuuid package * This is the most actively maintained fork of libuuid * This package should supersede the existing libuuid recipe, which should be deprecated as an inactive fork of the original libuuid. Closes #17337 * [util-linux-libuuid] Add minimum compatible compiler versions * [util-linux-libuuid] Add apple-clang to minimum compiler list * [util-linux-libuuid] Add failover for min_version call to return 0 if compiler or build_type don't exist * [util-linux-libuuid] Add dependency on gettext for Macos to bring in libintl * libintl ships as part of glibc on linux and so this isn't required in that context. On Macos, this isn't the case so this has to be linked against explicitly * [util-linux-libuuid] Use libgettext instead of gettext for libintl * [util-linux-libuuid] Invalidate macos builds * Invalidate Macos builds as they are failing in a way that hasn't been able to be reproduced for debugging on the CI machine. * [util-linux-libuuid] Modify version to use util-linux version rather than libuuid * Update CMake targets to match upstream libuuid -> LibUUID Co-authored-by: ericLemanissier * [util-linux-libuuid] Fix consumer find_package to match new target name --------- Co-authored-by: ericLemanissier --- recipes/util-linux-libuuid/all/conandata.yml | 4 + recipes/util-linux-libuuid/all/conanfile.py | 134 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 ++++ .../all/test_package/test_package.c | 33 +++++ recipes/util-linux-libuuid/config.yml | 3 + 6 files changed, 208 insertions(+) create mode 100644 recipes/util-linux-libuuid/all/conandata.yml create mode 100644 recipes/util-linux-libuuid/all/conanfile.py create mode 100644 recipes/util-linux-libuuid/all/test_package/CMakeLists.txt create mode 100644 recipes/util-linux-libuuid/all/test_package/conanfile.py create mode 100644 recipes/util-linux-libuuid/all/test_package/test_package.c create mode 100644 recipes/util-linux-libuuid/config.yml diff --git a/recipes/util-linux-libuuid/all/conandata.yml b/recipes/util-linux-libuuid/all/conandata.yml new file mode 100644 index 0000000000000..d2ce21857c2f6 --- /dev/null +++ b/recipes/util-linux-libuuid/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.39": + url: "https://github.com/util-linux/util-linux/archive/refs/tags/v2.39.tar.gz" + sha256: "186cb427cd6b4654f381357b60af7ffb0ae9bb50d7af7d87e0723858f7318b80" diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py new file mode 100644 index 0000000000000..9d7a1c2bb0f08 --- /dev/null +++ b/recipes/util-linux-libuuid/all/conanfile.py @@ -0,0 +1,134 @@ +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, chdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class UtilLinuxLibuuidConan(ConanFile): + name = "util-linux-libuuid" + description = "Universally unique id library" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/util-linux/util-linux.git" + license = "BSD-3-Clause" + topics = "id", "identifier", "unique", "uuid" + package_type = "library" + provides = "libuuid" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _has_sys_file_header(self): + return self.settings.os in ["FreeBSD", "Linux", "Macos"] + + 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 _minimum_compiler_version(self, compiler, build_type): + min_version = { + "gcc": { + "Release": "4", + "Debug": "8", + }, + "clang": { + "Release": "3", + "Debug": "3", + }, + "apple-clang": { + "Release": "5", + "Debug": "5", + }, + } + return min_version.get(str(compiler), {}).get(str(build_type), "0") + + def validate(self): + min_version = self._minimum_compiler_version(self.settings.compiler, self.settings.build_type) + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration(f"{self.settings.compiler} {self.settings.compiler.version} does not meet the minimum version requirement of version {min_version}") + if self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} is not supported on Windows") + if self.settings.os == "Macos": + # FIXME: Add Macos compatibility. This is currently breaking because builds are unable to find libtool-2 + # This is a bit puzzling given `libtool` is a tool_requires, and I haven't been able to replicate this error + # locally. + raise ConanInvalidConfiguration(f"{self.ref} is not currently supported on Macos. Please contribute this functionality if you require it.") + + def requirements(self): + if self.settings.os == "Macos": + # Required because libintl.{a,dylib} is not distributed via libc on Macos + self.requires("libgettext/0.21") + + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + self.tool_requires("m4/1.4.19") + self.tool_requires("pkgconf/1.9.3") + self.tool_requires("bison/3.8.2") + self.tool_requires("autoconf/2.71") + 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() + + tc = AutotoolsToolchain(self) + tc.configure_args.append("--disable-all-programs") + tc.configure_args.append("--enable-libuuid") + if self._has_sys_file_header: + tc.extra_defines.append("HAVE_SYS_FILE_H") + if "x86" in self.settings.arch: + tc.extra_cflags.append("-mstackrealign") + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() + + def build(self): + with chdir(self, self.source_folder): + self.run("./autogen.sh") + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, "COPYING.BSD-3-Clause", src=os.path.join(self.source_folder, "Documentation", "licenses"), dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "sbin")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "uuid") + self.cpp_info.set_property("cmake_target_name", "LibUUID::LibUUID") + self.cpp_info.set_property("cmake_file_name", "LibUUID") + self.cpp_info.libs = ["uuid"] + self.cpp_info.includedirs.append(os.path.join("include", "uuid")) diff --git a/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt b/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..02a93367160a0 --- /dev/null +++ b/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES C) + +find_package(LibUUID REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE LibUUID::LibUUID) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/util-linux-libuuid/all/test_package/conanfile.py b/recipes/util-linux-libuuid/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/util-linux-libuuid/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/util-linux-libuuid/all/test_package/test_package.c b/recipes/util-linux-libuuid/all/test_package/test_package.c new file mode 100644 index 0000000000000..792d1d3fbf414 --- /dev/null +++ b/recipes/util-linux-libuuid/all/test_package/test_package.c @@ -0,0 +1,33 @@ +#include + +#include "uuid/uuid.h" + +int main(int argc, char *argv[]) { + uuid_t uuid; + uuid_generate_time_safe(uuid); + + char uuid_str[37]; + uuid_unparse_lower(uuid, uuid_str); + printf("generate uuid=%s\n", uuid_str); + + uuid_t uuid2; + uuid_parse(uuid_str, uuid2); + + int rv; + rv = uuid_compare(uuid, uuid2); + printf("uuid_compare() result=%d\n", rv); + + uuid_t uuid3; + uuid_parse("1b4e28ba-2fa1-11d2-883f-0016d3cca427", uuid3); + rv = uuid_compare(uuid, uuid3); + printf("uuid_compare() result=%d\n", rv); + + rv = uuid_is_null(uuid); + printf("uuid_null() result=%d\n", rv); + + uuid_clear(uuid); + rv = uuid_is_null(uuid); + printf("uuid_null() result=%d\n", rv); + + return 0; +} diff --git a/recipes/util-linux-libuuid/config.yml b/recipes/util-linux-libuuid/config.yml new file mode 100644 index 0000000000000..427b3a10b7a7d --- /dev/null +++ b/recipes/util-linux-libuuid/config.yml @@ -0,0 +1,3 @@ +versions: + "2.39": + folder: all From 37a840bebaad6ec15a7f2ed0c4645f145b63ee1c Mon Sep 17 00:00:00 2001 From: Geoffroy Carlotti <50258839+Knapock@users.noreply.github.com> Date: Wed, 21 Jun 2023 14:03:13 +0200 Subject: [PATCH 0609/4087] (#17491) Dbus/add options socket and pid file * Update dependencies * Pass options system_socket and system_pid_file to the build system --- recipes/dbus/1.x.x/conanfile.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index 008d492888632..f94e50abbf84d 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -25,8 +25,8 @@ class DbusConan(ConanFile): settings = "os", "arch", "compiler", "build_type" short_paths = True options = { - "system_socket": ["ANY"], - "system_pid_file": ["ANY"], + "system_socket": [None, "ANY"], + "system_pid_file": [None, "ANY"], "with_x11": [True, False], "with_glib": [True, False], "with_systemd": [True, False], @@ -34,8 +34,8 @@ class DbusConan(ConanFile): "session_socket_dir": ["ANY"], } default_options = { - "system_socket": "", - "system_pid_file": "", + "system_socket": None, + "system_pid_file": None, "with_x11": False, "with_glib": False, "with_systemd": False, @@ -69,7 +69,7 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") if self.options.with_glib: - self.requires("glib/2.76.0") + self.requires("glib/2.76.2") if self.options.get_safe("with_systemd"): self.requires("libsystemd/252.4") if self.options.with_selinux: @@ -87,7 +87,7 @@ def validate(self): def build_requirements(self): if self._meson_available: - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.0") if self._meson_available or self.options.get_safe("with_systemd"): if not self.conf.get("tools.gnu:pkg_config",check_type=str): self.tool_requires("pkgconf/1.9.3") @@ -104,7 +104,9 @@ def generate(self): tc.project_options["checks"] = False tc.project_options["doxygen_docs"] = "disabled" tc.project_options["modular_tests"] = "disabled" - tc.project_options["session_socket_dir"] = str(self.options.session_socket_dir) + tc.project_options["system_socket"] = str(self.options.get_safe("system_socket", "")) + tc.project_options["system_pid_file"] = str(self.options.get_safe("system_pid_file", "")) + tc.project_options["session_socket_dir"] = str(self.options.get_safe("session_socket_dir", "")) tc.project_options["selinux"] = "enabled" if self.options.get_safe("with_selinux", False) else "disabled" tc.project_options["systemd"] = "enabled" if self.options.get_safe("with_systemd", False) else "disabled" if self.options.get_safe("with_systemd", False): @@ -127,13 +129,14 @@ def generate(self): tc.variables["DBUS_WITH_GLIB"] = bool(self.options.get_safe("with_glib", False)) tc.variables["DBUS_DISABLE_ASSERT"] = is_apple_os(self) tc.variables["DBUS_DISABLE_CHECKS"] = False + tc.variables["DBUS_SYSTEM_BUS_DEFAULT_ADDRESS"] = str(self.options.get_safe("system_socket", "")) # Conan does not provide an EXPAT_LIBRARIES CMake variable for the Expat library. # Define EXPAT_LIBRARIES to be the expat::expat target provided by Conan to fix linking. tc.variables["EXPAT_LIBRARIES"] = "expat::expat" # https://github.com/freedesktop/dbus/commit/e827309976cab94c806fda20013915f1db2d4f5a - tc.variables["DBUS_SESSION_SOCKET_DIR"] = str(self.options.session_socket_dir) + tc.variables["DBUS_SESSION_SOCKET_DIR"] = str(self.options.get_safe("session_socket_dir", "")) tc.cache_variables["CMAKE_FIND_PACKAGE_PREFER_CONFIG"] = False tc.generate() From fb6f78120c50bce0421ebb0d694e6369e541ed68 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 21 Jun 2023 15:06:09 +0200 Subject: [PATCH 0610/4087] (#17096) cpprestsdk: add package_type + bump boost & openssl + remove package id boost minor mode * bump boost & openssl * few changes - follow import conventions of conan API - add package_type - remove boost minor mode * use version range for openssl --- recipes/cpprestsdk/all/conanfile.py | 39 +++++++++---------- .../all/test_package/CMakeLists.txt | 8 ++-- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/recipes/cpprestsdk/all/conanfile.py b/recipes/cpprestsdk/all/conanfile.py index 467c812235f66..9f8dbc8d6fec8 100644 --- a/recipes/cpprestsdk/all/conanfile.py +++ b/recipes/cpprestsdk/all/conanfile.py @@ -1,6 +1,9 @@ from conan import ConanFile -from conan.tools import files from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import ( + apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, + replace_in_file, rmdir +) import os required_conan_version = ">=1.53.0" @@ -12,9 +15,9 @@ class CppRestSDKConan(ConanFile): "C++ API design" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Microsoft/cpprestsdk" - topics = ("cpprestsdk", "rest", "client", "http", "https") + topics = ("rest", "client", "http", "https") license = "MIT" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,7 +39,7 @@ class CppRestSDKConan(ConanFile): } def export_sources(self): - files.export_conandata_patches(self) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -50,23 +53,19 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("boost/1.80.0") - self.requires("openssl/1.1.1s") + self.requires("boost/1.81.0") + self.requires("openssl/[>=1.1 <4]") if self.options.with_compression: self.requires("zlib/1.2.13") if self.options.with_websockets: self.requires("websocketpp/0.8.2") - def package_id(self): - self.info.requires["boost"].minor_mode() - - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): - files.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) @@ -90,22 +89,22 @@ def generate(self): def _patch_clang_libcxx(self): if self.settings.compiler == 'clang' and str(self.settings.compiler.libcxx) in ['libstdc++', 'libstdc++11']: - files.replace_in_file(self, os.path.join(self.source_folder, 'Release', 'CMakeLists.txt'), + replace_in_file(self, os.path.join(self.source_folder, 'Release', 'CMakeLists.txt'), 'libc++', 'libstdc++') def build(self): - files.apply_conandata_patches(self) + apply_conandata_patches(self) self._patch_clang_libcxx() cmake = CMake(self) cmake.configure() cmake.build() def package(self): - files.copy(self, "license.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "license.txt", 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", "cpprestsdk")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cpprestsdk")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "cpprestsdk") @@ -120,7 +119,7 @@ def package_info(self): self.cpp_info.components["cpprestsdk_openssl_internal"].requires = ["openssl::openssl"] # cpprest self.cpp_info.components["cpprest"].set_property("cmake_target_name", "cpprestsdk::cpprest") - self.cpp_info.components["cpprest"].libs = files.collect_libs(self) + self.cpp_info.components["cpprest"].libs = collect_libs(self) self.cpp_info.components["cpprest"].requires = ["cpprestsdk_boost_internal", "cpprestsdk_openssl_internal"] if self.settings.os == "Linux": self.cpp_info.components["cpprest"].system_libs.append("pthread") diff --git a/recipes/cpprestsdk/all/test_package/CMakeLists.txt b/recipes/cpprestsdk/all/test_package/CMakeLists.txt index b305f36beee8f..c83f3ebd18fed 100644 --- a/recipes/cpprestsdk/all/test_package/CMakeLists.txt +++ b/recipes/cpprestsdk/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(cpprestsdk REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} cpprestsdk::cpprest) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE cpprestsdk::cpprest) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) From 131cbf51cfd03b3d9430efc768021cfa868b1743 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 21 Jun 2023 16:15:23 +0200 Subject: [PATCH 0611/4087] (#17996) [config] Update conan, add timeout and disable package id computation cache * [config] Update conan to 1.60.1 and 2.0.6 * Update .c3i/config_v1.yml * Update .c3i/config_v1.yml Co-authored-by: Uilian Ries * Update .c3i/config_v2.yml Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- .c3i/config_v1.yml | 9 ++++++++- .c3i/config_v2.yml | 14 ++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 669ef87bfc51d..df6af9abd550c 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 1.59.0 + version: 1.60.1 artifactory: url: "https://c3i.jfrog.io/c3i" @@ -42,6 +42,13 @@ tasks: - name: "continuous-integration/jenkins/pr-merge" - name: "c3i/conan-v2/pr-merge" required_for_references: "conan_v2_ready_references.yml" + build_single_reference: + package_id_cache_type: "none" + timeout_minutes: 600 + large_timeout_minutes: 800 + large_timeout_references: + - boost + - qt cci: conan_v2_run_export: false write_comments: true diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 8fd47e6c8b9e8..f549334d0d1ff 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.0.4 + version: 2.0.6 artifactory: url: "https://c3i.jfrog.io/c3i" @@ -11,16 +11,11 @@ artifactory: pull-request_repo_prefix: "c3i_PR-v2" pull-request_permission: "c3i-pr" logs_repo: "misc-v2" - # cache_repo: "cache" github: reviewers: "reviewers.yml" authorized_users: "authorized_users.yml" -#slack: -# credential_success_url: SLACK_SUCCESS_WEBHOOK_URL -# ceredential_errors_url: SLACK_FAILURE_WEBHOOK_URL - # Things related to Jenkins jobs: tasks: automatic_merge: @@ -29,6 +24,13 @@ tasks: access_request: request_issue_url: https://github.com/conan-io/conan-center-index/issues/4 max_inactivity_days: 0 + build_single_reference: + package_id_cache_type: "none" + timeout_minutes: 600 + large_timeout_minutes: 800 + large_timeout_references: + - boost + - qt cci: conan_v2_run_export: false detailed_status_checks: false From f281d68ad5d2253e51da24c1899335beb6475511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B6wenstein=20Medical=20Innovation=20F+E?= <90915021+lmife@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:02:49 +0200 Subject: [PATCH 0612/4087] (#16544) Qt5: fix module defines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix defines for modules that use a definition that differs from the module name Co-authored-by: Rubén Rincón Blanco --- recipes/qt/5.x.x/conanfile.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 75d1c67bc8f2c..99cc1c480a8c9 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -1003,7 +1003,14 @@ def _create_module(module, requires=[], has_include_dir=True): self.cpp_info.components[componentname].libs = [f"Qt5{libname}{libsuffix}"] if has_include_dir: self.cpp_info.components[componentname].includedirs = ["include", os.path.join("include", f"Qt{module}")] - self.cpp_info.components[componentname].defines = [f"QT_{module.upper()}_LIB"] + define = module.upper() + if define == "TEST": + define = "TESTLIB" + elif define == "XCBQPA": + define = "XCB_QPA_LIB" + elif define.endswith("SUPPORT"): + define = define.replace("SUPPORT", "_SUPPORT") + self.cpp_info.components[componentname].defines = [f"QT_{define}_LIB"] if module != "Core" and "Core" not in requires: requires.append("Core") self.cpp_info.components[componentname].requires = _get_corrected_reqs(requires) From 7797c4345277d2f580f5b9281e79869175701e0b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 21 Jun 2023 23:03:51 +0200 Subject: [PATCH 0613/4087] (#17809) onnxruntime: add 1.15.1 * onnxruntime: add 1.15.0 * python 3.8+ is required to build the shared library * add comment * address review comments * update to 1.15.1 --- recipes/onnxruntime/all/conandata.yml | 10 + recipes/onnxruntime/all/conanfile.py | 31 +++- .../1.14.1-0002-cmake-dependencies.patch | 54 +++--- .../1.15.1-0001-cmake-dependencies.patch | 172 ++++++++++++++++++ recipes/onnxruntime/config.yml | 2 + 5 files changed, 235 insertions(+), 34 deletions(-) create mode 100644 recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index 93052017c9ff5..4a029ad509a2b 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,8 +1,18 @@ sources: + "1.15.1": + url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.15.1.tar.gz" + sha256: "93a9b6f148639938ccbaa48d0f641d8f33312fdfcc69ee9466e11362b43917c4" "1.14.1": url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: + "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" "1.14.1": - patch_file: "patches/1.14.1-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used (upstreamed future versions)" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index cd2777075e37e..da36f53b722db 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -7,6 +7,7 @@ from conan.tools.scm import Version from conan.tools.env import VirtualBuildEnv import os +import sys required_conan_version = ">=1.53.0" @@ -62,12 +63,20 @@ 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.0", + }[f"{version.major}.{version.minor}"] + def requirements(self): self.requires("abseil/20230125.2") self.requires("protobuf/3.21.9") self.requires("date/3.0.1") self.requires("re2/20230301") - self.requires("onnx/1.13.1") + self.requires(f"onnx/{self._onnx_version}") self.requires("flatbuffers/1.12.0") self.requires("boost/1.81.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run self.requires("safeint/3.0.28") @@ -91,6 +100,13 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + 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." + ) + 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]") @@ -102,6 +118,8 @@ def generate(self): tc = CMakeToolchain(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: + tc.variables["Python_EXECUTABLE"] = sys.executable tc.variables["onnxruntime_BUILD_SHARED_LIB"] = self.options.shared tc.variables["onnxruntime_USE_FULL_PROTOBUF"] = not self.dependencies["protobuf"].options.lite @@ -181,6 +199,15 @@ def generate(self): 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") + + 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") + deps.generate() vbe = VirtualBuildEnv(self) vbe.generate(scope="build") @@ -217,6 +244,8 @@ def package_info(self): "common", "flatbuffers", ] + if self.options.with_xnnpack: + onnxruntime_libs.append("providers_xnnpack") self.cpp_info.libs = [f"onnxruntime_{lib}" for lib in onnxruntime_libs] self.cpp_info.includedirs.append("include/onnxruntime/core/session") 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 index 33dc41a44c7b2..9d0a0f6763613 100644 --- a/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch +++ b/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch @@ -1,3 +1,5 @@ +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( @@ -8,6 +10,8 @@ ) 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 () @@ -24,6 +28,8 @@ + 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( @@ -35,18 +41,15 @@ ) #Here we support two build mode: -@@ -136,8 +136,10 @@ FetchContent_Declare( +@@ -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) -+add_library(date_interface ALIAS date::date) - - -@@ -145,6 +147,7 @@ FetchContent_Declare( +@@ -145,6 +146,7 @@ FetchContent_Declare( mp11 URL ${DEP_URL_mp11} URL_HASH SHA1=${DEP_SHA1_mp11} @@ -54,7 +57,7 @@ ) set(JSON_BuildTests OFF CACHE INTERNAL "") -@@ -263,10 +266,12 @@ FetchContent_Declare( +@@ -263,6 +265,7 @@ FetchContent_Declare( safeint URL ${DEP_URL_safeint} URL_HASH SHA1=${DEP_SHA1_safeint} @@ -62,23 +65,7 @@ ) # The next line will generate an error message "fatal: not a git repository", but it is ok. It is from flatbuffers - onnxruntime_fetchcontent_makeavailable(Protobuf nlohmann_json mp11 re2 safeint GSL flatbuffers) -+add_library(Boost::mp11 ALIAS Boost::headers) - if(NOT flatbuffers_FOUND) - if(NOT TARGET flatbuffers::flatbuffers) - add_library(flatbuffers::flatbuffers ALIAS flatbuffers) -@@ -291,6 +296,10 @@ namespace std { using ::getenv; } - target_compile_options(flatc PRIVATE /FI${CMAKE_BINARY_DIR}/gdk_cstdlib_wrapper.h) - endif() - endif() -+else() -+ if(NOT TARGET flatbuffers::flatbuffers) -+ add_library(flatbuffers::flatbuffers ALIAS flatbuffers::flatbuffers_shared) -+ endif() - endif() - - if (onnxruntime_BUILD_UNIT_TESTS) -@@ -359,6 +368,7 @@ FetchContent_Declare( +@@ -359,6 +362,7 @@ FetchContent_Declare( URL ${DEP_URL_onnx} URL_HASH SHA1=${DEP_SHA1_onnx} PATCH_COMMAND ${ONNXRUNTIME_ONNX_PATCH_COMMAND} @@ -86,19 +73,16 @@ ) -@@ -386,8 +396,9 @@ endif() +@@ -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}) -+add_library(safeint_interface ALIAS safeint::safeint) -+#target_include_directories(safeint_interface INTERFACE ${safeint_SOURCE_DIR}) -+ # XNNPACK EP if (onnxruntime_USE_XNNPACK) -@@ -416,9 +427,9 @@ set(onnxruntime_EXTERNAL_LIBRARIES ${onnxruntime_EXTERNAL_LIBRARIES_XNNPACK} WIL +@@ -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) @@ -110,6 +94,8 @@ 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( @@ -139,9 +125,11 @@ -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,19 @@ set(FXDIV_SOURCE_DIR ${fxdiv_SOURCE_DIR}) +@@ -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) @@ -158,13 +146,11 @@ onnxruntime_fetchcontent_makeavailable(googlexnnpack) -set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) -set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) -+# set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) -+# set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) -+ -+add_library(XNNPACK ALIAS xnnpack::xnnpack) set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) +diff --git a/cmake/onnxruntime_common.cmake b/cmake/onnxruntime_common.cmake +index 0410d3361c..685df7a487 100644 --- a/cmake/onnxruntime_common.cmake +++ b/cmake/onnxruntime_common.cmake @@ -195,7 +195,7 @@ if (ARM64 OR ARM OR X86 OR X64 OR X86_64) @@ -176,6 +162,8 @@ endif() endif() endif() +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) 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 new file mode 100644 index 0000000000000..7da019aa807e9 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch @@ -0,0 +1,172 @@ +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 +@@ -152,7 +152,7 @@ FetchContent_Declare( + URL ${DEP_URL_protobuf} + URL_HASH SHA1=${DEP_SHA1_protobuf} + PATCH_COMMAND ${ONNXRUNTIME_PROTOBUF_PATCH_COMMAND} +- FIND_PACKAGE_ARGS 3.21.12 NAMES Protobuf ++ FIND_PACKAGE_ARGS NAMES Protobuf + ) + set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests" FORCE) + if (CMAKE_SYSTEM_NAME STREQUAL "Android") +@@ -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_common.cmake b/cmake/onnxruntime_common.cmake +index 0410d3361c..685df7a487 100644 +--- a/cmake/onnxruntime_common.cmake ++++ b/cmake/onnxruntime_common.cmake +@@ -195,7 +195,7 @@ if (ARM64 OR ARM OR X86 OR X64 OR X86_64) + # 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::cpuinfo) +- list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo cpuinfo::clog) ++ list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo) + endif() + endif() + endif() +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/config.yml b/recipes/onnxruntime/config.yml index 0414d9adf6108..4b89de81e9882 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,3 +1,5 @@ versions: + "1.15.1": + folder: all "1.14.1": folder: all From f665585112078427ecb52bd28a045eb24d70c303 Mon Sep 17 00:00:00 2001 From: Daniel Heater Date: Wed, 21 Jun 2023 16:09:28 -0500 Subject: [PATCH 0614/4087] (#16504) Update libssh2 for Conan 2.0 * Update libssh2 to Conan 2.x and add support for libssh2 version 1.11.0 * Restore cmake_find_package name to Libssh2 * Revert another attempt to set the cmake_find_package name to Libssh2 (uppercase) to match previous versions of this recipe. I must be doing something dumb, but I cannot reproduce the CI failure on my local machine - I keep getting a failed find_package to taget "Libssh2::libssh2" This reverts commit 401ba0ec191521b1d25aa265e97a9ee3945e4231. * Restore cmake_find_package name to Libssh2 * Revert another attempt to set the cmake_find_package name to Libssh2 (uppercase) to match previous versions of this recipe. I must be doing something dumb, but I cannot reproduce the CI failure on my local machine - I keep getting a failed find_package to taget "Libssh2::libssh2" This reverts commit fbc68d776587175bdb94ebe44ac049216c92443f. * libssh2: cleanup and fixes * remove empty line --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/libssh2/all/CMakeLists.txt | 7 -- recipes/libssh2/all/conandata.yml | 16 +-- recipes/libssh2/all/conanfile.py | 105 +++++++++--------- .../libssh2/all/test_package/CMakeLists.txt | 9 +- recipes/libssh2/all/test_package/conanfile.py | 19 +++- recipes/libssh2/config.yml | 2 + 6 files changed, 75 insertions(+), 83 deletions(-) delete mode 100644 recipes/libssh2/all/CMakeLists.txt diff --git a/recipes/libssh2/all/CMakeLists.txt b/recipes/libssh2/all/CMakeLists.txt deleted file mode 100644 index 8315062fd31ee..0000000000000 --- a/recipes/libssh2/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper C) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/libssh2/all/conandata.yml b/recipes/libssh2/all/conandata.yml index 710cae0e7118d..f30a9ab38ce9b 100644 --- a/recipes/libssh2/all/conandata.yml +++ b/recipes/libssh2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.0": + sha256: 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461 + url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.0/libssh2-1.11.0.tar.gz "1.10.0": sha256: 2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51 url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.10.0/libssh2-1.10.0.tar.gz @@ -11,16 +14,3 @@ sources: "1.8.0": sha256: 39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4 url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.8.0/libssh2-1.8.0.tar.gz -patches: - "1.10.0": - - patch_file: "patches/0001-threads.patch" - base_path: "source_subfolder" - "1.9.0": - - patch_file: "patches/0001-threads.patch" - base_path: "source_subfolder" - "1.8.2": - - patch_file: "patches/0001-threads.patch" - base_path: "source_subfolder" - "1.8.0": - - patch_file: "patches/0001-threads.patch" - base_path: "source_subfolder" diff --git a/recipes/libssh2/all/conanfile.py b/recipes/libssh2/all/conanfile.py index bb49ef120e615..a3786845a2783 100644 --- a/recipes/libssh2/all/conanfile.py +++ b/recipes/libssh2/all/conanfile.py @@ -1,8 +1,11 @@ -from conans import ConanFile, CMake, tools -import functools +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, collect_libs +from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class Libssh2Conan(ConanFile): @@ -12,7 +15,7 @@ class Libssh2Conan(ConanFile): homepage = "https://libssh2.org" topics = ("libssh", "ssh", "shell", "ssh2", "connection") license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,16 +36,36 @@ class Libssh2Conan(ConanFile): "enable_debug_logging": False, } - generators = "cmake", "cmake_find_package" + def export_sources(self): + export_conandata_patches(self) - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ENABLE_ZLIB_COMPRESSION"] = self.options.with_zlib + tc.cache_variables["ENABLE_CRYPT_NONE"] = self.options.enable_crypt_none + tc.cache_variables["ENABLE_MAC_NONE"] = self.options.enable_mac_none + tc.cache_variables["ENABLE_DEBUG_LOGGING"] = self.options.enable_debug_logging + if self.options.crypto_backend == "openssl": + tc.cache_variables["CRYPTO_BACKEND"] = "OpenSSL" + tc.cache_variables["OPENSSL_ROOT_DIR"] = self.dependencies["openssl"].package_folder.replace("\\", "/") + elif self.options.crypto_backend == "mbedtls": + tc.cache_variables["CRYPTO_BACKEND"] = "mbedTLS" + tc.cache_variables["BUILD_EXAMPLES"] = False + tc.cache_variables['BUILD_TESTING'] = not self.conf.get("tools.build:skip_test", default=True, check_type=bool) + tc.cache_variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + # To install relocatable shared lib on Macos by default + tc.variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + # Workaround until github.com/conan-io/conan/pull/12600 is merged + if is_msvc(self): + tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def config_options(self): if self.settings.os == "Windows": @@ -50,68 +73,46 @@ 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") + # This is a pure C library + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") if self.options.crypto_backend == "openssl": - self.requires("openssl/1.1.1q") + self.requires("openssl/1.1.1t") + # Version 3.x not currently working + # self.requires("openssl/[>=1.1 <4]") elif self.options.crypto_backend == "mbedtls": # libssh2/<=1.10.0 doesn't support mbedtls/3.x.x self.requires("mbedtls/2.25.0") 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) + apply_conandata_patches(self) - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)", - "list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)") - - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): cmake = CMake(self) - cmake.definitions["ENABLE_ZLIB_COMPRESSION"] = self.options.with_zlib - cmake.definitions["ENABLE_CRYPT_NONE"] = self.options.enable_crypt_none - cmake.definitions["ENABLE_MAC_NONE"] = self.options.enable_mac_none - cmake.definitions["ENABLE_DEBUG_LOGGING"] = self.options.enable_debug_logging - if self.options.crypto_backend == "openssl": - cmake.definitions["CRYPTO_BACKEND"] = "OpenSSL" - cmake.definitions["OPENSSL_ROOT_DIR"] = self.deps_cpp_info["openssl"].rootpath - elif self.options.crypto_backend == "mbedtls": - cmake.definitions["CRYPTO_BACKEND"] = "mbedTLS" - cmake.definitions["BUILD_EXAMPLES"] = False - cmake.definitions["BUILD_TESTING"] = False - # To install relocatable shared lib on Macos by default - cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" cmake.configure() - return cmake - - def build(self): - self._patch_sources() - cmake = self._configure_cmake() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "share")) # only docs and manpages + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + 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("cmake_file_name", "Libssh2") self.cpp_info.set_property("cmake_target_name", "Libssh2::libssh2") self.cpp_info.set_property("pkg_config_name", "libssh2") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["_libssh2"].libs = tools.collect_libs(self) + self.cpp_info.components["_libssh2"].libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.components["_libssh2"].system_libs.append("ws2_32") elif self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/libssh2/all/test_package/CMakeLists.txt b/recipes/libssh2/all/test_package/CMakeLists.txt index dfda6b6e8ad0d..92f94a36409ed 100644 --- a/recipes/libssh2/all/test_package/CMakeLists.txt +++ b/recipes/libssh2/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) find_package(Libssh2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} Libssh2::libssh2) +target_link_libraries(${PROJECT_NAME} PRIVATE Libssh2::libssh2) diff --git a/recipes/libssh2/all/test_package/conanfile.py b/recipes/libssh2/all/test_package/conanfile.py index 49a3a66ea5bad..a9bc449b529dc 100644 --- a/recipes/libssh2/all/test_package/conanfile.py +++ b/recipes/libssh2/all/test_package/conanfile.py @@ -1,17 +1,26 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def layout(self): + cmake_layout(self) + def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libssh2/config.yml b/recipes/libssh2/config.yml index 42bce17ced607..3cada2e5e398c 100644 --- a/recipes/libssh2/config.yml +++ b/recipes/libssh2/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.0": + folder: all "1.10.0": folder: all "1.9.0": From 0266dc0f95118012783d94f663387663bf5108a6 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Thu, 22 Jun 2023 02:02:55 +0200 Subject: [PATCH 0615/4087] (#17371) [sentry-native] Add version 0.6.2 --- recipes/sentry-native/all/conandata.yml | 3 +++ recipes/sentry-native/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 29cda14cad1e6..84ce5fb055a19 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.2": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" + sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.6.1": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index ea4872076354c..2e0e20ffce3ff 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.2": + folder: all "0.6.1": folder: all "0.6.0": From 2627483c52701d24d02e1908dd796162c87bf585 Mon Sep 17 00:00:00 2001 From: Sebastian Steger <76452786+seboste@users.noreply.github.com> Date: Thu, 22 Jun 2023 05:02:10 +0200 Subject: [PATCH 0616/4087] (#17843) Package/microservice essentials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add microservice-essentials recipe * hook fixes * conan V2 compatibility, require C++17 * remove version property * minimum compiler requirements * add missing import * added tool_requires * fix windows test_package * windows shared lib support * renamed options * add requirements for test (conan 2 compatibility) * use VirtualRunEnv generator in test_package * don't use deprecated env_info * end conanfile with a newline * package .dll files to bin folder and don't add lib to path * add pthread and m to sys libs for linux and FreeBSD * use version range for openSSL * LF instead of CRLF * add lib to bin dirs for windows shared config * Update recipes/microservice-essentials/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- .../microservice-essentials/all/conandata.yml | 4 + .../microservice-essentials/all/conanfile.py | 105 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 10 ++ .../all/test_package/conanfile.py | 25 +++++ .../all/test_package/main.cpp | 13 +++ recipes/microservice-essentials/config.yml | 3 + 6 files changed, 160 insertions(+) create mode 100644 recipes/microservice-essentials/all/conandata.yml create mode 100644 recipes/microservice-essentials/all/conanfile.py create mode 100644 recipes/microservice-essentials/all/test_package/CMakeLists.txt create mode 100644 recipes/microservice-essentials/all/test_package/conanfile.py create mode 100644 recipes/microservice-essentials/all/test_package/main.cpp create mode 100644 recipes/microservice-essentials/config.yml diff --git a/recipes/microservice-essentials/all/conandata.yml b/recipes/microservice-essentials/all/conandata.yml new file mode 100644 index 0000000000000..79b465764338c --- /dev/null +++ b/recipes/microservice-essentials/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.0": + url: "https://github.com/seboste/microservice-essentials/archive/refs/tags/0.1.0.tar.gz" + sha256: "9739f7052ee9de96c4b206e0d345d6de5594dcf2bd6f8d3364d44788e83fbe58" diff --git a/recipes/microservice-essentials/all/conanfile.py b/recipes/microservice-essentials/all/conanfile.py new file mode 100644 index 0000000000000..f5d6bdeaef07d --- /dev/null +++ b/recipes/microservice-essentials/all/conanfile.py @@ -0,0 +1,105 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +import os + +required_conan_version = ">=1.53.0" + +class MicroserviceEssentials(ConanFile): + name = "microservice-essentials" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/seboste/microservice-essentials" + license = "MIT" + description = """microservice-essentials is a portable, independent C++ library that takes care of typical recurring concerns that occur in microservice development.""" + topics = ("microservices", "cloud-native", "request-handling") + settings = "os", "compiler", "arch", "build_type" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_tests": [True, False], + "with_examples": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_tests": False, + "with_examples": False + } + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15.7", + "msvc": "191", + } + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16.3 <4]") + + def requirements(self): + if self.options.with_examples: + self.requires("cpp-httplib/0.12.4") + self.requires("nlohmann_json/3.11.2") + self.requires("openssl/[>=3 <4]") + self.requires("grpc/1.50.1") + if self.options.with_tests: + self.requires("catch2/3.3.2") + self.requires("nlohmann_json/3.11.2") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["BUILD_TESTING"] = self.options.with_tests + tc.variables["BUILD_EXAMPLES"] = self.options.with_examples + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, "17") + + 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] + + 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( + "{} requires C++17, which your compiler does not support.".format(self.name) + ) + + 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 package(self): + copy(self, "LICENSE", 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 = ["microservice-essentials"] + self.cpp_info.bindirs.extend(["lib"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "pthread"]) diff --git a/recipes/microservice-essentials/all/test_package/CMakeLists.txt b/recipes/microservice-essentials/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f5945294e9935 --- /dev/null +++ b/recipes/microservice-essentials/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +find_package(microservice-essentials REQUIRED) + +add_executable(test_package main.cpp) +target_link_libraries(test_package microservice-essentials::microservice-essentials) diff --git a/recipes/microservice-essentials/all/test_package/conanfile.py b/recipes/microservice-essentials/all/test_package/conanfile.py new file mode 100644 index 0000000000000..27bfec4efb0d4 --- /dev/null +++ b/recipes/microservice-essentials/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan import ConanFile +from conan.tools.build import cross_building +import os + +class TestPckage(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 not cross_building(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/microservice-essentials/all/test_package/main.cpp b/recipes/microservice-essentials/all/test_package/main.cpp new file mode 100644 index 0000000000000..bb1a1722bce6b --- /dev/null +++ b/recipes/microservice-essentials/all/test_package/main.cpp @@ -0,0 +1,13 @@ +#include +#include +#include + +int main() +{ + mse::Context ctx; + std::cout << "context created" << std::endl; + // SignalHandler requires pthread. Check if it builds. + mse::SignalHandler signal_handler(mse::Signal::SIG_SHUTDOWN, []() {}); + std::cout << "signal_handler created" << std::endl; + return 0; +} diff --git a/recipes/microservice-essentials/config.yml b/recipes/microservice-essentials/config.yml new file mode 100644 index 0000000000000..5e5e3d8a61814 --- /dev/null +++ b/recipes/microservice-essentials/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.0": + folder: "all" From d1ebe7e86478e3acebbad51866ec23b5d06f706c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Jun 2023 12:43:40 +0900 Subject: [PATCH 0617/4087] (#16582) numcpp: add version 2.10.1, update boost * numcpp: add version 2.10.0, update boost * link c++fs * add validation check for clang<12 with libstdc++11 * update 2.10.1 --- recipes/numcpp/all/conandata.yml | 3 +++ recipes/numcpp/all/conanfile.py | 17 ++++++++++++++++- recipes/numcpp/config.yml | 2 ++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/recipes/numcpp/all/conandata.yml b/recipes/numcpp/all/conandata.yml index bc5d4611e644e..f60639802a576 100644 --- a/recipes/numcpp/all/conandata.yml +++ b/recipes/numcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.1": + url: "https://github.com/dpilger26/NumCpp/archive/Version_2.10.1.tar.gz" + sha256: "847382a780bea2a9b804c1835dcc5f9addabd0d1e3eb9c8339cde9422a5008d6" "2.9.0": url: "https://github.com/dpilger26/NumCpp/archive/Version_2.9.0.tar.gz" sha256: "1c15e23beb4f3d4933d7a6e8d5eb0259e825685973c8f0219485d3f606e5378a" diff --git a/recipes/numcpp/all/conanfile.py b/recipes/numcpp/all/conanfile.py index 16ba0517e3916..ba99c9ae1ca37 100644 --- a/recipes/numcpp/all/conanfile.py +++ b/recipes/numcpp/all/conanfile.py @@ -17,6 +17,7 @@ class NumCppConan(ConanFile): homepage = "https://github.com/dpilger26/NumCpp" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_boost" : [True, False], @@ -61,7 +62,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_boost", True): - self.requires("boost/1.80.0", transitive_headers=True) + self.requires("boost/1.81.0", transitive_headers=True) def package_id(self): self.info.clear() @@ -75,6 +76,14 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) + # since 2.10.0, numcpp requires filesystem + if Version(self.version) >= "2.10.0" and \ + self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "12" and \ + self.settings.compiler.libcxx == "libstdc++11": + raise ConanInvalidConfiguration( + f"{self.ref} doesn't support clang<12 with libstdc++11 due to filesystem library.", + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -101,6 +110,12 @@ def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + if Version(self.version) >= "2.10.0": + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": + self.cpp_info.system_libs.append("stdc++fs") + if self.settings.compiler == "clang" and Version(self.settings.compiler.version).major == "7": + self.cpp_info.system_libs.append("c++fs") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "NumCpp" self.cpp_info.names["cmake_find_package_multi"] = "NumCpp" diff --git a/recipes/numcpp/config.yml b/recipes/numcpp/config.yml index 8bc128c7f1485..5b154933d1718 100644 --- a/recipes/numcpp/config.yml +++ b/recipes/numcpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.1": + folder: "all" "2.9.0": folder: "all" "2.8.0": From 3fb8b7de75635438a15c18807a08a4f74fdb4d47 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 22 Jun 2023 11:42:45 +0200 Subject: [PATCH 0618/4087] (#18015) libmount 2.39 --- recipes/libmount/all/conandata.yml | 3 +++ recipes/libmount/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmount/all/conandata.yml b/recipes/libmount/all/conandata.yml index 5bf946443eb38..18c98b7cab46c 100644 --- a/recipes/libmount/all/conandata.yml +++ b/recipes/libmount/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.39": + url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.tar.xz" + sha256: "32b30a336cda903182ed61feb3e9b908b762a5e66fe14e43efb88d37162075cb" "2.36.2": url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-2.36.2.tar.xz" sha256: "f7516ba9d8689343594356f0e5e1a5f0da34adfbc89023437735872bb5024c5f" diff --git a/recipes/libmount/config.yml b/recipes/libmount/config.yml index c0f9ff233a2c0..b9150d1aa9e48 100644 --- a/recipes/libmount/config.yml +++ b/recipes/libmount/config.yml @@ -1,4 +1,6 @@ versions: + "2.39": + folder: all "2.36.2": folder: all "2.36": From 17f7b91dbb6af686fe4d05d721a300f66e6d63f0 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 22 Jun 2023 16:41:39 +0200 Subject: [PATCH 0619/4087] (#18017) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 3286a93ff5157..61241cda4b7f8 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -35,10 +35,12 @@ required_for_references: - argtable2 - argtable3 - arsenalgear +- artery-font-format - asio - asmjit - astc-codec - async_simple +- asyncly - asyncplusplus - audiofile - autoconf @@ -128,6 +130,7 @@ required_for_references: - clara - clhep - cli11 +- clickhouse-cpp - clipper - clove-unit - cmake @@ -142,6 +145,7 @@ required_for_references: - commata - concurrencpp - concurrentqueue +- console_bridge - cpp-httplib - cpp-jwt - cpp-lazy @@ -155,6 +159,7 @@ required_for_references: - cppdap - cppfront - cppitertools +- cpprestsdk - cpptoml - cppunit - cpputest @@ -171,6 +176,7 @@ required_for_references: - cspice - csvmonkey - ctre +- cub - cubicinterpolation - cuda-api-wrappers - cuda-kat @@ -231,6 +237,7 @@ required_for_references: - fast-cdr - fast-dds - fast_float +- fastgltf - ffmpeg - fft - fftw @@ -355,6 +362,7 @@ required_for_references: - libde265 - libdeflate - libdisasm +- libdrawille - libdwarf - libelf - libepoxy @@ -415,6 +423,7 @@ required_for_references: - libspatialindex - libspng - libsrtp +- libssh2 - libsvtav1 - libsystemd - libtar @@ -513,6 +522,7 @@ required_for_references: - opencl-clhpp-headers - opencl-headers - opencl-icd-loader +- opencore-amr - openexr - opengl - opengv @@ -589,6 +599,7 @@ required_for_references: - samurai - sbepp - scnlib +- scons - screen_capture_lite - sdbus-cpp - sdl @@ -596,6 +607,7 @@ required_for_references: - seadex-essentials - semimap - sentry-breakpad +- sentry-crashpad - serd - sfml - shield @@ -622,6 +634,7 @@ required_for_references: - strawberryperl - string-view-lite - strong_type +- svgwrite - symengine - tabulate - taocpp-json @@ -658,6 +671,7 @@ required_for_references: - uriparser - utf8proc - utfcpp +- util-linux-libuuid - uvw - vaapi - variant-lite From c5640fc75c2d67e734818069893b9cc95e97026f Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Jun 2023 19:31:19 +0900 Subject: [PATCH 0620/4087] (#18033) magic_enum: add version 0.9.3 --- 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 4ecb46e8a245f..94cca110de7e5 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.3": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.3.tar.gz" + sha256: "3cadd6a05f1bffc5141e5e731c46b2b73c2dbff025e723c8abaa659e0a24f072" "0.9.2": url: "https://github.com/Neargye/magic_enum/archive/v0.9.2.tar.gz" sha256: "7887d6a2dfdec65acb7a529a620b3c6f53f30cca55b419ac8ca688a089149e1a" diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index 5a84973326ded..469bd978f09f4 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.3": + folder: all "0.9.2": folder: all "0.9.1": From 4306aa1694c1db8a64c5cc993579024d1299af22 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 23 Jun 2023 12:52:16 +0200 Subject: [PATCH 0621/4087] (#18021) [bot] Update authorized users list (2023-06-22) --- .c3i/authorized_users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 9a246979eef6f..0e7b841489b2a 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1175,3 +1175,9 @@ authorized_users: - Ohjurot - nbukuli - ffabiomar +- 3d4m-volodymyr +- keyboardspecialist +- LvdStokker +- k-wasniowski +- ChrisThrasher +- ViktarHasiul231862 From a9142d49c8fe435e112fc5476179b1147c8c3ceb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 23 Jun 2023 12:59:09 +0200 Subject: [PATCH 0622/4087] (#18008) libggettext 0.22 * libgettext 0.22 * fix sub-folder to build * move imports at the top --- recipes/libgettext/all/conandata.yml | 3 +++ recipes/libgettext/all/conanfile.py | 5 ++--- recipes/libgettext/config.yml | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/libgettext/all/conandata.yml b/recipes/libgettext/all/conandata.yml index 6024e755af9d8..c7f8b2f8602a5 100644 --- a/recipes/libgettext/all/conandata.yml +++ b/recipes/libgettext/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.22": + url: "https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.tar.gz" + sha256: "49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab" "0.21": url: "https://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.gz" sha256: "c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12" diff --git a/recipes/libgettext/all/conanfile.py b/recipes/libgettext/all/conanfile.py index e480512d27ccf..30249cef99da1 100644 --- a/recipes/libgettext/all/conanfile.py +++ b/recipes/libgettext/all/conanfile.py @@ -1,3 +1,4 @@ +import glob import os from conan import ConanFile @@ -182,7 +183,7 @@ def programs(): def build(self): apply_conandata_patches(self) autotools = Autotools(self) - autotools.configure("gettext-tools") + autotools.configure("gettext-runtime") autotools.make() def package(self): @@ -214,8 +215,6 @@ def fix_msvc_libname(conanfile, remove_lib_prefix=True): """remove lib prefix & change extension to .lib in case of cl like compiler""" if not conanfile.settings.get_safe("compiler.runtime"): return - from conan.tools.files import rename - import glob libdirs = getattr(conanfile.cpp.package, "libdirs") for libdir in libdirs: for ext in [".dll.a", ".dll.lib", ".a"]: diff --git a/recipes/libgettext/config.yml b/recipes/libgettext/config.yml index dc03f51a1d462..c7ed4b0b0c8c1 100644 --- a/recipes/libgettext/config.yml +++ b/recipes/libgettext/config.yml @@ -1,4 +1,6 @@ versions: + "0.22": + folder: all "0.21": folder: all "0.20.1": From afb1a4d8de52f51327e80a88402be78bffdce525 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 23 Jun 2023 12:24:08 +0100 Subject: [PATCH 0623/4087] (#18006) argtable: fix test_package Conan 2 compatibility --- recipes/argtable3/all/test_package/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/argtable3/all/test_package/conanfile.py b/recipes/argtable3/all/test_package/conanfile.py index 0ab6dbb34f3d6..83621776fedfc 100644 --- a/recipes/argtable3/all/test_package/conanfile.py +++ b/recipes/argtable3/all/test_package/conanfile.py @@ -21,5 +21,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(f"{bin_path} --help", run_environment=True) + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} --help", env="conanrun") From fe783c63130fb44cda323771604f93446c1b0d52 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 23 Jun 2023 13:28:18 +0200 Subject: [PATCH 0624/4087] (#18002) [sentry-breakpad/0.6.3] Add version --- recipes/sentry-breakpad/all/conandata.yml | 6 +++--- recipes/sentry-breakpad/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-breakpad/all/conandata.yml b/recipes/sentry-breakpad/all/conandata.yml index 21ccf617970ea..059f423b2eba7 100644 --- a/recipes/sentry-breakpad/all/conandata.yml +++ b/recipes/sentry-breakpad/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.3": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" + sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.6.2": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.6.1": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" - "0.6.0": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.0/sentry-native.zip" - sha256: "ae03c9c8487794cd0f6d7fb7bb9b3c13e1a253190b290eaf752e2b4f007fd089" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-breakpad/config.yml b/recipes/sentry-breakpad/config.yml index 2e0e20ffce3ff..205b96ca25c22 100644 --- a/recipes/sentry-breakpad/config.yml +++ b/recipes/sentry-breakpad/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.3": + folder: all "0.6.2": folder: all "0.6.1": folder: all - "0.6.0": - folder: all "0.5.4": folder: all "0.4.18": From 97ce22f82fd811b4af181c5b05d3b998419c256e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 23 Jun 2023 13:28:56 +0200 Subject: [PATCH 0625/4087] (#18000) util-linux-libuuid: enable macos * enable macos * use release tarball --- recipes/util-linux-libuuid/all/conandata.yml | 4 ++-- recipes/util-linux-libuuid/all/conanfile.py | 21 +------------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/recipes/util-linux-libuuid/all/conandata.yml b/recipes/util-linux-libuuid/all/conandata.yml index d2ce21857c2f6..4e1010ee8b94f 100644 --- a/recipes/util-linux-libuuid/all/conandata.yml +++ b/recipes/util-linux-libuuid/all/conandata.yml @@ -1,4 +1,4 @@ sources: "2.39": - url: "https://github.com/util-linux/util-linux/archive/refs/tags/v2.39.tar.gz" - sha256: "186cb427cd6b4654f381357b60af7ffb0ae9bb50d7af7d87e0723858f7318b80" + url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.tar.xz" + sha256: "32b30a336cda903182ed61feb3e9b908b762a5e66fe14e43efb88d37162075cb" diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py index 9d7a1c2bb0f08..736f1aadf0369 100644 --- a/recipes/util-linux-libuuid/all/conanfile.py +++ b/recipes/util-linux-libuuid/all/conanfile.py @@ -1,8 +1,7 @@ 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, chdir +from conan.tools.files import copy, get, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -70,32 +69,16 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.settings.compiler} {self.settings.compiler.version} does not meet the minimum version requirement of version {min_version}") if self.settings.os == "Windows": raise ConanInvalidConfiguration(f"{self.ref} is not supported on Windows") - if self.settings.os == "Macos": - # FIXME: Add Macos compatibility. This is currently breaking because builds are unable to find libtool-2 - # This is a bit puzzling given `libtool` is a tool_requires, and I haven't been able to replicate this error - # locally. - raise ConanInvalidConfiguration(f"{self.ref} is not currently supported on Macos. Please contribute this functionality if you require it.") def requirements(self): if self.settings.os == "Macos": # Required because libintl.{a,dylib} is not distributed via libc on Macos self.requires("libgettext/0.21") - def build_requirements(self): - self.tool_requires("libtool/2.4.7") - self.tool_requires("m4/1.4.19") - self.tool_requires("pkgconf/1.9.3") - self.tool_requires("bison/3.8.2") - self.tool_requires("autoconf/2.71") - 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() - tc = AutotoolsToolchain(self) tc.configure_args.append("--disable-all-programs") tc.configure_args.append("--enable-libuuid") @@ -109,8 +92,6 @@ def generate(self): deps.generate() def build(self): - with chdir(self, self.source_folder): - self.run("./autogen.sh") autotools = Autotools(self) autotools.configure() autotools.make() From 8d79958c8b465d0c03671e6bae66b135c81ad872 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Fri, 23 Jun 2023 13:55:15 +0200 Subject: [PATCH 0626/4087] (#17997) Simplify cpp-httplib recipe --- recipes/cpp-httplib/all/conandata.yml | 45 ++----------------- .../all/test_package/test_package.cpp | 16 +------ recipes/cpp-httplib/config.yml | 28 +----------- 3 files changed, 5 insertions(+), 84 deletions(-) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 4c38028d6d647..24ff696c99e6b 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,49 +1,10 @@ sources: - "0.12.5": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.5.tar.gz" - sha256: "b488f3fa9c6bf35608c3d9a5b69be52e016bbf2fbfe67e5ee684eadb2655493e" - "0.12.4": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.4.tar.gz" - sha256: "1aecc75c64fe979f4c6f8b0308ef11f282c721522072fa02717ff07cc9627d10" - "0.12.3": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.3.tar.gz" - sha256: "175ced3c9cdaf221e9edf210297568d8f7d402a41d6db01254ac9e0b25487c54" - "0.12.2": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.2.tar.gz" - sha256: "a7897d052de8fae75817e7a261ae37b89dc4cb8ac74b74458a1f2d2e707cfd03" - "0.12.1": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.1.tar.gz" - sha256: "0e56c25c63e730ebd42e2beda6e7cb1b950131d8fc00d3158b1443a8d76f41ca" - "0.12.0": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.0.tar.gz" - sha256: "423900c9a124b88c406cd34aba08c9e60742e477a02bd29051cf0ecbf9ef0c65" + "0.12.6": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.6.tar.gz" + sha256: "24bc594a9efcc08a5a6f3928e848d046d411a88b07bcd6f7f3851227a1f0133e" "0.11.4": url: "https://github.com/yhirose/cpp-httplib/archive/v0.11.4.tar.gz" sha256: "28f76b875a332fb80972c3212980c963f0a7d2e11a8fe94a8ed0d847b9a2256f" - "0.11.3": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.11.3.tar.gz" - sha256: "799b2daa0441d207f6cd1179ae3a34869722084a434da6614978be1682c1e12d" - "0.11.2": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.11.2.tar.gz" - sha256: "e620d030215733c4831fdc7813d5eb37a6fd599f8192a730662662e1748a741b" - "0.11.1": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.11.1.tar.gz" - sha256: "1ce2f0393ba779ec34885c5cd937141b4b5b730e2bc2efc34eb8554289c24d61" - "0.11.0": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.11.0.tar.gz" - sha256: "9f533b0aa67066bd8f049e080eef75ad710a2f3ba3d80edbb13957389a5eeca7" "0.10.9": url: "https://github.com/yhirose/cpp-httplib/archive/refs/tags/v0.10.9.tar.gz" sha256: "95ac0740ef760829a079c01a44164fd74af3fdc0748a40fc6beefd0276fd2345" - "0.9.10": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.9.10.tar.gz" - sha256: "49dfa101ced75f8536ec7c865f872ab8fca157c8b49e29be5ef2d2aa11f716e8" - "0.8.9": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.8.9.tar.gz" - sha256: "3c5e0d6784d04b0b3d10f60fa2a26ef2a968fb80f434c4d117c2811f9e3a5ed7" - "0.7.18": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.7.18.tar.gz" - sha256: "ed90e670a39fcacfb670f51b619e670dafe419bca74f8a50fb3c31bb46be8b23" - "0.6.6": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.6.6.tar.gz" - sha256: "35bcc6a3f9612feb92b2153c5e56389ccc1ab46c7ba8781b873a5c2e249eb610" diff --git a/recipes/cpp-httplib/all/test_package/test_package.cpp b/recipes/cpp-httplib/all/test_package/test_package.cpp index 3e9fe638f7b17..197dc1388d9c9 100644 --- a/recipes/cpp-httplib/all/test_package/test_package.cpp +++ b/recipes/cpp-httplib/all/test_package/test_package.cpp @@ -1,20 +1,6 @@ #include int main() { - httplib::Server svr; - - svr.Get("/hi", [](const httplib::Request& req, httplib::Response& res) { - res.set_content("Hello World!", "text/plain"); - }); - - svr.Get(R"(/numbers/(\d+))", [&](const httplib::Request& req, httplib::Response& res) { - auto numbers = req.matches[1]; - res.set_content(numbers, "text/plain"); - }); - - svr.Get("/stop", [&](const httplib::Request& req, httplib::Response& res) { - svr.stop(); - }); - + httplib::Request request; return 0; } diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 589f0df2ffe4a..22c803b64c51d 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,33 +1,7 @@ versions: - "0.12.5": - folder: all - "0.12.4": - folder: all - "0.12.3": - folder: all - "0.12.2": - folder: all - "0.12.1": - folder: all - "0.12.0": + "0.12.6": folder: all "0.11.4": folder: all - "0.11.3": - folder: all - "0.11.2": - folder: all - "0.11.1": - folder: all - "0.11.0": - folder: all "0.10.9": folder: all - "0.9.10": - folder: all - "0.8.9": - folder: all - "0.7.18": - folder: all - "0.6.6": - folder: all From 1b59262afcfc5befeca55007228d71f41bc2e748 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Jun 2023 21:43:10 +0900 Subject: [PATCH 0627/4087] (#17953) logr: support conan v2, update dependencies * logr: support conan v2, update dependencies * update fmt, spdlog * fix fmt version if backend is not spdlog --------- Co-authored-by: James --- recipes/logr/0.1.0/CMakeLists.txt | 7 - recipes/logr/0.1.0/conandata.yml | 5 + recipes/logr/0.1.0/conanfile.py | 147 +++++++++--------- .../logr/0.1.0/patches/0001-fix-cmake.patch | 61 ++++++++ .../logr/0.1.0/test_package/CMakeLists.txt | 17 +- recipes/logr/0.1.0/test_package/conanfile.py | 22 ++- .../{example.cpp => test_package.cpp} | 5 +- recipes/logr/all/conandata.yml | 30 ++-- recipes/logr/all/conanfile.py | 28 ++-- recipes/logr/all/test_package/CMakeLists.txt | 6 +- recipes/logr/all/test_package/conanfile.py | 3 +- .../{example.cpp => test_package.cpp} | 0 .../logr/all/test_v1_package/CMakeLists.txt | 4 +- recipes/logr/config.yml | 16 +- 14 files changed, 211 insertions(+), 140 deletions(-) delete mode 100644 recipes/logr/0.1.0/CMakeLists.txt create mode 100644 recipes/logr/0.1.0/patches/0001-fix-cmake.patch rename recipes/logr/0.1.0/test_package/{example.cpp => test_package.cpp} (91%) rename recipes/logr/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/logr/0.1.0/CMakeLists.txt b/recipes/logr/0.1.0/CMakeLists.txt deleted file mode 100644 index c21cb501798d1..0000000000000 --- a/recipes/logr/0.1.0/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder/logr) diff --git a/recipes/logr/0.1.0/conandata.yml b/recipes/logr/0.1.0/conandata.yml index 368303bc2a36c..bd261e654fa90 100644 --- a/recipes/logr/0.1.0/conandata.yml +++ b/recipes/logr/0.1.0/conandata.yml @@ -2,3 +2,8 @@ sources: "0.1.0": url: "https://github.com/ngrodzitski/logr/archive/v0.1.0.tar.gz" sha256: "6b2e68b6425362f678b7485cd2c8cef7db377ac8ccd45646c84941b189b0b82d" +patches: + "0.1.0": + - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "correct the order of cmake min and project" + patch_type: "conan" diff --git a/recipes/logr/0.1.0/conanfile.py b/recipes/logr/0.1.0/conanfile.py index a3500eef56a0a..967c8e88b68f9 100644 --- a/recipes/logr/0.1.0/conanfile.py +++ b/recipes/logr/0.1.0/conanfile.py @@ -1,97 +1,104 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +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.files import apply_conandata_patches, export_conandata_patches, 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 LogrConan(ConanFile): name = "logr" - license = "BSD 3-Clause License" - homepage = "https://github.com/ngrodzitski/logr" - url = "https://github.com/conan-io/conan-center-index" description = "Logger frontend substitution for spdlog, glog, etc for server/desktop applications" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ngrodzitski/logr" topics = ("logger", "development", "util", "utils") - generators = "cmake" - settings = "os", "compiler", "build_type", "arch" - exports_sources = ["CMakeLists.txt"] - - options = { "backend": ["spdlog", "glog", "log4cplus", "log4cplus-unicode", None] } - default_options = { "backend": "spdlog"} - - _cmake = None + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "backend": ["spdlog", "glog", "log4cplus", "log4cplus-unicode", None], + } + default_options = { + "backend": "spdlog", + } @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _build_subfolder(self): - return "build_subfolder" - - def requirements(self): - self.requires("fmt/7.1.2") - - if self.options.backend == "spdlog": - self.requires("spdlog/1.8.0") - elif self.options.backend == "glog": - self.requires("glog/0.4.0") - elif self.options.backend == "log4cplus": - self.requires("log4cplus/2.0.5") - elif self.options.backend == "log4cplus-unicode": - self.requires("log4cplus/2.0.5") - - def configure(self): - minimal_cpp_standard = "17" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { + def _compilers_minimum_version(self): + return { "gcc": "7", "clang": "7", "apple-clang": "10", - "Visual Studio": "16" + "Visual Studio": "16", + "msvc": "192", } - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) - self.output.warn( - "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) - return - - version = tools.Version(self.settings.compiler.version) - if version < minimal_version[compiler]: - raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + def export_sources(self): + export_conandata_patches(self) - def _configure_cmake(self): - if self._cmake: - return self._cmake + def layout(self): + cmake_layout(self, src_folder="src") - self._cmake = CMake(self) - self._cmake.definitions["LOGR_WITH_SPDLOG_BACKEND"] = self.options.backend == "spdlog" - self._cmake.definitions["LOGR_WITH_GLOG_BACKEND"] = self.options.backend == "glog" - self._cmake.definitions["LOGR_WITH_LOG4CPLUS_BACKEND"] = self.options.backend in ["log4cplus", "log4cplus-unicode"] - - self._cmake.definitions["LOGR_INSTALL"] = True - - self._cmake.configure( build_folder=self._build_subfolder ) - return self._cmake - - 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 requirements(self): + self.requires("fmt/9.1.0") + if self.options.backend == "spdlog": + self.requires("spdlog/1.11.0") + elif self.options.backend == "glog": + self.requires("glog/0.6.0") + elif self.options.backend in ["log4cplus", "log4cplus-unicode"]: + self.requires("log4cplus/2.0.5") - def build(self): + 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." + ) if self.options.backend == "log4cplus" and self.options["log4cplus"].unicode: raise ConanInvalidConfiguration("backend='log4cplus' requires log4cplus:unicode=False") elif self.options.backend == "log4cplus-unicode" and not self.options["log4cplus"].unicode: raise ConanInvalidConfiguration("backend='log4cplus-unicode' requires log4cplus:unicode=True") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["LOGR_WITH_SPDLOG_BACKEND"] = self.options.backend == "spdlog" + tc.cache_variables["LOGR_WITH_GLOG_BACKEND"] = self.options.backend == "glog" + tc.cache_variables["LOGR_WITH_LOG4CPLUS_BACKEND"] = self.options.backend in ["log4cplus", "log4cplus-unicode"] + tc.cache_variables["LOGR_INSTALL"] = True + tc.cache_variables["LOGR_BUILD_TESTS"] = False + tc.cache_variables["LOGR_BUILD_EXAMPLES"] = False + tc.cache_variables["LOGR_BUILD_BENCHMARKS"] = False + tc.generate() + dpes = CMakeDeps(self) + dpes.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - 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() - tools.rmdir(os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/logr/0.1.0/patches/0001-fix-cmake.patch b/recipes/logr/0.1.0/patches/0001-fix-cmake.patch new file mode 100644 index 0000000000000..e806e32f6aa85 --- /dev/null +++ b/recipes/logr/0.1.0/patches/0001-fix-cmake.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e8c2ce1..be74c3d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,13 +4,6 @@ cmake_minimum_required(VERSION 3.14) + + set(logr_root_prj logr_root) + +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/cpp_standard.cmake") +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/libcxx.cmake") +-include( "${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/static_runtime.cmake" ) +- +-message(STATUS "ENABLE C++17") +-cxx_17() +- + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + # ------------------------------------------------------------------------------ +@@ -30,8 +23,6 @@ message( STATUS "Use package manager: ${LOGR_PKG_PROVIDER}") + + + if( "${logr_pkg_provider_lowercase}" STREQUAL "conan" ) +- set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) +- set(CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR} ${CMAKE_PREFIX_PATH}) + elseif ( "${logr_pkg_provider_lowercase}" STREQUAL "vcpkg" ) + if( NOT CMAKE_TOOLCHAIN_FILE ) + message( FATAL_ERROR "CMAKE_TOOLCHAIN_FILE must be defined when using vcpkg") +@@ -65,18 +56,6 @@ option(LOGR_WITH_LOG4CPLUS_BACKEND "Provide logr with log4cplus backend" ON) + # ------------------------------------------------------------------------------ + + project(${logr_root_prj} CXX) +-handle_explicit_libcxx_if_necessary() +-handle_explicit_static_runtime_if_necessary() +- +-# ------------------------------------------------------------------------------ +-# Various helpers: +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/common_options.cmake") +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/compiler_flags.cmake") +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/find_program_required.cmake") +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/append_src_files.cmake") +-include("${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/link_threads_if_necessary.cmake") +-include( "${CMAKE_CURRENT_SOURCE_DIR}/cmake-scripts/static_analysis.cmake" ) +-# ------------------------------------------------------------------------------ + + # ------------------------------------------------------------------------------ + # A piece to define hint for pretty source files paths. +@@ -98,6 +77,14 @@ else () + endif () + # ------------------------------------------------------------------------------ + ++ ++message(STATUS "*** dump start cmake variables ***") ++get_cmake_property(_variableNames VARIABLES) ++foreach(_variableName ${_variableNames}) ++ message(STATUS "${_variableName}=${${_variableName}}") ++endforeach() ++message(STATUS "*** dump end ***") ++ + find_package(fmt REQUIRED) + + if (LOGR_WITH_SPDLOG_BACKEND) diff --git a/recipes/logr/0.1.0/test_package/CMakeLists.txt b/recipes/logr/0.1.0/test_package/CMakeLists.txt index cd3eca474d6d3..f0b27f088f57f 100644 --- a/recipes/logr/0.1.0/test_package/CMakeLists.txt +++ b/recipes/logr/0.1.0/test_package/CMakeLists.txt @@ -1,13 +1,8 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +find_package(logr REQUIRED CONFIG) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE logr::logr) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/logr/0.1.0/test_package/conanfile.py b/recipes/logr/0.1.0/test_package/conanfile.py index b862d3bd0137e..ef5d7042163ec 100644 --- a/recipes/logr/0.1.0/test_package/conanfile.py +++ b/recipes/logr/0.1.0/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 LogrTestConan(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", "example") - 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/logr/0.1.0/test_package/example.cpp b/recipes/logr/0.1.0/test_package/test_package.cpp similarity index 91% rename from recipes/logr/0.1.0/test_package/example.cpp rename to recipes/logr/0.1.0/test_package/test_package.cpp index e80e0e10f0233..de16c1837fbb2 100644 --- a/recipes/logr/0.1.0/test_package/example.cpp +++ b/recipes/logr/0.1.0/test_package/test_package.cpp @@ -1,5 +1,4 @@ -#include - +#include #include #include @@ -22,7 +21,7 @@ int main() auto logger = make_logger(); logger.info( []( auto & out ){ - fmt::format_to( out, + format_to( std::back_inserter(out), "Welcome to logr (v{}.{}.{}), package is provided by Conan!", LOGR_VERSION_MAJOR, LOGR_VERSION_MINOR, diff --git a/recipes/logr/all/conandata.yml b/recipes/logr/all/conandata.yml index 46dc2294ce601..3a291a696ec11 100644 --- a/recipes/logr/all/conandata.yml +++ b/recipes/logr/all/conandata.yml @@ -1,19 +1,19 @@ sources: - "0.2.0": - url: "https://github.com/ngrodzitski/logr/archive/v0.2.0.tar.gz" - sha256: "4e1707f9450f12b0752d8ef4d72a3f38a2e6be0014ca7edde049f22e9b9119a4" - "0.2.1": - url: "https://github.com/ngrodzitski/logr/archive/v0.2.1.tar.gz" - sha256: "411282bb03d678d7266951b979102392dbf7e5e14b629bccfb2c4e74cfa758c6" - "0.3.0": - url: "https://github.com/ngrodzitski/logr/archive/v0.3.0.tar.gz" - sha256: "21eea6cce32e3ccf3769f66211143b17f8b36891e79ec3ef5209f849d9e79ad7" - "0.4.0": - url: "https://github.com/ngrodzitski/logr/archive/v0.4.0.tar.gz" - sha256: "c355aa455d0a9c6d1d3bc168a2db0cd7f3c9706b382088e96948ec3a4cf1286f" - "0.5.1": - url: "https://github.com/ngrodzitski/logr/archive/v0.5.1.tar.gz" - sha256: "674be6a53d5b3f40273b1b5710ac9e32d870827032b5008c41621db47f4b3b0e" "0.6.0": url: "https://github.com/ngrodzitski/logr/archive/v0.6.0.tar.gz" sha256: "2ecb40396add33f2120a79957633533381f3df13cb3b53278eb9dec3a1230eb2" + "0.5.1": + url: "https://github.com/ngrodzitski/logr/archive/v0.5.1.tar.gz" + sha256: "674be6a53d5b3f40273b1b5710ac9e32d870827032b5008c41621db47f4b3b0e" + "0.4.0": + url: "https://github.com/ngrodzitski/logr/archive/v0.4.0.tar.gz" + sha256: "c355aa455d0a9c6d1d3bc168a2db0cd7f3c9706b382088e96948ec3a4cf1286f" + "0.3.0": + url: "https://github.com/ngrodzitski/logr/archive/v0.3.0.tar.gz" + sha256: "21eea6cce32e3ccf3769f66211143b17f8b36891e79ec3ef5209f849d9e79ad7" + "0.2.1": + url: "https://github.com/ngrodzitski/logr/archive/v0.2.1.tar.gz" + sha256: "411282bb03d678d7266951b979102392dbf7e5e14b629bccfb2c4e74cfa758c6" + "0.2.0": + url: "https://github.com/ngrodzitski/logr/archive/v0.2.0.tar.gz" + sha256: "4e1707f9450f12b0752d8ef4d72a3f38a2e6be0014ca7edde049f22e9b9119a4" diff --git a/recipes/logr/all/conanfile.py b/recipes/logr/all/conanfile.py index a5e869c032b2e..7f984ac3075da 100644 --- a/recipes/logr/all/conanfile.py +++ b/recipes/logr/all/conanfile.py @@ -12,30 +12,34 @@ class LogrConan(ConanFile): name = "logr" - license = "BSD-3-Clause" - homepage = "https://github.com/ngrodzitski/logr" - url = "https://github.com/conan-io/conan-center-index" description = ( "Logger frontend substitution for spdlog, glog, etc " "for server/desktop applications" ) + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ngrodzitski/logr" topics = ("logger", "development", "util", "utils") - - settings = "os", "compiler", "build_type", "arch" - - options = {"backend": ["spdlog", "glog", "log4cplus", "boostlog", None]} - default_options = {"backend": "spdlog"} + settings = "os", "arch", "compiler", "build_type" + options = { + "backend": ["spdlog", "glog", "log4cplus", "boostlog", None], + } + default_options = { + "backend": "spdlog", + } def layout(self): basic_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= "0.6.0": + if self.options.backend != "spdlog": + fmt_ref = "fmt/10.0.0" + elif Version(self.version) >= "0.6.0": fmt_ref = "fmt/9.1.0" spdlog_ref = "spdlog/1.11.0" else: fmt_ref = "fmt/8.1.1" - spdlog_ref = "spdlog/1.9.2" + spdlog_ref = "spdlog/1.10.0" self.requires(fmt_ref) @@ -44,9 +48,9 @@ def requirements(self): elif self.options.backend == "glog": self.requires("glog/0.6.0") elif self.options.backend == "log4cplus": - self.requires("log4cplus/2.0.5") + self.requires("log4cplus/2.1.0") elif self.options.backend == "boostlog": - self.requires("boost/1.77.0") + self.requires("boost/1.82.0") def package_id(self): self.info.settings.clear() diff --git a/recipes/logr/all/test_package/CMakeLists.txt b/recipes/logr/all/test_package/CMakeLists.txt index 866a0cc839d26..5e62d2b8b4d92 100644 --- a/recipes/logr/all/test_package/CMakeLists.txt +++ b/recipes/logr/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(logr REQUIRED) -add_executable(${PROJECT_NAME} example.cpp) -target_link_libraries(${PROJECT_NAME} logr::logr) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE logr::logr) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/logr/all/test_package/conanfile.py b/recipes/logr/all/test_package/conanfile.py index a9fb96656f203..f5cf204295e19 100644 --- a/recipes/logr/all/test_package/conanfile.py +++ b/recipes/logr/all/test_package/conanfile.py @@ -3,7 +3,6 @@ from conan.tools.cmake import cmake_layout, CMake import os - class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" @@ -22,5 +21,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/logr/all/test_package/example.cpp b/recipes/logr/all/test_package/test_package.cpp similarity index 100% rename from recipes/logr/all/test_package/example.cpp rename to recipes/logr/all/test_package/test_package.cpp diff --git a/recipes/logr/all/test_v1_package/CMakeLists.txt b/recipes/logr/all/test_v1_package/CMakeLists.txt index 7a2102f144a4f..77c0a1e824e62 100644 --- a/recipes/logr/all/test_v1_package/CMakeLists.txt +++ b/recipes/logr/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) find_package(logr REQUIRED CONFIG) -add_executable(${PROJECT_NAME} ../test_package/example.cpp) +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_link_libraries(${PROJECT_NAME} logr::logr) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/logr/config.yml b/recipes/logr/config.yml index 2642be9922766..71c5abd93f78c 100644 --- a/recipes/logr/config.yml +++ b/recipes/logr/config.yml @@ -1,15 +1,15 @@ versions: - "0.1.0": - folder: 0.1.0 - "0.2.0": - folder: all - "0.2.1": + "0.6.0": folder: all - "0.3.0": + "0.5.1": folder: all "0.4.0": folder: all - "0.5.1": + "0.3.0": folder: all - "0.6.0": + "0.2.1": folder: all + "0.2.0": + folder: all + "0.1.0": + folder: 0.1.0 From fdfd1f05119f3c3f553d07b16ffd591f697b07ee Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Jun 2023 23:01:50 +0900 Subject: [PATCH 0628/4087] (#17765) redis-plus-plus: add version 1.3.8 * redis-plus-plus: add version 1.3.8 * fix compilation error in CHECK_SYMBOL_EXISTS on MSVC * update libuv * make hiredis transitive_libs=True * redis-plus-plus: remove version 1.2.1 * redis-plus-plus: fix test_package --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/redis-plus-plus/all/conandata.yml | 17 +++--- recipes/redis-plus-plus/all/conanfile.py | 22 +++---- ....3.8-0001-fix-dependencies-injection.patch | 58 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 17 ++++-- recipes/redis-plus-plus/config.yml | 4 +- 5 files changed, 87 insertions(+), 31 deletions(-) create mode 100644 recipes/redis-plus-plus/all/patches/1.3.8-0001-fix-dependencies-injection.patch diff --git a/recipes/redis-plus-plus/all/conandata.yml b/recipes/redis-plus-plus/all/conandata.yml index 2437f2fe67b15..27ef36c70a010 100644 --- a/recipes/redis-plus-plus/all/conandata.yml +++ b/recipes/redis-plus-plus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.8": + url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.8.tar.gz" + sha256: "ad521b4a24d1591a1564f945ba6370875b501210222e324f398065251df41641" "1.3.7": url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.7.tar.gz" sha256: "89cb83b0a23ac5825300c301814eab74aa3cdcfcd12e87d443c2692e367768ba" @@ -11,10 +14,11 @@ sources: "1.2.3": url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.3.tar.gz" sha256: "1a3336752133019c963e06c28667b96690d6395b804e5e326671777ff88982ea" - "1.2.1": - url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.1.tar.gz" - sha256: "f09c9fcc362955edb887632cd008102887278c94934d7e8c9d0acb8707671902" patches: + "1.3.8": + - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" + patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" + patch_type: "conan" "1.3.7": - patch_file: "patches/1.3.7-0001-fix-dependencies-injection.patch" patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" @@ -31,10 +35,3 @@ patches: - patch_file: "patches/1.2.3-0001-fix-conan-cmake-package.patch" patch_description: "Robust discovery & injection of dependencies" patch_type: "conan" - "1.2.1": - - patch_file: "patches/1.2.1-0001-fix-hiredis-consumption.patch" - patch_description: "Robust discovery & injection of dependencies" - patch_type: "conan" - - patch_file: "patches/1.2.1-0002-cmake-minimum-required.patch" - patch_description: "CMake: move cmake_minimum_required() before project()" - patch_type: "conan" diff --git a/recipes/redis-plus-plus/all/conanfile.py b/recipes/redis-plus-plus/all/conanfile.py index b10c66e4f7f94..96cac1b9d9a49 100644 --- a/recipes/redis-plus-plus/all/conanfile.py +++ b/recipes/redis-plus-plus/all/conanfile.py @@ -6,17 +6,17 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class RedisPlusPlusConan(ConanFile): name = "redis-plus-plus" - homepage = "https://github.com/sewenew/redis-plus-plus" description = "Redis client written in C++" - topics = ("database", "redis", "client", "tls") - url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/sewenew/redis-plus-plus" + topics = ("database", "redis", "client", "tls") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -58,18 +58,15 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hiredis/1.1.0") + self.requires("hiredis/1.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("build_async"): - self.requires("libuv/1.44.2") + self.requires("libuv/1.45.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -85,8 +82,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.name}:with_tls=True requires hiredis:with_ssl=True") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/redis-plus-plus/all/patches/1.3.8-0001-fix-dependencies-injection.patch b/recipes/redis-plus-plus/all/patches/1.3.8-0001-fix-dependencies-injection.patch new file mode 100644 index 0000000000000..620986816daec --- /dev/null +++ b/recipes/redis-plus-plus/all/patches/1.3.8-0001-fix-dependencies-injection.patch @@ -0,0 +1,58 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6470b32..d372d3d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,8 +34,7 @@ if(REDIS_PLUS_PLUS_BUILD_ASYNC) + message(STATUS "redis-plus-plus build async interface with libuv") + + # libuv dependency +- find_path(REDIS_PLUS_PLUS_ASYNC_LIB_HEADER NAMES uv.h) +- find_library(REDIS_PLUS_PLUS_ASYNC_LIB uv) ++ find_package(libuv REQUIRED CONFIG) + else() + message(FATAL_ERROR "invalid REDIS_PLUS_PLUS_BUILD_ASYNC") + endif() +@@ -133,7 +132,6 @@ if(hiredis_FOUND) + list(APPEND REDIS_PLUS_PLUS_HIREDIS_LIBS hiredis::hiredis) + + if(REDIS_PLUS_PLUS_USE_TLS) +- find_package(hiredis_ssl REQUIRED) + list(APPEND REDIS_PLUS_PLUS_HIREDIS_LIBS hiredis::hiredis_ssl) + find_package(OpenSSL REQUIRED) + list(APPEND REDIS_PLUS_PLUS_HIREDIS_LIBS ${OPENSSL_LIBRARIES}) +@@ -163,16 +161,10 @@ endif() + set(HIREDIS_FEATURE_TEST_HEADER "${HIREDIS_FEATURE_TEST_INCLUDE}/hiredis/hiredis.h") + + include(CheckSymbolExists) +-set(CMAKE_REQUIRED_LIBRARIES_BACK ${CMAKE_REQUIRED_LIBRARIES}) +-set(CMAKE_REQUIRED_LIBRARIES ${HIREDIS_FEATURE_TEST_LIB}) +- + CHECK_SYMBOL_EXISTS(redisEnableKeepAliveWithInterval ${HIREDIS_FEATURE_TEST_HEADER} REDIS_PLUS_PLUS_HAS_redisEnableKeepAliveWithInterval) + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hiredis_features.h.in ${CMAKE_CURRENT_SOURCE_DIR}/${REDIS_PLUS_PLUS_SOURCE_DIR}/hiredis_features.h) + +-# Restore CMAKE_REQUIRED_LIBRARIES +-set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_BACK}) +- + # Build static library + option(REDIS_PLUS_PLUS_BUILD_STATIC "Build static library" ON) + message(STATUS "redis-plus-plus build static library: ${REDIS_PLUS_PLUS_BUILD_STATIC}") +@@ -214,7 +206,7 @@ if(REDIS_PLUS_PLUS_BUILD_STATIC) + + if(REDIS_PLUS_PLUS_BUILD_ASYNC) + target_include_directories(${STATIC_LIB} PUBLIC $) +- target_include_directories(${STATIC_LIB} PUBLIC $) ++ target_link_libraries(${STATIC_LIB} PUBLIC $,uv,uv_a>) + if(REDIS_PLUS_PLUS_ASYNC_FUTURE STREQUAL "boost") + target_include_directories(${STATIC_LIB} SYSTEM PUBLIC $) + endif() +@@ -267,8 +259,7 @@ if(REDIS_PLUS_PLUS_BUILD_SHARED) + + if(REDIS_PLUS_PLUS_BUILD_ASYNC) + target_include_directories(${SHARED_LIB} PUBLIC $) +- target_include_directories(${SHARED_LIB} PUBLIC $) +- target_link_libraries(${SHARED_LIB} PUBLIC ${REDIS_PLUS_PLUS_ASYNC_LIB}) ++ target_link_libraries(${SHARED_LIB} PUBLIC $,uv,uv_a>) + if(REDIS_PLUS_PLUS_ASYNC_FUTURE STREQUAL "boost") + target_include_directories(${SHARED_LIB} SYSTEM PUBLIC $) + endif() diff --git a/recipes/redis-plus-plus/all/test_package/CMakeLists.txt b/recipes/redis-plus-plus/all/test_package/CMakeLists.txt index df9a8c785c48c..a2c2b3348228e 100644 --- a/recipes/redis-plus-plus/all/test_package/CMakeLists.txt +++ b/recipes/redis-plus-plus/all/test_package/CMakeLists.txt @@ -9,10 +9,15 @@ if(TARGET redis++::redis++_static) else() target_link_libraries(${PROJECT_NAME} PRIVATE redis++::redis++) endif() -if(redis++_VERSION VERSION_GREATER_EQUAL "1.3.0") - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -else() - # no target_compile_features here because redis-plus-plus < 1.3.0 is built - # with C++11 by default and is not ABI compatible if consumed with C++17... - set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) + +if(NOT CMAKE_CXX_STANDARD) + # Cover the case where compiler.cppstd is not defined in the Conan profile + # (e.g. Conan 1.x), and define the compiler standard assuming the library defaults instead + if(redis++_VERSION VERSION_GREATER_EQUAL "1.3.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + else() + # no target_compile_features here because redis-plus-plus < 1.3.0 is built + # with C++11 by default and is not ABI compatible if consumed with C++17... + set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) + endif() endif() diff --git a/recipes/redis-plus-plus/config.yml b/recipes/redis-plus-plus/config.yml index 923fc0f3c1acb..eda5e08beb83f 100644 --- a/recipes/redis-plus-plus/config.yml +++ b/recipes/redis-plus-plus/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.8": + folder: all "1.3.7": folder: all "1.3.3": @@ -7,5 +9,3 @@ versions: folder: all "1.2.3": folder: all - "1.2.1": - folder: all From 11f1184d994ff542615632dbb044bac0dc8e9ff5 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 23 Jun 2023 17:15:10 +0200 Subject: [PATCH 0629/4087] (#18036) wayland: add version 1.22.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/wayland/all/conandata.yml | 3 +++ recipes/wayland/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wayland/all/conandata.yml b/recipes/wayland/all/conandata.yml index b49acf6707671..02888e74f53f7 100644 --- a/recipes/wayland/all/conandata.yml +++ b/recipes/wayland/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.22.0": + url: "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.22.0/downloads/wayland-1.22.0.tar.xz" + sha256: "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842" "1.21.0": url: "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.21.0/downloads/wayland-1.21.0.tar.xz" sha256: "6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac" diff --git a/recipes/wayland/config.yml b/recipes/wayland/config.yml index 21b3598bd3d20..27ca5fdc22826 100644 --- a/recipes/wayland/config.yml +++ b/recipes/wayland/config.yml @@ -1,4 +1,6 @@ versions: + "1.22.0": + folder: all "1.21.0": folder: all "1.20.0": From 77f22d5109aef0819308fd966fa1536d341037ce Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 23 Jun 2023 17:50:20 +0200 Subject: [PATCH 0630/4087] (#17751) [qt/6.5.1] Add version --- recipes/qt/6.x.x/conandata.yml | 24 ++ recipes/qt/6.x.x/qtmodules6.5.1.conf | 331 +++++++++++++++++++++++++++ recipes/qt/config.yml | 2 + 3 files changed, 357 insertions(+) create mode 100644 recipes/qt/6.x.x/qtmodules6.5.1.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index 6df3996bdfa44..f017b4e075adb 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,24 @@ sources: + "6.5.1": + url: + - "https://download.qt.io/official_releases/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://download.qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://ftp1.nluug.nl/languages/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://ftp2.nluug.nl/languages/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://master.qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" + sha256: "a2d88a6f8c3835dca52f3b7433149c3de606a96bbf024640c27657276cc7350a" "6.5.0": url: - "https://download.qt.io/official_releases/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" @@ -42,6 +62,10 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: + "6.5.1": + - base_path: "qtwebengine" + patch_description: "Workaround for too long .rps file name" + patch_file: "patches/c72097e.diff" "6.5.0": - base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" diff --git a/recipes/qt/6.x.x/qtmodules6.5.1.conf b/recipes/qt/6.x.x/qtmodules6.5.1.conf new file mode 100644 index 0000000000000..32adb4f64f412 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.5.1.conf @@ -0,0 +1,331 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.5.1 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.5.1 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.5.1 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.5.1 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.5.1 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.5.1 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.5.1 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.5.1 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.5.1 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.5.1 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.5.1 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.5.1 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.5.1 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools + path = qt3d + url = ../qt3d.git + branch = 6.5.1 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.5.1 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.5.1 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.5.1 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.5.1 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.5.1 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.5.1 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.5.1 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.5.1 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.5.1 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.5.1 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.5.1 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.5.1 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.5.1 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.5.1 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.5.1 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.5.1 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.5.1 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.5.1 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.5.1 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.5.1 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.5.1 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.5.1 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.5.1 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.5.1 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.5.1 + status = addon +[submodule "qtgrpc"] + depends = qtbase + path = qtgrpc + url = ../qtgrpc.git + branch = 6.5.1 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.5.1 + status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 13ce5a438f056..dbad0d7f3bfcd 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,4 +1,6 @@ versions: + "6.5.1": + folder: 6.x.x "6.5.0": folder: 6.x.x "6.4.2": From 894d7a4d3117b89ef0f18f85b181e1e5b1ab7c6b Mon Sep 17 00:00:00 2001 From: Bagrat Dabaghyan Date: Fri, 23 Jun 2023 20:17:56 +0400 Subject: [PATCH 0631/4087] (#17351) imgui: add version 1.89.5 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/imgui/all/conandata.yml | 3 +++ recipes/imgui/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 1eb68f99063db..58f313ed6c1fa 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index ce92302f4a251..d180a9a8ca900 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,6 @@ versions: + "1.89.5": + folder: all "1.89.4": folder: all "1.89.3": From 6cdbdb22c87d5c93391ffebff48944b2585094ae Mon Sep 17 00:00:00 2001 From: Marco Zille Date: Fri, 23 Jun 2023 18:38:33 +0200 Subject: [PATCH 0632/4087] (#16559) Conan v2 support for nanodbc * Create new package for nanodbc to support Conan v2 * Fixed linter error * Fixed more linter errors * Fixed new version for Conan v2 * Added missing command to copy the patches * Fix patch * Another fix to the patch * Try fixing other patch * Fix compilation for older versions on new compilers * Disable compilation for clang * Fix cmake target name * Try to fix v2 tests * nanodbc: restore compiler version checks for Conan 1.x packages, minor cleanup * nanodbc: add package type --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/nanodbc/all/CMakeLists.txt | 11 -- recipes/nanodbc/all/conandata.yml | 24 +++- recipes/nanodbc/all/conanfile.py | 122 ++++++++++-------- .../all/patches/0001-odbc-from-cci.patch | 7 +- .../patches/0002-allow-windows-shared.patch | 2 +- .../patches/0003-add-missing-include.patch | 10 ++ .../nanodbc/all/test_package/CMakeLists.txt | 9 +- recipes/nanodbc/all/test_package/conanfile.py | 19 ++- 8 files changed, 120 insertions(+), 84 deletions(-) delete mode 100644 recipes/nanodbc/all/CMakeLists.txt create mode 100644 recipes/nanodbc/all/patches/0003-add-missing-include.patch diff --git a/recipes/nanodbc/all/CMakeLists.txt b/recipes/nanodbc/all/CMakeLists.txt deleted file mode 100644 index 6ba47d078b389..0000000000000 --- a/recipes/nanodbc/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/nanodbc/all/conandata.yml b/recipes/nanodbc/all/conandata.yml index 60ad84e0835de..7a0d0542f3be6 100644 --- a/recipes/nanodbc/all/conandata.yml +++ b/recipes/nanodbc/all/conandata.yml @@ -11,16 +11,28 @@ sources: patches: "cci.20200807": - patch_file: "patches/0001-odbc-from-cci.patch" - base_path: "source_subfolder" + patch_description: "Allow compilation on CI with ODBC library" + patch_type: "portability" - patch_file: "patches/0002-allow-windows-shared.patch" - base_path: "source_subfolder" + patch_description: "Allow windows to compile shared libraries" + patch_type: "portability" + - patch_file: "patches/0003-add-missing-include.patch" + patch_description: "Add missing include to fix compilation for v2.13 and v20200807" + patch_type: "portability" "2.13.0": - patch_file: "patches/0001-odbc-from-cci.patch" - base_path: "source_subfolder" + patch_description: "Allow compilation on CI with ODBC library" + patch_type: "portability" - patch_file: "patches/0002-allow-windows-shared.patch" - base_path: "source_subfolder" + patch_description: "Allow windows to compile shared libraries" + patch_type: "portability" + - patch_file: "patches/0003-add-missing-include.patch" + patch_description: "Add missing include to fix compilation for v2.13 and v20200807" + patch_type: "portability" "2.14.0": - patch_file: "patches/0001-odbc-from-cci.patch" - base_path: "source_subfolder" + patch_description: "Allow compilation on CI with ODBC library" + patch_type: "portability" - patch_file: "patches/0002-allow-windows-shared.patch" - base_path: "source_subfolder" + patch_description: "Allow windows to compile shared libraries" + patch_type: "portability" diff --git a/recipes/nanodbc/all/conanfile.py b/recipes/nanodbc/all/conanfile.py index 44cbf934e3a4d..e2bd806901885 100644 --- a/recipes/nanodbc/all/conanfile.py +++ b/recipes/nanodbc/all/conanfile.py @@ -1,18 +1,20 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import glob +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 get, apply_conandata_patches, export_conandata_patches, rmdir, copy +from conan.tools.scm import Version import os - class NanodbcConan(ConanFile): name = "nanodbc" description = "A small C++ wrapper for the native C ODBC API" topics = ("conan", "nanodbc", "odbc", "database") license = "MIT" homepage = "https://github.com/nanodbc/nanodbc/" + package_type = "library" url = "https://github.com/conan-io/conan-center-index" settings = "os", "arch", "compiler", "build_type" - exports_sources = "CMakeLists.txt", "patches/**" options = { "shared": [True, False], "fPIC": [True, False], @@ -27,36 +29,51 @@ class NanodbcConan(ConanFile): "unicode": False, "with_boost": False, } - generators = "cmake", "cmake_find_package" - - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - _compiler_cxx14 = { - "gcc": 5, - "clang": "3.4", - "Visual Studio": 14, - "apple-clang": "9.1", # FIXME: wild guess - } + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + "clang": "3.4", + "Visual Studio": "14", + "msvc": "190", + "apple-clang": "9.1", # FIXME: this is a guess + } + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 14) - _minimum_compiler = self._compiler_cxx14.get(str(self.settings.compiler)) - if _minimum_compiler: - if tools.Version(self.settings.compiler.version) < _minimum_compiler: - raise ConanInvalidConfiguration("nanodbc requires c++14, which your compiler does not support") - else: - self.output.warn("nanodbc requires c++14, but is unknown to this recipe. Assuming your compiler supports c++14.") + check_min_cppstd(self, 14) + + 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.compiler == "apple-clang" and Version(self.version) != "2.14.0": + raise ConanInvalidConfiguration(""" + `apple-clang` compilation is supported only for version 2.14.0 and up. + See https://github.com/nanodbc/nanodbc/issues/274 for more details. + """) def requirements(self): if self.options.with_boost: @@ -65,40 +82,41 @@ def requirements(self): self.requires("odbc/2.3.9") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(glob.glob("nanodbc-*")[0], self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["NANODBC_DISABLE_ASYNC"] = not self.options.get_safe("async") - self._cmake.definitions["NANODBC_ENABLE_UNICODE"] = self.options.unicode - self._cmake.definitions["NANODBC_ENABLE_BOOST"] = self.options.with_boost - self._cmake.definitions["NANODBC_DISABLE_LIBCXX"] = self.settings.get_safe("compiler.libcxx") != "libc++" - - self._cmake.definitions["NANODBC_DISABLE_INSTALL"] = False - self._cmake.definitions["NANODBC_DISABLE_EXAMPLES"] = True - self._cmake.definitions["NANODBC_DISABLE_TESTS"] = True - self._cmake.configure() - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["NANODBC_DISABLE_ASYNC"] = not self.options.get_safe("async") + tc.cache_variables["NANODBC_ENABLE_UNICODE"] = self.options.unicode + tc.cache_variables["NANODBC_ENABLE_BOOST"] = self.options.with_boost + tc.cache_variables["NANODBC_DISABLE_LIBCXX"] = self.settings.get_safe("compiler.libcxx") != "libc++" + tc.cache_variables["NANODBC_DISABLE_INSTALL"] = False + tc.cache_variables["NANODBC_DISABLE_EXAMPLES"] = True + tc.cache_variables["NANODBC_DISABLE_TESTS"] = True + tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + rmdir(self, os.path.join(self.package_folder, "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.libs = ["nanodbc"] - if not self.options.shared: - if self.settings.os == "Windows": - self.cpp_info.system_libs = ["odbc32"] + + if not self.options.shared and self.settings.os == "Windows": + self.cpp_info.system_libs = ["odbc32"] diff --git a/recipes/nanodbc/all/patches/0001-odbc-from-cci.patch b/recipes/nanodbc/all/patches/0001-odbc-from-cci.patch index f5a355e45690b..5ab0d54e37333 100644 --- a/recipes/nanodbc/all/patches/0001-odbc-from-cci.patch +++ b/recipes/nanodbc/all/patches/0001-odbc-from-cci.patch @@ -9,18 +9,19 @@ # Try to find unixODBC first via odbc_config program. find_program(ODBC_CONFIG odbc_config PATHS $ENV{ODBC_PATH}/bin /usr/bin /usr/local/bin) -@@ -171,8 +171,8 @@ +@@ -171,8 +171,9 @@ ## find ODBC libraries to link ######################################## if(UNIX) - set(ODBC_LIBRARIES ${ODBCLIB}) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${ODBC_LINK_FLAGS}") -+ set(ODBC_LIBRARIES CONAN_PKG::odbc) ++ find_package(ODBC REQUIRED CONFIG) ++ set(ODBC_LIBRARIES ODBC::ODBC) + #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${ODBC_LINK_FLAGS}") elseif(MSVC OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") set(ODBC_LIBRARIES odbc32.lib odbccp32.lib Ws2_32.lib) elseif(MINGW) -@@ -188,7 +188,7 @@ +@@ -188,7 +189,7 @@ find_package(Boost COMPONENTS locale REQUIRED) if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) diff --git a/recipes/nanodbc/all/patches/0002-allow-windows-shared.patch b/recipes/nanodbc/all/patches/0002-allow-windows-shared.patch index 5ab2c375b7053..5c996393bca3b 100644 --- a/recipes/nanodbc/all/patches/0002-allow-windows-shared.patch +++ b/recipes/nanodbc/all/patches/0002-allow-windows-shared.patch @@ -1,6 +1,6 @@ --- CMakeLists.txt +++ CMakeLists.txt -@@ -215,9 +215,9 @@ else() +@@ -216,9 +216,9 @@ else() message(STATUS "nanodbc build: Enable nanodbc target - STATIC") endif() diff --git a/recipes/nanodbc/all/patches/0003-add-missing-include.patch b/recipes/nanodbc/all/patches/0003-add-missing-include.patch new file mode 100644 index 0000000000000..6c70a6f9a9d0b --- /dev/null +++ b/recipes/nanodbc/all/patches/0003-add-missing-include.patch @@ -0,0 +1,10 @@ +--- a/nanodbc/nanodbc.cpp ++++ b/nanodbc/nanodbc.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + diff --git a/recipes/nanodbc/all/test_package/CMakeLists.txt b/recipes/nanodbc/all/test_package/CMakeLists.txt index f6bbde9919354..2b2d925656261 100644 --- a/recipes/nanodbc/all/test_package/CMakeLists.txt +++ b/recipes/nanodbc/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(nanodbc REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE nanodbc::nanodbc) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) diff --git a/recipes/nanodbc/all/test_package/conanfile.py b/recipes/nanodbc/all/test_package/conanfile.py index bd7165a553cf4..c1e9a5dd84db0 100644 --- a/recipes/nanodbc/all/test_package/conanfile.py +++ b/recipes/nanodbc/all/test_package/conanfile.py @@ -1,10 +1,17 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os - class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +19,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") From 95350ca932ee022a5de1388107dbd67133fe25e0 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Jun 2023 01:43:53 +0900 Subject: [PATCH 0633/4087] (#15669) opencolorio: add version 2.2.1, support conan v2, support C++20 in 2.1.0 * opencolorio: add version 2.2.1, support conan v2, support C++20 in 2.1.0 * (trial) modify find_package(OpenEXR) * required cmake >= 3.16 * disable minizip-ng.with_libcomp in opencolor>=2.2.0 * support conan v1 * add validation for minizip-ng * fix validation * update dependencies * try to fix KB-H077, KH-H043 * update dependencies * revert updating dependencies * drop support shared build with yaml-cpp shared build in 1.1.1 * drop support minizip-ng shared build with opencolorio shared build --- recipes/opencolorio/all/CMakeLists.txt | 7 - recipes/opencolorio/all/conandata.yml | 37 ++- recipes/opencolorio/all/conanfile.py | 162 +++++----- .../all/patches/1.1.1-fix-cmake.patch | 287 ++++++++++++++++++ ...001-fix-cmake-source-dir-and-targets.patch | 61 ++++ .../all/patches/2.1.0-0002-fix-pystring.patch | 117 +++++++ .../all/patches/2.1.0-0003-strlen.patch | 12 + .../2.1.0-0004-fix-cpp-version-check.patch | 18 ++ ...001-fix-cmake-source-dir-and-targets.patch | 96 ++++++ .../all/patches/2.2.1-0002-fix-pystring.patch | 163 ++++++++++ .../all/patches/2.2.1-0003-strlen.patch | 13 + .../all/test_package/CMakeLists.txt | 11 +- .../opencolorio/all/test_package/conanfile.py | 19 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ recipes/opencolorio/config.yml | 2 + 16 files changed, 935 insertions(+), 96 deletions(-) delete mode 100644 recipes/opencolorio/all/CMakeLists.txt create mode 100644 recipes/opencolorio/all/patches/1.1.1-fix-cmake.patch create mode 100644 recipes/opencolorio/all/patches/2.1.0-0001-fix-cmake-source-dir-and-targets.patch create mode 100644 recipes/opencolorio/all/patches/2.1.0-0002-fix-pystring.patch create mode 100644 recipes/opencolorio/all/patches/2.1.0-0003-strlen.patch create mode 100644 recipes/opencolorio/all/patches/2.1.0-0004-fix-cpp-version-check.patch create mode 100644 recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch create mode 100644 recipes/opencolorio/all/patches/2.2.1-0002-fix-pystring.patch create mode 100644 recipes/opencolorio/all/patches/2.2.1-0003-strlen.patch create mode 100644 recipes/opencolorio/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opencolorio/all/test_v1_package/conanfile.py diff --git a/recipes/opencolorio/all/CMakeLists.txt b/recipes/opencolorio/all/CMakeLists.txt deleted file mode 100644 index 61f3d3b039e2b..0000000000000 --- a/recipes/opencolorio/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/opencolorio/all/conandata.yml b/recipes/opencolorio/all/conandata.yml index 23ef77f414ab2..7b09a12ca594b 100644 --- a/recipes/opencolorio/all/conandata.yml +++ b/recipes/opencolorio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.2.1.tar.gz" + sha256: "36f27c5887fc4e5c241805c29b8b8e68725aa05520bcaa7c7ec84c0422b8580e" "2.1.0": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.1.0.tar.gz" sha256: "81fc7853a490031632a69c73716bc6ac271b395e2ba0e2587af9995c2b0efb5f" @@ -6,13 +9,31 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: + "2.2.1": + - patch_file: "patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" + - patch_file: "patches/2.2.1-0002-fix-pystring.patch" + patch_description: "fix include path for pystring" + patch_type: "conan" + - patch_file: "patches/2.2.1-0003-strlen.patch" + patch_description: "add std namespace for strlen" + patch_type: "portability" "2.1.0": - - patch_file: "patches/fix-cmake-source-dir-and-targets.patch" - base_path: "source_subfolder" - - patch_file: "patches/pstring.patch" - base_path: "source_subfolder" - - patch_file: "patches/strlen.patch" - base_path: "source_subfolder" + - patch_file: "patches/2.1.0-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" + - patch_file: "patches/2.1.0-0002-fix-pystring.patch" + patch_description: "fix include path for pystring" + patch_type: "conan" + - patch_file: "patches/2.1.0-0003-strlen.patch" + patch_description: "include string.h for strlen" + patch_type: "portability" + - patch_file: "patches/2.1.0-0004-fix-cpp-version-check.patch" + patch_description: "fix C++20 compilation error" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1542" "1.1.1": - - patch_file: "patches/1.1.1.patch" - base_path: "source_subfolder" + - patch_file: "patches/1.1.1-fix-cmake.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 82c7ed3d43c8c..46527234a5096 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -1,10 +1,14 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import is_msvc -from conans import ConanFile, CMake, tools -import functools +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os -required_conan_version = ">=1.45.0" - +required_conan_version = ">=1.53.0" class OpenColorIOConan(ConanFile): name = "opencolorio" @@ -13,7 +17,6 @@ class OpenColorIOConan(ConanFile): homepage = "https://opencolorio.org/" url = "https://github.com/conan-io/conan-center-index" topics = ("colors", "visual", "effects", "animation") - settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,20 +29,8 @@ class OpenColorIOConan(ConanFile): "use_sse": True, } - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -49,96 +40,127 @@ 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("expat/2.4.8") - self.requires("openexr/2.5.7") + self.requires("expat/2.5.0") + if Version(self.version) < "2.2.0": + self.requires("openexr/2.5.7") + else: + self.requires("openexr/3.1.7") self.requires("yaml-cpp/0.7.0") - if tools.Version(self.version) < "2.0.0": + if Version(self.version) < "2.0.0": self.requires("tinyxml/2.6.2") else: - self.requires("pystring/1.1.3") + self.requires("pystring/1.1.4") + self.requires("imath/3.1.6") + if Version(self.version) >= "2.2.0": + self.requires("minizip-ng/3.0.7") + # for tools only - self.requires("lcms/2.13.1") + self.requires("lcms/2.14") # TODO: add GLUT (needed for ociodisplay tool) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + # opencolorio>=2.2.0 requires minizip-ng with with_zlib + if Version(self.version) >= "2.2.0" and \ + not self.dependencies["minizip-ng"].options.get_safe("with_zlib", False): + raise ConanInvalidConfiguration(f"{self.ref} requires minizip-ng with with_zlib = True.") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) + if Version(self.version) == "1.1.1" and self.options.shared and self.dependencies["yaml-cpp"].options.shared: + raise ConanInvalidConfiguration(f"{self.ref} requires static build yaml-cpp") + if Version(self.version) == "2.2.1" and self.options.shared and self.dependencies["minizip-ng"].options.shared: + raise ConanInvalidConfiguration(f"{self.ref} requires static build minizip-ng") - if tools.Version(self.version) >= "2.1.0": - cmake.definitions["OCIO_BUILD_PYTHON"] = False + def build_requirements(self): + if Version(self.version) >= "2.2.0": + self.tool_requires("cmake/[>=3.16 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_VERBOSE_MAKEFILE"] = True + if Version(self.version) >= "2.1.0": + tc.variables["OCIO_BUILD_PYTHON"] = False else: - cmake.definitions["OCIO_BUILD_SHARED"] = self.options.shared - cmake.definitions["OCIO_BUILD_STATIC"] = not self.options.shared - cmake.definitions["OCIO_BUILD_PYGLUE"] = False + tc.variables["OCIO_BUILD_SHARED"] = self.options.shared + tc.variables["OCIO_BUILD_STATIC"] = not self.options.shared + tc.variables["OCIO_BUILD_PYGLUE"] = False - cmake.definitions["USE_EXTERNAL_YAML"] = True - cmake.definitions["USE_EXTERNAL_TINYXML"] = True - cmake.definitions["USE_EXTERNAL_LCMS"] = True + tc.variables["USE_EXTERNAL_YAML"] = True + tc.variables["USE_EXTERNAL_TINYXML"] = True + tc.variables["TINYXML_OBJECT_LIB_EMBEDDED"] = False + tc.variables["USE_EXTERNAL_LCMS"] = True - cmake.definitions["OCIO_USE_SSE"] = self.options.get_safe("use_sse", False) + tc.variables["OCIO_USE_SSE"] = self.options.get_safe("use_sse", False) # openexr 2.x provides Half library - cmake.definitions["OCIO_USE_OPENEXR_HALF"] = True + tc.variables["OCIO_USE_OPENEXR_HALF"] = True - cmake.definitions["OCIO_BUILD_APPS"] = True - cmake.definitions["OCIO_BUILD_DOCS"] = False - cmake.definitions["OCIO_BUILD_TESTS"] = False - cmake.definitions["OCIO_BUILD_GPU_TESTS"] = False - cmake.definitions["OCIO_USE_BOOST_PTR"] = False + tc.variables["OCIO_BUILD_APPS"] = True + tc.variables["OCIO_BUILD_DOCS"] = False + tc.variables["OCIO_BUILD_TESTS"] = False + tc.variables["OCIO_BUILD_GPU_TESTS"] = False + tc.variables["OCIO_USE_BOOST_PTR"] = False # avoid downloading dependencies - cmake.definitions["OCIO_INSTALL_EXT_PACKAGE"] = "NONE" + tc.variables["OCIO_INSTALL_EXT_PACKAGE"] = "NONE" if is_msvc(self) and not self.options.shared: # define any value because ifndef is used - cmake.definitions["OpenColorIO_SKIP_IMPORTS"] = True + tc.variables["OpenColorIO_SKIP_IMPORTS"] = True + + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" + tc.generate() - cmake.configure(build_folder=self._build_subfolder) - return cmake + deps = CMakeDeps(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) - for module in ("expat", "lcms2", "pystring", "yaml-cpp", "Imath"): - tools.remove_files_by_mask(os.path.join(self._source_subfolder, "share", "cmake", "modules"), "Find"+module+".cmake") + for module in ("expat", "lcms2", "pystring", "yaml-cpp", "Imath", "minizip-ng"): + rm(self, "Find"+module+".cmake", os.path.join(self.source_folder, "share", "cmake", "modules")) def build(self): self._patch_sources() - cm = self._configure_cmake() + cm = CMake(self) + cm.configure() cm.build() def package(self): - cm = self._configure_cmake() + cm = CMake(self) cm.install() if not self.options.shared: - self.copy("*", src=os.path.join(self.package_folder, - "lib", "static"), dst="lib") - tools.rmdir(os.path.join(self.package_folder, "lib", "static")) - - tools.rmdir(os.path.join(self.package_folder, "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "share")) + copy(self, "*", + src=os.path.join(self.package_folder, "lib", "static"), + dst=os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "static")) + + rmdir(self, os.path.join(self.package_folder, "cmake")) + 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")) # nop for 2.x - tools.remove_files_by_mask(self.package_folder, "OpenColorIOConfig*.cmake") + rm(self, "OpenColorIOConfig*.cmake", self.package_folder) + + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) - tools.remove_files_by_mask(os.path.join(self.package_folder, "bin"), "*.pdb") + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") + if Version(self.version) == "1.1.1": + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenColorIO") @@ -147,12 +169,14 @@ def package_info(self): self.cpp_info.libs = ["OpenColorIO"] - if tools.Version(self.version) < "2.1.0": + if Version(self.version) < "2.1.0": if not self.options.shared: self.cpp_info.defines.append("OpenColorIO_STATIC") - if self.settings.os == "Macos": + if is_apple_os(self): self.cpp_info.frameworks.extend(["Foundation", "IOKit", "ColorSync", "CoreGraphics"]) + if Version(self.version) == "2.1.0": + self.cpp_info.frameworks.extend(["Carbon", "CoreFoundation"]) if is_msvc(self) and not self.options.shared: self.cpp_info.defines.append("OpenColorIO_SKIP_IMPORTS") diff --git a/recipes/opencolorio/all/patches/1.1.1-fix-cmake.patch b/recipes/opencolorio/all/patches/1.1.1-fix-cmake.patch new file mode 100644 index 0000000000000..39c1981eda4b5 --- /dev/null +++ b/recipes/opencolorio/all/patches/1.1.1-fix-cmake.patch @@ -0,0 +1,287 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4f3119..9eb6d07 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,14 +1,16 @@ ++cmake_minimum_required(VERSION 2.8) + project(OpenColorIO) + set(OCIO_VERSION_MAJOR 1) + set(OCIO_VERSION_MINOR 1) + set(OCIO_VERSION_PATCH 1) + +-cmake_minimum_required(VERSION 2.8) +-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/share/cmake) ++list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/share/cmake) + if(NOT DEFINED CMAKE_FIRST_RUN) + SET(CMAKE_FIRST_RUN 1 CACHE INTERNAL "") + endif() + ++set(CMAKE_CXX_STANDARD 11) ++ + ############################################################################### + ### GLOBAL ### + +@@ -142,11 +144,11 @@ endif(CMAKE_COMPILER_IS_GNUCXX) + ############################################################################### + ### Python ### + +-OCIOFindPython() ++#OCIOFindPython() + + # Find Python, used for (possibly) building pyglue, and now to + # construct the external project path +-set(EXTDIST_ROOT ${CMAKE_BINARY_DIR}/ext/dist) ++set(EXTDIST_ROOT ${PROJECT_BINARY_DIR}/ext/dist) + set(EXTDIST_BINPATH ${EXTDIST_ROOT}/bin) + if(PYTHON_OK) + set(EXTDIST_PYTHONPATH ${EXTDIST_ROOT}/${PYTHON_VARIANT_PATH}) +@@ -170,7 +172,12 @@ messageonce("Setting EXTDIST_PYTHONPATH: ${EXTDIST_PYTHONPATH}") + + if(USE_EXTERNAL_TINYXML) + set(TINYXML_VERSION_MIN "2.6.1") +- find_package(TinyXML) ++ find_package(TinyXML REQUIRED) ++ set(TINYXML_FOUND ${TinyXML_FOUND}) ++ set(TINYXML_LIBRARIES tinyxml::tinyxml) ++ set(TINYXML_VERSION "${TinyXML_VERSION}") ++ list(APPEND EXTERNAL_LIBRARIES ${TINYXML_LIBRARIES}) ++ + if(TINYXML_FOUND) + if(TINYXML_VERSION VERSION_EQUAL ${TINYXML_VERSION_MIN} OR + TINYXML_VERSION VERSION_GREATER ${TINYXML_VERSION_MIN}) +@@ -251,6 +258,13 @@ endif(USE_EXTERNAL_TINYXML) + if(USE_EXTERNAL_YAML) + # Set minimum yaml version for non-patched sources. + set(YAML_VERSION_MIN "0.3.0") ++ find_package(yaml-cpp REQUIRED) ++ set(YAML_CPP_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_YAML-CPP}") ++ set(YAML_CPP_LIBRARIES yaml-cpp) ++ set(YAML_CPP_VERSION "${yaml-cpp_VERSION}") ++ list(APPEND EXTERNAL_LIBRARIES ${YAML_CPP_LIBRARIES}) ++ ++ if(0) + include(FindPkgConfig) + pkg_check_modules(PC_YAML_CPP REQUIRED QUIET yaml-cpp) + find_path(YAML_CPP_INCLUDE_DIR yaml-cpp/yaml.h +@@ -293,6 +307,7 @@ if(USE_EXTERNAL_YAML) + else(YAML_CPP_FOUND) + message(FATAL_ERROR "ERROR: System yaml-cpp library was not found. Make sure the library is installed and the pkg-config file exists.") + endif(YAML_CPP_FOUND) ++ endif() + else(USE_EXTERNAL_YAML) ## provide 2 ways to build this dependency + set(YAML_CPP_VERSION 0.3.0) + set(YAML_CPP_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/ext/dist -DYAML_CPP_BUILD_TOOLS:BOOL=FALSE -DOCIO_INLINES_HIDDEN:BOOL=${OCIO_INLINES_HIDDEN}) +@@ -384,7 +399,7 @@ else() + set(OCIO_INLINES_HIDDEN OFF) + endif() + +-set(EXTERNAL_COMPILE_FLAGS "-DTIXML_USE_STL ${YAML_CPP_COMPILE_FLAGS} ${GCC_COMPILE_FLAGS}") ++set(EXTERNAL_COMPILE_FLAGS "${YAML_CPP_COMPILE_FLAGS} ${GCC_COMPILE_FLAGS}") + + set(EXTERNAL_LINK_FLAGS "") + set(EXTERNAL_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib) +@@ -460,7 +475,7 @@ endif() + if(OCIO_BUILD_APPS AND (OCIO_BUILD_STATIC OR OCIO_BUILD_SHARED) ) + + # Try to find OpenImageIO (OIIO) and OpenGL stuff +- OCIOFindOpenImageIO() ++ #OCIOFindOpenImageIO() + + if(OIIO_FOUND) + add_subdirectory(src/apps/ocioconvert) +@@ -528,7 +543,7 @@ endif() + + ############################################################################### + ### Configure env script ### +-configure_file(${CMAKE_SOURCE_DIR}/share/ocio/setup_ocio.sh.in ++configure_file(${PROJECT_SOURCE_DIR}/share/ocio/setup_ocio.sh.in + ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh @ONLY) + + INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh DESTINATION share/ocio/) +@@ -597,7 +612,7 @@ if(TARGET OpenColorIO_STATIC) + endif() + endif() + install(EXPORT OpenColorIO DESTINATION cmake) +-file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake" ++file(WRITE "${PROJECT_BINARY_DIR}/OpenColorIOConfig.cmake" + " + get_filename_component(OpenColorIO_DIR \"\${CMAKE_CURRENT_LIST_FILE}\" PATH) + +@@ -646,4 +661,4 @@ file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake" + message(STATUS OPENCOLORIO_FOUND=\${OPENCOLORIO_FOUND}) + " + ) +-install(FILES "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake" DESTINATION .) ++install(FILES "${PROJECT_BINARY_DIR}/OpenColorIOConfig.cmake" DESTINATION .) +diff --git a/share/cmake/OCIOMacros.cmake b/share/cmake/OCIOMacros.cmake +index b9fb239..b1a206e 100644 +--- a/share/cmake/OCIOMacros.cmake ++++ b/share/cmake/OCIOMacros.cmake +@@ -356,9 +356,9 @@ ENDMACRO() + + MACRO(ExtractRstCPP INFILE OUTFILE) + add_custom_command( +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ++ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + OUTPUT ${OUTFILE} +- COMMAND ${PYTHON} ${CMAKE_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceCPP.py ${INFILE} ${OUTFILE} ++ COMMAND ${PYTHON} ${PROJECT_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceCPP.py ${INFILE} ${OUTFILE} + DEPENDS ${INFILE} + COMMENT "Extracting reStructuredText from ${INFILE} (using old process)" + ) +@@ -366,9 +366,9 @@ ENDMACRO() + + MACRO(ExtractRstSimple INFILE OUTFILE) + add_custom_command( +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ++ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + OUTPUT ${OUTFILE} +- COMMAND ${PYTHON} ${CMAKE_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceSimple.py ${INFILE} ${OUTFILE} ++ COMMAND ${PYTHON} ${PROJECT_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceSimple.py ${INFILE} ${OUTFILE} + DEPENDS ${INFILE} + COMMENT "Extracting reStructuredText from ${INFILE}" + ) +diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt +index d31b4e3..4aa1efb 100644 +--- a/src/apps/ociobakelut/CMakeLists.txt ++++ b/src/apps/ociobakelut/CMakeLists.txt +@@ -1,6 +1,10 @@ + # LCMS +-include(FindPkgConfig FindPackageMessage) +-pkg_check_modules(LCMS QUIET lcms2) ++find_package(lcms REQUIRED) ++set(LCMS_FOUND ${lcms_FOUND}) ++set(LCMS_VERSION ${lcms_VERSION}) ++set(LCMS_LIBRARIES ${lcms_LIBRARIES}) ++set(LCMS_INCLUDE_DIR ${lcms_INCLUDE_DIR}) ++ + if(LCMS_FOUND AND (LCMS_VERSION VERSION_EQUAL 2.1 OR LCMS_VERSION VERSION_GREATER 2.1)) + FIND_PACKAGE_MESSAGE(LCMS "Found lcms: ${LCMS_LIBRARIES}" + "${LCMS_INCLUDE_DIR}") +@@ -29,12 +33,12 @@ else() + set(LCMS_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/${CMAKE_STATIC_LIBRARY_PREFIX}lcms2${CMAKE_STATIC_LIBRARY_SUFFIX}) + endif() + +-file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp") ++file(GLOB_RECURSE share_src_files "${PROJECT_SOURCE_DIR}/src/apps/share/*.cpp") + + include_directories( +- ${CMAKE_SOURCE_DIR}/export/ +- ${CMAKE_BINARY_DIR}/export/ +- ${CMAKE_SOURCE_DIR}/src/apps/share/ ++ ${PROJECT_SOURCE_DIR}/export/ ++ ${PROJECT_BINARY_DIR}/export/ ++ ${PROJECT_SOURCE_DIR}/src/apps/share/ + ${LCMS_INCLUDE_DIRS} + ${Boost_INCLUDE_DIR} + ) +diff --git a/src/apps/ociocheck/CMakeLists.txt b/src/apps/ociocheck/CMakeLists.txt +index 4955f4d..14b5017 100644 +--- a/src/apps/ociocheck/CMakeLists.txt ++++ b/src/apps/ociocheck/CMakeLists.txt +@@ -1,9 +1,9 @@ +-file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp") ++file(GLOB_RECURSE share_src_files "${PROJECT_SOURCE_DIR}/src/apps/share/*.cpp") + + include_directories( +- ${CMAKE_SOURCE_DIR}/export/ +- ${CMAKE_BINARY_DIR}/export/ +- ${CMAKE_SOURCE_DIR}/src/apps/share/ ++ ${PROJECT_SOURCE_DIR}/export/ ++ ${PROJECT_BINARY_DIR}/export/ ++ ${PROJECT_SOURCE_DIR}/src/apps/share/ + ${Boost_INCLUDE_DIR} + ) + +diff --git a/src/core/CDLTransform.cpp b/src/core/CDLTransform.cpp +index 8b05deb..a7d6031 100644 +--- a/src/core/CDLTransform.cpp ++++ b/src/core/CDLTransform.cpp +@@ -126,7 +126,11 @@ OCIO_NAMESPACE_ENTER + TiXmlPrinter printer; + printer.SetStreamPrinting(); + doc.Accept( &printer ); +- return printer.Str(); ++ #ifdef TIXML_USE_STL ++ return printer.Str(); ++ #else ++ return printer.CStr(); ++ #endif + } + } + +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 1eb691b..a2f099a 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -2,29 +2,29 @@ + ### OCIO CORE ### + + include_directories( +- ${CMAKE_SOURCE_DIR}/export/ +- ${CMAKE_BINARY_DIR}/export/ +- ${CMAKE_SOURCE_DIR}/ext/oiio/src/include ++ ${PROJECT_SOURCE_DIR}/export/ ++ ${PROJECT_BINARY_DIR}/export/ ++ ${PROJECT_SOURCE_DIR}/ext/oiio/src/include + ${EXTERNAL_INCLUDE_DIRS} + ) + +-file(GLOB_RECURSE core_src_files "${CMAKE_SOURCE_DIR}/src/core/*.cpp") +-file(GLOB_RECURSE core_export_headers "${CMAKE_SOURCE_DIR}/export/OpenColorIO/*.h") ++file(GLOB_RECURSE core_src_files "${PROJECT_SOURCE_DIR}/src/core/*.cpp") ++file(GLOB_RECURSE core_export_headers "${PROJECT_SOURCE_DIR}/export/OpenColorIO/*.h") + + message(STATUS "Create OpenColorABI.h from OpenColorABI.h.in") +-configure_file(${CMAKE_SOURCE_DIR}/export/OpenColorIO/OpenColorABI.h.in +- ${CMAKE_BINARY_DIR}/export/OpenColorABI.h @ONLY) +-list(APPEND core_export_headers ${CMAKE_BINARY_DIR}/export/OpenColorABI.h) ++configure_file(${PROJECT_SOURCE_DIR}/export/OpenColorIO/OpenColorABI.h.in ++ ${PROJECT_BINARY_DIR}/export/OpenColorABI.h @ONLY) ++list(APPEND core_export_headers ${PROJECT_BINARY_DIR}/export/OpenColorABI.h) + + # Process all warnings as errors + + if(WIN32) + # On debug mode there are other kinds of warning... + if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") +- set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX") ++ # set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX") + endif() + else() +- set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror") ++ # set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror") + endif() + + # SHARED +@@ -75,7 +75,7 @@ endif() + # STATIC + + if(OCIO_BUILD_STATIC) +- list(REMOVE_ITEM core_src_files ${CMAKE_SOURCE_DIR}/src/core/UnitTest.cpp) ++ list(REMOVE_ITEM core_src_files ${PROJECT_SOURCE_DIR}/src/core/UnitTest.cpp) + add_library(OpenColorIO_STATIC STATIC ${EXTERNAL_OBJECTS} ${core_src_files}) + add_dependencies(OpenColorIO_STATIC TINYXML_LIB YAML_CPP_LIB) + if(EXTERNAL_LIBRARIES) +@@ -113,7 +113,7 @@ install(FILES ${core_export_headers} + + # pkg-config + message(STATUS "Create OpenColorIO.pc from OpenColorIO.pc.in") +-configure_file(${CMAKE_SOURCE_DIR}/export/pkgconfig/OpenColorIO.pc.in ++configure_file(${PROJECT_SOURCE_DIR}/export/pkgconfig/OpenColorIO.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/OpenColorIO.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenColorIO.pc + DESTINATION ${CMAKE_INSTALL_EXEC_PREFIX}/lib${LIB_SUFFIX}/pkgconfig/) +diff --git a/src/core/OCIOYaml.cpp b/src/core/OCIOYaml.cpp +index 68fcef6..a1c1c1d 100644 +--- a/src/core/OCIOYaml.cpp ++++ b/src/core/OCIOYaml.cpp +@@ -1442,7 +1442,7 @@ OCIO_NAMESPACE_ENTER + #ifdef OLDYAML + if(node.FindValue("ocio_profile_version") == NULL) + #else +- if(node["ocio_profile_version"] == NULL) ++ if(node["ocio_profile_version"].IsNull()) + #endif + { + std::ostringstream os; diff --git a/recipes/opencolorio/all/patches/2.1.0-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.1.0-0001-fix-cmake-source-dir-and-targets.patch new file mode 100644 index 0000000000000..5de7b145077d6 --- /dev/null +++ b/recipes/opencolorio/all/patches/2.1.0-0001-fix-cmake-source-dir-and-targets.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b0840ac..e4875ab 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,9 +9,9 @@ cmake_minimum_required(VERSION 3.12) + + set(CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} +- ${CMAKE_SOURCE_DIR}/share/cmake/utils +- ${CMAKE_SOURCE_DIR}/share/cmake/macros +- ${CMAKE_SOURCE_DIR}/share/cmake/modules ++ ${CMAKE_CURRENT_SOURCE_DIR}/share/cmake/utils ++ ${CMAKE_CURRENT_SOURCE_DIR}/share/cmake/macros ++ ${CMAKE_CURRENT_SOURCE_DIR}/share/cmake/modules + ) + + set(CMAKE_WARN_DEPRECATED ON) +@@ -272,7 +272,7 @@ else() + set(OCIO_SETUP_NAME setup_ocio.sh) + endif() + +-configure_file(${CMAKE_SOURCE_DIR}/share/ocio/${OCIO_SETUP_NAME}.in ++configure_file(${PROJECT_SOURCE_DIR}/share/ocio/${OCIO_SETUP_NAME}.in + ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/${OCIO_SETUP_NAME} @ONLY) + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/${OCIO_SETUP_NAME} DESTINATION share/ocio/) +diff --git a/share/cmake/modules/FindExtPackages.cmake b/share/cmake/modules/FindExtPackages.cmake +index 86a0225..73d8599 100644 +--- a/share/cmake/modules/FindExtPackages.cmake ++++ b/share/cmake/modules/FindExtPackages.cmake +@@ -50,7 +50,7 @@ else() + + # OpenEXR/IlmBase (<=2.5) + # https://github.com/AcademySoftwareFoundation/openexr +- find_package(Half 2.4.0 REQUIRED) ++ find_package(OpenEXR 2.4.0 REQUIRED) + + set(OCIO_HALF_LIB IlmBase::Half CACHE STRING "Half library target" FORCE) + set(OCIO_USE_IMATH_HALF "0" CACHE STRING "Whether 'half' type will be sourced from the Imath library (>=v3.0)" FORCE) +@@ -65,7 +65,7 @@ if(OCIO_BUILD_APPS) + + # lcms2 + # https://github.com/mm2/Little-CMS +- find_package(lcms2 2.2 REQUIRED) ++ find_package(lcms 2.2 REQUIRED) + endif() + + if(OCIO_BUILD_OPENFX) +diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt +index 7eb1cd8..de13607 100755 +--- a/src/apps/ociobakelut/CMakeLists.txt ++++ b/src/apps/ociobakelut/CMakeLists.txt +@@ -35,7 +35,7 @@ set_target_properties(ociobakelut + target_link_libraries(ociobakelut + PRIVATE + apputils +- lcms2::lcms2 ++ lcms::lcms + OpenColorIO + ) + diff --git a/recipes/opencolorio/all/patches/2.1.0-0002-fix-pystring.patch b/recipes/opencolorio/all/patches/2.1.0-0002-fix-pystring.patch new file mode 100644 index 0000000000000..38f15d7e20889 --- /dev/null +++ b/recipes/opencolorio/all/patches/2.1.0-0002-fix-pystring.patch @@ -0,0 +1,117 @@ +diff --git a/src/OpenColorIO/Context.cpp b/src/OpenColorIO/Context.cpp +index 26fdcbee..9ddb4522 100644 +--- a/src/OpenColorIO/Context.cpp ++++ b/src/OpenColorIO/Context.cpp +@@ -14,7 +14,7 @@ + #include "Mutex.h" + #include "PathUtils.h" + #include "PrivateTypes.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + +diff --git a/src/OpenColorIO/OCIOYaml.cpp b/src/OpenColorIO/OCIOYaml.cpp +index 67cafdf1..744fb817 100644 +--- a/src/OpenColorIO/OCIOYaml.cpp ++++ b/src/OpenColorIO/OCIOYaml.cpp +@@ -19,7 +19,7 @@ + #include "ParseUtils.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "ViewingRules.h" + #include "yaml-cpp/yaml.h" +diff --git a/src/OpenColorIO/Op.cpp b/src/OpenColorIO/Op.cpp +index ebbba040..08db0f68 100755 +--- a/src/OpenColorIO/Op.cpp ++++ b/src/OpenColorIO/Op.cpp +@@ -20,7 +20,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/lut3d/Lut3DOp.h" + #include "ops/range/RangeOp.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + + namespace OCIO_NAMESPACE + { +diff --git a/src/OpenColorIO/PathUtils.cpp b/src/OpenColorIO/PathUtils.cpp +index 7ed5e9e8..e71d03d9 100644 +--- a/src/OpenColorIO/PathUtils.cpp ++++ b/src/OpenColorIO/PathUtils.cpp +@@ -10,7 +10,7 @@ + + #include "Mutex.h" + #include "PathUtils.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + #if !defined(_WIN32) +diff --git a/src/OpenColorIO/fileformats/FileFormatCTF.cpp b/src/OpenColorIO/fileformats/FileFormatCTF.cpp +index 89c13066..648aabc0 100644 +--- a/src/OpenColorIO/fileformats/FileFormatCTF.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatCTF.cpp +@@ -22,7 +22,7 @@ + #include "OpBuilders.h" + #include "ops/noop/NoOps.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "TransformBuilder.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" +diff --git a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +index a52bc728..bd827f06 100755 +--- a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +@@ -16,7 +16,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/lut3d/Lut3DOp.h" + #include "ParseUtils.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "Platform.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" +diff --git a/src/OpenColorIO/fileformats/FileFormatICC.cpp b/src/OpenColorIO/fileformats/FileFormatICC.cpp +index df86206e..b6983cf6 100755 +--- a/src/OpenColorIO/fileformats/FileFormatICC.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatICC.cpp +@@ -12,7 +12,7 @@ + #include "ops/gamma/GammaOp.h" + #include "ops/lut1d/Lut1DOp.h" + #include "ops/matrix/MatrixOp.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + + +diff --git a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp +index 0f83f5b3..d6ee59de 100755 +--- a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp +@@ -13,7 +13,7 @@ + #include "ops/lut3d/Lut3DOp.h" + #include "ParseUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" + +diff --git a/src/OpenColorIO/transforms/FileTransform.cpp b/src/OpenColorIO/transforms/FileTransform.cpp +index 4f6ea887..97621959 100755 +--- a/src/OpenColorIO/transforms/FileTransform.cpp ++++ b/src/OpenColorIO/transforms/FileTransform.cpp +@@ -17,7 +17,7 @@ + #include "ops/noop/NoOps.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + diff --git a/recipes/opencolorio/all/patches/2.1.0-0003-strlen.patch b/recipes/opencolorio/all/patches/2.1.0-0003-strlen.patch new file mode 100644 index 0000000000000..b90bcdfcf5d57 --- /dev/null +++ b/recipes/opencolorio/all/patches/2.1.0-0003-strlen.patch @@ -0,0 +1,12 @@ +diff --git a/src/OpenColorIO/FileRules.cpp b/src/OpenColorIO/FileRules.cpp +index 794dfdbe..94729459 100644 +--- a/src/OpenColorIO/FileRules.cpp ++++ b/src/OpenColorIO/FileRules.cpp +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/recipes/opencolorio/all/patches/2.1.0-0004-fix-cpp-version-check.patch b/recipes/opencolorio/all/patches/2.1.0-0004-fix-cpp-version-check.patch new file mode 100644 index 0000000000000..50d9ce38deeed --- /dev/null +++ b/recipes/opencolorio/all/patches/2.1.0-0004-fix-cpp-version-check.patch @@ -0,0 +1,18 @@ +diff --git a/share/cmake/utils/CppVersion.cmake b/share/cmake/utils/CppVersion.cmake +index aeca6c0..6b4dc4e 100644 +--- a/share/cmake/utils/CppVersion.cmake ++++ b/share/cmake/utils/CppVersion.cmake +@@ -12,11 +12,11 @@ if(NOT DEFINED CMAKE_CXX_STANDARD) + message(STATUS "Setting C++ version to '11' as none was specified.") + set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to compile against") + elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS) +- message(FATAL_ERROR ++ message(WARNING + "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.") + endif() + +-set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") ++#set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") + + include(CheckCXXCompilerFlag) + diff --git a/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch new file mode 100644 index 0000000000000..7ddacb8e6a532 --- /dev/null +++ b/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch @@ -0,0 +1,96 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 17e188d..91af0ec 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -332,7 +332,7 @@ install( + FILE ${OCIO_TARGETS_EXPORT_NAME} + ) + +-if (NOT BUILD_SHARED_LIBS) ++if (0) + # Install custom macros used in the find modules. + install(FILES + ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake +diff --git a/share/cmake/modules/FindExtPackages.cmake b/share/cmake/modules/FindExtPackages.cmake +index 5455a08..eb91a37 100644 +--- a/share/cmake/modules/FindExtPackages.cmake ++++ b/share/cmake/modules/FindExtPackages.cmake +@@ -138,7 +138,7 @@ endif() + + # minizip-ng + # https://github.com/zlib-ng/minizip-ng +-find_package(minizip-ng 3.0.7 REQUIRED) ++find_package(minizip 3.0.7 REQUIRED) + + if(OCIO_BUILD_APPS) + +@@ -149,7 +149,7 @@ if(OCIO_BUILD_APPS) + + # lcms2 + # https://github.com/mm2/Little-CMS +- find_package(lcms2 2.2 REQUIRED) ++ find_package(lcms 2.2 REQUIRED) + endif() + + if(OCIO_BUILD_OPENFX) +@@ -214,7 +214,7 @@ if(OCIO_BUILD_APPS) + # OpenEXR + # https://github.com/AcademySoftwareFoundation/openexr + set(_OpenEXR_ExternalProject_VERSION "3.1.5") +- find_package(OpenEXR 3.0) ++ find_package(OpenEXR CONFIG) + + if(OpenEXR_FOUND AND TARGET OpenEXR::OpenEXR) + add_library(OpenColorIO::ImageIOBackend ALIAS OpenEXR::OpenEXR) +diff --git a/share/cmake/utils/CppVersion.cmake b/share/cmake/utils/CppVersion.cmake +index 175d89c..2d34a65 100644 +--- a/share/cmake/utils/CppVersion.cmake ++++ b/share/cmake/utils/CppVersion.cmake +@@ -16,8 +16,6 @@ elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS) + "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.") + endif() + +-set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") +- + include(CheckCXXCompilerFlag) + + # As CheckCXXCompilerFlag implicitly uses CMAKE_CXX_FLAGS some custom flags could trigger unrelated +diff --git a/src/OpenColorIO/CMakeLists.txt b/src/OpenColorIO/CMakeLists.txt +index 1c4d774..da70227 100755 +--- a/src/OpenColorIO/CMakeLists.txt ++++ b/src/OpenColorIO/CMakeLists.txt +@@ -289,7 +289,7 @@ target_link_libraries(OpenColorIO + "$" + "$" + yaml-cpp +- MINIZIP::minizip-ng ++ MINIZIP::minizip + ) + + if(APPLE) +diff --git a/src/apps/ocioarchive/CMakeLists.txt b/src/apps/ocioarchive/CMakeLists.txt +index 6b868d1..820e36c 100644 +--- a/src/apps/ocioarchive/CMakeLists.txt ++++ b/src/apps/ocioarchive/CMakeLists.txt +@@ -19,7 +19,7 @@ target_link_libraries(ocioarchive + PRIVATE + apputils + OpenColorIO +- MINIZIP::minizip-ng ++ MINIZIP::minizip + ) + + install(TARGETS ocioarchive +diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt +index a50e87e..37174ea 100755 +--- a/src/apps/ociobakelut/CMakeLists.txt ++++ b/src/apps/ociobakelut/CMakeLists.txt +@@ -28,7 +28,7 @@ set_target_properties(ociobakelut + target_link_libraries(ociobakelut + PRIVATE + apputils +- lcms2::lcms2 ++ lcms::lcms + OpenColorIO + ) + diff --git a/recipes/opencolorio/all/patches/2.2.1-0002-fix-pystring.patch b/recipes/opencolorio/all/patches/2.2.1-0002-fix-pystring.patch new file mode 100644 index 0000000000000..fc58ce5a2da84 --- /dev/null +++ b/recipes/opencolorio/all/patches/2.2.1-0002-fix-pystring.patch @@ -0,0 +1,163 @@ +diff --git a/src/OpenColorIO/Config.cpp b/src/OpenColorIO/Config.cpp +index 665d522..6abc149 100644 +--- a/src/OpenColorIO/Config.cpp ++++ b/src/OpenColorIO/Config.cpp +@@ -33,7 +33,7 @@ + #include "Platform.h" + #include "PrivateTypes.h" + #include "Processor.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" + #include "ViewingRules.h" +diff --git a/src/OpenColorIO/Context.cpp b/src/OpenColorIO/Context.cpp +index bb6fb07..a8890ed 100644 +--- a/src/OpenColorIO/Context.cpp ++++ b/src/OpenColorIO/Context.cpp +@@ -15,7 +15,7 @@ + #include "OCIOZArchive.h" + #include "PathUtils.h" + #include "PrivateTypes.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + namespace OCIO_NAMESPACE +diff --git a/src/OpenColorIO/OCIOYaml.cpp b/src/OpenColorIO/OCIOYaml.cpp +index 62cbb0d..59c1564 100644 +--- a/src/OpenColorIO/OCIOYaml.cpp ++++ b/src/OpenColorIO/OCIOYaml.cpp +@@ -19,7 +19,7 @@ + #include "ParseUtils.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "ViewingRules.h" + #include "yaml-cpp/yaml.h" +diff --git a/src/OpenColorIO/OCIOZArchive.cpp b/src/OpenColorIO/OCIOZArchive.cpp +index 85fc7bb..4cd1448 100644 +--- a/src/OpenColorIO/OCIOZArchive.cpp ++++ b/src/OpenColorIO/OCIOZArchive.cpp +@@ -11,7 +11,7 @@ + #include + #include "Mutex.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "transforms/FileTransform.h" + +@@ -630,4 +630,4 @@ void CIOPOciozArchive::buildEntries() + getEntriesMappingFromArchiveFile(m_archiveAbsPath, m_entries); + } + +-} // namespace OCIO_NAMESPACE +\ No newline at end of file ++} // namespace OCIO_NAMESPACE +diff --git a/src/OpenColorIO/Op.cpp b/src/OpenColorIO/Op.cpp +index 1ae607a..bb5406f 100755 +--- a/src/OpenColorIO/Op.cpp ++++ b/src/OpenColorIO/Op.cpp +@@ -20,7 +20,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/lut3d/Lut3DOp.h" + #include "ops/range/RangeOp.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + + namespace OCIO_NAMESPACE + { +diff --git a/src/OpenColorIO/PathUtils.cpp b/src/OpenColorIO/PathUtils.cpp +index 9dc8c6b..4a1096d 100644 +--- a/src/OpenColorIO/PathUtils.cpp ++++ b/src/OpenColorIO/PathUtils.cpp +@@ -10,7 +10,7 @@ + #include "Mutex.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "OCIOZArchive.h" + +diff --git a/src/OpenColorIO/fileformats/FileFormatCTF.cpp b/src/OpenColorIO/fileformats/FileFormatCTF.cpp +index ebed326..9f70ff8 100644 +--- a/src/OpenColorIO/fileformats/FileFormatCTF.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatCTF.cpp +@@ -23,7 +23,7 @@ + #include "OpBuilders.h" + #include "ops/noop/NoOps.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "TransformBuilder.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" +diff --git a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +index a52bc72..bd827f0 100755 +--- a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +@@ -16,7 +16,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/lut3d/Lut3DOp.h" + #include "ParseUtils.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "Platform.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" +diff --git a/src/OpenColorIO/fileformats/FileFormatICC.cpp b/src/OpenColorIO/fileformats/FileFormatICC.cpp +index 786c8a5..4953103 100755 +--- a/src/OpenColorIO/fileformats/FileFormatICC.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatICC.cpp +@@ -14,7 +14,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/matrix/MatrixOp.h" + #include "ops/range/RangeOp.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + + +diff --git a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp +index 7402efd..cc3acb4 100755 +--- a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp +@@ -13,7 +13,7 @@ + #include "ops/lut3d/Lut3DOp.h" + #include "ParseUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" + #include "utils/NumberUtils.h" +diff --git a/src/OpenColorIO/transforms/FileTransform.cpp b/src/OpenColorIO/transforms/FileTransform.cpp +index 4fd4d5d..dc5eb3c 100755 +--- a/src/OpenColorIO/transforms/FileTransform.cpp ++++ b/src/OpenColorIO/transforms/FileTransform.cpp +@@ -19,7 +19,7 @@ + #include "ops/noop/NoOps.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + namespace OCIO_NAMESPACE +diff --git a/vendor/openfx/OCIOUtils.cpp b/vendor/openfx/OCIOUtils.cpp +index ca44905..469ed35 100644 +--- a/vendor/openfx/OCIOUtils.cpp ++++ b/vendor/openfx/OCIOUtils.cpp +@@ -9,7 +9,7 @@ namespace OCIO = OCIO_NAMESPACE; + #include + + #include "ofxsLog.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + + namespace + { diff --git a/recipes/opencolorio/all/patches/2.2.1-0003-strlen.patch b/recipes/opencolorio/all/patches/2.2.1-0003-strlen.patch new file mode 100644 index 0000000000000..b694178bdf977 --- /dev/null +++ b/recipes/opencolorio/all/patches/2.2.1-0003-strlen.patch @@ -0,0 +1,13 @@ +diff --git a/src/OpenColorIO/FileRules.cpp b/src/OpenColorIO/FileRules.cpp +index 61a5e0f..e0df0d0 100644 +--- a/src/OpenColorIO/FileRules.cpp ++++ b/src/OpenColorIO/FileRules.cpp +@@ -62,7 +62,7 @@ std::string ConvertToRegularExpression(const char * globPattern, bool ignoreCase + + if (ignoreCase) + { +- const size_t length = strlen(globPattern); ++ const size_t length = std::strlen(globPattern); + bool respectCase = false; + for (size_t i = 0; i < length; ++i) + { diff --git a/recipes/opencolorio/all/test_package/CMakeLists.txt b/recipes/opencolorio/all/test_package/CMakeLists.txt index 074c63fccc550..825fa34216bd6 100644 --- a/recipes/opencolorio/all/test_package/CMakeLists.txt +++ b/recipes/opencolorio/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(OpenColorIO REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} OpenColorIO::OpenColorIO) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE OpenColorIO::OpenColorIO) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/opencolorio/all/test_package/conanfile.py b/recipes/opencolorio/all/test_package/conanfile.py index 38f4483872d47..a9fb96656f203 100644 --- a/recipes/opencolorio/all/test_package/conanfile.py +++ b/recipes/opencolorio/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/opencolorio/all/test_v1_package/CMakeLists.txt b/recipes/opencolorio/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/opencolorio/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/opencolorio/all/test_v1_package/conanfile.py b/recipes/opencolorio/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/opencolorio/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/opencolorio/config.yml b/recipes/opencolorio/config.yml index 1f2bc2497ef89..f6a7702dbfaa4 100644 --- a/recipes/opencolorio/config.yml +++ b/recipes/opencolorio/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: "all" "2.1.0": folder: "all" "1.1.1": From 4a8cfdb0ec9b262518fa96db9216f049a5abe438 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 24 Jun 2023 18:42:15 +0100 Subject: [PATCH 0634/4087] (#18032) lest: migrate to Conan v2 --- recipes/lest/all/conanfile.py | 46 ++++++++++++++------ recipes/lest/all/test_package/CMakeLists.txt | 9 ++-- recipes/lest/all/test_package/conanfile.py | 21 ++++++--- 3 files changed, 52 insertions(+), 24 deletions(-) diff --git a/recipes/lest/all/conanfile.py b/recipes/lest/all/conanfile.py index 64f52a3c5b929..8360bb0147108 100644 --- a/recipes/lest/all/conanfile.py +++ b/recipes/lest/all/conanfile.py @@ -1,27 +1,47 @@ import os -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + class LestConan(ConanFile): name = "lest" - description = "A modern, C++11-native, single-file header-only, tiny framework for unit-tests, TDD and BDD." + description = ( + "A modern, C++11-native, single-file header-only, " + "tiny framework for unit-tests, TDD and BDD." + ) license = "BSL-1.0" - topics = ("conan", "testing", "testing-framework", "unit-testing", "header-only") - homepage = "https://github.com/martinmoene/lest" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/martinmoene/lest" + topics = ("testing", "testing-framework", "unit-testing", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy( + self, + "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/lest/all/test_package/CMakeLists.txt b/recipes/lest/all/test_package/CMakeLists.txt index 33ae887aa6aea..5d9ebbc9ca6a1 100644 --- a/recipes/lest/all/test_package/CMakeLists.txt +++ b/recipes/lest/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(lest REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE lest::lest) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/lest/all/test_package/conanfile.py b/recipes/lest/all/test_package/conanfile.py index ea57a464900be..ef5d7042163ec 100644 --- a/recipes/lest/all/test_package/conanfile.py +++ b/recipes/lest/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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") From 1c316808258d2995f2ccf0e97be3ea433d261cb9 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Sat, 24 Jun 2023 21:06:05 +0200 Subject: [PATCH 0635/4087] (#18043) (18044) Bump perfetto to v35.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 2fbc0e9ee87b3..9a9ac089dcd8f 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "35.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v35.0.tar.gz" + sha256: "224b6552e60ad0fc7c1447bdf719ddd9ceceaf2b6773b71541c21df5890f4166" "34.0": url: "https://github.com/google/perfetto/archive/refs/tags/v34.0.tar.gz" sha256: "81dbf2fac446a0389c80e309b2060dcccd926012ce2a61621a47e3e432aee8c1" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 0c134a6c0d779..bd944a09e558e 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "35.0": + folder: all "34.0": folder: all "32.1": From 16678c9880bcc64888388711a3ec0971c81b55d3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 24 Jun 2023 21:44:13 +0200 Subject: [PATCH 0636/4087] (#18042) wayland-protocols/all: bump deps * wayland-protocols/all/: bump deps * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland-protocols/all/conanfile.py | 2 +- recipes/wayland-protocols/all/test_package/conanfile.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/wayland-protocols/all/conanfile.py b/recipes/wayland-protocols/all/conanfile.py index 8641e38f36bfb..04a7ce005ea56 100644 --- a/recipes/wayland-protocols/all/conanfile.py +++ b/recipes/wayland-protocols/all/conanfile.py @@ -27,7 +27,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.1") def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/wayland-protocols/all/test_package/conanfile.py b/recipes/wayland-protocols/all/test_package/conanfile.py index 19d2d81011711..06a3d74d24219 100644 --- a/recipes/wayland-protocols/all/test_package/conanfile.py +++ b/recipes/wayland-protocols/all/test_package/conanfile.py @@ -17,13 +17,13 @@ def _has_build_profile(self): def requirements(self): self.requires(self.tested_reference_str) - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") - self.tool_requires("wayland/1.21.0") + self.tool_requires("wayland/1.22.0") def layout(self): basic_layout(self) From 928b44427cc5e6d771d7df802a659b1757d650d7 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Jun 2023 05:21:48 +0900 Subject: [PATCH 0637/4087] (#18041) tlx: add version 0.6.1 --- recipes/tlx/all/conandata.yml | 6 ++++++ recipes/tlx/config.yml | 2 ++ 2 files changed, 8 insertions(+) diff --git a/recipes/tlx/all/conandata.yml b/recipes/tlx/all/conandata.yml index 5d98c93707e87..4dc1e534af439 100644 --- a/recipes/tlx/all/conandata.yml +++ b/recipes/tlx/all/conandata.yml @@ -1,8 +1,14 @@ sources: + "0.6.1": + url: "https://github.com/tlx/tlx/archive/refs/tags/v0.6.1.tar.gz" + sha256: "24dd1acf36dd43b8e0414420e3f9adc2e6bb0e75047e872a06167961aedad769" "0.5.20200222": url: "https://github.com/tlx/tlx/archive/refs/tags/v0.5.20200222.tar.gz" sha256: "99e63691af3ada066682243f3a65cd6eb32700071cdd6cfedb18777b5ff5ff4d" patches: + "0.6.1": + - patch_file: "patches/0001-fix-dll-install.patch" + - patch_file: "patches/0002-fix-shared-apple.patch" "0.5.20200222": - patch_file: "patches/0001-fix-dll-install.patch" - patch_file: "patches/0002-fix-shared-apple.patch" diff --git a/recipes/tlx/config.yml b/recipes/tlx/config.yml index 08dbe5e6d3977..1a2097579ad40 100644 --- a/recipes/tlx/config.yml +++ b/recipes/tlx/config.yml @@ -1,3 +1,5 @@ versions: + "0.6.1": + folder: all "0.5.20200222": folder: all From cd5a41c83f2e439ef6543362ac0026cc2e4955de Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Jun 2023 05:42:23 +0900 Subject: [PATCH 0638/4087] (#18024) veque: add version 1.3.7, add package_type Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/veque/all/conandata.yml | 3 +++ recipes/veque/all/conanfile.py | 27 +++++++++++---------- recipes/veque/all/test_package/conanfile.py | 1 + recipes/veque/config.yml | 2 ++ 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/recipes/veque/all/conandata.yml b/recipes/veque/all/conandata.yml index 4a5e1d0f1ad9a..a57efe3175e66 100644 --- a/recipes/veque/all/conandata.yml +++ b/recipes/veque/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.7": + url: "https://github.com/Shmoopty/veque/archive/v1.3.7.tar.gz" + sha256: "f67ae3ce3f3e16e60f63bc8d4df0c606a6dfbc8651e01cba5a6c4ed1209349b1" "1.3.6": url: "https://github.com/Shmoopty/veque/archive/v1.3.6.tar.gz" sha256: "9d149b415d948529ac166c962501c59605ef24b3a8ab8561956a6d05f14870ea" diff --git a/recipes/veque/all/conanfile.py b/recipes/veque/all/conanfile.py index 54b31e162b380..8de4f7001f378 100644 --- a/recipes/veque/all/conanfile.py +++ b/recipes/veque/all/conanfile.py @@ -10,15 +10,19 @@ class VequeConan(ConanFile): name = "veque" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/Shmoopty/veque" description = "Fast C++ container combining the best features of std::vector and std::deque" - topics = ("cpp17", "vector", "deque") license = "BSL-1.0" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Shmoopty/veque" + topics = ("cpp17", "vector", "deque", "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 { @@ -29,12 +33,15 @@ def _compilers_minimum_version(self): "msvc": "191", } + 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, "17") + check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -45,15 +52,11 @@ def loose_lt_semver(v1, v2): 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.name} {self.version} requires C++17, which your compiler does not support.", + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -64,6 +67,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/veque/all/test_package/conanfile.py b/recipes/veque/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/veque/all/test_package/conanfile.py +++ b/recipes/veque/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/veque/config.yml b/recipes/veque/config.yml index 10d3a845bf8c7..3da45bc778250 100644 --- a/recipes/veque/config.yml +++ b/recipes/veque/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.7": + folder: all "1.3.6": folder: all "1.3.5": From 1bba7ed9e0a68f7c63216e988a2a9aa74e00f6f1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Jun 2023 06:03:10 +0900 Subject: [PATCH 0639/4087] (#18023) uni-algo: add version 0.8.2 Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index bbb5332eaec1a..63f151e67e84c 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.2": + url: "https://github.com/uni-algo/uni-algo/archive/v0.8.2.tar.gz" + sha256: "c0dab8ae1dbbab3e33b0c5bb512e927badb57f53e7ee96517c1dfd2e078b7669" "0.8.1": url: "https://github.com/uni-algo/uni-algo/archive/v0.8.1.tar.gz" sha256: "11192280fa435a9d68131d5368d2b314201d7089e6d2f38f29a8591c9aafa776" diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index 1764f2d6c3778..fa5046ea4bf03 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.2": + folder: all "0.8.1": folder: all "0.8.0": From f452b00b88d6db327fd4fed272afc1a888034eb8 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Sat, 24 Jun 2023 23:22:05 +0200 Subject: [PATCH 0640/4087] (#17982) highs: add version 1.5.3 * Rename target to alias highs * Add version 1.5.3 * Copy lib from different folder, depending on HiGHS version * Set _ITERATOR_DEBUG_LEVEL only in old highs version --- recipes/highs/all/conandata.yml | 3 +++ recipes/highs/all/conanfile.py | 12 +++++++++--- recipes/highs/config.yml | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/recipes/highs/all/conandata.yml b/recipes/highs/all/conandata.yml index 03938c9f3bdf9..373553d2ba8bb 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.3": + url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.5.3.tar.gz" + sha256: "ce1a7d2f008e60cc69ab06f8b16831bd0fcd5f6002d3bbebae9d7a3513a1d01d" "1.4.2": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.4.2.tar.gz" sha256: "29330e284491143cd53a547c23178221df46423679a98f6684251e65cc384d2b" diff --git a/recipes/highs/all/conanfile.py b/recipes/highs/all/conanfile.py index 0873a3aeb59f0..a45cfe7de91d8 100644 --- a/recipes/highs/all/conanfile.py +++ b/recipes/highs/all/conanfile.py @@ -4,6 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version from os.path import join required_conan_version = ">=1.53.0" @@ -65,7 +66,7 @@ def build(self): apply_conandata_patches(self) cmake = CMake(self) cmake.configure() - cmake.build(target="libhighs") + cmake.build(target="highs") def package(self): copy(self, pattern="LICENSE", src=self.source_folder, dst=join(self.package_folder, "licenses")) @@ -76,7 +77,11 @@ def package(self): copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) else: copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) + if Version(self.version) >= Version("1.5.3"): + # https://github.com/ERGO-Code/HiGHS/commit/2c24b4cb6ecece98ed807dbeff9b27a2fbba8d37 + copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) + else: + copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) fix_apple_shared_install_name(self) def package_info(self): @@ -84,5 +89,6 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") self.cpp_info.system_libs.append("pthread") - if is_msvc(self): + if is_msvc(self) and Version(self.version) < Version("1.5.3"): + # https://github.com/ERGO-Code/HiGHS/commit/7d784db29ab22003670b8b2eb494ab1a97f1815b self.cpp_info.defines.append("_ITERATOR_DEBUG_LEVEL=0") diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index ba127d382373b..03874f3b48754 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -1,3 +1,5 @@ versions: + "1.5.3": + folder: all "1.4.2": folder: all From 44b9c9ed42994749ff71efd91df3d04f8fb26d48 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 25 Jun 2023 00:22:31 +0200 Subject: [PATCH 0641/4087] (#18019) libsystemd/all: bump deps * libsystemd/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsystemd/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsystemd/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 17ae41f5c8e6a..7d50402519ca9 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): self.requires("libcap/2.68") - self.requires("libmount/2.36.2") + self.requires("libmount/2.39") if self.options.with_selinux: self.requires("libselinux/3.3") if self.options.with_lz4: @@ -68,7 +68,7 @@ def validate(self): raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.1.1") self.tool_requires("m4/1.4.19") self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): From bb81d090b9e94df3581d664b11a042caa325eb16 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 25 Jun 2023 19:21:50 +0100 Subject: [PATCH 0642/4087] (#18030) fff: migrate to Conan v2 --- recipes/fff/all/conanfile.py | 52 +++++++++++++------ recipes/fff/all/test_package/CMakeLists.txt | 10 ++-- recipes/fff/all/test_package/conanfile.py | 21 +++++--- recipes/fff/all/test_package/test_package.cpp | 20 +++---- 4 files changed, 66 insertions(+), 37 deletions(-) diff --git a/recipes/fff/all/conanfile.py b/recipes/fff/all/conanfile.py index b4367b0a79cab..04306861f2e25 100644 --- a/recipes/fff/all/conanfile.py +++ b/recipes/fff/all/conanfile.py @@ -1,26 +1,46 @@ -from conans import ConanFile, tools import os -class TypeSafe(ConanFile): - name = 'fff' - description = 'A testing micro framework for creating function test doubles' - url = 'https://github.com/conan-io/conan-center-index' - homepage = 'https://github.com/meekrosoft/fff' - license = 'MIT' - topics = 'conan', 'c', 'c++', 'embedded', 'tdd', 'micro-framework', 'fake-functions' +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +required_conan_version = ">=1.52.0" + + +class FffConan(ConanFile): + name = "fff" + description = "A testing micro framework for creating function test doubles" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/meekrosoft/fff" + topics = ("c", "c++", "embedded", "tdd", "micro-framework", "fake-functions", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - self.copy("fff.h", dst="include", src=self._source_subfolder) + copy( + self, + "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + "fff.h", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, + ) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fff/all/test_package/CMakeLists.txt b/recipes/fff/all/test_package/CMakeLists.txt index 196188113685c..7547d9c0590d3 100644 --- a/recipes/fff/all/test_package/CMakeLists.txt +++ b/recipes/fff/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(fff REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE fff::fff) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/fff/all/test_package/conanfile.py b/recipes/fff/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/fff/all/test_package/conanfile.py +++ b/recipes/fff/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/fff/all/test_package/test_package.cpp b/recipes/fff/all/test_package/test_package.cpp index 80fdb032c8ac4..fabe3f8985bb5 100644 --- a/recipes/fff/all/test_package/test_package.cpp +++ b/recipes/fff/all/test_package/test_package.cpp @@ -1,16 +1,16 @@ -#include -#include "fff.h" +#include + +#include DEFINE_FFF_GLOBALS; FAKE_VOID_FUNC(TestFunction, uint32_t, uint8_t); -int main() -{ - RESET_FAKE(TestFunction); - FFF_RESET_HISTORY(); - - TestFunction(8, 16); - - return 0; +int main() { + RESET_FAKE(TestFunction); + FFF_RESET_HISTORY(); + + TestFunction(8, 16); + + return 0; } From 4d7f6d8ec0d8e1e53c395072b5da8c17969eb30e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 25 Jun 2023 21:42:38 +0200 Subject: [PATCH 0643/4087] (#17946) tiff: add version 4.5.1 * tiff: add version 4.5.1 * use cmake 3.18+ for libtiff 4.5.1+ * remove libtiff FindXXXX modules for conan dependencies * patch HAVE_JPEGTURBO_DUAL_MODE_8_12 check --------- Co-authored-by: James --- recipes/libtiff/all/conandata.yml | 7 +++++ recipes/libtiff/all/conanfile.py | 17 +++++++++- .../4.5.1-0001-cmake-dependencies.patch | 31 +++++++++++++++++++ recipes/libtiff/config.yml | 2 ++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 recipes/libtiff/all/patches/4.5.1-0001-cmake-dependencies.patch diff --git a/recipes/libtiff/all/conandata.yml b/recipes/libtiff/all/conandata.yml index a3b0e93e72a46..b4f27a72cabbe 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.5.1": + url: "http://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz" + sha256: "d7f38b6788e4a8f5da7940c5ac9424f494d8a79eba53d555f4a507167dca5e2b" "4.5.0": url: "http://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz" sha256: "c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464" @@ -21,6 +24,10 @@ sources: url: "http://download.osgeo.org/libtiff/tiff-4.0.8.tar.gz" sha256: "59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910" patches: + "4.5.1": + - patch_file: "patches/4.5.1-0001-cmake-dependencies.patch" + patch_description: "CMake: robust handling of dependencies" + patch_type: "conan" "4.5.0": - patch_file: "patches/4.5.0-0001-cmake-dependencies.patch" patch_description: "CMake: robust handling of dependencies" diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 9d78f893c2d31..4c8c774a41b8a 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -103,6 +103,11 @@ def validate(self): if self.options.get_safe("libdeflate") and not self.options.zlib: raise ConanInvalidConfiguration("libtiff:libdeflate=True requires libtiff:zlib=True") + def build_requirements(self): + if Version(self.version) >= "4.5.1": + # https://github.com/conan-io/conan/issues/3482#issuecomment-662284561 + self.tool_requires("cmake/[>=3.18 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -130,13 +135,23 @@ def generate(self): tc.variables["cxx"] = self.options.cxx # BUILD_SHARED_LIBS must be set in command line because defined upstream before project() tc.cache_variables["BUILD_SHARED_LIBS"] = bool(self.options.shared) + tc.cache_variables["CMAKE_FIND_PACKAGE_PREFER_CONFIG"] = True tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "4.5.1": + deps.set_property("jbig", "cmake_target_name", "JBIG::JBIG") + deps.set_property("xz_utils", "cmake_target_name", "liblzma::liblzma") + deps.set_property("libdeflate", "cmake_file_name", "Deflate") + deps.set_property("libdeflate", "cmake_target_name", "Deflate::Deflate") deps.generate() def _patch_sources(self): apply_conandata_patches(self) + # remove FindXXXX for conan dependencies + for module in ["Deflate", "JBIG", "JPEG", "LERC", "WebP", "ZSTD", "liblzma", "LibLZMA"]: + rm(self, f"Find{module}.cmake", os.path.join(self.source_folder, "cmake")) + # Export symbols of tiffxx for msvc shared replace_in_file(self, os.path.join(self.source_folder, "libtiff", "CMakeLists.txt"), "set_target_properties(tiffxx PROPERTIES SOVERSION ${SO_COMPATVERSION})", diff --git a/recipes/libtiff/all/patches/4.5.1-0001-cmake-dependencies.patch b/recipes/libtiff/all/patches/4.5.1-0001-cmake-dependencies.patch new file mode 100644 index 0000000000000..761950e496109 --- /dev/null +++ b/recipes/libtiff/all/patches/4.5.1-0001-cmake-dependencies.patch @@ -0,0 +1,31 @@ +diff --git a/cmake/JPEGCodec.cmake b/cmake/JPEGCodec.cmake +index 8455a3ec..09fe975a 100644 +--- a/cmake/JPEGCodec.cmake ++++ b/cmake/JPEGCodec.cmake +@@ -42,25 +42,7 @@ endif() + if (JPEG_SUPPORT) + # Check for jpeg12_read_scanlines() which has been added in libjpeg-turbo 2.2 + # for dual 8/12 bit mode. +- include(CheckCSourceCompiles) +- include(CMakePushCheckState) +- cmake_push_check_state(RESET) +- set(CMAKE_REQUIRED_INCLUDES "${JPEG_INCLUDE_DIRS}") +- set(CMAKE_REQUIRED_LIBRARIES "${JPEG_LIBRARIES}") +- check_c_source_compiles( +- " +- #include +- #include +- #include \"jpeglib.h\" +- int main() +- { +- jpeg_read_scanlines(0,0,0); +- jpeg12_read_scanlines(0,0,0); +- return 0; +- } +- " +- HAVE_JPEGTURBO_DUAL_MODE_8_12) +- cmake_pop_check_state() ++ set(HAVE_JPEGTURBO_DUAL_MODE_8_12 FALSE) + endif() + + if (NOT HAVE_JPEGTURBO_DUAL_MODE_8_12) diff --git a/recipes/libtiff/config.yml b/recipes/libtiff/config.yml index bbe65356cc08b..fca646b364eb1 100644 --- a/recipes/libtiff/config.yml +++ b/recipes/libtiff/config.yml @@ -1,4 +1,6 @@ versions: + "4.5.1": + folder: all "4.5.0": folder: all "4.4.0": From 80845d76c176fce7fbf73a640f9e3d1dfa61dd47 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 25 Jun 2023 22:43:10 +0200 Subject: [PATCH 0644/4087] (#18035) at-spi2-core: add version 2.48.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/at-spi2-core/config.yml | 2 ++ recipes/at-spi2-core/new/conandata.yml | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index f3e69dd713878..2aade72117ca2 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -21,3 +21,5 @@ versions: folder: new "2.48.0": folder: new + "2.48.3": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index 1d17c17af2c31..c1bee698611c8 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" "2.48.0": url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.48/at-spi2-core-2.48.0.tar.xz" sha256: "905a5b6f1790b68ee803bffa9f5fab4ceb591fb4fae0b2f8c612c54f1d4e8a30" @@ -15,6 +18,8 @@ sources: sha256: "ba95f346e93108fbb3462c62437081d582154db279b4052dedc52a706828b192" url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.45/at-spi2-core-2.45.1.tar.xz" patches: + "2.48.3": + - patch_file: "patches/93.patch" "2.48.0": - patch_file: "patches/93.patch" "2.47.1": From 01d13136ba9f2c3f1368318a748f4c7c09b5e028 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Jun 2023 11:01:53 +0900 Subject: [PATCH 0645/4087] (#18031) wasmer: add version 4.0.0 --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/wasmer/config.yml | 2 ++ 2 files changed, 29 insertions(+) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index b910c1ff73d15..55462c58cc4d0 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "4.0.0": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.0.0/wasmer-windows-amd64.tar.gz" + sha256: "1ecbff4959fda10b316bdda3ea2230dcfaafabd4372125829e5dfaf01a75b1b6" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.0.0/wasmer-windows-gnu64.tar.gz" + sha256: "80a2d653254c59791faffa35c15f264c6e9fc5725ba0733b62ee1e0186f53294" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.0.0/wasmer-linux-amd64.tar.gz" + sha256: "6d905e328a155ef0059013d7315407bac13ea2a0cf9257e6cc957b96556df05e" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.0.0/wasmer-linux-aarch64.tar.gz" + sha256: "20f98f4be160e73e387444437f87aeaa276b46c1efee12729ab1108ebeda1d16" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.0.0/wasmer-darwin-amd64.tar.gz" + sha256: "435669d2bacf381f7c3c849a231825fb2d2126b0d3e90cb1298cc7a76d770184" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.0.0/wasmer-darwin-arm64.tar.gz" + sha256: "0505c8423830fb0ce1634a27ef52dfacb3d4bc711f9354535e4e874c044730f4" "3.2.1": Windows: "x86_64": diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index 15cf31b8c9d16..23eb21bb556ff 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.0": + folder: "all" "3.2.1": folder: "all" "3.1.0": From 10658342a6999c03616d1ed4dc3666a9c6f1ef62 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Jun 2023 11:21:31 +0900 Subject: [PATCH 0646/4087] (#18050) luau: add version 0.582 --- recipes/luau/all/conandata.yml | 7 +++++++ recipes/luau/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index c127812d6a812..1dc4953f665e9 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.582": + url: "https://github.com/Roblox/luau/archive/0.582.tar.gz" + sha256: "ee6da6329e58afc956bcca907ed9c6bc0455cd580990aa73f7cfb285aea22a6d" "0.577": url: "https://github.com/Roblox/luau/archive/0.577.tar.gz" sha256: "4fd3f0d7a3bb6a9f4ed69711d261c4ae6ab6dfe8eb8e444f738c3338c559c7c8" @@ -33,6 +36,10 @@ sources: url: "https://github.com/Roblox/luau/archive/0.540.tar.gz" sha256: "84b3e52b3b0ccf4d5bc0e0c04055f3a9b2f045c1281e203a858335a6fe76b0ff" patches: + "0.582": + - patch_file: "patches/0.572-0001-fix-cmake.patch" + patch_description: "enable shared build" + patch_type: "portability" "0.577": - patch_file: "patches/0.572-0001-fix-cmake.patch" patch_description: "enable shared build" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 53d1e61ba8c54..8a8c09827d38e 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.582": + folder: all "0.577": folder: all "0.572": From 746522a0909e3f1dbd28b2fa776b7120f4b69b76 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:21:40 +0200 Subject: [PATCH 0647/4087] (#18053) [bot] Update list of references (prod-v2/ListPackages) --- .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 61241cda4b7f8..fe95f07324499 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -238,6 +238,7 @@ required_for_references: - fast-dds - fast_float - fastgltf +- fff - ffmpeg - fft - fftw @@ -307,6 +308,7 @@ required_for_references: - hdrhistogram-c - hidapi - highfive +- highs - highway - hipony-enumerate - hiredis @@ -344,6 +346,7 @@ required_for_references: - lemon - leptonica - lerc +- lest - lexbor - libalsa - libarchive @@ -457,6 +460,7 @@ required_for_references: - linux-syscall-support - llhttp - lodepng +- logr - lua - luau - lunasvg @@ -476,6 +480,7 @@ required_for_references: - mdspan - meson - mgs +- microservice-essentials - mikelankamp-fpm - mimalloc - miniaudio @@ -495,6 +500,7 @@ required_for_references: - naive-tsearch - namedtype - nameof +- nanodbc - nanoflann - nanomsg - nanorange @@ -508,6 +514,7 @@ required_for_references: - nodejs - norm - nsync +- numcpp - nuraft - octomap - odbc @@ -522,6 +529,7 @@ required_for_references: - opencl-clhpp-headers - opencl-headers - opencl-icd-loader +- opencolorio - opencore-amr - openexr - opengl @@ -587,6 +595,7 @@ required_for_references: - readline - readosm - rectpack2d +- redis-plus-plus - replxx - restbed - restinio From 1d7f74424b59c6b7f7a6658b061b74c4102c700b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Jun 2023 17:42:52 +0900 Subject: [PATCH 0648/4087] (#18049) numcpp: add version 2.11.0, update boost --- recipes/numcpp/all/conandata.yml | 3 +++ recipes/numcpp/all/conanfile.py | 2 +- recipes/numcpp/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/numcpp/all/conandata.yml b/recipes/numcpp/all/conandata.yml index f60639802a576..2dd7a89a18962 100644 --- a/recipes/numcpp/all/conandata.yml +++ b/recipes/numcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.0": + url: "https://github.com/dpilger26/NumCpp/archive/Version_2.11.0.tar.gz" + sha256: "ea675775c3535589f268224efa31ae6003a68e95a465e92c99496a0c9366bdc2" "2.10.1": url: "https://github.com/dpilger26/NumCpp/archive/Version_2.10.1.tar.gz" sha256: "847382a780bea2a9b804c1835dcc5f9addabd0d1e3eb9c8339cde9422a5008d6" diff --git a/recipes/numcpp/all/conanfile.py b/recipes/numcpp/all/conanfile.py index ba99c9ae1ca37..9f1e7ec1b42e9 100644 --- a/recipes/numcpp/all/conanfile.py +++ b/recipes/numcpp/all/conanfile.py @@ -62,7 +62,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_boost", True): - self.requires("boost/1.81.0", transitive_headers=True) + self.requires("boost/1.82.0", transitive_headers=True) def package_id(self): self.info.clear() diff --git a/recipes/numcpp/config.yml b/recipes/numcpp/config.yml index 5b154933d1718..f550cd05e46c5 100644 --- a/recipes/numcpp/config.yml +++ b/recipes/numcpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.0": + folder: "all" "2.10.1": folder: "all" "2.9.0": From b8c8bbef68564ac4b1818e4d5001d171007a01b5 Mon Sep 17 00:00:00 2001 From: William Behrens <35979547+wbehrens-on-gh@users.noreply.github.com> Date: Mon, 26 Jun 2023 04:24:16 -0500 Subject: [PATCH 0649/4087] (#16471) libnl: conan v2 modernize * libnl: conan v2 modernize * libnl: conan v2 modernize * libnl: conan v2 modernize * libnl: fix fPIC, conan v2 modernize * libnl: update libtool archive removal * libnl: update libtool archive removal * libnl: patch conan v2 test * libnl: fix libtool archive removal and add missing system lib * libnl: change source url * libnl: fix test package linking * libnl: fix test package link librabraries * libnl: fix test package link libraries * libnl: made test package similar to other recipes * libnl: add missing variable to v1 test package * libnl: attempt fix for v2 test package linking from v1 * libnl: minor fixes, remove test_v1_package * libnl: remove unused import --------- Co-authored-by: William Behrens <35979547+WilliamBehrens@users.noreply.github.com> Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/libnl/all/conandata.yml | 5 +- recipes/libnl/all/conanfile.py | 70 ++++++++----------- recipes/libnl/all/test_package/CMakeLists.txt | 11 ++- recipes/libnl/all/test_package/conanfile.py | 22 ++++-- .../{show_links.c => test_package.c} | 0 recipes/libnl/config.yml | 2 + 6 files changed, 57 insertions(+), 53 deletions(-) rename recipes/libnl/all/test_package/{show_links.c => test_package.c} (100%) diff --git a/recipes/libnl/all/conandata.yml b/recipes/libnl/all/conandata.yml index edfebcd8dad20..cf3856e1f84ca 100644 --- a/recipes/libnl/all/conandata.yml +++ b/recipes/libnl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.0": + sha256: 9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939 + url: https://github.com/thom311/libnl/releases/download/libnl3_7_0/libnl-3.7.0.tar.gz "3.2.25": sha256: 8beb7590674957b931de6b7f81c530b85dc7c1ad8fbda015398bc1e8d1ce8ec5 - url: https://www.infradead.org/~tgr/libnl/files/libnl-3.2.25.tar.gz + url: https://github.com/thom311/libnl/releases/download/libnl3_2_25/libnl-3.2.25.tar.gz diff --git a/recipes/libnl/all/conanfile.py b/recipes/libnl/all/conanfile.py index 1bd02b2f42194..2dd67d7ee45af 100644 --- a/recipes/libnl/all/conanfile.py +++ b/recipes/libnl/all/conanfile.py @@ -1,8 +1,11 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import get, rmdir, copy, rm +from conan.tools.layout import basic_layout +from conan.tools.gnu import AutotoolsToolchain, Autotools +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class LibNlConan(ConanFile): @@ -15,63 +18,50 @@ class LibNlConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = {"fPIC": [True, False], "shared": [True, False]} default_options = {"fPIC": True, "shared": False} - build_requires = ( "flex/2.6.4", "bison/3.7.6" ) - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def build_requirements(self): + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.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 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") + # This is a pure C library + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("Libnl is only supported on Linux") - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - config_args = [ - "--prefix={}".format(tools.unix_path(self.package_folder)), - ] - if self.options.shared: - config_args.extend(["--enable-shared=yes", "--enable-static=no"]) - else: - config_args.extend(["--enable-shared=no", "--enable-static=yes"]) + def layout(self): + basic_layout(self, src_folder="src") - self._autotools.configure(configure_dir=self._source_subfolder, args=config_args) - return self._autotools + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - autotools = self._configure_autotools() + autotools = Autotools(self) autotools.install() - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + rm(self, "*.la", os.path.join(self.package_folder, "lib"), recursive=True) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.components["nl"].libs = ["nl-3"] self.cpp_info.components["nl"].includedirs = [os.path.join('include', 'libnl3')] - if self._settings_build.os != "Windows": + if self.settings.os != "Windows": self.cpp_info.components["nl"].system_libs = ["pthread", "m"] self.cpp_info.components["nl-route"].libs = ["nl-route-3"] self.cpp_info.components["nl-route"].requires = ["nl"] @@ -81,5 +71,7 @@ def package_info(self): self.cpp_info.components["nl-nf"].requires = ["nl-route"] self.cpp_info.components["nl-cli"].libs = ["nl-cli-3"] self.cpp_info.components["nl-cli"].requires = ["nl-nf", "nl-genl"] + if self.settings.os != "Windows": + self.cpp_info.components["nl-cli"].system_libs = ["dl"] self.cpp_info.components["nl-idiag"].libs = ["nl-idiag-3"] self.cpp_info.components["nl-idiag"].requires = ["nl"] diff --git a/recipes/libnl/all/test_package/CMakeLists.txt b/recipes/libnl/all/test_package/CMakeLists.txt index df9446e8809cf..c5d1b19c7a8f9 100644 --- a/recipes/libnl/all/test_package/CMakeLists.txt +++ b/recipes/libnl/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.5) -project(netlink_example) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libnl REQUIRED CONFIG) -add_executable(show_links show_links.c) -target_link_libraries(show_links ${CONAN_LIBS}) +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) diff --git a/recipes/libnl/all/test_package/conanfile.py b/recipes/libnl/all/test_package/conanfile.py index c130487451ae0..9b544e8a245c0 100644 --- a/recipes/libnl/all/test_package/conanfile.py +++ b/recipes/libnl/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -import os.path - -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, cmake_layout class NetlinkTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + 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) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(self.build_folder, "bin", "show_links") - self.run(bin_path, cwd=self.source_folder, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libnl/all/test_package/show_links.c b/recipes/libnl/all/test_package/test_package.c similarity index 100% rename from recipes/libnl/all/test_package/show_links.c rename to recipes/libnl/all/test_package/test_package.c diff --git a/recipes/libnl/config.yml b/recipes/libnl/config.yml index 992cfb9a265e6..3901cc1eb7ac9 100644 --- a/recipes/libnl/config.yml +++ b/recipes/libnl/config.yml @@ -1,3 +1,5 @@ versions: + 3.7.0: + folder: all 3.2.25: folder: all From 56581a8c31c55ee41946e049ec2de3d951712b5d Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Mon, 26 Jun 2023 13:07:23 +0200 Subject: [PATCH 0650/4087] (#18007) chaiscript: conan v2 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chaiscript: conan v2 support * check for c++17 * Update recipes/chaiscript/all/conanfile.py * fix test_package build on windows with msvc --------- Co-authored-by: Rubén Rincón Blanco --- recipes/chaiscript/all/CMakeLists.txt | 11 --- recipes/chaiscript/all/conanfile.py | 98 ++++++++++++------- .../all/test_package/CMakeLists.txt | 18 ++-- .../chaiscript/all/test_package/conanfile.py | 17 +++- 4 files changed, 85 insertions(+), 59 deletions(-) delete mode 100644 recipes/chaiscript/all/CMakeLists.txt diff --git a/recipes/chaiscript/all/CMakeLists.txt b/recipes/chaiscript/all/CMakeLists.txt deleted file mode 100644 index a7a84f24be646..0000000000000 --- a/recipes/chaiscript/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if (WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif(WIN32 AND BUILD_SHARED_LIBS) - -add_subdirectory("source_subfolder") diff --git a/recipes/chaiscript/all/conanfile.py b/recipes/chaiscript/all/conanfile.py index 00f73ebe996c7..84875e933945e 100644 --- a/recipes/chaiscript/all/conanfile.py +++ b/recipes/chaiscript/all/conanfile.py @@ -1,16 +1,24 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.files import get, copy, rmdir, collect_libs +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os +required_conan_version = ">=1.53.0" + + class ChaiScriptConan(ConanFile): name = "chaiscript" homepage = "https://github.com/ChaiScript/ChaiScript" description = "Embedded Scripting Language Designed for C++." - topics = ("conan", "embedded-scripting-language", "language") + topics = ("embedded-scripting-language", "language") url = "https://github.com/conan-io/conan-center-index" license = "BSD-3-Clause" exports_sources = ["CMakeLists.txt"] - generators = "cmake" settings = "os", "compiler", "build_type", "arch" options = {"fPIC": [True, False], "dyn_load": [True, False], "use_std_make_shared": [True, False], "multithread_support": [True, False], @@ -21,60 +29,80 @@ class ChaiScriptConan(ConanFile): "header_only": True} @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _build_subfolder(self): - return "build_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "ChaiScript-" + self.version - os.rename(extracted_dir, self._source_subfolder) + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "Visual Studio": "15.0", + "msvc": "191", + } def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_TESTING"] = False - cmake.definitions["BUILD_SAMPLES"] = False - cmake.definitions["BUILD_MODULES"] = True - cmake.definitions["USE_STD_MAKE_SHARED"] = self.options.use_std_make_shared - cmake.definitions["DYNLOAD_ENABLED"] = self.options.dyn_load - cmake.definitions["MULTITHREAD_SUPPORT_ENABLED"] = self.options.multithread_support - cmake.configure(build_folder=self._build_subfolder) - return cmake + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_SAMPLES"] = False + tc.variables["BUILD_MODULES"] = True + tc.variables["USE_STD_MAKE_SHARED"] = self.options.use_std_make_shared + tc.variables["DYNLOAD_ENABLED"] = self.options.dyn_load + tc.variables["MULTITHREAD_SUPPORT_ENABLED"] = self.options.multithread_support + tc.generate() def build(self): if not self.options.header_only: - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if self.options.header_only: - self.copy(pattern="*.hpp", dst="include", - src=os.path.join(self._source_subfolder, 'include')) + copy(self, pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) else: - cmake = self._configure_cmake() + 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")) + 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_id(self): - if self.options.header_only: - self.info.header_only() + if self.info.options.header_only: + self.info.clear() def package_info(self): if not self.options.header_only: - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) if self.options.use_std_make_shared: self.cpp_info.defines.append("CHAISCRIPT_USE_STD_MAKE_SHARED") - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["dl"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("dl") if self.options.multithread_support: self.cpp_info.system_libs.append("pthread") diff --git a/recipes/chaiscript/all/test_package/CMakeLists.txt b/recipes/chaiscript/all/test_package/CMakeLists.txt index 8ff036c8cd891..e3d7046fa8301 100644 --- a/recipes/chaiscript/all/test_package/CMakeLists.txt +++ b/recipes/chaiscript/all/test_package/CMakeLists.txt @@ -1,13 +1,11 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(chaiscript REQUIRED CONFIG) -# TEST_PACKAGE ################################################################# - -add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) -target_link_libraries(${CMAKE_PROJECT_NAME} CONAN_PKG::chaiscript) -set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 14) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} chaiscript::chaiscript) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + target_compile_options(${PROJECT_NAME} PRIVATE /bigobj) +endif() diff --git a/recipes/chaiscript/all/test_package/conanfile.py b/recipes/chaiscript/all/test_package/conanfile.py index 4d0099777a2a9..963c088e08a5c 100644 --- a/recipes/chaiscript/all/test_package/conanfile.py +++ b/recipes/chaiscript/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.build import can_run import os -from conans import ConanFile, CMake class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,4 +21,6 @@ def build(self): cmake.build() def test(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From e56f39f50847b97deffb30bfe3cc931687226f01 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Mon, 26 Jun 2023 15:44:39 +0200 Subject: [PATCH 0651/4087] (#13048) [STLab] upgrade version to 1.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [STLab] upgrade to 1.7.0 * fix * fix * fix * fix * fix * fix * fix * version 1.7.1 * fixes * fix test recipe * fix test recipe * uses cmake v23 * fixes * adds short_paths = True * remove share folder * temp removal of old files * fix text package * fix * skip coying systems libs * NOMINMAX * fix * fix * define NOMINMAX on conan recipe * now try all the versions * fix * remove old versions (temp) * remove old versions (temp) * rollback * fixes * fix * fix * fix * fix * Update recipes/absent/all/conanfile.py * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Uilian Ries * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Uilian Ries * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Uilian Ries * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Uilian Ries * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Uilian Ries * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Uilian Ries * Update recipes/stlab/1.7.0_and_above/conanfile.py * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Chris Mc * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Chris Mc * Update recipes/stlab/1.7.0_and_above/conanfile.py Co-authored-by: Chris Mc * with_boost * no test option * fix * Trigger notification * fix * fixes * fixes 2 * Update recipes/bertrand/all/conanfile.py * fixes 3 * Trigger notification * fix linting * fix linting * remove dead code * Update recipes/stlab/old/conandata.yml * Update recipes/stlab/old/conandata.yml Co-authored-by: Chris Mc * Update recipes/stlab/old/conanfile.py Co-authored-by: Chris Mc * remove dead code * fix linter warnings * Update recipes/stlab/all/conanfile.py Co-authored-by: Chris Mc * reduce nesting * Update recipes/stlab/old/conanfile.py Co-authored-by: Chris Mc * Update recipes/stlab/old/conanfile.py Co-authored-by: Chris Mc * review suggestions * set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP * test things * remove Windows runtime libs * Update conanfile.py * Refactoring and fixing errors * putting self.ref instead of self.name * suggestions * Removed old versions * Added new CMake var * Update recipes/stlab/all/conanfile.py * Update conanfile.py --------- Co-authored-by: Uilian Ries Co-authored-by: Chris Mc Co-authored-by: Francisco Ramirez de Anton Co-authored-by: Rubén Rincón Blanco --- recipes/stlab/all/conandata.yml | 18 +- recipes/stlab/all/conanfile.py | 263 +++++++++--------- recipes/stlab/all/test_package/CMakeLists.txt | 14 +- recipes/stlab/all/test_package/conanfile.py | 19 +- .../stlab/all/test_package/test_package.cpp | 2 + recipes/stlab/config.yml | 10 +- 6 files changed, 158 insertions(+), 168 deletions(-) diff --git a/recipes/stlab/all/conandata.yml b/recipes/stlab/all/conandata.yml index cde4739b5d32c..5b3683503f4d0 100644 --- a/recipes/stlab/all/conandata.yml +++ b/recipes/stlab/all/conandata.yml @@ -1,16 +1,4 @@ sources: - "1.6.2": - url: "https://github.com/stlab/libraries/archive/v1.6.2.tar.gz" - sha256: "d0369d889c7bf78068d0c4f4b5125d7e9fe9abb0ad7a3be35bf13b6e2c271676" - "1.5.6": - url: "https://github.com/stlab/libraries/archive/refs/tags/v1.5.6.tar.gz" - sha256: "a6b788848be637b6d6c471de76c38486789e708997648e9b9731fdb5a631030c" - "1.5.5": - url: "https://github.com/stlab/libraries/archive/v1.5.5.tar.gz" - sha256: "30ec5a36b4c074feac72a1b9a744f0b279010e18c7bb04bbdc5d44fe9eaf5ad8" - "1.5.4": - url: "https://github.com/stlab/libraries/archive/v1.5.4.tar.gz" - sha256: "87306f58f6614f4a1ca54dda52fedff7e610d3b3dae035829657bac77bc33640" - "1.5.2": - url: https://github.com/stlab/libraries/archive/v1.5.2.tar.gz - sha256: a82eb013e51d0bb3ee2050f0eda31e11997cb4ca74d2abfdc2c8249c5c67c9fb + "1.7.1": + url: "https://github.com/stlab/libraries/archive/refs/tags/v1.7.1.tar.gz" + sha256: "0160b5f7be7d423100a9a8b205a99285b106dd438f806978028a82b9f01c6b64" diff --git a/recipes/stlab/all/conanfile.py b/recipes/stlab/all/conanfile.py index b315741f04d56..b78d535f7ef8e 100644 --- a/recipes/stlab/all/conanfile.py +++ b/recipes/stlab/all/conanfile.py @@ -1,180 +1,179 @@ -from conans import ConanFile, tools -from conans.tools import Version -from conans.errors import ConanInvalidConfiguration import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +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, rm, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + + class Stlab(ConanFile): name = 'stlab' description = 'The Software Technology Lab libraries.' url = 'https://github.com/conan-io/conan-center-index' homepage = 'https://github.com/stlab/libraries' license = 'BSL-1.0' - topics = 'conan', 'c++', 'concurrency', 'futures', 'channels' - - settings = "arch", "os", "compiler", "build_type", - + topics = 'concurrency', 'futures', 'channels' + settings = "arch", "os", "compiler", "build_type", options = { - "boost_optional": [True, False], - "boost_variant": [True, False], - "coroutines": [True, False], - "task_system": ["portable", "libdispatch", "emscripten", "pnacl", "windows", "auto"], + "with_boost": [True, False], + "no_std_coroutines": [True, False], + "future_coroutines": [True, False], + "task_system": ["portable", "libdispatch", "emscripten", "pnacl", "windows"], + "thread_system": ["win32", "pthread", "pthread-emscripten", "pthread-apple", "none"], } - default_options = { - "boost_optional": False, - "boost_variant": False, - "coroutines": False, - "task_system": "auto", + "with_boost": False, + "no_std_coroutines": True, + "future_coroutines": False + # Handle default value for `thread_system` in `config_options` method + # Handle default value for `task_system` in `config_options` method } + package_type = "header-library" + short_paths = True - no_copy_source = True - _source_subfolder = 'source_subfolder' + def config_options(self): + self.options.thread_system = {"Macos": "pthread-apple", + "Linux": "pthread", + "Windows": "win32", + "Emscripten": "pthread-emscripten"}.get(str(self.settings.os), "none") + self.options.task_system = {"Macos": "libdispatch", + "Windows": "windows"}.get(str(self.settings.os), "portable") - def _use_boost(self): - return self.options.boost_optional or self.options.boost_variant + @property + def _minimum_cpp_standard(self): + return 17 - def _requires_libdispatch(self): - # On macOS it is not necessary to use the libdispatch conan package, because the library is - # included in the OS. - return self.options.task_system == "libdispatch" and self.settings.os != "Macos" + @property + def _compilers_minimum_version(self): + return {"gcc": "9", + "clang": "8", + "apple-clang": "13"} + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.23.3]") def requirements(self): - if self._use_boost(): - self.requires("boost/1.75.0") + if self.options.with_boost: + self.requires("boost/1.82.0") - if self._requires_libdispatch(): + # On macOS, it is not necessary to use the libdispatch conan package, because the library is + # included in the OS. + if self.options.task_system == "libdispatch" and self.settings.os != "Macos": self.requires("libdispatch/5.3.2") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "libraries-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def _fix_boost_components(self): - if self.settings.os != "Macos": return - if self.settings.compiler != "apple-clang": return - if Version(self.settings.compiler.version) >= "12": return - - # - # On Apple we have to force the usage of boost.variant, because Apple's implementation of C++17 is not complete. - # - self.output.info("Apple-Clang versions less than 12 do not correctly support std::optional or std::variant, so we will use boost::optional and boost::variant instead.") - self.options.boost_optional = True - self.options.boost_variant = True - - def _default_task_system(self): - if self.settings.os == "Macos": - return "libdispatch" - - if self.settings.os == "Windows": - return "windows" - - if self.settings.os == "Emscripten": - return "emscripten" - - return "portable" - - def _validate_task_system_libdispatch(self): - if self.settings.os == "Linux": - if self.settings.compiler != "clang": - raise ConanInvalidConfiguration("{}/{} task_system=libdispatch needs Clang compiler when using OS: {}. Use Clang compiler or switch to task_system=portable or task_system=auto".format(self.name, self.version, self.settings.os)) - elif self.settings.os != "Macos": - raise ConanInvalidConfiguration("{}/{} task_system=libdispatch is not supported on {}. Try using task_system=auto".format(self.name, self.version, self.settings.os)) - - def _validate_task_system_windows(self): - if self.settings.os != "Windows": - self.output.info("Libdispatch is not supported on {}. The task system is changed to {}.".format(self.settings.os, self.options.task_system)) - raise ConanInvalidConfiguration("{}/{} task_system=windows is not supported on {}. Try using task_system=auto".format(self.name, self.version, self.settings.os)) - - def _validate_task_system_emscripten(self): - if self.settings.os != "Emscripten": - raise ConanInvalidConfiguration("{}/{} task_system=emscripten is not supported on {}. Try using task_system=auto".format(self.name, self.version, self.settings.os)) + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def _validate_task_system(self): if self.options.task_system == "libdispatch": - self._validate_task_system_libdispatch() - elif self.options.task_system == "windows": - self._validate_task_system_windows() - elif self.options.task_system == "emscripten": - self._validate_task_system_emscripten() + if self.settings.os == "Linux" and self.settings.compiler != "clang": + raise ConanInvalidConfiguration(f"{self.ref} task_system=libdispatch needs Clang compiler when using OS: {self.settings.os}." + f" Use Clang compiler or switch to task_system=portable") + elif self.settings.os != "Macos": + raise ConanInvalidConfiguration(f"{self.ref} task_system=libdispatch is not supported on {self.settings.os}") + elif self.options.task_system == "windows" and self.settings.os != "Windows": + raise ConanInvalidConfiguration(f"{self.ref} task_system=windows is not supported on {self.settings.os}") + + def _validate_thread_system(self): + if any([self.options.thread_system == "pthread-apple" and self.settings.os != "Macos", + self.options.thread_system == "pthread" and self.settings.os != "Linux", + self.options.thread_system == "win32" and self.settings.os != "Windows", + self.options.thread_system == "pthread-emscripten" and self.settings.os != "Emscripten"]): + raise ConanInvalidConfiguration(f"{self.ref} thread_system={self.options.thread_system} is not supported on {self.settings.os}") def _validate_boost_components(self): - if self.settings.os != "Macos": return - if self.settings.compiler != "apple-clang": return - if Version(self.settings.compiler.version) >= "12": return - if self.options.boost_optional and self.options.boost_variant: return - # - # On Apple we have to force the usage of boost.variant, because Apple's implementation of C++17 - # is not complete. - # - msg = "Apple-Clang versions less than 12 do not correctly support std::optional or std::variant, so we will use boost::optional and boost::variant instead. " - if not self.options.boost_optional and not self.options.boost_variant: - msg += "Try -o boost_optional=True -o boost_variant=True" - elif not self.options.boost_optional: - msg += "Try -o boost_optional=True." + if not any([self.settings.os != "Macos", self.settings.compiler != "apple-clang", + Version(str(self.settings.compiler.version)) >= "12", self.options.with_boost]): + # On Apple we have to force the usage of boost.variant and boost.optional, because Apple's implementation of C++17 + # is not complete. + raise ConanInvalidConfiguration( + f"Compiler Apple-Clang < 12 versions do not correctly support std::optional or std::variant, " + f"so we will use boost::optional and boost::variant instead. Try -o {self.ref}:with_boost=True.") + + def _validate_min_compiler_version(self): + if is_msvc(self): + check_min_vs(self, "192") else: - msg += "Try -o boost_variant=True." - - raise ConanInvalidConfiguration(msg) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if not minimum_version: + self.output.warn(f"{self.ref} requires C++{self._minimum_cpp_standard}. " + f"Your compiler is unknown. Assuming it supports C++{self._minimum_cpp_standard}.") + elif Version(str(self.settings.compiler.version)) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, " + f"which your compiler does not support.") + if self.settings.compiler == "clang" and str(self.settings.compiler.version) in ("13", "14"): + raise ConanInvalidConfiguration( + f"{self.ref} currently does not work with Clang {self.settings.compiler.version} on CCI, it enters " + f"in an infinite build loop (smells like a compiler bug). Contributions are welcomed!") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, '17') - - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9": - raise ConanInvalidConfiguration("Need GCC >= 9") - - if self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "8": - raise ConanInvalidConfiguration("Need Clang >= 8") - - if self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version) < "15.8": - raise ConanInvalidConfiguration("Need Visual Studio >= 2017 15.8 (MSVC 19.15)") - - # Actually, we want *at least* 15.8 (MSVC 19.15), but we cannot check this for now with Conan. - if self.settings.compiler == "msvc" and Version(self.settings.compiler.version) < "19.15": - raise ConanInvalidConfiguration("Need msvc >= 19.15") + check_min_cppstd(self, self._minimum_cpp_standard) + self._validate_min_compiler_version() self._validate_task_system() + self._validate_thread_system() self._validate_boost_components() def configure(self): - if self.options.task_system == "auto": - self.options.task_system = self._default_task_system() - self.output.info("Stlab Task System: {}.".format(self.options.task_system)) + self.output.info("STLab With Boost: {}.".format(self.options.with_boost)) + self.output.info("STLab Future Coroutines: {}.".format(self.options.future_coroutines)) + self.output.info("STLab No Standard Coroutines: {}.".format(self.options.no_std_coroutines)) + self.output.info("STLab Task System: {}.".format(self.options.task_system)) + self.output.info("STLab Thread System: {}.".format(self.options.thread_system)) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables['BUILD_TESTING'] = not self.conf.get("tools.build:skip_test", default=True, check_type=bool) + tc.variables["STLAB_USE_BOOST_CPP17_SHIMS"] = self.options.with_boost + tc.variables["STLAB_NO_STD_COROUTINES"] = self.options.no_std_coroutines + tc.variables["STLAB_THREAD_SYSTEM"] = self.options.thread_system + tc.variables["STLAB_TASK_SYSTEM"] = self.options.task_system + if cross_building(self): + tc.variables["STLAB_HAVE_FUNCTIONAL_VARIANT_OPTIONAL"] = True + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("*LICENSE", dst="licenses", keep_path=False) - self.copy("stlab/*", src=self._source_subfolder, dst='include/') + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "msvcp*.dll", os.path.join(self.package_folder, "bin")) + rm(self, "concrt*.dll", os.path.join(self.package_folder, "bin")) + rm(self, "vcruntime*.dll", os.path.join(self.package_folder, "bin")) def package_id(self): - self.info.header_only() - self.info.options.boost_optional = "ANY" - self.info.options.boost_variant = "ANY" + # TODO: is header only but needs a header modified by cmake + # self.info.settings.clear() + # self.info.header_only() + pass def package_info(self): - coroutines_value = 1 if self.options.coroutines else 0 + future_coroutines_value = 1 if self.options.future_coroutines else 0 self.cpp_info.defines = [ - 'STLAB_FUTURE_COROUTINES={}'.format(coroutines_value) + 'STLAB_FUTURE_COROUTINES={}'.format(future_coroutines_value) ] - if self.options.boost_optional: - self.cpp_info.defines.append("STLAB_FORCE_BOOST_OPTIONAL") - - if self.options.boost_variant: - self.cpp_info.defines.append("STLAB_FORCE_BOOST_VARIANT") - - if self.options.task_system == "portable": - self.cpp_info.defines.append("STLAB_FORCE_TASK_SYSTEM_PORTABLE") - elif self.options.task_system == "libdispatch": - self.cpp_info.defines.append("STLAB_FORCE_TASK_SYSTEM_LIBDISPATCH") - elif self.options.task_system == "emscripten": - self.cpp_info.defines.append("STLAB_FORCE_TASK_SYSTEM_EMSRIPTEN") #Note: there is a typo in Stlab Cmake. - self.cpp_info.defines.append("STLAB_FORCE_TASK_SYSTEM_EMSCRIPTEN") #Note: for typo fix in later versions - elif self.options.task_system == "pnacl": - self.cpp_info.defines.append("STLAB_FORCE_TASK_SYSTEM_PNACL") - elif self.options.task_system == "windows": - self.cpp_info.defines.append("STLAB_FORCE_TASK_SYSTEM_WINDOWS") + if self.settings.os == "Windows": + self.cpp_info.defines = ['NOMINMAX'] if self.settings.os == "Linux": self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/stlab/all/test_package/CMakeLists.txt b/recipes/stlab/all/test_package/CMakeLists.txt index 98fa8e5af1b41..b52ae3503ebad 100644 --- a/recipes/stlab/all/test_package/CMakeLists.txt +++ b/recipes/stlab/all/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) -set(CMAKE_CXX_STANDARD 17) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +project(test_package CXX) # if the project uses c++ +find_package(stlab REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_compile_definitions( ${PROJECT_NAME} INTERFACE $<$:NOMINMAX> ) +target_link_libraries(${PROJECT_NAME} PRIVATE stlab::stlab) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + diff --git a/recipes/stlab/all/test_package/conanfile.py b/recipes/stlab/all/test_package/conanfile.py index bd7165a553cf4..ab351a264621f 100644 --- a/recipes/stlab/all/test_package/conanfile.py +++ b/recipes/stlab/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -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" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + + 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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/stlab/all/test_package/test_package.cpp b/recipes/stlab/all/test_package/test_package.cpp index cbf630bd2f9a3..b125ed3c4bd3d 100644 --- a/recipes/stlab/all/test_package/test_package.cpp +++ b/recipes/stlab/all/test_package/test_package.cpp @@ -16,6 +16,8 @@ int main() { while (!f.get_try()) { this_thread::sleep_for(chrono::milliseconds(1)); } cout << "The answer is " << *f.get_try() << "\n"; + + stlab::pre_exit(); } /* diff --git a/recipes/stlab/config.yml b/recipes/stlab/config.yml index 28a287ac4f61d..4821864cf318a 100644 --- a/recipes/stlab/config.yml +++ b/recipes/stlab/config.yml @@ -1,11 +1,3 @@ versions: - "1.6.2": - folder: all - "1.5.6": - folder: all - "1.5.5": - folder: all - "1.5.4": - folder: all - "1.5.2": + "1.7.1": folder: all From 580b6533557b012c1aa799a423bed06e88f9553d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 26 Jun 2023 16:01:26 +0200 Subject: [PATCH 0652/4087] (#18057) [bot] Update authorized users list (2023-06-26) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 0e7b841489b2a..a9010918eb015 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1181,3 +1181,4 @@ authorized_users: - k-wasniowski - ChrisThrasher - ViktarHasiul231862 +- Becheler From 63844d6b6beae7733ba34d2291413bf18af48551 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Mon, 26 Jun 2023 16:42:25 +0200 Subject: [PATCH 0653/4087] (#17927) ssht: conan v2 support * ssht: conan v2 support * remove patch * remove test_v1 * Update recipes/ssht/all/conanfile.py --------- Co-authored-by: Carlos Zoido Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/ssht/all/conanfile.py | 70 +++++++++++--------- recipes/ssht/all/test_package/CMakeLists.txt | 8 +-- recipes/ssht/all/test_package/conanfile.py | 24 ++++--- 3 files changed, 57 insertions(+), 45 deletions(-) diff --git a/recipes/ssht/all/conanfile.py b/recipes/ssht/all/conanfile.py index bbf74c31ff0c0..616e2e41a56b1 100644 --- a/recipes/ssht/all/conanfile.py +++ b/recipes/ssht/all/conanfile.py @@ -1,9 +1,13 @@ from conan import ConanFile -from conan.tools import files from conan.errors import ConanInvalidConfiguration -from conans import CMake +from conan.tools.microsoft import is_msvc +from conan.tools.files import get, copy, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.50.0" class SshtConan(ConanFile): name = "ssht" @@ -13,47 +17,51 @@ class SshtConan(ConanFile): description = "Fast spin spherical harmonic transforms" settings = "os", "arch", "compiler", "build_type" topics = ("physics", "astrophysics", "radio interferometry") + package_type = "static-library" options = {"fPIC": [True, False]} default_options = {"fPIC": True} - requires = "fftw/3.3.9" - generators = "cmake", "cmake_find_package", "cmake_paths" - exports_sources = ["CMakeLists.txt"] - @property - def _source_subfolder(self): - return "source_subfolder" + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC - @property - def _build_subfolder(self): - return "build_subfolder" + 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 requirements(self): + self.requires("fftw/3.3.9") - def config_options(self): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx - def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("SSHT requires C99 support for complex numbers.") def source(self): - files.get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @property - def cmake(self): - if not hasattr(self, "_cmake"): - self._cmake = CMake(self) - self._cmake.definitions["tests"] = False - self._cmake.definitions["python"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["tests"] = False + tc.cache_variables["python"] = False + tc.generate() + deps = CMakeDeps(self) + deps.set_property("fftw", "cmake_target_name", "FFTW3::FFTW3") + deps.generate() + def build(self): - self.cmake.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.cmake.install() + 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 = ["ssht"] diff --git a/recipes/ssht/all/test_package/CMakeLists.txt b/recipes/ssht/all/test_package/CMakeLists.txt index dfe499c06a976..ef70db67c0029 100644 --- a/recipes/ssht/all/test_package/CMakeLists.txt +++ b/recipes/ssht/all/test_package/CMakeLists.txt @@ -1,11 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +project(test_package LANGUAGES C) find_package(Ssht REQUIRED NO_MODULE) add_executable(${PROJECT_NAME} example.c) target_compile_features(${PROJECT_NAME} PUBLIC c_std_99) -target_link_libraries(${PROJECT_NAME} ssht::ssht) +target_link_libraries(${PROJECT_NAME} PRIVATE ssht::ssht) diff --git a/recipes/ssht/all/test_package/conanfile.py b/recipes/ssht/all/test_package/conanfile.py index 4930d744506dc..ef5d7042163ec 100644 --- a/recipes/ssht/all/test_package/conanfile.py +++ b/recipes/ssht/all/test_package/conanfile.py @@ -1,13 +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 SshtTestConan(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 configure(self): - del self.settings.compiler.libcxx + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -15,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") From 274b33dd7fc92f904ed972479e5916838c0b5ea4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Jun 2023 16:02:57 +0100 Subject: [PATCH 0654/4087] (#17671) rmm: new recipe * rmm: add recipe * rmm: skip CMake build entirely Only the version_config.hpp creation step was relevant for Conan. * rmm: remove unnecessary transitive_*=True * rmm: drop test_v1_package * rmm: remove unused CMakeLists.txt * rmm: bump version from 23.04 to 23.06 * rmm: set minimum compiler versions Determined by trial and error. On lower versions an std::array{...} initializer list compilation fails. * rmm: update version in config.yml * rmm: bump min compiler versions * rmm: patch a missing include * rmm: add a comment for _write_version_header() * rmm: add a comment for the patch * rmm: convert comment to warning * rmm: fix .get_safe() in Conan v1 * rmm: improve thrust option check * rmm: use save() for version_config.hpp * Add no_copy_source attribute. --------- Co-authored-by: Uilian Ries Co-authored-by: Carlos Zoido --- recipes/rmm/all/conandata.yml | 4 + recipes/rmm/all/conanfile.py | 118 ++++++++++++++++++ recipes/rmm/all/test_package/CMakeLists.txt | 8 ++ recipes/rmm/all/test_package/conanfile.py | 26 ++++ recipes/rmm/all/test_package/test_package.cpp | 10 ++ recipes/rmm/config.yml | 3 + 6 files changed, 169 insertions(+) create mode 100644 recipes/rmm/all/conandata.yml create mode 100644 recipes/rmm/all/conanfile.py create mode 100644 recipes/rmm/all/test_package/CMakeLists.txt create mode 100644 recipes/rmm/all/test_package/conanfile.py create mode 100644 recipes/rmm/all/test_package/test_package.cpp create mode 100644 recipes/rmm/config.yml diff --git a/recipes/rmm/all/conandata.yml b/recipes/rmm/all/conandata.yml new file mode 100644 index 0000000000000..7df46299a9c8a --- /dev/null +++ b/recipes/rmm/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "23.06.00": + url: "https://github.com/rapidsai/rmm/archive/refs/tags/v23.06.00.tar.gz" + sha256: "3dade75a6ba21041e47493a6514513aa01d40e19bba500f5e648e399744e1a24" diff --git a/recipes/rmm/all/conanfile.py b/recipes/rmm/all/conanfile.py new file mode 100644 index 0000000000000..e9bb7d0e98006 --- /dev/null +++ b/recipes/rmm/all/conanfile.py @@ -0,0 +1,118 @@ +import os +import textwrap + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import export_conandata_patches, get, copy, replace_in_file, save +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + + +class RmmConan(ConanFile): + name = "rmm" + description = "RAPIDS Memory Manager" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/rapidsai/rmm" + topics = ("cuda", "memory-management", "memory-allocation", "rapids", "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): + # Based partially on https://github.com/rapidsai/rmm/tree/v23.06.00#get-rmm-dependencies + return { + "Visual Studio": "15", + "msvc": "191", + "gcc": "9.3", + "clang": "8", + "apple-clang": "14.0", + } + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("thrust/1.17.2") + self.requires("spdlog/1.11.0") + self.requires("fmt/9.1.0") + + 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." + ) + + if self.dependencies["thrust"].options.get_safe("backend") != "cuda": + self.output.warning( + "RMM requires the CUDA backend to be enabled in Thrust by setting thrust/*:backend=cuda." + ) + + def _write_version_header(self): + # Workaround for the `rapids_cmake_write_version_file(include/rmm/version_config.hpp)` CMakeLists.txt step + # https://github.com/rapidsai/rapids-cmake/blob/branch-23.08/rapids-cmake/cmake/write_version_file.cmake + # https://github.com/rapidsai/rapids-cmake/blob/branch-23.08/rapids-cmake/cmake/template/version.hpp.in + major, minor, patch = self.version.split(".")[:3] + save(self, os.path.join(self.source_folder, "include", "rmm", "version_config.hpp"), + textwrap.dedent(f"""\ + #pragma once + #define RMM_VERSION_MAJOR {int(major)} + #define RMM_VERSION_MINOR {int(minor)} + #define RMM_VERSION_PATCH {int(patch)} + """) + ) + + def _patch_sources(self): + if Version(self.version) < "23.08": + # https://github.com/rapidsai/rmm/pull/1295 + # Add missing include in logger.hpp + replace_in_file( + self, + os.path.join(self.source_folder, "include", "rmm", "logger.hpp"), + "#include ", + "#include \n#include ", + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + self._write_version_header() + self._patch_sources() + + def package(self): + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + for pattern in ["*.hpp", "*.h"]: + copy( + self, + pattern=pattern, + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("dl") diff --git a/recipes/rmm/all/test_package/CMakeLists.txt b/recipes/rmm/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..678b3e6095ba7 --- /dev/null +++ b/recipes/rmm/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(rmm REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE rmm::rmm) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/rmm/all/test_package/conanfile.py b/recipes/rmm/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/rmm/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/rmm/all/test_package/test_package.cpp b/recipes/rmm/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..981cc677b6529 --- /dev/null +++ b/recipes/rmm/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include +#include +#include + +int main() { + // The log output will be sent to rmm_log.txt in the build directory by default + RMM_LOG_INFO("rmm version: {}.{}.{}", RMM_VERSION_MAJOR, RMM_VERSION_MINOR, RMM_VERSION_PATCH); + return EXIT_SUCCESS; +} diff --git a/recipes/rmm/config.yml b/recipes/rmm/config.yml new file mode 100644 index 0000000000000..e04fd963f4a5f --- /dev/null +++ b/recipes/rmm/config.yml @@ -0,0 +1,3 @@ +versions: + "23.06.00": + folder: all From 54900d2c5a85883f33a303926ce097523099e994 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 26 Jun 2023 17:42:52 +0200 Subject: [PATCH 0655/4087] (#18001) [sentry-crashpad/0.6.3] Bump version * [sentry-crashpad/0.6.3] Bump version * sentry-crashpad: fix test pacakge * Fix test_v1_package StartHandler argument count * Replace #if by #ifdef --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/sentry-crashpad/all/conandata.yml | 6 +++--- recipes/sentry-crashpad/all/test_package/CMakeLists.txt | 4 ++++ recipes/sentry-crashpad/all/test_package/conanfile.py | 8 ++++++-- recipes/sentry-crashpad/all/test_package/test_package.cpp | 3 +++ recipes/sentry-crashpad/all/test_v1_package/conanfile.py | 2 ++ recipes/sentry-crashpad/config.yml | 4 ++-- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/recipes/sentry-crashpad/all/conandata.yml b/recipes/sentry-crashpad/all/conandata.yml index 21ccf617970ea..059f423b2eba7 100644 --- a/recipes/sentry-crashpad/all/conandata.yml +++ b/recipes/sentry-crashpad/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.3": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" + sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.6.2": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.6.1": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" - "0.6.0": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.0/sentry-native.zip" - sha256: "ae03c9c8487794cd0f6d7fb7bb9b3c13e1a253190b290eaf752e2b4f007fd089" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-crashpad/all/test_package/CMakeLists.txt b/recipes/sentry-crashpad/all/test_package/CMakeLists.txt index a9feb3cd284f7..f90e3b77e86ad 100644 --- a/recipes/sentry-crashpad/all/test_package/CMakeLists.txt +++ b/recipes/sentry-crashpad/all/test_package/CMakeLists.txt @@ -4,6 +4,10 @@ project(test_package CXX) find_package(crashpad REQUIRED CONFIG) +if(HAS_PROXY) + add_compile_definitions(HAS_PROXY) +endif() + add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE crashpad::client) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/sentry-crashpad/all/test_package/conanfile.py b/recipes/sentry-crashpad/all/test_package/conanfile.py index b1079103ac7c1..7088406970539 100644 --- a/recipes/sentry-crashpad/all/test_package/conanfile.py +++ b/recipes/sentry-crashpad/all/test_package/conanfile.py @@ -1,13 +1,14 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.files import mkdir, save, load -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +from conan.tools.scm import Version import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def requirements(self): @@ -17,6 +18,9 @@ def layout(self): cmake_layout(self) def generate(self): + tc = CMakeToolchain(self) + tc.variables["HAS_PROXY"] = Version(self.dependencies[self.tested_reference_str].ref.version) > "0.6.2" + tc.generate() handler_exe = "crashpad_handler.exe" if self.settings.os == "Windows" else "crashpad_handler" handler_bin_path = os.path.join(self.dependencies[self.tested_reference_str].package_folder, "bin", handler_exe) save(self, os.path.join(self.build_folder, "handler_bin_path"), handler_bin_path) diff --git a/recipes/sentry-crashpad/all/test_package/test_package.cpp b/recipes/sentry-crashpad/all/test_package/test_package.cpp index 8f5ca824f1a03..e968f17053dfa 100644 --- a/recipes/sentry-crashpad/all/test_package/test_package.cpp +++ b/recipes/sentry-crashpad/all/test_package/test_package.cpp @@ -21,6 +21,9 @@ bool startCrashpad(const base::FilePath &db, db, db, url, +#ifdef HAS_PROXY + "", +#endif annotations, arguments, true, diff --git a/recipes/sentry-crashpad/all/test_v1_package/conanfile.py b/recipes/sentry-crashpad/all/test_v1_package/conanfile.py index 07143b37b946f..62bd626cd935e 100644 --- a/recipes/sentry-crashpad/all/test_v1_package/conanfile.py +++ b/recipes/sentry-crashpad/all/test_v1_package/conanfile.py @@ -1,6 +1,7 @@ from conans import ConanFile, CMake from conan.tools.build import cross_building from conan.tools.files import mkdir +from conan.tools.scm import Version import os @@ -10,6 +11,7 @@ class TestPackageV1Conan(ConanFile): def build(self): cmake = CMake(self) + cmake.definitions["HAS_PROXY"] = Version(self.deps_cpp_info["sentry-crashpad"].version) > "0.6.2" cmake.configure() cmake.build() diff --git a/recipes/sentry-crashpad/config.yml b/recipes/sentry-crashpad/config.yml index 2e0e20ffce3ff..205b96ca25c22 100644 --- a/recipes/sentry-crashpad/config.yml +++ b/recipes/sentry-crashpad/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.3": + folder: all "0.6.2": folder: all "0.6.1": folder: all - "0.6.0": - folder: all "0.5.4": folder: all "0.4.18": From b375478e18919fca6c4a09736a8042a7a295aa75 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Jun 2023 05:03:49 +0900 Subject: [PATCH 0656/4087] (#17490) cpr: add version 1.10.4, update libcurl * cpr: add version 1.10.2, update libcurl * dirty hack for with_ssl = auto on conan v2 * update 1.10.3 * update 1.10.4 --- recipes/cpr/all/conandata.yml | 7 +++++++ recipes/cpr/all/conanfile.py | 7 ++++++- recipes/cpr/config.yml | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/cpr/all/conandata.yml b/recipes/cpr/all/conandata.yml index 4be23150be0d1..21c7cc656ba73 100644 --- a/recipes/cpr/all/conandata.yml +++ b/recipes/cpr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.4": + url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.3.tar.gz" + sha256: "7b9d3504ffdaf7ce3189f1b91d135888776b6a1b26ea1bf2c3c4986b8a5af06f" "1.10.1": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.1.tar.gz" sha256: "dc22ab9d34e6013e024e2c4a64e665b126573c0f125f0e02e6a7291cb7e04c4b" @@ -27,6 +30,10 @@ sources: url: "https://github.com/libcpr/cpr/archive/1.4.0.tar.gz" sha256: "13baffba95445e02291684e31906b04df41d8c6a3020a1a55253047c6756a004" patches: + "1.10.4": + - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" + patch_description: "disable warning flags and warning as error" + patch_type: "portability" "1.10.1": - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index f9ec63a80be5a..811d7ddeeebd7 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -123,7 +123,12 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/7.87.0", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/8.0.1", transitive_headers=True, transitive_libs=True) + # FIXME: This is a very dirty hack. + # with_ssl == _AUTO_SSL, cpr needs the openssl header to compile. But Conan recipe does not know which SSL library to use. + # because cpr's CMakeLists.txt automatically detects SSL libraries with CPR_ENABLE_SSL == ON. + if self.settings.os in ["Linux", "FreeBSD"] and self.options.with_ssl in ["openssl", CprConan._AUTO_SSL]: + self.requires("openssl/[>=1.1 <4]") # Check if the system supports the given ssl library def _supports_ssl_library(self, library): diff --git a/recipes/cpr/config.yml b/recipes/cpr/config.yml index 51dcfd080e779..66e2467c8e531 100644 --- a/recipes/cpr/config.yml +++ b/recipes/cpr/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.4": + folder: all "1.10.1": folder: all "1.10.0": From 559c640afe2f3d4b29b61d8b65f876c348886d6f Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Tue, 27 Jun 2023 00:03:54 -0700 Subject: [PATCH 0657/4087] (#17295) protobuf-c: initial onboarding (v1.4.1) * protobuf-c: initial onboarding (v1.4.1) * protobuf-c: minor cleanup * address PR comments * define cpp_info.builddirs * improve recipe * set min cppstd=14 * improve recipe * fix windows test_package * disable shared lib for now * address minor PR comments * adjust recipe and patch to latest upstream PR * add FIXME for shared support as per PR comment --- recipes/protobuf-c/all/conandata.yml | 10 ++ recipes/protobuf-c/all/conanfile.py | 104 ++++++++++++++++++ .../patches/1.4.1-cmake-protobuf-target.patch | 56 ++++++++++ recipes/protobuf-c/all/protobuf-c.cmake | 72 ++++++++++++ .../all/test_package/CMakeLists.txt | 10 ++ .../protobuf-c/all/test_package/conanfile.py | 40 +++++++ .../protobuf-c/all/test_package/hero.proto | 6 + .../all/test_package/test_package.c | 13 +++ recipes/protobuf-c/config.yml | 3 + 9 files changed, 314 insertions(+) create mode 100644 recipes/protobuf-c/all/conandata.yml create mode 100644 recipes/protobuf-c/all/conanfile.py create mode 100644 recipes/protobuf-c/all/patches/1.4.1-cmake-protobuf-target.patch create mode 100644 recipes/protobuf-c/all/protobuf-c.cmake create mode 100644 recipes/protobuf-c/all/test_package/CMakeLists.txt create mode 100644 recipes/protobuf-c/all/test_package/conanfile.py create mode 100644 recipes/protobuf-c/all/test_package/hero.proto create mode 100644 recipes/protobuf-c/all/test_package/test_package.c create mode 100644 recipes/protobuf-c/config.yml diff --git a/recipes/protobuf-c/all/conandata.yml b/recipes/protobuf-c/all/conandata.yml new file mode 100644 index 0000000000000..9007e5a9a5e00 --- /dev/null +++ b/recipes/protobuf-c/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "1.4.1": + url: https://github.com/protobuf-c/protobuf-c/archive/v1.4.1.tar.gz + sha256: 99be336cdb15dfc5827efe34e5ac9aaa962e2485db547dd254d2a122a7d23102 +patches: + "1.4.1": + # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged + - patch_file: "patches/1.4.1-cmake-protobuf-target.patch" + patch_description: "Fit Protobuf directory variables to official targets" + patch_type: conan diff --git a/recipes/protobuf-c/all/conanfile.py b/recipes/protobuf-c/all/conanfile.py new file mode 100644 index 0000000000000..83f6ad3e9a327 --- /dev/null +++ b/recipes/protobuf-c/all/conanfile.py @@ -0,0 +1,104 @@ +from conan import ConanFile, __version__ as conan_version +from conan.tools.scm import Version +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +import os + + +required_conan_version = ">=1.53.0" + + +class ProtobufCConan(ConanFile): + name = "protobuf-c" + description = "Protocol Buffers implementation in C" + license = "LicenseRef-LICENSE" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/protobuf-c/protobuf-c" + topics = ("protocol-buffers", "protocol-compiler", "serialization", "protocol-compiler") + # package_type = "library" + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + "with_proto3": [True, False], + "with_protoc": [True, False] + } + default_options = { + "fPIC": True, + "with_proto3": True, + "with_protoc": True + } + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 14) + + def export_sources(self): + export_conandata_patches(self) + # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged + copy(self, "protobuf-c.cmake", src=self.recipe_folder, dst=self.export_sources_folder, keep_path=False) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + # Since the package using protobuf-c will also need to use protoc (part of protobuf), + # we want to make sure the protobuf dep is visible, but the visible param is only available in v2 + # TODO: Remove after dropping Conan 1.x + if conan_version >= Version("2"): + self.tool_requires("protobuf/3.21.9", visible=True) + else: + self.tool_requires("protobuf/3.21.9") + + def requirements(self): + self.requires("protobuf/3.21.9") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_PROTO3"] = self.options.with_proto3 + tc.cache_variables["BUILD_PROTOC"] = self.options.with_protoc + # FIXME: Add shared library support. It was just too hairy to figure out initially + # tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.cache_variables["BUILD_TESTS"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate(scope="build") + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "build-cmake")) + cmake.build() + + @property + def _cmake_install_base_path(self): + return os.path.join("lib", "cmake", "protobuf-c") + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged + copy(self, "protobuf-c.cmake", dst=os.path.join(self.package_folder, self._cmake_install_base_path), src=self.export_sources_folder) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + # upstream CMake config file name and target name matches the package name + self.cpp_info.libs = ["protobuf-c"] + self.cpp_info.builddirs.append(self._cmake_install_base_path) + # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged + self.cpp_info.set_property("cmake_build_modules", [ + os.path.join(self._cmake_install_base_path, "protobuf-c.cmake") + ]) + self.buildenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) diff --git a/recipes/protobuf-c/all/patches/1.4.1-cmake-protobuf-target.patch b/recipes/protobuf-c/all/patches/1.4.1-cmake-protobuf-target.patch new file mode 100644 index 0000000000000..fb664a553f528 --- /dev/null +++ b/recipes/protobuf-c/all/patches/1.4.1-cmake-protobuf-target.patch @@ -0,0 +1,56 @@ +diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt +--- a/build-cmake/CMakeLists.txt (revision c8f1ff465b55b00114af07d15ceca2aeedee1a4b) ++++ b/build-cmake/CMakeLists.txt (revision cabf46a8ab076fdce0c7bef4e393ac7819bb4b68) +@@ -63,7 +63,6 @@ + endif (MSVC AND NOT BUILD_SHARED_LIBS) + + FIND_PACKAGE(Protobuf REQUIRED) +-INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR}) + + if (BUILD_PROTO3) + ADD_DEFINITIONS(-DHAVE_PROTO3) +@@ -92,16 +91,16 @@ + SET(CMAKE_CXX_STANDARD_REQUIRED ON) + SET(CMAKE_CXX_EXTENSIONS OFF) + ADD_CUSTOM_COMMAND(OUTPUT protobuf-c/protobuf-c.pb.cc protobuf-c/protobuf-c.pb.h +- COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ++ COMMAND ${Protobuf_PROTOC_EXECUTABLE} + ARGS --cpp_out ${CMAKE_BINARY_DIR} -I${MAIN_DIR} ${MAIN_DIR}/protobuf-c/protobuf-c.proto) + FILE(GLOB PROTOC_GEN_C_SRC ${MAIN_DIR}/protoc-c/*.h ${MAIN_DIR}/protoc-c/*.cc ) + ADD_EXECUTABLE(protoc-gen-c ${PROTOC_GEN_C_SRC} protobuf-c/protobuf-c.pb.cc protobuf-c/protobuf-c.pb.h) + +-TARGET_LINK_LIBRARIES(protoc-gen-c ${PROTOBUF_PROTOC_LIBRARY} ${PROTOBUF_LIBRARY}) ++TARGET_LINK_LIBRARIES(protoc-gen-c protobuf::libprotoc protobuf::libprotobuf) + + IF (MSVC AND BUILD_SHARED_LIBS) + TARGET_COMPILE_DEFINITIONS(protoc-gen-c PRIVATE -DPROTOBUF_USE_DLLS) +- GET_FILENAME_COMPONENT(PROTOBUF_DLL_DIR ${PROTOBUF_PROTOC_EXECUTABLE} DIRECTORY) ++ GET_FILENAME_COMPONENT(PROTOBUF_DLL_DIR ${Protobuf_PROTOC_EXECUTABLE} DIRECTORY) + FILE(GLOB PROTOBUF_DLLS ${PROTOBUF_DLL_DIR}/*.dll) + FILE(COPY ${PROTOBUF_DLLS} DESTINATION ${CMAKE_BINARY_DIR}) + ENDIF (MSVC AND BUILD_SHARED_LIBS) +@@ -114,7 +113,7 @@ + + FUNCTION(GENERATE_TEST_SOURCES PROTO_FILE SRC HDR) + ADD_CUSTOM_COMMAND(OUTPUT ${SRC} ${HDR} +- COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ++ COMMAND ${Protobuf_PROTOC_EXECUTABLE} + ARGS --plugin=$ -I${MAIN_DIR} ${PROTO_FILE} --c_out=${CMAKE_BINARY_DIR} + DEPENDS protoc-gen-c) + ENDFUNCTION() +@@ -130,13 +129,13 @@ + + + ADD_CUSTOM_COMMAND(OUTPUT t/test-full.pb.cc t/test-full.pb.h +- COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ++ COMMAND ${Protobuf_PROTOC_EXECUTABLE} + ARGS --cpp_out ${CMAKE_BINARY_DIR} -I${MAIN_DIR} ${TEST_DIR}/test-full.proto) + + GENERATE_TEST_SOURCES(${TEST_DIR}/test-full.proto t/test-full.pb-c.c t/test-full.pb-c.h) + + ADD_EXECUTABLE(cxx-generate-packed-data ${TEST_DIR}/generated-code2/cxx-generate-packed-data.cc t/test-full.pb.h t/test-full.pb.cc protobuf-c/protobuf-c.pb.cc protobuf-c/protobuf-c.pb.h) +-TARGET_LINK_LIBRARIES(cxx-generate-packed-data ${PROTOBUF_LIBRARY}) ++TARGET_LINK_LIBRARIES(cxx-generate-packed-data protobuf::libprotobuf) + IF (MSVC AND BUILD_SHARED_LIBS) + TARGET_COMPILE_DEFINITIONS(cxx-generate-packed-data PRIVATE -DPROTOBUF_USE_DLLS) + ENDIF (MSVC AND BUILD_SHARED_LIBS) diff --git a/recipes/protobuf-c/all/protobuf-c.cmake b/recipes/protobuf-c/all/protobuf-c.cmake new file mode 100644 index 0000000000000..ad1143afc4edc --- /dev/null +++ b/recipes/protobuf-c/all/protobuf-c.cmake @@ -0,0 +1,72 @@ +find_package(Protobuf REQUIRED) +find_program(PROTOC_GEN_C protoc-gen-c REQUIRED) + +function(protobuf_generate_c SRCS HDRS) + cmake_parse_arguments(protobuf_generate_c "" "EXPORT_MACRO;DESCRIPTORS" "" + ${ARGN}) + + set(_proto_files "${protobuf_generate_c_UNPARSED_ARGUMENTS}") + if(NOT _proto_files) + message( + SEND_ERROR "Error: protobuf_generate_c() called without any proto files") + return() + endif() + + if(protobuf_generate_c_APPEND_PATH) + set(_append_arg APPEND_PATH) + endif() + + if(protobuf_generate_c_DESCRIPTORS) + set(_descriptors DESCRIPTORS) + endif() + + if(DEFINED Protobuf_IMPORT_DIRS) + set(_import_arg IMPORT_DIRS ${Protobuf_IMPORT_DIRS}) + endif() + + set(_outvar) + protobuf_generate( + ${_append_arg} + ${_descriptors} + LANGUAGE + c + PLUGIN + ${PROTOC_GEN_C} + GENERATE_EXTENSIONS + .pb-c.h + .pb-c.c + EXPORT_MACRO + ${protobuf_generate_c_EXPORT_MACRO} + OUT_VAR + _outvar + ${_import_arg} + PROTOS + ${_proto_files}) + + set(${SRCS}) + set(${HDRS}) + if(protobuf_generate_c_DESCRIPTORS) + set(${protobuf_generate_c_DESCRIPTORS}) + endif() + + foreach(_file ${_outvar}) + if(_file MATCHES "c$") + list(APPEND ${SRCS} ${_file}) + elseif(_file MATCHES "desc$") + list(APPEND ${protobuf_generate_c_DESCRIPTORS} ${_file}) + else() + list(APPEND ${HDRS} ${_file}) + endif() + endforeach() + set(${SRCS} + ${${SRCS}} + PARENT_SCOPE) + set(${HDRS} + ${${HDRS}} + PARENT_SCOPE) + if(protobuf_generate_c_DESCRIPTORS) + set(${protobuf_generate_c_DESCRIPTORS} + "${${protobuf_generate_c_DESCRIPTORS}}" + PARENT_SCOPE) + endif() +endfunction() diff --git a/recipes/protobuf-c/all/test_package/CMakeLists.txt b/recipes/protobuf-c/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..99e745b3cbd08 --- /dev/null +++ b/recipes/protobuf-c/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(protobuf-c CONFIG REQUIRED) + +protobuf_generate_c(TEST_PROTO_SRCS TEST_PROTO_HDRS hero.proto) + +add_executable(${PROJECT_NAME} test_package.c hero.proto ${TEST_PROTO_SRCS} ${TEST_PROTO_HDRS}) +target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +target_link_libraries(${PROJECT_NAME} protobuf-c::protobuf-c) diff --git a/recipes/protobuf-c/all/test_package/conanfile.py b/recipes/protobuf-c/all/test_package/conanfile.py new file mode 100644 index 0000000000000..979cebae5cc2b --- /dev/null +++ b/recipes/protobuf-c/all/test_package/conanfile.py @@ -0,0 +1,40 @@ +from conan import ConanFile +from conan.tools.build import can_run, cross_building +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + if cross_building(self) and hasattr(self, "settings_build"): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + VirtualRunEnv(self).generate() + if cross_building(self) and hasattr(self, "settings_build"): + VirtualBuildEnv(self).generate() + else: + VirtualRunEnv(self).generate(scope="build") + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + # We need to be able to call protoc (from protobuf) under the hood + self.run("protoc --version", env="conanbuild") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/protobuf-c/all/test_package/hero.proto b/recipes/protobuf-c/all/test_package/hero.proto new file mode 100644 index 0000000000000..5192fe660ef3c --- /dev/null +++ b/recipes/protobuf-c/all/test_package/hero.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package the; + +message Hero { + string name = 1; +} diff --git a/recipes/protobuf-c/all/test_package/test_package.c b/recipes/protobuf-c/all/test_package/test_package.c new file mode 100644 index 0000000000000..7e9da10a4d2c4 --- /dev/null +++ b/recipes/protobuf-c/all/test_package/test_package.c @@ -0,0 +1,13 @@ +#include + +#include "hero.pb-c.h" + +int main() +{ + The__Hero hero; + hero.name = "the_storyteller"; + + printf("The hero's name is %s.\n", hero.name); + + return 0; +} diff --git a/recipes/protobuf-c/config.yml b/recipes/protobuf-c/config.yml new file mode 100644 index 0000000000000..4709a2eb80f4c --- /dev/null +++ b/recipes/protobuf-c/config.yml @@ -0,0 +1,3 @@ +versions: + "1.4.1": + folder: all From 272adfdb29c2f06241e14eed56af04dc0e1bfe00 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Jun 2023 18:03:06 +0900 Subject: [PATCH 0658/4087] (#18067) minimp3: add version cci.20211201 --- recipes/minimp3/all/conandata.yml | 3 +++ recipes/minimp3/all/conanfile.py | 16 +++++++--------- recipes/minimp3/all/test_package/conanfile.py | 1 + recipes/minimp3/config.yml | 2 ++ 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/recipes/minimp3/all/conandata.yml b/recipes/minimp3/all/conandata.yml index f86679db763b3..f9521b04b54c6 100644 --- a/recipes/minimp3/all/conandata.yml +++ b/recipes/minimp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20211201": + url: "https://github.com/lieff/minimp3/archive/afb604c06bc8beb145fecd42c0ceb5bda8795144.zip" + sha256: "94f847efbb83349ed38dd05888e54bdd8dc6d7bbc3616efd4a1ac899a16bb82e" "20200304": url: "https://github.com/lieff/minimp3/archive/55da78cbeea5fb6757f8df672567714e1e8ca3e9.zip" sha256: "108074684c080a34f0d08f23a709128ea518d48651c8381bce91b73b29185479" diff --git a/recipes/minimp3/all/conanfile.py b/recipes/minimp3/all/conanfile.py index 6886956b3c461..b188314ed0522 100644 --- a/recipes/minimp3/all/conanfile.py +++ b/recipes/minimp3/all/conanfile.py @@ -10,21 +10,21 @@ class Minimp3Conan(ConanFile): name = "minimp3" description = "Minimalistic MP3 decoder single header library." license = "CC0-1.0" - topics = ("minimp3", "decoder", "mp3", "header-only") - homepage = "https://github.com/lieff/minimp3" + topics = ("decoder", "mp3", "header-only") url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/lieff/minimp3" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,6 +35,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/minimp3/all/test_package/conanfile.py b/recipes/minimp3/all/test_package/conanfile.py index d120a992c06a6..8a5bb47f50c4c 100644 --- a/recipes/minimp3/all/test_package/conanfile.py +++ b/recipes/minimp3/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/minimp3/config.yml b/recipes/minimp3/config.yml index d49b70495df47..242cda7011c1f 100644 --- a/recipes/minimp3/config.yml +++ b/recipes/minimp3/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20211201": + folder: all "20200304": folder: all "20200221": From a7bef34668d4585e7524ce9d497e77d12e902f16 Mon Sep 17 00:00:00 2001 From: Daniel Heater Date: Tue, 27 Jun 2023 04:22:07 -0500 Subject: [PATCH 0659/4087] (#18066) Add source code build for CMake 3.26.4 --- recipes/cmake/3.x.x/conandata.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/cmake/3.x.x/conandata.yml b/recipes/cmake/3.x.x/conandata.yml index 54adb8af58aa6..da33ab402ca26 100644 --- a/recipes/cmake/3.x.x/conandata.yml +++ b/recipes/cmake/3.x.x/conandata.yml @@ -20,3 +20,6 @@ sources: "3.25.2": url: "https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2.tar.gz" sha256: "c026f22cb931dd532f648f087d587f07a1843c6e66a3dfca4fb0ea21944ed33c" + "3.26.4": + url: "https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4.tar.gz" + sha256: "313b6880c291bd4fe31c0aa51d6e62659282a521e695f30d5cc0d25abbd5c208" From 71cabe49fe9f06adf2a62d7e2671f3862555870b Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Tue, 27 Jun 2023 10:41:51 +0100 Subject: [PATCH 0660/4087] (#18065) id3v2lib: Fix recipe class name. --- recipes/id3v2lib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/id3v2lib/all/conanfile.py b/recipes/id3v2lib/all/conanfile.py index 084cf1767bdcf..d920c95d34bde 100644 --- a/recipes/id3v2lib/all/conanfile.py +++ b/recipes/id3v2lib/all/conanfile.py @@ -8,7 +8,7 @@ required_conan_version = ">=1.53.0" -class LibwebmConan(ConanFile): +class Id3v2libConan(ConanFile): name = "id3v2lib" description = "id3v2lib is a library written in C to read and edit id3 tags from mp3 files." topics = ("conan", "id3", "tags", "mp3", "container", "media", "audio") From c22828699bc03aa68b13aaf4cd89c0bbdada43dc Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 27 Jun 2023 12:02:21 +0200 Subject: [PATCH 0661/4087] (#18051) libtiff: drop support for versions < 4.3.0 --- recipes/libtiff/all/conandata.yml | 44 -------- recipes/libtiff/all/conanfile.py | 44 ++------ .../4.0.8-0001-cmake-dependencies.patch | 38 ------- .../patches/4.0.8-0002-no-libm-mingw.patch | 13 --- .../4.0.8-0003-file-offsets-bits-mingw.patch | 11 -- .../4.1.0-0001-cmake-dependencies.patch | 85 --------------- .../patches/4.1.0-0002-no-libm-mingw.patch | 13 --- .../4.2.0-0001-cmake-dependencies.patch | 102 ------------------ recipes/libtiff/config.yml | 8 -- 9 files changed, 11 insertions(+), 347 deletions(-) delete mode 100644 recipes/libtiff/all/patches/4.0.8-0001-cmake-dependencies.patch delete mode 100644 recipes/libtiff/all/patches/4.0.8-0002-no-libm-mingw.patch delete mode 100644 recipes/libtiff/all/patches/4.0.8-0003-file-offsets-bits-mingw.patch delete mode 100644 recipes/libtiff/all/patches/4.1.0-0001-cmake-dependencies.patch delete mode 100644 recipes/libtiff/all/patches/4.1.0-0002-no-libm-mingw.patch delete mode 100644 recipes/libtiff/all/patches/4.2.0-0001-cmake-dependencies.patch diff --git a/recipes/libtiff/all/conandata.yml b/recipes/libtiff/all/conandata.yml index b4f27a72cabbe..cc7431489956e 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -11,18 +11,6 @@ sources: "4.3.0": url: "http://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" sha256: "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" - "4.2.0": - url: "http://download.osgeo.org/libtiff/tiff-4.2.0.tar.gz" - sha256: "eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb" - "4.1.0": - url: "http://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz" - sha256: "5d29f32517dadb6dbcd1255ea5bbc93a2b54b94fbf83653b4d65c7d6775b8634" - "4.0.9": - url: "http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz" - sha256: "6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd" - "4.0.8": - url: "http://download.osgeo.org/libtiff/tiff-4.0.8.tar.gz" - sha256: "59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910" patches: "4.5.1": - patch_file: "patches/4.5.1-0001-cmake-dependencies.patch" @@ -40,35 +28,3 @@ patches: - patch_file: "patches/4.3.0-0001-cmake-dependencies.patch" patch_description: "CMake: robust handling of dependencies" patch_type: "conan" - "4.2.0": - - patch_file: "patches/4.2.0-0001-cmake-dependencies.patch" - patch_description: "CMake: robust handling of dependencies" - patch_type: "conan" - "4.1.0": - - patch_file: "patches/4.1.0-0001-cmake-dependencies.patch" - patch_description: "CMake: robust handling of dependencies" - patch_type: "conan" - - patch_file: "patches/4.1.0-0002-no-libm-mingw.patch" - patch_description: "port to MINGW: Exclude libm from MINGW since math related functions are already included in libmsvcrt.a" - patch_type: "portability" - patch_source: "https://gitlab.com/libtiff/libtiff/-/merge_requests/73" - "4.0.9": - - patch_file: "patches/4.0.8-0001-cmake-dependencies.patch" - patch_description: "CMake: robust handling of dependencies" - patch_type: "conan" - - patch_file: "patches/4.0.8-0002-no-libm-mingw.patch" - patch_description: "port to MINGW: Exclude libm from MINGW since math related functions are already included in libmsvcrt.a" - patch_type: "portability" - patch_source: "https://gitlab.com/libtiff/libtiff/-/merge_requests/73" - "4.0.8": - - patch_file: "patches/4.0.8-0001-cmake-dependencies.patch" - patch_description: "CMake: robust handling of dependencies" - patch_type: "conan" - - patch_file: "patches/4.0.8-0002-no-libm-mingw.patch" - patch_description: "port to MINGW: Exclude libm from MINGW since math related functions are already included in libmsvcrt.a" - patch_type: "portability" - patch_source: "https://gitlab.com/libtiff/libtiff/-/merge_requests/73" - - patch_file: "patches/4.0.8-0003-file-offsets-bits-mingw.patch" - patch_description: "port to MINGW: enable Large file support by defining _FILE_OFFSET_BITS=64" - patch_type: "portability" - patch_source: "https://gitlab.com/libtiff/libtiff/-/commit/f2a3b020402943f90957552a884788e70ece6cd7" diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 4c8c774a41b8a..f44b1722f8755 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -44,30 +44,12 @@ class LibtiffConan(ConanFile): "cxx": True, } - @property - def _has_webp_option(self): - return Version(self.version) >= "4.0.10" - - @property - def _has_zstd_option(self): - return Version(self.version) >= "4.0.10" - - @property - def _has_libdeflate_option(self): - return Version(self.version) >= "4.2.0" - def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._has_webp_option: - del self.options.webp - if not self._has_zstd_option: - del self.options.zstd - if not self._has_libdeflate_option: - del self.options.libdeflate def configure(self): if self.options.shared: @@ -82,7 +64,7 @@ def layout(self): def requirements(self): if self.options.zlib: self.requires("zlib/1.2.13") - if self.options.get_safe("libdeflate"): + if self.options.libdeflate: self.requires("libdeflate/1.18") if self.options.lzma: self.requires("xz_utils/5.4.2") @@ -94,13 +76,13 @@ def requirements(self): self.requires("mozjpeg/4.1.1") if self.options.jbig: self.requires("jbig/20160605") - if self.options.get_safe("zstd"): + if self.options.zstd: self.requires("zstd/1.5.5") - if self.options.get_safe("webp"): + if self.options.webp: self.requires("libwebp/1.3.0") def validate(self): - if self.options.get_safe("libdeflate") and not self.options.zlib: + if self.options.libdeflate and not self.options.zlib: raise ConanInvalidConfiguration("libtiff:libdeflate=True requires libtiff:zlib=True") def build_requirements(self): @@ -118,14 +100,10 @@ def generate(self): tc.variables["jpeg12"] = False tc.variables["jbig"] = self.options.jbig tc.variables["zlib"] = self.options.zlib - if self._has_libdeflate_option: - tc.variables["libdeflate"] = self.options.libdeflate - if self._has_zstd_option: - tc.variables["zstd"] = self.options.zstd - if self._has_webp_option: - tc.variables["webp"] = self.options.webp - if Version(self.version) >= "4.3.0": - tc.variables["lerc"] = False # TODO: add lerc support for libtiff versions >= 4.3.0 + tc.variables["libdeflate"] = self.options.libdeflate + tc.variables["zstd"] = self.options.zstd + tc.variables["webp"] = self.options.webp + tc.variables["lerc"] = False # TODO: add lerc support for libtiff versions >= 4.3.0 if Version(self.version) >= "4.5.0": # Disable tools, test, contrib, man & html generation tc.variables["tiff-tools"] = False @@ -192,7 +170,7 @@ def package_info(self): self.cpp_info.requires = [] if self.options.zlib: self.cpp_info.requires.append("zlib::zlib") - if self.options.get_safe("libdeflate"): + if self.options.libdeflate: self.cpp_info.requires.append("libdeflate::libdeflate") if self.options.lzma: self.cpp_info.requires.append("xz_utils::xz_utils") @@ -204,9 +182,9 @@ def package_info(self): self.cpp_info.requires.append("mozjpeg::libjpeg") if self.options.jbig: self.cpp_info.requires.append("jbig::jbig") - if self.options.get_safe("zstd"): + if self.options.zstd: self.cpp_info.requires.append("zstd::zstd") - if self.options.get_safe("webp"): + if self.options.webp: self.cpp_info.requires.append("libwebp::libwebp") # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed diff --git a/recipes/libtiff/all/patches/4.0.8-0001-cmake-dependencies.patch b/recipes/libtiff/all/patches/4.0.8-0001-cmake-dependencies.patch deleted file mode 100644 index 7b7979045b5a1..0000000000000 --- a/recipes/libtiff/all/patches/4.0.8-0001-cmake-dependencies.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -544,12 +544,10 @@ endif() - option(jbig "use ISO JBIG compression (requires JBIT-KIT library)" ON) - if (jbig) - set(JBIG_FOUND 0) -- find_path(JBIG_INCLUDE_DIR jbig.h) -- set(JBIG_NAMES ${JBIG_NAMES} jbig libjbig) -- find_library(JBIG_LIBRARY NAMES ${JBIG_NAMES}) -- if (JBIG_INCLUDE_DIR AND JBIG_LIBRARY) -+ find_package(jbig REQUIRED CONFIG) -+ if (1) - set(JBIG_FOUND 1) -- set(JBIG_LIBRARIES ${JBIG_LIBRARY}) -+ set(JBIG_LIBRARIES jbig::jbig) - endif() - endif() - set(JBIG_SUPPORT 0) -@@ -564,7 +562,7 @@ set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES}) - set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIR}) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${JBIG_LIBRARY}) --check_function_exists(jbg_newlen HAVE_JBG_NEWLEN) -+set(HAVE_JBG_NEWLEN TRUE) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE}) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) - -@@ -701,8 +699,8 @@ endif() - if(ZLIB_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${ZLIB_LIBRARIES}) - endif() --if(JPEG_LIBRARIES) -- list(APPEND TIFF_LIBRARY_DEPS ${JPEG_LIBRARIES}) -+if(JPEG_FOUND) -+ list(APPEND TIFF_LIBRARY_DEPS JPEG::JPEG) - endif() - if(JPEG12_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${JPEG12_LIBRARIES}) diff --git a/recipes/libtiff/all/patches/4.0.8-0002-no-libm-mingw.patch b/recipes/libtiff/all/patches/4.0.8-0002-no-libm-mingw.patch deleted file mode 100644 index 216911511380b..0000000000000 --- a/recipes/libtiff/all/patches/4.0.8-0002-no-libm-mingw.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -206,7 +206,9 @@ else() - endif() - - # Find libm, if available --find_library(M_LIBRARY m) -+if (NOT MINGW) -+ find_library(M_LIBRARY m) -+endif() - - check_include_file(assert.h HAVE_ASSERT_H) - check_include_file(dlfcn.h HAVE_DLFCN_H) diff --git a/recipes/libtiff/all/patches/4.0.8-0003-file-offsets-bits-mingw.patch b/recipes/libtiff/all/patches/4.0.8-0003-file-offsets-bits-mingw.patch deleted file mode 100644 index 44a861121db9c..0000000000000 --- a/recipes/libtiff/all/patches/4.0.8-0003-file-offsets-bits-mingw.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -469,7 +469,7 @@ report_values(CMAKE_HOST_SYSTEM_PROCESSOR HOST_FILLORDER - HOST_BIG_ENDIAN HAVE_IEEEFP) - - # Large file support --if (UNIX) -+if (UNIX OR MINGW) - # This might not catch every possibility catered for by - # AC_SYS_LARGEFILE. - add_definitions(-D_FILE_OFFSET_BITS=64) diff --git a/recipes/libtiff/all/patches/4.1.0-0001-cmake-dependencies.patch b/recipes/libtiff/all/patches/4.1.0-0001-cmake-dependencies.patch deleted file mode 100644 index b8a3ec4a4b033..0000000000000 --- a/recipes/libtiff/all/patches/4.1.0-0001-cmake-dependencies.patch +++ /dev/null @@ -1,85 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -489,12 +489,10 @@ endif() - option(jbig "use ISO JBIG compression (requires JBIT-KIT library)" ON) - if (jbig) - set(JBIG_FOUND 0) -- find_path(JBIG_INCLUDE_DIR jbig.h) -- set(JBIG_NAMES ${JBIG_NAMES} jbig libjbig) -- find_library(JBIG_LIBRARY NAMES ${JBIG_NAMES}) -- if (JBIG_INCLUDE_DIR AND JBIG_LIBRARY) -+ find_package(jbig REQUIRED CONFIG) -+ if (1) - set(JBIG_FOUND 1) -- set(JBIG_LIBRARIES ${JBIG_LIBRARY}) -+ set(JBIG_LIBRARIES jbig::jbig) - endif() - endif() - set(JBIG_SUPPORT 0) -@@ -507,7 +505,7 @@ endif() - - set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIR}) --check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN) -+set(HAVE_JBG_NEWLEN TRUE) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) - - # liblzma2 -@@ -523,13 +521,11 @@ endif() - # libzstd - option(zstd "use libzstd (required for ZSTD compression)" ON) - if (zstd) -- find_path(ZSTD_INCLUDE_DIR zstd.h) -- find_library(ZSTD_LIBRARY NAMES zstd) -- if (ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY) -- check_library_exists ("${ZSTD_LIBRARY}" ZSTD_decompressStream "" ZSTD_RECENT_ENOUGH) -+ find_package(zstd REQUIRED CONFIG) -+ if (1) -+ set(ZSTD_RECENT_ENOUGH TRUE) - if (ZSTD_RECENT_ENOUGH) - set(ZSTD_FOUND TRUE) -- set(ZSTD_LIBRARIES ${ZSTD_LIBRARY}) - message(STATUS "Found ZSTD library: ${ZSTD_LIBRARY}") - else () - message(WARNING "Found ZSTD library, but not recent enough. Use zstd >= 1.0") -@@ -544,15 +540,13 @@ endif() - # libwebp - option(webp "use libwebp (required for WEBP compression)" ON) - if (webp) -- find_path(WEBP_INCLUDE_DIR /webp/decode.h) -- find_library(WEBP_LIBRARY NAMES webp) -+ find_package(WebP REQUIRED CONFIG) - endif() - set(WEBP_SUPPORT 0) --set(WEBP_FOUND FALSE) --if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY) -+if (WebP_FOUND) - set(WEBP_SUPPORT 1) - set(WEBP_FOUND TRUE) -- set(WEBP_LIBRARIES ${WEBP_LIBRARY}) -+ set(WEBP_LIBRARIES WebP::webp) - message(STATUS "Found WEBP library: ${WEBP_LIBRARY}") - endif() - -@@ -681,8 +675,8 @@ endif() - if(ZLIB_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${ZLIB_LIBRARIES}) - endif() --if(JPEG_LIBRARIES) -- list(APPEND TIFF_LIBRARY_DEPS ${JPEG_LIBRARIES}) -+if(JPEG_FOUND) -+ list(APPEND TIFF_LIBRARY_DEPS JPEG::JPEG) - endif() - if(JPEG12_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${JPEG12_LIBRARIES}) -@@ -693,8 +687,8 @@ endif() - if(LIBLZMA_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${LIBLZMA_LIBRARIES}) - endif() --if(ZSTD_LIBRARIES) -- list(APPEND TIFF_LIBRARY_DEPS ${ZSTD_LIBRARIES}) -+if(ZSTD_FOUND) -+ list(APPEND TIFF_LIBRARY_DEPS $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - if(WEBP_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${WEBP_LIBRARIES}) diff --git a/recipes/libtiff/all/patches/4.1.0-0002-no-libm-mingw.patch b/recipes/libtiff/all/patches/4.1.0-0002-no-libm-mingw.patch deleted file mode 100644 index 0fcf8f5711810..0000000000000 --- a/recipes/libtiff/all/patches/4.1.0-0002-no-libm-mingw.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -207,7 +207,9 @@ else() - endif() - - # Find libm, if available --find_library(M_LIBRARY m) -+if (NOT MINGW) -+ find_library(M_LIBRARY m) -+endif() - - check_include_file(assert.h HAVE_ASSERT_H) - check_include_file(dlfcn.h HAVE_DLFCN_H) diff --git a/recipes/libtiff/all/patches/4.2.0-0001-cmake-dependencies.patch b/recipes/libtiff/all/patches/4.2.0-0001-cmake-dependencies.patch deleted file mode 100644 index 7b04f533eb0f4..0000000000000 --- a/recipes/libtiff/all/patches/4.2.0-0001-cmake-dependencies.patch +++ /dev/null @@ -1,102 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -463,12 +463,10 @@ set(ZIP_SUPPORT ${ZLIB_SUPPORT}) - option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ON) - if (libdeflate) - set(DEFLATE_FOUND 0) -- find_path(DEFLATE_INCLUDE_DIR libdeflate.h) -- set(DEFLATE_NAMES ${DEFLATE_NAMES} deflate) -- find_library(DEFLATE_LIBRARY NAMES ${DEFLATE_NAMES}) -- if (DEFLATE_INCLUDE_DIR AND DEFLATE_LIBRARY) -+ find_package(libdeflate REQUIRED CONFIG) -+ if (1) - set(DEFLATE_FOUND 1) -- set(DEFLATE_LIBRARIES ${DEFLATE_LIBRARY}) -+ set(DEFLATE_LIBRARIES $,libdeflate::libdeflate,libdeflate::libdeflate_static>) - endif() - endif() - set(LIBDEFLATE_SUPPORT FALSE) -@@ -517,12 +515,10 @@ endif() - option(jbig "use ISO JBIG compression (requires JBIT-KIT library)" ON) - if (jbig) - set(JBIG_FOUND 0) -- find_path(JBIG_INCLUDE_DIR jbig.h) -- set(JBIG_NAMES ${JBIG_NAMES} jbig libjbig) -- find_library(JBIG_LIBRARY NAMES ${JBIG_NAMES}) -- if (JBIG_INCLUDE_DIR AND JBIG_LIBRARY) -+ find_package(jbig REQUIRED CONFIG) -+ if (1) - set(JBIG_FOUND 1) -- set(JBIG_LIBRARIES ${JBIG_LIBRARY}) -+ set(JBIG_LIBRARIES jbig::jbig) - endif() - endif() - set(JBIG_SUPPORT 0) -@@ -535,7 +531,7 @@ endif() - - set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIR}) --check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN) -+set(HAVE_JBG_NEWLEN TRUE) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) - - # liblzma2 -@@ -551,14 +547,11 @@ endif() - # libzstd - option(zstd "use libzstd (required for ZSTD compression)" ON) - if (zstd) -- find_path(ZSTD_INCLUDE_DIR zstd.h) -- find_library(ZSTD_LIBRARY NAMES zstd) -- if (ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY) -- check_library_exists ("${ZSTD_LIBRARY}" ZSTD_decompressStream "" ZSTD_RECENT_ENOUGH) -+ find_package(zstd REQUIRED CONFIG) -+ if (1) -+ set(ZSTD_RECENT_ENOUGH TRUE) - if (ZSTD_RECENT_ENOUGH) - set(ZSTD_FOUND TRUE) -- set(ZSTD_LIBRARIES ${ZSTD_LIBRARY}) -- message(STATUS "Found ZSTD library: ${ZSTD_LIBRARY}") - else () - message(WARNING "Found ZSTD library, but not recent enough. Use zstd >= 1.0") - endif () -@@ -572,15 +565,13 @@ endif() - # libwebp - option(webp "use libwebp (required for WEBP compression)" ON) - if (webp) -- find_path(WEBP_INCLUDE_DIR /webp/decode.h) -- find_library(WEBP_LIBRARY NAMES webp) -+ find_package(WebP REQUIRED CONFIG) - endif() - set(WEBP_SUPPORT 0) --set(WEBP_FOUND FALSE) --if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY) -+if (WebP_FOUND) - set(WEBP_SUPPORT 1) - set(WEBP_FOUND TRUE) -- set(WEBP_LIBRARIES ${WEBP_LIBRARY}) -+ set(WEBP_LIBRARIES WebP::webp) - message(STATUS "Found WEBP library: ${WEBP_LIBRARY}") - endif() - -@@ -715,8 +706,8 @@ endif() - if(DEFLATE_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${DEFLATE_LIBRARIES}) - endif() --if(JPEG_LIBRARIES) -- list(APPEND TIFF_LIBRARY_DEPS ${JPEG_LIBRARIES}) -+if(JPEG_FOUND) -+ list(APPEND TIFF_LIBRARY_DEPS JPEG::JPEG) - endif() - if(JPEG12_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${JPEG12_LIBRARIES}) -@@ -727,8 +718,8 @@ endif() - if(LIBLZMA_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${LIBLZMA_LIBRARIES}) - endif() --if(ZSTD_LIBRARIES) -- list(APPEND TIFF_LIBRARY_DEPS ${ZSTD_LIBRARIES}) -+if(ZSTD_FOUND) -+ list(APPEND TIFF_LIBRARY_DEPS $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - if(WEBP_LIBRARIES) - list(APPEND TIFF_LIBRARY_DEPS ${WEBP_LIBRARIES}) diff --git a/recipes/libtiff/config.yml b/recipes/libtiff/config.yml index fca646b364eb1..961a315dc8eb6 100644 --- a/recipes/libtiff/config.yml +++ b/recipes/libtiff/config.yml @@ -7,11 +7,3 @@ versions: folder: all "4.3.0": folder: all - "4.2.0": - folder: all - "4.1.0": - folder: all - "4.0.9": - folder: all - "4.0.8": - folder: all From 5f37eee93c88195eacbb7a15e17a4ba17421316d Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Tue, 27 Jun 2023 13:22:16 +0300 Subject: [PATCH 0662/4087] (#18020) entt: add version 3.12.2 * entt: add version 3.12.1 * Remove older versions Add cpp_info.names back * Update to 3.12.2 --- recipes/entt/3.x.x/conandata.yml | 60 ++----------------- .../patches/0002-3.12.1-fix-gcc-7.0-7.3.patch | 20 +++++++ recipes/entt/config.yml | 36 +---------- 3 files changed, 28 insertions(+), 88 deletions(-) create mode 100644 recipes/entt/3.x.x/patches/0002-3.12.1-fix-gcc-7.0-7.3.patch diff --git a/recipes/entt/3.x.x/conandata.yml b/recipes/entt/3.x.x/conandata.yml index b55145bf44224..24bd7f949e5dc 100644 --- a/recipes/entt/3.x.x/conandata.yml +++ b/recipes/entt/3.x.x/conandata.yml @@ -1,67 +1,19 @@ sources: + "3.12.2": + url: "https://github.com/skypjack/entt/archive/refs/tags/v3.12.2.tar.gz" + sha256: "3F3E43988218DAECC0530CCAF45E960F7F7416E1FCF2C69799160C18B6A2FEE3" "3.11.1": url: "https://github.com/skypjack/entt/archive/refs/tags/v3.11.1.tar.gz" sha256: "0ac010f232d3089200c5e545bcbd6480cf68b705de6930d8ff7cdb0a29f5b47b" - "3.11.0": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.11.0.tar.gz" - sha256: "7cca2bd4d4aeef6c5bdbe06b9e047e7f2519ebaff901207cc81ac71a2bbe185e" "3.10.3": url: "https://github.com/skypjack/entt/archive/refs/tags/v3.10.3.tar.gz" sha256: "315918fc678e89a326ce1c13b0e9d3e53882dd9c58a63fef413325917a5c753b" - "3.10.1": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.10.1.tar.gz" - sha256: "f7031545130bfc06f5fe6b2f8c87dcbd4c1254fab86657e2788b70dfeea57965" - "3.10.0": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.10.0.tar.gz" - sha256: "4c716cebf4f2964824da158dd58cc81d9f1e056a083538e22fb03ae2d64805ee" - "3.9.0": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.9.0.tar.gz" - sha256: "1b06f1f6627c3702486855877bdeab6885f5d821d3dd78862126d4308c627c23" - "3.8.1": - url: "https://github.com/skypjack/entt/archive/v3.8.1.tar.gz" - sha256: "a2b767f06bca67a73a4d71fb9ebb6ed823bb5146faad3c282b9dbbbdae1aa01b" - "3.8.0": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.8.0.tar.gz" - sha256: "71c8ff5a604e8e214571a8b2218dfeaf61be59e2fe2ff5b550b4810c37d4da3c" - "3.7.1": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.7.1.tar.gz" - sha256: "fe3ce773c17797c0c57ffa97f73902854fcc8e7afc7e09bea373e0c64fa24a23" - "3.7.0": - url: "https://github.com/skypjack/entt/archive/refs/tags/v3.7.0.tar.gz" - sha256: "39ad5c42acf3434f8c37e0baa18a8cb562c0845383a6b4da17fdbacc9f0a7695" - "3.6.0": - url: "https://github.com/skypjack/entt/archive/v3.6.0.tar.gz" - sha256: "94b7dc874acd0961cfc28cf6b0342eeb0b7c58250ddde8bdc6c101e84b74c190" - "3.5.2": - url: "https://github.com/skypjack/entt/archive/v3.5.2.tar.gz" - sha256: "f9271293c44518386c402c9a2188627819748f66302df48af4f6d08e30661036" - "3.5.1": - url: "https://github.com/skypjack/entt/archive/v3.5.1.tar.gz" - sha256: "f442ece6881ec24863e7f0fbdc4bf641e01b0f87955f49dc4687b2fa564e9c83" - "3.5.0": - url: "https://github.com/skypjack/entt/archive/v3.5.0.tar.gz" - sha256: "89cba5ddf90bcec0dcf8d9554d9acf5ad86f5ce305e3acacf795007ee65c93f8" - "3.4.0": - url: "https://github.com/skypjack/entt/archive/v3.4.0.tar.gz" - sha256: "07086b8c5b1d84a1b76b39b0ce257c36c4f1521b77e664368b3d5ca7c00264e2" - "3.3.2": - url: "https://github.com/skypjack/entt/archive/v3.3.2.tar.gz" - sha256: "150cd89b45bffbcd7643d39bbce282e8fa38307bb5ed25567b79e337376ba1c7" - "3.3.1": - url: "https://github.com/skypjack/entt/archive/v3.3.1.tar.gz" - sha256: "432f31a80fb0463960dfd36e103c206dd67f1bfa91fc48408594c28aa790a3f5" - "3.3.0": - url: "https://github.com/skypjack/entt/archive/v3.3.0.tar.gz" - sha256: "d21a45df4960adc86a8f23a8c3c0cea6d2cecc4ef6946a8040e336d8e5266ab3" - "3.2.2": - url: "https://github.com/skypjack/entt/archive/v3.2.2.tar.gz" - sha256: "94592270b6750dd0b057a4af9d2c1ea8798369b3bb127927a8f70db232808f93" patches: - "3.11.1": - - patch_file: "patches/0001-3.11.0-fix-gcc-7.0-7.3.patch" + "3.12.2": + - patch_file: "patches/0002-3.12.1-fix-gcc-7.0-7.3.patch" patch_description: "Fix GCC 7.0 to 7.3" patch_type: "portability" - "3.11.0": + "3.11.1": - patch_file: "patches/0001-3.11.0-fix-gcc-7.0-7.3.patch" patch_description: "Fix GCC 7.0 to 7.3" patch_type: "portability" diff --git a/recipes/entt/3.x.x/patches/0002-3.12.1-fix-gcc-7.0-7.3.patch b/recipes/entt/3.x.x/patches/0002-3.12.1-fix-gcc-7.0-7.3.patch new file mode 100644 index 0000000000000..d3cb85f5fbcc6 --- /dev/null +++ b/recipes/entt/3.x.x/patches/0002-3.12.1-fix-gcc-7.0-7.3.patch @@ -0,0 +1,20 @@ +--- a/src/entt/meta/meta.hpp ++++ b/src/entt/meta/meta.hpp +@@ -1688,7 +1688,7 @@ public: + using reference = value_type; + using iterator_category = std::input_iterator_tag; + +- constexpr meta_iterator() noexcept ++ meta_iterator() noexcept + : ctx{}, + vtable{}, + handle{} {} +@@ -1782,7 +1782,7 @@ public: + using reference = value_type; + using iterator_category = std::input_iterator_tag; + +- constexpr meta_iterator() noexcept ++ meta_iterator() noexcept + : ctx{}, + vtable{}, + handle{} {} diff --git a/recipes/entt/config.yml b/recipes/entt/config.yml index 0000b93d983f2..3eaedc6257e18 100644 --- a/recipes/entt/config.yml +++ b/recipes/entt/config.yml @@ -1,39 +1,7 @@ versions: - "3.11.1": + "3.12.2": folder: 3.x.x - "3.11.0": + "3.11.1": folder: 3.x.x "3.10.3": folder: 3.x.x - "3.10.1": - folder: 3.x.x - "3.10.0": - folder: 3.x.x - "3.9.0": - folder: 3.x.x - "3.8.1": - folder: 3.x.x - "3.8.0": - folder: 3.x.x - "3.7.1": - folder: 3.x.x - "3.7.0": - folder: 3.x.x - "3.6.0": - folder: 3.x.x - "3.5.2": - folder: 3.x.x - "3.5.1": - folder: 3.x.x - "3.5.0": - folder: 3.x.x - "3.4.0": - folder: 3.x.x - "3.3.2": - folder: 3.x.x - "3.3.1": - folder: 3.x.x - "3.3.0": - folder: 3.x.x - "3.2.2": - folder: 3.x.x From c8b65a5d19545673e4d4a9efd788a0557bf5b263 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 27 Jun 2023 12:42:29 +0200 Subject: [PATCH 0663/4087] (#18075) [sentry-crashpad] Update to 0.6.4 * [sentry-crashpad] Update to 0.6.4 * Modify sentry-crashpad config.yml instead of sentry-breakpad config.yml --- recipes/sentry-crashpad/all/conandata.yml | 6 +++--- recipes/sentry-crashpad/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-crashpad/all/conandata.yml b/recipes/sentry-crashpad/all/conandata.yml index 059f423b2eba7..17d89711effcc 100644 --- a/recipes/sentry-crashpad/all/conandata.yml +++ b/recipes/sentry-crashpad/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.4": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" + sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.6.3": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.6.2": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" - "0.6.1": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" - sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-crashpad/config.yml b/recipes/sentry-crashpad/config.yml index 205b96ca25c22..fb99bc2eb64b8 100644 --- a/recipes/sentry-crashpad/config.yml +++ b/recipes/sentry-crashpad/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.4": + folder: all "0.6.3": folder: all "0.6.2": folder: all - "0.6.1": - folder: all "0.5.4": folder: all "0.4.18": From 0fabf127f10b29ce923766f29f48b488c1db2ec6 Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Tue, 27 Jun 2023 13:02:52 +0200 Subject: [PATCH 0664/4087] (#17573) metis: add support for conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add support for conan v2 * Fix typo referencing new option * Change from build_requires to tool_requires * Update recipe after review suggestions * Pick some memory bugfix patches - This ensures successful 32bit test_package builds --------- Co-authored-by: Francisco Ramírez --- recipes/metis/all/CMakeLists.txt | 10 - recipes/metis/all/conandata.yml | 26 +- recipes/metis/all/conanfile.py | 88 +-- .../all/patches/004-use-conan-gklib.patch | 2 +- .../006-require-newer-cmakelists.patch | 22 + ...-fix-memory-bug-same-size-coarsening.patch | 721 ++++++++++++++++++ .../008-fix-memory-bug-coarsening.patch | 470 ++++++++++++ recipes/metis/all/test_package/CMakeLists.txt | 3 - recipes/metis/all/test_package/conanfile.py | 27 +- .../metis/all/test_v1_package/CMakeLists.txt | 8 + .../metis/all/test_v1_package/conanfile.py | 18 + 11 files changed, 1316 insertions(+), 79 deletions(-) delete mode 100644 recipes/metis/all/CMakeLists.txt create mode 100644 recipes/metis/all/patches/006-require-newer-cmakelists.patch create mode 100644 recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch create mode 100644 recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch create mode 100644 recipes/metis/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/metis/all/test_v1_package/conanfile.py diff --git a/recipes/metis/all/CMakeLists.txt b/recipes/metis/all/CMakeLists.txt deleted file mode 100644 index 15cbde395086d..0000000000000 --- a/recipes/metis/all/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper LANGUAGES C) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -set(GKLIB_PATH "${CMAKE_CURRENT_LIST_DIR}/source_subfolder/GKlib" CACHE PATH "") - -add_subdirectory(source_subfolder) diff --git a/recipes/metis/all/conandata.yml b/recipes/metis/all/conandata.yml index 396a06387b94f..b58bdca27dce2 100644 --- a/recipes/metis/all/conandata.yml +++ b/recipes/metis/all/conandata.yml @@ -5,12 +5,28 @@ sources: patches: "5.1.1": - patch_file: "patches/001-add-gklib-system-cmake.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Add gklib system cmake" - patch_file: "patches/002-support-pure-cmake.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Support pure CMake" - patch_file: "patches/003-remove-programs.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Remove building of programs" - patch_file: "patches/004-use-conan-gklib.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Use conan gklib" - patch_file: "patches/005-fix-install.patch" - base_path: "source_subfolder" + patch_type: "conan" + patch_description: "Fix runtime install" + - patch_file: "patches/006-require-newer-cmakelists.patch" + patch_type: "conan" + patch_description: "Require newer CMakeLists" + - patch_file: "patches/007-fix-memory-bug-same-size-coarsening.patch" + patch_type: "bugfix" + patch_source: "https://github.com/KarypisLab/METIS/commit/36262adecaa9720a4417a67124428061c367fd3f" + patch_description: "Fix memory bug when coarser graph stays the same" + - patch_file: "patches/008-fix-memory-bug-coarsening.patch" + patch_type: "bugfix" + patch_source: "https://github.com/KarypisLab/METIS/commit/38a8fb0fd1cdde963b04997c7be844028602793a" + patch_description: "Fix memory bug when coarsening" diff --git a/recipes/metis/all/conanfile.py b/recipes/metis/all/conanfile.py index 7e077e7ea6112..3877d7ef5d8e7 100644 --- a/recipes/metis/all/conanfile.py +++ b/recipes/metis/all/conanfile.py @@ -1,9 +1,11 @@ -from conans import ConanFile, CMake, tools -from conan.tools.files import apply_conandata_patches -import os +from os import path +from conan import ConanFile +from conan.tools.microsoft import is_msvc +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class METISConan(ConanFile): name = "metis" @@ -14,38 +16,25 @@ class METISConan(ConanFile): " partitioning finite element meshes, and producing" \ " fill reducing orderings for sparse matrices" topics = ("karypislab", "graph", "partitioning-algorithms") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], + "with_64bit_types": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_64bit_types": True, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] @property def _is_mingw(self): return self.settings.os == "Windows" and self.settings.compiler == "gcc" 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": @@ -53,49 +42,52 @@ 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("gklib/5.1.1") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - apply_conandata_patches(self) - - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - self._cmake.definitions["SHARED"] = self.options.shared - self._cmake.definitions["METIS_INSTALL"] = True - self._cmake.definitions["ASSERT"] = self.settings.build_type == "Debug" - self._cmake.definitions["ASSERT2"] = self.settings.build_type == "Debug" - self._cmake.definitions["METIS_IDX64"] = True - self._cmake.definitions["METIS_REAL64"] = True - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.variables["SHARED"] = self.options.shared + tc.variables["METIS_INSTALL"] = True + tc.variables["ASSERT"] = self.settings.build_type == "Debug" + tc.variables["ASSERT2"] = self.settings.build_type == "Debug" + tc.variables["METIS_IDX64"] = self.options.with_64bit_types + tc.variables["METIS_REAL64"] = self.options.with_64bit_types + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + copy(self, pattern="LICENSE", src=self.source_folder, dst=path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") def package_info(self): self.cpp_info.libs = ["metis"] self.cpp_info.requires.append("gklib::gklib") + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - if self._is_msvc or self._is_mingw: + if is_msvc(self) or self._is_mingw: self.cpp_info.defines.append("USE_GKREGEX") - if self._is_msvc: + if is_msvc(self): self.cpp_info.defines.append("__thread=__declspec(thread)") diff --git a/recipes/metis/all/patches/004-use-conan-gklib.patch b/recipes/metis/all/patches/004-use-conan-gklib.patch index 60a824f3c58d1..e4a4869c0f7e8 100644 --- a/recipes/metis/all/patches/004-use-conan-gklib.patch +++ b/recipes/metis/all/patches/004-use-conan-gklib.patch @@ -7,7 +7,7 @@ find gklib from conan # Build libmetis. -add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) +add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources}) -+find_package(gklib REQUIRED) ++find_package(gklib CONFIG REQUIRED) +target_link_libraries(metis PRIVATE gklib::gklib) if(UNIX) - target_link_libraries(metis m) diff --git a/recipes/metis/all/patches/006-require-newer-cmakelists.patch b/recipes/metis/all/patches/006-require-newer-cmakelists.patch new file mode 100644 index 0000000000000..30d57e079922a --- /dev/null +++ b/recipes/metis/all/patches/006-require-newer-cmakelists.patch @@ -0,0 +1,22 @@ +From d9370febe8aa0e533d15604532f75fc355731283 Mon Sep 17 00:00:00 2001 +From: Joakim Haugen +Date: Mon, 15 May 2023 13:24:33 +0200 +Subject: [PATCH] Require newer CMakeLists + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9630af8..39e33fe 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.4) + project(METIS C) + + set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/GKlib" CACHE PATH "path to GKlib") +-- +2.30.2 + diff --git a/recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch b/recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch new file mode 100644 index 0000000000000..443f47179f6da --- /dev/null +++ b/recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch @@ -0,0 +1,721 @@ +From 36262adecaa9720a4417a67124428061c367fd3f Mon Sep 17 00:00:00 2001 +From: George Karypis +Date: Fri, 27 Nov 2020 23:17:52 +0000 +Subject: [PATCH] fixed a memory bug that appears when the coarser graph stayed + the same size as the original graph + +--- + libmetis/coarsen.c | 551 ++------------------------------------------- + libmetis/kmetis.c | 5 +- + libmetis/pmetis.c | 4 + + 3 files changed, 30 insertions(+), 530 deletions(-) + +diff --git a/libmetis/coarsen.c b/libmetis/coarsen.c +index 447fc43..a804dc8 100644 +--- a/libmetis/coarsen.c ++++ b/libmetis/coarsen.c +@@ -818,516 +818,6 @@ void PrintCGraphStats(ctrl_t *ctrl, graph_t *graph) + } + + +-/*************************************************************************/ +-/*! This function creates the coarser graph. It uses a simple hash-table +- for identifying the adjacent vertices that get collapsed to the same +- node. The hash-table can have conflicts, which are handled via a +- linear scan. +- */ +-/*************************************************************************/ +-void CreateCoarseGraph0(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match) +-{ +- idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, cnedges, v, u; +- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; +- idx_t *cmap, *htable; +- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; +- graph_t *cgraph; +- int mask, dovsize, dropedges; +- idx_t cv, nkeep, droppedewgt; +- idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; +- +- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); +- dropedges = ctrl->dropedges; +- +- /* Check if the mask-version of the code is a good choice */ +- mask = HTLENGTH; +- if (cnvtxs < 2*mask || graph->nedges/graph->nvtxs > mask/20) { +- CreateCoarseGraphNoMask(ctrl, graph, cnvtxs, match); +- return; +- } +- +- nvtxs = graph->nvtxs; +- xadj = graph->xadj; +- for (v=0; v (mask>>3)) { +- CreateCoarseGraphNoMask(ctrl, graph, cnvtxs, match); +- return; +- } +- } +- +- +- WCOREPUSH; +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); +- +- ncon = graph->ncon; +- vwgt = graph->vwgt; +- vsize = graph->vsize; +- adjncy = graph->adjncy; +- adjwgt = graph->adjwgt; +- cmap = graph->cmap; +- +- /* Setup structures for dropedges */ +- if (dropedges) { +- for (nkeep=-1, v=0; vxadj; +- cvwgt = cgraph->vwgt; +- cvsize = cgraph->vsize; +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); +- +- cxadj[0] = cnvtxs = cnedges = 0; +- for (v=0; v= 0 && cadjncy[jj] != cnvtxs) { +- for (jj=0; jj= 0 && jj < nedges && cadjncy[jj] == cnvtxs) { +- cadjncy[jj] = cadjncy[--nedges]; +- cadjwgt[jj] = cadjwgt[nedges]; +- } +- } +- +- /* Zero out the htable */ +- for (j=0; j= min(medianewgts[u], medianewgts[v]) */ +- if (dropedges) { +- for (j=0; j>1)]; +- } +- +- cadjncy += nedges; +- cadjwgt += nedges; +- cnedges += nedges; +- cxadj[++cnvtxs] = cnedges; +- } +- +- /* compact the adjacency structure of the coarser graph to keep only +ve edges */ +- if (dropedges) { +- droppedewgt = 0; +- +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- cnedges = 0; +- for (u=0; u= gk_min(medianewgts[u], medianewgts[v])) { +- cadjncy[cnedges] = cadjncy[j]; +- cadjwgt[cnedges++] = cadjwgt[j]; +- } +- else +- droppedewgt += cadjwgt[j]; +- } +- cxadj[u] = cnedges; +- } +- SHIFTCSR(j, cnvtxs, cxadj); +- +- //printf("droppedewgt: %d\n", (int)droppedewgt); +- +- cgraph->droppedewgt = droppedewgt; +- } +- +- cgraph->nedges = cnedges; +- +- for (j=0; jtvwgt[j] = isum(cgraph->nvtxs, cgraph->vwgt+j, ncon); +- cgraph->invtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); +- } +- +- +- ReAdjustMemory(ctrl, graph, cgraph); +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); +- +- WCOREPOP; +-} +- +- +-/*************************************************************************/ +-/*! This function creates the coarser graph. It uses a simple hash-table +- for identifying the adjacent vertices that get collapsed to the same +- node. The hash-table can have conflicts, which are handled via a +- linear scan. +- */ +-/*************************************************************************/ +-void CreateCoarseGraph1(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match) +-{ +- idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, +- cnedges, v, u, mask; +- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; +- idx_t *cmap, *htable, *table; +- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; +- graph_t *cgraph; +- int dovsize, dropedges, usemask; +- idx_t cv, nkeep, droppedewgt; +- idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; +- +- WCOREPUSH; +- +- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); +- dropedges = ctrl->dropedges; +- +- mask = HTLENGTH; +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); +- +- nvtxs = graph->nvtxs; +- ncon = graph->ncon; +- xadj = graph->xadj; +- vwgt = graph->vwgt; +- vsize = graph->vsize; +- adjncy = graph->adjncy; +- adjwgt = graph->adjwgt; +- cmap = graph->cmap; +- +- /* Setup structures for dropedges */ +- if (dropedges) { +- for (nkeep=-1, v=0; vxadj; +- cvwgt = cgraph->vwgt; +- cvsize = cgraph->vsize; +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); +- table = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); +- +- cxadj[0] = cnvtxs = cnedges = 0; +- for (v=0; v (mask>>3) ? 0 : 1); +- nedges = 0; +- +- +- if (usemask) { +- istart = xadj[v]; +- iend = xadj[v+1]; +- for (j=istart; j= 0 && cadjncy[jj] != cnvtxs) { +- for (jj=0; jj= 0 && jj < nedges && cadjncy[jj] == cnvtxs) { +- cadjncy[jj] = cadjncy[--nedges]; +- cadjwgt[jj] = cadjwgt[nedges]; +- } +- } +- +- /* Zero out the htable */ +- for (j=0; j= min(medianewgts[u], medianewgts[v]) */ +- if (dropedges) { +- for (j=0; j>1)]; +- } +- +- cadjncy += nedges; +- cadjwgt += nedges; +- cnedges += nedges; +- cxadj[++cnvtxs] = cnedges; +- } +- +- /* compact the adjacency structure of the coarser graph to keep only +ve edges */ +- if (dropedges) { +- droppedewgt = 0; +- +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- cnedges = 0; +- for (u=0; u= gk_min(medianewgts[u], medianewgts[v])) { +- cadjncy[cnedges] = cadjncy[j]; +- cadjwgt[cnedges++] = cadjwgt[j]; +- } +- else +- droppedewgt += cadjwgt[j]; +- } +- cxadj[u] = cnedges; +- } +- SHIFTCSR(j, cnvtxs, cxadj); +- +- //printf("droppedewgt: %d\n", (int)droppedewgt); +- +- cgraph->droppedewgt = droppedewgt; +- } +- +- cgraph->nedges = cnedges; +- +- for (j=0; jtvwgt[j] = isum(cgraph->nvtxs, cgraph->vwgt+j, ncon); +- cgraph->invtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); +- } +- +- +- ReAdjustMemory(ctrl, graph, cgraph); +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); +- +- WCOREPOP; +-} +- +- + /*************************************************************************/ + /*! This function creates the coarser graph. Depending on the size of the + candidate adjancency lists it either uses a hash table or an array +@@ -1340,7 +830,7 @@ void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, + idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, + cnedges, v, u, mask; + idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; +- idx_t *cmap, *htable, *table; ++ idx_t *cmap, *htable, *dtable; + idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; + graph_t *cgraph; + int dovsize, dropedges; +@@ -1386,8 +876,8 @@ void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, + cadjncy = cgraph->adjncy; + cadjwgt = cgraph->adjwgt; + +- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); +- table = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); ++ htable = iset(mask+1, -1, iwspacemalloc(ctrl, mask+1)); /* hash table */ ++ dtable = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); /* direct table */ + + cxadj[0] = cnvtxs = cnedges = 0; + for (v=0; vinvtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); + } + +- + ReAdjustMemory(ctrl, graph, cgraph); + + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); +@@ -1942,10 +1431,14 @@ graph_t *SetupCoarseGraph(graph_t *graph, idx_t cnvtxs, int dovsize) + cgraph->finer = graph; + graph->coarser = cgraph; + +- /* Allocate memory for the coarser graph */ ++ /* Allocate memory for the coarser graph. ++ NOTE: The +1 in the adjwgt/adjncy is to allow the optimization of self-loop ++ detection by adding ahead of time the self-loop. That optimization ++ requires a +1 adjncy/adjwgt array for the limit case where the ++ coarser graph is of the same size of the previous graph. */ + cgraph->xadj = imalloc(cnvtxs+1, "SetupCoarseGraph: xadj"); +- cgraph->adjncy = imalloc(graph->nedges, "SetupCoarseGraph: adjncy"); +- cgraph->adjwgt = imalloc(graph->nedges, "SetupCoarseGraph: adjwgt"); ++ cgraph->adjncy = imalloc(graph->nedges+1, "SetupCoarseGraph: adjncy"); ++ cgraph->adjwgt = imalloc(graph->nedges+1, "SetupCoarseGraph: adjwgt"); + cgraph->vwgt = imalloc(cgraph->ncon*cnvtxs, "SetupCoarseGraph: vwgt"); + cgraph->tvwgt = imalloc(cgraph->ncon, "SetupCoarseGraph: tvwgt"); + cgraph->invtvwgt = rmalloc(cgraph->ncon, "SetupCoarseGraph: invtvwgt"); +diff --git a/libmetis/kmetis.c b/libmetis/kmetis.c +index c56c513..8491006 100644 +--- a/libmetis/kmetis.c ++++ b/libmetis/kmetis.c +@@ -24,6 +24,7 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, + graph_t *graph; + ctrl_t *ctrl; + ++#ifdef XXX + /* set up malloc cleaning code and signal catchers */ + if (!gk_malloc_init()) + return METIS_ERROR_MEMORY; +@@ -32,7 +33,7 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, + + if ((sigrval = gk_sigcatch()) != 0) + goto SIGTHROW; +- ++#endif + + /* set up the run parameters */ + ctrl = SetupCtrl(METIS_OP_KMETIS, options, *ncon, *nparts, tpwgts, ubvec); +@@ -86,8 +87,10 @@ SIGTHROW: + if (renumber) + Change2FNumbering(*nvtxs, xadj, adjncy, part); + ++#ifdef XXX + gk_siguntrap(); + gk_malloc_cleanup(0); ++#endif + + return metis_rcode(sigrval); + } +diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c +index d32e849..80e2149 100644 +--- a/libmetis/pmetis.c ++++ b/libmetis/pmetis.c +@@ -97,6 +97,7 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, + graph_t *graph; + ctrl_t *ctrl; + ++#ifdef XXX + /* set up malloc cleaning code and signal catchers */ + if (!gk_malloc_init()) + return METIS_ERROR_MEMORY; +@@ -105,6 +106,7 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, + + if ((sigrval = gk_sigcatch()) != 0) + goto SIGTHROW; ++#endif + + + /* set up the run parameters */ +@@ -143,8 +145,10 @@ SIGTHROW: + if (renumber) + Change2FNumbering(*nvtxs, xadj, adjncy, part); + ++#ifdef XXX + gk_siguntrap(); + gk_malloc_cleanup(0); ++#endif + + return metis_rcode(sigrval); + } +-- +2.30.2 + diff --git a/recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch b/recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch new file mode 100644 index 0000000000000..d24815a50e241 --- /dev/null +++ b/recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch @@ -0,0 +1,470 @@ +From 38a8fb0fd1cdde963b04997c7be844028602793a Mon Sep 17 00:00:00 2001 +From: George Karypis +Date: Fri, 27 Nov 2020 23:23:07 +0000 +Subject: [PATCH] Fixed a memory bug in coarsening + +--- + libmetis/coarsen.c | 352 --------------------------------------------- + libmetis/kmetis.c | 4 - + libmetis/pmetis.c | 5 - + libmetis/proto.h | 4 - + libmetis/rename.h | 2 - + 5 files changed, 367 deletions(-) + +diff --git a/libmetis/coarsen.c b/libmetis/coarsen.c +index a804dc8..81876de 100644 +--- a/libmetis/coarsen.c ++++ b/libmetis/coarsen.c +@@ -1063,358 +1063,6 @@ void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, + } + + +-/*************************************************************************/ +-/*! This function creates the coarser graph. It uses a full-size array +- (htable) for identifying the adjacent vertices that get collapsed to +- the same node. +- */ +-/*************************************************************************/ +-void CreateCoarseGraphNoMask(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match) +-{ +- idx_t j, k, m, istart, iend, v, u, nvtxs, nedges, ncon, cnedges; +- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; +- idx_t *cmap, *htable; +- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; +- graph_t *cgraph; +- int dovsize, dropedges; +- idx_t cv, nkeep, droppedewgt; +- idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; +- +- WCOREPUSH; +- +- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); +- dropedges = ctrl->dropedges; +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); +- +- nvtxs = graph->nvtxs; +- ncon = graph->ncon; +- xadj = graph->xadj; +- vwgt = graph->vwgt; +- vsize = graph->vsize; +- adjncy = graph->adjncy; +- adjwgt = graph->adjwgt; +- cmap = graph->cmap; +- +- /* Setup structures for dropedges */ +- if (dropedges) { +- for (nkeep=-1, v=0; vxadj; +- cvwgt = cgraph->vwgt; +- cvsize = cgraph->vsize; +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- htable = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); +- +- cxadj[0] = cnvtxs = cnedges = 0; +- for (v=0; v= min(medianewgts[u], medianewgts[v]) */ +- if (dropedges) { +- for (j=0; j>1)]; +- } +- +- /* Record Advance the cadjXXX pointers */ +- cadjncy += nedges; +- cadjwgt += nedges; +- cnedges += nedges; +- cxadj[++cnvtxs] = cnedges; +- } +- +- +- /* compact the adjacency structure of the coarser graph to keep only +ve edges */ +- if (dropedges) { +- droppedewgt = 0; +- +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- cnedges = 0; +- for (u=0; u= gk_min(medianewgts[u], medianewgts[v])) { +- cadjncy[cnedges] = cadjncy[j]; +- cadjwgt[cnedges++] = cadjwgt[j]; +- } +- else +- droppedewgt += cadjwgt[j]; +- } +- cxadj[u] = cnedges; +- } +- SHIFTCSR(j, cnvtxs, cxadj); +- +- //printf("droppedewgt: %d\n", (int)droppedewgt); +- +- cgraph->droppedewgt = droppedewgt; +- } +- +- cgraph->nedges = cnedges; +- +- for (j=0; jtvwgt[j] = isum(cgraph->nvtxs, cgraph->vwgt+j, ncon); +- cgraph->invtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); +- } +- +- ReAdjustMemory(ctrl, graph, cgraph); +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); +- +- WCOREPOP; +-} +- +- +-/*************************************************************************/ +-/*! This function creates the coarser graph. It uses a simple hash-table +- for identifying the adjacent vertices that get collapsed to the same +- node. The hash-table can have conflicts, which are handled via a +- linear scan. It relies on the perm[] array to visit the vertices in +- increasing cnvtxs order. +- */ +-/*************************************************************************/ +-void CreateCoarseGraphPerm(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match, idx_t *perm) +-{ +- idx_t i, j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, cnedges, +- v, u, mask, dovsize; +- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; +- idx_t *cmap, *htable; +- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; +- graph_t *cgraph; +- +- WCOREPUSH; +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); +- +- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); +- +- mask = HTLENGTH; +- +- nvtxs = graph->nvtxs; +- ncon = graph->ncon; +- xadj = graph->xadj; +- vwgt = graph->vwgt; +- vsize = graph->vsize; +- adjncy = graph->adjncy; +- adjwgt = graph->adjwgt; +- cmap = graph->cmap; +- +- /* Initialize the coarser graph */ +- cgraph = SetupCoarseGraph(graph, cnvtxs, dovsize); +- cxadj = cgraph->xadj; +- cvwgt = cgraph->vwgt; +- cvsize = cgraph->vsize; +- cadjncy = cgraph->adjncy; +- cadjwgt = cgraph->adjwgt; +- +- htable = iset(mask+1, -1, iwspacemalloc(ctrl, mask+1)); +- +- cxadj[0] = cnvtxs = cnedges = 0; +- for (i=0; i= 0 && cadjncy[jj] != cnvtxs) { +- for (jj=0; jj= 0 && cadjncy[jj] == cnvtxs) { /* This 2nd check is needed for non-adjacent matchings */ +- cadjncy[jj] = cadjncy[--nedges]; +- cadjwgt[jj] = cadjwgt[nedges]; +- } +- } +- +- for (j=0; jnedges = cnedges; +- +- for (i=0; itvwgt[i] = isum(cgraph->nvtxs, cgraph->vwgt+i, ncon); +- cgraph->invtvwgt[i] = 1.0/(cgraph->tvwgt[i] > 0 ? cgraph->tvwgt[i] : 1); +- } +- +- +- ReAdjustMemory(ctrl, graph, cgraph); +- +- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); +- +- WCOREPOP; +-} +- +- + /*************************************************************************/ + /*! Setup the various arrays for the coarse graph + */ +diff --git a/libmetis/kmetis.c b/libmetis/kmetis.c +index 8491006..94c6c02 100644 +--- a/libmetis/kmetis.c ++++ b/libmetis/kmetis.c +@@ -24,7 +24,6 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, + graph_t *graph; + ctrl_t *ctrl; + +-#ifdef XXX + /* set up malloc cleaning code and signal catchers */ + if (!gk_malloc_init()) + return METIS_ERROR_MEMORY; +@@ -33,7 +32,6 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, + + if ((sigrval = gk_sigcatch()) != 0) + goto SIGTHROW; +-#endif + + /* set up the run parameters */ + ctrl = SetupCtrl(METIS_OP_KMETIS, options, *ncon, *nparts, tpwgts, ubvec); +@@ -87,10 +85,8 @@ SIGTHROW: + if (renumber) + Change2FNumbering(*nvtxs, xadj, adjncy, part); + +-#ifdef XXX + gk_siguntrap(); + gk_malloc_cleanup(0); +-#endif + + return metis_rcode(sigrval); + } +diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c +index 80e2149..004e1bb 100644 +--- a/libmetis/pmetis.c ++++ b/libmetis/pmetis.c +@@ -97,7 +97,6 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, + graph_t *graph; + ctrl_t *ctrl; + +-#ifdef XXX + /* set up malloc cleaning code and signal catchers */ + if (!gk_malloc_init()) + return METIS_ERROR_MEMORY; +@@ -106,8 +105,6 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, + + if ((sigrval = gk_sigcatch()) != 0) + goto SIGTHROW; +-#endif +- + + /* set up the run parameters */ + ctrl = SetupCtrl(METIS_OP_PMETIS, options, *ncon, *nparts, tpwgts, ubvec); +@@ -145,10 +142,8 @@ SIGTHROW: + if (renumber) + Change2FNumbering(*nvtxs, xadj, adjncy, part); + +-#ifdef XXX + gk_siguntrap(); + gk_malloc_cleanup(0); +-#endif + + return metis_rcode(sigrval); + } +diff --git a/libmetis/proto.h b/libmetis/proto.h +index 3a8bd80..0526be8 100644 +--- a/libmetis/proto.h ++++ b/libmetis/proto.h +@@ -51,10 +51,6 @@ idx_t Match_JC(ctrl_t *ctrl, graph_t *graph); + void PrintCGraphStats(ctrl_t *ctrl, graph_t *graph); + void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, + idx_t *match); +-void CreateCoarseGraphNoMask(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match); +-void CreateCoarseGraphPerm(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match, idx_t *perm); + graph_t *SetupCoarseGraph(graph_t *graph, idx_t cnvtxs, int dovsize); + void ReAdjustMemory(ctrl_t *ctrl, graph_t *graph, graph_t *cgraph); + +diff --git a/libmetis/rename.h b/libmetis/rename.h +index 59a5e76..381d5c1 100644 +--- a/libmetis/rename.h ++++ b/libmetis/rename.h +@@ -41,8 +41,6 @@ + #define Match_JC libmetis__Match_JC + #define PrintCGraphStats libmetis__PrintCGraphStats + #define CreateCoarseGraph libmetis__CreateCoarseGraph +-#define CreateCoarseGraphNoMask libmetis__CreateCoarseGraphNoMask +-#define CreateCoarseGraphPerm libmetis__CreateCoarseGraphPerm + #define SetupCoarseGraph libmetis__SetupCoarseGraph + #define ReAdjustMemory libmetis__ReAdjustMemory + +-- +2.30.2 + diff --git a/recipes/metis/all/test_package/CMakeLists.txt b/recipes/metis/all/test_package/CMakeLists.txt index 04b6e4c9401dc..54194f54c0961 100644 --- a/recipes/metis/all/test_package/CMakeLists.txt +++ b/recipes/metis/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(metis REQUIRED CONFIG) add_executable(${PROJECT_NAME} test.cpp) diff --git a/recipes/metis/all/test_package/conanfile.py b/recipes/metis/all/test_package/conanfile.py index 46d71712aba54..02eb5ce439fb4 100644 --- a/recipes/metis/all/test_package/conanfile.py +++ b/recipes/metis/all/test_package/conanfile.py @@ -1,17 +1,20 @@ -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 +# It will become the standard on Conan 2.x 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 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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -19,6 +22,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/metis/all/test_v1_package/CMakeLists.txt b/recipes/metis/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..5301c806a1b60 --- /dev/null +++ b/recipes/metis/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/metis/all/test_v1_package/conanfile.py b/recipes/metis/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/metis/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 225de15f8de73c25c164205383c4e5b59f93929f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 27 Jun 2023 13:21:45 +0200 Subject: [PATCH 0665/4087] (#18071) [bot] Update list of references (prod-v2/ListPackages) --- .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 fe95f07324499..f8f7e6a8086d5 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -118,6 +118,7 @@ required_for_references: - cgal - cgif - cgns +- chaiscript - charls - chef-fun - chipmunk2d @@ -401,6 +402,7 @@ required_for_references: - libnabo - libnfs - libnghttp2 +- libnl - libnop - libnova - libnuma @@ -474,6 +476,10 @@ required_for_references: - matchit - mawk - mbedtls +- mbits-args +- mbits-mstch +- mbits-semver +- mbits-utfconv - md4c - md4qt - mdnsresponder @@ -600,6 +606,7 @@ required_for_references: - restbed - restinio - ring-span-lite +- rmm - roaring - robin-hood-hashing - rttr @@ -638,8 +645,10 @@ required_for_references: - sqlite3 - sqlite_orm - sqlitecpp +- ssht - status-code - stb +- stlab - strawberryperl - string-view-lite - strong_type From aa5fb7ed38abbcba065ba7bbb1aabf8e622ab0fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20H=C3=A4ring?= <116002362+tim-goto@users.noreply.github.com> Date: Tue, 27 Jun 2023 14:42:01 +0200 Subject: [PATCH 0666/4087] (#18038) chore: update version * chore: update version * PR feedback from memsharded --- recipes/gurkenlaeufer/all/conandata.yml | 4 ++++ recipes/gurkenlaeufer/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/gurkenlaeufer/all/conandata.yml b/recipes/gurkenlaeufer/all/conandata.yml index 7f1f9f96ad208..8c528ae68f26c 100644 --- a/recipes/gurkenlaeufer/all/conandata.yml +++ b/recipes/gurkenlaeufer/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "1.1.0": + url: + - "https://github.com/paulelsner/gurkenlaeufer/archive/refs/tags/v1.1.0.zip" + sha256: "afa8ff520354ece11c97537ba61998b04fca02d3eda1909d112f008dd4522ba0" "1.0.1": url: - "https://github.com/paulelsner/gurkenlaeufer/archive/refs/tags/v1.0.1.zip" diff --git a/recipes/gurkenlaeufer/config.yml b/recipes/gurkenlaeufer/config.yml index 715e55357a17b..20ec1c9e2bdee 100644 --- a/recipes/gurkenlaeufer/config.yml +++ b/recipes/gurkenlaeufer/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: all "1.0.1": folder: all From 66a0ec9859679659c337b224331cef677160c855 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Jun 2023 22:10:15 +0900 Subject: [PATCH 0667/4087] (#17545) mppp: update fmt, fix compilation error on with_fmt=True * mppp: update fmt, fix compilation error on with_fmt=True * make gmp transitive_headers=True * update boost * Update recipes/mppp/all/conandata.yml --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/mppp/all/conandata.yml | 4 ++++ recipes/mppp/all/conanfile.py | 6 +++--- .../patches/0.27-0002-remove-fmt-version.patch | 15 +++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 recipes/mppp/all/patches/0.27-0002-remove-fmt-version.patch diff --git a/recipes/mppp/all/conandata.yml b/recipes/mppp/all/conandata.yml index 60d10df366776..9c91fb1f269aa 100644 --- a/recipes/mppp/all/conandata.yml +++ b/recipes/mppp/all/conandata.yml @@ -10,6 +10,10 @@ patches: - patch_file: "patches/0.27-0001-disable-warning-error.patch" patch_description: "disable the flag for treats warning as errors" patch_type: "portability" + - patch_file: "patches/0.27-0002-remove-fmt-version.patch" + # https://github.com/conan-io/conan/issues/14172 + patch_description: "remove fmt version number from find_package" + patch_type: "conan" "0.26": - patch_file: "patches/0.26-0001-disable-warning-error.patch" patch_description: "disable the flag for treats warning as errors" diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index 4677b62f734c2..bf3dbe732b8b1 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -61,15 +61,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("gmp/6.2.1") + self.requires("gmp/6.2.1", transitive_headers=True) if self.options.with_mpfr: self.requires("mpfr/4.1.0") if self.options.with_mpc: self.requires("mpc/1.2.0") if self.options.with_boost: - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/9.1.0") + self.requires("fmt/10.0.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/mppp/all/patches/0.27-0002-remove-fmt-version.patch b/recipes/mppp/all/patches/0.27-0002-remove-fmt-version.patch new file mode 100644 index 0000000000000..28109b89756fd --- /dev/null +++ b/recipes/mppp/all/patches/0.27-0002-remove-fmt-version.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 22e275f..1a97423 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -414,9 +414,8 @@ endif() + + # NOTE: need at least version 6.2 + # 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() From 1c77df832cf4b8b2326286ffe2c37ad0b9478830 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 27 Jun 2023 16:44:36 +0300 Subject: [PATCH 0668/4087] (#16793) gdcm: add with_zlibng option --- recipes/gdcm/all/conanfile.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index f32e56dd3a6fd..d7959e0134184 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -27,12 +27,14 @@ class GDCMConan(ConanFile): "fPIC": [True, False], "with_json": [True, False], "with_openssl": [True, False], + "with_zlibng": [True, False], } default_options = { "shared": False, "fPIC": True, "with_json": True, "with_openssl": True, + "with_zlibng": False, } @property @@ -56,7 +58,10 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") self.requires("openjpeg/2.5.0") - self.requires("zlib/1.2.13") + if self.options.with_zlibng: + self.requires("zlib-ng/2.0.7") + else: + self.requires("zlib/1.2.13") if self.settings.os != "Windows": self.requires("libuuid/1.0.3") if Version(self.version) >= Version("3.0.20"): @@ -71,6 +76,10 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) if is_msvc_static_runtime(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} does not support shared and static runtime together.") + if self.info.options.with_zlibng: + zlib_ng = self.dependencies["zlib-ng"] + if not zlib_ng.options.zlib_compat: + raise ConanInvalidConfiguration(f"{self.ref} requires the dependency option zlib-ng:zlib_compat=True") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -222,7 +231,11 @@ def package_info(self): if self.options.with_openssl: self.cpp_info.components["gdcmCommon"].requires.append("openssl::openssl") - self.cpp_info.components["gdcmDSED"].requires.extend(["gdcmCommon", "zlib::zlib"]) + + def zlib(): + return "zlib-ng::zlib-ng" if self.options.with_zlibng else "zlib::zlib" + + self.cpp_info.components["gdcmDSED"].requires.extend(["gdcmCommon", zlib()]) self.cpp_info.components["gdcmIOD"].requires.extend(["gdcmDSED", "gdcmCommon", "expat::expat"]) self.cpp_info.components["gdcmMSFF"].requires.extend(["gdcmIOD", "gdcmDSED", "gdcmDICT", "openjpeg::openjpeg"]) if self.options.with_json: From 103b4f16beffbe0b7f8c19ea8328b484c01d18ad Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 27 Jun 2023 19:05:56 +0200 Subject: [PATCH 0669/4087] (#18074) [sentry-breakpad] Update to 0.6.4 --- recipes/sentry-breakpad/all/conandata.yml | 6 +++--- recipes/sentry-breakpad/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-breakpad/all/conandata.yml b/recipes/sentry-breakpad/all/conandata.yml index 059f423b2eba7..17d89711effcc 100644 --- a/recipes/sentry-breakpad/all/conandata.yml +++ b/recipes/sentry-breakpad/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.4": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" + sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.6.3": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.6.2": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" - "0.6.1": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" - sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-breakpad/config.yml b/recipes/sentry-breakpad/config.yml index 205b96ca25c22..fb99bc2eb64b8 100644 --- a/recipes/sentry-breakpad/config.yml +++ b/recipes/sentry-breakpad/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.4": + folder: all "0.6.3": folder: all "0.6.2": folder: all - "0.6.1": - folder: all "0.5.4": folder: all "0.4.18": From 79694aa1c672d8642d55eef13ab8709227a491fa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Jun 2023 02:42:13 +0900 Subject: [PATCH 0670/4087] (#18087) simde: add recipe --- recipes/simde/all/conandata.yml | 4 ++ recipes/simde/all/conanfile.py | 48 +++++++++++++++++++ recipes/simde/all/test_package/CMakeLists.txt | 8 ++++ recipes/simde/all/test_package/conanfile.py | 26 ++++++++++ recipes/simde/all/test_package/test_package.c | 26 ++++++++++ recipes/simde/config.yml | 3 ++ 6 files changed, 115 insertions(+) create mode 100644 recipes/simde/all/conandata.yml create mode 100644 recipes/simde/all/conanfile.py create mode 100644 recipes/simde/all/test_package/CMakeLists.txt create mode 100644 recipes/simde/all/test_package/conanfile.py create mode 100644 recipes/simde/all/test_package/test_package.c create mode 100644 recipes/simde/config.yml diff --git a/recipes/simde/all/conandata.yml b/recipes/simde/all/conandata.yml new file mode 100644 index 0000000000000..dd4d7915e803f --- /dev/null +++ b/recipes/simde/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.7.6": + url: "https://github.com/simd-everywhere/simde/archive/refs/tags/v0.7.6.tar.gz" + sha256: "c63e6c61392e324728da1c7e5de308cb31410908993a769594f5e21ff8de962b" diff --git a/recipes/simde/all/conanfile.py b/recipes/simde/all/conanfile.py new file mode 100644 index 0000000000000..c69a65a98ab60 --- /dev/null +++ b/recipes/simde/all/conanfile.py @@ -0,0 +1,48 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class SIMEeConan(ConanFile): + name = "simde" + description = "Implementations of SIMD instruction sets for systems which don't natively support them." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/simd-everywhere/simde" + topics = ("neon", "avx", "sse", "simd", "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 validate(self): + if self.settings.arch not in ["x86", "x86_64", "armv8"] or self.settings.os == "Emscripten": + raise ConanInvalidConfiguration(f"{self.ref} supports x86, x86_64, armv8 only or emscriptien.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include", "simde"), + src=os.path.join(self.source_folder, "simde"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("pkg_config_name", "SIMDe") diff --git a/recipes/simde/all/test_package/CMakeLists.txt b/recipes/simde/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..142cf36ac18b4 --- /dev/null +++ b/recipes/simde/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(simde REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE simde::simde) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/simde/all/test_package/conanfile.py b/recipes/simde/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/simde/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/simde/all/test_package/test_package.c b/recipes/simde/all/test_package/test_package.c new file mode 100644 index 0000000000000..7257838559828 --- /dev/null +++ b/recipes/simde/all/test_package/test_package.c @@ -0,0 +1,26 @@ +#include +#include + +int main(void) { + simde__m128i a = simde_mm_set_epi8( + INT8_C(-105), INT8_C(-116), INT8_C( -45), INT8_C(-102), + INT8_C( -3), INT8_C( 92), INT8_C( -99), INT8_C( 100), + INT8_C( 30), INT8_C(-115), INT8_C( 82), INT8_C( 84), + INT8_C(-106), INT8_C( 66), INT8_C(-107), INT8_C( 116) + ); + int la = 0; + simde__m128i b = simde_mm_set_epi8( + INT8_C( -89), INT8_C( 65), INT8_C( 68), INT8_C( -29), + INT8_C(-101), INT8_C( 113), INT8_C( -11), INT8_C( 53), + INT8_C( -5), INT8_C( -76), INT8_C( 28), INT8_C(-120), + INT8_C( 64), INT8_C( 43), INT8_C(-127), INT8_C( -44) + ); + int lb = 2; + int r = simde_mm_cmpestrs(a, la, b, lb, 0); + + if (r != 1) { + return 1; + } + + return 0; +} diff --git a/recipes/simde/config.yml b/recipes/simde/config.yml new file mode 100644 index 0000000000000..1d3599e3efc2e --- /dev/null +++ b/recipes/simde/config.yml @@ -0,0 +1,3 @@ +versions: + "0.7.6": + folder: all From a066c41e1d66c6b6aeb48a1925e516aede79e2f3 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 27 Jun 2023 20:03:50 +0200 Subject: [PATCH 0671/4087] (#17993) [sqlpp11] Support Conan v2 and add version 0.62 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update sqlpp11 to 0.62 Signed-off-by: Uilian Ries * add test_v1_package Signed-off-by: Uilian Ries * remove comment Signed-off-by: Uilian Ries * fix config.yml Signed-off-by: Uilian Ries * fix target name Signed-off-by: Uilian Ries * Update recipes/sqlpp11/all/conanfile.py Co-authored-by: Rubén Rincón Blanco --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/sqlpp11/all/conandata.yml | 15 ++--- recipes/sqlpp11/all/conanfile.py | 62 +++++++++---------- .../sqlpp11/all/test_package/CMakeLists.txt | 15 ++--- recipes/sqlpp11/all/test_package/conanfile.py | 22 +++++-- recipes/sqlpp11/all/test_package/example.cpp | 6 -- .../sqlpp11/all/test_package/test_package.cpp | 8 +++ .../all/test_v1_package/CMakeLists.txt | 8 +++ .../sqlpp11/all/test_v1_package/conanfile.py | 19 ++++++ recipes/sqlpp11/config.yml | 6 +- 9 files changed, 96 insertions(+), 65 deletions(-) delete mode 100644 recipes/sqlpp11/all/test_package/example.cpp create mode 100644 recipes/sqlpp11/all/test_package/test_package.cpp create mode 100644 recipes/sqlpp11/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sqlpp11/all/test_v1_package/conanfile.py diff --git a/recipes/sqlpp11/all/conandata.yml b/recipes/sqlpp11/all/conandata.yml index 08915d57967e4..a54e77da8a340 100644 --- a/recipes/sqlpp11/all/conandata.yml +++ b/recipes/sqlpp11/all/conandata.yml @@ -1,13 +1,10 @@ sources: - "0.58": - url: "https://github.com/rbock/sqlpp11/archive/0.58.zip" - sha256: 8e2ba487b7a0ddc988bcfa5366443a0f5ca9f38ef86ac8e3f257801ab3cbf8eb - "0.59": - url: "https://github.com/rbock/sqlpp11/archive/0.59.zip" - sha256: 62ba9ba078e05901aa47cb056240bb474f9b8ef5cabf114f8219b4a6fa4f019b - "0.60": - url: "https://github.com/rbock/sqlpp11/archive/0.60.zip" - sha256: 27ccc750d5eb8f234445e26e41d53d72c9df329eb2b30d64dbf21078ae57c52c + "0.62": + url: "https://github.com/rbock/sqlpp11/archive/0.62.tar.gz" + sha256: "6d8326e94c5b14a863ead15688d853ab7854136caa9ebc47389a833fe79db7c5" "0.61": url: "https://github.com/rbock/sqlpp11/archive/0.61.tar.gz" sha256: "d5a95e28ae93930f7701f517b1342ac14bcf33a9b1c5b5f0dff6aea5e315bb50" + "0.60": + url: "https://github.com/rbock/sqlpp11/archive/0.60.zip" + sha256: 27ccc750d5eb8f234445e26e41d53d72c9df329eb2b30d64dbf21078ae57c52c diff --git a/recipes/sqlpp11/all/conanfile.py b/recipes/sqlpp11/all/conanfile.py index 384cf91a4b695..9ada1d6896ced 100644 --- a/recipes/sqlpp11/all/conanfile.py +++ b/recipes/sqlpp11/all/conanfile.py @@ -1,8 +1,12 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.layout import basic_layout +from conan.tools.files import get, copy +from conan import Version import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class Sqlpp11Conan(ConanFile): @@ -12,60 +16,56 @@ class Sqlpp11Conan(ConanFile): homepage = "https://github.com/rbock/sqlpp11" description = "A type safe SQL template library for C++" topics = ("sql", "dsl", "embedded", "data-base") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" @property - def _min_stdcpp_version(self): - return 11 if tools.Version(self.version) < "0.61" else 14 + def _min_cppstd(self): + return 11 if Version(self.version) < "0.61" else 14 @property def _compilers_minimum_version(self): return { "gcc": "5", "Visual Studio": "14", + "msvc": "190", "clang": "3.4", "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("date/3.0.1") - def validate(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, self._min_stdcpp_version) - - if self._min_stdcpp_version > 11: - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++14, which your compiler does not support.") - else: - self.output.warn(f"{self.name} requires C++14. Your compiler is unknown. Assuming it supports C++14.") - def package_id(self): - self.info.header_only() + 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): - 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 package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("*", dst="bin", src=os.path.join(self._source_subfolder, "scripts")) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + copy(self, "*", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self.source_folder, "scripts")) def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "Sqlpp11" - self.cpp_info.filenames["cmake_find_package_multi"] = "Sqlpp11" + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "Sqlpp11") + self.cpp_info.set_property("cmake_target_name", "sqlpp11::sqlpp11") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed bindir = os.path.join(self.package_folder, "bin") self.output.info("Appending PATH environment variable: {}".format(bindir)) self.env_info.PATH.append(bindir) diff --git a/recipes/sqlpp11/all/test_package/CMakeLists.txt b/recipes/sqlpp11/all/test_package/CMakeLists.txt index 209e56f42630d..6c3b3cedf8364 100644 --- a/recipes/sqlpp11/all/test_package/CMakeLists.txt +++ b/recipes/sqlpp11/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(Sqlpp11 REQUIRED CONFIG) -find_package(Sqlpp11 CONFIG REQUIRED) - -add_executable(example example.cpp) -set_property(TARGET example PROPERTY CXX_STANDARD 14) -target_link_libraries(example sqlpp11::sqlpp11) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE sqlpp11::sqlpp11) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/sqlpp11/all/test_package/conanfile.py b/recipes/sqlpp11/all/test_package/conanfile.py index 11eb01c13ada3..3a91c9439218e 100644 --- a/recipes/sqlpp11/all/test_package/conanfile.py +++ b/recipes/sqlpp11/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 Sqlpp11TestConan(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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "example"), 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/sqlpp11/all/test_package/example.cpp b/recipes/sqlpp11/all/test_package/example.cpp deleted file mode 100644 index 9b0644427156d..0000000000000 --- a/recipes/sqlpp11/all/test_package/example.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main() -{ - sqlpp::connection c; -} diff --git a/recipes/sqlpp11/all/test_package/test_package.cpp b/recipes/sqlpp11/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..aa306d637efdd --- /dev/null +++ b/recipes/sqlpp11/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include +#include + +int main() { + select(sqlpp::value(false).as(sqlpp::alias::a)); + return EXIT_SUCCESS; +} diff --git a/recipes/sqlpp11/all/test_v1_package/CMakeLists.txt b/recipes/sqlpp11/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/sqlpp11/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sqlpp11/all/test_v1_package/conanfile.py b/recipes/sqlpp11/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..37ada808989d9 --- /dev/null +++ b/recipes/sqlpp11/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +import os + +from conan.tools.build import cross_building +from conans import ConanFile, CMake + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/sqlpp11/config.yml b/recipes/sqlpp11/config.yml index a51d2c88cb4ae..c35347d804ef3 100644 --- a/recipes/sqlpp11/config.yml +++ b/recipes/sqlpp11/config.yml @@ -1,9 +1,7 @@ versions: - "0.58": + "0.62": folder: "all" - "0.59": + "0.61": folder: "all" "0.60": folder: "all" - "0.61": - folder: "all" From ddf81556b682470417a33db72a285a1dcdbe07ed Mon Sep 17 00:00:00 2001 From: qwqbot Date: Wed, 28 Jun 2023 13:21:41 +0800 Subject: [PATCH 0672/4087] (#18097) tracy: add version 0.9.1 --- recipes/tracy/all/conandata.yml | 3 +++ recipes/tracy/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tracy/all/conandata.yml b/recipes/tracy/all/conandata.yml index 266a1ecb7f6b1..e66204ae4d119 100644 --- a/recipes/tracy/all/conandata.yml +++ b/recipes/tracy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.1": + url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.9.1.tar.gz" + sha256: "c2de9f35ab2a516a9689ff18f5b62a55b73b93b66514bd09ba013d7957993cd7" "0.9": url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.9.tar.gz" sha256: "93a91544e3d88f3bc4c405bad3dbc916ba951cdaadd5fcec1139af6fa56e6bfc" diff --git a/recipes/tracy/config.yml b/recipes/tracy/config.yml index 77aaa018b1794..6bea7d9080e33 100644 --- a/recipes/tracy/config.yml +++ b/recipes/tracy/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.1": + folder: all "0.9": folder: all "0.8.2.1": From 678acf3ac2d7003285880da1cbc3506f6a85eef0 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Tue, 27 Jun 2023 22:43:13 -0700 Subject: [PATCH 0673/4087] (#17752) wolfssl: Add version 5.6.0. * wolfssl: Add version 5.6.0. * wolfssl: Link against the frameworks, `CoreFoundation` and `Security` when building the static library for Apple platforms. * wolfssl: Add `crypt32` to the list of system libraries. * wolfssl: Add `crypt32` to the list of system libraries and add `CoreFoundation` and `Security` to the list of frameworks as of v5.6.0. * bump to 5.6.2 * Update config.yml * bump one more minor for windows fixes https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.3-stable * Update config.yml --------- Co-authored-by: Carlos Zoido Co-authored-by: Chris Mc --- recipes/wolfssl/all/conandata.yml | 3 +++ recipes/wolfssl/all/conanfile.py | 7 ++++++- recipes/wolfssl/config.yml | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index 9f6956c1ef7de..45f769c905838 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.6.3": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.3-stable.tar.gz" + sha256: "2e74a397fa797c2902d7467d500de904907666afb4ff80f6464f6efd5afb114a" "5.5.1": url: "https://github.com/wolfSSL/wolfssl/archive/v5.5.1-stable.tar.gz" sha256: "97339e6956c90e7c881ba5c748dd04f7c30e5dbe0c06da765418c51375a6dee3" diff --git a/recipes/wolfssl/all/conanfile.py b/recipes/wolfssl/all/conanfile.py index d1489495db5d2..7233278df2e56 100644 --- a/recipes/wolfssl/all/conanfile.py +++ b/recipes/wolfssl/all/conanfile.py @@ -1,11 +1,12 @@ 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.env import VirtualBuildEnv from conan.tools.files import copy, get, rename, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import check_min_vs, is_msvc, unix_path +from conan.tools.scm import Version import os required_conan_version = ">=1.54.0" @@ -157,3 +158,7 @@ def package_info(self): self.cpp_info.system_libs.extend(["m", "pthread"]) elif self.settings.os == "Windows": self.cpp_info.system_libs.extend(["advapi32", "ws2_32"]) + if Version(self.version) >= "5.6.0": + self.cpp_info.system_libs.append("crypt32") + elif is_apple_os(self) and Version(self.version) >= "5.6.0": + self.cpp_info.frameworks.extend(["CoreFoundation", "Security"]) diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index e4db787180ac0..92091015e6a56 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.3": + folder: all "5.5.1": folder: all "5.4.0": From da57fda7db6ac6c2022ba2f6483bca74470492b8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Jun 2023 17:23:41 +0900 Subject: [PATCH 0674/4087] (#17408) sonic-cpp: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sonic-cpp: add recipe * remove options * support older gcc * always required string-view-lite with TODO comment * add mpclmul for apple-clang * Update recipes/sonic-cpp/all/conanfile.py * Update recipes/sonic-cpp/all/conanfile.py * Update recipes/sonic-cpp/all/conanfile.py * Update recipes/sonic-cpp/all/conanfile.py * Update recipes/sonic-cpp/all/conanfile.py * Update recipes/sonic-cpp/all/conanfile.py * check_max_cppstd was not backported --------- Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón --- recipes/sonic-cpp/all/conandata.yml | 9 +++ recipes/sonic-cpp/all/conanfile.py | 79 +++++++++++++++++++ .../all/patches/1.0.0-0001-use-cci.patch | 13 +++ .../sonic-cpp/all/test_package/CMakeLists.txt | 8 ++ .../sonic-cpp/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 23 ++++++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 +++++ recipes/sonic-cpp/config.yml | 3 + 9 files changed, 187 insertions(+) create mode 100644 recipes/sonic-cpp/all/conandata.yml create mode 100644 recipes/sonic-cpp/all/conanfile.py create mode 100644 recipes/sonic-cpp/all/patches/1.0.0-0001-use-cci.patch create mode 100644 recipes/sonic-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/sonic-cpp/all/test_package/conanfile.py create mode 100644 recipes/sonic-cpp/all/test_package/test_package.cpp create mode 100644 recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sonic-cpp/all/test_v1_package/conanfile.py create mode 100644 recipes/sonic-cpp/config.yml diff --git a/recipes/sonic-cpp/all/conandata.yml b/recipes/sonic-cpp/all/conandata.yml new file mode 100644 index 0000000000000..d309d05a897b8 --- /dev/null +++ b/recipes/sonic-cpp/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.0.0": + url: "https://github.com/bytedance/sonic-cpp/archive/refs/tags/v1.0.0.tar.gz" + sha256: "78af626fa070a2702fe9586d90617292b421d97d7ab1fe27a02cc20434467a80" +patches: + "1.0.0": + - patch_file: "patches/1.0.0-0001-use-cci.patch" + patch_description: "use cci recipes" + patch_type: "conan" diff --git a/recipes/sonic-cpp/all/conanfile.py b/recipes/sonic-cpp/all/conanfile.py new file mode 100644 index 0000000000000..8490a3d80c51b --- /dev/null +++ b/recipes/sonic-cpp/all/conanfile.py @@ -0,0 +1,79 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + + +class SonicCppConan(ConanFile): + name = "sonic-cpp" + description = "A fast JSON serializing & deserializing library, accelerated by SIMD." + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/bytedance/sonic-cpp" + topics = ("json", "parser", "writer", "serializer", "deserializer", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + @property + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + } + + def requirements(self): + cppstd = self.settings.get_safe("compiler.cppstd") + # Assume we would need it if not told otherwise + if not cppstd or cppstd < "17": + self.requires("string-view-lite/1.7.0") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.ref} support x86, x86_64 only.") + + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support MSVC now.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + apply_conandata_patches(self) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.compiler in ["gcc", "clang", "apple-clang"]: + self.cpp_info.cxxflags.extend(["-mavx2", "-mpclmul"]) diff --git a/recipes/sonic-cpp/all/patches/1.0.0-0001-use-cci.patch b/recipes/sonic-cpp/all/patches/1.0.0-0001-use-cci.patch new file mode 100644 index 0000000000000..340323cf63a9a --- /dev/null +++ b/recipes/sonic-cpp/all/patches/1.0.0-0001-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/include/sonic/string_view.h b/include/sonic/string_view.h +index 67dfe2f..1fb2379 100644 +--- a/include/sonic/string_view.h ++++ b/include/sonic/string_view.h +@@ -21,7 +21,7 @@ namespace sonic_json { + using StringView = std::string_view; + } // namespace sonic_json + #else +-#include "thirdparty/string-view-lite/string_view.h" ++#include "nonstd/string_view.hpp" + namespace sonic_json { + using StringView = nonstd::string_view; + } // namespace sonic_json diff --git a/recipes/sonic-cpp/all/test_package/CMakeLists.txt b/recipes/sonic-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2af5927a3f12f --- /dev/null +++ b/recipes/sonic-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(sonic-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE sonic-cpp::sonic-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/sonic-cpp/all/test_package/conanfile.py b/recipes/sonic-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/sonic-cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sonic-cpp/all/test_package/test_package.cpp b/recipes/sonic-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..384ea13453551 --- /dev/null +++ b/recipes/sonic-cpp/all/test_package/test_package.cpp @@ -0,0 +1,23 @@ +#include "sonic/sonic.h" + +#include +#include + +int main() +{ + std::string json = R"( + { + "a": 1, + "b": 2 + } + )"; + + sonic_json::Document doc; + doc.Parse(json); + if (doc.HasParseError()) { + std::cout << "Parse failed!\n"; + } else { + std::cout << "Parse successful!\n"; + } + return 0; +} diff --git a/recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt b/recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/sonic-cpp/all/test_v1_package/conanfile.py b/recipes/sonic-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/sonic-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/sonic-cpp/config.yml b/recipes/sonic-cpp/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/sonic-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all From 9223549a5c0db032d5d9bf05f1614d3593c0c443 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 28 Jun 2023 10:43:57 +0200 Subject: [PATCH 0675/4087] (#17274) sentry-native: bump dependencies and use version range for openssl & cmake * bump dependencies and use version range for openssl & cmake * disable tests & examples * use cppstd 17 with visual * is msvc * fix --------- Co-authored-by: Daniel --- recipes/sentry-native/all/conanfile.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 888d98c0fe1ef..ed2d0e353f83d 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -6,6 +6,7 @@ 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.microsoft import is_msvc from conan.tools.scm import Version import os @@ -49,6 +50,8 @@ class SentryNativeConan(ConanFile): @property def _min_cppstd(self): + if is_msvc(self): + return "17" return "14" @property @@ -103,7 +106,7 @@ def layout(self): def requirements(self): if self.options.transport == "curl": - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.0.1") if self.options.backend == "crashpad": if self.options.with_crashpad == "sentry": self.requires(f"sentry-crashpad/{self.version}") @@ -115,8 +118,8 @@ def requirements(self): if self.options.with_breakpad == "google": self.requires("breakpad/cci.20210521") if self.options.get_safe("qt"): - self.requires("qt/5.15.8") - self.requires("openssl/1.1.1t") + self.requires("qt/5.15.9") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -132,20 +135,9 @@ def validate(self): if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "10.0": raise ConanInvalidConfiguration("apple-clang < 10.0 not supported") - def _cmake_new_enough(self, required_version): - try: - import re - from io import StringIO - output = StringIO() - self.run("cmake --version", output) - m = re.search(r"cmake version (\d+\.\d+\.\d+)", output.getvalue()) - return Version(m.group(1)) >= required_version - except: - return False - def build_requirements(self): - if self.settings.os == "Windows" and not self._cmake_new_enough("3.16.4"): - self.tool_requires("cmake/3.25.2") + if self.settings.os == "Windows": + self.tool_requires("cmake/[>=3.16.4 <4]") if self.options.backend == "breakpad": if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") @@ -162,6 +154,8 @@ def generate(self): tc.variables["SENTRY_ENABLE_INSTALL"] = True tc.variables["SENTRY_TRANSPORT"] = self.options.transport tc.variables["SENTRY_PIC"] = self.options.get_safe("fPIC", True) + tc.variables["SENTRY_BUILD_TESTS"] = False + tc.variables["SENTRY_BUILD_EXAMPLES"] = False tc.variables["SENTRY_INTEGRATION_QT"] = self.options.qt if self.options.get_safe("wer", False): tc.variables["CRASHPAD_WER_ENABLED"] = True From 67510b050a3387a8f48aac5294ce320d7adfa941 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 28 Jun 2023 11:22:02 +0200 Subject: [PATCH 0676/4087] (#18099) [bot] Update list of references (prod-v2/ListPackages) --- .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 f8f7e6a8086d5..fe68488eaa9b1 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -222,6 +222,7 @@ required_for_references: - emio - enet - entityx +- entt - enum-flags - erikzenker-hsm - erkir @@ -485,11 +486,13 @@ required_for_references: - mdnsresponder - mdspan - meson +- metis - mgs - microservice-essentials - mikelankamp-fpm - mimalloc - miniaudio +- minimp3 - minisat - minizip - minizip-ng @@ -499,6 +502,7 @@ required_for_references: - mozjpeg - mp-units - mpg123 +- mppp - ms-gsl - msgpack-c - msgpack-cxx @@ -574,6 +578,7 @@ required_for_references: - prometheus-cpp - proposal - protobuf +- protobuf-c - psimd - pthreadpool - pthreads4w @@ -628,6 +633,7 @@ required_for_references: - sfml - shield - sigslot +- simde - simdjson - simdutf - skyr-url @@ -645,6 +651,7 @@ required_for_references: - sqlite3 - sqlite_orm - sqlitecpp +- sqlpp11 - ssht - status-code - stb From 7823553ecaa4036da2ae39bb42398cf6d084d7c2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Jun 2023 21:43:06 +0900 Subject: [PATCH 0677/4087] (#18098) simde: supports all platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/simde/all/conandata.yml | 2 ++ recipes/simde/all/conanfile.py | 35 ++++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/recipes/simde/all/conandata.yml b/recipes/simde/all/conandata.yml index dd4d7915e803f..c108fd42332f1 100644 --- a/recipes/simde/all/conandata.yml +++ b/recipes/simde/all/conandata.yml @@ -1,4 +1,6 @@ sources: "0.7.6": + # A release tarball exists, but I want to use the archive tarball. + # Because the release tarball has only amalgatated(with lots of duplicate lines) header files. url: "https://github.com/simd-everywhere/simde/archive/refs/tags/v0.7.6.tar.gz" sha256: "c63e6c61392e324728da1c7e5de308cb31410908993a769594f5e21ff8de962b" diff --git a/recipes/simde/all/conanfile.py b/recipes/simde/all/conanfile.py index c69a65a98ab60..9ede298cf49ed 100644 --- a/recipes/simde/all/conanfile.py +++ b/recipes/simde/all/conanfile.py @@ -1,10 +1,10 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy +from conan.tools.files import copy, get, rmdir +from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain import os - required_conan_version = ">=1.52.0" @@ -25,21 +25,32 @@ def layout(self): def package_id(self): self.info.clear() - def validate(self): - if self.settings.arch not in ["x86", "x86_64", "armv8"] or self.settings.os == "Emscripten": - raise ConanInvalidConfiguration(f"{self.ref} supports x86, x86_64, armv8 only or emscriptien.") + def build_requirements(self): + self.tool_requires("meson/1.1.1") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): + tc = MesonToolchain(self) + tc.project_options["tests"] = False + tc.generate() + pkg = PkgConfigDeps(self) + pkg.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + def package(self): copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, - pattern="*.h", - dst=os.path.join(self.package_folder, "include", "simde"), - src=os.path.join(self.source_folder, "simde"), - ) + meson = Meson(self) + meson.install() + + rmdir(self, os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.bindirs = [] From 2a7137a4a843a073a0735221363bdce242b47614 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Jun 2023 14:01:56 +0100 Subject: [PATCH 0678/4087] (#18093) continuable: migrate to Conan v2 * continuable: migrate to Conan v2 * continuable: restore option descriptions --- recipes/continuable/all/conanfile.py | 125 +++++++++++------- .../all/test_package/CMakeLists.txt | 13 +- .../continuable/all/test_package/conanfile.py | 21 ++- .../all/test_package/test_package.cpp | 2 +- 4 files changed, 101 insertions(+), 60 deletions(-) diff --git a/recipes/continuable/all/conanfile.py b/recipes/continuable/all/conanfile.py index 7a8754a12145a..40af36527241e 100644 --- a/recipes/continuable/all/conanfile.py +++ b/recipes/continuable/all/conanfile.py @@ -1,35 +1,33 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version - -required_conan_version = ">=1.28.0" +required_conan_version = ">=1.52.0" class ContinuableConan(ConanFile): name = "continuable" - description = "C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)" - topics = "asynchronous", "future", "coroutines", "header-only" + description = ( + "C++14 asynchronous allocation aware futures " + "(supporting then, exception handling, coroutines and connections)" + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Naios/continuable" - license = "MIT" - settings = "os", "compiler" - no_copy_source = True - requires = ( - "function2/4.1.0", - ) + topics = ("asynchronous", "future", "coroutines", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" options = { - # Exceptions are disabled and `std::error_condition` is used as error_type. See tutorial-chaining-continuables-fail for details. "no_exceptions": [True, False], - # Exceptions are disabled and the type defined by `CONTINUABLE_WITH_CUSTOM_ERROR_TYPE` is used as error_type. - # See tutorial-chaining-continuables-fail for details. "custom_error_type": [True, False], - # Allows unhandled exceptions in asynchronous call hierarchies. See tutorial-chaining-continuables-fail for details. "unhandled_exceptions": [True, False], - # Allows to customize the final callback which can be used to implement custom unhandled asynchronous exception handlers. "custom_final_callback": [True, False], - # Don"t decorate the used type erasure, which is done to keep type names minimal for better error messages in debug builds. "immediate_types": [True, False], } default_options = { @@ -37,44 +35,84 @@ class ContinuableConan(ConanFile): "custom_error_type": False, "unhandled_exceptions": False, "custom_final_callback": False, - "immediate_types": False + "immediate_types": False, + } + options_description = { + "no_exceptions": ( + "Exceptions are disabled and `std::error_condition` is used as error_type. " + "See tutorial-chaining-continuables-fail for details." + ), + "custom_error_type": ( + "Exceptions are disabled and the type defined by `CONTINUABLE_WITH_CUSTOM_ERROR_TYPE` " + "is used as error_type. See tutorial-chaining-continuables-fail for details." + ), + "unhandled_exceptions": ( + "Allows unhandled exceptions in asynchronous call hierarchies. " + "See tutorial-chaining-continuables-fail for details." + ), + "custom_final_callback": ( + "Allows to customize the final callback which can be used to implement custom unhandled" + " asynchronous exception handlers." + ), + "immediate_types": ( + "Don't decorate the used type erasure, " + "which is done to keep type names minimal for better error messages in debug builds." + ), } + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 - def validate(self): - minimal_cpp_standard = "14" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "gcc": "5", "clang": "3.4", "apple-clang": "10", - "Visual Studio": "14" + "Visual Studio": "14", } - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) - self.output.warn( - "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) - return - version = tools.Version(self.settings.compiler.version) - if version < minimal_version[compiler]: - raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("function2/4.1.0") + + 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): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "continuable-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst=os.path.join("include", "continuable"), src=os.path.join(self._source_subfolder, "include", "continuable")) + copy( + self, + pattern="LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*", + dst=os.path.join(self.package_folder, "include", "continuable"), + src=os.path.join(self.source_folder, "include", "continuable"), + ) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os == "Linux": self.cpp_info.system_libs.append("pthread") if self.options.no_exceptions: @@ -87,6 +125,3 @@ def package_info(self): self.cpp_info.defines.append("CONTINUABLE_WITH_CUSTOM_FINAL_CALLBACK") if self.options.immediate_types: self.cpp_info.defines.append("CONTINUABLE_WITH_IMMEDIATE_TYPES") - - def package_id(self): - self.info.header_only() diff --git a/recipes/continuable/all/test_package/CMakeLists.txt b/recipes/continuable/all/test_package/CMakeLists.txt index 7dd0ea22e1254..f98eae0c75bf8 100644 --- a/recipes/continuable/all/test_package/CMakeLists.txt +++ b/recipes/continuable/all/test_package/CMakeLists.txt @@ -1,14 +1,11 @@ -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(continuable REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -set_target_properties( - ${PROJECT_NAME} PROPERTIES - +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON ) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE continuable::continuable) diff --git a/recipes/continuable/all/test_package/conanfile.py b/recipes/continuable/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/continuable/all/test_package/conanfile.py +++ b/recipes/continuable/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/continuable/all/test_package/test_package.cpp b/recipes/continuable/all/test_package/test_package.cpp index b26567acd4b10..92cb7db2c14ee 100644 --- a/recipes/continuable/all/test_package/test_package.cpp +++ b/recipes/continuable/all/test_package/test_package.cpp @@ -2,7 +2,7 @@ #include "continuable/continuable.hpp" -int main(int, char**) { +int main() { cti::make_ready_continuable("..."); return 0; From 5e58e1f455f90f5fa9ce5d717eb11fef288236c8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Jun 2023 14:21:41 +0100 Subject: [PATCH 0679/4087] (#18091) certify: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * certify: migrate to Conan v2 * Update recipes/certify/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/certify/all/conanfile.py | 67 ++++++++++++------- .../certify/all/test_package/CMakeLists.txt | 7 +- recipes/certify/all/test_package/conanfile.py | 21 ++++-- .../certify/all/test_package/test_package.cpp | 18 ++--- 4 files changed, 68 insertions(+), 45 deletions(-) diff --git a/recipes/certify/all/conanfile.py b/recipes/certify/all/conanfile.py index 86be0e74f0cf1..c1cb170b0ac8c 100644 --- a/recipes/certify/all/conanfile.py +++ b/recipes/certify/all/conanfile.py @@ -1,23 +1,29 @@ -from conans import ConanFile, 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.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class CertifyConan(ConanFile): name = "certify" description = "Platform-specific TLS keystore abstraction for use with Boost.ASIO and OpenSSL" - topics = ("boost", "asio", "tls", "ssl", "https") + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/djarek/certify" - license = "BSL-1.0" + topics = ("boost", "asio", "tls", "ssl", "https", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -28,17 +34,19 @@ def _compilers_minimum_version(self): "apple-clang": "11", } - @property - def _min_cppstd(self): - return "17" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.79.0") - self.requires("openssl/1.1.1q") + self.requires("boost/1.82.0") + self.requires("openssl/[>=1.1 <4]") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._min_cppstd) + check_min_cppstd(self, self._min_cppstd) def lazy_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -48,29 +56,38 @@ def lazy_lt_semver(v1, v2): 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.output.warning( + f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17." + ) 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)) - - def package_id(self): - self.info.header_only() + raise ConanInvalidConfiguration( + f"{self.name} requires C++17, which your compiler does not support." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE_1_0.txt", dst="licenses", - src=self._source_subfolder) - self.copy(pattern="*", dst="include", - src=os.path.join(self._source_subfolder, "include")) + copy( + self, + pattern="LICENSE_1_0.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) def package_info(self): self.cpp_info.set_property("cmake_file_name", "certify") self.cpp_info.set_property("cmake_target_name", "certify::core") - self.cpp_info.components["_certify"].requires = ["boost::boost", "openssl::openssl"] + self.cpp_info.components["_certify"].requires = ["boost::boost", "openssl::openssl"] self.cpp_info.components["_certify"].names["cmake_find_package"] = "core" self.cpp_info.components["_certify"].names["cmake_find_package_multi"] = "core" + self.cpp_info.names["cmake_find_package"] = "certify" self.cpp_info.names["cmake_find_package_multi"] = "certify" diff --git a/recipes/certify/all/test_package/CMakeLists.txt b/recipes/certify/all/test_package/CMakeLists.txt index 37373018e655a..2d5f2ce7457e3 100644 --- a/recipes/certify/all/test_package/CMakeLists.txt +++ b/recipes/certify/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(certify REQUIRED CONFIG) diff --git a/recipes/certify/all/test_package/conanfile.py b/recipes/certify/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/certify/all/test_package/conanfile.py +++ b/recipes/certify/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/certify/all/test_package/test_package.cpp b/recipes/certify/all/test_package/test_package.cpp index 28f4c97339bb8..6e95446160938 100644 --- a/recipes/certify/all/test_package/test_package.cpp +++ b/recipes/certify/all/test_package/test_package.cpp @@ -6,15 +6,15 @@ #include int main() { - boost::asio::io_context ioc{1}; - boost::asio::ssl::context context{boost::asio::ssl::context_base::method::tls_client}; - boost::asio::ssl::stream stream(ioc, context); - constexpr auto hostname = "example.com"; + boost::asio::io_context ioc{1}; + boost::asio::ssl::context context{boost::asio::ssl::context_base::method::tls_client}; + boost::asio::ssl::stream stream(ioc, context); + constexpr auto hostname = "example.com"; - BOOST_TEST(boost::certify::sni_hostname(stream).empty()); - boost::certify::sni_hostname(stream, hostname); - BOOST_TEST(boost::certify::sni_hostname(stream) == hostname); - std::cout << boost::report_errors(); + BOOST_TEST(boost::certify::sni_hostname(stream).empty()); + boost::certify::sni_hostname(stream, hostname); + BOOST_TEST(boost::certify::sni_hostname(stream) == hostname); + std::cout << boost::report_errors(); - return 0; + return 0; } From 305db1cf46d4294c0d399260ad3e28d25d84961d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Jun 2023 22:42:13 +0900 Subject: [PATCH 0680/4087] (#18085) r8brain-free-src: add version 6.3, add package_type * r8brain-free-src: add version 6.3 * link math lib --- recipes/r8brain-free-src/all/conandata.yml | 3 +++ recipes/r8brain-free-src/all/conanfile.py | 3 ++- recipes/r8brain-free-src/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/r8brain-free-src/all/conandata.yml b/recipes/r8brain-free-src/all/conandata.yml index 27ad749e21214..e43484f945f02 100644 --- a/recipes/r8brain-free-src/all/conandata.yml +++ b/recipes/r8brain-free-src/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.3": + url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.3.tar.gz" + sha256: "f2cd46cd8806294d9be45ed4e6bda5f8ef1dc808625eec3facde784953d2bc23" "6.2": url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.2.tar.gz" sha256: "5e576ec8cb6ae3969c4bcacb630ddc957fc20f60a6b08593681d16e06942597d" diff --git a/recipes/r8brain-free-src/all/conanfile.py b/recipes/r8brain-free-src/all/conanfile.py index c6a956008c5c7..50f5693f0f6cb 100644 --- a/recipes/r8brain-free-src/all/conanfile.py +++ b/recipes/r8brain-free-src/all/conanfile.py @@ -15,6 +15,7 @@ class R8brainFreeSrcConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/avaneev/r8brain-free-src" topics = ("audio", "sample-rate", "conversion", "audio-processing", "resampler") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -78,7 +79,7 @@ def package_info(self): self.cpp_info.libs = ["r8brain"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.extend(["pthread", "m",]) if self.options.fft == "pffft": self.cpp_info.defines.append("R8B_PFFFT") diff --git a/recipes/r8brain-free-src/config.yml b/recipes/r8brain-free-src/config.yml index 541a5f21084de..8f56257b3441d 100644 --- a/recipes/r8brain-free-src/config.yml +++ b/recipes/r8brain-free-src/config.yml @@ -1,4 +1,6 @@ versions: + "6.3": + folder: all "6.2": folder: all "4.6": From e2bf4b4d63e5a4cac9a8e599986a4bd0afbc2942 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Jun 2023 23:02:11 +0900 Subject: [PATCH 0681/4087] (#18083) rapidcsv: add version 8.77, add package_type --- recipes/rapidcsv/all/conandata.yml | 3 +++ recipes/rapidcsv/all/conanfile.py | 1 + recipes/rapidcsv/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/rapidcsv/all/conandata.yml b/recipes/rapidcsv/all/conandata.yml index 502ec08fa730f..7a2083f7a43d3 100644 --- a/recipes/rapidcsv/all/conandata.yml +++ b/recipes/rapidcsv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.77": + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.77.tar.gz" + sha256: "2513c05e1a39799edd93787e86bdd83462bee06150b40942879af955288fa495" "8.75": url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.75.tar.gz" sha256: "004454890d371b4db370dfd44d64077f8f9b2b92e59d1d6471e1923f891485be" diff --git a/recipes/rapidcsv/all/conanfile.py b/recipes/rapidcsv/all/conanfile.py index a9d964b6536a3..758f7e3653563 100644 --- a/recipes/rapidcsv/all/conanfile.py +++ b/recipes/rapidcsv/all/conanfile.py @@ -13,6 +13,7 @@ class RapidcsvConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/d99kris/rapidcsv" topics = ("csv", "parser", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/rapidcsv/config.yml b/recipes/rapidcsv/config.yml index df34fa7350e3c..d18c0697363e9 100644 --- a/recipes/rapidcsv/config.yml +++ b/recipes/rapidcsv/config.yml @@ -1,4 +1,6 @@ versions: + "8.77": + folder: "all" "8.75": folder: "all" "8.69": From 8f0625f55152af939e95723f94711cc14bf39652 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Jun 2023 23:41:58 +0900 Subject: [PATCH 0682/4087] (#18069) sfml: add version 2.6.0 * sfml: add version 2.6.0 * use minimp3 and glad in extlibs * copy license.md in 2.6.0 * disable WARNINGS_AS_ERRORS * disable warning flags on 2.6.0 * C++17 validation check for 2.6.0 * require C++11 not C++17 * use CoreServices framework on macOS --- recipes/sfml/all/conandata.yml | 26 +++++++-- recipes/sfml/all/conanfile.py | 20 ++++++- ...> 2.5.1-0001-cmake-robust-find-deps.patch} | 0 ...> 2.5.1-0002-allow-non-x86-64-macos.patch} | 0 ...patch => 2.5.1-0003-allow-shared-MT.patch} | 0 ...fix-ios.patch => 2.5.1-0004-fix-ios.patch} | 0 ...patch => 2.5.1-0005-remove-auto-ptr.patch} | 0 .../2.6.0-0001-cmake-robust-find-deps.patch | 57 +++++++++++++++++++ .../patches/2.6.0-0003-allow-shared-MT.patch | 13 +++++ .../sfml/all/patches/2.6.0-0004-fix-ios.patch | 28 +++++++++ .../2.6.0-0006-disable-warning-flags.patch | 22 +++++++ recipes/sfml/config.yml | 2 + 12 files changed, 160 insertions(+), 8 deletions(-) rename recipes/sfml/all/patches/{0001-cmake-robust-find-deps.patch => 2.5.1-0001-cmake-robust-find-deps.patch} (100%) rename recipes/sfml/all/patches/{0002-allow-non-x86-64-macos.patch => 2.5.1-0002-allow-non-x86-64-macos.patch} (100%) rename recipes/sfml/all/patches/{0003-allow-shared-MT.patch => 2.5.1-0003-allow-shared-MT.patch} (100%) rename recipes/sfml/all/patches/{0004-fix-ios.patch => 2.5.1-0004-fix-ios.patch} (100%) rename recipes/sfml/all/patches/{0005-remove-auto-ptr.patch => 2.5.1-0005-remove-auto-ptr.patch} (100%) create mode 100644 recipes/sfml/all/patches/2.6.0-0001-cmake-robust-find-deps.patch create mode 100644 recipes/sfml/all/patches/2.6.0-0003-allow-shared-MT.patch create mode 100644 recipes/sfml/all/patches/2.6.0-0004-fix-ios.patch create mode 100644 recipes/sfml/all/patches/2.6.0-0006-disable-warning-flags.patch diff --git a/recipes/sfml/all/conandata.yml b/recipes/sfml/all/conandata.yml index 58f8c7d9b6cc4..2d05c18fb61d8 100644 --- a/recipes/sfml/all/conandata.yml +++ b/recipes/sfml/all/conandata.yml @@ -1,22 +1,38 @@ sources: + "2.6.0": + url: "https://www.sfml-dev.org/files/SFML-2.6.0-sources.zip" + sha256: "dc477fc7266641709046bd38628c909f5748bd2564b388cf6c750a9e20cdfef1" "2.5.1": url: "https://www.sfml-dev.org/files/SFML-2.5.1-sources.zip" sha256: "bf1e0643acb92369b24572b703473af60bac82caf5af61e77c063b779471bb7f" patches: + "2.6.0": + - patch_file: "patches/2.6.0-0001-cmake-robust-find-deps.patch" + patch_description: "Robust discovery of dependencies" + patch_type: "conan" + - patch_file: "patches/2.6.0-0003-allow-shared-MT.patch" + patch_description: "Allow to build shared SFML with MT runtime" + patch_type: "portability" + - patch_file: "patches/2.6.0-0004-fix-ios.patch" + patch_description: "Fix iOS detection logic in CMakeLists" + patch_type: "portability" + - patch_file: "patches/2.6.0-0006-disable-warning-flags.patch" + patch_description: "Disable warning flags which may cause compilation errors" + patch_type: "portability" "2.5.1": - - patch_file: "patches/0001-cmake-robust-find-deps.patch" + - patch_file: "patches/2.5.1-0001-cmake-robust-find-deps.patch" patch_description: "Robust discovery of dependencies" patch_type: "conan" - - patch_file: "patches/0002-allow-non-x86-64-macos.patch" + - patch_file: "patches/2.5.1-0002-allow-non-x86-64-macos.patch" patch_description: "Allow compilation for macOS arm" patch_type: "portability" - - patch_file: "patches/0003-allow-shared-MT.patch" + - patch_file: "patches/2.5.1-0003-allow-shared-MT.patch" patch_description: "Allow to build shared SFML with MT runtime" patch_type: "portability" - - patch_file: "patches/0004-fix-ios.patch" + - patch_file: "patches/2.5.1-0004-fix-ios.patch" patch_description: "Fix iOS detection logic in CMakeLists" patch_type: "portability" - - patch_file: "patches/0005-remove-auto-ptr.patch" + - patch_file: "patches/2.5.1-0005-remove-auto-ptr.patch" patch_description: "Remove usage of auto_ptr to allow compilation with C++17 standard" patch_type: "portability" patch_source: "https://github.com/SFML/SFML/commit/bf92efe9a4035fee0258386173d53556aa196e49" diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 18f3ab2ca1e58..71d6b68c2fa7e 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -2,8 +2,9 @@ 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, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir, save, copy from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import textwrap @@ -52,6 +53,7 @@ def layout(self): def requirements(self): if self.options.window: + # FIXME: use cci's glad if self.settings.os in ["Windows", "Linux", "FreeBSD", "Macos"]: self.requires("opengl/system") if self.settings.os == "Linux": @@ -61,6 +63,7 @@ def requirements(self): self.requires("freetype/2.13.0") self.requires("stb/cci.20220909") if self.options.audio: + # FIXME: use cci's minimp3 self.requires("flac/1.4.2") self.requires("openal-soft/1.22.2") self.requires("vorbis/1.3.7") @@ -73,7 +76,9 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - rmdir(self, os.path.join(self.source_folder, "extlibs")) + # sfml/2.6.0 uses minimp3 and glad in extlibs + if Version(self.version) < "2.6.0": + rmdir(self, os.path.join(self.source_folder, "extlibs")) def generate(self): tc = CMakeToolchain(self) @@ -86,6 +91,9 @@ def generate(self): tc.variables["SFML_INSTALL_PKGCONFIG_FILES"] = False tc.variables["SFML_GENERATE_PDB"] = False tc.variables["SFML_USE_SYSTEM_DEPS"] = True + tc.variables["WARNINGS_AS_ERRORS"] = False + if Version(self.version) >= "2.6.0": + tc.variables["CMAKE_CXX_STANDARD"] = 11 if is_msvc(self): tc.variables["SFML_USE_STATIC_STD_LIBS"] = is_msvc_static_runtime(self) tc.generate() @@ -99,9 +107,12 @@ def build(self): cmake.build() def package(self): + if Version(self.version) >= "2.6.0": + copy(self, pattern="license.md", 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")) + rmdir(self, os.path.join(self.package_folder, "share")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( @@ -168,6 +179,9 @@ def carbon(): def iokit(): return ["IOKit"] if self.settings.os == "Macos" else [] + def coreservices(): + return ["CoreServices"] if self.settings.os == "Macos" else [] + def coregraphics(): return ["CoreGraphics"] if self.settings.os == "iOS" else [] @@ -220,7 +234,7 @@ def opengles_ios(): "system_libs": gdi32() + winmm() + usbhid() + android() + opengles_android(), "frameworks": foundation() + appkit() + iokit() + carbon() + uikit() + coregraphics() + quartzcore() + - coremotion() + opengles_ios(), + coreservices() + coremotion() + opengles_ios(), }, }) if self.options.graphics: diff --git a/recipes/sfml/all/patches/0001-cmake-robust-find-deps.patch b/recipes/sfml/all/patches/2.5.1-0001-cmake-robust-find-deps.patch similarity index 100% rename from recipes/sfml/all/patches/0001-cmake-robust-find-deps.patch rename to recipes/sfml/all/patches/2.5.1-0001-cmake-robust-find-deps.patch diff --git a/recipes/sfml/all/patches/0002-allow-non-x86-64-macos.patch b/recipes/sfml/all/patches/2.5.1-0002-allow-non-x86-64-macos.patch similarity index 100% rename from recipes/sfml/all/patches/0002-allow-non-x86-64-macos.patch rename to recipes/sfml/all/patches/2.5.1-0002-allow-non-x86-64-macos.patch diff --git a/recipes/sfml/all/patches/0003-allow-shared-MT.patch b/recipes/sfml/all/patches/2.5.1-0003-allow-shared-MT.patch similarity index 100% rename from recipes/sfml/all/patches/0003-allow-shared-MT.patch rename to recipes/sfml/all/patches/2.5.1-0003-allow-shared-MT.patch diff --git a/recipes/sfml/all/patches/0004-fix-ios.patch b/recipes/sfml/all/patches/2.5.1-0004-fix-ios.patch similarity index 100% rename from recipes/sfml/all/patches/0004-fix-ios.patch rename to recipes/sfml/all/patches/2.5.1-0004-fix-ios.patch diff --git a/recipes/sfml/all/patches/0005-remove-auto-ptr.patch b/recipes/sfml/all/patches/2.5.1-0005-remove-auto-ptr.patch similarity index 100% rename from recipes/sfml/all/patches/0005-remove-auto-ptr.patch rename to recipes/sfml/all/patches/2.5.1-0005-remove-auto-ptr.patch diff --git a/recipes/sfml/all/patches/2.6.0-0001-cmake-robust-find-deps.patch b/recipes/sfml/all/patches/2.6.0-0001-cmake-robust-find-deps.patch new file mode 100644 index 0000000000000..1e4a21511eb3b --- /dev/null +++ b/recipes/sfml/all/patches/2.6.0-0001-cmake-robust-find-deps.patch @@ -0,0 +1,57 @@ +diff --git a/src/SFML/Audio/CMakeLists.txt b/src/SFML/Audio/CMakeLists.txt +index d27dc6d..27c3386 100644 +--- a/src/SFML/Audio/CMakeLists.txt ++++ b/src/SFML/Audio/CMakeLists.txt +@@ -69,19 +69,17 @@ endif() + + # find external libraries + sfml_find_package(OpenAL INCLUDE "OPENAL_INCLUDE_DIR" LINK "OPENAL_LIBRARY") +-sfml_find_package(VORBIS INCLUDE "VORBIS_INCLUDE_DIRS" LINK "VORBIS_LIBRARIES") ++sfml_find_package(Vorbis INCLUDE "VORBIS_INCLUDE_DIRS" LINK "VORBIS_LIBRARIES") + sfml_find_package(FLAC INCLUDE "FLAC_INCLUDE_DIR" LINK "FLAC_LIBRARY") + + # avoids warnings in vorbisfile.h +-target_compile_definitions(VORBIS INTERFACE "OV_EXCLUDE_STATIC_CALLBACKS") +-target_compile_definitions(FLAC INTERFACE "FLAC__NO_DLL") + + # define the sfml-audio target + sfml_add_library(sfml-audio + SOURCES ${SRC} ${CODECS_SRC}) + + # setup dependencies +-target_link_libraries(sfml-audio PRIVATE OpenAL) ++target_link_libraries(sfml-audio PRIVATE OpenAL::OpenAL) + + # minimp3 sources + target_include_directories(sfml-audio SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/minimp3") +@@ -92,4 +90,4 @@ endif() + + target_link_libraries(sfml-audio + PUBLIC sfml-system +- PRIVATE VORBIS FLAC) ++ PRIVATE Vorbis::vorbisenc Vorbis::vorbisfile FLAC::FLAC) +diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt +index a939a98..bd6a89b 100644 +--- a/src/SFML/Graphics/CMakeLists.txt ++++ b/src/SFML/Graphics/CMakeLists.txt +@@ -93,7 +93,8 @@ sfml_add_library(sfml-graphics + target_link_libraries(sfml-graphics PUBLIC sfml-window) + + # stb_image sources +-target_include_directories(sfml-graphics SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/stb_image") ++find_package(stb REQUIRED CONFIG) ++target_link_libraries(sfml-graphics PRIVATE stb::stb) + + # glad sources + target_include_directories(sfml-graphics SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/glad/include") +@@ -123,8 +124,8 @@ if((SFML_COMPILER_MSVC AND SFML_MSVC_VERSION GREATER_EQUAL 14) OR (SFML_COMPILER + target_link_libraries(sfml-graphics PRIVATE legacy_stdio_definitions.lib) + endif() + +-sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") +-target_link_libraries(sfml-graphics PRIVATE Freetype) ++find_package(freetype REQUIRED) ++target_link_libraries(sfml-graphics PRIVATE freetype) + + # add preprocessor symbols + target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG") diff --git a/recipes/sfml/all/patches/2.6.0-0003-allow-shared-MT.patch b/recipes/sfml/all/patches/2.6.0-0003-allow-shared-MT.patch new file mode 100644 index 0000000000000..59b4bbd230de7 --- /dev/null +++ b/recipes/sfml/all/patches/2.6.0-0003-allow-shared-MT.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e3f89d..003857e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -223,7 +223,7 @@ if(SFML_OS_WINDOWS) + sfml_set_option(SFML_USE_STATIC_STD_LIBS FALSE BOOL "TRUE to statically link to the standard libraries, FALSE to use them as DLLs") + + # the following combination of flags is not valid +- if(BUILD_SHARED_LIBS AND SFML_USE_STATIC_STD_LIBS) ++ if(0) + message(FATAL_ERROR "BUILD_SHARED_LIBS and SFML_USE_STATIC_STD_LIBS cannot be used together") + endif() + diff --git a/recipes/sfml/all/patches/2.6.0-0004-fix-ios.patch b/recipes/sfml/all/patches/2.6.0-0004-fix-ios.patch new file mode 100644 index 0000000000000..34b49a186218d --- /dev/null +++ b/recipes/sfml/all/patches/2.6.0-0004-fix-ios.patch @@ -0,0 +1,28 @@ +diff --git a/cmake/Config.cmake b/cmake/Config.cmake +index 2ce5ac4..3cd3a07 100644 +--- a/cmake/Config.cmake ++++ b/cmake/Config.cmake +@@ -39,13 +39,12 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "^NetBSD$") + set(SFML_OS_NETBSD 1) + # don't use the OpenGL ES implementation on NetBSD + set(OPENGL_ES 0) +-elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +- if(IOS) ++elseif(${CMAKE_SYSTEM_NAME} STREQUAL "iOS") + set(SFML_OS_IOS 1) + + # use the OpenGL ES implementation on iOS + set(OPENGL_ES 1) +- else() ++elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + set(SFML_OS_MACOSX 1) + + # don't use the OpenGL ES implementation on Mac OS X +@@ -58,7 +57,6 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + message(FATAL_ERROR "Unsupported version of OS X: ${MACOSX_VERSION_RAW}") + return() + endif() +- endif() + elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Android") + set(SFML_OS_ANDROID 1) + diff --git a/recipes/sfml/all/patches/2.6.0-0006-disable-warning-flags.patch b/recipes/sfml/all/patches/2.6.0-0006-disable-warning-flags.patch new file mode 100644 index 0000000000000..362c57e93365a --- /dev/null +++ b/recipes/sfml/all/patches/2.6.0-0006-disable-warning-flags.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake +index e0118eb..85a7714 100644 +--- a/cmake/Macros.cmake ++++ b/cmake/Macros.cmake +@@ -66,8 +66,6 @@ macro(sfml_add_library target) + add_library(${target} ${THIS_SOURCES}) + endif() + +- set_file_warnings(${THIS_SOURCES}) +- + # define the export symbol of the module + string(REPLACE "-" "_" NAME_UPPER "${target}") + string(TOUPPER "${NAME_UPPER}" NAME_UPPER) +@@ -265,8 +263,6 @@ macro(sfml_add_example target) + add_executable(${target} ${target_input}) + endif() + +- set_file_warnings(${target_input}) +- + # set the debug suffix + set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d) + diff --git a/recipes/sfml/config.yml b/recipes/sfml/config.yml index eab83a303df52..a8b7c0e911e63 100644 --- a/recipes/sfml/config.yml +++ b/recipes/sfml/config.yml @@ -1,3 +1,5 @@ versions: + "2.6.0": + folder: all "2.5.1": folder: all From 180aef37e79e790708a96133c33d374eaf7a8f93 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 28 Jun 2023 17:02:39 +0200 Subject: [PATCH 0683/4087] (#18047) libpng: add 1.6.40 version * libpng: add 1.6.40 version * rework renaming windows static library * Revert "rework renaming windows static library" This reverts commit ea0a535260e89d5c2e0d4d25f653a8b7a564123d. * use upstream library name for Windows static library * libpng: minor fixes * libpng: fix conditional --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/libpng/all/conandata.yml | 3 +++ recipes/libpng/all/conanfile.py | 22 ++++++++++------------ recipes/libpng/config.yml | 2 ++ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml index e10462996e48c..040df395bad79 100644 --- a/recipes/libpng/all/conandata.yml +++ b/recipes/libpng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.40": + url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.40/libpng-1.6.40.tar.xz" + sha256: "535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1" "1.6.39": url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.39/libpng-1.6.39.tar.xz" sha256: "1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937" diff --git a/recipes/libpng/all/conanfile.py b/recipes/libpng/all/conanfile.py index 5b838438efa3b..a67c210911f86 100644 --- a/recipes/libpng/all/conanfile.py +++ b/recipes/libpng/all/conanfile.py @@ -126,25 +126,21 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) if self.settings.os == "Windows": - if Version(self.version) <= "1.5.2": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - 'set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static)', - 'set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME})') - else: - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - 'OUTPUT_NAME "${PNG_LIB_NAME}_static', - 'OUTPUT_NAME "${PNG_LIB_NAME}') if not (is_msvc(self) or self._is_clang_cl): if Version(self.version) < "1.6.38": src_text = 'COMMAND "${CMAKE_COMMAND}" -E copy_if_different $ $/${DEST_FILE}' - else: + elif Version(self.version) == "1.6.39": src_text = '''COMMAND "${CMAKE_COMMAND}" -E copy_if_different $ $/${DEST_FILE}''' - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - src_text, - 'COMMAND "${CMAKE_COMMAND}" -E copy_if_different $/$ $/${DEST_FILE}') + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + src_text, + 'COMMAND "${CMAKE_COMMAND}" -E copy_if_different $/$ $/${DEST_FILE}') + else: + # TODO: evaluate and document in what issue this patch aims to resolve, and in which scenarios it is needed + # Note: the cmake logic for this has changed again in versions >=1.6.40 + pass def build(self): self._patch_sources() @@ -175,6 +171,8 @@ def package_info(self): prefix = "lib" if (is_msvc(self) or self._is_clang_cl) else "" suffix = major_min_version if self.settings.os == "Windows" else "" + if is_msvc(self) or self._is_clang_cl: + suffix += "_static" if not self.options.shared else "" suffix += "d" if self.settings.os == "Windows" and self.settings.build_type == "Debug" else "" self.cpp_info.libs = [f"{prefix}png{suffix}"] if self.settings.os in ["Linux", "Android", "FreeBSD", "SunOS", "AIX"]: diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml index feabbd00c1919..c56aca473ff02 100644 --- a/recipes/libpng/config.yml +++ b/recipes/libpng/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.40": + folder: all "1.6.39": folder: all "1.6.38": From bffdf8e6d65f820f561a6b42763601f05dc10a0c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Jun 2023 16:42:56 +0100 Subject: [PATCH 0684/4087] (#17994) sbp: add Conan v2 support, add v4.15.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sbp: add Conan v2 support * sbp: add v4.15.0 * spb: disable tests and docs --------- Co-authored-by: Rubén Rincón Blanco --- recipes/sbp/all/CMakeLists.txt | 7 -- recipes/sbp/all/conandata.yml | 17 +++-- recipes/sbp/all/conanfile.py | 82 +++++++++++---------- recipes/sbp/all/test_package/CMakeLists.txt | 7 +- recipes/sbp/all/test_package/conanfile.py | 19 +++-- recipes/sbp/config.yml | 4 +- 6 files changed, 76 insertions(+), 60 deletions(-) delete mode 100644 recipes/sbp/all/CMakeLists.txt diff --git a/recipes/sbp/all/CMakeLists.txt b/recipes/sbp/all/CMakeLists.txt deleted file mode 100644 index 454b398b885e5..0000000000000 --- a/recipes/sbp/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder/c") diff --git a/recipes/sbp/all/conandata.yml b/recipes/sbp/all/conandata.yml index f640026c27acb..c5be56f8c3b1f 100644 --- a/recipes/sbp/all/conandata.yml +++ b/recipes/sbp/all/conandata.yml @@ -1,11 +1,11 @@ sources: - "3.4.10": + "4.15.0": cmake: - url: "https://github.com/swift-nav/cmake/archive/373d4fcafbbc0c208dc9ecb278d36ed8c9448eda.zip" - sha256: 6077d2a754d013e3cb9826f589e47b19ab01f4d91ede4f5bfc14db74bc5dc894 + url: "https://github.com/swift-nav/cmake/archive/12b7f037e7cc721a9a36c7342ba2ca2b0cafc01e.zip" + sha256: 6a725914bf8c3ed13065812cf4d7b0a69e478eaa150561e0e3be4cd01bf3798f source: - url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v3.4.10.tar.gz" - sha256: f2fb738f49112b25e7849ca0c75415159127e9b5373b13e7027362b8fa0b1224 + url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v4.15.0.tar.gz" + sha256: e71fd7dd5536058d6b93ade443913e68da7b4f1896aa720dc369baab1864e9e9 "4.2.0": cmake: url: "https://github.com/swift-nav/cmake/archive/31604e72e72c09fa32effdbc37acc79dda7c99d7.zip" @@ -13,3 +13,10 @@ sources: source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v4.2.0.tar.gz" sha256: 9ee9808394867405938505fb0aa52ffeb8d98b7ce222e47629ffabdc9e23d3e4 + "3.4.10": + cmake: + url: "https://github.com/swift-nav/cmake/archive/373d4fcafbbc0c208dc9ecb278d36ed8c9448eda.zip" + sha256: 6077d2a754d013e3cb9826f589e47b19ab01f4d91ede4f5bfc14db74bc5dc894 + source: + url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v3.4.10.tar.gz" + sha256: f2fb738f49112b25e7849ca0c75415159127e9b5373b13e7027362b8fa0b1224 diff --git a/recipes/sbp/all/conanfile.py b/recipes/sbp/all/conanfile.py index 77edf2fd79a3e..b94c371fc9b5b 100644 --- a/recipes/sbp/all/conanfile.py +++ b/recipes/sbp/all/conanfile.py @@ -1,27 +1,30 @@ 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, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy + +required_conan_version = ">=1.53.0" class SbpConan(ConanFile): name = "sbp" + description = "Swift Binary Protocol client library" license = "MIT" - homepage = "https://github.com/swift-nav/libsbp" url = "https://github.com/conan-io/conan-center-index" - description = "Swift Binary Protocol client library" + homepage = "https://github.com/swift-nav/libsbp" topics = ("gnss",) - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generators = "cmake" - exports_sources = "CMakeLists.txt", "c" - - _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], + } + default_options = { + "shared": False, + "fPIC": True, + } def config_options(self): if self.settings.os == "Windows": @@ -29,41 +32,46 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def validate(self): if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("Windows shared builds are not supported right now, see issue https://github.com/swift-nav/libsbp/issues/1062") + raise ConanInvalidConfiguration( + "Windows shared builds are not supported right now, " + "see issue https://github.com/swift-nav/libsbp/issues/1062" + ) + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): data = self.conan_data["sources"][self.version] + get(self, **data["source"], strip_root=True) + get(self, **data["cmake"], strip_root=True, destination=os.path.join("c", "cmake", "common")) - tools.get(**data["source"], strip_root=True, destination=self._source_subfolder) - tools.get(**data["cmake"], strip_root=True, destination=os.path.join(self._source_subfolder, "c", "cmake", "common")) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - self._cmake.definitions["libsbp_ENABLE_TESTS"] = False - self._cmake.definitions["libsbp_ENABLE_DOCS"] = False - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["libsbp_ENABLE_TESTS"] = False + tc.variables["libsbp_ENABLE_DOCS"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder="c") cmake.build() def package(self): - self.copy( - "LICENSE", - src=self._source_subfolder, - dst="licenses", - ignore_case=True, - keep_path=False, + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, ) - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/sbp/all/test_package/CMakeLists.txt b/recipes/sbp/all/test_package/CMakeLists.txt index d9693fa5cada2..6da47266b9454 100644 --- a/recipes/sbp/all/test_package/CMakeLists.txt +++ b/recipes/sbp/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) find_package(sbp REQUIRED CONFIG) diff --git a/recipes/sbp/all/test_package/conanfile.py b/recipes/sbp/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/sbp/all/test_package/conanfile.py +++ b/recipes/sbp/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/sbp/config.yml b/recipes/sbp/config.yml index 84cd65924d4fb..6e299a70ad6f8 100644 --- a/recipes/sbp/config.yml +++ b/recipes/sbp/config.yml @@ -1,5 +1,7 @@ versions: - "3.4.10": + "4.15.0": folder: "all" "4.2.0": folder: "all" + "3.4.10": + folder: "all" From ca817740b568d381896dc56e1c5faa0653a9bffd Mon Sep 17 00:00:00 2001 From: "C.D. Clark III" Date: Wed, 28 Jun 2023 11:22:22 -0500 Subject: [PATCH 0685/4087] (#18014) [libinterpolate]: added version 2.6.4, which adds Windows support. * [libinterpolate]: added version 2.6.4, which adds Windows support. * [libinterpolate]: fixed conandata.yml linter errors * Update recipes/libinterpolate/all/conanfile.py fix: limit <2.6.4 versions to Linux only Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libinterpolate/all/conandata.yml | 4 ++++ recipes/libinterpolate/all/conanfile.py | 7 ++++--- recipes/libinterpolate/config.yml | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/recipes/libinterpolate/all/conandata.yml b/recipes/libinterpolate/all/conandata.yml index ccfe0443cddf0..7d38fb0462c3a 100644 --- a/recipes/libinterpolate/all/conandata.yml +++ b/recipes/libinterpolate/all/conandata.yml @@ -7,3 +7,7 @@ sources: url: - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.3.tar.gz" sha256: "bb2f253c27594b4e56ed9349630086665f529100eac2cd3cba63d198c3a84ff9" + "2.6.4": + url: + - "https://github.com/CD3/libInterpolate/archive/refs/tags/2.6.4.tar.gz" + sha256: "231a39fcc87ffc3e03936f7a21abc78ef309c2f1de79bd3ae72c24d78352d666" diff --git a/recipes/libinterpolate/all/conanfile.py b/recipes/libinterpolate/all/conanfile.py index 62e7baa6e4ea4..b1c88daae5803 100644 --- a/recipes/libinterpolate/all/conanfile.py +++ b/recipes/libinterpolate/all/conanfile.py @@ -43,9 +43,10 @@ def requirements(self): self.requires("eigen/3.3.7", transitive_headers=True) def validate(self): - if self.settings.os != "Linux": - raise ConanInvalidConfiguration("libInterpolate currently only supports Linux. Upstream PR's are welcome (https://github.com/CD3/libInterpolate/issues/14).") - + 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"]: + 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) minimum_version = self._compilers_minimum_version.get( diff --git a/recipes/libinterpolate/config.yml b/recipes/libinterpolate/config.yml index f4cf1cbc64d28..2f31497672d43 100644 --- a/recipes/libinterpolate/config.yml +++ b/recipes/libinterpolate/config.yml @@ -3,3 +3,5 @@ versions: folder: all "2.6.3": folder: all + "2.6.4": + folder: all From d51d126913980b544bbbadaf6f64adf6827669a1 Mon Sep 17 00:00:00 2001 From: qwqbot Date: Thu, 29 Jun 2023 00:44:43 +0800 Subject: [PATCH 0686/4087] (#17976) spdlog: bump fmt10.0.0 and apply patch to fix build error --- recipes/spdlog/all/conandata.yml | 6 ++++ recipes/spdlog/all/conanfile.py | 8 +++-- .../patches/1.11.0-0001-fix-fmt10-build.patch | 34 +++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 recipes/spdlog/all/patches/1.11.0-0001-fix-fmt10-build.patch diff --git a/recipes/spdlog/all/conandata.yml b/recipes/spdlog/all/conandata.yml index ca7a629380047..d6609a68f5915 100644 --- a/recipes/spdlog/all/conandata.yml +++ b/recipes/spdlog/all/conandata.yml @@ -14,3 +14,9 @@ sources: "1.8.5": url: "https://github.com/gabime/spdlog/archive/v1.8.5.tar.gz" sha256: "944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8" +patches: + "1.11.0": + - patch_file: "patches/1.11.0-0001-fix-fmt10-build.patch" + patch_description: "Fix fmt 10.0.0 build" + patch_type: "conan" + patch_source: "https://github.com/gabime/spdlog/pull/2694" diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index 7c21d2c9559c3..f2653d49db073 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import get, copy, rmdir, replace_in_file +from conan.tools.files import get, copy, rmdir, replace_in_file, apply_conandata_patches, export_conandata_patches from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version import os @@ -36,6 +36,9 @@ class SpdlogConan(ConanFile): "no_exceptions": False, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -54,7 +57,7 @@ def requirements(self): fmt_version = "7.1.3" if self_version >= "1.11.0": - fmt_version = "9.1.0" + fmt_version = "10.0.0" elif self_version >= "1.10.0": fmt_version = "8.1.1" elif self_version >= "1.9.0": @@ -106,6 +109,7 @@ def _disable_werror(self): replace_in_file(self, os.path.join(self.source_folder, "cmake", "utils.cmake"), "/WX", "") def build(self): + apply_conandata_patches(self) self._disable_werror() if not self.options.header_only: cmake = CMake(self) diff --git a/recipes/spdlog/all/patches/1.11.0-0001-fix-fmt10-build.patch b/recipes/spdlog/all/patches/1.11.0-0001-fix-fmt10-build.patch new file mode 100644 index 0000000000000..613990e4eb052 --- /dev/null +++ b/recipes/spdlog/all/patches/1.11.0-0001-fix-fmt10-build.patch @@ -0,0 +1,34 @@ +From 576210a1363822a132657090b9f37e305bd0e2c2 Mon Sep 17 00:00:00 2001 +From: pwqbot +Date: Tue, 20 Jun 2023 10:41:48 +0800 +Subject: [PATCH] fix fmt build + +--- + include/spdlog/common.h | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/include/spdlog/common.h b/include/spdlog/common.h +index f97fd48c..00f4d728 100644 +--- a/include/spdlog/common.h ++++ b/include/spdlog/common.h +@@ -160,12 +160,19 @@ using format_string_t = fmt::format_string; + template + using remove_cvref_t = typename std::remove_cv::type>::type; + ++template ++# if FMT_VERSION >= 90101 ++using fmt_runtime_string = fmt::runtime_format_string; ++# else ++using fmt_runtime_string = fmt::basic_runtime; ++# endif ++ + // clang doesn't like SFINAE disabled constructor in std::is_convertible<> so have to repeat the condition from basic_format_string here, + // in addition, fmt::basic_runtime is only convertible to basic_format_string but not basic_string_view + template + struct is_convertible_to_basic_format_string + : std::integral_constant>::value || std::is_same, fmt::basic_runtime>::value> ++ std::is_convertible>::value || std::is_same, fmt_runtime_string>::value> + {}; + + # if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT) From cb9975bfdea716b0024aa1bae0ec07a1bb03227a Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Wed, 28 Jun 2023 19:24:00 +0200 Subject: [PATCH 0687/4087] (#17725) protobuf: add version 3.21.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/protobuf/all/conandata.yml | 8 ++++++ ...otobuf-3.21.12-upstream-macos-macros.patch | 25 +++++++++++++++++++ recipes/protobuf/config.yml | 2 ++ 3 files changed, 35 insertions(+) create mode 100644 recipes/protobuf/all/patches/protobuf-3.21.12-upstream-macos-macros.patch diff --git a/recipes/protobuf/all/conandata.yml b/recipes/protobuf/all/conandata.yml index 502de4a7d6777..76af562b2e6c0 100644 --- a/recipes/protobuf/all/conandata.yml +++ b/recipes/protobuf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.21.12": + url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz" + sha256: "930c2c3b5ecc6c9c12615cf5ad93f1cd6e12d0aba862b572e076259970ac3a53" "3.21.9": url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.9.tar.gz" sha256: "1add10f9bd92775b91f326da259f243881e904dd509367d5031d4c782ba82810" @@ -21,6 +24,11 @@ sources: url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.17.1.tar.gz" sha256: "036d66d6eec216160dd898cfb162e9d82c1904627642667cc32b104d407bb411" patches: + "3.21.12": + - patch_file: "patches/protobuf-3.21.12-upstream-macos-macros.patch" + patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" + patch_type: "bugfix" + patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" "3.21.9": - patch_file: "patches/protobuf-3.21.9-upstream-macos-macros.patch" patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" diff --git a/recipes/protobuf/all/patches/protobuf-3.21.12-upstream-macos-macros.patch b/recipes/protobuf/all/patches/protobuf-3.21.12-upstream-macos-macros.patch new file mode 100644 index 0000000000000..3a152f62bca69 --- /dev/null +++ b/recipes/protobuf/all/patches/protobuf-3.21.12-upstream-macos-macros.patch @@ -0,0 +1,25 @@ +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc +index f00daf7..d956db2 100644 +--- a/src/google/protobuf/port_def.inc ++++ b/src/google/protobuf/port_def.inc +@@ -870,6 +870,8 @@ + // Inconvenient macro names from usr/include/sys/syslimits.h in some macOS SDKs. + #pragma push_macro("UID_MAX") + #undef UID_MAX ++#pragma push_macro("GID_MAX") ++#undef GID_MAX + #endif // __APPLE__ + + #if defined(__clang__) || PROTOBUF_GNUC_MIN(3, 0) || defined(_MSC_VER) +diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc +index e880fa5..f8968d9 100644 +--- a/src/google/protobuf/port_undef.inc ++++ b/src/google/protobuf/port_undef.inc +@@ -144,6 +144,7 @@ + #pragma pop_macro("TRUE") + #pragma pop_macro("FALSE") + #pragma pop_macro("UID_MAX") ++#pragma pop_macro("GID_MAX") + #endif // __APPLE__ + + #if defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) diff --git a/recipes/protobuf/config.yml b/recipes/protobuf/config.yml index c22211a7a9d4e..1c42531d91fe0 100644 --- a/recipes/protobuf/config.yml +++ b/recipes/protobuf/config.yml @@ -1,4 +1,6 @@ versions: + "3.21.12": + folder: all "3.21.9": folder: all "3.21.4": From 995273570b85107aedf4dc56d78eec83519f9bd2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Jun 2023 03:03:46 +0900 Subject: [PATCH 0688/4087] (#17147) jsonnet: add version 0.20.0, support conan v2 * jsonnet: add version 0.20.0, support conan v2 * add patch_description * fix typo * use C++17 in 0.20.0 * fix typo * remove duplicated validate * disable force C++17 patch for 0.20.0 and 0.17.0 (from review comments) * force C++17 on 0.20.0 * Update recipes/jsonnet/all/patches/0.20.0/0003-use-cpp17.patch * fix patch --------- Co-authored-by: James Co-authored-by: James --- recipes/jsonnet/all/CMakeLists.txt | 9 -- recipes/jsonnet/all/conandata.yml | 32 ++++- recipes/jsonnet/all/conanfile.py | 130 ++++++++++-------- .../all/patches/0.17.0/0002-cmake-fixes.patch | 77 ++++++----- .../all/patches/0.18.0/0002-cmake-fixes.patch | 20 ++- .../all/patches/0.20.0/0003-use-cpp17.patch | 14 ++ .../jsonnet/all/test_package/CMakeLists.txt | 17 +-- recipes/jsonnet/all/test_package/conanfile.py | 22 ++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../jsonnet/all/test_v1_package/conanfile.py | 18 +++ recipes/jsonnet/config.yml | 2 + 11 files changed, 227 insertions(+), 122 deletions(-) delete mode 100644 recipes/jsonnet/all/CMakeLists.txt create mode 100644 recipes/jsonnet/all/patches/0.20.0/0003-use-cpp17.patch create mode 100644 recipes/jsonnet/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jsonnet/all/test_v1_package/conanfile.py diff --git a/recipes/jsonnet/all/CMakeLists.txt b/recipes/jsonnet/all/CMakeLists.txt deleted file mode 100644 index 881b1cb39250b..0000000000000 --- a/recipes/jsonnet/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory(source_subfolder) diff --git a/recipes/jsonnet/all/conandata.yml b/recipes/jsonnet/all/conandata.yml index af6fab5053143..260d7031fb23c 100644 --- a/recipes/jsonnet/all/conandata.yml +++ b/recipes/jsonnet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.20.0": + url: "https://github.com/google/jsonnet/archive/v0.20.0.tar.gz" + sha256: "77bd269073807731f6b11ff8d7c03e9065aafb8e4d038935deb388325e52511b" "0.19.1": url: "https://github.com/google/jsonnet/archive/v0.19.1.tar.gz" sha256: "f5a20f2dc98fdebd5d42a45365f52fa59a7e6b174e43970fea4f9718a914e887" @@ -9,18 +12,35 @@ sources: url: "https://github.com/google/jsonnet/archive/v0.17.0.tar.gz" sha256: "076b52edf888c01097010ad4299e3b2e7a72b60a41abbc65af364af1ed3c8dbe" patches: + "0.20.0": + - patch_file: "patches/0.18.0/0001-fix-nlohmann-include.patch" + patch_description: "fix include path to use cci package" + patch_type: "conan" + - patch_file: "patches/0.18.0/0002-cmake-fixes.patch" + patch_description: "fix rapidyaml name, add installation" + patch_type: "conan" + - patch_file: "patches/0.20.0/0003-use-cpp17.patch" + patch_description: "use C++17" + patch_type: "portability" + patch_source: "https://github.com/google/jsonnet/pull/1076" "0.19.1": - patch_file: "patches/0.18.0/0001-fix-nlohmann-include.patch" - base_path: "source_subfolder" + patch_description: "fix include path to use cci package" + patch_type: "conan" - patch_file: "patches/0.18.0/0002-cmake-fixes.patch" - base_path: "source_subfolder" + patch_description: "fix rapidyaml name, add installation" + patch_type: "conan" "0.18.0": - patch_file: "patches/0.18.0/0001-fix-nlohmann-include.patch" - base_path: "source_subfolder" + patch_description: "fix include path to use cci package" + patch_type: "conan" - patch_file: "patches/0.18.0/0002-cmake-fixes.patch" - base_path: "source_subfolder" + patch_description: "fix rapidyaml name, add installation" + patch_type: "conan" "0.17.0": - patch_file: "patches/0.17.0/0001-fix-nlohmann-include.patch" - base_path: "source_subfolder" + patch_description: "fix include path to use cci package" + patch_type: "conan" - patch_file: "patches/0.17.0/0002-cmake-fixes.patch" - base_path: "source_subfolder" + patch_description: "fix rapidyaml name, add installation" + patch_type: "conan" diff --git a/recipes/jsonnet/all/conanfile.py b/recipes/jsonnet/all/conanfile.py index ff9c2346a3e5f..0581568a5b5ce 100644 --- a/recipes/jsonnet/all/conanfile.py +++ b/recipes/jsonnet/all/conanfile.py @@ -1,19 +1,23 @@ -import functools -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import is_msvc, msvc_runtime_flag +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.build import check_min_cppstd, cross_building, stdcpp_library +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os -required_conan_version = ">=1.33.0" - +required_conan_version = ">=1.53.0" class JsonnetConan(ConanFile): name = "jsonnet" description = "Jsonnet - The data templating language" - topics = ("config", "json", "functional", "configuration") license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/jsonnet" + topics = ("config", "json", "functional", "configuration") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,15 +26,25 @@ class JsonnetConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake", "cmake_find_package" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "11" if Version(self.version) < "0.20.0" else "17" @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + return { + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, + }.get(self._min_cppstd, {}) + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -38,70 +52,78 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - # This is a workround. - # If jsonnet is shared, rapidyaml must be built as shared, - # or the c4core functions that rapidyaml depends on will not be able to be found. - # This seems to be a issue of rapidyaml. - # https://github.com/conan-io/conan-center-index/pull/9786#discussion_r829887879 - if tools.Version(self.version) >= "0.18.0": - self.options["rapidyaml"].shared = True + self.options.rm_safe("fPIC") - def requirements(self): - self.requires("nlohmann_json/3.10.5") - if tools.Version(self.version) >= "0.18.0": - self.requires("rapidyaml/0.4.1") + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self, skip_x64_x86=True): - raise ConanInvalidConfiguration("jsonnet does not support cross building") + 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." + ) + + if Version(self.version) == "0.17.0" and Version(self.settings.compiler.get_safe("cppstd")) > "17": + raise ConanInvalidConfiguration(f"{self.ref} does not support C++{self.settings.compiler.cppstd}") - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): + raise ConanInvalidConfiguration(f"{self.ref} does not support cross building") if self.options.shared and is_msvc(self) and "d" in msvc_runtime_flag(self): - raise ConanInvalidConfiguration("shared {} is not supported with MTd/MDd runtime".format(self.name)) + raise ConanInvalidConfiguration(f"shared {self.ref} is not supported with MTd/MDd runtime") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + # This is a workround. + # If jsonnet is shared, rapidyaml must be built as shared, + # or the c4core functions that rapidyaml depends on will not be able to be found. + # This seems to be a issue of rapidyaml. + # https://github.com/conan-io/conan-center-index/pull/9786#discussion_r829887879 + if self.options.shared and Version(self.version) >= "0.18.0" and self.dependencies["rapidyaml"].options.shared == False: + raise ConanInvalidConfiguration(f"shared {self.ref} requires rapidyaml to be built as shared") - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def requirements(self): + self.requires("nlohmann_json/3.11.2") + if Version(self.version) >= "0.18.0": + self.requires("rapidyaml/0.5.0") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_TESTS"] = False - cmake.definitions["BUILD_STATIC_LIBS"] = not self.options.shared - cmake.definitions["BUILD_SHARED_BINARIES"] = False - cmake.definitions["BUILD_JSONNET"] = False - cmake.definitions["BUILD_JSONNETFMT"] = False - cmake.definitions["USE_SYSTEM_JSON"] = True - cmake.configure(build_folder=self._build_subfolder) - return cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTS"] = False + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.variables["BUILD_SHARED_BINARIES"] = False + tc.variables["BUILD_JSONNET"] = False + tc.variables["BUILD_JSONNETFMT"] = False + tc.variables["USE_SYSTEM_JSON"] = True + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - 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() def package_info(self): self.cpp_info.components["libjsonnet"].libs = ["jsonnet"] self.cpp_info.components["libjsonnet"].requires = ["nlohmann_json::nlohmann_json"] - if tools.Version(self.version) >= "0.18.0": + if Version(self.version) >= "0.18.0": self.cpp_info.components["libjsonnet"].requires.append("rapidyaml::rapidyaml") - if tools.stdcpp_library(self): - self.cpp_info.components["libjsonnet"].system_libs.append(tools.stdcpp_library(self)) + if stdcpp_library(self): + self.cpp_info.components["libjsonnet"].system_libs.append(stdcpp_library(self)) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libjsonnet"].system_libs.append("m") diff --git a/recipes/jsonnet/all/patches/0.17.0/0002-cmake-fixes.patch b/recipes/jsonnet/all/patches/0.17.0/0002-cmake-fixes.patch index 6d8e892eb89a7..887943f82c372 100644 --- a/recipes/jsonnet/all/patches/0.17.0/0002-cmake-fixes.patch +++ b/recipes/jsonnet/all/patches/0.17.0/0002-cmake-fixes.patch @@ -1,32 +1,44 @@ -- install headers -- optionally disable shared build -- add md5 objects to c library -- allow MSVC ---- core/CMakeLists.txt -+++ core/CMakeLists.txt -@@ -16,8 +16,8 @@ set(LIBJSONNET_HEADERS - string_utils.h +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 385ea82..34b1c63 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -40,7 +40,7 @@ if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" OR + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++11 -fPIC ${OPT}") + else() + # TODO: Windows support. +- message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") ++ message(WARNING "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") + endif() + + set(CMAKE_CXX_STANDARD 11) +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index e8ad830..7d87527 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -17,7 +17,8 @@ set(LIBJSONNET_HEADERS unicode.h vm.h) -- + -set(LIBJSONNET_SOURCE +install(FILES ../include/libjsonnet.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +set(LIBJSONNET_SOURCE $ desugarer.cpp formatter.cpp lexer.cpp -@@ -27,7 +27,7 @@ set(LIBJSONNET_SOURCE - static_analysis.cpp +@@ -28,6 +29,7 @@ set(LIBJSONNET_SOURCE string_utils.cpp vm.cpp) -- + +if (NOT BUILD_STATIC_LIBS) add_library(libjsonnet SHARED ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) add_dependencies(libjsonnet md5 stdlib) target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) -@@ -50,7 +50,7 @@ install(TARGETS libjsonnet +@@ -47,10 +49,10 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet + install(TARGETS libjsonnet + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -+ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") target_include_directories(libjsonnet INTERFACE $) - @@ -34,9 +46,11 @@ if (BUILD_STATIC_LIBS) # Static library for jsonnet command-line tool. add_library(libjsonnet_static STATIC ${LIBJSONNET_SOURCE}) ---- cpp/CMakeLists.txt -+++ cpp/CMakeLists.txt -@@ -3,11 +3,11 @@ +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index 5549902..3091a9c 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -3,14 +3,14 @@ set(LIBJSONNETPP_HEADERS ../include/libjsonnet++.h ) @@ -51,7 +65,13 @@ add_dependencies(libjsonnet++ jsonnet) -# target_link_libraries(libjsonnet libjsonnet) +target_link_libraries(libjsonnet++ libjsonnet) -@@ -24,7 +24,7 @@ + + # CMake prepends CMAKE_SHARED_LIBRARY_PREFIX to shared libraries, so without + # this step the output would be |liblibjsonnet|. +@@ -21,10 +21,10 @@ set_target_properties(libjsonnet++ PROPERTIES OUTPUT_NAME jsonnet++ + install(TARGETS libjsonnet++ + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") target_include_directories(libjsonnet++ INTERFACE @@ -61,20 +81,11 @@ if (BUILD_STATIC_LIBS) # Static library for jsonnet command-line tool. add_library(libjsonnet++_static STATIC ${LIBJSONNETPP_SOURCE}) ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -40,7 +40,7 @@ - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++11 -fPIC ${OPT}") - else() - # TODO: Windows support. -- message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") -+ message(WARNING "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") - endif() - - set(CMAKE_CXX_STANDARD 11) ---- stdlib/CMakeLists.txt -+++ stdlib/CMakeLists.txt -@@ -5,7 +5,7 @@ +diff --git a/stdlib/CMakeLists.txt b/stdlib/CMakeLists.txt +index a481d9f..00ff502 100644 +--- a/stdlib/CMakeLists.txt ++++ b/stdlib/CMakeLists.txt +@@ -5,7 +5,7 @@ add_executable(to_c_array to_c_array.cpp) # Custom command that will only build stdlib when it changes. add_custom_command( OUTPUT ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h @@ -83,5 +94,3 @@ ${PROJECT_SOURCE_DIR}/stdlib/std.jsonnet ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h DEPENDS to_c_array std.jsonnet) - - diff --git a/recipes/jsonnet/all/patches/0.18.0/0002-cmake-fixes.patch b/recipes/jsonnet/all/patches/0.18.0/0002-cmake-fixes.patch index 505ce96c21e93..58b0135ca2153 100644 --- a/recipes/jsonnet/all/patches/0.18.0/0002-cmake-fixes.patch +++ b/recipes/jsonnet/all/patches/0.18.0/0002-cmake-fixes.patch @@ -20,7 +20,7 @@ index 5df20ca..c14c93c 100644 add_subdirectory(cpp) add_subdirectory(cmd) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -index e62a858..c0389f8 100644 +index e62a858..f0fb69f 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -17,7 +17,8 @@ set(LIBJSONNET_HEADERS @@ -33,15 +33,21 @@ index e62a858..c0389f8 100644 desugarer.cpp formatter.cpp lexer.cpp -@@ -28,6 +29,7 @@ set(LIBJSONNET_SOURCE +@@ -28,9 +29,12 @@ set(LIBJSONNET_SOURCE string_utils.cpp vm.cpp) ++find_package(ryml REQUIRED CONFIG) ++ +if (NOT BUILD_STATIC_LIBS) add_library(libjsonnet SHARED ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) add_dependencies(libjsonnet md5 stdlib) - target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml) -@@ -47,10 +49,10 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet +-target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml) ++target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml::ryml) + + file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/../include/libjsonnet.h JSONNET_VERSION_DEF + REGEX "[#]define[ \t]+LIB_JSONNET_VERSION[ \t]+") +@@ -47,15 +51,15 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet install(TARGETS libjsonnet LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" @@ -54,6 +60,12 @@ index e62a858..c0389f8 100644 if (BUILD_STATIC_LIBS) # Static library for jsonnet command-line tool. add_library(libjsonnet_static STATIC ${LIBJSONNET_SOURCE}) + add_dependencies(libjsonnet_static md5 stdlib) +- target_link_libraries(libjsonnet_static md5 nlohmann_json::nlohmann_json ryml) ++ target_link_libraries(libjsonnet_static md5 nlohmann_json::nlohmann_json ryml::ryml) + set_target_properties(libjsonnet_static PROPERTIES OUTPUT_NAME jsonnet) + install(TARGETS libjsonnet_static DESTINATION "${CMAKE_INSTALL_LIBDIR}") + target_include_directories(libjsonnet_static INTERFACE diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index eb7686c..cbf21bb 100644 --- a/cpp/CMakeLists.txt diff --git a/recipes/jsonnet/all/patches/0.20.0/0003-use-cpp17.patch b/recipes/jsonnet/all/patches/0.20.0/0003-use-cpp17.patch new file mode 100644 index 0000000000000..6735bb58adc58 --- /dev/null +++ b/recipes/jsonnet/all/patches/0.20.0/0003-use-cpp17.patch @@ -0,0 +1,14 @@ +iff --git a/CMakeLists.txt b/CMakeLists.txt +index c14c93c..b1cb1b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,7 +43,8 @@ else() + message(WARNING "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") + endif() + +-set(CMAKE_CXX_STANDARD 11) ++# FIXME: This is a temporary workaround, necessary in MSVC only for version 0.20 and Conan 1.X ++set(CMAKE_CXX_STANDARD 17) + + + # Include external googletest project. This runs a CMake sub-script diff --git a/recipes/jsonnet/all/test_package/CMakeLists.txt b/recipes/jsonnet/all/test_package/CMakeLists.txt index b1f60f164ad79..ad42d5d0faada 100644 --- a/recipes/jsonnet/all/test_package/CMakeLists.txt +++ b/recipes/jsonnet/all/test_package/CMakeLists.txt @@ -1,14 +1,15 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES C CXX) find_package(jsonnet CONFIG REQUIRED) add_executable(${PROJECT_NAME}_c test_package.c) -target_link_libraries(${PROJECT_NAME}_c jsonnet::libjsonnet) +target_link_libraries(${PROJECT_NAME}_c PRIVATE jsonnet::libjsonnet) add_executable(${PROJECT_NAME}_cxx test_package.cpp) -target_link_libraries(${PROJECT_NAME}_cxx jsonnet::libjsonnetpp) -set_property(TARGET ${PROJECT_NAME}_cxx PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME}_cxx PRIVATE jsonnet::libjsonnetpp) +if(jsonnet_VERSION VERSION_LESS "0.20.0") + target_compile_features(${PROJECT_NAME}_cxx PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME}_cxx PRIVATE cxx_std_17) +endif() diff --git a/recipes/jsonnet/all/test_package/conanfile.py b/recipes/jsonnet/all/test_package/conanfile.py index 1460ef0546803..7f7fcbab40166 100644 --- a/recipes/jsonnet/all/test_package/conanfile.py +++ b/recipes/jsonnet/all/test_package/conanfile.py @@ -1,10 +1,18 @@ -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 +20,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package_c"), run_environment=True) - self.run(os.path.join("bin", "test_package_cxx"), run_environment=True) + if can_run(self): + self.run(os.path.join(self.cpp.build.bindir, "test_package_c"), env="conanrun") + self.run(os.path.join(self.cpp.build.bindir, "test_package_cxx"), env="conanrun") diff --git a/recipes/jsonnet/all/test_v1_package/CMakeLists.txt b/recipes/jsonnet/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/jsonnet/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/jsonnet/all/test_v1_package/conanfile.py b/recipes/jsonnet/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..25fbcb7a6d066 --- /dev/null +++ b/recipes/jsonnet/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + self.run(os.path.join("bin", "test_package_c"), run_environment=True) + self.run(os.path.join("bin", "test_package_cxx"), run_environment=True) diff --git a/recipes/jsonnet/config.yml b/recipes/jsonnet/config.yml index d98d76db4349a..be300c9c5c2b0 100644 --- a/recipes/jsonnet/config.yml +++ b/recipes/jsonnet/config.yml @@ -1,4 +1,6 @@ versions: + "0.20.0": + folder: all "0.19.1": folder: all "0.18.0": From 7c88149503e838d0f76f00be9a0ce21d0942c20f Mon Sep 17 00:00:00 2001 From: "S. Messerschmidt" Date: Wed, 28 Jun 2023 20:27:23 +0200 Subject: [PATCH 0689/4087] (#16528) VulkanSceneGraph 1.0.0 ,1.0.3, 1.0.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * VulkanSceneGraph 1.0.0 inital configuration * style correction * style correction * style correction * added missing endline * Fixed/hacked license, fixed some warnings * reverted invalid change to shared-default option * Added version 1.3.0 * attempt to handle submodules (dependencies didn't work properly) * handling options * MT builds are no longer supported * Added new version to config.yml * Cleaning up in preparation to conan 2.0 compatiblity * removed inlcude and fixed removal of cmake Find- and Config files in package * Fixed broken packaging * Apply suggestions from code review Co-authored-by: Francisco Ramírez * Update recipes/vsg/all/conanfile.py Co-authored-by: Francisco Ramírez * Update recipes/vsg/all/conanfile.py Co-authored-by: Francisco Ramírez * Update recipes/vsg/all/conanfile.py Co-authored-by: Francisco Ramírez * added package_type and minor clean-up * Update recipes/vsg/all/conanfile.py * reworked former submodule handling * VSG now uses checkout of a branch instead * using scm facilities instead of self.run as proposed * fixed indentation issue * EOL fix * more EOL fixes * backed up from non-conforming conandata based approach * Update recipes/vsg/all/conanfile.py * preparing vsg 1.0.5 * removed glslang and therefore shadercompiler support for now * linter/style fixes * removed no longer needed imports * fixed some warnings * Remove test_v1, simplify code --------- Co-authored-by: Francisco Ramírez Co-authored-by: Rubén Rincón Blanco Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Co-authored-by: Rubén Rincón Blanco --- recipes/vsg/all/conandata.yml | 10 ++ recipes/vsg/all/conanfile.py | 118 ++++++++++++++++++ recipes/vsg/all/test_package/CMakeLists.txt | 9 ++ recipes/vsg/all/test_package/conanfile.py | 27 ++++ recipes/vsg/all/test_package/test_package.cpp | 24 ++++ recipes/vsg/config.yml | 7 ++ 6 files changed, 195 insertions(+) create mode 100644 recipes/vsg/all/conandata.yml create mode 100644 recipes/vsg/all/conanfile.py create mode 100644 recipes/vsg/all/test_package/CMakeLists.txt create mode 100644 recipes/vsg/all/test_package/conanfile.py create mode 100644 recipes/vsg/all/test_package/test_package.cpp create mode 100644 recipes/vsg/config.yml diff --git a/recipes/vsg/all/conandata.yml b/recipes/vsg/all/conandata.yml new file mode 100644 index 0000000000000..f79242254e9e4 --- /dev/null +++ b/recipes/vsg/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "1.0.0": + url: "https://github.com/vsg-dev/VulkanSceneGraph/archive/refs/tags/VulkanSceneGraph-1.0.0.tar.gz" + sha256: "5611284f4256893ea97a33f9e99f5ecc8bdda110cc9fb7770b291fb45e8f9cf6" + "1.0.3": + url: "https://github.com/vsg-dev/VulkanSceneGraph/archive/refs/tags/VulkanSceneGraph-1.0.3.tar.gz" + sha256: "84aa1d445ecdd2702843f8f01e760d4db32c2ab3fe8c5d6122f8a83b67a50e36" + "1.0.5": + url: "https://github.com/vsg-dev/VulkanSceneGraph/archive/refs/tags/v1.0.5.tar.gz" + sha256: "ff58260fcb88d19d92c40a70bc40ff06abb1a8805568eb76862a036d13ada75b" diff --git a/recipes/vsg/all/conanfile.py b/recipes/vsg/all/conanfile.py new file mode 100644 index 0000000000000..104e5dc3d7219 --- /dev/null +++ b/recipes/vsg/all/conanfile.py @@ -0,0 +1,118 @@ +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.files import get, copy, rm, rmdir, collect_libs +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake +import os + +required_conan_version = ">=1.53.0" + +class VsgConan(ConanFile): + name = "vsg" + description = "VulkanSceneGraph" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.vulkanscenegraph.org" + topics = ("vulkan", "scenegraph", "graphics", "3d") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "max_devices": [1,2,3,4], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "max_devices" : 1, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + } + 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): + self.requires("vulkan-loader/1.3.239.0", transitive_headers=True) + + def validate(self): + if self.info.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.name} does not support MSVC static runtime (MT/MTd) configurations, only dynamic runtime (MD/MDd) is supported") + + 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." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = False + tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["VSG_SUPPORTS_ShaderCompiler"] = 0 + tc.variables["VSG_MAX_DEVICES"] = self.options.max_devices + tc.generate() + + deps = CMakeDeps(self) + + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE.md", 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", "pkgconfig")) + 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")) + rm(self, "Find*.cmake", os.path.join(self.package_folder, "lib/cmake/vsg")) + rm(self, "*Config.cmake", os.path.join(self.package_folder, "lib/cmake/vsg")) + + def package_info(self): + self.cpp_info.libs = collect_libs(self) + + self.cpp_info.set_property("cmake_file_name", "vsg") + self.cpp_info.set_property("cmake_target_name", "vsg::vsg") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "vsg" + self.cpp_info.filenames["cmake_find_package_multi"] = "vsg" + self.cpp_info.names["cmake_find_package"] = "VSG" + self.cpp_info.names["cmake_find_package_multi"] = "vsg" diff --git a/recipes/vsg/all/test_package/CMakeLists.txt b/recipes/vsg/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5b45e894695a3 --- /dev/null +++ b/recipes/vsg/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package CXX) # if the project uses c++ + +find_package(vsg REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE vsg::vsg) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/vsg/all/test_package/conanfile.py b/recipes/vsg/all/test_package/conanfile.py new file mode 100644 index 0000000000000..1111583fea732 --- /dev/null +++ b/recipes/vsg/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/vsg/all/test_package/test_package.cpp b/recipes/vsg/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ef112a2f69aaf --- /dev/null +++ b/recipes/vsg/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ + +#include +#include +#include + + +#include + +#include +#include + +int main(int argc, char** argv) +{ + vsg::CommandLine arguments(&argc, argv); + auto numObjects = arguments.value(1u, {"---num-objects", "-n"}); + if (arguments.errors()) return arguments.writeErrorMessages(std::cerr); + + using Objects = std::vector>; + Objects objects; + objects.push_back(vsg::Node::create()); + + + return 0; +} diff --git a/recipes/vsg/config.yml b/recipes/vsg/config.yml new file mode 100644 index 0000000000000..058c041064a22 --- /dev/null +++ b/recipes/vsg/config.yml @@ -0,0 +1,7 @@ +versions: + "1.0.5": + folder: all + "1.0.3": + folder: all + "1.0.0": + folder: all From adf048f4b219c3b0ba661d8437b9bb81a16f221e Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 28 Jun 2023 20:01:56 +0100 Subject: [PATCH 0690/4087] (#18105) libpng: simplify patch logic * libpng: simplify patch logic * add missing endline --- .../all/conan_cmake_project_include.cmake | 7 +++ recipes/libpng/all/conandata.yml | 11 ---- recipes/libpng/all/conanfile.py | 29 +++------- .../patches/0001-1.5.30-cmakefile-zlib.patch | 49 ---------------- .../patches/0001-1.6.37-cmakefile-zlib.patch | 56 ------------------- 5 files changed, 15 insertions(+), 137 deletions(-) create mode 100644 recipes/libpng/all/conan_cmake_project_include.cmake delete mode 100644 recipes/libpng/all/patches/0001-1.5.30-cmakefile-zlib.patch delete mode 100644 recipes/libpng/all/patches/0001-1.6.37-cmakefile-zlib.patch diff --git a/recipes/libpng/all/conan_cmake_project_include.cmake b/recipes/libpng/all/conan_cmake_project_include.cmake new file mode 100644 index 0000000000000..e70fb28d5bf7d --- /dev/null +++ b/recipes/libpng/all/conan_cmake_project_include.cmake @@ -0,0 +1,7 @@ +# Older versions of libpng's CMakeLists reference the ZLIB_LIBRARy +# varible which was never officially documented. +# This was fixed in which first went into version 1.6.38. +# This can be deleted once the recipe no longer supports versions older than that. +# https://github.com/glennrp/libpng/commit/9f734b13f4ea062af98652c4c7678f667d2d85c7 +find_package(ZLIB CONFIG REQUIRED) +set(ZLIB_LIBRARY "${ZLIB_LIBRARIES}") diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml index 040df395bad79..04e0b69ea4256 100644 --- a/recipes/libpng/all/conandata.yml +++ b/recipes/libpng/all/conandata.yml @@ -14,14 +14,3 @@ sources: "1.5.30": url: "https://sourceforge.net/projects/libpng/files/libpng15/1.5.30/libpng-1.5.30.tar.xz" sha256: "7d76275fad2ede4b7d87c5fd46e6f488d2a16b5a69dc968ffa840ab39ba756ed" -patches: - "1.6.37": - - patch_file: "patches/0001-1.6.37-cmakefile-zlib.patch" - patch_description: "Update ZLib include and library paths for conan to provide\ - \ lib. Remove Zlib dll definition." - patch_type: "conan" - "1.5.30": - - patch_file: "patches/0001-1.5.30-cmakefile-zlib.patch" - patch_description: "Update ZLib include and library paths for conan to provide\ - \ lib. Remove Zlib dll definition." - patch_type: "conan" diff --git a/recipes/libpng/all/conanfile.py b/recipes/libpng/all/conanfile.py index a67c210911f86..f8d672f0bb237 100644 --- a/recipes/libpng/all/conanfile.py +++ b/recipes/libpng/all/conanfile.py @@ -68,6 +68,7 @@ def _neon_msa_sse_vsx_mapping(self): def export_sources(self): export_conandata_patches(self) + copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -102,11 +103,13 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["PNG_TESTS"] = False - tc.variables["PNG_SHARED"] = self.options.shared - tc.variables["PNG_STATIC"] = not self.options.shared - tc.variables["PNG_DEBUG"] = self.settings.build_type == "Debug" - tc.variables["PNG_PREFIX"] = self.options.api_prefix + tc.cache_variables["PNG_TESTS"] = False + tc.cache_variables["PNG_SHARED"] = self.options.shared + tc.cache_variables["PNG_STATIC"] = not self.options.shared + tc.cache_variables["PNG_DEBUG"] = self.settings.build_type == "Debug" + tc.cache_variables["PNG_PREFIX"] = self.options.api_prefix + if Version(self.version) < "1.6.38": + tc.cache_variables["CMAKE_PROJECT_libpng_INCLUDE"] = os.path.join(self.source_folder, "conan_cmake_project_include.cmake") if self._has_neon_support: tc.variables["PNG_ARM_NEON"] = self._neon_msa_sse_vsx_mapping[str(self.options.neon)] if self._has_msa_support: @@ -125,22 +128,6 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - if self.settings.os == "Windows": - if not (is_msvc(self) or self._is_clang_cl): - if Version(self.version) < "1.6.38": - src_text = 'COMMAND "${CMAKE_COMMAND}" -E copy_if_different $ $/${DEST_FILE}' - elif Version(self.version) == "1.6.39": - src_text = '''COMMAND "${CMAKE_COMMAND}" - -E copy_if_different - $ - $/${DEST_FILE}''' - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - src_text, - 'COMMAND "${CMAKE_COMMAND}" -E copy_if_different $/$ $/${DEST_FILE}') - else: - # TODO: evaluate and document in what issue this patch aims to resolve, and in which scenarios it is needed - # Note: the cmake logic for this has changed again in versions >=1.6.40 - pass def build(self): self._patch_sources() diff --git a/recipes/libpng/all/patches/0001-1.5.30-cmakefile-zlib.patch b/recipes/libpng/all/patches/0001-1.5.30-cmakefile-zlib.patch deleted file mode 100644 index d78bd326e5e4c..0000000000000 --- a/recipes/libpng/all/patches/0001-1.5.30-cmakefile-zlib.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b861195..8e3d2ca 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,7 +41,7 @@ set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE}) - - # needed packages - find_package(ZLIB REQUIRED) --include_directories(${ZLIB_INCLUDE_DIR}) -+include_directories(${ZLIB_INCLUDE_DIRS}) - - if(NOT WIN32) - find_library(M_LIBRARY -@@ -312,7 +312,7 @@ if(PNG_DEBUG) - endif() - - # NOW BUILD OUR TARGET --include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR}) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIRS}) - - unset(PNG_LIB_TARGETS) - -@@ -326,7 +326,7 @@ if(PNG_SHARED) - set_target_properties(png PROPERTIES PREFIX "lib") - set_target_properties(png PROPERTIES IMPORT_PREFIX "lib") - endif() -- target_link_libraries(png ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png ${ZLIB_LIBRARIES} ${M_LIBRARY}) - - if(UNIX AND AWK) - if(HAVE_LD_VERSION_SCRIPT) -@@ -361,7 +361,7 @@ if(PNG_STATIC) - # msvc does not append 'lib' - do it here to have consistent name - set_target_properties(png_static PROPERTIES PREFIX "lib") - endif() -- target_link_libraries(png_static ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png_static ${ZLIB_LIBRARIES} ${M_LIBRARY}) - endif() - - if(PNG_FRAMEWORK) -@@ -378,7 +378,7 @@ if(PNG_FRAMEWORK) - XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" - PUBLIC_HEADER "${libpng_public_hdrs}" - OUTPUT_NAME png) -- target_link_libraries(png_framework ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png_framework ${ZLIB_LIBRARIES} ${M_LIBRARY}) - endif() - - if(NOT PNG_LIB_TARGETS) diff --git a/recipes/libpng/all/patches/0001-1.6.37-cmakefile-zlib.patch b/recipes/libpng/all/patches/0001-1.6.37-cmakefile-zlib.patch deleted file mode 100644 index aaf8fda5cb495..0000000000000 --- a/recipes/libpng/all/patches/0001-1.6.37-cmakefile-zlib.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- CMakeLists.txt 2019-04-14 20:10:32.000000000 +0200 -+++ CMakeLists.txt 2019-07-04 11:25:33.862280292 +0200 -@@ -40,7 +40,7 @@ - - if(NOT PNG_BUILD_ZLIB) - find_package(ZLIB REQUIRED) -- include_directories(${ZLIB_INCLUDE_DIR}) -+ include_directories(${ZLIB_INCLUDE_DIRS}) - endif() - - if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) -@@ -522,7 +522,7 @@ - endif() - - # NOW BUILD OUR TARGET --include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR}) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIRS}) - - unset(PNG_LIB_TARGETS) - -@@ -536,7 +536,7 @@ - set_target_properties(png PROPERTIES PREFIX "lib") - set_target_properties(png PROPERTIES IMPORT_PREFIX "lib") - endif() -- target_link_libraries(png ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png ${ZLIB_LIBRARIES} ${M_LIBRARY}) - - if(UNIX AND AWK) - if(HAVE_LD_VERSION_SCRIPT) -@@ -571,7 +571,7 @@ - # msvc does not append 'lib' - do it here to have consistent name - set_target_properties(png_static PROPERTIES PREFIX "lib") - endif() -- target_link_libraries(png_static ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png_static ${ZLIB_LIBRARIES} ${M_LIBRARY}) - endif() - - if(PNG_FRAMEWORK) -@@ -588,7 +588,7 @@ - XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" - PUBLIC_HEADER "${libpng_public_hdrs}" - OUTPUT_NAME png) -- target_link_libraries(png_framework ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png_framework ${ZLIB_LIBRARIES} ${M_LIBRARY}) - endif() - - if(NOT PNG_LIB_TARGETS) -@@ -753,7 +753,7 @@ - set(PNG_BIN_TARGETS pngfix) - - add_executable(png-fix-itxt ${png_fix_itxt_sources}) -- target_link_libraries(png-fix-itxt ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png-fix-itxt ${ZLIB_LIBRARIES} ${M_LIBRARY}) - list(APPEND PNG_BIN_TARGETS png-fix-itxt) - endif() - From 570e57f4926b0ef9ac1ca4146cf5b08c732152df Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Jun 2023 13:01:52 +0900 Subject: [PATCH 0691/4087] (#18104) tsl-hopscotch-map: add version 2.3.1, add package_type --- recipes/tsl-hopscotch-map/all/conandata.yml | 3 +++ recipes/tsl-hopscotch-map/all/conanfile.py | 10 ++++------ recipes/tsl-hopscotch-map/config.yml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/tsl-hopscotch-map/all/conandata.yml b/recipes/tsl-hopscotch-map/all/conandata.yml index 6166a7c7730e6..191b340d98e5d 100644 --- a/recipes/tsl-hopscotch-map/all/conandata.yml +++ b/recipes/tsl-hopscotch-map/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.1": + url: "https://github.com/Tessil/hopscotch-map/archive/v2.3.1.tar.gz" + sha256: "53dab49005cd5dc859f2546d0d3eef058ec7fb3b74fc3b19f4965a9a151e9b20" "2.3.0": url: "https://github.com/Tessil/hopscotch-map/archive/v2.3.0.tar.gz" sha256: "a59d65b552dc7682521989842418c92257147f5068152b5af50e917892ad9317" diff --git a/recipes/tsl-hopscotch-map/all/conanfile.py b/recipes/tsl-hopscotch-map/all/conanfile.py index 6772f3c321bc9..cb1372f74dd49 100644 --- a/recipes/tsl-hopscotch-map/all/conanfile.py +++ b/recipes/tsl-hopscotch-map/all/conanfile.py @@ -11,9 +11,10 @@ class TslHopscotchMapConan(ConanFile): name = "tsl-hopscotch-map" license = "MIT" description = "C++ implementation of a fast hash map and hash set using hopscotch hashing" - topics = ("structure", "hash map", "hash set") - homepage = "https://github.com/Tessil/hopscotch-map" + topics = ("structure", "hash map", "hash set", "header-only") url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Tessil/hopscotch-map" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,7 +43,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tsl::hopscotch_map") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tsl-hopscotch-map" @@ -55,4 +54,3 @@ def package_info(self): self.cpp_info.components["hopscotch_map"].set_property("cmake_target_name", "tsl::hopscotch_map") self.cpp_info.components["hopscotch_map"].bindirs = [] self.cpp_info.components["hopscotch_map"].libdirs = [] - self.cpp_info.components["hopscotch_map"].resdirs = [] diff --git a/recipes/tsl-hopscotch-map/config.yml b/recipes/tsl-hopscotch-map/config.yml index d724287fc23cb..7e1b2aadac1de 100644 --- a/recipes/tsl-hopscotch-map/config.yml +++ b/recipes/tsl-hopscotch-map/config.yml @@ -1,3 +1,5 @@ versions: + "2.3.1": + folder: all "2.3.0": folder: all From ce396c581ea8c905e77265a6a2a680c3345521af Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Thu, 29 Jun 2023 09:42:15 +0200 Subject: [PATCH 0692/4087] (#18073) cute_headers: conan v2 support * cute_headers: conan v2 support * remove no longer used property --- recipes/cute_headers/all/conanfile.py | 39 +++++++++++-------- .../all/test_package/CMakeLists.txt | 12 ++---- .../all/test_package/conanfile.py | 18 +++++++-- 3 files changed, 41 insertions(+), 28 deletions(-) diff --git a/recipes/cute_headers/all/conanfile.py b/recipes/cute_headers/all/conanfile.py index 2aeb5719c6df9..5845ff0bcc925 100644 --- a/recipes/cute_headers/all/conanfile.py +++ b/recipes/cute_headers/all/conanfile.py @@ -1,39 +1,46 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.files import get, copy, load, save +from conan.tools.layout import basic_layout import os -import glob + + +required_conan_version = ">=1.52.0" class CuteHeadersConan(ConanFile): name = "cute_headers" description = "Various single-file cross-platform C/C++ headers implementing self-contained libraries." - topics = ("conan", "various", "pure-c") + topics = ("various", "pure-c") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/RandyGaul/cute_headers" license = "Unlicense" + package_type = "header-library" no_copy_source = True def _extract_license(self): - file = os.path.join(self.package_folder, "include/cute_math2d.h") - file_content = tools.load(file) + file = os.path.join(self.package_folder, "include", "cute_math2d.h") + file_content = load(self, file) return file_content[file_content.rfind('/*'):] - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob(self.name + "-*/")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy( + copy( + self, pattern="*.h", - dst="include", - src=self._source_subfolder, + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder, excludes=("examples_cute_*", "test_cute_*") ) - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) def package_id(self): - self.info.header_only() + self.info.clear() + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cute_headers/all/test_package/CMakeLists.txt b/recipes/cute_headers/all/test_package/CMakeLists.txt index b9be759ce7016..766b80640f9c1 100644 --- a/recipes/cute_headers/all/test_package/CMakeLists.txt +++ b/recipes/cute_headers/all/test_package/CMakeLists.txt @@ -1,11 +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(cute_headers REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries( - ${PROJECT_NAME} - ${CONAN_LIBS} -) +target_link_libraries(${PROJECT_NAME} PRIVATE cute_headers::cute_headers) diff --git a/recipes/cute_headers/all/test_package/conanfile.py b/recipes/cute_headers/all/test_package/conanfile.py index b63178709d69f..9be22ab3d97f8 100644 --- a/recipes/cute_headers/all/test_package/conanfile.py +++ b/recipes/cute_headers/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" + 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) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 7f9676bb4de0eda6d9361226b2b582fdefa3f379 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 09:22:21 +0100 Subject: [PATCH 0693/4087] (#18112) portable-file-dialogs: migrate to Conan v2 --- .../portable-file-dialogs/all/conanfile.py | 40 +++++++++++-------- .../all/test_package/CMakeLists.txt | 9 ++--- .../all/test_package/conanfile.py | 21 +++++++--- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/recipes/portable-file-dialogs/all/conanfile.py b/recipes/portable-file-dialogs/all/conanfile.py index c45d2c0106dee..9ef96147823bf 100644 --- a/recipes/portable-file-dialogs/all/conanfile.py +++ b/recipes/portable-file-dialogs/all/conanfile.py @@ -1,36 +1,42 @@ import os -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class PortableFileDialogsConan(ConanFile): name = "portable-file-dialogs" + description = "Portable GUI dialogs library, C++11, single-header" license = "WTFPL" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/samhocevar/portable-file-dialogs" - description = "Portable GUI dialogs library, C++11, single-header" - topics = ("conan", "gui", "dialogs") - no_copy_source = True - settings = "compiler" + topics = ("gui", "dialogs", "header-only") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True def configure(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("portable-file-dialogs.h", dst="include", src=self._source_subfolder) - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "portable-file-dialogs.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] diff --git a/recipes/portable-file-dialogs/all/test_package/CMakeLists.txt b/recipes/portable-file-dialogs/all/test_package/CMakeLists.txt index 33ae887aa6aea..c54c9c2b41cf2 100644 --- a/recipes/portable-file-dialogs/all/test_package/CMakeLists.txt +++ b/recipes/portable-file-dialogs/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(portable-file-dialogs REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE portable-file-dialogs::portable-file-dialogs) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/portable-file-dialogs/all/test_package/conanfile.py b/recipes/portable-file-dialogs/all/test_package/conanfile.py index bd7165a553cf4..fae501d0afb9e 100644 --- a/recipes/portable-file-dialogs/all/test_package/conanfile.py +++ b/recipes/portable-file-dialogs/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" + 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") From 4ad387f5d842ae7b5953141b204728626ea576fc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 09:41:54 +0100 Subject: [PATCH 0694/4087] (#18118) ctml: migrate to Conan v2 --- recipes/ctml/all/conanfile.py | 39 +++++++++++++------- recipes/ctml/all/test_package/CMakeLists.txt | 5 +-- recipes/ctml/all/test_package/conanfile.py | 22 ++++++++--- 3 files changed, 43 insertions(+), 23 deletions(-) diff --git a/recipes/ctml/all/conanfile.py b/recipes/ctml/all/conanfile.py index b5c3dd7c38f7d..bb07e06f8fb0b 100644 --- a/recipes/ctml/all/conanfile.py +++ b/recipes/ctml/all/conanfile.py @@ -1,7 +1,12 @@ import os -from conans import ConanFile, tools -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class CtmlLibrariesConan(ConanFile): name = "ctml" @@ -9,33 +14,41 @@ class CtmlLibrariesConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tinfoilboy/CTML" - topics = ("generator", "html", ) - settings = "os", "arch", "compiler", "build_type", - generators = "cmake", + topics = ("generator", "html", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - self.copy("ctml.hpp", "include", os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "ctml.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "CTML") self.cpp_info.set_property("cmake_target_name", "CTML::CTML") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "CTML" self.cpp_info.filenames["cmake_find_package_multi"] = "CTML" self.cpp_info.names["cmake_find_package"] = "CTML" diff --git a/recipes/ctml/all/test_package/CMakeLists.txt b/recipes/ctml/all/test_package/CMakeLists.txt index 1df60de830867..d4e16fb2704c6 100644 --- a/recipes/ctml/all/test_package/CMakeLists.txt +++ b/recipes/ctml/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(CTML CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/ctml/all/test_package/conanfile.py b/recipes/ctml/all/test_package/conanfile.py index 270a1ae971491..fae501d0afb9e 100644 --- a/recipes/ctml/all/test_package/conanfile.py +++ b/recipes/ctml/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestWrapperConan(ConanFile): + +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 557ac7cb6f84e7a11facae831d9b786e48556327 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 10:01:44 +0100 Subject: [PATCH 0695/4087] (#18129) linux-headers-generic: migrate to Conan v2 --- .../linux-headers-generic/all/conanfile.py | 52 +++++++++++++------ .../all/test_package/CMakeLists.txt | 9 ++-- .../all/test_package/conanfile.py | 20 ++++--- 3 files changed, 53 insertions(+), 28 deletions(-) diff --git a/recipes/linux-headers-generic/all/conanfile.py b/recipes/linux-headers-generic/all/conanfile.py index 32a14abb318da..8179bf6408f18 100644 --- a/recipes/linux-headers-generic/all/conanfile.py +++ b/recipes/linux-headers-generic/all/conanfile.py @@ -1,22 +1,29 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.files import chdir, copy, get +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class LinuxHeadersGenericConan(ConanFile): name = "linux-headers-generic" + description = "Generic Linux kernel headers" + license = "GPL-2.0-only" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.kernel.org/" - license = "GPL-2.0-only" - description = "Generic Linux kernel headers" - topics = ("linux", "headers", "generic") - settings = "os", "arch", "build_type", "compiler" + topics = ("linux", "headers", "generic", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.os @@ -26,18 +33,29 @@ def package_id(self): def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("linux-headers-generic supports only Linux") - if hasattr(self, "settings_build") and tools.cross_building(self): + if hasattr(self, "settings_build") and cross_building(self): raise ConanInvalidConfiguration("linux-headers-generic can not be cross-compiled") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - with tools.chdir(os.path.join(self._source_subfolder)): - autotools = AutoToolsBuildEnvironment(self) + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.make(target="headers") def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("include/*.h", src=os.path.join(self._source_subfolder, "usr")) + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "include/*.h", + dst=self.package_folder, + src=os.path.join(self.source_folder, "usr")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/linux-headers-generic/all/test_package/CMakeLists.txt b/recipes/linux-headers-generic/all/test_package/CMakeLists.txt index 34af13462f44f..486ec186a2730 100644 --- a/recipes/linux-headers-generic/all/test_package/CMakeLists.txt +++ b/recipes/linux-headers-generic/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 C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(linux-headers-generic REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE linux-headers-generic::linux-headers-generic) diff --git a/recipes/linux-headers-generic/all/test_package/conanfile.py b/recipes/linux-headers-generic/all/test_package/conanfile.py index 92074169bcc74..fae501d0afb9e 100644 --- a/recipes/linux-headers-generic/all/test_package/conanfile.py +++ b/recipes/linux-headers-generic/all/test_package/conanfile.py @@ -1,11 +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 -required_conan_version = ">=1.33.0" class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain" + 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") From 9645cd6765768a62e5399acd3ed95a511e6d557e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 10:22:09 +0100 Subject: [PATCH 0696/4087] (#18127) nextsilicon-cpp-subprocess: migrate to Conan v2 --- .../all/conanfile.py | 49 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 10 ++-- .../all/test_package/conanfile.py | 21 +++++--- 3 files changed, 55 insertions(+), 25 deletions(-) diff --git a/recipes/nextsilicon-cpp-subprocess/all/conanfile.py b/recipes/nextsilicon-cpp-subprocess/all/conanfile.py index cc556b383afc6..9fd2328668d3b 100644 --- a/recipes/nextsilicon-cpp-subprocess/all/conanfile.py +++ b/recipes/nextsilicon-cpp-subprocess/all/conanfile.py @@ -1,27 +1,50 @@ -from conans import ConanFile, tools +import os + +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class CppSubprocess(ConanFile): name = "nextsilicon-cpp-subprocess" + description = ( + "Subprocessing with modern C++. " + "The only goal was to develop something that is as close as" + "Python subprocess module in dealing with processes." + ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nextsilicon/cpp-subprocess" - topics = ("subprocess", "os", "fork") - description = ("Subprocessing with modern C++, " - "The only goal was to develop something that is as close as" - "python subprocess module in dealing with processes.") - no_copy_source = True + topics = ("subprocess", "os", "fork", "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() - _source_subfolder = 'cpp-subprocess' 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 package(self): - self.copy("subprocess.hpp", dst="include/cpp-subprocess", src=self._source_subfolder) - self.copy("LICENSE.MIT", dst="licenses", src=self._source_subfolder) + copy(self, "subprocess.hpp", + dst=os.path.join(self.package_folder, "include/cpp-subprocess"), + src=self.source_folder) + copy(self, "LICENSE.MIT", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) - def package_id(self): - self.info.header_only() + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/nextsilicon-cpp-subprocess/all/test_package/CMakeLists.txt b/recipes/nextsilicon-cpp-subprocess/all/test_package/CMakeLists.txt index c61a7aada95ff..ccc5e64288292 100644 --- a/recipes/nextsilicon-cpp-subprocess/all/test_package/CMakeLists.txt +++ b/recipes/nextsilicon-cpp-subprocess/all/test_package/CMakeLists.txt @@ -1,14 +1,12 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_CXX_STANDARD 11) -set(CMAKE_BUILD_TYPE Debug) set(THREADS_PREFER_PTHREAD_FLAG ON) + +find_package(nextsilicon-cpp-subprocess REQUIRED CONFIG) find_package(Threads REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS} Threads::Threads) +target_link_libraries(${PROJECT_NAME} PRIVATE nextsilicon-cpp-subprocess::nextsilicon-cpp-subprocess Threads::Threads) diff --git a/recipes/nextsilicon-cpp-subprocess/all/test_package/conanfile.py b/recipes/nextsilicon-cpp-subprocess/all/test_package/conanfile.py index fc4fe1905b49a..ef5d7042163ec 100644 --- a/recipes/nextsilicon-cpp-subprocess/all/test_package/conanfile.py +++ b/recipes/nextsilicon-cpp-subprocess/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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") From 2597cca5baf8c489da1ba0cf869c3cb3978932f5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 10:41:45 +0100 Subject: [PATCH 0697/4087] (#18132) wglext: migrate to Conan v2 --- recipes/wglext/all/conanfile.py | 46 +++++++++++++------ .../wglext/all/test_package/CMakeLists.txt | 5 +- recipes/wglext/all/test_package/conanfile.py | 21 ++++++--- 3 files changed, 47 insertions(+), 25 deletions(-) diff --git a/recipes/wglext/all/conanfile.py b/recipes/wglext/all/conanfile.py index 916b363760c68..7af57d6410b8e 100644 --- a/recipes/wglext/all/conanfile.py +++ b/recipes/wglext/all/conanfile.py @@ -1,37 +1,53 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, download, load, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" -required_conan_version = ">=1.37.0" class WglextConan(ConanFile): name = "wglext" + description = "WGL extension interfaces" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.khronos.org/registry/OpenGL/index_gl.php" - description = "WGL extension interfaces" - topics = ("opengl", "gl", "wgl", "wglext") + topics = ("opengl", "gl", "wgl", "wglext", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - requires = "opengl/system" - settings = "os", + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("opengl/system") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.os != "Windows": raise ConanInvalidConfiguration("wglext is only supported on Windows") def source(self): - tools.download(filename="wglext.h", **self.conan_data["sources"][self.version]) + download(self, filename="wglext.h", **self.conan_data["sources"][self.version]) - def package(self): - self.copy(pattern="wglext.h", dst=os.path.join("include", "GL")) - license_data = tools.load(os.path.join(self.source_folder, "wglext.h")) + def _extract_license(self): + license_data = load(self, os.path.join(self.source_folder, "wglext.h")) begin = license_data.find("/*") + len("/*") end = license_data.find("*/") license_data = license_data[begin:end] license_data = license_data.replace("**", "") - tools.save("LICENSE", license_data) - self.copy("LICENSE", dst="licenses") + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_data) - def package_id(self): - self.info.header_only() + def package(self): + self._extract_license() + copy(self, pattern="wglext.h", dst=os.path.join(self.package_folder, "include", "GL"), src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/wglext/all/test_package/CMakeLists.txt b/recipes/wglext/all/test_package/CMakeLists.txt index 121f8f8e30a8e..06dc988df0340 100644 --- a/recipes/wglext/all/test_package/CMakeLists.txt +++ b/recipes/wglext/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(wglext REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/wglext/all/test_package/conanfile.py b/recipes/wglext/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/wglext/all/test_package/conanfile.py +++ b/recipes/wglext/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") From 72f15b3a9a8e876e33ed46b396dd2002c4e5d7c9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 11:01:53 +0100 Subject: [PATCH 0698/4087] (#18131) nv-codec-headers: migrate to Conan v2 --- recipes/nv-codec-headers/all/conanfile.py | 63 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 21 +++++-- .../all/test_package/test_package.c | 2 +- 4 files changed, 54 insertions(+), 39 deletions(-) diff --git a/recipes/nv-codec-headers/all/conanfile.py b/recipes/nv-codec-headers/all/conanfile.py index b7d41a1b54635..b85d4da96e184 100644 --- a/recipes/nv-codec-headers/all/conanfile.py +++ b/recipes/nv-codec-headers/all/conanfile.py @@ -1,60 +1,67 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools import os -required_conan_version = ">=1.35.0" +from conan import ConanFile +from conan.tools.files import chdir, get, load, rmdir, save +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class FFNvEncHeaders(ConanFile): name = "nv-codec-headers" description = "FFmpeg version of headers required to interface with Nvidia's codec APIs" - topics = ("ffmpeg", "video", "nvidia", "headers") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/FFmpeg/nv-codec-headers" - license = "MIT" - settings = "os" + topics = ("ffmpeg", "video", "nvidia", "headers", "header-only") - _autotools = None - _source_subfolder = "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def build_requirements(self): if self._settings_build.os == "Windows": if "CONAN_MAKE_PROGRAM" not in os.environ: self.build_requires("make/4.2.1") - def package_id(self): - self.info.header_only() - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - return self._autotools + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder)): + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.make() def _extract_license(self): # Extract the License/s from the header to a file - tmp = tools.load(os.path.join(self._source_subfolder, "include", "ffnvcodec", "nvEncodeAPI.h")) - license_contents = tmp[2:tmp.find("*/", 1)] # The license begins with a C comment /* and ends with */ - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) + tmp = load(self, os.path.join(self.source_folder, "include", "ffnvcodec", "nvEncodeAPI.h")) + license_contents = tmp[2 : tmp.find("*/", 1)] # The license begins with a C comment /* and ends with */ + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package(self): self._extract_license() - - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder)): - autotools.install(args=["PREFIX={}".format(self.package_folder)]) - - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install(args=["PREFIX=/"]) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.names["pkg_config"] = "ffnvcodec" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("pkg_config_name", "ffnvcodec") diff --git a/recipes/nv-codec-headers/all/test_package/CMakeLists.txt b/recipes/nv-codec-headers/all/test_package/CMakeLists.txt index 7b9b613cbb24a..a89c9eadf95fc 100644 --- a/recipes/nv-codec-headers/all/test_package/CMakeLists.txt +++ b/recipes/nv-codec-headers/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(nv-codec-headers REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE nv-codec-headers::nv-codec-headers) diff --git a/recipes/nv-codec-headers/all/test_package/conanfile.py b/recipes/nv-codec-headers/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/nv-codec-headers/all/test_package/conanfile.py +++ b/recipes/nv-codec-headers/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/nv-codec-headers/all/test_package/test_package.c b/recipes/nv-codec-headers/all/test_package/test_package.c index 6742254a188e9..2cb0fd61df830 100644 --- a/recipes/nv-codec-headers/all/test_package/test_package.c +++ b/recipes/nv-codec-headers/all/test_package/test_package.c @@ -4,7 +4,7 @@ #include #include -int main () { +int main() { printf("hello NVENC API version %u.%u\n", NVENCAPI_MAJOR_VERSION, NVENCAPI_MINOR_VERSION); return EXIT_SUCCESS; } From 367aff08a0c450fb7929643939c0cd2fd33eb6ef Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 11:22:07 +0100 Subject: [PATCH 0699/4087] (#18124) kainjow-mustache: migrate to Conan v2 --- recipes/kainjow-mustache/all/conanfile.py | 47 ++++++++++++------- .../all/test_package/CMakeLists.txt | 9 ++-- .../all/test_package/conanfile.py | 21 ++++++--- .../all/test_package/test_package.cpp | 21 ++++----- 4 files changed, 58 insertions(+), 40 deletions(-) diff --git a/recipes/kainjow-mustache/all/conanfile.py b/recipes/kainjow-mustache/all/conanfile.py index 5a235a430af98..0d2d3ee8e05e2 100644 --- a/recipes/kainjow-mustache/all/conanfile.py +++ b/recipes/kainjow-mustache/all/conanfile.py @@ -1,35 +1,48 @@ -from conans import ConanFile, tools import os -import glob + +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class KainjowMustacheConan(ConanFile): name = "kainjow-mustache" description = "Mustache text templates for modern C++" - topics = ("conan", "mustache", "template") + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/kainjow/Mustache" - license = "BSL-1.0" + topics = ("mustache", "template", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename( - "Mustache-{}".format(self.version), - self._source_subfolder - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("mustache.hpp", dst=os.path.join("include", "kainjow"), src=self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "mustache.hpp", + dst=os.path.join(self.package_folder, "include", "kainjow"), + src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "kainjow_mustache") + self.cpp_info.set_property("cmake_target_name", "kainjow_mustache::kainjow_mustache") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "kainjow_mustache" self.cpp_info.names["cmake_find_package_multi"] = "kainjow_mustache" diff --git a/recipes/kainjow-mustache/all/test_package/CMakeLists.txt b/recipes/kainjow-mustache/all/test_package/CMakeLists.txt index 10c7c5ddbef7f..931342e8916cd 100644 --- a/recipes/kainjow-mustache/all/test_package/CMakeLists.txt +++ b/recipes/kainjow-mustache/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.9) -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(kainjow_mustache REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE kainjow_mustache::kainjow_mustache) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/kainjow-mustache/all/test_package/conanfile.py b/recipes/kainjow-mustache/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/kainjow-mustache/all/test_package/conanfile.py +++ b/recipes/kainjow-mustache/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/kainjow-mustache/all/test_package/test_package.cpp b/recipes/kainjow-mustache/all/test_package/test_package.cpp index e2d83b0f477ec..d45d847b4bf07 100644 --- a/recipes/kainjow-mustache/all/test_package/test_package.cpp +++ b/recipes/kainjow-mustache/all/test_package/test_package.cpp @@ -1,18 +1,15 @@ -#include #include "kainjow/mustache.hpp" - +#include int main() { - using namespace kainjow::mustache; + using namespace kainjow::mustache; - mustache tmpl{"{{#employees}}{{name}}{{#comma}}, {{/comma}}{{/employees}}"}; - data employees{data::type::list}; - employees - << object{{"name", "Steve"}, {"comma", true}} - << object{{"name", "Bill"}}; + mustache tmpl{"{{#employees}}{{name}}{{#comma}}, {{/comma}}{{/employees}}"}; + data employees{data::type::list}; + employees << object{{"name", "Steve"}, {"comma", true}} << object{{"name", "Bill"}}; - if( tmpl.render({"employees", employees}) == "Steve, Bill" ) { - return 0; - } - return 1; + if (tmpl.render({"employees", employees}) == "Steve, Bill") { + return 0; + } + return 1; } From 488721e57dd3caa753b3d1480818d326a5b40f12 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 11:42:33 +0100 Subject: [PATCH 0700/4087] (#18121) fire-hpp: migrate to Conan v2 --- recipes/fire-hpp/all/conanfile.py | 65 +++++++++++-------- .../fire-hpp/all/test_package/CMakeLists.txt | 7 +- .../fire-hpp/all/test_package/conanfile.py | 22 +++++-- .../all/test_package/test_package.cpp | 4 +- 4 files changed, 57 insertions(+), 41 deletions(-) diff --git a/recipes/fire-hpp/all/conanfile.py b/recipes/fire-hpp/all/conanfile.py index e2770d10a2f50..79b1be52cfefe 100644 --- a/recipes/fire-hpp/all/conanfile.py +++ b/recipes/fire-hpp/all/conanfile.py @@ -1,43 +1,54 @@ -from conans import ConanFile, CMake, tools 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 + +required_conan_version = ">=1.52.0" + + class FireHppConan(ConanFile): name = "fire-hpp" - homepage = "https://github.com/kongaskristjan/fire-hpp" - url = "https://github.com/conan-io/conan-center-index" description = "Fire for C++: Create fully functional CLIs using function signatures" - topics = ("command-line", "argument", "parser") license = "BSL-1.0" - no_copy_source = True - settings = "os", "arch", "compiler", "build_type" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kongaskristjan/fire-hpp" + topics = ("command-line", "argument", "parser", "header-only") - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" - _cmake = None + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" def configure(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "{}-{}".format(self.name, self.version) - os.rename(extracted_dir, self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["FIRE_EXAMPLES"] = False - self._cmake.definitions["FIRE_UNIT_TESTS"] = False - self._cmake.configure(source_folder=self._source_subfolder, 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["FIRE_EXAMPLES"] = False + tc.variables["FIRE_UNIT_TESTS"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("LICENCE", dst="licenses", src=self._source_subfolder) - tools.rmdir(os.path.join(self.package_folder, "lib")) + copy(self, "LICENCE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "lib")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fire-hpp/all/test_package/CMakeLists.txt b/recipes/fire-hpp/all/test_package/CMakeLists.txt index 520f51ea73d4a..8068292a31341 100644 --- a/recipes/fire-hpp/all/test_package/CMakeLists.txt +++ b/recipes/fire-hpp/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(fire-hpp REQUIRED) +find_package(fire-hpp REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE fire-hpp::fire-hpp) diff --git a/recipes/fire-hpp/all/test_package/conanfile.py b/recipes/fire-hpp/all/test_package/conanfile.py index b6680c7d91280..1d145d1d569ec 100644 --- a/recipes/fire-hpp/all/test_package/conanfile.py +++ b/recipes/fire-hpp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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.settings): - bin_path = os.path.join("bin", "test_package") - bin_args = "-x=1 -y=2" - self.run("{} {}".format(bin_path, bin_args), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} -x=1 -y=2", env="conanrun") diff --git a/recipes/fire-hpp/all/test_package/test_package.cpp b/recipes/fire-hpp/all/test_package/test_package.cpp index 614e5b1984d23..39e02ea0720f9 100644 --- a/recipes/fire-hpp/all/test_package/test_package.cpp +++ b/recipes/fire-hpp/all/test_package/test_package.cpp @@ -2,8 +2,8 @@ #include int fired_main(int x = fire::arg("-x"), int y = fire::arg("-y")) { - std::cout << x + y << std::endl; - return 0; + std::cout << x + y << std::endl; + return 0; } FIRE(fired_main) From 8d6835839924db814a4c5053829f8764480aa19e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 12:34:00 +0100 Subject: [PATCH 0701/4087] (#18135) nextsilicon-cpp-subprocess: add cppstd check, fix typo Follow-up to https://github.com/conan-io/conan-center-index/pull/18127/files#r1246355487 --- .../nextsilicon-cpp-subprocess/all/conanfile.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/recipes/nextsilicon-cpp-subprocess/all/conanfile.py b/recipes/nextsilicon-cpp-subprocess/all/conanfile.py index 9fd2328668d3b..01f1e1a74c95e 100644 --- a/recipes/nextsilicon-cpp-subprocess/all/conanfile.py +++ b/recipes/nextsilicon-cpp-subprocess/all/conanfile.py @@ -1,6 +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.layout import basic_layout @@ -11,8 +12,8 @@ class CppSubprocess(ConanFile): name = "nextsilicon-cpp-subprocess" description = ( "Subprocessing with modern C++. " - "The only goal was to develop something that is as close as" - "Python subprocess module in dealing with processes." + "The only goal was to develop something that is as close as possible" + " to the Python subprocess module in dealing with processes." ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" @@ -23,19 +24,23 @@ class CppSubprocess(ConanFile): 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() + @property + def _min_cppstd(self): + return 11 + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def package(self): copy(self, "subprocess.hpp", dst=os.path.join(self.package_folder, "include/cpp-subprocess"), @@ -44,7 +49,6 @@ def package(self): dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From 9a3bb45d573fc0a58d456d5e79d5ad46a02af669 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 13:02:21 +0100 Subject: [PATCH 0702/4087] (#18116) icecream-cpp: migrate to Conan v2 --- recipes/icecream-cpp/all/conanfile.py | 53 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 ++- .../all/test_package/conanfile.py | 22 +++++--- 3 files changed, 48 insertions(+), 34 deletions(-) diff --git a/recipes/icecream-cpp/all/conanfile.py b/recipes/icecream-cpp/all/conanfile.py index ad2f369b0f440..472b8f9d1ba62 100644 --- a/recipes/icecream-cpp/all/conanfile.py +++ b/recipes/icecream-cpp/all/conanfile.py @@ -1,42 +1,49 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 IcecreamcppConan(ConanFile): name = "icecream-cpp" + description = "A little library to help with the print debugging on C++11 and forward." license = "MIT" - homepage = "https://github.com/renatoGarcia/icecream-cpp" url = "https://github.com/conan-io/conan-center-index" - description = "A little library to help with the print debugging on C++11 and forward." - topics = ("debug", "single-header-lib", "print") - settings = "compiler" + homepage = "https://github.com/renatoGarcia/icecream-cpp" + topics = ("debug", "single-header-lib", "print", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + 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"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) - if self.settings.compiler == "gcc" and tools.Version(self.settings.compiler.version) < "5": + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration( - "icecream-cpp can't be used by {0} {1}".format( - self.settings.compiler, - self.settings.compiler.version - ) + f"icecream-cpp can't be used by {self.settings.compiler} {self.settings.compiler.version}" ) - def package_id(self): - self.info.header_only() - 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 package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy("icecream.hpp", dst="include", src=self._source_subfolder) + copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "icecream.hpp", 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/icecream-cpp/all/test_package/CMakeLists.txt b/recipes/icecream-cpp/all/test_package/CMakeLists.txt index 6aab347eddf53..5b9d4de6b2558 100644 --- a/recipes/icecream-cpp/all/test_package/CMakeLists.txt +++ b/recipes/icecream-cpp/all/test_package/CMakeLists.txt @@ -1,9 +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(icecream-cpp REQUIRED CONFIG) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example PRIVATE icecream-cpp::icecream-cpp) set_property(TARGET example PROPERTY CXX_STANDARD 11) diff --git a/recipes/icecream-cpp/all/test_package/conanfile.py b/recipes/icecream-cpp/all/test_package/conanfile.py index 186ee2682166d..e0f447388fa1b 100644 --- a/recipes/icecream-cpp/all/test_package/conanfile.py +++ b/recipes/icecream-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" + test_type = "explicit" -class IcecreamcppTestConan(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.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") From de39d21490f041e94cfd546d5842b3e0fd815aca Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 13:21:53 +0100 Subject: [PATCH 0703/4087] (#18114) greatest: migrate to Conan v2 --- recipes/greatest/all/conanfile.py | 31 +++++++++++++------ .../greatest/all/test_package/CMakeLists.txt | 7 ++--- .../greatest/all/test_package/conanfile.py | 21 +++++++++---- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/recipes/greatest/all/conanfile.py b/recipes/greatest/all/conanfile.py index cda1c077e6c1d..24675294fec7f 100644 --- a/recipes/greatest/all/conanfile.py +++ b/recipes/greatest/all/conanfile.py @@ -1,4 +1,10 @@ -from conans import ConanFile, tools +import os + +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class GreatestConan(ConanFile): @@ -8,19 +14,24 @@ class GreatestConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/silentbicycle/greatest" topics = ("testing", "testing-framework", "unit-testing", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("greatest.h", dst="include", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "greatest.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/greatest/all/test_package/CMakeLists.txt b/recipes/greatest/all/test_package/CMakeLists.txt index a5ffd526aaea7..7ddc15d912feb 100644 --- a/recipes/greatest/all/test_package/CMakeLists.txt +++ b/recipes/greatest/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(greatest REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.c) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${CMAKE_PROJECT_NAME} greatest::greatest) diff --git a/recipes/greatest/all/test_package/conanfile.py b/recipes/greatest/all/test_package/conanfile.py index d4128b0450777..fae501d0afb9e 100644 --- a/recipes/greatest/all/test_package/conanfile.py +++ b/recipes/greatest/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" + 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") From 0435fc5726fa70e1b21b1ee1b60145b19fe7c089 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:41:37 +0200 Subject: [PATCH 0704/4087] (#18139) [bot] Update authorized users list (2023-06-29) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index a9010918eb015..45782a0fc1900 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1182,3 +1182,6 @@ authorized_users: - ChrisThrasher - ViktarHasiul231862 - Becheler +- jalapenopuzzle +- HalfSweet +- CJCombrink From 2633bef462e4a10f61e7e40f1f185e8735975376 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 14:03:06 +0100 Subject: [PATCH 0705/4087] (#18110) stringtoolbox: migrate to Conan v2 --- recipes/stringtoolbox/all/conanfile.py | 40 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 +--- .../all/test_package/conanfile.py | 24 +++++++---- 3 files changed, 44 insertions(+), 27 deletions(-) diff --git a/recipes/stringtoolbox/all/conanfile.py b/recipes/stringtoolbox/all/conanfile.py index c1426333ba094..1753e2bcb8a5f 100644 --- a/recipes/stringtoolbox/all/conanfile.py +++ b/recipes/stringtoolbox/all/conanfile.py @@ -1,31 +1,41 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" -required_conan_version = ">=1.33.0" class DawHeaderLibrariesConan(ConanFile): name = "stringtoolbox" - license = "MIT" description = "A simple header-only, single-file string toolbox library for C++." - topics = ("string", "header-only",) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/chrberger/stringtoolbox" - settings = "os", "arch", "compiler", "build_type", + topics = ("string", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + 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"): - tools.check_min_cppstd(self, "11") - - def package_id(self): - self.info.header_only() + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - self.copy("stringtoolbox.hpp", "include", self._source_subfolder) + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "stringtoolbox.hpp", 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/stringtoolbox/all/test_package/CMakeLists.txt b/recipes/stringtoolbox/all/test_package/CMakeLists.txt index 76fbeefd9810e..012002471f6a4 100644 --- a/recipes/stringtoolbox/all/test_package/CMakeLists.txt +++ b/recipes/stringtoolbox/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(stringtoolbox CONFIG REQUIRED) +find_package(stringtoolbox REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} stringtoolbox::stringtoolbox) diff --git a/recipes/stringtoolbox/all/test_package/conanfile.py b/recipes/stringtoolbox/all/test_package/conanfile.py index de03d357e14e0..ef5d7042163ec 100644 --- a/recipes/stringtoolbox/all/test_package/conanfile.py +++ b/recipes/stringtoolbox/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class DawHeaderLibrariesTestConan(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) @@ -11,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") From df8344adc55ca07cae7130d6d91cde0f230cce62 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 29 Jun 2023 15:23:17 +0200 Subject: [PATCH 0706/4087] (#18034) opentelemetry: fixup requirements * opentelemetry-cpp: fixup requirements Some of these tool requirements are only needed with some options enabled * opentelemetry-cpp: bump boost dependency --- recipes/opentelemetry-cpp/all/conanfile.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index c56f8d1fa1129..7d1799e99839a 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -126,7 +126,7 @@ def requirements(self): self.requires("thrift/0.17.0") if Version(self.version) >= "1.3.0": - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") @property def _required_boost_components(self): @@ -146,8 +146,9 @@ def validate(self): if self.options.get_safe("with_otlp_http") and not self.options.with_otlp: raise ConanInvalidConfiguration("Option 'with_otlp_http' requires 'with_otlp'") - if not self.dependencies["grpc"].options.cpp_plugin: - raise ConanInvalidConfiguration(f"{self.ref} requires grpc with cpp_plugin=True") + if self.options.get_safe("with_otlp_grpc"): + if not self.dependencies["grpc"].options.cpp_plugin: + raise ConanInvalidConfiguration(f"{self.ref} requires grpc with cpp_plugin=True") boost_required_comp = any(self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) for boost_comp in self._required_boost_components) @@ -159,8 +160,10 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("protobuf/3.21.9") - self.tool_requires("grpc/1.50.1") + if self.options.with_otlp: + self.tool_requires("protobuf/3.21.9") + if self.options.get_safe("with_otlp_grpc"): + self.tool_requires("grpc/1.50.1") def _create_cmake_module_variables(self, module_file): content = textwrap.dedent("""\ @@ -440,6 +443,7 @@ def package_info(self): self.options.with_elasticsearch ): self.cpp_info.components[self._http_client_name].requires.append("libcurl::libcurl") + self.cpp_info.components[self._http_client_name].requires.append("openssl::openssl") if self.options.get_safe("with_otlp_http"): self.cpp_info.components["opentelemetry_exporter_otlp_http_client"].requires.extend([ From c92ee911405149cad095c54a111d490db6b7741f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 15:02:14 +0100 Subject: [PATCH 0707/4087] (#18126) mattiasgustavsson-libs: migrate to Conan v2 * mattiasgustavsson-libs: migrate to Conan v2 * mattiasgustavsson-libs: undo addition of cxx_std_11 in test_package No min cppstd check is done in the recipe, so this should not be necessary. * mattiasgustavsson-libs: add check_min_cppstd * mattiasgustavsson-libs: fix license extraction --- .../mattiasgustavsson-libs/all/conanfile.py | 58 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 21 +++++-- 3 files changed, 55 insertions(+), 31 deletions(-) diff --git a/recipes/mattiasgustavsson-libs/all/conanfile.py b/recipes/mattiasgustavsson-libs/all/conanfile.py index bfba3abb27bab..064ab9c964c61 100644 --- a/recipes/mattiasgustavsson-libs/all/conanfile.py +++ b/recipes/mattiasgustavsson-libs/all/conanfile.py @@ -1,37 +1,53 @@ -from conans import ConanFile, tools -import os.path -import glob +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, load, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class MattiasgustavssonLibsConan(ConanFile): name = "mattiasgustavsson-libs" description = "Single-file public domain libraries for C/C++" - homepage = "https://github.com/mattiasgustavsson/libs" - url = "https://github.com/conan-io/conan-center-index" license = ("Unlicense", "MIT") - topics = ("utilities", "mattiasgustavsson", "libs") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mattiasgustavsson/libs" + topics = ("utilities", "mattiasgustavsson", "libs", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob('libs-*/')[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _extract_licenses(self): - header = tools.load(os.path.join(self._source_subfolder, "thread.h")) - mit_content = header[header.find("ALTERNATIVE A - "):header.find("ALTERNATIVE B -")] - tools.save("LICENSE_MIT", mit_content) - unlicense_content = header[header.find("ALTERNATIVE B - "):header.rfind("*/", 1)] - tools.save("LICENSE_UNLICENSE", unlicense_content) + header = load(self, os.path.join(self.source_folder, "thread.h")) + mit_content = header[header.find("ALTERNATIVE A - ") : header.find("ALTERNATIVE B -")] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE_MIT"), mit_content) + unlicense_content = header[header.find("ALTERNATIVE B - ") : header.rfind("*/", 1)] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE_UNLICENSE"), unlicense_content) def package(self): - self.copy(pattern="*.h", dst="include", src=self._source_subfolder) self._extract_licenses() - self.copy("LICENSE_MIT", dst="licenses") - self.copy("LICENSE_UNLICENSE", dst="licenses") + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/mattiasgustavsson-libs/all/test_package/CMakeLists.txt b/recipes/mattiasgustavsson-libs/all/test_package/CMakeLists.txt index 7557711b6dc83..fe3e7c23a7d9b 100644 --- a/recipes/mattiasgustavsson-libs/all/test_package/CMakeLists.txt +++ b/recipes/mattiasgustavsson-libs/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(mattiasgustavsson-libs REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE mattiasgustavsson-libs::mattiasgustavsson-libs) diff --git a/recipes/mattiasgustavsson-libs/all/test_package/conanfile.py b/recipes/mattiasgustavsson-libs/all/test_package/conanfile.py index bd7165a553cf4..fae501d0afb9e 100644 --- a/recipes/mattiasgustavsson-libs/all/test_package/conanfile.py +++ b/recipes/mattiasgustavsson-libs/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" + 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") From 0bdeaf53ede9fa5e3f1cfbe96c47b4d5803372fe Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 29 Jun 2023 16:22:43 +0200 Subject: [PATCH 0708/4087] (#17995) fontconfig: migrate to util-linux-libuuid To avoid conflict with system libuuid --- recipes/fontconfig/meson/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index 7effda31e1c9d..54997946cfcf6 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -52,11 +52,11 @@ def requirements(self): self.requires("freetype/2.13.0") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") def build_requirements(self): self.tool_requires("gperf/3.1") - self.tool_requires("meson/1.0.1") + self.tool_requires("meson/1.1.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") From 5212b5e9c447f448c8d6aa72eea22bf5e6187dd8 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Jun 2023 23:41:47 +0900 Subject: [PATCH 0709/4087] (#18136) zlib-ng: add version 2.1.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 6a968e1b5df2d..27e5a03a3afe2 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.3": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.3.tar.gz" + sha256: "d20e55f89d71991c59f1c5ad1ef944815e5850526c0d9cd8e504eaed5b24491a" "2.1.2": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.2.tar.gz" sha256: "383560d6b00697c04e8878e26c0187b480971a8bce90ffd26a5a7b0f7ecf1a33" diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index c37d0e56fedc6..96567d37e1ee8 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.3": + folder: all "2.1.2": folder: all "2.0.7": From e2e3d104349524291260a4948e4ab228c07a34f3 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Thu, 29 Jun 2023 17:01:55 +0200 Subject: [PATCH 0710/4087] (#18142) cppcmd: conan v2 support --- recipes/cppcmd/all/conanfile.py | 78 ++++++++++--------- .../cppcmd/all/test_package/CMakeLists.txt | 9 +-- recipes/cppcmd/all/test_package/conanfile.py | 21 +++-- recipes/cppcmd/all/test_package/main.cpp | 2 + 4 files changed, 63 insertions(+), 47 deletions(-) diff --git a/recipes/cppcmd/all/conanfile.py b/recipes/cppcmd/all/conanfile.py index f83b9294d4efa..8e60072bb9375 100644 --- a/recipes/cppcmd/all/conanfile.py +++ b/recipes/cppcmd/all/conanfile.py @@ -1,7 +1,13 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -from glob import glob + + +required_conan_version = ">=1.52.0" class CppCmdConan(ConanFile): @@ -11,57 +17,57 @@ class CppCmdConan(ConanFile): homepage = "https://github.com/remysalim/cppcmd" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "compiler", "arch", "build_type" - generators = "cmake" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property - def _minimum_compilers_version(self): + def _compilers_minimum_version(self): return { "Visual Studio": "15.7", + "msvc": "192", "gcc": "8", "clang": "7", "apple-clang": "10.2", } - def configure(self): - if self.settings.get_safe("compiler.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 tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++17 support. The current compiler {} {} does not support it.".format( - self.name, self.settings.compiler, self.settings.compiler.version)) + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob("cppcmd-*")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTS"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + # header_only - no build def package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) - cmake.definitions["BUILD_TESTS"] = "OFF" - cmake.configure(source_folder=self._source_subfolder, - build_folder=self._build_subfolder) cmake.install() - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cppcmd/all/test_package/CMakeLists.txt b/recipes/cppcmd/all/test_package/CMakeLists.txt index 1ecd7e0a81c7b..9c5302dc6f47d 100644 --- a/recipes/cppcmd/all/test_package/CMakeLists.txt +++ b/recipes/cppcmd/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.5) -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(cppcmd REQUIRED CONFIG) add_executable(${PROJECT_NAME} main.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} cppcmd::cppcmd) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/cppcmd/all/test_package/conanfile.py b/recipes/cppcmd/all/test_package/conanfile.py index bd7165a553cf4..3a91c9439218e 100644 --- a/recipes/cppcmd/all/test_package/conanfile.py +++ b/recipes/cppcmd/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cppcmd/all/test_package/main.cpp b/recipes/cppcmd/all/test_package/main.cpp index 186e15bf7de57..94c409d3743fc 100644 --- a/recipes/cppcmd/all/test_package/main.cpp +++ b/recipes/cppcmd/all/test_package/main.cpp @@ -1,5 +1,7 @@ #include +#include +#include #include using namespace cppcmd; From 50da949ea16a96d2dd08aab74ec9a49bf6158404 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 16:43:47 +0100 Subject: [PATCH 0711/4087] (#18123) croncpp: migrate to Conan v2 * croncpp: migrate to Conan v2 * croncpp: fix license copying --- recipes/croncpp/all/CMakeLists.txt | 9 ---- recipes/croncpp/all/conanfile.py | 50 ++++++++++++------- .../croncpp/all/test_package/CMakeLists.txt | 5 +- recipes/croncpp/all/test_package/conanfile.py | 22 +++++--- 4 files changed, 48 insertions(+), 38 deletions(-) delete mode 100644 recipes/croncpp/all/CMakeLists.txt diff --git a/recipes/croncpp/all/CMakeLists.txt b/recipes/croncpp/all/CMakeLists.txt deleted file mode 100644 index 46247ce0c956e..0000000000000 --- a/recipes/croncpp/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(conan_wrapper CXX) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_CXX_STANDARD 11) - -add_subdirectory(source_subfolder) diff --git a/recipes/croncpp/all/conanfile.py b/recipes/croncpp/all/conanfile.py index cecf595a5a249..ffab100ea6a29 100644 --- a/recipes/croncpp/all/conanfile.py +++ b/recipes/croncpp/all/conanfile.py @@ -1,45 +1,57 @@ import os -import functools -from conans import ConanFile, CMake, tools -required_conan_version = ">=1.33.0" +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 + +required_conan_version = ">=1.52.0" + class CroncppConan(ConanFile): name = "croncpp" description = "A C++11/14/17 header-only cross-platform library for handling CRON expressions" - topics = ("cron", "header-only") license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mariusbancila/croncpp/" + topics = ("cron", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - generators = "cmake", + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 - def export_sources(self): - self.copy("CMakeLists.txt") + def layout(self): + cmake_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, self._min_cppstd) 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.generate() - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): cmake = CMake(self) cmake.configure() - return cmake + cmake.build() def package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/croncpp/all/test_package/CMakeLists.txt b/recipes/croncpp/all/test_package/CMakeLists.txt index 1bb4c146bf257..0377a66e57597 100644 --- a/recipes/croncpp/all/test_package/CMakeLists.txt +++ b/recipes/croncpp/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(croncpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/croncpp/all/test_package/conanfile.py b/recipes/croncpp/all/test_package/conanfile.py index 6cae150e6701a..fae501d0afb9e 100644 --- a/recipes/croncpp/all/test_package/conanfile.py +++ b/recipes/croncpp/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class CroncppConan(ConanFile): + +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 724676dd4086cc679ef3b0442c77868dc99133e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 29 Jun 2023 17:02:11 +0100 Subject: [PATCH 0712/4087] (#18119) debug_assert: migrate to Conan v2 * debug_assert: migrate to Conan v2 * debug_assert: fix misplaced min cppstd check --------- Co-authored-by: Carlos Zoido --- recipes/debug_assert/all/conanfile.py | 63 ++++++++++++------- .../all/test_package/CMakeLists.txt | 9 ++- .../all/test_package/conanfile.py | 21 +++++-- 3 files changed, 58 insertions(+), 35 deletions(-) diff --git a/recipes/debug_assert/all/conanfile.py b/recipes/debug_assert/all/conanfile.py index 7c5ec7a1005be..6ffe03cd97e25 100644 --- a/recipes/debug_assert/all/conanfile.py +++ b/recipes/debug_assert/all/conanfile.py @@ -1,35 +1,50 @@ -from conans import ConanFile, tools import os -class DebugAssert(ConanFile): - name = 'debug_assert' - description = 'Simple, flexible and modular assertion macro' - url = 'https://github.com/conan-io/conan-center-index' - homepage = 'http://foonathan.net/blog/2016/09/16/assertions.html' - license = 'Zlib' - topics = 'conan', 'assert', 'debugging', 'utilities' +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" - settings = 'compiler' +class DebugAssert(ConanFile): + name = "debug_assert" + description = "Simple, flexible and modular assertion macro" + license = "Zlib" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://foonathan.net/blog/2016/09/16/assertions.html" + topics = ("assert", "debugging", "utilities", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _source_subfolder = 'source_subfolder' @property - def _repo_folder(self): - return os.path.join(self.source_folder, self._source_subfolder) + def _min_cppstd(self): + return 11 - 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 layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() - def configure(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, '11') + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) - def package(self): - self.copy("*LICENSE", dst="licenses", keep_path=False) - self.copy("debug_assert.hpp", src=self._repo_folder, dst='include/') + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def package_id(self): - self.info.header_only() + def package(self): + copy(self, "*LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, keep_path=False) + copy(self, "debug_assert.hpp", + 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/debug_assert/all/test_package/CMakeLists.txt b/recipes/debug_assert/all/test_package/CMakeLists.txt index 33ae887aa6aea..57219dd9b2fc5 100644 --- a/recipes/debug_assert/all/test_package/CMakeLists.txt +++ b/recipes/debug_assert/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(debug_assert REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE debug_assert::debug_assert) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/debug_assert/all/test_package/conanfile.py b/recipes/debug_assert/all/test_package/conanfile.py index bd7165a553cf4..fae501d0afb9e 100644 --- a/recipes/debug_assert/all/test_package/conanfile.py +++ b/recipes/debug_assert/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" + 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") From 7a6161ceb6179eb80e59425f569aaae9a27004e2 Mon Sep 17 00:00:00 2001 From: Maxim Pimenov <10366009+mpimenov@users.noreply.github.com> Date: Thu, 29 Jun 2023 19:25:14 +0300 Subject: [PATCH 0713/4087] (#17691) arrow: fix the library name for the libacero component I think we got this part wrong in https://github.com/conan-io/conan-center-index/pull/17540 It's not clear if this name stays (see https://github.com/apache/arrow/issues/15280) but currently the file being created is libarrow_acero.a I'm not certain what to do with names of other components, such as pkg_config: for arrow_substrait we prepend "arrow_" everywhere, for "arrow_flight_sql" we do not. I've chosen to make the smallest possible diff that I am sure about. Co-authored-by: James --- 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 ee4cdd21e5b52..50780c591a6e7 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -575,7 +575,7 @@ def package_info(self): del self.options.plasma if self.options.acero: - self.cpp_info.components["libacero"].libs = [f"acero{suffix}"] + self.cpp_info.components["libacero"].libs = [f"arrow_acero{suffix}"] self.cpp_info.components["libacero"].names["cmake_find_package"] = "acero" self.cpp_info.components["libacero"].names["cmake_find_package_multi"] = "acero" self.cpp_info.components["libacero"].names["pkg_config"] = "acero" From e23cb169375cb079a5bc1553f3ab18e141d6e390 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Thu, 29 Jun 2023 19:21:37 +0200 Subject: [PATCH 0714/4087] (#18146) libbigwig: bump deps --- recipes/libbigwig/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index 0f28a5364da62..cf0ba30f73906 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -45,9 +45,9 @@ def requirements(self): if self.options.with_curl: # transitive_headers=True is required due to includes in bigWigIO.h # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 - self.requires("libcurl/8.0.1", transitive_headers=True) + self.requires("libcurl/8.1.2", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.0.7") + self.requires("zlib-ng/2.1.3") else: self.requires("zlib/1.2.13") From d9de202b50396709fc85cab764a79a7e2f35b91d Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Thu, 29 Jun 2023 13:41:38 -0700 Subject: [PATCH 0715/4087] (#18150) libunwind: Add version 1.7.0. --- recipes/libunwind/all/conandata.yml | 3 +++ recipes/libunwind/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libunwind/all/conandata.yml b/recipes/libunwind/all/conandata.yml index 3379c640096e5..933dd5e18e6e0 100644 --- a/recipes/libunwind/all/conandata.yml +++ b/recipes/libunwind/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/libunwind/libunwind/releases/download/v1.7.0/libunwind-1.70.tar.gz" + sha256: "c24c913d2337d6eff851b6ab32aadfb683a86fee48d28fe1fc9cd56c8e9dfa58" "1.6.2": url: "https://github.com/libunwind/libunwind/releases/download/v1.6.2/libunwind-1.6.2.tar.gz" sha256: "4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976" diff --git a/recipes/libunwind/config.yml b/recipes/libunwind/config.yml index 26cf6b32aa2bf..06062bdf41682 100644 --- a/recipes/libunwind/config.yml +++ b/recipes/libunwind/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.2": folder: all "1.5.0": From 64a30a53d55111074ae2151bf83635802f75eedb Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Jun 2023 17:22:38 +0900 Subject: [PATCH 0716/4087] (#18145) tinygltf: add version 2.8.13, update dependencies * tinygltf: add version 2.8.13 * add package_type --- recipes/tinygltf/all/conandata.yml | 3 +++ recipes/tinygltf/all/conanfile.py | 13 ++++++------- recipes/tinygltf/config.yml | 2 ++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/recipes/tinygltf/all/conandata.yml b/recipes/tinygltf/all/conandata.yml index 0e07d04c2de59..ecf335230f785 100644 --- a/recipes/tinygltf/all/conandata.yml +++ b/recipes/tinygltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.13": + url: "https://github.com/syoyo/tinygltf/archive/v2.8.13.tar.gz" + sha256: "72c3e5affa8389442582e4cf67426376e2dff418e998e19822260f4bf58b74b8" "2.5.0": url: "https://github.com/syoyo/tinygltf/archive/v2.5.0.tar.gz" sha256: "5d85bd556b60b1b69527189293cfa4902957d67fabb8582b6532f23a5ef27ec1" diff --git a/recipes/tinygltf/all/conanfile.py b/recipes/tinygltf/all/conanfile.py index 1d6e2279c2680..4f9e36874366d 100644 --- a/recipes/tinygltf/all/conanfile.py +++ b/recipes/tinygltf/all/conanfile.py @@ -11,10 +11,10 @@ class TinygltfConan(ConanFile): name = "tinygltf" description = "Header only C++11 tiny glTF 2.0 library." license = "MIT" - topics = ("gltf") - homepage = "https://github.com/syoyo/tinygltf" url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://github.com/syoyo/tinygltf" + topics = ("gltf", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "draco": [True, False], @@ -36,17 +36,16 @@ def package_id(self): def requirements(self): self.requires("nlohmann_json/3.11.2") if self.options.draco: - self.requires("draco/1.5.5") + self.requires("draco/1.5.6") if self.options.stb_image or self.options.stb_image_write: - self.requires("stb/cci.20210910") + self.requires("stb/cci.20220909") def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): replace_in_file(self, os.path.join(self.source_folder, "tiny_gltf.h"), diff --git a/recipes/tinygltf/config.yml b/recipes/tinygltf/config.yml index a23d2b23eb439..b8d9dd2cb9e3a 100644 --- a/recipes/tinygltf/config.yml +++ b/recipes/tinygltf/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.13": + folder: all "2.5.0": folder: all "2.4.0": From 6fdbc918514dc0455817cf78b8a13b0f5ce8be4d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 30 Jun 2023 10:41:41 +0200 Subject: [PATCH 0717/4087] (#18157) nss 3.91 --- recipes/nss/all/conandata.yml | 3 +++ recipes/nss/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nss/all/conandata.yml b/recipes/nss/all/conandata.yml index 1d61f4b23cee2..254439032f647 100644 --- a/recipes/nss/all/conandata.yml +++ b/recipes/nss/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.91": + url: "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_91_RTM/src/nss-3.91.tar.gz" + sha256: "84bd46376df17118c55f6d73d30fd93a0af21296c66e7690471547e5898fc4b3" "3.89": url: "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_89_RTM/src/nss-3.89.tar.gz" sha256: "55c37a3f4da010d0574fb8b39264cb1e7b4ce9e6c2954c1c7ecf9f41ee00bed5" diff --git a/recipes/nss/config.yml b/recipes/nss/config.yml index 4e88bb8ad9d3b..741d3aab48e70 100644 --- a/recipes/nss/config.yml +++ b/recipes/nss/config.yml @@ -1,4 +1,6 @@ versions: + "3.91": + folder: all "3.89": folder: all "3.88.1": From 07a8274231f1df6826fdd84f2574276d76a1e464 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 30 Jun 2023 11:03:02 +0200 Subject: [PATCH 0718/4087] (#18156) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index fe68488eaa9b1..b5b3f1ea7f622 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -113,6 +113,7 @@ required_for_references: - celero - cereal - ceres-solver +- certify - cfgfile - cfitsio - cgal @@ -147,6 +148,7 @@ required_for_references: - concurrencpp - concurrentqueue - console_bridge +- continuable - cpp-httplib - cpp-jwt - cpp-lazy @@ -155,6 +157,7 @@ required_for_references: - cpp-sort - cppbenchmark - cppcheck +- cppcmd - cppcodec - cppcommon - cppdap @@ -170,17 +173,20 @@ required_for_references: - cqrlib - crc32c - create-dmg +- croncpp - crunch - cryptopp - cs_libguarded - csm - cspice - csvmonkey +- ctml - ctre - cub - cubicinterpolation - cuda-api-wrappers - cuda-kat +- cute_headers - cwalk - cxxopts - cyclonedds @@ -194,6 +200,7 @@ required_for_references: - daw_utf_range - dbcppp - dbus +- debug_assert - decimal_for_cpp - dirent - discount @@ -293,6 +300,7 @@ required_for_references: - gperf - gperftools - graphene +- greatest - grpc - grpc-proto - gsl @@ -316,6 +324,7 @@ required_for_references: - hiredis - homog2d - http_parser +- icecream-cpp - icu - id3v2lib - iir1 @@ -337,8 +346,11 @@ required_for_references: - json-schema-validator - jsoncons - jsoncpp +- jsonnet - jwt-cpp +- kainjow-mustache - kangaru +- khrplatform - kmod - ktx - kuba-zip @@ -384,6 +396,7 @@ required_for_references: - libgphoto2 - libiberty - libiconv +- libinterpolate - libjpeg - libjpeg-turbo - libkml @@ -420,6 +433,7 @@ required_for_references: - libressl - librttopo - libsamplerate +- libsecret - libselinux - libserial - libsgp4 @@ -460,6 +474,7 @@ required_for_references: - libzip - libzippp - lief +- linux-headers-generic - linux-syscall-support - llhttp - lodepng @@ -475,6 +490,7 @@ required_for_references: - make - mariadb-connector-c - matchit +- mattiasgustavsson-libs - mawk - mbedtls - mbits-args @@ -518,6 +534,7 @@ required_for_references: - nasm - netcdf - nettle +- nextsilicon-cpp-subprocess - ninja - nlohmann_json - nng @@ -526,6 +543,7 @@ required_for_references: - nsync - numcpp - nuraft +- nv-codec-headers - octomap - odbc - ogdf @@ -574,6 +592,7 @@ required_for_references: - plutovg - poco - popt +- portable-file-dialogs - proj - prometheus-cpp - proposal @@ -591,11 +610,13 @@ required_for_references: - quantlib - quill - quirc +- r8brain-free-src - rabbitmq-c - ragel - rang - range-v3 - rapidcheck +- rapidcsv - rapidfuzz - rapidjson - rapidxml @@ -619,6 +640,7 @@ required_for_references: - s2n - samurai - sbepp +- sbp - scnlib - scons - screen_capture_lite @@ -629,6 +651,7 @@ required_for_references: - semimap - sentry-breakpad - sentry-crashpad +- sentry-native - serd - sfml - shield @@ -640,6 +663,7 @@ required_for_references: - sml - snappy - soci +- sonic-cpp - sophus - soplex - soxr @@ -658,6 +682,7 @@ required_for_references: - stlab - strawberryperl - string-view-lite +- stringtoolbox - strong_type - svgwrite - symengine @@ -686,6 +711,7 @@ required_for_references: - tlx - toml11 - trantor +- tsl-hopscotch-map - turtle - tz - uni-algo @@ -708,6 +734,7 @@ required_for_references: - vo-amrwbenc - volk - vorbis +- vsg - vtu11 - vulkan-headers - vulkan-loader @@ -721,6 +748,7 @@ required_for_references: - wayland-protocols - websocketpp - wg21-linear_algebra +- wglext - wil - winflexbison - wiringpi From fffe21550205239cd9ead2faed43153031f10a39 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 30 Jun 2023 18:22:36 +0900 Subject: [PATCH 0719/4087] (#18144) tinyexr: add version 1.0.6, add package_type --- recipes/tinyexr/all/conandata.yml | 3 +++ recipes/tinyexr/all/conanfile.py | 4 ++-- recipes/tinyexr/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/tinyexr/all/conandata.yml b/recipes/tinyexr/all/conandata.yml index 6fdffb908d2c6..2b4deeb06840b 100644 --- a/recipes/tinyexr/all/conandata.yml +++ b/recipes/tinyexr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.6": + url: "https://github.com/syoyo/tinyexr/archive/v1.0.6.tar.gz" + sha256: "807a5665a7da8dc5ba4dd2c0f69079d87f37a147399680a54e3b38f86486aa67" "1.0.1": url: "https://github.com/syoyo/tinyexr/archive/v1.0.1.tar.gz" sha256: "4dbbd8c7d17597ad557518de5eb923bd02683d26d0de765f9224e8d57d121677" diff --git a/recipes/tinyexr/all/conanfile.py b/recipes/tinyexr/all/conanfile.py index 889c4c311e95f..26a07647634a1 100644 --- a/recipes/tinyexr/all/conanfile.py +++ b/recipes/tinyexr/all/conanfile.py @@ -13,7 +13,7 @@ class TinyExrConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/syoyo/tinyexr" topics = ("exr", "header-only") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_z": ["zlib", "miniz"], @@ -38,7 +38,7 @@ def layout(self): def requirements(self): if self.options.with_z == "miniz": - self.requires("miniz/3.0.1") + self.requires("miniz/3.0.2") else: self.requires("zlib/1.2.13") if self.options.with_zfp: diff --git a/recipes/tinyexr/config.yml b/recipes/tinyexr/config.yml index af3bb0714e65c..b08dcb504fac7 100644 --- a/recipes/tinyexr/config.yml +++ b/recipes/tinyexr/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.6": + folder: all "1.0.1": folder: all "1.0.0": From 464303621333b8ec0bcc17385a85060db4c7f4d7 Mon Sep 17 00:00:00 2001 From: fcorso2016 <35567462+fcorso2016@users.noreply.github.com> Date: Fri, 30 Jun 2023 05:44:47 -0400 Subject: [PATCH 0720/4087] (#17813) [dr_libs] New library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added the dr_libs conanfile * Added new line character * Removed trailing spaces * Used the suggested version number Co-authored-by: Uilian Ries * Update recipes/dr_libs/all/conanfile.py Co-authored-by: Uilian Ries * Added a test for the package to verify functionality * Changed test to not read in an audio file * Switched to use NULL instead of nullptr * some fixes * Update recipes/dr_libs/all/test_package/CMakeLists.txt Co-authored-by: Uilian Ries * check_min_cppstd * Update recipes/dr_libs/all/test_package/CMakeLists.txt * Add min compiler version check * fix imports --------- Co-authored-by: Uilian Ries Co-authored-by: czoido Co-authored-by: Rubén Rincón Blanco --- recipes/dr_libs/all/conandata.yml | 4 ++ recipes/dr_libs/all/conanfile.py | 71 +++++++++++++++++++ .../dr_libs/all/test_package/CMakeLists.txt | 7 ++ recipes/dr_libs/all/test_package/conanfile.py | 27 +++++++ .../dr_libs/all/test_package/test_package.cpp | 24 +++++++ recipes/dr_libs/config.yml | 3 + 6 files changed, 136 insertions(+) create mode 100644 recipes/dr_libs/all/conandata.yml create mode 100644 recipes/dr_libs/all/conanfile.py create mode 100644 recipes/dr_libs/all/test_package/CMakeLists.txt create mode 100644 recipes/dr_libs/all/test_package/conanfile.py create mode 100644 recipes/dr_libs/all/test_package/test_package.cpp create mode 100644 recipes/dr_libs/config.yml diff --git a/recipes/dr_libs/all/conandata.yml b/recipes/dr_libs/all/conandata.yml new file mode 100644 index 0000000000000..3781cb3dd93e8 --- /dev/null +++ b/recipes/dr_libs/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230529": + url: "https://github.com/mackron/dr_libs/archive/dbbd08d81fd2b084c5ae931531871d0c5fd83b87.tar.gz" + sha256: "9e8d488092c9a0a6b08d9aafc631b1c8d75e707bc10a56a5f4bb1709213702c1" diff --git a/recipes/dr_libs/all/conanfile.py b/recipes/dr_libs/all/conanfile.py new file mode 100644 index 0000000000000..a0572bd8f2cdd --- /dev/null +++ b/recipes/dr_libs/all/conanfile.py @@ -0,0 +1,71 @@ +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration + +import os + +required_conan_version = ">=1.52.0" + + +class DrLibsConan(ConanFile): + name = "dr_libs" + description = "Public domain, single file audio decoding libraries for C and C++." + license = ("Unlicense", "MIT-0") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mackron/dr_libs" + topics = ("audio", "encoding", "header-only") + no_copy_source = True + settings = "os", "arch", "compiler", "build_type" + package_type = "header-library" + + @property + def _min_cppstd(self): + return 11 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "4.7", + "clang": "3.4", + "apple-clang": "6", + } + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 180) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get( + str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, 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=self.source_folder, + excludes=("old/*", "wip/*", "tests/*") + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/dr_libs/all/test_package/CMakeLists.txt b/recipes/dr_libs/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ebee798816d9d --- /dev/null +++ b/recipes/dr_libs/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_DrLibs LANGUAGES CXX) +find_package(dr_libs REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE dr_libs::dr_libs) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/dr_libs/all/test_package/conanfile.py b/recipes/dr_libs/all/test_package/conanfile.py new file mode 100644 index 0000000000000..70d86ba6525a6 --- /dev/null +++ b/recipes/dr_libs/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 TestDrLibsConan(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_DrLibs") + self.run(bin_path, env="conanrun") diff --git a/recipes/dr_libs/all/test_package/test_package.cpp b/recipes/dr_libs/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..eca29117d03db --- /dev/null +++ b/recipes/dr_libs/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#define DR_WAV_IMPLEMENTATION +#include "dr_wav.h" +#include +#include +#include + +#define BUFFER_SIZE 255 + +int main() { + srand(time(NULL)); + + // Create fake PCM data + std::vector buffer(BUFFER_SIZE); + for (size_t i = 0; i < BUFFER_SIZE; i++) + buffer[i] = rand() % std::numeric_limits::max(); + + // Convert it to 32-bit floating point + std::vector asFloat(buffer.size()); + drwav_s16_to_f32(asFloat.data(), buffer.data(), buffer.size()); + + // If we get here with no issues, then it's a success + std::cout << "Test success!" << std::endl; + return DRWAV_SUCCESS; +} diff --git a/recipes/dr_libs/config.yml b/recipes/dr_libs/config.yml new file mode 100644 index 0000000000000..612a58a0b962e --- /dev/null +++ b/recipes/dr_libs/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230529": + folder: all From e5e383085f42e2b141c88025ea5cf037a1c55020 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 30 Jun 2023 14:02:54 +0200 Subject: [PATCH 0721/4087] (#18159) Fix create-dmg res folder --- recipes/create-dmg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/create-dmg/all/conanfile.py b/recipes/create-dmg/all/conanfile.py index 52e6fe840c8e2..5730582863e8c 100644 --- a/recipes/create-dmg/all/conanfile.py +++ b/recipes/create-dmg/all/conanfile.py @@ -39,7 +39,7 @@ def build(self): def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy(self, pattern="create-dmg", dst=os.path.join(self.package_folder, "bin"), src=self.source_folder) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "res", "create-dmg", "support"), src=os.path.join(self.source_folder, "support")) + copy(self, pattern="*", dst=os.path.join(self.package_folder, "res"), src=os.path.join(self.source_folder, "support")) rmdir(self, os.path.join(self.package_folder, "share")) From 4b5352a732f480f906e5ef2fa3606af66e8f0a89 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Fri, 30 Jun 2023 22:01:54 +0200 Subject: [PATCH 0722/4087] (#18217) Add outcome-2.2.4 --- recipes/outcome/all/conandata.yml | 3 +++ recipes/outcome/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/outcome/all/conandata.yml b/recipes/outcome/all/conandata.yml index 862ef733ccf23..a2d2ce108afcd 100644 --- a/recipes/outcome/all/conandata.yml +++ b/recipes/outcome/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.4": + url: "https://github.com/ned14/outcome/archive/v2.2.4.tar.gz" + sha256: "29ad35c1980cf7f75294bb52df678c6a08817228e880fac8454cd6ac390fa1fc" "2.2.3": url: "https://github.com/ned14/outcome/archive/v2.2.3.tar.gz" sha256: "31cc987d73b2625a70f35083ccff26d1c2634d89304f1ea606a294da36cb2958" diff --git a/recipes/outcome/config.yml b/recipes/outcome/config.yml index 5e58124a1d058..a37008481a173 100644 --- a/recipes/outcome/config.yml +++ b/recipes/outcome/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.4": + folder: all "2.2.3": folder: all "2.2.2": From 1179d789515984844c601728ace6a21552b4d3ea Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Fri, 30 Jun 2023 13:21:59 -0700 Subject: [PATCH 0723/4087] (#18220) revert: fontconfig: migrate to util-linux-libuuid see converstation in https://github.com/conan-io/conan-center-index/pull/17995#issuecomment-1614987627 --- recipes/fontconfig/meson/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index 54997946cfcf6..dc1462585f4ec 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): self.requires("freetype/2.13.0") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("libuuid/1.0.3") def build_requirements(self): self.tool_requires("gperf/3.1") From f4f31fa27ab0f394d1a3f84950001a7e93d8e30c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 1 Jul 2023 14:02:49 +0900 Subject: [PATCH 0724/4087] (#18222) quill: add version 3.1.0, remove older versions --- recipes/quill/all/conandata.yml | 21 +++------------------ recipes/quill/config.yml | 14 ++------------ 2 files changed, 5 insertions(+), 30 deletions(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index b46e32721c6ba..8c3c5c1b5fb75 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.0": + url: "https://github.com/odygrd/quill/archive/v3.0.2.tar.gz" + sha256: "76e9f607168f71cf1028ae7374fbe91225e400c11b5a51a6ebc992c85d012eed" "3.0.2": url: "https://github.com/odygrd/quill/archive/v3.0.2.tar.gz" sha256: "76e9f607168f71cf1028ae7374fbe91225e400c11b5a51a6ebc992c85d012eed" @@ -20,24 +23,6 @@ sources: "2.6.0": url: "https://github.com/odygrd/quill/archive/v2.6.0.tar.gz" sha256: "d72fd5a01bf8d3e59ed93a789a8f103bc31efe0fb3c09182c74036a2e3a8451b" - "2.5.1": - url: "https://github.com/odygrd/quill/archive/v2.5.1.tar.gz" - sha256: "62227595cc2b4c0c42ed35f17ef5b7487d8231aca9e75234a4c0e346cea19928" - "2.4.2": - url: "https://github.com/odygrd/quill/archive/v2.4.2.tar.gz" - sha256: "4771dc08c0ff01cea9081d645ed7cae27cfa073185c986177ef3ce13743136af" - "2.3.4": - url: "https://github.com/odygrd/quill/archive/v2.3.4.tar.gz" - sha256: "b44d345c07b3023fcd1b88fd9d2554429bb8cccb6285d703d0b0907d9aa85fa1" - "2.2.0": - url: "https://github.com/odygrd/quill/archive/v2.2.0.tar.gz" - sha256: "6b123b60b16d41009228d907851f025c8be974d5fcf41af0b6afbe48edebbf73" - "2.1.0": - url: "https://github.com/odygrd/quill/archive/v2.1.0.tar.gz" - sha256: "66c59501ad827207e7d4682ccba0f1c33ca215269aa13a388df4d59ca195ee76" - "2.0.2": - url: "https://github.com/odygrd/quill/archive/v2.0.2.tar.gz" - sha256: "d2dc9004886b787f8357e97d2f2d0c74a460259f7f95d65ab49d060fe34a9b5c" "1.7.3": url: "https://github.com/odygrd/quill/archive/v1.7.3.tar.gz" sha256: "3fff0c5ffb19bbde5429369079741f84a6acce3a781b504cec5e677b05461208" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index f987a8252400c..0fa9c242e54ab 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.0": + folder: "all" "3.0.2": folder: "all" "2.9.2": @@ -13,17 +15,5 @@ versions: folder: "all" "2.6.0": folder: "all" - "2.5.1": - folder: "all" - "2.4.2": - folder: "all" - "2.3.4": - folder: "all" - "2.2.0": - folder: "all" - "2.1.0": - folder: "all" - "2.0.2": - folder: "all" "1.7.3": folder: "all" From 3380b20ebe84152926764893660b6f3b7d192115 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 2 Jul 2023 03:01:57 +0900 Subject: [PATCH 0725/4087] (#18269) libuv: add version 1.46.0 --- recipes/libuv/all/conandata.yml | 7 +++++++ recipes/libuv/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml index f54bb8fd1e59d..c45d8fcd3b551 100644 --- a/recipes/libuv/all/conandata.yml +++ b/recipes/libuv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.46.0": + url: "https://github.com/libuv/libuv/archive/v1.46.0.tar.gz" + sha256: "7aa66be3413ae10605e1f5c9ae934504ffe317ef68ea16fdaa83e23905c681bd" "1.45.0": url: "https://github.com/libuv/libuv/archive/v1.45.0.tar.gz" sha256: "458e34d5ef7f3c0394a2bfd8c39d757cb1553baa5959b9b4b45df63aa027a228" @@ -27,6 +30,10 @@ sources: url: "https://github.com/libuv/libuv/archive/v1.38.1.zip" sha256: "0359369492742eb2a36312fffe26f80bcffe4cec981a4fd72d182b061ee14890" patches: + "1.46.0": + - patch_file: "patches/1.45.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" "1.45.0": - patch_file: "patches/1.45.0/fix-cmake.patch" patch_description: "separate shared and static library build" diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml index d0dda281ae9b7..db07c8e653143 100644 --- a/recipes/libuv/config.yml +++ b/recipes/libuv/config.yml @@ -1,4 +1,6 @@ versions: + "1.46.0": + folder: all "1.45.0": folder: all "1.44.2": From c6277699c7a0d06b2eca79e104ee04db46d4fd72 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 2 Jul 2023 02:03:30 +0200 Subject: [PATCH 0726/4087] (#18148) libwebp: add version 1.3.1 --- recipes/libwebp/all/conandata.yml | 7 +++++++ .../all/patches/1.3.1-0001-fix-cmake.patch | 21 +++++++++++++++++++ recipes/libwebp/config.yml | 2 ++ 3 files changed, 30 insertions(+) create mode 100644 recipes/libwebp/all/patches/1.3.1-0001-fix-cmake.patch diff --git a/recipes/libwebp/all/conandata.yml b/recipes/libwebp/all/conandata.yml index ac9853ed7cd15..b036ea65e6055 100644 --- a/recipes/libwebp/all/conandata.yml +++ b/recipes/libwebp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.1.tar.gz" + sha256: "b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66" "1.3.0": url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.0.tar.gz" sha256: "64ac4614db292ae8c5aa26de0295bf1623dbb3985054cb656c55e67431def17c" @@ -24,6 +27,10 @@ sources: url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz" sha256: "e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f" patches: + "1.3.1": + - patch_file: "patches/1.3.1-0001-fix-cmake.patch" + patch_description: "disable PIC, disable prefix library name on MSVC" + patch_type: "conan" "1.3.0": - patch_file: "patches/1.3.0-0001-fix-cmake.patch" patch_description: "disable PIC, disable prefix library name on MSVC" diff --git a/recipes/libwebp/all/patches/1.3.1-0001-fix-cmake.patch b/recipes/libwebp/all/patches/1.3.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..72ee3a1218366 --- /dev/null +++ b/recipes/libwebp/all/patches/1.3.1-0001-fix-cmake.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ad5e14c3..89c836f3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,7 +58,6 @@ if(WEBP_LINK_STATIC) + else() + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif() +- set(CMAKE_POSITION_INDEPENDENT_CODE ON) + # vwebp does not compile on Ubuntu with static libraries so disabling it for + # now. + set(WEBP_BUILD_VWEBP OFF) +@@ -153,7 +152,7 @@ endif() + set(PTHREAD_LIBS ${CMAKE_THREAD_LIBS_INIT}) + set(INSTALLED_LIBRARIES) + +-if(MSVC) ++if(0) + # match the naming convention used by nmake + set(webp_libname_prefix "lib") + set(CMAKE_SHARED_LIBRARY_PREFIX "${webp_libname_prefix}") diff --git a/recipes/libwebp/config.yml b/recipes/libwebp/config.yml index df097a6cc668f..3bf80d4385ecd 100644 --- a/recipes/libwebp/config.yml +++ b/recipes/libwebp/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.3.0": folder: all "1.2.4": From c565c304cf1ae14078398dbe80bb54de0c2d2259 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 2 Jul 2023 17:45:22 +0300 Subject: [PATCH 0727/4087] (#17414) eastl: add Conan v2 support * eastl: add Conan v2 support * eastl: specify supported minimum compiler versions * eastl: fix copying of licenses * eastl: remove unnecessary transitive_*=True * eastl: drop test_v1_package * eastl: set CMAKE_CXX_STANDARD Co-authored-by: Uilian Ries * eastl: revert minimum compiler versions * eastl: test against the non-header-only part of eastl * eastl: convert recipe from header-only to library * eastl: add required `operator new[]()` to test_package.cpp * eastl: add 'm' to system_libs --------- Co-authored-by: Uilian Ries --- recipes/eastl/all/CMakeLists.txt | 9 -- recipes/eastl/all/conandata.yml | 10 -- recipes/eastl/all/conanfile.py | 128 +++++++++++------- ...1-cmake-shared-use-conan-add-install.patch | 5 +- ...1-cmake-shared-use-conan-add-install.patch | 5 +- recipes/eastl/all/test_package/CMakeLists.txt | 11 +- recipes/eastl/all/test_package/conanfile.py | 19 ++- .../eastl/all/test_package/test_package.cpp | 19 ++- 8 files changed, 115 insertions(+), 91 deletions(-) delete mode 100644 recipes/eastl/all/CMakeLists.txt diff --git a/recipes/eastl/all/CMakeLists.txt b/recipes/eastl/all/CMakeLists.txt deleted file mode 100644 index 9533e6887cb91..0000000000000 --- a/recipes/eastl/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -set(CMAKE_CXX_STANDARD 14) - -add_subdirectory(source_subfolder) diff --git a/recipes/eastl/all/conandata.yml b/recipes/eastl/all/conandata.yml index f1c15b1dc7308..bc79d2dd76a82 100644 --- a/recipes/eastl/all/conandata.yml +++ b/recipes/eastl/all/conandata.yml @@ -23,28 +23,18 @@ sources: patches: "3.18.00": - patch_file: "patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" - base_path: "source_subfolder" "3.17.06": - patch_file: "patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" - base_path: "source_subfolder" "3.17.03": - patch_file: "patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" - base_path: "source_subfolder" "3.16.07": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" "3.16.05": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" "3.16.01": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" "3.15.00": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" - base_path: "source_subfolder" diff --git a/recipes/eastl/all/conanfile.py b/recipes/eastl/all/conanfile.py index faccbd629bec0..37b4d9c1d8c29 100644 --- a/recipes/eastl/all/conanfile.py +++ b/recipes/eastl/all/conanfile.py @@ -1,20 +1,34 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import ( + apply_conandata_patches, + copy, + export_conandata_patches, + get, + replace_in_file, +) +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class EastlConan(ConanFile): name = "eastl" - description = "EASTL stands for Electronic Arts Standard Template Library. " \ - "It is an extensive and robust implementation that has an " \ - "emphasis on high performance." + description = ( + "EASTL stands for Electronic Arts Standard Template Library. " + "It is an extensive and robust implementation that has an " + "emphasis on high performance." + ) topics = ("eastl", "stl", "high-performance") license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/electronicarts/EASTL" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,23 +39,12 @@ class EastlConan(ConanFile): "fPIC": True, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 14 @property - def _minimum_compilers_version(self): + def _compilers_minimum_version(self): return { "Visual Studio": "14", "gcc": "5", @@ -50,9 +53,7 @@ def _minimum_compilers_version(self): } 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": @@ -60,57 +61,82 @@ 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("eabase/2.09.06") + self.requires("eabase/2.09.12", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - - mininum_compiler_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if mininum_compiler_version and tools.Version(self.settings.compiler.version) < mininum_compiler_version: - raise ConanInvalidConfiguration("Compiler is too old for c++ {}".format(self._minimum_cpp_standard)) + 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], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["EASTL_BUILD_BENCHMARK"] = False - self._cmake.definitions["EASTL_BUILD_TESTS"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get( + self, + **self.conan_data["sources"][self.version], + destination=self.source_folder, + strip_root=True, + ) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["EASTL_BUILD_BENCHMARK"] = False + tc.variables["EASTL_BUILD_TESTS"] = False + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + tc.generate() + CMakeDeps(self).generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - tools.replace_path_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "include(CommonCppFlags)", - "") + apply_conandata_patches(self) + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "include(CommonCppFlags)", + "", + ) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("3RDPARTYLICENSES.TXT", 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"), + ) + copy( + self, + "3RDPARTYLICENSES.TXT", + 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 = ["EASTL"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.extend(["m", "pthread"]) if self.options.shared: self.cpp_info.defines.append("EA_DLL") - # Do not use these names in set_property, it was a mistake, eastl doesn't export its target + self.cpp_info.set_property("cmake_file_name", "EASTL") + self.cpp_info.set_property("cmake_target_name", "EASTL::EASTL") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "EASTL" + self.cpp_info.filenames["cmake_find_package_multi"] = "EASTL" self.cpp_info.names["cmake_find_package"] = "EASTL" self.cpp_info.names["cmake_find_package_multi"] = "EASTL" diff --git a/recipes/eastl/all/patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch b/recipes/eastl/all/patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch index 8b004f0ee5054..cb7647d7b88ea 100644 --- a/recipes/eastl/all/patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch +++ b/recipes/eastl/all/patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch @@ -1,11 +1,12 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -46,5 +46,18 @@ target_include_directories(EASTL PUBLIC include) +@@ -46,5 +46,19 @@ target_include_directories(EASTL PUBLIC include) #------------------------------------------------------------------------------------------- # Dependencies #------------------------------------------------------------------------------------------- -target_link_libraries(EASTL EABase) -+target_link_libraries(EASTL CONAN_PKG::eabase) ++find_package(EABase REQUIRED CONFIG) ++target_link_libraries(EASTL EABase::EABase) +if(BUILD_SHARED_LIBS) + target_compile_definitions(EASTL PUBLIC EASTL_DLL) diff --git a/recipes/eastl/all/patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch b/recipes/eastl/all/patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch index 05c5b0bd39e41..8e8ec2ed77d6e 100644 --- a/recipes/eastl/all/patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch +++ b/recipes/eastl/all/patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch @@ -1,6 +1,6 @@ --- CMakeLists.txt +++ CMakeLists.txt -@@ -47,8 +47,21 @@ +@@ -47,8 +47,22 @@ # Dependencies #------------------------------------------------------------------------------------------- if (NOT TARGET EABase) @@ -9,7 +9,8 @@ endif() -target_link_libraries(EASTL EABase) -+target_link_libraries(EASTL CONAN_PKG::eabase) ++find_package(EABase REQUIRED CONFIG) ++target_link_libraries(EASTL EABase::EABase) +if(BUILD_SHARED_LIBS) + target_compile_definitions(EASTL PUBLIC EASTL_DLL) diff --git a/recipes/eastl/all/test_package/CMakeLists.txt b/recipes/eastl/all/test_package/CMakeLists.txt index 3300ff7750277..8223214fdc1fe 100644 --- a/recipes/eastl/all/test_package/CMakeLists.txt +++ b/recipes/eastl/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(EASTL REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) +target_link_libraries(${PROJECT_NAME} EASTL::EASTL) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/eastl/all/test_package/conanfile.py b/recipes/eastl/all/test_package/conanfile.py index 5c09494bc67c0..ef5d7042163ec 100644 --- a/recipes/eastl/all/test_package/conanfile.py +++ b/recipes/eastl/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - 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/eastl/all/test_package/test_package.cpp b/recipes/eastl/all/test_package/test_package.cpp index 3f5332883d4d5..433ff947f053b 100644 --- a/recipes/eastl/all/test_package/test_package.cpp +++ b/recipes/eastl/all/test_package/test_package.cpp @@ -1,9 +1,16 @@ -#include -#include +#include +#include -int main() -{ - std::vector vec; - eastl::max_element(vec.begin(), vec.end()); +// https://github.com/electronicarts/EASTL/blob/master/doc/FAQ.md#info15-how-hard-is-it-to-incorporate-eastl-into-my-project +void *operator new[](size_t size, const char *pName, int flags, unsigned debugFlags, const char *file, int line) { + return new uint8_t[size]; +} +void *operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char *pName, int flags, unsigned debugFlags, const char *file, int line) { + return new uint8_t[size]; +} + +int main() { + eastl::hash_map map; + map[0] = 1; return 0; } From be4bbcbabd0aece6e51643a51a73b10d053d6bde Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 3 Jul 2023 00:22:39 +0900 Subject: [PATCH 0728/4087] (#18282) glaze: add version 1.3.0, remove older versions --- recipes/glaze/all/conandata.yml | 29 +++-------------------------- recipes/glaze/config.yml | 14 ++------------ 2 files changed, 5 insertions(+), 38 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 59c05f33d67c1..edfc6a56fcdd2 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/stephenberry/glaze/archive/v1.3.0.tar.gz" + sha256: "2787efdba0f33adbf73a3b574efedefcda6e8ae2da0a0c8e01be3194898ecd99" "1.2.6": url: "https://github.com/stephenberry/glaze/archive/v1.2.6.tar.gz" sha256: "ef602f1efc7f84669de517181cb091c136e2b9372c176947d0940ebd6c2f2d98" @@ -29,34 +32,8 @@ sources: "0.2.2": url: "https://github.com/stephenberry/glaze/archive/v0.2.2.tar.gz" sha256: "d0d2edcc546b0ebb4bedaeedfb4a54aa678a6fdffa6b20dd6b252ef6325a9e75" - "0.2.1": - url: "https://github.com/stephenberry/glaze/archive/v0.2.1.tar.gz" - sha256: "dcf9ddf51b186dbc4cfd3b9324f9ee238cc1ba46fc2a62effa9293971ac4d1d4" - "0.2.0": - url: "https://github.com/stephenberry/glaze/archive/v0.2.0.tar.gz" - sha256: "2ad0d91f89465eac94efbeb91e435a5b36b7d54c9d8d6ccfb0708f6c6c0c5f87" - "0.1.8": - url: "https://github.com/stephenberry/glaze/archive/v0.1.8.tar.gz" - sha256: "8268ec2a8e0f2d9de2e65830ad9f7a623577c7bd47d465d4c6e4bed9d266ad48" - "0.1.7": - url: "https://github.com/stephenberry/glaze/archive/v0.1.7.tar.gz" - sha256: "7dc31ceaa444fd92339a48a69be638e92daa2858c3228f347b1df54a824b8f62" - "0.1.4": - url: "https://github.com/stephenberry/glaze/archive/v0.1.4.tar.gz" - sha256: "dd46e77973fe5b3cf4cd68fd597ba6b1010ecffd3e10cd8ccbd6cd615e6ffaff" - "0.0.7": - url: "https://github.com/stephenberry/glaze/archive/refs/tags/v0.0.7.tar.gz" - sha256: "124f7e8fea58c012b548ba1b643684fe428c7dbfeb8d8a5f701eb7db4356a759" patches: "0.2.2": - patch_file: "patches/0.2.0-0001-use-cci-frozen.patch" patch_description: "use cci's frozen" patch_type: "conan" - "0.2.1": - - patch_file: "patches/0.2.0-0001-use-cci-frozen.patch" - patch_description: "use cci's frozen" - patch_type: "conan" - "0.2.0": - - patch_file: "patches/0.2.0-0001-use-cci-frozen.patch" - patch_description: "use cci's frozen" - patch_type: "conan" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5039876977670..987c0bf01e911 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.6": folder: all "1.2.5": @@ -19,15 +21,3 @@ versions: folder: all "0.2.2": folder: all - "0.2.1": - folder: all - "0.2.0": - folder: all - "0.1.8": - folder: all - "0.1.7": - folder: all - "0.1.4": - folder: all - "0.0.7": - folder: all From b59b1d3c1ae805bbe9fe5ffebe0ed3efb85156b0 Mon Sep 17 00:00:00 2001 From: Florian Berchtold Date: Mon, 3 Jul 2023 01:22:08 -0700 Subject: [PATCH 0729/4087] (#18292) Fix pkgconf source url --- recipes/pkgconf/all/conandata.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/pkgconf/all/conandata.yml b/recipes/pkgconf/all/conandata.yml index e18df3ec61ad1..c305ec5540fc5 100644 --- a/recipes/pkgconf/all/conandata.yml +++ b/recipes/pkgconf/all/conandata.yml @@ -1,12 +1,12 @@ sources: "1.9.3": - url: "https://distfiles.dereferenced.org/pkgconf/pkgconf-1.9.3.tar.xz" + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.9.3.tar.xz" sha256: "5fb355b487d54fb6d341e4f18d4e2f7e813a6622cf03a9e87affa6a40565699d" "1.7.4": - url: "https://distfiles.dereferenced.org/pkgconf/pkgconf-1.7.4.tar.xz" + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.4.tar.xz" sha256: "d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab" "1.7.3": - url: "https://distfiles.dereferenced.org/pkgconf/pkgconf-1.7.3.tar.xz" + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.3.tar.xz" sha256: "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" patches: "1.9.3": From 6faa85dae68a3beb836ab31ea337c20b6be3b8a3 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Mon, 3 Jul 2023 09:45:43 +0100 Subject: [PATCH 0730/4087] (#17502) libsecret: add dependency on glib::gio component in cpp_info * libsecret: add dependency on glib::gio component in cpp_info * libsecret: add tool_require on gettext * libsecret: use for glib dependency * libsecret: fixes * libsecret: fix required conan version --- recipes/libsecret/all/conanfile.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/recipes/libsecret/all/conanfile.py b/recipes/libsecret/all/conanfile.py index 3311696c926bf..2988bdf94bf2c 100644 --- a/recipes/libsecret/all/conanfile.py +++ b/recipes/libsecret/all/conanfile.py @@ -1,15 +1,14 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.build import can_run -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" class LibsecretConan(ConanFile): @@ -54,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.76.0", transitive_headers=True, transitive_libs=True, run=can_run(self)) + self.requires("glib/2.76.0", transitive_headers=True, transitive_libs=True) if self._use_gcrypt: self.requires("libgcrypt/1.8.4") @@ -68,8 +67,14 @@ def build_requirements(self): self.tool_requires("meson/1.0.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") - if not can_run(self): - self.tool_requires("glib/2.76.0") + self.tool_requires("glib/") + + if self.settings.os == "Macos": + # Avoid using gettext from homebrew which may be linked against + # a different/incompatible libiconv than the one being exposed + # in the runtime environment (DYLD_LIBRARY_PATH) + # See https://github.com/conan-io/conan-center-index/pull/17502#issuecomment-1542492466 + self.tool_requires("gettext/0.21") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -77,9 +82,6 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if can_run(self): - env = VirtualRunEnv(self) - env.generate(scope="build") tc = MesonToolchain(self) tc.project_options["introspection"] = "false" tc.project_options["manpage"] = "false" @@ -104,7 +106,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "libsecret-1") - self.cpp_info.requires = ["glib::glib-2.0", "glib::gobject-2.0"] + self.cpp_info.requires = ["glib::glib-2.0", "glib::gobject-2.0", "glib::gio-2.0"] if self._use_gcrypt: self.cpp_info.requires.append("libgcrypt::libgcrypt") self.cpp_info.includedirs = [os.path.join("include", "libsecret-1")] From 66465d7dd1f05474218495e0d6c4d39054675984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20Kl=C3=B6ckner?= Date: Mon, 3 Jul 2023 11:25:38 +0200 Subject: [PATCH 0731/4087] (#17423) [onnxruntime] Set minimum supported compiler version for GCC to 7 Co-authored-by: Carlos Zoido --- recipes/onnxruntime/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index da36f53b722db..7d8bf9dd19bda 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -44,7 +44,7 @@ def _compilers_minimum_version(self): return { "Visual Studio": "16", "msvc": "192", - "gcc": "8", + "gcc": "7", "clang": "5", "apple-clang": "10", } @@ -97,7 +97,7 @@ def validate(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + f"{self.ref} requires minimum compiler version {minimum_version}." ) def validate_build(self): From 2d52a87088f1735497abc32903dd7805a7e94207 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 3 Jul 2023 12:02:36 +0200 Subject: [PATCH 0732/4087] (#18293) [bot] Update list of references (prod-v2/ListPackages) --- .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 b5b3f1ea7f622..3aa26dbe33c8a 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -209,6 +209,7 @@ required_for_references: - doctest - double-conversion - doxygen +- dr_libs - draco - dragonbox - drflac @@ -217,6 +218,7 @@ required_for_references: - duckdb - eabase - earcut +- eastl - easy_profiler - ecos - editline @@ -703,6 +705,7 @@ required_for_references: - tinycthread - tinycthreadpool - tinyexif +- tinygltf - tinymidi - tinyxml - tinyxml2 From 845e4c562c88843fd3176c1efdef94a36f8bf3c4 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 3 Jul 2023 19:23:15 +0900 Subject: [PATCH 0733/4087] (#18242) mailio: add version 0.23.0, update boost * mailio: add version 0.23.0 * link boost::backtrace * check boost options --- recipes/mailio/all/conandata.yml | 7 +++++++ recipes/mailio/all/conanfile.py | 14 ++++++++++++-- .../all/patches/0.23.0-adapt-cmakelists.patch | 13 +++++++++++++ recipes/mailio/all/test_package/test_package.cpp | 3 --- recipes/mailio/config.yml | 2 ++ 5 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 recipes/mailio/all/patches/0.23.0-adapt-cmakelists.patch diff --git a/recipes/mailio/all/conandata.yml b/recipes/mailio/all/conandata.yml index b111e743965da..38e35d02a9f6f 100644 --- a/recipes/mailio/all/conandata.yml +++ b/recipes/mailio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.23.0": + url: "https://github.com/karastojko/mailio/archive/refs/tags/0.23.0.tar.gz" + sha256: "9fc3f1f803a85170c2081cbbef2e301473a400683fc1dffefa2d6707598206a5" "0.22.0": url: "https://github.com/karastojko/mailio/archive/refs/tags/0.22.0.tar.gz" sha256: "e177522f0479f33b6cbc7085268ca385140457eb752b45f07e5d6b41e314ece9" @@ -9,6 +12,10 @@ sources: url: "https://github.com/karastojko/mailio/archive/refs/tags/0.20.0.tar.gz" sha256: "073d6b1ff891444b54a01c2a3f17074fd612f9e2e14d9ebd61863c70737b1882" patches: + "0.23.0": + - patch_file: "patches/0.23.0-adapt-cmakelists.patch" + patch_description: "fix install path" + patch_type: "conan" "0.22.0": - patch_file: "patches/0.22.0-adapt-cmakelists.patch" patch_description: "fix install path" diff --git a/recipes/mailio/all/conanfile.py b/recipes/mailio/all/conanfile.py index 0222d864db414..28d892d6df1a4 100644 --- a/recipes/mailio/all/conanfile.py +++ b/recipes/mailio/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0", transitive_headers=True, transitive_libs=True) + self.requires("boost/1.82.0", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) def validate(self): @@ -102,10 +102,20 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["mailio"] - self.cpp_info.requires = ["boost::system", "boost::date_time", "boost::regex", "openssl::openssl"] + self.cpp_info.requires = [ + "boost::system", + "boost::date_time", + "boost::regex", + "openssl::openssl", + ] + if self.dependencies["boost"].options.get_safe("with_stacktrace_backtrace"): + self.cpp_info.requires.append("boost::stacktrace_backtrace") + + self.cpp_info.set_property("pkg_config_name", "mailio") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/mailio/all/patches/0.23.0-adapt-cmakelists.patch b/recipes/mailio/all/patches/0.23.0-adapt-cmakelists.patch new file mode 100644 index 0000000000000..a29154c581b87 --- /dev/null +++ b/recipes/mailio/all/patches/0.23.0-adapt-cmakelists.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3b30fd..d1adcab 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,7 +146,7 @@ configure_file(mailio.pc.in ${CMAKE_BINARY_DIR}/mailio.pc IMMEDIATE @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/mailio.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) + + configure_file(${PROJECT_SOURCE_DIR}/include/version.hpp.in version.hpp) +-install(FILES ${CMAKE_BINARY_DIR}/version.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) ++install(FILES ${PROJECT_BINARY_DIR}/version.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) + + # generate the export header for exporting symbols + # this is needed to generate a shared library. diff --git a/recipes/mailio/all/test_package/test_package.cpp b/recipes/mailio/all/test_package/test_package.cpp index ffc54c18c0369..43678d207e054 100644 --- a/recipes/mailio/all/test_package/test_package.cpp +++ b/recipes/mailio/all/test_package/test_package.cpp @@ -8,7 +8,4 @@ int main() { msg.add_recipient(mailio::mail_address("mailio library", "mailio@gmail.com")); msg.subject("smtps simple message"); msg.content("Hello, World!"); - - mailio::smtps conn("smtp.gmail.com", 587); - std::cout << msg.content() << "\n";; } diff --git a/recipes/mailio/config.yml b/recipes/mailio/config.yml index 683db0fec7b2d..01caa19ce9c40 100644 --- a/recipes/mailio/config.yml +++ b/recipes/mailio/config.yml @@ -1,4 +1,6 @@ versions: + "0.23.0": + folder: all "0.22.0": folder: all "0.21.0": From 487927afdbb71eeeea4a44901abbf7d2922dace6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 3 Jul 2023 13:04:20 +0200 Subject: [PATCH 0734/4087] (#18122) glext: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/glext/all/conanfile.py | 42 +++++++++++++------ recipes/glext/all/test_package/CMakeLists.txt | 5 +-- recipes/glext/all/test_package/conanfile.py | 21 +++++++--- 3 files changed, 45 insertions(+), 23 deletions(-) diff --git a/recipes/glext/all/conanfile.py b/recipes/glext/all/conanfile.py index 746356cd3af89..3cbf2eff985c1 100644 --- a/recipes/glext/all/conanfile.py +++ b/recipes/glext/all/conanfile.py @@ -1,35 +1,51 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import copy, download, load, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" -required_conan_version = ">=1.37.0" class GlextConan(ConanFile): name = "glext" + description = "OpenGL 1.2 and above compatibility profile and extension interfaces" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.khronos.org/registry/OpenGL/index_gl.php" - description = "OpenGL 1.2 and above compatibility profile and extension interfaces" - topics = ("opengl", "gl", "glext") + topics = ("opengl", "gl", "glext", "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 requirements(self): self.requires("opengl/system") self.requires("khrplatform/cci.20200529") + def package_id(self): + self.info.clear() + def source(self): - tools.download(filename="glext.h", **self.conan_data["sources"][self.version]) + download(self, filename="glext.h", **self.conan_data["sources"][self.version]) - def package(self): - self.copy(pattern="glext.h", dst=os.path.join("include", "GL")) - license_data = tools.load(os.path.join(self.source_folder, "glext.h")) + def _extract_license(self): + license_data = load(self, os.path.join(self.source_folder, "glext.h")) begin = license_data.find("/*") + len("/*") end = license_data.find("*/") license_data = license_data[begin:end] license_data = license_data.replace("**", "") - tools.save("LICENSE", license_data) - self.copy("LICENSE", dst="licenses") + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_data) - def package_id(self): - self.info.header_only() + def package(self): + self._extract_license() + copy(self, "glext.h", + dst=os.path.join(self.package_folder, "include", "GL"), + src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/glext/all/test_package/CMakeLists.txt b/recipes/glext/all/test_package/CMakeLists.txt index b455e673a3ef0..02474af2d5d00 100644 --- a/recipes/glext/all/test_package/CMakeLists.txt +++ b/recipes/glext/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() - find_package(glext REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/glext/all/test_package/conanfile.py b/recipes/glext/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/glext/all/test_package/conanfile.py +++ b/recipes/glext/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") From 708a2ec36d1a9abb8d41dd87ecd4548487ee0b90 Mon Sep 17 00:00:00 2001 From: Lev Fomenko Date: Mon, 3 Jul 2023 17:24:14 +0600 Subject: [PATCH 0735/4087] (#18070) openh264: Use profile ndk_path instead of enviroment --- recipes/openh264/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openh264/all/conanfile.py b/recipes/openh264/all/conanfile.py index 0d33427fd3228..00cb4e7604b28 100644 --- a/recipes/openh264/all/conanfile.py +++ b/recipes/openh264/all/conanfile.py @@ -129,7 +129,7 @@ def _make_args(self): 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 = os.environ["ANDROID_NDK_HOME"] + ndk_home = self.conf.get("tools.android:ndk_path") args.extend([ f"NDKLEVEL={self.settings.os.api_level}", f"STL_LIB={stl_lib}", From b92ff4ef9b1cbca1486ec0c7db94d505c137c9c0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 3 Jul 2023 21:05:17 +0900 Subject: [PATCH 0736/4087] (#17618) libspng: add version 0.7.4 * libspng: add version 0.7.4 * Update recipes/libspng/all/conandata.yml --------- Co-authored-by: Uilian Ries Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/libspng/all/conandata.yml | 10 +++++ recipes/libspng/all/conanfile.py | 7 ++++ .../all/patches/0.7.4-0001-allow-miniz.patch | 39 +++++++++++++++++++ .../libspng/all/test_package/CMakeLists.txt | 13 ++++++- recipes/libspng/config.yml | 2 + 5 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 recipes/libspng/all/patches/0.7.4-0001-allow-miniz.patch diff --git a/recipes/libspng/all/conandata.yml b/recipes/libspng/all/conandata.yml index 20e5a777bfee5..39fc43e8152e7 100644 --- a/recipes/libspng/all/conandata.yml +++ b/recipes/libspng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.4": + url: "https://github.com/randy408/libspng/archive/refs/tags/v0.7.4.tar.gz" + sha256: "47ec02be6c0a6323044600a9221b049f63e1953faf816903e7383d4dc4234487" "0.7.3": url: "https://github.com/randy408/libspng/archive/refs/tags/v0.7.3.tar.gz" sha256: "a50cadbe808ffda1a7fab17d145f52a23b163f34b3eb3696c7ecb5a52340fc1d" @@ -6,6 +9,13 @@ sources: url: "https://github.com/randy408/libspng/archive/refs/tags/v0.7.2.tar.gz" sha256: "4acf25571d31f540d0b7ee004f5461d68158e0a13182505376805da99f4ccc4e" patches: + "0.7.4": + - patch_file: "patches/0.7.4-0001-allow-miniz.patch" + # Miniz is supported by the project, but does not currently expose a CMake + # option to toggle it. This can be removed once the project supports it + # or when the recipe moves to use Meson instead + patch_description: "add miniz option which is written in docs/BUILD.md" + patch_type: "portability" "0.7.3": - patch_file: "patches/0.7.3-0001-fix-dll-install.patch" patch_description: "fix install path" diff --git a/recipes/libspng/all/conanfile.py b/recipes/libspng/all/conanfile.py index 47f9d1ea0e572..b9d182dd24f28 100644 --- a/recipes/libspng/all/conanfile.py +++ b/recipes/libspng/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -72,6 +73,8 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if Version(self.version) >= "0.7.4": + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "libspng") @@ -80,3 +83,7 @@ def package_info(self): self.cpp_info.libs = ["spng"] if self.options.shared else ["spng_static"] if self.settings.os in ["Linux", "Android", "FreeBSD"]: self.cpp_info.system_libs.append("m") + + if Version(self.version) >= "0.7.4": + self.cpp_info.set_property("cmake_file_name", "SPNG") + self.cpp_info.set_property("cmake_target_name", "spng::spng{}".format("" if self.options.shared else "_static")) diff --git a/recipes/libspng/all/patches/0.7.4-0001-allow-miniz.patch b/recipes/libspng/all/patches/0.7.4-0001-allow-miniz.patch new file mode 100644 index 0000000000000..05e6f905e4d1e --- /dev/null +++ b/recipes/libspng/all/patches/0.7.4-0001-allow-miniz.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index da1917e..30c220d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,6 +12,7 @@ set(SPNG_VERSION ${SPNG_MAJOR}.${SPNG_MINOR}.${SPNG_REVISION}) + option(ENABLE_OPT "Enable architecture-specific optimizations" ON) + option(SPNG_SHARED "Build shared lib" ON) + option(SPNG_STATIC "Build static lib" ON) ++option(SPNG_USE_MINIZ "Use Miniz instead of zlib" OFF) + option(BUILD_EXAMPLES "Build examples" ON) + + include(GNUInstallDirs) +@@ -47,14 +48,24 @@ if(SPNG_STATIC) + list(APPEND spng_TARGETS spng_static) + endif() + +-find_package(ZLIB REQUIRED) ++if(SPNG_USE_MINIZ) ++ find_package(miniz REQUIRED) ++ set(compress_LIBS miniz::miniz) ++else() ++ find_package(ZLIB REQUIRED) ++ set(compress_LIBS ZLIB::ZLIB) ++endif() ++ + foreach(spng_TARGET ${spng_TARGETS}) + target_include_directories(${spng_TARGET} PUBLIC + $ + $ + ) +- target_link_libraries(${spng_TARGET} PRIVATE ZLIB::ZLIB) ++ target_link_libraries(${spng_TARGET} PRIVATE ${compress_LIBS}) + target_link_libraries(${spng_TARGET} PRIVATE ${MATH_LIBRARY}) ++ if (SPNG_USE_MINIZ) ++ target_compile_definitions(${spng_TARGET} PRIVATE SPNG_USE_MINIZ) ++ endif() + endforeach() + + set(project_config "${CMAKE_CURRENT_BINARY_DIR}/SPNGConfig.cmake") diff --git a/recipes/libspng/all/test_package/CMakeLists.txt b/recipes/libspng/all/test_package/CMakeLists.txt index c8aa2ff46daf5..37a57f5a95869 100644 --- a/recipes/libspng/all/test_package/CMakeLists.txt +++ b/recipes/libspng/all/test_package/CMakeLists.txt @@ -1,7 +1,16 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) -find_package(libspng REQUIRED CONFIG) +find_package(libspng CONFIG) +if (NOT libspng_FOUND) + find_package(SPNG REQUIRED CONFIG) +endif() add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE libspng::libspng) +if (TARGET libspng::libspng) + target_link_libraries(${PROJECT_NAME} PRIVATE libspng::libspng) +elseif(TARGET spng::spng) + target_link_libraries(${PROJECT_NAME} PRIVATE spng::spng) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE spng::spng_static) +endif() diff --git a/recipes/libspng/config.yml b/recipes/libspng/config.yml index ed848445a96cc..f0510efbdd19d 100644 --- a/recipes/libspng/config.yml +++ b/recipes/libspng/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.4": + folder: all "0.7.3": folder: all "0.7.2": From bd635eb9d54932967c596009cc3c9aba430eb629 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 3 Jul 2023 21:46:10 +0900 Subject: [PATCH 0737/4087] (#16872) drogon: add version 1.8.4, update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * drogon: add version 1.8.4, update dependencies * update openssl * update openssl, sqlite3 * make trantor transitive_libs * Added jsoncpp transitive_libs=True param * Added package_type and with_yaml_cpp option (optional requirement) * support C++14 build on msvc * make boost transitive_headers=True * add /Zc:__cplusplus on MSVC * add /EHsc flag for msvc --------- Co-authored-by: Francisco Ramirez de Anton Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- recipes/drogon/all/conandata.yml | 25 +++- recipes/drogon/all/conanfile.py | 51 +++++--- .../1.7.5-0005-remove-msvc-check.patch | 92 ++++++++++++++ .../1.8.0-0004-remove-msvc-check.patch | 117 ++++++++++++++++++ .../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 ++ recipes/drogon/config.yml | 2 + 9 files changed, 321 insertions(+), 21 deletions(-) create mode 100644 recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch create mode 100644 recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch create mode 100644 recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch create mode 100644 recipes/drogon/all/patches/1.8.4-0002-find-package-jsoncpp.patch create mode 100644 recipes/drogon/all/patches/1.8.4-0003-find-package-sqlite.patch create mode 100644 recipes/drogon/all/patches/1.8.4-0004-find-package-yaml-cpp.patch diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index 3d2e4a7aaaaea..3ee3725bb502d 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.4": + url: "https://github.com/drogonframework/drogon/archive/v1.8.4.tar.gz" + sha256: "6f2f59ead0f0c37b0aac4bc889cbaedf3c2540f3020e892596c72f0a4d887a18" "1.8.3": url: "https://github.com/drogonframework/drogon/archive/v1.8.3.tar.gz" sha256: "db6d92a0c40ec52d5704fb4128860b9eecdc284653e8d85113b4219b96dc7129" @@ -12,6 +15,19 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "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" "1.8.3": - patch_file: "patches/1.8.0-0001-disable-unused-data.patch" patch_description: "Consume Trantor package from Conan instead of using the\ @@ -23,7 +39,6 @@ patches: - patch_file: "patches/1.8.3-0003-find-package-sqlite.patch" patch_description: "Fix sqlite cmake target name" patch_type: "conan" - "1.8.2": - patch_file: "patches/1.8.0-0001-disable-unused-data.patch" patch_description: "Consume Trantor package from Conan instead of using the\ @@ -35,7 +50,6 @@ patches: - patch_file: "patches/1.8.2-0003-find-package-sqlite.patch" patch_description: "Fix sqlite cmake target name" patch_type: "conan" - "1.8.0": - patch_file: "patches/1.8.0-0001-disable-unused-data.patch" patch_description: "Consume Trantor package from Conan instead of using the subproject" @@ -46,7 +60,9 @@ patches: - patch_file: "patches/1.8.0-0003-find-package-sqlite.patch" patch_description: "Fix sqlite cmake target name" patch_type: "conan" - + - patch_file: "patches/1.8.0-0004-remove-msvc-check.patch" + patch_description: "remove msvc check for C++17 support" + patch_type: "portability" "1.7.5": - patch_file: "patches/1.7.5-0001-disable_trantor.patch" patch_description: "Consume Trantor package from Conan instead of using the subproject" @@ -60,3 +76,6 @@ patches: - patch_file: "patches/1.7.5-0004-find-package-jsoncpp.patch" patch_description: "Fix jsoncpp cmake target name" patch_type: "conan" + - patch_file: "patches/1.7.5-0005-remove-msvc-check.patch" + patch_description: "remove msvc check for C++17 support" + patch_type: "portability" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 05e8a3e45cfa1..80dc0d0264500 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -1,13 +1,16 @@ +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_layout, CMakeToolchain, CMakeDeps, CMake from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches, rmdir -from conan.tools.build import check_min_cppstd from conan.tools.scm import Version -from conan.errors import ConanInvalidConfiguration -import os +from conan.tools.microsoft import is_msvc required_conan_version = ">=1.53.0" + class DrogonConan(ConanFile): name = "drogon" description = "A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows" @@ -24,6 +27,7 @@ class DrogonConan(ConanFile): "with_orm": [True, False], "with_profile": [True, False], "with_brotli": [True, False], + "with_yaml_cpp": [True, False], "with_postgres": [True, False], "with_postgres_batch": [True, False], "with_mysql": [True, False], @@ -38,12 +42,14 @@ class DrogonConan(ConanFile): "with_orm": True, "with_profile": False, "with_brotli": False, + "with_yaml_cpp": False, "with_postgres": False, "with_postgres_batch": False, "with_mysql": False, "with_sqlite": False, "with_redis": False, } + package_type = "library" def export_sources(self): export_conandata_patches(self) @@ -71,27 +77,26 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - if Version(self.version) < "1.8.2": - return { + return { + "14": { "Visual Studio": "15", "msvc": "191", "gcc": "6", "clang": "5", "apple-clang": "10", - } - else: - return { + }, + "17": { "Visual Studio": "16", "msvc": "192", "gcc": "8", "clang": "7", "apple-clang": "12", } + }.get(str(self._min_cppstd), {}) def validate(self): - if self.info.settings.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.info.settings.compiler), False) if minimum_version: if Version(self.info.settings.compiler.version) < minimum_version: @@ -99,30 +104,35 @@ def validate(self): else: self.output.warn(f"{self.ref} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") + if self.settings.compiler.get_safe("cppstd") == "14" and not self.options.with_boost: + raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") + def requirements(self): - self.requires("trantor/1.5.8") - self.requires("jsoncpp/1.9.5") - self.requires("openssl/1.1.1s") + self.requires("trantor/1.5.11", 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.13") if self.settings.os == "Linux": self.requires("libuuid/1.0.3") if self.options.with_profile: self.requires("coz/cci.20210322") if self.options.with_boost: - self.requires("boost/1.81.0") + self.requires("boost/1.82.0", transitive_headers=True) if self.options.with_brotli: self.requires("brotli/1.0.9") if self.options.get_safe("with_postgres"): - self.requires("libpq/14.5") + self.requires("libpq/14.7") if self.options.get_safe("with_mysql"): - self.requires("libmysqlclient/8.0.30") + self.requires("libmysqlclient/8.0.31") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.40.0") + self.requires("sqlite3/3.42.0") if self.options.get_safe("with_redis"): self.requires("hiredis/1.1.0") + if self.options.with_yaml_cpp: + self.requires("yaml-cpp/0.7.0") 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 layout(self): cmake_layout(self, src_folder="src") @@ -136,11 +146,16 @@ def generate(self): tc.variables["BUILD_DROGON_SHARED"] = self.options.shared tc.variables["BUILD_DOC"] = False tc.variables["BUILD_BROTLI"] = self.options.with_brotli + tc.variables["BUILD_YAML_CONFIG"] = self.options.with_yaml_cpp tc.variables["BUILD_POSTGRESQL"] = self.options.get_safe("with_postgres", False) tc.variables["BUILD_POSTGRESQL_BATCH"] = self.options.get_safe("with_postgres_batch", False) tc.variables["BUILD_MYSQL"] = self.options.get_safe("with_mysql", False) tc.variables["BUILD_SQLITE"] = self.options.get_safe("with_sqlite", False) tc.variables["BUILD_REDIS"] = self.options.get_safe("with_redis", False) + if is_msvc(self): + tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus /EHsc" + if Version(self.version) >= "1.8.4": + tc.variables["USE_SUBMODULE"] = False tc.generate() tc = CMakeDeps(self) tc.generate() diff --git a/recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch b/recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch new file mode 100644 index 0000000000000..61bc8404888cc --- /dev/null +++ b/recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch @@ -0,0 +1,92 @@ +diff --git a/lib/inc/drogon/utils/any.h b/lib/inc/drogon/utils/any.h +index 63abd2e..8ac74d8 100644 +--- a/lib/inc/drogon/utils/any.h ++++ b/lib/inc/drogon/utils/any.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -21,7 +21,7 @@ + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::any; + using std::any_cast; + #else +diff --git a/lib/inc/drogon/utils/optional.h b/lib/inc/drogon/utils/optional.h +index 2dde172..297a819 100644 +--- a/lib/inc/drogon/utils/optional.h ++++ b/lib/inc/drogon/utils/optional.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -21,9 +21,9 @@ + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::optional; + #else + using boost::optional; + #endif +-} // namespace drogon +\ No newline at end of file ++} // namespace drogon +diff --git a/lib/inc/drogon/utils/string_view.h b/lib/inc/drogon/utils/string_view.h +index a2362b7..074d05f 100644 +--- a/lib/inc/drogon/utils/string_view.h ++++ b/lib/inc/drogon/utils/string_view.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -25,7 +25,7 @@ + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::string_view; + #else + using boost::string_view; +@@ -40,10 +40,10 @@ inline LogStream &operator<<(LogStream &ls, const drogon::string_view &v) + } + } // namespace trantor + +-#if __cplusplus < 201703L && !(defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus < 201703L + namespace drogon + { +-#ifndef _MSC_VER ++#if 1 + template + struct StringViewHasher; + +@@ -319,7 +319,7 @@ struct hash + size_t operator()(const drogon::string_view &__str) const noexcept + { + // MSVC is having problems with non-aligned strings +-#ifndef _MSC_VER ++#if 1 + return drogon::StringViewHasher()(__str); + #else + return drogon::ShortStringViewHasher(__str); diff --git a/recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch b/recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch new file mode 100644 index 0000000000000..5b0923c887cc6 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch @@ -0,0 +1,117 @@ +diff --git a/lib/inc/drogon/utils/any.h b/lib/inc/drogon/utils/any.h +index 63abd2e..8ac74d8 100644 +--- a/lib/inc/drogon/utils/any.h ++++ b/lib/inc/drogon/utils/any.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -21,7 +21,7 @@ + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::any; + using std::any_cast; + #else +diff --git a/lib/inc/drogon/utils/apply.h b/lib/inc/drogon/utils/apply.h +index a9049af..97d55b7 100644 +--- a/lib/inc/drogon/utils/apply.h ++++ b/lib/inc/drogon/utils/apply.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -29,7 +29,7 @@ constexpr decltype(auto) apply_impl(F &&f, Tuple &&t, std::index_sequence) + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::apply; + #else + template +@@ -42,4 +42,4 @@ constexpr decltype(auto) apply(F &&f, Tuple &&t) + std::tuple_size >::value>{}); + } + #endif +-} // namespace drogon +\ No newline at end of file ++} // namespace drogon +diff --git a/lib/inc/drogon/utils/optional.h b/lib/inc/drogon/utils/optional.h +index 19ced06..c049553 100644 +--- a/lib/inc/drogon/utils/optional.h ++++ b/lib/inc/drogon/utils/optional.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -21,7 +21,7 @@ + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::nullopt; + using std::optional; + #else +diff --git a/lib/inc/drogon/utils/string_view.h b/lib/inc/drogon/utils/string_view.h +index a2362b7..074d05f 100644 +--- a/lib/inc/drogon/utils/string_view.h ++++ b/lib/inc/drogon/utils/string_view.h +@@ -13,7 +13,7 @@ + */ + + #pragma once +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + #include + #else + #include +@@ -25,7 +25,7 @@ + + namespace drogon + { +-#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus >= 201703L + using std::string_view; + #else + using boost::string_view; +@@ -40,10 +40,10 @@ inline LogStream &operator<<(LogStream &ls, const drogon::string_view &v) + } + } // namespace trantor + +-#if __cplusplus < 201703L && !(defined _MSC_VER && _MSC_VER > 1900) ++#if __cplusplus < 201703L + namespace drogon + { +-#ifndef _MSC_VER ++#if 1 + template + struct StringViewHasher; + +@@ -319,7 +319,7 @@ struct hash + size_t operator()(const drogon::string_view &__str) const noexcept + { + // MSVC is having problems with non-aligned strings +-#ifndef _MSC_VER ++#if 1 + return drogon::StringViewHasher()(__str); + #else + return drogon::ShortStringViewHasher(__str); diff --git a/recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch b/recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch new file mode 100644 index 0000000000000..f51304849a04f --- /dev/null +++ b/recipes/drogon/all/patches/1.8.4-0001-remove-shared-libs.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000000000..362fa96c66cc6 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.4-0002-find-package-jsoncpp.patch @@ -0,0 +1,17 @@ +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 new file mode 100644 index 0000000000000..6f97d35a4d314 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.4-0003-find-package-sqlite.patch @@ -0,0 +1,13 @@ +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 new file mode 100644 index 0000000000000..a9fca7863aea7 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.4-0004-find-package-yaml-cpp.patch @@ -0,0 +1,13 @@ +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/config.yml b/recipes/drogon/config.yml index 0ab8881109d24..7b7f0bad90e21 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.4": + folder: "all" "1.8.3": folder: "all" "1.8.2": From f522f846d0691bf29bd8ddf184b25688f6e48eea Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 3 Jul 2023 22:22:50 +0900 Subject: [PATCH 0738/4087] (#18268) zimg: add version 3.0.5, add package_type * zimg: add version 3.0.5 * update PlatformToolset version for msvc * import Version --- recipes/zimg/all/conandata.yml | 6 ++++++ recipes/zimg/all/conanfile.py | 26 +++++++++++++++++--------- recipes/zimg/config.yml | 2 ++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/recipes/zimg/all/conandata.yml b/recipes/zimg/all/conandata.yml index 6f58da26deae3..808d05daf7b4d 100644 --- a/recipes/zimg/all/conandata.yml +++ b/recipes/zimg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.5": + url: "https://github.com/sekrit-twc/zimg/archive/refs/tags/release-3.0.5.tar.gz" + sha256: "a9a0226bf85e0d83c41a8ebe4e3e690e1348682f6a2a7838f1b8cbff1b799bcf" "3.0.4": url: "https://github.com/sekrit-twc/zimg/archive/refs/tags/release-3.0.4.tar.gz" sha256: "219d1bc6b7fde1355d72c9b406ebd730a4aed9c21da779660f0a4c851243e32f" @@ -15,6 +18,9 @@ sources: url: "https://github.com/sekrit-twc/zimg/archive/release-2.9.3.tar.gz" sha256: "a15c0483fbe945ffe695a1a989bc43b3381c8bf33e2d1760464ec21d32cdf30b" patches: + "3.0.5": + - patch_file: "patches/0001-msvc-remove-windows-target-platform.patch" + - patch_file: "patches/0002-msvc-solution.patch" "3.0.4": - patch_file: "patches/0001-msvc-remove-windows-target-platform.patch" - patch_file: "patches/0002-msvc-solution.patch" diff --git a/recipes/zimg/all/conanfile.py b/recipes/zimg/all/conanfile.py index 6332a7e16ebe2..48a20f5432af3 100644 --- a/recipes/zimg/all/conanfile.py +++ b/recipes/zimg/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import check_min_vs, is_msvc, MSBuild, MSBuildToolchain +from conan.tools.scm import Version import os required_conan_version = ">=1.54.0" @@ -14,11 +15,11 @@ class ZimgConan(ConanFile): name = "zimg" description = "Scaling, colorspace conversion, and dithering library" - topics = ("image", "manipulation") - homepage = "https://github.com/sekrit-twc/zimg" - url = "https://github.com/conan-io/conan-center-index" license = "WTFPL" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/sekrit-twc/zimg" + topics = ("image", "manipulation") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -94,11 +95,18 @@ def build(self): platform_toolset = MSBuildToolchain(self).toolset conantoolchain_props = os.path.join(self.generators_folder, MSBuildToolchain.filename) for vcxproj_file in vcxproj_files: - replace_in_file( - self, vcxproj_file, - "v142", - f"{platform_toolset}", - ) + if Version(self.version) >= "3.0.5": + replace_in_file( + self, vcxproj_file, + "v143", + f"{platform_toolset}", + ) + else: + replace_in_file( + self, vcxproj_file, + "v142", + f"{platform_toolset}", + ) replace_in_file( self, vcxproj_file, "", diff --git a/recipes/zimg/config.yml b/recipes/zimg/config.yml index b142332a0fe4c..4841523950979 100644 --- a/recipes/zimg/config.yml +++ b/recipes/zimg/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.5": + folder: "all" "3.0.4": folder: "all" "3.0.3": From 7f46775d590c75767f4771f3a5e3ae636f90e51a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 3 Jul 2023 18:24:26 +0200 Subject: [PATCH 0739/4087] (#18094) cvplot: migrate to Conan v2 * cvplot: migrate to Conan v2 * cvplot: rm unnecessary cmake_* properties --------- Co-authored-by: Carlos Zoido --- recipes/cvplot/all/conanfile.py | 58 +++++++++++++------ .../cvplot/all/test_package/CMakeLists.txt | 5 +- recipes/cvplot/all/test_package/conanfile.py | 21 +++++-- .../cvplot/all/test_package/test_package.cpp | 4 +- 4 files changed, 59 insertions(+), 29 deletions(-) diff --git a/recipes/cvplot/all/conanfile.py b/recipes/cvplot/all/conanfile.py index 49ceaeafa285e..4984563ed0526 100644 --- a/recipes/cvplot/all/conanfile.py +++ b/recipes/cvplot/all/conanfile.py @@ -1,35 +1,59 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class CvPlotConan(ConanFile): name = "cvplot" - description = "fast modular opencv plotting library" + description = "Fast modular OpenCV plotting library" license = "MIT" - topics = ("plot", "opencv", "diagram", "plotting") - homepage = "https://github.com/Profactor/cv-plot" url = "https://github.com/conan-io/conan-center-index" - requires = "opencv/4.5.3" + homepage = "https://github.com/Profactor/cv-plot" + topics = ("plot", "opencv", "diagram", "plotting", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("opencv/4.5.5") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "CvPlot", "inc")) - - def package_id(self): - self.info.header_only() - + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + pattern="*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "CvPlot", "inc"), + ) + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "CvPlot") + self.cpp_info.set_property("cmake_target_name", "CvPlot::CvPlot") + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.defines.append("CVPLOT_HEADER_ONLY") - self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.names["cmake_find_package"] = "CvPlot" self.cpp_info.names["cmake_find_package_multi"] = "CvPlot" diff --git a/recipes/cvplot/all/test_package/CMakeLists.txt b/recipes/cvplot/all/test_package/CMakeLists.txt index b75c35da97dea..209693284dcea 100644 --- a/recipes/cvplot/all/test_package/CMakeLists.txt +++ b/recipes/cvplot/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(CvPlot CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/cvplot/all/test_package/conanfile.py b/recipes/cvplot/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/cvplot/all/test_package/conanfile.py +++ b/recipes/cvplot/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/cvplot/all/test_package/test_package.cpp b/recipes/cvplot/all/test_package/test_package.cpp index 0592129b4a676..da5278d1f8f60 100644 --- a/recipes/cvplot/all/test_package/test_package.cpp +++ b/recipes/cvplot/all/test_package/test_package.cpp @@ -3,7 +3,7 @@ using namespace CvPlot; int main() { - Axes axes = plot(std::vector{ 3, 3, 4, 6, 4, 3 }, "-o"); - cv::Mat mat = axes.render(400, 600); + Axes axes = plot(std::vector{3, 3, 4, 6, 4, 3}, "-o"); + cv::Mat mat = axes.render(400, 600); return 0; } From 31f8c574234d157b4b6e76f6a5abb2534c8b2f89 Mon Sep 17 00:00:00 2001 From: Grzegorz Antoniak Date: Mon, 3 Jul 2023 19:27:24 +0200 Subject: [PATCH 0740/4087] (#14543) Add `loguru/2.1.0` recipe * Add `loguru/2.1.0` recipe Loguru: a lightweight and flexible C++ logging library. Website: https://emilk.github.io/loguru/index.html Source code: https://github.com/emilk/loguru Closes #14542 * Simplify CMake and native features usage (#1) Simplifications and Conan v2 fixes * Update recipes/loguru/all/conanfile.py * Update recipes/loguru/all/conanfile.py * Update recipes/loguru/all/conanfile.py * loguru: use latest commit with CMake support * fixup: missing comma * fixup: typo * chore: rm config files * fixup: clean up defines * add includedirs, simplify test_package * add suffix * add m * fix windows shared * remove pdbs --------- Co-authored-by: Uilian Ries Co-authored-by: Chris Mc Co-authored-by: czoido --- recipes/loguru/all/conandata.yml | 4 + recipes/loguru/all/conanfile.py | 139 ++++++++++++++++++ .../loguru/all/test_package/CMakeLists.txt | 8 + recipes/loguru/all/test_package/conanfile.py | 31 ++++ .../loguru/all/test_package/test_package.cpp | 29 ++++ .../loguru/all/test_v1_package/CMakeLists.txt | 8 + .../loguru/all/test_v1_package/conanfile.py | 18 +++ recipes/loguru/config.yml | 3 + 8 files changed, 240 insertions(+) create mode 100644 recipes/loguru/all/conandata.yml create mode 100644 recipes/loguru/all/conanfile.py create mode 100644 recipes/loguru/all/test_package/CMakeLists.txt create mode 100644 recipes/loguru/all/test_package/conanfile.py create mode 100644 recipes/loguru/all/test_package/test_package.cpp create mode 100644 recipes/loguru/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/loguru/all/test_v1_package/conanfile.py create mode 100644 recipes/loguru/config.yml diff --git a/recipes/loguru/all/conandata.yml b/recipes/loguru/all/conandata.yml new file mode 100644 index 0000000000000..779d9ad6aa366 --- /dev/null +++ b/recipes/loguru/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230406": + url: "https://github.com/emilk/loguru/archive/4adaa185883e3c04da25913579c451d3c32cfac1.tar.gz" + sha256: "1424f3ce814fa413e5fbdf2949994d455e3914560f958d2931ba869349a686a8" diff --git a/recipes/loguru/all/conanfile.py b/recipes/loguru/all/conanfile.py new file mode 100644 index 0000000000000..098d77e4ec8b7 --- /dev/null +++ b/recipes/loguru/all/conanfile.py @@ -0,0 +1,139 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.microsoft import is_msvc +from conan.tools.files import get, load, save, rmdir, rm +from conan.tools.build import check_min_cppstd + + +required_conan_version = ">=1.53.0" + + +class LoguruConan(ConanFile): + name = "loguru" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/emilk/loguru" + license = "Unlicense" + topics = ("logging", "log", "fmt") + description = "Loguru is a C++11 logging library." + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_fmt": [True, False], + "verbose_scope_endings": [True, False], + "redefine_assert": [True, False], + "enable_streams": [True, False], + "enable_fileabs": [True, False], + "replace_glog": [True, False], + + "scope_text_size": [None, "ANY"], + "scope_time_precision": [None, "ANY"], + "filename_width": [None, "ANY"], + "threadname_width": [None, "ANY"], + } + + default_options = { + "shared": False, + "fPIC": True, + "with_fmt": False, + "verbose_scope_endings": True, + "redefine_assert": False, + "enable_streams": False, + "enable_fileabs": False, + "replace_glog": False, + "scope_text_size": 196, + "scope_time_precision": 3, + "filename_width": 23, + "threadname_width": 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 requirements(self): + if self.options.with_fmt: + self.requires("fmt/9.1.0", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + + if self.options.replace_glog and not self.options.enable_streams: + # https://github.com/emilk/loguru/blob/4adaa185883e3c04da25913579c451d3c32cfac1/docs/index.html#L692 + raise ConanInvalidConfiguration(f"{self.ref}:replace_glog needs {self.ref}:enable_streams=True") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def layout(self): + cmake_layout(self, src_folder='src') + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LOGURU_USE_FMTLIB"] = self.options.with_fmt + tc.variables["LOGURU_VERBOSE_SCOPE_ENDINGS"] = self.options.verbose_scope_endings + tc.variables["LOGURU_REDEFINE_ASSERT"] = self.options.redefine_assert + tc.variables["LOGURU_WITH_STREAMS"] = self.options.enable_streams + tc.variables["LOGURU_WITH_FILEABS"] = self.options.enable_fileabs + tc.variables["LOGURU_REPLACE_GLOG"] = self.options.replace_glog + tc.variables["LOGURU_SCOPE_TEXT_SIZE"] = self.options.scope_text_size + tc.variables["LOGURU_SCOPE_TIME_PRECISION"] = self.options.scope_time_precision + tc.variables["LOGURU_FILENAME_WIDTH"] = self.options.filename_width + tc.variables["LOGURU_THREADNAME_WIDTH"] = self.options.threadname_width + if is_msvc(self) and self.options.shared: + tc.preprocessor_definitions["LOGURU_EXPORT"] = "__declspec(dllexport)" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + @property + def _extracted_license(self): + tmp = load(self, os.path.join(self.source_folder, 'loguru.hpp')) + return tmp[2:tmp.find("# Inspiration", 0)].strip() + + def package(self): + save(self, os.path.join(self.package_folder, 'licenses', 'LICENSE'), self._extracted_license) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + suffix = "d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = [f"loguru{suffix}"] + self.cpp_info.includedirs = [os.path.join("include", "loguru")] + # https://github.com/emilk/loguru/blob/4adaa185883e3c04da25913579c451d3c32cfac1/CMakeLists.txt#L301 + self.cpp_info.set_property("cmake_file_name", "loguru") + self.cpp_info.set_property("cmake_target_name", "loguru::loguru") + + self.cpp_info.defines.append(f"LOGURU_USE_FMTLIB={self.options.with_fmt}") + self.cpp_info.defines.append(f"LOGURU_SCOPE_TEXT_SIZE={self.options.scope_text_size}") + self.cpp_info.defines.append(f"LOGURU_SCOPE_TIME_PRECISION={self.options.scope_time_precision}") + self.cpp_info.defines.append(f"LOGURU_FILENAME_WIDTH={self.options.filename_width}") + self.cpp_info.defines.append(f"LOGURU_THREADNAME_WIDTH={self.options.threadname_width}") + self.cpp_info.defines.append(f"LOGURU_VERBOSE_SCOPE_ENDINGS={self.options.verbose_scope_endings}") + self.cpp_info.defines.append(f"LOGURU_REDEFINE_ASSERT={self.options.redefine_assert}") + self.cpp_info.defines.append(f"LOGURU_WITH_STREAMS={self.options.enable_streams}") + self.cpp_info.defines.append(f"LOGURU_WITH_FILEABS={self.options.enable_fileabs}") + self.cpp_info.defines.append(f"LOGURU_REPLACE_GLOG={self.options.replace_glog}") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "dl", "m"] diff --git a/recipes/loguru/all/test_package/CMakeLists.txt b/recipes/loguru/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..aba0bad284220 --- /dev/null +++ b/recipes/loguru/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(loguru REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PUBLIC loguru::loguru) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/loguru/all/test_package/conanfile.py b/recipes/loguru/all/test_package/conanfile.py new file mode 100644 index 0000000000000..543315cd0fbb8 --- /dev/null +++ b/recipes/loguru/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + 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/loguru/all/test_package/test_package.cpp b/recipes/loguru/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..58460d1478be0 --- /dev/null +++ b/recipes/loguru/all/test_package/test_package.cpp @@ -0,0 +1,29 @@ +// Partially taken from: https://github.com/emilk/loguru/tree/master/loguru_example + +#include +#include +#include +#include + +inline void sleep_ms(int ms) +{ + VLOG_F(2, "Sleeping for %d ms", ms); + std::this_thread::sleep_for(std::chrono::milliseconds(ms)); +} + +inline void complex_calculation() +{ + LOG_SCOPE_F(INFO, "complex_calculation"); + LOG_F(INFO, "Starting time machine..."); + LOG_F(WARNING, "The flux capacitor is not getting enough power!"); + LOG_F(INFO, "Lighting strike!"); + VLOG_F(1, "Found 1.21 gigawatts..."); +} + +int main(int argc, char *argv[]) +{ + loguru::init(argc, argv); + LOG_F(INFO, "Hello from main.cpp!"); + complex_calculation(); + LOG_F(INFO, "main function about to end!"); +} diff --git a/recipes/loguru/all/test_v1_package/CMakeLists.txt b/recipes/loguru/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/loguru/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/loguru/all/test_v1_package/conanfile.py b/recipes/loguru/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/loguru/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/loguru/config.yml b/recipes/loguru/config.yml new file mode 100644 index 0000000000000..82675897e9768 --- /dev/null +++ b/recipes/loguru/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230406": + folder: all From 9c167fa9edfa2f931d443a414a375ebb47002772 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 4 Jul 2023 12:02:11 +0200 Subject: [PATCH 0741/4087] (#18295) [bot] Update authorized users list (2023-07-03) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 45782a0fc1900..267ddf76ccb48 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1185,3 +1185,5 @@ authorized_users: - jalapenopuzzle - HalfSweet - CJCombrink +- nayyden +- wAuner From a1c6e4874ba2932a6d49171ca003383556e1320c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 4 Jul 2023 19:22:28 +0900 Subject: [PATCH 0742/4087] (#18285) jsoncons: add version 0.170.2, add package_type --- recipes/jsoncons/all/conandata.yml | 5 ++++- recipes/jsoncons/all/conanfile.py | 17 +++++++++-------- .../jsoncons/all/test_package/CMakeLists.txt | 2 +- recipes/jsoncons/config.yml | 2 ++ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 522f8707b0c51..9d14ae63f5622 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.170.2": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.170.2.tar.gz" + sha256: "0ff0cd407f6b27dea66a3202bc8bc2e043ec1614419e76840eda5b5f8045a43a" "0.169.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.169.0.tar.gz" - sha256: 423dc99d6950056fb55782513daf74adf37501eaf01b977b2415873cd0c44243 + sha256: "423dc99d6950056fb55782513daf74adf37501eaf01b977b2415873cd0c44243" diff --git a/recipes/jsoncons/all/conanfile.py b/recipes/jsoncons/all/conanfile.py index 32d3c9bc0d9c9..acb202ad18e68 100644 --- a/recipes/jsoncons/all/conanfile.py +++ b/recipes/jsoncons/all/conanfile.py @@ -12,7 +12,14 @@ class JsonconsConan(ConanFile): license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/danielaparker/jsoncons" - topics = ("json", "csv", "cpp", "json-serialization", "cbor", "json-parser", "messagepack", "json-pointer", "json-patch", "json-diff", "bson", "ubjson", "json-parsing", "jsonpath", "jmespath", "csv-parser", "csv-reader", "jsonschema", "json-construction", "streaming-json-read", "header-only") + topics = ( + "json", "csv", "json-serialization", "cbor", "json-parser", + "messagepack", "json-pointer", "json-patch", "json-diff", "bson", + "ubjson", "json-parsing", "jsonpath", "jmespath", "csv-parser", + "csv-reader", "jsonschema", "json-construction", "streaming-json-read", + "header-only", + ) + pckage_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,19 +30,13 @@ def package_id(self): self.info.clear() def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="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): - # Folders not used for header-only self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/jsoncons/all/test_package/CMakeLists.txt b/recipes/jsoncons/all/test_package/CMakeLists.txt index a15fe60ff614b..15f5b1aabdb29 100644 --- a/recipes/jsoncons/all/test_package/CMakeLists.txt +++ b/recipes/jsoncons/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) find_package(jsoncons CONFIG REQUIRED) diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index 0354650b51267..46ac84b999858 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,3 +1,5 @@ versions: + "0.170.2": + folder: "all" "0.169.0": folder: "all" From e06f1b450c2f1afda1f00e715728208e71a48142 Mon Sep 17 00:00:00 2001 From: Said Alghabra Date: Tue, 4 Jul 2023 12:44:12 +0200 Subject: [PATCH 0743/4087] (#17784) uSockets -> V2 * uSockets -> V2 * fix linting errors * remove _conanfile * remove _build_context * fix _build_context * remove with statement from _build_context * usockets: remove test_v1_package * usockets: conan 2 fixes * usockets: cleanup conandata.yml --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/usockets/all/conandata.yml | 12 -- recipes/usockets/all/conanfile.py | 160 ++++++++++-------- .../usockets/all/test_package/CMakeLists.txt | 3 - .../usockets/all/test_package/conanfile.py | 19 ++- 4 files changed, 106 insertions(+), 88 deletions(-) diff --git a/recipes/usockets/all/conandata.yml b/recipes/usockets/all/conandata.yml index 5b4a41335be2a..e6a17b330a5a4 100644 --- a/recipes/usockets/all/conandata.yml +++ b/recipes/usockets/all/conandata.yml @@ -23,56 +23,44 @@ sources: patches: "0.8.5": - patch_file: "patches/0001-makefile_0.8.3.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" "0.8.3": - patch_file: "patches/0001-makefile_0.8.3.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" "0.8.2": - patch_file: "patches/0001-makefile_0.8.2.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" - patch_file: "patches/0002-vcxproj_0.8.1.patch" - base_path: "source_subfolder" patch_description: "build static library" patch_type: "conan" "0.8.1": - patch_file: "patches/0001-makefile_0.8.1.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" - patch_file: "patches/0002-vcxproj_0.8.1.patch" - base_path: "source_subfolder" patch_description: "build static library" patch_type: "conan" "0.7.1": - patch_file: "patches/0001-makefile_0.6.0.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" - patch_file: "patches/0002-vcxproj.patch" - base_path: "source_subfolder" patch_description: "build static library" patch_type: "conan" "0.6.0": - patch_file: "patches/0001-makefile_0.6.0.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" - patch_file: "patches/0002-vcxproj.patch" - base_path: "source_subfolder" patch_description: "build static library" patch_type: "conan" "0.4.0": - patch_file: "patches/0001-makefile.patch" - base_path: "source_subfolder" patch_description: "remove lto options" patch_type: "portability" - patch_file: "patches/0002-vcxproj.patch" - base_path: "source_subfolder" patch_description: "build static library" patch_type: "conan" diff --git a/recipes/usockets/all/conanfile.py b/recipes/usockets/all/conanfile.py index 09208942cd97e..4f69ddfc963bf 100644 --- a/recipes/usockets/all/conanfile.py +++ b/recipes/usockets/all/conanfile.py @@ -1,16 +1,15 @@ from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, chdir +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, chdir, 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, MSBuild, MSBuildDeps, MSBuildToolchain from conan.tools.scm import Version -from conan.tools.microsoft import is_msvc -from conan.errors import ConanInvalidConfiguration -from conans import MSBuild, AutoToolsBuildEnvironment -from conans.tools import vcvars, environment_append, unix_path, get_env import os -import contextlib -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.57.0" class UsocketsConan(ConanFile): name = "usockets" @@ -19,6 +18,7 @@ class UsocketsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/uNetworking/uSockets" topics = ("socket", "network", "web") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -47,12 +47,14 @@ def _minimum_compilers_version(self, cppstd): standards = { "14": { "Visual Studio": "15", + "msvc": "191", "gcc": "5", "clang": "3.4", "apple-clang": "10", }, "17": { "Visual Studio": "16", + "msvc": "192", "gcc": "7", "clang": "6", "apple-clang": "10", @@ -60,14 +62,17 @@ def _minimum_compilers_version(self, cppstd): } return standards.get(cppstd) or {} - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + @property + def _uses_msbuild(self): + return Version(self.version) < "0.8.3" and is_msvc(self) + def export_sources(self): export_conandata_patches(self) @@ -77,10 +82,10 @@ def config_options(self): self.options.eventloop = "libuv" def validate(self): - if self.options.eventloop == "syscall" and self.info.settings.os == "Windows": + if self.options.eventloop == "syscall" and self.settings.os == "Windows": raise ConanInvalidConfiguration("syscall is not supported on Windows") - if self.options.eventloop == "gcd" and (self.info.settings.os != "Linux" or self.info.settings.compiler != "clang"): + if self.options.eventloop == "gcd" and (self.settings.os != "Linux" or self.settings.compiler != "clang"): raise ConanInvalidConfiguration("eventloop=gcd is only supported on Linux with clang") if Version(self.version) < "0.8.0" and self.options.eventloop not in ("syscall", "libuv", "gcd"): @@ -96,10 +101,10 @@ def validate(self): if not cppstd: return - if self.info.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, cppstd) - minimum_version = self._minimum_compilers_version(cppstd).get(str(self.info.settings.compiler), False) + minimum_version = self._minimum_compilers_version(cppstd).get(str(self.settings.compiler), False) if minimum_version: if Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("{} requires C++{}, which your compiler does not support.".format(self.name, cppstd)) @@ -108,72 +113,95 @@ def validate(self): def configure(self): if bool(self._minimum_cpp_standard) == False: - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def requirements(self): if self.options.with_ssl == "openssl": - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") elif self.options.with_ssl == "wolfssl": - self.requires("wolfssl/5.5.1") + self.requires("wolfssl/5.6.3") if self.options.eventloop == "libuv": - self.requires("libuv/1.44.2") + self.requires("libuv/1.46.0") elif self.options.eventloop == "gcd": self.requires("libdispatch/5.3.2") elif self.options.eventloop == "boost": - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") def build_requirements(self): - if self._settings_build.os == "Windows" and not get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.5") + if self._settings_build.os == "Windows" and not self._uses_msbuild: + 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], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _patch_sources(self): apply_conandata_patches(self) - - def _build_msvc(self): - with chdir(self, os.path.join(self._source_subfolder)): - msbuild = MSBuild(self) - msbuild.build(project_file="uSockets.vcxproj", platforms={"x86": "Win32"}) - - @contextlib.contextmanager - def _build_context(self): - if is_msvc(self): - with vcvars(self): - env = { - "CC": "{} cl -nologo".format(unix_path(self.deps_user_info["automake"].compile)), - "CXX": "{} cl -nologo".format(unix_path(self.deps_user_info["automake"].compile)), - "CFLAGS": "-{}".format(self.settings.compiler.runtime), - "LD": "link", - "NM": "dumpbin -symbols", - "STRIP": ":", - "AR": "{} lib".format(unix_path(self.deps_user_info["automake"].ar_lib)), - "RANLIB": ":", - } + if self._uses_msbuild: + vcxproj_file = os.path.join(self.source_folder, "uSockets.vcxproj") + platform_toolset = MSBuildToolchain(self).toolset + import_conan_generators = "" + for props_file in ["conantoolchain.props", "conandeps.props"]: + props_path = os.path.join(self.generators_folder, props_file) + if os.path.exists(props_path): + import_conan_generators += f"" + + replace_in_file( + self, vcxproj_file, + "v141", + f"{platform_toolset}", + ) + if import_conan_generators: + replace_in_file( + self, vcxproj_file, + '''''', + f'''{import_conan_generators}\n''', + ) + + def generate(self): + if self._uses_msbuild: + tc = MSBuildToolchain(self) + tc.generate() + deps = MSBuildDeps(self) + deps.generate() + else: + tc = AutotoolsToolchain(self) + env = tc.environment() + if is_msvc(self): + compile_wrapper = unix_path(self, self.conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, self.conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", f"{compile_wrapper} link -nologo") + env.define("AR", f"{ar_wrapper} \"lib -nologo\"") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") if self.options.eventloop == "libuv": - env["CPPFLAGS"] = "-I" + unix_path(self.deps_cpp_info["libuv"].include_paths[0]) + " " + # Workaround for: https://github.com/conan-io/conan/issues/12784 + # Otherwise AutotoolsDeps should suffice + env.append("CPPFLAGS", "-I" + unix_path(self, self.dependencies["libuv"].cpp_info.includedirs[0])) + tc.generate(env) - with environment_append(env): - yield - else: - yield + deps = AutotoolsDeps(self) + deps.generate() + + def _build_msvc(self): + with chdir(self, os.path.join(self.source_folder)): + msbuild = MSBuild(self) + msbuild.build("uSockets.vcxproj") - def _build_configure(self): - autotools = AutoToolsBuildEnvironment(self) + def _build_autotools(self): + autotools = Autotools(self) autotools.fpic = self.options.get_safe("fPIC", False) - with chdir(self, self._source_subfolder): + with chdir(self, self.source_folder): args = ["WITH_LTO=0"] if self.options.with_ssl == "openssl": args.append("WITH_OPENSSL=1") @@ -187,22 +215,20 @@ def _build_configure(self): elif self.options.eventloop == "boost": args.append("WITH_ASIO=1") - args.extend(f"{key}={value}" for key, value in autotools.vars.items()) autotools.make(target="default", args=args) def build(self): self._patch_sources() - if Version(self.version) < "0.8.3" and is_msvc(self): + if self._uses_msbuild: self._build_msvc() else: - with self._build_context(): - self._build_configure() + self._build_autotools() def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self._source_subfolder) - copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self._source_subfolder, "src"), keep_path=True) - copy(self, pattern="*.a", 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="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, "src"), keep_path=True) + copy(self, pattern="*.a", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) + copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) # drop internal headers rmdir(self, os.path.join(self.package_folder, "include", "internal")) diff --git a/recipes/usockets/all/test_package/CMakeLists.txt b/recipes/usockets/all/test_package/CMakeLists.txt index 8502a8260d7ce..be191d27f55a9 100644 --- a/recipes/usockets/all/test_package/CMakeLists.txt +++ b/recipes/usockets/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(usockets REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/usockets/all/test_package/conanfile.py b/recipes/usockets/all/test_package/conanfile.py index 7895db93c24a6..e845ae751a301 100644 --- a/recipes/usockets/all/test_package/conanfile.py +++ b/recipes/usockets/all/test_package/conanfile.py @@ -1,12 +1,19 @@ from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake +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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -14,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") From c64b627c29e11cdefd49d1b7d0dc11a4740f5b02 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Tue, 4 Jul 2023 17:02:30 +0200 Subject: [PATCH 0744/4087] (#18317) libpq: add 14.8 and 15.3 --- recipes/libpq/all/conandata.yml | 6 ++++++ recipes/libpq/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml index 3f978881fafe5..eef5fefc1dd9a 100644 --- a/recipes/libpq/all/conandata.yml +++ b/recipes/libpq/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "15.3": + url: "https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.bz2" + sha256: "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932" + "14.8": + url: "https://ftp.postgresql.org/pub/source/v14.8/postgresql-14.8.tar.bz2" + sha256: "39d38f0030737ed03835debeefee3b37d335462ce4995e2497bc38d621ebe45a" "14.7": url: "https://ftp.postgresql.org/pub/source/v14.7/postgresql-14.7.tar.bz2" sha256: "cef60f0098fa8101c1546f4254e45b722af5431337945b37af207007630db331" diff --git a/recipes/libpq/config.yml b/recipes/libpq/config.yml index 01599254d7d82..bf80d539d9d1e 100644 --- a/recipes/libpq/config.yml +++ b/recipes/libpq/config.yml @@ -1,4 +1,8 @@ versions: + "15.3": + folder: all + "14.8": + folder: all "14.7": folder: all "14.5": From a58ae7bdccb4855527c74ad1a02e03907d0a9e17 Mon Sep 17 00:00:00 2001 From: Hannes Rantzsch Date: Tue, 4 Jul 2023 17:45:14 +0200 Subject: [PATCH 0745/4087] (#16845) add keychain/1.2.1 * add keychain/1.2.1 * keychain: fixes * keychain: add dependency on glib * keychain: add c++11 to test package, remove unused file * keychain test package: add missing endline * keychain: add cmake_windows_export_all_symbols * keychain: fix installation of DLL on Windows * keychain: add output to test_package * keychain: add virtualrunenv to test_package --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/keychain/all/CMakeLists.txt | 7 -- recipes/keychain/all/conandata.yml | 3 + recipes/keychain/all/conanfile.py | 67 ++++++++++++------- .../keychain/all/test_package/CMakeLists.txt | 11 ++- .../keychain/all/test_package/conanfile.py | 20 ++++-- .../all/test_package/test_package.cpp | 3 + recipes/keychain/config.yml | 2 + 7 files changed, 69 insertions(+), 44 deletions(-) delete mode 100644 recipes/keychain/all/CMakeLists.txt diff --git a/recipes/keychain/all/CMakeLists.txt b/recipes/keychain/all/CMakeLists.txt deleted file mode 100644 index 1848ca5a77c35..0000000000000 --- a/recipes/keychain/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/keychain/all/conandata.yml b/recipes/keychain/all/conandata.yml index b28baa662e7b6..af35ed376e432 100644 --- a/recipes/keychain/all/conandata.yml +++ b/recipes/keychain/all/conandata.yml @@ -2,3 +2,6 @@ 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" diff --git a/recipes/keychain/all/conanfile.py b/recipes/keychain/all/conanfile.py index d6ff7829ddf3c..216336cf7d368 100644 --- a/recipes/keychain/all/conanfile.py +++ b/recipes/keychain/all/conanfile.py @@ -1,60 +1,75 @@ -from conans import ConanFile, CMake, tools +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" homepage = "https://github.com/hrantzsch/keychain" description = "A cross-platform wrapper for the operating system's credential storage" - topics = ("conan", "keychain", "security", "credentials", "password", "cpp11") + 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" - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "pkg_config" - options = {'fPIC': [False, True]} - default_options = {'fPIC': True} - - @property - def _source_subfolder(self): - return "source_subfolder" - - def configure(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + options = {'shared': [False, True], 'fPIC': [False, True]} + 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 validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, 11) + def requirements(self): if self.settings.os == "Linux": self.requires("libsecret/0.20.4") + self.requires("glib/2.76.0") def build_requirements(self): if self.settings.os == "Linux": - self.build_requires("pkgconf/1.7.3") + self.tool_requires("pkgconf/1.7.3") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + 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") - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_TESTS"] = False - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTS"] = False + # Export all symbols by default to allow generating a shared library with msvc + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + pc = PkgConfigDeps(self) + pc.generate() def build(self): - cmake = self._configure_cmake() + 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, 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 = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) if self.settings.os == 'Macos': self.cpp_info.frameworks = ['Security', 'CoreFoundation'] diff --git a/recipes/keychain/all/test_package/CMakeLists.txt b/recipes/keychain/all/test_package/CMakeLists.txt index 8a9dd0b5b3015..84121712cf11b 100644 --- a/recipes/keychain/all/test_package/CMakeLists.txt +++ b/recipes/keychain/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(keychain CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) +target_link_libraries(${PROJECT_NAME} keychain::keychain) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/keychain/all/test_package/conanfile.py b/recipes/keychain/all/test_package/conanfile.py index bd7165a553cf4..e0f3e3cf43edb 100644 --- a/recipes/keychain/all/test_package/conanfile.py +++ b/recipes/keychain/all/test_package/conanfile.py @@ -1,17 +1,27 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def layout(self): + cmake_layout(self) + def test(self): - if 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/keychain/all/test_package/test_package.cpp b/recipes/keychain/all/test_package/test_package.cpp index b28378d16ed4a..fef9682a48345 100644 --- a/recipes/keychain/all/test_package/test_package.cpp +++ b/recipes/keychain/all/test_package/test_package.cpp @@ -1,4 +1,5 @@ #include +#include using namespace keychain; @@ -13,5 +14,7 @@ void never_called(Error &error) { int main() { Error error; + + std::cout << "Keychain Conan test_package\n"; return error.type == ErrorType::NoError ? 0 : 1; } diff --git a/recipes/keychain/config.yml b/recipes/keychain/config.yml index 7ed1f1b6fc695..307602a029f0f 100644 --- a/recipes/keychain/config.yml +++ b/recipes/keychain/config.yml @@ -1,3 +1,5 @@ versions: "1.2.0": folder: all + "1.2.1": + folder: all From 9dc1b55fc10ed0fd8433cf7ebafdd039e27628fb Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 4 Jul 2023 11:41:58 -0700 Subject: [PATCH 0746/4087] (#18320) libunwind: bump dep xz_utils https://github.com/conan-io/conan-center-index/pull/18319 --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index dd6ce3246217b..bf9a535448738 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if self.options.minidebuginfo: - self.requires("xz_utils/5.4.0") + self.requires("xz_utils/5.4.2") if self.options.zlibdebuginfo: self.requires("zlib/1.2.13") From ca5db98dbaba198110e72b86d6797a770c377ea2 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 4 Jul 2023 13:21:38 -0700 Subject: [PATCH 0747/4087] (#18319) sdl_image: bump dep sdl to latest patch --- 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 2bb32465a9dea..6844c7b49a2e5 100644 --- a/recipes/sdl_image/all/conanfile.py +++ b/recipes/sdl_image/all/conanfile.py @@ -79,7 +79,7 @@ def layout(self): def requirements(self): # Headers are exposed https://github.com/conan-io/conan-center-index/pull/16167#issuecomment-1508347351 - self.requires("sdl/2.26.1", transitive_headers=True) + self.requires("sdl/2.26.5", transitive_headers=True) if self.options.with_libtiff: self.requires("libtiff/4.4.0") if self.options.with_libjpeg: From 12343a2d28386ca69c7d4382bf371e569fbbbf74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 5 Jul 2023 07:01:52 +0200 Subject: [PATCH 0748/4087] (#18318) seadex-essentials: Bump versions, remove header option force --- recipes/seadex-essentials/all/conanfile.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/seadex-essentials/all/conanfile.py b/recipes/seadex-essentials/all/conanfile.py index e938a5f24cf68..a316b2670766b 100644 --- a/recipes/seadex-essentials/all/conanfile.py +++ b/recipes/seadex-essentials/all/conanfile.py @@ -39,7 +39,7 @@ def _compilers_minimum_version(self): "Visual Studio": "16", "msvc": "192", "apple-clang": "10" - } + } def config_options(self): if self.settings.os == "Windows": @@ -48,14 +48,12 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.options["fmt/*"].header_only = True - self.options["spdlog/*"].header_only = True def requirements(self): # Headers are exposed https://github.com/SeadexGmbH/essentials/blob/622a07dc1530f5668f5dde0ce18007d420c371cd/essentials/include/essentials/log/log_level.hpp#L15 self.requires("spdlog/1.11.0", transitive_headers=True) # Exposes headers and symbols https://github.com/SeadexGmbH/essentials/blob/622a07dc1530f5668f5dde0ce18007d420c371cd/essentials/include/essentials/type_wrapper.hpp#L282 - self.requires("fmt/9.1.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.0.0", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 8b236775944c2017586bc88a96455aa2ee494ff5 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 5 Jul 2023 17:22:27 +0900 Subject: [PATCH 0749/4087] (#18326) cjson: add version 1.7.16 --- recipes/cjson/all/conandata.yml | 3 +++ recipes/cjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cjson/all/conandata.yml b/recipes/cjson/all/conandata.yml index 397bb216165bb..3c51bd5b253a1 100644 --- a/recipes/cjson/all/conandata.yml +++ b/recipes/cjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.16": + url: "https://github.com/DaveGamble/cJSON/archive/v1.7.16.tar.gz" + sha256: "451131a92c55efc5457276807fc0c4c2c2707c9ee96ef90c47d68852d5384c6c" "1.7.15": url: "https://github.com/DaveGamble/cJSON/archive/v1.7.15.tar.gz" sha256: "5308fd4bd90cef7aa060558514de6a1a4a0819974a26e6ed13973c5f624c24b2" diff --git a/recipes/cjson/config.yml b/recipes/cjson/config.yml index 894ac0453b1d4..7d96cfac89098 100644 --- a/recipes/cjson/config.yml +++ b/recipes/cjson/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.16": + folder: all "1.7.15": folder: all "1.7.14": From c93b44ac739134a2c9fe2c6f775b6a5a669d0b1f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 11:03:26 +0200 Subject: [PATCH 0750/4087] (#18250) pprint: migrate to Conan v2 * pprint: migrate to Conan v2 * pprint: restore test_v1_package * pprint: add cmake_find_package_multi generator to test_v1_package --- recipes/pprint/all/conanfile.py | 73 +++++++++++-------- .../pprint/all/test_package/CMakeLists.txt | 7 +- recipes/pprint/all/test_package/conanfile.py | 21 ++++-- .../pprint/all/test_v1_package/CMakeLists.txt | 8 ++ .../pprint/all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 87 insertions(+), 39 deletions(-) create mode 100644 recipes/pprint/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pprint/all/test_v1_package/conanfile.py diff --git a/recipes/pprint/all/conanfile.py b/recipes/pprint/all/conanfile.py index bff4a1689bd94..364e5bce8ca73 100644 --- a/recipes/pprint/all/conanfile.py +++ b/recipes/pprint/all/conanfile.py @@ -1,48 +1,63 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 PprintConan(ConanFile): name = "pprint" - homepage = "https://github.com/p-ranav/pprint" - url = "https://github.com/conan-io/conan-center-index" description = "Pretty Printer for Modern C++" license = "MIT" - settings = "os", "compiler" - topics = ("conan", "pprint", "pretty", "printer") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/p-ranav/pprint" + topics = ("pretty", "printer", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 - def configure(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "Visual Studio": "15", + } - min_compiler_version = { - "gcc": 7, - "clang": 7, - "apple-clang": 10, - "Visual Studio": 15, - }.get(str(self.settings.compiler), None) + def layout(self): + basic_layout(self, src_folder="src") - if min_compiler_version: - if tools.Version(self.settings.compiler.version) < min_compiler_version: - raise ConanInvalidConfiguration("The compiler does not support c++17") - else: - self.output.warn("pprint needs a c++17 capable compiler") + 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): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("{}-{}".format(self.name, self.version), self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, dst="licenses") - self.copy(pattern="*.h", src=os.path.join(self._source_subfolder, "include"), dst="include") - self.copy(pattern="*.hpp", src=os.path.join(self._source_subfolder, "include"), dst="include") + 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, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/pprint/all/test_package/CMakeLists.txt b/recipes/pprint/all/test_package/CMakeLists.txt index 3572b806e9a79..58ce520a06b4f 100644 --- a/recipes/pprint/all/test_package/CMakeLists.txt +++ b/recipes/pprint/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(pprint REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE pprint::pprint) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/pprint/all/test_package/conanfile.py b/recipes/pprint/all/test_package/conanfile.py index bd7165a553cf4..e0e49c1e8d6b6 100644 --- a/recipes/pprint/all/test_package/conanfile.py +++ b/recipes/pprint/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", + 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/pprint/all/test_v1_package/CMakeLists.txt b/recipes/pprint/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pprint/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/pprint/all/test_v1_package/conanfile.py b/recipes/pprint/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/pprint/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) From 4092f5c010e0bd7e4b0f28fd97fee50b1c11b454 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 5 Jul 2023 11:22:11 +0200 Subject: [PATCH 0751/4087] (#18330) [bot] Update list of references (prod-v2/ListPackages) --- .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 3aa26dbe33c8a..786c38d030794 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -44,6 +44,7 @@ required_for_references: - asyncplusplus - audiofile - autoconf +- autoconf-archive - automake - avir - aws-c-cal @@ -187,6 +188,7 @@ required_for_references: - cuda-api-wrappers - cuda-kat - cute_headers +- cvplot - cwalk - cxxopts - cyclonedds @@ -214,6 +216,7 @@ required_for_references: - dragonbox - drflac - drmp3 +- drogon - drwav - duckdb - eabase @@ -352,6 +355,7 @@ required_for_references: - jwt-cpp - kainjow-mustache - kangaru +- keychain - khrplatform - kmod - ktx @@ -481,6 +485,7 @@ required_for_references: - llhttp - lodepng - logr +- loguru - lua - luau - lunasvg @@ -489,6 +494,7 @@ required_for_references: - lzo - m4 - magic_enum +- mailio - make - mariadb-connector-c - matchit @@ -723,6 +729,7 @@ required_for_references: - unordered_dense - unqlite - uriparser +- usockets - utf8proc - utfcpp - util-linux-libuuid From 53f12fa2c1ee87a5c79c29dbcebae4f33ddb85fd Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Wed, 5 Jul 2023 11:43:50 +0200 Subject: [PATCH 0752/4087] (#18327) benchmark: add version 1.8.1 --- recipes/benchmark/all/conandata.yml | 3 +++ recipes/benchmark/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/benchmark/all/conandata.yml b/recipes/benchmark/all/conandata.yml index b417e78a3f997..a1a67567fd9e5 100644 --- a/recipes/benchmark/all/conandata.yml +++ b/recipes/benchmark/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.1": + url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.1.tar.gz" + sha256: "e9ff65cecfed4f60c893a1e8a1ba94221fad3b27075f2f80f47eb424b0f8c9bd" "1.8.0": url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.0.tar.gz" sha256: "ea2e94c24ddf6594d15c711c06ccd4486434d9cf3eca954e2af8a20c88f9f172" diff --git a/recipes/benchmark/config.yml b/recipes/benchmark/config.yml index c75e2eaab25cc..fbf0c1dcfea43 100644 --- a/recipes/benchmark/config.yml +++ b/recipes/benchmark/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.1": + folder: all "1.8.0": folder: all "1.7.1": From 5d04c0bf09624e195fbcf7be9bc5738353bcdba2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 12:27:35 +0200 Subject: [PATCH 0753/4087] (#18237) snowhouse: migrate to Conan v2 * snowhouse: migrate to Conan v2 * snowhouse: restore test_v1_package * snowhouse: add cmake_find_package_multi generator to test_v1_package --- recipes/snowhouse/all/conanfile.py | 44 ++++++++++++++----- .../snowhouse/all/test_package/CMakeLists.txt | 9 ++-- .../snowhouse/all/test_package/conanfile.py | 21 ++++++--- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 17 +++++++ 5 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 recipes/snowhouse/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/snowhouse/all/test_v1_package/conanfile.py diff --git a/recipes/snowhouse/all/conanfile.py b/recipes/snowhouse/all/conanfile.py index 8bca8ddf11dc6..ec6ca8d607092 100644 --- a/recipes/snowhouse/all/conanfile.py +++ b/recipes/snowhouse/all/conanfile.py @@ -1,28 +1,50 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class SnowHouseConan(ConanFile): name = "snowhouse" description = "An assertion library for C++" - topics = ("assertion", "header-only") + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/banditcpp/snowhouse" - license = "BSL-1.0" + topics = ("assertion", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE_1_0.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE_1_0.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/snowhouse/all/test_package/CMakeLists.txt b/recipes/snowhouse/all/test_package/CMakeLists.txt index 33ae887aa6aea..2fd896601b32f 100644 --- a/recipes/snowhouse/all/test_package/CMakeLists.txt +++ b/recipes/snowhouse/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(snowhouse REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE snowhouse::snowhouse) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/snowhouse/all/test_package/conanfile.py b/recipes/snowhouse/all/test_package/conanfile.py index d4128b0450777..fae501d0afb9e 100644 --- a/recipes/snowhouse/all/test_package/conanfile.py +++ b/recipes/snowhouse/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" + 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/snowhouse/all/test_v1_package/CMakeLists.txt b/recipes/snowhouse/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/snowhouse/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/snowhouse/all/test_v1_package/conanfile.py b/recipes/snowhouse/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/snowhouse/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 e4cd5912efe6a52cfccbac5c89d5ab2f32644133 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 5 Jul 2023 20:11:59 +0900 Subject: [PATCH 0754/4087] (#18324) uvw: add version 3.2.0 --- recipes/uvw/all/conandata.yml | 3 +++ recipes/uvw/all/conanfile.py | 1 + recipes/uvw/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/uvw/all/conandata.yml b/recipes/uvw/all/conandata.yml index f854a4bf38927..2ce44b1f85239 100644 --- a/recipes/uvw/all/conandata.yml +++ b/recipes/uvw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.0": + url: "https://github.com/skypjack/uvw/archive/v3.2.0_libuv_v1.46.tar.gz" + sha256: "bd5aed741765950074b1ea2507291dce81e528abdf56c406991ad4a27d8d1714" "3.1.0": url: "https://github.com/skypjack/uvw/archive/v3.1.0_libuv_v1.45.tar.gz" sha256: "0a612bd243150fbbe1365cdaf48203d32061c1d14f93825a31876b183922f93b" diff --git a/recipes/uvw/all/conanfile.py b/recipes/uvw/all/conanfile.py index 80186b62e3cfa..af145be3d5ce2 100644 --- a/recipes/uvw/all/conanfile.py +++ b/recipes/uvw/all/conanfile.py @@ -38,6 +38,7 @@ def _compilers_minimum_version(self): @property def _required_libuv_version(self): return { + "3.2.0": "1.46.0", "3.1.0": "1.45.0", "2.12.1": "1.44.2", "2.11.0": "1.43.0", diff --git a/recipes/uvw/config.yml b/recipes/uvw/config.yml index e703f58ea9d08..f7ecad1e5c9ed 100644 --- a/recipes/uvw/config.yml +++ b/recipes/uvw/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.0": + folder: "all" "3.1.0": folder: "all" "2.12.1": From 0e755be4b4a3e547d7b53e2261bcfe071660c544 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 5 Jul 2023 14:23:19 +0200 Subject: [PATCH 0755/4087] (#18331) libtiff/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libtiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index f44b1722f8755..6305fc3fa4a6f 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -79,7 +79,7 @@ def requirements(self): if self.options.zstd: self.requires("zstd/1.5.5") if self.options.webp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") def validate(self): if self.options.libdeflate and not self.options.zlib: From 7e7286c7c13986c1636c0544e31639b6aa290c30 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 5 Jul 2023 22:30:48 +0900 Subject: [PATCH 0756/4087] (#18279) libcoro: add version 0.8 --- recipes/libcoro/all/conandata.yml | 16 +++++++++++++--- recipes/libcoro/all/conanfile.py | 18 ++++++++++++++---- ...b.patch => 0.7-0001-allow-shared-lib.patch} | 0 ...patch => 0.7-0002-disable-git-config.patch} | 0 ...s.patch => 0.7-0003-fix-dependencies.patch} | 0 .../patches/0.8-0001-allow-shared-lib.patch | 13 +++++++++++++ .../patches/0.8-0002-disable-git-config.patch | 18 ++++++++++++++++++ recipes/libcoro/config.yml | 2 ++ 8 files changed, 60 insertions(+), 7 deletions(-) rename recipes/libcoro/all/patches/{allow-shared-lib.patch => 0.7-0001-allow-shared-lib.patch} (100%) rename recipes/libcoro/all/patches/{disable-git-config.patch => 0.7-0002-disable-git-config.patch} (100%) rename recipes/libcoro/all/patches/{fix-dependencies.patch => 0.7-0003-fix-dependencies.patch} (100%) create mode 100644 recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch create mode 100644 recipes/libcoro/all/patches/0.8-0002-disable-git-config.patch diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index b59d551a8df2f..61258b10a8ddf 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,15 +1,25 @@ sources: + "0.8": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.8.tar.gz" + sha256: "09d8de39c9233d79c0dd1379c6826c636f63667f21001b66eb9b2080f6b270ad" "0.7": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.7.tar.gz" sha256: "ce1f3f1c4fa21b53d1cd195a29bd5a2313e53aa35637b402db04207d02316e51" patches: + "0.8": + - patch_file: "patches/0.8-0001-allow-shared-lib.patch" + patch_type: "conan" + patch_description: "Allow to build the library as a shared library" + - patch_file: "patches/0.8-0002-disable-git-config.patch" + patch_type: "conan" + patch_description: "Comment out invocation of git config command" "0.7": - - patch_file: "patches/allow-shared-lib.patch" + - patch_file: "patches/0.7-0001-allow-shared-lib.patch" patch_type: "conan" patch_description: "Allow to build the library as a shared library" - - patch_file: "patches/disable-git-config.patch" + - patch_file: "patches/0.7-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" - - patch_file: "patches/fix-dependencies.patch" + - patch_file: "patches/0.7-0003-fix-dependencies.patch" patch_type: "conan" patch_description: "Replace add_subdirectory dependencies with find_package" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index 2d097def986f0..ea05c701592dc 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -12,19 +12,21 @@ class LibcoroConan(ConanFile): name = "libcoro" description = "C++20 coroutine library" - homepage = "https://github.com/jbaldwin/libcoro" 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" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], + "with_networking": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_networking": True, } @property @@ -43,6 +45,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "0.8": + del self.options.with_networking def configure(self): if self.options.shared: @@ -52,8 +56,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/3.1.0", transitive_headers=True) - self.requires("c-ares/1.19.0", transitive_headers=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + self.requires("c-ares/1.19.1", transitive_headers=True) self.requires("tl-expected/1.1.0", transitive_headers=True) def validate(self): @@ -77,6 +81,9 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["LIBCORO_BUILD_TESTS"] = False tc.variables["LIBCORO_BUILD_EXAMPLES"] = False + if Version(self.version) >= "0.8": + tc.variables["LIBCORO_EXTERNAL_DEPENDENCIES"] = True + tc.variables["LIBCORO_FEATURE_NETWORKING"] = self.options.with_networking tc.generate() deps = CMakeDeps(self) deps.generate() @@ -96,6 +103,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "libcoro") self.cpp_info.set_property("cmake_target_name", "libcoro::libcoro") - self.cpp_info.libs = ["libcoro"] + if Version(self.version) >= "0.8": + self.cpp_info.libs = ["coro"] + else: + self.cpp_info.libs = ["libcoro"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/libcoro/all/patches/allow-shared-lib.patch b/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch similarity index 100% rename from recipes/libcoro/all/patches/allow-shared-lib.patch rename to recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch diff --git a/recipes/libcoro/all/patches/disable-git-config.patch b/recipes/libcoro/all/patches/0.7-0002-disable-git-config.patch similarity index 100% rename from recipes/libcoro/all/patches/disable-git-config.patch rename to recipes/libcoro/all/patches/0.7-0002-disable-git-config.patch diff --git a/recipes/libcoro/all/patches/fix-dependencies.patch b/recipes/libcoro/all/patches/0.7-0003-fix-dependencies.patch similarity index 100% rename from recipes/libcoro/all/patches/fix-dependencies.patch rename to recipes/libcoro/all/patches/0.7-0003-fix-dependencies.patch diff --git a/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch new file mode 100644 index 0000000000000..0481b258f7f9a --- /dev/null +++ b/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f37206b..8221a5d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -91,7 +91,7 @@ if(LIBCORO_FEATURE_NETWORKING) + ) + endif() + +-add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) ++add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) + set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) + target_include_directories(${PROJECT_NAME} PUBLIC inc) diff --git a/recipes/libcoro/all/patches/0.8-0002-disable-git-config.patch b/recipes/libcoro/all/patches/0.8-0002-disable-git-config.patch new file mode 100644 index 0000000000000..9996b0fa3402a --- /dev/null +++ b/recipes/libcoro/all/patches/0.8-0002-disable-git-config.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8de8174..4790572 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,13 +11,6 @@ if (NOT "$ENV{version}" STREQUAL "") + set(PROJECT_VERSION "$ENV{version}" CACHE INTERNAL "Copied from environment variable") + endif() + +-# Set the githooks directory to auto format and update the readme. +-message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") +-execute_process( +- COMMAND git config --local core.hooksPath .githooks +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +-) +- + option(LIBCORO_EXTERNAL_DEPENDENCIES "Use Cmake find_package to resolve dependencies instead of embedded libraries, Default=OFF." OFF) + option(LIBCORO_BUILD_TESTS "Build the tests, Default=ON." ON) + option(LIBCORO_CODE_COVERAGE "Enable code coverage, tests must also be enabled, Default=OFF" OFF) diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index 0536885a53045..a836136a32631 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,3 +1,5 @@ versions: + "0.8": + folder: all "0.7": folder: all From 88e6a093a06c6d5a31a4ddc61bb287ba99fc2ce9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 16:13:14 +0200 Subject: [PATCH 0757/4087] (#18244) thelink2012-any: migrate to Conan v2 * thelink2012-any: migrate to Conan v2 * thelink2012-any: restore test_v1_package --- recipes/thelink2012-any/all/conanfile.py | 49 +++++++++++++------ .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 22 ++++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 ++++++ 5 files changed, 75 insertions(+), 27 deletions(-) create mode 100644 recipes/thelink2012-any/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/thelink2012-any/all/test_v1_package/conanfile.py diff --git a/recipes/thelink2012-any/all/conanfile.py b/recipes/thelink2012-any/all/conanfile.py index 2ecc1a7f7608f..b909aaa407a58 100644 --- a/recipes/thelink2012-any/all/conanfile.py +++ b/recipes/thelink2012-any/all/conanfile.py @@ -1,37 +1,54 @@ -from conans import ConanFile, tools +# TODO: verify the Conan v2 migration +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" -required_conan_version = ">=1.33.0" class Thelink2012AnyConan(ConanFile): name = "thelink2012-any" - license = "BSL-1.0" description = "Implementation of std::experimental::any, including small object optimization, for C++11 compilers" - topics = ("any", "c++11", "data-structures") - homepage = "https://github.com/thelink2012/any" + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/thelink2012/any" + topics = ("any", "c++11", "data-structures", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - generators = "cmake" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, self._min_cppstd) 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 package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - self.copy("any.hpp", "include", self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "any.hpp", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "any") + self.cpp_info.set_property("cmake_target_name", "any::any") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "any" self.cpp_info.names["cmake_find_package_multi"] = "any" - self.cpp_info.set_property("cmake_target_name", "any::any") diff --git a/recipes/thelink2012-any/all/test_package/CMakeLists.txt b/recipes/thelink2012-any/all/test_package/CMakeLists.txt index 5e31011d1713d..6e9d1837691aa 100644 --- a/recipes/thelink2012-any/all/test_package/CMakeLists.txt +++ b/recipes/thelink2012-any/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(any CONFIG REQUIRED) +find_package(any REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} any::any) diff --git a/recipes/thelink2012-any/all/test_package/conanfile.py b/recipes/thelink2012-any/all/test_package/conanfile.py index 6b551939fbde3..fae501d0afb9e 100644 --- a/recipes/thelink2012-any/all/test_package/conanfile.py +++ b/recipes/thelink2012-any/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): + +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - 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/thelink2012-any/all/test_v1_package/CMakeLists.txt b/recipes/thelink2012-any/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/thelink2012-any/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/thelink2012-any/all/test_v1_package/conanfile.py b/recipes/thelink2012-any/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6b551939fbde3 --- /dev/null +++ b/recipes/thelink2012-any/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + +class TestConan(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 023538f60825de0ae4de7cddeb17216b2f2a7d5a Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Wed, 5 Jul 2023 16:43:11 +0200 Subject: [PATCH 0758/4087] (#18334) nanoflann: add version 1.5.0 --- recipes/nanoflann/all/conandata.yml | 3 +++ recipes/nanoflann/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nanoflann/all/conandata.yml b/recipes/nanoflann/all/conandata.yml index c3fd08f9f02f0..b6d2b6c2d459b 100644 --- a/recipes/nanoflann/all/conandata.yml +++ b/recipes/nanoflann/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/jlblancoc/nanoflann/archive/v1.5.0.tar.gz" + sha256: "89aecfef1a956ccba7e40f24561846d064f309bc547cc184af7f4426e42f8e65" "1.4.3": url: "https://github.com/jlblancoc/nanoflann/archive/v1.4.3.tar.gz" sha256: "cbcecf22bec528a8673a113ee9b0e134f91f1f96be57e913fa1f74e98e4449fa" diff --git a/recipes/nanoflann/config.yml b/recipes/nanoflann/config.yml index abdc53043545d..6332b5bdd9493 100644 --- a/recipes/nanoflann/config.yml +++ b/recipes/nanoflann/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: "all" "1.4.3": folder: "all" "1.4.2": From a7bc85676fd8bbab1ddd262383476cf4f858e496 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 17:17:09 +0200 Subject: [PATCH 0759/4087] (#18241) quaternions: migrate to Conan v2 * quaternions: migrate to Conan v2 * quaternions: restore test_v1_package * Update recipes/quaternions/all/test_v1_package/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/quaternions/all/conanfile.py | 54 ++++++++++++------- .../all/test_package/CMakeLists.txt | 9 ++-- .../quaternions/all/test_package/conanfile.py | 21 +++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 ++++++ 5 files changed, 80 insertions(+), 29 deletions(-) create mode 100644 recipes/quaternions/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/quaternions/all/test_v1_package/conanfile.py diff --git a/recipes/quaternions/all/conanfile.py b/recipes/quaternions/all/conanfile.py index 53d02dd9ca8a2..3270c603bde8d 100644 --- a/recipes/quaternions/all/conanfile.py +++ b/recipes/quaternions/all/conanfile.py @@ -1,36 +1,54 @@ import os -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, replace_in_file +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class QuaternionsConan(ConanFile): name = "quaternions" description = "A blazingly fast C++ library to work with quaternions." - topics = ("conan", "quaternions", "mathematics") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ferd36/quaternions" - license = "MIT" - settings = "compiler" + topics = ("mathematics", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 - def configure(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - url = self.conan_data["sources"][self.version]["url"] - extracted_dir = self.name + "-" + os.path.splitext(os.path.basename(url))[0] - os.rename(extracted_dir, self._source_subfolder) - tools.replace_in_file(os.path.join(self._source_subfolder, "include", "quaternion.h"), - "#include ", "") + get(self, **self.conan_data["sources"][self.version], strip_root=True) + replace_in_file(self, + os.path.join(self.source_folder, "include", "quaternion.h"), + "#include ", + "") def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/quaternions/all/test_package/CMakeLists.txt b/recipes/quaternions/all/test_package/CMakeLists.txt index 33ae887aa6aea..a5abaf06c8332 100644 --- a/recipes/quaternions/all/test_package/CMakeLists.txt +++ b/recipes/quaternions/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(quaternions REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE quaternions::quaternions) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/quaternions/all/test_package/conanfile.py b/recipes/quaternions/all/test_package/conanfile.py index ea57a464900be..fae501d0afb9e 100644 --- a/recipes/quaternions/all/test_package/conanfile.py +++ b/recipes/quaternions/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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/quaternions/all/test_v1_package/CMakeLists.txt b/recipes/quaternions/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/quaternions/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/quaternions/all/test_v1_package/conanfile.py b/recipes/quaternions/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..84ee68733e516 --- /dev/null +++ b/recipes/quaternions/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 99c0c1eeffcb931ff4b3f14c66bfb50c8d8c3cd9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 17:45:05 +0200 Subject: [PATCH 0760/4087] (#18204) p-ranav-glob: migrate to Conan v2 * p-ranav-glob: migrate to Conan v2 * p-ranav-glob: restore test_v1_package * p-ranav-glob: add cmake_find_package_multi generator to test_v1_package --- recipes/p-ranav-glob/all/conanfile.py | 55 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 22 ++++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 ++++++ 5 files changed, 77 insertions(+), 31 deletions(-) create mode 100644 recipes/p-ranav-glob/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/p-ranav-glob/all/test_v1_package/conanfile.py diff --git a/recipes/p-ranav-glob/all/conanfile.py b/recipes/p-ranav-glob/all/conanfile.py index 3db82dd1c8225..882ff198b6b6c 100644 --- a/recipes/p-ranav-glob/all/conanfile.py +++ b/recipes/p-ranav-glob/all/conanfile.py @@ -1,23 +1,26 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class PRanavGlobConan(ConanFile): name = "p-ranav-glob" + description = "Glob for C++17" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/p-ranav/glob" - description = "Glob for C++17" topics = ("c++17", "config", "filesystem", "header-only") - settings = "compiler" - no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _compilers_minimum_version(self): @@ -28,23 +31,33 @@ def _compilers_minimum_version(self): "apple-clang": "11", } - def configure(self): + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++17, which your compiler does not support.".format(self.name)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++17, which your compiler does not support.") else: - self.output.warn("{} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name)) - - def package_id(self): - self.info.header_only() + self.output.warning(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") 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 package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*", dst="include", src=os.path.join(self._source_subfolder, "single_include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "single_include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/p-ranav-glob/all/test_package/CMakeLists.txt b/recipes/p-ranav-glob/all/test_package/CMakeLists.txt index 481262167c9f5..5baf64aba53ee 100644 --- a/recipes/p-ranav-glob/all/test_package/CMakeLists.txt +++ b/recipes/p-ranav-glob/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(p-ranav-glob REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE p-ranav-glob::p-ranav-glob) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/p-ranav-glob/all/test_package/conanfile.py b/recipes/p-ranav-glob/all/test_package/conanfile.py index 4903f1a7e8fa0..ef5d7042163ec 100644 --- a/recipes/p-ranav-glob/all/test_package/conanfile.py +++ b/recipes/p-ranav-glob/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/p-ranav-glob/all/test_v1_package/CMakeLists.txt b/recipes/p-ranav-glob/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/p-ranav-glob/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/p-ranav-glob/all/test_v1_package/conanfile.py b/recipes/p-ranav-glob/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/p-ranav-glob/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2801ca8a483f44e78974ab3af48b36d1d9d24415 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 5 Jul 2023 18:02:25 +0200 Subject: [PATCH 0761/4087] (#18328) Bump/sdl image/all * sdl_image/all/: bump deps * sdl_image/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdl_image/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdl_image/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdl_image/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sdl_image/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/sdl_image/all/conanfile.py b/recipes/sdl_image/all/conanfile.py index 6844c7b49a2e5..6543a9f1cf350 100644 --- a/recipes/sdl_image/all/conanfile.py +++ b/recipes/sdl_image/all/conanfile.py @@ -81,13 +81,13 @@ def requirements(self): # Headers are exposed https://github.com/conan-io/conan-center-index/pull/16167#issuecomment-1508347351 self.requires("sdl/2.26.5", transitive_headers=True) if self.options.with_libtiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.with_libjpeg: self.requires("libjpeg/9e") if self.options.with_libpng: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_libwebp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") def validate(self): if self.options.shared and not self.dependencies["sdl"].options.shared: From ea91b616b6b8e66e0269605ded4cfa41f0b6ce5d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 18:43:56 +0200 Subject: [PATCH 0762/4087] (#18197) avir: add package_type * avir: add package_type * avir: restore test_v1_package --- recipes/avir/all/conanfile.py | 15 ++++++++------- recipes/avir/all/test_package/CMakeLists.txt | 2 +- recipes/avir/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/recipes/avir/all/conanfile.py b/recipes/avir/all/conanfile.py index 61093399842d4..d6b7ebc73045e 100644 --- a/recipes/avir/all/conanfile.py +++ b/recipes/avir/all/conanfile.py @@ -8,23 +8,24 @@ class AVIRConan(ConanFile): name = "avir" + description = "High-quality pro image resizing / scaling C++ library, image resize" license = "MIT" url = "https://github.com/conan-io/conan-center-index" - description = "High-quality pro image resizing / scaling C++ library, image resize" - topics = ("image-processing", "image-resizer", "lanczos", ) homepage = "https://github.com/avaneev/avir" + topics = ("image-processing", "image-resizer", "lanczos", "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], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/avir/all/test_package/CMakeLists.txt b/recipes/avir/all/test_package/CMakeLists.txt index 51fd0e87ec014..b82b306c393cb 100644 --- a/recipes/avir/all/test_package/CMakeLists.txt +++ b/recipes/avir/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(avir CONFIG REQUIRED) diff --git a/recipes/avir/all/test_v1_package/CMakeLists.txt b/recipes/avir/all/test_v1_package/CMakeLists.txt index b53aff65d290e..91630d79f4abb 100644 --- a/recipes/avir/all/test_v1_package/CMakeLists.txt +++ b/recipes/avir/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(avir CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE avir::avir) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 18b58bb528f76ee6c1c413748916217bf4115b4b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 19:04:31 +0200 Subject: [PATCH 0763/4087] (#18167) access_private: add package_type * access_private: add package_type * access_private: restore test_v1_package --- recipes/access_private/all/conanfile.py | 15 ++++++++------- .../all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/recipes/access_private/all/conanfile.py b/recipes/access_private/all/conanfile.py index da35dc6ea7e6e..f7bfa16e97f6c 100644 --- a/recipes/access_private/all/conanfile.py +++ b/recipes/access_private/all/conanfile.py @@ -11,12 +11,17 @@ class AccessPrivateConan(ConanFile): name = "access_private" description = "Access private members and statics of a C++ class" license = "MIT" - topics = ("access", "private", "header-only") - homepage = "https://github.com/martong/access_private" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/martong/access_private" + topics = ("access", "private", "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() @@ -24,12 +29,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/access_private/all/test_v1_package/CMakeLists.txt b/recipes/access_private/all/test_v1_package/CMakeLists.txt index 01b3a8050e773..91630d79f4abb 100644 --- a/recipes/access_private/all/test_v1_package/CMakeLists.txt +++ b/recipes/access_private/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(access_private REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE access_private::access_private) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From c4681f65d2f47a852054a9c5dfa77e31e2742778 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 6 Jul 2023 02:24:00 +0900 Subject: [PATCH 0764/4087] (#18154) platform.hashing: add version 0.5.5, support conan v2 * platform.hashing: add version 0.5.1, support conan v2 * remove cmake_verbose_makefile * support msvc * remove debug print * update 0.5.4 * use _MSC_VER instead of __MSVC__ * update 0.5.5 --- recipes/platform.hashing/all/conandata.yml | 19 ++-- recipes/platform.hashing/all/conanfile.py | 102 ++++++++++-------- .../all/test_package/CMakeLists.txt | 11 +- .../all/test_package/conanfile.py | 38 ++++--- recipes/platform.hashing/config.yml | 6 +- 5 files changed, 102 insertions(+), 74 deletions(-) diff --git a/recipes/platform.hashing/all/conandata.yml b/recipes/platform.hashing/all/conandata.yml index 82435a6d7e4a8..c156d1c289438 100644 --- a/recipes/platform.hashing/all/conandata.yml +++ b/recipes/platform.hashing/all/conandata.yml @@ -1,10 +1,13 @@ sources: - "0.2.0": - url: https://github.com/linksplatform/Hashing/archive/refs/tags/0.2.0.zip - sha256: 8e34a10d2768d0f2d9ba0cbb88ce193b32245c5a46f14f7ec860c9fddbe8f39f - "0.3.0": - url: https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.3.0.zip - sha256: 8f7d6d401eaec1a78d1f10bfa3783b31ac6189a6ea8edf1ef7f300c47c0e5cb1 + "0.5.5": + url: "https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.5.5.tar.gz" + sha256: "8155f1d0b18cfdad7b93f6c41aaabbe655c9f7ce6bfddb10eae86156cbff02cf" "0.4.0": - url: https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.4.0.zip - sha256: afb8a27a483f636515ca4289f2bfa80fbd37c8416631f0b3ff7001d17a054320 + url: "https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.4.0.zip" + sha256: "afb8a27a483f636515ca4289f2bfa80fbd37c8416631f0b3ff7001d17a054320" + "0.3.0": + url: "https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.3.0.zip" + sha256: "8f7d6d401eaec1a78d1f10bfa3783b31ac6189a6ea8edf1ef7f300c47c0e5cb1" + "0.2.0": + url: "https://github.com/linksplatform/Hashing/archive/refs/tags/0.2.0.zip" + sha256: "8e34a10d2768d0f2d9ba0cbb88ce193b32245c5a46f14f7ec860c9fddbe8f39f" diff --git a/recipes/platform.hashing/all/conanfile.py b/recipes/platform.hashing/all/conanfile.py index 7e465451b8a23..8e331fda1698f 100644 --- a/recipes/platform.hashing/all/conanfile.py +++ b/recipes/platform.hashing/all/conanfile.py @@ -1,91 +1,105 @@ from conan import ConanFile -try: - from conan.tools.build import check_min_cppstd -except ImportError: - from conans.tools import check_min_cppstd # FIXME : not in 1.49 -from conan.tools.files import get -from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class PlatformInterfacesConan(ConanFile): name = "platform.hashing" - license = "LGPL-3.0-only" - homepage = "https://github.com/linksplatform/Hashing" - url = "https://github.com/conan-io/conan-center-index" description = "platform.hashing is one of the libraries of the LinksPlatform modular framework, " \ "which contains std::hash specializations for:\n" \ " - trivial and standard-layout types\n" \ " - types constrained by std::ranges::range\n" \ " - std::any" - topics = ("linksplatform", "cpp20", "hashing", "any", "ranges", "native") - settings = "compiler", "arch" + license = "LGPL-3.0-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/linksplatform/Hashing" + topics = ("linksplatform", "cpp20", "hashing", "any", "ranges", "native", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _internal_cpp_subfolder(self): + return os.path.join(self.source_folder, "cpp", "Platform.Hashing") @property - def _internal_cpp_subfolder(self): - return os.path.join(self._source_subfolder, "cpp", "Platform.Hashing") + def _min_cppstd(self): + return 20 @property def _compilers_minimum_version(self): return { "gcc": "10", "Visual Studio": "16", + "msvc": "192", "clang": "14", "apple-clang": "14" } - @property - def _minimum_cpp_standard(self): - return 20 - - def validate(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + def layout(self): + basic_layout(self, src_folder="src") - if not minimum_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + def requirements(self): + if Version(self.version) >= "0.5.0": + self.requires("cpu_features/0.8.0", transitive_headers=True) - elif Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{}/{} requires c++{}, " - "which is not supported by {} {}.".format( - self.name, self.version, self._minimum_cpp_standard, self.settings.compiler, - self.settings.compiler.version)) + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.arch in ("x86", ): - raise ConanInvalidConfiguration("{} does not support arch={}".format(self.name, self.settings.arch)) - - def package_id(self): - self.info.header_only() + raise ConanInvalidConfiguration(f"{self.ref} does not support arch={self.settings.arch}") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("*.h", dst="include", src=self._internal_cpp_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + 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, "cpp", "Platform.Hashing") + ) def package_info(self): self.cpp_info.libdirs = [] - suggested_flags = "" - if self.settings.compiler != "Visual Studio": + self.cpp_info.bindirs = [] + if is_msvc(self): + if Version(self.version) >= "0.5.0": + arch_macros = { + "x86_64": "_X86_64_", + "armv8": "_AARCH_", + }.get(str(self.settings.arch), "") + self.cpp_info.defines.append(arch_macros) + else: suggested_flags = { "x86_64": "-march=haswell", "armv7": "-march=armv7", "armv8": "-march=armv8-a", }.get(str(self.settings.arch), "") - self.user_info.suggested_flags = suggested_flags + self.conf_info.define("user.platform_hashing:suggested_flags", suggested_flags) - if "-march" not in "{} {}".format(os.environ.get("CPPFLAGS", ""), os.environ.get("CXXFLAGS", "")): - self.output.warn("platform.hashing needs to have `-march=ARCH` added to CPPFLAGS/CXXFLAGS. " - "A suggestion is available in deps_user_info[{name}].suggested_flags.".format(name=self.name)) + if "-march" not in "{} {}".format(os.environ.get("CPPFLAGS", ""), os.environ.get("CXXFLAGS", "")): + self.output.warning("platform.hashing needs to have `-march=ARCH` added to CPPFLAGS/CXXFLAGS. " + f"A suggestion is available in dependencies[{self.name}].conf_info.get(\"user.platform_hashing:suggested_flags\")") diff --git a/recipes/platform.hashing/all/test_package/CMakeLists.txt b/recipes/platform.hashing/all/test_package/CMakeLists.txt index f3ca06da8ddf9..bbee5010aae03 100644 --- a/recipes/platform.hashing/all/test_package/CMakeLists.txt +++ b/recipes/platform.hashing/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(EXTRA_FLAGS "" CACHE STRING "Extra compiler flags") separate_arguments(EXTRA_FLAGS UNIX_COMMAND ${EXTRA_FLAGS}) @@ -7,9 +7,8 @@ if(EXTRA_FLAGS) add_compile_options(${EXTRA_FLAGS}) endif() -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(platform.hashing REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 20) +target_link_libraries(${PROJECT_NAME} PRIVATE platform.hashing::platform.hashing) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/platform.hashing/all/test_package/conanfile.py b/recipes/platform.hashing/all/test_package/conanfile.py index ef7d3547638fa..f5e26207308c7 100644 --- a/recipes/platform.hashing/all/test_package/conanfile.py +++ b/recipes/platform.hashing/all/test_package/conanfile.py @@ -1,28 +1,38 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.tools.microsoft import is_msvc import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" @property def _extra_flags(self): - return self.deps_user_info["platform.hashing"].suggested_flags + return self.dependencies["platform.hashing"].conf_info.get("user.platform_hashing:suggested_flags", check_type=str) - def build(self): - if self.settings.compiler != "Visual Studio": - if not self._extra_flags: - raise ConanException("Suggested flags are not available for os={}/arch={}".format(self.settings.os, self.settings.arch)) + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + if not is_msvc(self): + tc.variables["EXTRA_FLAGS"] = self._extra_flags + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): cmake = CMake(self) - if self.settings.compiler != "Visual Studio": - cmake.definitions["EXTRA_FLAGS"] = self._extra_flags 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): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/platform.hashing/config.yml b/recipes/platform.hashing/config.yml index ee25f0e067a38..ee55970fe3a0b 100644 --- a/recipes/platform.hashing/config.yml +++ b/recipes/platform.hashing/config.yml @@ -1,7 +1,9 @@ versions: - "0.2.0": + "0.5.5": + folder: all + "0.4.0": folder: all "0.3.0": folder: all - "0.4.0": + "0.2.0": folder: all From 84b084fd45fa83914ac98f919e0a763eab2c5e49 Mon Sep 17 00:00:00 2001 From: Artem Amirkhanov Date: Wed, 5 Jul 2023 20:03:34 +0200 Subject: [PATCH 0765/4087] (#18138) #18137 Fix compilation of breakpad with gcc-11 * #18137 Fix compilation of breakpad with gcc-11 This is patched in the upstream: https://chromium.googlesource.com/breakpad/breakpad/+/refs/heads/main/src/client/linux/handler/exception_handler.cc#144 * add transitive_headers=True to make v2 compat --------- Co-authored-by: czoido --- recipes/breakpad/all/conandata.yml | 1 + recipes/breakpad/all/conanfile.py | 2 +- .../all/patches/0003-Fix-gcc11-compilation.patch | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 recipes/breakpad/all/patches/0003-Fix-gcc11-compilation.patch diff --git a/recipes/breakpad/all/conandata.yml b/recipes/breakpad/all/conandata.yml index 0037ecfc65960..da051fdc78d51 100644 --- a/recipes/breakpad/all/conandata.yml +++ b/recipes/breakpad/all/conandata.yml @@ -6,3 +6,4 @@ patches: "cci.20210521": - patch_file: "patches/0001-Use_conans_lss.patch" - patch_file: "patches/0002-Remove-hardcoded-fpic.patch" + - patch_file: "patches/0003-Fix-gcc11-compilation.patch" diff --git a/recipes/breakpad/all/conanfile.py b/recipes/breakpad/all/conanfile.py index f4cdf5d9940e4..e9de3c6e8371e 100644 --- a/recipes/breakpad/all/conanfile.py +++ b/recipes/breakpad/all/conanfile.py @@ -31,7 +31,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("linux-syscall-support/cci.20200813") + self.requires("linux-syscall-support/cci.20200813", transitive_headers=True) def validate(self): if self.settings.os != "Linux": diff --git a/recipes/breakpad/all/patches/0003-Fix-gcc11-compilation.patch b/recipes/breakpad/all/patches/0003-Fix-gcc11-compilation.patch new file mode 100644 index 0000000000000..4ce40736676ee --- /dev/null +++ b/recipes/breakpad/all/patches/0003-Fix-gcc11-compilation.patch @@ -0,0 +1,11 @@ +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. From ac12eb52969c3cd85947216623f654c004005d1d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 20:23:26 +0200 Subject: [PATCH 0766/4087] (#18113) hippomocks: migrate to Conan v2 * hippomocks: migrate to Conan v2 * hippomocks: undo addition of cxx_std_11 in test_package No min cppstd check is done in the recipe, so this should not be necessary. * hippomocks: add check_min_cppstd * hippomocks: restore test_v1_package * hippomocks: add cmake_find_package_multi generator to test_v1_package --- recipes/hippomocks/all/conanfile.py | 58 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 7 +-- .../hippomocks/all/test_package/conanfile.py | 24 +++++--- recipes/hippomocks/all/test_package/main.cpp | 0 .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 85 insertions(+), 28 deletions(-) mode change 100755 => 100644 recipes/hippomocks/all/test_package/main.cpp create mode 100755 recipes/hippomocks/all/test_v1_package/CMakeLists.txt create mode 100755 recipes/hippomocks/all/test_v1_package/conanfile.py diff --git a/recipes/hippomocks/all/conanfile.py b/recipes/hippomocks/all/conanfile.py index 313e2b97cc5a4..8ecc6faeb6ba7 100755 --- a/recipes/hippomocks/all/conanfile.py +++ b/recipes/hippomocks/all/conanfile.py @@ -1,28 +1,54 @@ -from conans import ConanFile, ConanFile, tools -import os, glob +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class HippomocksConan(ConanFile): - name = 'hippomocks' - _libname = 'HippoMocks' - description = 'Single-header mocking framework.' - topics = ("conan", "hippomocks", "mock", "framework") + name = "hippomocks" + description = "Single-header mocking framework." + license = "LGPL-2.1" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dascandy/hippomocks" - license = 'LGPL-2.1' + topics = ("mock", "framework", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob("%s-*" % (self.name))[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _libname(self): + return "HippoMocks" def package(self): - self.copy('LICENSE', dst='licenses', src=self._source_subfolder) - self.copy('*.h', dst=os.path.join('include', self._libname), src=os.path.join(self._source_subfolder, self._libname)) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include", self._libname), + src=os.path.join(self.source_folder, self._libname)) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/hippomocks/all/test_package/CMakeLists.txt b/recipes/hippomocks/all/test_package/CMakeLists.txt index aff8268476df7..2e78c73ea8082 100755 --- a/recipes/hippomocks/all/test_package/CMakeLists.txt +++ b/recipes/hippomocks/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(hippomocks REQUIRED) +find_package(hippomocks REQUIRED CONFIG) add_executable(${PROJECT_NAME} main.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE hippomocks::hippomocks) diff --git a/recipes/hippomocks/all/test_package/conanfile.py b/recipes/hippomocks/all/test_package/conanfile.py index e065617c053bc..ef5d7042163ec 100755 --- a/recipes/hippomocks/all/test_package/conanfile.py +++ b/recipes/hippomocks/all/test_package/conanfile.py @@ -1,16 +1,26 @@ -from conans import ConanFile, CMake, tools, RunEnvironment +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" + 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() + 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/hippomocks/all/test_package/main.cpp b/recipes/hippomocks/all/test_package/main.cpp old mode 100755 new mode 100644 diff --git a/recipes/hippomocks/all/test_v1_package/CMakeLists.txt b/recipes/hippomocks/all/test_v1_package/CMakeLists.txt new file mode 100755 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/hippomocks/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/hippomocks/all/test_v1_package/conanfile.py b/recipes/hippomocks/all/test_v1_package/conanfile.py new file mode 100755 index 0000000000000..121b7b9615044 --- /dev/null +++ b/recipes/hippomocks/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools, RunEnvironment +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) From 61db4ace878e7cb7b11e21676dd6fdf1ce8ad1c0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 5 Jul 2023 20:43:22 +0200 Subject: [PATCH 0767/4087] (#18111) jpcre2: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * jpcre2: migrate to Conan v2 * Update recipes/jpcre2/all/conanfile.py * jpcre2: undo addition of cxx_std_11 in test_package * jpcre2: restore test_v1_package * jpcre2: add cmake_find_package_multi generator to test_v1_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/jpcre2/all/conanfile.py | 43 ++++++++++++------- .../jpcre2/all/test_package/CMakeLists.txt | 9 ++-- recipes/jpcre2/all/test_package/conanfile.py | 21 ++++++--- .../jpcre2/all/test_package/test_package.cpp | 6 +-- .../jpcre2/all/test_v1_package/CMakeLists.txt | 8 ++++ .../jpcre2/all/test_v1_package/conanfile.py | 17 ++++++++ 6 files changed, 72 insertions(+), 32 deletions(-) create mode 100644 recipes/jpcre2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jpcre2/all/test_v1_package/conanfile.py diff --git a/recipes/jpcre2/all/conanfile.py b/recipes/jpcre2/all/conanfile.py index f0f2f817d89da..537216e3b272a 100644 --- a/recipes/jpcre2/all/conanfile.py +++ b/recipes/jpcre2/all/conanfile.py @@ -1,33 +1,44 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class Jpcre2Conan(ConanFile): name = "jpcre2" - homepage = "https://github.com/jpcre2/jpcre2" description = "Header-only C++ wrapper for PCRE2 library." - topics = ("regex", "pcre2", "header-only", "single-header") - 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/jpcre2/jpcre2" + topics = ("regex", "pcre2", "header-only", "single-header") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("pcre2/10.37") + self.requires("pcre2/10.42") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("jpcre2.hpp", dst="include", src=os.path.join(self._source_subfolder, "src")) - - def package_id(self): - self.info.header_only() + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "jpcre2.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "src")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/jpcre2/all/test_package/CMakeLists.txt b/recipes/jpcre2/all/test_package/CMakeLists.txt index c2f7a55ce01f3..dd0af07a2c068 100644 --- a/recipes/jpcre2/all/test_package/CMakeLists.txt +++ b/recipes/jpcre2/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(jpcre2 REQUIRED) +find_package(jpcre2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jpcre2::jpcre2) diff --git a/recipes/jpcre2/all/test_package/conanfile.py b/recipes/jpcre2/all/test_package/conanfile.py index 3da371b660e0a..fae501d0afb9e 100644 --- a/recipes/jpcre2/all/test_package/conanfile.py +++ b/recipes/jpcre2/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" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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/jpcre2/all/test_package/test_package.cpp b/recipes/jpcre2/all/test_package/test_package.cpp index dbaa3accd96c7..a1ec58eee8bf5 100644 --- a/recipes/jpcre2/all/test_package/test_package.cpp +++ b/recipes/jpcre2/all/test_package/test_package.cpp @@ -2,12 +2,10 @@ typedef jpcre2::select jp; -int main(int, char**) -{ +int main(int, char **) { jp::Regex re; re.setPattern("Hello (\\S+?)").compile(); - if (!re.match("Hello conan-center-index")) - { + if (!re.match("Hello conan-center-index")) { return 1; } diff --git a/recipes/jpcre2/all/test_v1_package/CMakeLists.txt b/recipes/jpcre2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/jpcre2/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/jpcre2/all/test_v1_package/conanfile.py b/recipes/jpcre2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/jpcre2/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 cc94de3dd11c12bc6a3789478d5af326e520420c Mon Sep 17 00:00:00 2001 From: William Behrens <35979547+wbehrens-on-gh@users.noreply.github.com> Date: Wed, 5 Jul 2023 14:02:57 -0500 Subject: [PATCH 0768/4087] (#18337) opencv: bump libwebp version --- recipes/opencv/4.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index dc9fe5f7a71d2..2e5fdb328a805 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -207,7 +207,7 @@ def requirements(self): if self.options.with_ipp == "intel-ipp": self.requires("intel-ipp/2020") if self.options.with_webp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") if self.options.get_safe("contrib_freetype"): self.requires("freetype/2.12.1") self.requires("harfbuzz/6.0.0") From 0cf63f43ed89ee0fc4514942c5ba8f27a5118fcd Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 6 Jul 2023 04:43:08 +0900 Subject: [PATCH 0769/4087] (#18339) imgui: add version 1.89.7, 1.89.7-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 58f313ed6c1fa..82db7f4c7e4b5 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "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" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index d180a9a8ca900..737cb8b3dbc2c 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.89.7": + folder: all + "1.89.7-docking": + folder: all "1.89.5": folder: all "1.89.4": From d3b7ea566642c028d470250a701fe52cc731adf5 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 5 Jul 2023 22:24:49 +0200 Subject: [PATCH 0770/4087] (#18335) [tclap] Move to use original repository for downloads * Use original repository for downloads Signed-off-by: Uilian Ries * add test v1 package Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/tclap/all/conandata.yml | 13 ++++---- recipes/tclap/all/conanfile.py | 33 ++++++++++--------- recipes/tclap/all/test_package/CMakeLists.txt | 7 ++-- recipes/tclap/all/test_package/conanfile.py | 24 ++++++++++---- .../{test.cpp => test_package.cpp} | 0 .../tclap/all/test_v1_package/CMakeLists.txt | 8 +++++ .../tclap/all/test_v1_package/conanfile.py | 17 ++++++++++ 7 files changed, 70 insertions(+), 32 deletions(-) rename recipes/tclap/all/test_package/{test.cpp => test_package.cpp} (100%) create mode 100644 recipes/tclap/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tclap/all/test_v1_package/conanfile.py diff --git a/recipes/tclap/all/conandata.yml b/recipes/tclap/all/conandata.yml index f7a05c00a83b7..21dfdafb52e1c 100644 --- a/recipes/tclap/all/conandata.yml +++ b/recipes/tclap/all/conandata.yml @@ -1,10 +1,11 @@ +# INFO: Moved from a fork to the original repository sources: "1.2.5": - url: "https://github.com/xguerin/tclap/archive/v1.2.5.tar.gz" - sha256: "a475fc46d82092c5d244f6ca8b0d2c0010fcb2c41936afde10a9c950f42eb95f" + url: "https://github.com/mirror/tclap/archive/refs/tags/v1.2.5.tar.gz" + sha256: "7e87d13734076fa4f626f6144ce9a02717198b3f054341a6886e2107b048b235" "1.2.4": - url: "https://github.com/xguerin/tclap/archive/v1.2.4.tar.gz" - sha256: "7363f8f571e6e733b269c4b4e9c18f392d3cd7240d39a379d95de5a4c4bdc47f" + url: "https://sourceforge.net/projects/tclap/files/tclap-1.2.4.tar.gz" + sha256: "634c5b59dbb1ccbc9d6a5f6de494a257e29a3f59dcb6fc30445ff39b45188574" "1.2.3": - sha256: ccccd3471776f3198bb360aa6c09a1cd527d18b44360ff4d2b8356cdf984e980 - url: https://github.com/xguerin/tclap/archive/v1.2.3.tar.gz + url: "https://sourceforge.net/projects/tclap/files/tclap-1.2.3.tar.gz" + sha256: "19e7db5281540f154348770bc3a7484575f4f549aef8e00aabcc94b395f773c9" diff --git a/recipes/tclap/all/conanfile.py b/recipes/tclap/all/conanfile.py index 7eaf320075187..8b33301f47d32 100644 --- a/recipes/tclap/all/conanfile.py +++ b/recipes/tclap/all/conanfile.py @@ -1,30 +1,33 @@ -from conans import ConanFile, tools - +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout import os + class TclapConan(ConanFile): name = "tclap" license = "MIT" - homepage = "http://github.com/xguerin/tclap" + homepage = "https://sourceforge.net/projects/tclap/" url = "https://github.com/conan-io/conan-center-index" description = "Templatized Command Line Argument Parser" - topics = ("c++", "commandline parser") + topics = ("parser", "command-line", "header-only") + settings = "os", "compiler", "build_type", "arch" + package_type = "header-library" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - self.copy(pattern="*", src=os.path.join(self._source_subfolder, "include"), dst="include", keep_path=True) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.names["pkg_config"] = "tclap" - - def package_id(self): - self.info.header_only() + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/tclap/all/test_package/CMakeLists.txt b/recipes/tclap/all/test_package/CMakeLists.txt index 943ae4571dee7..abb2293e73c6e 100644 --- a/recipes/tclap/all/test_package/CMakeLists.txt +++ b/recipes/tclap/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(tclap REQUIRED CONFIG) -add_executable(test_package test.cpp) -target_link_libraries(test_package CONAN_PKG::tclap) +add_executable(test_package test_package.cpp) +target_link_libraries(test_package tclap::tclap) diff --git a/recipes/tclap/all/test_package/conanfile.py b/recipes/tclap/all/test_package/conanfile.py index 78a3d05a29256..3a91c9439218e 100644 --- a/recipes/tclap/all/test_package/conanfile.py +++ b/recipes/tclap/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestTclapConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake" + +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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tclap/all/test_package/test.cpp b/recipes/tclap/all/test_package/test_package.cpp similarity index 100% rename from recipes/tclap/all/test_package/test.cpp rename to recipes/tclap/all/test_package/test_package.cpp diff --git a/recipes/tclap/all/test_v1_package/CMakeLists.txt b/recipes/tclap/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/tclap/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tclap/all/test_v1_package/conanfile.py b/recipes/tclap/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/tclap/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 81e72f470875bcf4a56cca1ed4d28b50d1c591f6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 5 Jul 2023 22:44:28 +0200 Subject: [PATCH 0771/4087] (#18329) Bump/libcurl/all * libcurl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libcurl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libcurl/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 0e354bcda9e97..6fc552c1f2f77 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -183,11 +183,11 @@ def requirements(self): if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") elif self.options.with_ssl == "wolfssl": - self.requires("wolfssl/5.5.1") + self.requires("wolfssl/5.6.3") if self.options.with_nghttp2: self.requires("libnghttp2/1.54.0") if self.options.with_libssh2: - self.requires("libssh2/1.10.0") + self.requires("libssh2/1.11.0") if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.with_brotli: From a35befefcfea045643f24bf631e2824f4d417702 Mon Sep 17 00:00:00 2001 From: fcorso2016 <35567462+fcorso2016@users.noreply.github.com> Date: Wed, 5 Jul 2023 17:44:18 -0400 Subject: [PATCH 0772/4087] (#17881) Whisper cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Created a basic package for whisper * Added the current beta version to the config * Started the basics of a test package for whisper * Switched sample audio file * Don't read in any files outside of the package resources * Add pthreads to the linux build of the tests * Bump the minimum gcc version the the highest that built * Second pass at getting pthreads set on linux * Let's try this instead * Resolved typo in the if statement * Add the pthread argument * Check it this way * Literally stole this from the whisper example * Add the flag unconditionally * Added a bunch more library options * Add the correct apple system libraries * Fixed syntax error * Fixed option name typo * Fixed bad config settings * Fixed pathing for the shared libraries on MSVC builds * Removed unused imports * Pinned requirements to fixed versions * Fixed issues with libraries not actually getting pulled in * Removed SDL2 as I can't figure out what it does * Propertly configured pthread * Removed unneeded changes * Properly append the system libraries * Use parentheses instead of subscripts * Add missing libraries * Applying Conan patches instead of replacing in file * Added package type * Useless pthread flags * Removed package_info from test's conanfile --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Francisco Ramirez de Anton --- recipes/whisper-cpp/all/conandata.yml | 12 ++ recipes/whisper-cpp/all/conanfile.py | 156 ++++++++++++++++++ .../1.4.2-0001-find_package_openblas.patch | 25 +++ .../all/test_package/CMakeLists.txt | 14 ++ .../whisper-cpp/all/test_package/conanfile.py | 28 ++++ .../all/test_package/test_package.cpp | 17 ++ recipes/whisper-cpp/config.yml | 5 + 7 files changed, 257 insertions(+) create mode 100644 recipes/whisper-cpp/all/conandata.yml create mode 100644 recipes/whisper-cpp/all/conanfile.py create mode 100644 recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch create mode 100644 recipes/whisper-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/whisper-cpp/all/test_package/conanfile.py create mode 100644 recipes/whisper-cpp/all/test_package/test_package.cpp create mode 100644 recipes/whisper-cpp/config.yml diff --git a/recipes/whisper-cpp/all/conandata.yml b/recipes/whisper-cpp/all/conandata.yml new file mode 100644 index 0000000000000..8d22eb9400cec --- /dev/null +++ b/recipes/whisper-cpp/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "1.2.1": + url: "https://github.com/ggerganov/whisper.cpp/archive/ad1389003d3f8bd47b8ca7d4c21b4764cc3844fc.tar.gz" + sha256: "e1459ddfe45430b68a1951e4e071478180a3a100a68c0d54f78d113c735e6363" + "1.4.2": + url: "https://github.com/ggerganov/whisper.cpp/archive/a5defbc1b98bea0f070331ce1e8b62d947b0443d.tar.gz" + sha256: "6dd0690b084269b22b1b749103b047e6d45d7b910d7bc9587085ce057dca5431" +patches: + "1.4.2": + - patch_file: "patches/1.4.2-0001-find_package_openblas.patch" + patch_description: "Fix OpenBlas cmake target name" + patch_type: "conan" diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py new file mode 100644 index 0000000000000..bb939dac3e50e --- /dev/null +++ b/recipes/whisper-cpp/all/conanfile.py @@ -0,0 +1,156 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class WhisperCppConan(ConanFile): + name = "whisper-cpp" + description = "High-performance inference of OpenAI's Whisper automatic speech recognition (ASR) model" + topics = ("whisper", "asr") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ggerganov/whisper.cpp" + license = "MIT" + settings = "os", "arch", "compiler", "build_type" + options = {"shared": [True, False], "fPIC": [True, False], "sanitize_thread": [True, False], + "sanitize_address": [True, False], "sanitize_undefined": [True, False], + "no_avx": [True, False], "no_avx2": [True, False], "no_fma": [True, False], "no_f16c": [True, False], + "no_accelerate": [True, False], "with_coreml": [True, False], "coreml_allow_fallback": [True, False], + "with_blas": [True, False]} + default_options = {"shared": False, "fPIC": True, "sanitize_thread": False, + "sanitize_address": False, "sanitize_undefined": False, + "no_avx": False, "no_avx2": False, "no_fma": False, "no_f16c": False, + "no_accelerate": False, "with_coreml": False, "coreml_allow_fallback": False, + "with_blas": False} + package_type = "library" + + @property + def _min_cppstd(self): + return "14" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "9", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + + def config_options(self): + if is_apple_os(self): + del self.options.with_blas + else: + del self.options.no_accelerate + del self.options.with_coreml + del self.options.coreml_allow_fallback + + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + if is_apple_os(self): + if not self.options.with_coreml: + self.options.rm_safe("coreml_allow_fallback") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def requirements(self): + if not is_apple_os(self): + if self.options.with_blas: + self.requires("openblas/0.3.20") + + def layout(self): + cmake_layout(self, src_folder="src") + + def export_sources(self): + export_conandata_patches(self) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + + tc = CMakeToolchain(self) + tc.variables["WHISPER_BUILD_TESTS"] = False + tc.variables["WHISPER_BUILD_EXAMPLES"] = False + + if self.options.shared: + tc.variables["BUILD_SHARED_LIBS"] = True + if self.options.sanitize_thread: + tc.variables["WHISPER_SANITIZE_THREAD"] = True + if self.options.sanitize_address: + tc.variables["WHISPER_SANITIZE_ADDRESS"] = True + if self.options.sanitize_undefined: + tc.variables["WHISPER_SANITIZE_UNDEFINED"] = True + if self.options.no_avx: + tc.variables["WHISPER_NO_AVX"] = True + if self.options.no_avx2: + tc.variables["WHISPER_NO_AVX2"] = True + if self.options.no_fma: + tc.variables["WHISPER_NO_FMA"] = True + if self.options.no_f16c: + tc.variables["WHISPER_NO_F16C"] = True + + if is_apple_os(self): + if self.options.no_accelerate: + tc.variables["WHISPER_NO_ACCELERATE"] = True + if self.options.with_coreml: + tc.variables["WHISPER_COREML"] = True + if self.options.coreml_allow_fallback: + tc.variables["WHISPER_COREML_ALLOW_FALLBACK"] = True + else: + if self.options.with_blas: + if Version(self.version) >= "1.4.2": + tc.variables["WHISPER_OPENBLAS"] = True + else: + tc.variables["WHISPER_SUPPORT_OPENBLAS"] = True + + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + copy(self, "*", os.path.join(self.source_folder, "models"), os.path.join(self.package_folder, "res", "models")) + + def package_info(self): + self.cpp_info.libs = ["whisper"] + self.cpp_info.resdirs = ["res"] + self.cpp_info.libdirs = ["lib", "lib/static"] + + if is_apple_os(self): + if not self.options.no_accelerate: + self.cpp_info.frameworks.append("Accelerate") + if self.options.with_coreml: + self.cpp_info.frameworks.append("CoreML") + elif self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) diff --git a/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch b/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch new file mode 100644 index 0000000000000..52b554a4dff49 --- /dev/null +++ b/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 92b5d0c..b0c2c86 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -127,17 +127,9 @@ if (APPLE) + endif() + + if (WHISPER_OPENBLAS) +- find_library(OPENBLAS_LIB +- NAMES openblas libopenblas +- ) +- if (OPENBLAS_LIB) +- message(STATUS "OpenBLAS found") +- +- set(WHISPER_EXTRA_LIBS ${WHISPER_EXTRA_LIBS} ${OPENBLAS_LIB}) +- set(WHISPER_EXTRA_FLAGS ${WHISPER_EXTRA_FLAGS} -DGGML_USE_OPENBLAS) +- else() +- message(WARNING "OpenBLAS not found") +- endif() ++ find_package(OpenBLAS REQUIRED CONFIG) ++ set(WHISPER_EXTRA_LIBS ${WHISPER_EXTRA_LIBS} OpenBLAS::OpenBLAS) ++ set(WHISPER_EXTRA_FLAGS ${WHISPER_EXTRA_FLAGS} -DGGML_USE_OPENBLAS) + endif() + + if (WHISPER_CUBLAS) diff --git a/recipes/whisper-cpp/all/test_package/CMakeLists.txt b/recipes/whisper-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6a90512af2d73 --- /dev/null +++ b/recipes/whisper-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) # if the project uses c++ + +find_package(whisper-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE whisper-cpp::whisper-cpp) + + +add_custom_command(TARGET test_package POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${whisper-cpp_INCLUDE_DIR}/../res/models + ${CMAKE_CURRENT_BINARY_DIR}/models) diff --git a/recipes/whisper-cpp/all/test_package/conanfile.py b/recipes/whisper-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..7d2de09164073 --- /dev/null +++ b/recipes/whisper-cpp/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + + +# 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/whisper-cpp/all/test_package/test_package.cpp b/recipes/whisper-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..1bc036b7b08b7 --- /dev/null +++ b/recipes/whisper-cpp/all/test_package/test_package.cpp @@ -0,0 +1,17 @@ +#include +#include +#include +#include "whisper.h" + + +int main() { + auto context = std::unique_ptr( + whisper_init_from_file("models/for-tests-ggml-base.en.bin"), &whisper_free); + + if (context == nullptr) { + std::cout << "Failed to initialize whisper context!" << std::endl; + return 3; + } + + return EXIT_SUCCESS; +} diff --git a/recipes/whisper-cpp/config.yml b/recipes/whisper-cpp/config.yml new file mode 100644 index 0000000000000..df53037008d38 --- /dev/null +++ b/recipes/whisper-cpp/config.yml @@ -0,0 +1,5 @@ +versions: + "1.2.1": + folder: "all" + "1.4.2": + folder: "all" From b0685b2b60f7fee71cab6dcc9c1103f8a5bb4bf6 Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Thu, 6 Jul 2023 00:22:31 +0200 Subject: [PATCH 0773/4087] (#18332) cppcheck: Add version 2.11.1 * Update conandata.yml * Update config.yml * Update conandata.yml * disable dmake with option --- recipes/cppcheck/all/conandata.yml | 7 +++++++ recipes/cppcheck/all/conanfile.py | 3 +++ recipes/cppcheck/config.yml | 2 ++ 3 files changed, 12 insertions(+) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index f9dabdc5e5fa6..35bee8612638b 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.1": + url: "https://github.com/danmar/cppcheck/archive/2.11.1.tar.gz" + sha256: "fef6ef868d562d49136f158e1d0f7a38237e7e1c0a91d9189bdd465f1fe54316" "2.10.3": url: "https://github.com/danmar/cppcheck/archive/2.10.3.tar.gz" sha256: "8aae5e116daeaaf5d19f3efa61b91c06f161cb97412a1d1af6e1e20686e48967" @@ -15,6 +18,10 @@ sources: url: "https://github.com/danmar/cppcheck/archive/2.8.2.tar.gz" sha256: "30ba99ab54089c44b83f02e2453da046a7edff5237950d4A0eb1eba4afcb4f45" patches: + "2.11.1": + - patch_file: "patches/0003-pcre-debuglib-name.patch" + patch_description: "Consider the Debug suffix for Windows" + patch_type: "portability" "2.10.3": - patch_file: "patches/0001-cli-remove-dmake-cmake-2.10.patch" patch_description: "Remove dmake tool from target ALL" diff --git a/recipes/cppcheck/all/conanfile.py b/recipes/cppcheck/all/conanfile.py index 734ffc6f84fd2..fa5b72926399e 100644 --- a/recipes/cppcheck/all/conanfile.py +++ b/recipes/cppcheck/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.scm import Version import os required_conan_version = ">=1.52.0" @@ -36,6 +37,8 @@ def generate(self): tc.variables["HAVE_RULES"] = self.options.get_safe("have_rules", False) tc.variables["USE_MATCHCOMPILER"] = "Auto" tc.variables["ENABLE_OSS_FUZZ"] = False + if Version(self.version) >= "2.11.0": + tc.variables["DISABLE_DMAKE"] = True tc.variables["FILESDIR"] = "bin" tc.generate() diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 77ce70296b493..6325a54f72873 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.1": + folder: all "2.10.3": folder: all "2.10": From 0cbded7fd5020364d304d15f15dabdc6ff5ba5da Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 6 Jul 2023 08:04:08 +0900 Subject: [PATCH 0774/4087] (#17868) maven: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * maven: add recipe * update topics * add resdirs * revert resdirs * revert copy files list --------- Co-authored-by: Rubén Rincón Blanco --- recipes/maven/all/conandata.yml | 4 +++ recipes/maven/all/conanfile.py | 40 +++++++++++++++++++++ recipes/maven/all/test_package/conanfile.py | 15 ++++++++ recipes/maven/config.yml | 3 ++ 4 files changed, 62 insertions(+) create mode 100644 recipes/maven/all/conandata.yml create mode 100644 recipes/maven/all/conanfile.py create mode 100644 recipes/maven/all/test_package/conanfile.py create mode 100644 recipes/maven/config.yml diff --git a/recipes/maven/all/conandata.yml b/recipes/maven/all/conandata.yml new file mode 100644 index 0000000000000..7cdcaeb46d6b1 --- /dev/null +++ b/recipes/maven/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.9.2": + url: "https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz" + sha256: "809ef3220c6d179195c06c324cb9a6d34d8ecba566c5cfd8eb83167bc034117d" diff --git a/recipes/maven/all/conanfile.py b/recipes/maven/all/conanfile.py new file mode 100644 index 0000000000000..f1f95efee4fb1 --- /dev/null +++ b/recipes/maven/all/conanfile.py @@ -0,0 +1,40 @@ +from conan import ConanFile +from conan.tools.files import copy, get +import os + +required_conan_version = ">=1.47.0" + +class MavenConan(ConanFile): + name = "maven" + description = "Apache Maven is a software project management and comprehension tool." + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://maven.apache.org/" + topics = ("build", "project management") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + pass + + def requirements(self): + self.requires("zulu-openjdk/11.0.15") + + def package_id(self): + del self.info.settings.arch + del self.info.settings.compiler + del self.info.settings.build_type + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + for target in ("bin", "boot", "conf", "lib"): + copy(self, pattern="*", dst=os.path.join(self.package_folder, target), src=os.path.join(self.source_folder, target)) + + def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] diff --git a/recipes/maven/all/test_package/conanfile.py b/recipes/maven/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8a44299cfabc6 --- /dev/null +++ b/recipes/maven/all/test_package/conanfile.py @@ -0,0 +1,15 @@ +from conan import ConanFile +from conan.tools.build import can_run + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + if can_run(self): + self.run("mvn --version") diff --git a/recipes/maven/config.yml b/recipes/maven/config.yml new file mode 100644 index 0000000000000..2f82b90ebcf02 --- /dev/null +++ b/recipes/maven/config.yml @@ -0,0 +1,3 @@ +versions: + "3.9.2": + folder: all From da1a269a4d4b140312b54a780cfad860a43f49fc Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Wed, 5 Jul 2023 16:21:59 -0700 Subject: [PATCH 0775/4087] (#18358) freetype: bump dep libpng --- recipes/freetype/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/freetype/all/conanfile.py b/recipes/freetype/all/conanfile.py index 907eedb701583..2d1c5c126ce10 100644 --- a/recipes/freetype/all/conanfile.py +++ b/recipes/freetype/all/conanfile.py @@ -64,7 +64,7 @@ def layout(self): def requirements(self): if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.with_bzip2: From e779f52b52aa8eb4cbc392e2c24cde751bc317c1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 01:42:33 +0200 Subject: [PATCH 0776/4087] (#18349) pranav-csv2: migrate to Conan v2 * pranav-csv2: migrate to Conan v2 * pranav-csv2: restore test_v1_package --- recipes/pranav-csv2/all/conanfile.py | 114 ++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +- .../pranav-csv2/all/test_package/conanfile.py | 22 +++- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 16 +++ 6 files changed, 109 insertions(+), 62 deletions(-) create mode 100644 recipes/pranav-csv2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pranav-csv2/all/test_v1_package/conanfile.py diff --git a/recipes/pranav-csv2/all/conanfile.py b/recipes/pranav-csv2/all/conanfile.py index f73a81dd87306..ce5e7775c6355 100644 --- a/recipes/pranav-csv2/all/conanfile.py +++ b/recipes/pranav-csv2/all/conanfile.py @@ -1,100 +1,116 @@ +# TODO: verify the Conan v2 migration + import os -import functools import textwrap -from conans.errors import ConanInvalidConfiguration -from conans import ConanFile, CMake, tools +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, save +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" -required_conan_version = ">=1.33.0" class PranavCSV2Conan(ConanFile): name = "pranav-csv2" - license = "MIT" description = "Various header libraries mostly future std lib, replacements for(e.g. visit), or some misc" - topics = ("csv", "iterator", "header-only", ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/p-ranav/csv2" - settings = "os", "arch", "compiler", "build_type", - generators = "cmake", + topics = ("csv", "iterator", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _compiler_required_cpp11 = { - "Visual Studio": "16", - "gcc": "8", - "clang": "7", - "apple-clang": "12.0", - } + @property + def _min_cppstd(self): + return 11 @property - def _source_subfolder(self): - return "source_subfolder" + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "gcc": "8", + "clang": "7", + "apple-clang": "12.0", + } + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compiler_required_cpp11.get(str(self.settings.compiler), False) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++11, which your compiler does not support.".format(self.name)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++11, which your compiler does not support.") else: - self.output.warn("{0} requires C++11. Your compiler is unknown. Assuming it supports C++11.".format(self.name)) + self.output.warning(f"{self.name} requires C++11. Your compiler is unknown. Assuming it supports C++11.") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(source_folder=self._source_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() - @property - def _module_subfolder(self): - return os.path.join("lib", "cmake") - - @property - def _module_file_rel_path(self): - return os.path.join(self._module_subfolder, - "conan-official-{}-targets.cmake".format(self.name)) + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) def package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) + 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")) self._create_cmake_module_alias_targets( os.path.join(self.package_folder, self._module_file_rel_path), {"csv2": "csv2::csv2"} ) - def package_id(self): - self.info.header_only() + @property + def _module_subfolder(self): + return os.path.join("lib", "cmake") + + @property + def _module_file_rel_path(self): + return os.path.join(self._module_subfolder, f"conan-official-{self.name}-targets.cmake") def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "csv2") self.cpp_info.set_property("cmake_target_name", "csv2::csv2") + self.cpp_info.builddirs.append(self._module_subfolder) + self.cpp_info.filenames["cmake_find_package"] = "csv2" self.cpp_info.filenames["cmake_find_package_multi"] = "csv2" self.cpp_info.names["cmake_find_package"] = "csv2" self.cpp_info.names["cmake_find_package_multi"] = "csv2" - - self.cpp_info.builddirs.append(self._module_subfolder) 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/pranav-csv2/all/test_package/CMakeLists.txt b/recipes/pranav-csv2/all/test_package/CMakeLists.txt index f958b282d05ea..b8a570a3eafe7 100644 --- a/recipes/pranav-csv2/all/test_package/CMakeLists.txt +++ b/recipes/pranav-csv2/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(csv2 CONFIG REQUIRED) +find_package(csv2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} csv2) +target_link_libraries(${PROJECT_NAME} csv2::csv2) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/pranav-csv2/all/test_package/conanfile.py b/recipes/pranav-csv2/all/test_package/conanfile.py index 0197f07f63c5d..fae501d0afb9e 100644 --- a/recipes/pranav-csv2/all/test_package/conanfile.py +++ b/recipes/pranav-csv2/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class DawHeaderLibrariesTestConan(ConanFile): + +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - 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/pranav-csv2/all/test_package/test_package.cpp b/recipes/pranav-csv2/all/test_package/test_package.cpp index 6119ae1a3e0f9..d415b3cf575ef 100644 --- a/recipes/pranav-csv2/all/test_package/test_package.cpp +++ b/recipes/pranav-csv2/all/test_package/test_package.cpp @@ -3,7 +3,7 @@ int main() { csv2::Reader< csv2::delimiter<','>, - csv2::quote_character<'"'>, + csv2::quote_character<'"'>, csv2::first_row_is_header, csv2::trim_policy::trim_whitespace> csv; diff --git a/recipes/pranav-csv2/all/test_v1_package/CMakeLists.txt b/recipes/pranav-csv2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pranav-csv2/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/pranav-csv2/all/test_v1_package/conanfile.py b/recipes/pranav-csv2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0197f07f63c5d --- /dev/null +++ b/recipes/pranav-csv2/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + +class DawHeaderLibrariesTestConan(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 e56602e02d3eac6d5b3b14f9435d219edb32ebf6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 02:03:17 +0200 Subject: [PATCH 0777/4087] (#18348) type_safe: migrate to Conan v2 * type_safe: migrate to Conan v2 * type_safe: restore test_v1_package * type_safe: add cmake_find_package_multi generator to test_v1_package --- recipes/type_safe/all/conanfile.py | 66 ++++++++++++------- .../type_safe/all/test_package/CMakeLists.txt | 9 ++- .../type_safe/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 85 insertions(+), 36 deletions(-) create mode 100644 recipes/type_safe/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/type_safe/all/test_v1_package/conanfile.py diff --git a/recipes/type_safe/all/conanfile.py b/recipes/type_safe/all/conanfile.py index 0864c1a6720cf..4ac2d00d76056 100644 --- a/recipes/type_safe/all/conanfile.py +++ b/recipes/type_safe/all/conanfile.py @@ -1,37 +1,53 @@ -from conans import ConanFile, tools import os -class TypeSafe(ConanFile): - name = 'type_safe' - description = 'Zero overhead utilities for preventing bugs at compile time' - url = 'https://github.com/conan-io/conan-center-index' - homepage = 'https://foonathan.net/type_safe' - license = 'MIT' - topics = 'conan', 'c++', 'strong typing', 'vocabulary-types' +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 - settings = 'compiler' +required_conan_version = ">=1.52.0" - no_copy_source = True - _source_subfolder = 'source_subfolder' - requires = 'debug_assert/1.3.3' +class TypeSafe(ConanFile): + name = "type_safe" + description = "Zero overhead utilities for preventing bugs at compile time" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://foonathan.net/type_safe" + topics = ("c++", "strong typing", "vocabulary-types", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property - def _repo_folder(self): - return os.path.join(self.source_folder, self._source_subfolder) + def _min_cppstd(self): + return 11 - 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 layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("debug_assert/1.3.3") - def configure(self): + def package_id(self): + self.info.clear() + + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, '11') + check_min_cppstd(self, self._min_cppstd) - def package(self): - self.copy("*LICENSE", dst="licenses", keep_path=False) - self.copy("*", src=os.path.join(self._repo_folder, 'include'), dst='include/') + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def package_id(self): - self.info.header_only() + def package(self): + copy(self, "*LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, keep_path=False) + 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 = [] diff --git a/recipes/type_safe/all/test_package/CMakeLists.txt b/recipes/type_safe/all/test_package/CMakeLists.txt index 33ae887aa6aea..3b3768ce71104 100644 --- a/recipes/type_safe/all/test_package/CMakeLists.txt +++ b/recipes/type_safe/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(type_safe REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE type_safe::type_safe) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/type_safe/all/test_package/conanfile.py b/recipes/type_safe/all/test_package/conanfile.py index bd7165a553cf4..fae501d0afb9e 100644 --- a/recipes/type_safe/all/test_package/conanfile.py +++ b/recipes/type_safe/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" + 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/type_safe/all/test_v1_package/CMakeLists.txt b/recipes/type_safe/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/type_safe/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/type_safe/all/test_v1_package/conanfile.py b/recipes/type_safe/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/type_safe/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) From 2720bf386022e1c879fbda036eb866b5612fb09f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 02:22:13 +0200 Subject: [PATCH 0778/4087] (#18342) serdepp: migrate to Conan v2 * serdepp: migrate to Conan v2 * serdepp: restore test_v1_package --- recipes/serdepp/all/conanfile.py | 105 ++++++++++-------- .../serdepp/all/test_package/CMakeLists.txt | 7 +- recipes/serdepp/all/test_package/conanfile.py | 20 +++- .../serdepp/all/test_package/test_package.cpp | 6 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../serdepp/all/test_v1_package/conanfile.py | 18 +++ 6 files changed, 104 insertions(+), 60 deletions(-) create mode 100644 recipes/serdepp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/serdepp/all/test_v1_package/conanfile.py diff --git a/recipes/serdepp/all/conanfile.py b/recipes/serdepp/all/conanfile.py index 539c3a27d063b..3a9cae70272de 100644 --- a/recipes/serdepp/all/conanfile.py +++ b/recipes/serdepp/all/conanfile.py @@ -1,21 +1,26 @@ import os -from conans.errors import ConanInvalidConfiguration -from conans import ConanFile, tools +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.43.0" +required_conan_version = ">=1.52.0" class SerdeppConan(ConanFile): name = "serdepp" description = "c++ serialize and deserialize adaptor library like rust serde.rs" license = "MIT" - topics = ("yaml", "toml", "serialization", "json", "reflection") - homepage = "https://github.com/injae/serdepp" url = "https://github.com/conan-io/conan-center-index" - settings = "arch", "build_type", "compiler", "os" + homepage = "https://github.com/injae/serdepp" + topics = ("yaml", "toml", "serialization", "json", "reflection", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" options = { - # keeping the option in case upstream support dynamic linking "with_nlohmann_json": [True, False], "with_rapidjson": [True, False], "with_fmt": [True, False], @@ -32,16 +37,8 @@ class SerdeppConan(ConanFile): no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, - strip_root=True) - - def package_id(self): - self.info.header_only() + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -52,48 +49,62 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("nameof/0.10.1") + self.requires("magic_enum/0.7.3") + if self.options.with_toml11: + self.requires("toml11/3.7.0") + if self.options.with_yamlcpp: + self.requires("yaml-cpp/0.7.0") + if self.options.with_rapidjson: + self.requires("rapidjson/1.1.0") + if self.options.with_fmt: + self.requires("fmt/8.1.1") + if self.options.with_nlohmann_json: + self.requires("nlohmann_json/3.10.5") + + def package_id(self): + self.info.clear() + def validate(self): compiler = self.settings.compiler if compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warn(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(self.settings.compiler.version) < minimum_version: + self.output.warning(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") + elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++17") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def package(self): - s = lambda x: os.path.join(self._source_subfolder, x) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - include = os.path.join('include', 'serdepp') - self.copy('*.hpp', dst=include, src=s(include)) - attribute = os.path.join(include, 'attribute') - self.copy('*.hpp', dst=attribute, src=s(attribute)) - adaptor = os.path.join(include, 'adaptor') - self.copy('reflection.hpp', dst=adaptor, src=s(adaptor)) - self.copy('sstream.hpp', dst=adaptor, src=s(adaptor)) + s = lambda x: os.path.join(self.source_folder, x) + p = lambda x: os.path.join(self.package_folder, x) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + include = os.path.join("include", "serdepp") + copy(self, "*.hpp", dst=p(include), src=s(include)) + attribute = os.path.join(include, "attribute") + copy(self, "*.hpp", dst=p(attribute), src=s(attribute)) + adaptor = os.path.join(include, "adaptor") + copy(self, "reflection.hpp", dst=p(adaptor), src=s(adaptor)) + copy(self, "sstream.hpp", dst=p(adaptor), src=s(adaptor)) if self.options.with_toml11: - self.copy('toml11.hpp', dst=adaptor, src=s(adaptor)) + copy(self, "toml11.hpp", dst=p(adaptor), src=s(adaptor)) if self.options.with_yamlcpp: - self.copy('yaml-cpp.hpp', dst=adaptor, src=s(adaptor)) + copy(self, "yaml-cpp.hpp", dst=p(adaptor), src=s(adaptor)) if self.options.with_rapidjson: - self.copy('rapidjson.hpp', dst=adaptor, src=s(adaptor)) + copy(self, "rapidjson.hpp", dst=p(adaptor), src=s(adaptor)) if self.options.with_fmt: - self.copy('fmt.hpp', dst=adaptor, src=s(adaptor)) + copy(self, "fmt.hpp", dst=p(adaptor), src=s(adaptor)) if self.options.with_nlohmann_json: - self.copy('nlohmann_json.hpp', dst=adaptor, src=s(adaptor)) + copy(self, "nlohmann_json.hpp", dst=p(adaptor), src=s(adaptor)) - def requirements(self): - self.requires("nameof/0.10.1") - self.requires("magic_enum/0.7.3") - if self.options.with_toml11: - self.requires("toml11/3.7.0") - if self.options.with_yamlcpp: - self.requires("yaml-cpp/0.7.0") - if self.options.with_rapidjson: - self.requires("rapidjson/1.1.0") - if self.options.with_fmt: - self.requires("fmt/8.1.1") - if self.options.with_nlohmann_json: - self.requires("nlohmann_json/3.10.5") + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/serdepp/all/test_package/CMakeLists.txt b/recipes/serdepp/all/test_package/CMakeLists.txt index a4620c9ed66c9..f8c810f0f3968 100644 --- a/recipes/serdepp/all/test_package/CMakeLists.txt +++ b/recipes/serdepp/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(serdepp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/serdepp/all/test_package/conanfile.py b/recipes/serdepp/all/test_package/conanfile.py index e788460ad0765..fae501d0afb9e 100644 --- a/recipes/serdepp/all/test_package/conanfile.py +++ b/recipes/serdepp/all/test_package/conanfile.py @@ -1,11 +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 = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" - 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", "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/serdepp/all/test_package/test_package.cpp b/recipes/serdepp/all/test_package/test_package.cpp index 427fde86f750f..c7b4aeafe407d 100644 --- a/recipes/serdepp/all/test_package/test_package.cpp +++ b/recipes/serdepp/all/test_package/test_package.cpp @@ -1,7 +1,9 @@ -#include -#include #include #include + +#include +#include + class test { public: template diff --git a/recipes/serdepp/all/test_v1_package/CMakeLists.txt b/recipes/serdepp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/serdepp/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/serdepp/all/test_v1_package/conanfile.py b/recipes/serdepp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e788460ad0765 --- /dev/null +++ b/recipes/serdepp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e83121429dcb17d6d58e5b1f4a29ff7c44fff2ad Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 02:42:12 +0200 Subject: [PATCH 0779/4087] (#18341) dice-template-library: migrate to Conan v2 * dice-template-library: migrate to Conan v2 * dice-template-library: restore test_v1_package * dice-template-library: add cmake_find_package_multi generator to test_v1_package --- .../dice-template-library/all/conanfile.py | 81 +++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +-- .../all/test_package/conanfile.py | 21 +++-- .../all/test_package/test_package.cpp | 8 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 94 insertions(+), 50 deletions(-) create mode 100644 recipes/dice-template-library/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dice-template-library/all/test_v1_package/conanfile.py diff --git a/recipes/dice-template-library/all/conanfile.py b/recipes/dice-template-library/all/conanfile.py index d7cce02ca9aa4..0e385389ae113 100644 --- a/recipes/dice-template-library/all/conanfile.py +++ b/recipes/dice-template-library/all/conanfile.py @@ -1,23 +1,32 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class DiceTemplateLibrary(ConanFile): name = "dice-template-library" - description = "This template library is a collection of handy template-oriented code that we, the Data Science Group at UPB, found pretty handy." - homepage = "https://dice-research.org/" - url = "https://github.com/conan-io/conan-center-index" + description = ("This template library is a collection of handy template-oriented code that we, " + "the Data Science Group at UPB, found pretty handy.") license = "MIT" - topics = ("template", "template-library", "compile-time", "switch", "integral-tuple") - settings = "build_type", "compiler", "os", "arch" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://dice-research.org/" + topics = ("template", "template-library", "compile-time", "switch", "integral-tuple", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property def _min_cppstd(self): - return "20" + return 20 @property def _compilers_minimum_version(self): @@ -26,44 +35,46 @@ def _compilers_minimum_version(self): "clang": "12", } + 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"): - tools.check_min_cppstd(self, self._min_cppstd) if self.settings.compiler == "apple-clang": raise ConanInvalidConfiguration("apple-clang is not supported because a full concept implementation is needed") - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("MSVC is not supported because a full concept implementation is needed") - def lazy_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] - - minimum_version = self._compilers_minimum_version.get( - str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("{} {} requires C++20. Your compiler is unknown. Assuming it supports C++20.".format(self.name, self.version)) - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): - raise ConanInvalidConfiguration("{} {} requires C++20, which your compiler does not support.".format(self.name, self.version)) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - @property - def _source_subfolder(self): - return "source_subfolder" + 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) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + 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_target_name", self.name) - self.cpp_info.set_property("cmake_target_aliases", ["{0}::{0}".format(self.name)]) + self.cpp_info.set_property("cmake_target_aliases", [f"{self.name}::{self.name}"]) + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = self.name self.cpp_info.names["cmake_find_package_multi"] = self.name diff --git a/recipes/dice-template-library/all/test_package/CMakeLists.txt b/recipes/dice-template-library/all/test_package/CMakeLists.txt index 6fcf6dde0f94e..6ab7e1cfebb3a 100644 --- a/recipes/dice-template-library/all/test_package/CMakeLists.txt +++ b/recipes/dice-template-library/all/test_package/CMakeLists.txt @@ -1,12 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(dice-template-library REQUIRED) +find_package(dice-template-library REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE dice-template-library::dice-template-library) diff --git a/recipes/dice-template-library/all/test_package/conanfile.py b/recipes/dice-template-library/all/test_package/conanfile.py index 9d8f35201d56c..fae501d0afb9e 100644 --- a/recipes/dice-template-library/all/test_package/conanfile.py +++ b/recipes/dice-template-library/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", "cmake_find_package_multi", + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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/dice-template-library/all/test_package/test_package.cpp b/recipes/dice-template-library/all/test_package/test_package.cpp index 49e49454d63d0..bb99a8eeab3a8 100644 --- a/recipes/dice-template-library/all/test_package/test_package.cpp +++ b/recipes/dice-template-library/all/test_package/test_package.cpp @@ -1,9 +1,11 @@ -#include - #include #include -template struct Wrapper { static constexpr int i = N; }; +#include + +template struct Wrapper { + static constexpr int i = N; +}; int main() { dice::template_library::integral_template_tuple tup; diff --git a/recipes/dice-template-library/all/test_v1_package/CMakeLists.txt b/recipes/dice-template-library/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/dice-template-library/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/dice-template-library/all/test_v1_package/conanfile.py b/recipes/dice-template-library/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fd66d89b7cd91 --- /dev/null +++ b/recipes/dice-template-library/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", "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 10e80143d88b11ad224081fe713d82a4d4343b64 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 6 Jul 2023 03:16:37 +0200 Subject: [PATCH 0780/4087] (#17859) qt 5.15.10 * qt 5.15.10 * remove 5.15.5 and 5.15.6 * bump reqs * bump deps * bump at-spi2-core --- recipes/qt/5.x.x/conandata.yml | 121 +++---- recipes/qt/5.x.x/conanfile.py | 18 +- .../qt/5.x.x/patches/337f28c9ab-5.15.5.patch | 40 --- ...dules5.15.5.conf => qtmodules5.15.10.conf} | 0 recipes/qt/5.x.x/qtmodules5.15.6.conf | 326 ------------------ recipes/qt/5.x.x/test_v1_package/conanfile.py | 2 +- recipes/qt/config.yml | 6 +- 7 files changed, 57 insertions(+), 456 deletions(-) delete mode 100644 recipes/qt/5.x.x/patches/337f28c9ab-5.15.5.patch rename recipes/qt/5.x.x/{qtmodules5.15.5.conf => qtmodules5.15.10.conf} (100%) delete mode 100644 recipes/qt/5.x.x/qtmodules5.15.6.conf diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index 353dd22d4b636..d0847c695c371 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -1,4 +1,26 @@ sources: + "5.15.10": + url: + - "https://download.qt.io/official_releases/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://download.qt.io/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://ftp1.nluug.nl/languages/qt/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://ftp2.nluug.nl/languages/qt/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://master.qt.io/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://mirror.web4africa.ng/qt/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" + sha256: "b545cb83c60934adc9a6bbd27e2af79e5013de77d46f5b9f5bb2a3c762bf55ca" "5.15.9": url: - "https://download.qt.io/official_releases/qt/5.15/5.15.9/single/qt-everywhere-opensource-src-5.15.9.tar.xz" @@ -32,21 +54,30 @@ sources: - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" sha256: "8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0" - "5.15.6": - url: - - "https://download.qt.io/archive/qt/5.15/5.15.6/single/qt-everywhere-opensource-src-5.15.6.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.6/single/qt-everywhere-opensource-src-5.15.6.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.6/single/qt-everywhere-opensource-src-5.15.6.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.6/single/qt-everywhere-opensource-src-5.15.6.tar.xz" - sha256: "ebc77d27934b70b25b3dc34fbec7c4471eb451848e891c42b32409ea30fe309f" - "5.15.5": - url: - - "https://download.qt.io/archive/qt/5.15/5.15.5/single/qt-everywhere-opensource-src-5.15.5.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.5/single/qt-everywhere-opensource-src-5.15.5.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.5/single/qt-everywhere-opensource-src-5.15.5.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.5/single/qt-everywhere-opensource-src-5.15.5.tar.xz" - sha256: "5a97827bdf9fd515f43bc7651defaf64fecb7a55e051c79b8f80510d0e990f06" patches: + "5.15.10": + - "base_path": "qt5/qtbase" + "patch_file": "patches/aa2a39dea5.diff" + - "base_path": "qt5/qtwebengine" + "patch_file": "patches/c72097e.diff" + - "base_path": "qt5/qttools" + "patch_file": "patches/fix-macdeployqt.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/v8" + "patch_file": "patches/chromium-v8-missing-constexpr.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/chromium-skia-missing-iterator-include.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" + "patch_file": "patches/skia-cd397f3.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch" + - "base_path": "qt5/qtbase" + "patch_file": "patches/337f28c9ab-5.15.8.patch" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-backtrace.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-openssl.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-new-ndk.diff" "5.15.9": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" @@ -124,65 +155,3 @@ patches: base_path: "qt5/qtbase" - patch_file: "patches/android-new-ndk.diff" base_path: "qt5/qtbase" - "5.15.6": - - patch_file: "patches/337f28c9ab.patch" - base_path: "qt5/qtbase" - - patch_file: "patches/aa2a39dea5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/c72097e.diff" - base_path: "qt5/qtwebengine" - - patch_file: "patches/fix-macdeployqt.diff" - base_path: "qt5/qttools" - - patch_file: "patches/dece6f5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/QTBUG-98813.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/d3396fb6fc.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/107ed30ec5.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/chromium-v8-missing-constexpr.patch" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/v8" - - patch_file: "patches/chromium-skia-missing-iterator-include.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/skia-cd397f3.diff" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" - - patch_file: "patches/0001-Find-fontconfig-using-pkg-config.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/android-backtrace.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-openssl.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-new-ndk.diff" - base_path: "qt5/qtbase" - "5.15.5": - - patch_file: "patches/337f28c9ab-5.15.5.patch" - base_path: "qt5/qtbase" - - patch_file: "patches/aa2a39dea5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/c72097e.diff" - base_path: "qt5/qtwebengine" - - patch_file: "patches/fix-macdeployqt.diff" - base_path: "qt5/qttools" - - patch_file: "patches/dece6f5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/QTBUG-98813.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/d3396fb6fc.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/107ed30ec5.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/chromium-v8-missing-constexpr.patch" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/v8" - - patch_file: "patches/chromium-skia-missing-iterator-include.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/skia-cd397f3.diff" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" - - patch_file: "patches/0001-Find-fontconfig-using-pkg-config.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/android-backtrace.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-openssl.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-new-ndk.diff" - base_path: "qt5/qtbase" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 99cc1c480a8c9..f89a95f7dc6b3 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -349,19 +349,19 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.76.2") + self.requires("glib/2.76.3") # if self.options.with_libiconv: # QTBUG-84708 # self.requires("libiconv/1.16")# QTBUG-84708 if self.options.with_doubleconversion and not self.options.multiconfiguration: - self.requires("double-conversion/3.2.1") + self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: self.requires("freetype/2.13.0") if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/73.1") + self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/7.1.0") + self.requires("harfbuzz/7.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/2.1.5") @@ -370,7 +370,7 @@ def requirements(self): if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.39") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.41.2") + self.requires("sqlite3/3.42.0") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.0.31") if self.options.with_pq: @@ -403,14 +403,14 @@ def requirements(self): if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") if self.options.with_dbus: - self.requires("dbus/1.15.2") + self.requires("dbus/1.15.6") if self.options.qtwayland: - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") self.requires("xkbcommon/1.5.0") if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_atspi"): - self.requires("at-spi2-core/2.48.0") + self.requires("at-spi2-core/2.48.3") if self.options.get_safe("with_md4c", False): self.requires("md4c/0.4.8") @@ -442,7 +442,7 @@ def build_requirements(self): self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") if self.options.qtwayland: - self.tool_requires("wayland/1.21.0") + self.tool_requires("wayland/1.22.0") def source(self): get(self, **self.conan_data["sources"][self.version], diff --git a/recipes/qt/5.x.x/patches/337f28c9ab-5.15.5.patch b/recipes/qt/5.x.x/patches/337f28c9ab-5.15.5.patch deleted file mode 100644 index a2ea249c1db5f..0000000000000 --- a/recipes/qt/5.x.x/patches/337f28c9ab-5.15.5.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 337f28c9abb12f28538cfe2f49e5afc460578b32 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= -Date: Tue, 5 Jul 2022 15:38:33 +0200 -Subject: Darwin: Replace deprecated symbol kIOMasterPortDefault with - equivalent - -We can't use the replacement kIOMainPortDefault yet, as it's not -available in operating system versions we still support, but the -kIOMasterPortDefault documentation explicitly says that passing -NULL as a port argument indicates "use the default". - -As the underlying type of a mach_port_t is potentially either -a pointer or an unsigned int, we initialize the default to 0. - -Pick-to: 6.2 6.3 6.4 5.15 -Change-Id: I288aa94b8f2fbda47fd1cbaf329799db7ab988a0 -Reviewed-by: Alexandru Croitor ---- - src/corelib/global/qglobal.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -(limited to 'src/corelib/global/qglobal.cpp') - -diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp -index 738e39658f..c894471ad6 100644 ---- a/src/corelib/global/qglobal.cpp -+++ b/src/corelib/global/qglobal.cpp -@@ -3059,7 +3059,8 @@ QByteArray QSysInfo::machineUniqueId() - { - #if defined(Q_OS_DARWIN) && __has_include() - char uuid[UuidStringLen + 1]; -- io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")); -+ static const mach_port_t defaultPort = 0; // Effectively kIOMasterPortDefault/kIOMainPortDefault -+ io_service_t service = IOServiceGetMatchingService(defaultPort, IOServiceMatching("IOPlatformExpertDevice")); - QCFString stringRef = (CFStringRef)IORegistryEntryCreateCFProperty(service, CFSTR(kIOPlatformUUIDKey), kCFAllocatorDefault, 0); - CFStringGetCString(stringRef, uuid, sizeof(uuid), kCFStringEncodingMacRoman); - return QByteArray(uuid); --- -cgit v1.2.1 - diff --git a/recipes/qt/5.x.x/qtmodules5.15.5.conf b/recipes/qt/5.x.x/qtmodules5.15.10.conf similarity index 100% rename from recipes/qt/5.x.x/qtmodules5.15.5.conf rename to recipes/qt/5.x.x/qtmodules5.15.10.conf diff --git a/recipes/qt/5.x.x/qtmodules5.15.6.conf b/recipes/qt/5.x.x/qtmodules5.15.6.conf deleted file mode 100644 index 452233655f279..0000000000000 --- a/recipes/qt/5.x.x/qtmodules5.15.6.conf +++ /dev/null @@ -1,326 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 5.15 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 5.15 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtsvg - path = qtdeclarative - url = ../qtdeclarative.git - branch = 5.15 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 5.15 - status = addon -[submodule "qtscript"] - depends = qtbase - recommends = qttools - path = qtscript - url = ../qtscript.git - branch = 5.15 - status = deprecated -[submodule "qtmultimedia"] - depends = qtbase - recommends = qtdeclarative - path = qtmultimedia - url = ../qtmultimedia.git - branch = 5.15 - status = essential -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 5.15 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = 5.15 - status = deprecated -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 5.15 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtquickcontrols qtquickcontrols2 - path = qtdoc - url = ../qtdoc.git - branch = 5.15 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = master - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase - recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport - path = qtlocation - url = ../qtlocation.git - branch = 5.15 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 5.15 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtdocgallery"] - depends = qtdeclarative - path = qtdocgallery - url = ../qtdocgallery.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative qtandroidextras - path = qtconnectivity - url = ../qtconnectivity.git - branch = 5.15 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 5.15 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtimageformats qtgamepad - path = qt3d - url = ../qt3d.git - branch = 5.15 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 5.15 - status = addon -[submodule "qtgraphicaleffects"] - depends = qtdeclarative - path = qtgraphicaleffects - url = ../qtgraphicaleffects.git - branch = 5.15 - status = essential -[submodule "qtquickcontrols"] - depends = qtdeclarative - recommends = qtgraphicaleffects - path = qtquickcontrols - url = ../qtquickcontrols.git - branch = 5.15 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 5.15 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 5.15 - status = addon -[submodule "qtx11extras"] - depends = qtbase - path = qtx11extras - url = ../qtx11extras.git - branch = 5.15 - status = addon -[submodule "qtmacextras"] - depends = qtbase - path = qtmacextras - url = ../qtmacextras.git - branch = 5.15 - status = addon -[submodule "qtwinextras"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtwinextras - url = ../qtwinextras.git - branch = 5.15 - status = addon -[submodule "qtandroidextras"] - depends = qtbase - path = qtandroidextras - url = ../qtandroidextras.git - branch = 5.15 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 5.15 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 5.15 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools - path = qtwebengine - url = ../qtwebengine.git - branch = 5.15 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 5.15 - status = addon -[submodule "qtquickcontrols2"] - depends = qtgraphicaleffects - recommends = qtimageformats - path = qtquickcontrols2 - url = ../qtquickcontrols2.git - branch = 5.15 - status = essential -[submodule "qtpurchasing"] - depends = qtbase - recommends = qtdeclarative qtandroidextras - path = qtpurchasing - url = ../qtpurchasing.git - branch = 5.15 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 5.15 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 5.15 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia qtquickcontrols - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 5.15 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = 5.15 - status = addon -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 5.15 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 5.15 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 5.15 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 5.15 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = 5.15 - status = addon -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 5.15 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 5.15 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative - path = qtquick3d - url = ../qtquick3d.git - branch = 5.15 - status = addon diff --git a/recipes/qt/5.x.x/test_v1_package/conanfile.py b/recipes/qt/5.x.x/test_v1_package/conanfile.py index cc3b35ad8bcbd..5cb2041d25d7d 100644 --- a/recipes/qt/5.x.x/test_v1_package/conanfile.py +++ b/recipes/qt/5.x.x/test_v1_package/conanfile.py @@ -21,7 +21,7 @@ def build_requirements(self): if self._settings_build.os == "Windows" and self.settings.compiler == "Visual Studio": self.build_requires("jom/1.1.3") if self._meson_supported(): - self.build_requires("meson/1.1.0") + self.build_requires("meson/1.1.1") def generate(self): save(self, "qt.conf", """[Paths] diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index dbad0d7f3bfcd..84b51c6e98dab 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -9,13 +9,11 @@ versions: folder: 6.x.x "6.3.2": folder: 6.x.x + "5.15.10": + folder: 5.x.x "5.15.9": folder: 5.x.x "5.15.8": folder: 5.x.x "5.15.7": folder: 5.x.x - "5.15.6": - folder: 5.x.x - "5.15.5": - folder: 5.x.x From 6b6f154c166d79a38ff4e3f78ea11b64b67c39e3 Mon Sep 17 00:00:00 2001 From: Seadex-GmbH <125141609+Seadex-GmbH@users.noreply.github.com> Date: Thu, 6 Jul 2023 03:44:32 +0200 Subject: [PATCH 0781/4087] (#17505) Add seadex-genesis library recipe - Conan 2 ready * Add seadex-genesis library recipe * Update recipes/seadex-genesis/all/test_package/CMakeLists.txt * Make seadex-essentials transitive * Removed header only requirement flag for fmt, spdlog * Use fmt 10.0.0 because of PR #17976 --------- Co-authored-by: Carlos Zoido --- recipes/seadex-genesis/all/conandata.yml | 5 + recipes/seadex-genesis/all/conanfile.py | 92 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 31 +++++++ .../all/test_package/test_package.cpp | 11 +++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 ++++ recipes/seadex-genesis/config.yml | 3 + 8 files changed, 176 insertions(+) create mode 100644 recipes/seadex-genesis/all/conandata.yml create mode 100644 recipes/seadex-genesis/all/conanfile.py create mode 100644 recipes/seadex-genesis/all/test_package/CMakeLists.txt create mode 100644 recipes/seadex-genesis/all/test_package/conanfile.py create mode 100644 recipes/seadex-genesis/all/test_package/test_package.cpp create mode 100644 recipes/seadex-genesis/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/seadex-genesis/all/test_v1_package/conanfile.py create mode 100644 recipes/seadex-genesis/config.yml diff --git a/recipes/seadex-genesis/all/conandata.yml b/recipes/seadex-genesis/all/conandata.yml new file mode 100644 index 0000000000000..176a61239e9e8 --- /dev/null +++ b/recipes/seadex-genesis/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "2.0.0": + url: + - "https://github.com/SeadexGmbH/genesis/archive/refs/tags/2.0.0.tar.gz" + sha256: "22bd4e438c1475d7b023d6f8f7d541f49f55784c89e8607acc68a73157bb4ea4" diff --git a/recipes/seadex-genesis/all/conanfile.py b/recipes/seadex-genesis/all/conanfile.py new file mode 100644 index 0000000000000..55649339605a9 --- /dev/null +++ b/recipes/seadex-genesis/all/conanfile.py @@ -0,0 +1,92 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class SeadexGenesisConan(ConanFile): + name = "seadex-genesis" + description = "genesis is a generator library developed by Seadex (written in C++11)." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://genesis.seadex.de/" + topics = ("generator", "c++") + 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": "8.3", + "clang": "12", + "Visual Studio": "16", + "msvc": "192", + "apple-clang": "10" + } + + 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): + # Exposes headers and symbols: https://github.com/SeadexGmbH/genesis/blob/master/genesis/source/version.cpp + self.requires("fmt/10.0.0", transitive_headers=True, transitive_libs=True) + self.requires("seadex-essentials/2.1.3", transitive_headers=True, transitive_libs=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["GEN_BUILD_EXAMPLES"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", self.source_folder, os.path.join(self.package_folder, "licenses") ) + cmake = CMake(self) + cmake.configure() + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["genesis"] diff --git a/recipes/seadex-genesis/all/test_package/CMakeLists.txt b/recipes/seadex-genesis/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..028f0b497eb5e --- /dev/null +++ b/recipes/seadex-genesis/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(seadex-genesis REQUIRED CONFIG) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PUBLIC seadex-genesis::seadex-genesis) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/seadex-genesis/all/test_package/conanfile.py b/recipes/seadex-genesis/all/test_package/conanfile.py new file mode 100644 index 0000000000000..63dab6b31486d --- /dev/null +++ b/recipes/seadex-genesis/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + 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/seadex-genesis/all/test_package/test_package.cpp b/recipes/seadex-genesis/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..48dc86c10dbd5 --- /dev/null +++ b/recipes/seadex-genesis/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include + +#include "genesis/grammar.hpp" + + +int main() { + + std::cout<< sx::genesis::LOOP_START_COMMAND << " test " << sx::genesis::LOOP_END_COMMAND << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/seadex-genesis/all/test_v1_package/CMakeLists.txt b/recipes/seadex-genesis/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/seadex-genesis/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/seadex-genesis/all/test_v1_package/conanfile.py b/recipes/seadex-genesis/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c492184eec19c --- /dev/null +++ b/recipes/seadex-genesis/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +# legacy validation with Conan 1.x +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/seadex-genesis/config.yml b/recipes/seadex-genesis/config.yml new file mode 100644 index 0000000000000..d77ad03cbf510 --- /dev/null +++ b/recipes/seadex-genesis/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.0": + folder: all From 56c1638e25453cc8e2ce4a676604900ebc7b62a2 Mon Sep 17 00:00:00 2001 From: jalapenopuzzle <8386278+jalapenopuzzle@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:21:50 +1000 Subject: [PATCH 0782/4087] (#18370) nlohmann_json: add version 3.5.0 --- recipes/nlohmann_json/all/conandata.yml | 3 +++ recipes/nlohmann_json/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nlohmann_json/all/conandata.yml b/recipes/nlohmann_json/all/conandata.yml index 6d20bef200f0e..3da3e0aae2e97 100644 --- a/recipes/nlohmann_json/all/conandata.yml +++ b/recipes/nlohmann_json/all/conandata.yml @@ -38,6 +38,9 @@ sources: "3.7.0": sha256: D51A3A8D3EFBB1139D7608E28782EA9EFEA7E7933157E8FF8184901EFD8EE760 url: https://github.com/nlohmann/json/archive/v3.7.0.tar.gz + "3.5.0": + sha256: E0B1FC6CC6CA05706CCE99118A87ACA5248BD9DB3113E703023D23F044995C1D + url: https://github.com/nlohmann/json/archive/v3.5.0.tar.gz "3.4.0": sha256: C377963A95989270C943D522BFEFE7B889EF5ED0E1E15D535FD6F6F16ED70732 url: https://github.com/nlohmann/json/archive/v3.4.0.tar.gz diff --git a/recipes/nlohmann_json/config.yml b/recipes/nlohmann_json/config.yml index f26a7154dd392..e38fadbe1b4de 100644 --- a/recipes/nlohmann_json/config.yml +++ b/recipes/nlohmann_json/config.yml @@ -25,6 +25,8 @@ versions: folder: all "3.7.0": folder: all + "3.5.0": + folder: all "3.4.0": folder: all "3.2.0": From 172ae17e3bde0b429fb9e7db14ab802858ee202f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 10:03:28 +0200 Subject: [PATCH 0783/4087] (#18191) async_simple: add package_type * async_simple: add package_type * async_simple: restore test_v1_package --- recipes/async_simple/all/conanfile.py | 7 ++++--- .../async_simple/all/test_package/CMakeLists.txt | 4 ++-- .../async_simple/all/test_v1_package/CMakeLists.txt | 13 +++---------- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/recipes/async_simple/all/conanfile.py b/recipes/async_simple/all/conanfile.py index cd5c0701011d2..52e7c0ae4b223 100644 --- a/recipes/async_simple/all/conanfile.py +++ b/recipes/async_simple/all/conanfile.py @@ -7,7 +7,6 @@ from conan.tools.layout import basic_layout import os - required_conan_version = ">=1.52.0" @@ -17,7 +16,9 @@ class AsyncSimpleConan(ConanFile): license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/alibaba/async_simple" - topics = ("modules", "asynchronous", "coroutines", "cpp20") + topics = ("modules", "asynchronous", "coroutines", "cpp20", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -61,7 +62,7 @@ def build_requirements(self): pass def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) diff --git a/recipes/async_simple/all/test_package/CMakeLists.txt b/recipes/async_simple/all/test_package/CMakeLists.txt index 0c557f6f0a457..8b854aa258e40 100644 --- a/recipes/async_simple/all/test_package/CMakeLists.txt +++ b/recipes/async_simple/all/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.15) +project(test_package CXX) -project(test_package CXX) # if the project uses c++ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) + find_package(async_simple REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package target_link_libraries(${PROJECT_NAME} PRIVATE async_simple::async_simple_header_only) diff --git a/recipes/async_simple/all/test_v1_package/CMakeLists.txt b/recipes/async_simple/all/test_v1_package/CMakeLists.txt index d25dca4fa93e5..91630d79f4abb 100644 --- a/recipes/async_simple/all/test_v1_package/CMakeLists.txt +++ b/recipes/async_simple/all/test_v1_package/CMakeLists.txt @@ -1,15 +1,8 @@ cmake_minimum_required(VERSION 3.15) - -project(test_package CXX) # if the project uses c++ -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(async_simple REQUIRED CONFIG) - -# Re-use the same source file from test_package folder -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package -target_link_libraries(${PROJECT_NAME} PRIVATE async_simple::async_simple_header_only) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 700c6f447a2e44d4e3f05f32145fc50a70a347ee Mon Sep 17 00:00:00 2001 From: jalapenopuzzle <8386278+jalapenopuzzle@users.noreply.github.com> Date: Thu, 6 Jul 2023 18:22:10 +1000 Subject: [PATCH 0784/4087] (#18374) libpng: add version 1.6.32 --- recipes/libpng/all/conandata.yml | 3 +++ recipes/libpng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml index 04e0b69ea4256..bb5cbe33cccce 100644 --- a/recipes/libpng/all/conandata.yml +++ b/recipes/libpng/all/conandata.yml @@ -11,6 +11,9 @@ sources: "1.6.37": url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz" sha256: "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca" + "1.6.32": + url: "https://sourceforge.net/projects/libpng/files/libpng16/older-releases/1.6.32/libpng-1.6.32.tar.xz" + sha256: "c918c3113de74a692f0a1526ce881dc26067763eb3915c57ef3a0f7b6886f59b" "1.5.30": url: "https://sourceforge.net/projects/libpng/files/libpng15/1.5.30/libpng-1.5.30.tar.xz" sha256: "7d76275fad2ede4b7d87c5fd46e6f488d2a16b5a69dc968ffa840ab39ba756ed" diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml index c56aca473ff02..e93a6a24ec85a 100644 --- a/recipes/libpng/config.yml +++ b/recipes/libpng/config.yml @@ -7,5 +7,7 @@ versions: folder: all "1.6.37": folder: all + "1.6.32": + folder: all "1.5.30": folder: all From a5baf347b7ce786b0736a8fe96ee29bebcd98825 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 6 Jul 2023 11:01:51 +0200 Subject: [PATCH 0785/4087] (#18375) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 786c38d030794..884b00bce81ab 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -83,6 +83,7 @@ required_for_references: - boost-ext-ut - boost-leaf - box2d +- breakpad - brigand - brotli - brynet @@ -326,6 +327,7 @@ required_for_references: - highs - highway - hipony-enumerate +- hippomocks - hiredis - homog2d - http_parser @@ -347,6 +349,7 @@ required_for_references: - jinja2cpp - joltphysics - jom +- jpcre2 - json-c - json-schema-validator - jsoncons @@ -380,6 +383,7 @@ required_for_references: - libcbor - libcds - libconfuse +- libcoro - libcuckoo - libcurl - libde265 @@ -499,6 +503,7 @@ required_for_references: - mariadb-connector-c - matchit - mattiasgustavsson-libs +- maven - mawk - mbedtls - mbits-args @@ -518,6 +523,7 @@ required_for_references: - miniaudio - minimp3 - minisat +- miniz - minizip - minizip-ng - mongo-c-driver @@ -583,6 +589,7 @@ required_for_references: - opusfile - osqp - out_ptr +- p-ranav-glob - paho-mqtt-c - paho-mqtt-cpp - patchelf @@ -597,10 +604,13 @@ required_for_references: - picojson - pixman - pkgconf +- platform.hashing - plutovg - poco - popt - portable-file-dialogs +- pprint +- pranav-csv2 - proj - prometheus-cpp - proposal @@ -616,6 +626,7 @@ required_for_references: - qhull - qpdf - quantlib +- quaternions - quill - quirc - r8brain-free-src @@ -661,6 +672,7 @@ required_for_references: - sentry-crashpad - sentry-native - serd +- serdepp - sfml - shield - sigslot @@ -670,6 +682,7 @@ required_for_references: - skyr-url - sml - snappy +- snowhouse - soci - sonic-cpp - sophus @@ -700,10 +713,12 @@ required_for_references: - taskflow - tcb-span - tcl +- tclap - tensorflow-lite - tensorpipe - termcap - termcolor +- thelink2012-any - threadpool - thrift - thrust @@ -722,6 +737,7 @@ required_for_references: - trantor - tsl-hopscotch-map - turtle +- type_safe - tz - uni-algo - unicorn @@ -759,6 +775,7 @@ required_for_references: - websocketpp - wg21-linear_algebra - wglext +- whisper-cpp - wil - winflexbison - wiringpi From 1c48bb855926a58d2842dea9f7ac9a5ff993079e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 11:22:01 +0200 Subject: [PATCH 0786/4087] (#18361) xxsds-sdsl-lite: migrate to Conan v2 * xxsds-sdsl-lite: migrate to Conan v2 * xxsds-sdsl-lite: restore test_v1_package --- recipes/xxsds-sdsl-lite/all/conandata.yml | 4 -- recipes/xxsds-sdsl-lite/all/conanfile.py | 65 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 22 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 18 +++++ 6 files changed, 85 insertions(+), 39 deletions(-) create mode 100644 recipes/xxsds-sdsl-lite/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/xxsds-sdsl-lite/all/test_v1_package/conanfile.py diff --git a/recipes/xxsds-sdsl-lite/all/conandata.yml b/recipes/xxsds-sdsl-lite/all/conandata.yml index b6d6545a3fc79..f215951543959 100644 --- a/recipes/xxsds-sdsl-lite/all/conandata.yml +++ b/recipes/xxsds-sdsl-lite/all/conandata.yml @@ -8,11 +8,7 @@ sources: patches: cci.20210329: - patch_file: patches/bits.hpp.patch - base_path: source_subfolder - patch_file: patches/util.hpp.patch - base_path: source_subfolder 3.0.0: - patch_file: patches/bits.hpp.patch - base_path: source_subfolder - patch_file: patches/util.hpp.patch - base_path: source_subfolder diff --git a/recipes/xxsds-sdsl-lite/all/conanfile.py b/recipes/xxsds-sdsl-lite/all/conanfile.py index de8842c0e754e..1b6126a2f3e15 100644 --- a/recipes/xxsds-sdsl-lite/all/conanfile.py +++ b/recipes/xxsds-sdsl-lite/all/conanfile.py @@ -1,46 +1,65 @@ import os -from conans import ConanFile, tools -required_conan_version = ">=1.33.0" +from conan import ConanFile +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.microsoft import is_msvc + +required_conan_version = ">=1.52.0" + class XXSDSSDSLLite(ConanFile): name = "xxsds-sdsl-lite" description = "SDSL - Succinct Data Structure Library" - homepage = "https://github.com/xxsds/sdsl-lite" - url = "https://github.com/conan-io/conan-center-index" license = "BSD-3-Clause" - topics = ("conan", "sdsl", "succint", "data-structures") - settings = "compiler" - exports_sources = "patches/*" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/xxsds/sdsl-lite" + topics = ("sdsl", "succint", "data-structures", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True provides = "sdsl-lite" - @property - def _source_subfolder(self): - return "source_subfolder" + 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"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) def package(self): - self.copy("*.hpp", dst="include", - src=os.path.join(self._source_subfolder, "include")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): - if self.settings.compiler == "Visual Studio": + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "sdsl-lite") + self.cpp_info.set_property("cmake_target_name", "sdsl-lite::sdsl-lite") + self.cpp_info.set_property("pkg_config_name", "sdsl-lite") + + if is_msvc(self): self.cpp_info.defines.append("MSVC_COMPILER") - self.cpp_info.names["pkgconfig"] = "sdsl-lite" + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "sdsl-lite" self.cpp_info.names["cmake_find_package_multi"] = "sdsl-lite" diff --git a/recipes/xxsds-sdsl-lite/all/test_package/CMakeLists.txt b/recipes/xxsds-sdsl-lite/all/test_package/CMakeLists.txt index 18fda057023dc..6b3bf7b3cbccb 100644 --- a/recipes/xxsds-sdsl-lite/all/test_package/CMakeLists.txt +++ b/recipes/xxsds-sdsl-lite/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(sdsl-lite CONFIG REQUIRED) diff --git a/recipes/xxsds-sdsl-lite/all/test_package/conanfile.py b/recipes/xxsds-sdsl-lite/all/test_package/conanfile.py index 75634e62bcb66..fae501d0afb9e 100644 --- a/recipes/xxsds-sdsl-lite/all/test_package/conanfile.py +++ b/recipes/xxsds-sdsl-lite/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" + 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/xxsds-sdsl-lite/all/test_v1_package/CMakeLists.txt b/recipes/xxsds-sdsl-lite/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/xxsds-sdsl-lite/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/xxsds-sdsl-lite/all/test_v1_package/conanfile.py b/recipes/xxsds-sdsl-lite/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..75634e62bcb66 --- /dev/null +++ b/recipes/xxsds-sdsl-lite/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 d4579368cc448f0065770d17a8836af8d6a33915 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 11:49:31 +0200 Subject: [PATCH 0787/4087] (#18355) zug: migrate to Conan v2 * zug: migrate to Conan v2 * zug: restore test_v1_package --- recipes/zug/all/conanfile.py | 59 ++++++++++++------- recipes/zug/all/test_package/CMakeLists.txt | 7 +-- recipes/zug/all/test_package/conanfile.py | 23 +++++--- recipes/zug/all/test_package/example.cpp | 4 +- .../zug/all/test_v1_package/CMakeLists.txt | 8 +++ recipes/zug/all/test_v1_package/conanfile.py | 17 ++++++ 6 files changed, 83 insertions(+), 35 deletions(-) create mode 100644 recipes/zug/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/zug/all/test_v1_package/conanfile.py diff --git a/recipes/zug/all/conanfile.py b/recipes/zug/all/conanfile.py index 6b0b0f5b3f121..c6c9a25ac397e 100644 --- a/recipes/zug/all/conanfile.py +++ b/recipes/zug/all/conanfile.py @@ -1,26 +1,31 @@ import os -from conans import ConanFile, tools + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc -from conans.errors import ConanInvalidConfiguration +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class ZugConan(ConanFile): name = "zug" + description = "Transducers for C++ — Clojure style higher order push/pull sequence transformations" license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://sinusoid.es/zug/" - description = "Transducers for C++ — Clojure style higher order push/pull \ - sequence transformations" - topics = ("transducer", "algorithm", "signals") - settings = ("compiler", "arch", "os", "build_type") + topics = ("transducer", "algorithm", "signals", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - tools.get( - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self.source_folder - ) + @property + def _min_cppstd(self): + return 14 @property def _compilers_minimum_version(self): @@ -28,30 +33,42 @@ def _compilers_minimum_version(self): "Visual Studio": "15", "gcc": "5", "clang": "3.5", - "apple-clang": "10" + "apple-clang": "10", } + 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"): - tools.check_min_cppstd(self, "14") + check_min_cppstd(self, self._min_cppstd) compiler = str(self.settings.compiler) if compiler not in self._compilers_minimum_version: - self.output.warn("Unknown compiler, assuming it supports at least C++14") + self.output.warning("Unknown compiler, assuming it supports at least C++14") return - version = tools.Version(self.settings.compiler.version) + version = Version(self.settings.compiler.version) if version < self._compilers_minimum_version[compiler]: raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++14") - def package_id(self): - self.info.header_only() + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self.source_folder) - self.copy(pattern="*.hpp", dst=os.path.join("include", "zug"), src=os.path.join(self.source_folder, "zug")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include", "zug"), + src=os.path.join(self.source_folder, "zug")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if is_msvc(self): self.cpp_info.cxxflags = ["/Zc:externConstexpr"] - diff --git a/recipes/zug/all/test_package/CMakeLists.txt b/recipes/zug/all/test_package/CMakeLists.txt index 415cd1f23e3ba..d3e67e2768597 100644 --- a/recipes/zug/all/test_package/CMakeLists.txt +++ b/recipes/zug/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(zug CONFIG REQUIRED) +find_package(zug REQUIRED CONFIG) add_executable(test_package example.cpp) target_link_libraries(test_package zug::zug) diff --git a/recipes/zug/all/test_package/conanfile.py b/recipes/zug/all/test_package/conanfile.py index 34e439b02360c..fae501d0afb9e 100644 --- a/recipes/zug/all/test_package/conanfile.py +++ b/recipes/zug/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class ZugTestConan(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" + 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/zug/all/test_package/example.cpp b/recipes/zug/all/test_package/example.cpp index a9657ec7c452c..eee3087fd4982 100644 --- a/recipes/zug/all/test_package/example.cpp +++ b/recipes/zug/all/test_package/example.cpp @@ -1,8 +1,8 @@ -#include - #include #include +#include + using namespace zug; int main() diff --git a/recipes/zug/all/test_v1_package/CMakeLists.txt b/recipes/zug/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/zug/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/zug/all/test_v1_package/conanfile.py b/recipes/zug/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..34e439b02360c --- /dev/null +++ b/recipes/zug/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class ZugTestConan(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 1b1e7f91e50d2d1c3dd0a43034b8be4d3934af25 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 12:22:19 +0200 Subject: [PATCH 0788/4087] (#18343) libdivide: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libdivide: migrate to Conan v2 * libdivide: restore test_v1_package * Update recipes/libdivide/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libdivide/all/conanfile.py | 79 ++++++++++--------- .../libdivide/all/test_package/CMakeLists.txt | 17 ++-- .../libdivide/all/test_package/conanfile.py | 23 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 +++++ .../all/test_v1_package/test_package.c | 12 +++ 6 files changed, 108 insertions(+), 50 deletions(-) create mode 100644 recipes/libdivide/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libdivide/all/test_v1_package/conanfile.py create mode 100644 recipes/libdivide/all/test_v1_package/test_package.c diff --git a/recipes/libdivide/all/conanfile.py b/recipes/libdivide/all/conanfile.py index 47e6ad87f66f6..2252c68d61a0f 100644 --- a/recipes/libdivide/all/conanfile.py +++ b/recipes/libdivide/all/conanfile.py @@ -1,16 +1,24 @@ -from conans import ConanFile, tools +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class LibdivideConan(ConanFile): name = "libdivide" description = "Header-only C/C++ library for optimizing integer division." - topics = ("libdivide", "division", "integer", ) license = ["Zlib", "BSL-1.0"] - homepage = "http://libdivide.com/" url = "https://github.com/conan-io/conan-center-index" - settings = "arch", "compiler" - no_copy_source = True + homepage = "http://libdivide.com/" + topics = ("libdivide", "division", "integer", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" options = { "simd_intrinsics": [False, "sse2", "avx2", "avx512"], "sse2": [True, False], @@ -25,53 +33,52 @@ class LibdivideConan(ConanFile): "avx512": False, "neon": False, } - - @property - def _source_subfolder(self): - return "source_subfolder" + no_copy_source = True def config_options(self): - if tools.Version(self.version) < "4.0.0": - del self.options.sse2 - del self.options.avx2 - del self.options.avx512 - del self.options.neon + if Version(self.version) < "4.0.0": + self.options.rm_safe("sse2") + self.options.rm_safe("avx2") + self.options.rm_safe("avx512") + self.options.rm_safe("neon") if self.settings.arch not in ["x86", "x86_64"]: - del self.options.simd_intrinsics + self.options.rm_safe("simd_intrinsics") else: - del self.options.simd_intrinsics + self.options.rm_safe("simd_intrinsics") if self.settings.arch not in ["x86", "x86_64"]: - del self.options.sse2 - del self.options.avx2 - del self.options.avx512 + self.options.rm_safe("sse2") + self.options.rm_safe("avx2") + self.options.rm_safe("avx512") if not str(self.settings.arch).startswith("arm"): - del self.options.neon + self.options.rm_safe("neon") - def configure(self): - if tools.Version(self.version) < "4.0.0" and self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() + + def validate(self): + if Version(self.version) < "4.0.0" and self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy("libdivide.h", dst="include", src=self._source_subfolder) - self.copy("constant_fast_div.h", dst="include", src=self._source_subfolder) - self.copy("s16_ldparams.h", dst="include", src=self._source_subfolder) - self.copy("u16_ldparams.h", dst="include", src=self._source_subfolder) + copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "libdivide.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + copy(self, "constant_fast_div.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + copy(self, "s16_ldparams.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + copy(self, "u16_ldparams.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + simd = self.options.get_safe("simd_intrinsics", False) if bool(simd): - self.cpp_info.defines = [ - {"sse2": "LIBDIVIDE_SSE2", - "avx2": "LIBDIVIDE_AVX2", - "avx512": "LIBDIVIDE_AVX512"}[str(simd)] - ] + self.cpp_info.defines = [{"sse2": "LIBDIVIDE_SSE2", "avx2": "LIBDIVIDE_AVX2", "avx512": "LIBDIVIDE_AVX512"}[str(simd)]] if self.options.get_safe("sse2", False): self.cpp_info.defines.append("LIBDIVIDE_SSE2") if self.options.get_safe("avx2", False): diff --git a/recipes/libdivide/all/test_package/CMakeLists.txt b/recipes/libdivide/all/test_package/CMakeLists.txt index c08b1cebc6009..619dae18c0777 100644 --- a/recipes/libdivide/all/test_package/CMakeLists.txt +++ b/recipes/libdivide/all/test_package/CMakeLists.txt @@ -1,15 +1,18 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX C) find_package(libdivide REQUIRED CONFIG) add_executable(${PROJECT_NAME}_c test_package.c) target_link_libraries(${PROJECT_NAME}_c libdivide::libdivide) -set_property(TARGET ${PROJECT_NAME}_c PROPERTY C_STANDARD 99) +set_target_properties(${PROJECT_NAME}_c PROPERTIES +C_STANDARD 99 +LINKER_LANGUAGE C +) add_executable(${PROJECT_NAME}_cpp test_package.cpp) target_link_libraries(${PROJECT_NAME}_cpp libdivide::libdivide) -set_property(TARGET ${PROJECT_NAME}_cpp PROPERTY CXX_STANDARD 11) +set_target_properties( ${PROJECT_NAME}_cpp PROPERTIES +CXX_STANDARD 11 +LINKER_LANGUAGE CXX +) diff --git a/recipes/libdivide/all/test_package/conanfile.py b/recipes/libdivide/all/test_package/conanfile.py index 0eee35d285cde..b89281b9f4061 100644 --- a/recipes/libdivide/all/test_package/conanfile.py +++ b/recipes/libdivide/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" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,8 +21,8 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_c_path = os.path.join("bin", "test_package_c") - self.run(bin_c_path, run_environment=True) - bin_cpp_path = os.path.join("bin", "test_package_cpp") - self.run(bin_cpp_path, run_environment=True) + if can_run(self): + 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_cpp") + self.run(bin_path, env="conanrun") diff --git a/recipes/libdivide/all/test_v1_package/CMakeLists.txt b/recipes/libdivide/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libdivide/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/libdivide/all/test_v1_package/conanfile.py b/recipes/libdivide/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0eee35d285cde --- /dev/null +++ b/recipes/libdivide/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_c_path = os.path.join("bin", "test_package_c") + self.run(bin_c_path, run_environment=True) + bin_cpp_path = os.path.join("bin", "test_package_cpp") + self.run(bin_cpp_path, run_environment=True) diff --git a/recipes/libdivide/all/test_v1_package/test_package.c b/recipes/libdivide/all/test_v1_package/test_package.c new file mode 100644 index 0000000000000..dc8a5151154fd --- /dev/null +++ b/recipes/libdivide/all/test_v1_package/test_package.c @@ -0,0 +1,12 @@ +#include + +#include +#include +#include + +int main() { + struct libdivide_s64_t fast_d = libdivide_s64_gen(30); + int64_t a = 60; + printf("%" PRId64 "\n", libdivide_s64_do(a, &fast_d)); + return 0; +} From 542b93ea1680b47bfc8e504e04f574ca712a745d Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 6 Jul 2023 11:42:15 +0100 Subject: [PATCH 0789/4087] (#18333) bison: fix building on Windows with Conan 2.0 * bison: fix building on Windows with Conan 2.0 * bison: fixes --- recipes/bison/all/conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/bison/all/conanfile.py b/recipes/bison/all/conanfile.py index 9a5645894b97c..98dd943f37017 100644 --- a/recipes/bison/all/conanfile.py +++ b/recipes/bison/all/conanfile.py @@ -29,10 +29,6 @@ class BisonConan(ConanFile): def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - def export_sources(self): export_conandata_patches(self) @@ -96,8 +92,9 @@ def generate(self): tc.extra_cflags.append("-FS") env = tc.environment() if is_msvc(self): - compile_wrapper = unix_path(self, self._user_info_build["automake"].compile) - ar_wrapper = unix_path(self, self._user_info_build["automake"].ar_lib) + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) env.define("CC", f"{compile_wrapper} cl -nologo") env.define("CXX", f"{compile_wrapper} cl -nologo") env.define("LD", "link -nologo") From a22f2384311eee25a47cfb8d3e04f0234d2e244e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 13:02:40 +0200 Subject: [PATCH 0790/4087] (#18224) pretty-name: migrate to Conan v2 * pretty-name: migrate to Conan v2 * pretty-name: restore test_v1_package --- recipes/pretty-name/all/conanfile.py | 71 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../pretty-name/all/test_package/conanfile.py | 27 ++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ .../all/test_v1_package/src/test.cpp | 23 ++++++ 6 files changed, 111 insertions(+), 42 deletions(-) create mode 100644 recipes/pretty-name/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pretty-name/all/test_v1_package/conanfile.py create mode 100644 recipes/pretty-name/all/test_v1_package/src/test.cpp diff --git a/recipes/pretty-name/all/conanfile.py b/recipes/pretty-name/all/conanfile.py index 994d455d12104..3cfd0f89c07f3 100644 --- a/recipes/pretty-name/all/conanfile.py +++ b/recipes/pretty-name/all/conanfile.py @@ -1,33 +1,30 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class PrettyNameConan(ConanFile): name = "pretty-name" + description = "An easy and consistent way how to get type names in C++" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Rechip/pretty-name" - description = "An easy and consistent way how to get type names in C++" - topics = ("cpp", "typename") - settings = ["compiler"] + topics = ("cpp", "typename", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) - self.copy(pattern="*", dst="include", - src=os.path.join(self._source_subfolder, "include")) + def _min_cppstd(self): + return 14 @property def _minimum_compilers_version(self): @@ -38,21 +35,39 @@ def _minimum_compilers_version(self): "apple-clang": "5.1", } + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "14") - minimum_version = self._minimum_compilers_version.get( - str(self.settings.compiler), False) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warn( - "pretty-name requires C++14. Your compiler is unknown. Assuming it supports C++14.") - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - "pretty-name requires C++14, which your compiler does not support.") + self.output.warning("pretty-name requires C++14. Your compiler is unknown. Assuming it supports C++14.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration("pretty-name requires C++14, which your compiler does not support.") - def package_id(self): - self.info.header_only() + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + 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", "pretty-name") + self.cpp_info.set_property("cmake_target_name", "pretty-name::pretty-name") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "pretty-name" self.cpp_info.names["cmake_find_package_multi"] = "pretty-name" diff --git a/recipes/pretty-name/all/test_package/CMakeLists.txt b/recipes/pretty-name/all/test_package/CMakeLists.txt index 036c165068273..8cdadcdcea642 100644 --- a/recipes/pretty-name/all/test_package/CMakeLists.txt +++ b/recipes/pretty-name/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(pretty-name REQUIRED CONFIG) -find_package(pretty-name CONFIG REQUIRED) add_executable(${PROJECT_NAME} src/test.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE pretty-name::pretty-name) - set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14 diff --git a/recipes/pretty-name/all/test_package/conanfile.py b/recipes/pretty-name/all/test_package/conanfile.py index cbe0be23191a2..fae501d0afb9e 100644 --- a/recipes/pretty-name/all/test_package/conanfile.py +++ b/recipes/pretty-name/all/test_package/conanfile.py @@ -1,17 +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, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - self.cmake = CMake(self) - self.cmake.configure() - self.cmake.build() + 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): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pretty-name/all/test_v1_package/CMakeLists.txt b/recipes/pretty-name/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pretty-name/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/pretty-name/all/test_v1_package/conanfile.py b/recipes/pretty-name/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..cbe0be23191a2 --- /dev/null +++ b/recipes/pretty-name/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "arch", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + self.cmake = CMake(self) + self.cmake.configure() + 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) diff --git a/recipes/pretty-name/all/test_v1_package/src/test.cpp b/recipes/pretty-name/all/test_v1_package/src/test.cpp new file mode 100644 index 0000000000000..8c761f54ec31c --- /dev/null +++ b/recipes/pretty-name/all/test_v1_package/src/test.cpp @@ -0,0 +1,23 @@ +#include +#include +#include + +struct Test { + int a; + int b; +}; + +namespace Namespace { +template +struct Test { + A a; + B b; +}; +} // namespace Namespace + +int main() { + std::cout << pretty_name::pretty_name() << std::endl; + std::cout << pretty_name::pretty_name>() << std::endl; + + return EXIT_SUCCESS; +} From 4b81f454d606604dfd7adf71ec88c36223356465 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 13:22:59 +0200 Subject: [PATCH 0791/4087] (#18208) flatbush: migrate to Conan v2 * flatbush: autoformat * flatbush: migrate to Conan v2 * flatbush: restore test_v1_package --- recipes/flatbush/all/conanfile.py | 48 ++++++++++++++----- .../flatbush/all/test_package/CMakeLists.txt | 12 ++--- .../flatbush/all/test_package/conanfile.py | 23 ++++++--- .../all/test_package/test_package.cpp | 3 +- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../flatbush/all/test_v1_package/conanfile.py | 17 +++++++ 6 files changed, 82 insertions(+), 29 deletions(-) create mode 100644 recipes/flatbush/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/flatbush/all/test_v1_package/conanfile.py diff --git a/recipes/flatbush/all/conanfile.py b/recipes/flatbush/all/conanfile.py index c9dd4bc6e1a67..b97d78e5d781a 100644 --- a/recipes/flatbush/all/conanfile.py +++ b/recipes/flatbush/all/conanfile.py @@ -1,25 +1,49 @@ -from conans import ConanFile, tools +import os + +from conan import ConanFile +from conan.tools.build import valid_min_cppstd, check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class FlatbushConan(ConanFile): name = "flatbush" - license = "MIT" - homepage = "https://github.com/chusitoo/flatbush" description = "Flatbush for C++" - topics = ("header-only", "flatbush", "r-tree", "hilbert", "zero-copy", "spatial-index") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/chusitoo/flatbush" + topics = ("header-only", "r-tree", "hilbert", "zero-copy", "spatial-index") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True) + @property + def _min_cppstd(self): + return 11 - def package(self): - self.copy(pattern="LICENSE", dst="licenses") - self.copy(pattern="flatbush.h", dst="include") + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "flatbush.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): - if not tools.valid_min_cppstd(self, "20"): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if not valid_min_cppstd(self, "20"): self.cpp_info.defines = ["FLATBUSH_SPAN"] diff --git a/recipes/flatbush/all/test_package/CMakeLists.txt b/recipes/flatbush/all/test_package/CMakeLists.txt index 6ad4f7bcfdd6b..96d337017953c 100644 --- a/recipes/flatbush/all/test_package/CMakeLists.txt +++ b/recipes/flatbush/all/test_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -project(test_package VERSION 1.0.0 LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -find_package(flatbush CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} "test_package.cpp") +find_package(flatbush REQUIRED CONFIG) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} flatbush::flatbush) - set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/flatbush/all/test_package/conanfile.py b/recipes/flatbush/all/test_package/conanfile.py index 5b0ef1df32f11..fae501d0afb9e 100644 --- a/recipes/flatbush/all/test_package/conanfile.py +++ b/recipes/flatbush/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version +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" + 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/flatbush/all/test_package/test_package.cpp b/recipes/flatbush/all/test_package/test_package.cpp index 36860193e4ed8..1db2b51eded51 100644 --- a/recipes/flatbush/all/test_package/test_package.cpp +++ b/recipes/flatbush/all/test_package/test_package.cpp @@ -24,8 +24,7 @@ SOFTWARE. #include "flatbush.h" -int main(int argc, char** argv) -{ +int main() { flatbush::FlatbushBuilder wBuilder; wBuilder.add({ 0, 0, 0, 0 }); auto wIndex = wBuilder.finish(); diff --git a/recipes/flatbush/all/test_v1_package/CMakeLists.txt b/recipes/flatbush/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/flatbush/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/flatbush/all/test_v1_package/conanfile.py b/recipes/flatbush/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5b0ef1df32f11 --- /dev/null +++ b/recipes/flatbush/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +from conans.tools import Version +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 2e4961fd318281a346f86a651f6e0b3dc3742276 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 13:42:40 +0200 Subject: [PATCH 0792/4087] (#18201) happly: migrate to Conan v2 * happly: migrate to Conan v2 * happly: restore test_v1_package * happly: add cmake_find_package_multi generator to test_v1_package --- recipes/happly/all/conanfile.py | 40 ++++++++++++------- .../happly/all/test_package/CMakeLists.txt | 9 ++--- recipes/happly/all/test_package/conanfile.py | 20 +++++++--- .../happly/all/test_v1_package/CMakeLists.txt | 8 ++++ .../happly/all/test_v1_package/conanfile.py | 21 ++++++++++ 5 files changed, 74 insertions(+), 24 deletions(-) create mode 100644 recipes/happly/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/happly/all/test_v1_package/conanfile.py diff --git a/recipes/happly/all/conanfile.py b/recipes/happly/all/conanfile.py index 21fdcfcb45fd6..2d6741283955a 100644 --- a/recipes/happly/all/conanfile.py +++ b/recipes/happly/all/conanfile.py @@ -1,30 +1,42 @@ -from conans import ConanFile, tools +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class HapplyConan(ConanFile): name = "happly" + description = "A C++ header-only parser for the PLY file format. Parse .ply happily!" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nmwsharp/happly" - topics = ("conan", "happly", "ply", "3D") - license = "MIT" - description = "A C++ header-only parser for the PLY file format. Parse .ply happily!" - settings = "compiler" + topics = ("ply", "3D", "mesh", "point cloud", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("happly.h", src=self._source_subfolder, dst="include") + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "happly.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/happly/all/test_package/CMakeLists.txt b/recipes/happly/all/test_package/CMakeLists.txt index 33ae887aa6aea..6b4a4a756dfdf 100644 --- a/recipes/happly/all/test_package/CMakeLists.txt +++ b/recipes/happly/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(happly REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE happly::happly) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/happly/all/test_package/conanfile.py b/recipes/happly/all/test_package/conanfile.py index 5a25a64cfaaa9..93e4ec3d18f37 100644 --- a/recipes/happly/all/test_package/conanfile.py +++ b/recipes/happly/all/test_package/conanfile.py @@ -1,12 +1,21 @@ import glob import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_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) @@ -14,8 +23,9 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package")) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") # Let's check if the *.ply file has been created successfully ply_format_file = glob.glob("*.ply")[0] assert os.path.exists(ply_format_file) diff --git a/recipes/happly/all/test_v1_package/CMakeLists.txt b/recipes/happly/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/happly/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/happly/all/test_v1_package/conanfile.py b/recipes/happly/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4b114846091e7 --- /dev/null +++ b/recipes/happly/all/test_v1_package/conanfile.py @@ -0,0 +1,21 @@ +import glob +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "test_package")) + # Let's check if the *.ply file has been created successfully + ply_format_file = glob.glob("*.ply")[0] + assert os.path.exists(ply_format_file) From 4b9ccc3ae6fdba174e3bcd0338037497604b1a43 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 14:04:05 +0200 Subject: [PATCH 0793/4087] (#18190) astc-codec: add package_type * astc-codec: add package_type * astc-codec: restore test_v1_package --- recipes/astc-codec/all/conanfile.py | 4 +++- recipes/astc-codec/all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/recipes/astc-codec/all/conanfile.py b/recipes/astc-codec/all/conanfile.py index a02aae0b4d930..2fab4a9810372 100644 --- a/recipes/astc-codec/all/conanfile.py +++ b/recipes/astc-codec/all/conanfile.py @@ -9,11 +9,13 @@ class AstcCodecConan(ConanFile): name = "astc-codec" - description = " A software ASTC decoder implementation which supports the ASTC LDR profile" + description = "A software ASTC decoder implementation which supports the ASTC LDR profile" homepage = "https://github.com/google/astc-codec" url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" topics = ("astc", "codec") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/astc-codec/all/test_v1_package/CMakeLists.txt b/recipes/astc-codec/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/astc-codec/all/test_v1_package/CMakeLists.txt +++ b/recipes/astc-codec/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 63c16f1dbb2fcc7032e8411b62032e2a73deb4a6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 14:43:38 +0200 Subject: [PATCH 0794/4087] (#18189) asio-grpc: add package_type * asio-grpc: add package_type * asio-grpc: restore test_v1_package --- recipes/asio-grpc/all/conanfile.py | 42 ++++++++++++------- .../all/test_v1_package/CMakeLists.txt | 34 ++------------- 2 files changed, 30 insertions(+), 46 deletions(-) diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index 3bb6966103744..41ebfbae5f918 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -11,13 +11,14 @@ class AsioGrpcConan(ConanFile): name = "asio-grpc" - description = ("Asynchronous gRPC with Asio/unified executors") - homepage = "https://github.com/Tradias/asio-grpc" - url = "https://github.com/conan-io/conan-center-index" + description = "Asynchronous gRPC with Asio/unified executors" license = "Apache-2.0" - topics = ("cpp", "asynchronous", "grpc", "asio", "asynchronous-programming", "cpp17", "coroutine", "cpp20", "executors") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Tradias/asio-grpc" + topics = ("cpp", "asynchronous", "grpc", "asio", "asynchronous-programming", "cpp17", "coroutine", "cpp20", "executors", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True options = { "backend": ["boost", "asio", "unifex"], "local_allocator": ["auto", "memory_resource", "boost_container", "recycling_allocator"], @@ -26,6 +27,7 @@ class AsioGrpcConan(ConanFile): "backend": "boost", "local_allocator": "auto", } + no_copy_source = True @property def _min_cppstd(self): @@ -40,16 +42,6 @@ def _compilers_minimum_version(self): "apple-clang": "11", } - 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: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, which your compiler does not support.") - else: - self.output.warn(f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") - def configure(self): self._local_allocator_option = self.options.local_allocator if self._local_allocator_option == "auto": @@ -78,6 +70,21 @@ def package_id(self): def layout(self): cmake_layout(self, src_folder="src") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version: + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._min_cppstd}, which your compiler does not support." + ) + else: + self.output.warning( + f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports" + f" C++{self._min_cppstd}." + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -98,8 +105,11 @@ def package(self): rm(self, "asio-grpc*", os.path.join(self.package_folder, "lib", "cmake", "asio-grpc")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + build_modules = [os.path.join("lib", "cmake", "asio-grpc", "AsioGrpcProtobufGenerator.cmake")] - + self.cpp_info.requires = ["grpc::grpc++_unsecure"] if self.options.backend == "boost": self.cpp_info.defines = ["AGRPC_BOOST_ASIO"] diff --git a/recipes/asio-grpc/all/test_v1_package/CMakeLists.txt b/recipes/asio-grpc/all/test_v1_package/CMakeLists.txt index e68b2def0d618..91630d79f4abb 100644 --- a/recipes/asio-grpc/all/test_v1_package/CMakeLists.txt +++ b/recipes/asio-grpc/all/test_v1_package/CMakeLists.txt @@ -1,34 +1,8 @@ -cmake_minimum_required(VERSION 3.14) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(asio-grpc REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE asio-grpc::asio-grpc) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) - -# See https://github.com/chriskohlhoff/asio/issues/955 -target_compile_definitions(${PROJECT_NAME} - PRIVATE BOOST_ASIO_DISABLE_STD_ALIGNED_ALLOC) - -if(${asio-grpc_VERSION} VERSION_GREATER_EQUAL 2) - target_compile_definitions(${PROJECT_NAME} PRIVATE ASIO_GRPC_V2) -endif() - -if(CMAKE_CROSSCOMPILING) - # Assuming protoc plugins needed by `asio_grpc_protobuf_generate` are not - # available when cross compiling - target_compile_definitions(${PROJECT_NAME} PRIVATE CROSSCOMPILING) -else() - asio_grpc_protobuf_generate( - GENERATE_GRPC - TARGET - ${PROJECT_NAME} - OUT_DIR - "${CMAKE_CURRENT_BINARY_DIR}/generated" - PROTOS - "${CMAKE_CURRENT_LIST_DIR}/../test_package/test.proto") -endif() +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 6cfa44ba147e8ea423f0ea92bc8435be3a947be3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 15:23:30 +0200 Subject: [PATCH 0795/4087] (#18186) argtable3: add package_type * argtable3: add package_type * argtable3: restore test_v1_package --- recipes/argtable3/all/conanfile.py | 5 ++++- recipes/argtable3/all/test_package/CMakeLists.txt | 2 +- recipes/argtable3/all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/argtable3/all/conanfile.py b/recipes/argtable3/all/conanfile.py index 2b2ed84a2b4f5..86aef097f8805 100644 --- a/recipes/argtable3/all/conanfile.py +++ b/recipes/argtable3/all/conanfile.py @@ -7,13 +7,16 @@ required_conan_version = ">=1.53.0" + class Argtable3Conan(ConanFile): name = "argtable3" description = "A single-file, ANSI C, command-line parsing library that parses GNU-style command-line options." license = "BSD-3-clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.argtable.org/" - topics = ("conan", "argtable3", "command", "line", "argument", "parse", "parsing", "getopt") + topics = ("command", "line", "argument", "parse", "parsing", "getopt") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/argtable3/all/test_package/CMakeLists.txt b/recipes/argtable3/all/test_package/CMakeLists.txt index 79004b3e726d4..7d615d10f2ea9 100644 --- a/recipes/argtable3/all/test_package/CMakeLists.txt +++ b/recipes/argtable3/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(Argtable3 REQUIRED CONFIG) diff --git a/recipes/argtable3/all/test_v1_package/CMakeLists.txt b/recipes/argtable3/all/test_v1_package/CMakeLists.txt index be00a8c7f57c7..91630d79f4abb 100644 --- a/recipes/argtable3/all/test_v1_package/CMakeLists.txt +++ b/recipes/argtable3/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From ca24f40f85409024fbaa7bed912d175fab7cca54 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 15:43:06 +0200 Subject: [PATCH 0796/4087] (#18185) argtable2: add package_type * argtable2: add package_type * argtable2: restore test_v1_package --- recipes/argtable2/all/conanfile.py | 6 ++++-- recipes/argtable2/all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/recipes/argtable2/all/conanfile.py b/recipes/argtable2/all/conanfile.py index 4e3ccd375b1a6..8c8e33cf028bd 100644 --- a/recipes/argtable2/all/conanfile.py +++ b/recipes/argtable2/all/conanfile.py @@ -13,10 +13,12 @@ class Argtable2Conan(ConanFile): name = "argtable2" description = "Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss." - topics = ("argument", "parsing", "getopt") license = "LGPL-2.0+" - homepage = "http://argtable.sourceforge.net/" url = "https://github.com/conan-io/conan-center-index" + homepage = "http://argtable.sourceforge.net/" + topics = ("argument", "parsing", "getopt") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/argtable2/all/test_v1_package/CMakeLists.txt b/recipes/argtable2/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/argtable2/all/test_v1_package/CMakeLists.txt +++ b/recipes/argtable2/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From ec5099e8c1cf4c89999ff364bb97ba99b69ae81d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 7 Jul 2023 00:56:39 +0900 Subject: [PATCH 0797/4087] (#18377) type_safe: add version 0.2.3, update homepage --- recipes/type_safe/all/conandata.yml | 7 +++++-- recipes/type_safe/all/conanfile.py | 2 +- recipes/type_safe/all/test_package/CMakeLists.txt | 2 +- recipes/type_safe/config.yml | 2 ++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/type_safe/all/conandata.yml b/recipes/type_safe/all/conandata.yml index 8703a48442789..0be0030fda0b5 100644 --- a/recipes/type_safe/all/conandata.yml +++ b/recipes/type_safe/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "0.2.3": + url: "https://github.com/foonathan/type_safe/archive/v0.2.3.tar.gz" + sha256: "19008ab9526b0d2db1ae6bbd6640f5f7a398826bb2266561472e9f1b10d85bec" "0.2.2": url: "https://github.com/foonathan/type_safe/archive/v0.2.2.tar.gz" sha256: "34d97123fb9bca04a333565c4a2498425d602ec0c759de4be1b8cfae77d05823" '0.2.1': - url: https://github.com/foonathan/type_safe/archive/v0.2.1.zip - sha256: 1c941f7ecd5e17e80773a2d8c9c905f552cc80417f8006ade7e9fa3525ff1b55 + url: "https://github.com/foonathan/type_safe/archive/v0.2.1.tar.gz" + sha256: "49c703d52b724635cb9ee0cfeac9e2c9957134380da900a69791bd0e3d0c3673" diff --git a/recipes/type_safe/all/conanfile.py b/recipes/type_safe/all/conanfile.py index 4ac2d00d76056..a527bd249ec3e 100644 --- a/recipes/type_safe/all/conanfile.py +++ b/recipes/type_safe/all/conanfile.py @@ -13,7 +13,7 @@ class TypeSafe(ConanFile): description = "Zero overhead utilities for preventing bugs at compile time" license = "MIT" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://foonathan.net/type_safe" + homepage = "https://type_safe.foonathan.net/" topics = ("c++", "strong typing", "vocabulary-types", "header-only") package_type = "header-library" diff --git a/recipes/type_safe/all/test_package/CMakeLists.txt b/recipes/type_safe/all/test_package/CMakeLists.txt index 3b3768ce71104..d669047ac6039 100644 --- a/recipes/type_safe/all/test_package/CMakeLists.txt +++ b/recipes/type_safe/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(type_safe REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE type_safe::type_safe) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/type_safe/config.yml b/recipes/type_safe/config.yml index 3d99cc668cde3..ae20ba2754647 100644 --- a/recipes/type_safe/config.yml +++ b/recipes/type_safe/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.3": + folder: all "0.2.2": folder: all '0.2.1': From 7cd7b0e803264f71425765c3a56b605036be06e4 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Thu, 6 Jul 2023 18:22:58 +0200 Subject: [PATCH 0798/4087] (#18308) ffmpeg: add version 6.0 --- recipes/ffmpeg/all/conandata.yml | 3 +++ recipes/ffmpeg/all/conanfile.py | 2 +- recipes/ffmpeg/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 89651174ed1ed..d7a1adb10f829 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0": + url: "https://ffmpeg.org/releases/ffmpeg-6.0.tar.bz2" + sha256: "47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d" "5.1": url: "https://ffmpeg.org/releases/ffmpeg-5.1.tar.bz2" sha256: "32b56fb01ce90d452958ae25e91c9564abf49ed5453c127bec23c63e530aa8fa" diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index b68accaf3f292..67048e13ce52b 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -277,7 +277,7 @@ def requirements(self): if self.options.with_zeromq: self.requires("zeromq/4.3.4") if self.options.with_sdl: - self.requires("sdl/2.26.1") + self.requires("sdl/2.26.5") if self.options.with_libx264: self.requires("libx264/cci.20220602") if self.options.with_libx265: diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index c829a400b90aa..5596a0ba4cf84 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,4 +1,6 @@ versions: + "6.0": + folder: "all" "5.1": folder: "all" "5.0": From 90f4af50f21df1a0f0fe31c9868199545aff51d8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 19:03:30 +0200 Subject: [PATCH 0799/4087] (#18174) alpaca: add package_type * alpaca: add package_type * alpaca: restore test_v1_package --- recipes/alpaca/all/conanfile.py | 10 +++++++--- recipes/alpaca/all/test_package/test_package.cpp | 11 +++++------ recipes/alpaca/all/test_v1_package/CMakeLists.txt | 5 ++--- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/recipes/alpaca/all/conanfile.py b/recipes/alpaca/all/conanfile.py index a7227d4427d29..02d46c1a923f7 100644 --- a/recipes/alpaca/all/conanfile.py +++ b/recipes/alpaca/all/conanfile.py @@ -7,17 +7,21 @@ from conan.tools.scm import Version import os - required_conan_version = ">=1.52.0" class AlpacaConan(ConanFile): name = "alpaca" - description = "Serialization library written in C++17 - Pack C++ structs into a compact byte-array without any macros or boilerplate code" + description = ( + "Serialization library written in C++17 - " + "Pack C++ structs into a compact byte-array without any macros or boilerplate code" + ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/p-ranav/alpaca" topics = ("reflection", "checksum", "serialization", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -51,7 +55,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) diff --git a/recipes/alpaca/all/test_package/test_package.cpp b/recipes/alpaca/all/test_package/test_package.cpp index 0134e1d6e0d2d..c1126e0786194 100644 --- a/recipes/alpaca/all/test_package/test_package.cpp +++ b/recipes/alpaca/all/test_package/test_package.cpp @@ -1,11 +1,11 @@ #include struct Config { - std::string device; - std::pair resolution; - std::array K_matrix; - std::vector distortion_coeffients; - std::map> parameters; + std::string device; + std::pair resolution; + std::array K_matrix; + std::vector distortion_coeffients; + std::map> parameters; }; int main() { @@ -32,4 +32,3 @@ int main() { } return 0; } - diff --git a/recipes/alpaca/all/test_v1_package/CMakeLists.txt b/recipes/alpaca/all/test_v1_package/CMakeLists.txt index 0aeb3e1d92584..91630d79f4abb 100644 --- a/recipes/alpaca/all/test_v1_package/CMakeLists.txt +++ b/recipes/alpaca/all/test_v1_package/CMakeLists.txt @@ -1,6 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) # if the project is pure C -project(test_package LANGUAGES CXX) # if the project uses c++ +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) From b5cc31906caa34a05bea06e65de4fc7881866d4c Mon Sep 17 00:00:00 2001 From: Alex E <36134278+chusitoo@users.noreply.github.com> Date: Thu, 6 Jul 2023 13:22:30 -0400 Subject: [PATCH 0800/4087] (#18276) flatbush: add release v1.2.0 * Migrate to Conan v2 * Add release v1.2.0 * Migrate to Conan v2 * Add release v1.2.0 * Missed from merge --- recipes/flatbush/all/conandata.yml | 3 +++ recipes/flatbush/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/flatbush/all/conandata.yml b/recipes/flatbush/all/conandata.yml index 3d50fc3bd1efd..f43d2fb04fed7 100644 --- a/recipes/flatbush/all/conandata.yml +++ b/recipes/flatbush/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/chusitoo/flatbush/archive/refs/tags/v1.2.0.zip" + sha256: "d8d0471ad6aba1e4b1160abc38a0fe21a35e3ea1c2a9509ce9910072f7fc24bb" "1.1.0": url: "https://github.com/chusitoo/flatbush/archive/refs/tags/v1.1.0.zip" sha256: "3ef034110b0ea6f7514d3cdc362976e2a9ab321cc9e4b2c847167ad26df0c0f1" diff --git a/recipes/flatbush/config.yml b/recipes/flatbush/config.yml index 11b7aff3a5ac4..2424e32f70b3e 100644 --- a/recipes/flatbush/config.yml +++ b/recipes/flatbush/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.0": + folder: "all" "1.1.0": folder: "all" From 5fa88b075fa69d6ef1f8c5f3b20d0bf5bb5f5161 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 19:43:29 +0200 Subject: [PATCH 0801/4087] (#18184) argparse: add package_type, tidy * argparse: add package_type, tidy * argparse: restore test_v1_package --- recipes/argparse/all/conanfile.py | 18 ++++++++++-------- .../argparse/all/test_package/CMakeLists.txt | 4 ++-- .../all/test_v1_package/CMakeLists.txt | 9 +++------ 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/recipes/argparse/all/conanfile.py b/recipes/argparse/all/conanfile.py index e7e9de237fe52..11300088df46e 100644 --- a/recipes/argparse/all/conanfile.py +++ b/recipes/argparse/all/conanfile.py @@ -11,12 +11,15 @@ class ArgparseConan(ConanFile): name = "argparse" + description = "Argument Parser for Modern C++" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/p-ranav/argparse" - topics = ("argparse", "argument", "parsing") - license = "MIT" - description = "Argument Parser for Modern C++" + topics = ("argument", "parsing", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): @@ -39,6 +42,9 @@ def export_sources(self): for p in self.conan_data.get("patches", {}).get(self.version, []): copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -54,12 +60,8 @@ def validate(self): if Version(self.version) > "2.1" and self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libstdc++": raise ConanInvalidConfiguration("This recipe does not permit >2.1 with clang and stdlibc++. There may be an infrastructure issue in CCI.") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) diff --git a/recipes/argparse/all/test_package/CMakeLists.txt b/recipes/argparse/all/test_package/CMakeLists.txt index e8794b9790e15..cc806a824f8c4 100644 --- a/recipes/argparse/all/test_package/CMakeLists.txt +++ b/recipes/argparse/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(argparse REQUIRED CONFIG) diff --git a/recipes/argparse/all/test_v1_package/CMakeLists.txt b/recipes/argparse/all/test_v1_package/CMakeLists.txt index 59cfa3b376305..91630d79f4abb 100644 --- a/recipes/argparse/all/test_v1_package/CMakeLists.txt +++ b/recipes/argparse/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(argparse REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE argparse::argparse) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 8d0c38773740a85c7419d78da986d8ab16f4b3dd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 20:23:09 +0200 Subject: [PATCH 0802/4087] (#18183) argh: add package_type, tidy * argh: add package_type, tidy * argh: restore test_v1_package --- recipes/argh/all/conanfile.py | 17 +++++++++-------- recipes/argh/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/recipes/argh/all/conanfile.py b/recipes/argh/all/conanfile.py index f6f6a44814ca4..855db0a2a7110 100644 --- a/recipes/argh/all/conanfile.py +++ b/recipes/argh/all/conanfile.py @@ -10,14 +10,19 @@ class ArgparseConan(ConanFile): name = "argh" + description = "Frustration-free command line processing" + license = "BSD-3" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/adishavit/argh" - topics = ("argh", "argument", "parsing") - license = "BSD-3" - description = "Frustration-free command line processing" + topics = ("argument", "parsing", "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() @@ -25,12 +30,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/argh/all/test_v1_package/CMakeLists.txt b/recipes/argh/all/test_v1_package/CMakeLists.txt index 65e0578c4c0f6..91630d79f4abb 100644 --- a/recipes/argh/all/test_v1_package/CMakeLists.txt +++ b/recipes/argh/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(argh REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE argh) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From d723a0d9d5f9d62fc66a66bc54a4575d5a275504 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 20:43:21 +0200 Subject: [PATCH 0803/4087] (#18182) arcus: add package_type * arcus: add package_type * arcus: restore test_v1_package --- recipes/arcus/all/conanfile.py | 6 +++--- recipes/arcus/all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/arcus/all/conanfile.py b/recipes/arcus/all/conanfile.py index d2e0d9c10f99c..8f6e301a39313 100644 --- a/recipes/arcus/all/conanfile.py +++ b/recipes/arcus/all/conanfile.py @@ -15,15 +15,15 @@ class ArcusConan(ConanFile): "creating a socket in a thread and using this socket to send " \ "and receive messages based on the Protocol Buffers library." license = "LGPL-3.0-or-later" - topics = ("protobuf", "socket", "cura") - homepage = "https://github.com/Ultimaker/libArcus" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Ultimaker/libArcus" + topics = ("protobuf", "socket", "cura") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - } default_options = { "shared": False, diff --git a/recipes/arcus/all/test_v1_package/CMakeLists.txt b/recipes/arcus/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/arcus/all/test_v1_package/CMakeLists.txt +++ b/recipes/arcus/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 4f8f65d8d72653ada544f68fcc549f447e980551 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 21:03:39 +0200 Subject: [PATCH 0804/4087] (#18168) ade: add package_type * ade: add package_type * ade: restore test_v1_package --- recipes/ade/all/conanfile.py | 1 + recipes/ade/all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/ade/all/conanfile.py b/recipes/ade/all/conanfile.py index 56f8248013585..2e4dc8aa99a3a 100644 --- a/recipes/ade/all/conanfile.py +++ b/recipes/ade/all/conanfile.py @@ -16,6 +16,7 @@ class AdeConan(ConanFile): description = "Graph construction, manipulation, and processing framework" topics = ("graphs", "opencv") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], diff --git a/recipes/ade/all/test_v1_package/CMakeLists.txt b/recipes/ade/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/ade/all/test_v1_package/CMakeLists.txt +++ b/recipes/ade/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 4627e43b25dbc0471a0c22e5dfe3233d900a596b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 6 Jul 2023 21:23:56 +0200 Subject: [PATCH 0805/4087] (#18046) darknet: migrate to Conan v2 * darknet: migrate to Conan v2 * darknet: add OPENCV=1 define if opencv enabled * darknet: chdir(self.source_folder) in build() * fixing the force of explicit fPIC=True as default --------- Co-authored-by: James --- recipes/darknet/all/conandata.yml | 1 - recipes/darknet/all/conanfile.py | 122 ++++++++++++------ .../darknet/all/test_package/CMakeLists.txt | 5 +- recipes/darknet/all/test_package/conanfile.py | 24 ++-- 4 files changed, 97 insertions(+), 55 deletions(-) diff --git a/recipes/darknet/all/conandata.yml b/recipes/darknet/all/conandata.yml index f7382d7a3ec4c..f0ab72430d98e 100644 --- a/recipes/darknet/all/conandata.yml +++ b/recipes/darknet/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: cci.20180914: - patch_file: "patches/include_conan_flags.patch" - base_path: "source_subfolder" diff --git a/recipes/darknet/all/conanfile.py b/recipes/darknet/all/conanfile.py index 5e49bf67b81ff..11a96d6b05dda 100644 --- a/recipes/darknet/all/conanfile.py +++ b/recipes/darknet/all/conanfile.py @@ -1,32 +1,39 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import stdcpp_library +from conan.tools.files import ( + apply_conandata_patches, + chdir, + copy, + export_conandata_patches, + get, + replace_in_file, +) +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout class DarknetConan(ConanFile): name = "darknet" + description = "Darknet is a neural network frameworks written in C" license = "YOLO" url = "https://github.com/conan-io/conan-center-index" homepage = "http://pjreddie.com/darknet/" - description = "Darknet is a neural network frameworks written in C" - topics = ("darknet", "neural network", "deep learning") + topics = ("neural network", "deep learning") settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], "fPIC": [True, False], - "with_opencv": [True, False] + "with_opencv": [True, False], } default_options = { "shared": False, "fPIC": True, "with_opencv": False, } - exports_sources = ['patches/*'] - generators = "pkg_config" - - @property - def _source_subfolder(self): - return "source_subfolder" @property def _lib_to_compile(self): @@ -43,56 +50,87 @@ def _shared_lib_extension(self): return ".so" def _patch_sources(self): - for patch in self.conan_data["patches"].get(self.version, []): - tools.patch(**patch) - tools.replace_in_file( - os.path.join(self._source_subfolder, "Makefile"), + apply_conandata_patches(self) + replace_in_file( + self, + os.path.join(self.source_folder, "Makefile"), "SLIB=libdarknet.so", - "SLIB=libdarknet" + self._shared_lib_extension + f"SLIB=libdarknet{self._shared_lib_extension}", ) - tools.replace_in_file( - os.path.join(self._source_subfolder, "Makefile"), + replace_in_file( + self, + os.path.join(self.source_folder, "Makefile"), "all: obj backup results $(SLIB) $(ALIB) $(EXEC)", - "all: obj backup results " + self._lib_to_compile + f"all: obj backup results {self._lib_to_compile}", ) + def export_sources(self): + export_conandata_patches(self) + def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def validate(self): - if self.settings.os == "Windows": - raise ConanInvalidConfiguration("This library is not compatible with Windows") + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_opencv: + # Requires OpenCV 2.x self.requires("opencv/2.4.13.7") + def validate(self): + if self.settings.os == "Windows": + raise ConanInvalidConfiguration("This library is not compatible with Windows") + def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.fpic = self.options.get_safe("fPIC", True) + tc.make_args = ["OPENCV={}".format("1" if self.options.with_opencv else "0")] + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() def build(self): - self._patch_sources() - with tools.chdir(self._source_subfolder): - with tools.environment_append({"PKG_CONFIG_PATH": self.build_folder}): - args = ["OPENCV={}".format("1" if self.options.with_opencv else "0")] - env_build = AutoToolsBuildEnvironment(self) - env_build.fpic = self.options.get_safe("fPIC", True) - env_build.make(args=args) + with chdir(self, self.source_folder): + self._patch_sources() + autotools = Autotools(self) + autotools.make() def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.so", dst="lib", keep_path=False) - self.copy("*.dylib", dst="lib", keep_path=False) - self.copy("*.a", dst="lib", keep_path=False) + copy( + self, + "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + copy( + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + for pattern in ["*.so", "*.dylib", "*.a"]: + copy( + self, + pattern, + src=self.source_folder, + dst=os.path.join(self.package_folder, "lib"), + keep_path=False, + ) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["darknet"] - if self.settings.os == "Linux": + if self.options.with_opencv: + # For https://github.com/pjreddie/darknet/blob/61c9d02ec461e30d55762ec7669d6a1d3c356fb2/include/darknet.h#L757 + self.cpp_info.defines.append("OPENCV=1") + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m", "pthread"] - if tools.stdcpp_library(self): - self.cpp_info.system_libs.append(tools.stdcpp_library(self)) + if stdcpp_library(self): + self.cpp_info.system_libs.append(stdcpp_library(self)) diff --git a/recipes/darknet/all/test_package/CMakeLists.txt b/recipes/darknet/all/test_package/CMakeLists.txt index e651ebaf233a3..7e2c525014053 100644 --- a/recipes/darknet/all/test_package/CMakeLists.txt +++ b/recipes/darknet/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(darknet CONFIG REQUIRED) add_executable(${PROJECT_NAME} example.cpp) diff --git a/recipes/darknet/all/test_package/conanfile.py b/recipes/darknet/all/test_package/conanfile.py index ffafc9bf4fa15..ef5d7042163ec 100644 --- a/recipes/darknet/all/test_package/conanfile.py +++ b/recipes/darknet/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 DarknetTestConan(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) @@ -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") From 0508e21e3b0e3ab4c0f059ac2bc9edbef989a17c Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Fri, 7 Jul 2023 05:15:03 +0930 Subject: [PATCH 0806/4087] (#17320) [armadillo] Add version 12.2.0 * Add version 12.2.0 * Remove unnecessary authorship headers to patches * Add HDF5 back to armadillo wrapper after removal in 12.2.0 * [armadillo] Force consumers to link hdf5 explicitly for >12.x * In line with upstream changes to the management of hdf5, consumers will have to explicitly link against hdf5 when using armadillo. Refer to https://gitlab.com/conradsnicta/armadillo-code/-/issues/227 for more details. * [armadillo] Remove debug warning statement * [armadillo] Disable cross building when use_hdf5=True --- recipes/armadillo/all/conandata.yml | 7 + recipes/armadillo/all/conanfile.py | 30 +++-- ...01-Guard-dependency-discovery-10.7.x.patch | 12 -- ...02-Guard-dependency-discovery-11.4.x.patch | 12 -- ...03-Guard-dependency-discovery-12.2.x.patch | 121 ++++++++++++++++++ .../armadillo/all/test_package/CMakeLists.txt | 6 +- .../armadillo/all/test_package/conanfile.py | 16 ++- recipes/armadillo/config.yml | 2 + 8 files changed, 171 insertions(+), 35 deletions(-) create mode 100644 recipes/armadillo/all/patches/0003-Guard-dependency-discovery-12.2.x.patch diff --git a/recipes/armadillo/all/conandata.yml b/recipes/armadillo/all/conandata.yml index 91baae076a36f..0d2a3540e26f2 100644 --- a/recipes/armadillo/all/conandata.yml +++ b/recipes/armadillo/all/conandata.yml @@ -8,6 +8,9 @@ sources: "11.4.3": url: "https://sourceforge.net/projects/arma/files/armadillo-11.4.3.tar.xz" sha256: "87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2" + "12.2.0": + url: "https://sourceforge.net/projects/arma/files/armadillo-12.2.0.tar.xz" + sha256: "b0dce042297e865add3351dad77f78c2c7638d6632f58357b015e50edcbd2186" patches: "10.7.0": @@ -22,3 +25,7 @@ patches: - patch_file: "patches/0002-Guard-dependency-discovery-11.4.x.patch" patch_description: "Add find_package statements to inject conan dependencies" patch_type: "conan" + "12.2.0": + - patch_file: "patches/0003-Guard-dependency-discovery-12.2.x.patch" + patch_description: "Add find_package statements to inject conan dependencies" + patch_type: "conan" diff --git a/recipes/armadillo/all/conanfile.py b/recipes/armadillo/all/conanfile.py index 4c814b3794dad..5638fc2428e26 100644 --- a/recipes/armadillo/all/conanfile.py +++ b/recipes/armadillo/all/conanfile.py @@ -2,6 +2,8 @@ from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.build import cross_building from conan.errors import ConanInvalidConfiguration import os @@ -26,6 +28,7 @@ class ArmadilloConan(ConanFile): "hdf5", ) settings = "os", "compiler", "build_type", "arch" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -98,6 +101,16 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if self.options.use_blas == "openblas": + # Note that if you're relying on this to build LAPACK, you _must_ have + # a fortran compiler installed. If you don't, OpenBLAS will build successfully but + # without LAPACK support, which isn't obvious. + # This can be achieved by setting the FC environment variable or the conf tools.build:compiler_executables={"fortran": "/path/to/fortran"} + # in your conan profile. + self.options["openblas"].build_lapack = ( + self.options.use_lapack == "openblas" + ) + def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) @@ -110,6 +123,11 @@ def validate(self): "framework_accelerate can only be used on Macos" ) + if self.options.use_hdf5 and Version(self.version) > "12" and cross_building(self): + raise ConanInvalidConfiguration( + "Armadillo does not support cross building with hdf5. Set use_hdf5=False and try again." + ) + for value, options in self._co_dependencies.items(): options_without_value = [ x for x in options if getattr(self.options, x) != value @@ -163,19 +181,15 @@ def requirements(self): # TODO: "arpack/1.0" # Pending https://github.com/conan-io/conan-center-index/issues/6755 # TODO: "flexiblas/3.0.4" # Pending https://github.com/conan-io/conan-center-index/issues/6827 - if self.options.use_hdf5: + # The armadillo library no longer takes any responsibility for linking hdf5 as of v12.x. This means + # it will have to be linked manually by consumers if desired. + # See https://gitlab.com/conradsnicta/armadillo-code/-/issues/227 for more information. + if self.options.use_hdf5 and Version(self.version) < "12": # Use the conan dependency if the system lib isn't being used self.requires("hdf5/1.14.0") if self.options.use_blas == "openblas": self.requires("openblas/0.3.20") - # Note that if you're relying on this to build LAPACK, you _must_ have - # a fortran compiler installed. If you don't, OpenBLAS will build successfully but - # without LAPACK support, which isn't obvious. - # This can be achieved by setting the FC environment variable in your conan profile - self.options["openblas"].build_lapack = ( - self.options.use_lapack == "openblas" - ) if ( self.options.use_blas == "intel_mkl" and self.options.use_lapack == "intel_mkl" diff --git a/recipes/armadillo/all/patches/0001-Guard-dependency-discovery-10.7.x.patch b/recipes/armadillo/all/patches/0001-Guard-dependency-discovery-10.7.x.patch index 89386d2e8686f..5736e2db0a819 100644 --- a/recipes/armadillo/all/patches/0001-Guard-dependency-discovery-10.7.x.patch +++ b/recipes/armadillo/all/patches/0001-Guard-dependency-discovery-10.7.x.patch @@ -1,15 +1,3 @@ -From 48a5162899ebeb0ba3ca3141b587a53d2eda4223 Mon Sep 17 00:00:00 2001 -From: Samuel Dowling -Date: Thu, 30 Sep 2021 23:51:35 +0930 -Subject: [PATCH] Guard dependency discovery - -* Add guards to prevent usage of custom cmake find package scripts. -* Remove ability to inject hdf5 include directory into compiled binary ---- - CMakeLists.txt | 72 ++++++++++++++++++++----- - include/armadillo_bits/config.hpp.cmake | 2 +- - 2 files changed, 60 insertions(+), 14 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt index 7857f8c..5f87f7e 100644 --- a/CMakeLists.txt diff --git a/recipes/armadillo/all/patches/0002-Guard-dependency-discovery-11.4.x.patch b/recipes/armadillo/all/patches/0002-Guard-dependency-discovery-11.4.x.patch index 33fb53382e9ee..26001d6f2f096 100644 --- a/recipes/armadillo/all/patches/0002-Guard-dependency-discovery-11.4.x.patch +++ b/recipes/armadillo/all/patches/0002-Guard-dependency-discovery-11.4.x.patch @@ -1,15 +1,3 @@ -From aa49b619333a25d892d119836ca97dd1d833475d Mon Sep 17 00:00:00 2001 -From: Samuel Dowling -Date: Thu, 5 Jan 2023 00:02:06 +1030 -Subject: [PATCH 1/1] Guard dependency discovery - -* Add guards to prevent usage of custom cmake find package scripts. -* Remove ability to inject hdf5 include directory into compiled binary ---- - CMakeLists.txt | 78 ++++++++++++++++++++----- - include/armadillo_bits/config.hpp.cmake | 2 +- - 2 files changed, 64 insertions(+), 16 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt index da1ff3a..7bdd808 100644 --- a/CMakeLists.txt diff --git a/recipes/armadillo/all/patches/0003-Guard-dependency-discovery-12.2.x.patch b/recipes/armadillo/all/patches/0003-Guard-dependency-discovery-12.2.x.patch new file mode 100644 index 0000000000000..7c8079d507a32 --- /dev/null +++ b/recipes/armadillo/all/patches/0003-Guard-dependency-discovery-12.2.x.patch @@ -0,0 +1,121 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7d21cf2..2669b17 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -270,7 +270,11 @@ if(APPLE) + set(ARMA_USE_ACCELERATE true) + + if(ALLOW_OPENBLAS_MACOS) +- include(ARMA_FindOpenBLAS) ++ if(USE_OPENBLAS) ++ find_package(OpenBLAS) ++ else() ++ set(OpenBLAS_FOUND NO) ++ endif() + message(STATUS "OpenBLAS_FOUND = ${OpenBLAS_FOUND}") + message(STATUS "") + message(STATUS "*** If use of OpenBLAS is causing problems,") +@@ -285,8 +289,16 @@ if(APPLE) + endif() + + if(ALLOW_BLAS_LAPACK_MACOS) +- include(ARMA_FindBLAS) +- include(ARMA_FindLAPACK) ++ if(USE_SYSTEM_BLAS) ++ include(ARMA_FindBLAS) ++ else() ++ set(BLAS_FOUND NO) ++ endif() ++ if(USE_SYSTEM_LAPACK) ++ include(ARMA_FindLAPACK) ++ else() ++ set(LAPACK_FOUND NO) ++ endif() + message(STATUS " BLAS_FOUND = ${BLAS_FOUND}" ) + message(STATUS "LAPACK_FOUND = ${LAPACK_FOUND}") + message(STATUS "") +@@ -325,19 +337,45 @@ if(APPLE) + + else() + +- if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) +- include(ARMA_FindFlexiBLAS) ++ if(USE_MKL) ++ find_package(MKL) + else() +- set(FlexiBLAS_FOUND false) ++ set(MKL_FOUND NO) ++ endif() ++ ++ if(USE_OPENBLAS) ++ find_package(OpenBLAS) ++ else() ++ set(OpenBLAS_FOUND NO) ++ endif() ++ ++ if(USE_SYSTEM_ATLAS) ++ include(ARMA_FindATLAS) ++ else() ++ set(ATLAS_FOUND NO) ++ endif() ++ ++ if(USE_SYSTEM_BLAS) ++ include(ARMA_FindBLAS) ++ else() ++ set(BLAS_FOUND NO) ++ endif() ++ ++ if(USE_SYSTEM_LAPACK) ++ include(ARMA_FindLAPACK) ++ else() ++ set(LAPACK_FOUND NO) + endif() + +- include(ARMA_FindMKL) +- include(ARMA_FindOpenBLAS) +- include(ARMA_FindATLAS) # TODO: remove support for ATLAS in next major version +- include(ARMA_FindBLAS) +- include(ARMA_FindLAPACK) +- +- message(STATUS "FlexiBLAS_FOUND = ${FlexiBLAS_FOUND}" ) ++ if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) ++ if(USE_SYSTEM_FLEXIBLAS) ++ include(ARMA_FindFlexiBLAS) ++ else() ++ set(FlexiBLAS_FOUND NO) ++ endif() ++ endif() ++ ++ message(STATUS "FlexiBLAS_FOUND = ${FlexiBLAS_FOUND}" ) + message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) + message(STATUS " OpenBLAS_FOUND = ${OpenBLAS_FOUND}" ) + message(STATUS " ATLAS_FOUND = ${ATLAS_FOUND}" ) +@@ -449,7 +487,11 @@ else() + endif() + + +-include(ARMA_FindARPACK) ++if(USE_SYSTEM_ARPACK) ++ include(ARMA_FindARPACK) ++else() ++ set(ARPACK_FOUND NO) ++endif() + message(STATUS "ARPACK_FOUND = ${ARPACK_FOUND}") + + if(ARPACK_FOUND) +@@ -457,7 +499,11 @@ if(ARPACK_FOUND) + set(ARMA_LIBS ${ARMA_LIBS} ${ARPACK_LIBRARY}) + endif() + +-include(ARMA_FindSuperLU5) ++if(USE_SYSTEM_SUPERLU) ++ include(ARMA_FindSuperLU5) ++else() ++ set(SuperLU_FOUND NO) ++endif() + message(STATUS "SuperLU_FOUND = ${SuperLU_FOUND}") + + if(SuperLU_FOUND) +-- +2.41.0 + diff --git a/recipes/armadillo/all/test_package/CMakeLists.txt b/recipes/armadillo/all/test_package/CMakeLists.txt index 2ede063cb4884..da38c2d4cf348 100644 --- a/recipes/armadillo/all/test_package/CMakeLists.txt +++ b/recipes/armadillo/all/test_package/CMakeLists.txt @@ -2,7 +2,11 @@ cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) find_package(armadillo CONFIG REQUIRED) +if (LINK_HDF5) + find_package(HDF5) + set(HDF5_TARGETS HDF5::HDF5) +endif() add_executable(example src/example.cpp) -target_link_libraries(example armadillo::armadillo) +target_link_libraries(example armadillo::armadillo ${HDF5_TARGETS}) set_property(TARGET example PROPERTY CXX_STANDARD 11) diff --git a/recipes/armadillo/all/test_package/conanfile.py b/recipes/armadillo/all/test_package/conanfile.py index 4a901f505fcdd..2c5aab901d0bf 100644 --- a/recipes/armadillo/all/test_package/conanfile.py +++ b/recipes/armadillo/all/test_package/conanfile.py @@ -1,20 +1,32 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain from conan.tools.build import cross_building +from conan.tools.scm import Version class FooTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" # VirtualBuildEnv and VirtualRunEnv can be avoided if "tools.env.virtualenv:auto_use" is defined # (it will be defined in Conan 2.0) - generators = "CMakeDeps", "CMakeToolchain", "VirtualBuildEnv", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" apply_env = False test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) + tested_version = self.tested_reference_str.split('/')[1].split('@')[0] + # using armadillo > 12.x requires the consumer to explicitly depend on hdf5 + if Version(tested_version) > "12": + self.requires("hdf5/1.14.0") + + def generate(self): + tc = CMakeToolchain(self) + # using armadillo > 12.x requires explicit consumer linkage against hdf5 + explicit_link_condition = Version(self.dependencies["armadillo"].ref.version) > "12" + tc.variables["LINK_HDF5"] = explicit_link_condition + tc.generate() def build(self): cmake = CMake(self) diff --git a/recipes/armadillo/config.yml b/recipes/armadillo/config.yml index 8af743e5561bd..3d54bf4d2f283 100644 --- a/recipes/armadillo/config.yml +++ b/recipes/armadillo/config.yml @@ -5,3 +5,5 @@ versions: folder: all "11.4.3": folder: all + "12.2.0": + folder: all From 263b2adcc2f34885d3aec8607b5605bbfe6e930d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 6 Jul 2023 22:25:52 +0200 Subject: [PATCH 0807/4087] (#17111) aws-c-mqtt: add missing interface definition if shared + modernize more for conan v2 * add AWS_MQTT_USE_IMPORT_EXPORT interface definition if shared * modernize more for conan v2 * more elegant way to define target for legacy generators * aws-c-common & aws-c-io are public dependencies --- recipes/aws-c-mqtt/all/conanfile.py | 81 ++++++++++--------- .../all/test_v1_package/CMakeLists.txt | 8 +- 2 files changed, 46 insertions(+), 43 deletions(-) diff --git a/recipes/aws-c-mqtt/all/conanfile.py b/recipes/aws-c-mqtt/all/conanfile.py index 4edb02ac94d9f..bb0adaf793c0c 100644 --- a/recipes/aws-c-mqtt/all/conanfile.py +++ b/recipes/aws-c-mqtt/all/conanfile.py @@ -1,20 +1,22 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir -from conan.tools.scm import Version 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 -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class AwsCMQTT(ConanFile): name = "aws-c-mqtt" description = "C99 implementation of the MQTT 3.1.1 specification." - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-mqtt" topics = ("aws", "amazon", "cloud", "mqtt") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -31,34 +33,25 @@ 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 requirements(self): - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.13") if Version(self.version) < "0.7.12": - self.requires("aws-c-io/0.10.20") + self.requires("aws-c-io/0.10.20", transitive_headers=True) self.requires("aws-c-http/0.6.13") else: - self.requires("aws-c-io/0.13.4") + self.requires("aws-c-io/0.13.4", transitive_headers=True) self.requires("aws-c-http/0.6.22") - 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) @@ -79,22 +72,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-mqtt")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-mqtt": "aws-c-mqtt::aws-c-mqtt"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-mqtt") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-mqtt") + self.cpp_info.libs = ["aws-c-mqtt"] + if self.options.shared: + self.cpp_info.defines.append("AWS_MQTT_USE_IMPORT_EXPORT") - self.cpp_info.filenames["cmake_find_package"] = "aws-c-mqtt" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-mqtt" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-mqtt-lib"].names["cmake_find_package"] = "aws-c-mqtt" - self.cpp_info.components["aws-c-mqtt-lib"].names["cmake_find_package_multi"] = "aws-c-mqtt" - self.cpp_info.components["aws-c-mqtt-lib"].set_property("cmake_target_name", "AWS::aws-c-mqtt") - - self.cpp_info.components["aws-c-mqtt-lib"].libs = ["aws-c-mqtt"] - self.cpp_info.components["aws-c-mqtt-lib"].requires = [ - "aws-c-common::aws-c-common-lib", - "aws-c-cal::aws-c-cal-lib", - "aws-c-io::aws-c-io-lib", - "aws-c-http::aws-c-http-lib" - ] + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt index 610e2350e6503..0d20897301b68 100644 --- a/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-mqtt REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-mqtt) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From d8b0b27e1d144402a74fce4e9dd2d0b8aec9dfe6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 6 Jul 2023 23:06:00 +0200 Subject: [PATCH 0808/4087] (#17110) aws-c-event-stream: add missing interface definition if shared + modernize more for conan v2 * add AWS_EVENT_STREAM_USE_IMPORT_EXPORT interface definition if shared * modernize more for conan v2 * more elegant way to define target for legacy generators * aws-c-common is a public dependency of aws-c-event-stream * minor change --- recipes/aws-c-event-stream/all/conanfile.py | 70 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 11 ++- 2 files changed, 43 insertions(+), 38 deletions(-) diff --git a/recipes/aws-c-event-stream/all/conanfile.py b/recipes/aws-c-event-stream/all/conanfile.py index 25bb2fd989f0a..2d51b3c4c313f 100644 --- a/recipes/aws-c-event-stream/all/conanfile.py +++ b/recipes/aws-c-event-stream/all/conanfile.py @@ -1,18 +1,21 @@ from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir -from conan.tools.scm import Version 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.scm import Version import os +import textwrap + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.52.0" class AwsCEventStream(ConanFile): name = "aws-c-event-stream" description = "C99 implementation of the vnd.amazon.eventstream content-type" - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-event-stream" topics = ("aws", "eventstream", "content", ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -32,25 +35,16 @@ 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 requirements(self): + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) self.requires("aws-checksums/0.1.13") - self.requires("aws-c-common/0.8.2") if Version(self.version) >= "0.2": if Version(self.version) < "0.2.11": self.requires("aws-c-io/0.10.20") @@ -58,8 +52,7 @@ def requirements(self): self.requires("aws-c-io/0.13.4") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -80,21 +73,36 @@ 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", "aws-c-event-stream")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-event-stream": "aws-c-event-stream::aws-c-event-stream"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-event-stream") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-event-stream") - self.cpp_info.components["aws-c-event-stream-lib"].names["cmake_find_package"] = "aws-c-event-stream" - self.cpp_info.components["aws-c-event-stream-lib"].names["cmake_find_package_multi"] = "aws-c-event-stream" - self.cpp_info.components["aws-c-event-stream-lib"].libs = ["aws-c-event-stream"] - self.cpp_info.components["aws-c-event-stream-lib"].requires = ["aws-c-common::aws-c-common-lib", "aws-checksums::aws-checksums"] - if Version(self.version) >= "0.2": - self.cpp_info.components["aws-c-event-stream-lib"].requires.append("aws-c-io::aws-c-io-lib") + self.cpp_info.libs = ["aws-c-event-stream"] + if self.options.shared: + self.cpp_info.defines.append("AWS_EVENT_STREAM_USE_IMPORT_EXPORT") - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "aws-c-event-stream" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-event-stream" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt index 674dc4a319004..0d20897301b68 100644 --- a/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package C) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-event-stream REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-event-stream) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 5a6bf04490c1751b2e091403c5ba63cdd45d2522 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Thu, 6 Jul 2023 23:46:48 +0200 Subject: [PATCH 0809/4087] (#16920) binutils: add version 2.40 * binutils: add version 2.40 Fixes: #14815 * binutils: set GPROFNG_SYSCONFDIR Co-authored-by: Uilian Ries * binutils: apply review comments * binutils: define sysconfdir --------- Co-authored-by: Uilian Ries --- recipes/binutils/all/conandata.yml | 7 +++ recipes/binutils/all/conanfile.py | 5 +- .../all/patches/2.40-0001-no-texinfo.patch | 50 +++++++++++++++++++ .../binutils/all/test_package/conanfile.py | 4 ++ recipes/binutils/config.yml | 2 + 5 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 recipes/binutils/all/patches/2.40-0001-no-texinfo.patch diff --git a/recipes/binutils/all/conandata.yml b/recipes/binutils/all/conandata.yml index a4c3a01e317b2..24c6d4be96798 100644 --- a/recipes/binutils/all/conandata.yml +++ b/recipes/binutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.40": + url: "https://ftp.gnu.org/gnu/binutils/binutils-2.40.tar.gz" + sha256: "d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956" "2.38": # 2022-02-09 url: "https://ftp.gnu.org/gnu/binutils/binutils-2.38.tar.gz" sha256: "b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052" @@ -6,6 +9,10 @@ sources: url: "https://ftp.gnu.org/gnu/binutils/binutils-2.37.tar.gz" sha256: "c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb" patches: + "2.40": + - patch_file: "patches/2.40-0001-no-texinfo.patch" + patch_type: conan + patch_description: "disable texinfo" "2.38": - patch_file: "patches/2.38-0001-no-texinfo.patch" patch_type: conan diff --git a/recipes/binutils/all/conanfile.py b/recipes/binutils/all/conanfile.py index 142067bea696e..c5bddfc4331b0 100644 --- a/recipes/binutils/all/conanfile.py +++ b/recipes/binutils/all/conanfile.py @@ -205,7 +205,10 @@ def package_info(self): # Add recipe path to enable running the self test in the test package. # Don't use this property in production code. It's unsupported. self.user_info.recipe_path = os.path.realpath(__file__) - + self.cpp_info.resdirs = ["etc"] + self.buildenv_info.define("GPROFNG_SYSCONFDIR", os.path.join(self.package_folder, "etc")) + if self.settings.os in ("FreeBSD", "Linux"): + self.cpp_info.system_libs = ["dl", "rt"] class _ArchOs: def __init__(self, arch: str, os: str, extra: typing.Optional[typing.Dict[str, str]] = None): diff --git a/recipes/binutils/all/patches/2.40-0001-no-texinfo.patch b/recipes/binutils/all/patches/2.40-0001-no-texinfo.patch new file mode 100644 index 0000000000000..fbd00f17e49e4 --- /dev/null +++ b/recipes/binutils/all/patches/2.40-0001-no-texinfo.patch @@ -0,0 +1,50 @@ +--- gas/Makefile.in ++++ gas/Makefile.in +@@ -1794,7 +1794,7 @@ + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU + check: check-recursive +-all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS) config.h ++all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) config.h + installdirs: installdirs-recursive + installdirs-am: + for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \ +@@ -1870,7 +1870,7 @@ + + info-am: $(INFO_DEPS) info-local + +-install-data-am: install-info-am install-man ++install-data-am: install-man + + install-dvi: install-dvi-recursive + +--- bfd/Makefile.in ++++ bfd/Makefile.in +@@ -266,7 +266,7 @@ + am__v_texidevnull_0 = > /dev/null + am__v_texidevnull_1 = + am__dirstamp = $(am__leading_dot)dirstamp +-INFO_DEPS = doc/bfd.info ++INFO_DEPS = + am__TEXINFO_TEX_DIR = $(srcdir) + DVIS = doc/bfd.dvi + PDFS = doc/bfd.pdf +@@ -2053,7 +2053,7 @@ + check-am: all-am + check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +-all-am: Makefile $(INFO_DEPS) $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) \ ++all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) \ + config.h + installdirs: installdirs-recursive + installdirs-am: +@@ -2122,8 +2122,7 @@ + + info-am: $(INFO_DEPS) + +-install-data-am: install-bfdincludeHEADERS install-bfdlibLTLIBRARIES \ +- install-info-am ++install-data-am: install-bfdincludeHEADERS install-bfdlibLTLIBRARIES + + install-dvi: install-dvi-recursive + diff --git a/recipes/binutils/all/test_package/conanfile.py b/recipes/binutils/all/test_package/conanfile.py index 9f4ceaa413255..79dfa71fb4157 100644 --- a/recipes/binutils/all/test_package/conanfile.py +++ b/recipes/binutils/all/test_package/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.layout import basic_layout class TestPackageConan(ConanFile): @@ -21,6 +22,9 @@ def _has_as(self): def _has_ld(self): return self._settings_build.os not in ("Macos",) + def layout(self): + basic_layout(self) + def test(self): binaries = ["ar", "nm", "objcopy", "objdump", "ranlib", "readelf", "strip"] if self._has_as: diff --git a/recipes/binutils/config.yml b/recipes/binutils/config.yml index f7cce7c207880..8d19abd9678f7 100644 --- a/recipes/binutils/config.yml +++ b/recipes/binutils/config.yml @@ -1,4 +1,6 @@ versions: + "2.40": + folder: all "2.38": folder: all "2.37": From ab4de4b1a6abaccdb5739f25f4311c6ecefe516e Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 7 Jul 2023 03:41:59 +0400 Subject: [PATCH 0810/4087] (#18383) hwloc 2.9.2 --- 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 bfdda23bd429a..7281cec31bd36 100644 --- a/recipes/hwloc/all/conandata.yml +++ b/recipes/hwloc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.2": + sha256: "ffb554d5735e0e0a19d1fd4b2b86e771d3b58b2d97f257eedacae67ade5054b3" + url: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.2.tar.gz "2.9.1": sha256: "a440e2299f7451dc10a57ddbfa3f116c2a6c4be1bb97c663edd3b9c7b3b3b4cf" url: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.1.tar.gz diff --git a/recipes/hwloc/config.yml b/recipes/hwloc/config.yml index 724950afba073..b0052643e431c 100644 --- a/recipes/hwloc/config.yml +++ b/recipes/hwloc/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.2": + folder: all "2.9.1": folder: all "2.9.0": From ccec2dbf0aca7995af50054c674a537df01626d3 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Fri, 7 Jul 2023 02:02:29 +0200 Subject: [PATCH 0811/4087] (#18378) benchmark: add version 1.8.2 --- recipes/benchmark/all/conandata.yml | 3 +++ recipes/benchmark/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/benchmark/all/conandata.yml b/recipes/benchmark/all/conandata.yml index a1a67567fd9e5..91541bdc04e27 100644 --- a/recipes/benchmark/all/conandata.yml +++ b/recipes/benchmark/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.2": + url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.2.tar.gz" + sha256: "2aab2980d0376137f969d92848fbb68216abb07633034534fc8c65cc4e7a0e93" "1.8.1": url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.1.tar.gz" sha256: "e9ff65cecfed4f60c893a1e8a1ba94221fad3b27075f2f80f47eb424b0f8c9bd" diff --git a/recipes/benchmark/config.yml b/recipes/benchmark/config.yml index fbf0c1dcfea43..b76259067bc58 100644 --- a/recipes/benchmark/config.yml +++ b/recipes/benchmark/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.2": + folder: all "1.8.1": folder: all "1.8.0": From b586d93c4ed371e53793c69839668a1a3e5c33c1 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 7 Jul 2023 13:01:46 +0900 Subject: [PATCH 0812/4087] (#18393) simdjson: add version 3.2.1, remove older versions --- recipes/simdjson/all/conandata.yml | 15 +++------------ recipes/simdjson/config.yml | 10 ++-------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index afec1dc0cc483..68f7a88456dcd 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.1": + url: "https://github.com/simdjson/simdjson/archive/v3.2.1.tar.gz" + sha256: "121206c9bfe972a2202a74d4cddb8cb0561932427f96d6c4b70fb49a2a74560e" "3.2.0": url: "https://github.com/simdjson/simdjson/archive/v3.2.0.tar.gz" sha256: "75a684dbbe38cf72b8b3bdbdc430764813f3615899a6029931c26ddd89812da4" @@ -20,24 +23,12 @@ sources: "3.0.1": url: "https://github.com/simdjson/simdjson/archive/v3.0.1.tar.gz" sha256: "156b1bc5eb0561b2bd166b46d191fd3d95a3e709cc63761477d3b7aec2b6e9ed" - "3.0.0": - url: "https://github.com/simdjson/simdjson/archive/v3.0.0.tar.gz" - sha256: "e6dd4bfaad2fd9599e6a026476db39a3bb9529436d3508ac3ae643bc663526c5" "2.2.3": url: "https://github.com/simdjson/simdjson/archive/v2.2.3.tar.gz" sha256: "4c62f2d82edec3dbc63650c10453dc471de9f1be689eb5b4bde89efed89db5d8" - "2.1.0": - url: "https://github.com/simdjson/simdjson/archive/v2.1.0.tar.gz" - sha256: "051b90427ddd1eac319f4eb34b973592728a6d8608fbac61e8aaa5a2dee4b693" - "2.0.4": - url: "https://github.com/simdjson/simdjson/archive/v2.0.4.tar.gz" - sha256: "c8a12cf60f6ce8c0e556f68bd80e7bd9f11f5876e198ed3637da8ccf182eaa24" "1.1.0": url: "https://github.com/simdjson/simdjson/archive/v1.1.0.tar.gz" sha256: "9effcb21fe48e4bcc9b96031e60c3911c58aa656ad8c78212d269c0db9e0133e" - "1.0.2": - url: "https://github.com/simdjson/simdjson/archive/v1.0.2.tar.gz" - sha256: "46d5995488de76ae61f1c3bcff445a9085c8d34f6cbc9bf0422a99c6d98a002c" "0.9.7": url: "https://github.com/simdjson/simdjson/archive/v0.9.7.tar.gz" sha256: "a21279ae4cf0049234a822c5c3550f99ec1707d3cda12156d331dcc8cd411ba0" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index d5e9878fcbc91..5a66369f45d95 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.1": + folder: all "3.2.0": folder: all "3.1.8": @@ -13,17 +15,9 @@ versions: folder: all "3.0.1": folder: all - "3.0.0": - folder: all "2.2.3": folder: all - "2.1.0": - folder: all - "2.0.4": - folder: all "1.1.0": folder: all - "1.0.2": - folder: all "0.9.7": folder: all From 9ff2a1de40da6bc0a03f3f8e59d47d9793272aec Mon Sep 17 00:00:00 2001 From: Daniel Heater Date: Thu, 6 Jul 2023 23:22:12 -0500 Subject: [PATCH 0813/4087] (#18388) Use version range for openssl dependency including version 3.x --- recipes/libssh2/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/libssh2/all/conanfile.py b/recipes/libssh2/all/conanfile.py index a3786845a2783..eb8b1cad9c233 100644 --- a/recipes/libssh2/all/conanfile.py +++ b/recipes/libssh2/all/conanfile.py @@ -82,9 +82,7 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/1.2.13") if self.options.crypto_backend == "openssl": - self.requires("openssl/1.1.1t") - # Version 3.x not currently working - # self.requires("openssl/[>=1.1 <4]") + self.requires("openssl/[>=1.1 <4]") elif self.options.crypto_backend == "mbedtls": # libssh2/<=1.10.0 doesn't support mbedtls/3.x.x self.requires("mbedtls/2.25.0") From c6d5c930f168863a9f076619cd4b12e298a3a99f Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 7 Jul 2023 06:02:16 +0100 Subject: [PATCH 0814/4087] (#18385) aaf: add package type and fix test_package on Windows with Conan 2 --- recipes/aaf/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/aaf/all/conanfile.py b/recipes/aaf/all/conanfile.py index 358a4f96210ec..080c644424a04 100644 --- a/recipes/aaf/all/conanfile.py +++ b/recipes/aaf/all/conanfile.py @@ -18,6 +18,7 @@ class AafConan(ConanFile): ) topics = ("multimedia", "crossplatform") license = "AAFSDKPSL-2.0" + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { @@ -84,9 +85,12 @@ def package(self): def package_info(self): if self.settings.os == "Windows": suffix = "D" if self.settings.build_type == "Debug" else "" - self.cpp_info.libs = [f"AAF{suffix}", f"AAFIID{suffix}", "AAFCOAPI"] + self.cpp_info.libs = [f"AAF{suffix}", f"AAFIID{suffix}"] + # The static library loads a DLL at runtime, on Windows it needs to be able + # to find it in PATH, see https://aaf.sourceforge.net/AAFProjectFAQ.html + self.runenv_info.prepend_path("PATH", os.path.join(self.package_folder, "bin")) else: - self.cpp_info.libs = ["aaflib", "aafiid", "com-api"] + self.cpp_info.libs = ["aaflib", "aafiid"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["dl"] elif is_apple_os(self): From d41bb7086011f8f0aee02ab0c17d42844df9a448 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 7 Jul 2023 08:41:58 +0200 Subject: [PATCH 0815/4087] (#18394) glib: add version 2.77.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 86a2b24a9d299..a457da4866ed6 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index 362adfbe65783..709e827338b68 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.77.0": + folder: all "2.76.3": folder: all "2.76.2": From 194bd247f3f14b597fac63074ba82ad54d20c74b Mon Sep 17 00:00:00 2001 From: Andy Mroczkowski Date: Fri, 7 Jul 2023 03:22:16 -0400 Subject: [PATCH 0816/4087] (#18305) NanoRT: add recipe * initial recipe for NanoRT https://github.com/lighttransport/nanort * Add metadata and test to nanort package * nanort: update topics * nanort: update url attribute * fix version * minor changes * recipe fixes * Add license file to package Co-authored-by: Carlos Zoido * cppstd fixes Co-authored-by: Carlos Zoido * cppstd fixes Co-authored-by: Carlos Zoido * cppstd fixes Co-authored-by: Carlos Zoido * fix ident --------- Co-authored-by: Sean Co-authored-by: czoido --- recipes/nanort/all/conandata.yml | 4 ++ recipes/nanort/all/conanfile.py | 44 +++++++++++++++++++ .../nanort/all/test_package/CMakeLists.txt | 10 +++++ recipes/nanort/all/test_package/conanfile.py | 25 +++++++++++ .../nanort/all/test_package/test_package.cpp | 27 ++++++++++++ recipes/nanort/config.yml | 3 ++ 6 files changed, 113 insertions(+) create mode 100644 recipes/nanort/all/conandata.yml create mode 100644 recipes/nanort/all/conanfile.py create mode 100644 recipes/nanort/all/test_package/CMakeLists.txt create mode 100644 recipes/nanort/all/test_package/conanfile.py create mode 100644 recipes/nanort/all/test_package/test_package.cpp create mode 100644 recipes/nanort/config.yml diff --git a/recipes/nanort/all/conandata.yml b/recipes/nanort/all/conandata.yml new file mode 100644 index 0000000000000..8dcd77657a999 --- /dev/null +++ b/recipes/nanort/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230207": + url: "https://github.com/lighttransport/nanort/archive/0bb8ab5284ee8ab7e75705aaedeaea7d7e63e1fe.zip" + sha256: "08b22d1a8bd3ec2667a71cb71281c08d37d72a81baa0c3272e01db24ef191db5" diff --git a/recipes/nanort/all/conanfile.py b/recipes/nanort/all/conanfile.py new file mode 100644 index 0000000000000..934e494b287de --- /dev/null +++ b/recipes/nanort/all/conanfile.py @@ -0,0 +1,44 @@ +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd + + +import os + + +class NanoRTConan(ConanFile): + name = "nanort" + description = "Single header only modern ray tracing kernel" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/lighttransport/nanort" + topics = ("graphics", "raytracing", "header-only") + license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "nanort.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/nanort/all/test_package/CMakeLists.txt b/recipes/nanort/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..358520baebdbd --- /dev/null +++ b/recipes/nanort/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(nanort REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE nanort::nanort) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + diff --git a/recipes/nanort/all/test_package/conanfile.py b/recipes/nanort/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/nanort/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/nanort/all/test_package/test_package.cpp b/recipes/nanort/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..76b9d8b357488 --- /dev/null +++ b/recipes/nanort/all/test_package/test_package.cpp @@ -0,0 +1,27 @@ +#include +#include +#include + +#include "nanort.h" + + +int main(void) { + const std::array vertices = {0.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f}; + const std::array faces = {0, 1, 2}; + + nanort::TriangleMesh triangle_mesh(vertices.data(), faces.data(), sizeof(float) * 3); + nanort::TriangleSAHPred triangle_pred(vertices.data(), faces.data(), sizeof(float) * 3); + + nanort::BVHAccel accel; + const auto ret = accel.Build(1, triangle_mesh, triangle_pred); + + if (!ret) { + std::cerr << "Failed to build BVH" << std::endl; + return EXIT_FAILURE; + } + + std::cout << "Successfully built simple BVH with nanort" << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/nanort/config.yml b/recipes/nanort/config.yml new file mode 100644 index 0000000000000..42394be2d8324 --- /dev/null +++ b/recipes/nanort/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230207": + folder: all From 4a96576c55a124e8257cdf0b8c417845c0697b00 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 7 Jul 2023 10:07:22 +0200 Subject: [PATCH 0817/4087] (#17108) aws-c-auth: add missing interface definition if shared + modernize more for conan v2 * add AWS_AUTH_USE_IMPORT_EXPORT interface definition if shared * do not depend on components of dependencies because they will be removed once conan v1 support over * more elegant way to define target for legacy generators * remove transitive_libs for most dependencies --- recipes/aws-c-auth/all/conanfile.py | 62 +++++++++++++++++------------ 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index 610bd376de920..93acb4732d6f3 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -1,9 +1,10 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, copy, rmdir +from conan.tools.files import get, copy, rmdir, save from conan.tools.scm import Version import os +import textwrap required_conan_version = ">=1.53.0" @@ -14,7 +15,7 @@ class AwsCAuth(ConanFile): "C99 library implementation of AWS client-side authentication: " "standard credentials providers and signing." ) - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-auth" topics = ("aws", "amazon", "cloud", "authentication", "credentials", "providers", "signing") @@ -46,13 +47,13 @@ def requirements(self): self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.13") if Version(self.version) < "0.6.17": - self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-http/0.6.13", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-io/0.10.20", transitive_headers=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, transitive_libs=True) + self.requires("aws-c-io/0.13.4", transitive_headers=True) + self.requires("aws-c-http/0.6.22", transitive_headers=True) if Version(self.version) >= "0.6.5": - self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) @@ -76,25 +77,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-auth")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-auth": "aws-c-auth::aws-c-auth"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-auth") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-auth") - # TODO: back to global scope once conan v1 support dropped - self.cpp_info.components["aws-c-auth-lib"].libs = ["aws-c-auth"] - self.cpp_info.components["aws-c-auth-lib"].requires = [ - "aws-c-common::aws-c-common-lib", - "aws-c-cal::aws-c-cal-lib", - "aws-c-io::aws-c-io-lib", - "aws-c-http::aws-c-http-lib", - ] - if Version(self.version) >= "0.6.5": - self.cpp_info.components["aws-c-auth-lib"].requires.append("aws-c-sdkutils::aws-c-sdkutils-lib") - - # TODO: to remove once conan v1 support dropped - self.cpp_info.filenames["cmake_find_package"] = "aws-c-auth" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-auth" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-auth-lib"].names["cmake_find_package"] = "aws-c-auth" - self.cpp_info.components["aws-c-auth-lib"].names["cmake_find_package_multi"] = "aws-c-auth" - self.cpp_info.components["aws-c-auth-lib"].set_property("cmake_target_name", "AWS::aws-c-auth") + self.cpp_info.libs = ["aws-c-auth"] + if self.options.shared: + self.cpp_info.defines.append("AWS_AUTH_USE_IMPORT_EXPORT") + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] From c7960f0a4d1c44ebb36fd0484c091db5c6223d1c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 7 Jul 2023 18:12:21 +0900 Subject: [PATCH 0818/4087] (#18291) eastl: add version 3.21.12, add patch descriptions * eastl: add version 3.21.12, add patch descriptions * drop support gcc 5 on 3.21.12 * remove doc folder --- recipes/eastl/all/conandata.yml | 34 +++++++++++++++++++ recipes/eastl/all/conanfile.py | 12 +++---- ...1-cmake-shared-use-conan-add-install.patch | 30 ++++++++++++++++ .../3.21.12-0003-rename_reference.patch | 13 +++++++ recipes/eastl/config.yml | 2 ++ 5 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 recipes/eastl/all/patches/3.21.12-0001-cmake-shared-use-conan-add-install.patch create mode 100644 recipes/eastl/all/patches/3.21.12-0003-rename_reference.patch diff --git a/recipes/eastl/all/conandata.yml b/recipes/eastl/all/conandata.yml index bc79d2dd76a82..fbaa385964645 100644 --- a/recipes/eastl/all/conandata.yml +++ b/recipes/eastl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.21.12": + url: "https://github.com/electronicarts/EASTL/archive/refs/tags/3.21.12.tar.gz" + sha256: "2a4d77e5eda23ec52fea8b22abbf2ea8002f38396d2a3beddda3ff2e17f7db2e" "3.18.00": url: "https://github.com/electronicarts/EASTL/archive/refs/tags/3.18.00.tar.gz" sha256: "a3c5b970684be02e81fb16fbf92ed2584e055898704fde87c72d0331afdea12b" @@ -21,20 +24,51 @@ sources: url: "https://github.com/electronicarts/EASTL/archive/3.15.00.tar.gz" sha256: "1578a2935ca490920b96c960fb570dab025280bb978fba40c88eb9ac74760c14" patches: + "3.21.12": + - patch_file: "patches/3.21.12-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" + - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" + patch_description: "disable constexpr for unsupported compilers" + patch_type: "portability" + - patch_file: "patches/3.21.12-0003-rename_reference.patch" + patch_description: "use eastl::remove_reference instead of std::remove_reference" + patch_type: "portability" + patch_source: "https://github.com/electronicarts/EASTL/issues/512" "3.18.00": - patch_file: "patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" + patch_description: "disable constexpr for unsupported compilers" + patch_type: "portability" "3.17.06": - patch_file: "patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" + patch_description: "disable constexpr for unsupported compilers" + patch_type: "portability" "3.17.03": - patch_file: "patches/3.17.03-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" - patch_file: "patches/3.17.03-0002-revert-c++14-constexpr.patch" + patch_description: "disable constexpr for unsupported compilers" + patch_type: "portability" "3.16.07": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" "3.16.05": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" "3.16.01": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" "3.15.00": - patch_file: "patches/3.15.00-0001-cmake-shared-use-conan-add-install.patch" + patch_description: "support shared build, use cci's EABase, add install definitions" + patch_type: "conan" diff --git a/recipes/eastl/all/conanfile.py b/recipes/eastl/all/conanfile.py index 37b4d9c1d8c29..b4d08cb19f705 100644 --- a/recipes/eastl/all/conanfile.py +++ b/recipes/eastl/all/conanfile.py @@ -10,6 +10,7 @@ export_conandata_patches, get, replace_in_file, + rmdir, ) from conan.tools.scm import Version @@ -47,7 +48,8 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "14", - "gcc": "5", + "msvc": "190", + "gcc": "5" if Version(self.version) < "3.21.12" else "6", "clang": "3.2", "apple-clang": "4.3", } @@ -79,12 +81,7 @@ def validate(self): ) def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True, - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -124,6 +121,7 @@ def package(self): ) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "doc")) def package_info(self): self.cpp_info.libs = ["EASTL"] diff --git a/recipes/eastl/all/patches/3.21.12-0001-cmake-shared-use-conan-add-install.patch b/recipes/eastl/all/patches/3.21.12-0001-cmake-shared-use-conan-add-install.patch new file mode 100644 index 0000000000000..475e12111343c --- /dev/null +++ b/recipes/eastl/all/patches/3.21.12-0001-cmake-shared-use-conan-add-install.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3eb444..f033794 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,11 +59,22 @@ target_include_directories(EASTL PUBLIC include) + #------------------------------------------------------------------------------------------- + # Dependencies + #------------------------------------------------------------------------------------------- +-if (NOT TARGET EABase) +- add_subdirectory(test/packages/EABase) ++find_package(EABase REQUIRED CONFIG) ++target_link_libraries(EASTL EABase::EABase) ++ ++if(BUILD_SHARED_LIBS) ++ target_compile_definitions(EASTL PUBLIC EASTL_DLL) ++ if(MSVC OR CYGWIN) ++ target_compile_definitions(EASTL PRIVATE "EASTL_API=__declspec(dllexport)") ++ endif() + endif() + +-target_link_libraries(EASTL EABase) ++include(GNUInstallDirs) ++install(TARGETS EASTL ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(DIRECTORY ${CMAKE_INSTALL_INCLUDEDIR}/EASTL DESTINATION include) + + #------------------------------------------------------------------------------------------- + # Installation diff --git a/recipes/eastl/all/patches/3.21.12-0003-rename_reference.patch b/recipes/eastl/all/patches/3.21.12-0003-rename_reference.patch new file mode 100644 index 0000000000000..686977d001a8d --- /dev/null +++ b/recipes/eastl/all/patches/3.21.12-0003-rename_reference.patch @@ -0,0 +1,13 @@ +diff --git a/include/EASTL/internal/type_transformations.h b/include/EASTL/internal/type_transformations.h +index 5454cfa..54a1c14 100644 +--- a/include/EASTL/internal/type_transformations.h ++++ b/include/EASTL/internal/type_transformations.h +@@ -497,7 +497,7 @@ namespace eastl + namespace internal + { + template +- auto try_add_pointer(int) -> type_identity::type*>; ++ auto try_add_pointer(int) -> type_identity::type*>; + template + auto try_add_pointer(...) -> type_identity; + } diff --git a/recipes/eastl/config.yml b/recipes/eastl/config.yml index bfb95b02f09c0..0cd35fae8664c 100644 --- a/recipes/eastl/config.yml +++ b/recipes/eastl/config.yml @@ -1,4 +1,6 @@ versions: + "3.21.12": + folder: "all" "3.18.00": folder: "all" "3.17.06": From 7ccf6d676cadf96ec7ab76a40bea36267aabe4ac Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 7 Jul 2023 11:03:06 +0100 Subject: [PATCH 0819/4087] (#18397) infra: add Visual Studio 2022 configuration to Conan 2.0 checks (msvc 193) * infra: add Visual Studio 2022 configuration (msvc 193) * infra: add missing epochs * infra: align v1 epochs * fix epochs --- .c3i/config_v1.yml | 10 +++++----- .c3i/config_v2.yml | 22 +++++++++++++++++++--- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index df6af9abd550c..1a084cb4431b5 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -76,7 +76,7 @@ configurations: compiler.version: [ "5", "7", "9", "10" ] build_type: [ "Release", "Debug" ] - id: linux-gcc - epochs: [20211221, 20220120] + epochs: [20211221, 20220120, 20230606] hrname: "Linux, GCC" content: - os: ["Linux"] @@ -87,7 +87,7 @@ configurations: compiler.version: ["5", "7", "9", "10", "11"] build_type: ["Release", "Debug"] - id: linux-clang - epochs: [20211221, 20220120] + epochs: [20211221, 20220120, 20230606] hrname: "Linux, Clang" content: - os: ["Linux"] @@ -109,7 +109,7 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: macos-clang - epochs: [20220120] + epochs: [20220120, 20230606] hrname: "macOS, Clang" content: - os: [ "Macos" ] @@ -134,7 +134,7 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: macos-m1-clang - epochs: [20220120] + epochs: [20220120, 20230606] hrname: "macOS, Clang (M1/arm64)" build_profile: os: "Macos" @@ -148,7 +148,7 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: windows-visual_studio - epochs: [0, 20211221, 20220120] + epochs: [0, 20211221, 20220120, 20230606] hrname: "Windows, Visual Studio" content: - os: [ "Windows" ] diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index f549334d0d1ff..d9a8c0eb24efd 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -52,7 +52,7 @@ tasks: configurations: - id: linux-gcc - epochs: [0, 20211221, 20220120, 20220628] + epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "Linux, GCC" build_profile: os: "Linux" @@ -65,7 +65,7 @@ configurations: compiler.version: ["11"] build_type: ["Release"] - id: macos-clang - epochs: [0, 20211221, 20220120, 20220628] + epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "macOS, Clang" build_profile: os: "Macos" @@ -78,7 +78,7 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - id: macos-m1-clang - epochs: [0, 20211221, 20220120, 20220628] + epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "macOS M1, Clang" build_profile: os: "Macos" @@ -106,6 +106,21 @@ configurations: - "Release": compiler.runtime: ["dynamic"] compiler.runtime_type: [ "Release" ] + - id: windows-msvc + epochs: [20230606] + hrname: "Windows, MSVC" + build_profile: + os: "Windows" + content: + - os: [ "Windows" ] + arch: [ "x86_64" ] + compiler: + - "msvc": + compiler.version: [ "192", "193" ] + build_type: + - "Release": + compiler.runtime: ["dynamic"] + compiler.runtime_type: [ "Release" ] cppstd: apple-clang: @@ -114,6 +129,7 @@ cppstd: "11": ["17", "gnu17", "20", "gnu20"] msvc: "192": ["14", "17", "20"] + "193": ["14", "17", "20"] jenkins: url: "http://mb-jenkins-my-bloody-jenkins:8080" From 0d285d1fada8e0853f4e7085794f4e55ca518acf Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 7 Jul 2023 12:21:31 +0200 Subject: [PATCH 0820/4087] (#18396) Add MartinDelille as reviewer for snowhouse --- .github/workflows/alert-community.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index 7dcd6dc6c89c7..2df6d8d62a6c1 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -381,6 +381,11 @@ jobs: files: "recipes/snappy/*/*" reviewers: "@Hopobcn" + - uses: ./.github/actions/alert-community + with: + files: "recipes/snowhouse/*/*" + reviewers: "@MartinDelille" + - uses: ./.github/actions/alert-community with: files: "recipes/uncrustify/*/*" From 44eb2e93fc39198ad21fc57b7bbb3e9ec43637f4 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 7 Jul 2023 12:42:35 +0200 Subject: [PATCH 0821/4087] (#18399) [bot] Update list of references (prod-v2/ListPackages) --- .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 884b00bce81ab..b09c95e6510a9 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -50,8 +50,10 @@ required_for_references: - aws-c-cal - aws-c-common - aws-c-compression +- aws-c-event-stream - aws-c-http - aws-c-io +- aws-c-mqtt - aws-c-sdkutils - aws-checksums - b2 @@ -195,6 +197,7 @@ required_for_references: - cyclonedds - cyrus-sasl - dacap-clip +- darknet - dataframe - date - dav1d @@ -260,6 +263,7 @@ required_for_references: - flac - flann - flatbuffers +- flatbush - flex - fmt - fmtlog @@ -319,6 +323,7 @@ required_for_references: - gurkenlaeufer - h3 - h5pp +- happly - harfbuzz - hdf5 - hdrhistogram-c @@ -389,6 +394,7 @@ required_for_references: - libde265 - libdeflate - libdisasm +- libdivide - libdrawille - libdwarf - libelf @@ -611,6 +617,7 @@ required_for_references: - portable-file-dialogs - pprint - pranav-csv2 +- pretty-name - proj - prometheus-cpp - proposal @@ -803,6 +810,7 @@ required_for_references: - xtl - xtrans - xxhash +- xxsds-sdsl-lite - xz_utils - yajl - yaml-cpp @@ -818,4 +826,5 @@ required_for_references: - zmarok-semver - zpp_bits - zstd +- zug - zulu-openjdk From 086cf093e38afd862c7b66b160eef1ac93b3d8fe Mon Sep 17 00:00:00 2001 From: Steve Robinson Date: Fri, 7 Jul 2023 04:02:34 -0700 Subject: [PATCH 0822/4087] (#18373) Fix SFML runtime error on macOS * Fix runtime error on macOS * Add test coverage * Revert "Add test coverage" This reverts commit 5c0220072128bbe373f4e2e0b076441c9b82c4de. --- recipes/sfml/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 71d6b68c2fa7e..e3c9bdac63d14 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -203,6 +203,9 @@ def opengles_android(): def opengles_ios(): return ["OpenGLES"] if self.settings.os == "iOS" else [] + def objc(): + return ["-ObjC"] if not self.options.shared and self.settings.os == "Macos" else [] + suffix = "" if self.options.shared else "-s" suffix += "-d" if self.settings.build_type == "Debug" else "" @@ -235,6 +238,7 @@ def opengles_ios(): "frameworks": foundation() + appkit() + iokit() + carbon() + uikit() + coregraphics() + quartzcore() + coreservices() + coremotion() + opengles_ios(), + "exelinkflags": objc(), }, }) if self.options.graphics: @@ -278,6 +282,7 @@ def _register_components(components): requires = values.get("requires", []) system_libs = values.get("system_libs", []) frameworks = values.get("frameworks", []) + exelinkflags = values.get("exelinkflags", []) # TODO: Properly model COMPONENTS names in CMakeDeps for find_package() call # (see https://github.com/conan-io/conan/issues/10258) # It should be: @@ -291,6 +296,7 @@ def _register_components(components): self.cpp_info.components[component].requires = requires self.cpp_info.components[component].system_libs = system_libs self.cpp_info.components[component].frameworks = frameworks + self.cpp_info.components[component].exelinkflags = exelinkflags # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components[component].build_modules["cmake_find_package"] = [self._module_file_rel_path] From 32d05a213512fa486f7cd822cc3f9183a2d8352b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 7 Jul 2023 13:28:30 +0200 Subject: [PATCH 0823/4087] (#18158) nudb: migrate to Conan v2 * nudb: migrate to Conan v2 * nudb: restore test_v1_package --- recipes/nudb/all/conanfile.py | 64 +++++++++++++------ recipes/nudb/all/test_package/CMakeLists.txt | 7 +- recipes/nudb/all/test_package/conanfile.py | 23 +++++-- .../nudb/all/test_v1_package/CMakeLists.txt | 8 +++ recipes/nudb/all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 87 insertions(+), 32 deletions(-) create mode 100644 recipes/nudb/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/nudb/all/test_v1_package/conanfile.py diff --git a/recipes/nudb/all/conanfile.py b/recipes/nudb/all/conanfile.py index 4613f1e67604a..f02496ac2b32a 100644 --- a/recipes/nudb/all/conanfile.py +++ b/recipes/nudb/all/conanfile.py @@ -1,42 +1,66 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class NudbConan(ConanFile): name = "nudb" - license = "BSL-1.0" description = "A fast key/value insert-only database for SSD drives in C++11" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/CPPAlliance/NuDB" - url = "https://github.com/conan-io/conan-center-index/" topics = ("header-only", "KVS", "insert-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.78.0") + self.requires("boost/1.82.0") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) 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 package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - self.copy("*.hpp", "include", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.ipp", "include", src=os.path.join(self._source_subfolder, "include")) - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + 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.names["cmake_find_package"] = "NuDB" - self.cpp_info.names["cmake_find_package_multi"] = "NuDB" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_target_name", "NuDB") + self.cpp_info.set_property("cmake_target_aliases", ["NuDB::nudb"]) + self.cpp_info.set_property("cmake_find_module", "both") + + self.cpp_info.components["core"].set_property("cmake_target_name", "nudb") self.cpp_info.components["core"].names["cmake_find_package"] = "nudb" self.cpp_info.components["core"].names["cmake_find_package_multi"] = "nudb" self.cpp_info.components["core"].requires = ["boost::thread", "boost::system"] - self.cpp_info.set_property("cmake_target_name", "NuDB") - self.cpp_info.set_property("cmake_target_module_name", "NuDB::nudb") - self.cpp_info.set_property("cmake_find_module", "both") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "NuDB" + self.cpp_info.names["cmake_find_package_multi"] = "NuDB" diff --git a/recipes/nudb/all/test_package/CMakeLists.txt b/recipes/nudb/all/test_package/CMakeLists.txt index 8aef4010c6c96..ba8bae2a7d0d2 100644 --- a/recipes/nudb/all/test_package/CMakeLists.txt +++ b/recipes/nudb/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(NuDB CONFIG REQUIRED) +find_package(NuDB REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} NuDB::nudb) diff --git a/recipes/nudb/all/test_package/conanfile.py b/recipes/nudb/all/test_package/conanfile.py index 573376a19a476..fae501d0afb9e 100644 --- a/recipes/nudb/all/test_package/conanfile.py +++ b/recipes/nudb/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class NudbTestConan(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" + 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/nudb/all/test_v1_package/CMakeLists.txt b/recipes/nudb/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/nudb/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/nudb/all/test_v1_package/conanfile.py b/recipes/nudb/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..573376a19a476 --- /dev/null +++ b/recipes/nudb/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class NudbTestConan(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 ae647d6e680b29a4ebfbde9ff4d4a306e339678e Mon Sep 17 00:00:00 2001 From: fcorso2016 <35567462+fcorso2016@users.noreply.github.com> Date: Fri, 7 Jul 2023 08:06:39 -0400 Subject: [PATCH 0824/4087] (#17892) Openblas - Conan 2.0 * Ported openblas to 2.0 * Updated source folder * Removed _source_subfolder and _build_subfolder methods * Removed CMakeLists.txt * Fixed issue with shared builds on windows * Appeasing the linter gods * Properly renamed the src_folder field * Added a hotfix to the older versions * Fix the warning with the apple builds * Empty commit to force a build again * Apply suggestions from code review --------- Co-authored-by: Carlos Zoido --- recipes/openblas/all/CMakeLists.txt | 11 --- recipes/openblas/all/conanfile.py | 82 +++++++++++-------- .../openblas/all/test_package/CMakeLists.txt | 3 - .../openblas/all/test_package/conanfile.py | 20 +++-- 4 files changed, 61 insertions(+), 55 deletions(-) delete mode 100644 recipes/openblas/all/CMakeLists.txt diff --git a/recipes/openblas/all/CMakeLists.txt b/recipes/openblas/all/CMakeLists.txt deleted file mode 100644 index cdeeef45d13c1..0000000000000 --- a/recipes/openblas/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -if(EXISTS "${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") - include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -else() - include(conanbuildinfo.cmake) -endif() -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/openblas/all/conanfile.py b/recipes/openblas/all/conanfile.py index 01041ab44fd28..5036886045a01 100644 --- a/recipes/openblas/all/conanfile.py +++ b/recipes/openblas/all/conanfile.py @@ -1,9 +1,14 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir, collect_libs +from conan.tools.build import cross_building +from conan.tools.scm import Version +from conan.tools.apple import fix_apple_shared_install_name +from conan.errors import ConanInvalidConfiguration import os import functools -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class OpenblasConan(ConanFile): @@ -28,66 +33,70 @@ class OpenblasConan(ConanFile): "use_thread": True, "dynamic_arch": False, } - generators = "cmake" short_paths = True - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def export_sources(self): - self.copy("CMakeLists.txt") - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self, skip_x64_x86=True): + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") - def source(self): - tools.get( + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder + destination=self.source_folder ) + if Version(self.version) <= "0.3.15": + replace_in_file(self, os.path.join(self.source_folder, "cmake", "utils.cmake"), + "set(obj_defines ${defines_in})", "set(obj_defines ${defines_in})\r\n\r\n" + + "list(FIND obj_defines \"RC\" def_idx)\r\n" + "if (${def_idx} GREATER -1) \r\n\t" + + "list (REMOVE_ITEM obj_defines \"RC\")\r\n\t" + "list(APPEND obj_defines \"RC=RC\")\r\n" + + "endif ()\r\n" + "list(FIND obj_defines \"CR\" def_idx)\r\n" + + "if (${def_idx} GREATER -1) \r\n\t" + "list (REMOVE_ITEM obj_defines \"CR\")\r\n\t" + + "list(APPEND obj_defines \"CR=CR\")\r\n" + "endif ()") + @functools.lru_cache(1) def _configure_cmake(self): cmake = CMake(self) + cmake.configure() + return cmake + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + tc = CMakeToolchain(self) if self.options.build_lapack: self.output.warn("Building with lapack support requires a Fortran compiler.") - cmake.definitions["NOFORTRAN"] = not self.options.build_lapack - cmake.definitions["BUILD_WITHOUT_LAPACK"] = not self.options.build_lapack - cmake.definitions["DYNAMIC_ARCH"] = self.options.dynamic_arch - cmake.definitions["USE_THREAD"] = self.options.use_thread + tc.cache_variables["NOFORTRAN"] = not self.options.build_lapack + tc.cache_variables["BUILD_WITHOUT_LAPACK"] = not self.options.build_lapack + tc.cache_variables["DYNAMIC_ARCH"] = self.options.dynamic_arch + tc.cache_variables["USE_THREAD"] = self.options.use_thread # Required for safe concurrent calls to OpenBLAS routines - cmake.definitions["USE_LOCKING"] = not self.options.use_thread + tc.cache_variables["USE_LOCKING"] = not self.options.use_thread - cmake.definitions[ + tc.cache_variables[ "MSVC_STATIC_CRT" ] = False # don't, may lie to consumer, /MD or /MT is managed by conan # This is a workaround to add the libm dependency on linux, # which is required to successfully compile on older gcc versions. - cmake.definitions["ANDROID"] = self.settings.os in ["Linux", "Android"] + tc.cache_variables["ANDROID"] = self.settings.os in ["Linux", "Android"] - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.generate() def build(self): - if tools.Version(self.version) >= "0.3.12": + if Version(self.version) >= "0.3.12": search = """message(STATUS "No Fortran compiler found, can build only BLAS but not LAPACK")""" replace = ( """message(FATAL_ERROR "No Fortran compiler found. Cannot build with LAPACK.")""" @@ -104,8 +113,8 @@ def build(self): set (NO_LAPACK 1) endif()""" - tools.replace_in_file( - os.path.join(self._source_subfolder, "cmake", "f_check.cmake"), + replace_in_file(self, + os.path.join(self.source_folder, self.source_folder, "cmake", "f_check.cmake"), search, replace, ) @@ -113,11 +122,12 @@ def build(self): cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = self._configure_cmake() cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) def package_info(self): # CMake config file: @@ -132,7 +142,7 @@ def package_info(self): self.cpp_info.components["openblas_component"].includedirs.append( os.path.join("include", "openblas") ) - self.cpp_info.components["openblas_component"].libs = tools.collect_libs(self) + self.cpp_info.components["openblas_component"].libs = collect_libs(self) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["openblas_component"].system_libs.append("m") if self.options.use_thread: diff --git a/recipes/openblas/all/test_package/CMakeLists.txt b/recipes/openblas/all/test_package/CMakeLists.txt index 4b2a260fe0ab9..eaf07820c3b1c 100644 --- a/recipes/openblas/all/test_package/CMakeLists.txt +++ b/recipes/openblas/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(OpenBLAS REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/openblas/all/test_package/conanfile.py b/recipes/openblas/all/test_package/conanfile.py index 38f4483872d47..02eb5ce439fb4 100644 --- a/recipes/openblas/all/test_package/conanfile.py +++ b/recipes/openblas/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -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 +# It will become the standard on Conan 2.x 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 +22,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") From 6b0b36a187d92546fff257cfa9d1346b8d2cf789 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 7 Jul 2023 14:42:22 +0200 Subject: [PATCH 0825/4087] (#18380) [mingw-builds] Recipe and test package compatibility for conan v2 * [mingw-builds] Recipe and test package compatibility for conan v2 * Update recipes/mingw-builds/all/test_package/conanfile.py --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/mingw-builds/all/conanfile.py | 61 ++++++++++++------- .../all/test_package/conanfile.py | 16 +++-- .../mingw-builds/all/test_package/main.cpp | 7 --- 3 files changed, 46 insertions(+), 38 deletions(-) delete mode 100644 recipes/mingw-builds/all/test_package/main.cpp diff --git a/recipes/mingw-builds/all/conanfile.py b/recipes/mingw-builds/all/conanfile.py index f3b3a8f3278f4..8b875ba354b42 100644 --- a/recipes/mingw-builds/all/conanfile.py +++ b/recipes/mingw-builds/all/conanfile.py @@ -1,7 +1,7 @@ import os from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import download, rmdir +from conan.tools.files import copy, download, rmdir required_conan_version = ">=1.47.0" @@ -16,7 +16,6 @@ class MingwConan(ConanFile): settings = "os", "arch" options = {"threads": ["posix", "win32"], "exception": ["seh", "sjlj"]} default_options = {"threads": "posix", "exception": "seh"} - provides = "mingw-w64" @property @@ -38,15 +37,17 @@ def validate(self): if str(self.settings_target.arch) not in valid_arch: raise ConanInvalidConfiguration(f"MinGW {self.version} is only supported for the following architectures on {self.settings.os}: {valid_arch}") if self.settings_target.compiler != "gcc": - raise ConanInvalidConfiguration("Only GCC is allowed as compiler.") - if str(self.settings_target.compiler.threads) != str(self.options.threads): - raise ConanInvalidConfiguration("Build requires 'mingw' provides binaries for gcc " - f"with threads={self.options.threads}, your profile:host declares " - f"threads={self.settings_target.compiler.threads}, please use the same value for both.") - if str(self.settings_target.compiler.exception) != str(self.options.exception): - raise ConanInvalidConfiguration("Build requires 'mingw' provides binaries for gcc " - f"with exception={self.options.exception}, your profile:host declares " - f"exception={self.settings_target.compiler.exception}, please use the same value for both.") + self.output.warning("Only GCC is allowed as compiler. Make sure you are using the right compiler with this package!") + threads_value = self.settings_target.compiler.get_safe("threads") + if str(threads_value) != str(self.options.threads): + self.output.warning("Tool require 'mingw-builds' provides binaries for gcc " + f"with options.threads={self.options.threads}, but your profile:host declares " + f"settings.compiler.threads={threads_value}, please use the same value for both.") + exception_value = self.settings_target.compiler.get_safe("exception") + if str(exception_value) != str(self.options.exception): + self.output.warning("Tool require 'mingw-builds' provides binaries for gcc " + f"with options.exception={self.options.exception}, your profile:host declares " + f"settings.compiler.exception={exception_value}, please use the same value for both.") def build_requirements(self): self.build_requires("7zip/19.00") @@ -62,7 +63,7 @@ def build(self): def package(self): target = "mingw64" if self.settings.arch == "x86_64" else "mingw32" - self.copy("*", dst="", src=target) + copy(self, "*", src=target, dst=self.package_folder) rmdir(self, target) rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "opt", "lib", "cmake")) @@ -70,18 +71,34 @@ def package(self): def package_info(self): if getattr(self, "settings_target", None): if self.settings_target.compiler != "gcc": - raise ConanInvalidConfiguration("Only GCC is allowed as compiler.") - if str(self.settings_target.compiler.threads) != str(self.options.threads): - raise ConanInvalidConfiguration("Build requires 'mingw' provides binaries for gcc " - f"with threads={self.options.threads}, your profile:host declares " - f"threads={self.settings_target.compiler.threads}, please use the same value for both.") - if str(self.settings_target.compiler.exception) != str(self.options.exception): - raise ConanInvalidConfiguration("Build requires 'mingw' provides binaries for gcc " - f"with exception={self.options.exception}, your profile:host declares " - f"exception={self.settings_target.compiler.exception}, please use the same value for both.") + self.output.warning("Only GCC is allowed as compiler. Make sure you are using the right compiler with this package!") + threads_value = self.settings_target.compiler.get_safe("threads") + if str(threads_value) != str(self.options.threads): + self.output.warning("Tool require 'mingw-builds' provides binaries for gcc " + f"with options.threads={self.options.threads}, but your profile:host declares " + f"settings.compiler.threads={threads_value}, please use the same value for both.") + exception_value = self.settings_target.compiler.get_safe("exception") + if str(exception_value) != str(self.options.exception): + self.output.warning("Tool require 'mingw-builds' provides binaries for gcc " + f"with options.exception={self.options.exception}, your profile:host declares " + f"settings.compiler.exception={exception_value}, please use the same value for both.") + + self.buildenv_info.define("MINGW_HOME", str(self.package_folder)) + self.buildenv_info.define("CONAN_CMAKE_GENERATOR", "MinGW Makefiles") + self.buildenv_info.define("CXX", os.path.join(self.package_folder, "bin", "g++.exe").replace("\\", "/")) + self.buildenv_info.define("CC", os.path.join(self.package_folder, "bin", "gcc.exe").replace("\\", "/")) + self.buildenv_info.define("LD", os.path.join(self.package_folder, "bin", "ld.exe").replace("\\", "/")) + self.buildenv_info.define("NM", os.path.join(self.package_folder, "bin", "nm.exe").replace("\\", "/")) + self.buildenv_info.define("AR", os.path.join(self.package_folder, "bin", "ar.exe").replace("\\", "/")) + self.buildenv_info.define("AS", os.path.join(self.package_folder, "bin", "as.exe").replace("\\", "/")) + self.buildenv_info.define("STRIP", os.path.join(self.package_folder, "bin", "strip.exe").replace("\\", "/")) + self.buildenv_info.define("RANLIB", os.path.join(self.package_folder, "bin", "ranlib.exe").replace("\\", "/")) + self.buildenv_info.define("STRINGS", os.path.join(self.package_folder, "bin", "strings.exe").replace("\\", "/")) + self.buildenv_info.define("OBJDUMP", os.path.join(self.package_folder, "bin", "objdump.exe").replace("\\", "/")) + self.buildenv_info.define("GCOV", os.path.join(self.package_folder, "bin", "gcov.exe").replace("\\", "/")) + # TODO: Remove this after conan v1 support is dropped bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH env var with : {bin_path}") self.env_info.PATH.append(bin_path) self.env_info.MINGW_HOME = str(self.package_folder) diff --git a/recipes/mingw-builds/all/test_package/conanfile.py b/recipes/mingw-builds/all/test_package/conanfile.py index fde2fbd35a165..dbf3513dc9ad8 100644 --- a/recipes/mingw-builds/all/test_package/conanfile.py +++ b/recipes/mingw-builds/all/test_package/conanfile.py @@ -1,16 +1,14 @@ import os -from conans import ConanFile, tools +from conan import ConanFile class MinGWTestConan(ConanFile): - generators = "gcc" - settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + settings = "os", "arch" + test_type = "explicit" - def build(self): - source_file = os.path.join(self.source_folder, "main.cpp") - self.run("gcc.exe {} @conanbuildinfo.gcc -lstdc++ -o main".format(source_file), run_environment=True) + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): - self.run("gcc.exe --version", run_environment=True) - self.run("main") + self.run("gcc.exe --version") diff --git a/recipes/mingw-builds/all/test_package/main.cpp b/recipes/mingw-builds/all/test_package/main.cpp deleted file mode 100644 index b5597569f64e0..0000000000000 --- a/recipes/mingw-builds/all/test_package/main.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include // test if we can include one of MinGW bundled header - -int main(void) { - std::cout << "Hello world!" << std::endl; - return 0; -} From 64de73e8c13a87497c4fec26eac90096082fcea5 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 7 Jul 2023 22:23:13 +0900 Subject: [PATCH 0826/4087] (#18368) zxing-cpp: add version 2.1.0, add package_type --- recipes/zxing-cpp/all/conandata.yml | 3 +++ recipes/zxing-cpp/all/conanfile.py | 2 +- recipes/zxing-cpp/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/zxing-cpp/all/conandata.yml b/recipes/zxing-cpp/all/conandata.yml index baac1087c0b36..52b8beeb98353 100644 --- a/recipes/zxing-cpp/all/conandata.yml +++ b/recipes/zxing-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/zxing-cpp/zxing-cpp/archive/v2.1.0.tar.gz" + sha256: "6d54e403592ec7a143791c6526c1baafddf4c0897bb49b1af72b70a0f0c4a3fe" "2.0.0": url: "https://github.com/zxing-cpp/zxing-cpp/archive/v2.0.0.tar.gz" sha256: "12b76b7005c30d34265fc20356d340da179b0b4d43d2c1b35bcca86776069f76" diff --git a/recipes/zxing-cpp/all/conanfile.py b/recipes/zxing-cpp/all/conanfile.py index 2dd711e9b0caf..51a640fb637ef 100644 --- a/recipes/zxing-cpp/all/conanfile.py +++ b/recipes/zxing-cpp/all/conanfile.py @@ -16,7 +16,7 @@ class ZXingCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zxing-cpp/zxing-cpp" topics = ("zxing", "barcode", "scanner", "generator") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/zxing-cpp/config.yml b/recipes/zxing-cpp/config.yml index a4e6ca74f0f31..8e200e12001c5 100644 --- a/recipes/zxing-cpp/config.yml +++ b/recipes/zxing-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.0": folder: all "1.4.0": From 079b3d3cc8adcfcdf94d4f327e9f5fd50f0d463e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 8 Jul 2023 00:41:57 +0900 Subject: [PATCH 0827/4087] (#18407) etl: add version 20.37.0, remove older versions --- recipes/etl/all/conandata.yml | 18 +++--------------- recipes/etl/config.yml | 12 ++---------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index 54b5c71761334..2476009e2775e 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.37.0": + url: "https://github.com/ETLCPP/etl/archive/20.37.0.tar.gz" + sha256: "94ffb30dc38b9f40566ba7c4ef0c233bca23cfcb4e6c400fcf981729a46413eb" "20.36.0": url: "https://github.com/ETLCPP/etl/archive/20.36.0.tar.gz" sha256: "bcab607d619008c7e3942ecc9cb429e17deb553c81bc5f1fd013fbc1e17f1344" @@ -14,12 +17,6 @@ sources: "20.35.7": url: "https://github.com/ETLCPP/etl/archive/20.35.7.tar.gz" sha256: "20127e36c12a33142645dd5ec0a08d12b34ce9b33986847eeaa8c4201e025895" - "20.35.5": - url: "https://github.com/ETLCPP/etl/archive/20.35.5.tar.gz" - sha256: "d67aead4f1c023eaeb9ae67b62b0aed76138aa1b7dac48f627530ab3ea366281" - "20.35.0": - url: "https://github.com/ETLCPP/etl/archive/20.35.0.tar.gz" - sha256: "1bfbc5679bce41625add0e5d7354ab8521dc4811f13e1627a9816af65f49f42b" "20.34.0": url: "https://github.com/ETLCPP/etl/archive/20.34.0.tar.gz" sha256: "56e25968f20167a161ee50c3eecda3daa91f696660ba59654c1afd22e502c465" @@ -29,12 +26,3 @@ sources: "20.32.1": url: "https://github.com/ETLCPP/etl/archive/20.32.1.tar.gz" sha256: "f39c8ccf33190303946dbcb2b251c86b4516234f57e0e87b83c0a28a1bdb059d" - "20.31.3": - url: "https://github.com/ETLCPP/etl/archive/20.31.3.tar.gz" - sha256: "dabfeaec4e0aaee6920ee429ab262959595b78d65ef7846df13b5fe68ea85f4b" - "20.30.1": - url: "https://github.com/ETLCPP/etl/archive/20.30.1.tar.gz" - sha256: "10b50ca3ae406ae379e85504546843fc9d97be18924e71d8eb7e8e5a418e91cd" - "20.29.3": - url: "https://github.com/ETLCPP/etl/archive/20.29.3.tar.gz" - sha256: "8a0df2b475ea99bb27dd4ee04c39bda69e29be93b3709a1e243dcc2599e92ff4" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index f15a6f212d97e..9f4bcc56ad17a 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.37.0": + folder: all "20.36.0": folder: all "20.35.14": @@ -9,19 +11,9 @@ versions: folder: all "20.35.7": folder: all - "20.35.5": - folder: all - "20.35.0": - folder: all "20.34.0": folder: all "20.33.0": folder: all "20.32.1": folder: all - "20.31.3": - folder: all - "20.30.1": - folder: all - "20.29.3": - folder: all From ce0990db270b40af869c3dab403e0ea1cba77458 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 7 Jul 2023 17:03:53 +0100 Subject: [PATCH 0828/4087] (#18403) charls: skip building tests --- recipes/charls/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/charls/all/conanfile.py b/recipes/charls/all/conanfile.py index 97d9f69aa36d4..90461d15285bf 100644 --- a/recipes/charls/all/conanfile.py +++ b/recipes/charls/all/conanfile.py @@ -63,7 +63,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["CHARLS_INSTALL"] = True + tc.cache_variables["CHARLS_BUILD_FUZZ_TEST"] = False + tc.cache_variables["CHARLS_BUILD_SAMPLES"] = False + tc.cache_variables["CHARLS_BUILD_TESTS"] = False + tc.cache_variables["CHARLS_INSTALL"] = True tc.generate() def build(self): From 988e2b5b91f382baf44c732952487d213759133c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 8 Jul 2023 02:02:27 +0900 Subject: [PATCH 0829/4087] (#18395) inih: add version 57, add with_inireader option * inih: add version 57 * require C++11 since 57, add with_inireader option --- recipes/inih/all/conandata.yml | 3 +++ recipes/inih/all/conanfile.py | 32 +++++++++++++++++++++++++------- recipes/inih/config.yml | 2 ++ 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/recipes/inih/all/conandata.yml b/recipes/inih/all/conandata.yml index f45a313d7e7e2..d0684466616d8 100644 --- a/recipes/inih/all/conandata.yml +++ b/recipes/inih/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "57": + url: "https://github.com/benhoyt/inih/archive/r57.tar.gz" + sha256: "f03f98ca35c3adb56b2358573c8d3eda319ccd5287243d691e724b7eafa970b3" "56": url: "https://github.com/benhoyt/inih/archive/r56.tar.gz" sha256: "4f2ba6bd122d30281a8c7a4d5723b7af90b56aa828c0e88256d7fceda03a491a" diff --git a/recipes/inih/all/conanfile.py b/recipes/inih/all/conanfile.py index d2890dd500498..7b43c7f01710c 100644 --- a/recipes/inih/all/conanfile.py +++ b/recipes/inih/all/conanfile.py @@ -3,9 +3,11 @@ from conan.tools.apple import fix_apple_shared_install_name from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get, rmdir +from conan.tools.build import check_min_cppstd from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -24,12 +26,18 @@ class InihConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_inireader": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_inireader": True, } + @property + def _min_cppstd(self): + return 11 + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -37,18 +45,24 @@ 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") + # INIReader is written in C++ + if not self.options.with_inireader: + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): basic_layout(self, src_folder="src") def validate(self): + # since 57, INIReader requires C++11 + if Version(self.version) >= "57" and self.options.with_inireader and \ + self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) if self.options.shared and is_msvc(self): raise ConanInvalidConfiguration("Shared inih is not supported with msvc") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.1.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -58,7 +72,10 @@ def generate(self): env.generate() tc = MesonToolchain(self) tc.project_options["distro_install"] = True - tc.project_options["with_INIReader"] = True + tc.project_options["with_INIReader"] = self.options.with_inireader + # since 57, INIReader requires C++11 + if Version(self.version) >= "57" and not is_msvc(self): + tc.cpp_args.append("-std=c++11") tc.generate() def build(self): @@ -80,9 +97,10 @@ def package_info(self): self.cpp_info.components["libinih"].set_property("pkg_config_name", "inih") self.cpp_info.components["libinih"].libs = ["inih"] - self.cpp_info.components["inireader"].set_property("pkg_config_name", "INIReader") - self.cpp_info.components["inireader"].libs = ["INIReader"] - self.cpp_info.components["inireader"].requires = ["libinih"] + if self.options.with_inireader: + self.cpp_info.components["inireader"].set_property("pkg_config_name", "INIReader") + self.cpp_info.components["inireader"].libs = ["INIReader"] + self.cpp_info.components["inireader"].requires = ["libinih"] def fix_msvc_libname(conanfile, remove_lib_prefix=True): """remove lib prefix & change extension to .lib in case of cl like compiler""" diff --git a/recipes/inih/config.yml b/recipes/inih/config.yml index 3746836949531..c64487db679f8 100644 --- a/recipes/inih/config.yml +++ b/recipes/inih/config.yml @@ -1,4 +1,6 @@ versions: + "57": + folder: "all" "56": folder: "all" "55": From efe5b52a60b5c59be7c19402f81b3f971f29cba1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 7 Jul 2023 19:42:07 +0200 Subject: [PATCH 0830/4087] (#18359) troldal-zippy: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * troldal-zippy: migrate to Conan v2 * troldal-zippy: restore test_v1_package * troldal-zippy: add cmake_find_package_multi generator to test_v1_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/troldal-zippy/all/conandata.yml | 3 +- recipes/troldal-zippy/all/conanfile.py | 80 ++++++++++++------- .../all/test_package/CMakeLists.txt | 9 +-- .../all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 95 insertions(+), 43 deletions(-) create mode 100644 recipes/troldal-zippy/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/troldal-zippy/all/test_v1_package/conanfile.py diff --git a/recipes/troldal-zippy/all/conandata.yml b/recipes/troldal-zippy/all/conandata.yml index 0c73d6b1de095..c40a62c37d987 100644 --- a/recipes/troldal-zippy/all/conandata.yml +++ b/recipes/troldal-zippy/all/conandata.yml @@ -1,8 +1,7 @@ sources: "cci.20200622": url: "https://github.com/troldal/Zippy/archive/a838de8522f9051df0d1b202473bb6befe648702.tar.gz" - sha256: "8be803861b69c51179ade1f2ce62f07fb1f2d301a084d705c8ec2374db22071a" + sha256: "0233303a49bae9f705cb25c44e7f8c9917c49a90c8e314ca79f48dd23dd1a836" patches: "cci.20200622": - patch_file: "patches/zippy-archive-mkdir.patch" - base_path: "source_subfolder" diff --git a/recipes/troldal-zippy/all/conanfile.py b/recipes/troldal-zippy/all/conanfile.py index 9264f7d6a36ec..c1f661d53497d 100644 --- a/recipes/troldal-zippy/all/conanfile.py +++ b/recipes/troldal-zippy/all/conanfile.py @@ -1,25 +1,26 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 + +required_conan_version = ">=1.52.0" + class TroldalZippyConan(ConanFile): name = "troldal-zippy" - description = "A simple C++ wrapper around the \"miniz\" zip library " - topics = ("wrapper", "compression", "zip") + description = 'A simple C++ wrapper around the "miniz" zip library ' + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/troldal/Zippy" - license = "MIT" - settings = "compiler" - exports_sources = "patches/*" - - @property - def _source_subfolder(self): - return "source_subfolder" + topics = ("wrapper", "compression", "zip", "header-only") - def requirements(self): - self.requires("miniz/2.2.0") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _minimum_cpp_standard(self): @@ -34,34 +35,53 @@ def _minimum_compilers_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("miniz/2.2.0") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + 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)) + 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." + ) 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 package(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*.hpp", dst="include", src=os.path.join(self._source_subfolder, "library")) - - def package_id(self): - self.info.header_only() + apply_conandata_patches(self) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "library")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # To match the target created here - # https://github.com/troldal/Zippy/blob/a838de8522f9051df0d1b202473bb6befe648702/library/CMakeLists.txt#L10 + # https://github.com/troldal/Zippy/blob/a838de8522f9051df0d1b202473bb69befe648702/library/CMakeLists.txt#L10 + self.cpp_info.set_property("cmake_file_name", "Zippy") + self.cpp_info.set_property("cmake_target_name", "Zippy::Zippy") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "Zippy" self.cpp_info.filenames["cmake_find_package_multi"] = "Zippy" self.cpp_info.names["cmake_find_package"] = "Zippy" diff --git a/recipes/troldal-zippy/all/test_package/CMakeLists.txt b/recipes/troldal-zippy/all/test_package/CMakeLists.txt index 6c1d84c7e3d82..90b1ca052dca1 100644 --- a/recipes/troldal-zippy/all/test_package/CMakeLists.txt +++ b/recipes/troldal-zippy/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(Zippy REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE Zippy::Zippy) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/troldal-zippy/all/test_package/conanfile.py b/recipes/troldal-zippy/all/test_package/conanfile.py index bd7165a553cf4..fae501d0afb9e 100644 --- a/recipes/troldal-zippy/all/test_package/conanfile.py +++ b/recipes/troldal-zippy/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" + 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/troldal-zippy/all/test_v1_package/CMakeLists.txt b/recipes/troldal-zippy/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/troldal-zippy/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/troldal-zippy/all/test_v1_package/conanfile.py b/recipes/troldal-zippy/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/troldal-zippy/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) From bffc6e949e9a5c8d8f84994a4dde947504f6b518 Mon Sep 17 00:00:00 2001 From: Daniel Heater Date: Fri, 7 Jul 2023 13:02:34 -0500 Subject: [PATCH 0831/4087] (#18307) Update path to download pkgconf source from and bump version * Update path to download pkgconf source from and bump version * Add 1.9.5 to config.yml * Reuse 1.9.3 patch for 1.9.5 * Fix path to 1.9.5 * Fix version at which tests option changed from boolean to string --- recipes/pkgconf/all/conandata.yml | 5 +++++ recipes/pkgconf/all/conanfile.py | 12 ++++++++---- recipes/pkgconf/config.yml | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/recipes/pkgconf/all/conandata.yml b/recipes/pkgconf/all/conandata.yml index c305ec5540fc5..9d79648be05d0 100644 --- a/recipes/pkgconf/all/conandata.yml +++ b/recipes/pkgconf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.5": + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.9.5.tar.xz" + sha256: "1ac1656debb27497563036f7bffc281490f83f9b8457c0d60bcfb638fb6b6171" "1.9.3": url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.9.3.tar.xz" sha256: "5fb355b487d54fb6d341e4f18d4e2f7e813a6622cf03a9e87affa6a40565699d" @@ -9,6 +12,8 @@ sources: url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.3.tar.xz" sha256: "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" patches: + "1.9.5": + - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "1.9.3": - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "1.7.4": diff --git a/recipes/pkgconf/all/conanfile.py b/recipes/pkgconf/all/conanfile.py index 33928609ef2e5..2645619ecf320 100644 --- a/recipes/pkgconf/all/conanfile.py +++ b/recipes/pkgconf/all/conanfile.py @@ -48,7 +48,7 @@ def configure(self): self.options.rm_safe("shared") elif self.options.shared: self.options.rm_safe("fPIC") - + self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") @@ -74,7 +74,11 @@ def generate(self): env.generate() tc = MesonToolchain(self) - tc.project_options["tests"] = False + if Version(self.version) >= "1.9.4": + tc.project_options["tests"] = "disabled" + else: + tc.project_options["tests"] = False + if not self.options.enable_lib: tc.project_options["default_library"] = "static" tc.generate() @@ -96,12 +100,12 @@ def package(self): if self.options.enable_lib and not self.options.shared: rename(self, os.path.join(self.package_folder, "lib", "libpkgconf.a"), os.path.join(self.package_folder, "lib", "pkgconf.lib"),) - + if not self.options.enable_lib: rmdir(self, os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "include")) - + rmdir(self, os.path.join(self.package_folder, "share", "man")) rename(self, os.path.join(self.package_folder, "share", "aclocal"), os.path.join(self.package_folder, "bin", "aclocal")) diff --git a/recipes/pkgconf/config.yml b/recipes/pkgconf/config.yml index 9816b088e4d7b..04e2163e1ba77 100644 --- a/recipes/pkgconf/config.yml +++ b/recipes/pkgconf/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.5": + folder: "all" "1.9.3": folder: "all" "1.7.4": From ace40290d332e7049dd6772b215b39df57456d54 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 7 Jul 2023 20:44:48 +0200 Subject: [PATCH 0832/4087] (#18003) [sentry-native] Add version 0.6.3 * [sentry-native] Add version 0.6.2 * [sentry-native] Update to 0.6.3 --------- Co-authored-by: Uilian Ries --- recipes/sentry-native/all/conandata.yml | 6 +++--- recipes/sentry-native/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 84ce5fb055a19..1776b45d09480 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.3": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" + sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.6.2": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.6.1": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" - "0.6.0": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.0/sentry-native.zip" - sha256: "ae03c9c8487794cd0f6d7fb7bb9b3c13e1a253190b290eaf752e2b4f007fd089" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 2e0e20ffce3ff..205b96ca25c22 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.3": + folder: all "0.6.2": folder: all "0.6.1": folder: all - "0.6.0": - folder: all "0.5.4": folder: all "0.4.18": From 1ca8454d7760d562d2f9c290ea24ce00a0eb131f Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 8 Jul 2023 06:04:34 +0900 Subject: [PATCH 0833/4087] (#17849) zookeeper-client-c: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * zookeeper-client-c: add recipe * enable short_paths * support msvc * use maven recipe * Add VirtualBuildEnv --------- Co-authored-by: Rubén Rincón --- recipes/zookeeper-client-c/all/conandata.yml | 9 ++ recipes/zookeeper-client-c/all/conanfile.py | 94 +++++++++++++++++++ .../all/patches/3.8.1-0001-add-install.patch | 54 +++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.c | 8 ++ recipes/zookeeper-client-c/config.yml | 3 + 7 files changed, 201 insertions(+) create mode 100644 recipes/zookeeper-client-c/all/conandata.yml create mode 100644 recipes/zookeeper-client-c/all/conanfile.py create mode 100644 recipes/zookeeper-client-c/all/patches/3.8.1-0001-add-install.patch create mode 100644 recipes/zookeeper-client-c/all/test_package/CMakeLists.txt create mode 100644 recipes/zookeeper-client-c/all/test_package/conanfile.py create mode 100644 recipes/zookeeper-client-c/all/test_package/test_package.c create mode 100644 recipes/zookeeper-client-c/config.yml diff --git a/recipes/zookeeper-client-c/all/conandata.yml b/recipes/zookeeper-client-c/all/conandata.yml new file mode 100644 index 0000000000000..5a209ac187af0 --- /dev/null +++ b/recipes/zookeeper-client-c/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "3.8.1": + url: "https://dlcdn.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1.tar.gz" + sha256: "ccc16850c8ab2553583583234d11c813061b5ea5f3b8ff1d740cde6c1fd1e219" +patches: + "3.8.1": + - patch_file: "patches/3.8.1-0001-add-install.patch" + patch_description: "add installer, disable cli program" + patch_type: "conan" diff --git a/recipes/zookeeper-client-c/all/conanfile.py b/recipes/zookeeper-client-c/all/conanfile.py new file mode 100644 index 0000000000000..ec48f11ba450f --- /dev/null +++ b/recipes/zookeeper-client-c/all/conanfile.py @@ -0,0 +1,94 @@ +from conan import ConanFile +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" + +class ZookeeperClientCConan(ConanFile): + name = "zookeeper-client-c" + description = "ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services." + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://zookeeper.apache.org/" + topics = ("zookeeper", "client") + settings = "os", "arch", "compiler", "build_type" + package_type = "static-library" + options = { + "fPIC": [True, False], + "with_cyrus_sasl": [True, False], + "with_openssl": [True, False], + } + default_options = { + "fPIC": True, + "with_cyrus_sasl": False, + "with_openssl": False, + } + short_paths = 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): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_cyrus_sasl: + self.requires("cyrus-sasl/2.1.27") + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + + def build_requirements(self): + self.tool_requires("maven/3.9.2") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WANT_CPPUNIT"] = False + tc.variables["WITH_CYRUS_SASL"] = "ON" if self.options.with_cyrus_sasl else "OFF" + tc.variables["WITH_OPENSSL"] = "ON" if self.options.with_openssl else "OFF" + tc.generate() + deps = CMakeDeps(self) + deps.generate() + bvenv = VirtualBuildEnv(self) + bvenv.generate() + + 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")) + + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "zookeeper-client", "zookeeper-client-c")) + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder, "zookeeper-client", "zookeeper-client-c") + ) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["zookeeper", "hashtable"] + self.cpp_info.defines.append("USE_STATIC_LIB") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["rt", "pthread", "m"]) + + if self.settings.os == "Windows": + self.cpp_info.system_libs.extend(["wsock32", "ws2_32", ]) diff --git a/recipes/zookeeper-client-c/all/patches/3.8.1-0001-add-install.patch b/recipes/zookeeper-client-c/all/patches/3.8.1-0001-add-install.patch new file mode 100644 index 0000000000000..fe59dd04ecacb --- /dev/null +++ b/recipes/zookeeper-client-c/all/patches/3.8.1-0001-add-install.patch @@ -0,0 +1,54 @@ +diff --git a/zookeeper-client/zookeeper-client-c/CMakeLists.txt b/zookeeper-client/zookeeper-client-c/CMakeLists.txt +index 5d0175e..9349bc0 100644 +--- a/zookeeper-client/zookeeper-client-c/CMakeLists.txt ++++ b/zookeeper-client/zookeeper-client-c/CMakeLists.txt +@@ -228,16 +228,6 @@ if(CYRUS_SASL_FOUND) + target_link_libraries(zookeeper PUBLIC CyrusSASL) + endif() + +-# cli executable +-add_executable(cli src/cli.c) +-target_link_libraries(cli zookeeper) +- +-# load_gen executable +-if(WANT_SYNCAPI AND NOT WIN32) +- add_executable(load_gen src/load_gen.c) +- target_link_libraries(load_gen zookeeper) +-endif() +- + # tests + set(test_sources + tests/TestDriver.cc +@@ -290,3 +280,32 @@ if(WANT_CPPUNIT) + "ZKROOT=${CMAKE_CURRENT_SOURCE_DIR}/../.." + "CLASSPATH=$CLASSPATH:$CLOVER_HOME/lib/clover*.jar") + endif() ++ ++include(GNUInstallDirs) ++ ++install( ++ TARGETS zookeeper ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++) ++ ++install( ++ TARGETS hashtable ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++) ++ ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/proto.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/recordio.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/win_getopt.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/winconfig.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/zookeeper.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/zookeeper_log.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/include/zookeeper_version.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/generated/zookeeper.jute.h ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/zookeeper-client-c/all/test_package/CMakeLists.txt b/recipes/zookeeper-client-c/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..614f9306973ce --- /dev/null +++ b/recipes/zookeeper-client-c/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package C) + +find_package(zookeeper-client-c REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE zookeeper-client-c::zookeeper-client-c) diff --git a/recipes/zookeeper-client-c/all/test_package/conanfile.py b/recipes/zookeeper-client-c/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/zookeeper-client-c/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/zookeeper-client-c/all/test_package/test_package.c b/recipes/zookeeper-client-c/all/test_package/test_package.c new file mode 100644 index 0000000000000..d3ce6ffa2d6b7 --- /dev/null +++ b/recipes/zookeeper-client-c/all/test_package/test_package.c @@ -0,0 +1,8 @@ +#include +#include "zookeeper_log.h" + +int main(void) { + zookeeper_close(0); + + return 0; +} diff --git a/recipes/zookeeper-client-c/config.yml b/recipes/zookeeper-client-c/config.yml new file mode 100644 index 0000000000000..f3cf585c380d6 --- /dev/null +++ b/recipes/zookeeper-client-c/config.yml @@ -0,0 +1,3 @@ +versions: + "3.8.1": + folder: all From ff5940274821e665bc2970cc586184fe98c21500 Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Fri, 7 Jul 2023 17:21:57 -0500 Subject: [PATCH 0834/4087] (#18412) cyclonedds: Bump version to 0.10.3 --- recipes/cyclonedds/all/conandata.yml | 7 +++++++ recipes/cyclonedds/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cyclonedds/all/conandata.yml b/recipes/cyclonedds/all/conandata.yml index d4037567cc2c5..d51b6cdca669c 100644 --- a/recipes/cyclonedds/all/conandata.yml +++ b/recipes/cyclonedds/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "0.10.3": + url: "https://github.com/eclipse-cyclonedds/cyclonedds/archive/refs/tags/0.10.3.tar.gz" + sha256: "bc79696209febfe66d97e7af6b11e92f9db663caf608a922b6c201b1d6a5eb62" "0.10.2": url: "https://github.com/eclipse-cyclonedds/cyclonedds/archive/refs/tags/0.10.2.tar.gz" sha256: "bc84e137e0c8a055b8cd97fbeafec94e36de1b0c2e88800896a82384fd867ae5" patches: + "0.10.3": + - patch_file: "patches/0.10.2-0001-fix-find-iceoryx.patch" + patch_description: "Fix cmake find for iceoryx package" + patch_type: "conan" "0.10.2": - patch_file: "patches/0.10.2-0001-fix-find-iceoryx.patch" patch_description: "Fix cmake find for iceoryx package" diff --git a/recipes/cyclonedds/config.yml b/recipes/cyclonedds/config.yml index 6c8041d964ef5..6fdde61015259 100644 --- a/recipes/cyclonedds/config.yml +++ b/recipes/cyclonedds/config.yml @@ -1,3 +1,5 @@ versions: + "0.10.3": + folder: all "0.10.2": folder: all From 176c8ebd209c55e05bca9b4cbf57fa9164f1041d Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Sat, 8 Jul 2023 00:02:32 +0100 Subject: [PATCH 0835/4087] (#18410) eastl: older versions not compatible with msvc193 --- recipes/eastl/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/eastl/all/conanfile.py b/recipes/eastl/all/conanfile.py index b4d08cb19f705..0e2ac3111ed3a 100644 --- a/recipes/eastl/all/conanfile.py +++ b/recipes/eastl/all/conanfile.py @@ -12,6 +12,7 @@ replace_in_file, rmdir, ) +from conan.tools.microsoft import is_msvc, check_min_vs from conan.tools.scm import Version required_conan_version = ">=1.52.0" @@ -79,6 +80,9 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + + if is_msvc(self) and check_min_vs(self, "193", raise_invalid=False) and Version(self.version) < "3.21.12": + raise ConanInvalidConfiguration(f"{self.ref} is not compatible with Visual Studio 2022, please use version >= 3.21.12") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b2c786e5a90f10e9a400a77fb03e646d1d5c3669 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Sat, 8 Jul 2023 08:01:46 +0100 Subject: [PATCH 0836/4087] (#18405) cpputest: avoid evalauting dependency options in test method * cpputest: avoid evalauting dependency options in test method * cpputest: fix v1 test package --- .../cpputest/all/test_package/CMakeLists.txt | 5 +---- .../cpputest/all/test_package/conanfile.py | 5 +---- .../all/test_package/test_package.cpp | 3 +++ .../test_package_with_extensions.cpp | 19 ------------------- .../cpputest/all/test_v1_package/conanfile.py | 3 --- 5 files changed, 5 insertions(+), 30 deletions(-) delete mode 100644 recipes/cpputest/all/test_package/test_package_with_extensions.cpp diff --git a/recipes/cpputest/all/test_package/CMakeLists.txt b/recipes/cpputest/all/test_package/CMakeLists.txt index be713b804677f..d28cda840f45c 100644 --- a/recipes/cpputest/all/test_package/CMakeLists.txt +++ b/recipes/cpputest/all/test_package/CMakeLists.txt @@ -5,8 +5,5 @@ find_package(CppUTest REQUIRED CONFIG) add_executable(test_package test_package.cpp) target_link_libraries(test_package PRIVATE CppUTest) +target_compile_definitions(test_package PRIVATE $<$:WITH_EXTENSIONS>) -if(WITH_EXTENSIONS) - add_executable(test_package_with_extensions test_package_with_extensions.cpp) - target_link_libraries(test_package_with_extensions PRIVATE CppUTestExt) -endif() diff --git a/recipes/cpputest/all/test_package/conanfile.py b/recipes/cpputest/all/test_package/conanfile.py index f422d1c08f29f..c743b7456a139 100644 --- a/recipes/cpputest/all/test_package/conanfile.py +++ b/recipes/cpputest/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["WITH_EXTENSIONS"] = self.dependencies["cpputest"].options.with_extensions + tc.cache_variables["WITH_EXTENSIONS"] = self.dependencies["cpputest"].options.with_extensions tc.generate() def build(self): @@ -29,6 +29,3 @@ 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") - if self.options["cpputest"].with_extensions: - bin_extensions_path = os.path.join(self.cpp.build.bindirs[0], "test_package_with_extensions") - self.run(bin_extensions_path, env="conanrun") diff --git a/recipes/cpputest/all/test_package/test_package.cpp b/recipes/cpputest/all/test_package/test_package.cpp index 2675c3b7d443a..4ba22fc9a1637 100644 --- a/recipes/cpputest/all/test_package/test_package.cpp +++ b/recipes/cpputest/all/test_package/test_package.cpp @@ -1,6 +1,9 @@ #include #include #include +#if defined(WITH_EXTENSIONS) +#include // Only found if extensions enabled +#endif TEST_GROUP(FirstTestGroup) { diff --git a/recipes/cpputest/all/test_package/test_package_with_extensions.cpp b/recipes/cpputest/all/test_package/test_package_with_extensions.cpp deleted file mode 100644 index df94dae2d50a1..0000000000000 --- a/recipes/cpputest/all/test_package/test_package_with_extensions.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include -#include -#include -#include // Only found if extensions enabled - -TEST_GROUP(FirstTestGroup) -{ -}; - -TEST(FirstTestGroup, FirstTest) -{ - CHECK_TRUE(true); -} - -int main(int argc, const char** argv) -{ - CommandLineTestRunner runner(argc, argv, TestRegistry::getCurrentRegistry()); - return runner.runAllTestsMain(); -} diff --git a/recipes/cpputest/all/test_v1_package/conanfile.py b/recipes/cpputest/all/test_v1_package/conanfile.py index cce86300f1595..32e223569cdb0 100644 --- a/recipes/cpputest/all/test_v1_package/conanfile.py +++ b/recipes/cpputest/all/test_v1_package/conanfile.py @@ -16,6 +16,3 @@ 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 self.options["cpputest"].with_extensions: - bin_extensions_path = os.path.join("bin", "test_package_with_extensions") - self.run(bin_extensions_path, run_environment=True) From 5fd4f44552f8632a262f03187ae39939de96024c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Sat, 8 Jul 2023 09:24:04 +0200 Subject: [PATCH 0837/4087] (#18382) [bot] Update authorized users list (2023-07-06) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 267ddf76ccb48..288b519d5dbe9 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1187,3 +1187,9 @@ authorized_users: - CJCombrink - nayyden - wAuner +- m00z +- trns1997 +- GenuineAster +- Nachicle +- TrimbleAg +- ylatuya From 76222b22c25bd8c1a8a6bd6040232c04655e0dfc Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 8 Jul 2023 16:46:13 +0900 Subject: [PATCH 0838/4087] (#17971) c-blosc2: add version 2.10.0, update dependencies * c-blosc2: add version 2.9.2, update dependencies * support shared build * update 2.9.3 * make zstd transitive_libs=True * update 2.10.0 * fixing linking errors --------- Co-authored-by: James --- recipes/c-blosc2/all/conandata.yml | 7 ++ recipes/c-blosc2/all/conanfile.py | 6 +- .../all/patches/2.10.0-0001-fix-cmake.patch | 106 ++++++++++++++++++ recipes/c-blosc2/config.yml | 2 + 4 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 4e49e406144c5..09b337eb1d3e7 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.0": + url: "https://github.com/Blosc/c-blosc2/archive/v2.10.0.tar.gz" + sha256: "cb7f7c0c62af78982140ecff21a2f3ca9ce6a0a1c02e314fcdce1a98da0fe231" "2.8.0": url: "https://github.com/Blosc/c-blosc2/archive/v2.8.0.tar.gz" sha256: "be608cdf68deb02e0d3ee62e183942a0fe5d5d3185375b9b6566e2ae35a9bdbd" @@ -21,6 +24,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.2.0.tar.gz" sha256: "66f9977de26d6bc9ea1c0e623d873c3225e4fff709aa09b3335fd09d41d57c0e" patches: + "2.10.0": + - patch_file: "patches/2.10.0-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.8.0": - patch_file: "patches/2.8.0-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 95efd9dcbcb1d..3d06cc9c0ee52 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -67,11 +67,11 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.0.6") + self.requires("zlib-ng/2.1.2") elif self.options.with_zlib == "zlib": self.requires("zlib/1.2.13") if self.options.with_zstd: - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") def build_requirements(self): if Version(self.version) >= "2.4.1": @@ -143,4 +143,4 @@ def package_info(self): prefix = "lib" if is_msvc(self) and not self.options.shared else "" self.cpp_info.libs = [f"{prefix}blosc2"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["rt", "m", "pthread"] + self.cpp_info.system_libs = ["rt", "m", "pthread", "dl"] diff --git a/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..4ccea534729cb --- /dev/null +++ b/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch @@ -0,0 +1,106 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 85d1e03..00e6cad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -152,26 +152,26 @@ if(BUILD_LITE) + endif() + + if(PREFER_EXTERNAL_LZ4) +- find_package(LZ4) ++ find_package(lz4) + else() + message(STATUS "Using LZ4 internal sources.") + endif() + + if(NOT DEACTIVATE_ZLIB) + if(PREFER_EXTERNAL_ZLIB) +- find_package(ZLIB_NG) +- if(ZLIB_NG_FOUND) ++ find_package(zlib_ng) ++ if(zlib_ng_FOUND) + set(HAVE_ZLIB_NG TRUE) + else() + find_package(ZLIB) + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) + message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") + endif() + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(0) + message(STATUS "Using ZLIB-NG internal sources for ZLIB support.") + set(HAVE_ZLIB_NG TRUE) + add_definitions(-DZLIB_COMPAT) +@@ -192,8 +192,8 @@ endif() + + if(NOT DEACTIVATE_ZSTD) + if(PREFER_EXTERNAL_ZSTD) +- find_package(ZSTD) +- if(NOT ZSTD_FOUND) ++ find_package(zstd) ++ if(NOT zstd_FOUND) + message(STATUS "No ZSTD library found. Using internal sources.") + endif() + else() +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index a6d566d..ba65bae 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -18,8 +18,8 @@ set(CMAKE_C_VISIBILITY_PRESET hidden) + + # includes + set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}) +-if(LZ4_FOUND) +- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_INCLUDE_DIR}) ++if(lz4_FOUND) ++ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${lz4_INCLUDE_DIR}) + else() + set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4) + set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_LOCAL_DIR}) +@@ -37,8 +37,8 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) +- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR}) ++ if(zstd_FOUND) ++ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zstd_INCLUDE_DIR}) + else() + set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.5) + set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_LOCAL_DIR} +@@ -100,8 +100,8 @@ else() + set(LIBS ${LIBS} ${CMAKE_DL_LIBS}) + endif() + +-if(LZ4_FOUND) +- set(LIBS ${LIBS} ${LZ4_LIBRARY}) ++if(lz4_FOUND) ++ set(LIBS ${LIBS} ${lz4_LIBRARIES}) + else() + file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) + set(SOURCES ${SOURCES} ${LZ4_FILES}) +@@ -109,8 +109,8 @@ else() + endif() + + if(NOT DEACTIVATE_ZLIB) +- if(ZLIB_NG_FOUND) +- set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) ++ if(zlib_ng_FOUND) ++ set(LIBS ${LIBS} ${zlib_ng_LIBRARIES}) + elseif(ZLIB_FOUND) + set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) + else() +@@ -122,8 +122,8 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) +- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) ++ if(zstd_FOUND) ++ set(LIBS ${LIBS} ${zstd_LIBRARIES}) + else() + # Enable assembly code only when not using MSVC *and* x86 is there + if((NOT MSVC) AND COMPILER_SUPPORT_SSE2) # if SSE2 is here, this is an x86 platform diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 4c05452a0a1c9..94edc65e4565a 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.0": + folder: all "2.8.0": folder: all "2.6.1": From e71b07bf01b9f2df33459a2470d4f09f9f6663fa Mon Sep 17 00:00:00 2001 From: Kevin Lannen Date: Sat, 8 Jul 2023 02:44:30 -0600 Subject: [PATCH 0839/4087] (#17707) Create recipe for foxglove-schemas-protobuf package --- .../all/CMakeLists.txt | 44 ++++++++ .../all/conandata.yml | 4 + .../all/conanfile.py | 101 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 24 +++++ .../all/test_package/test_package.cpp | 8 ++ recipes/foxglove-schemas-protobuf/config.yml | 3 + 7 files changed, 192 insertions(+) create mode 100644 recipes/foxglove-schemas-protobuf/all/CMakeLists.txt create mode 100644 recipes/foxglove-schemas-protobuf/all/conandata.yml create mode 100644 recipes/foxglove-schemas-protobuf/all/conanfile.py create mode 100644 recipes/foxglove-schemas-protobuf/all/test_package/CMakeLists.txt create mode 100644 recipes/foxglove-schemas-protobuf/all/test_package/conanfile.py create mode 100644 recipes/foxglove-schemas-protobuf/all/test_package/test_package.cpp create mode 100644 recipes/foxglove-schemas-protobuf/config.yml diff --git a/recipes/foxglove-schemas-protobuf/all/CMakeLists.txt b/recipes/foxglove-schemas-protobuf/all/CMakeLists.txt new file mode 100644 index 0000000000000..a8497dc9f144a --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/all/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.15) +project(Foxglove-Schemas CXX) + +find_package(Protobuf 3 REQUIRED) + +FILE(GLOB all_protos "schemas/proto/foxglove/*.proto") + +# Create lists of all the generated headers and sources +FOREACH(f ${all_protos}) + file(RELATIVE_PATH f ${CMAKE_CURRENT_SOURCE_DIR}/schemas/proto ${f}) + STRING(REGEX REPLACE "\\.proto$" "" f ${f}) + LIST(APPEND proto_headers "${CMAKE_CURRENT_SOURCE_DIR}/autogenerated/${f}.pb.h") + LIST(APPEND proto_sources "${CMAKE_CURRENT_SOURCE_DIR}/autogenerated/${f}.pb.cc") +ENDFOREACH(f) + +LIST(APPEND proto_sources ${proto_headers}) + +# Create a directory for the generated files +FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/autogenerated) + +# Execute the protoc compiler +add_custom_command( + OUTPUT ${proto_sources} + COMMAND ${CMAKE_COMMAND} -E make_directory autogenerated + COMMAND ${Protobuf_PROTOC_EXECUTABLE} --proto_path=${CMAKE_CURRENT_SOURCE_DIR}/schemas/proto --cpp_out=${CMAKE_CURRENT_SOURCE_DIR}/autogenerated ${all_protos} +) + +add_library(foxglove_schemas_protobuf ${proto_sources}) + +target_include_directories(foxglove_schemas_protobuf PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/autogenerated) + +target_link_libraries(foxglove_schemas_protobuf PUBLIC protobuf::libprotobuf) + +set_property(TARGET foxglove_schemas_protobuf PROPERTY CXX_STANDARD 17) + + +# Set all the headers as public so they are installed and add the proto files since they should also be installed in the include directory +LIST(APPEND proto_headers ${all_protos}) +set_target_properties(foxglove_schemas_protobuf PROPERTIES PUBLIC_HEADER "${proto_headers}" ) + + +install(TARGETS foxglove_schemas_protobuf + LIBRARY DESTINATION lib + PUBLIC_HEADER DESTINATION include/foxglove) diff --git a/recipes/foxglove-schemas-protobuf/all/conandata.yml b/recipes/foxglove-schemas-protobuf/all/conandata.yml new file mode 100644 index 0000000000000..658f5043f7c66 --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + 0.1.0: + url: https://github.com/foxglove/schemas/archive/refs/tags/releases/python/foxglove-schemas-protobuf/v0.1.0.tar.gz + sha256: 42153b62000c0c614301ecd2b9173c69f467dd543db3328a1b0491bce8ee5594 diff --git a/recipes/foxglove-schemas-protobuf/all/conanfile.py b/recipes/foxglove-schemas-protobuf/all/conanfile.py new file mode 100644 index 0000000000000..5a5291f2d6ec4 --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/all/conanfile.py @@ -0,0 +1,101 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches +from conan.tools.microsoft import check_min_vs +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + + +class FoxgloveSchemasProtobufConan(ConanFile): + name = "foxglove-schemas-protobuf" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/foxglove/schemas" + description = "Protobuf schemas for Foxglove" + license = "MIT" + topics = ("foxglove", "protobuf", "schemas") + + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps" + package_type = "library" + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "msvc": "191", + "gcc": "9", + "clang": "9", + "apple-clang": "12", + } + + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=(self.export_sources_folder + "/src")) + export_conandata_patches(self) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, self._compilers_minimum_version["msvc"]) + 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("Windows shared builds are not supported yet.") + + def build_requirements(self): + self.tool_requires("protobuf/3.21.9") + + def requirements(self): + self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True) + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + 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 build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.configure() + cmake.install() + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.libs = ["foxglove_schemas_protobuf"] diff --git a/recipes/foxglove-schemas-protobuf/all/test_package/CMakeLists.txt b/recipes/foxglove-schemas-protobuf/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..793bfe03abb6b --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) + +find_package(foxglove-schemas-protobuf CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} foxglove-schemas-protobuf::foxglove-schemas-protobuf) +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON) diff --git a/recipes/foxglove-schemas-protobuf/all/test_package/conanfile.py b/recipes/foxglove-schemas-protobuf/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8d2d8af87e4f6 --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/all/test_package/conanfile.py @@ -0,0 +1,24 @@ +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.build import can_run +import os + + +class TestPackageConan(ConanFile): + settings = ("os", "arch", "compiler", "build_type") + 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): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/foxglove-schemas-protobuf/all/test_package/test_package.cpp b/recipes/foxglove-schemas-protobuf/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..264f429e55dee --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include + + +int main() { + foxglove::SceneUpdate msg; + auto* entity = msg.add_entities(); + return 0; +} diff --git a/recipes/foxglove-schemas-protobuf/config.yml b/recipes/foxglove-schemas-protobuf/config.yml new file mode 100644 index 0000000000000..684647742e06b --- /dev/null +++ b/recipes/foxglove-schemas-protobuf/config.yml @@ -0,0 +1,3 @@ +versions: + 0.1.0: + folder: all From 716164c91333ff0600afba5e5ac3f33ca6110153 Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Sun, 9 Jul 2023 00:42:31 +0800 Subject: [PATCH 0840/4087] (#18420) libharu: bump deps --- recipes/libharu/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libharu/all/conanfile.py b/recipes/libharu/all/conanfile.py index fc6fd0d3335fc..73045d8d62bce 100644 --- a/recipes/libharu/all/conanfile.py +++ b/recipes/libharu/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): self.requires("zlib/1.2.13") - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) From 852a9ea9010aab8e6dc2c538a71b546bd7f06193 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 9 Jul 2023 03:21:52 +0900 Subject: [PATCH 0841/4087] (#18424) jsoncons: add version 0.171.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 9d14ae63f5622..ee163c0bae477 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.171.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.0.tar.gz" + sha256: "0be840e984e30e70747c01e55669bbd4c49737cffc5852ccc5625dfe3dd38530" "0.170.2": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.170.2.tar.gz" sha256: "0ff0cd407f6b27dea66a3202bc8bc2e043ec1614419e76840eda5b5f8045a43a" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index 46ac84b999858..9830af3e7e5e0 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.171.0": + folder: "all" "0.170.2": folder: "all" "0.169.0": From aaf9d2bb36056936ff7663551f1ef408d2c36f81 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 9 Jul 2023 03:42:31 +0900 Subject: [PATCH 0842/4087] (#18426) commata: add version 0.2.5 --- 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 8d18339e36157..f3b0e9f61cd27 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.5": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.5.tar.gz" + sha256: "d1be1f366267af6c466c29f846f5968f57626a8a6635a2ea9a3de3f6fb88e53b" "0.2.4-bug1": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4-bug1.tar.gz" sha256: "fcde251d9b41f1601e1f8b2181613b4bf33c4318678700e2b3b54bf24bc9e1e3" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 48953f2722cf9..5000ff084e200 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.5": + folder: all "0.2.4-bug1": folder: all "0.2.4": From e950432268d73e42fa78a0de7e8ff5733f834992 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 9 Jul 2023 04:04:05 +0900 Subject: [PATCH 0843/4087] (#18422) uni-algo: add version 1.0.0 --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index 63f151e67e84c..506f983a8dd2c 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/uni-algo/uni-algo/archive/v1.0.0.tar.gz" + sha256: "a59d61cd4a4fff08672831c7e5a8c204bb6e96c21506b6471771c01b38958a15" "0.8.2": url: "https://github.com/uni-algo/uni-algo/archive/v0.8.2.tar.gz" sha256: "c0dab8ae1dbbab3e33b0c5bb512e927badb57f53e7ee96517c1dfd2e078b7669" diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index fa5046ea4bf03..9ca04a66695ca 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.8.2": folder: all "0.8.1": From d959533bd2a5f1fba28f37997edc40962a983158 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 9 Jul 2023 10:41:58 +0200 Subject: [PATCH 0844/4087] (#18427) harfbuzz: add version 8.0.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index f28956a8ac497..64fe979aaf7f1 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.0.0": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.0.0/harfbuzz-8.0.0.tar.xz" + sha256: "1f98b5e3d06a344fe667d7e8210094ced458791499839bddde98c167ce6a7c79" "7.3.0": url: "https://github.com/harfbuzz/harfbuzz/releases/download/7.3.0/harfbuzz-7.3.0.tar.xz" sha256: "20770789749ac9ba846df33983dbda22db836c70d9f5d050cb9aa5347094a8fb" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index 2957fc897516b..13bf6c59a16fa 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "8.0.0": + folder: all "7.3.0": folder: all "7.1.0": From 799e8fbc6b62cfc95883b95ca67091a216f0567e Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sun, 9 Jul 2023 12:31:26 +0200 Subject: [PATCH 0845/4087] (#18434) [sentry-breakpad/0.6.5] Add version --- recipes/sentry-breakpad/all/conandata.yml | 6 +++--- recipes/sentry-breakpad/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-breakpad/all/conandata.yml b/recipes/sentry-breakpad/all/conandata.yml index 17d89711effcc..ced5e36dba275 100644 --- a/recipes/sentry-breakpad/all/conandata.yml +++ b/recipes/sentry-breakpad/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.5": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip" + sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995" "0.6.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.6.3": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" - "0.6.2": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" - sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-breakpad/config.yml b/recipes/sentry-breakpad/config.yml index fb99bc2eb64b8..3450228c14b09 100644 --- a/recipes/sentry-breakpad/config.yml +++ b/recipes/sentry-breakpad/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.5": + folder: all "0.6.4": folder: all "0.6.3": folder: all - "0.6.2": - folder: all "0.5.4": folder: all "0.4.18": From c5f4b77bb5736f3351633cf73eddebf95faa87ed Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sun, 9 Jul 2023 14:02:14 +0200 Subject: [PATCH 0846/4087] (#18435) [sentry-crashpad/0.6.5] Add version --- recipes/sentry-crashpad/all/conandata.yml | 6 +++--- recipes/sentry-crashpad/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-crashpad/all/conandata.yml b/recipes/sentry-crashpad/all/conandata.yml index 17d89711effcc..ced5e36dba275 100644 --- a/recipes/sentry-crashpad/all/conandata.yml +++ b/recipes/sentry-crashpad/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.5": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip" + sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995" "0.6.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.6.3": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" - "0.6.2": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" - sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-crashpad/config.yml b/recipes/sentry-crashpad/config.yml index fb99bc2eb64b8..3450228c14b09 100644 --- a/recipes/sentry-crashpad/config.yml +++ b/recipes/sentry-crashpad/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.5": + folder: all "0.6.4": folder: all "0.6.3": folder: all - "0.6.2": - folder: all "0.5.4": folder: all "0.4.18": From f59227f84e558c1f5965744e8af2592889240406 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 9 Jul 2023 14:41:56 +0200 Subject: [PATCH 0847/4087] (#18432) freeimage/all: bump deps --- recipes/freeimage/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/freeimage/all/conanfile.py b/recipes/freeimage/all/conanfile.py index 11a3b438484c7..5f0684be02c51 100644 --- a/recipes/freeimage/all/conanfile.py +++ b/recipes/freeimage/all/conanfile.py @@ -77,9 +77,9 @@ def requirements(self): if self.options.with_jpeg2000: self.requires("openjpeg/2.5.0") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_webp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") if self.options.with_tiff or self.options.with_openexr: # can't upgrade to openexr/3.x.x because plugin tiff requires openexr/2.x.x header files self.requires("openexr/2.5.7") @@ -89,7 +89,7 @@ def requirements(self): if self.options.with_jxr: self.requires("jxrlib/cci.20170615") if self.options.with_tiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): From b1e81a8ce95cee7f0a366ad1108872674b7bb31d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 9 Jul 2023 17:23:43 +0200 Subject: [PATCH 0848/4087] (#18440) cairo/meson: bump deps --- recipes/cairo/meson/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 6ff2bab330a2c..22c79e1b6951e 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -105,7 +105,7 @@ def requirements(self): if self.options.with_fontconfig: self.requires("fontconfig/2.14.2") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_glib: self.requires("glib/2.76.3") if self.settings.os == "Linux": From 4c207facd94cb4ceedbbea1a0058c6d00080befe Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 9 Jul 2023 17:45:10 +0200 Subject: [PATCH 0849/4087] (#18439) opencv/2.x: bump deps --- recipes/opencv/2.x/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/opencv/2.x/conanfile.py b/recipes/opencv/2.x/conanfile.py index 33f0ecba72fd2..2dc9254ee3172 100644 --- a/recipes/opencv/2.x/conanfile.py +++ b/recipes/opencv/2.x/conanfile.py @@ -362,18 +362,18 @@ def requirements(self): if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") elif self.options.get_safe("with_jpeg") == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.get_safe("with_png"): - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.get_safe("with_jasper"): self.requires("jasper/4.0.0") if self.options.get_safe("with_openexr"): # opencv 2.x doesn't support openexr >= 3 self.requires("openexr/2.5.7") if self.options.get_safe("with_tiff"): - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.get_safe("with_gtk"): self.requires("gtk/system") From 8cef5493e7298b934afdfaf1d86c7648af926c84 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 10 Jul 2023 01:21:58 +0900 Subject: [PATCH 0850/4087] (#18448) sqlpp11: add version 0.63 --- recipes/sqlpp11/all/conandata.yml | 3 +++ recipes/sqlpp11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlpp11/all/conandata.yml b/recipes/sqlpp11/all/conandata.yml index a54e77da8a340..3357310d8ea8c 100644 --- a/recipes/sqlpp11/all/conandata.yml +++ b/recipes/sqlpp11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.63": + url: "https://github.com/rbock/sqlpp11/archive/0.63.tar.gz" + sha256: "8e8229501679435e5052c2184d6772e4d6f61e6a9e2ec7231c5fb9a3d3b88d7e" "0.62": url: "https://github.com/rbock/sqlpp11/archive/0.62.tar.gz" sha256: "6d8326e94c5b14a863ead15688d853ab7854136caa9ebc47389a833fe79db7c5" diff --git a/recipes/sqlpp11/config.yml b/recipes/sqlpp11/config.yml index c35347d804ef3..e0a6c05b5e927 100644 --- a/recipes/sqlpp11/config.yml +++ b/recipes/sqlpp11/config.yml @@ -1,4 +1,6 @@ versions: + "0.63": + folder: "all" "0.62": folder: "all" "0.61": From 8cab8b39d80699d2b20d21a010f184235159fe6b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 10 Jul 2023 01:42:03 +0900 Subject: [PATCH 0851/4087] (#18446) spdlog: add version 1.12.0 --- recipes/spdlog/all/conandata.yml | 3 +++ recipes/spdlog/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/spdlog/all/conandata.yml b/recipes/spdlog/all/conandata.yml index d6609a68f5915..f320d3a0e0568 100644 --- a/recipes/spdlog/all/conandata.yml +++ b/recipes/spdlog/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.12.0": + url: "https://github.com/gabime/spdlog/archive/v1.12.0.tar.gz" + sha256: "4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9" "1.11.0": url: "https://github.com/gabime/spdlog/archive/v1.11.0.tar.gz" sha256: "ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb" diff --git a/recipes/spdlog/config.yml b/recipes/spdlog/config.yml index 1323ecbb893ca..0228f28a93d75 100644 --- a/recipes/spdlog/config.yml +++ b/recipes/spdlog/config.yml @@ -1,4 +1,6 @@ versions: + "1.12.0": + folder: "all" "1.11.0": folder: "all" "1.10.0": From aa3da7fb7d0df1395b083cbf213ca3d88b6ea79f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 9 Jul 2023 19:22:46 +0200 Subject: [PATCH 0852/4087] (#18442) libraw/all: bump deps --- recipes/libraw/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libraw/all/conanfile.py b/recipes/libraw/all/conanfile.py index e68c86171e78e..8ac3fa60eafca 100644 --- a/recipes/libraw/all/conanfile.py +++ b/recipes/libraw/all/conanfile.py @@ -51,7 +51,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") if self.options.with_lcms: self.requires("lcms/2.14") if self.options.with_jasper: From df9a760a97d0d99d5c764253937d19973e5e9df2 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 10 Jul 2023 04:22:50 +0900 Subject: [PATCH 0853/4087] (#18409) joltphysics: add version 3.0.1 * joltphysics: add version 3.0.1 * make ENABLE_ALL_WARNINGS False for msvc --- recipes/joltphysics/all/conandata.yml | 9 +- recipes/joltphysics/all/conanfile.py | 6 + ...cmake.patch => 2.0.1-0001-fix-cmake.patch} | 0 .../all/patches/3.0.1-0001-fix-cmake.patch | 125 ++++++++++++++++++ recipes/joltphysics/config.yml | 2 + 5 files changed, 141 insertions(+), 1 deletion(-) rename recipes/joltphysics/all/patches/{0001-fix-cmake.patch => 2.0.1-0001-fix-cmake.patch} (100%) create mode 100644 recipes/joltphysics/all/patches/3.0.1-0001-fix-cmake.patch diff --git a/recipes/joltphysics/all/conandata.yml b/recipes/joltphysics/all/conandata.yml index 7c5580239b9ad..3b85494834125 100644 --- a/recipes/joltphysics/all/conandata.yml +++ b/recipes/joltphysics/all/conandata.yml @@ -1,9 +1,16 @@ sources: + "3.0.1": + url: "https://github.com/jrouwe/JoltPhysics/archive/refs/tags/v3.0.1.tar.gz" + sha256: "7ebb40bf2dddbcf0515984582aaa197ddd06e97581fd55b98cb64f91b243b8a6" "2.0.1": url: "https://github.com/jrouwe/JoltPhysics/archive/refs/tags/v2.0.1.tar.gz" sha256: "96ae2e8691c4802e56bf2587da30f2cc86b8abe82a78bc2398065bd87dd718af" patches: + "3.0.1": + - patch_file: "patches/3.0.1-0001-fix-cmake.patch" + patch_description: "Fix CMakeLists: no warnings as errors, allow shared, add install target, and add profile & debug_renderer options" + patch_type: "conan" "2.0.1": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/2.0.1-0001-fix-cmake.patch" patch_description: "Fix CMakeLists: no warnings as errors, allow shared, add install target, and add profile & debug_renderer options" patch_type: "conan" diff --git a/recipes/joltphysics/all/conanfile.py b/recipes/joltphysics/all/conanfile.py index dc05fc97bdff2..ef2cbdfc71184 100644 --- a/recipes/joltphysics/all/conanfile.py +++ b/recipes/joltphysics/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -87,6 +88,9 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -127,6 +131,8 @@ def generate(self): tc.variables["USE_STATIC_MSVC_RUNTIME_LIBRARY"] = is_msvc_static_runtime(self) tc.variables["JPH_DEBUG_RENDERER"] = self.options.debug_renderer tc.variables["JPH_PROFILE_ENABLED"] = self.options.profile + if Version(self.version) >= "3.0.0": + tc.variables["ENABLE_ALL_WARNINGS"] = False tc.generate() def build(self): diff --git a/recipes/joltphysics/all/patches/0001-fix-cmake.patch b/recipes/joltphysics/all/patches/2.0.1-0001-fix-cmake.patch similarity index 100% rename from recipes/joltphysics/all/patches/0001-fix-cmake.patch rename to recipes/joltphysics/all/patches/2.0.1-0001-fix-cmake.patch diff --git a/recipes/joltphysics/all/patches/3.0.1-0001-fix-cmake.patch b/recipes/joltphysics/all/patches/3.0.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..b42aafe47bc62 --- /dev/null +++ b/recipes/joltphysics/all/patches/3.0.1-0001-fix-cmake.patch @@ -0,0 +1,125 @@ +diff --git a/Build/CMakeLists.txt b/Build/CMakeLists.txt +index e4fddc5..b106489 100644 +--- a/Build/CMakeLists.txt ++++ b/Build/CMakeLists.txt +@@ -19,8 +19,8 @@ option(CROSS_COMPILE_ARM "Cross compile to aarch64-linux-gnu" OFF) + # If you don't do this you may get an error: /usr/bin/ld: libJolt.a: error adding symbols: file format not recognized + option(INTERPROCEDURAL_OPTIMIZATION "Enable interprocedural optimizations" ON) + +-# When turning this on, in Debug and Release mode, the library will emit extra code to ensure that the 4th component of a 3-vector is kept the same as the 3rd component +-# and will enable floating point exceptions during simulation to detect divisions by zero. ++# When turning this on, in Debug and Release mode, the library will emit extra code to ensure that the 4th component of a 3-vector is kept the same as the 3rd component ++# and will enable floating point exceptions during simulation to detect divisions by zero. + # Note that this currently only works using MSVC. Clang turns Float2 into a SIMD vector sometimes causing floating point exceptions (the option is ignored). + option(FLOATING_POINT_EXCEPTIONS_ENABLED "Enable floating point exceptions" ON) + +@@ -47,17 +47,10 @@ include(CMakeDependentOption) + # Windows Store only supports the DLL version + cmake_dependent_option(USE_STATIC_MSVC_RUNTIME_LIBRARY "Use the static MSVC runtime library" ON "MSVC;NOT WINDOWS_STORE" OFF) + +-# Determine which configurations exist +-if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") +- set(CMAKE_CONFIGURATION_TYPES "Debug;Release;Distribution") +-elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") +- set(CMAKE_CONFIGURATION_TYPES "Debug;Release;ReleaseASAN;ReleaseUBSAN;ReleaseCoverage;Distribution") +-endif() +- + if (("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore") AND NOT MINGW) + # Fill in the path to the asan libraries + set(CLANG_LIB_PATH "\"$(VSInstallDir)\\VC\\Tools\\Llvm\\x64\\lib\\clang\\${CMAKE_CXX_COMPILER_VERSION}\\lib\\windows\"") +- ++ + # 64 bit architecture + set(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE "x64") + +@@ -68,7 +61,7 @@ if (("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows" OR "${CMAKE_SYSTEM_NAME}" STREQUA + + # Set general compiler flags + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus /Gm- /MP /nologo /diagnostics:classic /FC /fp:except- /Zc:inline") +- ++ + # Enable warnings + if (ENABLE_ALL_WARNINGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall /WX") +@@ -189,7 +182,7 @@ set(PHYSICS_REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../) + include(${PHYSICS_REPO_ROOT}/Jolt/Jolt.cmake) + if (IOS) + # Ensure that we enable SSE4.2 for the x86_64 build, CMAKE_SYSTEM_PROCESSOR is not set for iOS +- set_property(TARGET Jolt PROPERTY XCODE_ATTRIBUTE_OTHER_CPLUSPLUSFLAGS[arch=x86_64] "$(inherited) -msse4.2 -mpopcnt") ++ set_property(TARGET Jolt PROPERTY XCODE_ATTRIBUTE_OTHER_CPLUSPLUSFLAGS[arch=x86_64] "$(inherited) -msse4.2 -mpopcnt") + endif() + + # Install Jolt library and includes +@@ -202,7 +195,7 @@ foreach(SRC_FILE ${JOLT_PHYSICS_SRC_FILES}) + endif() + endforeach() + +-# Check if we're the root CMakeLists.txt, if not we are included by another CMake file and we should disable everything except for the main library ++# Check if we're the root CMakeLists.txt, if not we are included by another CMake file and we should disable everything except for the main library + if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + # Ability to turn ON/OFF individual applications + option(TARGET_UNIT_TESTS "Build Unit Tests" ON) +@@ -258,7 +251,7 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + target_link_options(PerformanceTest PUBLIC "/SUBSYSTEM:CONSOLE") + endif() + set_property(TARGET PerformanceTest PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${PHYSICS_REPO_ROOT}") +- ++ + # Copy the assets folder + add_custom_command(TARGET PerformanceTest PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${PHYSICS_REPO_ROOT}/Assets/ $/Assets/) + endif() +@@ -276,4 +269,4 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + include(${PHYSICS_REPO_ROOT}/JoltViewer/JoltViewer.cmake) + endif() + endif() +-endif() +\ No newline at end of file ++endif() +diff --git a/Jolt/Jolt.cmake b/Jolt/Jolt.cmake +index 176a757..efed8f0 100644 +--- a/Jolt/Jolt.cmake ++++ b/Jolt/Jolt.cmake +@@ -430,14 +430,28 @@ endif() + source_group(TREE ${JOLT_PHYSICS_ROOT} FILES ${JOLT_PHYSICS_SRC_FILES}) + + # Create Jolt lib +-add_library(Jolt STATIC ${JOLT_PHYSICS_SRC_FILES}) ++add_library(Jolt ${JOLT_PHYSICS_SRC_FILES}) ++target_compile_features(Jolt PUBLIC cxx_std_17) ++include(GNUInstallDirs) ++install( ++ TARGETS Jolt ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++) ++install(DIRECTORY ${JOLT_PHYSICS_ROOT} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING REGEX "(.*).(h|inl)$") ++if(JPH_DEBUG_RENDERER) ++ target_compile_definitions(Jolt PUBLIC JPH_DEBUG_RENDERER) ++endif() ++if(JPH_PROFILE_ENABLED) ++ target_compile_definitions(Jolt PUBLIC JPH_PROFILE_ENABLED) ++endif() + target_include_directories(Jolt PUBLIC ${PHYSICS_REPO_ROOT}) +-target_precompile_headers(Jolt PRIVATE ${JOLT_PHYSICS_ROOT}/Jolt.h) +-target_compile_definitions(Jolt PUBLIC "$<$:_DEBUG;JPH_PROFILE_ENABLED;JPH_DEBUG_RENDERER>") +-target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_PROFILE_ENABLED;JPH_DEBUG_RENDERER>") ++target_compile_definitions(Jolt PUBLIC "$<$:_DEBUG>") ++target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG>") + target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG>") +-target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_PROFILE_ENABLED;JPH_DISABLE_TEMP_ALLOCATOR;JPH_DISABLE_CUSTOM_ALLOCATOR;JPH_DEBUG_RENDERER>") +-target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_PROFILE_ENABLED;JPH_DEBUG_RENDERER>") ++target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_DISABLE_TEMP_ALLOCATOR;JPH_DISABLE_CUSTOM_ALLOCATOR>") ++target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG>") + target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG>") + + # Setting floating point exceptions +@@ -471,7 +485,7 @@ function(EMIT_X86_INSTRUCTION_SET_DEFINITIONS) + endif() + if (USE_AVX) + target_compile_definitions(Jolt PUBLIC JPH_USE_AVX) +- endif() ++ endif() + if (USE_SSE4_1) + target_compile_definitions(Jolt PUBLIC JPH_USE_SSE4_1) + endif() diff --git a/recipes/joltphysics/config.yml b/recipes/joltphysics/config.yml index bb7eb85dfac49..41bbdfae2300d 100644 --- a/recipes/joltphysics/config.yml +++ b/recipes/joltphysics/config.yml @@ -1,3 +1,5 @@ versions: + "3.0.1": + folder: all "2.0.1": folder: all From 39b0755080213937a866125308733ffc7db115b8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 10 Jul 2023 05:03:40 +0900 Subject: [PATCH 0854/4087] (#18392) cpp-httplib: add version 0.13.1 * cpp-httplib: add version 0.13.0 * drop support gcc 5 * update 0.13.1 * support gcc5 again --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/all/conanfile.py | 1 + recipes/cpp-httplib/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 24ff696c99e6b..dff9808ae31f2 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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 fafe791af7015..ce51d51a2071d 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -1,4 +1,5 @@ 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 diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 22c803b64c51d..7af780ed5d22d 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.1": + folder: all "0.12.6": folder: all "0.11.4": From 19b01641c26d1dd9034dc37198d2885b97779617 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 10 Jul 2023 05:23:07 +0900 Subject: [PATCH 0855/4087] (#18301) fastgltf: add version 0.5.0, update simdjson, small improvements * fastgltf: add version 0.5.0, update simdjson, small improvements * workaround for std::call_once --- recipes/fastgltf/all/conandata.yml | 9 ++++ recipes/fastgltf/all/conanfile.py | 53 +++++++++++++------ .../0.5.0-0001-find_package-simdjson.patch | 13 +++++ .../fastgltf/all/test_package/CMakeLists.txt | 9 ++-- .../fastgltf/all/test_package/conanfile.py | 1 - .../all/test_package/test_package.cpp | 23 ++++++-- .../fastgltf/all/test_v1_package/conanfile.py | 1 - recipes/fastgltf/config.yml | 2 + 8 files changed, 86 insertions(+), 25 deletions(-) create mode 100644 recipes/fastgltf/all/patches/0.5.0-0001-find_package-simdjson.patch diff --git a/recipes/fastgltf/all/conandata.yml b/recipes/fastgltf/all/conandata.yml index 8a3b511412ab1..04bdef83a98c4 100644 --- a/recipes/fastgltf/all/conandata.yml +++ b/recipes/fastgltf/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "0.5.0": + url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.5.0.tar.gz" + sha256: "f67558da009bfd1174b3f32606c41c20fe6fbcb70fc516e9f7bf0f63c06e87ff" "0.4.0": url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.4.0.tar.gz" sha256: "77debe12acb6b498ea77306ce64277cedb14ad803b461ea677a61bc604bb59b5" +patches: + "0.5.0": + - patch_file: "patches/0.5.0-0001-find_package-simdjson.patch" + patch_description: "find_package simdjson" + patch_type: "conan" + patch_source: "https://github.com/spnda/fastgltf/issues/22" diff --git a/recipes/fastgltf/all/conanfile.py b/recipes/fastgltf/all/conanfile.py index 35ece19d5af8d..133ac9360d184 100644 --- a/recipes/fastgltf/all/conanfile.py +++ b/recipes/fastgltf/all/conanfile.py @@ -1,28 +1,24 @@ -import os - from conan import ConanFile -from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout -from conan.tools.files import get, copy, rmdir +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +import os required_conan_version = ">=1.59.0" class fastgltf(ConanFile): name = "fastgltf" + description = "A blazing fast C++17 glTF 2.0 library powered by SIMD." license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/spnda/fastgltf" - description = "A blazing fast C++17 glTF 2.0 library powered by SIMD." topics = ("gltf", "simd", "cpp17") - - # Needed for CMake configurations for dependencies to work - generators = "CMakeDeps" - package_type = "library" - settings = "os", "compiler", "build_type", "arch" - + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -34,8 +30,22 @@ class fastgltf(ConanFile): "enable_small_vector": False, } - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=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 export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -48,12 +58,20 @@ def configure(self): def layout(self): cmake_layout(self, src_folder='src') + def requirements(self): + self.requires("simdjson/3.2.0") + def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) - def requirements(self): - self.requires("simdjson/3.1.7") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -61,8 +79,11 @@ def generate(self): if self.options.enable_small_vector: tc.variables["FASTGLTF_USE_SMALL_VECTOR"] = True tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/fastgltf/all/patches/0.5.0-0001-find_package-simdjson.patch b/recipes/fastgltf/all/patches/0.5.0-0001-find_package-simdjson.patch new file mode 100644 index 0000000000000..488ed53394d16 --- /dev/null +++ b/recipes/fastgltf/all/patches/0.5.0-0001-find_package-simdjson.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f76a8d8..27c1d1a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -74,6 +74,8 @@ if (FASTGLTF_DOWNLOAD_SIMDJSON) + NAMESPACE fastgltf:: + DESTINATION lib/cmake/fastgltf + ) ++else() ++ find_package(simdjson CONFIG REQUIRED) + endif() + + # Create the library target diff --git a/recipes/fastgltf/all/test_package/CMakeLists.txt b/recipes/fastgltf/all/test_package/CMakeLists.txt index 8764aa657ae40..7718a933cdc53 100644 --- a/recipes/fastgltf/all/test_package/CMakeLists.txt +++ b/recipes/fastgltf/all/test_package/CMakeLists.txt @@ -1,8 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) find_package(fastgltf REQUIRED CONFIG) -set(CMAKE_CXX_STANDARD 17) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} fastgltf::fastgltf) +target_link_libraries(${PROJECT_NAME} PRIVATE fastgltf::fastgltf) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +if(fastgltf_VERSION VERSION_GREATER_EQUAL "0.5.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE FASTGLTF_0_5_0_LATER) +endif() diff --git a/recipes/fastgltf/all/test_package/conanfile.py b/recipes/fastgltf/all/test_package/conanfile.py index 1111583fea732..a9fb96656f203 100644 --- a/recipes/fastgltf/all/test_package/conanfile.py +++ b/recipes/fastgltf/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/fastgltf/all/test_package/test_package.cpp b/recipes/fastgltf/all/test_package/test_package.cpp index 4d023ef72431e..1e9f5938b4446 100644 --- a/recipes/fastgltf/all/test_package/test_package.cpp +++ b/recipes/fastgltf/all/test_package/test_package.cpp @@ -1,9 +1,24 @@ #include -#include +#ifdef FASTGLTF_0_5_0_LATER +# include +#else +# include +#endif + +#include +#include int main() { +#ifdef FASTGLTF_0_5_0_LATER + // gcc < 11 uses pthread_once for std::call_once. + // there is an known bug about pthread_once with older glibc. + // This is workaround for that. + // see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60662 + std::this_thread::sleep_for(std::chrono::milliseconds(1)); +#endif + fastgltf::Parser parser; - printf("Version: " FASTGLTF_QUOTE(FASTGLTF_VERSION)); - printf("C++17: " FASTGLTF_QUOTE(FASTGLTF_CPP_17)); - printf("C++20: " FASTGLTF_QUOTE(FASTGLTF_CPP_20)); + printf("Version: " FASTGLTF_QUOTE(FASTGLTF_VERSION) "\n"); + printf("C++17: " FASTGLTF_QUOTE(FASTGLTF_CPP_17) "\n"); + printf("C++20: " FASTGLTF_QUOTE(FASTGLTF_CPP_20) "\n"); } diff --git a/recipes/fastgltf/all/test_v1_package/conanfile.py b/recipes/fastgltf/all/test_v1_package/conanfile.py index c492184eec19c..5a05af3c2dfd2 100644 --- a/recipes/fastgltf/all/test_v1_package/conanfile.py +++ b/recipes/fastgltf/all/test_v1_package/conanfile.py @@ -3,7 +3,6 @@ import os -# legacy validation with Conan 1.x class TestPackageV1Conan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" diff --git a/recipes/fastgltf/config.yml b/recipes/fastgltf/config.yml index af29e78bd9b25..d13fcfd021b7b 100644 --- a/recipes/fastgltf/config.yml +++ b/recipes/fastgltf/config.yml @@ -1,3 +1,5 @@ versions: + "0.5.0": + folder: all "0.4.0": folder: all From baf717f22e3eb0332ccc859aad71451a51526d5b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 9 Jul 2023 23:02:04 +0200 Subject: [PATCH 0856/4087] (#18454) sail/all: bump deps --- recipes/sail/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index 6832bd1f1a055..fb389e804f131 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -56,17 +56,17 @@ def requirements(self): if self.options.with_gif: self.requires("giflib/5.2.1") if self.options.with_jpeg2000: - self.requires("jasper/2.0.33") + self.requires("jasper/4.0.0") if self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") elif self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_tiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.with_webp: - self.requires("libwebp/1.2.4") + self.requires("libwebp/1.3.1") def layout(self): cmake_layout(self, src_folder="src") From da38f02176df44bed0f96f0ce34d916d6d44914b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 9 Jul 2023 23:22:04 +0200 Subject: [PATCH 0857/4087] (#18450) opencv/3.x: bump deps --- recipes/opencv/3.x/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/opencv/3.x/conanfile.py b/recipes/opencv/3.x/conanfile.py index 51dc5157837a5..40d745d3074f7 100644 --- a/recipes/opencv/3.x/conanfile.py +++ b/recipes/opencv/3.x/conanfile.py @@ -80,27 +80,27 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_jasper: self.requires("jasper/4.0.0") if self.options.with_openexr: # opencv 3.x doesn't support openexr >= 3 self.requires("openexr/2.5.7") if self.options.with_tiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.with_eigen: - self.requires("eigen/3.3.9") + self.requires("eigen/3.4.0") if self.options.parallel == "tbb": # opencv 3.x doesn't support onetbb >= 2021 self.requires("onetbb/2020.3") if self.options.with_webp: - self.requires("libwebp/1.2.4") + self.requires("libwebp/1.3.1") if self.options.contrib: - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") self.requires("harfbuzz/6.0.0") self.requires("gflags/2.2.2") self.requires("glog/0.6.0") From 6074f46697231454af2cdd2e267ba84078e23eba Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 10 Jul 2023 00:02:29 +0200 Subject: [PATCH 0858/4087] (#18455) leptonica/all: bump deps --- recipes/leptonica/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index 109404f2d8984..405081e59b384 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -76,13 +76,13 @@ def requirements(self): elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_tiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_webp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") def build_requirements(self): if self.options.with_webp or self.options.with_openjpeg: From f1fcaf902a6525e0fa111fd81efbb3950c589301 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 10 Jul 2023 00:42:06 +0200 Subject: [PATCH 0859/4087] (#18451) opencv/4.x: bump deps --- recipes/opencv/4.x/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 2e5fdb328a805..2e1ee11d66a59 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -180,7 +180,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.get_safe("with_jpeg2000") == "jasper": @@ -188,15 +188,15 @@ def requirements(self): elif self.options.get_safe("with_jpeg2000") == "openjpeg": self.requires("openjpeg/2.5.0") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_openexr: if Version(self.version) < "4.5.3": # opencv < 4.5.3 doesn't support openexr >= 3 self.requires("openexr/2.5.7") else: - self.requires("openexr/3.1.5") + self.requires("openexr/3.1.7") if self.options.get_safe("with_tiff"): - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.get_safe("with_ffmpeg"): @@ -209,7 +209,7 @@ def requirements(self): if self.options.with_webp: self.requires("libwebp/1.3.1") if self.options.get_safe("contrib_freetype"): - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") self.requires("harfbuzz/6.0.0") if self.options.get_safe("contrib_sfm"): self.requires("gflags/2.2.2") From 0c691d89911580f4fd2bfaa4a98c045bc63d87af Mon Sep 17 00:00:00 2001 From: Stefan Profanter Date: Mon, 10 Jul 2023 01:25:59 +0200 Subject: [PATCH 0860/4087] (#16095) Modernize cunit recipe * Modernize cunit recipe * fix linter issues * address review comments * re-add automake dependency * fix: use ncurses with shared cunit build * fix: remove automake dependency * fix: remove autoconf dependency * fix: update ncurses * fix: properly use with_curses option * fix: set with_curses option in config_options method * fix: raise invalid config if shared without ncurses * Update recipes/cunit/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/cunit/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Reorder validate * modernized test_package --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: memsharded --- recipes/cunit/all/conandata.yml | 9 +- recipes/cunit/all/conanfile.py | 179 +++++++++--------- .../0001-configure-in-msvc-shortcuts.patch | 33 +++- .../all/patches/0003-fix-copy-docs.patch | 9 + recipes/cunit/all/test_package/CMakeLists.txt | 5 +- recipes/cunit/all/test_package/conanfile.py | 19 +- 6 files changed, 148 insertions(+), 106 deletions(-) create mode 100644 recipes/cunit/all/patches/0003-fix-copy-docs.patch diff --git a/recipes/cunit/all/conandata.yml b/recipes/cunit/all/conandata.yml index dc0e653a838f3..ab63da567e039 100644 --- a/recipes/cunit/all/conandata.yml +++ b/recipes/cunit/all/conandata.yml @@ -5,6 +5,11 @@ sources: patches: "2.1-3": - patch_file: "patches/0001-configure-in-msvc-shortcuts.patch" - base_path: "source_subfolder" + patch_description: "configure snprintf for msvc" + patch_type: "conan" - patch_file: "patches/0002-snprintf-msvc.patch" - base_path: "source_subfolder" + patch_description: "only set snprintf for older VS compiler" + patch_type: "conan" + - patch_file: "patches/0003-fix-copy-docs.patch" + patch_description: "use correct docs dir for install docs" + patch_type: "conan" diff --git a/recipes/cunit/all/conanfile.py b/recipes/cunit/all/conanfile.py index a7c3f16aa1cdc..ee93d94bc50b0 100644 --- a/recipes/cunit/all/conanfile.py +++ b/recipes/cunit/all/conanfile.py @@ -1,9 +1,16 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from contextlib import contextmanager +from pathlib import Path + +from conan import ConanFile +from conan.tools.microsoft import is_msvc, unix_path, check_min_vs +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, chdir, rename, rm +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.env import VirtualBuildEnv +from conan.errors import ConanInvalidConfiguration import glob import os +from conan.tools.layout import basic_layout -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.57.0" class CunitConan(ConanFile): @@ -13,7 +20,7 @@ class CunitConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "http://cunit.sourceforge.net/" license = "BSD-3-Clause" - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -30,116 +37,112 @@ class CunitConan(ConanFile): "enable_console": True, "with_curses": False, } - exports_sources = "patches/**" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_curses == "ncurses": - self.requires("ncurses/6.2") + self.requires("ncurses/6.4") + + def validate(self): + if self.options.shared and not self.options.with_curses: + # For shared builds we always need to depend on ncurses, since otherwise we get undefined + # symbols, like: + # /usr/bin/ld: package/9333ccd2ec7e28099e1c04b315e2384b012b7a19/lib/libcunit.so: undefined reference to `echo' + # /usr/bin/ld: package/9333ccd2ec7e28099e1c04b315e2384b012b7a19/lib/libcunit.so: undefined reference to `wattr_on' + # /usr/bin/ld: package/9333ccd2ec7e28099e1c04b315e2384b012b7a19/lib/libcunit.so: undefined reference to `acs_map' + # /usr/bin/ld: package/9333ccd2ec7e28099e1c04b315e2384b012b7a19/lib/libcunit.so: undefined reference to `cbreak' + raise ConanInvalidConfiguration("cunit package is built with shared, which requires " + "cunit:with_curses=ncurses option") @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - self.build_requires("libtool/2.4.6") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + self.tool_requires("libtool/2.4.7") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) - with tools.chdir(self._source_subfolder): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + with chdir(self, self.source_folder): for f in glob.glob("*.c"): os.chmod(f, 0o644) - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - - @contextmanager - def _build_context(self): - env = {} - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - env.update({ - "AR": "{} lib".format(tools.unix_path(self._user_info_build["automake"].ar_lib)), - "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)), - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - }) - with tools.environment_append(env): - yield - else: - with tools.environment_append(env): - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.libs = [] - host, build = None, None - if self.settings.compiler == "Visual Studio": - self._autotools.flags.append("-FS") - # MSVC canonical names aren't understood - host, build = False, False - conf_args = [ - "--datarootdir={}".format(os.path.join(self.package_folder, "bin", "share").replace("\\", "/")), - "--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug", - "--enable-automated" if self.options.enable_automated else "--disable-automated", - "--enable-basic" if self.options.enable_basic else "--disable-basic", - "--enable-console" if self.options.enable_console else "--disable-console", - "--enable-curses" if self.options.with_curses != False else "--disable-curses", - ] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(args=conf_args, host=host, build=build) - return self._autotools + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + tc = AutotoolsToolchain(self) + if is_msvc(self) and check_min_vs(self, "180", raise_invalid=False): + tc.extra_cflags.append("-FS") + tc.extra_cxxflags.append("-FS") + tc.configure_args.append("--datarootdir=${prefix}/bin/share") + tc.configure_args.append("--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug") + tc.configure_args.append("--enable-automated" if self.options.enable_automated else "--disable-automated") + tc.configure_args.append("--enable-basic" if self.options.enable_basic else "--disable-basic") + tc.configure_args.append("--enable-console" if self.options.enable_console else "--disable-console") + tc.configure_args.append("--disable-curses" if not self.options.with_curses else + "--enable-curses") + + env = tc.environment() + + if is_msvc(self): + automake_info = self.dependencies.build["automake"].conf_info + env.append("CC", f'{unix_path(self, automake_info.get("user.automake:compile-wrapper", check_type=str))} cl -nologo') + env.append("CXX", f'{unix_path(self, automake_info.get("user.automake:compile-wrapper", check_type=str))} cl -nologo') + env.append("AR", f'{unix_path(self, automake_info.get("user.automake:lib-wrapper", check_type=str))} lib') + env.define("LD", "link -nologo") + env.append("NM", "dumpbin -symbols") + env.append("OBJDUMP", ":") + env.append("RANLIB", ":") + env.append("STRIP", ":") + tc.generate(env) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with self._build_context(): - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - autotools = self._configure_autotools() - autotools.make() + apply_conandata_patches(self) + + # Clean up makefiles from source folder + os.unlink(Path(self.source_folder) / "config.status") + os.unlink(Path(self.source_folder) / "config.log") + os.unlink(Path(self.source_folder) / "Makefile") + + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.install() - - if self.settings.compiler == "Visual Studio" and self.options.shared: - tools.rename(os.path.join(self.package_folder, "lib", "cunit.dll.lib"), - os.path.join(self.package_folder, "lib", "cunit.lib")) - - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "bin", "share", "man")) - tools.rmdir(os.path.join(self.package_folder, "doc")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + + autotools = Autotools(self) + autotools.install() + + if is_msvc(self) and self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "cunit.dll.lib"), + os.path.join(self.package_folder, "lib", "cunit.lib")) + + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "bin", "share", "man")) + rmdir(self, os.path.join(self.package_folder, "doc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.names["cmake_find_package"] = "CUnit" diff --git a/recipes/cunit/all/patches/0001-configure-in-msvc-shortcuts.patch b/recipes/cunit/all/patches/0001-configure-in-msvc-shortcuts.patch index f934c96f0e8b0..60ee6889637dd 100644 --- a/recipes/cunit/all/patches/0001-configure-in-msvc-shortcuts.patch +++ b/recipes/cunit/all/patches/0001-configure-in-msvc-shortcuts.patch @@ -1,22 +1,39 @@ --- configure.in +++ configure.in -@@ -26,7 +26,7 @@ - +@@ -2,6 +2,7 @@ + + AC_INIT(CUnit, 2.1-3) + AM_INIT_AUTOMAKE(CUnit, 2.1-3) ++LT_INIT + + dnl Package version information + PACKAGE=CUnit +@@ -26,7 +27,7 @@ + TOPDIR=`pwd` - + -CFLAGS="$CFLAGS -DRELEASE=@RELEASE@ -Wall -W -pedantic -Wshadow -ansi -I${PWD}/CUnit/Headers -std=c99" +CFLAGS="$CFLAGS -DRELEASE=@RELEASE@ -pedantic -ansi -I${PWD}/CUnit/Headers -std=c99" LDFLAGS="$LDFLAGS -L${PWD}/CUnit/Sources" - + AC_ARG_ENABLE(debug, -@@ -186,13 +186,13 @@ +@@ -158,7 +159,7 @@ + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_MAKE_SET +-AC_PROG_LIBTOOL ++#AC_PROG_LIBTOOL + + dnl Check for libraries + AC_CHECK_LIB(c, main) +@@ -186,13 +187,13 @@ AC_CHECK_FUNC(calloc, [], [echo calloc not found; exit 1]) AC_CHECK_FUNC(realloc, [], [echo realloc not found; exit 1]) - + -AC_CHECK_FUNC(strcpy, [], [echo strcpy not found; exit 1]) +dnl AC_CHECK_FUNC(strcpy, [], [echo strcpy not found; exit 1]) AC_CHECK_FUNC(strerror, [], [echo strerror not found; exit 1]) - + AC_CHECK_FUNC(fopen, [], [echo fopen not found; exit 1]) AC_CHECK_FUNC(fclose, [], [echo fclose not found; exit 1]) -AC_CHECK_FUNC(fprintf, [], [echo fprintf not found; exit 1]) @@ -24,7 +41,7 @@ +dnl AC_CHECK_FUNC(fprintf, [], [echo fprintf not found; exit 1]) +dnl AC_CHECK_FUNC(snprintf, [], [echo snprintf not found; exit 1]) AC_CHECK_FUNC(setvbuf, [], [echo setvbuf not found; exit 1]) - + AC_CHECK_FUNC(time, [], [echo time not found; exit 1]) --- CUnit/Sources/Makefile.am +++ CUnit/Sources/Makefile.am diff --git a/recipes/cunit/all/patches/0003-fix-copy-docs.patch b/recipes/cunit/all/patches/0003-fix-copy-docs.patch new file mode 100644 index 0000000000000..6dc9a36c9301d --- /dev/null +++ b/recipes/cunit/all/patches/0003-fix-copy-docs.patch @@ -0,0 +1,9 @@ +--- doc/headers/Makefile.am ++++ doc/headers/Makefile.am +@@ -23,5 +23,6 @@ + + copy_headers: + cp -f $(top_srcdir)/CUnit/Headers/*.h . ++ cp -f $(top_builddir)/CUnit/Headers/*.h . + cp -f $(top_srcdir)/CUnit/Sources/Win/Win.h . + diff --git a/recipes/cunit/all/test_package/CMakeLists.txt b/recipes/cunit/all/test_package/CMakeLists.txt index 34af13462f44f..b32c10a586ed8 100644 --- a/recipes/cunit/all/test_package/CMakeLists.txt +++ b/recipes/cunit/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(cunit CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} cunit::cunit) diff --git a/recipes/cunit/all/test_package/conanfile.py b/recipes/cunit/all/test_package/conanfile.py index d4128b0450777..7c46f27b018cf 100644 --- a/recipes/cunit/all/test_package/conanfile.py +++ b/recipes/cunit/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeToolchain", "CMakeDeps", "VirtualBuildEnv" + 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") From 96ec91112f7109ace8a294b0de29079dfc25eb6f Mon Sep 17 00:00:00 2001 From: jalapenopuzzle <8386278+jalapenopuzzle@users.noreply.github.com> Date: Mon, 10 Jul 2023 16:44:03 +1000 Subject: [PATCH 0861/4087] (#18369) json-schema-validator: add JSON_DIAGNOSTICS option * json-schema-validator add json_diagnostics option Needed for compatibility with the nlohmann_json library option JSON_DIAGNOSTICS. * Update recipes/json-schema-validator/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/json-schema-validator/all/conanfile.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/recipes/json-schema-validator/all/conanfile.py b/recipes/json-schema-validator/all/conanfile.py index 116cea1b74c21..2d269b725c767 100644 --- a/recipes/json-schema-validator/all/conanfile.py +++ b/recipes/json-schema-validator/all/conanfile.py @@ -23,10 +23,19 @@ class JsonSchemaValidatorConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "json_diagnostics": [True, False], + } + options_description = { + "json_diagnostics": ( + "Defines JSON_DIAGNOSTICS=1 for the nlohmann_json library. " + "Refer https://json.nlohmann.me/api/macros/json_diagnostics/ " + "This macro enables extended diagnostics for exception messages." + ) } default_options = { "shared": False, "fPIC": True, + "json_diagnostics": False, } short_paths = True @@ -83,6 +92,8 @@ def generate(self): else: tc.variables["JSON_VALIDATOR_BUILD_TESTS"] = False tc.variables["JSON_VALIDATOR_BUILD_EXAMPLES"] = False + if self.options.json_diagnostics: + tc.preprocessor_definitions["JSON_DIAGNOSTICS"] = '1' if Version(self.version) < "2.1.0": nlohmann_json_includedirs = self.dependencies["nlohmann_json"].cpp_info.aggregated_components().includedirs tc.variables["NLOHMANN_JSON_DIR"] = ";".join([p.replace("\\", "/") for p in nlohmann_json_includedirs]) @@ -131,6 +142,8 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "nlohmann_json_schema_validator") self.cpp_info.set_property("cmake_target_name", "nlohmann_json_schema_validator") self.cpp_info.libs = ["json-schema-validator" if Version(self.version) < "2.1.0" else "nlohmann_json_schema_validator"] + if self.options.json_diagnostics: + self.cpp_info.defines = ["JSON_DIAGNOSTICS=1"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") From db45c00344cfd7a1367d1646e90e017c4234f20b Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Mon, 10 Jul 2023 09:27:40 +0200 Subject: [PATCH 0862/4087] (#18402) ois: migrate to conan 2 and bump version to 1.5.1 * ois: migrate to conan 2 and bump version to 1.5.1 * Add missing system frameworks and system_libs * Address reviewer comments - Remove unused python imports --- recipes/ois/all/CMakeLists.txt | 11 --- recipes/ois/all/conandata.yml | 7 +- recipes/ois/all/conanfile.py | 92 +++++++++++-------- ...aders_from_CMAKE_CURRENT_SOURCE_DIR.patch} | 0 recipes/ois/all/test_package/CMakeLists.txt | 10 +- recipes/ois/all/test_package/conanfile.py | 21 +++-- recipes/ois/config.yml | 2 + 7 files changed, 79 insertions(+), 64 deletions(-) delete mode 100644 recipes/ois/all/CMakeLists.txt rename recipes/ois/all/patches/{1.5/001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch => 1.5-0001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch} (100%) diff --git a/recipes/ois/all/CMakeLists.txt b/recipes/ois/all/CMakeLists.txt deleted file mode 100644 index cdeeef45d13c1..0000000000000 --- a/recipes/ois/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -if(EXISTS "${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") - include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -else() - include(conanbuildinfo.cmake) -endif() -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/ois/all/conandata.yml b/recipes/ois/all/conandata.yml index 0c7f109273e17..cad4b4f6daeb0 100644 --- a/recipes/ois/all/conandata.yml +++ b/recipes/ois/all/conandata.yml @@ -1,8 +1,11 @@ sources: + "1.5.1": + url: "https://github.com/wgois/OIS/archive/v1.5.1.tar.gz" + sha256: "614f6ef6d69cf6d84f1b50efff46a6c1acce426933e5f0dcf29862ea8332af73" "1.5": url: "https://github.com/wgois/OIS/archive/v1.5.tar.gz" sha256: "aa3e6b840b1149bb06835e04365957f4659c08b3e3095a48b289050f1637a174" patches: "1.5": - - patch_file: "patches/1.5/001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch" - base_path: "source_subfolder" + - patch_file: "patches/1.5-0001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch" + patch_type: "conan" diff --git a/recipes/ois/all/conanfile.py b/recipes/ois/all/conanfile.py index 53d83bec3c91b..3520d291b333d 100644 --- a/recipes/ois/all/conanfile.py +++ b/recipes/ois/all/conanfile.py @@ -1,17 +1,25 @@ import os import glob -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import ( + apply_conandata_patches, + export_conandata_patches, + get, copy, rmdir, collect_libs + ) +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + +required_conan_version = ">=1.53.0" + class OisConan(ConanFile): name = "ois" description = "Object oriented Input System." - topics = ("conan", "ois", "input" ) + topics = ("input system", "input" ) url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/wgois/OIS" license = "Zlib" - exports_sources = ["CMakeLists.txt", "patches/*"] - generators = "cmake" + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -22,19 +30,12 @@ class OisConan(ConanFile): "fPIC": True, } - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 - @property - def _build_subfolder(self): - return "build_subfolder" - - def requirements(self): - if self.settings.os == "Linux": - self.requires("xorg/system") + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -42,48 +43,59 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "OIS-{}".format(self.version) - os.rename(extracted_dir, self._source_subfolder) + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.settings.os == "Linux": + self.requires("xorg/system") - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["OIS_BUILD_SHARED_LIBS"] = self.options.shared - self._cmake.definitions["OIS_BUILD_DEMOS"] = False - self._cmake.configure(build_folder=self._build_subfolder) + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) - return self._cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["OIS_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["OIS_BUILD_DEMOS"] = False + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.md", src=os.path.join(self.source_folder, self._source_subfolder), dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE.md", src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) for pdb_file in glob.glob(os.path.join(self.package_folder, "bin", "*.pdb")): os.unlink(pdb_file) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) - self.cpp_info.names["pkg_config"] = "OIS" - self.cpp_info.names["cmake_find_package"] = "OIS" - self.cpp_info.names["cmake_find_package_multi"] = "OIS" + self.cpp_info.set_property("pkg_config_name", "OIS") if self.settings.os == "Macos": - self.cpp_info.frameworks = ["Foundation", "Cocoa", "IOKit"] + self.cpp_info.frameworks = ["Foundation", "Cocoa", "IOKit", "AppKit", "CoreFoundation", "CoreGraphics"] elif self.settings.os == "Windows": self.cpp_info.defines = ["OIS_WIN32_XINPUT_SUPPORT"] self.cpp_info.system_libs = ["dinput8", "dxguid"] if self.options.shared: self.cpp_info.defines.append("OIS_DYNAMIC_LIB") + elif self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "OIS" + self.cpp_info.names["cmake_find_package_multi"] = "OIS" diff --git a/recipes/ois/all/patches/1.5/001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch b/recipes/ois/all/patches/1.5-0001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch similarity index 100% rename from recipes/ois/all/patches/1.5/001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch rename to recipes/ois/all/patches/1.5-0001_export_headers_from_CMAKE_CURRENT_SOURCE_DIR.patch diff --git a/recipes/ois/all/test_package/CMakeLists.txt b/recipes/ois/all/test_package/CMakeLists.txt index 196188113685c..6704daeed1834 100644 --- a/recipes/ois/all/test_package/CMakeLists.txt +++ b/recipes/ois/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(ois REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE ois::ois) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/ois/all/test_package/conanfile.py b/recipes/ois/all/test_package/conanfile.py index bd7165a553cf4..3a91c9439218e 100644 --- a/recipes/ois/all/test_package/conanfile.py +++ b/recipes/ois/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ois/config.yml b/recipes/ois/config.yml index 289ff2f2a0c3c..1ce6b25b9dda7 100644 --- a/recipes/ois/config.yml +++ b/recipes/ois/config.yml @@ -1,3 +1,5 @@ versions: + "1.5.1": + folder: all "1.5": folder: all From c2d6e43f789bb347fc30316db6b5e045e7b814ac Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 10 Jul 2023 10:02:03 +0200 Subject: [PATCH 0863/4087] (#18460) wavelet_buffer/all: bump deps --- recipes/wavelet_buffer/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wavelet_buffer/all/conanfile.py b/recipes/wavelet_buffer/all/conanfile.py index 69a04b499e31b..8e72fbe22217e 100644 --- a/recipes/wavelet_buffer/all/conanfile.py +++ b/recipes/wavelet_buffer/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): self.requires("blaze/3.8", transitive_headers=True) self.requires("cimg/3.0.2") if self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") else: self.requires("libjpeg/9e") # FIXME: unvendor SfCompressor which is currently downloaded at build time :s From c771ed5340b5d4f5a7d253cfffaf2ec8254613bc Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 10 Jul 2023 10:43:02 +0200 Subject: [PATCH 0864/4087] (#18459) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index b09c95e6510a9..05fdb05670c2b 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -47,6 +47,7 @@ required_for_references: - autoconf-archive - automake - avir +- aws-c-auth - aws-c-cal - aws-c-common - aws-c-compression @@ -190,6 +191,7 @@ required_for_references: - cubicinterpolation - cuda-api-wrappers - cuda-kat +- cunit - cute_headers - cvplot - cwalk @@ -270,6 +272,7 @@ required_for_references: - fontconfig - foonathan-lexy - foonathan-memory +- foxglove-schemas-protobuf - fp16 - freeglut - freetype @@ -346,6 +349,7 @@ required_for_references: - imgui - incbin - indicators +- inih - inja - intel-neon2sse - itlib @@ -410,6 +414,7 @@ required_for_references: - libgettext - libgpg-error - libgphoto2 +- libharu - libiberty - libiconv - libinterpolate @@ -444,6 +449,7 @@ required_for_references: - libpqxx - libpsl - libqrencode +- libraw - librdkafka - librealsense - libressl @@ -526,6 +532,7 @@ required_for_references: - microservice-essentials - mikelankamp-fpm - mimalloc +- mingw-builds - miniaudio - minimp3 - minisat @@ -550,6 +557,7 @@ required_for_references: - nanoflann - nanomsg - nanorange +- nanort - nas - nasm - netcdf @@ -561,6 +569,7 @@ required_for_references: - nodejs - norm - nsync +- nudb - numcpp - nuraft - nv-codec-headers @@ -574,6 +583,7 @@ required_for_references: - openal - openal-soft - openapi-generator +- openblas - opencl-clhpp-headers - opencl-headers - opencl-icd-loader @@ -742,6 +752,7 @@ required_for_references: - tlx - toml11 - trantor +- troldal-zippy - tsl-hopscotch-map - turtle - type_safe @@ -824,7 +835,9 @@ required_for_references: - zlib - zlib-ng - zmarok-semver +- zookeeper-client-c - zpp_bits - zstd - zug - zulu-openjdk +- zxing-cpp From c12b4517e8b4cec56fc4e2632cd6954b1cb0af57 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 11:03:45 +0200 Subject: [PATCH 0865/4087] (#18362) simple-websocket-server: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * simple-websocket-server: migrate to Conan v2 * simple-websocket-server: restore test_v1_package * simple-websocket-server: add cmake_find_package_multi generator to test_v1_package * Adjust min conan version --------- Co-authored-by: Rubén Rincón Blanco --- .../simple-websocket-server/all/conanfile.py | 81 +++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +-- .../all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 5 files changed, 90 insertions(+), 46 deletions(-) create mode 100644 recipes/simple-websocket-server/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/simple-websocket-server/all/test_v1_package/conanfile.py diff --git a/recipes/simple-websocket-server/all/conanfile.py b/recipes/simple-websocket-server/all/conanfile.py index 7af11bfe301d4..65dfdeec4ffb5 100644 --- a/recipes/simple-websocket-server/all/conanfile.py +++ b/recipes/simple-websocket-server/all/conanfile.py @@ -1,65 +1,76 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class SimpleWebSocketServerConan(ConanFile): name = "simple-websocket-server" + description = ( + "A very simple, fast, multithreaded, platform independent WebSocket (WS) " + "and WebSocket Secure (WSS) server and client library." + ) + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.com/eidheim/Simple-WebSocket-Server" - description = "A very simple, fast, multithreaded, platform independent WebSocket (WS) and WebSocket Secure (WSS) server and client library." topics = ("websocket", "socket", "server", "client", "header-only") - url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "arch", "build_type" + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = {"use_asio_standalone": [True, False]} + default_options = {"use_asio_standalone": True} no_copy_source = True - license = "MIT" - options = { - "use_asio_standalone": [True, False], - } - default_options = { - "use_asio_standalone": True, - } - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): self.requires("openssl/1.1.1q") # only version 2.0.2 upwards is able to build against asio 1.18.0 or higher - if tools.Version(self.version) <= "2.0.1": + if Version(self.version) <= "2.0.1": if self.options.use_asio_standalone: self.requires("asio/1.16.1") else: self.requires("boost/1.73.0") else: if self.options.use_asio_standalone: - self.requires("asio/1.23.0") + self.requires("asio/1.28.0") else: - self.requires("boost/1.79.0") + self.requires("boost/1.82.0") - def configure(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + def package_id(self): + self.info.clear() - def build(self): - if tools.Version(self.version) <= "2.0.1" and "asio" in self.deps_cpp_info.deps and tools.Version(self.deps_cpp_info["asio"].version) >= "1.18.0": - raise ConanInvalidConfiguration("simple-websocket-server versions <=2.0.1 require asio < 1.18.0") - elif tools.Version(self.version) <= "2.0.1" and "boost" in self.deps_cpp_info.deps and tools.Version(self.deps_cpp_info["boost"].version) >= "1.74.0": - raise ConanInvalidConfiguration("simple-websocket-server versions <=2.0.1 require boost < 1.74.0") + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if Version(self.version) <= "2.0.1": + if self.dependencies.get("asio"): + if Version(self.dependencies["asio"].ref.version) >= "1.18.0": + raise ConanInvalidConfiguration("simple-websocket-server versions <=2.0.1 require asio < 1.18.0") + elif self.dependencies.get("boost"): + if Version(self.dependencies["boost"].ref.version) >= "1.74.0": + raise ConanInvalidConfiguration("simple-websocket-server versions <=2.0.1 require boost < 1.74.0") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "Simple-WebSocket-Server-v" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*.hpp", dst=os.path.join("include", "simple-websocket-server"), src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include", "simple-websocket-server"), + src=self.source_folder) def package_info(self): - if self.options.use_asio_standalone: - self.cpp_info.defines.append('USE_STANDALONE_ASIO') + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] - def package_id(self): - self.info.header_only() + if self.options.use_asio_standalone: + self.cpp_info.defines.append("USE_STANDALONE_ASIO") diff --git a/recipes/simple-websocket-server/all/test_package/CMakeLists.txt b/recipes/simple-websocket-server/all/test_package/CMakeLists.txt index d50531ac251fb..fc5fbf247dae0 100644 --- a/recipes/simple-websocket-server/all/test_package/CMakeLists.txt +++ b/recipes/simple-websocket-server/all/test_package/CMakeLists.txt @@ -1,11 +1,10 @@ -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(simple-websocket-server REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE simple-websocket-server::simple-websocket-server) set_target_properties( ${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 diff --git a/recipes/simple-websocket-server/all/test_package/conanfile.py b/recipes/simple-websocket-server/all/test_package/conanfile.py index bd7165a553cf4..fae501d0afb9e 100644 --- a/recipes/simple-websocket-server/all/test_package/conanfile.py +++ b/recipes/simple-websocket-server/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" + 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/simple-websocket-server/all/test_v1_package/CMakeLists.txt b/recipes/simple-websocket-server/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/simple-websocket-server/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/simple-websocket-server/all/test_v1_package/conanfile.py b/recipes/simple-websocket-server/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/simple-websocket-server/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) From 9029d9818073a8fe5acecf689dfa10dcfaa31ba7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 11:24:33 +0200 Subject: [PATCH 0866/4087] (#18235) tinydir: migrate to Conan v2 * tinydir: migrate to Conan v2 * tinydir: restore test_v1_package --- recipes/tinydir/all/conanfile.py | 27 ++++++++++++------- .../tinydir/all/test_package/CMakeLists.txt | 7 ++--- recipes/tinydir/all/test_package/conanfile.py | 19 +++++++++---- .../all/test_v1_package/CMakeLists.txt | 8 ++++++ .../tinydir/all/test_v1_package/conanfile.py | 17 ++++++++++++ .../all/test_v1_package/test_package.c | 27 +++++++++++++++++++ 6 files changed, 86 insertions(+), 19 deletions(-) create mode 100644 recipes/tinydir/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tinydir/all/test_v1_package/conanfile.py create mode 100644 recipes/tinydir/all/test_v1_package/test_package.c diff --git a/recipes/tinydir/all/conanfile.py b/recipes/tinydir/all/conanfile.py index 02a2a8bc1ce2e..05e3a7a3c83ca 100644 --- a/recipes/tinydir/all/conanfile.py +++ b/recipes/tinydir/all/conanfile.py @@ -1,7 +1,11 @@ import os -from conans import ConanFile, tools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class TinydirConan(ConanFile): name = "tinydir" @@ -10,19 +14,24 @@ class TinydirConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/cxong/tinydir" topics = ("portable", "filesystem", "directory", "posix", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("tinydir.h", dst="include", src=self._source_subfolder) - self.copy("COPYING", dst="licenses", src=self._source_subfolder) + copy(self, "tinydir.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/tinydir/all/test_package/CMakeLists.txt b/recipes/tinydir/all/test_package/CMakeLists.txt index bd0eb537bad62..f2b0b480c35cb 100644 --- a/recipes/tinydir/all/test_package/CMakeLists.txt +++ b/recipes/tinydir/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) find_package(tinydir REQUIRED CONFIG) diff --git a/recipes/tinydir/all/test_package/conanfile.py b/recipes/tinydir/all/test_package/conanfile.py index 38f4483872d47..e0e49c1e8d6b6 100644 --- a/recipes/tinydir/all/test_package/conanfile.py +++ b/recipes/tinydir/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", + 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/tinydir/all/test_v1_package/CMakeLists.txt b/recipes/tinydir/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tinydir/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/tinydir/all/test_v1_package/conanfile.py b/recipes/tinydir/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/tinydir/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/tinydir/all/test_v1_package/test_package.c b/recipes/tinydir/all/test_v1_package/test_package.c new file mode 100644 index 0000000000000..cc0003c9c9d0c --- /dev/null +++ b/recipes/tinydir/all/test_v1_package/test_package.c @@ -0,0 +1,27 @@ +#include +#include + +#include "tinydir.h" + +int main() +{ + tinydir_dir dir; + tinydir_open(&dir, "."); + + while (dir.has_next) + { + tinydir_file file; + tinydir_readfile(&dir, &file); + + printf("%s", file.name); + if (file.is_dir) + { + printf("/"); + } + printf("\n"); + + tinydir_next(&dir); + } + + tinydir_close(&dir); +} From b8d9ba9c9f7280222679ab0d0643a2a5ca549de8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 11:43:34 +0200 Subject: [PATCH 0867/4087] (#18234) wilzegers-autotest: migrate to Conan v2 * wilzegers-autotest: migrate to Conan v2 * wilzegers-autotest: restore test_v1_package * add min msvc version for C++17 --------- Co-authored-by: Carlos Zoido --- recipes/wilzegers-autotest/all/conanfile.py | 64 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 21 ++++-- .../all/test_package/test_package.cpp | 3 + .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 94 insertions(+), 26 deletions(-) create mode 100644 recipes/wilzegers-autotest/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/wilzegers-autotest/all/test_v1_package/conanfile.py diff --git a/recipes/wilzegers-autotest/all/conanfile.py b/recipes/wilzegers-autotest/all/conanfile.py index 8ef12a62b9ce4..81cb48532fdf0 100644 --- a/recipes/wilzegers-autotest/all/conanfile.py +++ b/recipes/wilzegers-autotest/all/conanfile.py @@ -1,36 +1,70 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -requires_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class WilzegersAutotestConan(ConanFile): name = "wilzegers-autotest" + description = "Autotest facilitates the testing of class interfaces" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.com/wilzegers/autotest" - description = "Autotest facilitates the testing of class interfaces" - topics = ("autotest", "testing") - settings = "compiler" + topics = ("autotest", "testing", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "msvc": "191", + "gcc": "7", + "clang": "5.0", + "apple-clang": "9.1", + } + + 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." + ) + if self.settings.compiler != "clang": raise ConanInvalidConfiguration("Only clang allowed") - def package_id(self): - self.info.header_only() + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("*.hpp", src=os.path.join(self._source_subfolder, "autotest/include"), dst="include") - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*.hpp", + src=os.path.join(self.source_folder, "autotest/include"), + dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/wilzegers-autotest/all/test_package/CMakeLists.txt b/recipes/wilzegers-autotest/all/test_package/CMakeLists.txt index 041b6ec23c708..a64b138191fa5 100644 --- a/recipes/wilzegers-autotest/all/test_package/CMakeLists.txt +++ b/recipes/wilzegers-autotest/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(wilzegers-autotest REQUIRED CONFIG) diff --git a/recipes/wilzegers-autotest/all/test_package/conanfile.py b/recipes/wilzegers-autotest/all/test_package/conanfile.py index 49a3a66ea5bad..fae501d0afb9e 100644 --- a/recipes/wilzegers-autotest/all/test_package/conanfile.py +++ b/recipes/wilzegers-autotest/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" + 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/wilzegers-autotest/all/test_package/test_package.cpp b/recipes/wilzegers-autotest/all/test_package/test_package.cpp index 152f5d33d3410..26e0bb71eb0f0 100644 --- a/recipes/wilzegers-autotest/all/test_package/test_package.cpp +++ b/recipes/wilzegers-autotest/all/test_package/test_package.cpp @@ -1,3 +1,6 @@ +// Workaround for a missing include in wilzegers-autotest/cci.20200921 +#include + #include #include diff --git a/recipes/wilzegers-autotest/all/test_v1_package/CMakeLists.txt b/recipes/wilzegers-autotest/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/wilzegers-autotest/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/wilzegers-autotest/all/test_v1_package/conanfile.py b/recipes/wilzegers-autotest/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/wilzegers-autotest/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 9a7f041c95e233e3610cd05665537685e3f7ba9c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 12:04:36 +0200 Subject: [PATCH 0868/4087] (#18231) indirect_value: migrate to Conan v2 * indirect_value: migrate to Conan v2 * indirect_value: restore test_v1_package --- recipes/indirect_value/all/conanfile.py | 68 +++++++++++-------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 18 +++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 5 files changed, 77 insertions(+), 38 deletions(-) create mode 100644 recipes/indirect_value/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/indirect_value/all/test_v1_package/conanfile.py diff --git a/recipes/indirect_value/all/conanfile.py b/recipes/indirect_value/all/conanfile.py index ce84972958e04..7ef5edf99c73d 100644 --- a/recipes/indirect_value/all/conanfile.py +++ b/recipes/indirect_value/all/conanfile.py @@ -1,24 +1,27 @@ -from conans import ConanFile, 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.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class IndirectValueConan(ConanFile): name = "indirect_value" - homepage = "https://github.com/jbcoe/indirect_value" description = "Production-quality reference implementation of P1950: A Free-Store-Allocated Value Type For C++" - topics = ("std", "vocabulary-type", "value-semantics") license = "MIT" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jbcoe/indirect_value" + topics = ("std", "vocabulary-type", "value-semantics", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _minimum_cpp_standard(self): return 17 @@ -29,40 +32,45 @@ def _minimum_compilers_version(self): "Visual Studio": "16", "gcc": "8", "clang": "8", - "apple-clang": "11" + "apple-clang": "11", } + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - min_version = self._minimum_compilers_version.get( - str(self.settings.compiler)) + 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)) + self.output.warning(f"{self.name} recipe lacks information about the " + f"{self.settings.compiler} compiler support.") else: - if tools.Version(self.settings.compiler.version) < min_version: + 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)) - - def package_id(self): - self.info.header_only() + 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." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="indirect_value.*", dst="include", - src=self._source_subfolder) - self.copy("*LICENSE*", dst="licenses", keep_path=False) + copy(self, "indirect_value.*", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder) + copy(self, "*LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + keep_path=False) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "indirect_value") self.cpp_info.set_property("cmake_target_name", "indirect_value::indirect_value") diff --git a/recipes/indirect_value/all/test_package/CMakeLists.txt b/recipes/indirect_value/all/test_package/CMakeLists.txt index fd68256049f87..e44109c29e389 100644 --- a/recipes/indirect_value/all/test_package/CMakeLists.txt +++ b/recipes/indirect_value/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(indirect_value REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/indirect_value/all/test_package/conanfile.py b/recipes/indirect_value/all/test_package/conanfile.py index 9b63bd176646b..fae501d0afb9e 100644 --- a/recipes/indirect_value/all/test_package/conanfile.py +++ b/recipes/indirect_value/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" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/indirect_value/all/test_v1_package/CMakeLists.txt b/recipes/indirect_value/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/indirect_value/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/indirect_value/all/test_v1_package/conanfile.py b/recipes/indirect_value/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9b63bd176646b --- /dev/null +++ b/recipes/indirect_value/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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): + self.run(os.path.join("bin", "test_package"), run_environment=True) From b599e32f7e56eab3a4166db9a649ef77414f0373 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 12:23:44 +0200 Subject: [PATCH 0869/4087] (#18229) tllist: migrate to Conan v2 * tllist: migrate to Conan v2 * tllist: restore test_v1_package --- recipes/tllist/all/conanfile.py | 64 ++++++++++++++----- .../tllist/all/test_package/CMakeLists.txt | 7 +- recipes/tllist/all/test_package/conanfile.py | 21 ++++-- .../tllist/all/test_v1_package/CMakeLists.txt | 8 +++ .../tllist/all/test_v1_package/conanfile.py | 17 +++++ .../tllist/all/test_v1_package/test_package.c | 10 +++ 6 files changed, 99 insertions(+), 28 deletions(-) create mode 100644 recipes/tllist/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tllist/all/test_v1_package/conanfile.py create mode 100644 recipes/tllist/all/test_v1_package/test_package.c diff --git a/recipes/tllist/all/conanfile.py b/recipes/tllist/all/conanfile.py index 3aefd5f1a8e81..35ff91663df3f 100644 --- a/recipes/tllist/all/conanfile.py +++ b/recipes/tllist/all/conanfile.py @@ -1,40 +1,70 @@ -from conan import ConanFile -from conans import tools -from conans.errors import ConanInvalidConfiguration +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.microsoft import is_msvc +from conan.tools.scm import Version -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.52.0" class TllistConan(ConanFile): name = "tllist" + description = "A C header file only implementation of a typed linked list." license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://codeberg.org/dnkl/tllist" - description = "A C header file only implementation of a typed linked list." - topics = ("list", "utils", "typed-linked-list") - settings = "os", "arch", "build_type", "compiler" + topics = ("list", "utils", "typed-linked-list", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "gcc": "7", + "clang": "5.0", + "apple-clang": "9.1", + } + + 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." + ) + # tllist relies on __typeof__, not implemented in Visual Studio - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("Visual Studio compiler is not supported") + def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*.h", src=self._source_subfolder, dst="include") - - def package_id(self): - self.info.header_only() + 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")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("pkg_config_name", "tllist") diff --git a/recipes/tllist/all/test_package/CMakeLists.txt b/recipes/tllist/all/test_package/CMakeLists.txt index 929cb14b5f70b..33ff310d27421 100644 --- a/recipes/tllist/all/test_package/CMakeLists.txt +++ b/recipes/tllist/all/test_package/CMakeLists.txt @@ -1,10 +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(TARGETS) - -find_package(tllist CONFIG REQUIRED) +find_package(tllist REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} tllist::tllist) diff --git a/recipes/tllist/all/test_package/conanfile.py b/recipes/tllist/all/test_package/conanfile.py index 49a3a66ea5bad..fae501d0afb9e 100644 --- a/recipes/tllist/all/test_package/conanfile.py +++ b/recipes/tllist/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" + 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/tllist/all/test_v1_package/CMakeLists.txt b/recipes/tllist/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tllist/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/tllist/all/test_v1_package/conanfile.py b/recipes/tllist/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/tllist/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) diff --git a/recipes/tllist/all/test_v1_package/test_package.c b/recipes/tllist/all/test_v1_package/test_package.c new file mode 100644 index 0000000000000..77b3400127915 --- /dev/null +++ b/recipes/tllist/all/test_v1_package/test_package.c @@ -0,0 +1,10 @@ +#include +#include + +int main(int argc, const char *const *argv) { + tll(int) l = tll_init(); + + tll_push_back(l, 43); + + return EXIT_SUCCESS; +} From a8e34c0670088b19128b1510e453448c1c1b5d56 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 12:44:05 +0200 Subject: [PATCH 0870/4087] (#18226) inversify-cpp: migrate to Conan v2 * inversify-cpp: migrate to Conan v2 * inversify-cpp: restore test_v1_package --- recipes/inversify-cpp/all/conanfile.py | 58 +++++++++++++------ .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 21 +++++-- .../all/test_package/test_package.cpp | 10 +--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 ++++++ 6 files changed, 84 insertions(+), 37 deletions(-) create mode 100644 recipes/inversify-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/inversify-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/inversify-cpp/all/conanfile.py b/recipes/inversify-cpp/all/conanfile.py index 3d897954ee020..cbe49e9425718 100644 --- a/recipes/inversify-cpp/all/conanfile.py +++ b/recipes/inversify-cpp/all/conanfile.py @@ -1,20 +1,31 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 InversifyCppConan(ConanFile): name = "inversify-cpp" description = "C++17 inversion of control and dependency injection container library" - topics = ("ioc", "container", "dependency", "injection") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mosure/inversify-cpp" - license = "MIT" - settings = "compiler" + topics = ("ioc", "container", "dependency", "injection", "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 { @@ -24,27 +35,36 @@ def _compilers_minimum_version(self): "apple-clang": "11", } + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++17, which your compiler does not support.".format(self.name)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " + "which your compiler does not support.") else: - self.output.warn("{} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name)) - - @property - def _source_subfolder(self): - return "source_subfolder" + self.output.warning(f"{self.name} requires C++{self._min_cppstd}. " + f"Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/inversify-cpp/all/test_package/CMakeLists.txt b/recipes/inversify-cpp/all/test_package/CMakeLists.txt index fc7a3028bf1a1..98d70570dc70a 100644 --- a/recipes/inversify-cpp/all/test_package/CMakeLists.txt +++ b/recipes/inversify-cpp/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(inversify-cpp CONFIG REQUIRED) +find_package(inversify-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} inversify-cpp::inversify-cpp) diff --git a/recipes/inversify-cpp/all/test_package/conanfile.py b/recipes/inversify-cpp/all/test_package/conanfile.py index 49a3a66ea5bad..fae501d0afb9e 100644 --- a/recipes/inversify-cpp/all/test_package/conanfile.py +++ b/recipes/inversify-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" + 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/inversify-cpp/all/test_package/test_package.cpp b/recipes/inversify-cpp/all/test_package/test_package.cpp index 3bf0d0cfb88a1..4f9ae5cdc6296 100644 --- a/recipes/inversify-cpp/all/test_package/test_package.cpp +++ b/recipes/inversify-cpp/all/test_package/test_package.cpp @@ -2,21 +2,17 @@ #include "mosure/inversify.hpp" - namespace inversify = mosure::inversify; namespace symbols { - using foo = inversify::Symbol; +using foo = inversify::Symbol; } - int main() { - inversify::Container< - symbols::foo - > container; + inversify::Container container; container.bind().toConstantValue(true); - std::cout <<"working: " << container.get() << std::endl; + std::cout << "working: " << container.get() << std::endl; return 0; } diff --git a/recipes/inversify-cpp/all/test_v1_package/CMakeLists.txt b/recipes/inversify-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/inversify-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/inversify-cpp/all/test_v1_package/conanfile.py b/recipes/inversify-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/inversify-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 e5d7dc20b3eccf7df6afd6ba4a7bdaa6aa04beb9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 13:03:43 +0200 Subject: [PATCH 0871/4087] (#18225) source_location: migrate to Conan v2 * source_location: migrate to Conan v2 * source_location: restore test_v1_package --- recipes/source_location/all/conanfile.py | 68 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 27 +++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ .../all/test_v1_package/src/test.cpp | 8 +++ 6 files changed, 93 insertions(+), 42 deletions(-) create mode 100644 recipes/source_location/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/source_location/all/test_v1_package/conanfile.py create mode 100644 recipes/source_location/all/test_v1_package/src/test.cpp diff --git a/recipes/source_location/all/conanfile.py b/recipes/source_location/all/conanfile.py index cbc67bb2eac20..305de2e31b857 100644 --- a/recipes/source_location/all/conanfile.py +++ b/recipes/source_location/all/conanfile.py @@ -1,33 +1,30 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class SourceLocationConan(ConanFile): name = "source_location" + description = "source_location header for some older compilers" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Rechip/source_location" - description = "source_location header for some older compilers" - topics = ("cpp", "source_location", "header-only") - settings = ["compiler"] + topics = ("cpp", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) - self.copy(pattern="*", dst="include", - src=os.path.join(self._source_subfolder, "include")) + def _min_cppstd(self): + return 11 @property def _minimum_compilers_version(self): @@ -38,17 +35,32 @@ def _minimum_compilers_version(self): "apple-clang": "12", } + 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"): - tools.check_min_cppstd(self, "11") - minimum_version = self._minimum_compilers_version.get( - str(self.settings.compiler), False) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warn( - "source_location requires C++11. Your compiler is unknown. Assuming it supports C++11 and required functionality.") - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - "source_location requires C++11 and some embedded functionality, which your compiler does not support.") + self.output.warning("source_location requires C++11. Your compiler is unknown. Assuming it supports C++11 and required functionality.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration("source_location requires C++11 and some embedded functionality, which your compiler does not support.") - def package_id(self): - self.info.header_only() + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/source_location/all/test_package/CMakeLists.txt b/recipes/source_location/all/test_package/CMakeLists.txt index 955a59f6e9c84..27bf673b3e4ae 100644 --- a/recipes/source_location/all/test_package/CMakeLists.txt +++ b/recipes/source_location/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(source_location REQUIRED CONFIG) -find_package(source_location CONFIG REQUIRED) add_executable(${PROJECT_NAME} src/test.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE source_location::source_location) - set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 diff --git a/recipes/source_location/all/test_package/conanfile.py b/recipes/source_location/all/test_package/conanfile.py index cbe0be23191a2..fae501d0afb9e 100644 --- a/recipes/source_location/all/test_package/conanfile.py +++ b/recipes/source_location/all/test_package/conanfile.py @@ -1,17 +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, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - self.cmake = CMake(self) - self.cmake.configure() - self.cmake.build() + 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): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/source_location/all/test_v1_package/CMakeLists.txt b/recipes/source_location/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/source_location/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/source_location/all/test_v1_package/conanfile.py b/recipes/source_location/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..cbe0be23191a2 --- /dev/null +++ b/recipes/source_location/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "arch", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + self.cmake = CMake(self) + self.cmake.configure() + 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) diff --git a/recipes/source_location/all/test_v1_package/src/test.cpp b/recipes/source_location/all/test_v1_package/src/test.cpp new file mode 100644 index 0000000000000..1e3734bb24378 --- /dev/null +++ b/recipes/source_location/all/test_v1_package/src/test.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main() { + constexpr auto loc = std::source_location::current(); + + return loc.line() == 5 ? EXIT_SUCCESS : EXIT_FAILURE; +} From 015a144e1b2863ac68e1af485cf04c1d277b7003 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 13:23:18 +0200 Subject: [PATCH 0872/4087] (#18213) mathter: migrate to Conan v2 * mathter: migrate to Conan v2 * mathter: restore test_v1_package * mathter: add cmake_find_package_multi generator to test_v1_package --- recipes/mathter/all/conanfile.py | 66 +++++++++++++------ .../mathter/all/test_package/CMakeLists.txt | 9 ++- recipes/mathter/all/test_package/conanfile.py | 24 +++++-- .../mathter/all/test_package/test_package.cpp | 10 +-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../mathter/all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 95 insertions(+), 38 deletions(-) create mode 100644 recipes/mathter/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/mathter/all/test_v1_package/conanfile.py diff --git a/recipes/mathter/all/conanfile.py b/recipes/mathter/all/conanfile.py index be28b561bbcae..3c07c54ec5fb2 100644 --- a/recipes/mathter/all/conanfile.py +++ b/recipes/mathter/all/conanfile.py @@ -1,20 +1,30 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 MathterConan(ConanFile): name = "mathter" + description = "Powerful 3D math and small-matrix linear algebra library for games and science." license = "MIT" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/petiaccja/Mathter" - url = "https://github.com/conan-io/conan-center-index/" - description = "Powerful 3D math and small-matrix linear algebra library for games and science." - topics = ("game-dev", "linear-algebra", "vector-math", "matrix-library") + topics = ("game-dev", "linear-algebra", "vector-math", "matrix-library", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "compiler" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -25,25 +35,39 @@ def _compilers_minimum_version(self): "Visual Studio": 16, } - def configure(self): + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("mathter requires C++17, which your compiler does not support.") + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " + f"which your compiler does not support.") else: - self.output.warn("mathter requires C++17. Your compiler is unknown. Assuming it supports C++17.") + self.output.warning(f"{self.name} requires C++{self._min_cppstd}. " + f"Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("Mathter-" + self.version, self._source_subfolder) - + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def package(self): - self.copy("*.hpp", dst=os.path.join("include", "Mathter"), src=os.path.join(self._source_subfolder, "Mathter")) - self.copy("*.natvis", dst=os.path.join("include", "Mathter"), src=os.path.join(self._source_subfolder, "Mathter")) - self.copy("LICENCE", dst="licenses", src=self._source_subfolder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include", "Mathter"), + src=os.path.join(self.source_folder, "Mathter")) + copy(self, "*.natvis", + dst=os.path.join(self.package_folder, "include", "Mathter"), + src=os.path.join(self.source_folder, "Mathter")) + copy(self, "LICENCE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/mathter/all/test_package/CMakeLists.txt b/recipes/mathter/all/test_package/CMakeLists.txt index 27af59f1d203b..e6eb2612386c1 100644 --- a/recipes/mathter/all/test_package/CMakeLists.txt +++ b/recipes/mathter/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(TestPackage CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(mathter REQUIRED CONFIG) add_executable(test_package test_package.cpp) -target_link_libraries(test_package ${CONAN_LIBS}) -target_compile_features(test_package PUBLIC cxx_std_17) +target_link_libraries(test_package PRIVATE mathter::mathter) +target_compile_features(test_package PRIVATE cxx_std_17) diff --git a/recipes/mathter/all/test_package/conanfile.py b/recipes/mathter/all/test_package/conanfile.py index 30d42d996e79e..fae501d0afb9e 100644 --- a/recipes/mathter/all/test_package/conanfile.py +++ b/recipes/mathter/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class MathterTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - 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/mathter/all/test_package/test_package.cpp b/recipes/mathter/all/test_package/test_package.cpp index 9452f0f208fc1..f9de551629038 100644 --- a/recipes/mathter/all/test_package/test_package.cpp +++ b/recipes/mathter/all/test_package/test_package.cpp @@ -3,9 +3,9 @@ int main() { using Vec3 = mathter::Vector; - Vec3 v1 = {1, 0, 3}; - Vec3 v2 = {2, 5, 3}; - auto r = v1 + v2; - std::cout << "Mathter installation works." << std::endl; - return 0; + Vec3 v1 = {1, 0, 3}; + Vec3 v2 = {2, 5, 3}; + auto r = v1 + v2; + std::cout << "Mathter installation works." << std::endl; + return 0; } diff --git a/recipes/mathter/all/test_v1_package/CMakeLists.txt b/recipes/mathter/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/mathter/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/mathter/all/test_v1_package/conanfile.py b/recipes/mathter/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7177bb22dc3a9 --- /dev/null +++ b/recipes/mathter/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class MathterTestConan(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 a4999d182cb96ea1b1b2afc932552ae70460010e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 13:43:20 +0200 Subject: [PATCH 0873/4087] (#18195) automake: tidy a bit * automake: tidy a bit * automake: restore test_v1_package --- recipes/automake/all/conanfile.py | 13 +++++++++---- recipes/automake/all/test_package/conanfile.py | 2 +- .../automake/all/test_package/src/test_package.cpp | 2 +- recipes/automake/all/test_package/test_package.cpp | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/recipes/automake/all/conanfile.py b/recipes/automake/all/conanfile.py index c5504ce85bf9a..1d44aec491a20 100644 --- a/recipes/automake/all/conanfile.py +++ b/recipes/automake/all/conanfile.py @@ -12,12 +12,16 @@ class AutomakeConan(ConanFile): name = "automake" - package_type = "application" + description = ( + "Automake is a tool for automatically generating Makefile.in files" + " compliant with the GNU Coding Standards." + ) + license = ("GPL-2.0-or-later", "GPL-3.0-or-later") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.gnu.org/software/automake/" - description = "Automake is a tool for automatically generating Makefile.in files compliant with the GNU Coding Standards." topics = ("autotools", "configure", "build") - license = ("GPL-2.0-or-later", "GPL-3.0-or-later") + + package_type = "application" settings = "os", "arch", "compiler", "build_type" @property @@ -91,7 +95,7 @@ def _datarootdir(self): def package(self): autotools = Autotools(self) autotools.install() - copy(self, "COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder,"licenses")) + copy(self, "COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) rmdir(self, os.path.join(self._datarootdir, "info")) rmdir(self, os.path.join(self._datarootdir, "man")) @@ -114,6 +118,7 @@ def _automake_libdir(self): def package_info(self): self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] + self.cpp_info.frameworkdirs = [] self.cpp_info.resdirs = ["res"] # For consumers with new integrations (Conan 1 and 2 compatible): diff --git a/recipes/automake/all/test_package/conanfile.py b/recipes/automake/all/test_package/conanfile.py index a8b0427416846..26fd488e0e853 100644 --- a/recipes/automake/all/test_package/conanfile.py +++ b/recipes/automake/all/test_package/conanfile.py @@ -84,7 +84,7 @@ def build(self): # Build test project autotools = Autotools(self) - autotools.autoreconf(args=['--debug']) + autotools.autoreconf(args=["--debug"]) autotools.configure() autotools.make() diff --git a/recipes/automake/all/test_package/src/test_package.cpp b/recipes/automake/all/test_package/src/test_package.cpp index cd8c2f27c3587..ec5b5ab958cbb 100644 --- a/recipes/automake/all/test_package/src/test_package.cpp +++ b/recipes/automake/all/test_package/src/test_package.cpp @@ -3,7 +3,7 @@ #include #include -int main(int argc, char** argv) { +int main() { std::cout << "test_package.cpp: " << "hello world from " PACKAGE_NAME "!\n"; return EXIT_SUCCESS; } diff --git a/recipes/automake/all/test_package/test_package.cpp b/recipes/automake/all/test_package/test_package.cpp index cd8c2f27c3587..ec5b5ab958cbb 100644 --- a/recipes/automake/all/test_package/test_package.cpp +++ b/recipes/automake/all/test_package/test_package.cpp @@ -3,7 +3,7 @@ #include #include -int main(int argc, char** argv) { +int main() { std::cout << "test_package.cpp: " << "hello world from " PACKAGE_NAME "!\n"; return EXIT_SUCCESS; } From 8621abea779e4c2edb4bf4dbdb8748f783bc39bd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 14:24:04 +0200 Subject: [PATCH 0874/4087] (#18194) autoconf: tidy a bit * autoconf: tidy a bit * autoconf: restore test_v1_package --- recipes/autoconf/all/conanfile.py | 15 ++++++++------- .../all/test_package/test_package_cpp.cpp | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/recipes/autoconf/all/conanfile.py b/recipes/autoconf/all/conanfile.py index 09afbd7d337d1..e8f1925de206c 100644 --- a/recipes/autoconf/all/conanfile.py +++ b/recipes/autoconf/all/conanfile.py @@ -11,7 +11,6 @@ class AutoconfConan(ConanFile): name = "autoconf" - package_type = "application" description = ( "Autoconf is an extensible package of M4 macros that produce shell " "scripts to automatically configure software source code packages" @@ -19,7 +18,9 @@ class AutoconfConan(ConanFile): license = ("GPL-2.0-or-later", "GPL-3.0-or-later") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.gnu.org/software/autoconf/" - topics = ("autoconf", "configure", "build") + topics = ("configure", "build") + + package_type = "application" settings = "os", "arch", "compiler", "build_type" @property @@ -33,12 +34,12 @@ def export_sources(self): def layout(self): basic_layout(self, src_folder="src") - def package_id(self): - self.info.clear() - def requirements(self): self.requires("m4/1.4.19") # Needed at runtime by downstream clients as well + def package_id(self): + self.info.clear() + def build_requirements(self): self.tool_requires("m4/1.4.19") if self._settings_build.os == "Windows": @@ -47,8 +48,7 @@ def build_requirements(self): self.tool_requires("msys2/cci.latest") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): env = VirtualBuildEnv(self) @@ -100,6 +100,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "res", "man")) def package_info(self): + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] self.cpp_info.resdirs = ["res"] diff --git a/recipes/autoconf/all/test_package/test_package_cpp.cpp b/recipes/autoconf/all/test_package/test_package_cpp.cpp index e31a5ee3cfefa..01bf15d96515c 100644 --- a/recipes/autoconf/all/test_package/test_package_cpp.cpp +++ b/recipes/autoconf/all/test_package/test_package_cpp.cpp @@ -3,14 +3,14 @@ #include extern "C" { - int hello_from_c(void); +int hello_from_c(void); } void hello_from_cxx() { std::cout << "Hello world (" PACKAGE_NAME ") from c++!\n"; } -int main(int argc, char** argv) { +int main() { hello_from_cxx(); hello_from_c(); return 0; From 45001971fb6d82e789722dd0bc1f0d9e6d4bd002 Mon Sep 17 00:00:00 2001 From: Mischa Alff Date: Mon, 10 Jul 2023 14:43:06 +0200 Subject: [PATCH 0875/4087] (#18281) Add flecs version 3.2.4 --- recipes/flecs/all/conandata.yml | 3 +++ recipes/flecs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/flecs/all/conandata.yml b/recipes/flecs/all/conandata.yml index d95e9e88c952a..cdf9c604ba992 100644 --- a/recipes/flecs/all/conandata.yml +++ b/recipes/flecs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.4": + url: "https://github.com/SanderMertens/flecs/archive/v3.2.4.tar.gz" + sha256: "0b65426053418911cae1c3f347748fba6eb7d4ae8860ce7fcc91ef25f386d4a1" "3.1.4": url: "https://github.com/SanderMertens/flecs/archive/v3.1.4.tar.gz" sha256: "cc73d529ddc47891fc16c7dd965ca9c4239d1caccae024c81364bf3d49286fe0" diff --git a/recipes/flecs/config.yml b/recipes/flecs/config.yml index 6dd38fdadfe17..629ecd74c6c0c 100644 --- a/recipes/flecs/config.yml +++ b/recipes/flecs/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.4": + folder: all "3.1.4": folder: all "3.1.3": From 71e98899165fce74797db4d960ceab52e482678d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 15:04:55 +0200 Subject: [PATCH 0876/4087] (#18179) anyrpc: add package_type * anyrpc: add package_type * anyrpc: restore test_v1_package --- recipes/anyrpc/all/conanfile.py | 9 +++++++-- recipes/anyrpc/all/test_v1_package/CMakeLists.txt | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/recipes/anyrpc/all/conanfile.py b/recipes/anyrpc/all/conanfile.py index e5887586c576e..068094058cb31 100644 --- a/recipes/anyrpc/all/conanfile.py +++ b/recipes/anyrpc/all/conanfile.py @@ -15,6 +15,8 @@ class AnyRPCConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sgieseking/anyrpc" topics = ("rpc",) + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,7 +68,10 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) if self.options.with_log4cplus and self.options.with_wchar: - raise ConanInvalidConfiguration(f"{self.ref} can not be built with both log4cplus and wchar, see https://github.com/sgieseking/anyrpc/issues/25") + raise ConanInvalidConfiguration( + f"{self.ref} can not be built with both log4cplus and wchar, see" + " https://github.com/sgieseking/anyrpc/issues/25" + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -105,6 +110,6 @@ def package(self): def package_info(self): self.cpp_info.libs = ["anyrpc"] if not self.options.shared and self.settings.os == "Windows": - self.cpp_info.system_libs.append("ws2_32") + self.cpp_info.system_libs.append("ws2_32") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["m", "pthread"]) diff --git a/recipes/anyrpc/all/test_v1_package/CMakeLists.txt b/recipes/anyrpc/all/test_v1_package/CMakeLists.txt index 8272097b5b3da..91630d79f4abb 100644 --- a/recipes/anyrpc/all/test_v1_package/CMakeLists.txt +++ b/recipes/anyrpc/all/test_v1_package/CMakeLists.txt @@ -1,6 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) + include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 6cb9bfaa0acb722e47201267e80ddee6d930a13e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 15:45:27 +0200 Subject: [PATCH 0877/4087] (#18178) any-lite: add package_type * any-lite: add package_type * any-lite: restore test_v1_package --- recipes/any-lite/all/conanfile.py | 21 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 10 ++++----- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/recipes/any-lite/all/conanfile.py b/recipes/any-lite/all/conanfile.py index 19f65824ca091..ed35a82c05d84 100644 --- a/recipes/any-lite/all/conanfile.py +++ b/recipes/any-lite/all/conanfile.py @@ -8,24 +8,27 @@ class AnyLiteConan(ConanFile): name = "any-lite" + description = ( + "any lite - A C++17-like any, a type-safe container for single values of " + "any type for C++98, C++11 and later in a single-file header-only library" + ) + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/any-lite" - description = ("any lite - A C++17-like any, a type-safe container for single values of \ - any type for C++98, C++11 and later in a single-file header-only library") - topics = ("cpp11", "cpp14", "cpp17", "any", "any-implementations") - license = "BSL-1.0" + topics = ("cpp11", "cpp14", "cpp17", "any", "any-implementations", "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], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/any-lite/all/test_v1_package/CMakeLists.txt b/recipes/any-lite/all/test_v1_package/CMakeLists.txt index 3d223cfc63eee..91630d79f4abb 100644 --- a/recipes/any-lite/all/test_v1_package/CMakeLists.txt +++ b/recipes/any-lite/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(any-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::any-lite) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From bac9b57a011469848dfc94a6b98edeee142d966e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 16:25:05 +0200 Subject: [PATCH 0878/4087] (#18177) antlr4-cppruntime: add package_type * antlr4-cppruntime: add package_type * antlr4-cppruntime: restore test_v1_package --- recipes/antlr4-cppruntime/all/conanfile.py | 10 ++++++---- .../all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/recipes/antlr4-cppruntime/all/conanfile.py b/recipes/antlr4-cppruntime/all/conanfile.py index 99a6339b6c746..3aaea8c41d7d7 100644 --- a/recipes/antlr4-cppruntime/all/conanfile.py +++ b/recipes/antlr4-cppruntime/all/conanfile.py @@ -14,12 +14,14 @@ class Antlr4CppRuntimeConan(ConanFile): name = "antlr4-cppruntime" - homepage = "https://github.com/antlr/antlr4/tree/master/runtime/Cpp" description = "C++ runtime support for ANTLR (ANother Tool for Language Recognition)" - topics = ("antlr", "parser", "runtime") - url = "https://github.com/conan-io/conan-center-index" license = "BSD-3-Clause" - settings = "os", "compiler", "build_type", "arch" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/antlr/antlr4/tree/master/runtime/Cpp" + topics = ("antlr", "parser", "runtime") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], diff --git a/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt b/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt +++ b/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 79638bad602d970208ad90eb7cf8bab5682271bc Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Mon, 10 Jul 2023 23:23:06 +0800 Subject: [PATCH 0879/4087] (#18419) proj: bump deps --- recipes/proj/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index d65efd41b63cf..809f8d56bef91 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -57,15 +57,15 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.41.1", run=can_run(self)) + self.requires("sqlite3/3.42.0", run=can_run(self)) if self.options.get_safe("with_tiff"): - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.get_safe("with_curl"): self.requires("libcurl/7.88.1") def build_requirements(self): if not can_run(self): - self.tool_requires("sqlite3/3.41.1") + self.tool_requires("sqlite3/3.42.0") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) From beb9de37541b712f986645fae12cf0729171f0c5 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 11 Jul 2023 01:03:19 +0900 Subject: [PATCH 0880/4087] (#18387) highway: add version 1.0.4, add package_type * highway: add version 1.0.4, add package_type * make package_type "static-library" before 0.16.0 * remove lib/cmake folder --- recipes/highway/all/conandata.yml | 3 +++ recipes/highway/all/conanfile.py | 6 +++++- recipes/highway/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/highway/all/conandata.yml b/recipes/highway/all/conandata.yml index ae12819eb44d8..a0cdc4a6b1936 100644 --- a/recipes/highway/all/conandata.yml +++ b/recipes/highway/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.4": + url: "https://github.com/google/highway/archive/1.0.4.tar.gz" + sha256: "faccd343935c9e98afd1016e9d20e0b8b89d908508d1af958496f8c2d3004ac2" "1.0.3": url: "https://github.com/google/highway/archive/1.0.3.tar.gz" sha256: "566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e" diff --git a/recipes/highway/all/conanfile.py b/recipes/highway/all/conanfile.py index 47b313cb31ecc..0da9b64e6b9f4 100644 --- a/recipes/highway/all/conanfile.py +++ b/recipes/highway/all/conanfile.py @@ -12,10 +12,11 @@ class HighwayConan(ConanFile): name = "highway" description = "Performance-portable, length-agnostic SIMD with runtime dispatch" - topics = ("simd",) license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/highway" + topics = ("simd", "neon", "avx", "sse",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -49,6 +50,7 @@ def config_options(self): def configure(self): if Version(self.version) < "0.16.0": del self.options.shared + self.package_type = "static-library" elif self.options.shared: self.options.rm_safe("fPIC") @@ -71,6 +73,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False tc.variables["HWY_ENABLE_EXAMPLES"] = False + tc.variables["HWY_ENABLE_TESTS"] = False tc.generate() def _patch_sources(self): @@ -93,6 +96,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.components["hwy"].set_property("pkg_config_name", "libhwy") diff --git a/recipes/highway/config.yml b/recipes/highway/config.yml index 08286722329d4..d3cb7d334892f 100644 --- a/recipes/highway/config.yml +++ b/recipes/highway/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.4": + folder: all "1.0.3": folder: all "1.0.2": From e521a47110c6030d4b7cafac5e9f13ff4299917b Mon Sep 17 00:00:00 2001 From: Andy Mroczkowski Date: Mon, 10 Jul 2023 13:02:40 -0400 Subject: [PATCH 0881/4087] (#18406) zug: add version 0.1.0 * zug: add version 0.1.0 * zug: conandata yaml lint * zug: config.yml lint --- recipes/zug/all/conandata.yml | 3 +++ recipes/zug/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zug/all/conandata.yml b/recipes/zug/all/conandata.yml index ebe78dab88a5e..a182f02902b99 100644 --- a/recipes/zug/all/conandata.yml +++ b/recipes/zug/all/conandata.yml @@ -2,3 +2,6 @@ sources: "cci.20220125": url: "https://github.com/arximboldi/zug/archive/deb266f4c7c35d325de7eb3d033f06e0809495f2.tar.gz" sha256: "4b36442059899b8570336ff9e2901f62fd58b839c9e3ff5d35497454e2324625" + "0.1.0": + url: "https://github.com/arximboldi/zug/archive/refs/tags/v0.1.0.tar.gz" + sha256: "7d9d57a55399784392ba8fa67fcf246b9f5aec8f002c69e1fe4b5f66657214b8" diff --git a/recipes/zug/config.yml b/recipes/zug/config.yml index 9fd2ace3e66a6..80463c6cdc5cc 100644 --- a/recipes/zug/config.yml +++ b/recipes/zug/config.yml @@ -1,3 +1,5 @@ versions: "cci.20220125": folder: all + "0.1.0": + folder: all From 2ee89c5976615252e93b64c9d495574d64249551 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 11 Jul 2023 02:22:33 +0900 Subject: [PATCH 0882/4087] (#18386) capstone: add version 5.0, add package_type * capstone: add version 5.0, add package_type * remove cmake pkgconf * disable warning flags for older compilers * fix CMAKE variables in 5.0 --- recipes/capstone/all/conandata.yml | 8 +++++ recipes/capstone/all/conanfile.py | 32 ++++++++++++------- .../5.0-0001-disable-warning-flags.patch | 18 +++++++++++ recipes/capstone/config.yml | 2 ++ 4 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 recipes/capstone/all/patches/5.0-0001-disable-warning-flags.patch diff --git a/recipes/capstone/all/conandata.yml b/recipes/capstone/all/conandata.yml index 7e93927333e67..d7a89de82f179 100644 --- a/recipes/capstone/all/conandata.yml +++ b/recipes/capstone/all/conandata.yml @@ -1,4 +1,12 @@ sources: + "5.0": + url: "https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.tar.gz" + sha256: "df24344407baa7415eeb006f742afc9b92cd33abf2c4c120a6e97cfb376882dc" "4.0.2": url: "https://github.com/capstone-engine/capstone/archive/refs/tags/4.0.2.tar.gz" sha256: "7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a" +patches: + "5.0": + - patch_file: "patches/5.0-0001-disable-warning-flags.patch" + patch_description: "disable warning flags for older compilers" + patch_type: "portability" diff --git a/recipes/capstone/all/conanfile.py b/recipes/capstone/all/conanfile.py index 148a51bb1323b..416470d00874e 100644 --- a/recipes/capstone/all/conanfile.py +++ b/recipes/capstone/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get +from conan.tools.files import copy, get, rmdir, export_conandata_patches, apply_conandata_patches from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -9,20 +10,20 @@ class CapstoneConan(ConanFile): name = "capstone" - license = "BSD-3-Clause" - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://www.capstone-engine.org" description = ( "Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, " "EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, " "TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings." ) + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://www.capstone-engine.org" topics = ( "reverse-engineering", "disassembler", "security", "framework", "arm", "arm64", "x86", "sparc", "powerpc", "mips", "x86-64", "ethereum", "systemz", "webassembly", "m68k", "m0s65xx", "m680x", "tms320c64x", "bpf", "riscv", ) - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,6 +40,9 @@ class CapstoneConan(ConanFile): options.update({a: [True, False] for a in _archs}) default_options.update({a: True for a in _archs}) + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -53,23 +57,27 @@ 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["CAPSTONE_BUILD_STATIC"] = not self.options.shared - tc.variables["CAPSTONE_BUILD_SHARED"] = self.options.shared + if Version(self.version) < "5.0": + tc.variables["CAPSTONE_BUILD_STATIC"] = not self.options.shared + tc.variables["CAPSTONE_BUILD_SHARED"] = self.options.shared tc.variables["CAPSTONE_BUILD_TESTS"] = False tc.variables["CAPSTONE_BUILD_CSTOOL"] = False tc.variables["CAPSTONE_ARCHITECUTRE_DEFAULT"] = False - tc.variables["CAPSTONE_USE_SYS_DYN_MEM"] = self.options.use_default_alloc + if Version(self.version) < "5.0": + tc.variables["CAPSTONE_USE_SYS_DYN_MEM"] = self.options.use_default_alloc + else: + tc.variables["CAPSTONE_USE_DEFAULT_ALLOC"] = self.options.use_default_alloc for a in self._archs: tc.variables[f"CAPSTONE_{a.upper()}_SUPPORT"] = self.options.get_safe(a) tc.variables["CAPSTONE_BUILD_STATIC_RUNTIME"] = is_msvc_static_runtime(self) tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -78,9 +86,11 @@ def package(self): copy(self, "LICENSE*.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - suffix = "_dll" if is_msvc(self) and self.options.shared else "" + suffix = "_dll" if is_msvc(self) and self.options.shared and Version(self.version) < "5.0" else "" self.cpp_info.libs = [f"capstone{suffix}"] if self.options.shared: self.cpp_info.defines.append("CAPSTONE_SHARED") diff --git a/recipes/capstone/all/patches/5.0-0001-disable-warning-flags.patch b/recipes/capstone/all/patches/5.0-0001-disable-warning-flags.patch new file mode 100644 index 0000000000000..95cad95e403d9 --- /dev/null +++ b/recipes/capstone/all/patches/5.0-0001-disable-warning-flags.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7a986a0..3da94ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,13 +25,6 @@ project(capstone + VERSION 5.0 + ) + +-if (MSVC) +- add_compile_options(/W1 /w14189) +-else() +- add_compile_options(-Wmissing-braces -Wunused-function -Warray-bounds -Wunused-variable -Wparentheses -Wint-in-bool-context) +-endif() +- +- + # to configure the options specify them in in the command line or change them in the cmake UI. + # Don't edit the makefile! + option(BUILD_SHARED_LIBS "Build shared library" OFF) diff --git a/recipes/capstone/config.yml b/recipes/capstone/config.yml index 6ce0808b6e1f0..62f80ddacb005 100644 --- a/recipes/capstone/config.yml +++ b/recipes/capstone/config.yml @@ -1,3 +1,5 @@ versions: + "5.0": + folder: "all" "4.0.2": folder: "all" From 80aa2a3dfae227fd61eb8fd10a1e02ae02195fd7 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Mon, 10 Jul 2023 11:03:30 -0700 Subject: [PATCH 0883/4087] (#18366) sdl_ttf: and 2.20.2, bump dep sdl, conan v2 fixes * sdl_ttf: bump dep sdl * patch 3.17 requirements to keep in line with Conan's min supported 3.15 + add support for 2.20.2 :) * Update recipes/sdl_ttf/all/conandata.yml * Update recipes/sdl_ttf/all/conanfile.py * Update recipes/sdl_ttf/all/conanfile.py * Add missing ios frameworks --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/sdl_ttf/all/conandata.yml | 7 ++++++ recipes/sdl_ttf/all/conanfile.py | 8 +++++- ...0.1-0002-remove-unsupported-property.patch | 25 +++++++++++++++++++ recipes/sdl_ttf/config.yml | 2 ++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 recipes/sdl_ttf/all/patches/2.20.1-0002-remove-unsupported-property.patch diff --git a/recipes/sdl_ttf/all/conandata.yml b/recipes/sdl_ttf/all/conandata.yml index ac34ee3b6fceb..556b69cb6d777 100644 --- a/recipes/sdl_ttf/all/conandata.yml +++ b/recipes/sdl_ttf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.20.2": + url: "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.2/SDL2_ttf-2.20.2.tar.gz" + sha256: "9dc71ed93487521b107a2c4a9ca6bf43fb62f6bddd5c26b055e6b91418a22053" "2.20.1": url: "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.1/SDL2_ttf-2.20.1.tar.gz" sha256: "78cdad51f3cc3ada6932b1bb6e914b33798ab970a1e817763f22ddbfd97d0c57" @@ -13,6 +16,10 @@ patches: - patch_file: "patches/2.20.1-0001-fix-cmake-min-version.patch" patch_description: "Disable useless .pc file install to avoid relying on CMake 3.21 features" patch_type: "conan" + - patch_file: "patches/2.20.1-0002-remove-unsupported-property.patch" + patch_description: "remove DEPRECATION property is available on CMake 3.17+ (Linux C3i is 3.15 and the Conan min)" + patch_type: "portability" + patch_source: "https://github.com/libsdl-org/SDL_ttf/commit/e49b6030bd57b7aa3f0e4e42cb7ccc5fee876184" "2.0.18": - patch_file: "patches/2.0.18-0001-cmake-fix-link-target.patch" patch_description: "correct target name, disable PIC fixed" diff --git a/recipes/sdl_ttf/all/conanfile.py b/recipes/sdl_ttf/all/conanfile.py index 984ebd5896713..3766809402fca 100644 --- a/recipes/sdl_ttf/all/conanfile.py +++ b/recipes/sdl_ttf/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.microsoft import is_msvc @@ -51,7 +52,8 @@ def layout(self): def requirements(self): self.requires("freetype/2.12.1") - self.requires("sdl/2.26.1") + # https://github.com/conan-io/conan-center-index/pull/18366#issuecomment-1625464996 + self.requires("sdl/2.26.5", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_harfbuzz"): self.requires("harfbuzz/6.0.0") @@ -121,6 +123,10 @@ def package_info(self): self.cpp_info.components["_sdl2_ttf"].requires = ["freetype::freetype", "sdl::libsdl2"] if self.options.get_safe("with_harfbuzz"): self.cpp_info.components["_sdl2_ttf"].requires.append("harfbuzz::harfbuzz") + if Version(self.version) <= "2.0.18" and is_apple_os(self) and self.options.shared: + self.cpp_info.components["_sdl2_ttf"].frameworks = [ + "AppKit", "CoreGraphics", "CoreFoundation", "CoreServices" + ] # TODO: to remove in conan v2 self.cpp_info.names["cmake_find_package"] = "SDL2_ttf" diff --git a/recipes/sdl_ttf/all/patches/2.20.1-0002-remove-unsupported-property.patch b/recipes/sdl_ttf/all/patches/2.20.1-0002-remove-unsupported-property.patch new file mode 100644 index 0000000000000..b1c27e03bcce2 --- /dev/null +++ b/recipes/sdl_ttf/all/patches/2.20.1-0002-remove-unsupported-property.patch @@ -0,0 +1,25 @@ +From e49b6030bd57b7aa3f0e4e42cb7ccc5fee876184 Mon Sep 17 00:00:00 2001 +From: Anonymous Maarten +Date: Sat, 23 Jul 2022 17:28:28 +0200 +Subject: [PATCH] cmake: DEPRECATION property is available on CMake 3.17+ + +--- + CMakeLists.txt | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ebbe692d..64854ad3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -401,6 +401,9 @@ endif() + add_library(SDL2::ttf INTERFACE IMPORTED GLOBAL) + set_target_properties(SDL2::ttf PROPERTIES + INTERFACE_LINK_LIBRARIES "SDL2_ttf" +- DEPRECATION "Use SDL2_ttf::SDL2_ttf or SDL2_ttf::SDL2_ttf-static instead" + ) +- ++if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17") ++ set_target_properties(SDL2::ttf PROPERTIES ++ DEPRECATION "Use SDL2_ttf::SDL2_ttf or SDL2_ttf::SDL2_ttf-static instead" ++ ) ++endif() diff --git a/recipes/sdl_ttf/config.yml b/recipes/sdl_ttf/config.yml index 0db264b704044..be62a6c021ae5 100644 --- a/recipes/sdl_ttf/config.yml +++ b/recipes/sdl_ttf/config.yml @@ -1,4 +1,6 @@ versions: + "2.20.2": + folder: all "2.20.1": folder: all "2.0.18": From 3b7553dbabde49ad134ec34bb9f19b8c47ba2a91 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 11 Jul 2023 03:43:32 +0900 Subject: [PATCH 0884/4087] (#18300) mongo-c-driver: add version 1.24.1, update icu, remove older versions --- recipes/mongo-c-driver/all/conandata.yml | 34 +++++++------------ recipes/mongo-c-driver/all/conanfile.py | 2 +- ...4.1-0001-disable-shared-when-static.patch} | 33 ++++++++++-------- ....24.1-0002-fix-uninitialized-warning.patch | 13 +++++++ recipes/mongo-c-driver/config.yml | 8 ++--- 5 files changed, 48 insertions(+), 42 deletions(-) rename recipes/mongo-c-driver/all/patches/{1.17.2-0001-disable-shared-when-static.patch => 1.24.1-0001-disable-shared-when-static.patch} (74%) create mode 100644 recipes/mongo-c-driver/all/patches/1.24.1-0002-fix-uninitialized-warning.patch diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index 4adb823d08a96..eefdc63f63260 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.24.1": + url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.24.1/mongo-c-driver-1.24.1.tar.gz" + sha256: "f9bdf71f24c6621c12535bad07f4654a218d84f16b85a68aca3abf6cd36d1859" "1.23.5": url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.23.5/mongo-c-driver-1.23.5.tar.gz" sha256: "260dc2207881ccbe7b79b1fa6b3ba84ab9be94eb93d4beefbbe8a6cb562947ed" @@ -17,16 +20,17 @@ sources: "1.17.6": url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.6/mongo-c-driver-1.17.6.tar.gz" sha256: "8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150" - "1.17.4": - url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.4/mongo-c-driver-1.17.4.tar.gz" - sha256: "9ec8fe7fb54d636886fa823460658ccf660e3d82520d10810fb7c9d302ac974f" - "1.17.3": - url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.3/mongo-c-driver-1.17.3.tar.gz" - sha256: "6594cbae17389005bcac5a8d4091af3be4894d5314a519504d4b4509effcc0df" - "1.17.2": - url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.2/mongo-c-driver-1.17.2.tar.gz" - sha256: "bc53d5f72ab628a1ae549db6888325d6dc34db3ca31c5e16e550c1bb4266d864" patches: + "1.24.1": + - patch_file: "patches/1.24.1-0001-disable-shared-when-static.patch" + patch_description: "separate static and shared builds" + patch_type: "conan" + - patch_file: "patches/1.24.1-0002-fix-uninitialized-warning.patch" + patch_description: "fix uninitialized variable warning" + patch_type: "portability" + - patch_file: "patches/1.22.0-0003-disable-warning-errors.patch" + patch_description: "disable compiler flags to make warnings into errors" + patch_type: "conan" "1.23.5": - patch_file: "patches/1.23.2-0001-disable-shared-when-static.patch" patch_description: "separate static and shared builds" @@ -81,15 +85,3 @@ patches: - patch_file: "patches/1.17.6-0001-disable-shared-when-static.patch" patch_description: "separate static and shared builds" patch_type: "conan" - "1.17.4": - - patch_file: "patches/1.17.2-0001-disable-shared-when-static.patch" - patch_description: "separate static and shared builds" - patch_type: "conan" - "1.17.3": - - patch_file: "patches/1.17.2-0001-disable-shared-when-static.patch" - patch_description: "separate static and shared builds" - patch_type: "conan" - "1.17.2": - - patch_file: "patches/1.17.2-0001-disable-shared-when-static.patch" - patch_description: "separate static and shared builds" - patch_type: "conan" diff --git a/recipes/mongo-c-driver/all/conanfile.py b/recipes/mongo-c-driver/all/conanfile.py index e53dfd765dfa4..c67766ae04dd2 100644 --- a/recipes/mongo-c-driver/all/conanfile.py +++ b/recipes/mongo-c-driver/all/conanfile.py @@ -78,7 +78,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_icu: - self.requires("icu/73.1") + self.requires("icu/73.2") def validate(self): if self.options.with_ssl == "darwin" and not is_apple_os(self): diff --git a/recipes/mongo-c-driver/all/patches/1.17.2-0001-disable-shared-when-static.patch b/recipes/mongo-c-driver/all/patches/1.24.1-0001-disable-shared-when-static.patch similarity index 74% rename from recipes/mongo-c-driver/all/patches/1.17.2-0001-disable-shared-when-static.patch rename to recipes/mongo-c-driver/all/patches/1.24.1-0001-disable-shared-when-static.patch index 8767b278cd009..2ec7380ba4806 100644 --- a/recipes/mongo-c-driver/all/patches/1.17.2-0001-disable-shared-when-static.patch +++ b/recipes/mongo-c-driver/all/patches/1.24.1-0001-disable-shared-when-static.patch @@ -1,22 +1,24 @@ +diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt +index 61e9267..ff26474 100644 --- a/src/libbson/CMakeLists.txt +++ b/src/libbson/CMakeLists.txt -@@ -230,6 +230,7 @@ set (HEADERS_FORWARDING +@@ -205,6 +205,7 @@ set (HEADERS_FORWARDING ${PROJECT_SOURCE_DIR}/src/bson/forwarding/bson.h ) +if (NOT MONGOC_ENABLE_STATIC_BUILD) add_library (bson_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set (CMAKE_CXX_VISIBILITY_PRESET hidden) - target_compile_definitions (bson_shared PRIVATE BSON_COMPILATION JSONSL_PARSE_NAN) -@@ -272,6 +273,7 @@ if (WIN32) + if (MSVC AND MSVC_VERSION VERSION_LESS 1900) + message (STATUS "Disabling warning C4756 for VS 2013 and older") +@@ -282,6 +283,7 @@ if (WIN32) # must be handled specially since we can't resolve them set (BSON_SYSTEM_LIBRARIES ${BSON_SYSTEM_LIBRARIES} ws2_32) endif () -+endif() ++endif () if (MONGOC_ENABLE_STATIC_BUILD) add_library (bson_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -330,7 +332,7 @@ set (BSON_HEADER_INSTALL_DIR +@@ -367,7 +369,7 @@ set (BSON_HEADER_INSTALL_DIR ) if (MONGOC_ENABLE_STATIC_INSTALL) @@ -25,17 +27,19 @@ else () set (TARGETS_TO_INSTALL bson_shared) endif () +diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt +index bf95bd0..03a0f51 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt -@@ -725,6 +725,7 @@ if (MONGOC_ENABLE_MONGODB_AWS_AUTH) - endif() +@@ -745,6 +745,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) + set_target_properties (mcd_rpc PROPERTIES OUTPUT_NAME "mcd-rpc") endif () +if (NOT MONGOC_ENABLE_STATIC_BUILD) add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES}) -@@ -744,6 +745,7 @@ target_compile_definitions (mongoc_shared PRIVATE MONGOC_COMPILATION ${KMS_MSG_D +@@ -785,6 +786,7 @@ target_include_directories ( set_target_properties (mongoc_shared PROPERTIES VERSION 0.0.0 SOVERSION 0) set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-${MONGOC_API_VERSION}") @@ -43,7 +47,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -766,6 +768,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) +@@ -828,6 +830,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) set_target_properties (mongoc_static PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-static-${MONGOC_API_VERSION}") endif () @@ -51,11 +55,11 @@ if (ENABLE_APPLE_FRAMEWORK) set_target_properties (mongoc_shared PROPERTIES FRAMEWORK TRUE -@@ -776,9 +779,14 @@ if (ENABLE_APPLE_FRAMEWORK) +@@ -838,9 +841,15 @@ if (ENABLE_APPLE_FRAMEWORK) PUBLIC_HEADER "${HEADERS}" ) endif () -+endif() ++endif () add_executable (mongoc-stat ${PROJECT_SOURCE_DIR}/../../src/tools/mongoc-stat.c) +if (NOT MONGOC_ENABLE_STATIC_BUILD) @@ -63,10 +67,11 @@ +else () +target_link_libraries (mongoc-stat mongoc_static ${STATIC_LIBRARIES}) +endif () ++ # mongoc-stat works if shared memory performance counters are enabled. - if (ENABLE_SHM_COUNTERS STREQUAL "ON") -@@ -1040,7 +1048,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR} + if (ENABLE_SHM_COUNTERS) +@@ -1150,7 +1159,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR} file (COPY ${PROJECT_SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests) if (MONGOC_ENABLE_STATIC_INSTALL) diff --git a/recipes/mongo-c-driver/all/patches/1.24.1-0002-fix-uninitialized-warning.patch b/recipes/mongo-c-driver/all/patches/1.24.1-0002-fix-uninitialized-warning.patch new file mode 100644 index 0000000000000..7f59dea94d008 --- /dev/null +++ b/recipes/mongo-c-driver/all/patches/1.24.1-0002-fix-uninitialized-warning.patch @@ -0,0 +1,13 @@ +diff --git a/src/libbson/src/bson/bson-iter.c b/src/libbson/src/bson/bson-iter.c +index 00aa5c5..38e9c2b 100644 +--- a/src/libbson/src/bson/bson-iter.c ++++ b/src/libbson/src/bson/bson-iter.c +@@ -2146,7 +2146,7 @@ bson_iter_visit_all (bson_iter_t *iter, /* INOUT */ + + if (iter->err_off) { + if (unsupported && visitor->visit_unsupported_type && +- bson_utf8_validate (key, strlen (key), false)) { ++ key != NULL && bson_utf8_validate (key, strlen (key), false)) { + visitor->visit_unsupported_type (iter, key, bson_type, data); + return false; + } diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index 8d257ac381ff8..20b511f9ecd13 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.24.1": + folder: all "1.23.5": folder: all "1.23.4": @@ -11,9 +13,3 @@ versions: folder: all "1.17.6": folder: all - "1.17.4": - folder: all - "1.17.3": - folder: all - "1.17.2": - folder: all From 857eb5c993a8b65150aa1694ec1bf0a2fd4f6f93 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 21:23:33 +0200 Subject: [PATCH 0885/4087] (#18202) fernandovelcic-hexdump: migrate to Conan v2 * fernandovelcic-hexdump: migrate to Conan v2 * fernandovelcic-hexdump: restore test_v1_package --- .../fernandovelcic-hexdump/all/conanfile.py | 42 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 7 +--- .../all/test_package/conanfile.py | 21 +++++++--- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 17 ++++++++ 6 files changed, 75 insertions(+), 22 deletions(-) create mode 100644 recipes/fernandovelcic-hexdump/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/fernandovelcic-hexdump/all/test_v1_package/conanfile.py diff --git a/recipes/fernandovelcic-hexdump/all/conanfile.py b/recipes/fernandovelcic-hexdump/all/conanfile.py index 0f297f7cfa6c3..5497ae1f74ccd 100644 --- a/recipes/fernandovelcic-hexdump/all/conanfile.py +++ b/recipes/fernandovelcic-hexdump/all/conanfile.py @@ -1,24 +1,46 @@ -from conans import ConanFile, tools +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class FernandoVelcicHexdumpConan(ConanFile): name = "fernandovelcic-hexdump" description = "A header-only hexdump library." license = ["BSD-3-Clause"] - topics = ("hexadecimal", "hexdump", "inspection", "debug") - homepage = "https://github.com/FernandoVelcic/hexdump" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/FernandoVelcic/hexdump" + topics = ("hexadecimal", "hexdump", "inspection", "debug", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) 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 package(self): - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - self.copy(pattern="hexdump.hpp", dst="include", src=self._source_subfolder) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="hexdump.hpp", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fernandovelcic-hexdump/all/test_package/CMakeLists.txt b/recipes/fernandovelcic-hexdump/all/test_package/CMakeLists.txt index 5e81affac8e80..3d3b2a5ec56bc 100644 --- a/recipes/fernandovelcic-hexdump/all/test_package/CMakeLists.txt +++ b/recipes/fernandovelcic-hexdump/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(fernandovelcic-hexdump CONFIG REQUIRED) diff --git a/recipes/fernandovelcic-hexdump/all/test_package/conanfile.py b/recipes/fernandovelcic-hexdump/all/test_package/conanfile.py index 84ee68733e516..ef5d7042163ec 100644 --- a/recipes/fernandovelcic-hexdump/all/test_package/conanfile.py +++ b/recipes/fernandovelcic-hexdump/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.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/fernandovelcic-hexdump/all/test_package/test_package.cpp b/recipes/fernandovelcic-hexdump/all/test_package/test_package.cpp index d9f8d0c243fcc..878b57bcdb438 100644 --- a/recipes/fernandovelcic-hexdump/all/test_package/test_package.cpp +++ b/recipes/fernandovelcic-hexdump/all/test_package/test_package.cpp @@ -29,6 +29,6 @@ int main(int argc, char **argv) testCustomHexdumpBase(); testCustomHexdumpBase(); testCustomHexdumpBase(); - + return 0; } diff --git a/recipes/fernandovelcic-hexdump/all/test_v1_package/CMakeLists.txt b/recipes/fernandovelcic-hexdump/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/fernandovelcic-hexdump/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/fernandovelcic-hexdump/all/test_v1_package/conanfile.py b/recipes/fernandovelcic-hexdump/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..84ee68733e516 --- /dev/null +++ b/recipes/fernandovelcic-hexdump/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 8f263caa13b68777c47499df734d21e6d43deacc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 21:46:29 +0200 Subject: [PATCH 0886/4087] (#18188) asio: add package_type * asio: add package_type * asio: restore test_v1_package --- recipes/asio/all/conanfile.py | 17 +++++++++-------- recipes/asio/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/recipes/asio/all/conanfile.py b/recipes/asio/all/conanfile.py index b96eb6fa96e4a..301282db06249 100644 --- a/recipes/asio/all/conanfile.py +++ b/recipes/asio/all/conanfile.py @@ -8,23 +8,24 @@ class Asio(ConanFile): name = "asio" - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://think-async.com/Asio" description = "Asio is a cross-platform C++ library for network and low-level I/O" - topics = ("asio", "network", "io", "low-level") license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://think-async.com/Asio" + topics = ("network", "io", "low-level", "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], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/asio/all/test_v1_package/CMakeLists.txt b/recipes/asio/all/test_v1_package/CMakeLists.txt index 0308114c0432b..91630d79f4abb 100644 --- a/recipes/asio/all/test_v1_package/CMakeLists.txt +++ b/recipes/asio/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(asio REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE asio::asio) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From db5a1c338f486ea7bb8fd209626736c6622285ad Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 22:44:52 +0200 Subject: [PATCH 0887/4087] (#18175) android-ndk: add package_type, replace exports_sources * android-ndk: add package_type, replace exports_sources * android-ndk: restore test_v1_package * android-ndk: add cmake_find_package_multi generator to test_v1_package --- recipes/android-ndk/all/conanfile.py | 21 ++++++++++++------- .../all/test_v1_package/CMakeLists.txt | 6 +++--- .../all/test_v1_package/conanfile.py | 2 +- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/recipes/android-ndk/all/conanfile.py b/recipes/android-ndk/all/conanfile.py index af3c867fd7625..ecf241f5b5a1a 100644 --- a/recipes/android-ndk/all/conanfile.py +++ b/recipes/android-ndk/all/conanfile.py @@ -2,7 +2,6 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.files import get, download, unzip, load, copy, rm from conan.tools.layout import basic_layout -from conan.tools.scm import Version import os import re import shutil @@ -12,16 +11,18 @@ class AndroidNDKConan(ConanFile): name = "android-ndk" - description = "The Android NDK is a toolset that lets you implement parts of your app in native code, using languages such as C and C++" + description = ( + "The Android NDK is a toolset that lets you implement parts of your app " + "in native code, using languages such as C and C++" + ) + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://developer.android.com/ndk/" topics = ("android", "ndk", "toolchain", "compiler") - license = "Apache-2.0" - - settings = "os", "arch", "build_type", "compiler" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" short_paths = True - exports_sources = "cmake-wrapper.cmd", "cmake-wrapper" def _is_universal2(self, info=False): settings = self.info.settings if info else self.settings @@ -41,6 +42,10 @@ def _settings_os_supported(self): def _settings_arch_supported(self): return self.conan_data["sources"][self.version].get(str(self.settings.os), {}).get(str(self._arch)) is not None + def export_sources(self): + copy(self, "cmake-wrapper.cmd", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "cmake-wrapper", src=self.recipe_folder, dst=self.export_sources_folder) + def layout(self): basic_layout(self, src_folder="src") @@ -226,7 +231,7 @@ def _cmake_system_processor(self): cmake_system_processor = "armv5te" return cmake_system_processor - def _define_tool_var(self, name, value, bare = False): + def _define_tool_var(self, name, value, bare=False): ndk_bin = os.path.join(self._ndk_root, "bin") path = os.path.join(ndk_bin, self._tool_name(value, bare)) if not os.path.isfile(path): @@ -325,7 +330,7 @@ def package_info(self): self.buildenv_info.define("ANDROID_STL", libcxx_str if libcxx_str.startswith("c++_") else "c++_shared") # TODO: conan v1 stuff to remove later - if Version(conan_version).major < 2: + if conan_version.major < 2: self.env_info.PATH.extend([os.path.join(self.package_folder, "bin"), os.path.join(self._ndk_root, "bin")]) self.env_info.ANDROID_NDK_ROOT = os.path.join(self.package_folder, "bin") self.env_info.ANDROID_NDK_HOME = os.path.join(self.package_folder, "bin") diff --git a/recipes/android-ndk/all/test_v1_package/CMakeLists.txt b/recipes/android-ndk/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/android-ndk/all/test_v1_package/CMakeLists.txt +++ b/recipes/android-ndk/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/android-ndk/all/test_v1_package/conanfile.py b/recipes/android-ndk/all/test_v1_package/conanfile.py index e7a2d6060ddc7..d61cc4e4da75e 100644 --- a/recipes/android-ndk/all/test_v1_package/conanfile.py +++ b/recipes/android-ndk/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackgeConan(ConanFile): settings = "os", "arch", "compiler", "build_type" test_type = "explicit" - generators = "cmake" + generators = "cmake", "cmake_find_package_multi" def build_requirements(self): self.build_requires(self.tested_reference_str) From aeec6dc4d64da2d5344ee2dffb55a75827262859 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 10 Jul 2023 23:23:52 +0200 Subject: [PATCH 0888/4087] (#18172) alac: add package_type, tidy * alac: add package_type * alac: restore test_v1_package * Update recipes/alac/all/conanfile.py * Update recipes/alac/all/conanfile.py --- recipes/alac/all/conanfile.py | 24 +++++++++---------- .../alac/all/test_v1_package/CMakeLists.txt | 10 ++++---- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/recipes/alac/all/conanfile.py b/recipes/alac/all/conanfile.py index 03e8814c8b1fd..852e6b7782c8e 100644 --- a/recipes/alac/all/conanfile.py +++ b/recipes/alac/all/conanfile.py @@ -1,10 +1,9 @@ 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.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class AlacConan(ConanFile): @@ -12,10 +11,11 @@ class AlacConan(ConanFile): description = "The Apple Lossless Audio Codec (ALAC) is a lossless audio " \ "codec developed by Apple and deployed on all of its platforms and devices." license = "Apache-2.0" - topics = ("alac", "audio-codec") - homepage = "https://macosforge.github.io/alac" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://macosforge.github.io/alac" + topics = ("audio-codec") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,7 +28,8 @@ class AlacConan(ConanFile): "utility": True, } - exports_sources = "CMakeLists.txt" + 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": @@ -36,17 +37,13 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -67,5 +64,8 @@ def package(self): def package_info(self): self.cpp_info.libs = ["alac"] - if Version(conan_version).major < 2 and self.options.utility: + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + if conan_version.major < 2 and self.options.utility: self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/alac/all/test_v1_package/CMakeLists.txt b/recipes/alac/all/test_v1_package/CMakeLists.txt index 6e042a1c74181..91630d79f4abb 100644 --- a/recipes/alac/all/test_v1_package/CMakeLists.txt +++ b/recipes/alac/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(alac REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE alac::alac) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 8f9ad15ee16cd20ddc205e43b8333ee9f61cf62a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 11 Jul 2023 00:04:27 +0200 Subject: [PATCH 0889/4087] (#18436) proj/all: bump deps --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index 809f8d56bef91..e5322b9f644f0 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): if self.options.get_safe("with_tiff"): self.requires("libtiff/4.5.1") if self.options.get_safe("with_curl"): - self.requires("libcurl/7.88.1") + self.requires("libcurl/8.0.1") def build_requirements(self): if not can_run(self): From 642e8d62c0de92bfd73ae8668e2db171c3b99a36 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 11 Jul 2023 00:44:08 +0200 Subject: [PATCH 0890/4087] (#18128) effolkronium-random: migrate to Conan v2 * effolkronium-random: migrate to Conan v2 * effolkronium-random: add check_min_cppstd * effolkronium-random: set correct CMake target * Update recipes/effolkronium-random/all/test_package/CMakeLists.txt * Update recipes/effolkronium-random/all/test_package/CMakeLists.txt * effolkronium-random: restore test_v1_package * effolkronium-random: add cmake_find_package_multi generator to test_v1_package * remove test_v1_package --------- Co-authored-by: Carlos Zoido --- recipes/effolkronium-random/all/conanfile.py | 48 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 9 ++-- .../all/test_package/conanfile.py | 21 +++++--- 3 files changed, 55 insertions(+), 23 deletions(-) diff --git a/recipes/effolkronium-random/all/conanfile.py b/recipes/effolkronium-random/all/conanfile.py index 1c77e0e87ce24..3b1d45a29a7e9 100644 --- a/recipes/effolkronium-random/all/conanfile.py +++ b/recipes/effolkronium-random/all/conanfile.py @@ -1,31 +1,55 @@ import os -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class RandomConan(ConanFile): name = "effolkronium-random" description = "Random for modern C++ with convenient API." license = "MIT" - topics = ("conan", "random", "header-only") - homepage = "https://github.com/effolkronium/random" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/effolkronium/random" + topics = ("random", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("random-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE.MIT", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE.MIT", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "effolkronium_random") + self.cpp_info.set_property("cmake_target_name", "effolkronium_random") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "effolkronium_random" self.cpp_info.names["cmake_find_package_multi"] = "effolkronium_random" diff --git a/recipes/effolkronium-random/all/test_package/CMakeLists.txt b/recipes/effolkronium-random/all/test_package/CMakeLists.txt index 33ae887aa6aea..186757f8c1657 100644 --- a/recipes/effolkronium-random/all/test_package/CMakeLists.txt +++ b/recipes/effolkronium-random/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(effolkronium_random REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE effolkronium_random) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/effolkronium-random/all/test_package/conanfile.py b/recipes/effolkronium-random/all/test_package/conanfile.py index ea57a464900be..fae501d0afb9e 100644 --- a/recipes/effolkronium-random/all/test_package/conanfile.py +++ b/recipes/effolkronium-random/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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") From fb3729b25bc1db1acf5827dfeb709f658b729087 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 11 Jul 2023 01:03:44 +0200 Subject: [PATCH 0891/4087] (#18109) influxdb-cpp: migrate to Conan v2 * influxdb-cpp: migrate to Conan v2 * influxdb-cpp: add check_min_cppstd for C++11 * influxdb-cpp: restore test_v1_package * influxdb-cpp: add cmake_find_package_multi generator to test_v1_package * Update recipes/influxdb-cpp/all/test_v1_package/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/influxdb-cpp/all/conanfile.py | 45 ++++++++++++------- .../all/test_package/CMakeLists.txt | 13 +++--- .../all/test_package/conanfile.py | 22 ++++++--- .../{example.cpp => test_package.cpp} | 0 .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 18 ++++++++ 6 files changed, 77 insertions(+), 29 deletions(-) rename recipes/influxdb-cpp/all/test_package/{example.cpp => test_package.cpp} (100%) create mode 100644 recipes/influxdb-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/influxdb-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/influxdb-cpp/all/conanfile.py b/recipes/influxdb-cpp/all/conanfile.py index fa5b1610b16b3..c4120819ef945 100644 --- a/recipes/influxdb-cpp/all/conanfile.py +++ b/recipes/influxdb-cpp/all/conanfile.py @@ -1,33 +1,48 @@ import os -from conans import ConanFile, tools -import glob +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class InfluxDBCppConan(ConanFile): name = "influxdb-cpp" + description = "C++ client for InfluxDB." license = "MIT" - homepage = "https://github.com/orca-zhang/influxdb-cpp" url = "https://github.com/conan-io/conan-center-index" - description = "C++ client for InfluxDB." - topics = ("single-header-lib", "influxdb") - settings = "os" + homepage = "https://github.com/orca-zhang/influxdb-cpp" + topics = ("single-header-lib", "influxdb", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _source_subfolder = "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + @property + def _min_cppstd(self): + return 11 + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob("influxdb-cpp-*")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy('LICENSE', dst='licenses', src=self._source_subfolder) - self.copy('influxdb.hpp', dst='include', src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "influxdb.hpp", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] - - def package_id(self): - self.info.header_only() diff --git a/recipes/influxdb-cpp/all/test_package/CMakeLists.txt b/recipes/influxdb-cpp/all/test_package/CMakeLists.txt index 6aab347eddf53..8aaa0b611508b 100644 --- a/recipes/influxdb-cpp/all/test_package/CMakeLists.txt +++ b/recipes/influxdb-cpp/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(influxdb-cpp REQUIRED CONFIG) -add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) -set_property(TARGET example PROPERTY CXX_STANDARD 11) +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE influxdb-cpp::influxdb-cpp) +set_property(TARGET test_package PROPERTY CXX_STANDARD 11) diff --git a/recipes/influxdb-cpp/all/test_package/conanfile.py b/recipes/influxdb-cpp/all/test_package/conanfile.py index 17295afcb8561..fae501d0afb9e 100644 --- a/recipes/influxdb-cpp/all/test_package/conanfile.py +++ b/recipes/influxdb-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" + test_type = "explicit" -class InfluxDBCppTestConan(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.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/influxdb-cpp/all/test_package/example.cpp b/recipes/influxdb-cpp/all/test_package/test_package.cpp similarity index 100% rename from recipes/influxdb-cpp/all/test_package/example.cpp rename to recipes/influxdb-cpp/all/test_package/test_package.cpp diff --git a/recipes/influxdb-cpp/all/test_v1_package/CMakeLists.txt b/recipes/influxdb-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/influxdb-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/influxdb-cpp/all/test_v1_package/conanfile.py b/recipes/influxdb-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49bc2bd787325 --- /dev/null +++ b/recipes/influxdb-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class InfluxDBCppTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From bfc1cabfe842b181949645f384e998b53770b4f6 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 11 Jul 2023 09:21:49 +0900 Subject: [PATCH 0892/4087] (#18482) glaze: add version 1.3.1, remove older versions --- recipes/glaze/all/conandata.yml | 9 +++------ recipes/glaze/config.yml | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index edfc6a56fcdd2..50a7f8d7925e5 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://github.com/stephenberry/glaze/archive/v1.3.1.tar.gz" + sha256: "898f86a1dd72ca4e227aad2a76dea8d1e72bf28bad1e6467a6ab1b97848664f0" "1.3.0": url: "https://github.com/stephenberry/glaze/archive/v1.3.0.tar.gz" sha256: "2787efdba0f33adbf73a3b574efedefcda6e8ae2da0a0c8e01be3194898ecd99" @@ -23,12 +26,6 @@ sources: "0.3.6": url: "https://github.com/stephenberry/glaze/archive/v0.3.6.tar.gz" sha256: "bc87d4fd458f0634a146d6f4c902a952b66c3f718c3e20f680b99066224b51a1" - "0.3.5": - url: "https://github.com/stephenberry/glaze/archive/v0.3.5.tar.gz" - sha256: "4a3e81a4862b57a21b03ed6d5b823397291e50e7b7d24944cc4932c5ae256cf7" - "0.3.2": - url: "https://github.com/stephenberry/glaze/archive/v0.3.2.tar.gz" - sha256: "41f19b1b4872a637ecb63bccb07578255f54c8842faf1bab78779e6342b2fa7e" "0.2.2": url: "https://github.com/stephenberry/glaze/archive/v0.2.2.tar.gz" sha256: "d0d2edcc546b0ebb4bedaeedfb4a54aa678a6fdffa6b20dd6b252ef6325a9e75" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 987c0bf01e911..b41809af14f31 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.3.0": folder: all "1.2.6": @@ -15,9 +17,5 @@ versions: folder: all "0.3.6": folder: all - "0.3.5": - folder: all - "0.3.2": - folder: all "0.2.2": folder: all From 3b353d7c3e25acf625229f465addffafe909c046 Mon Sep 17 00:00:00 2001 From: Jason Sobotka Date: Mon, 10 Jul 2023 21:25:02 -0500 Subject: [PATCH 0893/4087] (#18028) [proj] add version 9.2.1 --- recipes/proj/all/conandata.yml | 7 +++++++ .../all/patches/0001-use-cmake-targets-9.2.1.patch | 12 ++++++++++++ recipes/proj/config.yml | 2 ++ 3 files changed, 21 insertions(+) create mode 100644 recipes/proj/all/patches/0001-use-cmake-targets-9.2.1.patch diff --git a/recipes/proj/all/conandata.yml b/recipes/proj/all/conandata.yml index 6a5d57f6c5cd3..8f4cf560d8dc4 100644 --- a/recipes/proj/all/conandata.yml +++ b/recipes/proj/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.2.1": + url: "https://github.com/OSGeo/PROJ/releases/download/9.2.1/proj-9.2.1.tar.gz" + sha256: "15ebf4afa8744b9e6fccb5d571fc9f338dc3adcf99907d9e62d1af815d4971a1" "9.1.1": url: "https://github.com/OSGeo/PROJ/releases/download/9.1.1/proj-9.1.1.tar.gz" sha256: "003cd4010e52bb5eb8f7de1c143753aa830c8902b6ed01209f294846e40e6d39" @@ -21,6 +24,10 @@ sources: url: "https://github.com/OSGeo/PROJ/releases/download/6.3.1/proj-6.3.1.tar.gz" sha256: "6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8" patches: + "9.2.1": + - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" + patch_type: "conan" + patch_description: "Use cmake targets" "9.1.1": - patch_file: "patches/0001-use-cmake-targets-9.1.0.patch" patch_type: "conan" diff --git a/recipes/proj/all/patches/0001-use-cmake-targets-9.2.1.patch b/recipes/proj/all/patches/0001-use-cmake-targets-9.2.1.patch new file mode 100644 index 0000000000000..0459aba7efc51 --- /dev/null +++ b/recipes/proj/all/patches/0001-use-cmake-targets-9.2.1.patch @@ -0,0 +1,12 @@ +--- a/src/lib_proj.cmake ++++ b/src/lib_proj.cmake +@@ -438,8 +438,7 @@ + target_link_libraries(proj PRIVATE ${CMAKE_THREAD_LIBS_INIT}) + endif() + +-target_include_directories(proj PRIVATE ${SQLITE3_INCLUDE_DIR}) +-target_link_libraries(proj PRIVATE ${SQLITE3_LIBRARY}) ++target_link_libraries(proj PRIVATE SQLite::SQLite3) + + if(NLOHMANN_JSON STREQUAL "external") + target_compile_definitions(proj PRIVATE EXTERNAL_NLOHMANN_JSON) diff --git a/recipes/proj/config.yml b/recipes/proj/config.yml index b8b070a608bed..1eba8e77164d5 100644 --- a/recipes/proj/config.yml +++ b/recipes/proj/config.yml @@ -1,4 +1,6 @@ versions: + "9.2.1": + folder: "all" "9.1.1": folder: "all" "9.1.0": From 30d2adadd7b128ba15eba02bf1dceea70bdf56cd Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 11 Jul 2023 09:02:23 +0200 Subject: [PATCH 0894/4087] (#18484) b2: add version 4.10.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/b2/config.yml | 2 ++ recipes/b2/portable/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/b2/config.yml b/recipes/b2/config.yml index e04f8d0be32ae..d807a6752466f 100644 --- a/recipes/b2/config.yml +++ b/recipes/b2/config.yml @@ -49,3 +49,5 @@ versions: folder: portable "4.10.0": folder: portable + "4.10.1": + folder: portable diff --git a/recipes/b2/portable/conandata.yml b/recipes/b2/portable/conandata.yml index 3c65d8cd4d51b..cc640fa9b092f 100644 --- a/recipes/b2/portable/conandata.yml +++ b/recipes/b2/portable/conandata.yml @@ -62,3 +62,6 @@ sources: "4.10.0": url: "https://github.com/bfgroup/b2/releases/download/4.10.0/b2-4.10.0.tar.bz2" sha256: "aee0185473141d4acb56e39c78758b1016e66393ea5ca86ef29403bd9258f2e2" + "4.10.1": + url: "https://github.com/bfgroup/b2/releases/download/4.10.1/b2-4.10.1.tar.bz2" + sha256: "d0818276955c3351eac26e4aa1e61046cfded88773232d76f2833c93bb917633" From 3ba327e63fae1c72d2910b189814e0eb88c1e40b Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Tue, 11 Jul 2023 09:22:33 +0200 Subject: [PATCH 0895/4087] (#18447) [GMP] change the data source * [GMP] change the data source * Update conandata.yml * chore: fixup linter --------- Co-authored-by: Chris Mc --- recipes/gmp/all/conandata.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/gmp/all/conandata.yml b/recipes/gmp/all/conandata.yml index 9266fcde97cc7..3c3f2645e9c31 100644 --- a/recipes/gmp/all/conandata.yml +++ b/recipes/gmp/all/conandata.yml @@ -1,6 +1,8 @@ sources: "6.2.1": - url: "https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2" + url: + - "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2" + - "https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2" sha256: "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c" "6.2.0": url: "https://gmplib.org/download/gmp/gmp-6.2.0.tar.bz2" From 80d504695c5160c49dbc64779bcb658be64a8669 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 11 Jul 2023 10:02:13 +0200 Subject: [PATCH 0896/4087] (#18485) libspatialite/all: bump deps --- recipes/libspatialite/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libspatialite/all/conanfile.py b/recipes/libspatialite/all/conanfile.py index e6186b890b333..4260480b1b097 100644 --- a/recipes/libspatialite/all/conanfile.py +++ b/recipes/libspatialite/all/conanfile.py @@ -85,7 +85,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.42.0") self.requires("zlib/1.2.13") if self.options.with_proj: self.requires("proj/9.1.1") From f847b03fd91cc58c333cff3bdb3f9ce090b5e694 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 11 Jul 2023 09:22:33 +0100 Subject: [PATCH 0897/4087] (#18401) wt: bump dependencies and remove old versions * wt: bump dependencies and remove old versions * remove CMP0077 workaround it's fixed in conan >= 1.54.0 * add package_type * wt: add transitive_headers = True for boost dependency * wt: fix openssl/zlib linking issues --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Pero Skoko --- recipes/wt/all/conandata.yml | 37 ------------------- recipes/wt/all/conanfile.py | 30 ++++++++------- .../patches/4.3.1-0001-use-cci-package.patch | 32 ---------------- .../wt/all/patches/4.3.1-0002-gcc_11.patch | 10 ----- recipes/wt/config.yml | 8 ---- 5 files changed, 17 insertions(+), 100 deletions(-) delete mode 100644 recipes/wt/all/patches/4.3.1-0001-use-cci-package.patch delete mode 100644 recipes/wt/all/patches/4.3.1-0002-gcc_11.patch diff --git a/recipes/wt/all/conandata.yml b/recipes/wt/all/conandata.yml index 8b83e78419f05..c26a610e865f7 100644 --- a/recipes/wt/all/conandata.yml +++ b/recipes/wt/all/conandata.yml @@ -14,18 +14,6 @@ sources: "4.6.0": url: "https://github.com/emweb/wt/archive/4.6.0.tar.gz" sha256: "7f709e132d32c4925e6db0a590c7ccc5613344e8b9052676ef891a25ccb550e6" - "4.5.1": - url: "https://github.com/emweb/wt/archive/4.5.1.tar.gz" - sha256: "c2820646095af5618fc235705c0108797e3898225fb1826f2c6185c405c21a17" - "4.5.0": - url: "https://github.com/emweb/wt/archive/4.5.0.tar.gz" - sha256: "119b1eae83285a153b9c901d3f4f25775c7a460d30b1e48242d7d2d649d61deb" - "4.4.0": - url: "https://github.com/emweb/wt/archive/4.4.0.tar.gz" - sha256: "2eabefea915ecc4deb36f9f67ab30dd3b1f6c73893d76c9d9fa39ac25f4f3690" - "4.3.1": - url: "https://github.com/emweb/wt/archive/4.3.1.tar.gz" - sha256: "6c0130f36c829ed67119679770c2f62d7768a62eaa281bb10070c4cf1b145139" patches: "4.9.1": - patch_file: "patches/4.8.0-0001-use-cci-package.patch" @@ -47,28 +35,3 @@ patches: - patch_file: "patches/4.6.2-0001-use-cci-package.patch" patch_description: "use cci package" patch_type: "conan" - "4.5.1": - - patch_file: "patches/4.3.1-0001-use-cci-package.patch" - patch_description: "use cci package" - patch_type: "conan" - "4.5.0": - - patch_file: "patches/4.3.1-0001-use-cci-package.patch" - patch_description: "use cci package" - patch_type: "conan" - - patch_file: "patches/4.3.1-0002-gcc_11.patch" - patch_description: "include limits header" - patch_type: "portability" - "4.4.0": - - patch_file: "patches/4.3.1-0001-use-cci-package.patch" - patch_description: "use cci package" - patch_type: "conan" - - patch_file: "patches/4.3.1-0002-gcc_11.patch" - patch_description: "include limits header" - patch_type: "portability" - "4.3.1": - - patch_file: "patches/4.3.1-0001-use-cci-package.patch" - patch_description: "use cci package" - patch_type: "conan" - - patch_file: "patches/4.3.1-0002-gcc_11.patch" - patch_description: "include limits header" - patch_type: "portability" diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 6378a056d8e5c..86da6cd03dedb 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -7,7 +7,8 @@ import os import shutil -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" + class WtConan(ConanFile): name = "wt" @@ -16,6 +17,7 @@ class WtConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/emweb/wt" topics = ("server", "web", "webapp", "websocket", "cgi", "fastcgi", "orm") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -91,26 +93,24 @@ def _required_boost_components(self): return ["program_options", "filesystem", "thread"] def requirements(self): - if Version(self.version) < "4.6.0": - self.requires("boost/1.76.0") - elif Version(self.version) < "4.9.0": - self.requires("boost/1.80.0") + if Version(self.version) < "4.9.0": + self.requires("boost/1.80.0", transitive_headers = True) else: - self.requires("boost/1.81.0") + self.requires("boost/1.82.0", transitive_headers = True) if self.options.connector_http: self.requires("zlib/1.2.13") if self.options.with_ssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.42.0") if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.0.31", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): - self.requires("libpq/14.7", transitive_headers=True, transitive_libs=True) + self.requires("libpq/15.3", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_mssql") and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("with_unwind"): - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.0") def validate(self): miss_boost_required_comp = any(self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) @@ -224,8 +224,6 @@ def generate(self): else: tc.variables["CONNECTOR_FCGI"] = self.options.connector_fcgi tc.variables["CONNECTOR_ISAPI"] = False - - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() deps = CMakeDeps(self) @@ -234,12 +232,18 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, cmakelists, "find_package(OpenSSL)", "#find_package(OpenSSL)") replace_in_file(self, cmakelists, "INCLUDE(cmake/WtFindMysql.txt)", "#INCLUDE(cmake/WtFindMysql.txt)") replace_in_file(self, cmakelists, "INCLUDE(cmake/WtFindPostgresql.txt)", "#INCLUDE(cmake/WtFindPostgresql.txt)") if self.settings.os != "Windows": replace_in_file(self, cmakelists, "INCLUDE(cmake/WtFindOdbc.txt)", "#INCLUDE(cmake/WtFindOdbc.txt)") + if self.options.with_ssl: + # Ensure the conan-generated config is used for OpenSSL when required as a dependency + replace_in_file(self, cmakelists, "find_package(OpenSSL)", "find_package(OpenSSL CONFIG REQUIRED)") + else: + # Avoid searching for OpenSSL if it is not required + replace_in_file(self, cmakelists, "find_package(OpenSSL)", "") + # Do not pollute rpath of shared libs of the install tree on macOS please replace_in_file(self, cmakelists, diff --git a/recipes/wt/all/patches/4.3.1-0001-use-cci-package.patch b/recipes/wt/all/patches/4.3.1-0001-use-cci-package.patch deleted file mode 100644 index af7c47db572a3..0000000000000 --- a/recipes/wt/all/patches/4.3.1-0001-use-cci-package.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/src/Wt/Dbo/backend/CMakeLists.txt b/src/Wt/Dbo/backend/CMakeLists.txt -index 827abf3..5324034 100644 ---- a/src/Wt/Dbo/backend/CMakeLists.txt -+++ b/src/Wt/Dbo/backend/CMakeLists.txt -@@ -127,11 +127,12 @@ IF(ENABLE_POSTGRES AND POSTGRES_FOUND) - SET_PROPERTY(TARGET wtdbopostgres PROPERTY CXX_VISIBILITY_PRESET hidden) - SET_PROPERTY(TARGET wtdbopostgres PROPERTY VISIBILITY_INLINES_HIDDEN YES) - -+ find_package(PostgreSQL REQUIRED CONFIG) - TARGET_LINK_LIBRARIES(wtdbopostgres - PUBLIC - wtdbo - PRIVATE -- ${POSTGRES_LIBRARIES} -+ PostgreSQL::PostgreSQL - ) - - IF(TARGET Boost::headers) -@@ -291,11 +292,12 @@ IF(ENABLE_MYSQL AND MYSQL_FOUND) - SET_PROPERTY(TARGET wtdbomysql PROPERTY CXX_VISIBILITY_PRESET hidden) - SET_PROPERTY(TARGET wtdbomysql PROPERTY VISIBILITY_INLINES_HIDDEN YES) - -+ find_package(libmysqlclient REQUIRED CONFIG) - TARGET_LINK_LIBRARIES(wtdbomysql - PUBLIC - wtdbo - PRIVATE -- ${MYSQL_LIBRARIES} -+ libmysqlclient::libmysqlclient - ) - - INCLUDE_DIRECTORIES(${MYSQL_INCLUDE}) diff --git a/recipes/wt/all/patches/4.3.1-0002-gcc_11.patch b/recipes/wt/all/patches/4.3.1-0002-gcc_11.patch deleted file mode 100644 index 03d2aaff9236b..0000000000000 --- a/recipes/wt/all/patches/4.3.1-0002-gcc_11.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/Wt/Render/WTextRenderer.C -+++ b/src/Wt/Render/WTextRenderer.C -@@ -14,6 +14,7 @@ - #include "Block.h" - - #include -+#include - #include - - namespace { diff --git a/recipes/wt/config.yml b/recipes/wt/config.yml index f24f55b014506..d129fd323175f 100644 --- a/recipes/wt/config.yml +++ b/recipes/wt/config.yml @@ -9,11 +9,3 @@ versions: folder: all "4.6.0": folder: all - "4.5.1": - folder: all - "4.5.0": - folder: all - "4.4.0": - folder: all - "4.3.1": - folder: all From da590567c380e49f388e901b985552dd4c7f7e54 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 11 Jul 2023 11:02:15 +0200 Subject: [PATCH 0898/4087] (#18441) jxrlib/all: add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * jxrlib/all: add package_type * fix some lint issues * Bump min conan required version --------- Co-authored-by: Rubén Rincón Blanco --- recipes/jxrlib/all/conanfile.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/recipes/jxrlib/all/conanfile.py b/recipes/jxrlib/all/conanfile.py index d4c71b54de455..14c91a4a33519 100644 --- a/recipes/jxrlib/all/conanfile.py +++ b/recipes/jxrlib/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class JxrlibConan(ConanFile): @@ -15,6 +15,7 @@ class JxrlibConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "BSD-2-Clause" topics = ("jxr", "jpeg", "xr") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -36,18 +37,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") From d904be88b59ac28d909a07e648233cffc73f4b2e Mon Sep 17 00:00:00 2001 From: James Date: Tue, 11 Jul 2023 11:21:51 +0200 Subject: [PATCH 0899/4087] (#18478) Fix/luple license --- recipes/luple/all/conandata.yml | 2 -- recipes/luple/all/conanfile.py | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/recipes/luple/all/conandata.yml b/recipes/luple/all/conandata.yml index c2dbecf43978d..37619e3ffc243 100644 --- a/recipes/luple/all/conandata.yml +++ b/recipes/luple/all/conandata.yml @@ -2,5 +2,3 @@ sources: "1.2": - url: "https://github.com/alexpolt/luple/archive/1.2.tar.gz" sha256: "810e622b656fa4f1cae5b299db94f550262eb49c81d373cfe770edcea3e8a68b" - - url: "https://unlicense.org/UNLICENSE" - sha256: "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c" diff --git a/recipes/luple/all/conanfile.py b/recipes/luple/all/conanfile.py index 9334773f3ff8a..2170039c6be4b 100644 --- a/recipes/luple/all/conanfile.py +++ b/recipes/luple/all/conanfile.py @@ -10,13 +10,14 @@ class LupleConan(ConanFile): name = "luple" - license = "Unlicense" + license = "Public-domain" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/alexpolt/luple" description = "Home to luple, nuple, C++ String Interning, Struct Reader and C++ Type Loophole" topics = ("loophole", "luple", "nuple", "struct", "intern") settings = "os", "arch", "compiler", "build_type" no_copy_source = True + package_type = "header-library" @property def _min_cppstd(self): @@ -57,13 +58,13 @@ def loose_lt_semver(v1, v2): def source(self): get(self, **self.conan_data["sources"][self.version][0], destination=self.source_folder, strip_root=True) - download(self, filename="LICENSE", **self.conan_data["sources"][self.version][1]) def build(self): pass def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + # This package doesn't have a license file, it is public domain declared in the Readme + copy(self, "README.md", 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")) def package_info(self): From ee036ea286150de7f86b8b3589725a78e0b3f12d Mon Sep 17 00:00:00 2001 From: fcorso2016 <35567462+fcorso2016@users.noreply.github.com> Date: Tue, 11 Jul 2023 05:43:04 -0400 Subject: [PATCH 0900/4087] (#18423) Onnx Static Initialization Bug --- recipes/onnx/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index f12c6c1c0716c..ddc3a6ff03194 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -51,7 +51,7 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.version < "1.9.0": + if Version(self.version) < "1.9.0": del self.options.disable_static_registration def configure(self): @@ -99,7 +99,7 @@ def generate(self): tc.variables["ONNX_VERIFY_PROTO3"] = Version(self.dependencies.host["protobuf"].ref.version).major == "3" if is_msvc(self): tc.variables["ONNX_USE_MSVC_STATIC_RUNTIME"] = is_msvc_static_runtime(self) - if self.version >= "1.9.0": + if Version(self.version) >= "1.9.0": tc.variables["ONNX_DISABLE_STATIC_REGISTRATION"] = self.options.get_safe('disable_static_registration') tc.generate() deps = CMakeDeps(self) From aa214a91ef5c4876c0352f647757eebeb74aec08 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 11 Jul 2023 15:02:40 +0200 Subject: [PATCH 0901/4087] (#18488) librasterlite/all: bump deps --- recipes/librasterlite/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/librasterlite/all/conanfile.py b/recipes/librasterlite/all/conanfile.py index 788447253ed3c..f454426605362 100644 --- a/recipes/librasterlite/all/conanfile.py +++ b/recipes/librasterlite/all/conanfile.py @@ -55,10 +55,10 @@ def layout(self): def requirements(self): self.requires("libgeotiff/1.7.1") self.requires("libjpeg/9e") - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") self.requires("libspatialite/5.0.1") - self.requires("libtiff/4.4.0") - self.requires("sqlite3/3.41.1") + self.requires("libtiff/4.5.1") + self.requires("sqlite3/3.42.0") def build_requirements(self): if not is_msvc(self): From d7b18b97ecdae7e7afb23aff2ecf371eab3775c4 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 11 Jul 2023 17:02:10 +0200 Subject: [PATCH 0902/4087] (#18486) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 05fdb05670c2b..6be1ef409a4e4 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -233,6 +233,7 @@ required_for_references: - editline - edlib - effcee +- effolkronium-random - egl - eigen - elfio @@ -258,6 +259,7 @@ required_for_references: - fast-dds - fast_float - fastgltf +- fernandovelcic-hexdump - fff - ffmpeg - fft @@ -349,9 +351,12 @@ required_for_references: - imgui - incbin - indicators +- indirect_value +- influxdb-cpp - inih - inja - intel-neon2sse +- inversify-cpp - itlib - jasper - jbig @@ -514,6 +519,7 @@ required_for_references: - make - mariadb-connector-c - matchit +- mathter - mattiasgustavsson-libs - maven - mawk @@ -577,6 +583,7 @@ required_for_references: - odbc - ogdf - ogg +- ois - onetbb - onnx - onnxruntime @@ -683,6 +690,7 @@ required_for_references: - sdbus-cpp - sdl - sdl_image +- sdl_ttf - seadex-essentials - semimap - sentry-breakpad @@ -696,6 +704,7 @@ required_for_references: - simde - simdjson - simdutf +- simple-websocket-server - skyr-url - sml - snappy @@ -704,6 +713,7 @@ required_for_references: - sonic-cpp - sophus - soplex +- source_location - soxr - span-lite - spdlog @@ -742,6 +752,7 @@ required_for_references: - timsort - tinycthread - tinycthreadpool +- tinydir - tinyexif - tinygltf - tinymidi @@ -749,6 +760,7 @@ required_for_references: - tinyxml2 - tl-expected - tl-function-ref +- tllist - tlx - toml11 - trantor @@ -788,6 +800,7 @@ required_for_references: - wasmtime - wasmtime-cpp - watcher +- wavelet_buffer - wayland - wayland-protocols - websocketpp From 6112d0c199368ffa3760eda833c308335001fa61 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 12 Jul 2023 00:22:29 +0900 Subject: [PATCH 0903/4087] (#18472) quill: add version 3.2.0, fix url of 3.1.0 --- recipes/quill/all/conandata.yml | 7 +++++-- recipes/quill/all/conanfile.py | 5 ++--- recipes/quill/config.yml | 2 ++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 8c3c5c1b5fb75..d0c356569441c 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "3.2.0": + url: "https://github.com/odygrd/quill/archive/v3.2.0.tar.gz" + sha256: "9745ad83b285bbd0481bd14c1b866b7e6121a981dd211b914f5d55955040fd00" "3.1.0": - url: "https://github.com/odygrd/quill/archive/v3.0.2.tar.gz" - sha256: "76e9f607168f71cf1028ae7374fbe91225e400c11b5a51a6ebc992c85d012eed" + url: "https://github.com/odygrd/quill/archive/v3.1.0.tar.gz" + sha256: "9e7aa64c4f8101ed2b59d1cf3156b1c6bdd712ca89a2ec7aa7166905edc3e621" "3.0.2": url: "https://github.com/odygrd/quill/archive/v3.0.2.tar.gz" sha256: "76e9f607168f71cf1028ae7374fbe91225e400c11b5a51a6ebc992c85d012eed" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index 51cfa188d7465..8de97161e3619 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -113,13 +113,11 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["QUILL_FMT_EXTERNAL"] = True tc.variables["QUILL_ENABLE_INSTALL"] = True - if Version(self.version) < "2.8.0": tc.variables["QUILL_USE_BOUNDED_QUEUE"] = self.options.with_bounded_queue else: if self.options.with_bounded_queue: tc.preprocessor_definitions["QUILL_USE_BOUNDED_QUEUE"] = 1 - tc.variables["QUILL_NO_EXCEPTIONS"] = self.options.with_no_exceptions tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True if self.is_quilll_x86_arch(): @@ -130,7 +128,8 @@ def generate(self): tc.variables["CMAKE_CXX_FLAGS"] = "-mclflushopt" if Version(self.version) >= "2.8.0" and self.options.get_safe("with_bounded_blocking_queue"): tc.preprocessor_definitions["QUILL_USE_BOUNDED_BLOCKING_QUEUE"] = 1 - + if Version(self.version) >= "3.2.0": + tc.variables["QUILL_DISABLE_POSITION_INDEPENDENT_CODE"] = not self.options.get_safe("fPIC") tc.generate() deps = CMakeDeps(self) diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 0fa9c242e54ab..d8522cb2854c6 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.0": + folder: "all" "3.1.0": folder: "all" "3.0.2": From e6aef347a5d44e75093856736b15f50c705db753 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 11 Jul 2023 18:01:52 +0200 Subject: [PATCH 0904/4087] (#18466) [bot] Update authorized users list (2023-07-10) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 288b519d5dbe9..1dfd35157fee6 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1193,3 +1193,4 @@ authorized_users: - Nachicle - TrimbleAg - ylatuya +- jabbas From 26bf29b4f5d4ddde975f4cc1b7b58ce1a3a2c2ee Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 11 Jul 2023 18:23:00 +0200 Subject: [PATCH 0905/4087] (#18433) [sentry-native/0.6.4] Add version --- recipes/sentry-native/all/conandata.yml | 12 ++----- recipes/sentry-native/all/conanfile.py | 6 +--- .../all/patches/sentry-native-903c17a.patch | 34 ------------------- recipes/sentry-native/config.yml | 4 +-- 4 files changed, 6 insertions(+), 50 deletions(-) delete mode 100644 recipes/sentry-native/all/patches/sentry-native-903c17a.patch diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 1776b45d09480..17d89711effcc 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,22 +1,16 @@ sources: + "0.6.4": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" + sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.6.3": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.6.2": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" - "0.6.1": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.1/sentry-native.zip" - sha256: "47527a3513db141affb8af28a0b8d886f78348a65acd2110d7eed936e3d82954" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" "0.4.18": url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" -patches: - "0.6.0": - - patch_file: "patches/sentry-native-903c17a.patch" - patch_description: "Make it possible to build with support for the crashpad WER module while using the sentry-crashpad package" - patch_type: "official" - patch_source: "https://github.com/getsentry/sentry-native/pull/816" diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index ed2d0e353f83d..faa6d8ed510e7 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy, get, rm, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.files import copy, get, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -64,9 +64,6 @@ def _minimum_compilers_version(self): "apple-clang": "5.1", } - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -165,7 +162,6 @@ def generate(self): PkgConfigDeps(self).generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/sentry-native/all/patches/sentry-native-903c17a.patch b/recipes/sentry-native/all/patches/sentry-native-903c17a.patch deleted file mode 100644 index ea2ffd463a7ad..0000000000000 --- a/recipes/sentry-native/all/patches/sentry-native-903c17a.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 903c17ae20888679caab1871cc74de577509452e Mon Sep 17 00:00:00 2001 -From: Cyriuz -Date: Mon, 13 Mar 2023 14:55:26 +0100 -Subject: [PATCH] Allow setting CRASHPAD_WER_ENABLED when using system crashpad - (#816) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 831e8e1..aeea09f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -426,8 +426,9 @@ if(SENTRY_BACKEND_CRASHPAD) - set(CRASHPAD_ENABLE_INSTALL ON CACHE BOOL "Enable crashpad installation" FORCE) - endif() - add_subdirectory(external/crashpad crashpad_build) -+ - if(CRASHPAD_WER_ENABLED) -- add_compile_definitions(CRASHPAD_WER_ENABLED) -+ add_dependencies(sentry crashpad::wer) - endif() - - # set static runtime if enabled -@@ -482,8 +483,9 @@ if(SENTRY_BACKEND_CRASHPAD) - endif() - endif() - add_dependencies(sentry crashpad::handler) -+ - if(CRASHPAD_WER_ENABLED) -- add_dependencies(sentry crashpad::wer) -+ add_compile_definitions(CRASHPAD_WER_ENABLED) - endif() - elseif(SENTRY_BACKEND_BREAKPAD) - option(SENTRY_BREAKPAD_SYSTEM "Use system breakpad" OFF) --- -2.39.1.windows.1 diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 205b96ca25c22..fb99bc2eb64b8 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.4": + folder: all "0.6.3": folder: all "0.6.2": folder: all - "0.6.1": - folder: all "0.5.4": folder: all "0.4.18": From 5fcc6ad289465bdd8b0931f020a489eeb9bf2883 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 11 Jul 2023 19:03:20 +0200 Subject: [PATCH 0906/4087] (#18228) enhex-generic_serialization: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhex-generic_serialization: migrate to Conan v2 * enhex-generic_serialization: restore test_v1_package * Update recipes/enhex-generic_serialization/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- .../all/conanfile.py | 78 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 22 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 +++++ 5 files changed, 95 insertions(+), 38 deletions(-) create mode 100644 recipes/enhex-generic_serialization/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/enhex-generic_serialization/all/test_v1_package/conanfile.py diff --git a/recipes/enhex-generic_serialization/all/conanfile.py b/recipes/enhex-generic_serialization/all/conanfile.py index 9dbb338a5b3f4..f9f7cc76df650 100644 --- a/recipes/enhex-generic_serialization/all/conanfile.py +++ b/recipes/enhex-generic_serialization/all/conanfile.py @@ -1,50 +1,76 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 EnhexGenericserializationConan(ConanFile): name = "enhex-generic_serialization" - license = "MIT" description = "Lightweight and extensible generic serialization library" - topics = ("serialization") - homepage = "https://github.com/Enhex/generic_serialization" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Enhex/generic_serialization" + topics = ("serialization", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = ("compiler") @property - def _source_subfolder(self): - return "source_subfolder" - - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + def _min_cppstd(self): + return 17 - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "Visual Studio": "15", + "msvc": "191", "gcc": "7", "clang": "5.0", - "apple-clang": "9.1" + "apple-clang": "9.1", } + + 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) + compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) - if compiler not in minimal_version: - self.output.info("{} requires a compiler that supports at least C++17".format(self.name)) + if compiler not in self._compilers_minimum_version: + self.output.info(f"{self.name} requires a compiler that supports at least C++17") return # Exclude compilers not supported - if compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration("{} requires a compiler that supports at least C++17. {} {} is not".format( - self.name, compiler, tools.Version(self.settings.compiler.version.value))) + if compiler_version < self._compilers_minimum_version[compiler]: + raise ConanInvalidConfiguration( + f"{self.name} requires a compiler that supports at least C++17. " + f"{compiler} {Version(self.settings.compiler.version.value)} is not" + ) 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 package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/enhex-generic_serialization/all/test_package/CMakeLists.txt b/recipes/enhex-generic_serialization/all/test_package/CMakeLists.txt index 60c63e2f06ba6..cca2369654837 100644 --- a/recipes/enhex-generic_serialization/all/test_package/CMakeLists.txt +++ b/recipes/enhex-generic_serialization/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(enhex-generic_serialization CONFIG REQUIRED) +find_package(enhex-generic_serialization REQUIRED CONFIG) add_executable(example example.cpp) target_link_libraries(example enhex-generic_serialization::enhex-generic_serialization) diff --git a/recipes/enhex-generic_serialization/all/test_package/conanfile.py b/recipes/enhex-generic_serialization/all/test_package/conanfile.py index 6ab1666628a5d..e0f447388fa1b 100644 --- a/recipes/enhex-generic_serialization/all/test_package/conanfile.py +++ b/recipes/enhex-generic_serialization/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" + test_type = "explicit" -class EnhexGenericserializationTestConan(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/enhex-generic_serialization/all/test_v1_package/CMakeLists.txt b/recipes/enhex-generic_serialization/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/enhex-generic_serialization/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/enhex-generic_serialization/all/test_v1_package/conanfile.py b/recipes/enhex-generic_serialization/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6ab1666628a5d --- /dev/null +++ b/recipes/enhex-generic_serialization/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class EnhexGenericserializationTestConan(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 925ae5823fa500c44ccac8faf420b30ac30be926 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 11 Jul 2023 19:23:00 +0200 Subject: [PATCH 0907/4087] (#18210) graphthewy: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * graphthewy: migrate to Conan v2 * graphthewy: restore test_v1_package * graphthewy: add cmake_find_package_multi generator to test_v1_package * Update recipes/graphthewy/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/graphthewy/all/conanfile.py | 66 +++++++++++-------- .../all/test_package/CMakeLists.txt | 8 +-- .../graphthewy/all/test_package/conanfile.py | 22 +++++-- .../all/test_package/test_package.cpp | 4 +- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 18 +++++ 6 files changed, 83 insertions(+), 43 deletions(-) create mode 100644 recipes/graphthewy/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/graphthewy/all/test_v1_package/conanfile.py diff --git a/recipes/graphthewy/all/conanfile.py b/recipes/graphthewy/all/conanfile.py index 87bfe2e73e236..a57627cf2f7dd 100644 --- a/recipes/graphthewy/all/conanfile.py +++ b/recipes/graphthewy/all/conanfile.py @@ -1,55 +1,63 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class GraphthewyConan(ConanFile): name = "graphthewy" + description = "Simple header-only C++ Library for graph modelling (directed or not) and graph cycle detection. " license = "EUPL-1.2" - homepage = "https://github.com/alex-87/graphthewy" url = "https://github.com/conan-io/conan-center-index" - description = "Simple header-only C++ Library for graph modelling (directed or not) and graph cycle detection. " + homepage = "https://github.com/alex-87/graphthewy" topics = ("graph", "algorithm", "modelling", "header-only") - settings = "compiler" + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + @property + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): return { "Visual Studio": "15.7", + "msvc": "191", "gcc": "7", "clang": "7", "apple-clang": "10" - } - - @property - def _source_subfolder(self): - return "source_subfolder" + } - def configure(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + def layout(self): + basic_layout(self, src_folder="src") - 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] + 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 not minimum_version: - self.output.warn("graphthewy requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): - raise ConanInvalidConfiguration("graphthewy requires C++17, which your compiler does not support.") + 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): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst=os.path.join("include", "graphthewy"), src=self._source_subfolder, keep_path=False) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.hpp", dst=os.path.join(self.package_folder, "include", "graphthewy"), src=self.source_folder, keep_path=False) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/graphthewy/all/test_package/CMakeLists.txt b/recipes/graphthewy/all/test_package/CMakeLists.txt index 4f4089cf5e4ec..3883365747974 100644 --- a/recipes/graphthewy/all/test_package/CMakeLists.txt +++ b/recipes/graphthewy/all/test_package/CMakeLists.txt @@ -1,10 +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(graphthewy REQUIRED CONFIG) add_executable(test_package test_package.cpp) -target_link_libraries(test_package ${CONAN_LIBS}) - +target_link_libraries(test_package PRIVATE graphthewy::graphthewy) set_property(TARGET test_package PROPERTY CXX_STANDARD 17) diff --git a/recipes/graphthewy/all/test_package/conanfile.py b/recipes/graphthewy/all/test_package/conanfile.py index 1d8d5788c2d75..fae501d0afb9e 100644 --- a/recipes/graphthewy/all/test_package/conanfile.py +++ b/recipes/graphthewy/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" + test_type = "explicit" -class GraphthewyTestConan(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_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/graphthewy/all/test_package/test_package.cpp b/recipes/graphthewy/all/test_package/test_package.cpp index 10db9f97c57c1..c60ac86359e1d 100644 --- a/recipes/graphthewy/all/test_package/test_package.cpp +++ b/recipes/graphthewy/all/test_package/test_package.cpp @@ -1,7 +1,7 @@ #include #include -int main(int argc, char** arvg) +int main() { graphthewy::UndirectedGraph(g); g.addVertex(1); @@ -11,7 +11,7 @@ int main(int argc, char** arvg) g.link(2, 3); g.link(3, 1); - graphthewy::GraphCyclegc(g); + graphthewy::GraphCycle gc(g); return (gc.hasCycle() == true ? 0 : -1); } diff --git a/recipes/graphthewy/all/test_v1_package/CMakeLists.txt b/recipes/graphthewy/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/graphthewy/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/graphthewy/all/test_v1_package/conanfile.py b/recipes/graphthewy/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3c2537c3ee226 --- /dev/null +++ b/recipes/graphthewy/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class GraphthewyTestConan(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 19efef4a3c175653c2ce7f0c1c48eed456d5b42e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 11 Jul 2023 19:43:15 +0200 Subject: [PATCH 0908/4087] (#18176) angelscript: add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * angelscript: add package_type * angelscript: restore test_v1_package * Adjust min conan version --------- Co-authored-by: Rubén Rincón Blanco --- recipes/angelscript/all/conanfile.py | 8 +++----- recipes/angelscript/all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/angelscript/all/conanfile.py b/recipes/angelscript/all/conanfile.py index 174e1d9732354..88cdd729c8bf1 100644 --- a/recipes/angelscript/all/conanfile.py +++ b/recipes/angelscript/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class AngelScriptConan(ConanFile): @@ -19,6 +19,7 @@ class AngelScriptConan(ConanFile): ) topics = ("angelcode", "embedded", "scripting", "language", "compiler", "interpreter") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [False, True], @@ -42,10 +43,7 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/angelscript/all/test_v1_package/CMakeLists.txt b/recipes/angelscript/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/angelscript/all/test_v1_package/CMakeLists.txt +++ b/recipes/angelscript/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From f162bede86850942b43c0e75f83643a7d2453537 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 12 Jul 2023 10:21:46 +0200 Subject: [PATCH 0909/4087] (#18504) harfbuzz: add version 8.0.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index 64fe979aaf7f1..807ef3305d985 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.0.1": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.0.1/harfbuzz-8.0.1.tar.xz" + sha256: "c1ce780acd385569f25b9a29603d1d5bc71e6940e55bfdd4f7266fad50e42620" "8.0.0": url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.0.0/harfbuzz-8.0.0.tar.xz" sha256: "1f98b5e3d06a344fe667d7e8210094ced458791499839bddde98c167ce6a7c79" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index 13bf6c59a16fa..b575f01311eb4 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "8.0.1": + folder: all "8.0.0": folder: all "7.3.0": From 2261fae568f422ff71cd16bb6ae2fa65988f8485 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 12 Jul 2023 13:01:36 +0200 Subject: [PATCH 0910/4087] (#18505) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 6be1ef409a4e4..3e9dbacd30f5c 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -315,6 +315,7 @@ required_for_references: - gperf - gperftools - graphene +- graphthewy - greatest - grpc - grpc-proto @@ -370,6 +371,7 @@ required_for_references: - jsoncpp - jsonnet - jwt-cpp +- jxrlib - kainjow-mustache - kangaru - keychain @@ -510,6 +512,7 @@ required_for_references: - lua - luau - lunasvg +- luple - lz4 - lzma_sdk - lzo @@ -610,6 +613,7 @@ required_for_references: - optional-lite - opus - opusfile +- orcania - osqp - out_ptr - p-ranav-glob @@ -734,6 +738,7 @@ required_for_references: - strong_type - svgwrite - symengine +- szip - tabulate - taocpp-json - taocpp-pegtl From ee2aaf8658b76990ef4b090739741d39694a71be Mon Sep 17 00:00:00 2001 From: Nayden Dochev Date: Wed, 12 Jul 2023 15:43:50 +0300 Subject: [PATCH 0911/4087] (#18143) Fix openimageio duplicate IMath includes --- recipes/opencolorio/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 46527234a5096..35b16f76f4166 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -51,12 +51,14 @@ def requirements(self): self.requires("openexr/2.5.7") else: self.requires("openexr/3.1.7") + self.requires("imath/3.1.6") + self.requires("yaml-cpp/0.7.0") if Version(self.version) < "2.0.0": self.requires("tinyxml/2.6.2") else: self.requires("pystring/1.1.4") - self.requires("imath/3.1.6") + if Version(self.version) >= "2.2.0": self.requires("minizip-ng/3.0.7") From 64535c9d0a757d97a4678607bb1c1797c90e9319 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Wed, 12 Jul 2023 10:03:03 -0700 Subject: [PATCH 0912/4087] (#18480) Docs: remove some duplicated migration entries I started this with https://github.com/conan-io/docs/pull/3188 and https://github.com/conan-io/conan-center-index/pull/17201 Just want to remove the duplication so there's less work --- docs/v2_migration.md | 73 ++++---------------------------------------- 1 file changed, 6 insertions(+), 67 deletions(-) diff --git a/docs/v2_migration.md b/docs/v2_migration.md index 629cef881ac0e..9139fefbde135 100644 --- a/docs/v2_migration.md +++ b/docs/v2_migration.md @@ -124,18 +124,11 @@ don't listen to `cpp_info`'s ``.names``, ``.filenames`` or ``.build_modules`` at There is a new way of setting the `cpp_info` information with these generators using the ``set_property(property_name, value)`` method. -All the information in the recipes, already set with the current model, should be -translated to the new model. These two models **will live together in recipes** to make -recipes compatible **with both new and current generators** for some time. +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. -We will cover some cases of porting all the information set with the current model to the -new one. To read more about the properties available for each generator and how the -properties model work, please check the [Conan documentation](https://docs.conan.io/1/migrating_to_2.0/properties.html). - -> **Note**: Please, remember that the **new** ``set_property`` and the **current** attributes -> model are *completely independent since Conan 1.43*. Setting ``set_property`` in recipes will -> not affect current CMake 1.X generators (``cmake``, ``cmake_multi``, ``cmake_find_package`` and -> ``cmake_find_package_multi``) at all. +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 @@ -147,62 +140,8 @@ As for `filenames`, refer to [this section](https://docs.conan.io/1/migrating_to ### Translating .build_modules to cmake_build_modules -The declared `.build_modules` come from the original package that declares useful CMake functions, variables -etc. We need to use the property `cmake_build_modules` to declare a list of cmake files instead of using `cpp_info.build_modules`: - -```python -class PyBind11Conan(ConanFile): - name = "pybind11" - ... - - def package_info(self): - ... - for generator in ["cmake_find_package", "cmake_find_package_multi"]: - self.cpp_info.components["main"].build_modules[generator].append(os.path.join("lib", "cmake", "pybind11", "pybind11Common.cmake")) - ... - -``` - -To translate this information to the new model we declare the `cmake_build_modules` property in the `root cpp_info` object: - -```python -class PyBind11Conan(ConanFile): - name = "pybind11" - ... - - def package_info(self): - ... - self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "pybind11", "pybind11Common.cmake")]) - ... - -``` +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 -The current [pkg_config](https://docs.conan.io/1/reference/generators/pkg_config.html) -generator suports the new ``set_property`` model for most of the properties. Then, the current -model can be translated to the new one without having to leave the old attributes in the -recipes. Let's see an example: - -```python -class AprConan(ConanFile): - name = "apr" - ... - def package_info(self): - self.cpp_info.names["pkg_config"] = "apr-1" - ... -``` - -In this case, you can remove the ``.names`` attribute and just leave: - -```python -class AprConan(ConanFile): - name = "apr" - ... - def package_info(self): - self.cpp_info.set_property("pkg_config_name", "apr-1") - ... -``` - -For more information about properties supported by ``PkgConfigDeps`` generator, please check the [Conan -documentation](https://docs.conan.io/1/reference/conanfile/tools/gnu/pkgconfigdeps.html#properties). +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) From cb5e702c2a9baac3cc264be58da7802b0ded42e5 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 12 Jul 2023 19:22:56 +0200 Subject: [PATCH 0913/4087] (#18479) gstreamer/all: bump deps --- recipes/gstreamer/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/gstreamer/all/conanfile.py b/recipes/gstreamer/all/conanfile.py index 2c45e3ce6053d..7bd590a8dadbf 100644 --- a/recipes/gstreamer/all/conanfile.py +++ b/recipes/gstreamer/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.76.2", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.76.3", transitive_headers=True, transitive_libs=True) def validate(self): if not self.dependencies.direct_host["glib"].options.shared and self.info.options.shared: @@ -55,10 +55,10 @@ def validate(self): raise ConanInvalidConfiguration("shared GStreamer cannot link to static GLib") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.1.1") # There used to be an issue with glib being shared by default but its dependencies being static # No longer the case, but see: https://github.com/conan-io/conan-center-index/pull/13400#issuecomment-1551565573 for context - self.tool_requires("glib/2.76.2") + self.tool_requires("glib/2.76.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/1.9.3") if self.options.with_introspection: From c5db9dd6a24984163fe717ee2374c1316c847544 Mon Sep 17 00:00:00 2001 From: George Shramov Date: Wed, 12 Jul 2023 22:02:00 +0400 Subject: [PATCH 0914/4087] (#18494) clickhouse-cpp: respect fPIC option Don't remove it in case of static library. --- recipes/clickhouse-cpp/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/clickhouse-cpp/all/conanfile.py b/recipes/clickhouse-cpp/all/conanfile.py index 9586c0240cbc1..442d24123399e 100644 --- a/recipes/clickhouse-cpp/all/conanfile.py +++ b/recipes/clickhouse-cpp/all/conanfile.py @@ -75,7 +75,8 @@ def config_options(self): del self.options.fPIC def configure(self): - self.options.rm_safe("fPIC") + if self.options.shared: + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") From cf6bdb7739c1b1bece4df0a841efb6a443993dcd Mon Sep 17 00:00:00 2001 From: Sahnvour Date: Wed, 12 Jul 2023 20:22:16 +0200 Subject: [PATCH 0915/4087] (#18413) update msdf-atlas-gen to conan 2.0 * port msdf-atlas-gen to conan 2.0 * add patch * remove cmakelist * fix conanfile * fix test_package * Update recipes/msdf-atlas-gen/all/conanfile.py --------- Co-authored-by: czoido --- recipes/msdf-atlas-gen/all/CMakeLists.txt | 10 --- recipes/msdf-atlas-gen/all/conandata.yml | 5 ++ recipes/msdf-atlas-gen/all/conanfile.py | 72 +++++++++---------- .../all/patches/0001-fix-cmake.patch | 42 +++++++++++ .../all/test_package/conanfile.py | 20 ++++-- 5 files changed, 95 insertions(+), 54 deletions(-) delete mode 100644 recipes/msdf-atlas-gen/all/CMakeLists.txt create mode 100644 recipes/msdf-atlas-gen/all/patches/0001-fix-cmake.patch diff --git a/recipes/msdf-atlas-gen/all/CMakeLists.txt b/recipes/msdf-atlas-gen/all/CMakeLists.txt deleted file mode 100644 index 39b22c5320bd6..0000000000000 --- a/recipes/msdf-atlas-gen/all/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -find_package(msdfgen REQUIRED) - -add_subdirectory(source_subfolder) - diff --git a/recipes/msdf-atlas-gen/all/conandata.yml b/recipes/msdf-atlas-gen/all/conandata.yml index 20e043a17e6cd..1c3664b5df564 100644 --- a/recipes/msdf-atlas-gen/all/conandata.yml +++ b/recipes/msdf-atlas-gen/all/conandata.yml @@ -2,3 +2,8 @@ sources: "1.2.2": url: "https://github.com/Chlumsky/msdf-atlas-gen/archive/refs/tags/v1.2.2.tar.gz" sha256: "7D2EA46F66E21AB9A205BF7703D520F209B9A035EE13CBB266A3B8322F62FA28" +patches: + "1.2.2": + - patch_file: "patches/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 a6c7d8b9a0b2a..51daed7b1f501 100644 --- a/recipes/msdf-atlas-gen/all/conanfile.py +++ b/recipes/msdf-atlas-gen/all/conanfile.py @@ -1,7 +1,11 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os -required_conan_version = ">=1.33.0" + +required_conan_version = ">=1.53.0" class MsdfAtlasGenConan(ConanFile): @@ -12,60 +16,54 @@ class MsdfAtlasGenConan(ConanFile): description = "MSDF font atlas generator" topics = ("msdf-atlas-gen", "msdf", "font", "atlas") settings = "os", "arch", "compiler", "build_type" - - generators = "cmake", "cmake_find_package_multi" - exports_sources = ["CMakeLists.txt"] - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" def requirements(self): self.requires("artery-font-format/1.0") self.requires("msdfgen/1.9.1") + self.requires("lodepng/cci.20200615") + + def layout(self): + cmake_layout(self, src_folder="src") - def validate(self): + def validate_build(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def package_id(self): del self.info.settings.compiler + del self.info.settings.build_type - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def _patch_sources(self): - cmakelists = os.path.join( - self._source_subfolder, "CMakeLists.txt") + def export_sources(self): + export_conandata_patches(self) - tools.replace_in_file(cmakelists, - "add_subdirectory(msdfgen)", "") - tools.save_append(cmakelists, - "install(TARGETS msdf-atlas-gen-standalone DESTINATION bin)") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["MSDF_ATLAS_GEN_BUILD_STANDALONE"] = True - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["MSDF_ATLAS_GEN_BUILD_STANDALONE"] = True + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, pattern="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.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + 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) + # 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/msdf-atlas-gen/all/patches/0001-fix-cmake.patch b/recipes/msdf-atlas-gen/all/patches/0001-fix-cmake.patch new file mode 100644 index 0000000000000..356c6a09fe8be --- /dev/null +++ b/recipes/msdf-atlas-gen/all/patches/0001-fix-cmake.patch @@ -0,0 +1,42 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,9 +7,11 @@ + 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) + ++ + find_package(Threads REQUIRED) ++find_package(msdfgen REQUIRED) ++find_package(artery-font-format REQUIRED) + + file(GLOB_RECURSE msdf-atlas-gen_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "msdf-atlas-gen/*.h" +@@ -24,19 +26,12 @@ + 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}") +-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) + + # TODO make these public in msdfgen so that this doesn't have to be repeated here + if(FREETYPE_WITH_PNG) +@@ -58,3 +53,5 @@ + 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() ++ ++install(TARGETS msdf-atlas-gen-standalone DESTINATION bin) diff --git a/recipes/msdf-atlas-gen/all/test_package/conanfile.py b/recipes/msdf-atlas-gen/all/test_package/conanfile.py index 0e314c3e127bb..f15dfbbe1bd98 100644 --- a/recipes/msdf-atlas-gen/all/test_package/conanfile.py +++ b/recipes/msdf-atlas-gen/all/test_package/conanfile.py @@ -1,9 +1,16 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run + import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) @property def _atlas_texture_file(self): @@ -14,15 +21,14 @@ def _atlas_desc_file(self): return os.path.join(self.build_folder, "atlas_desc.json") def test(self): - if not tools.cross_building(self): - ttf_path = os.path.join( - self.source_folder, "Sacramento-Regular.ttf") - charset_path = os.path.join( - self.source_folder, "uppercase_charset") + if can_run(self): + ttf_path = os.path.join(self.source_folder, "Sacramento-Regular.ttf") + charset_path = os.path.join(self.source_folder, "uppercase_charset") ret_code = self.run( - "msdf-atlas-gen -font {} -charset {} -imageout {} -json {}".format(ttf_path, charset_path, self._atlas_texture_file, self._atlas_desc_file), run_environment=True) + "msdf-atlas-gen -font {} -charset {} -imageout {} -json {}".format(ttf_path, charset_path, self._atlas_texture_file, self._atlas_desc_file), env="conanrun") assert ret_code == 0 assert os.path.isfile(self._atlas_texture_file) assert os.path.isfile(self._atlas_desc_file) + From 9e19c66c1ef72540be3d44e37696db8b75ad93a6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 13 Jul 2023 04:02:02 +0900 Subject: [PATCH 0916/4087] (#18510) screen_capture_lite: add version 17.1.1327 --- recipes/screen_capture_lite/all/conandata.yml | 3 +++ recipes/screen_capture_lite/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/screen_capture_lite/all/conandata.yml b/recipes/screen_capture_lite/all/conandata.yml index 87497fb96911b..aa72c475ba532 100644 --- a/recipes/screen_capture_lite/all/conandata.yml +++ b/recipes/screen_capture_lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "17.1.1327": + url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.1327.tar.gz" + sha256: "bc5c17f3df14c1013268fc0107b52a98c6d032803fd1faea1983772f3b7ac5ed" "17.1.1173": url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.1173.tar.gz" sha256: "17875fb58f0e5920b13b6ef2516c8e973055347339d3dbaabfa97ef448fdfff2" diff --git a/recipes/screen_capture_lite/config.yml b/recipes/screen_capture_lite/config.yml index 863f787460bb7..7298de37ef363 100644 --- a/recipes/screen_capture_lite/config.yml +++ b/recipes/screen_capture_lite/config.yml @@ -1,4 +1,6 @@ versions: + "17.1.1327": + folder: "all" "17.1.1173": folder: "all" "17.1.613": From 315514a59aa0fc98e902b573bdb734470eb285c0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 12 Jul 2023 22:22:41 +0200 Subject: [PATCH 0917/4087] (#18503) openscenegraph/all: bump deps --- recipes/openscenegraph/all/conanfile.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/openscenegraph/all/conanfile.py b/recipes/openscenegraph/all/conanfile.py index b22982d840a75..5d6b6d3a14882 100644 --- a/recipes/openscenegraph/all/conanfile.py +++ b/recipes/openscenegraph/all/conanfile.py @@ -125,18 +125,18 @@ def requirements(self): self.requires("opengl/system") if self.options.use_fontconfig: - self.requires("fontconfig/2.13.93") + self.requires("fontconfig/2.14.2") if self.options.get_safe("with_asio", False): # Should these be private requires? self.requires("asio/1.22.1") - self.requires("boost/1.79.0") + self.requires("boost/1.81.0") if self.options.with_curl: - self.requires("libcurl/7.83.1") + self.requires("libcurl/8.0.1") if self.options.get_safe("with_dcmtk"): self.requires("dcmtk/3.6.6") if self.options.with_freetype: - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") if self.options.with_gdal: self.requires("gdal/3.4.3") if self.options.get_safe("with_gif"): @@ -148,11 +148,11 @@ def requirements(self): if self.options.get_safe("with_jpeg"): self.requires("libjpeg/9e") if self.options.get_safe("with_openexr"): - self.requires("openexr/3.1.5") + self.requires("openexr/3.1.7") if self.options.get_safe("with_png"): - self.requires("libpng/1.6.37") + self.requires("libpng/1.6.40") if self.options.with_tiff: - self.requires("libtiff/4.3.0") + self.requires("libtiff/4.5.1") if self.options.with_zlib: self.requires("zlib/1.2.13") From 092c903acd61710c5854ee254b05ec800d6e95ad Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 13 Jul 2023 07:02:43 +0900 Subject: [PATCH 0918/4087] (#18496) sfml: use cci's minimp3 --- recipes/sfml/all/conandata.yml | 3 +++ recipes/sfml/all/conanfile.py | 8 ++++++-- .../all/patches/2.6.0-0007-use-cci-minimp3.patch | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 recipes/sfml/all/patches/2.6.0-0007-use-cci-minimp3.patch diff --git a/recipes/sfml/all/conandata.yml b/recipes/sfml/all/conandata.yml index 2d05c18fb61d8..500295e6f5faf 100644 --- a/recipes/sfml/all/conandata.yml +++ b/recipes/sfml/all/conandata.yml @@ -19,6 +19,9 @@ patches: - patch_file: "patches/2.6.0-0006-disable-warning-flags.patch" patch_description: "Disable warning flags which may cause compilation errors" patch_type: "portability" + - patch_file: "patches/2.6.0-0007-use-cci-minimp3.patch" + patch_description: "use cci minimp3 recipe" + patch_type: "conan" "2.5.1": - patch_file: "patches/2.5.1-0001-cmake-robust-find-deps.patch" patch_description: "Robust discovery of dependencies" diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index e3c9bdac63d14..87a8da53f965f 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -63,10 +63,11 @@ def requirements(self): self.requires("freetype/2.13.0") self.requires("stb/cci.20220909") if self.options.audio: - # FIXME: use cci's minimp3 self.requires("flac/1.4.2") self.requires("openal-soft/1.22.2") self.requires("vorbis/1.3.7") + if Version(self.version) >= "2.6.0": + self.requires("minimp3/cci.20211201") def validate(self): if self.settings.os not in ["Windows", "Linux", "FreeBSD", "Android", "Macos", "iOS"]: @@ -259,11 +260,14 @@ def objc(): }, }) if self.options.audio: + audio_requires = ["system", "flac::flac", "openal-soft::openal-soft", "vorbis::vorbis"] + if Version(self.version) >= "2.6.0": + audio_requires.append("minimp3::minimp3") sfml_components.update({ "audio": { "target": "sfml-audio", "libs": [f"sfml-audio{suffix}"], - "requires": ["system", "flac::flac", "openal-soft::openal-soft", "vorbis::vorbis"], + "requires": audio_requires, "system_libs": android(), }, }) diff --git a/recipes/sfml/all/patches/2.6.0-0007-use-cci-minimp3.patch b/recipes/sfml/all/patches/2.6.0-0007-use-cci-minimp3.patch new file mode 100644 index 0000000000000..d63dc230ed817 --- /dev/null +++ b/recipes/sfml/all/patches/2.6.0-0007-use-cci-minimp3.patch @@ -0,0 +1,14 @@ +diff --git a/src/SFML/Audio/CMakeLists.txt b/src/SFML/Audio/CMakeLists.txt +index 27c3386..6c455ca 100644 +--- a/src/SFML/Audio/CMakeLists.txt ++++ b/src/SFML/Audio/CMakeLists.txt +@@ -82,7 +82,8 @@ sfml_add_library(sfml-audio + target_link_libraries(sfml-audio PRIVATE OpenAL::OpenAL) + + # minimp3 sources +-target_include_directories(sfml-audio SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/minimp3") ++find_package(minimp3 REQUIRED CONFIG) ++target_include_directories(sfml-audio SYSTEM PRIVATE ${minimp3_INCLUDE_DIRS}) + + if(SFML_OS_ANDROID) + target_link_libraries(sfml-audio PRIVATE android OpenSLES) From 199a326571ad7d2c9773cf0b5ece10eb53694ffd Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Thu, 13 Jul 2023 00:43:01 +0200 Subject: [PATCH 0919/4087] (#18443) Bump coin-utils to 2.11.9 --- recipes/coin-utils/all/conandata.yml | 8 +++ .../all/patches/0003-cpp17-compat.patch | 55 +++++++++++++++++++ recipes/coin-utils/config.yml | 2 + 3 files changed, 65 insertions(+) create mode 100644 recipes/coin-utils/all/patches/0003-cpp17-compat.patch diff --git a/recipes/coin-utils/all/conandata.yml b/recipes/coin-utils/all/conandata.yml index d4916f7c0bcc0..a58d95ee0972a 100644 --- a/recipes/coin-utils/all/conandata.yml +++ b/recipes/coin-utils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.9": + url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.9.tar.gz" + sha256: "15d572ace4cd3b7c8ce117081b65a2bd5b5a4ebaba54fadc99c7a244160f88b8" "2.11.6": url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.6.tar.gz" sha256: "6ea31d5214f7eb27fa3ffb2bdad7ec96499dd2aaaeb4a7d0abd90ef852fc79ca" @@ -6,6 +9,11 @@ sources: url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.4.tar.gz" sha256: "d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81" patches: + "2.11.9": + - patch_file: "patches/0001-no-check-pkgconfig.patch" + - patch_file: "patches/0003-cpp17-compat.patch" + patch_description: "C++17 compatibility" + patch_type: "portability" "2.11.6": - patch_file: "patches/0001-no-check-pkgconfig.patch" - patch_file: "patches/0002-cpp17-compat.patch" diff --git a/recipes/coin-utils/all/patches/0003-cpp17-compat.patch b/recipes/coin-utils/all/patches/0003-cpp17-compat.patch new file mode 100644 index 0000000000000..355ff4f097705 --- /dev/null +++ b/recipes/coin-utils/all/patches/0003-cpp17-compat.patch @@ -0,0 +1,55 @@ +--- a/CoinUtils/src/CoinOslC.h ++++ b/CoinUtils/src/CoinOslC.h +@@ -34,30 +34,30 @@ + extern "C" { + #endif + +-int c_ekkbtrn(register const EKKfactinfo *fact, ++int c_ekkbtrn(const EKKfactinfo *fact, + double *dwork1, + int *mpt, int first_nonzero); +-int c_ekkbtrn_ipivrw(register const EKKfactinfo *fact, ++int c_ekkbtrn_ipivrw(const EKKfactinfo *fact, + double *dwork1, + int *mpt, int ipivrw, int *spare); + +-int c_ekketsj(register /*const*/ EKKfactinfo *fact, ++int c_ekketsj(/*const*/ EKKfactinfo *fact, + double *dwork1, + int *mpt2, double dalpha, int orig_nincol, + int npivot, int *nuspikp, + const int ipivrw, int *spare); +-int c_ekkftrn(register const EKKfactinfo *fact, ++int c_ekkftrn(const EKKfactinfo *fact, + double *dwork1, + double *dpermu, int *mpt, int numberNonZero); + +-int c_ekkftrn_ft(register EKKfactinfo *fact, ++int c_ekkftrn_ft(EKKfactinfo *fact, + double *dwork1, int *mpt, int *nincolp); +-void c_ekkftrn2(register EKKfactinfo *fact, double *dwork1, ++void c_ekkftrn2(EKKfactinfo *fact, double *dwork1, + double *dpermu1, int *mpt1, int *nincolp, + double *dwork1_ft, int *mpt_ft, int *nincolp_ft); + +-int c_ekklfct(register EKKfactinfo *fact); +-int c_ekkslcf(register const EKKfactinfo *fact); ++int c_ekklfct(EKKfactinfo *fact); ++int c_ekkslcf(const EKKfactinfo *fact); + inline void c_ekkscpy(int n, const int *marr1, int *marr2) + { + CoinMemcpyN(marr1, n, marr2); +--- a/CoinUtils/src/CoinOslFactorization2.cpp ++++ b/CoinUtils/src/CoinOslFactorization2.cpp +@@ -21,9 +21,9 @@ + extern int ets_count; + extern int ets_check; + #endif +-#define COIN_REGISTER register ++#define COIN_REGISTER + #define COIN_REGISTER2 +-#define COIN_REGISTER3 register ++#define COIN_REGISTER3 + #ifdef COIN_USE_RESTRICT + #define COIN_RESTRICT2 __restrict + #else diff --git a/recipes/coin-utils/config.yml b/recipes/coin-utils/config.yml index a116e38afc5df..07a06aecfba33 100644 --- a/recipes/coin-utils/config.yml +++ b/recipes/coin-utils/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.9": + folder: "all" "2.11.6": folder: "all" "2.11.4": From 4490b78ea4caa82ab596f0278caf809da5dc9212 Mon Sep 17 00:00:00 2001 From: Beartama <8091245+uyha@users.noreply.github.com> Date: Thu, 13 Jul 2023 02:21:58 +0300 Subject: [PATCH 0920/4087] (#18516) tl-optional: add version 1.1.0 --- recipes/tl-optional/all/conandata.yml | 3 +++ recipes/tl-optional/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tl-optional/all/conandata.yml b/recipes/tl-optional/all/conandata.yml index eb9035a81e907..bf26f6c9e3c77 100644 --- a/recipes/tl-optional/all/conandata.yml +++ b/recipes/tl-optional/all/conandata.yml @@ -2,3 +2,6 @@ sources: "1.0.0": url: https://github.com/TartanLlama/optional/archive/v1.0.0.zip sha256: 8bb68defc61da3de2b4cd73ef9792eba44570ec5cb52c4da731286f24aecbb95 + "1.1.0": + url: https://github.com/TartanLlama/optional/archive/v1.1.0.zip + sha256: a336bb10f51945369c1dd6dc6d2a7086602ab9cab52c98a7a6224bfd782bc0c7 diff --git a/recipes/tl-optional/config.yml b/recipes/tl-optional/config.yml index 40341aa3db6cd..b0abed6f3ca04 100644 --- a/recipes/tl-optional/config.yml +++ b/recipes/tl-optional/config.yml @@ -1,3 +1,5 @@ versions: "1.0.0": folder: all + "1.1.0": + folder: all From bf7061d5779ba9e7d6de37a71ea1de87200e793e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20Dzi=C4=99gielewski?= Date: Thu, 13 Jul 2023 01:42:38 +0200 Subject: [PATCH 0921/4087] (#18513) adds range of openssl libs to have wider compatibility --- recipes/jwt-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index 75e913785ea24..bbf3918d2b235 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -24,7 +24,7 @@ def export_sources(self): export_conandata_patches(self) def requirements(self): - self.requires("openssl/1.1.1s") + self.requires("openssl/[>1.1.1c,<1.1.1u]") if not self._supports_generic_json: self.requires("picojson/1.3.0") From de737d5c0ffc814bfae9d0b8da586da779030cfb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 13 Jul 2023 04:22:52 +0200 Subject: [PATCH 0922/4087] (#18501) libgeotiff/all: bump deps * libgeotiff/all: bump deps * libgeotiff xtiffio.h includes libtiff tiffio.h --- recipes/libgeotiff/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index dd7258309aa60..4125b818ee21d 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -43,7 +43,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libtiff/4.4.0") + # libgeotiff/include/xtiffio.h includes libtiff/include/tiffio.h + self.requires("libtiff/4.5.1", transitive_headers=True, transitive_libs=True) self.requires("proj/9.1.1") def source(self): From a68f64b78b508cfba6624feee3eca563f4ada263 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 13 Jul 2023 08:02:25 +0200 Subject: [PATCH 0923/4087] (#18515) cimg/all: bump deps --- recipes/cimg/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/cimg/all/conanfile.py b/recipes/cimg/all/conanfile.py index 7976b292f24a3..cbed93e0b8d51 100644 --- a/recipes/cimg/all/conanfile.py +++ b/recipes/cimg/all/conanfile.py @@ -69,16 +69,16 @@ def requirements(self): self.requires("libjpeg/9e") if self.options.enable_openexr: if self.options.enable_opencv: - self.requires("openexr/3.1.5") + self.requires("openexr/3.1.7") else: self.requires("openexr/3.1.7") if self.options.enable_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.enable_tiff: if self.options.enable_opencv: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") else: - self.requires("libtiff/4.5.0") + self.requires("libtiff/4.5.1") if self.options.enable_ffmpeg: if self.options.enable_opencv: self.requires("ffmpeg/4.4") From afd055a4bc4d4c91f3d51adde6ff68091a5fd2a4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 13 Jul 2023 15:45:34 +0900 Subject: [PATCH 0924/4087] (#18509) redis-plus-plus: add version 1.3.10, update libuv --- recipes/redis-plus-plus/all/conandata.yml | 7 +++++++ recipes/redis-plus-plus/all/conanfile.py | 2 +- recipes/redis-plus-plus/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/redis-plus-plus/all/conandata.yml b/recipes/redis-plus-plus/all/conandata.yml index 27ef36c70a010..fb21e925b3beb 100644 --- a/recipes/redis-plus-plus/all/conandata.yml +++ b/recipes/redis-plus-plus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.10": + url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.10.tar.gz" + sha256: "85d9d9ff84c873c4a14bd28bee569a1f311285fad8d4f2fb0e472f65d4bb842a" "1.3.8": url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.8.tar.gz" sha256: "ad521b4a24d1591a1564f945ba6370875b501210222e324f398065251df41641" @@ -15,6 +18,10 @@ sources: url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.3.tar.gz" sha256: "1a3336752133019c963e06c28667b96690d6395b804e5e326671777ff88982ea" patches: + "1.3.10": + - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" + patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" + patch_type: "conan" "1.3.8": - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" diff --git a/recipes/redis-plus-plus/all/conanfile.py b/recipes/redis-plus-plus/all/conanfile.py index 96cac1b9d9a49..5895ab8dac984 100644 --- a/recipes/redis-plus-plus/all/conanfile.py +++ b/recipes/redis-plus-plus/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): self.requires("hiredis/1.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("build_async"): - self.requires("libuv/1.45.0") + self.requires("libuv/1.46.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): diff --git a/recipes/redis-plus-plus/config.yml b/recipes/redis-plus-plus/config.yml index eda5e08beb83f..38a930c3be65e 100644 --- a/recipes/redis-plus-plus/config.yml +++ b/recipes/redis-plus-plus/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.10": + folder: all "1.3.8": folder: all "1.3.7": From 626d417386273d60586f4efd87d53fe8c1ad22d2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 13 Jul 2023 16:22:59 +0900 Subject: [PATCH 0925/4087] (#18508) libnghttp2: add version 1.55.0, update dependencies, remove older versions --- recipes/libnghttp2/all/conandata.yml | 40 ++----------------- recipes/libnghttp2/all/conanfile.py | 6 +-- .../patches/1.40.0-remove-static-suffix.patch | 11 ----- .../fix-addNghttp2IncludesPathCMake.patch | 11 ----- .../all/test_package/CMakeLists.txt | 2 +- recipes/libnghttp2/config.yml | 12 +----- 6 files changed, 9 insertions(+), 73 deletions(-) delete mode 100644 recipes/libnghttp2/all/patches/1.40.0-remove-static-suffix.patch delete mode 100644 recipes/libnghttp2/all/patches/fix-addNghttp2IncludesPathCMake.patch diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 4bb9bc4aa3c48..834d98b9d2153 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.55.0": + url: "https://github.com/nghttp2/nghttp2/archive/v1.55.0.tar.gz" + sha256: "6d2a4d246e84cb1e3e581591bd1c50ecc085e50090bc068ed5a67f87c6b4a06e" "1.54.0": url: "https://github.com/nghttp2/nghttp2/archive/v1.54.0.tar.gz" sha256: "aae8bda9e06d7c51a12488175086edc44a46c230561dc7c45d779e00e43d4b8e" @@ -23,21 +26,6 @@ sources: "1.46.0": url: "https://github.com/nghttp2/nghttp2/releases/download/v1.46.0/nghttp2-1.46.0.tar.xz" sha256: "1a68cc4a5732afb735baf50aaac3cb3a6771e49f744bd5db6c49ab5042f12a43" - "1.45.1": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.45.1/nghttp2-1.45.1.tar.xz" - sha256: "abdc4addccadbc7d89abe27c4d6427d78e57d139f69c1f45749227393c68bf79" - "1.43.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.43.0/nghttp2-1.43.0.tar.xz" - sha256: "f7d54fa6f8aed29f695ca44612136fa2359013547394d5dffeffca9e01a26b0f" - "1.42.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.42.0/nghttp2-1.42.0.tar.xz" - sha256: "c5a7f09020f31247d0d1609078a75efadeccb7e5b86fc2e4389189b1b431fe63" - "1.40.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.40.0/nghttp2-1.40.0.tar.xz" - sha256: "09fc43d428ff237138733c737b29fb1a7e49d49de06d2edbed3bc4cdcee69073" - "1.39.2": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.39.2/nghttp2-1.39.2.tar.xz" - sha256: "a2d216450abd2beaf4e200c168957968e89d602ca4119338b9d7ab059fd4ce8b" patches: "1.49.0": - patch_file: "patches/fix-findJemalloc.cmake" @@ -51,25 +39,3 @@ patches: "1.46.0": - patch_file: "patches/fix-findJemalloc.cmake" - patch_file: "patches/fix-findLibevent.cmake" - "1.45.1": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" - "1.43.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" - "1.42.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" - "1.40.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" - - patch_file: "patches/1.40.0-remove-static-suffix.patch" - patch_type: "backport" - patch_source: https://github.com/curl/curl/pull/7515#issuecomment-890320856 - patch_description: >- - Fix the breaking change that was introduced in 1.40.0 and made optional - in 1.40.1 - "1.39.2": - - patch_file: "patches/fix-addNghttp2IncludesPathCMake.patch" - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index d6777fe1e084b..b7976951f311e 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -63,17 +63,17 @@ def requirements(self): if self.options.with_app or self.options.get_safe("with_asio"): self.requires("openssl/[>=1.1 <4]") if self.options.with_app: - self.requires("c-ares/1.19.0") + self.requires("c-ares/1.19.1") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.10.4") + self.requires("libxml2/2.11.4") self.requires("zlib/1.2.13") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") if self.options.with_hpack: self.requires("jansson/2.14") if self.options.get_safe("with_asio"): - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") def validate(self): if self.options.get_safe("with_asio") and is_msvc(self): diff --git a/recipes/libnghttp2/all/patches/1.40.0-remove-static-suffix.patch b/recipes/libnghttp2/all/patches/1.40.0-remove-static-suffix.patch deleted file mode 100644 index b769d5a577c38..0000000000000 --- a/recipes/libnghttp2/all/patches/1.40.0-remove-static-suffix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/CMakeLists.txt.orig 2022-12-23 11:01:09.000000000 +0200 -+++ lib/CMakeLists.txt 2022-12-23 11:01:22.000000000 +0200 -@@ -62,7 +62,7 @@ if(HAVE_CUNIT OR ENABLE_STATIC_LIB) - set_target_properties(nghttp2_static PROPERTIES - COMPILE_FLAGS "${WARNCFLAGS}" - VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION} -- ARCHIVE_OUTPUT_NAME nghttp2_static -+ ARCHIVE_OUTPUT_NAME nghttp2 - ) - target_compile_definitions(nghttp2_static PUBLIC "-DNGHTTP2_STATICLIB") - if(ENABLE_STATIC_LIB) diff --git a/recipes/libnghttp2/all/patches/fix-addNghttp2IncludesPathCMake.patch b/recipes/libnghttp2/all/patches/fix-addNghttp2IncludesPathCMake.patch deleted file mode 100644 index f3458ec8b39b9..0000000000000 --- a/recipes/libnghttp2/all/patches/fix-addNghttp2IncludesPathCMake.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt.orig 2019-12-12 20:23:38.855819744 +0100 -+++ CMakeLists.txt 2019-12-12 20:22:54.194563670 +0100 -@@ -449,6 +449,8 @@ - - install(FILES README.rst DESTINATION "${CMAKE_INSTALL_DOCDIR}") - -+include_directories(lib/includes) -+ - add_subdirectory(lib) - #add_subdirectory(lib/includes) - add_subdirectory(third-party) diff --git a/recipes/libnghttp2/all/test_package/CMakeLists.txt b/recipes/libnghttp2/all/test_package/CMakeLists.txt index eb7f9cd8b9769..f359e60515137 100644 --- a/recipes/libnghttp2/all/test_package/CMakeLists.txt +++ b/recipes/libnghttp2/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(libnghttp2 REQUIRED CONFIG) diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index f75606a075b1c..75ab39061ab25 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.55.0": + folder: all "1.54.0": folder: all "1.53.0": @@ -15,13 +17,3 @@ versions: folder: all "1.46.0": folder: all - "1.45.1": - folder: all - "1.43.0": - folder: all - "1.42.0": - folder: all - "1.40.0": - folder: all - "1.39.2": - folder: all From 262fd7a1f8c0ce3c1125121134ba82b9d929643a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 13 Jul 2023 17:22:34 +0900 Subject: [PATCH 0926/4087] (#18506) hiredis: add version 1.2.0 * hiredis: add version 1.2.0 * support static build on msvc * rm pdb files --- recipes/hiredis/all/conandata.yml | 7 +++++++ recipes/hiredis/all/conanfile.py | 8 ++++++-- recipes/hiredis/config.yml | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/hiredis/all/conandata.yml b/recipes/hiredis/all/conandata.yml index 2063383701218..780975d1b5665 100644 --- a/recipes/hiredis/all/conandata.yml +++ b/recipes/hiredis/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/redis/hiredis/archive/v1.2.0.tar.gz" + sha256: "82ad632d31ee05da13b537c124f819eb88e18851d9cb0c30ae0552084811588c" "1.1.0": url: "https://github.com/redis/hiredis/archive/v1.1.0.tar.gz" sha256: "fe6d21741ec7f3fc9df409d921f47dfc73a4d8ff64f4ac6f1d95f951bf7f53d6" @@ -9,6 +12,10 @@ sources: url: "https://github.com/redis/hiredis/archive/v1.0.0.tar.gz" sha256: "2a0b5fe5119ec973a0c1966bfc4bd7ed39dbce1cb6d749064af9121fe971936f" patches: + "1.2.0": + - patch_file: "patches/0002-fix-aix.patch" + patch_description: "support AIX build" + patch_type: "portability" "1.1.0": - patch_file: "patches/0001-fix-cmake-1.1.0.patch" patch_description: "divide static/shared build, fix openssl link name" diff --git a/recipes/hiredis/all/conanfile.py b/recipes/hiredis/all/conanfile.py index 95c01b327b522..4973e6b1da136 100644 --- a/recipes/hiredis/all/conanfile.py +++ b/recipes/hiredis/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rm from conan.tools.scm import Version from conan.tools.microsoft import is_msvc import os @@ -53,6 +53,9 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + # Since 1.2.0, BUILD_SHARED_LIBS has been defined by option() + if Version(self.version) >= "1.2.0": + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared tc.variables["ENABLE_SSL"] = self.options.with_ssl tc.variables["DISABLE_TESTS"] = True tc.variables["ENABLE_EXAMPLES"] = False @@ -74,13 +77,14 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "build")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "hiredis") suffix = "" if Version(self.version) >= "1.1.0": - if is_msvc(self) and not self.options.shared: + if is_msvc(self) and not self.options.shared and Version(self.version) < "1.2.0": suffix += "_static" if self.settings.build_type == "Debug": suffix += "d" diff --git a/recipes/hiredis/config.yml b/recipes/hiredis/config.yml index b06a4f7517eb0..44921f335f1c8 100644 --- a/recipes/hiredis/config.yml +++ b/recipes/hiredis/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.2": From 25dcded3550588cbda99181c371b9e14b9241edf Mon Sep 17 00:00:00 2001 From: Tobulus Date: Thu, 13 Jul 2023 11:02:53 +0200 Subject: [PATCH 0927/4087] (#18497) [libsystemd] add 253.6, add dependency to libcrypt --- recipes/libsystemd/all/conandata.yml | 10 ++++++++++ recipes/libsystemd/all/conanfile.py | 2 ++ recipes/libsystemd/config.yml | 2 ++ 3 files changed, 14 insertions(+) diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index 8c721280d7274..d4431fac17cc4 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "253.6": + url: "https://github.com/systemd/systemd-stable/archive/v253.6.tar.gz" + sha256: "a0aebcfaa2e001a4d846691631d1722c4cfa1a175e4ea62db6edca0ea3cf1e3e" "253.3": url: "https://github.com/systemd/systemd-stable/archive/v253.3.tar.gz" sha256: "569775d77084e45d15e103004cf4fbc00d7249c33791471b80f0c3296962bbfd" @@ -21,6 +24,13 @@ sources: url: "https://github.com/systemd/systemd-stable/archive/v246.16.tar.gz" sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2" patches: + "253.6": + - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" + patch_type: "conan" + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" + patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" + patch_type: "conan" "253.3": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 7d50402519ca9..7d0c3d3c0590f 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -54,6 +54,8 @@ def layout(self): def requirements(self): self.requires("libcap/2.68") self.requires("libmount/2.39") + if Version(self.version) >= "253.6": + self.requires("libxcrypt/4.4.35") if self.options.with_selinux: self.requires("libselinux/3.3") if self.options.with_lz4: diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml index 83bb58c5a15a2..f584486360691 100644 --- a/recipes/libsystemd/config.yml +++ b/recipes/libsystemd/config.yml @@ -1,4 +1,6 @@ versions: + "253.6": + folder: all "253.3": folder: all "252.9": From 6923230cca619acd063742c886a442421d41dc30 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 13 Jul 2023 11:43:28 +0200 Subject: [PATCH 0928/4087] (#18431) openimageio/all: bump deps --- recipes/openimageio/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/openimageio/all/conanfile.py b/recipes/openimageio/all/conanfile.py index b8281c87a2d2c..f741a725420ff 100644 --- a/recipes/openimageio/all/conanfile.py +++ b/recipes/openimageio/all/conanfile.py @@ -93,12 +93,12 @@ def requirements(self): # Required libraries self.requires("zlib/1.2.13") self.requires("boost/1.78.0") - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") self.requires("openexr/2.5.7") if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.2") + self.requires("libjpeg-turbo/2.1.5") self.requires("pugixml/1.12.1") self.requires("libsquish/1.15") self.requires("tsl-robin-map/1.0.1") @@ -106,9 +106,9 @@ def requirements(self): # Optional libraries if self.options.with_libpng: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_freetype: - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") if self.options.with_hdf5: self.requires("hdf5/1.12.1") if self.options.with_opencolorio: @@ -138,7 +138,7 @@ def requirements(self): if self.options.with_ptex: self.requires("ptex/2.4.0") if self.options.with_libwebp: - self.requires("libwebp/1.2.4") + self.requires("libwebp/1.3.1") # TODO: R3DSDK dependency # TODO: Nuke dependency From 86f9cdc33569cc3809c8ef39531eecc7269df926 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 13 Jul 2023 12:03:44 +0200 Subject: [PATCH 0929/4087] (#18248) sjson-cpp: migrate to Conan v2 * sjson-cpp: migrate to Conan v2 * sjson-cpp: restore test_v1_package --- recipes/sjson-cpp/all/conanfile.py | 40 +++++++++++++------ .../sjson-cpp/all/test_package/CMakeLists.txt | 7 +--- .../sjson-cpp/all/test_package/conanfile.py | 19 ++++++--- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 17 ++++++++ 5 files changed, 69 insertions(+), 22 deletions(-) create mode 100644 recipes/sjson-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sjson-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/sjson-cpp/all/conanfile.py b/recipes/sjson-cpp/all/conanfile.py index 98115a520a666..cf743b47f8442 100644 --- a/recipes/sjson-cpp/all/conanfile.py +++ b/recipes/sjson-cpp/all/conanfile.py @@ -1,34 +1,50 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class SjsonCppConan(ConanFile): name = "sjson-cpp" description = "An Simplified JSON (SJSON) C++ reader and writer" - topics = ("json", "sjson", "simplified") license = "MIT" - homepage = "https://github.com/nfrechette/sjson-cpp" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/nfrechette/sjson-cpp" + topics = ("json", "sjson", "simplified", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) 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 package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "includes")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "includes")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/sjson-cpp/all/test_package/CMakeLists.txt b/recipes/sjson-cpp/all/test_package/CMakeLists.txt index f5f3393af5f9a..401e13d3abd40 100644 --- a/recipes/sjson-cpp/all/test_package/CMakeLists.txt +++ b/recipes/sjson-cpp/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(sjson-cpp REQUIRED CONFIG) diff --git a/recipes/sjson-cpp/all/test_package/conanfile.py b/recipes/sjson-cpp/all/test_package/conanfile.py index 38f4483872d47..fae501d0afb9e 100644 --- a/recipes/sjson-cpp/all/test_package/conanfile.py +++ b/recipes/sjson-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", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def 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/sjson-cpp/all/test_v1_package/CMakeLists.txt b/recipes/sjson-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sjson-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/sjson-cpp/all/test_v1_package/conanfile.py b/recipes/sjson-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/sjson-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 01dcb75a69b0f5d04bf64a1455f8f65af9cfc75b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 13 Jul 2023 12:24:01 +0200 Subject: [PATCH 0930/4087] (#18230) rtm: migrate to Conan v2 * rtm: migrate to Conan v2 * rtm: restore test_v1_package * rtm: add cmake_find_package_multi generator to test_v1_package --- recipes/rtm/all/conanfile.py | 42 +++++++++++++------ recipes/rtm/all/test_package/CMakeLists.txt | 9 ++-- recipes/rtm/all/test_package/conanfile.py | 21 +++++++--- recipes/rtm/all/test_package/test_package.cpp | 3 ++ .../rtm/all/test_v1_package/CMakeLists.txt | 8 ++++ recipes/rtm/all/test_v1_package/conanfile.py | 17 ++++++++ 6 files changed, 77 insertions(+), 23 deletions(-) create mode 100644 recipes/rtm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rtm/all/test_v1_package/conanfile.py diff --git a/recipes/rtm/all/conanfile.py b/recipes/rtm/all/conanfile.py index ab6e02732c88c..232084322c1ed 100644 --- a/recipes/rtm/all/conanfile.py +++ b/recipes/rtm/all/conanfile.py @@ -1,28 +1,46 @@ import os -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class Rtmonan(ConanFile): name = "rtm" description = "Realtime Math" - topics = ("realtime", "math") license = "MIT" - homepage = "https://github.com/nfrechette/rtm" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/nfrechette/rtm" + topics = ("realtime", "math", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "includes")) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "includes")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rtm/all/test_package/CMakeLists.txt b/recipes/rtm/all/test_package/CMakeLists.txt index 33ae887aa6aea..6cc064494767b 100644 --- a/recipes/rtm/all/test_package/CMakeLists.txt +++ b/recipes/rtm/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(rtm REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE rtm::rtm) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/rtm/all/test_package/conanfile.py b/recipes/rtm/all/test_package/conanfile.py index a59a26a52c8dc..fae501d0afb9e 100644 --- a/recipes/rtm/all/test_package/conanfile.py +++ b/recipes/rtm/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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/rtm/all/test_package/test_package.cpp b/recipes/rtm/all/test_package/test_package.cpp index 5e13600bd88fc..5392fd6c1108b 100644 --- a/recipes/rtm/all/test_package/test_package.cpp +++ b/recipes/rtm/all/test_package/test_package.cpp @@ -1,3 +1,6 @@ +// workaround for a missing include in rtm +#include + #include #include #include diff --git a/recipes/rtm/all/test_v1_package/CMakeLists.txt b/recipes/rtm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rtm/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/rtm/all/test_v1_package/conanfile.py b/recipes/rtm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/rtm/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2987f30b84726ec0abe3e91e4aba46101a76f359 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 13 Jul 2023 12:55:36 +0200 Subject: [PATCH 0931/4087] (#18514) openmvg/all: bump deps --- recipes/openmvg/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/openmvg/all/conanfile.py b/recipes/openmvg/all/conanfile.py index cb31a55747055..b320aba511407 100644 --- a/recipes/openmvg/all/conanfile.py +++ b/recipes/openmvg/all/conanfile.py @@ -67,8 +67,8 @@ def requirements(self): self.requires("eigen/3.4.0", transitive_headers=True) self.requires("flann/1.9.2", transitive_headers=True, transitive_libs=True) self.requires("libjpeg/9e") - self.requires("libpng/1.6.39") - self.requires("libtiff/4.5.0") + self.requires("libpng/1.6.40") + self.requires("libtiff/4.5.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 3de3665a8ee8418d7d02d3a8a10aac4bd6ea4ac5 Mon Sep 17 00:00:00 2001 From: qwqbot Date: Thu, 13 Jul 2023 19:42:48 +0800 Subject: [PATCH 0932/4087] (#18520) range-v3: set cpp_info.libdirs and cpp_info.bindirs to empty, add package_type * fix range-v3 libdir * update * add package_type * update description --- recipes/range-v3/all/conanfile.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/range-v3/all/conanfile.py b/recipes/range-v3/all/conanfile.py index 4f9a2a5174d9a..a5064cb229661 100644 --- a/recipes/range-v3/all/conanfile.py +++ b/recipes/range-v3/all/conanfile.py @@ -16,7 +16,8 @@ class Rangev3Conan(ConanFile): license = "BSL-1.0" homepage = "https://github.com/ericniebler/range-v3" url = "https://github.com/conan-io/conan-center-index" - description = "Experimental range library for C++11/14/17" + package_type = "header-library" + description = "Range library for C++14/17/20, basis for C++20's std::ranges" topics = ("range", "range-library", "proposal", "iterator", "header-only") settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -36,9 +37,9 @@ def _min_cppstd(self): return "17" else: return "14" - + def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -67,6 +68,8 @@ def package(self): self.package_folder, "licenses"), src=self.source_folder) def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] self.cpp_info.components["range-v3-meta"].names["cmake_find_package"] = "meta" self.cpp_info.components["range-v3-meta"].names["cmake_find_package_multi"] = "meta" if is_msvc(self): From c955397bead164a620031a1597e922b2150ea6c3 Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Thu, 13 Jul 2023 08:42:37 -0500 Subject: [PATCH 0933/4087] (#18414) cyclonedds: add support for type discovery option * Bump version to 0.10.3 * Add support for type/topic discovery * Revert conan component name to original CycloneDDS value --- recipes/cyclonedds/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/cyclonedds/all/conanfile.py b/recipes/cyclonedds/all/conanfile.py index 2219a574b8d39..d4aabff510cc1 100644 --- a/recipes/cyclonedds/all/conanfile.py +++ b/recipes/cyclonedds/all/conanfile.py @@ -26,6 +26,7 @@ class CycloneDDSConan(ConanFile): "with_ssl": [True, False], "with_shm" : [True, False], "enable_security" : [True, False], + "enable_discovery" : [True, False], } default_options = { "shared": False, @@ -33,6 +34,7 @@ class CycloneDDSConan(ConanFile): "with_ssl": False, "with_shm": False, "enable_security": False, + "enable_discovery": True, } short_paths = True @@ -105,6 +107,8 @@ def generate(self): tc.variables["ENABLE_SSL"] = self.options.with_ssl tc.variables["ENABLE_SHM"] = self.options.with_shm tc.variables["ENABLE_SECURITY"] = self.options.enable_security + tc.variables["ENABLE_TYPE_DISCOVERY"] = self.options.enable_discovery + tc.variables["ENABLE_TOPIC_DISCOVERY"] = self.options.enable_discovery tc.generate() cd = CMakeDeps(self) @@ -131,7 +135,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "CycloneDDS") - self.cpp_info.set_property("cmake_target_name", "CycloneDDS::ddsc") + self.cpp_info.set_property("cmake_target_name", "CycloneDDS::CycloneDDS") self.cpp_info.set_property("pkg_config_name", "CycloneDDS") # TODO: back to global scope in conan v2 self.cpp_info.components["CycloneDDS"].libs = ["ddsc"] From df2cef9bebe23d3684867fbd8093bf3696eec872 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 13 Jul 2023 22:21:48 +0200 Subject: [PATCH 0934/4087] (#18526) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 3e9dbacd30f5c..f82d033d13fdb 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -556,6 +556,7 @@ required_for_references: - mpg123 - mppp - ms-gsl +- msdf-atlas-gen - msgpack-c - msgpack-cxx - msys2 From f4d7a30f7b13cfcc3ddac862a3487893acccb873 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 14 Jul 2023 12:42:04 +0900 Subject: [PATCH 0935/4087] (#18538) etl: add version 20.37.1 --- 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 2476009e2775e..d02bdeabb7ddb 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.37.1": + url: "https://github.com/ETLCPP/etl/archive/20.37.1.tar.gz" + sha256: "73c29678e478eca9243c1d0c98e727a2249a7973d1429a847c669bccc65dca88" "20.37.0": url: "https://github.com/ETLCPP/etl/archive/20.37.0.tar.gz" sha256: "94ffb30dc38b9f40566ba7c4ef0c233bca23cfcb4e6c400fcf981729a46413eb" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 9f4bcc56ad17a..587b12dc52899 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.37.1": + folder: all "20.37.0": folder: all "20.36.0": From bd724857cdd154659370c282aeef14fdb434a33e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 14 Jul 2023 13:02:20 +0900 Subject: [PATCH 0936/4087] (#18537) glaze: add version 1.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 50a7f8d7925e5..9a250bd76e55c 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/stephenberry/glaze/archive/v1.3.2.tar.gz" + sha256: "c7dd5fd8da63708328e02efbaa91f58df5573114a11c91ae025b711cb0d7f7ab" "1.3.1": url: "https://github.com/stephenberry/glaze/archive/v1.3.1.tar.gz" sha256: "898f86a1dd72ca4e227aad2a76dea8d1e72bf28bad1e6467a6ab1b97848664f0" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b41809af14f31..c9458b20872be 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.3.1": folder: all "1.3.0": From 45f2ab9af53f559933ec7167880e834b006922d4 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 14 Jul 2023 13:21:58 +0900 Subject: [PATCH 0937/4087] (#18536) catch2: add version 3.4.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 27ebedcdcb791..49bcf956ad89a 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + url: "https://github.com/catchorg/Catch2/archive/v3.4.0.tar.gz" + sha256: "122928b814b75717316c71af69bd2b43387643ba076a6ec16e7882bfb2dfacbb" "3.3.2": url: "https://github.com/catchorg/Catch2/archive/v3.3.2.tar.gz" sha256: "8361907f4d9bff3ae7c1edb027f813659f793053c99b67837a0c0375f065bae2" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index 5cab4a772bfb6..846bd38ba4e58 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: 3.x.x "3.3.2": folder: 3.x.x "3.3.1": From 97a8573315bc6f5f66d5a6f046f4fc8e4fad6b32 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 14 Jul 2023 15:22:55 +0900 Subject: [PATCH 0938/4087] (#18530) dice-template-library: add version 1.0.0 --- .../dice-template-library/all/CMakeLists.txt | 7 ----- .../dice-template-library/all/conandata.yml | 15 ++++++---- .../dice-template-library/all/conanfile.py | 2 +- .../all/test_package/CMakeLists.txt | 9 ++++-- .../all/test_package/test_package.cpp | 28 +++++++++++++++++++ recipes/dice-template-library/config.yml | 6 ++-- 6 files changed, 48 insertions(+), 19 deletions(-) delete mode 100644 recipes/dice-template-library/all/CMakeLists.txt diff --git a/recipes/dice-template-library/all/CMakeLists.txt b/recipes/dice-template-library/all/CMakeLists.txt deleted file mode 100644 index b71c882d9d33f..0000000000000 --- a/recipes/dice-template-library/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/dice-template-library/all/conandata.yml b/recipes/dice-template-library/all/conandata.yml index a56456e70c621..def2d951ef94e 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,10 +1,13 @@ sources: - "0.1.0": - url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v0.1.0.tar.gz" - sha256: "1d682283c4a54c4495fc65caa6f9a7674739156ce851227980430052120b2c29" - "0.2.0": - url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v0.2.0.tar.gz" - sha256: "0f981aeb5604eb305a190d3aef6625032bbb2a34a0bcd17f17ae0cef19fac384" + "1.0.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.0.0.tar.gz" + sha256: "485505ad3f9fb033083e2952bd8b4e68f6b4f123746b20f4ec3af46f4ce66cfe" "0.3.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v0.3.0.tar.gz" sha256: "2c02278f86c7b5fe1c684f5126f30529952a03784fa7c883cc4fd44965b3c33e" + "0.2.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v0.2.0.tar.gz" + sha256: "0f981aeb5604eb305a190d3aef6625032bbb2a34a0bcd17f17ae0cef19fac384" + "0.1.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v0.1.0.tar.gz" + sha256: "1d682283c4a54c4495fc65caa6f9a7674739156ce851227980430052120b2c29" diff --git a/recipes/dice-template-library/all/conanfile.py b/recipes/dice-template-library/all/conanfile.py index 0e385389ae113..9b90b9971293f 100644 --- a/recipes/dice-template-library/all/conanfile.py +++ b/recipes/dice-template-library/all/conanfile.py @@ -17,7 +17,7 @@ class DiceTemplateLibrary(ConanFile): "the Data Science Group at UPB, found pretty handy.") license = "MIT" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://dice-research.org/" + homepage = "https://github.com/dice-group/dice-template-library/" topics = ("template", "template-library", "compile-time", "switch", "integral-tuple", "header-only") package_type = "header-library" diff --git a/recipes/dice-template-library/all/test_package/CMakeLists.txt b/recipes/dice-template-library/all/test_package/CMakeLists.txt index 6ab7e1cfebb3a..554ae3cf16e97 100644 --- a/recipes/dice-template-library/all/test_package/CMakeLists.txt +++ b/recipes/dice-template-library/all/test_package/CMakeLists.txt @@ -1,9 +1,12 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED True) - find_package(dice-template-library REQUIRED CONFIG) + add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE dice-template-library::dice-template-library) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) + +if(dice-template-library_VERSION VERSION_GREATER_EQUAL "1.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE DICE_TEMPLATE_LIBRARY_1_0_0_LATER) +endif() diff --git a/recipes/dice-template-library/all/test_package/test_package.cpp b/recipes/dice-template-library/all/test_package/test_package.cpp index bb99a8eeab3a8..0b8175abb07cc 100644 --- a/recipes/dice-template-library/all/test_package/test_package.cpp +++ b/recipes/dice-template-library/all/test_package/test_package.cpp @@ -3,6 +3,33 @@ #include +#ifdef DICE_TEMPLATE_LIBRARY_1_0_0_LATER +template +struct int_array : std::array { +private: + template + int_array(int value, std::index_sequence) : std::array{((void) IDs, value)...} {} + +public: + int_array() = default; + int_array(int value) : int_array(value, std::make_index_sequence{}) {} +}; + +template +std::ostream &operator<<(std::ostream &os, int_array const &arr) { + if (N == 0) { return os << "0: []"; } + os << N << ": ["; + for (std::size_t i = 0; i < N - 1; ++i) { os << arr[i] << ", "; } + return os << arr[N - 1] << ']'; +} + +int main() { + dice::template_library::integral_template_tuple<5UL, 8, int_array> itt; + std::cout << " " << itt.template get<5>() << '\n'; +} + +#else + template struct Wrapper { static constexpr int i = N; }; @@ -11,3 +38,4 @@ int main() { dice::template_library::integral_template_tuple tup; std::cout << std::boolalpha << "tup.get<3>().i == 3: " << (tup.get<3>().i == 3) << std::endl; } +#endif diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index b657866f6cca6..930d790eeb4ba 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,7 +1,9 @@ versions: - "0.1.0": + "1.0.0": + folder: all + "0.3.0": folder: all "0.2.0": folder: all - "0.3.0": + "0.1.0": folder: all From 6b26a96962e5c148fb782af955a8147cbd3a4176 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 14 Jul 2023 08:43:40 +0200 Subject: [PATCH 0939/4087] (#18363) structopt: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * structopt: migrate to Conan v2 * structopt: restore test_v1_package * Update recipes/structopt/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/structopt/all/conandata.yml | 12 +-- recipes/structopt/all/conanfile.py | 99 +++++++++++-------- .../structopt/all/test_package/CMakeLists.txt | 5 +- .../structopt/all/test_package/conanfile.py | 21 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 102 insertions(+), 60 deletions(-) create mode 100644 recipes/structopt/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/structopt/all/test_v1_package/conanfile.py diff --git a/recipes/structopt/all/conandata.yml b/recipes/structopt/all/conandata.yml index 6f0c202add0e6..0ba29b1eb7e13 100644 --- a/recipes/structopt/all/conandata.yml +++ b/recipes/structopt/all/conandata.yml @@ -13,14 +13,10 @@ sources: sha256: "a0552e81312cfafcc5319a25c0571ca2470f43461e9f3f72e5f9d89ea4139505" patches: "0.1.3": - - base_path: "source_subfolder" - patch_file: "patches/0.1.0-0001-use-recipes.patch" + - patch_file: "patches/0.1.0-0001-use-recipes.patch" "0.1.2": - - base_path: "source_subfolder" - patch_file: "patches/0.1.0-0001-use-recipes.patch" + - patch_file: "patches/0.1.0-0001-use-recipes.patch" "0.1.1": - - base_path: "source_subfolder" - patch_file: "patches/0.1.0-0001-use-recipes.patch" + - patch_file: "patches/0.1.0-0001-use-recipes.patch" "0.1.0": - - base_path: "source_subfolder" - patch_file: "patches/0.1.0-0001-use-recipes.patch" + - patch_file: "patches/0.1.0-0001-use-recipes.patch" diff --git a/recipes/structopt/all/conanfile.py b/recipes/structopt/all/conanfile.py index 08d36a1d38388..bca62b435e167 100644 --- a/recipes/structopt/all/conanfile.py +++ b/recipes/structopt/all/conanfile.py @@ -1,36 +1,32 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class StructoptConan(ConanFile): name = "structopt" description = "Parse command line arguments by defining a struct+" - topics = ("structopt", "argument-parser", "cpp17", "header-only", - "single-header-lib", "header-library", "command-line", "arguments", - "mit-license", "modern-cpp", "structopt", "lightweight", "reflection", - "cross-platform", "library", "type-safety", "type-safe", "argparse", - "clap",) license = "MIT" - homepage = "https://github.com/p-ranav/structopt" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/p-ranav/structopt" + topics = ("argument-parser", "cpp17", "header-only", "single-header-lib", "command-line", + "arguments", "mit-license", "modern-cpp", "lightweight", "reflection", + "cross-platform", "type-safety", "type-safe", "argparse", "clap") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - - def requirements(self): - self.requires("magic_enum/0.8.0") - self.requires("visit_struct/1.0") - - def package_id(self): - self.info.header_only() + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -39,39 +35,58 @@ def _compilers_minimum_version(self): "Visual Studio": "15.0", "clang": "5", "apple-clang": "10", + "msvc": "191", } + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("magic_enum/0.9.2") + self.requires("visit_struct/1.1.0") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("structopt: Unsupported compiler: {}-{} " - "(https://github.com/p-ranav/structopt#compiler-compatibility)." - .format(self.settings.compiler, self.settings.compiler.version)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"structopt: Unsupported compiler: {self.settings.compiler}-{self.settings.compiler.version} " + f"(https://github.com/p-ranav/structopt#compiler-compatibility)." + ) else: - self.output.warn("{} requires C++14. Your compiler is unknown. Assuming it supports C++14.".format(self.name)) + self.output.warning("{} requires C++14. Your compiler is unknown. Assuming it supports C++14.".format(self.name)) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(source_folder=self._source_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - tools.rmdir(os.path.join(self._source_subfolder, "include", "structopt", "third_party")) - + apply_conandata_patches(self) + rmdir(self, os.path.join(self.source_folder, "include", "structopt", "third_party")) def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.configure() 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")) + 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.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/structopt/all/test_package/CMakeLists.txt b/recipes/structopt/all/test_package/CMakeLists.txt index edf44ae8164be..ea6a19b7561c5 100644 --- a/recipes/structopt/all/test_package/CMakeLists.txt +++ b/recipes/structopt/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(structopt REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/structopt/all/test_package/conanfile.py b/recipes/structopt/all/test_package/conanfile.py index 49a3a66ea5bad..fae501d0afb9e 100644 --- a/recipes/structopt/all/test_package/conanfile.py +++ b/recipes/structopt/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" + 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/structopt/all/test_v1_package/CMakeLists.txt b/recipes/structopt/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/structopt/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/structopt/all/test_v1_package/conanfile.py b/recipes/structopt/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/structopt/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 15366e9dbae084f169fdb7d6f1859d31b9d0821a Mon Sep 17 00:00:00 2001 From: Andy Mroczkowski Date: Fri, 14 Jul 2023 03:42:57 -0400 Subject: [PATCH 0940/4087] (#18483) openblas: fix error with build_lapack option If `build_lapack` was set to `True`, you would get the following error: ``` ERROR: openblas/0.3.15: Error in generate() method, line 79 self.output.warn("Building with lapack support requires a Fortran compiler.") AttributeError: 'ConanOutput' object has no attribute 'warn' ``` --- recipes/openblas/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/openblas/all/conanfile.py b/recipes/openblas/all/conanfile.py index 5036886045a01..d0b7d2c131bf8 100644 --- a/recipes/openblas/all/conanfile.py +++ b/recipes/openblas/all/conanfile.py @@ -47,7 +47,7 @@ def validate(self): if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") - def source(self): + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, @@ -76,7 +76,7 @@ def generate(self): tc = CMakeToolchain(self) if self.options.build_lapack: - self.output.warn("Building with lapack support requires a Fortran compiler.") + self.output.warning("Building with lapack support requires a Fortran compiler.") tc.cache_variables["NOFORTRAN"] = not self.options.build_lapack tc.cache_variables["BUILD_WITHOUT_LAPACK"] = not self.options.build_lapack tc.cache_variables["DYNAMIC_ARCH"] = self.options.dynamic_arch From b70a90587194ab2aef4ae69f27b59eae12ded7ee Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Fri, 14 Jul 2023 10:26:00 +0200 Subject: [PATCH 0941/4087] (#17242) Add SCIP mixed-integer programming solver * Add SCIP mixed-integer solver * Do not export bliss in shared mode * Add option with_sym * Bliss does not support libc++ * Use normpath on Windows * Replace backslash in Windows paths * Bliss is built in another directory under Windows * Add package_type * Add zlib as dependency Co-authored-by: Uilian Ries * Check that the options between this package and its dependency soplex are aligned Co-authored-by: Uilian Ries * Remove v1 test package * Always depend on boost and gmp, independently of the parameters * improve scip recipe Signed-off-by: Uilian Ries * use bliss 0.77 Signed-off-by: Uilian Ries * Drop option with_boost --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/scip/all/conandata.yml | 4 + recipes/scip/all/conanfile.py | 146 ++++++++++++++++++ recipes/scip/all/test_package/CMakeLists.txt | 7 + recipes/scip/all/test_package/conanfile.py | 26 ++++ .../scip/all/test_package/test_package.cpp | 12 ++ recipes/scip/config.yml | 3 + 6 files changed, 198 insertions(+) create mode 100644 recipes/scip/all/conandata.yml create mode 100644 recipes/scip/all/conanfile.py create mode 100644 recipes/scip/all/test_package/CMakeLists.txt create mode 100644 recipes/scip/all/test_package/conanfile.py create mode 100644 recipes/scip/all/test_package/test_package.cpp create mode 100644 recipes/scip/config.yml diff --git a/recipes/scip/all/conandata.yml b/recipes/scip/all/conandata.yml new file mode 100644 index 0000000000000..8e5c45d17a6da --- /dev/null +++ b/recipes/scip/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "8.0.3": + url: "https://github.com/scipopt/scip/archive/refs/tags/v803.tar.gz" + sha256: "fe7636f8165a8c9298ff55ed3220d084d4ea31ba9b69d2733beec53e0e4335d6" diff --git a/recipes/scip/all/conanfile.py b/recipes/scip/all/conanfile.py new file mode 100644 index 0000000000000..1afdaf21774a7 --- /dev/null +++ b/recipes/scip/all/conanfile.py @@ -0,0 +1,146 @@ +from conan import ConanFile +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.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version +from os.path import join + +required_conan_version = ">=1.53.0" + + +class SCIPConan(ConanFile): + name = "scip" + description = "SCIP mixed integer (nonlinear) programming solver" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://scipopt.org/" + topics = ("mip", "solver", "linear", "programming") + settings = "os", "arch", "compiler", "build_type" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_gmp": [True, False], + "with_tpi": [False, "omp", "tny"], + "with_sym": [False, "bliss"], + } + default_options = { + "shared": False, + "fPIC": True, + "with_gmp": True, + "with_tpi": False, + "with_sym": "bliss", + } + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + "clang": "4", + "apple-clang": "7", + } + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + if self.options.shared and self.options.with_sym == "bliss": + raise ConanInvalidConfiguration("Bliss is not supported in shared mode.") + comp = self.settings.compiler + if self.options.with_sym == "bliss" and comp == 'clang' and comp.libcxx and comp.libcxx == 'libc++': + raise ConanInvalidConfiguration("Bliss does not support libc++.") + if self.dependencies["soplex"].options.with_gmp and not self.options.with_gmp: + raise ConanInvalidConfiguration("The options 'with_gmp' should be aligned with 'soplex:with_gmp' too.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def requirements(self): + if self.options.with_gmp: + self.requires("gmp/6.2.1") + if self.options.with_sym == "bliss": + self.requires("bliss/0.77") + self.requires("soplex/6.0.3") + self.requires("zlib/1.2.13") + + def configure(self): + self.options["soplex"].with_gmp = self.options.with_gmp + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + @staticmethod + def _to_cmake(*arrays): + return ";".join(item.replace("\\", "/") for sublist in arrays for item in sublist) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SHARED"] = self.options.shared + tc.variables["READLINE"] = False # required for interactive stuff + tc.variables["GMP"] = self.options.with_gmp + tc.variables["TPI"] = self.options.with_tpi or "none" + tc.variables["LPS"] = "spx" + tc.variables["SYM"] = self.options.with_sym or "none" + tc.variables["SOPLEX_INCLUDE_DIRS"] = self._to_cmake(self.dependencies["soplex"].cpp_info.includedirs) + if self.options.shared: + # CMakeLists accesses different variables for SoPlex depending on the SHARED option + tc.variables["SOPLEX_PIC_LIBRARIES"] = "soplex" + if self.dependencies["soplex"].options.with_boost: + # INFO: docu states BOOST_ROOT, yet that does not exist in CMakeLists + tc.variables["SOPLEX_INCLUDE_DIRS"] = self._to_cmake( + self.dependencies["soplex"].cpp_info.includedirs, + self.dependencies["boost"].cpp_info.includedirs + ) + tc.variables["PAPILO"] = False # LGPL + tc.variables["ZIMPL"] = False # LPGL + tc.variables["IPOPT"] = False # no such coin package on conan center yet + tc.generate() + deps = CMakeDeps(self) + deps.set_property("sopex", "cmake_file_name", "SOPEX") + deps.set_property("gmp", "cmake_file_name", "GMP") + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build(target="libscip") + + def package(self): + copy(self, pattern="LICENSE", src=self.source_folder, dst=join(self.package_folder, "licenses")) + # cmake install is not used as this requires the command line tools to be built, which we do not do + copy(self, pattern="*.h", src=join(self.source_folder, "src"), dst=join(self.package_folder, "include")) + copy(self, pattern="*.h", src=join(self.build_folder, "scip"), dst=join(self.package_folder, "include", "scip")) + if self.options.shared: + copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + else: + copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) + copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = ["libscip" if is_msvc(self) else "scip"] + if self.options.with_tpi == "omp": + self.cpp_info.system_libs.append("-fopenmp") diff --git a/recipes/scip/all/test_package/CMakeLists.txt b/recipes/scip/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..a3b0a4eba8335 --- /dev/null +++ b/recipes/scip/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 14) + +find_package(scip REQUIRED CONFIG) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE scip::scip) diff --git a/recipes/scip/all/test_package/conanfile.py b/recipes/scip/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8a5bb47f50c4c --- /dev/null +++ b/recipes/scip/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 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/scip/all/test_package/test_package.cpp b/recipes/scip/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..36b9c1c15a47d --- /dev/null +++ b/recipes/scip/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include + +#include "scip/scip.h" + + +int main() { + SCIP* scip; + SCIPcreate(&scip); + SCIPprintVersion(scip, NULL); + SCIPinfoMessage(scip, NULL, "\n"); + return EXIT_SUCCESS; +} diff --git a/recipes/scip/config.yml b/recipes/scip/config.yml new file mode 100644 index 0000000000000..5a689d128f61a --- /dev/null +++ b/recipes/scip/config.yml @@ -0,0 +1,3 @@ +versions: + "8.0.3": + folder: all From 4797049542f21eb7580fff04932507944071f04c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 14 Jul 2023 11:45:17 +0200 Subject: [PATCH 0942/4087] (#17972) metis: add Conan v2 support, v5.2.1, all options * metis: update to Conan v2 * metis: simplify patches, add relevant options * metis: add v5.2.1 * metis: backport bugfixes from v5.2.1 to v5.1.1 * metis: drop v5.1.1 in favor of 5.2.1 v5.2.1 only adds internal bug fixes as far as I can tell. https://github.com/KarypisLab/METIS/compare/v5.1.1-DistDGL-v0.5...v5.2.1 Notably, there are only cosmetic changes in the metis.h public header. * metis: gkbuild.cmake no longer needed with v5.2.1 * Revert "metis: gkbuild.cmake no longer needed with v5.2.1" This reverts commit 188cd30a2c45475e14b075d51ef8aa00a0a0f825. * Revert "metis: drop v5.1.1 in favor of 5.2.1" This reverts commit d8eac6b483c26e31ebfab5ebfb678edd22e312f1. * metis: correct patch_type info * Applied suggestions * cache_variables instead --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/metis/all/CMakeLists.txt | 17 + recipes/metis/all/conandata.yml | 33 +- recipes/metis/all/conanfile.py | 108 ++- recipes/metis/all/gkbuild.cmake | 121 +++ .../patches/001-add-gklib-system-cmake.patch | 151 ---- .../all/patches/002-support-pure-cmake.patch | 771 ------------------ .../all/patches/003-remove-programs.patch | 8 - .../all/patches/004-use-conan-gklib.patch | 17 - .../metis/all/patches/005-fix-install.patch | 28 - .../006-require-newer-cmakelists.patch | 22 - ...-fix-memory-bug-same-size-coarsening.patch | 721 ---------------- .../008-fix-memory-bug-coarsening.patch | 470 ----------- ...1.1-001-fix-coarse-graph-memory-bugs.patch | 246 ++++++ ...1.1-002-fix-out-out-of-bounds-errors.patch | 199 +++++ .../5.1.1-003-reduce-maximum-memory-use.patch | 197 +++++ recipes/metis/all/test_package/test.cpp | 11 +- .../metis/all/test_v1_package/CMakeLists.txt | 8 - .../metis/all/test_v1_package/conanfile.py | 18 - recipes/metis/config.yml | 2 + 19 files changed, 880 insertions(+), 2268 deletions(-) create mode 100644 recipes/metis/all/CMakeLists.txt create mode 100644 recipes/metis/all/gkbuild.cmake delete mode 100644 recipes/metis/all/patches/001-add-gklib-system-cmake.patch delete mode 100644 recipes/metis/all/patches/002-support-pure-cmake.patch delete mode 100644 recipes/metis/all/patches/003-remove-programs.patch delete mode 100644 recipes/metis/all/patches/004-use-conan-gklib.patch delete mode 100644 recipes/metis/all/patches/005-fix-install.patch delete mode 100644 recipes/metis/all/patches/006-require-newer-cmakelists.patch delete mode 100644 recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch delete mode 100644 recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch create mode 100644 recipes/metis/all/patches/5.1.1-001-fix-coarse-graph-memory-bugs.patch create mode 100644 recipes/metis/all/patches/5.1.1-002-fix-out-out-of-bounds-errors.patch create mode 100644 recipes/metis/all/patches/5.1.1-003-reduce-maximum-memory-use.patch delete mode 100644 recipes/metis/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/metis/all/test_v1_package/conanfile.py diff --git a/recipes/metis/all/CMakeLists.txt b/recipes/metis/all/CMakeLists.txt new file mode 100644 index 0000000000000..b311c024ef0c5 --- /dev/null +++ b/recipes/metis/all/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.15) +project(METIS C) + +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + +include(gkbuild.cmake) + +find_package(gklib REQUIRED) + +file(GLOB metis_sources libmetis/*.c) +add_library(metis ${metis_sources}) +target_include_directories(metis PRIVATE libmetis include) +target_link_libraries(metis PRIVATE gklib::gklib) + +include(GNUInstallDirs) +install(TARGETS metis) +install(DIRECTORY include/ DESTINATION include) diff --git a/recipes/metis/all/conandata.yml b/recipes/metis/all/conandata.yml index b58bdca27dce2..2250bb8608a80 100644 --- a/recipes/metis/all/conandata.yml +++ b/recipes/metis/all/conandata.yml @@ -1,32 +1,21 @@ sources: + "5.2.1": + url: "https://github.com/KarypisLab/METIS/archive/refs/tags/v5.2.1.tar.gz" + sha256: "1a4665b2cd07edc2f734e30d7460afb19c1217c2547c2ac7bf6e1848d50aff7a" "5.1.1": url: "https://github.com/KarypisLab/METIS/archive/refs/tags/v5.1.1-DistDGL-v0.5.tar.gz" sha256: "cedf0b32d32a8496bac7eb078b2b8260fb00ddb8d50c27e4082968a01bc33331" patches: "5.1.1": - - patch_file: "patches/001-add-gklib-system-cmake.patch" - patch_type: "conan" - patch_description: "Add gklib system cmake" - - patch_file: "patches/002-support-pure-cmake.patch" - patch_type: "conan" - patch_description: "Support pure CMake" - - patch_file: "patches/003-remove-programs.patch" - patch_type: "conan" - patch_description: "Remove building of programs" - - patch_file: "patches/004-use-conan-gklib.patch" - patch_type: "conan" - patch_description: "Use conan gklib" - - patch_file: "patches/005-fix-install.patch" - patch_type: "conan" - patch_description: "Fix runtime install" - - patch_file: "patches/006-require-newer-cmakelists.patch" - patch_type: "conan" - patch_description: "Require newer CMakeLists" - - patch_file: "patches/007-fix-memory-bug-same-size-coarsening.patch" + - patch_file: "patches/5.1.1-001-fix-coarse-graph-memory-bugs.patch" patch_type: "bugfix" patch_source: "https://github.com/KarypisLab/METIS/commit/36262adecaa9720a4417a67124428061c367fd3f" patch_description: "Fix memory bug when coarser graph stays the same" - - patch_file: "patches/008-fix-memory-bug-coarsening.patch" + - patch_file: "patches/5.1.1-002-fix-out-out-of-bounds-errors.patch" patch_type: "bugfix" - patch_source: "https://github.com/KarypisLab/METIS/commit/38a8fb0fd1cdde963b04997c7be844028602793a" - patch_description: "Fix memory bug when coarsening" + patch_source: "https://github.com/KarypisLab/METIS/commit/b9e8609ea16d27cf61e1ad8a38af1bfd6185eca5" + patch_description: "Fix out out-of-bounds memory errors" + - patch_file: "patches/5.1.1-003-reduce-maximum-memory-use.patch" + patch_type: "bugfix" + patch_source: "https://github.com/KarypisLab/METIS/commit/aef54c5b2a72f9d0c3c91b008c35271560b79cac" + patch_description: "Small changes to reduce maximum memory use" diff --git a/recipes/metis/all/conanfile.py b/recipes/metis/all/conanfile.py index 3877d7ef5d8e7..7782c2735e124 100644 --- a/recipes/metis/all/conanfile.py +++ b/recipes/metis/all/conanfile.py @@ -1,20 +1,23 @@ -from os import path +import os + from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, rm, export_conandata_patches, apply_conandata_patches from conan.tools.microsoft import is_msvc -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout - required_conan_version = ">=1.53.0" + class METISConan(ConanFile): name = "metis" + description = ( + "Set of serial programs for partitioning graphs, " + "partitioning finite element meshes, and producing " + "fill reducing orderings for sparse matrices" + ) license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/KarypisLab/METIS" - description = "set of serial programs for partitioning graphs," \ - " partitioning finite element meshes, and producing" \ - " fill reducing orderings for sparse matrices" topics = ("karypislab", "graph", "partitioning-algorithms") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -22,23 +25,37 @@ class METISConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_64bit_types": [True, False], + "enable_gkrand": [True, False], + "enable_gkregex": [True, False], + "with_openmp": [True, False], + "with_pcre": [True, False], + "with_valgrind": [True, False], } default_options = { "shared": False, "fPIC": True, "with_64bit_types": True, + "enable_gkrand": False, + "enable_gkregex": False, + "with_openmp": False, + "with_pcre": False, + "with_valgrind": False, } - @property - def _is_mingw(self): - return self.settings.os == "Windows" and self.settings.compiler == "gcc" - def export_sources(self): export_conandata_patches(self) + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) + copy( + self, + "gkbuild.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 + del self.options.enable_gkregex def configure(self): if self.options.shared: @@ -54,40 +71,79 @@ def requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + rm(self, "*.pdf", self.source_folder, recursive=True) + copy(self, "CMakeLists.txt", self.export_sources_folder, self.source_folder) def generate(self): tc = CMakeToolchain(self) - tc.variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - tc.variables["SHARED"] = self.options.shared - tc.variables["METIS_INSTALL"] = True - tc.variables["ASSERT"] = self.settings.build_type == "Debug" - tc.variables["ASSERT2"] = self.settings.build_type == "Debug" - tc.variables["METIS_IDX64"] = self.options.with_64bit_types - tc.variables["METIS_REAL64"] = self.options.with_64bit_types - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.cache_variables["VALGRIND"] = self.options.with_valgrind + tc.cache_variables["OPENMP"] = self.options.with_openmp + tc.cache_variables["PCRE"] = self.options.with_pcre + tc.cache_variables["GKREGEX"] = self.settings.os == "Windows" or self.options.enable_gkregex + tc.cache_variables["GKRAND"] = self.options.enable_gkrand + if self.settings.build_type == "Debug": + tc.preprocessor_definitions["DEBUG"] = "" + else: + # NDEBUG is defined by default by CMake + # tc.preprocessor_definitions["NDEBUG"] = "" + tc.preprocessor_definitions["NDEBUG2"] = "" + bits = 64 if self.options.with_64bit_types else 32 + tc.preprocessor_definitions["IDXTYPEWIDTH"] = str(bits) + tc.preprocessor_definitions["REALTYPEWIDTH"] = str(bits) + tc.generate() + tc = CMakeDeps(self) tc.generate() - deps = CMakeDeps(self) - deps.generate() + def _patch_sources(self): + apply_conandata_patches(self) def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() def package(self): - copy(self, pattern="LICENSE", src=self.source_folder, dst=path.join(self.package_folder, "licenses")) + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) cmake = CMake(self) cmake.install() + rm(self, "*.cmake", self.package_folder, recursive=True) + rm(self, "*.pc", self.package_folder, recursive=True) + rm(self, "*.pdb", self.package_folder, recursive=True) def package_info(self): self.cpp_info.libs = ["metis"] - self.cpp_info.requires.append("gklib::gklib") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - if is_msvc(self) or self._is_mingw: - self.cpp_info.defines.append("USE_GKREGEX") + self.cpp_info.defines.append("LINUX") + elif self.settings.os == "Windows": + self.cpp_info.defines.append("WIN32") + self.cpp_info.defines.append("MSC") + self.cpp_info.defines.append("_CRT_SECURE_NO_DEPRECATE") + elif self.settings.os == "Macos": + self.cpp_info.defines.append("MACOS") + elif self.settings.os == "SunOS": + self.cpp_info.defines.append("SUNOS") + if is_msvc(self): self.cpp_info.defines.append("__thread=__declspec(thread)") + + bits = 64 if self.options.with_64bit_types else 32 + self.cpp_info.defines.append(f"IDXTYPEWIDTH={bits}") + self.cpp_info.defines.append(f"REALTYPEWIDTH={bits}") + + # Defines for GKLib headers + if self.settings.os == "Windows" or self.options.enable_gkregex: + self.cpp_info.defines.append("USE_GKREGEX") + if self.options.enable_gkrand: + self.cpp_info.defines.append("USE_GKRAND") + if self.options.with_pcre: + self.cpp_info.defines.append("__WITHPCRE__") + if self.options.with_openmp: + self.cpp_info.defines.append("__OPENMP__") diff --git a/recipes/metis/all/gkbuild.cmake b/recipes/metis/all/gkbuild.cmake new file mode 100644 index 0000000000000..c5f8ebbaa39fe --- /dev/null +++ b/recipes/metis/all/gkbuild.cmake @@ -0,0 +1,121 @@ +# Source:https://github.com/KarypisLab/METIS/blob/e0f1b88/conf/gkbuild.cmake +# With some of the config moved to conanfile.py. + +# Helper modules. +include(CheckFunctionExists) +include(CheckIncludeFile) + +# Setup options. +option(GPROF "add gprof support" OFF) +option(VALGRIND "add valgrind support" OFF) +option(OPENMP "enable OpenMP support" OFF) +option(PCRE "enable PCRE support" OFF) +option(GKREGEX "enable GKREGEX support" OFF) +option(GKRAND "enable GKRAND support" OFF) + +# Add compiler flags. +if(MSVC) + set(GK_COPTS "/Ox") + set(GK_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") +elseif(MINGW) + set(GK_COPTS "-DUSE_GKREGEX") +else() + set(GK_COPTIONS "-DLINUX -D_FILE_OFFSET_BITS=64") +endif() +if(CYGWIN) + set(GK_COPTIONS "${GK_COPTIONS} -DCYGWIN") +endif() +if(CMAKE_C_COMPILER_ID STREQUAL "GNU") + # GCC opts. + set(GK_COPTIONS "${GK_COPTIONS} -std=c99 -fno-strict-aliasing") + if(VALGRIND) + set(GK_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic") + else() + # -march=native is not a valid flag on PPC: + if(CMAKE_SYSTEM_PROCESSOR MATCHES "power|ppc|powerpc|ppc64|powerpc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64")) + set(GK_COPTIONS "${GK_COPTIONS} -mtune=native") + else() + set(GK_COPTIONS "${GK_COPTIONS} -march=native") + endif() + endif() + # GCC warnings. + set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") +elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") + # Sun insists on -xc99. + set(GK_COPTIONS "${GK_COPTIONS} -xc99") +endif() + +if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") + set(GK_COPTIONS "${GK_COPTIONS} -xHost") + # set(GK_COPTIONS "${GK_COPTIONS} -fast") +endif() + +# Add support for MacOS items +if(APPLE) + set(GK_COPTIONS "${GK_COPTIONS} -DMACOS") +endif() + +# Find OpenMP if it is requested. +if(OPENMP) + include(FindOpenMP) + if(OPENMP_FOUND) + set(GK_COPTIONS "${GK_COPTIONS} -D__OPENMP__ ${OpenMP_C_FLAGS}") + else() + message(WARNING "OpenMP was requested but support was not found") + endif() +endif() + +if(GPROF) + set(GK_COPTS "-pg") +endif() + +# Add various options +if(PCRE) + set(GK_COPTIONS "${GK_COPTIONS} -D__WITHPCRE__") +endif() + +if(GKREGEX) + set(GK_COPTIONS "${GK_COPTIONS} -DUSE_GKREGEX") +endif() + +if(GKRAND) + set(GK_COPTIONS "${GK_COPTIONS} -DUSE_GKRAND") +endif() + + +# Check for features. +check_include_file(execinfo.h HAVE_EXECINFO_H) +if(HAVE_EXECINFO_H) + set(GK_COPTIONS "${GK_COPTIONS} -DHAVE_EXECINFO_H") +endif() + +check_function_exists(getline HAVE_GETLINE) +if(HAVE_GETLINE) + set(GK_COPTIONS "${GK_COPTIONS} -DHAVE_GETLINE") +endif() + + +# Custom check for TLS. +if(MSVC) + set(GK_COPTIONS "${GK_COPTIONS} -D__thread=__declspec(thread)") + + # This if checks if that value is cached or not. + if("${HAVE_THREADLOCALSTORAGE}" MATCHES "^${HAVE_THREADLOCALSTORAGE}$") + file(WRITE ${CMAKE_SOURCE_DIR}/check_thread_storage.c + "extern __thread int x; int main() { return 0; }") + try_compile(HAVE_THREADLOCALSTORAGE + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/check_thread_storage.c) + if(HAVE_THREADLOCALSTORAGE) + message(STATUS "checking for thread-local storage - found") + else() + message(STATUS "checking for thread-local storage - not found") + endif() + endif() + if(NOT HAVE_THREADLOCALSTORAGE) + set(GK_COPTIONS "${GK_COPTIONS} -D__thread=") + endif() +endif() + +# Finally set the official C flags. +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GK_COPTIONS} ${GK_COPTS}") diff --git a/recipes/metis/all/patches/001-add-gklib-system-cmake.patch b/recipes/metis/all/patches/001-add-gklib-system-cmake.patch deleted file mode 100644 index 2c6798304339e..0000000000000 --- a/recipes/metis/all/patches/001-add-gklib-system-cmake.patch +++ /dev/null @@ -1,151 +0,0 @@ -Add gklib system cmake ---- /dev/null -+++ b/GKlib/GKlibSystem.cmake -@@ -0,0 +1,133 @@ -+# Helper modules. -+include(CheckFunctionExists) -+include(CheckIncludeFile) -+ -+# Setup options. -+option(GDB "enable use of GDB" OFF) -+option(ASSERT "turn asserts on" OFF) -+option(ASSERT2 "additional assertions" OFF) -+option(DEBUG "add debugging support" OFF) -+option(GPROF "add gprof support" OFF) -+option(OPENMP "enable OpenMP support" OFF) -+option(PCRE "enable PCRE support" OFF) -+option(GKREGEX "enable GKREGEX support" OFF) -+option(GKRAND "enable GKRAND support" OFF) -+ -+ -+# Add compiler flags. -+if(MSVC) -+ set(GKlib_COPTS "/Ox") -+ set(GKlib_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") -+elseif(MINGW) -+ set(GKlib_COPTS "-DUSE_GKREGEX") -+else() -+ set(GKlib_COPTIONS "-DLINUX -D_FILE_OFFSET_BITS=64") -+endif(MSVC) -+if(CYGWIN) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DCYGWIN") -+endif(CYGWIN) -+if(CMAKE_COMPILER_IS_GNUCC) -+# GCC opts. -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -std=c99 -fno-strict-aliasing") -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -march=native") -+ if(NOT MINGW) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -fPIC") -+ endif(NOT MINGW) -+# GCC warnings. -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") -+elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") -+# Sun insists on -xc99. -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99") -+endif(CMAKE_COMPILER_IS_GNUCC) -+ -+# Intel compiler -+if(${CMAKE_C_COMPILER_ID} MATCHES "Intel") -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -xHost -std=c99") -+endif() -+ -+# Find OpenMP if it is requested. -+if(OPENMP) -+ include(FindOpenMP) -+ if(OPENMP_FOUND) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__OPENMP__ ${OpenMP_C_FLAGS}") -+ else() -+ message(WARNING "OpenMP was requested but support was not found") -+ endif(OPENMP_FOUND) -+endif(OPENMP) -+ -+ -+# Add various definitions. -+if(GDB) -+ set(GKlib_COPTS "${GKlib_COPTS} -g") -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror") -+else() -+ set(GKlib_COPTS "-O3") -+endif(GDB) -+ -+ -+if(DEBUG) -+ set(GKlib_COPTS "-g") -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DDEBUG") -+endif(DEBUG) -+ -+if(GPROF) -+ set(GKlib_COPTS "-pg") -+endif(GPROF) -+ -+if(NOT ASSERT) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNDEBUG") -+endif(NOT ASSERT) -+ -+if(NOT ASSERT2) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNDEBUG2") -+endif(NOT ASSERT2) -+ -+ -+# Add various options -+if(PCRE) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__WITHPCRE__") -+endif(PCRE) -+ -+if(GKREGEX) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DUSE_GKREGEX") -+endif(GKREGEX) -+ -+if(GKRAND) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DUSE_GKRAND") -+endif(GKRAND) -+ -+ -+# Check for features. -+check_include_file(execinfo.h HAVE_EXECINFO_H) -+if(HAVE_EXECINFO_H) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DHAVE_EXECINFO_H") -+endif(HAVE_EXECINFO_H) -+ -+check_function_exists(getline HAVE_GETLINE) -+if(HAVE_GETLINE) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DHAVE_GETLINE") -+endif(HAVE_GETLINE) -+ -+ -+# Custom check for TLS. -+if(MSVC) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__thread=__declspec(thread)") -+ -+ # This if checks if that value is cached or not. -+ if("${HAVE_THREADLOCALSTORAGE}" MATCHES "^${HAVE_THREADLOCALSTORAGE}$") -+ try_compile(HAVE_THREADLOCALSTORAGE -+ ${CMAKE_BINARY_DIR} -+ ${GKLIB_PATH}/conf/check_thread_storage.c) -+ if(HAVE_THREADLOCALSTORAGE) -+ message(STATUS "checking for thread-local storage - found") -+ else() -+ message(STATUS "checking for thread-local storage - not found") -+ endif() -+ endif() -+ if(NOT HAVE_THREADLOCALSTORAGE) -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__thread=") -+ endif() -+endif() -+ -+# Finally set the official C flags. -+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GKlib_COPTIONS} ${GKlib_COPTS}") -diff --git a/GKlib/conf/check_thread_storage.c b/GKlib/conf/check_thread_storage.c -new file mode 100644 -index 0000000..e6e1e98 ---- /dev/null -+++ b/GKlib/conf/check_thread_storage.c -@@ -0,0 +1,5 @@ -+extern __thread int x; -+ -+int main(int argc, char **argv) { -+ return 0; -+} --- -2.33.1.windows.1 - diff --git a/recipes/metis/all/patches/002-support-pure-cmake.patch b/recipes/metis/all/patches/002-support-pure-cmake.patch deleted file mode 100644 index 7fc0e8b45ccb7..0000000000000 --- a/recipes/metis/all/patches/002-support-pure-cmake.patch +++ /dev/null @@ -1,771 +0,0 @@ -Generate metis.h based on CMake options ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,26 +20,28 @@ endif(SHARED) - include(${GKLIB_PATH}/GKlibSystem.cmake) - - # METIS' custom options --#option(IDX64 "enable 64 bit ints" OFF) --#option(REAL64 "enable 64 bit floats (i.e., double)" OFF) --#if(IDX64) --# set(METIS_COPTIONS "${METIS_COPTIONS} -DIDXTYPEWIDTH=64") --#else() --# set(METIS_COPTIONS "${METIS_COPTIONS} -DIDXTYPEWIDTH=32") --#endif(IDX64) --#if(REAL64) --# set(METIS_COPTIONS "${METIS_COPTIONS} -DREALTYPEWIDTH=64") --#else() --# set(METIS_COPTIONS "${METIS_COPTIONS} -DREALTYPEWIDTH=32") --#endif(REAL64) --# --#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${METIS_COPTIONS}") -- -+option(METIS_IDX64 "enable 64 bit ints" OFF) -+option(METIS_REAL64 "enable 64 bit floats (i.e., double)" OFF) -+if (METIS_IDX64) -+ set(METIS_IDXTYPEWIDTH 64) -+else () -+ set(METIS_IDXTYPEWIDTH 32) -+endif () -+if (METIS_REAL64) -+ set(METIS_REALTYPEWIDTH 64) -+else () -+ set(METIS_REALTYPEWIDTH 32) -+endif () - - # Add include directories. - include_directories(${GKLIB_PATH}) --include_directories(build/xinclude) -+configure_file(${PROJECT_SOURCE_DIR}/include/metis.h.in -+ ${PROJECT_BINARY_DIR}/include/metis.h) -+include_directories(${PROJECT_BINARY_DIR}/include) -+if (METIS_INSTALL) -+ install(FILES ${PROJECT_BINARY_DIR}/include/metis.h DESTINATION include) -+endif () -+ - # Recursively look for CMakeLists.txt in subdirs. --add_subdirectory("build/xinclude") - add_subdirectory("libmetis") - add_subdirectory("programs") ---- a/include/metis.h -+++ /dev/null -@@ -1,358 +0,0 @@ --/*! --\file metis.h --\brief This file contains function prototypes and constant definitions for METIS -- * --\author George --\date Started 8/9/02 --\version\verbatim $Id$\endverbatim --*/ -- --#ifndef _METIS_H_ --#define _METIS_H_ -- --/**************************************************************************** --* A set of defines that can be modified by the user --*****************************************************************************/ -- --/*-------------------------------------------------------------------------- -- Specifies the width of the elementary data type that will hold information -- about vertices and their adjacency lists. -- -- Possible values: -- 32 : Use 32 bit signed integers -- 64 : Use 64 bit signed integers -- -- A width of 64 should be specified if the number of vertices or the total -- number of edges in the graph exceed the limits of a 32 bit signed integer -- i.e., 2^31-1. -- Proper use of 64 bit integers requires that the c99 standard datatypes -- int32_t and int64_t are supported by the compiler. -- GCC does provides these definitions in stdint.h, but it may require some -- modifications on other architectures. ----------------------------------------------------------------------------*/ --//#define IDXTYPEWIDTH 32 -- -- --/*-------------------------------------------------------------------------- -- Specifies the data type that will hold floating-point style information. -- -- Possible values: -- 32 : single precission floating point (float) -- 64 : double precission floating point (double) ----------------------------------------------------------------------------*/ --//#define REALTYPEWIDTH 32 -- -- -- --/**************************************************************************** --* In principle, nothing needs to be changed beyond this point, unless the --* int32_t and int64_t cannot be found in the normal places. --*****************************************************************************/ -- --/* Uniform definitions for various compilers */ --#if defined(_MSC_VER) -- #define COMPILER_MSC --#endif --#if defined(__ICC) -- #define COMPILER_ICC --#endif --#if defined(__GNUC__) -- #define COMPILER_GCC --#endif -- --/* Include c99 int definitions and need constants. When building the library, -- * these are already defined by GKlib; hence the test for _GKLIB_H_ */ --#ifndef _GKLIB_H_ --#ifdef COMPILER_MSC --#include -- --typedef __int32 int32_t; --typedef __int64 int64_t; --#define PRId32 "I32d" --#define PRId64 "I64d" --#define SCNd32 "ld" --#define SCNd64 "I64d" --#define INT32_MIN ((int32_t)_I32_MIN) --#define INT32_MAX _I32_MAX --#define INT64_MIN ((int64_t)_I64_MIN) --#define INT64_MAX _I64_MAX --#else --#include --#endif --#endif -- -- --/*------------------------------------------------------------------------ --* Setup the basic datatypes --*-------------------------------------------------------------------------*/ --#if IDXTYPEWIDTH == 32 -- typedef int32_t idx_t; -- -- #define IDX_MAX INT32_MAX -- #define IDX_MIN INT32_MIN -- -- #define SCIDX SCNd32 -- #define PRIDX PRId32 -- -- #define strtoidx strtol -- #define iabs abs --#elif IDXTYPEWIDTH == 64 -- typedef int64_t idx_t; -- -- #define IDX_MAX INT64_MAX -- #define IDX_MIN INT64_MIN -- -- #define SCIDX SCNd64 -- #define PRIDX PRId64 -- --#ifdef COMPILER_MSC -- #define strtoidx _strtoi64 --#else -- #define strtoidx strtoll --#endif -- #define iabs labs --#else -- #error "Incorrect user-supplied value fo IDXTYPEWIDTH" --#endif -- -- --#if REALTYPEWIDTH == 32 -- typedef float real_t; -- -- #define SCREAL "f" -- #define PRREAL "f" -- #define REAL_MAX FLT_MAX -- #define REAL_MIN FLT_MIN -- #define REAL_EPSILON FLT_EPSILON -- -- #define rabs fabsf -- #define REALEQ(x,y) ((rabs((x)-(y)) <= FLT_EPSILON)) -- --#ifdef COMPILER_MSC -- #define strtoreal (float)strtod --#else -- #define strtoreal strtof --#endif --#elif REALTYPEWIDTH == 64 -- typedef double real_t; -- -- #define SCREAL "lf" -- #define PRREAL "lf" -- #define REAL_MAX DBL_MAX -- #define REAL_MIN DBL_MIN -- #define REAL_EPSILON DBL_EPSILON -- -- #define rabs fabs -- #define REALEQ(x,y) ((rabs((x)-(y)) <= DBL_EPSILON)) -- -- #define strtoreal strtod --#else -- #error "Incorrect user-supplied value for REALTYPEWIDTH" --#endif -- -- --/*------------------------------------------------------------------------ --* Constant definitions --*-------------------------------------------------------------------------*/ --/* Metis's version number */ --#define METIS_VER_MAJOR 5 --#define METIS_VER_MINOR 1 --#define METIS_VER_SUBMINOR 0 -- --/* The maximum length of the options[] array */ --#define METIS_NOPTIONS 40 -- -- -- --/*------------------------------------------------------------------------ --* Function prototypes --*-------------------------------------------------------------------------*/ -- --#ifdef _WINDLL --#define METIS_API(type) __declspec(dllexport) type __cdecl --#elif defined(__cdecl) --#define METIS_API(type) type __cdecl --#else --#define METIS_API(type) type --#endif -- -- -- --#ifdef __cplusplus --extern "C" { --#endif -- --METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, -- idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, -- idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, -- idx_t *edgecut, idx_t *part); -- --METIS_API(int) METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, -- idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, -- idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, -- idx_t *edgecut, idx_t *part); -- --METIS_API(int) METIS_MeshToDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -- idx_t *ncommon, idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy); -- --METIS_API(int) METIS_MeshToNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -- idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy); -- --METIS_API(int) METIS_PartMeshNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -- idx_t *vwgt, idx_t *vsize, idx_t *nparts, real_t *tpwgts, -- idx_t *options, idx_t *objval, idx_t *epart, idx_t *npart); -- --METIS_API(int) METIS_PartMeshDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -- idx_t *vwgt, idx_t *vsize, idx_t *ncommon, idx_t *nparts, -- real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, -- idx_t *npart); -- --METIS_API(int) METIS_NodeND(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, -- idx_t *options, idx_t *perm, idx_t *iperm); -- --METIS_API(int) METIS_Free(void *ptr); -- --METIS_API(int) METIS_SetDefaultOptions(idx_t *options); -- -- --/* These functions are used by ParMETIS */ -- --METIS_API(int) METIS_NodeNDP(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, -- idx_t npes, idx_t *options, idx_t *perm, idx_t *iperm, -- idx_t *sizes); -- --METIS_API(int) METIS_ComputeVertexSeparator(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, -- idx_t *vwgt, idx_t *options, idx_t *sepsize, idx_t *part); -- --METIS_API(int) METIS_NodeRefine(idx_t nvtxs, idx_t *xadj, idx_t *vwgt, idx_t *adjncy, -- idx_t *where, idx_t *hmarker, real_t ubfactor); -- -- --/* These functions are used by DGL */ -- --METIS_API(int) METIS_CacheFriendlyReordering(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, -- idx_t *part, idx_t *old2new); -- --#ifdef __cplusplus --} --#endif -- -- -- --/*------------------------------------------------------------------------ --* Enum type definitions --*-------------------------------------------------------------------------*/ --/*! Return codes */ --typedef enum { -- METIS_OK = 1, /*!< Returned normally */ -- METIS_ERROR_INPUT = -2, /*!< Returned due to erroneous inputs and/or options */ -- METIS_ERROR_MEMORY = -3, /*!< Returned due to insufficient memory */ -- METIS_ERROR = -4 /*!< Some other errors */ --} rstatus_et; -- -- --/*! Operation type codes */ --typedef enum { -- METIS_OP_PMETIS, -- METIS_OP_KMETIS, -- METIS_OP_OMETIS --} moptype_et; -- -- --/*! Options codes (i.e., options[]) */ --typedef enum { -- METIS_OPTION_PTYPE, -- METIS_OPTION_OBJTYPE, -- METIS_OPTION_CTYPE, -- METIS_OPTION_IPTYPE, -- METIS_OPTION_RTYPE, -- METIS_OPTION_DBGLVL, -- METIS_OPTION_NIPARTS, -- METIS_OPTION_NITER, -- METIS_OPTION_NCUTS, -- METIS_OPTION_SEED, -- METIS_OPTION_NO2HOP, -- METIS_OPTION_ONDISK, -- METIS_OPTION_MINCONN, -- METIS_OPTION_CONTIG, -- METIS_OPTION_COMPRESS, -- METIS_OPTION_CCORDER, -- METIS_OPTION_PFACTOR, -- METIS_OPTION_NSEPS, -- METIS_OPTION_UFACTOR, -- METIS_OPTION_NUMBERING, -- METIS_OPTION_DROPEDGES, -- -- /* Used for command-line parameter purposes */ -- METIS_OPTION_HELP, -- METIS_OPTION_TPWGTS, -- METIS_OPTION_NCOMMON, -- METIS_OPTION_NOOUTPUT, -- METIS_OPTION_BALANCE, -- METIS_OPTION_GTYPE, -- METIS_OPTION_UBVEC --} moptions_et; -- -- --/*! Partitioning Schemes */ --typedef enum { -- METIS_PTYPE_RB, -- METIS_PTYPE_KWAY --} mptype_et; -- --/*! Graph types for meshes */ --typedef enum { -- METIS_GTYPE_DUAL, -- METIS_GTYPE_NODAL --} mgtype_et; -- --/*! Coarsening Schemes */ --typedef enum { -- METIS_CTYPE_RM, -- METIS_CTYPE_SHEM --} mctype_et; -- --/*! Initial partitioning schemes */ --typedef enum { -- METIS_IPTYPE_GROW, -- METIS_IPTYPE_RANDOM, -- METIS_IPTYPE_EDGE, -- METIS_IPTYPE_NODE, -- METIS_IPTYPE_METISRB --} miptype_et; -- -- --/*! Refinement schemes */ --typedef enum { -- METIS_RTYPE_FM, -- METIS_RTYPE_GREEDY, -- METIS_RTYPE_SEP2SIDED, -- METIS_RTYPE_SEP1SIDED --} mrtype_et; -- -- --/*! Debug Levels */ --typedef enum { -- METIS_DBG_INFO = 1, /*!< Shows various diagnostic messages */ -- METIS_DBG_TIME = 2, /*!< Perform timing analysis */ -- METIS_DBG_COARSEN = 4, /*!< Show the coarsening progress */ -- METIS_DBG_REFINE = 8, /*!< Show the refinement progress */ -- METIS_DBG_IPART = 16, /*!< Show info on initial partitioning */ -- METIS_DBG_MOVEINFO = 32, /*!< Show info on vertex moves during refinement */ -- METIS_DBG_SEPINFO = 64, /*!< Show info on vertex moves during sep refinement */ -- METIS_DBG_CONNINFO = 128, /*!< Show info on minimization of subdomain connectivity */ -- METIS_DBG_CONTIGINFO = 256, /*!< Show info on elimination of connected components */ -- METIS_DBG_MEMORY = 2048, /*!< Show info related to wspace allocation */ --} mdbglvl_et; -- -- --/* Types of objectives */ --typedef enum { -- METIS_OBJTYPE_CUT, -- METIS_OBJTYPE_VOL, -- METIS_OBJTYPE_NODE --} mobjtype_et; -- -- -- --#endif /* _METIS_H_ */ ---- /dev/null -+++ b/include/metis.h.in -@@ -0,0 +1,358 @@ -+/*! -+\file metis.h -+\brief This file contains function prototypes and constant definitions for METIS -+ * -+\author George -+\date Started 8/9/02 -+\version\verbatim $Id$\endverbatim -+*/ -+ -+#ifndef _METIS_H_ -+#define _METIS_H_ -+ -+/**************************************************************************** -+* A set of defines that can be modified by the user -+*****************************************************************************/ -+ -+/*-------------------------------------------------------------------------- -+ Specifies the width of the elementary data type that will hold information -+ about vertices and their adjacency lists. -+ -+ Possible values: -+ 32 : Use 32 bit signed integers -+ 64 : Use 64 bit signed integers -+ -+ A width of 64 should be specified if the number of vertices or the total -+ number of edges in the graph exceed the limits of a 32 bit signed integer -+ i.e., 2^31-1. -+ Proper use of 64 bit integers requires that the c99 standard datatypes -+ int32_t and int64_t are supported by the compiler. -+ GCC does provides these definitions in stdint.h, but it may require some -+ modifications on other architectures. -+--------------------------------------------------------------------------*/ -+#define IDXTYPEWIDTH @METIS_IDXTYPEWIDTH@ -+ -+ -+/*-------------------------------------------------------------------------- -+ Specifies the data type that will hold floating-point style information. -+ -+ Possible values: -+ 32 : single precission floating point (float) -+ 64 : double precission floating point (double) -+--------------------------------------------------------------------------*/ -+#define REALTYPEWIDTH @METIS_REALTYPEWIDTH@ -+ -+ -+ -+/**************************************************************************** -+* In principle, nothing needs to be changed beyond this point, unless the -+* int32_t and int64_t cannot be found in the normal places. -+*****************************************************************************/ -+ -+/* Uniform definitions for various compilers */ -+#if defined(_MSC_VER) -+ #define COMPILER_MSC -+#endif -+#if defined(__ICC) -+ #define COMPILER_ICC -+#endif -+#if defined(__GNUC__) -+ #define COMPILER_GCC -+#endif -+ -+/* Include c99 int definitions and need constants. When building the library, -+ * these are already defined by GKlib; hence the test for _GKLIB_H_ */ -+#ifndef _GKLIB_H_ -+#ifdef COMPILER_MSC -+#include -+ -+typedef __int32 int32_t; -+typedef __int64 int64_t; -+#define PRId32 "I32d" -+#define PRId64 "I64d" -+#define SCNd32 "ld" -+#define SCNd64 "I64d" -+#define INT32_MIN ((int32_t)_I32_MIN) -+#define INT32_MAX _I32_MAX -+#define INT64_MIN ((int64_t)_I64_MIN) -+#define INT64_MAX _I64_MAX -+#else -+#include -+#endif -+#endif -+ -+ -+/*------------------------------------------------------------------------ -+* Setup the basic datatypes -+*-------------------------------------------------------------------------*/ -+#if IDXTYPEWIDTH == 32 -+ typedef int32_t idx_t; -+ -+ #define IDX_MAX INT32_MAX -+ #define IDX_MIN INT32_MIN -+ -+ #define SCIDX SCNd32 -+ #define PRIDX PRId32 -+ -+ #define strtoidx strtol -+ #define iabs abs -+#elif IDXTYPEWIDTH == 64 -+ typedef int64_t idx_t; -+ -+ #define IDX_MAX INT64_MAX -+ #define IDX_MIN INT64_MIN -+ -+ #define SCIDX SCNd64 -+ #define PRIDX PRId64 -+ -+#ifdef COMPILER_MSC -+ #define strtoidx _strtoi64 -+#else -+ #define strtoidx strtoll -+#endif -+ #define iabs labs -+#else -+ #error "Incorrect user-supplied value fo IDXTYPEWIDTH" -+#endif -+ -+ -+#if REALTYPEWIDTH == 32 -+ typedef float real_t; -+ -+ #define SCREAL "f" -+ #define PRREAL "f" -+ #define REAL_MAX FLT_MAX -+ #define REAL_MIN FLT_MIN -+ #define REAL_EPSILON FLT_EPSILON -+ -+ #define rabs fabsf -+ #define REALEQ(x,y) ((rabs((x)-(y)) <= FLT_EPSILON)) -+ -+#ifdef COMPILER_MSC -+ #define strtoreal (float)strtod -+#else -+ #define strtoreal strtof -+#endif -+#elif REALTYPEWIDTH == 64 -+ typedef double real_t; -+ -+ #define SCREAL "lf" -+ #define PRREAL "lf" -+ #define REAL_MAX DBL_MAX -+ #define REAL_MIN DBL_MIN -+ #define REAL_EPSILON DBL_EPSILON -+ -+ #define rabs fabs -+ #define REALEQ(x,y) ((rabs((x)-(y)) <= DBL_EPSILON)) -+ -+ #define strtoreal strtod -+#else -+ #error "Incorrect user-supplied value for REALTYPEWIDTH" -+#endif -+ -+ -+/*------------------------------------------------------------------------ -+* Constant definitions -+*-------------------------------------------------------------------------*/ -+/* Metis's version number */ -+#define METIS_VER_MAJOR 5 -+#define METIS_VER_MINOR 1 -+#define METIS_VER_SUBMINOR 0 -+ -+/* The maximum length of the options[] array */ -+#define METIS_NOPTIONS 40 -+ -+ -+ -+/*------------------------------------------------------------------------ -+* Function prototypes -+*-------------------------------------------------------------------------*/ -+ -+#ifdef _WINDLL -+#define METIS_API(type) __declspec(dllexport) type __cdecl -+#elif defined(__cdecl) -+#define METIS_API(type) type __cdecl -+#else -+#define METIS_API(type) type -+#endif -+ -+ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, -+ idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, -+ idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, -+ idx_t *edgecut, idx_t *part); -+ -+METIS_API(int) METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, -+ idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, -+ idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, -+ idx_t *edgecut, idx_t *part); -+ -+METIS_API(int) METIS_MeshToDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -+ idx_t *ncommon, idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy); -+ -+METIS_API(int) METIS_MeshToNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -+ idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy); -+ -+METIS_API(int) METIS_PartMeshNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -+ idx_t *vwgt, idx_t *vsize, idx_t *nparts, real_t *tpwgts, -+ idx_t *options, idx_t *objval, idx_t *epart, idx_t *npart); -+ -+METIS_API(int) METIS_PartMeshDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, -+ idx_t *vwgt, idx_t *vsize, idx_t *ncommon, idx_t *nparts, -+ real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, -+ idx_t *npart); -+ -+METIS_API(int) METIS_NodeND(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, -+ idx_t *options, idx_t *perm, idx_t *iperm); -+ -+METIS_API(int) METIS_Free(void *ptr); -+ -+METIS_API(int) METIS_SetDefaultOptions(idx_t *options); -+ -+ -+/* These functions are used by ParMETIS */ -+ -+METIS_API(int) METIS_NodeNDP(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, -+ idx_t npes, idx_t *options, idx_t *perm, idx_t *iperm, -+ idx_t *sizes); -+ -+METIS_API(int) METIS_ComputeVertexSeparator(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, -+ idx_t *vwgt, idx_t *options, idx_t *sepsize, idx_t *part); -+ -+METIS_API(int) METIS_NodeRefine(idx_t nvtxs, idx_t *xadj, idx_t *vwgt, idx_t *adjncy, -+ idx_t *where, idx_t *hmarker, real_t ubfactor); -+ -+ -+/* These functions are used by DGL */ -+ -+METIS_API(int) METIS_CacheFriendlyReordering(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, -+ idx_t *part, idx_t *old2new); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+ -+ -+/*------------------------------------------------------------------------ -+* Enum type definitions -+*-------------------------------------------------------------------------*/ -+/*! Return codes */ -+typedef enum { -+ METIS_OK = 1, /*!< Returned normally */ -+ METIS_ERROR_INPUT = -2, /*!< Returned due to erroneous inputs and/or options */ -+ METIS_ERROR_MEMORY = -3, /*!< Returned due to insufficient memory */ -+ METIS_ERROR = -4 /*!< Some other errors */ -+} rstatus_et; -+ -+ -+/*! Operation type codes */ -+typedef enum { -+ METIS_OP_PMETIS, -+ METIS_OP_KMETIS, -+ METIS_OP_OMETIS -+} moptype_et; -+ -+ -+/*! Options codes (i.e., options[]) */ -+typedef enum { -+ METIS_OPTION_PTYPE, -+ METIS_OPTION_OBJTYPE, -+ METIS_OPTION_CTYPE, -+ METIS_OPTION_IPTYPE, -+ METIS_OPTION_RTYPE, -+ METIS_OPTION_DBGLVL, -+ METIS_OPTION_NIPARTS, -+ METIS_OPTION_NITER, -+ METIS_OPTION_NCUTS, -+ METIS_OPTION_SEED, -+ METIS_OPTION_NO2HOP, -+ METIS_OPTION_ONDISK, -+ METIS_OPTION_MINCONN, -+ METIS_OPTION_CONTIG, -+ METIS_OPTION_COMPRESS, -+ METIS_OPTION_CCORDER, -+ METIS_OPTION_PFACTOR, -+ METIS_OPTION_NSEPS, -+ METIS_OPTION_UFACTOR, -+ METIS_OPTION_NUMBERING, -+ METIS_OPTION_DROPEDGES, -+ -+ /* Used for command-line parameter purposes */ -+ METIS_OPTION_HELP, -+ METIS_OPTION_TPWGTS, -+ METIS_OPTION_NCOMMON, -+ METIS_OPTION_NOOUTPUT, -+ METIS_OPTION_BALANCE, -+ METIS_OPTION_GTYPE, -+ METIS_OPTION_UBVEC -+} moptions_et; -+ -+ -+/*! Partitioning Schemes */ -+typedef enum { -+ METIS_PTYPE_RB, -+ METIS_PTYPE_KWAY -+} mptype_et; -+ -+/*! Graph types for meshes */ -+typedef enum { -+ METIS_GTYPE_DUAL, -+ METIS_GTYPE_NODAL -+} mgtype_et; -+ -+/*! Coarsening Schemes */ -+typedef enum { -+ METIS_CTYPE_RM, -+ METIS_CTYPE_SHEM -+} mctype_et; -+ -+/*! Initial partitioning schemes */ -+typedef enum { -+ METIS_IPTYPE_GROW, -+ METIS_IPTYPE_RANDOM, -+ METIS_IPTYPE_EDGE, -+ METIS_IPTYPE_NODE, -+ METIS_IPTYPE_METISRB -+} miptype_et; -+ -+ -+/*! Refinement schemes */ -+typedef enum { -+ METIS_RTYPE_FM, -+ METIS_RTYPE_GREEDY, -+ METIS_RTYPE_SEP2SIDED, -+ METIS_RTYPE_SEP1SIDED -+} mrtype_et; -+ -+ -+/*! Debug Levels */ -+typedef enum { -+ METIS_DBG_INFO = 1, /*!< Shows various diagnostic messages */ -+ METIS_DBG_TIME = 2, /*!< Perform timing analysis */ -+ METIS_DBG_COARSEN = 4, /*!< Show the coarsening progress */ -+ METIS_DBG_REFINE = 8, /*!< Show the refinement progress */ -+ METIS_DBG_IPART = 16, /*!< Show info on initial partitioning */ -+ METIS_DBG_MOVEINFO = 32, /*!< Show info on vertex moves during refinement */ -+ METIS_DBG_SEPINFO = 64, /*!< Show info on vertex moves during sep refinement */ -+ METIS_DBG_CONNINFO = 128, /*!< Show info on minimization of subdomain connectivity */ -+ METIS_DBG_CONTIGINFO = 256, /*!< Show info on elimination of connected components */ -+ METIS_DBG_MEMORY = 2048, /*!< Show info related to wspace allocation */ -+} mdbglvl_et; -+ -+ -+/* Types of objectives */ -+typedef enum { -+ METIS_OBJTYPE_CUT, -+ METIS_OBJTYPE_VOL, -+ METIS_OBJTYPE_NODE -+} mobjtype_et; -+ -+ -+ -+#endif /* _METIS_H_ */ diff --git a/recipes/metis/all/patches/003-remove-programs.patch b/recipes/metis/all/patches/003-remove-programs.patch deleted file mode 100644 index 73a59f03ddbac..0000000000000 --- a/recipes/metis/all/patches/003-remove-programs.patch +++ /dev/null @@ -1,8 +0,0 @@ -Do not build programs ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,4 +44,3 @@ endif () - - # Recursively look for CMakeLists.txt in subdirs. - add_subdirectory("libmetis") --add_subdirectory("programs") diff --git a/recipes/metis/all/patches/004-use-conan-gklib.patch b/recipes/metis/all/patches/004-use-conan-gklib.patch deleted file mode 100644 index e4a4869c0f7e8..0000000000000 --- a/recipes/metis/all/patches/004-use-conan-gklib.patch +++ /dev/null @@ -1,17 +0,0 @@ -find gklib from conan ---- a/libmetis/CMakeLists.txt -+++ b/libmetis/CMakeLists.txt -@@ -3,9 +3,11 @@ include_directories(.) - # Find sources. - file(GLOB metis_sources *.c) - # Build libmetis. --add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) -+add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources}) -+find_package(gklib CONFIG REQUIRED) -+target_link_libraries(metis PRIVATE gklib::gklib) - if(UNIX) -- target_link_libraries(metis m) -+ target_link_libraries(metis PRIVATE m) - endif() - - if(METIS_INSTALL) diff --git a/recipes/metis/all/patches/005-fix-install.patch b/recipes/metis/all/patches/005-fix-install.patch deleted file mode 100644 index 0ddb28f482535..0000000000000 --- a/recipes/metis/all/patches/005-fix-install.patch +++ /dev/null @@ -1,28 +0,0 @@ -Always install and fix runtime destination ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,11 +4,7 @@ project(METIS C) - set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/GKlib" CACHE PATH "path to GKlib") - set(SHARED FALSE CACHE BOOL "build a shared library") - --if(MSVC) -- set(METIS_INSTALL FALSE) --else() -- set(METIS_INSTALL TRUE) --endif() -+set(METIS_INSTALL TRUE) - - # Configure libmetis library. - if(SHARED) -diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt -index b577360..e9c7825 100644 ---- a/libmetis/CMakeLists.txt -+++ b/libmetis/CMakeLists.txt -@@ -13,6 +13,6 @@ endif() - if(METIS_INSTALL) - install(TARGETS metis - LIBRARY DESTINATION lib -- RUNTIME DESTINATION lib -+ RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib) - endif() diff --git a/recipes/metis/all/patches/006-require-newer-cmakelists.patch b/recipes/metis/all/patches/006-require-newer-cmakelists.patch deleted file mode 100644 index 30d57e079922a..0000000000000 --- a/recipes/metis/all/patches/006-require-newer-cmakelists.patch +++ /dev/null @@ -1,22 +0,0 @@ -From d9370febe8aa0e533d15604532f75fc355731283 Mon Sep 17 00:00:00 2001 -From: Joakim Haugen -Date: Mon, 15 May 2023 13:24:33 +0200 -Subject: [PATCH] Require newer CMakeLists - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9630af8..39e33fe 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 2.8) -+cmake_minimum_required(VERSION 3.4) - project(METIS C) - - set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/GKlib" CACHE PATH "path to GKlib") --- -2.30.2 - diff --git a/recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch b/recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch deleted file mode 100644 index 443f47179f6da..0000000000000 --- a/recipes/metis/all/patches/007-fix-memory-bug-same-size-coarsening.patch +++ /dev/null @@ -1,721 +0,0 @@ -From 36262adecaa9720a4417a67124428061c367fd3f Mon Sep 17 00:00:00 2001 -From: George Karypis -Date: Fri, 27 Nov 2020 23:17:52 +0000 -Subject: [PATCH] fixed a memory bug that appears when the coarser graph stayed - the same size as the original graph - ---- - libmetis/coarsen.c | 551 ++------------------------------------------- - libmetis/kmetis.c | 5 +- - libmetis/pmetis.c | 4 + - 3 files changed, 30 insertions(+), 530 deletions(-) - -diff --git a/libmetis/coarsen.c b/libmetis/coarsen.c -index 447fc43..a804dc8 100644 ---- a/libmetis/coarsen.c -+++ b/libmetis/coarsen.c -@@ -818,516 +818,6 @@ void PrintCGraphStats(ctrl_t *ctrl, graph_t *graph) - } - - --/*************************************************************************/ --/*! This function creates the coarser graph. It uses a simple hash-table -- for identifying the adjacent vertices that get collapsed to the same -- node. The hash-table can have conflicts, which are handled via a -- linear scan. -- */ --/*************************************************************************/ --void CreateCoarseGraph0(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, -- idx_t *match) --{ -- idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, cnedges, v, u; -- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; -- idx_t *cmap, *htable; -- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; -- graph_t *cgraph; -- int mask, dovsize, dropedges; -- idx_t cv, nkeep, droppedewgt; -- idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; -- -- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); -- dropedges = ctrl->dropedges; -- -- /* Check if the mask-version of the code is a good choice */ -- mask = HTLENGTH; -- if (cnvtxs < 2*mask || graph->nedges/graph->nvtxs > mask/20) { -- CreateCoarseGraphNoMask(ctrl, graph, cnvtxs, match); -- return; -- } -- -- nvtxs = graph->nvtxs; -- xadj = graph->xadj; -- for (v=0; v (mask>>3)) { -- CreateCoarseGraphNoMask(ctrl, graph, cnvtxs, match); -- return; -- } -- } -- -- -- WCOREPUSH; -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); -- -- ncon = graph->ncon; -- vwgt = graph->vwgt; -- vsize = graph->vsize; -- adjncy = graph->adjncy; -- adjwgt = graph->adjwgt; -- cmap = graph->cmap; -- -- /* Setup structures for dropedges */ -- if (dropedges) { -- for (nkeep=-1, v=0; vxadj; -- cvwgt = cgraph->vwgt; -- cvsize = cgraph->vsize; -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); -- -- cxadj[0] = cnvtxs = cnedges = 0; -- for (v=0; v= 0 && cadjncy[jj] != cnvtxs) { -- for (jj=0; jj= 0 && jj < nedges && cadjncy[jj] == cnvtxs) { -- cadjncy[jj] = cadjncy[--nedges]; -- cadjwgt[jj] = cadjwgt[nedges]; -- } -- } -- -- /* Zero out the htable */ -- for (j=0; j= min(medianewgts[u], medianewgts[v]) */ -- if (dropedges) { -- for (j=0; j>1)]; -- } -- -- cadjncy += nedges; -- cadjwgt += nedges; -- cnedges += nedges; -- cxadj[++cnvtxs] = cnedges; -- } -- -- /* compact the adjacency structure of the coarser graph to keep only +ve edges */ -- if (dropedges) { -- droppedewgt = 0; -- -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- cnedges = 0; -- for (u=0; u= gk_min(medianewgts[u], medianewgts[v])) { -- cadjncy[cnedges] = cadjncy[j]; -- cadjwgt[cnedges++] = cadjwgt[j]; -- } -- else -- droppedewgt += cadjwgt[j]; -- } -- cxadj[u] = cnedges; -- } -- SHIFTCSR(j, cnvtxs, cxadj); -- -- //printf("droppedewgt: %d\n", (int)droppedewgt); -- -- cgraph->droppedewgt = droppedewgt; -- } -- -- cgraph->nedges = cnedges; -- -- for (j=0; jtvwgt[j] = isum(cgraph->nvtxs, cgraph->vwgt+j, ncon); -- cgraph->invtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); -- } -- -- -- ReAdjustMemory(ctrl, graph, cgraph); -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); -- -- WCOREPOP; --} -- -- --/*************************************************************************/ --/*! This function creates the coarser graph. It uses a simple hash-table -- for identifying the adjacent vertices that get collapsed to the same -- node. The hash-table can have conflicts, which are handled via a -- linear scan. -- */ --/*************************************************************************/ --void CreateCoarseGraph1(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, -- idx_t *match) --{ -- idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, -- cnedges, v, u, mask; -- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; -- idx_t *cmap, *htable, *table; -- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; -- graph_t *cgraph; -- int dovsize, dropedges, usemask; -- idx_t cv, nkeep, droppedewgt; -- idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; -- -- WCOREPUSH; -- -- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); -- dropedges = ctrl->dropedges; -- -- mask = HTLENGTH; -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); -- -- nvtxs = graph->nvtxs; -- ncon = graph->ncon; -- xadj = graph->xadj; -- vwgt = graph->vwgt; -- vsize = graph->vsize; -- adjncy = graph->adjncy; -- adjwgt = graph->adjwgt; -- cmap = graph->cmap; -- -- /* Setup structures for dropedges */ -- if (dropedges) { -- for (nkeep=-1, v=0; vxadj; -- cvwgt = cgraph->vwgt; -- cvsize = cgraph->vsize; -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); -- table = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); -- -- cxadj[0] = cnvtxs = cnedges = 0; -- for (v=0; v (mask>>3) ? 0 : 1); -- nedges = 0; -- -- -- if (usemask) { -- istart = xadj[v]; -- iend = xadj[v+1]; -- for (j=istart; j= 0 && cadjncy[jj] != cnvtxs) { -- for (jj=0; jj= 0 && jj < nedges && cadjncy[jj] == cnvtxs) { -- cadjncy[jj] = cadjncy[--nedges]; -- cadjwgt[jj] = cadjwgt[nedges]; -- } -- } -- -- /* Zero out the htable */ -- for (j=0; j= min(medianewgts[u], medianewgts[v]) */ -- if (dropedges) { -- for (j=0; j>1)]; -- } -- -- cadjncy += nedges; -- cadjwgt += nedges; -- cnedges += nedges; -- cxadj[++cnvtxs] = cnedges; -- } -- -- /* compact the adjacency structure of the coarser graph to keep only +ve edges */ -- if (dropedges) { -- droppedewgt = 0; -- -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- cnedges = 0; -- for (u=0; u= gk_min(medianewgts[u], medianewgts[v])) { -- cadjncy[cnedges] = cadjncy[j]; -- cadjwgt[cnedges++] = cadjwgt[j]; -- } -- else -- droppedewgt += cadjwgt[j]; -- } -- cxadj[u] = cnedges; -- } -- SHIFTCSR(j, cnvtxs, cxadj); -- -- //printf("droppedewgt: %d\n", (int)droppedewgt); -- -- cgraph->droppedewgt = droppedewgt; -- } -- -- cgraph->nedges = cnedges; -- -- for (j=0; jtvwgt[j] = isum(cgraph->nvtxs, cgraph->vwgt+j, ncon); -- cgraph->invtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); -- } -- -- -- ReAdjustMemory(ctrl, graph, cgraph); -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); -- -- WCOREPOP; --} -- -- - /*************************************************************************/ - /*! This function creates the coarser graph. Depending on the size of the - candidate adjancency lists it either uses a hash table or an array -@@ -1340,7 +830,7 @@ void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, - idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, - cnedges, v, u, mask; - idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; -- idx_t *cmap, *htable, *table; -+ idx_t *cmap, *htable, *dtable; - idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; - graph_t *cgraph; - int dovsize, dropedges; -@@ -1386,8 +876,8 @@ void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, - cadjncy = cgraph->adjncy; - cadjwgt = cgraph->adjwgt; - -- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); -- table = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); -+ htable = iset(mask+1, -1, iwspacemalloc(ctrl, mask+1)); /* hash table */ -+ dtable = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); /* direct table */ - - cxadj[0] = cnvtxs = cnedges = 0; - for (v=0; vinvtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); - } - -- - ReAdjustMemory(ctrl, graph, cgraph); - - IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); -@@ -1942,10 +1431,14 @@ graph_t *SetupCoarseGraph(graph_t *graph, idx_t cnvtxs, int dovsize) - cgraph->finer = graph; - graph->coarser = cgraph; - -- /* Allocate memory for the coarser graph */ -+ /* Allocate memory for the coarser graph. -+ NOTE: The +1 in the adjwgt/adjncy is to allow the optimization of self-loop -+ detection by adding ahead of time the self-loop. That optimization -+ requires a +1 adjncy/adjwgt array for the limit case where the -+ coarser graph is of the same size of the previous graph. */ - cgraph->xadj = imalloc(cnvtxs+1, "SetupCoarseGraph: xadj"); -- cgraph->adjncy = imalloc(graph->nedges, "SetupCoarseGraph: adjncy"); -- cgraph->adjwgt = imalloc(graph->nedges, "SetupCoarseGraph: adjwgt"); -+ cgraph->adjncy = imalloc(graph->nedges+1, "SetupCoarseGraph: adjncy"); -+ cgraph->adjwgt = imalloc(graph->nedges+1, "SetupCoarseGraph: adjwgt"); - cgraph->vwgt = imalloc(cgraph->ncon*cnvtxs, "SetupCoarseGraph: vwgt"); - cgraph->tvwgt = imalloc(cgraph->ncon, "SetupCoarseGraph: tvwgt"); - cgraph->invtvwgt = rmalloc(cgraph->ncon, "SetupCoarseGraph: invtvwgt"); -diff --git a/libmetis/kmetis.c b/libmetis/kmetis.c -index c56c513..8491006 100644 ---- a/libmetis/kmetis.c -+++ b/libmetis/kmetis.c -@@ -24,6 +24,7 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, - graph_t *graph; - ctrl_t *ctrl; - -+#ifdef XXX - /* set up malloc cleaning code and signal catchers */ - if (!gk_malloc_init()) - return METIS_ERROR_MEMORY; -@@ -32,7 +33,7 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, - - if ((sigrval = gk_sigcatch()) != 0) - goto SIGTHROW; -- -+#endif - - /* set up the run parameters */ - ctrl = SetupCtrl(METIS_OP_KMETIS, options, *ncon, *nparts, tpwgts, ubvec); -@@ -86,8 +87,10 @@ SIGTHROW: - if (renumber) - Change2FNumbering(*nvtxs, xadj, adjncy, part); - -+#ifdef XXX - gk_siguntrap(); - gk_malloc_cleanup(0); -+#endif - - return metis_rcode(sigrval); - } -diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c -index d32e849..80e2149 100644 ---- a/libmetis/pmetis.c -+++ b/libmetis/pmetis.c -@@ -97,6 +97,7 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, - graph_t *graph; - ctrl_t *ctrl; - -+#ifdef XXX - /* set up malloc cleaning code and signal catchers */ - if (!gk_malloc_init()) - return METIS_ERROR_MEMORY; -@@ -105,6 +106,7 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, - - if ((sigrval = gk_sigcatch()) != 0) - goto SIGTHROW; -+#endif - - - /* set up the run parameters */ -@@ -143,8 +145,10 @@ SIGTHROW: - if (renumber) - Change2FNumbering(*nvtxs, xadj, adjncy, part); - -+#ifdef XXX - gk_siguntrap(); - gk_malloc_cleanup(0); -+#endif - - return metis_rcode(sigrval); - } --- -2.30.2 - diff --git a/recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch b/recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch deleted file mode 100644 index d24815a50e241..0000000000000 --- a/recipes/metis/all/patches/008-fix-memory-bug-coarsening.patch +++ /dev/null @@ -1,470 +0,0 @@ -From 38a8fb0fd1cdde963b04997c7be844028602793a Mon Sep 17 00:00:00 2001 -From: George Karypis -Date: Fri, 27 Nov 2020 23:23:07 +0000 -Subject: [PATCH] Fixed a memory bug in coarsening - ---- - libmetis/coarsen.c | 352 --------------------------------------------- - libmetis/kmetis.c | 4 - - libmetis/pmetis.c | 5 - - libmetis/proto.h | 4 - - libmetis/rename.h | 2 - - 5 files changed, 367 deletions(-) - -diff --git a/libmetis/coarsen.c b/libmetis/coarsen.c -index a804dc8..81876de 100644 ---- a/libmetis/coarsen.c -+++ b/libmetis/coarsen.c -@@ -1063,358 +1063,6 @@ void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, - } - - --/*************************************************************************/ --/*! This function creates the coarser graph. It uses a full-size array -- (htable) for identifying the adjacent vertices that get collapsed to -- the same node. -- */ --/*************************************************************************/ --void CreateCoarseGraphNoMask(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, -- idx_t *match) --{ -- idx_t j, k, m, istart, iend, v, u, nvtxs, nedges, ncon, cnedges; -- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; -- idx_t *cmap, *htable; -- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; -- graph_t *cgraph; -- int dovsize, dropedges; -- idx_t cv, nkeep, droppedewgt; -- idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; -- -- WCOREPUSH; -- -- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); -- dropedges = ctrl->dropedges; -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); -- -- nvtxs = graph->nvtxs; -- ncon = graph->ncon; -- xadj = graph->xadj; -- vwgt = graph->vwgt; -- vsize = graph->vsize; -- adjncy = graph->adjncy; -- adjwgt = graph->adjwgt; -- cmap = graph->cmap; -- -- /* Setup structures for dropedges */ -- if (dropedges) { -- for (nkeep=-1, v=0; vxadj; -- cvwgt = cgraph->vwgt; -- cvsize = cgraph->vsize; -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- htable = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); -- -- cxadj[0] = cnvtxs = cnedges = 0; -- for (v=0; v= min(medianewgts[u], medianewgts[v]) */ -- if (dropedges) { -- for (j=0; j>1)]; -- } -- -- /* Record Advance the cadjXXX pointers */ -- cadjncy += nedges; -- cadjwgt += nedges; -- cnedges += nedges; -- cxadj[++cnvtxs] = cnedges; -- } -- -- -- /* compact the adjacency structure of the coarser graph to keep only +ve edges */ -- if (dropedges) { -- droppedewgt = 0; -- -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- cnedges = 0; -- for (u=0; u= gk_min(medianewgts[u], medianewgts[v])) { -- cadjncy[cnedges] = cadjncy[j]; -- cadjwgt[cnedges++] = cadjwgt[j]; -- } -- else -- droppedewgt += cadjwgt[j]; -- } -- cxadj[u] = cnedges; -- } -- SHIFTCSR(j, cnvtxs, cxadj); -- -- //printf("droppedewgt: %d\n", (int)droppedewgt); -- -- cgraph->droppedewgt = droppedewgt; -- } -- -- cgraph->nedges = cnedges; -- -- for (j=0; jtvwgt[j] = isum(cgraph->nvtxs, cgraph->vwgt+j, ncon); -- cgraph->invtvwgt[j] = 1.0/(cgraph->tvwgt[j] > 0 ? cgraph->tvwgt[j] : 1); -- } -- -- ReAdjustMemory(ctrl, graph, cgraph); -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); -- -- WCOREPOP; --} -- -- --/*************************************************************************/ --/*! This function creates the coarser graph. It uses a simple hash-table -- for identifying the adjacent vertices that get collapsed to the same -- node. The hash-table can have conflicts, which are handled via a -- linear scan. It relies on the perm[] array to visit the vertices in -- increasing cnvtxs order. -- */ --/*************************************************************************/ --void CreateCoarseGraphPerm(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, -- idx_t *match, idx_t *perm) --{ -- idx_t i, j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, cnedges, -- v, u, mask, dovsize; -- idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; -- idx_t *cmap, *htable; -- idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; -- graph_t *cgraph; -- -- WCOREPUSH; -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->ContractTmr)); -- -- dovsize = (ctrl->objtype == METIS_OBJTYPE_VOL ? 1 : 0); -- -- mask = HTLENGTH; -- -- nvtxs = graph->nvtxs; -- ncon = graph->ncon; -- xadj = graph->xadj; -- vwgt = graph->vwgt; -- vsize = graph->vsize; -- adjncy = graph->adjncy; -- adjwgt = graph->adjwgt; -- cmap = graph->cmap; -- -- /* Initialize the coarser graph */ -- cgraph = SetupCoarseGraph(graph, cnvtxs, dovsize); -- cxadj = cgraph->xadj; -- cvwgt = cgraph->vwgt; -- cvsize = cgraph->vsize; -- cadjncy = cgraph->adjncy; -- cadjwgt = cgraph->adjwgt; -- -- htable = iset(mask+1, -1, iwspacemalloc(ctrl, mask+1)); -- -- cxadj[0] = cnvtxs = cnedges = 0; -- for (i=0; i= 0 && cadjncy[jj] != cnvtxs) { -- for (jj=0; jj= 0 && cadjncy[jj] == cnvtxs) { /* This 2nd check is needed for non-adjacent matchings */ -- cadjncy[jj] = cadjncy[--nedges]; -- cadjwgt[jj] = cadjwgt[nedges]; -- } -- } -- -- for (j=0; jnedges = cnedges; -- -- for (i=0; itvwgt[i] = isum(cgraph->nvtxs, cgraph->vwgt+i, ncon); -- cgraph->invtvwgt[i] = 1.0/(cgraph->tvwgt[i] > 0 ? cgraph->tvwgt[i] : 1); -- } -- -- -- ReAdjustMemory(ctrl, graph, cgraph); -- -- IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->ContractTmr)); -- -- WCOREPOP; --} -- -- - /*************************************************************************/ - /*! Setup the various arrays for the coarse graph - */ -diff --git a/libmetis/kmetis.c b/libmetis/kmetis.c -index 8491006..94c6c02 100644 ---- a/libmetis/kmetis.c -+++ b/libmetis/kmetis.c -@@ -24,7 +24,6 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, - graph_t *graph; - ctrl_t *ctrl; - --#ifdef XXX - /* set up malloc cleaning code and signal catchers */ - if (!gk_malloc_init()) - return METIS_ERROR_MEMORY; -@@ -33,7 +32,6 @@ int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, - - if ((sigrval = gk_sigcatch()) != 0) - goto SIGTHROW; --#endif - - /* set up the run parameters */ - ctrl = SetupCtrl(METIS_OP_KMETIS, options, *ncon, *nparts, tpwgts, ubvec); -@@ -87,10 +85,8 @@ SIGTHROW: - if (renumber) - Change2FNumbering(*nvtxs, xadj, adjncy, part); - --#ifdef XXX - gk_siguntrap(); - gk_malloc_cleanup(0); --#endif - - return metis_rcode(sigrval); - } -diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c -index 80e2149..004e1bb 100644 ---- a/libmetis/pmetis.c -+++ b/libmetis/pmetis.c -@@ -97,7 +97,6 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, - graph_t *graph; - ctrl_t *ctrl; - --#ifdef XXX - /* set up malloc cleaning code and signal catchers */ - if (!gk_malloc_init()) - return METIS_ERROR_MEMORY; -@@ -106,8 +105,6 @@ int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, - - if ((sigrval = gk_sigcatch()) != 0) - goto SIGTHROW; --#endif -- - - /* set up the run parameters */ - ctrl = SetupCtrl(METIS_OP_PMETIS, options, *ncon, *nparts, tpwgts, ubvec); -@@ -145,10 +142,8 @@ SIGTHROW: - if (renumber) - Change2FNumbering(*nvtxs, xadj, adjncy, part); - --#ifdef XXX - gk_siguntrap(); - gk_malloc_cleanup(0); --#endif - - return metis_rcode(sigrval); - } -diff --git a/libmetis/proto.h b/libmetis/proto.h -index 3a8bd80..0526be8 100644 ---- a/libmetis/proto.h -+++ b/libmetis/proto.h -@@ -51,10 +51,6 @@ idx_t Match_JC(ctrl_t *ctrl, graph_t *graph); - void PrintCGraphStats(ctrl_t *ctrl, graph_t *graph); - void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, - idx_t *match); --void CreateCoarseGraphNoMask(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, -- idx_t *match); --void CreateCoarseGraphPerm(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, -- idx_t *match, idx_t *perm); - graph_t *SetupCoarseGraph(graph_t *graph, idx_t cnvtxs, int dovsize); - void ReAdjustMemory(ctrl_t *ctrl, graph_t *graph, graph_t *cgraph); - -diff --git a/libmetis/rename.h b/libmetis/rename.h -index 59a5e76..381d5c1 100644 ---- a/libmetis/rename.h -+++ b/libmetis/rename.h -@@ -41,8 +41,6 @@ - #define Match_JC libmetis__Match_JC - #define PrintCGraphStats libmetis__PrintCGraphStats - #define CreateCoarseGraph libmetis__CreateCoarseGraph --#define CreateCoarseGraphNoMask libmetis__CreateCoarseGraphNoMask --#define CreateCoarseGraphPerm libmetis__CreateCoarseGraphPerm - #define SetupCoarseGraph libmetis__SetupCoarseGraph - #define ReAdjustMemory libmetis__ReAdjustMemory - --- -2.30.2 - diff --git a/recipes/metis/all/patches/5.1.1-001-fix-coarse-graph-memory-bugs.patch b/recipes/metis/all/patches/5.1.1-001-fix-coarse-graph-memory-bugs.patch new file mode 100644 index 0000000000000..d1640f063425d --- /dev/null +++ b/recipes/metis/all/patches/5.1.1-001-fix-coarse-graph-memory-bugs.patch @@ -0,0 +1,246 @@ +From 36262adecaa9720a4417a67124428061c367fd3f Mon Sep 17 00:00:00 2001 +From: George Karypis +Date: Fri, 27 Nov 2020 23:17:52 +0000 +Subject: [PATCH] fixed a memory bug that appears when the coarser graph stayed + the same size as the original graph + +diff --git a/libmetis/coarsen.c b/libmetis/coarsen.c +--- a/libmetis/coarsen.c ++++ b/libmetis/coarsen.c +@@ -629,7 +629,7 @@ + idx_t *xadj, *vwgt, *adjncy, *adjwgt, *maxvwgt; + idx_t *match, *cmap, *degrees, *perm, *tperm, *vec, *marker; + idx_t mytwgt, xtwgt, ctwgt; +- float bscore, score; ++ real_t bscore, score; + + WCOREPUSH; + +@@ -817,6 +817,7 @@ + printf(" ]\n"); + } + ++#if 0 + + /*************************************************************************/ + /*! This function creates the coarser graph. It uses a simple hash-table +@@ -1327,6 +1328,7 @@ + WCOREPOP; + } + ++#endif + + /*************************************************************************/ + /*! This function creates the coarser graph. Depending on the size of the +@@ -1340,11 +1342,11 @@ + idx_t j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, + cnedges, v, u, mask; + idx_t *xadj, *vwgt, *vsize, *adjncy, *adjwgt; +- idx_t *cmap, *htable, *table; ++ idx_t *cmap, *htable, *dtable; + idx_t *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt; + graph_t *cgraph; + int dovsize, dropedges; +- idx_t cv, nkeep, droppedewgt; ++ idx_t cv, nkeys, droppedewgt; + idx_t *keys=NULL, *medianewgts=NULL, *noise=NULL; + + WCOREPUSH; +@@ -1367,12 +1369,13 @@ + + /* Setup structures for dropedges */ + if (dropedges) { +- for (nkeep=-1, v=0; vadjncy; + cadjwgt = cgraph->adjwgt; + +- htable = iset(gk_min(cnvtxs+1, mask+1), -1, iwspacemalloc(ctrl, mask+1)); +- table = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); ++ htable = iset(mask+1, -1, iwspacemalloc(ctrl, mask+1)); /* hash table */ ++ dtable = iset(cnvtxs, -1, iwspacemalloc(ctrl, cnvtxs)); /* direct table */ + + cxadj[0] = cnvtxs = cnedges = 0; + for (v=0; v=0; j--) { + k = cadjncy[j]; +- for (kk=k&mask; cadjncy[htable[kk]]!=k; kk=((kk+1)%mask)); ++ for (kk=k&mask; cadjncy[htable[kk]]!=k; kk=((kk+1)&mask)); + htable[kk] = -1; + } + +@@ -1474,10 +1478,10 @@ + iend = xadj[v+1]; + for (j=istart; j= min(medianewgts[u], medianewgts[v]) */ + if (dropedges) { +- for (j=0; j>1)]; ++ ASSERTP(nedges < nkeys, ("%"PRIDX", %"PRIDX"\n", nkeys, nedges)); ++ medianewgts[cnvtxs] = 8; /* default for island nodes */ ++ if (nedges > 0) { ++ for (j=0; j>1))]; ++ } + } + + cadjncy += nedges; +@@ -1542,6 +1550,8 @@ + iend = cxadj[u+1]; + for (j=istart; j= 0, ("%"PRIDX" %"PRIDX"\n", u, medianewgts[u])); ++ ASSERTP(medianewgts[v] >= 0, ("%"PRIDX" %"PRIDX" %"PRIDX"\n", v, medianewgts[v], cnvtxs)); + if ((cadjwgt[j]<<8) + noise[u] + noise[v] >= gk_min(medianewgts[u], medianewgts[v])) { + cadjncy[cnedges] = cadjncy[j]; + cadjwgt[cnedges++] = cadjwgt[j]; +@@ -1573,6 +1583,7 @@ + WCOREPOP; + } + ++#if 0 + + /*************************************************************************/ + /*! This function creates the coarser graph. It uses a full-size array +@@ -1925,6 +1936,7 @@ + WCOREPOP; + } + ++#endif + + /*************************************************************************/ + /*! Setup the various arrays for the coarse graph +@@ -1942,10 +1954,14 @@ + cgraph->finer = graph; + graph->coarser = cgraph; + +- /* Allocate memory for the coarser graph */ ++ /* Allocate memory for the coarser graph. ++ NOTE: The +1 in the adjwgt/adjncy is to allow the optimization of self-loop ++ detection by adding ahead of time the self-loop. That optimization ++ requires a +1 adjncy/adjwgt array for the limit case where the ++ coarser graph is of the same size of the previous graph. */ + cgraph->xadj = imalloc(cnvtxs+1, "SetupCoarseGraph: xadj"); +- cgraph->adjncy = imalloc(graph->nedges, "SetupCoarseGraph: adjncy"); +- cgraph->adjwgt = imalloc(graph->nedges, "SetupCoarseGraph: adjwgt"); ++ cgraph->adjncy = imalloc(graph->nedges+1, "SetupCoarseGraph: adjncy"); ++ cgraph->adjwgt = imalloc(graph->nedges+1, "SetupCoarseGraph: adjwgt"); + cgraph->vwgt = imalloc(cgraph->ncon*cnvtxs, "SetupCoarseGraph: vwgt"); + cgraph->tvwgt = imalloc(cgraph->ncon, "SetupCoarseGraph: tvwgt"); + cgraph->invtvwgt = rmalloc(cgraph->ncon, "SetupCoarseGraph: invtvwgt"); +diff --git a/libmetis/proto.h b/libmetis/proto.h +--- a/libmetis/proto.h ++++ b/libmetis/proto.h +@@ -51,10 +51,6 @@ + void PrintCGraphStats(ctrl_t *ctrl, graph_t *graph); + void CreateCoarseGraph(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, + idx_t *match); +-void CreateCoarseGraphNoMask(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match); +-void CreateCoarseGraphPerm(ctrl_t *ctrl, graph_t *graph, idx_t cnvtxs, +- idx_t *match, idx_t *perm); + graph_t *SetupCoarseGraph(graph_t *graph, idx_t cnvtxs, int dovsize); + void ReAdjustMemory(ctrl_t *ctrl, graph_t *graph, graph_t *cgraph); + +diff --git a/libmetis/rename.h b/libmetis/rename.h +--- a/libmetis/rename.h ++++ b/libmetis/rename.h +@@ -41,8 +41,6 @@ + #define Match_JC libmetis__Match_JC + #define PrintCGraphStats libmetis__PrintCGraphStats + #define CreateCoarseGraph libmetis__CreateCoarseGraph +-#define CreateCoarseGraphNoMask libmetis__CreateCoarseGraphNoMask +-#define CreateCoarseGraphPerm libmetis__CreateCoarseGraphPerm + #define SetupCoarseGraph libmetis__SetupCoarseGraph + #define ReAdjustMemory libmetis__ReAdjustMemory + diff --git a/recipes/metis/all/patches/5.1.1-002-fix-out-out-of-bounds-errors.patch b/recipes/metis/all/patches/5.1.1-002-fix-out-out-of-bounds-errors.patch new file mode 100644 index 0000000000000..2e67aa23bc3a8 --- /dev/null +++ b/recipes/metis/all/patches/5.1.1-002-fix-out-out-of-bounds-errors.patch @@ -0,0 +1,199 @@ +Fix out out-of-bounds memory errors + +Squashed commits: +- Avoid out-of-bound memory access for empty graphs +- Fixed incorrect part[] vector when nparts == 1 +- issue #46: fixed the out-of-bound with mdeg+delta + +diff --git a/libmetis/checkgraph.c b/libmetis/checkgraph.c +--- a/libmetis/checkgraph.c ++++ b/libmetis/checkgraph.c +@@ -45,9 +45,11 @@ + + htable = ismalloc(nvtxs, 0, "htable"); + +- minedge = maxedge = adjncy[0]; +- if (adjwgt) +- minewgt = maxewgt = adjwgt[0]; ++ if (graph->nedges > 0) { ++ minedge = maxedge = adjncy[0]; ++ if (adjwgt) ++ minewgt = maxewgt = adjwgt[0]; ++ } + + for (i=0; idbglvl, METIS_DBG_TIME, InitTimers(ctrl)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->TotalTmr)); + +- if (ctrl->dbglvl&512) { +- *objval = BlockKWayPartitioning(ctrl, graph, part); +- } +- else { +- *objval = MlevelKWayPartitioning(ctrl, graph, part); +- } ++ iset(*nvtxs, 0, part); ++ if (ctrl->dbglvl&512) ++ *objval = (*nparts == 1 ? 0 : BlockKWayPartitioning(ctrl, graph, part)); ++ else ++ *objval = (*nparts == 1 ? 0 : MlevelKWayPartitioning(ctrl, graph, part)); + + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->TotalTmr)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, PrintTimers(ctrl)); +diff --git a/libmetis/mmd.c b/libmetis/mmd.c +--- a/libmetis/mmd.c ++++ b/libmetis/mmd.c +@@ -59,24 +59,24 @@ + if (neqns <= 0) + return; + +- /* Adjust from C to Fortran */ ++ /* adjust from C to Fortran */ + xadj--; adjncy--; invp--; perm--; head--; qsize--; list--; marker--; + +- /* initialization for the minimum degree algorithm. */ ++ /* initialization for the minimum degree algorithm */ + *ncsub = 0; + mmdint(neqns, xadj, adjncy, head, invp, perm, qsize, list, marker); + +- /* 'num' counts the number of ordered nodes plus 1. */ ++ /* 'num' counts the number of ordered nodes plus 1 */ + num = 1; + +- /* eliminate all isolated nodes. */ ++ /* eliminate all isolated nodes */ + nextmd = head[1]; + while (nextmd > 0) { + mdeg_node = nextmd; + nextmd = invp[mdeg_node]; + marker[mdeg_node] = maxint; + invp[mdeg_node] = -num; +- num = num + 1; ++ num++; + } + + /* search for node of the minimum degree. 'mdeg' is the current */ +@@ -87,14 +87,16 @@ + head[1] = 0; + mdeg = 2; + +- /* infinite loop here ! */ ++ /* infinite loop here */ + while (1) { + while (head[mdeg] <= 0) + mdeg++; + + /* use value of 'delta' to set up 'mdlmt', which governs */ + /* when a degree update is to be performed. */ +- mdlmt = mdeg + delta; ++ //mdlmt = mdeg + delta; ++ // the need for gk_min() was identified by jsf67 ++ mdlmt = gk_min(neqns, mdeg+delta); + ehead = 0; + + n500: +@@ -107,7 +109,7 @@ + mdeg_node = head[mdeg]; + }; + +- /* remove 'mdeg_node' from the degree structure. */ ++ /* remove 'mdeg_node' from the degree structure */ + nextmd = invp[mdeg_node]; + head[mdeg] = nextmd; + if (nextmd > 0) +@@ -140,7 +142,7 @@ + /* minimum degree nodes elimination. */ + if (num > neqns) + goto n1000; +- mmdupd( ehead, neqns, xadj, adjncy, delta, &mdeg, head, invp, perm, qsize, list, marker, maxint, &tag); ++ mmdupd(ehead, neqns, xadj, adjncy, delta, &mdeg, head, invp, perm, qsize, list, marker, maxint, &tag); + }; /* end of -- while ( 1 ) -- */ + + n1000: +@@ -289,6 +291,7 @@ + return; + } + ++ + /*************************************************************************** + * mmdint ---- mult minimum degree initialization + * purpose -- this routine performs initialization for the +@@ -305,33 +308,30 @@ + idx_t mmdint(idx_t neqns, idx_t *xadj, idx_t *adjncy, idx_t *head, idx_t *forward, + idx_t *backward, idx_t *qsize, idx_t *list, idx_t *marker) + { +- idx_t fnode, ndeg, node; ++ idx_t fnode, ndeg, node; + +- for ( node = 1; node <= neqns; node++ ) { +- head[node] = 0; +- qsize[node] = 1; +- marker[node] = 0; +- list[node] = 0; +- }; ++ for (node=1; node<=neqns; node++) { ++ head[node] = 0; ++ qsize[node] = 1; ++ marker[node] = 0; ++ list[node] = 0; ++ }; + +- /* initialize the degree doubly linked lists. */ +- for ( node = 1; node <= neqns; node++ ) { +- // The following is something that Olaf Schenk identified as potentially a +- // bug that I introduced in the original code. For now, I reverted back +- // to the original code until I have some time to check. +- // ndeg = xadj[node+1] - xadj[node]/* + 1*/; /* george */ +- ndeg = xadj[node+1] - xadj[node] + 1; +- if (ndeg == 0) +- ndeg = 1; +- fnode = head[ndeg]; +- forward[node] = fnode; +- head[ndeg] = node; +- if ( fnode > 0 ) backward[fnode] = node; +- backward[node] = -ndeg; +- }; +- return 0; ++ /* initialize the degree doubly linked lists. */ ++ for (node=1; node<=neqns; node++) { ++ ndeg = xadj[node+1]-xadj[node]+1; ++ fnode = head[ndeg]; ++ forward[node] = fnode; ++ head[ndeg] = node; ++ if (fnode > 0) ++ backward[fnode] = node; ++ backward[node] = -ndeg; ++ }; ++ ++ return 0; + } + ++ + /**************************************************************************** + * mmdnum --- multi minimum degree numbering + * purpose -- this routine performs the final step in producing +@@ -395,6 +395,7 @@ + return; + } + ++ + /**************************************************************************** + * mmdupd ---- multiple minimum degree update + * purpose -- this routine updates the degrees of nodes after a +diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c +--- a/libmetis/pmetis.c ++++ b/libmetis/pmetis.c +@@ -130,7 +130,8 @@ + IFSET(ctrl->dbglvl, METIS_DBG_TIME, InitTimers(ctrl)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->TotalTmr)); + +- *objval = MlevelRecursiveBisection(ctrl, graph, *nparts, part, ctrl->tpwgts, 0); ++ iset(*nvtxs, 0, part); ++ *objval = (*nparts == 1 ? 0 : MlevelRecursiveBisection(ctrl, graph, *nparts, part, ctrl->tpwgts, 0)); + + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->TotalTmr)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, PrintTimers(ctrl)); diff --git a/recipes/metis/all/patches/5.1.1-003-reduce-maximum-memory-use.patch b/recipes/metis/all/patches/5.1.1-003-reduce-maximum-memory-use.patch new file mode 100644 index 0000000000000..93745cf28bbb4 --- /dev/null +++ b/recipes/metis/all/patches/5.1.1-003-reduce-maximum-memory-use.patch @@ -0,0 +1,197 @@ +From aef54c5b2a72f9d0c3c91b008c35271560b79cac Mon Sep 17 00:00:00 2001 +From: George Karypis +Date: Fri, 7 Jan 2022 14:01:46 +0000 +Subject: [PATCH] Small changes to reduce maximum memory use + +diff --git a/libmetis/checkgraph.c b/libmetis/checkgraph.c +--- a/libmetis/checkgraph.c ++++ b/libmetis/checkgraph.c +@@ -45,9 +45,11 @@ + + htable = ismalloc(nvtxs, 0, "htable"); + +- minedge = maxedge = adjncy[0]; +- if (adjwgt) +- minewgt = maxewgt = adjwgt[0]; ++ if (graph->nedges > 0) { ++ minedge = maxedge = adjncy[0]; ++ if (adjwgt) ++ minewgt = maxewgt = adjwgt[0]; ++ } + + for (i=0; idbglvl, METIS_DBG_TIME, InitTimers(ctrl)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->TotalTmr)); + +- if (ctrl->dbglvl&512) { +- *objval = BlockKWayPartitioning(ctrl, graph, part); +- } +- else { +- *objval = MlevelKWayPartitioning(ctrl, graph, part); +- } ++ iset(*nvtxs, 0, part); ++ if (ctrl->dbglvl&512) ++ *objval = (*nparts == 1 ? 0 : BlockKWayPartitioning(ctrl, graph, part)); ++ else ++ *objval = (*nparts == 1 ? 0 : MlevelKWayPartitioning(ctrl, graph, part)); + + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->TotalTmr)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, PrintTimers(ctrl)); +diff --git a/libmetis/mmd.c b/libmetis/mmd.c +--- a/libmetis/mmd.c ++++ b/libmetis/mmd.c +@@ -59,24 +59,24 @@ + if (neqns <= 0) + return; + +- /* Adjust from C to Fortran */ ++ /* adjust from C to Fortran */ + xadj--; adjncy--; invp--; perm--; head--; qsize--; list--; marker--; + +- /* initialization for the minimum degree algorithm. */ ++ /* initialization for the minimum degree algorithm */ + *ncsub = 0; + mmdint(neqns, xadj, adjncy, head, invp, perm, qsize, list, marker); + +- /* 'num' counts the number of ordered nodes plus 1. */ ++ /* 'num' counts the number of ordered nodes plus 1 */ + num = 1; + +- /* eliminate all isolated nodes. */ ++ /* eliminate all isolated nodes */ + nextmd = head[1]; + while (nextmd > 0) { + mdeg_node = nextmd; + nextmd = invp[mdeg_node]; + marker[mdeg_node] = maxint; + invp[mdeg_node] = -num; +- num = num + 1; ++ num++; + } + + /* search for node of the minimum degree. 'mdeg' is the current */ +@@ -87,14 +87,16 @@ + head[1] = 0; + mdeg = 2; + +- /* infinite loop here ! */ ++ /* infinite loop here */ + while (1) { + while (head[mdeg] <= 0) + mdeg++; + + /* use value of 'delta' to set up 'mdlmt', which governs */ + /* when a degree update is to be performed. */ +- mdlmt = mdeg + delta; ++ //mdlmt = mdeg + delta; ++ // the need for gk_min() was identified by jsf67 ++ mdlmt = gk_min(neqns, mdeg+delta); + ehead = 0; + + n500: +@@ -107,7 +109,7 @@ + mdeg_node = head[mdeg]; + }; + +- /* remove 'mdeg_node' from the degree structure. */ ++ /* remove 'mdeg_node' from the degree structure */ + nextmd = invp[mdeg_node]; + head[mdeg] = nextmd; + if (nextmd > 0) +@@ -140,7 +142,7 @@ + /* minimum degree nodes elimination. */ + if (num > neqns) + goto n1000; +- mmdupd( ehead, neqns, xadj, adjncy, delta, &mdeg, head, invp, perm, qsize, list, marker, maxint, &tag); ++ mmdupd(ehead, neqns, xadj, adjncy, delta, &mdeg, head, invp, perm, qsize, list, marker, maxint, &tag); + }; /* end of -- while ( 1 ) -- */ + + n1000: +@@ -289,6 +291,7 @@ + return; + } + ++ + /*************************************************************************** + * mmdint ---- mult minimum degree initialization + * purpose -- this routine performs initialization for the +@@ -305,33 +308,30 @@ + idx_t mmdint(idx_t neqns, idx_t *xadj, idx_t *adjncy, idx_t *head, idx_t *forward, + idx_t *backward, idx_t *qsize, idx_t *list, idx_t *marker) + { +- idx_t fnode, ndeg, node; ++ idx_t fnode, ndeg, node; + +- for ( node = 1; node <= neqns; node++ ) { +- head[node] = 0; +- qsize[node] = 1; +- marker[node] = 0; +- list[node] = 0; +- }; ++ for (node=1; node<=neqns; node++) { ++ head[node] = 0; ++ qsize[node] = 1; ++ marker[node] = 0; ++ list[node] = 0; ++ }; + +- /* initialize the degree doubly linked lists. */ +- for ( node = 1; node <= neqns; node++ ) { +- // The following is something that Olaf Schenk identified as potentially a +- // bug that I introduced in the original code. For now, I reverted back +- // to the original code until I have some time to check. +- // ndeg = xadj[node+1] - xadj[node]/* + 1*/; /* george */ +- ndeg = xadj[node+1] - xadj[node] + 1; +- if (ndeg == 0) +- ndeg = 1; +- fnode = head[ndeg]; +- forward[node] = fnode; +- head[ndeg] = node; +- if ( fnode > 0 ) backward[fnode] = node; +- backward[node] = -ndeg; +- }; +- return 0; ++ /* initialize the degree doubly linked lists. */ ++ for (node=1; node<=neqns; node++) { ++ ndeg = xadj[node+1]-xadj[node]+1; ++ fnode = head[ndeg]; ++ forward[node] = fnode; ++ head[ndeg] = node; ++ if (fnode > 0) ++ backward[fnode] = node; ++ backward[node] = -ndeg; ++ }; ++ ++ return 0; + } + ++ + /**************************************************************************** + * mmdnum --- multi minimum degree numbering + * purpose -- this routine performs the final step in producing +@@ -395,6 +395,7 @@ + return; + } + ++ + /**************************************************************************** + * mmdupd ---- multiple minimum degree update + * purpose -- this routine updates the degrees of nodes after a +diff --git a/libmetis/pmetis.c b/libmetis/pmetis.c +--- a/libmetis/pmetis.c ++++ b/libmetis/pmetis.c +@@ -130,7 +130,8 @@ + IFSET(ctrl->dbglvl, METIS_DBG_TIME, InitTimers(ctrl)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_startcputimer(ctrl->TotalTmr)); + +- *objval = MlevelRecursiveBisection(ctrl, graph, *nparts, part, ctrl->tpwgts, 0); ++ iset(*nvtxs, 0, part); ++ *objval = (*nparts == 1 ? 0 : MlevelRecursiveBisection(ctrl, graph, *nparts, part, ctrl->tpwgts, 0)); + + IFSET(ctrl->dbglvl, METIS_DBG_TIME, gk_stopcputimer(ctrl->TotalTmr)); + IFSET(ctrl->dbglvl, METIS_DBG_TIME, PrintTimers(ctrl)); diff --git a/recipes/metis/all/test_package/test.cpp b/recipes/metis/all/test_package/test.cpp index df955f7eb7be3..6a150009d25d4 100644 --- a/recipes/metis/all/test_package/test.cpp +++ b/recipes/metis/all/test_package/test.cpp @@ -1,10 +1,9 @@ #include #include -#include - -int main(){ +#include +int main() { idx_t nVertices = 6; idx_t nEdges = 7; idx_t nWeights = 1; @@ -14,10 +13,10 @@ int main(){ idx_t part[6]; // Indexes of starting points in adjacent array - idx_t xadj[6+1] = {0,2,5,7,9,12,14}; + idx_t xadj[6 + 1] = {0, 2, 5, 7, 9, 12, 14}; // Adjacent vertices in consecutive index order - idx_t adjncy[2 * 7] = {1,3,0,4,2,1,5,0,4,3,1,5,4,2}; + idx_t adjncy[2 * 7] = {1, 3, 0, 4, 2, 1, 5, 0, 4, 3, 1, 5, 4, 2}; // Weights of vertices // if all weights are equal then can be set to NULL @@ -29,7 +28,7 @@ int main(){ std::cout << ret << std::endl; - for(unsigned part_i = 0; part_i < nVertices; part_i++){ + for (unsigned part_i = 0; part_i < nVertices; part_i++) { std::cout << part_i << " " << part[part_i] << std::endl; } diff --git a/recipes/metis/all/test_v1_package/CMakeLists.txt b/recipes/metis/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 5301c806a1b60..0000000000000 --- a/recipes/metis/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -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/metis/all/test_v1_package/conanfile.py b/recipes/metis/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/metis/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/metis/config.yml b/recipes/metis/config.yml index e7148244c2a2f..bf774fe223f43 100644 --- a/recipes/metis/config.yml +++ b/recipes/metis/config.yml @@ -1,3 +1,5 @@ versions: + "5.2.1": + folder: all "5.1.1": folder: all From 40153e48261968c64ac338565e1eeffc9fae9db7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 14 Jul 2023 12:21:30 +0200 Subject: [PATCH 0943/4087] (#18541) [config] Add pcl reference to the extra-large pod size list --- .c3i/config_v1.yml | 2 +- .c3i/config_v2.yml | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 1a084cb4431b5..13bfa2f1250ee 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -192,9 +192,9 @@ pod_size: # - name/version notation takes preference over the name only one # - Both notations can be combined for the same reference name large: - - "pcl" - "duckdb" - "ceres-solver" xlarge: - "llvm" - "opengv" + - "pcl" diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index d9a8c0eb24efd..8af5c49162c6a 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -152,3 +152,12 @@ node_labels: default: "linux_gcc_${compiler.version}_ubuntu16.04" "clang": default: "linux_clang_${compiler.version}_ubuntu16.04" + + +pod_size: + # Map with references that need special memory resources to compile. + # - Can be only by name or by name/version. + # - name/version notation takes preference over the name only one + # - Both notations can be combined for the same reference name + xlarge: + - "pcl" From 3a49642937b634c73957a5c3f447cb02fce5c87f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:41:55 +0200 Subject: [PATCH 0944/4087] (#18539) [bot] Update list of references (prod-v2/ListPackages) --- .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 f82d033d13fdb..c3af193898e16 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -418,6 +418,7 @@ required_for_references: - libfreenect - libfuse - libgcrypt +- libgeotiff - libgettext - libgpg-error - libgphoto2 @@ -683,6 +684,7 @@ required_for_references: - rmm - roaring - robin-hood-hashing +- rtm - rttr - ruy - s2n @@ -710,6 +712,7 @@ required_for_references: - simdjson - simdutf - simple-websocket-server +- sjson-cpp - skyr-url - sml - snappy From 4d5028a227772cac34c3af6a63917c08d4c5f55e Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:03:07 +0100 Subject: [PATCH 0945/4087] (#18542) ccache: fix build issues on Windows --- recipes/ccache/all/conandata.yml | 12 +++++++ .../4.7.4-use-intrinsics-if-msbuild.patch | 34 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index 4e411c4409cdf..d9b62b8f7eec8 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -13,11 +13,23 @@ patches: - 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/patches/4.7.4-use-intrinsics-if-msbuild.patch b/recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch new file mode 100644 index 0000000000000..f55e169ebc167 --- /dev/null +++ b/recipes/ccache/all/patches/4.7.4-use-intrinsics-if-msbuild.patch @@ -0,0 +1,34 @@ +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() From 98e92b7c2cb8d178094abe0deae11f699bf65ca7 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 14 Jul 2023 14:41:46 +0200 Subject: [PATCH 0946/4087] (#18528) [bot] Update authorized users list (2023-07-13) --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 1dfd35157fee6..1bab3d41b7d93 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1194,3 +1194,8 @@ authorized_users: - TrimbleAg - ylatuya - jabbas +- whaliendev +- AleksandraVolosevich-tomtom +- owenkellogg +- AndreaFinazzi +- klausholstjacobsen From 1e392c88998f7f9385df75463f82402baa3b2f92 Mon Sep 17 00:00:00 2001 From: James Date: Sat, 15 Jul 2023 10:23:22 +0200 Subject: [PATCH 0947/4087] (#18481) clarify public domaing licenses * clarify public domaing licenses * review --- docs/adding_packages/conanfile_attributes.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/adding_packages/conanfile_attributes.md b/docs/adding_packages/conanfile_attributes.md index 66bd21cf8d8b9..0044d960505ba 100644 --- a/docs/adding_packages/conanfile_attributes.md +++ b/docs/adding_packages/conanfile_attributes.md @@ -53,7 +53,8 @@ The mandatory license attribute of each recipe **should** be a [SPDX license](ht Where the SPDX guidelines do not apply, packages should do the following: -* When no license is provided or it's under the ["public domain"](https://fairuse.stanford.edu/overview/public-domain/welcome/) - these are not a license by itself. Thus, we have [equivalent licenses](https://en.wikipedia.org/wiki/Public-domain-equivalent_license) that should be used instead. If a project falls under these criteria it should be identified as the [Unlicense](https://spdx.org/licenses/Unlicense) license. +* Packages without a license or closed source cannot be accepted in ConanCenter, even if the code is publicly available in Github or other platforms. +* When some package is under the ["public domain"](https://fairuse.stanford.edu/overview/public-domain/welcome/) - these are not a license by itself. The author original intent and files should be respected, and the relevant files defining the "public domain" status should be the ones packaged in the "licenses" folder, for example the source repository README. The ``license`` field should be as close as the original one as possible, like ``license = "Public-domain"``. * When a custom (e.g. project specific) license is given, the value should be set to `LicenseRef-` as a prefix, followed by the name of the file which contains the custom license. See [this example](https://github.com/conan-io/conan-center-index/blob/e604534bbe0ef56bdb1f8513b83404eff02aebc8/recipes/fft/all/conanfile.py#L8). For more details, [read this conversation](https://github.com/conan-io/conan-center-index/pull/4928/files#r596216206). From 61c4f7819e6cd3594a57f6c3847f94ab86de623f Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 15 Jul 2023 17:44:18 +0900 Subject: [PATCH 0948/4087] (#18465) minizip-ng: fix duplicate provides with mz_compatibility=True, update dependencies --- recipes/minizip-ng/all/conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index a47310a4b7929..01bda6f608ccb 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -73,8 +73,6 @@ def configure(self): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") - if self.options.mz_compatibility: - self.provides = "minizip" if self.options.get_safe("with_libcomp"): del self.options.with_zlib @@ -98,7 +96,7 @@ def requirements(self): def build_requirements(self): if self._needs_pkg_config: - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") if Version(self.version) >= "4.0.0": self.tool_requires("cmake/[>=3.19 <4]") @@ -177,7 +175,8 @@ def package_info(self): self.cpp_info.components["minizip"].defines.append("HAVE_BZIP2") if Version(self.version) >= "4.0.0": - self.cpp_info.components["minizip"].includedirs.append(os.path.join("include", "minizip-ng")) + minizip_dir = "minizip" if self.options.mz_compatibility else "minizip-ng" + self.cpp_info.components["minizip"].includedirs.append(os.path.join(self.package_folder, "include", minizip_dir)) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "minizip" @@ -203,5 +202,3 @@ def package_info(self): if self.settings.os != "Windows" and self.options.with_iconv: self.cpp_info.components["minizip"].requires.append("libiconv::libiconv") - - From e4ad42fba244d3b5484c28439359c40456aa107b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 15 Jul 2023 11:46:41 +0200 Subject: [PATCH 0949/4087] (#18108) ua-nodeset: migrate to Conan v2 * ua-nodeset: migrate to Conan v2 * ua-nodeset: add short_paths = True https://github.com/conan-io/conan-center-index/pull/18108#issuecomment-1612053208 * ua-nodeset: correct package_type and package_id * ua-nodeset: fix Conan v1 incompatibility * ua-nodeset: correct topics * Avoid checking Conan version Signed-off-by: Uilian Ries * ua-nodeset: restore test_v1_package --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/ua-nodeset/all/conanfile.py | 42 ++++++++++--------- .../ua-nodeset/all/test_package/conanfile.py | 22 +++++++--- .../all/test_v1_package/conanfile.py | 12 ++++++ 3 files changed, 52 insertions(+), 24 deletions(-) create mode 100644 recipes/ua-nodeset/all/test_v1_package/conanfile.py diff --git a/recipes/ua-nodeset/all/conanfile.py b/recipes/ua-nodeset/all/conanfile.py index 0414764f76035..b0566af78f907 100644 --- a/recipes/ua-nodeset/all/conanfile.py +++ b/recipes/ua-nodeset/all/conanfile.py @@ -1,7 +1,9 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get, load, save + +required_conan_version = ">=1.47.0" class UaNodeSetConan(ConanFile): @@ -12,32 +14,34 @@ class UaNodeSetConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("opc-ua-specifications", "uanodeset", "normative-files", "companion-specification") - no_copy_source = True - - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "build-scripts" + settings = "os", "arch", "compiler", "build_type" + short_paths = True - def _extract_license(self): - content = tools.load(os.path.join(self.source_folder, self._source_subfolder, "AnsiC", "opcua_clientapi.c")) - license_contents = content[2:content.find("*/", 1)] - tools.save("LICENSE", license_contents) + def layout(self): + pass - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + def package_id(self): + self.info.clear() def build(self): - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def _extract_license(self): + content = load(self, os.path.join(self.build_folder, "AnsiC", "opcua_clientapi.c")) + license_contents = content[2 : content.find("*/", 1)] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package(self): self._extract_license() - self.copy("*", dst="res", src=self._source_subfolder) - self.copy("LICENSE", dst="licenses") - + copy(self, "*", dst=os.path.join(self.package_folder, "res"), src=self.build_folder) def package_info(self): - self.cpp_info.libdirs = [] + self.conf_info.define("user.ua-nodeset:nodeset_dir", os.path.join(self.package_folder, "res")) self.cpp_info.resdirs = ["res"] - self.user_info.nodeset_dir = os.path.join(self.package_folder, "res") + self.cpp_info.libdirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.includedirs = [] + # TODO: to remove in conan v2 + self.user_info.nodeset_dir = os.path.join(self.package_folder, "res") diff --git a/recipes/ua-nodeset/all/test_package/conanfile.py b/recipes/ua-nodeset/all/test_package/conanfile.py index 872e7a1f2874d..02a908bec924b 100644 --- a/recipes/ua-nodeset/all/test_package/conanfile.py +++ b/recipes/ua-nodeset/all/test_package/conanfile.py @@ -1,12 +1,24 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.files import load, save -class TestUaNodeSetConan(ConanFile): - def build(self): +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + + def layout(self): pass - def test(self): - assert os.path.exists(os.path.join(self.deps_user_info["ua-nodeset"].nodeset_dir, "PLCopen")) + def generate(self): + nodeset_dir = self.dependencies["ua-nodeset"].conf_info.get("user.ua-nodeset:nodeset_dir") + save(self, "nodeset_dir", nodeset_dir) + def requirements(self): + self.requires(self.tested_reference_str) + + def test(self): + nodeset_dir = load(self, "nodeset_dir") + test_path = os.path.join(nodeset_dir, "PLCopen") + assert os.path.exists(test_path) diff --git a/recipes/ua-nodeset/all/test_v1_package/conanfile.py b/recipes/ua-nodeset/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..872e7a1f2874d --- /dev/null +++ b/recipes/ua-nodeset/all/test_v1_package/conanfile.py @@ -0,0 +1,12 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestUaNodeSetConan(ConanFile): + + def build(self): + pass + + def test(self): + assert os.path.exists(os.path.join(self.deps_user_info["ua-nodeset"].nodeset_dir, "PLCopen")) + From 0ebdb98042307646dde42020372e2800c411c277 Mon Sep 17 00:00:00 2001 From: Alexey Klimkin Date: Sat, 15 Jul 2023 03:24:06 -0700 Subject: [PATCH 0950/4087] (#18013) Add UnityTest version 2.5.2 * Add UnityTest version 2.5.2 * adjust recipe with correct name Signed-off-by: Uilian Ries * rename folder to unity Signed-off-by: Uilian Ries * add setup and teardown Signed-off-by: Uilian Ries * remove shared option support Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/unity/all/conandata.yml | 4 ++ recipes/unity/all/conanfile.py | 62 +++++++++++++++++++ recipes/unity/all/test_package/CMakeLists.txt | 8 +++ recipes/unity/all/test_package/conanfile.py | 25 ++++++++ recipes/unity/all/test_package/test_package.c | 22 +++++++ recipes/unity/config.yml | 3 + 6 files changed, 124 insertions(+) create mode 100644 recipes/unity/all/conandata.yml create mode 100644 recipes/unity/all/conanfile.py create mode 100644 recipes/unity/all/test_package/CMakeLists.txt create mode 100644 recipes/unity/all/test_package/conanfile.py create mode 100644 recipes/unity/all/test_package/test_package.c create mode 100644 recipes/unity/config.yml diff --git a/recipes/unity/all/conandata.yml b/recipes/unity/all/conandata.yml new file mode 100644 index 0000000000000..a3d7facb1dfbb --- /dev/null +++ b/recipes/unity/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.5.2": + url: "https://github.com/ThrowTheSwitch/Unity/archive/refs/tags/v2.5.2.tar.gz" + sha256: "3786de6c8f389be3894feae4f7d8680a02e70ed4dbcce36109c8f8646da2671a" diff --git a/recipes/unity/all/conanfile.py b/recipes/unity/all/conanfile.py new file mode 100644 index 0000000000000..7170cbf7699d0 --- /dev/null +++ b/recipes/unity/all/conanfile.py @@ -0,0 +1,62 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +import os + +required_conan_version = ">=1.53.0" + + +class UnityConan(ConanFile): + name = "unity" + description = "Unity Test is a unit testing framework built for C, with a focus on working with embedded toolchains" + topics = ("unit-test", "tdd", "bdd", "testing") + license = "MIT" + homepage = "http://www.throwtheswitch.org" + url = "https://github.com/conan-io/conan-center-index" + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + "fixture_extension": [True, False], + "memory_extension": [True, False], + } + default_options = { + "fPIC": True, + "fixture_extension": False, + "memory_extension": False, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["UNITY_EXTENSION_FIXTURE"] = self.options.fixture_extension + tc.cache_variables["UNITY_EXTENSION_MEMORY"] = self.options.memory_extension + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["unity"] + self.cpp_info.includedirs = ["include", "include/unity"] diff --git a/recipes/unity/all/test_package/CMakeLists.txt b/recipes/unity/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ac959a17f44e2 --- /dev/null +++ b/recipes/unity/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES C) + +find_package(unity REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE unity::unity) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/unity/all/test_package/conanfile.py b/recipes/unity/all/test_package/conanfile.py new file mode 100644 index 0000000000000..254feca104287 --- /dev/null +++ b/recipes/unity/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, cmake_layout +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): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/unity/all/test_package/test_package.c b/recipes/unity/all/test_package/test_package.c new file mode 100644 index 0000000000000..ecc0ee2a6b4ef --- /dev/null +++ b/recipes/unity/all/test_package/test_package.c @@ -0,0 +1,22 @@ +#include + + +void setUp(void) +{ +} + +void tearDown(void) +{ +} + +void test_Something(void) +{ + TEST_ASSERT_EQUAL_INT(1, 1); +} + +int main(void) +{ + UNITY_BEGIN(); + RUN_TEST(test_Something); + return UNITY_END(); +} diff --git a/recipes/unity/config.yml b/recipes/unity/config.yml new file mode 100644 index 0000000000000..2ac88b6313aec --- /dev/null +++ b/recipes/unity/config.yml @@ -0,0 +1,3 @@ +versions: + "2.5.2": + folder: all From a7e5f1784ac6cc659e56eb9b6373f82ab4308632 Mon Sep 17 00:00:00 2001 From: Dan Weatherill Date: Sat, 15 Jul 2023 11:44:54 +0100 Subject: [PATCH 0951/4087] (#17699) Extra cmake modules v2 migration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bump version and start migration to conan 2.0 * conan v2 build now working * setup package_info * black reformatting * fix config.yml file lint * fix license copying and folder naming issues * clear all package_id calc variables not just settings * add short_paths to remove warning on Windows platform * silence warning by adding all build dirs and remove spurious include dir * add cmake requirement dependent on package version * attempt to fix test_package on mac / windows builds... * fix example running path * add missing import * fix test_package run method (again) * try to fix windows build * more attempt at folder location * attempt to fix test path again * replace test_requires with requires to silence linter * add explicit cpp build bindirs * add in latest just released version (might as well before PR) * add missing version to config * Update recipes/extra-cmake-modules/all/conanfile.py package is cmake build scripts only, bindirs and libdirs can be empty there is no binary code here at all Co-authored-by: Uilian Ries * remove 5.106.0 and unecessary license dir printing * simplify test run invocation (checked on Windows MSVC, which was the problem before) * remove msvc checks and .exe, as windows cmd.exe should sort this out itself --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/extra-cmake-modules/all/conandata.yml | 3 + recipes/extra-cmake-modules/all/conanfile.py | 84 ++++++++++++------- .../all/test_package/CMakeLists.txt | 3 - .../all/test_package/conanfile.py | 24 ++++-- recipes/extra-cmake-modules/config.yml | 2 + 5 files changed, 75 insertions(+), 41 deletions(-) diff --git a/recipes/extra-cmake-modules/all/conandata.yml b/recipes/extra-cmake-modules/all/conandata.yml index c1c71096d72a6..6959b8c4f7d49 100644 --- a/recipes/extra-cmake-modules/all/conandata.yml +++ b/recipes/extra-cmake-modules/all/conandata.yml @@ -11,3 +11,6 @@ sources: "5.93.0": url: "https://download.kde.org/stable/frameworks/5.93/extra-cmake-modules-5.93.0.tar.xz" sha256: "093dea7b11647bc5f74e6971d47ef15b5c410cba2b4620acae00f008d5480b21" + "5.108.0": + url: "https://download.kde.org/stable/frameworks/5.108/extra-cmake-modules-5.108.0.tar.xz" + sha256: "ff14abd21abd34c2d8c00ee7a1ccd173b9a57ed1824e5c01090897ffffed447a" diff --git a/recipes/extra-cmake-modules/all/conanfile.py b/recipes/extra-cmake-modules/all/conanfile.py index 260ac51ba3a9a..94cf7600c9287 100644 --- a/recipes/extra-cmake-modules/all/conanfile.py +++ b/recipes/extra-cmake-modules/all/conanfile.py @@ -1,5 +1,9 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain +from conan.tools.files import get, copy +from conan.tools.scm import Version + class ExtracmakemodulesConan(ConanFile): name = "extra-cmake-modules" @@ -8,49 +12,65 @@ class ExtracmakemodulesConan(ConanFile): homepage = "https://api.kde.org/ecm/" topics = ("conan", "cmake", "toolchain", "build-settings") description = "KDE's CMake modules" - generators = "cmake" no_copy_source = False + package_type = "build-scripts" + settings = "build_type" + short_paths = True - _cmake = None + def source(self): + get( + self, + **self.conan_data["sources"][self.version], + destination=self.source_folder + ) - @property - def _source_subfolder(self): - return "source_subfolder" + def build_requirements(self): + if self.version <= Version("5.80.0"): + self.tool_requires("cmake/[>=3.5]") + else: + self.tool_requires("cmake/[>=3.16]") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("extra-cmake-modules-{}".format(self.version), self._source_subfolder) - def _configure_cmake(self): - if self._cmake: - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_HTML_DOCS"] = False + tc.cache_variables["BUILD_QTHELP_DOCS"] = False + tc.cache_variables["BUILD_MAN_DOCS"] = False + tc.cache_variables["BUILD_TESTING"] = False - # KB-H016: do not install Find*.cmake - tools.replace_path_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "install(FILES ${installFindModuleFiles} DESTINATION ${FIND_MODULES_INSTALL_DIR})", "") + if self.package_folder is None: + share_folder = "res" + else: + share_folder = os.path.join(self.package_folder, "res") - self._cmake = CMake(self) - self._cmake.definitions["BUILD_HTML_DOCS"] = False - self._cmake.definitions["BUILD_QTHELP_DOCS"] = False - self._cmake.definitions["BUILD_MAN_DOCS"] = False - self._cmake.definitions["SHARE_INSTALL_DIR"] = os.path.join(self.package_folder, "res") - self._cmake.configure(source_folder=os.path.join(self.source_folder, self._source_subfolder)) - return self._cmake + tc.cache_variables["SHARE_INSTALL_DIR"] = share_folder + tc.generate() def build(self): - cmake = self._configure_cmake() - cmake.build() + cm_folder = "{}-{}".format(self.name, self.version) + cmake = CMake(self) + cmake.configure(build_script_folder=cm_folder) def package(self): - cmake = self._configure_cmake() - cmake.install() - self.copy("testhelper.h", src=os.path.join(self.source_folder, self._source_subfolder, "tests/ECMAddTests"), dst="res/tests") - self.copy("*", src=os.path.join(self.source_folder, self._source_subfolder, "LICENSES"), dst="licenses") + cm_folder = "{}-{}".format(self.name, self.version) + lic_folder_st = os.path.join(cm_folder, "LICENSES") + lic_folder = os.path.join(self.source_folder, lic_folder_st) - def package_info(self): - self.cpp_info.resdirs = ["res"] - self.cpp_info.builddirs = ["res/ECM/cmake", "res/ECM/kde-modules", "res/ECM/modules", "res/ECM/test-modules", "res/ECM/toolchain"] + lic_folder_inst = os.path.join(self.package_folder, "licenses") + copy(self, "*", src=lic_folder, dst=lic_folder_inst) + + cmake = CMake(self) + cmake.install() def package_id(self): - self.info.header_only() + self.info.clear() + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.includedirs = [] + self.cpp_info.set_property("cmake_find_mode", "none") + for dirname in ["cmake", "find-modules", "kde-modules", "toolchain", + "modules", "test-modules"]: + self.cpp_info.builddirs.append(os.path.join("res", "ECM", dirname)) diff --git a/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt b/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt index 96f9cb73534c7..1e85f491bc237 100644 --- a/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt +++ b/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(ECM REQUIRED NO_MODULE) list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) diff --git a/recipes/extra-cmake-modules/all/test_package/conanfile.py b/recipes/extra-cmake-modules/all/test_package/conanfile.py index 1ffe0933a5715..72c1f212d5782 100644 --- a/recipes/extra-cmake-modules/all/test_package/conanfile.py +++ b/recipes/extra-cmake-modules/all/test_package/conanfile.py @@ -1,9 +1,22 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.build import can_run import os class ExtraCMakeModulesTestConan(ConanFile): settings = "os", "compiler", "arch", "build_type" - generators = "cmake" + + def build_requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,7 +24,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): + runpath = os.path.join(self.cpp.build.bindir, "example") + self.run(runpath, env="conanrun") diff --git a/recipes/extra-cmake-modules/config.yml b/recipes/extra-cmake-modules/config.yml index c17f03346f04f..873671640043e 100644 --- a/recipes/extra-cmake-modules/config.yml +++ b/recipes/extra-cmake-modules/config.yml @@ -7,3 +7,5 @@ versions: folder: "all" "5.93.0": folder: "all" + "5.108.0": + folder: "all" From ec257e366ae1a4f837d3338722f7ecf52143c988 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 16 Jul 2023 01:41:41 +0900 Subject: [PATCH 0952/4087] (#18565) daw_json_link: add version 3.19.0, remove older versions --- recipes/daw_json_link/all/conandata.yml | 24 +++--------------------- recipes/daw_json_link/config.yml | 16 ++-------------- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 77fb43160a9b9..c72c7afca8769 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.19.0": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.19.0.tar.gz" + sha256: "85c2f6a84878925eb692c53b321b9b237481969c8caa3a9324b78540096a3559" "3.17.2": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.17.2.tar.gz" sha256: "6f74d386c842d83f32798f4e4cf812da9872cf4fe3565393443fc3be1a06a8ae" @@ -23,24 +26,3 @@ sources: "3.11.1": url: "https://github.com/beached/daw_json_link/archive/v3.11.1.tar.gz" sha256: "d2b5cb221892c6b1ecd30fd2e45d168d6b378e97d134e75349703104c5882309" - "3.10.0": - url: "https://github.com/beached/daw_json_link/archive/v3.10.0.tar.gz" - sha256: "8a2e635e695d57eb147815f516c56d48360b103fbefc06f720607e8cf93c2937" - "3.8.1": - url: "https://github.com/beached/daw_json_link/archive/v3.8.1.tar.gz" - sha256: "b0f20310d1e295babaca62b83488b22f438cc4aacf8a7a47dcc92ad7386baaec" - "3.5.0": - url: "https://github.com/beached/daw_json_link/archive/v3.5.0.tar.gz" - sha256: "d1643725711b4564fb166f1f4bac0acb386fbbdb761f822c99a4ef585d8bdd71" - "3.4.1": - url: "https://github.com/beached/daw_json_link/archive/v3.4.1.tar.gz" - sha256: "3f57ccc936a9999b5c8c5684b2b3b8b989f50ef6e1ea8dce7bc311d1c77195ac" - "3.3.0": - url: "https://github.com/beached/daw_json_link/archive/v3.3.0.tar.gz" - sha256: "fd806245fc8b944e613b29da5ef0570c0e6881b6049a7bf65eb0285c58848f40" - "3.1.1": - url: "https://github.com/beached/daw_json_link/archive/v3.1.1.tar.gz" - sha256: "7d340886898b2ea3c595f0f871c81e4c7382fe53d22d80edc5629768e49fa634" - "2.15.3": - url: "https://github.com/beached/daw_json_link/archive/v2.15.3.tar.gz" - sha256: "ec0457a5682a76c5aec709f2d6959ef7bafa0b54c5e7740f911d97991188ee84" diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index 754af98c981f6..b1d3c03d35507 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.19.0": + folder: "all" "3.17.2": folder: "all" "3.17.1": @@ -15,17 +17,3 @@ versions: folder: "all" "3.11.1": folder: "all" - "3.10.0": - folder: "all" - "3.8.1": - folder: "all" - "3.5.0": - folder: "all" - "3.4.1": - folder: "all" - "3.3.0": - folder: "all" - "3.1.1": - folder: "all" - "2.15.3": - folder: "all" From 60fa77f44eafacf99b7f1d43650f13dd8db5d971 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 16 Jul 2023 02:02:08 +0900 Subject: [PATCH 0953/4087] (#18562) libnghttp2: add version 1.55.1 --- recipes/libnghttp2/all/conandata.yml | 3 +++ recipes/libnghttp2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 834d98b9d2153..16a85daa58280 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.55.1": + url: "https://github.com/nghttp2/nghttp2/archive/v1.55.1.tar.gz" + sha256: "b89dece5bc3382b82c22db8dc8d1e062258cb7af8e4ad55278fa7149645a588d" "1.55.0": url: "https://github.com/nghttp2/nghttp2/archive/v1.55.0.tar.gz" sha256: "6d2a4d246e84cb1e3e581591bd1c50ecc085e50090bc068ed5a67f87c6b4a06e" diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 75ab39061ab25..80c7ccd82ad1f 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.55.1": + folder: all "1.55.0": folder: all "1.54.0": From 4f822a2f26dbe78d1644bf94649f73f7f7fa9888 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 16 Jul 2023 21:41:39 +0900 Subject: [PATCH 0954/4087] (#18576) effolkronium-random: add version 1.5.0 --- recipes/effolkronium-random/all/conandata.yml | 3 +++ recipes/effolkronium-random/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/effolkronium-random/all/conandata.yml b/recipes/effolkronium-random/all/conandata.yml index caf25d2461065..93228f36e51e4 100644 --- a/recipes/effolkronium-random/all/conandata.yml +++ b/recipes/effolkronium-random/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/effolkronium/random/archive/v1.5.0.tar.gz" + sha256: "c05a042f8daf54913e3a836e10a213bbbeaf09a89630649bd0011fe65eff50d9" "1.4.1": url: "https://github.com/effolkronium/random/archive/v1.4.1.tar.gz" sha256: "ec6beb67496ad2ce722d311d3fa5efb7e847dac5fd1c16b8920b51562fe20f53" diff --git a/recipes/effolkronium-random/config.yml b/recipes/effolkronium-random/config.yml index c0455a0dac1c9..81a82b944153f 100644 --- a/recipes/effolkronium-random/config.yml +++ b/recipes/effolkronium-random/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: "all" "1.4.1": folder: "all" "1.4.0": From fa106d129d67635be90631d34523d204329bb44f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 17 Jul 2023 08:05:27 +0200 Subject: [PATCH 0955/4087] (#18581) meson: add version 1.2.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 233e51184aef9..df69b3c1b2cb9 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/mesonbuild/meson/archive/1.2.0.tar.gz" + sha256: "603489f0aaa6305f806c6cc4a4455a965f22290fc74f65871f589b002110c790" "1.1.1": url: "https://github.com/mesonbuild/meson/releases/download/1.1.1/meson-1.1.1.tar.gz" sha256: "d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index eb30cf3e2eaa0..b926152e71ae8 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.1": folder: all "1.1.0": From 84d3ea84ac6bcc763139513b9aafad814c9e8c9c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 17 Jul 2023 09:22:17 +0200 Subject: [PATCH 0956/4087] (#18586) Libidn: bump deps * libidn: fix linter * bump deps --- recipes/libidn/all/conanfile.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/recipes/libidn/all/conanfile.py b/recipes/libidn/all/conanfile.py index 6305a5795dac0..49221670d5e8e 100644 --- a/recipes/libidn/all/conanfile.py +++ b/recipes/libidn/all/conanfile.py @@ -1,5 +1,8 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, rmdir +from conan.tools.scm import Version +from conans import AutoToolsBuildEnvironment, tools import contextlib import functools import os @@ -49,7 +52,7 @@ def configure(self): del self.settings.compiler.cppstd def requirements(self): - self.requires("libiconv/1.16") + self.requires("libiconv/1.17") def validate(self): if self.settings.os == "Windows" and self.options.shared: @@ -59,10 +62,10 @@ def build_requirements(self): if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): self.build_requires("msys2/cci.latest") if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.3") + self.build_requires("automake/1.16.5") def source(self): - tools.get(**self.conan_data["sources"][self.version], + get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) @contextlib.contextmanager @@ -87,7 +90,7 @@ def _configure_autotools(self): if not self.options.shared: autotools.defines.append("LIBIDN_STATIC") if self.settings.compiler == "Visual Studio": - if tools.Version(self.settings.compiler.version) >= "12": + if Version(self.settings.compiler.version) >= "12": autotools.flags.append("-FS") autotools.link_flags.extend("-L{}".format(p.replace("\\", "/")) for p in self.deps_cpp_info.lib_paths) yes_no = lambda v: "yes" if v else "no" @@ -122,8 +125,8 @@ def package(self): 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") def package_info(self): From 51a9a6e267b077d150f72586ecdc291da4ef5296 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 17 Jul 2023 09:42:45 +0200 Subject: [PATCH 0957/4087] (#18585) Hdf4: bump deps * hdf4: fix linter * bump deps --- recipes/hdf4/all/conanfile.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/recipes/hdf4/all/conanfile.py b/recipes/hdf4/all/conanfile.py index 2d8c7ea8622e4..6e61dd7455655 100644 --- a/recipes/hdf4/all/conanfile.py +++ b/recipes/hdf4/all/conanfile.py @@ -1,4 +1,7 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.files import get, rmdir +from conans import CMake, tools import os required_conan_version = ">=1.33.0" @@ -53,18 +56,18 @@ def configure(self): del self.options.szip_encoding def requirements(self): - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") if self.options.jpegturbo: - self.requires("libjpeg-turbo/2.1.2") + self.requires("libjpeg-turbo/2.1.5") else: - self.requires("libjpeg/9d") + self.requires("libjpeg/9e") if self.options.szip_support == "with_libaec": self.requires("libaec/1.0.6") elif self.options.szip_support == "with_szip": self.requires("szip/2.1.1") def source(self): - tools.get(**self.conan_data["sources"][self.version], + get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) def build(self): @@ -96,7 +99,7 @@ def _configure_cmake(self): self._cmake.definitions["HDF4_BUILD_TOOLS"] = False self._cmake.definitions["HDF4_BUILD_EXAMPLES"] = False self._cmake.definitions["HDF4_BUILD_JAVA"] = False - if tools.cross_building(self): + if cross_building(self): self._cmake.definitions["H4_PRINTF_LL_TEST_RUN"] = "0" self._cmake.definitions["H4_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT"] = "" self._cmake.configure(build_folder=self._build_subfolder) @@ -106,7 +109,7 @@ def package(self): self.copy("COPYING", dst="licenses", src=self._source_subfolder) cmake = self._configure_cmake() cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) os.remove(os.path.join(self.package_folder, "lib", "libhdf4.settings")) def package_info(self): From 29884059df42d4d450d4099238705d337c068c7e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 17 Jul 2023 10:01:46 +0200 Subject: [PATCH 0958/4087] (#18587) Librasterlite2: bump deps * librasterlite2: fix hooks * bump deps --- recipes/librasterlite2/all/conanfile.py | 42 +++++++++++++------------ 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/recipes/librasterlite2/all/conanfile.py b/recipes/librasterlite2/all/conanfile.py index f7a1b69c371ae..91ae265228d72 100644 --- a/recipes/librasterlite2/all/conanfile.py +++ b/recipes/librasterlite2/all/conanfile.py @@ -1,5 +1,7 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, rmdir +from conans import AutoToolsBuildEnvironment, tools import functools import os @@ -66,41 +68,41 @@ def configure(self): del self.settings.compiler.cppstd def requirements(self): - self.requires("cairo/1.17.4") - self.requires("freetype/2.11.1") + self.requires("cairo/1.17.6") + self.requires("freetype/2.13.0") self.requires("giflib/5.2.1") - self.requires("libcurl/7.80.0") + self.requires("libcurl/8.1.2") self.requires("libgeotiff/1.7.1") - self.requires("libjpeg/9d") - self.requires("libpng/1.6.37") + self.requires("libjpeg/9e") + self.requires("libpng/1.6.40") self.requires("libspatialite/5.0.1") - self.requires("libtiff/4.3.0") - self.requires("libxml2/2.9.13") - self.requires("sqlite3/3.38.1") - self.requires("zlib/1.2.12") + self.requires("libtiff/4.5.1") + self.requires("libxml2/2.11.4") + self.requires("sqlite3/3.42.0") + self.requires("zlib/1.2.13") if self.options.with_openjpeg: - self.requires("openjpeg/2.4.0") + self.requires("openjpeg/2.5.0") if self.options.with_webp: - self.requires("libwebp/1.2.2") + self.requires("libwebp/1.3.1") if self.options.with_lzma: - self.requires("xz_utils/5.2.5") + self.requires("xz_utils/5.4.2") if self.options.with_lz4: - self.requires("lz4/1.9.3") + self.requires("lz4/1.9.4") if self.options.with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") def validate(self): if self._is_msvc: raise ConanInvalidConfiguration("Visual Studio not supported yet") def build_requirements(self): - self.build_requires("libtool/2.4.6") - self.build_requires("pkgconf/1.7.4") + self.build_requires("libtool/2.4.7") + self.build_requires("pkgconf/1.9.5") if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): self.build_requires("msys2/cci.latest") def source(self): - tools.get(**self.conan_data["sources"][self.version], + get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) def _patch_sources(self): @@ -157,7 +159,7 @@ def package(self): autotools = self._configure_autotools() autotools.install() tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "rasterlite2") From dce6d1c070a5cb0ac1d92f9b1c72b575452b738c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 17 Jul 2023 10:22:23 +0200 Subject: [PATCH 0959/4087] (#18584) dlib: bump deps * dlib: fix linters * bump deps --- recipes/dlib/all/conanfile.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index a15a2fc95a7d5..b6ccf5c0b9123 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -1,6 +1,9 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, rmdir from conan.tools.microsoft import is_msvc -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan.tools.scm import Version +from conans import CMake, tools import functools import os @@ -56,7 +59,7 @@ def _build_subfolder(self): @property def _has_with_webp_option(self): - return tools.Version(self.version) >= "19.24" + return Version(self.version) >= "19.24" def config_options(self): if self.settings.os == "Windows": @@ -76,15 +79,15 @@ def requirements(self): if self.options.with_gif: self.requires("giflib/5.2.1") if self.options.with_jpeg: - self.requires("libjpeg/9d") + self.requires("libjpeg/9e") if self.options.with_png: - self.requires("libpng/1.6.37") + self.requires("libpng/1.6.40") if self.options.get_safe("with_webp"): - self.requires("libwebp/1.2.2") + self.requires("libwebp/1.3.1") if self.options.with_sqlite3: - self.requires("sqlite3/3.38.5") + self.requires("sqlite3/3.42.0") if self.options.with_openblas: - self.requires("openblas/0.3.17") + self.requires("openblas/0.3.20") def validate(self): if is_msvc(self) and self.options.shared: @@ -93,7 +96,7 @@ def validate(self): raise ConanInvalidConfiguration("dlib doesn't support macOS M1") def source(self): - tools.get(**self.conan_data["sources"][self.version], + get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) def _patch_sources(self): @@ -178,7 +181,7 @@ def package(self): os.path.join("include", "dlib", "cmake_utils"), os.path.join("include", "dlib", "external", "pybind11", "tools") ]: - tools.rmdir(os.path.join(self.package_folder, dir_to_remove)) + rmdir(self, os.path.join(self.package_folder, dir_to_remove)) def package_info(self): self.cpp_info.set_property("cmake_file_name", "dlib") From 4741bfb3c9e0ba3d0d9da7621e60a461aaa79b38 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 17 Jul 2023 10:41:52 +0200 Subject: [PATCH 0960/4087] (#18583) pdfium: bump deps * pdfium: fix hooks closes conan-io/conan-center-index#18430 * bump deps --- recipes/pdfium/all/conanfile.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/recipes/pdfium/all/conanfile.py b/recipes/pdfium/all/conanfile.py index e8af8fb6f31c4..83fc48daf1b64 100644 --- a/recipes/pdfium/all/conanfile.py +++ b/recipes/pdfium/all/conanfile.py @@ -1,5 +1,8 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get +from conan.tools.scm import Version +from conans import CMake, tools import os required_conan_version = ">=1.33.0" @@ -43,17 +46,17 @@ def configure(self): del self.options.fPIC def requirements(self): - self.requires("freetype/2.10.4") - self.requires("icu/69.1") - self.requires("lcms/2.11") - self.requires("openjpeg/2.4.0") + self.requires("freetype/2.13.0") + self.requires("icu/73.2") + self.requires("lcms/2.14") + self.requires("openjpeg/2.5.0") if self.options.with_libjpeg == "libjpeg": - self.requires("libjpeg/9d") + self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.0") + self.requires("libjpeg-turbo/2.1.5") def build_requirements(self): - self.build_requires("pkgconf/1.7.4") + self.build_requires("pkgconf/1.9.5") def validate(self): if self.settings.compiler.cppstd: @@ -64,17 +67,17 @@ def validate(self): } min_compiler_version = minimum_compiler_versions.get(str(self.settings.compiler)) if min_compiler_version: - if tools.Version(self.settings.compiler.version) < min_compiler_version: + if Version(self.settings.compiler.version) < min_compiler_version: raise ConanInvalidConfiguration("pdfium needs at least compiler version {}".format(min_compiler_version)) def source(self): - tools.get(**self.conan_data["sources"][self.version]["pdfium-cmake"], + get(self, **self.conan_data["sources"][self.version]["pdfium-cmake"], destination="pdfium-cmake", strip_root=True) - tools.get(**self.conan_data["sources"][self.version]["pdfium"], + get(self, **self.conan_data["sources"][self.version]["pdfium"], destination=self._source_subfolder) - tools.get(**self.conan_data["sources"][self.version]["trace_event"], + get(self, **self.conan_data["sources"][self.version]["trace_event"], destination=os.path.join(self._source_subfolder, "base", "trace_event", "common")) - tools.get(**self.conan_data["sources"][self.version]["chromium_build"], + get(self, **self.conan_data["sources"][self.version]["chromium_build"], destination=os.path.join(self._source_subfolder, "build")) def _configure_cmake(self): From b67d028b2664dc34c61e167a3fe15d044d820117 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 17 Jul 2023 14:21:55 +0200 Subject: [PATCH 0961/4087] (#18589) [config] Add config inputs for validate infrastructure job * [config] Add config inputs for validate infrastructure job * Update .c3i/config_v1.yml * Update .c3i/config_v2.yml * Update .c3i/config_v1.yml * Update .c3i/config_v2.yml * Update .c3i/config_v1.yml Co-authored-by: Uilian Ries * Update .c3i/config_v1.yml --------- Co-authored-by: Uilian Ries --- .c3i/config_v1.yml | 4 ++++ .c3i/config_v2.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 13bfa2f1250ee..5241e481d134f 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -61,6 +61,10 @@ tasks: scheduled_export_check: report_issue_url: https://github.com/conan-io/conan-center-index/issues/2232 report_issue_append: false + validate_infrastructure: + macos_executors: 2 + windows_executors: 4 + open_docs_pull-request: true # Profile configurations to build packages configurations: diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 8af5c49162c6a..8dff7f4d63d8a 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -49,6 +49,10 @@ tasks: scheduled_export_check: report_issue_url: https://github.com/conan-io/conan-center-index/issues/15557 report_issue_append: false + validate_infrastructure: + macos_executors: 2 + windows_executors: 4 + open_docs_pull-request: false configurations: - id: linux-gcc From 1a787374903a3635e14e29e3ca9d20996bafd35b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:41:52 +0200 Subject: [PATCH 0962/4087] (#18582) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index c3af193898e16..2fc4bc8bce216 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -210,6 +210,7 @@ required_for_references: - dbus - debug_assert - decimal_for_cpp +- dice-template-library - dirent - discount - dlpack @@ -251,6 +252,7 @@ required_for_references: - expat - expected-lite - exprtk +- extra-cmake-modules - ezc3d - faac - fakeit @@ -691,6 +693,7 @@ required_for_references: - samurai - sbepp - sbp +- scip - scnlib - scons - screen_capture_lite @@ -740,6 +743,7 @@ required_for_references: - string-view-lite - stringtoolbox - strong_type +- structopt - svgwrite - symengine - szip @@ -778,8 +782,10 @@ required_for_references: - turtle - type_safe - tz +- ua-nodeset - uni-algo - unicorn +- unity - univalue - unordered_dense - unqlite From 75e2b27b5c8aa248ac79d4bcecad2b76c4984bc0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 17 Jul 2023 22:02:28 +0900 Subject: [PATCH 0963/4087] (#18575) concurrentcpp: add version 0.1.7 --- recipes/concurrencpp/all/conandata.yml | 6 ++++++ recipes/concurrencpp/all/conanfile.py | 3 ++- recipes/concurrencpp/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/concurrencpp/all/conandata.yml b/recipes/concurrencpp/all/conandata.yml index 10f8a2f01e821..65da3e9e96d97 100644 --- a/recipes/concurrencpp/all/conandata.yml +++ b/recipes/concurrencpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.7": + url: "https://github.com/David-Haim/concurrencpp/archive/refs/tags/v.0.1.7.tar.gz" + sha256: "049f3e83ad1828e0b8b518652de1a3160d5849fdff03d521d0a5af0167338e89" "0.1.6": url: "https://github.com/David-Haim/concurrencpp/archive/refs/tags/v.0.1.6.tar.gz" sha256: "e7d5c23a73ff1d7199d361d3402ad2a710dfccf7630b622346df94a7532b4221" @@ -9,6 +12,9 @@ sources: url: "https://github.com/David-Haim/concurrencpp/archive/refs/tags/v.0.1.4.tar.gz" sha256: "3ad9424f975b766accc6eaedf4acfe1a20b5fdbb57fa3ae71f400e13d471e86f" patches: + "0.1.7": + - patch_file: "patches/cmake-min-version.patch" + - patch_file: "patches/directory-name-0.1.6.patch" "0.1.6": - patch_file: "patches/cmake-min-version.patch" - patch_file: "patches/directory-name-0.1.6.patch" diff --git a/recipes/concurrencpp/all/conanfile.py b/recipes/concurrencpp/all/conanfile.py index 64da9a5493cb8..63a26ab91e6ec 100644 --- a/recipes/concurrencpp/all/conanfile.py +++ b/recipes/concurrencpp/all/conanfile.py @@ -38,6 +38,7 @@ def _minimum_compilers_version(self): "Visual Studio": "16", "msvc": "192", "clang": "11", + "gcc": "13", } def export_sources(self): @@ -60,7 +61,7 @@ def validate(self): if Version(self.version) <= "0.1.5" and self.options.shared and is_msvc(self): # see https://github.com/David-Haim/concurrencpp/issues/75 raise ConanInvalidConfiguration(f"{self.ref} does not support shared builds with Visual Studio") - if self.settings.compiler == "gcc": + if Version(self.version) <= "0.1.6" and self.settings.compiler == "gcc": raise ConanInvalidConfiguration("gcc is not supported by concurrencpp") if Version(self.version) >= "0.1.5" and self.settings.compiler == "apple-clang": # apple-clang does not seem to support the C++20 synchronization library which concurrencpp 0.1.5 depends on diff --git a/recipes/concurrencpp/config.yml b/recipes/concurrencpp/config.yml index 8388e594bacff..d1f158a132019 100644 --- a/recipes/concurrencpp/config.yml +++ b/recipes/concurrencpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.7": + folder: all "0.1.6": folder: all "0.1.5": From 2f8f474ff305d0018204ba84caa69ddbcac32d4e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 17 Jul 2023 22:22:45 +0900 Subject: [PATCH 0964/4087] (#18574) cli11: make bindirs and libdirs empty --- recipes/cli11/all/conanfile.py | 27 +++++++++++-------- recipes/cli11/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/recipes/cli11/all/conanfile.py b/recipes/cli11/all/conanfile.py index 6ccc240eeda4f..e28dd119e7d21 100644 --- a/recipes/cli11/all/conanfile.py +++ b/recipes/cli11/all/conanfile.py @@ -8,26 +8,31 @@ class CLI11Conan(ConanFile): name = "cli11" - homepage = "https://github.com/CLIUtils/CLI11" description = "A command line parser for C++11 and beyond." - topics = "cli-parser", "cpp11", "no-dependencies", "cli", "header-only" - url = "https://github.com/conan-io/conan-center-index" license = "BSD-3-Clause" - settings = "os", "compiler", "build_type", "arch" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/CLIUtils/CLI11" + topics = "cli-parser", "cpp11", "no-dependencies", "cli", "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): + 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) - 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) @@ -50,10 +55,10 @@ def package(self): # since 2.1.1 rmdir(self, os.path.join(self.package_folder, "share")) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "CLI11") self.cpp_info.set_property("cmake_target_name", "CLI11::CLI11") self.cpp_info.set_property("pkg_config_name", "CLI11") diff --git a/recipes/cli11/all/test_package/CMakeLists.txt b/recipes/cli11/all/test_package/CMakeLists.txt index 0b06b681b8997..340e598340044 100644 --- a/recipes/cli11/all/test_package/CMakeLists.txt +++ b/recipes/cli11/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(CLI11 REQUIRED CONFIG) From 26d0752bdc30c6d1fb74171b1fedb918429d857f Mon Sep 17 00:00:00 2001 From: ashley-b Date: Tue, 18 Jul 2023 00:01:57 +1000 Subject: [PATCH 0965/4087] (#18571) libgpiod: Update to conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libgpiod: Update to conan v2 * Fixed recipe to actually remove .la files * Try to fix missing linux/gpio.h on some builds * Removed flags which are taken care of by AutotoolsToolchain * Narrowed down the link library for package test * Conan v2 update of components and renamed pc files to match linux distribution naming * Fix missing linux/gpio.h on some builds * Remove test_v1_package, bump deps & add package_type --------- Co-authored-by: Rubén Rincón --- recipes/libgpiod/all/conanfile.py | 77 +++++++++---------- .../libgpiod/all/test_package/CMakeLists.txt | 7 +- .../libgpiod/all/test_package/conanfile.py | 21 +++-- 3 files changed, 56 insertions(+), 49 deletions(-) diff --git a/recipes/libgpiod/all/conanfile.py b/recipes/libgpiod/all/conanfile.py index 99787ae3af1c0..0ef6b491e9243 100644 --- a/recipes/libgpiod/all/conanfile.py +++ b/recipes/libgpiod/all/conanfile.py @@ -1,8 +1,12 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.57.0" + class LibgpiodConan(ConanFile): name = "libgpiod" @@ -10,7 +14,8 @@ class LibgpiodConan(ConanFile): homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/" license = "LGPL-2.1-or-later" description = "C library and tools for interacting with the linux GPIO character device" - topics = ("gpio", "libgpiod", "libgpiodcxx", "linux") + topics = ("gpio", "libgpiodcxx", "linux") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,12 +29,6 @@ class LibgpiodConan(ConanFile): "enable_bindings_cxx": False, "enable_tools": False, } - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" def validate(self): if self.settings.os != "Linux": @@ -37,51 +36,51 @@ def validate(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.enable_bindings_cxx: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("linux-headers-generic/5.14.9") def build_requirements(self): - self.build_requires("libtool/2.4.6") - self.build_requires("pkgconf/1.7.4") - self.build_requires("autoconf-archive/2021.02.19") - self.build_requires("linux-headers-generic/5.13.9") + self.build_requires("libtool/2.4.7") + self.build_requires("pkgconf/1.9.5") + self.build_requires("autoconf-archive/2022.09.03") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) + def generate(self): + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - "--enable-bindings-cxx={}".format(yes_no(self.options.enable_bindings_cxx)), - "--enable-tools={}".format(yes_no(self.options.enable_tools)), - ] - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + tc.configure_args.append("--enable-bindings-cxx={}".format(yes_no(self.options.enable_bindings_cxx))) + tc.configure_args.append("--enable-tools={}".format(yes_no(self.options.enable_tools))) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() def build(self): - with tools.chdir(os.path.join(self._source_subfolder)): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), run_environment=True) - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - tools.remove_files_by_mask(self.package_folder, "*.la") - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.components["gpiod"].libs = ["gpiod"] - self.cpp_info.components["gpiod"].names["pkg_config"] = "gpiod" + self.cpp_info.components["gpiod"].set_property("pkg_config_name", "libgpiod") if self.options.enable_bindings_cxx: self.cpp_info.components["gpiodcxx"].libs = ["gpiodcxx"] - self.cpp_info.components["gpiodcxx"].names["pkg_config"] = "gpiodcxx" + self.cpp_info.components["gpiodcxx"].set_property("pkg_config_name", "libgpiodcxx") self.cpp_info.components["gpiodcxx"].requires = ["gpiod"] diff --git a/recipes/libgpiod/all/test_package/CMakeLists.txt b/recipes/libgpiod/all/test_package/CMakeLists.txt index a5ffd526aaea7..fe28114b7fac7 100644 --- a/recipes/libgpiod/all/test_package/CMakeLists.txt +++ b/recipes/libgpiod/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(libgpiod REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.c) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${CMAKE_PROJECT_NAME} libgpiod::gpiod) diff --git a/recipes/libgpiod/all/test_package/conanfile.py b/recipes/libgpiod/all/test_package/conanfile.py index db57f3bb0d17f..2325fb400694e 100644 --- a/recipes/libgpiod/all/test_package/conanfile.py +++ b/recipes/libgpiod/all/test_package/conanfile.py @@ -1,11 +1,20 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os required_conan_version = ">=1.33.0" class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -13,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") From 56749500025983f2c9060645794b8214a0ca0069 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 17 Jul 2023 23:42:52 +0900 Subject: [PATCH 0966/4087] (#18563) cpp-peglib: add version 1.8.4, remove older versions --- recipes/cpp-peglib/1.x.x/conandata.yml | 18 +++--------------- recipes/cpp-peglib/1.x.x/conanfile.py | 6 ++++++ .../1.x.x/test_package/CMakeLists.txt | 11 +++++++++-- recipes/cpp-peglib/config.yml | 12 ++---------- 4 files changed, 20 insertions(+), 27 deletions(-) diff --git a/recipes/cpp-peglib/1.x.x/conandata.yml b/recipes/cpp-peglib/1.x.x/conandata.yml index d7a924b2af542..cd54a6a1b9b28 100644 --- a/recipes/cpp-peglib/1.x.x/conandata.yml +++ b/recipes/cpp-peglib/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.4": + url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.4.tar.gz" + sha256: "002cec65f659180ba90c0b04ee30a349ca18f0732fbe00e7638f1ead44aeb701" "1.8.3": url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.3.tar.gz" sha256: "3de8aeb44a262f9c2478e2a7e7bc2bb9426a2bdd176cf0654ff5a3d291c77b73" @@ -20,18 +23,3 @@ sources: "1.5.0": url: "https://github.com/yhirose/cpp-peglib/archive/refs/tags/v1.5.0.tar.gz" sha256: "45a02b749556af6ab0abf78c4c1d1afe02f17705b1c51f5820e957616f453b33" - "1.4.2": - url: "https://github.com/yhirose/cpp-peglib/archive/refs/tags/v1.4.2.tar.gz" - sha256: "28a09c1bee50608733a989cd5b62368a767a66f9e1a39654c0342e9698c479ca" - "1.4.1": - url: "https://github.com/yhirose/cpp-peglib/archive/refs/tags/v1.4.1.tar.gz" - sha256: "3784039727f8317cd5e202c5a2d142584bf48a311910643298dc4ba9083424e7" - "1.3.10": - url: "https://github.com/yhirose/cpp-peglib/archive/refs/tags/v1.3.10.tar.gz" - sha256: "9c79abd8a304d163d176918b74d7ab272e6ab1405af2dd699b6b7ae1b5605b09" - "1.3.9": - url: "https://github.com/yhirose/cpp-peglib/archive/refs/tags/v1.3.9.tar.gz" - sha256: "0d14fcbf7ed4409699fff70867c5776a2219e38547de5bf0bf689ba0d58c0d7f" - "1.3.8": - url: "https://github.com/yhirose/cpp-peglib/archive/refs/tags/v1.3.8.tar.gz" - sha256: "6d266806825ec491f1e3d1eb8a2163114f328a691f7c9fbce7bb3edf2f42074c" diff --git a/recipes/cpp-peglib/1.x.x/conanfile.py b/recipes/cpp-peglib/1.x.x/conanfile.py index c700cd876b542..7d5fb5e5104a5 100644 --- a/recipes/cpp-peglib/1.x.x/conanfile.py +++ b/recipes/cpp-peglib/1.x.x/conanfile.py @@ -73,6 +73,12 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + + # Since 1.8.4, cpp-peglib is named as peglib + if Version(self.version) >= "1.8.4": + self.cpp_info.set_property("cmake_file_name", "peglib") + self.cpp_info.set_property("cmake_target_name", "peglib") + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] self.cpp_info.cxxflags.append("-pthread") diff --git a/recipes/cpp-peglib/1.x.x/test_package/CMakeLists.txt b/recipes/cpp-peglib/1.x.x/test_package/CMakeLists.txt index de79c59d80c35..b4be9dd643afb 100644 --- a/recipes/cpp-peglib/1.x.x/test_package/CMakeLists.txt +++ b/recipes/cpp-peglib/1.x.x/test_package/CMakeLists.txt @@ -1,8 +1,15 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -find_package(cpp-peglib CONFIG REQUIRED) +find_package(cpp-peglib CONFIG) +if (NOT TARGET cpp-peglib::cpp-peglib) + find_package(peglib REQUIRED CONFIG) +endif() add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE cpp-peglib::cpp-peglib) +if (TARGET cpp-peglib::cpp-peglib) + target_link_libraries(${PROJECT_NAME} PRIVATE cpp-peglib::cpp-peglib) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE peglib) +endif() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml index 923bbafb7c017..a30fecf91ce92 100644 --- a/recipes/cpp-peglib/config.yml +++ b/recipes/cpp-peglib/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.4": + folder: "1.x.x" "1.8.3": folder: "1.x.x" "1.8.2": @@ -13,15 +15,5 @@ versions: folder: "1.x.x" "1.5.0": folder: "1.x.x" - "1.4.2": - folder: "1.x.x" - "1.4.1": - folder: "1.x.x" - "1.3.10": - folder: "1.x.x" - "1.3.9": - folder: "1.x.x" - "1.3.8": - folder: "1.x.x" "0.1.13": folder: "0.x.x" From 1fd150cdc01b90a08f0bc80f9336632d95b0b506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20Dzi=C4=99gielewski?= Date: Mon, 17 Jul 2023 17:22:50 +0200 Subject: [PATCH 0967/4087] (#18519) dbg-macro fixes for conan2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dbg-macro fixes for conan2 * adds validating the cppstd * removes conan topic, moves compiler check to validate and bumps cppstd to 17 * rewritten validate method * Update recipes/dbg-macro/all/conanfile.py * Update recipes/dbg-macro/all/test_package/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/dbg-macro/all/conanfile.py | 50 +++++++++---------- .../dbg-macro/all/test_package/CMakeLists.txt | 9 ++-- .../dbg-macro/all/test_package/conanfile.py | 22 +++++--- 3 files changed, 44 insertions(+), 37 deletions(-) diff --git a/recipes/dbg-macro/all/conanfile.py b/recipes/dbg-macro/all/conanfile.py index 49d4fa65df8ac..7fdad007c1070 100644 --- a/recipes/dbg-macro/all/conanfile.py +++ b/recipes/dbg-macro/all/conanfile.py @@ -1,6 +1,9 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.errors import ConanInvalidConfiguration +from conan.tools.scm import Version class DbgMacroConan(ConanFile): @@ -9,35 +12,30 @@ class DbgMacroConan(ConanFile): homepage = "https://github.com/sharkdp/dbg-macro" license = "MIT" description = "A dbg(...) macro for C++" - topics = ("conan", "debugging", "macro", "pretty-printing", "header-only") - settings = ("compiler", ) + topics = ("debugging", "macro", "pretty-printing", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def configure(self): - minimal_cpp_standard = "11" - if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, minimal_cpp_standard) - - if self.settings.compiler == "gcc" and tools.Version(self.settings.compiler.version) < "5": - raise ConanInvalidConfiguration( - "dbg-mcro can't be used by {0} {1}".format( - self.settings.compiler, - self.settings.compiler.version - ) - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def validate(self): + if self.settings.compiler.get_safe('cppstd'): + check_min_cppstd(self, 17) + + min_versions = { + "gcc": 8 + } + + compiler = self.settings.compiler + if str(compiler) in min_versions and Version(compiler.version) < min_versions[str(compiler)]: + raise ConanInvalidConfiguration("dbg-macro requires C++17 which your compiler does not support.") def package(self): - self.copy("dbg.h", dst="include", src=self._source_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "dbg.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) def package_id(self): - self.info.header_only() + self.info.clear() diff --git a/recipes/dbg-macro/all/test_package/CMakeLists.txt b/recipes/dbg-macro/all/test_package/CMakeLists.txt index 33ae887aa6aea..38914f6edfd7d 100644 --- a/recipes/dbg-macro/all/test_package/CMakeLists.txt +++ b/recipes/dbg-macro/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(dbg-macro REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE dbg-macro::dbg-macro) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/dbg-macro/all/test_package/conanfile.py b/recipes/dbg-macro/all/test_package/conanfile.py index a1606e05e0271..61ef483bce067 100644 --- a/recipes/dbg-macro/all/test_package/conanfile.py +++ b/recipes/dbg-macro/all/test_package/conanfile.py @@ -1,18 +1,28 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import cross_building, can_run +from conan.tools.files import mkdir class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def layout(self): + cmake_layout(self) + def test(self): - if not tools.cross_building(self.settings): - tools.mkdir("logs/") - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env='conanrun') From a0d6dcd7fa3158dd544464212904f844954ba0fd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 17 Jul 2023 17:43:41 +0200 Subject: [PATCH 0968/4087] (#18517) podofo/all: bump deps --- recipes/podofo/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/podofo/all/conanfile.py b/recipes/podofo/all/conanfile.py index 5046d4d4b8974..b3f7dffd4c071 100644 --- a/recipes/podofo/all/conanfile.py +++ b/recipes/podofo/all/conanfile.py @@ -62,20 +62,20 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") self.requires("zlib/1.2.13") if self.settings.os != "Windows": - self.requires("fontconfig/2.13.93") + self.requires("fontconfig/2.14.2") if self.options.with_openssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/1.1.1u") 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.4.0") + self.requires("libtiff/4.5.1") if self.options.with_png: - self.requires("libpng/1.6.38") + self.requires("libpng/1.6.40") if self.options.with_unistring: self.requires("libunistring/0.9.10") From c85c7b8a8ade7cf013032364d0877f344a8dc8a3 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 17 Jul 2023 10:22:09 -0700 Subject: [PATCH 0969/4087] (#18599) spdlog_setup: bump dependencies --- recipes/gegles-spdlog_setup/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py index a01817bb0138b..7d53c34d32dd2 100644 --- a/recipes/gegles-spdlog_setup/all/conanfile.py +++ b/recipes/gegles-spdlog_setup/all/conanfile.py @@ -39,8 +39,8 @@ def layout(self): def requirements(self): self.requires("cpptoml/0.1.1") - self.requires("spdlog/1.11.0") - self.requires("fmt/9.1.0") + self.requires("spdlog/1.12.0") + self.requires("fmt/10.0.0") def package_id(self): self.info.clear() From 07ebcf40e03aa49e251c59f86789cb63aaaeb62d Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 17 Jul 2023 20:01:59 +0200 Subject: [PATCH 0970/4087] (#18591) [config] Update conan v2 to 2.0.8 --- .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 8dff7f4d63d8a..7aaabf1c918f1 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.0.6 + version: 2.0.8 artifactory: url: "https://c3i.jfrog.io/c3i" From 531628920279069a5a5e84a18a91635bd394baec Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 17 Jul 2023 17:23:22 -0700 Subject: [PATCH 0971/4087] (#18605) restinio: bump dependencies --- recipes/restinio/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index 0b396c60ef333..3d82682de5578 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -40,13 +40,13 @@ def requirements(self): self.requires("http_parser/2.9.4") if Version(self.version) >= "0.6.16": - self.requires("fmt/9.1.0") + self.requires("fmt/10.0.0") else: self.requires("fmt/8.1.1") self.requires("expected-lite/0.6.3") self.requires("optional-lite/3.5.0") - self.requires("string-view-lite/1.6.0") + self.requires("string-view-lite/1.7.0") self.requires("variant-lite/2.0.0") if self.options.asio == "standalone": @@ -56,7 +56,7 @@ def requirements(self): self.requires("asio/1.16.1") else: if Version(self.version) >= "0.6.9": - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") else: self.requires("boost/1.73.0") From 0c1b0762d9509299b4357dee7a29acbb8c85b8eb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 18 Jul 2023 11:21:43 +0200 Subject: [PATCH 0972/4087] (#18608) [bot] Update list of references (prod-v2/ListPackages) --- .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 2fc4bc8bce216..24a3d8f44d647 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -207,6 +207,7 @@ required_for_references: - daw_json_link - daw_utf_range - dbcppp +- dbg-macro - dbus - debug_assert - decimal_for_cpp @@ -424,6 +425,7 @@ required_for_references: - libgettext - libgpg-error - libgphoto2 +- libgpiod - libharu - libiberty - libiconv From 1a719a83bcae9a3ecf661c7848f8eb3440e5c6d4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 18 Jul 2023 12:01:45 +0200 Subject: [PATCH 0973/4087] (#18609) at-spi2-core 2.49.1 --- recipes/at-spi2-core/config.yml | 6 +- recipes/at-spi2-core/new/conandata.yml | 22 +- recipes/at-spi2-core/new/patches/93.patch | 521 ---------------------- 3 files changed, 5 insertions(+), 544 deletions(-) delete mode 100644 recipes/at-spi2-core/new/patches/93.patch diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index 2aade72117ca2..3a9a2fb50465f 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -11,10 +11,6 @@ versions: folder: all "2.44.1": folder: all - "2.45.1": - folder: new - "2.45.90": - folder: new "2.46.0": folder: new "2.47.1": @@ -23,3 +19,5 @@ versions: folder: new "2.48.3": folder: new + "2.49.1": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index c1bee698611c8..14543d255e3d0 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,4 +1,7 @@ sources: + "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 "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" @@ -11,22 +14,3 @@ sources: "2.46.0": url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.46/at-spi2-core-2.46.0.tar.xz" sha256: "aa0c86c79f7a8d67bae49a5b7a5ab08430c608cffe6e33bf47a72f41ab03c3d0" - "2.45.90": - url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.45/at-spi2-core-2.45.90.tar.xz" - sha256: "e9050ad3c24937548396b2377f2fcdb9321ce2daffad35e7554e8f6ad850ab0d" - "2.45.1": - sha256: "ba95f346e93108fbb3462c62437081d582154db279b4052dedc52a706828b192" - url: "https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.45/at-spi2-core-2.45.1.tar.xz" -patches: - "2.48.3": - - patch_file: "patches/93.patch" - "2.48.0": - - patch_file: "patches/93.patch" - "2.47.1": - - patch_file: "patches/93.patch" - "2.46.0": - - patch_file: "patches/93.patch" - "2.45.90": - - patch_file: "patches/93.patch" - "2.45.1": - - patch_file: "patches/93.patch" diff --git a/recipes/at-spi2-core/new/patches/93.patch b/recipes/at-spi2-core/new/patches/93.patch deleted file mode 100644 index 7ff4a19473df8..0000000000000 --- a/recipes/at-spi2-core/new/patches/93.patch +++ /dev/null @@ -1,521 +0,0 @@ -From 99a88f23978d668802f63470c7f75ba3886166e1 Mon Sep 17 00:00:00 2001 -From: ericLemanissier -Date: Tue, 5 Jul 2022 10:13:54 +0000 -Subject: [PATCH] add license file - -fixes GNOME/at-spi2-core#78 ---- - COPYING | 502 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 502 insertions(+) - create mode 100644 COPYING - -diff --git a/COPYING b/COPYING -new file mode 100644 -index 00000000..4362b491 ---- /dev/null -+++ b/COPYING -@@ -0,0 +1,502 @@ -+ GNU LESSER GENERAL PUBLIC LICENSE -+ Version 2.1, February 1999 -+ -+ Copyright (C) 1991, 1999 Free Software Foundation, Inc. -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ Everyone is permitted to copy and distribute verbatim copies -+ of this license document, but changing it is not allowed. -+ -+[This is the first released version of the Lesser GPL. It also counts -+ as the successor of the GNU Library Public License, version 2, hence -+ the version number 2.1.] -+ -+ Preamble -+ -+ The licenses for most software are designed to take away your -+freedom to share and change it. By contrast, the GNU General Public -+Licenses are intended to guarantee your freedom to share and change -+free software--to make sure the software is free for all its users. -+ -+ This license, the Lesser General Public License, applies to some -+specially designated software packages--typically libraries--of the -+Free Software Foundation and other authors who decide to use it. You -+can use it too, but we suggest you first think carefully about whether -+this license or the ordinary General Public License is the better -+strategy to use in any particular case, based on the explanations below. -+ -+ When we speak of free software, we are referring to freedom of use, -+not price. Our General Public Licenses are designed to make sure that -+you have the freedom to distribute copies of free software (and charge -+for this service if you wish); that you receive source code or can get -+it if you want it; that you can change the software and use pieces of -+it in new free programs; and that you are informed that you can do -+these things. -+ -+ To protect your rights, we need to make restrictions that forbid -+distributors to deny you these rights or to ask you to surrender these -+rights. These restrictions translate to certain responsibilities for -+you if you distribute copies of the library or if you modify it. -+ -+ For example, if you distribute copies of the library, whether gratis -+or for a fee, you must give the recipients all the rights that we gave -+you. You must make sure that they, too, receive or can get the source -+code. If you link other code with the library, you must provide -+complete object files to the recipients, so that they can relink them -+with the library after making changes to the library and recompiling -+it. And you must show them these terms so they know their rights. -+ -+ We protect your rights with a two-step method: (1) we copyright the -+library, and (2) we offer you this license, which gives you legal -+permission to copy, distribute and/or modify the library. -+ -+ To protect each distributor, we want to make it very clear that -+there is no warranty for the free library. Also, if the library is -+modified by someone else and passed on, the recipients should know -+that what they have is not the original version, so that the original -+author's reputation will not be affected by problems that might be -+introduced by others. -+ -+ Finally, software patents pose a constant threat to the existence of -+any free program. We wish to make sure that a company cannot -+effectively restrict the users of a free program by obtaining a -+restrictive license from a patent holder. Therefore, we insist that -+any patent license obtained for a version of the library must be -+consistent with the full freedom of use specified in this license. -+ -+ Most GNU software, including some libraries, is covered by the -+ordinary GNU General Public License. This license, the GNU Lesser -+General Public License, applies to certain designated libraries, and -+is quite different from the ordinary General Public License. We use -+this license for certain libraries in order to permit linking those -+libraries into non-free programs. -+ -+ When a program is linked with a library, whether statically or using -+a shared library, the combination of the two is legally speaking a -+combined work, a derivative of the original library. The ordinary -+General Public License therefore permits such linking only if the -+entire combination fits its criteria of freedom. The Lesser General -+Public License permits more lax criteria for linking other code with -+the library. -+ -+ We call this license the "Lesser" General Public License because it -+does Less to protect the user's freedom than the ordinary General -+Public License. It also provides other free software developers Less -+of an advantage over competing non-free programs. These disadvantages -+are the reason we use the ordinary General Public License for many -+libraries. However, the Lesser license provides advantages in certain -+special circumstances. -+ -+ For example, on rare occasions, there may be a special need to -+encourage the widest possible use of a certain library, so that it becomes -+a de-facto standard. To achieve this, non-free programs must be -+allowed to use the library. A more frequent case is that a free -+library does the same job as widely used non-free libraries. In this -+case, there is little to gain by limiting the free library to free -+software only, so we use the Lesser General Public License. -+ -+ In other cases, permission to use a particular library in non-free -+programs enables a greater number of people to use a large body of -+free software. For example, permission to use the GNU C Library in -+non-free programs enables many more people to use the whole GNU -+operating system, as well as its variant, the GNU/Linux operating -+system. -+ -+ Although the Lesser General Public License is Less protective of the -+users' freedom, it does ensure that the user of a program that is -+linked with the Library has the freedom and the wherewithal to run -+that program using a modified version of the Library. -+ -+ The precise terms and conditions for copying, distribution and -+modification follow. Pay close attention to the difference between a -+"work based on the library" and a "work that uses the library". The -+former contains code derived from the library, whereas the latter must -+be combined with the library in order to run. -+ -+ GNU LESSER GENERAL PUBLIC LICENSE -+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -+ -+ 0. This License Agreement applies to any software library or other -+program which contains a notice placed by the copyright holder or -+other authorized party saying it may be distributed under the terms of -+this Lesser General Public License (also called "this License"). -+Each licensee is addressed as "you". -+ -+ A "library" means a collection of software functions and/or data -+prepared so as to be conveniently linked with application programs -+(which use some of those functions and data) to form executables. -+ -+ The "Library", below, refers to any such software library or work -+which has been distributed under these terms. A "work based on the -+Library" means either the Library or any derivative work under -+copyright law: that is to say, a work containing the Library or a -+portion of it, either verbatim or with modifications and/or translated -+straightforwardly into another language. (Hereinafter, translation is -+included without limitation in the term "modification".) -+ -+ "Source code" for a work means the preferred form of the work for -+making modifications to it. For a library, complete source code means -+all the source code for all modules it contains, plus any associated -+interface definition files, plus the scripts used to control compilation -+and installation of the library. -+ -+ Activities other than copying, distribution and modification are not -+covered by this License; they are outside its scope. The act of -+running a program using the Library is not restricted, and output from -+such a program is covered only if its contents constitute a work based -+on the Library (independent of the use of the Library in a tool for -+writing it). Whether that is true depends on what the Library does -+and what the program that uses the Library does. -+ -+ 1. You may copy and distribute verbatim copies of the Library's -+complete source code as you receive it, in any medium, provided that -+you conspicuously and appropriately publish on each copy an -+appropriate copyright notice and disclaimer of warranty; keep intact -+all the notices that refer to this License and to the absence of any -+warranty; and distribute a copy of this License along with the -+Library. -+ -+ You may charge a fee for the physical act of transferring a copy, -+and you may at your option offer warranty protection in exchange for a -+fee. -+ -+ 2. You may modify your copy or copies of the Library or any portion -+of it, thus forming a work based on the Library, and copy and -+distribute such modifications or work under the terms of Section 1 -+above, provided that you also meet all of these conditions: -+ -+ a) The modified work must itself be a software library. -+ -+ b) You must cause the files modified to carry prominent notices -+ stating that you changed the files and the date of any change. -+ -+ c) You must cause the whole of the work to be licensed at no -+ charge to all third parties under the terms of this License. -+ -+ d) If a facility in the modified Library refers to a function or a -+ table of data to be supplied by an application program that uses -+ the facility, other than as an argument passed when the facility -+ is invoked, then you must make a good faith effort to ensure that, -+ in the event an application does not supply such function or -+ table, the facility still operates, and performs whatever part of -+ its purpose remains meaningful. -+ -+ (For example, a function in a library to compute square roots has -+ a purpose that is entirely well-defined independent of the -+ application. Therefore, Subsection 2d requires that any -+ application-supplied function or table used by this function must -+ be optional: if the application does not supply it, the square -+ root function must still compute square roots.) -+ -+These requirements apply to the modified work as a whole. If -+identifiable sections of that work are not derived from the Library, -+and can be reasonably considered independent and separate works in -+themselves, then this License, and its terms, do not apply to those -+sections when you distribute them as separate works. But when you -+distribute the same sections as part of a whole which is a work based -+on the Library, the distribution of the whole must be on the terms of -+this License, whose permissions for other licensees extend to the -+entire whole, and thus to each and every part regardless of who wrote -+it. -+ -+Thus, it is not the intent of this section to claim rights or contest -+your rights to work written entirely by you; rather, the intent is to -+exercise the right to control the distribution of derivative or -+collective works based on the Library. -+ -+In addition, mere aggregation of another work not based on the Library -+with the Library (or with a work based on the Library) on a volume of -+a storage or distribution medium does not bring the other work under -+the scope of this License. -+ -+ 3. You may opt to apply the terms of the ordinary GNU General Public -+License instead of this License to a given copy of the Library. To do -+this, you must alter all the notices that refer to this License, so -+that they refer to the ordinary GNU General Public License, version 2, -+instead of to this License. (If a newer version than version 2 of the -+ordinary GNU General Public License has appeared, then you can specify -+that version instead if you wish.) Do not make any other change in -+these notices. -+ -+ Once this change is made in a given copy, it is irreversible for -+that copy, so the ordinary GNU General Public License applies to all -+subsequent copies and derivative works made from that copy. -+ -+ This option is useful when you wish to copy part of the code of -+the Library into a program that is not a library. -+ -+ 4. You may copy and distribute the Library (or a portion or -+derivative of it, under Section 2) in object code or executable form -+under the terms of Sections 1 and 2 above provided that you accompany -+it with the complete corresponding machine-readable source code, which -+must be distributed under the terms of Sections 1 and 2 above on a -+medium customarily used for software interchange. -+ -+ If distribution of object code is made by offering access to copy -+from a designated place, then offering equivalent access to copy the -+source code from the same place satisfies the requirement to -+distribute the source code, even though third parties are not -+compelled to copy the source along with the object code. -+ -+ 5. A program that contains no derivative of any portion of the -+Library, but is designed to work with the Library by being compiled or -+linked with it, is called a "work that uses the Library". Such a -+work, in isolation, is not a derivative work of the Library, and -+therefore falls outside the scope of this License. -+ -+ However, linking a "work that uses the Library" with the Library -+creates an executable that is a derivative of the Library (because it -+contains portions of the Library), rather than a "work that uses the -+library". The executable is therefore covered by this License. -+Section 6 states terms for distribution of such executables. -+ -+ When a "work that uses the Library" uses material from a header file -+that is part of the Library, the object code for the work may be a -+derivative work of the Library even though the source code is not. -+Whether this is true is especially significant if the work can be -+linked without the Library, or if the work is itself a library. The -+threshold for this to be true is not precisely defined by law. -+ -+ If such an object file uses only numerical parameters, data -+structure layouts and accessors, and small macros and small inline -+functions (ten lines or less in length), then the use of the object -+file is unrestricted, regardless of whether it is legally a derivative -+work. (Executables containing this object code plus portions of the -+Library will still fall under Section 6.) -+ -+ Otherwise, if the work is a derivative of the Library, you may -+distribute the object code for the work under the terms of Section 6. -+Any executables containing that work also fall under Section 6, -+whether or not they are linked directly with the Library itself. -+ -+ 6. As an exception to the Sections above, you may also combine or -+link a "work that uses the Library" with the Library to produce a -+work containing portions of the Library, and distribute that work -+under terms of your choice, provided that the terms permit -+modification of the work for the customer's own use and reverse -+engineering for debugging such modifications. -+ -+ You must give prominent notice with each copy of the work that the -+Library is used in it and that the Library and its use are covered by -+this License. You must supply a copy of this License. If the work -+during execution displays copyright notices, you must include the -+copyright notice for the Library among them, as well as a reference -+directing the user to the copy of this License. Also, you must do one -+of these things: -+ -+ a) Accompany the work with the complete corresponding -+ machine-readable source code for the Library including whatever -+ changes were used in the work (which must be distributed under -+ Sections 1 and 2 above); and, if the work is an executable linked -+ with the Library, with the complete machine-readable "work that -+ uses the Library", as object code and/or source code, so that the -+ user can modify the Library and then relink to produce a modified -+ executable containing the modified Library. (It is understood -+ that the user who changes the contents of definitions files in the -+ Library will not necessarily be able to recompile the application -+ to use the modified definitions.) -+ -+ b) Use a suitable shared library mechanism for linking with the -+ Library. A suitable mechanism is one that (1) uses at run time a -+ copy of the library already present on the user's computer system, -+ rather than copying library functions into the executable, and (2) -+ will operate properly with a modified version of the library, if -+ the user installs one, as long as the modified version is -+ interface-compatible with the version that the work was made with. -+ -+ c) Accompany the work with a written offer, valid for at -+ least three years, to give the same user the materials -+ specified in Subsection 6a, above, for a charge no more -+ than the cost of performing this distribution. -+ -+ d) If distribution of the work is made by offering access to copy -+ from a designated place, offer equivalent access to copy the above -+ specified materials from the same place. -+ -+ e) Verify that the user has already received a copy of these -+ materials or that you have already sent this user a copy. -+ -+ For an executable, the required form of the "work that uses the -+Library" must include any data and utility programs needed for -+reproducing the executable from it. However, as a special exception, -+the materials to be distributed need not include anything that is -+normally distributed (in either source or binary form) with the major -+components (compiler, kernel, and so on) of the operating system on -+which the executable runs, unless that component itself accompanies -+the executable. -+ -+ It may happen that this requirement contradicts the license -+restrictions of other proprietary libraries that do not normally -+accompany the operating system. Such a contradiction means you cannot -+use both them and the Library together in an executable that you -+distribute. -+ -+ 7. You may place library facilities that are a work based on the -+Library side-by-side in a single library together with other library -+facilities not covered by this License, and distribute such a combined -+library, provided that the separate distribution of the work based on -+the Library and of the other library facilities is otherwise -+permitted, and provided that you do these two things: -+ -+ a) Accompany the combined library with a copy of the same work -+ based on the Library, uncombined with any other library -+ facilities. This must be distributed under the terms of the -+ Sections above. -+ -+ b) Give prominent notice with the combined library of the fact -+ that part of it is a work based on the Library, and explaining -+ where to find the accompanying uncombined form of the same work. -+ -+ 8. You may not copy, modify, sublicense, link with, or distribute -+the Library except as expressly provided under this License. Any -+attempt otherwise to copy, modify, sublicense, link with, or -+distribute the Library is void, and will automatically terminate your -+rights under this License. However, parties who have received copies, -+or rights, from you under this License will not have their licenses -+terminated so long as such parties remain in full compliance. -+ -+ 9. You are not required to accept this License, since you have not -+signed it. However, nothing else grants you permission to modify or -+distribute the Library or its derivative works. These actions are -+prohibited by law if you do not accept this License. Therefore, by -+modifying or distributing the Library (or any work based on the -+Library), you indicate your acceptance of this License to do so, and -+all its terms and conditions for copying, distributing or modifying -+the Library or works based on it. -+ -+ 10. Each time you redistribute the Library (or any work based on the -+Library), the recipient automatically receives a license from the -+original licensor to copy, distribute, link with or modify the Library -+subject to these terms and conditions. You may not impose any further -+restrictions on the recipients' exercise of the rights granted herein. -+You are not responsible for enforcing compliance by third parties with -+this License. -+ -+ 11. If, as a consequence of a court judgment or allegation of patent -+infringement or for any other reason (not limited to patent issues), -+conditions are imposed on you (whether by court order, agreement or -+otherwise) that contradict the conditions of this License, they do not -+excuse you from the conditions of this License. If you cannot -+distribute so as to satisfy simultaneously your obligations under this -+License and any other pertinent obligations, then as a consequence you -+may not distribute the Library at all. For example, if a patent -+license would not permit royalty-free redistribution of the Library by -+all those who receive copies directly or indirectly through you, then -+the only way you could satisfy both it and this License would be to -+refrain entirely from distribution of the Library. -+ -+If any portion of this section is held invalid or unenforceable under any -+particular circumstance, the balance of the section is intended to apply, -+and the section as a whole is intended to apply in other circumstances. -+ -+It is not the purpose of this section to induce you to infringe any -+patents or other property right claims or to contest validity of any -+such claims; this section has the sole purpose of protecting the -+integrity of the free software distribution system which is -+implemented by public license practices. Many people have made -+generous contributions to the wide range of software distributed -+through that system in reliance on consistent application of that -+system; it is up to the author/donor to decide if he or she is willing -+to distribute software through any other system and a licensee cannot -+impose that choice. -+ -+This section is intended to make thoroughly clear what is believed to -+be a consequence of the rest of this License. -+ -+ 12. If the distribution and/or use of the Library is restricted in -+certain countries either by patents or by copyrighted interfaces, the -+original copyright holder who places the Library under this License may add -+an explicit geographical distribution limitation excluding those countries, -+so that distribution is permitted only in or among countries not thus -+excluded. In such case, this License incorporates the limitation as if -+written in the body of this License. -+ -+ 13. The Free Software Foundation may publish revised and/or new -+versions of the Lesser General Public License from time to time. -+Such new versions will be similar in spirit to the present version, -+but may differ in detail to address new problems or concerns. -+ -+Each version is given a distinguishing version number. If the Library -+specifies a version number of this License which applies to it and -+"any later version", you have the option of following the terms and -+conditions either of that version or of any later version published by -+the Free Software Foundation. If the Library does not specify a -+license version number, you may choose any version ever published by -+the Free Software Foundation. -+ -+ 14. If you wish to incorporate parts of the Library into other free -+programs whose distribution conditions are incompatible with these, -+write to the author to ask for permission. For software which is -+copyrighted by the Free Software Foundation, write to the Free -+Software Foundation; we sometimes make exceptions for this. Our -+decision will be guided by the two goals of preserving the free status -+of all derivatives of our free software and of promoting the sharing -+and reuse of software generally. -+ -+ NO WARRANTY -+ -+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -+ -+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -+DAMAGES. -+ -+ END OF TERMS AND CONDITIONS -+ -+ How to Apply These Terms to Your New Libraries -+ -+ If you develop a new library, and you want it to be of the greatest -+possible use to the public, we recommend making it free software that -+everyone can redistribute and change. You can do so by permitting -+redistribution under these terms (or, alternatively, under the terms of the -+ordinary General Public License). -+ -+ To apply these terms, attach the following notices to the library. It is -+safest to attach them to the start of each source file to most effectively -+convey the exclusion of warranty; and each file should have at least the -+"copyright" line and a pointer to where the full notice is found. -+ -+ -+ Copyright (C) -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ This library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with this library; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ -+Also add information on how to contact you by electronic and paper mail. -+ -+You should also get your employer (if you work as a programmer) or your -+school, if any, to sign a "copyright disclaimer" for the library, if -+necessary. Here is a sample; alter the names: -+ -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the -+ library `Frob' (a library for tweaking knobs) written by James Random Hacker. -+ -+ , 1 April 1990 -+ Ty Coon, President of Vice -+ -+That's all there is to it! --- -GitLab From e9bdd352111ec5f462347c8fac170307f1a70ffb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 18 Jul 2023 12:26:00 +0200 Subject: [PATCH 0974/4087] (#17942) qt6: bump deps * qt6: remove unused patches * don't use settings in source(self) * bump deps * use version ranges for cmake * refuse openssl 3 * accept openssl 3 * Use self.info.settings.os in source() method stolen from @EstebanDugueperoux2 * bump deps * conan 2 test package * don't use user_info * Port pri-helpers-fix patch for 6.5.0 and 6.5.1 --------- Co-authored-by: Paul Harris --- recipes/qt/6.x.x/conandata.yml | 6 + recipes/qt/6.x.x/conanfile.py | 36 ++--- recipes/qt/6.x.x/patches/311d29d.patch | 30 ---- recipes/qt/6.x.x/patches/5fe0b82.patch | 23 --- recipes/qt/6.x.x/patches/c76d2f6.patch | 70 --------- recipes/qt/6.x.x/patches/dece6f5.patch | 25 --- .../patches/qt6.5.0-pri-helpers-fix.diff | 15 ++ recipes/qt/6.x.x/test_package/CMakeLists.txt | 28 +--- recipes/qt/6.x.x/test_package/conanfile.py | 143 ++++-------------- recipes/qt/6.x.x/test_package/meson.build | 6 - .../qt/6.x.x/test_package/test_package.pro | 15 -- 11 files changed, 72 insertions(+), 325 deletions(-) delete mode 100644 recipes/qt/6.x.x/patches/311d29d.patch delete mode 100644 recipes/qt/6.x.x/patches/5fe0b82.patch delete mode 100644 recipes/qt/6.x.x/patches/c76d2f6.patch delete mode 100644 recipes/qt/6.x.x/patches/dece6f5.patch create mode 100644 recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff delete mode 100644 recipes/qt/6.x.x/test_package/meson.build delete mode 100644 recipes/qt/6.x.x/test_package/test_package.pro diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index f017b4e075adb..fc7a158ca9517 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -66,10 +66,16 @@ patches: - base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" patch_file: "patches/c72097e.diff" + - base_path: "qtbase/cmake" + patch_description: "Fix pri helpers, see PR #6668 and QTBUG-95569" + patch_file: "patches/qt6.5.0-pri-helpers-fix.diff" "6.5.0": - base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" patch_file: "patches/c72097e.diff" + - base_path: "qtbase/cmake" + patch_description: "Fix pri helpers, see PR #6668 and QTBUG-95569" + patch_file: "patches/qt6.5.0-pri-helpers-fix.diff" "6.4.2": - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 14de16b485078..36689bad8548c 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -297,7 +297,7 @@ def layout(self): def requirements(self): self.requires("zlib/1.2.13") if self.options.openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): @@ -305,30 +305,30 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.76.1") + self.requires("glib/2.76.3") if self.options.with_doubleconversion and not self.options.multiconfiguration: - self.requires("double-conversion/3.2.1") + self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: self.requires("freetype/2.13.0") if self.options.get_safe("with_fontconfig", False): - self.requires("fontconfig/2.13.93") + self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/72.1") + self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/6.0.0") + self.requires("harfbuzz/7.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/2.1.5") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.42.0") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.0.31") if self.options.with_pq: - self.requires("libpq/14.7") + self.requires("libpq/15.3") if self.options.with_odbc: if self.settings.os != "Windows": self.requires("odbc/2.3.11") @@ -345,7 +345,7 @@ def requirements(self): self.requires("zstd/1.5.5") if self.options.qtwayland: self.requires("xkbcommon/1.5.0") - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") if self.options.with_brotli: self.requires("brotli/1.0.9") if self.options.get_safe("qtwebengine") and self.settings.os == "Linux": @@ -360,14 +360,14 @@ def requirements(self): if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") if self.options.with_dbus: - self.requires("dbus/1.15.2") + self.requires("dbus/1.15.6") if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_md4c", False): self.requires("md4c/0.4.8") def build_requirements(self): - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") @@ -375,7 +375,7 @@ def build_requirements(self): self.tool_requires('strawberryperl/5.32.1.1') if self.options.get_safe("qtwebengine"): - self.tool_requires("nodejs/16.3.0") + self.tool_requires("nodejs/18.15.0") self.tool_requires("gperf/3.1") # gperf, bison, flex, python >= 2.7.5 & < 3 if self.settings.os != "Windows": @@ -385,7 +385,7 @@ def build_requirements(self): self.tool_requires("winflexbison/2.5.24") if self.options.qtwayland: - self.tool_requires("wayland/1.21.0") + self.tool_requires("wayland/1.22.0") if cross_building(self): self.tool_requires(f"qt/{self.version}") @@ -562,7 +562,7 @@ def generate(self): tc.variables["BUILD_WITH_PCH"]= "OFF" # disabling PCH to save disk space if self.settings.os == "Windows": - tc.variables["HOST_PERL"] = getattr(self, "user_info_build", self.deps_user_info)["strawberryperl"].perl + tc.variables["HOST_PERL"] = self.dependencies.build["strawberryperl"].conf_info.get("user.strawberryperl:perl", check_type=str) #"set(QT_EXTRA_INCLUDEPATHS ${CONAN_INCLUDE_DIRS})\n" #"set(QT_EXTRA_DEFINES ${CONAN_DEFINES})\n" #"set(QT_EXTRA_LIBDIRS ${CONAN_LIB_DIRS})\n" @@ -595,9 +595,9 @@ def package_id(self): def source(self): destination = self.source_folder - if self.settings.os == "Windows": + if self.info.settings.os == "Windows": # Don't use os.path.join, or it removes the \\?\ prefix, which enables long paths - destination = f"\\\\?\\{self.source_folder}" + destination = rf"\\?\{self.source_folder}" get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=destination) @@ -950,6 +950,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): core_reqs.append("zstd::zstd") if self.options.with_glib: core_reqs.append("glib::glib") + if self.options.openssl: + core_reqs.append("openssl::openssl") # used by QCryptographicHash _create_module("Core", core_reqs) pkg_config_vars = [ diff --git a/recipes/qt/6.x.x/patches/311d29d.patch b/recipes/qt/6.x.x/patches/311d29d.patch deleted file mode 100644 index 600bcca81e265..0000000000000 --- a/recipes/qt/6.x.x/patches/311d29d.patch +++ /dev/null @@ -1,30 +0,0 @@ -From bb01fe6bdf2e52939698de928a1fbeaf3cce4259 Mon Sep 17 00:00:00 2001 -From: Ilya Fedin -Date: Tue, 12 Apr 2022 14:02:36 +0400 -Subject: [PATCH] Fix build on CentOS 7 - -This little change fixes the build on CentOS 7 - -Pick-to: 6.3 -Change-Id: Ic9717147c10ca78e36d6311944de417c6420211d -Reviewed-by: Thiago Macieira ---- - src/corelib/plugin/qelfparser_p.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/corelib/plugin/qelfparser_p.cpp b/src/corelib/plugin/qelfparser_p.cpp -index c6ccda92fb..def1e2494a 100644 ---- a/src/corelib/plugin/qelfparser_p.cpp -+++ b/src/corelib/plugin/qelfparser_p.cpp -@@ -409,7 +409,9 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION static QDebug &operator<<(QDebug &d, ElfHeade - case EM_NONE: d << ", no machine"; break; - case EM_ARM: d << ", ARM"; break; - case EM_AARCH64: d << ", AArch64"; break; -+#ifdef EM_BLACKFIN - case EM_BLACKFIN: d << ", Blackfin"; break; -+#endif - case EM_IA_64: d << ", IA-64"; break; - case EM_MIPS: d << ", MIPS"; break; - case EM_PPC: d << ", PowerPC"; break; --- -2.34.1 diff --git a/recipes/qt/6.x.x/patches/5fe0b82.patch b/recipes/qt/6.x.x/patches/5fe0b82.patch deleted file mode 100644 index ae2f8aae34ea9..0000000000000 --- a/recipes/qt/6.x.x/patches/5fe0b82.patch +++ /dev/null @@ -1,23 +0,0 @@ -From bb01af1c36cebd08d407c9a06e5a3c906bd9a660 Mon Sep 17 00:00:00 2001 -From: Mark Jan van Kampen -Date: Wed, 27 Oct 2021 06:49:11 +0200 -Subject: [PATCH] Adds missing includes to utf8_strings.h - ---- - include/litehtml/utf8_strings.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/litehtml/utf8_strings.h b/include/litehtml/utf8_strings.h -index c5b2421..35d474f 100644 ---- a/include/litehtml/utf8_strings.h -+++ b/include/litehtml/utf8_strings.h -@@ -1,6 +1,9 @@ - #ifndef LH_UTF8_STRINGS_H - #define LH_UTF8_STRINGS_H - -+#include "os_types.h" -+#include "types.h" -+ - namespace litehtml - { - class utf8_to_wchar diff --git a/recipes/qt/6.x.x/patches/c76d2f6.patch b/recipes/qt/6.x.x/patches/c76d2f6.patch deleted file mode 100644 index 8c701061dd5d0..0000000000000 --- a/recipes/qt/6.x.x/patches/c76d2f6.patch +++ /dev/null @@ -1,70 +0,0 @@ -From c76d2f6e997d84d81b0b22e0bd3afdaf7acfe3b3 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Wed, 13 Oct 2021 12:36:02 +0200 -Subject: [PATCH] Fix build with Win10 21H1 SDK and Win11 SDK - -Different parts are not fully defined - -Task-number: QTBUG-96533 -Change-Id: I4fcb795cea33c519ee082aa69a63660e581a2759 -Reviewed-by: Allan Sandfeld Jensen ---- - chromium/media/gpu/windows/d3d11_av1_accelerator.cc | 2 ++ - chromium/sandbox/win/src/process_mitigations.h | 13 +++++++++---- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/chromium/media/gpu/windows/d3d11_av1_accelerator.cc b/chromium/media/gpu/windows/d3d11_av1_accelerator.cc -index 8d2d808ed2a..a4d3a79d7c5 100644 ---- a/chromium/media/gpu/windows/d3d11_av1_accelerator.cc -+++ b/chromium/media/gpu/windows/d3d11_av1_accelerator.cc -@@ -15,6 +15,7 @@ - #include "media/gpu/codec_picture.h" - #include "media/gpu/windows/d3d11_picture_buffer.h" - -+#if !defined(NTDDI_WIN10_FE) // Windows 10.0.20348.0 - // These are from in a newer SDK than the one Chrome ships with. They - // should be deleted once Chrome switches to the updated SDK; they have been - // copied from: https://www.microsoft.com/en-us/download/details.aspx?id=101577 -@@ -279,6 +280,7 @@ typedef struct _DXVA_Tile_AV1 { - UCHAR Reserved8Bits; - } DXVA_Tile_AV1, *LPDXVA_Tile_AV1; - #pragma pack(pop) -+#endif // !defined(NTDDI_WIN10_FE) - - namespace media { - -diff --git a/chromium/sandbox/win/src/process_mitigations.h b/chromium/sandbox/win/src/process_mitigations.h -index 3b511fe2bd9..72b314c335e 100644 ---- a/chromium/sandbox/win/src/process_mitigations.h -+++ b/chromium/sandbox/win/src/process_mitigations.h -@@ -12,21 +12,26 @@ - #include "sandbox/win/src/security_level.h" - - // This will be defined in an upcoming Windows SDK release --#ifndef COMPONENT_KTM -+#ifndef PROC_THREAD_ATTRIBUTE_MACHINE_TYPE - -+#ifndef COMPONENT_KTM - #define COMPONENT_KTM 0x01 - #define COMPONENT_VALID_FLAGS (COMPONENT_KTM) --#define ProcThreadAttributeComponentFilter 26 - - typedef struct _COMPONENT_FILTER { - ULONG ComponentFlags; - } COMPONENT_FILTER, *PCOMPONENT_FILTER; -+#endif // COMPONENT_KTM - -+#define ProcThreadAttributeComponentFilter 26 -+#endif // PROC_THREAD_ATTRIBUTE_MACHINE_TYPE -+ -+// This seems to remain undefined in newer SDKs -+#ifndef PROC_THREAD_ATTRIBUTE_COMPONENT_FILTER - #define PROC_THREAD_ATTRIBUTE_COMPONENT_FILTER \ - ProcThreadAttributeValue(ProcThreadAttributeComponentFilter, FALSE, TRUE, \ - FALSE) -- --#endif // COMPONENT_KTM -+#endif - - namespace sandbox { - diff --git a/recipes/qt/6.x.x/patches/dece6f5.patch b/recipes/qt/6.x.x/patches/dece6f5.patch deleted file mode 100644 index 16a69952d4016..0000000000000 --- a/recipes/qt/6.x.x/patches/dece6f5.patch +++ /dev/null @@ -1,25 +0,0 @@ -From dece6f5840463ae2ddf927d65eb1b3680e34a547 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=98ystein=20Heskestad?= -Date: Wed, 27 Oct 2021 13:07:46 +0200 -Subject: Add missing macOS header file that was indirectly included before - -Change-Id: I4d4c7d4f957fc36dea5e06eb6d661aeecf6385f1 -Reviewed-by: Timur Pocheptsov ---- - src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h | 1 + - 1 file changed, 1 insertion(+) - -(limited to 'src/plugins/platforms/cocoa') - -diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -index 5d4b6d6a71..cc7193d8b7 100644 ---- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -+++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -@@ -43,6 +43,7 @@ - #include - #include - -+#include - #include - - QT_BEGIN_NAMESPACE diff --git a/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff b/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff new file mode 100644 index 0000000000000..47eb2e5ecb95f --- /dev/null +++ b/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff @@ -0,0 +1,15 @@ +--- QtPriHelpers.cmake 2023-05-12 12:40:15.000000000 +0800 ++++ QtPriHelpers.cmake 2023-07-06 11:39:58.305927536 +0800 +@@ -33,7 +33,11 @@ + if(lib_target_type STREQUAL "INTERFACE_LIBRARY") + get_target_property(iface_libs ${lib_target} INTERFACE_LINK_LIBRARIES) + if(iface_libs) +- list(PREPEND lib_targets ${iface_libs}) ++ foreach (iface_lib ${iface_libs}) ++ if (NOT "${iface_lib}" STREQUAL "${lib_target}") ++ list(PREPEND lib_targets ${iface_lib}) ++ endif () ++ endforeach () + endif() + else() + list(APPEND lib_libs "$") diff --git a/recipes/qt/6.x.x/test_package/CMakeLists.txt b/recipes/qt/6.x.x/test_package/CMakeLists.txt index 3a020d154ec7c..337604f1af6ee 100644 --- a/recipes/qt/6.x.x/test_package/CMakeLists.txt +++ b/recipes/qt/6.x.x/test_package/CMakeLists.txt @@ -1,25 +1,9 @@ -cmake_minimum_required(VERSION 3.3.0) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_set_vs_runtime() -conan_set_libcxx() -conan_output_dirs_setup() +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(Qt6 COMPONENTS Core Network Sql Concurrent Xml REQUIRED CONFIG) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) - -add_executable(${PROJECT_NAME} test_package.cpp greeter.h example.qrc) - -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) - -target_link_libraries(${PROJECT_NAME} Qt6::Core Qt6::Network Qt6::Sql Qt6::Concurrent Qt6::Xml) - -# check if extra qt cmake functions are usable -qt_add_executable(${PROJECT_NAME}2 test_package.cpp greeter.h example.qrc) - -set_property(TARGET ${PROJECT_NAME}2 PROPERTY CXX_STANDARD 17) -target_link_libraries(${PROJECT_NAME}2 PRIVATE Qt6::Core Qt6::Network Qt6::Sql Qt6::Concurrent Qt6::Xml) +add_executable(${PROJECT_NAME} WIN32 test_package.cpp greeter.h example.qrc) +target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Network Qt6::Sql Qt6::Concurrent Qt6::Xml) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC ON AUTORCC ON) diff --git a/recipes/qt/6.x.x/test_package/conanfile.py b/recipes/qt/6.x.x/test_package/conanfile.py index 8c6b8d55be7ac..3321de8f78239 100644 --- a/recipes/qt/6.x.x/test_package/conanfile.py +++ b/recipes/qt/6.x.x/test_package/conanfile.py @@ -1,24 +1,27 @@ import os -import shutil +import textwrap from conan import ConanFile -from conan.tools.build import cross_building -from conan.tools.files import chdir, mkdir, save -from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version - -from conans import tools, Meson, RunEnvironment, CMake -from conan.errors import ConanException +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.env import VirtualRunEnv +from conan.tools.files import copy, save class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi", "cmake_find_package", "pkg_config", "qmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualBuildEnv" + 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): - self.tool_requires("cmake/3.25.3") - if self._meson_supported(): - self.tool_requires("meson/1.0.1") + if not can_run(self): + self.tool_requires(self.tested_reference_str) def generate(self): path = self.dependencies["qt"].package_folder.replace("\\", "/") @@ -39,111 +42,17 @@ def generate(self): Documentation = {folder}/datadir/doc Examples = {folder}/datadir/examples""") - def _is_mingw(self): - return self.settings.os == "Windows" and self.settings.compiler == "gcc" - - def _meson_supported(self): - return False and self.options["qt"].shared and\ - not cross_building(self) and\ - not self.settings.os == "Macos" and\ - not self._is_mingw() - - def _qmake_supported(self): - return self.options["qt"].shared - - def _build_with_qmake(self): - if not self._qmake_supported(): - return - mkdir(self, "qmake_folder") - with chdir(self, "qmake_folder"): - self.output.info("Building with qmake") - - with tools.vcvars(self.settings) if is_msvc(self) else tools.no_op(): - args = [self.source_folder, "DESTDIR=bin"] - - def _getenvpath(var): - val = os.getenv(var) - if val and tools.os_info.is_windows: - val = val.replace("\\", "/") - os.environ[var] = val - return val - - value = _getenvpath('CC') - if value: - args.append(f"QMAKE_CC=\"{value}\"") - - value = _getenvpath('CXX') - if value: - args.append(f"QMAKE_CXX=\"{value}\"") - - value = _getenvpath('LD') - if value: - args.append(f"QMAKE_LINK_C=\"{value}\"") - args.append(f"QMAKE_LINK_C_SHLIB=\"{value}\"") - args.append(f"QMAKE_LINK=\"{value}\"") - args.append(f"QMAKE_LINK_SHLIB=\"{value}\"") - - self.run(f"qmake {' '.join(args)}", run_environment=True) - if tools.os_info.is_windows: - if is_msvc(self): - self.run("nmake", run_environment=True) - else: - self.run("mingw32-make", run_environment=True) - else: - self.run("make", run_environment=True) - - def _build_with_meson(self): - if self._meson_supported(): - self.output.info("Building with Meson") - mkdir(self, "meson_folder") - with tools.environment_append(RunEnvironment(self).vars): - meson = Meson(self) - try: - meson.configure(build_folder="meson_folder", defs={"cpp_std": "c++11"}) - except ConanException: - self.output.info(open("meson_folder/meson-logs/meson-log.txt", 'r').read()) - raise - meson.build() - - def _build_with_cmake_find_package_multi(self): - self.output.info("Building with cmake_find_package_multi") - env_build = RunEnvironment(self) - with tools.environment_append(env_build.vars): - cmake = CMake(self, set_cmake_flags=True) - if self.settings.os == "Macos": - cmake.definitions['CMAKE_OSX_DEPLOYMENT_TARGET'] = '10.15' if Version(self.deps_cpp_info["qt"].version) >= "6.5.0" else "10.14" - - cmake.configure() - cmake.build() + VirtualRunEnv(self).generate() + if can_run(self): + VirtualRunEnv(self).generate(scope="build") def build(self): - self._build_with_qmake() - self._build_with_meson() - self._build_with_cmake_find_package_multi() - - def _test_with_qmake(self): - if not self._qmake_supported(): - return - self.output.info("Testing qmake") - bin_path = os.path.join("qmake_folder", "bin") - if self.settings.os == "Macos": - bin_path = os.path.join(bin_path, "test_package.app", "Contents", "MacOS") - shutil.copy(os.path.join(self.generators_folder, "qt.conf"), bin_path) - self.run(os.path.join(bin_path, "test_package"), run_environment=True) - - def _test_with_meson(self): - if self._meson_supported(): - self.output.info("Testing Meson") - shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "meson_folder") - self.run(os.path.join("meson_folder", "test_package"), run_environment=True) - - def _test_with_cmake_find_package_multi(self): - self.output.info("Testing CMake_find_package_multi") - shutil.copy(os.path.join(self.generators_folder, "qt.conf"), "bin") - self.run(os.path.join("bin", "test_package"), run_environment=True) + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - if not cross_building(self, skip_x64_x86=True): - self._test_with_qmake() - self._test_with_meson() - self._test_with_cmake_find_package_multi() + if can_run(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") diff --git a/recipes/qt/6.x.x/test_package/meson.build b/recipes/qt/6.x.x/test_package/meson.build deleted file mode 100644 index 684dfec65a30e..0000000000000 --- a/recipes/qt/6.x.x/test_package/meson.build +++ /dev/null @@ -1,6 +0,0 @@ -project('test_package', 'cpp') -qt6 = import('qt6') -qt6_dep = dependency('qt6', modules: ['Core', 'Network', 'Sql', 'Concurrent', 'Xml']) -moc_files = qt6.preprocess(moc_headers : 'greeter.h', qresources : 'example.qrc') -executable('test_package', 'test_package.cpp', moc_files, - dependencies : qt6_dep) diff --git a/recipes/qt/6.x.x/test_package/test_package.pro b/recipes/qt/6.x.x/test_package/test_package.pro deleted file mode 100644 index 92b10f85fb96e..0000000000000 --- a/recipes/qt/6.x.x/test_package/test_package.pro +++ /dev/null @@ -1,15 +0,0 @@ - include($$OUT_PWD/../conanbuildinfo.pri) - - LIBS += $$CONAN_LIBDIRS - - SOURCES += test_package.cpp - -HEADERS += greeter.h - -RESOURCES = example.qrc - -QT += network sql concurrent xml - -QT -= gui - -CONFIG += console From 4c9e94bc0e91cf8091f17bbe470f00dc3503bd2c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 18 Jul 2023 15:02:32 +0200 Subject: [PATCH 0975/4087] (#18612) dbus/1.x.x: bump deps * dbus/1.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * dbus/1.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * dbus/1.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * dbus/1.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * dbus/1.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/dbus/1.x.x/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index f94e50abbf84d..7be295c8d8605 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -69,9 +69,9 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") if self.options.with_glib: - self.requires("glib/2.76.2") + self.requires("glib/2.77.0") if self.options.get_safe("with_systemd"): - self.requires("libsystemd/252.4") + self.requires("libsystemd/253.6") if self.options.with_selinux: self.requires("libselinux/3.3") if self.options.get_safe("with_x11"): @@ -87,10 +87,10 @@ def validate(self): def build_requirements(self): if self._meson_available: - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.0") if self._meson_available or self.options.get_safe("with_systemd"): if not self.conf.get("tools.gnu:pkg_config",check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 96bab420445439ec145a261d8b41b0eaec3e3baa Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Tue, 18 Jul 2023 21:23:04 +0200 Subject: [PATCH 0976/4087] (#18603) Add OpenEXR to 3.1.9 * Add OpenEXR to 3.1.9 * Remove 3.1.4 openexr release - Remove 3.1.4 openexr release to avoid compilation failure with msvc 193 --- recipes/openexr/3.x/conandata.yml | 10 +++++----- recipes/openexr/3.x/conanfile.py | 2 +- recipes/openexr/config.yml | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index a7eeabc240c75..40ca93a043145 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,17 +1,17 @@ sources: + "3.1.9": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.9.tar.gz" + sha256: "103e902d3902800ab07b5f3a298be7afd2755312737b2cdbfa01326ff99dac07" "3.1.7": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" "3.1.5": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz" sha256: "93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec" - "3.1.4": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.4.tar.gz" - sha256: "cb019c3c69ada47fe340f7fa6c8b863ca0515804dc60bdb25c942c1da886930b" patches: + "3.1.9": + - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" "3.1.7": - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" "3.1.5": - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" - "3.1.4": - - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" diff --git a/recipes/openexr/3.x/conanfile.py b/recipes/openexr/3.x/conanfile.py index e96841da78ea1..34ca44936ccbe 100644 --- a/recipes/openexr/3.x/conanfile.py +++ b/recipes/openexr/3.x/conanfile.py @@ -41,7 +41,7 @@ def configure(self): def requirements(self): self.requires("zlib/1.2.13") # Note: OpenEXR and Imath are versioned independently. - self.requires("imath/3.1.6", transitive_headers=True) + self.requires("imath/3.1.9", transitive_headers=True) def validate(self): if self.settings.compiler.cppstd: diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index 839005bf8beb6..99e37b9e0ffaa 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,10 +1,10 @@ versions: + "3.1.9": + folder: "3.x" "3.1.7": folder: "3.x" "3.1.5": folder: "3.x" - "3.1.4": - folder: "3.x" "2.5.7": folder: "2.x" "2.5.5": From 5cea3754799a4d767434b0a13b379a9c2f1f64a8 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 18 Jul 2023 22:02:19 +0200 Subject: [PATCH 0977/4087] (#18617) qt/5.x.x: bump deps * qt/5.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * qt/5.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * qt/5.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * qt/5.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/qt/5.x.x/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index f89a95f7dc6b3..8e54f6b2a47b0 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -349,7 +349,7 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.76.3") + self.requires("glib/2.77.0") # if self.options.with_libiconv: # QTBUG-84708 # self.requires("libiconv/1.16")# QTBUG-84708 if self.options.with_doubleconversion and not self.options.multiconfiguration: @@ -361,20 +361,20 @@ def requirements(self): if self.options.get_safe("with_icu", False): self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/7.3.0") + self.requires("harfbuzz/8.0.1") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/2.1.5") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: self.requires("sqlite3/3.42.0") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.0.31") if self.options.with_pq: - self.requires("libpq/14.7") + self.requires("libpq/15.3") if self.options.with_odbc: if self.settings.os != "Windows": self.requires("odbc/2.3.11") @@ -410,7 +410,7 @@ def requirements(self): if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_atspi"): - self.requires("at-spi2-core/2.48.3") + self.requires("at-spi2-core/2.49.1") if self.options.get_safe("with_md4c", False): self.requires("md4c/0.4.8") From c7d3608004e9a0993fa1292b93ff8ff52e8471cd Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 18 Jul 2023 13:42:02 -0700 Subject: [PATCH 0978/4087] (#18627) ada: add version 2.5.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 a9ea66194e886..377c8fab6dad4 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 280074ea58b38..7612786acc48c 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.1": + folder: all "2.5.0": folder: all "2.4.2": From adc2d857ca4f966c3c16da85977802ff26b28afe Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 18 Jul 2023 23:22:57 +0200 Subject: [PATCH 0979/4087] (#18614) qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/qt/6.x.x/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 36689bad8548c..eefa33f1dae93 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -305,7 +305,7 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.76.3") + self.requires("glib/2.77.0") if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: @@ -315,7 +315,7 @@ def requirements(self): if self.options.get_safe("with_icu", False): self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/7.3.0") + self.requires("harfbuzz/8.0.1") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/2.1.5") @@ -370,7 +370,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') From e2a3544eb2712418a85ffb48fb5fe8614089e65c Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Wed, 19 Jul 2023 03:02:09 +0200 Subject: [PATCH 0980/4087] (#18630) Bump opencv requirements --- recipes/opencv/4.x/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 2e1ee11d66a59..895fee1eb0186 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -194,16 +194,16 @@ def requirements(self): # opencv < 4.5.3 doesn't support openexr >= 3 self.requires("openexr/2.5.7") else: - self.requires("openexr/3.1.7") + self.requires("openexr/3.1.9") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.5.1") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.get_safe("with_ffmpeg"): # opencv doesn't support ffmpeg >= 5.0.0 for the moment (until 4.5.5 at least) - self.requires("ffmpeg/4.4") + self.requires("ffmpeg/4.4.3") if self.options.parallel == "tbb": - self.requires("onetbb/2021.7.0") + self.requires("onetbb/2021.9.0") if self.options.with_ipp == "intel-ipp": self.requires("intel-ipp/2020") if self.options.with_webp: From 0536cb35035f7ee9828162bccc45cb6b1928a32f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 19 Jul 2023 11:01:45 +0200 Subject: [PATCH 0981/4087] (#18593) [bot] Update authorized users list (2023-07-17) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 1bab3d41b7d93..bb46de7b8ad44 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1199,3 +1199,5 @@ authorized_users: - owenkellogg - AndreaFinazzi - klausholstjacobsen +- xahon +- jeremy-rifkin From b164b065bf28865ef5be37a54830cdc1009a5cc2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 19 Jul 2023 21:45:19 +0900 Subject: [PATCH 0982/4087] (#18218) platform.delegates: add version 0.3.7, support conan v2 --- recipes/platform.delegates/all/conandata.yml | 13 +-- recipes/platform.delegates/all/conanfile.py | 81 ++++++++++--------- .../all/test_package/CMakeLists.txt | 9 +-- .../all/test_package/conanfile.py | 21 +++-- recipes/platform.delegates/config.yml | 4 +- 5 files changed, 73 insertions(+), 55 deletions(-) diff --git a/recipes/platform.delegates/all/conandata.yml b/recipes/platform.delegates/all/conandata.yml index 474957e25d650..ac581433698b2 100644 --- a/recipes/platform.delegates/all/conandata.yml +++ b/recipes/platform.delegates/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "0.1.3": - url: https://github.com/linksplatform/Delegates/archive/refs/tags/0.1.3.zip - sha256: e30b2e3c8aff6ffaa366b1c66a7af79f6bc828822f428a4427a7a89e14412fec + "0.3.7": + url: "https://github.com/linksplatform/Delegates/archive/refs/tags/cpp_0.3.7.tar.gz" + sha256: "4b9c72f6fa40a7d968db47f61da302d77d865c07fc70e177b08b4bfeaedfb1c2" "0.2.7": - url: https://github.com/linksplatform/Delegates/archive/refs/tags/cpp_0.2.7.zip - sha256: 440e628dba541497a4d4075b0fd97e42279c5ed73a4156fbcb06556f09109435 + url: "https://github.com/linksplatform/Delegates/archive/refs/tags/cpp_0.2.7.tar.gz" + sha256: "b5e9d5b1094d90795cbd6f9c1377b49eaa6965f88b1730c0775381a3f4b6cb7f" + "0.1.3": + url: "https://github.com/linksplatform/Delegates/archive/refs/tags/0.1.3.tar.gz" + sha256: "0745eda77f900f9985dcfe7d66e5c2e5b15b0d762977c42433dc0345f8866e16" diff --git a/recipes/platform.delegates/all/conanfile.py b/recipes/platform.delegates/all/conanfile.py index bf72a495f89c9..fd9b1cdcab90c 100644 --- a/recipes/platform.delegates/all/conanfile.py +++ b/recipes/platform.delegates/all/conanfile.py @@ -1,68 +1,73 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class PlatformDelegatesConan(ConanFile): name = "platform.delegates" + description = """platform.delegates is one of the libraries of the LinksPlatform modular framework, which uses + innovations from the C++17 standard, for easier use delegates/events in csharp style.""" license = "MIT" - homepage = "https://github.com/linksplatform/Delegates" url = "https://github.com/conan-io/conan-center-index" - description = """platform.delegates is one of the libraries of the LinksPlatform modular framework, which uses - innovations from the C++17 standard, for easier use delegates/events in csharp style.""" + homepage = "https://github.com/linksplatform/Delegates" topics = ("linksplatform", "cpp17", "delegates", "events", "header-only") - settings = "compiler" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _internal_cpp_subfolder(self): - return os.path.join(self._source_subfolder, "cpp", "Platform.Delegates") + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): return { "gcc": "8", "Visual Studio": "16", + "msvc": "192", "clang": "14", - "apple-clang": "14" + "apple-clang": "14", } - @property - def _minimum_cpp_standard(self): - return 17 - - def validate(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) - - if not minimum_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + def layout(self): + basic_layout(self, src_folder="src") - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("platform.delegates/{} " - "requires C++{} with {}, " - "which is not supported " - "by {} {}.".format( - self.version, self._minimum_cpp_standard, self.settings.compiler, self.settings.compiler, - self.settings.compiler.version)) + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - + 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) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("*.h", dst="include", src=self._internal_cpp_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy( + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "cpp", "Platform.Delegates") + ) + copy( + self, + "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder + ) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/platform.delegates/all/test_package/CMakeLists.txt b/recipes/platform.delegates/all/test_package/CMakeLists.txt index 4fcc24504de1c..96e9a79f01ce8 100644 --- a/recipes/platform.delegates/all/test_package/CMakeLists.txt +++ b/recipes/platform.delegates/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(platform.delegates REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CONAN_PKG::platform.delegates) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE platform.delegates::platform.delegates) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/platform.delegates/all/test_package/conanfile.py b/recipes/platform.delegates/all/test_package/conanfile.py index bd7165a553cf4..3a91c9439218e 100644 --- a/recipes/platform.delegates/all/test_package/conanfile.py +++ b/recipes/platform.delegates/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 layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/platform.delegates/config.yml b/recipes/platform.delegates/config.yml index b1a51775b387a..6918e60ac86f1 100644 --- a/recipes/platform.delegates/config.yml +++ b/recipes/platform.delegates/config.yml @@ -1,5 +1,7 @@ versions: - "0.1.3": + "0.3.7": folder: all "0.2.7": folder: all + "0.1.3": + folder: all From 26ef075060ced7608db6570aa3b587b82657bef3 Mon Sep 17 00:00:00 2001 From: William Behrens <35979547+wbehrens-on-gh@users.noreply.github.com> Date: Wed, 19 Jul 2023 18:06:44 -0500 Subject: [PATCH 0983/4087] (#18364) ffmpeg: bump libwebp version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco Co-authored-by: Carlos Zoido --- 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 67048e13ce52b..0ebfa544b38e2 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -289,7 +289,7 @@ def requirements(self): if self.options.with_libfdk_aac: self.requires("libfdk_aac/2.0.2") if self.options.with_libwebp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_libalsa"): From d7da970c81b8f100cf9efd005e49f8855bd9d335 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 20 Jul 2023 11:29:06 +0200 Subject: [PATCH 0984/4087] (#18315) ccache: add version 4.8.2 * ccache: add version 4.8.2 Also update the dependencies * ccache: never download ZSTD from the internet * ccache: set find_mode for zstd --- recipes/ccache/all/conandata.yml | 7 +++++++ recipes/ccache/all/conanfile.py | 6 ++++-- recipes/ccache/config.yml | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index d9b62b8f7eec8..1eab23f47e9eb 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -9,6 +12,10 @@ sources: url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz" sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36" patches: + "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" diff --git a/recipes/ccache/all/conanfile.py b/recipes/ccache/all/conanfile.py index d2852b89b924b..8234bde469ffe 100644 --- a/recipes/ccache/all/conanfile.py +++ b/recipes/ccache/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") if self.options.redis_storage_backend: self.requires("hiredis/1.1.0") @@ -67,7 +67,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires C++ filesystem library, that is not supported by Clang 11 + libstdc++.") def build_requirements(self): - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/[>=3.15 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], @@ -77,6 +77,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["REDIS_STORAGE_BACKEND"] = self.options.redis_storage_backend tc.variables["HIREDIS_FROM_INTERNET"] = False + tc.variables["ZSTD_FROM_INTERNET"] = False tc.variables["ENABLE_DOCUMENTATION"] = False tc.variables["ENABLE_TESTING"] = False tc.generate() @@ -85,6 +86,7 @@ def generate(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") + deps.set_property("zstd", "cmake_find_mode", "module") deps.generate() def build(self): diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index 6bdb34d995150..a08cbff67b811 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,4 +1,6 @@ versions: + "4.8.2": + folder: all "4.8.1": folder: all "4.8": From cd19c3099cdc3824fc393c1f16cbdd586d4f48e8 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 20 Jul 2023 13:42:12 +0200 Subject: [PATCH 0985/4087] (#18645) [changelog] C3I Jenkins Release - 19 July 2013 Signed-off-by: Uilian Ries --- docs/changelog.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 1f0425119cede..4ea36e44e8667 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,16 @@ # Changelog +### 19-Jul-2023 - 09:45 CEST + +- [fix] Fix message processing if no message is passed. +- [fix] Fix automatic merge priority to follow the correct PR order. +- [fix] Waiting for Conan 2.x result after building Conan 1.x. +- [fix] Bump version should not be tagged when removing old versions. +- [feature] Improve internal logs to get more information about epochs. +- [feature] Add an option to disable some jobs. +- [feature] Disable branch indexing job runs on cci multibranch job. +- [feature] Enable Conan 2.0.8 + ### 04-May-2023 - 16:05 CEST - [bugfix] Fix cppstd issues when selecting the value to use in profiles. From ddcaf3d0db27dba1b376e8b866d06aef4de0de07 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Thu, 20 Jul 2023 14:07:25 +0200 Subject: [PATCH 0986/4087] (#18525) Re-added support for gtest/1.8.1 as this is the latest version supported by qnx 7.0 --- recipes/gtest/all/conandata.yml | 7 +++++++ recipes/gtest/all/patches/gtest-1.8.1.patch | 13 +++++++++++++ recipes/gtest/config.yml | 2 ++ 3 files changed, 22 insertions(+) create mode 100755 recipes/gtest/all/patches/gtest-1.8.1.patch diff --git a/recipes/gtest/all/conandata.yml b/recipes/gtest/all/conandata.yml index 70ff2819b4d9f..1634a1e79e6fd 100644 --- a/recipes/gtest/all/conandata.yml +++ b/recipes/gtest/all/conandata.yml @@ -8,6 +8,9 @@ sources: "1.10.0": url: "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" sha256: "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb" + "1.8.1": + url: "https://github.com/google/googletest/archive/release-1.8.1.tar.gz" + sha256: "9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c" patches: "1.10.0": - patch_file: "patches/gtest-1.10.0.patch" @@ -17,3 +20,7 @@ patches: patch_description: "prevent compiler from complaining while compiling" patch_type: "bugfix" patch_source: "https://github.com/google/googletest/pull/2507" + "1.8.1": + - patch_file: "patches/gtest-1.8.1.patch" + patch_description: "add CUSTOM_DEBUG_POSTFIX option" + patch_type: "conan" diff --git a/recipes/gtest/all/patches/gtest-1.8.1.patch b/recipes/gtest/all/patches/gtest-1.8.1.patch new file mode 100755 index 0000000000000..838ab42c89f02 --- /dev/null +++ b/recipes/gtest/all/patches/gtest-1.8.1.patch @@ -0,0 +1,13 @@ +diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake +index 8c1f9ba..2203d3c 100644 +--- a/googletest/cmake/internal_utils.cmake ++++ b/googletest/cmake/internal_utils.cmake +@@ -166,7 +166,7 @@ function(cxx_library_with_type name type cxx_flags) + # Generate debug library name with a postfix. + set_target_properties(${name} + PROPERTIES +- DEBUG_POSTFIX "d") ++ DEBUG_POSTFIX "${CUSTOM_DEBUG_POSTFIX}") + if (BUILD_SHARED_LIBS OR type STREQUAL "SHARED") + set_target_properties(${name} + PROPERTIES diff --git a/recipes/gtest/config.yml b/recipes/gtest/config.yml index 6df56e900d95a..ee070419b09c3 100644 --- a/recipes/gtest/config.yml +++ b/recipes/gtest/config.yml @@ -5,3 +5,5 @@ versions: folder: all "1.10.0": folder: all + "1.8.1": + folder: all From 5ef08656189412fe33184f70b92dc452607d5f9f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 20 Jul 2023 15:52:52 +0300 Subject: [PATCH 0987/4087] (#18700) forestdb: migrate to Conan v2 --- recipes/forestdb/all/CMakeLists.txt | 7 -- recipes/forestdb/all/conandata.yml | 1 - recipes/forestdb/all/conanfile.py | 83 ++++++++++--------- .../forestdb/all/test_package/CMakeLists.txt | 5 +- .../forestdb/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../forestdb/all/test_v1_package/conanfile.py | 18 ++++ 7 files changed, 87 insertions(+), 57 deletions(-) delete mode 100644 recipes/forestdb/all/CMakeLists.txt create mode 100644 recipes/forestdb/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/forestdb/all/test_v1_package/conanfile.py diff --git a/recipes/forestdb/all/CMakeLists.txt b/recipes/forestdb/all/CMakeLists.txt deleted file mode 100644 index 78b537ac50f88..0000000000000 --- a/recipes/forestdb/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/forestdb/all/conandata.yml b/recipes/forestdb/all/conandata.yml index 935f0559af335..e15581c6eba7e 100644 --- a/recipes/forestdb/all/conandata.yml +++ b/recipes/forestdb/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "cci.20220727": - patch_file: "patches/0001-proper-cxx-std-flag.patch" - base_path: "source_subfolder" diff --git a/recipes/forestdb/all/conanfile.py b/recipes/forestdb/all/conanfile.py index 526ab2f1f2069..fd380e2335813 100644 --- a/recipes/forestdb/all/conanfile.py +++ b/recipes/forestdb/all/conanfile.py @@ -1,8 +1,13 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 + +required_conan_version = ">=1.53.0" + class ForestDBConan(ConanFile): name = "forestdb" @@ -11,12 +16,13 @@ class ForestDBConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ForestDB-KVStore/forestdb" topics = ("kv-store", "mvcc", "wal") - settings = "os", "arch", "compiler", "build_type" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "with_snappy": [True, False] + "with_snappy": [True, False], } default_options = { "shared": False, @@ -24,64 +30,65 @@ class ForestDBConan(ConanFile): "with_snappy": False, } - generators = "cmake" + def export_sources(self): + export_conandata_patches(self) - @property - def _source_subfolder(self): - return "source_subfolder" + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_snappy: - self.requires("snappy/1.1.9") + self.requires("snappy/1.1.10") def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("Windows Builds Unsupported") if self.settings.compiler == "clang": - if self.settings.compiler.libcxx == "libc++" and self.options.shared == False: + if self.settings.compiler.libcxx == "libc++" and not self.options.shared: raise ConanInvalidConfiguration("LibC++ Static Builds Unsupported") if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) - - def configure(self): - if self.options.shared: - del self.options.fPIC + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = CMake(self) - cmake.definitions["SNAPPY_OPTION"] = "Disable" + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SNAPPY_OPTION"] = "Disable" if self.options.with_snappy: - cmake.definitions["SNAPPY_OPTION"] = "Enable" - cmake.configure() + tc.variables["SNAPPY_OPTION"] = "Enable" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) lib_target = "forestdb" if not self.options.shared: lib_target = "static_lib" + cmake = CMake(self) + cmake.configure() cmake.build(target=lib_target) def package(self): - self.copy("LICENSE", dst="licenses/", src=self._source_subfolder ) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) # Parent Build system does not support library type selection # and will only install the shared object from cmake; so we must # handpick our libraries. - self.copy("*.a*", dst="lib", src="lib") - self.copy("*.lib", dst="lib", src="lib") - self.copy("*.so*", dst="lib", src="lib", symlinks=True) - self.copy("*.dylib*", dst="lib", src="lib", symlinks=True) - self.copy("*.dll*", dst="lib", src="lib") - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include"), keep_path=True) + for pattern in ["*.a*", "*.lib", "*.so*", "*.dylib*", "*.dll*"]: + copy(self, pattern, + dst=os.path.join(self.package_folder, "lib"), + src=self.build_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + keep_path=True) def package_info(self): self.cpp_info.libs = ["forestdb"] - self.cpp_info.system_libs.extend(["pthread", "m", "dl"]) - if self.settings.os == "Linux": - self.cpp_info.system_libs.extend(["rt"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m", "dl", "rt"] diff --git a/recipes/forestdb/all/test_package/CMakeLists.txt b/recipes/forestdb/all/test_package/CMakeLists.txt index 9912b39ed8da5..44b53f97f3be5 100644 --- a/recipes/forestdb/all/test_package/CMakeLists.txt +++ b/recipes/forestdb/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(forestdb REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/forestdb/all/test_package/conanfile.py b/recipes/forestdb/all/test_package/conanfile.py index 751b9d5bc7b9c..fae501d0afb9e 100644 --- a/recipes/forestdb/all/test_package/conanfile.py +++ b/recipes/forestdb/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -from conans import ConanFile, CMake, tools, RunEnvironment -from conan.tools.build import cross_building +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/forestdb/all/test_v1_package/CMakeLists.txt b/recipes/forestdb/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/forestdb/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/forestdb/all/test_v1_package/conanfile.py b/recipes/forestdb/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..751b9d5bc7b9c --- /dev/null +++ b/recipes/forestdb/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools, RunEnvironment +from conan.tools.build import cross_building +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 8a8966a1ca011677f9389476050697c8d4a0a4e6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 20 Jul 2023 22:34:34 +0900 Subject: [PATCH 0988/4087] (#18713) highway: add version 1.0.5 --- recipes/highway/all/conandata.yml | 3 +++ recipes/highway/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/highway/all/conandata.yml b/recipes/highway/all/conandata.yml index a0cdc4a6b1936..b0736b5e17350 100644 --- a/recipes/highway/all/conandata.yml +++ b/recipes/highway/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.5": + url: "https://github.com/google/highway/archive/1.0.5.tar.gz" + sha256: "99b7dad98b8fa088673b720151458fae698ae5df9154016e39de4afdc23bb927" "1.0.4": url: "https://github.com/google/highway/archive/1.0.4.tar.gz" sha256: "faccd343935c9e98afd1016e9d20e0b8b89d908508d1af958496f8c2d3004ac2" diff --git a/recipes/highway/config.yml b/recipes/highway/config.yml index d3cb7d334892f..48d515416587a 100644 --- a/recipes/highway/config.yml +++ b/recipes/highway/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.5": + folder: all "1.0.4": folder: all "1.0.3": From 9eabe0479c531211cb145f92393ca2eece8b900c Mon Sep 17 00:00:00 2001 From: whalien Date: Fri, 21 Jul 2023 00:11:27 +0800 Subject: [PATCH 0989/4087] (#18572) migrate tree-sitter to conan2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build: update to conan2 * build: bump version v0.20.8 * fix: fix lint errors * fix: fix forgotten of bump version 0.20.8 * fix: migrate del to rm_safe in configure * style: add newline to test-pacaage.c * fix: add conan v1 test * Add missing test_type, remove test_v1_package * Dont import every tool * Tooooooools * some fixes * Update recipes/tree-sitter/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: czoido --- recipes/tree-sitter/all/CMakeLists.txt | 13 ++--- recipes/tree-sitter/all/conandata.yml | 3 ++ recipes/tree-sitter/all/conanfile.py | 47 ++++++++++--------- .../all/test_package/CMakeLists.txt | 3 -- .../tree-sitter/all/test_package/conanfile.py | 24 +++++++--- .../all/test_package/test_package.c | 9 ++-- recipes/tree-sitter/config.yml | 2 + 7 files changed, 56 insertions(+), 45 deletions(-) diff --git a/recipes/tree-sitter/all/CMakeLists.txt b/recipes/tree-sitter/all/CMakeLists.txt index 2d67e95f598b6..5f48ce80be466 100644 --- a/recipes/tree-sitter/all/CMakeLists.txt +++ b/recipes/tree-sitter/all/CMakeLists.txt @@ -1,21 +1,18 @@ cmake_minimum_required(VERSION 3.4) project(tree-sitter C) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - # Use cmake script instead of Makefile to support MSVC + follow fPIC option -file(GLOB SOURCES RELATIVE "${PROJECT_SOURCE_DIR}" source_subfolder/lib/src/*.c) -list(REMOVE_ITEM SOURCES source_subfolder/lib/src/lib.c) +file(GLOB SOURCES RELATIVE "${PROJECT_SOURCE_DIR}" src/lib/src/*.c) +list(REMOVE_ITEM SOURCES src/lib/src/lib.c) -file(GLOB HEADERS source_subfolder/lib/include/tree_sitter/*.h) +file(GLOB HEADERS src/lib/include/tree_sitter/*.h) add_library(${PROJECT_NAME} ${SOURCES}) target_include_directories(${PROJECT_NAME} PRIVATE - $ - $ + $ + $ ) set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/recipes/tree-sitter/all/conandata.yml b/recipes/tree-sitter/all/conandata.yml index d0e08afc47bc9..43b71bcba5f69 100644 --- a/recipes/tree-sitter/all/conandata.yml +++ b/recipes/tree-sitter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.20.8": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.8.tar.gz" + sha256: "6181ede0b7470bfca37e293e7d5dc1d16469b9485d13f13a605baec4a8b1f791" "0.20.6": url: "https://github.com/tree-sitter/tree-sitter/archive/v0.20.6.tar.gz" sha256: "4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de" diff --git a/recipes/tree-sitter/all/conanfile.py b/recipes/tree-sitter/all/conanfile.py index 0ab58caffc58f..db16033332a0c 100644 --- a/recipes/tree-sitter/all/conanfile.py +++ b/recipes/tree-sitter/all/conanfile.py @@ -1,7 +1,10 @@ -from conans import CMake, ConanFile, tools -import functools +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.files import get, copy + +required_conan_version = ">=1.53.0" class TreeSitterConan(ConanFile): @@ -11,6 +14,7 @@ class TreeSitterConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://tree-sitter.github.io/tree-sitter" license = "MIT" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -21,42 +25,39 @@ class TreeSitterConan(ConanFile): "shared": False, } - generators = "cmake" + generators = "CMakeToolchain" exports_sources = "CMakeLists.txt" - @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.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def layout(self): + cmake_layout(self, src_folder="src") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() def package(self): - self.copy("LICENSE", 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() def package_info(self): - self.cpp_info.names["pkg_config"] = "tree-sitter" self.cpp_info.libs = ["tree-sitter"] diff --git a/recipes/tree-sitter/all/test_package/CMakeLists.txt b/recipes/tree-sitter/all/test_package/CMakeLists.txt index 1f6c3d19b27a6..c0b053bd23a36 100644 --- a/recipes/tree-sitter/all/test_package/CMakeLists.txt +++ b/recipes/tree-sitter/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(tree-sitter REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/tree-sitter/all/test_package/conanfile.py b/recipes/tree-sitter/all/test_package/conanfile.py index 38f4483872d47..a8ebbe0c45c36 100644 --- a/recipes/tree-sitter/all/test_package/conanfile.py +++ b/recipes/tree-sitter/all/test_package/conanfile.py @@ -1,17 +1,27 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + +class TestPacakgeConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) cmake.configure() cmake.build() + def layout(self): + cmake_layout(self) + def test(self): - if 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/tree-sitter/all/test_package/test_package.c b/recipes/tree-sitter/all/test_package/test_package.c index 6ed5f62951a82..08527638921d3 100644 --- a/recipes/tree-sitter/all/test_package/test_package.c +++ b/recipes/tree-sitter/all/test_package/test_package.c @@ -1,8 +1,9 @@ #include -//More detailed example search at https://tree-sitter.github.io/tree-sitter/using-parsers#getting-started +// More detailed example search at +// https://tree-sitter.github.io/tree-sitter/using-parsers#getting-started int main() { - TSParser *parser = ts_parser_new(); - ts_parser_delete(parser); - return 0; + TSParser *parser = ts_parser_new(); + ts_parser_delete(parser); + return 0; } diff --git a/recipes/tree-sitter/config.yml b/recipes/tree-sitter/config.yml index be011f8935f2a..30720fc6f1016 100644 --- a/recipes/tree-sitter/config.yml +++ b/recipes/tree-sitter/config.yml @@ -1,4 +1,6 @@ versions: + "0.20.8": + folder: all "0.20.6": folder: all "0.20.0": From c4ddd3028ab28c4b6b8d81677568146d9a3995e1 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Thu, 20 Jul 2023 22:28:05 +0200 Subject: [PATCH 0990/4087] (#18762) Add dav1d/1.2.1 --- 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 960fc25c0f85a..7841b712b35c9 100644 --- a/recipes/dav1d/all/conandata.yml +++ b/recipes/dav1d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.1": + url: "http://ftp.videolan.org/pub/videolan/dav1d/1.2.1/dav1d-1.2.1.tar.xz" + sha256: "4e33eb61ec54c768a16da0cf8fa0928b4c4593f5f804a3c887d4a21c318340b2" "1.1.0": url: "http://ftp.videolan.org/pub/videolan/dav1d/1.1.0/dav1d-1.1.0.tar.xz" sha256: "fb57aae7875f28c30fb3dbae4a3683d27e2f91dde09ce5c60c22cef9bc58dfd1" diff --git a/recipes/dav1d/config.yml b/recipes/dav1d/config.yml index 1807dabd0bac4..2ef77329e43db 100644 --- a/recipes/dav1d/config.yml +++ b/recipes/dav1d/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.1": + folder: "all" "1.1.0": folder: "all" "1.0.0": From ceb0d5cec463cca78d958d08cade4b29df211241 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Fri, 21 Jul 2023 00:10:17 +0200 Subject: [PATCH 0991/4087] (#18763) Add libaom-av1 release 3.6.1 --- recipes/libaom-av1/all/conandata.yml | 7 +++++++ recipes/libaom-av1/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libaom-av1/all/conandata.yml b/recipes/libaom-av1/all/conandata.yml index 17b677e8b1c9a..bb3a5a205cc9f 100644 --- a/recipes/libaom-av1/all/conandata.yml +++ b/recipes/libaom-av1/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -21,6 +24,10 @@ sources: 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" + patch_type: conan + patch_description: Install just aom library without aom_static. "3.6.0": - patch_file: "patches/0001-3.4.0-fix-install.patch" patch_type: conan diff --git a/recipes/libaom-av1/config.yml b/recipes/libaom-av1/config.yml index 55199e7891956..2ac5e2242b2d4 100644 --- a/recipes/libaom-av1/config.yml +++ b/recipes/libaom-av1/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.1": + folder: all "3.6.0": folder: all "3.5.0": From 58ac0a13c5fe5a2ae1649329ffba02a8abf7685b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 04:45:42 +0300 Subject: [PATCH 0992/4087] (#18107) opentelemetry-proto: add package_type, clean up * opentelemetry-proto: add package_type, clean up * opentelemetry-proto: fix Conan v1 incompatibility * opentelemetry-proto: restore test_v1_package * opentelemetry-proto: apply PR suggestions, restore layout() * Update recipes/opentelemetry-proto/all/test_package/conanfile.py * Update recipes/opentelemetry-proto/all/test_package/conanfile.py * package_type = "build-scripts" Co-authored-by: Uilian Ries * bindirs = [] Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/opentelemetry-proto/all/conanfile.py | 32 ++++++++++--------- .../all/test_package/conanfile.py | 26 +++++---------- 2 files changed, 25 insertions(+), 33 deletions(-) diff --git a/recipes/opentelemetry-proto/all/conanfile.py b/recipes/opentelemetry-proto/all/conanfile.py index 05dc5d3a1f5cc..b24f1a700e446 100644 --- a/recipes/opentelemetry-proto/all/conanfile.py +++ b/recipes/opentelemetry-proto/all/conanfile.py @@ -1,19 +1,22 @@ +import os + from conan import ConanFile -from conan.tools.files import get, copy, save +from conan.tools.files import get, copy from conan.tools.layout import basic_layout -import os required_conan_version = ">=1.52.0" + class OpenTelemetryProtoConan(ConanFile): name = "opentelemetry-proto" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/open-telemetry/opentelemetry-proto" description = "Protobuf definitions for the OpenTelemetry protocol (OTLP)" - topics = ("opentelemetry", "telemetry", "otlp") + topics = ("opentelemetry", "telemetry", "otlp", "pre-built") + + package_type = "build-scripts" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True def layout(self): basic_layout(self, src_folder="src") @@ -21,23 +24,22 @@ def layout(self): def package_id(self): self.info.clear() - def source(self): + def build(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, - pattern="*.proto", - dst=os.path.join(self.package_folder, "res"), - src=self.source_folder, - ) - # satisfy KB-H014 (header_only recipes require headers) - save(self, os.path.join(self.package_folder, "include", "dummy_header.h"), "\n") + copy(self, pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), src=self.build_folder) + copy(self, pattern="*.proto", + dst=os.path.join(self.package_folder, "res"), src=self.build_folder) def package_info(self): - self.conf_info.define("user.opentelemetry-proto:proto_root", os.path.join(self.package_folder, "res")) + self.conf_info.define("user.opentelemetry-proto:proto_root", + os.path.join(self.package_folder, "res")) + self.cpp_info.resdirs = ["res"] + self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] + # TODO: to remove in conan v2 self.user_info.proto_root = os.path.join(self.package_folder, "res") diff --git a/recipes/opentelemetry-proto/all/test_package/conanfile.py b/recipes/opentelemetry-proto/all/test_package/conanfile.py index 468f9bc6b7433..43eb202cc1d23 100644 --- a/recipes/opentelemetry-proto/all/test_package/conanfile.py +++ b/recipes/opentelemetry-proto/all/test_package/conanfile.py @@ -1,15 +1,14 @@ +import os + from conan import ConanFile -from conan.tools.cmake import CMakeDeps, CMakeToolchain -from conan.tools.env import VirtualBuildEnv +from conan.tools.files import save, load from conan.tools.layout import basic_layout -import os + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" test_type = "explicit" - _res_folder = "" - def layout(self): basic_layout(self, src_folder="src") @@ -17,18 +16,9 @@ def requirements(self): self.requires(self.tested_reference_str) def generate(self): - tc = CMakeToolchain(self) - tc.generate() - tc = CMakeDeps(self) - tc.generate() - tc = VirtualBuildEnv(self) - tc.generate(scope="build") - - self._res_folder = self.dependencies["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root") + save(self, os.path.join(self.build_folder, "proto_root"), self.dependencies["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root")) def test(self): - # TODO: to remove in conan v2 - if self._res_folder == "": - self._res_folder = self.deps_user_info["opentelemetry-proto"].proto_root - - assert os.path.isfile(os.path.join(self._res_folder, "opentelemetry", "proto", "common", "v1", "common.proto")) + res_folder = load(self, os.path.join(self.build_folder, "proto_root")) + proto_path = os.path.join(res_folder, "opentelemetry", "proto", "common", "v1", "common.proto") + assert os.path.isfile(proto_path) From 9d6fda4d6a9ab5bbccf80cf27e3bba17020a9b17 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 05:25:44 +0300 Subject: [PATCH 0993/4087] (#18357) simple-yaml: migrate to Conan v2 * simple-yaml: migrate to Conan v2 * simple-yaml: restore test_v1_package * simple-yaml: set min MSVC version * simple-yaml: drop test_v1_package --- recipes/simple-yaml/all/conanfile.py | 98 +++++++++++-------- .../all/test_package/CMakeLists.txt | 6 +- .../simple-yaml/all/test_package/conanfile.py | 27 +++-- 3 files changed, 76 insertions(+), 55 deletions(-) diff --git a/recipes/simple-yaml/all/conanfile.py b/recipes/simple-yaml/all/conanfile.py index fea9f3e7e071f..9573f235455af 100644 --- a/recipes/simple-yaml/all/conanfile.py +++ b/recipes/simple-yaml/all/conanfile.py @@ -1,74 +1,88 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class SimpleYamlConan(ConanFile): name = "simple-yaml" + description = "Read configuration files in YAML format by code structure" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Rechip/simple-yaml" - description = "Read configuration files in YAML format by code structure" - topics = ("cpp", "yaml", "configuration") - settings = ["compiler"] - no_copy_source = True + topics = ("cpp", "yaml", "configuration", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" options = { "enable_enum": [True, False], } default_options = { - "enable_enum": True + "enable_enum": True, } + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def requirements(self): - self.requires("pretty-name/1.0.0") - self.requires("yaml-cpp/0.7.0") - self.requires("source_location/0.2.0") - if self.options.enable_enum: - self.requires("magic_enum/0.7.3") - - def package(self): - self.copy(pattern="LICENSE", dst="licenses", - src=self._source_subfolder) - self.copy(pattern="*", dst="include", - src=os.path.join(self._source_subfolder, "include")) + def _min_cppstd(self): + return 20 @property def _minimum_compilers_version(self): return { - "Visual Studio": "16.3", "gcc": "10", "clang": "11", "apple-clang": "13.3", + "msvc": "193", + "Visual Studio": "16.3", } + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("pretty-name/1.0.0") + self.requires("yaml-cpp/0.7.0") + self.requires("source_location/0.2.1") + if self.options.enable_enum: + self.requires("magic_enum/0.7.3") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "20") - if self.settings.compiler == "clang" and self.settings.compiler.libcxx in ["libstdc++", "libstdc++11"] and self.settings.compiler.version == "11": - raise ConanInvalidConfiguration("clang 11 with libstdc++ is not supported due to old libstdc++ missing C++17 support") - minimum_version = self._minimum_compilers_version.get( - str(self.settings.compiler), False) - if not minimum_version: - self.output.warn( - "simple-yaml requires C++20. Your compiler is unknown. Assuming it fully supports C++20.") - elif tools.Version(self.settings.compiler.version) < minimum_version: + check_min_cppstd(self, self._min_cppstd) + if ( + self.settings.compiler == "clang" + and self.settings.compiler.libcxx in ["libstdc++", "libstdc++11"] + and self.settings.compiler.version == "11" + ): raise ConanInvalidConfiguration( - "simple-yaml requires C++20, which your compiler does not support.") + "clang 11 with libstdc++ is not supported due to old libstdc++ missing C++17 support" + ) + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if not minimum_version: + self.output.warning("simple-yaml requires C++20. Your compiler is unknown. Assuming it fully supports C++20.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration("simple-yaml requires C++20, which your compiler does not support.") - def package_id(self): - self.info.header_only() + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "simple-yaml" - self.cpp_info.names["cmake_find_package_multi"] = "simple-yaml" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/simple-yaml/all/test_package/CMakeLists.txt b/recipes/simple-yaml/all/test_package/CMakeLists.txt index 506dba003a47f..08e8ff623e894 100644 --- a/recipes/simple-yaml/all/test_package/CMakeLists.txt +++ b/recipes/simple-yaml/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(simple-yaml REQUIRED CONFIG) -find_package(simple-yaml CONFIG REQUIRED) add_executable(${PROJECT_NAME} src/test.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE simple-yaml::simple-yaml) diff --git a/recipes/simple-yaml/all/test_package/conanfile.py b/recipes/simple-yaml/all/test_package/conanfile.py index cbe0be23191a2..fae501d0afb9e 100644 --- a/recipes/simple-yaml/all/test_package/conanfile.py +++ b/recipes/simple-yaml/all/test_package/conanfile.py @@ -1,17 +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, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - self.cmake = CMake(self) - self.cmake.configure() - self.cmake.build() + 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): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From da32e8025edb7c2a4679e97bf43ad74147f53c6a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 07:05:46 +0300 Subject: [PATCH 0994/4087] (#18169) aeron: add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * aeron: add package_type * aeron: restore test_v1_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/aeron/all/conanfile.py | 3 ++- recipes/aeron/all/test_v1_package/CMakeLists.txt | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/aeron/all/conanfile.py b/recipes/aeron/all/conanfile.py index aef0519cfd69a..4bf9894df2c4c 100644 --- a/recipes/aeron/all/conanfile.py +++ b/recipes/aeron/all/conanfile.py @@ -20,6 +20,7 @@ class AeronConan(ConanFile): homepage = "https://github.com/real-logic/aeron/wiki" license = "Apache-2.0" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -47,7 +48,7 @@ def _compilers_minimum_version(self): } def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): diff --git a/recipes/aeron/all/test_v1_package/CMakeLists.txt b/recipes/aeron/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/aeron/all/test_v1_package/CMakeLists.txt +++ b/recipes/aeron/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From f411bf6b84307b8771ee698dff05aeb283f9f7ee Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 07:46:12 +0300 Subject: [PATCH 0995/4087] (#18173) alembic: add package_type * alembic: add package_type * alembic: add transitive_headers=True to imath, bump deps --- recipes/alembic/all/conanfile.py | 5 +++-- recipes/alembic/all/test_v1_package/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/alembic/all/conanfile.py b/recipes/alembic/all/conanfile.py index 73264829b63a3..96e5f773727fd 100644 --- a/recipes/alembic/all/conanfile.py +++ b/recipes/alembic/all/conanfile.py @@ -15,6 +15,7 @@ class AlembicConan(ConanFile): description = "Open framework for storing and sharing scene data." topics = ("3d", "scene", "geometry", "graphics") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -42,9 +43,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("imath/3.1.6") + self.requires("imath/3.1.9", transitive_headers=True) if self.options.with_hdf5: - self.requires("hdf5/1.14.0") + self.requires("hdf5/1.14.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/alembic/all/test_v1_package/CMakeLists.txt b/recipes/alembic/all/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/alembic/all/test_v1_package/CMakeLists.txt +++ b/recipes/alembic/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From cc04ccb57706695569d1545bc276289f15546374 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 21 Jul 2023 14:26:45 +0900 Subject: [PATCH 0996/4087] (#18294) re2: add version 20230701, update icu, remove older versions --- recipes/re2/all/conandata.yml | 15 +++------------ recipes/re2/all/conanfile.py | 2 +- recipes/re2/config.yml | 10 ++-------- 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/recipes/re2/all/conandata.yml b/recipes/re2/all/conandata.yml index bc9a3a910cce5..6705ed6ddc2fa 100644 --- a/recipes/re2/all/conandata.yml +++ b/recipes/re2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20230701": + url: "https://github.com/google/re2/releases/download/2023-07-01/re2-2023-07-01.tar.gz" + sha256: "18cf85922e27fad3ed9c96a27733037da445f35eb1a2744c306a37c6d11e95c4" "20230602": url: "https://github.com/google/re2/releases/download/2023-06-02/re2-2023-06-02.tar.gz" sha256: "4ccdd5aafaa1bcc24181e6dd3581c3eee0354734bb9f3cb4306273ffa434b94f" @@ -23,15 +26,3 @@ sources: "20210901": url: "https://github.com/google/re2/archive/refs/tags/2021-09-01.tar.gz" sha256: "42a2e1d56b5de252f5d418dc1cc0848e9e52ca22b056453988b18c6195ec7f8d" - "20210601": - url: "https://github.com/google/re2/archive/refs/tags/2021-06-01.tar.gz" - sha256: "26155e050b10b5969e986dab35654247a3b1b295e0532880b5a9c13c0a700ceb" - "20210401": - url: "https://github.com/google/re2/archive/refs/tags/2021-04-01.tar.gz" - sha256: "358aedf71dbf26506848905f5d4417b7adba5cf44d3bbcf70bf4ef68ccb0871e" - "20210202": - url: "https://github.com/google/re2/archive/2021-02-02.tar.gz" - sha256: "1396ab50c06c1a8885fb68bf49a5ecfd989163015fd96699a180d6414937f33f" - "20201101": - url: "https://github.com/google/re2/archive/2020-11-01.tar.gz" - sha256: "8903cc66c9d34c72e2bc91722288ebc7e3ec37787ecfef44d204b2d6281954d7" diff --git a/recipes/re2/all/conanfile.py b/recipes/re2/all/conanfile.py index ca615ecb2c5f0..b0f960a2c6e3c 100644 --- a/recipes/re2/all/conanfile.py +++ b/recipes/re2/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_icu"): - self.requires("icu/73.1") + self.requires("icu/73.2") if Version(self.version) >= "20230601": self.requires("abseil/20230125.3", transitive_headers=True) diff --git a/recipes/re2/config.yml b/recipes/re2/config.yml index 6ecf995b443ac..4d4c9dcf9a641 100644 --- a/recipes/re2/config.yml +++ b/recipes/re2/config.yml @@ -1,4 +1,6 @@ versions: + "20230701": + folder: all "20230602": folder: all "20230301": @@ -15,11 +17,3 @@ versions: folder: all "20210901": folder: all - "20210601": - folder: all - "20210401": - folder: all - "20210202": - folder: all - "20201101": - folder: all From 7dbff93fc3acd0c91d79ce0cab8e60b1737616a9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 09:25:18 +0300 Subject: [PATCH 0997/4087] (#18181) archicad-apidevkit: add package_type, adjust package_id * archicad-apidevkit: add package_type, adjust package_id * archicad-apidevkit: remove redundant Visual Studio check --- recipes/archicad-apidevkit/all/conanfile.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/recipes/archicad-apidevkit/all/conanfile.py b/recipes/archicad-apidevkit/all/conanfile.py index 55e0ec99e9a6b..2cdfa85c58927 100644 --- a/recipes/archicad-apidevkit/all/conanfile.py +++ b/recipes/archicad-apidevkit/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.files import copy, get +from conan.tools.layout import basic_layout from conan.tools.microsoft import check_min_vs, is_msvc -from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration import os @@ -14,11 +14,20 @@ class ArchicadApidevkitConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://archicadapi.graphisoft.com/" license = "LicenseRef-LICENSE" - settings = "os", "compiler", "arch", "build_type" + topics = ("api", "archicad", "development", "pre-built") + + package_type = "application" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - topics = "api", "archicad", "development" short_paths = True + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type + def validate(self): if self.settings.build_type == "Debug": raise ConanInvalidConfiguration("Debug configuration is not supported") @@ -31,9 +40,6 @@ def validate(self): if not str(self.settings.arch) in ("x86_64"): raise ConanInvalidConfiguration( f"{self.ref} is not supported yet.") - if self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version) < "16": - raise ConanInvalidConfiguration( - "This recipe does not support this compiler version") def build(self): devkit, licenses = self.conan_data["sources"][self.version][str(self.settings.os)][str(self.settings.arch)] From 9e90d35a50a66056d570c72506dcff65c9185719 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Fri, 21 Jul 2023 08:48:43 +0200 Subject: [PATCH 0998/4087] (#18313) turtle: fix lib/bindirs * turtle: fix lib/bindirs * turtle: package_id -> package_info --- recipes/turtle/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/turtle/all/conanfile.py b/recipes/turtle/all/conanfile.py index a032a9c58db93..1f12c41eb77c7 100644 --- a/recipes/turtle/all/conanfile.py +++ b/recipes/turtle/all/conanfile.py @@ -25,6 +25,10 @@ def requirements(self): def package_id(self): self.info.clear() + def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 85775aa79a46487156b6f7414e462857e7364f4e Mon Sep 17 00:00:00 2001 From: krabbstek Date: Fri, 21 Jul 2023 09:30:13 +0200 Subject: [PATCH 0999/4087] (#18753) Added cmake 3.27 --- 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 b8c5dfe2bfbee..c9e3ccde2563d 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.0": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.0-linux-aarch64.tar.gz" + sha256: "97c2f8cf9e063a7acf9f15ed472d87c511bf5cb62d3e42b9c90524fb0c2e4748" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.0-linux-x86_64.tar.gz" + sha256: "89c7e74d29f442e4734954310e09dd12d13636991f2d90d0ed1bececb8bf9b9c" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.0-macos10.10-universal.tar.gz" + sha256: "dd9a7a8d5bd7d20b694eda8ff9c31147a5e1faa3bca1099836cfa0f81f8d5809" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.0-windows-arm64.zip" + sha256: "9345cbbb25cb5e8f3c68db067151a013c628783edbfc6fcf622ae58900aa8ad3" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.0-windows-x86_64.zip" + sha256: "fc5f901ef4d438eafbe35b24c608d5de11e517f157b3b7ab8ebbaa7c3c0171d2" "3.26.4": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 174b2ccab0551..0ed8eb6281e81 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -15,3 +15,5 @@ versions: folder: "binary" "3.26.4": folder: "binary" + "3.27.0": + folder: "binary" From 3dde02d48d85f36ec93bda899c30eee5a6b6713f Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Fri, 21 Jul 2023 01:07:04 -0700 Subject: [PATCH 1000/4087] (#18606) restinio: bump standalone asio & remove older versions --- recipes/restinio/all/conandata.yml | 27 --------------------------- recipes/restinio/all/conanfile.py | 17 +++-------------- recipes/restinio/config.yml | 18 ------------------ 3 files changed, 3 insertions(+), 59 deletions(-) diff --git a/recipes/restinio/all/conandata.yml b/recipes/restinio/all/conandata.yml index 8eaf747a395e3..ad2cb8100089c 100644 --- a/recipes/restinio/all/conandata.yml +++ b/recipes/restinio/all/conandata.yml @@ -8,30 +8,3 @@ sources: "0.6.16": url: "https://github.com/Stiffstream/restinio/archive/v.0.6.16.tar.gz" sha256: "b3208d746087ba979f51b3a32e08463718c33d58720247d53ffb5bda99f4f92a" - "0.6.15": - url: "https://github.com/Stiffstream/restinio/archive/v.0.6.15.tar.gz" - sha256: "5977e7a21064a42dc690a644adc7ba03037eb4007bfbc36586faf715583967bd" - "0.6.14": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.14.tar.gz - sha256: 9742c051e7199d826697f86e6ba4a9fcb7f00c71a408b5c172134b2206404c4e - "0.6.13": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.13.tar.gz - sha256: 72d7ad40c8d34e69cd79f42145b4059e8a7356114fb13864c3c0ad5a5607b44f - "0.6.12": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.12.tar.gz - sha256: 7176d608afb8e5cd29eec2216e747be262215f5b3ab3df2b3c86e691f1cec79e - "0.6.11": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.11.tar.gz - sha256: 66c25c19efd9dc9683d60f540e9ac09b66245c5afde096fc05ec69cbb502fc5d - "0.6.10": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.10.tar.gz - sha256: dc9cad7e19f1bc255532cee53ab2027c93108c79e27f9fbe971f3ea0b10274a5 - "0.6.9": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.9.tar.gz - sha256: fcb05e15a346b4ff27757b89741289864f82f71affe61364325ce70dddefe31f - "0.6.8.1": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.8.1.tar.gz - sha256: 6a365ce645fc7188c287602886eba1a99c797e01b734f0c69bcb370b3494b54c - "0.6.8": - url: https://github.com/Stiffstream/restinio/archive/v.0.6.8.tar.gz - sha256: 92ab0faa9f9de582df787e133acf5c10fb6ab7cecbd96c128997554d8ceda0cd diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index 3d82682de5578..e65bd0d3bc7f9 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -38,27 +38,16 @@ def layout(self): def requirements(self): self.requires("http_parser/2.9.4") - - if Version(self.version) >= "0.6.16": - self.requires("fmt/10.0.0") - else: - self.requires("fmt/8.1.1") - + self.requires("fmt/10.0.0") self.requires("expected-lite/0.6.3") self.requires("optional-lite/3.5.0") self.requires("string-view-lite/1.7.0") self.requires("variant-lite/2.0.0") if self.options.asio == "standalone": - if Version(self.version) >= "0.6.9": - self.requires("asio/1.22.1") - else: - self.requires("asio/1.16.1") + self.requires("asio/1.28.0") else: - if Version(self.version) >= "0.6.9": - self.requires("boost/1.82.0") - else: - self.requires("boost/1.73.0") + self.requires("boost/1.82.0") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml index c650402f2c503..517f51717a3a8 100644 --- a/recipes/restinio/config.yml +++ b/recipes/restinio/config.yml @@ -5,21 +5,3 @@ versions: folder: all "0.6.16": folder: all - "0.6.15": - folder: all - "0.6.14": - folder: all - "0.6.13": - folder: all - "0.6.12": - folder: all - "0.6.11": - folder: all - "0.6.10": - folder: all - "0.6.9": - folder: all - "0.6.8.1": - folder: all - "0.6.8": - folder: all From 74400fb6d7baef609215ae58f9b1d232b1c9950e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 11:52:31 +0300 Subject: [PATCH 1001/4087] (#18682) cn-cbor: migrate to Conan v2 --- recipes/cn-cbor/all/CMakeLists.txt | 7 -- recipes/cn-cbor/all/conanfile.py | 83 +++++++++---------- .../cn-cbor/all/test_package/CMakeLists.txt | 9 +- recipes/cn-cbor/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../cn-cbor/all/test_v1_package/conanfile.py | 18 ++++ 6 files changed, 85 insertions(+), 62 deletions(-) delete mode 100644 recipes/cn-cbor/all/CMakeLists.txt create mode 100644 recipes/cn-cbor/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cn-cbor/all/test_v1_package/conanfile.py diff --git a/recipes/cn-cbor/all/CMakeLists.txt b/recipes/cn-cbor/all/CMakeLists.txt deleted file mode 100644 index 361b35d4c17d9..0000000000000 --- a/recipes/cn-cbor/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/cn-cbor/all/conanfile.py b/recipes/cn-cbor/all/conanfile.py index 74e90a06cc919..91eccd3167699 100644 --- a/recipes/cn-cbor/all/conanfile.py +++ b/recipes/cn-cbor/all/conanfile.py @@ -1,82 +1,79 @@ import os -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir + +required_conan_version = ">=1.53.0" class CnCborStackConan(ConanFile): name = "cn-cbor" + description = "A constrained node implementation of CBOR in C" license = "MIT" - homepage = "https://github.com/jimsch/cn-cbor/" url = "https://github.com/conan-io/conan-center-index" - description = "A constrained node implementation of CBOR in C" - topics = "cbor", "nodes", "messaging" - exports_sources = ['CMakeLists.txt'] - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/jimsch/cn-cbor/" + topics = ("cbor", "nodes", "messaging") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - generators = "cmake", "cmake_find_package" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("Windows shared builds are not supported right now") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["fatal_warnings"] = False - self._cmake.definitions["coveralls"] = False - self._cmake.definitions["build_tests"] = False - self._cmake.definitions["build_docs"] = False - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["fatal_warnings"] = False + tc.variables["coveralls"] = False + tc.variables["build_tests"] = False + tc.variables["build_docs"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() os.remove(os.path.join(self.package_folder, "README.md")) os.remove(os.path.join(self.package_folder, "LICENSE")) - 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, "lib", "cn-cbor", "cmake")) + 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, "lib", "cn-cbor", "cmake")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ["cn-cbor"] if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] diff --git a/recipes/cn-cbor/all/test_package/CMakeLists.txt b/recipes/cn-cbor/all/test_package/CMakeLists.txt index 33ae887aa6aea..50e6a7de0b4ea 100644 --- a/recipes/cn-cbor/all/test_package/CMakeLists.txt +++ b/recipes/cn-cbor/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(cn-cbor REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE cn-cbor::cn-cbor) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/cn-cbor/all/test_package/conanfile.py b/recipes/cn-cbor/all/test_package/conanfile.py index 933dbf96533ae..fae501d0afb9e 100644 --- a/recipes/cn-cbor/all/test_package/conanfile.py +++ b/recipes/cn-cbor/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" + test_type = "explicit" -class TestConan(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.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = 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/cn-cbor/all/test_v1_package/CMakeLists.txt b/recipes/cn-cbor/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cn-cbor/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/cn-cbor/all/test_v1_package/conanfile.py b/recipes/cn-cbor/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9de3689208f00 --- /dev/null +++ b/recipes/cn-cbor/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + bin_path = self.run(bin_path, run_environment=True) From 506f3b287cb4c8d051d9b85a98a2b9df5f2b299a Mon Sep 17 00:00:00 2001 From: Quentin Chateau Date: Fri, 21 Jul 2023 11:32:52 +0200 Subject: [PATCH 1002/4087] (#18773) aeron: add version 1.41.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) --- recipes/aeron/all/conandata.yml | 3 +++ recipes/aeron/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aeron/all/conandata.yml b/recipes/aeron/all/conandata.yml index a888d0c721120..c3ee6521cf6a5 100644 --- a/recipes/aeron/all/conandata.yml +++ b/recipes/aeron/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.41.4": + url: "https://github.com/real-logic/aeron/archive/1.41.4.tar.gz" + sha256: "681e2a045ca04672612b6edeb7a09c0d574e12c6875cfe26f677b12772d71ad5" "1.35.1": url: "https://github.com/real-logic/aeron/archive/1.35.1.tar.gz" sha256: "19b0f27c2cbc27b422e26a533e4a04a60592217e1c70fdbdd48a92a7b932cccb" diff --git a/recipes/aeron/config.yml b/recipes/aeron/config.yml index 0c20e51036f8b..9f6aea7a8f54b 100644 --- a/recipes/aeron/config.yml +++ b/recipes/aeron/config.yml @@ -1,4 +1,6 @@ versions: + "1.41.4": + folder: all "1.35.1": folder: all "1.34.0": From c8d2cf559a7b7114cefc8ffbe3c9c26fc208a5de Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 21 Jul 2023 13:22:23 +0200 Subject: [PATCH 1003/4087] (#18718) [bot] Update authorized users list (2023-07-20) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index bb46de7b8ad44..f24e1eb3d8a3a 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1201,3 +1201,5 @@ authorized_users: - klausholstjacobsen - xahon - jeremy-rifkin +- Christian-Prather +- Siarh199 From c5013168c3270993bdd4b1a19b07bc3f63e39931 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Fri, 21 Jul 2023 14:58:00 +0300 Subject: [PATCH 1004/4087] (#18675) snappy: add with_bmi2 and with_ssse3 options * add options * fix --- recipes/snappy/all/conanfile.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/recipes/snappy/all/conanfile.py b/recipes/snappy/all/conanfile.py index 0ce00288cff64..d60c824527335 100644 --- a/recipes/snappy/all/conanfile.py +++ b/recipes/snappy/all/conanfile.py @@ -21,10 +21,14 @@ class SnappyConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_bmi2": [True, False, "auto"], + "with_ssse3": [True, False, "auto"], } default_options = { "shared": False, "fPIC": True, + "with_bmi2": "auto", + "with_ssse3": "auto", } def export_sources(self): @@ -33,6 +37,9 @@ def export_sources(self): def config_options(self): if self.settings.os == 'Windows': del self.options.fPIC + if self.settings.arch not in ["x86", "x86_64"]: + del self.options.with_bmi2 + del self.options.with_ssse3 def configure(self): if self.options.shared: @@ -60,6 +67,11 @@ def generate(self): tc.variables["SNAPPY_INSTALL"] = True if Version(self.version) >= "1.1.9": tc.variables["SNAPPY_BUILD_BENCHMARKS"] = False + if self.settings.arch in ["x86", "x86_64"]: + if self.options.with_bmi2 != "auto": + tc.variables["SNAPPY_HAVE_BMI2"] = self.options.with_bmi2 + if self.options.with_ssse3 != "auto": + tc.variables["SNAPPY_HAVE_SSSE3"] = self.options.with_ssse3 tc.generate() def build(self): From c3500e48c3f3d02dac0df140fe387b2a12958d1b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 15:53:39 +0300 Subject: [PATCH 1005/4087] (#18345) pybind11_json: migrate to Conan v2 * pybind11_json: migrate to Conan v2 * pybind11_json: restore test_v1_package * pybind11_json: fix v1 support in test --- recipes/pybind11_json/all/conanfile.py | 59 +++++++++---------- .../all/test_package/CMakeLists.txt | 10 ++-- .../all/test_package/conanfile.py | 21 +++++-- .../all/test_package/test_package.cpp | 4 +- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 ++++++ 6 files changed, 75 insertions(+), 44 deletions(-) create mode 100644 recipes/pybind11_json/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pybind11_json/all/test_v1_package/conanfile.py diff --git a/recipes/pybind11_json/all/conanfile.py b/recipes/pybind11_json/all/conanfile.py index 4c4feedd8416a..829dedced7271 100644 --- a/recipes/pybind11_json/all/conanfile.py +++ b/recipes/pybind11_json/all/conanfile.py @@ -1,48 +1,47 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class Pybind11JsonConan(ConanFile): name = "pybind11_json" - homepage = "https://github.com/pybind/pybind11_json" description = "An nlohmann_json to pybind11 bridge" - topics = ( - "conan", - "header-only", - "json", - "nlohmann_json", - "pybind11", - "pybind11_json", - "python", - "python-binding", - ) - url = "https://github.com/conan-io/conan-center-index" - no_copy_source = True license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/pybind/pybind11_json" + topics = ("header-only", "json", "nlohmann_json", "pybind11", "pybind11_json", "python", "python-binding") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - def package_id(self): - self.info.header_only() + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.9.1") - self.requires("pybind11/2.6.2") + self.requires("nlohmann_json/3.11.2") + self.requires("pybind11/2.10.4") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE*", src=self._source_subfolder, dst="licenses") - self.copy( - "*", dst="include", src=os.path.join(self._source_subfolder, "include") - ) + copy(self, "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + 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.names["cmake_find_package"] = "pybind11_json" - self.cpp_info.names["cmake_find_package_multi"] = "pybind11_json" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_target_aliases", ["pybind11_json"]) diff --git a/recipes/pybind11_json/all/test_package/CMakeLists.txt b/recipes/pybind11_json/all/test_package/CMakeLists.txt index d1ca457a18f13..f795a0bec7158 100644 --- a/recipes/pybind11_json/all/test_package/CMakeLists.txt +++ b/recipes/pybind11_json/all/test_package/CMakeLists.txt @@ -1,12 +1,10 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) find_package(pybind11_json REQUIRED CONFIG) add_executable(test_package test_package.cpp) -target_link_libraries(test_package PUBLIC pybind11_json::pybind11_json) # FIXME: target should be pybind11_json + # FIXME: target should be pybind11_json, replace once Conan v1 has been dropped +target_link_libraries(test_package PUBLIC pybind11_json::pybind11_json) diff --git a/recipes/pybind11_json/all/test_package/conanfile.py b/recipes/pybind11_json/all/test_package/conanfile.py index 7e2dfe859bb27..fae501d0afb9e 100644 --- a/recipes/pybind11_json/all/test_package/conanfile.py +++ b/recipes/pybind11_json/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" + 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/pybind11_json/all/test_package/test_package.cpp b/recipes/pybind11_json/all/test_package/test_package.cpp index 1e50fae0cd666..2ebca6ab52bbd 100644 --- a/recipes/pybind11_json/all/test_package/test_package.cpp +++ b/recipes/pybind11_json/all/test_package/test_package.cpp @@ -17,10 +17,10 @@ int main() { py::scoped_interpreter guard{}; const py::dict original_py_dict{"number"_a=1234, "hello"_a="world"}; - + const nl::json converted_nl_json{original_py_dict}; std::cout << "Converted nlohmann::json contents: " << converted_nl_json << std::endl; - + const py::dict converted_py_dict = converted_nl_json.front(); // assigning the only list element std::cout << "Converted py::dict contents: {hello:" << converted_py_dict["hello"].cast() diff --git a/recipes/pybind11_json/all/test_v1_package/CMakeLists.txt b/recipes/pybind11_json/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pybind11_json/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/pybind11_json/all/test_v1_package/conanfile.py b/recipes/pybind11_json/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/pybind11_json/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) From 4c4bf4e2258cb887d52480782932a3e0a0630de1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 16:29:14 +0300 Subject: [PATCH 1006/4087] (#18347) tiny-dnn: migrate to Conan v2 * tiny-dnn: migrate to Conan v2 * tiny-dnn: restore test_v1_package * tiny-dnn: add msvc version, drop questionable comment --- recipes/tiny-dnn/all/CMakeLists.txt | 7 -- recipes/tiny-dnn/all/conanfile.py | 92 ++++++++++--------- .../tiny-dnn/all/test_package/CMakeLists.txt | 5 +- .../tiny-dnn/all/test_package/conanfile.py | 19 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../tiny-dnn/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 87 insertions(+), 61 deletions(-) delete mode 100644 recipes/tiny-dnn/all/CMakeLists.txt create mode 100644 recipes/tiny-dnn/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tiny-dnn/all/test_v1_package/conanfile.py diff --git a/recipes/tiny-dnn/all/CMakeLists.txt b/recipes/tiny-dnn/all/CMakeLists.txt deleted file mode 100644 index b71c882d9d33f..0000000000000 --- a/recipes/tiny-dnn/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/tiny-dnn/all/conanfile.py b/recipes/tiny-dnn/all/conanfile.py index b3a57165d52a3..d88cf7b9a6e9e 100644 --- a/recipes/tiny-dnn/all/conanfile.py +++ b/recipes/tiny-dnn/all/conanfile.py @@ -1,35 +1,28 @@ -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 copy, get, replace_in_file, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class TinyDnnConan(ConanFile): name = "tiny-dnn" + description = "tiny-dnn is a C++14 implementation of deep learning." license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tiny-dnn/tiny-dnn" - description = "tiny-dnn is a C++14 implementation of deep learning." topics = ("header-only", "deep-learning", "embedded", "iot", "computational") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - options = { - "with_tbb": [True, False], - } - default_options = { - "with_tbb": False, - } - - exports_sources = "CMakeLists.txt" - # TODO: if you move this recipe to CMakeDeps, be aware that tiny-dnn - # relies on CMake variables which are not defined in CMakeDeps, only - # in cmake_find_package. So patch it before. - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" + options = {"with_tbb": [True, False]} + default_options = {"with_tbb": False} + no_copy_source = True @property def _min_cppstd(self): @@ -41,58 +34,71 @@ def _min_compilers_version(self): "gcc": "5", "clang": "3.4", "apple-clang": "10", - "Visual Studio": "14" + "msvc": "190", + "Visual Studio": "14", } + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): self.requires("cereal/1.3.1") self.requires("stb/cci.20210713") if self.options.with_tbb: self.requires("onetbb/2020.3") + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._min_cppstd) + check_min_cppstd(self, self._min_cppstd) compiler = str(self.settings.compiler) - version = tools.Version(self.settings.compiler.version) + version = Version(self.settings.compiler.version) if compiler in self._min_compilers_version and version < self._min_compilers_version[compiler]: - raise ConanInvalidConfiguration( - "{} requires a compiler that supports at least C++{}".format( - self.name, self._min_cppstd, - ) - ) - - def package_id(self): - self.info.header_only() + raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") 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["USE_TBB"] = self.options.with_tbb + tc.variables["USE_GEMMLOWP"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - tools.replace_in_file( - os.path.join(self._source_subfolder, "tiny_dnn", "util", "image.h"), - "third_party/", "", - ) + replace_in_file(self, + os.path.join(self.source_folder, "tiny_dnn", "util", "image.h"), + "third_party/", "") def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) cmake = CMake(self) - cmake.definitions["USE_TBB"] = self.options.with_tbb - cmake.definitions["USE_GEMMLOWP"] = False cmake.configure() cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "tinydnn") self.cpp_info.set_property("cmake_target_name", "TinyDNN::tiny_dnn") + # TODO: back to global scope in conan v2 once cmake_find_package* generators removed + self.cpp_info.components["tinydnn"].set_property("cmake_target_name", "TinyDNN::tiny_dnn") + self.cpp_info.components["tinydnn"].requires = ["cereal::cereal", "stb::stb"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["tinydnn"].system_libs = ["pthread"] if self.options.with_tbb: self.cpp_info.components["tinydnn"].defines = ["CNN_USE_TBB=1"] + self.cpp_info.components["tinydnn"].requires.append("onetbb::onetbb") # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tinydnn" @@ -101,7 +107,3 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "TinyDNN" self.cpp_info.components["tinydnn"].names["cmake_find_package"] = "tiny_dnn" self.cpp_info.components["tinydnn"].names["cmake_find_package_multi"] = "tiny_dnn" - self.cpp_info.components["tinydnn"].set_property("cmake_target_name", "TinyDNN::tiny_dnn") - self.cpp_info.components["tinydnn"].requires = ["cereal::cereal", "stb::stb"] - if self.options.with_tbb: - self.cpp_info.components["tinydnn"].requires.append("onetbb::onetbb") diff --git a/recipes/tiny-dnn/all/test_package/CMakeLists.txt b/recipes/tiny-dnn/all/test_package/CMakeLists.txt index e2d99200a80ab..efce3e2e31902 100644 --- a/recipes/tiny-dnn/all/test_package/CMakeLists.txt +++ b/recipes/tiny-dnn/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(tinydnn REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/tiny-dnn/all/test_package/conanfile.py b/recipes/tiny-dnn/all/test_package/conanfile.py index 38f4483872d47..fae501d0afb9e 100644 --- a/recipes/tiny-dnn/all/test_package/conanfile.py +++ b/recipes/tiny-dnn/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" + 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/tiny-dnn/all/test_v1_package/CMakeLists.txt b/recipes/tiny-dnn/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tiny-dnn/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/tiny-dnn/all/test_v1_package/conanfile.py b/recipes/tiny-dnn/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/tiny-dnn/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 8e2d581d6315808b9e568a7b0b5b74c99701c4a9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 17:07:48 +0300 Subject: [PATCH 1007/4087] (#18705) marisa: migrate to Conan v2 --- recipes/marisa/all/CMakeLists.txt | 7 -- recipes/marisa/all/conandata.yml | 1 - recipes/marisa/all/conanfile.py | 75 ++++++++----------- .../marisa/all/test_package/CMakeLists.txt | 5 +- recipes/marisa/all/test_package/conanfile.py | 22 ++++-- .../marisa/all/test_package/test_package.cpp | 2 +- .../marisa/all/test_v1_package/CMakeLists.txt | 8 ++ .../marisa/all/test_v1_package/conanfile.py | 18 +++++ 8 files changed, 76 insertions(+), 62 deletions(-) delete mode 100644 recipes/marisa/all/CMakeLists.txt create mode 100644 recipes/marisa/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/marisa/all/test_v1_package/conanfile.py diff --git a/recipes/marisa/all/CMakeLists.txt b/recipes/marisa/all/CMakeLists.txt deleted file mode 100644 index 84887fbda2ddf..0000000000000 --- a/recipes/marisa/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/marisa/all/conandata.yml b/recipes/marisa/all/conandata.yml index 087e45138b499..6f5b0ae3b7c45 100644 --- a/recipes/marisa/all/conandata.yml +++ b/recipes/marisa/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "0.2.6": - patch_file: "patches/0001-add-cmake.patch" - base_path: "source_subfolder" diff --git a/recipes/marisa/all/conanfile.py b/recipes/marisa/all/conanfile.py index 13b534d613bd9..05b8f1775310a 100644 --- a/recipes/marisa/all/conanfile.py +++ b/recipes/marisa/all/conanfile.py @@ -1,20 +1,22 @@ import os -from conan import ConanFile, tools -from conan.tools.files import apply_conandata_patches -from conans import CMake -required_conan_version = ">=1.45.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir + +required_conan_version = ">=1.53.0" class MarisaConan(ConanFile): name = "marisa" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/s-yata/marisa-trie" description = "Matching Algorithm with Recursively Implemented StorAge " license = ("BSD-2-Clause", "LGPL-2.1") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/s-yata/marisa-trie" topics = ("algorithm", "dictionary", "marisa") - exports_sources = "patches/**", "CMakeLists.txt" - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -26,16 +28,8 @@ class MarisaConan(ConanFile): "tools": True, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -43,45 +37,42 @@ 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 source(self): - tools.files.get(**self.conan_data["sources"][self.version], - conanfile=self, destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def layout(self): + cmake_layout(self, src_folder="src") - self._cmake.definitions["BUILD_TOOLS"] = self.options.tools + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TOOLS"] = self.options.tools + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): apply_conandata_patches(self) - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="COPYING.md", dst="licenses", - src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, pattern="COPYING.md", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.files.rmdir(self, os.path.join( - self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "marisa" - self.cpp_info.names["cmake_find_package_multi"] = "marisa" - self.cpp_info.names["pkgconfig"] = "marisa" + self.cpp_info.set_property("pkg_config_name", "marisa") self.cpp_info.libs = ["marisa"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") self.output.info(f"Appending PATH env var with : '{bin_path}'") self.env_info.PATH.append(bin_path) diff --git a/recipes/marisa/all/test_package/CMakeLists.txt b/recipes/marisa/all/test_package/CMakeLists.txt index 9bae1c0958b76..8f42c91d450ee 100644 --- a/recipes/marisa/all/test_package/CMakeLists.txt +++ b/recipes/marisa/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(marisa REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/marisa/all/test_package/conanfile.py b/recipes/marisa/all/test_package/conanfile.py index 251bf8ae3e3dd..fae501d0afb9e 100644 --- a/recipes/marisa/all/test_package/conanfile.py +++ b/recipes/marisa/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 CMake, ConanFile, tools -from conan.tools.build import cross_building class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/marisa/all/test_package/test_package.cpp b/recipes/marisa/all/test_package/test_package.cpp index ba90951dd5e1b..5180045c1a180 100644 --- a/recipes/marisa/all/test_package/test_package.cpp +++ b/recipes/marisa/all/test_package/test_package.cpp @@ -1,6 +1,6 @@ -#include #include "marisa.h" +#include int main() { int x = 100; diff --git a/recipes/marisa/all/test_v1_package/CMakeLists.txt b/recipes/marisa/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/marisa/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/marisa/all/test_v1_package/conanfile.py b/recipes/marisa/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..251bf8ae3e3dd --- /dev/null +++ b/recipes/marisa/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os +from conans import CMake, ConanFile, tools +from conan.tools.build import cross_building + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From bed40ca0a7eb45a7b1c8882ef4be2c79b48563b0 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 21 Jul 2023 23:50:40 +0900 Subject: [PATCH 1008/4087] (#18677) libcurl: add version 8.2.0, update libnghttp2, remove older versions * libcurl: add version 8.2.0, update libnghttp2 * fix brotli patch --- recipes/libcurl/all/conandata.yml | 9 +++------ recipes/libcurl/all/conanfile.py | 5 +++-- recipes/libcurl/config.yml | 6 ++---- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index ed67365a84b81..fa48006c6d92f 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.2.0": + url: "https://curl.se/download/curl-8.2.0.tar.gz" + sha256: "c67849462d171a3fee08b605cdd837d18ee22ecc3ee2c6a0393c9cec5d1a137e" "8.1.2": url: "https://curl.se/download/curl-8.1.2.tar.gz" sha256: "2e5a9b8fcdc095bdd2f079561f369de71c5eb3b80f00a702fbe9a8b8d9897891" @@ -38,9 +41,3 @@ sources: "7.78.0": url: "https://curl.se/download/curl-7.78.0.tar.gz" sha256: "ed936c0b02c06d42cf84b39dd12bb14b62d77c7c4e875ade022280df5dcc81d7" - "7.77.0": - url: "https://curl.se/download/curl-7.77.0.tar.gz" - sha256: "b0a3428acb60fa59044c4d0baae4e4fc09ae9af1d8a3aa84b2e3fbcd99841f77" - "7.76.0": - url: "https://curl.se/download/curl-7.76.0.tar.gz" - sha256: "3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 6fc552c1f2f77..85bc4477130be 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -185,7 +185,7 @@ def requirements(self): elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.6.3") if self.options.with_nghttp2: - self.requires("libnghttp2/1.54.0") + self.requires("libnghttp2/1.55.1") if self.options.with_libssh2: self.requires("libssh2/1.11.0") if self.options.with_zlib: @@ -334,7 +334,8 @@ def _patch_cmake(self): "include(CurlSymbolHiding)", "") # brotli - replace_in_file(self, cmakelists, "find_package(Brotli QUIET)", "find_package(brotli REQUIRED CONFIG)") + if Version(self.version) < "8.2.0": + replace_in_file(self, cmakelists, "find_package(Brotli QUIET)", "find_package(brotli REQUIRED CONFIG)") replace_in_file(self, cmakelists, "if(BROTLI_FOUND)", "if(brotli_FOUND)") replace_in_file(self, cmakelists, "${BROTLI_LIBRARIES}", "brotli::brotli") replace_in_file(self, cmakelists, "${BROTLI_INCLUDE_DIRS}", "${brotli_INCLUDE_DIRS}") diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index cb27832872bdf..29dfe667599fa 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.2.0": + folder: all "8.1.2": folder: all "8.1.1": @@ -25,7 +27,3 @@ versions: folder: all "7.78.0": folder: all - "7.77.0": - folder: all - "7.76.0": - folder: all From 0b168024b30a5e0ce5c7ac551a38a63308ed92e3 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 22 Jul 2023 02:12:02 +0900 Subject: [PATCH 1009/4087] (#18712) etl: add version 20.37.2, remove older versions --- recipes/etl/all/conandata.yml | 9 +++------ recipes/etl/config.yml | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index d02bdeabb7ddb..716bd8799f7d5 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.37.2": + url: "https://github.com/ETLCPP/etl/archive/20.37.2.tar.gz" + sha256: "13bd5d9d1bfbc887e3182895ca0291df0008a1c5770ddd12ef6cd2215c2bc6af" "20.37.1": url: "https://github.com/ETLCPP/etl/archive/20.37.1.tar.gz" sha256: "73c29678e478eca9243c1d0c98e727a2249a7973d1429a847c669bccc65dca88" @@ -23,9 +26,3 @@ sources: "20.34.0": url: "https://github.com/ETLCPP/etl/archive/20.34.0.tar.gz" sha256: "56e25968f20167a161ee50c3eecda3daa91f696660ba59654c1afd22e502c465" - "20.33.0": - url: "https://github.com/ETLCPP/etl/archive/20.33.0.tar.gz" - sha256: "46068e44cc3cbd626fc8adc5344101b4654c675b9a5faec0c80989176419cd7d" - "20.32.1": - url: "https://github.com/ETLCPP/etl/archive/20.32.1.tar.gz" - sha256: "f39c8ccf33190303946dbcb2b251c86b4516234f57e0e87b83c0a28a1bdb059d" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 587b12dc52899..b1fd5bf4caa62 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.37.2": + folder: all "20.37.1": folder: all "20.37.0": @@ -15,7 +17,3 @@ versions: folder: all "20.34.0": folder: all - "20.33.0": - folder: all - "20.32.1": - folder: all From bab9d5518f12717380651becf469f26fec1a8bac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 21 Jul 2023 21:10:50 +0300 Subject: [PATCH 1010/4087] (#18742) matio: migrate to Conan v2 --- recipes/matio/all/CMakeLists.txt | 7 -- recipes/matio/all/conandata.yml | 12 --- recipes/matio/all/conanfile.py | 98 ++++++++++--------- recipes/matio/all/test_package/CMakeLists.txt | 7 +- recipes/matio/all/test_package/conanfile.py | 25 +++-- .../matio/all/test_v1_package/CMakeLists.txt | 8 ++ .../matio/all/test_v1_package/conanfile.py | 17 ++++ 7 files changed, 96 insertions(+), 78 deletions(-) delete mode 100644 recipes/matio/all/CMakeLists.txt create mode 100644 recipes/matio/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/matio/all/test_v1_package/conanfile.py diff --git a/recipes/matio/all/CMakeLists.txt b/recipes/matio/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/matio/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/matio/all/conandata.yml b/recipes/matio/all/conandata.yml index 8a659653f91f9..fec43221cc62a 100644 --- a/recipes/matio/all/conandata.yml +++ b/recipes/matio/all/conandata.yml @@ -14,29 +14,17 @@ sources: patches: "1.5.18": - patch_file: "patches/require-cmake-3.10.patch" - base_path: "source_subfolder" - patch_file: "patches/disable-hdf5-target.patch" - base_path: "source_subfolder" - patch_file: "patches/patch-apple-no-undefined.patch" - base_path: "source_subfolder" - patch_file: "patches/cmake-install-bundle.patch" - base_path: "source_subfolder" "1.5.19": - patch_file: "patches/require-cmake-3.10.patch" - base_path: "source_subfolder" - patch_file: "patches/patch-apple-no-undefined.patch" - base_path: "source_subfolder" - patch_file: "patches/cmake-install-bundle.patch" - base_path: "source_subfolder" "1.5.21": - patch_file: "patches/require-cmake-3.10.patch" - base_path: "source_subfolder" - patch_file: "patches/patch-apple-no-undefined.patch" - base_path: "source_subfolder" - patch_file: "patches/cmake-install-bundle.patch" - base_path: "source_subfolder" "1.5.23": - patch_file: "patches/require-cmake-3.10.patch" - base_path: "source_subfolder" - patch_file: "patches/cmake-install-bundle.patch" - base_path: "source_subfolder" diff --git a/recipes/matio/all/conanfile.py b/recipes/matio/all/conanfile.py index 213dcdf0eba5b..127218a42d277 100644 --- a/recipes/matio/all/conanfile.py +++ b/recipes/matio/all/conanfile.py @@ -1,42 +1,43 @@ -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.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 MatioConan(ConanFile): name = "matio" + description = "Matio is a C library for reading and writing binary MATLAB MAT files." license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://sourceforge.net/projects/matio/" - description = "Matio is a C library for reading and writing binary MATLAB MAT files." - topics = ("conan", "matlab", "mat-file", "file-format", "hdf5") - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - exports_sources = "CMakeLists.txt", "patches/*" + topics = ("matlab", "mat-file", "file-format", "hdf5") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "extended_sparse": [True, False], "fPIC": [True, False], + "extended_sparse": [True, False], "mat73": [True, False], "with_hdf5": [True, False], "with_zlib": [True, False], } default_options = { "shared": False, - "extended_sparse": True, "fPIC": True, + "extended_sparse": True, "mat73": True, "with_hdf5": True, "with_zlib": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -44,61 +45,64 @@ 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): if self.options.with_hdf5: - self.requires("hdf5/1.12.1") + self.requires("hdf5/1.14.1") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") def validate(self): if not self.options.with_hdf5 and self.options.mat73: raise ConanInvalidConfiguration("Support of version 7.3 MAT files requires HDF5") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - self._cmake.definitions["MATIO_EXTENDED_SPARSE"] = self.options.extended_sparse - self._cmake.definitions["MATIO_PIC"] = self.options.get_safe("fPIC", True) - self._cmake.definitions["MATIO_SHARED"] = self.options.shared - self._cmake.definitions["MATIO_MAT73"] = self.options.mat73 - self._cmake.definitions["MATIO_WITH_HDF5"] = self.options.with_hdf5 - self._cmake.definitions["MATIO_WITH_ZLIB"] = self.options.with_zlib - self._cmake.definitions["HDF5_USE_STATIC_LIBRARIES"] = self.options.with_hdf5 and not self.options["hdf5"].shared - 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["MATIO_EXTENDED_SPARSE"] = self.options.extended_sparse + tc.variables["MATIO_PIC"] = self.options.get_safe("fPIC", True) + tc.variables["MATIO_SHARED"] = self.options.shared + tc.variables["MATIO_MAT73"] = self.options.mat73 + tc.variables["MATIO_WITH_HDF5"] = self.options.with_hdf5 + tc.variables["MATIO_WITH_ZLIB"] = self.options.with_zlib + tc.variables["HDF5_USE_STATIC_LIBRARIES"] = ( + self.options.with_hdf5 and not self.dependencies["hdf5"].options.shared + ) + tc.generate() + + tc = CMakeDeps(self) + tc.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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() def package_info(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self.cpp_info.libs = ["libmatio"] else: self.cpp_info.libs = ["matio"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] + # TODO: remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/matio/all/test_package/CMakeLists.txt b/recipes/matio/all/test_package/CMakeLists.txt index f8b971e2db377..e5b668ec22178 100644 --- a/recipes/matio/all/test_package/CMakeLists.txt +++ b/recipes/matio/all/test_package/CMakeLists.txt @@ -1,8 +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() +find_package(matio REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE matio::matio) diff --git a/recipes/matio/all/test_package/conanfile.py b/recipes/matio/all/test_package/conanfile.py index f96969845ae24..fae501d0afb9e 100644 --- a/recipes/matio/all/test_package/conanfile.py +++ b/recipes/matio/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools -import os.path +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os -class MatioTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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/matio/all/test_v1_package/CMakeLists.txt b/recipes/matio/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/matio/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/matio/all/test_v1_package/conanfile.py b/recipes/matio/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3053c8502b32d --- /dev/null +++ b/recipes/matio/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os.path + + +class MatioTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2034cf1f86e0db54356fbc63f910939223040104 Mon Sep 17 00:00:00 2001 From: Tobulus Date: Fri, 21 Jul 2023 21:28:32 +0200 Subject: [PATCH 1011/4087] (#18760) [libmnl] migrate to v2 * [libmnl] migrate to v2 * add package_type * fix indentation --- recipes/libmnl/all/conanfile.py | 58 +++++++++---------- .../libmnl/all/test_package/CMakeLists.txt | 5 +- recipes/libmnl/all/test_package/conanfile.py | 20 +++++-- 3 files changed, 42 insertions(+), 41 deletions(-) diff --git a/recipes/libmnl/all/conanfile.py b/recipes/libmnl/all/conanfile.py index 14628c1889b0d..4542e12fe1d34 100644 --- a/recipes/libmnl/all/conanfile.py +++ b/recipes/libmnl/all/conanfile.py @@ -1,8 +1,12 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.29.1" +from conan import ConanFile +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.files import copy, get, rmdir, rm +from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration + +required_conan_version = ">=1.53.0" class LibmnlConan(ConanFile): name = "libmnl" @@ -14,50 +18,40 @@ class LibmnlConan(ConanFile): settings = "os", "compiler", "build_type", "arch" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} - _autotools = None + package_type = "library" - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def configure(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("libmnl is only supported on Linux") if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - conf_args = [] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(configure_dir=self._source_subfolder, args=conf_args) - return self._autotools + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.libs = ["mnl"] diff --git a/recipes/libmnl/all/test_package/CMakeLists.txt b/recipes/libmnl/all/test_package/CMakeLists.txt index d4fdee1a8a79c..941d5b3d99ff8 100644 --- a/recipes/libmnl/all/test_package/CMakeLists.txt +++ b/recipes/libmnl/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libmnl REQUIRED) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example libmnl::libmnl) diff --git a/recipes/libmnl/all/test_package/conanfile.py b/recipes/libmnl/all/test_package/conanfile.py index 58e0d68615142..39ac1b7b50008 100644 --- a/recipes/libmnl/all/test_package/conanfile.py +++ b/recipes/libmnl/all/test_package/conanfile.py @@ -1,11 +1,19 @@ import os -from conans import ConanFile, CMake, tools - +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake class LibmnlTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -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.bindirs[0], "example") + self.run(bin_path, env="conanrun") From 1ff9e0af57141bb476c471cb07d0955570111b8c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 22 Jul 2023 05:32:06 +0900 Subject: [PATCH 1012/4087] (#18770) platform.hashing: add version 0.5.6 --- recipes/platform.hashing/all/conandata.yml | 3 +++ recipes/platform.hashing/all/conanfile.py | 6 ++++-- recipes/platform.hashing/config.yml | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/platform.hashing/all/conandata.yml b/recipes/platform.hashing/all/conandata.yml index c156d1c289438..f7e585564ab8a 100644 --- a/recipes/platform.hashing/all/conandata.yml +++ b/recipes/platform.hashing/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.6": + url: "https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.5.6.tar.gz" + sha256: "b387d772750eea2187ca7ca0651ddd701e8f2ef6eb8d86a6f8dfda00193a4123" "0.5.5": url: "https://github.com/linksplatform/Hashing/archive/refs/tags/cpp_0.5.5.tar.gz" sha256: "8155f1d0b18cfdad7b93f6c41aaabbe655c9f7ce6bfddb10eae86156cbff02cf" diff --git a/recipes/platform.hashing/all/conanfile.py b/recipes/platform.hashing/all/conanfile.py index 8e331fda1698f..bb49b80ef8c5e 100644 --- a/recipes/platform.hashing/all/conanfile.py +++ b/recipes/platform.hashing/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 apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.scm import Version from conan.tools.microsoft import is_msvc @@ -47,7 +47,9 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= "0.5.0": + if Version(self.version) >= "0.5.6": + self.requires("cpuinfo/cci.20220228", transitive_headers=True) + elif Version(self.version) >= "0.5.0": self.requires("cpu_features/0.8.0", transitive_headers=True) def package_id(self): diff --git a/recipes/platform.hashing/config.yml b/recipes/platform.hashing/config.yml index ee55970fe3a0b..4a9a6395456f8 100644 --- a/recipes/platform.hashing/config.yml +++ b/recipes/platform.hashing/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.6": + folder: all "0.5.5": folder: all "0.4.0": From 247c1aa28707633adf61ca29c89ff44b179e2be1 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 22 Jul 2023 14:30:20 +0200 Subject: [PATCH 1013/4087] (#18805) cairo/all: bump deps --- recipes/cairo/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cairo/all/conanfile.py b/recipes/cairo/all/conanfile.py index e1166eb30e7ea..1e8675e64a203 100644 --- a/recipes/cairo/all/conanfile.py +++ b/recipes/cairo/all/conanfile.py @@ -91,10 +91,10 @@ def requirements(self): if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system") if self.options.get_safe("with_glib", True): - self.requires("glib/2.76.2") + self.requires("glib/2.76.3") self.requires("zlib/1.2.13") self.requires("pixman/0.40.0") - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") def package_id(self): if self.options.get_safe("with_glib") and not self.dependencies["glib"].options.shared: From 0a504008f4c4d535d53a595c1113c5c9ce3a2d90 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Sat, 22 Jul 2023 16:04:58 +0200 Subject: [PATCH 1014/4087] (#18699) [bot] Update list of references (prod-v2/ListPackages) --- .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 24a3d8f44d647..d9f1bd61e113a 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -242,6 +242,7 @@ required_for_references: - embree3 - emio - enet +- enhex-generic_serialization - entityx - entt - enum-flags @@ -637,6 +638,7 @@ required_for_references: - picojson - pixman - pkgconf +- platform.delegates - platform.hashing - plutovg - poco @@ -659,6 +661,7 @@ required_for_references: - pystring - qhull - qpdf +- qt - quantlib - quaternions - quill From 0a58ce0309739ab2a9c52d79529f0b66df09ad4e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 23 Jul 2023 03:05:08 +0900 Subject: [PATCH 1015/4087] (#18153) st_tree: support conan v2 * st_tree: support conan v2 * Simplify st_tree Conan recipe The upstream cmake is very simple, only copies headers files to include folder. Plus, it has testing and install steps, but we can simplify a lot by copying directly to the include folder without CMake steps. Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/st_tree/all/conanfile.py | 44 ++++++++----------- .../st_tree/all/test_package/CMakeLists.txt | 13 +++--- recipes/st_tree/all/test_package/conanfile.py | 24 +++++++--- 3 files changed, 41 insertions(+), 40 deletions(-) diff --git a/recipes/st_tree/all/conanfile.py b/recipes/st_tree/all/conanfile.py index 2654379b52b95..0f32eb68fb548 100644 --- a/recipes/st_tree/all/conanfile.py +++ b/recipes/st_tree/all/conanfile.py @@ -1,42 +1,36 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy import os -from conans.errors import ConanInvalidConfiguration -from conans import ConanFile, CMake, tools -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class STTreeConan(ConanFile): name = "st_tree" + description = "A fast and flexible c++ template class for tree data structures" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" - description = "A fast and flexible c++ template class for tree data structures" - topics = ("stl", "container", "data-structures") homepage = "https://github.com/erikerlandson/st_tree" + topics = ("stl", "container", "data-structures", "tree", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def package_id(self): + self.info.clear() - def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(source_folder=self._source_subfolder) - return cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", "licenses", self._source_subfolder) - - cmake = self._configure_cmake() - cmake.install() - - tools.rmdir(os.path.join(self.package_folder, "lib")) - - def package_id(self): - self.info.header_only() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "st_tree" - self.cpp_info.filenames["cmake_find_package_multi"] = "st_tree" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/st_tree/all/test_package/CMakeLists.txt b/recipes/st_tree/all/test_package/CMakeLists.txt index bce4a94d44821..221a27bafd9ef 100644 --- a/recipes/st_tree/all/test_package/CMakeLists.txt +++ b/recipes/st_tree/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(st_tree CONFIG REQUIRED) +find_package(st_tree REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} st_tree::st_tree) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE st_tree::st_tree) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/st_tree/all/test_package/conanfile.py b/recipes/st_tree/all/test_package/conanfile.py index 5d1d0c318d32c..ef5d7042163ec 100644 --- a/recipes/st_tree/all/test_package/conanfile.py +++ b/recipes/st_tree/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class STTreeTestConan(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) @@ -11,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") From 4c0c17a4a0956d2c3d8b8610ceebeb7746b5301e Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Sat, 22 Jul 2023 11:22:09 -0700 Subject: [PATCH 1016/4087] (#18566) docs: Improve license attribute guidelines * docs: Improve license attribute guidelines This follow @jcar87 comment https://github.com/conan-io/conan-center-index/pull/18481#discussion_r1260070682 wtih extra formatting The main issue is there was contridicting sections and advice * Apply suggestions from code review Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- docs/adding_packages/conanfile_attributes.md | 13 ++++++------- docs/faqs.md | 10 +++++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/adding_packages/conanfile_attributes.md b/docs/adding_packages/conanfile_attributes.md index 0044d960505ba..dba2fb82308f0 100644 --- a/docs/adding_packages/conanfile_attributes.md +++ b/docs/adding_packages/conanfile_attributes.md @@ -49,14 +49,13 @@ In order to create reproducible builds, we also "commit-lock" to the latest comm ### License Attribute -The mandatory license attribute of each recipe **should** be a [SPDX license](https://spdx.org/licenses/) [short Identifiers](https://spdx.dev/ids/) when applicable. - -Where the SPDX guidelines do not apply, packages should do the following: - -* Packages without a license or closed source cannot be accepted in ConanCenter, even if the code is publicly available in Github or other platforms. -* When some package is under the ["public domain"](https://fairuse.stanford.edu/overview/public-domain/welcome/) - these are not a license by itself. The author original intent and files should be respected, and the relevant files defining the "public domain" status should be the ones packaged in the "licenses" folder, for example the source repository README. The ``license`` field should be as close as the original one as possible, like ``license = "Public-domain"``. -* When a custom (e.g. project specific) license is given, the value should be set to `LicenseRef-` as a prefix, followed by the name of the file which contains the custom license. See [this example](https://github.com/conan-io/conan-center-index/blob/e604534bbe0ef56bdb1f8513b83404eff02aebc8/recipes/fft/all/conanfile.py#L8). For more details, [read this conversation](https://github.com/conan-io/conan-center-index/pull/4928/files#r596216206). +The license attribute is a mandatory field which provides the legal information that summarizes the contents saved in the package. These follow the +[SPDX license](https://spdx.org/licenses/) as a standard. This is for consummers, in particular in the enterprise sector, that do rely on SDPX compliant identifiers so that they can flag this as a custom license text. +* If the library has a license that has a SPDX identifier, use the [short Identifiers](https://spdx.dev/ids/). +* If the library has a license text that does not match a SPDX identifier, including custom wording disclaiming copyright or dedicating the words to the ["public domain"](https://fairuse.stanford.edu/overview/public-domain/welcome/), use the [SPDX License Expressions](https://spdx.github.io/spdx-spec/v2-draft/SPDX-license-expressions/), this can follow: + * `LicenseRef-` as a prefix, followed by the name of the library. For example:`LicenseRef-libfoo-public-domain` +* If the library makes no mention of a license and the terms of use - it **shall not be accepted in ConanCenter** , even if the code is publicly available in GitHub or any other platforms. ## Order of methods and attributes diff --git a/docs/faqs.md b/docs/faqs.md index b84d6e6a09102..8fc8cb331f121 100644 --- a/docs/faqs.md +++ b/docs/faqs.md @@ -10,7 +10,6 @@ This section gathers the most common questions from the community related to pac * [What is the policy on creating packages from pre-compiled binaries?](#what-is-the-policy-on-creating-packages-from-pre-compiled-binaries) * [Should reference names use `-` or `_`?](#should-reference-names-use---or-_) * [Why are CMake find/config files and pkg-config files not packaged?](#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged) - * [Should recipes export a recipe's license?](#should-recipes-export-a-recipes-license) * [Why recipes that use build tools (like CMake) that have packages in Conan Center do not use it as a build require by default?](#why-recipes-that-use-build-tools-like-cmake-that-have-packages-in-conan-center-do-not-use-it-as-a-build-require-by-default) * [How are rare build systems without generators packaged?](#how-are-rare-build-systems-without-generators-packaged) * [Are python requires allowed in the `conan-center-index`?](#are-python-requires-allowed-in-the-conan-center-index) @@ -24,6 +23,7 @@ This section gathers the most common questions from the community related to pac * [Doesn't this make debug builds useless?](#doesnt-this-make-debug-builds-useless) * [Can I remove an option from a recipe?](#can-i-remove-an-option-from-a-recipe) * [Can I split a project into an installer and library package?](#can-i-split-a-project-into-an-installer-and-library-package) + * [Should recipes export a recipe's license?](#should-recipes-export-a-recipes-license) * [What license should I use for Public Domain?](#what-license-should-i-use-for-public-domain) * [What license should I use for a custom project specific license?](#what-license-should-i-use-for-a-custom-project-specific-license) * [How do I flag a problem to a recipe consumer?](#how-do-i-flag-a-problem-to-a-recipe-consumer) @@ -103,10 +103,6 @@ If you really think this is an issue and there is something missing to cover the \* Take a look at the integrations section to learn more: https://docs.conan.io/1/integrations/build_system/cmake/cmake_find_package_generator.html -## Should recipes export a recipe's license? - -No, recipes do not need to export a recipe license. Recipes and all files contributed to this repository are licensed under the license in the root of the repository. Using any recipe from this repository or directly from conan-center implies the same licensing. - ## Why recipes that use build tools (like CMake) that have packages in Conan Center do not use it as a build require by default? We generally consider tools like CMake as a standard tool to have installed in your system. Having the `cmake` package as a build require in **all** the recipes that use it will be an overkill, as every build requirement is installed like a requirement and takes time to download. However, `cmake` could still be useful to use in your profile: @@ -209,6 +205,10 @@ After one month, we will welcome a PR removing the option that was deprecated. No. Some projects provide more than a simple library, but also applications. For those projects, both libraries and executables should be kept together under the same Conan package. In the past, we tried to separate popular projects, like Protobuf, and it proved to be a complex and hard task to be maintained, requiring custom patches to disable parts of the building. Also, with the [context](https://docs.conan.io/1/systems_cross_building/cross_building.html#conan-v1-24-and-newer) feature, we can use the same package as build requirement, for the same build platform, and as a regular requirement, for the host platform, when cross-building. It's recommended using 2 profiles in that case, one for build platform (where the compilation tools are being executed) and one for host platform (where the generated binaries will run). +## Should recipes export a recipe's license? + +No, recipes do not need to export a recipe license. Recipes and all files contributed to this repository are licensed under the license in the root of the repository. Using any recipe from this repository or directly from conan-center implies the same licensing. + ## What license should I use for Public Domain? See [License Attribute](adding_packages/conanfile_attributes.md#license-attribute) for details. From b87f8aae742a40a71c39a81336015f66427f94b4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 22 Jul 2023 21:44:35 +0300 Subject: [PATCH 1017/4087] (#18262) glshaderpp: migrate to Conan v2 * glshaderpp: migrate to Conan v2 * glshaderpp: restore test_v1_package * glshaderpp: fix v1 test, add min msvc version --------- Co-authored-by: Uilian Ries --- recipes/glshaderpp/all/conanfile.py | 62 ++++++++++++------- .../all/test_package/CMakeLists.txt | 9 +-- .../glshaderpp/all/test_package/conanfile.py | 20 ++++-- .../{example.cpp => test_package.cpp} | 8 ++- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 19 ++++++ 6 files changed, 89 insertions(+), 37 deletions(-) rename recipes/glshaderpp/all/test_package/{example.cpp => test_package.cpp} (72%) create mode 100644 recipes/glshaderpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/glshaderpp/all/test_v1_package/conanfile.py diff --git a/recipes/glshaderpp/all/conanfile.py b/recipes/glshaderpp/all/conanfile.py index 5f5d7e6cc487c..047572c5d5dc7 100644 --- a/recipes/glshaderpp/all/conanfile.py +++ b/recipes/glshaderpp/all/conanfile.py @@ -1,25 +1,26 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 GLShaderPPConan(ConanFile): name = "glshaderpp" - homepage = "https://gitlab-lepuy.iut.uca.fr/opengl/glshaderpp" description = "A lightweight header-only library to compile and link OpenGL GLSL shaders." - topics = ("opengl", "glsl", "shader", "header-only") - url = "https://github.com/conan-io/conan-center-index" - no_copy_source = True license = "LGPL-3.0-or-later" - settings = "compiler", "os", "arch", "build_type" - - @property - def _source_subfolder(self): - return "source_subfolder" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://gitlab-lepuy.iut.uca.fr/opengl/glshaderpp" + topics = ("opengl", "glsl", "shader", "header-only") - def package_id(self): - self.info.header_only() + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _minimum_cpp_standard(self): @@ -28,28 +29,45 @@ def _minimum_cpp_standard(self): @property def _minimum_compilers_version(self): return { - "Visual Studio": "17", "gcc": "7", "clang": "6", "apple-clang": "10", + "msvc": "193", + "Visual Studio": "17", } + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + 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(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + 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(f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") + 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." + ) 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 package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*", src=os.path.join(self._source_subfolder, "include"), dst="include") + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.includedirs.append(os.path.join("include", "GLShaderPP")) diff --git a/recipes/glshaderpp/all/test_package/CMakeLists.txt b/recipes/glshaderpp/all/test_package/CMakeLists.txt index 7f0e01ff5256f..36af631b4dd6a 100644 --- a/recipes/glshaderpp/all/test_package/CMakeLists.txt +++ b/recipes/glshaderpp/all/test_package/CMakeLists.txt @@ -1,12 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) find_package(glew CONFIG REQUIRED) find_package(glshaderpp CONFIG REQUIRED) -add_executable(${PROJECT_NAME} example.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} glshaderpp::glshaderpp GLEW::GLEW) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON) diff --git a/recipes/glshaderpp/all/test_package/conanfile.py b/recipes/glshaderpp/all/test_package/conanfile.py index b5aad28ecae40..8141b9ee65dbb 100644 --- a/recipes/glshaderpp/all/test_package/conanfile.py +++ b/recipes/glshaderpp/all/test_package/conanfile.py @@ -1,19 +1,27 @@ +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" + test_type = "explicit" def requirements(self): + self.requires(self.tested_reference_str) self.requires("glew/2.2.0") + def layout(self): + cmake_layout(self) + 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", "PackageTest") - 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/glshaderpp/all/test_package/example.cpp b/recipes/glshaderpp/all/test_package/test_package.cpp similarity index 72% rename from recipes/glshaderpp/all/test_package/example.cpp rename to recipes/glshaderpp/all/test_package/test_package.cpp index eb8a668f50e89..e8dce6ff7068b 100644 --- a/recipes/glshaderpp/all/test_package/example.cpp +++ b/recipes/glshaderpp/all/test_package/test_package.cpp @@ -1,11 +1,13 @@ -#include #include -#include #include #include +#include + +#include int main() { - GLShaderPP::CShaderException e("If you read this, GLShaderPP is happy :)", GLShaderPP::CShaderException::ExceptionType::LinkError); + GLShaderPP::CShaderException e("If you read this, GLShaderPP is happy :)", + GLShaderPP::CShaderException::ExceptionType::LinkError); std::cout << e.what() << '\n'; return EXIT_SUCCESS; } diff --git a/recipes/glshaderpp/all/test_v1_package/CMakeLists.txt b/recipes/glshaderpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/glshaderpp/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/glshaderpp/all/test_v1_package/conanfile.py b/recipes/glshaderpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6e16e1852823f --- /dev/null +++ b/recipes/glshaderpp/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +import os +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def requirements(self): + self.requires("glew/2.2.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) From b7c8b17b6a07b501d35f39714904b299c6eaf3ae Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 22 Jul 2023 22:05:17 +0300 Subject: [PATCH 1018/4087] (#18272) seqan: migrate to Conan v2 * seqan: migrate to Conan v2 seqan: autoformat * seqan: restore test_v1_package * seqan: add cmake_find_package_multi to v1 * seqan: add -DNOMINMAX on Windows Otherwise std::min() and std::max() will fail. * configure() -> validate() Co-authored-by: Uilian Ries * seqan: fix indentation --------- Co-authored-by: Uilian Ries --- recipes/seqan/2.x.x/conanfile.py | 87 ++++++++++++------- .../seqan/2.x.x/test_package/CMakeLists.txt | 7 +- recipes/seqan/2.x.x/test_package/conanfile.py | 21 +++-- .../seqan/2.x.x/test_package/test_package.cpp | 5 +- .../2.x.x/test_v1_package/CMakeLists.txt | 8 ++ .../seqan/2.x.x/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 102 insertions(+), 43 deletions(-) create mode 100644 recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/seqan/2.x.x/test_v1_package/conanfile.py diff --git a/recipes/seqan/2.x.x/conanfile.py b/recipes/seqan/2.x.x/conanfile.py index 5f567373a4d1a..fb2227d760d8f 100644 --- a/recipes/seqan/2.x.x/conanfile.py +++ b/recipes/seqan/2.x.x/conanfile.py @@ -1,56 +1,81 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class SeqanConan(ConanFile): name = "seqan" + description = ( + "SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences " + "with the focus on biological data. Our library applies a unique generic design that guarantees high performance, " + "generality, extensibility, and integration with other libraries. " + "SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance." + ) + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/seqan/seqan" - description = """ -SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences -with the focus on biological data. Our library applies a unique generic design that guarantees high performance, -generality, extensibility, and integration with other libraries. -SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance. -""" - topics = ("conan", "cpp98", "cpp11", "cpp14", "cpp17", - "algorithms", "data structures", "biological sequences") - license = "BSD-3-Clause" - settings = "compiler" + topics = ("algorithms", "data structures", "biological sequences", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 @property def _compilers_minimum_version(self): return { "gcc": "5", - "Visual Studio": "14", "clang": "3.4", - "apple-clang": "3.4" + "apple-clang": "3.4", + "msvc": "190", + "Visual Studio": "14", } - def configure(self): + def validate(self): if self.settings.compiler.cppstd: - tools.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: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("seqan requires C++14, which your compiler does not fully support.") - else: - self.output.warn("seqan requires C++14. Your compiler is unknown. Assuming it supports C++14.") + if not minimum_version: + self.output.warning( + f"{self.name} requires C++{self._min_cppstd}. " + f"Your compiler is unknown. Assuming it supports C++{self._min_cppstd}." + ) + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._min_cppstd}, which your compiler does not fully support." + ) + + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "seqan-seqan-v" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("*", dst="include", - src=os.path.join(self._source_subfolder, "include"), keep_path=True) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + keep_path=True) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os == "Windows": + self.cpp_info.defines = ["NOMINMAX"] diff --git a/recipes/seqan/2.x.x/test_package/CMakeLists.txt b/recipes/seqan/2.x.x/test_package/CMakeLists.txt index 64fd988616e27..6fdde597b12f4 100644 --- a/recipes/seqan/2.x.x/test_package/CMakeLists.txt +++ b/recipes/seqan/2.x.x/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(seqan REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CONAN_PKG::seqan) +target_link_libraries(${PROJECT_NAME} PRIVATE seqan::seqan) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) diff --git a/recipes/seqan/2.x.x/test_package/conanfile.py b/recipes/seqan/2.x.x/test_package/conanfile.py index a59a26a52c8dc..fae501d0afb9e 100644 --- a/recipes/seqan/2.x.x/test_package/conanfile.py +++ b/recipes/seqan/2.x.x/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + 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/seqan/2.x.x/test_package/test_package.cpp b/recipes/seqan/2.x.x/test_package/test_package.cpp index dd08405d3402d..d9a44258b866d 100644 --- a/recipes/seqan/2.x.x/test_package/test_package.cpp +++ b/recipes/seqan/2.x.x/test_package/test_package.cpp @@ -1,8 +1,9 @@ // Demo program for clipping with Gaps objects. -#include -#include #include +#include + +#include using namespace seqan; diff --git a/recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt b/recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/seqan/2.x.x/test_v1_package/conanfile.py b/recipes/seqan/2.x.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/seqan/2.x.x/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 793ba6f9a241c0ea32b551bb4d6f6c3263f6331d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 22 Jul 2023 22:36:17 +0300 Subject: [PATCH 1019/4087] (#18637) aws-libfabric: migrate to Conan v2 * aws-libfabric: migrate to Conan v2 * Update recipes/aws-libfabric/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/aws-libfabric/all/conanfile.py | 113 ++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 5 files changed, 105 insertions(+), 63 deletions(-) create mode 100644 recipes/aws-libfabric/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/aws-libfabric/all/test_v1_package/conanfile.py diff --git a/recipes/aws-libfabric/all/conanfile.py b/recipes/aws-libfabric/all/conanfile.py index 134b19e72fb91..cdf0ee0dd3198 100644 --- a/recipes/aws-libfabric/all/conanfile.py +++ b/recipes/aws-libfabric/all/conanfile.py @@ -1,33 +1,44 @@ -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 fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import chdir, collect_libs, copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import unix_path + +required_conan_version = ">=1.53.0" + class LibfabricConan(ConanFile): name = "aws-libfabric" description = "AWS Libfabric" - topics = ("fabric", "communication", "framework", "service") + license = ("BSD-2-Clause", "GPL-2.0-or-later") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/aws/libfabric" - 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", "sockets", "rxm", "tcp", "udp", "usnic", "verbs", "bgq", "shm", "efa", "rxd", "mrail", "rstream", "perf", "hook_debug"] options = { + "shared": [True, False], + "fPIC": [True, False], **{ p: [True, False, "shared"] for p in _providers }, **{ - "shared": [True, False], - "fPIC": [True, False], "with_libnl": [True, False], "bgq_progress": ["auto", "manual"], "bgq_mr": ["basic", "scalable"] } } default_options = { + "shared": False, + "fPIC": True, **{ p: False for p in _providers }, **{ - "shared": False, - "fPIC": True, "tcp": True, "with_libnl": False, "bgq_progress": "manual", @@ -35,15 +46,6 @@ class LibfabricConan(ConanFile): } } - @property - def _source_subfolder(self): - return "source_subfolder" - - _autotools = None - - def build_requirements(self): - self.build_requires("libtool/2.4.6") - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -52,9 +54,12 @@ 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): if self.options.with_libnl: @@ -64,52 +69,56 @@ def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("The libfabric package cannot be built on Windows.") - 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, win_bash=tools.os_info.is_windows) - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") yes_no_dl = lambda v: {"True": "yes", "False": "no", "shared": "dl"}[str(v)] - yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), + tc = AutotoolsToolchain(self) + tc.configure_args += [ "--with-bgq-progress={}".format(self.options.bgq_progress), "--with-bgq-mr={}".format(self.options.bgq_mr), ] for p in self._providers: - args.append("--enable-{}={}".format(p, yes_no_dl(getattr(self.options, p)))) + tc.configure_args.append("--enable-{}={}".format(p, yes_no_dl(getattr(self.options, p)))) if self.options.with_libnl: - args.append("--with-libnl={}".format(tools.unix_path(self.deps_cpp_info["libnl"].rootpath))), + tc.configure_args.append("--with-libnl={}".format(unix_path(self, self.dependencies["libnl"].package_folder))) else: - args.append("--with-libnl=no") + tc.configure_args.append("--with-libnl=no") if self.settings.build_type == "Debug": - args.append("--enable-debug") - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + tc.configure_args.append("--enable-debug") + tc.generate() + tc = AutotoolsDeps(self) + tc.generate() def build(self): - autotools = self._configure_autotools() - autotools.make() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() - 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") + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_folder, "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 = collect_libs(self) if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["pthread", "m"] if not self.options.shared: diff --git a/recipes/aws-libfabric/all/test_package/CMakeLists.txt b/recipes/aws-libfabric/all/test_package/CMakeLists.txt index 34af13462f44f..1af9ab7c6f511 100644 --- a/recipes/aws-libfabric/all/test_package/CMakeLists.txt +++ b/recipes/aws-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 C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(aws-libfabric REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE aws-libfabric::aws-libfabric) diff --git a/recipes/aws-libfabric/all/test_package/conanfile.py b/recipes/aws-libfabric/all/test_package/conanfile.py index d4128b0450777..ef5d7042163ec 100644 --- a/recipes/aws-libfabric/all/test_package/conanfile.py +++ b/recipes/aws-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): - 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/aws-libfabric/all/test_v1_package/CMakeLists.txt b/recipes/aws-libfabric/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/aws-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/aws-libfabric/all/test_v1_package/conanfile.py b/recipes/aws-libfabric/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/aws-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): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 77e3b1907f1ec247981a1214052371eada61070c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 22 Jul 2023 23:07:55 +0300 Subject: [PATCH 1020/4087] (#18639) xsd: migrate to Conan v2 --- recipes/xsd/all/conandata.yml | 5 - recipes/xsd/all/conanfile.py | 116 +++++++++---------- recipes/xsd/all/test_package/conanfile.py | 11 +- recipes/xsd/all/test_v1_package/conanfile.py | 10 ++ 4 files changed, 73 insertions(+), 69 deletions(-) create mode 100644 recipes/xsd/all/test_v1_package/conanfile.py diff --git a/recipes/xsd/all/conandata.yml b/recipes/xsd/all/conandata.yml index d0b47cfe2aef6..342ac8fd08fed 100644 --- a/recipes/xsd/all/conandata.yml +++ b/recipes/xsd/all/conandata.yml @@ -5,12 +5,7 @@ sources: patches: "4.0.0": - patch_file: "patches/0002-missing-include.patch" - base_path: "source_subfolder" - patch_file: "patches/0100-C++Parser_Expat_support.patch" - base_path: "source_subfolder" - patch_file: "patches/0105-Fix_path_handling_bug.patch" - base_path: "source_subfolder" - patch_file: "patches/0110-xerces-c3.2.patch" - base_path: "source_subfolder" - patch_file: "patches/0700_hurd_PATH_MAX.patch" - base_path: "source_subfolder" diff --git a/recipes/xsd/all/conanfile.py b/recipes/xsd/all/conanfile.py index 19183a5008e25..8d9e15a3818f4 100644 --- a/recipes/xsd/all/conanfile.py +++ b/recipes/xsd/all/conanfile.py @@ -1,91 +1,87 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.40.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rmdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class ConanXqilla(ConanFile): name = "xsd" - description = ( - "XSD is a W3C XML Schema to C++ translator. It generates vocabulary-specific, statically-typed C++ mappings (also called bindings) from XML Schema definitions. XSD supports two C++ mappings: in-memory C++/Tree and event-driven C++/Parser." + "XSD is a W3C XML Schema to C++ translator. " + "It generates vocabulary-specific, statically-typed C++ mappings (also called bindings) from XML Schema definitions. " + "XSD supports two C++ mappings: in-memory C++/Tree and event-driven C++/Parser." ) - topics = ("xsd", "xml", "c++") + license = ("GPL-2.0", "FLOSSE") url = "https://github.com/conan-io/conan-center-index" homepage = "https://codesynthesis.com/projects/xsd/" - license = ("GPL-2.0","FLOSSE") + topics = ("xml", "c++") + + package_type = "application" settings = "os", "arch", "compiler", "build_type" - exports_sources = "patches/**" + def export_sources(self): + export_conandata_patches(self) - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): self.requires("xerces-c/3.2.3") - @property - def _doc_folder(self): - return os.path.join(self._source_subfolder,"xsd","doc") - - @property - def _make_cmd(self): - return self._gnumake_cmd - - @property - def _make_program(self): - return tools.get_env('CONAN_MAKE_PROGRAM', tools.which('make')) - - @property - def _gnumake_cmd(self): - make_ldflags = "LDFLAGS='{libs} -pthread'".format( - libs=" ".join(["-L{}".format(os.path.join(self.deps_cpp_info["xerces-c"].rootpath, it)) for it in self.deps_cpp_info["xerces-c"].libdirs])) - flags = [] - flags.append(' '.join(["-I{}".format(os.path.join(self.deps_cpp_info["xerces-c"].rootpath, it)) for it in self.deps_cpp_info["xerces-c"].includedirs])) - if self.settings.compiler == "gcc": - flags.append('-std=c++11') - make_ccpflags = "CPPFLAGS='{}'".format(" ".join(flags)) - make_cmd = f'{make_ldflags} {make_ccpflags} {self._make_program} -j{tools.cpu_count()}' - return make_cmd + def package_id(self): + del self.info.settings.compiler def validate(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("The xsd recipe currently only supports Linux.") if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) - - def package_id(self): - del self.info.settings.compiler + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.extra_cxxflags = ["-std=c++11"] + tc.extra_ldflags = ["-pthread"] + tc.generate() + tc = AutotoolsDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - with tools.chdir(self._source_subfolder): - self.run(self._make_cmd) + apply_conandata_patches(self) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make() def package(self): - self.copy("LICENSE", dst="licenses", src=os.path.join(self._source_subfolder, "xsd")) - self.copy("GPLv2", dst="licenses", src=os.path.join(self._source_subfolder, "xsd")) - self.copy("FLOSSE", dst="licenses", src=os.path.join(self._source_subfolder, "xsd")) - - with tools.chdir(self._source_subfolder): - self.run(self._make_install_cmd) - - tools.rmdir(os.path.join(self.package_folder, "share")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder, "xsd")) + copy(self, "GPLv2", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder, "xsd")) + copy(self, "FLOSSE", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder, "xsd")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install(args=[f"install_prefix={self.package_folder}"]) + 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: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.path.append(bin_path) - - @property - def _make_install_cmd(self): - make_install_cmd = f'{self._make_cmd} install_prefix={self.package_folder} install' - return make_install_cmd diff --git a/recipes/xsd/all/test_package/conanfile.py b/recipes/xsd/all/test_package/conanfile.py index 7ea50ba1ad430..fd802956c6269 100644 --- a/recipes/xsd/all/test_package/conanfile.py +++ b/recipes/xsd/all/test_package/conanfile.py @@ -1,10 +1,13 @@ -from conans import ConanFile, tools -import os +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): - if not tools.cross_building(self): - self.run("xsd --help", run_environment=True) + self.run("xsd --help") diff --git a/recipes/xsd/all/test_v1_package/conanfile.py b/recipes/xsd/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7ea50ba1ad430 --- /dev/null +++ b/recipes/xsd/all/test_v1_package/conanfile.py @@ -0,0 +1,10 @@ +from conans import ConanFile, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if not tools.cross_building(self): + self.run("xsd --help", run_environment=True) From 4e1dc323256090b271aa2246f1e9ef4585b864de Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 22 Jul 2023 23:47:13 +0300 Subject: [PATCH 1021/4087] (#18648) pbtools: migrate to Conan v2 --- recipes/pbtools/all/CMakeLists.txt | 7 --- recipes/pbtools/all/conanfile.py | 59 +++++++++++-------- .../pbtools/all/test_package/CMakeLists.txt | 5 +- recipes/pbtools/all/test_package/conanfile.py | 24 +++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../pbtools/all/test_v1_package/conanfile.py | 25 ++++++++ 6 files changed, 83 insertions(+), 45 deletions(-) delete mode 100644 recipes/pbtools/all/CMakeLists.txt create mode 100644 recipes/pbtools/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pbtools/all/test_v1_package/conanfile.py diff --git a/recipes/pbtools/all/CMakeLists.txt b/recipes/pbtools/all/CMakeLists.txt deleted file mode 100644 index 432799d5aaab2..0000000000000 --- a/recipes/pbtools/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/lib) diff --git a/recipes/pbtools/all/conanfile.py b/recipes/pbtools/all/conanfile.py index 9aee2f753fe6d..98670e16a72dc 100644 --- a/recipes/pbtools/all/conanfile.py +++ b/recipes/pbtools/all/conanfile.py @@ -1,53 +1,60 @@ -import functools -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +import os + +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.53.0" class PbtoolsConan(ConanFile): name = "pbtools" description = "A Google Protocol Buffers C library" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/eerimoq/pbtools" - license = "MIT" topics = ("protobuf", "serialization", "rpc", "protocol-buffers") - settings = ("os", "compiler", "build_type", "arch") - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - exports_sources = "CMakeLists.txt" - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": 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 validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("This library is not compatible with Windows") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder="lib") cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/pbtools/all/test_package/CMakeLists.txt b/recipes/pbtools/all/test_package/CMakeLists.txt index 9f0ff5e7f11af..cd447f6cc0d27 100644 --- a/recipes/pbtools/all/test_package/CMakeLists.txt +++ b/recipes/pbtools/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -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) - find_package(pbtools REQUIRED CONFIG) add_executable(test_package test_package.c hello_world.c) diff --git a/recipes/pbtools/all/test_package/conanfile.py b/recipes/pbtools/all/test_package/conanfile.py index 1ed584307b354..bd118a1d0023b 100644 --- a/recipes/pbtools/all/test_package/conanfile.py +++ b/recipes/pbtools/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, tools +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" -class PbtoolsTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + 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") + self.tool_requires("cmake/[>=3.20]") + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -20,6 +28,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/pbtools/all/test_v1_package/CMakeLists.txt b/recipes/pbtools/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pbtools/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/pbtools/all/test_v1_package/conanfile.py b/recipes/pbtools/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..1ed584307b354 --- /dev/null +++ b/recipes/pbtools/all/test_v1_package/conanfile.py @@ -0,0 +1,25 @@ +import os + +from conans import ConanFile, CMake, tools + + +class PbtoolsTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + 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 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 61564e7cf5d970ff8e004ce0105bc8256c3ce0ad Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 00:27:31 +0300 Subject: [PATCH 1022/4087] (#18649) parg: migrate to Conan v2 * parg: migrate to Conan v2 * parg: fix_apple_shared_install_name() --- recipes/parg/all/CMakeLists.txt | 12 +-- recipes/parg/all/conanfile.py | 80 ++++++++++--------- recipes/parg/all/test_package/CMakeLists.txt | 5 +- recipes/parg/all/test_package/conanfile.py | 21 +++-- .../parg/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/parg/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 88 insertions(+), 55 deletions(-) create mode 100644 recipes/parg/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/parg/all/test_v1_package/conanfile.py diff --git a/recipes/parg/all/CMakeLists.txt b/recipes/parg/all/CMakeLists.txt index ea07630def81d..5aea9449b5c81 100644 --- a/recipes/parg/all/CMakeLists.txt +++ b/recipes/parg/all/CMakeLists.txt @@ -1,12 +1,6 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(cmake_wrapper) -include("conanbuildinfo.cmake") -conan_basic_setup() -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory("source_subfolder") - -set_target_properties(parg PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/parg.h") - +add_subdirectory(src) +set_target_properties(parg PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/parg.h") install(TARGETS parg) diff --git a/recipes/parg/all/conanfile.py b/recipes/parg/all/conanfile.py index 0e70a696cc039..4947f721cb4de 100644 --- a/recipes/parg/all/conanfile.py +++ b/recipes/parg/all/conanfile.py @@ -1,60 +1,68 @@ import os -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" class PargConan(ConanFile): name = "parg" + description = "Parser for argv that works similarly to getopt" license = "CC0-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jibsen/parg" - description = "Parser for argv that works similarly to getopt" - topics = ("conan", 'getopt', 'c') - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False]} - default_options = {"shared": False, - "fPIC": True} - exports_sources = ["CMakeLists.txt"] - generators = "cmake", - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + topics = ("getopt", "c") - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=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 configure(self): - if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + 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_cmake(self): - if self._cmake: - return self._cmake - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - self._cmake = cmake - return self._cmake + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy("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() + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["parg"] diff --git a/recipes/parg/all/test_package/CMakeLists.txt b/recipes/parg/all/test_package/CMakeLists.txt index 187d95623fba1..ee46ccf27506c 100644 --- a/recipes/parg/all/test_package/CMakeLists.txt +++ b/recipes/parg/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(parg REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/parg/all/test_package/conanfile.py b/recipes/parg/all/test_package/conanfile.py index 86f0279553123..5030221edcc76 100644 --- a/recipes/parg/all/test_package/conanfile.py +++ b/recipes/parg/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.settings): - bin_path = os.path.join("bin", "test_package") - self.run("%s -h" % bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} -h", env="conanrun") diff --git a/recipes/parg/all/test_v1_package/CMakeLists.txt b/recipes/parg/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/parg/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/parg/all/test_v1_package/conanfile.py b/recipes/parg/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..86f0279553123 --- /dev/null +++ b/recipes/parg/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("%s -h" % bin_path, run_environment=True) From ecd6a668b4f5438cd436070890a8d7fa8d18ddcf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 01:06:45 +0300 Subject: [PATCH 1023/4087] (#18651) imguizmo: migrate to Conan v2 * imguizmo: migrate to Conan v2 * imguizmo: get rid of version range in dep --- recipes/imguizmo/all/CMakeLists.txt | 19 +++--- recipes/imguizmo/all/conanfile.py | 60 +++++++++++-------- .../imguizmo/all/test_package/CMakeLists.txt | 12 ++-- .../imguizmo/all/test_package/conanfile.py | 22 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../imguizmo/all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 86 insertions(+), 51 deletions(-) create mode 100644 recipes/imguizmo/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/imguizmo/all/test_v1_package/conanfile.py diff --git a/recipes/imguizmo/all/CMakeLists.txt b/recipes/imguizmo/all/CMakeLists.txt index 73784d828761a..00a03f5032972 100644 --- a/recipes/imguizmo/all/CMakeLists.txt +++ b/recipes/imguizmo/all/CMakeLists.txt @@ -1,27 +1,22 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(imguizmo CXX) + set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) - -include(conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -set(SOURCE_DIR source_subfolder) +set(SOURCE_DIR src) file(GLOB SOURCE_FILES ${SOURCE_DIR}/*.cpp) file(GLOB HEADER_FILES ${SOURCE_DIR}/*.h) +find_package(imgui CONFIG REQUIRED) + add_library(${PROJECT_NAME} ${SOURCE_FILES}) target_include_directories(${PROJECT_NAME} PRIVATE ${SOURCE_DIR}) -target_link_libraries(${PROJECT_NAME} PUBLIC ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PUBLIC imgui::imgui) include(GNUInstallDirs) - -install(TARGETS ${PROJECT_NAME} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(TARGETS ${PROJECT_NAME}) install(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) diff --git a/recipes/imguizmo/all/conanfile.py b/recipes/imguizmo/all/conanfile.py index 62c65e6489c8b..57281934555cf 100644 --- a/recipes/imguizmo/all/conanfile.py +++ b/recipes/imguizmo/all/conanfile.py @@ -1,31 +1,33 @@ -import functools -from conans import ConanFile, CMake, tools +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" class ImGuizmoConan(ConanFile): name = "imguizmo" + description = "Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/CedricGuillemet/ImGuizmo" - description = "Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui" topics = ("imgui", "3d", "graphics", "guizmo") - license = "MIT" - settings = "os", "arch", "compiler", "build_type" - - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -33,28 +35,34 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("imgui/1.87") + # 1.89 is the newest imgui version compatible with imguizmo + self.requires("imgui/1.89.3", transitive_headers=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/imguizmo/all/test_package/CMakeLists.txt b/recipes/imguizmo/all/test_package/CMakeLists.txt index 4db4d9b97252b..bca22087e3920 100644 --- a/recipes/imguizmo/all/test_package/CMakeLists.txt +++ b/recipes/imguizmo/all/test_package/CMakeLists.txt @@ -1,13 +1,11 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(imgui REQUIRED) -find_package(imguizmo REQUIRED) +find_package(imgui REQUIRED CONFIG) +find_package(imguizmo REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} imgui::imgui) diff --git a/recipes/imguizmo/all/test_package/conanfile.py b/recipes/imguizmo/all/test_package/conanfile.py index 23ba95e79f465..ef5d7042163ec 100644 --- a/recipes/imguizmo/all/test_package/conanfile.py +++ b/recipes/imguizmo/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/imguizmo/all/test_v1_package/CMakeLists.txt b/recipes/imguizmo/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/imguizmo/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/imguizmo/all/test_v1_package/conanfile.py b/recipes/imguizmo/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/imguizmo/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ea21feadf70b8ff01a7754ee073bf6c19810c709 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 01:46:32 +0300 Subject: [PATCH 1024/4087] (#18653) libipt: migrate to Conan v2 --- recipes/libipt/all/CMakeLists.txt | 7 -- recipes/libipt/all/conanfile.py | 80 +++++++++---------- .../libipt/all/test_package/CMakeLists.txt | 5 +- recipes/libipt/all/test_package/conanfile.py | 20 +++-- .../libipt/all/test_package/test_package.cpp | 3 +- .../libipt/all/test_v1_package/CMakeLists.txt | 8 ++ .../libipt/all/test_v1_package/conanfile.py | 18 +++++ 7 files changed, 80 insertions(+), 61 deletions(-) delete mode 100644 recipes/libipt/all/CMakeLists.txt create mode 100644 recipes/libipt/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libipt/all/test_v1_package/conanfile.py diff --git a/recipes/libipt/all/CMakeLists.txt b/recipes/libipt/all/CMakeLists.txt deleted file mode 100644 index f62f6ae283c5f..0000000000000 --- a/recipes/libipt/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/libipt/all/conanfile.py b/recipes/libipt/all/conanfile.py index 73c8a14fe3622..e7687b6d7c00d 100644 --- a/recipes/libipt/all/conanfile.py +++ b/recipes/libipt/all/conanfile.py @@ -1,30 +1,34 @@ -from conans import ConanFile, CMake, tools +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 apply_conandata_patches, copy, export_conandata_patches, get + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class LibIptConan(ConanFile): name = "libipt" + description = "Intel(R) Processor Trace Decoder Library" license = "BSD-3-Clause" - homepage = "https://github.com/intel/libipt" url = "https://github.com/conan-io/conan-center-index" - description = "Intel(R) Processor Trace Decoder Library" + homepage = "https://github.com/intel/libipt" topics = ("profiling", "tracing") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], - "fPIC": [True, False], + "shared": [True, False], + "fPIC": [True, False], } default_options = { - "shared": False, - "fPIC": True, + "shared": False, + "fPIC": True, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -32,43 +36,35 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): - pass + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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() def package_info(self): - self.cpp_info.libs = ["libipt"] if self.settings.os == "Windows" else ["ipt"] - self.cpp_info.set_property("cmake_file_name", "libipt") - self.cpp_info.set_property("cmake_target_name", "libipt::libipt") - + if self.settings.os == "Windows": + self.cpp_info.libs = ["libipt"] + else: + self.cpp_info.libs = ["ipt"] diff --git a/recipes/libipt/all/test_package/CMakeLists.txt b/recipes/libipt/all/test_package/CMakeLists.txt index 614fc23d88dda..9f56367278f32 100644 --- a/recipes/libipt/all/test_package/CMakeLists.txt +++ b/recipes/libipt/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(libipt REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/libipt/all/test_package/conanfile.py b/recipes/libipt/all/test_package/conanfile.py index a8c92dea63335..ef5d7042163ec 100644 --- a/recipes/libipt/all/test_package/conanfile.py +++ b/recipes/libipt/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 = "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) @@ -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/libipt/all/test_package/test_package.cpp b/recipes/libipt/all/test_package/test_package.cpp index 6b9e18b8eb133..26def6a295d25 100644 --- a/recipes/libipt/all/test_package/test_package.cpp +++ b/recipes/libipt/all/test_package/test_package.cpp @@ -1,9 +1,8 @@ #include -int main(int argc, char **argv) +int main() { pt_config cfg; pt_config_init(&cfg); - return 0; } diff --git a/recipes/libipt/all/test_v1_package/CMakeLists.txt b/recipes/libipt/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libipt/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/libipt/all/test_v1_package/conanfile.py b/recipes/libipt/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a8c92dea63335 --- /dev/null +++ b/recipes/libipt/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) From 9fd06ff6274bd443a27c4dd7fc4ca7bb7aa794da Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 02:26:23 +0300 Subject: [PATCH 1025/4087] (#18655) whereami: migrate to Conan v2 --- recipes/whereami/all/CMakeLists.txt | 14 ++-- recipes/whereami/all/conanfile.py | 68 ++++++++++--------- .../whereami/all/test_package/CMakeLists.txt | 5 +- .../whereami/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../whereami/all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 82 insertions(+), 51 deletions(-) create mode 100644 recipes/whereami/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/whereami/all/test_v1_package/conanfile.py diff --git a/recipes/whereami/all/CMakeLists.txt b/recipes/whereami/all/CMakeLists.txt index 9ad1b58bfdd92..4595ccd0654eb 100644 --- a/recipes/whereami/all/CMakeLists.txt +++ b/recipes/whereami/all/CMakeLists.txt @@ -1,14 +1,11 @@ -cmake_minimum_required(VERSION 3.4.3) +cmake_minimum_required(VERSION 3.12) project(whereami C) -include(conanbuildinfo.cmake) -conan_basic_setup() - if (WIN32 AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() -set(WHEREAMI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder") +set(WHEREAMI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src") set(SOURCE_FILES ${WHEREAMI_SRC}/src/whereami.c) set(HEADER_FILES ${WHEREAMI_SRC}/src/whereami.h) @@ -17,9 +14,6 @@ add_library(${CMAKE_PROJECT_NAME} ${SOURCE_FILES} ${HEADER_FILES}) target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC ${WHEREAMI_SRC}/src) set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY C_STANDARD 99) -install(TARGETS ${CMAKE_PROJECT_NAME} - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - +include(GNUInstallDirs) +install(TARGETS ${CMAKE_PROJECT_NAME}) install(FILES ${HEADER_FILES} DESTINATION include) diff --git a/recipes/whereami/all/conanfile.py b/recipes/whereami/all/conanfile.py index 323a8747c8641..6035268b447ee 100644 --- a/recipes/whereami/all/conanfile.py +++ b/recipes/whereami/all/conanfile.py @@ -1,58 +1,64 @@ -from conans import ConanFile, CMake, tools +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" class WhereamiConan(ConanFile): name = "whereami" description = "Locate the current executable and the current module/library on the file system" - topics = ("whereami", "introspection", "getmodulefilename", - "dladdr", "executable-path", "getexecutablepath") + license = ("MIT", "WTFPL") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/gpakosz/whereami" - license = ("MIT", "WTFPL") - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + topics = ("whereami", "introspection", "getmodulefilename", "dladdr", "executable-path", "getexecutablepath") - _cmake = None + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - 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 source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def layout(self): + cmake_layout(self, src_folder="src") - def _configure_cmake(self): - if self._cmake: - return self._cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy(pattern="LICENSE.*", dst="licenses", - src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/whereami/all/test_package/CMakeLists.txt b/recipes/whereami/all/test_package/CMakeLists.txt index 7c0f4c847fb31..4789557edaa68 100644 --- a/recipes/whereami/all/test_package/CMakeLists.txt +++ b/recipes/whereami/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(whereami REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/whereami/all/test_package/conanfile.py b/recipes/whereami/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/whereami/all/test_package/conanfile.py +++ b/recipes/whereami/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/whereami/all/test_v1_package/CMakeLists.txt b/recipes/whereami/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/whereami/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/whereami/all/test_v1_package/conanfile.py b/recipes/whereami/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/whereami/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 29ad596337985938836bfa0037c0e3929b90d393 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 03:07:55 +0300 Subject: [PATCH 1026/4087] (#18658) rg-etc1: migrate to Conan v2 --- recipes/rg-etc1/all/CMakeLists.txt | 16 ++-- recipes/rg-etc1/all/conanfile.py | 75 ++++++++++--------- .../rg-etc1/all/test_package/CMakeLists.txt | 10 +-- recipes/rg-etc1/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../rg-etc1/all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 89 insertions(+), 58 deletions(-) create mode 100644 recipes/rg-etc1/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rg-etc1/all/test_v1_package/conanfile.py diff --git a/recipes/rg-etc1/all/CMakeLists.txt b/recipes/rg-etc1/all/CMakeLists.txt index 5f0b2b410ca60..5d4d0f4829476 100644 --- a/recipes/rg-etc1/all/CMakeLists.txt +++ b/recipes/rg-etc1/all/CMakeLists.txt @@ -1,22 +1,16 @@ cmake_minimum_required(VERSION 3.4) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() - if(WIN32 AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() -file(GLOB SRCS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/*.cpp) -file(GLOB HDRS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/*.h) +file(GLOB SRCS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) +file(GLOB HDRS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.h) add_library(rg_etc1 ${SRCS_FILES}) -target_include_directories(rg_etc1 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder) +target_include_directories(rg_etc1 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) -install(TARGETS rg_etc1 - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) +include(GNUInstallDirs) +install(TARGETS rg_etc1) install(FILES ${HDRS_FILES} DESTINATION include) diff --git a/recipes/rg-etc1/all/conanfile.py b/recipes/rg-etc1/all/conanfile.py index 43c69a50b6b5c..1a5ed53523f88 100644 --- a/recipes/rg-etc1/all/conanfile.py +++ b/recipes/rg-etc1/all/conanfile.py @@ -1,17 +1,22 @@ import os -import glob -from conans import ConanFile, CMake, tools + +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, save + +required_conan_version = ">=1.53.0" class RgEtc1Conan(ConanFile): name = "rg-etc1" description = "A performant, easy to use, and high quality 4x4 pixel block packer/unpacker for the ETC1." - homepage = "https://github.com/richgel999/rg-etc1" - url = "https://github.com/conan-io/conan-center-index" - topics = ("conan", "etc1", "packer", "unpacker") license = "Zlib" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/richgel999/rg-etc1" + topics = ("etc1", "packer", "unpacker") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,53 +27,51 @@ class RgEtc1Conan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob('rg-etc1-*/')[0] - os.rename(extracted_dir, self._source_subfolder) + 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': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def _extract_license(self): - with open(os.path.join(self._source_subfolder, "rg_etc1.h")) as f: + with open(os.path.join(self.source_folder, "rg_etc1.h")) as f: content_lines = f.readlines() license_content = [] for i in range(52, 75): license_content.append(content_lines[i][2:-1]) - tools.save("LICENSE", "\n".join(license_content)) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), "\n".join(license_content)) def package(self): - cmake = self._configure_cmake() - cmake.install() self._extract_license() - self.copy(pattern="LICENSE", dst="licenses") + cmake = CMake(self) + cmake.install() def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ["rg_etc1"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] diff --git a/recipes/rg-etc1/all/test_package/CMakeLists.txt b/recipes/rg-etc1/all/test_package/CMakeLists.txt index 196188113685c..249e96fb582fb 100644 --- a/recipes/rg-etc1/all/test_package/CMakeLists.txt +++ b/recipes/rg-etc1/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(rg-etc1 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE rg-etc1::rg-etc1) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/rg-etc1/all/test_package/conanfile.py b/recipes/rg-etc1/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/rg-etc1/all/test_package/conanfile.py +++ b/recipes/rg-etc1/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/rg-etc1/all/test_v1_package/CMakeLists.txt b/recipes/rg-etc1/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rg-etc1/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/rg-etc1/all/test_v1_package/conanfile.py b/recipes/rg-etc1/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/rg-etc1/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) From 43a907ca4c560e9a450326950c862812611531e3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 03:47:27 +0300 Subject: [PATCH 1027/4087] (#18662) libslz: migrate to Conan v2 --- recipes/libslz/all/CMakeLists.txt | 17 ++---- recipes/libslz/all/conanfile.py | 54 ++++++++++--------- .../libslz/all/test_package/CMakeLists.txt | 7 +-- recipes/libslz/all/test_package/conanfile.py | 19 +++++-- .../libslz/all/test_v1_package/CMakeLists.txt | 8 +++ .../libslz/all/test_v1_package/conanfile.py | 17 ++++++ 6 files changed, 75 insertions(+), 47 deletions(-) create mode 100644 recipes/libslz/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libslz/all/test_v1_package/conanfile.py diff --git a/recipes/libslz/all/CMakeLists.txt b/recipes/libslz/all/CMakeLists.txt index 3086b45fa1be2..84ba240aba82b 100644 --- a/recipes/libslz/all/CMakeLists.txt +++ b/recipes/libslz/all/CMakeLists.txt @@ -1,24 +1,17 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.12) project(slz LANGUAGES C) -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -include(GNUInstallDirs) - -add_library(slz source_subfolder/src/slz.c) -include_directories(source_subfolder/src) +add_library(slz src/src/slz.c) +include_directories(src/src) set_target_properties(slz PROPERTIES - PUBLIC_HEADER source_subfolder/src/slz.h + PUBLIC_HEADER src/src/slz.h WINDOWS_EXPORT_ALL_SYMBOLS ON C_STANDARD 11 C_EXTENSIONS ON ) +include(GNUInstallDirs) install( TARGETS slz - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) diff --git a/recipes/libslz/all/conanfile.py b/recipes/libslz/all/conanfile.py index b33407244e1eb..56bb34708956f 100644 --- a/recipes/libslz/all/conanfile.py +++ b/recipes/libslz/all/conanfile.py @@ -1,17 +1,23 @@ -import functools -from conans import ConanFile, CMake, tools -from conans.tools import ConanInvalidConfiguration +import os + +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 from conan.tools.microsoft import is_msvc -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" + class LibslzConan(ConanFile): name = "libslz" description = "Simple, modern libpng alternative " - topics = ("zlib", "compression",) license = "X11" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.libslz.org/" + topics = ("zlib", "compression") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,14 +27,9 @@ class LibslzConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" def export_sources(self): - self.copy("CMakeLists.txt") + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -36,31 +37,34 @@ 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 validate(self): if is_msvc(self): - raise ConanInvalidConfiguration("{}/{} does not support Visual Studio.".format(self.name, self.version)) + raise ConanInvalidConfiguration(f"{self.ref} does not support 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) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses", ignore_case=True, keep_path=False) - cmake = self._configure_cmake() + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), keep_path=False) + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/libslz/all/test_package/CMakeLists.txt b/recipes/libslz/all/test_package/CMakeLists.txt index 13e3af8ad2791..14c66f6f3d628 100644 --- a/recipes/libslz/all/test_package/CMakeLists.txt +++ b/recipes/libslz/all/test_package/CMakeLists.txt @@ -1,10 +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(TARGETS) - -find_package(libslz REQUIRED) +find_package(libslz REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} libslz::libslz) diff --git a/recipes/libslz/all/test_package/conanfile.py b/recipes/libslz/all/test_package/conanfile.py index 19e6a0c06e3d8..fae501d0afb9e 100644 --- a/recipes/libslz/all/test_package/conanfile.py +++ b/recipes/libslz/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain" + 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/libslz/all/test_v1_package/CMakeLists.txt b/recipes/libslz/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libslz/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/libslz/all/test_v1_package/conanfile.py b/recipes/libslz/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libslz/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2037dc950bd85fb76c76f15419b3c8b062f3098e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 04:26:59 +0300 Subject: [PATCH 1028/4087] (#18664) iqa: migrate to Conan v2 --- recipes/iqa/all/CMakeLists.txt | 18 ++--- recipes/iqa/all/conanfile.py | 65 +++++++++---------- recipes/iqa/all/test_package/CMakeLists.txt | 7 +- recipes/iqa/all/test_package/conanfile.py | 23 +++++-- .../iqa/all/test_v1_package/CMakeLists.txt | 8 +++ recipes/iqa/all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 80 insertions(+), 58 deletions(-) create mode 100644 recipes/iqa/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/iqa/all/test_v1_package/conanfile.py diff --git a/recipes/iqa/all/CMakeLists.txt b/recipes/iqa/all/CMakeLists.txt index 04c167a387fc1..6b7355d415953 100644 --- a/recipes/iqa/all/CMakeLists.txt +++ b/recipes/iqa/all/CMakeLists.txt @@ -1,22 +1,16 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.12) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() - if(MSVC AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() -file(GLOB IQA_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/source/*.c) -file(GLOB IQA_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/include/*.h) +file(GLOB IQA_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/source/*.c) +file(GLOB IQA_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/src/include/*.h) add_library(iqa ${IQA_SOURCES}) -target_include_directories(iqa PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/include) +target_include_directories(iqa PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/include) -install(TARGETS iqa - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin -) +include(GNUInstallDirs) +install(TARGETS iqa) install(FILES ${IQA_HEADERS} DESTINATION include) diff --git a/recipes/iqa/all/conanfile.py b/recipes/iqa/all/conanfile.py index 1f64617c87676..5fed7c16effcf 100644 --- a/recipes/iqa/all/conanfile.py +++ b/recipes/iqa/all/conanfile.py @@ -1,16 +1,22 @@ import os -import glob -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, get, save + +required_conan_version = ">=1.53.0" class IqaConan(ConanFile): name = "iqa" description = "Image Quality Analysis Library" license = "BSD-3-Clause" - topics = ("conan", "iqa", "image", "quality", "analysis") - homepage = "https://github.com/tjdistler/iqa" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/tjdistler/iqa" + topics = ("image", "quality", "analysis") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -19,18 +25,9 @@ class IqaConan(ConanFile): "shared": False, "fPIC": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def 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": @@ -38,40 +35,38 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob('iqa-*/')[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def _extract_license(self): - content_lines = open(os.path.join(self._source_subfolder, "include", "iqa.h")).readlines() + content_lines = open(os.path.join(self.source_folder, "include", "iqa.h")).readlines() license_content = [] for i in range(1, 31): license_content.append(content_lines[i][3:-1]) - tools.save("LICENSE", "\n".join(license_content)) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), "\n".join(license_content)) def package(self): - cmake = self._configure_cmake() - cmake.install() self._extract_license() - self.copy("LICENSE", dst="licenses") + cmake = CMake(self) + cmake.install() def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) if self.settings.os == "Linux": self.cpp_info.system_libs = ["m"] diff --git a/recipes/iqa/all/test_package/CMakeLists.txt b/recipes/iqa/all/test_package/CMakeLists.txt index 094a38e418f47..5401493431040 100644 --- a/recipes/iqa/all/test_package/CMakeLists.txt +++ b/recipes/iqa/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(iqa REQUIRED CONFIG) add_executable(test_package test_package.c) -target_link_libraries(test_package ${CONAN_LIBS}) +target_link_libraries(test_package PRIVATE iqa::iqa) diff --git a/recipes/iqa/all/test_package/conanfile.py b/recipes/iqa/all/test_package/conanfile.py index 02bdaace3b783..ef5d7042163ec 100644 --- a/recipes/iqa/all/test_package/conanfile.py +++ b/recipes/iqa/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/iqa/all/test_v1_package/CMakeLists.txt b/recipes/iqa/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/iqa/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/iqa/all/test_v1_package/conanfile.py b/recipes/iqa/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..54e4743603cf3 --- /dev/null +++ b/recipes/iqa/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From b91047ad2c32fa74ad00c9fd870d364c4abca815 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 05:08:04 +0300 Subject: [PATCH 1029/4087] (#18665) astro-informatics-so3: migrate to Conan v2 --- .../astro-informatics-so3/all/CMakeLists.txt | 7 -- .../astro-informatics-so3/all/conanfile.py | 81 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 87 insertions(+), 54 deletions(-) delete mode 100644 recipes/astro-informatics-so3/all/CMakeLists.txt create mode 100644 recipes/astro-informatics-so3/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/astro-informatics-so3/all/test_v1_package/conanfile.py diff --git a/recipes/astro-informatics-so3/all/CMakeLists.txt b/recipes/astro-informatics-so3/all/CMakeLists.txt deleted file mode 100644 index 0496b29838549..0000000000000 --- a/recipes/astro-informatics-so3/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/astro-informatics-so3/all/conanfile.py b/recipes/astro-informatics-so3/all/conanfile.py index 24be830f3db99..e7486ed5b8c5a 100644 --- a/recipes/astro-informatics-so3/all/conanfile.py +++ b/recipes/astro-informatics-so3/all/conanfile.py @@ -1,69 +1,78 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class AstroInformaticsSO3(ConanFile): name = "astro-informatics-so3" + description = "Fast and accurate Wigner transforms" license = "GPL-3.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/astro-informatics/so3" - description = "Fast and accurate Wigner transforms" - settings = "os", "arch", "compiler", "build_type" topics = ("physics", "astrophysics", "radio interferometry") - options = {"fPIC": [True, False]} - default_options = {"fPIC": True} - - generators = "cmake", "cmake_find_package" - exports_sources = ["CMakeLists.txt"] - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + 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): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): + self.requires("ssht/1.4.0", transitive_headers=True) self.requires("fftw/3.3.9") - self.requires("ssht/1.3.7") def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration( "Visual Studio not supported, since SO3 requires C99 support for complex numbers" ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @property - def cmake(self): - if not hasattr(self, "_cmake"): - self._cmake = CMake(self) - self._cmake.definitions["conan_deps"] = False - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["conan_deps"] = False + tc.variables["CONAN_EXPORTED"] = True + tc.variables["BUILD_TESTING"] = False + tc.generate() + deps = CMakeDeps(self) + deps.set_property("fftw", "cmake_target_name", "FFTW3::FFTW3") + deps.generate() def build(self): - self.cmake.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.cmake.install() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) + cmake.install() def package_info(self): self.cpp_info.libs = ["astro-informatics-so3"] diff --git a/recipes/astro-informatics-so3/all/test_package/CMakeLists.txt b/recipes/astro-informatics-so3/all/test_package/CMakeLists.txt index aecca63b59f68..6e7e3d57dba81 100644 --- a/recipes/astro-informatics-so3/all/test_package/CMakeLists.txt +++ b/recipes/astro-informatics-so3/all/test_package/CMakeLists.txt @@ -1,10 +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(astro-informatics-so3 REQUIRED NO_MODULE) +find_package(astro-informatics-so3 REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.c) target_compile_features(${PROJECT_NAME} PUBLIC c_std_99) diff --git a/recipes/astro-informatics-so3/all/test_package/conanfile.py b/recipes/astro-informatics-so3/all/test_package/conanfile.py index abcaeed3f89b6..ef5d7042163ec 100644 --- a/recipes/astro-informatics-so3/all/test_package/conanfile.py +++ b/recipes/astro-informatics-so3/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.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/astro-informatics-so3/all/test_v1_package/CMakeLists.txt b/recipes/astro-informatics-so3/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/astro-informatics-so3/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/astro-informatics-so3/all/test_v1_package/conanfile.py b/recipes/astro-informatics-so3/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/astro-informatics-so3/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2703f9515f6594d2de93f10c8ca72a719e35fd34 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 05:47:06 +0300 Subject: [PATCH 1030/4087] (#18671) libmbus: migrate to Conan v2 --- recipes/libmbus/all/CMakeLists.txt | 7 -- recipes/libmbus/all/conanfile.py | 87 +++++++++---------- .../libmbus/all/test_package/CMakeLists.txt | 9 +- recipes/libmbus/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libmbus/all/test_v1_package/conanfile.py | 18 ++++ 6 files changed, 85 insertions(+), 66 deletions(-) delete mode 100644 recipes/libmbus/all/CMakeLists.txt create mode 100644 recipes/libmbus/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libmbus/all/test_v1_package/conanfile.py diff --git a/recipes/libmbus/all/CMakeLists.txt b/recipes/libmbus/all/CMakeLists.txt deleted file mode 100644 index 361b35d4c17d9..0000000000000 --- a/recipes/libmbus/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/libmbus/all/conanfile.py b/recipes/libmbus/all/conanfile.py index 5c3ff6e87aae2..841dbf22c8b0d 100644 --- a/recipes/libmbus/all/conanfile.py +++ b/recipes/libmbus/all/conanfile.py @@ -1,36 +1,31 @@ import os -from conans import CMake, ConanFile, 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, rmdir + +required_conan_version = ">=1.53.0" class LibMbusConan(ConanFile): name = "libmbus" + description = "Meter-bus library and utility programs" license = "BSD-3-Clause" - homepage = "https://github.com/rscada/libmbus" url = "https://github.com/conan-io/conan-center-index" - description = """Meter-bus library and utility programs""" - topics = "conan", "mbus", "metering", "iot", "meter", "bus", "protocol" - exports_sources = "CMakeLists.txt" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/rscada/libmbus" + topics = ("mbus", "metering", "iot", "meter", "bus", "protocol") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - generators = "cmake", "cmake_find_package" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": @@ -38,43 +33,41 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): if self.settings.os not in ["Linux"]: - raise ConanInvalidConfiguration("Only Linux supported") - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + raise ConanInvalidConfiguration("Only Linux is supported") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + \ - os.path.basename( - self.conan_data["sources"][self.version]["url"]).split(".")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions['LIBMBUS_ENABLE_COVERAGE'] = False - self._cmake.definitions['LIBMBUS_BUILD_TESTS'] = False - self._cmake.definitions['LIBMBUS_BUILD_EXAMPLES'] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBMBUS_ENABLE_COVERAGE"] = False + tc.variables["LIBMBUS_BUILD_TESTS"] = False + tc.variables["LIBMBUS_BUILD_EXAMPLES"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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, "share")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, - "lib", "libmbus", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "libmbus", "cmake")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == "Linux": + self.cpp_info.libs = ["libmbus"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "m"] diff --git a/recipes/libmbus/all/test_package/CMakeLists.txt b/recipes/libmbus/all/test_package/CMakeLists.txt index 34af13462f44f..076d1645a34b0 100644 --- a/recipes/libmbus/all/test_package/CMakeLists.txt +++ b/recipes/libmbus/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 C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libmbus REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libmbus::libmbus) diff --git a/recipes/libmbus/all/test_package/conanfile.py b/recipes/libmbus/all/test_package/conanfile.py index 933dbf96533ae..fae501d0afb9e 100644 --- a/recipes/libmbus/all/test_package/conanfile.py +++ b/recipes/libmbus/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" + test_type = "explicit" -class TestConan(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.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = 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/libmbus/all/test_v1_package/CMakeLists.txt b/recipes/libmbus/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libmbus/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/libmbus/all/test_v1_package/conanfile.py b/recipes/libmbus/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9de3689208f00 --- /dev/null +++ b/recipes/libmbus/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + bin_path = self.run(bin_path, run_environment=True) From 1214ee4ecc21e09c2bb471df8f4fd1249d0a0927 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 23 Jul 2023 06:27:12 +0300 Subject: [PATCH 1031/4087] (#18703) libgta: migrate to Conan v2 --- recipes/libgta/all/CMakeLists.txt | 7 -- recipes/libgta/all/conanfile.py | 102 ++++++++++-------- .../libgta/all/test_package/CMakeLists.txt | 7 +- recipes/libgta/all/test_package/conanfile.py | 21 ++-- .../libgta/all/test_v1_package/CMakeLists.txt | 8 ++ .../libgta/all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 103 insertions(+), 59 deletions(-) delete mode 100644 recipes/libgta/all/CMakeLists.txt create mode 100644 recipes/libgta/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libgta/all/test_v1_package/conanfile.py diff --git a/recipes/libgta/all/CMakeLists.txt b/recipes/libgta/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/libgta/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libgta/all/conanfile.py b/recipes/libgta/all/conanfile.py index a0064e504c27d..a15e741e867e1 100644 --- a/recipes/libgta/all/conanfile.py +++ b/recipes/libgta/all/conanfile.py @@ -1,69 +1,87 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, get, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" + class LibgtaConan(ConanFile): name = "libgta" description = "Library that reads and writes GTA (Generic Tagged Arrays) files." license = "LGPL-2.1-or-later" - topics = ("conan", "libgta", "gta") - homepage = "https://marlam.de/gta" url = "https://github.com/conan-io/conan-center-index" - exports_sources = "CMakeLists.txt" - generators = "cmake" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + homepage = "https://marlam.de/gta" + topics = ("gta",) - @property - def _build_subfolder(self): - return "build_subfolder" + 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): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["GTA_BUILD_STATIC_LIB"] = not self.options.shared + tc.variables["GTA_BUILD_SHARED_LIB"] = self.options.shared + tc.variables["GTA_BUILD_DOCUMENTATION"] = False + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "${CMAKE_SOURCE_DIR}", + "${CMAKE_CURRENT_SOURCE_DIR}") def build(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "${CMAKE_SOURCE_DIR}", "${CMAKE_CURRENT_SOURCE_DIR}") - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["GTA_BUILD_STATIC_LIB"] = not self.options.shared - self._cmake.definitions["GTA_BUILD_SHARED_LIB"] = self.options.shared - self._cmake.definitions["GTA_BUILD_DOCUMENTATION"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("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")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): + # https://marlam.de/gta/documentation/ uses GTA as the package name + self.cpp_info.set_property("cmake_file_name", "GTA") + self.cpp_info.set_property("cmake_target_name", "GTA::GTA") + self.cpp_info.set_property("pkg_config_name", "gta") + self.cpp_info.libs = collect_libs(self) + if is_msvc(self) and not self.options.shared: + self.cpp_info.defines.append("GTA_STATIC") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "GTA" self.cpp_info.names["cmake_find_package_multi"] = "GTA" - self.cpp_info.names["pkg_config"] = "gta" - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.compiler == "Visual Studio" and not self.options.shared: - self.cpp_info.defines.append("GTA_STATIC") diff --git a/recipes/libgta/all/test_package/CMakeLists.txt b/recipes/libgta/all/test_package/CMakeLists.txt index 7b9b613cbb24a..3bb9ae06e8bb8 100644 --- a/recipes/libgta/all/test_package/CMakeLists.txt +++ b/recipes/libgta/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(GTA REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE GTA::GTA) diff --git a/recipes/libgta/all/test_package/conanfile.py b/recipes/libgta/all/test_package/conanfile.py index ea57a464900be..ef5d7042163ec 100644 --- a/recipes/libgta/all/test_package/conanfile.py +++ b/recipes/libgta/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/libgta/all/test_v1_package/CMakeLists.txt b/recipes/libgta/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libgta/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/libgta/all/test_v1_package/conanfile.py b/recipes/libgta/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..84ee68733e516 --- /dev/null +++ b/recipes/libgta/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From eda10bab6beaaa2a079caeca765057f165a80ffa Mon Sep 17 00:00:00 2001 From: choll Date: Sun, 23 Jul 2023 23:10:42 +0100 Subject: [PATCH 1032/4087] (#18856) xtr: bump to 2.1.0 --- recipes/xtr/all/conandata.yml | 3 +++ recipes/xtr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xtr/all/conandata.yml b/recipes/xtr/all/conandata.yml index 73147ae073149..c4c7a036934fc 100644 --- a/recipes/xtr/all/conandata.yml +++ b/recipes/xtr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/choll/xtr/archive/refs/tags/2.1.0.tar.gz" + sha256: "5abe2e53d91a893d63998968450d9bbfc23c45f552c81e2b7d17694699ab17c4" "2.0.1": url: "https://github.com/choll/xtr/archive/refs/tags/2.0.1.tar.gz" sha256: "92327264541900a2c9d43aaa3070d143d5e91879737fcea8cbf56065330af059" diff --git a/recipes/xtr/config.yml b/recipes/xtr/config.yml index 066b0d5ac74d1..ecc6dca2fd252 100644 --- a/recipes/xtr/config.yml +++ b/recipes/xtr/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.1": folder: all "2.0.0": From 1d8e33a55811ffc5ea3f1135ccc7b07c79e74cf5 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 24 Jul 2023 08:02:53 +0200 Subject: [PATCH 1033/4087] (#18838) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index d9f1bd61e113a..a660a23ab7baa 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -13,6 +13,7 @@ required_for_references: - aeron - aggeom-agg - alac +- alembic - alpaca - amgcl - amqp-cpp @@ -25,6 +26,7 @@ required_for_references: - apr - apr-util - apriltag +- archicad-apidevkit - arcus - arduinojson - arg_router @@ -37,6 +39,7 @@ required_for_references: - arsenalgear - artery-font-format - asio +- asio-grpc - asmjit - astc-codec - async_simple @@ -57,6 +60,7 @@ required_for_references: - aws-c-mqtt - aws-c-sdkutils - aws-checksums +- aws-libfabric - b2 - b64 - backport-cpp @@ -143,6 +147,7 @@ required_for_references: - cmake - cmocka - cmp +- cn-cbor - cnpy - coin-cgl - coin-clp @@ -172,6 +177,7 @@ required_for_references: - cpptoml - cppunit - cpputest +- cppzmq - cpr - cpu_features - cpuinfo @@ -231,12 +237,15 @@ required_for_references: - earcut - eastl - easy_profiler +- easyhttpcpp - ecos - editline - edlib +- edyn - effcee - effolkronium-random - egl +- egl-headers - eigen - elfio - embree3 @@ -260,9 +269,13 @@ required_for_references: - fakeit - farmhash - fast-cdr +- fast-cpp-csv-parser - fast-dds +- fast_double_parser - fast_float - fastgltf +- fastpfor +- fastprng - fernandovelcic-hexdump - fff - ffmpeg @@ -278,6 +291,7 @@ required_for_references: - fontconfig - foonathan-lexy - foonathan-memory +- forestdb - foxglove-schemas-protobuf - fp16 - freeglut @@ -310,6 +324,7 @@ required_for_references: - glm - glog - glpk +- glshaderpp - glslang - glu - gmp @@ -354,6 +369,7 @@ required_for_references: - imake - imath - imgui +- imguizmo - incbin - indicators - indirect_value @@ -431,6 +447,7 @@ required_for_references: - libiberty - libiconv - libinterpolate +- libipt - libjpeg - libjpeg-turbo - libkml @@ -441,6 +458,7 @@ required_for_references: - libmediainfo - libmemcached - libmikmod +- libmnl - libmodbus - libmodplug - libmorton @@ -472,6 +490,7 @@ required_for_references: - libselinux - libserial - libsgp4 +- libslz - libsmacker - libsndfile - libsodium @@ -527,8 +546,10 @@ required_for_references: - mailio - make - mariadb-connector-c +- marisa - matchit - mathter +- matio - mattiasgustavsson-libs - maven - mawk @@ -626,7 +647,9 @@ required_for_references: - p-ranav-glob - paho-mqtt-c - paho-mqtt-cpp +- parg - patchelf +- pbtools - pcapplusplus - pcg-cpp - pcre @@ -658,6 +681,7 @@ required_for_references: - pugixml - pulseaudio - pybind11 +- pybind11_json - pystring - qhull - qpdf @@ -687,6 +711,7 @@ required_for_references: - replxx - restbed - restinio +- rg-etc1 - ring-span-lite - rmm - roaring @@ -711,6 +736,7 @@ required_for_references: - sentry-breakpad - sentry-crashpad - sentry-native +- seqan - serd - serdepp - sfml @@ -741,6 +767,7 @@ required_for_references: - sqlitecpp - sqlpp11 - ssht +- st_tree - status-code - stb - stlab @@ -768,6 +795,7 @@ required_for_references: - thrift - thrust - timsort +- tiny-dnn - tinycthread - tinycthreadpool - tinydir @@ -782,6 +810,7 @@ required_for_references: - tlx - toml11 - trantor +- tree-sitter - troldal-zippy - tsl-hopscotch-map - turtle @@ -826,6 +855,7 @@ required_for_references: - websocketpp - wg21-linear_algebra - wglext +- whereami - whisper-cpp - wil - winflexbison @@ -849,6 +879,7 @@ required_for_references: - xorg-makedepend - xorg-proto - xoshiro-cpp +- xsd - xsimd - xtensor - xtl From aafe6899408fecc46b52c992b1695a588dc3692d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 24 Jul 2023 08:23:03 +0200 Subject: [PATCH 1034/4087] (#18767) [bot] Update list of references (prod-v2/ListPackages) From 1b4b0279c9b20856f49cdb0cfbe7b308c243e8a1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 24 Jul 2023 08:42:30 +0200 Subject: [PATCH 1035/4087] (#18774) [bot] Update list of references (prod-v2/ListPackages) From a3fae2a757f8a6fafc7c712510f4190dd8dd5329 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 24 Jul 2023 09:02:23 +0200 Subject: [PATCH 1036/4087] (#18851) [bot] Update list of references (prod-v2/ListPackages) --- .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 a660a23ab7baa..9b1a222098118 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -42,6 +42,7 @@ required_for_references: - asio-grpc - asmjit - astc-codec +- astro-informatics-so3 - async_simple - asyncly - asyncplusplus @@ -281,10 +282,12 @@ required_for_references: - ffmpeg - fft - fftw +- fire-hpp - flac - flann - flatbuffers - flatbush +- flecs - flex - fmt - fmtlog @@ -293,10 +296,15 @@ required_for_references: - foonathan-memory - forestdb - foxglove-schemas-protobuf +- foxi - fp16 - freeglut +- freeimage - freetype +- freexl +- fribidi - frozen +- fruit - ftxui - function2 - fxdiv @@ -378,6 +386,7 @@ required_for_references: - inja - intel-neon2sse - inversify-cpp +- iqa - itlib - jasper - jbig @@ -443,6 +452,7 @@ required_for_references: - libgpg-error - libgphoto2 - libgpiod +- libgta - libharu - libiberty - libiconv @@ -455,6 +465,7 @@ required_for_references: - libltc - liblzf - libmad +- libmbus - libmediainfo - libmemcached - libmikmod From 8e73e146e9791c11b42693f2cb9b947b1df1715a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 24 Jul 2023 10:29:53 +0300 Subject: [PATCH 1037/4087] (#18709) cpp-ipc: migrate to Conan v2 * cpp-ipc: migrate to Conan v2 * cpp-ipc: restore is_apple_os usage * cpp-ipc: add m --- recipes/cpp-ipc/all/CMakeLists.txt | 7 -- recipes/cpp-ipc/all/conanfile.py | 90 +++++++++++-------- .../cpp-ipc/all/test_package/CMakeLists.txt | 5 +- recipes/cpp-ipc/all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../cpp-ipc/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 92 insertions(+), 56 deletions(-) delete mode 100644 recipes/cpp-ipc/all/CMakeLists.txt create mode 100644 recipes/cpp-ipc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cpp-ipc/all/test_v1_package/conanfile.py diff --git a/recipes/cpp-ipc/all/CMakeLists.txt b/recipes/cpp-ipc/all/CMakeLists.txt deleted file mode 100644 index e17d82eddcc5d..0000000000000 --- a/recipes/cpp-ipc/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper LANGUAGES CXX) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/cpp-ipc/all/conanfile.py b/recipes/cpp-ipc/all/conanfile.py index b11041af3f594..5baa058938b2b 100644 --- a/recipes/cpp-ipc/all/conanfile.py +++ b/recipes/cpp-ipc/all/conanfile.py @@ -1,17 +1,26 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class CppIPCConan(ConanFile): name = "cpp-ipc" description = "C++ IPC Library: A high-performance inter-process communication using shared memory on Linux/Windows." - topics = ("ipc", "shared memory", ) + license = ("MIT",) url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mutouyun/cpp-ipc" - license = "MIT", + topics = ("ipc", "shared memory") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ["CMakeLists.txt"] options = { "shared": [True, False], "fPIC": [True, False], @@ -21,19 +30,18 @@ class CppIPCConan(ConanFile): "fPIC": True, } - generators = "cmake" - - _compiler_required_cpp17 = { - "Visual Studio": "17", - "gcc": "8", - "clang": "4", - } - - _cmake = None + @property + def _min_cppstd(self): + return 17 @property - def _source_subfolder(self): - return "source_subfolder" + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "4", + "msvc": "193", + "Visual Studio": "17", + } def config_options(self): if self.settings.os == "Windows": @@ -41,47 +49,51 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): - if tools.is_apple_os(self.settings.os): - raise ConanInvalidConfiguration("{} does not support Apple platform".format(self.name)) + if is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.name} does not support Apple platform") if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compiler_required_cpp17.get(str(self.settings.compiler), False) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++17, which your compiler does not support.".format(self.name)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " + "which your compiler does not support.") else: - self.output.warn("{0} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name)) + self.output.warning(f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. " + f"Assuming it supports C++{self._min_cppstd}.") if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": - raise ConanInvalidConfiguration("{} doesn't support clang with libc++".format(self.name)) + raise ConanInvalidConfiguration(f"{self.name} doesn't support clang with libc++") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["LIBIPC_BUILD_SHARED_LIBS"] = self.options.shared - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBIPC_BUILD_SHARED_LIBS"] = self.options.shared + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.libs = ["ipc"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["rt", "pthread"] + self.cpp_info.system_libs = ["rt", "pthread", "m"] diff --git a/recipes/cpp-ipc/all/test_package/CMakeLists.txt b/recipes/cpp-ipc/all/test_package/CMakeLists.txt index c258338b9324e..ad0594de35161 100644 --- a/recipes/cpp-ipc/all/test_package/CMakeLists.txt +++ b/recipes/cpp-ipc/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(cpp-ipc REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/cpp-ipc/all/test_package/conanfile.py b/recipes/cpp-ipc/all/test_package/conanfile.py index 49a3a66ea5bad..fae501d0afb9e 100644 --- a/recipes/cpp-ipc/all/test_package/conanfile.py +++ b/recipes/cpp-ipc/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" + 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/cpp-ipc/all/test_v1_package/CMakeLists.txt b/recipes/cpp-ipc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cpp-ipc/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/cpp-ipc/all/test_v1_package/conanfile.py b/recipes/cpp-ipc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/cpp-ipc/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 d32bd41c2ede09ffe33643c7e458e3c20e19aa48 Mon Sep 17 00:00:00 2001 From: Jacob Bandes-Storch Date: Mon, 24 Jul 2023 01:12:05 -0700 Subject: [PATCH 1038/4087] (#18784) mcap: add version 1.1.0 and 1.2.0 * mcap: add version 1.1.0 and 1.2.0 * add tested_reference_str --- recipes/mcap/all/conandata.yml | 6 ++++++ recipes/mcap/all/test_package/conanfile.py | 3 +++ recipes/mcap/config.yml | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/recipes/mcap/all/conandata.yml b/recipes/mcap/all/conandata.yml index 4d475c04d971c..a1bc6133e68c9 100644 --- a/recipes/mcap/all/conandata.yml +++ b/recipes/mcap/all/conandata.yml @@ -1,4 +1,10 @@ sources: + 1.2.0: + url: "https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.2.0/main.tar.gz" + sha256: "11a6badecac2b10e9687e912648a6e9679ef8731e4ab9570346ae9845ae64a65" + 1.1.0: + url: "https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.1.0/main.tar.gz" + sha256: "1cb2ae9f2e910eeb2e93b3ab722744d1805b9da45764e4fd88703b669413350d" 1.0.0: url: "https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.0.0/main.tar.gz" sha256: "e36169e46a67a9431f73df335f67488461817bc423f9af63ac0af7f29e0bd696" diff --git a/recipes/mcap/all/test_package/conanfile.py b/recipes/mcap/all/test_package/conanfile.py index 14c16cdc02a92..615cc1d54ffcc 100644 --- a/recipes/mcap/all/test_package/conanfile.py +++ b/recipes/mcap/all/test_package/conanfile.py @@ -11,6 +11,9 @@ class TestPackageConan(ConanFile): def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mcap/config.yml b/recipes/mcap/config.yml index 8d906d6516e97..bfc72fea8d81a 100644 --- a/recipes/mcap/config.yml +++ b/recipes/mcap/config.yml @@ -1,4 +1,8 @@ versions: + 1.2.0: + folder: all + 1.1.0: + folder: all 1.0.0: folder: all 0.9.0: From 4f03f6573bc2035ee42bc6d1a7c6a7af9b636767 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 24 Jul 2023 17:50:46 +0900 Subject: [PATCH 1039/4087] (#18825) xxhash: add version 0.8.2, add package_type --- recipes/xxhash/all/conandata.yml | 4 +++- recipes/xxhash/all/conanfile.py | 9 ++++----- recipes/xxhash/config.yml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/xxhash/all/conandata.yml b/recipes/xxhash/all/conandata.yml index a0b4d68deb6b4..06fb02fd0ae83 100644 --- a/recipes/xxhash/all/conandata.yml +++ b/recipes/xxhash/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.2": + url: "https://github.com/Cyan4973/xxHash/archive/v0.8.2.tar.gz" + sha256: "baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4" "0.8.1": url: "https://github.com/Cyan4973/xxHash/archive/v0.8.1.tar.gz" sha256: "3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c" @@ -10,7 +13,6 @@ patches: - patch_file: "patches/0.8.1-fix-cmakelists.patch" patch_description: "Update CMakeLists.txt to properly install manuals" patch_type: conan - - patch_file: "patches/0.8.1-fix-static-assert-link-error.patch" patch_source: "https://github.com/Cyan4973/xxHash/commit/6189ecd3d44a693460f86280ccf49d33cb4b18e1" patch_description: "Backport fix for link error" diff --git a/recipes/xxhash/all/conanfile.py b/recipes/xxhash/all/conanfile.py index 7ce90e1beb92a..3e018a810c976 100644 --- a/recipes/xxhash/all/conanfile.py +++ b/recipes/xxhash/all/conanfile.py @@ -8,12 +8,12 @@ class XxHashConan(ConanFile): name = "xxhash" + description = "Extremely fast non-cryptographic hash algorithm" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Cyan4973/xxHash" - description = "Extremely fast non-cryptographic hash algorithm" topics = ("hash", "algorithm", "fast", "checksum", "hash-functions") - license = "BSD-2-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -43,8 +43,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/xxhash/config.yml b/recipes/xxhash/config.yml index 20824a4afbb4d..50595ee5e4913 100644 --- a/recipes/xxhash/config.yml +++ b/recipes/xxhash/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.2": + folder: all "0.8.1": folder: all "0.8.0": From 2446b360494107ceae62dd885b3d6c52fdfdc453 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 25 Jul 2023 17:53:19 +0300 Subject: [PATCH 1040/4087] (#18740) libnfnetlink: migrate to Conan v2 Co-authored-by: Daniel --- recipes/libnfnetlink/all/conanfile.py | 87 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 22 +++-- .../libnfnetlink/all/test_package/example.cpp | 5 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ 6 files changed, 92 insertions(+), 55 deletions(-) create mode 100644 recipes/libnfnetlink/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libnfnetlink/all/test_v1_package/conanfile.py diff --git a/recipes/libnfnetlink/all/conanfile.py b/recipes/libnfnetlink/all/conanfile.py index 10540d39fbf9c..3797ae3ceea3a 100644 --- a/recipes/libnfnetlink/all/conanfile.py +++ b/recipes/libnfnetlink/all/conanfile.py @@ -1,67 +1,70 @@ import os -import functools -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + class LibnfnetlinkConan(ConanFile): name = "libnfnetlink" + description = "low-level library for netfilter related kernel/userspace communication" license = "GPL-2.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://netfilter.org/projects/libnfnetlink/index.html" - description = "low-level library for netfilter related kernel/userspace communication" - topics = ("libnfnetlink", "netlink", "netfilter") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + topics = ("netlink", "netfilter") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("libnfnetlink is only supported on Linux") - def configure(self): - if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self) - conf_args = [] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - autotools.configure(configure_dir=self._source_subfolder, args=conf_args) - return autotools + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("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.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", self.package_folder, recursive=True) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.libs = ["nfnetlink"] - self.cpp_info.set_property("pkg_config_name", "libnfnetlink") - - # TODO: to remove in conan v2 once pkg_config generator is removed - self.cpp_info.names["pkg_config"] = "libnfnetlink" + self.cpp_info.set_property("pkg_config_name", "libnfnetlink") diff --git a/recipes/libnfnetlink/all/test_package/CMakeLists.txt b/recipes/libnfnetlink/all/test_package/CMakeLists.txt index d4fdee1a8a79c..7e1aa1808dfd5 100644 --- a/recipes/libnfnetlink/all/test_package/CMakeLists.txt +++ b/recipes/libnfnetlink/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -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(libnfnetlink REQUIRED CONFIG) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example libnfnetlink::libnfnetlink) diff --git a/recipes/libnfnetlink/all/test_package/conanfile.py b/recipes/libnfnetlink/all/test_package/conanfile.py index e4f1965959dec..e0f447388fa1b 100644 --- a/recipes/libnfnetlink/all/test_package/conanfile.py +++ b/recipes/libnfnetlink/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" + test_type = "explicit" -class LibnfnetlinkTestConan(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", "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/libnfnetlink/all/test_package/example.cpp b/recipes/libnfnetlink/all/test_package/example.cpp index 95153d8532f51..395453bdde08a 100644 --- a/recipes/libnfnetlink/all/test_package/example.cpp +++ b/recipes/libnfnetlink/all/test_package/example.cpp @@ -1,7 +1,8 @@ -#include -#include #include +#include +#include + int main() { struct nfnl_handle *nl = nfnl_open(); if (nl == NULL) { diff --git a/recipes/libnfnetlink/all/test_v1_package/CMakeLists.txt b/recipes/libnfnetlink/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libnfnetlink/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/libnfnetlink/all/test_v1_package/conanfile.py b/recipes/libnfnetlink/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c8689f282274d --- /dev/null +++ b/recipes/libnfnetlink/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class LibnfnetlinkTestConan(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 108aa461a886be7a09ee5bf50faf91141e6fb2de Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Tue, 25 Jul 2023 19:46:00 +0200 Subject: [PATCH 1041/4087] (#18634) add svgpp library * add svgpp * add c++11 compiler feature to test_package fix * Update recipes/svgpp/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/svgpp/all/conandata.yml | 4 ++ recipes/svgpp/all/conanfile.py | 59 +++++++++++++++++++ recipes/svgpp/all/test_package/CMakeLists.txt | 8 +++ recipes/svgpp/all/test_package/conanfile.py | 26 ++++++++ .../svgpp/all/test_package/test_package.cpp | 23 ++++++++ recipes/svgpp/config.yml | 3 + 6 files changed, 123 insertions(+) create mode 100644 recipes/svgpp/all/conandata.yml create mode 100644 recipes/svgpp/all/conanfile.py create mode 100644 recipes/svgpp/all/test_package/CMakeLists.txt create mode 100644 recipes/svgpp/all/test_package/conanfile.py create mode 100644 recipes/svgpp/all/test_package/test_package.cpp create mode 100644 recipes/svgpp/config.yml diff --git a/recipes/svgpp/all/conandata.yml b/recipes/svgpp/all/conandata.yml new file mode 100644 index 0000000000000..b4612b4441137 --- /dev/null +++ b/recipes/svgpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20221030": + url: "https://github.com/svgpp/svgpp/archive/1583a7b209038bfd0d98c6ce7d4c93986f7b235e.tar.gz" + sha256: "95f4145c43aada913e7b24e37d20d0eef5f170a7c70e00ffcb318a3910b43ca6" diff --git a/recipes/svgpp/all/conanfile.py b/recipes/svgpp/all/conanfile.py new file mode 100644 index 0000000000000..f683b8d50fc0b --- /dev/null +++ b/recipes/svgpp/all/conanfile.py @@ -0,0 +1,59 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class SvgPPConan(ConanFile): + name = "svgpp" + description = "SVG++ library contains parsers for various SVG syntaxes, " \ + "adapters that simplify handling of parsed data and a lot of other utilities and helpers for the most common tasks." + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/svgpp/svgpp" + topics = ("svgpp", "svg", "parser", "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 requirements(self): + self.requires("boost/1.82.0", transitive_headers=True) + + 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, pattern="LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.requires.append("boost::headers") diff --git a/recipes/svgpp/all/test_package/CMakeLists.txt b/recipes/svgpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..366f84e91c306 --- /dev/null +++ b/recipes/svgpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(svgpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE svgpp::svgpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/svgpp/all/test_package/conanfile.py b/recipes/svgpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/svgpp/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/svgpp/all/test_package/test_package.cpp b/recipes/svgpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..cb8c51e57fb33 --- /dev/null +++ b/recipes/svgpp/all/test_package/test_package.cpp @@ -0,0 +1,23 @@ +#include +#include +#include + +using namespace svgpp; + +struct Context +{ + void transform_matrix(const boost::array & matrix) + { + std::copy(matrix.begin(), matrix.end(), + std::ostream_iterator(std::cout, " ")); + std::cout << "\n"; + } +}; + +int main() +{ + Context context; + value_parser::parse(tag::attribute::transform(), context, + std::string("translate(-10,-20) scale(2) rotate(45) translate(5,10)"), tag::source::attribute()); + return 0; +} diff --git a/recipes/svgpp/config.yml b/recipes/svgpp/config.yml new file mode 100644 index 0000000000000..d6e527e7221f4 --- /dev/null +++ b/recipes/svgpp/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20221030": + folder: "all" From a547bc7a5c09a7108421c59cce729eeb70cad55b Mon Sep 17 00:00:00 2001 From: qwqbot Date: Wed, 26 Jul 2023 11:07:44 +0800 Subject: [PATCH 1042/4087] (#18858) add intx * add intx * fix * test v1 * compiler check * resolve comment * clean import --------- Co-authored-by: Carlos Zoido --- recipes/intx/all/conandata.yml | 4 ++ recipes/intx/all/conanfile.py | 65 +++++++++++++++++++ recipes/intx/all/test_package/CMakeLists.txt | 8 +++ recipes/intx/all/test_package/conanfile.py | 26 ++++++++ .../intx/all/test_package/test_package.cpp | 6 ++ .../intx/all/test_v1_package/CMakeLists.txt | 9 +++ recipes/intx/all/test_v1_package/conanfile.py | 18 +++++ recipes/intx/config.yml | 3 + 8 files changed, 139 insertions(+) create mode 100644 recipes/intx/all/conandata.yml create mode 100644 recipes/intx/all/conanfile.py create mode 100644 recipes/intx/all/test_package/CMakeLists.txt create mode 100644 recipes/intx/all/test_package/conanfile.py create mode 100644 recipes/intx/all/test_package/test_package.cpp create mode 100644 recipes/intx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/intx/all/test_v1_package/conanfile.py create mode 100644 recipes/intx/config.yml diff --git a/recipes/intx/all/conandata.yml b/recipes/intx/all/conandata.yml new file mode 100644 index 0000000000000..82ca4023ed3e5 --- /dev/null +++ b/recipes/intx/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "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 new file mode 100644 index 0000000000000..7d3e3dcf60652 --- /dev/null +++ b/recipes/intx/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.51.1" + +class IntxConan(ConanFile): + name = "intx" + description = "Extended precision integer C++ library" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/chfast/intx" + topics = ("evm", "biginteger", "arbitrary-precision", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 20 + + def layout(self): + basic_layout(self, src_folder="src") + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "12", + "clang": "15", + "apple-clang": "14.1", + } + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/intx/all/test_package/CMakeLists.txt b/recipes/intx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..460d6198ba06f --- /dev/null +++ b/recipes/intx/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(intx REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE intx::intx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/intx/all/test_package/conanfile.py b/recipes/intx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/intx/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/intx/all/test_package/test_package.cpp b/recipes/intx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e9521bde28299 --- /dev/null +++ b/recipes/intx/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include + +int main(int argc, char**) +{ + return static_cast(intx::uint512{argc} / (intx::uint512{1} << 111)); +} diff --git a/recipes/intx/all/test_v1_package/CMakeLists.txt b/recipes/intx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9652e22fc19d5 --- /dev/null +++ b/recipes/intx/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.12) + +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/intx/all/test_v1_package/conanfile.py b/recipes/intx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/intx/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/intx/config.yml b/recipes/intx/config.yml new file mode 100644 index 0000000000000..36cf695df0df6 --- /dev/null +++ b/recipes/intx/config.yml @@ -0,0 +1,3 @@ +versions: + "0.10.1": + folder: all From a628dae46424b0bc7ce8089b66fb33bc08664de5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 2 Aug 2023 12:28:56 +0300 Subject: [PATCH 1043/4087] (#18754) upx: migrate to Conan v2 Co-authored-by: Carlos Zoido --- recipes/upx/all/conanfile.py | 56 ++++++++++++------- recipes/upx/all/test_package/CMakeLists.txt | 5 +- recipes/upx/all/test_package/conanfile.py | 24 +++++--- recipes/upx/all/test_package/test_package.c | 2 +- .../upx/all/test_v1_package/CMakeLists.txt | 8 +++ recipes/upx/all/test_v1_package/conanfile.py | 35 ++++++++++++ 6 files changed, 96 insertions(+), 34 deletions(-) create mode 100644 recipes/upx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/upx/all/test_v1_package/conanfile.py diff --git a/recipes/upx/all/conanfile.py b/recipes/upx/all/conanfile.py index ebbe1deba6846..4a0f911cedf71 100644 --- a/recipes/upx/all/conanfile.py +++ b/recipes/upx/all/conanfile.py @@ -1,23 +1,29 @@ -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.files import copy, get + +required_conan_version = ">=1.47.0" class UPXConan(ConanFile): name = "upx" description = "UPX - the Ultimate Packer for eXecutables " - license = "GPL-2.0-or-later", "special-exception-for-compressed-executables" + license = ("GPL-2.0-or-later", "special-exception-for-compressed-executables") url = "https://github.com/conan-io/conan-center-index" homepage = "https://upx.github.io/" - topics = ("packer", "executable", "compression", "size", "reduction", "small", "footprintt") - no_copy_source = True - settings = "os", "arch" + topics = ("packer", "executable", "compression", "size", "reduction", "small", "footprintt", "pre-built") + + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + pass - @property - def _source_subfolder(self): - return "source_subfolder" + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type def _conan_data_sources(self): # Don't surround this with try/catch to catch unknown versions @@ -32,24 +38,32 @@ def validate(self): raise ConanInvalidConfiguration(f"This recipe has no upx binary for os/arch={self.settings.os}/{self.settings.arch}") def build(self): - tools.get(**self._conan_data_sources(), - destination=self._source_subfolder, strip_root=True) + get(self, **self._conan_data_sources(), strip_root=True) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - if self.settings.os == "Windows": - self.copy("upx.exe", src=self._source_subfolder, dst="bin") - else: - self.copy("upx", src=self._source_subfolder, dst="bin") + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + extension = ".exe" if self.settings.os == "Windows" else "" + copy(self, f"upx{extension}", + src=self.source_folder, + dst=os.path.join(self.package_folder, "bin")) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") - self.env_info.PATH.append(bin_path) - bin_ext = ".exe" if self.settings.os == "Windows" else "" upx = os.path.join(bin_path, f"upx{bin_ext}") + self.conf_info.define("user.upx:upx", upx) + + # TODO: to remove in conan v2 + self.output.info(f"Appending PATH environment variable: {bin_path}") + self.env_info.PATH.append(bin_path) self.user_info.upx = upx diff --git a/recipes/upx/all/test_package/CMakeLists.txt b/recipes/upx/all/test_package/CMakeLists.txt index f31cfe1e1aa8e..e58a04fd19cf1 100644 --- a/recipes/upx/all/test_package/CMakeLists.txt +++ b/recipes/upx/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU") add_link_options(-static) endif() -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/upx/all/test_package/conanfile.py b/recipes/upx/all/test_package/conanfile.py index 8274c17267c14..8d1367a88209a 100644 --- a/recipes/upx/all/test_package/conanfile.py +++ b/recipes/upx/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,21 +21,20 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): + if can_run(self): bin_ext = ".exe" if self.settings.os == "Windows" else "" - bin_path = os.path.join("bin", f"test_package{bin_ext}") + bin_path = os.path.join(self.cpp.build.bindir, f"test_package{bin_ext}") - upx_bin = self.deps_user_info["upx"].upx - self.run(f"{upx_bin} --help", run_environment=True) + self.run(f"upx --help") original_size = os.stat(bin_path).st_size - self.run(f"{upx_bin} {bin_path}", run_environment=True) + self.run(f"upx {bin_path}") packed_size = os.stat(bin_path).st_size # Run the packed executable to see whether it still works - self.run(bin_path, run_environment=True) + self.run(bin_path, env="conanrun") self.output.info(f"File: {bin_path}") self.output.info(f"Original size: {original_size:>9}") diff --git a/recipes/upx/all/test_package/test_package.c b/recipes/upx/all/test_package/test_package.c index 725533f119f42..f81e0540072d7 100644 --- a/recipes/upx/all/test_package/test_package.c +++ b/recipes/upx/all/test_package/test_package.c @@ -1,6 +1,6 @@ #include -int main(int argc, char *argv[]) { +int main() { puts("Hello world!"); return 0; } diff --git a/recipes/upx/all/test_v1_package/CMakeLists.txt b/recipes/upx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/upx/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/upx/all/test_v1_package/conanfile.py b/recipes/upx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2b7a8250c9937 --- /dev/null +++ b/recipes/upx/all/test_v1_package/conanfile.py @@ -0,0 +1,35 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + bin_ext = ".exe" if self.settings.os == "Windows" else "" + bin_path = os.path.join("bin", f"test_package{bin_ext}") + + upx_bin = self.deps_user_info["upx"].upx + self.run(f"{upx_bin} --help", run_environment=True) + + original_size = os.stat(bin_path).st_size + + self.run(f"{upx_bin} {bin_path}", run_environment=True) + + packed_size = os.stat(bin_path).st_size + + # Run the packed executable to see whether it still works + self.run(bin_path, run_environment=True) + + self.output.info(f"File: {bin_path}") + self.output.info(f"Original size: {original_size:>9}") + self.output.info(f"Packed size: {packed_size:>9}") + self.output.info(f" ---------") + self.output.info(f"Size diff: {original_size-packed_size:>9}") From 4660fa8c40ef4827d529d73c201eb3d6854d6ad3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 2 Aug 2023 18:59:29 +0900 Subject: [PATCH 1044/4087] (#18918) unordered_dense: add version 4.0.4, remove older versions --- recipes/unordered_dense/all/conandata.yml | 15 +++------------ recipes/unordered_dense/config.yml | 10 ++-------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index b69698c93c08e..5002689bc73b0 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/martinus/unordered_dense/archive/v4.0.4.tar.gz" + sha256: "b34a8c942963e3a647f1bbc192a6391cd56d7ae615b2ddc1601c1779b5792206" "4.0.1": url: "https://github.com/martinus/unordered_dense/archive/v4.0.1.tar.gz" sha256: "6c8be4f76fed592f8c1ae07ce07eaa8749ed3a929a84a502764564dcbcc53a76" @@ -14,24 +17,12 @@ sources: "3.0.2": url: "https://github.com/martinus/unordered_dense/archive/v3.0.2.tar.gz" sha256: "0c0b874e9682cce3c75a1152308bfbb108538aaf1e90824d7789e2b64122520b" - "3.0.0": - url: "https://github.com/martinus/unordered_dense/archive/v3.0.0.tar.gz" - sha256: "e73452d7c1e274b4a15b553c0904f1de4bcfa61b00514acd1eaad7deac805ef0" "2.0.1": url: "https://github.com/martinus/unordered_dense/archive/v2.0.1.tar.gz" sha256: "450d53bd8709f9476702a3c4975bf6e40d66059b25b125e480534228d7f5616d" - "2.0.0": - url: "https://github.com/martinus/unordered_dense/archive/v2.0.0.tar.gz" - sha256: "e838bdcf380a1aeb6f1fee17fbdf59d7a14b6b9fb6dfca32981e4cbd60739d20" "1.4.0": url: "https://github.com/martinus/unordered_dense/archive/v1.4.0.tar.gz" sha256: "36b6bfe2fe2633f9d9c537b9b808b4be6b77ff51c66d370d855f477517bc3bc9" "1.3.3": url: "https://github.com/martinus/unordered_dense/archive/v1.3.3.tar.gz" sha256: "621a984d7f1de156d3078ecb5e1252bcc2ebc875de6eb6b8635f6c2a0898e496" - "1.3.2": - url: "https://github.com/martinus/unordered_dense/archive/v1.3.2.tar.gz" - sha256: "f12db3b93f31f7f20f4d8cac6adc551f6ae17a5b9a16040abeee427f54427953" - "1.3.1": - url: "https://github.com/martinus/unordered_dense/archive/refs/tags/v1.3.1.tar.gz" - sha256: "d393168833d6609c9eaf54a05b19fc3120f68b85feffb282ab225119a86df1d4" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index 50c688a80fb21..f99a8339fb570 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.1": folder: all "4.0.0": @@ -9,17 +11,9 @@ versions: folder: all "3.0.2": folder: all - "3.0.0": - folder: all "2.0.1": folder: all - "2.0.0": - folder: all "1.4.0": folder: all "1.3.3": folder: all - "1.3.2": - folder: all - "1.3.1": - folder: all From bf7fb309c2cc4becab033a24af9ca6364ee5524d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 2 Aug 2023 19:16:01 +0900 Subject: [PATCH 1045/4087] (#18966) cpp-httplib: add version 0.13.3 * cpp-httplib: add version 0.13.2 * update 0.13.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 dff9808ae31f2..448d3a594468d 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 7af780ed5d22d..8e636ccafe3a6 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.3": + folder: all "0.13.1": folder: all "0.12.6": From cd917a34f0bc77e85891ca1bc7b478fea60d1685 Mon Sep 17 00:00:00 2001 From: trns1997 <17682846+trns1997@users.noreply.github.com> Date: Wed, 2 Aug 2023 12:30:18 +0200 Subject: [PATCH 1046/4087] (#18163) kickcat: add recipe Co-authored-by: Carlos Zoido --- recipes/kickcat/all/conandata.yml | 4 + recipes/kickcat/all/conanfile.py | 74 +++++++++++++++++++ .../kickcat/all/test_package/CMakeLists.txt | 9 +++ recipes/kickcat/all/test_package/conanfile.py | 25 +++++++ .../kickcat/all/test_package/test_package.cc | 32 ++++++++ recipes/kickcat/config.yml | 3 + 6 files changed, 147 insertions(+) create mode 100644 recipes/kickcat/all/conandata.yml create mode 100644 recipes/kickcat/all/conanfile.py create mode 100644 recipes/kickcat/all/test_package/CMakeLists.txt create mode 100644 recipes/kickcat/all/test_package/conanfile.py create mode 100644 recipes/kickcat/all/test_package/test_package.cc create mode 100644 recipes/kickcat/config.yml diff --git a/recipes/kickcat/all/conandata.yml b/recipes/kickcat/all/conandata.yml new file mode 100644 index 0000000000000..19c0f19034aff --- /dev/null +++ b/recipes/kickcat/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "v2-alpha3": + url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha3.zip" + sha256: "dadd8518c3232162b7455fdcd837578120ece5a42c3bc2701147a68cbee60da4" diff --git a/recipes/kickcat/all/conanfile.py b/recipes/kickcat/all/conanfile.py new file mode 100644 index 0000000000000..abaf5d422d588 --- /dev/null +++ b/recipes/kickcat/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.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import get, copy +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.55" + + +class KickCATRecipe(ConanFile): + name = "kickcat" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Siviuze/KickCAT" + description = "Thin EtherCAT stack designed to be embedded in a more complex software and with efficiency in mind" + license = "CeCILL-C" + topics = ("ethercat") + package_type = "library" + settings = "os", "compiler", "build_type", "arch" + options = {"shared": [True, False], "fPIC": [True, False]} + default_options = {"shared": False, "fPIC": True} + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def configure(self): + if self.options.get_safe("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, 17) + + if self.settings.os != "Linux": + raise ConanInvalidConfiguration( + f"{self.ref} is not supported on {self.settings.os}.") + + if self.settings.compiler != "gcc": + raise ConanInvalidConfiguration( + f"{self.ref} is not supported on {self.settings.compiler}.") + + if self.settings.compiler == 'gcc' and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration("Building requires GCC >= 7") + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_UNIT_TESTS"] = "OFF" + tc.cache_variables["BUILD_EXAMPLES"] = "OFF" + tc.cache_variables["BUILD_SIMULATION"] = "OFF" + tc.cache_variables["BUILD_TOOLS"] = "OFF" + tc.cache_variables["DEBUG"] = "OFF" + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "*.h", os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include")) + copy(self, "*.a", self.build_folder, + os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.so", self.build_folder, + os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "LICENSE", self.source_folder, + os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.libs = ["kickcat"] diff --git a/recipes/kickcat/all/test_package/CMakeLists.txt b/recipes/kickcat/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..8b77c31d9ca12 --- /dev/null +++ b/recipes/kickcat/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 17) + +find_package(kickcat REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cc) +target_link_libraries(${PROJECT_NAME} PRIVATE kickcat::kickcat) diff --git a/recipes/kickcat/all/test_package/conanfile.py b/recipes/kickcat/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e46a141327eed --- /dev/null +++ b/recipes/kickcat/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" + + 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/kickcat/all/test_package/test_package.cc b/recipes/kickcat/all/test_package/test_package.cc new file mode 100644 index 0000000000000..a0ac4c8fdf423 --- /dev/null +++ b/recipes/kickcat/all/test_package/test_package.cc @@ -0,0 +1,32 @@ +#include "kickcat/Bus.h" +#include "kickcat/Link.h" +#include "kickcat/Prints.h" +#include "kickcat/SocketNull.h" + +#include + +using namespace kickcat; + +int main(int argc, char *argv[]) +{ + std::shared_ptr socket = std::make_shared(); + try + { + socket->open("null"); + } + catch (std::exception const &e) + { + std::cerr << e.what() << std::endl; + return 1; + } + + auto report_redundancy = []() { + }; + + std::shared_ptr link = std::make_shared(socket, socket, report_redundancy); + link->setTimeout(2ms); + link->checkRedundancyNeeded(); + + Bus bus(link); + return 0; +} diff --git a/recipes/kickcat/config.yml b/recipes/kickcat/config.yml new file mode 100644 index 0000000000000..7990d533925c9 --- /dev/null +++ b/recipes/kickcat/config.yml @@ -0,0 +1,3 @@ +versions: + "v2-alpha3": + folder: all From cc64809e4f39262077e27346436d45050f64e3cb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 2 Aug 2023 12:50:02 +0200 Subject: [PATCH 1047/4087] (#19016) [bot] Update authorized users list (2023-08-02) --- .c3i/authorized_users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index f24e1eb3d8a3a..902e3fd4b97b9 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1203,3 +1203,9 @@ authorized_users: - jeremy-rifkin - Christian-Prather - Siarh199 +- liquiddaniel +- seppeon +- SavenkovIgor +- aliaksei135 +- ibosnic00 +- Xav83 From d3883d5f94b981a28a8f8daab8f222379d315586 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 3 Aug 2023 16:19:46 +0900 Subject: [PATCH 1048/4087] (#18325) opentelemetry-proto: add version 1.0.0 Co-authored-by: Daniel --- recipes/opentelemetry-proto/all/conandata.yml | 3 +++ recipes/opentelemetry-proto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opentelemetry-proto/all/conandata.yml b/recipes/opentelemetry-proto/all/conandata.yml index 88d8d71b3c37a..94ffeec1c7831 100644 --- a/recipes/opentelemetry-proto/all/conandata.yml +++ b/recipes/opentelemetry-proto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.0.0.tar.gz" + sha256: "a13a1a7b76a1f22a0ca2e6c293e176ffef031413ab8ba653a82a1dbc286a3a33" "0.20.0": url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v0.20.0.tar.gz" sha256: "6ab267cf82832ed60ad075d574c78da736193eecb9693e8a8d02f65d6d3f3520" diff --git a/recipes/opentelemetry-proto/config.yml b/recipes/opentelemetry-proto/config.yml index f4d1c28407340..64c1fc73aecec 100644 --- a/recipes/opentelemetry-proto/config.yml +++ b/recipes/opentelemetry-proto/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.20.0": folder: all "0.19.0": From f42fbae2ab256de710cb036a075983e78ec82a5f Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 3 Aug 2023 12:04:11 +0200 Subject: [PATCH 1049/4087] (#19026) [bx] Fix test package imports Signed-off-by: Uilian Ries --- recipes/bx/all/test_package/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/bx/all/test_package/conanfile.py b/recipes/bx/all/test_package/conanfile.py index 7914baa434398..d3dd545ae68ba 100644 --- a/recipes/bx/all/test_package/conanfile.py +++ b/recipes/bx/all/test_package/conanfile.py @@ -1,10 +1,8 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.layout import cmake_layout -from conan.tools.cmake import CMake +from conan.tools.cmake import CMake, cmake_layout import os -required_conan_version = ">=1.50.0" class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" From 5423b3589c3df50d8852ab0b1b4c53f441181039 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 3 Aug 2023 19:19:51 +0900 Subject: [PATCH 1050/4087] (#18425) msgpack-cxx: add version 6.1.0, use download tarballs, update boost --- recipes/msgpack-cxx/all/conandata.yml | 31 +++++++++++++++------------ recipes/msgpack-cxx/all/conanfile.py | 2 +- recipes/msgpack-cxx/config.yml | 2 ++ 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/recipes/msgpack-cxx/all/conandata.yml b/recipes/msgpack-cxx/all/conandata.yml index 64a5e6f43e3e6..6af577efebddf 100644 --- a/recipes/msgpack-cxx/all/conandata.yml +++ b/recipes/msgpack-cxx/all/conandata.yml @@ -1,22 +1,25 @@ sources: + "6.1.0": + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-6.1.0/msgpack-cxx-6.1.0.tar.gz" + sha256: "23ede7e93c8efee343ad8c6514c28f3708207e5106af3b3e4969b3a9ed7039e7" "6.0.0": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-6.0.0.tar.gz" - sha256: "d02f7ffd28b1d38ab9f5f758c4744fadfae92150461fb8154c98ac49226cff90" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-6.0.0/msgpack-cxx-6.0.0.tar.gz" + sha256: "0948d2db98245fb97b9721cfbc3e44c1b832e3ce3b8cfd7485adc368dc084d14" "5.0.0": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-5.0.0.tar.gz" - sha256: "bd6b8e255f0a62cf8f50f1d292f979ac8ea9a4aa121938679d6f419d6df70ea3" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-5.0.0/msgpack-cxx-5.0.0.tar.gz" + sha256: "80f997575acff12b1b64158ef9dbad4cff32595f985532e16c6ea67e317452d5" "4.1.3": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-4.1.3.tar.gz" - sha256: "fd0a685656f11b8aa09ed33bcbdcad3105d25d0034ca3dba9fe957623a42d253" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-4.1.3/msgpack-cxx-4.1.3.tar.gz" + sha256: "2539075ea2f35c15cab5c50ecba00d76fc4cbdcd485840257f15ebb04e8e3e1a" "4.1.2": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-4.1.2.tar.gz" - sha256: "7460ad43552c9d9b56a75f20e1f4fedf18fff1c48715d6cfa91d779b26ca3795" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-4.1.2/msgpack-cxx-4.1.2.tar.gz" + sha256: "eeddd7faeacbc12e10052bd1e3ec78bd26c69bfbbea9f9264c7ffce9b1ede7b1" "4.1.1": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-4.1.1.tar.gz" - sha256: "221cc539e77f5ca02f4f0bbb1edafa9ca8c08de7ba8072d7baf2139930d99182" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-4.1.1/msgpack-cxx-4.1.1.tar.gz" + sha256: "8115c5edcf20bc1408c798a6bdaec16c1e52b1c34859d4982a0fb03300438f0b" "4.1.0": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-4.1.0.tar.gz" - sha256: "634762502a192026bd5db773f9e18d900ad04cfc312b52faee350a5c76e5ccfb" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-4.1.0/msgpack-cxx-4.1.0.tar.gz" + sha256: "11e042ffdafda6fc4ebdc5f4f63b352229b89796c2f8aa3e813116ec1dd8377d" "4.0.3": - url: "https://github.com/msgpack/msgpack-c/archive/cpp-4.0.3.tar.gz" - sha256: "23d737b1e959dfb6ca420564563f098e758adacc0b18003c56abf1b945bd1d4a" + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-4.0.3/msgpack-cxx-4.0.3.tar.gz" + sha256: "9b3c1803b9855b7b023d7f181f66ebb0d6941275ba41d692037e0aa27736443f" diff --git a/recipes/msgpack-cxx/all/conanfile.py b/recipes/msgpack-cxx/all/conanfile.py index 2bcaa82b381e6..0431bac108f83 100644 --- a/recipes/msgpack-cxx/all/conanfile.py +++ b/recipes/msgpack-cxx/all/conanfile.py @@ -34,7 +34,7 @@ def layout(self): def requirements(self): if self.options.get_safe("use_boost", True): - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") def package_id(self): self.info.clear() diff --git a/recipes/msgpack-cxx/config.yml b/recipes/msgpack-cxx/config.yml index 1c632d41b23dd..934a0432a27c7 100644 --- a/recipes/msgpack-cxx/config.yml +++ b/recipes/msgpack-cxx/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.0": + folder: all "6.0.0": folder: all "5.0.0": From e72d332dc8c1751cf957bc176baecaa374346ad1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 3 Aug 2023 13:45:05 +0300 Subject: [PATCH 1051/4087] (#18346) cprocessing: migrate to Conan v2, disable interactive GUI in test_package * cprocessing: migrate to Conan v2 * cprocessing: disable GUI creation in test_package * cprocessing: restore test_v1_package * cprocessing: restore VirtualRunEnv in test_package --- recipes/cprocessing/all/conanfile.py | 81 ++++++++++-------- .../all/test_package/CMakeLists.txt | 5 +- .../cprocessing/all/test_package/conanfile.py | 20 +++-- .../all/test_package/test_package.cpp | 85 ++++++++++--------- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ 6 files changed, 131 insertions(+), 86 deletions(-) create mode 100644 recipes/cprocessing/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cprocessing/all/test_v1_package/conanfile.py diff --git a/recipes/cprocessing/all/conanfile.py b/recipes/cprocessing/all/conanfile.py index f1d8d20922d76..c9ae209b2576f 100644 --- a/recipes/cprocessing/all/conanfile.py +++ b/recipes/cprocessing/all/conanfile.py @@ -1,33 +1,45 @@ -from conans import ConanFile, tools -from conans.tools import ConanInvalidConfiguration import os import re -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.files import copy, get, load, replace_in_file, save +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class CProcessingConan(ConanFile): name = "cprocessing" - description = "Processsing programming for C++ " + description = "Processing programming for C++ " license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/maksmakuta/CProcessing" - topics = ("processing", "opengl", "sketch") + topics = ("processing", "opengl", "sketch", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 20 @property def _compilers_minimum_version(self): return { - "gcc": "9", - "Visual Studio": "16.2", - "msvc": "19.22", - "clang": "10", - "apple-clang": "11" + "gcc": "9", + "Visual Studio": "16.2", + "msvc": "19.22", + "clang": "10", + "apple-clang": "11", } + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("glfw/3.3.7") self.requires("glm/0.9.9.8") @@ -36,44 +48,39 @@ def requirements(self): self.requires("opengl/system") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 20) - - 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] - - compiler_version = str(self.settings.compiler.version) - + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("{} requires C++20. Your compiler is unknown. Assuming it supports C++20.".format(self.name)) - elif lazy_lt_semver(compiler_version, minimum_version): - raise ConanInvalidConfiguration("{} requires some C++20 features,".format(self.name)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires some C++{self._min_cppstd} features, which your compiler does not support." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "lib", "PImage.h"), - "stb/stb_image.h", - "stb_image.h") - - def package(self): - self.copy("*.h", "include", os.path.join(self._source_subfolder, "lib")) + replace_in_file(self, os.path.join(self.source_folder, "lib", "PImage.h"), "stb/stb_image.h", "stb_image.h") + def _extract_license(self): # Extract the License/s from README.md to a file - tmp = tools.load(os.path.join(self._source_subfolder, "README.md")) + tmp = load(self, os.path.join(self.source_folder, "README.md")) license_contents = re.search("(## Author.*)", tmp, re.DOTALL)[1] - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE.md"), license_contents) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE.md"), license_contents) + + def package(self): + self._extract_license() + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "lib")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "CProcessing") self.cpp_info.set_property("cmake_target_name", "CProcessing::CProcessing") diff --git a/recipes/cprocessing/all/test_package/CMakeLists.txt b/recipes/cprocessing/all/test_package/CMakeLists.txt index 05121b9bfe414..eeeb2f9006cc8 100644 --- a/recipes/cprocessing/all/test_package/CMakeLists.txt +++ b/recipes/cprocessing/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(CProcessing REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/cprocessing/all/test_package/conanfile.py b/recipes/cprocessing/all/test_package/conanfile.py index 51cf79f1d6887..ef5d7042163ec 100644 --- a/recipes/cprocessing/all/test_package/conanfile.py +++ b/recipes/cprocessing/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - test_file = os.path.join("bin", "test_package") - if self.settings.os == "Windows": - test_file += ".exe" - assert os.path.exists(test_file) + 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/cprocessing/all/test_package/test_package.cpp b/recipes/cprocessing/all/test_package/test_package.cpp index 479e221b8ea06..e8aaee04efe2b 100644 --- a/recipes/cprocessing/all/test_package/test_package.cpp +++ b/recipes/cprocessing/all/test_package/test_package.cpp @@ -6,67 +6,74 @@ * Part 2: https://youtube.com/shorts/IS6_apBewlI */ +// Disable the main function from from processing.h +// to disable the interactive GUI for the purposes of this test +#define main _main #include +#undef main float speed; -class Star{ +class Star { private: - float x,y,z,pz; + float x, y, z, pz; + public: - Star(){ - this->x = random(-width,width); - this->y = random(-height,height); - this->z = random(width); - this->pz = z; + Star() { + this->x = random(-width, width); + this->y = random(-height, height); + this->z = random(width); + this->pz = z; } - void update(){ - this->z -= speed; - if(this->z < 1.f){ - this->z = width; - this->x = random(-width,width); - this->y = random(-height,height); - this->pz = z; - } + void update() { + this->z -= speed; + if (this->z < 1.f) { + this->z = width; + this->x = random(-width, width); + this->y = random(-height, height); + this->pz = z; + } } - void show(){ - fill(255); + void show() { + fill(255); - float sx = map(this->x / this->z,0,1,0, width); - float sy = map(this->y / this->z,0,1,0,height); + float sx = map(this->x / this->z, 0, 1, 0, width); + float sy = map(this->y / this->z, 0, 1, 0, height); - float r = map(this->z,0,width,16,0); - circle(sx,sy,r); + float r = map(this->z, 0, width, 16, 0); + circle(sx, sy, r); - float zx = map(this->x / this->pz,0,1,0, width); - float zy = map(this->y / this->pz,0,1,0,height); + float zx = map(this->x / this->pz, 0, 1, 0, width); + float zy = map(this->y / this->pz, 0, 1, 0, height); - this->pz = z; + this->pz = z; - stroke(255); - line(zx,zy,sx,sy); + stroke(255); + line(zx, zy, sx, sy); } - }; std::vector stars; -void setup(){ - size(640,480); - for(int a = 0;a < 100;a++) - stars.push_back(Star()); +void setup() { + size(640, 480); + for (int a = 0; a < 100; a++) + stars.push_back(Star()); } -void draw(){ - speed = map(mouseX,0,width,0.f,50.f); - background(0); - translate(width/2,height/2); +void draw() { + speed = map(mouseX, 0, width, 0.f, 50.f); + background(0); + translate(width / 2, height / 2); - for(int a = 0;a < stars.size();a++){ - stars[a].update(); - stars[a].show(); - } + for (int a = 0; a < stars.size(); a++) { + stars[a].update(); + stars[a].show(); + } +} +int main() { + return 0; } diff --git a/recipes/cprocessing/all/test_v1_package/CMakeLists.txt b/recipes/cprocessing/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cprocessing/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/cprocessing/all/test_v1_package/conanfile.py b/recipes/cprocessing/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..51cf79f1d6887 --- /dev/null +++ b/recipes/cprocessing/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + test_file = os.path.join("bin", "test_package") + if self.settings.os == "Windows": + test_file += ".exe" + assert os.path.exists(test_file) From 243374c8b66df5c95d631ce297afb7b8f3906dbd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 3 Aug 2023 13:05:30 +0200 Subject: [PATCH 1052/4087] (#18417) libjpeg-turbo: add version 3.0.0 * libjpeg-turbo: add version 3.0.0 * simplify version comparison * libjpeg-turbo: remove older versions per https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/sources_and_patches.md#removing-old-versions --- recipes/libjpeg-turbo/all/conandata.yml | 21 +++------------------ recipes/libjpeg-turbo/all/conanfile.py | 18 +++++++++++------- recipes/libjpeg-turbo/config.yml | 14 ++------------ 3 files changed, 16 insertions(+), 37 deletions(-) diff --git a/recipes/libjpeg-turbo/all/conandata.yml b/recipes/libjpeg-turbo/all/conandata.yml index 1821235633f65..fed4921e77f53 100644 --- a/recipes/libjpeg-turbo/all/conandata.yml +++ b/recipes/libjpeg-turbo/all/conandata.yml @@ -1,25 +1,10 @@ sources: + "3.0.0": + url: "https://sourceforge.net/projects/libjpeg-turbo/files/3.0.0/libjpeg-turbo-3.0.0.tar.gz" + sha256: "c77c65fcce3d33417b2e90432e7a0eb05f59a7fff884022a9d931775d583bfaa" "2.1.5": url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.1.5/libjpeg-turbo-2.1.5.tar.gz" sha256: "bc12bc9dce55300c6bf4342bc233bcc26bd38bf289eedf147360d731c668ddaf" - "2.1.4": - url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.1.4/libjpeg-turbo-2.1.4.tar.gz" - sha256: "d3ed26a1131a13686dfca4935e520eb7c90ae76fbc45d98bb50a8dc86230342b" - "2.1.3": - url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.1.3/libjpeg-turbo-2.1.3.tar.gz" - sha256: "467b310903832b033fe56cd37720d1b73a6a3bd0171dbf6ff0b620385f4f76d0" - "2.1.2": - url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.1.2/libjpeg-turbo-2.1.2.tar.gz" - sha256: "09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5" - "2.1.1": - url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.1.1/libjpeg-turbo-2.1.1.tar.gz" - sha256: "b76aaedefb71ba882cbad4e9275b30c2ae493e3195be0a099425b5c6b99bd510" - "2.1.0": - url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.1.0/libjpeg-turbo-2.1.0.tar.gz" - sha256: "bef89803e506f27715c5627b1e3219c95b80fc31465d4452de2a909d382e4444" "2.0.6": url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.0.6/libjpeg-turbo-2.0.6.tar.gz" sha256: "d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb" - "2.0.5": - url: "https://sourceforge.net/projects/libjpeg-turbo/files/2.0.5/libjpeg-turbo-2.0.5.tar.gz" - sha256: "16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d" diff --git a/recipes/libjpeg-turbo/all/conanfile.py b/recipes/libjpeg-turbo/all/conanfile.py index afc30df36cff2..9405b0c63aaf6 100644 --- a/recipes/libjpeg-turbo/all/conanfile.py +++ b/recipes/libjpeg-turbo/all/conanfile.py @@ -49,6 +49,9 @@ class LibjpegTurboConan(ConanFile): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "3.0.0": + del self.options.enable12bit + del self.options.mem_src_dst def configure(self): if self.options.shared: @@ -56,22 +59,22 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") - if self.options.enable12bit: + if self.options.get_safe("enable12bit"): del self.options.java del self.options.turbojpeg - if self.options.enable12bit or self.settings.os == "Emscripten": + if self.options.get_safe("enable12bit") or self.settings.os == "Emscripten": del self.options.SIMD - if self.options.enable12bit or self.options.libjpeg7_compatibility or self.options.libjpeg8_compatibility: + if self.options.get_safe("enable12bit") or self.options.libjpeg7_compatibility or self.options.libjpeg8_compatibility: del self.options.arithmetic_encoder del self.options.arithmetic_decoder if self.options.libjpeg8_compatibility: - del self.options.mem_src_dst + self.options.rm_safe("mem_src_dst") def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.options.enable12bit and (self.options.libjpeg7_compatibility or self.options.libjpeg8_compatibility): + if self.options.get_safe("enable12bit") and (self.options.libjpeg7_compatibility or self.options.libjpeg8_compatibility): raise ConanInvalidConfiguration("12-bit samples is not allowed with libjpeg v7/v8 API/ABI") if self.options.get_safe("java") and not self.options.shared: raise ConanInvalidConfiguration("java wrapper requires shared libjpeg-turbo") @@ -107,10 +110,11 @@ def generate(self): tc.variables["WITH_ARITH_DEC"] = self._is_arithmetic_decoding_enabled tc.variables["WITH_JPEG7"] = self.options.libjpeg7_compatibility tc.variables["WITH_JPEG8"] = self.options.libjpeg8_compatibility - tc.variables["WITH_MEM_SRCDST"] = self.options.get_safe("mem_src_dst", False) tc.variables["WITH_TURBOJPEG"] = self.options.get_safe("turbojpeg", False) tc.variables["WITH_JAVA"] = self.options.get_safe("java", False) - tc.variables["WITH_12BIT"] = self.options.enable12bit + if Version(self.version) < "3.0.0": + tc.variables["WITH_MEM_SRCDST"] = self.options.get_safe("mem_src_dst", False) + tc.variables["WITH_12BIT"] = self.options.enable12bit if is_msvc(self): tc.variables["WITH_CRT_DLL"] = True # avoid replacing /MD by /MT in compiler flags if Version(self.version) <= "2.1.0": diff --git a/recipes/libjpeg-turbo/config.yml b/recipes/libjpeg-turbo/config.yml index cdfe1237074c7..d646887ca99a3 100644 --- a/recipes/libjpeg-turbo/config.yml +++ b/recipes/libjpeg-turbo/config.yml @@ -1,17 +1,7 @@ versions: - "2.1.5": - folder: all - "2.1.4": - folder: all - "2.1.3": - folder: all - "2.1.2": + "3.0.0": folder: all - "2.1.1": - folder: all - "2.1.0": + "2.1.5": folder: all "2.0.6": folder: all - "2.0.5": - folder: all From a875c3c8a0be8bbc522dc8bac6206b453edf50d6 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 4 Aug 2023 01:17:50 +0900 Subject: [PATCH 1053/4087] (#18882) dice-template-library: add version 1.1.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 def2d951ef94e..8bfdcb315eb92 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.1.0.tar.gz" + sha256: "a00ee401379eaf6c8af013fb39d6732fa68c3852e14b50789edde6f054647ca2" "1.0.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.0.0.tar.gz" sha256: "485505ad3f9fb033083e2952bd8b4e68f6b4f123746b20f4ec3af46f4ce66cfe" diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index 930d790eeb4ba..f1e3df07fed83 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.3.0": From 384dcf89df6fa87f9999e0d553236ada370f8d0a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 4 Aug 2023 08:34:27 +0200 Subject: [PATCH 1054/4087] (#18975) asio: add version 1.28.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 46bc4f8f41b43..d8865c47b5bf0 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.28.1": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-1.tar.gz" + sha256: "5ff6111ec8cbe73a168d997c547f562713aa7bd004c5c02326f0e9d579a5f2ce" "1.28.0": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-0.tar.gz" sha256: "226438b0798099ad2a202563a83571ce06dd13b570d8fded4840dbc1f97fa328" diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index 06fbadd587b1a..33c8893e89fa5 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,4 +1,6 @@ versions: + "1.28.1": + folder: all "1.28.0": folder: all "1.27.0": From 30e8234e38100d357c5f66cd5720ef7fdf5bfa05 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 4 Aug 2023 10:43:20 +0200 Subject: [PATCH 1055/4087] (#19035) [config] Update Conan client version: 1.60.2 and 2.0.9 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 5241e481d134f..c28c0345e0824 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 1.60.1 + version: 1.60.2 artifactory: url: "https://c3i.jfrog.io/c3i" diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 7aaabf1c918f1..b5ee3148ca00b 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.0.8 + version: 2.0.9 artifactory: url: "https://c3i.jfrog.io/c3i" From f14921c2dab30f659c6d576c108d866c59bcae81 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 4 Aug 2023 18:54:55 +0900 Subject: [PATCH 1056/4087] (#18841) usockets: add version 0.8.6 Co-authored-by: Carlos Zoido --- recipes/usockets/all/conandata.yml | 7 ++++ .../all/patches/0001-makefile_0.8.6.patch | 35 +++++++++++++++++++ recipes/usockets/config.yml | 2 ++ 3 files changed, 44 insertions(+) create mode 100644 recipes/usockets/all/patches/0001-makefile_0.8.6.patch diff --git a/recipes/usockets/all/conandata.yml b/recipes/usockets/all/conandata.yml index e6a17b330a5a4..1e162a7179edd 100644 --- a/recipes/usockets/all/conandata.yml +++ b/recipes/usockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.6": + url: "https://github.com/uNetworking/uSockets/archive/v0.8.6.tar.gz" + sha256: "16eba133dd33eade2f5f8dd87612c04b5dd711066e0471c60d641a2f6a988f16" "0.8.5": url: "https://github.com/uNetworking/uSockets/archive/v0.8.5.tar.gz" sha256: "c52c98b7ff2c24534c17ad97d5fea8ca0cb7ff38cc933b8d08bac6e498a2ea6b" @@ -21,6 +24,10 @@ sources: url: "https://github.com/uNetworking/uSockets/archive/v0.4.0.tar.gz" sha256: "f9f15b395def578cc79a5b32abc64fa9cff5dac873062911f515b984b90f7cc2" patches: + "0.8.6": + - patch_file: "patches/0001-makefile_0.8.6.patch" + patch_description: "remove lto options" + patch_type: "portability" "0.8.5": - patch_file: "patches/0001-makefile_0.8.3.patch" patch_description: "remove lto options" diff --git a/recipes/usockets/all/patches/0001-makefile_0.8.6.patch b/recipes/usockets/all/patches/0001-makefile_0.8.6.patch new file mode 100644 index 0000000000000..e77691ceeac47 --- /dev/null +++ b/recipes/usockets/all/patches/0001-makefile_0.8.6.patch @@ -0,0 +1,35 @@ +diff --git a/Makefile b/Makefile +index aa874b9..d58ac0a 100644 +--- a/Makefile ++++ b/Makefile +@@ -74,10 +74,10 @@ endif + # By default we build the uSockets.a static library + default: + rm -f *.o +- $(CC) $(CFLAGS) -O3 -c src/*.c src/eventing/*.c src/crypto/*.c src/io_uring/*.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) -O3 -c src/*.c src/eventing/*.c src/crypto/*.c src/io_uring/*.c + # Also link in Boost Asio support + ifeq ($(WITH_ASIO),1) +- $(CXX) $(CXXFLAGS) -Isrc -std=c++14 -flto -O3 -c src/eventing/asio.cpp ++ $(CXX) $(CXXFLAGS) -Isrc -std=c++14 $(CPPFLAGS) -O3 -c src/eventing/asio.cpp + endif + + # For now we do rely on C++17 for OpenSSL support but we will be porting this work to C11 +@@ -88,7 +88,7 @@ ifeq ($(WITH_BORINGSSL),1) + $(CXX) $(CXXFLAGS) -std=c++17 -flto -O3 -c src/crypto/*.cpp + endif + # Create a static library (try windows, then unix) +- lib.exe /out:uSockets.a *.o || $(AR) rvs uSockets.a *.o ++ lib.exe /out:uSockets.lib *.obj || $(AR) rvs libuSockets.a *.o + + # BoringSSL needs cmake and golang + .PHONY: boringssl +@@ -98,7 +98,7 @@ boringssl: + # Builds all examples + .PHONY: examples + examples: default +- for f in examples/*.c; do $(CC) -O3 $(CFLAGS) -o $$(basename "$$f" ".c")$(EXEC_SUFFIX) "$$f" $(LDFLAGS); done ++ for f in examples/*.c; do $(CC) -O3 $(CFLAGS) $(CPPFLAGS) -o $$(basename "$$f" ".c")$(EXEC_SUFFIX) "$$f" $(LDFLAGS); done + + swift_examples: + swiftc -O -I . examples/swift_http_server/main.swift uSockets.a -o swift_http_server diff --git a/recipes/usockets/config.yml b/recipes/usockets/config.yml index c4f53d0a2aff0..ed2a319a00e8b 100644 --- a/recipes/usockets/config.yml +++ b/recipes/usockets/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.6": + folder: all "0.8.5": folder: all "0.8.3": From 0d22b4e75343a5a48281316af499bd9c9add4390 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 4 Aug 2023 12:21:58 +0200 Subject: [PATCH 1057/4087] (#18859) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 9b1a222098118..1a5d515961ed7 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -309,13 +309,18 @@ required_for_references: - function2 - fxdiv - g3log +- gainput - gamma +- gcem - gdbm - gdcm - gdk-pixbuf - gegles-spdlog_setup - gemmlowp +- genie +- geographiclib - geos +- geotrans - getopt-for-visual-studio - gettext - gflags @@ -326,6 +331,9 @@ required_for_references: - gklib - glad - glaze +- glbinding +- glew +- glext - glfw - gli - glib From ad47e864c041bc92f294067c9ce10030ea64fa39 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 4 Aug 2023 20:12:40 +0900 Subject: [PATCH 1058/4087] (#19009) imgui: add version 1.89.8, 1.89.8-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 82db7f4c7e4b5..18b830b59f364 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "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" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 737cb8b3dbc2c..d3d7aaa4e4a68 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.89.8": + folder: all + "1.89.8-docking": + folder: all "1.89.7": folder: all "1.89.7-docking": From bedaf1a4ae5b4a341be350dda700ad5686af0af8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 4 Aug 2023 20:50:14 +0900 Subject: [PATCH 1059/4087] (#18437) asio-grpc: add version 2.5.1, update dependencies --- recipes/asio-grpc/all/conandata.yml | 3 +++ recipes/asio-grpc/all/conanfile.py | 5 +++-- recipes/asio-grpc/config.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/asio-grpc/all/conandata.yml b/recipes/asio-grpc/all/conandata.yml index 67c8b715cb2d3..2e070194bef3f 100644 --- a/recipes/asio-grpc/all/conandata.yml +++ b/recipes/asio-grpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.1": + url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.5.1.tar.gz" + sha256: "571779a25be6eed77a345088e3ded2cccf880c16800ee0075ece57116f14fc35" "2.4.0": url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.4.0.tar.gz" sha256: "d71de4f8de91dc0ad44d6a161fc628496b80622a6f9030dcd4c53b516629b8b7" diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index 41ebfbae5f918..a0e6d608281c4 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -38,6 +38,7 @@ def _compilers_minimum_version(self): return { "gcc": "7", "Visual Studio": "15.7", + "msvc": "191", "clang": "6", "apple-clang": "11", } @@ -57,9 +58,9 @@ def configure(self): def requirements(self): self.requires("grpc/1.50.1") if self._local_allocator_option == "boost_container" or self.options.backend == "boost": - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") if self.options.backend == "asio": - self.requires("asio/1.24.0") + self.requires("asio/1.28.0") if self.options.backend == "unifex": self.requires("libunifex/cci.20220430") diff --git a/recipes/asio-grpc/config.yml b/recipes/asio-grpc/config.yml index 25e51279385fd..9952741d8464d 100644 --- a/recipes/asio-grpc/config.yml +++ b/recipes/asio-grpc/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.1": + folder: all "2.4.0": folder: all "2.3.0": From a290187f7e7779286d2da3c7a518d3af9f9fbeff Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 4 Aug 2023 21:31:29 +0900 Subject: [PATCH 1060/4087] (#19033) gtest: add version 1.14.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 1634a1e79e6fd..b22247dc8573d 100644 --- a/recipes/gtest/all/conandata.yml +++ b/recipes/gtest/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.0": + url: "https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz" + sha256: "8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7" "1.13.0": url: "https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz" sha256: "ad7fdba11ea011c1d925b3289cf4af2c66a352e18d4c7264392fead75e919363" diff --git a/recipes/gtest/config.yml b/recipes/gtest/config.yml index ee070419b09c3..fa66f2eb7d4d7 100644 --- a/recipes/gtest/config.yml +++ b/recipes/gtest/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.0": + folder: all "1.13.0": folder: all "1.12.1": From 6e32eb389b3cb0f5859ca33c6de66e576164bc01 Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Fri, 4 Aug 2023 14:08:39 +0100 Subject: [PATCH 1061/4087] (#19040) emsdk: add version 3.1.44 --- recipes/emsdk/all/conandata.yml | 3 +++ recipes/emsdk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index 8a32427b651c2..72c3415a7c7c2 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.44": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.44.tar.gz" + sha256: "cb8cded78f6953283429d724556e89211e51ac4d871fcf38e0b32405ee248e91" "3.1.31": url: "https://github.com/emscripten-core/emsdk/archive/3.1.31.tar.gz" sha256: "1d38b7375e12e85197165a4c51d76d90e1d9db8c2c593b64cfaec4338af54750" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index 82752e0f1209d..f990e1dc35d29 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.44": + folder: all "3.1.31": folder: all "3.1.30": From e976ac6b8782a90a5d6493184018109cd9af5450 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 4 Aug 2023 16:28:24 +0300 Subject: [PATCH 1062/4087] (#19043) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 876c188b63e35..e4f01057df770 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.9": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.9.tar.gz" + sha256: "5b00c997eb33e877ca54468a101345e3a9986ce1b61b0919fa8632efabc51b6d" "2.0.8": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.8.tar.gz" sha256: "50a47d407acf1ca6a5b96af0386da74f7cfb66322ec7453cbb543f4f66251683" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 9e06767160daf..c184130e67ed4 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.9": + folder: all "2.0.8": folder: all "2.0.7": From c3046a2b65cc060b790f3015f0e7b187e8afe8d8 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 4 Aug 2023 21:09:28 +0200 Subject: [PATCH 1063/4087] (#19025) harfbuzz: add version 8.1.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index 807ef3305d985..d165dd235addd 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.1.1": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.1.1/harfbuzz-8.1.1.tar.xz" + sha256: "0305ad702e11906a5fc0c1ba11c270b7f64a8f5390d676aacfd71db129d6565f" "8.0.1": url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.0.1/harfbuzz-8.0.1.tar.xz" sha256: "c1ce780acd385569f25b9a29603d1d5bc71e6940e55bfdd4f7266fad50e42620" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index b575f01311eb4..502391a71084d 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "8.1.1": + folder: all "8.0.1": folder: all "8.0.0": From fa28c8ea366db978953ccd9b8a63b26c347774c3 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Fri, 4 Aug 2023 23:49:39 +0200 Subject: [PATCH 1064/4087] (#19011) msgpack-c/3.3.0: Added version 3.3.0 --- recipes/msgpack-c/all/conandata.yml | 3 +++ recipes/msgpack-c/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/msgpack-c/all/conandata.yml b/recipes/msgpack-c/all/conandata.yml index dc158b2bf02e6..0062926e73ac9 100644 --- a/recipes/msgpack-c/all/conandata.yml +++ b/recipes/msgpack-c/all/conandata.yml @@ -8,3 +8,6 @@ sources: "4.0.0": url: "https://github.com/msgpack/msgpack-c/releases/download/c-4.0.0/msgpack-c-4.0.0.tar.gz" sha256: "420fe35e7572f2a168d17e660ef981a589c9cbe77faa25eb34a520e1fcc032c8" + "3.3.0": + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-3.3.0/msgpack-3.3.0.tar.gz" + sha256: "6e114d12a5ddb8cb11f669f83f32246e484a8addd0ce93f274996f1941c1f07b" diff --git a/recipes/msgpack-c/config.yml b/recipes/msgpack-c/config.yml index c43afaf0f726a..08e152a5c47d0 100644 --- a/recipes/msgpack-c/config.yml +++ b/recipes/msgpack-c/config.yml @@ -5,3 +5,5 @@ versions: folder: all "4.0.0": folder: all + "3.3.0": + folder: all From 5c83d68549e6dd45fb978e91809f989199eb95f2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 5 Aug 2023 10:05:57 +0300 Subject: [PATCH 1065/4087] (#18748) perf: migrate to Conan v2 * perf: migrate to Conan v2 * perf: restore VirtualRunEnv in test_package --------- Co-authored-by: Carlos Zoido --- recipes/perf/all/conandata.yml | 1 - recipes/perf/all/conanfile.py | 75 ++++++++++++------- recipes/perf/all/test_package/conanfile.py | 14 ++-- recipes/perf/all/test_v1_package/conanfile.py | 9 +++ 4 files changed, 67 insertions(+), 32 deletions(-) create mode 100644 recipes/perf/all/test_v1_package/conanfile.py diff --git a/recipes/perf/all/conandata.yml b/recipes/perf/all/conandata.yml index 72be9d8648e78..7cffe456681ae 100644 --- a/recipes/perf/all/conandata.yml +++ b/recipes/perf/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "5.13": - patch_file: patches/0001-Wno-strict-prototypes.patch - base_path: source_subfolder diff --git a/recipes/perf/all/conanfile.py b/recipes/perf/all/conanfile.py index 2b1346904f2b5..cfea4cd9b1a61 100644 --- a/recipes/perf/all/conanfile.py +++ b/recipes/perf/all/conanfile.py @@ -1,51 +1,74 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.47.0" + class Perf(ConanFile): name = "perf" description = "Linux profiling with performance counters" - topics = ("linux", "profiling") + license = "GPL-2.0 WITH Linux-syscall-note" url = "https://github.com/conan-io/conan-center-index" homepage = "https://perf.wiki.kernel.org/index.php" - license = "GPL-2.0 WITH Linux-syscall-note" - settings = "os", "compiler", "build_type", "arch" - exports_sources = "patches/*" + topics = ("linux", "profiling") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler def validate(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("perf is supported only on Linux") def build_requirements(self): - self.build_requires("flex/2.6.4") - self.build_requires("bison/3.5.3") + self.tool_requires("flex/2.6.4") + self.tool_requires("bison/3.8.2") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.make_args += ["NO_LIBPYTHON=1"] + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - autotools = AutoToolsBuildEnvironment(self) - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder, "tools", "perf")): - vars=autotools.vars - vars["NO_LIBPYTHON"] = "1" - autotools.make(vars=vars) + apply_conandata_patches(self) + autotools = Autotools(self) + with chdir(self, os.path.join(self.source_folder, "tools", "perf")): + autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - self.copy("LICENSES/**", src=self._source_subfolder, dst="licenses") - - self.copy("perf", src=os.path.join(self._source_subfolder, "tools", "perf"), dst="bin") + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSES/**", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "perf", + src=os.path.join(self.source_folder, "tools", "perf"), + dst=os.path.join(self.package_folder, "bin")) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: %s" % bin_path) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/perf/all/test_package/conanfile.py b/recipes/perf/all/test_package/conanfile.py index 4001f8991b676..451dee24987b0 100644 --- a/recipes/perf/all/test_package/conanfile.py +++ b/recipes/perf/all/test_package/conanfile.py @@ -1,9 +1,13 @@ -from conans import ConanFile, tools +from conan import ConanFile -class TestPackage(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): - if not tools.cross_building(self): - self.run("perf version") + self.run("perf version") diff --git a/recipes/perf/all/test_v1_package/conanfile.py b/recipes/perf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4001f8991b676 --- /dev/null +++ b/recipes/perf/all/test_v1_package/conanfile.py @@ -0,0 +1,9 @@ +from conans import ConanFile, tools + + +class TestPackage(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if not tools.cross_building(self): + self.run("perf version") From 850a3544fdf179d741a79aab35aace6fbaa18806 Mon Sep 17 00:00:00 2001 From: Beartama <8091245+uyha@users.noreply.github.com> Date: Sat, 5 Aug 2023 10:26:45 +0300 Subject: [PATCH 1066/4087] (#18880) luajit: specify `provides` attribute --- recipes/luajit/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/luajit/all/conanfile.py b/recipes/luajit/all/conanfile.py index 5271897d749e2..47079e98290b1 100644 --- a/recipes/luajit/all/conanfile.py +++ b/recipes/luajit/all/conanfile.py @@ -20,6 +20,7 @@ class LuajitConan(ConanFile): homepage = "http://luajit.org" description = "LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language." topics = ("lua", "jit") + provides = "lua" settings = "os", "arch", "compiler", "build_type" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} From 9e5b00044fce3db4a39932c05639a566d75719c6 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 5 Aug 2023 12:25:29 +0200 Subject: [PATCH 1067/4087] (#18499) gdal/post_3.5.0: bump deps * gdal/post_3.5.0: bump deps * build with cmake>=3.18 * fix build when with_libdeflate=True or when with_cryptopp=True and cryptopp is shared * fix_apple_shared_install_name --------- Co-authored-by: Carlos Zoido --- recipes/gdal/post_3.5.0/CMakeLists.txt | 4 +-- recipes/gdal/post_3.5.0/conanfile.py | 41 +++++++++++++++----------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/recipes/gdal/post_3.5.0/CMakeLists.txt b/recipes/gdal/post_3.5.0/CMakeLists.txt index c0e666f41f1de..7c7f67a48db89 100644 --- a/recipes/gdal/post_3.5.0/CMakeLists.txt +++ b/recipes/gdal/post_3.5.0/CMakeLists.txt @@ -26,12 +26,12 @@ endif() if (${GDAL_USE_CRYPTOPP}) find_package(cryptopp REQUIRED) - add_library(CRYPTOPP::CRYPTOPP ALIAS cryptopp::cryptopp-static) + add_library(CRYPTOPP::CRYPTOPP ALIAS ${TARGET_FOR_CRYPTOPP}) endif() if (${GDAL_USE_DEFLATE}) find_package(libdeflate REQUIRED) - add_library(Deflate::Deflate ALIAS libdeflate::libdeflate) + add_library(Deflate::Deflate ALIAS ${TARGET_FOR_DEFLATE}) endif() if (${GDAL_USE_LZ4}) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index d03de4e5125cc..3e0847981c026 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name from conan.tools.files import apply_conandata_patches, get, files from conan.errors import ConanInvalidConfiguration from conans import CMake @@ -172,23 +173,23 @@ def requirements(self): self.requires("cryptopp/8.7.0") if self.options.with_curl: - self.requires("libcurl/7.85.0") + self.requires("libcurl/8.2.0") if self.options.with_dds: self.requires("crunch/cci.20190615") if self.options.with_expat: - self.requires("expat/2.4.9") + self.requires("expat/2.5.0") if self.options.with_exr: - self.requires("openexr/3.1.5") - self.requires("imath/3.1.5") + self.requires("openexr/3.1.9") + self.requires("imath/3.1.9") if self.options.with_freexl: self.requires("freexl/1.0.6") if self.options.with_geos: - self.requires("geos/3.11.0") + self.requires("geos/3.11.1") if self.options.with_gif: self.requires("giflib/5.2.1") @@ -208,13 +209,13 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/2.1.5") if self.options.with_kea: self.requires("kealib/1.4.14") if self.options.with_libdeflate: - self.requires("libdeflate/1.12") + self.requires("libdeflate/1.18") if self.options.with_libiconv: self.requires("libiconv/1.17") @@ -223,7 +224,7 @@ def requirements(self): self.requires("libkml/1.3.0") if self.options.with_libtiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.5.1") if self.options.with_lz4: self.requires("lz4/1.9.4") @@ -246,19 +247,19 @@ def requirements(self): self.requires("openjpeg/2.5.0") if self.options.with_openssl: - self.requires("openssl/1.1.1q") + self.requires("openssl/1.1.1u") if self.options.with_pcre: self.requires("pcre/8.45") if self.options.with_pcre2: - self.requires("pcre2/10.40") + self.requires("pcre2/10.42") if self.options.with_pg: self.requires("libpq/14.5") if self.options.with_png: - self.requires("libpng/1.6.38") + self.requires("libpng/1.6.40") if self.options.with_podofo: self.requires("podofo/0.9.7") @@ -267,28 +268,32 @@ def requirements(self): self.requires("poppler/21.07.0") if self.options.with_proj: - self.requires("proj/9.0.1") + self.requires("proj/9.1.1") if self.options.with_qhull: self.requires("qhull/8.0.1") if self.options.with_sqlite3: - self.requires("sqlite3/3.39.3") + self.requires("sqlite3/3.42.0") if self.options.with_webp: - self.requires("libwebp/1.2.4") + self.requires("libwebp/1.3.1") if self.options.with_xerces: self.requires("xerces-c/3.2.3") if self.options.with_xml2: - self.requires("libxml2/2.9.14") + self.requires("libxml2/2.10.3") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") if self.options.with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") + + def build_requirements(self): + # https://github.com/conan-io/conan/issues/3482#issuecomment-662284561 + self.tool_requires("cmake/[>=3.18 <4]") def package_id(self): del self.info.options.with_crypto @@ -724,10 +729,10 @@ def package(self): self.copy("LICENSE.TXT", dst="licenses", src=self._source_subfolder) cmake = self._configure_cmake() cmake.install() - files.rmdir(self, os.path.join(self.package_folder, "share")) files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + fix_apple_shared_install_name(self) def package_info(self): From af3b6ce7431c820d9de18c3c4f0cbd53a096e750 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 5 Aug 2023 15:27:26 +0200 Subject: [PATCH 1068/4087] (#18974) libunwind: add version 1.7.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libunwind/all/conandata.yml | 3 +++ recipes/libunwind/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libunwind/all/conandata.yml b/recipes/libunwind/all/conandata.yml index 933dd5e18e6e0..baa8d36f9cd17 100644 --- a/recipes/libunwind/all/conandata.yml +++ b/recipes/libunwind/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.2": + url: "https://github.com/libunwind/libunwind/releases/download/v1.7.2/libunwind-1.7.2.tar.gz" + sha256: "a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6" "1.7.0": url: "https://github.com/libunwind/libunwind/releases/download/v1.7.0/libunwind-1.70.tar.gz" sha256: "c24c913d2337d6eff851b6ab32aadfb683a86fee48d28fe1fc9cd56c8e9dfa58" diff --git a/recipes/libunwind/config.yml b/recipes/libunwind/config.yml index 06062bdf41682..ce44762c05da1 100644 --- a/recipes/libunwind/config.yml +++ b/recipes/libunwind/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.2": + folder: all "1.7.0": folder: all "1.6.2": From d0b45c9664437b9e4924098674d0b67f45dc100c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 5 Aug 2023 15:48:27 +0200 Subject: [PATCH 1069/4087] (#19052) cairo/meson: bump deps --- recipes/cairo/meson/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 22c79e1b6951e..f45ccd7290ad4 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -107,7 +107,7 @@ def requirements(self): if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_glib: - self.requires("glib/2.76.3") + self.requires("glib/2.77.0") if self.settings.os == "Linux": if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system") From 0eea54acc08b78922dd57f3ee3e97dcacfb5031c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 5 Aug 2023 23:07:56 +0900 Subject: [PATCH 1070/4087] (#19053) simdjson: add version 3.2.2 --- 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 68f7a88456dcd..4dd45c1bc80bc 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.2": + url: "https://github.com/simdjson/simdjson/archive/v3.2.2.tar.gz" + sha256: "13a702536e051db612cdca82bf8585f2c69d9c6fd156ef291b170f13202c1b4c" "3.2.1": url: "https://github.com/simdjson/simdjson/archive/v3.2.1.tar.gz" sha256: "121206c9bfe972a2202a74d4cddb8cb0561932427f96d6c4b70fb49a2a74560e" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 5a66369f45d95..cda9ed23f089a 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.2": + folder: all "3.2.1": folder: all "3.2.0": From a08f778e4c7cbf7995d3fbc38ca7ba6c3749fc11 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Sat, 5 Aug 2023 16:47:16 +0200 Subject: [PATCH 1071/4087] (#18973) aws-c-common: add version 0.9.0 * aws-c-common: add version 0.9.0 * cleanup: remove test_v1_package folder * add version 0.9.0 to config.yml * add patch_type and patch_description --- recipes/aws-c-common/all/conandata.yml | 7 +++++++ .../all/test_v1_package/CMakeLists.txt | 8 -------- .../all/test_v1_package/conanfile.py | 17 ----------------- recipes/aws-c-common/config.yml | 2 ++ 4 files changed, 9 insertions(+), 25 deletions(-) delete mode 100644 recipes/aws-c-common/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/aws-c-common/all/test_v1_package/conanfile.py diff --git a/recipes/aws-c-common/all/conandata.yml b/recipes/aws-c-common/all/conandata.yml index 773702bbe2c98..6929bedbf2e12 100644 --- a/recipes/aws-c-common/all/conandata.yml +++ b/recipes/aws-c-common/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/awslabs/aws-c-common/archive/v0.9.0.tar.gz" + sha256: "9b62ab1dcece3107810ea4f4511fe8e1e010a83cb0cb502b6ec685ce752a7b0c" "0.8.2": url: "https://github.com/awslabs/aws-c-common/archive/v0.8.2.tar.gz" sha256: "36edc6e486c43bbb34059dde227e872c0d41ab54f0b3609d38f188cfbbc6d1f8" @@ -53,4 +56,8 @@ sources: 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/test_v1_package/CMakeLists.txt b/recipes/aws-c-common/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-common/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/aws-c-common/all/test_v1_package/conanfile.py b/recipes/aws-c-common/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aws-c-common/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/aws-c-common/config.yml b/recipes/aws-c-common/config.yml index 5a8e794412c2f..472e641908fd0 100644 --- a/recipes/aws-c-common/config.yml +++ b/recipes/aws-c-common/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: all "0.8.2": folder: all "0.7.5": From 8d74df2c59a66ebb951273a163903e77e634bad4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 5 Aug 2023 18:07:03 +0200 Subject: [PATCH 1072/4087] (#18972) glib: add version 2.77.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index a457da4866ed6..861fdaf023395 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index 709e827338b68..f86b157199163 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.77.1": + folder: all "2.77.0": folder: all "2.76.3": From 11c6c5bc221329aa2e6cea1a9a3d465000cf69f6 Mon Sep 17 00:00:00 2001 From: Marcin Zdun Date: Sun, 6 Aug 2023 00:03:41 +0200 Subject: [PATCH 1073/4087] (#17825) add mbits-lngs/0.7.5 * add mbits-lngs/0.7.5 * fix: take a better build system * fix: add encoding to open * fix: follow forced tag * fix: follow another force tag * fix: follow yet another forced tag * fix: will this compile with Clang? * fix: dependencies do not like Clang * fix: take forced tag compilable with clang/libc++ * build: yes to M1, not to cross-compilation * fix: allow cross-compile for M1 * fix: build test on M1 and support VirtualRunEnv * fix: detect cross-compilation in universal way * build: add note from protobuf' conanfile.py * simplify executable usage Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Daniel Co-authored-by: Uilian Ries --- recipes/mbits-lngs/all/conandata.yml | 4 + recipes/mbits-lngs/all/conanfile.py | 142 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 22 +++ .../mbits-lngs/all/test_package/conanfile.py | 43 ++++++ .../all/test_package/test_package.cpp | 10 ++ .../all/test_package/translations.idl | 9 ++ recipes/mbits-lngs/config.yml | 3 + 7 files changed, 233 insertions(+) create mode 100644 recipes/mbits-lngs/all/conandata.yml create mode 100644 recipes/mbits-lngs/all/conanfile.py create mode 100644 recipes/mbits-lngs/all/test_package/CMakeLists.txt create mode 100644 recipes/mbits-lngs/all/test_package/conanfile.py create mode 100644 recipes/mbits-lngs/all/test_package/test_package.cpp create mode 100644 recipes/mbits-lngs/all/test_package/translations.idl create mode 100644 recipes/mbits-lngs/config.yml diff --git a/recipes/mbits-lngs/all/conandata.yml b/recipes/mbits-lngs/all/conandata.yml new file mode 100644 index 0000000000000..a85ddd2561b52 --- /dev/null +++ b/recipes/mbits-lngs/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.7.6": + url: "https://github.com/mbits-os/lngs/archive/v0.7.6.tar.gz" + sha256: "85c9fd3afd5b6d5446a294f4de11221ae7fa160a62d1115a7ea0c1af17633a0b" diff --git a/recipes/mbits-lngs/all/conanfile.py b/recipes/mbits-lngs/all/conanfile.py new file mode 100644 index 0000000000000..2db7f9f7b6cca --- /dev/null +++ b/recipes/mbits-lngs/all/conanfile.py @@ -0,0 +1,142 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.files import get, copy, save, rmdir +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 +import os +import textwrap + + +required_conan_version = ">=1.53.0" + + +class MBitsLngsConan(ConanFile): + name = "mbits-lngs" + description = "Language strings support" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mbits-os/lngs" + topics = ("gettext", "locale",) + settings = "os", "arch", "compiler", "build_type" + package_type = "static-library" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "12", + "Visual Studio": "16", + "msvc": "192", + "apple-clang": "11.0.3", + } + + 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): + self.requires("fmt/9.1.0") + self.requires("mbits-utfconv/1.0.3") + self.requires("mbits-diags/0.9.6") + self.requires("mbits-mstch/1.0.4") + self.requires("mbits-args/0.12.3") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _settings_build(self): + return self.settings_build if hasattr(self, "settings_build") else self.settings + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LNGS_TESTING"] = False + tc.variables["LNGS_LITE"] = False + tc.variables["LNGS_LINKED_RESOURCES"] = True + tc.variables["LNGS_NO_PKG_CONFIG"] = True + if cross_building(self) and hasattr(self, "settings_build"): + tc.variables["LNGS_REBUILD_RESOURCES"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + @property + def _cmake_install_base_path(self): + return os.path.join("lib", "cmake") + + @property + def _cmake_targets_module_file(self): + return os.path.join(self._cmake_install_base_path, "mbits-lngs-targets.cmake") + + 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, self._cmake_install_base_path)) + + + # Provide relocatable mbits::lngs target and Mbitslngs_LNGS_EXECUTABLE cache variable + # TODO: some of the following logic might be disabled when conan will + # allow to create executable imported targets in package_info() + module_folder_depth = len(os.path.normpath(self._cmake_install_base_path).split(os.path.sep)) + lngs_rel_path = "{}bin/{}".format("".join(["../"] * module_folder_depth), "lngs") + save(self, os.path.join(self.package_folder, self._cmake_targets_module_file), + textwrap.dedent( + f"""\ + if(NOT TARGET mbits::lngs) + if(CMAKE_CROSSCOMPILING) + find_program(LNGS_PROGRAM lngs PATHS ENV PATH NO_DEFAULT_PATH) + endif() + if(NOT LNGS_PROGRAM) + set(LNGS_PROGRAM "${{CMAKE_CURRENT_LIST_DIR}}/{lngs_rel_path}") + endif() + get_filename_component(LNGS_PROGRAM "${{LNGS_PROGRAM}}" ABSOLUTE) + set(Mbitslngs_LNGS_EXECUTABLE ${{LNGS_PROGRAM}} CACHE FILEPATH "The lngs tool") + add_executable(mbits::lngs IMPORTED) + set_property(TARGET mbits::lngs PROPERTY IMPORTED_LOCATION ${{Mbitslngs_LNGS_EXECUTABLE}}) + endif() + """) + ) + + def package_info(self): + self.cpp_info.builddirs = [self._cmake_install_base_path ] + self.cpp_info.set_property("cmake_build_modules", [self._cmake_targets_module_file]) + self.cpp_info.set_property("cmake_file_name", "mbits-lngs") + + comp = self.cpp_info.components["liblngs"] + comp.set_property("cmake_target_name", "mbits::liblngs") + comp.libs = ["lngs"] diff --git a/recipes/mbits-lngs/all/test_package/CMakeLists.txt b/recipes/mbits-lngs/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..de4330a77c2a6 --- /dev/null +++ b/recipes/mbits-lngs/all/test_package/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) + +find_package(mbits-lngs REQUIRED CONFIG) + +set(IDL ${CMAKE_CURRENT_SOURCE_DIR}/translations.idl) +set(CPP ${CMAKE_CURRENT_BINARY_DIR}/translations.cpp) +set(HPP ${CMAKE_CURRENT_BINARY_DIR}/translations.hpp) + +add_custom_target( + make_lngs + COMMAND mbits::lngs res ${IDL} -o ${CPP} --include "translations.hpp" + COMMAND mbits::lngs enums -r ${IDL} -o ${HPP} + BYPRODUCTS ${CPP} ${HPP} + DEPENDS ${IDL} +) + +add_executable(${PROJECT_NAME} test_package.cpp ${CPP} ${HPP}) +target_link_libraries(${PROJECT_NAME} PRIVATE mbits::liblngs) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(${PROJECT_NAME} make_lngs) diff --git a/recipes/mbits-lngs/all/test_package/conanfile.py b/recipes/mbits-lngs/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e3b64136d43e7 --- /dev/null +++ b/recipes/mbits-lngs/all/test_package/conanfile.py @@ -0,0 +1,43 @@ +from conan import ConanFile +from conan.tools.build import can_run, cross_building +from conan.tools.cmake import cmake_layout, CMake, CMakeDeps, CMakeToolchain +from conan.tools.env import VirtualRunEnv, VirtualBuildEnv +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + if cross_building(self) and hasattr(self, "settings_build"): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = VirtualRunEnv(self) + tc.generate() + tc = VirtualBuildEnv(self) + if cross_building(self) and hasattr(self, "settings_build"): + tc.generate() + else: + tc.generate(scope="build") + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + 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/mbits-lngs/all/test_package/test_package.cpp b/recipes/mbits-lngs/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..54cfa70731d8d --- /dev/null +++ b/recipes/mbits-lngs/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include "translations.hpp" +#include + +int main() { + lngs::test::Strings tr{}; + tr.init_builtin(); + tr.path_manager(".", "example"); + + std::cout << tr(lngs::test::lng::MESSAGE) << '\n'; +} diff --git a/recipes/mbits-lngs/all/test_package/translations.idl b/recipes/mbits-lngs/all/test_package/translations.idl new file mode 100644 index 0000000000000..52b142116a700 --- /dev/null +++ b/recipes/mbits-lngs/all/test_package/translations.idl @@ -0,0 +1,9 @@ +[ + project("lngs-test"), + namespace("lngs::test"), + version("0.1"), + serial(1) +] strings { + [help("Hello world string"), id(1001)] + MESSAGE = "Hello, world!"; +} diff --git a/recipes/mbits-lngs/config.yml b/recipes/mbits-lngs/config.yml new file mode 100644 index 0000000000000..1d3599e3efc2e --- /dev/null +++ b/recipes/mbits-lngs/config.yml @@ -0,0 +1,3 @@ +versions: + "0.7.6": + folder: all From 70ca6dc14675c9a17374ef96c1a4d75deb89c702 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Sun, 6 Aug 2023 02:06:56 +0200 Subject: [PATCH 1074/4087] (#18953) [cgal] add cgal/5.5.3 * [cgal] add cgal/5.5.3 * i forgot config.yml --- recipes/cgal/all/conandata.yml | 8 ++++++++ recipes/cgal/config.yml | 2 ++ 2 files changed, 10 insertions(+) diff --git a/recipes/cgal/all/conandata.yml b/recipes/cgal/all/conandata.yml index 243b9320511a5..74b2b15e01e38 100644 --- a/recipes/cgal/all/conandata.yml +++ b/recipes/cgal/all/conandata.yml @@ -11,6 +11,9 @@ sources: "5.5.2": sha256: b2b05d5616ecc69facdc24417cce0b04fb4321491d107db45103add520e3d8c3 url: https://github.com/CGAL/cgal/releases/download/v5.5.2/CGAL-5.5.2.tar.xz + "5.5.3": + sha256: 0a04f662693256328b05babfabb5e3a5b7db2f5a58d52e3c520df9d0828ddd73 + url: https://github.com/CGAL/cgal/releases/download/v5.5.3/CGAL-5.5.3.tar.xz patches: "5.3.2": - patch_file: "patches/0001-fix-for-conan.patch" @@ -32,3 +35,8 @@ patches: patch_type: bugfix patch_source: https://github.com/CGAL/cgal/pull/7502 patch_description: Fix Eigen3 support in CGAL + "5.5.3": + - patch_file: "patches/0001-fix-for-conan.patch" + patch_type: bugfix + patch_source: https://github.com/CGAL/cgal/pull/7502 + patch_description: Fix Eigen3 support in CGAL diff --git a/recipes/cgal/config.yml b/recipes/cgal/config.yml index 48232844708f0..e8e1391dbacd3 100644 --- a/recipes/cgal/config.yml +++ b/recipes/cgal/config.yml @@ -7,3 +7,5 @@ versions: folder: all "5.5.2": folder: all + "5.5.3": + folder: all From 7efe2fda18e986c41debfe2bce2010d8280c50ff Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sun, 6 Aug 2023 07:22:37 +0200 Subject: [PATCH 1075/4087] (#19042) [docs] Add changelog 2023-Aug-04 Signed-off-by: Uilian Ries --- docs/changelog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 4ea36e44e8667..24c6950d686aa 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,12 @@ # Changelog +### 04-Aug-2023 - 10:26 CEST + +- [feature] Enable Conan 2.0.8 +- [feature] Enable Conan 1.60.2 +- [feature] Update Jenkins server version +- [hotfix] Better error management when having CI build timeout + ### 19-Jul-2023 - 09:45 CEST - [fix] Fix message processing if no message is passed. From 89e0b7bffe5bdad217492ffc5ded1162ef50941b Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sun, 6 Aug 2023 08:02:08 +0200 Subject: [PATCH 1076/4087] (#19036) [bimg] Fix imports for test package Signed-off-by: Uilian Ries --- recipes/bimg/all/test_package/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/bimg/all/test_package/conanfile.py b/recipes/bimg/all/test_package/conanfile.py index 4100c3ff4959c..17cae79880122 100644 --- a/recipes/bimg/all/test_package/conanfile.py +++ b/recipes/bimg/all/test_package/conanfile.py @@ -1,10 +1,8 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.layout import cmake_layout -from conan.tools.cmake import CMake +from conan.tools.cmake import CMake, cmake_layout import os -required_conan_version = ">=1.50.0" class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" From bc1eb9037ecab0d1455367efada63dcd3f2aab9f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 6 Aug 2023 09:25:06 +0300 Subject: [PATCH 1077/4087] (#17933) gtsam: add v4.2.0a9, update package options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gtsam: add missing Boost::program_options requirement See https://github.com/borglab/gtsam/blob/4.1.1/cmake/HandleBoost.cmake#L26 * gtsam: add transitive_headers/libs to deps * gtsam: drop test_v1_package * gtsam: backport a patch for C++17 compatibility * gtsam: add v4.2.0a9 https://github.com/borglab/gtsam/releases/tag/4.2a9 * gtsam: update package options - Covers all options that could be found in GTSAM build scripts. - Added links to source code since they are hard to find otherwise. - Added `allow_deprecated` option and deprecated `allow_deprecated_since_V4` as the wording of the GTSAM variable keeps changing but the meaning has stayed the same. - Added vars: GTSAM_DEFAULT_ALLOCATOR GTSAM_SLOW_BUT_CORRECT_BETWEENFACTOR GTSAM_USE_SYSTEM_METIS GTSAM_MEX_BUILD_STATIC_MODULE * gtsam: tweak formatting * gtsam: get rid of a duplicate patch * gtsam: handle `build_type_postfixes` option correctly * gtsam: correct metis lib name in 4.0 * gtsam: correct build_type_postfixes behavior * gtsam: fix a bug in 4.2.0a9 * gtsam: add 'lib' prefix to libraries on Windows * gtsam: add patch_source info to conandata.yml * gtsam: apply "lib" prefix on Windows correctly * gtsam: drop v4.0.2 To limit the load on CI. Superseded by v4.0.3. * gtsam: update onetbb and boost versions onetbb/2020.3 did not support Conan v2. * gtsam: better TBB validation * gtsam: add tcmalloc support with gperftools * gtsam: fix Eigen version check * gtsam: enable shared builds on Windows for v4.2 * gtsam: shared builds on Windows are broken in v4.2.0a9 * gtsam: document options with options_description * gtsam: add use_vendored_metis option * gtsam: simplify Conan v1 boilerplate * gtsam: improve default_allocator handling * gtsam: remove use_vendored_metis option It no longer builds with the new metis recipe. --------- Co-authored-by: Francisco Ramírez --- recipes/gtsam/all/conandata.yml | 40 ++- recipes/gtsam/all/conanfile.py | 334 +++++++++++++----- .../all/patches/4.0.2-0001-cmake-boost.patch | 61 ---- .../all/patches/4.0.2-0002-cmake-eigen.patch | 20 -- .../all/patches/4.0.2-0003-macos-rpath.patch | 34 -- ...t.patch => 4.0.3-0004-cmake-project.patch} | 0 .../patches/4.1.1-0005-eigen3-version.patch | 21 ++ .../all/patches/4.2.0-0001-macos-rpath.patch | 30 ++ .../patches/4.2.0-0002-eigen3-version.patch | 20 ++ .../4.2.0a9-0001-fix-invalid-include.patch | 12 + .../gtsam/all/test_v1_package/CMakeLists.txt | 8 - .../gtsam/all/test_v1_package/conanfile.py | 17 - recipes/gtsam/config.yml | 4 +- 13 files changed, 348 insertions(+), 253 deletions(-) delete mode 100644 recipes/gtsam/all/patches/4.0.2-0001-cmake-boost.patch delete mode 100644 recipes/gtsam/all/patches/4.0.2-0002-cmake-eigen.patch delete mode 100644 recipes/gtsam/all/patches/4.0.2-0003-macos-rpath.patch rename recipes/gtsam/all/patches/{4.0.2-0003-cmake-project.patch => 4.0.3-0004-cmake-project.patch} (100%) create mode 100644 recipes/gtsam/all/patches/4.1.1-0005-eigen3-version.patch create mode 100644 recipes/gtsam/all/patches/4.2.0-0001-macos-rpath.patch create mode 100644 recipes/gtsam/all/patches/4.2.0-0002-eigen3-version.patch create mode 100644 recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch delete mode 100644 recipes/gtsam/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/gtsam/all/test_v1_package/conanfile.py diff --git a/recipes/gtsam/all/conandata.yml b/recipes/gtsam/all/conandata.yml index a7ab46e7ea6fb..eecf7c3eb615e 100644 --- a/recipes/gtsam/all/conandata.yml +++ b/recipes/gtsam/all/conandata.yml @@ -1,14 +1,28 @@ sources: + "4.2.0a9": + url: "https://github.com/borglab/gtsam/archive/refs/tags/4.2a9.tar.gz" + sha256: "a9790e5132bfb2705a5985a1505c3cf9cdf95b711be8352ffa9a9299b279f2f8" "4.1.1": url: "https://github.com/borglab/gtsam/archive/4.1.1.tar.gz" sha256: "c7b5e6cdad52b141c272778f47baf628975457be3e26ed96a7bc2ae685a00af0" "4.0.3": url: "https://github.com/borglab/gtsam/archive/4.0.3.tar.gz" sha256: "eaa561749edf7a2d402981828253e28aed6c717dae35738301c5ab23e2595f25" - "4.0.2": - url: "https://github.com/borglab/gtsam/archive/4.0.2.tar.gz" - sha256: "8770a440f1af98c3f0d9d4dffd568de2d4c21b245e7231e987e26bc236aeb5aa" patches: + "4.2.0a9": + - patch_file: "patches/4.1.1-0001-cmake-boost.patch" + patch_description: "Use boost targets" + patch_type: "conan" + - patch_file: "patches/4.2.0-0001-macos-rpath.patch" + patch_description: "Relocatable shared libs on Apple OS" + patch_type: "conan" + - patch_file: "patches/4.2.0-0002-eigen3-version.patch" + patch_description: "Get Eigen3 version info from Conan" + patch_type: "conan" + - patch_file: "patches/4.2.0a9-0001-fix-invalid-include.patch" + patch_description: "Fix an invalid include for pre-C++17 compatibility" + patch_type: "portability" + patch_source: "https://github.com/borglab/gtsam/pull/1545" "4.1.1": - patch_file: "patches/4.1.1-0001-cmake-boost.patch" patch_description: "Use boost targets" @@ -19,9 +33,12 @@ patches: - patch_file: "patches/4.1.1-0003-macos-rpath.patch" patch_description: "Relocatable shared libs on Apple OS" patch_type: "conan" - - patch_file: "patches/4.0.2-0003-cmake-project.patch" + - patch_file: "patches/4.0.3-0004-cmake-project.patch" patch_description: "CMake: move project() after cmake_minimum_required()" patch_type: "conan" + - patch_file: "patches/4.1.1-0005-eigen3-version.patch" + patch_description: "Get Eigen3 version info from Conan" + patch_type: "conan" "4.0.3": - patch_file: "patches/4.0.3-0001-cmake-boost.patch" patch_description: "Use boost targets" @@ -32,19 +49,6 @@ patches: - patch_file: "patches/4.0.3-0003-macos-rpath.patch" patch_description: "Relocatable shared libs on Apple OS" patch_type: "conan" - - patch_file: "patches/4.0.2-0003-cmake-project.patch" - patch_description: "CMake: move project() after cmake_minimum_required()" - patch_type: "conan" - "4.0.2": - - patch_file: "patches/4.0.2-0001-cmake-boost.patch" - patch_description: "Use boost targets" - patch_type: "conan" - - patch_file: "patches/4.0.2-0002-cmake-eigen.patch" - patch_description: "Use Eigen include variable from CMakeDeps" - patch_type: "conan" - - patch_file: "patches/4.0.2-0003-macos-rpath.patch" - patch_description: "Relocatable shared libs on Apple OS" - patch_type: "conan" - - patch_file: "patches/4.0.2-0003-cmake-project.patch" + - patch_file: "patches/4.0.3-0004-cmake-project.patch" patch_description: "CMake: move project() after cmake_minimum_required()" patch_type: "conan" diff --git a/recipes/gtsam/all/conanfile.py b/recipes/gtsam/all/conanfile.py index 6ed583d1786ac..4320c2bbb7e69 100644 --- a/recipes/gtsam/all/conanfile.py +++ b/recipes/gtsam/all/conanfile.py @@ -15,58 +15,100 @@ class GtsamConan(ConanFile): license = "BSD-3-Clause" homepage = "https://github.com/borglab/gtsam" url = "https://github.com/conan-io/conan-center-index" - description = ("GTSAM is a library of C++ classes that implement\ - smoothing and mapping (SAM) in robotics and vision") - topics = ("mapping", "smoothing") + description = ("GTSAM is a library of C++ classes that implement " + "smoothing and mapping (SAM) in robotics and vision") + topics = ("mapping", "smoothing", "optimization", "factor-graphs") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "use_quaternions": [True, False], + "allow_deprecated": [True, False], + "allow_deprecated_since_V4": [True, False, "deprecated"], + "build_type_postfixes": [True, False], + "build_unstable": [True, False], + "build_with_march_native": [True, False], + "default_allocator": [None, "STL", "BoostPool", "TBB", "tcmalloc"], + "disable_new_timers": [True, False], + "enable_consistency_checks": [True, False], + "install_cppunitlite": [True, False], + "install_matlab_toolbox": [True, False], "pose3_expmap": [True, False], "rot3_expmap": [True, False], - "enable_consistency_checks": [True, False], + "slow_but_correct_betweenfactor": [True, False], + "support_nested_dissection": [True, False], + "tangent_preintegration": [True, False], + "throw_cheirality_exception": [True, False], + "use_quaternions": [True, False], "with_TBB": [True, False], "with_eigen_MKL": [True, False], "with_eigen_MKL_OPENMP": [True, False], - "throw_cheirality_exception": [True, False], - "allow_deprecated_since_V4": [True, False], - "typedef_points_to_vectors": [True, False], - "support_nested_dissection": [True, False], - "tangent_preintegration": [True, False], + + # Removed since v4.1 "build_wrap": [True, False], - "wrap_serialization": [True, False], - "build_unstable": [True, False], - "disable_new_timers": [True, False], - "build_type_postfixes": [True, False], - "install_matlab_toolbox": [True, False], "install_cython_toolbox": [True, False], - "install_cppunitlite": [True, False], + "typedef_points_to_vectors": [True, False], + "wrap_serialization": [True, False], } default_options = { "shared": False, "fPIC": True, - "use_quaternions": False, + "allow_deprecated": True, + "allow_deprecated_since_V4": "deprecated", + "build_type_postfixes": True, + "build_unstable": True, + "build_with_march_native": False, + "default_allocator": None, + "disable_new_timers": False, + "enable_consistency_checks": False, + "install_cppunitlite": True, + "install_matlab_toolbox": False, "pose3_expmap": False, "rot3_expmap": False, - "enable_consistency_checks": False, + "slow_but_correct_betweenfactor": False, + "support_nested_dissection": False, + "tangent_preintegration": False, + "throw_cheirality_exception": True, + "use_quaternions": False, "with_TBB": False, "with_eigen_MKL": False, "with_eigen_MKL_OPENMP": False, - "throw_cheirality_exception": True, - "allow_deprecated_since_V4": True, - "typedef_points_to_vectors": False, - "support_nested_dissection": False, - "tangent_preintegration": False, + + # < v4.1 only "build_wrap": False, - "wrap_serialization": True, - "build_unstable": True, - "disable_new_timers": False, - "build_type_postfixes": True, - "install_matlab_toolbox": False, "install_cython_toolbox": False, - "install_cppunitlite": True, + "typedef_points_to_vectors": False, + "wrap_serialization": True, + } + options_description = { + "allow_deprecated": "Allow use of deprecated methods/functions", + "build_type_postfixes": "Append the build type to the name of compiled libraries", + "build_unstable": "Enable building of gtsam_unstable", + "build_with_march_native": "Build with all instructions supported by native architecture (binary may not be portable!)", + "default_allocator": "Set preferred memory allocator. If unset, defaults to STL or to TBB, if with_TBB is enabled", + "disable_new_timers": "Disables using Boost.chrono for timing", + "enable_consistency_checks": "Enable expensive consistency checks", + "install_cppunitlite": "Install CppUnitLite library as a component", + "install_matlab_toolbox": "Install MATLAB toolbox", + "pose3_expmap": "Use Pose3::EXPMAP as the default mode. If disabled, Pose3::FIRST_ORDER will be used.", + "rot3_expmap": ("Ignore if GTSAM_USE_QUATERNIONS is OFF (Rot3::EXPMAP by default). " + "Otherwise, enable Rot3::EXPMAP, or if disabled, use Rot3::CAYLEY."), + "slow_but_correct_betweenfactor": "Use the slower but correct version of BetweenFactor", + "support_nested_dissection": "Support Metis-based nested dissection", + "tangent_preintegration": "Use the new ImuFactor with integration on tangent space", + "throw_cheirality_exception": "Throw exception when a triangulated point is behind a camera", + "use_quaternions": ("Enable an internal Quaternion representation for rotations instead of rotation matrices. " + "If enabled, Rot3::EXPMAP is enforced by default."), + "with_TBB": "Use Intel Threaded Building Blocks (TBB)", + "with_eigen_MKL": "Eigen will use Intel MKL if available", + "with_eigen_MKL_OPENMP": "Eigen, when using Intel MKL, will also use OpenMP for multithreading if available", + + # < v4.1 only + "build_wrap": "Build Matlab/Cython wrap utility (necessary for Matlab/Cython interface)", + "install_cython_toolbox": "Install Cython toolbox", + "typedef_points_to_vectors": "Typedef Point2 and Point3 to Eigen::Vector equivalents", + "wrap_serialization": "Allow wrapped objects to be saved via boost.serialization", } def export_sources(self): @@ -75,43 +117,90 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "4.1": + del self.options.build_wrap + del self.options.install_cython_toolbox + del self.options.typedef_points_to_vectors + del self.options.wrap_serialization + else: + del self.options.slow_but_correct_betweenfactor def configure(self): if self.options.shared: self.options.rm_safe("fPIC") if self.options.with_TBB: self.options["onetbb"].tbbmalloc = True + if self.options.allow_deprecated_since_V4 != "deprecated": + self.output.warn("'allow_deprecated_since_V4' option is deprecated. Use 'allow_deprecated' instead.") + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0") - self.requires("eigen/3.4.0") + self.requires("boost/1.82.0", transitive_headers=True) + self.requires("eigen/3.4.0", transitive_headers=True) if self.options.with_TBB: - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.9.0", transitive_headers=True) + if self.options.default_allocator == "tcmalloc": + self.requires("gperftools/2.10.0") + # TODO: add use_vendored_metis=False option + # if self.options.support_nested_dissection and not self.options.use_vendored_metis: + # # Used in a public header here: + # # https://github.com/borglab/gtsam/blob/4.2a9/gtsam_unstable/partition/FindSeparator-inl.h#L23-L27 + # self.requires("metis/5.1.1", transitive_headers=True) @property def _required_boost_components(self): - return ["serialization", "system", "filesystem", "thread", "date_time", "regex", "timer", "chrono"] + # Based on https://github.com/borglab/gtsam/blob/4.2a9/cmake/HandleBoost.cmake#L26 + return [ + "chrono", + "date_time", + "filesystem", + "program_options", + "regex", + "serialization", + "system", + "thread", + "timer", + ] def validate(self): - miss_boost_required_comp = any(self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) - for boost_comp in self._required_boost_components) + 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( f"{self.ref} requires non header-only boost with these components: " f"{', '.join(self._required_boost_components)}" ) - if self.options.with_TBB and not self.dependencies["onetbb"].options.tbbmalloc: - raise ConanInvalidConfiguration("gtsam with tbb requires onetbb:tbbmalloc=True") + if self.options.with_TBB: + if self.options.default_allocator in [None, "TBB"]: + if not self.dependencies["onetbb"].options.tbbmalloc: + raise ConanInvalidConfiguration("GTSAM with TBB requires onetbb/*:tbbmalloc=True") + elif self.options.default_allocator != "tcmalloc": + raise ConanInvalidConfiguration( + "with_TBB option cannot be used with" + f" default_allocator={self.options.default_allocator}" + ) + elif self.options.default_allocator == "TBB": + raise ConanInvalidConfiguration("default_allocator=TBB requires with_TBB=True") check_min_vs(self, "191") - if Version(self.version) >= "4.1.0" and is_msvc(self) and self.options.shared: + if Version(self.version) >= "4.1" and is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration( - f"{self.ref} does not support shared builds with MSVC. See https://github.com/borglab/gtsam/issues/1087" + f"{self.ref} does not support shared builds with MSVC. See" + "https://github.com/borglab/gtsam/issues/1087" + if Version(self.version) < "4.2" + else "https://github.com/borglab/gtsam/issues/1541" + ) + + if self.options.allow_deprecated_since_V4 != "deprecated": + self.output.warn( + "'allow_deprecated_since_V4' option is deprecated. Use 'allow_deprecated' instead." ) def source(self): @@ -120,6 +209,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/HandleGeneralOptions.cmake + tc.variables["GTSAM_BUILD_UNSTABLE"] = self.options.build_unstable + tc.variables["GTSAM_UNSTABLE_BUILD_PYTHON"] = False + tc.variables["GTSAM_UNSTABLE_INSTALL_MATLAB_TOOLBOX"] = self.options.install_matlab_toolbox tc.variables["GTSAM_USE_QUATERNIONS"] = self.options.use_quaternions tc.variables["GTSAM_POSE3_EXPMAP"] = self.options.pose3_expmap tc.variables["GTSAM_ROT3_EXPMAP"] = self.options.rot3_expmap @@ -128,41 +221,89 @@ def generate(self): tc.variables["GTSAM_WITH_EIGEN_MKL"] = self.options.with_eigen_MKL tc.variables["GTSAM_WITH_EIGEN_MKL_OPENMP"] = self.options.with_eigen_MKL_OPENMP tc.variables["GTSAM_THROW_CHEIRALITY_EXCEPTION"] = self.options.throw_cheirality_exception - tc.variables["GTSAM_ALLOW_DEPRECATED_SINCE_V4"] = self.options.allow_deprecated_since_V4 - tc.variables["GTSAM_TYPEDEF_POINTS_TO_VECTORS"] = self.options.typedef_points_to_vectors + tc.variables["GTSAM_BUILD_PYTHON"] = False + tc.variables["GTSAM_INSTALL_MATLAB_TOOLBOX"] = self.options.install_matlab_toolbox + tc.variables["GTSAM_ALLOW_DEPRECATED_SINCE_V4"] = self.options.allow_deprecated + if self.options.allow_deprecated_since_V4 != "deprecated": + tc.variables["GTSAM_ALLOW_DEPRECATED_SINCE_V4"] = self.options.allow_deprecated_since_V4 + tc.variables["GTSAM_ALLOW_DEPRECATED_SINCE_V41"] = self.options.allow_deprecated + tc.variables["GTSAM_ALLOW_DEPRECATED_SINCE_V42"] = self.options.allow_deprecated tc.variables["GTSAM_SUPPORT_NESTED_DISSECTION"] = self.options.support_nested_dissection tc.variables["GTSAM_TANGENT_PREINTEGRATION"] = self.options.tangent_preintegration + # Added in 4.1+ + if Version(self.version) >= "4.1": + tc.variables["GTSAM_SLOW_BUT_CORRECT_BETWEENFACTOR"] = self.options.slow_but_correct_betweenfactor tc.variables["GTSAM_BUILD_WITH_CCACHE"] = False - tc.variables["GTSAM_BUILD_UNSTABLE"] = self.options.build_unstable - tc.variables["GTSAM_DISABLE_NEW_TIMERS"] = self.options.disable_new_timers + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/HandleAllocators.cmake + if self.options.default_allocator is not None: + tc.variables["GTSAM_DEFAULT_ALLOCATOR"] = self.options.default_allocator + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/GtsamBuildTypes.cmake#L59 tc.variables["GTSAM_BUILD_TYPE_POSTFIXES"] = self.options.build_type_postfixes + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/GtsamBuildTypes.cmake#L193 + tc.variables["GTSAM_BUILD_WITH_MARCH_NATIVE"] = self.options.build_with_march_native + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/HandleBoost.cmake#L36 + tc.variables["GTSAM_DISABLE_NEW_TIMERS"] = self.options.disable_new_timers + # https://github.com/borglab/gtsam/blob/4.2a9/CppUnitLite/CMakeLists.txt#L13 + tc.variables["GTSAM_INSTALL_CPPUNITLITE"] = self.options.install_cppunitlite + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/HandleEigen.cmake#L3 + tc.variables["GTSAM_USE_SYSTEM_EIGEN"] = True + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/HandleMetis.cmake#L11 + tc.variables["GTSAM_USE_SYSTEM_METIS"] = False + # https://github.com/borglab/gtsam/blob/4.2a9/gtsam/3rdparty/CMakeLists.txt#L76 + tc.variables["GTSAM_INSTALL_GEOGRAPHICLIB"] = False + # https://github.com/borglab/gtsam/blob/4.2a9/matlab/CMakeLists.txt#L14-L15 + tc.variables["GTSAM_MEX_BUILD_STATIC_MODULE"] = False + # https://github.com/borglab/gtsam/blob/4.2a9/cmake/GtsamTesting.cmake#L89-L91 tc.variables["GTSAM_BUILD_TESTS"] = False - tc.variables["Boost_USE_STATIC_LIBS"] = not self.dependencies["boost"].options.shared - tc.variables["Boost_NO_SYSTEM_PATHS"] = True + tc.variables["GTSAM_BUILD_EXAMPLES_ALWAYS"] = False + tc.variables["GTSAM_BUILD_TIMING_ALWAYS"] = False + # https://github.com/borglab/gtsam/blob/4.2a9/doc/CMakeLists.txt tc.variables["GTSAM_BUILD_DOCS"] = False tc.variables["GTSAM_BUILD_DOC_HTML"] = False - tc.variables["GTSAM_BUILD_EXAMPLES_ALWAYS"] = False - tc.variables["GTSAM_BUILD_WRAP"] = self.options.build_wrap - tc.variables["GTSAM_BUILD_WITH_MARCH_NATIVE"] = False - tc.variables["GTSAM_WRAP_SERIALIZATION"] = self.options.wrap_serialization - tc.variables["GTSAM_INSTALL_MATLAB_TOOLBOX"] = self.options.install_matlab_toolbox - tc.variables["GTSAM_INSTALL_CYTHON_TOOLBOX"] = self.options.install_cython_toolbox - tc.variables["GTSAM_INSTALL_CPPUNITLITE"] = self.options.install_cppunitlite - tc.variables["GTSAM_INSTALL_GEOGRAPHICLIB"] = False - tc.variables["GTSAM_USE_SYSTEM_EIGEN"] = True - tc.variables["GTSAM_BUILD_TYPE_POSTFIXES"] = False + tc.variables["GTSAM_BUILD_DOC_LATEX"] = False + + # Removed in 4.1+ + if Version(self.version) < "4.1": + # https://github.com/borglab/gtsam/blob/4.0.3/CMakeLists.txt + tc.variables["GTSAM_BUILD_WRAP"] = self.options.build_wrap + tc.variables["GTSAM_INSTALL_CYTHON_TOOLBOX"] = self.options.install_cython_toolbox + tc.variables["GTSAM_TYPEDEF_POINTS_TO_VECTORS"] = self.options.typedef_points_to_vectors + # https://github.com/borglab/gtsam/blob/4.0.3/wrap/CMakeLists.txt#L15 + tc.variables["GTSAM_WRAP_SERIALIZATION"] = self.options.wrap_serialization + + tc.variables["Boost_USE_STATIC_LIBS"] = not self.dependencies["boost"].options.shared + tc.variables["Boost_NO_SYSTEM_PATHS"] = True tc.generate() + deps = CMakeDeps(self) deps.generate() def _patch_sources(self): apply_conandata_patches(self) + # Honor vc runtime if is_msvc(self): gtsam_build_types_cmake = os.path.join(self.source_folder, "cmake", "GtsamBuildTypes.cmake") replace_in_file(self, gtsam_build_types_cmake, "/MD ", f"/{msvc_runtime_flag(self)} ") replace_in_file(self, gtsam_build_types_cmake, "/MDd ", f"/{msvc_runtime_flag(self)} ") + if self.options.default_allocator == "tcmalloc": + handle_allocators_path = os.path.join(self.source_folder, "cmake", "HandleAllocators.cmake") + if Version(self.version) < "4.1": + handle_allocators_path = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file( + self, + handle_allocators_path, + "if(GOOGLE", + "find_package(gperftools REQUIRED)\nset(GOOGLE_PERFTOOLS_FOUND TRUE)\nif(GOOGLE", + ) + replace_in_file( + self, + handle_allocators_path, + 'GTSAM_ADDITIONAL_LIBRARIES "tcmalloc"', + 'GTSAM_ADDITIONAL_LIBRARIES "gperftools::gperftools"', + ) + def build(self): self._patch_sources() cmake = CMake(self) @@ -206,53 +347,60 @@ def _module_file_rel_path(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "GTSAM") - prefix = "lib" if is_msvc(self) and not self.options.shared else "" - - self.cpp_info.components["libgtsam"].set_property("cmake_target_name", "gtsam") - self.cpp_info.components["libgtsam"].libs = [f"{prefix}gtsam"] - self.cpp_info.components["libgtsam"].requires = [f"boost::{component}" for component in self._required_boost_components] - self.cpp_info.components["libgtsam"].requires.append("eigen::eigen") + gtsam = self.cpp_info.components["libgtsam"] + gtsam.set_property("cmake_target_name", "gtsam") + gtsam.libs = ["gtsam"] + gtsam.requires = [f"boost::{component}" for component in self._required_boost_components] + gtsam.requires.append("eigen::eigen") if self.options.with_TBB: - self.cpp_info.components["libgtsam"].requires.append("onetbb::onetbb") + gtsam.requires.append("onetbb::onetbb") + if self.options.default_allocator == "tcmalloc": + gtsam.requires.append("gperftools::gperftools") if self.options.support_nested_dissection: - self.cpp_info.components["libgtsam"].requires.append("libmetis-gtsam") - if self.settings.os == "Windows" and Version(self.version) >= "4.0.3": - self.cpp_info.components["libgtsam"].system_libs = ["dbghelp"] + gtsam.requires.append("libmetis-gtsam") + if self.settings.os == "Windows": + gtsam.system_libs = ["dbghelp"] if self.options.build_unstable: - self.cpp_info.components["libgtsam_unstable"].set_property("cmake_target_name", "gtsam_unstable") - self.cpp_info.components["libgtsam_unstable"].libs = [f"{prefix}gtsam_unstable"] - self.cpp_info.components["libgtsam_unstable"].requires = ["libgtsam"] + gtsam_unstable = self.cpp_info.components["libgtsam_unstable"] + gtsam_unstable.set_property("cmake_target_name", "gtsam_unstable") + gtsam_unstable.libs = ["gtsam_unstable"] + gtsam_unstable.requires = ["libgtsam"] if self.options.support_nested_dissection: - self.cpp_info.components["libmetis-gtsam"].set_property("cmake_target_name", "metis-gtsam") - self.cpp_info.components["libmetis-gtsam"].libs = ["metis-gtsam"] - self.cpp_info.components["libmetis-gtsam"].names["pkg_config"] = "metis-gtsam" + metis = self.cpp_info.components["libmetis-gtsam"] + metis.set_property("cmake_target_name", "metis-gtsam") + if Version(self.version) >= "4.1": + metis.libs = ["metis-gtsam"] + else: + metis.libs = ["metis"] + metis.names["pkg_config"] = "metis-gtsam" if self.options.install_cppunitlite: - self.cpp_info.components["gtsam_CppUnitLite"].set_property("cmake_target_name", "CppUnitLite") - self.cpp_info.components["gtsam_CppUnitLite"].libs = ["CppUnitLite"] - self.cpp_info.components["gtsam_CppUnitLite"].requires = ["boost::boost"] + cppunitlite = self.cpp_info.components["gtsam_CppUnitLite"] + cppunitlite.set_property("cmake_target_name", "CppUnitLite") + cppunitlite.libs = ["CppUnitLite"] + cppunitlite.requires = ["boost::boost"] + + if is_msvc(self) and not self.options.shared: + for component in self.cpp_info.components.values(): + component.libs = [f"lib{lib}" for lib in component.libs if lib.startswith("gtsam")] + if self.options.build_type_postfixes and self.settings.build_type != "Release": + for component in self.cpp_info.components.values(): + component.libs = [f"{lib}{self.settings.build_type}" for lib in component.libs] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "GTSAM" self.cpp_info.names["cmake_find_package_multi"] = "GTSAM" - self.cpp_info.components["libgtsam"].names["cmake_find_package"] = "gtsam" - self.cpp_info.components["libgtsam"].names["cmake_find_package_multi"] = "gtsam" - self.cpp_info.components["libgtsam"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libgtsam"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.build_unstable: - self.cpp_info.components["libgtsam_unstable"].names["cmake_find_package"] = "gtsam_unstable" - self.cpp_info.components["libgtsam_unstable"].names["cmake_find_package_multi"] = "gtsam_unstable" - self.cpp_info.components["libgtsam_unstable"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libgtsam_unstable"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.support_nested_dissection: - self.cpp_info.components["libmetis-gtsam"].names["cmake_find_package"] = "metis-gtsam" - self.cpp_info.components["libmetis-gtsam"].names["cmake_find_package_multi"] = "metis-gtsam" - self.cpp_info.components["libmetis-gtsam"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libmetis-gtsam"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.install_cppunitlite: - self.cpp_info.components["gtsam_CppUnitLite"].names["cmake_find_package"] = "CppUnitLite" - self.cpp_info.components["gtsam_CppUnitLite"].names["cmake_find_package_multi"] = "CppUnitLite" - self.cpp_info.components["gtsam_CppUnitLite"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["gtsam_CppUnitLite"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + for component_name, lib_name in [ + ("libgtsam", "gtsam"), + ("libgtsam_unstable", "gtsam_unstable"), + ("libmetis-gtsam", "metis-gtsam"), + ("gtsam_CppUnitLite", "CppUnitLite"), + ]: + if component_name in self.cpp_info.components: + component = self.cpp_info.components[component_name] + component.names["cmake_find_package"] = lib_name + component.names["cmake_find_package_multi"] = lib_name + component.build_modules["cmake_find_package"] = [self._module_file_rel_path] + component.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/gtsam/all/patches/4.0.2-0001-cmake-boost.patch b/recipes/gtsam/all/patches/4.0.2-0001-cmake-boost.patch deleted file mode 100644 index d19f34cd53327..0000000000000 --- a/recipes/gtsam/all/patches/4.0.2-0001-cmake-boost.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -163,13 +163,13 @@ - set(BOOST_FIND_MINIMUM_VERSION 1.43) - set(BOOST_FIND_MINIMUM_COMPONENTS serialization system filesystem thread program_options date_time timer chrono regex) - --find_package(Boost ${BOOST_FIND_MINIMUM_VERSION} COMPONENTS ${BOOST_FIND_MINIMUM_COMPONENTS}) -+find_package(Boost ${BOOST_FIND_MINIMUM_VERSION} COMPONENTS ${BOOST_FIND_MINIMUM_COMPONENTS} REQUIRED) - - # Required components --if(NOT Boost_SERIALIZATION_LIBRARY OR NOT Boost_SYSTEM_LIBRARY OR NOT Boost_FILESYSTEM_LIBRARY OR -- NOT Boost_THREAD_LIBRARY OR NOT Boost_DATE_TIME_LIBRARY) -- message(FATAL_ERROR "Missing required Boost components >= v1.43, please install/upgrade Boost or configure your search paths.") --endif() -+#if(NOT Boost_SERIALIZATION_LIBRARY OR NOT Boost_SYSTEM_LIBRARY OR NOT Boost_FILESYSTEM_LIBRARY OR -+# NOT Boost_THREAD_LIBRARY OR NOT Boost_DATE_TIME_LIBRARY) -+# message(FATAL_ERROR "Missing required Boost components >= v1.43, please install/upgrade Boost or configure your search paths.") -+#endif() - - # Allow for not using the timer libraries on boost < 1.48 (GTSAM timing code falls back to old timer library) - option(GTSAM_DISABLE_NEW_TIMERS "Disables using Boost.chrono for timing" OFF) -@@ -179,30 +179,22 @@ - # so we downgraded this to classic filenames-based variables, and manually adding - # the target_include_directories(xxx ${Boost_INCLUDE_DIR}) - set(GTSAM_BOOST_LIBRARIES -- optimized ${Boost_SERIALIZATION_LIBRARY_RELEASE} -- optimized ${Boost_SYSTEM_LIBRARY_RELEASE} -- optimized ${Boost_FILESYSTEM_LIBRARY_RELEASE} -- optimized ${Boost_THREAD_LIBRARY_RELEASE} -- optimized ${Boost_DATE_TIME_LIBRARY_RELEASE} -- optimized ${Boost_REGEX_LIBRARY_RELEASE} -- debug ${Boost_SERIALIZATION_LIBRARY_DEBUG} -- debug ${Boost_SYSTEM_LIBRARY_DEBUG} -- debug ${Boost_FILESYSTEM_LIBRARY_DEBUG} -- debug ${Boost_THREAD_LIBRARY_DEBUG} -- debug ${Boost_DATE_TIME_LIBRARY_DEBUG} -- debug ${Boost_REGEX_LIBRARY_DEBUG} -+ Boost::serialization -+ Boost::system -+ Boost::filesystem -+ Boost::thread -+ Boost::date_time -+ Boost::regex - ) - message(STATUS "GTSAM_BOOST_LIBRARIES: ${GTSAM_BOOST_LIBRARIES}") - if (GTSAM_DISABLE_NEW_TIMERS) - message("WARNING: GTSAM timing instrumentation manually disabled") - list_append_cache(GTSAM_COMPILE_DEFINITIONS_PUBLIC DGTSAM_DISABLE_NEW_TIMERS) - else() -- if(Boost_TIMER_LIBRARY) -+ if(TARGET Boost::timer) - list(APPEND GTSAM_BOOST_LIBRARIES -- optimized ${Boost_TIMER_LIBRARY_RELEASE} -- optimized ${Boost_CHRONO_LIBRARY_RELEASE} -- debug ${Boost_TIMER_LIBRARY_DEBUG} -- debug ${Boost_CHRONO_LIBRARY_DEBUG} -+ Boost::timer -+ Boost::chrono - ) - else() - list(APPEND GTSAM_BOOST_LIBRARIES rt) # When using the header-only boost timer library, need -lrt diff --git a/recipes/gtsam/all/patches/4.0.2-0002-cmake-eigen.patch b/recipes/gtsam/all/patches/4.0.2-0002-cmake-eigen.patch deleted file mode 100644 index 21c808ace60fd..0000000000000 --- a/recipes/gtsam/all/patches/4.0.2-0002-cmake-eigen.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -292,7 +292,7 @@ if(GTSAM_USE_SYSTEM_EIGEN) - find_package(Eigen3 REQUIRED) - - # Use generic Eigen include paths e.g. -- set(GTSAM_EIGEN_INCLUDE_FOR_INSTALL "${EIGEN3_INCLUDE_DIR}") -+ set(GTSAM_EIGEN_INCLUDE_FOR_INSTALL "${Eigen3_INCLUDE_DIRS}") - - # check if MKL is also enabled - can have one or the other, but not both! - # Note: Eigen >= v3.2.5 includes our patches -@@ -307,7 +307,7 @@ if(GTSAM_USE_SYSTEM_EIGEN) - endif() - - # The actual include directory (for BUILD cmake target interface): -- set(GTSAM_EIGEN_INCLUDE_FOR_BUILD "${EIGEN3_INCLUDE_DIR}") -+ set(GTSAM_EIGEN_INCLUDE_FOR_BUILD "${Eigen3_INCLUDE_DIRS}") - else() - # Use bundled Eigen include path. - # Clear any variables set by FindEigen3 diff --git a/recipes/gtsam/all/patches/4.0.2-0003-macos-rpath.patch b/recipes/gtsam/all/patches/4.0.2-0003-macos-rpath.patch deleted file mode 100644 index 6bc74d30d7ff1..0000000000000 --- a/recipes/gtsam/all/patches/4.0.2-0003-macos-rpath.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,7 +4,6 @@ cmake_minimum_required(VERSION 3.0) - # new feature to Cmake Version > 2.8.12 - # Mac ONLY. Define Relative Path on Mac OS - if(NOT DEFINED CMAKE_MACOSX_RPATH) -- set(CMAKE_MACOSX_RPATH 0) - endif() - - # Set the version number for the library ---- a/gtsam/CMakeLists.txt -+++ b/gtsam/CMakeLists.txt -@@ -177,9 +177,6 @@ if(WIN32) # Add 'lib' prefix to static library to avoid filename collision with - endif() - - if (APPLE AND BUILD_SHARED_LIBS) -- set_target_properties(gtsam PROPERTIES -- INSTALL_NAME_DIR -- "${CMAKE_INSTALL_PREFIX}/lib") - endif() - - install( ---- a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt -+++ b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt -@@ -16,9 +16,6 @@ if(WIN32) - endif() - - if (APPLE) -- set_target_properties(metis PROPERTIES -- INSTALL_NAME_DIR -- "${CMAKE_INSTALL_PREFIX}/lib") - endif() - - install(TARGETS metis EXPORT GTSAM-exports LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) diff --git a/recipes/gtsam/all/patches/4.0.2-0003-cmake-project.patch b/recipes/gtsam/all/patches/4.0.3-0004-cmake-project.patch similarity index 100% rename from recipes/gtsam/all/patches/4.0.2-0003-cmake-project.patch rename to recipes/gtsam/all/patches/4.0.3-0004-cmake-project.patch diff --git a/recipes/gtsam/all/patches/4.1.1-0005-eigen3-version.patch b/recipes/gtsam/all/patches/4.1.1-0005-eigen3-version.patch new file mode 100644 index 0000000000000..8bd45c6d8f747 --- /dev/null +++ b/recipes/gtsam/all/patches/4.1.1-0005-eigen3-version.patch @@ -0,0 +1,21 @@ +Otherwise the Eigen version detection will fail due to the Eigen path variable containing a generator expression. +diff --git a/cmake/HandleEigen.cmake b/cmake/HandleEigen.cmake +--- a/cmake/HandleEigen.cmake ++++ b/cmake/HandleEigen.cmake +@@ -46,6 +46,8 @@ + endif() + + # Detect Eigen version: ++set(GTSAM_EIGEN_VERSION "${Eigen3_VERSION_STRING}") ++if (FALSE) + set(EIGEN_VER_H "${GTSAM_EIGEN_INCLUDE_FOR_BUILD}/Eigen/src/Core/util/Macros.h") + if (EXISTS ${EIGEN_VER_H}) + file(READ "${EIGEN_VER_H}" STR_EIGEN_VERSION) +@@ -67,6 +69,7 @@ + else() + message(WARNING "Cannot determine Eigen version, missing file: `${EIGEN_VER_H}`") + endif () ++endif() + + if (MSVC) + if (BUILD_SHARED_LIBS) diff --git a/recipes/gtsam/all/patches/4.2.0-0001-macos-rpath.patch b/recipes/gtsam/all/patches/4.2.0-0001-macos-rpath.patch new file mode 100644 index 0000000000000..2f60f9adaef8a --- /dev/null +++ b/recipes/gtsam/all/patches/4.2.0-0001-macos-rpath.patch @@ -0,0 +1,30 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,5 +5,4 @@ cmake_minimum_required(VERSION 3.0) + if(NOT DEFINED CMAKE_MACOSX_RPATH) +- set(CMAKE_MACOSX_RPATH 0) + endif() + + # Set the version number for the library +--- a/cmake/HandleGlobalBuildFlags.cmake ++++ b/cmake/HandleGlobalBuildFlags.cmake +@@ -20,7 +20,6 @@ endif() + + if (APPLE AND BUILD_SHARED_LIBS) + # Set the default install directory on macOS +- set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") + endif() + + ############################################################################### +--- a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt ++++ b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt +@@ -17,9 +17,6 @@ if(WIN32) + endif() + + if (APPLE) +- set_target_properties(metis-gtsam PROPERTIES +- INSTALL_NAME_DIR +- "${CMAKE_INSTALL_PREFIX}/lib") + endif() + + install(TARGETS metis-gtsam EXPORT GTSAM-exports diff --git a/recipes/gtsam/all/patches/4.2.0-0002-eigen3-version.patch b/recipes/gtsam/all/patches/4.2.0-0002-eigen3-version.patch new file mode 100644 index 0000000000000..19bc6febd2db0 --- /dev/null +++ b/recipes/gtsam/all/patches/4.2.0-0002-eigen3-version.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/HandleEigen.cmake b/cmake/HandleEigen.cmake +--- a/cmake/HandleEigen.cmake ++++ b/cmake/HandleEigen.cmake +@@ -59,6 +59,8 @@ + endif() + + # Detect Eigen version: ++set(GTSAM_EIGEN_VERSION "${Eigen3_VERSION_STRING}") ++if (FALSE) + set(EIGEN_VER_H "${GTSAM_EIGEN_INCLUDE_FOR_BUILD}/Eigen/src/Core/util/Macros.h") + if (EXISTS ${EIGEN_VER_H}) + file(READ "${EIGEN_VER_H}" STR_EIGEN_VERSION) +@@ -80,6 +82,7 @@ + else() + message(WARNING "Cannot determine Eigen version, missing file: `${EIGEN_VER_H}`") + endif () ++endif() + + if (MSVC) + if (BUILD_SHARED_LIBS) diff --git a/recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch b/recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch new file mode 100644 index 0000000000000..a0431a45e608d --- /dev/null +++ b/recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch @@ -0,0 +1,12 @@ +diff --git a/gtsam/sfm/DsfTrackGenerator.h b/gtsam/sfm/DsfTrackGenerator.h +--- a/gtsam/sfm/DsfTrackGenerator.h (revision c57988fe554e7213c77fe379c1d7c483de26ad33) ++++ b/gtsam/sfm/DsfTrackGenerator.h (revision 26a37d62103a9b3b828d36e8b1a76f875ed842e3) +@@ -22,7 +22,7 @@ + + #include + #include +-#include ++#include + #include + + namespace gtsam { diff --git a/recipes/gtsam/all/test_v1_package/CMakeLists.txt b/recipes/gtsam/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gtsam/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/gtsam/all/test_v1_package/conanfile.py b/recipes/gtsam/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gtsam/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/gtsam/config.yml b/recipes/gtsam/config.yml index 6f380a83ebb14..9c6d4a9be25c5 100644 --- a/recipes/gtsam/config.yml +++ b/recipes/gtsam/config.yml @@ -1,7 +1,7 @@ versions: + "4.2.0a9": + folder: all "4.1.1": folder: all "4.0.3": folder: all - "4.0.2": - folder: all From a31e544dd650d5fee78ab3f8fe736a42b0ecf787 Mon Sep 17 00:00:00 2001 From: nextsilicon-itay-bookstein <55076759+nextsilicon-itay-bookstein@users.noreply.github.com> Date: Sun, 6 Aug 2023 09:45:37 +0300 Subject: [PATCH 1078/4087] (#18676) mpfr: Add 4.2.0 Signed-off-by: Itay Bookstein Co-authored-by: Daniel --- recipes/mpfr/all/conandata.yml | 7 +++++ .../4.2.0-0001-configure.ac-fixes.patch | 10 +++++++ .../4.2.0-0002-windows-header-dll.patch | 27 +++++++++++++++++++ recipes/mpfr/config.yml | 2 ++ 4 files changed, 46 insertions(+) create mode 100644 recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch create mode 100644 recipes/mpfr/all/patches/4.2.0-0002-windows-header-dll.patch diff --git a/recipes/mpfr/all/conandata.yml b/recipes/mpfr/all/conandata.yml index dd4e8f905e5f9..53fa206c24da1 100644 --- a/recipes/mpfr/all/conandata.yml +++ b/recipes/mpfr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.0": + sha256: f1cc1c6bb14d18f0c61cc416e083f5e697b6e0e3cf9630b9b33e8e483fc960f0 + url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.gz "4.1.0": sha256: 3127fe813218f3a1f0adf4e8899de23df33b4cf4b4b3831a5314f78e65ffa2d6 url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.gz @@ -6,6 +9,10 @@ sources: sha256: ae26cace63a498f07047a784cd3b0e4d010b44d2b193bab82af693de57a19a78 url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.gz patches: + "4.2.0": + - patch_file: "patches/4.2.0-0002-windows-header-dll.patch" + patch_description: "Windows header DLL" + patch_type: "portability" "4.1.0": - patch_file: "patches/4.1.0-0002-windows-header-dll.patch" patch_description: "Windows header DLL" diff --git a/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch new file mode 100644 index 0000000000000..59480e9bde74c --- /dev/null +++ b/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch @@ -0,0 +1,10 @@ +--- configure.ac ++++ configure.ac +@@ -44,6 +44,7 @@ + dnl as it could cause confusion. But let's keep AC_CANONICAL_HOST here, + dnl since this may be a better place than later. + AC_CANONICAL_HOST ++AC_CANONICAL_TARGET + + dnl Older Automake versions than 1.13 may still be supported, but no longer + dnl tested, and many things have changed in 1.13. Moreover the INSTALL file diff --git a/recipes/mpfr/all/patches/4.2.0-0002-windows-header-dll.patch b/recipes/mpfr/all/patches/4.2.0-0002-windows-header-dll.patch new file mode 100644 index 0000000000000..8bd309400c5a6 --- /dev/null +++ b/recipes/mpfr/all/patches/4.2.0-0002-windows-header-dll.patch @@ -0,0 +1,27 @@ +--- src/mpfr.h ++++ src/mpfr.h +@@ -319,16 +319,15 @@ + # endif + #endif + +-/* Support for WINDOWS Dll: +- Check if we are inside a MPFR build, and if so export the functions. +- Otherwise does the same thing as GMP */ +-#if defined(__MPFR_WITHIN_MPFR) && __GMP_LIBGMP_DLL +-# define __MPFR_DECLSPEC __GMP_DECLSPEC_EXPORT +-#else +-# ifndef __GMP_DECLSPEC +-# define __GMP_DECLSPEC ++/* Support for WINDOWS Dll */ ++#if defined(MPFR_DLL) ++# if defined(__MPFR_WITHIN_MPFR) ++# define __MPFR_DECLSPEC __GMP_DECLSPEC_EXPORT ++# else ++# define __MPFR_DECLSPEC __GMP_DECLSPEC_IMPORT + # endif +-# define __MPFR_DECLSPEC __GMP_DECLSPEC ++#else ++# define __MPFR_DECLSPEC + #endif + + /* Use MPFR_DEPRECATED to mark MPFR functions, types or variables as diff --git a/recipes/mpfr/config.yml b/recipes/mpfr/config.yml index 72132855c0cf8..217c84a76cc94 100644 --- a/recipes/mpfr/config.yml +++ b/recipes/mpfr/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: all "4.1.0": folder: all "4.0.2": From 37c9c3a258c4eea9e8a11cd1707a5513e6be76fc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 6 Aug 2023 10:05:39 +0300 Subject: [PATCH 1079/4087] (#18701) jungle: migrate to Conan v2 * jungle: migrate to Conan v2 * Apply suggestions from code review * jungle: restore VirtualRunEnv in test_package --------- Co-authored-by: Carlos Zoido --- recipes/jungle/all/CMakeLists.txt | 7 -- recipes/jungle/all/conandata.yml | 12 ---- recipes/jungle/all/conanfile.py | 72 ++++++++++--------- .../jungle/all/test_package/CMakeLists.txt | 10 ++- recipes/jungle/all/test_package/conanfile.py | 24 ++++--- .../jungle/all/test_v1_package/CMakeLists.txt | 8 +++ .../jungle/all/test_v1_package/conanfile.py | 18 +++++ 7 files changed, 85 insertions(+), 66 deletions(-) delete mode 100644 recipes/jungle/all/CMakeLists.txt create mode 100644 recipes/jungle/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jungle/all/test_v1_package/conanfile.py diff --git a/recipes/jungle/all/CMakeLists.txt b/recipes/jungle/all/CMakeLists.txt deleted file mode 100644 index d2b01e47d9d63..0000000000000 --- a/recipes/jungle/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.11) -project(jungle) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory("source_subfolder") diff --git a/recipes/jungle/all/conandata.yml b/recipes/jungle/all/conandata.yml index bd27aef1a8932..804a4efea38b2 100644 --- a/recipes/jungle/all/conandata.yml +++ b/recipes/jungle/all/conandata.yml @@ -10,31 +10,19 @@ patches: - patch_file: "patches/0001-cmake-alterations.patch" patch_description: "CMake dependency discovery outside subtree." patch_type: "conan" - base_path: "source_subfolder" - sha256: "a7111a290e145717ae0cbdace9866db69c70782731c8568a806f8579e30759eb" - patch_file: "patches/0002-forestdb-path.patch" patch_description: "Update include macros for ForestDB headers." patch_type: "conan" - base_path: "source_subfolder" - sha256: "84ec45a312c52e2fa8cb7ab615aaa11088f24dcb4e4b880340b46c2763900d6b" - patch_file: "patches/0003-stdatomic.patch" patch_description: "Include std::atomic from all compilers." patch_type: "portability" - base_path: "source_subfolder" - sha256: "3ca66676f89e2425255eeb15bf18a77ae21c4f383124013bd6d1cb660cbc1544" "cci.20221201": - patch_file: "patches/0004-cmake-alterations-cci.20221201.patch" patch_description: "CMake dependency discovery outside subtree." patch_type: "conan" - base_path: "source_subfolder" - sha256: "a7111a290e145717ae0cbdace9866db69c70782731c8568a806f8579e30759eb" - patch_file: "patches/0002-forestdb-path.patch" patch_description: "Update include macros for ForestDB headers." patch_type: "conan" - base_path: "source_subfolder" - sha256: "84ec45a312c52e2fa8cb7ab615aaa11088f24dcb4e4b880340b46c2763900d6b" - patch_file: "patches/0003-stdatomic.patch" patch_description: "Include std::atomic from all compilers." patch_type: "portability" - base_path: "source_subfolder" - sha256: "3ca66676f89e2425255eeb15bf18a77ae21c4f383124013bd6d1cb660cbc1544" diff --git a/recipes/jungle/all/conanfile.py b/recipes/jungle/all/conanfile.py index 5350d8f70668d..dba32eb6f0f01 100644 --- a/recipes/jungle/all/conanfile.py +++ b/recipes/jungle/all/conanfile.py @@ -1,21 +1,23 @@ -from os.path import join +import os + from conan import ConanFile -from conan.tools.files import apply_conandata_patches, copy, get from conan.tools.build import check_min_cppstd -from conans import CMake +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.50.0" class JungleConan(ConanFile): name = "jungle" - homepage = "https://github.com/eBay/Jungle" description = "Key-value storage library, based on a combined index of LSM-tree and copy-on-write B+tree" - topics = ("kv-store", "cow") - url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/eBay/Jungle" + topics = ("kv-store", "cow") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = { "shared": [True, False], "fPIC": [True, False], @@ -25,16 +27,19 @@ class JungleConan(ConanFile): "fPIC": True, } - generators = "cmake", "cmake_find_package" + 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") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch_file in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch_file["patch_file"]) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): self.requires("forestdb/cci.20220727") @@ -43,12 +48,14 @@ def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) - def configure(self): - if self.options.shared: - del self.options.fPIC - 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) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): apply_conandata_patches(self) @@ -57,18 +64,17 @@ def build(self): cmake.build() def package(self): - src_dir = join(self.source_folder, self._source_subfolder) - copy(self, "LICENSE*", src_dir, join(self.package_folder, "licenses")) - - hdr_src = join(src_dir, "include") - copy(self, "*.h", hdr_src, join(self.package_folder, "include"), keep_path=True) - - lib_dir = join(self.package_folder, "lib") - copy(self, "*.a", self.build_folder, lib_dir, keep_path=False) - copy(self, "*.lib", self.build_folder, lib_dir, keep_path=False) - copy(self, "*.so*", self.build_folder, lib_dir, keep_path=False) - copy(self, "*.dylib*", self.build_folder, lib_dir, keep_path=False) - copy(self, "*.dll*", self.build_folder, join(self.package_folder, "bin"), keep_path=False) + 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, "include"), + dst=os.path.join(self.package_folder, "include")) + for pattern in ["*.a", "*.lib", "*.so*", "*.dylib*", "*.dll*"]: + copy(self, pattern, + src=self.build_folder, + dst=os.path.join(self.package_folder, "lib"), + keep_path=False) def package_info(self): self.cpp_info.libs = ["jungle"] diff --git a/recipes/jungle/all/test_package/CMakeLists.txt b/recipes/jungle/all/test_package/CMakeLists.txt index 354670d11c755..fdc2bc33ffe24 100644 --- a/recipes/jungle/all/test_package/CMakeLists.txt +++ b/recipes/jungle/all/test_package/CMakeLists.txt @@ -1,11 +1,9 @@ -cmake_minimum_required(VERSION 3.11) -set(CMAKE_CXX_STANDARD 11) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +set(CMAKE_CXX_STANDARD 11) -find_package(jungle CONFIG REQUIRED) +find_package(jungle REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} jungle::jungle) diff --git a/recipes/jungle/all/test_package/conanfile.py b/recipes/jungle/all/test_package/conanfile.py index 9ebf26743f34b..ef5d7042163ec 100644 --- a/recipes/jungle/all/test_package/conanfile.py +++ b/recipes/jungle/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -from conans import ConanFile -from conan.tools.build import cross_building -from conans import CMake +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "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 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/jungle/all/test_v1_package/CMakeLists.txt b/recipes/jungle/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/jungle/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/jungle/all/test_v1_package/conanfile.py b/recipes/jungle/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9ebf26743f34b --- /dev/null +++ b/recipes/jungle/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile +from conan.tools.build import cross_building +from conans import CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From c53c2c0ad52c1d76d6fa94c83c1af2021985190f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 6 Aug 2023 10:25:56 +0300 Subject: [PATCH 1080/4087] (#18741) openfx: migrate to Conan v2 * openfx: migrate to Conan v2 * openfx: add OpenGL dep to CMakeLists.txt * openfx: restore VirtualRunEnv in test_package --------- Co-authored-by: Carlos Zoido --- recipes/openfx/all/CMakeLists.txt | 20 ++-- recipes/openfx/all/conanfile.py | 106 +++++++++++------- .../openfx/all/test_package/CMakeLists.txt | 7 +- recipes/openfx/all/test_package/conanfile.py | 19 +++- .../openfx/all/test_v1_package/CMakeLists.txt | 8 ++ .../openfx/all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 116 insertions(+), 61 deletions(-) create mode 100644 recipes/openfx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openfx/all/test_v1_package/conanfile.py diff --git a/recipes/openfx/all/CMakeLists.txt b/recipes/openfx/all/CMakeLists.txt index 5232e354a73ee..1a7641b6f3019 100644 --- a/recipes/openfx/all/CMakeLists.txt +++ b/recipes/openfx/all/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.12) project(openfx VERSION 1.4.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -6,18 +6,18 @@ add_definitions(-D_HAS_AUTO_PTR_ETC) # Flags if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWINDOWS -DNOMINMAX") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWINDOWS -DNOMINMAX -D_WIN32") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-deprecated -Wno-deprecated-declarations") + add_definitions(-Dlinux) endif() # Conan -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) -find_package(EXPAT REQUIRED) +find_package(expat REQUIRED) +find_package(OpenGL REQUIRED) # Macros -set(SOURCE_SUBFOLDER ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder) +set(SOURCE_SUBFOLDER ${CMAKE_CURRENT_LIST_DIR}/src) # Sources set(OFX_HEADER_DIR "${SOURCE_SUBFOLDER}/include") @@ -50,7 +50,7 @@ add_library(OfxHost ${OFX_HOSTSUPPORT_HEADER_FILES} ${OFX_HOSTSUPPORT_LIBRARY_FILES}) -target_link_libraries(OfxHost PUBLIC EXPAT::EXPAT) +target_link_libraries(OfxHost PUBLIC expat::expat OpenGL::GL) target_include_directories(OfxHost PUBLIC ${OFX_HEADER_DIR} @@ -68,7 +68,5 @@ install(FILES ${OFX_HOSTSUPPORT_HEADER_FILES} DESTINATION "include") -install(TARGETS OfxSupport OfxHost - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) +include(GNUInstallDirs) +install(TARGETS OfxSupport OfxHost) diff --git a/recipes/openfx/all/conanfile.py b/recipes/openfx/all/conanfile.py index 6f5bee8600958..935c3113a9393 100644 --- a/recipes/openfx/all/conanfile.py +++ b/recipes/openfx/all/conanfile.py @@ -1,54 +1,73 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir + +required_conan_version = ">=1.53.0" + class openfx(ConanFile): name = "openfx" + description = "OpenFX image processing plug-in standard." license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "http://openeffects.org" - description = "OpenFX image processing plug-in standard." topics = ("image-processing", "standard") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { - "fPIC": [True, False], "shared": [True, False], + "fPIC": [True, False], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, } - requires = ("opengl/system", "expat/2.4.8") - exports_sources = "CMakeLists.txt", "cmake/*", "symbols/*" - generators = "cmake", "cmake_find_package" - _cmake = None + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "*", + src=os.path.join(self.recipe_folder, "cmake"), + dst=os.path.join(self.export_sources_folder, "cmake")) + copy(self, "*", + src=os.path.join(self.recipe_folder, "symbols"), + dst=os.path.join(self.export_sources_folder, "symbols")) - def source(self): - tools.get( - **self.conan_data["sources"][self.version], - destination="source_subfolder", - strip_root=True - ) + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("opengl/system") + self.requires("expat/2.5.0") - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + 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() @property @@ -56,26 +75,25 @@ def _build_modules(self): return [os.path.join("lib", "cmake", "OpenFX.cmake")] def package(self): - cmake = self._configure_cmake() - - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - + cmake = CMake(self) cmake.install() - - self.copy("*.symbols", src="symbols", dst="lib/symbols") - self.copy("*.cmake", src="cmake", dst="lib/cmake") - self.copy("LICENSE", src="source_subfolder/Support", dst="licenses") - self.copy("readme.md") + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + copy(self, "*.symbols", + src=os.path.join(self.export_sources_folder, "symbols"), + dst=os.path.join(self.package_folder, "lib", "symbols")) + copy(self, "*.cmake", + src=os.path.join(self.export_sources_folder, "cmake"), + dst=os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "LICENSE", + src=os.path.join(self.source_folder, "Support"), + dst=os.path.join(self.package_folder, "licenses")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "openfx" - self.cpp_info.names["cmake_find_package_multi"] = "openfx" - + self.cpp_info.set_property("cmake_file_name", "openfx") + self.cpp_info.set_property("cmake_target_name", "openfx::openfx") self.cpp_info.set_property("cmake_build_modules", self._build_modules) self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) - self.cpp_info.build_modules["cmake_find_package"] = self._build_modules - self.cpp_info.build_modules["cmake_find_package_multi"] = self._build_modules if self.options.shared: self.cpp_info.libs = ["OfxSupport"] @@ -84,5 +102,11 @@ def package_info(self): if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.system_libs.extend(["GL"]) - if self.settings.os == "Macos": + if is_apple_os(self): self.cpp_info.frameworks = ["CoreFoundation", "OpenGL"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "openfx" + self.cpp_info.names["cmake_find_package_multi"] = "openfx" + self.cpp_info.build_modules["cmake_find_package"] = self._build_modules + self.cpp_info.build_modules["cmake_find_package_multi"] = self._build_modules diff --git a/recipes/openfx/all/test_package/CMakeLists.txt b/recipes/openfx/all/test_package/CMakeLists.txt index c80f526f36b85..130ac63e132fe 100644 --- a/recipes/openfx/all/test_package/CMakeLists.txt +++ b/recipes/openfx/all/test_package/CMakeLists.txt @@ -1,12 +1,11 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_definitions(-D_HAS_AUTO_PTR_ETC) # Conan -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) find_package(openfx REQUIRED CONFIG) # Flags diff --git a/recipes/openfx/all/test_package/conanfile.py b/recipes/openfx/all/test_package/conanfile.py index 884a3017a3bd6..93275299d1c47 100644 --- a/recipes/openfx/all/test_package/conanfile.py +++ b/recipes/openfx/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("%s --help" % bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} --help", env="conanrun") diff --git a/recipes/openfx/all/test_v1_package/CMakeLists.txt b/recipes/openfx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/openfx/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/openfx/all/test_v1_package/conanfile.py b/recipes/openfx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..884a3017a3bd6 --- /dev/null +++ b/recipes/openfx/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("%s --help" % bin_path, run_environment=True) From 5a8849ff935198d6e1a0dcf3dee59a2a10050c2e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 6 Aug 2023 09:47:40 +0200 Subject: [PATCH 1081/4087] (#18778) qt6: add new components * qt6: add new components TextToSpeech, HttpServer, Protobuf and Grpc * disable failing macos configuration --- recipes/qt/6.x.x/conanfile.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index eefa33f1dae93..70ddeb3bf605a 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -245,6 +245,9 @@ def validate(self): if self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): raise ConanInvalidConfiguration("Qt needs recent libstdc++, with charconv. please switch to gcc, or to libc++") + if self.settings.os == "Macos" and self.dependencies["double-conversion"].options.shared: + raise ConanInvalidConfiguration("Test recipe fails because of Macos' SIP. Contributions are welcome.") + if self.options.get_safe("qtwebengine"): if not self.options.shared: raise ConanInvalidConfiguration("Static builds of Qt WebEngine are not supported") @@ -291,6 +294,9 @@ def validate(self): if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: raise ConanInvalidConfiguration("sqlite3 option enable_column_metadata must be enabled for qt") + if self.options.get_safe("qtspeech") and not self.options.qtdeclarative: + raise ConanInvalidConfiguration("qtspeech requires qtdeclarative, cf QTBUG-108381") + def layout(self): cmake_layout(self, src_folder="src") @@ -1270,6 +1276,19 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.get_safe("qtwebview"): _create_module("WebView", ["Core", "Gui"]) + if self.options.get_safe("qtspeech"): + _create_module("TextToSpeech", []) + + if self.options.get_safe("qthttpserver"): + http_server_deps = ["Core", "Network"] + if self.options.get_safe("qtwebsockets"): + http_server_deps.append("WebSockets") + _create_module("HttpServer", http_server_deps) + + if self.options.get_safe("qtgrpc"): + _create_module("Protobuf", []) + _create_module("Grpc", ["Core", "Protobuf", "Network"]) + if self.settings.os in ["Windows", "iOS"]: if self.settings.os == "Windows": self.cpp_info.components["qtEntryPointImplementation"].set_property("cmake_target_name", "Qt6::EntryPointImplementation") From 96802b34bac5421da024c09a5a21b830c31796d1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 6 Aug 2023 11:27:29 +0300 Subject: [PATCH 1082/4087] (#18799) aws-kvs-pic: migrate to Conan v2 * aws-kvs-pic: migrate to Conan v2 * aws-kvs-pic: improve os detection --------- Co-authored-by: Carlos Zoido --- recipes/aws-kvs-pic/all/CMakeLists.txt | 7 -- recipes/aws-kvs-pic/all/conandata.yml | 3 +- recipes/aws-kvs-pic/all/conanfile.py | 85 ++++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../aws-kvs-pic/all/test_package/conanfile.py | 27 ++++-- .../all/test_package/test_package.c | 3 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 +++++ 8 files changed, 97 insertions(+), 60 deletions(-) delete mode 100644 recipes/aws-kvs-pic/all/CMakeLists.txt create mode 100644 recipes/aws-kvs-pic/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/aws-kvs-pic/all/test_v1_package/conanfile.py diff --git a/recipes/aws-kvs-pic/all/CMakeLists.txt b/recipes/aws-kvs-pic/all/CMakeLists.txt deleted file mode 100644 index 6abb33ac667b0..0000000000000 --- a/recipes/aws-kvs-pic/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/aws-kvs-pic/all/conandata.yml b/recipes/aws-kvs-pic/all/conandata.yml index 3e715c5477031..9d7d13929fbbc 100644 --- a/recipes/aws-kvs-pic/all/conandata.yml +++ b/recipes/aws-kvs-pic/all/conandata.yml @@ -4,5 +4,4 @@ sources: sha256: "5a6d8da62af766ec86423ead2a45d9ff00cd80ddea679ce228ff9696a490fae5" patches: "cci.20210812": - - base_path: "source_subfolder" - patch_file: "patches/0001-do-not-enforce-fpic.patch" + - patch_file: "patches/0001-do-not-enforce-fpic.patch" diff --git a/recipes/aws-kvs-pic/all/conanfile.py b/recipes/aws-kvs-pic/all/conanfile.py index 3cdebbedda863..f9858a924f304 100644 --- a/recipes/aws-kvs-pic/all/conanfile.py +++ b/recipes/aws-kvs-pic/all/conanfile.py @@ -1,37 +1,34 @@ import os -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +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 + +required_conan_version = ">=1.53.0" + class awskvspicConan(ConanFile): name = "aws-kvs-pic" + description = "Platform Independent Code for Amazon Kinesis Video Streams" license = "Apache-2.0" - homepage = "https://github.com/awslabs/amazon-kinesis-video-streams-pic" url = "https://github.com/conan-io/conan-center-index" - description = ("Platform Independent Code for Amazon Kinesis Video Streams") - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {'shared': False, "fPIC": True} - generators = "cmake" + homepage = "https://github.com/awslabs/amazon-kinesis-video-streams-pic" topics = ("aws", "kvs", "kinesis", "video", "stream") - exports_sources = ["CMakeLists.txt", "patches/*"] - _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], + } + default_options = { + "shared": False, + "fPIC": True, + } - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["BUILD_DEPENDENCIES"] = False - self._cmake.configure() - return self._cmake - - def validate(self): - if (self.settings.os != "Linux" and self.options.shared): - raise ConanInvalidConfiguration("This library can only be built shared on Linux") + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -39,38 +36,50 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"] and self.options.shared: + raise ConanInvalidConfiguration("This library can only be built shared on Linux") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_DEPENDENCIES"] = False + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.components["kvspic"].libs = ["kvspic"] - self.cpp_info.components["kvspic"].names["pkg_config"] = "libkvspic" + self.cpp_info.components["kvspic"].set_property("pkg_config_name", "libkvspic") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["kvspic"].system_libs = ["dl", "rt", "pthread"] self.cpp_info.components["kvspicClient"].libs = ["kvspicClient"] - self.cpp_info.components["kvspicClient"].names["pkg_config"] = "libkvspicClient" + self.cpp_info.components["kvspicClient"].set_property("pkg_config_name", "libkvspicClient") self.cpp_info.components["kvspicState"].libs = ["kvspicState"] - self.cpp_info.components["kvspicState"].names["pkg_config"] = "libkvspicState" + self.cpp_info.components["kvspicState"].set_property("pkg_config_name", "libkvspicState") self.cpp_info.components["kvspicUtils"].libs = ["kvspicUtils"] - self.cpp_info.components["kvspicUtils"].names["pkg_config"] = "libkvspicUtils" + self.cpp_info.components["kvspicUtils"].set_property("pkg_config_name", "libkvspicUtils") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["kvspicUtils"].system_libs = ["dl", "rt", "pthread"] diff --git a/recipes/aws-kvs-pic/all/test_package/CMakeLists.txt b/recipes/aws-kvs-pic/all/test_package/CMakeLists.txt index dbfb3fd9c7861..33561c82ed591 100644 --- a/recipes/aws-kvs-pic/all/test_package/CMakeLists.txt +++ b/recipes/aws-kvs-pic/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 C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(PkgConfig REQUIRED) pkg_check_modules(LIBKVSPIC REQUIRED IMPORTED_TARGET libkvspic) diff --git a/recipes/aws-kvs-pic/all/test_package/conanfile.py b/recipes/aws-kvs-pic/all/test_package/conanfile.py index 6fdab74d20c22..062f65da30ce6 100644 --- a/recipes/aws-kvs-pic/all/test_package/conanfile.py +++ b/recipes/aws-kvs-pic/all/test_package/conanfile.py @@ -1,12 +1,23 @@ import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "pkg_config" +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 = "PkgConfigDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def build_requirements(self): - self.build_requires("pkgconf/1.7.4") + self.tool_requires("pkgconf/1.9.3") + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -14,6 +25,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/aws-kvs-pic/all/test_package/test_package.c b/recipes/aws-kvs-pic/all/test_package/test_package.c index fe89810597779..08c9a0b45013e 100644 --- a/recipes/aws-kvs-pic/all/test_package/test_package.c +++ b/recipes/aws-kvs-pic/all/test_package/test_package.c @@ -1,6 +1,7 @@ -#include #include "com/amazonaws/kinesis/video/client/Include.h" +#include + int main(int argc, char *argv[]) { diff --git a/recipes/aws-kvs-pic/all/test_v1_package/CMakeLists.txt b/recipes/aws-kvs-pic/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/aws-kvs-pic/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/aws-kvs-pic/all/test_v1_package/conanfile.py b/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c890c831be123 --- /dev/null +++ b/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +import os +from conans import ConanFile, CMake, tools + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "pkg_config" + + def build_requirements(self): + self.build_requires("pkgconf/1.9.3") + + 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 08572f515fc56ccc1d61c09ec6d63032b6f522a9 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Sun, 6 Aug 2023 10:46:29 +0200 Subject: [PATCH 1083/4087] (#18821) add nmea library * init * Update recipes/nmea/all/conanfile.py Co-authored-by: Martin Valgur * Update recipes/nmea/all/conanfile.py --------- Co-authored-by: Martin Valgur Co-authored-by: Carlos Zoido --- recipes/nmea/all/CMakeLists.txt | 67 ++++++++++++++++++++ recipes/nmea/all/conandata.yml | 4 ++ recipes/nmea/all/conanfile.py | 67 ++++++++++++++++++++ recipes/nmea/all/test_package/CMakeLists.txt | 8 +++ recipes/nmea/all/test_package/conanfile.py | 26 ++++++++ recipes/nmea/all/test_package/test_package.c | 9 +++ recipes/nmea/config.yml | 3 + 7 files changed, 184 insertions(+) create mode 100644 recipes/nmea/all/CMakeLists.txt create mode 100644 recipes/nmea/all/conandata.yml create mode 100644 recipes/nmea/all/conanfile.py create mode 100644 recipes/nmea/all/test_package/CMakeLists.txt create mode 100644 recipes/nmea/all/test_package/conanfile.py create mode 100644 recipes/nmea/all/test_package/test_package.c create mode 100644 recipes/nmea/config.yml diff --git a/recipes/nmea/all/CMakeLists.txt b/recipes/nmea/all/CMakeLists.txt new file mode 100644 index 0000000000000..75b13231e08ae --- /dev/null +++ b/recipes/nmea/all/CMakeLists.txt @@ -0,0 +1,67 @@ +cmake_minimum_required(VERSION 3.15) + +project(nmea LANGUAGES C) + +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + +add_library(${PROJECT_NAME}) + +set(NMEA_INCLUDE_DIR ${NMEA_ROOT_DIR}/include) +set(NMEA_SRC_DIR ${NMEA_ROOT_DIR}/src) + +target_sources( + ${PROJECT_NAME} + PRIVATE + ${NMEA_SRC_DIR}/context.c + ${NMEA_SRC_DIR}/generate.c + ${NMEA_SRC_DIR}/generator.c + ${NMEA_SRC_DIR}/gmath.c + ${NMEA_SRC_DIR}/info.c + ${NMEA_SRC_DIR}/parse.c + ${NMEA_SRC_DIR}/parser.c + ${NMEA_SRC_DIR}/sentence.c + ${NMEA_SRC_DIR}/time.c + ${NMEA_SRC_DIR}/tok.c +) + +target_include_directories( + ${PROJECT_NAME} + PUBLIC + ${NMEA_INCLUDE_DIR} +) + +set( + NMEA_HEADERS + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/config.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/context.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/generate.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/generator.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/gmath.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/info.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/nmea.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/parse.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/parser.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/sentence.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/time.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/tok.h + ${NMEA_INCLUDE_DIR}/${PROJECT_NAME}/units.h +) + +set_target_properties( + ${PROJECT_NAME} + PROPERTIES + PUBLIC_HEADER "${NMEA_HEADERS}" + C_EXTENSIONS OFF +) + +find_library(LIBM m) +target_link_libraries(${PROJECT_NAME} PRIVATE $<$:${LIBM}>) + +include(GNUInstallDirs) +install( + TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} +) diff --git a/recipes/nmea/all/conandata.yml b/recipes/nmea/all/conandata.yml new file mode 100644 index 0000000000000..11255f314caf5 --- /dev/null +++ b/recipes/nmea/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.5.3": + url: "http://downloads.sourceforge.net/nmea/nmealib-0.5.3.zip" + sha256: "41e9fbb8fd5cb1836ff727355b3debe98662b39beb7493af9b78bc4bd4a2ad7d" diff --git a/recipes/nmea/all/conanfile.py b/recipes/nmea/all/conanfile.py new file mode 100644 index 0000000000000..17706f598b456 --- /dev/null +++ b/recipes/nmea/all/conanfile.py @@ -0,0 +1,67 @@ +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" + + +class NmeaConan(ConanFile): + name = "nmea" + description = "Library to work with NMEA protocol" + license = "LGPL-2.1-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://nmea.sourceforge.net/" + topics = ("nmea", "geospatial", "gnss", "gps", "navigation") + 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) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["NMEA_ROOT_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() + + 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() + + def package_info(self): + self.cpp_info.libs.append(self.name) + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/nmea/all/test_package/CMakeLists.txt b/recipes/nmea/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0fc5503253f05 --- /dev/null +++ b/recipes/nmea/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package C) + +find_package(nmea REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE nmea::nmea) diff --git a/recipes/nmea/all/test_package/conanfile.py b/recipes/nmea/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/nmea/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/nmea/all/test_package/test_package.c b/recipes/nmea/all/test_package/test_package.c new file mode 100644 index 0000000000000..2c83a9e9a35fb --- /dev/null +++ b/recipes/nmea/all/test_package/test_package.c @@ -0,0 +1,9 @@ +#include + +#include + +int main() +{ + printf("%f", nmea_degree2radian(180.0)); + return 0; +} diff --git a/recipes/nmea/config.yml b/recipes/nmea/config.yml new file mode 100644 index 0000000000000..2a0554e18df80 --- /dev/null +++ b/recipes/nmea/config.yml @@ -0,0 +1,3 @@ +versions: + "0.5.3": + folder: all From f16a2f87e34da77c0ce7ed78147dbc8f0c1be5e6 Mon Sep 17 00:00:00 2001 From: David Ledger <68693576+seppeon@users.noreply.github.com> Date: Sun, 6 Aug 2023 20:44:50 +1000 Subject: [PATCH 1084/4087] (#18284) BugFix: Update assimp's Draco version from 1.5.5 to 1.5.6 to resolve build error --- recipes/assimp/5.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/assimp/5.x/conanfile.py b/recipes/assimp/5.x/conanfile.py index 6f021e008adb4..e821ffefdeea3 100644 --- a/recipes/assimp/5.x/conanfile.py +++ b/recipes/assimp/5.x/conanfile.py @@ -181,7 +181,7 @@ def requirements(self): if self._depends_on_zlib: self.requires("zlib/1.2.13") if self._depends_on_draco: - self.requires("draco/1.5.5") + self.requires("draco/1.5.6") if self._depends_on_clipper: self.requires("clipper/4.10.0") # Only 4.x supported if self._depends_on_stb: From b794cf5d83e5e59028e515a36f60c17399f20bb1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 6 Aug 2023 23:28:40 +0900 Subject: [PATCH 1085/4087] (#19068) zpp_bits: add version 4.4.18 --- recipes/zpp_bits/all/conandata.yml | 3 +++ recipes/zpp_bits/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zpp_bits/all/conandata.yml b/recipes/zpp_bits/all/conandata.yml index 5c61aeec321ee..aa294b864983d 100644 --- a/recipes/zpp_bits/all/conandata.yml +++ b/recipes/zpp_bits/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.18": + url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.18.tar.gz" + sha256: "c81a221a3d857218d990aa39f420f4cb5cdbe906672d22286b871355068bc14b" "4.4.17": url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.17.tar.gz" sha256: "e6aacf3fbea7ee16a9b55a8622665d37b157efad321750876aa5c15ed8ac65e6" diff --git a/recipes/zpp_bits/config.yml b/recipes/zpp_bits/config.yml index f68457e089852..e6e42fa0160a3 100644 --- a/recipes/zpp_bits/config.yml +++ b/recipes/zpp_bits/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.18": + folder: all "4.4.17": folder: all "4.4.13": From c0f58a3008333da64df130057c671244a9006a86 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 7 Aug 2023 02:30:34 +0900 Subject: [PATCH 1086/4087] (#19072) libuvc: update libjpeg-turbo/3.0.0 --- recipes/libuvc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libuvc/all/conanfile.py b/recipes/libuvc/all/conanfile.py index c10470d935e60..798d7b5db6063 100644 --- a/recipes/libuvc/all/conanfile.py +++ b/recipes/libuvc/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") From c8f78a23637eea6b174995ea601a645875f6c9cc Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 6 Aug 2023 20:48:26 +0200 Subject: [PATCH 1087/4087] (#18932) nss 3.92 --- recipes/nss/all/conandata.yml | 3 +++ recipes/nss/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nss/all/conandata.yml b/recipes/nss/all/conandata.yml index 254439032f647..a7c913155a824 100644 --- a/recipes/nss/all/conandata.yml +++ b/recipes/nss/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.92": + url: "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_92_RTM/src/nss-3.92.tar.gz" + sha256: "3db192d6e882039af02ae7eaf3217ed114bb7ad83414c646772ab8021e24a254" "3.91": url: "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_91_RTM/src/nss-3.91.tar.gz" sha256: "84bd46376df17118c55f6d73d30fd93a0af21296c66e7690471547e5898fc4b3" diff --git a/recipes/nss/config.yml b/recipes/nss/config.yml index 741d3aab48e70..467e717cc1ff4 100644 --- a/recipes/nss/config.yml +++ b/recipes/nss/config.yml @@ -1,4 +1,6 @@ versions: + "3.92": + folder: all "3.91": folder: all "3.89": From f72a5ba2241a809f4e68e365242a0078778c3594 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 7 Aug 2023 10:30:26 +0900 Subject: [PATCH 1088/4087] (#19079) libtiff: update libjpeg-turbo --- recipes/libtiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 6305fc3fa4a6f..9d1f6de079291 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.jbig: From 81bccad50b0b5be644ae8d4daac1a96b51bd8436 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 7 Aug 2023 11:47:43 +0900 Subject: [PATCH 1089/4087] (#18909) wt: add version 4.10.0 --- recipes/wt/all/conandata.yml | 7 +++++++ recipes/wt/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/wt/all/conandata.yml b/recipes/wt/all/conandata.yml index c26a610e865f7..2b98a42d759a5 100644 --- a/recipes/wt/all/conandata.yml +++ b/recipes/wt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.10.0": + url: "https://github.com/emweb/wt/archive/4.10.0.tar.gz" + sha256: "7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d" "4.9.1": url: "https://github.com/emweb/wt/archive/4.9.1.tar.gz" sha256: "253c61779623ed125bdd604a7b7fe48e64bd991548d17180f040bfa88ccafd98" @@ -15,6 +18,10 @@ sources: url: "https://github.com/emweb/wt/archive/4.6.0.tar.gz" sha256: "7f709e132d32c4925e6db0a590c7ccc5613344e8b9052676ef891a25ccb550e6" patches: + "4.10.0": + - patch_file: "patches/4.8.0-0001-use-cci-package.patch" + patch_description: "use cci package" + patch_type: "conan" "4.9.1": - patch_file: "patches/4.8.0-0001-use-cci-package.patch" patch_description: "use cci package" diff --git a/recipes/wt/config.yml b/recipes/wt/config.yml index d129fd323175f..6ef848d4e1336 100644 --- a/recipes/wt/config.yml +++ b/recipes/wt/config.yml @@ -1,4 +1,6 @@ versions: + "4.10.0": + folder: all "4.9.1": folder: all "4.8.0": From 8305ea0ec1be297f700d10531682332339e8d14e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 7 Aug 2023 12:48:59 +0900 Subject: [PATCH 1090/4087] (#19080) jasper: update libjpeg-turbo --- recipes/jasper/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/jasper/all/conanfile.py b/recipes/jasper/all/conanfile.py index 6bc3bfb690d58..9a1c9b8badf36 100644 --- a/recipes/jasper/all/conanfile.py +++ b/recipes/jasper/all/conanfile.py @@ -49,7 +49,7 @@ def requirements(self): if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_libjpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") From cc3da478dac3bccbb41bb59e95e3b34bfef29f8e Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 7 Aug 2023 11:43:35 +0200 Subject: [PATCH 1091/4087] (#19078) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 188 +++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 1a5d515961ed7..d74f708376b9e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -50,6 +50,7 @@ required_for_references: - autoconf - autoconf-archive - automake +- avahi - avir - aws-c-auth - aws-c-cal @@ -61,6 +62,7 @@ required_for_references: - aws-c-mqtt - aws-c-sdkutils - aws-checksums +- aws-kvs-pic - aws-libfabric - b2 - b64 @@ -75,6 +77,7 @@ required_for_references: - benchmark - bertrand - bigint +- bimg - binutils - bison - bit-lite @@ -99,6 +102,7 @@ required_for_references: - bullet3 - butteraugli - bvdberg-ctest +- bx - byte-lite - bzip2 - bzip3 @@ -161,6 +165,7 @@ required_for_references: - console_bridge - continuable - cpp-httplib +- cpp-ipc - cpp-jwt - cpp-lazy - cpp-optparse @@ -180,6 +185,7 @@ required_for_references: - cpputest - cppzmq - cpr +- cprocessing - cpu_features - cpuinfo - cqrlib @@ -307,6 +313,7 @@ required_for_references: - fruit - ftxui - function2 +- functionalplus - fxdiv - g3log - gainput @@ -346,12 +353,14 @@ required_for_references: - gmp - gnu-config - gnutls +- godot_headers - googleapis - gperf - gperftools - graphene - graphthewy - greatest +- greg7mdp-gtl - grpc - grpc-proto - gsl @@ -361,13 +370,22 @@ required_for_references: - gtest - gtk - gtk-doc-stub +- gtsam +- gumbo-parser - gurkenlaeufer +- gzip-hpp - h3 - h5pp +- half - happly - harfbuzz +- hash-library +- hazelcast-cpp-client - hdf5 - hdrhistogram-c +- heatshrink +- hedley +- hffix - hidapi - highfive - highs @@ -375,8 +393,10 @@ required_for_references: - hipony-enumerate - hippomocks - hiredis +- hlslpp - homog2d - http_parser +- hwloc - icecream-cpp - icu - id3v2lib @@ -386,6 +406,7 @@ required_for_references: - imath - imgui - imguizmo +- implot - incbin - indicators - indirect_value @@ -393,9 +414,13 @@ required_for_references: - inih - inja - intel-neon2sse +- intx - inversify-cpp - iqa +- irrxml +- iso8601lib - itlib +- ittapi - jasper - jbig - jinja2cpp @@ -407,44 +432,64 @@ required_for_references: - jsoncons - jsoncpp - jsonnet +- jthread-lite +- jungle +- jwasm - jwt-cpp - jxrlib - kainjow-mustache +- kaitai_struct_cpp_stl_runtime - kangaru - keychain - khrplatform +- kickcat +- kissfft - kmod - ktx - kuba-zip +- laszip - lcms - ldns - lefticus-tools +- lely-core - lemon - leptonica - lerc - lest +- leveldb - lexbor +- libaio - libalsa +- libaom-av1 - libarchive - libassert - libatomic_ops - libattr +- libavif - libbacktrace - libbigwig - libbsd - libcap - libcbor +- libccd - libcds +- libconfig - libconfuse - libcoro +- libcorrect - libcuckoo - libcurl +- libdaemon +- libdc1394 - libde265 - libdeflate - libdisasm - libdivide +- libdmtx - libdrawille - libdwarf +- libdxfrw +- libe57format - libelf - libepoxy - libev @@ -455,13 +500,17 @@ required_for_references: - libfreenect - libfuse - libgcrypt +- libgd - libgeotiff - libgettext - libgpg-error - libgphoto2 - libgpiod - libgta +- libhal - libharu +- libheif +- libhydrogen - libiberty - libiconv - libinterpolate @@ -473,9 +522,12 @@ required_for_references: - libltc - liblzf - libmad +- libmaxminddb - libmbus - libmediainfo - libmemcached +- libmetalink +- libmicrohttpd - libmikmod - libmnl - libmodbus @@ -485,9 +537,12 @@ required_for_references: - libmp3lame - libmysqlclient - libnabo +- libnet +- libnfnetlink - libnfs - libnghttp2 - libnl +- libnoise - libnop - libnova - libnuma @@ -505,18 +560,23 @@ required_for_references: - libressl - librttopo - libsamplerate +- libschrift - libsecret - libselinux - libserial - libsgp4 +- libsigcpp - libslz - libsmacker - libsndfile - libsodium - libspatialindex +- libspatialite - libspng +- libsquish - libsrtp - libssh2 +- libsvm - libsvtav1 - libsystemd - libtar @@ -525,12 +585,15 @@ required_for_references: - libtins - libtool - libtorrent +- libucl - libudev +- libunistring - libunwind - libusb - libuuid - libuv - libuvc +- libvault - libverto - libvips - libvpx @@ -540,30 +603,45 @@ required_for_references: - libx264 - libx265 - libxls +- libxlsxwriter - libxml2 - libxslt +- libyaml - libyuv - libzen - libzip - libzippp - lief +- linmath.h - linux-headers-generic - linux-syscall-support +- litehtml - llhttp +- lmdb - lodepng +- log.c +- log4cplus - logr - loguru +- ls-qpack - lua +- luajit - luau - lunasvg - luple +- lurlparser +- lyra - lz4 +- lzfse +- lzham - lzma_sdk - lzo - m4 - magic_enum - mailio - make +- mapbox-geometry +- mapbox-variant - mariadb-connector-c - marisa - matchit @@ -574,46 +652,68 @@ required_for_references: - mawk - mbedtls - mbits-args +- mbits-diags +- mbits-lngs - mbits-mstch - mbits-semver - mbits-utfconv +- mcap - md4c - md4qt - mdnsresponder - mdspan +- meshoptimizer - meson +- metall - metis - mgs - microservice-essentials +- microtar - mikelankamp-fpm +- mikktspace - mimalloc - mingw-builds - miniaudio - minimp3 - minisat +- miniscript +- minitrace +- miniupnpc - miniz - minizip - minizip-ng +- mio +- modern-cpp-kafka +- moltenvk - mongo-c-driver - mongo-cxx-driver +- morton-nd - mozilla-build - mozjpeg - mp-units +- mpark-variant +- mpc - mpg123 +- mpmcqueue - mppp - ms-gsl - msdf-atlas-gen - msgpack-c - msgpack-cxx - msys2 +- mujs +- muparser +- muparserx - naive-tsearch - namedtype - nameof +- nanobench - nanodbc - nanoflann - nanomsg - nanorange - nanort +- nanosvg - nas - nasm - netcdf @@ -621,22 +721,33 @@ required_for_references: - nextsilicon-cpp-subprocess - ninja - nlohmann_json +- nlopt +- nmea - nng - nodejs - norm - nsync +- ntv2 - nudb +- nuklear - numcpp - nuraft - nv-codec-headers +- nvtx +- oatpp +- objectbox +- observer-ptr-lite - octomap - odbc +- ode - ogdf - ogg - ois - onetbb +- oniguruma - onnx - onnxruntime +- open-dis-cpp - openal - openal-soft - openapi-generator @@ -646,27 +757,36 @@ required_for_references: - opencl-icd-loader - opencolorio - opencore-amr +- openddl-parser - openexr +- openfbx +- openfx - opengl +- opengl-registry - opengv - openh264 - openjdk - openjpeg - openmesh +- openmvg - openssl - opensubdiv - opentelemetry-cpp - opentelemetry-proto +- openxlsx - optional-lite - opus - opusfile - orcania - osqp - out_ptr +- outcome - p-ranav-glob - paho-mqtt-c - paho-mqtt-cpp +- parallel-hashmap - parg +- parson - patchelf - pbtools - pcapplusplus @@ -674,16 +794,38 @@ required_for_references: - pcre - pcre2 - pdfgen +- pdqsort +- perf +- perfetto +- perlinnoise +- pffft - pfr +- pgm-index +- physfs - physx - picobench - picojson +- picosha2 - pixman - pkgconf - platform.delegates - platform.hashing +- platform.interfaces +- plf_colony +- plf_indiesort +- plf_list +- plf_nanotimer +- plf_queue +- plf_stack +- plog - plutovg +- pngpp - poco +- poly2tri +- polylabel +- polylineencoder +- polymorphic_value +- poppler-data - popt - portable-file-dialogs - pprint @@ -694,7 +836,11 @@ required_for_references: - proposal - protobuf - protobuf-c +- protopuf +- protozero - psimd +- psyinf-gmtl +- ptex - pthreadpool - pthreads4w - pugixml @@ -702,11 +848,15 @@ required_for_references: - pybind11 - pybind11_json - pystring +- qcbor - qhull - qpdf +- qpoases +- qr-code-generator - qt - quantlib - quaternions +- quickjs - quill - quirc - r8brain-free-src @@ -722,11 +872,16 @@ required_for_references: - rapidyaml - raylib - re2 +- reactiveplusplus +- read-excel - readerwriterqueue - readline - readosm +- recastnavigation +- reckless - rectpack2d - redis-plus-plus +- refl-cpp - replxx - restbed - restinio @@ -735,23 +890,32 @@ required_for_references: - rmm - roaring - robin-hood-hashing +- rply - rtm +- rtmidi - rttr - ruy +- rxcpp - s2n +- safeint +- sail - samurai - sbepp - sbp - scip - scnlib - scons +- scope-lite - screen_capture_lite - sdbus-cpp +- sdf - sdl - sdl_image - sdl_ttf - seadex-essentials +- seasocks - semimap +- semver.c - sentry-breakpad - sentry-crashpad - sentry-native @@ -759,21 +923,27 @@ required_for_references: - serd - serdepp - sfml +- shapelib - shield - sigslot - simde - simdjson - simdutf - simple-websocket-server +- simple-yaml - sjson-cpp - skyr-url - sml - snappy - snowhouse - soci +- sofa +- sokol +- sol2 - sonic-cpp - sophus - soplex +- soundtouch - source_location - soxr - span-lite @@ -781,27 +951,42 @@ required_for_references: - spirv-cross - spirv-headers - spirv-tools +- spscqueue +- spy - sqlite3 - sqlite_orm - sqlitecpp - sqlpp11 +- squirrel - ssht - st_tree +- statslib - status-code +- status-value-lite - stb +- stc +- stduuid - stlab - strawberryperl - string-view-lite - stringtoolbox - strong_type - structopt +- sundials +- svector +- svgpp - svgwrite - symengine - szip - tabulate +- taglib - taocpp-json +- taocpp-operators - taocpp-pegtl +- taocpp-sequences +- taocpp-tuple - taskflow +- taywee-args - tcb-span - tcl - tclap @@ -809,6 +994,8 @@ required_for_references: - tensorpipe - termcap - termcolor +- tesseract +- tgc - thelink2012-any - threadpool - thrift @@ -842,6 +1029,7 @@ required_for_references: - univalue - unordered_dense - unqlite +- upx - uriparser - usockets - utf8proc From eece843f51176004ce5e51f91f0df3d0e603d40b Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 7 Aug 2023 17:41:44 +0400 Subject: [PATCH 1092/4087] (#19024) onetbb: use AnyNewerVersion cmake version policy --- recipes/onetbb/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 57b1bd6404c1e..0996273678365 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -109,6 +109,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "TBB") self.cpp_info.set_property("pkg_config_name", "tbb") + self.cpp_info.set_property("cmake_config_version_compat", "AnyNewerVersion") def lib_name(name): if self.settings.build_type == "Debug": From 301d8d811f27906cd902465b152a615cff598f18 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 7 Aug 2023 18:50:11 +0200 Subject: [PATCH 1093/4087] (#19086) function2: add version 4.2.3 --- recipes/function2/all/conandata.yml | 3 +++ recipes/function2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/function2/all/conandata.yml b/recipes/function2/all/conandata.yml index 4a8c1d45eb5f5..ef31d20ffc355 100644 --- a/recipes/function2/all/conandata.yml +++ b/recipes/function2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.3": + url: "https://github.com/Naios/function2/archive/refs/tags/4.2.3.tar.gz" + sha256: "097333b05e596280d3bc7a4769f1262931716cd8cc31ca7337b7af714085f3fc" "4.2.2": url: "https://github.com/Naios/function2/archive/refs/tags/4.2.2.tar.gz" sha256: "f755cb79712dfb9ceefcf7f7ff3225f7c99d22a164dae109044dbfad55d7111e" diff --git a/recipes/function2/config.yml b/recipes/function2/config.yml index 955cd0773fc58..0be889b562c58 100644 --- a/recipes/function2/config.yml +++ b/recipes/function2/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.3": + folder: all "4.2.2": folder: all "4.2.1": From 5c1dc0e189988d4fd6dabe93822ffb5233eb370b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 8 Aug 2023 13:08:06 +0900 Subject: [PATCH 1094/4087] (#19087) mongo-c-driver: add version 1.24.3 --- recipes/mongo-c-driver/all/conandata.yml | 13 +++++++++++++ recipes/mongo-c-driver/config.yml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index eefdc63f63260..5e5abc368ffce 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.24.3": + url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.24.3/mongo-c-driver-1.24.3.tar.gz" + sha256: "cc0ad1006447ded21bbefecf57d6fef61afe6f0d56a4e28da73805d50fdb81b5" "1.24.1": url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.24.1/mongo-c-driver-1.24.1.tar.gz" sha256: "f9bdf71f24c6621c12535bad07f4654a218d84f16b85a68aca3abf6cd36d1859" @@ -21,6 +24,16 @@ sources: url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.17.6/mongo-c-driver-1.17.6.tar.gz" sha256: "8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150" patches: + "1.24.3": + - patch_file: "patches/1.24.1-0001-disable-shared-when-static.patch" + patch_description: "separate static and shared builds" + patch_type: "conan" + - patch_file: "patches/1.24.1-0002-fix-uninitialized-warning.patch" + patch_description: "fix uninitialized variable warning" + patch_type: "portability" + - patch_file: "patches/1.22.0-0003-disable-warning-errors.patch" + patch_description: "disable compiler flags to make warnings into errors" + patch_type: "conan" "1.24.1": - patch_file: "patches/1.24.1-0001-disable-shared-when-static.patch" patch_description: "separate static and shared builds" diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index 20b511f9ecd13..c20e8c0d07847 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,4 +1,6 @@ versions: + "1.24.3": + folder: all "1.24.1": folder: all "1.23.5": From 0cde8936f6b5f8a1021d8bcaaa3759961eea0c52 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 8 Aug 2023 13:49:07 +0900 Subject: [PATCH 1095/4087] (#19088) libyuv: update libjpeg-turbo/3.0.0 --- recipes/libyuv/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libyuv/all/conanfile.py b/recipes/libyuv/all/conanfile.py index 5e5b8c258b2f3..4fea1b63b21f1 100644 --- a/recipes/libyuv/all/conanfile.py +++ b/recipes/libyuv/all/conanfile.py @@ -46,7 +46,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") From 0931599cfa2b9261dac03db36321b53e37d5934e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 8 Aug 2023 11:45:29 +0300 Subject: [PATCH 1096/4087] (#18238) mdns: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mdns: migrate to Conan v2 * mdns: restore test_v1_package * mdns: add cmake_find_package_multi generator to test_v1_package * mdns: simplify test_package.c Do not open a socket during the test. * mdns: remove old versions, add v1.4.3 * mdns: restore VirtualRunEnv in test_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/mdns/all/conandata.yml | 27 +++++-------- recipes/mdns/all/conanfile.py | 39 +++++++++++-------- recipes/mdns/all/test_package/CMakeLists.txt | 7 ++-- recipes/mdns/all/test_package/conanfile.py | 23 +++++++---- recipes/mdns/all/test_package/test_package.c | 12 ++++-- .../mdns/all/test_v1_package/CMakeLists.txt | 8 ++++ recipes/mdns/all/test_v1_package/conanfile.py | 17 ++++++++ recipes/mdns/config.yml | 12 ++---- 8 files changed, 87 insertions(+), 58 deletions(-) create mode 100644 recipes/mdns/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/mdns/all/test_v1_package/conanfile.py diff --git a/recipes/mdns/all/conandata.yml b/recipes/mdns/all/conandata.yml index ef0896308dfb2..67326bafe7dd9 100644 --- a/recipes/mdns/all/conandata.yml +++ b/recipes/mdns/all/conandata.yml @@ -1,22 +1,13 @@ sources: - "1.0": - sha256: e06ed954b4705f0e48f3e6bd44b75c115ee03f745c62394ee615f466e44e9373 - url: https://github.com/mjansson/mdns/archive/1.0.tar.gz - "1.1": - sha256: a0d170bc88151235b9f2dea10a9ffd1d538e4ce3b098426893fd45890efcbffb - url: https://github.com/mjansson/mdns/archive/1.1.tar.gz - "1.2": - sha256: 1919f8fd01b2b7e1128e51d51e4bd9e48fd4f2ef4ade88c152970a35d2084bae - url: https://github.com/mjansson/mdns/archive/1.2.tar.gz - "1.3": - url: "https://github.com/mjansson/mdns/archive/1.3.tar.gz" - sha256: "d3bfd684ef07beadca71c426586be88a10a92026fe6fe5355609d9e805ff5f85" - "1.4": - url: "https://github.com/mjansson/mdns/archive/1.4.tar.gz" - sha256: "413af72a6ce655dc96d35584dd0134f4ba87534ff78471b5b578e175b9f58dd5" - "1.4.1": - url: "https://github.com/mjansson/mdns/archive/1.4.1.tar.gz" - sha256: "decaf007376c62389712dda67c0eaa8ffb682e7be32ece816b1646119f061be3" + "1.4.3": + url: "https://github.com/mjansson/mdns/archive/1.4.3.tar.gz" + sha256: "be1fd8e35599cb7de179decbd0633c121d11a2dcb9cc193ff5c590bd0d480483" "1.4.2": url: "https://github.com/mjansson/mdns/archive/1.4.2.tar.gz" sha256: "c69cfdebe28a489c85f33744f7811c40572a9769a81cd57ecc09ef95802347f2" + "1.3": + url: "https://github.com/mjansson/mdns/archive/1.3.tar.gz" + sha256: "d3bfd684ef07beadca71c426586be88a10a92026fe6fe5355609d9e805ff5f85" + "1.2": + url: "https://github.com/mjansson/mdns/archive/1.2.tar.gz" + sha256: "1919f8fd01b2b7e1128e51d51e4bd9e48fd4f2ef4ade88c152970a35d2084bae" diff --git a/recipes/mdns/all/conanfile.py b/recipes/mdns/all/conanfile.py index aa012f43092fc..6842da5a57847 100644 --- a/recipes/mdns/all/conanfile.py +++ b/recipes/mdns/all/conanfile.py @@ -1,38 +1,45 @@ import os -from conans import CMake, ConanFile, tools -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class MdnsConan(ConanFile): name = "mdns" + description = "Public domain mDNS/DNS-SD library in C" license = "Unlicense" - homepage = "https://github.com/mjansson/mdns" url = "https://github.com/conan-io/conan-center-index" - description = "Public domain mDNS/DNS-SD library in C" - topics = ("mdns", "dns", "dns-sd", "multicast discovery", "discovery") - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/mjansson/mdns" + topics = ("dns", "dns-sd", "multicast discovery", "discovery", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*.h", dst="include", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os == "Windows": self.cpp_info.system_libs = ["iphlpapi", "ws2_32"] - if str(self.settings.os) in ["Linux", "Android"]: - self.cpp_info.system_libs.append('pthread') + if str(self.settings.os) in ["Linux", "FreeBSD", "Android"]: + self.cpp_info.system_libs.append("pthread") self.cpp_info.set_property("cmake_file_name", "mdns") self.cpp_info.set_property("cmake_target_name", "mdns::mdns") diff --git a/recipes/mdns/all/test_package/CMakeLists.txt b/recipes/mdns/all/test_package/CMakeLists.txt index c7366be61abf1..351413082436f 100644 --- a/recipes/mdns/all/test_package/CMakeLists.txt +++ b/recipes/mdns/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(mdns REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE mdns::mdns) set_target_properties(${PROJECT_NAME} PROPERTIES C_STANDARD 99) diff --git a/recipes/mdns/all/test_package/conanfile.py b/recipes/mdns/all/test_package/conanfile.py index 6c0a50e0f7678..ef5d7042163ec 100644 --- a/recipes/mdns/all/test_package/conanfile.py +++ b/recipes/mdns/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = 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/mdns/all/test_package/test_package.c b/recipes/mdns/all/test_package/test_package.c index b27d9acd4f04b..57ae843c7e0c0 100644 --- a/recipes/mdns/all/test_package/test_package.c +++ b/recipes/mdns/all/test_package/test_package.c @@ -15,8 +15,7 @@ # include #endif -int -main(int argc, const char* const* argv) { +int test() { #ifdef _WIN32 WORD versionWanted = MAKEWORD(1, 1); WSADATA wsaData; @@ -26,8 +25,7 @@ main(int argc, const char* const* argv) { } #endif - int port = 0; - int sock = mdns_socket_open_ipv4(port); + int sock = mdns_socket_open_ipv4(NULL); if (sock < 0) { printf("Failed to open socket: %s\n", strerror(errno)); return -1; @@ -35,9 +33,15 @@ main(int argc, const char* const* argv) { printf("socket cleanup\n"); mdns_socket_close(sock); + #ifdef _WIN32 WSACleanup(); #endif +} + +int main() { + // Do not run test() to not open a socket unnecessarily. + // Verifying that the function compiles is sufficient. return 0; } diff --git a/recipes/mdns/all/test_v1_package/CMakeLists.txt b/recipes/mdns/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/mdns/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/mdns/all/test_v1_package/conanfile.py b/recipes/mdns/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6dffe66394a26 --- /dev/null +++ b/recipes/mdns/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/mdns/config.yml b/recipes/mdns/config.yml index cdb4b7bded43e..59538424539ea 100644 --- a/recipes/mdns/config.yml +++ b/recipes/mdns/config.yml @@ -1,15 +1,9 @@ versions: - "1.0": + "1.4.3": folder: "all" - "1.1": - folder: "all" - "1.2": + "1.4.2": folder: "all" "1.3": folder: "all" - "1.4": - folder: "all" - "1.4.1": - folder: "all" - "1.4.2": + "1.2": folder: "all" From 0d0e9aea2d0a95fdc7d71185a65a03729101a9a4 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 8 Aug 2023 11:03:30 +0200 Subject: [PATCH 1097/4087] (#19089) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index d74f708376b9e..2b71385973697 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -421,12 +421,18 @@ required_for_references: - iso8601lib - itlib - ittapi +- ixwebsocket +- jansson - jasper - jbig +- jeaiii-itoa +- jfalcou-eve - jinja2cpp - joltphysics - jom - jpcre2 +- jpeg-compressor +- jsmn - json-c - json-schema-validator - jsoncons @@ -554,6 +560,7 @@ required_for_references: - libpqxx - libpsl - libqrencode +- librasterlite - libraw - librdkafka - librealsense @@ -602,6 +609,7 @@ required_for_references: - libwebsockets - libx264 - libx265 +- libxcrypt - libxls - libxlsxwriter - libxml2 From 5b2024b2ae1468c31c19d2b485e5fead82a20fac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 8 Aug 2023 12:26:29 +0300 Subject: [PATCH 1098/4087] (#18350) di: migrate to Conan v2 * di: migrate to Conan v2 * di: restore test_v1_package * di: add cmake_find_package_multi generator to test_v1_package * di: fix license not being packaged * di: restore VirtualRunEnv in test_package * Added license extraction --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/di/all/BSL-1.0.txt | 23 ---- recipes/di/all/conanfile.py | 112 ++++++++++++------ recipes/di/all/test_package/CMakeLists.txt | 7 +- recipes/di/all/test_package/conanfile.py | 22 +++- recipes/di/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/di/all/test_v1_package/conanfile.py | 16 +++ 6 files changed, 119 insertions(+), 69 deletions(-) delete mode 100644 recipes/di/all/BSL-1.0.txt create mode 100644 recipes/di/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/di/all/test_v1_package/conanfile.py diff --git a/recipes/di/all/BSL-1.0.txt b/recipes/di/all/BSL-1.0.txt deleted file mode 100644 index 36b7cd93cdfba..0000000000000 --- a/recipes/di/all/BSL-1.0.txt +++ /dev/null @@ -1,23 +0,0 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -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, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/recipes/di/all/conanfile.py b/recipes/di/all/conanfile.py index 5ccda35c324e5..25630735095f5 100644 --- a/recipes/di/all/conanfile.py +++ b/recipes/di/all/conanfile.py @@ -1,61 +1,101 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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, save, load +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class DiConan(ConanFile): name = "di" + description = "DI: C++14 Dependency Injection Library." license = "BSL-1.0" - homepage = "https://github.com/boost-ext/di" url = "https://github.com/conan-io/conan-center-index" - description = "DI: C++14 Dependency Injection Library." - topics = ("dependency-injection", "metaprogramming", "design-patterns") - exports_sources = ["BSL-1.0.txt"] - settings = "compiler" - options = {"with_extensions": [True, False], "diagnostics_level": [0, 1, 2]} - default_options = {"with_extensions": False, "diagnostics_level": 1} + homepage = "https://github.com/boost-ext/di" + topics = ("dependency-injection", "metaprogramming", "design-patterns", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_extensions": [True, False], + "diagnostics_level": [0, 1, 2] + } + default_options = { + "with_extensions": False, + "diagnostics_level": 1 + } no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 - def configure(self): - minimal_cpp_standard = "14" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "gcc": "5", "clang": "3.4", "apple-clang": "10", - "Visual Studio": "15" + "Visual Studio": "15", + "msvc": "191" } + + def configure(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) - self.output.warn( - "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + if compiler not in self._compilers_minimum_version: + self.output.warning( + f"{self.name} recipe lacks information about the {compiler} compiler standard version support") + self.output.warning( + f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") return - version = tools.Version(self.settings.compiler.version) - if version < minimal_version[compiler]: - raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + version = Version(self.settings.compiler.version) + if version < self._compilers_minimum_version[compiler]: + raise ConanInvalidConfiguration( + f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "di-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def package(self): - self.copy("BSL-1.0.txt", src="", dst="licenses") - if self.options.with_extensions: - self.copy("*.hpp", src=os.path.join(self._source_subfolder, "extension", "include", "boost", "di", "extension"), dst=os.path.join("include", "boost", "di", "extension"), keep_path=True) - self.copy("di.hpp", src=os.path.join(self._source_subfolder, "include", "boost"), dst=os.path.join("include", "boost")) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.requires.clear() self.info.settings.clear() del self.info.options.diagnostics_level + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def _extract_license(self): + file = os.path.join(self.source_folder, "CMakeLists.txt") + file_content = load(self, file) + + license_start = file_content.find("# Copyright") + sub_end = "LICENSE_1_0.txt)" + license_end = file_content.find(sub_end) + license_contents = file_content[license_start:(license_end + len(sub_end))] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) + + + def package(self): + self._extract_license() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + if self.options.with_extensions: + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include", "boost", "di", "extension"), + src=os.path.join(self.source_folder, "extension", "include", "boost", "di", "extension"), + keep_path=True) + copy(self, "di.hpp", + dst=os.path.join(self.package_folder, "include", "boost"), + src=os.path.join(self.source_folder, "include", "boost")) + def package_info(self): - self.cpp_info.defines.append("BOOST_DI_CFG_DIAGNOSTICS_LEVEL={}".format(self.options.diagnostics_level)) + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.defines.append( + f"BOOST_DI_CFG_DIAGNOSTICS_LEVEL={self.options.diagnostics_level}") diff --git a/recipes/di/all/test_package/CMakeLists.txt b/recipes/di/all/test_package/CMakeLists.txt index 44d785353d02d..4ead030531af2 100644 --- a/recipes/di/all/test_package/CMakeLists.txt +++ b/recipes/di/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(di REQUIRED CONFIG) add_executable(example example.cpp) +target_link_libraries(example di::di) set_target_properties(example PROPERTIES CXX_STANDARD 14) -target_link_libraries(example CONAN_PKG::di) diff --git a/recipes/di/all/test_package/conanfile.py b/recipes/di/all/test_package/conanfile.py index 8d63f059b4cdc..8d52b7021efe1 100644 --- a/recipes/di/all/test_package/conanfile.py +++ b/recipes/di/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 DiConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "example"), 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/di/all/test_v1_package/CMakeLists.txt b/recipes/di/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/di/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/di/all/test_v1_package/conanfile.py b/recipes/di/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..da134b42a75e3 --- /dev/null +++ b/recipes/di/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + + +class DiConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "example"), run_environment=True) From 1eaf77a85f94918f67be390dfb43b35898ee2171 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 8 Aug 2023 12:46:46 +0300 Subject: [PATCH 1099/4087] (#18352) si: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * si: migrate to Conan v2 * si: restore test_v1_package * si: drop older versions * si: restore VirtualRunEnv in test_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/si/all/CMakeLists.txt | 7 -- recipes/si/all/conandata.yml | 40 ++++----- recipes/si/all/conanfile.py | 81 +++++++++++-------- recipes/si/all/test_package/CMakeLists.txt | 7 +- recipes/si/all/test_package/conanfile.py | 22 +++-- recipes/si/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/si/all/test_v1_package/conanfile.py | 18 +++++ recipes/si/config.yml | 16 +--- 8 files changed, 107 insertions(+), 92 deletions(-) delete mode 100644 recipes/si/all/CMakeLists.txt create mode 100644 recipes/si/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/si/all/test_v1_package/conanfile.py diff --git a/recipes/si/all/CMakeLists.txt b/recipes/si/all/CMakeLists.txt deleted file mode 100644 index 6c3ae2de9686d..0000000000000 --- a/recipes/si/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/../conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/si/all/conandata.yml b/recipes/si/all/conandata.yml index 5576f1491e1a5..a84644449fec8 100644 --- a/recipes/si/all/conandata.yml +++ b/recipes/si/all/conandata.yml @@ -1,28 +1,16 @@ sources: - 1.7.6: - url: https://github.com/bernedom/SI/archive/1.7.6.tar.gz - sha256: 88041156890c34f7ca92f3ae385b19189583aa5c59ac470bfe2db6df5d5c954b - 2.0.4: - url: https://github.com/bernedom/SI/archive/2.0.4.tar.gz - sha256: 459936b913e887325e6ad69e9d64389b80f49e700aa8e5308df2bd77b8c74a0e - 2.1.3: - url: https://github.com/bernedom/SI/archive/2.1.3.tar.gz - sha256: c4728155bd8878fecc5c71c006e01cb193e6084d1604f79edc71ee723027534b - 2.2.0: - url: https://github.com/bernedom/SI/archive/2.2.0.tar.gz - sha256: 4b42dbe878995e19991487b60e235699b02858a5036a1729890d7adc865794bf - 2.3.0: - url: https://github.com/bernedom/SI/archive/2.3.0.tar.gz - sha256: b714162a933ddf1be66c8f2f2d31b52626189d6e4b292770bbb899106e8f6ac1 - 2.4.0: - url: https://github.com/bernedom/SI/archive/2.4.0.tar.gz - sha256: 84e13b52520808d9a55a073b1bb98376be03dc3b09ddee862a1418ef543e9f2d - 2.4.1: - url: https://github.com/bernedom/SI/archive/2.4.1.tar.gz - sha256: 6bfdbebb549da1b2db93b55c1c7f8228a0cdc6144a815319918237ca8601ad3a - 2.5.0: - url: https://github.com/bernedom/SI/archive/2.5.0.tar.gz - sha256: dc00eb8cfaa32e19c83595b238726188d2b857f8999dae08fe3001d0107ba276 2.5.1: - url: https://github.com/bernedom/SI/archive/2.5.1.tar.gz - sha256: b7b977c04c220a47a2bd3b8e2b6acfd640d286dfe1ae609f20e184cfec998798 + url: "https://github.com/bernedom/SI/archive/2.5.1.tar.gz" + sha256: "b7b977c04c220a47a2bd3b8e2b6acfd640d286dfe1ae609f20e184cfec998798" + 2.5.0: + url: "https://github.com/bernedom/SI/archive/2.5.0.tar.gz" + sha256: "dc00eb8cfaa32e19c83595b238726188d2b857f8999dae08fe3001d0107ba276" + 2.4.1: + url: "https://github.com/bernedom/SI/archive/2.4.1.tar.gz" + sha256: "6bfdbebb549da1b2db93b55c1c7f8228a0cdc6144a815319918237ca8601ad3a" + 2.3.0: + url: "https://github.com/bernedom/SI/archive/2.3.0.tar.gz" + sha256: "b714162a933ddf1be66c8f2f2d31b52626189d6e4b292770bbb899106e8f6ac1" + 1.7.6: + url: "https://github.com/bernedom/SI/archive/1.7.6.tar.gz" + sha256: "88041156890c34f7ca92f3ae385b19189583aa5c59ac470bfe2db6df5d5c954b" diff --git a/recipes/si/all/conanfile.py b/recipes/si/all/conanfile.py index 38915243d0bef..592ef3c7ad910 100644 --- a/recipes/si/all/conanfile.py +++ b/recipes/si/all/conanfile.py @@ -1,31 +1,33 @@ -from conans import CMake, ConanFile, 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, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class SiConan(ConanFile): name = "si" + description = ( + "A header only c++ library that provides type safety and user defined literals " + "for handling physical values defined in the International System of Units." + ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/bernedom/SI" - description = "A header only c++ library that provides type safety and user defined literals \ - for handling pyhsical values defined in the International System of Units." - topics = ("physical units", "SI-unit-conversion", - "cplusplus-library", "cplusplus-17") - exports_sources = "CMakeLists.txt" + topics = ("physical units", "SI-unit-conversion", "cplusplus-library", "cplusplus-17", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - generators = "cmake" @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -36,38 +38,47 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + 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"): - tools.check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get( - str(self.settings.compiler), False) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("'si' requires C++17, which your compiler ({} {}) does not support.".format( - self.settings.compiler, self.settings.compiler.version)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + "'si' requires C++17, which your compiler " + f"({self.settings.compiler} {self.settings.compiler.version}) does not support.") else: - self.output.warn( - "'si' requires C++17. Your compiler is unknown. Assuming it supports C++17.") - - def package_id(self): - self.info.header_only() + self.output.warning("'si' requires C++17. Your compiler is unknown. Assuming it supports C++17.") 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["SI_BUILD_TESTING"] = False + tc.variables["SI_BUILD_DOC"] = False + tc.variables["SI_INSTALL_LIBRARY"] = True + tc.generate() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) - cmake.definitions["SI_BUILD_TESTING"] = False - cmake.definitions["SI_BUILD_DOC"] = False - cmake.definitions["SI_INSTALL_LIBRARY"] = True - cmake.configure(build_folder=self._build_subfolder) + cmake.configure() cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "SI") self.cpp_info.set_property("cmake_target_name", "SI::SI") self.cpp_info.names["cmake_find_package"] = "SI" diff --git a/recipes/si/all/test_package/CMakeLists.txt b/recipes/si/all/test_package/CMakeLists.txt index 14c1322818a6b..b7052eb3cd9b3 100644 --- a/recipes/si/all/test_package/CMakeLists.txt +++ b/recipes/si/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(SI REQUIRED CONFIG) diff --git a/recipes/si/all/test_package/conanfile.py b/recipes/si/all/test_package/conanfile.py index 8ae9b638e62fe..ef5d7042163ec 100644 --- a/recipes/si/all/test_package/conanfile.py +++ b/recipes/si/all/test_package/conanfile.py @@ -1,11 +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) @@ -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/si/all/test_v1_package/CMakeLists.txt b/recipes/si/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/si/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/si/all/test_v1_package/conanfile.py b/recipes/si/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..8ae9b638e62fe --- /dev/null +++ b/recipes/si/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ + +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/si/config.yml b/recipes/si/config.yml index 8530898d2c4b5..7296df14f7ece 100644 --- a/recipes/si/config.yml +++ b/recipes/si/config.yml @@ -1,19 +1,11 @@ versions: - 1.7.6: - folder: all - 2.0.4: - folder: all - 2.1.3: - folder: all - 2.2.0: - folder: all - 2.3.0: + 2.5.1: folder: all - 2.4.0: + 2.5.0: folder: all 2.4.1: folder: all - 2.5.0: + 2.3.0: folder: all - 2.5.1: + 1.7.6: folder: all From bd9b51234dfbcf81a9b03455de7a0a32e002984e Mon Sep 17 00:00:00 2001 From: Alexander Bigerl Date: Tue, 8 Aug 2023 12:09:22 +0200 Subject: [PATCH 1100/4087] (#19015) Fix: sha256 sum of data for dice-template-library v1.0.0 --- recipes/dice-template-library/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dice-template-library/all/conandata.yml b/recipes/dice-template-library/all/conandata.yml index 8bfdcb315eb92..3dcfa182d3a53 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -4,7 +4,7 @@ sources: sha256: "a00ee401379eaf6c8af013fb39d6732fa68c3852e14b50789edde6f054647ca2" "1.0.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.0.0.tar.gz" - sha256: "485505ad3f9fb033083e2952bd8b4e68f6b4f123746b20f4ec3af46f4ce66cfe" + sha256: "d0c75ec4861e2480dc7d6533125f9c2dfb3574fc2cffd15c66665b1cdfa66561" "0.3.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v0.3.0.tar.gz" sha256: "2c02278f86c7b5fe1c684f5126f30529952a03784fa7c883cc4fd44965b3c33e" From 4a0d5f020920532d720f962d4ab9d8437c799273 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Tue, 8 Aug 2023 20:15:37 +0930 Subject: [PATCH 1101/4087] (#18559) [util-linux-libuuid] Change CMake target from LibUUID::LibUUID to libuuid::libuuid * [util-linux-libuuid] Change CMake target from LibUUID::LibUUID to libuuid::libuuid * This is in line with what conan recipes seem to expect, which will minimise the number of patches required. LibUUID was chosen as the target name given this is what's used internally within cmake, but this isn't a public interface and so there is no common usage to take guidance from. Closes #18554 * add alias for LibUUID::LibUUID --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/util-linux-libuuid/all/conanfile.py | 7 +++++-- recipes/util-linux-libuuid/all/test_package/CMakeLists.txt | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py index 736f1aadf0369..71265d08f5124 100644 --- a/recipes/util-linux-libuuid/all/conanfile.py +++ b/recipes/util-linux-libuuid/all/conanfile.py @@ -109,7 +109,10 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "uuid") - self.cpp_info.set_property("cmake_target_name", "LibUUID::LibUUID") - self.cpp_info.set_property("cmake_file_name", "LibUUID") + self.cpp_info.set_property("cmake_target_name", "libuuid::libuuid") + self.cpp_info.set_property("cmake_file_name", "libuuid") + # Maintain alias to `LibUUID::LibUUID` for previous version of the recipe + self.cpp_info.set_property("cmake_target_aliases", ["LibUUID::LibUUID"]) + self.cpp_info.libs = ["uuid"] self.cpp_info.includedirs.append(os.path.join("include", "uuid")) diff --git a/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt b/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt index 02a93367160a0..75c717f769900 100644 --- a/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt +++ b/recipes/util-linux-libuuid/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES C) -find_package(LibUUID REQUIRED CONFIG) +find_package(libuuid REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE LibUUID::LibUUID) +target_link_libraries(${PROJECT_NAME} PRIVATE libuuid::libuuid) target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) From ff2b8d99c65e4b346ce7b289164815952734573a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 8 Aug 2023 20:09:21 +0900 Subject: [PATCH 1102/4087] (#19050) freexl: add version 2.0.0, add package_type * freexl: add version 2.0.0, add package_type * fix typo in patch file --- recipes/freexl/all/conandata.yml | 5 +++ recipes/freexl/all/conanfile.py | 10 +++-- .../freexl/all/patches/fix-nmake-2.0.0.patch | 42 +++++++++++++++++++ recipes/freexl/config.yml | 2 + 4 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 recipes/freexl/all/patches/fix-nmake-2.0.0.patch diff --git a/recipes/freexl/all/conandata.yml b/recipes/freexl/all/conandata.yml index 1ded763735f94..9d309ba6c3c0d 100644 --- a/recipes/freexl/all/conandata.yml +++ b/recipes/freexl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-2.0.0.tar.gz" + sha256: "176705f1de58ab7c1eebbf5c6de46ab76fcd8b856508dbd28f5648f7c6e1a7f0" "1.0.6": url: "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-1.0.6.tar.gz" sha256: "3de8b57a3d130cb2881ea52d3aa9ce1feedb1b57b7daa4eb37f751404f90fc22" @@ -6,6 +9,8 @@ sources: url: "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-1.0.5.tar.gz" sha256: "3dc9b150d218b0e280a3d6a41d93c1e45f4d7155829d75f1e5bf3e0b0de6750d" patches: + "2.0.0": + - patch_file: "patches/fix-nmake-2.0.0.patch" "1.0.6": - patch_file: "patches/fix-nmake-1.0.6.patch" "1.0.5": diff --git a/recipes/freexl/all/conanfile.py b/recipes/freexl/all/conanfile.py index 794b52fdc98a5..6f97355b38f7c 100644 --- a/recipes/freexl/all/conanfile.py +++ b/recipes/freexl/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, NMakeDeps, NMakeToolchain +from conan.tools.scm import Version import os required_conan_version = ">=1.55.0" @@ -16,10 +17,10 @@ class FreexlConan(ConanFile): description = "FreeXL is an open source library to extract valid data " \ "from within an Excel (.xls) spreadsheet." license = ["MPL-1.0", "GPL-2.0-only", "LGPL-2.1-only"] - topics = ("excel", "xls") - homepage = "https://www.gaia-gis.it/fossil/freexl/index" url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://www.gaia-gis.it/fossil/freexl/index" + topics = ("excel", "xls") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -52,6 +53,9 @@ def layout(self): def requirements(self): self.requires("libiconv/1.17") + if Version(self.version) >= "2.0.0": + self.requires("expat/2.5.0") + self.requires("minizip/1.2.13") def build_requirements(self): if not is_msvc(self): diff --git a/recipes/freexl/all/patches/fix-nmake-2.0.0.patch b/recipes/freexl/all/patches/fix-nmake-2.0.0.patch new file mode 100644 index 0000000000000..80cf36670487d --- /dev/null +++ b/recipes/freexl/all/patches/fix-nmake-2.0.0.patch @@ -0,0 +1,42 @@ +diff --git a/a/makefile.vc b/b/makefile.vc +index 5cd5d05..f7505ea 100644 +--- a/a/makefile.vc ++++ b/b/makefile.vc +@@ -11,7 +11,7 @@ ODS = freexl_ods.obj + LIBOBJ = $(CORE) $(XLSX) $(ODS) + FREEXL_DLL = freexl$(VERSION).dll + +-CFLAGS = /nologo -I. -Iheaders -IC:\OSGeo4W\include $(OPTFLAGS) ++CFLAGS = /nologo -I. -Iheaders $(OPTFLAGS) + + default: all + +@@ -33,12 +33,8 @@ freexl.lib: $(LIBOBJ) + $(FREEXL_DLL): freexl_i.lib + + freexl_i.lib: $(LIBOBJ) +- link /debug /dll /out:$(FREEXL_DLL) \ +- /implib:freexl_i.lib $(LIBOBJ) \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\libexpat.lib \ +- C:\OSGeo4W\lib\libminizip.lib \ +- C:\OSGeo4w\lib\zlib.lib ++ link /dll /out:$(FREEXL_DLL) \ ++ /implib:freexl_i.lib $(LIBOBJ) + if exist $(FREEXL_DLL).manifest mt -manifest \ + $(FREEXL_DLL).manifest -outputresource:$(FREEXL_DLL);2 + +diff --git a/a/nmake.opt b/b/nmake.opt +index 35f9242..15abafe 100644 +--- a/a/nmake.opt ++++ b/b/nmake.opt +@@ -2,8 +2,7 @@ + INSTDIR=C:\OSGeo4W + + # Uncomment the first for an optimized build, or the second for debug. +-OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \ +- /DDLL_EXPORT ++OPTFLAGS= /nologo /fp:precise /W3 /D_CRT_SECURE_NO_WARNINGS $(FREEXL_EXPORT) + #OPTFLAGS= /nologo /Zi /MD /Fdfreexl.pdb /DDLL_EXPORT + + # Set the version number for the DLL. Normally we leave this blank since diff --git a/recipes/freexl/config.yml b/recipes/freexl/config.yml index 06269eb399e91..e78a14da43e74 100644 --- a/recipes/freexl/config.yml +++ b/recipes/freexl/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "1.0.6": folder: all "1.0.5": From 7008564c91237b7767521d87b18200bd3c0ec3b4 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:51:11 +0200 Subject: [PATCH 1103/4087] (#19097) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 2b71385973697..fdcbe4b81dbb2 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -765,6 +765,7 @@ required_for_references: - opencl-icd-loader - opencolorio - opencore-amr +- opencv - openddl-parser - openexr - openfbx From 52263aadbcc9777247c2ec8d4d8f99fc3d287476 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 00:12:10 +0900 Subject: [PATCH 1104/4087] (#19071) minizip-ng: add version 4.0.1, remove older versions --- recipes/minizip-ng/all/conandata.yml | 36 ++----------------- recipes/minizip-ng/all/conanfile.py | 2 +- .../3.0.1-0001-fix-cmake-project.patch | 22 ------------ .../3.0.2-0001-fix-cmake-project.patch | 22 ------------ .../3.0.3-0001-fix-cmake-project.patch | 22 ------------ recipes/minizip-ng/config.yml | 8 ++--- 6 files changed, 6 insertions(+), 106 deletions(-) delete mode 100644 recipes/minizip-ng/all/patches/3.0.1-0001-fix-cmake-project.patch delete mode 100644 recipes/minizip-ng/all/patches/3.0.2-0001-fix-cmake-project.patch delete mode 100644 recipes/minizip-ng/all/patches/3.0.3-0001-fix-cmake-project.patch diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index 352a0f4b634fe..cad464b51193b 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.1": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.1.tar.gz" + sha256: "63e47a2b4dbac0da501f43f4da74f118dfb3ef0dee0ffbbe89428271002260f8" "4.0.0": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.0.tar.gz" sha256: "f9062e576de026fd5026d65597de3b05263cd4d91400cacdbbe36dfa8a642fff" @@ -20,15 +23,6 @@ sources: "3.0.4": url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.4.tar.gz" sha256: "2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c" - "3.0.3": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.3.tar.gz" - sha256: "5f1dd0d38adbe9785cb9c4e6e47738c109d73a0afa86e58c4025ce3e2cc504ed" - "3.0.2": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.2.tar.gz" - sha256: "6ba4b6629c107c27ab526e517bdb105612232f0965a6747f60150e5a04c2fe5a" - "3.0.1": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.1.tar.gz" - sha256: "96c95b274dd535984ce0e87691691388f2b976106e8cf8d527b15da552ac94e4" patches: "3.0.9": - patch_file: "patches/3.0.9-0001-fix-cmake-project.patch" @@ -70,27 +64,3 @@ patches: patch_description: "CMake: inject libdir of lzma" patch_type: "conan" patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.3": - - patch_file: "patches/3.0.3-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.1-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.2": - - patch_file: "patches/3.0.2-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.1-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.1": - - patch_file: "patches/3.0.1-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.1-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 01bda6f608ccb..9dec1a6119509 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -140,7 +140,7 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE 1)", "") - else: + elif Version(self.version) == "4.0.0": replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set_target_properties(${MINIZIP_TARGET} PROPERTIES POSITION_INDEPENDENT_CODE 1)", "") diff --git a/recipes/minizip-ng/all/patches/3.0.1-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.1-0001-fix-cmake-project.patch deleted file mode 100644 index c44b1784ce620..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.1-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,10 +63,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.1") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3.0") -@@ -677,7 +677,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/all/patches/3.0.2-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.2-0001-fix-cmake-project.patch deleted file mode 100644 index 8cfa267f8cff7..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.2-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,10 +63,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.2") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3.0") -@@ -681,7 +681,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/all/patches/3.0.3-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.3-0001-fix-cmake-project.patch deleted file mode 100644 index 484eb23a91671..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.3-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,10 +63,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.3") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3") -@@ -681,7 +681,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index 85231c7536268..b2948c58fb880 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.1": + folder: all "4.0.0": folder: all "3.0.9": @@ -13,9 +15,3 @@ versions: folder: all "3.0.4": folder: all - "3.0.3": - folder: all - "3.0.2": - folder: all - "3.0.1": - folder: all From c110531128f32a5fd72eb40fc134e3ebfba4232b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 01:43:03 +0900 Subject: [PATCH 1105/4087] (#19020) quill: add version 3.3.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/all/test_package/CMakeLists.txt | 4 ++++ recipes/quill/all/test_package/test_package.cpp | 8 ++++++++ recipes/quill/config.yml | 2 ++ 4 files changed, 17 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index d0c356569441c..bb2b9571b97fb 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.1": + url: "https://github.com/odygrd/quill/archive/v3.3.1.tar.gz" + sha256: "f929d54a115b45c32dd2acd1a9810336d35c31fde9f5581c51ad2b80f980d0d1" "3.2.0": url: "https://github.com/odygrd/quill/archive/v3.2.0.tar.gz" sha256: "9745ad83b285bbd0481bd14c1b866b7e6121a981dd211b914f5d55955040fd00" diff --git a/recipes/quill/all/test_package/CMakeLists.txt b/recipes/quill/all/test_package/CMakeLists.txt index d53c2b924044a..b6b657d776df5 100644 --- a/recipes/quill/all/test_package/CMakeLists.txt +++ b/recipes/quill/all/test_package/CMakeLists.txt @@ -10,3 +10,7 @@ if(quill_VERSION VERSION_GREATER_EQUAL "2.0.0") else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) endif() + +if(quill_VERSION VERSION_GREATER_EQUAL "3.3.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE QUILL_FILE_HANDLERS_API_V3_3) +endif() diff --git a/recipes/quill/all/test_package/test_package.cpp b/recipes/quill/all/test_package/test_package.cpp index ab2f3ef6f2de8..b02a6dd344b06 100644 --- a/recipes/quill/all/test_package/test_package.cpp +++ b/recipes/quill/all/test_package/test_package.cpp @@ -3,7 +3,15 @@ int main() { quill::start(); +#ifdef QUILL_FILE_HANDLERS_API_V3_3 + auto file_handler = quill::file_handler("logfile.log", []() { + quill::FileHandlerConfig cfg; + cfg.set_open_mode('w'); + return cfg; + }()); +#else auto file_handler = quill::file_handler("logfile.log", "w"); +#endif auto my_logger = quill::create_logger("my_logger", std::move(file_handler)); LOG_INFO(my_logger, "Hello from {}", "Quill"); diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index d8522cb2854c6..6c3cb17b45637 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.1": + folder: "all" "3.2.0": folder: "all" "3.1.0": From 4e10ea1897c7bd98cad8e12bf8f5cbb5e25988a1 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 04:21:32 +0900 Subject: [PATCH 1106/4087] (#19069) asio-grpc: add version 2.6.0 --- recipes/asio-grpc/all/conandata.yml | 3 +++ recipes/asio-grpc/all/conanfile.py | 2 +- recipes/asio-grpc/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/asio-grpc/all/conandata.yml b/recipes/asio-grpc/all/conandata.yml index 2e070194bef3f..93b16454d2a6d 100644 --- a/recipes/asio-grpc/all/conandata.yml +++ b/recipes/asio-grpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.0": + url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.6.0.tar.gz" + sha256: "9f17f1dfe390667c71d8e0645937afa36f1a0e146f60f6036c7b4e12b09ed14e" "2.5.1": url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.5.1.tar.gz" sha256: "571779a25be6eed77a345088e3ded2cccf880c16800ee0075ece57116f14fc35" diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index a0e6d608281c4..b49ad78283c25 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): if self._local_allocator_option == "boost_container" or self.options.backend == "boost": self.requires("boost/1.82.0") if self.options.backend == "asio": - self.requires("asio/1.28.0") + self.requires("asio/1.28.1") if self.options.backend == "unifex": self.requires("libunifex/cci.20220430") diff --git a/recipes/asio-grpc/config.yml b/recipes/asio-grpc/config.yml index 9952741d8464d..5c9bbc56f454e 100644 --- a/recipes/asio-grpc/config.yml +++ b/recipes/asio-grpc/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.0": + folder: all "2.5.1": folder: all "2.4.0": From 4a565cec2909255fea330c92b33858ed25e2dbf0 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 8 Aug 2023 22:33:12 +0200 Subject: [PATCH 1107/4087] (#19093) [proj] Bump libcurl version Signed-off-by: Uilian Ries --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index e5322b9f644f0..9afbca02d3ff6 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): if self.options.get_safe("with_tiff"): self.requires("libtiff/4.5.1") if self.options.get_safe("with_curl"): - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.2.0") def build_requirements(self): if not can_run(self): From 9f96ee436d2af9ee5c15fbf2af10796eaaa92c80 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 8 Aug 2023 23:49:21 +0200 Subject: [PATCH 1108/4087] (#19064) cmake: add 3.27.1 --- recipes/cmake/binary/conandata.yml | 19 +++++++++++++++++++ recipes/cmake/config.yml | 18 ++++++++++-------- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index c9e3ccde2563d..a778631e96cba 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.1": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.1-linux-aarch64.tar.gz" + sha256: "812e32b569bcfb61f5ededdec244c4fddcd18d2c352a902ef88ed7d02005b2bd" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.1-linux-x86_64.tar.gz" + sha256: "9fef63e1cf87cab1153f9433045df2e43c336e462518b0f5e52d2cc91d762cff" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.1-macos10.10-universal.tar.gz" + sha256: "3f9b1b6c29369d2b4e71991420966599a378b01f84e6420d5e881946a04debed" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.1-windows-arm64.zip" + sha256: "588576bd73f20a851de053571a3ccb9bfe28446b5952ea62918dd273da608183" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.1-windows-x86_64.zip" + sha256: "664fe1655999f0b693d1e64ddb430191c727ab0a03dc1da7278f291172e1e04e" "3.27.0": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 0ed8eb6281e81..4a1e12b81255f 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,19 +1,21 @@ versions: - "3.19.8": + "3.27.1": folder: "binary" - "3.20.6": + "3.27.0": folder: "binary" - "3.21.7": + "3.26.4": folder: "binary" - "3.22.6": + "3.25.3": + folder: "binary" + "3.24.4": folder: "binary" "3.23.5": folder: "binary" - "3.24.4": + "3.22.6": folder: "binary" - "3.25.3": + "3.21.7": folder: "binary" - "3.26.4": + "3.20.6": folder: "binary" - "3.27.0": + "3.19.8": folder: "binary" From 0238c2b1dfb76814b4ea0c602846df05862ad228 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Wed, 9 Aug 2023 00:32:01 +0200 Subject: [PATCH 1109/4087] (#19091) [sentry-breakpad] bump libcurl to 8.2.0 --- recipes/sentry-crashpad/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-crashpad/all/conanfile.py b/recipes/sentry-crashpad/all/conanfile.py index 645ba8aaf554d..af63a7ade4f9d 100644 --- a/recipes/sentry-crashpad/all/conanfile.py +++ b/recipes/sentry-crashpad/all/conanfile.py @@ -62,7 +62,7 @@ def build_requirements(self): def requirements(self): self.requires("zlib/1.2.13") if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/8.1.2") + self.requires("libcurl/8.2.0") if self.options.get_safe("with_tls"): self.requires("openssl/[>=1.1 <4]") From 61ec603a9f2122621fec76bc9288080d0d200d04 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 9 Aug 2023 03:05:59 +0300 Subject: [PATCH 1110/4087] (#18081) systemc: migrate to Conan v2 * systemc: migrate to Conan v2 * systemc: restore test_v1_package * systemc: add exception for GCC v5 * systemc: don not set cxx_std_11 --------- Co-authored-by: James --- recipes/systemc/all/CMakeLists.txt | 7 -- recipes/systemc/all/conandata.yml | 6 - recipes/systemc/all/conanfile.py | 119 +++++++++--------- recipes/systemc/all/patches/0001-cmake.patch | 8 +- recipes/systemc/all/patches/0004-cmake.patch | 8 +- .../systemc/all/test_package/CMakeLists.txt | 5 +- recipes/systemc/all/test_package/conanfile.py | 21 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../systemc/all/test_v1_package/conanfile.py | 17 +++ 9 files changed, 103 insertions(+), 96 deletions(-) delete mode 100644 recipes/systemc/all/CMakeLists.txt create mode 100644 recipes/systemc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/systemc/all/test_v1_package/conanfile.py diff --git a/recipes/systemc/all/CMakeLists.txt b/recipes/systemc/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/systemc/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/systemc/all/conandata.yml b/recipes/systemc/all/conandata.yml index db213ca0aa834..234032a9f92d2 100644 --- a/recipes/systemc/all/conandata.yml +++ b/recipes/systemc/all/conandata.yml @@ -8,15 +8,9 @@ sources: patches: "2.3.3": - patch_file: "patches/0001-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-sc_string_view.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-mingw.patch" - base_path: "source_subfolder" "2.3.4": - patch_file: "patches/0002-sc_string_view.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-mingw.patch" - base_path: "source_subfolder" - patch_file: "patches/0004-cmake.patch" - base_path: "source_subfolder" diff --git a/recipes/systemc/all/conanfile.py b/recipes/systemc/all/conanfile.py index e65862f8bd94b..60fb8e631adf2 100644 --- a/recipes/systemc/all/conanfile.py +++ b/recipes/systemc/all/conanfile.py @@ -1,20 +1,25 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools +from conan import ConanFile, conan_version +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.43.0" +required_conan_version = ">=1.53.0" class SystemcConan(ConanFile): name = "systemc" - description = """SystemC is a set of C++ classes and macros which provide - an event-driven simulation interface.""" - homepage = "https://www.accellera.org/" - url = "https://github.com/conan-io/conan-center-index" + description = ("SystemC is a set of C++ classes and macros which provide " + "an event-driven simulation interface.") license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.accellera.org/" topics = ("simulation", "modeling", "esl", "tlm") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,7 +38,7 @@ class SystemcConan(ConanFile): "fPIC": True, "disable_async_updates": False, "disable_copyright_msg": False, - "disable_virtual_bind": False, + "disable_virtual_bind": False, "enable_assertions": True, "enable_immediate_self_notifications": False, "enable_pthreads": False, @@ -41,85 +46,81 @@ class SystemcConan(ConanFile): "enable_phase_callbacks_tracing": False, } - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - del self.options.enable_pthreads + self.options.rm_safe("enable_pthreads") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): - if self.settings.os == "Macos": + if is_apple_os(self): raise ConanInvalidConfiguration("Macos build not supported") if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("Building SystemC as a shared library on Windows is currently not supported") + raise ConanInvalidConfiguration( + "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): - 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["DISABLE_ASYNC_UPDATES"] = self.options.disable_async_updates + tc.variables["DISABLE_COPYRIGHT_MESSAGE"] = self.options.disable_copyright_msg + tc.variables["DISABLE_VIRTUAL_BIND"] = self.options.disable_virtual_bind + tc.variables["ENABLE_ASSERTIONS"] = self.options.enable_assertions + tc.variables["ENABLE_IMMEDIATE_SELF_NOTIFICATIONS"] = self.options.enable_immediate_self_notifications + tc.variables["ENABLE_PTHREADS"] = self.options.get_safe("enable_pthreads", False) + tc.variables["ENABLE_PHASE_CALLBACKS"] = self.options.get_safe("enable_phase_callbacks", False) + tc.variables["ENABLE_PHASE_CALLBACKS_TRACING"] = self.options.get_safe("enable_phase_callbacks_tracing", False) + tc.generate() - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): + apply_conandata_patches(self) cmake = CMake(self) - cmake.definitions["DISABLE_ASYNC_UPDATES"] = \ - self.options.disable_async_updates - cmake.definitions["DISABLE_COPYRIGHT_MESSAGE"] = \ - self.options.disable_copyright_msg - cmake.definitions["DISABLE_VIRTUAL_BIND"] = \ - self.options.disable_virtual_bind - cmake.definitions["ENABLE_ASSERTIONS"] = \ - self.options.enable_assertions - cmake.definitions["ENABLE_IMMEDIATE_SELF_NOTIFICATIONS"] = \ - self.options.enable_immediate_self_notifications - cmake.definitions["ENABLE_PTHREADS"] = \ - self.options.get_safe("enable_pthreads", False) - cmake.definitions["ENABLE_PHASE_CALLBACKS"] = \ - self.options.get_safe("enable_phase_callbacks", False) - cmake.definitions["ENABLE_PHASE_CALLBACKS_TRACING"] = \ - self.options.get_safe("enable_phase_callbacks_tracing", False) 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("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("NOTICE", 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) + copy(self, "NOTICE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "SystemCLanguage") self.cpp_info.set_property("cmake_target_name", "SystemC::systemc") + # TODO: back to global scope in conan v2 once cmake_find_package* generators removed self.cpp_info.components["_systemc"].libs = ["systemc"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["_systemc"].system_libs = ["pthread"] - if self._is_msvc: + self.cpp_info.components["_systemc"].system_libs = ["pthread", "m"] + if is_msvc(self): self.cpp_info.components["_systemc"].cxxflags.append("/vmg") # TODO: to remove in conan v2 once cmake_find_package* generators removed diff --git a/recipes/systemc/all/patches/0001-cmake.patch b/recipes/systemc/all/patches/0001-cmake.patch index 46f27b30da924..3598e00cb51a5 100644 --- a/recipes/systemc/all/patches/0001-cmake.patch +++ b/recipes/systemc/all/patches/0001-cmake.patch @@ -1,6 +1,6 @@ --- CMakeLists.txt +++ CMakeLists.txt -@@ -273,12 +273,12 @@ +@@ -273,12 +273,6 @@ FORCE) endif (NOT CMAKE_BUILD_TYPE) @@ -10,12 +10,6 @@ - "The with CMAKE_CXX_STANDARD selected C++ standard is a requirement.") -mark_as_advanced (CMAKE_CXX_STANDARD_REQUIRED) - -+#set (CMAKE_CXX_STANDARD 98 CACHE STRING -+# "C++ standard to build all targets. Supported values are 98, 11, and 14.") -+#set (CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL -+# "The with CMAKE_CXX_STANDARD selected C++ standard is a requirement.") -+#mark_as_advanced (CMAKE_CXX_STANDARD_REQUIRED) -+# if (NOT (WIN32 OR CYGWIN)) option (BUILD_SHARED_LIBS "Build shared libraries." ON) else (NOT (WIN32 OR CYGWIN)) diff --git a/recipes/systemc/all/patches/0004-cmake.patch b/recipes/systemc/all/patches/0004-cmake.patch index 83eead38732bc..5c4004ed81fc2 100644 --- a/recipes/systemc/all/patches/0004-cmake.patch +++ b/recipes/systemc/all/patches/0004-cmake.patch @@ -1,6 +1,6 @@ --- CMakeLists.txt +++ CMakeLists.txt -@@ -277,12 +277,12 @@ +@@ -277,12 +277,6 @@ FORCE) endif (NOT CMAKE_BUILD_TYPE) @@ -10,12 +10,6 @@ - "The with CMAKE_CXX_STANDARD selected C++ standard is a requirement.") -mark_as_advanced (CMAKE_CXX_STANDARD_REQUIRED) - -+#set (CMAKE_CXX_STANDARD 98 CACHE STRING -+# "C++ standard to build all targets. Supported values are 98, 11, 14, and 17.") -+#set (CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL -+# "The with CMAKE_CXX_STANDARD selected C++ standard is a requirement.") -+#mark_as_advanced (CMAKE_CXX_STANDARD_REQUIRED) -+# if (NOT (WIN32 OR CYGWIN)) option (BUILD_SHARED_LIBS "Build shared libraries." ON) else (NOT (WIN32 OR CYGWIN)) diff --git a/recipes/systemc/all/test_package/CMakeLists.txt b/recipes/systemc/all/test_package/CMakeLists.txt index 5d31301bc9ee2..86a595ce48e9a 100644 --- a/recipes/systemc/all/test_package/CMakeLists.txt +++ b/recipes/systemc/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(SystemCLanguage REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/systemc/all/test_package/conanfile.py b/recipes/systemc/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/systemc/all/test_package/conanfile.py +++ b/recipes/systemc/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/systemc/all/test_v1_package/CMakeLists.txt b/recipes/systemc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/systemc/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/systemc/all/test_v1_package/conanfile.py b/recipes/systemc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/systemc/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 88c385576f6c0a4cad20a56c6c14d2769bf33cb1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 9 Aug 2023 02:39:56 +0200 Subject: [PATCH 1111/4087] (#19099) zookeeper-client-c: use stable url for tarball of source code --- recipes/zookeeper-client-c/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zookeeper-client-c/all/conandata.yml b/recipes/zookeeper-client-c/all/conandata.yml index 5a209ac187af0..f81d1f4e6d34f 100644 --- a/recipes/zookeeper-client-c/all/conandata.yml +++ b/recipes/zookeeper-client-c/all/conandata.yml @@ -1,6 +1,6 @@ sources: "3.8.1": - url: "https://dlcdn.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1.tar.gz" + url: "https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1.tar.gz" sha256: "ccc16850c8ab2553583583234d11c813061b5ea5f3b8ff1d740cde6c1fd1e219" patches: "3.8.1": From d6e70e93f154cf014117e2903b54dede76266411 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 9 Aug 2023 02:50:00 +0200 Subject: [PATCH 1112/4087] (#19105) meson: add version 1.2.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index df69b3c1b2cb9..17f050a573292 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.1": + url: "https://github.com/mesonbuild/meson/releases/download/1.2.1/meson-1.2.1.tar.gz" + sha256: "b1db3a153087549497ee52b1c938d2134e0338214fe14f7efd16fecd57b639f5" "1.2.0": url: "https://github.com/mesonbuild/meson/archive/1.2.0.tar.gz" sha256: "603489f0aaa6305f806c6cc4a4455a965f22290fc74f65871f589b002110c790" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index b926152e71ae8..785517ff377e8 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.1": + folder: all "1.2.0": folder: all "1.1.1": From 1023c443c01ebb21b6f20417a06fab9ab0a1c2ad Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 9 Aug 2023 03:30:59 +0200 Subject: [PATCH 1113/4087] (#19106) libgeotiff: bump deps --- recipes/libgeotiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index 4125b818ee21d..74323fd2d39a0 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): def requirements(self): # libgeotiff/include/xtiffio.h includes libtiff/include/tiffio.h self.requires("libtiff/4.5.1", transitive_headers=True, transitive_libs=True) - self.requires("proj/9.1.1") + self.requires("proj/9.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b6bf78a15124bcf90591baa19ed89793bbe746c0 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Wed, 9 Aug 2023 08:12:27 +0200 Subject: [PATCH 1114/4087] (#19102) Add libsvtav1/1.6.0 --- recipes/libsvtav1/all/conandata.yml | 3 +++ recipes/libsvtav1/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libsvtav1/all/conandata.yml b/recipes/libsvtav1/all/conandata.yml index 74d595eb1046f..116460d8d2500 100644 --- a/recipes/libsvtav1/all/conandata.yml +++ b/recipes/libsvtav1/all/conandata.yml @@ -1,4 +1,7 @@ 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 diff --git a/recipes/libsvtav1/config.yml b/recipes/libsvtav1/config.yml index 37cfc8825c04f..e7e0786241704 100644 --- a/recipes/libsvtav1/config.yml +++ b/recipes/libsvtav1/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.4.1": folder: all "1.3.0": From c4ca097e9ef0e863b04f9107b00bf767f6be6cde Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 16:09:24 +0900 Subject: [PATCH 1115/4087] (#18910) libmysqlclient: add version 8.0.34 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libmysqlclient: add version 8.0.34 * update openssl --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libmysqlclient/all/conandata.yml | 7 +++++++ recipes/libmysqlclient/all/conanfile.py | 25 +++++++++++++----------- recipes/libmysqlclient/config.yml | 2 ++ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/recipes/libmysqlclient/all/conandata.yml b/recipes/libmysqlclient/all/conandata.yml index 7533ad1b401d8..6ace30de16974 100644 --- a/recipes/libmysqlclient/all/conandata.yml +++ b/recipes/libmysqlclient/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.0.34": + url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34.tar.gz" + sha256: "e65d03a3c42618b5fbf99042aed33209402e9b27aa62c7c8743ffd4788d8db1d" "8.0.31": url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31.tar.gz" sha256: "67bb8cba75b28e95c7f7948563f01fb84528fcbb1a35dba839d4ce44fe019baa" @@ -9,6 +12,10 @@ sources: url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25.tar.gz" sha256: "c16aa9cf621bc028efba2bb11f3c36a323b125fa0d108ff92fab60e46309206e" patches: + "8.0.34": + - patch_file: "patches/0006-fix-cpp20-build-8.0.29.patch" + patch_description: "Fix C++20 compilation" + patch_type: "portability" "8.0.31": - patch_file: "patches/0006-fix-cpp20-build-8.0.29.patch" patch_description: "Fix C++20 compilation" diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 46f8df1537d5e..ba135f46de785 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): def requirements(self): if Version(self.version) < "8.0.30": - self.requires("openssl/1.1.1t") + self.requires("openssl/1.1.1u") else: self.requires("openssl/[>=1.1 <4]") self.requires("zlib/1.2.13") @@ -127,14 +127,14 @@ def _patch_sources(self): f"# WARN_MISSING_SYSTEM_{lib.upper()}({lib.upper()}_WARN_GIVEN)", strict=False) - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - f"SET({lib.upper()}_WARN_GIVEN)", - f"# SET({lib.upper()}_WARN_GIVEN)", - strict=False) + if lib != "libevent" or Version(self.version) < "8.0.34": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + f"SET({lib.upper()}_WARN_GIVEN)", + f"# SET({lib.upper()}_WARN_GIVEN)", + strict=False) rmdir(self, os.path.join(self.source_folder, "extra")) for folder in ["client", "man", "mysql-test", "libbinlogstandalone"]: - rmdir(self, os.path.join(self.source_folder, folder)) replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), f"ADD_SUBDIRECTORY({folder})\n", "", @@ -147,9 +147,10 @@ def _patch_sources(self): strict=False) # Upstream does not actually load lz4 directories for system, force it to - replace_in_file(self, os.path.join(self.source_folder, "libbinlogevents", "CMakeLists.txt"), - "INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libbinlogevents/include)", - "MY_INCLUDE_SYSTEM_DIRECTORIES(LZ4)\nINCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libbinlogevents/include)") + if Version(self.version) < "8.0.34": + replace_in_file(self, os.path.join(self.source_folder, "libbinlogevents", "CMakeLists.txt"), + "INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libbinlogevents/include)", + "MY_INCLUDE_SYSTEM_DIRECTORIES(LZ4)\nINCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libbinlogevents/include)") replace_in_file(self, os.path.join(self.source_folder, "cmake", "zstd.cmake"), "NAMES zstd", @@ -180,7 +181,9 @@ def _patch_sources(self): "if(0)") # Do not copy shared libs of dependencies to package folder - deps_shared = ["SSL", "KERBEROS", "SASL", "LDAP", "PROTOBUF", "CURL"] + deps_shared = ["SSL", "KERBEROS", "SASL", "LDAP", "PROTOBUF"] + if Version(self.version) < "8.0.34": + deps_shared.append("CURL") for dep in deps_shared: replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), f"MYSQL_CHECK_{dep}_DLLS()", @@ -211,7 +214,7 @@ def generate(self): tc.cache_variables["ENABLED_PROFILING"] = False tc.cache_variables["MYSQL_MAINTAINER_MODE"] = False tc.cache_variables["WIX_DIR"] = False - # Disable additional Linux distro-specific compiler checks. + # Disable additional Linux distro-specific compiler checks. # The recipe already checks for minimum versions of supported # compilers. tc.cache_variables["FORCE_UNSUPPORTED_COMPILER"] = True diff --git a/recipes/libmysqlclient/config.yml b/recipes/libmysqlclient/config.yml index d2183e51a5f3c..7df89d243f495 100644 --- a/recipes/libmysqlclient/config.yml +++ b/recipes/libmysqlclient/config.yml @@ -1,4 +1,6 @@ versions: + "8.0.34": + folder: all "8.0.31": folder: all "8.0.30": From 3d75d65d19ee7e406f669a51ff40e8ffac208efe Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 9 Aug 2023 09:48:30 +0200 Subject: [PATCH 1116/4087] (#18697) qt 6.5.2 * qt 6.5.2 generated with: conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.5.2 * remove qt 6.4.1 --- recipes/qt/6.x.x/conandata.yml | 39 +-- recipes/qt/6.x.x/patches/3801bba82.patch | 27 -- recipes/qt/6.x.x/qtmodules6.5.2.conf | 331 +++++++++++++++++++++++ recipes/qt/config.yml | 4 +- 4 files changed, 347 insertions(+), 54 deletions(-) delete mode 100644 recipes/qt/6.x.x/patches/3801bba82.patch create mode 100644 recipes/qt/6.x.x/qtmodules6.5.2.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index fc7a158ca9517..ed9afdd80458b 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,14 @@ sources: + "6.5.2": + url: + - "https://download.qt.io/official_releases/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + - "https://download.qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + - "https://master.qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" + sha256: "cde57be663d0f875759797298bdc37a936d517c39f2013e4e6ece5e12edeed12" "6.5.1": url: - "https://download.qt.io/official_releases/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" @@ -45,14 +55,6 @@ sources: - "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.4.1": - url: - - "https://download.qt.io/archive/qt/6.4/6.4.1/single/qt-everywhere-src-6.4.1.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.4/6.4.1/single/qt-everywhere-src-6.4.1.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.4/6.4.1/single/qt-everywhere-src-6.4.1.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.4/6.4.1/single/qt-everywhere-src-6.4.1.tar.xz" - - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.4/6.4.1/single/qt-everywhere-src-6.4.1.tar.xz" - sha256: "e20b850b6134098a7f2e7701cfddfb213c6cf394b9e848e6fbc5b0e89dcfcc09" "6.3.2": url: - "https://download.qt.io/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" @@ -62,6 +64,10 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: + "6.5.2": + - "base_path": "qtwebengine" + "patch_description": "Workaround for too long .rps file name" + "patch_file": "patches/c72097e.diff" "6.5.1": - base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" @@ -88,23 +94,6 @@ patches: patch_description: "Fix PCRE2 detection" patch_type: "bugfix" patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/445885" - "6.4.1": - - base_path: "qtbase/cmake" - patch_description: "Fix pri helpers" - patch_file: "patches/qt6-pri-helpers-fix.diff" - - patch_file: "patches/c72097e.diff" - base_path: "qtwebengine" - patch_description: "Workaround for too long .rps file name" - - 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/3801bba82.patch" - base_path: "qtwebengine/src/3rdparty" - patch_description: "fix qtwebengine with MSVC2022" - patch_type: "portability" - patch_source: "https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/444132" "6.3.2": - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" diff --git a/recipes/qt/6.x.x/patches/3801bba82.patch b/recipes/qt/6.x.x/patches/3801bba82.patch deleted file mode 100644 index 79b347ce90a23..0000000000000 --- a/recipes/qt/6.x.x/patches/3801bba82.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3801bba822bf88c202a348d3e01dd493c0ca0551 Mon Sep 17 00:00:00 2001 -From: Nadim Asaduzzaman -Date: Fri, 18 Nov 2022 04:34:38 -0700 -Subject: [PATCH] skia: fix compilation with MSVC2022 - -compilation with MSVC2022 failed due to missing string definition within std namespace - -Fixes: QTBUG-108532 -Change-Id: I2119952d5809895e2511ce1c2c262022af3ba191 -Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/444132 -Reviewed-by: Allan Sandfeld Jensen ---- - chromium/third_party/skia/src/core/SkShaderCodeDictionary.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/skia/src/core/SkShaderCodeDictionary.h b/chromium/third_party/skia/src/core/SkShaderCodeDictionary.h -index 3a54bbe22e7..8612a469862 100644 ---- a/chromium/third_party/skia/src/core/SkShaderCodeDictionary.h -+++ b/chromium/third_party/skia/src/core/SkShaderCodeDictionary.h -@@ -9,6 +9,7 @@ - #define SkShaderCodeDictionary_DEFINED - - #include -+#include - #include - #include - #include "include/core/SkSpan.h" diff --git a/recipes/qt/6.x.x/qtmodules6.5.2.conf b/recipes/qt/6.x.x/qtmodules6.5.2.conf new file mode 100644 index 0000000000000..b8053b7bdfcc3 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.5.2.conf @@ -0,0 +1,331 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.5.2 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.5.2 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.5.2 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.5.2 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.5.2 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.5.2 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.5.2 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.5.2 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.5.2 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.5.2 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.5.2 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.5.2 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.5.2 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools + path = qt3d + url = ../qt3d.git + branch = 6.5.2 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.5.2 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.5.2 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.5.2 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.5.2 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.5.2 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.5.2 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.5.2 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.5.2 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.5.2 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.5.2 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.5.2 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.5.2 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.5.2 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.5.2 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.5.2 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.5.2 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.5.2 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.5.2 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.5.2 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.5.2 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.5.2 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.5.2 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.5.2 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.5.2 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.5.2 + status = addon +[submodule "qtgrpc"] + depends = qtbase + path = qtgrpc + url = ../qtgrpc.git + branch = 6.5.2 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.5.2 + status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 84b51c6e98dab..6d034f7e11227 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,12 +1,12 @@ versions: + "6.5.2": + folder: 6.x.x "6.5.1": folder: 6.x.x "6.5.0": folder: 6.x.x "6.4.2": folder: 6.x.x - "6.4.1": - folder: 6.x.x "6.3.2": folder: 6.x.x "5.15.10": From afaedf634cf90bd11e9a52c60e4198d88cbe6630 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 17:39:28 +0930 Subject: [PATCH 1117/4087] [aaf] Use util-linux-libuuid instead of deprecated libuuid (#18556) Use `util-linux-libuuid` instead of deprecated `libuuid`. --- recipes/aaf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aaf/all/conanfile.py b/recipes/aaf/all/conanfile.py index 080c644424a04..ee7906ff05936 100644 --- a/recipes/aaf/all/conanfile.py +++ b/recipes/aaf/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): self.requires("expat/2.5.0") self.requires("libjpeg/9e") if self.settings.os in ("FreeBSD", "Linux"): - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ab7f4e22e80b47c346c9f4b855dbc09de43889cc Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 17:51:32 +0930 Subject: [PATCH 1118/4087] [azure-storage-cpp] Use util-linux-libuuid instead of deprecated libuuid (#18557) Use util-linux-libuuid instead of deprecated libuuid (#18557), see issue #19084 --- recipes/azure-storage-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/azure-storage-cpp/all/conanfile.py b/recipes/azure-storage-cpp/all/conanfile.py index 692bc2ab703fe..92f05a255ac83 100644 --- a/recipes/azure-storage-cpp/all/conanfile.py +++ b/recipes/azure-storage-cpp/all/conanfile.py @@ -51,7 +51,7 @@ def requirements(self): if self.settings.os != "Windows": self.requires("boost/1.76.0") self.requires("libxml2/2.9.10") - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") if self.settings.os == "Macos": self.requires("libgettext/0.20.1") From 32e7f51732d62e0fee383f3417a20a64a065cf07 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 17:58:32 +0930 Subject: [PATCH 1119/4087] [cppcommon] Use util-linux-libuuid instead of deprecated libuuid (#18553) Use util-linux-libuuid instead of deprecated libuuid (#18553), see issue #19084 --- recipes/cppcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index c289f88e777b0..31e78b570dc50 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): else: self.requires("fmt/10.0.0") if self.settings.os == "Linux": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") def validate(self): if self.settings.compiler.cppstd: From e3c7fb70d7ebd2582bf1034dbf1e9c729dba376f Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 18:21:05 +0930 Subject: [PATCH 1120/4087] [czmq] Use util-linux-libuuid instead of deprecated libuuid (#18552) * [czmq] Use util-linux-libuuid instead of deprecated libuuid * czmq: add transitive headers for zeromq --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/czmq/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/czmq/all/conanfile.py b/recipes/czmq/all/conanfile.py index 88618f4797ed7..1ea4a28e1852a 100644 --- a/recipes/czmq/all/conanfile.py +++ b/recipes/czmq/all/conanfile.py @@ -62,7 +62,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zeromq/4.3.4") + self.requires("zeromq/4.3.4", transitive_headers=True) if self.options.get_safe("with_libmicrohttpd"): self.requires("libmicrohttpd/0.9.75") if self.options.get_safe("with_libcurl"): @@ -70,7 +70,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.get_safe("with_libuuid"): - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") if self.options.get_safe("with_systemd"): self.requires("libsystemd/252.4") From 4aa57795d3fde534ab1f3d45ebe36ecbbf0ea74a Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 18:39:23 +0930 Subject: [PATCH 1121/4087] [drogon] Use util-linux-libuuid instead of deprecated libuuid (#18555) --- recipes/drogon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 80dc0d0264500..0b84047ab4ed5 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -113,7 +113,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") self.requires("zlib/1.2.13") if self.settings.os == "Linux": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") if self.options.with_profile: self.requires("coz/cci.20210322") if self.options.with_boost: From 201d8e3ee0d1dca10c89450ae5a72da2dbbdace6 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 19:04:39 +0930 Subject: [PATCH 1122/4087] [fontconfig] Use util-linux-libuuid instead of deprecated libuuid (#18550) --- recipes/fontconfig/all/conanfile.py | 2 +- recipes/fontconfig/meson/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index c44276116659f..1a6adb5ab1e22 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): self.requires("freetype/2.13.0") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") def validate(self): if is_msvc(self): diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index dc1462585f4ec..54997946cfcf6 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): self.requires("freetype/2.13.0") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") def build_requirements(self): self.tool_requires("gperf/3.1") From f0239e2af1f3a809b2d4722a633e491009624d57 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 19:18:26 +0930 Subject: [PATCH 1123/4087] [stduuid] Use util-linux-libuuid instead of deprecated libuuid (#18549) --- recipes/stduuid/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/stduuid/all/conanfile.py b/recipes/stduuid/all/conanfile.py index f5148b86a236f..0ca3e6b2dcb08 100644 --- a/recipes/stduuid/all/conanfile.py +++ b/recipes/stduuid/all/conanfile.py @@ -46,7 +46,7 @@ def requirements(self): if not self.options.with_cxx20_span: self.requires("ms-gsl/3.1.0", transitive_headers=True) if self.settings.os == "Linux" and Version(self.version) <= "1.0": - self.requires("libuuid/1.0.3", transitive_headers=True, transitive_libs=True) + self.requires("util-linux-libuuid/2.39", transitive_headers=True, transitive_libs=True) def package_id(self): self.info.clear() From c189ba416c4a028329ccf26b07c3653a174ce62e Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Wed, 9 Aug 2023 19:30:13 +0930 Subject: [PATCH 1124/4087] [xapian-core] Use util-linux-libuuid instead of deprecated libuuid (#18551) --- recipes/xapian-core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xapian-core/all/conanfile.py b/recipes/xapian-core/all/conanfile.py index f2cc68f3f1bd4..f4278ec4f019a 100644 --- a/recipes/xapian-core/all/conanfile.py +++ b/recipes/xapian-core/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): def requirements(self): self.requires("zlib/1.2.13") if self.settings.os != "Windows": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") def validate(self): if self.options.shared and self.settings.os == "Windows": From 48de38e7fef219370afc1a712a8e74a618599401 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 19:17:09 +0900 Subject: [PATCH 1125/4087] libcurl: add version 8.2.1 (#18923) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libcurl/all/conandata.yml | 3 +++ recipes/libcurl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index fa48006c6d92f..e0c9dcbbb2484 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.2.1": + url: "https://curl.se/download/curl-8.2.1.tar.gz" + sha256: "f98bdb06c0f52bdd19e63c4a77b5eb19b243bcbbd0f5b002b9f3cba7295a3a42" "8.2.0": url: "https://curl.se/download/curl-8.2.0.tar.gz" sha256: "c67849462d171a3fee08b605cdd837d18ee22ecc3ee2c6a0393c9cec5d1a137e" diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 29dfe667599fa..91b7536f966b4 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.2.1": + folder: all "8.2.0": folder: all "8.1.2": From 78a9ff7d0feb0035cf9905337769ce6b2acea0d7 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 9 Aug 2023 12:39:47 +0200 Subject: [PATCH 1126/4087] Update list of references (prod-v2/ListPackages) (#19109) --- .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 fdcbe4b81dbb2..0b338c3849bdd 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -224,6 +224,7 @@ required_for_references: - dbus - debug_assert - decimal_for_cpp +- di - dice-template-library - dirent - discount @@ -668,6 +669,7 @@ required_for_references: - mcap - md4c - md4qt +- mdns - mdnsresponder - mdspan - meshoptimizer @@ -934,6 +936,7 @@ required_for_references: - sfml - shapelib - shield +- si - sigslot - simde - simdjson From 3fe4c9fa39d87e5ef9604938aa1590eeda49e1fe Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 19:42:47 +0900 Subject: [PATCH 1127/4087] leptonica: add version 1.83.1, update libjpeg-turbo (#19101) --- recipes/leptonica/all/conandata.yml | 3 +++ recipes/leptonica/all/conanfile.py | 4 ++-- recipes/leptonica/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/leptonica/all/conandata.yml b/recipes/leptonica/all/conandata.yml index 2902df5b0c405..49782e81d8fcd 100644 --- a/recipes/leptonica/all/conandata.yml +++ b/recipes/leptonica/all/conandata.yml @@ -1,4 +1,7 @@ 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" diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index 405081e59b384..d072baae99b61 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -72,7 +72,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.with_png: @@ -87,7 +87,7 @@ def requirements(self): def build_requirements(self): if self.options.with_webp or self.options.with_openjpeg: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/leptonica/config.yml b/recipes/leptonica/config.yml index 36297367918ec..7de53a77a3916 100644 --- a/recipes/leptonica/config.yml +++ b/recipes/leptonica/config.yml @@ -1,4 +1,6 @@ versions: + "1.83.1": + folder: all "1.83.0": folder: all "1.82.0": From e05300c58b46b5dd6b929315b9d371243e776789 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Wed, 9 Aug 2023 15:36:37 +0400 Subject: [PATCH 1128/4087] [onetbb] added hwloc / tbbbind support (#17939) --- recipes/onetbb/all/conandata.yml | 6 ++ recipes/onetbb/all/conanfile.py | 45 +++++++++ ...pkg-search-module-use-imported-target.diff | 97 +++++++++++++++++++ 3 files changed, 148 insertions(+) create mode 100644 recipes/onetbb/all/patches/pkg-search-module-use-imported-target.diff diff --git a/recipes/onetbb/all/conandata.yml b/recipes/onetbb/all/conandata.yml index 9ccf39c2f9dca..880145b4a46b0 100644 --- a/recipes/onetbb/all/conandata.yml +++ b/recipes/onetbb/all/conandata.yml @@ -35,3 +35,9 @@ patches: patch_type: "portability" patch_source: "https://github.com/oneapi-src/oneTBB/pull/716.diff" patch_file: "patches/fix-overeager-stripping-of-compile-flag.diff" + - patch_description: "Use pkg_search_module with IMPORTED_TARGET" + patch_type: "portability" + patch_source: + - "https://github.com/oneapi-src/oneTBB/pull/448.diff" + - "https://github.com/oneapi-src/oneTBB/commit/df3096075a00942acbdd3ce9347f5298cc153fd6.diff" + patch_file: "patches/pkg-search-module-use-imported-target.diff" diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 0996273678365..165436b84b383 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -1,7 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, load, rmdir +from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version import os import re @@ -26,6 +28,7 @@ class OneTBBConan(ConanFile): "fPIC": [True, False], "tbbmalloc": [True, False], "tbbproxy": [True, False], + "tbbbind": [True, False], "interprocedural_optimization": [True, False], } default_options = { @@ -33,15 +36,37 @@ class OneTBBConan(ConanFile): "fPIC": True, "tbbmalloc": True, "tbbproxy": True, + "tbbbind": True, "interprocedural_optimization": True, } + @property + def _tbbbind_hwloc_version(self): + # TBB expects different variables depending on the version + return "2_5" if Version(self.version) >= "2021.4.0" else "2_4" + + @property + def _tbbbind_supported(self): + return Version(self.version) >= "2021.1.1" and not self.settings.os == "Macos" + + @property + def _tbbbind_build(self): + return self.options.get_safe("tbbbind", False) and self._tbbbind_supported + + @property + def _tbbbind_explicit_hwloc(self): + # during cross-compilation, oneTBB does not search for HWLOC and we need to specify it explicitly + # but then oneTBB creates an imported SHARED target from provided paths, so we have to set shared=True + return self._tbbbind_build and cross_building(self) + def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if not self._tbbbind_supported: + del self.options.tbbbind if Version(self.version) < "2021.6.0" or self.settings.os == "Android": del self.options.interprocedural_optimization if Version(self.version) < "2021.2.0": @@ -53,8 +78,15 @@ def configure(self): self.options.rm_safe("fPIC") else: del self.options.tbbproxy + self.options.rm_safe("tbbbind") if not self.options.tbbmalloc: self.options.rm_safe("tbbproxy") + if self._tbbbind_explicit_hwloc: + self.options["hwloc"].shared = True + + def requirements(self): + if self._tbbbind_build: + self.requires("hwloc/2.9.1") def layout(self): cmake_layout(self, src_folder="src") @@ -76,6 +108,8 @@ def validate_build(self): "Please consider fixing at least the aforementioned issue in upstream." ) self.output.warning("oneTBB strongly discourages usage of static linkage") + if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.shared: + raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,6 +124,17 @@ def generate(self): toolchain.variables["TBB_ENABLE_IPO"] = self.options.interprocedural_optimization if Version(self.version) >= "2021.6.0" and self.options.get_safe("tbbproxy"): toolchain.variables["TBBMALLOC_PROXY_BUILD"] = self.options.tbbproxy + toolchain.variables["TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH"] = not self._tbbbind_build + if self._tbbbind_build: + deps = PkgConfigDeps(self) + deps.generate() + if self._tbbbind_explicit_hwloc: + hwloc_package_folder = self.dependencies["hwloc"].package_folder.replace("\\", "/") + hwloc_lib_name = "hwloc.lib" if self.settings.os == "Windows" else "libhwloc.so" + toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_LIBRARY_PATH"] = os.path.join(hwloc_package_folder, "lib", hwloc_lib_name) + toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_INCLUDE_PATH"] = os.path.join(hwloc_package_folder, "include") + if self.settings.os == "Windows": + toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_DLL_PATH"] = os.path.join(hwloc_package_folder, "bin", "hwloc.dll") toolchain.generate() def build(self): diff --git a/recipes/onetbb/all/patches/pkg-search-module-use-imported-target.diff b/recipes/onetbb/all/patches/pkg-search-module-use-imported-target.diff new file mode 100644 index 0000000000000..e1a3505708cba --- /dev/null +++ b/recipes/onetbb/all/patches/pkg-search-module-use-imported-target.diff @@ -0,0 +1,97 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 34a23d40..d569d57e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -100,6 +100,8 @@ option(TBB_NO_APPCONTAINER "Apply /APPCONTAINER:NO (for testing binaries for Win + option(TBB4PY_BUILD "Enable tbb4py build" OFF) + option(TBB_CPF "Enable preview features of the library" OFF) + option(TBB_FIND_PACKAGE "Enable search for external oneTBB using find_package instead of build from sources" OFF) ++option(TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH "Disable HWLOC automatic search by pkg-config tool" OFF) ++ + + if (NOT DEFINED BUILD_SHARED_LIBS) + set(BUILD_SHARED_LIBS ON) +@@ -194,7 +196,7 @@ else() + if (NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips") + add_subdirectory(src/tbbmalloc) + add_subdirectory(src/tbbmalloc_proxy) +- if (APPLE) ++ if (APPLE OR NOT BUILD_SHARED_LIBS) + message(STATUS "TBBBind build target is disabled due to unsupported environment") + else() + add_subdirectory(src/tbbbind) +diff --git a/cmake/hwloc_detection.cmake b/cmake/hwloc_detection.cmake +index f1740662..e1806a0f 100644 +--- a/cmake/hwloc_detection.cmake ++++ b/cmake/hwloc_detection.cmake +@@ -45,11 +45,15 @@ endforeach() + + unset(HWLOC_TARGET_NAME) + +-if (NOT HWLOC_TARGET_EXPLICITLY_DEFINED) ++if (NOT HWLOC_TARGET_EXPLICITLY_DEFINED AND ++ # No hwloc auto detection for cross compilation ++ NOT CMAKE_CROSSCOMPILING AND ++ NOT TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH ++) + find_package(PkgConfig QUIET) +- if (PKG_CONFIG_FOUND) +- pkg_search_module(HWLOC hwloc) +- if (HWLOC_FOUND) ++ if (PKG_CONFIG_FOUND AND NOT CMAKE_VERSION VERSION_LESS 3.6) ++ pkg_search_module(HWLOC hwloc IMPORTED_TARGET) ++ if (TARGET PkgConfig::HWLOC) + if (HWLOC_VERSION VERSION_LESS 2) + set(TBBBIND_LIBRARY_NAME tbbbind) + elseif(HWLOC_VERSION VERSION_LESS 2.4) +@@ -60,4 +64,3 @@ if (NOT HWLOC_TARGET_EXPLICITLY_DEFINED) + endif() + endif() + endif() +- +diff --git a/src/tbbbind/CMakeLists.txt b/src/tbbbind/CMakeLists.txt +index da9dabfe..1a4c6ca0 100644 +--- a/src/tbbbind/CMakeLists.txt ++++ b/src/tbbbind/CMakeLists.txt +@@ -18,12 +18,13 @@ endif() + set(CMAKE_SKIP_BUILD_RPATH TRUE) + + function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET) +- if (NOT TARGET ${REQUIRED_HWLOC_TARGET} AND NOT DEFINED HWLOC_LIBRARIES) ++ if (NOT TARGET ${REQUIRED_HWLOC_TARGET}) + message(STATUS "HWLOC target ${REQUIRED_HWLOC_TARGET} doesn't exist." + " The ${TBBBIND_NAME} target cannot be created") + return() + endif() + add_library(${TBBBIND_NAME} tbb_bind.cpp) ++ + add_library(TBB::${TBBBIND_NAME} ALIAS ${TBBBIND_NAME}) + + target_compile_definitions(${TBBBIND_NAME} +@@ -64,14 +65,12 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET) + PRIVATE + ${TBB_LIB_LINK_FLAGS} + ${TBB_COMMON_LINK_FLAGS} +- ${HWLOC_LIBRARY_DIRS} # pkg-config defined + ) + else() + target_link_libraries(${TBBBIND_NAME} + PRIVATE + ${TBB_LIB_LINK_FLAGS} + ${TBB_COMMON_LINK_FLAGS} +- ${HWLOC_LIBRARY_DIRS} # pkg-config defined + ) + endif() + +@@ -90,9 +89,9 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET) + endif() + endfunction() + +-if (NOT DEFINED HWLOC_TARGET_EXPLICITLY_DEFINED AND DEFINED HWLOC_LIBRARIES) ++if (NOT DEFINED HWLOC_TARGET_EXPLICITLY_DEFINED AND TARGET PkgConfig::HWLOC) + message(STATUS "The ${TBBBIND_LIBRARY_NAME} target will be configured using the HWLOC ${HWLOC_VERSION}") +- tbbbind_build(${TBBBIND_LIBRARY_NAME} ${HWLOC_LIBRARIES}) ++ tbbbind_build(${TBBBIND_LIBRARY_NAME} PkgConfig::HWLOC) + else() + tbbbind_build(tbbbind HWLOC::hwloc_1_11) + tbbbind_build(tbbbind_2_0 HWLOC::hwloc_2 ) From 00ebe43c1551751bffbc19a2463f4f1913e51821 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 9 Aug 2023 15:02:22 +0100 Subject: [PATCH 1129/4087] fontconfig: minimal change to ensure most recent rrev (#19114) --- recipes/fontconfig/meson/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index 54997946cfcf6..f037cbc5601ca 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -95,7 +95,7 @@ def package(self): copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) meson = Meson(self) meson.install() - rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + rm(self, "*.pdb", self.package_folder, recursive=True) rm(self, "*.conf", os.path.join(self.package_folder, "bin", "etc", "fonts", "conf.d")) rm(self, "*.def", os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) From 823512b432652a73a37b85cbd097adf25ce170a1 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 9 Aug 2023 23:33:48 +0900 Subject: [PATCH 1130/4087] uwebsockets: add version 20.45.0 (#19047) --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/all/conanfile.py | 2 +- recipes/uwebsockets/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index d0d6f814547b2..02893378e4419 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.45.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.45.0.tar.gz" + sha256: "db7599e9eac0c18b76740e7c391663652e0d7188b992a1a5a8dc28f347f483ec" "20.36.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.36.0.tar.gz" sha256: "cda266f7ed6abe67ef3cae6e223a580fe5091db9156c1f4123ee328ae21511c9" diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index a7539cf95209b..1ef8ede49e767 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): self.requires("libdeflate/1.14") if Version(self.version) > "20.17.0": - self.requires("usockets/0.8.5") + self.requires("usockets/0.8.6") elif Version(self.version) >= "20.15.0": self.requires("usockets/0.8.2") elif Version(self.version) >= "19.0.0": diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index be1e8815a9c32..06958fe4bce17 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.45.0": + folder: all "20.36.0": folder: all "20.17.0": From 542429318a13c65a309773ab92e7fc57d35d22e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 9 Aug 2023 17:59:17 +0300 Subject: [PATCH 1131/4087] cargs: migrate to Conan v2 (#18704) * cargs: migrate to Conan v2 * cargs: restore VirtualRunEnv in test_package * cargs: fix packaging of DLLs --- recipes/cargs/all/CMakeLists.txt | 7 -- recipes/cargs/all/conanfile.py | 94 +++++++++++-------- recipes/cargs/all/test_package/CMakeLists.txt | 9 +- recipes/cargs/all/test_package/conanfile.py | 22 +++-- .../cargs/all/test_v1_package/CMakeLists.txt | 8 ++ .../cargs/all/test_v1_package/conanfile.py | 16 ++++ 6 files changed, 100 insertions(+), 56 deletions(-) delete mode 100644 recipes/cargs/all/CMakeLists.txt create mode 100644 recipes/cargs/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cargs/all/test_v1_package/conanfile.py diff --git a/recipes/cargs/all/CMakeLists.txt b/recipes/cargs/all/CMakeLists.txt deleted file mode 100644 index 42d6e7408fb33..0000000000000 --- a/recipes/cargs/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.9.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/cargs/all/conanfile.py b/recipes/cargs/all/conanfile.py index 6aeeae1d3b488..6de6ac89acce0 100644 --- a/recipes/cargs/all/conanfile.py +++ b/recipes/cargs/all/conanfile.py @@ -1,34 +1,37 @@ import os -from conans import ConanFile, CMake, tools -required_conan_version = ">=1.33.0" +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 copy, get + +required_conan_version = ">=1.53.0" class CargsConan(ConanFile): name = "cargs" - description = "A lightweight getopt replacement that works on Linux, " \ - "Windows and macOS. Command line argument parser library" \ - " for C/C++. Can be used to parse argv and argc parameters." - url = "https://github.com/conan-io/conan-center-index" + description = ( + "A lightweight getopt replacement that works on Linux, " + "Windows and macOS. Command line argument parser library" + " for C/C++. Can be used to parse argv and argc parameters." + ) license = "MIT" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://likle.github.io/cargs/" topics = ("cargs", "cross-platform", "windows", "macos", "osx", "linux", "getopt", "getopt-long", "command-line-parser", "command-line", "arguments", "argument-parser") - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {'shared': False, 'fPIC': True} - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } def config_options(self): if self.settings.os == "Windows": @@ -36,33 +39,48 @@ 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 validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared and self.settings.os == "Windows" - cmake.configure(build_folder=self._build_subfolder) + cmake.configure() cmake.build(target="cargs") def package(self): - include_dir = os.path.join(self._source_subfolder, 'include') - lib_dir = os.path.join(self._build_subfolder, "lib") - bin_dir = os.path.join(self._build_subfolder, "bin") - - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) - self.copy("cargs.h", dst="include", src=include_dir) - self.copy(pattern="*.a", dst="lib", src=lib_dir, keep_path=False) - self.copy(pattern="*.lib", dst="lib", src=lib_dir, keep_path=False) - self.copy(pattern="*.dylib", dst="lib", src=lib_dir, keep_path=False) - self.copy(pattern="*.so*", dst="lib", src=lib_dir, keep_path=False, - symlinks=True) - self.copy(pattern="*.dll", dst="bin", src=bin_dir, keep_path=False) + copy(self, "LICENSE.md", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "cargs.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + for pattern in ["*.a", "*.so*", "*.dylib", "*.lib"]: + copy(self, pattern, + 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 = tools.collect_libs(self) + self.cpp_info.libs = ["cargs"] diff --git a/recipes/cargs/all/test_package/CMakeLists.txt b/recipes/cargs/all/test_package/CMakeLists.txt index f6bb6f79f518f..2d259c06a7d89 100644 --- a/recipes/cargs/all/test_package/CMakeLists.txt +++ b/recipes/cargs/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(cargs REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE cargs::cargs) set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 11) diff --git a/recipes/cargs/all/test_package/conanfile.py b/recipes/cargs/all/test_package/conanfile.py index 4903f1a7e8fa0..ef5d7042163ec 100644 --- a/recipes/cargs/all/test_package/conanfile.py +++ b/recipes/cargs/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cargs/all/test_v1_package/CMakeLists.txt b/recipes/cargs/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cargs/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/cargs/all/test_v1_package/conanfile.py b/recipes/cargs/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/cargs/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From bbe0e7dac732b9a4fc3a8a114a6bce07dbfe3693 Mon Sep 17 00:00:00 2001 From: Daniel <140124999+liquiddaniel@users.noreply.github.com> Date: Thu, 10 Aug 2023 02:08:33 +1000 Subject: [PATCH 1132/4087] (#18769) Add capnproto/0.10.4 --- recipes/capnproto/all/conandata.yml | 5 +++++ recipes/capnproto/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/capnproto/all/conandata.yml b/recipes/capnproto/all/conandata.yml index 8a6eeaab5a8d1..9becf4a51dc85 100644 --- a/recipes/capnproto/all/conandata.yml +++ b/recipes/capnproto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.4": + url: "https://github.com/capnproto/capnproto/archive/v0.10.4.tar.gz" + sha256: "c6f25940688c87ddb24e0c4e475c3213d9b044aad2ba305439cc8c224f559da6" "0.10.3": url: "https://github.com/capnproto/capnproto/archive/v0.10.3.tar.gz" sha256: "e07446f56043c983e009038e69d18ff86a2924909f0b518ccf47eccf5ac03919" @@ -18,6 +21,8 @@ sources: url: "https://github.com/capnproto/capnproto/archive/v0.7.0.tar.gz" sha256: 76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28 patches: + "0.10.4": + - patch_file: patches/0014-disable-tests-for-0.10.1.patch "0.10.3": - patch_file: patches/0014-disable-tests-for-0.10.1.patch "0.10.1": diff --git a/recipes/capnproto/config.yml b/recipes/capnproto/config.yml index 89d97bce3d850..884c84c332e24 100644 --- a/recipes/capnproto/config.yml +++ b/recipes/capnproto/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.4": + folder: all "0.10.3": folder: all "0.10.1": From 6a5d58eaca59aa19d457535890a2736c76c8b851 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 10 Aug 2023 01:32:13 +0900 Subject: [PATCH 1133/4087] (#19054) simdutf: add version 3.2.15, remove older versions, remove unused patch --- recipes/simdutf/all/conandata.yml | 24 ++++------- .../2.0.6-0002-add-workaround-gcc9.patch | 42 ------------------- recipes/simdutf/config.yml | 6 +-- 3 files changed, 9 insertions(+), 63 deletions(-) delete mode 100644 recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index b0cd66f4e34df..a0fbb53596197 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.15": + url: "https://github.com/simdutf/simdutf/archive/v3.2.15.tar.gz" + sha256: "c26d2e2e9124e1c20335d3880d74c8b0d74a5e247ba82ef82d15df4ccc413bcd" "3.2.14": url: "https://github.com/simdutf/simdutf/archive/v3.2.14.tar.gz" sha256: "6bd6cd41e0e588312c3ae24adb297454bd9bd9622ed7443f41300d7201f233a1" @@ -23,16 +26,14 @@ sources: "2.0.9": url: "https://github.com/simdutf/simdutf/archive/v2.0.9.tar.gz" sha256: "ff6a19de4c23671e7f1077cf6c0f60bc01197f29c6e4f56fa485c9cd732576ac" - "2.0.8": - url: "https://github.com/simdutf/simdutf/archive/v2.0.8.tar.gz" - sha256: "bd7aa550a8d9a1aba2c0b4eb2088f90c964375b13394f9076f7ba49f51dc40b5" - "2.0.6": - url: "https://github.com/simdutf/simdutf/archive/v2.0.6.tar.gz" - sha256: "40f1f9a4403f81c2c3d736ef9c73662835b2241871caa262fcd654e0898f9e4e" "1.0.1": url: "https://github.com/simdutf/simdutf/archive/v1.0.1.tar.gz" sha256: "e7832ba58fb95fe00de76dbbb2f17d844a7ad02a6f5e3e9e5ce9520e820049a0" patches: + "3.2.15": + - patch_file: "patches/3.2.14-0001-fix-cmake.patch" + patch_description: "remove static build, enable rpath on macOS" + patch_type: "conan" "3.2.14": - patch_file: "patches/3.2.14-0001-fix-cmake.patch" patch_description: "remove static build, enable rpath on macOS" @@ -65,17 +66,6 @@ patches: - patch_file: "patches/2.0.3-0001-fix-cmake.patch" patch_description: "remove static build, enable rpath on macOS" patch_type: "conan" - "2.0.8": - - patch_file: "patches/2.0.3-0001-fix-cmake.patch" - patch_description: "remove static build, enable rpath on macOS" - patch_type: "conan" - "2.0.6": - - patch_file: "patches/2.0.3-0001-fix-cmake.patch" - patch_description: "remove static build, enable rpath on macOS" - patch_type: "conan" - - patch_file: "patches/2.0.6-0002-add-workaround-gcc9.patch" - patch_description: "apply gcc8 workaround to gcc9" - patch_type: "portability" "1.0.1": - patch_file: "patches/1.0.1-0001-fix-cmake.patch" patch_description: "disable test and benchmark build and enable rpath on macOS" diff --git a/recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch b/recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch deleted file mode 100644 index 957a9759ee2fa..0000000000000 --- a/recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/src/icelake/icelake_utf8_common.inl.cpp b/src/icelake/icelake_utf8_common.inl.cpp -index 962700b..a192a18 100644 ---- a/src/icelake/icelake_utf8_common.inl.cpp -+++ b/src/icelake/icelake_utf8_common.inl.cpp -@@ -448,12 +448,12 @@ __m512i prev(__m512i input, __m512i previous) { - static_assert(N<=32, "N must be no larger than 32"); - const __m512i movemask = _mm512_setr_epi32(28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11); - const __m512i rotated = _mm512_permutex2var_epi32(input, movemask, previous); --#if SIMDUTF_GCC8 -- constexpr int shift = 16-N; // workaround for GCC8 -+#if SIMDUTF_GCC8 || SIMDUTF_GCC9 -+ constexpr int shift = 16-N; // workaround for GCC8,9 - return _mm512_alignr_epi8(input, rotated, shift); - #else - return _mm512_alignr_epi8(input, rotated, 16-N); --#endif // SIMDUTF_GCC8 -+#endif // SIMDUTF_GCC8 || SIMDUTF_GCC9 - } - - template -diff --git a/src/simdutf/icelake/intrinsics.h b/src/simdutf/icelake/intrinsics.h -index c71a085..edcd289 100644 ---- a/src/simdutf/icelake/intrinsics.h -+++ b/src/simdutf/icelake/intrinsics.h -@@ -64,7 +64,9 @@ - #if defined(__GNUC__) && !defined(__clang__) - #if __GNUC__ == 8 - #define SIMDUTF_GCC8 1 --#endif // __GNUC__ == 8 -+#elif __GNUC__ == 9 -+#define SIMDUTF_GCC9 1 -+#endif // __GNUC__ == 8 || __GNUC__ == 9 - #endif // defined(__GNUC__) && !defined(__clang__) - - #if SIMDUTF_GCC8 -@@ -83,4 +85,4 @@ inline __m512i _mm512_set_epi8(uint8_t a0, uint8_t a1, uint8_t a2, uint8_t a3, u - } - #endif // SIMDUTF_GCC8 - --#endif // SIMDUTF_HASWELL_INTRINSICS_H -\ No newline at end of file -+#endif // SIMDUTF_HASWELL_INTRINSICS_H diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index ec7185837f86c..997781983cc10 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.15": + folder: all "3.2.14": folder: all "3.2.2": @@ -15,9 +17,5 @@ versions: folder: all "2.0.9": folder: all - "2.0.8": - folder: all - "2.0.6": - folder: all "1.0.1": folder: all From ece3a9e3e94f7de261a685dca49d553298e3ad82 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Wed, 9 Aug 2023 19:25:12 +0200 Subject: [PATCH 1134/4087] (#19092) [sentry-breakpad] Replace _patch_sources by patches * [sentry-breakpad] Convert to patches * Remove second patch * Fix breakpad patch * Remove base_path in other versions * Fix patches for all versions --- recipes/sentry-breakpad/all/conandata.yml | 46 ++++ recipes/sentry-breakpad/all/conanfile.py | 83 +------ .../0.4.18-0001-remove-third-pary-lss.patch | 227 ++++++++++++++++++ .../0.4.18-0002-install-breakpad-header.patch | 54 +++++ .../0.5.4-0001-remove-third-pary-lss.patch | 227 ++++++++++++++++++ .../0.5.4-0002-install-breakpad-header.patch | 54 +++++ .../0.6.x-0001-remove-third-pary-lss.patch | 227 ++++++++++++++++++ .../0.6.x-0002-install-breakpad-header.patch | 54 +++++ 8 files changed, 893 insertions(+), 79 deletions(-) create mode 100644 recipes/sentry-breakpad/all/patches/0.4.18-0001-remove-third-pary-lss.patch create mode 100644 recipes/sentry-breakpad/all/patches/0.4.18-0002-install-breakpad-header.patch create mode 100644 recipes/sentry-breakpad/all/patches/0.5.4-0001-remove-third-pary-lss.patch create mode 100644 recipes/sentry-breakpad/all/patches/0.5.4-0002-install-breakpad-header.patch create mode 100644 recipes/sentry-breakpad/all/patches/0.6.x-0001-remove-third-pary-lss.patch create mode 100644 recipes/sentry-breakpad/all/patches/0.6.x-0002-install-breakpad-header.patch diff --git a/recipes/sentry-breakpad/all/conandata.yml b/recipes/sentry-breakpad/all/conandata.yml index ced5e36dba275..2687fcfc48fd4 100644 --- a/recipes/sentry-breakpad/all/conandata.yml +++ b/recipes/sentry-breakpad/all/conandata.yml @@ -14,3 +14,49 @@ sources: "0.4.18": url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" +patches: + "0.6.5": + - patch_file: "patches/0.6.x-0001-remove-third-pary-lss.patch" + patch_description: "Remove third party lss from include" + patch_type: "conan" + patch_source: "https://github.com/getsentry/breakpad/pull/37" + - patch_file: "patches/0.6.x-0002-install-breakpad-header.patch" + patch_description: "Install breakpad header" + patch_type: "conan" + patch_source: "https://github.com/getsentry/sentry-native/pull/872" + "0.6.4": + - patch_file: "patches/0.6.x-0001-remove-third-pary-lss.patch" + patch_description: "Remove third party lss from include" + patch_type: "conan" + patch_source: "https://github.com/getsentry/breakpad/pull/37" + - patch_file: "patches/0.6.x-0002-install-breakpad-header.patch" + patch_description: "Install breakpad header" + patch_type: "conan" + patch_source: "https://github.com/getsentry/sentry-native/pull/872" + "0.6.3": + - patch_file: "patches/0.6.x-0001-remove-third-pary-lss.patch" + patch_description: "Remove third party lss from include" + patch_type: "conan" + patch_source: "https://github.com/getsentry/breakpad/pull/37" + - patch_file: "patches/0.6.x-0002-install-breakpad-header.patch" + patch_description: "Install breakpad header" + patch_type: "conan" + patch_source: "https://github.com/getsentry/sentry-native/pull/872" + "0.5.4": + - patch_file: "patches/0.5.4-0001-remove-third-pary-lss.patch" + patch_description: "Remove third party lss from include" + patch_type: "conan" + patch_source: "https://github.com/getsentry/breakpad/pull/37" + - patch_file: "patches/0.5.4-0002-install-breakpad-header.patch" + patch_description: "Install breakpad header" + patch_type: "conan" + patch_source: "https://github.com/getsentry/sentry-native/pull/872" + "0.4.18": + - patch_file: "patches/0.4.18-0001-remove-third-pary-lss.patch" + patch_description: "Remove third party lss from include" + patch_type: "conan" + patch_source: "https://github.com/getsentry/breakpad/pull/37" + - patch_file: "patches/0.4.18-0002-install-breakpad-header.patch" + patch_description: "Install breakpad header" + patch_type: "conan" + patch_source: "https://github.com/getsentry/sentry-native/pull/872" diff --git a/recipes/sentry-breakpad/all/conanfile.py b/recipes/sentry-breakpad/all/conanfile.py index a7d5646c8989e..8e95117df3a32 100644 --- a/recipes/sentry-breakpad/all/conanfile.py +++ b/recipes/sentry-breakpad/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, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.scm import Version import os @@ -43,6 +43,7 @@ def _compilers_minimum_version(self): 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": @@ -54,7 +55,7 @@ def layout(self): def requirements(self): if self.settings.os in ("FreeBSD", "Linux"): # linux-syscal-support is a public dependency - # see https://github.com/conan-io/conan-center-index/pull/16752#issuecomment-1487241864 + # see https://github.com/conan-io/conan-center-index/pull/16752#issuecomment-1487241864 self.requires("linux-syscall-support/cci.20200813", transitive_headers=True) def validate(self): @@ -75,84 +76,8 @@ def generate(self): tc.variables["LINUX"] = True tc.generate() - def _patch_sources(self): - # FIXME: convert to patches - import textwrap - - files_to_patch = [ - # "src/tools/linux/md2core/minidump-2-core.cc", - # "src/processor/testdata/linux_test_app.cc", - "src/common/memory_allocator.h", - "src/common/linux/memory_mapped_file.cc", - "src/common/linux/file_id.cc", - "src/common/linux/safe_readlink.cc", - "src/client/minidump_file_writer.cc", - "src/client/linux/handler/exception_handler.cc", - "src/client/linux/handler/exception_handler_unittest.cc", - "src/client/linux/log/log.cc", - "src/client/linux/crash_generation/crash_generation_client.cc", - "src/client/linux/minidump_writer/linux_dumper.cc", - "src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc", - "src/client/linux/minidump_writer/proc_cpuinfo_reader.h", - "src/client/linux/minidump_writer/minidump_writer.cc", - "src/client/linux/minidump_writer/linux_ptrace_dumper.cc", - "src/client/linux/minidump_writer/cpu_set.h", - "src/client/linux/minidump_writer/directory_reader.h", - "src/client/linux/minidump_writer/line_reader.h" - ] - - for file in files_to_patch: - replace_in_file(self, - os.path.join(self.source_folder, "external", "breakpad", file), - "#include \"third_party/lss/linux_syscall_support.h\"", - "#include " - ) - - save(self, os.path.join(self.source_folder, "external", "CMakeLists.txt"), - textwrap.dedent("""\ - target_compile_features(breakpad_client PUBLIC cxx_std_11) - if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - find_path(LINUX_SYSCALL_INCLUDE_DIR NAMES linux_syscall_support.h) - target_include_directories(breakpad_client PRIVATE ${LINUX_SYSCALL_INCLUDE_DIR}) - endif() - install(TARGETS breakpad_client - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin - ) - file(GLOB COMMON_FILES breakpad/src/common/*.h) - install(FILES ${COMMON_FILES} - DESTINATION include/breakpad/common - ) - set(PLATFORM_FOLDER) - if(IOS) - set(PLATFORM_FOLDER ios) - elseif(APPLE) - set(PLATFORM_FOLDER mac) - elseif(UNIX) - set(PLATFORM_FOLDER linux) - endif() - if(WIN32) - set(PLATFORM_FOLDER windows) - endif() - if(NOT PLATFORM_FOLDER) - message(FATAL_ERROR "Unknown os -> don't know how to install headers") - endif() - file(GLOB COMMON_PLATFORM_HEADERS breakpad/src/common/${PLATFORM_FOLDER}/*.h) - install(FILES ${COMMON_PLATFORM_HEADERS} - DESTINATION include/breakpad/common/${PLATFORM_FOLDER}) - install(DIRECTORY breakpad/src/client/${PLATFORM_FOLDER} - DESTINATION include/breakpad/client - FILES_MATCHING PATTERN *.h - ) - install(DIRECTORY breakpad/src/google_breakpad/common - DESTINATION include/breakpad/google_breakpad - FILES_MATCHING PATTERN *.h - ) - """), append=True) - def build(self): - self._patch_sources() + apply_conandata_patches(self) cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() diff --git a/recipes/sentry-breakpad/all/patches/0.4.18-0001-remove-third-pary-lss.patch b/recipes/sentry-breakpad/all/patches/0.4.18-0001-remove-third-pary-lss.patch new file mode 100644 index 0000000000000..a573e142644bb --- /dev/null +++ b/recipes/sentry-breakpad/all/patches/0.4.18-0001-remove-third-pary-lss.patch @@ -0,0 +1,227 @@ +commit a9d52d999e0450a2f6b7ca24b245e718ab537cec +Author: Martin Delille +Date: Tue Aug 8 11:59:04 2023 +0200 + + Remove third_party/lss + +diff --git a/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc b/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc +index d8bfbbad..b7b43cff 100644 +--- a/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc ++++ b/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc +@@ -37,7 +37,7 @@ + + #include "common/linux/eintr_wrapper.h" + #include "common/linux/ignore_ret.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/handler/exception_handler.cc b/external/breakpad/src/client/linux/handler/exception_handler.cc +index 499be0a9..d6c3ba71 100644 +--- a/external/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/external/breakpad/src/client/linux/handler/exception_handler.cc +@@ -95,7 +95,7 @@ + #include "client/linux/minidump_writer/linux_dumper.h" + #include "client/linux/minidump_writer/minidump_writer.h" + #include "common/linux/eintr_wrapper.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + #if defined(__ANDROID__) + #include "linux/sched.h" +diff --git a/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc b/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc +index 35dcbfd4..21647998 100644 +--- a/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc ++++ b/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc +@@ -50,7 +50,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/tests/auto_tempdir.h" + #include "common/using_std_string.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #include "google_breakpad/processor/minidump.h" + + using namespace google_breakpad; +diff --git a/external/breakpad/src/client/linux/log/log.cc b/external/breakpad/src/client/linux/log/log.cc +index 31879409..072377ed 100644 +--- a/external/breakpad/src/client/linux/log/log.cc ++++ b/external/breakpad/src/client/linux/log/log.cc +@@ -33,7 +33,7 @@ + #include + #include + #else +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + namespace logger { +diff --git a/external/breakpad/src/client/linux/minidump_writer/cpu_set.h b/external/breakpad/src/client/linux/minidump_writer/cpu_set.h +index 1cca9aa5..50f83d8c 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/cpu_set.h ++++ b/external/breakpad/src/client/linux/minidump_writer/cpu_set.h +@@ -35,7 +35,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/directory_reader.h b/external/breakpad/src/client/linux/minidump_writer/directory_reader.h +index a4bde180..e1c69a23 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/directory_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/directory_reader.h +@@ -38,7 +38,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/line_reader.h b/external/breakpad/src/client/linux/minidump_writer/line_reader.h +index 9fc4b7cc..cf75dfe0 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/line_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/line_reader.h +@@ -35,7 +35,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +index 44430c4e..a702ee68 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +@@ -51,7 +51,7 @@ + #include "common/linux/memory_mapped_file.h" + #include "common/linux/safe_readlink.h" + #include "google_breakpad/common/minidump_exception_linux.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + using google_breakpad::elf::FileID; + +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +index 331f4bb3..c4c5bd42 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +@@ -39,7 +39,7 @@ + #include + + #include "common/scoped_ptr.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + #if defined(__ARM_EABI__) + #define TID_PTR_REGISTER "r3" +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +index e3ddb81a..6712af94 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +@@ -57,7 +57,7 @@ + #include "client/linux/minidump_writer/directory_reader.h" + #include "client/linux/minidump_writer/line_reader.h" + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + // Suspends a thread by attaching to it. + static bool SuspendThread(pid_t pid) { +diff --git a/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +index 7ce9ac57..4d9f1e21 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +@@ -79,7 +79,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/minidump_type_helper.h" + #include "google_breakpad/common/minidump_format.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h b/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h +index d9461bf3..a915a88b 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h +@@ -36,7 +36,7 @@ + + #include "client/linux/minidump_writer/line_reader.h" + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/minidump_file_writer.cc b/external/breakpad/src/client/minidump_file_writer.cc +index 5c3c5cbb..6b0e2dd0 100644 +--- a/external/breakpad/src/client/minidump_file_writer.cc ++++ b/external/breakpad/src/client/minidump_file_writer.cc +@@ -41,7 +41,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/string_conversion.h" + #if defined(__linux__) && __linux__ +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + #if defined(__ANDROID__) +diff --git a/external/breakpad/src/common/linux/file_id.cc b/external/breakpad/src/common/linux/file_id.cc +index b483eb5c..eff1e8ce 100644 +--- a/external/breakpad/src/common/linux/file_id.cc ++++ b/external/breakpad/src/common/linux/file_id.cc +@@ -46,7 +46,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/linux/memory_mapped_file.h" + #include "common/using_std_string.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + namespace elf { +diff --git a/external/breakpad/src/common/linux/memory_mapped_file.cc b/external/breakpad/src/common/linux/memory_mapped_file.cc +index 99362945..efaae8ec 100644 +--- a/external/breakpad/src/common/linux/memory_mapped_file.cc ++++ b/external/breakpad/src/common/linux/memory_mapped_file.cc +@@ -40,7 +40,7 @@ + #include + + #include "common/memory_range.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/common/linux/safe_readlink.cc b/external/breakpad/src/common/linux/safe_readlink.cc +index 870c28af..37872b5b 100644 +--- a/external/breakpad/src/common/linux/safe_readlink.cc ++++ b/external/breakpad/src/common/linux/safe_readlink.cc +@@ -32,7 +32,7 @@ + + #include + +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/common/memory_allocator.h b/external/breakpad/src/common/memory_allocator.h +index d28fbfc3..fbf8c977 100644 +--- a/external/breakpad/src/common/memory_allocator.h ++++ b/external/breakpad/src/common/memory_allocator.h +@@ -47,7 +47,7 @@ + #define sys_munmap munmap + #define MAP_ANONYMOUS MAP_ANON + #else +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + namespace google_breakpad { diff --git a/recipes/sentry-breakpad/all/patches/0.4.18-0002-install-breakpad-header.patch b/recipes/sentry-breakpad/all/patches/0.4.18-0002-install-breakpad-header.patch new file mode 100644 index 0000000000000..2956814e8f096 --- /dev/null +++ b/recipes/sentry-breakpad/all/patches/0.4.18-0002-install-breakpad-header.patch @@ -0,0 +1,54 @@ +commit 6f1543b58c2ae4dbe129aec0123e45461da24c3c +Author: Martin Delille +Date: Tue Aug 8 12:45:23 2023 +0200 + + Update external/CMakeLists.txt to install breakpad headers + +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index ca807f7..41d7cd4 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -177,3 +177,43 @@ target_include_directories(breakpad_client + PUBLIC + "$" + ) ++ ++target_compile_features(breakpad_client PUBLIC cxx_std_11) ++if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ find_path(LINUX_SYSCALL_INCLUDE_DIR NAMES linux_syscall_support.h) ++ target_include_directories(breakpad_client PRIVATE ${LINUX_SYSCALL_INCLUDE_DIR}) ++endif() ++install(TARGETS breakpad_client ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin ++) ++file(GLOB COMMON_FILES breakpad/src/common/*.h) ++install(FILES ${COMMON_FILES} ++ DESTINATION include/breakpad/common ++) ++set(PLATFORM_FOLDER) ++if(IOS) ++ set(PLATFORM_FOLDER ios) ++elseif(APPLE) ++ set(PLATFORM_FOLDER mac) ++elseif(UNIX) ++ set(PLATFORM_FOLDER linux) ++endif() ++if(WIN32) ++ set(PLATFORM_FOLDER windows) ++endif() ++if(NOT PLATFORM_FOLDER) ++ message(FATAL_ERROR "Unknown os -> don't know how to install headers") ++endif() ++file(GLOB COMMON_PLATFORM_HEADERS breakpad/src/common/${PLATFORM_FOLDER}/*.h) ++install(FILES ${COMMON_PLATFORM_HEADERS} ++ DESTINATION include/breakpad/common/${PLATFORM_FOLDER}) ++install(DIRECTORY breakpad/src/client/${PLATFORM_FOLDER} ++ DESTINATION include/breakpad/client ++ FILES_MATCHING PATTERN *.h ++) ++install(DIRECTORY breakpad/src/google_breakpad/common ++ DESTINATION include/breakpad/google_breakpad ++ FILES_MATCHING PATTERN *.h ++) diff --git a/recipes/sentry-breakpad/all/patches/0.5.4-0001-remove-third-pary-lss.patch b/recipes/sentry-breakpad/all/patches/0.5.4-0001-remove-third-pary-lss.patch new file mode 100644 index 0000000000000..f97256dfd7ea1 --- /dev/null +++ b/recipes/sentry-breakpad/all/patches/0.5.4-0001-remove-third-pary-lss.patch @@ -0,0 +1,227 @@ +commit d4424474455a06293d64571b58bef889a8956c34 +Author: Martin Delille +Date: Tue Aug 8 11:59:04 2023 +0200 + + Remove third_party/lss + +diff --git a/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc b/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc +index 5a8c6b4c..ea502283 100644 +--- a/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc ++++ b/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc +@@ -36,7 +36,7 @@ + + #include "common/linux/eintr_wrapper.h" + #include "common/linux/ignore_ret.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/handler/exception_handler.cc b/external/breakpad/src/client/linux/handler/exception_handler.cc +index bbdb798b..cc8e451b 100644 +--- a/external/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/external/breakpad/src/client/linux/handler/exception_handler.cc +@@ -94,7 +94,7 @@ + #include "client/linux/minidump_writer/linux_dumper.h" + #include "client/linux/minidump_writer/minidump_writer.h" + #include "common/linux/eintr_wrapper.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + #if defined(__ANDROID__) + #include "linux/sched.h" +diff --git a/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc b/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc +index 691ea133..93ae3cae 100644 +--- a/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc ++++ b/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc +@@ -49,7 +49,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/tests/auto_tempdir.h" + #include "common/using_std_string.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #include "google_breakpad/processor/minidump.h" + + using namespace google_breakpad; +diff --git a/external/breakpad/src/client/linux/log/log.cc b/external/breakpad/src/client/linux/log/log.cc +index c45de64b..69b8832a 100644 +--- a/external/breakpad/src/client/linux/log/log.cc ++++ b/external/breakpad/src/client/linux/log/log.cc +@@ -32,7 +32,7 @@ + #include + #include + #else +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + namespace logger { +diff --git a/external/breakpad/src/client/linux/minidump_writer/cpu_set.h b/external/breakpad/src/client/linux/minidump_writer/cpu_set.h +index 70c1c758..92f7cdec 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/cpu_set.h ++++ b/external/breakpad/src/client/linux/minidump_writer/cpu_set.h +@@ -34,7 +34,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/directory_reader.h b/external/breakpad/src/client/linux/minidump_writer/directory_reader.h +index 62bba877..568278ff 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/directory_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/directory_reader.h +@@ -37,7 +37,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/line_reader.h b/external/breakpad/src/client/linux/minidump_writer/line_reader.h +index d54a67d0..9ba8cd4c 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/line_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/line_reader.h +@@ -34,7 +34,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +index 01b06fac..d967034d 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +@@ -50,7 +50,7 @@ + #include "common/linux/memory_mapped_file.h" + #include "common/linux/safe_readlink.h" + #include "google_breakpad/common/minidump_exception_linux.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + using google_breakpad::elf::FileID; + +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +index bc1e4fbe..01fa6bd4 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +@@ -38,7 +38,7 @@ + #include + + #include "common/scoped_ptr.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + #if defined(__ARM_EABI__) + #define TID_PTR_REGISTER "r3" +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +index 718fab7c..51be53ea 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +@@ -56,7 +56,7 @@ + #include "client/linux/minidump_writer/directory_reader.h" + #include "client/linux/minidump_writer/line_reader.h" + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + // Suspends a thread by attaching to it. + static bool SuspendThread(pid_t pid) { +diff --git a/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +index a5f9b841..6b9241a8 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +@@ -78,7 +78,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/minidump_type_helper.h" + #include "google_breakpad/common/minidump_format.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h b/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h +index 5ae16dfb..dcbb2e63 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h +@@ -35,7 +35,7 @@ + + #include "client/linux/minidump_writer/line_reader.h" + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/minidump_file_writer.cc b/external/breakpad/src/client/minidump_file_writer.cc +index d5193e2c..e9d0b3bd 100644 +--- a/external/breakpad/src/client/minidump_file_writer.cc ++++ b/external/breakpad/src/client/minidump_file_writer.cc +@@ -40,7 +40,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/string_conversion.h" + #if defined(__linux__) && __linux__ +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + #if defined(__ANDROID__) +diff --git a/external/breakpad/src/common/linux/file_id.cc b/external/breakpad/src/common/linux/file_id.cc +index 0bd2a759..a330f9c1 100644 +--- a/external/breakpad/src/common/linux/file_id.cc ++++ b/external/breakpad/src/common/linux/file_id.cc +@@ -45,7 +45,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/linux/memory_mapped_file.h" + #include "common/using_std_string.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + namespace elf { +diff --git a/external/breakpad/src/common/linux/memory_mapped_file.cc b/external/breakpad/src/common/linux/memory_mapped_file.cc +index 7e444607..f193163b 100644 +--- a/external/breakpad/src/common/linux/memory_mapped_file.cc ++++ b/external/breakpad/src/common/linux/memory_mapped_file.cc +@@ -39,7 +39,7 @@ + #include + + #include "common/memory_range.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/common/linux/safe_readlink.cc b/external/breakpad/src/common/linux/safe_readlink.cc +index 97ea62c0..27f39326 100644 +--- a/external/breakpad/src/common/linux/safe_readlink.cc ++++ b/external/breakpad/src/common/linux/safe_readlink.cc +@@ -31,7 +31,7 @@ + + #include + +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/common/memory_allocator.h b/external/breakpad/src/common/memory_allocator.h +index 1c99913a..5fa3c337 100644 +--- a/external/breakpad/src/common/memory_allocator.h ++++ b/external/breakpad/src/common/memory_allocator.h +@@ -46,7 +46,7 @@ + #define sys_munmap munmap + #define MAP_ANONYMOUS MAP_ANON + #else +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + namespace google_breakpad { diff --git a/recipes/sentry-breakpad/all/patches/0.5.4-0002-install-breakpad-header.patch b/recipes/sentry-breakpad/all/patches/0.5.4-0002-install-breakpad-header.patch new file mode 100644 index 0000000000000..4af6201d0565f --- /dev/null +++ b/recipes/sentry-breakpad/all/patches/0.5.4-0002-install-breakpad-header.patch @@ -0,0 +1,54 @@ +commit 32bf5d991a43151e149a88ee77d600170713ad69 +Author: Martin Delille +Date: Tue Aug 8 12:45:23 2023 +0200 + + Update external/CMakeLists.txt to install breakpad headers + +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index ca807f7..41d7cd4 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -177,3 +177,43 @@ target_include_directories(breakpad_client + PUBLIC + "$" + ) ++ ++target_compile_features(breakpad_client PUBLIC cxx_std_11) ++if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ find_path(LINUX_SYSCALL_INCLUDE_DIR NAMES linux_syscall_support.h) ++ target_include_directories(breakpad_client PRIVATE ${LINUX_SYSCALL_INCLUDE_DIR}) ++endif() ++install(TARGETS breakpad_client ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin ++) ++file(GLOB COMMON_FILES breakpad/src/common/*.h) ++install(FILES ${COMMON_FILES} ++ DESTINATION include/breakpad/common ++) ++set(PLATFORM_FOLDER) ++if(IOS) ++ set(PLATFORM_FOLDER ios) ++elseif(APPLE) ++ set(PLATFORM_FOLDER mac) ++elseif(UNIX) ++ set(PLATFORM_FOLDER linux) ++endif() ++if(WIN32) ++ set(PLATFORM_FOLDER windows) ++endif() ++if(NOT PLATFORM_FOLDER) ++ message(FATAL_ERROR "Unknown os -> don't know how to install headers") ++endif() ++file(GLOB COMMON_PLATFORM_HEADERS breakpad/src/common/${PLATFORM_FOLDER}/*.h) ++install(FILES ${COMMON_PLATFORM_HEADERS} ++ DESTINATION include/breakpad/common/${PLATFORM_FOLDER}) ++install(DIRECTORY breakpad/src/client/${PLATFORM_FOLDER} ++ DESTINATION include/breakpad/client ++ FILES_MATCHING PATTERN *.h ++) ++install(DIRECTORY breakpad/src/google_breakpad/common ++ DESTINATION include/breakpad/google_breakpad ++ FILES_MATCHING PATTERN *.h ++) diff --git a/recipes/sentry-breakpad/all/patches/0.6.x-0001-remove-third-pary-lss.patch b/recipes/sentry-breakpad/all/patches/0.6.x-0001-remove-third-pary-lss.patch new file mode 100644 index 0000000000000..5134a67b8fcd0 --- /dev/null +++ b/recipes/sentry-breakpad/all/patches/0.6.x-0001-remove-third-pary-lss.patch @@ -0,0 +1,227 @@ +commit 2f63423367c2624a26e60b3867dd2462530d9334 +Author: Martin Delille +Date: Tue Aug 8 11:59:04 2023 +0200 + + Remove third_party/lss + +diff --git a/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc b/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc +index f06273d5..45599971 100644 +--- a/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc ++++ b/external/breakpad/src/client/linux/crash_generation/crash_generation_client.cc +@@ -40,7 +40,7 @@ + + #include "common/linux/eintr_wrapper.h" + #include "common/linux/ignore_ret.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/handler/exception_handler.cc b/external/breakpad/src/client/linux/handler/exception_handler.cc +index 9e23c119..4edd781c 100644 +--- a/external/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/external/breakpad/src/client/linux/handler/exception_handler.cc +@@ -98,7 +98,7 @@ + #include "client/linux/minidump_writer/linux_dumper.h" + #include "client/linux/minidump_writer/minidump_writer.h" + #include "common/linux/eintr_wrapper.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + #if defined(__ANDROID__) + #include "linux/sched.h" +diff --git a/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc b/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc +index b2d8d468..a9199e2d 100644 +--- a/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc ++++ b/external/breakpad/src/client/linux/handler/exception_handler_unittest.cc +@@ -53,7 +53,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/tests/auto_tempdir.h" + #include "common/using_std_string.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #include "google_breakpad/processor/minidump.h" + + using namespace google_breakpad; +diff --git a/external/breakpad/src/client/linux/log/log.cc b/external/breakpad/src/client/linux/log/log.cc +index 2a48d7fe..0e3329a4 100644 +--- a/external/breakpad/src/client/linux/log/log.cc ++++ b/external/breakpad/src/client/linux/log/log.cc +@@ -36,7 +36,7 @@ + #include + #include + #else +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + namespace logger { +diff --git a/external/breakpad/src/client/linux/minidump_writer/cpu_set.h b/external/breakpad/src/client/linux/minidump_writer/cpu_set.h +index 70c1c758..92f7cdec 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/cpu_set.h ++++ b/external/breakpad/src/client/linux/minidump_writer/cpu_set.h +@@ -34,7 +34,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/directory_reader.h b/external/breakpad/src/client/linux/minidump_writer/directory_reader.h +index 62bba877..568278ff 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/directory_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/directory_reader.h +@@ -37,7 +37,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/line_reader.h b/external/breakpad/src/client/linux/minidump_writer/line_reader.h +index d54a67d0..9ba8cd4c 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/line_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/line_reader.h +@@ -34,7 +34,7 @@ + #include + + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +index 85922a9c..3df94a6b 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +@@ -54,7 +54,7 @@ + #include "common/linux/memory_mapped_file.h" + #include "common/linux/safe_readlink.h" + #include "google_breakpad/common/minidump_exception_linux.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + using google_breakpad::elf::FileID; + +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +index 5a135fda..9f27f8d9 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +@@ -42,7 +42,7 @@ + #include + + #include "common/scoped_ptr.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + #if defined(__ARM_EABI__) + #define TID_PTR_REGISTER "r3" +diff --git a/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc b/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +index 0e58236b..d8613cd3 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +@@ -60,7 +60,7 @@ + #include "client/linux/minidump_writer/directory_reader.h" + #include "client/linux/minidump_writer/line_reader.h" + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + // Suspends a thread by attaching to it. + static bool SuspendThread(pid_t pid) { +diff --git a/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +index a95dd254..a0ed1e1d 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/external/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +@@ -82,7 +82,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/minidump_type_helper.h" + #include "google_breakpad/common/minidump_format.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace { + +diff --git a/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h b/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h +index 5ae16dfb..dcbb2e63 100644 +--- a/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h ++++ b/external/breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader.h +@@ -35,7 +35,7 @@ + + #include "client/linux/minidump_writer/line_reader.h" + #include "common/linux/linux_libc_support.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/client/minidump_file_writer.cc b/external/breakpad/src/client/minidump_file_writer.cc +index c00af36c..acf5a520 100644 +--- a/external/breakpad/src/client/minidump_file_writer.cc ++++ b/external/breakpad/src/client/minidump_file_writer.cc +@@ -44,7 +44,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/string_conversion.h" + #if defined(__linux__) && __linux__ +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + #if defined(__ANDROID__) +diff --git a/external/breakpad/src/common/linux/file_id.cc b/external/breakpad/src/common/linux/file_id.cc +index d8fcbd8d..c81e43bc 100644 +--- a/external/breakpad/src/common/linux/file_id.cc ++++ b/external/breakpad/src/common/linux/file_id.cc +@@ -49,7 +49,7 @@ + #include "common/linux/linux_libc_support.h" + #include "common/linux/memory_mapped_file.h" + #include "common/using_std_string.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + namespace elf { +diff --git a/external/breakpad/src/common/linux/memory_mapped_file.cc b/external/breakpad/src/common/linux/memory_mapped_file.cc +index a7b96eb5..b89a3c95 100644 +--- a/external/breakpad/src/common/linux/memory_mapped_file.cc ++++ b/external/breakpad/src/common/linux/memory_mapped_file.cc +@@ -43,7 +43,7 @@ + #include + + #include "common/memory_range.h" +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/common/linux/safe_readlink.cc b/external/breakpad/src/common/linux/safe_readlink.cc +index a42b01a5..939e5309 100644 +--- a/external/breakpad/src/common/linux/safe_readlink.cc ++++ b/external/breakpad/src/common/linux/safe_readlink.cc +@@ -35,7 +35,7 @@ + + #include + +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + + namespace google_breakpad { + +diff --git a/external/breakpad/src/common/memory_allocator.h b/external/breakpad/src/common/memory_allocator.h +index 1c99913a..5fa3c337 100644 +--- a/external/breakpad/src/common/memory_allocator.h ++++ b/external/breakpad/src/common/memory_allocator.h +@@ -46,7 +46,7 @@ + #define sys_munmap munmap + #define MAP_ANONYMOUS MAP_ANON + #else +-#include "third_party/lss/linux_syscall_support.h" ++#include "linux_syscall_support.h" + #endif + + namespace google_breakpad { diff --git a/recipes/sentry-breakpad/all/patches/0.6.x-0002-install-breakpad-header.patch b/recipes/sentry-breakpad/all/patches/0.6.x-0002-install-breakpad-header.patch new file mode 100644 index 0000000000000..e71cb09fcd187 --- /dev/null +++ b/recipes/sentry-breakpad/all/patches/0.6.x-0002-install-breakpad-header.patch @@ -0,0 +1,54 @@ +commit 78914ad6c0099d1ca4d891435c85ba0a6289814d +Author: Martin Delille +Date: Tue Aug 8 12:45:23 2023 +0200 + + Update external/CMakeLists.txt to install breakpad headers + +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index 9f3a298..31ac3f8 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -185,3 +185,43 @@ target_include_directories(breakpad_client + PUBLIC + "$" + ) ++ ++target_compile_features(breakpad_client PUBLIC cxx_std_11) ++if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ find_path(LINUX_SYSCALL_INCLUDE_DIR NAMES linux_syscall_support.h) ++ target_include_directories(breakpad_client PRIVATE ${LINUX_SYSCALL_INCLUDE_DIR}) ++endif() ++install(TARGETS breakpad_client ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin ++) ++file(GLOB COMMON_FILES breakpad/src/common/*.h) ++install(FILES ${COMMON_FILES} ++ DESTINATION include/breakpad/common ++) ++set(PLATFORM_FOLDER) ++if(IOS) ++ set(PLATFORM_FOLDER ios) ++elseif(APPLE) ++ set(PLATFORM_FOLDER mac) ++elseif(UNIX) ++ set(PLATFORM_FOLDER linux) ++endif() ++if(WIN32) ++ set(PLATFORM_FOLDER windows) ++endif() ++if(NOT PLATFORM_FOLDER) ++ message(FATAL_ERROR "Unknown os -> don't know how to install headers") ++endif() ++file(GLOB COMMON_PLATFORM_HEADERS breakpad/src/common/${PLATFORM_FOLDER}/*.h) ++install(FILES ${COMMON_PLATFORM_HEADERS} ++ DESTINATION include/breakpad/common/${PLATFORM_FOLDER}) ++install(DIRECTORY breakpad/src/client/${PLATFORM_FOLDER} ++ DESTINATION include/breakpad/client ++ FILES_MATCHING PATTERN *.h ++) ++install(DIRECTORY breakpad/src/google_breakpad/common ++ DESTINATION include/breakpad/google_breakpad ++ FILES_MATCHING PATTERN *.h ++) From 2b9fdef89fdb389275df584b615cb3029bf3223c Mon Sep 17 00:00:00 2001 From: Thomas Steiner <47025493+steinerthomas@users.noreply.github.com> Date: Wed, 9 Aug 2023 20:08:17 +0200 Subject: [PATCH 1135/4087] (#19019) sqlitecpp: bump sqlite3 3.42.0 --- recipes/sqlitecpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py index 70dd5900f9a1a..3cb33ddd1e3dd 100644 --- a/recipes/sqlitecpp/all/conanfile.py +++ b/recipes/sqlitecpp/all/conanfile.py @@ -43,7 +43,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("sqlite3/3.40.0") + self.requires("sqlite3/3.42.0") def validate(self): if Version(self.version) >= "3.0.0" and self.info.settings.compiler.get_safe("cppstd"): From b9727130b965a5eb00a45ef71264e52d62c9d329 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 9 Aug 2023 20:19:05 +0200 Subject: [PATCH 1136/4087] (#19117) librttopo: bump geos --- recipes/librttopo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/librttopo/all/conanfile.py b/recipes/librttopo/all/conanfile.py index ceb7c7bc70c18..aeef7fdcae406 100644 --- a/recipes/librttopo/all/conanfile.py +++ b/recipes/librttopo/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("geos/3.11.1", transitive_headers=True, transitive_libs=True) + self.requires("geos/3.11.2", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 981a12748abe6a0875ef18625b0ac9e378b314dd Mon Sep 17 00:00:00 2001 From: Thomas Steiner <47025493+steinerthomas@users.noreply.github.com> Date: Wed, 9 Aug 2023 23:09:05 +0200 Subject: [PATCH 1137/4087] (#18937) poco: sqlite3 bump 3.42.0 * poco sqlite3 3.42.0 * sqlitecpp sqlite3 3.42.0 * Revert sqlitecpp --------- Co-authored-by: Uilian Ries --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index 330da5a01ce34..a9fe39975ab8a 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -116,7 +116,7 @@ def requirements(self): if self.options.enable_xml: self.requires("expat/2.5.0") if self.options.enable_data_sqlite: - self.requires("sqlite3/3.41.2") + self.requires("sqlite3/3.42.0") if self.options.enable_apacheconnector: self.requires("apr/1.7.0") self.requires("apr-util/1.6.1") From cb446e5070838ef568d6a4438cf8a6cab617e3b4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 10 Aug 2023 11:36:14 +0900 Subject: [PATCH 1138/4087] (#19132) etl: add version 20.37.3 --- 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 716bd8799f7d5..048eb0ba5716e 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.37.3": + url: "https://github.com/ETLCPP/etl/archive/20.37.3.tar.gz" + sha256: "fbdf60c770772cd96d1eb25bdf56e4f45f23bf4029e18ef1f2af1f2056b9ea41" "20.37.2": url: "https://github.com/ETLCPP/etl/archive/20.37.2.tar.gz" sha256: "13bd5d9d1bfbc887e3182895ca0291df0008a1c5770ddd12ef6cd2215c2bc6af" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index b1fd5bf4caa62..aa2b1c54bb8bd 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.37.3": + folder: all "20.37.2": folder: all "20.37.1": From 6ae5af76a1535994cff26adb4cc7da1da0ac932d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 10 Aug 2023 10:24:31 +0200 Subject: [PATCH 1139/4087] (#19134) [bot] Update list of references (prod-v2/ListPackages) --- .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 0b338c3849bdd..00fca46490117 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -211,6 +211,7 @@ required_for_references: - cxxopts - cyclonedds - cyrus-sasl +- czmq - dacap-clip - darknet - dataframe @@ -703,6 +704,7 @@ required_for_references: - mp-units - mpark-variant - mpc +- mpfr - mpg123 - mpmcqueue - mppp @@ -989,6 +991,7 @@ required_for_references: - svgpp - svgwrite - symengine +- systemc - szip - tabulate - taglib @@ -1048,6 +1051,7 @@ required_for_references: - utfcpp - util-linux-libuuid - uvw +- uwebsockets - vaapi - variant-lite - vdpau From ea3af1333d855ce9d028d046ace13e153b5763cc Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 10 Aug 2023 17:49:45 +0900 Subject: [PATCH 1140/4087] (#19130) drogon: fix compilation error on gcc13 * drogon: fix compilation error on gcc13 * support 1.8.2 --- recipes/drogon/all/conandata.yml | 12 ++++++++++++ .../all/patches/1.8.2-0004-support-gcc13.patch | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 recipes/drogon/all/patches/1.8.2-0004-support-gcc13.patch diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index 3ee3725bb502d..dd03c6b133f92 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -28,6 +28,10 @@ patches: - 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/" "1.8.3": - patch_file: "patches/1.8.0-0001-disable-unused-data.patch" patch_description: "Consume Trantor package from Conan instead of using the\ @@ -39,6 +43,10 @@ patches: - patch_file: "patches/1.8.3-0003-find-package-sqlite.patch" patch_description: "Fix sqlite cmake target name" patch_type: "conan" + - patch_file: "patches/1.8.2-0004-support-gcc13.patch" + patch_description: "Fix compilation error on gcc13 with C++17" + patch_type: "portability" + patch_source: "https://github.com/drogonframework/drogon/pull/1563/" "1.8.2": - patch_file: "patches/1.8.0-0001-disable-unused-data.patch" patch_description: "Consume Trantor package from Conan instead of using the\ @@ -50,6 +58,10 @@ patches: - patch_file: "patches/1.8.2-0003-find-package-sqlite.patch" patch_description: "Fix sqlite cmake target name" patch_type: "conan" + - patch_file: "patches/1.8.2-0004-support-gcc13.patch" + patch_description: "Fix compilation error on gcc13 with C++17" + patch_type: "portability" + patch_source: "https://github.com/drogonframework/drogon/pull/1563/" "1.8.0": - patch_file: "patches/1.8.0-0001-disable-unused-data.patch" patch_description: "Consume Trantor package from Conan instead of using the subproject" 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 new file mode 100644 index 0000000000000..477d23fb1fd63 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.2-0004-support-gcc13.patch @@ -0,0 +1,12 @@ +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 + { From 216654c1aefde6294eefeb67fceab9307a209bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 10 Aug 2023 10:57:35 +0200 Subject: [PATCH 1141/4087] Add backup sources config (#18082) --- .c3i/config_v2.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index b5ee3148ca00b..1f13510578fc9 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -4,6 +4,14 @@ id: 'conan-io/conan-center-index' conan: version: 2.0.9 + backup_sources: + upload_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/" + download_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/" + + globalconf: + - 'core.sources:download_cache={{ CONFIG_HOME }}/backup_sources_cache' + - 'core.sources:download_urls=["{{ ARTI_DOWNLOAD_URL }}", "origin"]' + - 'core.sources:upload_url={{ ARTI_UPLOAD_URL }}' artifactory: url: "https://c3i.jfrog.io/c3i" From f3a66013c215e28bed06746407ccc09c4e4f50d7 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 11 Aug 2023 00:29:28 +0900 Subject: [PATCH 1142/4087] (#18958) fpzip: add recipe * fpzip: add recipe * add FPZIP_SHARED_LIBS --- recipes/fpzip/all/conandata.yml | 4 + recipes/fpzip/all/conanfile.py | 80 ++++++++++ recipes/fpzip/all/test_package/CMakeLists.txt | 7 + recipes/fpzip/all/test_package/conanfile.py | 26 ++++ recipes/fpzip/all/test_package/test_package.c | 142 ++++++++++++++++++ recipes/fpzip/config.yml | 3 + 6 files changed, 262 insertions(+) create mode 100644 recipes/fpzip/all/conandata.yml create mode 100644 recipes/fpzip/all/conanfile.py create mode 100644 recipes/fpzip/all/test_package/CMakeLists.txt create mode 100644 recipes/fpzip/all/test_package/conanfile.py create mode 100644 recipes/fpzip/all/test_package/test_package.c create mode 100644 recipes/fpzip/config.yml diff --git a/recipes/fpzip/all/conandata.yml b/recipes/fpzip/all/conandata.yml new file mode 100644 index 0000000000000..ef306da4b0649 --- /dev/null +++ b/recipes/fpzip/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.3.0": + url: "https://github.com/LLNL/fpzip/releases/download/1.3.0/fpzip-1.3.0.tar.gz" + sha256: "248df7d84259e3feaa4c4797956b2a77c3fcd734e8f8fdc51ce171dcf4f0136c" diff --git a/recipes/fpzip/all/conanfile.py b/recipes/fpzip/all/conanfile.py new file mode 100644 index 0000000000000..2369b2e58e6b6 --- /dev/null +++ b/recipes/fpzip/all/conanfile.py @@ -0,0 +1,80 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" + +class FpzipConan(ConanFile): + name = "fpzip" + description = "Lossless compressor of multidimensional floating-point arrays" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://fpzip.llnl.gov/" + topics = ("compression", "lossless", "floating-point") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_fp": ["fast", "safe", "emul", "int"], + } + default_options = { + "shared": False, + "fPIC": True, + "with_fp": "fast", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _fp_name_table(self): + return { + "fast": "FPZIP_FP_FAST", + "safe": "FPZIP_FP_SAFE", + "emul": "FPZIP_FP_EMUL", + "int": "FPZIP_FP_INT", + } + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FPZIP_FP"] = self._fp_name_table.get(str(self.options.with_fp), "FP_ZIP_FAST") + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["fpzip"] + self.cpp_info.defines.append("FPZIP_FP={}".format(self._fp_name_table.get(str(self.options.with_fp), "FP_ZIP_FAST"))) + if self.options.shared: + self.cpp_info.defines.append("FPZIP_SHARED_LIBS") + if self.settings.compiler in ["gcc", "clang", "apple-clang"]: + self.cpp_info.system_libs += ["stdc++"] diff --git a/recipes/fpzip/all/test_package/CMakeLists.txt b/recipes/fpzip/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1476da8811ce6 --- /dev/null +++ b/recipes/fpzip/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(fpzip REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE fpzip::fpzip) diff --git a/recipes/fpzip/all/test_package/conanfile.py b/recipes/fpzip/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/fpzip/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/fpzip/all/test_package/test_package.c b/recipes/fpzip/all/test_package/test_package.c new file mode 100644 index 0000000000000..8e359fe8da319 --- /dev/null +++ b/recipes/fpzip/all/test_package/test_package.c @@ -0,0 +1,142 @@ +#include +#include +#include +#include +#include + +#include "fpzip.h" + +static size_t +compress(FPZ* fpz, const void* data) +{ + size_t size; + /* write header */ + if (!fpzip_write_header(fpz)) { + fprintf(stderr, "cannot write header: %s\n", fpzip_errstr[fpzip_errno]); + return 0; + } + /* perform actual compression */ + size = fpzip_write(fpz, data); + if (!size) { + fprintf(stderr, "compression failed: %s\n", fpzip_errstr[fpzip_errno]); + return 0; + } + return size; +} + +static int +decompress(FPZ* fpz, void* data, size_t inbytes) +{ + /* read header */ + if (!fpzip_read_header(fpz)) { + fprintf(stderr, "cannot read header: %s\n", fpzip_errstr[fpzip_errno]); + return 0; + } + /* make sure array size stored in header matches expectations */ + if ((fpz->type == FPZIP_TYPE_FLOAT ? sizeof(float) : sizeof(double)) * fpz->nx * fpz->ny * fpz->nz * fpz->nf != inbytes) { + fprintf(stderr, "array size does not match dimensions from header\n"); + return 0; + } + /* perform actual decompression */ + if (!fpzip_read(fpz, data)) { + fprintf(stderr, "decompression failed: %s\n", fpzip_errstr[fpzip_errno]); + return 0; + } + return 1; +} + +static float +float_rand() +{ + static unsigned int seed = 1; + double val; + seed = 1103515245 * seed + 12345; + seed &= 0x7fffffffu; + val = ldexp((double)seed, -31); + val = 2 * val - 1; + val *= val * val; + val *= val * val; + return val; +} + +/* generate a trilinear field perturbed by random noise */ +float* +float_field(int nx, int ny, int nz, float offset) +{ + int n = nx * ny * nz; + float* field = malloc(n * sizeof(float)); + int i, x, y, z; + /* generate random field */ + *field = offset; + for (i = 1; i < n; i++) + field[i] = float_rand(); + /* integrate along x */ + for (z = 0; z < nz; z++) + for (y = 0; y < ny; y++) + for (x = 1; x < nx; x++) + field[x + nx * (y + ny * z)] += field[(x - 1) + nx * (y + ny * z)]; + /* integrate along y */ + for (z = 0; z < nz; z++) + for (y = 1; y < ny; y++) + for (x = 0; x < nx; x++) + field[x + nx * (y + ny * z)] += field[x + nx * ((y - 1) + ny * z)]; + /* integrate along z */ + for (z = 1; z < nz; z++) + for (y = 0; y < ny; y++) + for (x = 0; x < nx; x++) + field[x + nx * (y + ny * z)] += field[x + nx * (y + ny * (z - 1))]; + return field; +} + +static void +test_float_array(const float* field, int nx, int ny, int nz, int prec) +{ + int status; + unsigned int actual_checksum; + int dims = (nz == 1 ? ny == 1 ? 1 : 2 : 3); + size_t inbytes = nx * ny * nz * sizeof(float); + size_t bufbytes = 1024 + inbytes; + size_t outbytes = 0; + void* buffer = malloc(bufbytes); + float* copy = malloc(inbytes); + char name[0x100]; + + /* compress to memory */ + FPZ* fpz = fpzip_write_to_buffer(buffer, bufbytes); + fpz->type = FPZIP_TYPE_FLOAT; + fpz->prec = prec; + fpz->nx = nx; + fpz->ny = ny; + fpz->nz = nz; + fpz->nf = 1; + outbytes = compress(fpz, field); + status = (0 < outbytes && outbytes <= bufbytes); + fpzip_write_close(fpz); + sprintf(name, "test.float.%dd.prec%d.compress", dims, prec); + + /* decompress */ + fpz = fpzip_read_from_buffer(buffer); + status = decompress(fpz, copy, inbytes); + fpzip_read_close(fpz); + sprintf(name, "test.float.%dd.prec%d.decompress", dims, prec); + + free(copy); + free(buffer); +} + +static int +test_float(int nx, int ny, int nz) +{ + float* field = float_field(nx, ny, nz, 0); + int prec = 8; + test_float_array(field, nx * ny * nz, 1, 1, prec); + test_float_array(field, nx, ny * nz, 1, prec); + test_float_array(field, nx, ny, nz, prec); + free(field); +} + +int main(void) { + test_float(65, 64, 63); + + return 0; +} diff --git a/recipes/fpzip/config.yml b/recipes/fpzip/config.yml new file mode 100644 index 0000000000000..426a0e4c79e9b --- /dev/null +++ b/recipes/fpzip/config.yml @@ -0,0 +1,3 @@ +versions: + "1.3.0": + folder: all From ebfaa8b83cd995e56dcbcd388038768a310e9cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 10 Aug 2023 18:04:17 +0200 Subject: [PATCH 1143/4087] (#19136) Fix documentation typo --- docs/adding_packages/folders_and_files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adding_packages/folders_and_files.md b/docs/adding_packages/folders_and_files.md index 0136f36792b5b..b5a51c8d60309 100644 --- a/docs/adding_packages/folders_and_files.md +++ b/docs/adding_packages/folders_and_files.md @@ -140,7 +140,7 @@ When a package needs other packages those can be include with the `requirements( ```python def requirements(self): - self.require("fmt/9.0.0") + self.requires("fmt/9.0.0") ``` For more information see the [Dependencies](dependencies.md) documentation. From d2ce190148958e5c954def44d60e6d7bdb7e583e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 10 Aug 2023 19:28:08 +0300 Subject: [PATCH 1144/4087] (#18893) openfst: migrate to Conan v2 * openfst: migrate to Conan v2 * openfst: restore VirtualRunEnv in test_package * openfst: use -pthread instead of -lpthread --- recipes/openfst/all/conandata.yml | 1 - recipes/openfst/all/conanfile.py | 123 ++++++++++-------- .../openfst/all/test_package/CMakeLists.txt | 5 +- recipes/openfst/all/test_package/conanfile.py | 21 ++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../openfst/all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 110 insertions(+), 65 deletions(-) create mode 100644 recipes/openfst/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openfst/all/test_v1_package/conanfile.py diff --git a/recipes/openfst/all/conandata.yml b/recipes/openfst/all/conandata.yml index ef54f290e0077..aed678082ff26 100644 --- a/recipes/openfst/all/conandata.yml +++ b/recipes/openfst/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "1.8.2": - patch_file: "patches/1.8.2-allocate-hint.patch" - base_path: "source_subfolder" diff --git a/recipes/openfst/all/conanfile.py b/recipes/openfst/all/conanfile.py index ef0a6f1a558d2..350f5171a2fd1 100644 --- a/recipes/openfst/all/conanfile.py +++ b/recipes/openfst/all/conanfile.py @@ -1,20 +1,26 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration -import functools -from itertools import product import os +from itertools import product + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class OpenFstConan(ConanFile): name = "openfst" description = "A library for constructing, combining, optimizing and searching weighted finite-state-transducers (FSTs)." - topics = ("asr", "fst", "wfst", "openfst") + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.openfst.org/twiki/bin/view/FST/WebHome" - license = "Apache-2.0" + topics = ("asr", "fst", "wfst", "openfst") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -49,26 +55,27 @@ class OpenFstConan(ConanFile): "enable_special": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.os != "Linux": - raise ConanInvalidConfiguration( - "OpenFst is only supported on linux") + if self.settings.os not in ["Linux", "FreeBSD"]: + raise ConanInvalidConfiguration("OpenFst is only supported on linux") compilers = { "gcc": "8", @@ -76,33 +83,36 @@ def validate(self): } if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) minimum_compiler = compilers.get(str(self.settings.compiler)) if minimum_compiler: - if tools.Version(self.settings.compiler.version) < minimum_compiler: - raise ConanInvalidConfiguration(f"{self.name} requires c++17, which your compiler does not support.") + if Version(self.settings.compiler.version) < minimum_compiler: + raise ConanInvalidConfiguration( + f"{self.name} requires c++17, which your compiler does not support." + ) else: - self.output.warn(f"{self.name} requires c++17, but this compiler is unknown to this recipe. Assuming your compiler supports c++17.") + self.output.warning( + f"{self.name} requires c++17, but this compiler is unknown to this recipe." + f" Assuming your compiler supports c++17." + ) # Check stdlib ABI compatibility if self.settings.compiler == "gcc" and self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration('Using %s with GCC requires "compiler.libcxx=libstdc++11"' % self.name) + raise ConanInvalidConfiguration( + f'Using {self.name} with GCC requires "compiler.libcxx=libstdc++11"' + ) elif self.settings.compiler == "clang" and self.settings.compiler.libcxx not in ["libstdc++11", "libc++"]: - raise ConanInvalidConfiguration('Using %s with Clang requires either "compiler.libcxx=libstdc++11"' - ' or "compiler.libcxx=libc++"' % self.name) + raise ConanInvalidConfiguration( + f'Using {self.name} with Clang requires either "compiler.libcxx=libstdc++11" or "compiler.libcxx=libc++"' + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self) + def generate(self): + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - args = [ - "--with-pic={}".format(yes_no(self.options.get_safe("fPIC", True))), - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), + tc.configure_args += [ "--enable-bin={}".format(yes_no(self.options.enable_bin)), "--enable-compact-fsts={}".format(yes_no(self.options.enable_compact_fsts)), "--enable-compress={}".format(yes_no(self.options.enable_compress)), @@ -115,47 +125,51 @@ def _configure_autotools(self): "--enable-ngram-fsts={}".format(yes_no(self.options.enable_ngram_fsts)), "--enable-pdt={}".format(yes_no(self.options.enable_pdt)), "--enable-special={}".format(yes_no(self.options.enable_special)), - "LIBS=-lpthread", ] - autotools.configure(args=args, configure_dir=self._source_subfolder) - return autotools - - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + tc.extra_cflags.append("-pthread") + tc.extra_cxxflags.append("-pthread") + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) def build(self): self._patch_sources() - 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() lib_dir = os.path.join(self.package_folder, "lib") lib_subdir = os.path.join(self.package_folder, "lib", "fst") if os.path.exists(lib_subdir): for fn in os.listdir(lib_subdir): - tools.rename(os.path.join(lib_subdir, fn), os.path.join(lib_dir, "lib{}".format(fn))) - tools.rmdir(lib_subdir) + rename(self, + os.path.join(lib_subdir, fn), + os.path.join(lib_dir, f"lib{fn}")) + rmdir(self, lib_subdir) - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.remove_files_by_mask(lib_dir, "*.la") + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", lib_dir, recursive=True) @property def _get_const_fsts_libs(self): - return ["const{}-fst".format(n) for n in [8, 16, 64]] + return [f"const{n}-fst" for n in [8, 16, 64]] @property def _get_compact_fsts_libs(self): - return ["compact{}_{}-fst".format(n, fst) - for n, fst in product([8, 16, 64], ["acceptor", "string", "unweighted_acceptor", "unweighted", "weighted_string"])] + return [f"compact{n}_{fst}-fst" + for n, fst in product( + [8, 16, 64], + ["acceptor", "string", "unweighted_acceptor", "unweighted", "weighted_string"] + )] def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenFst") @@ -196,8 +210,9 @@ def package_info(self): if self.options.enable_pdt or self.options.enable_grm: self.cpp_info.libs.append("fstpdtscript") - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment var: {}".format(bindir)) - self.env_info.PATH.append(bindir) - self.cpp_info.system_libs = ["pthread", "dl", "m"] + + # TODO: Legacy, to be removed on Conan 2.0 + bindir = os.path.join(self.package_folder, "bin") + self.output.info(f"Appending PATH environment var: {bindir}") + self.env_info.PATH.append(bindir) diff --git a/recipes/openfst/all/test_package/CMakeLists.txt b/recipes/openfst/all/test_package/CMakeLists.txt index cdd919fc9ae03..71588be2b8f7e 100644 --- a/recipes/openfst/all/test_package/CMakeLists.txt +++ b/recipes/openfst/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) set(CMAKE_CXX_STANDARD 17) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(OpenFst REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/openfst/all/test_package/conanfile.py b/recipes/openfst/all/test_package/conanfile.py index 90eb89e3f2f46..ef5d7042163ec 100644 --- a/recipes/openfst/all/test_package/conanfile.py +++ b/recipes/openfst/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/openfst/all/test_v1_package/CMakeLists.txt b/recipes/openfst/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/openfst/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/openfst/all/test_v1_package/conanfile.py b/recipes/openfst/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..90eb89e3f2f46 --- /dev/null +++ b/recipes/openfst/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 39a944e865c161cbad60c158c2d6c8fe37a4f646 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 10 Aug 2023 19:52:09 +0300 Subject: [PATCH 1145/4087] (#18939) djinni-generator: migrate to Conan v2 --- recipes/djinni-generator/all/conanfile.py | 47 ++++++++++++++----- .../all/test_package/conanfile.py | 22 +++++---- .../all/test_v1_package/conanfile.py | 21 +++++++++ 3 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 recipes/djinni-generator/all/test_v1_package/conanfile.py diff --git a/recipes/djinni-generator/all/conanfile.py b/recipes/djinni-generator/all/conanfile.py index ae2c62ed78bb5..f6319f3914356 100644 --- a/recipes/djinni-generator/all/conanfile.py +++ b/recipes/djinni-generator/all/conanfile.py @@ -1,37 +1,60 @@ import os -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.files import copy, download +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.47.0" class Djinni(ConanFile): name = "djinni-generator" + description = "Djinni is a tool for generating cross-language type declarations and interface bindings." + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://djinni.xlcpp.dev" - description = "Djinni is a tool for generating cross-language type declarations and interface bindings." topics = ("java", "Objective-C", "ios", "Android") - license = "Apache-2.0" - settings = "os", "arch" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type def source(self): filename = os.path.basename(self.conan_data["sources"][self.version]["url"]) - tools.download(filename=filename, **self.conan_data["sources"][self.version]) - tools.download(filename="LICENSE", url="https://raw.githubusercontent.com/cross-language-cpp/djinni-generator/main/LICENSE") + download(self, filename=filename, **self.conan_data["sources"][self.version]) + download(self, filename="LICENSE", url="https://raw.githubusercontent.com/cross-language-cpp/djinni-generator/main/LICENSE") def build(self): pass # avoid warning for missing build steps def package(self): - if tools.detected_os() == "Windows": - os.rename('djinni','djinni.bat') - self.copy("djinni.bat", dst="bin", keep_path=False) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + keep_path=False) + copy(self, "djinni", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder, + keep_path=False) + if self.settings.os == "Windows": + os.rename(os.path.join(self.package_folder, "bin", "djinni"), + os.path.join(self.package_folder, "bin", "djinni.bat")) else: - self.copy("djinni", dst="bin", keep_path=False) executable = os.path.join(self.package_folder, "bin", "djinni") os.chmod(executable, os.stat(executable).st_mode | 0o111) - self.copy("LICENSE", dst="licenses", keep_path=False) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] self.cpp_info.includedirs = [] - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + # TODO: Legacy, to be removed on Conan 2.0 + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/djinni-generator/all/test_package/conanfile.py b/recipes/djinni-generator/all/test_package/conanfile.py index 456428a9a8670..7d899a138c0dd 100644 --- a/recipes/djinni-generator/all/test_package/conanfile.py +++ b/recipes/djinni-generator/all/test_package/conanfile.py @@ -1,21 +1,25 @@ - from io import StringIO -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.build import can_run + class TestPackageConan(ConanFile): - settings = "os", "arch" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def build(self): - pass # please no warning that we build nothing + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self.settings): + if can_run(self): output = StringIO() - self.run("djinni --help", output=output, run_environment=True) - output.seek(0, 0) + self.run("djinni --help", output) + output.seek(0) found_usage = False for line in output: if "Usage: djinni [options]" in line: found_usage = True break - assert(found_usage) + assert found_usage diff --git a/recipes/djinni-generator/all/test_v1_package/conanfile.py b/recipes/djinni-generator/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..456428a9a8670 --- /dev/null +++ b/recipes/djinni-generator/all/test_v1_package/conanfile.py @@ -0,0 +1,21 @@ + +from io import StringIO +from conans import ConanFile, tools + +class TestPackageConan(ConanFile): + settings = "os", "arch" + + def build(self): + pass # please no warning that we build nothing + + def test(self): + if not tools.cross_building(self.settings): + output = StringIO() + self.run("djinni --help", output=output, run_environment=True) + output.seek(0, 0) + found_usage = False + for line in output: + if "Usage: djinni [options]" in line: + found_usage = True + break + assert(found_usage) From e69902cb0473c637073ebbc993a961f228440436 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 10 Aug 2023 20:29:25 +0300 Subject: [PATCH 1146/4087] (#18984) pupnp: migrate to Conan v2 --- recipes/pupnp/all/conanfile.py | 121 ++++++++---------- recipes/pupnp/all/test_package/CMakeLists.txt | 7 +- recipes/pupnp/all/test_package/conanfile.py | 21 ++- .../pupnp/all/test_v1_package/CMakeLists.txt | 8 ++ .../pupnp/all/test_v1_package/conanfile.py | 17 +++ 5 files changed, 96 insertions(+), 78 deletions(-) create mode 100644 recipes/pupnp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pupnp/all/test_v1_package/conanfile.py diff --git a/recipes/pupnp/all/conanfile.py b/recipes/pupnp/all/conanfile.py index be3c8ca6dae34..b3ee88419c46c 100644 --- a/recipes/pupnp/all/conanfile.py +++ b/recipes/pupnp/all/conanfile.py @@ -1,8 +1,14 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class PupnpConan(ConanFile): @@ -15,8 +21,10 @@ class PupnpConan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/pupnp/pupnp" - topics = ("conan", "upnp", "networking") - settings = "os", "compiler", "build_type", "arch" + topics = ("upnp", "networking") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -28,7 +36,7 @@ class PupnpConan(ConanFile): "largefile": [True, False], "tools": [True, False], "blocking-tcp": [True, False], - "debug": [True, False] + "debug": [True, False], } default_options = { "shared": False, @@ -41,95 +49,74 @@ class PupnpConan(ConanFile): "largefile": True, "tools": True, "blocking-tcp": False, - "debug": True # Actually enables logging routines... + "debug": True, } - _autotools = None - @property - def _source_subfolder(self): - return "source_subfolder" + 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): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): # Note, pupnp has build instructions for Visual Studio but they # include VC 6 and require pthreads-w32 library. # Someone who needs it and has possibility to build it could step in. raise ConanInvalidConfiguration("Visual Studio not supported yet in this recipe") - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - def build_requirements(self): - self.build_requires("libtool/2.4.6") - self.build_requires("pkgconf/1.7.4") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + self.tool_requires("libtool/2.4.7") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.5") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if not self._autotools: - args = [ - "--enable-static=%s" % ("no" if self.options.shared else "yes"), - "--enable-shared=%s" % ("yes" if self.options.shared else "no"), - "--disable-samples", - ] - - def enable_disable(opt): - what = "enable" if getattr(self.options, opt) else "disable" - return "--{}-{}".format(what, opt) - - args.extend( - map( - enable_disable, - ( - "ipv6", - "reuseaddr", - "webserver", - "client", - "device", - "largefile", - "tools", - "debug" - ), - ) - ) - - args.append("--%s-blocking_tcp_connections" % ("enable" if getattr(self.options, "blocking-tcp") else "disable")) - - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.configure(configure_dir=self._source_subfolder, args=args) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + features = {} + features["samples"] = False + features["blocking_tcp_connections"] = self.options["blocking-tcp"] + for opt in ("ipv6", "reuseaddr", "webserver", "client", "device", "largefile", "tools", "debug"): + features[opt] = self.options[opt] + for feature, enabled in features.items(): + what = "enable" if enabled else "disable" + tc.configure_args.append(f"--{what}-{feature}") + tc.generate() def build(self): - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() autotools.make() def package(self): - self.copy("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, "lib", "pkgconfig")) - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", self.package_folder, recursive=True) def package_info(self): - self.cpp_info.names["pkg_config"] = "libupnp" + self.cpp_info.set_property("pkg_config_name", "libupnp") self.cpp_info.libs = ["upnp", "ixml"] self.cpp_info.includedirs.append(os.path.join("include", "upnp")) if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/pupnp/all/test_package/CMakeLists.txt b/recipes/pupnp/all/test_package/CMakeLists.txt index 4715fd995b522..d453ce024a968 100644 --- a/recipes/pupnp/all/test_package/CMakeLists.txt +++ b/recipes/pupnp/all/test_package/CMakeLists.txt @@ -1,10 +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(TARGETS) - -find_package(pupnp REQUIRED) +find_package(pupnp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} pupnp::pupnp) diff --git a/recipes/pupnp/all/test_package/conanfile.py b/recipes/pupnp/all/test_package/conanfile.py index 91263ae215697..ef5d7042163ec 100644 --- a/recipes/pupnp/all/test_package/conanfile.py +++ b/recipes/pupnp/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 CMake, ConanFile, tools +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" -class PupnpTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pupnp/all/test_v1_package/CMakeLists.txt b/recipes/pupnp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pupnp/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/pupnp/all/test_v1_package/conanfile.py b/recipes/pupnp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b1255b47b830e --- /dev/null +++ b/recipes/pupnp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import CMake, ConanFile, tools + + +class PupnpTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + self.run(os.path.join("bin", "test_package"), run_environment=True) From 29994e05d35b6756254b90a88204d69ff7a6314a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 11 Aug 2023 02:52:46 +0900 Subject: [PATCH 1147/4087] (#19133) libmysqlclient: add version 8.1.0 --- recipes/libmysqlclient/all/conandata.yml | 7 +++++++ .../patches/0006-fix-cpp20-build-8.1.0.patch | 17 +++++++++++++++++ recipes/libmysqlclient/config.yml | 2 ++ 3 files changed, 26 insertions(+) create mode 100644 recipes/libmysqlclient/all/patches/0006-fix-cpp20-build-8.1.0.patch diff --git a/recipes/libmysqlclient/all/conandata.yml b/recipes/libmysqlclient/all/conandata.yml index 6ace30de16974..78b5ed97e3e15 100644 --- a/recipes/libmysqlclient/all/conandata.yml +++ b/recipes/libmysqlclient/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.1.0": + url: "https://dev.mysql.com/get/Downloads/MySQL-8.1/mysql-8.1.0.tar.gz" + sha256: "3dd017a940734aa90796a4c65e125e6712f64bbbbe3388d36469deaa87b599eb" "8.0.34": url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34.tar.gz" sha256: "e65d03a3c42618b5fbf99042aed33209402e9b27aa62c7c8743ffd4788d8db1d" @@ -12,6 +15,10 @@ sources: url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25.tar.gz" sha256: "c16aa9cf621bc028efba2bb11f3c36a323b125fa0d108ff92fab60e46309206e" patches: + "8.1.0": + - patch_file: "patches/0006-fix-cpp20-build-8.1.0.patch" + patch_description: "Fix C++20 compilation" + patch_type: "portability" "8.0.34": - patch_file: "patches/0006-fix-cpp20-build-8.0.29.patch" patch_description: "Fix C++20 compilation" diff --git a/recipes/libmysqlclient/all/patches/0006-fix-cpp20-build-8.1.0.patch b/recipes/libmysqlclient/all/patches/0006-fix-cpp20-build-8.1.0.patch new file mode 100644 index 0000000000000..ebaba58ec7fab --- /dev/null +++ b/recipes/libmysqlclient/all/patches/0006-fix-cpp20-build-8.1.0.patch @@ -0,0 +1,17 @@ +diff --git a/sql/sql_bitmap.h b/sql/sql_bitmap.h +index 0f4a540..bd81a40 100644 +--- a/sql/sql_bitmap.h ++++ b/sql/sql_bitmap.h +@@ -145,10 +145,10 @@ class Bitmap<64> { + ulonglong map; + + public: +- Bitmap<64>() { init(); } ++ Bitmap() { init(); } + enum { ALL_BITS = 64 }; + +- explicit Bitmap<64>(uint prefix_to_set) { set_prefix(prefix_to_set); } ++ explicit Bitmap(uint prefix_to_set) { set_prefix(prefix_to_set); } + void init() { clear_all(); } + void init(uint prefix_to_set) { set_prefix(prefix_to_set); } + uint length() const { return 64; } diff --git a/recipes/libmysqlclient/config.yml b/recipes/libmysqlclient/config.yml index 7df89d243f495..1b617851b7de6 100644 --- a/recipes/libmysqlclient/config.yml +++ b/recipes/libmysqlclient/config.yml @@ -1,4 +1,6 @@ versions: + "8.1.0": + folder: all "8.0.34": folder: all "8.0.31": From d8efa063851f272049a78807deae4a957db68068 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Thu, 10 Aug 2023 20:35:27 +0200 Subject: [PATCH 1148/4087] (#19143) [freetype] Bump requirements for libpng and zlib --- recipes/freetype/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/freetype/all/conanfile.py b/recipes/freetype/all/conanfile.py index 2d1c5c126ce10..5073e3cf9b655 100644 --- a/recipes/freetype/all/conanfile.py +++ b/recipes/freetype/all/conanfile.py @@ -64,9 +64,9 @@ def layout(self): def requirements(self): if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <1.7]") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2 <1.3]") if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.get_safe("with_brotli"): From c23527885c7fa4df0c1c1c9d0d69602b1fc43dbf Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 11 Aug 2023 16:30:16 +0900 Subject: [PATCH 1149/4087] (#19149) zookeeper-client-c: add version 3.9.0 --- recipes/zookeeper-client-c/all/conandata.yml | 7 +++++++ recipes/zookeeper-client-c/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/zookeeper-client-c/all/conandata.yml b/recipes/zookeeper-client-c/all/conandata.yml index f81d1f4e6d34f..0487be945d8c9 100644 --- a/recipes/zookeeper-client-c/all/conandata.yml +++ b/recipes/zookeeper-client-c/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "3.9.0": + url: "https://archive.apache.org/dist/zookeeper/zookeeper-3.9.0/apache-zookeeper-3.9.0.tar.gz" + sha256: "c7af07e7411c798398bb8cd50f47780d8e014831666c41df6ec6540c143c0da2" "3.8.1": url: "https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1.tar.gz" sha256: "ccc16850c8ab2553583583234d11c813061b5ea5f3b8ff1d740cde6c1fd1e219" patches: + "3.9.0": + - patch_file: "patches/3.8.1-0001-add-install.patch" + patch_description: "add installer, disable cli program" + patch_type: "conan" "3.8.1": - patch_file: "patches/3.8.1-0001-add-install.patch" patch_description: "add installer, disable cli program" diff --git a/recipes/zookeeper-client-c/config.yml b/recipes/zookeeper-client-c/config.yml index f3cf585c380d6..31b8685d6b74a 100644 --- a/recipes/zookeeper-client-c/config.yml +++ b/recipes/zookeeper-client-c/config.yml @@ -1,3 +1,5 @@ versions: + "3.9.0": + folder: all "3.8.1": folder: all From b47f2ebfbf29742e5c1c7ceba26f674d784c0524 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 11 Aug 2023 10:44:49 +0200 Subject: [PATCH 1150/4087] (#19139) [bot] Update authorized users list (2023-08-10) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 902e3fd4b97b9..29f7167d2ab9c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1209,3 +1209,6 @@ authorized_users: - aliaksei135 - ibosnic00 - Xav83 +- matthewT53 +- sjlamerton +- marxin From 6ee3c95cb77ed11b7dfeda27d93895fb9052a102 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 11 Aug 2023 11:03:11 +0200 Subject: [PATCH 1151/4087] (#19142) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 00fca46490117..2158d3f771f43 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -119,6 +119,7 @@ required_for_references: - canvas_ity - capnproto - capstone +- cargs - catch2 - ccache - cccl From bd75b4178d25de88a5a3215216e008e3330d88ab Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 11 Aug 2023 11:28:21 +0200 Subject: [PATCH 1152/4087] (#19128) wil: add 1.0.230629.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 a123bb6fadf86..9253a5b752cf3 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.230629.1": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230629.1.tar.gz" + sha256: "c0d9ad1f295e181aa28d7c9b219e7d530e6bc4b7533317be50e7eae760c8d63f" "1.0.230411.1": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230411.1.tar.gz" sha256: "03742849f5cb458fcfe8d30ff7afb6ff4bd67fe3aee3768cd6fb1140c59fcfd3" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index 4e26f7b007f29..00c073f03a7a2 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.230629.1": + folder: "all" "1.0.230411.1": folder: "all" "1.0.230202.1": From 02ab9f1d8a79fa9e1937acde59d946df13dc095f Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 11 Aug 2023 12:07:39 +0200 Subject: [PATCH 1153/4087] (#18438) [sentry-native/0.6.5] Add version * [sentry-native/0.6.4] Add version * [sentry-native/0.6.5] Add version --- recipes/sentry-native/all/conandata.yml | 6 +++--- recipes/sentry-native/config.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 17d89711effcc..ced5e36dba275 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,13 +1,13 @@ sources: + "0.6.5": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip" + sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995" "0.6.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.6.3": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" - "0.6.2": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.2/sentry-native.zip" - sha256: "9b9f4b2cec961ca132039c7887fb876b3dd6f4795b31ca01d188187f69758efa" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index fb99bc2eb64b8..3450228c14b09 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,10 +1,10 @@ versions: + "0.6.5": + folder: all "0.6.4": folder: all "0.6.3": folder: all - "0.6.2": - folder: all "0.5.4": folder: all "0.4.18": From 62f912380c62db5add03821791a9fc6d3f688e30 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 11 Aug 2023 12:30:06 +0200 Subject: [PATCH 1154/4087] (#19003) dbus: enable static build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dbus: enable static build * fix windows static library name * Update recipes/dbus/1.x.x/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- recipes/dbus/1.x.x/conandata.yml | 12 -- recipes/dbus/1.x.x/conanfile.py | 134 ++++++------------ .../1.x.x/patches/0001-cmake-project.patch | 23 --- ...make_configure_checks_list_separator.patch | 22 --- recipes/dbus/config.yml | 4 - 5 files changed, 47 insertions(+), 148 deletions(-) delete mode 100644 recipes/dbus/1.x.x/patches/0001-cmake-project.patch delete mode 100644 recipes/dbus/1.x.x/patches/0002-cmake_configure_checks_list_separator.patch diff --git a/recipes/dbus/1.x.x/conandata.yml b/recipes/dbus/1.x.x/conandata.yml index c3b193cfa06c5..3dc58977ca2ea 100644 --- a/recipes/dbus/1.x.x/conandata.yml +++ b/recipes/dbus/1.x.x/conandata.yml @@ -8,12 +8,6 @@ sources: "1.15.0": url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.15.0.tar.xz" sha256: "5073c8cb9ad20226647bb38f4965182b762a6e1f595ccdc8e59411014bfd640a" - "1.14.0": - url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.14.0.tar.xz" - sha256: "ccd7cce37596e0a19558fd6648d1272ab43f011d80c8635aea8fd0bad58aebd4" - "1.12.20": - url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.12.20.tar.gz" - sha256: "f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa7de5fe" patches: "1.15.2": - patch_file: "patches/0003-meson-monotonic-clock-check.patch" @@ -25,9 +19,3 @@ patches: patch_type: "portability" patch_description: "Fix detection of necessary monotonic clock functions in pthread" patch_source: "https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/352" - "1.12.20": - - patch_file: "patches/0001-cmake-project.patch" - - patch_file: "patches/0002-cmake_configure_checks_list_separator.patch" - patch_type: "portability" - url: "https://gitlab.freedesktop.org/dbus/dbus/-/commit/8cd1c2155252938ed38d2612e4d054c7fc0244c3.patch" - patch_source: "https://gitlab.freedesktop.org/dbus/dbus/-/issues/324" diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index 7be295c8d8605..c20fd3f03b189 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -1,7 +1,6 @@ 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.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain from conan.tools.env import 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 PkgConfigDeps @@ -21,10 +20,12 @@ class DbusConan(ConanFile): homepage = "https://www.freedesktop.org/wiki/Software/dbus" description = "D-Bus is a simple system for interprocess communication and coordination." topics = "bus", "interprocess", "message" - package_type = "shared-library" + package_type = "library" settings = "os", "arch", "compiler", "build_type" short_paths = True options = { + "shared": [True, False], + "fPIC": [True, False], "system_socket": [None, "ANY"], "system_pid_file": [None, "ANY"], "with_x11": [True, False], @@ -34,6 +35,8 @@ class DbusConan(ConanFile): "session_socket_dir": ["ANY"], } default_options = { + "shared": False, + "fPIC": True, "system_socket": None, "system_pid_file": None, "with_x11": False, @@ -43,28 +46,25 @@ class DbusConan(ConanFile): "session_socket_dir": "/tmp", } - @property - def _meson_available(self): - return Version(self.version) >= "1.15.0" - def export_sources(self): export_conandata_patches(self) def config_options(self): - if self.settings.os not in ("Linux", "FreeBSD") or Version(self.version) < "1.14.0": + if self.settings.os not in ("Linux", "FreeBSD"): del self.options.with_systemd if self.settings.os not in ("Linux", "FreeBSD"): del self.options.with_x11 + if self.settings.os == "Windows": + del self.options.fPIC 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 layout(self): - if self._meson_available: - basic_layout(self, src_folder="src") - else: - cmake_layout(self, src_folder="src") + basic_layout(self, src_folder="src") def requirements(self): self.requires("expat/2.5.0") @@ -78,19 +78,13 @@ def requirements(self): self.requires("xorg/system") def validate(self): - if Version(self.version) >= "1.14.0": - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < 7: - raise ConanInvalidConfiguration(f"{self.ref} requires at least gcc 7.") - - if not self._meson_available and self.settings.os == "Windows": - raise ConanInvalidConfiguration(f"{self.ref} does not support Windows. Contributions welcome.") + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < 7: + raise ConanInvalidConfiguration(f"{self.ref} requires at least gcc 7.") def build_requirements(self): - if self._meson_available: - self.tool_requires("meson/1.2.0") - if self._meson_available or self.options.get_safe("with_systemd"): - if not self.conf.get("tools.gnu:pkg_config",check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("meson/1.2.0") + if not self.conf.get("tools.gnu:pkg_config",check_type=str): + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -98,77 +92,38 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if self._meson_available: - tc = MesonToolchain(self) - tc.project_options["asserts"] = not is_apple_os(self) - tc.project_options["checks"] = False - tc.project_options["doxygen_docs"] = "disabled" - tc.project_options["modular_tests"] = "disabled" - tc.project_options["system_socket"] = str(self.options.get_safe("system_socket", "")) - tc.project_options["system_pid_file"] = str(self.options.get_safe("system_pid_file", "")) - tc.project_options["session_socket_dir"] = str(self.options.get_safe("session_socket_dir", "")) - tc.project_options["selinux"] = "enabled" if self.options.get_safe("with_selinux", False) else "disabled" - tc.project_options["systemd"] = "enabled" if self.options.get_safe("with_systemd", False) else "disabled" - if self.options.get_safe("with_systemd", False): - tc.project_options["systemd_system_unitdir"] = os.path.join(self.package_folder, "lib", "systemd", "system") - tc.project_options["systemd_user_unitdir"] = os.path.join(self.package_folder, "lib", "systemd", "user") - if is_apple_os(self): - tc.project_options["launchd_agent_dir"] = os.path.join(self.package_folder, "res", "LaunchAgents") - tc.project_options["x11_autolaunch"] = "enabled" if self.options.get_safe("with_x11", False) else "disabled" - tc.project_options["xml_docs"] = "disabled" - tc.generate() - deps = PkgConfigDeps(self) - deps.generate() - else: - tc = CMakeToolchain(self) - tc.variables["DBUS_BUILD_TESTS"] = False - tc.variables["DBUS_ENABLE_DOXYGEN_DOCS"] = False - tc.variables["DBUS_ENABLE_XML_DOCS"] = False - tc.variables["DBUS_BUILD_X11"] = bool(self.options.get_safe("with_x11", False)) - tc.variables["ENABLE_SYSTEMD"] = "ON" if self.options.get_safe("with_systemd", False) else "OFF" - tc.variables["DBUS_WITH_GLIB"] = bool(self.options.get_safe("with_glib", False)) - tc.variables["DBUS_DISABLE_ASSERT"] = is_apple_os(self) - tc.variables["DBUS_DISABLE_CHECKS"] = False - tc.variables["DBUS_SYSTEM_BUS_DEFAULT_ADDRESS"] = str(self.options.get_safe("system_socket", "")) - - # Conan does not provide an EXPAT_LIBRARIES CMake variable for the Expat library. - # Define EXPAT_LIBRARIES to be the expat::expat target provided by Conan to fix linking. - tc.variables["EXPAT_LIBRARIES"] = "expat::expat" - - # https://github.com/freedesktop/dbus/commit/e827309976cab94c806fda20013915f1db2d4f5a - tc.variables["DBUS_SESSION_SOCKET_DIR"] = str(self.options.get_safe("session_socket_dir", "")) - - tc.cache_variables["CMAKE_FIND_PACKAGE_PREFER_CONFIG"] = False - tc.generate() - cmake_deps = CMakeDeps(self) - cmake_deps.generate() - if self.options.get_safe("with_systemd"): - deps = PkgConfigDeps(self) - deps.generate() + tc = MesonToolchain(self) + tc.project_options["asserts"] = not is_apple_os(self) + tc.project_options["checks"] = False + tc.project_options["doxygen_docs"] = "disabled" + tc.project_options["modular_tests"] = "disabled" + tc.project_options["system_socket"] = str(self.options.get_safe("system_socket", "")) + tc.project_options["system_pid_file"] = str(self.options.get_safe("system_pid_file", "")) + tc.project_options["session_socket_dir"] = str(self.options.get_safe("session_socket_dir", "")) + tc.project_options["selinux"] = "enabled" if self.options.get_safe("with_selinux", False) else "disabled" + tc.project_options["systemd"] = "enabled" if self.options.get_safe("with_systemd", False) else "disabled" + if self.options.get_safe("with_systemd", False): + tc.project_options["systemd_system_unitdir"] = os.path.join(self.package_folder, "lib", "systemd", "system") + tc.project_options["systemd_user_unitdir"] = os.path.join(self.package_folder, "lib", "systemd", "user") + if is_apple_os(self): + tc.project_options["launchd_agent_dir"] = os.path.join(self.package_folder, "res", "LaunchAgents") + tc.project_options["x11_autolaunch"] = "enabled" if self.options.get_safe("with_x11", False) else "disabled" + tc.project_options["xml_docs"] = "disabled" + tc.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) - if self._meson_available: - replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "# subdir('test')") - meson = Meson(self) - meson.configure() - meson.build() - else: - cmake = CMake(self) - build_script_folder = None - if Version(self.version) < "1.14.0": - build_script_folder = "cmake" - cmake.configure(build_script_folder=build_script_folder) - cmake.build() + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "# subdir('test')") + meson = Meson(self) + meson.configure() + meson.build() def package(self): copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - if self._meson_available: - meson = Meson(self) - meson.install() - else: - cmake = CMake(self) - cmake.install() + meson = Meson(self) + meson.install() rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) rmdir(self, os.path.join(self.package_folder, "share", "doc")) @@ -180,6 +135,8 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "systemd")) fix_apple_shared_install_name(self) + if self.settings.os == "Windows" and not self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "libdbus-1.a"), os.path.join(self.package_folder, "lib", "dbus-1.lib")) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self._create_cmake_module_alias_targets( @@ -219,6 +176,9 @@ def package_info(self): else: self.cpp_info.system_libs.append("pthread") + if not self.options.shared: + self.cpp_info.defines.append("DBUS_STATIC_BUILD") + # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = "DBus1" self.cpp_info.filenames["cmake_find_package_multi"] = "DBus1" diff --git a/recipes/dbus/1.x.x/patches/0001-cmake-project.patch b/recipes/dbus/1.x.x/patches/0001-cmake-project.patch deleted file mode 100644 index 2d00f57d33527..0000000000000 --- a/recipes/dbus/1.x.x/patches/0001-cmake-project.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -1,10 +1,3 @@ --# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked --list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/modules") -- --# we do not need to have WIN32 defined --set(CMAKE_LEGACY_CYGWIN_WIN32 0) -- --project(dbus) - - # we need to be up to date - CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2 FATAL_ERROR) -@@ -19,6 +12,9 @@ if(CMAKE_MAJOR_VERSION GREATER 2) - cmake_policy(SET CMP0054 NEW) - endif() - endif() -+set(CMAKE_LEGACY_CYGWIN_WIN32 0) -+project(dbus) -+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/modules") - - # detect version - include(MacrosAutotools) diff --git a/recipes/dbus/1.x.x/patches/0002-cmake_configure_checks_list_separator.patch b/recipes/dbus/1.x.x/patches/0002-cmake_configure_checks_list_separator.patch deleted file mode 100644 index 7c60bf52d5ec2..0000000000000 --- a/recipes/dbus/1.x.x/patches/0002-cmake_configure_checks_list_separator.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake -index a9a5fc90..1a59461a 100644 ---- a/cmake/ConfigureChecks.cmake -+++ b/cmake/ConfigureChecks.cmake -@@ -43,7 +43,7 @@ check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE) # - check_symbol_exists(getgrouplist "grp.h" HAVE_GETGROUPLIST) # dbus-sysdeps.c - check_symbol_exists(getpeerucred "ucred.h" HAVE_GETPEERUCRED) # dbus-sysdeps.c, dbus-sysdeps-win.c - check_symbol_exists(nanosleep "time.h" HAVE_NANOSLEEP) # dbus-sysdeps.c --check_symbol_exists(getpwnam_r "errno.h pwd.h" HAVE_POSIX_GETPWNAM_R) # dbus-sysdeps-util-unix.c -+check_symbol_exists(getpwnam_r "errno.h;pwd.h" HAVE_POSIX_GETPWNAM_R) # dbus-sysdeps-util-unix.c - check_symbol_exists(setenv "stdlib.h" HAVE_SETENV) # dbus-sysdeps.c - check_symbol_exists(unsetenv "stdlib.h" HAVE_UNSETENV) # dbus-sysdeps.c - check_symbol_exists(clearenv "stdlib.h" HAVE_CLEARENV) # dbus-sysdeps.c -@@ -66,7 +66,7 @@ check_symbol_exists(getrlimit "sys/resource.h;sys/time.h" HAVE_GETRLIMIT) - check_symbol_exists(prlimit "sys/resource.h;sys/time.h" HAVE_PRLIMIT) - check_symbol_exists(setrlimit "sys/resource.h;sys/time.h" HAVE_SETRLIMIT) - --check_struct_member(cmsgcred cmcred_pid "sys/types.h sys/socket.h" HAVE_CMSGCRED) # dbus-sysdeps.c -+check_struct_member(cmsgcred cmcred_pid "sys/types.h;sys/socket.h" HAVE_CMSGCRED) # dbus-sysdeps.c - - # missing: - # DBUS_HAVE_GCC33_GCOV diff --git a/recipes/dbus/config.yml b/recipes/dbus/config.yml index b9caba7b44349..53bb57eb6cadc 100644 --- a/recipes/dbus/config.yml +++ b/recipes/dbus/config.yml @@ -5,7 +5,3 @@ versions: folder: 1.x.x "1.15.0": folder: 1.x.x - "1.14.0": - folder: 1.x.x - "1.12.20": - folder: 1.x.x From b65900a5b8d1b1c96b1e99ebc2b8dc8f293fc9bb Mon Sep 17 00:00:00 2001 From: Jason Sobotka Date: Fri, 11 Aug 2023 06:07:06 -0500 Subject: [PATCH 1155/4087] (#18027) [gdal] add version 3.7.0 --- recipes/gdal/config.yml | 2 + recipes/gdal/post_3.5.0/conandata.yml | 6 + .../3.7.0/0-replace-find-package.patch | 282 ++++++++++++++++++ 3 files changed, 290 insertions(+) create mode 100644 recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index 3a324b7465d34..da2f4dc3a9cab 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.0": + folder: "post_3.5.0" "3.5.2": folder: "post_3.5.0" "3.5.1": diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 2dbc2d17b374f..6ac086393ccfd 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.0": + url: "https://github.com/OSGeo/gdal/releases/download/v3.7.0/gdal-3.7.0.tar.gz" + sha256: "5a806d759f403a15bbbf8a14ecc6947071afc5ab91e5abaef0d11d1d2d16bf94" "3.5.2": url: "https://github.com/OSGeo/gdal/releases/download/v3.5.2/gdal-3.5.2.tar.gz" sha256: "fbd696e1b2a858fbd2eb3718db16b14ed9ba82521d3578770d480c74fe1146d2" @@ -6,6 +9,9 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.1/gdal-3.5.1.tar.gz" sha256: "7c4406ca010dc8632703a0a326f39e9db25d9f1f6ebaaeca64a963e3fac123d1" patches: + "3.7.0": + - patch_file: "patches/3.7.0/0-replace-find-package.patch" + base_path: "source_subfolder" "3.5.2": - patch_file: "patches/3.5.2/0-replace-find-package.patch" base_path: "source_subfolder" diff --git a/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch new file mode 100644 index 0000000000000..34401a53eae6d --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch @@ -0,0 +1,282 @@ +diff -urN ./a/alg/CMakeLists.txt ./b/alg/CMakeLists.txt +--- ./a/alg/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 ++++ ./b/alg/CMakeLists.txt 2023-06-06 16:47:02.784509800 -0500 +@@ -73,7 +73,7 @@ + target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) + endif () + +-gdal_target_link_libraries(alg PRIVATE PROJ::proj) ++target_link_libraries(alg PUBLIC PROJ::proj) + + if (GDAL_USE_QHULL_INTERNAL) + target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) +diff -urN ./a/apps/CMakeLists.txt ./b/apps/CMakeLists.txt +--- ./a/apps/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 ++++ ./b/apps/CMakeLists.txt 2023-06-06 16:46:55.380690700 -0500 +@@ -26,7 +26,7 @@ + appslib PRIVATE $ $ + $ $) + +-gdal_target_link_libraries(appslib PRIVATE PROJ::proj) ++target_link_libraries(appslib PUBLIC PROJ::proj) + + set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) + if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) +diff -urN ./a/cmake/helpers/CheckDependentLibraries.cmake ./b/cmake/helpers/CheckDependentLibraries.cmake +--- ./a/cmake/helpers/CheckDependentLibraries.cmake 2023-06-07 09:33:06.599777700 -0500 ++++ ./b/cmake/helpers/CheckDependentLibraries.cmake 2023-06-07 13:38:51.722872200 -0500 +@@ -11,7 +11,8 @@ + include(CheckFunctionExists) + include(CMakeDependentOption) + include(FeatureSummary) +-include(DefineFindPackage2) ++#include(DefineFindPackage2) ++include(ConanFindPackage) + include(CheckSymbolExists) + + option( +@@ -109,51 +110,8 @@ + string(TOUPPER ${name} key) + set(_find_dependency "") + set(_find_dependency_args "") +- if(FIND_PACKAGE2_${name}_ENABLED) +- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) +- else() +- set(_find_package_args) +- if (_GCP_VERSION) +- list(APPEND _find_package_args ${_GCP_VERSION}) +- endif () +- if (_GCP_CONFIG) +- list(APPEND _find_package_args CONFIG) +- endif () +- if (_GCP_COMPONENTS) +- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) +- endif () +- if (_GCP_PATHS) +- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) +- endif () +- if (_GCP_NAMES) +- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") +- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) +- endif () +- if (_GCP_TARGETS) +- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") +- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) +- endif () +- if (GDAL_CHECK_PACKAGE_${name}_NAMES) +- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) +- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) +- if (${name}_FOUND) +- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) +- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") +- endif () +- endif () +- if (NOT ${name}_FOUND) +- find_package(${name} ${_find_package_args}) +- if (${name}_FOUND) +- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) +- elseif (${key}_FOUND) # Some find modules do not set _FOUND +- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) +- set(${name}_FOUND "${key}_FOUND") +- endif () +- if (${name}_FOUND) +- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") +- endif() +- endif () +- endif () ++ ++ find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) + if (${key}_FOUND OR ${name}_FOUND) + if(_GCP_MINIMUM_VERSION) + +@@ -368,14 +326,12 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) +-if (NOT PROJ_FOUND) +- find_package(PROJ 8 CONFIG QUIET) +-endif() ++find_package2(PROJ) ++target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) + if (PROJ_FOUND) + string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") + else() +- find_package(PROJ 6.0 REQUIRED) ++ find_package(proj 6.0 REQUIRED) + string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") + endif () + +@@ -458,15 +414,10 @@ + TARGETS json-c::json-c JSONC::JSONC + ) + gdal_internal_library(JSONC REQUIRED) +-if(TARGET json-c::json-c) +- get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) +- find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) +- list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") +- list(REMOVE_DUPLICATES include_dirs) +- set_target_properties(json-c::json-c PROPERTIES +- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" +- ) +-endif() ++get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) ++list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") ++set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") ++message("Setting include for json-c: ${include_dirs}") + + gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) + gdal_internal_library(OPENCAD) +@@ -527,6 +478,24 @@ + gdal_check_package(SQLite3 "Enable SQLite3 support (used by SQLite/Spatialite, GPKG, Rasterlite, MBTiles, etc.)" + CAN_DISABLE RECOMMENDED) + if (SQLite3_FOUND) ++ set(CMAKE_REQUIRED_INCLUDES ${SQLite3_INCLUDE_DIRS}) ++ check_symbol_exists(sqlite3_mutex_alloc sqlite3ext.h SQLite3_HAS_MUTEX_ALLOC) ++ check_symbol_exists(sqlite3_column_table_name sqlite3ext.h SQLite3_HAS_COLUMN_METADATA) ++ check_symbol_exists(sqlite3_rtree_query_callback sqlite3.h SQLite3_HAS_RTREE) ++ check_symbol_exists(sqlite3_load_extension sqlite3ext.h SQLite3_HAS_LOAD_EXTENSION) ++ # https://www.sqlite.org/compile.html recommends to build with -DSQLITE_OMIT_PROGRESS_CALLBACK ++ # "for applications that are able to use them"... This is sometimes wrongly ++ # understood as recommended in all situations. ++ check_symbol_exists(sqlite3_progress_handler sqlite3.h SQLite3_HAS_PROGRESS_HANDLER) ++ ++ #if(NOT TARGET SQLite::SQLite3) ++ # add_library(SQLite::SQLite3 UNKNOWN IMPORTED) ++ # set_target_properties(SQLite::SQLite3 PROPERTIES ++ # INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIRS}" ++ # IMPORTED_LINK_INTERFACE_LANGUAGES "C" ++ # IMPORTED_LOCATION "${SQLite3_LIBRARY}") ++ #endif() ++ + if (NOT DEFINED SQLite3_HAS_COLUMN_METADATA) + message(FATAL_ERROR "missing SQLite3_HAS_COLUMN_METADATA") + endif () +@@ -566,7 +535,7 @@ + gdal_check_package(SPATIALITE "Enable spatialite support for sqlite3" VERSION 4.1.2 CAN_DISABLE) + gdal_check_package(RASTERLITE2 "Enable RasterLite2 support for sqlite3" VERSION 1.1.0 CAN_DISABLE) + +-find_package(LibKML COMPONENTS DOM ENGINE) ++find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) + if (GDAL_USE_LIBKML) + if (NOT LibKML_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") +diff -urN ./a/cmake/helpers/ConanFindPackage.cmake ./b/cmake/helpers/ConanFindPackage.cmake +--- ./a/cmake/helpers/ConanFindPackage.cmake 1969-12-31 18:00:00.000000000 -0600 ++++ ./b/cmake/helpers/ConanFindPackage.cmake 2023-06-06 16:26:55.800008000 -0500 +@@ -0,0 +1,43 @@ ++ ++function(define_find_package2 pkgname include_file library_name) ++endfunction() ++ ++function(find_package2 pkgname) ++ set(_options QUIET REQUIRED) ++ set(_oneValueArgs OUT_DEPENDENCY) ++ set(_multiValueArgs) ++ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) ++ if(arg_QUIET) ++ set(${pkgname}_FIND_QUIETLY TRUE) ++ endif() ++ if(arg_REQUIRED) ++ set(${pkgname}_FIND_REQUIRED TRUE) ++ endif() ++ ++ string(TOUPPER ${pkgname} key) ++ ++ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") ++ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) ++ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") ++ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) ++ string(TOUPPER ${conan_package} conan_package_upper) ++ ++ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) ++ if (NOT TARGET_FOR_${key}) ++ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") ++ endif() ++ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) ++ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) ++ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) ++ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) ++ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) ++ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) ++ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) ++ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) ++ ++ else () ++ message("dependency ${pkgname} has no conan package") ++ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) ++ endif() ++ ++endfunction() +diff -urN ./a/frmts/hfa/CMakeLists.txt ./b/frmts/hfa/CMakeLists.txt +--- ./a/frmts/hfa/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 ++++ ./b/frmts/hfa/CMakeLists.txt 2023-06-06 16:54:31.162043900 -0500 +@@ -15,7 +15,8 @@ + hfa_overviews.cpp + BUILTIN) + gdal_standard_includes(gdal_HFA) +-target_include_directories(gdal_HFA PRIVATE $) ++target_link_libraries(gdal_HFA INTERFACE PROJ::proj) ++target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) + target_compile_definitions(gdal_HFA PRIVATE $) + + if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) +diff -urN ./a/gdal.cmake ./b/gdal.cmake +--- ./a/gdal.cmake 2023-05-02 08:47:12.000000000 -0500 ++++ ./b/gdal.cmake 2023-06-06 16:55:34.252830900 -0500 +@@ -859,25 +859,6 @@ + ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) + +- # Generate gdal-config utility command and pkg-config module gdal.pc +- include(GdalGenerateConfig) +- gdal_generate_config( +- TARGET +- "${GDAL_LIB_TARGET_NAME}" +- GLOBAL_PROPERTY +- "gdal_private_link_libraries" +- GDAL_CONFIG +- "${PROJECT_BINARY_DIR}/apps/gdal-config" +- PKG_CONFIG +- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") +- install( +- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config +- DESTINATION ${CMAKE_INSTALL_BINDIR} +- COMPONENT applications) +- install( +- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig +- COMPONENT libraries) + endif () + + configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) +diff -urN ./a/ogr/CMakeLists.txt ./b/ogr/CMakeLists.txt +--- ./a/ogr/CMakeLists.txt 2023-05-02 08:47:12.000000000 -0500 ++++ ./b/ogr/CMakeLists.txt 2023-06-06 16:56:18.682151700 -0500 +@@ -89,12 +89,12 @@ + + target_compile_definitions(ogr PRIVATE HAVE_MITAB) + +-gdal_target_link_libraries(ogr PRIVATE PROJ::proj) ++target_link_libraries(ogr PUBLIC PROJ::proj) + + # External libs then + if (GDAL_USE_GEOS) + target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) +- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) ++ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) + endif () + + if (GDAL_USE_SFCGAL) +diff -urN ./a/ogr/ogr_proj_p.h ./b/ogr/ogr_proj_p.h +--- ./a/ogr/ogr_proj_p.h 2023-05-02 08:47:12.000000000 -0500 ++++ ./b/ogr/ogr_proj_p.h 2023-06-06 16:56:30.772908800 -0500 +@@ -29,7 +29,7 @@ + #ifndef OGR_PROJ_P_H_INCLUDED + #define OGR_PROJ_P_H_INCLUDED + +-#include "proj.h" ++#include + + #include "cpl_mem_cache.h" + From 6ad6f3cf709dc5ed2420f316cea75b79fcbec5fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Farr=C3=A9?= Date: Fri, 11 Aug 2023 14:00:51 +0200 Subject: [PATCH 1156/4087] (#18164) [cpuinfo] Add 20230118 20220618 versions * [cpuinfo] Add 20230118 20220618 versions - Refactor package_info and expose clog as a component. Require that component from cpuinfo only in the specific versions that required it * Remove share folder from installed package * Provide CPUINFO_VERSION for test_v1_package * Fix Version handling --- recipes/cpuinfo/all/conandata.yml | 6 +++++ recipes/cpuinfo/all/conanfile.py | 23 ++++++++++++++----- .../cpuinfo/all/test_package/CMakeLists.txt | 8 ++++++- recipes/cpuinfo/all/test_package/conanfile.py | 9 ++++++-- .../cpuinfo/all/test_v1_package/conanfile.py | 1 + recipes/cpuinfo/config.yml | 4 ++++ 6 files changed, 42 insertions(+), 9 deletions(-) diff --git a/recipes/cpuinfo/all/conandata.yml b/recipes/cpuinfo/all/conandata.yml index 6231a9e8c3b97..56ce9c275f3d9 100644 --- a/recipes/cpuinfo/all/conandata.yml +++ b/recipes/cpuinfo/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "cci.20230118": + url: "https://github.com/pytorch/cpuinfo/archive/3dc310302210c1891ffcfb12ae67b11a3ad3a150.tar.gz" + sha256: "f2f4df6d2b01036f36c5e372954e536881cdd59f5c2461c67aa0a92c6d755c61" + "cci.20220618": + url: "https://github.com/pytorch/cpuinfo/archive/082deffc80ce517f81dc2f3aebe6ba671fcd09c9.tar.gz" + sha256: "4379348ec3127b37e854a0a66f85ea1d3c606e5f3a6dce235dc9c69ce663c026" "cci.20220228": url: "https://github.com/pytorch/cpuinfo/archive/6288930068efc8dff4f3c0b95f062fc5ddceba04.tar.gz" sha256: "9e9e937b3569320d23d8b1c8c26ed3603affe55c3e4a3e49622e8a2c6d6e1696" diff --git a/recipes/cpuinfo/all/conanfile.py b/recipes/cpuinfo/all/conanfile.py index 3a1f62573cb43..00574928a56f7 100644 --- a/recipes/cpuinfo/all/conanfile.py +++ b/recipes/cpuinfo/all/conanfile.py @@ -65,9 +65,10 @@ def generate(self): tc.generate() def _patch_sources(self): - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)", - "") + if self.version < "cci.20230118": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)", + "") def build(self): self._patch_sources() @@ -80,9 +81,19 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "libcpuinfo") - self.cpp_info.libs = ["cpuinfo", "clog"] - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread"] + + if self.version < "cci.20230118": + self.cpp_info.components["clog"].libs = ["clog"] + cpuinfo_clog_target = "clog" if self.version < "cci.20220618" else "cpuinfo::clog" + self.cpp_info.components["clog"].set_property("cmake_target_name", cpuinfo_clog_target) + + self.cpp_info.components["cpuinfo"].set_property("cmake_target_name", "cpuinfo::cpuinfo") + self.cpp_info.components["cpuinfo"].libs = ["cpuinfo"] + if self.version < "cci.20230118": + self.cpp_info.components["cpuinfo"].requires = ["clog"] + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.cpp_info.components["cpuinfo"].system_libs.append("pthread") diff --git a/recipes/cpuinfo/all/test_package/CMakeLists.txt b/recipes/cpuinfo/all/test_package/CMakeLists.txt index f7fd88969d977..96ba94c8edef5 100644 --- a/recipes/cpuinfo/all/test_package/CMakeLists.txt +++ b/recipes/cpuinfo/all/test_package/CMakeLists.txt @@ -4,5 +4,11 @@ project(test_package LANGUAGES C) find_package(cpuinfo REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE cpuinfo::cpuinfo) +if ((${CPUINFO_VERSION} GREATER_EQUAL "20220618") AND (${CPUINFO_VERSION} LESS "20230118")) + # in that version range cpuinfo exposed cpuinfo::clog. Check that is available through conan recipe + target_link_libraries(${PROJECT_NAME} PRIVATE cpuinfo::cpuinfo cpuinfo::clog) +else () + target_link_libraries(${PROJECT_NAME} PRIVATE cpuinfo::cpuinfo) +endif() + target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/cpuinfo/all/test_package/conanfile.py b/recipes/cpuinfo/all/test_package/conanfile.py index 0a6bc68712d90..2690818e47570 100644 --- a/recipes/cpuinfo/all/test_package/conanfile.py +++ b/recipes/cpuinfo/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -15,6 +15,11 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CPUINFO_VERSION"] = str(self.dependencies["cpuinfo"].ref.version).split('.')[1] + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/cpuinfo/all/test_v1_package/conanfile.py b/recipes/cpuinfo/all/test_v1_package/conanfile.py index 38f4483872d47..ea57bb8b3a514 100644 --- a/recipes/cpuinfo/all/test_v1_package/conanfile.py +++ b/recipes/cpuinfo/all/test_v1_package/conanfile.py @@ -8,6 +8,7 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) + cmake.definitions["CPUINFO_VERSION"] = self.deps_cpp_info["cpuinfo"].version.split('.')[1] cmake.configure() cmake.build() diff --git a/recipes/cpuinfo/config.yml b/recipes/cpuinfo/config.yml index a6383a8ac8924..8e98d8506c888 100644 --- a/recipes/cpuinfo/config.yml +++ b/recipes/cpuinfo/config.yml @@ -1,4 +1,8 @@ versions: + "cci.20230118": + folder: all + "cci.20220618": + folder: all "cci.20220228": folder: all "cci.20201217": From f4635a5ab2b2d0c9f73ba41f247885c3c7d95d24 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Fri, 11 Aug 2023 14:52:00 +0200 Subject: [PATCH 1157/4087] (#18771) Add libde265/1.0.12 Since 1.0.12 release win lib has lib prefix See https://github.com/strukturag/libde265/compare/v1.0.12..v1.0.11#diff-9d651a9edfe60c8a6d63c14ddc658ecec43e23b1376257c555d4e15577e52f41 --- recipes/libde265/all/conandata.yml | 3 +++ recipes/libde265/all/conanfile.py | 3 ++- recipes/libde265/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/libde265/all/conandata.yml b/recipes/libde265/all/conandata.yml index 1536fa75197a7..d9b1262d06c1f 100644 --- a/recipes/libde265/all/conandata.yml +++ b/recipes/libde265/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.12": + url: "https://github.com/strukturag/libde265/releases/download/v1.0.12/libde265-1.0.12.tar.gz" + sha256: "62185ea2182e68cf68bba20cc6eb4c287407b509cf0a827d7ddb75614db77b5c" "1.0.11": url: "https://github.com/strukturag/libde265/releases/download/v1.0.11/libde265-1.0.11.tar.gz" sha256: "2f8f12cabbdb15e53532b7c1eb964d4e15d444db1be802505e6ac97a25035bab" diff --git a/recipes/libde265/all/conanfile.py b/recipes/libde265/all/conanfile.py index 286e6952e05dc..6618b97bf0692 100644 --- a/recipes/libde265/all/conanfile.py +++ b/recipes/libde265/all/conanfile.py @@ -106,7 +106,8 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "de265") self.cpp_info.set_property("cmake_target_aliases", ["libde265"]) # official imported target before 1.0.10 self.cpp_info.set_property("pkg_config_name", "libde265") - prefix = "lib" if Version(self.version) < "1.0.10" else "" + version = Version(self.version) + prefix = "lib" if (version < "1.0.10" or (version > "1.0.11" and self.settings.os == "Windows" and not self.options.shared)) else "" self.cpp_info.libs = [f"{prefix}de265"] if not self.options.shared: self.cpp_info.defines = ["LIBDE265_STATIC_BUILD"] diff --git a/recipes/libde265/config.yml b/recipes/libde265/config.yml index d32ffee4c65d8..2745db31bb6cd 100644 --- a/recipes/libde265/config.yml +++ b/recipes/libde265/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.12": + folder: all "1.0.11": folder: all "1.0.9": From 78976dd93818c5217b227d539800fce114be6e66 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 11 Aug 2023 15:23:51 +0200 Subject: [PATCH 1158/4087] (#19150) [mpfr] Fix when building shared library on Linux Signed-off-by: Uilian Ries --- recipes/mpfr/all/conanfile.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/mpfr/all/conanfile.py b/recipes/mpfr/all/conanfile.py index 03acd9af8c081..0356da09ec7fb 100644 --- a/recipes/mpfr/all/conanfile.py +++ b/recipes/mpfr/all/conanfile.py @@ -5,6 +5,8 @@ from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps from conan.tools.microsoft import is_msvc, check_min_vs, unix_path from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import VirtualRunEnv +from conan.tools.build import cross_building from conan.errors import ConanException import os import re @@ -73,6 +75,9 @@ def source(self): destination=self.source_folder, strip_root=True) def generate(self): + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") if self.settings.os == "Windows": if is_msvc(self) and not check_min_vs(self, 193, raise_invalid=False) and \ not self.conf.get("tools.cmake.cmaketoolchain:generator", check_type=str): @@ -126,9 +131,8 @@ def _extract_mpfr_autotools_variables(self): defs = self._extract_makefile_variable(makefile, "DEFS") return sources, headers, defs - def build(self): + def _patch_sources(self): apply_conandata_patches(self) - if self.settings.os == "Windows": # Allow mixed shared and static libs replace_in_file(self, os.path.join(self.source_folder, "configure"), 'as_fn_error $? "libgmp isn\'t provided as a DLL: use --enable-static --disable-shared" "$LINENO" 5', @@ -144,6 +148,8 @@ def build(self): "", "") save(self, "gmp.h", "#pragma once\n#include \n") + def build(self): + self._patch_sources() autotools = Autotools(self) autotools.configure() # Need to generate Makefile to extract variables for CMake below From d05b789cd0ec20451364609c5372d53399b78738 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 11 Aug 2023 16:26:45 +0200 Subject: [PATCH 1159/4087] (#18611) at-spi2-core: conan V2 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * at-spi2-core: conan V2 compatibility * bump deps * add glib as tool requirement * Use proper conan min version check * Option * Add package_type --------- Co-authored-by: Rubén Rincón Blanco --- recipes/at-spi2-core/new/conanfile.py | 22 ++++++------- .../new/test_package/CMakeLists.txt | 9 ----- .../new/test_package/conanfile.py | 33 ++++++++++++++----- .../at-spi2-core/new/test_package/meson.build | 5 +++ 4 files changed, 39 insertions(+), 30 deletions(-) delete mode 100644 recipes/at-spi2-core/new/test_package/CMakeLists.txt create mode 100644 recipes/at-spi2-core/new/test_package/meson.build diff --git a/recipes/at-spi2-core/new/conanfile.py b/recipes/at-spi2-core/new/conanfile.py index 85d759b7547fc..041ae5da456f1 100644 --- a/recipes/at-spi2-core/new/conanfile.py +++ b/recipes/at-spi2-core/new/conanfile.py @@ -9,7 +9,8 @@ import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" + class AtSpi2CoreConan(ConanFile): name = "at-spi2-core" description = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked" @@ -20,17 +21,18 @@ class AtSpi2CoreConan(ConanFile): provides = "at-spi2-atk", "atk" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "with_x11": [True, False], - } + } default_options = { "shared": False, "fPIC": True, "with_x11": False, - } + } def export_sources(self): export_conandata_patches(self) @@ -40,22 +42,21 @@ def configure(self): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") - if self.options.shared: - self.options["glib"].shared = True def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") + self.tool_requires("glib/") def requirements(self): - self.requires("glib/2.76.3") + self.requires("glib/2.77.0") if self.options.with_x11: self.requires("xorg/system") self.requires("dbus/1.15.6") def validate(self): - if self.options.shared and not self.options["glib"].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." ) @@ -123,6 +124,3 @@ def package_info(self): 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') - - def package_id(self): - self.info.requires["glib"].full_package_mode() diff --git a/recipes/at-spi2-core/new/test_package/CMakeLists.txt b/recipes/at-spi2-core/new/test_package/CMakeLists.txt deleted file mode 100644 index afa2476357074..0000000000000 --- a/recipes/at-spi2-core/new/test_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/at-spi2-core/new/test_package/conanfile.py b/recipes/at-spi2-core/new/test_package/conanfile.py index d4128b0450777..74125d16c3d5f 100644 --- a/recipes/at-spi2-core/new/test_package/conanfile.py +++ b/recipes/at-spi2-core/new/test_package/conanfile.py @@ -1,17 +1,32 @@ -from conans import ConanFile, CMake, tools +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", "compiler", "build_type", "arch" - generators = "cmake" + 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.0") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.5") def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() + meson = Meson(self) + meson.configure() + meson.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/at-spi2-core/new/test_package/meson.build b/recipes/at-spi2-core/new/test_package/meson.build new file mode 100644 index 0000000000000..a6950ebe6d4ab --- /dev/null +++ b/recipes/at-spi2-core/new/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('atspi-2') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) From 49ccd98bb1ff5deb1fd34cad484e7393e0723a85 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Fri, 11 Aug 2023 17:08:26 +0200 Subject: [PATCH 1160/4087] (#18719) Add Alembic 1.8.5 * Add Alembic 1.8.5 * Update recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch Co-authored-by: Martin Valgur * Update 1.8.5-0001-fix-cmake.patch Co-authored-by: Martin Valgur --------- Co-authored-by: Martin Valgur Co-authored-by: Uilian Ries --- recipes/alembic/all/conandata.yml | 7 +++++ .../all/patches/1.8.5-0001-fix-cmake.patch | 26 +++++++++++++++++++ recipes/alembic/config.yml | 2 ++ 3 files changed, 35 insertions(+) create mode 100644 recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch diff --git a/recipes/alembic/all/conandata.yml b/recipes/alembic/all/conandata.yml index bf7fb209af8bc..c09b44adc0b83 100644 --- a/recipes/alembic/all/conandata.yml +++ b/recipes/alembic/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.5": + url: "https://github.com/alembic/alembic/archive/1.8.5.tar.gz" + sha256: "180a12f08d391cd89f021f279dbe3b5423b1db751a9898540c8059a45825c2e9" "1.8.3": url: "https://github.com/alembic/alembic/archive/1.8.3.tar.gz" sha256: "b0bc74833bff118a869e81e6acb810a58797e77ef63143954b2f8e817c7f65cb" @@ -6,6 +9,10 @@ sources: url: "https://github.com/alembic/alembic/archive/refs/tags/1.8.2.tar.gz" sha256: "3f1c466ee1600578689b32b1f2587066d3259704ec7ed1fcf80c324d01274f48" patches: + "1.8.5": + - patch_file: "patches/1.8.5-0001-fix-cmake.patch" + patch_description: "Disable a line in a CMakeLists.txt to build with shared=True" + patch_type: "portability" "1.8.3": - patch_file: "patches/1.8.2-0001-fix-cmake.patch" "1.8.2": diff --git a/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch b/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch new file mode 100644 index 0000000000000..3ebad2885a641 --- /dev/null +++ b/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch @@ -0,0 +1,26 @@ +--- a/lib/Alembic/CMakeLists.txt ++++ b/lib/Alembic/CMakeLists.txt +@@ -68,7 +68,6 @@ IF (ALEMBIC_SHARED_LIBS) + + if (ALEMBIC_USING_IMATH_3) + if (APPLE OR UNIX) +- set_target_properties(Alembic PROPERTIES INSTALL_RPATH "$") + endif () + endif () + ENDIF() +@@ -87,9 +87,9 @@ TARGET_LINK_LIBRARIES(Alembic + SET( ALEMBIC_LIB_INSTALL_DIR lib CACHE STRING "Where to install the Alembic libs") + INSTALL(TARGETS Alembic + EXPORT AlembicTargets +- LIBRARY DESTINATION ${ALEMBIC_LIB_INSTALL_DIR} +- ARCHIVE DESTINATION ${ALEMBIC_LIB_INSTALL_DIR} +- RUNTIME DESTINATION ${ALEMBIC_LIB_INSTALL_DIR}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + #-****************************************************************************** + # PACKAGE EXPORTS +-- +2.41.0 + diff --git a/recipes/alembic/config.yml b/recipes/alembic/config.yml index 68197c279a4ee..d20dd33414a44 100644 --- a/recipes/alembic/config.yml +++ b/recipes/alembic/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.5": + folder: all "1.8.3": folder: all "1.8.2": From 1485a373e72c9017500133c8cae3b32c171e4514 Mon Sep 17 00:00:00 2001 From: PeteAudinate <99274874+PeteAudinate@users.noreply.github.com> Date: Fri, 11 Aug 2023 19:46:55 +0100 Subject: [PATCH 1161/4087] (#17882) b2: Support CXX from a VirtualBuildEnv * Use environment from VirtualBuildEnv to get CXX/CXXFLAGS * Write a project-config.jam file containing the toolset from CXX This ensures the b2 install command can find the correct compiler binary. --------- Co-authored-by: Chris Mc --- recipes/b2/portable/conanfile.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/recipes/b2/portable/conanfile.py b/recipes/b2/portable/conanfile.py index dad95965dea31..829c74015b1ef 100644 --- a/recipes/b2/portable/conanfile.py +++ b/recipes/b2/portable/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv from conan.tools.files import chdir, copy, get from conan.tools.layout import basic_layout @@ -107,6 +108,12 @@ def _bootstrap_env(self): os.environ.clear() os.environ.update(saved_env) + def _write_project_config(self, cxx): + with open(os.path.join(self.source_folder, "project-config.jam"), "w") as f: + f.write( + f"using {self.options.toolset} : : {cxx} ;\n" + ) + def build(self): # The order of the with:with: below is important. The first one changes # the current dir. While the second does env changes that guarantees @@ -139,10 +146,14 @@ def build(self): command += "build" if use_windows_commands else "./build.sh" if self.options.use_cxx_env: - cxx = os.environ.get("CXX") + envvars = VirtualBuildEnv(self).vars() + + cxx = envvars.get("CXX") if cxx: command += f" --cxx={cxx}" - cxxflags = os.environ.get("CXXFLAGS") + self._write_project_config(cxx) + + cxxflags = envvars.get("CXXFLAGS") if cxxflags: command += f" --cxxflags={cxxflags}" From ba719d617331f6432ae68488cc832e1953bca1ec Mon Sep 17 00:00:00 2001 From: James Date: Sun, 13 Aug 2023 12:22:25 +0200 Subject: [PATCH 1162/4087] (#18961) fix fastdds binaries --- recipes/fast-dds/all/conanfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/fast-dds/all/conanfile.py b/recipes/fast-dds/all/conanfile.py index d47f222eebac4..e8ad7b42a13f0 100644 --- a/recipes/fast-dds/all/conanfile.py +++ b/recipes/fast-dds/all/conanfile.py @@ -1,3 +1,6 @@ +import os +import textwrap + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd @@ -15,8 +18,7 @@ ) from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime, is_msvc, msvc_runtime_flag from conan.tools.scm import Version -import os -import textwrap + required_conan_version = ">=1.53.0" @@ -69,7 +71,7 @@ def layout(self): def requirements(self): self.requires("tinyxml2/9.0.0") - self.requires("asio/1.28.0") + self.requires("asio/1.28.0") # This is now a package_type = header self.requires("fast-cdr/1.0.27", transitive_headers=True, transitive_libs=True) self.requires("foonathan-memory/0.7.3") if self.options.with_ssl: From f9102fd6be2e512122b5b66d14c5589d83fc9733 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 13 Aug 2023 12:42:35 +0200 Subject: [PATCH 1163/4087] (#15193) opencv 4.x: refactor to allow fine-grained selection of each module/contrib * allow to build opencv_objdetect without dnn in 4.5.5 It has been "fixed" upstream for OpenCV 4.6.0 It fixes few things in this recipe: - avoid a bug where quirc is in requirements, but not required by any component in package_indo() when dnn is False - a regression introduced by https://github.com/conan-io/conan-center-index/pull/11009. Indeed objdetect can be built without dnn in all OpenCV version before 4.5.4, so this PR was breaking these versions when dnn was False by not exposing opencv_objdetect and few contrib components. * add missing contrib components when dnn is True components: - dnn_objdetect & opencv_text - dnn_superres since 4.1.2 - mcc since 4.5.0 - wechat_qrcode since 4.5.2 - barcode since 4.5.3 * fix photo & stitching components when cuda is enabled * add quality component in contrib only if version >= 4.1.0 * add dnn as an option dependency of video since 4.5.1 * dnn is an optional dependency of tracking * text is an optional dependency of datasets * move cuda components under contrib * fix requires of several contrib components * improve requires of main components * add an option for each contrib and deprecate contrib option * fix internal requirements of tracking module * force disable tesseract in text module for the moment * deprecate with_ade option in favor of gapi option * add option to allow to disable stitching module * remove useless comments * adapt test package to new options * add option to allow disabling highgui * add option to allow disabling videoio * add option to allow disabling ml * add option to allow disabling photo * move options related to modules first * add missing frameworks for imgcodecs * add with_tesseract option for text module * also handle cuda contribs * add option to allow disabling objdetect * add option to allow disabling video * prefer to force enable options required by modules explicitly required by consumers * improve CMakeLists of test package * add option to allow disabling imgcodecs * typo * remove with_imgcodec_* options when imgcodecs module is disabled * add option to allow disabling calib3d * add option to allow disabling features2d * classification of options by category * add option to allow disabling flann * split executables in test package per tested module * add option to allow disabling imgproc * opencv 4.x requires at least C++11 * test opencv_core * add options for gdal & gdcm support in imgcodecs * test opencv_imgcodecs * minor change * add missing mantadory dependency to tracking * minor change * add contrib_ovis option * add contrib_hdf option * fix system libs of opencv_gapi on Windows * remove with_v4l option if videoio module is disabled * control build of cudev through with_cuda option * add vulkan support in dnn module * add with_opencl option * do not build Android examples * fix discovery of zlib static if Android * fix install layout for Android * better filter to collect extra libs in opencv core * remove contrib prefix * add deprecation messages * alphamat requires eigen support * fix injection of cpu_baseline and cpu_dispatch in case of empty string * neon stuff * pass False to WITH_FFMPEG if option removed * remove deprecated options from package id * simplify * add cvv and viz options viz module can't be enabled yet, due to lack of vtk recipe in conan-center * avoid redefining cmake variables * do not force disable openexr if Android * better handling of qt * no base_path in conandata.yml * fix qt link * improve deprecated contrib option handling * factorize modules in options & default_options * declare frameworks & system_libs in _opencv_modules * typo * fix link to qt in cvv module * add a test of calib3d module * add a test of flann module * add a test of objdetect module * add a test of video module * add a test of photo module * add a test of stitching module * add a test of ml module * add a test of highgui module * parallel ctest in test package * add a test of features2d module * add a test of freetype module * parallel ctest in test v1 package * add a test of structured_light module * add a test of shape module * add a test of reg module * simplify test_imgproc.cpp * test more extra modules * more elegant workaround of get_safe in test_v1_package * small change * missing tesseract in requires of text component * add a test of text module * add test of xfeatures2d module * add test of ximgproc module * test more extra modules * add missing header in alphamat.hpp * typo * sfm module needs eigen enabled * test more extra modules * test more extra modules * test more extra modules * simplify CMakeLists of test package * simplify test package even more * test more modules * adapt dnn_superres test to work with old versions * fix build of sfm extra module in opencv < 4.5.3 * check again internal dependencies between options in validate() in conan v2 downstream options values always have precedence, so we have to check again in validate() that combination of opencv options is still valid * add world option * minor change * minor comment change * factorize a little bit * bump protobuf to 3.21.9 * compat with openexr 3.x in old opencv versions * add res to resdirs of components * bump dependencies * some conan v2 stuff * bump freetype * properly set requires of each component regarding eigen Eigen is a private dependency of: - calib3d - core - features2d - stitching - rgbd - sfm - ximgproc * fix cuda internal dependencies * use self.dependencies["ffmpeg"] * fix ffmpeg required components * improve ffmpeg handling * ffmpeg workaround for the moment * bump ffmpeg * avutil always available in ffmpeg * bump dependencies * factorize * remove patches of removed versions * fix world option * bump dependencies * fix typo in requires of cudacodec * bump several dependencies * Update recipes/opencv/4.x/conandata.yml Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/opencv/4.x/conandata.yml | 66 +- recipes/opencv/4.x/conanfile.py | 1506 ++++++++++++----- .../4.1.2-0005-tracking-no-plot-deps.patch | 7 + .../opencv/4.x/patches/4.1.2-0006-hdf.patch | 21 + .../patches/4.1.2-0008-link-qt-targets.patch | 29 + .../4.x/patches/4.1.2-0009-sfm-deps.patch | 49 + .../4.1.2-0010-compat-protobuf-ge-3.18.patch | 22 + .../patches/4.1.2-0011-compat-openexr3.patch | 10 + .../4.5.1-0001-tracking-no-plot-deps.patch | 13 + .../patches/4.5.1-0002-alphamat-header.patch | 11 + .../patches/4.5.3-0002-link-qt-targets.patch | 30 + .../4.5.5-0002-objdetect-without-dnn.patch | 97 ++ .../4.x/patches/4.5.5-0003-find-quirc.patch | 12 + .../patches/4.5.5-0004-link-qt-targets.patch | 22 + .../opencv/4.x/test_package/CMakeLists.txt | 55 +- recipes/opencv/4.x/test_package/conanfile.py | 37 +- .../opencv/4.x/test_package/test_alphamat.cpp | 10 + .../opencv/4.x/test_package/test_aruco.cpp | 9 + .../opencv/4.x/test_package/test_bgsegm.cpp | 6 + .../4.x/test_package/test_bioinspired.cpp | 6 + .../opencv/4.x/test_package/test_calib3d.cpp | 26 + .../opencv/4.x/test_package/test_ccalib.cpp | 8 + recipes/opencv/4.x/test_package/test_core.cpp | 6 + .../opencv/4.x/test_package/test_datasets.cpp | 6 + recipes/opencv/4.x/test_package/test_dnn.cpp | 6 + .../4.x/test_package/test_dnn_superres.cpp | 6 + recipes/opencv/4.x/test_package/test_face.cpp | 6 + .../4.x/test_package/test_features2d.cpp | 6 + .../opencv/4.x/test_package/test_flann.cpp | 28 + .../opencv/4.x/test_package/test_freetype.cpp | 6 + .../opencv/4.x/test_package/test_fuzzy.cpp | 9 + recipes/opencv/4.x/test_package/test_gapi.cpp | 18 + recipes/opencv/4.x/test_package/test_hdf.cpp | 6 + recipes/opencv/4.x/test_package/test_hfs.cpp | 6 + .../opencv/4.x/test_package/test_highgui.cpp | 8 + .../opencv/4.x/test_package/test_img_hash.cpp | 10 + .../4.x/test_package/test_imgcodecs.cpp | 9 + .../opencv/4.x/test_package/test_imgproc.cpp | 14 + .../test_package/test_intensity_transform.cpp | 9 + .../4.x/test_package/test_line_descriptor.cpp | 6 + recipes/opencv/4.x/test_package/test_mcc.cpp | 6 + recipes/opencv/4.x/test_package/test_ml.cpp | 6 + .../4.x/test_package/test_objdetect.cpp | 17 + .../opencv/4.x/test_package/test_optflow.cpp | 7 + .../opencv/4.x/test_package/test_package.cpp | 235 --- .../test_package/test_phase_unwrapping.cpp | 6 + .../opencv/4.x/test_package/test_photo.cpp | 10 + recipes/opencv/4.x/test_package/test_plot.cpp | 12 + .../opencv/4.x/test_package/test_quality.cpp | 8 + recipes/opencv/4.x/test_package/test_reg.cpp | 9 + recipes/opencv/4.x/test_package/test_rgbd.cpp | 7 + .../opencv/4.x/test_package/test_saliency.cpp | 6 + recipes/opencv/4.x/test_package/test_sfm.cpp | 10 + .../opencv/4.x/test_package/test_shape.cpp | 6 + .../4.x/test_package/test_stitching.cpp | 13 + .../test_package/test_structured_light.cpp | 6 + .../opencv/4.x/test_package/test_superres.cpp | 6 + .../test_package/test_surface_matching.cpp | 7 + recipes/opencv/4.x/test_package/test_text.cpp | 11 + .../opencv/4.x/test_package/test_tracking.cpp | 6 + .../opencv/4.x/test_package/test_video.cpp | 7 + .../opencv/4.x/test_package/test_videoio.cpp | 11 + .../4.x/test_package/test_wechat_qrcode.cpp | 9 + .../4.x/test_package/test_xfeatures2d.cpp | 6 + .../opencv/4.x/test_package/test_ximgproc.cpp | 6 + .../4.x/test_package/test_xobjdetect.cpp | 6 + .../opencv/4.x/test_package/test_xphoto.cpp | 6 + .../opencv/4.x/test_v1_package/CMakeLists.txt | 4 +- .../opencv/4.x/test_v1_package/conanfile.py | 40 +- 69 files changed, 2042 insertions(+), 664 deletions(-) create mode 100644 recipes/opencv/4.x/patches/4.1.2-0005-tracking-no-plot-deps.patch create mode 100644 recipes/opencv/4.x/patches/4.1.2-0006-hdf.patch create mode 100644 recipes/opencv/4.x/patches/4.1.2-0008-link-qt-targets.patch create mode 100644 recipes/opencv/4.x/patches/4.1.2-0009-sfm-deps.patch create mode 100644 recipes/opencv/4.x/patches/4.1.2-0010-compat-protobuf-ge-3.18.patch create mode 100644 recipes/opencv/4.x/patches/4.1.2-0011-compat-openexr3.patch create mode 100644 recipes/opencv/4.x/patches/4.5.1-0001-tracking-no-plot-deps.patch create mode 100644 recipes/opencv/4.x/patches/4.5.1-0002-alphamat-header.patch create mode 100644 recipes/opencv/4.x/patches/4.5.3-0002-link-qt-targets.patch create mode 100644 recipes/opencv/4.x/patches/4.5.5-0002-objdetect-without-dnn.patch create mode 100644 recipes/opencv/4.x/patches/4.5.5-0003-find-quirc.patch create mode 100644 recipes/opencv/4.x/patches/4.5.5-0004-link-qt-targets.patch create mode 100644 recipes/opencv/4.x/test_package/test_alphamat.cpp create mode 100644 recipes/opencv/4.x/test_package/test_aruco.cpp create mode 100644 recipes/opencv/4.x/test_package/test_bgsegm.cpp create mode 100644 recipes/opencv/4.x/test_package/test_bioinspired.cpp create mode 100644 recipes/opencv/4.x/test_package/test_calib3d.cpp create mode 100644 recipes/opencv/4.x/test_package/test_ccalib.cpp create mode 100644 recipes/opencv/4.x/test_package/test_core.cpp create mode 100644 recipes/opencv/4.x/test_package/test_datasets.cpp create mode 100644 recipes/opencv/4.x/test_package/test_dnn.cpp create mode 100644 recipes/opencv/4.x/test_package/test_dnn_superres.cpp create mode 100644 recipes/opencv/4.x/test_package/test_face.cpp create mode 100644 recipes/opencv/4.x/test_package/test_features2d.cpp create mode 100644 recipes/opencv/4.x/test_package/test_flann.cpp create mode 100644 recipes/opencv/4.x/test_package/test_freetype.cpp create mode 100644 recipes/opencv/4.x/test_package/test_fuzzy.cpp create mode 100644 recipes/opencv/4.x/test_package/test_gapi.cpp create mode 100644 recipes/opencv/4.x/test_package/test_hdf.cpp create mode 100644 recipes/opencv/4.x/test_package/test_hfs.cpp create mode 100644 recipes/opencv/4.x/test_package/test_highgui.cpp create mode 100644 recipes/opencv/4.x/test_package/test_img_hash.cpp create mode 100644 recipes/opencv/4.x/test_package/test_imgcodecs.cpp create mode 100644 recipes/opencv/4.x/test_package/test_imgproc.cpp create mode 100644 recipes/opencv/4.x/test_package/test_intensity_transform.cpp create mode 100644 recipes/opencv/4.x/test_package/test_line_descriptor.cpp create mode 100644 recipes/opencv/4.x/test_package/test_mcc.cpp create mode 100644 recipes/opencv/4.x/test_package/test_ml.cpp create mode 100644 recipes/opencv/4.x/test_package/test_objdetect.cpp create mode 100644 recipes/opencv/4.x/test_package/test_optflow.cpp delete mode 100644 recipes/opencv/4.x/test_package/test_package.cpp create mode 100644 recipes/opencv/4.x/test_package/test_phase_unwrapping.cpp create mode 100644 recipes/opencv/4.x/test_package/test_photo.cpp create mode 100644 recipes/opencv/4.x/test_package/test_plot.cpp create mode 100644 recipes/opencv/4.x/test_package/test_quality.cpp create mode 100644 recipes/opencv/4.x/test_package/test_reg.cpp create mode 100644 recipes/opencv/4.x/test_package/test_rgbd.cpp create mode 100644 recipes/opencv/4.x/test_package/test_saliency.cpp create mode 100644 recipes/opencv/4.x/test_package/test_sfm.cpp create mode 100644 recipes/opencv/4.x/test_package/test_shape.cpp create mode 100644 recipes/opencv/4.x/test_package/test_stitching.cpp create mode 100644 recipes/opencv/4.x/test_package/test_structured_light.cpp create mode 100644 recipes/opencv/4.x/test_package/test_superres.cpp create mode 100644 recipes/opencv/4.x/test_package/test_surface_matching.cpp create mode 100644 recipes/opencv/4.x/test_package/test_text.cpp create mode 100644 recipes/opencv/4.x/test_package/test_tracking.cpp create mode 100644 recipes/opencv/4.x/test_package/test_video.cpp create mode 100644 recipes/opencv/4.x/test_package/test_videoio.cpp create mode 100644 recipes/opencv/4.x/test_package/test_wechat_qrcode.cpp create mode 100644 recipes/opencv/4.x/test_package/test_xfeatures2d.cpp create mode 100644 recipes/opencv/4.x/test_package/test_ximgproc.cpp create mode 100644 recipes/opencv/4.x/test_package/test_xobjdetect.cpp create mode 100644 recipes/opencv/4.x/test_package/test_xphoto.cpp diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml index 3da12bba6234f..694b74e2be5aa 100644 --- a/recipes/opencv/4.x/conandata.yml +++ b/recipes/opencv/4.x/conandata.yml @@ -5,25 +5,42 @@ sources: - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.5.tar.gz" sha256: "a97c2eaecf7a23c6dbd119a609c6d7fae903e5f9ff5f1fe678933e01c67a6c11" "4.5.3": - - url: "https://github.com/opencv/opencv/archive/4.5.3.tar.gz" + - url: "https://github.com/opencv/opencv/archive/refs/tags/4.5.3.tar.gz" sha256: "77f616ae4bea416674d8c373984b20c8bd55e7db887fd38c6df73463a0647bab" - - url: "https://github.com/opencv/opencv_contrib/archive/4.5.3.tar.gz" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.3.tar.gz" sha256: "73da052fd10e73aaba2560eaff10cc5177e2dcc58b27f8aedf7c649e24c233bc" "4.1.2": - - url: "https://github.com/opencv/opencv/archive/4.1.2.tar.gz" + - url: "https://github.com/opencv/opencv/archive/refs/tags/4.1.2.tar.gz" sha256: "385dd0a9c25e67ef0dd60e022d2a2d7b17e2f36819cf3cb46aa8cdff5c5282c9" - - url: "https://github.com/opencv/opencv_contrib/archive/4.1.2.tar.gz" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.1.2.tar.gz" sha256: "0f6c3d30baa39e3e7611afb481ee86dea45dafb182cac87d570c95dccd83eb8b" patches: "4.5.5": - 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-0002-objdetect-without-dnn.patch" + patch_description: "Allow to build objdetect module without dnn" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv/pull/21369" + - patch_file: "patches/4.5.5-0003-find-quirc.patch" + patch_description: "Robust discovery & injection of quirc" + patch_type: "conan" + - patch_file: "patches/4.5.5-0004-link-qt-targets.patch" + patch_description: "Link to Qt through CMake targets" + patch_type: "conan" - patch_file: "patches/4.5.0-0002-find-ade.patch" patch_description: "Robust discovery & injection of ade" patch_type: "conan" - - patch_file: "patches/4.1.2-0003-find-quirc.patch" - patch_description: "Robust discovery & injection of quirc" + - 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.5.1-0002-alphamat-header.patch" + patch_description: "Add missing header in alphamat.hpp" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv_contrib/pull/3422" + - patch_file: "patches/4.1.2-0006-hdf.patch" + patch_description: "Robust discovery of hdf" patch_type: "conan" - patch_file: "patches/4.5.2-0001-fix-zlib-static-android.patch" patch_description: "Fix discovery of zlib static if Android" @@ -35,18 +52,35 @@ patches: - patch_file: "patches/4.5.3-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" patch_type: "conan" + - patch_file: "patches/4.5.3-0002-link-qt-targets.patch" + patch_description: "Link to Qt through CMake targets" + patch_type: "conan" - patch_file: "patches/4.5.0-0002-find-ade.patch" patch_description: "Robust discovery & injection of ade" patch_type: "conan" - patch_file: "patches/4.1.2-0003-find-quirc.patch" patch_description: "Robust discovery & injection of quirc" 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.5.1-0002-alphamat-header.patch" + patch_description: "Add missing header in alphamat.hpp" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv_contrib/pull/3422" + - patch_file: "patches/4.1.2-0006-hdf.patch" + patch_description: "Robust discovery of hdf" + patch_type: "conan" - patch_file: "patches/4.5.2-0001-fix-zlib-static-android.patch" patch_description: "Fix discovery of zlib static if Android" patch_type: "conan" - patch_file: "patches/4.1.2-0007-android-install-layout.patch" patch_description: "Honor install layout from conan if Android" patch_type: "conan" + - patch_file: "patches/4.1.2-0010-compat-protobuf-ge-3.18.patch" + patch_description: "Compatibility with protobuf >= 3.18" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv/pull/20386" "4.1.2": - patch_file: "patches/4.1.2-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" @@ -60,6 +94,26 @@ patches: - patch_file: "patches/4.1.2-0004-jasper.patch" patch_description: "Compatibility with recent jasper versions" patch_type: "portability" + - patch_file: "patches/4.1.2-0005-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.1.2-0007-android-install-layout.patch" patch_description: "Honor install layout from conan if Android" patch_type: "conan" + - patch_file: "patches/4.1.2-0008-link-qt-targets.patch" + patch_description: "Link to Qt through CMake targets" + patch_type: "conan" + - patch_file: "patches/4.1.2-0009-sfm-deps.patch" + patch_description: "Fix link to dependencies of sfm module" + patch_type: "conan" + - patch_file: "patches/4.1.2-0010-compat-protobuf-ge-3.18.patch" + patch_description: "Compatibility with protobuf >= 3.18" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv/pull/20386" + - patch_file: "patches/4.1.2-0011-compat-openexr3.patch" + patch_description: "Compatibility with OpenEXR 3.x" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv/pull/19970" diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 895fee1eb0186..96c7055a75aa0 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building +from conan.errors import ConanException, ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import can_run, check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rename, replace_in_file, rmdir, save @@ -13,6 +14,81 @@ required_conan_version = ">=1.54.0" +OPENCV_MAIN_MODULES_OPTIONS = ( + "calib3d", + "dnn", + "features2d", + "flann", + "gapi", + "highgui", + "imgcodecs", + "imgproc", + "ml", + "objdetect", + "photo", + "stitching", + "video", + "videoio", +) + +OPENCV_EXTRA_MODULES_OPTIONS = ( + "alphamat", + "aruco", + "barcode", + "bgsegm", + "bioinspired", + "ccalib", + "cudaarithm", + "cudabgsegm", + "cudacodec", + "cudafeatures2d", + "cudafilters", + "cudaimgproc", + "cudalegacy", + "cudaobjdetect", + "cudaoptflow", + "cudastereo", + "cudawarping", + "cvv", + "datasets", + "dnn_objdetect", + "dnn_superres", + "dpm", + "face", + "freetype", + "fuzzy", + "hdf", + "hfs", + "img_hash", + "intensity_transform", + "line_descriptor", + "mcc", + "optflow", + "ovis", + "phase_unwrapping", + "plot", + "quality", + "rapid", + "reg", + "rgbd", + "saliency", + "sfm", + "shape", + "stereo", + "structured_light", + "superres", + "surface_matching", + "text", + "tracking", + "videostab", + "viz", + "wechat_qrcode", + "xfeatures2d", + "ximgproc", + "xobjdetect", + "xphoto", +) + class OpenCVConan(ConanFile): name = "opencv" license = "Apache-2.0" @@ -21,83 +97,117 @@ class OpenCVConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("computer-vision", "deep-learning", "image-processing") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "contrib": [True, False], - "contrib_freetype": [True, False], - "contrib_sfm": [True, False], + # global options "parallel": [False, "tbb", "openmp"], "with_ipp": [False, "intel-ipp", "opencv-icv"], - "with_ade": [True, False], + "with_eigen": [True, False], + "neon": [True, False], + "with_opencl": [True, False], + "with_cuda": [True, False], + "with_cublas": [True, False], + "with_cufft": [True, False], + "with_cudnn": [True, False], + "cuda_arch_bin": [None, "ANY"], + "cpu_baseline": [None, "ANY"], + "cpu_dispatch": [None, "ANY"], + "world": [True, False], + "nonfree": [True, False], + # dnn module options + "with_vulkan": [True, False], + "dnn_cuda": [True, False], + # highgui module options + "with_gtk": [True, False], + "with_qt": [True, False], + # imgcodecs module options "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], "with_png": [True, False], "with_tiff": [True, False], "with_jpeg2000": [False, "jasper", "openjpeg"], "with_openexr": [True, False], - "with_eigen": [True, False], "with_webp": [True, False], - "with_gtk": [True, False], - "with_quirc": [True, False], - "with_cuda": [True, False], - "with_cublas": [True, False], - "with_cufft": [True, False], - "with_cudnn": [True, False], - "with_v4l": [True, False], - "with_ffmpeg": [True, False], + "with_gdal": [True, False], + "with_gdcm": [True, False], "with_imgcodec_hdr": [True, False], "with_imgcodec_pfm": [True, False], "with_imgcodec_pxm": [True, False], "with_imgcodec_sunraster": [True, False], "with_msmf": [True, False], "with_msmf_dxva": [True, False], - "neon": [True, False], - "dnn": [True, False], - "dnn_cuda": [True, False], - "cuda_arch_bin": [None, "ANY"], - "cpu_baseline": [None, "ANY"], - "cpu_dispatch": [None, "ANY"], - "nonfree": [True, False], + # objdetect module options + "with_quirc": [True, False], + # videoio module options + "with_ffmpeg": [True, False], + "with_v4l": [True, False], + # text module options + "with_tesseract": [True, False], + # TODO: deprecated options to remove in few months + "contrib": [True, False, "deprecated"], + "contrib_freetype": [True, False, "deprecated"], + "contrib_sfm": [True, False, "deprecated"], + "with_ade": [True, False, "deprecated"], } + options.update({_name: [True, False] for _name in OPENCV_MAIN_MODULES_OPTIONS}) + options.update({_name: [True, False] for _name in OPENCV_EXTRA_MODULES_OPTIONS}) + default_options = { "shared": False, "fPIC": True, + # global options "parallel": False, - "contrib": False, - "contrib_freetype": False, - "contrib_sfm": False, "with_ipp": False, - "with_ade": True, + "with_eigen": True, + "neon": True, + "with_opencl": False, + "with_cuda": False, + "with_cublas": False, + "with_cufft": False, + "with_cudnn": False, + "cuda_arch_bin": None, + "cpu_baseline": None, + "cpu_dispatch": None, + "world": False, + "nonfree": False, + # dnn module options + "with_vulkan": False, + "dnn_cuda": False, + # highgui module options + "with_gtk": True, + "with_qt": False, + # imgcodecs module options "with_jpeg": "libjpeg", "with_png": True, "with_tiff": True, "with_jpeg2000": "jasper", "with_openexr": True, - "with_eigen": True, "with_webp": True, - "with_gtk": True, - "with_quirc": True, - "with_cuda": False, - "with_cublas": False, - "with_cufft": False, - "with_cudnn": False, - "with_v4l": False, - "with_ffmpeg": True, + "with_gdal": False, + "with_gdcm": False, "with_imgcodec_hdr": False, "with_imgcodec_pfm": False, "with_imgcodec_pxm": False, "with_imgcodec_sunraster": False, "with_msmf": True, "with_msmf_dxva": True, - "neon": True, - "dnn": True, - "dnn_cuda": False, - "cuda_arch_bin": None, - "cpu_baseline": None, - "cpu_dispatch": None, - "nonfree": False, + # objdetect module options + "with_quirc": True, + # videoio module options + "with_ffmpeg": True, + "with_v4l": False, + # text module options + "with_tesseract": True, + # TODO: deprecated options to remove in few months + "contrib": "deprecated", + "contrib_freetype": "deprecated", + "contrib_sfm": "deprecated", + "with_ade": "deprecated", } + default_options.update({_name: True for _name in OPENCV_MAIN_MODULES_OPTIONS}) + default_options.update({_name: False for _name in OPENCV_EXTRA_MODULES_OPTIONS}) short_paths = True @@ -117,9 +227,37 @@ def _has_with_tiff_option(self): def _has_with_ffmpeg_option(self): return self.settings.os != "iOS" and self.settings.os != "WindowsStore" + @property + def _has_superres_option(self): + return self.settings.os != "iOS" + + @property + def _has_alphamat_option(self): + return Version(self.version) >= "4.3.0" + + @property + def _has_intensity_transform_option(self): + return Version(self.version) >= "4.3.0" + + @property + def _has_rapid_option(self): + return Version(self.version) >= "4.3.0" + + @property + def _has_mcc_option(self): + return Version(self.version) >= "4.5.0" + + @property + def _has_wechat_qrcode_option(self): + return Version(self.version) >= "4.5.2" + + @property + def _has_barcode_option(self): + return Version(self.version) >= "4.5.3" + @property def _protobuf_version(self): - return "3.17.1" + return "3.21.12" def export_sources(self): export_conandata_patches(self) @@ -130,6 +268,8 @@ def config_options(self): if self.settings.os != "Linux": del self.options.with_gtk del self.options.with_v4l + if self.settings.os in ["iOS", "Android"]: + del self.options.with_opencl if self.settings.os != "Windows": del self.options.with_msmf del self.options.with_msmf_dxva @@ -148,101 +288,848 @@ def config_options(self): del self.options.with_jpeg2000 if not self._has_with_tiff_option: del self.options.with_tiff + if not self._has_superres_option: + del self.options.superres + if not self._has_alphamat_option: + del self.options.alphamat + if not self._has_intensity_transform_option: + del self.options.intensity_transform + if not self._has_rapid_option: + del self.options.rapid + if not self._has_mcc_option: + del self.options.mcc + if not self._has_wechat_qrcode_option: + del self.options.wechat_qrcode + if not self._has_barcode_option: + del self.options.barcode + + @property + def _opencv_modules(self): + def imageformats_deps(): + components = [] + if self.options.get_safe("with_jpeg2000"): + components.append("{0}::{0}".format(self.options.with_jpeg2000)) + if self.options.get_safe("with_png"): + components.append("libpng::libpng") + if self.options.get_safe("with_jpeg") == "libjpeg": + components.append("libjpeg::libjpeg") + elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": + components.append("libjpeg-turbo::jpeg") + elif self.options.get_safe("with_jpeg") == "mozjpeg": + components.append("mozjpeg::libjpeg") + if self.options.get_safe("with_tiff"): + components.append("libtiff::libtiff") + if self.options.get_safe("with_openexr"): + components.append("openexr::openexr") + if self.options.get_safe("with_webp"): + components.append("libwebp::libwebp") + if self.options.get_safe("with_gdal"): + components.append("gdal::gdal") + if self.options.get_safe("with_gdcm"): + components.append("gdcm::gdcm") + return components + + def eigen(): + return ["eigen::eigen"] if self.options.with_eigen else [] + + def ffmpeg(): + if self.options.get_safe("with_ffmpeg"): + return [ + "ffmpeg::avcodec", "ffmpeg::avdevice", "ffmpeg::avformat", + "ffmpeg::avutil", "ffmpeg::swscale", + ] + return [] + + def freetype(): + return ["freetype::freetype"] if self.options.freetype else [] + + def gtk(): + return ["gtk::gtk"] if self.options.get_safe("with_gtk") else [] + + def ipp(): + if self.options.with_ipp == "intel-ipp": + return ["intel-ipp::intel-ipp"] + elif self.options.with_ipp == "opencv-icv" and not self.options.shared: + return ["ippiw"] + return [] + + def parallel(): + return ["onetbb::onetbb"] if self.options.parallel == "tbb" else [] + + def qt(): + return ["qt::qt"] if self.options.get_safe("with_qt") else [] + + def quirc(): + return ["quirc::quirc"] if self.options.get_safe("with_quirc") else [] + + def tesseract(): + return ["tesseract::tesseract"] if self.options.get_safe("with_tesseract") else [] + + def vulkan(): + return ["vulkan-headers::vulkan-headers"] if self.options.get_safe("with_vulkan") else [] + + def opencv_calib3d(): + return ["opencv_calib3d"] if self.options.calib3d else [] + + def opencv_cudaarithm(): + return ["opencv_cudaarithm"] if self.options.cudaarithm else [] + + def opencv_cudacodec(): + return ["opencv_cudacodec"] if self.options.cudacodec else [] + + def opencv_cudafeatures2d(): + return ["opencv_cudafeatures2d"] if self.options.cudafeatures2d else [] + + def opencv_cudafilters(): + return ["opencv_cudafilters"] if self.options.cudafilters else [] + + def opencv_cudaimgproc(): + return ["opencv_cudaimgproc"] if self.options.cudaimgproc else [] + + def opencv_cudalegacy(): + return ["opencv_cudalegacy"] if self.options.cudalegacy else [] + + def opencv_cudaoptflow(): + return ["opencv_cudaoptflow"] if self.options.cudaoptflow else [] + + def opencv_cudawarping(): + return ["opencv_cudawarping"] if self.options.cudawarping else [] + + def opencv_dnn(): + return ["opencv_dnn"] if self.options.dnn else [] + + def opencv_flann(): + return ["opencv_flann"] if self.options.flann else [] + + def opencv_imgcodecs(): + return ["opencv_imgcodecs"] if self.options.imgcodecs else [] + + def opencv_imgproc(): + return ["opencv_imgproc"] if self.options.imgproc else [] + + def opencv_objdetect(): + return ["opencv_objdetect"] if self.options.objdetect else [] + + def opencv_video(): + return ["opencv_video"] if self.options.video else [] + + def opencv_videoio(): + return ["opencv_videoio"] if self.options.videoio else [] + + def opencv_xfeatures2d(): + return ["opencv_xfeatures2d"] if self.options.xfeatures2d else [] + + opencv_modules = { + # Main modules + "calib3d": { + "is_built": self.options.calib3d, + "mandatory_options": ["features2d", "flann", "imgproc"], + "requires": ["opencv_core", "opencv_features2d", "opencv_flann", "opencv_imgproc"] + eigen() + ipp(), + }, + "core": { + "is_built": True, + "no_option": True, + "requires": ["zlib::zlib"] + parallel() + eigen() + ipp(), + "system_libs": [ + (self.settings.os == "Android", ["dl", "m", "log"]), + (self.settings.os == "FreeBSD", ["m", "pthread"]), + (self.settings.os == "Linux", ["dl", "m", "pthread", "rt"]), + ], + "frameworks": [ + (self.settings.os == "Macos" and self.options.get_safe("with_opencl"), ["OpenCL"]), + ], + }, + "dnn": { + "is_built": self.options.dnn, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc", "protobuf::protobuf"] + vulkan() + ipp(), + }, + "features2d": { + "is_built": self.options.features2d, + "mandatory_options": ["imgproc"], + "requires": ["opencv_imgproc"] + opencv_flann() + eigen() + ipp(), + }, + "flann": { + "is_built": self.options.flann, + "requires": ["opencv_core"] + ipp(), + }, + "gapi": { + "is_built": self.options.gapi, + "mandatory_options": ["imgproc"], + "requires": ["opencv_imgproc", "ade::ade"], + "system_libs": [ + (self.settings.os == "Windows", ["ws2_32", "wsock32"]), + ], + }, + "highgui": { + "is_built": self.options.highgui, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + opencv_imgcodecs() + + opencv_videoio() + freetype() + gtk() + qt() + ipp(), + "system_libs": [ + (self.settings.os == "Windows", ["comctl32", "gdi32", "ole32", "setupapi", "ws2_32", "vfw32"]), + ], + "frameworks": [ + (self.settings.os == "Macos", ["Cocoa"]), + ], + }, + "imgcodecs": { + "is_built": self.options.imgcodecs, + "mandatory_options": ["imgproc"], + "requires": ["opencv_imgproc", "zlib::zlib"] + imageformats_deps() + ipp(), + "frameworks": [ + (is_apple_os(self), ["CoreFoundation", "CoreGraphics"]), + (self.settings.os == "iOS", ["UIKit"]), + (self.settings.os == "Macos", ["AppKit"]), + ], + }, + "imgproc": { + "is_built": self.options.imgproc, + "requires": ["opencv_core"] + ipp(), + }, + "ml": { + "is_built": self.options.ml, + "requires": ["opencv_core"] + ipp(), + }, + "objdetect": { + "is_built": self.options.objdetect, + "mandatory_options": ["calib3d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc"] + quirc() + ipp(), + }, + "photo": { + "is_built": self.options.photo, + "mandatory_options": ["imgproc"], + "requires": ["opencv_imgproc"] + opencv_cudaarithm() + opencv_cudaimgproc() + ipp(), + }, + "stitching": { + "is_built": self.options.stitching, + "mandatory_options": ["calib3d", "features2d", "flann", "imgproc"], + "requires": ["opencv_calib3d", "opencv_features2d", "opencv_flann", "opencv_imgproc"] + + opencv_xfeatures2d() + opencv_cudaarithm() + opencv_cudawarping() + + opencv_cudafeatures2d() + opencv_cudalegacy() + opencv_cudaimgproc() + eigen() + ipp(), + }, + "video": { + "is_built": self.options.video, + "mandatory_options": ["imgproc"], + "requires": ["opencv_imgproc"] + opencv_calib3d() + ipp(), + }, + "videoio": { + "is_built": self.options.videoio, + "mandatory_options": ["imgcodecs", "imgproc"], + "requires": ["opencv_imgcodecs", "opencv_imgproc"] + ffmpeg() + ipp(), + "system_libs": [ + (self.settings.os == "Android" and int(str(self.settings.os.api_level)) > 20, ["mediandk"]), + ], + "frameworks": [ + (is_apple_os(self), ["Accelerate", "AVFoundation", "CoreGraphics", "CoreMedia", "CoreVideo", "QuartzCore"]), + (self.settings.os == "iOS", ["CoreImage", "UIKit"]), + (self.settings.os == "Macos", ["Cocoa"]), + ], + }, + # Extra modules + "alphamat": { + "is_built": self.options.get_safe("alphamat"), + "mandatory_options": ["with_eigen", "imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "aruco": { + "is_built": self.options.aruco, + "mandatory_options": ["calib3d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc"] + ipp(), + }, + "barcode": { + "is_built": self.options.get_safe("barcode"), + "mandatory_options": ["dnn", "imgproc"], + "requires": ["opencv_core", "opencv_dnn", "opencv_imgproc"] + ipp(), + }, + "bgsegm": { + "is_built": self.options.bgsegm, + "mandatory_options": ["calib3d", "imgproc", "video"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc", "opencv_video"] + ipp(), + }, + "bioinspired": { + "is_built": self.options.bioinspired, + "requires": ["opencv_core"] + ipp(), + }, + "ccalib": { + "is_built": self.options.ccalib, + "mandatory_options": ["calib3d", "features2d", "highgui", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_features2d", "opencv_highgui", "opencv_imgproc"] + ipp(), + }, + "cudaarithm": { + "is_built": self.options.cudaarithm, + "mandatory_options": ["with_cuda"], + "requires": ["opencv_core", "opencv_cudev"] + ipp(), + }, + "cudabgsegm": { + "is_built": self.options.cudabgsegm, + "mandatory_options": ["with_cuda", "video"], + "requires": ["opencv_video"] + ipp(), + }, + "cudacodec": { + "is_built": self.options.cudacodec, + "mandatory_options": ["with_cuda", "videoio"], + "requires": ["opencv_core", "opencv_videoio", "opencv_cudev"] + ipp(), + }, + "cudafeatures2d": { + "is_built": self.options.cudafeatures2d, + "mandatory_options": ["with_cuda", "features2d", "cudafilters", "cudawarping"], + "requires": ["opencv_features2d", "opencv_cudafilters", "opencv_cudawarping"] + ipp(), + }, + "cudafilters": { + "is_built": self.options.cudafilters, + "mandatory_options": ["with_cuda", "imgproc", "cudaarithm"], + "requires": ["opencv_imgproc", "opencv_cudaarithm"] + ipp(), + }, + "cudaimgproc": { + "is_built": self.options.cudaimgproc, + "mandatory_options": ["with_cuda", "imgproc"], + "requires": ["opencv_imgproc", "opencv_cudev"] + opencv_cudaarithm() + opencv_cudafilters() + ipp(), + }, + "cudalegacy": { + "is_built": self.options.cudalegacy, + "mandatory_options": ["with_cuda", "video"], + "requires": ["opencv_core", "opencv_video"] + opencv_calib3d() + opencv_imgproc() + opencv_objdetect() + + opencv_cudaarithm() + opencv_cudafilters() + opencv_cudaimgproc() + ipp(), + }, + "cudaobjdetect": { + "is_built": self.options.cudaobjdetect, + "mandatory_options": ["with_cuda", "objdetect", "cudaarithm", "cudawarping"], + "requires": ["opencv_objdetect", "opencv_cudaarithm", "opencv_cudawarping"] + opencv_cudalegacy() + ipp(), + }, + "cudaoptflow": { + "is_built": self.options.cudaoptflow, + "mandatory_options": ["with_cuda", "video", "cudaarithm", "cudaimgproc", "cudawarping", "optflow"], + "requires": ["opencv_video", "opencv_cudaarithm", "cudaimgproc", "opencv_cudawarping", + "opencv_optflow"] + opencv_cudalegacy() + ipp(), + }, + "cudastereo": { + "is_built": self.options.cudastereo, + "mandatory_options": ["with_cuda", "calib3d"], + "requires": ["opencv_calib3d", "opencv_cudev"] + ipp(), + }, + "cudawarping": { + "is_built": self.options.cudawarping, + "mandatory_options": ["with_cuda", "imgproc"], + "requires": ["opencv_core", "opencv_imgproc", "opencv_cudev"] + ipp(), + }, + "cudev": { + "is_built": self.options.with_cuda, + "no_option": True, + "requires": ipp(), + }, + "cvv": { + "is_built": self.options.cvv, + "mandatory_options": ["with_qt", "features2d", "imgproc"], + "requires": ["opencv_core", "opencv_features2d", "opencv_imgproc", "qt::qt"] + ipp(), + }, + "datasets": { + "is_built": self.options.datasets, + "mandatory_options": ["flann", "imgcodecs", "ml"], + "requires": ["opencv_core", "opencv_flann", "opencv_imgcodecs", "opencv_ml"] + ipp(), + }, + "dnn_objdetect": { + "is_built": self.options.dnn_objdetect, + "mandatory_options": ["dnn", "imgproc"], + "requires": ["opencv_core", "opencv_dnn", "opencv_imgproc"] + ipp(), + }, + "dnn_superres": { + "is_built": self.options.dnn_superres, + "mandatory_options": ["dnn", "imgproc"], + "requires": ["opencv_core", "opencv_dnn", "opencv_imgproc"] + ipp(), + }, + "dpm": { + "is_built": self.options.dpm, + "mandatory_options": ["imgproc", "objdetect"], + "requires": ["opencv_core", "opencv_imgproc", "opencv_objdetect"] + ipp(), + }, + "face": { + "is_built": self.options.face, + "mandatory_options": ["calib3d", "imgproc", "objdetect", "photo"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc", "opencv_objdetect", "opencv_photo"] + ipp(), + }, + "freetype": { + "is_built": self.options.freetype, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc", "freetype::freetype", "harfbuzz::harfbuzz"] + ipp(), + }, + "fuzzy": { + "is_built": self.options.fuzzy, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "hdf": { + "is_built": self.options.hdf, + "requires": ["opencv_core", "hdf5::hdf5"] + ipp(), + }, + "hfs": { + "is_built": self.options.hfs, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "img_hash": { + "is_built": self.options.img_hash, + "is_part_of_world": False, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "intensity_transform": { + "is_built": self.options.get_safe("intensity_transform"), + "requires": ["opencv_core"] + ipp(), + }, + "line_descriptor": { + "is_built": self.options.line_descriptor, + "mandatory_options": ["imgproc"], + "requires": ["opencv_imgproc"] + ipp(), + }, + "mcc": { + "is_built": self.options.get_safe("mcc"), + "mandatory_options": ["calib3d", "dnn", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_dnn", "opencv_imgproc"] + ipp(), + }, + "optflow": { + "is_built": self.options.optflow, + "mandatory_options": ["calib3d", "flann", "imgcodecs", "imgproc", "video", "ximgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_flann", "opencv_imgcodecs", "opencv_imgproc", + "opencv_video", "opencv_ximgproc"] + ipp(), + }, + "ovis": { + "is_built": self.options.ovis, + "mandatory_options": ["calib3d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc", "ogre::ogre"] + ipp(), + }, + "phase_unwrapping": { + "is_built": self.options.phase_unwrapping, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "plot": { + "is_built": self.options.plot, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "quality": { + "is_built": self.options.quality, + "mandatory_options": ["imgproc", "ml"], + "requires": ["opencv_core", "opencv_imgproc", "opencv_ml"] + ipp(), + }, + "rapid": { + "is_built": self.options.get_safe("rapid"), + "mandatory_options": ["calib3d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc"] + ipp(), + }, + "reg": { + "is_built": self.options.reg, + "mandatory_options": ["imgproc"], + "requires": ["opencv_core", "opencv_imgproc"] + ipp(), + }, + "rgbd": { + "is_built": self.options.rgbd, + "mandatory_options": ["calib3d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc"] + eigen() + ipp(), + }, + "saliency": { + "is_built": self.options.saliency, + "mandatory_options": ["features2d", "imgproc"], + "requires": ["opencv_features2d", "opencv_imgproc"] + ipp(), + }, + "sfm": { + "is_built": self.options.sfm, + "is_part_of_world": False, + "mandatory_options": ["with_eigen", "calib3d", "features2d", "imgcodecs", "xfeatures2d"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_features2d", "opencv_imgcodecs", "opencv_xfeatures2d", + "correspondence", "multiview", "numeric", "glog::glog", "gflags::gflags"] + eigen() + ipp(), + }, + "shape": { + "is_built": self.options.shape, + "mandatory_options": ["calib3d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc"] + ipp(), + }, + "stereo": { + "is_built": self.options.stereo, + "mandatory_options": ["features2d", "imgproc", "tracking"], + "requires": ["opencv_core", "opencv_features2d", "opencv_imgproc", "opencv_tracking"] + ipp(), + }, + "structured_light": { + "is_built": self.options.structured_light, + "mandatory_options": ["calib3d", "imgproc", "phase_unwrapping"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgproc", "opencv_phase_unwrapping"] + ipp(), + }, + "superres": { + "is_built": self.options.get_safe("superres"), + "mandatory_options": ["imgproc", "video", "optflow"], + "requires": ["opencv_imgproc", "opencv_video", "opencv_optflow"] + opencv_videoio() + ipp() + + opencv_cudaarithm() + opencv_cudafilters() + opencv_cudawarping() + opencv_cudaimgproc() + + opencv_cudaoptflow() + opencv_cudacodec(), + }, + "surface_matching": { + "is_built": self.options.surface_matching, + "mandatory_options": ["flann"], + "requires": ["opencv_core", "opencv_flann"] + ipp(), + }, + "text": { + "is_built": self.options.text, + "mandatory_options": ["dnn", "features2d", "imgproc", "ml"], + "requires": ["opencv_core", "opencv_dnn", "opencv_features2d", "opencv_imgproc", "opencv_ml"] + + tesseract() + ipp(), + }, + "tracking": { + "is_built": self.options.tracking, + "mandatory_options": ["imgproc", "video"], + "requires": ["opencv_core", "opencv_imgproc", "opencv_video"] + opencv_dnn() + ipp(), + }, + "videostab": { + "is_built": self.options.videostab, + "mandatory_options": ["calib3d", "features2d", "imgproc", "photo", "video"], + "requires": ["opencv_calib3d", "opencv_features2d", "opencv_imgproc", "opencv_photo", "opencv_video"] + + opencv_videoio() + ipp() + opencv_cudawarping() + opencv_cudaoptflow(), + }, + "viz": { + "is_built": self.options.viz, + "requires": ["opencv_core", "vtk::vtk"] + ipp(), + }, + "wechat_qrcode": { + "is_built": self.options.get_safe("wechat_qrcode"), + "mandatory_options": ["dnn", "imgproc"], + "requires": ["opencv_core", "opencv_dnn", "opencv_imgproc"] + ipp(), + }, + "xfeatures2d": { + "is_built": self.options.xfeatures2d, + "mandatory_options": ["calib3d", "features2d", "imgproc"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_features2d", "opencv_imgproc"] + ipp() + opencv_cudaarithm(), + }, + "ximgproc": { + "is_built": self.options.ximgproc, + "mandatory_options": ["calib3d", "imgcodecs", "imgproc", "video"], + "requires": ["opencv_core", "opencv_calib3d", "opencv_imgcodecs", "opencv_imgproc", "opencv_video"] + + eigen() + ipp(), + }, + "xobjdetect": { + "is_built": self.options.xobjdetect, + "mandatory_options": ["imgcodecs", "imgproc", "objdetect"], + "requires": ["opencv_core", "opencv_imgcodecs", "opencv_imgproc", "opencv_objdetect"] + ipp(), + }, + "xphoto": { + "is_built": self.options.xphoto, + "mandatory_options": ["imgproc", "photo"], + "requires": ["opencv_core", "opencv_imgproc", "opencv_photo"] + ipp(), + }, + # Extra targets (without prefix in their target & lib name) + "ippiw": { + "is_built": self.options.with_ipp == "opencv-icv" and not self.options.shared, + "is_part_of_world": False, + "no_option": True, + }, + "numeric": { + "is_built": self.options.sfm, + "is_part_of_world": False, + "no_option": True, + "requires": eigen() + ipp(), + }, + "correspondence": { + "is_built": self.options.sfm, + "is_part_of_world": False, + "no_option": True, + "requires": ["opencv_imgcodecs", "multiview", "glog::glog"] + eigen() + ipp(), + }, + "multiview": { + "is_built": self.options.sfm, + "is_part_of_world": False, + "no_option": True, + "requires": ["numeric", "glog::glog"] + eigen() + ipp(), + }, + } + + if Version(self.version) >= "4.3.0": + opencv_modules["gapi"].setdefault("requires", []).extend(opencv_video()) + if Version(self.version) >= "4.5.2": + opencv_modules["gapi"].setdefault("requires", []).extend(opencv_calib3d()) + if Version(self.version) >= "4.5.4": + opencv_modules["objdetect"].setdefault("requires", []).extend(opencv_dnn()) + if Version(self.version) >= "4.5.1": + opencv_modules["video"].setdefault("requires", []).extend(opencv_dnn()) + if Version(self.version) >= "4.4.0": + opencv_modules["intensity_transform"].setdefault("mandatory_options", []).append("imgproc") + opencv_modules["intensity_transform"].setdefault("requires", []).append("opencv_imgproc") + if Version(self.version) < "4.3.0": + opencv_modules["stereo"].setdefault("mandatory_options", []).extend(["calib3d", "video"]) + opencv_modules["stereo"].setdefault("requires", []).extend(["opencv_calib3d", "opencv_video"]) + + return opencv_modules + + def _get_mandatory_disabled_options(self, opencv_modules): + direct_options_to_enable = {} + transitive_options_to_enable = {} + + # Check which direct options have to be enabled + base_options = [option for option, values in opencv_modules.items() + if not values.get("no_option") and self.options.get_safe(option)] + for base_option in base_options: + for mandatory_option in opencv_modules.get(base_option, {}).get("mandatory_options", []): + if not self.options.get_safe(mandatory_option): + direct_options_to_enable.setdefault(mandatory_option, set()).add(base_option) + + # Now traverse the graph to check which transitive options have to be enabled + def collect_transitive_options(base_option, option): + for mandatory_option in opencv_modules.get(option, {}).get("mandatory_options", []): + if not self.options.get_safe(mandatory_option): + if mandatory_option not in transitive_options_to_enable: + transitive_options_to_enable[mandatory_option] = set() + collect_transitive_options(base_option, mandatory_option) + if base_option not in direct_options_to_enable.get(mandatory_option, set()): + transitive_options_to_enable[mandatory_option].add(base_option) + + for base_option in base_options: + collect_transitive_options(base_option, base_option) + + return { + "direct": direct_options_to_enable, + "transitive": transitive_options_to_enable, + } + + def _solve_internal_dependency_graph(self, opencv_modules): + disabled_options = self._get_mandatory_disabled_options(opencv_modules) + direct_options_to_enable = disabled_options["direct"] + transitive_options_to_enable = disabled_options["transitive"] + + # Enable mandatory options + all_options_to_enable = set(direct_options_to_enable.keys()) + all_options_to_enable.update(transitive_options_to_enable.keys()) + if all_options_to_enable: + message = ("Several opencv options which were disabled will be enabled because " + "they are required by modules you have explicitly requested:\n") + + for option_to_enable in all_options_to_enable: + setattr(self.options, option_to_enable, True) + + direct_and_transitive = [] + direct = ", ".join(direct_options_to_enable.get(option_to_enable, [])) + if direct: + direct_and_transitive.append(f"direct dependency of {direct}") + transitive = ", ".join(transitive_options_to_enable.get(option_to_enable, [])) + if transitive: + direct_and_transitive.append(f"transitive dependency of {transitive}") + message += f" - {option_to_enable}: {' / '.join(direct_and_transitive)}\n" + + self.output.warning(message) def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - if not self.options.contrib: - del self.options.contrib_freetype - del self.options.contrib_sfm + + # TODO: remove contrib option in few months + if self.options.contrib != "deprecated": + self.output.warning("contrib option is deprecated") + if self.options.contrib: + # During deprecation period, keep old behavior of contrib=True, which was to enable + # all available contribs. + ## Filter main module options + filtered_options = list(OPENCV_MAIN_MODULES_OPTIONS) + ## Filter extra modules not built previously with contrib=True + filtered_options.extend(["cvv", "freetype", "hdf", "ovis", "sfm", "viz"]) + ## Filter extra modules not built previously when some option was disabled + if not self.options.with_eigen: + filtered_options.append("alphamat") + if not self.options.with_cuda: + filtered_options.extend([ + "cudaarithm", "cudabgsegm", "cudacodec", "cudafeatures2d", "cudafilters", "cudaimgproc", + "cudalegacy", "cudaobjdetect", "cudaoptflow", "cudastereo", "cudawarping", + ]) + for option, values in self._opencv_modules.items(): + if option not in filtered_options and not values.get("no_option"): + try: + if hasattr(self.options, option): + setattr(self.options, option, True) + except ConanException: + continue + + # TODO: remove contrib_freetype option in few months + if self.options.contrib_freetype != "deprecated": + self.output.warning("contrib_freetype option is deprecated, use freetype option instead") + self.options.freetype = self.options.contrib_freetype + + # TODO: remove contrib_sfm option in few months + if self.options.contrib_sfm != "deprecated": + self.output.warning("contrib_sfm option is deprecated, use sfm option instead") + self.options.sfm = self.options.contrib_sfm + + # TODO: remove with_ade option in few months + if self.options.with_ade != "deprecated": + self.output.warning("with_ade option is deprecated, use gapi option instead") + self.options.gapi = self.options.with_ade + + # Call this first before any further manipulation of options based on other options + self._solve_internal_dependency_graph(self._opencv_modules) + if not self.options.dnn: - del self.options.dnn_cuda + self.options.rm_safe("dnn_cuda") + self.options.rm_safe("with_vulkan") + if not self.options.highgui: + self.options.rm_safe("with_gtk") + if not (self.options.highgui or self.options.cvv): + self.options.rm_safe("with_qt") + if not self.options.imgcodecs: + self.options.rm_safe("with_jpeg") + self.options.rm_safe("with_jpeg2000") + self.options.rm_safe("with_openexr") + self.options.rm_safe("with_png") + self.options.rm_safe("with_tiff") + self.options.rm_safe("with_webp") + self.options.rm_safe("with_gdal") + self.options.rm_safe("with_gdcm") + self.options.rm_safe("with_imgcodec_hdr") + self.options.rm_safe("with_imgcodec_pfm") + self.options.rm_safe("with_imgcodec_pxm") + self.options.rm_safe("with_imgcodec_sunraster") + self.options.rm_safe("with_msmf") + self.options.rm_safe("with_msmf_dxva") + if not self.options.objdetect: + self.options.rm_safe("with_quirc") + if not self.options.videoio: + self.options.rm_safe("with_ffmpeg") + self.options.rm_safe("with_v4l") if not self.options.with_cuda: - del self.options.with_cublas - del self.options.with_cudnn - del self.options.with_cufft - del self.options.dnn_cuda - del self.options.cuda_arch_bin - if bool(self.options.with_jpeg): + self.options.rm_safe("with_cublas") + self.options.rm_safe("with_cudnn") + self.options.rm_safe("with_cufft") + self.options.rm_safe("dnn_cuda") + self.options.rm_safe("cuda_arch_bin") + if not self.options.text: + self.options.rm_safe("with_tesseract") + + if bool(self.options.get_safe("with_jpeg", False)): if self.options.get_safe("with_jpeg2000") == "jasper": self.options["jasper"].with_libjpeg = self.options.with_jpeg if self.options.get_safe("with_tiff"): self.options["libtiff"].jpeg = self.options.with_jpeg - if self.settings.os == "Android": - self.options.with_openexr = False # disabled because this forces linkage to libc++_shared.so - def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + # core module dependencies self.requires("zlib/1.2.13") - if self.options.with_jpeg == "libjpeg": + if self.options.with_eigen: + self.requires("eigen/3.4.0") + if self.options.parallel == "tbb": + self.requires("onetbb/2021.9.0") + if self.options.with_ipp == "intel-ipp": + self.requires("intel-ipp/2020") + # dnn module dependencies + if self.options.dnn: + # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16678#issuecomment-1507811867 + self.requires(f"protobuf/{self._protobuf_version}", transitive_libs=True, run=can_run(self)) + if self.options.get_safe("with_vulkan"): + self.requires("vulkan-headers/1.3.250.0") + # gapi module dependencies + if self.options.gapi: + self.requires("ade/0.1.2a") + # highgui module dependencies + if self.options.get_safe("with_gtk"): + self.requires("gtk/system") + if self.options.get_safe("with_qt"): + self.requires("qt/5.15.10") + # imgcodecs module dependencies + if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") - elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - elif self.options.with_jpeg == "mozjpeg": + elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": + self.requires("libjpeg-turbo/3.0.0") + elif self.options.get_safe("with_jpeg") == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.get_safe("with_jpeg2000") == "jasper": self.requires("jasper/4.0.0") elif self.options.get_safe("with_jpeg2000") == "openjpeg": self.requires("openjpeg/2.5.0") - if self.options.with_png: + if self.options.get_safe("with_png"): self.requires("libpng/1.6.40") - if self.options.with_openexr: - if Version(self.version) < "4.5.3": - # opencv < 4.5.3 doesn't support openexr >= 3 - self.requires("openexr/2.5.7") - else: - self.requires("openexr/3.1.9") + if self.options.get_safe("with_openexr"): + self.requires("openexr/3.1.9") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.5.1") - if self.options.with_eigen: - self.requires("eigen/3.4.0") + if self.options.get_safe("with_webp"): + self.requires("libwebp/1.3.1") + if self.options.get_safe("with_gdal"): + self.requires("gdal/3.5.2") + if self.options.get_safe("with_gdcm"): + self.requires("gdcm/3.0.21") + # objdetect module dependencies + if self.options.get_safe("with_quirc"): + self.requires("quirc/1.2") + # videoio module dependencies if self.options.get_safe("with_ffmpeg"): # opencv doesn't support ffmpeg >= 5.0.0 for the moment (until 4.5.5 at least) self.requires("ffmpeg/4.4.3") - if self.options.parallel == "tbb": - self.requires("onetbb/2021.9.0") - if self.options.with_ipp == "intel-ipp": - self.requires("intel-ipp/2020") - if self.options.with_webp: - self.requires("libwebp/1.3.1") - if self.options.get_safe("contrib_freetype"): + # freetype module dependencies + if self.options.freetype: self.requires("freetype/2.13.0") - self.requires("harfbuzz/6.0.0") - if self.options.get_safe("contrib_sfm"): + self.requires("harfbuzz/8.1.1") + # hdf module dependencies + if self.options.hdf: + self.requires("hdf5/1.14.1") + # ovis module dependencies + if self.options.ovis: + self.requires("ogre/1.10.2") + # sfm module dependencies + if self.options.sfm: self.requires("gflags/2.2.2") self.requires("glog/0.6.0") - if self.options.with_quirc: - self.requires("quirc/1.1") - if self.options.get_safe("with_gtk"): - self.requires("gtk/system") - if self.options.dnn: - # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16678#issuecomment-1507811867 - self.requires(f"protobuf/{self._protobuf_version}", transitive_libs=True) - if self.options.with_ade: - self.requires("ade/0.1.2a") + # text module dependencies + if self.options.get_safe("with_tesseract"): + self.requires("tesseract/5.3.0") + + def package_id(self): + # deprecated options + del self.info.options.contrib + del self.info.options.contrib_freetype + del self.info.options.contrib_sfm + del self.info.options.with_ade + + def _check_mandatory_options(self, opencv_modules): + disabled_options = self._get_mandatory_disabled_options(opencv_modules) + direct_disabled_mandatory_options = disabled_options["direct"] + transitive_disabled_mandatory_options = disabled_options["transitive"] + + # check mandatory options + all_disabled_mandatory_options = set(direct_disabled_mandatory_options.keys()) + all_disabled_mandatory_options.update(transitive_disabled_mandatory_options.keys()) + if all_disabled_mandatory_options: + message = ("Several opencv options are disabled but are required by modules " + "you have explicitly requested:\n") + + for disabled_option in all_disabled_mandatory_options: + direct_and_transitive = [] + direct = ", ".join(direct_disabled_mandatory_options.get(disabled_option, [])) + if direct: + direct_and_transitive.append(f"direct dependency of {direct}") + transitive = ", ".join(transitive_disabled_mandatory_options.get(disabled_option, [])) + if transitive: + direct_and_transitive.append(f"transitive dependency of {transitive}") + message += f" - {disabled_option}: {' / '.join(direct_and_transitive)}\n" + + raise ConanInvalidConfiguration(message) def validate(self): + self._check_mandatory_options(self._opencv_modules) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Visual Studio with static runtime is not supported for shared library.") if self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "4": raise ConanInvalidConfiguration("Clang 3.x can't build OpenCV 4.x due to an internal bug.") - if self.options.with_cuda and not self.options.contrib: - raise ConanInvalidConfiguration("contrib must be enabled for cuda") if self.options.get_safe("dnn_cuda") and \ - (not self.options.with_cuda or not self.options.contrib or not self.options.with_cublas or not self.options.with_cudnn): - raise ConanInvalidConfiguration("with_cublas, with_cudnn and contrib must be enabled for dnn_cuda") + (not self.options.with_cuda or not self.options.with_cublas or not self.options.with_cudnn): + raise ConanInvalidConfiguration("with_cublas and with_cudnn must be enabled for dnn_cuda") if self.options.with_ipp == "opencv-icv" and \ - (not str(self.settings.arch) in ["x86", "x86_64"] or \ - not str(self.settings.os) in ["Linux", "Macos", "Windows"]): + not (self.settings.arch in ["x86", "x86_64"] and self.settings.os in ["Linux", "Macos", "Windows"]): raise ConanInvalidConfiguration(f"opencv-icv is not available for {self.settings.os}/{self.settings.arch}") + if self.options.viz: + raise ConanInvalidConfiguration( + "viz module can't be enabled yet. It requires VTK which is not available in conan-center." + ) def build_requirements(self): - if self.options.dnn: - if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires(f"protobuf/{self._protobuf_version}") + if self.options.dnn and not can_run(self): + self.tool_requires(f"protobuf/{self._protobuf_version}") def source(self): get(self, **self.conan_data["sources"][self.version][0], strip_root=True) @@ -258,6 +1145,7 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "ANDROID OR NOT UNIX", "FALSE") replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "elseif(EMSCRIPTEN)", "elseif(QNXNTO)\nelseif(EMSCRIPTEN)") replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "JASPER_", "Jasper_") + replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "${GDAL_LIBRARY}", "GDAL::GDAL") # Fix detection of ffmpeg replace_in_file(self, os.path.join(self.source_folder, "modules", "videoio", "cmake", "detect_ffmpeg.cmake"), @@ -285,35 +1173,20 @@ def _patch_sources(self): 'if(TARGET "${Protobuf_LIBRARIES}")', 'if(FALSE) # patch: disable if(TARGET "${Protobuf_LIBRARIES}")') - if self.options.get_safe("contrib_freetype"): + if self.options.freetype: freetype_cmake = os.path.join(self._contrib_folder, "modules", "freetype", "CMakeLists.txt") replace_in_file(self, freetype_cmake, "ocv_check_modules(FREETYPE freetype2)", "find_package(Freetype REQUIRED MODULE)") replace_in_file(self, freetype_cmake, "FREETYPE_", "Freetype_") - replace_in_file(self, freetype_cmake, "ocv_check_modules(HARFBUZZ harfbuzz)", "find_package(harfbuzz REQUIRED)") + replace_in_file(self, freetype_cmake, "ocv_check_modules(HARFBUZZ harfbuzz)", "find_package(harfbuzz REQUIRED CONFIG)") replace_in_file(self, freetype_cmake, "HARFBUZZ_", "harfbuzz_") - if self.options.get_safe("contrib_sfm") and Version(self.version) <= "4.5.2": - sfm_cmake = os.path.join(self._contrib_folder, "modules", "sfm", "CMakeLists.txt") - ver = Version(self.version) - if ver <= "4.5.0": - search = " find_package(Glog QUIET)\nendif()" - else: - search = ' set(GLOG_INCLUDE_DIRS "${GLOG_INCLUDE_DIR}")\nendif()' - replace_in_file(self, sfm_cmake, search, f"""{search} - if(NOT GFLAGS_LIBRARIES AND TARGET gflags::gflags) - set(GFLAGS_LIBRARIES gflags::gflags) - endif() - if(NOT GLOG_LIBRARIES AND TARGET glog::glog) - set(GLOG_LIBRARIES glog::glog) - endif()""") - def generate(self): if self.options.dnn: - if hasattr(self, "settings_build") and cross_building(self): - VirtualBuildEnv(self).generate() - else: + if can_run(self): VirtualRunEnv(self).generate(scope="build") + else: + VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["OPENCV_CONFIG_INSTALL_PATH"] = "cmake" @@ -323,11 +1196,13 @@ def generate(self): tc.variables["OPENCV_OTHER_INSTALL_PATH"] = "res" tc.variables["OPENCV_LICENSES_INSTALL_PATH"] = "licenses" + tc.variables["OPENCV_SKIP_CMAKE_CXX_STANDARD"] = valid_min_cppstd(self, 11) + tc.variables["BUILD_CUDA_STUBS"] = False tc.variables["BUILD_DOCS"] = False tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_FAT_JAVA_LIB"] = False - tc.variables["BUILD_IPP_IW"] = False + tc.variables["BUILD_IPP_IW"] = self.options.with_ipp == "opencv-icv" tc.variables["BUILD_ITT"] = False tc.variables["BUILD_JASPER"] = False tc.variables["BUILD_JAVA"] = False @@ -357,12 +1232,11 @@ def generate(self): tc.variables["BUILD_opencv_ts"] = False tc.variables["WITH_1394"] = False - tc.variables["WITH_ADE"] = False tc.variables["WITH_ARAVIS"] = False tc.variables["WITH_CLP"] = False tc.variables["WITH_NVCUVID"] = False - tc.variables["WITH_FFMPEG"] = self.options.get_safe("with_ffmpeg") + tc.variables["WITH_FFMPEG"] = self.options.get_safe("with_ffmpeg", False) if self.options.get_safe("with_ffmpeg"): tc.variables["OPENCV_FFMPEG_SKIP_BUILD_CHECK"] = True tc.variables["OPENCV_FFMPEG_SKIP_DOWNLOAD"] = True @@ -370,72 +1244,70 @@ def generate(self): # libavcodec;libavformat;libavutil;libswscale modules tc.variables["OPENCV_FFMPEG_USE_FIND_PACKAGE"] = "ffmpeg" tc.variables["OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT"] = False - tc.variables["FFMPEG_LIBRARIES"] = "ffmpeg::avcodec;ffmpeg::avformat;ffmpeg::avutil;ffmpeg::swscale" - ffmpeg_cpp_info = self.dependencies["ffmpeg"].cpp_info - for component in ["avcodec", "avformat", "avutil", "swscale"]: - ffmpeg_component_version = ffmpeg_cpp_info.components[component].get_property("component_version") - tc.variables[f"FFMPEG_lib{component}_VERSION"] = ffmpeg_component_version + ffmpeg_libraries = [] + for component in ["avcodec", "avdevice", "avformat", "avutil", "swscale", "avresample"]: + if component == "avutil" or self.dependencies["ffmpeg"].options.get_safe(component): + ffmpeg_libraries.append(f"ffmpeg::{component}") + ffmpeg_component_version = self.dependencies["ffmpeg"].cpp_info.components[component].get_property("component_version") + tc.variables[f"FFMPEG_lib{component}_VERSION"] = ffmpeg_component_version + tc.variables["FFMPEG_LIBRARIES"] = ";".join(ffmpeg_libraries) tc.variables["WITH_GSTREAMER"] = False tc.variables["WITH_HALIDE"] = False tc.variables["WITH_HPX"] = False - tc.variables["WITH_IMGCODEC_HDR"] = self.options.with_imgcodec_hdr - tc.variables["WITH_IMGCODEC_PFM"] = self.options.with_imgcodec_pfm - tc.variables["WITH_IMGCODEC_PXM"] = self.options.with_imgcodec_pxm - tc.variables["WITH_IMGCODEC_SUNRASTER"] = self.options.with_imgcodec_sunraster + tc.variables["WITH_IMGCODEC_HDR"] = self.options.get_safe("with_imgcodec_hdr", False) + tc.variables["WITH_IMGCODEC_PFM"] = self.options.get_safe("with_imgcodec_pfm", False) + tc.variables["WITH_IMGCODEC_PXM"] = self.options.get_safe("with_imgcodec_pxm", False) + tc.variables["WITH_IMGCODEC_SUNRASTER"] = self.options.get_safe("with_imgcodec_sunraster", False) tc.variables["WITH_INF_ENGINE"] = False - tc.variables["WITH_IPP"] = False - if self.options.with_ipp: - tc.variables["WITH_IPP"] = True - if self.options.with_ipp == "intel-ipp": - ipp_root = self.dependencies["intel-ipp"].package_folder.replace("\\", "/") - if self.settings.os == "Windows": - ipp_root = ipp_root.replace("\\", "/") - tc.variables["IPPROOT"] = ipp_root - tc.variables["IPPIWROOT"] = ipp_root - else: - tc.variables["BUILD_IPP_IW"] = True + tc.variables["WITH_IPP"] = bool(self.options.with_ipp) + if self.options.with_ipp == "intel-ipp": + ipp_root = self.dependencies["intel-ipp"].package_folder.replace("\\", "/") + tc.variables["IPPROOT"] = ipp_root + tc.variables["IPPIWROOT"] = ipp_root tc.variables["WITH_ITT"] = False tc.variables["WITH_LIBREALSENSE"] = False tc.variables["WITH_MFX"] = False tc.variables["WITH_NGRAPH"] = False - tc.variables["WITH_OPENCL"] = False + tc.variables["WITH_OPENCL"] = self.options.get_safe("with_opencl", False) tc.variables["WITH_OPENCLAMDBLAS"] = False tc.variables["WITH_OPENCLAMDFFT"] = False tc.variables["WITH_OPENCL_SVM"] = False tc.variables["WITH_OPENGL"] = False - tc.variables["WITH_OPENMP"] = False + tc.variables["WITH_TBB"] = self.options.parallel == "tbb" + tc.variables["WITH_OPENMP"] = self.options.parallel == "openmp" tc.variables["WITH_OPENNI"] = False tc.variables["WITH_OPENNI2"] = False tc.variables["WITH_OPENVX"] = False tc.variables["WITH_PLAIDML"] = False tc.variables["WITH_PVAPI"] = False - tc.variables["WITH_QT"] = False + tc.variables["WITH_QT"] = self.options.get_safe("with_qt", False) tc.variables["WITH_QUIRC"] = False tc.variables["WITH_V4L"] = self.options.get_safe("with_v4l", False) tc.variables["WITH_VA"] = False tc.variables["WITH_VA_INTEL"] = False - tc.variables["WITH_VTK"] = False - tc.variables["WITH_VULKAN"] = False + tc.variables["WITH_VTK"] = self.options.viz + tc.variables["WITH_VULKAN"] = self.options.get_safe("with_vulkan", False) + if self.options.get_safe("with_vulkan"): + tc.variables["VULKAN_INCLUDE_DIRS"] = os.path.join(self.dependencies["vulkan-headers"].package_folder, "include").replace("\\", "/") tc.variables["WITH_XIMEA"] = False tc.variables["WITH_XINE"] = False tc.variables["WITH_LAPACK"] = False tc.variables["WITH_GTK"] = self.options.get_safe("with_gtk", False) tc.variables["WITH_GTK_2_X"] = self._is_gtk_version2 - tc.variables["WITH_WEBP"] = self.options.with_webp - tc.variables["WITH_JPEG"] = bool(self.options.with_jpeg) - tc.variables["WITH_PNG"] = self.options.with_png + tc.variables["WITH_WEBP"] = self.options.get_safe("with_webp", False) + tc.variables["WITH_JPEG"] = bool(self.options.get_safe("with_jpeg", False)) + tc.variables["WITH_PNG"] = self.options.get_safe("with_png", False) if self._has_with_tiff_option: - tc.variables["WITH_TIFF"] = self.options.with_tiff + tc.variables["WITH_TIFF"] = self.options.get_safe("with_tiff", False) if self._has_with_jpeg2000_option: - tc.variables["WITH_JASPER"] = self.options.with_jpeg2000 == "jasper" - tc.variables["WITH_OPENJPEG"] = self.options.with_jpeg2000 == "openjpeg" - tc.variables["WITH_OPENEXR"] = self.options.with_openexr - if self.options.with_openexr: - tc.variables["CMAKE_CXX_STANDARD"] = 11 + tc.variables["WITH_JASPER"] = self.options.get_safe("with_jpeg2000") == "jasper" + tc.variables["WITH_OPENJPEG"] = self.options.get_safe("with_jpeg2000") == "openjpeg" + tc.variables["WITH_OPENEXR"] = self.options.get_safe("with_openexr", False) + tc.variables["WITH_GDAL"] = self.options.get_safe("with_gdal", False) + tc.variables["WITH_GDCM"] = self.options.get_safe("with_gdcm", False) tc.variables["WITH_EIGEN"] = self.options.with_eigen - tc.variables["HAVE_QUIRC"] = self.options.with_quirc # force usage of quirc requirement tc.variables["WITH_DSHOW"] = is_msvc(self) tc.variables["WITH_MSMF"] = self.options.get_safe("with_msmf", False) tc.variables["WITH_MSMF_DXVA"] = self.options.get_safe("with_msmf_dxva", False) @@ -448,31 +1320,43 @@ def generate(self): if self.options.cpu_dispatch or self.options.cpu_dispatch == "": tc.variables["CPU_DISPATCH"] = self.options.cpu_dispatch - if self.options.get_safe("neon") is not None: - tc.variables["ENABLE_NEON"] = self.options.get_safe("neon") + tc.variables["ENABLE_NEON"] = self.options.get_safe("neon", False) + tc.variables["OPENCV_DNN_CUDA"] = self.options.get_safe("dnn_cuda", False) + + # Special world option merging all enabled modules into one big library file + tc.variables["BUILD_opencv_world"] = self.options.world + + # Main modules + tc.variables["BUILD_opencv_core"] = True + for module in OPENCV_MAIN_MODULES_OPTIONS: + tc.variables[f"BUILD_opencv_{module}"] = self.options.get_safe(module, False) tc.variables["WITH_PROTOBUF"] = self.options.dnn if self.options.dnn: tc.variables["PROTOBUF_UPDATE_FILES"] = True - tc.variables["BUILD_opencv_dnn"] = True - tc.variables["OPENCV_DNN_CUDA"] = self.options.get_safe("dnn_cuda", False) - - if self.options.contrib: - tc.variables["OPENCV_EXTRA_MODULES_PATH"] = os.path.join(self._contrib_folder, "modules").replace("\\", "/") - tc.variables["BUILD_opencv_freetype"] = self.options.get_safe("contrib_freetype", False) - tc.variables["BUILD_opencv_sfm"] = self.options.get_safe("contrib_sfm", False) + tc.variables["WITH_ADE"] = self.options.gapi + if self.options.objdetect: + tc.variables["HAVE_QUIRC"] = self.options.with_quirc # force usage of quirc requirement + + # Extra modules + tc.variables["OPENCV_EXTRA_MODULES_PATH"] = os.path.join(self._contrib_folder, "modules").replace("\\", "/") + tc.variables["BUILD_opencv_cudev"] = self.options.with_cuda + for module in OPENCV_EXTRA_MODULES_OPTIONS: + tc.variables[f"BUILD_opencv_{module}"] = self.options.get_safe(module, False) + tc.variables["BUILD_opencv_cnn_3dobj"] = False + if Version(self.version) >= "4.4.0": + tc.variables["BUILD_opencv_julia"] = False + tc.variables["BUILD_opencv_matlab"] = False + if self.options.text: + tc.variables["WITH_TESSERACT"] = self.options.with_tesseract if self.options.get_safe("with_jpeg2000") == "openjpeg": openjpeg_version = Version(self.dependencies["openjpeg"].ref.version) tc.variables["OPENJPEG_MAJOR_VERSION"] = openjpeg_version.major tc.variables["OPENJPEG_MINOR_VERSION"] = openjpeg_version.minor tc.variables["OPENJPEG_BUILD_VERSION"] = openjpeg_version.patch - if self.options.parallel: - tc.variables["WITH_TBB"] = self.options.parallel == "tbb" - tc.variables["WITH_OPENMP"] = self.options.parallel == "openmp" tc.variables["WITH_CUDA"] = self.options.with_cuda - tc.variables["WITH_ADE"] = self.options.with_ade if self.options.with_cuda: # This allows compilation on older GCC/NVCC, otherwise build errors. tc.variables["CUDA_NVCC_FLAGS"] = "--expt-relaxed-constexpr" @@ -511,9 +1395,12 @@ def package(self): os.path.join(self.package_folder, "res", "setup_vars_opencv4.cmd")) # TODO: to remove in conan v2 once cmake_find_package* generators removed + targets_mapping = {self._cmake_target(k): f"opencv::{self._cmake_target(k)}" for k in self._opencv_modules.keys()} + if self.options.world: + targets_mapping.update({"opencv_world": "opencv::opencv_world"}) self._create_cmake_module_alias_targets( os.path.join(self.package_folder, self._module_file_rel_path), - {component["target"]:"opencv::{}".format(component["target"]) for component in self._opencv_components} + targets_mapping, ) def _create_cmake_module_alias_targets(self, module_file, targets): @@ -544,245 +1431,104 @@ def _is_gtk_version2(self): else: return Version(gtk_version) < "3.0.0" - @property - def _opencv_components(self): - def imageformats_deps(): - components = [] - if self.options.get_safe("with_jpeg2000"): - components.append("{0}::{0}".format(self.options.with_jpeg2000)) - if self.options.with_png: - components.append("libpng::libpng") - if self.options.with_jpeg == "libjpeg": - components.append("libjpeg::libjpeg") - elif self.options.with_jpeg == "libjpeg-turbo": - components.append("libjpeg-turbo::jpeg") - elif self.options.with_jpeg == "mozjpeg": - components.append("mozjpeg::libjpeg") - if self.options.get_safe("with_tiff"): - components.append("libtiff::libtiff") - if self.options.with_openexr: - components.append("openexr::openexr") - if self.options.with_webp: - components.append("libwebp::libwebp") - return components - - def eigen(): - return ["eigen::eigen"] if self.options.with_eigen else [] - - def parallel(): - return ["onetbb::onetbb"] if self.options.parallel == "tbb" else [] - - def quirc(): - return ["quirc::quirc"] if self.options.with_quirc else [] - - def gtk(): - return ["gtk::gtk"] if self.options.get_safe("with_gtk") else [] - - def protobuf(): - return ["protobuf::protobuf"] if self.options.dnn else [] - - def freetype(): - return ["freetype::freetype"] if self.options.get_safe("contrib_freetype") else [] - - def xfeatures2d(): - return ["opencv_xfeatures2d"] if self.options.contrib else [] - - def ffmpeg(): - if self.options.get_safe("with_ffmpeg"): - return [ - "ffmpeg::avcodec", - "ffmpeg::avfilter", - "ffmpeg::avformat", - "ffmpeg::avutil", - "ffmpeg::swresample", - "ffmpeg::swscale" ] - else: - return [ ] - - def ipp(): - if self.options.with_ipp: - if self.options.with_ipp == "intel-ipp": - return ["intel-ipp::intel-ipp"] - elif self.options.with_ipp == "opencv-icv" and not self.options.shared: - return ["ippiw"] - else: - return [] - else: - return [] - - opencv_components = [ - {"target": "opencv_core", "lib": "core", "requires": ["zlib::zlib"] + parallel() + eigen() + ipp()}, - {"target": "opencv_flann", "lib": "flann", "requires": ["opencv_core"] + eigen() + ipp()}, - {"target": "opencv_imgproc", "lib": "imgproc", "requires": ["opencv_core"] + eigen() + ipp()}, - {"target": "opencv_ml", "lib": "ml", "requires": ["opencv_core"] + eigen() + ipp()}, - {"target": "opencv_photo", "lib": "photo", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_features2d", "lib": "features2d", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_imgcodecs", "lib": "imgcodecs", "requires": ["opencv_core", "opencv_imgproc", "zlib::zlib"] + eigen() + imageformats_deps() + ipp()}, - {"target": "opencv_videoio", "lib": "videoio", "requires": ( - ["opencv_core", "opencv_imgproc", "opencv_imgcodecs"] - + eigen() + ffmpeg() + ipp())}, - {"target": "opencv_calib3d", "lib": "calib3d", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d"]+ eigen() + ipp()}, - {"target": "opencv_highgui", "lib": "highgui", "requires": ["opencv_core", "opencv_imgproc", "opencv_imgcodecs", "opencv_videoio"] + freetype() + eigen() + gtk() + ipp()}, - {"target": "opencv_stitching", "lib": "stitching", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d"] + xfeatures2d() + eigen() + ipp()}, - {"target": "opencv_video", "lib": "video", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d"] + eigen() + ipp()}, - ] - if self.options.with_ipp == "opencv-icv" and not self.options.shared: - opencv_components.extend([ - {"target": "ippiw", "lib": "ippiw", "requires": []} - ]) - - if self.options.dnn: - opencv_components.extend([ - {"target": "opencv_dnn", "lib": "dnn", "requires": ["opencv_core", "opencv_imgproc"] + protobuf() + ipp()}, - {"target": "opencv_objdetect", "lib": "objdetect", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d"] + eigen() + quirc() + ipp()}, - - ]) - if self.options.contrib: - opencv_components.extend([ - {"target": "opencv_phase_unwrapping", "lib": "phase_unwrapping", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_plot", "lib": "plot", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_quality", "lib": "quality", "requires": ["opencv_core", "opencv_imgproc", "opencv_ml"] + eigen() + ipp()}, - {"target": "opencv_reg", "lib": "reg", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_surface_matching", "lib": "surface_matching", "requires": ["opencv_core", "opencv_flann"] + eigen() + ipp()}, - {"target": "opencv_xphoto", "lib": "xphoto", "requires": ["opencv_core", "opencv_imgproc", "opencv_photo"] + eigen() + ipp()}, - {"target": "opencv_fuzzy", "lib": "fuzzy", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_hfs", "lib": "hfs", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_img_hash", "lib": "img_hash", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_line_descriptor", "lib": "line_descriptor", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d"] + eigen() + ipp()}, - {"target": "opencv_saliency", "lib": "saliency", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d"] + eigen() + ipp()}, - {"target": "opencv_datasets", "lib": "datasets", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_ml", "opencv_imgcodecs"] + eigen() + ipp()}, - {"target": "opencv_rgbd", "lib": "rgbd", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d"] + eigen() + ipp()}, - {"target": "opencv_shape", "lib": "shape", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d"] + eigen() + ipp()}, - {"target": "opencv_structured_light", "lib": "structured_light", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_phase_unwrapping", "opencv_features2d", "opencv_calib3d"] + eigen() + ipp()}, - {"target": "opencv_videostab", "lib": "videostab", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_photo", "opencv_features2d", "opencv_imgcodecs", "opencv_videoio", "opencv_calib3d", "opencv_video"] + eigen() + ipp()}, - {"target": "opencv_xfeatures2d", "lib": "xfeatures2d", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_ml", "opencv_features2d", "opencv_calib3d", "opencv_shape", ] + eigen() + ipp()}, - {"target": "opencv_ximgproc", "lib": "ximgproc", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d", "opencv_video"] + eigen() + ipp()}, - {"target": "opencv_aruco", "lib": "aruco", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d"] + eigen() + ipp()}, - {"target": "opencv_bgsegm", "lib": "bgsegm", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d", "opencv_video"] + eigen() + ipp()}, - {"target": "opencv_bioinspired", "lib": "bioinspired", "requires": ["opencv_core", "opencv_imgproc", "opencv_imgcodecs", "opencv_videoio", "opencv_highgui"] + eigen() + ipp()}, - {"target": "opencv_ccalib", "lib": "ccalib", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_imgcodecs", "opencv_videoio", "opencv_calib3d", "opencv_highgui"] + eigen() + ipp()}, - {"target": "opencv_optflow", "lib": "optflow", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_video", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d", "opencv_video", "opencv_ximgproc"] + eigen() + ipp()}, - {"target": "opencv_superres", "lib": "superres", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_imgcodecs", "opencv_videoio", "opencv_calib3d", "opencv_video", "opencv_ximgproc", "opencv_optflow"] + eigen() + ipp()}, - {"target": "opencv_tracking", "lib": "tracking", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_ml", "opencv_plot", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d", "opencv_datasets", "opencv_video"] + eigen() + ipp()}, - {"target": "opencv_stereo", "lib": "stereo", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_ml", "opencv_plot", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d", "opencv_datasets", "opencv_video", "opencv_tracking"] + eigen() + ipp()}, - ]) - if self.options.dnn: - opencv_components.extend([ - {"target": "opencv_xobjdetect", "lib": "xobjdetect", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d", "opencv_objdetect"] + eigen() + ipp()}, - {"target": "opencv_dpm", "lib": "dpm", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_imgcodecs", "opencv_videoio", "opencv_calib3d", "opencv_highgui", "opencv_objdetect"] + eigen() + ipp()}, - {"target": "opencv_face", "lib": "face", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_photo", "opencv_features2d", "opencv_calib3d", "opencv_objdetect"] + eigen() + ipp()} - ]) - if self.version >= "4.3.0": - opencv_components.extend([ - {"target": "opencv_intensity_transform", "lib": "intensity_transform", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_alphamat", "lib": "alphamat", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_rapid", "lib": "rapid", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_features2d", "opencv_calib3d"] + eigen() + ipp()}, - ]) - - if self.options.get_safe("contrib_freetype"): - opencv_components.extend([ - {"target": "opencv_freetype", "lib": "freetype", "requires": ["opencv_core", "opencv_imgproc", "freetype::freetype", "harfbuzz::harfbuzz"] + eigen() + ipp()}, - ]) - - if self.options.get_safe("contrib_sfm"): - opencv_components.extend([ - {"target": "opencv_sfm", "lib": "sfm", "requires": ["opencv_core", "opencv_flann", "opencv_imgproc", "opencv_ml", "opencv_features2d", "opencv_imgcodecs", "opencv_calib3d", "opencv_shape", "opencv_xfeatures2d", "correspondence", "multiview", "numeric", "glog::glog", "gflags::gflags"] + eigen() + ipp()}, - {"target": "numeric", "lib": "numeric", "requires": eigen() + ipp()}, - {"target": "correspondence", "lib": "correspondence", "requires": ["multiview", "glog::glog"] + eigen() + ipp()}, - {"target": "multiview", "lib": "multiview", "requires": ["numeric", "gflags::gflags"] + eigen() + ipp()}, - ]) - - - if self.options.with_cuda: - opencv_components.extend([ - {"target": "opencv_cudaarithm", "lib": "cudaarithm", "requires": ["opencv_core"] + eigen() + ipp()}, - {"target": "opencv_cudabgsegm", "lib": "cudabgsegm", "requires": ["opencv_core", "opencv_video"] + eigen() + ipp()}, - {"target": "opencv_cudacodec", "lib": "cudacodec", "requires": ["opencv_core"] + eigen() + ipp()}, - {"target": "opencv_cudafeatures2d", "lib": "cudafeatures2d", "requires": ["opencv_core", "opencv_cudafilters"] + eigen() + ipp()}, - {"target": "opencv_cudafilters", "lib": "cudafilters", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_cudaimgproc", "lib": "cudaimgproc", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_cudalegacy", "lib": "cudalegacy", "requires": ["opencv_core", "opencv_video"] + eigen() + ipp()}, - {"target": "opencv_cudaobjdetect", "lib": "cudaobjdetect", "requires": ["opencv_core", "opencv_objdetect"] + eigen() + ipp()}, - {"target": "opencv_cudaoptflow", "lib": "cudaoptflow", "requires": ["opencv_core"] + eigen() + ipp()}, - {"target": "opencv_cudastereo", "lib": "cudastereo", "requires": ["opencv_core", "opencv_calib3d"] + eigen() + ipp()}, - {"target": "opencv_cudawarping", "lib": "cudawarping", "requires": ["opencv_core", "opencv_imgproc"] + eigen() + ipp()}, - {"target": "opencv_cudev", "lib": "cudev", "requires": [] + eigen() + ipp()}, - ]) - - if self.options.with_ade: - opencv_components.extend([ - {"target": "opencv_gapi", "lib": "gapi", "requires": ["opencv_imgproc", "opencv_calib3d", "opencv_video", "ade::ade"]}, - ]) - - return opencv_components + @staticmethod + def _cmake_target(module): + if module in ("ippiw", "correspondence", "multiview", "numeric"): + return module + return f"opencv_{module}" def package_info(self): version = self.version.split(".") version = "".join(version) if self.settings.os == "Windows" else "" debug = "d" if self.settings.build_type == "Debug" and self.settings.os == "Windows" else "" - def get_lib_name(module): + def get_libs(module): if module == "ippiw": - return f"{module}{debug}" + return [ + f"{module}{debug}", + "ippicvmt" if self.settings.os == "Windows" else "ippicv", + ] elif module in ("correspondence", "multiview", "numeric"): - return module + return [module] else: - return f"opencv_{module}{version}{debug}" - - def add_components(components): - for component in components: - conan_component = component["target"] - cmake_target = component["target"] - cmake_component = component["lib"] - lib_name = get_lib_name(component["lib"]) - requires = component["requires"] - # TODO: we should also define COMPONENTS names of each target for find_package() but not possible yet in CMakeDeps - # see https://github.com/conan-io/conan/issues/10258 + libs = [f"opencv_{module}{version}{debug}"] + if module in ["core", "world"] and not self.options.shared: + lib_exclude_filter = "(opencv_|ippi|correspondence|multiview|numeric).*" + libs += list(filter(lambda x: not re.match(lib_exclude_filter, x), collect_libs(self))) + return libs + + def add_components(modules): + if self.options.world: + self.cpp_info.components["opencv_world"].set_property("cmake_target_name", "opencv_world") + self.cpp_info.components["opencv_world"].libs = get_libs("world") + self.cpp_info.components["opencv_world"].resdirs = ["res"] + if self.settings.os != "Windows": + self.cpp_info.components["opencv_world"].includedirs.append(os.path.join("include", "opencv4")) + world_requires = set() + world_requires_exclude = set() + world_system_libs = set() + world_frameworks = set() + + for module, values in modules.items(): + if not values.get("is_built"): + continue + cmake_target = self._cmake_target(module) + conan_component = cmake_target + # TODO: we should also define COMPONENTS names of each target for find_package() but + # not possible yet in CMakeDeps. See https://github.com/conan-io/conan/issues/10258 self.cpp_info.components[conan_component].set_property("cmake_target_name", cmake_target) - self.cpp_info.components[conan_component].libs = [lib_name] - if lib_name.startswith("ippiw"): - self.cpp_info.components[conan_component].libs.append("ippicvmt" if self.settings.os == "Windows" else "ippicv") + self.cpp_info.components[conan_component].resdirs = ["res"] if self.settings.os != "Windows": self.cpp_info.components[conan_component].includedirs.append(os.path.join("include", "opencv4")) - self.cpp_info.components[conan_component].requires = requires - if self.settings.os == "Linux": - self.cpp_info.components[conan_component].system_libs = ["dl", "m", "pthread", "rt"] - - if self.settings.os == "Android": - self.cpp_info.components[conan_component].system_libs.append("log") - if int(str(self.settings.os.api_level)) > 20: - self.cpp_info.components[conan_component].system_libs.append("mediandk") - if conan_component == "opencv_core" and not self.options.shared: - lib_exclude_filter = "(opencv_|ippi|correspondence|multiview|numeric).*" - libs = list(filter(lambda x: not re.match(lib_exclude_filter, x), collect_libs(self))) - self.cpp_info.components[conan_component].libs += libs + module_requires = values.get("requires", []) + module_system_libs = [] + for _condition, _system_libs in values.get("system_libs", []): + if _condition: + module_system_libs.extend(_system_libs) + module_frameworks = [] + for _condition, _frameworks in values.get("frameworks", []): + if _condition: + module_frameworks.extend(_frameworks) + + if self.options.world and values.get("is_part_of_world", True): + self.cpp_info.components[conan_component].requires = ["opencv_world"] + world_requires.update(module_requires) + world_requires_exclude.add(conan_component) + world_system_libs.update(module_system_libs) + world_frameworks.update(module_frameworks) + else: + self.cpp_info.components[conan_component].libs = get_libs(module) + self.cpp_info.components[conan_component].requires = module_requires + self.cpp_info.components[conan_component].system_libs = module_system_libs + self.cpp_info.components[conan_component].frameworks = module_frameworks # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components[conan_component].names["cmake_find_package"] = cmake_target self.cpp_info.components[conan_component].names["cmake_find_package_multi"] = cmake_target self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if cmake_component != cmake_target: + if module != cmake_target: conan_component_alias = conan_component + "_alias" - self.cpp_info.components[conan_component_alias].names["cmake_find_package"] = cmake_component - self.cpp_info.components[conan_component_alias].names["cmake_find_package_multi"] = cmake_component + self.cpp_info.components[conan_component_alias].names["cmake_find_package"] = module + self.cpp_info.components[conan_component_alias].names["cmake_find_package_multi"] = module self.cpp_info.components[conan_component_alias].requires = [conan_component] self.cpp_info.components[conan_component_alias].bindirs = [] self.cpp_info.components[conan_component_alias].includedirs = [] self.cpp_info.components[conan_component_alias].libdirs = [] - self.cpp_info.set_property("cmake_file_name", "OpenCV") + if self.options.world: + self.cpp_info.components["opencv_world"].requires = list(world_requires - world_requires_exclude) + self.cpp_info.components["opencv_world"].system_libs = list(world_system_libs) + self.cpp_info.components["opencv_world"].frameworks = list(world_frameworks) + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.components["opencv_world"].build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.components["opencv_world"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - add_components(self._opencv_components) + self.cpp_info.set_property("cmake_file_name", "OpenCV") - if self.settings.os == "Windows": - self.cpp_info.components["opencv_highgui"].system_libs = ["comctl32", "gdi32", "ole32", "setupapi", "ws2_32", "vfw32"] - elif self.settings.os == "Macos": - self.cpp_info.components["opencv_highgui"].frameworks = ["Cocoa"] - self.cpp_info.components["opencv_videoio"].frameworks = ["Cocoa", "Accelerate", "AVFoundation", "CoreGraphics", "CoreMedia", "CoreVideo", "QuartzCore"] - elif self.settings.os == "iOS": - self.cpp_info.components["opencv_videoio"].frameworks = ["AVFoundation", "QuartzCore"] + add_components(self._opencv_modules) # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "OpenCV" diff --git a/recipes/opencv/4.x/patches/4.1.2-0005-tracking-no-plot-deps.patch b/recipes/opencv/4.x/patches/4.1.2-0005-tracking-no-plot-deps.patch new file mode 100644 index 0000000000000..9113058791110 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.1.2-0005-tracking-no-plot-deps.patch @@ -0,0 +1,7 @@ +--- a/contrib/modules/tracking/CMakeLists.txt ++++ b/contrib/modules/tracking/CMakeLists.txt +@@ -1,3 +1,3 @@ + set(the_description "Tracking API") +-ocv_define_module(tracking opencv_imgproc opencv_core opencv_video opencv_plot OPTIONAL opencv_dnn opencv_datasets WRAP java python) ++ocv_define_module(tracking opencv_imgproc opencv_core opencv_video OPTIONAL opencv_plot opencv_dnn opencv_datasets WRAP java python) + ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-shadow /wd4458) diff --git a/recipes/opencv/4.x/patches/4.1.2-0006-hdf.patch b/recipes/opencv/4.x/patches/4.1.2-0006-hdf.patch new file mode 100644 index 0000000000000..29f4b36e65dc2 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.1.2-0006-hdf.patch @@ -0,0 +1,21 @@ +--- a/contrib/modules/hdf/CMakeLists.txt ++++ b/contrib/modules/hdf/CMakeLists.txt +@@ -1,6 +1,4 @@ +-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}) +- +-if(WIN32) ++if(0) + # windows cmake internal lookups are broken for now + # will lookup for headers and shared libs given HDF_DIR env + find_path(HDF5_INCLUDE_DIRS hdf5.h HINTS "$ENV{HDF5_DIR}\\..\\include") +@@ -16,8 +14,8 @@ if(WIN32) + set(HDF5_FOUND "NO") + endif() + else() +- if(NOT CMAKE_CROSSCOMPILING) # iOS build should not reuse OSX package +- find_package(HDF5) ++ if(1) ++ find_package(HDF5 CONFIG) + endif() + endif() + diff --git a/recipes/opencv/4.x/patches/4.1.2-0008-link-qt-targets.patch b/recipes/opencv/4.x/patches/4.1.2-0008-link-qt-targets.patch new file mode 100644 index 0000000000000..b32a2916816cb --- /dev/null +++ b/recipes/opencv/4.x/patches/4.1.2-0008-link-qt-targets.patch @@ -0,0 +1,29 @@ +--- a/contrib/modules/cvv/CMakeLists.txt ++++ b/contrib/modules/cvv/CMakeLists.txt +@@ -14,7 +14,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) + foreach(dt5_dep Core Gui Widgets) + add_definitions(${Qt5${dt5_dep}_DEFINITIONS}) + include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS}) +- list(APPEND CVV_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES}) ++ list(APPEND CVV_LIBRARIES Qt5::${dt5_dep}) + endforeach() + + ocv_glob_module_sources() +--- a/modules/highgui/CMakeLists.txt ++++ b/modules/highgui/CMakeLists.txt +@@ -58,13 +58,13 @@ if(HAVE_QT5) + foreach(dt5_dep Core Gui Widgets Test Concurrent) + add_definitions(${Qt5${dt5_dep}_DEFINITIONS}) + include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS}) +- list(APPEND HIGHGUI_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES}) ++ list(APPEND HIGHGUI_LIBRARIES Qt5::${dt5_dep}) + endforeach() + + if(HAVE_QT_OPENGL) + add_definitions(${Qt5OpenGL_DEFINITIONS}) + include_directories(${Qt5OpenGL_INCLUDE_DIRS}) +- list(APPEND HIGHGUI_LIBRARIES ${Qt5OpenGL_LIBRARIES}) ++ list(APPEND HIGHGUI_LIBRARIES Qt5::OpenGL) + endif() + + elseif(HAVE_QT) diff --git a/recipes/opencv/4.x/patches/4.1.2-0009-sfm-deps.patch b/recipes/opencv/4.x/patches/4.1.2-0009-sfm-deps.patch new file mode 100644 index 0000000000000..c4ff008107555 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.1.2-0009-sfm-deps.patch @@ -0,0 +1,49 @@ +--- a/contrib/modules/sfm/CMakeLists.txt ++++ b/contrib/modules/sfm/CMakeLists.txt +@@ -9,8 +9,14 @@ find_package(Ceres QUIET) + if(NOT Ceres_FOUND) # Looks like Ceres find glog on the own, so separate search isn't necessary + find_package(Glog QUIET) + endif() ++if(NOT GFLAGS_LIBRARIES AND TARGET gflags::gflags) ++ set(GFLAGS_LIBRARIES gflags::gflags) ++endif() ++if(NOT GLOG_LIBRARIES AND TARGET glog::glog) ++ set(GLOG_LIBRARIES glog::glog) ++endif() + +-if((gflags_FOUND OR GFLAGS_FOUND OR GFLAGS_INCLUDE_DIRS) AND (glog_FOUND OR GLOG_FOUND OR GLOG_INCLUDE_DIRS)) ++if(0) + set(_fname "${CMAKE_CURRENT_BINARY_DIR}/test_sfm_deps.cpp") + file(WRITE "${_fname}" "#include \n#include \nint main() { (void)(0); return 0; }\n") + try_compile(SFM_DEPS_OK "${CMAKE_BINARY_DIR}" "${_fname}" +@@ -21,7 +27,7 @@ if((gflags_FOUND OR GFLAGS_FOUND OR GFLAGS_INCLUDE_DIRS) AND (glog_FOUND OR GLOG + file(REMOVE "${_fname}") + message(STATUS "Checking SFM deps... ${SFM_DEPS_OK}") + else() +- set(SFM_DEPS_OK FALSE) ++ set(SFM_DEPS_OK TRUE) + endif() + + if(NOT HAVE_EIGEN OR NOT SFM_DEPS_OK) +--- a/contrib/modules/sfm/src/libmv_light/libmv/correspondence/CMakeLists.txt ++++ b/contrib/modules/sfm/src/libmv_light/libmv/correspondence/CMakeLists.txt +@@ -8,7 +8,7 @@ FILE(GLOB CORRESPONDENCE_HDRS *.h) + + ADD_LIBRARY(correspondence STATIC ${CORRESPONDENCE_SRC} ${CORRESPONDENCE_HDRS}) + +-TARGET_LINK_LIBRARIES(correspondence LINK_PRIVATE ${GLOG_LIBRARY} multiview) ++TARGET_LINK_LIBRARIES(correspondence LINK_PRIVATE ${GLOG_LIBRARIES} multiview) + IF(TARGET Eigen3::Eigen) + TARGET_LINK_LIBRARIES(correspondence LINK_PUBLIC Eigen3::Eigen) + ENDIF() +--- a/contrib/modules/sfm/src/libmv_light/libmv/multiview/CMakeLists.txt ++++ b/contrib/modules/sfm/src/libmv_light/libmv/multiview/CMakeLists.txt +@@ -17,7 +17,7 @@ SET(MULTIVIEW_SRC conditioning.cc + FILE(GLOB MULTIVIEW_HDRS *.h) + + ADD_LIBRARY(multiview STATIC ${MULTIVIEW_SRC} ${MULTIVIEW_HDRS}) +-TARGET_LINK_LIBRARIES(multiview LINK_PRIVATE ${GLOG_LIBRARY} numeric) ++TARGET_LINK_LIBRARIES(multiview LINK_PRIVATE ${GLOG_LIBRARIES} numeric) + IF(TARGET Eigen3::Eigen) + TARGET_LINK_LIBRARIES(multiview LINK_PUBLIC Eigen3::Eigen) + ENDIF() diff --git a/recipes/opencv/4.x/patches/4.1.2-0010-compat-protobuf-ge-3.18.patch b/recipes/opencv/4.x/patches/4.1.2-0010-compat-protobuf-ge-3.18.patch new file mode 100644 index 0000000000000..5bd6bfd1b3816 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.1.2-0010-compat-protobuf-ge-3.18.patch @@ -0,0 +1,22 @@ +--- a/modules/dnn/src/caffe/caffe_io.cpp ++++ b/modules/dnn/src/caffe/caffe_io.cpp +@@ -92,6 +92,7 @@ + #ifdef HAVE_PROTOBUF + #include + #include ++#include + #include + + #include +@@ -1111,7 +1112,11 @@ static const int kProtoReadBytesLimit = INT_MAX; // Max size of 2 GB minus 1 by + + bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) { + CodedInputStream coded_input(input); ++#if GOOGLE_PROTOBUF_VERSION >= 3006000 ++ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit); ++#else + coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912); ++#endif + + return proto->ParseFromCodedStream(&coded_input); + } diff --git a/recipes/opencv/4.x/patches/4.1.2-0011-compat-openexr3.patch b/recipes/opencv/4.x/patches/4.1.2-0011-compat-openexr3.patch new file mode 100644 index 0000000000000..3854d36a913a0 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.1.2-0011-compat-openexr3.patch @@ -0,0 +1,10 @@ +--- a/modules/imgcodecs/src/grfmt_exr.cpp ++++ b/modules/imgcodecs/src/grfmt_exr.cpp +@@ -56,6 +56,7 @@ + #include + #include + ++#include + #include + #include + #include diff --git a/recipes/opencv/4.x/patches/4.5.1-0001-tracking-no-plot-deps.patch b/recipes/opencv/4.x/patches/4.5.1-0001-tracking-no-plot-deps.patch new file mode 100644 index 0000000000000..6e57a96b98355 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.5.1-0001-tracking-no-plot-deps.patch @@ -0,0 +1,13 @@ +--- a/contrib/modules/tracking/CMakeLists.txt ++++ b/contrib/modules/tracking/CMakeLists.txt +@@ -9,9 +9,9 @@ ocv_define_module(tracking + opencv_imgproc + opencv_core + opencv_video +- opencv_plot # samples only + ${debug_modules} + OPTIONAL ++ opencv_plot + opencv_dnn + opencv_datasets + opencv_highgui diff --git a/recipes/opencv/4.x/patches/4.5.1-0002-alphamat-header.patch b/recipes/opencv/4.x/patches/4.5.1-0002-alphamat-header.patch new file mode 100644 index 0000000000000..847eeaa9e9869 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.5.1-0002-alphamat-header.patch @@ -0,0 +1,11 @@ +--- a/contrib/modules/alphamat/include/opencv2/alphamat.hpp ++++ b/contrib/modules/alphamat/include/opencv2/alphamat.hpp +@@ -7,6 +7,8 @@ + #ifndef _OPENCV_ALPHAMAT_HPP_ + #define _OPENCV_ALPHAMAT_HPP_ + ++#include ++ + /** + * @defgroup alphamat Alpha Matting + * Alpha matting is used to extract a foreground object with soft boundaries from a background image. diff --git a/recipes/opencv/4.x/patches/4.5.3-0002-link-qt-targets.patch b/recipes/opencv/4.x/patches/4.5.3-0002-link-qt-targets.patch new file mode 100644 index 0000000000000..b9b34a95156fe --- /dev/null +++ b/recipes/opencv/4.x/patches/4.5.3-0002-link-qt-targets.patch @@ -0,0 +1,30 @@ +--- a/contrib/modules/cvv/CMakeLists.txt ++++ b/contrib/modules/cvv/CMakeLists.txt +@@ -14,7 +14,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) + foreach(dt5_dep Core Gui Widgets) + add_definitions(${Qt5${dt5_dep}_DEFINITIONS}) + include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS}) +- list(APPEND CVV_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES}) ++ list(APPEND CVV_LIBRARIES Qt5::${dt5_dep}) + endforeach() + + ocv_glob_module_sources() +--- a/modules/highgui/CMakeLists.txt ++++ b/modules/highgui/CMakeLists.txt +@@ -69,14 +69,14 @@ if(HAVE_QT5) + foreach(dt5_dep Core Gui Widgets Test Concurrent) + add_definitions(${Qt5${dt5_dep}_DEFINITIONS}) + include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS}) +- list(APPEND HIGHGUI_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES}) ++ list(APPEND HIGHGUI_LIBRARIES Qt5::${dt5_dep}) + endforeach() + + if(HAVE_QT_OPENGL) + add_definitions(-DHAVE_QT_OPENGL) + add_definitions(${Qt5OpenGL_DEFINITIONS}) + include_directories(${Qt5OpenGL_INCLUDE_DIRS}) +- list(APPEND HIGHGUI_LIBRARIES ${Qt5OpenGL_LIBRARIES}) ++ list(APPEND HIGHGUI_LIBRARIES Qt5::OpenGL) + endif() + elseif(HAVE_QT) + set(OPENCV_HIGHGUI_BUILTIN_BACKEND "QT4") diff --git a/recipes/opencv/4.x/patches/4.5.5-0002-objdetect-without-dnn.patch b/recipes/opencv/4.x/patches/4.5.5-0002-objdetect-without-dnn.patch new file mode 100644 index 0000000000000..5313e7b762001 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.5.5-0002-objdetect-without-dnn.patch @@ -0,0 +1,97 @@ +--- a/modules/objdetect/CMakeLists.txt ++++ b/modules/objdetect/CMakeLists.txt +@@ -1,5 +1,16 @@ + set(the_description "Object Detection") +-ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d opencv_dnn WRAP java objc python js) ++ocv_define_module(objdetect ++ opencv_core ++ opencv_imgproc ++ opencv_calib3d ++ OPTIONAL ++ opencv_dnn ++ WRAP ++ python ++ java ++ objc ++ js ++) + + if(HAVE_QUIRC) + get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) +--- a/modules/objdetect/src/face_detect.cpp ++++ b/modules/objdetect/src/face_detect.cpp +@@ -6,13 +6,16 @@ + + #include "opencv2/imgproc.hpp" + #include "opencv2/core.hpp" ++#ifdef HAVE_OPENCV_DNN + #include "opencv2/dnn.hpp" ++#endif + + #include + + namespace cv + { + ++#ifdef HAVE_OPENCV_DNN + class FaceDetectorYNImpl : public FaceDetectorYN + { + public: +@@ -273,6 +276,7 @@ class FaceDetectorYNImpl : public FaceDetectorYN + + std::vector priors; + }; ++#endif + + Ptr FaceDetectorYN::create(const String& model, + const String& config, +@@ -283,7 +287,12 @@ Ptr FaceDetectorYN::create(const String& model, + const int backend_id, + const int target_id) + { ++#ifdef HAVE_OPENCV_DNN + return makePtr(model, config, input_size, score_threshold, nms_threshold, top_k, backend_id, target_id); ++#else ++ CV_UNUSED(model); CV_UNUSED(config); CV_UNUSED(input_size); CV_UNUSED(score_threshold); CV_UNUSED(nms_threshold); CV_UNUSED(top_k); CV_UNUSED(backend_id); CV_UNUSED(target_id); ++ CV_Error(cv::Error::StsNotImplemented, "cv::FaceDetectorYN requires enabled 'dnn' module."); ++#endif + } + + } // namespace cv +--- a/modules/objdetect/src/face_recognize.cpp ++++ b/modules/objdetect/src/face_recognize.cpp +@@ -4,13 +4,17 @@ + + #include "precomp.hpp" + ++#include "opencv2/core.hpp" ++#ifdef HAVE_OPENCV_DNN + #include "opencv2/dnn.hpp" ++#endif + + #include + + namespace cv + { + ++#ifdef HAVE_OPENCV_DNN + class FaceRecognizerSFImpl : public FaceRecognizerSF + { + public: +@@ -173,10 +177,16 @@ class FaceRecognizerSFImpl : public FaceRecognizerSF + private: + dnn::Net net; + }; ++#endif + + Ptr FaceRecognizerSF::create(const String& model, const String& config, int backend_id, int target_id) + { ++#ifdef HAVE_OPENCV_DNN + return makePtr(model, config, backend_id, target_id); ++#else ++ CV_UNUSED(model); CV_UNUSED(config); CV_UNUSED(backend_id); CV_UNUSED(target_id); ++ CV_Error(cv::Error::StsNotImplemented, "cv::FaceRecognizerSF requires enabled 'dnn' module"); ++#endif + } + + } // namespace cv diff --git a/recipes/opencv/4.x/patches/4.5.5-0003-find-quirc.patch b/recipes/opencv/4.x/patches/4.5.5-0003-find-quirc.patch new file mode 100644 index 0000000000000..e53df28368b3b --- /dev/null +++ b/recipes/opencv/4.x/patches/4.5.5-0003-find-quirc.patch @@ -0,0 +1,12 @@ +--- a/modules/objdetect/CMakeLists.txt ++++ b/modules/objdetect/CMakeLists.txt +@@ -13,7 +13,6 @@ ocv_define_module(objdetect + ) + + if(HAVE_QUIRC) +- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) +- ocv_include_directories(${QUIRC_INCLUDE}) +- ocv_target_link_libraries(${the_module} quirc) ++ find_package(quirc REQUIRED CONFIG) ++ ocv_target_link_libraries(${the_module} quirc::quirc) + endif() diff --git a/recipes/opencv/4.x/patches/4.5.5-0004-link-qt-targets.patch b/recipes/opencv/4.x/patches/4.5.5-0004-link-qt-targets.patch new file mode 100644 index 0000000000000..4c497271a4d6a --- /dev/null +++ b/recipes/opencv/4.x/patches/4.5.5-0004-link-qt-targets.patch @@ -0,0 +1,22 @@ +--- a/contrib/modules/cvv/CMakeLists.txt ++++ b/contrib/modules/cvv/CMakeLists.txt +@@ -14,7 +14,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) + foreach(dt5_dep Core Gui Widgets) + add_definitions(${Qt5${dt5_dep}_DEFINITIONS}) + include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS}) +- list(APPEND CVV_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES}) ++ list(APPEND CVV_LIBRARIES Qt5::${dt5_dep}) + endforeach() + + ocv_glob_module_sources() +--- a/modules/highgui/CMakeLists.txt ++++ b/modules/highgui/CMakeLists.txt +@@ -89,7 +89,7 @@ if(HAVE_QT) + foreach(dt_dep ${qt_deps}) + add_definitions(${Qt${QT_VERSION_MAJOR}${dt_dep}_DEFINITIONS}) + include_directories(${Qt${QT_VERSION_MAJOR}${dt_dep}_INCLUDE_DIRS}) +- list(APPEND HIGHGUI_LIBRARIES ${Qt${QT_VERSION_MAJOR}${dt_dep}_LIBRARIES}) ++ list(APPEND HIGHGUI_LIBRARIES Qt${QT_VERSION_MAJOR}::${dt_dep}) + endforeach() + else() + ocv_assert(QT_VERSION_MAJOR EQUAL 4) diff --git a/recipes/opencv/4.x/test_package/CMakeLists.txt b/recipes/opencv/4.x/test_package/CMakeLists.txt index e49280ad955c0..5404f6ff23915 100644 --- a/recipes/opencv/4.x/test_package/CMakeLists.txt +++ b/recipes/opencv/4.x/test_package/CMakeLists.txt @@ -1,32 +1,33 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -option(built_dnn "Enabled if opencv is built dnn" OFF) -option(built_with_ade "Enabled if opencv is built with ade" OFF) -option(built_with_ffmpeg "Enabled if opencv is built with ffmpeg" OFF) -option(built_contrib_sfm "Enabled if opencv is built contrib sfm" OFF) +enable_testing() -find_package(OpenCV REQUIRED imgcodecs highgui objdetect CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE - opencv_imgcodecs - opencv_highgui - opencv_objdetect - $ - $ - $ +set(TESTED_MODULES + # Main modules + "calib3d" "core" "dnn" "features2d" "flann" "gapi" "highgui" "imgcodecs" + "imgproc" "ml" "objdetect" "photo" "stitching" "video" "videoio" + # Extra modules + "alphamat" "aruco" "bgsegm" "bioinspired" "ccalib" "datasets" "dnn_superres" + "face" "freetype" "fuzzy" "hdf" "hfs" "img_hash" "intensity_transform" + "line_descriptor" "mcc" "optflow" "phase_unwrapping" "plot" "quality" "reg" + "rgbd" "saliency" "sfm" "shape" "structured_light" "superres" + "surface_matching" "text" "tracking" "wechat_qrcode" "xfeatures2d" + "ximgproc" "xobjdetect" "xphoto" ) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -if(built_dnn) - target_link_libraries(${PROJECT_NAME} PRIVATE opencv_dnn) -endif() -if(built_with_ade) - target_compile_definitions(${PROJECT_NAME} PRIVATE BUILT_WITH_ADE) -endif() -if(built_with_ffmpeg) - target_compile_definitions(${PROJECT_NAME} PRIVATE BUILT_WITH_FFMPEG) -endif() -if(built_contrib_sfm) - target_compile_definitions(${PROJECT_NAME} PRIVATE BUILT_CONTRIB_SFM) -endif() + +find_package(OpenCV REQUIRED core CONFIG) + +foreach(_module ${TESTED_MODULES}) + string(TOUPPER ${_module} _module_upper) + if(OPENCV_WITH_${_module_upper}) + set(_test_target test_${_module}) + set(_module_target opencv_${_module}) + add_executable(${_test_target} ${_test_target}.cpp) + target_link_libraries(${_test_target} PRIVATE ${_module_target}) + target_compile_features(${_test_target} PRIVATE cxx_std_11) + if(NOT ${_module} STREQUAL "highgui") + add_test(NAME ${_test_target} COMMAND ${_test_target}) + endif() + endif() +endforeach() diff --git a/recipes/opencv/4.x/test_package/conanfile.py b/recipes/opencv/4.x/test_package/conanfile.py index 5d9136c00ec0e..e5b25fb84dd4b 100644 --- a/recipes/opencv/4.x/test_package/conanfile.py +++ b/recipes/opencv/4.x/test_package/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile -from conan.tools.build import can_run +from conan.tools.build import build_jobs, can_run from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -import os +from conan.tools.files import chdir class TestPackageConan(ConanFile): @@ -9,6 +9,21 @@ class TestPackageConan(ConanFile): generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" + @property + def _tested_modules(self): + return [ + # Main modules + "calib3d", "core", "dnn", "features2d", "flann", "gapi", "highgui", "imgcodecs", + "imgproc", "ml", "objdetect", "photo", "stitching", "video", "videoio", + # Extra modules + "alphamat", "aruco", "bgsegm", "bioinspired", "ccalib", "datasets", "dnn_superres", + "face", "freetype", "fuzzy", "hdf", "hfs", "img_hash", "intensity_transform", + "line_descriptor", "mcc", "optflow", "phase_unwrapping", "plot", "quality", "reg", + "rgbd", "saliency", "sfm", "shape", "structured_light", "superres", + "surface_matching", "text", "tracking", "wechat_qrcode", "xfeatures2d", + "ximgproc", "xobjdetect", "xphoto", + ] + def layout(self): cmake_layout(self) @@ -17,10 +32,16 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["built_dnn"] = self.dependencies["opencv"].options.dnn - tc.variables["built_with_ade"] = self.dependencies["opencv"].options.with_ade - tc.variables["built_with_ffmpeg"] = self.dependencies["opencv"].options.with_ffmpeg - tc.variables["built_contrib_sfm"] = self.dependencies["opencv"].options.contrib and self.dependencies["opencv"].options.contrib_sfm + for module in self._tested_modules: + cmake_option = f"OPENCV_WITH_{module.upper()}" + if module == "core": + tc.variables[cmake_option] = True + elif module == "imgcodecs": + tc.variables[cmake_option] = self.dependencies["opencv"].options.imgcodecs and self.dependencies["opencv"].options.with_png + elif module == "videoio": + tc.variables[cmake_option] = self.dependencies["opencv"].options.videoio and self.dependencies["opencv"].options.with_ffmpeg + else: + tc.variables[cmake_option] = self.dependencies["opencv"].options.get_safe(module, False) tc.generate() def build(self): @@ -30,5 +51,5 @@ def build(self): 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") + with chdir(self, self.build_folder): + self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {build_jobs(self)}", env="conanrun") diff --git a/recipes/opencv/4.x/test_package/test_alphamat.cpp b/recipes/opencv/4.x/test_package/test_alphamat.cpp new file mode 100644 index 0000000000000..af8ea966d9715 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_alphamat.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main() { + cv::Mat image = cv::Mat::ones(400, 400, CV_8UC3) * 50; + cv::Mat tmap = cv::Mat::ones(400, 400, CV_8U) * 120; + cv::Mat result; + cv::alphamat::infoFlow(image, tmap, result); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_aruco.cpp b/recipes/opencv/4.x/test_package/test_aruco.cpp new file mode 100644 index 0000000000000..bc510aeaf4b18 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_aruco.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + cv::Mat markerImage; + auto dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_6X6_250); + cv::aruco::drawMarker(dictionary, 23, 200, markerImage, 1); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_bgsegm.cpp b/recipes/opencv/4.x/test_package/test_bgsegm.cpp new file mode 100644 index 0000000000000..ba01af2fd1861 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_bgsegm.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto bkg_subtractor = cv::bgsegm::createBackgroundSubtractorCNT(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_bioinspired.cpp b/recipes/opencv/4.x/test_package/test_bioinspired.cpp new file mode 100644 index 0000000000000..219fc935596f3 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_bioinspired.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto retina_tone_mapping = cv::bioinspired::RetinaFastToneMapping::create(cv::Size(10, 10)); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_calib3d.cpp b/recipes/opencv/4.x/test_package/test_calib3d.cpp new file mode 100644 index 0000000000000..ce5c7e8b7c821 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_calib3d.cpp @@ -0,0 +1,26 @@ +#include +#include + +#include +#include + +int main() { + const int point_count = 100; + std::vector points1; + points1.reserve(point_count); + std::vector points2; + points2.reserve(point_count); + for (int i = 0; i < point_count; ++i) { + points1.emplace_back( + cv::Point2f(static_cast(100 + 30 * std::cos(i * CV_PI * 2 / 5)), + static_cast(100 - 30 * std::sin(i * CV_PI * 2 / 5))) + ); + points2.emplace_back( + cv::Point2f(static_cast(100 + 30 * std::sin(i * CV_PI * 2 / 5)), + static_cast(100 - 30 * std::cos(i * CV_PI * 2 / 5))) + ); + } + auto fundamental_matrix = cv::findFundamentalMat(points1, points2, cv::FM_RANSAC, 3, 0.99); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_ccalib.cpp b/recipes/opencv/4.x/test_package/test_ccalib.cpp new file mode 100644 index 0000000000000..079bcb7ba21ce --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_ccalib.cpp @@ -0,0 +1,8 @@ +#include + +int main() { + cv::randpattern::RandomPatternGenerator generator(50, 50); + generator.generatePattern(); + auto pattern = generator.getPattern(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_core.cpp b/recipes/opencv/4.x/test_package/test_core.cpp new file mode 100644 index 0000000000000..b9635e35d0fc8 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_core.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + cv::Mat m = cv::Mat::zeros(400, 400, CV_8UC3); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_datasets.cpp b/recipes/opencv/4.x/test_package/test_datasets.cpp new file mode 100644 index 0000000000000..16c5eca1c9205 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_datasets.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto dataset = cv::datasets::AR_hmdb::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_dnn.cpp b/recipes/opencv/4.x/test_package/test_dnn.cpp new file mode 100644 index 0000000000000..3d8474fcdd230 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_dnn.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto backends = cv::dnn::getAvailableBackends(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_dnn_superres.cpp b/recipes/opencv/4.x/test_package/test_dnn_superres.cpp new file mode 100644 index 0000000000000..bbe3442b46dc4 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_dnn_superres.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + cv::dnn_superres::DnnSuperResImpl dnn_superres_impl; + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_face.cpp b/recipes/opencv/4.x/test_package/test_face.cpp new file mode 100644 index 0000000000000..9e3953a255cc0 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_face.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto face_recognizer = cv::face::FisherFaceRecognizer::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_features2d.cpp b/recipes/opencv/4.x/test_package/test_features2d.cpp new file mode 100644 index 0000000000000..2154a2126ebb1 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_features2d.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto matcher = cv::DescriptorMatcher::create(cv::DescriptorMatcher::BRUTEFORCE); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_flann.cpp b/recipes/opencv/4.x/test_package/test_flann.cpp new file mode 100644 index 0000000000000..0461a2651192b --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_flann.cpp @@ -0,0 +1,28 @@ +#include +#include + +#include +#include + +int main() { + const int point_count = 100; + std::vector points; + points.reserve(point_count); + for (int i = 0; i < point_count; ++i) { + points.emplace_back( + cv::Point2f(static_cast(100 + 30 * std::cos(i * CV_PI * 2 / 5)), + static_cast(100 - 30 * std::sin(i * CV_PI * 2 / 5))) + ); + } + + cv::flann::KDTreeIndexParams indexParams; + cv::flann::Index kdtree(cv::Mat(points).reshape(1), indexParams); + + std::vector query{110, 98}; + + std::vector indices; + std::vector dists; + kdtree.knnSearch(query, indices, dists, 3); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_freetype.cpp b/recipes/opencv/4.x/test_package/test_freetype.cpp new file mode 100644 index 0000000000000..49ee14c10ed6a --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_freetype.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto ft2 = cv::freetype::createFreeType2(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_fuzzy.cpp b/recipes/opencv/4.x/test_package/test_fuzzy.cpp new file mode 100644 index 0000000000000..ad4485785acc4 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_fuzzy.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + cv::Mat image = cv::Mat::zeros(400, 400, CV_8UC3); + cv::Mat output; + cv::ft::FT02D_FL_process(image, 10, output); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_gapi.cpp b/recipes/opencv/4.x/test_package/test_gapi.cpp new file mode 100644 index 0000000000000..1894733df9580 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_gapi.cpp @@ -0,0 +1,18 @@ +#include +#include +#include + +int main() { + // derived from https://docs.opencv.org/4.5.0/d0/d1e/gapi.html + cv::GMat in; + cv::GMat vga = cv::gapi::resize(in, cv::Size(), 0.5, 0.5); + cv::GMat gray = cv::gapi::BGR2Gray(vga); + cv::GMat blurred = cv::gapi::blur(gray, cv::Size(5,5)); + cv::GMat edges = cv::gapi::Canny(blurred, 32, 128, 3); + cv::GMat b,g,r; + std::tie(b,g,r) = cv::gapi::split3(vga); + cv::GMat out = cv::gapi::merge3(b, g | edges, r); + cv::GComputation ac(in, out); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_hdf.cpp b/recipes/opencv/4.x/test_package/test_hdf.cpp new file mode 100644 index 0000000000000..94d3e97ba46b4 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_hdf.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto hdf5 = cv::hdf::open("test_package_hdf.h5"); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_hfs.cpp b/recipes/opencv/4.x/test_package/test_hfs.cpp new file mode 100644 index 0000000000000..8d5391b6b1421 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_hfs.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto hfs_segment = cv::hfs::HfsSegment::create(100, 100); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_highgui.cpp b/recipes/opencv/4.x/test_package/test_highgui.cpp new file mode 100644 index 0000000000000..69025d66e0e23 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_highgui.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main() { + cv::Mat image = cv::Mat::zeros(400, 400, CV_8UC3); + cv::imshow("test highgui", image); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_img_hash.cpp b/recipes/opencv/4.x/test_package/test_img_hash.cpp new file mode 100644 index 0000000000000..73ca684981092 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_img_hash.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main() { + cv::Mat image = cv::Mat::zeros(400, 400, CV_8UC3); + auto func = cv::img_hash::AverageHash::create(); + cv::Mat hash; + func->compute(image, hash); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_imgcodecs.cpp b/recipes/opencv/4.x/test_package/test_imgcodecs.cpp new file mode 100644 index 0000000000000..909d28ae9465d --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_imgcodecs.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + cv::Mat img = cv::Mat::zeros(400, 400, CV_8UC3); + cv::imwrite("test_imgcodecs.png", img); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_imgproc.cpp b/recipes/opencv/4.x/test_package/test_imgproc.cpp new file mode 100644 index 0000000000000..23784d8f0a1b6 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_imgproc.cpp @@ -0,0 +1,14 @@ +#include +#include + +int main() { + const int width = 400; + cv::Mat image = cv::Mat::zeros(width, width, CV_8UC3); + + cv::ellipse( + image, cv::Point(width / 2, width / 2), cv::Size(width / 4, width / 16), + 90, 0, 360, cv::Scalar(255, 0, 0), 2, 8 + ); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_intensity_transform.cpp b/recipes/opencv/4.x/test_package/test_intensity_transform.cpp new file mode 100644 index 0000000000000..dce55e2e9e3a7 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_intensity_transform.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + cv::Mat src_image = cv::Mat::zeros(400, 400, CV_8UC3); + cv::Mat dst_image; + cv::intensity_transform::autoscaling(src_image, dst_image); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_line_descriptor.cpp b/recipes/opencv/4.x/test_package/test_line_descriptor.cpp new file mode 100644 index 0000000000000..a9c8f66bb0d01 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_line_descriptor.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto descriptor = cv::line_descriptor::BinaryDescriptor::createBinaryDescriptor(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_mcc.cpp b/recipes/opencv/4.x/test_package/test_mcc.cpp new file mode 100644 index 0000000000000..7b2647b223c4d --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_mcc.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto checker_detector = cv::mcc::CCheckerDetector::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_ml.cpp b/recipes/opencv/4.x/test_package/test_ml.cpp new file mode 100644 index 0000000000000..e53dbd4cf97ee --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_ml.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto dtrees = cv::ml::DTrees::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_objdetect.cpp b/recipes/opencv/4.x/test_package/test_objdetect.cpp new file mode 100644 index 0000000000000..2533cbb506d59 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_objdetect.cpp @@ -0,0 +1,17 @@ +#include +#include + +#include + +int main() { + std::vector rectangles; + rectangles.reserve(100); + for (int i = 0; i < 10; ++i) { + for (int j = 0; j < 10; ++j) { + rectangles.emplace_back(cv::Rect(10 * i, 5 * (i + j), 2, 3)); + } + } + cv::groupRectangles(rectangles, 2); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_optflow.cpp b/recipes/opencv/4.x/test_package/test_optflow.cpp new file mode 100644 index 0000000000000..f7ef8c92b736e --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_optflow.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + auto tree = cv::optflow::GPCTree::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_package.cpp b/recipes/opencv/4.x/test_package/test_package.cpp deleted file mode 100644 index 220a68d7c84b1..0000000000000 --- a/recipes/opencv/4.x/test_package/test_package.cpp +++ /dev/null @@ -1,235 +0,0 @@ -// Test file borrowed from OpenCV tutorial: https://docs.opencv.org/master/d3/d96/tutorial_basic_geometric_drawing.html - -/** - * @file Drawing_1.cpp - * @brief Simple geometric drawing - * @author OpenCV team - */ -#include -#include -#ifdef BUILT_WITH_ADE -#include -#include -#include -#endif -#ifdef BUILT_WITH_FFMPEG -#include -#include -#endif -#ifdef BUILT_CONTRIB_SFM -#include -#endif - -#define w 400 - -using namespace cv; - -/// Function headers -void MyEllipse( Mat img, double angle ); -void MyFilledCircle( Mat img, Point center ); -void MyPolygon( Mat img ); -void MyLine( Mat img, Point start, Point end ); -// to test `with_ade` option -void TestGAPI(); -void TestVideo(); -void TestSFM(); - -/** - * @function main - * @brief Main function - */ -int main( void ){ - - //![create_images] - /// Windows names - char atom_window[] = "Drawing 1: Atom"; - char rook_window[] = "Drawing 2: Rook"; - - /// Create black empty images - Mat atom_image = Mat::zeros( w, w, CV_8UC3 ); - Mat rook_image = Mat::zeros( w, w, CV_8UC3 ); - //![create_images] - - /// 1. Draw a simple atom: - /// ----------------------- - - //![draw_atom] - /// 1.a. Creating ellipses - MyEllipse( atom_image, 90 ); - MyEllipse( atom_image, 0 ); - MyEllipse( atom_image, 45 ); - MyEllipse( atom_image, -45 ); - - /// 1.b. Creating circles - MyFilledCircle( atom_image, Point( w/2, w/2) ); - //![draw_atom] - - /// 2. Draw a rook - /// ------------------ - - //![draw_rook] - /// 2.a. Create a convex polygon - MyPolygon( rook_image ); - - //![rectangle] - /// 2.b. Creating rectangles - rectangle( rook_image, - Point( 0, 7*w/8 ), - Point( w, w), - Scalar( 0, 255, 255 ), - FILLED, - LINE_8 ); - //![rectangle] - - /// 2.c. Create a few lines - MyLine( rook_image, Point( 0, 15*w/16 ), Point( w, 15*w/16 ) ); - MyLine( rook_image, Point( w/4, 7*w/8 ), Point( w/4, w ) ); - MyLine( rook_image, Point( w/2, 7*w/8 ), Point( w/2, w ) ); - MyLine( rook_image, Point( 3*w/4, 7*w/8 ), Point( 3*w/4, w ) ); - //![draw_rook] - TestGAPI(); - TestVideo(); - TestSFM(); - - return(0); -} - -/// Function Declaration - -/** - * @function MyEllipse - * @brief Draw a fixed-size ellipse with different angles - */ -//![my_ellipse] -void MyEllipse( Mat img, double angle ) -{ - int thickness = 2; - int lineType = 8; - - ellipse( img, - Point( w/2, w/2 ), - Size( w/4, w/16 ), - angle, - 0, - 360, - Scalar( 255, 0, 0 ), - thickness, - lineType ); -} -//![my_ellipse] - -/** - * @function MyFilledCircle - * @brief Draw a fixed-size filled circle - */ -//![my_filled_circle] -void MyFilledCircle( Mat img, Point center ) -{ - circle( img, - center, - w/32, - Scalar( 0, 0, 255 ), - FILLED, - LINE_8 ); -} -//![my_filled_circle] - -/** - * @function MyPolygon - * @brief Draw a simple concave polygon (rook) - */ -//![my_polygon] -void MyPolygon( Mat img ) -{ - int lineType = LINE_8; - - /** Create some points */ - Point rook_points[1][20]; - rook_points[0][0] = Point( w/4, 7*w/8 ); - rook_points[0][1] = Point( 3*w/4, 7*w/8 ); - rook_points[0][2] = Point( 3*w/4, 13*w/16 ); - rook_points[0][3] = Point( 11*w/16, 13*w/16 ); - rook_points[0][4] = Point( 19*w/32, 3*w/8 ); - rook_points[0][5] = Point( 3*w/4, 3*w/8 ); - rook_points[0][6] = Point( 3*w/4, w/8 ); - rook_points[0][7] = Point( 26*w/40, w/8 ); - rook_points[0][8] = Point( 26*w/40, w/4 ); - rook_points[0][9] = Point( 22*w/40, w/4 ); - rook_points[0][10] = Point( 22*w/40, w/8 ); - rook_points[0][11] = Point( 18*w/40, w/8 ); - rook_points[0][12] = Point( 18*w/40, w/4 ); - rook_points[0][13] = Point( 14*w/40, w/4 ); - rook_points[0][14] = Point( 14*w/40, w/8 ); - rook_points[0][15] = Point( w/4, w/8 ); - rook_points[0][16] = Point( w/4, 3*w/8 ); - rook_points[0][17] = Point( 13*w/32, 3*w/8 ); - rook_points[0][18] = Point( 5*w/16, 13*w/16 ); - rook_points[0][19] = Point( w/4, 13*w/16 ); - - const Point* ppt[1] = { rook_points[0] }; - int npt[] = { 20 }; - - fillPoly( img, - ppt, - npt, - 1, - Scalar( 255, 255, 255 ), - lineType ); -} -//![my_polygon] - -/** - * @function MyLine - * @brief Draw a simple line - */ -//![my_line] -void MyLine( Mat img, Point start, Point end ) -{ - int thickness = 2; - int lineType = LINE_8; - - line( img, - start, - end, - Scalar( 0, 0, 0 ), - thickness, - lineType ); -} -//![my_line] - -/** - * @function TestGAPI - @brief to test `with_ade` - derived from https://docs.opencv.org/4.5.0/d0/d1e/gapi.html -*/ -void TestGAPI() -{ -#ifdef BUILT_WITH_ADE - cv::GMat in; - cv::GMat vga = cv::gapi::resize(in, cv::Size(), 0.5, 0.5); - cv::GMat gray = cv::gapi::BGR2Gray(vga); - cv::GMat blurred = cv::gapi::blur(gray, cv::Size(5,5)); - cv::GMat edges = cv::gapi::Canny(blurred, 32, 128, 3); - cv::GMat b,g,r; - std::tie(b,g,r) = cv::gapi::split3(vga); - cv::GMat out = cv::gapi::merge3(b, g | edges, r); - cv::GComputation ac(in, out); -#endif -} - -void TestVideo() -{ -#ifdef BUILT_WITH_FFMPEG - if (!videoio_registry::hasBackend(CAP_FFMPEG)) - throw std::runtime_error("FFmpeg backend was not found"); -#endif -} - -void TestSFM() -{ -#ifdef BUILT_CONTRIB_SFM - Vec3f a; - a << 1,2,3; - Matx33f ax = sfm::skew(a); -#endif -} diff --git a/recipes/opencv/4.x/test_package/test_phase_unwrapping.cpp b/recipes/opencv/4.x/test_package/test_phase_unwrapping.cpp new file mode 100644 index 0000000000000..d8863b429ecd4 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_phase_unwrapping.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto histogram_phase_unwrapping = cv::phase_unwrapping::HistogramPhaseUnwrapping::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_photo.cpp b/recipes/opencv/4.x/test_package/test_photo.cpp new file mode 100644 index 0000000000000..4a94f1b4c0c8f --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_photo.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main() { + auto src_image = cv::Mat::zeros(400, 400, CV_8UC3); + cv::Mat dst_image; + cv::fastNlMeansDenoising(src_image, dst_image); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_plot.cpp b/recipes/opencv/4.x/test_package/test_plot.cpp new file mode 100644 index 0000000000000..40dc21023a5fc --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_plot.cpp @@ -0,0 +1,12 @@ +#include +#include + +int main() { + cv::Mat xData; + xData.create(1, 100, CV_64F); + for (int i = 0; i < 100; ++i) { + xData.at(i) = i / 10.0; + } + auto plot = cv::plot::Plot2d::create(xData); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_quality.cpp b/recipes/opencv/4.x/test_package/test_quality.cpp new file mode 100644 index 0000000000000..75faaa7e15666 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_quality.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main() { + cv::Mat image = cv::Mat::ones(10, 10, CV_8UC3) * 40; + auto quality_mse = cv::quality::QualityMSE::create(image); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_reg.cpp b/recipes/opencv/4.x/test_package/test_reg.cpp new file mode 100644 index 0000000000000..26957e3fa333b --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_reg.cpp @@ -0,0 +1,9 @@ +#include + +int main() { + cv::reg::MapProjec map; + map.scale(5.5); + map.inverseMap(); + map.normalize(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_rgbd.cpp b/recipes/opencv/4.x/test_package/test_rgbd.cpp new file mode 100644 index 0000000000000..f4c2a3c31ec3b --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_rgbd.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + auto depth_cleaner = cv::rgbd::DepthCleaner::create(5); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_saliency.cpp b/recipes/opencv/4.x/test_package/test_saliency.cpp new file mode 100644 index 0000000000000..c3938011335b0 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_saliency.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto objectness_bing = cv::saliency::ObjectnessBING::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_sfm.cpp b/recipes/opencv/4.x/test_package/test_sfm.cpp new file mode 100644 index 0000000000000..e4b4bacb2a25a --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_sfm.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main() { + cv::Vec3f a; + a << 1,2,3; + cv::Matx33f ax = cv::sfm::skew(a); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_shape.cpp b/recipes/opencv/4.x/test_package/test_shape.cpp new file mode 100644 index 0000000000000..ef5e9500abe47 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_shape.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto extractor = cv::createChiHistogramCostExtractor(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_stitching.cpp b/recipes/opencv/4.x/test_package/test_stitching.cpp new file mode 100644 index 0000000000000..8a445823efb35 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_stitching.cpp @@ -0,0 +1,13 @@ +#include +#include + +int main() { + cv::Rect roi; + bool overlap = cv::detail::overlapRoi( + cv::Point2f(2, 3), cv::Point2f(4, -3), + cv::Size(10, 10), cv::Size(3, 4), + roi + ); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_structured_light.cpp b/recipes/opencv/4.x/test_package/test_structured_light.cpp new file mode 100644 index 0000000000000..d6f0b0661cdba --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_structured_light.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto pattern = cv::structured_light::GrayCodePattern::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_superres.cpp b/recipes/opencv/4.x/test_package/test_superres.cpp new file mode 100644 index 0000000000000..70097500036ec --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_superres.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto frame_source = cv::superres::createFrameSource_Empty(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_surface_matching.cpp b/recipes/opencv/4.x/test_package/test_surface_matching.cpp new file mode 100644 index 0000000000000..3a215084288be --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_surface_matching.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + cv::ppf_match_3d::PPF3DDetector detector(0.03, 0.05); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_text.cpp b/recipes/opencv/4.x/test_package/test_text.cpp new file mode 100644 index 0000000000000..1c8dbed4b8ea2 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_text.cpp @@ -0,0 +1,11 @@ +#include +#include + +#include + +int main() { + cv::Mat image = cv::Mat::zeros(10, 10, CV_8UC3); + std::vector channels; + cv::text::computeNMChannels(image, channels); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_tracking.cpp b/recipes/opencv/4.x/test_package/test_tracking.cpp new file mode 100644 index 0000000000000..69efe349df222 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_tracking.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto kcf_tracker = cv::TrackerKCF::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_video.cpp b/recipes/opencv/4.x/test_package/test_video.cpp new file mode 100644 index 0000000000000..09a4342add1a1 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_video.cpp @@ -0,0 +1,7 @@ +#include + +int main() { + auto bkg_subtractor_knn = cv::createBackgroundSubtractorKNN(); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_videoio.cpp b/recipes/opencv/4.x/test_package/test_videoio.cpp new file mode 100644 index 0000000000000..7b0955e888a06 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_videoio.cpp @@ -0,0 +1,11 @@ +#include +#include + +#include + +int main() { + if (!cv::videoio_registry::hasBackend(cv::CAP_FFMPEG)) + throw std::runtime_error("FFmpeg backend was not found"); + + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_wechat_qrcode.cpp b/recipes/opencv/4.x/test_package/test_wechat_qrcode.cpp new file mode 100644 index 0000000000000..6dce15eeb7b40 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_wechat_qrcode.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + cv::Mat image = cv::Mat::ones(100, 100, CV_8UC3) * 50; + cv::wechat_qrcode::WeChatQRCode wechat_qrcode; + auto decoded_strings = wechat_qrcode.detectAndDecode(image); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_xfeatures2d.cpp b/recipes/opencv/4.x/test_package/test_xfeatures2d.cpp new file mode 100644 index 0000000000000..673b9737b4fdd --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_xfeatures2d.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto vgg = cv::xfeatures2d::VGG::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_ximgproc.cpp b/recipes/opencv/4.x/test_package/test_ximgproc.cpp new file mode 100644 index 0000000000000..b4804362da9b2 --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_ximgproc.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto feature_getter = cv::ximgproc::createRFFeatureGetter(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_xobjdetect.cpp b/recipes/opencv/4.x/test_package/test_xobjdetect.cpp new file mode 100644 index 0000000000000..15cecaff5b8ef --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_xobjdetect.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto detector = cv::xobjdetect::WBDetector::create(); + return 0; +} diff --git a/recipes/opencv/4.x/test_package/test_xphoto.cpp b/recipes/opencv/4.x/test_package/test_xphoto.cpp new file mode 100644 index 0000000000000..5c0eb661f221c --- /dev/null +++ b/recipes/opencv/4.x/test_package/test_xphoto.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + auto grayworld_wb = cv::xphoto::createGrayworldWB(); + return 0; +} diff --git a/recipes/opencv/4.x/test_v1_package/CMakeLists.txt b/recipes/opencv/4.x/test_v1_package/CMakeLists.txt index 0d20897301b68..c23ed5cfe6d98 100644 --- a/recipes/opencv/4.x/test_v1_package/CMakeLists.txt +++ b/recipes/opencv/4.x/test_v1_package/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_v1_package) + +enable_testing() include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) diff --git a/recipes/opencv/4.x/test_v1_package/conanfile.py b/recipes/opencv/4.x/test_v1_package/conanfile.py index dc9799aa32b63..9aa234fbd88b8 100644 --- a/recipes/opencv/4.x/test_v1_package/conanfile.py +++ b/recipes/opencv/4.x/test_v1_package/conanfile.py @@ -1,21 +1,47 @@ from conans import ConanFile, CMake, tools -import os +from conans.errors import ConanException class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" + @property + def _tested_modules(self): + return [ + # Main modules + "calib3d", "core", "dnn", "features2d", "flann", "gapi", "highgui", "imgcodecs", + "imgproc", "ml", "objdetect", "photo", "stitching", "video", "videoio", + # Extra modules + "alphamat", "aruco", "bgsegm", "bioinspired", "ccalib", "datasets", "dnn_superres", + "face", "freetype", "fuzzy", "hdf", "hfs", "img_hash", "intensity_transform", + "line_descriptor", "mcc", "optflow", "phase_unwrapping", "plot", "quality", "reg", + "rgbd", "saliency", "sfm", "shape", "structured_light", "superres", + "surface_matching", "text", "tracking", "wechat_qrcode", "xfeatures2d", + "ximgproc", "xobjdetect", "xphoto", + ] + + def _opencv_option(self, name, default): + try: + return getattr(self.options["opencv"], name, default) + except (AttributeError, ConanException): + return default + def build(self): cmake = CMake(self) - cmake.definitions["built_dnn"] = self.options["opencv"].dnn - cmake.definitions["built_with_ade"] = self.options["opencv"].with_ade - cmake.definitions["built_with_ffmpeg"] = self.options["opencv"].with_ffmpeg - cmake.definitions["built_contrib_sfm"] = self.options["opencv"].contrib and self.options["opencv"].contrib_sfm + for module in self._tested_modules: + cmake_option = f"OPENCV_WITH_{module.upper()}" + if module == "core": + cmake.definitions[cmake_option] = True + elif module == "imgcodecs": + cmake.definitions[cmake_option] = self.options["opencv"].imgcodecs and self.options["opencv"].with_png + elif module == "videoio": + cmake.definitions[cmake_option] = self.options["opencv"].videoio and self.options["opencv"].with_ffmpeg + else: + cmake.definitions[cmake_option] = self._opencv_option(module, False) 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) + self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {tools.cpu_count()}", run_environment=True) From 05e5a14450621593004cac50d4fd4f5c6ceb3111 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 14:03:38 +0300 Subject: [PATCH 1164/4087] (#18117) dtl: migrate to Conan v2 * dtl: migrate to Conan v2 * dtl: undo addition of cxx_std_11 in test_package No min cppstd check is done in the recipe, so this should not be necessary. * dtl: add check_min_cppstd * dtl: restore test_v1_package * dtl: drop cppstd check * dtl: restore VirtualRunEnv in test_package --------- Co-authored-by: Carlos Zoido --- recipes/dtl/all/conanfile.py | 32 +++++++++++++------ recipes/dtl/all/test_package/CMakeLists.txt | 7 ++-- recipes/dtl/all/test_package/conanfile.py | 21 ++++++++---- .../dtl/all/test_v1_package/CMakeLists.txt | 8 +++++ recipes/dtl/all/test_v1_package/conanfile.py | 17 ++++++++++ 5 files changed, 64 insertions(+), 21 deletions(-) create mode 100644 recipes/dtl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dtl/all/test_v1_package/conanfile.py diff --git a/recipes/dtl/all/conanfile.py b/recipes/dtl/all/conanfile.py index 6d45ac4104004..c53d228db8921 100644 --- a/recipes/dtl/all/conanfile.py +++ b/recipes/dtl/all/conanfile.py @@ -1,28 +1,40 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class DtlConan(ConanFile): name = "dtl" description = "diff template library written by C++" - topics = ("diff", "library", "algorithm") license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/cubicdaiya/dtl" + topics = ("diff", "library", "algorithm", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(os.path.join("dtl", "*.hpp"), dst="include", src=self._source_subfolder) - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, os.path.join("dtl", "*.hpp"), + 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/dtl/all/test_package/CMakeLists.txt b/recipes/dtl/all/test_package/CMakeLists.txt index 9710bb88ce36c..f8aa0df23cba2 100644 --- a/recipes/dtl/all/test_package/CMakeLists.txt +++ b/recipes/dtl/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(dtl CONFIG REQUIRED) diff --git a/recipes/dtl/all/test_package/conanfile.py b/recipes/dtl/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/dtl/all/test_package/conanfile.py +++ b/recipes/dtl/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/dtl/all/test_v1_package/CMakeLists.txt b/recipes/dtl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/dtl/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/dtl/all/test_v1_package/conanfile.py b/recipes/dtl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/dtl/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 c3618f1cd9521d601aece7c402853b6f9a34d0f1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 13 Aug 2023 20:28:06 +0900 Subject: [PATCH 1165/4087] (#18495) mongo-cxx-driver: add version 3.8.0, update mongo-c-driver * mongo-cxx-driver: add version 3.8.0, update mongo-c-driver * update mongo-c-driver --- recipes/mongo-cxx-driver/all/conandata.yml | 10 +++ recipes/mongo-cxx-driver/all/conanfile.py | 2 +- .../all/patches/3.8.0-0001-dirs.patch | 82 +++++++++++++++++++ recipes/mongo-cxx-driver/config.yml | 2 + 4 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 recipes/mongo-cxx-driver/all/patches/3.8.0-0001-dirs.patch diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 5f674bff2da01..3d37bb8ee6cf3 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.0": + url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.8.0/mongo-cxx-driver-r3.8.0.tar.gz" + sha256: "60c7a53a0f6b984aab0b231dc0b31c85c8950059f42a354fb522672b059d5089" "3.7.2": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.7.2/mongo-cxx-driver-r3.7.2.tar.gz" sha256: "bc0f5193a8184db47a75685b58acd484b0e489eb0476b4d931d1bf4f5fc2186e" @@ -18,6 +21,13 @@ sources: url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.1/mongo-cxx-driver-r3.6.1.tar.gz" sha256: "83523e897ef18f7ce05d85d1632dd4ba486c264a1b89c09020163ab29e11eab7" patches: + "3.8.0": + - patch_file: "patches/3.8.0-0001-dirs.patch" + patch_description: "disable documentation features, fix directories" + patch_type: "conan" + - patch_file: "patches/3.7.2-0002-poly_use_std_define.patch" + patch_description: "use poly macro instead __cplusplus" + patch_type: "portability" "3.7.2": - patch_file: "patches/3.7.2-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 557880613c87c..26e997f666df1 100644 --- a/recipes/mongo-cxx-driver/all/conanfile.py +++ b/recipes/mongo-cxx-driver/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("mongo-c-driver/1.23.5") + self.requires("mongo-c-driver/1.24.3") if self.options.polyfill == "boost": self.requires("boost/1.82.0", transitive_headers=True) diff --git a/recipes/mongo-cxx-driver/all/patches/3.8.0-0001-dirs.patch b/recipes/mongo-cxx-driver/all/patches/3.8.0-0001-dirs.patch new file mode 100644 index 0000000000000..e057a4548d890 --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.8.0-0001-dirs.patch @@ -0,0 +1,82 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 20254fa..98add65 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -206,6 +206,7 @@ set (BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR}) + + include (MakeDistFiles) + ++if(FALSE) + add_custom_target(hugo_dir + COMMAND ${CMAKE_COMMAND} -E make_directory hugo + ) +@@ -261,6 +262,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) + +@@ -270,6 +272,9 @@ if (ENABLE_TESTS) + enable_testing() + endif () + ++set(MONGO_CXX_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++set(MONGO_CXX_PROJECT_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}) ++ + add_subdirectory(src) + + add_subdirectory(examples EXCLUDE_FROM_ALL) +@@ -281,6 +286,7 @@ add_subdirectory(benchmark EXCLUDE_FROM_ALL) + # CMake does not implement anything like 'dist' from autotools. + # This implementation is based on the one in GnuCash. + ++if(FALSE) + add_subdirectory (cmake) + add_subdirectory (data) + add_subdirectory (docs) +@@ -381,4 +387,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 f30aea8..09e907c 100644 +--- a/src/bsoncxx/CMakeLists.txt ++++ b/src/bsoncxx/CMakeLists.txt +@@ -71,7 +71,7 @@ set(BSONCXX_VERSION_NO_EXTRA ${BSONCXX_VERSION_MAJOR}.${BSONCXX_VERSION_MINOR}.$ + set(BSONCXX_VERSION ${BSONCXX_VERSION_NO_EXTRA}${BSONCXX_VERSION_EXTRA}) + message ("bsoncxx version: ${BSONCXX_VERSION}") + set(BSONCXX_INLINE_NAMESPACE "v${BSONCXX_ABI_VERSION}") +-set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/${BSONCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE INTERNAL "") + + set(LIBBSON_REQUIRED_VERSION 1.24.0) + set(LIBBSON_REQUIRED_ABI_VERSION 1.0) +@@ -95,8 +95,9 @@ if(TARGET bson_shared OR TARGET bson_static) + endif() + else() + # Attempt to find libbson by new package name (without lib). +- find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} ${LIBBSON_REQUIRED_VERSION} QUIET) +- ++ find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} REQUIRED) ++ set(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND TRUE) ++ + if(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND) + message ("found libbson version ${bson-${LIBBSON_REQUIRED_ABI_VERSION}_VERSION}") + if(NOT BSONCXX_LINK_WITH_STATIC_MONGOC) +diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt +index 45fd3ad..3248655 100644 +--- a/src/mongocxx/CMakeLists.txt ++++ b/src/mongocxx/CMakeLists.txt +@@ -27,7 +27,7 @@ set(MONGOCXX_VERSION_NO_EXTRA ${MONGOCXX_VERSION_MAJOR}.${MONGOCXX_VERSION_MINOR + set(MONGOCXX_VERSION ${MONGOCXX_VERSION_NO_EXTRA}${MONGOCXX_VERSION_EXTRA}) + message ("mongocxx version: ${MONGOCXX_VERSION}") + set(MONGOCXX_INLINE_NAMESPACE "v${MONGOCXX_ABI_VERSION}") +-set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/${MONGOCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/" CACHE INTERNAL "") + + set(LIBMONGOC_REQUIRED_VERSION 1.24.0) + set(LIBMONGOC_REQUIRED_ABI_VERSION 1.0) diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index 454f3110a5cca..21ad02b8d9466 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.0": + folder: all "3.7.2": folder: all "3.7.0": From 9eafdf0628c3ec6ce434ef4b83711d593151c6f7 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 13 Aug 2023 21:26:46 +0900 Subject: [PATCH 1166/4087] (#18601) glaze: add version 1.3.5, remove older versions * glaze: add version 1.3.3, remove older versions * add 1.3.3 to config.yml * drop support msvc 16 since 1.3.3 * drop support msvc 192 on glaze/1.3.3 * update 1.3.4 * update 1.3.5 --- recipes/glaze/all/conandata.yml | 12 +++--------- recipes/glaze/all/conanfile.py | 4 ++-- recipes/glaze/config.yml | 8 ++------ 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 9a250bd76e55c..ca57858e477ea 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.5": + url: "https://github.com/stephenberry/glaze/archive/v1.3.5.tar.gz" + sha256: "de5d59cb7f31193d45f67f25d8ced1499df50c0d926a1461432b87f2b2368817" "1.3.2": url: "https://github.com/stephenberry/glaze/archive/v1.3.2.tar.gz" sha256: "c7dd5fd8da63708328e02efbaa91f58df5573114a11c91ae025b711cb0d7f7ab" @@ -14,15 +17,6 @@ sources: "1.2.5": url: "https://github.com/stephenberry/glaze/archive/v1.2.5.tar.gz" sha256: "bc3ff0b24c8c71557e7aabc5a2bfedd51acea92548c208c3a51815848d2b2c5a" - "1.2.3": - url: "https://github.com/stephenberry/glaze/archive/v1.2.3.tar.gz" - sha256: "003cd3922795319253f080b328dd5c957bc8f446cc2a8145324c2748f4acf10f" - "1.2.2": - url: "https://github.com/stephenberry/glaze/archive/v1.2.2.tar.gz" - sha256: "9bacbe5b07819de9799c8b9aa4861224768d2f87b0cb2f16bd1a4639c6e54755" - "1.2.0": - url: "https://github.com/stephenberry/glaze/archive/v1.2.0.tar.gz" - sha256: "f324a88885da5ed832ddb3ab4e3b0c8994815167b2608615fabfe0373c48a0a4" "1.1.2": url: "https://github.com/stephenberry/glaze/archive/v1.1.2.tar.gz" sha256: "ee22d55b7f40d63f510a41f22765cb24e9e70d312978bad4eb9c94c7ba2fe58c" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 253e1e45cba72..41a166e34e3ca 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -25,8 +25,8 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "Visual Studio": "16", - "msvc": "192", + "Visual Studio": "17" if Version(self.version) >= "1.3.3" else "16", + "msvc": "193" if Version(self.version) >= "1.3.3" else "192", "gcc": "12", "clang": "12" if Version(self.version) > "1.0.0" else "13", "apple-clang": "13.1", diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index c9458b20872be..ae1392b97f20d 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.5": + folder: all "1.3.2": folder: all "1.3.1": @@ -9,12 +11,6 @@ versions: folder: all "1.2.5": folder: all - "1.2.3": - folder: all - "1.2.2": - folder: all - "1.2.0": - folder: all "1.1.2": folder: all "0.3.6": From 89cff30b30f698002105c2c9ee3230070f2a2403 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 16:06:12 +0300 Subject: [PATCH 1167/4087] (#18667) rvo2: migrate to Conan v2 * rvo2: migrate to Conan v2 * rvo2: fix_apple_shared_install_name() * rvo2: restore VirtualRunEnv in test_package --- recipes/rvo2/all/CMakeLists.txt | 11 --- recipes/rvo2/all/conanfile.py | 75 ++++++++++--------- recipes/rvo2/all/test_package/CMakeLists.txt | 9 +-- recipes/rvo2/all/test_package/conanfile.py | 21 ++++-- .../rvo2/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/rvo2/all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 83 insertions(+), 58 deletions(-) delete mode 100644 recipes/rvo2/all/CMakeLists.txt create mode 100644 recipes/rvo2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rvo2/all/test_v1_package/conanfile.py diff --git a/recipes/rvo2/all/CMakeLists.txt b/recipes/rvo2/all/CMakeLists.txt deleted file mode 100644 index 4e4f66d9ee7ef..0000000000000 --- a/recipes/rvo2/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/rvo2/all/conanfile.py b/recipes/rvo2/all/conanfile.py index c7ee9cc9e4688..f5f8524c916a7 100644 --- a/recipes/rvo2/all/conanfile.py +++ b/recipes/rvo2/all/conanfile.py @@ -1,16 +1,23 @@ import os -from conans import ConanFile, tools, CMake + +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file + +required_conan_version = ">=1.53.0" class Rvo2Conan(ConanFile): name = "rvo2" description = "Optimal Reciprocal Collision Avoidance" - topics = ("conan", "collision", "avoidance", ) + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/snape/RVO2" - license = "Apache-2.0" + topics = ("collision", "avoidance") - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -20,55 +27,51 @@ class Rvo2Conan(ConanFile): "fPIC": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "RVO2-{}".format(self.version) - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() def _patch_sources(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "add_subdirectory(examples)", - "") - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "CMakeLists.txt"), - "DESTINATION include", - "DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}") - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "CMakeLists.txt"), - "RVO DESTINATION lib", - "RVO RUNTIME LIBRARY ARCHIVE") + 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, "src", "CMakeLists.txt"), + "DESTINATION include", + "DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}", + ) + replace_in_file( + self, + os.path.join(self.source_folder, "src", "CMakeLists.txt"), + "RVO DESTINATION lib", + "RVO RUNTIME LIBRARY ARCHIVE", + ) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=os.path.join(self.source_folder, 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() + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ["RVO"] diff --git a/recipes/rvo2/all/test_package/CMakeLists.txt b/recipes/rvo2/all/test_package/CMakeLists.txt index 196188113685c..17ebed2c5661d 100644 --- a/recipes/rvo2/all/test_package/CMakeLists.txt +++ b/recipes/rvo2/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(rvo2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE rvo2::rvo2) diff --git a/recipes/rvo2/all/test_package/conanfile.py b/recipes/rvo2/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/rvo2/all/test_package/conanfile.py +++ b/recipes/rvo2/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/rvo2/all/test_v1_package/CMakeLists.txt b/recipes/rvo2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rvo2/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/rvo2/all/test_v1_package/conanfile.py b/recipes/rvo2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/rvo2/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) From 60231935b32310ddb54fcd81f85a1a22cdeb1428 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 16:26:15 +0300 Subject: [PATCH 1168/4087] (#18683) usrsctp: migrate to Conan v2 * usrsctp: migrate to Conan v2 * usrsctp: set CMP0091 to NEW * usrsctp: restore VirtualRunEnv in test_package * usrsctp: fix CMP0091 error * usrsctp: clean up imports --- recipes/usrsctp/all/CMakeLists.txt | 11 --- recipes/usrsctp/all/conandata.yml | 1 - recipes/usrsctp/all/conanfile.py | 95 +++++++++++-------- .../usrsctp/all/test_package/CMakeLists.txt | 5 +- recipes/usrsctp/all/test_package/conanfile.py | 21 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../usrsctp/all/test_v1_package/conanfile.py | 17 ++++ 7 files changed, 94 insertions(+), 64 deletions(-) delete mode 100644 recipes/usrsctp/all/CMakeLists.txt create mode 100644 recipes/usrsctp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/usrsctp/all/test_v1_package/conanfile.py diff --git a/recipes/usrsctp/all/CMakeLists.txt b/recipes/usrsctp/all/CMakeLists.txt deleted file mode 100644 index 3bead6a0d9320..0000000000000 --- a/recipes/usrsctp/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() - -if (WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/usrsctp/all/conandata.yml b/recipes/usrsctp/all/conandata.yml index 61e799fd3d464..9dffac4dd65c9 100644 --- a/recipes/usrsctp/all/conandata.yml +++ b/recipes/usrsctp/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "0.9.5.0": - patch_file: "patches/0001-install.patch" - base_path: "source_subfolder" diff --git a/recipes/usrsctp/all/conanfile.py b/recipes/usrsctp/all/conanfile.py index 73752d1325d3b..9eba2832eb8dd 100644 --- a/recipes/usrsctp/all/conanfile.py +++ b/recipes/usrsctp/all/conanfile.py @@ -1,27 +1,33 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file + +required_conan_version = ">=1.53.0" + class UsrsctpConan(ConanFile): name = "usrsctp" + description = " A portable SCTP userland stack" license = "BSD-3-Clause" - homepage = "https://github.com/sctplab/usrsctp" url = "https://github.com/conan-io/conan-center-index" - topics = ("conan", "network", "sctp") - description = " A portable SCTP userland stack" - settings = "os", "compiler", "arch", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False]} - default_options = {"shared": False, - "fPIC": True} - exports_sources = ["CMakeLists.txt", "patches/*"] - generators = "cmake" + homepage = "https://github.com/sctplab/usrsctp" + topics = ("network", "sctp") - _cmake = None + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -29,46 +35,51 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "usrsctp-{}".format(self.version) - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["sctp_debug"] = False + tc.variables["sctp_werror"] = False + tc.variables["sctp_build_shared_lib"] = self.options.shared + tc.variables["sctp_build_programs"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["sctp_debug"] = False - self._cmake.definitions["sctp_werror"] = False - self._cmake.definitions["sctp_build_shared_lib"] = self.options.shared - self._cmake.definitions["sctp_build_programs"] = False - self._cmake.configure() - return self._cmake + def _patch_sources(self): + apply_conandata_patches(self) + # Fix "The CMake policy CMP0091 must be NEW, but is ''" + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "project(usrsctplib C)\ncmake_minimum_required(VERSION 3.0)", + "cmake_minimum_required(VERSION 3.15)\nproject(usrsctplib C)") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.md", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE.md", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.names["pkg_config"] = "usrsctp" + self.cpp_info.set_property("pkg_config_name", "usrsctp") if self.settings.os == "Windows": - self.cpp_info.system_libs.extend(['ws2_32', 'iphlpapi']) - elif self.settings.os == "Linux": - self.cpp_info.system_libs.extend(['pthread']) + self.cpp_info.system_libs = ["ws2_32", "iphlpapi"] + elif self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] suffix = "_import" if self.settings.os == "Windows" and self.options.shared else "" self.cpp_info.libs = ["usrsctp" + suffix] diff --git a/recipes/usrsctp/all/test_package/CMakeLists.txt b/recipes/usrsctp/all/test_package/CMakeLists.txt index a60174007a234..d8fa3f6efba33 100644 --- a/recipes/usrsctp/all/test_package/CMakeLists.txt +++ b/recipes/usrsctp/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(usrsctp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/usrsctp/all/test_package/conanfile.py b/recipes/usrsctp/all/test_package/conanfile.py index 7e2dfe859bb27..ef5d7042163ec 100644 --- a/recipes/usrsctp/all/test_package/conanfile.py +++ b/recipes/usrsctp/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.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/usrsctp/all/test_v1_package/CMakeLists.txt b/recipes/usrsctp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/usrsctp/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/usrsctp/all/test_v1_package/conanfile.py b/recipes/usrsctp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/usrsctp/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) From 8cb127aa2e4e16161412266771d85f907f8982ba Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 16:45:51 +0300 Subject: [PATCH 1169/4087] (#18692) fusepp: migrate to Conan v2 * fusepp: migrate to Conan v2 * fusepp: add m * fusepp: restore VirtualRunEnv in test_package --- recipes/fusepp/all/CMakeLists.txt | 16 ++-- recipes/fusepp/all/conanfile.py | 85 ++++++++++--------- .../fusepp/all/test_package/CMakeLists.txt | 9 +- recipes/fusepp/all/test_package/conanfile.py | 21 +++-- .../fusepp/all/test_v1_package/CMakeLists.txt | 8 ++ .../fusepp/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 97 insertions(+), 59 deletions(-) create mode 100644 recipes/fusepp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/fusepp/all/test_v1_package/conanfile.py diff --git a/recipes/fusepp/all/CMakeLists.txt b/recipes/fusepp/all/CMakeLists.txt index 661f0d421c545..95ef7fe563895 100644 --- a/recipes/fusepp/all/CMakeLists.txt +++ b/recipes/fusepp/all/CMakeLists.txt @@ -1,18 +1,16 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) +cmake_minimum_required(VERSION 3.12) +project(cmake_wrapper LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(KEEP_RPATHS) +find_package(libfuse REQUIRED CONFIG) -set(SOURCE_SUBFOLDER ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder) +set(SOURCE_SUBFOLDER ${CMAKE_CURRENT_LIST_DIR}/src) file(GLOB_RECURSE INCLUDE_FILES "${SOURCE_SUBFOLDER}/Fuse*.h" "${SOURCE_SUBFOLDER}/Fuse.cpp") add_library(fusepp ${SOURCE_SUBFOLDER}/Fuse.cpp) - +target_link_libraries(fusepp PUBLIC libfuse::libfuse) set_target_properties(fusepp PROPERTIES PUBLIC_HEADER "${INCLUDE_FILES}") + +include(GNUInstallDirs) install(TARGETS fusepp - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/fusepp/all/conanfile.py b/recipes/fusepp/all/conanfile.py index f23b9daa7e874..36394b1187d48 100644 --- a/recipes/fusepp/all/conanfile.py +++ b/recipes/fusepp/all/conanfile.py @@ -1,15 +1,24 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +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 +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class FuseppConan(ConanFile): name = "fusepp" description = "A simple C++ wrapper for the FUSE filesystem." license = "MIT" - topics = ("fuse", "fusepp", "wrapper", "filesystem") - homepage = "https://github.com/jachappell/Fusepp" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jachappell/Fusepp" + topics = ("fuse", "wrapper", "filesystem") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -17,23 +26,11 @@ class FuseppConan(ConanFile): } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - exports_sources = "CMakeLists.txt" - - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") - if self.settings.compiler == "gcc": - if tools.Version(self.settings.compiler.version) < "6": - raise ConanInvalidConfiguration("gcc < 6 is unsupported") + 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": @@ -41,38 +38,50 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libfuse/3.10.5") + self.requires("libfuse/3.10.5", transitive_headers=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if self.settings.compiler == "gcc": + if Version(self.settings.compiler.version) < "6": + raise ConanInvalidConfiguration("gcc < 6 is unsupported") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.libs = ["fusepp"] + self.cpp_info.set_property("cmake_file_name", "fusepp") + self.cpp_info.set_property("cmake_target_name", "fusepp::fusepp") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + # TODO: Remove after Conan 2.0 self.cpp_info.names["cmake_find_package"] = "fusepp" self.cpp_info.names["cmake_find_package_multi"] = "fusepp" - - self.cpp_info.set_property("cmake_file_name", "fusepp") - self.cpp_info.set_property("cmake_target_name", "fusepp") diff --git a/recipes/fusepp/all/test_package/CMakeLists.txt b/recipes/fusepp/all/test_package/CMakeLists.txt index 00168e2e07000..03f33e510f02d 100644 --- a/recipes/fusepp/all/test_package/CMakeLists.txt +++ b/recipes/fusepp/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(fusepp CONFIG REQUIRED) +find_package(fusepp REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) target_link_libraries(${PROJECT_NAME} fusepp::fusepp) diff --git a/recipes/fusepp/all/test_package/conanfile.py b/recipes/fusepp/all/test_package/conanfile.py index 46d9d6bbaf311..23d14d1e4b9f6 100644 --- a/recipes/fusepp/all/test_package/conanfile.py +++ b/recipes/fusepp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("%s --version" % bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} --version", env="conanrun") diff --git a/recipes/fusepp/all/test_v1_package/CMakeLists.txt b/recipes/fusepp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/fusepp/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/fusepp/all/test_v1_package/conanfile.py b/recipes/fusepp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..46d9d6bbaf311 --- /dev/null +++ b/recipes/fusepp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run("%s --version" % bin_path, run_environment=True) From 4a6374ce6b8eb87879040618df4e95ef386e00cf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 17:06:15 +0300 Subject: [PATCH 1170/4087] (#18695) etc2comp: migrate to Conan v2 * etc2comp: migrate to Conan v2 * etc2comp: use collect_libs() for Windows * etc2comp: restore VirtualRunEnv in test_package --- recipes/etc2comp/all/CMakeLists.txt | 7 -- recipes/etc2comp/all/conandata.yml | 1 - recipes/etc2comp/all/conanfile.py | 85 ++++++++++--------- .../etc2comp/all/test_package/CMakeLists.txt | 9 +- .../etc2comp/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../etc2comp/all/test_v1_package/conanfile.py | 16 ++++ 7 files changed, 88 insertions(+), 60 deletions(-) delete mode 100644 recipes/etc2comp/all/CMakeLists.txt create mode 100644 recipes/etc2comp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/etc2comp/all/test_v1_package/conanfile.py diff --git a/recipes/etc2comp/all/CMakeLists.txt b/recipes/etc2comp/all/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/etc2comp/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/etc2comp/all/conandata.yml b/recipes/etc2comp/all/conandata.yml index c09fa8bdc3d9b..a0bae7c1226dd 100644 --- a/recipes/etc2comp/all/conandata.yml +++ b/recipes/etc2comp/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "cci.20170424": - patch_file: "patches/fix-cmake.patch" - base_path: "source_subfolder" diff --git a/recipes/etc2comp/all/conanfile.py b/recipes/etc2comp/all/conanfile.py index 4a9a0df7d2266..0293dc8b7a996 100644 --- a/recipes/etc2comp/all/conanfile.py +++ b/recipes/etc2comp/all/conanfile.py @@ -1,16 +1,22 @@ import os -import glob -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get + +required_conan_version = ">=1.53.0" + class Etc2compConan(ConanFile): name = "etc2comp" description = "Open source c++ skeletal animation library and toolset." - license = "Apache-2.0", - topics = ("conan", "texture", "etc2", "compressor") - homepage = "https://github.com/google/etc2comp" + license = ("Apache-2.0",) url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" + homepage = "https://github.com/google/etc2comp" + topics = ("texture", "etc2", "compressor") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,54 +27,51 @@ class Etc2compConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob('etc2comp-*/')[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.lib", dst="lib", keep_path=False) - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.so*", dst="lib", keep_path=False, symlinks=True) - self.copy("*.dylib", dst="lib", keep_path=False) - self.copy("*.a", dst="lib", keep_path=False) - self.copy("*.h", dst=os.path.join("include"), src=os.path.join(self._source_subfolder, "EtcLib"), keep_path=False) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + for pattern in ["*.lib", "*.a", "*.so*", "*.dylib"]: + copy(self, pattern, 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) + copy( + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "EtcLib"), + keep_path=False, + ) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == "Linux": - self.cpp_info.system_libs.append("pthread") + self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/etc2comp/all/test_package/CMakeLists.txt b/recipes/etc2comp/all/test_package/CMakeLists.txt index aede60e3b1e4a..174341b077e2c 100644 --- a/recipes/etc2comp/all/test_package/CMakeLists.txt +++ b/recipes/etc2comp/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(etc2comp REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE etc2comp::etc2comp) set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/etc2comp/all/test_package/conanfile.py b/recipes/etc2comp/all/test_package/conanfile.py index 4903f1a7e8fa0..ef5d7042163ec 100644 --- a/recipes/etc2comp/all/test_package/conanfile.py +++ b/recipes/etc2comp/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/etc2comp/all/test_v1_package/CMakeLists.txt b/recipes/etc2comp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/etc2comp/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/etc2comp/all/test_v1_package/conanfile.py b/recipes/etc2comp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/etc2comp/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 5a508201e7d09789f3b37253725eefe68e8b9452 Mon Sep 17 00:00:00 2001 From: Carel Date: Sun, 13 Aug 2023 16:27:05 +0200 Subject: [PATCH 1171/4087] (#18829) hunspell/1.7.2: migrate conan 2 and update * Migrate recipe to conan 2 - Test for both * Add 1.7.2 - Newest at this time * Use v2 test package * Remove visibility * Fix includes * Check min gcc * Check C++ standard * Update recipes/hunspell/all/conanfile.py Co-authored-by: Chris Mc * C++11 by default * Remove unused file * Update recipes/hunspell/all/conanfile.py Co-authored-by: Uilian Ries * Review feedback - Use cmake path - Use CMAKE_CURRENT_SOURCE_DIR instead of passing it in through conan * Fix string append Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Chris Mc Co-authored-by: Uilian Ries --- recipes/hunspell/all/CMakeLists.txt | 8 +-- recipes/hunspell/all/conandata.yml | 9 +++ recipes/hunspell/all/conanfile.py | 63 +++++++++------- .../all/patches/0001-fix-basic-string.patch | 71 +++++++++++++++++++ .../hunspell/all/test_package/CMakeLists.txt | 11 ++- .../hunspell/all/test_package/conanfile.py | 20 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../hunspell/all/test_v1_package/conanfile.py | 16 +++++ recipes/hunspell/config.yml | 2 + 9 files changed, 167 insertions(+), 41 deletions(-) create mode 100644 recipes/hunspell/all/patches/0001-fix-basic-string.patch create mode 100644 recipes/hunspell/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/hunspell/all/test_v1_package/conanfile.py diff --git a/recipes/hunspell/all/CMakeLists.txt b/recipes/hunspell/all/CMakeLists.txt index b2bc98f40adab..8fb4e22ab52aa 100644 --- a/recipes/hunspell/all/CMakeLists.txt +++ b/recipes/hunspell/all/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(hunspell VERSION "${CONAN_hunspell_VERSION}" LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) -set(src src/hunspell) +set(src "${CMAKE_CURRENT_SOURCE_DIR}/src/src/hunspell") # ---- Configure hunvisapi.h ---- @@ -28,6 +26,8 @@ add_library( "${src}/suggestmgr.cxx" ) +target_compile_features(hunspell PRIVATE cxx_std_11) + if(MSVC) target_compile_options(hunspell PRIVATE /wd4267 /wd4996) endif() diff --git a/recipes/hunspell/all/conandata.yml b/recipes/hunspell/all/conandata.yml index 6c8c08bc2e4b0..69ac32949f949 100644 --- a/recipes/hunspell/all/conandata.yml +++ b/recipes/hunspell/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "1.7.2": + sha256: "69fa312d3586c988789266eaf7ffc9861d9f6396c31fc930a014d551b59bbd6e" + url: https://github.com/hunspell/hunspell/archive/refs/tags/v1.7.2.tar.gz "1.7.0": sha256: "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951" url: https://github.com/hunspell/hunspell/files/2573619/hunspell-1.7.0.tar.gz +patches: + "1.7.2": + - patch_file: "patches/0001-fix-basic-string.patch" + patch_description: "Fix build problem with basic_string::append()" + patch_type: "official" + patch_source: "https://github.com/hunspell/hunspell/commit/a6cb9f609b0292df12e2e855c97303de306bae44" diff --git a/recipes/hunspell/all/conanfile.py b/recipes/hunspell/all/conanfile.py index 6c74ea78eaba7..914e9604ac575 100644 --- a/recipes/hunspell/all/conanfile.py +++ b/recipes/hunspell/all/conanfile.py @@ -1,21 +1,21 @@ -import functools +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, export_conandata_patches, apply_conandata_patches import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class HunspellConan(ConanFile): name = "hunspell" - description = ( - "Hunspell is a free spell checker and morphological analyzer library" - ) + description = "Hunspell is a free spell checker and morphological analyzer library" url = "https://github.com/conan-io/conan-center-index" homepage = "https://hunspell.github.io/" topics = "spell", "spell-check" license = "MPL-1.1", "GPL-2.0-or-later", "LGPL-2.1-or-later" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,10 +25,11 @@ class HunspellConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake" - # FIXME: Remove once the pending upstream PR for CMake support is merged - exports_sources = "CMakeLists.txt" - no_copy_source = True + + def export_sources(self): + export_conandata_patches(self) + # TODO: Remove once PR is merged: https://github.com/hunspell/hunspell/pull/704/ + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -36,30 +37,44 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) # NOTE: The source contains a pre-configured hunvisapi.h and it would # prevent no_copy_source and building without patches. h = os.path.join(self.source_folder, "src", "hunspell", "hunvisapi.h") os.remove(h) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CONAN_hunspell_VERSION"] = self.version - cmake.configure() - return cmake + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CONAN_hunspell_VERSION"] = self.version + tc.generate() def build(self): - self._configure_cmake().build() + 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): - self._configure_cmake().install() - self.copy("COPYING", "licenses") - self.copy("COPYING.LESSER", "licenses") - self.copy("license.hunspell", "licenses") + cmake = CMake(self) + cmake.install() + copy(self, "COPYING*", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + copy(self, "license.hunspell", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) def package_info(self): self.cpp_info.libs = ["hunspell"] diff --git a/recipes/hunspell/all/patches/0001-fix-basic-string.patch b/recipes/hunspell/all/patches/0001-fix-basic-string.patch new file mode 100644 index 0000000000000..71aa1cdafa6c8 --- /dev/null +++ b/recipes/hunspell/all/patches/0001-fix-basic-string.patch @@ -0,0 +1,71 @@ +diff --git a/src/hunspell/affentry.cxx b/src/hunspell/affentry.cxx +index 46e8b5826..6ee23bec9 100644 +--- a/src/hunspell/affentry.cxx ++++ b/src/hunspell/affentry.cxx +@@ -290,7 +290,7 @@ struct hentry* PfxEntry::check_twosfx(const std::string& word, + // back any characters that would have been stripped + + std::string tmpword(strip); +- tmpword.append(word, start + appnd.size()); ++ tmpword.append(word, start + appnd.size(), tmpl); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of +@@ -338,7 +338,7 @@ std::string PfxEntry::check_twosfx_morph(const std::string& word, + // back any characters that would have been stripped + + std::string tmpword(strip); +- tmpword.append(word, start + appnd.size()); ++ tmpword.append(word, start + appnd.size(), tmpl); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of +@@ -386,7 +386,7 @@ std::string PfxEntry::check_morph(const std::string& word, + // back any characters that would have been stripped + + std::string tmpword(strip); +- tmpword.append(word, start + appnd.size()); ++ tmpword.append(word, start + appnd.size(), tmpl); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of +diff --git a/src/hunspell/affixmgr.cxx b/src/hunspell/affixmgr.cxx +index 4d1ad2f12..a8931c14a 100644 +--- a/src/hunspell/affixmgr.cxx ++++ b/src/hunspell/affixmgr.cxx +@@ -2465,7 +2465,7 @@ int AffixMgr::compound_check_morph(const std::string& word, + result.append(presult); + result.push_back(MSEP_FLD); + result.append(MORPH_PART); +- result.append(word, i); ++ result.append(word, i, word.size()); + if (complexprefixes && HENTRY_DATA(rv)) + result.append(HENTRY_DATA2(rv)); + if (!HENTRY_FIND(rv, MORPH_STEM)) { +@@ -2522,7 +2522,7 @@ int AffixMgr::compound_check_morph(const std::string& word, + result.append(presult); + result.push_back(MSEP_FLD); + result.append(MORPH_PART); +- result.append(word, i); ++ result.append(word, i, word.size()); + + if (HENTRY_DATA(rv)) { + if (complexprefixes) +@@ -2573,7 +2573,7 @@ int AffixMgr::compound_check_morph(const std::string& word, + if (!m.empty()) { + result.push_back(MSEP_FLD); + result.append(MORPH_PART); +- result.append(word, i); ++ result.append(word, i, word.size()); + line_uniq_app(m, MSEP_REC); + result.append(m); + } +@@ -2665,7 +2665,7 @@ int AffixMgr::compound_check_morph(const std::string& word, + if (!m.empty()) { + result.push_back(MSEP_FLD); + result.append(MORPH_PART); +- result.append(word, i); ++ result.append(word, i, word.size()); + line_uniq_app(m, MSEP_REC); + result.push_back(MSEP_FLD); + result.append(m); diff --git a/recipes/hunspell/all/test_package/CMakeLists.txt b/recipes/hunspell/all/test_package/CMakeLists.txt index 73177e055de6d..45217182fc8cf 100644 --- a/recipes/hunspell/all/test_package/CMakeLists.txt +++ b/recipes/hunspell/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(hunspell REQUIRED CONFIG) -add_executable(test_package test_package.cxx) -target_link_libraries(test_package PRIVATE hunspell::hunspell) +add_executable(${PROJECT_NAME} test_package.cxx) +target_link_libraries(${PROJECT_NAME} PRIVATE hunspell::hunspell) diff --git a/recipes/hunspell/all/test_package/conanfile.py b/recipes/hunspell/all/test_package/conanfile.py index a8c92dea63335..0a6bc68712d90 100644 --- a/recipes/hunspell/all/test_package/conanfile.py +++ b/recipes/hunspell/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, cmake_layout import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/hunspell/all/test_v1_package/CMakeLists.txt b/recipes/hunspell/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..5d38c542b67a4 --- /dev/null +++ b/recipes/hunspell/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package 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/hunspell/all/test_v1_package/conanfile.py b/recipes/hunspell/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a500b98343c74 --- /dev/null +++ b/recipes/hunspell/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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/hunspell/config.yml b/recipes/hunspell/config.yml index 0f57b11de8fb0..cc37272dbe648 100644 --- a/recipes/hunspell/config.yml +++ b/recipes/hunspell/config.yml @@ -1,3 +1,5 @@ versions: + "1.7.2": + folder: all "1.7.0": folder: all From 7521c744ff1b5b295228de8d29a6f0a8d5f1ae61 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 13 Aug 2023 23:47:28 +0900 Subject: [PATCH 1172/4087] (#18843) sol2: add version 3.3.1, add package_type, update lua --- recipes/sol2/all/conandata.yml | 3 +++ recipes/sol2/all/conanfile.py | 5 +++-- recipes/sol2/config.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/sol2/all/conandata.yml b/recipes/sol2/all/conandata.yml index aa516653323cf..f83f4a6a36735 100644 --- a/recipes/sol2/all/conandata.yml +++ b/recipes/sol2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.1": + url: "https://github.com/ThePhD/sol2/archive/v3.3.1.tar.gz" + sha256: "ad121461047d52b449aa84234a6b578fa3ed95d67d1a0703902eba72417f61bb" "3.3.0": url: "https://github.com/ThePhD/sol2/archive/v3.3.0.tar.gz" sha256: "b82c5de030e18cb2bcbcefcd5f45afd526920c517a96413f0b59b4332d752a1e" diff --git a/recipes/sol2/all/conanfile.py b/recipes/sol2/all/conanfile.py index 93f899011d335..4ebb24964da6a 100644 --- a/recipes/sol2/all/conanfile.py +++ b/recipes/sol2/all/conanfile.py @@ -17,7 +17,8 @@ class Sol2Conan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ThePhD/sol2" - topics = ("lua", "c++", "bindings", "scripting") + topics = ("lua", "c++", "bindings", "scripting", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -66,7 +67,7 @@ def requirements(self): # v2.x.x & v3.0.x supports up to Lua 5.3 self.requires("lua/5.3.6") else: - self.requires("lua/5.4.4") + self.requires("lua/5.4.6") elif self.options.with_lua == "luajit": self.requires("luajit/2.1.0-beta3") diff --git a/recipes/sol2/config.yml b/recipes/sol2/config.yml index 28097c1cf11a2..d6be5bd0bfdf0 100644 --- a/recipes/sol2/config.yml +++ b/recipes/sol2/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.1": + folder: "all" "3.3.0": folder: "all" "3.2.3": From ec4868889aabf53e9b7a87e6b2af16936efaa769 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 18:27:48 +0300 Subject: [PATCH 1173/4087] (#18944) nmslib: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nmslib: migrate to Conan v2 * nmslib: add m, fix_apple_shared_install_name() * nmslib: add mvec * Update recipes/nmslib/all/conanfile.py Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/nmslib/all/CMakeLists.txt | 7 -- recipes/nmslib/all/conandata.yml | 12 +-- recipes/nmslib/all/conanfile.py | 93 +++++++++++-------- .../nmslib/all/test_package/CMakeLists.txt | 5 +- recipes/nmslib/all/test_package/conanfile.py | 21 +++-- .../nmslib/all/test_v1_package/CMakeLists.txt | 8 ++ .../nmslib/all/test_v1_package/conanfile.py | 17 ++++ 7 files changed, 100 insertions(+), 63 deletions(-) delete mode 100644 recipes/nmslib/all/CMakeLists.txt create mode 100644 recipes/nmslib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/nmslib/all/test_v1_package/conanfile.py diff --git a/recipes/nmslib/all/CMakeLists.txt b/recipes/nmslib/all/CMakeLists.txt deleted file mode 100644 index c8e560d40aa56..0000000000000 --- a/recipes/nmslib/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(source_subfolder/similarity_search) diff --git a/recipes/nmslib/all/conandata.yml b/recipes/nmslib/all/conandata.yml index bc747087c62bd..a76e6327ac2f8 100644 --- a/recipes/nmslib/all/conandata.yml +++ b/recipes/nmslib/all/conandata.yml @@ -4,11 +4,7 @@ sources: sha256: d1f5c60a62e0e61e14c92b37d6f1420ed4bb3c6fd19ced67c84b7e0e0e3f07c5 patches: "2.1.1": - - base_path: source_subfolder - patch_file: patches/0001-cmake-disable-app-build.patch - - base_path: source_subfolder - patch_file: patches/0002-cmake-fix-install.patch - - base_path: source_subfolder - patch_file: patches/0003-cmake-fix-flags.patch - - base_path: source_subfolder - patch_file: patches/0004-missing-utils-header.patch + - patch_file: patches/0001-cmake-disable-app-build.patch + - patch_file: patches/0002-cmake-fix-install.patch + - patch_file: patches/0003-cmake-fix-flags.patch + - patch_file: patches/0004-missing-utils-header.patch diff --git a/recipes/nmslib/all/conanfile.py b/recipes/nmslib/all/conanfile.py index 637febf0d43bb..0aeec8ba9e93f 100644 --- a/recipes/nmslib/all/conanfile.py +++ b/recipes/nmslib/all/conanfile.py @@ -1,66 +1,83 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.microsoft import is_msvc, check_min_vs + +required_conan_version = ">=1.53.0" class Nmslib(ConanFile): name = "nmslib" + description = ( + "Non-Metric Space Library (NMSLIB): An efficient similarity search library " + "and a toolkit for evaluation of k-NN methods for generic non-metric spaces." + ) + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nmslib/nmslib" - description = "Non-Metric Space Library (NMSLIB): An efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces." topics = ("knn-search", "non-metric", "neighborhood-graphs", "neighborhood-graphs", "vp-tree") - license = "Apache-2.0" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - exports_sources = "CMakeLists.txt", "patches/**" - generators = "cmake" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - _cmake = None + def export_sources(self): + export_conandata_patches(self) - def validate(self): - if self.settings.compiler == "Visual Studio": - if self.settings.compiler.version == "14": - raise ConanInvalidConfiguration("Visual Studio 14 builds are not supported") # TODO: add reason in message - if self.options.shared: - raise ConanInvalidConfiguration("Visual Studio shared builds are not supported (.lib artifacts missing)") + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + def layout(self): + cmake_layout(self, src_folder="src") - @property - def _source_subfolder(self): - return "source_subfolder" + def validate(self): + check_min_vs(self, 190) # TODO: add reason in message + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration( + "Visual Studio shared builds are not supported (.lib artifacts missing)" + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake is None: - cmake = CMake(self) - cmake.definitions["WITHOUT_TESTS"] = True - cmake.configure() - self._cmake = cmake - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITHOUT_TESTS"] = True + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "similarity_search")) 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() + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["NonMetricSpaceLib"] - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["pthread"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m"] + if self.settings.arch in ["x86", "x86_64"]: + self.cpp_info.system_libs.append("mvec") diff --git a/recipes/nmslib/all/test_package/CMakeLists.txt b/recipes/nmslib/all/test_package/CMakeLists.txt index 7b52b10445744..a7336347af2da 100644 --- a/recipes/nmslib/all/test_package/CMakeLists.txt +++ b/recipes/nmslib/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(nmslib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/nmslib/all/test_package/conanfile.py b/recipes/nmslib/all/test_package/conanfile.py index abcaeed3f89b6..ef5d7042163ec 100644 --- a/recipes/nmslib/all/test_package/conanfile.py +++ b/recipes/nmslib/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.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/nmslib/all/test_v1_package/CMakeLists.txt b/recipes/nmslib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/nmslib/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/nmslib/all/test_v1_package/conanfile.py b/recipes/nmslib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/nmslib/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From b0cdc00b50640a5acdb6b9dbca7ef710a401b1ad Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 13 Aug 2023 18:48:13 +0300 Subject: [PATCH 1174/4087] (#18981) libsafec: migrate to Conan v2 * libsafec: migrate to Conan v2 * libsafec: add fix_apple_shared_install_name() --- recipes/libsafec/all/conanfile.py | 113 +++++++++--------- .../libsafec/all/test_package/CMakeLists.txt | 7 +- .../libsafec/all/test_package/conanfile.py | 21 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libsafec/all/test_v1_package/conanfile.py | 17 +++ 5 files changed, 102 insertions(+), 64 deletions(-) create mode 100644 recipes/libsafec/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libsafec/all/test_v1_package/conanfile.py diff --git a/recipes/libsafec/all/conanfile.py b/recipes/libsafec/all/conanfile.py index 6924adfd04703..7086816ccca53 100644 --- a/recipes/libsafec/all/conanfile.py +++ b/recipes/libsafec/all/conanfile.py @@ -1,23 +1,28 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration, ConanException -from conan.tools.files import get, rmdir, copy, rm, chdir +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -from conans import AutoToolsBuildEnvironment, tools -import os required_conan_version = ">=1.53.0" class LibSafeCConan(ConanFile): name = "libsafec" - description = "This library implements the secure C11 Annex K[^5] functions" \ - " on top of most libc implementations, which are missing from them." + description = ("This library implements the secure C11 Annex K[^5] functions" + " on top of most libc implementations, which are missing from them.") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rurban/safeclib" - license = "MIT" - topics = ("safec", "libc", "bounds-checking") + topics = ("safec", "libc", "bounds-checking", "pre-built") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -32,16 +37,20 @@ class LibSafeCConan(ConanFile): "memmax": 268435456, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + @property + def _supported_compiler(self): + compiler = self.settings.compiler + version = Version(self.settings.compiler.version) + if is_msvc(self): + return False + if compiler == "gcc" and version < "5": + return False + return True + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -52,71 +61,67 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") - def build_requirements(self): - self.tool_requires("libtool/2.4.6") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.tool_requires("msys2/cci.latest") - - @property - def _supported_compiler(self): - compiler = self.settings.compiler - version = Version(self.settings.compiler.version) - if is_msvc(self): - return False - if compiler == "gcc" and version < "5": - return False - return True + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration(f"This platform is not yet supported by {self.ref} (os=Macos arch=armv8)") + if is_apple_os(self) and self.settings.arch == "armv8": + raise ConanInvalidConfiguration( + f"This platform is not yet supported by {self.ref} (os=Macos arch=armv8)" + ) if not self._supported_compiler: raise ConanInvalidConfiguration( - f"{self.ref} doesn't support {self.settings.compiler}-{self.settings.compiler.version}") + f"{self.ref} doesn't support {self.settings.compiler}-{self.settings.compiler.version}" + ) if not str(self.info.options.strmax).isdigit(): raise ConanException(f"{self.ref} option 'strmax' must be a valid integer number.") + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - "--enable-debug={}".format(yes_no(self.settings.build_type == "Debug")), + tc.configure_args += [ + f"--enable-debug={yes_no(self.settings.build_type == 'Debug')}", "--disable-doc", "--disable-Werror", - "--enable-strmax={}".format(self.options.strmax), - "--enable-memmax={}".format(self.options.memmax), + f"--enable-strmax={self.options.strmax}", + f"--enable-memmax={self.options.memmax}", ] - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + tc.generate() def build(self): - with chdir(self, self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), - win_bash=tools.os_info.is_windows, run_environment=True) - autotools = self._configure_autotools() - autotools.make() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - copy(self, "COPYING", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) - autotools = self._configure_autotools() - autotools.install() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rm(self, "*.la", os.path.join(self.package_folder, "lib")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.includedirs.append(os.path.join("include", "libsafec")) - self.cpp_info.libs = ["safec-{}".format(self.version)] + self.cpp_info.libs = [f"safec-{self.version}"] self.cpp_info.set_property("pkg_config_name", "libsafec") bin_dir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_dir)) + self.output.info(f"Appending PATH environment variable: {bin_dir}") self.env_info.PATH.append(bin_dir) diff --git a/recipes/libsafec/all/test_package/CMakeLists.txt b/recipes/libsafec/all/test_package/CMakeLists.txt index 31762006efa77..2a28db28a9c5d 100644 --- a/recipes/libsafec/all/test_package/CMakeLists.txt +++ b/recipes/libsafec/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(libsafec REQUIRED CONFIG) add_executable(test_package test_package.c) -target_link_libraries(test_package ${CONAN_LIBS}) +target_link_libraries(test_package PRIVATE libsafec::libsafec) diff --git a/recipes/libsafec/all/test_package/conanfile.py b/recipes/libsafec/all/test_package/conanfile.py index b7cd0e8fa4f62..ef5d7042163ec 100644 --- a/recipes/libsafec/all/test_package/conanfile.py +++ b/recipes/libsafec/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import CMake, ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libsafec/all/test_v1_package/CMakeLists.txt b/recipes/libsafec/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libsafec/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/libsafec/all/test_v1_package/conanfile.py b/recipes/libsafec/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..043b77522562f --- /dev/null +++ b/recipes/libsafec/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import CMake, ConanFile, 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 22b6c2bc6389ecbb29f021bf9970063ccecb0294 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 01:09:14 +0900 Subject: [PATCH 1175/4087] (#18985) ctre: add version 3.8, add package_type * ctre: add version 3.8, add package_type * drop support clang/12.0 without cppstd on ctre/3.4.1 * fix condition expr --- recipes/ctre/all/conandata.yml | 3 +++ recipes/ctre/all/conanfile.py | 10 +++++++--- recipes/ctre/config.yml | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/recipes/ctre/all/conandata.yml b/recipes/ctre/all/conandata.yml index 0cbb6fc297fa1..84177523424ed 100644 --- a/recipes/ctre/all/conandata.yml +++ b/recipes/ctre/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8": + url: "https://github.com/hanickadot/compile-time-regular-expressions/archive/v3.8.tar.gz" + sha256: "6462ee41fa6aa12075f6b9d13f42358091d32963087443a6669d2c94232eea04" "3.7.2": url: "https://github.com/hanickadot/compile-time-regular-expressions/archive/v3.7.2.tar.gz" sha256: "0711a6f97496e010f72adab69839939a9e50ba35ad87779e422ae3ff3b0edfc3" diff --git a/recipes/ctre/all/conanfile.py b/recipes/ctre/all/conanfile.py index 4a9068c2ee4fe..7170bf3ad6425 100644 --- a/recipes/ctre/all/conanfile.py +++ b/recipes/ctre/all/conanfile.py @@ -17,6 +17,7 @@ class CtreConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/hanickadot/compile-time-regular-expressions" topics = ("cpp17", "regex", "compile-time-regular-expressions", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -38,8 +39,11 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} doesn't support MSVC < 16") elif compiler == "gcc" and compiler_version < min_gcc: raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc < {min_gcc}") - elif compiler == "clang" and compiler_version < "6.0": - raise ConanInvalidConfiguration(f"{self.ref} doesn't support clang < 6.0") + elif compiler == "clang": + if compiler_version < "6.0": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support clang < 6.0") + if ctre_version == "3.4.1" and compiler_version >= "12.0" and not self.settings.compiler.get_safe("cppstd"): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support clang >= 12.0 without cppstd. Please set cppstd.") elif compiler == "apple-clang": if compiler_version < "10.0": raise ConanInvalidConfiguration(f"{self.ref} doesn't support Apple clang < 10.0") @@ -53,7 +57,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) diff --git a/recipes/ctre/config.yml b/recipes/ctre/config.yml index 791985db54420..e8d08c6a4805a 100644 --- a/recipes/ctre/config.yml +++ b/recipes/ctre/config.yml @@ -1,4 +1,6 @@ versions: + "3.8": + folder: all "3.7.2": folder: all "3.7.1": From fcfa9587260464528a82ed7980a7352ec634fde6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 01:48:06 +0900 Subject: [PATCH 1176/4087] (#18991) luau: add version 0.589, remove older versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * luau: add version 0.588, remove older versions * apply patch for 0.588 * update 0.589 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/luau/all/conandata.yml | 37 +++++++--------------------------- recipes/luau/config.yml | 8 ++------ 2 files changed, 9 insertions(+), 36 deletions(-) diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index 1dc4953f665e9..ce7fa7f71284a 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.589": + url: "https://github.com/Roblox/luau/archive/0.589.tar.gz" + sha256: "dc4489de52dbf29cd3d04d78c1112f812e04a03b68d57585749260ba791e65ed" "0.582": url: "https://github.com/Roblox/luau/archive/0.582.tar.gz" sha256: "ee6da6329e58afc956bcca907ed9c6bc0455cd580990aa73f7cfb285aea22a6d" @@ -26,16 +29,11 @@ sources: "0.548": url: "https://github.com/Roblox/luau/archive/0.548.tar.gz" sha256: "1ec0aa919955aaa2d88dbef115801681d3b4dbfa7a276435a03d20230918659c" - "0.544": - url: "https://github.com/Roblox/luau/archive/0.544.tar.gz" - sha256: "c1e2d4e04fe6f191192d1570bd83f96531804fc484a0bc0e00b53248a01d7dee" - "0.541": - url: "https://github.com/Roblox/luau/archive/0.541.tar.gz" - sha256: "02d50b8c0396a353ed641a61959851d6858607d535ed7373478b8fbc2a508eba" - "0.540": - url: "https://github.com/Roblox/luau/archive/0.540.tar.gz" - sha256: "84b3e52b3b0ccf4d5bc0e0c04055f3a9b2f045c1281e203a858335a6fe76b0ff" patches: + "0.589": + - patch_file: "patches/0.572-0001-fix-cmake.patch" + patch_description: "enable shared build" + patch_type: "portability" "0.582": - patch_file: "patches/0.572-0001-fix-cmake.patch" patch_description: "enable shared build" @@ -87,24 +85,3 @@ patches: - patch_file: "patches/0.536-0002-rename-lerp.patch" patch_description: "rename lerp function to avoid name conflict" patch_type: "portability" - "0.544": - - patch_file: "patches/0.536-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" - "0.541": - - patch_file: "patches/0.536-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" - "0.540": - - patch_file: "patches/0.536-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 8a8c09827d38e..da348c9822453 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.589": + folder: all "0.582": folder: all "0.577": @@ -17,9 +19,3 @@ versions: folder: all "0.548": folder: all - "0.544": - folder: all - "0.541": - folder: all - "0.540": - folder: all From 981f569c41e5ed12812ef425433000abee36efda Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 13 Aug 2023 19:08:21 +0200 Subject: [PATCH 1177/4087] (#19039) hictk: new recipe * Add hictk * Add CMake to build_requirements * Bugfix * Bugfix * Bugfix * Specify transitive_headers=True in requirements * Update recipes/hictk/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/hictk/all/conandata.yml | 4 + recipes/hictk/all/conanfile.py | 127 ++++++++++++++++++ recipes/hictk/all/test_package/CMakeLists.txt | 9 ++ recipes/hictk/all/test_package/conanfile.py | 27 ++++ .../hictk/all/test_package/test_package.cpp | 8 ++ recipes/hictk/config.yml | 3 + 6 files changed, 178 insertions(+) create mode 100644 recipes/hictk/all/conandata.yml create mode 100644 recipes/hictk/all/conanfile.py create mode 100644 recipes/hictk/all/test_package/CMakeLists.txt create mode 100644 recipes/hictk/all/test_package/conanfile.py create mode 100644 recipes/hictk/all/test_package/test_package.cpp create mode 100644 recipes/hictk/config.yml diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml new file mode 100644 index 0000000000000..b46596ee0372e --- /dev/null +++ b/recipes/hictk/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.0.1": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.1.tar.gz" + sha256: "460985413c3b2e80121f7697c6c824a91955a38051de770d7eb946ddafa88460" diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py new file mode 100644 index 0000000000000..cf1428272f465 --- /dev/null +++ b/recipes/hictk/all/conanfile.py @@ -0,0 +1,127 @@ +import os.path + +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 + +required_conan_version = ">=1.50.0" + + +class HictkConan(ConanFile): + name = "hictk" + description = "Blazing fast toolkit to work with .hic and .cool files" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/paulsengroup/hictk" + topics = "hictk", "bioinformatics", "hic" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + options = {"with_eigen": [True, False]} + default_options = {"with_eigen": True} + + @property + def _minimum_cpp_standard(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "11", + "clang": "7", + "gcc": "8", + "Visual Studio": "16", + "msvc": "192", + } + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("fast_float/5.2.0", transitive_headers=True) + if self.options.with_eigen: + self.requires("eigen/3.4.0", transitive_headers=True) + self.requires("fmt/10.0.0", transitive_headers=True) + self.requires("hdf5/1.14.0", transitive_headers=True) + self.requires("highfive/2.7.1", transitive_headers=True) + self.requires("libdeflate/1.18", transitive_headers=True) + self.requires("parallel-hashmap/1.3.11", transitive_headers=True) + self.requires("spdlog/1.12.0", transitive_headers=True) + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._minimum_cpp_standard) + + 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] + + compiler = str(self.settings.compiler) + version = str(self.settings.compiler.version) + try: + minimum_version = self._compilers_minimum_version[str(compiler)] + if minimum_version and loose_lt_semver(version, minimum_version): + msg = ( + f"{self.ref} requires C++{self._minimum_cpp_standard} features " + f"which are not supported by compiler {compiler} {version}." + ) + raise ConanInvalidConfiguration(msg) + except KeyError: + msg = ( + f"{self.ref} recipe lacks information about the {compiler} compiler, " + f"support for the required C++{self._minimum_cpp_standard} features is assumed" + ) + self.output.warn(msg) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.25 <4]") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["HICTK_BUILD_BENCHMARKS"] = "OFF" + tc.variables["HICTK_BUILD_EXAMPLES"] = "OFF" + tc.variables["HICTK_BUILD_TOOLS"] = "OFF" + tc.variables["HICTK_ENABLE_GIT_VERSION_TRACKING"] = "OFF" + tc.variables["HICTK_ENABLE_TESTING"] = "OFF" + tc.variables["HICTK_WITH_EIGEN"] = self.options.with_eigen + tc.generate() + + cmakedeps = CMakeDeps(self) + cmakedeps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy( + self, + "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + ) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "hictk") + self.cpp_info.set_property("cmake_target_name", "hictk::libhictk") + self.cpp_info.set_property("pkg_config_name", "hictk") + + # TODO: to remove in conan v2 once legacy generators removed + self.cpp_info.names["cmake_find_package"] = "hictk" + self.cpp_info.names["cmake_find_package_multi"] = "hictk" diff --git a/recipes/hictk/all/test_package/CMakeLists.txt b/recipes/hictk/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..969fb76fe7be1 --- /dev/null +++ b/recipes/hictk/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package LANGUAGES CXX) + +find_package(hictk REQUIRED CONFIG) + +add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE hictk::libhictk) +target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/hictk/all/test_package/conanfile.py b/recipes/hictk/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3bfefffc36b5c --- /dev/null +++ b/recipes/hictk/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, cmake_layout + + +class HictkTestConan(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): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/hictk/all/test_package/test_package.cpp b/recipes/hictk/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..bbe13ab6a3219 --- /dev/null +++ b/recipes/hictk/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include "hictk/fmt.hpp" +#include "hictk/cooler/utils.hpp" + + +int main(int argc, char** argv) { + fmt::print("{}\n", hictk::cooler::utils::is_cooler(argv[0])); +} diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml new file mode 100644 index 0000000000000..f6f5b5679b9d4 --- /dev/null +++ b/recipes/hictk/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.1": + folder: all From 5a0102f41398597c046baac8a93e1a9889ca5898 Mon Sep 17 00:00:00 2001 From: Frank Schoenmann Date: Sun, 13 Aug 2023 19:30:07 +0200 Subject: [PATCH 1178/4087] (#19060) fast-cdr: add version 1.1.0 --- recipes/fast-cdr/all/conandata.yml | 3 +++ recipes/fast-cdr/all/conanfile.py | 5 +++++ recipes/fast-cdr/config.yml | 2 ++ 3 files changed, 10 insertions(+) diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index 6a9ba77868449..48019c99a1647 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/eProsima/Fast-CDR/archive/v1.1.0.tar.gz" + sha256: "5c4b2ad5493abd30b9475b14856641a8944c98077a36bd0760c1d83c65216e67" "1.0.27": url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.27.tar.gz" sha256: "a9bc8fd31a2c2b95e6d2fb46e6ce1ad733e86dc4442f733479e33ed9cdc54bf6" diff --git a/recipes/fast-cdr/all/conanfile.py b/recipes/fast-cdr/all/conanfile.py index c39c56b44ddc4..29f8a4528ad1d 100644 --- a/recipes/fast-cdr/all/conanfile.py +++ b/recipes/fast-cdr/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import collect_libs, copy, get, rm, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import textwrap @@ -40,6 +41,10 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def build_requirements(self): + if Version(self.version) >= "1.1.0": + self.tool_requires("cmake/[>=3.16.3 <4]") + def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index 3527dfb5e8511..c67335370b9c4 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.27": folder: all "1.0.26": From e8f108ac51b7b20595d32f6ea6cb926f6d3a017e Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Sun, 13 Aug 2023 20:04:42 +0200 Subject: [PATCH 1179/4087] (#19062) aws-checksums: add version 0.1.17 * aws-checksums: add version 0.1.17 * cleanup: remove test_v1_package folder * add patch_type and patch_description * Revert "cleanup: remove test_v1_package folder" This reverts commit f607f6ef718552f3022a949bdf7204e27845a5e7. --- recipes/aws-checksums/all/conandata.yml | 9 +++++++++ recipes/aws-checksums/all/conanfile.py | 6 +++++- recipes/aws-checksums/config.yml | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/recipes/aws-checksums/all/conandata.yml b/recipes/aws-checksums/all/conandata.yml index ddf66e3fcf5ae..989708680b889 100644 --- a/recipes/aws-checksums/all/conandata.yml +++ b/recipes/aws-checksums/all/conandata.yml @@ -1,4 +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" @@ -14,5 +17,11 @@ sources: 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 80a0c88a8c55b..401b1b679aa04 100644 --- a/recipes/aws-checksums/all/conanfile.py +++ b/recipes/aws-checksums/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -45,7 +46,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2") + if Version(self.version) < "0.1.17": + self.requires("aws-c-common/0.8.2") + else: + self.requires("aws-c-common/0.9.0", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-checksums/config.yml b/recipes/aws-checksums/config.yml index 55fedf4c307f5..efe23bdebe7e1 100644 --- a/recipes/aws-checksums/config.yml +++ b/recipes/aws-checksums/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.17": + folder: all "0.1.13": folder: all "0.1.12": From ff506944bdda4e9bcbb800ba2c8c7f4f86d59b76 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Sun, 13 Aug 2023 20:14:30 +0200 Subject: [PATCH 1180/4087] (#19063) aws-c-sdkutils: add version 0.1.12 * aws-c-sdkutils: add version 0.1.12 * cleanup: remove test_v1_package folder * Revert "cleanup: remove test_v1_package folder" This reverts commit f1d5863bea6420124d93603037791f12b34a869c. --- recipes/aws-c-sdkutils/all/conandata.yml | 3 +++ recipes/aws-c-sdkutils/all/conanfile.py | 6 +++++- recipes/aws-c-sdkutils/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/aws-c-sdkutils/all/conandata.yml b/recipes/aws-c-sdkutils/all/conandata.yml index 7ec4906cf9a7f..4f2cc09884562 100644 --- a/recipes/aws-c-sdkutils/all/conandata.yml +++ b/recipes/aws-c-sdkutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/aws-c-sdkutils/all/conanfile.py b/recipes/aws-c-sdkutils/all/conanfile.py index f2158c8d10fa8..2312d025b2cb0 100644 --- a/recipes/aws-c-sdkutils/all/conanfile.py +++ b/recipes/aws-c-sdkutils/all/conanfile.py @@ -1,6 +1,7 @@ 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 @@ -39,7 +40,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + if Version(self.version) <= "0.1.3": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + else: + self.requires("aws-c-common/0.9.0", 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 b2ced6f0d7ab7..c2aa05a42982f 100644 --- a/recipes/aws-c-sdkutils/config.yml +++ b/recipes/aws-c-sdkutils/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.12": + folder: all "0.1.3": folder: all "0.1.2": From 6aed7ce0bf02f685291f61d589cff9d801ab14da Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sun, 13 Aug 2023 20:47:48 +0200 Subject: [PATCH 1181/4087] (#19067) [rtmidi/6.0.0] Add version * [rtmidi/6.0.0] Add version * Add cmake as build requirement --- recipes/rtmidi/all/conandata.yml | 3 +++ recipes/rtmidi/all/conanfile.py | 6 +++++- recipes/rtmidi/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/rtmidi/all/conandata.yml b/recipes/rtmidi/all/conandata.yml index 53cfe6b111167..4359539b48015 100644 --- a/recipes/rtmidi/all/conandata.yml +++ b/recipes/rtmidi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0.0": + url: "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-6.0.0.tar.gz" + sha256: "3336248e8c1f054ea5e51a4449558490dca51edd324fcde0eea27df33b80a9ed" "5.0.0": url: "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-5.0.0.tar.gz" sha256: "48db0ed58c8c0e207b5d7327a0210b5bcaeb50e26387935d02829239b0f3c2b9" diff --git a/recipes/rtmidi/all/conanfile.py b/recipes/rtmidi/all/conanfile.py index a347f4bbefb6f..ab614a8ee05fb 100644 --- a/recipes/rtmidi/all/conanfile.py +++ b/recipes/rtmidi/all/conanfile.py @@ -48,6 +48,9 @@ def requirements(self): if self._with_alsa: self.requires("libalsa/1.2.7.2") + def build_requirements(self): + self.tool_requires("cmake/[>=3.24 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -60,7 +63,8 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "${ALSA_LIBRARY}", "ALSA::ALSA") + if Version(self.version) < "6.0.0": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "${ALSA_LIBRARY}", "ALSA::ALSA") def build(self): self._patch_sources() diff --git a/recipes/rtmidi/config.yml b/recipes/rtmidi/config.yml index 30e9497f54064..f7c2ad14131bc 100644 --- a/recipes/rtmidi/config.yml +++ b/recipes/rtmidi/config.yml @@ -1,4 +1,6 @@ versions: + "6.0.0": + folder: "all" "5.0.0": folder: "all" "4.0.0": From 5454aab8ab0a1af9abaaedf32d8646aa56887319 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 04:08:28 +0900 Subject: [PATCH 1182/4087] (#19100) blend2d: add version 0.10 --- recipes/blend2d/all/conandata.yml | 7 +++++ .../0.10-0001-disable-embed-asmjit.patch | 27 +++++++++++++++++++ recipes/blend2d/config.yml | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 recipes/blend2d/all/patches/0.10-0001-disable-embed-asmjit.patch diff --git a/recipes/blend2d/all/conandata.yml b/recipes/blend2d/all/conandata.yml index a8918f809e2b0..ddbc54ae6e873 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10": + url: "https://blend2d.com/download/blend2d-0.10.tar.xz" + sha256: "eaed6cc5f1fc33061a99d70cf166836994d952f75762bfacb397ee388e13ccc9" "0.9": url: "https://blend2d.com/download/blend2d-0.9.tar.xz" sha256: "a70a2a57c67017afa1067a11807fef9808788c69b4012ba4d56a5c47a5ba87c3" @@ -12,6 +15,10 @@ sources: url: "https://blend2d.com/download/blend2d-beta17.zip" sha256: "06ee8fb0bea281d09291e498900093139426501a1a7f09dba0ec801dd340635e" patches: + "0.10": + - patch_file: "patches/0.10-0001-disable-embed-asmjit.patch" + patch_description: "use asmjit cci package" + patch_type: "conan" "0.9": - patch_file: "patches/0.9-0001-disable-embed-asmjit.patch" patch_description: "use asmjit cci package" diff --git a/recipes/blend2d/all/patches/0.10-0001-disable-embed-asmjit.patch b/recipes/blend2d/all/patches/0.10-0001-disable-embed-asmjit.patch new file mode 100644 index 0000000000000..29e6457e6c6f5 --- /dev/null +++ b/recipes/blend2d/all/patches/0.10-0001-disable-embed-asmjit.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 02507bc..8fa7dcf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -392,7 +392,7 @@ endif() + + # Find asmjit dependency if building with JIT support. + if (NOT BLEND2D_NO_JIT) +- if (NOT DEFINED ASMJIT_DIR) ++ if (0) + foreach(dir "${BLEND2D_DIR}/3rdparty/asmjit" + "${CMAKE_CURRENT_LIST_DIR}/../asmjit") + if (EXISTS ${dir}/CMakeLists.txt) +@@ -410,10 +410,9 @@ if (NOT BLEND2D_NO_JIT) + endif() + + set(ASMJIT_NO_FOREIGN TRUE) +- include("${ASMJIT_DIR}/CMakeLists.txt") +- list(APPEND BLEND2D_DEPS ${ASMJIT_LIBS}) +- list(APPEND BLEND2D_PRIVATE_CFLAGS ${ASMJIT_CFLAGS}) +- list(APPEND BLEND2D_PRIVATE_CFLAGS -DASMJIT_NO_STDCXX) ++ find_package(asmjit CONFIG REQUIRED) ++ list(APPEND BLEND2D_DEPS asmjit::asmjit) ++ list(APPEND BLEND2D_PRIVATE_CFLAGS ${asmjit_DEFINITIONS_DEBUG}${asmjit_DEFINITIONS_RELEASE}) + + # A possibility to reduce the resulting binary size by disabling asmjit logging. + if (BLEND2D_NO_JIT_LOGGING) diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index bf1e95c0dd1d1..447f9c7043b58 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.10": + folder: all "0.9": folder: all "0.8": From bba042306f6f59358aec73c96b099b387bc9b2cc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 13 Aug 2023 22:50:16 +0300 Subject: [PATCH 1183/4087] (#19110) [vulkan-loader] Bump version to 1.3.243.0 vulkan-loader and vulkan-headers should be kept in sync otherwise packages that requiere both will have problems. --- recipes/vulkan-loader/all/conandata.yml | 3 +++ recipes/vulkan-loader/all/conanfile.py | 10 +++++++--- recipes/vulkan-loader/config.yml | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/recipes/vulkan-loader/all/conandata.yml b/recipes/vulkan-loader/all/conandata.yml index fceeca688d80b..ad864b56911fd 100644 --- a/recipes/vulkan-loader/all/conandata.yml +++ b/recipes/vulkan-loader/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.243.0": + url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.243.0.tar.gz" + sha256: "89a09547be30491ee0a11cd7c883e78a637fb761280d6c6c2174f37188527dc3" "1.3.239.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.239.0.tar.gz" sha256: "fa2078408793b2173f174173a8784de56b6bbfbcb5fb958a07e46ef126c7eada" diff --git a/recipes/vulkan-loader/all/conanfile.py b/recipes/vulkan-loader/all/conanfile.py index 7d7adac29c32f..d0c415a0ecae6 100644 --- a/recipes/vulkan-loader/all/conanfile.py +++ b/recipes/vulkan-loader/all/conanfile.py @@ -95,6 +95,8 @@ def build_requirements(self): self.tool_requires("pkgconf/1.9.3") if self._is_mingw: self.tool_requires("jwasm/2.13") + if Version(self.version) >= "1.3.234": + self.tool_requires("cmake/[>=3.17.2 <4.0]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -147,12 +149,14 @@ def _patch_sources(self): replace_in_file(self, cmakelists, "/WX", "") # This fix is needed due to CMAKE_FIND_PACKAGE_PREFER_CONFIG ON in CMakeToolchain (see https://github.com/conan-io/conan/issues/10387). # Indeed we want to use upstream Find modules of xcb, x11, wayland and directfb. There are properly using pkgconfig under the hood. - replace_in_file(self, cmakelists, "find_package(XCB REQUIRED)", "find_package(XCB REQUIRED MODULE)") - replace_in_file(self, cmakelists, "find_package(X11 REQUIRED)", "find_package(X11 REQUIRED MODULE)") + if Version(self.version) < "1.3.234": + replace_in_file(self, cmakelists, "find_package(XCB REQUIRED)", "find_package(XCB REQUIRED MODULE)") + replace_in_file(self, cmakelists, "find_package(X11 REQUIRED)", "find_package(X11 REQUIRED MODULE)") # find_package(Wayland REQUIRED) was removed, as it was unused if Version(self.version) < "1.3.231": replace_in_file(self, cmakelists, "find_package(Wayland REQUIRED)", "find_package(Wayland REQUIRED MODULE)") - replace_in_file(self, cmakelists, "find_package(DirectFB REQUIRED)", "find_package(DirectFB REQUIRED MODULE)") + if Version(self.version) < "1.3.234": + replace_in_file(self, cmakelists, "find_package(DirectFB REQUIRED)", "find_package(DirectFB REQUIRED MODULE)") def build(self): self._patch_sources() diff --git a/recipes/vulkan-loader/config.yml b/recipes/vulkan-loader/config.yml index 493a9fc0ba035..3d8ee9ef8d984 100644 --- a/recipes/vulkan-loader/config.yml +++ b/recipes/vulkan-loader/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.243.0": + folder: all "1.3.239.0": folder: all "1.3.236.0": From a9fb8ebed168897087ac27fa556d4584bf0a39b8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 13 Aug 2023 22:47:33 +0200 Subject: [PATCH 1184/4087] (#19115) Add new recipe: libmpdclient/2.20 * add libmpdclient/2.20 * remove share folder * drop msvc shared --- recipes/libmpdclient/all/conandata.yml | 4 + recipes/libmpdclient/all/conanfile.py | 111 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 26 ++++ .../all/test_package/test_package.c | 25 ++++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ recipes/libmpdclient/config.yml | 3 + 8 files changed, 201 insertions(+) create mode 100644 recipes/libmpdclient/all/conandata.yml create mode 100644 recipes/libmpdclient/all/conanfile.py create mode 100644 recipes/libmpdclient/all/test_package/CMakeLists.txt create mode 100644 recipes/libmpdclient/all/test_package/conanfile.py create mode 100644 recipes/libmpdclient/all/test_package/test_package.c create mode 100644 recipes/libmpdclient/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libmpdclient/all/test_v1_package/conanfile.py create mode 100644 recipes/libmpdclient/config.yml diff --git a/recipes/libmpdclient/all/conandata.yml b/recipes/libmpdclient/all/conandata.yml new file mode 100644 index 0000000000000..254f101651949 --- /dev/null +++ b/recipes/libmpdclient/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.20": + url: "https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.20.tar.xz" + sha256: "18793f68e939c3301e34d8fcadea1f7daa24143941263cecadb80126194e277d" diff --git a/recipes/libmpdclient/all/conanfile.py b/recipes/libmpdclient/all/conanfile.py new file mode 100644 index 0000000000000..6a838ea6cdaa3 --- /dev/null +++ b/recipes/libmpdclient/all/conanfile.py @@ -0,0 +1,111 @@ +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, rmdir +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" + + +class LibmpdclientConan(ConanFile): + name = "libmpdclient" + description = "libmpdclient is a C library which implements the Music Player Daemon protocol." + license = "BSD-3-Clause" + topics = ("music", "music-player-demon", "sound") + homepage = "https://www.musicpd.org/libs/libmpdclient" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "default_socket": ["ANY"], + "default_host": ["ANY"], + "default_port": ["ANY"], + "tcp": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "default_socket": "/var/run/mpd/socket", + "default_host": "localhost", + "default_port": "6600", + "tcp": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + del self.options.default_socket + + 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 validate(self): + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support build of shared lib with msvc") + + def build_requirements(self): + self.tool_requires("meson/1.2.1") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = MesonToolchain(self) + if self.settings.os != "Windows": + tc.project_options["default_socket"] = str(self.options.default_socket) + tc.project_options["default_host"] = str(self.options.default_host) + tc.project_options["default_port"] = str(self.options.default_port) + tc.project_options["tcp"] = self.options.tcp + tc.project_options["documentation"] = False + tc.project_options["test"] = False + tc.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=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")) + fix_apple_shared_install_name(self) + fix_msvc_libname(self) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "libmpdclient") + self.cpp_info.libs = ["mpdclient"] + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("ws2_32") + +def fix_msvc_libname(conanfile, remove_lib_prefix=True): + """remove lib prefix & change extension to .lib in case of cl like compiler""" + from conan.tools.files import rename + import glob + if not conanfile.settings.get_safe("compiler.runtime"): + return + libdirs = getattr(conanfile.cpp.package, "libdirs") + for libdir in libdirs: + for ext in [".dll.a", ".dll.lib", ".a"]: + full_folder = os.path.join(conanfile.package_folder, libdir) + for filepath in glob.glob(os.path.join(full_folder, f"*{ext}")): + libname = os.path.basename(filepath)[0:-len(ext)] + if remove_lib_prefix and libname[0:3] == "lib": + libname = libname[3:] + rename(conanfile, filepath, os.path.join(os.path.dirname(filepath), f"{libname}.lib")) diff --git a/recipes/libmpdclient/all/test_package/CMakeLists.txt b/recipes/libmpdclient/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f00d9cb1c388c --- /dev/null +++ b/recipes/libmpdclient/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(libmpdclient CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libmpdclient::libmpdclient) diff --git a/recipes/libmpdclient/all/test_package/conanfile.py b/recipes/libmpdclient/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/libmpdclient/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/libmpdclient/all/test_package/test_package.c b/recipes/libmpdclient/all/test_package/test_package.c new file mode 100644 index 0000000000000..bb53ebecfee6d --- /dev/null +++ b/recipes/libmpdclient/all/test_package/test_package.c @@ -0,0 +1,25 @@ +#include +#include + +#include +#include + +int main() +{ + struct mpd_connection *conn = mpd_connection_new(NULL, 0, 0); + + if (conn == NULL) { + fprintf(stderr, "Out of memory\n"); + return 1; + } + if (mpd_connection_get_error(conn) != MPD_ERROR_SUCCESS) { + fprintf(stderr, "%s\n", mpd_connection_get_error_message(conn)); + mpd_connection_free(conn); + return 0; + } + + mpd_run_next(conn); + mpd_connection_free(conn); + + return 0; +} diff --git a/recipes/libmpdclient/all/test_v1_package/CMakeLists.txt b/recipes/libmpdclient/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/libmpdclient/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmpdclient/all/test_v1_package/conanfile.py b/recipes/libmpdclient/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libmpdclient/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/libmpdclient/config.yml b/recipes/libmpdclient/config.yml new file mode 100644 index 0000000000000..e36906bed874c --- /dev/null +++ b/recipes/libmpdclient/config.yml @@ -0,0 +1,3 @@ +versions: + "2.20": + folder: "all" From 08ae7205365c86fc7e80cd8c9aecebdc49e8643f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 14 Aug 2023 00:08:34 +0300 Subject: [PATCH 1185/4087] (#19116) cuda-samples: add new package * cuda-samples: add new package * cuda-samples: use helper_string.h for test, which is available in v10.2. --- recipes/cuda-samples/all/conandata.yml | 10 ++++ recipes/cuda-samples/all/conanfile.py | 51 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 +++ .../all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 16 ++++++ recipes/cuda-samples/config.yml | 7 +++ 6 files changed, 117 insertions(+) create mode 100644 recipes/cuda-samples/all/conandata.yml create mode 100644 recipes/cuda-samples/all/conanfile.py create mode 100644 recipes/cuda-samples/all/test_package/CMakeLists.txt create mode 100644 recipes/cuda-samples/all/test_package/conanfile.py create mode 100644 recipes/cuda-samples/all/test_package/test_package.cpp create mode 100644 recipes/cuda-samples/config.yml diff --git a/recipes/cuda-samples/all/conandata.yml b/recipes/cuda-samples/all/conandata.yml new file mode 100644 index 0000000000000..0fc2e78f080c8 --- /dev/null +++ b/recipes/cuda-samples/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "12.2": + url: "https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v12.2.tar.gz" + sha256: "c9fbdee420fd4567edb1239420e2a5c93d9652b4ccf3a828fcb3e0de3152e466" + "11.8": + url: "https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v11.8.tar.gz" + sha256: "1bc02c0ca42a323f3c7a05b5682eae703681a91e95b135bfe81f848b2d6a2c51" + "10.2": + url: "https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v10.2.tar.gz" + sha256: "f3d224dcc7028d055617360b481947c27346d87dd1ccfbdd134ab24648c084e8" diff --git a/recipes/cuda-samples/all/conanfile.py b/recipes/cuda-samples/all/conanfile.py new file mode 100644 index 0000000000000..aa2ee3b794d8a --- /dev/null +++ b/recipes/cuda-samples/all/conanfile.py @@ -0,0 +1,51 @@ +import os + +from conan import ConanFile +from conan.tools.files import copy, get, rmdir +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + + +class CudaSamplesConan(ConanFile): + name = "cuda-samples" + description = ("Common headers from NVIDIA CUDA Samples - " + "samples for CUDA developers which demonstrate features in CUDA Toolkit") + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/NVIDIA/cuda-samples" + topics = ("cuda", "cuda-kernels", "cuda-driver-api", "cuda-opengl", "nvcudasamples") + + 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) + # Package only headers under Common/ folder + rmdir(self, os.path.join(self.source_folder, "Samples")) + rmdir(self, os.path.join(self.source_folder, "bin")) + # Skip GL headers and precompiled libs, since these should be provided by separate Conan packages + rmdir(self, os.path.join(self.source_folder, "Common", "GL")) + rmdir(self, os.path.join(self.source_folder, "Common", "lib")) + rmdir(self, os.path.join(self.source_folder, "Common", "data")) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include", "Common"), + src=os.path.join(self.source_folder, "Common")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.includedirs.append(os.path.join("include", "Common")) diff --git a/recipes/cuda-samples/all/test_package/CMakeLists.txt b/recipes/cuda-samples/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fc3bd6fda4c9c --- /dev/null +++ b/recipes/cuda-samples/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cuda-samples REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cuda-samples::cuda-samples) diff --git a/recipes/cuda-samples/all/test_package/conanfile.py b/recipes/cuda-samples/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cuda-samples/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/cuda-samples/all/test_package/test_package.cpp b/recipes/cuda-samples/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..041e701c086ac --- /dev/null +++ b/recipes/cuda-samples/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include + +// One of the few non-CUDA-specific headers in the CUDA Samples. +#include "helper_string.h" + + +int main() { + char file[] = "hello_world.jpg"; + char *ext = NULL; + getFileExtension(file, &ext); + + std::cout << "getFileExtension(\"" << file << "\") returned \"" << ext << "\"." << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/cuda-samples/config.yml b/recipes/cuda-samples/config.yml new file mode 100644 index 0000000000000..0cc56090a313f --- /dev/null +++ b/recipes/cuda-samples/config.yml @@ -0,0 +1,7 @@ +versions: + "12.2": + folder: all + "11.8": + folder: all + "10.2": + folder: all From fd48ba967c4a6f90a18b2aa89931c80ecbca06da Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 06:29:06 +0900 Subject: [PATCH 1186/4087] (#19129) daw_header_libraries: add version 2.95.0, remove older versions --- recipes/daw_header_libraries/all/conandata.yml | 18 +++--------------- recipes/daw_header_libraries/config.yml | 12 ++---------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index 29376e7702ee0..76073e7c9033b 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -23,18 +26,3 @@ sources: "2.74.2": url: "https://github.com/beached/header_libraries/archive/v2.74.2.tar.gz" sha256: "32871df3d314cc9b4e293a9a8c79968d1c963dfd3dd60965dbf704eb18acb218" - "2.73.1": - url: "https://github.com/beached/header_libraries/archive/v2.73.1.tar.gz" - sha256: "62bd26398afa7eba1aae7bbbf107865044b8be0539d266085c36aed82557ae07" - "2.72.0": - url: "https://github.com/beached/header_libraries/archive/v2.72.0.tar.gz" - sha256: "f681755183af4af35f4741f3bcb7d99c6707911806e39e3acc982f9532aacc08" - "2.71.0": - url: "https://github.com/beached/header_libraries/archive/v2.71.0.tar.gz" - sha256: "50b9ddebdbc808a5714408a45f686fafe9d1d3b78c988df3973c12c9928828b9" - "2.68.3": - url: "https://github.com/beached/header_libraries/archive/v2.68.3.tar.gz" - sha256: "9bb7d25d161b89ad4a0ac857c28734c061cf53f6e80212c7fe70b8e0fd14789f" - "1.29.7": - url: "https://github.com/beached/header_libraries/archive/refs/tags/v1.29.7.tar.gz" - sha256: "524c34f3f5d2af498e7bcaff7802b914ba42acde29f7e3ecce41a035db0bf5bd" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 1983a1c07c015..6a27257347e52 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.95.0": + folder: all "2.93.1": folder: all "2.92.0": @@ -15,13 +17,3 @@ versions: folder: all "2.74.2": folder: all - "2.73.1": - folder: all - "2.72.0": - folder: all - "2.71.0": - folder: all - "2.68.3": - folder: all - "1.29.7": - folder: all From 8e798f632fbe4f88bc4a489cb7488e09aba21b2e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 06:49:33 +0900 Subject: [PATCH 1187/4087] (#19131) capnproto: add version 1.0.0 * capnproto: add version 1.0.0 * add patch descriptions * drop support gcc 5, 6 * link math lib * drop support MSVC Release build --- recipes/capnproto/all/conandata.yml | 80 ++++++-- recipes/capnproto/all/conanfile.py | 12 +- .../0015-disable-tests-for-1.0.0.patch | 176 ++++++++++++++++++ recipes/capnproto/config.yml | 2 + 4 files changed, 249 insertions(+), 21 deletions(-) create mode 100644 recipes/capnproto/all/patches/0015-disable-tests-for-1.0.0.patch diff --git a/recipes/capnproto/all/conandata.yml b/recipes/capnproto/all/conandata.yml index 9becf4a51dc85..64808b6c7cee4 100644 --- a/recipes/capnproto/all/conandata.yml +++ b/recipes/capnproto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/capnproto/capnproto/archive/v1.0.0.tar.gz" + sha256: "bcd44dde78055313a7786cb6ab020cbef19b9045b53857f90cce101c9453f715" "0.10.4": url: "https://github.com/capnproto/capnproto/archive/v0.10.4.tar.gz" sha256: "c6f25940688c87ddb24e0c4e475c3213d9b044aad2ba305439cc8c224f559da6" @@ -19,28 +22,71 @@ sources: sha256: "6d8b43a7ec2a764b4dfe4139a7cdd070ad9057f106898050d9f4db3754b98820" "0.7.0": url: "https://github.com/capnproto/capnproto/archive/v0.7.0.tar.gz" - sha256: 76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28 + sha256: "76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28" patches: + "1.0.0": + - patch_file: "patches/0015-disable-tests-for-1.0.0.patch" + patch_description: "disable test build" + patch_type: "conan" "0.10.4": - - patch_file: patches/0014-disable-tests-for-0.10.1.patch + - patch_file: "patches/0014-disable-tests-for-0.10.1.patch" + patch_description: "disable test build" + patch_type: "conan" "0.10.3": - - patch_file: patches/0014-disable-tests-for-0.10.1.patch + - patch_file: "patches/0014-disable-tests-for-0.10.1.patch" + patch_description: "disable test build" + patch_type: "conan" "0.10.1": - - patch_file: patches/0014-disable-tests-for-0.10.1.patch + - patch_file: "patches/0014-disable-tests-for-0.10.1.patch" + patch_description: "disable test build" + patch_type: "conan" "0.10.0": - - patch_file: patches/0013-disable-tests-for-0.10.0.patch + - patch_file: "patches/0013-disable-tests-for-0.10.0.patch" + patch_description: "disable test build" + patch_type: "conan" "0.9.1": - - patch_file: patches/0010-disable-tests-for-0.9.1.patch - - patch_file: patches/0011-msvc-cpp17-hassubstring-fix-0.9.1.patch - - patch_file: patches/0012-msvc-nogdi-fix-0.9.1.patch + - patch_file: "patches/0010-disable-tests-for-0.9.1.patch" + patch_description: "disable test build" + patch_type: "conan" + - patch_file: "patches/0011-msvc-cpp17-hassubstring-fix-0.9.1.patch" + patch_description: "fix compilation errors on Windows Clang" + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/pull/1344" + - patch_file: "patches/0012-msvc-nogdi-fix-0.9.1.patch" + patch_description: "fix compilation error on Windows" + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/issues/1421" "0.8.0": - - patch_file: patches/0001-disable-tests.patch - - patch_file: patches/0002-cmake-compat-header-install.patch - - patch_file: patches/0003-kj-tls-windows.patch - - patch_file: patches/0004-cmake-module-path.patch - - patch_file: patches/0005-msvc-16.7-ice-workaround.patch - - patch_file: patches/0009-windows-symlink-fix-0.8.0.patch + - patch_file: "patches/0001-disable-tests.patch" + patch_description: "disable test build" + patch_type: "conan" + - patch_file: "patches/0002-cmake-compat-header-install.patch" + patch_description: "fix compilation error for std::copy with list types" + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/pull/895" + - patch_file: "patches/0003-kj-tls-windows.patch" + patch_description: "add kj-tls target" + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/commit/7da6abf233fdf74a4ad4db56b6e98778b162dd7d" + - patch_file: "patches/0004-cmake-module-path.patch" + patch_description: "append cmake module path instead set" + patch_type: "conan" + - patch_file: "patches/0005-msvc-16.7-ice-workaround.patch" + patch_description: "Workaround for internal compiler error with msvc 16.7.x" + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/pull/1058" + - patch_file: "patches/0009-windows-symlink-fix-0.8.0.patch" + patch_description: "orkaround for install step on Windows where symlinks might be not supported." + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/pull/1240" "0.7.0": - - patch_file: patches/0006-symlink.patch - - patch_file: patches/0007-cmake-module-path.patch - - patch_file: patches/0008-disable-tests.patch + - patch_file: "patches/0006-symlink.patch" + patch_description: "Fix capnpc extension handling on Windows" + patch_type: "portability" + patch_source: "https://github.com/capnproto/capnproto/pull/804" + - patch_file: "patches/0007-cmake-module-path.patch" + patch_description: "append cmake module path instead set" + patch_type: "conan" + - patch_file: "patches/0008-disable-tests.patch" + patch_description: "disable test build" + patch_type: "conan" diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index f101073a53368..72462e3198e71 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -47,7 +47,7 @@ def _minimum_compilers_version(self): return { "Visual Studio": "15", "msvc": "191", - "gcc": "5", + "gcc": "5" if Version(self.version) < "1.0.0" else "7", "clang": "5", "apple-clang": "5.1", } @@ -93,6 +93,10 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared libraries for Visual Studio") if self.settings.os == "Windows" and Version(self.version) < "0.8.0" and self.options.with_openssl: raise ConanInvalidConfiguration(f"{self.ref} doesn't support OpenSSL on Windows pre 0.8.0") + # MSVC Release build is not supported in 1.0.0 + # https://github.com/capnproto/capnproto/issues/1740 + if Version(self.version) == "1.0.0" and is_msvc(self) and self.settings.build_type == "Release": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support MSVC Release build") def build_requirements(self): if self.settings.os != "Windows": @@ -218,9 +222,9 @@ def package_info(self): self._register_component(component) if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["capnpc"].system_libs = ["pthread"] - self.cpp_info.components["kj"].system_libs = ["pthread"] - self.cpp_info.components["kj-async"].system_libs = ["pthread"] + self.cpp_info.components["capnpc"].system_libs = ["pthread", "m"] + self.cpp_info.components["kj"].system_libs = ["pthread", "m"] + self.cpp_info.components["kj-async"].system_libs = ["pthread", "m"] elif self.settings.os == "Windows": self.cpp_info.components["kj-async"].system_libs = ["ws2_32"] diff --git a/recipes/capnproto/all/patches/0015-disable-tests-for-1.0.0.patch b/recipes/capnproto/all/patches/0015-disable-tests-for-1.0.0.patch new file mode 100644 index 0000000000000..38c9dd1ee414b --- /dev/null +++ b/recipes/capnproto/all/patches/0015-disable-tests-for-1.0.0.patch @@ -0,0 +1,176 @@ +diff --git a/c++/Makefile.am b/c++/Makefile.am +index 1567491..95ebc4a 100644 +--- a/c++/Makefile.am ++++ b/c++/Makefile.am +@@ -457,171 +457,4 @@ endif LITE_MODE + # src/capnp/benchmark/... + # src/capnp/compiler/... + +-# Tests ============================================================== +- +-test_capnpc_inputs = \ +- src/capnp/test.capnp \ +- src/capnp/test-import.capnp \ +- src/capnp/test-import2.capnp \ +- src/capnp/compat/json-test.capnp +- +-test_capnpc_outputs = \ +- src/capnp/test.capnp.c++ \ +- src/capnp/test.capnp.h \ +- src/capnp/test-import.capnp.c++ \ +- src/capnp/test-import.capnp.h \ +- src/capnp/test-import2.capnp.c++ \ +- src/capnp/test-import2.capnp.h \ +- src/capnp/compat/json-test.capnp.c++ \ +- src/capnp/compat/json-test.capnp.h +- +-if USE_EXTERNAL_CAPNP +- +-test_capnpc_middleman: $(test_capnpc_inputs) +- @$(MKDIR_P) src +- $(CAPNP) compile --src-prefix=$(srcdir)/src -o$(CAPNPC_CXX):src -I$(srcdir)/src $$(for FILE in $(test_capnpc_inputs); do echo $(srcdir)/$$FILE; done) +- touch test_capnpc_middleman + +-else +- +-test_capnpc_middleman: capnp$(EXEEXT) capnpc-c++$(EXEEXT) $(test_capnpc_inputs) +- @$(MKDIR_P) src +- ./capnp$(EXEEXT) compile --src-prefix=$(srcdir)/src -o./capnpc-c++$(EXEEXT):src -I$(srcdir)/src $$(for FILE in $(test_capnpc_inputs); do echo $(srcdir)/$$FILE; done) +- touch test_capnpc_middleman +- +-endif +- +-$(test_capnpc_outputs): test_capnpc_middleman +- +-BUILT_SOURCES = $(test_capnpc_outputs) +- +-check_LIBRARIES = libcapnp-test.a +-libcapnp_test_a_SOURCES = \ +- src/capnp/test-util.c++ \ +- src/capnp/test-util.h +-nodist_libcapnp_test_a_SOURCES = $(test_capnpc_outputs) +- +-if LITE_MODE +- +-check_PROGRAMS = capnp-test +-compiler_tests = +-capnp_test_LDADD = libcapnp-test.a libcapnp.la libkj-test.la libkj.la +- +-else !LITE_MODE +- +-check_PROGRAMS = capnp-test capnp-evolution-test capnp-afl-testcase +-if HAS_FUZZING_ENGINE +- check_PROGRAMS += capnp-llvm-fuzzer-testcase +-endif +-heavy_tests = \ +- src/kj/async-test.c++ \ +- src/kj/async-xthread-test.c++ \ +- src/kj/async-coroutine-test.c++ \ +- src/kj/async-unix-test.c++ \ +- src/kj/async-unix-xthread-test.c++ \ +- src/kj/async-win32-test.c++ \ +- src/kj/async-win32-xthread-test.c++ \ +- src/kj/async-io-test.c++ \ +- src/kj/async-queue-test.c++ \ +- src/kj/parse/common-test.c++ \ +- src/kj/parse/char-test.c++ \ +- src/kj/std/iostream-test.c++ \ +- src/kj/compat/url-test.c++ \ +- src/kj/compat/http-test.c++ \ +- $(MAYBE_KJ_GZIP_TESTS) \ +- $(MAYBE_KJ_TLS_TESTS) \ +- src/capnp/canonicalize-test.c++ \ +- src/capnp/capability-test.c++ \ +- src/capnp/membrane-test.c++ \ +- src/capnp/schema-test.c++ \ +- src/capnp/schema-loader-test.c++ \ +- src/capnp/schema-parser-test.c++ \ +- src/capnp/dynamic-test.c++ \ +- src/capnp/stringify-test.c++ \ +- src/capnp/serialize-async-test.c++ \ +- src/capnp/serialize-text-test.c++ \ +- src/capnp/rpc-test.c++ \ +- src/capnp/rpc-twoparty-test.c++ \ +- src/capnp/ez-rpc-test.c++ \ +- src/capnp/compat/json-test.c++ \ +- src/capnp/compat/websocket-rpc-test.c++ \ +- src/capnp/compiler/lexer-test.c++ \ +- src/capnp/compiler/type-id-test.c++ +-capnp_test_LDADD = \ +- libcapnp-test.a \ +- libcapnpc.la \ +- libcapnp-rpc.la \ +- libcapnp-websocket.la \ +- libcapnp-json.la \ +- libcapnp.la \ +- libkj-http.la \ +- $(MAYBE_KJ_GZIP_LA) \ +- $(MAYBE_KJ_TLS_LA) \ +- libkj-async.la \ +- libkj-test.la \ +- libkj.la \ +- $(ASYNC_LIBS) \ +- $(PTHREAD_LIBS) +- +-endif !LITE_MODE +- +-capnp_test_CPPFLAGS = -Wno-deprecated-declarations +-capnp_test_SOURCES = \ +- src/kj/common-test.c++ \ +- src/kj/memory-test.c++ \ +- src/kj/refcount-test.c++ \ +- src/kj/array-test.c++ \ +- src/kj/list-test.c++ \ +- src/kj/string-test.c++ \ +- src/kj/string-tree-test.c++ \ +- src/kj/table-test.c++ \ +- src/kj/map-test.c++ \ +- src/kj/encoding-test.c++ \ +- src/kj/exception-test.c++ \ +- src/kj/debug-test.c++ \ +- src/kj/arena-test.c++ \ +- src/kj/units-test.c++ \ +- src/kj/tuple-test.c++ \ +- src/kj/one-of-test.c++ \ +- src/kj/function-test.c++ \ +- src/kj/io-test.c++ \ +- src/kj/mutex-test.c++ \ +- src/kj/time-test.c++ \ +- src/kj/threadlocal-test.c++ \ +- src/kj/filesystem-test.c++ \ +- src/kj/filesystem-disk-test.c++ \ +- src/kj/test-test.c++ \ +- src/capnp/common-test.c++ \ +- src/capnp/blob-test.c++ \ +- src/capnp/endian-test.c++ \ +- src/capnp/endian-fallback-test.c++ \ +- src/capnp/endian-reverse-test.c++ \ +- src/capnp/layout-test.c++ \ +- src/capnp/any-test.c++ \ +- src/capnp/message-test.c++ \ +- src/capnp/encoding-test.c++ \ +- src/capnp/orphan-test.c++ \ +- src/capnp/serialize-test.c++ \ +- src/capnp/serialize-packed-test.c++ \ +- src/capnp/fuzz-test.c++ \ +- $(heavy_tests) +- +-if !LITE_MODE +-capnp_evolution_test_LDADD = libcapnpc.la libcapnp.la libkj.la +-capnp_evolution_test_SOURCES = src/capnp/compiler/evolution-test.c++ +- +-capnp_afl_testcase_LDADD = libcapnp-test.a libcapnp-rpc.la libcapnp.la libkj.la libkj-async.la +-capnp_afl_testcase_SOURCES = src/capnp/afl-testcase.c++ +- +-if HAS_FUZZING_ENGINE +- capnp_llvm_fuzzer_testcase_LDADD = libcapnp-test.a libcapnp-rpc.la libcapnp.la libkj.la libkj-async.la +- capnp_llvm_fuzzer_testcase_SOURCES = src/capnp/llvm-fuzzer-testcase.c++ +- capnp_llvm_fuzzer_testcase_LDFLAGS = $(LIB_FUZZING_ENGINE) +-endif +-endif !LITE_MODE +- +-if LITE_MODE +-TESTS = capnp-test +-else !LITE_MODE +-TESTS = capnp-test capnp-evolution-test src/capnp/compiler/capnp-test.sh +-endif !LITE_MODE diff --git a/recipes/capnproto/config.yml b/recipes/capnproto/config.yml index 884c84c332e24..fe4f6cbbb70b3 100644 --- a/recipes/capnproto/config.yml +++ b/recipes/capnproto/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.10.4": folder: all "0.10.3": From e9cb930aba4ff34985ba0193fb8f690e0d4d4455 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 14 Aug 2023 00:28:07 +0200 Subject: [PATCH 1188/4087] (#19140) [bandit] Add transitive headers for snowhouse * [bandit] Add transitive headers for snowhouse * Fix linters issues --- recipes/bandit/all/conanfile.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/recipes/bandit/all/conanfile.py b/recipes/bandit/all/conanfile.py index 31fd2c6978fa4..5bc2e2513915d 100644 --- a/recipes/bandit/all/conanfile.py +++ b/recipes/bandit/all/conanfile.py @@ -1,39 +1,41 @@ from conan import ConanFile -from conan.tools.files import apply_conandata_patches, copy, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.52.0" class BanditConan(ConanFile): name = "bandit" description = "Human-friendly unit testing for C++11" - topics = ("testing", "header-only") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/banditcpp/bandit" - license = "MIT" + topics = ("testing", "header-only") + package_type = "header-library" def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def requirements(self): - self.requires("snowhouse/5.0.0") + self.requires("snowhouse/5.0.0", transitive_headers=True) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def build(self): apply_conandata_patches(self) def package(self): copy(self, "LICENSE.txt", src=os.path.join(self.source_folder, "docs"), dst=os.path.join(self.package_folder, "licenses")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "include", "bandit"), src=os.path.join(self.source_folder, "bandit")) + copy(self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include", "bandit"), + src=os.path.join(self.source_folder, "bandit")) def package_id(self): self.info.clear() @@ -43,4 +45,3 @@ def package_info(self): self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] self.cpp_info.resdirs = [] - From ac67b6e2e37fd8df29a66b8534793836bd62336a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 07:49:13 +0900 Subject: [PATCH 1189/4087] (#19144) bzip3: add version 1.3.2, remove older versions * bzip3: add version 1.3.2, remove older versions * remove unused import --- recipes/bzip3/all/conandata.yml | 30 +++--------------------------- recipes/bzip3/all/conanfile.py | 4 +--- recipes/bzip3/config.yml | 10 ++-------- 3 files changed, 6 insertions(+), 38 deletions(-) diff --git a/recipes/bzip3/all/conandata.yml b/recipes/bzip3/all/conandata.yml index 0de00365a28f1..e5219a4ddad45 100644 --- a/recipes/bzip3/all/conandata.yml +++ b/recipes/bzip3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/kspalaiologos/bzip3/releases/download/1.3.2/bzip3-1.3.2.tar.xz" + sha256: "b1d04b8b1b89a3c490cf2b89ea8cee1281584b07f25276fcfd8d40ec2c488e94" "1.3.1": url: "https://github.com/kspalaiologos/bzip3/releases/download/1.3.1/bzip3-1.3.1.tar.xz" sha256: "b023c261307ff4e0e64935ea32bba0216377fd8fc2fd19ba86509a32cbb8a35a" @@ -20,30 +23,3 @@ sources: "1.1.8": url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.8/bzip3-1.1.8.tar.bz2" sha256: "bc15d0e4599aad18d9ed71ee0f7e859af89051bf5105b0751e8ca3a26117567d" - "1.1.7": - url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.7/bzip3-1.1.7.tar.bz2" - sha256: "1f74768dd1a76c45417f84779cc04d8d8b1f595ac564a2ea2aeb0248defca803" - "1.1.6": - url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.6/bzip3-1.1.6.tar.bz2" - sha256: "2bfd35dd57ab80b35b25e3ad628e0ff8f1f5e6dea02a8d472914823ea2e07e96" - "1.1.5": - url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.5/bzip3-1.1.5.tar.bz2" - sha256: "2f5012b0004b6c23d5f606deed9191fdce44849234edbcf26e0316bf7856d114" - "1.1.4": - url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.4/bzip3-1.1.4.tar.bz2" - sha256: "e23a06ae17fc36192e79d0151950b3bbd4e26381af50ba4b4fd7a2d9797e498f" -patches: - "1.1.5": - - patch_file: "patches/1.1.5-0002-export-symbols.patch" - patch_description: "fix hidden public symbols on shard build" - patch_type: "portability" - patch_source: "https://github.com/kspalaiologos/bzip3/issues/46" - "1.1.4": - - patch_file: "patches/1.1.4-0001-make-restrict-alias.patch" - patch_description: "make restrict alias" - patch_type: "portability" - patch_source: "https://github.com/kspalaiologos/bzip3/commit/c5bba99d1a655a177eef9aeb71207326929c66d9" - - patch_file: "patches/1.1.4-0002-export-symbols.patch" - patch_description: "fix hidden public symbols on shard build" - patch_type: "portability" - patch_source: "https://github.com/kspalaiologos/bzip3/issues/46" diff --git a/recipes/bzip3/all/conanfile.py b/recipes/bzip3/all/conanfile.py index 484c139e122f3..2102c952e4cf1 100644 --- a/recipes/bzip3/all/conanfile.py +++ b/recipes/bzip3/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 export_conandata_patches, apply_conandata_patches, copy, get +from conan.tools.files import copy, get import os required_conan_version = ">=1.53.0" @@ -30,7 +30,6 @@ class BZip3Conan(ConanFile): def export_sources(self): copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) - export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -62,7 +61,6 @@ def generate(self): 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() diff --git a/recipes/bzip3/config.yml b/recipes/bzip3/config.yml index 014fd9d903968..b6e0a161eb7bf 100644 --- a/recipes/bzip3/config.yml +++ b/recipes/bzip3/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.3.1": folder: all "1.3.0": @@ -13,11 +15,3 @@ versions: folder: all "1.1.8": folder: all - "1.1.7": - folder: all - "1.1.6": - folder: all - "1.1.5": - folder: all - "1.1.4": - folder: all From 01752343eeb196ed114bb3acc6588fa4a70a8e48 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Mon, 14 Aug 2023 11:08:26 +0300 Subject: [PATCH 1190/4087] (#19183) args-parser: bump version --- recipes/args-parser/all/conandata.yml | 3 +++ recipes/args-parser/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/args-parser/all/conandata.yml b/recipes/args-parser/all/conandata.yml index 787c510a62b53..427c4c05d81dd 100644 --- a/recipes/args-parser/all/conandata.yml +++ b/recipes/args-parser/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.3.3": + url: "https://github.com/igormironchik/args-parser/archive/refs/tags/6.3.3.tar.gz" + sha256: "67867d7ab624a8c2f391230c54c37830e6127f7f5c716ff634165f674d876b64" "6.3.2": url: "https://github.com/igormironchik/args-parser/archive/refs/tags/6.3.2.tar.gz" sha256: "cd89549a9f5b5cfd16db2f8b9c93fd164cea334147c58890d5322365789e05e5" diff --git a/recipes/args-parser/config.yml b/recipes/args-parser/config.yml index 08a70490fa0ab..b67bad0e21e0f 100644 --- a/recipes/args-parser/config.yml +++ b/recipes/args-parser/config.yml @@ -1,4 +1,6 @@ versions: + "6.3.3": + folder: all "6.3.2": folder: all "6.3.1": From 07b8de14d66d6acac4b09bae08e95f5aa4ebbbae Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:59:36 +0200 Subject: [PATCH 1191/4087] Add new Conan v2-ready references (#19184) --- .c3i/conan_v2_ready_references.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 2158d3f771f43..f8823a111ab28 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -41,6 +41,7 @@ required_for_references: - asio - asio-grpc - asmjit +- assimp - astc-codec - astro-informatics-so3 - async_simple @@ -70,6 +71,7 @@ required_for_references: - backward-cpp - bacnet-stack - baical-p7 +- bandit - base64 - bazel - bdwgc @@ -205,6 +207,7 @@ required_for_references: - cubicinterpolation - cuda-api-wrappers - cuda-kat +- cuda-samples - cunit - cute_headers - cvplot @@ -230,6 +233,7 @@ required_for_references: - dice-template-library - dirent - discount +- djinni-generator - dlpack - docopt.cpp - doctest @@ -242,6 +246,7 @@ required_for_references: - drmp3 - drogon - drwav +- dtl - duckdb - eabase - earcut @@ -267,6 +272,7 @@ required_for_references: - enum-flags - erikzenker-hsm - erkir +- etc2comp - eternal - etl - exiv2 @@ -307,6 +313,7 @@ required_for_references: - foxglove-schemas-protobuf - foxi - fp16 +- fpzip - freeglut - freeimage - freetype @@ -317,6 +324,7 @@ required_for_references: - ftxui - function2 - functionalplus +- fusepp - fxdiv - g3log - gainput @@ -389,6 +397,7 @@ required_for_references: - heatshrink - hedley - hffix +- hictk - hidapi - highfive - highs @@ -399,6 +408,7 @@ required_for_references: - hlslpp - homog2d - http_parser +- hunspell - hwloc - icecream-cpp - icu @@ -410,6 +420,7 @@ required_for_references: - imgui - imguizmo - implot +- imutils-cpp - incbin - indicators - indirect_value @@ -544,6 +555,7 @@ required_for_references: - libmorton - libmount - libmp3lame +- libmpdclient - libmysqlclient - libnabo - libnet @@ -569,6 +581,7 @@ required_for_references: - librealsense - libressl - librttopo +- libsafec - libsamplerate - libschrift - libsecret @@ -711,6 +724,7 @@ required_for_references: - mppp - ms-gsl - msdf-atlas-gen +- msdfgen - msgpack-c - msgpack-cxx - msys2 @@ -736,6 +750,7 @@ required_for_references: - nlohmann_json - nlopt - nmea +- nmslib - nng - nodejs - norm @@ -774,6 +789,7 @@ required_for_references: - openddl-parser - openexr - openfbx +- openfst - openfx - opengl - opengl-registry @@ -859,6 +875,7 @@ required_for_references: - pthreads4w - pugixml - pulseaudio +- pupnp - pybind11 - pybind11_json - pystring @@ -909,6 +926,7 @@ required_for_references: - rtmidi - rttr - ruy +- rvo2 - rxcpp - s2n - safeint @@ -1048,6 +1066,7 @@ required_for_references: - upx - uriparser - usockets +- usrsctp - utf8proc - utfcpp - util-linux-libuuid From b9ae7dabcc2a39779feaa0ec7f0fae0cd4b1b8b1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 14 Aug 2023 11:23:19 +0200 Subject: [PATCH 1192/4087] (#19176) [bot] Update list of references (prod-v2/ListPackages) From c36b516eab85b345af0180743eecd8ec75b23db6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 20:30:26 +0900 Subject: [PATCH 1193/4087] (#19169) fmt: add version 10.1.0 --- 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 2125f36949279..0ab235a8e96fa 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.1.0": + url: "https://github.com/fmtlib/fmt/releases/download/10.1.0/fmt-10.1.0.zip" + sha256: "d725fa83a8b57a3cedf238828fa6b167f963041e8f9f7327649bddc68ae316f4" "10.0.0": url: "https://github.com/fmtlib/fmt/releases/download/10.0.0/fmt-10.0.0.zip" sha256: "4943cb165f3f587f26da834d3056ee8733c397e024145ca7d2a8a96bb71ac281" diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index 44e12e4e3ddc7..94b218a304025 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.1.0": + folder: all "10.0.0": folder: all "9.1.0": From 27b1d23c14ad209a03aa6f52b69d80e7b251ecff Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 14 Aug 2023 14:54:39 +0200 Subject: [PATCH 1194/4087] osgearth/all: bump deps (#18500) * osgearth/all: bump deps * fix linter error * override libpng version * remove openssl override * bump libcurl --------- Co-authored-by: Carlos Zoido --- recipes/osgearth/all/conanfile.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/recipes/osgearth/all/conanfile.py b/recipes/osgearth/all/conanfile.py index 5e59c1a6652d9..611835c64bf48 100644 --- a/recipes/osgearth/all/conanfile.py +++ b/recipes/osgearth/all/conanfile.py @@ -105,13 +105,13 @@ def requirements(self): self.requires("opengl/system") self.requires("gdal/3.4.3") self.requires("openscenegraph/3.6.5") - self.requires("libcurl/7.83.1") + self.requires("libcurl/8.2.0") self.requires("lerc/2.2") self.requires("rapidjson/1.1.0") - self.requires("zlib/1.2.12", override=True) - self.requires("libtiff/4.3.0", override=True) - self.requires("openssl/1.1.1l", override=True) + self.requires("zlib/1.2.13") # override + self.requires("libtiff/4.5.1") # override + self.requires("libpng/1.6.40") # override # if self.options.build_triton_nodekit: # self.requires("triton_nodekit") @@ -122,11 +122,11 @@ def requirements(self): if self.options.build_rocksdb_cache: self.requires("rocksdb/6.20.3") if self.options.build_zip_plugin: - self.requires("zstd/1.4.9") # override + self.requires("zstd/1.5.5") # override if self.options.with_geos: - self.requires("geos/3.10.2") + self.requires("geos/3.11.1") if self.options.with_sqlite3: - self.requires("sqlite3/3.38.5") + self.requires("sqlite3/3.42.0") if self.options.with_draco: self.requires("draco/1.4.3") # if self.options.with_basisu: @@ -134,9 +134,9 @@ def requirements(self): # if self.options.with_glew: # self.requires("glew/2.2.0") if self.options.with_protobuf: - self.requires("protobuf/3.17.1") + self.requires("protobuf/3.21.9") if self.options.with_webp: - self.requires("libwebp/1.2.0") + self.requires("libwebp/1.3.1") def _patch_sources(self): for patch in self.conan_data.get("patches", {}).get(self.version, []): From 8ea2f3a855477a90b8519354e34c93b97bab39af Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Mon, 14 Aug 2023 06:06:56 -0700 Subject: [PATCH 1195/4087] Fix link to CLA (#19007) --- CONTRIBUTING.md | 2 +- docs/CONTRIBUTOR_LICENSE_AGREEMENT.md | 23 ----------------------- docs/adding_packages/README.md | 2 +- docs/review_process.md | 2 +- 4 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 docs/CONTRIBUTOR_LICENSE_AGREEMENT.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3e7f52de2da8..6e24832e93e98 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ To contribute follow the next steps: 1. Comment in the corresponding issue that you want to contribute the package/fix proposed. If there is no open issue, we strongly suggest opening one to gather feedback. -2. Make sure to [request access](docs/adding_packages/README.md#request-access) and be aware there is a [CLA](docs/CONTRIBUTOR_LICENSE_AGREEMENT.md). +2. Make sure to [request access](docs/adding_packages/README.md#request-access) and be aware there is a [contributor licenses agreement](https://cla-assistant.io/conan-io/conan-center-index). 3. Get setup by following the [Developing Recipes](docs/developing_recipes_locally.md) guide and learn the basic commands. 4. Check the [How To Add Packages](docs/adding_packages/README.md) page for the break down of ConanCenterIndex specific conventions and practices. 5. In your fork create a `package/xxx` branch from the `master` branch and develop diff --git a/docs/CONTRIBUTOR_LICENSE_AGREEMENT.md b/docs/CONTRIBUTOR_LICENSE_AGREEMENT.md deleted file mode 100644 index 39acf20a7aebd..0000000000000 --- a/docs/CONTRIBUTOR_LICENSE_AGREEMENT.md +++ /dev/null @@ -1,23 +0,0 @@ -Conan-Center-Index project Contributor License Agreement --------------------------------------------------------- - -The following terms are used throughout this agreement: - -- You - the person or legal entity including its affiliates asked to accept this agreement. An affiliate is any entity that controls or is controlled by the legal entity, or is under common control with it. -- Contribution - any type of work that is submitted to the repository, including any modifications or additions to existing work. -- Project - Conan-Center-Index project (https://github.com/conan-io/conan-center-index) -- Submitted - conveyed to a Project via a pull request, commit, issue, or any form of electronic, written, or verbal communication with the copyright owner, contributors or maintainers. - -1. Grant of Copyright License. - - Subject to the terms and conditions of this agreement, You grant to JFrog LTD, a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your contributions and such derivative works. - -2. Grant of Patent License. - - Subject to the terms and conditions of this agreement, You grant to JFrog LTD, a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your contributions, where such license applies only to those patent claims licensable by you that are necessarily infringed by your contribution or by combination of your contribution with the project to which this contribution was submitted. - - If any entity institutes patent litigation - including cross-claim or counterclaim in a lawsuit - against You alleging that your contribution or any project it was submitted to constitutes or is responsible for direct or contributory patent infringement, then any patent licenses granted to that entity under this agreement shall terminate as of the date such litigation is filed. - -3. Source of Contribution. - - Your contribution is either your original creation, based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right under that license to submit that work with modifications, whether created in whole or in part by you, or you have clearly identified the source of the contribution and any license or other restriction (like related patents, trademarks, and license agreements) of which you are personally aware. diff --git a/docs/adding_packages/README.md b/docs/adding_packages/README.md index 3f310562fdf6a..409f61c38fc0e 100644 --- a/docs/adding_packages/README.md +++ b/docs/adding_packages/README.md @@ -30,7 +30,7 @@ generally approved on a weekly basis. Feel free to continue to step :two: while > All interactions are subject to the expectations of the [code of conduct](../code_of_conduct.md). Any misuse or inappropriate behavior > are subject to the same principals. -When submitting a pull request for the first time, you will be prompted to sign the [CLA](../CONTRIBUTOR_LICENSE_AGREEMENT.md) for your +When submitting a pull request for the first time, you will be prompted to sign the [CLA](https://cla-assistant.io/conan-io/conan-center-index) for your code contributions. You can view your signed CLA's by going to and signing in. ## Inactivity and user removal diff --git a/docs/review_process.md b/docs/review_process.md index 55eadf1bd0738..cf9d98f130d9b 100644 --- a/docs/review_process.md +++ b/docs/review_process.md @@ -101,7 +101,7 @@ The bot runs Automatic Merges every 20 minutes. Currently, it can only merge a s PR is selected for the merge only if: - Author is already [approved](https://github.com/conan-io/conan-center-index/issues/4). -- Author has signed the [CLA](CONTRIBUTOR_LICENSE_AGREEMENT.md). +- Author has signed the [CLA](https://cla-assistant.io/conan-io/conan-center-index). - PR is not a Draft. - PR has a green status (successful build). - PR doesn't have merge conflicts with `master` branch. From b1ee96c53a09de3126ac5fc422b820e8bc0eb0b6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 14 Aug 2023 23:26:45 +0900 Subject: [PATCH 1196/4087] (#18598) fakeit: make bindirs and libdirs empty, update dependencies --- recipes/fakeit/all/conanfile.py | 28 +++++++++---------- .../fakeit/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/recipes/fakeit/all/conanfile.py b/recipes/fakeit/all/conanfile.py index 821c0ce34e387..790c00d882ca3 100644 --- a/recipes/fakeit/all/conanfile.py +++ b/recipes/fakeit/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 apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import get, copy from conan.tools.layout import basic_layout import os @@ -11,35 +11,34 @@ class FakeItConan(ConanFile): name = "fakeit" description = "C++ mocking made easy. A simple yet very expressive, headers only library for c++ mocking." - topics = ("mock", "fake", "spy") license = "MIT" - homepage = "https://github.com/eranpeer/FakeIt" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/eranpeer/FakeIt" + topics = ("mock", "fake", "spy", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { - "integration": ["boost", "catch", "cute", "gtest", "mettle", "nunit", "mstest", "qtest", "standalone", "tpunit"] + "integration": ["boost", "catch", "cute", "gtest", "mettle", "nunit", "mstest", "qtest", "standalone", "tpunit"], + } + default_options = { + "integration": "standalone", } - default_options = {"integration": "standalone"} no_copy_source = True @property def _min_cppstd(self): return 11 - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") def requirements(self): if self.options.integration == "boost": - self.requires("boost/1.79.0") + self.requires("boost/1.82.0") elif self.options.integration == "catch": - self.requires("catch2/2.13.9") + self.requires("catch2/3.4.0") elif self.options.integration == "gtest": - self.requires("gtest/1.11.0") + self.requires("gtest/1.13.0") elif self.options.integration == "qtest": self.requires("qt/6.3.0") elif self.options.integration == "standalone": @@ -60,9 +59,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - apply_conandata_patches(self) - def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( @@ -71,3 +67,7 @@ def package(self): dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "single_header", str(self.options.integration)), ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fakeit/all/test_package/CMakeLists.txt b/recipes/fakeit/all/test_package/CMakeLists.txt index bc2658ff1b34e..6beebe71b3c83 100644 --- a/recipes/fakeit/all/test_package/CMakeLists.txt +++ b/recipes/fakeit/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(fakeit REQUIRED CONFIG) From 058d67c5cd5428af095d97b65ca4fbefbbeaeb8e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 15 Aug 2023 00:12:56 +0900 Subject: [PATCH 1197/4087] (#19188) quill: update fmt/10.1.0 --- recipes/quill/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index 8de97161e3619..ef58c5e9a36f9 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -69,7 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.0.0", transitive_headers=True) + self.requires("fmt/10.1.0", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] From b5f7e8c2b80bf22fc849d4f34b917cc8d68fcd55 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 14 Aug 2023 18:29:34 +0200 Subject: [PATCH 1198/4087] (#19162) date: update libcurl --- recipes/date/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index a42b06fc8f951..74e5999eba368 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if not self.options.header_only and not self.options.use_system_tz_db: - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.2.1") def package_id(self): if self.info.options.header_only: From 48d10319dedcc037ab7dc8452b691f4e76b57c5a Mon Sep 17 00:00:00 2001 From: Frank Schoenmann Date: Mon, 14 Aug 2023 19:08:48 +0200 Subject: [PATCH 1199/4087] (#19057) fast-dds: add version 2.11.1 --- recipes/fast-dds/all/conandata.yml | 7 +++++ ...11.1-0001-fix-find-asio-and-tinyxml2.patch | 31 +++++++++++++++++++ recipes/fast-dds/config.yml | 2 ++ 3 files changed, 40 insertions(+) create mode 100644 recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch diff --git a/recipes/fast-dds/all/conandata.yml b/recipes/fast-dds/all/conandata.yml index 89a0fa550b4d4..d1212c03f024a 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.1": + url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.11.1.tar.gz" + sha256: "3fe8b9f67a13a5d2aa40c0bd10581bd90f0a192b39c71f92ee233ffe584d3374" "2.10.1": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.10.1.tar.gz" sha256: "2cc2682db5dc7e87684b7f23166e2f32faf8d5c4b4a8c94c6c21211a8a38f553" @@ -12,6 +15,10 @@ sources: url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.2.tar.gz" sha256: "4d8183cf4d37c3de9e6fd28d2850dd08023a9079001c4880b23c95f0d8c0b5ce" patches: + "2.11.1": + - patch_file: "patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" "2.10.1": - patch_file: "patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch" patch_type: "conan" diff --git a/recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch new file mode 100644 index 0000000000000..bada751126e81 --- /dev/null +++ b/recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch @@ -0,0 +1,31 @@ +From b8c533b0fb2b92e9bd2aada5e195d7a0b3c0c6a9 Mon Sep 17 00:00:00 2001 +From: Joakim Haugen +Date: Wed, 10 May 2023 13:17:11 +0200 +Subject: [PATCH] fix find asio and tinyxml2 + +--- + CMakeLists.txt | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b01b2c470..7867feff3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -232,9 +232,11 @@ if(NOT BUILD_SHARED_LIBS) + set(FASTDDS_STATIC ON) + endif() + +-eprosima_find_package(fastcdr REQUIRED) +-eprosima_find_thirdparty(Asio asio VERSION 1.10.8) +-eprosima_find_thirdparty(TinyXML2 tinyxml2) ++eprosima_find_thirdparty(fastcdr REQUIRED) ++eprosima_find_thirdparty(asio REQUIRED) ++eprosima_find_thirdparty(tinyxml2 REQUIRED) ++set(TINYXML2_LIBRARY tinyxml2::tinyxml2) ++set(Asio_INCLUDE_DIR ${asio_INCLUDE_DIR}) + + find_package(foonathan_memory REQUIRED) + message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") +-- +2.30.2 + diff --git a/recipes/fast-dds/config.yml b/recipes/fast-dds/config.yml index 9d0fe488028aa..b5f51dc05cbcf 100644 --- a/recipes/fast-dds/config.yml +++ b/recipes/fast-dds/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.1": + folder: all "2.10.1": folder: all "2.3.4": From 499445e03d9ddc8b9587e6ac6642617c12d39c97 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 15 Aug 2023 02:50:05 +0900 Subject: [PATCH 1200/4087] (#19189) mppp: update dependencies --- recipes/mppp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index bf3dbe732b8b1..7fed2f8affb27 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -63,13 +63,13 @@ def layout(self): def requirements(self): self.requires("gmp/6.2.1", transitive_headers=True) if self.options.with_mpfr: - self.requires("mpfr/4.1.0") + self.requires("mpfr/4.2.0") if self.options.with_mpc: self.requires("mpc/1.2.0") if self.options.with_boost: self.requires("boost/1.82.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/10.0.0", transitive_headers=True) + self.requires("fmt/10.1.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 50d110e5d44681bf834e702f2a4ffea5853fa6d2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 14 Aug 2023 21:28:09 +0200 Subject: [PATCH 1201/4087] (#19195) pngpp: update libpng --- recipes/pngpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pngpp/all/conanfile.py b/recipes/pngpp/all/conanfile.py index 9693d59416e60..57559867af002 100644 --- a/recipes/pngpp/all/conanfile.py +++ b/recipes/pngpp/all/conanfile.py @@ -22,7 +22,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libpng/1.6.38") + self.requires("libpng/1.6.40") def package_id(self): self.info.clear() From 8b1d42814d553966f7e20fde4b5f5e30f589ea48 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 15 Aug 2023 11:50:28 +0900 Subject: [PATCH 1202/4087] (#19197) blend2d: add version 0.10.4 --- recipes/blend2d/all/conandata.yml | 7 +++++++ recipes/blend2d/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/blend2d/all/conandata.yml b/recipes/blend2d/all/conandata.yml index ddbc54ae6e873..81cc43bbe5bf8 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.4": + url: "https://blend2d.com/download/blend2d-0.10.4.tar.xz" + sha256: "6363e5c13c1c9e4709f949585a6af772ee13a16f75b0084f91b3918dece2fff3" "0.10": url: "https://blend2d.com/download/blend2d-0.10.tar.xz" sha256: "eaed6cc5f1fc33061a99d70cf166836994d952f75762bfacb397ee388e13ccc9" @@ -15,6 +18,10 @@ sources: url: "https://blend2d.com/download/blend2d-beta17.zip" sha256: "06ee8fb0bea281d09291e498900093139426501a1a7f09dba0ec801dd340635e" patches: + "0.10.4": + - patch_file: "patches/0.10-0001-disable-embed-asmjit.patch" + patch_description: "use asmjit cci package" + patch_type: "conan" "0.10": - patch_file: "patches/0.10-0001-disable-embed-asmjit.patch" patch_description: "use asmjit cci package" diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index 447f9c7043b58..abc5bb6a7611e 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.4": + folder: all "0.10": folder: all "0.9": From 5ce4d59ea7942f14863fa4dbffb80f22ee45b7d3 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 15 Aug 2023 12:35:47 +0900 Subject: [PATCH 1203/4087] (#19198) fmtlog: update fmt/10.1.0 --- recipes/fmtlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fmtlog/all/conanfile.py b/recipes/fmtlog/all/conanfile.py index 17e20eaf9c51b..759d3b12c6861 100644 --- a/recipes/fmtlog/all/conanfile.py +++ b/recipes/fmtlog/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.0.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.1.0", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: From e98ebfe43280ed145c476ce8cf91086d12c08c6f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 15 Aug 2023 13:48:19 +0900 Subject: [PATCH 1204/4087] (#19199) jinja2cpp: update fmt/10.1.0 --- recipes/jinja2cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index f6bfa2d0a3b34..c40b675dc715a 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): self.requires("fmt/6.2.1") # not compatible with fmt >= 7.0.0 else: self.requires("nlohmann_json/3.11.2") - self.requires("fmt/10.0.0") + self.requires("fmt/10.1.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 3298067ae4e38b4bdb6f9ed294197de01431e2d1 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 15 Aug 2023 18:16:21 +0900 Subject: [PATCH 1205/4087] (#18840) strong_type: add version v12 Co-authored-by: Carlos Zoido --- 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 93df54150e6a0..1b5da1a4d1c20 100644 --- a/recipes/strong_type/all/conandata.yml +++ b/recipes/strong_type/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "v12": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v12.tar.gz" + sha256: "8af0400c7ae76c7ec8646e929bacb37fc7fcae33e54eeaa61fa9f9df508a9248" "v11": url: "https://github.com/rollbear/strong_type/archive/refs/tags/v11.tar.gz" sha256: "b9879c8835501c05147603ac86097b263437f72a35299b5f96c90be789932418" diff --git a/recipes/strong_type/config.yml b/recipes/strong_type/config.yml index 547a5c53c28e3..3fcbeb72e7dd9 100644 --- a/recipes/strong_type/config.yml +++ b/recipes/strong_type/config.yml @@ -1,4 +1,6 @@ versions: + "v12": + folder: all "v11": folder: all "v10": From 9833fcdbde0fdd4c1cb91d4521560e334b4593b3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 16 Aug 2023 01:48:18 +0900 Subject: [PATCH 1206/4087] (#19207) screen_capture_lite: add version 17.1.1369 --- recipes/screen_capture_lite/all/conandata.yml | 3 +++ recipes/screen_capture_lite/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/screen_capture_lite/all/conandata.yml b/recipes/screen_capture_lite/all/conandata.yml index aa72c475ba532..7bc7e84245c17 100644 --- a/recipes/screen_capture_lite/all/conandata.yml +++ b/recipes/screen_capture_lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "17.1.1369": + url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.1369.tar.gz" + sha256: "72abf1cd9fc538e98547841ec56396ba75a36853e861f7bf721f21c64c34453e" "17.1.1327": url: "https://github.com/smasherprog/screen_capture_lite/archive/refs/tags/17.1.1327.tar.gz" sha256: "bc5c17f3df14c1013268fc0107b52a98c6d032803fd1faea1983772f3b7ac5ed" diff --git a/recipes/screen_capture_lite/config.yml b/recipes/screen_capture_lite/config.yml index 7298de37ef363..d2022be0c81a1 100644 --- a/recipes/screen_capture_lite/config.yml +++ b/recipes/screen_capture_lite/config.yml @@ -1,4 +1,6 @@ versions: + "17.1.1369": + folder: "all" "17.1.1327": folder: "all" "17.1.1173": From 260f853130b76350e8b27a27a269a84ef6c763ab Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 16 Aug 2023 02:36:02 +0900 Subject: [PATCH 1207/4087] (#19208) r8brain-free-src: add version 6.4 --- recipes/r8brain-free-src/all/conandata.yml | 3 +++ recipes/r8brain-free-src/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/r8brain-free-src/all/conandata.yml b/recipes/r8brain-free-src/all/conandata.yml index e43484f945f02..66f72e2a32048 100644 --- a/recipes/r8brain-free-src/all/conandata.yml +++ b/recipes/r8brain-free-src/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.4": + url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.4.tar.gz" + sha256: "27e6749e140648894b79003fe16a4d416eca3bed8d067e0f00cfb2e246c556ca" "6.3": url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.3.tar.gz" sha256: "f2cd46cd8806294d9be45ed4e6bda5f8ef1dc808625eec3facde784953d2bc23" diff --git a/recipes/r8brain-free-src/config.yml b/recipes/r8brain-free-src/config.yml index 8f56257b3441d..2402c4c664c5f 100644 --- a/recipes/r8brain-free-src/config.yml +++ b/recipes/r8brain-free-src/config.yml @@ -1,4 +1,6 @@ versions: + "6.4": + folder: all "6.3": folder: all "6.2": From 9a72a33917fb67865b4ddeecb23bacabbe382fb4 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 16 Aug 2023 13:08:25 +0900 Subject: [PATCH 1208/4087] (#19216) maven: add version 3.9.4 --- recipes/maven/all/conandata.yml | 3 +++ recipes/maven/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/maven/all/conandata.yml b/recipes/maven/all/conandata.yml index 7cdcaeb46d6b1..ce4fe6b87794c 100644 --- a/recipes/maven/all/conandata.yml +++ b/recipes/maven/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.4": + url: "https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz" + sha256: "ff66b70c830a38d331d44f6c25a37b582471def9a161c93902bac7bea3098319" "3.9.2": url: "https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz" sha256: "809ef3220c6d179195c06c324cb9a6d34d8ecba566c5cfd8eb83167bc034117d" diff --git a/recipes/maven/config.yml b/recipes/maven/config.yml index 2f82b90ebcf02..95a41cd441c27 100644 --- a/recipes/maven/config.yml +++ b/recipes/maven/config.yml @@ -1,3 +1,5 @@ versions: + "3.9.4": + folder: all "3.9.2": folder: all From 012bfc5bb3d7ee26ce9214fd2ed4c4bc6359cb39 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 16 Aug 2023 13:29:38 +0900 Subject: [PATCH 1209/4087] (#19214) cppcommon: update fmt/10.1.0 --- recipes/cppcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index 31e78b570dc50..4997a9d1cf9fb 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): if Version(self.version) < "1.0.3" or self.version == "cci.20201104": self.requires("fmt/8.1.1") else: - self.requires("fmt/10.0.0") + self.requires("fmt/10.1.0") if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39") From c0d4ff3f18cc1a68343e63bc80e0f66f3e152043 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 16 Aug 2023 07:02:08 +0100 Subject: [PATCH 1210/4087] (#19185) Update wording on patch policy * Update wording on patch policy * Update sources_and_patches.md --- docs/adding_packages/sources_and_patches.md | 69 +++------------------ 1 file changed, 10 insertions(+), 59 deletions(-) diff --git a/docs/adding_packages/sources_and_patches.md b/docs/adding_packages/sources_and_patches.md index 66f10a1232726..abd4c25d16e75 100644 --- a/docs/adding_packages/sources_and_patches.md +++ b/docs/adding_packages/sources_and_patches.md @@ -138,62 +138,13 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "${CMAKE_SOURCE_DIR}", "${CMAKE_CURRENT_SOURCE_DIR}") ``` -### Rules - -These are the rules that apply to regular versions of Conan packages: - -**Build system patches.** In order to add libraries into ConanCenter sometimes -it is NEEDED to apply patches so they can consume existing packages -for requirements and binaries can be generated. These patches are totally -needed for the purpose of ConanCenter and Conan keeps adding features trying -to minimize these changes. - -**Source patches.** ConanCenter DOES NOT accept patches **backporting bugfixes or -features** from upcoming releases, they break the principle of minimum surprise, -they change the behavior of the library and it will no longer match the -documentation or the changelog originally delivered by the authors. - -However, ConanCenter DOES accept **working software patches**, these patches -are needed to generate the binaries for architectures not considered by -library maintainers, or to use some compilers or configurations. These patches -make it possible to generate binaries that cannot be generated otherwise, or -they can turn a crashing binary into a working software one (bugs, errors, or -faults are considered working software as long as they produce deterministic -results). - -Patches to sources to add support to newer versions of dependencies are -considered feature patches and they are not allowed either. They can -introduce new behaviors or bugs not considered when delivering the -library by maintainers. If a requirement is known not to work, the recipe -should raise a `ConanInvalidConfiguration` from the `validate()` method. - -**Vulnerability patches.** Patches published to CVE databases or declared as -vulnerabilities by the authors in non-mainstream libraries WILL be applied -to packages generated in Conan Center. - -**Official release patches.** If the library documents that a patch should be -applied to sources when building a tag/release from sources, ConanCenter WILL -apply that patch too. This is needed to match the documented behavior or the -binaries of that library offered by other means. -[Example here](https://www.boost.org/users/history/version_1_73_0.html). - -### Exceptions - -Exceptionally, we might find libraries that aren't actively developed and consumers -might benefit from having some bugfixes applied to previous versions while -waiting for the next release, or because the library is no longer maintained. These -are the rules for this exceptional scenario: - -* **new release**, based on some official release and clearly identifiable will - be created to apply these patches to: <>. -* **only patches backporting bugfixes** will be accepted after they have - been submitted to the upstream and there is a consensus that it's a bug and the patch is the solution. - -ConanCenter will build this patched release and serve its binaries like it does with -any other Conan reference. - -Notice that these <> releases are unique to ConanCenter -and they can get new patches or discard existing ones according to upstream -considerations. It means that these releases will modify their behavior without previous -notice, the documentation or changelog for these specific releases won't exist. Use -them carefully in your projects. +### Policy on patches + +Conan Center is a package repository, and the aim of the service is to provide the recipes to build libraries from the sources as provided by the library authors, and to provide binaries for Conan Center’s supported platforms and configurations. + +In general, patches to source code should be avoided and only done as a last resort. In situations where it is strictly necessary, the aim should be that the patches could be eventually merged upstream so that in the future they are no longer necessary. + +Pull Requests that introduce patches will be carefully reviewed by the Conan Team. We recognize that in some instances, patches are necessary in the build system/build scripts. +Patches that affect C and C++ code are strongly discouraged and will only be accepted at the discretion of the Conan Team, after a strict validation process. Patches are more likely to be accepted if they are first reported and acknowledged by the library authors. + +For scenarios that require patching source code, we greatly encourage raising a new issue explaining the need and motivation, reproducible steps and complete logs, behind the patch. Please note that for issues that strictly affect C and C++ source code, it is very unlikely that a patch will be accepted if an issue is not first raised with the original library authors, or if the patches are not addressing a known security advisory. From 625304d16b23e6c0465ff0277a0ab964d6b3bb13 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 16 Aug 2023 09:24:15 +0300 Subject: [PATCH 1211/4087] (#18233) rgbcx: migrate to Conan v2 * rgbcx: migrate to Conan v2 * rgbcx: restore test_v1_package * rgbcx: add cmake_find_package_multi generator to test_v1_package * rgbcx: fix v1 test on armv8 * rgbcx: restore VirtualRunEnv in test_package --- recipes/rgbcx/all/conanfile.py | 55 +++++++++++++------ recipes/rgbcx/all/test_package/CMakeLists.txt | 7 +-- recipes/rgbcx/all/test_package/conanfile.py | 20 +++++-- .../rgbcx/all/test_package/test_package.cpp | 3 + .../rgbcx/all/test_v1_package/CMakeLists.txt | 8 +++ .../rgbcx/all/test_v1_package/conanfile.py | 19 +++++++ 6 files changed, 85 insertions(+), 27 deletions(-) create mode 100644 recipes/rgbcx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rgbcx/all/test_v1_package/conanfile.py diff --git a/recipes/rgbcx/all/conanfile.py b/recipes/rgbcx/all/conanfile.py index 62f3ee9f485a5..2978797a9067e 100644 --- a/recipes/rgbcx/all/conanfile.py +++ b/recipes/rgbcx/all/conanfile.py @@ -1,34 +1,53 @@ import os -import glob -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, replace_in_file +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class RgbcxConan(ConanFile): name = "rgbcx" description = "High-performance scalar BC1-5 encoders." - homepage = "https://github.com/richgel999/bc7enc" + license = ("MIT", "Unlicense") url = "https://github.com/conan-io/conan-center-index" - topics = ("conan", "BC1", "BC5", "BCx", "encoding") - license = "MIT", "Unlicense" + homepage = "https://github.com/richgel999/bc7enc" + topics = ("BC1", "BC5", "BCx", "encoding", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob('bc7enc-*/')[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "rgbcx.h"), - "#include ", - "#include \n#include ") + replace_in_file(self, + os.path.join(self.source_folder, "rgbcx.h"), + "#include ", + "#include \n#include ") def package(self): - self.copy("rgbcx.h", dst="include", src=self._source_subfolder) - self.copy("rgbcx_table4.h", dst="include", src=self._source_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "rgbcx.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + copy(self, "rgbcx_table4.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rgbcx/all/test_package/CMakeLists.txt b/recipes/rgbcx/all/test_package/CMakeLists.txt index 454c47bb2cbab..e86d42248fffd 100644 --- a/recipes/rgbcx/all/test_package/CMakeLists.txt +++ b/recipes/rgbcx/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(rgbcx REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE rgbcx::rgbcx) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/rgbcx/all/test_package/conanfile.py b/recipes/rgbcx/all/test_package/conanfile.py index be0a94674e5bd..ef5d7042163ec 100644 --- a/recipes/rgbcx/all/test_package/conanfile.py +++ b/recipes/rgbcx/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rgbcx/all/test_package/test_package.cpp b/recipes/rgbcx/all/test_package/test_package.cpp index 136968a37d7d1..c4faf6d5e5b49 100644 --- a/recipes/rgbcx/all/test_package/test_package.cpp +++ b/recipes/rgbcx/all/test_package/test_package.cpp @@ -1,3 +1,6 @@ +// Workaround for a missing math.h include in rgbcx.h +#include + #define RGBCX_IMPLEMENTATION #include "rgbcx.h" diff --git a/recipes/rgbcx/all/test_v1_package/CMakeLists.txt b/recipes/rgbcx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rgbcx/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/rgbcx/all/test_v1_package/conanfile.py b/recipes/rgbcx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f96c48347ffda --- /dev/null +++ b/recipes/rgbcx/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +import os + +from conan.tools.build import can_run +from conans import ConanFile, CMake + + +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 can_run(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From d29f9060f9e58aee8fdd05bf2cbd400b6caa8884 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Wed, 16 Aug 2023 08:44:18 +0200 Subject: [PATCH 1212/4087] (#18400) openmvg: add with_jpeg option * add jpeg option * fix * review * Update recipes/openmvg/all/conanfile.py Co-authored-by: Martin Valgur * add workaround for build rpath issue on Linux --------- Co-authored-by: Martin Valgur Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/openmvg/all/conanfile.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/recipes/openmvg/all/conanfile.py b/recipes/openmvg/all/conanfile.py index b320aba511407..6774e8b893191 100644 --- a/recipes/openmvg/all/conanfile.py +++ b/recipes/openmvg/all/conanfile.py @@ -30,6 +30,7 @@ class Openmvgconan(ConanFile): "with_openmp": [True, False], "with_avx": [False, "avx", "avx2"], "programs": [True, False], + "with_jpeg": ["libjpeg", "libjpeg-turbo", "mozjpeg"] } default_options = { "shared": False, @@ -37,6 +38,7 @@ class Openmvgconan(ConanFile): "with_openmp": False, "with_avx": False, "programs": True, + "with_jpeg": "libjpeg" } short_paths = True @@ -66,7 +68,12 @@ def requirements(self): self.requires("coin-utils/2.11.6") self.requires("eigen/3.4.0", transitive_headers=True) self.requires("flann/1.9.2", transitive_headers=True, transitive_libs=True) - self.requires("libjpeg/9e") + if self.options.with_jpeg == "libjpeg": + self.requires("libjpeg/9e") + elif self.options.with_jpeg == "libjpeg-turbo": + self.requires("libjpeg-turbo/3.0.0") + elif self.options.with_jpeg == "mozjpeg": + self.requires("mozjpeg/4.1.1") self.requires("libpng/1.6.40") self.requires("libtiff/4.5.1") @@ -108,6 +115,12 @@ def generate(self): # see https://github.com/conan-io/conan/issues/10281 if Version(self.dependencies["ceres-solver"].ref.version) >= "2.0.0" and not valid_min_cppstd(self, "14"): tc.variables["CMAKE_CXX_STANDARD"] = "14" + + 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.generate() deps = CMakeDeps(self) @@ -131,6 +144,14 @@ def package(self): @property def _openmvg_components(self): + def jpeg(): + if self.options.with_jpeg == "libjpeg": + return ["libjpeg::libjpeg"] + elif self.options.with_jpeg == "libjpeg-turbo": + return ["libjpeg-turbo::jpeg"] + elif self.options.with_jpeg == "mozjpeg": + return ["mozjpeg::libjpeg"] + return { "openmvg_camera": { "target": "openMVG_camera", @@ -162,7 +183,7 @@ def _openmvg_components(self): "openmvg_image": { "target": "openMVG_image", "libs": ["openMVG_image"], - "requires": ["openmvg_numeric", "libjpeg::libjpeg", "libpng::libpng", "libtiff::libtiff"], + "requires": ["openmvg_numeric", "libpng::libpng", "libtiff::libtiff"] + jpeg(), }, "openmvg_linearprogramming": { "target": "openMVG_linearProgramming", From 316603b08544d37338cf42e65c322d0702b99d8f Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 16 Aug 2023 09:05:03 +0200 Subject: [PATCH 1213/4087] (#18467) Update nodesoup to conan v2 * Update nodesoup to conan v2 * Apply patches * Delete unused CMakeLists * Drop minimum conan version * Enable export of symbols on Windows --- recipes/nodesoup/all/CMakeLists.txt | 9 --- recipes/nodesoup/all/conandata.yml | 1 - recipes/nodesoup/all/conanfile.py | 67 +++++++++---------- .../nodesoup/all/test_package/CMakeLists.txt | 3 - .../nodesoup/all/test_package/conanfile.py | 21 ++++-- 5 files changed, 48 insertions(+), 53 deletions(-) delete mode 100644 recipes/nodesoup/all/CMakeLists.txt diff --git a/recipes/nodesoup/all/CMakeLists.txt b/recipes/nodesoup/all/CMakeLists.txt deleted file mode 100644 index 881b1cb39250b..0000000000000 --- a/recipes/nodesoup/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory(source_subfolder) diff --git a/recipes/nodesoup/all/conandata.yml b/recipes/nodesoup/all/conandata.yml index bf507c033f50b..633f6755af50c 100644 --- a/recipes/nodesoup/all/conandata.yml +++ b/recipes/nodesoup/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "cci.20200905": - patch_file: "patches/0001-install-shared-windows.patch" - base_path: "source_subfolder" diff --git a/recipes/nodesoup/all/conanfile.py b/recipes/nodesoup/all/conanfile.py index 19ef9ea3f1923..86e6f75fa6616 100644 --- a/recipes/nodesoup/all/conanfile.py +++ b/recipes/nodesoup/all/conanfile.py @@ -1,9 +1,11 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" - class NodesoupConan(ConanFile): name = "nodesoup" @@ -13,6 +15,7 @@ class NodesoupConan(ConanFile): homepage = "https://github.com/olvb/nodesoup" url = "https://github.com/conan-io/conan-center-index" settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,18 +25,8 @@ class NodesoupConan(ConanFile): "fPIC": True, } - 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 layout(self): + cmake_layout(self, src_folder="src") def config_options(self): if self.settings.os == "Windows": @@ -41,38 +34,44 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + @property + def _min_cppstd(self): + return 14 def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, self._min_cppstd) if self.settings.compiler == "clang": - if tools.Version(self.settings.compiler.version) < "5.0" and self.settings.compiler.libcxx in ("libstdc++", "libstdc++11"): + if Version(self.settings.compiler.version) < "5.0" and self.settings.compiler.libcxx in ("libstdc++", "libstdc++11"): raise ConanInvalidConfiguration("The version of libstdc++(11) of the current compiler does not support building nodesoup") + def export_sources(self): + export_conandata_patches(self) + def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_DEMO"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - 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() - - 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.includedirs.append(os.path.join("include", "nodesoup")) diff --git a/recipes/nodesoup/all/test_package/CMakeLists.txt b/recipes/nodesoup/all/test_package/CMakeLists.txt index 027a67d403fb1..881aec891e1d0 100644 --- a/recipes/nodesoup/all/test_package/CMakeLists.txt +++ b/recipes/nodesoup/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(nodesoup REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) diff --git a/recipes/nodesoup/all/test_package/conanfile.py b/recipes/nodesoup/all/test_package/conanfile.py index 49a3a66ea5bad..8a5bb47f50c4c 100644 --- a/recipes/nodesoup/all/test_package/conanfile.py +++ b/recipes/nodesoup/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") From f9fd67a038d28e63a31ed40fbf0fb666f5ad1c0f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 16 Aug 2023 10:27:20 +0300 Subject: [PATCH 1214/4087] (#18781) libfuse: fix fPIC handling on Windows * libfuse: fix fPIC handling on Windows * libfuse: restore VirtualRunEnv in test_package * libfuse: bump deps --- recipes/libfuse/2.x.x/conanfile.py | 12 ++++++++---- recipes/libfuse/2.x.x/test_package/CMakeLists.txt | 2 +- .../libfuse/2.x.x/test_v1_package/CMakeLists.txt | 2 +- recipes/libfuse/all/conanfile.py | 13 ++++++++----- recipes/libfuse/all/test_package/CMakeLists.txt | 2 +- recipes/libfuse/all/test_v1_package/CMakeLists.txt | 2 +- 6 files changed, 20 insertions(+), 13 deletions(-) diff --git a/recipes/libfuse/2.x.x/conanfile.py b/recipes/libfuse/2.x.x/conanfile.py index 4cc77383a646b..d233b32a70631 100644 --- a/recipes/libfuse/2.x.x/conanfile.py +++ b/recipes/libfuse/2.x.x/conanfile.py @@ -14,7 +14,8 @@ class LibfuseConan(ConanFile): homepage = "https://github.com/libfuse/libfuse" license = "LGPL-2.1" description = "The reference implementation of the Linux FUSE interface" - topics = ("fuse", "libfuse", "filesystem", "linux") + topics = ("fuse", "filesystem", "linux") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -26,9 +27,13 @@ class LibfuseConan(ConanFile): "fPIC": True, } + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") @@ -72,6 +77,5 @@ def package_info(self): self.cpp_info.system_libs = ["pthread"] # libfuse requires this define to compile successfully self.cpp_info.defines = ["_FILE_OFFSET_BITS=64"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("dl") - diff --git a/recipes/libfuse/2.x.x/test_package/CMakeLists.txt b/recipes/libfuse/2.x.x/test_package/CMakeLists.txt index 701d331873021..b328202f167f9 100644 --- a/recipes/libfuse/2.x.x/test_package/CMakeLists.txt +++ b/recipes/libfuse/2.x.x/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(libfuse REQUIRED CONFIG) diff --git a/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt b/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt +++ b/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/libfuse/all/conanfile.py b/recipes/libfuse/all/conanfile.py index 0f2c7852403e0..2b5f67a4fee98 100644 --- a/recipes/libfuse/all/conanfile.py +++ b/recipes/libfuse/all/conanfile.py @@ -15,7 +15,7 @@ class LibfuseConan(ConanFile): homepage = "https://github.com/libfuse/libfuse" license = "LGPL-2.1" description = "The reference implementation of the Linux FUSE interface" - topics = ("fuse", "libfuse", "filesystem", "linux") + topics = ("fuse", "filesystem", "linux") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -27,9 +27,13 @@ class LibfuseConan(ConanFile): "fPIC": True, } + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") @@ -41,7 +45,7 @@ def validate(self): raise ConanInvalidConfiguration("libfuse supports only Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -72,6 +76,5 @@ def package_info(self): self.cpp_info.libs = ["fuse3"] self.cpp_info.includedirs = [os.path.join("include", "fuse3")] self.cpp_info.system_libs = ["pthread"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["dl", "rt"]) - diff --git a/recipes/libfuse/all/test_package/CMakeLists.txt b/recipes/libfuse/all/test_package/CMakeLists.txt index c8bc174f2164d..2fd81a9f515e7 100644 --- a/recipes/libfuse/all/test_package/CMakeLists.txt +++ b/recipes/libfuse/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(libfuse REQUIRED CONFIG) diff --git a/recipes/libfuse/all/test_v1_package/CMakeLists.txt b/recipes/libfuse/all/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/libfuse/all/test_v1_package/CMakeLists.txt +++ b/recipes/libfuse/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From 4ca516712774b522ad76bb68f1f04aac531d83f8 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Wed, 16 Aug 2023 11:48:00 +0400 Subject: [PATCH 1215/4087] (#19171) onetbb: set package_type --- recipes/onetbb/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 165436b84b383..fa6e990f3c829 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -21,6 +21,7 @@ class OneTBBConan(ConanFile): " programs that take full advantage of multicore performance, that are portable, composable" " and have future-proof scalability.") topics = ("tbb", "threading", "parallelism", "tbbmalloc") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { From f4260277bcf0768a5b078a089de9b5e474cd813d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:22:29 +0200 Subject: [PATCH 1216/4087] (#19186) [bot] Update authorized users list (2023-08-14) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 29f7167d2ab9c..d4bb58861e74d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1212,3 +1212,6 @@ authorized_users: - matthewT53 - sjlamerton - marxin +- Arkokat +- adattatri +- jwfallawuiuc From 63042b5a95505b78ca3c5c9a37c23611a48dfdbb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:43:11 +0200 Subject: [PATCH 1217/4087] (#19217) [docs] Regenerate tables of contents Co-authored-by: conan-center-bot --- docs/adding_packages/sources_and_patches.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/adding_packages/sources_and_patches.md b/docs/adding_packages/sources_and_patches.md index abd4c25d16e75..56ff5130c26e4 100644 --- a/docs/adding_packages/sources_and_patches.md +++ b/docs/adding_packages/sources_and_patches.md @@ -16,8 +16,7 @@ These are a very important aspects and it helps us to establish the quality of t * [Format and Conventions](#format-and-conventions) * [Exporting Patches](#exporting-patches) * [Applying Patches](#applying-patches) - * [Rules](#rules) - * [Exceptions](#exceptions) + * [Policy on patches](#policy-on-patches) ## Picking the Sources From 37ab4bd027654c453211528d3f4d411ea2389129 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 16 Aug 2023 18:12:50 +0900 Subject: [PATCH 1218/4087] (#19166) xbyak: add version 6.73, add package_type --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/all/conanfile.py | 17 ++++++++--------- recipes/xbyak/config.yml | 2 ++ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index 2e045a1c8a082..a0e8dd18cf451 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.73": + url: "https://github.com/herumi/xbyak/archive/v6.73.tar.gz" + sha256: "41f3dc7727a48c751024c92fa4da24a4a1e0ed16b7930c79d05b76960b19562d" "6.62": url: "https://github.com/herumi/xbyak/archive/v6.62.tar.gz" sha256: "fd5f074d64cdfcacad3bbe8664727a8eab569f131cadd725a778c028fa6b0ccd" diff --git a/recipes/xbyak/all/conanfile.py b/recipes/xbyak/all/conanfile.py index 9523784e16e7c..724743a916f47 100644 --- a/recipes/xbyak/all/conanfile.py +++ b/recipes/xbyak/all/conanfile.py @@ -11,21 +11,21 @@ class XbyakConan(ConanFile): description = "Xbyak is a C++ header library that enables dynamically to " \ "assemble x86(IA32), x64(AMD64, x86-64) mnemonic." license = "BSD-3-Clause" - topics = ("xbyak", "jit", "assembler") - homepage = "https://github.com/herumi/xbyak" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/herumi/xbyak" + topics = ("jit", "assembler", "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], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -37,7 +37,6 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "xbyak") self.cpp_info.set_property("cmake_target_name", "xbyak::xbyak") + self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index 9006396a7028a..65c8029e207c3 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "6.73": + folder: all "6.62": folder: all "6.61.2": From 7443a4a506e944b4d98600bf65064137974168ba Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Wed, 16 Aug 2023 11:50:38 +0200 Subject: [PATCH 1219/4087] (#19201) libpq: add 15.4 * libpq: add 15.4 * libpq: update openssl dependency --- recipes/libpq/all/conandata.yml | 3 +++ recipes/libpq/all/conanfile.py | 5 ++++- recipes/libpq/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml index eef5fefc1dd9a..cf627d10addbc 100644 --- a/recipes/libpq/all/conandata.yml +++ b/recipes/libpq/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "15.4": + url: "https://ftp.postgresql.org/pub/source/v15.4/postgresql-15.4.tar.bz2" + sha256: "baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9" "15.3": url: "https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.bz2" sha256: "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932" diff --git a/recipes/libpq/all/conanfile.py b/recipes/libpq/all/conanfile.py index b4e66be74d363..cc7d54df6ee85 100644 --- a/recipes/libpq/all/conanfile.py +++ b/recipes/libpq/all/conanfile.py @@ -65,7 +65,10 @@ def layout(self): def requirements(self): if self.options.with_openssl: - self.requires("openssl/1.1.1t") + if Version(self.version) < "13.5": + self.requires("openssl/1.1.1u") + else: + self.requires("openssl/[>=1.1 <4]") def build_requirements(self): if is_msvc(self): diff --git a/recipes/libpq/config.yml b/recipes/libpq/config.yml index bf80d539d9d1e..5a83ac4481a63 100644 --- a/recipes/libpq/config.yml +++ b/recipes/libpq/config.yml @@ -1,4 +1,6 @@ versions: + "15.4": + folder: all "15.3": folder: all "14.8": From 7758eb75ce0f8b198bfa278726cfdf6959b57c3b Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 16 Aug 2023 11:44:25 +0100 Subject: [PATCH 1220/4087] (#19220) jwt-cpp: update version range for OpenSSL --- recipes/jwt-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index bbf3918d2b235..5a0889c19e2e1 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -24,7 +24,7 @@ def export_sources(self): export_conandata_patches(self) def requirements(self): - self.requires("openssl/[>1.1.1c,<1.1.1u]") + self.requires("openssl/[>=1.1 <4]") if not self._supports_generic_json: self.requires("picojson/1.3.0") From 0ed2d49cc6f00afc04a3691de086144532688ebd Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 16 Aug 2023 20:09:20 +0900 Subject: [PATCH 1221/4087] (#18678) implot: add version 0.15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * implot: add version 0.15 * improve CMakeLists.txt * update checksum of 0.15 * drop support shared imgui on msvc * Update recipes/implot/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Carlos Zoido --- recipes/implot/all/CMakeLists.txt | 14 +++++++------- recipes/implot/all/conandata.yml | 3 +++ recipes/implot/all/conanfile.py | 21 ++++++++++++++------- recipes/implot/config.yml | 2 ++ 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/recipes/implot/all/CMakeLists.txt b/recipes/implot/all/CMakeLists.txt index ec869caed9029..84afb4ed40721 100644 --- a/recipes/implot/all/CMakeLists.txt +++ b/recipes/implot/all/CMakeLists.txt @@ -1,14 +1,12 @@ cmake_minimum_required(VERSION 3.4) -project(implot CXX) -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) +project(implot LANGUAGES CXX) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -file(GLOB SOURCE_FILES ${IMPLOT_SRC_DIR}/*.cpp) file(GLOB HEADER_FILES ${IMPLOT_SRC_DIR}/*.h) -add_library(${PROJECT_NAME} ${SOURCE_FILES}) +add_library(${PROJECT_NAME} + ${IMPLOT_SRC_DIR}/implot.cpp + ${IMPLOT_SRC_DIR}/implot_items.cpp +) target_include_directories(${PROJECT_NAME} PRIVATE ${IMPLOT_SRC_DIR}) find_package(imgui CONFIG REQUIRED) @@ -16,6 +14,8 @@ find_package(imgui CONFIG REQUIRED) target_link_libraries(${PROJECT_NAME} PUBLIC imgui::imgui) target_compile_definitions(${PROJECT_NAME} PRIVATE IMGUI_DEFINE_MATH_OPERATORS) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +set_target_properties(${PROJECT_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) include(GNUInstallDirs) diff --git a/recipes/implot/all/conandata.yml b/recipes/implot/all/conandata.yml index 21af4dfe87312..a9c9c08b5ed78 100644 --- a/recipes/implot/all/conandata.yml +++ b/recipes/implot/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15": + url: "https://github.com/epezent/implot/archive/v0.15.tar.gz" + sha256: "4c20f22fbfbe4ad055f3d344581918d62cde72070b233dad75419a4334f82146" "0.14": url: "https://github.com/epezent/implot/archive/v0.14.tar.gz" sha256: "1613af3e6554c0a74de20c6e60e9bce5ce35c2d4f9e1aa5ff963f7fe2d48af88" diff --git a/recipes/implot/all/conanfile.py b/recipes/implot/all/conanfile.py index ce2e069d3196d..20e340b605f31 100644 --- a/recipes/implot/all/conanfile.py +++ b/recipes/implot/all/conanfile.py @@ -1,28 +1,29 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import get, copy from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.54" class ImplotConan(ConanFile): name = "implot" + description = "Advanced 2D Plotting for Dear ImGui" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/epezent/implot" - description = "Advanced 2D Plotting for Dear ImGui" topics = ("imgui", "plot", "graphics", ) - license = "MIT" - settings = "os", "arch", "compiler", "build_type" package_type = "library" - + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } def export_sources(self): @@ -37,7 +38,9 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - if Version(self.version) >= "0.14": + if Version(self.version) >= "0.15": + self.requires("imgui/1.89.8", transitive_headers=True) + elif Version(self.version) >= "0.14": self.requires("imgui/1.89.4", transitive_headers=True) elif Version(self.version) >= "0.13": # imgui 1.89 renamed ImGuiKeyModFlags_* to ImGuiModFlags_* @@ -48,6 +51,10 @@ def requirements(self): def layout(self): cmake_layout(self, src_folder="src") + def validate(self): + if Version(self.version) < "0.13" and is_msvc(self) and self.dependencies["imgui"].options.shared: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared imgui.") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/implot/config.yml b/recipes/implot/config.yml index d62abd0d999a8..5c3099f028cc2 100644 --- a/recipes/implot/config.yml +++ b/recipes/implot/config.yml @@ -1,4 +1,6 @@ versions: + "0.15": + folder: "all" "0.14": folder: "all" "0.13": From da7183df6b05a6b97ae127d88394ddd19d670e55 Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:54:48 +0300 Subject: [PATCH 1222/4087] (#16134) Add bgfx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add bgfx with locally tested files * Fix projs list Add required system libs Better shared lib support * Add opengl/system requirement * Minimum apple-clang to 12 for now to keep CCI from compiling on macOS older than 11 Add apparently missing macOS frameworks * Apparently apple dylibs break if renamed * Fix oops of using settings instead of options * Fix conditional logic * Why is macos so difficult? * Fix test for Conan 2.x * Maybe this helps on macos * Make suggested changes * Update recipes/bgfx/all/test_package/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Fix shared some more --------- Co-authored-by: Raziel Alphadios Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Francisco Ramírez --- recipes/bgfx/all/conandata.yml | 4 + recipes/bgfx/all/conanfile.py | 321 ++++++++++++++++++ recipes/bgfx/all/test_package/CMakeLists.txt | 9 + recipes/bgfx/all/test_package/conanfile.py | 25 ++ .../bgfx/all/test_package/test_package.cpp | 36 ++ .../bgfx/all/test_v1_package/CMakeLists.txt | 9 + recipes/bgfx/all/test_v1_package/conanfile.py | 17 + recipes/bgfx/config.yml | 3 + 8 files changed, 424 insertions(+) create mode 100644 recipes/bgfx/all/conandata.yml create mode 100644 recipes/bgfx/all/conanfile.py create mode 100644 recipes/bgfx/all/test_package/CMakeLists.txt create mode 100644 recipes/bgfx/all/test_package/conanfile.py create mode 100644 recipes/bgfx/all/test_package/test_package.cpp create mode 100644 recipes/bgfx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/bgfx/all/test_v1_package/conanfile.py create mode 100644 recipes/bgfx/config.yml diff --git a/recipes/bgfx/all/conandata.yml b/recipes/bgfx/all/conandata.yml new file mode 100644 index 0000000000000..47606f9539fe5 --- /dev/null +++ b/recipes/bgfx/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230216": + url: "https://github.com/bkaradzic/bgfx/archive/9d5b980f5c060e54cc30dec18500a5b54db00405.tar.gz" + sha256: "291739720E369C5C2422273D887AEC590084B29E5C9DC5C9441F5A68869B6736" diff --git a/recipes/bgfx/all/conanfile.py b/recipes/bgfx/all/conanfile.py new file mode 100644 index 0000000000000..9de812b7f94ea --- /dev/null +++ b/recipes/bgfx/all/conanfile.py @@ -0,0 +1,321 @@ +from conan import ConanFile +from conan.tools.files import copy, get, rename +from conan.tools.build import check_min_cppstd +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, check_min_vs, is_msvc_static_runtime +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import MSBuild, VCVars +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.env import VirtualBuildEnv +from pathlib import Path +import os + +required_conan_version = ">=1.50.0" + +class bgfxConan(ConanFile): + name = "bgfx" + license = "BSD-2-Clause" + homepage = "https://github.com/bkaradzic/bgfx" + url = "https://github.com/conan-io/conan-center-index" + description = "Cross-platform, graphics API agnostic, \"Bring Your Own Engine/Framework\" style rendering library." + topics = ("rendering", "graphics") + settings = "os", "compiler", "arch", "build_type" + options = {"shared": [True, False], "tools": [True, False]} + default_options = {"shared": False, "tools": False} + + @property + def _bx_folder(self): + return "bx" + + @property + def _bimg_folder(self): + return "bimg" + + @property + def _bgfx_folder(self): + return "bgfx" + + @property + def _bgfx_path(self): + return os.path.join(self.source_folder, self._bgfx_folder) + + @property + def _genie_extra(self): + genie_extra = "" + if is_msvc(self) and not is_msvc_static_runtime(self): + genie_extra += " --with-dynamic-runtime" + if self.options.shared: + genie_extra += " --with-shared-lib" + if self.options.tools: + genie_extra += " --with-tools" + return genie_extra + + @property + def _lib_target_prefix(self): + if self.settings.os == "Windows": + return "libs\\" + else: + return "" + + @property + def _tool_target_prefix(self): + if self.settings.os == "Windows": + return "tools\\" + else: + return "" + + @property + def _shaderc_target_prefix(self): + if self.settings.os == "Windows": + return "shaderc\\" + else: + return "" + + @property + def _projs(self): + if self.options.shared: + projs = [f"{self._lib_target_prefix}bgfx-shared-lib"] + else: + projs = [f"{self._lib_target_prefix}bgfx"] + if self.options.tools: + projs.extend([f"{self._tool_target_prefix}{self._shaderc_target_prefix}shaderc", + f"{self._tool_target_prefix}texturev", + f"{self._tool_target_prefix}geometryc", + f"{self._tool_target_prefix}geometryv"]) + return projs + + @property + def _compiler_required(self): + return { + "gcc": "8", + "clang": "3.3", + "apple-clang": "12", #to keep CCI compiling on osx 11.0 or higher, for now + "msvc": "191", + "Visual Studio": "15" #TODO remove with conan 2.0 + } + + @property + def _bx_version(self): #mapping of bgfx version to required/used bx version + return {"cci.20230216": "cci.20221116"} + + @property + def _bimg_version(self): #mapping of bgfx version to required/used bimg version + return {"cci.20230216": "cci.20230114"} + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + # bgfx's C99 API absolutely requires a header from bx so we need those to be transitive + self.requires(f"bx/{self._bx_version[self.version]}", transitive_headers=True) + self.requires(f"bimg/{self._bimg_version[self.version]}") + self.requires("opengl/system") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 14) + check_min_vs(self, 191) + if not is_msvc(self): + try: + minimum_required_compiler_version = self._compiler_required[str(self.settings.compiler)] + if Version(self.settings.compiler.version) < minimum_required_compiler_version: + raise ConanInvalidConfiguration("This package requires C++14 support. The current compiler does not support it.") + except KeyError: + self.output.warn("This recipe has no checking for the current compiler. Please consider adding it.") + + def build_requirements(self): + self.tool_requires("genie/1170") + if not is_msvc(self) and 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, + destination=os.path.join(self.source_folder, self._bgfx_folder)) + # bgfx's genie project, and the projects generated by it, expect bx and bimg source to be present on the same relative root as bimg's in order to build + # usins a pre-built bx and bimg instead would require significant changes to the genie project but may be worth looking into in the future + get(self, **self.dependencies["bx"].conan_data["sources"][self._bx_version[self.version]], strip_root=True, + destination=os.path.join(self.source_folder, self._bx_folder)) + get(self, **self.dependencies["bimg"].conan_data["sources"][self._bimg_version[self.version]], strip_root=True, + destination=os.path.join(self.source_folder, self._bimg_folder)) + + def generate(self): + vbe = VirtualBuildEnv(self) + vbe.generate() + if is_msvc(self): + tc = VCVars(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + tc.generate() + + def build(self): + if is_msvc(self): + # Conan to Genie translation maps + vs_ver_to_genie = {"17": "2022", "16": "2019", "15": "2017", + "193": "2022", "192": "2019", "191": "2017"} + + # Use genie directly, then msbuild on specific projects based on requirements + genie_VS = f"vs{vs_ver_to_genie[str(self.settings.compiler.version)]}" + genie_gen = f"{self._genie_extra} {genie_VS}" + self.run(f"genie {genie_gen}", cwd=self._bgfx_path) + + msbuild = MSBuild(self) + # customize to Release when RelWithDebInfo + msbuild.build_type = "Debug" if self.settings.build_type == "Debug" else "Release" + # use Win32 instead of the default value when building x86 + msbuild.platform = "Win32" if self.settings.arch == "x86" else msbuild.platform + msbuild.build(os.path.join(self._bgfx_path, ".build", "projects", genie_VS, "bgfx.sln"), targets=self._projs) + else: + # Not sure if XCode can be spefically handled by conan for building through, so assume everything not VS is make + # gcc-multilib and g++-multilib required for 32bit cross-compilation, should see if we can check and install through conan + + # Conan to Genie translation maps + compiler_str = str(self.settings.compiler) + compiler_and_os_to_genie = {"Windows": f"--gcc=mingw-{compiler_str}", "Linux": f"--gcc=linux-{compiler_str}", + "FreeBSD": "--gcc=freebsd", "Macos": "--gcc=osx", + "Android": "--gcc=android", "iOS": "--gcc=ios"} + gmake_os_to_proj = {"Windows": "mingw", "Linux": "linux", "FreeBSD": "freebsd", "Macos": "osx", "Android": "android", "iOS": "ios"} + gmake_arch_to_genie_suffix = {"x86": "-x86", "x86_64": "-x64", "armv8": "-arm64", "armv7": "-arm"} + os_to_use_arch_config_suffix = {"Windows": False, "Linux": False, "FreeBSD": False, "Macos": True, "Android": True, "iOS": True} + + build_type_to_make_config = {"Debug": "config=debug", "Release": "config=release"} + arch_to_make_config_suffix = {"x86": "32", "x86_64": "64"} + os_to_use_make_config_suffix = {"Windows": True, "Linux": True, "FreeBSD": True, "Macos": False, "Android": False, "iOS": False} + + # Generate projects through genie + genieGen = f"{self._genie_extra} {compiler_and_os_to_genie[str(self.settings.os)]}" + if os_to_use_arch_config_suffix[str(self.settings.os)]: + genieGen += f"{gmake_arch_to_genie_suffix[str(self.settings.arch)]}" + genieGen += " gmake" + self.run(f"genie {genieGen}", cwd=self._bgfx_path) + + # Build project folder and path from given settings + projFolder = f"gmake-{gmake_os_to_proj[str(self.settings.os)]}" + if self.settings.os == "Windows" or compiler_str not in ["gcc", "apple-clang"]: + projFolder += f"-{compiler_str}" #mingw-gcc or mingw-clang for windows; -clang for linux (where gcc on linux has no extra) + if os_to_use_arch_config_suffix[str(self.settings.os)]: + projFolder += gmake_arch_to_genie_suffix[str(self.settings.arch)] + proj_path = os.path.sep.join([self._bgfx_path, ".build", "projects", projFolder]) + + # Build make args from settings + conf = build_type_to_make_config[str(self.settings.build_type)] + if os_to_use_make_config_suffix[str(self.settings.os)]: + conf += arch_to_make_config_suffix[str(self.settings.arch)] + if self.settings.os == "Windows": + mingw = "MINGW=$MINGW_PREFIX" + proj_path = proj_path.replace("\\", "/") # Fix path for msys... + else: + mingw = "" + autotools = Autotools(self) + # Build with make + for proj in self._projs: + autotools.make(target=proj, args=["-R", f"-C {proj_path}", mingw, conf]) + + def package(self): + # Set platform suffixes and prefixes + if self.settings.os == "Windows": + if self.options.shared: + lib_pat = "*bgfx-shared-lib*.lib" + else: + lib_pat = "*bgfx*.lib" + package_lib_prefix = "" + elif self.settings.os in ["Linux", "FreeBSD"]: + if self.options.shared: + lib_pat = "*bgfx*.so" + else: + lib_pat = "*bgfx*.a" + package_lib_prefix = "lib" + elif self.settings.os in ["Macos", "iOS"]: + if self.options.shared: + lib_pat = "*bgfx*.dylib" + else: + lib_pat = "*bgfx*.a" + package_lib_prefix = "lib" + + # Get build bin folder + for bimg_out_dir in os.listdir(os.path.join(self._bgfx_path, ".build")): + if not bimg_out_dir=="projects": + build_bin = os.path.join(self._bgfx_path, ".build", bimg_out_dir, "bin") + break + + # Copy license + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self._bgfx_path) + # Copy includes + copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self._bgfx_path, "include")) + # Copy libs + copy(self, pattern=lib_pat, dst=os.path.join(self.package_folder, "lib"), src=build_bin, keep_path=False) + if self.options.shared: + copy(self, pattern="*.dll", dst=os.path.join(self.package_folder, "bin"), src=build_bin, keep_path=False) + + # Copy tools + if self.options.tools: + copy(self, pattern="shaderc*", dst=os.path.join(self.package_folder, "bin"), src=build_bin, keep_path=False) + copy(self, pattern="texturev*", dst=os.path.join(self.package_folder, "bin"), src=build_bin, keep_path=False) + copy(self, pattern="geometryc*", dst=os.path.join(self.package_folder, "bin"), src=build_bin, keep_path=False) + copy(self, pattern="geometryv*", dst=os.path.join(self.package_folder, "bin"), src=build_bin, keep_path=False) + + # Rename for consistency across platforms and configs + if not (is_apple_os(self) and self.options.shared): #Apparently apple dylibs break if renamed + for bgfx_file in Path(os.path.join(self.package_folder, "lib")).glob("*bgfx*"): + rename(self, os.path.join(self.package_folder, "lib", bgfx_file.name), + os.path.join(self.package_folder, "lib", f"{package_lib_prefix}bgfx{bgfx_file.suffix}")) + if self.options.tools: + for bgfx_file in Path(os.path.join(self.package_folder, "bin")).glob("*shaderc*"): + rename(self, os.path.join(self.package_folder, "bin", bgfx_file.name), + os.path.join(self.package_folder, "bin", f"shaderc{bgfx_file.suffix}")) + for bgfx_file in Path(os.path.join(self.package_folder, "bin")).glob("*texturev*"): + rename(self, os.path.join(self.package_folder, "bin", bgfx_file.name), + os.path.join(self.package_folder, "bin", f"texturev{bgfx_file.suffix}")) + for bgfx_file in Path(os.path.join(self.package_folder, "bin")).glob("*geometryc*"): + rename(self, os.path.join(self.package_folder, "bin", bgfx_file.name), + os.path.join(self.package_folder, "bin", f"geometryc{bgfx_file.suffix}")) + for bgfx_file in Path(os.path.join(self.package_folder, "bin")).glob("*geometryv*"): + rename(self, os.path.join(self.package_folder, "bin", bgfx_file.name), + os.path.join(self.package_folder, "bin", f"geometryv{bgfx_file.suffix}")) + + # Maybe this helps + if is_apple_os(self): + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.includedirs = ["include"] + if self.options.shared and self.settings.os in ["Macos", "iOS"]: + self.cpp_info.libs = [f"bgfx-shared-lib{self.settings.build_type}"] + else: + self.cpp_info.libs = ["bgfx"] + + if self.options.shared: + self.cpp_info.defines.extend(["BGFX_SHARED_LIB_USE=1"]) + + if self.settings.os == "Windows": + self.cpp_info.system_libs.extend(["gdi32"]) + if not is_msvc(self): + self.cpp_info.system_libs.extend(["comdlg32"]) + elif self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["X11", "GL"]) + elif self.settings.os in ["Macos", "iOS"]: + self.cpp_info.frameworks.extend(["CoreFoundation", "AppKit", "IOKit", "QuartzCore", "Metal"]) + if self.settings.os in ["Macos"]: + self.cpp_info.frameworks.extend(["OpenGL"]) + else: + self.cpp_info.frameworks.extend(["OpenGLES", "UIKit"]) + elif self.settings.os in ["Android"]: + self.cpp_info.system_libs.extend(["EGL", "GLESv2"]) + + self.cpp_info.set_property("cmake_file_name", "bgfx") + self.cpp_info.set_property("cmake_target_name", "bgfx::bgfx") + self.cpp_info.set_property("pkg_config_name", "bgfx") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "bgfx" + self.cpp_info.filenames["cmake_find_package_multi"] = "bgfx" + self.cpp_info.names["cmake_find_package"] = "bgfx" + self.cpp_info.names["cmake_find_package_multi"] = "bgfx" diff --git a/recipes/bgfx/all/test_package/CMakeLists.txt b/recipes/bgfx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2c968e2dda718 --- /dev/null +++ b/recipes/bgfx/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package LANGUAGES CXX) + +find_package(bgfx REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +target_link_libraries(${PROJECT_NAME} bgfx::bgfx) diff --git a/recipes/bgfx/all/test_package/conanfile.py b/recipes/bgfx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..4e578144a798a --- /dev/null +++ b/recipes/bgfx/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, cmake_layout +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/bgfx/all/test_package/test_package.cpp b/recipes/bgfx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..630c14bc99ec9 --- /dev/null +++ b/recipes/bgfx/all/test_package/test_package.cpp @@ -0,0 +1,36 @@ +//Important: bgfx shared on windows only works with the C99 API, the C++ API is not exported +#include + +#if BGFX_SHARED_LIB_USE && (BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT) +#include +#else +#include +#endif + +int main() { +#if BGFX_SHARED_LIB_USE && (BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT) + bgfx_init_t init; + bgfx_init_ctor(&init); + init.type = bgfx_renderer_type::BGFX_RENDERER_TYPE_NOOP; + init.vendorId = BGFX_PCI_ID_NONE; + init.platformData.nwh = nullptr; + init.platformData.ndt = nullptr; + init.resolution.width = 0; + init.resolution.height = 0; + init.resolution.reset = BGFX_RESET_NONE; + bgfx_init(&init); + bgfx_shutdown(); + return 0; +#else + bgfx::Init init; + init.type = bgfx::RendererType::Noop; + init.vendorId = BGFX_PCI_ID_NONE; + init.platformData.nwh = nullptr; + init.platformData.ndt = nullptr; + init.resolution.width = 0; + init.resolution.height = 0; + init.resolution.reset = BGFX_RESET_NONE; + bgfx::init(init); + bgfx::shutdown(); +#endif +} diff --git a/recipes/bgfx/all/test_v1_package/CMakeLists.txt b/recipes/bgfx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..667976629550a --- /dev/null +++ b/recipes/bgfx/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_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/bgfx/all/test_v1_package/conanfile.py b/recipes/bgfx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..056e75eddb91c --- /dev/null +++ b/recipes/bgfx/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class BimgTestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/bgfx/config.yml b/recipes/bgfx/config.yml new file mode 100644 index 0000000000000..0fa69d015c844 --- /dev/null +++ b/recipes/bgfx/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230216": + folder: all From b7cf54029b6ba9176ef313f0213acd382784c712 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 16 Aug 2023 17:31:57 +0300 Subject: [PATCH 1223/4087] (#18258) rangesnext: migrate to Conan v2 * rangesnext: migrate to Conan v2 * rangesnext: restore test_v1_package * rangesnext: update min compiler versions * rangesnext: not compatible with Clang * rangesnext: restore VirtualRunEnv in test_package * rangesnext: fix min Visual Studio version --------- Co-authored-by: Daniel --- recipes/rangesnext/all/conandata.yml | 3 +- recipes/rangesnext/all/conanfile.py | 65 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 7 +- .../rangesnext/all/test_package/conanfile.py | 22 +++++-- .../all/test_package/test_package.cpp | 7 +- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 7 files changed, 95 insertions(+), 33 deletions(-) create mode 100644 recipes/rangesnext/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rangesnext/all/test_v1_package/conanfile.py diff --git a/recipes/rangesnext/all/conandata.yml b/recipes/rangesnext/all/conandata.yml index 72383f2492ee7..29a3d8ef00ff0 100644 --- a/recipes/rangesnext/all/conandata.yml +++ b/recipes/rangesnext/all/conandata.yml @@ -1,8 +1,7 @@ sources: "cci.20210426": url: "https://github.com/cor3ntin/rangesnext/archive/10fd1cffe7a2a9688a31f91ec8754668c4cdd9a6.tar.gz" - sha256: 8b4ba9129346818d1ad2ab1fe00ccb85c5c1b35fef91868aece97aa079e0dec4 + sha256: "8b4ba9129346818d1ad2ab1fe00ccb85c5c1b35fef91868aece97aa079e0dec4" patches: "cci.20210426": - patch_file: "patches/0001-cmake-disable-tests.patch" - base_path: "source_subfolder" diff --git a/recipes/rangesnext/all/conanfile.py b/recipes/rangesnext/all/conanfile.py index b438391b226f9..6c7782838deee 100644 --- a/recipes/rangesnext/all/conanfile.py +++ b/recipes/rangesnext/all/conanfile.py @@ -1,37 +1,68 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 RangesnextConan(ConanFile): name = "rangesnext" description = "ranges features for C++23 ported to C++20" - topics = ("conan", "rangesnext", "ranges", "backport", "backport-cpp") + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/cor3ntin/rangesnext" - license = "BSL-1.0" - settings = "compiler" + topics = ("ranges", "backport", "backport-cpp", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _compilers_minimum_version = { - "gcc": "10", - "Visual Studio": "19", - "clang": "13" - } - _source_subfolder = "source_subfolder" + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "10", + "msvc": "193", + "Visual Studio": "17", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "20") + check_min_cppstd(self, self._min_cppstd) + + if "clang" in str(self.settings.compiler): + raise ConanInvalidConfiguration("rangesnext is not compatible with Clang") minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version or tools.Version(self.settings.compiler.version) < minimum_version: + if not minimum_version or Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("rangesnext requires C++20, which your compiler does not fully support.") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - include_folder = os.path.join(self._source_subfolder, "include") - self.copy(pattern="LICENSE.md", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=include_folder) + include_folder = os.path.join(self.source_folder, "include") + copy(self, "LICENSE.md", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=include_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rangesnext/all/test_package/CMakeLists.txt b/recipes/rangesnext/all/test_package/CMakeLists.txt index 2bd2a465ffb06..9b8b15ab7a013 100644 --- a/recipes/rangesnext/all/test_package/CMakeLists.txt +++ b/recipes/rangesnext/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(rangesnext REQUIRED CONFIG) diff --git a/recipes/rangesnext/all/test_package/conanfile.py b/recipes/rangesnext/all/test_package/conanfile.py index 6c9d5dba712c7..ef5d7042163ec 100644 --- a/recipes/rangesnext/all/test_package/conanfile.py +++ b/recipes/rangesnext/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rangesnext/all/test_package/test_package.cpp b/recipes/rangesnext/all/test_package/test_package.cpp index e25f23d096604..f1a7ea7bef564 100644 --- a/recipes/rangesnext/all/test_package/test_package.cpp +++ b/recipes/rangesnext/all/test_package/test_package.cpp @@ -1,6 +1,7 @@ -#include #include +#include + namespace rangesnext = cor3ntin::rangesnext; template @@ -12,11 +13,11 @@ bool test_enumerate_with(RangeT &&range) { bool success = true; for (auto &&[i, v] : enumerated_range) { - std::cout << i << " - " << v << "\n"; + std::cout << i << " - " << v << "\n"; success = (i == idx_ref++) && (v == *it_ref++); if (success == false) { - return false; + return false; } } diff --git a/recipes/rangesnext/all/test_v1_package/CMakeLists.txt b/recipes/rangesnext/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rangesnext/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/rangesnext/all/test_v1_package/conanfile.py b/recipes/rangesnext/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/rangesnext/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0461dc91a45fed5cbcd02bbe4ee7dfc957ab41ea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 16 Aug 2023 18:22:07 +0300 Subject: [PATCH 1224/4087] (#18266) platform.exceptions: migrate to Conan v2 * platform.exceptions: migrate to Conan v2 * platform.exceptions: restore test_v1_package * platform.exceptions: add cmake_find_package_multi generator to test_v1_package * platform.exceptions: restore VirtualRunEnv in test_package * platform.exceptions: bump deps --- recipes/platform.exceptions/all/conanfile.py | 75 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 86 insertions(+), 42 deletions(-) create mode 100644 recipes/platform.exceptions/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/platform.exceptions/all/test_v1_package/conanfile.py diff --git a/recipes/platform.exceptions/all/conanfile.py b/recipes/platform.exceptions/all/conanfile.py index e352e58aa4f01..28942c0367e11 100644 --- a/recipes/platform.exceptions/all/conanfile.py +++ b/recipes/platform.exceptions/all/conanfile.py @@ -1,28 +1,34 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class PlatformExceptionsConan(ConanFile): name = "platform.exceptions" + description = "platform.exceptions is one of the libraries of the LinksPlatform modular framework, to ensure exceptions" license = "MIT" - homepage = "https://github.com/linksplatform/Exceptions" url = "https://github.com/conan-io/conan-center-index" - description = "platform.exceptions is one of the libraries of the LinksPlatform modular framework, " \ - "to ensure exceptions" - topics = ("linksplatform", "cpp20", "exceptions", "any", "ranges", "native") - settings = "compiler", "arch" + homepage = "https://github.com/linksplatform/Exceptions" + topics = ("linksplatform", "cpp20", "exceptions", "any", "ranges", "native", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _minimum_cpp_standard(self): + return 20 @property def _internal_cpp_subfolder(self): - return os.path.join(self._source_subfolder, "cpp", "Platform.Exceptions") + return os.path.join(self.source_folder, "cpp", "Platform.Exceptions") @property def _compilers_minimum_version(self): @@ -30,42 +36,47 @@ def _compilers_minimum_version(self): "gcc": "10", "Visual Studio": "16", "clang": "11", - "apple-clang": "11" + "apple-clang": "11", } - @property - def _minimum_cpp_standard(self): - return 20 + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - if tools.Version(self.version) >= "0.3.0": - self.requires("platform.delegates/0.2.7") + if Version(self.version) >= "0.3.0": + self.requires("platform.delegates/0.3.7") else: self.requires("platform.delegates/0.1.3") + def package_id(self): + self.info.clear() + def validate(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) if not minimum_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.") - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{}/{} requires c++{}, " - "which is not supported by {} {}.".format( - self.name, self.version, self._minimum_cpp_standard, self.settings.compiler, - self.settings.compiler.version)) + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name}/{self.version} requires c++{self._minimum_cpp_standard}, which is not supported" + f" by {self.settings.compiler} {self.settings.compiler.version}." + ) if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - - def package_id(self): - self.info.header_only() + check_min_cppstd(self, self._minimum_cpp_standard) 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 package(self): - self.copy("*.h", dst="include", src=self._internal_cpp_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=self._internal_cpp_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/platform.exceptions/all/test_package/CMakeLists.txt b/recipes/platform.exceptions/all/test_package/CMakeLists.txt index dadfcbe5ecf0a..a63090495da9c 100644 --- a/recipes/platform.exceptions/all/test_package/CMakeLists.txt +++ b/recipes/platform.exceptions/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(platform.exceptions REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE platform.exceptions::platform.exceptions) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 20) diff --git a/recipes/platform.exceptions/all/test_package/conanfile.py b/recipes/platform.exceptions/all/test_package/conanfile.py index d4128b0450777..ef5d7042163ec 100644 --- a/recipes/platform.exceptions/all/test_package/conanfile.py +++ b/recipes/platform.exceptions/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/platform.exceptions/all/test_v1_package/CMakeLists.txt b/recipes/platform.exceptions/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/platform.exceptions/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/platform.exceptions/all/test_v1_package/conanfile.py b/recipes/platform.exceptions/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/platform.exceptions/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 239d75c4ca6d6047017f325902f6e4c7f9e56c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludwig=20F=C3=BCchsl?= Date: Wed, 16 Aug 2023 18:55:19 +0200 Subject: [PATCH 1225/4087] (#19224) [package] lz4/1.9.4 : Bugfix / Patch to support lz4 and xxhash at the same time. * Patch to support lz4 and xxhash at the same time. * Remove whitespace --- recipes/lz4/all/conandata.yml | 5 +++++ ...pace-declaration-for-xxhash-in-CMake.patch | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 recipes/lz4/all/patches/0004-Added-namespace-declaration-for-xxhash-in-CMake.patch diff --git a/recipes/lz4/all/conandata.yml b/recipes/lz4/all/conandata.yml index 577763acfe7a6..fc3f8472653fd 100644 --- a/recipes/lz4/all/conandata.yml +++ b/recipes/lz4/all/conandata.yml @@ -9,6 +9,11 @@ sources: sha256: 658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc url: https://github.com/lz4/lz4/archive/v1.9.2.tar.gz patches: + "1.9.4": + - patch_file: "patches/0004-Added-namespace-declaration-for-xxhash-in-CMake.patch" + patch_description: "Added namespace/prefix for xxHash functions by altering CMakeLists.txt" + patch_type: official + patch_source: "https://github.com/lz4/lz4/pull/1258" "1.9.3": - patch_file: "patches/0003-cmake-minimum-required-first-1.9.3.patch" patch_description: "Move cmake_minimum_required to the top of CMakeFile.txt" diff --git a/recipes/lz4/all/patches/0004-Added-namespace-declaration-for-xxhash-in-CMake.patch b/recipes/lz4/all/patches/0004-Added-namespace-declaration-for-xxhash-in-CMake.patch new file mode 100644 index 0000000000000..04a888ec1c444 --- /dev/null +++ b/recipes/lz4/all/patches/0004-Added-namespace-declaration-for-xxhash-in-CMake.patch @@ -0,0 +1,19 @@ +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -131,6 +131,16 @@ if(BUILD_STATIC_LIBS) + list(APPEND LZ4_LIBRARIES_BUILT lz4_static) + endif() + ++# xxhash namesapce ++if(BUILD_SHARED_LIBS) ++ target_compile_definitions(lz4_shared PRIVATE ++ XXH_NAMESPACE=LZ4_) ++endif() ++if(BUILD_STATIC_LIBS) ++ target_compile_definitions(lz4_static PRIVATE ++ XXH_NAMESPACE=LZ4_) ++endif() ++ + if(BUILD_STATIC_LIBS) + set(LZ4_LINK_LIBRARY lz4_static) + else() From bdfa780b1a265b8c5fb01b5b3294bc836ddab1b7 Mon Sep 17 00:00:00 2001 From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com> Date: Wed, 16 Aug 2023 21:53:22 +0200 Subject: [PATCH 1226/4087] (#19225) utfcpp: add 3.2.4 - Add version 3.2.4 - Set target to utf8cpp::utf8cpp Co-authored-by: Stefan Floeren --- recipes/utfcpp/all/conandata.yml | 3 +++ recipes/utfcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index f435f56f7acf1..572f41ae51de7 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index 00df0fb881cb8..b081129769046 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.4": + folder: all "3.2.3": folder: all "3.2.2": From fb392e83252f231a5f22694d7390a56b33c995c8 Mon Sep 17 00:00:00 2001 From: Pat Mancuso <46453397+patmantru@users.noreply.github.com> Date: Wed, 16 Aug 2023 22:48:45 -0400 Subject: [PATCH 1227/4087] (#18896) Adds opentdf-client versions 1.4.0 and 1.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adds versions 1.4.0 and 1.5.0 * Need magic_enum for 1.4.0 also * Update to new release content * Update to newest release tag content * Change OpenSSL version references to ranges per CCI requirements * fix typo * Try different range spec for 1.1.x * Try another range spec for openssl 1.1.x * Another try at version ranges * Still another try at ranges for openssl 1.1.x * Pick a version range that is also compatible with jwt-cpp * openssl/[>=3.1 <3.2] range is not compatible with jwt-cpp. Use fixed version to override * One more try with newer jwt-cpp and ranges * Avoid jwt-cpp complaint about OpenSSL 1.1.1u * Override 3.1.1 for openssl to avoid jwt-cpp complaint * jwt-cpp requires are broken forr 0.5.0 and 0.6.0, avoid * opentdf-client: update openssl version ranges --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/opentdf-client/all/conandata.yml | 6 ++++++ recipes/opentdf-client/all/conanfile.py | 11 ++++++++++- recipes/opentdf-client/config.yml | 4 ++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/recipes/opentdf-client/all/conandata.yml b/recipes/opentdf-client/all/conandata.yml index 17500dcbe918b..382304e4f3de0 100644 --- a/recipes/opentdf-client/all/conandata.yml +++ b/recipes/opentdf-client/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.5.0": + url: "https://github.com/opentdf/client-cpp/archive/1.5.0.tar.gz" + sha256: "0d6134634c0c6fde5e8457361332242259e1ef238e5254ccbed2f94549998c48" + "1.4.0": + url: "https://github.com/opentdf/client-cpp/archive/1.4.0.tar.gz" + sha256: "0ef9cdf5e49f83a8ddcde10d64cdf9108652e781396cfab000f50cc067e6f795" "1.3.10": url: "https://github.com/opentdf/client-cpp/archive/1.3.10.tar.gz" sha256: "539bd5e64bceb86f63b3f7db75de470d5ea1d52ae6436a6a2d6789f7d0710dd4" diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index 0633733157211..1c4773399329b 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -66,7 +66,14 @@ def validate(self): raise ConanInvalidConfiguration(f'{self.name} can not be built with MT or MTd at this time') def requirements(self): - self.requires("openssl/1.1.1q") + # Uses openssl 3.x for 1.5.0 and newer + if Version(self.version) >= "1.5.0": + self.requires("openssl/[>=3.1 <4]") + else: + self.requires("openssl/1.1.1u") + # Uses magic_enum for 1.4.0 and newer + if Version(self.version) >= "1.4.0": + self.requires("magic_enum/0.8.2") self.requires("ms-gsl/2.1.0") self.requires("nlohmann_json/3.11.1") self.requires("jwt-cpp/0.4.0") @@ -121,3 +128,5 @@ def package_info(self): self.cpp_info.components["libopentdf"].requires = ["openssl::openssl", "boost::boost", "ms-gsl::ms-gsl", "libxml2::libxml2", "jwt-cpp::jwt-cpp", "nlohmann_json::nlohmann_json"] if Version(self.version) < "1.1.0": self.cpp_info.components["libopentdf"].requires.append("libarchive::libarchive") + if Version(self.version) >= "1.4.0": + self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") diff --git a/recipes/opentdf-client/config.yml b/recipes/opentdf-client/config.yml index 6747766ab2d49..109b67265732e 100644 --- a/recipes/opentdf-client/config.yml +++ b/recipes/opentdf-client/config.yml @@ -1,4 +1,8 @@ versions: + "1.5.0": + folder: all + "1.4.0": + folder: all "1.3.10": folder: all "1.3.9": From acde2b2419e6e131d86a5aac656d40d9fe267932 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 17 Aug 2023 12:29:44 +0900 Subject: [PATCH 1228/4087] (#19236) json-c: add version 0.17 --- recipes/json-c/all/conandata.yml | 3 +++ recipes/json-c/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/json-c/all/conandata.yml b/recipes/json-c/all/conandata.yml index 7ed706059e17c..a27364e09b956 100644 --- a/recipes/json-c/all/conandata.yml +++ b/recipes/json-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.17": + url: "https://github.com/json-c/json-c/archive/json-c-0.17-20230812.tar.gz" + sha256: "024d302a3aadcbf9f78735320a6d5aedf8b77876c8ac8bbb95081ca55054c7eb" "0.16": url: "https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz" sha256: "3ecaeedffd99a60b1262819f9e60d7d983844073abc74e495cb822b251904185" diff --git a/recipes/json-c/config.yml b/recipes/json-c/config.yml index 1e4023fe84046..301a8d09f5b3a 100644 --- a/recipes/json-c/config.yml +++ b/recipes/json-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.17": + folder: all "0.16": folder: all "0.15": From 3f28198497dafd9fe2cce348d2a7c182b7d3d7e0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 17 Aug 2023 07:27:25 +0200 Subject: [PATCH 1229/4087] (#19180) onnxruntime: bump deps --- recipes/onnxruntime/all/conanfile.py | 10 +++++----- .../patches/1.14.1-0002-cmake-dependencies.patch | 13 ------------- .../patches/1.15.1-0001-cmake-dependencies.patch | 13 ------------- 3 files changed, 5 insertions(+), 31 deletions(-) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 7d8bf9dd19bda..f8951c6e25374 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -72,22 +72,22 @@ def _onnx_version(self): }[f"{version.major}.{version.minor}"] def requirements(self): - self.requires("abseil/20230125.2") + self.requires("abseil/20230125.3") self.requires("protobuf/3.21.9") self.requires("date/3.0.1") self.requires("re2/20230301") self.requires(f"onnx/{self._onnx_version}") self.requires("flatbuffers/1.12.0") - self.requires("boost/1.81.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run + self.requires("boost/1.82.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run self.requires("safeint/3.0.28") self.requires("nlohmann_json/3.11.2") self.requires("eigen/3.4.0") self.requires("ms-gsl/4.0.0") - self.requires("cpuinfo/cci.20220228") + self.requires("cpuinfo/cci.20220618") if self.settings.os != "Windows": - self.requires("nsync/1.25.0") + self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.230202.1") + self.requires("wil/1.0.230629.1") if self.options.with_xnnpack: self.requires("xnnpack/cci.20220801") 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 index 9d0a0f6763613..6dbbfc4af9df4 100644 --- a/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch +++ b/recipes/onnxruntime/all/patches/1.14.1-0002-cmake-dependencies.patch @@ -149,19 +149,6 @@ index 1fc2c6ccdc..a2c28957f9 100644 set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) -diff --git a/cmake/onnxruntime_common.cmake b/cmake/onnxruntime_common.cmake -index 0410d3361c..685df7a487 100644 ---- a/cmake/onnxruntime_common.cmake -+++ b/cmake/onnxruntime_common.cmake -@@ -195,7 +195,7 @@ if (ARM64 OR ARM OR X86 OR X64 OR X86_64) - # 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::cpuinfo) -- list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo cpuinfo::clog) -+ list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo) - endif() - endif() - endif() diff --git a/cmake/onnxruntime_providers.cmake b/cmake/onnxruntime_providers.cmake index 7a99bac233..bbf1955494 100644 --- a/cmake/onnxruntime_providers.cmake 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 index 7da019aa807e9..bee9115bc809e 100644 --- a/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch +++ b/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch @@ -142,19 +142,6 @@ index 1fc2c6ccdc..a2c28957f9 100644 set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) -diff --git a/cmake/onnxruntime_common.cmake b/cmake/onnxruntime_common.cmake -index 0410d3361c..685df7a487 100644 ---- a/cmake/onnxruntime_common.cmake -+++ b/cmake/onnxruntime_common.cmake -@@ -195,7 +195,7 @@ if (ARM64 OR ARM OR X86 OR X64 OR X86_64) - # 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::cpuinfo) -- list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo cpuinfo::clog) -+ list(APPEND onnxruntime_EXTERNAL_LIBRARIES cpuinfo::cpuinfo) - endif() - endif() - endif() diff --git a/cmake/onnxruntime_providers.cmake b/cmake/onnxruntime_providers.cmake index 0daa1b8a3d..1f25467a8c 100644 --- a/cmake/onnxruntime_providers.cmake From 9e96c5b7242eab7c628d3af961793d2c0863385e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 08:44:48 +0300 Subject: [PATCH 1230/4087] (#18115) panzi-portable-endian: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * panzi-portable-endian: migrate to Conan v2 * panzi-portable-endian: convert test_package from C++ to C * panzi-portable-endian: restore test_v1_package * panzi-portable-endian: add cmake_find_package_multi generator to test_v1_package * panzi-portable-endian: bump version for MSVC bugfix * panzi-portable-endian: restore VirtualRunEnv in test_package * Set proper license --------- Co-authored-by: Rubén Rincón --- .../panzi-portable-endian/all/conandata.yml | 6 +-- .../panzi-portable-endian/all/conanfile.py | 45 +++++++++++-------- .../all/test_package/CMakeLists.txt | 12 +++-- .../all/test_package/conanfile.py | 21 ++++++--- .../{test_package.cpp => test_package.c} | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../all/test_v1_package/conanfile.py | 17 +++++++ recipes/panzi-portable-endian/config.yml | 2 +- 8 files changed, 77 insertions(+), 36 deletions(-) rename recipes/panzi-portable-endian/all/test_package/{test_package.cpp => test_package.c} (81%) create mode 100644 recipes/panzi-portable-endian/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/panzi-portable-endian/all/test_v1_package/conanfile.py diff --git a/recipes/panzi-portable-endian/all/conandata.yml b/recipes/panzi-portable-endian/all/conandata.yml index 5cba065a6c822..a4dfc7805d29c 100644 --- a/recipes/panzi-portable-endian/all/conandata.yml +++ b/recipes/panzi-portable-endian/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "cci.20150416": - url: "https://gist.github.com/panzi/6856583/archive/1eca2ab34f2301b9641aa73d1016b951fff3fc39.zip" - sha256: "488d5d08215f657e769b31764013ef845355832cc6f1d165e1809fa5fe168eeb" + "cci.20220509": + url: "https://gist.github.com/panzi/6856583/archive/f6512b0830a4e9e06b26e32fc2509d67bbfa93d8.zip" + sha256: "88593bad9a1050779e98f93194b028566df575e06da9f8a60e44fa97a36b92f8" diff --git a/recipes/panzi-portable-endian/all/conanfile.py b/recipes/panzi-portable-endian/all/conanfile.py index 9c18999c225be..5655ba304a520 100644 --- a/recipes/panzi-portable-endian/all/conanfile.py +++ b/recipes/panzi-portable-endian/all/conanfile.py @@ -1,34 +1,43 @@ import os -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.files import copy, get, load, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class PanziPortableEndian(ConanFile): name = "panzi-portable-endian" + description = ("This provides the endian conversion functions from " + "endian.h on Windows, Linux, *BSD, and Mac OS X") + license = "LicenseRef-panzi-portable-endian-public-domain" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gist.github.com/panzi/6856583" - description = "This provides the endian conversion functions form endian.h on Windows, Linux, *BSD, and Mac OS X" - topics = ("conan", "endian") - license = "Unlicense" + topics = ("endian", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _extract_license(self): - header = tools.load(os.path.join( - self._source_subfolder, "portable_endian.h")) - license_contents = header[0:(header.find("#ifndef", 1))] - tools.save("LICENSE", license_contents) + header = load(self, os.path.join(self.source_folder, "portable_endian.h")) + license_contents = header[0: (header.find("#ifndef", 1))] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package(self): self._extract_license() - self.copy("LICENSE", dst="licenses") - self.copy(pattern="*.h", dst="include", - src=self._source_subfolder, keep_path=False) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder, keep_path=False) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/panzi-portable-endian/all/test_package/CMakeLists.txt b/recipes/panzi-portable-endian/all/test_package/CMakeLists.txt index 454c47bb2cbab..272ae426964be 100644 --- a/recipes/panzi-portable-endian/all/test_package/CMakeLists.txt +++ b/recipes/panzi-portable-endian/all/test_package/CMakeLists.txt @@ -1,9 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(panzi-portable-endian REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE panzi-portable-endian::panzi-portable-endian) diff --git a/recipes/panzi-portable-endian/all/test_package/conanfile.py b/recipes/panzi-portable-endian/all/test_package/conanfile.py index a59a26a52c8dc..ef5d7042163ec 100644 --- a/recipes/panzi-portable-endian/all/test_package/conanfile.py +++ b/recipes/panzi-portable-endian/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/panzi-portable-endian/all/test_package/test_package.cpp b/recipes/panzi-portable-endian/all/test_package/test_package.c similarity index 81% rename from recipes/panzi-portable-endian/all/test_package/test_package.cpp rename to recipes/panzi-portable-endian/all/test_package/test_package.c index d5884326032ea..8a45d0928397d 100644 --- a/recipes/panzi-portable-endian/all/test_package/test_package.cpp +++ b/recipes/panzi-portable-endian/all/test_package/test_package.c @@ -1,4 +1,4 @@ -#include +#include #include diff --git a/recipes/panzi-portable-endian/all/test_v1_package/CMakeLists.txt b/recipes/panzi-portable-endian/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/panzi-portable-endian/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/panzi-portable-endian/all/test_v1_package/conanfile.py b/recipes/panzi-portable-endian/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/panzi-portable-endian/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/panzi-portable-endian/config.yml b/recipes/panzi-portable-endian/config.yml index 5b6ed6e7fb074..dcdd7cd8a501e 100644 --- a/recipes/panzi-portable-endian/config.yml +++ b/recipes/panzi-portable-endian/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20150416": + "cci.20220509": folder: all From 966858bb4a8db12d90f15a7ddec2c7f39cd5340d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 09:05:31 +0300 Subject: [PATCH 1231/4087] (#18170) aggeom-agg: add package_type, tidy * aggeom-agg: add package_type, tidy * aggeom-agg: restore test_v1_package --------- Co-authored-by: Carlos Zoido --- recipes/aggeom-agg/all/conanfile.py | 119 +++++++++--------- .../all/test_v1_package/CMakeLists.txt | 6 +- 2 files changed, 61 insertions(+), 64 deletions(-) diff --git a/recipes/aggeom-agg/all/conanfile.py b/recipes/aggeom-agg/all/conanfile.py index 55a67e88a5f75..991d2d1af6b1e 100644 --- a/recipes/aggeom-agg/all/conanfile.py +++ b/recipes/aggeom-agg/all/conanfile.py @@ -1,49 +1,43 @@ +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 -from conan.errors import ConanInvalidConfiguration - -import os required_conan_version = ">=1.53.0" class AggConan(ConanFile): - name = 'aggeom-agg' - description = 'AGG Anti-Grain Geometry Library' - topics = ('graphics') + name = "aggeom-agg" + description = "AGG Anti-Grain Geometry Library" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" - homepage = 'https://github.com/aggeom' - license = 'BSD-3-Clause' + homepage = "https://github.com/aggeom" + topics = ("graphics",) - settings = 'os', 'arch', 'compiler', 'build_type' + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { - 'shared': [True, False], - 'fPIC': [True, False], - 'with_gpc': [True, False], - 'with_freetype': [True, False], - 'with_agg2d': [True, False], - 'with_agg2d_freetype': [True, False], - 'with_platform': [True, False], - 'with_controls': [True, False], + "shared": [True, False], + "fPIC": [True, False], + "with_gpc": [True, False], + "with_freetype": [True, False], + "with_agg2d": [True, False], + "with_agg2d_freetype": [True, False], + "with_platform": [True, False], + "with_controls": [True, False], } - default_options = { - 'shared': False, - 'fPIC': True, - 'with_gpc': True, - 'with_freetype': True, - 'with_agg2d': True, - 'with_agg2d_freetype': True, - 'with_platform': True, - 'with_controls': True, + "shared": False, + "fPIC": True, + "with_gpc": True, + "with_freetype": True, + "with_agg2d": True, + "with_agg2d_freetype": True, + "with_platform": True, + "with_controls": True, } - def validate(self): - if self.settings.os not in ("Windows", "Linux"): - raise ConanInvalidConfiguration("OS is not supported") - if self.options.shared: - raise ConanInvalidConfiguration("Invalid configuration") - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -51,31 +45,37 @@ def config_options(self): def configure(self): self.options.rm_safe("fPIC") - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_freetype: - self.requires('freetype/2.13.0') + self.requires("freetype/2.13.0") if self.options.with_platform and self.settings.os in ["Linux"]: self.requires("xorg/system") + def validate(self): + if self.settings.os not in ("Windows", "Linux"): + raise ConanInvalidConfiguration("OS is not supported") + if self.options.shared: + raise ConanInvalidConfiguration("Invalid configuration") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): tc = CMakeToolchain(self) - tc.variables['agg_USE_EXPAT'] = False - tc.variables['agg_USE_SDL_PLATFORM'] = False - tc.variables['agg_BUILD_DEMO'] = False - tc.variables['agg_BUILD_EXAMPLES'] = False - - tc.variables['agg_USE_GPC'] = self.options.with_gpc - tc.variables['agg_USE_FREETYPE'] = self.options.with_freetype - tc.variables['agg_USE_AGG2D'] = self.options.with_agg2d - tc.variables['agg_USE_AGG2D_FREETYPE'] = self.options.with_agg2d_freetype - tc.variables['agg_BUILD_PLATFORM'] = self.options.with_platform - tc.variables['agg_BUILD_CONTROLS'] = self.options.with_controls + tc.variables["agg_USE_EXPAT"] = False + tc.variables["agg_USE_SDL_PLATFORM"] = False + tc.variables["agg_BUILD_DEMO"] = False + tc.variables["agg_BUILD_EXAMPLES"] = False + + tc.variables["agg_USE_GPC"] = self.options.with_gpc + tc.variables["agg_USE_FREETYPE"] = self.options.with_freetype + tc.variables["agg_USE_AGG2D"] = self.options.with_agg2d + tc.variables["agg_USE_AGG2D_FREETYPE"] = self.options.with_agg2d_freetype + tc.variables["agg_BUILD_PLATFORM"] = self.options.with_platform + tc.variables["agg_BUILD_CONTROLS"] = self.options.with_controls tc.generate() @@ -95,12 +95,11 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "agg") - self.cpp_info.filenames["cmake_find_package"]="agg" - self.cpp_info.filenames["cmake_find_package_multi"]="agg" - self.cpp_info.names["cmake_find_package"]="agg" - self.cpp_info.names["cmake_find_package_multi"]="agg" + self.cpp_info.filenames["cmake_find_package"] = "agg" + self.cpp_info.filenames["cmake_find_package_multi"] = "agg" + self.cpp_info.names["cmake_find_package"] = "agg" + self.cpp_info.names["cmake_find_package_multi"] = "agg" self.cpp_info.components["agg"].set_property("cmake_target_name", "agg::agg") self.cpp_info.components["agg"].libs = ["agg"] @@ -109,33 +108,31 @@ def package_info(self): if self.options.with_freetype: self.cpp_info.components["fontfreetype"].set_property("cmake_target_name", "agg::fontfreetype") self.cpp_info.components["fontfreetype"].libs = ["aggfontfreetype"] - self.cpp_info.components["fontfreetype"].includedirs = [os.path.join("include", "agg","fontfreetype")] + self.cpp_info.components["fontfreetype"].includedirs = [os.path.join("include", "agg", "fontfreetype")] self.cpp_info.components["fontfreetype"].requires = ["agg", "freetype::freetype"] - + if self.options.with_gpc: self.cpp_info.components["gpc"].set_property("cmake_target_name", "agg::gpc") - self.cpp_info.components["gpc"].libs = [ "agggpc"] - self.cpp_info.components["gpc"].includedirs = [os.path.join("include", "agg","gpc")] - + self.cpp_info.components["gpc"].libs = ["agggpc"] + self.cpp_info.components["gpc"].includedirs = [os.path.join("include", "agg", "gpc")] if self.options.with_agg2d: self.cpp_info.components["2d"].set_property("cmake_target_name", "agg::2d") self.cpp_info.components["2d"].libs = ["agg2d"] - self.cpp_info.components["2d"].includedirs = [os.path.join("include", "agg","2d")] + self.cpp_info.components["2d"].includedirs = [os.path.join("include", "agg", "2d")] self.cpp_info.components["2d"].requires = ["agg"] if self.options.with_agg2d_freetype: self.cpp_info.components["2d"].requires = ["agg", "fontfreetype"] if self.options.with_platform: - self.cpp_info.components["platform"].set_property("cmake_target_name", "agg::platform") self.cpp_info.components["platform"].libs = ["aggplatform"] - self.cpp_info.components["platform"].includedirs = [os.path.join("include", "agg","platform")] + self.cpp_info.components["platform"].includedirs = [os.path.join("include", "agg", "platform")] if self.settings.os in ["Linux"]: self.cpp_info.components["platform"].requires = ["xorg::xorg", "agg"] if self.options.with_controls: self.cpp_info.components["controls"].set_property("cmake_target_name", "agg::controls") self.cpp_info.components["controls"].libs = ["aggctrl"] - self.cpp_info.components["controls"].includedirs = [os.path.join("include", "agg","ctrl")] + self.cpp_info.components["controls"].includedirs = [os.path.join("include", "agg", "ctrl")] self.cpp_info.components["controls"].requires = ["agg"] diff --git a/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt b/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt +++ b/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From a31873c0eed25c3536429ef1ef19459eb0b66605 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 09:25:01 +0300 Subject: [PATCH 1232/4087] (#18205) maddy: migrate to Conan v2 * maddy: migrate to Conan v2 * maddy: restore test_v1_package --- recipes/maddy/all/conanfile.py | 53 +++++++++---------- recipes/maddy/all/test_package/CMakeLists.txt | 13 +++-- recipes/maddy/all/test_package/conanfile.py | 19 +++++-- recipes/maddy/all/test_package/example.cpp | 0 .../maddy/all/test_v1_package/CMakeLists.txt | 8 +++ .../maddy/all/test_v1_package/conanfile.py | 17 ++++++ 6 files changed, 69 insertions(+), 41 deletions(-) mode change 100755 => 100644 recipes/maddy/all/test_package/example.cpp create mode 100755 recipes/maddy/all/test_v1_package/CMakeLists.txt create mode 100755 recipes/maddy/all/test_v1_package/conanfile.py diff --git a/recipes/maddy/all/conanfile.py b/recipes/maddy/all/conanfile.py index 7bcdd1cec24d5..1cc4a8a062ec2 100644 --- a/recipes/maddy/all/conanfile.py +++ b/recipes/maddy/all/conanfile.py @@ -1,47 +1,42 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class MaddyConan(ConanFile): name = "maddy" + description = "open-source, maddy is a C++ Markdown to HTML header-only parser library." + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/progsource/maddy" - description = ( - "open-source, maddy is a C++ Markdown to HTML header-only parser library." - ) - topics = ("maddy", "markdown", "header-only") - license = "MIT" + topics = ("markdown", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _source_subfolder(self): - return "source_subfolder" + 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"): - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, 14) def source(self): - tools.get( - **self.conan_data["sources"][self.version], - destination=self._source_subfolder, - strip_root=True - ) - - def package_id(self): - self.info.header_only() + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy( - "LICENSE", - src=os.path.join(self.source_folder, self._source_subfolder), - dst="licenses", - ) - self.copy( - pattern="maddy/*.h", - src=os.path.join(self.source_folder, self._source_subfolder, "include"), - dst="include", - ) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, pattern="maddy/*.h", 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/maddy/all/test_package/CMakeLists.txt b/recipes/maddy/all/test_package/CMakeLists.txt index b85bbd5581573..8b3d049ce58f5 100755 --- a/recipes/maddy/all/test_package/CMakeLists.txt +++ b/recipes/maddy/all/test_package/CMakeLists.txt @@ -1,12 +1,11 @@ -cmake_minimum_required(VERSION 3.5) -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(maddy REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE maddy::maddy) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED - ON) +set_target_properties(${PROJECT_NAME} PROPERTIES + CXX_STANDARD 14 + CXX_STANDARD_REQUIRED ON +) diff --git a/recipes/maddy/all/test_package/conanfile.py b/recipes/maddy/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100755 --- a/recipes/maddy/all/test_package/conanfile.py +++ b/recipes/maddy/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/maddy/all/test_package/example.cpp b/recipes/maddy/all/test_package/example.cpp old mode 100755 new mode 100644 diff --git a/recipes/maddy/all/test_v1_package/CMakeLists.txt b/recipes/maddy/all/test_v1_package/CMakeLists.txt new file mode 100755 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/maddy/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/maddy/all/test_v1_package/conanfile.py b/recipes/maddy/all/test_v1_package/conanfile.py new file mode 100755 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/maddy/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2c85b3b4769b2cdac6dc2511934ddce79b666c17 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 09:44:15 +0300 Subject: [PATCH 1233/4087] (#18206) dbg-macro: migrate to Conan v2 * dbg-macro: migrate to Conan v2 * dbg-macro: restore test_v1_package * dbg-macro: add cmake_find_package_multi generator to test_v1_package * Set min_cppstd to C++17 * Fix layout * Update CMakeLists.txt * dbg-macro: restore VirtualRunEnv in test_package --- recipes/dbg-macro/all/conanfile.py | 27 +++++++++++++------ .../dbg-macro/all/test_package/CMakeLists.txt | 2 +- .../dbg-macro/all/test_package/conanfile.py | 6 ++--- .../all/test_v1_package/CMakeLists.txt | 8 ++++++ .../all/test_v1_package/conanfile.py | 18 +++++++++++++ 5 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 recipes/dbg-macro/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dbg-macro/all/test_v1_package/conanfile.py diff --git a/recipes/dbg-macro/all/conanfile.py b/recipes/dbg-macro/all/conanfile.py index 7fdad007c1070..5955544e24b0d 100644 --- a/recipes/dbg-macro/all/conanfile.py +++ b/recipes/dbg-macro/all/conanfile.py @@ -1,25 +1,32 @@ import os + from conan import ConanFile -from conan.tools.files import get, copy -from conan.tools.build import check_min_cppstd 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 DbgMacroConan(ConanFile): name = "dbg-macro" + description = "A dbg(...) macro for C++" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sharkdp/dbg-macro" - license = "MIT" - description = "A dbg(...) macro for C++" topics = ("debugging", "macro", "pretty-printing", "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 source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.get_safe('cppstd'): @@ -33,9 +40,13 @@ def validate(self): if str(compiler) in min_versions and Version(compiler.version) < min_versions[str(compiler)]: raise ConanInvalidConfiguration("dbg-macro requires C++17 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, "dbg.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - def package_id(self): - self.info.clear() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/dbg-macro/all/test_package/CMakeLists.txt b/recipes/dbg-macro/all/test_package/CMakeLists.txt index 38914f6edfd7d..535b1e583d6c5 100644 --- a/recipes/dbg-macro/all/test_package/CMakeLists.txt +++ b/recipes/dbg-macro/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(dbg-macro REQUIRED CONFIG) diff --git a/recipes/dbg-macro/all/test_package/conanfile.py b/recipes/dbg-macro/all/test_package/conanfile.py index 61ef483bce067..2ee2f747a7393 100644 --- a/recipes/dbg-macro/all/test_package/conanfile.py +++ b/recipes/dbg-macro/all/test_package/conanfile.py @@ -1,16 +1,14 @@ import os from conan import ConanFile +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout -from conan.tools.build import cross_building, can_run -from conan.tools.files import mkdir class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "CMakeToolchain" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" - def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/dbg-macro/all/test_v1_package/CMakeLists.txt b/recipes/dbg-macro/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/dbg-macro/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/dbg-macro/all/test_v1_package/conanfile.py b/recipes/dbg-macro/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e9e25c6e641af --- /dev/null +++ b/recipes/dbg-macro/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + tools.mkdir("logs/") + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From d916e4dd25b4cecdeafe982de9bdb565df2f0715 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Thu, 17 Aug 2023 09:04:22 +0200 Subject: [PATCH 1234/4087] (#18059) autoconf: fix msvc debug build for test_package --- recipes/autoconf/all/test_package/conanfile.py | 3 +++ recipes/autoconf/all/test_v1_package/conanfile.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/autoconf/all/test_package/conanfile.py b/recipes/autoconf/all/test_package/conanfile.py index bb22349ed9696..540a389d38f89 100644 --- a/recipes/autoconf/all/test_package/conanfile.py +++ b/recipes/autoconf/all/test_package/conanfile.py @@ -29,6 +29,9 @@ def generate(self): env = VirtualBuildEnv(self) env.generate() tc = AutotoolsToolchain(self) + if is_msvc(self): + tc.extra_cflags.append("-FS") + tc.extra_cxxflags.append("-FS") tc.generate() if is_msvc(self): env = Environment() diff --git a/recipes/autoconf/all/test_v1_package/conanfile.py b/recipes/autoconf/all/test_v1_package/conanfile.py index 422d5f44c10cf..7098a4c30759b 100644 --- a/recipes/autoconf/all/test_v1_package/conanfile.py +++ b/recipes/autoconf/all/test_v1_package/conanfile.py @@ -34,6 +34,8 @@ def build(self): self.run("{} --help".format(os.path.join(self.build_folder, "configure").replace("\\", "/")), win_bash=tools.os_info.is_windows) autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + if is_msvc(self): + autotools.flags.append("-FS") with self._build_context(): autotools.configure() autotools.make() From 842e078da29e162e2aa9820acdf28197678f3357 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 10:24:42 +0300 Subject: [PATCH 1235/4087] (#18239) cotila: migrate to Conan v2 * cotila: migrate to Conan v2 * cotila: restore test_v1_package * cotila: disable MSVC builds due to an internal compiler error * cotila: restore VirtualRunEnv in test_package --- recipes/cotila/all/conanfile.py | 77 ++++++++++--------- .../cotila/all/test_package/CMakeLists.txt | 7 +- recipes/cotila/all/test_package/conanfile.py | 23 ++++-- .../cotila/all/test_v1_package/CMakeLists.txt | 8 ++ .../cotila/all/test_v1_package/conanfile.py | 17 ++++ 5 files changed, 84 insertions(+), 48 deletions(-) create mode 100644 recipes/cotila/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cotila/all/test_v1_package/conanfile.py diff --git a/recipes/cotila/all/conanfile.py b/recipes/cotila/all/conanfile.py index eb47a8c74e0c9..cbc8f6be75064 100644 --- a/recipes/cotila/all/conanfile.py +++ b/recipes/cotila/all/conanfile.py @@ -1,66 +1,71 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class CotilaConan(ConanFile): name = "cotila" description = "A compile time linear algebra system" - homepage = "https://github.com/calebzulawski/cotila" - topics = ("c++", "math", "linear algebra", "compile-time") license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - no_copy_source = True + homepage = "https://github.com/calebzulawski/cotila" + topics = ("c++", "math", "linear algebra", "compile-time", "header-only") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): - return "17" + return 17 @property def _compilers_minimum_version(self): return { "gcc": "7", - "Visual Studio": "15.7", "clang": "6.0", "apple-clang": "10", + "Visual Studio": "15.7", + "msvc": "193", } - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") + def layout(self): + basic_layout(self, src_folder="src") - 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] + def package_id(self): + self.info.clear() + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration("cotila currently does not support MSVC. " + "See https://github.com/calebzulawski/cotila/issues/36.") + 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 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)) - - - def package_id(self): - self.info.header_only() + 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) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="include/*", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + 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.names["cmake_find_package"] = "cotila" - self.cpp_info.names["cmake_find_package_multi"] = "cotila" - + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cotila/all/test_package/CMakeLists.txt b/recipes/cotila/all/test_package/CMakeLists.txt index fb76dc36e1dc6..cf3db6db5cc45 100644 --- a/recipes/cotila/all/test_package/CMakeLists.txt +++ b/recipes/cotila/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(cotila CONFIG REQUIRED) +find_package(cotila REQUIRED CONFIG) add_executable(test_package test_package.cpp) target_compile_features(test_package PRIVATE cxx_std_17) diff --git a/recipes/cotila/all/test_package/conanfile.py b/recipes/cotila/all/test_package/conanfile.py index e1ab7e3d234d6..ef5d7042163ec 100644 --- a/recipes/cotila/all/test_package/conanfile.py +++ b/recipes/cotila/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 CotilaTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cotila/all/test_v1_package/CMakeLists.txt b/recipes/cotila/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cotila/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/cotila/all/test_v1_package/conanfile.py b/recipes/cotila/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e1ab7e3d234d6 --- /dev/null +++ b/recipes/cotila/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class CotilaTestConan(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 539ca1b3f83cf90280055a0bc8e28ebc7889e842 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 10:44:56 +0300 Subject: [PATCH 1236/4087] (#18240) immer: migrate to Conan v2 * immer: migrate to Conan v2 * immer: drop v0.6.2 test_package fails to build with it. * immer: restore test_v1_package * immer: fix removed version * immer: restore VirtualRunEnv in test_package --- recipes/immer/all/conandata.yml | 3 - recipes/immer/all/conanfile.py | 73 +++++++++++-------- recipes/immer/all/test_package/CMakeLists.txt | 9 +-- recipes/immer/all/test_package/conanfile.py | 21 ++++-- recipes/immer/all/test_package/example.cpp | 2 +- .../immer/all/test_v1_package/CMakeLists.txt | 8 ++ .../immer/all/test_v1_package/conanfile.py | 17 +++++ recipes/immer/config.yml | 2 - 8 files changed, 85 insertions(+), 50 deletions(-) create mode 100644 recipes/immer/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/immer/all/test_v1_package/conanfile.py diff --git a/recipes/immer/all/conandata.yml b/recipes/immer/all/conandata.yml index 811b858690dba..6d029402576cc 100644 --- a/recipes/immer/all/conandata.yml +++ b/recipes/immer/all/conandata.yml @@ -5,6 +5,3 @@ sources: "0.7.0": url: "https://github.com/arximboldi/immer/archive/v0.7.0.tar.gz" sha256: "cf67ab428aa3610eb0f72d0ea936c15cce3f91df26ee143ab783acd053507fe4" - "0.6.2": - url: "https://github.com/arximboldi/immer/archive/refs/tags/v0.6.2.tar.gz" - sha256: "c3bb8847034437dee64adacb04e1e0163ae640b596c582eb4c0aa1d7c6447cd7" diff --git a/recipes/immer/all/conanfile.py b/recipes/immer/all/conanfile.py index 952501519b554..b605235f93553 100644 --- a/recipes/immer/all/conanfile.py +++ b/recipes/immer/all/conanfile.py @@ -1,40 +1,32 @@ -from conans import ConanFile, tools, errors +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" -required_conan_version = ">=1.33.0" class ImmerConan(ConanFile): name = "immer" + description = "Postmodern immutable and persistent data structures for C++ - value semantics at scale" license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/arximboldi/immer" - description = "Postmodern immutable and persistent data structures for C++---value semantics at scale" - topics = ("header", "header-only", "persistent", "modern", "immutable", - "data structures", "functional", "value semantics", "postmodern", - "rrb-tree") + topics = ("header", "header-only", "persistent", "modern", "immutable", "data structures", + "functional", "value semantics", "postmodern", "rrb-tree") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "compiler" @property def _minimum_cpp_standard(self): return 14 - @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder) - - def package(self): - include_folder = self._source_subfolder - self.copy(pattern="*.hpp", dst="include", src=include_folder) - self.copy(pattern="LICENSE", dst="licenses", src=include_folder) - - def package_id(self): - self.info.header_only() - @property def _minimum_compilers_version(self): # Reference: https://en.cppreference.com/w/cpp/compiler_support/14 @@ -44,17 +36,36 @@ def _minimum_compilers_version(self): "gcc": "6", "intel": "17", "sun-cc": "5.15", - "Visual Studio": "15" + "Visual Studio": "15", } + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + 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)) + 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 errors.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." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + include_folder = self.source_folder + copy(self, pattern="*.hpp", dst=os.path.join(self.package_folder, "include"), src=include_folder) + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=include_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/immer/all/test_package/CMakeLists.txt b/recipes/immer/all/test_package/CMakeLists.txt index 870b269d2d660..c9d3024076801 100644 --- a/recipes/immer/all/test_package/CMakeLists.txt +++ b/recipes/immer/all/test_package/CMakeLists.txt @@ -1,13 +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(TARGETS) - -find_package(immer CONFIG REQUIRED) +find_package(immer REQUIRED CONFIG) add_executable(example example.cpp) - target_link_libraries(example immer::immer) - target_compile_features(example PUBLIC cxx_std_14) diff --git a/recipes/immer/all/test_package/conanfile.py b/recipes/immer/all/test_package/conanfile.py index 0242d96a644ca..8d52b7021efe1 100644 --- a/recipes/immer/all/test_package/conanfile.py +++ b/recipes/immer/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "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/immer/all/test_package/example.cpp b/recipes/immer/all/test_package/example.cpp index 3778564a31082..78e26ad5b37e6 100644 --- a/recipes/immer/all/test_package/example.cpp +++ b/recipes/immer/all/test_package/example.cpp @@ -1,5 +1,5 @@ #include "immer/vector.hpp" -#include +#include int main() { const auto v0 = immer::vector{}; diff --git a/recipes/immer/all/test_v1_package/CMakeLists.txt b/recipes/immer/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/immer/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/immer/all/test_v1_package/conanfile.py b/recipes/immer/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0242d96a644ca --- /dev/null +++ b/recipes/immer/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) diff --git a/recipes/immer/config.yml b/recipes/immer/config.yml index 9e53a8732b403..7090494339fd4 100644 --- a/recipes/immer/config.yml +++ b/recipes/immer/config.yml @@ -3,5 +3,3 @@ versions: folder: all "0.7.0": folder: all - "0.6.2": - folder: all From 446330367ec0083e16c18034a28dbb44ca2dad8f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 11:06:02 +0300 Subject: [PATCH 1237/4087] (#18243) fpgen: migrate to Conan v2 * fpgen: migrate to Conan v2 * fpgen: restore test_v1_package * fpgen: fix package() * fpgen: drop older version with broken clang and msvc support --- recipes/fpgen/all/conandata.yml | 3 - recipes/fpgen/all/conanfile.py | 104 +++++++----------- recipes/fpgen/all/test_package/CMakeLists.txt | 5 +- recipes/fpgen/all/test_package/conanfile.py | 22 ++-- recipes/fpgen/all/test_package/main.cpp | 9 +- .../fpgen/all/test_v1_package/CMakeLists.txt | 8 ++ .../fpgen/all/test_v1_package/conanfile.py | 18 +++ recipes/fpgen/config.yml | 2 - 8 files changed, 89 insertions(+), 82 deletions(-) create mode 100644 recipes/fpgen/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/fpgen/all/test_v1_package/conanfile.py diff --git a/recipes/fpgen/all/conandata.yml b/recipes/fpgen/all/conandata.yml index 89315a6f71ce4..0ed9b7cc136ee 100644 --- a/recipes/fpgen/all/conandata.yml +++ b/recipes/fpgen/all/conandata.yml @@ -1,7 +1,4 @@ sources: - "1.1.0": - url: "https://github.com/jay-tux/fpgen/archive/refs/tags/v1.1.0.tar.gz" - sha256: "5e5faf1fbdcb3d93306bd8a838f805afdccdbb9076d78356ad5443943555be7d" "1.1.0-clang": url: "https://github.com/jay-tux/fpgen/archive/refs/tags/v1.1.0-clang.tar.gz" sha256: "02936c1e790bcdba1479cf8164596b05cfc5b7401b3c71e0a1fd77e51fe8b93f" diff --git a/recipes/fpgen/all/conanfile.py b/recipes/fpgen/all/conanfile.py index b9e1ea43fa34a..46fc8ca2ceba0 100644 --- a/recipes/fpgen/all/conanfile.py +++ b/recipes/fpgen/all/conanfile.py @@ -1,94 +1,74 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, replace_in_file +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class FpgenConan(ConanFile): name = "fpgen" - description = " Functional programming in C++ using C++20 coroutines." + description = "Functional programming in C++ using C++20 coroutines." license = ["MPL2"] - topics = ( - "generators", - "coroutines", - "c++20", - "header-only", - "functional-programming", - "functional", - ) - homepage = "https://github.com/jay-tux/fpgen/" url = "https://github.com/conan-io/conan-center-index" - settings = "arch", "os", "compiler", "build_type" - no_copy_source = True + homepage = "https://github.com/jay-tux/fpgen/" + topics = ("generators", "coroutines", "c++20", "header-only", "functional-programming", "functional") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): - return "20" + return 20 @property def _compilers_minimum_version(self): return { "gcc": "11", "clang": "13", + "apple-clang": "13.1", + "Visual Studio": "16", + "msvc": "192", } - def package_id(self): - self.info.header_only() + def layout(self): + basic_layout(self, src_folder="src") - def source(self): - tools.get( - **self.conan_data["sources"][self.version], - destination=self._source_subfolder, - strip_root=True, - ) + def package_id(self): + self.info.clear() def validate(self): - if self.settings.compiler == "clang" and "clang" not in str(self.version): - raise ConanInvalidConfiguration( - f"Use '{self.version}-clang' for Clang support." - ) - - if ( - self.settings.compiler == "clang" - and not self.settings.compiler.libcxx == "libc++" - ): - raise ConanInvalidConfiguration( - f"Use 'compiler.libcxx=libc++' for {self.name} on Clang." - ) + if self.settings.compiler == "clang" and not self.settings.compiler.libcxx == "libc++": + raise ConanInvalidConfiguration(f"Use 'compiler.libcxx=libc++' with Clang for {self.name}.") if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._min_cppstd) - - def lazy_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] - - minimum_version = self._compilers_minimum_version.get( - str(self.settings.compiler), False - ) - if not minimum_version: - raise ConanInvalidConfiguration( - f"{self.name} is currently not available for your compiler." - ) - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): + 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.name} {self.version} requires C++20, which your compiler does not support." + 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): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy( - pattern="*.hpp", - dst=os.path.join("include", "fpgen"), - src=self._source_subfolder, - keep_path=False, - ) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include", "fpgen"), + src=self.source_folder, + keep_path=False) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.includedirs.append(os.path.join("include", "fpgen")) diff --git a/recipes/fpgen/all/test_package/CMakeLists.txt b/recipes/fpgen/all/test_package/CMakeLists.txt index 2d7e6737381f9..7013b94735f0f 100644 --- a/recipes/fpgen/all/test_package/CMakeLists.txt +++ b/recipes/fpgen/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(fpgen REQUIRED CONFIG) add_executable(${PROJECT_NAME} main.cpp) diff --git a/recipes/fpgen/all/test_package/conanfile.py b/recipes/fpgen/all/test_package/conanfile.py index 3f4a9f50f389e..ef5d7042163ec 100644 --- a/recipes/fpgen/all/test_package/conanfile.py +++ b/recipes/fpgen/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.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/fpgen/all/test_package/main.cpp b/recipes/fpgen/all/test_package/main.cpp index 43bf51fe320f0..d9d39d7a4b608 100644 --- a/recipes/fpgen/all/test_package/main.cpp +++ b/recipes/fpgen/all/test_package/main.cpp @@ -1,13 +1,14 @@ +#include "fpgen/fpgen.hpp" + #include #include -#include "fpgen/fpgen.hpp" int main() { - std::vector vals = {0,1,2,3}; + std::vector vals = {0, 1, 2, 3}; auto gen = fpgen::from(vals); - for(auto &&val : gen) { - std::cout << val << std::endl; + for (auto &&val : gen) { + std::cout << val << std::endl; } return 0; } diff --git a/recipes/fpgen/all/test_v1_package/CMakeLists.txt b/recipes/fpgen/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/fpgen/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/fpgen/all/test_v1_package/conanfile.py b/recipes/fpgen/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3f4a9f50f389e --- /dev/null +++ b/recipes/fpgen/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/fpgen/config.yml b/recipes/fpgen/config.yml index ec935d5cf64ff..2786096f9ff86 100644 --- a/recipes/fpgen/config.yml +++ b/recipes/fpgen/config.yml @@ -1,5 +1,3 @@ versions: - "1.1.0": - folder: all "1.1.0-clang": folder: all From 1731012f043ef2981e286990c42694523395d258 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 11:30:28 +0300 Subject: [PATCH 1238/4087] (#18246) rangeless: migrate to Conan v2 * rangeless: migrate to Conan v2 * rangeless: restore test_v1_package * rangeless: add compilers_minimum_version check * rangeless: fix recipe bug * rangeless: restore VirtualRunEnv in test_package --- recipes/rangeless/all/conanfile.py | 64 ++++++++++++++----- .../rangeless/all/test_package/CMakeLists.txt | 9 ++- .../rangeless/all/test_package/conanfile.py | 22 +++++-- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 93 insertions(+), 28 deletions(-) create mode 100644 recipes/rangeless/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rangeless/all/test_v1_package/conanfile.py diff --git a/recipes/rangeless/all/conanfile.py b/recipes/rangeless/all/conanfile.py index d37a7eb54aeb3..4eb06ece4e627 100644 --- a/recipes/rangeless/all/conanfile.py +++ b/recipes/rangeless/all/conanfile.py @@ -1,34 +1,66 @@ -from conans import ConanFile, tools import os -import glob + +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 RangelessConan(ConanFile): name = "rangeless" description = "c++ LINQ -like library of higher-order functions for data manipulation" license = "MIT" - homepage = "https://github.com/ast-al/rangeless" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ast-al/rangeless" topics = ("range", "linq", "lazy-evaluation", "header-only") - settings = "compiler" + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 - def configure(self): - minimal_cpp_standard = "14" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + "clang": "3.4", + "apple-clang": "10", + "Visual Studio": "14", + "msvc": "191", + } + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.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.get_safe("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]) - extracted_dir = glob.glob(self.name + "-*/")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rangeless/all/test_package/CMakeLists.txt b/recipes/rangeless/all/test_package/CMakeLists.txt index 5e1e9d9b89fe0..6f31fb97ff44c 100644 --- a/recipes/rangeless/all/test_package/CMakeLists.txt +++ b/recipes/rangeless/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -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() +find_package(rangeless REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE rangeless::rangeless) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) diff --git a/recipes/rangeless/all/test_package/conanfile.py b/recipes/rangeless/all/test_package/conanfile.py index 6c9d5dba712c7..ef5d7042163ec 100644 --- a/recipes/rangeless/all/test_package/conanfile.py +++ b/recipes/rangeless/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rangeless/all/test_package/test_package.cpp b/recipes/rangeless/all/test_package/test_package.cpp index 4f49c17e155f2..96e45179153e6 100644 --- a/recipes/rangeless/all/test_package/test_package.cpp +++ b/recipes/rangeless/all/test_package/test_package.cpp @@ -11,7 +11,7 @@ int main() { values = std::move(values) % fn::where([](auto&& _) { return _ % 2 == 0; }) % fn::transform([] (auto&& _) { return _ * 3; }); - + auto expected = std::vector{0,6,12,18,24,30}; bool success = values == expected; diff --git a/recipes/rangeless/all/test_v1_package/CMakeLists.txt b/recipes/rangeless/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rangeless/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/rangeless/all/test_v1_package/conanfile.py b/recipes/rangeless/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/rangeless/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 83f9db87d6efb34d947bfd72a8f8249f94b080be Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 11:45:55 +0300 Subject: [PATCH 1239/4087] (#18249) neargye-semver: migrate to Conan v2 * neargye-semver: migrate to Conan v2 * neargye-semver: restore test_v1_package * neargye-semver: restore VirtualRunEnv in test_package --- recipes/neargye-semver/all/conanfile.py | 81 ++++++++++--------- .../all/test_package/CMakeLists.txt | 9 +-- .../all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 5 files changed, 88 insertions(+), 48 deletions(-) create mode 100644 recipes/neargye-semver/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/neargye-semver/all/test_v1_package/conanfile.py diff --git a/recipes/neargye-semver/all/conanfile.py b/recipes/neargye-semver/all/conanfile.py index 53652835d3593..4c81f48ec928f 100644 --- a/recipes/neargye-semver/all/conanfile.py +++ b/recipes/neargye-semver/all/conanfile.py @@ -1,63 +1,72 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration - import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 NeargyeSemverConan(ConanFile): name = "neargye-semver" description = "Semantic Versioning for modern C++" - topics = ("conan", "semver", "semantic", "versioning") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Neargye/semver" - license = "MIT" - generators = "cmake", "cmake_find_package_multi" - settings = "compiler", "build_type" + topics = ("semver", "semantic", "versioning", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 - def configure(self): - compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) - - min_req_cppstd = "17" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, min_req_cppstd) - else: - self.output.warn("%s recipe lacks information about the %s compiler" - " standard version support." % (self.name, compiler)) - - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "Visual Studio": "16", + "msvc": "192", "gcc": "7.3", "clang": "6.0", "apple-clang": "10.0", } - # Exclude compilers not supported - if compiler not in minimal_version: - self.output.info("%s requires a compiler that supports at least C++%s" % (self.name, min_req_cppstd)) - return - if compiler_version < minimal_version[compiler]: + + 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( - "%s requires a compiler that supports at least C++%s. %s %s is not supported." % - (self.name, min_req_cppstd, compiler, tools.Version(self.settings.compiler.version.value))) + 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], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.names["pkg_config"] = "semver" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("pkg_config_name", "semver") + self.cpp_info.set_property("cmake_file_name", "semver") + self.cpp_info.set_property("cmake_target_name", "semver::semver") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "semver" self.cpp_info.names["cmake_find_package_multi"] = "semver" - - def package_id(self): - self.info.header_only() diff --git a/recipes/neargye-semver/all/test_package/CMakeLists.txt b/recipes/neargye-semver/all/test_package/CMakeLists.txt index 4b4849803c256..6915cbdbd4166 100644 --- a/recipes/neargye-semver/all/test_package/CMakeLists.txt +++ b/recipes/neargye-semver/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(semver CONFIG REQUIRED) +find_package(semver REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} semver::semver) diff --git a/recipes/neargye-semver/all/test_package/conanfile.py b/recipes/neargye-semver/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/neargye-semver/all/test_package/conanfile.py +++ b/recipes/neargye-semver/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/neargye-semver/all/test_v1_package/CMakeLists.txt b/recipes/neargye-semver/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/neargye-semver/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/neargye-semver/all/test_v1_package/conanfile.py b/recipes/neargye-semver/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/neargye-semver/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 b0c55109b6f799d08744a7782602de5a06bd4637 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 12:06:38 +0300 Subject: [PATCH 1240/4087] (#18252) yas: migrate to Conan v2 * yas: migrate to Conan v2 * yas: restore test_v1_package * yas: add cmake_find_package_multi generator to test_v1_package * yas: fix license packaging * yas: restore VirtualRunEnv in test_package --- recipes/yas/all/conanfile.py | 52 ++++++++++++------- recipes/yas/all/test_package/CMakeLists.txt | 9 ++-- recipes/yas/all/test_package/conanfile.py | 21 +++++--- .../yas/all/test_v1_package/CMakeLists.txt | 8 +++ recipes/yas/all/test_v1_package/conanfile.py | 17 ++++++ 5 files changed, 77 insertions(+), 30 deletions(-) create mode 100644 recipes/yas/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/yas/all/test_v1_package/conanfile.py diff --git a/recipes/yas/all/conanfile.py b/recipes/yas/all/conanfile.py index 8cfe2a15884cf..4b089cd3a4efe 100644 --- a/recipes/yas/all/conanfile.py +++ b/recipes/yas/all/conanfile.py @@ -1,39 +1,53 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, load, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class YasConan(ConanFile): name = "yas" description = "Yet Another Serialization" - topics = ("yas", "serialization", "header-only") + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/niXman/yas" - license = "BSL-1.0" + topics = ("serialization", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) def source(self): - 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 _extract_license(self): - header = tools.load(os.path.join( - self.source_folder, self._source_subfolder, - "include", "yas", "binary_oarchive.hpp")) - license_contents = header[:header.find("#")] \ - .replace("//", "").replace("\n ", "\n").lstrip() - tools.save("LICENSE", license_contents) + header = load(self, os.path.join(self.source_folder, "include", "yas", "binary_oarchive.hpp")) + license_contents = header[: header.find("#")].replace("//", "").replace("\n ", "\n").lstrip() + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package(self): self._extract_license() - self.copy("LICENSE", dst="licenses") - self.copy("*", src=os.path.join(self._source_subfolder, "include"), - dst="include") + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/yas/all/test_package/CMakeLists.txt b/recipes/yas/all/test_package/CMakeLists.txt index 641059df6fa46..31c7068ad2a4f 100644 --- a/recipes/yas/all/test_package/CMakeLists.txt +++ b/recipes/yas/all/test_package/CMakeLists.txt @@ -1,10 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(yas REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE yas::yas) diff --git a/recipes/yas/all/test_package/conanfile.py b/recipes/yas/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/yas/all/test_package/conanfile.py +++ b/recipes/yas/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/yas/all/test_v1_package/CMakeLists.txt b/recipes/yas/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/yas/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/yas/all/test_v1_package/conanfile.py b/recipes/yas/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/yas/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) From cbb48b98c3e26a954246f40caa32c37939f09313 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 12:26:13 +0300 Subject: [PATCH 1241/4087] (#18255) plusaes: migrate to Conan v2 * plusaes: migrate to Conan v2 * plusaes: restore test_v1_package * plusaes: restore VirtualRunEnv in test_package --- recipes/plusaes/all/conanfile.py | 37 +++++++++++++------ .../plusaes/all/test_package/CMakeLists.txt | 7 +--- recipes/plusaes/all/test_package/conanfile.py | 20 +++++++--- .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../plusaes/all/test_v1_package/conanfile.py | 16 ++++++++ 5 files changed, 66 insertions(+), 22 deletions(-) create mode 100644 recipes/plusaes/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/plusaes/all/test_v1_package/conanfile.py diff --git a/recipes/plusaes/all/conanfile.py b/recipes/plusaes/all/conanfile.py index 5d1248265e161..c073789122310 100644 --- a/recipes/plusaes/all/conanfile.py +++ b/recipes/plusaes/all/conanfile.py @@ -1,35 +1,48 @@ -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + class PlusaesConan(ConanFile): name = "plusaes" description = "Header only C++ AES cipher library" - topics = ("encryption", "header-only") license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/kkAyataka/plusaes" + topics = ("encryption", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) 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 package(self): - root_dir = self._source_subfolder + root_dir = self.source_folder include_dir = os.path.join(root_dir, "include") - self.copy(pattern="LICENSE_1_0.txt", dst="licenses", src=root_dir) - self.copy(pattern="*plusaes.hpp", dst="include", src=include_dir) + copy(self, "LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=root_dir) + copy(self, "*plusaes.hpp", dst=os.path.join(self.package_folder, "include"), src=include_dir) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/plusaes/all/test_package/CMakeLists.txt b/recipes/plusaes/all/test_package/CMakeLists.txt index 0a4d2fae5c706..8b5b4793ec8d8 100644 --- a/recipes/plusaes/all/test_package/CMakeLists.txt +++ b/recipes/plusaes/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(plusaes REQUIRED CONFIG) diff --git a/recipes/plusaes/all/test_package/conanfile.py b/recipes/plusaes/all/test_package/conanfile.py index a500b98343c74..ef5d7042163ec 100644 --- a/recipes/plusaes/all/test_package/conanfile.py +++ b/recipes/plusaes/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,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/plusaes/all/test_v1_package/CMakeLists.txt b/recipes/plusaes/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/plusaes/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/plusaes/all/test_v1_package/conanfile.py b/recipes/plusaes/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a500b98343c74 --- /dev/null +++ b/recipes/plusaes/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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 350fb4e98d7d384ceaf234d336fb3d54da742f01 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 12:47:39 +0300 Subject: [PATCH 1242/4087] (#18779) tinyxml: enable with_stl by default --- recipes/tinyxml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tinyxml/all/conanfile.py b/recipes/tinyxml/all/conanfile.py index 46d31e88896c2..3616d277c7fb4 100644 --- a/recipes/tinyxml/all/conanfile.py +++ b/recipes/tinyxml/all/conanfile.py @@ -25,7 +25,7 @@ class TinyXmlConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "with_stl": False, + "with_stl": True, } exports_sources = "CMakeLists.txt" From 7e68b950b4e07d01ab84207c36883437a766fb10 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 17 Aug 2023 12:22:59 +0200 Subject: [PATCH 1243/4087] (#19244) [docs] Add changelog 17-Aug-2023 Signed-off-by: Uilian Ries --- docs/changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 24c6950d686aa..3cf79f8d61327 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,11 @@ # Changelog +### 17-Aug-2023 - 11:42 CEST + +- [fix] Fix type error when catching generic exceptions in Jenkins +- [fix] Bump dependencies no longer allow version range +- [feature] Show recipe revision on the pull-request summary table + ### 04-Aug-2023 - 10:26 CEST - [feature] Enable Conan 2.0.8 From cbac272ef7ea6564c533079f6d4248d8195db1aa Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 17 Aug 2023 13:46:19 +0300 Subject: [PATCH 1244/4087] (#18808) opentracing-cpp: migrate to Conan v2 * opentracing-cpp: migrate to Conan v2 * opentracing-cpp: restore VirtualRunEnv in test_package --- recipes/opentracing-cpp/all/CMakeLists.txt | 7 - recipes/opentracing-cpp/all/conandata.yml | 3 +- recipes/opentracing-cpp/all/conanfile.py | 125 ++++++++---------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 21 ++- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 8 files changed, 100 insertions(+), 88 deletions(-) delete mode 100644 recipes/opentracing-cpp/all/CMakeLists.txt create mode 100644 recipes/opentracing-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opentracing-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/opentracing-cpp/all/CMakeLists.txt b/recipes/opentracing-cpp/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/opentracing-cpp/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/opentracing-cpp/all/conandata.yml b/recipes/opentracing-cpp/all/conandata.yml index 97fc5249ab98a..98d819b31175b 100644 --- a/recipes/opentracing-cpp/all/conandata.yml +++ b/recipes/opentracing-cpp/all/conandata.yml @@ -4,5 +4,4 @@ sources: sha256: 5b170042da4d1c4c231df6594da120875429d5231e9baa5179822ee8d1054ac3 patches: "1.6.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-Set-default-installation-folders.patch" + - patch_file: "patches/0001-Set-default-installation-folders.patch" diff --git a/recipes/opentracing-cpp/all/conanfile.py b/recipes/opentracing-cpp/all/conanfile.py index 16f16b80280d2..bd664e1278224 100644 --- a/recipes/opentracing-cpp/all/conanfile.py +++ b/recipes/opentracing-cpp/all/conanfile.py @@ -1,17 +1,21 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir + +required_conan_version = ">=1.53.0" class OpenTracingConan(ConanFile): name = "opentracing-cpp" description = "C++ implementation of the OpenTracing API http://opentracing.io" license = "Apache-2.0" - topics = ("conan", "opentracing") - homepage = "https://github.com/opentracing/opentracing-cpp" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "patches/*.patch"] - generators = "cmake" + homepage = "https://github.com/opentracing/opentracing-cpp" + topics = "opentracing" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,15 +30,8 @@ class OpenTracingConan(ConanFile): "enable_dynamic_load": False, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -42,78 +39,70 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_MOCKTRACER"] = self.options.enable_mocktracer + tc.variables["BUILD_DYNAMIC_LOADING"] = self.options.enable_dynamic_load + tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.variables["BUILD_TESTING"] = False + tc.variables["ENABLE_LINTING"] = False + tc.generate() def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_MOCKTRACER"] = self.options.enable_mocktracer - self._cmake.definitions[ - "BUILD_DYNAMIC_LOADING" - ] = self.options.enable_dynamic_load - self._cmake.definitions["BUILD_SHARED_LIBS"] = self.options.shared - self._cmake.definitions["BUILD_STATIC_LIBS"] = not self.options.shared - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["ENABLE_LINTING"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "OpenTracing" - self.cpp_info.names["cmake_find_package_multi"] = "OpenTracing" + self.cpp_info.set_property("cmake_file_name", "OpenTracing") + self.cpp_info.set_property("cmake_target_name", "OpenTracing::OpenTracing") target_suffix = "" if self.options.shared else "-static" - lib_suffix = ( - "" if self.options.shared or self.settings.os != "Windows" else "-static" - ) + lib_suffix = "" if self.options.shared or self.settings.os != "Windows" else "-static" + # opentracing - self.cpp_info.components["opentracing"].names["cmake_find_package"] = ( - "opentracing" + target_suffix - ) - self.cpp_info.components["opentracing"].names["cmake_find_package_multi"] = ( - "opentracing" + target_suffix - ) - self.cpp_info.components["opentracing"].libs = ["opentracing" + lib_suffix] + opentracing = self.cpp_info.components["opentracing"] + opentracing.set_property("cmake_target_name", "OpenTracing::opentracing" + target_suffix) + opentracing.names["cmake_find_package"] = "opentracing" + target_suffix + opentracing.names["cmake_find_package_multi"] = "opentracing" + target_suffix + opentracing.libs = ["opentracing" + lib_suffix] if not self.options.shared: - self.cpp_info.components["opentracing"].defines.append("OPENTRACING_STATIC") + opentracing.defines.append("OPENTRACING_STATIC") if self.options.enable_dynamic_load and self.settings.os in ("Linux", "FreeBSD"): - self.cpp_info.components["opentracing"].system_libs.append("dl") + opentracing.system_libs.append("dl") # opentracing_mocktracer if self.options.enable_mocktracer: - self.cpp_info.components["opentracing_mocktracer"].names[ - "cmake_find_package" - ] = ("opentracing_mocktracer" + target_suffix) - self.cpp_info.components["opentracing_mocktracer"].names[ - "cmake_find_package_multi" - ] = ("opentracing_mocktracer" + target_suffix) - self.cpp_info.components["opentracing_mocktracer"].libs = [ - "opentracing_mocktracer" + lib_suffix - ] - self.cpp_info.components["opentracing_mocktracer"].requires = [ - "opentracing" - ] + opentracing_mocktracer = self.cpp_info.components["opentracing_mocktracer"] + opentracing_mocktracer.set_property("cmake_target_name", "OpenTracing::opentracing_mocktracer" + target_suffix) + opentracing_mocktracer.names["cmake_find_package"] = "opentracing_mocktracer" + target_suffix + opentracing_mocktracer.names["cmake_find_package_multi"] = "opentracing_mocktracer" + target_suffix + opentracing_mocktracer.libs = ["opentracing_mocktracer" + lib_suffix] + opentracing_mocktracer.requires = ["opentracing"] if not self.options.shared: - self.cpp_info.components["opentracing_mocktracer"].defines.append( - "OPENTRACING_MOCK_TRACER_STATIC" - ) + opentracing_mocktracer.defines.append("OPENTRACING_MOCK_TRACER_STATIC") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "OpenTracing" + self.cpp_info.names["cmake_find_package_multi"] = "OpenTracing" diff --git a/recipes/opentracing-cpp/all/test_package/CMakeLists.txt b/recipes/opentracing-cpp/all/test_package/CMakeLists.txt index 124ca7e918838..e9ddbfa9df183 100644 --- a/recipes/opentracing-cpp/all/test_package/CMakeLists.txt +++ b/recipes/opentracing-cpp/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(OpenTracing REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/opentracing-cpp/all/test_package/conanfile.py b/recipes/opentracing-cpp/all/test_package/conanfile.py index abcaeed3f89b6..ef5d7042163ec 100644 --- a/recipes/opentracing-cpp/all/test_package/conanfile.py +++ b/recipes/opentracing-cpp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.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/opentracing-cpp/all/test_package/test_package.cpp b/recipes/opentracing-cpp/all/test_package/test_package.cpp index ca88714cbdbf7..85d2151582572 100644 --- a/recipes/opentracing-cpp/all/test_package/test_package.cpp +++ b/recipes/opentracing-cpp/all/test_package/test_package.cpp @@ -7,6 +7,6 @@ int main() { auto tracer = MakeNoopTracer(); auto span1 = tracer->StartSpan("a"); - + return 0; } diff --git a/recipes/opentracing-cpp/all/test_v1_package/CMakeLists.txt b/recipes/opentracing-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/opentracing-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/opentracing-cpp/all/test_v1_package/conanfile.py b/recipes/opentracing-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/opentracing-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 237d3a8e1607e48a7114ac2d3a69032797e78853 Mon Sep 17 00:00:00 2001 From: Michael Keck Date: Thu, 17 Aug 2023 13:34:38 +0200 Subject: [PATCH 1245/4087] (#19029) openssl: add 1.1.1v, 3.0.10, 3.1.2 --- recipes/openssl/1.x.x/conandata.yml | 27 +++++++++------------------ recipes/openssl/3.x.x/conandata.yml | 19 ++++++++++--------- recipes/openssl/config.yml | 14 ++++++-------- 3 files changed, 25 insertions(+), 35 deletions(-) diff --git a/recipes/openssl/1.x.x/conandata.yml b/recipes/openssl/1.x.x/conandata.yml index e9abce013a402..14abde7996026 100644 --- a/recipes/openssl/1.x.x/conandata.yml +++ b/recipes/openssl/1.x.x/conandata.yml @@ -9,17 +9,6 @@ sources: url: - "https://www.openssl.org/source/openssl-1.1.0l.tar.gz" - "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0l.tar.gz" - 1.1.1q: - sha256: d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca - url: - - "https://www.openssl.org/source/openssl-1.1.1q.tar.gz" - - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1q.tar.gz" - 1.1.1s: - sha256: c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa - url: - - "https://www.openssl.org/source/openssl-1.1.1s.tar.gz" - - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1s.tar.gz" - - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1s/openssl-1.1.1s.tar.gz" 1.1.1t: sha256: 8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b url: @@ -32,24 +21,26 @@ sources: - "https://www.openssl.org/source/openssl-1.1.1u.tar.gz" - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1u.tar.gz" - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1u/openssl-1.1.1u.tar.gz" + 1.1.1v: + sha256: d6697e2871e77238460402e9362d47d18382b15ef9f246aba6c7bd780d38a6b0 + url: + - "https://www.openssl.org/source/openssl-1.1.1v.tar.gz" + - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz" + - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1v/openssl-1.1.1v.tar.gz" patches: 1.0.2u: - patch_file: patches/1.0.2u-darwin-arm64.patch patch_description: "Darwin ARM64 support" patch_type: "portability" - 1.1.1q: - - patch_file: patches/1.1.1-tvos-watchos.patch - patch_description: "TVOS and WatchOS don't like fork()" - patch_type: "portability" - 1.1.1s: + 1.1.1t: - patch_file: patches/1.1.1-tvos-watchos.patch patch_description: "TVOS and WatchOS don't like fork()" patch_type: "portability" - 1.1.1t: + 1.1.1u: - patch_file: patches/1.1.1-tvos-watchos.patch patch_description: "TVOS and WatchOS don't like fork()" patch_type: "portability" - 1.1.1u: + 1.1.1v: - patch_file: patches/1.1.1-tvos-watchos.patch patch_description: "TVOS and WatchOS don't like fork()" patch_type: "portability" diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index d51b393f65f34..f1fe5a2743364 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,4 +1,9 @@ sources: + 3.1.2: + url: + - "https://www.openssl.org/source/openssl-3.1.2.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.1.2/openssl-3.1.2.tar.gz" + sha256: a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539 3.1.1: url: - "https://www.openssl.org/source/openssl-3.1.1.tar.gz" @@ -9,6 +14,11 @@ sources: - "https://www.openssl.org/source/openssl-3.1.0.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.1.0/openssl-3.1.0.tar.gz" sha256: aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4 + 3.0.10: + url: + - "https://www.openssl.org/source/openssl-3.0.10.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.0.10/openssl-3.0.10.tar.gz" + sha256: 1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323 3.0.9: url: - "https://www.openssl.org/source/openssl-3.0.9.tar.gz" @@ -19,12 +29,3 @@ sources: - "https://www.openssl.org/source/openssl-3.0.8.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.0.8/openssl-3.0.8.tar.gz" sha256: 6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e - 3.0.7: - url: - - "https://www.openssl.org/source/openssl-3.0.7.tar.gz" - - "https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz" - sha256: 83049d042a260e696f62406ac5c08bf706fd84383f945cf21bd61e9ed95c396e - 3.0.5: - url: - - "https://www.openssl.org/source/openssl-3.0.5.tar.gz" - sha256: aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index baf4bcb4f9215..add37f9129c6c 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,28 +1,26 @@ versions: # 3.1.x releases + 3.1.2: + folder: "3.x.x" 3.1.1: folder: "3.x.x" 3.1.0: folder: "3.x.x" # 3.0.x releases + 3.0.10: + folder: "3.x.x" 3.0.9: folder: "3.x.x" 3.0.8: folder: "3.x.x" - 3.0.7: - folder: "3.x.x" - 3.0.5: - folder: "3.x.x" # 1.1.1x releases + 1.1.1v: + folder: "1.x.x" 1.1.1u: folder: "1.x.x" 1.1.1t: folder: "1.x.x" - 1.1.1s: - folder: "1.x.x" - 1.1.1q: - folder: "1.x.x" # 1.1.0x releases 1.1.0l: folder: "1.x.x" From 8903e2251f9e2f68d86c026d09a3effecc0421ac Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 17 Aug 2023 22:20:32 +0900 Subject: [PATCH 1246/4087] (#19155) trompeloeil: add version 45 --- recipes/trompeloeil/all/conandata.yml | 7 +++-- recipes/trompeloeil/all/conanfile.py | 38 +++++++++++++++++++-------- recipes/trompeloeil/config.yml | 2 ++ 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/recipes/trompeloeil/all/conandata.yml b/recipes/trompeloeil/all/conandata.yml index bb27ac3c59d8a..6aebe5771a442 100644 --- a/recipes/trompeloeil/all/conandata.yml +++ b/recipes/trompeloeil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "45": + url: "https://github.com/rollbear/trompeloeil/archive/v45.tar.gz" + sha256: "124b0aa45d84415193719376b6557fc1f1180cbfebf4dc4f7ca247cb404d6bd8" "43": url: "https://github.com/rollbear/trompeloeil/archive/v43.tar.gz" sha256: "86a0afa2e97347202a0a883ab43da78c1d4bfff0d6cb93205cfc433d0d9eb9eb" @@ -12,5 +15,5 @@ sources: url: "https://github.com/rollbear/trompeloeil/archive/v40.tar.gz" sha256: "e13e3649223a358a5a72fa5a8a1c36325b48e4f3d9d2f2277b17d746797e1734" "39": - url: https://github.com/rollbear/trompeloeil/archive/v39.tar.gz - sha256: 10506E48ABD605740BC9ED43E34059F5068BC80AF14476BD129A3ED3B54D522F + url: "https://github.com/rollbear/trompeloeil/archive/v39.tar.gz" + sha256: "10506E48ABD605740BC9ED43E34059F5068BC80AF14476BD129A3ED3B54D522F" diff --git a/recipes/trompeloeil/all/conanfile.py b/recipes/trompeloeil/all/conanfile.py index c2548bfe997b8..e3776238f24cf 100644 --- a/recipes/trompeloeil/all/conanfile.py +++ b/recipes/trompeloeil/all/conanfile.py @@ -1,22 +1,38 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" - class TrompeloeilConan(ConanFile): name = "trompeloeil" description = "Header only C++14 mocking framework" - topics = ("trompeloeil", "header-only", "mocking") - homepage = "https://github.com/rollbear/trompeloeil" - url = "https://github.com/conan-io/conan-center-index" license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/rollbear/trompeloeil" + topics = ("header-only", "mocking") + 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 { + "Visual Studio": "15", + "msvc": "190", + "gcc": "5", + "clang": "5", + "apple-clang": "5.1", + } + def layout(self): basic_layout(self, src_folder="src") @@ -25,14 +41,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*.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -43,4 +60,3 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "trompeloeil::trompeloeil") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/trompeloeil/config.yml b/recipes/trompeloeil/config.yml index 26645b05ba8da..2353875452e46 100644 --- a/recipes/trompeloeil/config.yml +++ b/recipes/trompeloeil/config.yml @@ -1,4 +1,6 @@ versions: + "45": + folder: all "43": folder: all "42": From 4df95709fa0f55c17fc2aafe5ce6d270402d0a81 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 17 Aug 2023 18:48:13 +0400 Subject: [PATCH 1247/4087] (#19172) pugixml: set package_type --- recipes/pugixml/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/pugixml/all/conanfile.py b/recipes/pugixml/all/conanfile.py index c5890f6dbab55..7ac623ed2f081 100644 --- a/recipes/pugixml/all/conanfile.py +++ b/recipes/pugixml/all/conanfile.py @@ -15,6 +15,7 @@ class PugiXmlConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://pugixml.org/" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { From 323a1f889dc0f1c8b03b9e90f6f70c062b6d95af Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 17 Aug 2023 19:17:03 +0300 Subject: [PATCH 1248/4087] (#19181) Added kdbindings/1.0.3 KDBindings enables reactive programming & data binding in C++ From plain C++ you get: - Signals + Slots. - Properties templated on the contained type. - Property bindings allowing reactive code to be written without having to do all the low-level, error prone plumbing by hand. Lazy evaluation of property bindings. - No more broken bindings. - Totally stand-alone "header-only" library. --- recipes/kdbindings/all/conandata.yml | 4 ++ recipes/kdbindings/all/conanfile.py | 54 ++++++++++++++++ .../all/test_package/CMakeLists.txt | 15 +++++ .../kdbindings/all/test_package/conanfile.py | 26 ++++++++ recipes/kdbindings/all/test_package/main.cpp | 63 +++++++++++++++++++ recipes/kdbindings/config.yml | 3 + 6 files changed, 165 insertions(+) create mode 100644 recipes/kdbindings/all/conandata.yml create mode 100644 recipes/kdbindings/all/conanfile.py create mode 100644 recipes/kdbindings/all/test_package/CMakeLists.txt create mode 100644 recipes/kdbindings/all/test_package/conanfile.py create mode 100644 recipes/kdbindings/all/test_package/main.cpp create mode 100644 recipes/kdbindings/config.yml diff --git a/recipes/kdbindings/all/conandata.yml b/recipes/kdbindings/all/conandata.yml new file mode 100644 index 0000000000000..fa9ce176c1b03 --- /dev/null +++ b/recipes/kdbindings/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.3": + url: "https://github.com/KDAB/KDBindings/archive/refs/tags/v1.0.3.tar.gz" + sha256: "da8de679d12bf123df6a3c63a482a862d4122a2f3d3567c9b3b2fc2c4f574393" diff --git a/recipes/kdbindings/all/conanfile.py b/recipes/kdbindings/all/conanfile.py new file mode 100644 index 0000000000000..9f1cf776a90f2 --- /dev/null +++ b/recipes/kdbindings/all/conanfile.py @@ -0,0 +1,54 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.scm import Version +import os + +class KDBindingsConan(ConanFile): + name = "kdbindings" + license = "MIT" + topics = ("c++17", "reactive", "kdab", "header-only") + description = "Reactive programming & data binding in C++" + homepage = "https://github.com/KDAB/KDBindings" + url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self.source_folder) + + @property + def _compilers_minimum_version(self): + return { + "gcc": "9", + "Visual Studio": "15.7", + "clang": "7", + "apple-clang": "11", + } + + def validate(self): + if self.settings.compiler.get_safe("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.") + + def build(self): + pass + + def package(self): + copy(self, "*.h", os.path.join(self.source_folder, "src","kdbindings"), os.path.join(self.package_folder, "include", "kdbindings")) + copy(self, "LICENSES/*", dst=os.path.join(self.package_folder,"licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "KDBindings") + self.cpp_info.set_property("cmake_target_name", "KDAB::KDBindings") + self.cpp_info.set_property("cmake_target_aliases", ["KDBindings"]) diff --git a/recipes/kdbindings/all/test_package/CMakeLists.txt b/recipes/kdbindings/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..cbd352d1e0df7 --- /dev/null +++ b/recipes/kdbindings/all/test_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(KDBindings REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} PRIVATE KDAB::KDBindings) + +set_target_properties(${PROJECT_NAME} + PROPERTIES + CMAKE_INCLUDE_CURRENT_DIRS ON + CXX_STANDARD 17 + CXX_STANDARD_REQUIRED ON +) diff --git a/recipes/kdbindings/all/test_package/conanfile.py b/recipes/kdbindings/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/kdbindings/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/kdbindings/all/test_package/main.cpp b/recipes/kdbindings/all/test_package/main.cpp new file mode 100644 index 0000000000000..82e0dc503f17b --- /dev/null +++ b/recipes/kdbindings/all/test_package/main.cpp @@ -0,0 +1,63 @@ +/* + This file is part of KDBindings. + + SPDX-FileCopyrightText: 2021-2022 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Leon Matthes + + SPDX-License-Identifier: MIT + + Contact KDAB at for commercial licensing options. +*/ + +#include +#include + +#include +#include + +using namespace KDBindings; + +void display() +{ + std::cout << "Hello World!" << std::endl; +} + +void displayLabelled(const std::string &label, int value) +{ + std::cout << label << ": " << value << std::endl; +} + +class SignalHandler +{ +public: + bool received = 0; + + void receive() + { + received = true; + } +}; + +int main() +{ + Signal signal; + + // Signal::connect allows connecting functions that take too few arguments. + signal.connect(display); + + // As well as functions with too many arguments, as long as default values are provided. + signal.connect(displayLabelled, "Emitted value"); + + // This is very useful to connect member functions, where the first implicit argument + // is a pointer to the "this" object. + SignalHandler handler; + signal.connect(&SignalHandler::receive, &handler); + + // This will print "Hello World!" and "Emitted value: 5" in an unspecified order. + // It will also set handler.received to true + signal.emit(5); + + std::cout << std::boolalpha << handler.received << std::endl; + + return 0; +} diff --git a/recipes/kdbindings/config.yml b/recipes/kdbindings/config.yml new file mode 100644 index 0000000000000..372dd1cb646bd --- /dev/null +++ b/recipes/kdbindings/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.3": + folder: all From 9436459b4a909c4c533ffe27a95c1f21cbdbbfa8 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 17 Aug 2023 12:22:34 -0500 Subject: [PATCH 1249/4087] (#18211) gdcm: Switch libuuid to util-linux-libuuid * gdcm: Switch libuuid to util-linux-libuuid The util-linux-libuuid package relies on an actively maintained project. The libuuid package uses a stale project. Use the active project instead to fix conflicts. Fixes #18203. * Fix component requires * Revert patches --- recipes/gdcm/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index d7959e0134184..8a628f7457e27 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): else: self.requires("zlib/1.2.13") if self.settings.os != "Windows": - self.requires("libuuid/1.0.3") + self.requires("util-linux-libuuid/2.39") if Version(self.version) >= Version("3.0.20"): self.requires("libiconv/1.17") if self.options.with_json: @@ -241,7 +241,7 @@ def zlib(): if self.options.with_json: self.cpp_info.components["gdcmMSFF"].requires.append("json-c::json-c") if self.settings.os != "Windows": - self.cpp_info.components["gdcmMSFF"].requires.append("libuuid::libuuid") + self.cpp_info.components["gdcmMSFF"].requires.append("util-linux-libuuid::util-linux-libuuid") if Version(self.version) >= Version("3.0.20"): self.cpp_info.components["gdcmMSFF"].requires.append("libiconv::libiconv") if not self.options.shared: From b81d32a6c3513836a1f36cd5b5ebd28c8f45685d Mon Sep 17 00:00:00 2001 From: Liss Heidrich <31625940+Clueliss@users.noreply.github.com> Date: Thu, 17 Aug 2023 20:41:02 +0200 Subject: [PATCH 1250/4087] (#19206) Add new metall versions * add new metall versions * update boost * newlines --------- Co-authored-by: Liss Heidrich --- recipes/metall/all/conandata.yml | 9 +++++++++ recipes/metall/all/conanfile.py | 2 +- recipes/metall/config.yml | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/recipes/metall/all/conandata.yml b/recipes/metall/all/conandata.yml index 788ef5da15507..96fee3029b84f 100644 --- a/recipes/metall/all/conandata.yml +++ b/recipes/metall/all/conandata.yml @@ -8,3 +8,12 @@ sources: "0.23.1": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.23.1.tar.gz" sha256: "25e8fbc424e66d09e0faf60029288e4612685675bfd947cc142bd9d6d0645ac4" + "0.24": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.24.tar.gz" + sha256: "872de2a1b76d44e6876c0b672c0cc518c6f334959e4a229f2f18cc7e01edf477" + "0.25": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.25.tar.gz" + sha256: "223cb54543b62a62fdbbe6274b02ddcc14b29806e344ee7e2fd3f055c2374295" + "0.26": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" + sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" diff --git a/recipes/metall/all/conanfile.py b/recipes/metall/all/conanfile.py index 957ba5421027f..c629633bf0094 100644 --- a/recipes/metall/all/conanfile.py +++ b/recipes/metall/all/conanfile.py @@ -27,7 +27,7 @@ def _compilers_minimum_version(self): } def requirements(self): - self.requires("boost/1.79.0") + self.requires("boost/1.81.0") def package_id(self): self.info.clear() diff --git a/recipes/metall/config.yml b/recipes/metall/config.yml index e3fb6e5067c49..11daea4abf351 100644 --- a/recipes/metall/config.yml +++ b/recipes/metall/config.yml @@ -5,3 +5,9 @@ versions: folder: all "0.23.1": folder: all + "0.24": + folder: all + "0.25": + folder: all + "0.26": + folder: all From 3eb269f14ab9c3b5bfe5fa769011bb3bd78ec865 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 04:34:23 +0900 Subject: [PATCH 1251/4087] (#19210) gperftools: add version 2.11.0 * gperftools: add version 2.11 * enable C++11 * drop support gcc < 7 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/all/conanfile.py | 19 ++++++++++++++----- .../all/test_package/CMakeLists.txt | 2 ++ recipes/gperftools/config.yml | 2 ++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index 8b70af3488037..439e56462f63f 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.0": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.11/gperftools-2.11.tar.gz" + sha256: "8ffda10e7c500fea23df182d7adddbf378a203c681515ad913c28a64b87e24dc" "2.10.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz" sha256: "83e3bfdd28b8bcf53222c3798d4d395d52dadbbae59e8730c4a6d31a9c3732d8" diff --git a/recipes/gperftools/all/conanfile.py b/recipes/gperftools/all/conanfile.py index 60812b411ba17..d1bcecf43d394 100644 --- a/recipes/gperftools/all/conanfile.py +++ b/recipes/gperftools/all/conanfile.py @@ -1,17 +1,16 @@ -import os - from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun -from conan.tools.build import cross_building +from conan.tools.build import cross_building, check_min_cppstd from conan.tools.cmake import cmake_layout from conan.tools.env import VirtualRunEnv from conan.tools.files import get, copy, rm, rmdir, replace_in_file from conan.tools.gnu import AutotoolsToolchain, AutotoolsDeps, Autotools +from conan.tools.scm import Version +import os required_conan_version = ">=1.53.0" - class GperftoolsConan(ConanFile): name = "gperftools" description = "High-performance multi-threaded malloc()" @@ -58,6 +57,10 @@ class GperftoolsConan(ConanFile): "tcmalloc_pagesize": None, } + @property + def _min_cppstd(self): + return 11 + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -88,9 +91,15 @@ 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) + + if Version(self.version) >= "2.11.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration(f"{self.ref} does not support gcc < 7.") + if self.settings.os == "Windows": raise ConanInvalidConfiguration( - "gperftools recipe does not currently support Windows. Contributions are welcome." + f"{self.ref} does not currently support Windows. Contributions are welcome." ) def requirements(self): diff --git a/recipes/gperftools/all/test_package/CMakeLists.txt b/recipes/gperftools/all/test_package/CMakeLists.txt index c9f3e082d85e9..0f311015a73f5 100644 --- a/recipes/gperftools/all/test_package/CMakeLists.txt +++ b/recipes/gperftools/all/test_package/CMakeLists.txt @@ -5,6 +5,8 @@ find_package(gperftools REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE gperftools::gperftools) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) add_executable(${PROJECT_NAME}_minimal test_package.cpp) target_link_libraries(${PROJECT_NAME}_minimal PRIVATE gperftools::tcmalloc_minimal) +target_compile_features(${PROJECT_NAME}_minimal PRIVATE cxx_std_11) diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 22d65dcfdfac6..caf3d64443304 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,3 +1,5 @@ versions: + "2.11.0": + folder: all "2.10.0": folder: all From 0173669136e137d71f1dd9204756c0f7697fe07c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 06:02:36 +0900 Subject: [PATCH 1252/4087] (#19258) plusaes: add version 1.0.0 --- recipes/plusaes/all/conandata.yml | 3 +++ recipes/plusaes/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plusaes/all/conandata.yml b/recipes/plusaes/all/conandata.yml index 539b28539b874..595f0e1a79d21 100644 --- a/recipes/plusaes/all/conandata.yml +++ b/recipes/plusaes/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/kkAyataka/plusaes/archive/refs/tags/v1.0.0.tar.gz" + sha256: "0e33e8d0e2ea5e6f9eb7a06093f576350ce8ef58339ce9de791514a8f433087d" "0.10.0": url: "https://github.com/kkAyataka/plusaes/archive/refs/tags/v0.10.0.tar.gz" sha256: "092d64f372f5b732c8e35ab8f1049d4c6ef2eaa4c6ababc56b541b26f4095e51" diff --git a/recipes/plusaes/config.yml b/recipes/plusaes/config.yml index 1b582dcf6716b..f5fa9d899d244 100644 --- a/recipes/plusaes/config.yml +++ b/recipes/plusaes/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.0": + folder: all "0.10.0": folder: all From 09f811dc675618ada4ffb3455837772a4f010344 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 07:53:41 +0900 Subject: [PATCH 1253/4087] (#19255) s2n: add version 1.3.49 --- 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 1f39628799a66..26760a8527f22 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.49": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.49.tar.gz" + sha256: "2bc7b170a750a435ad02ab8e696c3ad6e9bb7a585c02899472793f87670184dd" "1.3.31": url: "https://github.com/aws/s2n-tls/archive/v1.3.31.tar.gz" sha256: "23cfb42f82cbe1ce94b59f3b1c1c8eb9d24af2a1ae4c8f854209ff88fddd3900" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 611e0f7be0d88..7c0e248cb28f0 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.49": + folder: all "1.3.31": folder: all "1.3.15": From a5737003c16ba8df5b4f1184ab2745fdfbf0b049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludwig=20F=C3=BCchsl?= Date: Fri, 18 Aug 2023 01:48:50 +0200 Subject: [PATCH 1254/4087] (#19250) [package] angelscript/2.36.1 (Update) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (Maybe we need the last patch again) Co-authored-by: Rubén Rincón Blanco --- recipes/angelscript/all/conandata.yml | 3 +++ recipes/angelscript/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/angelscript/all/conandata.yml b/recipes/angelscript/all/conandata.yml index 1dec7ac1d3e71..edfe7e005b855 100644 --- a/recipes/angelscript/all/conandata.yml +++ b/recipes/angelscript/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.36.1": + url: "https://www.angelcode.com/angelscript/sdk/files/angelscript_2.36.1.zip" + sha256: "58bb749af9c7e386304705f4e6e627ae41dfe03e0b6a73c3d0d2e017c4fc948f" "2.36.0": url: "https://www.angelcode.com/angelscript/sdk/files/angelscript_2.36.0.zip" sha256: "33f95f7597bc0d88b097d35e7b1320d15419ffc5779851d9d2a6cccec57811b3" diff --git a/recipes/angelscript/config.yml b/recipes/angelscript/config.yml index 22190418b16a2..f3cbb4fedf454 100644 --- a/recipes/angelscript/config.yml +++ b/recipes/angelscript/config.yml @@ -1,4 +1,6 @@ versions: + "2.36.1": + folder: all "2.36.0": folder: all "2.35.1": From 4dc114ec7193f54889ecb64823e975a570622ae8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 18 Aug 2023 03:07:01 +0300 Subject: [PATCH 1255/4087] (#19256) maven: fix dead URL, bump JDK dep * maven: remove old version with dead URL, bump JDK dep Based on https://repology.org/repository/conancenter/problems * maven: restore v3.9.2, use archive URL --- recipes/maven/all/conandata.yml | 6 ++++-- recipes/maven/all/conanfile.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/maven/all/conandata.yml b/recipes/maven/all/conandata.yml index ce4fe6b87794c..a0978eddc0d68 100644 --- a/recipes/maven/all/conandata.yml +++ b/recipes/maven/all/conandata.yml @@ -1,7 +1,9 @@ sources: "3.9.4": - url: "https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz" + url: + - "https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz" + - "https://archive.apache.org/dist/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz" sha256: "ff66b70c830a38d331d44f6c25a37b582471def9a161c93902bac7bea3098319" "3.9.2": - url: "https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz" + url: "https://archive.apache.org/dist/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz" sha256: "809ef3220c6d179195c06c324cb9a6d34d8ecba566c5cfd8eb83167bc034117d" diff --git a/recipes/maven/all/conanfile.py b/recipes/maven/all/conanfile.py index f1f95efee4fb1..31d963f2df4c1 100644 --- a/recipes/maven/all/conanfile.py +++ b/recipes/maven/all/conanfile.py @@ -18,7 +18,7 @@ def layout(self): pass def requirements(self): - self.requires("zulu-openjdk/11.0.15") + self.requires("zulu-openjdk/11.0.19") def package_id(self): del self.info.settings.arch From f0ded7723bf6e12a8226fb3e011952a2a1719c9b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 18 Aug 2023 07:42:14 +0200 Subject: [PATCH 1256/4087] (#19246) [bot] Update authorized users list (2023-08-17) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index d4bb58861e74d..fcf61aaa08fd3 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1215,3 +1215,4 @@ authorized_users: - Arkokat - adattatri - jwfallawuiuc +- tgurriet From 1c43599843bb53254030b06faace72f313c9292f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 18 Aug 2023 08:05:19 +0200 Subject: [PATCH 1257/4087] (#19248) harfbuzz: Bump dependencies, fix glib tool_requires * Bump dependencies, fix glib tool_requires * Fix version check, fix outdated url --- recipes/harfbuzz/all/conanfile.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index c31c4772cdf26..ce1aa84efb199 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os, fix_apple_shared_install_name from conan.tools.build import can_run, stdcpp_library -from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.env import Environment, VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, replace_in_file from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout @@ -12,7 +12,7 @@ import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" class HarfbuzzConan(ConanFile): @@ -20,7 +20,7 @@ class HarfbuzzConan(ConanFile): description = "HarfBuzz is an OpenType text shaping engine." topics = ("opentype", "text", "engine") url = "https://github.com/conan-io/conan-center-index" - homepage = "http://harfbuzz.org" + homepage = "https://harfbuzz.github.io/" license = "MIT" package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -78,9 +78,9 @@ def requirements(self): if self.options.with_freetype: self.requires("freetype/2.13.0") if self.options.with_icu: - self.requires("icu/73.1") + self.requires("icu/73.2") if self.options.with_glib: - self.requires("glib/2.76.3", run=can_run(self)) + self.requires("glib/2.77.0") def validate(self): if self.options.shared and self.options.with_glib and not self.dependencies["glib"].options.shared: @@ -100,8 +100,8 @@ def build_requirements(self): self.tool_requires("meson/1.1.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") - if self.options.with_glib and not can_run(self): - self.tool_requires("glib/2.76.3") + if self.options.with_glib: + self.tool_requires("glib/") if self.settings.os == "Macos": # Ensure that the gettext we use at build time is compatible # with the libiconv that is transitively exposed by glib @@ -125,8 +125,6 @@ def is_vs_2017(): return "ninja", [] VirtualBuildEnv(self).generate() - if self.options.with_glib and can_run(self): - VirtualRunEnv(self).generate(scope="build") # Avoid conflicts with libiconv # see: https://github.com/conan-io/conan-center-index/pull/17046#issuecomment-1554629094 From 6a85defe83b26432983a95f57a8ee60261b5cbdf Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 16:07:43 +0900 Subject: [PATCH 1258/4087] (#18963) streamvbyte: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * streamvbyte: add recipe * fix installation path on windows * remove empty line * Update recipes/streamvbyte/all/test_package/test_package.c --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/streamvbyte/all/conandata.yml | 9 +++ recipes/streamvbyte/all/conanfile.py | 63 +++++++++++++++++++ .../all/patches/1.0.0-0001-fix-cmake.patch | 17 +++++ .../all/test_package/CMakeLists.txt | 7 +++ .../streamvbyte/all/test_package/conanfile.py | 26 ++++++++ .../all/test_package/test_package.c | 29 +++++++++ recipes/streamvbyte/config.yml | 3 + 7 files changed, 154 insertions(+) create mode 100644 recipes/streamvbyte/all/conandata.yml create mode 100644 recipes/streamvbyte/all/conanfile.py create mode 100644 recipes/streamvbyte/all/patches/1.0.0-0001-fix-cmake.patch create mode 100644 recipes/streamvbyte/all/test_package/CMakeLists.txt create mode 100644 recipes/streamvbyte/all/test_package/conanfile.py create mode 100644 recipes/streamvbyte/all/test_package/test_package.c create mode 100644 recipes/streamvbyte/config.yml diff --git a/recipes/streamvbyte/all/conandata.yml b/recipes/streamvbyte/all/conandata.yml new file mode 100644 index 0000000000000..a5dd541a0c780 --- /dev/null +++ b/recipes/streamvbyte/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.0.0": + url: "https://github.com/lemire/streamvbyte/archive/refs/tags/v1.0.0.tar.gz" + sha256: "6b1920e9865146ba444cc317aa61cd39cdf760236e354ef7956011a9fe577882" +patches: + "1.0.0": + - patch_file: "patches/1.0.0-0001-fix-cmake.patch" + patch_description: "fix install destination" + patch_type: "conan" diff --git a/recipes/streamvbyte/all/conanfile.py b/recipes/streamvbyte/all/conanfile.py new file mode 100644 index 0000000000000..e296e0b170799 --- /dev/null +++ b/recipes/streamvbyte/all/conanfile.py @@ -0,0 +1,63 @@ +from conan import ConanFile +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class StreamvbyteConan(ConanFile): + name = "streamvbyte" + description = "Fast integer compression in C using the StreamVByte codec" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/lemire/streamvbyte" + topics = ("compression", "simd") + 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.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["STREAMVBYTE_WERROR"] = False + tc.variables["STREAMVBYTE_WALL"] = False + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["streamvbyte"] diff --git a/recipes/streamvbyte/all/patches/1.0.0-0001-fix-cmake.patch b/recipes/streamvbyte/all/patches/1.0.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..99ab62225b638 --- /dev/null +++ b/recipes/streamvbyte/all/patches/1.0.0-0001-fix-cmake.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b6aa73e..547c44d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -136,7 +136,11 @@ install( + ${PROJECT_SOURCE_DIR}/include/streamvbyte_zigzag.h + DESTINATION include + ) +-install(TARGETS streamvbyte DESTINATION lib) ++install(TARGETS streamvbyte ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) + + option(STREAMVBYTE_SANITIZE_UNDEFINED "Sanitize undefined behavior" OFF) + if(STREAMVBYTE_SANITIZE_UNDEFINED) diff --git a/recipes/streamvbyte/all/test_package/CMakeLists.txt b/recipes/streamvbyte/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..531d5c3182e36 --- /dev/null +++ b/recipes/streamvbyte/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(streamvbyte REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE streamvbyte::streamvbyte) diff --git a/recipes/streamvbyte/all/test_package/conanfile.py b/recipes/streamvbyte/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/streamvbyte/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/streamvbyte/all/test_package/test_package.c b/recipes/streamvbyte/all/test_package/test_package.c new file mode 100644 index 0000000000000..bda2ad161f942 --- /dev/null +++ b/recipes/streamvbyte/all/test_package/test_package.c @@ -0,0 +1,29 @@ +#include +#include +#include + +#include "streamvbyte.h" + +#ifdef __clang__ +#pragma clang diagnostic ignored "-Wdeclaration-after-statement" +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + +int main(void) { + uint32_t N = 100U; + uint32_t * datain = malloc(N * sizeof(uint32_t)); + uint8_t * compressedbuffer = malloc(streamvbyte_max_compressedbytes(N)); + uint32_t * recovdata = malloc(N * sizeof(uint32_t)); + for (uint32_t k = 0; k < N; ++k) + datain[k] = 120; + size_t compsize = streamvbyte_encode(datain, N, compressedbuffer); // encoding + // here the result is stored in compressedbuffer using compsize bytes + size_t compsize2 = streamvbyte_decode(compressedbuffer, recovdata, + N); // decoding (fast) + assert(compsize == compsize2); + free(datain); + free(compressedbuffer); + free(recovdata); + printf("Compressed %d integers down to %d bytes.\n",N,(int) compsize); + return 0; +} diff --git a/recipes/streamvbyte/config.yml b/recipes/streamvbyte/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/streamvbyte/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all From e1b937bd3093567402be2f5e9552630aee5e1dfa Mon Sep 17 00:00:00 2001 From: Joris Putcuyps Date: Fri, 18 Aug 2023 09:29:49 +0200 Subject: [PATCH 1259/4087] (#19200) Follow the convention and also provide etl::etl alias. * Follow the convention and also provide etl::etl alias. * Previous property is overwritten * Update recipes/etl/all/conanfile.py Support legacy target Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/etl/all/conanfile.py | 3 ++- recipes/etl/all/test_package/CMakeLists.txt | 2 +- recipes/etl/all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/etl/all/conanfile.py b/recipes/etl/all/conanfile.py index b0f40f7104e26..a1737588ee965 100644 --- a/recipes/etl/all/conanfile.py +++ b/recipes/etl/all/conanfile.py @@ -60,7 +60,8 @@ def _module_file_rel_path(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "etl") - self.cpp_info.set_property("cmake_target_name", "etl") + self.cpp_info.set_property("cmake_target_name", "etl::etl") + self.cpp_info.set_property("cmake_target_aliases", ["etl"]) # legacy target before 20.27.2 self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/etl/all/test_package/CMakeLists.txt b/recipes/etl/all/test_package/CMakeLists.txt index b8e7aee7d9458..abf67a0fae7ee 100644 --- a/recipes/etl/all/test_package/CMakeLists.txt +++ b/recipes/etl/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(etl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -target_link_libraries(${PROJECT_NAME} PRIVATE etl) +target_link_libraries(${PROJECT_NAME} PRIVATE etl::etl) diff --git a/recipes/etl/all/test_v1_package/CMakeLists.txt b/recipes/etl/all/test_v1_package/CMakeLists.txt index b8e7ad788b821..19dd51b438baa 100644 --- a/recipes/etl/all/test_v1_package/CMakeLists.txt +++ b/recipes/etl/all/test_v1_package/CMakeLists.txt @@ -8,4 +8,4 @@ find_package(etl REQUIRED CONFIG) add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -target_link_libraries(${PROJECT_NAME} etl) +target_link_libraries(${PROJECT_NAME} etl::etl) From ddc3b9cdd4144623c127ac10ac470f7eb051aca6 Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Fri, 18 Aug 2023 09:13:45 +0100 Subject: [PATCH 1260/4087] (#19223) nodejs: add version 16.20.2 * nodejs: add version 16.20.2 * Add missing config.yml entry --- recipes/nodejs/all/conandata.yml | 22 ++++++++++++++++++++++ recipes/nodejs/config.yml | 2 ++ 2 files changed, 24 insertions(+) diff --git a/recipes/nodejs/all/conandata.yml b/recipes/nodejs/all/conandata.yml index 0681cc81e538a..56a1be535ef41 100644 --- a/recipes/nodejs/all/conandata.yml +++ b/recipes/nodejs/all/conandata.yml @@ -47,6 +47,28 @@ sources: "armv8": url: "https://nodejs.org/dist/v16.3.0/node-v16.3.0-darwin-arm64.tar.gz" sha256: "aeac294dbe54a4dfd222eedfbae704b185c40702254810e2c5917f6dbc80e017" + "16.20.2": + Windows: + "x86_64": + url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-win-x64.zip" + sha256: "f8bb35f6c08dc7bf14ac753509c06ed1a7ebf5b390cd3fbdc8f8c1aedd020ec3" + Linux: + "x86_64": + url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz" + sha256: "874463523f26ed528634580247f403d200ba17a31adf2de98a7b124c6eb33d87" + "armv7": + url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-armv7l.tar.xz" + sha256: "5f2a2a34d2f19931b8ef39416bde96933e6666f91a2d1a2b92af30627a8e8429" + "armv8": + url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-arm64.tar.xz" + sha256: "e88d86154d1ce53dc52fd74d79d4bfdf0b05f58c0bb2639adfa36e9378b770c4" + Macos: + "x86_64": + url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-darwin-x64.tar.gz" + sha256: "d7a46eaf2b57ffddeda16ece0d887feb2e31a91ad33f8774da553da0249dc4a6" + "armv8": + url: "https://nodejs.org/dist/v16.20.2/node-v16.20.2-darwin-arm64.tar.gz" + sha256: "6a5c4108475871362d742b988566f3fe307f6a67ce14634eb3fbceb4f9eea88c" "18.15.0": Windows: "x86_64": diff --git a/recipes/nodejs/config.yml b/recipes/nodejs/config.yml index e973a099243f7..78cc638a90e4d 100644 --- a/recipes/nodejs/config.yml +++ b/recipes/nodejs/config.yml @@ -5,5 +5,7 @@ versions: folder: all "16.3.0": folder: all + "16.20.2": + folder: all "18.15.0": folder: all From 6e0b64abd1e98161b369dead14ac1f2d7cec9392 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 18 Aug 2023 10:43:45 +0200 Subject: [PATCH 1261/4087] (#19265) [arsenalgear] Bump dependencies: Boost 1.82.0 Signed-off-by: Uilian Ries --- recipes/arsenalgear/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/arsenalgear/all/conanfile.py b/recipes/arsenalgear/all/conanfile.py index 94953657bcd46..2eafb85d1f49a 100644 --- a/recipes/arsenalgear/all/conanfile.py +++ b/recipes/arsenalgear/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): def requirements(self): if Version(self.version) < "2.0.0": - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") if self.settings.os in ["Linux", "Macos"]: # exprtk is used in public header of arsenalgear # https://github.com/JustWhit3/arsenalgear-cpp/blob/v1.2.2/include/math.hpp From 3e83e67d63982f3360e8d26439fa29eb71f4a470 Mon Sep 17 00:00:00 2001 From: SSE4 Date: Fri, 18 Aug 2023 16:03:44 +0700 Subject: [PATCH 1262/4087] (#17025) - add vvenc 1.8.0 * - add vvenc 1.8.0 Signed-off-by: SSE4 * disable LTO explicitly * disable -Werror --------- Signed-off-by: SSE4 Co-authored-by: Daniel --- recipes/vvenc/all/conandata.yml | 5 + recipes/vvenc/all/conanfile.py | 120 ++++++++++++++++++ recipes/vvenc/all/test_package/CMakeLists.txt | 9 ++ recipes/vvenc/all/test_package/conanfile.py | 26 ++++ recipes/vvenc/all/test_package/src/example.c | 6 + recipes/vvenc/config.yml | 3 + 6 files changed, 169 insertions(+) create mode 100644 recipes/vvenc/all/conandata.yml create mode 100644 recipes/vvenc/all/conanfile.py create mode 100644 recipes/vvenc/all/test_package/CMakeLists.txt create mode 100644 recipes/vvenc/all/test_package/conanfile.py create mode 100644 recipes/vvenc/all/test_package/src/example.c create mode 100644 recipes/vvenc/config.yml diff --git a/recipes/vvenc/all/conandata.yml b/recipes/vvenc/all/conandata.yml new file mode 100644 index 0000000000000..ed507f5b4a2bc --- /dev/null +++ b/recipes/vvenc/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "1.8.0": + url: + - "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.8.0.tar.gz" + sha256: "119970f1e00667045eb12775db10611fc04f9158348144913c9e233f98664714" diff --git a/recipes/vvenc/all/conanfile.py b/recipes/vvenc/all/conanfile.py new file mode 100644 index 0000000000000..50d169ed09a7f --- /dev/null +++ b/recipes/vvenc/all/conanfile.py @@ -0,0 +1,120 @@ +import os +import sys + +from conan import ConanFile, conan_version +# 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 +# from conan.tools.build import stdcpp_library, check_min_cppstd, check_max_cppstd +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 + +required_conan_version = ">=1.60.1" + + +class vvencRecipe(ConanFile): + name = "vvenc" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + description = "Fraunhofer Versatile Video Encoder (VVenC)" + topics = ("video", "encoder", "codec", "vvc", "h266") + homepage = "https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html" + package_type = "library" + + settings = "os", "compiler", "build_type", "arch" + options = {"shared": [True, False], "fPIC": [True, False]} + default_options = {"shared": False, "fPIC": True} + + def validate_build(self): + if conan_version.major == 2: + self._validate_build2() + elif conan_version.major == 1: + self._validate_build1() + + def _validate_build1(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, 14) + # compiler.cppstd isn't set! but we still continue here in V1, + # imagining just like compiler.cppstd was set to 14 + # while package_id doesn't reflect that at all, and cppstd_default also + # might be different from 14, we silently force -std=c++14 to be + # specified during the build. it may produce more incompatibilities, + # and break user's expectation + # (like, output binary depends really on C++14 symbols libstdc++.so) + # it's V1 design flaw which isn't going to be addressed here + # (and probably nowhere, because conan V1 is going to be discontinued in CCI) + # once V1 is retired, that code will be removed altogether + self.output.warning("compiler.cppstd is not set, but we assume C++14") + + def _validate_build2(self): + # validates the minimum and maximum C++ standard supported + # currently, the project can only be built with C++14 standard + # it cannot be built with older standard because + # it doesn't have all the C++ features needed + # 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) + + def package_id(self): + # still important, older binutils cannot recognize + # 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, + # 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 + pass + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + if self.options.shared: + self.options.rm_safe('fPIC') + + def layout(self): + cmake_layout(self, src_folder='src') + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.variables["VVENC_ENABLE_LINK_TIME_OPT"] = False + tc.cache_variables["VVENC_ENABLE_LINK_TIME_OPT"] = False + if self.settings.compiler in ["gcc", 'clang']: + tc.blocks["cmake_flags_init"].template += '\nstring(APPEND CMAKE_C_FLAGS_INIT " -Wno-uninitialized")' + tc.blocks["cmake_flags_init"].template += '\nstring(APPEND CMAKE_CXX_FLAGS_INIT " -Wno-uninitialized")' + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + 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", 'pkgconfig')) + rmdir(self, os.path.join(self.package_folder, 'lib', "cmake")) + rm(self, "*.pdb", os.path.join(self.package_folder, 'bin')) + rm(self, '*.pdb', os.path.join(self.package_folder, "lib")) + + def package_info(self): + self.cpp_info.libs = ["vvenc"] + if self.options.shared: + self.cpp_info.defines.extend(["VVENC_DYN_LINK"]) # vvcencDecl.h + libcxx = stdcpp_library(self) # source code is C++, but interface is pure C + libcxx = [libcxx] if libcxx else [] + libm = ["m"] if self.settings.get_safe("os") == "Linux" else [] + libpthread = ['pthread'] if self.settings.get_safe('os') == 'Linux' else [] + self.cpp_info.system_libs.extend(libcxx + libm + libpthread) diff --git a/recipes/vvenc/all/test_package/CMakeLists.txt b/recipes/vvenc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..efaabb8094acb --- /dev/null +++ b/recipes/vvenc/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest C) + +find_package(vvenc CONFIG REQUIRED) + + + +add_executable(example src/example.c) +target_link_libraries(example vvenc::vvenc) diff --git a/recipes/vvenc/all/test_package/conanfile.py b/recipes/vvenc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0f4e9c14439cf --- /dev/null +++ b/recipes/vvenc/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 vvencTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", 'VirtualRunEnv', "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, "example") + self.run(cmd, env="conanrun") diff --git a/recipes/vvenc/all/test_package/src/example.c b/recipes/vvenc/all/test_package/src/example.c new file mode 100644 index 0000000000000..2a6652d65f4eb --- /dev/null +++ b/recipes/vvenc/all/test_package/src/example.c @@ -0,0 +1,6 @@ +#include +#include + +int main() { + printf("vvenc_get_version: %s\n", vvenc_get_version()); +} diff --git a/recipes/vvenc/config.yml b/recipes/vvenc/config.yml new file mode 100644 index 0000000000000..6088e2f981017 --- /dev/null +++ b/recipes/vvenc/config.yml @@ -0,0 +1,3 @@ +versions: + "1.8.0": + folder: "all" From 1aa3713781b572f85f0dfa97da854a97564a5de7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 18 Aug 2023 12:27:32 +0300 Subject: [PATCH 1263/4087] (#18209) enhex-strong_type: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhex-strong_type: migrate to Conan v2 * enhex-strong_type: restore test_v1_package * Update recipes/enhex-strong_type/all/conanfile.py * enhex-strong_type: restore VirtualRunEnv in test_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/enhex-strong_type/all/conanfile.py | 74 ++++++++++++------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 22 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 +++++ 5 files changed, 91 insertions(+), 38 deletions(-) create mode 100644 recipes/enhex-strong_type/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/enhex-strong_type/all/test_v1_package/conanfile.py diff --git a/recipes/enhex-strong_type/all/conanfile.py b/recipes/enhex-strong_type/all/conanfile.py index 40601c5f9d3e8..8b4ea08eec845 100644 --- a/recipes/enhex-strong_type/all/conanfile.py +++ b/recipes/enhex-strong_type/all/conanfile.py @@ -1,50 +1,72 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 EnhexStrongTypeConan(ConanFile): name = "enhex-strong_type" - license = "MIT" description = "Create new type from existing type without changing the interface." - topics = ("strong_type", "safety") - homepage = "https://github.com/Enhex/strong_type" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Enhex/strong_type" + topics = ("strong_type", "safety", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = ("compiler") @property - def _source_subfolder(self): - return "source_subfolder" - - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + def _min_cppstd(self): + return 17 - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "Visual Studio": "15", + "msvc": "191", "gcc": "7", "clang": "5.0", - "apple-clang": "9.1" + "apple-clang": "9.1", } + + 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) + compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) - if compiler not in minimal_version: - self.output.info("{} requires a compiler that supports at least C++17".format(self.name)) + if compiler not in self._compilers_minimum_version: + self.output.info(f"{self.name} requires a compiler that supports at least C++17") return # Exclude compilers not supported - if compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration("{} requires a compiler that supports at least C++17. {} {} is not".format( - self.name, compiler, tools.Version(self.settings.compiler.version.value))) + if compiler_version < self._compilers_minimum_version[compiler]: + raise ConanInvalidConfiguration( + f"{self.name} requires a compiler that supports at least C++17. " + f"{compiler} {Version(self.settings.compiler.version.value)} is not" + ) 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 package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/enhex-strong_type/all/test_package/CMakeLists.txt b/recipes/enhex-strong_type/all/test_package/CMakeLists.txt index ee8f5992e5656..51d45c127f722 100644 --- a/recipes/enhex-strong_type/all/test_package/CMakeLists.txt +++ b/recipes/enhex-strong_type/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(enhex-strong_type CONFIG REQUIRED) +find_package(enhex-strong_type REQUIRED CONFIG) add_executable(example example.cpp) target_link_libraries(example enhex-strong_type::enhex-strong_type) diff --git a/recipes/enhex-strong_type/all/test_package/conanfile.py b/recipes/enhex-strong_type/all/test_package/conanfile.py index c48d1d23bfccd..8d52b7021efe1 100644 --- a/recipes/enhex-strong_type/all/test_package/conanfile.py +++ b/recipes/enhex-strong_type/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 EnhexStrongTypeTestConan(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/enhex-strong_type/all/test_v1_package/CMakeLists.txt b/recipes/enhex-strong_type/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/enhex-strong_type/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/enhex-strong_type/all/test_v1_package/conanfile.py b/recipes/enhex-strong_type/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c48d1d23bfccd --- /dev/null +++ b/recipes/enhex-strong_type/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class EnhexStrongTypeTestConan(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 e9ec7131fc1c1e56b004fdb788cd1da2d9f8a6da Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 18 Aug 2023 12:52:32 +0300 Subject: [PATCH 1264/4087] (#18254) procxx-boost-ext-simd: migrate to Conan v2 * procxx-boost-ext-simd: migrate to Conan v2 * procxx-boost-ext-simd: restore test_v1_package * procxx-boost-ext-simd: add cmake_find_package_multi generator to test_v1_package * procxx-boost-ext-simd: bump boost dependency * procxx-boost-ext-simd: update CMakeLists.txt * procxx-boost-ext-simd: restore VirtualRunEnv in test_package --- .../procxx-boost-ext-simd/all/conanfile.py | 70 +++++++++++-------- .../all/test_package/CMakeLists.txt | 14 ++-- .../all/test_package/conanfile.py | 22 ++++-- .../all/test_package/test_package.cpp | 9 ++- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 88 insertions(+), 51 deletions(-) create mode 100644 recipes/procxx-boost-ext-simd/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/procxx-boost-ext-simd/all/test_v1_package/conanfile.py diff --git a/recipes/procxx-boost-ext-simd/all/conanfile.py b/recipes/procxx-boost-ext-simd/all/conanfile.py index beacde6952502..58d22448c3e7e 100644 --- a/recipes/procxx-boost-ext-simd/all/conanfile.py +++ b/recipes/procxx-boost-ext-simd/all/conanfile.py @@ -1,61 +1,71 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class ProCxxBoostExSimdConan(ConanFile): name = "procxx-boost-ext-simd" - description = ("Portable SIMD computation library - was proposed as a " - "Boost library" - ) - homepage = "https://github.com/procxx/boost.simd" - topics = ("conan", "boost", "simd") + description = "Portable SIMD computation library - was proposed as a Boost library" license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/procxx/boost.simd" + topics = ("boost", "simd", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" no_copy_source = True - - @property - def _source_subfolder(self): - return "source_subfolder" + short_paths = True @property def _min_cppstd(self): - return "11" + return 11 + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.76.0") + self.requires("boost/1.82.0") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._min_cppstd) - - def package_id(self): - self.info.header_only() + check_min_cppstd(self, self._min_cppstd) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_folder = "boost.simd-" + self.version - os.rename(extracted_folder, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="*", dst="include", - src=os.path.join(self._source_subfolder, "include")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # this technique was inspired by conan-center's "boost-ex-ut" recipe, # and has been fixed to use the upstream Capitalized `Boost::` # namespace for components - self.cpp_info.names["cmake_find_package"] = "Boost" - self.cpp_info.names["cmake_find_package_multi"] = "Boost" - + self.cpp_info.set_property("cmake_file_name", "Boost.SIMD") + self.cpp_info.set_property("cmake_target_name", "Boost") # The original find_package() name here: + self.cpp_info.components["SIMD"].set_property("cmake_target_name", "Boost::SIMD") + self.cpp_info.components["SIMD"].requires = ["boost::headers"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "Boost.SIMD" self.cpp_info.filenames["cmake_find_package_multi"] = "Boost.SIMD" + self.cpp_info.names["cmake_find_package"] = "Boost" + self.cpp_info.names["cmake_find_package_multi"] = "Boost" self.cpp_info.components["SIMD"].names["cmake_find_package"] = "SIMD" - self.cpp_info.components["SIMD"].names["cmake_find_package_multi"] = \ - "SIMD" - self.cpp_info.components["SIMD"].requires = ["boost::headers"] + self.cpp_info.components["SIMD"].names["cmake_find_package_multi"] = "SIMD" diff --git a/recipes/procxx-boost-ext-simd/all/test_package/CMakeLists.txt b/recipes/procxx-boost-ext-simd/all/test_package/CMakeLists.txt index 36ff666d5a74f..f2ca319191721 100644 --- a/recipes/procxx-boost-ext-simd/all/test_package/CMakeLists.txt +++ b/recipes/procxx-boost-ext-simd/all/test_package/CMakeLists.txt @@ -1,19 +1,13 @@ -cmake_minimum_required(VERSION 3.1.0) -project(test_package) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(Boost.SIMD REQUIRED) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) # FIXME: components from Boost.SIMD (target Boost::SIMD) don't work. # It should be: # find_package(BOOST REQUIRED COMPONENTS SIMD) # See https://github.com/conan-io/conan-center-index/issues/6682 for details. -find_package(Boost REQUIRED COMPONENTS date_time) # COMPONENTS SIMD) + +find_package(Boost.SIMD REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} Boost::headers Boost::SIMD) -# FIXME: recipe should transitively sets proper minimum cxx standard. -# See https://github.com/conan-io/conan/issues/7772 about revising cxx std model. set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/procxx-boost-ext-simd/all/test_package/conanfile.py b/recipes/procxx-boost-ext-simd/all/test_package/conanfile.py index 3be12b2d6b0c5..ef5d7042163ec 100644 --- a/recipes/procxx-boost-ext-simd/all/test_package/conanfile.py +++ b/recipes/procxx-boost-ext-simd/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 ProCxxBoostExSimdConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/procxx-boost-ext-simd/all/test_package/test_package.cpp b/recipes/procxx-boost-ext-simd/all/test_package/test_package.cpp index ddf7bb1fb383a..48b397b470c70 100644 --- a/recipes/procxx-boost-ext-simd/all/test_package/test_package.cpp +++ b/recipes/procxx-boost-ext-simd/all/test_package/test_package.cpp @@ -3,17 +3,16 @@ // or running library tests - just only check that package is properly created. // See docs for details: // https://docs.conan.io/en/latest/creating_packages/getting_started.html#the-test-package-folder -#include #include +#include #include namespace bs = boost::simd; -int main() -{ +int main() { using namespace boost::date_time; - bs::pack p{1.f,2.f,3.f,4.f}; - std::cout << "Boost.SIMD test from README.md : " << p + 10*p << "\n"; + bs::pack p{1.f, 2.f, 3.f, 4.f}; + std::cout << "Boost.SIMD test from README.md : " << p + 10 * p << "\n"; std::cout << "Boost.date_time interop test: " << boost::gregorian::date(2021, Aug, 4) << "\n"; return 0; } diff --git a/recipes/procxx-boost-ext-simd/all/test_v1_package/CMakeLists.txt b/recipes/procxx-boost-ext-simd/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/procxx-boost-ext-simd/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/procxx-boost-ext-simd/all/test_v1_package/conanfile.py b/recipes/procxx-boost-ext-simd/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..70611dabf01ae --- /dev/null +++ b/recipes/procxx-boost-ext-simd/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + + +class ProCxxBoostExSimdConan(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): + self.run(os.path.join("bin", "test_package"), run_environment=True) From 1cd20e60686d8d866bc522ebe0baab1b396537f7 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 19:47:47 +0900 Subject: [PATCH 1265/4087] (#19154) mozjpeg: add version 4.1.3 --- recipes/mozjpeg/all/conandata.yml | 7 ++++ .../all/patches/4.1.3-0001-cmake-fixes.patch | 34 +++++++++++++++++++ recipes/mozjpeg/config.yml | 2 ++ 3 files changed, 43 insertions(+) create mode 100644 recipes/mozjpeg/all/patches/4.1.3-0001-cmake-fixes.patch diff --git a/recipes/mozjpeg/all/conandata.yml b/recipes/mozjpeg/all/conandata.yml index b3cb941ad21eb..972600a1f5a90 100644 --- a/recipes/mozjpeg/all/conandata.yml +++ b/recipes/mozjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.3": + url: "https://github.com/mozilla/mozjpeg/archive/v4.1.3.tar.gz" + sha256: "f6ce89f616b30c498d1fb3b0f0940914557d8393a79c9e7aafff72032446bca0" "4.1.1": url: "https://github.com/mozilla/mozjpeg/archive/v4.1.1.tar.gz" sha256: "66b1b8d6b55d263f35f27f55acaaa3234df2a401232de99b6d099e2bb0a9d196" @@ -9,6 +12,10 @@ sources: url: "https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz" sha256: "aebbea60ea038a84a2d1ed3de38fdbca34027e2e54ee2b7d08a97578be72599d" patches: + "4.1.3": + - patch_file: "patches/4.1.3-0001-cmake-fixes.patch" + patch_description: "fix install folder and disable /NODEFAULT in MSVC" + patch_type: "conan" "4.1.1": - patch_file: "patches/4.1.1-0001-cmake-fixes.patch" patch_description: "fix install folder and disable /NODEFAULT in MSVC" diff --git a/recipes/mozjpeg/all/patches/4.1.3-0001-cmake-fixes.patch b/recipes/mozjpeg/all/patches/4.1.3-0001-cmake-fixes.patch new file mode 100644 index 0000000000000..b9d6dd16f33f3 --- /dev/null +++ b/recipes/mozjpeg/all/patches/4.1.3-0001-cmake-fixes.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 82ce902..bde4aba 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1492,7 +1492,7 @@ if(WITH_TURBOJPEG) + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() +- install(PROGRAMS ${DIR}/tjbench-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) + endif() + endif() +@@ -1510,16 +1510,16 @@ if(ENABLE_STATIC) + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() +- install(PROGRAMS ${DIR}/cjpeg-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME cjpeg${EXE}) +- install(PROGRAMS ${DIR}/djpeg-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME djpeg${EXE}) +- install(PROGRAMS ${DIR}/jpegtran-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE}) + endif() + endif() + +-install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS rdjpgcom wrjpgcom DESTINATION ${CMAKE_INSTALL_BINDIR}) + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg + ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt diff --git a/recipes/mozjpeg/config.yml b/recipes/mozjpeg/config.yml index c5a4dbb215dd3..980a55d043dc8 100644 --- a/recipes/mozjpeg/config.yml +++ b/recipes/mozjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.3": + folder: all "4.1.1": folder: all "4.0.0": From fa077ddee415ace91580fc8cab96dde1356f836c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 20:46:42 +0900 Subject: [PATCH 1266/4087] (#19161) highway: add version 1.0.6, remove older versions * highway: add version 1.0.6, remove older versions * fix condition --------- Co-authored-by: Carlos Zoido --- recipes/highway/all/conandata.yml | 18 ++----- recipes/highway/all/conanfile.py | 8 ++- .../patches/0.11.1-0001-remove-contrib.patch | 12 ----- .../0.16.0-0001-fix-sys-random-h.patch | 50 ------------------- recipes/highway/config.yml | 6 +-- 5 files changed, 11 insertions(+), 83 deletions(-) delete mode 100644 recipes/highway/all/patches/0.11.1-0001-remove-contrib.patch delete mode 100644 recipes/highway/all/patches/0.16.0-0001-fix-sys-random-h.patch diff --git a/recipes/highway/all/conandata.yml b/recipes/highway/all/conandata.yml index b0736b5e17350..0f97a2fe01fc8 100644 --- a/recipes/highway/all/conandata.yml +++ b/recipes/highway/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.6": + url: "https://github.com/google/highway/archive/1.0.6.tar.gz" + sha256: "d89664a045a41d822146e787bceeefbf648cc228ce354f347b18f2b419e57207" "1.0.5": url: "https://github.com/google/highway/archive/1.0.5.tar.gz" sha256: "99b7dad98b8fa088673b720151458fae698ae5df9154016e39de4afdc23bb927" @@ -20,21 +23,6 @@ sources: "0.17.0": url: "https://github.com/google/highway/archive/0.17.0.tar.gz" sha256: "25158fd5c090b70ecea47fc246c860d150f07f801d2434e1e51ec14a6c15822c" - "0.16.0": - url: "https://github.com/google/highway/archive/0.16.0.tar.gz" - sha256: "746c9578446be6c5286e8846c5f0d4118c0c1f04219c401abadcb8a5f2051893" "0.12.2": url: "https://github.com/google/highway/archive/0.12.2.tar.gz" sha256: "e1d47ce510429fdcf31f41697ca74fb0dcd59d933196e531a86d51751a56f4cc" - "0.11.1": - url: "https://github.com/google/highway/archive/0.11.1.tar.gz" - sha256: "4c4bb9501c02b27a0944afde8923aaab554384690d37e5b2a7f97553426ea641" -patches: - "0.16.0": - - patch_file: "patches/0.16.0-0001-fix-sys-random-h.patch" - patch_description: "fix including sys/random.h on several environments" - patch_type: "portability" - "0.11.1": - - patch_file: "patches/0.11.1-0001-remove-contrib.patch" - patch_description: "remove contrib sources" - patch_type: "portability" diff --git a/recipes/highway/all/conanfile.py b/recipes/highway/all/conanfile.py index 0da9b64e6b9f4..70b41b9d07eb4 100644 --- a/recipes/highway/all/conanfile.py +++ b/recipes/highway/all/conanfile.py @@ -21,10 +21,12 @@ class HighwayConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_test": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_test": False, } @property @@ -53,6 +55,8 @@ def configure(self): self.package_type = "static-library" elif self.options.shared: self.options.rm_safe("fPIC") + if Version(self.version) < "1.0.6": + del self.options.with_test def layout(self): cmake_layout(self, src_folder="src") @@ -73,7 +77,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False tc.variables["HWY_ENABLE_EXAMPLES"] = False - tc.variables["HWY_ENABLE_TESTS"] = False + tc.variables["HWY_ENABLE_TESTS"] = self.options.get_safe("with_test", False) tc.generate() def _patch_sources(self): @@ -109,7 +113,7 @@ def package_info(self): self.cpp_info.components["hwy_contrib"].set_property("pkg_config_name", "libhwy-contrib") self.cpp_info.components["hwy_contrib"].libs = ["hwy_contrib"] self.cpp_info.components["hwy_contrib"].requires = ["hwy"] - if Version(self.version) >= "0.15.0": + if "0.15.0" <= Version(self.version) < "1.0.6" or (Version(self.version) >= "1.0.6" and self.options.with_test): self.cpp_info.components["hwy_test"].set_property("pkg_config_name", "libhwy-test") self.cpp_info.components["hwy_test"].libs = ["hwy_test"] self.cpp_info.components["hwy_test"].requires = ["hwy"] diff --git a/recipes/highway/all/patches/0.11.1-0001-remove-contrib.patch b/recipes/highway/all/patches/0.11.1-0001-remove-contrib.patch deleted file mode 100644 index e409cd92d3227..0000000000000 --- a/recipes/highway/all/patches/0.11.1-0001-remove-contrib.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -52,9 +52,6 @@ check_cxx_source_compiles( - ) - - set(HWY_SOURCES -- contrib/image/image.cc -- contrib/image/image.h -- contrib/math/math-inl.h - hwy/aligned_allocator.cc - hwy/aligned_allocator.h - hwy/base.h diff --git a/recipes/highway/all/patches/0.16.0-0001-fix-sys-random-h.patch b/recipes/highway/all/patches/0.16.0-0001-fix-sys-random-h.patch deleted file mode 100644 index aee3b37dc1e43..0000000000000 --- a/recipes/highway/all/patches/0.16.0-0001-fix-sys-random-h.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/hwy/contrib/sort/vqsort.cc b/hwy/contrib/sort/vqsort.cc -index 951a0bd..2009da8 100644 ---- a/hwy/contrib/sort/vqsort.cc -+++ b/hwy/contrib/sort/vqsort.cc -@@ -25,12 +25,43 @@ - // After foreach_target - #include "hwy/contrib/sort/shared-inl.h" - -+// Check if we have sys/random.h. First skip some systems on which the check -+// itself (features.h) might be problematic. -+#if defined(ANDROID) || defined(__ANDROID__) || HWY_ARCH_RVV -+#define VQSORT_GETRANDOM 0 -+#endif -+ -+#if !defined(VQSORT_GETRANDOM) && (defined(linux) || defined(__linux__)) -+#include -+ -+// ---- which libc -+#if defined(__UCLIBC__) -+#define VQSORT_GETRANDOM 1 // added Mar 2015, before uclibc-ng 1.0 -+ -+#elif defined(__GLIBC__) && defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 25) -+#define VQSORT_GETRANDOM 1 -+#else -+#define VQSORT_GETRANDOM 0 -+#endif -+ -+#else -+// Assume MUSL, which has getrandom since 2018. There is no macro to test, see -+// https://www.openwall.com/lists/musl/2013/03/29/13. -+#define VQSORT_GETRANDOM 1 -+ -+#endif // ---- which libc -+#endif // linux -+ -+#if !defined(VQSORT_GETRANDOM) -+#define VQSORT_GETRANDOM 0 -+#endif -+ - // Seed source for SFC generator: 1=getrandom, 2=CryptGenRandom - // (not all Android support the getrandom wrapper) - #ifndef VQSORT_SECURE_SEED - --#if (defined(linux) || defined(__linux__)) && \ -- !(defined(ANDROID) || defined(__ANDROID__) || HWY_ARCH_RVV) -+#if VQSORT_GETRANDOM - #define VQSORT_SECURE_SEED 1 - #elif defined(_WIN32) || defined(_WIN64) - #define VQSORT_SECURE_SEED 2 diff --git a/recipes/highway/config.yml b/recipes/highway/config.yml index 48d515416587a..e978e314cb0cd 100644 --- a/recipes/highway/config.yml +++ b/recipes/highway/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.6": + folder: all "1.0.5": folder: all "1.0.4": @@ -13,9 +15,5 @@ versions: folder: all "0.17.0": folder: all - "0.16.0": - folder: all "0.12.2": folder: all - "0.11.1": - folder: all From aaf72e4e04386fcba01fda8da2bc352c606fae3d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 18 Aug 2023 14:43:07 +0200 Subject: [PATCH 1267/4087] (#19269) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: Uilian Ries --- .c3i/conan_v2_ready_references.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index f8823a111ab28..fec7da6449a4b 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -78,6 +78,7 @@ required_for_references: - bear - benchmark - bertrand +- bgfx - bigint - bimg - binutils @@ -167,6 +168,7 @@ required_for_references: - concurrentqueue - console_bridge - continuable +- cotila - cpp-httplib - cpp-ipc - cpp-jwt @@ -313,6 +315,7 @@ required_for_references: - foxglove-schemas-protobuf - foxi - fp16 +- fpgen - fpzip - freeglut - freeimage @@ -419,6 +422,7 @@ required_for_references: - imath - imgui - imguizmo +- immer - implot - imutils-cpp - incbin @@ -661,6 +665,7 @@ required_for_references: - lzma_sdk - lzo - m4 +- maddy - magic_enum - mailio - make @@ -743,6 +748,7 @@ required_for_references: - nanosvg - nas - nasm +- neargye-semver - netcdf - nettle - nextsilicon-cpp-subprocess @@ -753,6 +759,7 @@ required_for_references: - nmslib - nng - nodejs +- nodesoup - norm - nsync - ntv2 @@ -803,6 +810,7 @@ required_for_references: - opensubdiv - opentelemetry-cpp - opentelemetry-proto +- opentracing-cpp - openxlsx - optional-lite - opus @@ -814,6 +822,7 @@ required_for_references: - p-ranav-glob - paho-mqtt-c - paho-mqtt-cpp +- panzi-portable-endian - parallel-hashmap - parg - parson @@ -839,6 +848,7 @@ required_for_references: - pixman - pkgconf - platform.delegates +- platform.exceptions - platform.hashing - platform.interfaces - plf_colony @@ -848,6 +858,7 @@ required_for_references: - plf_queue - plf_stack - plog +- plusaes - plutovg - pngpp - poco @@ -895,6 +906,8 @@ required_for_references: - ragel - rang - range-v3 +- rangeless +- rangesnext - rapidcheck - rapidcsv - rapidfuzz @@ -917,6 +930,7 @@ required_for_references: - restbed - restinio - rg-etc1 +- rgbcx - ring-span-lite - rmm - roaring @@ -1052,6 +1066,7 @@ required_for_references: - trantor - tree-sitter - troldal-zippy +- trompeloeil - tsl-hopscotch-map - turtle - type_safe @@ -1109,6 +1124,7 @@ required_for_references: - wt - wtl - xapian-core +- xbyak - xerces-c - xkbcommon - xkeyboard-config @@ -1132,6 +1148,7 @@ required_for_references: - xz_utils - yajl - yaml-cpp +- yas - yasm - yyjson - z3 From 851342aa5e37d7d16be220549fe6bf69bae55c7a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 18 Aug 2023 22:17:24 +0900 Subject: [PATCH 1268/4087] (#19175) boost: add version 1.83.0 * boost: add version 1.83.0, remove older versions * revert 1.71.0, 1.72.0 * use 1.82.0's patch for 1.83.0 --- recipes/boost/all/conandata.yml | 11 +- .../all/dependencies/dependencies-1.83.0.yml | 280 ++++++++++++++++++ recipes/boost/config.yml | 2 + 3 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 recipes/boost/all/dependencies/dependencies-1.83.0.yml diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index b2ef58c60ab75..ee7228b61bc72 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -1,9 +1,14 @@ sources: + "1.83.0": + url: + - "https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2" + sha256: "6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e" "1.82.0": url: - "https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2" - "https://sourceforge.net/projects/boost/files/boost/1.82.0/boost_1_82_0.tar.bz2" - sha256: a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 + sha256: "a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6" "1.81.0": url: - "https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2" @@ -58,6 +63,10 @@ sources: url: "https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2" sha256: "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee" patches: + "1.83.0": + - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" + patch_description: "Optional flag to specify iconv from either libc of libiconv" + patch_type: "conan" "1.82.0": - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" diff --git a/recipes/boost/all/dependencies/dependencies-1.83.0.yml b/recipes/boost/all/dependencies/dependencies-1.83.0.yml new file mode 100644 index 0000000000000..e6b009423a409 --- /dev/null +++ b/recipes/boost/all/dependencies/dependencies-1.83.0.yml @@ -0,0 +1,280 @@ +configure_options: +- atomic +- chrono +- container +- context +- contract +- coroutine +- date_time +- exception +- fiber +- filesystem +- graph +- graph_parallel +- iostreams +- json +- locale +- log +- math +- mpi +- nowide +- program_options +- python +- random +- regex +- serialization +- stacktrace +- system +- test +- thread +- timer +- type_erasure +- url +- wave +dependencies: + atomic: [] + chrono: + - system + 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 + - container + - date_time + - exception + - filesystem + - random + - regex + - system + - thread + log_setup: + - log + math: [] + math_c99: + - math + math_c99f: + - math + math_c99l: + - math + math_tr1: + - math + math_tr1f: + - math + math_tr1l: + - math + mpi: + - graph + - serialization + mpi_python: + - mpi + - python + nowide: + - filesystem + numpy: + - python + prg_exec_monitor: + - test + program_options: [] + python: [] + random: + - system + regex: [] + serialization: [] + stacktrace: [] + stacktrace_addr2line: + - stacktrace + stacktrace_backtrace: + - stacktrace + stacktrace_basic: + - stacktrace + stacktrace_noop: + - stacktrace + stacktrace_windbg: + - stacktrace + stacktrace_windbg_cached: + - stacktrace + system: [] + test: + - exception + test_exec_monitor: + - test + thread: + - atomic + - chrono + - container + - date_time + - exception + - system + timer: + - chrono + - system + type_erasure: + - thread + unit_test_framework: + - prg_exec_monitor + - test + - test_exec_monitor + url: + - system + wave: + - filesystem + - serialization + wserialization: + - serialization +libs: + atomic: + - boost_atomic + chrono: + - boost_chrono + container: + - boost_container + context: + - boost_context + contract: + - boost_contract + coroutine: + - boost_coroutine + date_time: + - boost_date_time + exception: + - boost_exception + fiber: + - boost_fiber + fiber_numa: + - boost_fiber_numa + filesystem: + - boost_filesystem + graph: + - boost_graph + graph_parallel: + - boost_graph_parallel + iostreams: + - boost_iostreams + json: + - boost_json + locale: + - boost_locale + log: + - boost_log + log_setup: + - boost_log_setup + math: [] + math_c99: + - boost_math_c99 + math_c99f: + - boost_math_c99f + math_c99l: + - boost_math_c99l + math_tr1: + - boost_math_tr1 + math_tr1f: + - boost_math_tr1f + math_tr1l: + - boost_math_tr1l + mpi: + - boost_mpi + mpi_python: + - boost_mpi_python + nowide: + - boost_nowide + numpy: + - boost_numpy{py_major}{py_minor} + prg_exec_monitor: + - boost_prg_exec_monitor + program_options: + - boost_program_options + python: + - boost_python{py_major}{py_minor} + random: + - boost_random + regex: + - boost_regex + serialization: + - boost_serialization + stacktrace: [] + stacktrace_addr2line: + - boost_stacktrace_addr2line + stacktrace_backtrace: + - boost_stacktrace_backtrace + stacktrace_basic: + - boost_stacktrace_basic + stacktrace_noop: + - boost_stacktrace_noop + stacktrace_windbg: + - boost_stacktrace_windbg + stacktrace_windbg_cached: + - boost_stacktrace_windbg_cached + system: + - boost_system + test: [] + test_exec_monitor: + - boost_test_exec_monitor + thread: + - boost_thread + timer: + - boost_timer + type_erasure: + - boost_type_erasure + unit_test_framework: + - boost_unit_test_framework + url: + - boost_url + wave: + - boost_wave + wserialization: + - boost_wserialization +requirements: + iostreams: + - bzip2 + - lzma + - zlib + - zstd + locale: + - iconv + - icu + python: + - python + regex: + - icu + stacktrace: + - backtrace +static_only: +- boost_exception +- boost_test_exec_monitor +version: 1.83.0 diff --git a/recipes/boost/config.yml b/recipes/boost/config.yml index 38ecaf5c73d63..f81f4b5e8e72b 100644 --- a/recipes/boost/config.yml +++ b/recipes/boost/config.yml @@ -1,4 +1,6 @@ versions: + "1.83.0": + folder: all "1.82.0": folder: all "1.81.0": From cfc4955b0c4910196c8227b08fa777af7eea9cf8 Mon Sep 17 00:00:00 2001 From: Oliver Kuckertz Date: Fri, 18 Aug 2023 16:35:10 +0200 Subject: [PATCH 1269/4087] (#19179) loguru: fix preprocessor definition values Loguru expects 0 or 1, but the recipe would set "False"/"True", which C's preprocessor would always evaluate to false. --- recipes/loguru/all/conanfile.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/recipes/loguru/all/conanfile.py b/recipes/loguru/all/conanfile.py index 098d77e4ec8b7..8f740c8665ca6 100644 --- a/recipes/loguru/all/conanfile.py +++ b/recipes/loguru/all/conanfile.py @@ -20,6 +20,7 @@ class LoguruConan(ConanFile): description = "Loguru is a C++11 logging library." package_type = "library" settings = "os", "arch", "compiler", "build_type" + options = { "shared": [True, False], "fPIC": [True, False], @@ -79,16 +80,19 @@ def layout(self): def generate(self): tc = CMakeToolchain(self) + tc.variables["LOGURU_USE_FMTLIB"] = self.options.with_fmt tc.variables["LOGURU_VERBOSE_SCOPE_ENDINGS"] = self.options.verbose_scope_endings tc.variables["LOGURU_REDEFINE_ASSERT"] = self.options.redefine_assert tc.variables["LOGURU_WITH_STREAMS"] = self.options.enable_streams tc.variables["LOGURU_WITH_FILEABS"] = self.options.enable_fileabs tc.variables["LOGURU_REPLACE_GLOG"] = self.options.replace_glog + tc.variables["LOGURU_SCOPE_TEXT_SIZE"] = self.options.scope_text_size tc.variables["LOGURU_SCOPE_TIME_PRECISION"] = self.options.scope_time_precision tc.variables["LOGURU_FILENAME_WIDTH"] = self.options.filename_width tc.variables["LOGURU_THREADNAME_WIDTH"] = self.options.threadname_width + if is_msvc(self) and self.options.shared: tc.preprocessor_definitions["LOGURU_EXPORT"] = "__declspec(dllexport)" tc.generate() @@ -110,7 +114,7 @@ def package(self): save(self, os.path.join(self.package_folder, 'licenses', 'LICENSE'), self._extracted_license) cmake = CMake(self) cmake.install() - + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) @@ -124,16 +128,18 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "loguru") self.cpp_info.set_property("cmake_target_name", "loguru::loguru") - self.cpp_info.defines.append(f"LOGURU_USE_FMTLIB={self.options.with_fmt}") + # render each option as either 0 or 1 for loguru's #if preprocessor commands + self.cpp_info.defines.append(f"LOGURU_USE_FMTLIB={bool(self.options.with_fmt)*1}") + self.cpp_info.defines.append(f"LOGURU_VERBOSE_SCOPE_ENDINGS={bool(self.options.verbose_scope_endings)*1}") + self.cpp_info.defines.append(f"LOGURU_REDEFINE_ASSERT={bool(self.options.redefine_assert)*1}") + self.cpp_info.defines.append(f"LOGURU_WITH_STREAMS={bool(self.options.enable_streams)*1}") + self.cpp_info.defines.append(f"LOGURU_WITH_FILEABS={bool(self.options.enable_fileabs)*1}") + self.cpp_info.defines.append(f"LOGURU_REPLACE_GLOG={bool(self.options.replace_glog)*1}") + self.cpp_info.defines.append(f"LOGURU_SCOPE_TEXT_SIZE={self.options.scope_text_size}") self.cpp_info.defines.append(f"LOGURU_SCOPE_TIME_PRECISION={self.options.scope_time_precision}") self.cpp_info.defines.append(f"LOGURU_FILENAME_WIDTH={self.options.filename_width}") self.cpp_info.defines.append(f"LOGURU_THREADNAME_WIDTH={self.options.threadname_width}") - self.cpp_info.defines.append(f"LOGURU_VERBOSE_SCOPE_ENDINGS={self.options.verbose_scope_endings}") - self.cpp_info.defines.append(f"LOGURU_REDEFINE_ASSERT={self.options.redefine_assert}") - self.cpp_info.defines.append(f"LOGURU_WITH_STREAMS={self.options.enable_streams}") - self.cpp_info.defines.append(f"LOGURU_WITH_FILEABS={self.options.enable_fileabs}") - self.cpp_info.defines.append(f"LOGURU_REPLACE_GLOG={self.options.replace_glog}") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "dl", "m"] From d3ad3f126576b4e0134692c4af731a4b5b7527b8 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 18 Aug 2023 17:10:54 +0200 Subject: [PATCH 1270/4087] (#19203) [libsnd] Update to 1.2.2 * [libsnd] Update to 1.2.2 * apply CMP0091 patch --------- Co-authored-by: czoido --- recipes/libsndfile/all/conandata.yml | 7 +++++++ recipes/libsndfile/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libsndfile/all/conandata.yml b/recipes/libsndfile/all/conandata.yml index 77ba2985f3b59..cc9d3fa6bc38c 100644 --- a/recipes/libsndfile/all/conandata.yml +++ b/recipes/libsndfile/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.2": + url: "https://github.com/libsndfile/libsndfile/releases/download/1.2.2/libsndfile-1.2.2.tar.xz" + sha256: "3799ca9924d3125038880367bf1468e53a1b7e3686a934f098b7e1d286cdb80e" "1.2.0": url: "https://github.com/libsndfile/libsndfile/releases/download/1.2.0/libsndfile-1.2.0.tar.xz" sha256: "0e30e7072f83dc84863e2e55f299175c7e04a5902ae79cfb99d4249ee8f6d60a" @@ -12,6 +15,10 @@ sources: url: "https://github.com/libsndfile/libsndfile/releases/download/v1.0.29/libsndfile-1.0.29.tar.bz2" sha256: "2ba20d44817c8176f097ab25eff44ef0aeec9e00973def5a7174c5ae0764b22f" patches: + "1.2.2": + - patch_file: "patches/1.0.31-0001-fix-msvc-runtime-logic.patch" + patch_description: "always set CMP0091" + patch_type: "portability" "1.2.0": - patch_file: "patches/1.0.31-0001-fix-msvc-runtime-logic.patch" patch_description: "always set CMP0091" diff --git a/recipes/libsndfile/config.yml b/recipes/libsndfile/config.yml index 2248a847a68f0..47a9d6a6d063e 100644 --- a/recipes/libsndfile/config.yml +++ b/recipes/libsndfile/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.2": + folder: "all" "1.2.0": folder: "all" "1.0.31": From b864d06e5e8627f688d52d07dbd2cd4d56b94a15 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 01:01:38 +0900 Subject: [PATCH 1271/4087] (#19209) libmysqlclient: fix compilation error on RHEL --- recipes/libmysqlclient/all/conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index ba135f46de785..80776aaf0f037 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -133,7 +133,6 @@ def _patch_sources(self): f"# SET({lib.upper()}_WARN_GIVEN)", strict=False) - rmdir(self, os.path.join(self.source_folder, "extra")) for folder in ["client", "man", "mysql-test", "libbinlogstandalone"]: replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), f"ADD_SUBDIRECTORY({folder})\n", From 32b96bb5d37f8d5ea436826efdaa1576335bc0c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludwig=20F=C3=BCchsl?= Date: Fri, 18 Aug 2023 18:25:07 +0200 Subject: [PATCH 1272/4087] (#19242) [package] opus/1.4 (Update) * Added version 1.4 * Change opus download location to GitHub --- recipes/opus/all/conandata.yml | 3 +++ recipes/opus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opus/all/conandata.yml b/recipes/opus/all/conandata.yml index d7e0ee962c3b2..5ac1b419900e1 100644 --- a/recipes/opus/all/conandata.yml +++ b/recipes/opus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4": + url: "https://github.com/xiph/opus/releases/download/v1.4/opus-1.4.tar.gz" + sha256: "c9b32b4253be5ae63d1ff16eea06b94b5f0f2951b7a02aceef58e3a3ce49c51f" "1.3.1": url: "https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz" sha256: "65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d" diff --git a/recipes/opus/config.yml b/recipes/opus/config.yml index 59334d5077368..3360afdd0ecab 100644 --- a/recipes/opus/config.yml +++ b/recipes/opus/config.yml @@ -1,3 +1,5 @@ versions: + "1.4": + folder: all "1.3.1": folder: all From 8dfe9f93e4617a78a9dc472fd7b06b836addedf5 Mon Sep 17 00:00:00 2001 From: njacquemin1993 Date: Fri, 18 Aug 2023 19:18:56 +0200 Subject: [PATCH 1273/4087] (#19247) [cpuinfo] fix bug when compiling for Android See https://stackoverflow.com/questions/38666609/cant-find-lpthread-when-cross-compile-to-arm: "The android libc, bionic, provides built-in support for pthreads, so no additional linking (-lpthreads) is necessary." --- recipes/cpuinfo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpuinfo/all/conanfile.py b/recipes/cpuinfo/all/conanfile.py index 00574928a56f7..d109a4b7e8b2f 100644 --- a/recipes/cpuinfo/all/conanfile.py +++ b/recipes/cpuinfo/all/conanfile.py @@ -95,5 +95,5 @@ def package_info(self): self.cpp_info.components["cpuinfo"].libs = ["cpuinfo"] if self.version < "cci.20230118": self.cpp_info.components["cpuinfo"].requires = ["clog"] - if self.settings.os in ["Linux", "FreeBSD", "Android"]: + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["cpuinfo"].system_libs.append("pthread") From c7ebb147497ee466a23861c1cec141f50100a9f6 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Fri, 18 Aug 2023 10:53:14 -0700 Subject: [PATCH 1274/4087] (#19259) restinio: add 0.6.19 * restinio: add 0.6.19 * update version for fmt and pcre/pcre2 and switch to version ranges for more flexibility and future compat * revert: update version for fmt and pcre/pcre2 and switch to version ranges for more flexibility and future compat As per https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges version ranges are only allowed for CMake/OpenSSL. bump fmt and pcre2's versions manually. * removing 4th oldest revision (to use less resources) See doc here: https://github.com/conan-io/conan-center-index/blob/9436459b4a909c4c533ffe27a95c1f21cbdbbfa8/docs/adding_packages/sources_and_patches.md#removing-old-versions --- recipes/restinio/all/conandata.yml | 6 +++--- recipes/restinio/all/conanfile.py | 4 ++-- recipes/restinio/config.yml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/restinio/all/conandata.yml b/recipes/restinio/all/conandata.yml index ad2cb8100089c..06ced9d2281b3 100644 --- a/recipes/restinio/all/conandata.yml +++ b/recipes/restinio/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "0.6.19": + url: "https://github.com/Stiffstream/restinio/archive/v.0.6.19.tar.gz" + sha256: "5a739cac8f3148e7e94f05bb08f5cf569dd31f6f3ea2b893eddfffb0a155eb52" "0.6.18": url: "https://github.com/Stiffstream/restinio/archive/v.0.6.18.tar.gz" sha256: "16fa041f4603746c6cd0f29ab126d02d220034535e7019c6ca1b8b9f58bfeee0" "0.6.17": url: "https://github.com/Stiffstream/restinio/archive/v.0.6.17.tar.gz" sha256: "0140b23f50bb964f6917d1f99205476eba92203dc586673bdf2ea48d7406f2c4" - "0.6.16": - url: "https://github.com/Stiffstream/restinio/archive/v.0.6.16.tar.gz" - sha256: "b3208d746087ba979f51b3a32e08463718c33d58720247d53ffb5bda99f4f92a" diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index e65bd0d3bc7f9..1fec7b581abe4 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): def requirements(self): self.requires("http_parser/2.9.4") - self.requires("fmt/10.0.0") + self.requires("fmt/10.1.0") self.requires("expected-lite/0.6.3") self.requires("optional-lite/3.5.0") self.requires("string-view-lite/1.7.0") @@ -58,7 +58,7 @@ def requirements(self): if self.options.with_pcre == 1: self.requires("pcre/8.45") elif self.options.with_pcre == 2: - self.requires("pcre2/10.40") + self.requires("pcre2/10.42") def package_id(self): self.info.clear() diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml index 517f51717a3a8..ee5e9f8ed6a0a 100644 --- a/recipes/restinio/config.yml +++ b/recipes/restinio/config.yml @@ -1,7 +1,7 @@ versions: + "0.6.19": + folder: all "0.6.18": folder: all "0.6.17": folder: all - "0.6.16": - folder: all From 8d107eaf9495c20a05641a9a32bcec9ab95475d6 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 03:32:16 +0900 Subject: [PATCH 1275/4087] (#19260) maddy: add version 1.2.1 with several improvements --- recipes/maddy/all/conandata.yml | 7 ++++-- recipes/maddy/all/conanfile.py | 23 ++++++++++++++++++- recipes/maddy/all/test_package/CMakeLists.txt | 5 +--- recipes/maddy/config.yml | 2 ++ 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/recipes/maddy/all/conandata.yml b/recipes/maddy/all/conandata.yml index 91359378f2072..dfa40b0be6206 100644 --- a/recipes/maddy/all/conandata.yml +++ b/recipes/maddy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.1": + url: "https://github.com/progsource/maddy/archive/refs/tags/1.2.1.tar.gz" + sha256: "b6058bce7ca32506969633ee7a4042e75b07464489f1c44be00913543cd687ef" "1.1.2": - sha256: ce66e1ee63bda3a6ab9c814edc0ed818abecca1c2218307ff87fb9ec1fc970fc - url: https://github.com/progsource/maddy/archive/refs/tags/1.1.2.tar.gz + url: "https://github.com/progsource/maddy/archive/refs/tags/1.1.2.tar.gz" + sha256: "ce66e1ee63bda3a6ab9c814edc0ed818abecca1c2218307ff87fb9ec1fc970fc" diff --git a/recipes/maddy/all/conanfile.py b/recipes/maddy/all/conanfile.py index 1cc4a8a062ec2..b023f2456bef0 100644 --- a/recipes/maddy/all/conanfile.py +++ b/recipes/maddy/all/conanfile.py @@ -1,9 +1,11 @@ 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" @@ -20,6 +22,20 @@ class MaddyConan(ConanFile): 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,7 +44,12 @@ 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], strip_root=True) diff --git a/recipes/maddy/all/test_package/CMakeLists.txt b/recipes/maddy/all/test_package/CMakeLists.txt index 8b3d049ce58f5..9b4b9a74cb47a 100755 --- a/recipes/maddy/all/test_package/CMakeLists.txt +++ b/recipes/maddy/all/test_package/CMakeLists.txt @@ -5,7 +5,4 @@ find_package(maddy REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE maddy::maddy) -set_target_properties(${PROJECT_NAME} PROPERTIES - CXX_STANDARD 14 - CXX_STANDARD_REQUIRED ON -) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/maddy/config.yml b/recipes/maddy/config.yml index 8d13aefb6b4fb..12b8a7bf45a5b 100644 --- a/recipes/maddy/config.yml +++ b/recipes/maddy/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.1": + folder: all "1.1.2": folder: all From cc1e5f0ee43eaf7cbd6f29d24ebdcb120eaf6941 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 18 Aug 2023 23:50:56 +0300 Subject: [PATCH 1276/4087] (#19276) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index e4f01057df770..b2befced4887a 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.10": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.10.tar.gz" + sha256: "efcb7c97999ce2d78aba67041a61dda45feb54113e5b21851b0532fdcbc460a8" "2.0.9": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.9.tar.gz" sha256: "5b00c997eb33e877ca54468a101345e3a9986ce1b61b0919fa8632efabc51b6d" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index c184130e67ed4..20cb1b119cc18 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.10": + folder: all "2.0.9": folder: all "2.0.8": From 5fb83dcacc9d78b96c5a293e36607897427e2bc5 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 14:35:15 +0900 Subject: [PATCH 1277/4087] (#19282) nudb: update boost/1.83.0 --- recipes/nudb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/nudb/all/conanfile.py b/recipes/nudb/all/conanfile.py index f02496ac2b32a..bd9db41da603f 100644 --- a/recipes/nudb/all/conanfile.py +++ b/recipes/nudb/all/conanfile.py @@ -28,7 +28,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") def package_id(self): self.info.clear() From 12ba5cea9abf2f73697eec8910ec2a6df202810f Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sat, 19 Aug 2023 10:03:08 +0200 Subject: [PATCH 1278/4087] (#19038) [yaclib] Fix import for cmake_layout Signed-off-by: Uilian Ries --- recipes/yaclib/all/conanfile.py | 4 +--- recipes/yaclib/all/test_v1_package/conanfile.py | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/yaclib/all/conanfile.py b/recipes/yaclib/all/conanfile.py index 4c35bd089113e..5cd68c33e8af5 100644 --- a/recipes/yaclib/all/conanfile.py +++ b/recipes/yaclib/all/conanfile.py @@ -1,9 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain -from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, export_conandata_patches, apply_conandata_patches, save -from conan.tools.layout import cmake_layout from conan.errors import ConanInvalidConfiguration import os import textwrap diff --git a/recipes/yaclib/all/test_v1_package/conanfile.py b/recipes/yaclib/all/test_v1_package/conanfile.py index 20d4d2e28d57e..22642ac137bfa 100644 --- a/recipes/yaclib/all/test_v1_package/conanfile.py +++ b/recipes/yaclib/all/test_v1_package/conanfile.py @@ -1,5 +1,4 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building +from conans import ConanFile, CMake, tools import os class TestPackageV1Conan(ConanFile): @@ -12,6 +11,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): + if not tools.cross_building(self): bin_path = os.path.join("bin", "test_package") self.run(bin_path, run_environment=True) From c23c100cb410789451770d989428f697787291a5 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 17:22:58 +0900 Subject: [PATCH 1279/4087] (#14509) cassandra-cpp-driver: add version 2.16.2, support conan v2 * cassandra-cpp-driver: add version 2.16.2, support conan v2 * fix library name, specify C++11 * add transitive_headers=True * update dependencies * fix compilation error on msvc * update dependencies, improve patch file * enable C++11, include type_traits --------- Co-authored-by: Uilian Ries --- .../cassandra-cpp-driver/all/CMakeLists.txt | 7 - .../cassandra-cpp-driver/all/conandata.yml | 38 +++- recipes/cassandra-cpp-driver/all/conanfile.py | 138 ++++++------ .../all/patches/2.15.3/fix-atomic.patch | 28 +++ .../all/patches/2.15.3/fix-cmake.patch | 148 ++++++++----- .../all/patches/2.15.3/fix-rapidjson.patch | 18 +- .../2.15.3/remove-attribute-for-msvc.patch | 18 ++ .../all/patches/2.16.2/fix-cmake.patch | 201 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 13 +- .../all/test_package/conanfile.py | 25 ++- .../{main.cpp => test_package.cpp} | 0 .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ recipes/cassandra-cpp-driver/config.yml | 2 + 14 files changed, 491 insertions(+), 171 deletions(-) delete mode 100644 recipes/cassandra-cpp-driver/all/CMakeLists.txt create mode 100644 recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-atomic.patch create mode 100644 recipes/cassandra-cpp-driver/all/patches/2.15.3/remove-attribute-for-msvc.patch create mode 100644 recipes/cassandra-cpp-driver/all/patches/2.16.2/fix-cmake.patch rename recipes/cassandra-cpp-driver/all/test_package/{main.cpp => test_package.cpp} (100%) create mode 100644 recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py diff --git a/recipes/cassandra-cpp-driver/all/CMakeLists.txt b/recipes/cassandra-cpp-driver/all/CMakeLists.txt deleted file mode 100644 index 7f03984bd9149..0000000000000 --- a/recipes/cassandra-cpp-driver/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cassandra C CXX) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/cassandra-cpp-driver/all/conandata.yml b/recipes/cassandra-cpp-driver/all/conandata.yml index 0ca8371b0b30f..35b0bd34f38b7 100644 --- a/recipes/cassandra-cpp-driver/all/conandata.yml +++ b/recipes/cassandra-cpp-driver/all/conandata.yml @@ -1,10 +1,36 @@ sources: + "2.16.2": + url: "https://github.com/datastax/cpp-driver/archive/2.16.2.tar.gz" + sha256: "de60751bd575b5364c2c5a17a24a40f3058264ea2ee6fef19de126ae550febc9" "2.15.3": - url: "https://github.com/datastax/cpp-driver/archive/2.15.3.zip" - sha256: "494b35418f1eaa86d80572a4254b7fae88a1341dcda83788ed038ce4f39117cb" + url: "https://github.com/datastax/cpp-driver/archive/2.15.3.tar.gz" + sha256: "eccb53c5151621c3b647fc83781a542cfb93e76687b4178ebce418fc4c817293" patches: + "2.16.2": + - patch_file: "patches/2.16.2/fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-rapidjson.patch" + patch_description: "fix include path for cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-atomic.patch" + patch_description: "Adapt MemoryOrder definition for C++ 20" + patch_type: "portability" + patch_source: "https://github.com/datastax/cpp-driver/pull/533" + - patch_file: "patches/2.15.3/remove-attribute-for-msvc.patch" + patch_description: "remove attribute for msvc" + patch_type: "portability" "2.15.3": - - base_path: "source_subfolder" - patch_file: "patches/2.15.3/fix-cmake.patch" - - base_path: "source_subfolder" - patch_file: "patches/2.15.3/fix-rapidjson.patch" + - patch_file: "patches/2.15.3/fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-rapidjson.patch" + patch_description: "fix include path for cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-atomic.patch" + patch_description: "Adapt MemoryOrder definition for C++ 20" + patch_type: "portability" + patch_source: "https://github.com/datastax/cpp-driver/pull/533" + - patch_file: "patches/2.15.3/remove-attribute-for-msvc.patch" + patch_description: "remove attribute for msvc" + patch_type: "portability" diff --git a/recipes/cassandra-cpp-driver/all/conanfile.py b/recipes/cassandra-cpp-driver/all/conanfile.py index 76b1d99adf12b..57fdb66f78e3f 100644 --- a/recipes/cassandra-cpp-driver/all/conanfile.py +++ b/recipes/cassandra-cpp-driver/all/conanfile.py @@ -1,19 +1,20 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, rm +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.build import check_min_cppstd import os -required_conan_version = ">=1.33.0" - +required_conan_version = ">=1.53.0" class CassandraCppDriverConan(ConanFile): name = "cassandra-cpp-driver" + description = "DataStax C/C++ Driver for Apache Cassandra and DataStax Products" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://docs.datastax.com/en/developer/cpp-driver/" - description = "DataStax C/C++ Driver for Apache Cassandra and DataStax Products" - topics = ("cassandra", "cpp-driver", "database", "conan-recipe") - - settings = "os", "compiler", "build_type", "arch" + topics = ("cassandra", "cpp-driver", "database",) + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -34,19 +35,14 @@ class CassandraCppDriverConan(ConanFile): "with_kerberos": False, "use_timerfd": True, } - short_paths = True - generators = "cmake" - exports_sources = [ - "CMakeLists.txt", - "patches/*" - ] - - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -55,24 +51,30 @@ 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("libuv/1.44.1") + self.requires("libuv/1.46.0") self.requires("http_parser/2.9.4") - self.requires("rapidjson/cci.20211112") + self.requires("rapidjson/cci.20220822") if self.options.with_openssl: - self.requires("openssl/1.1.1q") + self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: - self.requires("minizip/1.2.12") - self.requires("zlib/1.2.12") + self.requires("minizip/1.2.13") + self.requires("zlib/1.2.13") if self.options.use_atomic == "boost": - self.requires("boost/1.79.0") + self.requires("boost/1.82.0") def validate(self): + if self.info.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + if self.options.use_atomic == "boost": # Compilation error on Linux if self.settings.os == "Linux": @@ -84,69 +86,69 @@ def validate(self): "Kerberos is not supported at the moment") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "\"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\"", - "\"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\" OR \"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"AppleClang\"") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - self._cmake.definitions["VERSION"] = self.version - self._cmake.definitions["CASS_BUILD_EXAMPLES"] = False - self._cmake.definitions["CASS_BUILD_INTEGRATION_TESTS"] = False - self._cmake.definitions["CASS_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["CASS_BUILD_STATIC"] = not self.options.shared - self._cmake.definitions["CASS_BUILD_TESTS"] = False - self._cmake.definitions["CASS_BUILD_UNIT_TESTS"] = False - self._cmake.definitions["CASS_DEBUG_CUSTOM_ALLOC"] = False - self._cmake.definitions["CASS_INSTALL_HEADER_IN_SUBDIR"] = self.options.install_header_in_subdir - self._cmake.definitions["CASS_INSTALL_PKG_CONFIG"] = False + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["VERSION"] = self.version + tc.variables["CASS_BUILD_EXAMPLES"] = False + tc.variables["CASS_BUILD_INTEGRATION_TESTS"] = False + tc.variables["CASS_BUILD_SHARED"] = self.options.shared + tc.variables["CASS_BUILD_STATIC"] = not self.options.shared + tc.variables["CASS_BUILD_TESTS"] = False + tc.variables["CASS_BUILD_UNIT_TESTS"] = False + tc.variables["CASS_DEBUG_CUSTOM_ALLOC"] = False + tc.variables["CASS_INSTALL_HEADER_IN_SUBDIR"] = self.options.install_header_in_subdir + tc.variables["CASS_INSTALL_PKG_CONFIG"] = False if self.options.use_atomic == "boost": - self._cmake.definitions["CASS_USE_BOOST_ATOMIC"] = True - self._cmake.definitions["CASS_USE_STD_ATOMIC"] = False + tc.variables["CASS_USE_BOOST_ATOMIC"] = True + tc.variables["CASS_USE_STD_ATOMIC"] = False elif self.options.use_atomic == "std": - self._cmake.definitions["CASS_USE_BOOST_ATOMIC"] = False - self._cmake.definitions["CASS_USE_STD_ATOMIC"] = True + tc.variables["CASS_USE_BOOST_ATOMIC"] = False + tc.variables["CASS_USE_STD_ATOMIC"] = True else: - self._cmake.definitions["CASS_USE_BOOST_ATOMIC"] = False - self._cmake.definitions["CASS_USE_STD_ATOMIC"] = False + tc.variables["CASS_USE_BOOST_ATOMIC"] = False + tc.variables["CASS_USE_STD_ATOMIC"] = False - self._cmake.definitions["CASS_USE_OPENSSL"] = self.options.with_openssl - self._cmake.definitions["CASS_USE_STATIC_LIBS"] = False - self._cmake.definitions["CASS_USE_ZLIB"] = self.options.with_zlib - self._cmake.definitions["CASS_USE_LIBSSH2"] = False + tc.variables["CASS_USE_OPENSSL"] = self.options.with_openssl + tc.variables["CASS_USE_STATIC_LIBS"] = False + tc.variables["CASS_USE_ZLIB"] = self.options.with_zlib + tc.variables["CASS_USE_LIBSSH2"] = False # FIXME: To use kerberos, its conan package is needed. Uncomment this when kerberos conan package is ready. - # self._cmake.definitions["CASS_USE_KERBEROS"] = self.options.with_kerberos + # tc.variables["CASS_USE_KERBEROS"] = self.options.with_kerberos if self.settings.os == "Linux": - self._cmake.definitions["CASS_USE_TIMERFD"] = self.options.use_timerfd + tc.variables["CASS_USE_TIMERFD"] = self.options.use_timerfd + tc.generate() - self._cmake.configure() - return self._cmake + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "\"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\"", + "\"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\" OR \"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"AppleClang\"") + rm(self, "Findlibssh2.cmake", os.path.join(self.source_folder, "cmake")) + rm(self, "Findlibuv.cmake", os.path.join(self.source_folder, "cmake")) + rm(self, "FindOpenSSL.cmake", os.path.join(self.source_folder, "cmake")) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, pattern="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) + self.cpp_info.libs = ["cassandra" if self.options.shared else "cassandra_static"] if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["iphlpapi", "psapi", "wsock32", diff --git a/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-atomic.patch b/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-atomic.patch new file mode 100644 index 0000000000000..64a29de126f9f --- /dev/null +++ b/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-atomic.patch @@ -0,0 +1,28 @@ +diff --git a/src/atomic/atomic_std.hpp b/src/atomic/atomic_std.hpp +index 2ad0103..08418a9 100644 +--- a/src/atomic/atomic_std.hpp ++++ b/src/atomic/atomic_std.hpp +@@ -18,16 +18,17 @@ + #define DATASTAX_INTERNAL_ATOMIC_STD_HPP + + #include ++#include + + namespace datastax { namespace internal { + + enum MemoryOrder { +- MEMORY_ORDER_RELAXED = std::memory_order_relaxed, +- MEMORY_ORDER_CONSUME = std::memory_order_consume, +- MEMORY_ORDER_ACQUIRE = std::memory_order_acquire, +- MEMORY_ORDER_RELEASE = std::memory_order_release, +- MEMORY_ORDER_ACQ_REL = std::memory_order_acq_rel, +- MEMORY_ORDER_SEQ_CST = std::memory_order_seq_cst ++ MEMORY_ORDER_RELAXED = static_cast::type>(std::memory_order_relaxed), ++ MEMORY_ORDER_CONSUME = static_cast::type>(std::memory_order_consume), ++ MEMORY_ORDER_ACQUIRE = static_cast::type>(std::memory_order_acquire), ++ MEMORY_ORDER_RELEASE = static_cast::type>(std::memory_order_release), ++ MEMORY_ORDER_ACQ_REL = static_cast::type>(std::memory_order_acq_rel), ++ MEMORY_ORDER_SEQ_CST = static_cast::type>(std::memory_order_seq_cst) + }; + + template diff --git a/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-cmake.patch b/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-cmake.patch index 191d2eb7e8174..9406ccc60d7aa 100644 --- a/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-cmake.patch +++ b/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-cmake.patch @@ -1,43 +1,87 @@ - CMakeLists.txt | 4 --- - src/CMakeLists.txt | 84 ++++++++++++++++++++++++++++++++++++------------------ - 2 files changed, 57 insertions(+), 31 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index c6150948b..669eb086e 100644 +index c615094..b10d9c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1,6 +1,3 @@ --cmake_minimum_required(VERSION 2.8.12) --project(cassandra C CXX) -- - set(CASS_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - set(CASS_SRC_DIR "${CASS_ROOT_DIR}/src") - set(CASS_INCLUDE_DIR "${CASS_ROOT_DIR}/include") -@@ -81,7 +78,6 @@ endif() - # Dependencies - #------------------------ +@@ -164,7 +164,7 @@ endif() + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + # Enable C++11 support to use std::atomic +- if(CASS_USE_STD_ATOMIC) ++ if(1) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + endif() + +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index 9052472..3f65adb 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -21,28 +21,28 @@ if(NOT LIBUV_ROOT_DIR) + endif() + + # Ensure libuv was found +-find_package(Libuv "1.0.0") +-if(WIN32 AND NOT LIBUV_FOUND) ++find_package(libuv "1.0.0") ++if(WIN32 AND NOT libuv_FOUND) + message(STATUS "Unable to Locate libuv: Third party build step will be performed") + include(ExternalProject-libuv) +-elseif(NOT LIBUV_FOUND) ++elseif(NOT libuv_FOUND) + message(FATAL_ERROR "Unable to Locate libuv: libuv v1.0.0+ is required") + endif() + +-if(LIBUV_VERSION VERSION_LESS "1.0") +- message(FATAL_ERROR "Libuv version ${LIBUV_VERSION} is not " ++if(libuv_VERSION VERSION_LESS "1.0") ++ message(FATAL_ERROR "libuv version ${libuv_VERSION} is not " + " supported. Please updgrade to libuv version 1.0 or greater in order to " + "utilize the driver.") + endif() --include(Dependencies) - include(ClangFormat) +-if(LIBUV_VERSION VERSION_LESS "1.6") +- message(WARNING "Libuv version ${LIBUV_VERSION} does not support custom " ++if(libuv_VERSION VERSION_LESS "1.6") ++ message(WARNING "libuv version ${libuv_VERSION} does not support custom " + "memory allocators (version 1.6 or greater required)") + endif() + + # Assign libuv include and libraries +-set(CASS_INCLUDES ${CASS_INCLUDES} ${LIBUV_INCLUDE_DIRS}) +-set(CASS_LIBS ${CASS_LIBS} ${LIBUV_LIBRARIES}) ++set(CASS_INCLUDES ${CASS_INCLUDES} ${libuv_INCLUDE_DIRS}) ++set(CASS_LIBS ${CASS_LIBS} ${libuv_LIBRARIES}) + + # libuv and gtests require thread library + if(NOT WIN32) +@@ -192,3 +192,20 @@ if(CASS_USE_BOOST_ATOMIC) + endif() + endif() - #------------------------ ++#------------------------ ++# RapidJSON ++#------------------------ ++find_package(RapidJSON REQUIRED CONFIG) ++set(CASS_LIBS ${CASS_LIBS} rapidjson) ++ ++#------------------------ ++# http_parser ++#------------------------ ++find_package(http_parser REQUIRED CONFIG) ++set(CASS_LIBS ${CASS_LIBS} http_parser::http_parser) ++ ++#------------------------ ++# minizip ++#------------------------ ++find_package(minizip REQUIRED CONFIG) ++set(CASS_LIBS ${CASS_LIBS} minizip::minizip) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 06b84b759..7e81b2a06 100644 +index 06b84b7..41b23f2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -1,6 +1,50 @@ +@@ -1,6 +1,41 @@ include(CheckSymbolExists) include(CheckCXXSourceCompiles) -+#------------------------ -+# Windows libraries -+#------------------------ -+ -+if(WIN32) -+ # Assign additional library requirements for Windows -+ set(CASS_LIBS iphlpapi psapi wsock32 crypt32 ws2_32 userenv version) -+endif() -+ +#------------------------ +# Libuv +#------------------------ @@ -76,7 +120,7 @@ index 06b84b759..7e81b2a06 100644 file(GLOB SOURCES *.cpp *.hpp) if(APPLE) -@@ -38,18 +82,14 @@ endif() +@@ -38,18 +73,14 @@ endif() add_subdirectory(third_party/curl) add_subdirectory(third_party/hdr_histogram) @@ -90,16 +134,17 @@ index 06b84b759..7e81b2a06 100644 - third_party/http-parser - third_party/minizip - third_party/mt19937_64 +- third_party/rapidjson/rapidjson +- third_party/sparsehash/src) + third_party/curl # FIXME: Use conan package + third_party/hdr_histogram # FIXME: Use conan package + third_party/mt19937_64 # FIXME: Use conan package -+ third_party/sparsehash/src) # FIXME: Use conan package - third_party/rapidjson/rapidjson -- third_party/sparsehash/src) ++ third_party/sparsehash/src # FIXME: Use conan package ++) list(APPEND INCLUDE_DIRS ${CASS_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -@@ -69,12 +109,6 @@ if(WIN32) +@@ -69,12 +100,6 @@ if(WIN32) endif() endif() @@ -112,40 +157,27 @@ index 06b84b759..7e81b2a06 100644 #------------------------------ # Build configured header #------------------------------ -@@ -130,11 +164,11 @@ if(CASS_BUILD_SHARED) - add_library(cassandra SHARED +@@ -131,8 +156,7 @@ if(CASS_BUILD_SHARED) ${SOURCES} $ -- $ + $ - $ - $) -+ $) ++ ) target_link_libraries(cassandra ${CASS_LIBS}) -- target_include_directories(cassandra PRIVATE ${INCLUDE_DIRS} ${CASS_INCLUDES}) -+ target_include_directories(cassandra PRIVATE ${INCLUDE_DIRS}) -+ -+ conan_target_link_libraries(cassandra) - - set_target_properties(cassandra PROPERTIES OUTPUT_NAME cassandra) - set_target_properties(cassandra PROPERTIES VERSION ${PROJECT_VERSION_STRING} SOVERSION ${PROJECT_VERSION_MAJOR}) -@@ -167,11 +201,12 @@ if(CASS_BUILD_STATIC) - add_library(cassandra_static STATIC + target_include_directories(cassandra PRIVATE ${INCLUDE_DIRS} ${CASS_INCLUDES}) + +@@ -168,8 +192,7 @@ if(CASS_BUILD_STATIC) ${SOURCES} $ -- $ + $ - $ - $) -+ $) -+ ++ ) target_link_libraries(cassandra_static ${CASS_LIBS}) -- target_include_directories(cassandra_static PRIVATE ${INCLUDE_DIRS} ${CASS_INCLUDES}) -+ target_include_directories(cassandra_static PRIVATE ${INCLUDE_DIRS}) -+ -+ conan_target_link_libraries(cassandra_static) - - set_target_properties(cassandra_static PROPERTIES OUTPUT_NAME cassandra_static) - set_target_properties(cassandra_static PROPERTIES VERSION ${PROJECT_VERSION_STRING} SOVERSION ${PROJECT_VERSION_MAJOR}) -@@ -274,11 +309,6 @@ if(CASS_BUILD_SHARED) + target_include_directories(cassandra_static PRIVATE ${INCLUDE_DIRS} ${CASS_INCLUDES}) + +@@ -274,11 +297,6 @@ if(CASS_BUILD_SHARED) endif() endif() endif() diff --git a/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-rapidjson.patch b/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-rapidjson.patch index 7c7b5d16994d7..91811710ffbe4 100644 --- a/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-rapidjson.patch +++ b/recipes/cassandra-cpp-driver/all/patches/2.15.3/fix-rapidjson.patch @@ -1,21 +1,5 @@ - src/CMakeLists.txt | 1 - - src/json.hpp | 8 ++++---- - 2 files changed, 4 insertions(+), 5 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 7e81b2a06..2f3229292 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -89,7 +89,6 @@ list(APPEND INCLUDE_DIRS - third_party/hdr_histogram # FIXME: Use conan package - third_party/mt19937_64 # FIXME: Use conan package - third_party/sparsehash/src) # FIXME: Use conan package -- third_party/rapidjson/rapidjson - - list(APPEND INCLUDE_DIRS ${CASS_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) - diff --git a/src/json.hpp b/src/json.hpp -index 620536e55..6003f2521 100644 +index 620536e..6003f25 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -48,13 +48,13 @@ static void delete_(T* ptr) { diff --git a/recipes/cassandra-cpp-driver/all/patches/2.15.3/remove-attribute-for-msvc.patch b/recipes/cassandra-cpp-driver/all/patches/2.15.3/remove-attribute-for-msvc.patch new file mode 100644 index 0000000000000..216ee8df654e9 --- /dev/null +++ b/recipes/cassandra-cpp-driver/all/patches/2.15.3/remove-attribute-for-msvc.patch @@ -0,0 +1,18 @@ +diff --git a/src/third_party/sparsehash/src/sparsehash/internal/hashtable-common.h b/src/third_party/sparsehash/src/sparsehash/internal/hashtable-common.h +index bac2b88..e802b5c 100644 +--- a/src/third_party/sparsehash/src/sparsehash/internal/hashtable-common.h ++++ b/src/third_party/sparsehash/src/sparsehash/internal/hashtable-common.h +@@ -50,8 +50,13 @@ + _START_GOOGLE_NAMESPACE_ + + template struct SparsehashCompileAssert { }; ++#if defined(_MSC_VER) ++#define SPARSEHASH_COMPILE_ASSERT(expr, msg) \ ++ typedef SparsehashCompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] ++#else + #define SPARSEHASH_COMPILE_ASSERT(expr, msg) \ + __attribute__((unused)) typedef SparsehashCompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] ++#endif + + namespace sparsehash_internal { + diff --git a/recipes/cassandra-cpp-driver/all/patches/2.16.2/fix-cmake.patch b/recipes/cassandra-cpp-driver/all/patches/2.16.2/fix-cmake.patch new file mode 100644 index 0000000000000..5a69b0d7d12b1 --- /dev/null +++ b/recipes/cassandra-cpp-driver/all/patches/2.16.2/fix-cmake.patch @@ -0,0 +1,201 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c615094..b10d9c9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -164,7 +164,7 @@ endif() + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + # Enable C++11 support to use std::atomic +- if(CASS_USE_STD_ATOMIC) ++ if(1) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + endif() + +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index 9052472..4701133 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -21,28 +21,28 @@ if(NOT LIBUV_ROOT_DIR) + endif() + + # Ensure libuv was found +-find_package(Libuv "1.0.0") +-if(WIN32 AND NOT LIBUV_FOUND) ++find_package(libuv "1.0.0") ++if(WIN32 AND NOT libuv_FOUND) + message(STATUS "Unable to Locate libuv: Third party build step will be performed") + include(ExternalProject-libuv) +-elseif(NOT LIBUV_FOUND) ++elseif(NOT libuv_FOUND) + message(FATAL_ERROR "Unable to Locate libuv: libuv v1.0.0+ is required") + endif() + +-if(LIBUV_VERSION VERSION_LESS "1.0") +- message(FATAL_ERROR "Libuv version ${LIBUV_VERSION} is not " ++if(libuv_VERSION VERSION_LESS "1.0") ++ message(FATAL_ERROR "Libuv version ${libuv_VERSION} is not " + " supported. Please updgrade to libuv version 1.0 or greater in order to " + "utilize the driver.") + endif() + +-if(LIBUV_VERSION VERSION_LESS "1.6") +- message(WARNING "Libuv version ${LIBUV_VERSION} does not support custom " ++if(libuv_VERSION VERSION_LESS "1.6") ++ message(WARNING "Libuv version ${libuv_VERSION} does not support custom " + "memory allocators (version 1.6 or greater required)") + endif() + + # Assign libuv include and libraries +-set(CASS_INCLUDES ${CASS_INCLUDES} ${LIBUV_INCLUDE_DIRS}) +-set(CASS_LIBS ${CASS_LIBS} ${LIBUV_LIBRARIES}) ++set(CASS_INCLUDES ${CASS_INCLUDES} ${libuv_INCLUDE_DIRS}) ++set(CASS_LIBS ${CASS_LIBS} ${libuv_LIBRARIES}) + + # libuv and gtests require thread library + if(NOT WIN32) +@@ -192,3 +192,20 @@ if(CASS_USE_BOOST_ATOMIC) + endif() + endif() + ++#------------------------ ++# RapidJSON ++#------------------------ ++find_package(RapidJSON REQUIRED CONFIG) ++set(CASS_LIBS ${CASS_LIBS} rapidjson) ++ ++#------------------------ ++# http_parser ++#------------------------ ++find_package(http_parser REQUIRED CONFIG) ++set(CASS_LIBS ${CASS_LIBS} http_parser::http_parser) ++ ++#------------------------ ++# minizip ++#------------------------ ++find_package(minizip REQUIRED CONFIG) ++set(CASS_LIBS ${CASS_LIBS} minizip::minizip) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index d662718..088a153 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,6 +1,42 @@ + include(CheckSymbolExists) + include(CheckCXXSourceCompiles) + ++#------------------------ ++# Libuv ++#------------------------ ++ ++if(NOT WIN32) ++ set(CMAKE_THREAD_PREFER_PTHREAD 1) ++ set(THREADS_PREFER_PTHREAD_FLAG 1) ++endif() ++ ++find_package(Threads REQUIRED) ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_THREAD_LIBS_INIT}") ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_THREAD_LIBS_INIT}") ++if(NOT WIN32 AND ${CMAKE_VERSION} VERSION_LESS "3.1.0") ++ # FindThreads in CMake versions < v3.1.0 do not have the THREADS_PREFER_PTHREAD_FLAG to prefer -pthread ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") ++endif() ++ ++#------------------------ ++# Boost ++#------------------------ ++ ++if(CASS_USE_BOOST_ATOMIC) ++ # Ensure Boost auto linking is disabled (defaults to auto linking on Windows) ++ if(WIN32) ++ add_definitions(-DBOOST_ALL_NO_LIB) ++ endif() ++ ++ # Determine if additional Boost definitions are required for driver/executables ++ if(NOT WIN32) ++ # Handle explicit initialization warning in atomic/details/casts ++ add_definitions(-Wno-missing-field-initializers) ++ endif() ++endif() ++ ++ + file(GLOB SOURCES *.cpp *.hpp) + + if(APPLE) +@@ -38,18 +74,14 @@ endif() + + add_subdirectory(third_party/curl) + add_subdirectory(third_party/hdr_histogram) +-add_subdirectory(third_party/http-parser) +-add_subdirectory(third_party/minizip) + add_subdirectory(third_party/sparsehash) + + list(APPEND INCLUDE_DIRS +- third_party/curl +- third_party/hdr_histogram +- third_party/http-parser +- third_party/minizip +- third_party/mt19937_64 +- third_party/rapidjson/rapidjson +- third_party/sparsehash/src) ++ third_party/curl # FIXME: Use conan package ++ third_party/hdr_histogram # FIXME: Use conan package ++ third_party/mt19937_64 # FIXME: Use conan package ++ third_party/sparsehash/src # FIXME: Use conan package ++) + + list(APPEND INCLUDE_DIRS ${CASS_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) + +@@ -69,13 +101,6 @@ if(WIN32) + endif() + endif() + +-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wconversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-undefined-var-template -Werror") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-int-float-conversion") +-elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") # To many superfluous warnings generated with GCC when using -Wconversion (see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40752) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +-endif() +- + #------------------------------ + # Build configured header + #------------------------------ +@@ -122,7 +147,6 @@ configure_file( + ${CASS_ROOT_DIR}/driver_config.hpp.in + ${CMAKE_CURRENT_SOURCE_DIR}/driver_config.hpp) + +- + #------------------------------ + # Targets + #------------------------------ +@@ -132,8 +156,7 @@ if(CASS_BUILD_SHARED) + ${SOURCES} + $ + $ +- $ +- $) ++ ) + target_link_libraries(cassandra ${CASS_LIBS}) + target_include_directories(cassandra PRIVATE ${INCLUDE_DIRS} ${CASS_INCLUDES}) + +@@ -169,8 +192,7 @@ if(CASS_BUILD_STATIC) + ${SOURCES} + $ + $ +- $ +- $) ++ ) + target_link_libraries(cassandra_static ${CASS_LIBS}) + target_include_directories(cassandra_static PRIVATE ${INCLUDE_DIRS} ${CASS_INCLUDES}) + +@@ -275,11 +297,6 @@ if(CASS_BUILD_SHARED) + endif() + endif() + endif() +- if(WIN32) +- install(FILES $ +- DESTINATION "${INSTALL_DLL_EXE_DIR}" +- OPTIONAL) +- endif() + endif() + + if(CASS_BUILD_STATIC) diff --git a/recipes/cassandra-cpp-driver/all/test_package/CMakeLists.txt b/recipes/cassandra-cpp-driver/all/test_package/CMakeLists.txt index 1a95218e3d7a5..4d590e1005c29 100644 --- a/recipes/cassandra-cpp-driver/all/test_package/CMakeLists.txt +++ b/recipes/cassandra-cpp-driver/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(cassandra-cpp-driver REQUIRED CONFIG) -add_executable(${PROJECT_NAME} main.cpp) - -conan_target_link_libraries(${PROJECT_NAME}) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cassandra-cpp-driver::cassandra-cpp-driver) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cassandra-cpp-driver/all/test_package/conanfile.py b/recipes/cassandra-cpp-driver/all/test_package/conanfile.py index 0399475aec987..a9fb96656f203 100644 --- a/recipes/cassandra-cpp-driver/all/test_package/conanfile.py +++ b/recipes/cassandra-cpp-driver/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -import os.path -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 CassandraCppDriverTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cassandra-cpp-driver/all/test_package/main.cpp b/recipes/cassandra-cpp-driver/all/test_package/test_package.cpp similarity index 100% rename from recipes/cassandra-cpp-driver/all/test_package/main.cpp rename to recipes/cassandra-cpp-driver/all/test_package/test_package.cpp diff --git a/recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt b/recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..925ecbe19e448 --- /dev/null +++ b/recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py b/recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/cassandra-cpp-driver/config.yml b/recipes/cassandra-cpp-driver/config.yml index 9792bd17fcc93..fa0680a1da5b5 100644 --- a/recipes/cassandra-cpp-driver/config.yml +++ b/recipes/cassandra-cpp-driver/config.yml @@ -1,3 +1,5 @@ versions: + "2.16.2": + folder: all "2.15.3": folder: all From 244e2cb9434191129a79d3808cf48451b4acfc0c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 11:45:28 +0300 Subject: [PATCH 1280/4087] (#17347) urdfdom: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * urdfdom: add recipe * urdfdom: fix libraries being hard-coded to SHARED * urdfdom: fix building as static library on Windows * urdfdom: remove unused USE_MSVC_RUNTIME_LIBRARY_DLL * urdfdom: simplify patches * urdfdom: improve conanfile.py - Add src_folder="src" to cmake_layout(). - Add minimum cppstd >= 14. - Explicitly set the CMake package and target names. * urdfdom: replace test_requires() -> build_requires() * urdfdom: drop test_v1_package * urdfdom: drop skip_test=False support For a simpler recipe. * urdfdom: rm unnecessary cpp_info properties * urdfdom: drop transitive_libs from tinyxml * urdfdom: remove *.pc, *.cmake and shared/package.xml * Update recipes/urdfdom/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/urdfdom/all/conandata.yml | 22 ++++ recipes/urdfdom/all/conanfile.py | 107 ++++++++++++++++++ .../all/patches/001-optional-build-apps.patch | 34 ++++++ .../patches/002-use-conan-dependencies.patch | 83 ++++++++++++++ .../003-use-merged-urdfdom_headers.patch | 21 ++++ .../urdfdom/all/test_package/CMakeLists.txt | 8 ++ recipes/urdfdom/all/test_package/conanfile.py | 26 +++++ .../urdfdom/all/test_package/test_package.cpp | 15 +++ recipes/urdfdom/config.yml | 3 + 9 files changed, 319 insertions(+) create mode 100644 recipes/urdfdom/all/conandata.yml create mode 100644 recipes/urdfdom/all/conanfile.py create mode 100644 recipes/urdfdom/all/patches/001-optional-build-apps.patch create mode 100644 recipes/urdfdom/all/patches/002-use-conan-dependencies.patch create mode 100644 recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch create mode 100644 recipes/urdfdom/all/test_package/CMakeLists.txt create mode 100644 recipes/urdfdom/all/test_package/conanfile.py create mode 100644 recipes/urdfdom/all/test_package/test_package.cpp create mode 100644 recipes/urdfdom/config.yml diff --git a/recipes/urdfdom/all/conandata.yml b/recipes/urdfdom/all/conandata.yml new file mode 100644 index 0000000000000..82a2012232450 --- /dev/null +++ b/recipes/urdfdom/all/conandata.yml @@ -0,0 +1,22 @@ +sources: + "3.1.1": + urdfdom: + url: "https://github.com/ros/urdfdom/archive/refs/tags/3.1.1.tar.gz" + sha256: "dd69b2077b8fc1bd2b67022c1dc861cd896ac882df065aa08cabdf2f945a9ac0" + urdfdom_headers: + # Latest unreleased version from 2023-04-25. + # Identical to the latest v1.0.5 release, except headers have been conveniently moved to include/. + # We merge the headers into the main source tree instead of packaging them separately. + url: "https://github.com/ros/urdfdom_headers/archive/1fd21b64ed78493508a174f98af982605d1e4607.zip" + sha256: "aba42c1c83d6d1fb94e54ec84680a8b9e2417337fbaa85424da0e069d0cc89b6" +patches: + "3.1.1": + - patch_file: "patches/001-optional-build-apps.patch" + patch_type: "conan" + patch_description: "Disable building of apps by default" + - patch_file: "patches/002-use-conan-dependencies.patch" + patch_type: "conan" + patch_description: "Use dependencies (console_bridge, TinyXML, GTest) from Conan" + - patch_file: "patches/003-use-merged-urdfdom_headers.patch" + patch_type: "conan" + patch_description: "Use merged urdfdom_headers instead of a separate package" diff --git a/recipes/urdfdom/all/conanfile.py b/recipes/urdfdom/all/conanfile.py new file mode 100644 index 0000000000000..f7a710e7f7ea7 --- /dev/null +++ b/recipes/urdfdom/all/conanfile.py @@ -0,0 +1,107 @@ +import os + +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, replace_in_file, rm, rmdir + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "urdfdom" + description = "Data structures and parsers to access URDF files using the DOM model" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ros/urdfdom" + topics = ("urdf", "ros", "robotics") + 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 14 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("tinyxml/2.6.2", transitive_headers=True) + self.requires("console_bridge/1.0.2") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + # urdfdom packages its headers separately as urdfdom_headers. + # There is no obvious benefit of doing the same for the Conan package, + # so we simply merge the headers into the main source tree. + sources = self.conan_data["sources"][self.version] + get(self, **sources["urdfdom_headers"], strip_root=True, + destination=os.path.join(self.source_folder, "urdf_parser")) + get(self, **sources["urdfdom"], strip_root=True, destination=self.source_folder) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["APPEND_PROJECT_NAME_TO_INCLUDEDIR"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_APPS"] = False + if not self.options.shared: + tc.preprocessor_definitions["URDFDOM_STATIC"] = "1" + tc.generate() + CMakeDeps(self).generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # Do not hard-code libraries to SHARED + parser_cmakelists = os.path.join(self.source_folder, "urdf_parser", "CMakeLists.txt") + replace_in_file(self, parser_cmakelists, " SHARED", "") + + def build(self): + self._patch_sources() + 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", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "urdfdom")) + rmdir(self, os.path.join(self.package_folder, "CMake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + self.cpp_info.libs = [ + "urdfdom_model", + "urdfdom_model_state", + "urdfdom_sensor", + "urdfdom_world", + ] + + if not self.options.shared: + self.cpp_info.defines.append("URDFDOM_STATIC=1") diff --git a/recipes/urdfdom/all/patches/001-optional-build-apps.patch b/recipes/urdfdom/all/patches/001-optional-build-apps.patch new file mode 100644 index 0000000000000..a89c2b010b26c --- /dev/null +++ b/recipes/urdfdom/all/patches/001-optional-build-apps.patch @@ -0,0 +1,34 @@ +--- a/urdf_parser/CMakeLists.txt ++++ b/urdf_parser/CMakeLists.txt +@@ -80,6 +78,7 @@ + + # -------------------------------- + ++if(BUILD_APPS) + add_executable(check_urdf src/check_urdf.cpp) + target_include_directories(check_urdf PUBLIC include) + target_link_libraries(check_urdf urdfdom_model urdfdom_world) +@@ -96,6 +95,7 @@ + add_executable(urdf_mem_test test/memtest.cpp) + target_include_directories(urdf_mem_test PUBLIC include) + target_link_libraries(urdf_mem_test urdfdom_model) ++endif() + + include(CTest) + if(BUILD_TESTING) +@@ -103,6 +103,7 @@ + add_subdirectory(test) + endif() + ++if(BUILD_APPS) + INSTALL( + TARGETS + check_urdf +@@ -113,6 +114,7 @@ + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ++endif() + INSTALL( + TARGETS + urdfdom_model diff --git a/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch b/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch new file mode 100644 index 0000000000000..cbb6f0fc84fb3 --- /dev/null +++ b/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch @@ -0,0 +1,83 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision 1ed7ca95b917f38feb4ff7bd1aa033baf2cfce0e) ++++ b/CMakeLists.txt (revision 6592c04e28cb59b8e9ac5944e3229c50d706a2ee) +@@ -45,19 +45,9 @@ + + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +-find_package(tinyxml_vendor QUIET) +-find_package(TinyXML) +-# bionic has not cmake module, workaround +-if (NOT TinyXML_FOUND AND UNIX) +- include(FindPkgConfig) +- pkg_check_modules (TinyXML tinyxml) +-else() +- # Make it fail in platforms without pkgconfig +- find_package(TinyXML REQUIRED) # bionic has not cmake module +-endif() ++find_package(tinyxml REQUIRED CONFIG) + find_package(urdfdom_headers 1.0 REQUIRED) +-find_package(console_bridge_vendor QUIET) # Provides console_bridge 0.4.0 on platforms without it. +-find_package(console_bridge REQUIRED) ++find_package(console_bridge REQUIRED CONFIG) + + # Control where libraries and executables are placed during the build + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}") + +diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt +--- a/urdf_parser/CMakeLists.txt (revision 1ed7ca95b917f38feb4ff7bd1aa033baf2cfce0e) ++++ b/urdf_parser/CMakeLists.txt (revision 6592c04e28cb59b8e9ac5944e3229c50d706a2ee) +@@ -5,8 +5,6 @@ + + add_library(${add_urdfdom_library_LIBNAME} SHARED + ${add_urdfdom_library_SOURCES}) +- target_include_directories(${add_urdfdom_library_LIBNAME} SYSTEM PUBLIC +- ${TinyXML_INCLUDE_DIRS}) + target_include_directories(${add_urdfdom_library_LIBNAME} PUBLIC + "$" + "$") +@@ -14,7 +12,7 @@ + ${add_urdfdom_library_LINK} + ${console_bridge_link_libs} + ${urdfdom_headers_link_libs} +- ${TinyXML_LIBRARIES}) ++ tinyxml::tinyxml) + if(NOT CMAKE_CXX_STANDARD) + target_compile_features(${add_urdfdom_library_LIBNAME} PUBLIC cxx_std_14) + endif() + +diff --git a/urdf_parser/test/CMakeLists.txt b/urdf_parser/test/CMakeLists.txt +--- a/urdf_parser/test/CMakeLists.txt (revision 1ed7ca95b917f38feb4ff7bd1aa033baf2cfce0e) ++++ b/urdf_parser/test/CMakeLists.txt (revision 6592c04e28cb59b8e9ac5944e3229c50d706a2ee) +@@ -1,18 +1,8 @@ +-include_directories( +- ${CMAKE_CURRENT_SOURCE_DIR}/gtest/include +- ${CMAKE_CURRENT_SOURCE_DIR}/gtest +- ${CMAKE_CURRENT_SOURCE_DIR} +-) +- +-# Build gtest +-add_library(gtest STATIC gtest/src/gtest-all.cc) +-add_library(gtest_main STATIC gtest/src/gtest_main.cc) +-target_link_libraries(gtest_main gtest) +-target_compile_features(gtest PUBLIC cxx_std_11) +- + execute_process(COMMAND cmake -E remove_directory ${CMAKE_BINARY_DIR}/test_results) + execute_process(COMMAND cmake -E make_directory ${CMAKE_BINARY_DIR}/test_results) + ++find_package(GTest REQUIRED) ++ + # unit test to fix geometry problems + set(tests + urdf_double_convert.cpp +@@ -27,8 +17,8 @@ + add_executable(${BINARY_NAME} ${GTEST_SOURCE_file}) + + target_link_libraries(${BINARY_NAME} +- gtest_main +- gtest ++ GTest::gtest ++ GTest::gtest_main + urdfdom_model + ) + if (UNIX) diff --git a/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch b/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch new file mode 100644 index 0000000000000..b4095fcb7ba42 --- /dev/null +++ b/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision 82fb54588f3ba5091d9a73d072559ac7061eccdf) ++++ b/CMakeLists.txt (revision 1de2b88f231fa0f7f83a028e971d4ebaed1b164c) +@@ -46,7 +46,6 @@ + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + + find_package(tinyxml REQUIRED CONFIG) +-find_package(urdfdom_headers 1.0 REQUIRED) + find_package(console_bridge REQUIRED CONFIG) + + # Control where libraries and executables are placed during the build + +diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt +--- a/urdf_parser/CMakeLists.txt (revision 82fb54588f3ba5091d9a73d072559ac7061eccdf) ++++ b/urdf_parser/CMakeLists.txt (revision 1de2b88f231fa0f7f83a028e971d4ebaed1b164c) +@@ -135,4 +135,4 @@ + FILE "urdfdomExport.cmake" + ) + +-INSTALL(DIRECTORY include/urdf_parser DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++INSTALL(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/urdfdom/all/test_package/CMakeLists.txt b/recipes/urdfdom/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2d7a881934a29 --- /dev/null +++ b/recipes/urdfdom/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(urdfdom REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE urdfdom::urdfdom) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/urdfdom/all/test_package/conanfile.py b/recipes/urdfdom/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/urdfdom/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/urdfdom/all/test_package/test_package.cpp b/recipes/urdfdom/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a7e4a0d704e35 --- /dev/null +++ b/recipes/urdfdom/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include +#include +#include + +#include + +int main() { + std::string test_str = + "" + " " + ""; + urdf::ModelInterfaceSharedPtr urdf = urdf::parseURDF(test_str); + std::cout << "urdf::parseURDF() ran successfully" << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/urdfdom/config.yml b/recipes/urdfdom/config.yml new file mode 100644 index 0000000000000..fd9669719a7ad --- /dev/null +++ b/recipes/urdfdom/config.yml @@ -0,0 +1,3 @@ +versions: + "3.1.1": + folder: all From 16b4778098a54accf9428a21e67db6f347d2db1a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 12:25:18 +0300 Subject: [PATCH 1281/4087] (#17998) rtklib: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * rtklib: add recipe * rtklib: add undefined extern functions * rtklib: remove use_iers_tide_model option Disabled by default and would require linking with a precompiled library. * rtklib: simplify defs handling * rtklib: add a comment for the default values * rtklib: remove an unsupported compile flag from Clang * rtklib: add an additional reference for the defaults * rtklib: fix build errors on MacOS * rtklib: add '-undefined dynamic_lookup' ldflags on apple-clang * rtklib: fix Windows builds * rtklib: do not add opt flags for Debug, disable compiler warnings --------- Co-authored-by: Rubén Rincón Blanco --- recipes/rtklib/all/CMakeLists.txt | 38 +++++ recipes/rtklib/all/conandata.yml | 9 ++ recipes/rtklib/all/conanfile.py | 138 ++++++++++++++++++ .../fix-dll-export-of-global-vars.patch | 23 +++ .../rtklib/all/test_package/CMakeLists.txt | 7 + recipes/rtklib/all/test_package/conanfile.py | 27 ++++ .../rtklib/all/test_package/test_package.cpp | 18 +++ recipes/rtklib/config.yml | 3 + 8 files changed, 263 insertions(+) create mode 100644 recipes/rtklib/all/CMakeLists.txt create mode 100644 recipes/rtklib/all/conandata.yml create mode 100644 recipes/rtklib/all/conanfile.py create mode 100644 recipes/rtklib/all/patches/fix-dll-export-of-global-vars.patch create mode 100644 recipes/rtklib/all/test_package/CMakeLists.txt create mode 100644 recipes/rtklib/all/test_package/conanfile.py create mode 100644 recipes/rtklib/all/test_package/test_package.cpp create mode 100644 recipes/rtklib/config.yml diff --git a/recipes/rtklib/all/CMakeLists.txt b/recipes/rtklib/all/CMakeLists.txt new file mode 100644 index 0000000000000..6f87c0e328a59 --- /dev/null +++ b/recipes/rtklib/all/CMakeLists.txt @@ -0,0 +1,38 @@ +# Based largely on https://github.com/tomojitakasu/RTKLIB/blob/v2.4.3-b34/app/consapp/rnx2rtkp/gcc/makefile +cmake_minimum_required(VERSION 3.15) +project(rtklib C) + +if (NOT MSVC) + add_compile_options(-ansi $<$>:-O3>) +# add_compile_options(-Wall -pedantic) +# if (GCC) +# add_compile_options(-Wno-unused-but-set-variable) +# endif() +else() + add_compile_options( /D_CRT_SECURE_NO_WARNINGS $<$>:/O2>) +# add_compile_options(/W4) +endif() + +if (APPLE) + # Allow extern functions (showmsg(), settspan() and settime()) to be found at runtime + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup") +endif() + +file(GLOB_RECURSE RTKLIB_SOURCES "src/*.c") + +find_package(Threads REQUIRED) + +add_library(rtklib ${RTKLIB_SOURCES}) +target_include_directories(rtklib PUBLIC src) +target_link_libraries(rtklib PUBLIC Threads::Threads) + +if (WIN32) + target_link_libraries(rtklib PRIVATE + ws2_32 # sockets + winmm # timeGetTime() + ) +endif() + +include(GNUInstallDirs) +install(TARGETS rtklib) +install(FILES src/rtklib.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/rtklib/all/conandata.yml b/recipes/rtklib/all/conandata.yml new file mode 100644 index 0000000000000..7dc67f1d1ed6d --- /dev/null +++ b/recipes/rtklib/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "2.4.3-b34": + url: "https://github.com/tomojitakasu/RTKLIB/archive/refs/tags/v2.4.3-b34.tar.gz" + sha256: "a9ce13293ef71b028036cb98a114b9bba96bdd439a0aeebca8e9c73156e461cf" +patches: + "2.4.3-b34": + - patch_file: "patches/fix-dll-export-of-global-vars.patch" + patch_description: "Fix missing EXPORT attributes on global variables required for shared Windows builds" + patch_type: "portability" diff --git a/recipes/rtklib/all/conanfile.py b/recipes/rtklib/all/conanfile.py new file mode 100644 index 0000000000000..ea091707cc7ee --- /dev/null +++ b/recipes/rtklib/all/conanfile.py @@ -0,0 +1,138 @@ +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 get, copy, export_conandata_patches, apply_conandata_patches + +required_conan_version = ">=1.53.0" + + +class RtklibConan(ConanFile): + name = "rtklib" + description = "Library for standard and precise positioning with GNSS" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/tomojitakasu/RTKLIB" + topics = ("gnss", "rtk", "ppp", "rinex", "rtcm", "ublox", "novatel", "septentrio") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "trace": [True, False], + "enable_glonass": [True, False], + "enable_qzss": [True, False], + "enable_galileo": [True, False], + "enable_beidou": [True, False], + "enable_irnss": [True, False], + "num_frequencies": ["ANY"], + "num_ext_obs_codes": ["ANY"], + } + default_options = { + "shared": False, + "fPIC": True, + "trace": False, + "enable_glonass": True, + "enable_qzss": True, + "enable_galileo": True, + "enable_beidou": True, + "enable_irnss": True, + "num_frequencies": 5, + "num_ext_obs_codes": 3, + } + + def export_sources(self): + copy(self, "CMakeLists.txt", + src=self.recipe_folder, + dst=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") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _public_defines(self): + # Values used in the public header + # https://github.com/tomojitakasu/RTKLIB/blob/v2.4.3-b34/src/rtklib.h#L6-L15 + # Default values are based on + # https://github.com/tomojitakasu/RTKLIB/blob/v2.4.3-b34/app/consapp/rnx2rtkp/gcc/makefile#L5 + # https://github.com/tomojitakasu/RTKLIB/blob/v2.4.3-b34/app/consapp/convbin/gcc/makefile#L10 + defs = {} + defs["ENAGLO"] = self.options.enable_glonass + defs["ENAQZS"] = self.options.enable_qzss + defs["ENAGAL"] = self.options.enable_galileo + defs["ENACMP"] = self.options.enable_beidou + defs["ENAIRN"] = self.options.enable_irnss + defs["NFREQ"] = str(self.options.num_frequencies) + defs["NEXOBS"] = str(self.options.num_ext_obs_codes) + defs["WIN32"] = self.settings.os == "Windows" + defs["WIN_DLL"] = self.settings.os == "Windows" and self.options.shared + return defs + + def generate(self): + tc = CMakeToolchain(self) + defs = self._public_defines + defs["TRACE"] = self.options.trace + # TODO: add as options and set libraries correctly + defs["LAPACK"] = False + defs["MKL"] = False + # Set default values + defs["SVR_REUSEADDR"] = True # reuse tcp server address + defs["NOCALLOC"] = False # use calloc for zero matrix + defs["CPUTIME_IN_GPST"] = False # cputime operated in gpst + defs["RRCENA"] = False # enable rrc correction + defs["OUTSTAT_AMB"] = False # output ambiguity parameters to solution status + defs["IERS_MODEL"] = False # use IERS tide model + if is_apple_os(self): + # Add baud rates missing from termios.h for stream.c + defs["B460800"] = 460800 + defs["B921600"] = 921600 + for k, v in defs.items(): + if type(v) in (str, int): + tc.preprocessor_definitions[k] = v + elif v: + tc.preprocessor_definitions[k] = "" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(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() + + def package_info(self): + self.cpp_info.libs = ["rtklib"] + + for k, v in self._public_defines.items(): + if type(v) in (str, int): + self.cpp_info.defines.append(f"{k}={v}") + elif v: + self.cpp_info.defines.append(k) + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread", "rt"] + elif self.settings.os == "Windows": + self.cpp_info.system_libs = ["ws2_32", "winmm"] diff --git a/recipes/rtklib/all/patches/fix-dll-export-of-global-vars.patch b/recipes/rtklib/all/patches/fix-dll-export-of-global-vars.patch new file mode 100644 index 0000000000000..f52bd22d8d75b --- /dev/null +++ b/recipes/rtklib/all/patches/fix-dll-export-of-global-vars.patch @@ -0,0 +1,23 @@ +--- src/rtklib.h ++++ src/rtklib.h +@@ -1293,13 +1293,13 @@ + typedef void fatalfunc_t(const char *); /* fatal callback function type */ + + /* global variables ----------------------------------------------------------*/ +-extern const double chisqr[]; /* chi-sqr(n) table (alpha=0.001) */ +-extern const prcopt_t prcopt_default; /* default positioning options */ +-extern const solopt_t solopt_default; /* default solution output options */ +-extern const sbsigpband_t igpband1[9][8]; /* SBAS IGP band 0-8 */ +-extern const sbsigpband_t igpband2[2][5]; /* SBAS IGP band 9-10 */ +-extern const char *formatstrs[]; /* stream format strings */ +-extern opt_t sysopts[]; /* system options table */ ++EXPORT extern const double chisqr[]; /* chi-sqr(n) table (alpha=0.001) */ ++EXPORT extern const prcopt_t prcopt_default; /* default positioning options */ ++EXPORT extern const solopt_t solopt_default; /* default solution output options */ ++EXPORT extern const sbsigpband_t igpband1[9][8]; /* SBAS IGP band 0-8 */ ++EXPORT extern const sbsigpband_t igpband2[2][5]; /* SBAS IGP band 9-10 */ ++EXPORT extern const char *formatstrs[]; /* stream format strings */ ++EXPORT extern opt_t sysopts[]; /* system options table */ + + /* satellites, systems, codes functions --------------------------------------*/ + EXPORT int satno (int sys, int prn); diff --git a/recipes/rtklib/all/test_package/CMakeLists.txt b/recipes/rtklib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..326ac56093a5e --- /dev/null +++ b/recipes/rtklib/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(rtklib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE rtklib::rtklib) diff --git a/recipes/rtklib/all/test_package/conanfile.py b/recipes/rtklib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/rtklib/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/rtklib/all/test_package/test_package.cpp b/recipes/rtklib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..51c8582d96563 --- /dev/null +++ b/recipes/rtklib/all/test_package/test_package.cpp @@ -0,0 +1,18 @@ +#include +#undef lock + +#include +#include + +// Extern functions meant to be defined by the user +extern int showmsg(const char *format, ...) { return 0; } +extern void settspan(gtime_t ts, gtime_t te) {} +extern void settime(gtime_t time) {} + +int main() { + int week = 0; + double sec = time2gpst(timeget(), &week); + std::cout << "Current GPS time: week " << week << ", " << sec << " seconds of week" + << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/rtklib/config.yml b/recipes/rtklib/config.yml new file mode 100644 index 0000000000000..8faa0eba5645f --- /dev/null +++ b/recipes/rtklib/config.yml @@ -0,0 +1,3 @@ +versions: + "2.4.3-b34": + folder: all From 4cd361e70988b1e3b154f88dacef96f6f912b074 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 12:47:34 +0300 Subject: [PATCH 1282/4087] (#18133) easyloggingpp: migrate to Conan v2 --- recipes/easyloggingpp/all/CMakeLists.txt | 67 --------- recipes/easyloggingpp/all/conanfile.py | 130 ++++++++---------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 21 ++- .../all/test_package/test_package.cpp | 7 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 106 insertions(+), 149 deletions(-) delete mode 100644 recipes/easyloggingpp/all/CMakeLists.txt create mode 100644 recipes/easyloggingpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/easyloggingpp/all/test_v1_package/conanfile.py diff --git a/recipes/easyloggingpp/all/CMakeLists.txt b/recipes/easyloggingpp/all/CMakeLists.txt deleted file mode 100644 index f6fc5c33e69b0..0000000000000 --- a/recipes/easyloggingpp/all/CMakeLists.txt +++ /dev/null @@ -1,67 +0,0 @@ -cmake_minimum_required(VERSION 3.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() -option(enable_crash_log "Enable crash log handler" OFF) -option(enable_thread_safe "Enable thread safety for use in multithreaded env" OFF) -option(enable_debug_errors "Enable debug errors in case of configuration issues" OFF) -option(enable_default_logfile "Enable creation of default logfile" ON) -option(disable_logs "Disables all logs" OFF) -option(disable_debug_logs "Disables debug logs" OFF) -option(disable_info_logs "Disables info logs" OFF) -option(disable_warning_logs "Disables warning logs" OFF) -option(disable_error_logs "Disables error logs" OFF) -option(disable_fatal_logs "Disables fatal logs" OFF) -option(disable_verbose_logs "Disables verbose logs" OFF) -option(disable_trace_logs "Disables trace logs" OFF) - -if (enable_crash_log) - add_definitions(-DELPP_FEATURE_CRASH_LOG) -endif() - -if (enable_thread_safe) - add_definitions(-DELPP_THREAD_SAFE) -endif() - -if (enable_debug_errors) - add_definitions(-DELPP_DEBUG_ERRORS) -endif() - -if (NOT enable_default_logfile) - add_definitions(-DELPP_NO_DEFAULT_LOG_FILE) -endif() - -if (disable_logs) - add_definitions(-DELPP_DISABLE_LOGS) -endif() - -if (disable_debug_logs) - add_definitions(-DELPP_DISABLE_DEBUG_LOGS) -endif() - -if (disable_info_logs) - add_definitions(-DELPP_DISABLE_INFO_LOGS) -endif() - -if (disable_warning_logs) - add_definitions(-DELPP_DISABLE_WARNING_LOGS) -endif() - -if (disable_error_logs) - add_definitions(-DELPP_DISABLE_ERROR_LOGS) -endif() - -if (disable_fatal_logs) - add_definitions(-DELPP_DISABLE_FATAL_LOGS) -endif() - -if (disable_verbose_logs) - add_definitions(-DELPP_DISABLE_VERBOSE_LOGS) -endif() - -if (disable_trace_logs) - add_definitions(-DELPP_DISABLE_TRACE_LOGS) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/easyloggingpp/all/conanfile.py b/recipes/easyloggingpp/all/conanfile.py index b5d1f9b44e060..5410892575c4a 100644 --- a/recipes/easyloggingpp/all/conanfile.py +++ b/recipes/easyloggingpp/all/conanfile.py @@ -1,21 +1,22 @@ import os -from conans import CMake -from conan.tools import files + from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class EasyloggingppConan(ConanFile): name = "easyloggingpp" - license = "The MIT License (MIT)" - homepage = "https://github.com/amrayn/easyloggingpp" + description = "Single-header C++ logging library." + license = "MIT" url = "https://github.com/conan-io/conan-center-index" - description = "Single header C++ logging library." + homepage = "https://github.com/amrayn/easyloggingpp" topics = ("logging", "stacktrace", "efficient-logging") - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - exports_sources = "CMakeLists.txt", + + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" options = { "enable_crash_log": [True, False], "enable_thread_safe": [True, False], @@ -28,7 +29,8 @@ class EasyloggingppConan(ConanFile): "disable_error_logs": [True, False], "disable_fatal_logs": [True, False], "disable_verbose_logs": [True, False], - "disable_trace_logs": [True, False] + "disable_trace_logs": [True, False], + "lib_utc_datetime": [True, False], } default_options = { "enable_crash_log": False, @@ -42,80 +44,70 @@ class EasyloggingppConan(ConanFile): "disable_error_logs": False, "disable_fatal_logs": False, "disable_verbose_logs": False, - "disable_trace_logs": False + "disable_trace_logs": False, + "lib_utc_datetime": False, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def _configure_cmake(self): - if self._cmake is not None: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["build_static_lib"] = True - self._cmake.definitions["enable_crash_log"] = self.options.enable_crash_log - self._cmake.definitions["enable_thread_safe"] = self.options.enable_thread_safe - self._cmake.definitions["enable_debug_errors"] = self.options.enable_debug_errors - self._cmake.definitions["enable_default_logfile"] = self.options.enable_default_logfile - self._cmake.definitions["disable_logs"] = self.options.disable_logs - self._cmake.definitions["disable_debug_logs"] = self.options.disable_debug_logs - self._cmake.definitions["disable_info_logs"] = self.options.disable_info_logs - self._cmake.definitions["disable_warning_logs"] = self.options.disable_warning_logs - self._cmake.definitions["disable_error_logs"] = self.options.disable_error_logs - self._cmake.definitions["disable_fatal_logs"] = self.options.disable_fatal_logs - self._cmake.definitions["disable_verbose_logs"] = self.options.disable_verbose_logs - self._cmake.definitions["disable_trace_logs"] = self.options.disable_trace_logs - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - files.get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def build(self): - cmake = self._configure_cmake() - cmake.build() - - def package(self): - cmake = self._configure_cmake() - cmake.install() - files.rmdir(self, os.path.join(self.package_folder, "share")) - self.copy(pattern="LICENSE", - dst="licenses", - src=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def package_info(self): - self.cpp_info.names["cmake_find_package"] = "easyloggingpp" - self.cpp_info.names["cmake_find_package_multi"] = "easyloggingpp" - self.cpp_info.libs = ["easyloggingpp"] + @property + def _public_defines(self): + defines = [] if self.options.enable_crash_log: - self.cpp_info.defines.append("ELPP_FEATURE_CRASH_LOG") + defines.append("ELPP_FEATURE_CRASH_LOG") if self.options.enable_thread_safe: - self.cpp_info.defines.append("ELPP_THREAD_SAFE") + defines.append("ELPP_THREAD_SAFE") if self.options.enable_debug_errors: - self.cpp_info.defines.append("ELPP_DEBUG_ERRORS") + defines.append("ELPP_DEBUG_ERRORS") if self.options.enable_default_logfile: - self.cpp_info.defines.append("ELPP_NO_DEFAULT_LOG_FILE") + defines.append("ELPP_NO_DEFAULT_LOG_FILE") if self.options.disable_logs: - self.cpp_info.defines.append("ELPP_DISABLE_LOGS") + defines.append("ELPP_DISABLE_LOGS") if self.options.disable_debug_logs: - self.cpp_info.defines.append("ELPP_DISABLE_DEBUG_LOGS") + defines.append("ELPP_DISABLE_DEBUG_LOGS") if self.options.disable_info_logs: - self.cpp_info.defines.append("ELPP_DISABLE_INFO_LOGS") + defines.append("ELPP_DISABLE_INFO_LOGS") if self.options.disable_warning_logs: - self.cpp_info.defines.append("ELPP_DISABLE_WARNING_LOGS") + defines.append("ELPP_DISABLE_WARNING_LOGS") if self.options.disable_error_logs: - self.cpp_info.defines.append("ELPP_DISABLE_ERROR_LOGS") + defines.append("ELPP_DISABLE_ERROR_LOGS") if self.options.disable_fatal_logs: - self.cpp_info.defines.append("ELPP_DISABLE_FATAL_LOGS") + defines.append("ELPP_DISABLE_FATAL_LOGS") if self.options.disable_verbose_logs: - self.cpp_info.defines.append("ELPP_DISABLE_VERBOSE_LOGS") + defines.append("ELPP_DISABLE_VERBOSE_LOGS") if self.options.disable_trace_logs: - self.cpp_info.defines.append("ELPP_DISABLE_TRACE_LOGS") + defines.append("lib_utc_datetime") + if self.options.lib_utc_datetime: + defines.append("ELPP_UTC_DATETIME") + return defines + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["build_static_lib"] = True + for d in self._public_defines: + tc.preprocessor_definitions[d] = "1" + tc.generate() + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set_property(TARGET easyloggingpp PROPERTY POSITION_INDEPENDENT_CODE ON)", "") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.libs = ["easyloggingpp"] + self.cpp_info.defines = self._public_defines diff --git a/recipes/easyloggingpp/all/test_package/CMakeLists.txt b/recipes/easyloggingpp/all/test_package/CMakeLists.txt index e515e14d7e6ad..a353807cafd1f 100644 --- a/recipes/easyloggingpp/all/test_package/CMakeLists.txt +++ b/recipes/easyloggingpp/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(easyloggingpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/easyloggingpp/all/test_package/conanfile.py b/recipes/easyloggingpp/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/easyloggingpp/all/test_package/conanfile.py +++ b/recipes/easyloggingpp/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/easyloggingpp/all/test_package/test_package.cpp b/recipes/easyloggingpp/all/test_package/test_package.cpp index 9f1fc4b8dad34..da48715e9c0a2 100644 --- a/recipes/easyloggingpp/all/test_package/test_package.cpp +++ b/recipes/easyloggingpp/all/test_package/test_package.cpp @@ -10,11 +10,12 @@ void myCrashHandler(int sig) { } #endif -int main() { +int main(int argc, char* argv[]) { + START_EASYLOGGINGPP(argc, argv); LOG(INFO) << "My first info log using default logger"; - #ifdef ELPP_FEATURE_CRASH_LOG +#ifdef ELPP_FEATURE_CRASH_LOG LOG(INFO) << "Installed crash handler"; el::Helpers::setCrashHandler(myCrashHandler); - #endif +#endif return 0; } diff --git a/recipes/easyloggingpp/all/test_v1_package/CMakeLists.txt b/recipes/easyloggingpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/easyloggingpp/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/easyloggingpp/all/test_v1_package/conanfile.py b/recipes/easyloggingpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/easyloggingpp/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 b4da1b55601395520df343e62a6bcc82379e0c61 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 13:08:08 +0300 Subject: [PATCH 1283/4087] (#18227) deco: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * deco: migrate to Conan v2 * deco: restore test_v1_package * Update recipes/deco/all/conanfile.py * Update recipes/deco/all/conanfile.py * deco: fix v1 test executable * deco: restore VirtualRunEnv in test_package --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/deco/all/conanfile.py | 90 ++++++++++++------- recipes/deco/all/test_package/CMakeLists.txt | 13 ++- recipes/deco/all/test_package/conanfile.py | 22 +++-- .../{example.cpp => test_package.cpp} | 0 .../deco/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/deco/all/test_v1_package/conanfile.py | 18 ++++ 6 files changed, 104 insertions(+), 47 deletions(-) rename recipes/deco/all/test_package/{example.cpp => test_package.cpp} (100%) create mode 100644 recipes/deco/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/deco/all/test_v1_package/conanfile.py diff --git a/recipes/deco/all/conanfile.py b/recipes/deco/all/conanfile.py index 3760e5bb68e07..29a4d2480e3aa 100644 --- a/recipes/deco/all/conanfile.py +++ b/recipes/deco/all/conanfile.py @@ -1,56 +1,82 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 DecoConan(ConanFile): name = "deco" - license = "Apache-2.0-WITH-LLVM-exception" description = "Delimiter Collision Free Format" - topics = ("serialization") - homepage = "https://github.com/Enhex/Deco" + license = "Apache-2.0-WITH-LLVM-exception" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Enhex/Deco" + topics = ("serialization", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = ("compiler", "build_type", "os", "arch") - requires = ( - "enhex-generic_serialization/1.0.0", - "enhex-strong_type/1.0.0", - "boost/1.79.0", - "rang/3.2", - ) @property - def _source_subfolder(self): - return "source_subfolder" - - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + def _min_cppstd(self): + return 17 - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "Visual Studio": "15", + "msvc": "191", "gcc": "7", "clang": "5.0", - "apple-clang": "9.1" + "apple-clang": "9.1", } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("enhex-generic_serialization/1.0.0") + self.requires("enhex-strong_type/1.0.0") + self.requires("boost/1.82.0") + self.requires("rang/3.2") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) - if compiler not in minimal_version: - self.output.info("{} requires a compiler that supports at least C++17".format(self.name)) + if compiler not in self._compilers_minimum_version: + self.output.info(f"{self.name} requires a compiler that supports at least C++17") return # Exclude compilers not supported - if compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration("{} requires a compiler that supports at least C++17. {} {} is not".format( - self.name, compiler, tools.Version(self.settings.compiler.version.value))) + if compiler_version < self._compilers_minimum_version[compiler]: + raise ConanInvalidConfiguration( + f"{self.name} requires a compiler that supports at least C++17. " + f"{compiler} {Version(self.settings.compiler.version.value)} is not" + ) 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 package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/deco/all/test_package/CMakeLists.txt b/recipes/deco/all/test_package/CMakeLists.txt index 00c3587be1a63..c3b92714405e8 100644 --- a/recipes/deco/all/test_package/CMakeLists.txt +++ b/recipes/deco/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) find_package(deco CONFIG REQUIRED) -add_executable(example example.cpp) -target_link_libraries(example deco::deco) -set_target_properties(example PROPERTIES CXX_STANDARD 17) +add_executable(test_package test_package.cpp) +target_link_libraries(test_package deco::deco) +set_target_properties(test_package PROPERTIES CXX_STANDARD 17) diff --git a/recipes/deco/all/test_package/conanfile.py b/recipes/deco/all/test_package/conanfile.py index f735734fbcfa9..ef5d7042163ec 100644 --- a/recipes/deco/all/test_package/conanfile.py +++ b/recipes/deco/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 DecoTestConan(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, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/deco/all/test_package/example.cpp b/recipes/deco/all/test_package/test_package.cpp similarity index 100% rename from recipes/deco/all/test_package/example.cpp rename to recipes/deco/all/test_package/test_package.cpp diff --git a/recipes/deco/all/test_v1_package/CMakeLists.txt b/recipes/deco/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/deco/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/deco/all/test_v1_package/conanfile.py b/recipes/deco/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f64055b093b4d --- /dev/null +++ b/recipes/deco/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class DecoTestConan(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 b4e9798893e8f6b217cf3e962e94d4f082da0db7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 13:28:13 +0300 Subject: [PATCH 1284/4087] (#18232) nfrechette-acl: migrate to Conan v2 * nfrechette-acl: migrate to Conan v2 * nfrechette-acl: restore test_v1_package * nfrechette-acl: add cmake_find_package_multi generator to test_v1_package * nfrechette-acl: drop older versions * nfrechette-acl: restore VirtualRunEnv in test_package --- recipes/nfrechette-acl/all/conandata.yml | 12 ---- recipes/nfrechette-acl/all/conanfile.py | 65 ++++++++++++------- .../all/test_package/CMakeLists.txt | 9 ++- .../all/test_package/conanfile.py | 22 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 18 +++++ recipes/nfrechette-acl/config.yml | 8 --- 7 files changed, 85 insertions(+), 57 deletions(-) create mode 100644 recipes/nfrechette-acl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/nfrechette-acl/all/test_v1_package/conanfile.py diff --git a/recipes/nfrechette-acl/all/conandata.yml b/recipes/nfrechette-acl/all/conandata.yml index 0c2e8a5978fd0..dca5b638ad1dc 100644 --- a/recipes/nfrechette-acl/all/conandata.yml +++ b/recipes/nfrechette-acl/all/conandata.yml @@ -2,18 +2,6 @@ sources: "1.3.5": url: "https://github.com/nfrechette/acl/archive/v1.3.5.tar.gz" sha256: "06112ad5dc6b586124cc7b22ff6979ea1de9b69abefcd94d43556e20617355a1" - "2.0.0": - url: "https://github.com/nfrechette/acl/archive/v2.0.0.tar.gz" - sha256: "c5b44c063efbee6fb5753d0070e37215162d5d47f047fa033024750d9dbb6cdc" - "2.0.1": - url: "https://github.com/nfrechette/acl/archive/v2.0.1.tar.gz" - sha256: "aeab843b03ba15edd886472d96cdbe06e7c7142a0d54f0bf08a4f30693b9dad7" - "2.0.2": - url: "https://github.com/nfrechette/acl/archive/v2.0.2.tar.gz" - sha256: "d91c7942b4cbc6e8123a9964c1a68eec2778c75dc741c10ea9fede382d831649" - "2.0.3": - url: "https://github.com/nfrechette/acl/archive/v2.0.3.tar.gz" - sha256: "2cc0a6fd8f74ba7fee9177f6b7794bfdc22a27f5b00aa684ba52d60f0f8b3460" "2.0.5": url: "https://github.com/nfrechette/acl/archive/v2.0.5.tar.gz" sha256: "edd255a3ffcdb102b960922069d1ec9ae5fed561bca3bb6ee73224562f76fa36" diff --git a/recipes/nfrechette-acl/all/conanfile.py b/recipes/nfrechette-acl/all/conanfile.py index 23d68bbd569f4..4a590b12eb34e 100644 --- a/recipes/nfrechette-acl/all/conanfile.py +++ b/recipes/nfrechette-acl/all/conanfile.py @@ -1,44 +1,59 @@ import os + from conan import ConanFile -from conan.tools.files import rename, get -from conans import tools -from conans.errors import ConanInvalidConfiguration +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 AclConan(ConanFile): name = "nfrechette-acl" description = "Animation Compression Library" - topics = ("animation", "compression") license = "MIT" - homepage = "https://github.com/nfrechette/acl" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/nfrechette/acl" + topics = ("animation", "compression", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "compiler" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 - def requirements(self): - self.requires("rtm/2.1.4") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - def configure(self): - minimal_cpp_standard = "11" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": + raise ConanInvalidConfiguration( + f"acl can't be compiled by {self.settings.compiler} {self.settings.compiler.version}") - if self.settings.compiler == "gcc" and tools.Version(self.settings.compiler.version) < "5": - raise ConanInvalidConfiguration("acl can't be compiled by {0} {1}".format(self.settings.compiler, - self.settings.compiler.version)) + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("rtm/2.1.5") + + def package_id(self): + self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version]) - extracted_dir = "acl-" + self.version - rename(self, extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "includes")) - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "includes")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/nfrechette-acl/all/test_package/CMakeLists.txt b/recipes/nfrechette-acl/all/test_package/CMakeLists.txt index 33ae887aa6aea..da2314ef0ec2b 100644 --- a/recipes/nfrechette-acl/all/test_package/CMakeLists.txt +++ b/recipes/nfrechette-acl/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(nfrechette-acl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE nfrechette-acl::nfrechette-acl) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/nfrechette-acl/all/test_package/conanfile.py b/recipes/nfrechette-acl/all/test_package/conanfile.py index efea435279716..ef5d7042163ec 100644 --- a/recipes/nfrechette-acl/all/test_package/conanfile.py +++ b/recipes/nfrechette-acl/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -import os from conan import ConanFile -from conans import CMake, tools +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) @@ -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/nfrechette-acl/all/test_v1_package/CMakeLists.txt b/recipes/nfrechette-acl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/nfrechette-acl/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/nfrechette-acl/all/test_v1_package/conanfile.py b/recipes/nfrechette-acl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49ba777923b40 --- /dev/null +++ b/recipes/nfrechette-acl/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os +from conan import ConanFile +from conans import CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/nfrechette-acl/config.yml b/recipes/nfrechette-acl/config.yml index cf68d13e1c698..00fcf38029071 100644 --- a/recipes/nfrechette-acl/config.yml +++ b/recipes/nfrechette-acl/config.yml @@ -1,14 +1,6 @@ versions: "1.3.5": folder: "all" - "2.0.0": - folder: "all" - "2.0.1": - folder: "all" - "2.0.2": - folder: "all" - "2.0.3": - folder: "all" "2.0.5": folder: "all" "2.0.6": From 963bb7fe1914792d7e4796c68b5d82666b9355b1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 14:27:51 +0300 Subject: [PATCH 1285/4087] (#18257) cpp_project_framework: migrate to Conan v2 * cpp_project_framework: migrate to Conan v2 * cpp_project_framework: restore test_v1_package * cpp_project_framework: add cmake_find_package_multi generator to test_v1_package * cpp_project_framework: fix gtest dependency in test_package * cpp_project_framework: restore VirtualRunEnv in test_package --- .../cpp_project_framework/all/conanfile.py | 66 ++++++++++++------- .../all/test_package/CMakeLists.txt | 14 ++-- .../all/test_package/conanfile.py | 25 ++++--- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 20 ++++++ 5 files changed, 90 insertions(+), 43 deletions(-) create mode 100644 recipes/cpp_project_framework/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cpp_project_framework/all/test_v1_package/conanfile.py diff --git a/recipes/cpp_project_framework/all/conanfile.py b/recipes/cpp_project_framework/all/conanfile.py index 5a2a5fe5679e4..00ce6a88bd921 100644 --- a/recipes/cpp_project_framework/all/conanfile.py +++ b/recipes/cpp_project_framework/all/conanfile.py @@ -1,24 +1,26 @@ +import os + from conan import ConanFile -from conan.tools.files import get +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 -from conans.errors import ConanInvalidConfiguration -from conans.tools import check_min_cppstd -import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class CppProjectFrameworkConan(ConanFile): name = "cpp_project_framework" + description = "C++ Project Framework is a framework for creating C++ projects." license = "AGPL-3.0" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sheepgrass/cpp_project_framework" - url = "https://github.com/conan-io/conan-center-index" # Package recipe repository url here, for issues about the package - description = "C++ Project Framework is a framework for creating C++ project." - topics = ("cpp", "project", "framework") - settings = "os", "compiler", "build_type", "arch" + topics = ("cpp", "project", "framework", "header-only") - def package_id(self): - self.info.header_only() + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _minimum_cpp_standard(self): @@ -28,38 +30,52 @@ def _minimum_cpp_standard(self): def _minimum_compilers_version(self): return { "Visual Studio": "16", + "msvc": "192", "gcc": "7", "clang": "6", "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): - if self.settings.os not in ('Linux', 'Windows'): - raise ConanInvalidConfiguration(f"{self.name} is just supported for Linux and Windows") + if self.settings.os not in ("Linux", "FreeBSD", "Windows"): + raise ConanInvalidConfiguration(f"{self.name} is only supported on Linux and Windows") compiler = self.settings.compiler if compiler.get_safe("cppstd"): check_min_cppstd(self, self._minimum_cpp_standard) - if compiler in ('gcc', 'clang'): - if compiler.get_safe("libcxx") != "libstdc++": - raise ConanInvalidConfiguration(f"only supported {compiler} with libstdc++") + if compiler in ("gcc", "clang"): + if not compiler.get_safe("libcxx", "").startswith("libstdc++"): + raise ConanInvalidConfiguration(f"{self.name} is only supported {compiler} with libstdc++") min_version = self._minimum_compilers_version.get(str(compiler)) if not min_version: - self.output.warn(f"{self.name} recipe lacks information about the {compiler} compiler support.") + self.output.warning(f"{self.name} recipe lacks information about the {compiler} compiler support.") else: if Version(compiler.version) < min_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler {compiler} {compiler.version} does not support it.") - - @property - def _source_subfolder(self): - return "source_subfolder" + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._minimum_cpp_standard} support. " + f"The current compiler {compiler} {compiler.version} does not support it." + ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst=os.path.join("include", self.name), src=os.path.join(self._source_subfolder, self.name)) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include", self.name), + src=os.path.join(self.source_folder, self.name)) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cpp_project_framework/all/test_package/CMakeLists.txt b/recipes/cpp_project_framework/all/test_package/CMakeLists.txt index d3c22a987a39d..9edc8bb602af7 100644 --- a/recipes/cpp_project_framework/all/test_package/CMakeLists.txt +++ b/recipes/cpp_project_framework/all/test_package/CMakeLists.txt @@ -1,18 +1,14 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED True) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(cpp_project_framework REQUIRED) -find_package(GTest REQUIRED) +find_package(cpp_project_framework REQUIRED CONFIG) +find_package(GTest REQUIRED CONFIG) add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE cpp_project_framework::cpp_project_framework GTest::gtest GTest::gtest_main) if(UNIX) - target_link_libraries(test_package cpp_project_framework::cpp_project_framework GTest::gtest GTest::gtest_main stdc++fs) -else() - target_link_libraries(test_package cpp_project_framework::cpp_project_framework GTest::gtest GTest::gtest_main) + target_link_libraries(test_package PRIVATE stdc++fs) endif() diff --git a/recipes/cpp_project_framework/all/test_package/conanfile.py b/recipes/cpp_project_framework/all/test_package/conanfile.py index ed8a4e73713c6..c31dc0dd89d14 100644 --- a/recipes/cpp_project_framework/all/test_package/conanfile.py +++ b/recipes/cpp_project_framework/all/test_package/conanfile.py @@ -1,13 +1,20 @@ from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class CppProjectFrameworkTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - requires = "gtest/1.10.0" +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) + self.requires("gtest/1.13.0") + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -15,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cpp_project_framework/all/test_v1_package/CMakeLists.txt b/recipes/cpp_project_framework/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cpp_project_framework/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/cpp_project_framework/all/test_v1_package/conanfile.py b/recipes/cpp_project_framework/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0761aa549fc91 --- /dev/null +++ b/recipes/cpp_project_framework/all/test_v1_package/conanfile.py @@ -0,0 +1,20 @@ +from conan import ConanFile +from conan.tools.build import cross_building +from conans import CMake +import os + + +class CppProjectFrameworkTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + requires = "gtest/1.13.0" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 853fe51f2ae2139cafa24aec91696eb20540a41b Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 20:50:54 +0900 Subject: [PATCH 1286/4087] (#18277) pbtools: add version 0.47.0, support conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * pbtools: add version 0.47.0, support conan v2 * disable C++ feature --------- Co-authored-by: Rubén Rincón Blanco --- recipes/pbtools/all/conandata.yml | 5 ++++- recipes/pbtools/all/conanfile.py | 10 +++++++--- recipes/pbtools/all/test_package/CMakeLists.txt | 7 ++++--- recipes/pbtools/config.yml | 2 ++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/recipes/pbtools/all/conandata.yml b/recipes/pbtools/all/conandata.yml index 529d052902f81..236ef4b15fa0a 100644 --- a/recipes/pbtools/all/conandata.yml +++ b/recipes/pbtools/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "0.47.0": + url: "https://github.com/eerimoq/pbtools/archive/0.47.0.tar.gz" + sha256: "f53189ad061e4063d7cb5a3863f778221868b820a1dde4e65b217537c3fa0c9e" "0.45.2": url: "https://github.com/eerimoq/pbtools/archive/0.45.2.tar.gz" sha256: "723967fff6e1d51a078ce7328f937cafe0c32b4e9ab19735cf591d15afc281d3" "0.45.0": url: "https://github.com/eerimoq/pbtools/archive/refs/tags/0.45.0.zip" - sha256: 84b17003f1c7b6c62061e93e11abe8729480338f5f106948ebfefa303c163b75 + sha256: "84b17003f1c7b6c62061e93e11abe8729480338f5f106948ebfefa303c163b75" diff --git a/recipes/pbtools/all/conanfile.py b/recipes/pbtools/all/conanfile.py index 98670e16a72dc..8ae53d392140a 100644 --- a/recipes/pbtools/all/conanfile.py +++ b/recipes/pbtools/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get + required_conan_version = ">=1.53.0" @@ -15,7 +16,6 @@ class PbtoolsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/eerimoq/pbtools" topics = ("protobuf", "serialization", "rpc", "protocol-buffers") - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -27,6 +27,10 @@ class PbtoolsConan(ConanFile): "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") @@ -36,7 +40,7 @@ def layout(self): def validate(self): if self.settings.os == "Windows": - raise ConanInvalidConfiguration("This library is not compatible with Windows") + raise ConanInvalidConfiguration(f"{self.ref} is not compatible with Windows") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -47,7 +51,7 @@ def generate(self): def build(self): cmake = CMake(self) - cmake.configure(build_script_folder="lib") + cmake.configure(build_script_folder=os.path.join(self.source_folder, "lib")) cmake.build() def package(self): diff --git a/recipes/pbtools/all/test_package/CMakeLists.txt b/recipes/pbtools/all/test_package/CMakeLists.txt index cd447f6cc0d27..e01a140f079aa 100644 --- a/recipes/pbtools/all/test_package/CMakeLists.txt +++ b/recipes/pbtools/all/test_package/CMakeLists.txt @@ -1,7 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(PackageTest C) +project(test_package LANGUAGES C) + find_package(pbtools REQUIRED CONFIG) -add_executable(test_package test_package.c hello_world.c) -target_link_libraries(test_package pbtools::pbtools) +add_executable(${PROJECT_NAME} test_package.c hello_world.c) +target_link_libraries(${PROJECT_NAME} PRIVATE pbtools::pbtools) diff --git a/recipes/pbtools/config.yml b/recipes/pbtools/config.yml index 81c0b9ecee392..06df1f3ce6232 100644 --- a/recipes/pbtools/config.yml +++ b/recipes/pbtools/config.yml @@ -1,4 +1,6 @@ versions: + "0.47.0": + folder: "all" "0.45.2": folder: "all" "0.45.0": From a07b155328bf92ff6e1c0cb72eacb120152a6022 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 21:25:42 +0900 Subject: [PATCH 1287/4087] (#18408) clipper2: add recipe * clipper2: add recipe * support conan v1 * fix install * enable CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * link math lib --------- Co-authored-by: Carlos Zoido --- recipes/clipper2/all/conandata.yml | 9 ++ recipes/clipper2/all/conanfile.py | 107 ++++++++++++++++++ .../all/patches/1.2.2-0001-fix-install.patch | 14 +++ .../clipper2/all/test_package/CMakeLists.txt | 17 +++ .../clipper2/all/test_package/conanfile.py | 35 ++++++ .../all/test_package/test_package.cpp | 45 ++++++++ .../all/test_package/test_package_z.cpp | 46 ++++++++ recipes/clipper2/config.yml | 3 + 8 files changed, 276 insertions(+) create mode 100644 recipes/clipper2/all/conandata.yml create mode 100644 recipes/clipper2/all/conanfile.py create mode 100644 recipes/clipper2/all/patches/1.2.2-0001-fix-install.patch create mode 100644 recipes/clipper2/all/test_package/CMakeLists.txt create mode 100644 recipes/clipper2/all/test_package/conanfile.py create mode 100644 recipes/clipper2/all/test_package/test_package.cpp create mode 100644 recipes/clipper2/all/test_package/test_package_z.cpp create mode 100644 recipes/clipper2/config.yml diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml new file mode 100644 index 0000000000000..a80a428924ce3 --- /dev/null +++ b/recipes/clipper2/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.2.2": + url: "https://github.com/AngusJohnson/Clipper2/files/11071418/Clipper2_1.2.2.zip" + sha256: "ec28bc4e05a86cb0be81a872e8d90a4d575b63882ef3ac78f06662358e410f89" +patches: + "1.2.2": + - patch_file: "patches/1.2.2-0001-fix-install.patch" + patch_description: "fix install for windows shared build" + patch_type: "portability" diff --git a/recipes/clipper2/all/conanfile.py b/recipes/clipper2/all/conanfile.py new file mode 100644 index 0000000000000..688144f7992cd --- /dev/null +++ b/recipes/clipper2/all/conanfile.py @@ -0,0 +1,107 @@ +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.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class Clipper2Conan(ConanFile): + name = "clipper2" + description = " A Polygon Clipping and Offsetting library in C++" + license = "BSL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/AngusJohnson/Clipper2" + topics = ("geometry", "polygon", "clipping") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "usingz": ["ON", "OFF", "ONLY"], + } + default_options = { + "shared": False, + "fPIC": True, + "usingz": "ON", + } + + @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 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 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]) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["CLIPPER2_UTILS"] = False + tc.variables["CLIPPER2_EXAMPLES"] = False + tc.variables["CLIPPER2_TESTS"] = False + tc.variables["CLIPPER2_USINGZ"] = self.options.usingz + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "CPP")) + 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", "pkgconfig")) + + def package_info(self): + if self.options.usingz != "ONLY": + self.cpp_info.components["clipper2"].set_property("cmake_target_name", "Clipper2::clipper2") + self.cpp_info.components["clipper2"].set_property("pkg_config_name", "Clipper2") + self.cpp_info.components["clipper2"].libs = ["Clipper2"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["clipper2"].system_libs.append("m") + + if self.options.usingz != "OFF": + self.cpp_info.components["clipper2z"].set_property("cmake_target_name", "Clipper2::clipper2z") + self.cpp_info.components["clipper2z"].set_property("pkg_config_name", "Clipper2Z") + self.cpp_info.components["clipper2z"].libs = ["Clipper2Z"] + self.cpp_info.components["clipper2z"].defines.append("USINGZ") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["clipper2z"].system_libs.append("m") diff --git a/recipes/clipper2/all/patches/1.2.2-0001-fix-install.patch b/recipes/clipper2/all/patches/1.2.2-0001-fix-install.patch new file mode 100644 index 0000000000000..4f4848313e076 --- /dev/null +++ b/recipes/clipper2/all/patches/1.2.2-0001-fix-install.patch @@ -0,0 +1,14 @@ +diff --git a/CPP/CMakeLists.txt b/CPP/CMakeLists.txt +index 58b41c2..cd2f96b 100644 +--- a/CPP/CMakeLists.txt ++++ b/CPP/CMakeLists.txt +@@ -245,6 +245,9 @@ endforeach() + + install(TARGETS ${CLIPPER2_LIBS} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/clipper2 ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + install(FILES ${CLIPPER2_PCFILES} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + diff --git a/recipes/clipper2/all/test_package/CMakeLists.txt b/recipes/clipper2/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6b34466183083 --- /dev/null +++ b/recipes/clipper2/all/test_package/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(clipper2 REQUIRED CONFIG) + +if(TARGET Clipper2::clipper2) + add_executable(${PROJECT_NAME} test_package.cpp) + target_link_libraries(${PROJECT_NAME} PRIVATE Clipper2::clipper2) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() + +if(TARGET Clipper2::clipper2z) + add_executable(${PROJECT_NAME}_z test_package_z.cpp) + target_link_libraries(${PROJECT_NAME}_z PRIVATE Clipper2::clipper2z) + target_compile_features(${PROJECT_NAME}_z PRIVATE cxx_std_17) +endif() + diff --git a/recipes/clipper2/all/test_package/conanfile.py b/recipes/clipper2/all/test_package/conanfile.py new file mode 100644 index 0000000000000..87531c64cc6a2 --- /dev/null +++ b/recipes/clipper2/all/test_package/conanfile.py @@ -0,0 +1,35 @@ +from conan import ConanFile, conan_version +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): + if conan_version.major >= 2: + usingz = self.dependencies["clipper2"].options.usingz + else: + usingz = self.options["clipper2"].usingz + + if usingz != "ONLY": + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") + if usingz != "OFF": + bin_path = os.path.join(self.cpp.build.bindir, "test_package_z") + self.run(bin_path, env="conanrun") diff --git a/recipes/clipper2/all/test_package/test_package.cpp b/recipes/clipper2/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f8b893dade24d --- /dev/null +++ b/recipes/clipper2/all/test_package/test_package.cpp @@ -0,0 +1,45 @@ +#include +#include + +#include "clipper2/clipper.h" + +using namespace Clipper2Lib; + +void DoSimpleTest(bool show_solution_coords = false); +Path64 MakeRandomPoly(int width, int height, unsigned vertCnt); + +int main() +{ + DoSimpleTest(); +} + +inline Path64 MakeStar(const Point64& center, int radius, int points) +{ + if (!(points % 2)) --points; + if (points < 5) points = 5; + Path64 tmp = Ellipse(center, radius, radius, points); + Path64 result; + result.reserve(points); + result.push_back(tmp[0]); + for (int i = points - 1, j = i / 2; j;) + { + result.push_back(tmp[j--]); + result.push_back(tmp[i--]); + } + return result; +} + +void DoSimpleTest(bool show_solution_coords) +{ + Paths64 tmp, solution; + FillRule fr = FillRule::NonZero; + + Paths64 subject, clip; + subject.push_back(MakeStar(Point64(225, 225), 220, 9)); + clip.push_back(Ellipse(Point64(225,225), 150, 150)); + + //Intersect both shapes and then 'inflate' result -10 (ie deflate) + solution = Intersect(subject, clip, fr); + solution = InflatePaths(solution, -10, JoinType::Round, EndType::Polygon); +} + diff --git a/recipes/clipper2/all/test_package/test_package_z.cpp b/recipes/clipper2/all/test_package/test_package_z.cpp new file mode 100644 index 0000000000000..3713bf124619a --- /dev/null +++ b/recipes/clipper2/all/test_package/test_package_z.cpp @@ -0,0 +1,46 @@ +#include +#include "clipper2/clipper.h" + +using namespace std; +using namespace Clipper2Lib; + +void TestingZ_Double(); + +// use the Z callback to flag intersections by setting z = 1; + +class MyClass { +public: + + // Point64 callback - see TestingZ_Int64() + void myZCB(const Point64& e1bot, const Point64& e1top, + const Point64& e2bot, const Point64& e2top, Point64& pt) + { + pt.z = 1; + } + + // PointD callback - see TestingZ_Double() + void myZCBD(const PointD& e1bot, const PointD& e1top, + const PointD& e2bot, const PointD& e2top, PointD& pt) + { + pt.z = 1; + } +}; + +int main(int argc, char* argv[]) +{ + TestingZ_Double(); +} +void TestingZ_Double() +{ + PathsD subject, solution; + MyClass mc; + ClipperD c; + + subject.push_back(MakePathD({ 100, 50, 10, 79, 65, 2, 65, 98, 10, 21 })); + c.AddSubject(subject); + c.SetZCallback( + std::bind(&MyClass::myZCBD, mc, std::placeholders::_1, + std::placeholders::_2, std::placeholders::_3, + std::placeholders::_4, std::placeholders::_5)); + c.Execute(ClipType::Union, FillRule::NonZero, solution); +} diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml new file mode 100644 index 0000000000000..af40d9653a378 --- /dev/null +++ b/recipes/clipper2/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.2": + folder: all From be941c5e0c4f66303965931ccacba8e7add702ee Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Sat, 19 Aug 2023 16:04:32 +0300 Subject: [PATCH 1288/4087] (#17957) gdcm: use charls from conan instead of internal one * gdcm: use charls from conan * gdcm: cosmetic change for test_package * gdcm: suppress warning about deprecated method usage * gdcm: suppress deprecation warning from OpenSSL 3.0 * charls requires at least C++14 * Update charls to 2.4.2 --- recipes/gdcm/all/conandata.yml | 15 +++++--- recipes/gdcm/all/conanfile.py | 18 ++++++--- .../all/patches/0001-3.0.20-find-charls.patch | 28 ++++++++++++++ .../all/patches/0001-3.0.9-find-charls.patch | 28 ++++++++++++++ .../all/patches/0001-charls-linking.patch | 38 ------------------- recipes/gdcm/all/test_package/CMakeLists.txt | 2 +- recipes/gdcm/all/test_package/conanfile.py | 2 +- .../gdcm/all/test_v1_package/CMakeLists.txt | 2 +- 8 files changed, 81 insertions(+), 52 deletions(-) create mode 100644 recipes/gdcm/all/patches/0001-3.0.20-find-charls.patch create mode 100644 recipes/gdcm/all/patches/0001-3.0.9-find-charls.patch delete mode 100644 recipes/gdcm/all/patches/0001-charls-linking.patch diff --git a/recipes/gdcm/all/conandata.yml b/recipes/gdcm/all/conandata.yml index 330dc8dd2483c..2a53250fc718c 100644 --- a/recipes/gdcm/all/conandata.yml +++ b/recipes/gdcm/all/conandata.yml @@ -10,9 +10,10 @@ sources: sha256: "1d518b0e4709cecfb7330c9bd9b3a73cfd01ffe70d1c178f36a4c847283c4672" patches: "3.0.21": - - patch_file: "patches/0001-charls-linking.patch" - patch_description: "fix symbol export for gdcmcharls" + - patch_file: "patches/0001-3.0.20-find-charls.patch" + patch_description: "allow using charls >= 2.2.0" patch_type: "portability" + patch_source: "https://github.com/malaterre/GDCM/pull/157" - patch_file: "patches/0002-3.0.20-openjpeg.patch" patch_description: "fix variable names for openjpeg" patch_type: "conan" @@ -32,9 +33,10 @@ patches: patch_description: "fix find_package for libuuid" patch_type: "conan" "3.0.20": - - patch_file: "patches/0001-charls-linking.patch" - patch_description: "fix symbol export for gdcmcharls" + - patch_file: "patches/0001-3.0.20-find-charls.patch" + patch_description: "allow using charls >= 2.2.0" patch_type: "portability" + patch_source: "https://github.com/malaterre/GDCM/pull/157" - patch_file: "patches/0002-3.0.20-openjpeg.patch" patch_description: "fix variable names for openjpeg" patch_type: "conan" @@ -54,9 +56,10 @@ patches: patch_description: "fix find_package for libuuid" patch_type: "conan" "3.0.9": - - patch_file: "patches/0001-charls-linking.patch" - patch_description: "fix symbol export for gdcmcharls" + - patch_file: "patches/0001-3.0.9-find-charls.patch" + patch_description: "allow using charls >= 2.2.0" patch_type: "portability" + patch_source: "https://github.com/malaterre/GDCM/pull/157" - patch_file: "patches/0002-3.0.9-openjpeg.patch" patch_description: "fix variable names for openjpeg" patch_type: "conan" diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index 8a628f7457e27..bccb6132bf567 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -39,7 +39,7 @@ class GDCMConan(ConanFile): @property def _min_cppstd(self): - return 11 + return 14 def export_sources(self): export_conandata_patches(self) @@ -56,6 +56,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + self.requires("charls/2.4.2") self.requires("expat/2.5.0") self.requires("openjpeg/2.5.0") if self.options.with_zlibng: @@ -89,6 +90,7 @@ def generate(self): tc.variables["GDCM_BUILD_DOCBOOK_MANPAGES"] = False tc.variables["GDCM_BUILD_SHARED_LIBS"] = bool(self.options.shared) # FIXME: unvendor deps https://github.com/conan-io/conan-center-index/pull/5705#discussion_r647224146 + tc.variables["GDCM_USE_SYSTEM_CHARLS"] = True tc.variables["GDCM_USE_SYSTEM_EXPAT"] = True tc.variables["GDCM_USE_SYSTEM_JSON"] = self.options.with_json tc.variables["GDCM_USE_SYSTEM_OPENJPEG"] = True @@ -98,6 +100,13 @@ def generate(self): if not valid_min_cppstd(self, self._min_cppstd): tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + + # https://sourceforge.net/p/gdcm/bugs/548/ + tc.preprocessor_definitions["CHARLS_NO_DEPRECATED_WARNING"] = "1" + + #gdcm currently uses functionality that is deprecated since OpenSSL 3.0 + tc.preprocessor_definitions["OPENSSL_API_COMPAT"] = "0x10101000L" + tc.generate() deps = CMakeDeps(self) deps.generate() @@ -194,8 +203,7 @@ def _gdcm_build_modules(self): @property def _gdcm_libraries(self): - gdcm_libs = ["gdcmcharls", - "gdcmCommon", + gdcm_libs = ["gdcmCommon", "gdcmDICT", "gdcmDSED", "gdcmIOD", @@ -237,7 +245,7 @@ def zlib(): self.cpp_info.components["gdcmDSED"].requires.extend(["gdcmCommon", zlib()]) self.cpp_info.components["gdcmIOD"].requires.extend(["gdcmDSED", "gdcmCommon", "expat::expat"]) - self.cpp_info.components["gdcmMSFF"].requires.extend(["gdcmIOD", "gdcmDSED", "gdcmDICT", "openjpeg::openjpeg"]) + self.cpp_info.components["gdcmMSFF"].requires.extend(["gdcmIOD", "gdcmDSED", "gdcmDICT", "charls::charls", "openjpeg::openjpeg"]) if self.options.with_json: self.cpp_info.components["gdcmMSFF"].requires.append("json-c::json-c") if self.settings.os != "Windows": @@ -247,7 +255,7 @@ def zlib(): if not self.options.shared: self.cpp_info.components["gdcmDICT"].requires.extend(["gdcmDSED", "gdcmIOD"]) self.cpp_info.components["gdcmMEXD"].requires.extend(["gdcmMSFF", "gdcmDICT", "gdcmDSED", "gdcmIOD", "socketxx"]) - self.cpp_info.components["gdcmMSFF"].requires.extend(["gdcmjpeg8", "gdcmjpeg12", "gdcmjpeg16", "gdcmcharls"]) + self.cpp_info.components["gdcmMSFF"].requires.extend(["gdcmjpeg8", "gdcmjpeg12", "gdcmjpeg16"]) if self.settings.os == "Windows": self.cpp_info.components["gdcmCommon"].system_libs = ["ws2_32", "crypt32"] diff --git a/recipes/gdcm/all/patches/0001-3.0.20-find-charls.patch b/recipes/gdcm/all/patches/0001-3.0.20-find-charls.patch new file mode 100644 index 0000000000000..c30995e540d0b --- /dev/null +++ b/recipes/gdcm/all/patches/0001-3.0.20-find-charls.patch @@ -0,0 +1,28 @@ +Allow using charls >= 2.2.0 +https://github.com/malaterre/GDCM/pull/157 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -352,8 +352,8 @@ else() + endif() + + if(GDCM_USE_SYSTEM_CHARLS) +- find_package(CharLS 2.0.0 REQUIRED) +- set(GDCM_CHARLS_LIBRARIES ${CHARLS_LIBRARIES}) ++ find_package(charls 2.2.0 REQUIRED) ++ set(GDCM_CHARLS_LIBRARIES charls) + else() + set(GDCM_CHARLS_LIBRARIES gdcmcharls) + endif() +--- a/Utilities/gdcm_charls.h ++++ b/Utilities/gdcm_charls.h +@@ -17,8 +17,8 @@ + /* Use the charls library configured for gdcm. */ + #include "gdcmTypes.h" + #ifdef GDCM_USE_SYSTEM_CHARLS +-// It is expected that version 2.0.0 is used +-# include ++// It is expected that version >= 2.2.0 is used ++# include + #else + #include "gdcmcharls/charls.h" + #endif diff --git a/recipes/gdcm/all/patches/0001-3.0.9-find-charls.patch b/recipes/gdcm/all/patches/0001-3.0.9-find-charls.patch new file mode 100644 index 0000000000000..c4dfe79c81524 --- /dev/null +++ b/recipes/gdcm/all/patches/0001-3.0.9-find-charls.patch @@ -0,0 +1,28 @@ +Allow using charls >= 2.2.0 +https://github.com/malaterre/GDCM/pull/157 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -356,8 +356,8 @@ else() + endif() + + if(GDCM_USE_SYSTEM_CHARLS) +- find_package(CharLS 2.0.0 REQUIRED) +- set(GDCM_CHARLS_LIBRARIES ${CHARLS_LIBRARIES}) ++ find_package(charls 2.2.0 REQUIRED) ++ set(GDCM_CHARLS_LIBRARIES charls) + else() + set(GDCM_CHARLS_LIBRARIES gdcmcharls) + endif() +--- a/Utilities/gdcm_charls.h ++++ b/Utilities/gdcm_charls.h +@@ -17,8 +17,8 @@ + /* Use the charls library configured for gdcm. */ + #include "gdcmTypes.h" + #ifdef GDCM_USE_SYSTEM_CHARLS +-// It is expected that version 2.0.0 is used +-# include ++// It is expected that version >= 2.2.0 is used ++# include + #else + #include "gdcmcharls/charls.h" + #endif diff --git a/recipes/gdcm/all/patches/0001-charls-linking.patch b/recipes/gdcm/all/patches/0001-charls-linking.patch deleted file mode 100644 index 57df8966f04ba..0000000000000 --- a/recipes/gdcm/all/patches/0001-charls-linking.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/Utilities/gdcmcharls/CMakeLists.txt -+++ b/Utilities/gdcmcharls/CMakeLists.txt -@@ -61,12 +61,10 @@ endif() - #option(charls_BUILD_SHARED_LIBS "Build CharLS with shared libraries." OFF) - #set(BUILD_SHARED_LIBS ${charls_BUILD_SHARED_LIBS}) - --if(WIN32) -- if(BUILD_SHARED_LIBS) -- add_definitions(-DCHARLS_DLL_BUILD) -- else() -- add_definitions(-DCHARLS_STATIC) -- endif() -+if(BUILD_SHARED_LIBS) -+ add_definitions(-DCHARLS_DLL_BUILD) -+else() -+ add_definitions(-DCHARLS_STATIC) - endif() - - add_library(${CHARLS_LIBRARY_NAME} ---- a/Utilities/gdcmcharls/charls.h -+++ b/Utilities/gdcmcharls/charls.h -@@ -13,12 +13,12 @@ - #define CHARLS_IMEXPORT(returntype) __declspec(dllexport) returntype __stdcall - #endif - --// Non-windows (static linking) --#if !defined(CHARLS_IMEXPORT) && !defined(_WIN32) --# define CHARLS_IMEXPORT(returntype) returntype -+// Non-windows (dynamic linking) -+#if !defined(WIN32) && (defined(CHARLS_DLL) || defined(CHARLS_DLL_BUILD)) -+#define CHARLS_IMEXPORT(returntype) __attribute__((visibility("default"))) returntype - #endif - --// Windows static linking -+// Static linking - #if !defined(CHARLS_IMEXPORT) && defined(CHARLS_STATIC) - # define CHARLS_IMEXPORT(returntype) returntype - #endif diff --git a/recipes/gdcm/all/test_package/CMakeLists.txt b/recipes/gdcm/all/test_package/CMakeLists.txt index 5465ea8e54b6d..b8df0da5056db 100644 --- a/recipes/gdcm/all/test_package/CMakeLists.txt +++ b/recipes/gdcm/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) find_package(GDCM REQUIRED CONFIG) diff --git a/recipes/gdcm/all/test_package/conanfile.py b/recipes/gdcm/all/test_package/conanfile.py index 1f94130dd62ec..68791e0d3201c 100644 --- a/recipes/gdcm/all/test_package/conanfile.py +++ b/recipes/gdcm/all/test_package/conanfile.py @@ -22,7 +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") input_file = os.path.join(self.source_folder, "DCMTK_JPEGExt_12Bits.dcm") test_dir = "test_dir" mkdir(self, test_dir) diff --git a/recipes/gdcm/all/test_v1_package/CMakeLists.txt b/recipes/gdcm/all/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/gdcm/all/test_v1_package/CMakeLists.txt +++ b/recipes/gdcm/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From 22876f868798e6bf7c1237391c578ff87ee12153 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 22:44:57 +0900 Subject: [PATCH 1289/4087] (#18464) xlsxio: add libs and requires definitions * xlsxio: add libs and requires definitions * update dependencies * add system_libs for each components * make test_package.cpp to test_package.c * support static build on msvc * fix package name for minizip-ng * apply @czoido patch --- recipes/xlsxio/all/conanfile.py | 48 ++++++++++++++---- .../xlsxio/all/test_package/CMakeLists.txt | 4 +- .../xlsxio/all/test_package/test_package.c | 49 +++++++++++++++++++ .../xlsxio/all/test_package/test_package.cpp | 13 ----- 4 files changed, 90 insertions(+), 24 deletions(-) create mode 100644 recipes/xlsxio/all/test_package/test_package.c delete mode 100644 recipes/xlsxio/all/test_package/test_package.cpp diff --git a/recipes/xlsxio/all/conanfile.py b/recipes/xlsxio/all/conanfile.py index f1cc40e63d655..55de1430b90bd 100644 --- a/recipes/xlsxio/all/conanfile.py +++ b/recipes/xlsxio/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir @@ -47,19 +48,27 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + if self.options.with_wide: + self.options["expat"].char_type = "ushort" + if self.options.get_safe("with_minizip_ng"): + self.options["minizip-ng"].mz_compatibility = True + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_libzip: - self.requires("libzip/1.7.3") + self.requires("libzip/1.9.2") elif Version(self.version) >= "0.2.34" and self.options.with_minizip_ng : self.requires("minizip-ng/3.0.8") else: - self.requires("minizip/1.2.12") - self.requires("expat/2.4.9") - if self.options.with_wide: - self.options["expat"].char_type="ushort" + self.requires("minizip/1.2.13") + self.requires("expat/2.5.0") + + def validate(self): + if Version(self.version) >= "0.2.34": + if self.options.with_libzip and self.options.with_minizip_ng: + raise ConanInvalidConfiguration("with_libzip and with_minizip_ng are mutually exclusive") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -104,20 +113,41 @@ def package_info(self): self.cpp_info.set_property("cmake_module_file_name", "xlsxio") self.cpp_info.set_property("pkg_config_name", "xlsxio") + ziplib = "minizip::minizip" + if self.options.with_libzip: + ziplib = "libzip::libzip" + elif self.options.get_safe("with_minizip_ng"): + ziplib = "minizip-ng::minizip-ng" + + xlsxio_macro = "BUILD_XLSXIO_SHARED" if self.options.shared else "BUILD_XLSXIO_STATIC" + self.cpp_info.components["xlsxio_read"].set_property("cmake_target_name", "xlsxio::xlsxio_read") self.cpp_info.components["xlsxio_read"].set_property("cmake_module_target_name", "xlsxio::xlsxio_read") self.cpp_info.components["xlsxio_read"].set_property("pkg_config_name", "libxlsxio_read") + self.cpp_info.components["xlsxio_read"].libs = ["xlsxio_read"] + self.cpp_info.components["xlsxio_read"].requires = ["expat::expat", ziplib] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["xlsxio_read"].system_libs.append("pthread") + self.cpp_info.components["xlsxio_read"].defines.append(xlsxio_macro) + self.cpp_info.components["xlsxio_write"].set_property("cmake_target_name", "xlsxio::xlsxio_write") self.cpp_info.components["xlsxio_write"].set_property("cmake_module_target_name", "xlsxio::xlsxio_write") self.cpp_info.components["xlsxio_write"].set_property("pkg_config_name", "libxlsxio_write") + self.cpp_info.components["xlsxio_write"].libs = ["xlsxio_write"] + self.cpp_info.components["xlsxio_write"].requires = ["expat::expat", ziplib] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["xlsxio_write"].system_libs.append("pthread") + self.cpp_info.components["xlsxio_write"].defines.append(xlsxio_macro) + if self.options.with_wide: self.cpp_info.components["xlsxio_readw"].set_property("cmake_target_name", "xlsxio::xlsxio_readw") self.cpp_info.components["xlsxio_readw"].set_property("cmake_module_target_name", "xlsxio::xlsxio_readw") self.cpp_info.components["xlsxio_readw"].set_property("pkg_config_name", "libxlsxio_readw") - - - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread"] + self.cpp_info.components["xlsxio_readw"].libs = ["xlsxio_readw"] + self.cpp_info.components["xlsxio_readw"].requires = ["expat::expat", ziplib] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["xlsxio_readw"].system_libs.append("pthread") + self.cpp_info.components["xlsxio_readw"].defines.append(xlsxio_macro) # TODO: to remove in conan v2 self.cpp_info.names["cmake_find_package"] = "xlsxio" diff --git a/recipes/xlsxio/all/test_package/CMakeLists.txt b/recipes/xlsxio/all/test_package/CMakeLists.txt index 67d6a295ac9dc..a6b2c7649a0c8 100644 --- a/recipes/xlsxio/all/test_package/CMakeLists.txt +++ b/recipes/xlsxio/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package LANGUAGES C) find_package(xlsxio REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE xlsxio::xlsxio_read) target_link_libraries(${PROJECT_NAME} PRIVATE xlsxio::xlsxio_write) diff --git a/recipes/xlsxio/all/test_package/test_package.c b/recipes/xlsxio/all/test_package/test_package.c new file mode 100644 index 0000000000000..097bd99e0a65d --- /dev/null +++ b/recipes/xlsxio/all/test_package/test_package.c @@ -0,0 +1,49 @@ +#include +#include +#include + +int main(int argc, char** argv) { + xlsxiowriter xlsxwrite; + int i; + xlsxioreader xlsxioread; + + // open .xlsx file for writing (will overwrite if it already exists) + if ((xlsxwrite = xlsxiowrite_open("test_package.xlsx", "MySheet")) == NULL) { + fprintf(stderr, "Error creating .xlsx file\n"); + return 1; + } + // set row height + xlsxiowrite_set_row_height(xlsxwrite, 1); + // how many rows to buffer to detect column widths + xlsxiowrite_set_detection_rows(xlsxwrite, 10); + // write column names + xlsxiowrite_add_column(xlsxwrite, "Col1", 0); + xlsxiowrite_add_column(xlsxwrite, "Col2", 21); + xlsxiowrite_add_column(xlsxwrite, "Col3", 0); + xlsxiowrite_add_column(xlsxwrite, "Col4", 2); + xlsxiowrite_add_column(xlsxwrite, "Col5", 0); + xlsxiowrite_add_column(xlsxwrite, "Col6", 0); + xlsxiowrite_add_column(xlsxwrite, "Col7", 0); + xlsxiowrite_next_row(xlsxwrite); + // write data + for (i = 0; i < 1000; i++) { + xlsxiowrite_add_cell_string(xlsxwrite, "Test"); + xlsxiowrite_add_cell_string(xlsxwrite, "A b c d e f\nnew line"); + xlsxiowrite_add_cell_string(xlsxwrite, "&% \"'"); + xlsxiowrite_add_cell_string(xlsxwrite, NULL); + xlsxiowrite_add_cell_int(xlsxwrite, i); + xlsxiowrite_add_cell_datetime(xlsxwrite, time(NULL)); + xlsxiowrite_add_cell_float(xlsxwrite, 3.1415926); + xlsxiowrite_next_row(xlsxwrite); + } + // close .xlsx file + xlsxiowrite_close(xlsxwrite); + + // read .xlsx file + xlsxioread = xlsxioread_open("test_package.xlsx"); + + // close .xlsx file + xlsxioread_close(xlsxioread); + + return 0; +} diff --git a/recipes/xlsxio/all/test_package/test_package.cpp b/recipes/xlsxio/all/test_package/test_package.cpp deleted file mode 100644 index e7ee13469ca6e..0000000000000 --- a/recipes/xlsxio/all/test_package/test_package.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include -#include - -int main(int argc, char** argv) { - xlsxioreader xlsxioread; - xlsxiowriter xlsxiowrite; - xlsxioreadersheet sheet; - (void)xlsxioread; - (void)sheet; - (void)xlsxiowrite; - return 0; -} From 29a11c38757d4a5bc78a94a027ae01e4fd3e56d4 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 19 Aug 2023 23:05:39 +0900 Subject: [PATCH 1290/4087] (#18512) wasm-micro-runtime: add recipe * wasm-micro-runtime: add recipe * support MSVC * link ws2_32 * simplify test_package.cpp --------- Co-authored-by: Carlos Zoido --- recipes/wasm-micro-runtime/all/conandata.yml | 9 ++ recipes/wasm-micro-runtime/all/conanfile.py | 138 ++++++++++++++++++ .../all/patches/1.2.2-0001-fix-cmake.patch | 57 ++++++++ .../all/test_package/CMakeLists.txt | 12 ++ .../all/test_package/conanfile.py | 33 +++++ .../all/test_package/test_package.cpp | 65 +++++++++ .../all/test_package/test_package.wasm | Bin 0 -> 71 bytes .../test_package/test_package_no_interp.cpp | 64 ++++++++ recipes/wasm-micro-runtime/config.yml | 3 + 9 files changed, 381 insertions(+) create mode 100644 recipes/wasm-micro-runtime/all/conandata.yml create mode 100644 recipes/wasm-micro-runtime/all/conanfile.py create mode 100644 recipes/wasm-micro-runtime/all/patches/1.2.2-0001-fix-cmake.patch create mode 100644 recipes/wasm-micro-runtime/all/test_package/CMakeLists.txt create mode 100644 recipes/wasm-micro-runtime/all/test_package/conanfile.py create mode 100644 recipes/wasm-micro-runtime/all/test_package/test_package.cpp create mode 100644 recipes/wasm-micro-runtime/all/test_package/test_package.wasm create mode 100644 recipes/wasm-micro-runtime/all/test_package/test_package_no_interp.cpp create mode 100644 recipes/wasm-micro-runtime/config.yml diff --git a/recipes/wasm-micro-runtime/all/conandata.yml b/recipes/wasm-micro-runtime/all/conandata.yml new file mode 100644 index 0000000000000..e6acc34530782 --- /dev/null +++ b/recipes/wasm-micro-runtime/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.2.2": + url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.2.tar.gz" + sha256: "d328fc1e19c54cfdb4248b861de54b62977b9b85c0a40eaaeb9cd9b628c0c788" +patches: + "1.2.2": + - patch_file: "patches/1.2.2-0001-fix-cmake.patch" + patch_description: "separate static and shasred build" + patch_type: "conan" diff --git a/recipes/wasm-micro-runtime/all/conanfile.py b/recipes/wasm-micro-runtime/all/conanfile.py new file mode 100644 index 0000000000000..4cd796f406c9c --- /dev/null +++ b/recipes/wasm-micro-runtime/all/conanfile.py @@ -0,0 +1,138 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class WasmMicroRuntimeConan(ConanFile): + name = "wasm-micro-runtime" + description = "WebAssembly Micro Runtime (WAMR)" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://bytecodealliance.github.io/wamr.dev/" + topics = ("wasm", "embedded", "webassembly", "runtime") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_interp": [False, "fast", "classic"], + "with_aot": [True, False], + "with_jit": [True, False], + "with_fast_jit": [True, False], + "libc": ["builtin", "wasi", "uvwasi"], + "with_multi_module": [True, False], + "with_mini_loader": [True, False], + "with_pthread": [True, False], + "with_wasi_threads": [True, False], + "with_tail_call": [True, False], + "with_simd": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_interp": "fast", + "with_aot": True, + "with_jit": False, + "with_fast_jit": False, + "libc": "builtin", + "with_multi_module": False, + "with_mini_loader": False, + "with_pthread": False, + "with_wasi_threads": False, + "with_tail_call": False, + "with_simd": 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") + # When with_fast_jit is True, C++ is required. + if not self.options.with_fast_jit: + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + # When with_fast_jit is True, C++ is required. + if not self.options.with_fast_jit: + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if not self.options.with_interp and not self.options.with_aot: + raise ConanInvalidConfiguration(f"{self.ref} requires with_interp and with_aot at least one.") + if self.options.with_jit: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support with_jit(yet).") + if self.options.with_multi_module and self.options.with_mini_loader: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support both with_multi_module and with_mini_loader.") + if self.options.libc == "wasi" and self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support libc=wasi on Windows.") + if self.options.libc == "uvwasi": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support libc=uvwasi(yet).") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + def is_enabled(value): + return 1 if value else 0 + + tc = CMakeToolchain(self) + # FIXME: it should use assembler code instead of C++ on MSVC + if is_msvc(self): + tc.variables["WAMR_BUILD_INVOKE_NATIVE_GENERAL"] = 1 + + # interpreters + tc.variables["WAMR_BUILD_INTERP"] = is_enabled(self.options.with_interp) + if self.options.with_interp: + tc.variables["WAMR_BUILD_FAST_INTERP"] = is_enabled(self.options.with_interp == "fast") + # AOT and JITs + tc.variables["WAMR_BUILD_AOT"] = is_enabled(self.options.with_aot) + tc.variables["WAMR_BUILD_JIT"] = is_enabled(self.options.with_jit) + tc.variables["WAMR_BUILD_FAST_JIT"] = is_enabled(self.options.with_fast_jit) + # LIBC + tc.variables["WAMR_BUILD_LIBC_BUILTIN"] = is_enabled(self.options.libc == "builtin") + tc.variables["WAMR_BUILD_LIBC_WASI"] = is_enabled(self.options.libc == "wasi") + tc.variables["WAMR_BUILD_LIBC_UVWASI"] = is_enabled(self.options.libc == "uvwasi") + # others + tc.variables["WAMR_BUILD_MULTI_MODULE"] = is_enabled(self.options.with_multi_module) + tc.variables["WAMR_BUILD_MINI_LOADER"] = is_enabled(self.options.with_mini_loader) + tc.variables["WAMR_BUILD_LIB_PTHREAD"] = is_enabled(self.options.with_pthread) + tc.variables["WAMR_BUILD_LIB_WASI_THREADS"] = is_enabled(self.options.with_wasi_threads) + tc.variables["WAMR_BUILD_TAIL_CALL"] = is_enabled(self.options.with_tail_call) + tc.variables["WAMR_BUILD_SIMD"] = is_enabled(self.options.with_simd) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["iwasm" if self.options.shared else "vmlib"] + if self.settings.os == "Windows" and not self.options.shared: + self.cpp_info.defines.append("COMPILING_WASM_RUNTIME_API=0") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("pthread") + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/wasm-micro-runtime/all/patches/1.2.2-0001-fix-cmake.patch b/recipes/wasm-micro-runtime/all/patches/1.2.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..baf12ba1a1b62 --- /dev/null +++ b/recipes/wasm-micro-runtime/all/patches/1.2.2-0001-fix-cmake.patch @@ -0,0 +1,57 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c87994..bbcb2fd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,11 +109,6 @@ set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) + +-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow -Wno-unused-parameter") +-# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wsign-conversion") +- +-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") +- + if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") + if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang")) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register") +@@ -130,22 +125,29 @@ endif () + + include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) + ++if (NOT BUILD_SHARED_LIBS) + # STATIC LIBRARY + add_library(iwasm_static STATIC ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_static PROPERTIES OUTPUT_NAME vmlib) + target_include_directories(iwasm_static INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +-target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) ++if(NOT MSVC) ++target_link_libraries (iwasm_static INTERFACE -lm -ldl -lpthread) ++endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_static INTERFACE boringssl_crypto) + endif () + + install (TARGETS iwasm_static ARCHIVE DESTINATION lib) +- ++else() + # SHARED LIBRARY + add_library (iwasm_shared SHARED ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_shared PROPERTIES OUTPUT_NAME iwasm) + target_include_directories(iwasm_shared INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +-target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) ++if(NOT MSVC) ++target_link_libraries (iwasm_shared INTERFACE -lm -ldl -lpthread) ++endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_shared INTERFACE boringssl_crypto) + endif () +@@ -155,6 +157,7 @@ if (MINGW) + endif () + + install (TARGETS iwasm_shared LIBRARY DESTINATION lib) ++endif() + + # HEADERS + install (FILES diff --git a/recipes/wasm-micro-runtime/all/test_package/CMakeLists.txt b/recipes/wasm-micro-runtime/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3cf7f573410ea --- /dev/null +++ b/recipes/wasm-micro-runtime/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(wasm-micro-runtime REQUIRED CONFIG) + +if(WAMR_NO_INTERP) +add_executable(${PROJECT_NAME} test_package_no_interp.cpp) +else() +add_executable(${PROJECT_NAME} test_package.cpp) +endif() + +target_link_libraries(${PROJECT_NAME} PRIVATE wasm-micro-runtime::wasm-micro-runtime) diff --git a/recipes/wasm-micro-runtime/all/test_package/conanfile.py b/recipes/wasm-micro-runtime/all/test_package/conanfile.py new file mode 100644 index 0000000000000..d56a8c50a887a --- /dev/null +++ b/recipes/wasm-micro-runtime/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_layout, CMake, CMakeToolchain + +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + if not self.dependencies["wasm-micro-runtime"].options.with_interp: + tc.variables["WAMR_NO_INTERP"] = True + tc.generate() + + 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") + wat_path = os.path.join(self.source_folder, "test_package.wasm") + self.run(f"{bin_path} {wat_path}", env="conanrun") diff --git a/recipes/wasm-micro-runtime/all/test_package/test_package.cpp b/recipes/wasm-micro-runtime/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..6e413e2d402fc --- /dev/null +++ b/recipes/wasm-micro-runtime/all/test_package/test_package.cpp @@ -0,0 +1,65 @@ +#include +#include +#include +#include + +#include "wasm_c_api.h" + +#define own + +int main(int argc, const char* argv[]) { + // Initialize. + printf("Initializing...\n"); + wasm_engine_t* engine = wasm_engine_new(); + wasm_store_t* store = wasm_store_new(engine); + + // Load binary. + printf("Loading binary...\n"); + FILE* file = fopen(argv[1], "rb"); + if (!file) { + printf("> Error loading module!\n"); + return 1; + } + + int ret = fseek(file, 0L, SEEK_END); + if (ret == -1) { + printf("> Error loading module!\n"); + fclose(file); + return 1; + } + + long file_size = ftell(file); + if (file_size == -1) { + printf("> Error loading module!\n"); + fclose(file); + return 1; + } + + ret = fseek(file, 0L, SEEK_SET); + if (ret == -1) { + printf("> Error loading module!\n"); + fclose(file); + return 1; + } + + wasm_byte_vec_t binary; + wasm_byte_vec_new_uninitialized(&binary, file_size); + if (fread(binary.data, file_size, 1, file) != 1) { + printf("> Error loading module!\n"); + fclose(file); + return 1; + } + fclose(file); + + // Compile. + printf("Compiling module...\n"); + own wasm_module_t* module = wasm_module_new(store, &binary); + if (!module) { + printf("> Error compiling module!\n"); + return 1; + } + + wasm_byte_vec_delete(&binary); + + return 0; +} diff --git a/recipes/wasm-micro-runtime/all/test_package/test_package.wasm b/recipes/wasm-micro-runtime/all/test_package/test_package.wasm new file mode 100644 index 0000000000000000000000000000000000000000..18ac7653b03011ec07329a1b12166d0e53061b33 GIT binary patch literal 71 zcmXxbF%Ezr5JkcFmqiRVR-R7^5(~gY +#include +#include +#include + +#include "wasm_c_api.h" + +#define own + +// A function to be called from Wasm code. +own wasm_trap_t* hello_callback( + const wasm_val_vec_t* args, wasm_val_vec_t* results +) { + printf("Calling back...\n"); + printf("> Hello World!\n"); + return NULL; +} + +int main(int argc, const char* argv[]) { + // Initialize. + printf("Initializing...\n"); + wasm_engine_t* engine = wasm_engine_new(); + wasm_store_t* store = wasm_store_new(engine); + + // Load binary. + printf("Loading binary...\n"); + FILE* file = fopen(argv[1], "rb"); + if (!file) { + printf("> Error loading module!\n"); + return 1; + } + + long file_size = 10240; + + wasm_byte_vec_t binary; + wasm_byte_vec_new_uninitialized(&binary, file_size); + + // Compile. + printf("Compiling module...\n"); + own wasm_module_t* module = wasm_module_new(store, &binary); + + wasm_byte_vec_delete(&binary); + + // Create external print functions. + printf("Creating callback...\n"); + own wasm_functype_t* hello_type = wasm_functype_new_0_0(); + own wasm_func_t* hello_func = + wasm_func_new(store, hello_type, hello_callback); + + wasm_functype_delete(hello_type); + + wasm_func_delete(hello_func); + + wasm_module_delete(module); + + // Shut down. + printf("Shutting down...\n"); + wasm_store_delete(store); + wasm_engine_delete(engine); + + // All done. + printf("Done.\n"); + return 0; +} diff --git a/recipes/wasm-micro-runtime/config.yml b/recipes/wasm-micro-runtime/config.yml new file mode 100644 index 0000000000000..af40d9653a378 --- /dev/null +++ b/recipes/wasm-micro-runtime/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.2": + folder: all From 8ae35ee449b9b5270e252c6867f1037dfcc10051 Mon Sep 17 00:00:00 2001 From: Pavel Geler <53797155+pgeler@users.noreply.github.com> Date: Sat, 19 Aug 2023 10:25:52 -0400 Subject: [PATCH 1291/4087] (#18544) add grpc package version 1.54.3 and 1.48.4 * add grpc version 1.56.1 * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * add grpc version 1.56.1 * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * update 1.54.2 to the latest 1.54.3 * fix * abseil * fix --------- Co-authored-by: neureal-dev <17104352+neureal-dev@users.noreply.github.com> --- recipes/grpc/all/conandata.yml | 30 ++++++------------ recipes/grpc/all/conanfile.py | 17 +++++----- .../v1.46.x/001-disable-cppstd-override.patch | 26 ---------------- .../v1.47.x/001-disable-cppstd-override.patch | 31 ------------------- .../v1.48.x/001-disable-cppstd-override.patch | 15 ++++++++- .../v1.50.x/001-disable-cppstd-override.patch | 26 ---------------- recipes/grpc/config.yml | 8 ++--- 7 files changed, 35 insertions(+), 118 deletions(-) delete mode 100644 recipes/grpc/all/patches/v1.46.x/001-disable-cppstd-override.patch delete mode 100644 recipes/grpc/all/patches/v1.47.x/001-disable-cppstd-override.patch delete mode 100644 recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch diff --git a/recipes/grpc/all/conandata.yml b/recipes/grpc/all/conandata.yml index afbe96ebd2a5e..e714373e94d62 100644 --- a/recipes/grpc/all/conandata.yml +++ b/recipes/grpc/all/conandata.yml @@ -1,24 +1,12 @@ sources: - "1.50.1": - url: "https://github.com/grpc/grpc/archive/v1.50.1.tar.gz" - sha256: "fb1ed98eb3555877d55eb2b948caca44bc8601c6704896594de81558639709ef" - "1.50.0": - url: "https://github.com/grpc/grpc/archive/v1.50.0.tar.gz" - sha256: "76900ab068da86378395a8e125b5cc43dfae671e09ff6462ddfef18676e2165a" - "1.47.1": - url: "https://github.com/grpc/grpc/archive/v1.47.1.tar.gz" - sha256: "ba7c36989ad8a52c813adeebb0c65869283448f496dbb2868c75f69941dec6a9" - "1.46.3": - url: "https://github.com/grpc/grpc/archive/refs/tags/v1.46.3.tar.gz" - sha256: "d6cbf22cb5007af71b61c6be316a79397469c58c82a942552a62e708bce60964" + "1.54.3": + url: "https://github.com/grpc/grpc/archive/v1.54.3.tar.gz" + sha256: "17e4e1b100657b88027721220cbfb694d86c4b807e9257eaf2fb2d273b41b1b1" + "1.48.4": + url: "https://github.com/grpc/grpc/archive/v1.48.4.tar.gz" + sha256: "0c3faa83e39d4f1ab55fe1476362b9ac3b81632a46dce7fd4d50271bce816b53" patches: - "1.50.1": - - 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.0": + "1.48.4": - patch_file: "patches/v1.48.x/001-disable-cppstd-override.patch" - "1.47.1": - - patch_file: "patches/v1.47.x/001-disable-cppstd-override.patch" - "1.46.3": - - patch_file: "patches/v1.46.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 3187b094b3559..2278045abf6b9 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -1,5 +1,4 @@ import os -import shutil from conan import ConanFile from conan.errors import ConanInvalidConfiguration @@ -86,15 +85,18 @@ def layout(self): def requirements(self): # abseil is public. See https://github.com/conan-io/conan-center-index/pull/17284#issuecomment-1526082638 - if is_msvc(self) and Version(self.version) < "1.47": - self.requires("abseil/20211102.0", transitive_headers=True, transitive_libs=True) + 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) else: - self.requires("abseil/20220623.0", transitive_headers=True, transitive_libs=True) - self.requires("c-ares/1.19.0") + self.requires("abseil/20230125.3", transitive_headers=True, transitive_libs=True) + self.requires("c-ares/1.19.1") self.requires("openssl/[>=1.1 <4]") self.requires("re2/20230301") self.requires("zlib/1.2.13") - self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True, run=can_run(self)) + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True, run=can_run(self)) def package_id(self): del self.info.options.secure @@ -119,7 +121,7 @@ def validate(self): def build_requirements(self): if not can_run(self): - self.tool_requires("protobuf/3.21.9") + self.tool_requires("protobuf/3.21.12") if cross_building(self): # when cross compiling we need pre compiled grpc plugins for protoc self.tool_requires(f"grpc/{self.version}") @@ -309,6 +311,7 @@ def corefoundation(): "abseil::absl_status", "abseil::absl_str_format", "abseil::absl_strings", "abseil::absl_synchronization", "abseil::absl_time", "abseil::absl_optional", + "abseil::absl_flags", ], "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(), }, diff --git a/recipes/grpc/all/patches/v1.46.x/001-disable-cppstd-override.patch b/recipes/grpc/all/patches/v1.46.x/001-disable-cppstd-override.patch deleted file mode 100644 index a260124675947..0000000000000 --- a/recipes/grpc/all/patches/v1.46.x/001-disable-cppstd-override.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7a97604b75..7ae815042f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -222,21 +222,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 99) - endif() - --# Add c++11 flags --if (NOT DEFINED CMAKE_CXX_STANDARD) -- set(CMAKE_CXX_STANDARD 11) --else() -- if (CMAKE_CXX_STANDARD LESS 11) -- message(FATAL_ERROR "CMAKE_CXX_STANDARD is less than 11, please specify at least SET(CMAKE_CXX_STANDARD 11)") -- 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/recipes/grpc/all/patches/v1.47.x/001-disable-cppstd-override.patch b/recipes/grpc/all/patches/v1.47.x/001-disable-cppstd-override.patch deleted file mode 100644 index 0ba329e6480bc..0000000000000 --- a/recipes/grpc/all/patches/v1.47.x/001-disable-cppstd-override.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index db075cbe4a..289cc52215 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -220,26 +220,6 @@ if(WIN32) - set(_gRPC_PLATFORM_WINDOWS ON) - endif() - -- # Use C11 standard --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/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 index 65b655ba1f8b5..dee7836ac518b 100644 --- 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 @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25990a5..f37849c 100644 +index 1ecaea8eb7..0788b88177 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,21 +226,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) @@ -24,3 +24,16 @@ index 25990a5..f37849c 100644 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/patches/v1.50.x/001-disable-cppstd-override.patch b/recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch deleted file mode 100644 index a9339dbcc896b..0000000000000 --- a/recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7052846..259fa93 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -227,21 +227,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/recipes/grpc/config.yml b/recipes/grpc/config.yml index d36f53e1f178c..471303e99a287 100644 --- a/recipes/grpc/config.yml +++ b/recipes/grpc/config.yml @@ -1,9 +1,5 @@ versions: - "1.50.1": + "1.54.3": folder: "all" - "1.50.0": - folder: "all" - "1.47.1": - folder: "all" - "1.46.3": + "1.48.4": folder: "all" From 75230bff154ac8b7c12e7bb4742b55e674f014c1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 17:46:56 +0300 Subject: [PATCH 1292/4087] (#18625) onetbb/2020.x: migrate to Conan v2, add v2020.3.3 * onetbb/2020.x: migrate to Conan v2 * onetbb/2020.x: fix linker error * onetbb: improve os detection * onetbb: further cleanup * onetbb: fix duplicate arch flag issue * onetbb: fix LDFLAGS getting incorrectly applied to ar command * onetbb: add m to system_libs * onetbb: add v2020.3.3 * onetbb: fix a typo --- recipes/onetbb/2020.x/conandata.yml | 3 + recipes/onetbb/2020.x/conanfile.py | 294 +++++++++--------- .../onetbb/2020.x/test_package/CMakeLists.txt | 5 +- .../onetbb/2020.x/test_package/conanfile.py | 19 +- .../2020.x/test_v1_package/CMakeLists.txt | 8 + .../2020.x/test_v1_package/conanfile.py | 17 + .../onetbb/all/test_package/CMakeLists.txt | 2 +- .../onetbb/all/test_v1_package/CMakeLists.txt | 2 +- recipes/onetbb/config.yml | 2 + 9 files changed, 198 insertions(+), 154 deletions(-) create mode 100644 recipes/onetbb/2020.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/onetbb/2020.x/test_v1_package/conanfile.py diff --git a/recipes/onetbb/2020.x/conandata.yml b/recipes/onetbb/2020.x/conandata.yml index de98a3aa2d71d..bca751ad9a8a8 100644 --- a/recipes/onetbb/2020.x/conandata.yml +++ b/recipes/onetbb/2020.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "2020.3.3": + url: "https://github.com/oneapi-src/oneTBB/archive/v2020.3.3.tar.gz" + sha256: "494ac15f60e91d95ed7aec04f4e1d389b8a55bffc581d0fe9116b99336401963" "2020.3": url: "https://github.com/oneapi-src/oneTBB/archive/v2020.3.tar.gz" sha256: "ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3" diff --git a/recipes/onetbb/2020.x/conanfile.py b/recipes/onetbb/2020.x/conanfile.py index 0fd823e9ffd15..3975cf2c1c8b6 100644 --- a/recipes/onetbb/2020.x/conanfile.py +++ b/recipes/onetbb/2020.x/conanfile.py @@ -1,27 +1,34 @@ -from conan import ConanFile -from conan.errors import ConanInvalidConfiguration, ConanException -from conan.tools.files import get, replace_in_file, save, chdir, copy -from conan.tools.microsoft import msvc_runtime_flag, is_msvc -from conan.tools.scm import Version -from conans import tools as legacy_tools import os +import re import textwrap +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.files import chdir, copy, get, replace_in_file, save +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.intel import IntelCC +from conan.tools.layout import basic_layout +from conan.tools.microsoft import VCVars, msvs_toolset, msvc_runtime_flag, is_msvc +from conan.tools.scm import Version + required_conan_version = ">=1.53.0" class OneTBBConan(ConanFile): name = "onetbb" - license = "Apache-2.0" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/oneapi-src/oneTBB" description = ( "oneAPI Threading Building Blocks (oneTBB) lets you easily write parallel " "C++ programs that take full advantage of multicore performance, that " "are portable, composable and have future-proof scalability." ) + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/oneapi-src/oneTBB" topics = ("tbb", "threading", "parallelism", "tbbmalloc") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,18 +43,10 @@ class OneTBBConan(ConanFile): "tbbproxy": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _is_clanglc(self): - return self.settings.os == "Windows" and self.settings.compiler == "clang" - @property def _base_compiler(self): base = self.settings.get_safe("compiler.base") @@ -55,6 +54,14 @@ def _base_compiler(self): return self.settings.compiler.base return self.settings.compiler + @property + def _is_msvc(self): + return str(self._base_compiler) in ["Visual Studio", "msvc"] + + @property + def _is_clang_cl(self): + return self.settings.os == "Windows" and self.settings.compiler == "clang" + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -63,51 +70,42 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - def validate(self): - if self.settings.os == "Macos": - if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "8.0": - raise ConanInvalidConfiguration("%s %s couldn't be built by apple-clang < 8.0" % (self.name, self.version)) - if not self.options.shared: - self.output.warn("oneTBB strongly discourages usage of static linkage") - if self.options.tbbproxy and \ - (not self.options.shared or \ - not self.options.tbbmalloc): - raise ConanInvalidConfiguration("tbbproxy needs tbbmaloc and shared options") + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.options.tbbmalloc del self.info.options.tbbproxy + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if is_apple_os(self): + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "8.0": + raise ConanInvalidConfiguration(f"{self.name} {self.version} couldn't be built by apple-clang < 8.0") + if not self.options.shared: + self.output.warning("oneTBB strongly discourages usage of static linkage") + if self.options.tbbproxy and (not self.options.shared or not self.options.tbbmalloc): + raise ConanInvalidConfiguration("tbbproxy needs tbbmaloc and shared options") + def build_requirements(self): if self._settings_build.os == "Windows": - if "CONAN_MAKE_PROGRAM" not in os.environ and not legacy_tools.which("make"): - self.tool_requires("make/4.2.1") + if not self.conf_info.get("tools.gnu:make_program", check_type=str): + self.tool_requires("make/4.3") def source(self): - get(self, **self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def build(self): - def add_flag(name, value): - if name in os.environ: - os.environ[name] += " " + value - else: - os.environ[name] = value - - # Get the version of the current compiler instead of gcc - linux_include = os.path.join(self._source_subfolder, "build", "linux.inc") - replace_in_file(self, linux_include, "shell gcc", "shell $(CC)") - replace_in_file(self, linux_include, "= gcc", "= $(CC)") - - if self.version != "2019_u9" and self.settings.build_type == "Debug": - replace_in_file(self, os.path.join(self._source_subfolder, "Makefile"), "release", "debug") - - if str(self._base_compiler) in ["Visual Studio", "msvc"]: - save(self, - os.path.join(self._source_subfolder, "build", "big_iron_msvc.inc"), + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + if self._is_msvc: + link_cmd = "xilib" if self.settings.compiler == "intel-cc" else "lib" + save( + self, + os.path.join(self.source_folder, "build", "big_iron_msvc.inc"), # copy of big_iron.inc adapted for MSVC - textwrap.dedent("""\ - LIB_LINK_CMD = {}.exe + textwrap.dedent(f"""\ + LIB_LINK_CMD = {link_cmd}.exe LIB_OUTPUT_KEY = /OUT: LIB_LINK_FLAGS = LIB_LINK_LIBS = @@ -128,39 +126,39 @@ def add_flag(name, value): MALLOC_NO_VERSION.DLL = MALLOCPROXY.DLL = MALLOCPROXY.DEF = - """.format("xilib" if self.settings.compiler == "intel" else "lib")) + """), ) - extra = "" if self.options.shared else "extra_inc=big_iron_msvc.inc" + if not self.options.shared: + tc.make_args.append("extra_inc=big_iron_msvc.inc") else: - extra = "" if self.options.shared else "extra_inc=big_iron.inc" + if not self.options.shared: + tc.make_args.append("extra_inc=big_iron.inc") arch = { "x86": "ia32", "x86_64": "intel64", "armv7": "armv7", - "armv8": "arm64" - if (self.settings.os == "iOS" or self.settings.os == "Macos") - else "aarch64", + "armv8": "arm64" if is_apple_os(self) else "aarch64", }[str(self.settings.arch)] - extra += " arch=%s" % arch + tc.make_args.append(f"arch={arch}") if self.settings.os == "iOS": - extra += " target=ios" + tc.make_args.append("target=ios") if str(self._base_compiler) in ("gcc", "clang", "apple-clang"): if str(self._base_compiler.libcxx) in ("libstdc++", "libstdc++11"): - extra += " stdlib=libstdc++" + tc.make_args.append("stdlib=libstdc++") elif str(self._base_compiler.libcxx) == "libc++": - extra += " stdlib=libc++" + tc.make_args.append("stdlib=libc++") - if str(self.settings.compiler) == "intel": - extra += " compiler=icc" + if str(self.settings.compiler) == "intel-cc": + tc.make_args.append("compiler=icc") elif str(self.settings.compiler) in ("clang", "apple-clang"): - extra += " compiler=clang" + tc.make_args.append("compiler=clang") else: - extra += " compiler=gcc" + tc.make_args.append("compiler=gcc") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: # runtime is supposed to track the version of the c++ stdlib, # the version of glibc, and the version of the linux kernel. # However, it isn't actually used anywhere other than for @@ -168,113 +166,123 @@ def add_flag(name, value): # TBB computes the value of this variable using gcc, which we # don't necessarily want to require when building this recipe. # Setting it to a dummy value prevents TBB from calling gcc. - extra += " runtime=gnu" - elif str(self._base_compiler) in ["Visual Studio", "msvc"]: + tc.make_args.append("runtime=gnu") + elif self._is_msvc: if "MT" in msvc_runtime_flag(self): runtime = "vc_mt" else: - if self.settings.compiler == "Visual Studio": - runtime = { - "8": "vc8", - "9": "vc9", - "10": "vc10", - "11": "vc11", - "12": "vc12", - "14": "vc14", - "15": "vc14.1", - "16": "vc14.2" - }.get(str(self._base_compiler.version), "vc14.2") + # Convert MSVC toolset to TBB runtime id + # v140 -> vc14, v141 -> vc14.1, etc + toolset = msvs_toolset(self) + m = re.fullmatch(r"v(\d+)(\d)", toolset) + if m: + runtime = f"vc{m[1]}" + (f".{m[2]}" if m[2] != "0" else "") else: - runtime = { - "190": "vc14", - "191": "vc14.1", - "192": "vc14.2" - }.get(str(self._base_compiler.version), "vc14.2") - extra += " runtime=%s" % runtime - - if self.settings.compiler == "intel": - extra += " compiler=icl" + self.output.warning(f"Unknown MSVC toolset: {toolset}") + runtime = "vc14.2" + tc.make_args.append(f"runtime={runtime}") + + if self.settings.compiler == "intel-cc": + tc.make_args.append("compiler=icl") else: - extra += " compiler=cl" - cxx_std_flag = legacy_tools.cppstd_flag(self.settings) - if cxx_std_flag: - cxx_std_value = ( - cxx_std_flag.split("=")[1] - if "=" in cxx_std_flag - else cxx_std_flag.split(":")[1] - if ":" in cxx_std_flag - else None - ) - if cxx_std_value: - extra += f" stdver={cxx_std_value}" - - make = legacy_tools.get_env("CONAN_MAKE_PROGRAM", legacy_tools.which("make") or legacy_tools.which("mingw32-make")) - if not make: - raise ConanException("This package needs 'make' in the path to build") - - with chdir(self, self._source_subfolder): - # intentionally not using AutoToolsBuildEnvironment for now - it's broken for clang-cl - if self._is_clanglc: - add_flag("CFLAGS", "-mrtm") - add_flag("CXXFLAGS", "-mrtm") - - targets = ["tbb", "tbbmalloc", "tbbproxy"] - context = legacy_tools.no_op() - if self.settings.compiler == "intel": - context = legacy_tools.intel_compilervars(self) - elif is_msvc(self): - # intentionally not using vcvars for clang-cl yet - context = legacy_tools.vcvars(self) - with context: - self.run("%s %s %s" % (make, extra, " ".join(targets))) + tc.make_args.append("compiler=cl") + elif self._is_clang_cl: + tc.extra_cflags.append("-mrtm") + tc.extra_cxxflags.append("-mrtm") + + tc.generate() + + if self.settings.compiler == "intel-cc": + intelcc = IntelCC(self) + intelcc.generate() + elif is_msvc(self): + # intentionally not using vcvars for clang-cl yet + vcvars = VCVars(self) + vcvars.generate() + + def _patch_sources(self): + # Fix LDFLAGS getting incorrectly applied to ar command + linux_include = os.path.join(self.source_folder, "build", "common_rules.inc") + replace_in_file(self, linux_include, "LIB_LINK_FLAGS += $(LDFLAGS)", "") + # Get the version of the current compiler instead of gcc + linux_include = os.path.join(self.source_folder, "build", "linux.inc") + replace_in_file(self, linux_include, "shell gcc", "shell $(CC)") + replace_in_file(self, linux_include, "= gcc", "= $(CC)") + if self.version != "2019_u9" and self.settings.build_type == "Debug": + replace_in_file(self, os.path.join(self.source_folder, "Makefile"), "release", "debug") + + def build(self): + self._patch_sources() + with chdir(self, self.source_folder): + autotools = Autotools(self) + for target in ["tbb", "tbbmalloc", "tbbproxy"]: + autotools.make(target) def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self._source_subfolder) - copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self._source_subfolder, "include")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "include", "tbb", "compat"), src=os.path.join(self._source_subfolder, "include", "tbb", "compat")) - build_folder = os.path.join(self._source_subfolder, "build") + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*", + dst=os.path.join(self.package_folder, "include", "tbb", "compat"), + src=os.path.join(self.source_folder, "include", "tbb", "compat")) + + build_folder = os.path.join(self.source_folder, "build") build_type = "debug" if self.settings.build_type == "Debug" else "release" - copy(self, pattern=f"*{build_type}*.lib", dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) - copy(self, pattern=f"*{build_type}*.a", dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) - copy(self, pattern=f"*{build_type}*.dll", dst=os.path.join(self.package_folder, "bin"), src=build_folder, keep_path=False) - copy(self, pattern=f"*{build_type}*.dylib", dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) + for extension in ["lib", "a", "dylib"]: + copy(self, f"*{build_type}*.{extension}", + dst=os.path.join(self.package_folder, "lib"), + src=build_folder, keep_path=False) + copy(self, f"*{build_type}*.dll", + dst=os.path.join(self.package_folder, "bin"), + src=build_folder, keep_path=False) + # Copy also .dlls to lib folder so consumers can link against them directly when using MinGW if self.settings.os == "Windows" and self.settings.compiler == "gcc": - copy(self, f"*{build_type}*.dll", dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) + copy(self, f"*{build_type}*.dll", + dst=os.path.join(self.package_folder, "lib"), + src=build_folder, keep_path=False) - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"] and self.options.shared: extension = "so" - if self.options.shared: - copy(self, f"*{build_type}*.{extension}.*", dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) - outputlibdir = os.path.join(self.package_folder, "lib") - with chdir(self, outputlibdir): - for fpath in os.listdir(outputlibdir): - filepath = fpath[0:fpath.rfind("." + extension) + len(extension) + 1] - self.run(f'ln -s "{fpath}" "{filepath}"', run_environment=True) + copy(self, f"*{build_type}*.{extension}.*", + dst=os.path.join(self.package_folder, "lib"), + src=build_folder, keep_path=False) + # Create libtbb.so.2 -> libtbb.so, etc symlinks + with chdir(self, os.path.join(self.package_folder, "lib")): + for fname in os.listdir("."): + fname_without_version = fname.split(f".{extension}", 1)[0] + f".{extension}" + self.run(f'ln -s "{fname}" "{fname_without_version}"') def package_info(self): self.cpp_info.set_property("cmake_file_name", "TBB") + self.cpp_info.set_property("cmake_target_name", "TBB::TBB") suffix = "_debug" if self.settings.build_type == "Debug" else "" # tbb self.cpp_info.components["libtbb"].set_property("cmake_target_name", "TBB::tbb") - self.cpp_info.components["libtbb"].libs = ["tbb{}".format(suffix)] + self.cpp_info.components["libtbb"].libs = [f"tbb{suffix}"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["libtbb"].system_libs = ["dl", "rt", "pthread"] + self.cpp_info.components["libtbb"].system_libs = ["m", "dl", "rt", "pthread"] # tbbmalloc if self.options.tbbmalloc: self.cpp_info.components["tbbmalloc"].set_property("cmake_target_name", "TBB::tbbmalloc") - self.cpp_info.components["tbbmalloc"].libs = ["tbbmalloc{}".format(suffix)] + self.cpp_info.components["tbbmalloc"].libs = [f"tbbmalloc{suffix}"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["tbbmalloc"].system_libs = ["dl", "pthread"] + self.cpp_info.components["tbbmalloc"].system_libs = ["m", "dl", "pthread"] # tbbmalloc_proxy if self.options.tbbproxy: self.cpp_info.components["tbbmalloc_proxy"].set_property("cmake_target_name", "TBB::tbbmalloc_proxy") - self.cpp_info.components["tbbmalloc_proxy"].libs = ["tbbmalloc_proxy{}".format(suffix)] + self.cpp_info.components["tbbmalloc_proxy"].libs = [f"tbbmalloc_proxy{suffix}"] self.cpp_info.components["tbbmalloc_proxy"].requires = ["tbbmalloc"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["tbbmalloc_proxy"].system_libs = ["m"] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "TBB" diff --git a/recipes/onetbb/2020.x/test_package/CMakeLists.txt b/recipes/onetbb/2020.x/test_package/CMakeLists.txt index d5a40167452f4..2dd759c70dd11 100644 --- a/recipes/onetbb/2020.x/test_package/CMakeLists.txt +++ b/recipes/onetbb/2020.x/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(TBB REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/onetbb/2020.x/test_package/conanfile.py b/recipes/onetbb/2020.x/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/onetbb/2020.x/test_package/conanfile.py +++ b/recipes/onetbb/2020.x/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "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/onetbb/2020.x/test_v1_package/CMakeLists.txt b/recipes/onetbb/2020.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/onetbb/2020.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/onetbb/2020.x/test_v1_package/conanfile.py b/recipes/onetbb/2020.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/onetbb/2020.x/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/onetbb/all/test_package/CMakeLists.txt b/recipes/onetbb/all/test_package/CMakeLists.txt index f510136a26a97..fbae62535650c 100644 --- a/recipes/onetbb/all/test_package/CMakeLists.txt +++ b/recipes/onetbb/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(TBB REQUIRED CONFIG) diff --git a/recipes/onetbb/all/test_v1_package/CMakeLists.txt b/recipes/onetbb/all/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/onetbb/all/test_v1_package/CMakeLists.txt +++ b/recipes/onetbb/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/onetbb/config.yml b/recipes/onetbb/config.yml index 7995868f434ad..7a33bda288759 100644 --- a/recipes/onetbb/config.yml +++ b/recipes/onetbb/config.yml @@ -9,6 +9,8 @@ versions: folder: all "2021.3.0": folder: all + "2020.3.3": + folder: "2020.x" "2020.3": folder: "2020.x" "2020.2": From 6a5fee9b18f66cd840da22bb0c334f6f5c28cfb4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 19 Aug 2023 18:26:24 +0300 Subject: [PATCH 1293/4087] (#18756) quickfix: migrate to Conan v2 * quickfix: migrate to Conan v2 * quickfix: revert to collect_libs() for Windows on v1 * quickfix: restore VirtualRunEnv in test_package * quickfix: bump deps --------- Co-authored-by: Carlos Zoido --- recipes/quickfix/all/conandata.yml | 9 -- recipes/quickfix/all/conanfile.py | 138 ++++++++++-------- ...ake-version-add-conan-basic-setup-an.patch | 4 +- .../quickfix/all/test_package/CMakeLists.txt | 7 +- .../quickfix/all/test_package/conanfile.py | 22 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../quickfix/all/test_v1_package/conanfile.py | 18 +++ 7 files changed, 124 insertions(+), 82 deletions(-) create mode 100644 recipes/quickfix/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/quickfix/all/test_v1_package/conanfile.py diff --git a/recipes/quickfix/all/conandata.yml b/recipes/quickfix/all/conandata.yml index 863c20f1e79d6..bec3ce0e03d95 100644 --- a/recipes/quickfix/all/conandata.yml +++ b/recipes/quickfix/all/conandata.yml @@ -5,20 +5,11 @@ sources: patches: "1.15.1": - patch_file: "patches/0001-Fix-build-for-C-17-replace-throw-.-with-EXCEPT.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-except-copy.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-fix-condition-for-using-tr1-namespace.patch" - base_path: "source_subfolder" - patch_file: "patches/0004-remove-tests-from-compilatin-unit-performance-and-ac.patch" - base_path: "source_subfolder" - patch_file: "patches/0005-inc.-required-CMake-version-add-conan-basic-setup-an.patch" - base_path: "source_subfolder" - patch_file: "patches/0006-manage-postgres-through-conan.patch" - base_path: "source_subfolder" - patch_file: "patches/0007-add-support-to-static-libraries-for-non-windows-buil.patch" - base_path: "source_subfolder" - patch_file: "patches/0008-manage-mysql-through-conan.patch" - base_path: "source_subfolder" - patch_file: "patches/0009-downgrade-cmake-minimum-required.patch" - base_path: "source_subfolder" diff --git a/recipes/quickfix/all/conanfile.py b/recipes/quickfix/all/conanfile.py index c5c614561ff61..adfbbac153de5 100644 --- a/recipes/quickfix/all/conanfile.py +++ b/recipes/quickfix/all/conanfile.py @@ -1,48 +1,42 @@ -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.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, collect_libs + +required_conan_version = ">=1.53.0" + class QuickfixConan(ConanFile): name = "quickfix" + description = "QuickFIX is a free and open source implementation of the FIX protocol" license = "The QuickFIX Software License, Version 1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.quickfixengine.org" - description = "QuickFIX is a free and open source implementation of the FIX protocol" - topics = ("conan", "QuickFIX", "FIX", "Financial Information Exchange", "libraries", "cpp") - settings = "os", "compiler", "build_type", "arch" - options = {"fPIC": [True, False], - "shared": [True, False], - "with_ssl": [True, False], - "with_postgres": [True, False], - "with_mysql": [None, "libmysqlclient"]} - default_options = {"fPIC": True, - "shared": False, - "with_ssl": False, - "with_postgres": False, - "with_mysql": None} - generators = "cmake" - exports_sources = "patches/**" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def requirements(self): - if self.options.with_ssl: - self.requires("openssl/1.1.1q") - - if self.options.with_postgres: - self.requires("libpq/14.2") - - if self.options.with_mysql == "libmysqlclient": - self.requires("libmysqlclient/8.0.29") + topics = ("FIX", "Financial Information Exchange", "libraries", "cpp") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_ssl": [True, False], + "with_postgres": [True, False], + "with_mysql": [None, "libmysqlclient"], + } + default_options = { + "shared": False, + "fPIC": True, + "with_ssl": False, + "with_postgres": False, + "with_mysql": None, + } + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -50,43 +44,67 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_ssl: + self.requires("openssl/[>=1.1 <4]") + + if self.options.with_postgres: + self.requires("libpq/15.3") + + if self.options.with_mysql == "libmysqlclient": + self.requires("libmysqlclient/8.0.31") def validate(self): if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("QuickFIX cannot be built as shared lib on Windows") - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration("QuickFIX doesn't support ARM compilation") # See issue: https://github.com/quickfix/quickfix/issues/206 + if is_apple_os(self) and self.settings.arch == "armv8": + # See issue: https://github.com/quickfix/quickfix/issues/206 + raise ConanInvalidConfiguration("QuickFIX doesn't support ARM compilation") - def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["HAVE_SSL"] = self.options.with_ssl - self._cmake.definitions["HAVE_POSTGRESQL"] = self.options.with_postgres - self._cmake.definitions["HAVE_MYSQL"] = bool(self.options.with_mysql) - self._cmake.configure(source_folder=self._source_subfolder, build_folder=self._build_subfolder) - return self._cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) + tc.variables["HAVE_SSL"] = self.options.with_ssl + tc.variables["HAVE_POSTGRESQL"] = self.options.with_postgres + tc.variables["HAVE_MYSQL"] = bool(self.options.with_mysql) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build(target="quickfix") def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("config.h", dst=os.path.join("include", "quickfix"), src=self._build_subfolder) - self.copy("Except.h", dst="include", src=os.path.join(self._source_subfolder, "src", "C++")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - tools.rmdir(os.path.join(self.package_folder, "share")) + copy(self, "config.h", + dst=os.path.join(self.package_folder, "include", "quickfix"), + src=self.build_folder) + copy(self, "Except.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "src", "C++")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) if self.options.with_ssl: self.cpp_info.defines.append("HAVE_SSL=1") diff --git a/recipes/quickfix/all/patches/0005-inc.-required-CMake-version-add-conan-basic-setup-an.patch b/recipes/quickfix/all/patches/0005-inc.-required-CMake-version-add-conan-basic-setup-an.patch index 3480935d8cd0e..fbea88ec0b6c1 100644 --- a/recipes/quickfix/all/patches/0005-inc.-required-CMake-version-add-conan-basic-setup-an.patch +++ b/recipes/quickfix/all/patches/0005-inc.-required-CMake-version-add-conan-basic-setup-an.patch @@ -25,8 +25,8 @@ index 48908ead..8789432c 100644 endif() project(${quickfix_PROJECT_NAME} VERSION 0.1 LANGUAGES CXX C) -+include(${PROJECT_BINARY_DIR}/../conanbuildinfo.cmake) -+conan_basic_setup() ++ ++ message("-- Project name ${CMAKE_PROJECT_NAME}") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") diff --git a/recipes/quickfix/all/test_package/CMakeLists.txt b/recipes/quickfix/all/test_package/CMakeLists.txt index 57cf0bfd3debb..59fa2d07ab926 100644 --- a/recipes/quickfix/all/test_package/CMakeLists.txt +++ b/recipes/quickfix/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -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(quickfix REQUIRED CONFIG) add_executable(executor ${PROJECT_SOURCE_DIR}/executor.cpp) -target_link_libraries(executor ${CONAN_LIBS}) +target_link_libraries(executor PRIVATE quickfix::quickfix) diff --git a/recipes/quickfix/all/test_package/conanfile.py b/recipes/quickfix/all/test_package/conanfile.py index a68d648c5c5b5..bf3ebab04211e 100644 --- a/recipes/quickfix/all/test_package/conanfile.py +++ b/recipes/quickfix/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 QuickfixTestConan(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", "executor") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "executor") + self.run(bin_path, env="conanrun") diff --git a/recipes/quickfix/all/test_v1_package/CMakeLists.txt b/recipes/quickfix/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/quickfix/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/quickfix/all/test_v1_package/conanfile.py b/recipes/quickfix/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3148dc9605e6c --- /dev/null +++ b/recipes/quickfix/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class QuickfixTestConan(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", "executor") + self.run(bin_path, run_environment=True) From a55a137d76b14f3f1693df04af7d780bdb3e5825 Mon Sep 17 00:00:00 2001 From: tt4g <45120617+tt4g@users.noreply.github.com> Date: Sun, 20 Aug 2023 00:48:30 +0900 Subject: [PATCH 1294/4087] (#18857) libpqxx: add version 7.8.0 * libpqxx: add version 7.8.0 * libpqxx: fix build on C++17 * libpqxx: fix conandata.yml format * libpqxx: build only static or shared library * libpqxx: Fix MSVC 2022 compile error An older version could not be built by MSVC 2022. Since the compile error was avoided by a change made in another task, only the relevant change is imported in the patch. --- recipes/libpqxx/all/conandata.yml | 75 +++++++++++++++++++ recipes/libpqxx/all/conanfile.py | 6 ++ ...fix-alternative-operator-error-7.8.0.patch | 24 ++++++ .../patches/stop-using-strnlen-7.2.1.patch | 28 +++++++ .../patches/stop-using-strnlen-7.3.2.patch | 28 +++++++ .../patches/stop-using-strnlen-7.4.2.patch | 28 +++++++ recipes/libpqxx/config.yml | 2 + 7 files changed, 191 insertions(+) create mode 100644 recipes/libpqxx/all/patches/fix-alternative-operator-error-7.8.0.patch create mode 100644 recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch create mode 100644 recipes/libpqxx/all/patches/stop-using-strnlen-7.3.2.patch create mode 100644 recipes/libpqxx/all/patches/stop-using-strnlen-7.4.2.patch diff --git a/recipes/libpqxx/all/conandata.yml b/recipes/libpqxx/all/conandata.yml index a8a8be54d6643..9d9a75993b026 100644 --- a/recipes/libpqxx/all/conandata.yml +++ b/recipes/libpqxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.8.0": + url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.8.0.tar.gz" + sha256: "bc471d8d34588f820f38e19e1cc217f399212eef900416cf12f90fab293628af" "7.7.5": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.7.5.tar.gz" sha256: "c7dc3e8fa2eee656f2b6a8179d72f15db10e97a80dc4f173f806e615ea990973" @@ -42,39 +45,111 @@ sources: url: "https://github.com/jtv/libpqxx/archive/6.4.8.tar.gz" sha256: "3f7aba951822e01f1b9f9f353702954773323dd9f9dc376ffb57cb6bbd9a7a2f" patches: + "7.8.0": + - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" + - patch_file: "patches/fix-alternative-operator-error-7.8.0.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/714" + patch_description: "Fix a bug undeclared identifier alternative operator." + patch_type: "bugfix" "7.7.5": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.7.4": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.7.3": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.7.2": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" - patch_file: "patches/fix-install-library-symlink-7.7.2.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/552" + patch_description: "Fix install library symlink error." + patch_type: "bugfix" "7.7.0": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" - patch_file: "patches/fix-clang-compilation-7.7.0.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/519" + patch_description: "Fix clang compile error." + patch_type: "bugfix" "7.6.1": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" - patch_file: "patches/fix-inline-constexpr-local-variable-problem-7.6.0.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/468" + patch_description: "Fixed a problem that some compilers did not allow `inline constexpr` local variable declarations." + patch_type: "bugfix" - patch_file: "patches/fix-remove-unlikely-annotation-before-return-7.6.0_to_7.6.1.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/476" + patch_description: "fix: Remove `unlikely` annotation before `return`" + patch_type: "bugfix" "7.6.0": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" - patch_file: "patches/fix-inline-constexpr-local-variable-problem-7.6.0.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/468" + patch_description: "Fixed a problem that some compilers did not allow `inline constexpr` local variable declarations." + patch_type: "bugfix" - patch_file: "patches/fix-remove-unlikely-annotation-before-return-7.6.0_to_7.6.1.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/476" + patch_description: "fix: Remove `unlikely` annotation before `return`" + patch_type: "bugfix" "7.5.3": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.4.2": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" + - patch_file: "patches/stop-using-strnlen-7.4.2.patch" + patch_source: "https://github.com/jtv/libpqxx/commit/df30e186e148acb031244ed0ab1151731d3501a4" + patch_description: "Fix MSVC 2022 compile error: '<': no operator found which takes a right-hand operand of type 'std::_String_view_iterator<_Traits>'" + patch_type: "bugfix" "7.3.2": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" - patch_file: "patches/fix-msvc-compilation-7.3.1.patch" + patch_source: "https://github.com/jtv/libpqxx/pull/406" + patch_description: "Fix a bug that syntax error on Visual Studio 2017" + patch_type: "bugfix" + - patch_file: "patches/stop-using-strnlen-7.3.2.patch" + patch_source: "https://github.com/jtv/libpqxx/commit/df30e186e148acb031244ed0ab1151731d3501a4" + patch_description: "Fix MSVC 2022 compile error: '<': no operator found which takes a right-hand operand of type 'std::_String_view_iterator<_Traits>'" + patch_type: "bugfix" "7.2.1": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" + - patch_file: "patches/stop-using-strnlen-7.2.1.patch" + patch_source: "https://github.com/jtv/libpqxx/commit/df30e186e148acb031244ed0ab1151731d3501a4" + patch_description: "Fix MSVC 2022 compile error: '<': no operator found which takes a right-hand operand of type 'std::_String_view_iterator<_Traits>'" + patch_type: "bugfix" "7.1.2": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.0.7": - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" - patch_file: "patches/fix-not-declared-dumb_stringstream-7.0.6_to_7.0.7.patch" + patch_source: "https://github.com/jtv/libpqxx/commit/0e81d36f522093d7215b3792f1c62dcd06a34ad1" + patch_description: "Fix 'dumb_stringstream' was not declared." + patch_type: "bugfix" "6.4.8": - patch_file: "patches/0001-cmake-fix-module-6.4.8.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" diff --git a/recipes/libpqxx/all/conanfile.py b/recipes/libpqxx/all/conanfile.py index ef9bfe326bc0a..2c06284a7d4d7 100644 --- a/recipes/libpqxx/all/conanfile.py +++ b/recipes/libpqxx/all/conanfile.py @@ -104,6 +104,12 @@ def generate(self): tc.variables["BUILD_TEST"] = False # Set `-mmacosx-version-min` to enable C++17 standard library support. tc.variables["CMAKE_OSX_DEPLOYMENT_TARGET"] = self._mac_os_minimum_required_version + if Version(self.version) < "7.0": + if self.options.shared: + tc.variables["SKIP_PQXX_STATIC"] = True + else: + tc.variables["SKIP_PQXX_SHARED"] = True + tc.generate() deps = CMakeDeps(self) diff --git a/recipes/libpqxx/all/patches/fix-alternative-operator-error-7.8.0.patch b/recipes/libpqxx/all/patches/fix-alternative-operator-error-7.8.0.patch new file mode 100644 index 0000000000000..9a792a2cc015e --- /dev/null +++ b/recipes/libpqxx/all/patches/fix-alternative-operator-error-7.8.0.patch @@ -0,0 +1,24 @@ +Fix a bug undeclared identifier alternative operator (https://github.com/jtv/libpqxx/pull/714) +diff --git a/include/pqxx/internal/header-pre.hxx b/include/pqxx/internal/header-pre.hxx +index 595a53b4..9d4c60e7 100644 +--- a/include/pqxx/internal/header-pre.hxx ++++ b/include/pqxx/internal/header-pre.hxx +@@ -58,6 +58,18 @@ + // Workarounds & definitions that need to be included even in library's headers + #include "pqxx/config-public-compiler.h" + ++#if defined(_MSC_VER) ++# define PQXX_CPLUSPLUS _MSVC_LANG ++#else ++# define PQXX_CPLUSPLUS __cplusplus ++#endif ++ ++// C++20: No longer needed. ++// Enable ISO-646 alternative operaotr representations: "and" instead of "&&" ++// etc. on older compilers. C++20 removes this header. ++#if PQXX_CPLUSPLUS <= 201703L && __has_include() ++# include ++#endif + + #if defined(PQXX_HAVE_GCC_PURE) + /// Declare function "pure": no side effects, only reads globals and its args. diff --git a/recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch b/recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch new file mode 100644 index 0000000000000..39e7b4ab81e4e --- /dev/null +++ b/recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch @@ -0,0 +1,28 @@ +diff --git a/src/strconv.cxx b/src/strconv.cxx +index 4339625e..200b416a 100644 +--- a/src/strconv.cxx ++++ b/src/strconv.cxx +@@ -265,18 +265,18 @@ namespace + template + [[maybe_unused]] inline TYPE from_string_arithmetic(std::string_view in) + { +- char const *begin; ++ char const *here; ++ auto const end{in.data() + std::size(in)}; + + // Skip whitespace. This is not the proper way to do it, but I see no way + // that any of the supported encodings could ever produce a valid character + // whose byte sequence would confuse this code. +- for (begin = in.data(); +- begin < std::end(in) and (*begin == ' ' or *begin == '\t'); ++begin) ++ for (here = in.data(); ++ here < end and (*here == ' ' or *here == '\t'); ++here) + ; + +- auto const end{in.data() + std::size(in)}; + TYPE out; +- auto const res{std::from_chars(begin, end, out)}; ++ auto const res{std::from_chars(here, end, out)}; + if (res.ec == std::errc() and res.ptr == end) + return out; + diff --git a/recipes/libpqxx/all/patches/stop-using-strnlen-7.3.2.patch b/recipes/libpqxx/all/patches/stop-using-strnlen-7.3.2.patch new file mode 100644 index 0000000000000..5602c77e030c6 --- /dev/null +++ b/recipes/libpqxx/all/patches/stop-using-strnlen-7.3.2.patch @@ -0,0 +1,28 @@ +diff --git a/src/strconv.cxx b/src/strconv.cxx +index d82e5c53..ee1628ff 100644 +--- a/src/strconv.cxx ++++ b/src/strconv.cxx +@@ -264,18 +264,18 @@ namespace + template + [[maybe_unused]] inline TYPE from_string_arithmetic(std::string_view in) + { +- char const *begin; ++ char const *here; ++ auto const end{in.data() + std::size(in)}; + + // Skip whitespace. This is not the proper way to do it, but I see no way + // that any of the supported encodings could ever produce a valid character + // whose byte sequence would confuse this code. +- for (begin = in.data(); +- begin < std::end(in) and (*begin == ' ' or *begin == '\t'); ++begin) ++ for (here = in.data(); ++ here < end and (*here == ' ' or *here == '\t'); ++here) + ; + +- auto const end{in.data() + std::size(in)}; + TYPE out; +- auto const res{std::from_chars(begin, end, out)}; ++ auto const res{std::from_chars(here, end, out)}; + if (res.ec == std::errc() and res.ptr == end) + return out; + diff --git a/recipes/libpqxx/all/patches/stop-using-strnlen-7.4.2.patch b/recipes/libpqxx/all/patches/stop-using-strnlen-7.4.2.patch new file mode 100644 index 0000000000000..0c628fb55fdff --- /dev/null +++ b/recipes/libpqxx/all/patches/stop-using-strnlen-7.4.2.patch @@ -0,0 +1,28 @@ +diff --git a/src/strconv.cxx b/src/strconv.cxx +index ea4d3c82..08d645eb 100644 +--- a/src/strconv.cxx ++++ b/src/strconv.cxx +@@ -264,18 +264,18 @@ namespace + template + [[maybe_unused]] inline TYPE from_string_arithmetic(std::string_view in) + { +- char const *begin; ++ char const *here; ++ auto const end{in.data() + std::size(in)}; + + // Skip whitespace. This is not the proper way to do it, but I see no way + // that any of the supported encodings could ever produce a valid character + // whose byte sequence would confuse this code. +- for (begin = in.data(); +- begin < std::end(in) and (*begin == ' ' or *begin == '\t'); ++begin) ++ for (here = in.data(); ++ here < end and (*here == ' ' or *here == '\t'); ++here) + ; + +- auto const end{in.data() + std::size(in)}; + TYPE out; +- auto const res{std::from_chars(begin, end, out)}; ++ auto const res{std::from_chars(here, end, out)}; + if (res.ec == std::errc() and res.ptr == end) + return out; + diff --git a/recipes/libpqxx/config.yml b/recipes/libpqxx/config.yml index 96d5c5cc00956..9ea1691e88502 100644 --- a/recipes/libpqxx/config.yml +++ b/recipes/libpqxx/config.yml @@ -1,4 +1,6 @@ versions: + "7.8.0": + folder: all "7.7.5": folder: all "7.7.4": From 003f526787e31440b1ac9b8b92f6e3d2a47d54a6 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 19 Aug 2023 18:46:02 +0200 Subject: [PATCH 1295/4087] (#18498) gdal/pre_3.5.0: bump deps, remove old versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdal/pre_3.5.0: bump deps * gdal: remove old versions * fix test_package * gdal/pre_3.5.0: bump deps * bump deps --------- Co-authored-by: Rubén Rincón Blanco --- recipes/gdal/config.yml | 4 - recipes/gdal/pre_3.5.0/conandata.yml | 20 -- recipes/gdal/pre_3.5.0/conanfile.py | 24 +- .../patches/3.1.x/fix-autotools-3.1.4.patch | 283 ---------------- .../patches/3.1.x/fix-import-dll-msvc.patch | 15 - .../patches/3.1.x/fix-include-jsonc.patch | 104 ------ .../patches/3.1.x/fix-include-podofo.patch | 11 - .../3.1.x/fix-include-xerces-3.1.2.patch | 63 ---- .../patches/3.1.x/fix-nmake-common.patch | 165 ---------- .../patches/3.1.x/fix-nmake-opt-3.1.2.patch | 14 - .../patches/3.2.x/fix-autotools.patch | 304 ------------------ .../patches/3.2.x/fix-include-jsonc.patch | 104 ------ .../patches/3.2.x/fix-include-podofo.patch | 11 - .../patches/3.2.x/fix-include-xerces.patch | 63 ---- .../pre_3.5.0/patches/3.2.x/fix-nmake.patch | 179 ----------- .../gdal/pre_3.5.0/test_package/conanfile.py | 5 +- 16 files changed, 15 insertions(+), 1354 deletions(-) delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-autotools-3.1.4.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-import-dll-msvc.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-jsonc.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-podofo.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-xerces-3.1.2.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-nmake-common.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.1.x/fix-nmake-opt-3.1.2.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.2.x/fix-autotools.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-jsonc.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-podofo.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-xerces.patch delete mode 100644 recipes/gdal/pre_3.5.0/patches/3.2.x/fix-nmake.patch diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index da2f4dc3a9cab..a2ce278d92965 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -11,7 +11,3 @@ versions: folder: "pre_3.5.0" "3.3.3": folder: "pre_3.5.0" - "3.2.3": - folder: "pre_3.5.0" - "3.1.4": - folder: "pre_3.5.0" diff --git a/recipes/gdal/pre_3.5.0/conandata.yml b/recipes/gdal/pre_3.5.0/conandata.yml index 4ca595dd10256..49983edc62730 100644 --- a/recipes/gdal/pre_3.5.0/conandata.yml +++ b/recipes/gdal/pre_3.5.0/conandata.yml @@ -8,12 +8,6 @@ sources: "3.3.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.3.3/gdal-3.3.3.tar.gz" sha256: "28925ea4717b02185ee208bfc121a94fa0bc1dfe9cb862fd3868c2a0394d605a" - "3.2.3": - url: "https://github.com/OSGeo/gdal/releases/download/v3.2.3/gdal-3.2.3.tar.gz" - sha256: "86a35aad60a1eb87c2c0c145f9bccd83a47c4781254544ed5246f64d55ee1f18" - "3.1.4": - url: "https://github.com/OSGeo/gdal/releases/download/v3.1.4/gdal-3.1.4.tar.gz" - sha256: "5f09ea6ca797e296b608d261e08e18ffa43a12fa28d460ae139d2a026ee2b0c0" patches: "3.4.3": - patch_file: "patches/3.4.x/fix-autotools-3.4.3.patch" @@ -33,17 +27,3 @@ patches: - patch_file: "patches/3.3.x/fix-include-jsonc.patch" - patch_file: "patches/3.3.x/fix-include-xerces.patch" - patch_file: "patches/3.3.x/fix-include-podofo.patch" - "3.2.3": - - patch_file: "patches/3.2.x/fix-autotools.patch" - - patch_file: "patches/3.2.x/fix-nmake.patch" - - patch_file: "patches/3.2.x/fix-include-jsonc.patch" - - patch_file: "patches/3.2.x/fix-include-xerces.patch" - - patch_file: "patches/3.2.x/fix-include-podofo.patch" - "3.1.4": - - patch_file: "patches/3.1.x/fix-autotools-3.1.4.patch" - - patch_file: "patches/3.1.x/fix-nmake-common.patch" - - patch_file: "patches/3.1.x/fix-nmake-opt-3.1.2.patch" - - patch_file: "patches/3.1.x/fix-import-dll-msvc.patch" - - patch_file: "patches/3.1.x/fix-include-jsonc.patch" - - patch_file: "patches/3.1.x/fix-include-xerces-3.1.2.patch" - - patch_file: "patches/3.1.x/fix-include-podofo.patch" diff --git a/recipes/gdal/pre_3.5.0/conanfile.py b/recipes/gdal/pre_3.5.0/conanfile.py index 7ecdfb6713c6a..65bbd7d92d812 100644 --- a/recipes/gdal/pre_3.5.0/conanfile.py +++ b/recipes/gdal/pre_3.5.0/conanfile.py @@ -246,21 +246,21 @@ def layout(self): self.folders.build = self.folders.source def requirements(self): - self.requires("json-c/0.16") + self.requires("json-c/0.17") self.requires("libgeotiff/1.7.1") # self.requires("libopencad/0.0.2") # TODO: use conan recipe when available instead of internal one - self.requires("libtiff/4.4.0") - self.requires("proj/9.1.1") + self.requires("libtiff/4.5.1") + self.requires("proj/9.2.1") if Version(self.version) >= "3.1.0": self.requires("flatbuffers/2.0.5") if self.options.get_safe("with_zlib", True): self.requires("zlib/1.2.13") if self.options.get_safe("with_libdeflate"): - self.requires("libdeflate/1.17") + self.requires("libdeflate/1.18") if self.options.with_libiconv: self.requires("libiconv/1.17") if self.options.get_safe("with_zstd"): - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") if self.options.get_safe("with_blosc"): self.requires("c-blosc/1.21.3") if self.options.get_safe("with_lz4"): @@ -274,7 +274,7 @@ def requirements(self): # if self.options.with_pcraster: # self.requires("pcraster-rasterformat/1.3.2") if self.options.get_safe("with_png", True): - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_dds: self.requires("crunch/cci.20190615") if self.options.with_gta: @@ -284,7 +284,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.4") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.with_charls: @@ -326,13 +326,13 @@ def requirements(self): # if self.options.with_dods_root: # self.requires("libdap/3.20.6") if self.options.with_curl: - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.2.1") if self.options.with_xml2: self.requires("libxml2/2.10.3") # if self.options.with_spatialite: # self.requires("libspatialite/4.3.0a") if self.options.get_safe("with_sqlite3"): - self.requires("sqlite3/3.40.1") + self.requires("sqlite3/3.42.0") # if self.options.with_rasterlite2: # self.requires("rasterlite2/x.x.x") if self.options.get_safe("with_pcre"): @@ -340,7 +340,7 @@ def requirements(self): if self.options.get_safe("with_pcre2"): self.requires("pcre2/10.42") if self.options.with_webp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.1") if self.options.with_geos: self.requires("geos/3.11.1") # if self.options.with_sfcgal: @@ -367,11 +367,11 @@ def requirements(self): if self.options.with_cryptopp: self.requires("cryptopp/8.7.0") if self.options.with_crypto: - self.requires("openssl/1.1.1s") + self.requires("openssl/1.1.1u") # if not self.options.without_lerc: # self.requires("lerc/2.1") # TODO: use conan recipe (not possible yet because lerc API is broken for GDAL) if self.options.get_safe("with_exr"): - self.requires("openexr/3.1.5") + self.requires("openexr/3.1.9") if self.options.get_safe("with_heif"): self.requires("libheif/1.13.0") diff --git a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-autotools-3.1.4.patch b/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-autotools-3.1.4.patch deleted file mode 100644 index 974146f6a3f7a..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-autotools-3.1.4.patch +++ /dev/null @@ -1,283 +0,0 @@ ---- a/GDALmake.opt.in -+++ b/GDALmake.opt.in -@@ -601,7 +601,7 @@ endif - - ifeq ($(HAVE_LIBTOOL), yes) - --CONFIG_LIBS = $(GDAL_ROOT)/$(LIBGDAL) -+CONFIG_LIBS = $(GDAL_ROOT)/$(LIBGDAL) $(LIBS) - ifeq ($(MACOSX_FRAMEWORK),yes) - CONFIG_LIBS_INS = -L$(INST_LIB)/unix/lib -lgdal - else ---- a/configure.ac -+++ b/configure.ac -@@ -1214,6 +1214,7 @@ dnl --------------------------------------------------------------------------- - dnl PROJ.6 related stuff - dnl --------------------------------------------------------------------------- - -+PKG_PROG_PKG_CONFIG([0.21]) - AC_MSG_CHECKING([for PROJ >= 6 library]) - - AC_ARG_WITH(proj,[ --with-proj=ARG Compile with PROJ.x (ARG=yes or path)],,) -@@ -1229,11 +1230,7 @@ if test "x$with_proj" = "xno" ; then - else - - if test "x$with_proj" = "xyes" -o "x$with_proj" = "x"; then -- ORIG_LIBS="$LIBS" -- LIBS="-lproj $ORIG_LIBS" -- AC_LANG_PUSH([C++]) -- AC_CHECK_LIB(proj,proj_create_from_wkt,PROJ_FOUND=yes,PROJ_FOUND=no,) -- AC_LANG_POP([C++]) -+ PROJ_FOUND=yes - if test "$PROJ_FOUND" = "no"; then - AC_LANG_PUSH([C++]) - AC_CHECK_LIB(proj,internal_proj_create_from_wkt,PROJ_FOUND=yes,PROJ_FOUND=no,) -@@ -1876,7 +1873,6 @@ else - - DDS_SETTING=yes - CRUNCHDIR="$with_dds" -- LIBS="-L$with_dds/lib/ -lcrunch $LIBS" - echo "using libcrunch from $with_dds." - - fi -@@ -2012,7 +2008,7 @@ else - AC_MSG_RESULT([using libtiff from ${with_libtiff}.]) - - dnl Check for the BigTIFF enabled library (libtiff >= 4.0) -- AC_CHECK_LIB(tiff,TIFFScanlineSize64,HAVE_BIGTIFF=yes,HAVE_BIGTIFF=no,) -+ AC_CHECK_LIB(tiff,TIFFScanlineSize64,HAVE_BIGTIFF=yes,HAVE_BIGTIFF=no,$LIBS) - - fi - -@@ -2082,7 +2078,6 @@ else - - dnl We now require libgeotiff 1.5.0 - dnl first check if $with_geotiff/lib has the library: -- AC_CHECK_LIB(geotiff,GTIFAttachPROJContext,GEOTIFF_SETTING=external,GEOTIFF_SETTING=not_found,-L$with_geotiff/lib) - - if test $GEOTIFF_SETTING = "external" ; then - LIBS="-L$with_geotiff/lib -lgeotiff $LIBS" -@@ -2650,6 +2645,10 @@ if test x"$with_hdf4" = x"no" ; then - - echo "hdf4 support disabled." - -+elif test x"$with_hdf4" = x"yes" ; then -+ PKG_CHECK_MODULES([HDF4], [hdf], [HAVE_HDF4=yes], [AC_MSG_ERROR([hdf4 not found...])]) -+ PKG_CHECK_MODULES([HDF4], [hdf >= 4.2.5], [HDF4_HAS_MAXOPENFILES=yes], [HDF4_HAS_MAXOPENFILES=no]) -+ HDF4_INCLUDE="$HDF4_CFLAGS" - else - - if test x"$with_hdf4" = x"yes" -o x"$with_hdf4" = x"" ; then -@@ -2780,7 +2779,6 @@ elif test "$with_hdf5" = "yes" -o "$with_hdf5" = "" ; then - # Test that the package found is for the right architecture - saved_LIBS="$LIBS" - LIBS="$HDF5_LIBS" -- AC_CHECK_LIB(hdf5,H5Fopen, [HAVE_HDF5=yes], [HAVE_HDF5=no]) - LIBS="$saved_LIBS" - - if test "$HAVE_HDF5" = "yes"; then -@@ -2849,21 +2847,21 @@ KEA_CONFIG=no - - AC_ARG_WITH(kea,[ --with-kea[=ARG] Include kealib (ARG=path to kea-config) [[default=yes]]],,) - -+AC_MSG_CHECKING([for kea]) - if test "$with_kea" = "yes" -o "x$with_kea" = "x" ; then -- AC_PATH_PROG(KEA_CONFIG, kea-config, no) -+ HAVE_KEA=yes -+ AC_MSG_RESULT([yes]) - else -- KEA_CONFIG=$with_kea -+ HAVE_KEA=no -+ AC_MSG_RESULT([no]) - fi - --AC_MSG_CHECKING([for kea]) - - if test "$KEA_CONFIG" = "no" ; then - -- HAVE_KEA=no - KEA_LIB= - KEA_INC= - -- AC_MSG_RESULT([no]) - - else - if test -d $KEA_CONFIG ; then -@@ -3715,18 +3713,15 @@ MYSQL_CONFIG=no - AC_ARG_WITH(mysql,[ --with-mysql[=ARG] Include MySQL (ARG=path to mysql_config) [[default=no]]],,) - - if test "$with_mysql" = "yes" ; then -- AC_PATH_PROG(MYSQL_CONFIG, mysql_config, no) -+ HAVE_MYSQL=yes - else -- if test "x$with_mysql" != "x" ; then -- MYSQL_CONFIG=$with_mysql -- fi -+ HAVE_MYSQL=no - fi - - AC_MSG_CHECKING([for MySQL]) - - if test "$MYSQL_CONFIG" = "no" ; then - -- HAVE_MYSQL=no - MYSQL_LIB= - MYSQL_INC= - -@@ -3820,8 +3815,11 @@ dnl Check for Expat configuration. - dnl --------------------------------------------------------------------------- - - dnl Expat 1.95.0 released in 2000-09-28 --EXPAT_REQ_VERSION="1.95.0" --AX_LIB_EXPAT($EXPAT_REQ_VERSION) -+# AX_LIB_EXPAT is too fragile, it doesn't properly handle debug expat on Windows -+HAVE_EXPAT=no -+AC_ARG_WITH([expat], AS_HELP_STRING([--with-expat[=ARG]], [use Expat library (ARG=yes or no)]),,) -+if test x"$with_expat" = x"yes" ; then -+PKG_CHECK_MODULES([EXPAT], [expat >= 1.95.0], [HAVE_EXPAT=yes], [AC_MSG_ERROR([expat not found...])]) - - if test "$HAVE_EXPAT" = "yes"; then - LIBS="$EXPAT_LDFLAGS $LIBS" -@@ -3834,6 +3832,7 @@ m4_foreach_w([frmt],EXPAT_DRIVERS,[ - fi - ]) - -+fi - fi - - AC_SUBST([HAVE_EXPAT], $HAVE_EXPAT) -@@ -4059,29 +4058,17 @@ AC_ARG_WITH(curl, - dnl Clear some cache variables - unset ac_cv_path_LIBCURL - --if test "`basename xx/$with_curl`" = "curl-config" ; then -- LIBCURL_CONFIG="$with_curl" --elif test "$with_curl" = "no" ; then -- LIBCURL_CONFIG=no --else -- AC_PATH_PROG(LIBCURL_CONFIG, curl-config, no) --fi -- --if test "$LIBCURL_CONFIG" != "no" ; then -- -- CURL_VERNUM=`$LIBCURL_CONFIG --vernum` -- CURL_VER=`$LIBCURL_CONFIG --version | awk '{print $2}'` -- -- AC_MSG_RESULT([ found libcurl version $CURL_VER]) -- -- AC_CHECK_LIB(curl,curl_global_init,CURL_SETTING=yes,CURL_SETTING=no,`$LIBCURL_CONFIG --libs`) - -+if test "$with_curl" = "yes" ; then -+ PKG_CHECK_MODULES([CURL], [libcurl], [CURL_SETTING=yes], [AC_MSG_ERROR([libcurl not found...])]) -+else -+ CURL_SETTING=no - fi - - if test "$CURL_SETTING" = "yes" ; then - -- CURL_INC=`$LIBCURL_CONFIG --cflags` -- CURL_LIB=`$LIBCURL_CONFIG --libs` -+ CURL_INC="$CURL_CFLAGS" -+ CURL_LIB="$CURL_LIBS" - m4_foreach_w([frmt],CURL_FORMATS,[ - driver_enabled=m4_join([_],[$INTERNAL_FORMAT],frmt,[ENABLED]) - if test "x$driver_enabled" = "xyes"; then -@@ -4121,7 +4108,6 @@ if test "x$with_xml2" = "xyes" -o "x$with_xml2" = "x" ; then - if test "${HAVE_LIBXML2}" = "yes"; then - SAVED_LIBS="${LIBS}" - LIBS="${LIBXML2_LIBS}" -- AC_CHECK_LIB(xml2,xmlParseDoc,HAVE_LIBXML2=yes,HAVE_LIBXML2=no) - LIBS="${SAVED_LIBS}" - fi - -@@ -4242,9 +4228,12 @@ dnl --------------------------------------------------------------------------- - dnl Check for SQLite (only if SpatiaLite is not detected) - dnl --------------------------------------------------------------------------- - -+HAVE_SQLITE3=no -+AC_ARG_WITH(sqlite3, AS_HELP_STRING([--with-sqlite3[=ARG]], [use SQLite 3 library (ARG=yes or no)]),,) - if test "${HAVE_SPATIALITE}" = "no" -o "${HAVE_SPATIALITE}" = "dlopen" ; then -- SQLITE3_REQ_VERSION="3.0.0" -- AX_LIB_SQLITE3($SQLITE3_REQ_VERSION) -+ if test x"$with_sqlite3" = x"yes" ; then -+ PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.0.0], [HAVE_SQLITE3=yes], [AC_MSG_ERROR([sqlite3 not found...])]) -+ fi - - if test "$HAVE_SQLITE3" = "yes"; then - LIBS="$SQLITE3_LDFLAGS $LIBS" -@@ -4597,8 +4586,13 @@ dnl --------------------------------------------------------------------------- - dnl Check if geos library is available. - dnl --------------------------------------------------------------------------- - --GEOS_INIT(3.1.0) -+AC_ARG_WITH(geos, AS_HELP_STRING([--with-geos[=ARG]], [Include GEOS support (ARG=yes or no)]),,) - HAVE_GEOS_RESULT="no" -+HAVE_GEOS=no -+if test x"$with_geos" = x"no" ; then -+ AC_MSG_RESULT([GEOS support disabled]) -+else -+ PKG_CHECK_MODULES([GEOS], [geos >= 3.1.0], [HAVE_GEOS=yes], [AC_MSG_ERROR([geos not found...])]) - if test "${HAVE_GEOS}" = "yes" ; then - - AC_MSG_NOTICE([Using C API from GEOS $GEOS_VERSION]) -@@ -4607,6 +4601,8 @@ if test "${HAVE_GEOS}" = "yes" ; then - LIBS="${GEOS_LIBS} ${LIBS}" - HAVE_GEOS_RESULT="yes" - fi -+fi -+AC_SUBST(HAVE_GEOS, $HAVE_GEOS) - - dnl --------------------------------------------------------------------------- - dnl Check if SFCGAL library is available. -@@ -4641,20 +4637,18 @@ elif test "$with_qhull" = "yes" -o "$with_qhull" = "" ; then - # qhull/qhull.h - AC_CHECK_HEADERS([qhull/libqhull.h]) - if test "$ac_cv_header_qhull_libqhull_h" = "yes"; then -- AC_CHECK_LIB(qhull,qh_new_qhull,QHULL_SETTING=yes,QHULL_SETTING=no,) -+ QHULL_SETTING=yes - if test "$QHULL_SETTING" = "yes"; then - QHULL_SETTING=external - QHULL_INCLUDE_SUBDIR_IS_LIBQHULL=0 -- LIBS="-lqhull $LIBS" - fi - fi - AC_CHECK_HEADERS([libqhull/libqhull.h]) - if test "$ac_cv_header_libqhull_libqhull_h" = "yes"; then -- AC_CHECK_LIB(qhull,qh_new_qhull,QHULL_SETTING=yes,QHULL_SETTING=no,) -+ QHULL_SETTING=yes - if test "$QHULL_SETTING" = "yes"; then - QHULL_SETTING=external - QHULL_INCLUDE_SUBDIR_IS_LIBQHULL=1 -- LIBS="-lqhull $LIBS" - fi - fi - -@@ -4741,7 +4735,9 @@ AC_MSG_CHECKING([for FreeXL support]) - HAVE_FREEXL=no - FREEXL_INCLUDE= - --if test "$with_freexl" = "" -o "$with_freexl" = "yes" ; then -+if test "$with_freexl" = "yes"; then -+ PKG_CHECK_MODULES([FREEXL], [freexl >= 1.0.0], [HAVE_FREEXL=yes], [AC_MSG_ERROR([freexl not found...])]) -+elif test "$with_freexl" = ""; then - AC_CHECK_HEADERS(freexl.h) - AC_CHECK_LIB(freexl,freexl_open,FREEXL_LIBS="-lfreexl",FREEXL_LIBS=missing) - -@@ -4847,8 +4843,7 @@ if test "$with_libjson_c" = "external" -o "$with_libjson_c" = "" -o "$with_libjs - elif test "$with_libjson_c" = "internal" ; then - LIBJSONC_SETTING=internal - elif test "$with_libjson_c" != "no"; then -- LIBS="-L$with_libjson_c/lib $LIBS" -- AC_CHECK_LIB(json-c,json_object_set_serializer,LIBJSONC_SETTING=external,LIBJSONC_SETTING=internal,-L$with_libjson_c/lib) -+ LIBJSONC_SETTING=external - else - AC_MSG_ERROR([libjson-c (internal or external) is required]) - fi -@@ -5952,7 +5947,6 @@ else - # Test that the package found is for the right architecture - saved_LIBS="$LIBS" - LIBS="$EXR_LIBS" -- AC_CHECK_LIB(IlmImf,ImfTiledInputReadTile, [HAVE_EXR=yes], [HAVE_EXR=no]) - LIBS="$saved_LIBS" - - if test "$HAVE_EXR" = "yes"; then diff --git a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-import-dll-msvc.patch b/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-import-dll-msvc.patch deleted file mode 100644 index 308c1bca0a4c0..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-import-dll-msvc.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/port/cpl_port.h -+++ b/port/cpl_port.h -@@ -344,7 +344,11 @@ typedef unsigned int GUIntptr_t; - - #ifndef CPL_DLL - #if defined(_MSC_VER) && !defined(CPL_DISABLE_DLL) --# define CPL_DLL __declspec(dllexport) -+# ifdef GDAL_COMPILATION -+# define CPL_DLL __declspec(dllexport) -+# else -+# define CPL_DLL -+# endif - # define CPL_INTERNAL - #else - # if defined(USE_GCC_VISIBILITY_FLAG) diff --git a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-jsonc.patch b/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-jsonc.patch deleted file mode 100644 index c52f9dff53382..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-jsonc.patch +++ /dev/null @@ -1,104 +0,0 @@ ---- a/gcore/gdal_rat.cpp -+++ b/gcore/gdal_rat.cpp -@@ -50,7 +50,7 @@ - #pragma clang diagnostic ignored "-Wunknown-pragmas" - #pragma clang diagnostic ignored "-Wdocumentation" - #endif --#include "json.h" -+#include - #ifdef __clang__ - #pragma clang diagnostic pop - #endif ---- a/ogr/ogrsf_frmts/geojson/ogresrijsonreader.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogresrijsonreader.cpp -@@ -37,7 +37,7 @@ - - #include "cpl_conv.h" - #include "cpl_error.h" --#include "json.h" -+#include - // #include "json_object.h" - // #include "json_tokener.h" - #include "ogr_api.h" ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsondatasource.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsondatasource.cpp -@@ -41,7 +41,7 @@ - #include "cpl_string.h" - #include "cpl_vsi.h" - #include "cpl_vsi_error.h" --#include "json.h" -+#include - // #include "json_object.h" - #include "gdal_utils.h" - #include "gdal.h" ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonlayer.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonlayer.cpp -@@ -37,7 +37,7 @@ - # endif - #endif // !DEBUG_VERBOSE - --#include -+#include - - #if !DEBUG_JSON - # ifdef __clang ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonreader.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonreader.cpp -@@ -32,7 +32,7 @@ - #include "ogrgeojsonreader.h" - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" --#include // JSON-C -+#include // JSON-C - - #if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include // just for sizeof(struct json_object) ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonutils.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonutils.cpp -@@ -31,7 +31,7 @@ - #include - #include - #include --#include // JSON-C -+#include // JSON-C - - #include - #include ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -@@ -33,13 +33,13 @@ - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" - #include "ogrgeojsonreader.h" --#include // JSON-C -+#include // JSON-C - - #if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include - #endif - --#include -+#include - #include - #include - ---- a/ogr/ogrsf_frmts/geojson/ogrtopojsonreader.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrtopojsonreader.cpp -@@ -30,5 +30,5 @@ - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" --#include // JSON-C -+#include // JSON-C - #include - ---- a/port/cpl_json_header.h -+++ b/port/cpl_json_header.h -@@ -33,7 +33,7 @@ - #pragma GCC system_header - #endif - --#include -+#include - - #undef json_object_object_foreachC - #define json_object_object_foreachC(obj,iter) \ diff --git a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-podofo.patch b/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-podofo.patch deleted file mode 100644 index aa86489f0296b..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-podofo.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/frmts/pdf/pdfsdk_headers.h -+++ b/frmts/pdf/pdfsdk_headers.h -@@ -103,7 +103,7 @@ typedef unsigned char Guchar; - #undef GetObject - #endif - --#include "podofo.h" -+#include - #endif // HAVE_PODOFO - - #ifdef HAVE_PDFIUM diff --git a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-xerces-3.1.2.patch b/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-xerces-3.1.2.patch deleted file mode 100644 index 8b08760381794..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-include-xerces-3.1.2.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- a/ogr/ogr_xerces_headers.h -+++ b/ogr/ogr_xerces_headers.h -@@ -33,9 +33,9 @@ - #pragma GCC system_header - #endif - --#include --#include --#include -+#include -+#include -+#include - - #ifdef XERCES_CPP_NAMESPACE_USE - XERCES_CPP_NAMESPACE_USE ---- a/ogr/ogrsf_frmts/gml/xercesc_headers.h -+++ b/ogr/ogrsf_frmts/gml/xercesc_headers.h -@@ -33,13 +33,13 @@ - #pragma GCC system_header - #endif - --#include --#include --#include --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #ifdef XERCES_CPP_NAMESPACE_USE - XERCES_CPP_NAMESPACE_USE ---- a/ogr/ogrsf_frmts/ili/xercesc_headers.h -+++ b/ogr/ogrsf_frmts/ili/xercesc_headers.h -@@ -33,14 +33,14 @@ - #pragma GCC system_header - #endif - --#include --#include --#include --#include --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #ifdef XERCES_CPP_NAMESPACE_USE - XERCES_CPP_NAMESPACE_USE diff --git a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-nmake-common.patch b/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-nmake-common.patch deleted file mode 100644 index c0201f8dc9cd8..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.1.x/fix-nmake-common.patch +++ /dev/null @@ -1,165 +0,0 @@ ---- a/alg/makefile.vc -+++ b/alg/makefile.vc -@@ -14,7 +14,7 @@ EXTRAFLAGS = -I../frmts/vrt -I../ogr/ogrsf_frmts $(GEOS_CFLAGS) $(PROJ_FLAGS) $( - EXTRAFLAGS = $(EXTRAFLAGS) -DINTERNAL_QHULL - !ELSE - !IF "$(QHULL_SETTING)" == "EXTERNAL" --EXTRAFLAGS = $(EXTRAFLAGS) -DEXTERNAL_QHULL $(QHULL_INC) -+EXTRAFLAGS = $(EXTRAFLAGS) -DEXTERNAL_QHULL -DQHULL_INCLUDE_SUBDIR_IS_LIBQHULL=1 $(QHULL_INC) - !ENDIF - !ENDIF - !ENDIF ---- a/apps/makefile.vc -+++ b/apps/makefile.vc -@@ -8,6 +8,9 @@ EXTRAFLAGS = -I..\frmts\vrt -I..\ogr\ogrsf_frmts\geojson\libjson -I..\ogr\ogrsf_ - !INCLUDE ..\nmake.opt - - LIBS = $(GDALLIB) -+!IF "$(DLLBUILD)" != "1" -+LIBS = $(LIBS) $(EXTERNAL_LIBS) -+!ENDIF - - !IFDEF INCLUDE_OGR_FRMTS - OGR_PROGRAMS = gdal_contour.exe gdaltindex.exe gdal_rasterize.exe \ ---- a/frmts/gif/makefile.vc -+++ b/frmts/gif/makefile.vc -@@ -10,14 +10,8 @@ EXTRAFLAGS = -Igiflib - - default: $(OBJ) - xcopy /D /Y *.obj ..\o -- cd giflib -- $(MAKE) /f makefile.vc -- cd .. - - clean: - -del *.obj -- cd giflib -- $(MAKE) /f makefile.vc clean -- cd .. - - ---- a/frmts/jpeg/makefile.vc -+++ b/frmts/jpeg/makefile.vc -@@ -29,12 +29,16 @@ default: $(EXTRA_DEP) $(OBJ) - - clean: - -del *.obj -+!IFNDEF JPEG_EXTERNAL_LIB - cd libjpeg - $(MAKE) /f makefile.vc clean - cd .. -+!ENDIF -+!IFDEF JPEG12_SUPPORTED - cd libjpeg12 - $(MAKE) /f makefile.vc clean - cd .. -+!ENDIF - - libjpeg12src: - cd libjpeg12 ---- a/frmts/kea/makefile.vc -+++ b/frmts/kea/makefile.vc -@@ -1,7 +1,7 @@ - - OBJ = keaband.obj keacopy.obj keadataset.obj keadriver.obj keamaskband.obj keaoverview.obj kearat.obj - --EXTRAFLAGS = $(KEA_CFLAGS) -DH5_BUILT_AS_DYNAMIC_LIB -+EXTRAFLAGS = $(KEA_CFLAGS) - - GDAL_ROOT = ..\.. - ---- a/frmts/makefile.vc -+++ b/frmts/makefile.vc -@@ -3,11 +3,11 @@ GDAL_ROOT = .. - - EXTRAFLAGS = -DFRMT_ceos -DFRMT_aigrid -DFRMT_elas -DFRMT_hfa -DFRMT_gtiff\ - -DFRMT_sdts -DFRMT_raw -DFRMT_gxf -DFRMT_ceos2 -DFRMT_png \ -- -DFRMT_dted -DFRMT_mem -DFRMT_jdem -DFRMT_gif \ -+ -DFRMT_dted -DFRMT_mem -DFRMT_jdem \ - -DFRMT_envisat -DFRMT_aaigrid -DFRMT_usgsdem -DFRMT_l1b \ - -DFRMT_fit -DFRMT_vrt -DFRMT_xpm -DFRMT_bmp -DFRMT_rmf \ -- -DFRMT_nitf -DFRMT_pcidsk -DFRMT_airsar -DFRMT_rs2 \ -- -DFRMT_ilwis -DFRMT_msgn -DFRMT_rik -DFRMT_pcraster \ -+ -DFRMT_nitf -DFRMT_airsar -DFRMT_rs2 \ -+ -DFRMT_ilwis -DFRMT_msgn -DFRMT_rik \ - -DFRMT_leveller -DFRMT_sgi -DFRMT_srtmhgt -DFRMT_idrisi \ - -DFRMT_jaxapalsar -DFRMT_ers -DFRMT_ingr -DFRMT_dimap \ - -DFRMT_gff -DFRMT_terragen -DFRMT_gsg -DFRMT_cosar -DFRMT_pds \ -@@ -32,6 +32,22 @@ PLUGINDIRLIST = $(PLUGINFLAGS:-DFRMT_=) - EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_postgisraster - !ENDIF - -+!IFDEF GIF_SETTING -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_gif -+!ENDIF -+ -+!IFDEF PCIDSK_SETTING -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_pcidsk -+!ENDIF -+ -+!IFDEF PCRASTER_SETTING -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_pcraster -+!ENDIF -+ -+!IFDEF EXR_INC -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_exr -+!ENDIF -+ - !IFDEF JPEG_SUPPORTED - EXTRAFLAGS = -DFRMT_jpeg $(EXTRAFLAGS) - !ENDIF ---- a/frmts/pcidsk/makefile.vc -+++ b/frmts/pcidsk/makefile.vc -@@ -14,7 +14,11 @@ OBJ = pcidskdataset2.obj ogrpcidsklayer.obj vsi_pcidsk_io.obj gdal_edb.obj - !ENDIF - - !IF "$(PCIDSK_SETTING)" == "INTERNAL" -+!IFDEF JPEG_SUPPORTED - PCIDSKFLAGS = -Isdk -DPCIDSK_INTERNAL -DHAVE_LIBJPEG -+!ELSE -+PCIDSKFLAGS = -Isdk -DPCIDSK_INTERNAL -+!ENDIF - - OBJ = pcidskdataset2.obj ogrpcidsklayer.obj vsi_pcidsk_io.obj gdal_edb.obj \ - sdk\channel\cbandinterleavedchannel.obj \ -@@ -57,11 +61,13 @@ OBJ = pcidskdataset2.obj ogrpcidsklayer.obj vsi_pcidsk_io.obj gdal_edb.obj \ - - !ENDIF - -+!IFDEF JPEG_SUPPORTED - !IFDEF JPEG_EXTERNAL_LIB - JPEGFLAGS = -I$(JPEGDIR) - !ELSE - JPEGFLAGS = -I..\jpeg\libjpeg - !ENDIF -+!ENDIF - - .cpp.obj: - $(CC) $(CFLAGS) $(PCIDSKFLAGS) $(JPEGFLAGS) /c $*.cpp /Fo$*.obj ---- a/makefile.vc -+++ b/makefile.vc -@@ -84,7 +84,7 @@ staticlib: $(LIB_DEPENDS) - call <= 4.0) -- AC_CHECK_LIB(tiff,TIFFScanlineSize64,HAVE_BIGTIFF=yes,HAVE_BIGTIFF=no,) -+ AC_CHECK_LIB(tiff,TIFFScanlineSize64,HAVE_BIGTIFF=yes,HAVE_BIGTIFF=no,$LIBS) - - fi - -@@ -1333,23 +1337,11 @@ AC_ARG_WITH(curl, - dnl Clear some cache variables - unset ac_cv_path_LIBCURL - --if test "`basename xx/$with_curl`" = "curl-config" ; then -- LIBCURL_CONFIG="$with_curl" --elif test "$with_curl" = "no" ; then -- LIBCURL_CONFIG=no -+PKG_PROG_PKG_CONFIG([0.21]) -+if test "$with_curl" = "yes" ; then -+ PKG_CHECK_MODULES([CURL], [libcurl], [CURL_SETTING=yes], [AC_MSG_ERROR([libcurl not found...])]) - else -- AC_PATH_PROG(LIBCURL_CONFIG, curl-config, no) --fi -- --if test "$LIBCURL_CONFIG" != "no" ; then -- -- CURL_VERNUM=`$LIBCURL_CONFIG --vernum` -- CURL_VER=`$LIBCURL_CONFIG --version | awk '{print $2}'` -- -- AC_MSG_RESULT([ found libcurl version $CURL_VER]) -- -- AC_CHECK_LIB(curl,curl_global_init,CURL_SETTING=yes,CURL_SETTING=no,`$LIBCURL_CONFIG --libs`) -- -+ CURL_SETTING=no - fi - - AC_SUBST(CURL_SETTING,$CURL_SETTING) -@@ -1361,8 +1353,11 @@ dnl Check for SQLite - dnl Proj depends on it so it must appear before. - dnl --------------------------------------------------------------------------- - --SQLITE3_REQ_VERSION="3.0.0" --AX_LIB_SQLITE3($SQLITE3_REQ_VERSION) -+HAVE_SQLITE3=no -+AC_ARG_WITH(sqlite3, AS_HELP_STRING([--with-sqlite3[=ARG]], [use SQLite 3 library (ARG=yes or no)]),,) -+if test x"$with_sqlite3" = x"yes" ; then -+ PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.0.0], [HAVE_SQLITE3=yes], [AC_MSG_ERROR([sqlite3 not found...])]) -+fi - - if test "$HAVE_SQLITE3" = "yes"; then - LIBS="$SQLITE3_LDFLAGS $LIBS" -@@ -1393,11 +1388,7 @@ if test "x$with_proj" = "xno" ; then - else - - if test "x$with_proj" = "xyes" -o "x$with_proj" = "x"; then -- ORIG_LIBS="$LIBS" -- LIBS="-lproj $with_proj_extra_lib_for_test $ORIG_LIBS" -- AC_LANG_PUSH([C++]) -- AC_CHECK_LIB(proj,proj_create_from_wkt,PROJ_FOUND=yes,PROJ_FOUND=no,) -- AC_LANG_POP([C++]) -+ PROJ_FOUND=yes - if test "$PROJ_FOUND" = "no"; then - AC_LANG_PUSH([C++]) - AC_CHECK_LIB(proj,internal_proj_create_from_wkt,PROJ_FOUND=yes,PROJ_FOUND=no,) -@@ -1820,8 +1811,8 @@ fi - - if test "$CURL_SETTING" = "yes" ; then - -- CURL_INC=`$LIBCURL_CONFIG --cflags` -- CURL_LIB=`$LIBCURL_CONFIG --libs` -+ CURL_INC="$CURL_CFLAGS" -+ CURL_LIB="$CURL_LIBS" - m4_foreach_w([frmt],CURL_FORMATS,[ - driver_enabled=m4_join([_],[$INTERNAL_FORMAT],frmt,[ENABLED]) - if test "x$driver_enabled" = "xyes"; then -@@ -2153,7 +2144,6 @@ else - - DDS_SETTING=yes - CRUNCHDIR="$with_dds" -- LIBS="-L$with_dds/lib/ -lcrunch $LIBS" - echo "using libcrunch from $with_dds." - - fi -@@ -2304,7 +2294,6 @@ else - - dnl We now require libgeotiff 1.5.0 - dnl first check if $with_geotiff/lib has the library: -- AC_CHECK_LIB(geotiff,GTIFAttachPROJContext,GEOTIFF_SETTING=external,GEOTIFF_SETTING=not_found,-L$with_geotiff/lib) - - if test $GEOTIFF_SETTING = "external" ; then - LIBS="-L$with_geotiff/lib -lgeotiff $LIBS" -@@ -2872,6 +2861,10 @@ if test x"$with_hdf4" = x"no" ; then - - echo "hdf4 support disabled." - -+elif test x"$with_hdf4" = x"yes" ; then -+ PKG_CHECK_MODULES([HDF4], [hdf], [HAVE_HDF4=yes], [AC_MSG_ERROR([hdf4 not found...])]) -+ PKG_CHECK_MODULES([HDF4], [hdf >= 4.2.5], [HDF4_HAS_MAXOPENFILES=yes], [HDF4_HAS_MAXOPENFILES=no]) -+ HDF4_INCLUDE="$HDF4_CFLAGS" - else - - if test x"$with_hdf4" = x"yes" -o x"$with_hdf4" = x"" ; then -@@ -3002,7 +2995,6 @@ elif test "$with_hdf5" = "yes" -o "$with_hdf5" = "" ; then - # Test that the package found is for the right architecture - saved_LIBS="$LIBS" - LIBS="$HDF5_LIBS" -- AC_CHECK_LIB(hdf5,H5Fopen, [HAVE_HDF5=yes], [HAVE_HDF5=no]) - LIBS="$saved_LIBS" - - if test "$HAVE_HDF5" = "yes"; then -@@ -3071,21 +3063,21 @@ KEA_CONFIG=no - - AC_ARG_WITH(kea,[ --with-kea[=ARG] Include kealib (ARG=path to kea-config) [[default=yes]]],,) - -+AC_MSG_CHECKING([for kea]) - if test "$with_kea" = "yes" -o "x$with_kea" = "x" ; then -- AC_PATH_PROG(KEA_CONFIG, kea-config, no) -+ HAVE_KEA=yes -+ AC_MSG_RESULT([yes]) - else -- KEA_CONFIG=$with_kea -+ HAVE_KEA=no -+ AC_MSG_RESULT([no]) - fi - --AC_MSG_CHECKING([for kea]) - - if test "$KEA_CONFIG" = "no" ; then - -- HAVE_KEA=no - KEA_LIB= - KEA_INC= - -- AC_MSG_RESULT([no]) - - else - if test -d $KEA_CONFIG ; then -@@ -3937,18 +3929,15 @@ MYSQL_CONFIG=no - AC_ARG_WITH(mysql,[ --with-mysql[=ARG] Include MySQL (ARG=path to mysql_config) [[default=no]]],,) - - if test "$with_mysql" = "yes" ; then -- AC_PATH_PROG(MYSQL_CONFIG, mysql_config, no) -+ HAVE_MYSQL=yes - else -- if test "x$with_mysql" != "x" ; then -- MYSQL_CONFIG=$with_mysql -- fi -+ HAVE_MYSQL=no - fi - - AC_MSG_CHECKING([for MySQL]) - - if test "$MYSQL_CONFIG" = "no" ; then - -- HAVE_MYSQL=no - MYSQL_LIB= - MYSQL_INC= - -@@ -4042,8 +4031,11 @@ dnl Check for Expat configuration. - dnl --------------------------------------------------------------------------- - - dnl Expat 1.95.0 released in 2000-09-28 --EXPAT_REQ_VERSION="1.95.0" --AX_LIB_EXPAT($EXPAT_REQ_VERSION) -+# AX_LIB_EXPAT is too fragile, it doesn't properly handle debug expat on Windows -+HAVE_EXPAT=no -+AC_ARG_WITH([expat], AS_HELP_STRING([--with-expat[=ARG]], [use Expat library (ARG=yes or no)]),,) -+if test x"$with_expat" = x"yes" ; then -+PKG_CHECK_MODULES([EXPAT], [expat >= 1.95.0], [HAVE_EXPAT=yes], [AC_MSG_ERROR([expat not found...])]) - - if test "$HAVE_EXPAT" = "yes"; then - LIBS="$EXPAT_LDFLAGS $LIBS" -@@ -4056,6 +4048,7 @@ m4_foreach_w([frmt],EXPAT_DRIVERS,[ - fi - ]) - -+fi - fi - - AC_SUBST([HAVE_EXPAT], $HAVE_EXPAT) -@@ -4287,7 +4280,6 @@ if test "x$with_xml2" = "xyes" -o "x$with_xml2" = "x" ; then - if test "${HAVE_LIBXML2}" = "yes"; then - SAVED_LIBS="${LIBS}" - LIBS="${LIBXML2_LIBS}" -- AC_CHECK_LIB(xml2,xmlParseDoc,HAVE_LIBXML2=yes,HAVE_LIBXML2=no) - LIBS="${SAVED_LIBS}" - fi - -@@ -4567,8 +4559,13 @@ dnl --------------------------------------------------------------------------- - dnl Check if geos library is available. - dnl --------------------------------------------------------------------------- - --GEOS_INIT(3.1.0) -+AC_ARG_WITH(geos, AS_HELP_STRING([--with-geos[=ARG]], [Include GEOS support (ARG=yes or no)]),,) - HAVE_GEOS_RESULT="no" -+HAVE_GEOS=no -+if test x"$with_geos" = x"no" ; then -+ AC_MSG_RESULT([GEOS support disabled]) -+else -+ PKG_CHECK_MODULES([GEOS], [geos >= 3.1.0], [HAVE_GEOS=yes], [AC_MSG_ERROR([geos not found...])]) - if test "${HAVE_GEOS}" = "yes" ; then - - AC_MSG_NOTICE([Using C API from GEOS $GEOS_VERSION]) -@@ -4577,6 +4574,8 @@ if test "${HAVE_GEOS}" = "yes" ; then - LIBS="${GEOS_LIBS} ${LIBS}" - HAVE_GEOS_RESULT="yes" - fi -+fi -+AC_SUBST(HAVE_GEOS, $HAVE_GEOS) - - dnl --------------------------------------------------------------------------- - dnl Check if SFCGAL library is available. -@@ -4611,20 +4610,18 @@ elif test "$with_qhull" = "yes" -o "$with_qhull" = "" ; then - # qhull/qhull.h - AC_CHECK_HEADERS([qhull/libqhull.h]) - if test "$ac_cv_header_qhull_libqhull_h" = "yes"; then -- AC_CHECK_LIB(qhull,qh_new_qhull,QHULL_SETTING=yes,QHULL_SETTING=no,) -+ QHULL_SETTING=yes - if test "$QHULL_SETTING" = "yes"; then - QHULL_SETTING=external - QHULL_INCLUDE_SUBDIR_IS_LIBQHULL=0 -- LIBS="-lqhull $LIBS" - fi - fi - AC_CHECK_HEADERS([libqhull/libqhull.h]) - if test "$ac_cv_header_libqhull_libqhull_h" = "yes"; then -- AC_CHECK_LIB(qhull,qh_new_qhull,QHULL_SETTING=yes,QHULL_SETTING=no,) -+ QHULL_SETTING=yes - if test "$QHULL_SETTING" = "yes"; then - QHULL_SETTING=external - QHULL_INCLUDE_SUBDIR_IS_LIBQHULL=1 -- LIBS="-lqhull $LIBS" - fi - fi - -@@ -4711,7 +4708,9 @@ AC_MSG_CHECKING([for FreeXL support]) - HAVE_FREEXL=no - FREEXL_INCLUDE= - --if test "$with_freexl" = "" -o "$with_freexl" = "yes" ; then -+if test "$with_freexl" = "yes"; then -+ PKG_CHECK_MODULES([FREEXL], [freexl >= 1.0.0], [HAVE_FREEXL=yes], [AC_MSG_ERROR([freexl not found...])]) -+elif test "$with_freexl" = ""; then - AC_CHECK_HEADERS(freexl.h) - AC_CHECK_LIB(freexl,freexl_open,FREEXL_LIBS="-lfreexl",FREEXL_LIBS=missing) - -@@ -4817,8 +4816,7 @@ if test "$with_libjson_c" = "external" -o "$with_libjson_c" = "" -o "$with_libjs - elif test "$with_libjson_c" = "internal" ; then - LIBJSONC_SETTING=internal - elif test "$with_libjson_c" != "no"; then -- LIBS="-L$with_libjson_c/lib $LIBS" -- AC_CHECK_LIB(json-c,json_object_set_serializer,LIBJSONC_SETTING=external,LIBJSONC_SETTING=internal,-L$with_libjson_c/lib) -+ LIBJSONC_SETTING=external - else - AC_MSG_ERROR([libjson-c (internal or external) is required]) - fi -@@ -5928,7 +5926,6 @@ else - # Test that the package found is for the right architecture - saved_LIBS="$LIBS" - LIBS="$EXR_LIBS" -- AC_CHECK_LIB(IlmImf,ImfTiledInputReadTile, [HAVE_EXR=yes], [HAVE_EXR=no]) - LIBS="$saved_LIBS" - - if test "$HAVE_EXR" = "yes"; then diff --git a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-jsonc.patch b/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-jsonc.patch deleted file mode 100644 index e88043df4189f..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-jsonc.patch +++ /dev/null @@ -1,104 +0,0 @@ ---- a/gcore/gdal_rat.cpp -+++ b/gcore/gdal_rat.cpp -@@ -50,7 +50,7 @@ - #pragma clang diagnostic ignored "-Wunknown-pragmas" - #pragma clang diagnostic ignored "-Wdocumentation" - #endif --#include "json.h" -+#include - #ifdef __clang__ - #pragma clang diagnostic pop - #endif ---- a/ogr/ogrsf_frmts/geojson/ogresrijsonreader.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogresrijsonreader.cpp -@@ -37,7 +37,7 @@ - - #include "cpl_conv.h" - #include "cpl_error.h" --#include "json.h" -+#include - // #include "json_object.h" - // #include "json_tokener.h" - #include "ogr_api.h" ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsondatasource.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsondatasource.cpp -@@ -41,7 +41,7 @@ - #include "cpl_string.h" - #include "cpl_vsi.h" - #include "cpl_vsi_error.h" --#include "json.h" -+#include - // #include "json_object.h" - #include "gdal_utils.h" - #include "gdal.h" ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonlayer.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonlayer.cpp -@@ -37,7 +37,7 @@ - # endif - #endif // !DEBUG_VERBOSE - --#include -+#include - - #if !DEBUG_JSON - # ifdef __clang ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonreader.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonreader.cpp -@@ -32,7 +32,7 @@ - #include "ogrgeojsonreader.h" - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" --#include // JSON-C -+#include - - #if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include // just for sizeof(struct json_object) ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonutils.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonutils.cpp -@@ -32,7 +32,7 @@ - #include - #include - #include --#include // JSON-C -+#include - - #include - #include ---- a/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -@@ -33,13 +33,13 @@ - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" - #include "ogrgeojsonreader.h" --#include // JSON-C -+#include - - #if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include - #endif - --#include -+#include - #include - #include - ---- a/ogr/ogrsf_frmts/geojson/ogrtopojsonreader.cpp -+++ b/ogr/ogrsf_frmts/geojson/ogrtopojsonreader.cpp -@@ -30,5 +30,5 @@ - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" --#include // JSON-C -+#include - #include - ---- a/port/cpl_json_header.h -+++ b/port/cpl_json_header.h -@@ -33,7 +33,7 @@ - #pragma GCC system_header - #endif - --#include -+#include - - #undef json_object_object_foreachC - #define json_object_object_foreachC(obj,iter) \ diff --git a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-podofo.patch b/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-podofo.patch deleted file mode 100644 index aa86489f0296b..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-podofo.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/frmts/pdf/pdfsdk_headers.h -+++ b/frmts/pdf/pdfsdk_headers.h -@@ -103,7 +103,7 @@ typedef unsigned char Guchar; - #undef GetObject - #endif - --#include "podofo.h" -+#include - #endif // HAVE_PODOFO - - #ifdef HAVE_PDFIUM diff --git a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-xerces.patch b/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-xerces.patch deleted file mode 100644 index 8b08760381794..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-include-xerces.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- a/ogr/ogr_xerces_headers.h -+++ b/ogr/ogr_xerces_headers.h -@@ -33,9 +33,9 @@ - #pragma GCC system_header - #endif - --#include --#include --#include -+#include -+#include -+#include - - #ifdef XERCES_CPP_NAMESPACE_USE - XERCES_CPP_NAMESPACE_USE ---- a/ogr/ogrsf_frmts/gml/xercesc_headers.h -+++ b/ogr/ogrsf_frmts/gml/xercesc_headers.h -@@ -33,13 +33,13 @@ - #pragma GCC system_header - #endif - --#include --#include --#include --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #ifdef XERCES_CPP_NAMESPACE_USE - XERCES_CPP_NAMESPACE_USE ---- a/ogr/ogrsf_frmts/ili/xercesc_headers.h -+++ b/ogr/ogrsf_frmts/ili/xercesc_headers.h -@@ -33,14 +33,14 @@ - #pragma GCC system_header - #endif - --#include --#include --#include --#include --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #ifdef XERCES_CPP_NAMESPACE_USE - XERCES_CPP_NAMESPACE_USE diff --git a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-nmake.patch b/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-nmake.patch deleted file mode 100644 index e23b85d35a16a..0000000000000 --- a/recipes/gdal/pre_3.5.0/patches/3.2.x/fix-nmake.patch +++ /dev/null @@ -1,179 +0,0 @@ ---- a/alg/makefile.vc -+++ b/alg/makefile.vc -@@ -14,7 +14,7 @@ EXTRAFLAGS = -I../frmts/vrt -I../ogr/ogrsf_frmts $(GEOS_CFLAGS) $(PROJ_FLAGS) $( - EXTRAFLAGS = $(EXTRAFLAGS) -DINTERNAL_QHULL - !ELSE - !IF "$(QHULL_SETTING)" == "EXTERNAL" --EXTRAFLAGS = $(EXTRAFLAGS) -DEXTERNAL_QHULL $(QHULL_INC) -+EXTRAFLAGS = $(EXTRAFLAGS) -DEXTERNAL_QHULL -DQHULL_INCLUDE_SUBDIR_IS_LIBQHULL=1 $(QHULL_INC) - !ENDIF - !ENDIF - !ENDIF ---- a/apps/makefile.vc -+++ b/apps/makefile.vc -@@ -8,6 +8,9 @@ EXTRAFLAGS = -I..\frmts\vrt -I..\ogr\ogrsf_frmts\geojson\libjson -I..\ogr\ogrsf_ - !INCLUDE ..\nmake.opt - - LIBS = $(GDALLIB) -+!IF "$(DLLBUILD)" != "1" -+LIBS = $(LIBS) $(EXTERNAL_LIBS) -+!ENDIF - - !IFDEF INCLUDE_OGR_FRMTS - OGR_PROGRAMS = gdal_contour.exe gdaltindex.exe gdal_rasterize.exe \ ---- a/frmts/gif/makefile.vc -+++ b/frmts/gif/makefile.vc -@@ -10,14 +10,8 @@ EXTRAFLAGS = -Igiflib - - default: $(OBJ) - xcopy /D /Y *.obj ..\o -- cd giflib -- $(MAKE) /f makefile.vc -- cd .. - - clean: - -del *.obj -- cd giflib -- $(MAKE) /f makefile.vc clean -- cd .. - - ---- a/frmts/jpeg/makefile.vc -+++ b/frmts/jpeg/makefile.vc -@@ -29,12 +29,16 @@ default: $(EXTRA_DEP) $(OBJ) - - clean: - -del *.obj -+!IFNDEF JPEG_EXTERNAL_LIB - cd libjpeg - $(MAKE) /f makefile.vc clean - cd .. -+!ENDIF -+!IFDEF JPEG12_SUPPORTED - cd libjpeg12 - $(MAKE) /f makefile.vc clean - cd .. -+!ENDIF - - libjpeg12src: - cd libjpeg12 ---- a/frmts/kea/makefile.vc -+++ b/frmts/kea/makefile.vc -@@ -1,7 +1,7 @@ - - OBJ = keaband.obj keacopy.obj keadataset.obj keadriver.obj keamaskband.obj keaoverview.obj kearat.obj - --EXTRAFLAGS = $(KEA_CFLAGS) -DH5_BUILT_AS_DYNAMIC_LIB -+EXTRAFLAGS = $(KEA_CFLAGS) - - GDAL_ROOT = ..\.. - ---- a/frmts/makefile.vc -+++ b/frmts/makefile.vc -@@ -3,11 +3,11 @@ GDAL_ROOT = .. - - EXTRAFLAGS = -DFRMT_ceos -DFRMT_aigrid -DFRMT_elas -DFRMT_hfa -DFRMT_gtiff\ - -DFRMT_sdts -DFRMT_raw -DFRMT_gxf -DFRMT_ceos2 -DFRMT_png \ -- -DFRMT_dted -DFRMT_mem -DFRMT_jdem -DFRMT_gif -DFRMT_esric \ -+ -DFRMT_dted -DFRMT_mem -DFRMT_jdem -DFRMT_esric \ - -DFRMT_envisat -DFRMT_aaigrid -DFRMT_usgsdem -DFRMT_l1b \ - -DFRMT_fit -DFRMT_vrt -DFRMT_xpm -DFRMT_bmp -DFRMT_rmf \ -- -DFRMT_nitf -DFRMT_pcidsk -DFRMT_airsar -DFRMT_rs2 \ -- -DFRMT_ilwis -DFRMT_msgn -DFRMT_rik -DFRMT_pcraster \ -+ -DFRMT_nitf -DFRMT_airsar -DFRMT_rs2 \ -+ -DFRMT_ilwis -DFRMT_msgn -DFRMT_rik \ - -DFRMT_leveller -DFRMT_sgi -DFRMT_srtmhgt -DFRMT_idrisi \ - -DFRMT_jaxapalsar -DFRMT_ers -DFRMT_ingr -DFRMT_dimap \ - -DFRMT_gff -DFRMT_terragen -DFRMT_gsg -DFRMT_cosar -DFRMT_pds \ -@@ -32,6 +32,22 @@ PLUGINDIRLIST = $(PLUGINFLAGS:-DFRMT_=) - EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_postgisraster - !ENDIF - -+!IFDEF GIF_SETTING -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_gif -+!ENDIF -+ -+!IFDEF PCIDSK_SETTING -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_pcidsk -+!ENDIF -+ -+!IFDEF PCRASTER_SETTING -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_pcraster -+!ENDIF -+ -+!IFDEF EXR_INC -+EXTRAFLAGS = $(EXTRAFLAGS) -DFRMT_exr -+!ENDIF -+ - !IFDEF JPEG_SUPPORTED - EXTRAFLAGS = -DFRMT_jpeg $(EXTRAFLAGS) - !ENDIF ---- a/frmts/pcidsk/makefile.vc -+++ b/frmts/pcidsk/makefile.vc -@@ -14,7 +14,11 @@ OBJ = pcidskdataset2.obj ogrpcidsklayer.obj vsi_pcidsk_io.obj gdal_edb.obj - !ENDIF - - !IF "$(PCIDSK_SETTING)" == "INTERNAL" -+!IFDEF JPEG_SUPPORTED - PCIDSKFLAGS = -Isdk -DPCIDSK_INTERNAL -DHAVE_LIBJPEG -+!ELSE -+PCIDSKFLAGS = -Isdk -DPCIDSK_INTERNAL -+!ENDIF - - OBJ = pcidskdataset2.obj ogrpcidsklayer.obj vsi_pcidsk_io.obj gdal_edb.obj \ - sdk\channel\cbandinterleavedchannel.obj \ -@@ -57,11 +61,13 @@ OBJ = pcidskdataset2.obj ogrpcidsklayer.obj vsi_pcidsk_io.obj gdal_edb.obj \ - - !ENDIF - -+!IFDEF JPEG_SUPPORTED - !IFDEF JPEG_EXTERNAL_LIB - JPEGFLAGS = -I$(JPEGDIR) - !ELSE - JPEGFLAGS = -I..\jpeg\libjpeg - !ENDIF -+!ENDIF - - .cpp.obj: - $(CC) $(CFLAGS) $(PCIDSKFLAGS) $(JPEGFLAGS) /c $*.cpp /Fo$*.obj ---- a/makefile.vc -+++ b/makefile.vc -@@ -84,7 +84,7 @@ staticlib: $(LIB_DEPENDS) - call < Date: Sat, 19 Aug 2023 20:09:45 +0300 Subject: [PATCH 1296/4087] (#18940) objectbox-generator: migrate to Conan v2 * objectbox-generator: migrate to Conan v2 * objectbox-generator: apply PR suggestions --- recipes/objectbox-generator/all/conanfile.py | 54 +++++++++++-------- .../all/test_package/conanfile.py | 14 +++-- .../all/test_v1_package/conanfile.py | 11 ++++ 3 files changed, 52 insertions(+), 27 deletions(-) create mode 100644 recipes/objectbox-generator/all/test_v1_package/conanfile.py diff --git a/recipes/objectbox-generator/all/conanfile.py b/recipes/objectbox-generator/all/conanfile.py index 5493b25252fde..b6b2defa46e0e 100644 --- a/recipes/objectbox-generator/all/conanfile.py +++ b/recipes/objectbox-generator/all/conanfile.py @@ -1,8 +1,12 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, download, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.47.0" + class PackageConan(ConanFile): name = "objectbox-generator" @@ -10,39 +14,45 @@ class PackageConan(ConanFile): license = "GPL-3.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/objectbox/objectbox-generator" - topics = ("database", "code-generator", "objectbox") + topics = ("database", "code-generator", "objectbox", "pre-built") + + package_type = "application" settings = "os", "arch", "compiler", "build_type" - @property - def _source_subfolder(self): - return "source_subfolder" - - def validate(self): - if self.settings.os not in ["Linux", "Windows", "Macos"] or self.settings.arch != "x86_64": - raise ConanInvalidConfiguration("{} doesn't support current environment".format(self.name)) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.compiler del self.info.settings.build_type - def source(self): - tools.get(**self.conan_data["sources"][self.version][str(self.settings.os)], - destination=self.source_folder) - tools.download(**self.conan_data["sources"][self.version]["License"], filename="LICENSE.txt") + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD", "Windows", "Macos"] or self.settings.arch != "x86_64": + raise ConanInvalidConfiguration(f"{self.name} doesn't support current environment") + + def build(self): + get(self, **self.conan_data["sources"][self.version][str(self.info.settings.os)]) + download(self, **self.conan_data["sources"][self.version]["License"], filename="LICENSE.txt") def package(self): if self.settings.os != "Windows": - bin_path = os.path.join(self.source_folder, "objectbox-generator") + bin_path = os.path.join(self.build_folder, "objectbox-generator") os.chmod(bin_path, os.stat(bin_path).st_mode | 0o111) - self.copy("objectbox-generator*", src=self.source_folder, dst="bin", keep_path=False) - self.copy("LICENSE.txt", dst="licenses", src=self.source_folder) + copy(self, "objectbox-generator*", + src=self.build_folder, + dst=os.path.join(self.package_folder, "bin"), + keep_path=False) + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.build_folder) def package_info(self): - binpath = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var: {}".format(binpath)) - self.env_info.PATH.append(binpath) - self.cpp_info.includedirs = [] self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] self.cpp_info.resdirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 + binpath = os.path.join(self.package_folder, "bin") + self.output.info(f"Appending PATH env var: {binpath}") + self.env_info.PATH.append(binpath) diff --git a/recipes/objectbox-generator/all/test_package/conanfile.py b/recipes/objectbox-generator/all/test_package/conanfile.py index c605339e388af..42f9cfb1d7ca2 100644 --- a/recipes/objectbox-generator/all/test_package/conanfile.py +++ b/recipes/objectbox-generator/all/test_package/conanfile.py @@ -1,11 +1,15 @@ -from conans import ConanFile, CMake, tools -import os +from conan import ConanFile +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(self.deps_cpp_info["objectbox-generator"].rootpath, "bin", "objectbox-generator") - self.run(bin_path + " -help", run_environment=True) + if can_run(self): + self.run("objectbox-generator -help") diff --git a/recipes/objectbox-generator/all/test_v1_package/conanfile.py b/recipes/objectbox-generator/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c605339e388af --- /dev/null +++ b/recipes/objectbox-generator/all/test_v1_package/conanfile.py @@ -0,0 +1,11 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join(self.deps_cpp_info["objectbox-generator"].rootpath, "bin", "objectbox-generator") + self.run(bin_path + " -help", run_environment=True) From e6dd93bc3b4f4388f579319d12aad6fb0faf7837 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Sat, 19 Aug 2023 19:51:26 +0200 Subject: [PATCH 1297/4087] (#19120) Add library SCIP++ * Add library SCIP++ * Add license * Add url and homepage * Output version in test * Set CMake version variable which derived from git in upstream * Update SCIP++ to v1.0.1 * Fix version in config.yml * Also package license file * Update to SCIP++ 1.0.2 --- recipes/scippp/all/conandata.yml | 4 + recipes/scippp/all/conanfile.py | 90 +++++++++++++++++++ .../scippp/all/test_package/CMakeLists.txt | 7 ++ recipes/scippp/all/test_package/conanfile.py | 26 ++++++ .../scippp/all/test_package/test_package.cpp | 13 +++ recipes/scippp/config.yml | 3 + 6 files changed, 143 insertions(+) create mode 100644 recipes/scippp/all/conandata.yml create mode 100644 recipes/scippp/all/conanfile.py create mode 100644 recipes/scippp/all/test_package/CMakeLists.txt create mode 100644 recipes/scippp/all/test_package/conanfile.py create mode 100644 recipes/scippp/all/test_package/test_package.cpp create mode 100644 recipes/scippp/config.yml diff --git a/recipes/scippp/all/conandata.yml b/recipes/scippp/all/conandata.yml new file mode 100644 index 0000000000000..ce0a80569e788 --- /dev/null +++ b/recipes/scippp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/scipopt/SCIPpp/archive/refs/tags/1.0.2.tar.gz" + sha256: "d51dfd0f1ca1b57619f7c82e32d5390d99d5cdaee98ae1ace99ec05a394dcee3" diff --git a/recipes/scippp/all/conanfile.py b/recipes/scippp/all/conanfile.py new file mode 100644 index 0000000000000..72d7e95e14f56 --- /dev/null +++ b/recipes/scippp/all/conanfile.py @@ -0,0 +1,90 @@ +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 +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version +from os.path import join + + +class ScipPlusPlus(ConanFile): + name = "scippp" + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps" + exports_sources = "CMakeLists.txt", "source/*", "include/*" + description = "SCIP++ is a C++ wrapper for SCIP's C interface" + package_type = "library" + topics = ("mip", "solver", "linear", "programming") + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/scipopt/SCIPpp" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "msvc": "192" + } + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def requirements(self): + # see https://github.com/scipopt/SCIPpp/blob/1.0.0/conanfile.py#L25 + self.requires("scip/8.0.3", transitive_headers=True) + + def generate(self): + tc = CMakeToolchain(self) + # In upstream, the version is injected into CMake via git. + tc.variables["scippp_version"] = self.version + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ScipPP"] diff --git a/recipes/scippp/all/test_package/CMakeLists.txt b/recipes/scippp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..877c0c21bd3c0 --- /dev/null +++ b/recipes/scippp/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 17) + +find_package(scippp REQUIRED CONFIG) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE scippp::scippp) diff --git a/recipes/scippp/all/test_package/conanfile.py b/recipes/scippp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8a5bb47f50c4c --- /dev/null +++ b/recipes/scippp/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 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/scippp/all/test_package/test_package.cpp b/recipes/scippp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..5244632b87e16 --- /dev/null +++ b/recipes/scippp/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include +#include +using namespace scippp; +int main() { + std::cout << "This is SCIP++ version " << scippp::getVersion() << std::endl; + Model model("Simple"); + auto x1 = model.addVar("x_1", 1); + auto x2 = model.addVar("x_2", 1); + model.addConstr(3 * x1 + 2 * x2 <= 1, "capacity"); + model.setObjsense(Sense::MAXIMIZE); + model.solve(); +} diff --git a/recipes/scippp/config.yml b/recipes/scippp/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/scippp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all From 1e6d79cc9dbac2fe5512151f5ff3f2cf05f092e7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 19 Aug 2023 20:30:12 +0200 Subject: [PATCH 1298/4087] (#19127) re2: add version 20230801 --- 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 6705ed6ddc2fa..9b52a871bf261 100644 --- a/recipes/re2/all/conandata.yml +++ b/recipes/re2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20230801": + url: "https://github.com/google/re2/releases/download/2023-08-01/re2-2023-08-01.tar.gz" + sha256: "d82d0efe2389949244445e7a6ac9a10fccc3d6a3d267ec4652991a51291647b0" "20230701": url: "https://github.com/google/re2/releases/download/2023-07-01/re2-2023-07-01.tar.gz" sha256: "18cf85922e27fad3ed9c96a27733037da445f35eb1a2744c306a37c6d11e95c4" diff --git a/recipes/re2/config.yml b/recipes/re2/config.yml index 4d4c9dcf9a641..fb1f7527256cf 100644 --- a/recipes/re2/config.yml +++ b/recipes/re2/config.yml @@ -1,4 +1,6 @@ versions: + "20230801": + folder: all "20230701": folder: all "20230602": From 2a0d3dca6edd772e06da6ab867d8188bc35ac68d Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 04:11:01 +0900 Subject: [PATCH 1299/4087] (#19190) cpp-sort: add version 1.15.0, remove older versions --- recipes/cpp-sort/all/conandata.yml | 21 +++------------------ recipes/cpp-sort/all/conanfile.py | 16 ++++++++-------- recipes/cpp-sort/config.yml | 14 ++------------ 3 files changed, 13 insertions(+), 38 deletions(-) diff --git a/recipes/cpp-sort/all/conandata.yml b/recipes/cpp-sort/all/conandata.yml index 092fe59db4a19..48e5289632674 100644 --- a/recipes/cpp-sort/all/conandata.yml +++ b/recipes/cpp-sort/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.15.0": + url: "https://github.com/Morwenn/cpp-sort/archive/1.15.0.tar.gz" + sha256: "886e813a4b87c6361e9b50c0a66c73b3b812f0ce0b7039ff3991eddce77e0dc7" "1.14.0": url: "https://github.com/Morwenn/cpp-sort/archive/1.14.0.tar.gz" sha256: "3b85cd4580f54ae3f171777d0630b4f7c89c33cf96e9ae24a1dbebbf200c3195" @@ -23,21 +26,3 @@ sources: "1.10.0": url: "https://github.com/Morwenn/cpp-sort/archive/1.10.0.tar.gz" sha256: "48951cac0051d48fee286c3bc02804975f9d83269d80c10dfc5589e76a542765" - "1.9.0": - url: "https://github.com/Morwenn/cpp-sort/archive/1.9.0.tar.gz" - sha256: "e83f3daad30bd91fed668bdb56ad379c4aeea39d7dc640484fdcc55149b6d0e4" - "1.8.1": - url: "https://github.com/Morwenn/cpp-sort/archive/1.8.1.tar.gz" - sha256: "04d518dabb422614fcb4a2b4e258c515f31dd01d51c26e9eaaec76e77c4d3d40" - "1.8.0": - sha256: a3de426a66cffbe9f8865feb7518ff4f4d1b3aadf3725161b8e118dcbf6fe9b9 - url: https://github.com/Morwenn/cpp-sort/archive/1.8.0.tar.gz - "1.7.0": - sha256: 4a8230be2c63a92395e140cb7e6593171638a41c46f4cd14d6ffc354ba830e2b - url: https://github.com/Morwenn/cpp-sort/archive/1.7.0.tar.gz - "1.6.0": - sha256: df048d15ff555030eb90d3c96f560a75bbec8baee256f2ced647f359c892c9c8 - url: https://github.com/Morwenn/cpp-sort/archive/1.6.0.tar.gz - "1.5.1": - sha256: 39925958dbd773f15d36d74d4ded48f075c05feef7fe604c7c5c4bfae2a4ec55 - url: https://github.com/Morwenn/cpp-sort/archive/1.5.1.tar.gz diff --git a/recipes/cpp-sort/all/conanfile.py b/recipes/cpp-sort/all/conanfile.py index cfda199bf6a78..e0e093c1fa165 100644 --- a/recipes/cpp-sort/all/conanfile.py +++ b/recipes/cpp-sort/all/conanfile.py @@ -1,5 +1,3 @@ -import os.path - from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd @@ -7,6 +5,7 @@ from conan.tools.files import copy, get, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version +import os required_conan_version = ">=1.50.0" @@ -17,12 +16,13 @@ class CppSortConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Morwenn/cpp-sort" - topics = "cpp-sort", "sorting", "algorithms" + topics = ("sorting", "algorithms", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 14 @property @@ -43,7 +43,7 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) if is_msvc(self) and Version(self.version) < "1.10.0": raise ConanInvalidConfiguration(f"{self.ref} versions older than 1.10.0 do not support MSVC") @@ -60,19 +60,19 @@ def loose_lt_semver(v1, v2): minimum_version = self._compilers_minimum_version[str(compiler)] if minimum_version and loose_lt_semver(version, minimum_version): msg = ( - f"{self.ref} requires C++{self._minimum_cpp_standard} features " + f"{self.ref} requires C++{self._min_cppstd} features " f"which are not supported by compiler {compiler} {version}." ) raise ConanInvalidConfiguration(msg) except KeyError: msg = ( f"{self.ref} recipe lacks information about the {compiler} compiler, " - f"support for the required C++{self._minimum_cpp_standard} features is assumed" + f"support for the required C++{self._min_cppstd} features is assumed" ) self.output.warn(msg) 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/cpp-sort/config.yml b/recipes/cpp-sort/config.yml index c097db627e415..acbaa54fefe9c 100644 --- a/recipes/cpp-sort/config.yml +++ b/recipes/cpp-sort/config.yml @@ -1,4 +1,6 @@ versions: + "1.15.0": + folder: all "1.14.0": folder: all "1.13.2": @@ -15,15 +17,3 @@ versions: folder: all "1.10.0": folder: all - "1.9.0": - folder: all - "1.8.1": - folder: all - "1.8.0": - folder: all - "1.7.0": - folder: all - "1.6.0": - folder: all - "1.5.1": - folder: all From 996236ee01bb0b9b267bb5486fbfdfc4ba555219 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 19 Aug 2023 14:48:30 -0500 Subject: [PATCH 1300/4087] (#19263) libgettext/*: Set license as LGPL instead of GPL * libgettext/*: Set license as LGPL instead of GPL The portions of libgettext that we package are licensed under the LGPL, not the GPL. We only package the libgnuintl portion of the libgettext package, which is under the LGPL. This can easily be confirmed by checking the packaged libintl.h header file. This is also documented explicitly by the project here: https://www.gnu.org/software/gettext/manual/gettext.html#Licenses. * Add comment about the licensing --------- Co-authored-by: Carlos Zoido --- recipes/libgettext/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/libgettext/all/conanfile.py b/recipes/libgettext/all/conanfile.py index 30249cef99da1..a3d65fe027cb3 100644 --- a/recipes/libgettext/all/conanfile.py +++ b/recipes/libgettext/all/conanfile.py @@ -26,7 +26,11 @@ class GetTextConan(ConanFile): topics = ("gettext", "intl", "libintl", "i18n") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.gnu.org/software/gettext" - license = "GPL-3.0-or-later" + # Some parts of the project are GPL-3.0-or-later and some are LGPL-2.1-or-later. + # At this time, only libintl is packaged, which is licensed under the LGPL-2.1-or-later. + # If you modify this package to include other portions of the library, please configure the license accordingly. + # The licensing of the project is documented here: https://www.gnu.org/software/gettext/manual/gettext.html#Licenses + license = "LGPL-2.1-or-later" package_type = "library" settings = "os", "arch", "compiler", "build_type" From 9619c12ffe8340643464e7e53a1395c1d12fe9be Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Sat, 19 Aug 2023 13:29:58 -0700 Subject: [PATCH 1301/4087] (#19287) restinio: bump boost & asio deps --- recipes/restinio/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index 1fec7b581abe4..076732d0bd175 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -45,9 +45,9 @@ def requirements(self): self.requires("variant-lite/2.0.0") if self.options.asio == "standalone": - self.requires("asio/1.28.0") + self.requires("asio/1.28.1") else: - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") From 6ebc920a20c12fc326e204cdbebf033d2d463562 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 05:49:06 +0900 Subject: [PATCH 1302/4087] (#19288) asio-grpc: update boost/1.83.0 --- recipes/asio-grpc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index b49ad78283c25..cccd69684782d 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -58,7 +58,7 @@ def configure(self): def requirements(self): self.requires("grpc/1.50.1") if self._local_allocator_option == "boost_container" or self.options.backend == "boost": - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") if self.options.backend == "asio": self.requires("asio/1.28.1") if self.options.backend == "unifex": From 145004db525be971b4e3664e1ca24a628ff5a671 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 06:33:43 +0900 Subject: [PATCH 1303/4087] (#19289) asyncly: update dependencies --- recipes/asyncly/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/asyncly/all/conanfile.py b/recipes/asyncly/all/conanfile.py index 1f48e267d577a..bed73f009ac53 100644 --- a/recipes/asyncly/all/conanfile.py +++ b/recipes/asyncly/all/conanfile.py @@ -52,8 +52,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0", transitive_headers=True) - self.requires("function2/4.2.2", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) + self.requires("function2/4.2.3", transitive_headers=True) self.requires("prometheus-cpp/1.1.0", transitive_headers=True) def validate(self): From 91f258b8ebfd01c3e93c1081b6fe2a5640159a24 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 20 Aug 2023 00:08:55 +0200 Subject: [PATCH 1304/4087] (#19293) tcl: add version 8.6.13 --- recipes/tcl/all/conandata.yml | 5 +++++ recipes/tcl/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/tcl/all/conandata.yml b/recipes/tcl/all/conandata.yml index ddecf77805a4c..027d30d480cf0 100644 --- a/recipes/tcl/all/conandata.yml +++ b/recipes/tcl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.6.13": + url: "https://downloads.sourceforge.net/project/tcl/Tcl/8.6.13/tcl8.6.13-src.tar.gz" + sha256: "43a1fae7412f61ff11de2cfd05d28cfc3a73762f354a417c62370a54e2caf066" "8.6.11": url: "https://downloads.sourceforge.net/project/tcl/Tcl/8.6.11/tcl8.6.11-src.tar.gz" sha256: "8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258" @@ -6,6 +9,8 @@ sources: url: "https://downloads.sourceforge.net/project/tcl/Tcl/8.6.10/tcl8.6.10-src.tar.gz" sha256: "5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed" patches: + "8.6.13": + - patch_file: "patches/0001-8.6.11-no-read-only-data.patch" "8.6.11": - patch_file: "patches/0001-8.6.11-no-read-only-data.patch" "8.6.10": diff --git a/recipes/tcl/config.yml b/recipes/tcl/config.yml index 9e60b9c906676..108b4ab57b9c6 100644 --- a/recipes/tcl/config.yml +++ b/recipes/tcl/config.yml @@ -1,4 +1,6 @@ versions: + "8.6.13": + folder: "all" "8.6.11": folder: "all" "8.6.10": From 66d1f88625742e8cf16e4a3fcb54a2f9e32b14f4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 07:31:12 +0900 Subject: [PATCH 1305/4087] (#19295) boost-leaf: add version 1.83.0 --- recipes/boost-leaf/all/conandata.yml | 3 +++ recipes/boost-leaf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/boost-leaf/all/conandata.yml b/recipes/boost-leaf/all/conandata.yml index 7ea0efeaa464d..593e982ab983b 100644 --- a/recipes/boost-leaf/all/conandata.yml +++ b/recipes/boost-leaf/all/conandata.yml @@ -5,3 +5,6 @@ sources: "1.82.0": url: "https://github.com/boostorg/leaf/archive/refs/tags/boost-1.82.0.tar.gz" sha256: "0917b22b60a2980bf5e33a393a8545dc6a4a7006c8ca8b78280d1cdb965d75f3" + "1.83.0": + url: "https://github.com/boostorg/leaf/archive/refs/tags/boost-1.83.0.tar.gz" + sha256: "559b16ac2cd287885104f6d2b93cc777f136d98e89e3b9915013561d893f5128" diff --git a/recipes/boost-leaf/config.yml b/recipes/boost-leaf/config.yml index e86af291ae99f..7468e5b299833 100644 --- a/recipes/boost-leaf/config.yml +++ b/recipes/boost-leaf/config.yml @@ -3,3 +3,5 @@ versions: folder: "all" "1.82.0": folder: "all" + "1.83.0": + folder: "all" From 5183d1be3429c0557cc74d02d8232cf0d68f349a Mon Sep 17 00:00:00 2001 From: tt4g <45120617+tt4g@users.noreply.github.com> Date: Sun, 20 Aug 2023 12:09:16 +0900 Subject: [PATCH 1306/4087] (#19299) libpqxx: add version 7.8.1 --- 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 9d9a75993b026..be515b537e23b 100644 --- a/recipes/libpqxx/all/conandata.yml +++ b/recipes/libpqxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.8.1": + url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.8.1.tar.gz" + sha256: "0f4c0762de45a415c9fd7357ce508666fa88b9a4a463f5fb76c235bc80dd6a84" "7.8.0": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.8.0.tar.gz" sha256: "bc471d8d34588f820f38e19e1cc217f399212eef900416cf12f90fab293628af" @@ -45,6 +48,10 @@ sources: url: "https://github.com/jtv/libpqxx/archive/6.4.8.tar.gz" sha256: "3f7aba951822e01f1b9f9f353702954773323dd9f9dc376ffb57cb6bbd9a7a2f" patches: + "7.8.1": + - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.8.0": - 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 9ea1691e88502..e221557dc8d32 100644 --- a/recipes/libpqxx/config.yml +++ b/recipes/libpqxx/config.yml @@ -1,4 +1,6 @@ versions: + "7.8.1": + folder: all "7.8.0": folder: all "7.7.5": From b41c9dc55232f4730c500415f1c77050d676bff5 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 12:48:32 +0900 Subject: [PATCH 1307/4087] (#19300) ftxui: add version 5.0.0 --- recipes/ftxui/all/conandata.yml | 3 +++ recipes/ftxui/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ftxui/all/conandata.yml b/recipes/ftxui/all/conandata.yml index 9093a5522f932..56009c498942c 100644 --- a/recipes/ftxui/all/conandata.yml +++ b/recipes/ftxui/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0.0": + url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v5.0.0.tar.gz" + sha256: "a2991cb222c944aee14397965d9f6b050245da849d8c5da7c72d112de2786b5b" "4.1.1": url: "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v4.1.1.tar.gz" sha256: "9009d093e48b3189487d67fc3e375a57c7b354c0e43fc554ad31bec74a4bc2dd" diff --git a/recipes/ftxui/config.yml b/recipes/ftxui/config.yml index 727707c7ea721..7747269b92a0d 100644 --- a/recipes/ftxui/config.yml +++ b/recipes/ftxui/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.0": + folder: all "4.1.1": folder: all "4.1.0": From 01f4a35ff2a7b5593b9ed5ed237401524223d96b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 15:29:06 +0900 Subject: [PATCH 1308/4087] (#19303) docopt.cpp: update boost/1.83.0 --- recipes/docopt.cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/docopt.cpp/all/conanfile.py b/recipes/docopt.cpp/all/conanfile.py index 0745cc959331b..f91d97fba0892 100644 --- a/recipes/docopt.cpp/all/conanfile.py +++ b/recipes/docopt.cpp/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): if self.options.boost_regex: - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 1f74b2326ba1db92454486dd53b06e11fb5746d2 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 16:10:12 +0900 Subject: [PATCH 1309/4087] (#19302) numcpp: update boost/1.83.0 --- recipes/numcpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/numcpp/all/conanfile.py b/recipes/numcpp/all/conanfile.py index 9f1e7ec1b42e9..a142a263b7704 100644 --- a/recipes/numcpp/all/conanfile.py +++ b/recipes/numcpp/all/conanfile.py @@ -62,7 +62,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_boost", True): - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) def package_id(self): self.info.clear() From a1af7a97b2d97197741c4c541a95a5c534b9d41e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 20 Aug 2023 18:31:28 +0900 Subject: [PATCH 1310/4087] (#19304) wt: update dependencies --- recipes/wt/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 86da6cd03dedb..630f87115fd10 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -96,7 +96,7 @@ def requirements(self): if Version(self.version) < "4.9.0": self.requires("boost/1.80.0", transitive_headers = True) else: - self.requires("boost/1.82.0", transitive_headers = True) + self.requires("boost/1.83.0", transitive_headers = True) if self.options.connector_http: self.requires("zlib/1.2.13") if self.options.with_ssl: @@ -104,13 +104,13 @@ def requirements(self): if self.options.get_safe("with_sqlite"): self.requires("sqlite3/3.42.0") if self.options.get_safe("with_mysql"): - self.requires("libmysqlclient/8.0.31", transitive_headers=True, transitive_libs=True) + self.requires("libmysqlclient/8.0.34", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): - self.requires("libpq/15.3", transitive_headers=True, transitive_libs=True) + self.requires("libpq/15.4", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_mssql") and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("with_unwind"): - self.requires("libunwind/1.7.0") + self.requires("libunwind/1.7.2") def validate(self): miss_boost_required_comp = any(self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) From e62b499f6692b095655aa6c2fc1a0b3be6982eb1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 20 Aug 2023 18:12:01 +0300 Subject: [PATCH 1311/4087] (#19308) proj: bump libcurl to v8.2.1 --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index 9afbca02d3ff6..38d4022e8f856 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): if self.options.get_safe("with_tiff"): self.requires("libtiff/4.5.1") if self.options.get_safe("with_curl"): - self.requires("libcurl/8.2.0") + self.requires("libcurl/8.2.1") def build_requirements(self): if not can_run(self): From affcf551748a57ed3c1791a35a097a015696a1ac Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 08:09:22 +0900 Subject: [PATCH 1312/4087] (#19314) unordered_dense: add version 4.1.0 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index 5002689bc73b0..9666412e076d6 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/martinus/unordered_dense/archive/v4.1.0.tar.gz" + sha256: "0f594cb3b08fc657db3843139000005b6827e5c69d00f5c8d74c1239bd21746f" "4.0.4": url: "https://github.com/martinus/unordered_dense/archive/v4.0.4.tar.gz" sha256: "b34a8c942963e3a647f1bbc192a6391cd56d7ae615b2ddc1601c1779b5792206" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index f99a8339fb570..11719a7c94623 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.0": + folder: all "4.0.4": folder: all "4.0.1": From 1e15e5fa1e44d034959ce7c81b16dcdc1dd3dd2c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 08:30:52 +0900 Subject: [PATCH 1313/4087] (#19315) daw_utf_range: update daw_header_libraries --- recipes/daw_utf_range/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index 98739a79d1622..77684e08bfd01 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.93.1") + self.requires("daw_header_libraries/2.95.0") def package_id(self): self.info.clear() From 518b2b1f539bf305e777dfa654d90e85415bb3f6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 08:53:13 +0900 Subject: [PATCH 1314/4087] (#19317) mp-units: update dependencies --- recipes/mp-units/0.8.0/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/mp-units/0.8.0/conanfile.py b/recipes/mp-units/0.8.0/conanfile.py index b662aae02b390..360e81be61b3d 100644 --- a/recipes/mp-units/0.8.0/conanfile.py +++ b/recipes/mp-units/0.8.0/conanfile.py @@ -59,9 +59,9 @@ def _use_range_v3(self): def requirements(self): self.requires("gsl-lite/0.40.0") if self._use_libfmt: - self.requires("fmt/8.1.1") + self.requires("fmt/10.1.0") if self._use_range_v3: - self.requires("range-v3/0.11.0") + self.requires("range-v3/0.12.0") def validate(self): if self.settings.get_safe("compiler.cppstd"): From 8835eb11fa848825700b3a70fb24b7248130e27d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 10:50:18 +0900 Subject: [PATCH 1315/4087] (#19319) mbits-diags: update fmt/10.1.0 --- recipes/mbits-diags/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-diags/all/conanfile.py b/recipes/mbits-diags/all/conanfile.py index f6c4c3381f0e0..204bf4ed9c3fa 100644 --- a/recipes/mbits-diags/all/conanfile.py +++ b/recipes/mbits-diags/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/9.1.0") + self.requires("fmt/10.1.0") self.requires("mbits-semver/0.1.1") def validate(self): From c935340e1971dc74dfce281f5be279b24b742ac0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 12:48:57 +0900 Subject: [PATCH 1316/4087] (#19321) mbits-lngs: update fmt/10.1.0 --- recipes/mbits-lngs/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-lngs/all/conanfile.py b/recipes/mbits-lngs/all/conanfile.py index 2db7f9f7b6cca..49f97626d1e47 100644 --- a/recipes/mbits-lngs/all/conanfile.py +++ b/recipes/mbits-lngs/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/9.1.0") + self.requires("fmt/10.1.0") self.requires("mbits-utfconv/1.0.3") self.requires("mbits-diags/0.9.6") self.requires("mbits-mstch/1.0.4") From 822a120ae1fb9224acf757be4b68963e29823c7b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 17:29:32 +0900 Subject: [PATCH 1317/4087] (#18895) wasmer: add version 4.1.1 * wasmer: add version 4.1.0 * update 4.1.1 * fix checksum for 4.1.1 --------- Co-authored-by: Carlos Zoido --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/wasmer/config.yml | 2 ++ 2 files changed, 29 insertions(+) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 55462c58cc4d0..9f36767ca9925 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "4.1.1": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.1.1/wasmer-windows-amd64.tar.gz" + sha256: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.1.1/wasmer-windows-gnu64.tar.gz" + sha256: "47fb2d9563995fe180fc2a56255f8eb2ffe19de6ee9d512920a7823bc12e66c5" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.1.1/wasmer-linux-amd64.tar.gz" + sha256: "778e87bb62748f2899bb06fe1d07ca3038705b996c93e0c28db12ccc032c0c4e" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.1.1/wasmer-linux-aarch64.tar.gz" + sha256: "74cc40fcfe4108c0240137a47704d4f6ade8895c70da25358b471fe32ce47a50" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.1.1/wasmer-darwin-amd64.tar.gz" + sha256: "113f58b1560c21607f0011ec6a835bdf109efc2f3be6f200ff8bc8b9591d021e" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.1.1/wasmer-darwin-arm64.tar.gz" + sha256: "5eaf3a3b5a2607dd29f70bf21008140a079662bddf42e75e97da71355a29d961" "4.0.0": Windows: "x86_64": diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index 23eb21bb556ff..bac9dd3778328 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.1": + folder: "all" "4.0.0": folder: "all" "3.2.1": From 2d286525197c33b16cd284a7cd39a422d36caebc Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 21 Aug 2023 11:42:08 +0200 Subject: [PATCH 1318/4087] (#19313) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index fec7da6449a4b..09348eebe130c 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -123,6 +123,7 @@ required_for_references: - capnproto - capstone - cargs +- cassandra-cpp-driver - catch2 - ccache - cccl @@ -152,6 +153,7 @@ required_for_references: - cli11 - clickhouse-cpp - clipper +- clipper2 - clove-unit - cmake - cmocka @@ -176,6 +178,7 @@ required_for_references: - cpp-optparse - cpp-peglib - cpp-sort +- cpp_project_framework - cppbenchmark - cppcheck - cppcmd @@ -231,6 +234,7 @@ required_for_references: - dbus - debug_assert - decimal_for_cpp +- deco - di - dice-template-library - dirent @@ -255,6 +259,7 @@ required_for_references: - eastl - easy_profiler - easyhttpcpp +- easyloggingpp - ecos - editline - edlib @@ -269,6 +274,7 @@ required_for_references: - emio - enet - enhex-generic_serialization +- enhex-strong_type - entityx - entt - enum-flags @@ -464,6 +470,7 @@ required_for_references: - kainjow-mustache - kaitai_struct_cpp_stl_runtime - kangaru +- kdbindings - keychain - khrplatform - kickcat @@ -752,6 +759,7 @@ required_for_references: - netcdf - nettle - nextsilicon-cpp-subprocess +- nfrechette-acl - ninja - nlohmann_json - nlopt @@ -771,6 +779,7 @@ required_for_references: - nvtx - oatpp - objectbox +- objectbox-generator - observer-ptr-lite - octomap - odbc @@ -872,6 +881,7 @@ required_for_references: - pprint - pranav-csv2 - pretty-name +- procxx-boost-ext-simd - proj - prometheus-cpp - proposal @@ -898,6 +908,7 @@ required_for_references: - qt - quantlib - quaternions +- quickfix - quickjs - quill - quirc @@ -936,6 +947,7 @@ required_for_references: - roaring - robin-hood-hashing - rply +- rtklib - rtm - rtmidi - rttr @@ -949,6 +961,7 @@ required_for_references: - sbepp - sbp - scip +- scippp - scnlib - scons - scope-lite @@ -1015,6 +1028,7 @@ required_for_references: - stduuid - stlab - strawberryperl +- streamvbyte - string-view-lite - stringtoolbox - strong_type @@ -1079,6 +1093,7 @@ required_for_references: - unordered_dense - unqlite - upx +- urdfdom - uriparser - usockets - usrsctp @@ -1103,6 +1118,8 @@ required_for_references: - vulkan-loader - vulkan-memory-allocator - vulkan-validationlayers +- vvenc +- wasm-micro-runtime - wasmer - wasmtime - wasmtime-cpp @@ -1146,6 +1163,7 @@ required_for_references: - xxhash - xxsds-sdsl-lite - xz_utils +- yaclib - yajl - yaml-cpp - yas From 4de58a354a00f6c647f7ed1d0a846954873ad413 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 21 Aug 2023 12:08:33 +0200 Subject: [PATCH 1319/4087] (#19124) [cgal] add cgal/5.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/cgal/all/conandata.yml | 3 +++ recipes/cgal/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cgal/all/conandata.yml b/recipes/cgal/all/conandata.yml index 74b2b15e01e38..eda02a9fb3ec4 100644 --- a/recipes/cgal/all/conandata.yml +++ b/recipes/cgal/all/conandata.yml @@ -14,6 +14,9 @@ sources: "5.5.3": sha256: 0a04f662693256328b05babfabb5e3a5b7db2f5a58d52e3c520df9d0828ddd73 url: https://github.com/CGAL/cgal/releases/download/v5.5.3/CGAL-5.5.3.tar.xz + "5.6": + sha256: dcab9b08a50a06a7cc2cc69a8a12200f8d8f391b9b8013ae476965c10b45161f + url: https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6.tar.xz patches: "5.3.2": - patch_file: "patches/0001-fix-for-conan.patch" diff --git a/recipes/cgal/config.yml b/recipes/cgal/config.yml index e8e1391dbacd3..3d807cdb944c7 100644 --- a/recipes/cgal/config.yml +++ b/recipes/cgal/config.yml @@ -9,3 +9,5 @@ versions: folder: all "5.5.3": folder: all + "5.6": + folder: all From 0e747bf17947be9ffcab34f55e9c483647d8dc37 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 21:48:22 +0900 Subject: [PATCH 1320/4087] (#18870) ada: add version 2.6.0 * ada: add version 2.6.0 * support rpath, link mathlib * fix rpath issue with proper way --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/all/conanfile.py | 14 +++++++++++--- recipes/ada/config.yml | 2 ++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 377c8fab6dad4..97acb278526f5 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/all/conanfile.py b/recipes/ada/all/conanfile.py index dcb06ed03de1a..76d787b5a14b7 100644 --- a/recipes/ada/all/conanfile.py +++ b/recipes/ada/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.tools.files import get, copy, rmdir, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -69,8 +69,7 @@ def validate(self): ) def build_requirements(self): - if Version(self.version) >= "0.6.0": - self.tool_requires("cmake/[>=3.16 <4]") + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -78,12 +77,19 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False + if Version(self.version) >= "2.4.2": + tc.variables["ADA_TOOLS"] = False tc.generate() deps = CMakeDeps(self) deps.generate() + def _patch_sources(self): + # solve APPLE RELOCATABLE SHARED LIBS (KB-H077) + replace_in_file(self, os.path.join(self.source_folder, "cmake", "ada-flags.cmake"), "set(CMAKE_MACOSX_RPATH OFF)", "") + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -97,3 +103,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["ada"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 7612786acc48c..aa9794668e545 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.0": + folder: all "2.5.1": folder: all "2.5.0": From bfb41d731aa030b9b1ddc3d2b840c6682834bec1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Aug 2023 22:53:27 +0900 Subject: [PATCH 1321/4087] (#19318) sbepp: update dependencies * sbepp: update dependencies * separate requires recipe's versions * add comment --- recipes/sbepp/all/conanfile.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/sbepp/all/conanfile.py b/recipes/sbepp/all/conanfile.py index a444e6edb4d52..550f0466dea48 100644 --- a/recipes/sbepp/all/conanfile.py +++ b/recipes/sbepp/all/conanfile.py @@ -64,8 +64,13 @@ def package_id(self): def requirements(self): if self.options.with_sbeppc: - self.requires("fmt/9.1.0") - self.requires("pugixml/1.12.1") + # sbepp/<1.1.0 requires fmt and pugixml with hardcoded versions + if Version(self.version) < "1.1.0": + self.requires("fmt/9.1.0") + self.requires("pugixml/1.12.1") + else: + self.requires("fmt/10.1.0") + self.requires("pugixml/1.13") def validate(self): if self.settings.compiler.cppstd: From b25ae2c58cace7f85dd31b27750a1e99fbcb7837 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 21 Aug 2023 07:32:03 -0700 Subject: [PATCH 1322/4087] (#19320) lyra: make sure libdirs is empty for this header-only library --- recipes/lyra/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/lyra/all/conanfile.py b/recipes/lyra/all/conanfile.py index 184573a6e3fe9..f549011151d40 100644 --- a/recipes/lyra/all/conanfile.py +++ b/recipes/lyra/all/conanfile.py @@ -57,3 +57,4 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "bfg" self.cpp_info.components["_lyra"].names["cmake_find_package"] = "lyra" self.cpp_info.components["_lyra"].names["cmake_find_package_multi"] = "lyra" + self.cpp_info.components["_lyra"].libdirs = [] From 25e198edb46e55355ec35958f69f92e952f41a5c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 21 Aug 2023 17:11:03 +0200 Subject: [PATCH 1323/4087] (#19233) rtmidi: fix sha256 of 6.0.0 --- recipes/rtmidi/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rtmidi/all/conandata.yml b/recipes/rtmidi/all/conandata.yml index 4359539b48015..9413bb8e98246 100644 --- a/recipes/rtmidi/all/conandata.yml +++ b/recipes/rtmidi/all/conandata.yml @@ -1,7 +1,7 @@ sources: "6.0.0": url: "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-6.0.0.tar.gz" - sha256: "3336248e8c1f054ea5e51a4449558490dca51edd324fcde0eea27df33b80a9ed" + sha256: "5960ccf64b42c23400720ccc880e2f205677ce9457f747ef758b598acd64db5b" "5.0.0": url: "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-5.0.0.tar.gz" sha256: "48db0ed58c8c0e207b5d7327a0210b5bcaeb50e26387935d02829239b0f3c2b9" From 12ba07d07fb0e6694ee611adf49cbab129f212d6 Mon Sep 17 00:00:00 2001 From: Sergey Avseyev Date: Mon, 21 Aug 2023 18:50:58 +0300 Subject: [PATCH 1324/4087] (#19294) Bump Taocpp JSON to 1.0.0-beta.14 --- recipes/taocpp-json/all/conandata.yml | 3 +++ recipes/taocpp-json/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/taocpp-json/all/conandata.yml b/recipes/taocpp-json/all/conandata.yml index 732888cb32c08..08a817ecfe94b 100644 --- a/recipes/taocpp-json/all/conandata.yml +++ b/recipes/taocpp-json/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0-beta.14": + sha256: f9e44a1d6a70a6d39b9e45df76eac928e69f5318e5a957fd5c0efdf45dacaf5e + url: https://github.com/taocpp/json/archive/1.0.0-beta.14.tar.gz "1.0.0-beta.13": sha256: 2513b32d1883277f78071ff1cc55d4f35a979fffdaddf6412d3cb67852ce68b5 url: https://github.com/taocpp/json/archive/1.0.0-beta.13.tar.gz diff --git a/recipes/taocpp-json/config.yml b/recipes/taocpp-json/config.yml index 1c4b5480a0dce..fb0ab49d5fd2c 100644 --- a/recipes/taocpp-json/config.yml +++ b/recipes/taocpp-json/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0-beta.14": + folder: all "1.0.0-beta.13": folder: all "1.0.0-beta.12": From bbb3bc4e48cd9c57b3ed9a159428fdda98b78e78 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 22 Aug 2023 01:11:19 +0900 Subject: [PATCH 1325/4087] (#19306) trantor: add version 1.5.12 * trantor: add version 1.5.12 * support gcc5 --- recipes/trantor/all/conandata.yml | 7 +++++++ recipes/trantor/all/conanfile.py | 2 +- .../all/patches/1.5.12-0001-disable-werror.patch | 13 +++++++++++++ recipes/trantor/config.yml | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 recipes/trantor/all/patches/1.5.12-0001-disable-werror.patch diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index 22a2a702c41db..336360051b220 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -18,6 +21,10 @@ sources: url: "https://github.com/an-tao/trantor/archive/refs/tags/v1.5.5.tar.gz" sha256: "5a549c6efebe7ecba73a944cfba4a9713130704d4ccc82af534a2e108b9a0e71" patches: + "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" diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index eae8498e37414..8d8c3bbf7e46e 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_c_ares: - self.requires("c-ares/1.19.0") + self.requires("c-ares/1.19.1") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): diff --git a/recipes/trantor/all/patches/1.5.12-0001-disable-werror.patch b/recipes/trantor/all/patches/1.5.12-0001-disable-werror.patch new file mode 100644 index 0000000000000..ac4b2f2545dce --- /dev/null +++ b/recipes/trantor/all/patches/1.5.12-0001-disable-werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 810c2c1..a4f375d 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,7 +46,7 @@ if(BUILD_SHARED_LIBS) + endif(BUILD_SHARED_LIBS) + + if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES Clang|GNU) +- target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror) ++ target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) + endif() + + if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku") diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index 57e22ce3a2fae..ceb70d2417086 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.12": + folder: "all" "1.5.11": folder: "all" "1.5.10": From bcc21d29665f76caa1a901a1ce7ed9b6eef98d58 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 21 Aug 2023 19:17:38 +0200 Subject: [PATCH 1326/4087] (#19311) binutils: add version 2.41 --- recipes/binutils/all/conandata.yml | 7 +++ .../all/patches/2.41-0001-no-texinfo.patch | 57 +++++++++++++++++++ recipes/binutils/config.yml | 2 + 3 files changed, 66 insertions(+) create mode 100644 recipes/binutils/all/patches/2.41-0001-no-texinfo.patch diff --git a/recipes/binutils/all/conandata.yml b/recipes/binutils/all/conandata.yml index 24c6d4be96798..92a40425b2590 100644 --- a/recipes/binutils/all/conandata.yml +++ b/recipes/binutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.41": + url: "https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.gz" + sha256: "48d00a8dc73aa7d2394a7dc069b96191d95e8de8f0da6dc91da5cce655c20e45" "2.40": url: "https://ftp.gnu.org/gnu/binutils/binutils-2.40.tar.gz" sha256: "d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956" @@ -9,6 +12,10 @@ sources: url: "https://ftp.gnu.org/gnu/binutils/binutils-2.37.tar.gz" sha256: "c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb" patches: + "2.41": + - patch_file: "patches/2.41-0001-no-texinfo.patch" + patch_type: conan + patch_description: "disable texinfo" "2.40": - patch_file: "patches/2.40-0001-no-texinfo.patch" patch_type: conan diff --git a/recipes/binutils/all/patches/2.41-0001-no-texinfo.patch b/recipes/binutils/all/patches/2.41-0001-no-texinfo.patch new file mode 100644 index 0000000000000..f6d719e75f24e --- /dev/null +++ b/recipes/binutils/all/patches/2.41-0001-no-texinfo.patch @@ -0,0 +1,57 @@ +diff --git a/bfd/Makefile.in b/bfd/Makefile.in +index 4edfedee..47c7de53 100644 +--- a/bfd/Makefile.in ++++ b/bfd/Makefile.in +@@ -253,7 +253,7 @@ am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) + am__v_texidevnull_0 = > /dev/null + am__v_texidevnull_1 = + am__dirstamp = $(am__leading_dot)dirstamp +-INFO_DEPS = doc/bfd.info ++INFO_DEPS = + am__TEXINFO_TEX_DIR = $(srcdir) + DVIS = doc/bfd.dvi + PDFS = doc/bfd.pdf +@@ -2022,7 +2022,7 @@ distclean-tags: + check-am: all-am + check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(HEADERS) config.h ++all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h + installdirs: installdirs-recursive + installdirs-am: + for dir in "$(DESTDIR)$(bfdlibdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(bfdincludedir)"; do \ +@@ -2089,8 +2089,7 @@ info: info-recursive + + info-am: $(INFO_DEPS) + +-install-data-am: install-bfdincludeHEADERS install-bfdlibLTLIBRARIES \ +- install-info-am ++install-data-am: install-bfdincludeHEADERS install-bfdlibLTLIBRARIES + + install-dvi: install-dvi-recursive + +diff --git a/gas/Makefile.in b/gas/Makefile.in +index 427f42df..535ad3f3 100644 +--- a/gas/Makefile.in ++++ b/gas/Makefile.in +@@ -1793,7 +1793,7 @@ distclean-DEJAGNU: + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU + check: check-recursive +-all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS) config.h ++all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) config.h + installdirs: installdirs-recursive + installdirs-am: + for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \ +@@ -1869,7 +1869,7 @@ info: info-recursive + + info-am: $(INFO_DEPS) info-local + +-install-data-am: install-info-am install-man ++install-data-am: install-man + + install-dvi: install-dvi-recursive + +-- +2.34.1 + diff --git a/recipes/binutils/config.yml b/recipes/binutils/config.yml index 8d19abd9678f7..97d0d2ecab157 100644 --- a/recipes/binutils/config.yml +++ b/recipes/binutils/config.yml @@ -1,4 +1,6 @@ versions: + "2.41": + folder: all "2.40": folder: all "2.38": From 85a0eeb3950b0037da2ee074537408a999700bc8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 22 Aug 2023 02:54:09 +0900 Subject: [PATCH 1327/4087] (#19316) svgwrite: update fmt/10.1.0 --- recipes/svgwrite/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/svgwrite/all/conanfile.py b/recipes/svgwrite/all/conanfile.py index cac9b7b0b66e8..9c1c80b182559 100644 --- a/recipes/svgwrite/all/conanfile.py +++ b/recipes/svgwrite/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): def requirements(self): self.requires("span-lite/0.10.3", transitive_headers=True) - self.requires("fmt/10.0.0") + self.requires("fmt/10.1.0") def validate(self): if self.settings.compiler.cppstd: From 9db4817d600f2513905dcf7df800a2d5e1c949af Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 21 Aug 2023 21:25:12 +0300 Subject: [PATCH 1328/4087] (#18090) boostdep: migrate to Conan v2, add v1.82.0 * boostdep: migrate to Conan v2 * boostdep: restore test_v1_package * boostdep: fix permanent redirect in URL Was highlighted by https://repology.org/repository/conancenter/problems --------- Co-authored-by: Daniel --- recipes/boostdep/all/CMakeLists.txt | 7 -- recipes/boostdep/all/conandata.yml | 7 +- recipes/boostdep/all/conanfile.py | 74 +++++++++++-------- .../boostdep/all/test_package/conanfile.py | 27 ++++--- .../boostdep/all/test_v1_package/conanfile.py | 17 +++++ recipes/boostdep/config.yml | 2 + 6 files changed, 82 insertions(+), 52 deletions(-) delete mode 100644 recipes/boostdep/all/CMakeLists.txt create mode 100644 recipes/boostdep/all/test_v1_package/conanfile.py diff --git a/recipes/boostdep/all/CMakeLists.txt b/recipes/boostdep/all/CMakeLists.txt deleted file mode 100644 index 5e53cb70bdf38..0000000000000 --- a/recipes/boostdep/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(source_subfolder) diff --git a/recipes/boostdep/all/conandata.yml b/recipes/boostdep/all/conandata.yml index 3831a32bc89c9..943785c9b1d4a 100644 --- a/recipes/boostdep/all/conandata.yml +++ b/recipes/boostdep/all/conandata.yml @@ -1,6 +1,11 @@ sources: + 1.82.0: + - url: "https://github.com/boostorg/boostdep/archive/refs/tags/boost-1.82.0.tar.gz" + sha256: "b3bffa292709ad74bf2fa50831890161ad7b9ef33f9f4ffa83d474da4482a452" + - url: "https://www.boost.org/LICENSE_1_0.txt" + sha256: "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566" 1.75.0: - url: "https://github.com/boostorg/boostdep/archive/boost-1.75.0.tar.gz" sha256: "7eecd835eb5b0fd602ff3615a6b663b45917689386d11073d961b86710f428af" - - url: "http://www.boost.org/LICENSE_1_0.txt" + - url: "https://www.boost.org/LICENSE_1_0.txt" sha256: "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566" diff --git a/recipes/boostdep/all/conanfile.py b/recipes/boostdep/all/conanfile.py index 01a84ccc90d69..bd8dd57eb93dc 100644 --- a/recipes/boostdep/all/conanfile.py +++ b/recipes/boostdep/all/conanfile.py @@ -1,58 +1,68 @@ -from conans import CMake, ConanFile, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, download, get + +required_conan_version = ">=1.52.0" + class BoostDepConan(ConanFile): name = "boostdep" - settings = "os", "arch", "compiler", "build_type" description = "A tool to create Boost module dependency reports" + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/boostorg/boostdep" - license = "BSL-1.0" - topics = ("conan", "boostdep", "dependency", "tree") - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package" + topics = ("dependency", "tree") - _cmake = None + package_type = "application" + settings = "os", "arch", "compiler", "build_type" - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) - @property - def _build_subfolder(self): - return "build_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.75.0") + self.requires(f"boost/{self.version}") def package_id(self): del self.info.settings.compiler def source(self): - tools.get(**self.conan_data["sources"][self.version][0]) - os.rename("boostdep-boost-{}".format(self.version), self._source_subfolder) - license_info = self.conan_data["sources"][self.version][1] - tools.download(filename=os.path.basename(license_info["url"]), **license_info) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["Boost_USE_STATIC_LIBS"] = not self.options["boost"].shared - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + sources_info, license_info = self.conan_data["sources"][self.version] + get(self, **sources_info, strip_root=True) + download(self, **license_info, filename=os.path.basename(license_info["url"])) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["Boost_USE_STATIC_LIBS"] = not self.dependencies["boost"].options.shared + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE*", dst="licenses") - cmake = self._configure_cmake() + copy( + self, + "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + cmake = CMake(self) cmake.install() def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.deps_env_info.PATH.append(bin_path) + 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/boostdep/all/test_package/conanfile.py b/recipes/boostdep/all/test_package/conanfile.py index 190cc18502e11..2b15ef763d620 100644 --- a/recipes/boostdep/all/test_package/conanfile.py +++ b/recipes/boostdep/all/test_package/conanfile.py @@ -1,17 +1,20 @@ -from conans import ConanFile, tools -import os +from conan import ConanFile +from conan.tools.env import Environment +from conan.tools.files import mkdir, save -class DefaultNameConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" - def build(self): - pass + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if tools.cross_building(self.settings): - return - tools.mkdir("libs") - tools.save("Jamroot", "") - with tools.environment_append({"BOOST_ROOT": self.build_folder}): - self.run("boostdep --list-modules", run_environment=True) + mkdir(self, "libs") + save(self, "Jamroot", "") + env = Environment() + env.define("BOOST_ROOT", self.build_folder) + with env.vars(self).apply(): + self.run("boostdep --list-modules") diff --git a/recipes/boostdep/all/test_v1_package/conanfile.py b/recipes/boostdep/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..190cc18502e11 --- /dev/null +++ b/recipes/boostdep/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, tools +import os + + +class DefaultNameConan(ConanFile): + settings = "os", "compiler", "arch", "build_type" + + def build(self): + pass + + def test(self): + if tools.cross_building(self.settings): + return + tools.mkdir("libs") + tools.save("Jamroot", "") + with tools.environment_append({"BOOST_ROOT": self.build_folder}): + self.run("boostdep --list-modules", run_environment=True) diff --git a/recipes/boostdep/config.yml b/recipes/boostdep/config.yml index 640761587c2ae..1cbe5a69a954f 100644 --- a/recipes/boostdep/config.yml +++ b/recipes/boostdep/config.yml @@ -1,3 +1,5 @@ versions: + "1.82.0": + folder: "all" "1.75.0": folder: "all" From bbb7def8d09c938fcd90d4a905c9b8a87880a4f6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 21 Aug 2023 21:51:46 +0300 Subject: [PATCH 1329/4087] (#19245) fpgen: use lazy_lt_semver() in validate() * fpgen: use lazy_lt_semver() in validate() * fpgen: remove unused imports --- recipes/fpgen/all/conanfile.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/fpgen/all/conanfile.py b/recipes/fpgen/all/conanfile.py index 46fc8ca2ceba0..5d2f0cf538ac5 100644 --- a/recipes/fpgen/all/conanfile.py +++ b/recipes/fpgen/all/conanfile.py @@ -3,9 +3,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, replace_in_file +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" @@ -49,8 +48,12 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + def lazy_lt_semver(v1, v2): + # Needed to allow version "13" >= "13.1" for apple-clang + return all(int(p1) < int(p2) for p1, p2 in zip(v1.split("."), v2.split("."))) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: + if minimum_version and lazy_lt_semver(str(self.settings.compiler.version), minimum_version): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) From 428a749939c50f63a85ac846db447d38007303b7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 21 Aug 2023 22:05:43 +0300 Subject: [PATCH 1330/4087] (#18260) pipes: migrate to Conan v2 * pipes: migrate to Conan v2 * pipes: restore test_v1_package * pipes: restore VirtualRunEnv in test_package * pipes: dont add test_v1_package --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/pipes/all/conanfile.py | 55 ++++++++++++------- recipes/pipes/all/test_package/CMakeLists.txt | 5 +- recipes/pipes/all/test_package/conanfile.py | 22 ++++++-- .../pipes/all/test_package/test_package.cpp | 6 +- 4 files changed, 56 insertions(+), 32 deletions(-) diff --git a/recipes/pipes/all/conanfile.py b/recipes/pipes/all/conanfile.py index 70bc84cbc789f..c2e8937d21d4a 100644 --- a/recipes/pipes/all/conanfile.py +++ b/recipes/pipes/all/conanfile.py @@ -1,20 +1,26 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration 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 PipesConan(ConanFile): name = "pipes" description = "Pipelines for expressive code on collections in C++" license = "MIT" - topics = ("pipes", "functional-programming") - homepage = "https://github.com/joboccara/pipes" url = "https://github.com/conan-io/conan-center-index" - settings = "compiler" - no_copy_source = True + homepage = "https://github.com/joboccara/pipes" + topics = ("functional-programming", "header-only") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _minimum_cpp_standard(self): @@ -31,23 +37,30 @@ def _minimum_compilers_version(self): def configure(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + 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)) + 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." + ) + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() - + self.info.clear() + def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("pipes-{}".format(self.version), self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include"), keep_path=True) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include"), keep_path=True) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/pipes/all/test_package/CMakeLists.txt b/recipes/pipes/all/test_package/CMakeLists.txt index f24c18a1bb2e1..39ba4f454e712 100644 --- a/recipes/pipes/all/test_package/CMakeLists.txt +++ b/recipes/pipes/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(pipes REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/pipes/all/test_package/conanfile.py b/recipes/pipes/all/test_package/conanfile.py index 910ae60d10438..ef5d7042163ec 100644 --- a/recipes/pipes/all/test_package/conanfile.py +++ b/recipes/pipes/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pipes/all/test_package/test_package.cpp b/recipes/pipes/all/test_package/test_package.cpp index 5279bc00ec63c..2050756e502b3 100644 --- a/recipes/pipes/all/test_package/test_package.cpp +++ b/recipes/pipes/all/test_package/test_package.cpp @@ -1,6 +1,10 @@ -#include +// Workaround for pipes not finding size_t +#include + #include +#include + int main() { auto source = std::vector{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; auto destination = std::vector{}; From d6de8f71f77ceff8cd3851de97737f8a9b20378c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 21 Aug 2023 22:48:12 +0300 Subject: [PATCH 1331/4087] (#18789) libxft: migrate to Conan v2, add v2.3.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libxft: migrate to Conan v2 * libxft: add 2.3.8 * libxft: restore VirtualRunEnv in test_package * libxft: bump deps --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libxft/all/conandata.yml | 4 +- recipes/libxft/all/conanfile.py | 96 ++++++++++--------- .../libxft/all/test_package/CMakeLists.txt | 5 +- recipes/libxft/all/test_package/conanfile.py | 21 ++-- .../libxft/all/test_v1_package/CMakeLists.txt | 8 ++ .../libxft/all/test_v1_package/conanfile.py | 17 ++++ recipes/libxft/config.yml | 2 + 7 files changed, 98 insertions(+), 55 deletions(-) create mode 100644 recipes/libxft/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libxft/all/test_v1_package/conanfile.py diff --git a/recipes/libxft/all/conandata.yml b/recipes/libxft/all/conandata.yml index e56e888b5fdb6..83115b8c226aa 100644 --- a/recipes/libxft/all/conandata.yml +++ b/recipes/libxft/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.8": + url: "https://www.x.org/archive/individual/lib/libXft-2.3.8.tar.xz" + sha256: "5e8c3c4bc2d4c0a40aef6b4b38ed2fb74301640da29f6528154b5009b1c6dd49" "2.3.6": url: "https://www.x.org/archive/individual/lib/libXft-2.3.6.tar.gz" sha256: "b7e59f69e0bbabe9438088775f7e5a7c16a572e58b11f9722519385d38192df5" @@ -11,4 +14,3 @@ patches: patch_description: "fix gcc 5 and gcc 11 compilation" patch_type: "portability" patch_source: "https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/17" - base_path: "source_subfolder" diff --git a/recipes/libxft/all/conanfile.py b/recipes/libxft/all/conanfile.py index c237fe2cfea9c..6029ce556514a 100644 --- a/recipes/libxft/all/conanfile.py +++ b/recipes/libxft/all/conanfile.py @@ -1,78 +1,86 @@ +import os + from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, chdir, rm, rmdir -from conans import AutoToolsBuildEnvironment -import functools +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.52.0" class libxftConan(ConanFile): name = "libxft" - description = 'X FreeType library' - topics = ("libxft", "x11", "xorg") + description = "X FreeType library" + license = "X11" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.x.org/wiki/" - license = "X11" + topics = ("x11", "xorg") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generators = "pkg_config" - - @property - def _source_subfolder(self): - return "source_subfolder" + 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): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("xorg/system") - self.requires("freetype/2.13.0") - self.requires("fontconfig/2.14.2") + self.requires("freetype/2.13.0", transitive_headers=True) + self.requires("fontconfig/2.14.2", transitive_headers=True) def build_requirements(self): - self.build_requires("pkgconf/1.9.3") - self.build_requires("xorg-macros/1.19.3") - self.build_requires("libtool/2.4.7") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.5") + self.tool_requires("xorg-macros/1.19.3") + self.tool_requires("libtool/2.4.7") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - if self.options.shared: - del self.options.fPIC + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_autotools(self): - args = ["--disable-dependency-tracking"] - if self.options.shared: - args.extend(["--disable-static", "--enable-shared"]) - else: - args.extend(["--disable-shared", "--enable-static"]) - autotools = AutoToolsBuildEnvironment(self) - autotools.configure(args=args, pkg_config_paths=self.build_folder) - return autotools + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args.append("--disable-dependency-tracking") + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() def build(self): apply_conandata_patches(self) - with chdir(self, self._source_subfolder): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder) - with chdir(self, self._source_subfolder): - autotools = self._configure_autotools() + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.install(args=["-j1"]) rm(self, "*.la", f"{self.package_folder}/lib", recursive=True) rmdir(self, f"{self.package_folder}/lib/pkgconfig") rmdir(self, f"{self.package_folder}/share") def package_info(self): - self.cpp_info.names['pkg_config'] = "Xft" self.cpp_info.set_property("pkg_config_name", "xft") self.cpp_info.libs = ["Xft"] diff --git a/recipes/libxft/all/test_package/CMakeLists.txt b/recipes/libxft/all/test_package/CMakeLists.txt index e55ad61e844f5..71362aacc231a 100644 --- a/recipes/libxft/all/test_package/CMakeLists.txt +++ b/recipes/libxft/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(libxft REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/libxft/all/test_package/conanfile.py b/recipes/libxft/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/libxft/all/test_package/conanfile.py +++ b/recipes/libxft/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/libxft/all/test_v1_package/CMakeLists.txt b/recipes/libxft/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libxft/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/libxft/all/test_v1_package/conanfile.py b/recipes/libxft/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/libxft/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) diff --git a/recipes/libxft/config.yml b/recipes/libxft/config.yml index 6caf25620b5dc..d3f36d4632aef 100644 --- a/recipes/libxft/config.yml +++ b/recipes/libxft/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.8": + folder: all "2.3.6": folder: all "2.3.4": From a69ce31763e8eb90654b740ed6c3f3f5c47d486d Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 21 Aug 2023 15:50:13 -0700 Subject: [PATCH 1332/4087] (#19284) fmt: make sure libdirs is empty when header_only=True --- recipes/fmt/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/fmt/all/conanfile.py b/recipes/fmt/all/conanfile.py index 862834c358047..ab898ea991411 100644 --- a/recipes/fmt/all/conanfile.py +++ b/recipes/fmt/all/conanfile.py @@ -118,9 +118,9 @@ def package_info(self): if self.options.header_only: self.cpp_info.components["_fmt"].defines.append("FMT_HEADER_ONLY=1") + self.cpp_info.components["_fmt"].libdirs = [] + self.cpp_info.components["_fmt"].bindirs = [] - self.cpp_info.libdirs = [] - self.cpp_info.bindirs = [] else: postfix = "d" if self.settings.build_type == "Debug" else "" libname = "fmt" + postfix From 663bf81b7c803d8a8d340158353ba59a5e4393e6 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 21 Aug 2023 16:50:33 -0700 Subject: [PATCH 1333/4087] (#19285) boost: make sure libdirs is empty when header_only=True --- recipes/boost/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index d845fca4e54da..d6c700ab42217 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1444,6 +1444,7 @@ def package_info(self): # - Use '_libboost' component to attach extra system_libs, ... self.cpp_info.components["headers"].libs = [] + self.cpp_info.components["headers"].libdirs = [] self.cpp_info.components["headers"].set_property("cmake_target_name", "Boost::headers") self.cpp_info.components["headers"].names["cmake_find_package"] = "headers" self.cpp_info.components["headers"].names["cmake_find_package_multi"] = "headers" From a43316eea703d954294cc6140bcaf24505ee7245 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 22 Aug 2023 10:29:59 +0200 Subject: [PATCH 1334/4087] (#19307) onnxruntime: bump deps --- recipes/onnxruntime/all/conandata.yml | 4 ++ recipes/onnxruntime/all/conanfile.py | 4 +- .../all/patches/1.14.1-0005-re2-compat.patch | 41 +++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 recipes/onnxruntime/all/patches/1.14.1-0005-re2-compat.patch diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index 4a029ad509a2b..c1f4ac489cb97 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -28,3 +28,7 @@ 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.14.1-0005-re2-compat.patch" + 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" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index f8951c6e25374..d9a55a421eb6f 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -75,10 +75,10 @@ def requirements(self): self.requires("abseil/20230125.3") self.requires("protobuf/3.21.9") self.requires("date/3.0.1") - self.requires("re2/20230301") + self.requires("re2/20230801") self.requires(f"onnx/{self._onnx_version}") self.requires("flatbuffers/1.12.0") - self.requires("boost/1.82.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run + self.requires("boost/1.83.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run self.requires("safeint/3.0.28") self.requires("nlohmann_json/3.11.2") self.requires("eigen/3.4.0") diff --git a/recipes/onnxruntime/all/patches/1.14.1-0005-re2-compat.patch b/recipes/onnxruntime/all/patches/1.14.1-0005-re2-compat.patch new file mode 100644 index 0000000000000..c8e0cc9d9a48e --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.14.1-0005-re2-compat.patch @@ -0,0 +1,41 @@ +From a3a443c80431c390cbf8855e9c7b2a95d413cd54 Mon Sep 17 00:00:00 2001 +From: Yuriy Chernyshov +Date: Thu, 8 Jun 2023 20:26:26 +0200 +Subject: [PATCH] Support re2 == 2023-06-02 (#16257) + +### Description + +google/re2 [was +switched](https://github.com/google/re2/commit/49d776b9d29d79b6e2876d5f091d2207d8123dfa) +to absl::string_view in version 2023-06-02. + +As `absl::string_view` is a drop-in replacement for `std::string_view` +it does not have `as_string()` method. +This PR ensures the forward compatibility with the newest versions of +re2 library. +--- + onnxruntime/contrib_ops/cpu/tokenizer.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/onnxruntime/contrib_ops/cpu/tokenizer.cc b/onnxruntime/contrib_ops/cpu/tokenizer.cc +index 45998b6d8310..1787fb9b3c4a 100644 +--- a/onnxruntime/contrib_ops/cpu/tokenizer.cc ++++ b/onnxruntime/contrib_ops/cpu/tokenizer.cc +@@ -242,7 +242,7 @@ Status Tokenizer::SeparatorExpressionTokenizer(OpKernelContext* ctx, + token_len, utf8_chars); + if (!valid) { + return Status(common::ONNXRUNTIME, common::INVALID_ARGUMENT, +- "Match contains invalid utf8 chars: " + submatch.as_string()); ++ "Match contains invalid utf8 chars: " + std::string{submatch}); + } + if (utf8_chars >= size_t(mincharnum_)) { + tokens.emplace_back(text.data() + start_pos, token_len); +@@ -384,7 +384,7 @@ Status Tokenizer::TokenExpression(OpKernelContext* ctx, + utf8_chars = 0; + if (!utf8_len(reinterpret_cast(submatch.data()), token_len, utf8_chars)) { + return Status(common::ONNXRUNTIME, common::INVALID_ARGUMENT, +- "Match contains invalid utf8 chars: " + submatch.as_string()); ++ "Match contains invalid utf8 chars: " + std::string{submatch}); + } + if (utf8_chars >= size_t(mincharnum_)) { + row.push_back(submatch); From 370c77465cdfe3d4424dd0cef126c45aaabb21cc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 22 Aug 2023 12:08:49 +0300 Subject: [PATCH 1335/4087] (#18832) opentdf-client: migrate to Conan v2 * opentdf-client: migrate to Conan v2 * opentdf-client: restore VirtualRunEnv in test_package * opentdf-client: resolve conflicts and remove old versions * opentdf-client fix config.yml * opentdf fixes for Conan 2.0 * opentdf client: remove test_v1_package * opentdf-client: fix patches for install location --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/opentdf-client/all/CMakeLists.txt | 9 - .../all/conan_cmake_project_include.cmake | 11 ++ recipes/opentdf-client/all/conandata.yml | 48 +++--- recipes/opentdf-client/all/conanfile.py | 154 +++++++++++------- .../all/patches/1.1.6-0001-cmake-fixes.patch | 51 ++++++ .../all/patches/1.3.10-0001-cmake-fixes.patch | 51 ++++++ .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 22 ++- recipes/opentdf-client/config.yml | 18 -- 9 files changed, 246 insertions(+), 127 deletions(-) delete mode 100644 recipes/opentdf-client/all/CMakeLists.txt create mode 100644 recipes/opentdf-client/all/conan_cmake_project_include.cmake create mode 100644 recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch create mode 100644 recipes/opentdf-client/all/patches/1.3.10-0001-cmake-fixes.patch diff --git a/recipes/opentdf-client/all/CMakeLists.txt b/recipes/opentdf-client/all/CMakeLists.txt deleted file mode 100644 index 93dc9e86f93f9..0000000000000 --- a/recipes/opentdf-client/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(opentdf-client) - -set(CMAKE_CXX_STANDARD 17) - -include(${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/opentdf-client/all/conan_cmake_project_include.cmake b/recipes/opentdf-client/all/conan_cmake_project_include.cmake new file mode 100644 index 0000000000000..795904b844ae4 --- /dev/null +++ b/recipes/opentdf-client/all/conan_cmake_project_include.cmake @@ -0,0 +1,11 @@ +find_package(Boost REQUIRED) +find_package(OpenSSL REQUIRED) +find_package(Microsoft.GSL REQUIRED) +find_package(nlohmann_json REQUIRED) +find_package(libxml2 REQUIRED) +find_package(jwt-cpp REQUIRED) +find_package(ZLIB REQUIRED) +if(opentdf_VERSION VERSION_GREATER_EQUAL "1.4.0") + find_package(magic_enum REQUIRED) +endif() +link_libraries(Boost::boost OpenSSL::SSL Microsoft.GSL::GSL nlohmann_json::nlohmann_json LibXml2::LibXml2 jwt-cpp::jwt-cpp $ ZLIB::ZLIB) diff --git a/recipes/opentdf-client/all/conandata.yml b/recipes/opentdf-client/all/conandata.yml index 382304e4f3de0..ead069b25a72d 100644 --- a/recipes/opentdf-client/all/conandata.yml +++ b/recipes/opentdf-client/all/conandata.yml @@ -8,36 +8,30 @@ sources: "1.3.10": url: "https://github.com/opentdf/client-cpp/archive/1.3.10.tar.gz" sha256: "539bd5e64bceb86f63b3f7db75de470d5ea1d52ae6436a6a2d6789f7d0710dd4" - "1.3.9": - url: "https://github.com/opentdf/client-cpp/archive/1.3.9.tar.gz" - sha256: "8fdd88d90afe865ca86261c26abd1ca5e9895261490252199b7f9d4910ca0b49" - "1.3.8": - url: "https://github.com/opentdf/client-cpp/archive/1.3.8.tar.gz" - sha256: "0d73bd17f6d211c04136239e1db630e1ab320a6e41bd5c18533c44381519842c" - "1.3.6": - url: "https://github.com/opentdf/client-cpp/archive/1.3.6.tar.gz" - sha256: "e0d4cf1d0b1824d903a2b0ec1da528acb42623e32f3ca36aa28b2e950c3cc7a0" - "1.3.4": - url: "https://github.com/opentdf/client-cpp/archive/1.3.4.tar.gz" - sha256: "4b9836bff368249b709fc40e67c3a8664fed85a5d8247475ca1f741486210409" - "1.3.3": - url: "https://github.com/opentdf/client-cpp/archive/1.3.3.tar.gz" - sha256: "7949e662dc55a425771e5ecf2d96e25295d1e2394e805608aed72d1131896948" - "1.3.2": - url: "https://github.com/opentdf/client-cpp/archive/1.3.2.tar.gz" - sha256: "d9a38d3aa6114159c90e0c254c78ddda921e2d520851e4def57f3cd26c564b16" "1.2.0": url: "https://github.com/opentdf/client-cpp/archive/1.2.0.tar.gz" sha256: "15828038809ed291ff7881206a675abc5162e1175c8b515363b9c584aebb08f7" "1.1.6": url: "https://github.com/opentdf/client-cpp/archive/1.1.6.tar.gz" sha256: "83992c37c9a58ae2152660a4ffbf1784fe63d7a9e7b8466d10ca1074697b3d3a" - "1.1.5": - url: "https://github.com/opentdf/client-cpp/archive/1.1.5.tar.gz" - sha256: "8fd5b22b36b19cd58a18f63cbffe3d538263ef3aecde4802059951c4eb5ce044" - "1.1.3": - url: "https://github.com/opentdf/client-cpp/archive/1.1.3.tar.gz" - sha256: "67855999010f9c1496e170ad885f73b854f91eb1539e3c20d74b162295d5c732" - "1.1.2": - url: "https://github.com/opentdf/client-cpp/archive/1.1.2.tar.gz" - sha256: "4e41a18ef9d47aa9f964beffa78fdd4290a5f50336c6e4dc3c9bf2dd4b075d10" +patches: + "1.1.6": + - patch_file: "patches/1.1.6-0001-cmake-fixes.patch" + patch_description: "CMake build fixes for Conan 2.0-compatible recipe" + patch_type: "conan" + "1.2.0": + - patch_file: "patches/1.1.6-0001-cmake-fixes.patch" + patch_description: "CMake build fixes for Conan 2.0-compatible recipe" + patch_type: "conan" + "1.3.10": + - patch_file: "patches/1.3.10-0001-cmake-fixes.patch" + patch_description: "CMake build fixes for Conan 2.0-compatible recipe" + patch_type: "conan" + "1.4.0": + - patch_file: "patches/1.3.10-0001-cmake-fixes.patch" + patch_description: "CMake build fixes for Conan 2.0-compatible recipe" + patch_type: "conan" + "1.5.0": + - patch_file: "patches/1.3.10-0001-cmake-fixes.patch" + patch_description: "CMake build fixes for Conan 2.0-compatible recipe" + patch_type: "conan" diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index 1c4773399329b..e22c9867361c7 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -1,35 +1,38 @@ -from conans import CMake +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy, patch from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, replace_in_file, get, copy from conan.tools.microsoft import is_msvc_static_runtime -import functools -import os +from conan.tools.scm import Version -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.53.0" class OpenTDFConan(ConanFile): name = "opentdf-client" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://www.virtru.com" - topics = ("opentdf", "opentdf-client", "tdf", "virtru") description = "openTDF core c++ client library for creating and accessing TDF protected data" license = "BSD-3-Clause-Clear" - generators = "cmake", "cmake_find_package" - settings = "os", "arch", "compiler", "build_type" - options = {"fPIC": [True, False]} - default_options = {"fPIC": True} + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.virtru.com" + topics = ("opentdf", "tdf", "virtru") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) + export_conandata_patches(self) @property def _minimum_cpp_standard(self): @@ -45,25 +48,16 @@ def _minimum_compilers_version(self): "apple-clang": "12.0.0", } - def export_sources(self): - self.copy("CMakeLists.txt") - for data in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(data["patch_file"]) + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC - def validate(self): - # check minimum cpp standard supported by compiler - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - # check minimum version of compiler - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if not min_version: - self.output.warn(f'{self.name} recipe lacks information about the {self.settings.compiler} compiler support.') - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration(f'{self.name} requires {self.settings.compiler} {self.settings.compiler.version} but found {min_version}') - # Disallow MT and MTd - if is_msvc_static_runtime(self): - raise ConanInvalidConfiguration(f'{self.name} can not be built with MT or MTd at this time') + 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 openssl 3.x for 1.5.0 and newer @@ -77,55 +71,95 @@ def requirements(self): self.requires("ms-gsl/2.1.0") self.requires("nlohmann_json/3.11.1") self.requires("jwt-cpp/0.4.0") + self.requires("zlib/1.2.13") # Use newer boost+libxml2 after 1.3.6 if Version(self.version) <= "1.3.6": self.requires("boost/1.79.0") self.requires("libxml2/2.9.14") else: - self.requires("boost/1.81.0") - self.requires("libxml2/2.10.3") + self.requires("boost/1.82.0") + self.requires("libxml2/2.11.4") - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._minimum_cpp_standard) + # check minimum version of compiler + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if not min_version: + self.output.warning( + f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support." + ) + else: + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires {self.settings.compiler} {self.settings.compiler.version} " + f"but found {min_version}" + ) + # Disallow MT and MTd + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.name} can not be built with MT or MTd at this time") + + if self.options.shared and self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.name} does not currently support shared library on Windows") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _patch_sources(self): - for data in self.conan_data.get("patches", {}).get(self.version, []): - patch(self, **data) + def generate(self): + tc = CMakeToolchain(self) + if not self.settings.get_safe("compiler.cppstd"): + tc.variables["CMAKE_CXX_STANDARD"] = 17 + tc.cache_variables["CMAKE_PROJECT_opentdf_INCLUDE"] = os.path.join(self.source_folder, "conan_cmake_project_include.cmake") + tc.generate() + tc = CMakeDeps(self) + tc.generate() - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + def _patch_sources(self): + apply_conandata_patches(self) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - copy(self, "*", dst=os.path.join(self.package_folder, "lib"), src=os.path.join(os.path.join(self._source_subfolder,"tdf-lib-cpp"), "lib"), keep_path=False) - copy(self, "*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(os.path.join(self._source_subfolder,"tdf-lib-cpp"), "include"), keep_path=False) - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self._source_subfolder, ignore_case=True, keep_path=False) + copy(self, "*", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(os.path.join(self.source_folder, "tdf-lib-cpp"), "lib"), + keep_path=False) + copy(self, "*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(os.path.join(self.source_folder, "tdf-lib-cpp"), "include"), + keep_path=False) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ignore_case=True, + keep_path=False) - # TODO - this only advertises the static lib, add dynamic lib also def package_info(self): self.cpp_info.set_property("cmake_file_name", "opentdf-client") self.cpp_info.set_property("cmake_target_name", "opentdf-client::opentdf-client") self.cpp_info.set_property("pkg_config_name", "opentdf-client") - self.cpp_info.components["libopentdf"].libs = ["opentdf_static"] + self.cpp_info.components["libopentdf"].libs = ["opentdf_static"] if not self.options.shared else ["opentdf"] self.cpp_info.components["libopentdf"].set_property("cmake_target_name", "copentdf-client::opentdf-client") self.cpp_info.components["libopentdf"].names["cmake_find_package"] = "opentdf-client" self.cpp_info.components["libopentdf"].names["cmake_find_package_multi"] = "opentdf-client" - self.cpp_info.components["libopentdf"].names["pkg_config"] = "opentdf-client" - self.cpp_info.components["libopentdf"].requires = ["openssl::openssl", "boost::boost", "ms-gsl::ms-gsl", "libxml2::libxml2", "jwt-cpp::jwt-cpp", "nlohmann_json::nlohmann_json"] + self.cpp_info.components["libopentdf"].requires = [ + "openssl::openssl", + "boost::boost", + "ms-gsl::ms-gsl", + "libxml2::libxml2", + "jwt-cpp::jwt-cpp", + "nlohmann_json::nlohmann_json", + "zlib::zlib" + ] + if Version(self.version) >= "1.4.0": + self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") if Version(self.version) < "1.1.0": self.cpp_info.components["libopentdf"].requires.append("libarchive::libarchive") if Version(self.version) >= "1.4.0": diff --git a/recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch b/recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch new file mode 100644 index 0000000000000..7b784e35e922b --- /dev/null +++ b/recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch @@ -0,0 +1,51 @@ +diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt +index f1ef646..2414ffc 100644 +--- a/src/lib/CMakeLists.txt ++++ b/src/lib/CMakeLists.txt +@@ -99,7 +99,9 @@ set(TDF_COMBINED_LIB_FULL_PATH ${TDF_LIB_DIR}/${TDF_COMBINED_LIB_FILENAME}) + message(STATUS "Combined full path: ${TDF_COMBINED_LIB_FULL_PATH}") + + #TODO: Also need to handle iOS and Android(arm64). +-if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ++if(TRUE) ++ message(STATUS "Skipping generation of combined static library") ++elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + + FOREACH (LDIR ${CONAN_LIB_DIRS}) + set(V_COMBINED_LIB_DIRS ${V_COMBINED_LIB_DIRS} -L${LDIR}) +@@ -154,8 +156,6 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + lib -out:${TDF_LIB_DIR}/${TDF_COMBINED_LIB_FILENAME} ${TDF_LIB_DIR}/${TDF_STATIC_LIB_FILENAME} ${V_COMBINED_LIB_DIRS} ${V_COMBINED_LIB_NAMES} + ) + ) +-else() +- message(STATUS "${CMAKE_SYSTEM_NAME} - unknown system FIXME........") + endif() + + # generate the shared library from the library sources +@@ -186,16 +186,19 @@ install(DIRECTORY DESTINATION ${TDF_LIB_INSTALL_LOCATION}) + # move the headers(to include) and tdf(to lib) directory under tdf-lib-cpp + install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION ${TDF_LIB_INSTALL_LOCATION}/include) +- +-install(FILES ${TDF_STATIC_LIB_FULL_PATH} +- DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) + +-install(FILES ${TDF_COMBINED_LIB_FULL_PATH} +- DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) ++if(NOT BUILD_SHARED_LIBS) ++ install(FILES $ ++ DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) ++endif() ++ ++# Skip combined static library for Conan Center Index package ++# install(FILES ${TDF_COMBINED_LIB_FULL_PATH} ++# DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) + + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + message(STATUS "Skipping shared lib on windows") +-else() +- install(FILES ${TDF_SHARED_LIB_FULL_PATH} ++elseif(BUILD_SHARED_LIBS) ++ install(FILES $ + DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) + endif() diff --git a/recipes/opentdf-client/all/patches/1.3.10-0001-cmake-fixes.patch b/recipes/opentdf-client/all/patches/1.3.10-0001-cmake-fixes.patch new file mode 100644 index 0000000000000..9901f248faf03 --- /dev/null +++ b/recipes/opentdf-client/all/patches/1.3.10-0001-cmake-fixes.patch @@ -0,0 +1,51 @@ +diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt +index d7e1dc1..aeb3b2c 100644 +--- a/src/lib/CMakeLists.txt ++++ b/src/lib/CMakeLists.txt +@@ -99,7 +99,9 @@ set(TDF_COMBINED_LIB_FULL_PATH ${TDF_LIB_DIR}/${TDF_COMBINED_LIB_FILENAME}) + message(STATUS "Combined full path: ${TDF_COMBINED_LIB_FULL_PATH}") + + #TODO: Also need to handle iOS and Android(arm64). +-if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ++if(TRUE) ++ message(STATUS "Skipping generation of combined static library") ++elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + + FOREACH (LDIR ${CONAN_LIB_DIRS}) + set(V_COMBINED_LIB_DIRS ${V_COMBINED_LIB_DIRS} -L${LDIR}) +@@ -155,8 +157,6 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + lib -out:${TDF_LIB_DIR}/${TDF_COMBINED_LIB_FILENAME} ${TDF_LIB_DIR}/${TDF_STATIC_LIB_FILENAME} ${V_COMBINED_LIB_DIRS} ${V_COMBINED_LIB_NAMES} + ) + ) +-else() +- message(STATUS "${CMAKE_SYSTEM_NAME} - unknown system FIXME........") + endif() + + # generate the shared library from the library sources +@@ -187,16 +187,19 @@ install(DIRECTORY DESTINATION ${TDF_LIB_INSTALL_LOCATION}) + # move the headers(to include) and tdf(to lib) directory under tdf-lib-cpp + install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION ${TDF_LIB_INSTALL_LOCATION}/include) +- +-install(FILES ${TDF_STATIC_LIB_FULL_PATH} +- DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) + +-install(FILES ${TDF_COMBINED_LIB_FULL_PATH} +- DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) ++if(NOT BUILD_SHARED_LIBS) ++ install(FILES $ ++ DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) ++endif() ++ ++# Skip combined static library for Conan Center Index package ++# install(FILES ${TDF_COMBINED_LIB_FULL_PATH} ++# DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) + + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + message(STATUS "Skipping shared lib on windows") +-else() +- install(FILES ${TDF_SHARED_LIB_FULL_PATH} ++elseif(BUILD_SHARED_LIBS) ++ install(FILES $ + DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) + endif() diff --git a/recipes/opentdf-client/all/test_package/CMakeLists.txt b/recipes/opentdf-client/all/test_package/CMakeLists.txt index 90a74a2912fcb..d73e39aaa8604 100644 --- a/recipes/opentdf-client/all/test_package/CMakeLists.txt +++ b/recipes/opentdf-client/all/test_package/CMakeLists.txt @@ -1,12 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(opentdf-client CONFIG REQUIRED) +find_package(opentdf-client REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} opentdf-client::opentdf-client) diff --git a/recipes/opentdf-client/all/test_package/conanfile.py b/recipes/opentdf-client/all/test_package/conanfile.py index cffa32351d969..ef5d7042163ec 100644 --- a/recipes/opentdf-client/all/test_package/conanfile.py +++ b/recipes/opentdf-client/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -from conans import CMake 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 + 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 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/opentdf-client/config.yml b/recipes/opentdf-client/config.yml index 109b67265732e..ab5feb490bdb8 100644 --- a/recipes/opentdf-client/config.yml +++ b/recipes/opentdf-client/config.yml @@ -5,25 +5,7 @@ versions: folder: all "1.3.10": folder: all - "1.3.9": - folder: all - "1.3.8": - folder: all - "1.3.6": - folder: all - "1.3.4": - folder: all - "1.3.3": - folder: all - "1.3.2": - folder: all "1.2.0": folder: all "1.1.6": folder: all - "1.1.5": - folder: all - "1.1.3": - folder: all - "1.1.2": - folder: all From e5c85578a8420ce861e3e15b1ca5cdd270970185 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 22 Aug 2023 12:03:38 +0200 Subject: [PATCH 1336/4087] (#18588) [dlib] Port to Conan 2.x * dlib - port to Conan 2.x Signed-off-by: Uilian Ries * fix scm import Signed-off-by: Uilian Ries * fix file import Signed-off-by: Uilian Ries * fix layout Signed-off-by: Uilian Ries * fix copy license Signed-off-by: Uilian Ries * Update recipes/dlib/all/conanfile.py * Update recipes/dlib/all/conanfile.py * Update recipes/dlib/all/conanfile.py * fix windows build Signed-off-by: Uilian Ries * add nsl as system library Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/dlib/all/CMakeLists.txt | 8 - recipes/dlib/all/conanfile.py | 143 +++++++++--------- recipes/dlib/all/test_package/CMakeLists.txt | 11 +- recipes/dlib/all/test_package/conanfile.py | 19 ++- .../dlib/all/test_v1_package/CMakeLists.txt | 8 + recipes/dlib/all/test_v1_package/conanfile.py | 15 ++ 6 files changed, 109 insertions(+), 95 deletions(-) delete mode 100644 recipes/dlib/all/CMakeLists.txt create mode 100644 recipes/dlib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dlib/all/test_v1_package/conanfile.py diff --git a/recipes/dlib/all/CMakeLists.txt b/recipes/dlib/all/CMakeLists.txt deleted file mode 100644 index 1c22f04937945..0000000000000 --- a/recipes/dlib/all/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -# Include the dlib subdirectory to skip a check -add_subdirectory(source_subfolder/dlib) diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index b6ccf5c0b9123..fc668dbc311da 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -1,13 +1,14 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, replace_in_file, copy, rmdir, collect_libs, rm +from conan.tools.build import check_min_cppstd from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -from conans import CMake, tools -import functools +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.45.0" + +required_conan_version = ">=1.53.0" class DlibConan(ConanFile): @@ -17,7 +18,7 @@ class DlibConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "http://dlib.net" license = "BSL-1.0" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -46,34 +47,26 @@ class DlibConan(ConanFile): "with_openblas": True, } - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - @property def _has_with_webp_option(self): return Version(self.version) >= "19.24" def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") if self.settings.arch not in ["x86", "x86_64"]: - del self.options.with_sse2 - del self.options.with_sse4 - del self.options.with_avx + self.options.rm_safe("with_sse2") + self.options.rm_safe("with_sse4") + self.options.rm_safe("with_avx") if not self._has_with_webp_option: - del self.options.with_webp + self.options.rm_safe("with_webp") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_gif: @@ -90,91 +83,91 @@ def requirements(self): self.requires("openblas/0.3.20") def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, "11") if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration("dlib can not be built as a shared library with Visual Studio") - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration("dlib doesn't support macOS M1") + raise ConanInvalidConfiguration(f"{self.ref} does not support shared on Windows. See https://github.com/davisking/dlib/issues/1483.") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _patch_sources(self): - dlib_cmakelists = os.path.join(self._source_subfolder, "dlib", "CMakeLists.txt") + dlib_cmakelists = os.path.join(self.source_folder, "dlib", "CMakeLists.txt") # robust giflib injection - tools.replace_in_file(dlib_cmakelists, "${GIF_LIBRARY}", "GIF::GIF") + replace_in_file(self, dlib_cmakelists, "${GIF_LIBRARY}", "GIF::GIF") # robust libjpeg injection for cmake_file in [ dlib_cmakelists, - os.path.join(self._source_subfolder, "dlib", "cmake_utils", "find_libjpeg.cmake"), - os.path.join(self._source_subfolder, "dlib", "cmake_utils", "test_for_libjpeg", "CMakeLists.txt"), + os.path.join(self.source_folder, "dlib", "cmake_utils", "find_libjpeg.cmake"), + os.path.join(self.source_folder, "dlib", "cmake_utils", "test_for_libjpeg", "CMakeLists.txt"), ]: - tools.replace_in_file(cmake_file, "${JPEG_LIBRARY}", "JPEG::JPEG") + replace_in_file(self, cmake_file, "${JPEG_LIBRARY}", "JPEG::JPEG") # robust libpng injection for cmake_file in [ dlib_cmakelists, - os.path.join(self._source_subfolder, "dlib", "cmake_utils", "find_libpng.cmake"), - os.path.join(self._source_subfolder, "dlib", "cmake_utils", "test_for_libpng", "CMakeLists.txt"), + os.path.join(self.source_folder, "dlib", "cmake_utils", "find_libpng.cmake"), + os.path.join(self.source_folder, "dlib", "cmake_utils", "test_for_libpng", "CMakeLists.txt"), ]: - tools.replace_in_file(cmake_file, "${PNG_LIBRARIES}", "PNG::PNG") + replace_in_file(self, cmake_file, "${PNG_LIBRARIES}", "PNG::PNG") # robust sqlite3 injection - tools.replace_in_file(dlib_cmakelists, "find_library(sqlite sqlite3)", "find_package(SQLite3 REQUIRED)") - tools.replace_in_file(dlib_cmakelists, "find_path(sqlite_path sqlite3.h)", "") - tools.replace_in_file(dlib_cmakelists, "if (sqlite AND sqlite_path)", "if(1)") - tools.replace_in_file(dlib_cmakelists, "${sqlite}", "SQLite::SQLite3") + if self.options.with_sqlite3: + replace_in_file(self, dlib_cmakelists, "find_library(sqlite sqlite3)", "find_package(SQLite3 REQUIRED)") + replace_in_file(self, dlib_cmakelists, "find_path(sqlite_path sqlite3.h)", "") + replace_in_file(self, dlib_cmakelists, "if (sqlite AND sqlite_path)", "if(1)") + replace_in_file(self, dlib_cmakelists, "${sqlite}", "SQLite::SQLite3") # robust libwebp injection if self._has_with_webp_option: - tools.replace_in_file(dlib_cmakelists, "include(cmake_utils/find_libwebp.cmake)", "find_package(WebP REQUIRED)") - tools.replace_in_file(dlib_cmakelists, "if (WEBP_FOUND)", "if(1)") - tools.replace_in_file(dlib_cmakelists, "${WEBP_LIBRARY}", "WebP::webp") + replace_in_file(self, dlib_cmakelists, "include(cmake_utils/find_libwebp.cmake)", "find_package(WebP REQUIRED)") + replace_in_file(self, dlib_cmakelists, "if (WEBP_FOUND)", "if(1)") + replace_in_file(self, dlib_cmakelists, "${WEBP_LIBRARY}", "WebP::webp") + if self.options.with_png: + replace_in_file(self, dlib_cmakelists, "include(cmake_utils/find_libpng.cmake)", "find_package(PNG REQUIRED)") + if self.options.with_jpeg: + replace_in_file(self, dlib_cmakelists, "include(cmake_utils/find_libjpeg.cmake)", "find_package(JPEG REQUIRED)") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) # With in-project builds dlib is always built as a static library, # we want to be able to build it as a shared library too - cmake.definitions["DLIB_IN_PROJECT_BUILD"] = False - - cmake.definitions["DLIB_ISO_CPP_ONLY"] = False - cmake.definitions["DLIB_NO_GUI_SUPPORT"] = True + tc.variables["DLIB_IN_PROJECT_BUILD"] = False + tc.variables["DLIB_ISO_CPP_ONLY"] = False + tc.variables["DLIB_NO_GUI_SUPPORT"] = True # Configure external dependencies - cmake.definitions["DLIB_JPEG_SUPPORT"] = self.options.with_jpeg + tc.variables["DLIB_JPEG_SUPPORT"] = self.options.with_jpeg if self._has_with_webp_option: - cmake.definitions["DLIB_WEBP_SUPPORT"] = self.options.with_webp - cmake.definitions["DLIB_LINK_WITH_SQLITE3"] = self.options.with_sqlite3 - cmake.definitions["DLIB_USE_BLAS"] = True # FIXME: all the logic behind is not sufficiently under control - cmake.definitions["DLIB_USE_LAPACK"] = True # FIXME: all the logic behind is not sufficiently under control - cmake.definitions["DLIB_USE_CUDA"] = False # TODO: add with_cuda option? - cmake.definitions["DLIB_PNG_SUPPORT"] = self.options.with_png - cmake.definitions["DLIB_GIF_SUPPORT"] = self.options.with_gif - cmake.definitions["DLIB_USE_MKL_FFT"] = False + tc.variables["DLIB_WEBP_SUPPORT"] = self.options.with_webp + tc.variables["DLIB_LINK_WITH_SQLITE3"] = self.options.with_sqlite3 + tc.variables["DLIB_USE_BLAS"] = True # FIXME: all the logic behind is not sufficiently under control + tc.variables["DLIB_USE_LAPACK"] = True # FIXME: all the logic behind is not sufficiently under control + tc.variables["DLIB_USE_CUDA"] = False # TODO: add with_cuda option? + tc.variables["DLIB_PNG_SUPPORT"] = self.options.with_png + tc.variables["DLIB_GIF_SUPPORT"] = self.options.with_gif + tc.variables["DLIB_USE_MKL_FFT"] = False # Configure SIMD options if possible if self.settings.arch in ["x86", "x86_64"]: if self.options.with_sse2 != "auto": - cmake.definitions["USE_SSE2_INSTRUCTIONS"] = self.options.with_sse2 + tc.variables["USE_SSE2_INSTRUCTIONS"] = self.options.with_sse2 if self.options.with_sse4 != "auto": - cmake.definitions["USE_SSE4_INSTRUCTIONS"] = self.options.with_sse4 + tc.variables["USE_SSE4_INSTRUCTIONS"] = self.options.with_sse4 if self.options.with_avx != "auto": - cmake.definitions["USE_AVX_INSTRUCTIONS"] = self.options.with_avx - - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.variables["USE_AVX_INSTRUCTIONS"] = self.options.with_avx + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "dlib")) cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - - self.copy("LICENSE.txt", "licenses", os.path.join(self._source_subfolder, "dlib"), keep_path=False) - - # Remove configuration files + copy(self, "LICENSE.txt", src=os.path.join(self.source_folder, "dlib"), dst=os.path.join(self.package_folder, "licenses"), keep_path=False) for dir_to_remove in [ os.path.join("lib", "cmake"), os.path.join("lib", "pkgconfig"), @@ -182,15 +175,15 @@ def package(self): os.path.join("include", "dlib", "external", "pybind11", "tools") ]: rmdir(self, os.path.join(self.package_folder, dir_to_remove)) + rm(self, "*.txt", os.path.join(self.package_folder, "include", "dlib")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "dlib") self.cpp_info.set_property("cmake_target_name", "dlib::dlib") self.cpp_info.set_property("pkg_config_name", "dlib-1") - self.cpp_info.libs = tools.collect_libs(self) + # INFO: Unix systems use dlib as library name, but on Windows it includes settings, e.g dlib19.24.0_release_64bit_msvc1933.lib + self.cpp_info.libs = collect_libs(self) if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread"] + self.cpp_info.system_libs = ["pthread", "nsl"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32", "winmm", "comctl32", "gdi32", "imm32"] - - self.cpp_info.names["pkg_config"] = "dlib-1" diff --git a/recipes/dlib/all/test_package/CMakeLists.txt b/recipes/dlib/all/test_package/CMakeLists.txt index 50caaa372ec83..9ce5dccc12983 100644 --- a/recipes/dlib/all/test_package/CMakeLists.txt +++ b/recipes/dlib/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) find_package(dlib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} dlib::dlib) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE dlib::dlib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/dlib/all/test_package/conanfile.py b/recipes/dlib/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/dlib/all/test_package/conanfile.py +++ b/recipes/dlib/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/dlib/all/test_v1_package/CMakeLists.txt b/recipes/dlib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/dlib/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/dlib/all/test_v1_package/conanfile.py b/recipes/dlib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e0660e0801b96 --- /dev/null +++ b/recipes/dlib/all/test_v1_package/conanfile.py @@ -0,0 +1,15 @@ +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): + self.run(os.path.join("bin", "test_package"), run_environment=True) From b43e1349398d546db9687ce2d257f72dc474d09a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 22 Aug 2023 19:27:28 +0900 Subject: [PATCH 1337/4087] (#18595) xnnpack: add version cci.20230715, add package_type * xnnpack: add version cci.20230715 * drop support for gcc < 11 and clang < 8 * update cpuinfo * use cpuinfo/cci.20220228 for older versions --- recipes/xnnpack/all/conandata.yml | 3 +++ recipes/xnnpack/all/conanfile.py | 31 +++++++++++++++++++------------ recipes/xnnpack/config.yml | 2 ++ 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/recipes/xnnpack/all/conandata.yml b/recipes/xnnpack/all/conandata.yml index 271fcb3d93eeb..97d441c786f9f 100644 --- a/recipes/xnnpack/all/conandata.yml +++ b/recipes/xnnpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230715": + url: "https://github.com/google/XNNPACK/archive/645035286fe31d47eeb07900450f4f6540b75c2c.tar.gz" + sha256: "4c91153dfe4648dc3b325db0b4d6719d6e16f7ce30940b4ceb65abd033e5245e" "cci.20220801": url: "https://github.com/google/XNNPACK/archive/8e3d3359f9bec608e09fac1f7054a2a14b1bd73c.tar.gz" sha256: "c82327543249bd333034bbaa0300ed1fc9c7060fa73673a285042e3f042540e0" diff --git a/recipes/xnnpack/all/conanfile.py b/recipes/xnnpack/all/conanfile.py index 7263f61d28bb8..5d80f5f3cd167 100644 --- a/recipes/xnnpack/all/conanfile.py +++ b/recipes/xnnpack/all/conanfile.py @@ -15,11 +15,11 @@ class XnnpackConan(ConanFile): "neural network inference operators for ARM, WebAssembly, " \ "and x86 platforms." license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/google/XNNPACK" topics = ("neural-network", "inference", "multithreading", "inference-optimization", "matrix-multiplication", "simd") - homepage = "https://github.com/google/XNNPACK" - url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -46,7 +46,6 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - # for plain C projects only self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") @@ -54,9 +53,12 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("cpuinfo/cci.20220228") + if self.version in ["cci.20220801", "cci.20220621", "cci.20211210"]: + self.requires("cpuinfo/cci.20220228") + else: + self.requires("cpuinfo/cci.20230118") self.requires("fp16/cci.20210320") - # https://github.com/google/XNNPACK/blob/ed5f9c0562e016a08b274a4579de5ef500fec134/include/xnnpack.h#L15 + # https://github.com/google/XNNPACK/blob/ed5f9c0562e016a08b274a4579de5ef500fec134/include/xnnpack.h#L15 self.requires("pthreadpool/cci.20210218", transitive_headers=True) self.requires("fxdiv/cci.20200417") @@ -64,13 +66,18 @@ def validate(self): check_min_vs(self, 192) compiler = self.info.settings.compiler compiler_version = Version(compiler.version) - if (compiler == "gcc" and compiler_version < "6") or \ - (compiler == "clang" and compiler_version < "5"): - raise ConanInvalidConfiguration(f"{self.ref} doesn't support {compiler} {compiler.version}") + if self.version < "cci.20230715": + if (compiler == "gcc" and compiler_version < "6") or \ + (compiler == "clang" and compiler_version < "5"): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support {compiler} {compiler.version}") + else: + # since cci.20230715, xnnpack requires avx512 header file + if (compiler == "gcc" and compiler_version < "11") or \ + (compiler == "clang" and compiler_version < "8"): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support {compiler} {compiler.version}") 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) @@ -100,7 +107,7 @@ def generate(self): # The CMake scripts don't use targets prefixed with `namespace::` # so we can coerce CMakeDeps to define the exact target names that # are expected. This works in tandem with the file - # `CMAKE_PROJECT_XNNPACK_INCLUDE` which ensure an early call to + # `CMAKE_PROJECT_XNNPACK_INCLUDE` which ensure an early call to # the relevant `find_package` deps.set_property("cpuinfo", "cmake_target_name", "cpuinfo") deps.set_property("cpuinfo", "cmake_target_aliases", ["clog"] ) diff --git a/recipes/xnnpack/config.yml b/recipes/xnnpack/config.yml index d1b55a81c6c28..a1c159e3728ee 100644 --- a/recipes/xnnpack/config.yml +++ b/recipes/xnnpack/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20230715": + folder: all "cci.20220801": folder: all "cci.20220621": From 98e398a3bb6c1b8b1c10f38cbbc0f6f0e544d4b7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 22 Aug 2023 20:06:49 +0900 Subject: [PATCH 1338/4087] (#18622) wavelet_buffer: add version 0.7.1 * wavelet_buffer: add version 0.7.1 * update libs for 0.7.1 * rm cmake files * update libjpeg-turbo * use streamvbyte, fpzip cci's recipes --- recipes/wavelet_buffer/all/conandata.yml | 18 +++-- recipes/wavelet_buffer/all/conanfile.py | 14 +++- ...tch => 0.4.0-0001-cmake-no-openblas.patch} | 0 ...ch => 0.4.0-0002-cmake-find-jpeblib.patch} | 0 .../all/patches/0.7.1-0001-fix-packages.patch | 24 +++++++ .../patches/0.7.1-0002-use-cci-packages.patch | 66 +++++++++++++++++++ recipes/wavelet_buffer/config.yml | 2 + 7 files changed, 117 insertions(+), 7 deletions(-) rename recipes/wavelet_buffer/all/patches/{0001-0.4.0-cmake-no-openblas.patch => 0.4.0-0001-cmake-no-openblas.patch} (100%) rename recipes/wavelet_buffer/all/patches/{0002-0.4.0-cmake-find-jpeblib.patch => 0.4.0-0002-cmake-find-jpeblib.patch} (100%) create mode 100644 recipes/wavelet_buffer/all/patches/0.7.1-0001-fix-packages.patch create mode 100644 recipes/wavelet_buffer/all/patches/0.7.1-0002-use-cci-packages.patch diff --git a/recipes/wavelet_buffer/all/conandata.yml b/recipes/wavelet_buffer/all/conandata.yml index fbf3768205fcc..16606180f5c32 100644 --- a/recipes/wavelet_buffer/all/conandata.yml +++ b/recipes/wavelet_buffer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.1": + url: "https://github.com/panda-official/WaveletBuffer/archive/refs/tags/v0.7.1.tar.gz" + sha256: "34931da9a8f3c36a37e7e72c801f5ae139006e3c84013511e6baaae3f8d3da3c" "0.5.0": url: "https://github.com/panda-official/WaveletBuffer/archive/refs/tags/v0.5.0.tar.gz" sha256: "2b1fa552f9a6e032dfd9f59bd05c049bf0cac46aced7cd42f49ff0d020cfdb50" @@ -6,19 +9,26 @@ sources: url: "https://github.com/panda-official/WaveletBuffer/archive/refs/tags/v0.4.0.tar.gz" sha256: "0a30080a6d1e9e7f8947ae0c3395d3c86888900c7ae09730f8dd0ed5138daab2" patches: + "0.7.1": + - patch_file: "patches/0.7.1-0001-fix-packages.patch" + patch_description: "don't find catch2, use jpeg instead of libjpeg-turbo" + patch_type: "conan" + - patch_file: "patches/0.7.1-0002-use-cci-packages.patch" + patch_description: "use cci's packages" + patch_type: "conan" "0.5.0": - - patch_file: "patches/0001-0.4.0-cmake-no-openblas.patch" + - patch_file: "patches/0.4.0-0001-cmake-no-openblas.patch" patch_description: "Fix CMakeLists: OpenBLAS is not a dependency" patch_type: "conan" patch_source: "https://github.com/panda-official/WaveletBuffer/pull/49" - - patch_file: "patches/0002-0.4.0-cmake-find-jpeblib.patch" + - patch_file: "patches/0.4.0-0002-cmake-find-jpeblib.patch" patch_description: "Fix CMakeLists: link to jpeg lib only" patch_type: "conan" "0.4.0": - - patch_file: "patches/0001-0.4.0-cmake-no-openblas.patch" + - patch_file: "patches/0.4.0-0001-cmake-no-openblas.patch" patch_description: "Fix CMakeLists: OpenBLAS is not a dependency" patch_type: "conan" patch_source: "https://github.com/panda-official/WaveletBuffer/pull/49" - - patch_file: "patches/0002-0.4.0-cmake-find-jpeblib.patch" + - patch_file: "patches/0.4.0-0002-cmake-find-jpeblib.patch" patch_description: "Fix CMakeLists: link to jpeg lib only" patch_type: "conan" diff --git a/recipes/wavelet_buffer/all/conanfile.py b/recipes/wavelet_buffer/all/conanfile.py index 8e72fbe22217e..f5ce671013fd5 100644 --- a/recipes/wavelet_buffer/all/conanfile.py +++ b/recipes/wavelet_buffer/all/conanfile.py @@ -60,12 +60,15 @@ def layout(self): def requirements(self): self.requires("blaze/3.8", transitive_headers=True) - self.requires("cimg/3.0.2") + self.requires("cimg/3.2.5") if self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") else: self.requires("libjpeg/9e") # FIXME: unvendor SfCompressor which is currently downloaded at build time :s + if Version(self.version) >= "0.6.0": + self.requires("streamvbyte/1.0.0") + self.requires("fpzip/1.3.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -105,12 +108,17 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "wavelet_buffer") self.cpp_info.set_property("cmake_target_name", "wavelet_buffer::wavelet_buffer") - self.cpp_info.libs = ["wavelet_buffer", "sf_compressor"] self.cpp_info.requires = ["blaze::blaze", "cimg::cimg"] + if Version(self.version) >= "0.6.0": + self.cpp_info.libs = ["wavelet_buffer"] + self.cpp_info.requires.extend(["streamvbyte::streamvbyte", "fpzip::fpzip"]) + else: + self.cpp_info.libs = ["wavelet_buffer", "sf_compressor"] if self.options.jpeg == "libjpeg-turbo": self.cpp_info.requires.append("libjpeg-turbo::jpeg") else: diff --git a/recipes/wavelet_buffer/all/patches/0001-0.4.0-cmake-no-openblas.patch b/recipes/wavelet_buffer/all/patches/0.4.0-0001-cmake-no-openblas.patch similarity index 100% rename from recipes/wavelet_buffer/all/patches/0001-0.4.0-cmake-no-openblas.patch rename to recipes/wavelet_buffer/all/patches/0.4.0-0001-cmake-no-openblas.patch diff --git a/recipes/wavelet_buffer/all/patches/0002-0.4.0-cmake-find-jpeblib.patch b/recipes/wavelet_buffer/all/patches/0.4.0-0002-cmake-find-jpeblib.patch similarity index 100% rename from recipes/wavelet_buffer/all/patches/0002-0.4.0-cmake-find-jpeblib.patch rename to recipes/wavelet_buffer/all/patches/0.4.0-0002-cmake-find-jpeblib.patch diff --git a/recipes/wavelet_buffer/all/patches/0.7.1-0001-fix-packages.patch b/recipes/wavelet_buffer/all/patches/0.7.1-0001-fix-packages.patch new file mode 100644 index 0000000000000..6621e790da38b --- /dev/null +++ b/recipes/wavelet_buffer/all/patches/0.7.1-0001-fix-packages.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e2a6681..5ef9cbb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,9 +59,8 @@ else() + endif() + + find_package(blaze REQUIRED) +-find_package(libjpeg-turbo REQUIRED) ++find_package(JPEG REQUIRED) + find_package(cimg REQUIRED) +-find_package(Catch2 REQUIRED) + + # Create wb target + set(WB_TARGET_NAME ${PROJECT_NAME}) +@@ -146,7 +145,7 @@ target_include_directories( + # Link dependencies + target_link_libraries(${WB_TARGET_NAME} PRIVATE streamvbyte) + target_link_libraries(${WB_TARGET_NAME} PRIVATE fpzip) +-target_link_libraries(${WB_TARGET_NAME} PRIVATE libjpeg-turbo::libjpeg-turbo) ++target_link_libraries(${WB_TARGET_NAME} PRIVATE JPEG::JPEG) + target_link_libraries(${WB_TARGET_NAME} PRIVATE cimg::cimg) + + target_link_libraries(${WB_TARGET_NAME} PUBLIC blaze::blaze) diff --git a/recipes/wavelet_buffer/all/patches/0.7.1-0002-use-cci-packages.patch b/recipes/wavelet_buffer/all/patches/0.7.1-0002-use-cci-packages.patch new file mode 100644 index 0000000000000..260b4ac4bbddc --- /dev/null +++ b/recipes/wavelet_buffer/all/patches/0.7.1-0002-use-cci-packages.patch @@ -0,0 +1,66 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ef9cbb..fed641b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -80,39 +80,12 @@ add_library( + sources/internal/matrix_compressor.cc + ) + +-include(FetchContent) +- +-fetchcontent_declare( +- streamvbyte +- URL https://github.com/lemire/streamvbyte/archive/refs/tags/v1.0.0.zip +- URL_HASH MD5=3d1a01cfb704947fa6498944082aeed1 +-) +- +-fetchcontent_declare( +- fpzip +- URL https://github.com/LLNL/fpzip/releases/download/1.3.0/fpzip-1.3.0.zip +- URL_HASH MD5=933ed7628de406a24fe2de61c8c3356c +-) +- +-fetchcontent_makeavailable(streamvbyte) +- +-fetchcontent_getproperties(fpzip) +- +-if(NOT fpzip_POPULATED) +- fetchcontent_populate(fpzip) +- # Make subproject to use 'BUILD_SHARED_LIBS=ON' setting. +- set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries") +- add_subdirectory(${fpzip_SOURCE_DIR} ${fpzip_BINARY_DIR}) +-endif() ++find_package(streamvbyte REQUIRED CONFIG) ++find_package(fpzip REQUIRED CONFIG) + + # Add alias + add_library(${WB_TARGET_NAME}::${WB_TARGET_NAME} ALIAS ${WB_TARGET_NAME}) + +-# Set fPIC +-set_target_properties(${WB_TARGET_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) +-set_target_properties(streamvbyte PROPERTIES POSITION_INDEPENDENT_CODE ON) +-set_target_properties(fpzip PROPERTIES POSITION_INDEPENDENT_CODE ON) +- + # Turn off parallelization in blaze + target_compile_definitions( + ${WB_TARGET_NAME} +@@ -143,8 +116,8 @@ target_include_directories( + ) + + # Link dependencies +-target_link_libraries(${WB_TARGET_NAME} PRIVATE streamvbyte) +-target_link_libraries(${WB_TARGET_NAME} PRIVATE fpzip) ++target_link_libraries(${WB_TARGET_NAME} PRIVATE streamvbyte::streamvbyte) ++target_link_libraries(${WB_TARGET_NAME} PRIVATE fpzip::fpzip) + target_link_libraries(${WB_TARGET_NAME} PRIVATE JPEG::JPEG) + target_link_libraries(${WB_TARGET_NAME} PRIVATE cimg::cimg) + +@@ -178,7 +151,7 @@ endif() + include(GNUInstallDirs) + + # Create package targets file +-install(TARGETS ${WB_TARGET_NAME} streamvbyte EXPORT ${WB_TARGET_NAME}-target) ++install(TARGETS ${WB_TARGET_NAME} EXPORT ${WB_TARGET_NAME}-target) + install( + EXPORT ${WB_TARGET_NAME}-target + FILE ${WB_TARGET_NAME}-targets.cmake diff --git a/recipes/wavelet_buffer/config.yml b/recipes/wavelet_buffer/config.yml index d13fcfd021b7b..80a49141e8ea4 100644 --- a/recipes/wavelet_buffer/config.yml +++ b/recipes/wavelet_buffer/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.1": + folder: all "0.5.0": folder: all "0.4.0": From 1da5f06fbb13aba9e551712d4cecc4fa255e3917 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Tue, 22 Aug 2023 13:29:31 +0200 Subject: [PATCH 1339/4087] (#18990) implement newmat/11.0.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * implement newmat/11.0.1 * remove blank line in conandata * fix linter warnings * set src_folder to src * fix linter * remove cmake dir * add m as system lib * add license * cleanup * correct test package in order not to depend on zlib * mark shared lib on windows as invalid config * add forgotten import * Apply suggestions from code review Co-authored-by: Uilian Ries * fix review comments * extract license from htm document * reintroduce patch * don't use collect_libs * simplify test package * fix newlines * try to fix conan v1 test * change language to cpp * make cmake names in lowercase * disable macos builds * fix lib names for macos * add patch description * Apply suggestions from code review Co-authored-by: Uilian Ries * add missing import * remove v1 test package * revert of self.cpp_info.libs changes * remove test v1; cmake changes --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/newmat/all/CMakeLists.txt | 92 +++++++++++++++++++ recipes/newmat/all/conandata.yml | 9 ++ recipes/newmat/all/conanfile.py | 87 ++++++++++++++++++ .../all/patches/11.0.1/newmat6.cpp.patch | 12 +++ .../newmat/all/test_package/CMakeLists.txt | 7 ++ recipes/newmat/all/test_package/conanfile.py | 26 ++++++ .../newmat/all/test_package/test_package.cpp | 7 ++ recipes/newmat/config.yml | 3 + 8 files changed, 243 insertions(+) create mode 100644 recipes/newmat/all/CMakeLists.txt create mode 100644 recipes/newmat/all/conandata.yml create mode 100644 recipes/newmat/all/conanfile.py create mode 100644 recipes/newmat/all/patches/11.0.1/newmat6.cpp.patch create mode 100644 recipes/newmat/all/test_package/CMakeLists.txt create mode 100644 recipes/newmat/all/test_package/conanfile.py create mode 100644 recipes/newmat/all/test_package/test_package.cpp create mode 100644 recipes/newmat/config.yml diff --git a/recipes/newmat/all/CMakeLists.txt b/recipes/newmat/all/CMakeLists.txt new file mode 100644 index 0000000000000..768502b8f6a7f --- /dev/null +++ b/recipes/newmat/all/CMakeLists.txt @@ -0,0 +1,92 @@ +cmake_minimum_required(VERSION 3.0) + +project( + "newmat" + DESCRIPTION + "The package is intended for scientists and engineers who need to \ + manipulate a variety of types of matrices using standard matrix \ + operations. Emphasis is on the kind of operations needed in statistical \ + calculations such as least squares, linear equation solve and eigenvalues." + HOMEPAGE_URL "http://www.robertnz.net/nm11.htm" + LANGUAGES CXX) + +option(SETUP_C_SUBSCRIPTS "Activate SETUP_C_SUBSCRIPTS if you want to use traditional C style element access" OFF) +if (SETUP_C_SUBSCRIPTS) + add_compile_definitions(SETUP_C_SUBSCRIPTS) +endif() +message("Build with C style element access ${SETUP_C_SUBSCRIPTS}") + +# ------------- +# target +# ------------- +set(source_subfolder_ "src") +set(lib_name ${PROJECT_NAME}) +add_library(${lib_name}) + +target_sources( + ${lib_name} + PRIVATE + ${source_subfolder_}/bandmat.cpp + ${source_subfolder_}/jacobi.cpp + ${source_subfolder_}/newmat3.cpp + ${source_subfolder_}/newmat8.cpp + ${source_subfolder_}/nm_misc.cpp + ${source_subfolder_}/cholesky.cpp + ${source_subfolder_}/myexcept.cpp + ${source_subfolder_}/newmat4.cpp + ${source_subfolder_}/newmat9.cpp + ${source_subfolder_}/solution.cpp + ${source_subfolder_}/evalue.cpp + ${source_subfolder_}/newfft.cpp + ${source_subfolder_}/newmat5.cpp + ${source_subfolder_}/newmatex.cpp + ${source_subfolder_}/sort.cpp + ${source_subfolder_}/fft.cpp + ${source_subfolder_}/newmat1.cpp + ${source_subfolder_}/newmat6.cpp + ${source_subfolder_}/newmatnl.cpp + ${source_subfolder_}/submat.cpp + ${source_subfolder_}/hholder.cpp + ${source_subfolder_}/newmat2.cpp + ${source_subfolder_}/newmat7.cpp + ${source_subfolder_}/newmatrm.cpp + ${source_subfolder_}/svd.cpp +) + +set(include_dir ${PROJECT_SOURCE_DIR}/${source_subfolder_}) + +target_include_directories( + ${lib_name} PUBLIC $) +target_include_directories( + ${lib_name} INTERFACE $) + +# code has throwing desctructors, thus try to compile with c++98 +set_property(TARGET ${lib_name} PROPERTY CXX_STANDARD 98) + +# ------------- +# installation +# ------------- +include(GNUInstallDirs) +install( + FILES + ${include_dir}/controlw.h + ${include_dir}/include.h + ${include_dir}/myexcept.h + ${include_dir}/newmatap.h + ${include_dir}/newmat.h + ${include_dir}/newmatio.h + ${include_dir}/newmatnl.h + ${include_dir}/newmatrc.h + ${include_dir}/newmatrm.h + ${include_dir}/precisio.h + ${include_dir}/solution.h + DESTINATION + include/newmat +) +install( + TARGETS ${lib_name} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) diff --git a/recipes/newmat/all/conandata.yml b/recipes/newmat/all/conandata.yml new file mode 100644 index 0000000000000..e5211d2f68295 --- /dev/null +++ b/recipes/newmat/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "11.0.1": + url: "http://www.robertnz.net/ftp/newmat11.tar.gz" + sha256: "daf313a4db0db14dfcce236ad3cdc514d449e62ddd4f1b07cc31179b0787db6f" +patches: + "11.0.1": + - patch_file: "patches/11.0.1/newmat6.cpp.patch" + patch_type: portability + patch_description: "Fix comparison of pointer and int for new compilers" diff --git a/recipes/newmat/all/conanfile.py b/recipes/newmat/all/conanfile.py new file mode 100644 index 0000000000000..1e8f73c3d75fc --- /dev/null +++ b/recipes/newmat/all/conanfile.py @@ -0,0 +1,87 @@ +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, export_conandata_patches, copy, get, rmdir, save, load +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + + +class NewmatConan(ConanFile): + name = "newmat" + description = "Manipulate a variety of types of matrices using standard matrix operations." + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://newmat.net" + topics = ("matrix") + license = "LicenseRef-newmat" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_c_subscripts": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_c_subscripts": False, + } + + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + 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_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} does not support dynamic library with msvc.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], + destination=self.source_folder) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SETUP_C_SUBSCRIPTS"] = self.options.with_c_subscripts + 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 _extract_license(self): + header = load(self, os.path.join(self.source_folder, "nm11.htm")) + return header[header.find("I place no restrictions", 1) : header.find("report bugs to me.", 1) + 18] + + def package(self): + cmake = CMake(self) + cmake.install() + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) + rmdir(self, os.path.join(self.package_folder, "cmake")) + if self.settings.os == "Windows": + rmdir(self, os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["newmat"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + + self.cpp_info.includedirs.append(os.path.join("include", "newmat")) + if self.options.with_c_subscripts: + self.cpp_info.defines = ["SETUP_C_SUBSCRIPTS"] + diff --git a/recipes/newmat/all/patches/11.0.1/newmat6.cpp.patch b/recipes/newmat/all/patches/11.0.1/newmat6.cpp.patch new file mode 100644 index 0000000000000..2cbfaaa6c4648 --- /dev/null +++ b/recipes/newmat/all/patches/11.0.1/newmat6.cpp.patch @@ -0,0 +1,12 @@ +@@ -1,11 +0,0 @@ +--- newmat6.cpp ++++ newmat6.cpp +@@ -428,7 +428,7 @@ + { + if (&gm == this) { REPORT tag_val = -1; return; } + REPORT +- if (indx > 0) { delete [] indx; indx = 0; } ++ if (indx != 0) { delete [] indx; indx = 0; } + ((CroutMatrix&)gm).get_aux(*this); + Eq(gm); + } diff --git a/recipes/newmat/all/test_package/CMakeLists.txt b/recipes/newmat/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b7da1c805dfbd --- /dev/null +++ b/recipes/newmat/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +find_package(newmat REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE newmat::newmat) diff --git a/recipes/newmat/all/test_package/conanfile.py b/recipes/newmat/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/newmat/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/newmat/all/test_package/test_package.cpp b/recipes/newmat/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..bcd358b815b25 --- /dev/null +++ b/recipes/newmat/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include "newmatap.h" + +int main() +{ + Matrix A(2,3); + return 0; +} diff --git a/recipes/newmat/config.yml b/recipes/newmat/config.yml new file mode 100644 index 0000000000000..d7fc56a2cf1b3 --- /dev/null +++ b/recipes/newmat/config.yml @@ -0,0 +1,3 @@ +versions: + "11.0.1": + folder: all From de91d8e7acd9781a74df582938eb4b916d921de3 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Tue, 22 Aug 2023 14:08:13 +0200 Subject: [PATCH 1340/4087] (#19065) aws-c-compression: add version 0.2.17 * aws-c-compression: add version 0.2.17 * cleanup: remove test_v1_package folder * Revert "cleanup: remove test_v1_package folder" This reverts commit 2b5643590e31a46fc05e049b9c0154b9e6e6243a. --- recipes/aws-c-compression/all/conandata.yml | 3 +++ recipes/aws-c-compression/all/conanfile.py | 8 ++++++-- recipes/aws-c-compression/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/aws-c-compression/all/conandata.yml b/recipes/aws-c-compression/all/conandata.yml index 1baf0be5b106a..d936f5ef9af18 100644 --- a/recipes/aws-c-compression/all/conandata.yml +++ b/recipes/aws-c-compression/all/conandata.yml @@ -1,4 +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" diff --git a/recipes/aws-c-compression/all/conanfile.py b/recipes/aws-c-compression/all/conanfile.py index 828f55f643189..2c6e25346108a 100644 --- a/recipes/aws-c-compression/all/conanfile.py +++ b/recipes/aws-c-compression/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -13,7 +14,7 @@ class AwsCCompression(ConanFile): topics = ("aws", "amazon", "cloud", "compression", "huffman", ) url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-compression" - license = "Apache-2.0", + license = "Apache-2.0" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -39,7 +40,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + 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.0", 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 5a381bb0e6674..aae181600c27e 100644 --- a/recipes/aws-c-compression/config.yml +++ b/recipes/aws-c-compression/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.17": + folder: all "0.2.15": folder: all "0.2.14": From 208f1807b5bf5598155df1360299c028967aec2e Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Tue, 22 Aug 2023 14:50:22 +0200 Subject: [PATCH 1341/4087] (#19032) openssl/1.x.x: Added socket to system_libs for Neutrino --- recipes/openssl/1.x.x/conanfile.py | 2 ++ recipes/openssl/3.x.x/conanfile.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/recipes/openssl/1.x.x/conanfile.py b/recipes/openssl/1.x.x/conanfile.py index d7807c3f39ee0..c6f1558ac1cf1 100644 --- a/recipes/openssl/1.x.x/conanfile.py +++ b/recipes/openssl/1.x.x/conanfile.py @@ -905,6 +905,8 @@ def package_info(self): elif self.settings.os == "Neutrino": self.cpp_info.components["crypto"].system_libs.append("atomic") self.cpp_info.components["ssl"].system_libs.append("atomic") + self.cpp_info.components["crypto"].system_libs.append("socket") + self.cpp_info.components["ssl"].system_libs.append("socket") # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "OpenSSL" diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 59da5e3bc2434..f2c81b311e8fd 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -657,6 +657,8 @@ def package_info(self): elif self.settings.os == "Neutrino": self.cpp_info.components["crypto"].system_libs.append("atomic") self.cpp_info.components["ssl"].system_libs.append("atomic") + self.cpp_info.components["crypto"].system_libs.append("socket") + self.cpp_info.components["ssl"].system_libs.append("socket") self.cpp_info.components["crypto"].set_property("cmake_target_name", "OpenSSL::Crypto") self.cpp_info.components["crypto"].set_property("pkg_config_name", "libcrypto") From a065baf819453997f577a29a5aaefe1e96615096 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 22 Aug 2023 16:45:12 +0300 Subject: [PATCH 1342/4087] (#18298) itk: migrate to Conan v2 * itk: migrate to Conan v2 * Delete CMakeLists.txt * Remove hdf5 from test * bump libtiff to 4.5.1 * Add empty EOL to test_package.cpp * Replace CRLF with LF in test_package.cpp * itksys: link with dl --- recipes/itk/all/CMakeLists.txt | 22 - .../itk/all/conan_cmake_project_include.cmake | 8 + recipes/itk/all/conandata.yml | 6 +- recipes/itk/all/conanfile.py | 483 +++++++++--------- recipes/itk/all/test_package/CMakeLists.txt | 13 +- recipes/itk/all/test_package/conanfile.py | 19 +- recipes/itk/all/test_package/test_package.cpp | 14 +- .../itk/all/test_v1_package/CMakeLists.txt | 8 + recipes/itk/all/test_v1_package/conanfile.py | 18 + 9 files changed, 304 insertions(+), 287 deletions(-) delete mode 100644 recipes/itk/all/CMakeLists.txt create mode 100644 recipes/itk/all/conan_cmake_project_include.cmake create mode 100644 recipes/itk/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/itk/all/test_v1_package/conanfile.py diff --git a/recipes/itk/all/CMakeLists.txt b/recipes/itk/all/CMakeLists.txt deleted file mode 100644 index 7ae2d73951a0d..0000000000000 --- a/recipes/itk/all/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -cmake_minimum_required(VERSION 3.10.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -# conan created FindXXX.cmake modules that create IMPORTED targets -# that not have the GLOBAL option set. By requiring them here, -# these targets are visible in all the subprojects. -file(GLOB conan_modules "Find*.cmake") -message("modules: ${conan_modules}") -foreach(module ${conan_modules}) - get_filename_component(modname "${module}" NAME) - string(REGEX MATCH "^Find(.*).cmake$" modmatch "${modname}") - if(NOT modmatch) - message(FATAL_ERROR "Not a module?? ${module} (${modname})") - endif() - message(STATUS "requiring package ${CMAKE_MATCH_1}") - find_package("${CMAKE_MATCH_1}" REQUIRED) -endforeach() - -add_subdirectory(source_subfolder) diff --git a/recipes/itk/all/conan_cmake_project_include.cmake b/recipes/itk/all/conan_cmake_project_include.cmake new file mode 100644 index 0000000000000..1583596ab7878 --- /dev/null +++ b/recipes/itk/all/conan_cmake_project_include.cmake @@ -0,0 +1,8 @@ +find_package(double-conversion REQUIRED CONFIG) +find_package(Eigen3 REQUIRED CONFIG) +find_package(EXPAT REQUIRED MODULE) +find_package(JPEG REQUIRED CONFIG) +find_package(OpenJPEG REQUIRED CONFIG) +find_package(PNG REQUIRED) +find_package(TIFF REQUIRED) +find_package(ZLIB REQUIRED) diff --git a/recipes/itk/all/conandata.yml b/recipes/itk/all/conandata.yml index 3cb9b81826a59..9e7f86e6f5246 100644 --- a/recipes/itk/all/conandata.yml +++ b/recipes/itk/all/conandata.yml @@ -8,7 +8,9 @@ sources: patches: "5.1.2": - patch_file: "patches/0001-find-conan-packages.patch" - base_path: "source_subfolder" + patch_description: "inject thirdparties from conan" + patch_type: "conan" "5.1.0": - patch_file: "patches/0001-find-conan-packages.patch" - base_path: "source_subfolder" + patch_description: "inject thirdparties from conan" + patch_type: "conan" diff --git a/recipes/itk/all/conanfile.py b/recipes/itk/all/conanfile.py index 3c833fb68b446..432d4013dd2a6 100644 --- a/recipes/itk/all/conanfile.py +++ b/recipes/itk/all/conanfile.py @@ -1,20 +1,25 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +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, replace_in_file, rmdir, save +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import glob import os import textwrap -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class ITKConan(ConanFile): name = "itk" - topics = ("itk", "scientific", "image", "processing") - homepage = "http://www.itk.org/" - url = "https://github.com/conan-io/conan-center-index" + description = "Open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration" license = "Apache-2.0" - description = "Insight Segmentation and Registration Toolkit" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://www.itk.org/" + topics = ("medical-imaging", "scientific", "image", "processing") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,26 +31,23 @@ class ITKConan(ConanFile): } short_paths = True - generators = "cmake", "cmake_find_package" - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 11 @property - def _build_subfolder(self): - return "build_subfolder" - - # TODO: Some packages can be added as optional, but they are not in CCI: - # - mkl - # - vtk - # - opencv + def _compilers_minimum_version(self): + return { + "Visual Studio": "14", + "gcc": "4.8.1", + "clang": "3.3", + "apple-clang": "9", + } 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) + copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -53,250 +55,222 @@ 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("dcmtk/3.6.6") - self.requires("double-conversion/3.2.0") + # TODO: Some packages can be added as optional, but they are not in CCI: + # - mkl + # - vtk + # - opencv + #todo: enable after fixing dcmtk compatibility with openssl on Windows + #self.requires("dcmtk/3.6.7") + self.requires("double-conversion/3.3.0") self.requires("eigen/3.4.0") - self.requires("expat/2.4.8") - self.requires("fftw/3.3.9") - self.requires("gdcm/3.0.9") - self.requires("hdf5/1.12.0") - self.requires("icu/71.1") # TODO: to remove? Seems to be a transitivie dependency through dcmtk - self.requires("libjpeg/9d") - self.requires("libpng/1.6.37") - self.requires("libtiff/4.3.0") - self.requires("openjpeg/2.4.0") - self.requires("onetbb/2020.3") - self.requires("zlib/1.2.12") - - @property - def _minimum_cpp_standard(self): - return 11 - - @property - def _minimum_compilers_version(self): - return { - "Visual Studio": "14", - "gcc": "4.8.1", - "clang": "3.3", - "apple-clang": "9", - } + self.requires("expat/2.5.0") + self.requires("fftw/3.3.10") + self.requires("gdcm/3.0.21") + self.requires("hdf5/1.14.1") + self.requires("libjpeg/9e") + self.requires("libpng/1.6.40") + self.requires("libtiff/4.5.1") + self.requires("openjpeg/2.5.0") + self.requires("onetbb/2021.9.0") + self.requires("zlib/1.2.13") def validate(self): - if self.options.shared and not self.options["hdf5"].shared: + 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" "This is because H5::DataSpace::ALL might get initialized twice, which will cause a H5::DataSpaceIException to be thrown).") - 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 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 self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 190) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version 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], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - self._cmake.definitions["BUILD_EXAMPLES"] = False - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["BUILD_DOCUMENTATION"] = False - self._cmake.definitions["ITK_SKIP_PATH_LENGTH_CHECKS"] = True - - self._cmake.definitions["ITK_USE_SYSTEM_LIBRARIES"] = True - self._cmake.definitions["ITK_USE_SYSTEM_DCMTK"] = True - self._cmake.definitions["ITK_USE_SYSTEM_DOUBLECONVERSION"] = True - self._cmake.definitions["ITK_USE_SYSTEM_EIGEN"] = True - self._cmake.definitions["ITK_USE_SYSTEM_FFTW"] = True - self._cmake.definitions["ITK_USE_SYSTEM_GDCM"] = True - self._cmake.definitions["ITK_USE_SYSTEM_HDF5"] = True - self._cmake.definitions["ITK_USE_SYSTEM_ICU"] = True - self._cmake.definitions["ITK_USE_SYSTEM_JPEG"] = True - self._cmake.definitions["ITK_USE_SYSTEM_PNG"] = True - self._cmake.definitions["ITK_USE_SYSTEM_TIFF"] = True - self._cmake.definitions["ITK_USE_SYSTEM_ZLIB"] = True + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + #call find_package on top level + tc.cache_variables["CMAKE_PROJECT_ITK_INCLUDE"] = os.path.join(self.source_folder, "conan_cmake_project_include.cmake") + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_DOCUMENTATION"] = False + tc.variables["ITK_SKIP_PATH_LENGTH_CHECKS"] = True + + tc.variables["ITK_USE_SYSTEM_LIBRARIES"] = True + tc.variables["ITK_USE_SYSTEM_DCMTK"] = True + tc.variables["ITK_USE_SYSTEM_DOUBLECONVERSION"] = True + tc.variables["ITK_USE_SYSTEM_EIGEN"] = True + tc.variables["ITK_USE_SYSTEM_FFTW"] = True + tc.variables["ITK_USE_SYSTEM_GDCM"] = True + tc.variables["ITK_USE_SYSTEM_HDF5"] = True + tc.variables["ITK_USE_SYSTEM_ICU"] = True + tc.variables["ITK_USE_SYSTEM_JPEG"] = True + tc.variables["ITK_USE_SYSTEM_PNG"] = True + tc.variables["ITK_USE_SYSTEM_TIFF"] = True + tc.variables["ITK_USE_SYSTEM_ZLIB"] = True # FIXME: Missing Kwiml recipe - self._cmake.definitions["ITK_USE_SYSTEM_KWIML"] = False + tc.variables["ITK_USE_SYSTEM_KWIML"] = False # FIXME: Missing VXL recipe - self._cmake.definitions["ITK_USE_SYSTEM_VXL"] = False - self._cmake.definitions["GDCM_USE_SYSTEM_OPENJPEG"] = True - - self._cmake.definitions["ITK_BUILD_DEFAULT_MODULES"] = False - self._cmake.definitions["Module_ITKDeprecated"] = False - self._cmake.definitions["Module_ITKMINC"] = False - self._cmake.definitions["Module_ITKIOMINC"] = False - - self._cmake.definitions["Module_ITKVideoBridgeOpenCV"] = False - - self._cmake.definitions["Module_ITKDCMTK"] = True - self._cmake.definitions["Module_ITKIODCMTK"] = True - self._cmake.definitions["Module_ITKIOHDF5"] = True - self._cmake.definitions["Module_ITKIOTransformHDF5"] = False - self._cmake.definitions["Module_ITKAnisotropicSmoothing"] = True - self._cmake.definitions["Module_ITKAntiAlias"] = True - self._cmake.definitions["Module_ITKBiasCorrection"] = True - self._cmake.definitions["Module_ITKBinaryMathematicalMorphology"] = True - self._cmake.definitions["Module_ITKBioCell"] = True - self._cmake.definitions["Module_ITKClassifiers"] = True - self._cmake.definitions["Module_ITKColormap"] = True - self._cmake.definitions["Module_ITKConnectedComponents"] = True - self._cmake.definitions["Module_ITKConvolution"] = True - self._cmake.definitions["Module_ITKCurvatureFlow"] = True - self._cmake.definitions["Module_ITKDeconvolution"] = True - self._cmake.definitions["Module_ITKDeformableMesh"] = True - self._cmake.definitions["Module_ITKDenoising"] = True - self._cmake.definitions["Module_ITKDiffusionTensorImage"] = True - self._cmake.definitions["Module_ITKDisplacementField"] = True - self._cmake.definitions["Module_ITKDistanceMap"] = True - self._cmake.definitions["Module_ITKEigen"] = True - self._cmake.definitions["Module_ITKFEM"] = True - self._cmake.definitions["Module_ITKFEMRegistration"] = True - self._cmake.definitions["Module_ITKFFT"] = True - self._cmake.definitions["Module_ITKFastMarching"] = True - self._cmake.definitions["Module_ITKGIFTI"] = True - self._cmake.definitions["Module_ITKGPUAnisotropicSmoothing"] = True - self._cmake.definitions["Module_ITKGPUImageFilterBase"] = True - self._cmake.definitions["Module_ITKGPUPDEDeformableRegistration"] = True - self._cmake.definitions["Module_ITKGPURegistrationCommon"] = True - self._cmake.definitions["Module_ITKGPUSmoothing"] = True - self._cmake.definitions["Module_ITKGPUThresholding"] = True - self._cmake.definitions["Module_ITKIOCSV"] = True - self._cmake.definitions["Module_ITKIOGE"] = True - self._cmake.definitions["Module_ITKIOIPL"] = True - self._cmake.definitions["Module_ITKIOMesh"] = True - self._cmake.definitions["Module_ITKIOPhilipsREC"] = True - self._cmake.definitions["Module_ITKIORAW"] = True - self._cmake.definitions["Module_ITKIOSiemens"] = True - self._cmake.definitions["Module_ITKIOSpatialObjects"] = True - self._cmake.definitions["Module_ITKIOTransformBase"] = True - self._cmake.definitions["Module_ITKIOTransformInsightLegacy"] = True - self._cmake.definitions["Module_ITKIOTransformMatlab"] = True - self._cmake.definitions["Module_ITKIOXML"] = True - self._cmake.definitions["Module_ITKImageCompare"] = True - self._cmake.definitions["Module_ITKImageCompose"] = True - self._cmake.definitions["Module_ITKImageFeature"] = True - self._cmake.definitions["Module_ITKImageFusion"] = True - self._cmake.definitions["Module_ITKImageGradient"] = True - self._cmake.definitions["Module_ITKImageGrid"] = True - self._cmake.definitions["Module_ITKImageIntensity"] = True - self._cmake.definitions["Module_ITKImageLabel"] = True - self._cmake.definitions["Module_ITKImageSources"] = True - self._cmake.definitions["Module_ITKImageStatistics"] = True - self._cmake.definitions["Module_ITKIntegratedTest"] = True - self._cmake.definitions["Module_ITKKLMRegionGrowing"] = True - self._cmake.definitions["Module_ITKLabelMap"] = True - self._cmake.definitions["Module_ITKLabelVoting"] = True - self._cmake.definitions["Module_ITKLevelSets"] = True - self._cmake.definitions["Module_ITKLevelSetsv4"] = True - self._cmake.definitions["Module_ITKMarkovRandomFieldsClassifiers"] = True - self._cmake.definitions["Module_ITKMathematicalMorphology"] = True - self._cmake.definitions["Module_ITKMetricsv4"] = True - self._cmake.definitions["Module_ITKNarrowBand"] = True - self._cmake.definitions["Module_ITKNeuralNetworks"] = True - self._cmake.definitions["Module_ITKOptimizers"] = True - self._cmake.definitions["Module_ITKOptimizersv4"] = True - self._cmake.definitions["Module_ITKPDEDeformableRegistration"] = True - self._cmake.definitions["Module_ITKPath"] = True - self._cmake.definitions["Module_ITKPolynomials"] = True - self._cmake.definitions["Module_ITKQuadEdgeMeshFiltering"] = True - self._cmake.definitions["Module_ITKRegionGrowing"] = True - self._cmake.definitions["Module_ITKRegistrationCommon"] = True - self._cmake.definitions["Module_ITKRegistrationMethodsv4"] = True - self._cmake.definitions["Module_ITKReview"] = True - self._cmake.definitions["Module_ITKSignedDistanceFunction"] = True - self._cmake.definitions["Module_ITKSmoothing"] = True - self._cmake.definitions["Module_ITKSpatialFunction"] = True - self._cmake.definitions["Module_ITKTBB"] = True - self._cmake.definitions["Module_ITKThresholding"] = True - self._cmake.definitions["Module_ITKVideoCore"] = True - self._cmake.definitions["Module_ITKVideoFiltering"] = True - self._cmake.definitions["Module_ITKVideoIO"] = False - self._cmake.definitions["Module_ITKVoronoi"] = True - self._cmake.definitions["Module_ITKWatersheds"] = True - self._cmake.definitions["Module_ITKDICOMParser"] = True - - self._cmake.definitions["Module_ITKVTK"] = False - self._cmake.definitions["Module_ITKVtkGlue"] = False + tc.variables["ITK_USE_SYSTEM_VXL"] = False + tc.variables["GDCM_USE_SYSTEM_OPENJPEG"] = True + + tc.variables["ITK_BUILD_DEFAULT_MODULES"] = False + tc.variables["Module_ITKDeprecated"] = False + tc.variables["Module_ITKMINC"] = False + tc.variables["Module_ITKIOMINC"] = False + + tc.variables["Module_ITKVideoBridgeOpenCV"] = False + + #todo: enable after fixing dcmtk compatibility with openssl on Windows + tc.variables["Module_ITKDCMTK"] = False + tc.variables["Module_ITKIODCMTK"] = False + + tc.variables["Module_ITKIOHDF5"] = True + tc.variables["Module_ITKIOTransformHDF5"] = False + tc.variables["Module_ITKAnisotropicSmoothing"] = True + tc.variables["Module_ITKAntiAlias"] = True + tc.variables["Module_ITKBiasCorrection"] = True + tc.variables["Module_ITKBinaryMathematicalMorphology"] = True + tc.variables["Module_ITKBioCell"] = True + tc.variables["Module_ITKClassifiers"] = True + tc.variables["Module_ITKColormap"] = True + tc.variables["Module_ITKConnectedComponents"] = True + tc.variables["Module_ITKConvolution"] = True + tc.variables["Module_ITKCurvatureFlow"] = True + tc.variables["Module_ITKDeconvolution"] = True + tc.variables["Module_ITKDeformableMesh"] = True + tc.variables["Module_ITKDenoising"] = True + tc.variables["Module_ITKDiffusionTensorImage"] = True + tc.variables["Module_ITKDisplacementField"] = True + tc.variables["Module_ITKDistanceMap"] = True + tc.variables["Module_ITKEigen"] = True + tc.variables["Module_ITKFEM"] = True + tc.variables["Module_ITKFEMRegistration"] = True + tc.variables["Module_ITKFFT"] = True + tc.variables["Module_ITKFastMarching"] = True + tc.variables["Module_ITKGIFTI"] = True + tc.variables["Module_ITKGPUAnisotropicSmoothing"] = True + tc.variables["Module_ITKGPUImageFilterBase"] = True + tc.variables["Module_ITKGPUPDEDeformableRegistration"] = True + tc.variables["Module_ITKGPURegistrationCommon"] = True + tc.variables["Module_ITKGPUSmoothing"] = True + tc.variables["Module_ITKGPUThresholding"] = True + tc.variables["Module_ITKIOCSV"] = True + tc.variables["Module_ITKIOGE"] = True + tc.variables["Module_ITKIOIPL"] = True + tc.variables["Module_ITKIOMesh"] = True + tc.variables["Module_ITKIOPhilipsREC"] = True + tc.variables["Module_ITKIORAW"] = True + tc.variables["Module_ITKIOSiemens"] = True + tc.variables["Module_ITKIOSpatialObjects"] = True + tc.variables["Module_ITKIOTransformBase"] = True + tc.variables["Module_ITKIOTransformInsightLegacy"] = True + tc.variables["Module_ITKIOTransformMatlab"] = True + tc.variables["Module_ITKIOXML"] = True + tc.variables["Module_ITKImageCompare"] = True + tc.variables["Module_ITKImageCompose"] = True + tc.variables["Module_ITKImageFeature"] = True + tc.variables["Module_ITKImageFusion"] = True + tc.variables["Module_ITKImageGradient"] = True + tc.variables["Module_ITKImageGrid"] = True + tc.variables["Module_ITKImageIntensity"] = True + tc.variables["Module_ITKImageLabel"] = True + tc.variables["Module_ITKImageSources"] = True + tc.variables["Module_ITKImageStatistics"] = True + tc.variables["Module_ITKIntegratedTest"] = True + tc.variables["Module_ITKKLMRegionGrowing"] = True + tc.variables["Module_ITKLabelMap"] = True + tc.variables["Module_ITKLabelVoting"] = True + tc.variables["Module_ITKLevelSets"] = True + tc.variables["Module_ITKLevelSetsv4"] = True + tc.variables["Module_ITKMarkovRandomFieldsClassifiers"] = True + tc.variables["Module_ITKMathematicalMorphology"] = True + tc.variables["Module_ITKMetricsv4"] = True + tc.variables["Module_ITKNarrowBand"] = True + tc.variables["Module_ITKNeuralNetworks"] = True + tc.variables["Module_ITKOptimizers"] = True + tc.variables["Module_ITKOptimizersv4"] = True + tc.variables["Module_ITKPDEDeformableRegistration"] = True + tc.variables["Module_ITKPath"] = True + tc.variables["Module_ITKPolynomials"] = True + tc.variables["Module_ITKQuadEdgeMeshFiltering"] = True + tc.variables["Module_ITKRegionGrowing"] = True + tc.variables["Module_ITKRegistrationCommon"] = True + tc.variables["Module_ITKRegistrationMethodsv4"] = True + tc.variables["Module_ITKReview"] = True + tc.variables["Module_ITKSignedDistanceFunction"] = True + tc.variables["Module_ITKSmoothing"] = True + tc.variables["Module_ITKSpatialFunction"] = True + tc.variables["Module_ITKTBB"] = True + tc.variables["Module_ITKThresholding"] = True + tc.variables["Module_ITKVideoCore"] = True + tc.variables["Module_ITKVideoFiltering"] = True + tc.variables["Module_ITKVideoIO"] = False + tc.variables["Module_ITKVoronoi"] = True + tc.variables["Module_ITKWatersheds"] = True + tc.variables["Module_ITKDICOMParser"] = True + + tc.variables["Module_ITKVTK"] = False + tc.variables["Module_ITKVtkGlue"] = False # Disabled on Linux (link errors) - self._cmake.definitions["Module_ITKLevelSetsv4Visualization"] = False + tc.variables["Module_ITKLevelSetsv4Visualization"] = False # Disabled because Vxl vidl is not built anymore - self._cmake.definitions["Module_ITKVideoBridgeVXL"] = False + tc.variables["Module_ITKVideoBridgeVXL"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + #The CMake policy CMP0091 must be NEW, but is '' + replace_in_file(self, + os.path.join(self.source_folder, "Modules", "ThirdParty", "VNL", "src", "vxl", "config", "cmake", "config", "VXLIntrospectionConfig.cmake"), + "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}", + "-DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() - def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() - cmake.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, self._cmake_module_dir, "Modules")) - # Do not remove UseITK.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": - os.remove(cmake_file) - - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), - {target:"ITK::{}".format(target) for target in self._itk_components.keys()}, - ) - - @staticmethod - def _create_cmake_module_alias_targets(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)) - tools.save(module_file, content) - @property - def _module_file_rel_path(self): - return os.path.join(self._cmake_module_dir, "conan-official-{}-targets.cmake".format(self.name)) + def _itk_subdir(self): + v = Version(self.version) + return f"ITK-{v.major}.{v.minor}" @property def _cmake_module_dir(self): return os.path.join("lib", "cmake", self._itk_subdir) @property - def _itk_subdir(self): - v = tools.Version(self.version) - return "ITK-{}.{}".format(v.major, v.minor) + def _module_file_rel_path(self): + return os.path.join(self._cmake_module_dir, f"conan-official-{self.name}-targets.cmake") @property def _itk_components(self): def libm(): return ["m"] if self.settings.os in ["Linux", "FreeBSD"] else [] + def libdl(): + return ["dl"] if self.settings.os in ["Linux", "FreeBSD"] else [] return { - "itksys": {}, + "itksys": {"system_libs": libdl()}, "itkvcl": {"system_libs": libm()}, "itkv3p_netlib": {"system_libs": libm()}, "itkvnl": {"requires": ["itkvcl"]}, @@ -386,7 +360,8 @@ def libm(): "ITKIOBMP": {"requires": ["ITKIOImageBase"]}, "ITKIOBioRad": {"requires": ["ITKIOImageBase"]}, "ITKIOCSV": {"requires": ["ITKIOImageBase"]}, - "ITKIODCMTK": {"requires": ["ITKIOImageBase", "dcmtk::dcmtk", "icu::icu"]}, + #todo: enable after fixing dcmtk compatibility with openssl on Windows + #"ITKIODCMTK": {"requires": ["ITKIOImageBase", "dcmtk::dcmtk"]}, "ITKIOGDCM": {"requires": ["ITKCommon", "ITKIOImageBase", "gdcm::gdcmDICT", "gdcm::gdcmMSFF"]}, "ITKIOIPL": {"requires": ["ITKIOImageBase"]}, "ITKIOGE": {"requires": ["ITKIOIPL", "ITKIOImageBase"]}, @@ -477,32 +452,58 @@ def libm(): "ITKVideoCore": {"requires": ["ITKCommon"]}, } + def _create_cmake_module_alias_targets(self): + targets = {target:f"ITK::{target}" for target in self._itk_components.keys()} + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + save(self, os.path.join(self.package_folder, self._module_file_rel_path), content) + + 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", "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 + 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": + os.remove(cmake_file) + 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 = tools.Version(self.version) - lib_suffix = "-{}.{}".format(itk_version.major, itk_version.minor) + itk_version = Version(self.version) + lib_suffix = f"-{itk_version.major}.{itk_version.minor}" for name, values in self._itk_components.items(): is_header_only = values.get("header_only", False) system_libs = values.get("system_libs", []) requires = values.get("requires", []) self.cpp_info.components[name].set_property("cmake_target_name", name) + self.cpp_info.components[name].set_property("cmake_target_aliases", [f"ITK::{name}"]) self.cpp_info.components[name].builddirs.append(self._cmake_module_dir) self.cpp_info.components[name].includedirs.append(os.path.join("include", self._itk_subdir)) if not is_header_only: - self.cpp_info.components[name].libs = ["{}{}".format(name, lib_suffix)] + self.cpp_info.components[name].libs = [f"{name}{lib_suffix}"] self.cpp_info.components[name].system_libs = system_libs self.cpp_info.components[name].requires = requires # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.components[name].names["cmake_find_package"] = name - self.cpp_info.components[name].names["cmake_find_package_multi"] = name - self.cpp_info.components[name].build_modules.append(os.path.join(self._cmake_module_dir, "UseITK.cmake")) - self.cpp_info.components[name].build_modules["cmake_find_package"].append(self._module_file_rel_path) - self.cpp_info.components[name].build_modules["cmake_find_package_multi"].append(self._module_file_rel_path) + 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")) # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "ITK" - self.cpp_info.names["cmake_find_package_multi"] = "ITK" + for generator in ["cmake_find_package", "cmake_find_package_multi"]: + self.cpp_info.names[generator] = "ITK" diff --git a/recipes/itk/all/test_package/CMakeLists.txt b/recipes/itk/all/test_package/CMakeLists.txt index f9c2acebbb0bb..ad9e58069124d 100644 --- a/recipes/itk/all/test_package/CMakeLists.txt +++ b/recipes/itk/all/test_package/CMakeLists.txt @@ -1,12 +1,11 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package CXX) find_package(ITK REQUIRED CONFIG) -find_package(HDF5 COMPONENTS CXX) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ITKCommon hdf5::hdf5_cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE ITKCommon) +#itksys is already linked through dependencies of ITKCommon but we also want to check name alias +target_link_libraries(${PROJECT_NAME} PRIVATE ITK::itksys) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/itk/all/test_package/conanfile.py b/recipes/itk/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/itk/all/test_package/conanfile.py +++ b/recipes/itk/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/itk/all/test_package/test_package.cpp b/recipes/itk/all/test_package/test_package.cpp index ef775457ccc9c..56077cb584102 100644 --- a/recipes/itk/all/test_package/test_package.cpp +++ b/recipes/itk/all/test_package/test_package.cpp @@ -1,8 +1,5 @@ #include "itkLightObject.h" -#include -#include - #include class Test : public itk::LightObject { @@ -12,12 +9,9 @@ class Test : public itk::LightObject { const char *GetNameOfClass() { return "Test"; } }; -int main(int, char **) try { - //Test::Pointer test = Test::New(); - //std::cout << test->GetNameOfClass() << std::endl; - return 0; -} catch(const H5::DataSpaceIException &e) { - std::cerr << "CAUGHT\n"; - e.printErrorStack(); +int main(int, char **) +{ + Test::Pointer test = Test::New(); + std::cout << test->GetNameOfClass() << std::endl; return 0; } diff --git a/recipes/itk/all/test_v1_package/CMakeLists.txt b/recipes/itk/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/itk/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/itk/all/test_v1_package/conanfile.py b/recipes/itk/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/itk/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 9be5d7923cee7aa97900a8376302ec49b261a726 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:09:49 +0200 Subject: [PATCH 1343/4087] (#18389) Add pcl PointCloudLibrary package * Add pcl PointCloudLibrary package Inspired from https://github.com/conan-io/conan-center-index/pull/1891 * pcl: misc recipe tweaks * Update recipes/pcl/all/conanfile.py Co-authored-by: Martin Valgur * pcl: Further fixes to Conan targets use in CMake * pcl: Fix buggy OpenNI detection if libusb missing * pcl: Fix PCL CMake config breaking OpenGL detection * pcl: Fix _add_component() bugs * pcl: add TODOs for missing Conan packages * pcl: set_property("cmake_find_mode", "both") * pcl: more accurate modelling of PCL components * pcl: tidy description * Enable opengl event if with_vtk is false - Enable opengl event if with_vtk is false as done in PCL CMakeLists.txt * Revert "Enable opengl event if with_vtk is false" This reverts commit c4be26d44c9f2fd6ed4bd323714ff6bf2e67ed0d. * Enable opengl only if with_vtk==True * test is_msvc() method * test is_msvc_static_runtime * pcl: make components optional, add full dependency info * pcl: fixes to the component system * pcl: set OpenGL_GL_PREFERENCE=GLVND * pcl: fix _extra_libs handling * pcl: fix CUDA support * pcl: add all VTK system package variants * pcl: add missing transitive_headers=True based on installed header includes * pcl: add ws2_32 dep on Windows * Restore is_msvc_static_runtime import * pcl: fix Conan v1 issue * pcl: new add_build_type_postfix option, fix library naming on Windows * Take into account @maksim-petukhov remark * Take into account @valgur remark * Take into account maksim-petukhov remark * Set instantiate_only_core_point_types option at True * pcl: restore zlib dependency * pcl: adjust precompile_only_core_point_types name, add comment Based on https://github.com/PointCloudLibrary/pcl/blob/3ed96c246e5c873713ec670b895469d09149a552/cmake/pcl_options.cmake#L49 * Add rm to prevent PDBs files install --------- Co-authored-by: Martin Valgur --- recipes/pcl/all/conandata.yml | 19 + recipes/pcl/all/conanfile.py | 579 ++++++++++++++++++ ...n3-Eigen-target-in-pcl_common-target.patch | 25 + ...FixAboutMemoryConsumptionDuringBuild.patch | 38 ++ .../0001-cmake_use_conan_targets.patch | 52 ++ .../all/patches/0001-fix-FindOpenNI-bug.patch | 32 + recipes/pcl/all/test_package/CMakeLists.txt | 10 + recipes/pcl/all/test_package/conanfile.py | 27 + recipes/pcl/all/test_package/test_package.cpp | 73 +++ recipes/pcl/config.yml | 3 + 10 files changed, 858 insertions(+) create mode 100644 recipes/pcl/all/conandata.yml create mode 100644 recipes/pcl/all/conanfile.py create mode 100644 recipes/pcl/all/patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch create mode 100644 recipes/pcl/all/patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch create mode 100644 recipes/pcl/all/patches/0001-cmake_use_conan_targets.patch create mode 100644 recipes/pcl/all/patches/0001-fix-FindOpenNI-bug.patch create mode 100644 recipes/pcl/all/test_package/CMakeLists.txt create mode 100644 recipes/pcl/all/test_package/conanfile.py create mode 100644 recipes/pcl/all/test_package/test_package.cpp create mode 100644 recipes/pcl/config.yml diff --git a/recipes/pcl/all/conandata.yml b/recipes/pcl/all/conandata.yml new file mode 100644 index 0000000000000..6eea92ef4a761 --- /dev/null +++ b/recipes/pcl/all/conandata.yml @@ -0,0 +1,19 @@ +sources: + "1.13.1": + url: https://github.com/PointCloudLibrary/pcl/archive/refs/tags/pcl-1.13.1.tar.gz + sha256: 8ab98a9db371d822de0859084a375a74bdc7f31c96d674147710cf4101b79621 +patches: + "1.13.1": + - patch_file: "patches/0001-cmake_use_conan_targets.patch" + patch_description: "Update PCL CMake files to work with Conan" + patch_type: "conan" + - patch_file: "patches/0001-fix-FindOpenNI-bug.patch" + patch_description: "Fix a libusb detection bug in FindOpenNI.cmake" + patch_type: "bugfix" + - patch_file: "patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch" + patch_description: "Add Eigen3::Eigen target to pcl_common target" + patch_type: "conan" + - patch_file: "patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch" + patch_description: "MovingLeastSquares: reduce the number of instantiations to reduce compile time" + patch_source: "https://github.com/PointCloudLibrary/pcl/pull/5764" + patch_type: "conan" diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py new file mode 100644 index 0000000000000..c957981fea188 --- /dev/null +++ b/recipes/pcl/all/conanfile.py @@ -0,0 +1,579 @@ +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, rmdir, rm +from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version +from conan.tools.system import package_manager +import os + +required_conan_version = ">=1.53.0" + +class PclConan(ConanFile): + name = "pcl" + description = ("The Point Cloud Library (PCL) is a standalone, large-scale, " + "open project for 2D/3D image and point cloud processing.") + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/PointCloudLibrary/pcl" + topics = ("computer vision", "point cloud", "pointcloud", "3d", "pcd", "ply", "stl", "ifs", "vtk") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + # Enable/disable individual components + "2d": [True, False], + "features": [True, False], + "filters": [True, False], + "geometry": [True, False], + "io": [True, False], + "kdtree": [True, False], + "keypoints": [True, False], + "ml": [True, False], + "octree": [True, False], + "outofcore": [True, False], + "people": [True, False], + "recognition": [True, False], + "registration": [True, False], + "sample_consensus": [True, False], + "search": [True, False], + "segmentation": [True, False], + "simulation": [True, False], + "stereo": [True, False], + "surface": [True, False], + "tracking": [True, False], + "visualization": [True, False], + "cuda_common": [True, False], + "cuda_features": [True, False], + "cuda_io": [True, False], + "cuda_sample_consensus": [True, False], + "cuda_segmentation": [True, False], + "gpu_containers": [True, False], + "gpu_features": [True, False], + "gpu_kinfu": [True, False], + "gpu_kinfu_large_scale": [True, False], + "gpu_octree": [True, False], + "gpu_people": [True, False], + "gpu_segmentation": [True, False], + "gpu_surface": [True, False], + "gpu_tracking": [True, False], + "gpu_utils": [True, False], + "apps": [True, False], + "tools": [True, False], + # Optional external dependencies. + # Only used if the corresponding component is enabled. + "with_cuda": [True, False], + "with_flann": [True, False], + "with_libusb": [True, False], + "with_opencv": [True, False], + "with_opengl": [True, False], + "with_openmp": [True, False], + "with_pcap": [True, False], + "with_png": [True, False], + "with_qhull": [True, False], + "with_qt": [True, False], + "with_vtk": [True, False], + # TODO: + # "with_davidsdk": [True, False], + # "with_dssdk": [True, False], + # "with_ensenso": [True, False], + # "with_fzapi": [True, False], + # "with_metslib": [True, False], + # "with_openni": [True, False], + # "with_openni2": [True, False], + # "with_rssdk": [True, False], + # "with_rssdk2": [True, False], + # "with_qvtk": [True, False], + # Precompile for a minimal set of point types only instead of all (e.g., pcl::PointXYZ instead of PCL_XYZ_POINT_TYPES) + "precompile_only_core_point_types": [True, False], + # Whether to append a ''/d/rd/s postfix to executables on Windows depending on the build type + "add_build_type_postfix": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + # Enable/disable individual components + "2d": True, + "features": True, + "filters": True, + "geometry": True, + "io": True, + "kdtree": True, + "keypoints": True, + "ml": True, + "octree": True, + "outofcore": False, + "people": False, + "recognition": True, + "registration": True, + "sample_consensus": True, + "search": True, + "segmentation": True, + "simulation": False, + "stereo": True, + "surface": True, + "tracking": True, + # Visualization is currently disabled by default due to missing VTK package + "visualization": False, + # GPU components are disabled by default + "cuda_common": False, + "cuda_features": False, + "cuda_io": False, + "cuda_sample_consensus": False, + "cuda_segmentation": False, + "gpu_containers": False, + "gpu_features": False, + "gpu_kinfu": False, + "gpu_kinfu_large_scale": False, + "gpu_octree": False, + "gpu_people": False, + "gpu_segmentation": False, + "gpu_surface": False, + "gpu_tracking": False, + "gpu_utils": False, + "apps": False, + "tools": False, + # Optional external dependencies + "with_cuda": False, + "with_flann": True, + "with_libusb": True, + "with_opencv": True, + "with_opengl": True, + "with_openmp": False, + "with_pcap": True, + "with_png": True, + "with_qhull": True, + "with_qt": True, + "with_vtk": False, + # Enabled to avoid excessive memory usage during compilation in CCI + "precompile_only_core_point_types": True, + "add_build_type_postfix": False, + } + + short_paths = True + + # The component details have been extracted from their CMakeLists.txt files using + # https://gist.github.com/valgur/e54e39b6a8931b58cc1776515104c828 + @property + def _external_deps(self): + return { + "common": ["boost", "eigen"], + "cuda_common": ["cuda"], + "cuda_features": ["cuda"], + "cuda_io": ["cuda", "openni"], + "cuda_sample_consensus": ["cuda"], + "cuda_segmentation": ["cuda"], + "gpu_containers": ["cuda"], + "gpu_features": ["cuda"], + "gpu_kinfu": ["cuda"], + "gpu_kinfu_large_scale": ["cuda"], + "gpu_octree": ["cuda"], + "gpu_people": ["cuda"], + "gpu_segmentation": ["cuda"], + "gpu_surface": ["cuda"], + "gpu_tracking": ["cuda"], + "gpu_utils": ["cuda"], + "io": ["zlib"], + "people": ["vtk"], + "surface": ["zlib"], + "visualization": ["vtk"], + } + + @property + def _external_optional_deps(self): + return { + "2d": ["vtk"], + "io": ["davidsdk", "dssdk", "ensenso", "fzapi", "libusb", "openni", "openni2", "pcap", "png", "rssdk", "rssdk2", "vtk"], + "kdtree": ["flann"], + "people": ["openni"], + "recognition": ["metslib"], + "search": ["flann"], + "simulation": ["opengl"], + "surface": ["qhull", "vtk"], + "visualization": ["davidsdk", "dssdk", "ensenso", "opengl", "openni", "openni2", "qvtk", "rssdk"], + "apps": ["cuda", "libusb", "opengl", "openni", "png", "qhull", "qt", "qvtk", "vtk"], + "tools": ["cuda", "davidsdk", "dssdk", "ensenso", "opencv", "opengl", "openni", "openni2", "qhull", "rssdk", "vtk"], + } + + def _ext_dep_to_conan_target(self, dep): + if not self._is_enabled(dep): + return [] + return { + "boost": ["boost::boost"], + "cuda": [], + "davidsdk": [], + "dssdk": [], + "eigen": ["eigen::eigen"], + "ensenso": [], + "flann": ["flann::flann"], + "fzapi": [], + "libusb": ["libusb::libusb"], + "metslib": [], + "opencv": ["opencv::opencv"], + "opengl": ["opengl::opengl", "freeglut::freeglut", "glew::glew", "glu::glu"], + "openni": [], + "openni2": [], + "pcap": ["libpcap::libpcap"], + "png": ["libpng::libpng"], + "qhull": ["qhull::qhull"], + "qt": ["qt::qt"], + "qvtk": [], + "rssdk": [], + "rssdk2": [], + "vtk": [], + "zlib": ["zlib::zlib"], + }[dep] + + @property + def _internal_deps(self): + return { + "2d": ["common", "filters"], + "common": [], + "cuda_common": [], + "cuda_features": ["common", "cuda_common", "io"], + "cuda_io": ["common", "cuda_common", "io"], + "cuda_sample_consensus": ["common", "cuda_common", "io"], + "cuda_segmentation": ["common", "cuda_common", "io"], + "features": ["2d", "common", "filters", "kdtree", "octree", "search"], + "filters": ["common", "kdtree", "octree", "sample_consensus", "search"], + "geometry": ["common"], + "gpu_containers": ["common"], + "gpu_features": ["common", "geometry", "gpu_containers", "gpu_octree", "gpu_utils"], + "gpu_kinfu": ["common", "geometry", "gpu_containers", "io", "search"], + "gpu_kinfu_large_scale": ["common", "features", "filters", "geometry", "gpu_containers", + "gpu_utils", "io", "kdtree", "octree", "search", "surface"], + "gpu_octree": ["common", "gpu_containers", "gpu_utils"], + "gpu_people": ["common", "features", "filters", "geometry", "gpu_containers", + "gpu_utils", "io", "kdtree", "octree", "search", "segmentation", + "surface", "visualization"], + "gpu_segmentation": ["common", "gpu_containers", "gpu_octree", "gpu_utils"], + "gpu_surface": ["common", "geometry", "gpu_containers", "gpu_utils"], + "gpu_tracking": ["common", "filters", "gpu_containers", "gpu_octree", + "gpu_utils", "kdtree", "octree", "search", "tracking"], + "gpu_utils": ["common", "gpu_containers"], + "io": ["common", "octree"], + "kdtree": ["common"], + "keypoints": ["common", "features", "filters", "kdtree", "octree", "search"], + "ml": ["common"], + "octree": ["common"], + "outofcore": ["common", "filters", "io", "octree", "visualization"], + "people": ["common", "filters", "geometry", "io", "kdtree", "octree", + "sample_consensus", "search", "segmentation", "visualization"], + "recognition": ["common", "features", "filters", "io", "kdtree", "ml", + "octree", "registration", "sample_consensus", "search"], + "registration": ["common", "features", "filters", "kdtree", "octree", + "sample_consensus", "search"], + "sample_consensus": ["common", "search"], + "search": ["common", "kdtree", "octree"], + "segmentation": ["common", "features", "filters", "geometry", "kdtree", + "ml", "octree", "sample_consensus", "search"], + "simulation": ["common", "features", "filters", "geometry", "io", + "kdtree", "octree", "search", "surface", "visualization"], + "stereo": ["common", "io"], + "surface": ["common", "kdtree", "octree", "search"], + "tracking": ["common", "filters", "kdtree", "octree", "search"], + "visualization": ["common", "geometry", "io", "kdtree", "octree", "search"], + } + + @property + def _internal_optional_deps(self): + return { + "apps": ["2d", "common", "cuda_common", "cuda_features", "cuda_io", + "cuda_sample_consensus", "cuda_segmentation", "features", "filters", + "geometry", "io", "kdtree", "keypoints", "ml", "octree", "recognition", + "registration", "sample_consensus", "search", "segmentation", "stereo", + "surface", "tracking", "visualization"], + "tools": ["features", "filters", "geometry", "gpu_kinfu", "gpu_kinfu_large_scale", + "io", "kdtree", "keypoints", "ml", "octree", "recognition", "registration", + "sample_consensus", "search", "segmentation", "surface", "visualization"], + } + + def _is_header_only(self, component): + return component in {"2d", "cuda_common", "geometry"} + + @property + def _extra_libs(self): + return {"io": ["pcl_io_ply"]} + + def _enabled_components(self, opts=None): + opts = opts or self.options + return {c for c in self._internal_deps if opts.get_safe(c)} | {"common"} + + def _disabled_components(self, opts=None): + opts = opts or self.options + return {c for c in self._internal_deps if not opts.get_safe(c)} - {"common"} + + def _used_ext_deps(self, opts): + all_deps = set() + for component in self._enabled_components(opts): + all_deps.update(self._external_deps.get(component, [])) + all_deps.update(self._external_optional_deps.get(component, [])) + return all_deps + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + + 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 system_requirements(self): + if self._is_enabled("vtk"): + # TODO: add vtk/system package? + # https://repology.org/project/vtk/versions + package_manager.Apt(self).install(["libvtk9-dev"], update=True, check=True) + package_manager.Dnf(self).install(["vtk-devel"], update=True, check=True) + package_manager.Yum(self).install(["vtk-devel"], update=True, check=True) + package_manager.PacMan(self).install(["vtk"], update=True, check=True) + package_manager.Zypper(self).install(["vtk"], update=True, check=True) + package_manager.Pkg(self).install(["vtk9"], update=True, check=True) + package_manager.Brew(self).install(["vtk"], update=True, check=True) + if self.settings.os == "Windows": + self.output.warning("VTK must be installed manually on Windows.") + + def _is_enabled(self, dep): + always_available = ["boost", "eigen", "zlib"] + is_available = self.options.get_safe(f"with_{dep}") or dep in always_available + is_used = dep in self._used_ext_deps(self.options) + return is_available and is_used + + def requirements(self): + self.requires("boost/1.82.0", transitive_headers=True) + self.requires("eigen/3.4.0", transitive_headers=True) + if self._is_enabled("flann"): + self.requires("flann/1.9.2", transitive_headers=True) + if self._is_enabled("png"): + self.requires("libpng/1.6.40") + if self._is_enabled("qhull"): + self.requires("qhull/8.0.1", transitive_headers=True) + if self._is_enabled("qt"): + self.requires("qt/6.5.1") + if self._is_enabled("libusb"): + self.requires("libusb/1.0.26", transitive_headers=True) + if self._is_enabled("pcap"): + self.requires("libpcap/1.10.4") + if self._is_enabled("opengl"): + # OpenGL is only used if VTK is available + self.requires("opengl/system", transitive_headers=True) + self.requires("freeglut/3.4.0", transitive_headers=True) + self.requires("glew/2.2.0", transitive_headers=True) + self.requires("glu/system", transitive_headers=True) + if self._is_enabled("opencv"): + self.requires("opencv/4.5.5", transitive_headers=True) + if self._is_enabled("zlib"): + self.requires("zlib/1.2.13") + # TODO: + # self.requires("vtk/9.x.x", transitive_headers=True) + # self.requires("openni/x.x.x", transitive_headers=True) + # self.requires("openni2/x.x.x", transitive_headers=True) + # self.requires("ensenso/x.x.x", transitive_headers=True) + # self.requires("davidsdk/x.x.x", transitive_headers=True) + # self.requires("dssdk/x.x.x", transitive_headers=True) + # self.requires("rssdk/x.x.x", transitive_headers=True) + # self.requires("metslib/x.x.x", transitive_headers=True) + # self.requires("openmp/system", transitive_headers=True) + # self.requires("opennurbs/x.x.x", transitive_headers=True) + # self.requires("poisson4/x.x.x", transitive_headers=True) + + def package_id(self): + used_deps = self._used_ext_deps(self.info.options) + # Disable options that have no effect + all_opts = [opt for opt, value in self.info.options.items()] + for opt in all_opts: + if opt.startswith("with_") and opt.split("_", 1)[1] not in used_deps: + setattr(self.info.options, opt, False) + + def validate(self): + enabled_components = self._enabled_components() + for component in sorted(enabled_components): + for dep in self._external_deps.get(component, []): + if not self._is_enabled(dep): + raise ConanInvalidConfiguration( + f"'with_{dep}=True' is required when '{component}' is enabled." + ) + for dep in self._internal_deps[component]: + if dep not in enabled_components: + raise ConanInvalidConfiguration( + f"'{dep}=True' is required when '{component}' is enabled." + ) + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["PCL_SHARED_LIBS"] = self.options.shared + tc.cache_variables["WITH_LIBUSB"] = self._is_enabled("libusb") + tc.cache_variables["WITH_OPENGL"] = self._is_enabled("opengl") + tc.cache_variables["WITH_OPENMP"] = self._is_enabled("openmp") + tc.cache_variables["WITH_PCAP"] = self._is_enabled("pcap") + tc.cache_variables["WITH_PNG"] = self._is_enabled("png") + tc.cache_variables["WITH_QHULL"] = self._is_enabled("qhull") + tc.cache_variables["WITH_QT"] = self._is_enabled("qt") + tc.cache_variables["WITH_VTK"] = self._is_enabled("vtk") + tc.cache_variables["WITH_CUDA"] = self._is_enabled("cuda") + tc.cache_variables["BUILD_CUDA"] = self._is_enabled("cuda") + tc.cache_variables["BUILD_GPU"] = self._is_enabled("cuda") + tc.cache_variables["WITH_SYSTEM_ZLIB"] = True + tc.cache_variables["PCL_ONLY_CORE_POINT_TYPES"] = self.options.precompile_only_core_point_types + # The default False setting breaks OpenGL detection in CMake + tc.cache_variables["PCL_ALLOW_BOTH_SHARED_AND_STATIC_DEPENDENCIES"] = True + tc.variables["OpenGL_GL_PREFERENCE"] = "GLVND" + + if not self.options.add_build_type_postfix: + tc.cache_variables["CMAKE_DEBUG_POSTFIX"] = "" + tc.cache_variables["CMAKE_RELEASE_POSTFIX"] = "" + tc.cache_variables["CMAKE_RELWITHDEBINFO_POSTFIX"] = "" + tc.cache_variables["CMAKE_MINSIZEREL_POSTFIX"] = "" + + tc.cache_variables["BUILD_tools"] = self.options.tools + tc.cache_variables["BUILD_apps"] = self.options.apps + tc.cache_variables["BUILD_examples"] = False + enabled = sorted(self._enabled_components()) + disabled = sorted(self._disabled_components()) + self.output.info("Enabled components: " + ", ".join(enabled)) + self.output.info("Disabled components: " + ", ".join(disabled)) + for comp in enabled: + tc.cache_variables[f"BUILD_{comp}"] = True + for comp in disabled: + tc.cache_variables[f"BUILD_{comp}"] = False + + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("eigen", "cmake_file_name", "EIGEN") + deps.set_property("flann", "cmake_file_name", "FLANN") + deps.set_property("flann", "cmake_target_name", "FLANN::FLANN") + deps.set_property("libpcap", "cmake_file_name", "PCAP") + deps.set_property("qhull", "cmake_file_name", "QHULL") + deps.set_property("qhull", "cmake_target_name", "QHULL::QHULL") + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + for mod in ["Eigen", "FLANN", "GLEW", "Pcap", "Qhull", "libusb"]: + os.remove(os.path.join(self.source_folder, "cmake", "Modules", f"Find{mod}.cmake")) + + def build(self): + self._patch_sources() + 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, "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + # Remove MSVC runtime libraries + for dll_pattern_to_remove in ["concrt*.dll", "msvcp*.dll", "vcruntime*.dll"]: + rm(self, dll_pattern_to_remove, os.path.join(self.package_folder, "bin")) + + @property + def _version_suffix(self): + semver = Version(self.version) + return f"{semver.major}.{semver.minor}" + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "PCL") + self.cpp_info.set_property("cmake_target_name", "PCL::PCL") + self.cpp_info.set_property("cmake_find_mode", "both") + + for name in sorted(self._enabled_components()): + component = self.cpp_info.components[name] + component.names["cmake_find_package"] = name + component.names["cmake_find_package_multi"] = name + component.set_property("cmake_file_name", name) + component.set_property("cmake_module_file_name", name) + component.set_property("cmake_target_name", f"PCL::{name}") + component.set_property("pkg_config_name", f"pcl_{name}-{self._version_suffix}") + component.includedirs = [os.path.join("include", f"pcl-{self._version_suffix}")] + if not self._is_header_only(name): + component.libs = [f"pcl_{name}"] + component.libs += self._extra_libs.get(name, []) + component.requires += self._internal_deps[name] + for opt_dep in self._internal_optional_deps.get(name, []): + if self.options.get_safe(opt_dep): + component.requires.append(opt_dep) + for dep in self._external_deps.get(name, []) + self._external_optional_deps.get(name, []): + component.requires += self._ext_dep_to_conan_target(dep) + self.output.info(f"Component {name} requires: {component.requires}") + + if self.options.apps: + component = self.cpp_info.components["apps"] + component.libs = [] + component.includedirs = [] + component.requires = self._internal_optional_deps["apps"] + for dep in self._external_optional_deps["apps"]: + component.requires += self._ext_dep_to_conan_target(dep) + + if self.options.tools: + component = self.cpp_info.components["tools"] + component.libs = [] + component.includedirs = [] + component.requires = self._internal_optional_deps["tools"] + for dep in self._external_optional_deps["tools"]: + component.requires += self._ext_dep_to_conan_target(dep) + + common = self.cpp_info.components["common"] + if not self.options.shared: + if self.settings.os in ["Linux", "FreeBSD"]: + common.system_libs.append("pthread") + if self.options.with_openmp: + if self.settings.os == "Linux": + if self.settings.compiler == "gcc": + common.sharedlinkflags.append("-fopenmp") + common.exelinkflags.append("-fopenmp") + elif self.settings.os == "Windows": + if self.settings.compiler == "msvc": + common.system_libs.append("delayimp") + elif self.settings.compiler == "gcc": + common.system_libs.append("gomp") + if self.settings.os == "Windows": + common.system_libs.append("ws2_32") + + # TODO: Legacy, to be removed on Conan 2.0 + self.cpp_info.names["cmake_find_package"] = "PCL" + self.cpp_info.names["cmake_find_package_multi"] = "PCL" diff --git a/recipes/pcl/all/patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch b/recipes/pcl/all/patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch new file mode 100644 index 0000000000000..5dfeedf59e5f4 --- /dev/null +++ b/recipes/pcl/all/patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch @@ -0,0 +1,25 @@ +From a975f68d2e399a1563fe0d66b2c048978f0282d1 Mon Sep 17 00:00:00 2001 +From: Esteban DUGUEPEROUX +Date: Mon, 7 Aug 2023 23:50:12 +0200 +Subject: [PATCH] Add Eigen3::Eigen target in pcl_common target + +--- + common/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt +index 48e1a202e..e0ced5241 100644 +--- a/common/CMakeLists.txt ++++ b/common/CMakeLists.txt +@@ -179,7 +179,7 @@ target_include_directories(${LIB_NAME} PUBLIC + $ + ) + +-target_link_libraries(${LIB_NAME} Boost::boost) ++target_link_libraries(${LIB_NAME} Boost::boost Eigen3::Eigen) + + if(MSVC AND NOT (MSVC_VERSION LESS 1915)) + # MSVC resolved a byte alignment issue in compiler version 15.9 +-- +2.41.0 + diff --git a/recipes/pcl/all/patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch b/recipes/pcl/all/patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch new file mode 100644 index 0000000000000..35fba73e8b067 --- /dev/null +++ b/recipes/pcl/all/patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch @@ -0,0 +1,38 @@ +From 0bc2f2cc369f7d013ee5c29075188c4e26ea6f87 Mon Sep 17 00:00:00 2001 +From: Markus Vieth +Date: Sat, 15 Jul 2023 15:49:25 +0200 +Subject: [PATCH] MovingLeastSquares: reduce the number of instantiations to + reduce compile time PCL_XYZ_POINT_TYPES currently contains 18 types, so + previously, MLS was instantiated for 18*18=324 different type combinations. + However, among those were instantiations which are likely used by nobody + (like `pcl::MovingLeastSquares`). With + these changes, MLS is only instantiated 6*6+(18-6)=48 times. The most common + type combinations should be covered, but if someone uses an uncommon + combinations, they have to add `#define PCL_NO_PRECOMPILE` before including + `pcl/surface/mls.h` to avoid linker errors. + +--- + surface/src/mls.cpp | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/surface/src/mls.cpp b/surface/src/mls.cpp +index ba2fd655300..c948f4d19e1 100644 +--- a/surface/src/mls.cpp ++++ b/surface/src/mls.cpp +@@ -80,6 +80,15 @@ pcl::MLSResult::calculatePrincipalCurvatures (const double u, const double v) co + PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointXYZ)(pcl::PointXYZI)(pcl::PointXYZRGB)(pcl::PointXYZRGBA)(pcl::PointXYZRGBNormal)(pcl::PointNormal)) + ((pcl::PointXYZ)(pcl::PointXYZI)(pcl::PointXYZRGB)(pcl::PointXYZRGBA)(pcl::PointXYZRGBNormal)(pcl::PointNormal))) + #else +- PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, (PCL_XYZ_POINT_TYPES)(PCL_XYZ_POINT_TYPES)) ++ // PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, (PCL_XYZ_POINT_TYPES)(PCL_XYZ_POINT_TYPES)) ++ // All instantiations that are available with PCL_ONLY_CORE_POINT_TYPES, plus instantiations for all XYZ types where PointInT and PointOutT are the same ++ #define PCL_INSTANTIATE_MovingLeastSquaresSameInAndOut(T) template class PCL_EXPORTS pcl::MovingLeastSquares; ++ PCL_INSTANTIATE(MovingLeastSquaresSameInAndOut, PCL_XYZ_POINT_TYPES) ++ PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointXYZ))((pcl::PointXYZI)(pcl::PointXYZRGB)(pcl::PointXYZRGBA)(pcl::PointXYZRGBNormal)(pcl::PointNormal))) ++ PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointXYZI))((pcl::PointXYZ)(pcl::PointXYZRGB)(pcl::PointXYZRGBA)(pcl::PointXYZRGBNormal)(pcl::PointNormal))) ++ PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointXYZRGB))((pcl::PointXYZ)(pcl::PointXYZI)(pcl::PointXYZRGBA)(pcl::PointXYZRGBNormal)(pcl::PointNormal))) ++ PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointXYZRGBA))((pcl::PointXYZ)(pcl::PointXYZI)(pcl::PointXYZRGB)(pcl::PointXYZRGBNormal)(pcl::PointNormal))) ++ PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointXYZRGBNormal))((pcl::PointXYZ)(pcl::PointXYZI)(pcl::PointXYZRGB)(pcl::PointXYZRGBA)(pcl::PointNormal))) ++ PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, ((pcl::PointNormal))((pcl::PointXYZ)(pcl::PointXYZI)(pcl::PointXYZRGB)(pcl::PointXYZRGBA)(pcl::PointXYZRGBNormal))) + #endif + #endif // PCL_NO_PRECOMPILE diff --git a/recipes/pcl/all/patches/0001-cmake_use_conan_targets.patch b/recipes/pcl/all/patches/0001-cmake_use_conan_targets.patch new file mode 100644 index 0000000000000..5461a0bfed49e --- /dev/null +++ b/recipes/pcl/all/patches/0001-cmake_use_conan_targets.patch @@ -0,0 +1,52 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -297,7 +297,7 @@ + # OpenMP (optional) + option(WITH_OPENMP "Build with parallelization using OpenMP" TRUE) + if(WITH_OPENMP) +- find_package(OpenMP COMPONENTS C CXX) ++ find_package(OpenMP REQUIRED COMPONENTS C CXX) + endif() + if(OpenMP_FOUND) + string(APPEND CMAKE_C_FLAGS " ${OpenMP_C_FLAGS}") +@@ -319,11 +319,11 @@ + find_package(Threads REQUIRED) + + # Eigen (required) +-find_package(Eigen 3.3 REQUIRED) ++find_package(EIGEN REQUIRED CONFIG) + include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) + + # FLANN (required) +-find_package(FLANN 1.9.1 REQUIRED) ++find_package(FLANN CONFIG) + if(NOT (${FLANN_LIBRARY_TYPE} MATCHES ${PCL_FLANN_REQUIRED_TYPE}) AND NOT (${PCL_FLANN_REQUIRED_TYPE} MATCHES "DONTCARE")) + message(FATAL_ERROR "Flann was selected with ${PCL_FLANN_REQUIRED_TYPE} but found as ${FLANN_LIBRARY_TYPE}") + endif() +@@ -359,7 +359,7 @@ + # LibPNG + option(WITH_PNG "PNG file support" TRUE) + if(WITH_PNG) +- find_package(PNG) ++ find_package(PNG REQUIRED CONFIG) + if(PNG_FOUND) + set(HAVE_PNG ON) + include_directories(SYSTEM "${PNG_INCLUDE_DIR}") +@@ -369,7 +369,7 @@ + # Qhull + option(WITH_QHULL "Include convex-hull operations" TRUE) + if(WITH_QHULL) +- find_package(Qhull) ++ find_package(QHULL REQUIRED CONFIG) + if(NOT (${QHULL_LIBRARY_TYPE} MATCHES ${PCL_QHULL_REQUIRED_TYPE}) AND NOT (${PCL_QHULL_REQUIRED_TYPE} MATCHES "DONTCARE")) + message(FATAL_ERROR "Qhull was selected with ${PCL_QHULL_REQUIRED_TYPE} but found as ${QHULL_LIBRARY_TYPE}") + endif() +@@ -404,7 +404,7 @@ + #Find PCAP + option(WITH_PCAP "pcap file capabilities in Velodyne HDL driver" TRUE) + if(WITH_PCAP) +- find_package(Pcap) ++ find_package(PCAP REQUIRED CONFIG) + endif() + + # OpenGL and GLUT diff --git a/recipes/pcl/all/patches/0001-fix-FindOpenNI-bug.patch b/recipes/pcl/all/patches/0001-fix-FindOpenNI-bug.patch new file mode 100644 index 0000000000000..34cf4a671e285 --- /dev/null +++ b/recipes/pcl/all/patches/0001-fix-FindOpenNI-bug.patch @@ -0,0 +1,32 @@ +--- cmake/Modules/FindOpenNI.cmake ++++ cmake/Modules/FindOpenNI.cmake +@@ -52,7 +52,12 @@ + + # Libraries + if(NOT WIN32) +- find_package(libusb REQUIRED) ++ find_package(libusb QUIET) ++ if (NOT libusb_FOUND) ++ message(WARNING "Found OpenNI library, but required libusb is not available") ++ set(OPENNI_FOUND FALSE) ++ return() ++ endif() + set(OPENNI_LIBRARIES ${OPENNI_LIBRARY} libusb::libusb) + else() + set(OPENNI_LIBRARIES ${OPENNI_LIBRARY}) +--- cmake/Modules/FindOpenNI2.cmake ++++ cmake/Modules/FindOpenNI2.cmake +@@ -42,7 +42,12 @@ + + # Libraries + if(NOT WIN32) +- find_package(libusb REQUIRED) ++ find_package(libusb QUIET) ++ if (NOT libusb_FOUND) ++ message(WARNING "Found OpenNI2 library, but required libusb is not available") ++ set(OPENNI2_FOUND FALSE) ++ return() ++ endif() + set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY} libusb::libusb) + else() + set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY}) diff --git a/recipes/pcl/all/test_package/CMakeLists.txt b/recipes/pcl/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..57794a612df2a --- /dev/null +++ b/recipes/pcl/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(PCL REQUIRED surface CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PRIVATE PCL::filters) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/pcl/all/test_package/conanfile.py b/recipes/pcl/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/pcl/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/pcl/all/test_package/test_package.cpp b/recipes/pcl/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..cca717d08eb8f --- /dev/null +++ b/recipes/pcl/all/test_package/test_package.cpp @@ -0,0 +1,73 @@ +// Copied from https://github.com/PointCloudLibrary/pcl/blob/pcl-1.13.1/examples/filters/example_extract_indices.cpp +/* + * Software License Agreement (BSD License) + * + * Point Cloud Library (PCL) - www.pointclouds.org + * Copyright (c) 2009-2011, Willow Garage, Inc. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Willow Garage, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * $Id: example_ExtractIndices.cpp 4117 2012-01-31 17:56:02Z aichim $ + * + */ + +#include + +#include + +int +main (int, char**) +{ + using PointType = pcl::PointXYZ; + using CloudType = pcl::PointCloud; + CloudType::Ptr cloud (new CloudType); + cloud->is_dense = false; + PointType p; + for (unsigned int i = 0; i < 5; ++i) + { + p.x = p.y = p.z = static_cast (i); + cloud->push_back (p); + } + + std::cout << "Cloud has " << cloud->size () << " points." << std::endl; + + pcl::PointIndices indices; + indices.indices.push_back (0); + indices.indices.push_back (2); + + pcl::ExtractIndices extract_indices; + extract_indices.setIndices (pcl::make_shared (indices)); + extract_indices.setInputCloud (cloud); + pcl::PointCloud::Ptr output (new pcl::PointCloud); + extract_indices.filter (*output); + + std::cout << "Output has " << output->size () << " points." << std::endl; + return (0); +} diff --git a/recipes/pcl/config.yml b/recipes/pcl/config.yml new file mode 100644 index 0000000000000..aac1819cc10c0 --- /dev/null +++ b/recipes/pcl/config.yml @@ -0,0 +1,3 @@ +versions: + "1.13.1": + folder: all From 31978b690b3dca0ee0ddb59d6bf5afe19ba839d9 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:42:22 +0200 Subject: [PATCH 1344/4087] (#19334) [bot] Update list of references (prod-v2/ListPackages) --- .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 09348eebe130c..0732b71137914 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -96,6 +96,7 @@ required_for_references: - boost - boost-ext-ut - boost-leaf +- boostdep - box2d - breakpad - brigand @@ -637,6 +638,7 @@ required_for_references: - libx264 - libx265 - libxcrypt +- libxft - libxls - libxlsxwriter - libxml2 @@ -854,6 +856,7 @@ required_for_references: - picobench - picojson - picosha2 +- pipes - pixman - pkgconf - platform.delegates From 407df7256d184ed32c64a11885ad230f256c3b2f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 22 Aug 2023 18:08:21 +0300 Subject: [PATCH 1345/4087] (#18814) fltk: migrate to Conan v2 * fltk: migrate to Conan v2 * fltk: restore VirtualRunEnv in test_package * fltk: bump deps * fltk: add missing macOS system frameworks * Remove incorrect system framework * Remove opengl32 framework dep --- recipes/fltk/all/CMakeLists.txt | 7 - recipes/fltk/all/conandata.yml | 9 +- recipes/fltk/all/conanfile.py | 128 +++++++++--------- recipes/fltk/all/test_package/CMakeLists.txt | 7 +- recipes/fltk/all/test_package/conanfile.py | 20 ++- .../fltk/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/fltk/all/test_v1_package/conanfile.py | 16 +++ 7 files changed, 105 insertions(+), 90 deletions(-) delete mode 100644 recipes/fltk/all/CMakeLists.txt create mode 100644 recipes/fltk/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/fltk/all/test_v1_package/conanfile.py diff --git a/recipes/fltk/all/CMakeLists.txt b/recipes/fltk/all/CMakeLists.txt deleted file mode 100644 index 60dd71d7363c3..0000000000000 --- a/recipes/fltk/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/fltk/all/conandata.yml b/recipes/fltk/all/conandata.yml index 1b3f085545004..0f349ed128921 100644 --- a/recipes/fltk/all/conandata.yml +++ b/recipes/fltk/all/conandata.yml @@ -5,9 +5,6 @@ sources: patches: "1.3.8": - - base_path: "source_subfolder" - patch_file: "patches/1.3.8-0001-remove-fluid.patch" - - base_path: "source_subfolder" - patch_file: "patches/1.3.8-0002-fix-resources.patch" - - base_path: "source_subfolder" - patch_file: "patches/1.3.8-0003-build-static-only-on-static.patch" + - patch_file: "patches/1.3.8-0001-remove-fluid.patch" + - patch_file: "patches/1.3.8-0002-fix-resources.patch" + - patch_file: "patches/1.3.8-0003-build-static-only-on-static.patch" diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 0533063aab585..a7feaec5a6e94 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -1,19 +1,22 @@ import os -import conan.tools.files as tools from conan import ConanFile -from conans import CMake +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.53.0" class FltkConan(ConanFile): name = "fltk" description = "Fast Light Toolkit is a cross-platform C++ GUI toolkit" - topics = ("fltk", "gui") - homepage = "https://www.fltk.org" - url = "https://github.com/conan-io/conan-center-index" license = "LGPL-2.0-custom" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.fltk.org" + topics = ("gui",) + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,31 +24,25 @@ class FltkConan(ConanFile): "with_gl": [True, False], "with_threads": [True, False], "with_gdiplus": [True, False], - "abi_version": "ANY" + "abi_version": ["ANY"], } default_options = { "shared": False, "fPIC": True, "with_gl": True, "with_threads": True, - "with_gdiplus": True + "with_gdiplus": True, } - generators = "cmake", "cmake_find_package_multi" - - @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 config_options(self): if self.settings.os == "Windows": del self.options.fPIC else: - del self.options.with_gdiplus + self.options.rm_safe("with_gdiplus") + if self.options.abi_version == None: _version_token = self.version.split(".") _version_major = int(_version_token[0]) @@ -56,84 +53,81 @@ def config_options(self): _version_minor = int(_version_token[1]) _version_patch = 0 self.options.abi_version = str( - int(_version_major) * 10000 + - int(_version_minor) * 100 + - int(_version_patch) + int(_version_major) * 10000 + int(_version_minor) * 100 + int(_version_patch) ) 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("zlib/1.2.12") - self.requires("libjpeg/9d") - self.requires("libpng/1.6.37") - if self.settings.os == "Linux": + self.requires("zlib/1.2.13") + self.requires("libjpeg/9e") + self.requires("libpng/1.6.40") + if self.settings.os in ["Linux", "FreeBSD"]: self.requires("opengl/system") self.requires("glu/system") - self.requires("fontconfig/2.13.93") + self.requires("fontconfig/2.14.2") self.requires("xorg/system") def source(self): - tools.get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions['OPTION_BUILD_SHARED_LIBS'] = self.options.shared - cmake.definitions['FLTK_BUILD_TEST'] = False - cmake.definitions['FLTK_BUILD_EXAMPLES'] = False - cmake.definitions['OPTION_USE_GL'] = self.options.with_gl - cmake.definitions['OPTION_USE_THREADS'] = self.options.with_threads - cmake.definitions['OPTION_BUILD_HTML_DOCUMENTATION'] = False - cmake.definitions['OPTION_BUILD_PDF_DOCUMENTATION'] = False + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["OPTION_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["FLTK_BUILD_TEST"] = False + tc.variables["FLTK_BUILD_EXAMPLES"] = False + tc.variables["OPTION_USE_GL"] = self.options.with_gl + tc.variables["OPTION_USE_THREADS"] = self.options.with_threads + tc.variables["OPTION_BUILD_HTML_DOCUMENTATION"] = False + tc.variables["OPTION_BUILD_PDF_DOCUMENTATION"] = False if self.options.abi_version: - cmake.definitions['OPTION_ABI_VERSION'] = self.options.abi_version - cmake.configure() - return cmake + tc.variables["OPTION_ABI_VERSION"] = self.options.abi_version + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(self, **patch) - - cmake = self._configure_cmake() + 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, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(self, os.path.join(self.package_folder, "share")) - tools.rmdir(self, os.path.join(self.package_folder, "FLTK.framework")) - tools.rmdir(self, os.path.join(self.package_folder, "CMake")) - tools.rm(self, "fltk-config*", os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "FLTK.framework")) + rmdir(self, os.path.join(self.package_folder, "CMake")) + rm(self, "fltk-config*", os.path.join(self.package_folder, "bin")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "fltk") self.cpp_info.set_property("cmake_target_name", "fltk::fltk") - - self.cpp_info.names["cmake_find_package"] = "fltk" - self.cpp_info.names["cmake_find_package_multi"] = "fltk" + self.cpp_info.libs = collect_libs(self) if self.options.shared and self.settings.os == "Windows": self.cpp_info.defines.append("FL_DLL") - self.cpp_info.libs = tools.collect_libs(self) if self.settings.os in ("Linux", "FreeBSD"): if self.options.with_threads: - self.cpp_info.system_libs.extend(['pthread', 'dl']) + self.cpp_info.system_libs.extend(["pthread", "dl"]) if self.options.with_gl: - self.cpp_info.system_libs.extend(['GL', 'GLU']) - if self.settings.os == "Macos": - self.cpp_info.frameworks = ['Cocoa', 'OpenGL', 'IOKit', 'Carbon', 'CoreFoundation', 'CoreVideo'] - if self.settings.os == "Windows": - self.cpp_info.system_libs = [ - "gdi32", - "imm32", - "msimg32", - "ole32", - "oleaut32", - "uuid", + self.cpp_info.system_libs.extend(["GL", "GLU"]) + if is_apple_os(self): + self.cpp_info.frameworks = [ + "AppKit", "ApplicationServices", "Carbon", "Cocoa", "CoreFoundation", "CoreGraphics", + "CoreText", "CoreVideo", "Foundation", "IOKit", "OpenGL", ] + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["gdi32", "imm32", "msimg32", "ole32", "oleaut32", "uuid"] if self.options.get_safe("with_gdiplus"): self.cpp_info.system_libs.append("gdiplus") + + # TODO: to remove in conan v2 once legacy generators removed + self.cpp_info.names["cmake_find_package"] = "fltk" + self.cpp_info.names["cmake_find_package_multi"] = "fltk" diff --git a/recipes/fltk/all/test_package/CMakeLists.txt b/recipes/fltk/all/test_package/CMakeLists.txt index a163bc26a443b..cf30c297c5531 100644 --- a/recipes/fltk/all/test_package/CMakeLists.txt +++ b/recipes/fltk/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(fltk REQUIRED CONFIG) diff --git a/recipes/fltk/all/test_package/conanfile.py b/recipes/fltk/all/test_package/conanfile.py index a500b98343c74..ef5d7042163ec 100644 --- a/recipes/fltk/all/test_package/conanfile.py +++ b/recipes/fltk/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,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/fltk/all/test_v1_package/CMakeLists.txt b/recipes/fltk/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/fltk/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/fltk/all/test_v1_package/conanfile.py b/recipes/fltk/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a500b98343c74 --- /dev/null +++ b/recipes/fltk/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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 7f826fd40c7aebbc248d4d5b2495a69245cbf154 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Tue, 22 Aug 2023 17:49:01 +0200 Subject: [PATCH 1346/4087] (#19066) aws-c-cal: add version 0.6.1 * aws-c-cal: add version 0.6.1 * cleanup: remove test_v1_package folder * Revert "cleanup: remove test_v1_package folder" This reverts commit f3d4ca5e4f19312285ddf339f5d85d736f633e5c. --- recipes/aws-c-cal/all/conandata.yml | 8 ++++++ recipes/aws-c-cal/all/conanfile.py | 4 ++- .../0002-apple-corefoundation-0.6.1.patch | 26 +++++++++++++++++++ recipes/aws-c-cal/config.yml | 2 ++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch diff --git a/recipes/aws-c-cal/all/conandata.yml b/recipes/aws-c-cal/all/conandata.yml index e1b848e4dfa2d..c1c97333e9288 100644 --- a/recipes/aws-c-cal/all/conandata.yml +++ b/recipes/aws-c-cal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -18,6 +21,11 @@ sources: url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.11.tar.gz" sha256: "ef46e121b2231a0b19afce8af4b32d77501df4d470e926990918456636cd83c0" patches: + "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" diff --git a/recipes/aws-c-cal/all/conanfile.py b/recipes/aws-c-cal/all/conanfile.py index bb8fb82e75aab..e6dc85b56045f 100644 --- a/recipes/aws-c-cal/all/conanfile.py +++ b/recipes/aws-c-cal/all/conanfile.py @@ -53,8 +53,10 @@ def requirements(self): # without it for conan v2 (we would have to required aws-c-common in test package, but we can't know # which version to require in test package) self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) - else: + elif Version(self.version) <= "0.5.20": self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + else: + self.requires("aws-c-common/0.9.0", 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.6.1.patch b/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch new file mode 100644 index 0000000000000..616d8257a2980 --- /dev/null +++ b/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.1.patch @@ -0,0 +1,26 @@ +--- 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/config.yml b/recipes/aws-c-cal/config.yml index f969df4acc583..7fb368557bdce 100644 --- a/recipes/aws-c-cal/config.yml +++ b/recipes/aws-c-cal/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.1": + folder: all "0.5.20": folder: all "0.5.19": From 8d1e68463b5bf691ec6e8c36cb5c42f23fc4258c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 22 Aug 2023 19:31:23 +0300 Subject: [PATCH 1347/4087] (#19267) rpclib: migrate to Conan v2 --- recipes/rpclib/all/CMakeLists.txt | 9 -- recipes/rpclib/all/conanfile.py | 103 +++++++++++------- .../rpclib/all/test_package/CMakeLists.txt | 7 +- recipes/rpclib/all/test_package/conanfile.py | 21 +++- .../rpclib/all/test_v1_package/CMakeLists.txt | 8 ++ .../rpclib/all/test_v1_package/conanfile.py | 15 +++ 6 files changed, 104 insertions(+), 59 deletions(-) delete mode 100644 recipes/rpclib/all/CMakeLists.txt create mode 100644 recipes/rpclib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rpclib/all/test_v1_package/conanfile.py diff --git a/recipes/rpclib/all/CMakeLists.txt b/recipes/rpclib/all/CMakeLists.txt deleted file mode 100644 index de7e444eb2469..0000000000000 --- a/recipes/rpclib/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) - -conan_basic_setup() -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory("source_subfolder") diff --git a/recipes/rpclib/all/conanfile.py b/recipes/rpclib/all/conanfile.py index 30a8488efd8a1..f7ea155c14f7c 100644 --- a/recipes/rpclib/all/conanfile.py +++ b/recipes/rpclib/all/conanfile.py @@ -1,37 +1,51 @@ -from conans import ConanFile, tools, CMake -from conan.tools.microsoft import msvc_runtime_flag 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, export_conandata_patches, get, rmdir, rename, mkdir +from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class rpclibConan(ConanFile): name = "rpclib" description = "A modern C++ msgpack-RPC server and client library." license = "MIT" - topics = ("rpc", "ipc", "rpc-server") - homepage = "https://github.com/rpclib/rpclib/" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "patches/*"] - generators = "cmake" + homepage = "https://github.com/rpclib/rpclib/" + topics = ("rpc", "ipc", "rpc-server") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "msvc": "14.1", + "gcc": "5", + "clang": "5", + "apple-clang": "5.1", + } + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -39,49 +53,58 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.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) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if is_msvc_static_runtime(self): + tc.variables["RPCLIB_MSVC_STATIC_RUNTIME"] = True + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - if "MT" in str(msvc_runtime_flag(self)): - self._cmake.definitions["RPCLIB_MSVC_STATIC_RUNTIME"] = True - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.md", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if self.settings.os == "Windows" and self.options.shared: + mkdir(self, self.package_path / "bin") + for dll in (self.package_path / "lib").glob("*.dll"): + rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.set_property("cmake_file_name", "rpclib") self.cpp_info.set_property("cmake_target_name", "rpclib::rpc") self.cpp_info.set_property("pkg_config_name", "rpclib") - # Fix for installing dll to lib folder - # - Default CMAKE installs the dll to the lib folder - # causing the test_package to fail - if self.settings.os in ["Windows"]: - if self.options.shared: - self.cpp_info.components["_rpc"].bindirs.append( - os.path.join(self.package_folder, "lib")) - # TODO: Remove after Conan 2.0 self.cpp_info.components["_rpc"].names["cmake_find_package"] = "rpc" self.cpp_info.components["_rpc"].names["cmake_find_package_multi"] = "rpc" self.cpp_info.components["_rpc"].libs = ["rpc"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["_rpc"].system_libs = ["pthread"] - self.cpp_info.names["pkg_config"] = "librpc" diff --git a/recipes/rpclib/all/test_package/CMakeLists.txt b/recipes/rpclib/all/test_package/CMakeLists.txt index e585430312fe0..81dbfad0943b6 100644 --- a/recipes/rpclib/all/test_package/CMakeLists.txt +++ b/recipes/rpclib/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(rpclib CONFIG REQUIRED) +find_package(rpclib REQUIRED CONFIG) add_executable(example example.cpp) set_target_properties(example PROPERTIES CXX_STANDARD 14) diff --git a/recipes/rpclib/all/test_package/conanfile.py b/recipes/rpclib/all/test_package/conanfile.py index 67c12602a84f3..8d52b7021efe1 100644 --- a/recipes/rpclib/all/test_package/conanfile.py +++ b/recipes/rpclib/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_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) @@ -11,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run( os.path.join("bin", "example"), 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/rpclib/all/test_v1_package/CMakeLists.txt b/recipes/rpclib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rpclib/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/rpclib/all/test_v1_package/conanfile.py b/recipes/rpclib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..67c12602a84f3 --- /dev/null +++ b/recipes/rpclib/all/test_v1_package/conanfile.py @@ -0,0 +1,15 @@ +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): + self.run( os.path.join("bin", "example"), run_environment=True ) From ff06bf6a60038ad7d76e20fc66587cf51956d8f1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 22 Aug 2023 20:13:16 +0300 Subject: [PATCH 1348/4087] (#19268) duktape: migrate to Conan v2 * duktape: migrate to Conan v2 * duktape: fix shared Windows builds --- recipes/duktape/all/CMakeLists.txt | 14 +--- recipes/duktape/all/conanfile.py | 81 ++++++++++--------- .../duktape/all/test_package/CMakeLists.txt | 8 +- recipes/duktape/all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../duktape/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 88 insertions(+), 61 deletions(-) create mode 100644 recipes/duktape/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/duktape/all/test_v1_package/conanfile.py diff --git a/recipes/duktape/all/CMakeLists.txt b/recipes/duktape/all/CMakeLists.txt index 76bab4dba57c0..cc4f8cfa2df77 100644 --- a/recipes/duktape/all/CMakeLists.txt +++ b/recipes/duktape/all/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 2.8.12) - +cmake_minimum_required(VERSION 3.12) project(duktape C) -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/src/*.c) -file(GLOB HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/src/*.h) +file(GLOB SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/src/*.c) +file(GLOB HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/src/*.h) add_library(duktape ${SOURCES} ${HEADERS}) set_target_properties(duktape PROPERTIES PUBLIC_HEADER "${HEADERS}") @@ -14,10 +10,8 @@ if (UNIX AND NOT APPLE AND NOT ANDROID) target_link_libraries(duktape m) endif() +include(GNUInstallDirs) install( TARGETS duktape - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include ) diff --git a/recipes/duktape/all/conanfile.py b/recipes/duktape/all/conanfile.py index 3e582932bd595..588a96a8c0f57 100644 --- a/recipes/duktape/all/conanfile.py +++ b/recipes/duktape/all/conanfile.py @@ -1,29 +1,33 @@ import os -from conans import CMake, ConanFile, tools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" + class DuktapeConan(ConanFile): name = "duktape" - license = "MIT" description = "Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint." - topics = ("javascript", "engine", "embeddable", "compact") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://duktape.org" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + topics = ("javascript", "engine", "embeddable", "compact") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} + options = { + "shared": [True, False], + "fPIC": [True, False], + } default_options = { "shared": False, "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -31,44 +35,41 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + if self.settings.os == "Windows" and self.options.shared: + # Duktape has a configure script with a number of options. + # However, it requires python 2 and PyYAML package + # which is quite an unusual combination to have. + # The most crucial option is --dll which enables + # DUK_F_DLL_BUILD and the following defines. + tc.preprocessor_definitions["DUK_EXTERNAL_DECL"] = "extern __declspec(dllexport)" + tc.preprocessor_definitions["DUK_EXTERNAL"] = "__declspec(dllexport)" + tc.generate() def build(self): - # Duktape has configure script with a number of options. - # However it requires python 2 and PyYAML package - # which is quite an unusual combination to have. - # The most crucial option is --dll which just flips this define. - if self.settings.os == "Windows" and self.options.shared: - tools.replace_in_file( - os.path.join(self._source_subfolder, "src", "duk_config.h"), - "#undef DUK_F_DLL_BUILD", - "#define DUK_F_DLL_BUILD", - ) - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) 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 = ["duktape"] - if not self.options.shared and str(self.settings.os) in ( - "Linux", - "FreeBSD", - "SunOS", - ): + if not self.options.shared and self.settings.os in ("Linux", "FreeBSD", "SunOS"): self.cpp_info.system_libs = ["m"] diff --git a/recipes/duktape/all/test_package/CMakeLists.txt b/recipes/duktape/all/test_package/CMakeLists.txt index 526e8d40c66a2..e6adea9e794dd 100644 --- a/recipes/duktape/all/test_package/CMakeLists.txt +++ b/recipes/duktape/all/test_package/CMakeLists.txt @@ -1,9 +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(TARGETS) +find_package(duktape REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.c) -target_link_libraries(${CMAKE_PROJECT_NAME} CONAN_PKG::duktape) +target_link_libraries(${CMAKE_PROJECT_NAME} duktape::duktape) diff --git a/recipes/duktape/all/test_package/conanfile.py b/recipes/duktape/all/test_package/conanfile.py index ca9da95670911..ef5d7042163ec 100644 --- a/recipes/duktape/all/test_package/conanfile.py +++ b/recipes/duktape/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 CMake, ConanFile, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/duktape/all/test_v1_package/CMakeLists.txt b/recipes/duktape/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/duktape/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/duktape/all/test_v1_package/conanfile.py b/recipes/duktape/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..d47b5097e761e --- /dev/null +++ b/recipes/duktape/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import CMake, ConanFile, 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): + self.run(os.path.join("bin", "test_package"), run_environment=True) From 1c06fbdc6cf1dfb08664e56168fa3ac988f40410 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Tue, 22 Aug 2023 10:42:25 -0700 Subject: [PATCH 1349/4087] (#19280) lyra: clean up package_info & old versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lyra: clean up package_info * lyra: clean up old versions * Update recipes/lyra/all/conanfile.py * Keep a few more minor versions around --------- Co-authored-by: Rubén Rincón Blanco --- recipes/lyra/all/conandata.yml | 36 +++++++------------ recipes/lyra/all/conanfile.py | 2 +- .../lyra/all/test_v1_package/CMakeLists.txt | 11 ------ recipes/lyra/all/test_v1_package/conanfile.py | 17 --------- .../lyra/all/test_v1_package/test_package.cpp | 6 ---- recipes/lyra/config.yml | 16 +++------ 6 files changed, 17 insertions(+), 71 deletions(-) delete mode 100644 recipes/lyra/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/lyra/all/test_v1_package/conanfile.py delete mode 100644 recipes/lyra/all/test_v1_package/test_package.cpp diff --git a/recipes/lyra/all/conandata.yml b/recipes/lyra/all/conandata.yml index f6627e78699fe..8d693ef2d527d 100644 --- a/recipes/lyra/all/conandata.yml +++ b/recipes/lyra/all/conandata.yml @@ -1,28 +1,16 @@ sources: - "1.0.0": - sha256: ede5446cdd2b74a8cbaa12b998e820d0a1489574649bd76e7e67e69cb841ae22 - url: https://github.com/bfgroup/Lyra/archive/lyra-1.0.tar.gz - "1.1.0": - sha256: c2d70a926f698fb7decb99c7215bb55ab770100f9574c290998bf91416bd8217 - url: https://github.com/bfgroup/Lyra/archive/1.1.tar.gz - "1.2.0": - sha256: 3134fb6d170ba78d139068232b12ca9948082fafc54a3373193c8b8d6e760cd9 - url: https://github.com/bfgroup/Lyra/archive/1.2.tar.gz - "1.3.0": - sha256: 1e9757b850d1afc14413ceb9eb47af5693f6f03a0f1231617fac39df8534db2b - url: https://github.com/bfgroup/Lyra/archive/1.3.tar.gz - "1.4.0": - sha256: 86cc0c4978312582393e196d534011a1f186db9e3e09ba34fd250c2a59ebf814 - url: https://github.com/bfgroup/Lyra/archive/1.4.tar.gz - "1.5.0": - sha256: 5a251ba8c1082875a6655cdcd11c3a7771cd9c40011f1b0e5ac8636054f27dfd - url: https://github.com/bfgroup/Lyra/archive/1.5.tar.gz - "1.5.1": - sha256: 11ccdfc6f776b9a2ebe987d9b4e492981f88f3642546fd1c2e1115741863cae0 - url: https://github.com/bfgroup/Lyra/archive/1.5.1.tar.gz - "1.6.0": - sha256: 919e92a9c02fea3f365a3a7bdccd8b306311a28a7f2044dac8e7651106d7b644 - url: https://github.com/bfgroup/Lyra/archive/1.6.tar.gz "1.6.1": sha256: a93f247ed89eba11ca36eb24c4f8ba7be636bf24e74aaaa8e1066e0954bec7e3 url: https://github.com/bfgroup/Lyra/archive/1.6.1.tar.gz + "1.6.0": + sha256: 919e92a9c02fea3f365a3a7bdccd8b306311a28a7f2044dac8e7651106d7b644 + url: https://github.com/bfgroup/Lyra/archive/1.6.tar.gz + "1.5.1": + sha256: 11ccdfc6f776b9a2ebe987d9b4e492981f88f3642546fd1c2e1115741863cae0 + url: https://github.com/bfgroup/Lyra/archive/1.5.1.tar.gz + "1.4.0": + sha256: 86cc0c4978312582393e196d534011a1f186db9e3e09ba34fd250c2a59ebf814 + url: https://github.com/bfgroup/Lyra/archive/1.4.tar.gz + "1.3.0": + sha256: 1e9757b850d1afc14413ceb9eb47af5693f6f03a0f1231617fac39df8534db2b + url: https://github.com/bfgroup/Lyra/archive/1.3.tar.gz diff --git a/recipes/lyra/all/conanfile.py b/recipes/lyra/all/conanfile.py index f549011151d40..676ec9b46357a 100644 --- a/recipes/lyra/all/conanfile.py +++ b/recipes/lyra/all/conanfile.py @@ -47,7 +47,6 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "lyra") self.cpp_info.set_property("cmake_target_name", "bfg::lyra") - # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components["_lyra"].set_property( "cmake_target_name", "bfg::lyra") @@ -58,3 +57,4 @@ def package_info(self): self.cpp_info.components["_lyra"].names["cmake_find_package"] = "lyra" self.cpp_info.components["_lyra"].names["cmake_find_package_multi"] = "lyra" self.cpp_info.components["_lyra"].libdirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/lyra/all/test_v1_package/CMakeLists.txt b/recipes/lyra/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b200e21129c40..0000000000000 --- a/recipes/lyra/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(lyra REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} bfg::lyra) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/lyra/all/test_v1_package/conanfile.py b/recipes/lyra/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/lyra/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", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lyra/all/test_v1_package/test_package.cpp b/recipes/lyra/all/test_v1_package/test_package.cpp deleted file mode 100644 index 5298875e31c6a..0000000000000 --- a/recipes/lyra/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main(int argc, const char** argv) -{ - auto cli = lyra::cli_parser(); -} diff --git a/recipes/lyra/config.yml b/recipes/lyra/config.yml index 425271e9a388e..839c2a460a6e7 100644 --- a/recipes/lyra/config.yml +++ b/recipes/lyra/config.yml @@ -1,19 +1,11 @@ versions: - "1.0.0": - folder: all - "1.1.0": - folder: all - "1.2.0": - folder: all - "1.3.0": - folder: all - "1.4.0": + "1.6.1": folder: all - "1.5.0": + "1.6.0": folder: all "1.5.1": folder: all - "1.6.0": + "1.4.0": folder: all - "1.6.1": + "1.3.0": folder: all From a80eba1b1c125aaa3b81d660a933da2765e0e061 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Tue, 22 Aug 2023 10:55:21 -0700 Subject: [PATCH 1350/4087] (#19283) spdlog: make sure libdirs is empty when header_only=True --- recipes/spdlog/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index f2653d49db073..8b194e1f8f481 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -142,7 +142,9 @@ def package_info(self): self.cpp_info.components["libspdlog"].defines.append("SPDLOG_FMT_EXTERNAL") self.cpp_info.components["libspdlog"].requires = ["fmt::fmt"] - if not self.options.header_only: + if self.options.header_only: + self.cpp_info.components["libspdlog"].libdirs = [] + else: suffix = "d" if self.settings.build_type == "Debug" else "" self.cpp_info.components["libspdlog"].libs = [f"spdlog{suffix}"] self.cpp_info.components["libspdlog"].defines.append("SPDLOG_COMPILED_LIB") From e29a9253e65efe9d598c2b3336048a0f02fc04a7 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Tue, 22 Aug 2023 20:55:01 +0200 Subject: [PATCH 1351/4087] (#19290) [OGDF] enable shared build on Windows * [OGDF] enable shared build on Windows * Drop unused imports --- recipes/ogdf/all/conanfile.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipes/ogdf/all/conanfile.py b/recipes/ogdf/all/conanfile.py index e47d024478deb..84c6c4df651b5 100644 --- a/recipes/ogdf/all/conanfile.py +++ b/recipes/ogdf/all/conanfile.py @@ -1,9 +1,7 @@ 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.errors import ConanInvalidConfiguration from conan.tools.files import copy, get, replace_in_file, rmdir -from conan.tools.microsoft import is_msvc from os.path import join required_conan_version = ">=1.53.0" @@ -26,10 +24,6 @@ class OGDFConan(ConanFile): "fPIC": True, } - def validate(self): - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -85,12 +79,13 @@ def package(self): copy(self, pattern="LICENSE*.txt", src=self.source_folder, dst=join(self.package_folder, "licenses")) copy(self, pattern="*.h", src=join(self.source_folder, "include"), dst=join(self.package_folder, "include")) copy(self, pattern="*.h", src=join(self.build_folder, "include"), dst=join(self.package_folder, "include")) + copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) if self.options.shared: copy(self, pattern="*.so*", src=self.build_folder, dst=join(self.package_folder, "lib")) copy(self, pattern="*.dylib*", src=self.build_folder, dst=join(self.package_folder, "lib")) + copy(self, pattern="*.dll", src=self.build_folder, dst=join(self.package_folder, "bin"), keep_path=False) else: copy(self, pattern="*.a", src=self.build_folder, dst=join(self.package_folder, "lib")) - copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) fix_apple_shared_install_name(self) def package_info(self): From 57a5c1c55dd4047267f9cb57e71e3e774b456fdf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 22 Aug 2023 22:31:02 +0300 Subject: [PATCH 1352/4087] (#19322) pupnp: fix invalid use of self.options[] self.options[] returns a `PackageOptions` object instead of a `PackageOption` one like attribute access or .get_safe() does. --- recipes/pupnp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pupnp/all/conanfile.py b/recipes/pupnp/all/conanfile.py index b3ee88419c46c..ec9c1261d9bac 100644 --- a/recipes/pupnp/all/conanfile.py +++ b/recipes/pupnp/all/conanfile.py @@ -96,7 +96,7 @@ def generate(self): features["samples"] = False features["blocking_tcp_connections"] = self.options["blocking-tcp"] for opt in ("ipv6", "reuseaddr", "webserver", "client", "device", "largefile", "tools", "debug"): - features[opt] = self.options[opt] + features[opt] = self.options.get_safe(opt) for feature, enabled in features.items(): what = "enable" if enabled else "disable" tc.configure_args.append(f"--{what}-{feature}") From acd1a15c65d2a1807d17bdd58754027a63994e18 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 05:36:30 +0900 Subject: [PATCH 1353/4087] (#19328) drogon: add version 1.8.5, update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * drogon: add version 1.8.5, update dependencies * Update recipes/drogon/all/conandata.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/drogon/all/conandata.yml | 10 +++ recipes/drogon/all/conanfile.py | 10 +-- .../1.8.5-0001-remove-shared-libs.patch | 12 ++++ .../1.8.5-0002-find-cci-packages.patch | 71 +++++++++++++++++++ recipes/drogon/config.yml | 2 + 5 files changed, 100 insertions(+), 5 deletions(-) create mode 100644 recipes/drogon/all/patches/1.8.5-0001-remove-shared-libs.patch create mode 100644 recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index dd03c6b133f92..5ff1403cfce78 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -15,6 +18,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "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" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 0b84047ab4ed5..033ced85d2135 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -108,7 +108,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") def requirements(self): - self.requires("trantor/1.5.11", transitive_headers=True, transitive_libs=True) + self.requires("trantor/1.5.12", 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.13") @@ -117,17 +117,17 @@ def requirements(self): if self.options.with_profile: self.requires("coz/cci.20210322") if self.options.with_boost: - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) if self.options.with_brotli: self.requires("brotli/1.0.9") if self.options.get_safe("with_postgres"): - self.requires("libpq/14.7") + self.requires("libpq/15.4") if self.options.get_safe("with_mysql"): - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.get_safe("with_sqlite"): self.requires("sqlite3/3.42.0") if self.options.get_safe("with_redis"): - self.requires("hiredis/1.1.0") + self.requires("hiredis/1.2.0") if self.options.with_yaml_cpp: self.requires("yaml-cpp/0.7.0") diff --git a/recipes/drogon/all/patches/1.8.5-0001-remove-shared-libs.patch b/recipes/drogon/all/patches/1.8.5-0001-remove-shared-libs.patch new file mode 100644 index 0000000000000..9920eee534139 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.5-0001-remove-shared-libs.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index db95642..e3e7fcf 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,7 +8,6 @@ option(BUILD_CTL "Build drogon_ctl" ON) + option(BUILD_EXAMPLES "Build examples" ON) + 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.5-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch new file mode 100644 index 0000000000000..c0d5c051d80a7 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch @@ -0,0 +1,71 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3e7fcf..b82cb66 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -198,9 +198,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) +@@ -217,7 +217,7 @@ if(BUILD_YAML_CONFIG) + endif() + else() + 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) + endif() + else() +@@ -442,7 +442,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) +@@ -465,10 +465,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 +@@ -488,10 +488,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 +@@ -500,7 +500,7 @@ if (NOT Hiredis_FOUND) + set(private_headers + ${private_headers} + lib/src/RedisClientManager.h) +-endif (NOT Hiredis_FOUND) ++endif () + + if (BUILD_TESTING) + add_subdirectory(nosql_lib/redis/tests) diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index 7b7f0bad90e21..bf708bafce8a9 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.5": + folder: "all" "1.8.4": folder: "all" "1.8.3": From f7030b437a9cd0f315eb2df1e5bcb63deed9e8ae Mon Sep 17 00:00:00 2001 From: fcorso2016 <35567462+fcorso2016@users.noreply.github.com> Date: Tue, 22 Aug 2023 17:26:43 -0400 Subject: [PATCH 1354/4087] (#18391) Fix issue with building shared on windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix issue with building shared on windows * Properly disable static registration * Make disabling static registration an option * Update recipes/onnxruntime/all/conanfile.py Co-authored-by: Pau Farré * Update recipes/onnxruntime/all/conanfile.py Co-authored-by: Pau Farré * Update recipes/onnxruntime/all/conanfile.py Co-authored-by: Pau Farré --------- Co-authored-by: Pau Farré --- recipes/onnxruntime/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index d9a55a421eb6f..c69e32a34aa82 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -119,7 +119,8 @@ 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: - tc.variables["Python_EXECUTABLE"] = sys.executable + # Need to replace windows path seperators with linux path seperators to keep CMake from crashing + tc.variables["Python_EXECUTABLE"] = sys.executable.replace("\\", "/") tc.variables["onnxruntime_BUILD_SHARED_LIB"] = self.options.shared tc.variables["onnxruntime_USE_FULL_PROTOBUF"] = not self.dependencies["protobuf"].options.lite From b2bb5da964f3e4c517f8bf56b1ee26711dc3e322 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 07:13:39 +0900 Subject: [PATCH 1355/4087] (#19331) sophus: update fmt/10.1.0, delete with_fmt in 1.0.0 --- recipes/sophus/all/conanfile.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/recipes/sophus/all/conanfile.py b/recipes/sophus/all/conanfile.py index 7fa9bd18760cf..ef703f320333f 100644 --- a/recipes/sophus/all/conanfile.py +++ b/recipes/sophus/all/conanfile.py @@ -10,11 +10,10 @@ class SophusConan(ConanFile): name = "sophus" description = "C++ implementation of Lie Groups using Eigen." - topics = ("eigen", "numerical", "math") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://strasdat.github.io/Sophus/" - license = "MIT" - no_copy_source = True + topics = ("eigen", "numerical", "math", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { @@ -23,23 +22,28 @@ class SophusConan(ConanFile): default_options = { "with_fmt": True, } + no_copy_source = True + + def configure(self): + if Version(self.version) < "1.22.4": + del self.options.with_fmt + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): self.requires("eigen/3.4.0", transitive_headers=True) - if self.options.with_fmt and Version(self.version) >= Version("1.22.10"): - self.requires("fmt/9.1.0", transitive_headers=True) - elif self.options.with_fmt and Version(self.version) >= Version("1.22.4"): - self.requires("fmt/8.1.1", transitive_headers=True) + if self.options.get_safe("with_fmt"): + if Version(self.version) >= "1.22.10": + self.requires("fmt/10.1.0", transitive_headers=True) + else: + self.requires("fmt/8.1.1", transitive_headers=True) def package_id(self): self.info.clear() - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -51,10 +55,8 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "Sophus::Sophus") self.cpp_info.set_property("pkg_config_name", "sophus") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] - if not self.options.with_fmt: + if self.options.get_safe("with_fmt") == False: self.cpp_info.defines.append("SOPHUS_USE_BASIC_LOGGING=1") # TODO: to remove in conan v2 once cmake_find_package* generator removed From c8a640996a5589f883de0c792abca10de837534c Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Wed, 23 Aug 2023 00:50:03 +0200 Subject: [PATCH 1356/4087] (#19333) [rtmidi] Add patch descriptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/rtmidi/all/conandata.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/rtmidi/all/conandata.yml b/recipes/rtmidi/all/conandata.yml index 9413bb8e98246..7f688e03dcce4 100644 --- a/recipes/rtmidi/all/conandata.yml +++ b/recipes/rtmidi/all/conandata.yml @@ -11,7 +11,14 @@ sources: patches: "4.0.0": - patch_file: "patches/4.0.0-0001-add-a-separate-licence-file-0b5d67c.patch" + patch_description: "Add a separate LICENCE file" + patch_source: "https://github.com/thestk/rtmidi/commit/0b5d67c" + patch_type: "conan" - patch_file: "patches/4.0.0-0002-rtmidiconfig-install-location-da51f21.patch" + patch_description: "Install rtmidiconfig in the correct location" + patch_source: "https://github.com/conan-io/conan-center-index/issues/252" + patch_type: "conan" - patch_file: "patches/4.0.0-0003-relocatable-macos.patch" patch_description: "Relocatable shared lib on macOS" + patch_source: "https://github.com/thestk/rtmidi/pull/211" patch_type: "conan" From 72cbd4efacab4439ae603ae4523cb907506fcadd Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 23 Aug 2023 02:31:55 +0300 Subject: [PATCH 1357/4087] (#19337) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index b2befced4887a..00fa1030957d5 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.11": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.11.tar.gz" + sha256: "990979474bcbb924efb1c046581589e11889d502e5ad24b9779c131c4f3d9941" "2.0.10": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.10.tar.gz" sha256: "efcb7c97999ce2d78aba67041a61dda45feb54113e5b21851b0532fdcbc460a8" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 20cb1b119cc18..e8eabfb453af9 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.11": + folder: all "2.0.10": folder: all "2.0.9": From 89d182643244d1a9ffe8bc89d51038111d181aec Mon Sep 17 00:00:00 2001 From: krabbstek Date: Wed, 23 Aug 2023 02:18:30 +0200 Subject: [PATCH 1358/4087] (#19343) Added SDL version 2.28.2 --- 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 9aefd68806154..e6726e853f758 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.28.2": + url: "https://www.libsdl.org/release/SDL2-2.28.2.tar.gz" + sha256: "64b1102fa22093515b02ef33dd8739dee1ba57e9dbba6a092942b8bbed1a1c5e" "2.26.5": url: "https://www.libsdl.org/release/SDL2-2.26.5.tar.gz" sha256: "ad8fea3da1be64c83c45b1d363a6b4ba8fd60f5bde3b23ec73855709ec5eabf7" diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 960f4e5e4f3c0..31a6d05fcb201 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.28.2": + folder: all "2.26.5": folder: all "2.26.1": From 7d5424036f3d1a1047430ec4c823bf1b8bb71a12 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 09:51:41 +0900 Subject: [PATCH 1359/4087] (#19353) glaze: add version 1.3.6 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ca57858e477ea..b43003828dbc6 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.6": + url: "https://github.com/stephenberry/glaze/archive/v1.3.6.tar.gz" + sha256: "c339f036a96fef72f9b8542d6a1e2ecb4bd3fa5d3d09a206da5e844765d2b6c3" "1.3.5": url: "https://github.com/stephenberry/glaze/archive/v1.3.5.tar.gz" sha256: "de5d59cb7f31193d45f67f25d8ced1499df50c0d926a1461432b87f2b2368817" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index ae1392b97f20d..a37f70afd642a 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.6": + folder: all "1.3.5": folder: all "1.3.2": From b1c8af235ffdad135793a0ade9f4ab58e73a9af2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 10:10:55 +0900 Subject: [PATCH 1360/4087] (#19354) trantor: add version 1.5.13 --- 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 336360051b220..2c3c3f7c60a56 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ 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" @@ -21,6 +24,10 @@ sources: url: "https://github.com/an-tao/trantor/archive/refs/tags/v1.5.5.tar.gz" sha256: "5a549c6efebe7ecba73a944cfba4a9713130704d4ccc82af534a2e108b9a0e71" patches: + "1.5.13": + - 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" diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index ceb70d2417086..51f47024c02e3 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.13": + folder: "all" "1.5.12": folder: "all" "1.5.11": From d30aabdf32d608da0c940be2e86082fcb6047ec3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 12:54:10 +0900 Subject: [PATCH 1361/4087] (#19357) simdjson: add version 3.2.3 --- 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 4dd45c1bc80bc..c81b28e0ad2e3 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.3": + url: "https://github.com/simdjson/simdjson/archive/v3.2.3.tar.gz" + sha256: "ab72701b8560c4f93a5de525657b3bf34094f99a1e63bd9db3195d1bcb90aa09" "3.2.2": url: "https://github.com/simdjson/simdjson/archive/v3.2.2.tar.gz" sha256: "13a702536e051db612cdca82bf8585f2c69d9c6fd156ef291b170f13202c1b4c" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index cda9ed23f089a..78febe4d556f0 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.3": + folder: all "3.2.2": folder: all "3.2.1": From e1bb3cd9759e10882bedbbdd7438234fc322798c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 13:37:52 +0900 Subject: [PATCH 1362/4087] (#19358) cpp-httplib: add version 0.14.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 448d3a594468d..cf312a0b54c1d 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 8e636ccafe3a6..3a4d3cd3226a9 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.0": + folder: all "0.13.3": folder: all "0.13.1": From 3ce53911176ae5973050a490512fd2ac683278b9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 16:15:49 +0900 Subject: [PATCH 1363/4087] (#19359) drogon: update trantor/1.5.13 --- recipes/drogon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 033ced85d2135..fc1a2251f569c 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -108,7 +108,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") def requirements(self): - self.requires("trantor/1.5.12", transitive_headers=True, transitive_libs=True) + self.requires("trantor/1.5.13", 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.13") From b44aacecdda035222774f4e241610bdedbd31dc2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 23 Aug 2023 10:03:55 +0200 Subject: [PATCH 1364/4087] (#19360) [bot] Update list of references (prod-v2/ListPackages) --- .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 0732b71137914..670a5cceabe10 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -241,6 +241,7 @@ required_for_references: - dirent - discount - djinni-generator +- dlib - dlpack - docopt.cpp - doctest @@ -444,6 +445,7 @@ required_for_references: - iqa - irrxml - iso8601lib +- itk - itlib - ittapi - ixwebsocket @@ -760,6 +762,7 @@ required_for_references: - neargye-semver - netcdf - nettle +- newmat - nextsilicon-cpp-subprocess - nfrechette-acl - ninja @@ -819,6 +822,7 @@ required_for_references: - openmvg - openssl - opensubdiv +- opentdf-client - opentelemetry-cpp - opentelemetry-proto - opentracing-cpp From cf4f29933e574d8dcf5b9616be5940f325be6884 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 23 Aug 2023 12:20:58 +0200 Subject: [PATCH 1365/4087] (#19362) dbus 1.15.8 --- recipes/dbus/1.x.x/conandata.yml | 3 +++ recipes/dbus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dbus/1.x.x/conandata.yml b/recipes/dbus/1.x.x/conandata.yml index 3dc58977ca2ea..04a0982deff4b 100644 --- a/recipes/dbus/1.x.x/conandata.yml +++ b/recipes/dbus/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.15.8": + url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.15.8.tar.xz" + sha256: "84fc597e6ec82f05dc18a7d12c17046f95bad7be99fc03c15bc254c4701ed204" "1.15.6": url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.15.6.tar.xz" sha256: "f97f5845f9c4a5a1fb3df67dfa9e16b5a3fd545d348d6dc850cb7ccc9942bd8c" diff --git a/recipes/dbus/config.yml b/recipes/dbus/config.yml index 53bb57eb6cadc..a6d5fb2e5d5f7 100644 --- a/recipes/dbus/config.yml +++ b/recipes/dbus/config.yml @@ -1,4 +1,6 @@ versions: + "1.15.8": + folder: 1.x.x "1.15.6": folder: 1.x.x "1.15.2": From 8f6a100c7f292bcbb9e47cbb6c65e4395055a654 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Wed, 23 Aug 2023 04:18:18 -0700 Subject: [PATCH 1366/4087] (#19348) date: make sure libdirs is empty when `header-only=True` --- recipes/date/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 74e5999eba368..16a2a092edd68 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -138,3 +138,4 @@ def package_info(self): self.cpp_info.components["date-tz"].defines.extend(defines) else: self.cpp_info.defines.append("DATE_HEADER_ONLY") + self.cpp_info.libdirs = [] From cc5f14bd4f5e76d07665c369786d7260335d0c51 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Wed, 23 Aug 2023 13:49:30 +0200 Subject: [PATCH 1367/4087] (#18933) caf: add version 0.19.2 * caf: add version 0.19.2 * caf: fix build for gcc 13 only necessary caf version < 0.19 * caf: test_v1_package no longer required * add version 0.19.2 to config.yml * Revert "caf: test_v1_package no longer required" This reverts commit 27bf600a3234c7f0fe754c9e5f2e63dbca355225. --- recipes/caf/all/conandata.yml | 24 +++++++++++++++++++ recipes/caf/all/conanfile.py | 6 ++++- .../all/patches/0001-fix-gcc-13-include.patch | 21 ++++++++++++++++ recipes/caf/config.yml | 2 ++ 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 recipes/caf/all/patches/0001-fix-gcc-13-include.patch diff --git a/recipes/caf/all/conandata.yml b/recipes/caf/all/conandata.yml index 71354ad6bae80..260be0caef66d 100644 --- a/recipes/caf/all/conandata.yml +++ b/recipes/caf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.19.2": + url: "https://github.com/actor-framework/actor-framework/archive/0.19.2.tar.gz" + sha256: "aa3fcc494424e0e20b177125458a6a6ed39c751a3d3d5193054e88bdf8a146d2" "0.18.6": url: "https://github.com/actor-framework/actor-framework/archive/0.18.6.tar.gz" sha256: "c2ead63a0322d992fea8813a7f7d15b4d16cbb8bbe026722f2616a79109b91cc" @@ -11,3 +14,24 @@ sources: "0.18.0": url: "https://github.com/actor-framework/actor-framework/archive/0.18.0.tar.gz" sha256: "df765fa78861e67d44e2587c0ac0c1c662d8c93fe5ffc8757f552fc7ac15941f" +patches: + "0.18.6": + - patch_file: "patches/0001-fix-gcc-13-include.patch" + patch_description: "add missing include to support gcc 13" + patch_type: "bugfix" + patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" + "0.18.5": + - patch_file: "patches/0001-fix-gcc-13-include.patch" + patch_description: "add missing include to support gcc 13" + patch_type: "bugfix" + patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" + "0.18.2": + - patch_file: "patches/0001-fix-gcc-13-include.patch" + patch_description: "add missing include to support gcc 13" + patch_type: "bugfix" + patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" + "0.18.0": + - patch_file: "patches/0001-fix-gcc-13-include.patch" + patch_description: "add missing include to support gcc 13" + patch_type: "bugfix" + patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" diff --git a/recipes/caf/all/conanfile.py b/recipes/caf/all/conanfile.py index 7a5cb98c5ded6..08713d4f8b3b0 100644 --- a/recipes/caf/all/conanfile.py +++ b/recipes/caf/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir from conan.tools.scm import Version import os @@ -47,6 +47,9 @@ def _minimum_compilers_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -97,6 +100,7 @@ def generate(self): deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/caf/all/patches/0001-fix-gcc-13-include.patch b/recipes/caf/all/patches/0001-fix-gcc-13-include.patch new file mode 100644 index 0000000000000..3ad9d6d3ba42f --- /dev/null +++ b/recipes/caf/all/patches/0001-fix-gcc-13-include.patch @@ -0,0 +1,21 @@ +--- a/libcaf_core/caf/detail/ripemd_160.hpp ++++ b/libcaf_core/caf/detail/ripemd_160.hpp +@@ -42,6 +42,7 @@ + + #include + #include ++#include + + #include "caf/detail/core_export.hpp" + +--- a/libcaf_core/caf/telemetry/metric_type.hpp ++++ b/libcaf_core/caf/telemetry/metric_type.hpp +@@ -4,6 +4,8 @@ + + #pragma once + ++#include ++ + namespace caf::telemetry { + + enum class metric_type : uint8_t { diff --git a/recipes/caf/config.yml b/recipes/caf/config.yml index 1e73f6993a454..9d2f0ee39c464 100644 --- a/recipes/caf/config.yml +++ b/recipes/caf/config.yml @@ -1,4 +1,6 @@ versions: + "0.19.2": + folder: all "0.18.6": folder: all "0.18.5": From aee3869b4fad1a371e3268e47a0eeefeb6fc52ab Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Wed, 23 Aug 2023 14:34:20 +0200 Subject: [PATCH 1368/4087] (#19341) aws-c-io: add version 0.13.32 --- recipes/aws-c-io/all/conandata.yml | 3 +++ recipes/aws-c-io/all/conanfile.py | 5 ++++- recipes/aws-c-io/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/aws-c-io/all/conandata.yml b/recipes/aws-c-io/all/conandata.yml index 4a9102a6ede26..0d0d5af78f68c 100644 --- a/recipes/aws-c-io/all/conandata.yml +++ b/recipes/aws-c-io/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 20a04052e80c5..eaf12a0cfcd8d 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -45,9 +45,12 @@ def requirements(self): if Version(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.11") - else: + elif 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.0", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.1", transitive_headers=True) if self.settings.os in ["Linux", "FreeBSD", "Android"]: self.requires("s2n/1.3.31") diff --git a/recipes/aws-c-io/config.yml b/recipes/aws-c-io/config.yml index 6dca88e3f0554..febe94b14a0b3 100644 --- a/recipes/aws-c-io/config.yml +++ b/recipes/aws-c-io/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.32": + folder: all "0.13.4": folder: all "0.11.2": From 6b82acd7b519147cf54cd21c27b4492677618915 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Aug 2023 22:43:56 +0900 Subject: [PATCH 1369/4087] (#19355) perfetto: add version 37.0, remove older versions, add package_type * perfetto: add version 37.0, remove older versions, add package_type * remove versions in config.yml --- recipes/perfetto/all/conandata.yml | 34 ++----------------- recipes/perfetto/all/conanfile.py | 10 +++--- ...ging-when-PERFETTO_DISABLE_LOG-activ.patch | 14 -------- ...ging-when-PERFETTO_DISABLE_LOG-activ.patch | 14 -------- ...ging-when-PERFETTO_DISABLE_LOG-activ.patch | 14 -------- ...-MSVC-Fix-narrowing-conversion-error.patch | 13 ------- recipes/perfetto/config.yml | 16 ++------- 7 files changed, 9 insertions(+), 106 deletions(-) delete mode 100644 recipes/perfetto/all/patches/v20.1/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch delete mode 100644 recipes/perfetto/all/patches/v21.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch delete mode 100644 recipes/perfetto/all/patches/v22.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch delete mode 100644 recipes/perfetto/all/patches/v25.0/0001-MSVC-Fix-narrowing-conversion-error.patch diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 9a9ac089dcd8f..455f1bec30e97 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "37.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v37.0.tar.gz" + sha256: "39d7b3635834398828cfd189bd61afb0657ca2a3a08efbfd9866bfbcd440810b" "35.0": url: "https://github.com/google/perfetto/archive/refs/tags/v35.0.tar.gz" sha256: "224b6552e60ad0fc7c1447bdf719ddd9ceceaf2b6773b71541c21df5890f4166" @@ -23,27 +26,6 @@ sources: "26.1": url: "https://github.com/google/perfetto/archive/refs/tags/v26.1.tar.gz" sha256: "cce387e82e2a137fce2eba927f80f20407764b77637a1a92b9b24065a500ce6d" - "25.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v25.0.tar.gz" - sha256: "73a4b895df9222ddb231b8d903099d6da08cd079f27983f540e89156fa88ba67" - "24.2": - url: "https://github.com/google/perfetto/archive/refs/tags/v24.2.tar.gz" - sha256: "b296d0a939e694fd2e73ed6c6418b774b5ef6809ddf60988989416e5cbf90b41" - "23.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v23.0.tar.gz" - sha256: "9d2955736ce9d234e0f5153acfefea8facfa762c9167024902ea98f9010207aa" - "22.1": - url: "https://github.com/google/perfetto/archive/refs/tags/v22.1.tar.gz" - sha256: "013ba743019a1ca04627f7ce8bf424b60ed7f0f57e232eff719ae879be4c90fd" - "22.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v22.0.tar.gz" - sha256: "c62e9059a566136665b0c69e1f9901fc747b1eca813cd59a76e941bc2772340c" - "21.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v21.0.tar.gz" - sha256: "8ce7d7c3dd8a2edd6d37092eb139e11bbf9c7e33a9964bab96c0505def6e1ad4" - "20.1": - url: "https://github.com/google/perfetto/archive/refs/tags/v20.1.tar.gz" - sha256: "d681bb76e2b73e6ba46db53c1502f31f4f16c36cd6e91d4ae839a3b44272f646" patches: "31.0": - patch_file: "patches/v31.0/0001-tracing-fix-compile-on-MSVC.patch" @@ -51,13 +33,3 @@ patches: patch_type: "backport" patch_source: "https://android-review.googlesource.com/c/platform/external/perfetto/+/2355222" sha256: "ad253a9bba3941bd8d1f206422d60eb1c06cb6d75d60eff5b5b8ae0f2ec7e15c" - "25.0": - - patch_file: "patches/v25.0/0001-MSVC-Fix-narrowing-conversion-error.patch" - "22.1": - - patch_file: "patches/v22.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch" - "22.0": - - patch_file: "patches/v22.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch" - "21.0": - - patch_file: "patches/v21.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch" - "20.1": - - patch_file: "patches/v20.1/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch" diff --git a/recipes/perfetto/all/conanfile.py b/recipes/perfetto/all/conanfile.py index 44d0edf055cd6..6c9cecd7c62ef 100644 --- a/recipes/perfetto/all/conanfile.py +++ b/recipes/perfetto/all/conanfile.py @@ -12,11 +12,12 @@ class PerfettoConan(ConanFile): name = "perfetto" + description = "Performance instrumentation and tracing for Android, Linux and Chrome" license = "Apache-2.0" - homepage = "https://perfetto.dev" url = "https://github.com/conan-io/conan-center-index" - description = "Performance instrumentation and tracing for Android, Linux and Chrome" + homepage = "https://perfetto.dev" topics = ("linux", "profiling", "tracing") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,7 +29,6 @@ class PerfettoConan(ConanFile): "fPIC": True, "disable_logging": False, } - short_paths = True @property @@ -78,8 +78,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -107,4 +106,3 @@ def package_info(self): self.cpp_info.system_libs.append("ws2_32") if is_msvc(self): self.cpp_info.cxxflags.append("/Zc:__cplusplus") - diff --git a/recipes/perfetto/all/patches/v20.1/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch b/recipes/perfetto/all/patches/v20.1/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch deleted file mode 100644 index 27f4b089cd4fd..0000000000000 --- a/recipes/perfetto/all/patches/v20.1/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/sdk/perfetto.h b/sdk/perfetto.h -index a362342d0..d5fb9e997 100644 ---- a/sdk/perfetto.h -+++ b/sdk/perfetto.h -@@ -580,7 +580,8 @@ PERFETTO_EXPORT void LogMessage(LogLev, - __LINE__, ##__VA_ARGS__); \ - } while (0) - #elif defined(PERFETTO_DISABLE_LOG) --#define PERFETTO_XLOG(...) ::perfetto::base::ignore_result(__VA_ARGS__) -+#define PERFETTO_XLOG(level, fmt, ...) ::perfetto::base::ignore_result(level, \ -+ fmt, ##__VA_ARGS__) - #else - #define PERFETTO_XLOG(level, fmt, ...) \ - ::perfetto::base::LogMessage(level, ::perfetto::base::Basename(__FILE__), \ diff --git a/recipes/perfetto/all/patches/v21.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch b/recipes/perfetto/all/patches/v21.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch deleted file mode 100644 index 56e86bb66c9e9..0000000000000 --- a/recipes/perfetto/all/patches/v21.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/sdk/perfetto.h b/sdk/perfetto.h -index 4509cbda5..7cd41d570 100644 ---- a/sdk/perfetto.h -+++ b/sdk/perfetto.h -@@ -622,7 +622,8 @@ inline void MaybeSerializeLastLogsForCrashReporting() {} - __LINE__, ##__VA_ARGS__); \ - } while (0) - #elif defined(PERFETTO_DISABLE_LOG) --#define PERFETTO_XLOG(...) ::perfetto::base::ignore_result(__VA_ARGS__) -+#define PERFETTO_XLOG(level, fmt, ...) ::perfetto::base::ignore_result(level, \ -+ fmt, ##__VA_ARGS__) - #else - #define PERFETTO_XLOG(level, fmt, ...) \ - ::perfetto::base::LogMessage(level, ::perfetto::base::Basename(__FILE__), \ diff --git a/recipes/perfetto/all/patches/v22.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch b/recipes/perfetto/all/patches/v22.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch deleted file mode 100644 index 5e4004e7ada01..0000000000000 --- a/recipes/perfetto/all/patches/v22.x/0001-Fix-perfetto-logging-when-PERFETTO_DISABLE_LOG-activ.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/sdk/perfetto.h b/sdk/perfetto.h -index f88ac9728..a242b37a4 100644 ---- a/sdk/perfetto.h -+++ b/sdk/perfetto.h -@@ -623,7 +623,8 @@ inline void MaybeSerializeLastLogsForCrashReporting() {} - __LINE__, ##__VA_ARGS__); \ - } while (0) - #elif defined(PERFETTO_DISABLE_LOG) --#define PERFETTO_XLOG(...) ::perfetto::base::ignore_result(__VA_ARGS__) -+#define PERFETTO_XLOG(level, fmt, ...) ::perfetto::base::ignore_result(level, \ -+ fmt, ##__VA_ARGS__) - #else - #define PERFETTO_XLOG(level, fmt, ...) \ - ::perfetto::base::LogMessage(level, ::perfetto::base::Basename(__FILE__), \ diff --git a/recipes/perfetto/all/patches/v25.0/0001-MSVC-Fix-narrowing-conversion-error.patch b/recipes/perfetto/all/patches/v25.0/0001-MSVC-Fix-narrowing-conversion-error.patch deleted file mode 100644 index d109447e2946e..0000000000000 --- a/recipes/perfetto/all/patches/v25.0/0001-MSVC-Fix-narrowing-conversion-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sdk/perfetto.h b/sdk/perfetto.h -index 677e0e2..df0de12 100644 ---- a/sdk/perfetto.h -+++ b/sdk/perfetto.h -@@ -16140,7 +16140,7 @@ template <> - struct TraceTimestampTraits { - static inline TraceTimestamp ConvertTimestampToTraceTimeNs( - const uint64_t& timestamp) { -- return {internal::TrackEventInternal::GetClockId(), timestamp}; -+ return {static_cast(internal::TrackEventInternal::GetClockId()), timestamp}; - } - }; - diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index bd944a09e558e..aecfcbd517f2d 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "37.0": + folder: all "35.0": folder: all "34.0": @@ -15,17 +17,3 @@ versions: folder: all "26.1": folder: all - "25.0": - folder: all - "24.2": - folder: all - "23.0": - folder: all - "22.1": - folder: all - "22.0": - folder: all - "21.0": - folder: all - "20.1": - folder: all From ae4e9b06c9d94e8f42e570fd00c1b3b17a692a2a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 24 Aug 2023 00:22:12 +0900 Subject: [PATCH 1370/4087] (#19356) cimg: add version 3.2.6, fix requires --- recipes/cimg/all/conandata.yml | 3 +++ recipes/cimg/all/conanfile.py | 10 ++-------- recipes/cimg/config.yml | 2 ++ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index c4ba41f9e21b5..7139132fb19a9 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.6": + url: "https://cimg.eu/files/CImg_3.2.6.zip" + sha256: "8da3aa995027231bb18f97bb986e12788ef464b3ab8a34151650bf1217baeda7" "3.2.5": url: "https://cimg.eu/files/CImg_3.2.5.zip" sha256: "3ab9f25cd7e5f7256dde67b4ea78ead05834bee0db9160c89668a388ba141cd9" diff --git a/recipes/cimg/all/conanfile.py b/recipes/cimg/all/conanfile.py index cbed93e0b8d51..01ef66f480f65 100644 --- a/recipes/cimg/all/conanfile.py +++ b/recipes/cimg/all/conanfile.py @@ -68,17 +68,11 @@ def requirements(self): if self.options.enable_jpeg: self.requires("libjpeg/9e") if self.options.enable_openexr: - if self.options.enable_opencv: - self.requires("openexr/3.1.7") - else: - self.requires("openexr/3.1.7") + self.requires("openexr/3.1.9") if self.options.enable_png: self.requires("libpng/1.6.40") if self.options.enable_tiff: - if self.options.enable_opencv: - self.requires("libtiff/4.5.1") - else: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.5.1") if self.options.enable_ffmpeg: if self.options.enable_opencv: self.requires("ffmpeg/4.4") diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index b39649938fc2e..a0c4dfee0ab1c 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.6": + folder: all "3.2.5": folder: all "3.2.0": From 861d4c7f737342efcb26e94673db0c5e7be9c468 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Wed, 23 Aug 2023 17:47:51 +0200 Subject: [PATCH 1371/4087] (#18215) [SObjectizer] Add version 5.8.0 and support Conan 2.x * Add SObjectizer 5.8.0 * Refresh for Conan V2 Also use different compiler version requirements for v5.8.0. * FIx typo in test_v1_package * Adding msvc * Use warning properly * Review updates * Remove CMakelists.txt wrapper Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/sobjectizer/all/CMakeLists.txt | 7 -- recipes/sobjectizer/all/conandata.yml | 3 + recipes/sobjectizer/all/conanfile.py | 93 ++++++++++--------- .../all/test_package/CMakeLists.txt | 3 - .../sobjectizer/all/test_package/conanfile.py | 19 +++- .../all/test_v1_package/CMakeLists.txt | 15 +++ .../all/test_v1_package/conanfile.py | 16 ++++ recipes/sobjectizer/config.yml | 2 + 8 files changed, 101 insertions(+), 57 deletions(-) delete mode 100644 recipes/sobjectizer/all/CMakeLists.txt create mode 100644 recipes/sobjectizer/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sobjectizer/all/test_v1_package/conanfile.py diff --git a/recipes/sobjectizer/all/CMakeLists.txt b/recipes/sobjectizer/all/CMakeLists.txt deleted file mode 100644 index 20ac539cce862..0000000000000 --- a/recipes/sobjectizer/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder/dev/so_5) diff --git a/recipes/sobjectizer/all/conandata.yml b/recipes/sobjectizer/all/conandata.yml index b8c5263a27c95..6518ae7fc9919 100644 --- a/recipes/sobjectizer/all/conandata.yml +++ b/recipes/sobjectizer/all/conandata.yml @@ -33,3 +33,6 @@ sources: "5.7.5": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.5.tar.gz" sha256: "282b7c72f6a6ee30b9c08b5339c3e327452903e1b246a163a7c8e57b3e37932f" + "5.8.0": + url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.8.0.tar.gz" + sha256: "de2b4ae0e817a108dae6d6787c79ed84c33bd447842b5fdcb780f6697b4c2d49" diff --git a/recipes/sobjectizer/all/conanfile.py b/recipes/sobjectizer/all/conanfile.py index 6ebed35c1f830..6dfd80e4c926f 100644 --- a/recipes/sobjectizer/all/conanfile.py +++ b/recipes/sobjectizer/all/conanfile.py @@ -1,8 +1,12 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import get, copy, rmdir, collect_libs +from conan.tools.scm import Version import os -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class SobjectizerConan(ConanFile): @@ -27,80 +31,85 @@ class SobjectizerConan(ConanFile): "fPIC": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - - def validate(self): - minimal_cpp_standard = "17" - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { + self.options.rm_safe("fPIC") + + def _compiler_support_lut(self): + if self.version >= Version("5.8.0"): + # Since v5.8.0 requirements to compilers were updated: + return { + "gcc": "10", + "clang": "11", + "apple-clang": "13", + "Visual Studio": "17", + "msvc": "192" + } + + return { "gcc": "7", "clang": "6", "apple-clang": "10", - "Visual Studio": "15" + "Visual Studio": "15", + "msvc": "191" } + + def validate(self): + minimal_cpp_standard = "17" + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, minimal_cpp_standard) + minimal_version = self._compiler_support_lut() + compiler = str(self.settings.compiler) if compiler not in minimal_version: - self.output.warn( + self.output.warning( "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) - self.output.warn( + self.output.warning( "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) return - version = tools.Version(self.settings.compiler.version) + version = Version(self.settings.compiler.version) if version < minimal_version[compiler]: raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) - def _configure_cmake(self): - if self._cmake: - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SOBJECTIZER_BUILD_SHARED"] = self.options.shared + tc.variables["SOBJECTIZER_BUILD_STATIC"] = not self.options.shared + tc.variables["SOBJECTIZER_INSTALL"] = True + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" + tc.generate() - self._cmake = CMake(self) - self._cmake.definitions["SOBJECTIZER_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["SOBJECTIZER_BUILD_STATIC"] = not self.options.shared - self._cmake.definitions["SOBJECTIZER_INSTALL"] = True + cmake_deps = CMakeDeps(self) + cmake_deps.generate() - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def layout(self): + cmake_layout(self, src_folder="src") def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "dev", "so_5")) cmake.build() 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 package(self): - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - self.copy("license*", src=self._source_subfolder, dst="licenses", ignore_case=True, keep_path=False) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): cmake_target = "SharedLib" if self.options.shared else "StaticLib" self.cpp_info.set_property("cmake_file_name", "sobjectizer") self.cpp_info.set_property("cmake_target_name", "sobjectizer::{}".format(cmake_target)) # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["_sobjectizer"].libs = tools.collect_libs(self) + self.cpp_info.components["_sobjectizer"].libs = collect_libs(self) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["_sobjectizer"].system_libs = ["pthread", "m"] if not self.options.shared: diff --git a/recipes/sobjectizer/all/test_package/CMakeLists.txt b/recipes/sobjectizer/all/test_package/CMakeLists.txt index 9a72279fda74f..38c12b1dc72ca 100644 --- a/recipes/sobjectizer/all/test_package/CMakeLists.txt +++ b/recipes/sobjectizer/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.8) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(sobjectizer REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/sobjectizer/all/test_package/conanfile.py b/recipes/sobjectizer/all/test_package/conanfile.py index 38f4483872d47..a9fb96656f203 100644 --- a/recipes/sobjectizer/all/test_package/conanfile.py +++ b/recipes/sobjectizer/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sobjectizer/all/test_v1_package/CMakeLists.txt b/recipes/sobjectizer/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..c960a336839f6 --- /dev/null +++ b/recipes/sobjectizer/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(sobjectizer REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +if(TARGET sobjectizer::SharedLib) + target_link_libraries(${PROJECT_NAME} sobjectizer::SharedLib) +else() + target_link_libraries(${PROJECT_NAME} sobjectizer::StaticLib) +endif() diff --git a/recipes/sobjectizer/all/test_v1_package/conanfile.py b/recipes/sobjectizer/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9b63bd176646b --- /dev/null +++ b/recipes/sobjectizer/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/sobjectizer/config.yml b/recipes/sobjectizer/config.yml index 31292d0fc4747..ecd4ce4a44c0f 100644 --- a/recipes/sobjectizer/config.yml +++ b/recipes/sobjectizer/config.yml @@ -21,3 +21,5 @@ versions: folder: all "5.7.5": folder: all + "5.8.0": + folder: all From 18b52712b13739bc34cafcbebbc7d5caaa0c8516 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 23 Aug 2023 18:51:55 +0200 Subject: [PATCH 1372/4087] (#19364) glib: add version 2.77.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 861fdaf023395..0dd31b0d40a5b 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index f86b157199163..808c4e2fcb441 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.77.2": + folder: all "2.77.1": folder: all "2.77.0": From 4adbf0e5da9409b1a34dd3e07f65f42323bcad97 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 24 Aug 2023 17:39:35 +0900 Subject: [PATCH 1373/4087] (#19376) lexbor: add version 2.3.0 --- recipes/lexbor/all/conandata.yml | 3 +++ recipes/lexbor/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lexbor/all/conandata.yml b/recipes/lexbor/all/conandata.yml index ae25e89b70b28..ea023ab0ff4cf 100644 --- a/recipes/lexbor/all/conandata.yml +++ b/recipes/lexbor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/lexbor/lexbor/archive/v2.3.0.zip" + sha256: "5ebdaca76715d737ba5ce5cb782c743caabccdf918854c19c1d5a9a3dd5f19e9" "2.2.0": url: "https://github.com/lexbor/lexbor/archive/v2.2.0.zip" sha256: "837d75e253c9dc157e20246984d7357a7288e2bd2a2b53f371ac047fec3b88e9" diff --git a/recipes/lexbor/config.yml b/recipes/lexbor/config.yml index ca654973c9512..1da7c205b6ff2 100644 --- a/recipes/lexbor/config.yml +++ b/recipes/lexbor/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: "all" "2.2.0": folder: "all" "2.1.0": From 92729dbb536cc53c50611f5e825367f502f5092d Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Thu, 24 Aug 2023 02:41:25 -0700 Subject: [PATCH 1374/4087] (#19351) boost: make sure libdirs is empty with header-only=True and used via `boost::boost` target --- 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 d6c700ab42217..d24854dcb4b47 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1491,6 +1491,8 @@ def package_info(self): self.cpp_info.components["_boost_cmake"].set_property("cmake_target_name", "Boost::boost") self.cpp_info.components["_boost_cmake"].names["cmake_find_package"] = "boost" self.cpp_info.components["_boost_cmake"].names["cmake_find_package_multi"] = "boost" + if self.options.header_only: + self.cpp_info.components["_boost_cmake"].libdirs = [] if not self.options.header_only: self.cpp_info.components["_libboost"].requires = ["headers"] From e2aecf90dc48f54ff7b90646a898ff808b0405e3 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 24 Aug 2023 13:03:42 +0200 Subject: [PATCH 1375/4087] (#19375) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 670a5cceabe10..ff746e7be2df1 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -256,6 +256,7 @@ required_for_references: - drwav - dtl - duckdb +- duktape - eabase - earcut - eastl @@ -314,6 +315,7 @@ required_for_references: - flatbush - flecs - flex +- fltk - fmt - fmtlog - fontconfig @@ -845,6 +847,7 @@ required_for_references: - pbtools - pcapplusplus - pcg-cpp +- pcl - pcre - pcre2 - pdfgen @@ -953,6 +956,7 @@ required_for_references: - rmm - roaring - robin-hood-hashing +- rpclib - rply - rtklib - rtm @@ -1003,6 +1007,7 @@ required_for_references: - sml - snappy - snowhouse +- sobjectizer - soci - sofa - sokol From 3d79d70864cf5fd3b46fcf26df9db113ac8ad7a8 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 24 Aug 2023 16:49:04 +0300 Subject: [PATCH 1376/4087] (#19383) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 00fa1030957d5..1edae9a58ce1d 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.12": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.12.tar.gz" + sha256: "07c89e37c624da036008acac88115b5aee6440f9e9f326139f256f34022f9a20" "2.0.11": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.11.tar.gz" sha256: "990979474bcbb924efb1c046581589e11889d502e5ad24b9779c131c4f3d9941" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index e8eabfb453af9..4852bb383cf44 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.12": + folder: all "2.0.11": folder: all "2.0.10": From cb1c70233f261942310025c6c0e33ec6e38d9573 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Thu, 24 Aug 2023 18:03:25 +0200 Subject: [PATCH 1377/4087] (#18968) rsync/3.2.7: Added package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * rsync: Added rsync package * Update recipes/rsync/all/conanfile.py * Update recipes/rsync/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/rsync/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/rsync/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/rsync/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/rsync/all/test_package/conanfile.py Co-authored-by: Uilian Ries * Update recipes/rsync/all/conanfile.py Co-authored-by: Uilian Ries * Remove unused import from test package --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/rsync/all/conandata.yml | 4 + recipes/rsync/all/conanfile.py | 114 ++++++++++++++++++++ recipes/rsync/all/test_package/conanfile.py | 17 +++ recipes/rsync/config.yml | 3 + 4 files changed, 138 insertions(+) create mode 100644 recipes/rsync/all/conandata.yml create mode 100644 recipes/rsync/all/conanfile.py create mode 100644 recipes/rsync/all/test_package/conanfile.py create mode 100644 recipes/rsync/config.yml diff --git a/recipes/rsync/all/conandata.yml b/recipes/rsync/all/conandata.yml new file mode 100644 index 0000000000000..a7d6fc86710c8 --- /dev/null +++ b/recipes/rsync/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.2.7": + url: "https://download.samba.org/pub/rsync/src/rsync-3.2.7.tar.gz" + sha256: "4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb" diff --git a/recipes/rsync/all/conanfile.py b/recipes/rsync/all/conanfile.py new file mode 100644 index 0000000000000..959c1c6253bb0 --- /dev/null +++ b/recipes/rsync/all/conanfile.py @@ -0,0 +1,114 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.files import copy, get, rmdir +from conan.tools.layout import basic_layout +from conan.tools.apple import is_apple_os +import os + +required_conan_version = ">=1.60.0" + +class RsyncConan(ConanFile): + name = "rsync" + description = "rsync is an open source utility that provides fast incremental file transfer" + topics = ("backup", "transferring", "file-transfer", "ssh", "compression") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://rsync.samba.org/" + license = ("GPL-3.0", "LGPL-3.0") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + options = { + "with_zlib": [True, False], + "with_openssl": [True, False], + "with_zstd": [True, False], + "with_xxhash": [True, False], + "with_lz4": [True, False], + "enable_acl": [True, False] + } + default_options = { + "with_zlib": True, + "with_openssl": True, + "with_zstd": True, + "with_xxhash": True, + "with_lz4": True, + "enable_acl": False + } + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package_id(self): + del self.info.settings.compiler + + def requirements(self): + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + + if self.options.with_zlib: + self.requires("zlib/1.2.13") + + if self.options.with_zstd: + self.requires("zstd/1.5.5") + + if self.options.with_lz4: + self.requires("lz4/1.9.2") + + if self.options.with_xxhash: + self.requires("xxhash/0.8.1") + + def validate(self): + if self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} is not supported on Windows.") + + if is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.ref} is not supported on Apple systems.") + + def generate(self): + ad = AutotoolsDeps(self) + ad.generate() + + yes_no = lambda v: "yes" if v else "no" + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + f"--enable-acl-support={yes_no(self.options.enable_acl)}", + f"--with-included-zlib={yes_no(not self.options.with_zlib)}", + "--disable-openssl" if not self.options.with_openssl else "--enable-openssl", + f"--with-zstd={yes_no(self.options.with_zstd)}", + f"--with-lz4={yes_no(self.options.with_lz4)}", + f"--with-xxhash={yes_no(self.options.with_xxhash)}", + + "--enable-manpages=no", + ]) + + if self.settings.os == "Neutrino": + tc.extra_defines.append("MAKEDEV_TAKES_3_ARGS") + + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + autotools = Autotools(self) + autotools.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), ignore_case=True) + + def package_info(self): + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + + # TODO: Remove after dropping Conan 1.x from ConanCenterIndex + bindir = os.path.join(self.package_folder, "bin") + self.runenv_info.prepend_path("PATH", bindir) diff --git a/recipes/rsync/all/test_package/conanfile.py b/recipes/rsync/all/test_package/conanfile.py new file mode 100644 index 0000000000000..92140298fe340 --- /dev/null +++ b/recipes/rsync/all/test_package/conanfile.py @@ -0,0 +1,17 @@ +from conan import ConanFile +from conan.tools.build import can_run + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def test(self): + if not can_run(self): + return + + self.run("rsync --version", env="conanrun") diff --git a/recipes/rsync/config.yml b/recipes/rsync/config.yml new file mode 100644 index 0000000000000..115b04e9ac779 --- /dev/null +++ b/recipes/rsync/config.yml @@ -0,0 +1,3 @@ +versions: + "3.2.7": + folder: all From d11dc8ce9da2ac37455be30e3a026c62469286bf Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Thu, 24 Aug 2023 19:21:56 +0200 Subject: [PATCH 1378/4087] (#19346) GMP: bump version * bump GMP version * fix * add patch file for 6.3.x * fix patches --- recipes/gmp/all/conandata.yml | 12 ++++++++++-- ...ch => 6.x.x-0001-fix-MSVC-next-prime-error.patch} | 0 recipes/gmp/config.yml | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) rename recipes/gmp/all/patches/{6.2.x-0001-fix-MSVC-next-prime-error.patch => 6.x.x-0001-fix-MSVC-next-prime-error.patch} (100%) diff --git a/recipes/gmp/all/conandata.yml b/recipes/gmp/all/conandata.yml index 3c3f2645e9c31..71709fecc31aa 100644 --- a/recipes/gmp/all/conandata.yml +++ b/recipes/gmp/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "6.3.0": + url: + - "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.bz2" + - "https://gmplib.org/download/gmp/gmp-6.3.0.tar.bz2" + sha256: "ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb" "6.2.1": url: - "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2" @@ -11,12 +16,15 @@ sources: url: "https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2" sha256: "5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2" patches: + "6.3.0": + - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" + - patch_file: "patches/6.x.x-0001-fix-MSVC-next-prime-error.patch" "6.2.1": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - - patch_file: "patches/6.2.x-0001-fix-MSVC-next-prime-error.patch" + - patch_file: "patches/6.x.x-0001-fix-MSVC-next-prime-error.patch" "6.2.0": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - - patch_file: "patches/6.2.x-0001-fix-MSVC-next-prime-error.patch" + - patch_file: "patches/6.x.x-0001-fix-MSVC-next-prime-error.patch" "6.1.2": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - patch_file: "patches/6.1.x-0001-fix-MSVC-next-prime-error.patch" diff --git a/recipes/gmp/all/patches/6.2.x-0001-fix-MSVC-next-prime-error.patch b/recipes/gmp/all/patches/6.x.x-0001-fix-MSVC-next-prime-error.patch similarity index 100% rename from recipes/gmp/all/patches/6.2.x-0001-fix-MSVC-next-prime-error.patch rename to recipes/gmp/all/patches/6.x.x-0001-fix-MSVC-next-prime-error.patch diff --git a/recipes/gmp/config.yml b/recipes/gmp/config.yml index 7beafba5ffe63..4be5637d7da8f 100644 --- a/recipes/gmp/config.yml +++ b/recipes/gmp/config.yml @@ -1,4 +1,6 @@ versions: + "6.3.0": + folder: all "6.2.1": folder: all "6.2.0": From f4342e54445f68c1a94ce2f3676d6a9570e0845e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 24 Aug 2023 20:05:10 +0200 Subject: [PATCH 1379/4087] (#19365) qt6: remove multimedia plugins they are legacy from qt5, but never existed in qt6: https://github.com/qt/qtmultimedia/commit/805b10624ced9b97283e94594a5c7db4c10c63c4 https://github.com/qt/qtmultimedia/commit/98148969b112f82d2b49e77950ea5f6d8b37b8b2 https://github.com/qt/qtmultimedia/commit/aa441d63a1ed0843f4632da2d0a97a7b8bb24b43 https://github.com/qt/qtmultimedia/commit/f16dbe174cee73308cae2aae512fe837e07e0f55 https://github.com/qt/qtmultimedia/commit/58e74015c5239f269a1f0a59eabe43e92c47acd5 fixes https://github.com/conan-io/conan-center-index/issues/19146 --- recipes/qt/6.x.x/conanfile.py | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 70ddeb3bf605a..3edb49f690ce4 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -1205,24 +1205,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("MultimediaWidgets", ["Multimedia", "Widgets", "Gui"]) if self.options.qtdeclarative and qt_quick_enabled: _create_module("MultimediaQuick", ["Multimedia", "Quick"]) - _create_plugin("QM3uPlaylistPlugin", "qtmultimedia_m3u", "playlistformats", []) if self.options.with_gstreamer: - _create_module("MultimediaGstTools", ["Multimedia", "MultimediaWidgets", "Gui", "gst-plugins-base::gst-plugins-base"]) - _create_plugin("QGstreamerAudioDecoderServicePlugin", "gstaudiodecoder", "mediaservice", []) - _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.settings.os == "Windows": - _create_plugin("AudioCaptureServicePlugin", "qtmedia_audioengine", "mediaservice", []) - _create_plugin("DSServicePlugin", "dsengine", "mediaservice", []) - _create_plugin("QWindowsAudioPlugin", "qtaudio_windows", "audio", []) - if self.settings.os == "Macos": - _create_plugin("AudioCaptureServicePlugin", "qtmedia_audioengine", "mediaservice", []) - _create_plugin("AVFMediaPlayerServicePlugin", "qavfmediaplayer", "mediaservice", []) - _create_plugin("AVFServicePlugin", "qavfcamera", "mediaservice", []) - _create_plugin("CoreAudioPlugin", "qtaudio_coreaudio", "audio", []) + _create_plugin("QGstreamerMediaPlugin", "gstreamermediaplugin", "multimedia", ["gst-plugins-base::gst-plugins-base"]) if self.options.get_safe("qtpositioning"): _create_module("Positioning", []) From a38ae8e0bb84b4ed361fa8fa06ddee57f8546c65 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 24 Aug 2023 21:31:04 +0300 Subject: [PATCH 1380/4087] (#19396) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 1edae9a58ce1d..a7f8c97edc459 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.13": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.13.tar.gz" + sha256: "4e6cdcd54c5ce1e1ed9a97bd18ac5aeb7c15bb303193b4261058aef724fe9a41" "2.0.12": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.12.tar.gz" sha256: "07c89e37c624da036008acac88115b5aee6440f9e9f326139f256f34022f9a20" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 4852bb383cf44..3a7084f75ff20 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.13": + folder: all "2.0.12": folder: all "2.0.11": From debe3d293daad963a4c7acb68eec70828f1bcfd2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 25 Aug 2023 03:48:19 +0900 Subject: [PATCH 1381/4087] (#19395) sqlite3: add version 3.43.0 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index efde056fcf092..7d17c799d5f24 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.43.0": + url: "https://sqlite.org/2023/sqlite-amalgamation-3430000.zip" + sha256: "bb5849ae4d7129c09d20596379a0b3f7b1ac59cf9998eba5ef283ea9b6c000a5" "3.42.0": url: "https://sqlite.org/2023/sqlite-amalgamation-3420000.zip" sha256: "1cc824d0f5e675829fa37018318fda833ea56f7e9de2b41eddd9f7643b5ec29e" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 50ef72c5285ab..f5a78a2be1eed 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.43.0": + folder: all "3.42.0": folder: all "3.41.2": From 6445bc697a77f4dd5b3cc7254b1b7d2d05c98dcd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 24 Aug 2023 22:19:19 +0200 Subject: [PATCH 1382/4087] (#17117) aws-c-s3: add missing interface definition if shared + modernize more for conan v2 * add AWS_S3_USE_IMPORT_EXPORT interface definition if shared * modernize more * more elegant way to define target for legacy generators * aws-c-common, aws-c-auth & aws-c-io are public dependencies * aws-c-s3: add direct dependency on aws-c-cal * aws-c-s3: fix requirement on aws-c-cal * aws-c-s3: drop older version --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/aws-c-s3/all/conandata.yml | 3 - recipes/aws-c-s3/all/conanfile.py | 83 ++++++++++--------- .../all/test_v1_package/CMakeLists.txt | 8 +- recipes/aws-c-s3/config.yml | 2 - 4 files changed, 47 insertions(+), 49 deletions(-) diff --git a/recipes/aws-c-s3/all/conandata.yml b/recipes/aws-c-s3/all/conandata.yml index af6e82a742aa6..776d2c58fad6a 100644 --- a/recipes/aws-c-s3/all/conandata.yml +++ b/recipes/aws-c-s3/all/conandata.yml @@ -11,6 +11,3 @@ sources: "0.1.27": url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.27.tar.gz" sha256: "8fccbf967c3b29f0feaa1ba3de158b7ead805c3b4302c45b7cad3429f045920c" - "0.1.19": - url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.19.tar.gz" - sha256: "30e17e31eed18e8d621cd3d3978b2e6eeeee5557bfc3a9d701d0d3e1c4a8a74d" diff --git a/recipes/aws-c-s3/all/conanfile.py b/recipes/aws-c-s3/all/conanfile.py index 131627214ba79..4854a0ec7c6d5 100644 --- a/recipes/aws-c-s3/all/conanfile.py +++ b/recipes/aws-c-s3/all/conanfile.py @@ -1,18 +1,21 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir -from conan.tools.scm import Version 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 + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.47.0" class AwsCS3(ConanFile): name = "aws-c-s3" description = "C99 implementation of the S3 client" - license = "Apache-2.0", + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/awslabs/aws-c-s3" topics = ("aws", "amazon", "cloud", "s3") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -29,37 +32,29 @@ 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 requirements(self): - self.requires("aws-c-common/0.8.2") + 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.1.49": - self.requires("aws-c-io/0.10.20") + self.requires("aws-c-auth/0.6.11", transitive_headers=True) self.requires("aws-c-http/0.6.13") - self.requires("aws-c-auth/0.6.11") + self.requires("aws-c-io/0.10.20", transitive_headers=True) else: - self.requires("aws-c-io/0.13.4") + self.requires("aws-c-auth/0.6.17", transitive_headers=True) self.requires("aws-c-http/0.6.22") - self.requires("aws-c-auth/0.6.17") + self.requires("aws-c-io/0.13.4", transitive_headers=True) if Version(self.version) >= "0.1.36": self.requires("aws-checksums/0.1.13") 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) @@ -80,24 +75,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-c-s3")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-c-s3": "aws-c-s3::aws-c-s3"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-c-s3") self.cpp_info.set_property("cmake_target_name", "AWS::aws-c-s3") + self.cpp_info.libs = ["aws-c-s3"] + if self.options.shared: + self.cpp_info.defines.append("AWS_S3_USE_IMPORT_EXPORT") - self.cpp_info.filenames["cmake_find_package"] = "aws-c-s3" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-c-s3" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" - self.cpp_info.components["aws-c-s3-lib"].names["cmake_find_package"] = "aws-c-s3" - self.cpp_info.components["aws-c-s3-lib"].names["cmake_find_package_multi"] = "aws-c-s3" - self.cpp_info.components["aws-c-s3-lib"].set_property("cmake_target_name", "AWS::aws-c-s3") - - self.cpp_info.components["aws-c-s3-lib"].libs = ["aws-c-s3"] - self.cpp_info.components["aws-c-s3-lib"].requires = [ - "aws-c-common::aws-c-common-lib", - "aws-c-io::aws-c-io-lib", - "aws-c-http::aws-c-http-lib", - "aws-c-auth::aws-c-auth-lib" - ] - if Version(self.version) >= "0.1.36": - self.cpp_info.components["aws-c-s3-lib"].requires.append("aws-checksums::aws-checksums-lib") + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt index 0778b2e2c7246..0d20897301b68 100644 --- a/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt +++ b/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(aws-c-s3 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE AWS::aws-c-s3) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-s3/config.yml b/recipes/aws-c-s3/config.yml index 182095498622b..9a2f6a3845f5c 100644 --- a/recipes/aws-c-s3/config.yml +++ b/recipes/aws-c-s3/config.yml @@ -7,5 +7,3 @@ versions: folder: all "0.1.27": folder: all - "0.1.19": - folder: all From fa9d7398a23b8f3bc5e026c6318a92c82f1b06cd Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 24 Aug 2023 22:58:57 +0200 Subject: [PATCH 1383/4087] (#19388) libsecret/all: bump deps * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsecret/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libsecret/all/conanfile.py b/recipes/libsecret/all/conanfile.py index 2988bdf94bf2c..d8c295c9287a3 100644 --- a/recipes/libsecret/all/conanfile.py +++ b/recipes/libsecret/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.76.0", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.77.2", transitive_headers=True, transitive_libs=True) if self._use_gcrypt: self.requires("libgcrypt/1.8.4") @@ -64,9 +64,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") self.tool_requires("glib/") if self.settings.os == "Macos": From a7996c0fd3839233a31bd1cc22f1bb43aed648b6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 24 Aug 2023 23:37:32 +0200 Subject: [PATCH 1384/4087] (#19403) libselinux/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libselinux/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libselinux/all/conanfile.py b/recipes/libselinux/all/conanfile.py index b584e1b1696aa..b6e6523df6453 100644 --- a/recipes/libselinux/all/conanfile.py +++ b/recipes/libselinux/all/conanfile.py @@ -54,7 +54,7 @@ def validate(self): def build_requirements(self): self.tool_requires("flex/2.6.4") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") def source(self): for download in self.conan_data["sources"][self.version]: From 8734f9aa0ae2f50062661f34b032f431bbae24d5 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 25 Aug 2023 00:19:12 +0200 Subject: [PATCH 1385/4087] (#19390) glibmm/all: bump deps * glibmm/all/: bump deps * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glibmm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * unbump libsigcpp --- recipes/glibmm/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/glibmm/all/conanfile.py b/recipes/glibmm/all/conanfile.py index df88638f61d35..e1e08552bf5e9 100644 --- a/recipes/glibmm/all/conanfile.py +++ b/recipes/glibmm/all/conanfile.py @@ -75,7 +75,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.76.0") + self.requires("glib/2.77.2") if self._abi_version == "2.68": self.requires("libsigcpp/3.0.7") else: @@ -97,9 +97,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.0.0") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 8f1a7c79b9bdf62bbb46071e36a9f5c0af27e2a3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 25 Aug 2023 00:56:41 +0200 Subject: [PATCH 1386/4087] (#19392) pulseaudio/alll: bump deps * pulseaudio/all/: bump deps * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pulseaudio/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py index 84e7c6bf375e7..f1b1de05bf967 100644 --- a/recipes/pulseaudio/all/conanfile.py +++ b/recipes/pulseaudio/all/conanfile.py @@ -58,13 +58,13 @@ def layout(self): def requirements(self): self.requires("libiconv/1.17") - self.requires("libsndfile/1.2.0") - self.requires("libcap/2.66") + self.requires("libsndfile/1.2.2") + self.requires("libcap/2.68") self.requires("libtool/2.4.7") if self.options.with_alsa: self.requires("libalsa/1.2.7.2") if self.options.with_glib: - self.requires("glib/2.76.1") + self.requires("glib/2.77.2") if self.options.get_safe("with_fftw"): self.requires("fftw/3.3.10") if self.options.with_x11: @@ -72,7 +72,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_dbus: - self.requires("dbus/1.15.2") + self.requires("dbus/1.15.8") def validate(self): if self.settings.os != "Linux": @@ -90,7 +90,7 @@ def build_requirements(self): self.tool_requires("gettext/0.21") self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 4c28c55d2e6591434e75b423ad7f5533c0693631 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 25 Aug 2023 01:49:42 +0200 Subject: [PATCH 1387/4087] (#19382) [bot] Update authorized users list (2023-08-24) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index fcf61aaa08fd3..b68f4b3ff0398 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1216,3 +1216,4 @@ authorized_users: - adattatri - jwfallawuiuc - tgurriet +- mgfernan From c81c3dff91bd05112ff7e71725ab6f28817a9777 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 25 Aug 2023 02:02:58 +0200 Subject: [PATCH 1388/4087] (#19394) [nasm] Configure assembler compiler by cpp_info Signed-off-by: Uilian Ries --- recipes/nasm/all/conanfile.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/recipes/nasm/all/conanfile.py b/recipes/nasm/all/conanfile.py index 25d5fec8b82ba..f570e673ace4d 100644 --- a/recipes/nasm/all/conanfile.py +++ b/recipes/nasm/all/conanfile.py @@ -17,7 +17,7 @@ class NASMConan(ConanFile): homepage = "http://www.nasm.us" description = "The Netwide Assembler, NASM, is an 80x86 and x86-64 assembler" license = "BSD-2-Clause" - topics = ("nasm", "installer", "assembler") + topics = ("asm", "installer", "assembler",) settings = "os", "arch", "compiler", "build_type" @@ -25,6 +25,20 @@ class NASMConan(ConanFile): def _settings_build(self): return getattr(self, "settings_build", self.settings) + @property + def _nasm(self): + suffix = "w.exe" if is_msvc(self) else "" + return os.path.join(self.package_folder, "bin", f"nasm{suffix}") + + @property + def _ndisasm(self): + suffix = "w.exe" if is_msvc(self) else "" + return os.path.join(self.package_folder, "bin", f"ndisasm{suffix}") + + def _chmod_plus_x(self, filename): + if os.name == "posix": + os.chmod(filename, os.stat(filename).st_mode | 0o111) + def export_sources(self): export_conandata_patches(self) @@ -94,10 +108,21 @@ def package(self): autotools = Autotools(self) autotools.install() rmdir(self, os.path.join(self.package_folder, "share")) + self._chmod_plus_x(self._nasm) + self._chmod_plus_x(self._ndisasm) def package_info(self): self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] + compiler_executables = {"asm": self._nasm} + self.conf_info.update("tools.build:compiler_executables", compiler_executables) + self.buildenv_info.define_path("NASM", self._nasm) + self.buildenv_info.define_path("NDISASM", self._ndisasm) + self.buildenv_info.define_path("AS", self._nasm) + # TODO: Legacy, to be removed on Conan 2.0 self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + self.env_info.NASM = self._nasm + self.env_info.NDISASM = self._ndisasm + self.env_info.AS = self._nasm From 57acb4c8623cce7c97ebe393f706c8d4e0dbe289 Mon Sep 17 00:00:00 2001 From: Holger Detering Date: Fri, 25 Aug 2023 02:49:11 +0200 Subject: [PATCH 1389/4087] (#19368) aws-c-event-stream: add version 0.3.1 --- recipes/aws-c-event-stream/all/conandata.yml | 3 +++ recipes/aws-c-event-stream/all/conanfile.py | 12 +++++++++--- recipes/aws-c-event-stream/config.yml | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/recipes/aws-c-event-stream/all/conandata.yml b/recipes/aws-c-event-stream/all/conandata.yml index 61428e916296b..4c8f01cd490cb 100644 --- a/recipes/aws-c-event-stream/all/conandata.yml +++ b/recipes/aws-c-event-stream/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.1": + url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.1.tar.gz" + sha256: "bdbc420efc2572689fb167ac288e982a01224876eb79d80e2411fad4c43e9dc0" "0.2.15": url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.15.tar.gz" sha256: "4ff2ada07ede3c6afa4b8e6e20de541e717038307f29b38c27efa7c4d875ee26" diff --git a/recipes/aws-c-event-stream/all/conanfile.py b/recipes/aws-c-event-stream/all/conanfile.py index 2d51b3c4c313f..d88a017a7e6ba 100644 --- a/recipes/aws-c-event-stream/all/conanfile.py +++ b/recipes/aws-c-event-stream/all/conanfile.py @@ -43,13 +43,19 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-checksums/0.1.13") + 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.0", 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") - else: + elif Version(self.version) < "0.3.1": self.requires("aws-c-io/0.13.4") + else: + self.requires("aws-c-io/0.13.32") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-event-stream/config.yml b/recipes/aws-c-event-stream/config.yml index 96ac653286f12..4a2530c32b47b 100644 --- a/recipes/aws-c-event-stream/config.yml +++ b/recipes/aws-c-event-stream/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.1": + folder: all "0.2.15": folder: all "0.2.12": From 779dc12c83d2a20a24f487e7530dc8092d2eb6f3 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Fri, 25 Aug 2023 05:05:11 +0300 Subject: [PATCH 1390/4087] (#19018) utfcpp: add utf8::cpp alias * utfcpp: add utf8::cpp alias * fix build module for v1 * Get rid of alias for CMake < 3.18 --- recipes/utfcpp/all/conanfile.py | 11 ++++++----- recipes/utfcpp/all/test_package/CMakeLists.txt | 2 ++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/recipes/utfcpp/all/conanfile.py b/recipes/utfcpp/all/conanfile.py index 34e0685b4ddb2..247b54396ade2 100644 --- a/recipes/utfcpp/all/conanfile.py +++ b/recipes/utfcpp/all/conanfile.py @@ -38,7 +38,8 @@ def package(self): # 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), - {"utf8cpp": "utf8cpp::utf8cpp"}, + {"utf8cpp": "utf8cpp::utf8cpp", + "utf8::cpp": "utf8cpp::utf8cpp"}, ) def _create_cmake_module_alias_targets(self, module_file, targets): @@ -59,12 +60,12 @@ def _module_file_rel_path(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "utf8cpp") self.cpp_info.set_property("cmake_target_name", "utf8cpp") + self.cpp_info.set_property("cmake_target_aliases", ["utf8::cpp"]) self.cpp_info.includedirs.append(os.path.join("include", "utf8cpp")) self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "utf8cpp" - self.cpp_info.names["cmake_find_package_multi"] = "utf8cpp" - 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] + for generator in ["cmake_find_package", "cmake_find_package_multi"]: + self.cpp_info.names[generator] = "utf8cpp" + self.cpp_info.build_modules[generator] = [self._module_file_rel_path] diff --git a/recipes/utfcpp/all/test_package/CMakeLists.txt b/recipes/utfcpp/all/test_package/CMakeLists.txt index fe794ae36be57..7624c13618914 100644 --- a/recipes/utfcpp/all/test_package/CMakeLists.txt +++ b/recipes/utfcpp/all/test_package/CMakeLists.txt @@ -5,4 +5,6 @@ find_package(utf8cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE utf8cpp) +#check alias +target_link_libraries(${PROJECT_NAME} PRIVATE utf8::cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) From 56d92fb9f5ef7678d296c2b12900bfd684e327ea Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Thu, 24 Aug 2023 22:38:43 -0700 Subject: [PATCH 1391/4087] (#19345) expected-lite: make sure libdirs is empty for this header-only library --- recipes/expected-lite/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/expected-lite/all/conanfile.py b/recipes/expected-lite/all/conanfile.py index d5786a1bd1873..591dbe00d1ead 100644 --- a/recipes/expected-lite/all/conanfile.py +++ b/recipes/expected-lite/all/conanfile.py @@ -52,3 +52,4 @@ def package_info(self): self.cpp_info.components["expectedlite"].names["cmake_find_package"] = "expected-lite" self.cpp_info.components["expectedlite"].names["cmake_find_package_multi"] = "expected-lite" self.cpp_info.components["expectedlite"].set_property("cmake_target_name", "nonstd::expected-lite") + self.cpp_info.components["expectedlite"].libdirs = [] From 29309eb45e2f3c9365c54342d65743562e32603d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 25 Aug 2023 15:19:34 +0900 Subject: [PATCH 1392/4087] (#19377) simdutf: add version 3.2.17 --- recipes/simdutf/all/conandata.yml | 7 ++++++ .../all/patches/3.2.17-0001-fix-cmake.patch | 22 +++++++++++++++++++ recipes/simdutf/config.yml | 2 ++ 3 files changed, 31 insertions(+) create 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 a0fbb53596197..7b21b415ea007 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.17": + url: "https://github.com/simdutf/simdutf/archive/v3.2.17.tar.gz" + sha256: "c24e3eec1e08522a09b33e603352e574f26d367a7701bf069a65881f64acd519" "3.2.15": url: "https://github.com/simdutf/simdutf/archive/v3.2.15.tar.gz" sha256: "c26d2e2e9124e1c20335d3880d74c8b0d74a5e247ba82ef82d15df4ccc413bcd" @@ -30,6 +33,10 @@ sources: url: "https://github.com/simdutf/simdutf/archive/v1.0.1.tar.gz" sha256: "e7832ba58fb95fe00de76dbbb2f17d844a7ad02a6f5e3e9e5ce9520e820049a0" 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" "3.2.15": - patch_file: "patches/3.2.14-0001-fix-cmake.patch" patch_description: "remove static build, enable rpath on macOS" 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 new file mode 100644 index 0000000000000..6f1f0aa23c231 --- /dev/null +++ b/recipes/simdutf/all/patches/3.2.17-0001-fix-cmake.patch @@ -0,0 +1,22 @@ +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 997781983cc10..809aaef06ef29 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.17": + folder: all "3.2.15": folder: all "3.2.14": From 4af9a10888afe03d29f5c2378b7045e683d260f1 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 25 Aug 2023 15:39:28 +0900 Subject: [PATCH 1393/4087] (#19409) gperftools: add version 2.12.0 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index 439e56462f63f..9b61f5954a26d 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.0": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.12/gperftools-2.12.tar.gz" + sha256: "fb611b56871a3d9c92ab0cc41f9c807e8dfa81a54a4a9de7f30e838756b5c7c6" "2.11.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.11/gperftools-2.11.tar.gz" sha256: "8ffda10e7c500fea23df182d7adddbf378a203c681515ad913c28a64b87e24dc" diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index caf3d64443304..901ed44b80295 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.0": + folder: all "2.11.0": folder: all "2.10.0": From ca82fe3535e6642dbf6671e90d7cc58bf11ab3b3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 25 Aug 2023 13:59:15 +0200 Subject: [PATCH 1394/4087] (#19413) libmount: fixup license files --- recipes/libmount/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libmount/all/conanfile.py b/recipes/libmount/all/conanfile.py index 04bcc9f5b860f..b9ec541d71963 100644 --- a/recipes/libmount/all/conanfile.py +++ b/recipes/libmount/all/conanfile.py @@ -61,7 +61,8 @@ def build(self): autotools.make() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING", src=os.path.join(self.source_folder, "libmount"), dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING.LGPL-2.1-or-later", src=os.path.join(self.source_folder, "Documentation", "licenses"), dst=os.path.join(self.package_folder, "licenses")) autotools = Autotools(self) autotools.install() rmdir(self, os.path.join(self.package_folder, "sbin")) From fca6afcc18519a6679c16a3b8916e5efacecc3b8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 25 Aug 2023 21:36:13 +0900 Subject: [PATCH 1395/4087] (#19151) yaml-cpp: add version 0.8.0 * yaml-cpp: add version 0.8.0 * support static build on msvc --- recipes/yaml-cpp/all/conandata.yml | 9 +++++++++ recipes/yaml-cpp/all/conanfile.py | 5 ++++- recipes/yaml-cpp/config.yml | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/yaml-cpp/all/conandata.yml b/recipes/yaml-cpp/all/conandata.yml index 59546f980c76e..542de368538ce 100644 --- a/recipes/yaml-cpp/all/conandata.yml +++ b/recipes/yaml-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/jbeder/yaml-cpp/archive/refs/tags/0.8.0.tar.gz" + sha256: "fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16" "0.7.0": url: "https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.7.0.tar.gz" sha256: "43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3" @@ -8,4 +11,10 @@ sources: patches: "0.7.0": - patch_file: "patches/0001-install-0.7.0.patch" + patch_description: "trigger installation through add_subdirectory from another CMakeLists.txt" + patch_type: "conan" + patch_source: "https://github.com/jbeder/yaml-cpp/pull/847" - patch_file: "patches/0002-libcxx-and-gcc.patch" + patch_description: "Adds assert to enable compilation with libcxx + gcc" + patch_type: "portability" + patch_source: "https://github.com/jbeder/yaml-cpp/pull/947" diff --git a/recipes/yaml-cpp/all/conanfile.py b/recipes/yaml-cpp/all/conanfile.py index 1b66ae0cdf060..5b5671d6ceeee 100644 --- a/recipes/yaml-cpp/all/conanfile.py +++ b/recipes/yaml-cpp/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import textwrap @@ -110,8 +111,10 @@ def package_info(self): self.cpp_info.system_libs.append("m") if is_msvc(self): self.cpp_info.defines.append("_NOEXCEPT=noexcept") - if self.options.shared: + if Version(self.version) < "0.8.0" and self.options.shared: self.cpp_info.defines.append("YAML_CPP_DLL") + if Version(self.version) >= "0.8.0" and not self.options.shared: + self.cpp_info.defines.append("YAML_CPP_STATIC_DEFINE") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] diff --git a/recipes/yaml-cpp/config.yml b/recipes/yaml-cpp/config.yml index ecd70890a4473..3ad5266d60fe2 100644 --- a/recipes/yaml-cpp/config.yml +++ b/recipes/yaml-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: all "0.7.0": folder: all "0.6.3": From 241a271eb365ce007109ca27776ddc8e522489f1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 25 Aug 2023 15:43:10 +0200 Subject: [PATCH 1396/4087] (#19387) keychain/all: bump deps * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/keychain/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/keychain/all/conanfile.py b/recipes/keychain/all/conanfile.py index 216336cf7d368..102f9369ebd89 100644 --- a/recipes/keychain/all/conanfile.py +++ b/recipes/keychain/all/conanfile.py @@ -33,12 +33,12 @@ def validate(self): def requirements(self): if self.settings.os == "Linux": - self.requires("libsecret/0.20.4") - self.requires("glib/2.76.0") + self.requires("libsecret/0.20.5") + self.requires("glib/2.77.2") def build_requirements(self): if self.settings.os == "Linux": - self.tool_requires("pkgconf/1.7.3") + self.tool_requires("pkgconf/1.9.5") def layout(self): cmake_layout(self, src_folder="src") From 76883247305bc86e10aebe6f55a9b2775771c185 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 25 Aug 2023 16:04:10 +0200 Subject: [PATCH 1397/4087] (#19389) libverto/all: bump deps * libverto/all/: bump deps * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libverto/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libverto/all/conanfile.py b/recipes/libverto/all/conanfile.py index a35c9bf481ff4..e1a3593480924 100644 --- a/recipes/libverto/all/conanfile.py +++ b/recipes/libverto/all/conanfile.py @@ -75,7 +75,7 @@ def layout(self): def requirements(self): if self.options.with_glib: - self.requires("glib/2.76.0") + self.requires("glib/2.77.2") if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_libev: @@ -109,7 +109,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") self.tool_requires("libtool/2.4.7") if self._settings_build.os == "Windows": self.win_bash = True From 227d6d18921b31119734da4bdc0059969b131174 Mon Sep 17 00:00:00 2001 From: Thomas Steiner <47025493+steinerthomas@users.noreply.github.com> Date: Fri, 25 Aug 2023 16:56:48 +0200 Subject: [PATCH 1398/4087] (#19414) xmlsec: bump libxml2 to 2.11.4 * xmlsec: bump libxml2 to 2.11.4 * test_package 2.11.4 --- recipes/xmlsec/all/conanfile.py | 2 +- recipes/xmlsec/all/test_package/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 6cbfca0ca36ca..146dd548ccbb5 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.10.4", transitive_headers=True) + self.requires("libxml2/2.11.4", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: diff --git a/recipes/xmlsec/all/test_package/conanfile.py b/recipes/xmlsec/all/test_package/conanfile.py index e977f9247d9e3..b846bc292a759 100644 --- a/recipes/xmlsec/all/test_package/conanfile.py +++ b/recipes/xmlsec/all/test_package/conanfile.py @@ -14,7 +14,7 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - self.requires("libxml2/2.10.4") + self.requires("libxml2/2.11.4") def generate(self): tc = CMakeToolchain(self) From eec8b0073a02776872ff04f803b46a691a14ff1a Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 25 Aug 2023 18:05:43 +0200 Subject: [PATCH 1399/4087] (#19380) [fix] Arrow: Make it conan v2 comaptible, refactor auto options and add 12.0.1 version * arrow: add version 12.0.1, with dirty workaround for conan v2 * [fix] Arrow: Make it conan v2 comaptible, refactor auto options and add 12.0.1 * remove prints --------- Co-authored-by: toge --- recipes/arrow/all/conandata.yml | 3 + recipes/arrow/all/conanfile.py | 236 +++++++++++++++----------------- recipes/arrow/config.yml | 2 + 3 files changed, 119 insertions(+), 122 deletions(-) diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index 772cdfef9c3c2..256a5f614578c 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.0.1": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-12.0.1/apache-arrow-12.0.1.tar.gz?action=download" + sha256: "3481c411393aa15c75e88d93cf8315faf7f43e180fe0790128d3840d417de858" "12.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-12.0.0/apache-arrow-12.0.0.tar.gz?action=download" sha256: "ddd8347882775e53af7d0965a1902b7d8fcd0a030fd14f783d4f85e821352d52" diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 50780c591a6e7..abed7f510dbed 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -49,8 +49,9 @@ class ArrowConan(ConanFile): "with_glog": ["auto", True, False], "with_grpc": ["auto", True, False], "with_jemalloc": ["auto", True, False], - "with_mimalloc": ["auto", True, False], + "with_mimalloc": [True, False], "with_json": [True, False], + "with_thrift": ["auto", True, False], "with_llvm": ["auto", True, False], "with_openssl": ["auto", True, False], "with_opentelemetry": [True, False], @@ -99,6 +100,7 @@ class ArrowConan(ConanFile): "with_glog": "auto", "with_grpc": "auto", "with_json": False, + "with_thrift": "auto", "with_llvm": "auto", "with_openssl": "auto", "with_opentelemetry": False, @@ -155,6 +157,22 @@ def config_options(self): if Version(self.version) < "8.0.0": del self.options.substrait + self.options.parquet = self._parquet() + self.options.compute = self._compute() + self.options.dataset_modules = self._dataset_modules() + self.options.with_boost = self._with_boost() + self.options.with_flight_rpc = self._with_flight_rpc() + self.options.with_gflags = self._with_gflags() + self.options.with_glog = self._with_glog() + self.options.with_grpc = self._with_grpc() + self.options.with_jemalloc = self._with_jemalloc() + self.options.with_thrift = self._with_thrift() + self.options.with_llvm = self._with_llvm() + self.options.with_openssl = self._with_openssl() + self.options.with_protobuf = self._with_protobuf() + self.options.with_re2 = self._with_re2() + self.options.with_utf8proc = self._with_utf8proc() + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -162,32 +180,32 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - def _compute(self, required=False): - if required or self.options.compute == "auto": + def _compute(self): + if self.options.compute == "auto": return bool(self._parquet() or self._dataset_modules()) or bool(self.options.get_safe("substrait", False)) else: return bool(self.options.compute) - def _parquet(self, required=False): - if required or self.options.parquet == "auto": + def _parquet(self): + if self.options.parquet == "auto": return bool(self.options.get_safe("substrait", False)) else: return bool(self.options.parquet) - def _dataset_modules(self, required=False): - if required or self.options.dataset_modules == "auto": + def _dataset_modules(self): + if self.options.dataset_modules == "auto": return bool(self.options.get_safe("substrait", False)) else: return bool(self.options.dataset_modules) - def _with_jemalloc(self, required=False): - if required or self.options.with_jemalloc == "auto": + def _with_jemalloc(self): + if self.options.with_jemalloc == "auto": return bool("BSD" in str(self.settings.os)) else: return bool(self.options.with_jemalloc) - def _with_re2(self, required=False): - if required or self.options.with_re2 == "auto": + def _with_re2(self): + if self.options.with_re2 == "auto": if self.options.gandiva or self.options.parquet: return True if Version(self) >= "7.0.0" and (self._compute() or self._dataset_modules()): @@ -196,38 +214,38 @@ def _with_re2(self, required=False): else: return bool(self.options.with_re2) - def _with_protobuf(self, required=False): - if required or self.options.with_protobuf == "auto": + def _with_protobuf(self): + if self.options.with_protobuf == "auto": return bool(self.options.gandiva or self._with_flight_rpc() or self.options.with_orc or self.options.get_safe("substrait", False)) else: return bool(self.options.with_protobuf) - def _with_flight_rpc(self, required=False): - if required or self.options.with_flight_rpc == "auto": + def _with_flight_rpc(self): + if self.options.with_flight_rpc == "auto": return bool(self.options.get_safe("with_flight_sql", False)) else: return bool(self.options.with_flight_rpc) - def _with_gflags(self, required=False): - if required or self.options.with_gflags == "auto": + def _with_gflags(self): + if self.options.with_gflags == "auto": return bool(self._with_glog() or self._with_grpc()) else: return bool(self.options.with_gflags) - def _with_glog(self, required=False): - if required or self.options.with_glog == "auto": + def _with_glog(self): + if self.options.with_glog == "auto": return False else: return bool(self.options.with_glog) - def _with_grpc(self, required=False): - if required or self.options.with_grpc == "auto": + def _with_grpc(self): + if self.options.with_grpc == "auto": return self._with_flight_rpc() else: return bool(self.options.with_grpc) - def _with_boost(self, required=False): - if required or self.options.with_boost == "auto": + def _with_boost(self): + if self.options.with_boost == "auto": if self.options.gandiva: return True version = Version(self.version) @@ -241,29 +259,31 @@ def _with_boost(self, required=False): else: return bool(self.options.with_boost) - def _with_thrift(self, required=False): - # No self.options.with_thift exists - return bool(required or self._parquet()) + def _with_thrift(self): + if self.options.with_thrift == "auto": + return bool(self._parquet()) + else: + return bool(self.options.with_thrift) - def _with_utf8proc(self, required=False): - if required or self.options.with_utf8proc == "auto": + def _with_utf8proc(self): + if self.options.with_utf8proc == "auto": return bool(self._compute() or self.options.gandiva) else: return bool(self.options.with_utf8proc) - def _with_llvm(self, required=False): - if required or self.options.with_llvm == "auto": + def _with_llvm(self): + if self.options.with_llvm == "auto": return bool(self.options.gandiva) else: return bool(self.options.with_llvm) - def _with_openssl(self, required=False): - if required or self.options.with_openssl == "auto": + def _with_openssl(self): + if self.options.with_openssl == "auto": return bool(self.options.encryption or self._with_flight_rpc() or self.options.with_s3) else: return bool(self.options.with_openssl) - def _with_rapidjson(self): + def _requires_rapidjson(self): if self.options.with_json: return True if Version(self.version) >= "7.0.0" and self.options.encryption: @@ -271,29 +291,29 @@ def _with_rapidjson(self): return False def requirements(self): - if self._with_thrift(): + if self.options.with_thrift: self.requires("thrift/0.17.0") - if self._with_protobuf(): + if self.options.with_protobuf: self.requires("protobuf/3.21.9") - if self._with_jemalloc(): + if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") if self.options.with_mimalloc: self.requires("mimalloc/1.7.6") - if self._with_boost(): + if self.options.with_boost: self.requires("boost/1.81.0") - if self._with_gflags(): + if self.options.with_gflags: self.requires("gflags/2.2.2") - if self._with_glog(): + if self.options.with_glog: self.requires("glog/0.6.0") if self.options.get_safe("with_gcs"): self.requires("google-cloud-cpp/1.40.1") - if self._with_grpc(): + if self.options.with_grpc: self.requires("grpc/1.50.0") - if self._with_rapidjson(): + if self._requires_rapidjson(): self.requires("rapidjson/1.1.0") - if self._with_llvm(): + if self.options.with_llvm: self.requires("llvm-core/13.0.0") - if self._with_openssl(): + if self.options.with_openssl: # aws-sdk-cpp requires openssl/1.1.1. it uses deprecated functions in openssl/3.0.0 if self.options.with_s3: self.requires("openssl/1.1.1t") @@ -319,24 +339,20 @@ def requirements(self): self.requires("zlib/1.2.13") if self.options.with_zstd: self.requires("zstd/1.5.2") - if self._with_re2(): + if self.options.with_re2: self.requires("re2/20220601") - if self._with_utf8proc(): + if self.options.with_utf8proc: self.requires("utf8proc/2.8.0") if self.options.with_backtrace: self.requires("libbacktrace/cci.20210118") - def package_id(self): - self.info.options.with_gflags = self._with_gflags() - self.info.options.with_protobuf = self._with_protobuf() - self.info.options.with_re2 = self._with_re2() - self.info.options.with_jemalloc = self._with_jemalloc() - self.info.options.with_openssl = self._with_openssl() - self.info.options.with_boost = self._with_boost() - self.info.options.with_glog = self._with_glog() - self.info.options.with_grpc = self._with_grpc() - def validate(self): + # validate options with 'auto' as default value + auto_options = ["parquet", "compute", "dataset_modules", "with_boost", "with_flight_rpc", "with_gflags", "with_glog", + "with_grpc", "with_jemalloc", "with_thrift", "with_llvm", "with_openssl", "with_protobuf", "with_re2", "with_utf8proc"] + for option in auto_options: + assert "auto" not in str(self.options.get_safe(option)), f"Option '{option}' contains 'auto' value, wich is not allowed. Generally the final value should be True/False" + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -346,32 +362,8 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if self.options.compute == False and not self._compute(True): - raise ConanInvalidConfiguration("compute options is required (or choose auto)") - if self.options.parquet == False and self._parquet(True): - raise ConanInvalidConfiguration("parquet options is required (or choose auto)") - if self.options.dataset_modules == False and self._dataset_modules(True): - raise ConanInvalidConfiguration("dataset_modules options is required (or choose auto)") if self.options.get_safe("skyhook", False): raise ConanInvalidConfiguration("CCI has no librados recipe (yet)") - if self.options.with_jemalloc == False and self._with_jemalloc(True): - raise ConanInvalidConfiguration("with_jemalloc option is required (or choose auto)") - if self.options.with_re2 == False and self._with_re2(True): - raise ConanInvalidConfiguration("with_re2 option is required (or choose auto)") - if self.options.with_protobuf == False and self._with_protobuf(True): - raise ConanInvalidConfiguration("with_protobuf option is required (or choose auto)") - if self.options.with_gflags == False and self._with_gflags(True): - raise ConanInvalidConfiguration("with_gflags options is required (or choose auto)") - if self.options.with_flight_rpc == False and self._with_flight_rpc(True): - raise ConanInvalidConfiguration("with_flight_rpc options is required (or choose auto)") - if self.options.with_grpc == False and self._with_grpc(True): - raise ConanInvalidConfiguration("with_grpc options is required (or choose auto)") - if self.options.with_boost == False and self._with_boost(True): - raise ConanInvalidConfiguration("with_boost options is required (or choose auto)") - if self.options.with_openssl == False and self._with_openssl(True): - raise ConanInvalidConfiguration("with_openssl options is required (or choose auto)") - if self.options.with_llvm == False and self._with_llvm(True): - raise ConanInvalidConfiguration("with_llvm options is required (or choose auto)") if self.options.with_cuda: raise ConanInvalidConfiguration("CCI has no cuda recipe (yet)") if self.options.with_orc: @@ -379,7 +371,7 @@ def validate(self): if self.options.with_s3 and not self.dependencies["aws-sdk-cpp"].options.config: raise ConanInvalidConfiguration("arrow:with_s3 requires aws-sdk-cpp:config is True.") - if self.options.shared and self._with_jemalloc(): + if self.options.shared and self.options.with_jemalloc: if self.dependencies["jemalloc"].options.enable_cxx: raise ConanInvalidConfiguration("jemmalloc.enable_cxx of a static jemalloc must be disabled") @@ -404,10 +396,10 @@ def generate(self): tc.variables["ARROW_DEPENDENCY_SOURCE"] = "SYSTEM" tc.variables["ARROW_PACKAGE_KIND"] = "conan" # See https://github.com/conan-io/conan-center-index/pull/14903/files#r1057938314 for details tc.variables["ARROW_GANDIVA"] = bool(self.options.gandiva) - tc.variables["ARROW_PARQUET"] = self._parquet() + tc.variables["ARROW_PARQUET"] = self.options.parquet tc.variables["ARROW_SUBSTRAIT"] = bool(self.options.get_safe("substrait", False)) tc.variables["ARROW_ACERO"] = bool(self.options.acero) - tc.variables["ARROW_DATASET"] = self._dataset_modules() + tc.variables["ARROW_DATASET"] = self.options.dataset_modules tc.variables["ARROW_FILESYSTEM"] = bool(self.options.filesystem_layer) tc.variables["PARQUET_REQUIRE_ENCRYPTION"] = bool(self.options.encryption) tc.variables["ARROW_HDFS"] = bool(self.options.hdfs_bridgs) @@ -415,12 +407,12 @@ def generate(self): tc.variables["ARROW_BUILD_SHARED"] = bool(self.options.shared) tc.variables["ARROW_BUILD_STATIC"] = not bool(self.options.shared) tc.variables["ARROW_NO_DEPRECATED_API"] = not bool(self.options.deprecated) - tc.variables["ARROW_FLIGHT"] = self._with_flight_rpc() + tc.variables["ARROW_FLIGHT"] = self.options.with_flight_rpc tc.variables["ARROW_FLIGHT_SQL"] = bool(self.options.get_safe("with_flight_sql", False)) - tc.variables["ARROW_COMPUTE"] = self._compute() + tc.variables["ARROW_COMPUTE"] = self.options.compute tc.variables["ARROW_CSV"] = bool(self.options.with_csv) tc.variables["ARROW_CUDA"] = bool(self.options.with_cuda) - tc.variables["ARROW_JEMALLOC"] = self._with_jemalloc() + tc.variables["ARROW_JEMALLOC"] = self.options.with_jemalloc tc.variables["jemalloc_SOURCE"] = "SYSTEM" tc.variables["ARROW_MIMALLOC"] = bool(self.options.with_mimalloc) tc.variables["ARROW_JSON"] = bool(self.options.with_json) @@ -428,13 +420,13 @@ def generate(self): tc.variables["ARROW_GCS"] = bool(self.options.get_safe("with_gcs", False)) tc.variables["BOOST_SOURCE"] = "SYSTEM" tc.variables["Protobuf_SOURCE"] = "SYSTEM" - if self._with_protobuf(): + if self.options.with_protobuf: tc.variables["ARROW_PROTOBUF_USE_SHARED"] = bool(self.dependencies["protobuf"].options.shared) tc.variables["gRPC_SOURCE"] = "SYSTEM" - if self._with_grpc(): + if self.options.with_grpc: tc.variables["ARROW_GRPC_USE_SHARED"] = bool(self.dependencies["grpc"].options.shared) - tc.variables["ARROW_USE_GLOG"] = self._with_glog() + tc.variables["ARROW_USE_GLOG"] = self.options.with_glog tc.variables["GLOG_SOURCE"] = "SYSTEM" tc.variables["ARROW_WITH_BACKTRACE"] = bool(self.options.with_backtrace) tc.variables["ARROW_WITH_BROTLI"] = bool(self.options.with_brotli) @@ -442,7 +434,7 @@ def generate(self): if self.options.with_brotli: tc.variables["ARROW_BROTLI_USE_SHARED"] = bool(self.dependencies["brotli"].options.shared) tc.variables["gflags_SOURCE"] = "SYSTEM" - if self._with_gflags(): + if self.options.with_gflags: tc.variables["ARROW_GFLAGS_USE_SHARED"] = bool(self.dependencies["gflags"].options.shared) tc.variables["ARROW_WITH_BZ2"] = bool(self.options.with_bz2) tc.variables["BZip2_SOURCE"] = "SYSTEM" @@ -471,16 +463,16 @@ def generate(self): if self.options.with_zstd: tc.variables["ARROW_ZSTD_USE_SHARED"] = bool(self.dependencies["zstd"].options.shared) tc.variables["ORC_SOURCE"] = "SYSTEM" - tc.variables["ARROW_WITH_THRIFT"] = self._with_thrift() + tc.variables["ARROW_WITH_THRIFT"] = bool(self.options.with_thrift) tc.variables["Thrift_SOURCE"] = "SYSTEM" - if self._with_thrift(): + if self.options.with_thrift: tc.variables["THRIFT_VERSION"] = bool(self.dependencies["thrift"].ref.version) # a recent thrift does not require boost tc.variables["ARROW_THRIFT_USE_SHARED"] = bool(self.dependencies["thrift"].options.shared) - tc.variables["ARROW_USE_OPENSSL"] = self._with_openssl() - if self._with_openssl(): + tc.variables["ARROW_USE_OPENSSL"] = self.options.with_openssl + if self.options.with_openssl: tc.variables["OPENSSL_ROOT_DIR"] = self.dependencies["openssl"].package_folder.replace("\\", "/") tc.variables["ARROW_OPENSSL_USE_SHARED"] = bool(self.dependencies["openssl"].options.shared) - if self._with_boost(): + if self.options.with_boost: tc.variables["ARROW_USE_BOOST"] = True tc.variables["ARROW_BOOST_USE_SHARED"] = bool(self.dependencies["boost"].options.shared) tc.variables["ARROW_S3"] = bool(self.options.with_s3) @@ -493,15 +485,15 @@ def generate(self): tc.variables["ARROW_ENABLE_TIMING_TESTS"] = False tc.variables["ARROW_BUILD_BENCHMARKS"] = False tc.variables["LLVM_SOURCE"] = "SYSTEM" - tc.variables["ARROW_WITH_UTF8PROC"] = self._with_utf8proc() - tc.variables["ARROW_BOOST_REQUIRED"] = self._with_boost() + tc.variables["ARROW_WITH_UTF8PROC"] = self.options.with_utf8proc + tc.variables["ARROW_BOOST_REQUIRED"] = self.options.with_boost tc.variables["utf8proc_SOURCE"] = "SYSTEM" - if self._with_utf8proc(): + if self.options.with_utf8proc: tc.variables["ARROW_UTF8PROC_USE_SHARED"] = bool(self.dependencies["utf8proc"].options.shared) tc.variables["BUILD_WARNING_LEVEL"] = "PRODUCTION" if is_msvc(self): tc.variables["ARROW_USE_STATIC_CRT"] = is_msvc_static_runtime(self) - if self._with_llvm(): + if self.options.with_llvm: tc.variables["LLVM_DIR"] = self.dependencies["llvm-core"].package_folder.replace("\\", "/") tc.generate() @@ -559,7 +551,7 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libarrow"].system_libs = ["pthread", "m", "dl", "rt"] - if self._parquet(): + if self.options.parquet: self.cpp_info.components["libparquet"].set_property("pkg_config_name", "parquet") self.cpp_info.components["libparquet"].libs = [f"parquet{suffix}"] self.cpp_info.components["libparquet"].requires = ["libarrow"] @@ -588,7 +580,7 @@ def package_info(self): if not self.options.shared: self.cpp_info.components["libgandiva"].defines = ["GANDIVA_STATIC"] - if self._with_flight_rpc(): + if self.options.with_flight_rpc: self.cpp_info.components["libarrow_flight"].set_property("pkg_config_name", "flight_rpc") self.cpp_info.components["libarrow_flight"].libs = [f"arrow_flight{suffix}"] self.cpp_info.components["libarrow_flight"].requires = ["libarrow"] @@ -598,54 +590,54 @@ def package_info(self): self.cpp_info.components["libarrow_flight_sql"].libs = [f"arrow_flight_sql{suffix}"] self.cpp_info.components["libarrow_flight_sql"].requires = ["libarrow", "libarrow_flight"] - if self._dataset_modules(): + if self.options.dataset_modules: self.cpp_info.components["dataset"].libs = ["arrow_dataset"] - if self._parquet(): + if self.options.parquet: self.cpp_info.components["dataset"].requires = ["libparquet"] - if self.options.cli and (self.options.with_cuda or self._with_flight_rpc() or self._parquet()): + if self.options.cli and (self.options.with_cuda or self.options.with_flight_rpc or self.options.parquet): binpath = os.path.join(self.package_folder, "bin") self.output.info(f"Appending PATH env var: {binpath}") self.env_info.PATH.append(binpath) - if self._with_boost(): + if self.options.with_boost: if self.options.gandiva: # FIXME: only filesystem component is used self.cpp_info.components["libgandiva"].requires.append("boost::boost") - if self._parquet() and self.settings.compiler == "gcc" and self.settings.compiler.version < Version("4.9"): + if self.options.parquet and self.settings.compiler == "gcc" and self.settings.compiler.version < Version("4.9"): self.cpp_info.components["libparquet"].requires.append("boost::boost") if Version(self.version) >= "2.0": # FIXME: only headers components is used self.cpp_info.components["libarrow"].requires.append("boost::boost") - if self._with_openssl(): + if self.options.with_openssl: self.cpp_info.components["libarrow"].requires.append("openssl::openssl") - if self._with_gflags(): + if self.options.with_gflags: self.cpp_info.components["libarrow"].requires.append("gflags::gflags") - if self._with_glog(): + if self.options.with_glog: self.cpp_info.components["libarrow"].requires.append("glog::glog") - if self._with_jemalloc(): + if self.options.with_jemalloc: self.cpp_info.components["libarrow"].requires.append("jemalloc::jemalloc") if self.options.with_mimalloc: self.cpp_info.components["libarrow"].requires.append("mimalloc::mimalloc") - if self._with_re2(): + if self.options.with_re2: if self.options.gandiva: self.cpp_info.components["libgandiva"].requires.append("re2::re2") - if self._parquet(): + if self.options.parquet: self.cpp_info.components["libparquet"].requires.append("re2::re2") self.cpp_info.components["libarrow"].requires.append("re2::re2") - if self._with_llvm(): + if self.options.with_llvm: self.cpp_info.components["libgandiva"].requires.append("llvm-core::llvm-core") - if self._with_protobuf(): + if self.options.with_protobuf: self.cpp_info.components["libarrow"].requires.append("protobuf::protobuf") - if self._with_utf8proc(): + if self.options.with_utf8proc: self.cpp_info.components["libarrow"].requires.append("utf8proc::utf8proc") - if self._with_thrift(): + if self.options.with_thrift: self.cpp_info.components["libarrow"].requires.append("thrift::thrift") if self.options.with_backtrace: self.cpp_info.components["libarrow"].requires.append("libbacktrace::libbacktrace") if self.options.with_cuda: self.cpp_info.components["libarrow"].requires.append("cuda::cuda") - if self._with_rapidjson(): + 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") @@ -669,11 +661,11 @@ 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._with_boost(): + if self.options.with_boost: self.cpp_info.components["libarrow"].requires.append("boost::boost") - if self._with_grpc(): + if self.options.with_grpc: self.cpp_info.components["libarrow"].requires.append("grpc::grpc") - if self._with_flight_rpc(): + if self.options.with_flight_rpc: self.cpp_info.components["libarrow_flight"].requires.append("protobuf::protobuf") # TODO: to remove in conan v2 @@ -681,7 +673,7 @@ def package_info(self): self.cpp_info.filenames["cmake_find_package_multi"] = "Arrow" self.cpp_info.components["libarrow"].names["cmake_find_package"] = "arrow" self.cpp_info.components["libarrow"].names["cmake_find_package_multi"] = "arrow" - if self._parquet(): + if self.options.parquet: self.cpp_info.components["libparquet"].names["cmake_find_package"] = "parquet" self.cpp_info.components["libparquet"].names["cmake_find_package_multi"] = "parquet" if self.options.get_safe("substrait"): @@ -690,11 +682,11 @@ def package_info(self): if self.options.gandiva: self.cpp_info.components["libgandiva"].names["cmake_find_package"] = "gandiva" self.cpp_info.components["libgandiva"].names["cmake_find_package_multi"] = "gandiva" - if self._with_flight_rpc(): + if self.options.with_flight_rpc: self.cpp_info.components["libarrow_flight"].names["cmake_find_package"] = "flight_rpc" self.cpp_info.components["libarrow_flight"].names["cmake_find_package_multi"] = "flight_rpc" if self.options.get_safe("with_flight_sql"): self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package"] = "flight_sql" self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package_multi"] = "flight_sql" - if self.options.cli and (self.options.with_cuda or self._with_flight_rpc() or self._parquet()): + if self.options.cli and (self.options.with_cuda or self.options.with_flight_rpc or self.options.parquet): self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index 06c575d489c3c..b6c86580b3492 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.1": + folder: all "12.0.0": folder: all "11.0.0": From 1cd0a41952b3197b7cf00be2dd6733d94d48153f Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 26 Aug 2023 08:50:16 +0900 Subject: [PATCH 1400/4087] (#19422) simple-yaml: update dependencies --- recipes/simple-yaml/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/simple-yaml/all/conanfile.py b/recipes/simple-yaml/all/conanfile.py index 9573f235455af..afb2abee08c4c 100644 --- a/recipes/simple-yaml/all/conanfile.py +++ b/recipes/simple-yaml/all/conanfile.py @@ -47,10 +47,10 @@ def layout(self): def requirements(self): self.requires("pretty-name/1.0.0") - self.requires("yaml-cpp/0.7.0") + self.requires("yaml-cpp/0.8.0") self.requires("source_location/0.2.1") if self.options.enable_enum: - self.requires("magic_enum/0.7.3") + self.requires("magic_enum/0.9.3") def package_id(self): self.info.clear() From dd9babe8e5133e61da59d1135c8f49990fa9f93e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 26 Aug 2023 12:49:00 +0900 Subject: [PATCH 1401/4087] (#19425) serdepp: update dependencies --- recipes/serdepp/all/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/serdepp/all/conanfile.py b/recipes/serdepp/all/conanfile.py index 3a9cae70272de..db1294b2b4673 100644 --- a/recipes/serdepp/all/conanfile.py +++ b/recipes/serdepp/all/conanfile.py @@ -53,18 +53,18 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("nameof/0.10.1") - self.requires("magic_enum/0.7.3") + self.requires("nameof/0.10.3") + self.requires("magic_enum/0.9.3") if self.options.with_toml11: - self.requires("toml11/3.7.0") + self.requires("toml11/3.7.1") if self.options.with_yamlcpp: - self.requires("yaml-cpp/0.7.0") + self.requires("yaml-cpp/0.8.0") if self.options.with_rapidjson: self.requires("rapidjson/1.1.0") if self.options.with_fmt: - self.requires("fmt/8.1.1") + self.requires("fmt/10.1.0") if self.options.with_nlohmann_json: - self.requires("nlohmann_json/3.10.5") + self.requires("nlohmann_json/3.11.2") def package_id(self): self.info.clear() From ae698505364ceaf2c6c95af963040d6c80fd65da Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 26 Aug 2023 13:30:34 +0900 Subject: [PATCH 1402/4087] (#19424) s2n: add version 1.3.50 --- 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 26760a8527f22..4ada91d8a20e6 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.50": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.50.tar.gz" + sha256: "19c9a7e9e0ce14aae3fc0c55995759f4eadd5b55f5353de69f82c62ccb3693f8" "1.3.49": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.49.tar.gz" sha256: "2bc7b170a750a435ad02ab8e696c3ad6e9bb7a585c02899472793f87670184dd" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 7c0e248cb28f0..e02cebf4f0c06 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.50": + folder: all "1.3.49": folder: all "1.3.31": From c8ed1c2b5c5524fd04a22ef3a4987c2343808c8b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 26 Aug 2023 10:46:30 +0300 Subject: [PATCH 1403/4087] (#18717) rectanglebinpack: migrate to Conan v2, correct license * rectanglebinpack: migrate to Conan v2 * rectanglebinpack: restore VirtualRunEnv in test_package * Make license more specific Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/rectanglebinpack/all/CMakeLists.txt | 9 -- recipes/rectanglebinpack/all/conandata.yml | 3 - recipes/rectanglebinpack/all/conanfile.py | 89 +++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 +++-- .../all/test_package/test_package.cpp | 55 ++++++------ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 8 files changed, 121 insertions(+), 90 deletions(-) delete mode 100644 recipes/rectanglebinpack/all/CMakeLists.txt create mode 100644 recipes/rectanglebinpack/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rectanglebinpack/all/test_v1_package/conanfile.py diff --git a/recipes/rectanglebinpack/all/CMakeLists.txt b/recipes/rectanglebinpack/all/CMakeLists.txt deleted file mode 100644 index eab353d687736..0000000000000 --- a/recipes/rectanglebinpack/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory("source_subfolder") diff --git a/recipes/rectanglebinpack/all/conandata.yml b/recipes/rectanglebinpack/all/conandata.yml index 076654555cbc6..e93b6ba1b6012 100644 --- a/recipes/rectanglebinpack/all/conandata.yml +++ b/recipes/rectanglebinpack/all/conandata.yml @@ -2,9 +2,6 @@ sources: "cci.20210901": - url: "https://github.com/juj/RectangleBinPack/archive/a40fcaf3871da57b0f6a080655b3387374840877.zip" sha256: "88cec105ca8d90d09e9e81f9862caa0cc1cdb851560fb701555eb58b29515748" - - url: "https://unlicense.org/UNLICENSE" - sha256: "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c" patches: "cci.20210901": - patch_file: "patches/0001_fix_win32_build.patch" - base_path: "source_subfolder" diff --git a/recipes/rectanglebinpack/all/conanfile.py b/recipes/rectanglebinpack/all/conanfile.py index c7332f9531164..f77182eff1815 100644 --- a/recipes/rectanglebinpack/all/conanfile.py +++ b/recipes/rectanglebinpack/all/conanfile.py @@ -1,19 +1,23 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, load, save + +required_conan_version = ">=1.53.0" class RectangleBinPackConan(ConanFile): name = "rectanglebinpack" - license = "Unlicense" + description = "The code can be used to solve the problem of packing a set of 2D rectangles into a larger bin." + license = "LicenseRef-rectanglebinpack-public-domain" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/juj/RectangleBinPack" - description = "The code can be used to solve the problem of packing a set of 2D rectangles into a larger bin." topics = ("rectangle", "packing", "bin") - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -23,15 +27,8 @@ class RectangleBinPackConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -39,40 +36,58 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version][0], - strip_root=True, destination=self._source_subfolder) - tools.download(filename="LICENSE", **self.conan_data["sources"][self.version][1]) + get(self, **self.conan_data["sources"][self.version][0], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def _extract_license(self): + readme_content = load(self, os.path.join(self.source_folder, "Readme.txt"), encoding="latin-1") + license_content = "\n".join(readme_content.splitlines()[-4:]) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_content) def package(self): - self.copy("LICENSE", dst="licenses") - self.copy("*.h", dst=os.path.join("include", self.name), src=self._source_subfolder, excludes="old/**") - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.lib", dst="lib", keep_path=False) - self.copy("*.so", dst="lib", keep_path=False) - self.copy("*.dylib", dst="lib", keep_path=False) - self.copy("*.a", dst="lib", keep_path=False) + self._extract_license() + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include", self.name), + src=self.source_folder, + excludes="old/**") + copy(self, "*.dll", + dst=os.path.join(self.package_folder, "bin"), + src=self.build_folder, + keep_path=False) + for pattern in ["*.lib", "*.so", "*.dylib", "*.a"]: + copy(self, pattern, + dst=os.path.join(self.package_folder, "lib"), + src=self.build_folder, + keep_path=False) def package_info(self): self.cpp_info.libs = ["RectangleBinPack"] + self.cpp_info.set_property("cmake_file_name", "RectangleBinPack") + self.cpp_info.set_property("cmake_target_name", "RectangleBinPack::RectangleBinPack") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "RectangleBinPack" self.cpp_info.names["cmake_find_package_multi"] = "RectangleBinPack" diff --git a/recipes/rectanglebinpack/all/test_package/CMakeLists.txt b/recipes/rectanglebinpack/all/test_package/CMakeLists.txt index 2d0f2eeb0d746..4147475a867bb 100644 --- a/recipes/rectanglebinpack/all/test_package/CMakeLists.txt +++ b/recipes/rectanglebinpack/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.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(RectangleBinPack REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE RectangleBinPack::RectangleBinPack) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/rectanglebinpack/all/test_package/conanfile.py b/recipes/rectanglebinpack/all/test_package/conanfile.py index 16ec9f68ef974..ef5d7042163ec 100644 --- a/recipes/rectanglebinpack/all/test_package/conanfile.py +++ b/recipes/rectanglebinpack/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/rectanglebinpack/all/test_package/test_package.cpp b/recipes/rectanglebinpack/all/test_package/test_package.cpp index b5c67148547b0..7a8bca93d7839 100644 --- a/recipes/rectanglebinpack/all/test_package/test_package.cpp +++ b/recipes/rectanglebinpack/all/test_package/test_package.cpp @@ -5,43 +5,38 @@ #include #include -#include #include +#include using namespace rbp; -bool AreDisjoint(const Rect &a, const Rect &b) -{ - return a.x >= b.x + b.width || a.x + a.width <= b.x || - a.y >= b.y + b.height || a.y + a.height <= b.y; +bool AreDisjoint(const Rect &a, const Rect &b) { + return a.x >= b.x + b.width || a.x + a.width <= b.x || a.y >= b.y + b.height || + a.y + a.height <= b.y; } -bool AllRectsDisjoint(std::vector &packed) -{ - for(size_t i = 0; i < packed.size(); ++i) - for(size_t j = i+1; j < packed.size(); ++j) - { - if (!AreDisjoint(packed[i], packed[j])) - return false; - } - return true; +bool AllRectsDisjoint(std::vector &packed) { + for (size_t i = 0; i < packed.size(); ++i) + for (size_t j = i + 1; j < packed.size(); ++j) { + if (!AreDisjoint(packed[i], packed[j])) + return false; + } + return true; } -int main() -{ - MaxRectsBinPack pack(256, 256, true); +int main() { + MaxRectsBinPack pack(256, 256, true); - std::vector packed; - srand(12412); - for(int i = 1; i < 128; ++i) - { - int a = (rand() % 128) + 1; - int b = (rand() % 128) + 1; - Rect r = pack.Insert(a, b, MaxRectsBinPack::RectBestShortSideFit); - if (!r.width) - break; - packed.push_back(r); - } - printf("Packed %d rectangles. All rects disjoint: %s. Occupancy: %f\n", - (int)packed.size(), AllRectsDisjoint(packed) ? "yes" : "NO!", pack.Occupancy()); + std::vector packed; + srand(12412); + for (int i = 1; i < 128; ++i) { + int a = (rand() % 128) + 1; + int b = (rand() % 128) + 1; + Rect r = pack.Insert(a, b, MaxRectsBinPack::RectBestShortSideFit); + if (!r.width) + break; + packed.push_back(r); + } + printf("Packed %d rectangles. All rects disjoint: %s. Occupancy: %f\n", (int)packed.size(), + AllRectsDisjoint(packed) ? "yes" : "NO!", pack.Occupancy()); } diff --git a/recipes/rectanglebinpack/all/test_v1_package/CMakeLists.txt b/recipes/rectanglebinpack/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/rectanglebinpack/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/rectanglebinpack/all/test_v1_package/conanfile.py b/recipes/rectanglebinpack/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..90eb89e3f2f46 --- /dev/null +++ b/recipes/rectanglebinpack/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 923fae70e06055ebd2a1724adb48e06ed9eb080a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Sat, 26 Aug 2023 11:02:07 +0200 Subject: [PATCH 1404/4087] (#19420) [bot] Update list of references (prod-v2/ListPackages) --- .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 ff746e7be2df1..2a4a0fc59737a 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -61,6 +61,7 @@ required_for_references: - aws-c-http - aws-c-io - aws-c-mqtt +- aws-c-s3 - aws-c-sdkutils - aws-checksums - aws-kvs-pic @@ -958,6 +959,7 @@ required_for_references: - robin-hood-hashing - rpclib - rply +- rsync - rtklib - rtm - rtmidi From 181e238807021704d2f7df56f99f4b81ca7d8a80 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 26 Aug 2023 12:13:05 +0200 Subject: [PATCH 1405/4087] (#19427) onnx: add version 1.14.1 --- 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 7a261fa84daf5..5f05c1310659a 100644 --- a/recipes/onnx/all/conandata.yml +++ b/recipes/onnx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.1": + url: "https://github.com/onnx/onnx/archive/v1.14.1.tar.gz" + sha256: "e296f8867951fa6e71417a18f2e550a730550f8829bd35e947b4df5e3e777aa1" "1.14.0": url: "https://github.com/onnx/onnx/archive/v1.14.0.tar.gz" sha256: "1b02ad523f79d83f9678c749d5a3f63f0bcd0934550d5e0d7b895f9a29320003" diff --git a/recipes/onnx/config.yml b/recipes/onnx/config.yml index 553b17a4b40e9..cfdc9b9959f82 100644 --- a/recipes/onnx/config.yml +++ b/recipes/onnx/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.1": + folder: all "1.14.0": folder: all "1.13.1": From 66f230451e6430f10a4af43243cf06b0e9fa5c11 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 26 Aug 2023 13:49:56 +0300 Subject: [PATCH 1406/4087] (#18926) hdf4: migrate to Conan v2 * hdf4: migrate to Conan v2 * hdf4: fix missing link_libraries() * hdf4: bump deps * hdf4: add Linux system libs --- recipes/hdf4/all/CMakeLists.txt | 7 - recipes/hdf4/all/conandata.yml | 2 - recipes/hdf4/all/conanfile.py | 158 ++++++++++-------- recipes/hdf4/all/test_package/CMakeLists.txt | 13 +- recipes/hdf4/all/test_package/conanfile.py | 26 ++- recipes/hdf4/all/test_package/test_package.c | 10 +- .../hdf4/all/test_v1_package/CMakeLists.txt | 8 + recipes/hdf4/all/test_v1_package/conanfile.py | 24 +++ 8 files changed, 146 insertions(+), 102 deletions(-) delete mode 100644 recipes/hdf4/all/CMakeLists.txt create mode 100644 recipes/hdf4/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/hdf4/all/test_v1_package/conanfile.py diff --git a/recipes/hdf4/all/CMakeLists.txt b/recipes/hdf4/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/hdf4/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/hdf4/all/conandata.yml b/recipes/hdf4/all/conandata.yml index c28edc581baba..b74cc986517d2 100644 --- a/recipes/hdf4/all/conandata.yml +++ b/recipes/hdf4/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "4.2.15": - patch_file: "patches/fix-export-macro.patch" - base_path: "source_subfolder" - patch_file: "patches/fix-missing-unistd-include.patch" - base_path: "source_subfolder" diff --git a/recipes/hdf4/all/conanfile.py b/recipes/hdf4/all/conanfile.py index 6e61dd7455655..f3f6af54d2d43 100644 --- a/recipes/hdf4/all/conanfile.py +++ b/recipes/hdf4/all/conanfile.py @@ -1,20 +1,22 @@ +import os + from conan import ConanFile from conan.tools.build import cross_building -from conan.tools.files import get, rmdir -from conans import CMake, tools -import os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class Hdf4Conan(ConanFile): name = "hdf4" description = "HDF4 is a data model, library, and file format for storing and managing data." license = "BSD-3-Clause" - topics = ("conan", "hdf4", "hdf", "data") - homepage = "https://portal.hdfgroup.org/display/HDF4/HDF4" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://portal.hdfgroup.org/display/HDF4/HDF4" + topics = ("hdf", "data") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -31,17 +33,8 @@ class Hdf4Conan(ConanFile): "szip_encoding": False, } - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -49,16 +42,19 @@ 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") if not bool(self.options.szip_support): del self.options.szip_encoding + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): self.requires("zlib/1.2.13") if self.options.jpegturbo: - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") else: self.requires("libjpeg/9e") if self.options.szip_support == "with_libaec": @@ -67,78 +63,108 @@ def requirements(self): self.requires("szip/2.1.1") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["HDF4_EXTERNALLY_CONFIGURED"] = True + tc.cache_variables["HDF4_EXTERNAL_LIB_PREFIX"] = "" + tc.cache_variables["HDF4_NO_PACKAGES"] = True + tc.cache_variables["ONLY_SHARED_LIBS"] = self.options.shared + tc.cache_variables["HDF4_ENABLE_COVERAGE"] = False + tc.cache_variables["HDF4_ENABLE_DEPRECATED_SYMBOLS"] = True + tc.cache_variables["HDF4_ENABLE_JPEG_LIB_SUPPORT"] = True # HDF can't compile without libjpeg or libjpeg-turbo + tc.cache_variables["HDF4_ENABLE_Z_LIB_SUPPORT"] = True # HDF can't compile without zlib + tc.cache_variables["HDF4_ENABLE_SZIP_SUPPORT"] = bool(self.options.szip_support) + tc.cache_variables["HDF4_ENABLE_SZIP_ENCODING"] = self.options.get_safe("szip_encoding") or False + tc.cache_variables["HDF4_PACKAGE_EXTLIBS"] = False + tc.cache_variables["HDF4_BUILD_XDR_LIB"] = True + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["HDF4_INSTALL_INCLUDE_DIR"] = os.path.join(self.package_folder, "include", "hdf4").replace("\\", "/") + tc.cache_variables["HDF4_BUILD_FORTRAN"] = False + tc.cache_variables["HDF4_BUILD_UTILS"] = False + tc.cache_variables["HDF4_BUILD_TOOLS"] = False + tc.cache_variables["HDF4_BUILD_EXAMPLES"] = False + tc.cache_variables["HDF4_BUILD_JAVA"] = False + if cross_building(self): + tc.cache_variables["H4_PRINTF_LL_TEST_RUN"] = "0" + tc.cache_variables["H4_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT"] = "" + tc.generate() + + deps = CMakeDeps(self) + if self.options.szip_support == "with_szip": + deps.set_property("szip", "cmake_file_name", "SZIP") + deps.set_property("szip", "cmake_target_name", "SZIP::SZIP") + elif self.options.szip_support == "with_libaec": + deps.set_property("libaec", "cmake_file_name", "SZIP") + deps.set_property("libaec", "cmake_target_name", "SZIP::SZIP") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + libs = ["JPEG::JPEG", "ZLIB::ZLIB"] + if self.options.szip_support: + libs.append("SZIP::SZIP") + save(self, os.path.join(self.source_folder, "CMakeFilters.cmake"), + "\nlink_libraries({})".format(" ".join(libs)), append=True) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["HDF4_EXTERNALLY_CONFIGURED"] = True - self._cmake.definitions["HDF4_EXTERNAL_LIB_PREFIX"] = "" - self._cmake.definitions["HDF4_NO_PACKAGES"] = True - self._cmake.definitions["ONLY_SHARED_LIBS"] = self.options.shared - self._cmake.definitions["HDF4_ENABLE_COVERAGE"] = False - self._cmake.definitions["HDF4_ENABLE_DEPRECATED_SYMBOLS"] = True - self._cmake.definitions["HDF4_ENABLE_JPEG_LIB_SUPPORT"] = True # HDF can't compile without libjpeg or libjpeg-turbo - self._cmake.definitions["HDF4_ENABLE_Z_LIB_SUPPORT"] = True # HDF can't compile without zlib - self._cmake.definitions["HDF4_ENABLE_SZIP_SUPPORT"] = bool(self.options.szip_support) - self._cmake.definitions["HDF4_ENABLE_SZIP_ENCODING"] = self.options.get_safe("szip_encoding") or False - self._cmake.definitions["HDF4_PACKAGE_EXTLIBS"] = False - self._cmake.definitions["HDF4_BUILD_XDR_LIB"] = True - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["HDF4_INSTALL_INCLUDE_DIR"] = os.path.join(self.package_folder, "include", "hdf4") - self._cmake.definitions["HDF4_BUILD_FORTRAN"] = False - self._cmake.definitions["HDF4_BUILD_UTILS"] = False - self._cmake.definitions["HDF4_BUILD_TOOLS"] = False - self._cmake.definitions["HDF4_BUILD_EXAMPLES"] = False - self._cmake.definitions["HDF4_BUILD_JAVA"] = False - if cross_building(self): - self._cmake.definitions["H4_PRINTF_LL_TEST_RUN"] = "0" - self._cmake.definitions["H4_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT"] = "" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("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() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) os.remove(os.path.join(self.package_folder, "lib", "libhdf4.settings")) + def _get_decorated_lib(self, name): + libname = name + if self.settings.os == "Windows" and self.settings.compiler != "gcc" and not self.options.shared: + libname = "lib" + libname + if self.settings.build_type == "Debug": + libname += "_D" if self.settings.os == "Windows" else "_debug" + return libname + def package_info(self): - self.cpp_info.names["pkg_config"] = "hdf" + self.cpp_info.set_property("pkg_config_name", "hdf") unofficial_includedir = os.path.join(self.package_folder, "include", "hdf4") + target_suffix = "shared" if self.options.shared else "static" + # xdr - xdr_cmake = "xdr-shared" if self.options.shared else "xdr-static" + xdr_cmake = f"xdr-{target_suffix}" + self.cpp_info.components["xdr"].set_property("cmake_target_name", f"hdf4::{xdr_cmake}") self.cpp_info.components["xdr"].names["cmake_find_package"] = xdr_cmake self.cpp_info.components["xdr"].names["cmake_find_package_multi"] = xdr_cmake self.cpp_info.components["xdr"].includedirs.append(unofficial_includedir) self.cpp_info.components["xdr"].libs = [self._get_decorated_lib("xdr")] if self.settings.os == "Windows": self.cpp_info.components["xdr"].system_libs.append("ws2_32") + # hdf - hdf_cmake = "hdf-shared" if self.options.shared else "hdf-static" + hdf_cmake = f"hdf-{target_suffix}" + self.cpp_info.components["hdf"].set_property("cmake_target_name", f"hdf4::{hdf_cmake}") self.cpp_info.components["hdf"].names["cmake_find_package"] = hdf_cmake self.cpp_info.components["hdf"].names["cmake_find_package_multi"] = hdf_cmake self.cpp_info.components["hdf"].includedirs.append(unofficial_includedir) self.cpp_info.components["hdf"].libs = [self._get_decorated_lib("hdf")] self.cpp_info.components["hdf"].requires = [ "zlib::zlib", - "libjpeg-turbo::libjpeg-turbo" if self.options.jpegturbo else "libjpeg::libjpeg" + "libjpeg-turbo::libjpeg-turbo" if self.options.jpegturbo else "libjpeg::libjpeg", ] if self.options.szip_support == "with_libaec": self.cpp_info.components["hdf"].requires.append("libaec::libaec") elif self.options.szip_support == "with_szip": self.cpp_info.components["hdf"].requires.append("szip::szip") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["hdf"].system_libs = ["m", "dl"] + # mfhdf - mfhdf_cmake = "mfhdf-shared" if self.options.shared else "mfhdf-static" + mfhdf_cmake = f"mfhdf-{target_suffix}" + self.cpp_info.components["mfhdf"].set_property("cmake_target_name", f"hdf4::{mfhdf_cmake}") self.cpp_info.components["mfhdf"].names["cmake_find_package"] = mfhdf_cmake self.cpp_info.components["mfhdf"].names["cmake_find_package_multi"] = mfhdf_cmake self.cpp_info.components["mfhdf"].includedirs.append(unofficial_includedir) @@ -149,11 +175,3 @@ def package_info(self): self.cpp_info.components["xdr"].defines.append("H4_BUILT_AS_DYNAMIC_LIB=1") self.cpp_info.components["hdf"].defines.append("H4_BUILT_AS_DYNAMIC_LIB=1") self.cpp_info.components["mfhdf"].defines.append("H4_BUILT_AS_DYNAMIC_LIB=1") - - def _get_decorated_lib(self, name): - libname = name - if self.settings.os == "Windows" and self.settings.compiler != "gcc" and not self.options.shared: - libname = "lib" + libname - if self.settings.build_type == "Debug": - libname += "_D" if self.settings.os == "Windows" else "_debug" - return libname diff --git a/recipes/hdf4/all/test_package/CMakeLists.txt b/recipes/hdf4/all/test_package/CMakeLists.txt index a6de4b1271021..546a9e09d090d 100644 --- a/recipes/hdf4/all/test_package/CMakeLists.txt +++ b/recipes/hdf4/all/test_package/CMakeLists.txt @@ -1,14 +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(TARGETS) - -find_package(hdf4 REQUIRED) +find_package(hdf4 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -if(TARGET hdf4::hdf-shared) - target_link_libraries(${PROJECT_NAME} hdf4::hdf-shared) -else() - target_link_libraries(${PROJECT_NAME} hdf4::hdf-static) -endif() +target_link_libraries(${PROJECT_NAME} hdf4::hdf4) diff --git a/recipes/hdf4/all/test_package/conanfile.py b/recipes/hdf4/all/test_package/conanfile.py index 612db2552bfca..7d51739a368b2 100644 --- a/recipes/hdf4/all/test_package/conanfile.py +++ b/recipes/hdf4/all/test_package/conanfile.py @@ -1,17 +1,27 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.apple import is_apple_os +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" + settings = "os", "arch", "compiler", "build_type" + 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": + if is_apple_os(self) 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") + self.tool_requires("cmake/[>=3.20]") + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -19,6 +29,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/hdf4/all/test_package/test_package.c b/recipes/hdf4/all/test_package/test_package.c index 4efcf0be4d7a7..2e268465bf9bd 100644 --- a/recipes/hdf4/all/test_package/test_package.c +++ b/recipes/hdf4/all/test_package/test_package.c @@ -49,12 +49,12 @@ int main() { file_desc_id = ANcreatef(an_id, AN_FILE_DESC); /* - * Write the annotation to the file description. + * Write the annotation to the file description. */ status_32 = ANwriteann(file_desc_id, FILE_DESC_TXT, (int32) strlen(FILE_DESC_TXT)); /* - * Create a vgroup in the V interface. Note that the vgroup's ref number + * Create a vgroup in the V interface. Note that the vgroup's ref number * is set to -1 for creating and the access mode is "w" for writing. */ status_n = Vstart(file_id); @@ -63,13 +63,13 @@ int main() { /* * Obtain the tag and ref number of the vgroup for subsequent - * references. + * references. */ vgroup_tag = (uint16) VQuerytag(vgroup_id); vgroup_ref = (uint16) VQueryref(vgroup_id); /* - * Create the data label for the vgroup identified by its tag + * Create the data label for the vgroup identified by its tag * and ref number. */ data_label_id = ANcreate(an_id, vgroup_tag, vgroup_ref, AN_DATA_LABEL); @@ -80,7 +80,7 @@ int main() { status_32 = ANwriteann(data_label_id, DATA_LABEL_TXT, (int32) strlen(DATA_LABEL_TXT)); /* - * Create the data description for the vgroup identified by its tag + * Create the data description for the vgroup identified by its tag * and ref number. */ data_desc_id = ANcreate(an_id, vgroup_tag, vgroup_ref, AN_DATA_DESC); diff --git a/recipes/hdf4/all/test_v1_package/CMakeLists.txt b/recipes/hdf4/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/hdf4/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/hdf4/all/test_v1_package/conanfile.py b/recipes/hdf4/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2d700055b1faf --- /dev/null +++ b/recipes/hdf4/all/test_v1_package/conanfile.py @@ -0,0 +1,24 @@ +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_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]") + + 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 43bf55233b75b0c2e187eb671a10be0b078cb93e Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Sat, 26 Aug 2023 13:30:43 +0200 Subject: [PATCH 1407/4087] (#19030) openpam/20190224: Added openpam recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * openpam: Added openpam recipe * Update recipes/openpam/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/openpam/all/test_package/test_package.c Co-authored-by: Uilian Ries * Update recipes/openpam/all/conandata.yml Co-authored-by: Uilian Ries * Update recipes/openpam/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/openpam/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/openpam/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/openpam/all/conanfile.py Co-authored-by: Uilian Ries * Fix GitHub commit suggestion dupe --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/openpam/all/conandata.yml | 4 + recipes/openpam/all/conanfile.py | 73 +++++++++++++++++++ .../openpam/all/test_package/CMakeLists.txt | 7 ++ recipes/openpam/all/test_package/conanfile.py | 27 +++++++ .../openpam/all/test_package/test_package.c | 22 ++++++ recipes/openpam/config.yml | 3 + 6 files changed, 136 insertions(+) create mode 100644 recipes/openpam/all/conandata.yml create mode 100644 recipes/openpam/all/conanfile.py create mode 100644 recipes/openpam/all/test_package/CMakeLists.txt create mode 100644 recipes/openpam/all/test_package/conanfile.py create mode 100644 recipes/openpam/all/test_package/test_package.c create mode 100644 recipes/openpam/config.yml diff --git a/recipes/openpam/all/conandata.yml b/recipes/openpam/all/conandata.yml new file mode 100644 index 0000000000000..06219b641cc81 --- /dev/null +++ b/recipes/openpam/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "20190224": + url: "https://sourceforge.net/projects/openpam/files/openpam/Tabebuia/openpam-20190224.tar.gz" + sha256: "31f871f16b6868aef9c849f39aff6c52227977e09eee22b00fb8b7435ddf7105" diff --git a/recipes/openpam/all/conanfile.py b/recipes/openpam/all/conanfile.py new file mode 100644 index 0000000000000..b8d2328964b48 --- /dev/null +++ b/recipes/openpam/all/conanfile.py @@ -0,0 +1,73 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, rmdir, rm +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.54.0" + +class PackageConan(ConanFile): + name = "openpam" + description = "OpenPAM library" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://openpam.org/" + topics = ("pam") + 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") + + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + + if self.settings.os not in ["Linux", "FreeBSD", "Neutrino"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True, filename=f"openpam-{self.version}.tar.gz") + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + autotools = Autotools(self) + autotools.install() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), ignore_case=True) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + + def package_info(self): + self.cpp_info.libs = ["pam"] + self.cpp_info.system_libs = ["dl"] diff --git a/recipes/openpam/all/test_package/CMakeLists.txt b/recipes/openpam/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d03b89e820ddd --- /dev/null +++ b/recipes/openpam/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(openpam REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE openpam::openpam) diff --git a/recipes/openpam/all/test_package/conanfile.py b/recipes/openpam/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/openpam/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/openpam/all/test_package/test_package.c b/recipes/openpam/all/test_package/test_package.c new file mode 100644 index 0000000000000..50dff63a6c03a --- /dev/null +++ b/recipes/openpam/all/test_package/test_package.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include +#include +#include + + +int main(void) { + pam_handle_t* pamh; + struct pam_conv pamc; + const char *user; + + int rv = pam_start("yes", user, &pamc, &pamh); + + if(rv == PAM_SUCCESS) { + pam_end(pamh, PAM_SUCCESS); + } + + return EXIT_SUCCESS; +} + diff --git a/recipes/openpam/config.yml b/recipes/openpam/config.yml new file mode 100644 index 0000000000000..1dd1dcdfcdd6f --- /dev/null +++ b/recipes/openpam/config.yml @@ -0,0 +1,3 @@ +versions: + "20190224": + folder: all From 5cd5c4483f79b327c24646129ad95e2cb1cbd3d2 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 26 Aug 2023 16:14:57 +0400 Subject: [PATCH 1408/4087] (#19352) opencl-clhpp-headers: align versions with opencl-headers --- recipes/opencl-clhpp-headers/all/conandata.yml | 18 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 4 ++++ .../all/test_package/test_package.cpp | 4 ++++ recipes/opencl-clhpp-headers/config.yml | 12 ++++++++++++ 4 files changed, 38 insertions(+) diff --git a/recipes/opencl-clhpp-headers/all/conandata.yml b/recipes/opencl-clhpp-headers/all/conandata.yml index e4e17b97c1724..8181b741f827c 100644 --- a/recipes/opencl-clhpp-headers/all/conandata.yml +++ b/recipes/opencl-clhpp-headers/all/conandata.yml @@ -11,3 +11,21 @@ sources: "2022.05.18": url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2022.05.18.tar.gz" sha256: "d29affd740c5037b4499790613f5af0718ffc88c325e793b73cb35b7592fc0f7" + "2022.01.04": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.16.tar.gz" + sha256: "869456032e60787eed9fceaeaf6c6cb4452bc0ff97e0f5a271510145a1c8f4d4" + "2021.06.30": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.15.tar.gz" + sha256: "0175806508abc699586fc9a9387e01eb37bf812ca534e3b493ff3091ec2a9246" + "2021.04.29": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.14.tar.gz" + sha256: "c8821a7638e57a2c4052631c941af720b581edda634db6ab0b59924c958d69b6" + "2020.12.18": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.13.tar.gz" + sha256: "8ff0d0cd94d728edd30c876db546bf13e370ee7863629b4b9b5e2ef8e130d23c" + "2020.06.16": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.12.tar.gz" + sha256: "20b28709ce74d3602f1a946d78a2024c1f6b0ef51358b9686612669897a58719" + "2020.03.13": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.11.tar.gz" + sha256: "ffc2ca08cf4ae90ee55f14ea3735ccc388f454f4422b69498b2e9b93a1d45181" diff --git a/recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt b/recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt index 3a0c8417853f5..733d421e88716 100644 --- a/recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt +++ b/recipes/opencl-clhpp-headers/all/test_package/CMakeLists.txt @@ -8,3 +8,7 @@ find_package(OpenCLHeadersCpp REQUIRED CONFIG) add_library(${PROJECT_NAME} OBJECT test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE OpenCL::HeadersCpp) + +if(OpenCLHeadersCpp_VERSION VERSION_GREATER 2020.06.16) + target_compile_definitions(${PROJECT_NAME} PRIVATE USE_OPENCL_HPP) +endif() diff --git a/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp b/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp index 24cf50fffbbe2..a1e2c103aae1a 100644 --- a/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp +++ b/recipes/opencl-clhpp-headers/all/test_package/test_package.cpp @@ -1,7 +1,11 @@ #define CL_HPP_MINIMUM_OPENCL_VERSION 120 #define CL_HPP_TARGET_OPENCL_VERSION 120 +#ifdef USE_OPENCL_HPP #include +#else +#include +#endif #include #include diff --git a/recipes/opencl-clhpp-headers/config.yml b/recipes/opencl-clhpp-headers/config.yml index 691c70a050912..2bf575fcc9451 100644 --- a/recipes/opencl-clhpp-headers/config.yml +++ b/recipes/opencl-clhpp-headers/config.yml @@ -7,3 +7,15 @@ versions: folder: all "2022.05.18": folder: all + "2022.01.04": + folder: all + "2021.06.30": + folder: all + "2021.04.29": + folder: all + "2020.12.18": + folder: all + "2020.06.16": + folder: all + "2020.03.13": + folder: all From 6859d07b802ca2bb983364ed3db0946f58a31147 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 26 Aug 2023 21:52:05 +0900 Subject: [PATCH 1409/4087] (#19404) libzip: add version 1.10.1, rearrange patch files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libzip: add version 1.10.1, rearrange patch files * Fix yaml list syntax --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libzip/all/conandata.yml | 60 ++++++++++++++----- recipes/libzip/all/conanfile.py | 38 +----------- .../patches/1.10.1-0002-remove-rpath.patch | 13 ++++ ... => 1.7.3-0001-cmake-install-bundle.patch} | 0 .../all/patches/1.7.3-0002-remove-rpath.patch | 13 ++++ .../all/patches/1.8.0-0002-remove-rpath.patch | 13 ++++ .../patches/1.8.0-0003-fix-zstd-name.patch | 33 ++++++++++ .../all/patches/1.9.2-0002-remove-rpath.patch | 13 ++++ .../patches/1.9.2-0003-fix-zstd-name.patch | 33 ++++++++++ recipes/libzip/config.yml | 2 + 10 files changed, 167 insertions(+), 51 deletions(-) create mode 100644 recipes/libzip/all/patches/1.10.1-0002-remove-rpath.patch rename recipes/libzip/all/patches/{0001-cmake-install-bundle.patch => 1.7.3-0001-cmake-install-bundle.patch} (100%) create mode 100644 recipes/libzip/all/patches/1.7.3-0002-remove-rpath.patch create mode 100644 recipes/libzip/all/patches/1.8.0-0002-remove-rpath.patch create mode 100644 recipes/libzip/all/patches/1.8.0-0003-fix-zstd-name.patch create mode 100644 recipes/libzip/all/patches/1.9.2-0002-remove-rpath.patch create mode 100644 recipes/libzip/all/patches/1.9.2-0003-fix-zstd-name.patch diff --git a/recipes/libzip/all/conandata.yml b/recipes/libzip/all/conandata.yml index 567f243d79a98..0dcb786c62874 100644 --- a/recipes/libzip/all/conandata.yml +++ b/recipes/libzip/all/conandata.yml @@ -1,26 +1,56 @@ sources: + "1.10.1": + url: + - "https://libzip.org/download/libzip-1.10.1.tar.gz" + - "https://github.com/nih-at/libzip/releases/download/v1.10.1/libzip-1.10.1.tar.gz" + sha256: "9669ae5dfe3ac5b3897536dc8466a874c8cf2c0e3b1fdd08d75b273884299363" "1.9.2": - url: [ - "https://libzip.org/download/libzip-1.9.2.tar.gz", - "https://github.com/nih-at/libzip/releases/download/v1.9.2/libzip-1.9.2.tar.gz", - ] + url: + - "https://libzip.org/download/libzip-1.9.2.tar.gz" + - "https://github.com/nih-at/libzip/releases/download/v1.9.2/libzip-1.9.2.tar.gz" sha256: "fd6a7f745de3d69cf5603edc9cb33d2890f0198e415255d0987a0cf10d824c6f" "1.8.0": - url: [ - "https://libzip.org/download/libzip-1.8.0.tar.gz", - "https://github.com/nih-at/libzip/releases/download/v1.8.0/libzip-1.8.0.tar.gz", - ] + url: + - "https://libzip.org/download/libzip-1.8.0.tar.gz" + - "https://github.com/nih-at/libzip/releases/download/v1.8.0/libzip-1.8.0.tar.gz" sha256: "30ee55868c0a698d3c600492f2bea4eb62c53849bcf696d21af5eb65f3f3839e" "1.7.3": - url: [ - "https://libzip.org/download/libzip-1.7.3.tar.gz", - "https://github.com/nih-at/libzip/releases/download/v1.7.3/libzip-1.7.3.tar.gz", - ] + url: + - "https://libzip.org/download/libzip-1.7.3.tar.gz" + - "https://github.com/nih-at/libzip/releases/download/v1.7.3/libzip-1.7.3.tar.gz" sha256: "0e2276c550c5a310d4ebf3a2c3dfc43fb3b4602a072ff625842ad4f3238cb9cc" patches: + "1.10.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.10.1-0002-remove-rpath.patch" + patch_description: "remove rpath feature" + patch_type: "conan" "1.9.2": - - patch_file: "patches/0001-cmake-install-bundle.patch" + - 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.9.2-0002-remove-rpath.patch" + patch_description: "remove rpath feature" + patch_type: "conan" + - patch_file: "patches/1.9.2-0003-fix-zstd-name.patch" + patch_description: "fix zstd name" + patch_type: "portability" "1.8.0": - - patch_file: "patches/0001-cmake-install-bundle.patch" + - 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.8.0-0002-remove-rpath.patch" + patch_description: "remove rpath feature" + patch_type: "conan" + - patch_file: "patches/1.8.0-0003-fix-zstd-name.patch" + patch_description: "fix zstd name" + patch_type: "portability" "1.7.3": - - patch_file: "patches/0001-cmake-install-bundle.patch" + - 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.7.3-0002-remove-rpath.patch" + patch_description: "remove rpath feature" + patch_type: "conan" diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index 466b104bf29b9..ef5f90cd053cb 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os @@ -105,42 +105,8 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def _patch_sources(self): - apply_conandata_patches(self) - - top_cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - # Honor zstd enabled - if self._has_zstd_support: - def zstd_find_package_pattern(version): - if version >= "1.9.2": - return "find_package(Zstd 1.3.6)" - else: - return "find_package(Zstd)" - lib_cmakelists = os.path.join(self.source_folder, "lib", "CMakeLists.txt") - replace_in_file(self, top_cmakelists, zstd_find_package_pattern(Version(self.version)), "find_package(zstd)") - replace_in_file(self, top_cmakelists, "Zstd_FOUND", "zstd_FOUND") - replace_in_file( - self, - lib_cmakelists, - "Zstd::Zstd", - "$,zstd::libzstd_shared,zstd::libzstd_static>", - ) - # Do not pollute rpath of installed binaries - replace_in_file( - self, - top_cmakelists, - "set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})", - "", - ) - replace_in_file( - self, - top_cmakelists, - "set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)", - "", - ) - def build(self): - self._patch_sources() + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/libzip/all/patches/1.10.1-0002-remove-rpath.patch b/recipes/libzip/all/patches/1.10.1-0002-remove-rpath.patch new file mode 100644 index 0000000000000..6385883376739 --- /dev/null +++ b/recipes/libzip/all/patches/1.10.1-0002-remove-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b2e7724..d33fbd8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -285,7 +285,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/all/patches/0001-cmake-install-bundle.patch b/recipes/libzip/all/patches/1.7.3-0001-cmake-install-bundle.patch similarity index 100% rename from recipes/libzip/all/patches/0001-cmake-install-bundle.patch rename to recipes/libzip/all/patches/1.7.3-0001-cmake-install-bundle.patch diff --git a/recipes/libzip/all/patches/1.7.3-0002-remove-rpath.patch b/recipes/libzip/all/patches/1.7.3-0002-remove-rpath.patch new file mode 100644 index 0000000000000..2682986aa602f --- /dev/null +++ b/recipes/libzip/all/patches/1.7.3-0002-remove-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 017f7cf..e9dd8d9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -237,7 +237,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/all/patches/1.8.0-0002-remove-rpath.patch b/recipes/libzip/all/patches/1.8.0-0002-remove-rpath.patch new file mode 100644 index 0000000000000..511a8497170f9 --- /dev/null +++ b/recipes/libzip/all/patches/1.8.0-0002-remove-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 93b46a6..577865f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -237,7 +237,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/all/patches/1.8.0-0003-fix-zstd-name.patch b/recipes/libzip/all/patches/1.8.0-0003-fix-zstd-name.patch new file mode 100644 index 0000000000000..d3a2faebb601a --- /dev/null +++ b/recipes/libzip/all/patches/1.8.0-0003-fix-zstd-name.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 93b46a6..577865f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -196,12 +196,12 @@ if(ENABLE_LZMA) + endif(ENABLE_LZMA) + + if(ENABLE_ZSTD) +- find_package(Zstd) +- if(Zstd_FOUND) ++ find_package(zstd) ++ if(zstd_FOUND) + set(HAVE_LIBZSTD 1) + else() + message(WARNING "-- zstd library not found; zstandard support disabled") +- endif(Zstd_FOUND) ++ endif(zstd_FOUND) + endif(ENABLE_ZSTD) + + if (COMMONCRYPTO_FOUND) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 1069cec..c0148b9 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -148,7 +148,7 @@ endif() + + if(HAVE_LIBZSTD) + target_sources(zip PRIVATE zip_algorithm_zstd.c) +- target_link_libraries(zip PRIVATE Zstd::Zstd) ++ target_link_libraries(zip PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) + endif() + + if(HAVE_COMMONCRYPTO) diff --git a/recipes/libzip/all/patches/1.9.2-0002-remove-rpath.patch b/recipes/libzip/all/patches/1.9.2-0002-remove-rpath.patch new file mode 100644 index 0000000000000..24aeef7d82680 --- /dev/null +++ b/recipes/libzip/all/patches/1.9.2-0002-remove-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d00a4f9..bc45784 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -238,7 +238,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/all/patches/1.9.2-0003-fix-zstd-name.patch b/recipes/libzip/all/patches/1.9.2-0003-fix-zstd-name.patch new file mode 100644 index 0000000000000..bbc20c6fe9ebe --- /dev/null +++ b/recipes/libzip/all/patches/1.9.2-0003-fix-zstd-name.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d00a4f9..bc45784 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -197,12 +197,12 @@ if(ENABLE_LZMA) + endif(ENABLE_LZMA) + + if(ENABLE_ZSTD) +- find_package(Zstd 1.3.6) +- if(Zstd_FOUND) ++ find_package(zstd) ++ if(zstd_FOUND) + set(HAVE_LIBZSTD 1) + else() + message(WARNING "-- zstd library not found; zstandard support disabled") +- endif(Zstd_FOUND) ++ endif(zstd_FOUND) + endif(ENABLE_ZSTD) + + if (COMMONCRYPTO_FOUND) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 1213fa0..b6446cb 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -147,7 +147,7 @@ endif() + + if(HAVE_LIBZSTD) + target_sources(zip PRIVATE zip_algorithm_zstd.c) +- target_link_libraries(zip PRIVATE Zstd::Zstd) ++ target_link_libraries(zip PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) + endif() + + if(HAVE_COMMONCRYPTO) diff --git a/recipes/libzip/config.yml b/recipes/libzip/config.yml index 63ddbcf63ff11..614d36cf38cf3 100644 --- a/recipes/libzip/config.yml +++ b/recipes/libzip/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.1": + folder: all "1.9.2": folder: all "1.8.0": From c8ba536460d7378d221a71753d124b94f5d4daea Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 26 Aug 2023 22:30:41 +0900 Subject: [PATCH 1410/4087] (#19192) spdlog: update fmt/10.1.0 * spdlog: update fmt/10.1.0 * update fmt for 1.12.0 only --- recipes/spdlog/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index 8b194e1f8f481..b24d1adfcb1ba 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -56,7 +56,9 @@ def requirements(self): self_version = Version(self.version) fmt_version = "7.1.3" - if self_version >= "1.11.0": + if self_version >= "1.12.0": + fmt_version = "10.1.0" + elif self_version >= "1.11.0": fmt_version = "10.0.0" elif self_version >= "1.10.0": fmt_version = "8.1.1" From 157bdb74954b6253a20e89bb99bad51425c3c41e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 01:34:52 +0900 Subject: [PATCH 1411/4087] (#19433) ada: add version 2.6.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 97acb278526f5..c93cb42b88d24 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index aa9794668e545..cecfcc53ea282 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.2": + folder: all "2.6.0": folder: all "2.5.1": From 9af64bba64456ea4329203a3ee47d5477d3bad17 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 02:13:02 +0900 Subject: [PATCH 1412/4087] (#19435) gegles-spdlog_setup: update fmt/10.1.0 --- recipes/gegles-spdlog_setup/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py index 7d53c34d32dd2..9385009e7bf43 100644 --- a/recipes/gegles-spdlog_setup/all/conanfile.py +++ b/recipes/gegles-spdlog_setup/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): def requirements(self): self.requires("cpptoml/0.1.1") self.requires("spdlog/1.12.0") - self.requires("fmt/10.0.0") + self.requires("fmt/10.1.0") def package_id(self): self.info.clear() From 511b65d069c6e781c23e266e32a6941adc749d34 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 02:53:48 +0900 Subject: [PATCH 1413/4087] (#19436) seadex-essentials: update dependencies --- recipes/seadex-essentials/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/seadex-essentials/all/conanfile.py b/recipes/seadex-essentials/all/conanfile.py index a316b2670766b..118460968da91 100644 --- a/recipes/seadex-essentials/all/conanfile.py +++ b/recipes/seadex-essentials/all/conanfile.py @@ -51,9 +51,9 @@ def configure(self): def requirements(self): # Headers are exposed https://github.com/SeadexGmbH/essentials/blob/622a07dc1530f5668f5dde0ce18007d420c371cd/essentials/include/essentials/log/log_level.hpp#L15 - self.requires("spdlog/1.11.0", transitive_headers=True) + self.requires("spdlog/1.12.0", transitive_headers=True) # Exposes headers and symbols https://github.com/SeadexGmbH/essentials/blob/622a07dc1530f5668f5dde0ce18007d420c371cd/essentials/include/essentials/type_wrapper.hpp#L282 - self.requires("fmt/10.0.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.1.0", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 820f6c9c6d0a245b584e9e93ad565f2d005ae1fd Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 03:31:50 +0900 Subject: [PATCH 1414/4087] (#19431) aws-c-io: update s2n/1.3.50 --- 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 eaf12a0cfcd8d..73f6dfc98f678 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -53,7 +53,7 @@ def requirements(self): self.requires("aws-c-cal/0.6.1", transitive_headers=True) if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.3.31") + self.requires("s2n/1.3.50") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 58a55c311329a4492a5a192b7069d7e4f910be8b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 13:31:30 +0900 Subject: [PATCH 1415/4087] (#19440) etl: add version 20.38.0 --- 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 048eb0ba5716e..aaf305dbf4ff2 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index aa2b1c54bb8bd..f57d0b4090ca8 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.0": + folder: all "20.37.3": folder: all "20.37.2": From 8152b06c55f0f82426cdbaf084339da0a5731e28 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 15:12:02 +0900 Subject: [PATCH 1416/4087] (#19442) implot: add version 0.16 --- recipes/implot/all/conandata.yml | 3 +++ recipes/implot/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/implot/all/conandata.yml b/recipes/implot/all/conandata.yml index a9c9c08b5ed78..5aa143a53a498 100644 --- a/recipes/implot/all/conandata.yml +++ b/recipes/implot/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.16": + url: "https://github.com/epezent/implot/archive/v0.16.tar.gz" + sha256: "961df327d8a756304d1b0a67316eebdb1111d13d559f0d3415114ec0eb30abd1" "0.15": url: "https://github.com/epezent/implot/archive/v0.15.tar.gz" sha256: "4c20f22fbfbe4ad055f3d344581918d62cde72070b233dad75419a4334f82146" diff --git a/recipes/implot/config.yml b/recipes/implot/config.yml index 5c3099f028cc2..60016fd219bda 100644 --- a/recipes/implot/config.yml +++ b/recipes/implot/config.yml @@ -1,4 +1,6 @@ versions: + "0.16": + folder: "all" "0.15": folder: "all" "0.14": From 0d6f514395f546af3eadfd3782f349582c37adcb Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 16:53:08 +0900 Subject: [PATCH 1417/4087] (#19444) gsl-lite: add version 0.41.0 --- recipes/gsl-lite/all/conandata.yml | 3 +++ recipes/gsl-lite/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gsl-lite/all/conandata.yml b/recipes/gsl-lite/all/conandata.yml index 010ad6b469c3c..cc6eafeeee69d 100644 --- a/recipes/gsl-lite/all/conandata.yml +++ b/recipes/gsl-lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.41.0": + url: "https://github.com/gsl-lite/gsl-lite/archive/v0.41.0.tar.gz" + sha256: "4682d8a60260321b92555760be3b9caab60e2a71f95eddbdfb91e557ee93302a" "0.40.0": url: "https://github.com/gsl-lite/gsl-lite/archive/v0.40.0.tar.gz" sha256: "65af4ec8a1050dac4f1ca4622881bb02a9c3978a9baec289fb56e25412d6cac7" diff --git a/recipes/gsl-lite/config.yml b/recipes/gsl-lite/config.yml index d21a23d317e33..cec66ae3b5e02 100644 --- a/recipes/gsl-lite/config.yml +++ b/recipes/gsl-lite/config.yml @@ -1,4 +1,6 @@ versions: + "0.41.0": + folder: all "0.40.0": folder: all "0.39.0": From ec6cf3f86cd1033be2cfcb17344bedce661f4a53 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Aug 2023 22:12:39 +0900 Subject: [PATCH 1418/4087] (#19446) cassandra-cpp-driver: add version 2.17.0 --- recipes/cassandra-cpp-driver/all/conandata.yml | 17 +++++++++++++++++ recipes/cassandra-cpp-driver/config.yml | 2 ++ 2 files changed, 19 insertions(+) diff --git a/recipes/cassandra-cpp-driver/all/conandata.yml b/recipes/cassandra-cpp-driver/all/conandata.yml index 35b0bd34f38b7..148e40f2a763f 100644 --- a/recipes/cassandra-cpp-driver/all/conandata.yml +++ b/recipes/cassandra-cpp-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.17.0": + url: "https://github.com/datastax/cpp-driver/archive/2.17.0.tar.gz" + sha256: "075af6a6920b0a8b12e37b8e5aa335b0c7919334aa1b451642668e6e37c5372f" "2.16.2": url: "https://github.com/datastax/cpp-driver/archive/2.16.2.tar.gz" sha256: "de60751bd575b5364c2c5a17a24a40f3058264ea2ee6fef19de126ae550febc9" @@ -6,6 +9,20 @@ sources: url: "https://github.com/datastax/cpp-driver/archive/2.15.3.tar.gz" sha256: "eccb53c5151621c3b647fc83781a542cfb93e76687b4178ebce418fc4c817293" patches: + "2.17.0": + - patch_file: "patches/2.16.2/fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-rapidjson.patch" + patch_description: "fix include path for cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-atomic.patch" + patch_description: "Adapt MemoryOrder definition for C++ 20" + patch_type: "portability" + patch_source: "https://github.com/datastax/cpp-driver/pull/533" + - patch_file: "patches/2.15.3/remove-attribute-for-msvc.patch" + patch_description: "remove attribute for msvc" + patch_type: "portability" "2.16.2": - patch_file: "patches/2.16.2/fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/cassandra-cpp-driver/config.yml b/recipes/cassandra-cpp-driver/config.yml index fa0680a1da5b5..7062b1458afe2 100644 --- a/recipes/cassandra-cpp-driver/config.yml +++ b/recipes/cassandra-cpp-driver/config.yml @@ -1,4 +1,6 @@ versions: + "2.17.0": + folder: all "2.16.2": folder: all "2.15.3": From 3eb225b9e5397dd67c883fcbe05b329faa227101 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 28 Aug 2023 00:53:49 +0900 Subject: [PATCH 1419/4087] (#19450) maddy: add version 1.3.0 --- recipes/maddy/all/conandata.yml | 3 +++ recipes/maddy/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/maddy/all/conandata.yml b/recipes/maddy/all/conandata.yml index dfa40b0be6206..b4bf9474c36c1 100644 --- a/recipes/maddy/all/conandata.yml +++ b/recipes/maddy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/progsource/maddy/archive/refs/tags/1.3.0.tar.gz" + sha256: "561681f8c8d2b998c153cda734107a0bc1dea4bb0df69fd813922da63fa9f3e7" "1.2.1": url: "https://github.com/progsource/maddy/archive/refs/tags/1.2.1.tar.gz" sha256: "b6058bce7ca32506969633ee7a4042e75b07464489f1c44be00913543cd687ef" diff --git a/recipes/maddy/config.yml b/recipes/maddy/config.yml index 12b8a7bf45a5b..90c91d00495eb 100644 --- a/recipes/maddy/config.yml +++ b/recipes/maddy/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.1": folder: all "1.1.2": From 230ab447b90a136dca3b2bf45875b39c62136103 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 28 Aug 2023 02:10:57 +0900 Subject: [PATCH 1420/4087] (#19451) capnproto: add version 1.0.1 --- recipes/capnproto/all/conandata.yml | 7 +++++++ recipes/capnproto/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/capnproto/all/conandata.yml b/recipes/capnproto/all/conandata.yml index 64808b6c7cee4..e635b41da8f05 100644 --- a/recipes/capnproto/all/conandata.yml +++ b/recipes/capnproto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/capnproto/capnproto/archive/v1.0.1.tar.gz" + sha256: "5bdb16f6b389a9e29b04214b9bae1759e8b7fe2b45049d7e3f1f286ba050a200" "1.0.0": url: "https://github.com/capnproto/capnproto/archive/v1.0.0.tar.gz" sha256: "bcd44dde78055313a7786cb6ab020cbef19b9045b53857f90cce101c9453f715" @@ -24,6 +27,10 @@ sources: url: "https://github.com/capnproto/capnproto/archive/v0.7.0.tar.gz" sha256: "76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28" patches: + "1.0.1": + - patch_file: "patches/0015-disable-tests-for-1.0.0.patch" + patch_description: "disable test build" + patch_type: "conan" "1.0.0": - patch_file: "patches/0015-disable-tests-for-1.0.0.patch" patch_description: "disable test build" diff --git a/recipes/capnproto/config.yml b/recipes/capnproto/config.yml index fe4f6cbbb70b3..887e41e533af8 100644 --- a/recipes/capnproto/config.yml +++ b/recipes/capnproto/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.1": + folder: all "1.0.0": folder: all "0.10.4": From ea188dba2a282d4099161aba9e54b79f03f8de92 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 28 Aug 2023 11:03:04 +0200 Subject: [PATCH 1421/4087] (#19453) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 2a4a0fc59737a..afef60a60fac7 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -36,6 +36,7 @@ required_for_references: - args-parser - argtable2 - argtable3 +- arrow - arsenalgear - artery-font-format - asio @@ -406,6 +407,7 @@ required_for_references: - harfbuzz - hash-library - hazelcast-cpp-client +- hdf4 - hdf5 - hdrhistogram-c - heatshrink @@ -795,6 +797,7 @@ required_for_references: - ogdf - ogg - ois +- onedpl - onetbb - oniguruma - onnx @@ -823,6 +826,7 @@ required_for_references: - openjpeg - openmesh - openmvg +- openpam - openssl - opensubdiv - opentdf-client @@ -945,6 +949,7 @@ required_for_references: - readosm - recastnavigation - reckless +- rectanglebinpack - rectpack2d - redis-plus-plus - refl-cpp From 7c3eaecd37e074784b19539ee1a9495a912c54c2 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 28 Aug 2023 11:51:40 +0200 Subject: [PATCH 1422/4087] (#19416) [openapi-generator] Add version 7.0.0 * [openapi-generator] Add version 7.0.0 * Revert old version removal --- recipes/openapi-generator/all/conandata.yml | 3 +++ recipes/openapi-generator/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml index b429533e05e27..9624e0bf21d4b 100644 --- a/recipes/openapi-generator/all/conandata.yml +++ b/recipes/openapi-generator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.0.0": + url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.0.0/openapi-generator-cli-7.0.0.jar" + sha256: "80e8e9d71bdbdf513b8c65cf7d3fc2fe3d88aaeb4e39a2c6e20831f00032c775" "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 805a487d9c79b..fc03893757ba9 100644 --- a/recipes/openapi-generator/config.yml +++ b/recipes/openapi-generator/config.yml @@ -1,4 +1,6 @@ versions: + "7.0.0": + folder: all "6.6.0": folder: all "6.5.0": From 4e520dae17d2b9ceefcde43e550f89f4a452a3bc Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Mon, 28 Aug 2023 15:13:23 +0200 Subject: [PATCH 1423/4087] (#19458) [scippp] Remove obsolete exports_sources from recipe --- recipes/scippp/all/conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/scippp/all/conanfile.py b/recipes/scippp/all/conanfile.py index 72d7e95e14f56..1301e60281e0e 100644 --- a/recipes/scippp/all/conanfile.py +++ b/recipes/scippp/all/conanfile.py @@ -12,7 +12,6 @@ class ScipPlusPlus(ConanFile): name = "scippp" settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps" - exports_sources = "CMakeLists.txt", "source/*", "include/*" description = "SCIP++ is a C++ wrapper for SCIP's C interface" package_type = "library" topics = ("mip", "solver", "linear", "programming") From 78304f761c5ea658f9a258614aaa0e65b7e7fb3c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 29 Aug 2023 01:11:46 +0900 Subject: [PATCH 1424/4087] (#19468) blend2d: add version 0.10.5 --- recipes/blend2d/all/conandata.yml | 7 +++++++ recipes/blend2d/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/blend2d/all/conandata.yml b/recipes/blend2d/all/conandata.yml index 81cc43bbe5bf8..70d8d5d6571cb 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.5": + url: "https://blend2d.com/download/blend2d-0.10.5.tar.xz" + sha256: "fff5a7b1a6b16c986f3d02052a9a030f138fbae3a9c16bf07915416515d6b9cd" "0.10.4": url: "https://blend2d.com/download/blend2d-0.10.4.tar.xz" sha256: "6363e5c13c1c9e4709f949585a6af772ee13a16f75b0084f91b3918dece2fff3" @@ -18,6 +21,10 @@ sources: url: "https://blend2d.com/download/blend2d-beta17.zip" sha256: "06ee8fb0bea281d09291e498900093139426501a1a7f09dba0ec801dd340635e" patches: + "0.10.5": + - patch_file: "patches/0.10-0001-disable-embed-asmjit.patch" + patch_description: "use asmjit cci package" + patch_type: "conan" "0.10.4": - patch_file: "patches/0.10-0001-disable-embed-asmjit.patch" patch_description: "use asmjit cci package" diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index abc5bb6a7611e..741838b7d4752 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.5": + folder: all "0.10.4": folder: all "0.10": From 864f915dc9c9440774b3692607fef720eabbbb12 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 29 Aug 2023 02:11:04 +0900 Subject: [PATCH 1425/4087] (#19467) fmt: add version 10.1.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 0ab235a8e96fa..1ddc76ef1e667 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.1.1": + url: "https://github.com/fmtlib/fmt/releases/download/10.1.1/fmt-10.1.1.zip" + sha256: "b84e58a310c9b50196cda48d5678d5fa0849bca19e5fdba6b684f0ee93ed9d1b" "10.1.0": url: "https://github.com/fmtlib/fmt/releases/download/10.1.0/fmt-10.1.0.zip" sha256: "d725fa83a8b57a3cedf238828fa6b167f963041e8f9f7327649bddc68ae316f4" diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index 94b218a304025..74db66d3ff403 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.1.1": + folder: all "10.1.0": folder: all "10.0.0": From cb68eb8f93017379dd195c31ccb188754c024e7d Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 29 Aug 2023 04:48:31 +0400 Subject: [PATCH 1426/4087] (#19174) onetbb: fixed hwloc setting on Windows --- recipes/onetbb/all/conanfile.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index fa6e990f3c829..c06d17f237a24 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -126,18 +126,22 @@ def generate(self): if Version(self.version) >= "2021.6.0" and self.options.get_safe("tbbproxy"): toolchain.variables["TBBMALLOC_PROXY_BUILD"] = self.options.tbbproxy toolchain.variables["TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH"] = not self._tbbbind_build - if self._tbbbind_build: - deps = PkgConfigDeps(self) - deps.generate() if self._tbbbind_explicit_hwloc: - hwloc_package_folder = self.dependencies["hwloc"].package_folder.replace("\\", "/") + hwloc_package_folder = self.dependencies["hwloc"].package_folder hwloc_lib_name = "hwloc.lib" if self.settings.os == "Windows" else "libhwloc.so" - toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_LIBRARY_PATH"] = os.path.join(hwloc_package_folder, "lib", hwloc_lib_name) - toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_INCLUDE_PATH"] = os.path.join(hwloc_package_folder, "include") + toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_LIBRARY_PATH"] = \ + os.path.join(hwloc_package_folder, "lib", hwloc_lib_name).replace("\\", "/") + toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_INCLUDE_PATH"] = \ + os.path.join(hwloc_package_folder, "include").replace("\\", "/") if self.settings.os == "Windows": - toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_DLL_PATH"] = os.path.join(hwloc_package_folder, "bin", "hwloc.dll") + toolchain.variables[f"CMAKE_HWLOC_{self._tbbbind_hwloc_version}_DLL_PATH"] = \ + os.path.join(hwloc_package_folder, "bin", "hwloc.dll").replace("\\", "/") toolchain.generate() + if self._tbbbind_build: + deps = PkgConfigDeps(self) + deps.generate() + def build(self): apply_conandata_patches(self) cmake = CMake(self) From f8266ff8f0b648960512afb302f09bd46e577f9d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 29 Aug 2023 12:52:33 +0900 Subject: [PATCH 1427/4087] (#19471) ada: add version 2.6.4 --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index c93cb42b88d24..1ffb1049ac57f 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index cecfcc53ea282..4b6a02c6d6d42 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.4": + folder: all "2.6.2": folder: all "2.6.0": From 4f8e2b225adbeec4b4bbc9989b0762cf8887bafe Mon Sep 17 00:00:00 2001 From: qwqbot Date: Tue, 29 Aug 2023 14:52:47 +0800 Subject: [PATCH 1428/4087] (#19473) msgpack-cxx: update boost/1.83 --- recipes/msgpack-cxx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/msgpack-cxx/all/conanfile.py b/recipes/msgpack-cxx/all/conanfile.py index 0431bac108f83..b2bcb90b0a576 100644 --- a/recipes/msgpack-cxx/all/conanfile.py +++ b/recipes/msgpack-cxx/all/conanfile.py @@ -34,7 +34,7 @@ def layout(self): def requirements(self): if self.options.get_safe("use_boost", True): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") def package_id(self): self.info.clear() From 522a8f740a09a37a75ec02adf55b54b16cacb7a5 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 29 Aug 2023 11:33:25 +0400 Subject: [PATCH 1429/4087] (#19349) opencl-icd-loader: add OpenCL C++ headers as transitive dependency --- recipes/opencl-icd-loader/all/conanfile.py | 1 + recipes/opencl-icd-loader/all/test_package/test_package.c | 1 + 2 files changed, 2 insertions(+) diff --git a/recipes/opencl-icd-loader/all/conanfile.py b/recipes/opencl-icd-loader/all/conanfile.py index b7187e1a134cc..ae7aae3d17794 100644 --- a/recipes/opencl-icd-loader/all/conanfile.py +++ b/recipes/opencl-icd-loader/all/conanfile.py @@ -48,6 +48,7 @@ def layout(self): def requirements(self): self.requires(f"opencl-headers/{self.version}", transitive_headers=True) + self.requires(f"opencl-clhpp-headers/{self.version}", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/opencl-icd-loader/all/test_package/test_package.c b/recipes/opencl-icd-loader/all/test_package/test_package.c index 4c923ce588658..42b334ba331d4 100644 --- a/recipes/opencl-icd-loader/all/test_package/test_package.c +++ b/recipes/opencl-icd-loader/all/test_package/test_package.c @@ -1,3 +1,4 @@ +#define CL_TARGET_OPENCL_VERSION 120 #include int main() { From 969b025d3622285f1a6199edc0d4953f2bf5c63c Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 29 Aug 2023 11:04:23 +0200 Subject: [PATCH 1430/4087] (#19465) arrow: bump version of boost dependency --- 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 abed7f510dbed..cf876a25b3191 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -300,7 +300,7 @@ def requirements(self): if self.options.with_mimalloc: self.requires("mimalloc/1.7.6") if self.options.with_boost: - self.requires("boost/1.81.0") + self.requires("boost/1.82.0") if self.options.with_gflags: self.requires("gflags/2.2.2") if self.options.with_glog: From 3e44e653008f1575f228a6bf0cfd62db99dccece Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 29 Aug 2023 19:15:23 +0900 Subject: [PATCH 1431/4087] (#19457) zlib-ng: fix `with_optim` default value --- recipes/zlib-ng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zlib-ng/all/conanfile.py b/recipes/zlib-ng/all/conanfile.py index 2c536695c6f5e..853a0a0f6a309 100644 --- a/recipes/zlib-ng/all/conanfile.py +++ b/recipes/zlib-ng/all/conanfile.py @@ -34,7 +34,7 @@ class ZlibNgConan(ConanFile): "fPIC": True, "zlib_compat": False, "with_gzfileop": True, - "with_optim": False, + "with_optim": True, "with_new_strategies": True, "with_native_instructions": False, "with_reduced_mem": False, From c521d7b9fa8817850da0f8e575c0c883676b8ffb Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 29 Aug 2023 15:34:36 +0400 Subject: [PATCH 1432/4087] (#19452) onetbb: added pkgconf build dependency to find hwloc --- recipes/onetbb/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index c06d17f237a24..bfc433ac09750 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -89,6 +89,10 @@ def requirements(self): if self._tbbbind_build: self.requires("hwloc/2.9.1") + def build_requirements(self): + if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.build_requires("pkgconf/1.9.3") + def layout(self): cmake_layout(self, src_folder="src") From b31af640bf50bebe1dd1b97531730ba79fbc280c Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 29 Aug 2023 12:34:07 +0000 Subject: [PATCH 1433/4087] (#19475) aggeom-agg: add version 2.7.1 --- recipes/aggeom-agg/all/conandata.yml | 3 +++ recipes/aggeom-agg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aggeom-agg/all/conandata.yml b/recipes/aggeom-agg/all/conandata.yml index 8b26697b0ef0d..9203b7fc5e424 100644 --- a/recipes/aggeom-agg/all/conandata.yml +++ b/recipes/aggeom-agg/all/conandata.yml @@ -2,3 +2,6 @@ sources: "2.6.1": url: "https://github.com/aggeom/agg-2.6/archive/refs/tags/agg-2.6.1.tar.gz" sha256: 685966f880f1c2aae19479b60525fafba8cbd88e4c62d1947767780df8f6a3d0 + "2.7.1": + url: "https://github.com/aggeom/agg-2.6/archive/refs/tags/agg-2.7.1.tar.gz" + sha256: 2174e55d7169502293e86f728d8698b5198dc7e42fbbda39e4d34c1411d1ac7a diff --git a/recipes/aggeom-agg/config.yml b/recipes/aggeom-agg/config.yml index cfb13334b8b03..54947af157488 100644 --- a/recipes/aggeom-agg/config.yml +++ b/recipes/aggeom-agg/config.yml @@ -1,3 +1,5 @@ versions: "2.6.1": folder: "all" + "2.7.1": + folder: "all" From cbd88a14d8d56d85bd275a715f73490de15cc183 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 29 Aug 2023 22:53:12 +0300 Subject: [PATCH 1434/4087] (#19484) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index a7f8c97edc459..f39e87f6d648d 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.14": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.14.tar.gz" + sha256: "b230f1a99a2a5f4f1f32748d52062276294b34d8254d4128193632e3a8ffaa4e" "2.0.13": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.13.tar.gz" sha256: "4e6cdcd54c5ce1e1ed9a97bd18ac5aeb7c15bb303193b4261058aef724fe9a41" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 3a7084f75ff20..8252adb029767 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.14": + folder: all "2.0.13": folder: all "2.0.12": From 683a9c3ab4cf0ff4df4d6eb29e027947d5923925 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 07:33:09 +0900 Subject: [PATCH 1435/4087] (#19443) wasm-micro-runtime: add version 1.2.3 * wasm-micro-runtime: add version 1.2.3 * disable strip-all on apple-clang * disable strip on apple-clang * revert BUILD_SHARED_LIBS --- recipes/wasm-micro-runtime/all/conandata.yml | 7 ++ .../all/patches/1.2.3-0001-fix-cmake.patch | 88 +++++++++++++++++++ recipes/wasm-micro-runtime/config.yml | 2 + 3 files changed, 97 insertions(+) create mode 100644 recipes/wasm-micro-runtime/all/patches/1.2.3-0001-fix-cmake.patch diff --git a/recipes/wasm-micro-runtime/all/conandata.yml b/recipes/wasm-micro-runtime/all/conandata.yml index e6acc34530782..507fb63f45893 100644 --- a/recipes/wasm-micro-runtime/all/conandata.yml +++ b/recipes/wasm-micro-runtime/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.2.3": + url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.3.tar.gz" + sha256: "85057f788630dc1b8c371f5443cc192627175003a8ea63c491beaff29a338346" "1.2.2": url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.2.tar.gz" sha256: "d328fc1e19c54cfdb4248b861de54b62977b9b85c0a40eaaeb9cd9b628c0c788" patches: + "1.2.3": + - patch_file: "patches/1.2.3-0001-fix-cmake.patch" + patch_description: "separate static and shasred build" + patch_type: "conan" "1.2.2": - patch_file: "patches/1.2.2-0001-fix-cmake.patch" patch_description: "separate static and shasred build" diff --git a/recipes/wasm-micro-runtime/all/patches/1.2.3-0001-fix-cmake.patch b/recipes/wasm-micro-runtime/all/patches/1.2.3-0001-fix-cmake.patch new file mode 100644 index 0000000000000..b67b2a33b5dea --- /dev/null +++ b/recipes/wasm-micro-runtime/all/patches/1.2.3-0001-fix-cmake.patch @@ -0,0 +1,88 @@ +diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt +index fbea261..9f9892a 100644 +--- a/a/CMakeLists.txt ++++ b/b/CMakeLists.txt +@@ -108,17 +108,12 @@ endif () + set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + # Set the strip command based on the system (GNU or Clang) +-if (CMAKE_STRIP) ++if (NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang" AND CMAKE_STRIP) + set (CMAKE_STRIP_FLAGS "--strip-all") + endif () + + include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) + +-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow -Wno-unused-parameter") +-# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wsign-conversion") +- +-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") +- + if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") + if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang")) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register") +@@ -135,11 +130,15 @@ endif () + + include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) + ++if (NOT BUILD_SHARED_LIBS) + # STATIC LIBRARY + add_library(iwasm_static STATIC ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_static PROPERTIES OUTPUT_NAME vmlib) + target_include_directories(iwasm_static INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +-target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) ++if(NOT MSVC) ++ target_link_libraries (iwasm_static INTERFACE -lm -ldl -lpthread) ++endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_static INTERFACE boringssl_crypto) + endif () +@@ -147,19 +146,22 @@ endif () + install (TARGETS iwasm_static ARCHIVE DESTINATION lib) + + # If it's a Release build, strip the static library +-if (CMAKE_STRIP AND CMAKE_BUILD_TYPE STREQUAL "Release") ++if (0) + # Strip static library + message (STATUS "Stripping static library after build!") + add_custom_command (TARGET iwasm_static POST_BUILD + COMMAND ${CMAKE_STRIP} ${CMAKE_STRIP_FLAGS} $ + ) + endif () +- ++else() + # SHARED LIBRARY + add_library (iwasm_shared SHARED ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_shared PROPERTIES OUTPUT_NAME iwasm) + target_include_directories(iwasm_shared INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +-target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) ++if(NOT MSVC) ++ target_link_libraries (iwasm_shared INTERFACE -lm -ldl -lpthread) ++endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_shared INTERFACE boringssl_crypto) + endif () +@@ -169,7 +171,7 @@ if (MINGW) + endif () + + install (TARGETS iwasm_shared LIBRARY DESTINATION lib) +- ++endif() + # HEADERS + install (FILES + ${WAMR_ROOT_DIR}/core/iwasm/include/wasm_c_api.h +@@ -177,6 +179,7 @@ install (FILES + ${WAMR_ROOT_DIR}/core/iwasm/include/lib_export.h + DESTINATION include) + ++if (NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang" AND BUILD_SHARED_LIBS) + # If it's a Release build, strip the shared library + if (CMAKE_STRIP AND CMAKE_BUILD_TYPE STREQUAL "Release") + # Strip shared library +@@ -185,3 +188,4 @@ if (CMAKE_STRIP AND CMAKE_BUILD_TYPE STREQUAL "Release") + COMMAND ${CMAKE_STRIP} ${CMAKE_STRIP_FLAGS} $ + ) + endif () ++endif () diff --git a/recipes/wasm-micro-runtime/config.yml b/recipes/wasm-micro-runtime/config.yml index af40d9653a378..6d9f399765e2d 100644 --- a/recipes/wasm-micro-runtime/config.yml +++ b/recipes/wasm-micro-runtime/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.3": + folder: all "1.2.2": folder: all From 2301b5f6bfc45d9aa5a236c506f26ed1f3ac7681 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 30 Aug 2023 07:32:49 +0200 Subject: [PATCH 1436/4087] (#19487) sqlpp11: fix import of Version --- recipes/sqlpp11/all/conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/sqlpp11/all/conanfile.py b/recipes/sqlpp11/all/conanfile.py index 9ada1d6896ced..9b3a725b38559 100644 --- a/recipes/sqlpp11/all/conanfile.py +++ b/recipes/sqlpp11/all/conanfile.py @@ -1,9 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.layout import basic_layout from conan.tools.files import get, copy -from conan import Version +from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -20,7 +20,6 @@ class Sqlpp11Conan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property def _min_cppstd(self): return 11 if Version(self.version) < "0.61" else 14 @@ -66,6 +65,4 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "sqlpp11::sqlpp11") # TODO: to remove in conan v2 once cmake_find_package_* generators removed - 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.PATH.append(os.path.join(self.package_folder, "bin")) From 57b28df83c2281b4feef8e91e018d21fb6d477a6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 30 Aug 2023 08:09:05 +0200 Subject: [PATCH 1437/4087] (#19489) lefticus-tools: fix import of Version + add a layout * fix import of Version * add a layout --- recipes/lefticus-tools/all/conanfile.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/lefticus-tools/all/conanfile.py b/recipes/lefticus-tools/all/conanfile.py index b9179faa1d97b..d3dbf33094acc 100644 --- a/recipes/lefticus-tools/all/conanfile.py +++ b/recipes/lefticus-tools/all/conanfile.py @@ -1,9 +1,10 @@ from conan import ConanFile -from conan.tools.files import get, copy +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, check_min_vs -from conan.errors import ConanInvalidConfiguration -from conan import Version +from conan.tools.scm import Version import os @@ -33,6 +34,9 @@ def _compilers_minimum_version(self): "apple-clang": "14", } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() From 1ad58e78a920a8695776fbdf8697f03f1608e8d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 30 Aug 2023 08:30:10 +0200 Subject: [PATCH 1438/4087] (#19462) arrow: add version 13.0.0 * arrow: add version 13.0.0 * arrow: update minimum cmake version and patch cmake to use required version from conan * arrow: suggested fix adding build_requirements for CMake 3.16 * Revert back cmake_minimum_required --- recipes/arrow/all/conandata.yml | 3 +++ recipes/arrow/all/conanfile.py | 3 +++ recipes/arrow/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index 256a5f614578c..5dcac7a820434 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "13.0.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-13.0.0/apache-arrow-13.0.0.tar.gz?action=download" + sha256: "35dfda191262a756be934eef8afee8d09762cad25021daa626eb249e251ac9e6" "12.0.1": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-12.0.1/apache-arrow-12.0.1.tar.gz?action=download" sha256: "3481c411393aa15c75e88d93cf8315faf7f43e180fe0790128d3840d417de858" diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index cf876a25b3191..a7f22fcf6ecee 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -527,6 +527,9 @@ def build(self): cmake.configure(build_script_folder=os.path.join(self.source_folder, "cpp")) cmake.build() + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def package(self): copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy(self, pattern="NOTICE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index b6c86580b3492..7a1c1ea27e611 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "13.0.0": + folder: all "12.0.1": folder: all "12.0.0": From a855d2677574777603fc69d3ab68317e6dcf4678 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 30 Aug 2023 09:31:14 +0200 Subject: [PATCH 1439/4087] (#19445) wil: add version 1.0.230824.2 --- 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 9253a5b752cf3..0c0fd9c9b3f6e 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.230824.2": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230824.2.tar.gz" + sha256: "15c6f90653fe91d2ab3c0c010735aee629c80519b4237611344f2e623f06aad2" "1.0.230629.1": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230629.1.tar.gz" sha256: "c0d9ad1f295e181aa28d7c9b219e7d530e6bc4b7533317be50e7eae760c8d63f" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index 00c073f03a7a2..98a5d552e5d6c 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.230824.2": + folder: "all" "1.0.230629.1": folder: "all" "1.0.230411.1": From 792994b96816fe0a918c58cda3f1e2d603bd1949 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 30 Aug 2023 09:43:24 +0200 Subject: [PATCH 1440/4087] (#19455) nodejs: remove compiler from package id + add package_type * remove compiler from package id * add package_type --- recipes/nodejs/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/nodejs/all/conanfile.py b/recipes/nodejs/all/conanfile.py index d08325293889a..c098d4eea4705 100644 --- a/recipes/nodejs/all/conanfile.py +++ b/recipes/nodejs/all/conanfile.py @@ -16,6 +16,7 @@ class NodejsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://nodejs.org" license = "MIT" + package_type = "application" settings = "os", "arch", "compiler" no_copy_source = True short_paths = True @@ -40,6 +41,9 @@ def _glibc_version(self): self.run(cmd, buff) return str(re.search(r'GLIBC (\d{1,3}.\d{1,3})', buff.getvalue()).group(1)) + def package_id(self): + del self.info.settings.compiler + def validate(self): if not self.version in self.conan_data["sources"] or \ not str(self.settings.os) in self.conan_data["sources"][self.version] or \ From 54e66f87e71bc54dbed7cbd0b667b44ef45fe72a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 16:56:44 +0900 Subject: [PATCH 1441/4087] (#19456) sqlitecpp: add version 3.3.1, add package_type * sqlitecpp: add version 3.3.1, update sqlite3, add package_type * revert sqlite3 --- recipes/sqlitecpp/all/conandata.yml | 3 +++ recipes/sqlitecpp/all/conanfile.py | 10 +++++----- recipes/sqlitecpp/config.yml | 2 ++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/recipes/sqlitecpp/all/conandata.yml b/recipes/sqlitecpp/all/conandata.yml index 9f7fc37611e76..a10675f041108 100644 --- a/recipes/sqlitecpp/all/conandata.yml +++ b/recipes/sqlitecpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.1": + url: "https://github.com/SRombauts/SQLiteCpp/archive/3.3.1.tar.gz" + sha256: "71f990f9fb4b004533b6859ce40729af823b87fe691dd99ca084a7fd40db54b9" "3.3.0": url: "https://github.com/SRombauts/SQLiteCpp/archive/3.3.0.tar.gz" sha256: "4a37dd63cf91235ea2ef4494054700c144b3f96e93a330ef61ed53d106353e9c" diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py index 3cb33ddd1e3dd..836b5676e62e1 100644 --- a/recipes/sqlitecpp/all/conanfile.py +++ b/recipes/sqlitecpp/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.files import copy, get, apply_conandata_patches, replace_in_file, rmdir, save +from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches, replace_in_file, rmdir, save from conan.tools.scm import Version from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout @@ -14,10 +14,11 @@ class SQLiteCppConan(ConanFile): name = "sqlitecpp" description = "SQLiteCpp is a smart and easy to use C++ sqlite3 wrapper" - topics = ("sqlite", "sqlite3", "data-base") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/SRombauts/SQLiteCpp" - license = "MIT" + topics = ("sqlite", "sqlite3", "data-base") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -31,8 +32,7 @@ class SQLiteCppConan(ConanFile): } def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": diff --git a/recipes/sqlitecpp/config.yml b/recipes/sqlitecpp/config.yml index 71f5731f373e2..b3381f7005ac8 100644 --- a/recipes/sqlitecpp/config.yml +++ b/recipes/sqlitecpp/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.1": + folder: all "3.3.0": folder: all "3.2.1": From b4f1ebf63d1ddf693ec857a89b3aafa9a3948abe Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 30 Aug 2023 11:46:28 +0300 Subject: [PATCH 1442/4087] (#18656) kcp: migrate to Conan v2 * kcp: migrate to Conan v2 * kcp: simplify patches * kcp: fix shared builds on Windows * kcp: fix_apple_shared_install_name() --- recipes/kcp/all/CMakeLists.txt | 11 --- recipes/kcp/all/conandata.yml | 7 -- recipes/kcp/all/conanfile.py | 77 ++++++++++--------- .../0001-kcp-remove-add_library-STATIC.patch | 18 ----- recipes/kcp/all/test_package/CMakeLists.txt | 5 +- recipes/kcp/all/test_package/conanfile.py | 20 +++-- .../kcp/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/kcp/all/test_v1_package/conanfile.py | 16 ++++ 8 files changed, 82 insertions(+), 80 deletions(-) delete mode 100644 recipes/kcp/all/CMakeLists.txt delete mode 100644 recipes/kcp/all/patches/0001-kcp-remove-add_library-STATIC.patch create mode 100644 recipes/kcp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/kcp/all/test_v1_package/conanfile.py diff --git a/recipes/kcp/all/CMakeLists.txt b/recipes/kcp/all/CMakeLists.txt deleted file mode 100644 index 0feb437e18418..0000000000000 --- a/recipes/kcp/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/kcp/all/conandata.yml b/recipes/kcp/all/conandata.yml index da8ca059669a3..4ecaaa44cfb1c 100644 --- a/recipes/kcp/all/conandata.yml +++ b/recipes/kcp/all/conandata.yml @@ -5,10 +5,3 @@ sources: "1.7": url: "https://github.com/skywind3000/kcp/archive/1.7.tar.gz" sha256: "b4d26994d95599ab0c44e1f93002f9fda275094a879d66c192d79d596529199e" -patches: - "1.5": - - patch_file: "patches/0001-kcp-remove-add_library-STATIC.patch" - base_path: "source_subfolder" - "1.7": - - patch_file: "patches/0001-kcp-remove-add_library-STATIC.patch" - base_path: "source_subfolder" diff --git a/recipes/kcp/all/conanfile.py b/recipes/kcp/all/conanfile.py index ea23c3a999a55..0146b7ee7c3cc 100644 --- a/recipes/kcp/all/conanfile.py +++ b/recipes/kcp/all/conanfile.py @@ -1,17 +1,23 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, export_conandata_patches, get, rmdir, replace_in_file + +required_conan_version = ">=1.53.0" class KcpConan(ConanFile): name = "kcp" description = "A Fast and Reliable ARQ Protocol" - topics = ("conan", "kcp", "ARQ", "TCP", "protocol") - homepage = "https://github.com/skywind3000/kcp" - url = "https://github.com/conan-io/conan-center-index" license = "MIT" - exports_sources = "CMakeLists.txt", "patches/**" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/skywind3000/kcp" + topics = ("ARQ", "TCP", "protocol") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -20,18 +26,9 @@ class KcpConan(ConanFile): "shared": False, "fPIC": True, } - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -39,36 +36,46 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["BUILD_TESTING"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + # Fix shared builds on Windows + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " STATIC", "") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "ARCHIVE DESTINATION", + "RUNTIME DESTINATION bin\nARCHIVE DESTINATION") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["kcp"] diff --git a/recipes/kcp/all/patches/0001-kcp-remove-add_library-STATIC.patch b/recipes/kcp/all/patches/0001-kcp-remove-add_library-STATIC.patch deleted file mode 100644 index b8c9f32e1e658..0000000000000 --- a/recipes/kcp/all/patches/0001-kcp-remove-add_library-STATIC.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -5,12 +5,14 @@ - include(CTest) - include(GNUInstallDirs) - --add_library(kcp STATIC ikcp.c) -+add_library(kcp ikcp.c) - - install(FILES ikcp.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - - install(TARGETS kcp - EXPORT kcp-targets -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) diff --git a/recipes/kcp/all/test_package/CMakeLists.txt b/recipes/kcp/all/test_package/CMakeLists.txt index d5b08913be93b..b15d2eca4c2a3 100644 --- a/recipes/kcp/all/test_package/CMakeLists.txt +++ b/recipes/kcp/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(kcp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/kcp/all/test_package/conanfile.py b/recipes/kcp/all/test_package/conanfile.py index f8eeed898d7bd..ef5d7042163ec 100644 --- a/recipes/kcp/all/test_package/conanfile.py +++ b/recipes/kcp/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,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/kcp/all/test_v1_package/CMakeLists.txt b/recipes/kcp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/kcp/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/kcp/all/test_v1_package/conanfile.py b/recipes/kcp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f8eeed898d7bd --- /dev/null +++ b/recipes/kcp/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "test_package"), run_environment=True) From 41e8aed293abe8910fc78a80dd27578bf0ac3952 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 30 Aug 2023 11:22:21 +0200 Subject: [PATCH 1443/4087] (#19464) [bot] Update authorized users list (2023-08-28) --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index b68f4b3ff0398..40eb28806b2ca 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1217,3 +1217,8 @@ authorized_users: - jwfallawuiuc - tgurriet - mgfernan +- chrisc66 +- KevDi +- XVilka +- DoomHammer +- cschreib From 26d01f8360943a73f7a1e32e3b94e09454fd65a5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 30 Aug 2023 11:43:58 +0200 Subject: [PATCH 1444/4087] (#17120) aws-crt-cpp: add missing interface definition if shared * add AWS_CRT_CPP_USE_IMPORT_EXPORT interface definition if shared * more elegant way to define target for legacy generators * add missing transitive headers * aws-c-common is a public dependency * fix traits --- recipes/aws-crt-cpp/all/conanfile.py | 70 ++++++++++++++++------------ 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/recipes/aws-crt-cpp/all/conanfile.py b/recipes/aws-crt-cpp/all/conanfile.py index 0b0f3153a2863..97c0f616bb653 100644 --- a/recipes/aws-crt-cpp/all/conanfile.py +++ b/recipes/aws-crt-cpp/all/conanfile.py @@ -1,10 +1,11 @@ from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, save from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os +import textwrap required_conan_version = ">=1.53.0" @@ -46,22 +47,23 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2") + self.requires("aws-c-cal/0.5.13", transitive_headers=True) + self.requires("aws-c-common/0.8.2", transitive_headers=True) self.requires("aws-checksums/0.1.13") if Version(self.version) < "0.17.29": - self.requires("aws-c-io/0.10.20") - self.requires("aws-c-http/0.6.13") - self.requires("aws-c-auth/0.6.11") - self.requires("aws-c-s3/0.1.37") - self.requires("aws-c-mqtt/0.7.10") + self.requires("aws-c-auth/0.6.11", transitive_headers=True) 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-io/0.13.4") - self.requires("aws-c-http/0.6.22") - self.requires("aws-c-auth/0.6.17") - self.requires("aws-c-s3/0.1.49") - self.requires("aws-c-mqtt/0.7.12") + self.requires("aws-c-auth/0.6.17", transitive_headers=True) self.requires("aws-c-event-stream/0.2.15") + self.requires("aws-c-http/0.6.22", transitive_headers=True) + self.requires("aws-c-io/0.13.4", transitive_headers=True) + self.requires("aws-c-mqtt/0.7.12", transitive_headers=True) + self.requires("aws-c-s3/0.1.49") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -91,26 +93,34 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "aws-crt-cpp")) + # TODO: to remove in conan v2 once legacy generators removed + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"AWS::aws-crt-cpp": "aws-crt-cpp::aws-crt-cpp"} + ) + + def _create_cmake_module_alias_targets(self, module_file, targets): + content = "" + for alias, aliased in targets.items(): + content += textwrap.dedent(f"""\ + if(TARGET {aliased} AND NOT TARGET {alias}) + add_library({alias} INTERFACE IMPORTED) + set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) + endif() + """) + 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): self.cpp_info.set_property("cmake_file_name", "aws-crt-cpp") self.cpp_info.set_property("cmake_target_name", "AWS::aws-crt-cpp") - - self.cpp_info.components["aws-crt-cpp-lib"].names["cmake_find_package"] = "aws-crt-cpp" - self.cpp_info.components["aws-crt-cpp-lib"].names["cmake_find_package_multi"] = "aws-crt-cpp" - self.cpp_info.components["aws-crt-cpp-lib"].libs = ["aws-crt-cpp"] - self.cpp_info.components["aws-crt-cpp-lib"].requires = [ - "aws-c-event-stream::aws-c-event-stream-lib", - "aws-c-common::aws-c-common-lib", - "aws-c-io::aws-c-io-lib", - "aws-c-http::aws-c-http-lib", - "aws-c-auth::aws-c-auth-lib", - "aws-c-mqtt::aws-c-mqtt-lib", - "aws-c-s3::aws-c-s3-lib", - "aws-checksums::aws-checksums-lib" - ] + self.cpp_info.libs = ["aws-crt-cpp"] + if self.options.shared: + self.cpp_info.defines.append("AWS_CRT_CPP_USE_IMPORT_EXPORT") # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "aws-crt-cpp" - self.cpp_info.filenames["cmake_find_package_multi"] = "aws-crt-cpp" - self.cpp_info.names["cmake_find_package"] = "AWS" - self.cpp_info.names["cmake_find_package_multi"] = "AWS" + 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] From 11bbd4feea4bd305b8149c9e8f4854b7f1025cd2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 19:12:57 +0900 Subject: [PATCH 1445/4087] (#19432) xlsxio: update dependencies --- recipes/xlsxio/all/conanfile.py | 4 ++-- recipes/xlsxio/all/patches/0234_cmake.patch | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/xlsxio/all/conanfile.py b/recipes/xlsxio/all/conanfile.py index 55de1430b90bd..b5d3c01dc87ce 100644 --- a/recipes/xlsxio/all/conanfile.py +++ b/recipes/xlsxio/all/conanfile.py @@ -58,9 +58,9 @@ def layout(self): def requirements(self): if self.options.with_libzip: - self.requires("libzip/1.9.2") + self.requires("libzip/1.10.1") elif Version(self.version) >= "0.2.34" and self.options.with_minizip_ng : - self.requires("minizip-ng/3.0.8") + self.requires("minizip-ng/4.0.1") else: self.requires("minizip/1.2.13") self.requires("expat/2.5.0") diff --git a/recipes/xlsxio/all/patches/0234_cmake.patch b/recipes/xlsxio/all/patches/0234_cmake.patch index 0000f8397c5c4..ea858da988ead 100644 --- a/recipes/xlsxio/all/patches/0234_cmake.patch +++ b/recipes/xlsxio/all/patches/0234_cmake.patch @@ -29,7 +29,7 @@ index bf4e9bf..f0d6a0e 100644 - FIND_PACKAGE(minizip${MINIZIP_NG_SUFFIX} REQUIRED) - SET(ANYZIP_INCLUDE_DIRS "${minizip-ng_DIR}/../../../include/minizip${MINIZIP_NG_SUFFIX}") - SET(ANYZIP_LIBRARIES minizip${MINIZIP_NG_SUFFIX}) -+ FIND_PACKAGE(minizip 3 REQUIRED) ++ FIND_PACKAGE(minizip REQUIRED) + IF(minizip_INCLUDE_DIRS) + SET(ANYZIP_INCLUDE_DIRS ${minizip_INCLUDE_DIRS}) + SET(ANYZIP_LIBRARIES ${minizip_LIBRARIES}) From 609bb042ec8bceda1cebb72559d18a0153e5138b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 19:53:21 +0900 Subject: [PATCH 1446/4087] (#19434) c-blosc2: add version 2.10.2, update dependencies * c-blosc2: add version 2.10.2, update dependencies * rmdir lib/cmake * rmdir cmake --- recipes/c-blosc2/all/conandata.yml | 7 + recipes/c-blosc2/all/conanfile.py | 4 +- .../all/patches/2.10.2-0001-fix-cmake.patch | 139 ++++++++++++++++++ recipes/c-blosc2/config.yml | 2 + 4 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 09b337eb1d3e7..974c48eeac698 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.2": + url: "https://github.com/Blosc/c-blosc2/archive/v2.10.2.tar.gz" + sha256: "069785bc14c006c7dab40ea0c620bdf3eb8752663fd55c706d145bceabc2a31d" "2.10.0": url: "https://github.com/Blosc/c-blosc2/archive/v2.10.0.tar.gz" sha256: "cb7f7c0c62af78982140ecff21a2f3ca9ce6a0a1c02e314fcdce1a98da0fe231" @@ -24,6 +27,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.2.0.tar.gz" sha256: "66f9977de26d6bc9ea1c0e623d873c3225e4fff709aa09b3335fd09d41d57c0e" patches: + "2.10.2": + - patch_file: "patches/2.10.2-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.10.0": - patch_file: "patches/2.10.0-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 3d06cc9c0ee52..9cfb0264ed537 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -67,7 +67,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.2") + self.requires("zlib-ng/2.1.3") elif self.options.with_zlib == "zlib": self.requires("zlib/1.2.13") if self.options.with_zstd: @@ -132,6 +132,8 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "cmake")) # Remove MS runtime files for dll_pattern_to_remove in ["concrt*.dll", "msvcp*.dll", "vcruntime*.dll"]: diff --git a/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..b530262f17fda --- /dev/null +++ b/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch @@ -0,0 +1,139 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4b4fc6a..79d61da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -152,26 +152,26 @@ if(BUILD_LITE) + endif() + + if(PREFER_EXTERNAL_LZ4) +- find_package(LZ4) ++ find_package(lz4) + else() + message(STATUS "Using LZ4 internal sources.") + endif() + + if(NOT DEACTIVATE_ZLIB) + if(PREFER_EXTERNAL_ZLIB) +- find_package(ZLIB_NG) +- if(ZLIB_NG_FOUND) ++ find_package(zlib_ng) ++ if(zlib_ng_FOUND) + set(HAVE_ZLIB_NG TRUE) + else() + find_package(ZLIB) + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) + message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") + endif() + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(0) + message(STATUS "Using ZLIB-NG internal sources for ZLIB support.") + set(HAVE_ZLIB_NG TRUE) + add_definitions(-DZLIB_COMPAT) +@@ -192,8 +192,8 @@ endif() + + if(NOT DEACTIVATE_ZSTD) + if(PREFER_EXTERNAL_ZSTD) +- find_package(ZSTD) +- if(NOT ZSTD_FOUND) ++ find_package(zstd) ++ if(NOT zstd_FOUND) + message(STATUS "No ZSTD library found. Using internal sources.") + endif() + else() +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index b44b710..681705e 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -79,15 +79,15 @@ set(INTERNAL_LIBS ${PROJECT_SOURCE_DIR}/internal-complibs) + # link dependencies + # "link" dependent targets via target_link_libraries (preferred) and + # manually add includes / libs for others +-if(LZ4_FOUND) ++if(lz4_FOUND) + if(BUILD_SHARED) +- target_include_directories(blosc2_shared PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc2_shared PUBLIC ${lz4_INCLUDE_DIR}) + endif() + if(BUILD_STATIC) +- target_include_directories(blosc2_static PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc2_static PUBLIC ${lz4_INCLUDE_DIR}) + endif() + if(BUILD_TESTS) +- target_include_directories(blosc_testing PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc_testing PUBLIC ${lz4_INCLUDE_DIR}) + endif() + else() + set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4) +@@ -138,18 +138,18 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) ++ if(zstd_FOUND) + if(BUILD_SHARED) +- target_include_directories(blosc2_shared PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc2_shared PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc2_shared PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc2_shared PUBLIC ${zstd_LIBRARY}) + endif() + if(BUILD_STATIC) +- target_include_directories(blosc2_static PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc2_static PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc2_static PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc2_static PUBLIC ${zstd_LIBRARY}) + endif() + if(BUILD_TESTS) +- target_include_directories(blosc_testing PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc_testing PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc_testing PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc_testing PUBLIC ${zstd_LIBRARY}) + endif() + else() + set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.5) +@@ -190,8 +190,8 @@ else() + set(LIBS ${LIBS} ${CMAKE_DL_LIBS}) + endif() + +-if(LZ4_FOUND) +- set(LIBS ${LIBS} ${LZ4_LIBRARY}) ++if(lz4_FOUND) ++ set(LIBS ${LIBS} ${lz4_LIBRARIES}) + else() + file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) + list(APPEND SOURCES ${LZ4_FILES}) +@@ -199,8 +199,8 @@ else() + endif() + + if(NOT DEACTIVATE_ZLIB) +- if(ZLIB_NG_FOUND) +- set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) ++ if(zlib_ng_FOUND) ++ set(LIBS ${LIBS} ${zlib_ng_LIBRARIES}) + elseif(ZLIB_FOUND) + set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) + else() +@@ -212,8 +212,8 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) +- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) ++ if(zstd_FOUND) ++ set(LIBS ${LIBS} ${zstd_LIBRARIES}) + else() + # Enable assembly code only when not using MSVC *and* x86 is there + if((NOT MSVC) AND COMPILER_SUPPORT_SSE2) # if SSE2 is here, this is an x86 platform +@@ -268,7 +268,7 @@ list(APPEND SOURCES + blosc/directories.c + blosc/blosc2-stdio.c + blosc/b2nd.c +- blosc/b2nd_utils.c ++ blosc/b2nd_utils.c + ) + if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL arm64) + if(COMPILER_SUPPORT_SSE2) diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 94edc65e4565a..42ffc68cfe344 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.2": + folder: all "2.10.0": folder: all "2.8.0": From 2b2cfd77dc31982370a89f21528623f38ab0f30e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 20:58:56 +0900 Subject: [PATCH 1447/4087] (#19437) drogon: add version 1.8.6, fix compilation error on 1.8.5 with yaml-cpp --- recipes/drogon/all/conandata.yml | 10 +++ recipes/drogon/all/conanfile.py | 8 ++- .../1.8.5-0002-find-cci-packages.patch | 16 ++--- .../1.8.6-0002-find-cci-packages.patch | 71 +++++++++++++++++++ recipes/drogon/config.yml | 2 + 5 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 recipes/drogon/all/patches/1.8.6-0002-find-cci-packages.patch diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index 5ff1403cfce78..d62ebab92171a 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -18,6 +21,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "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" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index fc1a2251f569c..1cde167ffc5cc 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -57,6 +57,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.8.4": + del self.options.with_yaml_cpp def configure(self): if self.options.shared: @@ -128,8 +130,8 @@ def requirements(self): self.requires("sqlite3/3.42.0") if self.options.get_safe("with_redis"): self.requires("hiredis/1.2.0") - if self.options.with_yaml_cpp: - self.requires("yaml-cpp/0.7.0") + if self.options.get_safe("with_yaml_cpp", False): + self.requires("yaml-cpp/0.8.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -146,7 +148,7 @@ def generate(self): tc.variables["BUILD_DROGON_SHARED"] = self.options.shared tc.variables["BUILD_DOC"] = False tc.variables["BUILD_BROTLI"] = self.options.with_brotli - tc.variables["BUILD_YAML_CONFIG"] = self.options.with_yaml_cpp + tc.variables["BUILD_YAML_CONFIG"] = self.options.get_safe("with_yaml_cpp", False) tc.variables["BUILD_POSTGRESQL"] = self.options.get_safe("with_postgres", False) tc.variables["BUILD_POSTGRESQL_BATCH"] = self.options.get_safe("with_postgres_batch", False) tc.variables["BUILD_MYSQL"] = self.options.get_safe("with_mysql", False) diff --git a/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch index c0d5c051d80a7..8bf9e60842f93 100644 --- a/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch +++ b/recipes/drogon/all/patches/1.8.5-0002-find-cci-packages.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e3e7fcf..b82cb66 100755 +index e3e7fcf..d1032da 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,9 +198,9 @@ else() @@ -15,15 +15,15 @@ index e3e7fcf..b82cb66 100755 # yamlcpp if(BUILD_YAML_CONFIG) -@@ -217,7 +217,7 @@ if(BUILD_YAML_CONFIG) +@@ -212,7 +212,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() - 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) - endif() - else() @@ -442,7 +442,7 @@ if (BUILD_SQLITE) find_package(SQLite3 QUIET) find_package(unofficial-sqlite3 QUIET) diff --git a/recipes/drogon/all/patches/1.8.6-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.8.6-0002-find-cci-packages.patch new file mode 100644 index 0000000000000..3da404b88ccc2 --- /dev/null +++ b/recipes/drogon/all/patches/1.8.6-0002-find-cci-packages.patch @@ -0,0 +1,71 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a3ba35a..26fed2a 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -198,9 +198,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) +@@ -212,7 +212,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() +@@ -444,7 +444,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) +@@ -467,10 +467,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 +@@ -490,10 +490,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 +@@ -502,7 +502,7 @@ if (NOT Hiredis_FOUND) + set(private_headers + ${private_headers} + lib/src/RedisClientManager.h) +-endif (NOT Hiredis_FOUND) ++endif () + + if (BUILD_TESTING) + add_subdirectory(nosql_lib/redis/tests) diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index bf708bafce8a9..62f17e07b2e95 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.6": + folder: "all" "1.8.5": folder: "all" "1.8.4": From 9080ff11d6f8014b4a508fb919d3ef6f9c29dd35 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 21:51:49 +0900 Subject: [PATCH 1448/4087] (#19441) dbg-macro: add version 0.5.0 --- recipes/dbg-macro/all/conandata.yml | 7 +++++-- recipes/dbg-macro/all/conanfile.py | 26 ++++++++++++++++---------- recipes/dbg-macro/config.yml | 2 ++ 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/recipes/dbg-macro/all/conandata.yml b/recipes/dbg-macro/all/conandata.yml index 695393e722d3f..4beffe08cb1f1 100644 --- a/recipes/dbg-macro/all/conandata.yml +++ b/recipes/dbg-macro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.0": + url: "https://github.com/sharkdp/dbg-macro/archive/v0.5.0.tar.gz" + sha256: "dac4907aadf39dbd9eac279a214c59ad30af6c0c3d585688242f73cb1a9ce243" "0.4.0": - sha256: e44a1206fbfd1d3dc8ad649f387df479d288b08c80cf2f1239ccb4e26148d781 - url: https://github.com/sharkdp/dbg-macro/archive/v0.4.0.tar.gz + url: "https://github.com/sharkdp/dbg-macro/archive/v0.4.0.tar.gz" + sha256: "e44a1206fbfd1d3dc8ad649f387df479d288b08c80cf2f1239ccb4e26148d781" diff --git a/recipes/dbg-macro/all/conanfile.py b/recipes/dbg-macro/all/conanfile.py index 5955544e24b0d..c4b00757159da 100644 --- a/recipes/dbg-macro/all/conanfile.py +++ b/recipes/dbg-macro/all/conanfile.py @@ -9,7 +9,6 @@ required_conan_version = ">=1.52.0" - class DbgMacroConan(ConanFile): name = "dbg-macro" description = "A dbg(...) macro for C++" @@ -17,11 +16,20 @@ class DbgMacroConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/sharkdp/dbg-macro" topics = ("debugging", "macro", "pretty-printing", "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", + } + def layout(self): basic_layout(self, src_folder="src") @@ -30,15 +38,13 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe('cppstd'): - check_min_cppstd(self, 17) - - min_versions = { - "gcc": 8 - } + check_min_cppstd(self, self._min_cppstd) - compiler = self.settings.compiler - if str(compiler) in min_versions and Version(compiler.version) < min_versions[str(compiler)]: - raise ConanInvalidConfiguration("dbg-macro requires C++17 which your compiler does not support.") + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/dbg-macro/config.yml b/recipes/dbg-macro/config.yml index da269653d6e6b..49f293dbf1971 100644 --- a/recipes/dbg-macro/config.yml +++ b/recipes/dbg-macro/config.yml @@ -1,3 +1,5 @@ versions: + "0.5.0": + folder: "all" "0.4.0": folder: "all" From 71967a0558009446af91f15deba61d5180c13a1b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 22:10:20 +0900 Subject: [PATCH 1449/4087] (#19449) clickhouse-cpp: enable `with_openssl` options * clickhouse-cpp: enable `enable_benchmark` and `with_openssl` options * remove `enable_benchmark` option * remove patches * remove patch functions --- recipes/clickhouse-cpp/all/conanfile.py | 69 +++++++++---------- .../all/test_package/CMakeLists.txt | 5 +- 2 files changed, 33 insertions(+), 41 deletions(-) diff --git a/recipes/clickhouse-cpp/all/conanfile.py b/recipes/clickhouse-cpp/all/conanfile.py index 442d24123399e..df83d233feb8a 100644 --- a/recipes/clickhouse-cpp/all/conanfile.py +++ b/recipes/clickhouse-cpp/all/conanfile.py @@ -10,39 +10,24 @@ class ClickHouseCppConan(ConanFile): name = "clickhouse-cpp" - homepage = "https://github.com/ClickHouse/clickhouse-cpp" - url = "https://github.com/conan-io/conan-center-index" description = "ClickHouse C++ API" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ClickHouse/clickhouse-cpp" topics = ("database", "db", "clickhouse") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "enable_benchmark": [True, False], - "with_openssl": [True, False] + "with_openssl": [True, False], } default_options = { "shared": False, "fPIC": True, - "enable_benchmark": False, - "with_openssl": False + "with_openssl": False, } - def requirements(self): - - self.requires("lz4/1.9.4") - - self.requires("abseil/20230125.3", transitive_headers=True) - - self.requires("cityhash/cci.20130801") - if self.options.with_openssl: - self.requires("openssl/[>=1.1 <4]") - - def build_requirements(self): - if self.options.enable_benchmark: - self.requires("benchmark/1.8.0") - @property def _min_cppstd(self): return "17" @@ -58,17 +43,9 @@ def _compilers_minimum_version(self): @property def _requires_compiler_rt(self): - return self.settings.compiler == "clang" and (( self.settings.compiler.libcxx in ["libstdc++", "libstdc++11"] and not self.options.shared) or self.settings.compiler.libcxx == "libc++" ) - - 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++17, which your compiler does not support.") - if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("f{self.ref} does not support shared library on Windows.") - # look at https://github.com/ClickHouse/clickhouse-cpp/pull/226 + return self.settings.compiler == "clang" and \ + ((self.settings.compiler.libcxx in ["libstdc++", "libstdc++11"] and not self.options.shared) or \ + self.settings.compiler.libcxx == "libc++") def config_options(self): if self.settings.os == "Windows": @@ -81,15 +58,30 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + self.requires("lz4/1.9.4") + self.requires("abseil/20230125.3", transitive_headers=True) + self.requires("cityhash/cci.20130801") + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + + 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.") + if self.settings.os == "Windows" and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} does not support shared library on Windows.") + # look at https://github.com/ClickHouse/clickhouse-cpp/pull/226 + 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_BENCHMARK"] = self.options.enable_benchmark tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["WITH_OPENSSL"] = self.options.with_openssl + tc.cache_variables["WITH_OPENSSL"] = self.options.with_openssl tc.cache_variables["WITH_SYSTEM_ABSEIL"] = True tc.cache_variables["WITH_SYSTEM_LZ4"] = True tc.cache_variables["WITH_SYSTEM_CITYHASH"] = True @@ -118,10 +110,11 @@ def package_info(self): self.cpp_info.sharedlinkflags = ldflags self.cpp_info.system_libs.append("gcc_s") + if self.settings.os == 'Windows': + self.cpp_info.system_libs = ['ws2_32', 'wsock32'] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "clickhouse-cpp" self.cpp_info.filenames["cmake_find_package_multi"] = "clickhouse-cpp" self.cpp_info.names["cmake_find_package"] = "clickhouse-cpp-lib" self.cpp_info.names["cmake_find_package_multi"] = "clickhouse-cpp-lib" - - if self.settings.os == 'Windows': - self.cpp_info.system_libs = ['ws2_32', 'wsock32'] diff --git a/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt b/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt index b042c5663ae08..ede8071f6e744 100644 --- a/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt +++ b/recipes/clickhouse-cpp/all/test_package/CMakeLists.txt @@ -4,6 +4,5 @@ project(test_package LANGUAGES CXX) find_package(clickhouse-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE clickhouse-cpp-lib::clickhouse-cpp-lib ) - -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE clickhouse-cpp-lib::clickhouse-cpp-lib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) From 2c90241e93734b102aa7aeefd761463620cef99e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Aug 2023 22:53:49 +0900 Subject: [PATCH 1450/4087] (#19481) libheif: add version 1.16.2, update dependencies * libheif: add version 1.16.2, update dependencies * revert CXX STANDARD for 1.16.2 --- recipes/libheif/all/conandata.yml | 5 ++ recipes/libheif/all/conanfile.py | 7 +-- .../all/patches/0001-cmake_1.16.2.patch | 48 +++++++++++++++++++ recipes/libheif/config.yml | 2 + 4 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 recipes/libheif/all/patches/0001-cmake_1.16.2.patch diff --git a/recipes/libheif/all/conandata.yml b/recipes/libheif/all/conandata.yml index c5668b6d3c93a..3ec98d8c37e22 100644 --- a/recipes/libheif/all/conandata.yml +++ b/recipes/libheif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.16.2": + url: "https://github.com/strukturag/libheif/releases/download/v1.16.2/libheif-1.16.2.tar.gz" + sha256: "7f97e4205c0bd9f9b8560536c8bd2e841d1c9a6d610401eb3eb87ed9cdfe78ea" "1.13.0": url: "https://github.com/strukturag/libheif/releases/download/v1.13.0/libheif-1.13.0.tar.gz" sha256: "c20ae01bace39e89298f6352f1ff4a54b415b33b9743902da798e8a1e51d7ca1" @@ -12,6 +15,8 @@ sources: url: "https://github.com/strukturag/libheif/releases/download/v1.9.1/libheif-1.9.1.tar.gz" sha256: "5f65ca2bd2510eed4e13bdca123131c64067e9dd809213d7aef4dc5e37948bca" patches: + "1.16.2": + - patch_file: "patches/0001-cmake_1.16.2.patch" "1.13.0": - patch_file: "patches/0001-cmake_1.13.0.patch" "1.12.0": diff --git a/recipes/libheif/all/conanfile.py b/recipes/libheif/all/conanfile.py index 55d521d49ca38..912d662dba19e 100644 --- a/recipes/libheif/all/conanfile.py +++ b/recipes/libheif/all/conanfile.py @@ -50,13 +50,13 @@ def layout(self): def requirements(self): if self.options.with_libde265: - self.requires("libde265/1.0.9") + self.requires("libde265/1.0.12") if self.options.with_x265: self.requires("libx265/3.4") if self.options.with_libaomav1: - self.requires("libaom-av1/3.5.0") + self.requires("libaom-av1/3.6.1") if self.options.with_dav1d: - self.requires("dav1d/1.0.0") + self.requires("dav1d/1.2.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -73,6 +73,7 @@ def generate(self): 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.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/libheif/all/patches/0001-cmake_1.16.2.patch b/recipes/libheif/all/patches/0001-cmake_1.16.2.patch new file mode 100644 index 0000000000000..2743295160550 --- /dev/null +++ b/recipes/libheif/all/patches/0001-cmake_1.16.2.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index de15948..589eab5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,7 +41,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) +@@ -54,7 +54,7 @@ if (has_potentially_evaluated_expression) + add_definitions(-Wno-error=potentially-evaluated-expression) + endif() + +-LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules") ++# LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules") + + option(ENABLE_PLUGIN_LOADING "Support loading of plugins" ON) + set(PLUGIN_DIRECTORY "${CMAKE_INSTALL_FULL_LIBDIR}/libheif" CACHE STRING "Plugin install directory") +@@ -88,11 +88,11 @@ macro(plugin_option variableName packageName displayName displayType defaultPlug + unset(msg) + endmacro() + +-plugin_option(LIBDE265 LIBDE265 "libde265" "HEIC decoder" OFF) +-plugin_option(X265 X265 "x265" "HEIC encoder" OFF) +-plugin_option(DAV1D DAV1D "Dav1d" "AVIF decoder" OFF) +-plugin_option(AOM_ENCODER AOM "aom" "AVIF encoder" OFF) +-plugin_option(AOM_DECODER AOM "aom" "AVIF decoder" OFF) ++plugin_option(LIBDE265 libde265 "libde265" "HEIC decoder" OFF) ++plugin_option(X265 libx265 "x265" "HEIC encoder" OFF) ++plugin_option(DAV1D dav1d "Dav1d" "AVIF decoder" OFF) ++plugin_option(AOM_ENCODER libaom-av1 "aom" "AVIF encoder" OFF) ++plugin_option(AOM_DECODER libaom-av1 "aom" "AVIF decoder" OFF) + plugin_option(SvtEnc SvtEnc "Svt-av1" "AVIF encoder" ON) + plugin_option(RAV1E RAV1E "Rav1e" "AVIF encoder" ON) + +@@ -219,7 +219,7 @@ if (WITH_GDK_PIXBUF) + add_subdirectory (gdk-pixbuf) + endif() + +-add_subdirectory (gnome) ++#add_subdirectory (gnome) + + + # --- packaging (source code) diff --git a/recipes/libheif/config.yml b/recipes/libheif/config.yml index 1b1bac20e2e23..887a8fb56ade3 100644 --- a/recipes/libheif/config.yml +++ b/recipes/libheif/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.2": + folder: all "1.13.0": folder: all "1.12.0": From afc52e7200b8f6ac9830c740f70294f15230f7ad Mon Sep 17 00:00:00 2001 From: trns1997 <17682846+trns1997@users.noreply.github.com> Date: Wed, 30 Aug 2023 16:52:38 +0200 Subject: [PATCH 1451/4087] (#19482) kickcat: add version v2-alpha4 --- recipes/kickcat/all/conandata.yml | 3 +++ recipes/kickcat/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kickcat/all/conandata.yml b/recipes/kickcat/all/conandata.yml index 19c0f19034aff..f0a390ebfac91 100644 --- a/recipes/kickcat/all/conandata.yml +++ b/recipes/kickcat/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "v2-alpha4": + url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha4.zip" + sha256: "483a374f77808cb35823652eb37c5ab864a3f12a1c3a957d3315c319ca0ec528" "v2-alpha3": url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha3.zip" sha256: "dadd8518c3232162b7455fdcd837578120ece5a42c3bc2701147a68cbee60da4" diff --git a/recipes/kickcat/config.yml b/recipes/kickcat/config.yml index 7990d533925c9..e031f21fd364a 100644 --- a/recipes/kickcat/config.yml +++ b/recipes/kickcat/config.yml @@ -1,3 +1,5 @@ versions: + "v2-alpha4": + folder: all "v2-alpha3": folder: all From fc909b33f7976b7e3eead23c8a1f473452c48f63 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 30 Aug 2023 17:32:13 +0200 Subject: [PATCH 1452/4087] (#19486) fruit: fix import of Version + add package_type + bump boost + remove deprecated option use_boost * fix import of Version * add package_type * bump boost * remove deprecated option use_boost * sort versions --- recipes/fruit/all/conanfile.py | 27 ++++++++++++--------------- recipes/fruit/config.yml | 8 ++++---- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/recipes/fruit/all/conanfile.py b/recipes/fruit/all/conanfile.py index 39e570bb06b3a..9ad222d0dcc88 100644 --- a/recipes/fruit/all/conanfile.py +++ b/recipes/fruit/all/conanfile.py @@ -3,11 +3,12 @@ import tarfile from fnmatch import fnmatch -from conan import ConanFile, Version +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, download, export_conandata_patches, get +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -19,16 +20,18 @@ class FruitConan(ConanFile): homepage = "https://github.com/google/fruit" license = "Apache-2.0" topics = ("injection", "framework") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], - "use_boost": [True, False, "deprecated"], - "with_boost": [True, False], - "fPIC": [True, False]} + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_boost": [True, False], + } default_options = { "shared": False, - "use_boost": "deprecated", + "fPIC": True, "with_boost": True, - "fPIC": True} + } def export_sources(self): export_conandata_patches(self) @@ -37,22 +40,16 @@ def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") - def package_id(self): - del self.info.options.use_boost - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - if self.options.use_boost != "deprecated": - self.output.warn("use_boost option is deprecated, use the option with_boost instead.") - self.options.with_boost = self.options.use_boost def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_boost: - self.requires("boost/1.80.0") + self.requires("boost/1.83.0") def validate(self): if self.settings.compiler.cppstd: diff --git a/recipes/fruit/config.yml b/recipes/fruit/config.yml index 684a4c74b2542..63afa5b5e5a82 100644 --- a/recipes/fruit/config.yml +++ b/recipes/fruit/config.yml @@ -1,11 +1,11 @@ versions: - "3.4.0": + "3.7.1": folder: all - "3.5.0": + "3.7.0": folder: all "3.6.0": folder: all - "3.7.0": + "3.5.0": folder: all - "3.7.1": + "3.4.0": folder: all From b4168bed9731b447500fe699bdea89c09bc94ee6 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 30 Aug 2023 19:11:47 +0300 Subject: [PATCH 1453/4087] (#19492) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index f39e87f6d648d..08359be96706f 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.15": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.15.tar.gz" + sha256: "53c4a65bb178afde91ae2360072f65a44ae7572a25912a3fe96aeaa6ac86ef27" "2.0.14": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.14.tar.gz" sha256: "b230f1a99a2a5f4f1f32748d52062276294b34d8254d4128193632e3a8ffaa4e" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 8252adb029767..f9a27817ba435 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.15": + folder: all "2.0.14": folder: all "2.0.13": From da682703bcf8c3c0e8d9f2fe0b4989fc64c8a973 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Thu, 31 Aug 2023 01:12:33 +0300 Subject: [PATCH 1454/4087] (#19507) libcap/2.69: 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 5d119b718f418..16d2439fd2b12 100644 --- a/recipes/libcap/all/conandata.yml +++ b/recipes/libcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.69": + url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.69.tar.xz" + sha256: "f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb" "2.68": url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.68.tar.xz" sha256: "90be3b6d41be5f81ae4b03ec76012b0d27c829293684f6c05b65d5f9cce724b2" @@ -30,6 +33,13 @@ sources: url: "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.45.tar.xz" sha256: "d66639f765c0e10557666b00f519caf0bd07a95f867dddaee131cd284fac3286" patches: + "2.69": + - 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.68": - 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 24a13cbb3bd22..9ca623681ce66 100644 --- a/recipes/libcap/config.yml +++ b/recipes/libcap/config.yml @@ -1,4 +1,6 @@ versions: + "2.69": + folder: all "2.68": folder: all "2.66": From 907b07884a22f3e41d17755c4332f450f0f3c168 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Thu, 31 Aug 2023 09:59:15 +0200 Subject: [PATCH 1455/4087] (#19503) ccache: add version 4.8.3 --- recipes/ccache/all/conandata.yml | 7 +++++++ recipes/ccache/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index 1eab23f47e9eb..ca431f6e0685b 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -12,6 +15,10 @@ sources: url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz" sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36" patches: + "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" diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index a08cbff67b811..98dd3df9a94de 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,4 +1,6 @@ versions: + "4.8.3": + folder: all "4.8.2": folder: all "4.8.1": From 71d7e4baa5ce4af619876ad45011a80d0d76631c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 31 Aug 2023 18:33:02 +0900 Subject: [PATCH 1456/4087] (#19405) glaze: add version 1.4.0, remove older versions with patch file --- recipes/glaze/all/conandata.yml | 14 ++-------- recipes/glaze/all/conanfile.py | 22 ++------------- .../patches/0.2.0-0001-use-cci-frozen.patch | 28 ------------------- recipes/glaze/all/test_package/CMakeLists.txt | 3 -- recipes/glaze/config.yml | 6 ++-- 5 files changed, 8 insertions(+), 65 deletions(-) delete mode 100644 recipes/glaze/all/patches/0.2.0-0001-use-cci-frozen.patch diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index b43003828dbc6..31bad0f747ccc 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/stephenberry/glaze/archive/v1.4.0.tar.gz" + sha256: "301c831e2476529bfa1ea24d87011186da91644830bdf57e1ed99bc7f6326989" "1.3.6": url: "https://github.com/stephenberry/glaze/archive/v1.3.6.tar.gz" sha256: "c339f036a96fef72f9b8542d6a1e2ecb4bd3fa5d3d09a206da5e844765d2b6c3" @@ -23,14 +26,3 @@ sources: "1.1.2": url: "https://github.com/stephenberry/glaze/archive/v1.1.2.tar.gz" sha256: "ee22d55b7f40d63f510a41f22765cb24e9e70d312978bad4eb9c94c7ba2fe58c" - "0.3.6": - url: "https://github.com/stephenberry/glaze/archive/v0.3.6.tar.gz" - sha256: "bc87d4fd458f0634a146d6f4c902a952b66c3f718c3e20f680b99066224b51a1" - "0.2.2": - url: "https://github.com/stephenberry/glaze/archive/v0.2.2.tar.gz" - sha256: "d0d2edcc546b0ebb4bedaeedfb4a54aa678a6fdffa6b20dd6b252ef6325a9e75" -patches: - "0.2.2": - - patch_file: "patches/0.2.0-0001-use-cci-frozen.patch" - patch_description: "use cci's frozen" - patch_type: "conan" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 41a166e34e3ca..7d6155afba73c 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.layout import basic_layout @@ -17,6 +17,7 @@ class GlazeConan(ConanFile): topics = ("json", "memory", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): @@ -28,26 +29,13 @@ def _compilers_minimum_version(self): "Visual Studio": "17" if Version(self.version) >= "1.3.3" else "16", "msvc": "193" if Version(self.version) >= "1.3.3" else "192", "gcc": "12", - "clang": "12" if Version(self.version) > "1.0.0" else "13", + "clang": "12", "apple-clang": "13.1", } - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") - def requirements(self): - if Version(self.version) < "0.2.4": - self.requires("fmt/10.0.0") - self.requires("frozen/1.1.1") - self.requires("nanorange/cci.20200706") - if Version(self.version) < "0.2.3": - self.requires("fast_float/5.2.0") - if "0.1.5" <= Version(self.version) < "0.2.3": - self.requires("dragonbox/1.1.3") - def package_id(self): self.info.clear() @@ -64,15 +52,11 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - apply_conandata_patches(self) - def package(self): copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( self, pattern="*.hpp", - excludes="glaze/frozen/*.hpp" if Version(self.version) < "0.2.4" else "", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include"), ) diff --git a/recipes/glaze/all/patches/0.2.0-0001-use-cci-frozen.patch b/recipes/glaze/all/patches/0.2.0-0001-use-cci-frozen.patch deleted file mode 100644 index 01b0c786fa02b..0000000000000 --- a/recipes/glaze/all/patches/0.2.0-0001-use-cci-frozen.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/include/glaze/core/common.hpp b/include/glaze/core/common.hpp -index aed6ce6..6cf4ace 100644 ---- a/include/glaze/core/common.hpp -+++ b/include/glaze/core/common.hpp -@@ -12,8 +12,8 @@ - #include - #include - --#include "glaze/frozen/string.hpp" --#include "glaze/frozen/unordered_map.hpp" -+#include "frozen/string.h" -+#include "frozen/unordered_map.h" - - #include "glaze/core/context.hpp" - #include "glaze/core/meta.hpp" -diff --git a/include/glaze/util/hash_map.hpp b/include/glaze/util/hash_map.hpp -index eaaec57..ae75ee2 100644 ---- a/include/glaze/util/hash_map.hpp -+++ b/include/glaze/util/hash_map.hpp -@@ -4,7 +4,7 @@ - #include - #include - --#include "glaze/frozen/random.hpp" -+#include "frozen/random.h" - #include "glaze/util/string_cmp.hpp" - - namespace glz diff --git a/recipes/glaze/all/test_package/CMakeLists.txt b/recipes/glaze/all/test_package/CMakeLists.txt index 11ef3b807bd40..4811c5114c3c2 100644 --- a/recipes/glaze/all/test_package/CMakeLists.txt +++ b/recipes/glaze/all/test_package/CMakeLists.txt @@ -6,6 +6,3 @@ 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_LESS "1.0.0") - target_compile_definitions(${PROJECT_NAME} PRIVATE GLAZE_USE_EXCEPTION) -endif() diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a37f70afd642a..c479b0a04fbd0 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.6": folder: all "1.3.5": @@ -15,7 +17,3 @@ versions: folder: all "1.1.2": folder: all - "0.3.6": - folder: all - "0.2.2": - folder: all From 3b17e69bb4e5601a850b6e006e44775e690bac33 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 31 Aug 2023 13:13:23 +0200 Subject: [PATCH 1457/4087] (#19428) onnx/all: bump protobuf & remove old versions * onnx/all: bump protobuf * onnx: remove older versions * recipe simplification following old versions removal * fix build requirement * use for tool_requires("protobuf/") --- recipes/onnx/all/conandata.yml | 22 ---------------- recipes/onnx/all/conanfile.py | 19 ++++---------- ...-fix-concurrent-proto3-remove-1.11.0.patch | 11 -------- ...1-fix-concurrent-proto3-remove-1.8.1.patch | 11 -------- ...1-fix-concurrent-proto3-remove-1.9.0.patch | 11 -------- ...002-msvc-no-warnings-as-errors-1.8.1.patch | 26 ------------------- ...002-msvc-no-warnings-as-errors-1.9.0.patch | 26 ------------------- recipes/onnx/config.yml | 8 ------ 8 files changed, 5 insertions(+), 129 deletions(-) delete mode 100644 recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.11.0.patch delete mode 100644 recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.8.1.patch delete mode 100644 recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.9.0.patch delete mode 100644 recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.8.1.patch delete mode 100644 recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.9.0.patch diff --git a/recipes/onnx/all/conandata.yml b/recipes/onnx/all/conandata.yml index 5f05c1310659a..c1a55ff6669fd 100644 --- a/recipes/onnx/all/conandata.yml +++ b/recipes/onnx/all/conandata.yml @@ -11,28 +11,6 @@ sources: "1.12.0": url: "https://github.com/onnx/onnx/archive/refs/tags/v1.12.0.tar.gz" sha256: "052ad3d5dad358a33606e0fc89483f8150bb0655c99b12a43aa58b5b7f0cc507" - "1.11.0": - url: "https://github.com/onnx/onnx/archive/refs/tags/v1.11.0.tar.gz" - sha256: "a20f2d9df805b16ac75ab4da0a230d3d1c304127d719e5c66a4e6df514e7f6c0" - "1.10.2": - url: "https://github.com/onnx/onnx/archive/refs/tags/v1.10.2.tar.gz" - sha256: "520b3aa34272cc215e2eb41385f58adf01750d88858d4722563edca8410c5dc9" - "1.9.0": - url: "https://github.com/onnx/onnx/archive/v1.9.0.tar.gz" - sha256: "61d459a5f30604cabec352574119a6685dfd43bfa757cfbff52be9471d5b8ea0" - "1.8.1": - url: "https://github.com/onnx/onnx/archive/v1.8.1.tar.gz" - sha256: "0054c7eeed97e8ee43921c3f944b0450782a081d910a14b3b6e662bc87065192" patches: "1.12.0": - patch_file: "patches/0001-fix-concurrent-proto3-remove-1.12.0.patch" - "1.11.0": - - patch_file: "patches/0001-fix-concurrent-proto3-remove-1.11.0.patch" - "1.10.2": - - patch_file: "patches/0001-fix-concurrent-proto3-remove-1.9.0.patch" - "1.9.0": - - patch_file: "patches/0001-fix-concurrent-proto3-remove-1.9.0.patch" - - patch_file: "patches/0002-msvc-no-warnings-as-errors-1.9.0.patch" - "1.8.1": - - patch_file: "patches/0001-fix-concurrent-proto3-remove-1.8.1.patch" - - patch_file: "patches/0002-msvc-no-warnings-as-errors-1.8.1.patch" diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index ddc3a6ff03194..7d2738dc5a86a 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -10,7 +10,7 @@ import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" class OnnxConan(ConanFile): @@ -40,19 +40,12 @@ def _min_cppstd(self): return 17 return 11 - @property - def _protobuf_version(self): - # onnx < 1.9.0 doesn't support protobuf >= 3.18 - return "3.21.9" if Version(self.version) >= "1.9.0" else "3.17.1" - 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.0": - del self.options.disable_static_registration def configure(self): if self.options.shared: @@ -62,7 +55,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires(f"protobuf/{self._protobuf_version}", run=not cross_building(self), transitive_headers=True, transitive_libs=True) + self.requires("protobuf/3.21.12", run=not cross_building(self), transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -72,7 +65,7 @@ def validate(self): def build_requirements(self): if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires(f"protobuf/{self._protobuf_version}") + self.tool_requires("protobuf/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -99,8 +92,7 @@ def generate(self): tc.variables["ONNX_VERIFY_PROTO3"] = Version(self.dependencies.host["protobuf"].ref.version).major == "3" if is_msvc(self): tc.variables["ONNX_USE_MSVC_STATIC_RUNTIME"] = is_msvc_static_runtime(self) - if Version(self.version) >= "1.9.0": - tc.variables["ONNX_DISABLE_STATIC_REGISTRATION"] = self.options.get_safe('disable_static_registration') + tc.variables["ONNX_DISABLE_STATIC_REGISTRATION"] = self.options.get_safe('disable_static_registration') tc.generate() deps = CMakeDeps(self) deps.generate() @@ -177,8 +169,7 @@ def _onnx_components(self): } } ) - if Version(self.version) >= "1.11.0": - components["libonnx"]["defines"].append("__STDC_FORMAT_MACROS") + components["libonnx"]["defines"].append("__STDC_FORMAT_MACROS") return components def package_info(self): diff --git a/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.11.0.patch b/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.11.0.patch deleted file mode 100644 index 5ecbd144c4919..0000000000000 --- a/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.11.0.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/onnx/gen_proto.py -+++ b/onnx/gen_proto.py -@@ -165,7 +165,7 @@ def convert(stem, package_name, output, do_onnx_ml=False, lite=False, protoc_pat - porto3_dir = os.path.dirname(proto3) - base_dir = os.path.dirname(porto3_dir) - gen_proto3_code(protoc_path, proto3, base_dir, base_dir, base_dir) -- pb3_files = glob.glob(os.path.join(porto3_dir, '*.proto3.*')) -+ pb3_files = glob.glob(os.path.join(porto3_dir, '{}.proto3.*'.format(proto_base))) - for pb3_file in pb3_files: - print("Removing {}".format(pb3_file)) - os.remove(pb3_file) diff --git a/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.8.1.patch b/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.8.1.patch deleted file mode 100644 index 2d1317c302c93..0000000000000 --- a/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.8.1.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/onnx/gen_proto.py -+++ b/onnx/gen_proto.py -@@ -166,7 +166,7 @@ def convert(stem, package_name, output, do_onnx_ml=False, lite=False, protoc_pat - porto3_dir = os.path.dirname(proto3) - base_dir = os.path.dirname(porto3_dir) - gen_proto3_code(protoc_path, proto3, base_dir, base_dir, base_dir) -- pb3_files = glob.glob(os.path.join(porto3_dir, '*.proto3.*')) -+ pb3_files = glob.glob(os.path.join(porto3_dir, '{}.proto3.*'.format(proto_base))) - for pb3_file in pb3_files: - print("Removing {}".format(pb3_file)) - os.remove(pb3_file) diff --git a/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.9.0.patch b/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.9.0.patch deleted file mode 100644 index 181c708c8d374..0000000000000 --- a/recipes/onnx/all/patches/0001-fix-concurrent-proto3-remove-1.9.0.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/onnx/gen_proto.py -+++ b/onnx/gen_proto.py -@@ -169,7 +169,7 @@ def convert(stem, package_name, output, do_onnx_ml=False, lite=False, protoc_pat - porto3_dir = os.path.dirname(proto3) - base_dir = os.path.dirname(porto3_dir) - gen_proto3_code(protoc_path, proto3, base_dir, base_dir, base_dir) -- pb3_files = glob.glob(os.path.join(porto3_dir, '*.proto3.*')) -+ pb3_files = glob.glob(os.path.join(porto3_dir, '{}.proto3.*'.format(proto_base))) - for pb3_file in pb3_files: - print("Removing {}".format(pb3_file)) - os.remove(pb3_file) diff --git a/recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.8.1.patch b/recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.8.1.patch deleted file mode 100644 index b701fb66947d1..0000000000000 --- a/recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.8.1.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -454,7 +454,6 @@ if(BUILD_ONNX_PYTHON) - target_link_libraries(onnx_cpp2py_export PRIVATE ${PYTHON_LIBRARIES}) - target_compile_options(onnx_cpp2py_export - PRIVATE /MP -- /WX - /wd4800 # disable warning type' : forcing - # value to bool 'true' or 'false' - # (performance warning) -@@ -514,7 +513,6 @@ endif() - if(MSVC) - target_compile_options(onnx_proto - PRIVATE /MP -- /WX - /wd4800 # disable warning type' : forcing value - # to bool 'true' or 'false' - # (performance warning) -@@ -532,7 +530,6 @@ if(MSVC) - ${EXTRA_FLAGS}) - target_compile_options(onnx - PRIVATE /MP -- /WX - /wd4800 # disable warning type' : forcing value - # to bool 'true' or 'false' - # (performance warning) diff --git a/recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.9.0.patch b/recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.9.0.patch deleted file mode 100644 index 1ff241f73aca7..0000000000000 --- a/recipes/onnx/all/patches/0002-msvc-no-warnings-as-errors-1.9.0.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -485,7 +485,6 @@ if(BUILD_ONNX_PYTHON) - target_link_libraries(onnx_cpp2py_export PRIVATE ${PYTHON_LIBRARIES}) - target_compile_options(onnx_cpp2py_export - PRIVATE /MP -- /WX - /wd4800 # disable warning type' : forcing - # value to bool 'true' or 'false' - # (performance warning) -@@ -545,7 +544,6 @@ endif() - if(MSVC) - target_compile_options(onnx_proto - PRIVATE /MP -- /WX - /wd4800 # disable warning type' : forcing value - # to bool 'true' or 'false' - # (performance warning) -@@ -563,7 +561,6 @@ if(MSVC) - ${EXTRA_FLAGS}) - target_compile_options(onnx - PRIVATE /MP -- /WX - /wd4800 # disable warning type' : forcing value - # to bool 'true' or 'false' - # (performance warning) diff --git a/recipes/onnx/config.yml b/recipes/onnx/config.yml index cfdc9b9959f82..ae05002493f07 100644 --- a/recipes/onnx/config.yml +++ b/recipes/onnx/config.yml @@ -7,11 +7,3 @@ versions: folder: all "1.12.0": folder: all - "1.11.0": - folder: all - "1.10.2": - folder: all - "1.9.0": - folder: all - "1.8.1": - folder: all From 3ee01afa020ef3db07ad93b4eea41fbb6410d2cb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 31 Aug 2023 15:18:59 +0200 Subject: [PATCH 1458/4087] (#19513) nss 3.93 --- recipes/nss/all/conandata.yml | 3 +++ recipes/nss/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nss/all/conandata.yml b/recipes/nss/all/conandata.yml index a7c913155a824..f10905ebbaa04 100644 --- a/recipes/nss/all/conandata.yml +++ b/recipes/nss/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.93": + url: "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_93_RTM/src/nss-3.93.tar.gz" + sha256: "15f54bb72048eb105f8c0e936a04b899e74c3db9a19bbc1e00acee2af9476a8a" "3.92": url: "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_92_RTM/src/nss-3.92.tar.gz" sha256: "3db192d6e882039af02ae7eaf3217ed114bb7ad83414c646772ab8021e24a254" diff --git a/recipes/nss/config.yml b/recipes/nss/config.yml index 467e717cc1ff4..82fff1e6a41ec 100644 --- a/recipes/nss/config.yml +++ b/recipes/nss/config.yml @@ -1,4 +1,6 @@ versions: + "3.93": + folder: all "3.92": folder: all "3.91": From 63cc96210e0f21c714e8189fca29378f9e09e17c Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 31 Aug 2023 20:52:31 +0400 Subject: [PATCH 1459/4087] (#19525) onetbb: added 2021.10.0 version --- recipes/onetbb/all/conandata.yml | 3 +++ recipes/onetbb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/onetbb/all/conandata.yml b/recipes/onetbb/all/conandata.yml index 880145b4a46b0..4839476518f75 100644 --- a/recipes/onetbb/all/conandata.yml +++ b/recipes/onetbb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2021.10.0": + url: "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.10.0.tar.gz" + sha256: "487023a955e5a3cc6d3a0d5f89179f9b6c0ae7222613a7185b0227ba0c83700b" "2021.9.0": url: "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.9.0.tar.gz" sha256: "1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e" diff --git a/recipes/onetbb/config.yml b/recipes/onetbb/config.yml index 7a33bda288759..39b3726474302 100644 --- a/recipes/onetbb/config.yml +++ b/recipes/onetbb/config.yml @@ -1,4 +1,6 @@ versions: + "2021.10.0": + folder: all "2021.9.0": folder: all "2021.8.0": From 344b9e54f9460f7c9a00c59ddd6c532c41aed351 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 31 Aug 2023 20:10:27 +0200 Subject: [PATCH 1460/4087] (#19037) [libnice] Fix cmake_layout import error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix import error Signed-off-by: Uilian Ries * use version range for openssl Signed-off-by: Uilian Ries * Revert "use version range for openssl" This reverts commit f9d9f380e59762da7907c7be5925e94b3aedd078. * nice/agent.h exposes glib-object.h Signed-off-by: Uilian Ries * add transitive libs Signed-off-by: Uilian Ries * add fix_apple_shared_install_name Signed-off-by: Uilian Ries * Update recipes/libnice/all/conanfile.py * Update recipes/libnice/all/conanfile.py * Update recipes/libnice/all/conanfile.py * libnice requires Conan 1.60.0 or higher * Update recipes/libnice/all/conanfile.py * Update recipes/libnice/all/conanfile.py --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- recipes/libnice/all/conanfile.py | 15 +++++++++------ recipes/libnice/all/test_package/conanfile.py | 3 +-- recipes/libnice/all/test_v1_package/conanfile.py | 6 ++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/recipes/libnice/all/conanfile.py b/recipes/libnice/all/conanfile.py index 5fd9fcdbbc036..22dc5eaaf2efa 100644 --- a/recipes/libnice/all/conanfile.py +++ b/recipes/libnice/all/conanfile.py @@ -5,8 +5,10 @@ from conan.tools.layout import basic_layout from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.apple import fix_apple_shared_install_name from conan.errors import ConanInvalidConfiguration +required_conan_version = ">=1.60.0 <2 || >=2.0.6" class LibniceConan(ConanFile): name = "libnice" @@ -59,16 +61,16 @@ def validate(self): "-o glib/*:shared=True with static runtime is not supported") def requirements(self): - self.requires("glib/2.75.2") + self.requires("glib/2.77.2", transitive_headers=True, transitive_libs=True) if self.options.crypto_library == "openssl": - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.with_gstreamer: - self.requires("gstreamer/1.19.2") + self.requires("gstreamer/1.22.3") def build_requirements(self): - self.tool_requires("meson/1.0.0") - self.tool_requires("pkgconf/1.9.3") - self.tool_requires("glib/2.75.2") # for glib-mkenums + self.tool_requires("meson/1.2.1") + self.tool_requires("pkgconf/1.9.5") + self.tool_requires("glib/") # for glib-mkenums if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") @@ -107,6 +109,7 @@ def package(self): if not self.options.shared: with chdir(self, os.path.join(self.package_folder, "lib")): rename(self, "libnice.a", "nice.lib") + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["nice"] diff --git a/recipes/libnice/all/test_package/conanfile.py b/recipes/libnice/all/test_package/conanfile.py index 22dd4e9d14ebe..a91756abf0bec 100644 --- a/recipes/libnice/all/test_package/conanfile.py +++ b/recipes/libnice/all/test_package/conanfile.py @@ -1,7 +1,6 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake -from conan.tools.layout import cmake_layout +from conan.tools.cmake import CMake, cmake_layout from conan.tools.build import can_run diff --git a/recipes/libnice/all/test_v1_package/conanfile.py b/recipes/libnice/all/test_v1_package/conanfile.py index 8c9580d2d52b2..ecf464197e0a5 100644 --- a/recipes/libnice/all/test_v1_package/conanfile.py +++ b/recipes/libnice/all/test_v1_package/conanfile.py @@ -1,7 +1,5 @@ import os -from conan import ConanFile -from conans import CMake -from conan.tools.build import can_run +from conans import ConanFile, CMake, tools class LibniceTestConan(ConanFile): @@ -14,6 +12,6 @@ def build(self): cmake.build() def test(self): - if can_run(self): + if not tools.cross_building(self): bin_path = os.path.join("bin", "example") self.run(bin_path, run_environment=True) From 0bfa426a615560baae2438f83b79811644e9f0db Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Fri, 1 Sep 2023 01:50:57 +0300 Subject: [PATCH 1461/4087] (#19537) sdbus-cpp/1.3.0: Bump version --- recipes/sdbus-cpp/all/conandata.yml | 3 +++ recipes/sdbus-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index 4c4e5beb4bad0..97d55c77fac39 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.3.0.tar.gz" + sha256: "d44f59abdd64d8f1ca3af7db58bc6518cb081fc9ff16285c3d75a68f5c073d10" "1.2.0": url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.2.0.tar.gz" sha256: "7f7231904abb6a996b8c18ddc5fb50078ef5dff5191649abf9f127aff41d24e9" diff --git a/recipes/sdbus-cpp/config.yml b/recipes/sdbus-cpp/config.yml index 027c0dc56075d..a48eafa88431d 100644 --- a/recipes/sdbus-cpp/config.yml +++ b/recipes/sdbus-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.0": folder: all "1.1.0": From c90396a0fc843d4da82f73fe85307b572ed62107 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 1 Sep 2023 09:35:17 +0300 Subject: [PATCH 1462/4087] (#19542) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 08359be96706f..7275b589730d9 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.16": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.16.tar.gz" + sha256: "9da7cd02883c2f4d4a2371cda4c195ebc02f57bb673ef948b88a256f3db55724" "2.0.15": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.15.tar.gz" sha256: "53c4a65bb178afde91ae2360072f65a44ae7572a25912a3fe96aeaa6ac86ef27" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index f9a27817ba435..e6e6297a34720 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.16": + folder: all "2.0.15": folder: all "2.0.14": From 8eea987f350f638ae0ed9067b19598a39bcf8e4a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 1 Sep 2023 10:03:14 +0200 Subject: [PATCH 1463/4087] (#19534) [bot] Update list of references (prod-v2/ListPackages) --- .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 afef60a60fac7..cc3af6a6bc8c2 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -65,6 +65,7 @@ required_for_references: - aws-c-s3 - aws-c-sdkutils - aws-checksums +- aws-crt-cpp - aws-kvs-pic - aws-libfabric - b2 @@ -478,6 +479,7 @@ required_for_references: - kainjow-mustache - kaitai_struct_cpp_stl_runtime - kangaru +- kcp - kdbindings - keychain - khrplatform From d70ff0b99ce2850d8f32ccaa123018d7ca05e5da Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 1 Sep 2023 11:22:55 +0200 Subject: [PATCH 1464/4087] (#19539) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index cc3af6a6bc8c2..f2268ad3f7dbb 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -583,6 +583,7 @@ required_for_references: - libnfnetlink - libnfs - libnghttp2 +- libnice - libnl - libnoise - libnop From d0f0b6178f9466e3b0ebbefd094dc00ee4133159 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 2 Sep 2023 03:33:05 +0900 Subject: [PATCH 1465/4087] (#19550) highway: add version 1.0.7 --- recipes/highway/all/conandata.yml | 3 +++ recipes/highway/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/highway/all/conandata.yml b/recipes/highway/all/conandata.yml index 0f97a2fe01fc8..710781f517c65 100644 --- a/recipes/highway/all/conandata.yml +++ b/recipes/highway/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.7": + url: "https://github.com/google/highway/archive/1.0.7.tar.gz" + sha256: "5434488108186c170a5e2fca5e3c9b6ef59a1caa4d520b008a9b8be6b8abe6c5" "1.0.6": url: "https://github.com/google/highway/archive/1.0.6.tar.gz" sha256: "d89664a045a41d822146e787bceeefbf648cc228ce354f347b18f2b419e57207" diff --git a/recipes/highway/config.yml b/recipes/highway/config.yml index e978e314cb0cd..51114d87501db 100644 --- a/recipes/highway/config.yml +++ b/recipes/highway/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.7": + folder: all "1.0.6": folder: all "1.0.5": From cdeed60c0851827e35ff74eba0d4def4ed9145b6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 1 Sep 2023 21:12:07 +0200 Subject: [PATCH 1466/4087] (#19527) pkgconf 2.0.2 --- recipes/pkgconf/all/conandata.yml | 5 +++++ recipes/pkgconf/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/pkgconf/all/conandata.yml b/recipes/pkgconf/all/conandata.yml index 9d79648be05d0..cf574fc35a1d5 100644 --- a/recipes/pkgconf/all/conandata.yml +++ b/recipes/pkgconf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.0.2.tar.xz" + sha256: "ea5a25ef8f251eb5377ec0e21c75fb61894433cfbdbf0b2559ba33e4c2664401" "1.9.5": url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.9.5.tar.xz" sha256: "1ac1656debb27497563036f7bffc281490f83f9b8457c0d60bcfb638fb6b6171" @@ -12,6 +15,8 @@ sources: url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.3.tar.xz" sha256: "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" patches: + "2.0.2": + - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "1.9.5": - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "1.9.3": diff --git a/recipes/pkgconf/config.yml b/recipes/pkgconf/config.yml index 04e2163e1ba77..e17ebc77d55fa 100644 --- a/recipes/pkgconf/config.yml +++ b/recipes/pkgconf/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: "all" "1.9.5": folder: "all" "1.9.3": From ee72892861189d3158ee3bd3278c93ec36ef6a7b Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 2 Sep 2023 00:13:19 +0200 Subject: [PATCH 1467/4087] (#19543) graphene/all: bump deps * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * graphene/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/graphene/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/graphene/all/conanfile.py b/recipes/graphene/all/conanfile.py index 39254a6f16cdf..46dfcff7c1fdf 100644 --- a/recipes/graphene/all/conanfile.py +++ b/recipes/graphene/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): def requirements(self): if self.options.with_glib: - self.requires("glib/2.76.2") + self.requires("glib/2.77.0") def validate(self): if self.settings.compiler == "gcc": @@ -70,9 +70,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", default=False): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 51edc2a31cc01b8071be8ee7f81483dad41003fe Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 2 Sep 2023 00:49:21 +0200 Subject: [PATCH 1468/4087] (#19528) glib 2.77.3 --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 0dd31b0d40a5b..ec38114b48cbc 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index 808c4e2fcb441..1a21f71ff2289 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.77.3": + folder: all "2.77.2": folder: all "2.77.1": From 22e6c43eeee9635c2093991235b34a3a36ef1f2a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sat, 2 Sep 2023 08:42:37 +0200 Subject: [PATCH 1469/4087] (#19555) Add changelog 01 Sep 2023 Signed-off-by: Uilian Ries --- docs/changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 3cf79f8d61327..8eadac2df6139 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,9 @@ # Changelog +### 01-Sep-2023 - 19:58 CEST + +- [fix] Use Unix separators for Windows folder path when creating CI workspace + ### 17-Aug-2023 - 11:42 CEST - [fix] Fix type error when catching generic exceptions in Jenkins From 4ffb55b871c1f839b7074e56836bded563b523d7 Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Sat, 2 Sep 2023 00:11:55 -0700 Subject: [PATCH 1470/4087] (#19536) cmake: add 3.27.4 --- 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 a778631e96cba..afcf32ce81461 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.4": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.4-linux-aarch64.tar.gz" + sha256: "45538d394bd4ef2a423fa78dff5cad16bcf437a4a6dc655e999177170632b039" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.4-linux-x86_64.tar.gz" + sha256: "186c53121cf6ef4e48b51e88690e6ef84f268611064a42e5a2e829c3d6b2efde" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.4-macos10.10-universal.tar.gz" + sha256: "1fa092bad6daf9715c6d72ff766813fd3423427696042a74f2208a2b4704ac1c" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.4-windows-arm64.zip" + sha256: "6c1df7ad85ed902ad615cd0c05bca0d3c9c3f67b3980ca9dd2e39b0821d50937" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.4-windows-x86_64.zip" + sha256: "e5e060756444d0b2070328a8821c1ceb62bd6d267aae61bfff06f96c7ec943a6" "3.27.1": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 4a1e12b81255f..94869f2ceea82 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.27.4": + folder: "binary" "3.27.1": folder: "binary" "3.27.0": From 7bdd38b95d62a670113f718fa055ae83e3bfb0d9 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 2 Sep 2023 22:31:47 +0900 Subject: [PATCH 1471/4087] (#19559) c-blosc: add version 1.21.5 --- recipes/c-blosc/all/conandata.yml | 7 +++++++ recipes/c-blosc/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/c-blosc/all/conandata.yml b/recipes/c-blosc/all/conandata.yml index d2e82d3ed6ffb..a47eb694abb4a 100644 --- a/recipes/c-blosc/all/conandata.yml +++ b/recipes/c-blosc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.21.5": + url: "https://github.com/Blosc/c-blosc/archive/v1.21.5.tar.gz" + sha256: "32e61961bbf81ffea6ff30e9d70fca36c86178afd3e3cfa13376adec8c687509" "1.21.4": url: "https://github.com/Blosc/c-blosc/archive/v1.21.4.tar.gz" sha256: "e72bd03827b8564bbb3dc3ea0d0e689b4863871ce3861d946f2efd7a186ecf3e" @@ -27,6 +30,10 @@ sources: url: "https://github.com/Blosc/c-blosc/archive/v1.17.1.tar.gz" sha256: "19a6948b579c27e8ac440b4f077f99fc90e7292b1d9cb896bec0fd781d68fba2" patches: + "1.21.5": + - patch_file: "patches/cmake-dependencies-1.21.4+.patch" + patch_description: "use cci package" + patch_type: "conan" "1.21.4": - patch_file: "patches/cmake-dependencies-1.21.4+.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc/config.yml b/recipes/c-blosc/config.yml index 0bea6e6e853db..cd2301b24b5b4 100644 --- a/recipes/c-blosc/config.yml +++ b/recipes/c-blosc/config.yml @@ -1,4 +1,6 @@ versions: + "1.21.5": + folder: all "1.21.4": folder: all "1.21.3": From 15218ee2780caf319ec91365bb553a69f43af55d Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sat, 2 Sep 2023 17:02:48 +0200 Subject: [PATCH 1472/4087] (#19522) [docs] Change conan v2 feedback message * change conan v2 feedback message Signed-off-by: Uilian Ries * ping conan-io/barbarians Signed-off-by: Uilian Ries * Update .c3i/config_v2.yml Co-authored-by: Daniel --------- Signed-off-by: Uilian Ries Co-authored-by: Daniel --- .c3i/config_v2.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 1f13510578fc9..6ce21e93668a5 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -46,9 +46,9 @@ tasks: update_labels: false user_feedback: title: "Conan v2 pipeline" - description: "> **Note**: Conan v2 builds may be required once they are on the [v2 ready](https://github.com/conan-io/conan-center-index/blob/master/.c3i/conan_v2_ready_references.yml) list" + description: "> **Note**: Conan v2 builds are now mandatory. Please read our [discussion](https://github.com/conan-io/conan-center-index/discussions/19104) about it." regression: "> **Regression**: Conan v2 builds are mandatory and they are required for the PR to be merged, because this recipe worked with Conan v2 previously." - text_on_failure: "The v2 pipeline failed. Please, review the errors and note this will be required for pull requests to be merged in the near future." + text_on_failure: "The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping `@conan-io/barbarians` on the PR and we will help you." collapse_on_success: false collapse_on_failure: true list_packages: From db455b53940290448d0be430bae93b7becbb0b76 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Sat, 2 Sep 2023 19:42:18 +0200 Subject: [PATCH 1473/4087] (#19560) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index f2268ad3f7dbb..7b84a12bb8b2a 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -278,6 +278,7 @@ required_for_references: - elfio - embree3 - emio +- emsdk - enet - enhex-generic_serialization - enhex-strong_type From 831edb42d4fc14e024ee4ad2f22bf7f0f4a5143a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sat, 2 Sep 2023 20:02:27 +0200 Subject: [PATCH 1474/4087] (#19459) [docs] Add section about Docker images used by CCI Signed-off-by: Uilian Ries --- docs/developing_recipes_locally.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/developing_recipes_locally.md b/docs/developing_recipes_locally.md index e34902537f2b6..9c54954e8a98d 100644 --- a/docs/developing_recipes_locally.md +++ b/docs/developing_recipes_locally.md @@ -221,6 +221,29 @@ If you are working with packages that have system dependencies that are managed docker run -e CONAN_SYSREQUIRES_MODE=enabled conanio/gcc11-ubuntu16.04 conan install fmt/9.0.0@ -if build --build missing -c tools.system.package_manager:mode=install -c tools.system.package_manager:sudo=yes ``` +#### Docker build images used by ConanCenterIndex + +The Conan Center Index uses [Conan Docker Tools](https://github.com/conan-io/conan-docker-tools/) to build packages in a variety of environments. All images are hosted in [Docker Hub](https://hub.docker.com/u/conanio). The relation of the images with the build configurations is available according to the Conan configuration, as `node_labels.Linux`, for instance: + + +```yaml +node_labels: + Linux: + x86_64: + "gcc": + default: "linux_gcc_${compiler.version}" + "11": "linux_gcc_${compiler.version}_ubuntu16.04" + "clang": + default: "linux_clang_${compiler.version}_ubuntu16.04" + "11": "linux_clang_${compiler.version}" +``` + +The configuration files are located in the folder [../.c3i](../.c3i). Currently are the files [config_v1.yml](../.c3i/config_v1.yml) and [config_v2.yml](../.c3i/config_v2.yml). The configuration file `config_v1.yml` is used by the Conan 1.0 client, while `config_v2.yml` is used by the Conan 2.0 client. + +The label `linux` refers to any Docker image, while `gcc_${compiler.version}` refers to GCC + a compiler version. For example, `linux_gcc_10` refers to the image `conanio/gcc10`. +The suffix `_ubuntu16.04` refers to the base image used by the Docker image, in this case, `ubuntu16.04`. So, `"11": "linux_gcc_${compiler.version}_ubuntu16.04"` means that the image `conanio/gcc11-ubuntu16.04`. Thus, all GCC versions use `conanio/gcc`, except for the GCC 11, which uses `conanio/gcc11-ubuntu16.04`. The same applies to Clang. + + ## Using Conan 2.0 Everything you need to know about the methods, commands line, outputs can be found in the From b4f452f78601b76c244ebcb6729a018d48014908 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 03:23:12 +0900 Subject: [PATCH 1475/4087] (#16273) hyperscan: add version 5.4.2 * hyperscan: add version 5.4.1 * update 5.4.2 * workround dependencies error * update boost * disable -Werror flag * disable unit on msvc in 5.4.2 * disable build examples * update boost/1.83.0 --- recipes/hyperscan/all/conandata.yml | 14 +- recipes/hyperscan/all/conanfile.py | 4 +- ...cmake.patch => 5.4.0-0001-fix-cmake.patch} | 13 +- ...h => 5.4.0-0002-use-ue2-make_unique.patch} | 0 .../all/patches/5.4.2-0001-fix-cmake.patch | 282 ++++++ .../5.4.2-0002-use-ue2-make_unique.patch | 875 ++++++++++++++++++ .../hyperscan/all/test_package/conanfile.py | 6 +- recipes/hyperscan/config.yml | 2 + 8 files changed, 1191 insertions(+), 5 deletions(-) rename recipes/hyperscan/all/patches/{0001-fix-cmake.patch => 5.4.0-0001-fix-cmake.patch} (96%) rename recipes/hyperscan/all/patches/{0002-use-ue2-make_unique.patch => 5.4.0-0002-use-ue2-make_unique.patch} (100%) create mode 100644 recipes/hyperscan/all/patches/5.4.2-0001-fix-cmake.patch create mode 100644 recipes/hyperscan/all/patches/5.4.2-0002-use-ue2-make_unique.patch diff --git a/recipes/hyperscan/all/conandata.yml b/recipes/hyperscan/all/conandata.yml index b46d4ac06c616..e3925c18673ce 100644 --- a/recipes/hyperscan/all/conandata.yml +++ b/recipes/hyperscan/all/conandata.yml @@ -1,12 +1,22 @@ sources: + "5.4.2": + url: "https://github.com/intel/hyperscan/archive/v5.4.2.tar.gz" + sha256: "32b0f24b3113bbc46b6bfaa05cf7cf45840b6b59333d078cc1f624e4c40b2b99" "5.4.0": url: "https://github.com/intel/hyperscan/archive/v5.4.0.tar.gz" sha256: "e51aba39af47e3901062852e5004d127fa7763b5dbbc16bcca4265243ffa106f" patches: + "5.4.2": + - patch_file: "patches/5.4.2-0001-fix-cmake.patch" + patch_description: "modify cmake files to build with conan" + patch_type: "conan" + - patch_file: "patches/5.4.2-0002-use-ue2-make_unique.patch" + patch_description: "add ue2:: prefix to make_unique for name collision" + patch_type: "portability" "5.4.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/5.4.0-0001-fix-cmake.patch" patch_description: "modify cmake files to build with conan" patch_type: "conan" - - patch_file: "patches/0002-use-ue2-make_unique.patch" + - patch_file: "patches/5.4.0-0002-use-ue2-make_unique.patch" patch_description: "add ue2:: prefix to make_unique for name collision" patch_type: "portability" diff --git a/recipes/hyperscan/all/conanfile.py b/recipes/hyperscan/all/conanfile.py index 5e30dac82fb95..8ccc3f01da959 100644 --- a/recipes/hyperscan/all/conanfile.py +++ b/recipes/hyperscan/all/conanfile.py @@ -16,6 +16,7 @@ class HyperscanConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.hyperscan.io" topics = ("regex", "regular expressions") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -57,7 +58,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") if self.options.build_chimera: self.requires("pcre/8.45") @@ -88,6 +89,7 @@ def generate(self): tc.variables["BUILD_AVX512"] = self.options.build_avx512 tc.variables["FAT_RUNTIME"] = self.options.fat_runtime tc.variables["BUILD_CHIMERA"] = self.options.build_chimera + tc.variables["BUILD_EXAMPLES"] = False if self.options.dump_support != "auto": tc.variables["DUMP_SUPPORT"] = self.options.dump_support tc.generate() diff --git a/recipes/hyperscan/all/patches/0001-fix-cmake.patch b/recipes/hyperscan/all/patches/5.4.0-0001-fix-cmake.patch similarity index 96% rename from recipes/hyperscan/all/patches/0001-fix-cmake.patch rename to recipes/hyperscan/all/patches/5.4.0-0001-fix-cmake.patch index 872966c197543..ab66becd930f5 100644 --- a/recipes/hyperscan/all/patches/0001-fix-cmake.patch +++ b/recipes/hyperscan/all/patches/5.4.0-0001-fix-cmake.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8bc6077..0fbed25 100644 +index 8bc6077..2dfdf29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ set (HS_MINOR_VERSION 4) @@ -40,6 +40,17 @@ index 8bc6077..0fbed25 100644 OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) else () +@@ -242,8 +242,8 @@ else() + if (NOT RELEASE_BUILD) + # -Werror is most useful during development, don't potentially break + # release builds +- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror") +- set(EXTRA_CXX_FLAGS "${EXTRA_CXX_FLAGS} -Werror") ++ #set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror") ++ #set(EXTRA_CXX_FLAGS "${EXTRA_CXX_FLAGS} -Werror") + endif() + + if (DISABLE_ASSERTS) @@ -326,7 +326,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux") message (STATUS "Building the fat runtime requires the Unix Makefiles generator, or Ninja with CMake v3.0 or higher") set (FAT_RUNTIME_REQUISITES FALSE) diff --git a/recipes/hyperscan/all/patches/0002-use-ue2-make_unique.patch b/recipes/hyperscan/all/patches/5.4.0-0002-use-ue2-make_unique.patch similarity index 100% rename from recipes/hyperscan/all/patches/0002-use-ue2-make_unique.patch rename to recipes/hyperscan/all/patches/5.4.0-0002-use-ue2-make_unique.patch diff --git a/recipes/hyperscan/all/patches/5.4.2-0001-fix-cmake.patch b/recipes/hyperscan/all/patches/5.4.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..87c26ae4533b6 --- /dev/null +++ b/recipes/hyperscan/all/patches/5.4.2-0001-fix-cmake.patch @@ -0,0 +1,282 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7757916..6f05b5b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,7 @@ set (HS_MINOR_VERSION 4) + set (HS_PATCH_VERSION 2) + set (HS_VERSION ${HS_MAJOR_VERSION}.${HS_MINOR_VERSION}.${HS_PATCH_VERSION}) + +-set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) ++list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + include(CheckCCompilerFlag) + include(CheckCXXCompilerFlag) + include(CheckCXXSymbolExists) +@@ -17,8 +17,8 @@ INCLUDE (CheckLibraryExists) + INCLUDE (CheckSymbolExists) + include (CMakeDependentOption) + include (GNUInstallDirs) +-include (${CMAKE_MODULE_PATH}/platform.cmake) +-include (${CMAKE_MODULE_PATH}/ragel.cmake) ++include (platform) ++include (ragel) + + find_package(PkgConfig QUIET) + +@@ -69,7 +69,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src) + include_directories(${PROJECT_BINARY_DIR}) + include_directories(SYSTEM include) + +-include (${CMAKE_MODULE_PATH}/boost.cmake) ++include (boost) + + # -- make this work? set(python_ADDITIONAL_VERSIONS 2.7 2.6) + find_package(PythonInterp) +@@ -84,7 +84,7 @@ endif() + # allow for reproducible builds - python for portability + if (DEFINED ENV{SOURCE_DATE_EPOCH}) + execute_process( +- COMMAND "${PYTHON}" "${CMAKE_MODULE_PATH}/formatdate.py" "$ENV{SOURCE_DATE_EPOCH}" ++ COMMAND "${PYTHON}" "${PROJECT_SOURCE_DIR}/cmake/formatdate.py" "$ENV{SOURCE_DATE_EPOCH}" + OUTPUT_VARIABLE BUILD_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE) + else () +@@ -242,8 +242,8 @@ else() + if (NOT RELEASE_BUILD) + # -Werror is most useful during development, don't potentially break + # release builds +- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror") +- set(EXTRA_CXX_FLAGS "${EXTRA_CXX_FLAGS} -Werror") ++ #set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror") ++ #set(EXTRA_CXX_FLAGS "${EXTRA_CXX_FLAGS} -Werror") + endif() + + if (DISABLE_ASSERTS) +@@ -326,7 +326,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux") + message (STATUS "Building the fat runtime requires the Unix Makefiles generator, or Ninja with CMake v3.0 or higher") + set (FAT_RUNTIME_REQUISITES FALSE) + else() +- include (${CMAKE_MODULE_PATH}/attrib.cmake) ++ include (attrib) + if (NOT HAS_C_ATTR_IFUNC) + message(STATUS "Compiler does not support ifunc attribute, cannot build fat runtime") + set (FAT_RUNTIME_REQUISITES FALSE) +@@ -337,7 +337,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux") + CMAKE_DEPENDENT_OPTION(FAT_RUNTIME "Build a library that supports multiple microarchitectures" ${RELEASE_BUILD} "FAT_RUNTIME_REQUISITES" OFF) + endif () + +-include (${CMAKE_MODULE_PATH}/arch.cmake) ++include (arch) + + # testing a builtin takes a little more work + CHECK_C_SOURCE_COMPILES("void *aa_test(void *x) { return __builtin_assume_aligned(x, 16);}\nint main(void) { return 0; }" HAVE_CC_BUILTIN_ASSUME_ALIGNED) +@@ -477,7 +477,6 @@ else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + endif() + +-add_subdirectory(util) + add_subdirectory(doc/dev-reference) + + if (NOT WIN32) +@@ -486,7 +485,7 @@ if (NOT WIN32) + set(PCRE_REQUIRED_MAJOR_VERSION 8) + set(PCRE_REQUIRED_MINOR_VERSION 41) + set(PCRE_REQUIRED_VERSION ${PCRE_REQUIRED_MAJOR_VERSION}.${PCRE_REQUIRED_MINOR_VERSION}) +-include (${CMAKE_MODULE_PATH}/pcre.cmake) ++include (pcre) + if (NOT CORRECT_PCRE_VERSION) + message(STATUS "PCRE ${PCRE_REQUIRED_VERSION} or above not found") + endif() +@@ -496,17 +495,19 @@ if (CORRECT_PCRE_VERSION AND PCRE_BUILD_SOURCE AND BUILD_STATIC_LIBS) + set(BUILD_CHIMERA TRUE) + endif() + ++if(0) + add_subdirectory(unit) + if (EXISTS ${CMAKE_SOURCE_DIR}/tools/CMakeLists.txt) + add_subdirectory(tools) + endif() +-if (EXISTS ${CMAKE_SOURCE_DIR}/chimera/CMakeLists.txt AND BUILD_CHIMERA) ++endif() ++if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/chimera/CMakeLists.txt AND BUILD_CHIMERA) + add_subdirectory(chimera) + endif() + endif() + + # do substitutions +-configure_file(${CMAKE_MODULE_PATH}/config.h.in ${PROJECT_BINARY_DIR}/config.h) ++configure_file(${PROJECT_SOURCE_DIR}/cmake/config.h.in ${PROJECT_BINARY_DIR}/config.h) + configure_file(src/hs_version.h.in ${PROJECT_BINARY_DIR}/hs_version.h) + + if (NOT WIN32) +@@ -519,7 +520,7 @@ if (NOT WIN32) + endforeach() + + configure_file(libhs.pc.in libhs.pc @ONLY) # only replace @ quoted vars +- install(FILES ${CMAKE_BINARY_DIR}/libhs.pc ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libhs.pc + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + endif() + +@@ -538,7 +539,7 @@ if (WIN32) + set(PCRE_REQUIRED_MAJOR_VERSION 8) + set(PCRE_REQUIRED_MINOR_VERSION 41) + set(PCRE_REQUIRED_VERSION ${PCRE_REQUIRED_MAJOR_VERSION}.${PCRE_REQUIRED_MINOR_VERSION}) +-include (${CMAKE_MODULE_PATH}/pcre.cmake) ++include (pcre) + if (NOT CORRECT_PCRE_VERSION) + message(STATUS "PCRE ${PCRE_REQUIRED_VERSION} or above not found") + endif() +@@ -548,10 +549,12 @@ if (CORRECT_PCRE_VERSION AND PCRE_BUILD_SOURCE AND BUILD_STATIC_LIBS) + set(BUILD_CHIMERA TRUE) + endif() + ++if(0) + add_subdirectory(unit) + if (EXISTS ${CMAKE_SOURCE_DIR}/tools/CMakeLists.txt) + add_subdirectory(tools) + endif() ++endif() + if (EXISTS ${CMAKE_SOURCE_DIR}/chimera/CMakeLists.txt AND BUILD_CHIMERA) + add_subdirectory(chimera) + endif() +@@ -562,14 +565,14 @@ set(RAGEL_C_FLAGS "-Wno-unused") + endif() + + set_source_files_properties( +- ${CMAKE_BINARY_DIR}/src/parser/Parser.cpp ++ ${CMAKE_CURRENT_BINARY_DIR}/src/parser/Parser.cpp + PROPERTIES + COMPILE_FLAGS "${RAGEL_C_FLAGS}") + + ragelmaker(src/parser/Parser.rl) + + set_source_files_properties( +- ${CMAKE_BINARY_DIR}/src/parser/control_verbs.cpp ++ ${CMAKE_CURRENT_BINARY_DIR}/src/parser/control_verbs.cpp + PROPERTIES + COMPILE_FLAGS "${RAGEL_C_FLAGS}") + +@@ -1230,28 +1233,28 @@ else (FAT_RUNTIME) + list(APPEND RUNTIME_LIBS $) + set_target_properties(hs_exec_core2 PROPERTIES + COMPILE_FLAGS "-march=core2" +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + + add_library(hs_exec_corei7 OBJECT ${hs_exec_SRCS}) + list(APPEND RUNTIME_LIBS $) + set_target_properties(hs_exec_corei7 PROPERTIES + COMPILE_FLAGS "-march=corei7" +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} corei7 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} corei7 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + + add_library(hs_exec_avx2 OBJECT ${hs_exec_SRCS} ${hs_exec_avx2_SRCS}) + list(APPEND RUNTIME_LIBS $) + set_target_properties(hs_exec_avx2 PROPERTIES + COMPILE_FLAGS "-march=core-avx2" +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx2 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx2 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + if (BUILD_AVX512) + add_library(hs_exec_avx512 OBJECT ${hs_exec_SRCS} ${hs_exec_avx2_SRCS}) + list(APPEND RUNTIME_LIBS $) + set_target_properties(hs_exec_avx512 PROPERTIES + COMPILE_FLAGS "${SKYLAKE_FLAG}" +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + endif (BUILD_AVX512) + if (BUILD_AVX512VBMI) +@@ -1259,7 +1262,7 @@ else (FAT_RUNTIME) + list(APPEND RUNTIME_LIBS $) + set_target_properties(hs_exec_avx512vbmi PROPERTIES + COMPILE_FLAGS "${ICELAKE_FLAG}" +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512vbmi ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512vbmi ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + endif (BUILD_AVX512VBMI) + +@@ -1294,14 +1297,14 @@ else (FAT_RUNTIME) + set_target_properties(hs_exec_shared_core2 PROPERTIES + COMPILE_FLAGS "-march=core2" + POSITION_INDEPENDENT_CODE TRUE +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} core2 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + add_library(hs_exec_shared_corei7 OBJECT ${hs_exec_SRCS}) + list(APPEND RUNTIME_SHLIBS $) + set_target_properties(hs_exec_shared_corei7 PROPERTIES + COMPILE_FLAGS "-march=corei7" + POSITION_INDEPENDENT_CODE TRUE +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} corei7 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} corei7 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + add_library(hs_exec_shared_avx2 OBJECT ${hs_exec_SRCS} ${hs_exec_avx2_SRCS}) + list(APPEND RUNTIME_SHLIBS $) +@@ -1317,7 +1320,7 @@ else (FAT_RUNTIME) + set_target_properties(hs_exec_shared_avx512 PROPERTIES + COMPILE_FLAGS "${SKYLAKE_FLAG}" + POSITION_INDEPENDENT_CODE TRUE +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512 ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512 ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + endif (BUILD_AVX512) + if (BUILD_AVX512VBMI) +@@ -1326,7 +1329,7 @@ else (FAT_RUNTIME) + set_target_properties(hs_exec_shared_avx512vbmi PROPERTIES + COMPILE_FLAGS "${ICELAKE_FLAG}" + POSITION_INDEPENDENT_CODE TRUE +- RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512vbmi ${CMAKE_MODULE_PATH}/keep.syms.in" ++ RULE_LAUNCH_COMPILE "${BUILD_WRAPPER} avx512vbmi ${PROJECT_SOURCE_DIR}/cmake/keep.syms.in" + ) + endif (BUILD_AVX512VBMI) + add_library(hs_exec_common_shared OBJECT +diff --git a/chimera/ch_database.h b/chimera/ch_database.h +index 28bde86..33cda9d 100644 +--- a/chimera/ch_database.h ++++ b/chimera/ch_database.h +@@ -38,7 +38,6 @@ extern "C" + { + #endif + +-#define PCRE_STATIC + #include + + #include "ch_compile.h" // for CH_MODE_ flags +diff --git a/cmake/pcre.cmake b/cmake/pcre.cmake +index e0acda5..0f9e8ac 100644 +--- a/cmake/pcre.cmake ++++ b/cmake/pcre.cmake +@@ -50,14 +50,10 @@ if (PCRE_BUILD_SOURCE) + set(PCRE_INCLUDE_DIRS ${PCRE_SOURCE} ${PROJECT_BINARY_DIR}/pcre) + set(PCRE_LDFLAGS -L"${LIBDIR}" -lpcre) + else () +- # pkgconf should save us +- find_package(PkgConfig) +- pkg_check_modules(PCRE libpcre>=${PCRE_REQUIRED_VERSION}) +- if (PCRE_FOUND) ++ # conan should save us ++ find_package(pcre) ++ if(pcre_FOUND AND (pcre_VERSION VERSION_GREATER_EQUAL PCRE_REQUIRED_VERSION)) + set(CORRECT_PCRE_VERSION TRUE) +- message(STATUS "PCRE version ${PCRE_REQUIRED_VERSION} or above") +- else () +- message(STATUS "PCRE version ${PCRE_REQUIRED_VERSION} or above not found") +- return () +- endif () ++ set(PCRE_LDFLAGS "pcre::pcre") ++ endif() + endif (PCRE_BUILD_SOURCE) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index 6ca3fd8..73c299d 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,3 +1,6 @@ ++# Tools are not installed ++return () ++ + find_package(Threads) + + # remove some warnings diff --git a/recipes/hyperscan/all/patches/5.4.2-0002-use-ue2-make_unique.patch b/recipes/hyperscan/all/patches/5.4.2-0002-use-ue2-make_unique.patch new file mode 100644 index 0000000000000..7c24368a9f0e1 --- /dev/null +++ b/recipes/hyperscan/all/patches/5.4.2-0002-use-ue2-make_unique.patch @@ -0,0 +1,875 @@ +diff --git a/src/nfa/castlecompile.cpp b/src/nfa/castlecompile.cpp +index 5884ebb..1af6cd2 100644 +--- a/src/nfa/castlecompile.cpp ++++ b/src/nfa/castlecompile.cpp +@@ -281,7 +281,7 @@ vector> checkExclusion(u32 &streamStateSize, + size_t total = 0; + while (lower < trigSize) { + vector vertices; +- unique_ptr cg = make_unique(); ++ unique_ptr cg = ue2::make_unique(); + + vector> min_reset_dist; + size_t upper = min(lower + CLIQUE_GRAPH_MAX_SIZE, trigSize); +diff --git a/src/nfagraph/ng_equivalence.cpp b/src/nfagraph/ng_equivalence.cpp +index a42a0ac..9b1f072 100644 +--- a/src/nfagraph/ng_equivalence.cpp ++++ b/src/nfagraph/ng_equivalence.cpp +@@ -269,7 +269,7 @@ vector> getVertexInfos(const NGHolder &g) { + vertex_map.resize(num_verts); + + for (auto v : vertices_range(g)) { +- infos.push_back(make_unique(v, g)); ++ infos.push_back(ue2::make_unique(v, g)); + vertex_map[g[v].index] = infos.back().get(); + } + +@@ -516,7 +516,7 @@ void mergeClass(vector> &infos, NGHolder &g, + g[new_v].reports.clear(); /* populated as we pull in succs */ + + // store this vertex in our global vertex list +- infos.push_back(make_unique(new_v, g)); ++ infos.push_back(ue2::make_unique(new_v, g)); + VertexInfo *new_vertex_info = infos.back().get(); + + NFAVertex new_v_eod = NGHolder::null_vertex(); +@@ -525,7 +525,7 @@ void mergeClass(vector> &infos, NGHolder &g, + if (require_separate_eod_vertex(cur_class_vertices, g)) { + new_v_eod = clone_vertex(g, old_v); + g[new_v_eod].reports.clear(); +- infos.push_back(make_unique(new_v_eod, g)); ++ infos.push_back(ue2::make_unique(new_v_eod, g)); + new_vertex_info_eod = infos.back().get(); + } + +diff --git a/src/nfagraph/ng_violet.cpp b/src/nfagraph/ng_violet.cpp +index ba6b350..106b900 100644 +--- a/src/nfagraph/ng_violet.cpp ++++ b/src/nfagraph/ng_violet.cpp +@@ -375,7 +375,7 @@ void getSimpleRoseLiterals(const NGHolder &g, bool seeking_anchored, + + DEBUG_PRINTF("candidate is a candidate\n"); + scores[v] = score; +- lit_info[v] = make_unique(v, s, anchored); ++ lit_info[v] = ue2::make_unique(v, s, anchored); + } + + /* try to filter out cases where appending some characters produces worse +@@ -531,7 +531,7 @@ void getRegionRoseLiterals(const NGHolder &g, bool seeking_anchored, + } + + DEBUG_PRINTF("candidate is a candidate\n"); +- lits->push_back(make_unique(vv, s, anchored)); ++ lits->push_back(ue2::make_unique(vv, s, anchored)); + } + } + +@@ -1848,7 +1848,7 @@ static + unique_ptr make_chain(u32 count) { + assert(count); + +- auto rv = make_unique(NFA_INFIX); ++ auto rv = ue2::make_unique(NFA_INFIX); + + NGHolder &h = *rv; + +diff --git a/src/rose/rose_build_add.cpp b/src/rose/rose_build_add.cpp +index aa043fa..f680dbb 100644 +--- a/src/rose/rose_build_add.cpp ++++ b/src/rose/rose_build_add.cpp +@@ -1802,7 +1802,7 @@ bool RoseBuildImpl::addOutfix(const NGHolder &h, const raw_som_dfa &haig) { + + bool RoseBuildImpl::addOutfix(const raw_puff &rp) { + if (!mpv_outfix) { +- mpv_outfix = make_unique(MpvProto()); ++ mpv_outfix = ue2::make_unique(MpvProto()); + } + + auto *mpv = mpv_outfix->mpv(); +@@ -1827,7 +1827,7 @@ bool RoseBuildImpl::addOutfix(const raw_puff &rp) { + bool RoseBuildImpl::addChainTail(const raw_puff &rp, u32 *queue_out, + u32 *event_out) { + if (!mpv_outfix) { +- mpv_outfix = make_unique(MpvProto()); ++ mpv_outfix = ue2::make_unique(MpvProto()); + } + + auto *mpv = mpv_outfix->mpv(); +diff --git a/src/rose/rose_build_anchored.cpp b/src/rose/rose_build_anchored.cpp +index 8ea07c9..1f918bb 100644 +--- a/src/rose/rose_build_anchored.cpp ++++ b/src/rose/rose_build_anchored.cpp +@@ -249,7 +249,7 @@ unique_ptr populate_holder(const simple_anchored_info &sai, + const flat_set &exit_ids) { + DEBUG_PRINTF("populating holder for ^.{%u,%u}%s\n", sai.min_bound, + sai.max_bound, dumpString(sai.literal).c_str()); +- auto h_ptr = make_unique(); ++ auto h_ptr = ue2::make_unique(); + NGHolder &h = *h_ptr; + auto ends = addDotsToGraph(h, h.start, sai.min_bound, sai.max_bound, + CharReach::dot()); +diff --git a/src/rose/rose_build_exclusive.cpp b/src/rose/rose_build_exclusive.cpp +index 6a5a710..966c908 100644 +--- a/src/rose/rose_build_exclusive.cpp ++++ b/src/rose/rose_build_exclusive.cpp +@@ -280,7 +280,7 @@ void findCliques(const map> &exclusiveGroups, + } + // Construct the exclusivity graph + map vertex_map; +- unique_ptr cg = make_unique(); ++ unique_ptr cg = ue2::make_unique(); + + // Add vertices representing infixes/suffixes + for (const auto &e : exclusiveGroups) { +diff --git a/src/rose/rose_build_program.cpp b/src/rose/rose_build_program.cpp +index 96c95db..81d605b 100644 +--- a/src/rose/rose_build_program.cpp ++++ b/src/rose/rose_build_program.cpp +@@ -95,7 +95,7 @@ OffsetMap makeOffsetMap(const RoseProgram &program, u32 *total_len) { + } + + RoseProgram::RoseProgram() { +- prog.push_back(make_unique()); ++ prog.push_back(ue2::make_unique()); + } + + RoseProgram::~RoseProgram() = default; +@@ -297,28 +297,28 @@ void addEnginesEodProgram(u32 eodNfaIterOffset, RoseProgram &program) { + } + + RoseProgram block; +- block.add_before_end(make_unique(eodNfaIterOffset)); ++ block.add_before_end(ue2::make_unique(eodNfaIterOffset)); + program.add_block(move(block)); + } + + void addSuffixesEodProgram(RoseProgram &program) { + RoseProgram block; +- block.add_before_end(make_unique()); ++ block.add_before_end(ue2::make_unique()); + program.add_block(move(block)); + } + + void addMatcherEodProgram(RoseProgram &program) { + RoseProgram block; +- block.add_before_end(make_unique()); ++ block.add_before_end(ue2::make_unique()); + program.add_block(move(block)); + } + + void addFlushCombinationProgram(RoseProgram &program) { +- program.add_before_end(make_unique()); ++ program.add_before_end(ue2::make_unique()); + } + + void addLastFlushCombinationProgram(RoseProgram &program) { +- program.add_before_end(make_unique()); ++ program.add_before_end(ue2::make_unique()); + } + + static +@@ -342,11 +342,11 @@ void makeRoleCheckLeftfix(const RoseBuildImpl &build, + + unique_ptr ri; + if (is_prefix) { +- ri = make_unique(lni.queue, build.g[v].left.lag, ++ ri = ue2::make_unique(lni.queue, build.g[v].left.lag, + build.g[v].left.leftfix_report, + end_inst); + } else { +- ri = make_unique(lni.queue, build.g[v].left.lag, ++ ri = ue2::make_unique(lni.queue, build.g[v].left.lag, + build.g[v].left.leftfix_report, + end_inst); + } +@@ -384,7 +384,7 @@ void makeAnchoredLiteralDelay(const RoseBuildImpl &build, + u32 anch_id = prog_build.anchored_programs.at(lit_id); + + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(groups, anch_id, end_inst); ++ auto ri = ue2::make_unique(groups, anch_id, end_inst); + program.add_before_end(move(ri)); + } + +@@ -393,7 +393,7 @@ void makeDedupe(const ReportManager &rm, const Report &report, + RoseProgram &program) { + const auto *end_inst = program.end_instruction(); + auto ri = +- make_unique(report.quashSom, rm.getDkey(report), ++ ue2::make_unique(report.quashSom, rm.getDkey(report), + report.offsetAdjust, end_inst); + program.add_before_end(move(ri)); + } +@@ -402,7 +402,7 @@ static + void makeDedupeSom(const ReportManager &rm, const Report &report, + RoseProgram &program) { + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(report.quashSom, ++ auto ri = ue2::make_unique(report.quashSom, + rm.getDkey(report), + report.offsetAdjust, end_inst); + program.add_before_end(move(ri)); +@@ -428,7 +428,7 @@ void makeCatchup(const ReportManager &rm, bool needs_catchup, + return; + } + +- program.add_before_end(make_unique()); ++ program.add_before_end(ue2::make_unique()); + } + + static +@@ -511,12 +511,12 @@ void addLogicalSetRequired(const Report &report, ReportManager &rm, + return; + } + // set matching status of current lkey +- auto risl = make_unique(report.lkey, ++ auto risl = ue2::make_unique(report.lkey, + report.offsetAdjust); + program.add_before_end(move(risl)); + // set current lkey's corresponding ckeys active, pending to check + for (auto ckey : rm.getRelateCKeys(report.lkey)) { +- auto risc = make_unique(ckey); ++ auto risc = ue2::make_unique(ckey); + program.add_before_end(move(risc)); + } + } +@@ -532,7 +532,7 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + + // Handle min/max offset checks. + if (report.minOffset > 0 || report.maxOffset < MAX_OFFSET) { +- auto ri = make_unique(report.minOffset, ++ auto ri = ue2::make_unique(report.minOffset, + report.maxOffset, end_inst); + report_block.add_before_end(move(ri)); + } +@@ -540,7 +540,7 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + // If this report has an exhaustion key, we can check it in the program + // rather than waiting until we're in the callback adaptor. + if (report.ekey != INVALID_EKEY) { +- auto ri = make_unique(report.ekey, end_inst); ++ auto ri = ue2::make_unique(report.ekey, end_inst); + report_block.add_before_end(move(ri)); + } + +@@ -548,7 +548,7 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + // calculated. + if (isExternalSomReport(report) && + report.type != EXTERNAL_CALLBACK_SOM_PASS) { +- auto ri = make_unique(); ++ auto ri = ue2::make_unique(); + writeSomOperation(report, &ri->som); + report_block.add_before_end(move(ri)); + } +@@ -556,13 +556,13 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + // Min length constraint. + if (report.minLength > 0) { + assert(build.hasSom); +- auto ri = make_unique( ++ auto ri = ue2::make_unique( + report.offsetAdjust, report.minLength, end_inst); + report_block.add_before_end(move(ri)); + } + + if (report.quashSom) { +- report_block.add_before_end(make_unique()); ++ report_block.add_before_end(ue2::make_unique()); + } + + switch (report.type) { +@@ -578,7 +578,7 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + if (needs_dedupe) { + if (!report.quiet) { + report_block.add_before_end( +- make_unique( ++ ue2::make_unique( + report.quashSom, build.rm.getDkey(report), + report.onmatch, report.offsetAdjust, end_inst)); + } else { +@@ -587,7 +587,7 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + } else { + if (!report.quiet) { + report_block.add_before_end( +- make_unique( ++ ue2::make_unique( + report.onmatch, report.offsetAdjust)); + } + } +@@ -597,28 +597,28 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + } + if (!report.quiet) { + report_block.add_before_end( +- make_unique( ++ ue2::make_unique( + report.onmatch, report.offsetAdjust, report.ekey)); + } else { + report_block.add_before_end( +- make_unique(report.ekey)); ++ ue2::make_unique(report.ekey)); + } + } + } else { // has_som + makeDedupeSom(build.rm, report, report_block); + if (report.ekey == INVALID_EKEY) { + if (!report.quiet) { +- report_block.add_before_end(make_unique( ++ report_block.add_before_end(ue2::make_unique( + report.onmatch, report.offsetAdjust)); + } + } else { + if (!report.quiet) { + report_block.add_before_end( +- make_unique( ++ ue2::make_unique( + report.onmatch, report.offsetAdjust, report.ekey)); + } else { + report_block.add_before_end( +- make_unique(report.ekey)); ++ ue2::make_unique(report.ekey)); + } + } + } +@@ -639,17 +639,17 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + addFlushCombinationProgram(report_block); + } + if (has_som) { +- auto ri = make_unique(); ++ auto ri = ue2::make_unique(); + writeSomOperation(report, &ri->som); + report_block.add_before_end(move(ri)); + } else { +- auto ri = make_unique(); ++ auto ri = ue2::make_unique(); + writeSomOperation(report, &ri->som); + report_block.add_before_end(move(ri)); + } + break; + case INTERNAL_ROSE_CHAIN: { +- report_block.add_before_end(make_unique( ++ report_block.add_before_end(ue2::make_unique( + report.onmatch, report.topSquashDistance)); + break; + } +@@ -663,17 +663,17 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + makeDedupeSom(build.rm, report, report_block); + if (report.ekey == INVALID_EKEY) { + if (!report.quiet) { +- report_block.add_before_end(make_unique( ++ report_block.add_before_end(ue2::make_unique( + report.onmatch, report.offsetAdjust)); + } + } else { + if (!report.quiet) { + report_block.add_before_end( +- make_unique( ++ ue2::make_unique( + report.onmatch, report.offsetAdjust, report.ekey)); + } else { + report_block.add_before_end( +- make_unique(report.ekey)); ++ ue2::make_unique(report.ekey)); + } + } + addLogicalSetRequired(report, build.rm, report_block); +@@ -685,17 +685,17 @@ void makeReport(const RoseBuildImpl &build, const ReportID id, + makeDedupeSom(build.rm, report, report_block); + if (report.ekey == INVALID_EKEY) { + if (!report.quiet) { +- report_block.add_before_end(make_unique( ++ report_block.add_before_end(ue2::make_unique( + report.onmatch, report.offsetAdjust)); + } + } else { + if (!report.quiet) { + report_block.add_before_end( +- make_unique( ++ ue2::make_unique( + report.onmatch, report.offsetAdjust, report.ekey)); + } else { + report_block.add_before_end( +- make_unique(report.ekey)); ++ ue2::make_unique(report.ekey)); + } + } + addLogicalSetRequired(report, build.rm, report_block); +@@ -722,11 +722,11 @@ void makeRoleReports(const RoseBuildImpl &build, + assert(contains(leftfix_info, v)); + const left_build_info &lni = leftfix_info.at(v); + program.add_before_end( +- make_unique(lni.queue, g[v].left.lag)); ++ ue2::make_unique(lni.queue, g[v].left.lag)); + report_som = true; + } else if (g[v].som_adjust) { + program.add_before_end( +- make_unique(g[v].som_adjust)); ++ ue2::make_unique(g[v].som_adjust)); + report_som = true; + } + +@@ -748,7 +748,7 @@ void makeRoleSetState(const unordered_map &roleStateIndices, + if (it == end(roleStateIndices)) { + return; + } +- program.add_before_end(make_unique(it->second)); ++ program.add_before_end(ue2::make_unique(it->second)); + } + + static +@@ -772,7 +772,7 @@ void makePushDelayedInstructions(const RoseLiteralMap &literals, + }); + + for (const auto &ri : delay_instructions) { +- program.add_before_end(make_unique(ri)); ++ program.add_before_end(ue2::make_unique(ri)); + } + } + +@@ -801,10 +801,10 @@ void makeCheckLiteralInstruction(const rose_literal_id &lit, + const auto *end_inst = program.end_instruction(); + unique_ptr ri; + if (lit.s.any_nocase()) { +- ri = make_unique(lit.s.get_string(), ++ ri = ue2::make_unique(lit.s.get_string(), + end_inst); + } else { +- ri = make_unique(lit.s.get_string(), ++ ri = ue2::make_unique(lit.s.get_string(), + end_inst); + } + program.add_before_end(move(ri)); +@@ -820,10 +820,10 @@ void makeCheckLiteralInstruction(const rose_literal_id &lit, + const auto *end_inst = program.end_instruction(); + unique_ptr ri; + if (lit.s.any_nocase()) { +- ri = make_unique(lit.s.get_string(), ++ ri = ue2::make_unique(lit.s.get_string(), + end_inst); + } else { +- ri = make_unique(lit.s.get_string(), end_inst); ++ ri = ue2::make_unique(lit.s.get_string(), end_inst); + } + program.add_before_end(move(ri)); + } +@@ -840,7 +840,7 @@ void makeRoleCheckNotHandled(ProgramBuild &prog_build, RoseVertex v, + } + + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(handled_key, end_inst); ++ auto ri = ue2::make_unique(handled_key, end_inst); + program.add_before_end(move(ri)); + } + +@@ -889,7 +889,7 @@ void makeRoleCheckBounds(const RoseBuildImpl &build, RoseVertex v, + + const auto *end_inst = program.end_instruction(); + program.add_before_end( +- make_unique(min_bound, max_bound, end_inst)); ++ ue2::make_unique(min_bound, max_bound, end_inst)); + } + + static +@@ -924,7 +924,7 @@ void makeRoleGroups(const RoseGraph &g, ProgramBuild &prog_build, + return; + } + +- program.add_before_end(make_unique(groups)); ++ program.add_before_end(ue2::make_unique(groups)); + } + + static +@@ -968,7 +968,7 @@ bool makeRoleByte(const vector &look, RoseProgram &program) { + s32 checkbyte_offset = verify_s32(entry.offset); + DEBUG_PRINTF("CHECK BYTE offset=%d\n", checkbyte_offset); + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(andmask_u8, cmpmask_u8, flip, ++ auto ri = ue2::make_unique(andmask_u8, cmpmask_u8, flip, + checkbyte_offset, end_inst); + program.add_before_end(move(ri)); + return true; +@@ -1000,7 +1000,7 @@ bool makeRoleMask(const vector &look, RoseProgram &program) { + DEBUG_PRINTF("CHECK MASK and_mask=%llx cmp_mask=%llx\n", + and_mask, cmp_mask); + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(and_mask, cmp_mask, neg_mask, ++ auto ri = ue2::make_unique(and_mask, cmp_mask, neg_mask, + base_offset, end_inst); + program.add_before_end(move(ri)); + return true; +@@ -1055,7 +1055,7 @@ bool makeRoleMask32(const vector &look, + DEBUG_PRINTF("base_offset %d\n", base_offset); + + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(and_mask, cmp_mask, neg_mask, ++ auto ri = ue2::make_unique(and_mask, cmp_mask, neg_mask, + base_offset, end_inst); + program.add_before_end(move(ri)); + return true; +@@ -1098,7 +1098,7 @@ bool makeRoleMask64(const vector &look, + DEBUG_PRINTF("base_offset %d\n", base_offset); + + const auto *end_inst = program.end_instruction(); +- auto ri = make_unique(and_mask, cmp_mask, neg_mask, ++ auto ri = ue2::make_unique(and_mask, cmp_mask, neg_mask, + base_offset, end_inst); + program.add_before_end(move(ri)); + return true; +@@ -1235,7 +1235,7 @@ makeCheckShufti16x8(u32 offset_range, u8 bucket_idx, + copy(hi_mask.begin(), hi_mask.begin() + 16, nib_mask.begin() + 16); + copy(bucket_select_mask.begin(), bucket_select_mask.begin() + 16, + bucket_select_mask_16.begin()); +- return make_unique ++ return ue2::make_unique + (nib_mask, bucket_select_mask_16, + neg_mask & 0xffff, base_offset, end_inst); + } +@@ -1255,7 +1255,7 @@ makeCheckShufti32x8(u32 offset_range, u8 bucket_idx, + array lo_mask_16; + copy(hi_mask.begin(), hi_mask.begin() + 16, hi_mask_16.begin()); + copy(lo_mask.begin(), lo_mask.begin() + 16, lo_mask_16.begin()); +- return make_unique ++ return ue2::make_unique + (hi_mask_16, lo_mask_16, bucket_select_mask, + neg_mask, base_offset, end_inst); + } +@@ -1277,7 +1277,7 @@ makeCheckShufti16x16(u32 offset_range, u8 bucket_idx, + bucket_select_mask_32.begin()); + copy(bucket_select_mask_hi.begin(), bucket_select_mask_hi.begin() + 16, + bucket_select_mask_32.begin() + 16); +- return make_unique ++ return ue2::make_unique + (hi_mask, lo_mask, bucket_select_mask_32, + neg_mask & 0xffff, base_offset, end_inst); + } +@@ -1294,7 +1294,7 @@ makeCheckShufti32x16(u32 offset_range, u8 bucket_idx, + return nullptr; + } + +- return make_unique ++ return ue2::make_unique + (hi_mask, lo_mask, bucket_select_mask_hi, + bucket_select_mask_lo, neg_mask, base_offset, end_inst); + } +@@ -1321,7 +1321,7 @@ makeCheckShufti64x8(u32 offset_range, u8 bucket_idx, + copy(lo_mask.begin(), lo_mask.begin() + 16, lo_mask_64.begin() + 32); + copy(lo_mask.begin(), lo_mask.begin() + 16, lo_mask_64.begin() + 48); + +- return make_unique ++ return ue2::make_unique + (hi_mask_64, lo_mask_64, bucket_select_mask, + neg_mask, base_offset, end_inst); + } +@@ -1361,7 +1361,7 @@ makeCheckShufti64x16(u32 offset_range, u8 bucket_idx, + copy(lo_mask.begin() + 16, lo_mask.begin() + 32, lo_mask_2.begin() + 32); + copy(lo_mask.begin() + 16, lo_mask.begin() + 32, lo_mask_2.begin() + 48); + +- return make_unique ++ return ue2::make_unique + (hi_mask_1, hi_mask_2, lo_mask_1, lo_mask_2, bucket_select_mask_hi, + bucket_select_mask_lo, neg_mask, base_offset, end_inst); + } +@@ -1486,7 +1486,7 @@ void makeLookaroundInstruction(const vector &look, + if (look.size() == 1) { + s8 offset = look.begin()->offset; + const CharReach &reach = look.begin()->reach; +- auto ri = make_unique(offset, reach, ++ auto ri = ue2::make_unique(offset, reach, + program.end_instruction()); + program.add_before_end(move(ri)); + return; +@@ -1508,7 +1508,7 @@ void makeLookaroundInstruction(const vector &look, + return; + } + +- auto ri = make_unique(look, ++ auto ri = ue2::make_unique(look, + program.end_instruction()); + program.add_before_end(move(ri)); + } +@@ -1584,7 +1584,7 @@ void makeCheckLitEarlyInstruction(const RoseBuildImpl &build, u32 lit_id, + + DEBUG_PRINTF("adding lit early check, min_offset=%u\n", min_offset); + const auto *end = prog.end_instruction(); +- prog.add_before_end(make_unique(min_offset, end)); ++ prog.add_before_end(ue2::make_unique(min_offset, end)); + } + + static +@@ -1595,7 +1595,7 @@ void makeGroupCheckInstruction(const RoseBuildImpl &build, u32 lit_id, + if (!info.group_mask) { + return; + } +- prog.add_before_end(make_unique(info.group_mask)); ++ prog.add_before_end(ue2::make_unique(info.group_mask)); + } + + static +@@ -1762,7 +1762,7 @@ bool makeRoleMultipathShufti(const vector> &multi_look, + copy(begin(lo_mask), begin(lo_mask) + 16, nib_mask.begin()); + copy(begin(hi_mask), begin(hi_mask) + 16, nib_mask.begin() + 16); + +- auto ri = make_unique ++ auto ri = ue2::make_unique + (nib_mask, bucket_select_lo, data_select_mask, hi_bits_mask, + lo_bits_mask, neg_mask, base_offset, last_start, end_inst); + program.add_before_end(move(ri)); +@@ -1771,20 +1771,20 @@ bool makeRoleMultipathShufti(const vector> &multi_look, + assert(!(hi_bits_mask & ~0xffffffffULL)); + assert(!(lo_bits_mask & ~0xffffffffULL)); + if (bit_index <= 8) { +- auto ri = make_unique ++ auto ri = ue2::make_unique + (hi_mask, lo_mask, bucket_select_lo, data_select_mask, + hi_bits_mask, lo_bits_mask, neg_mask, base_offset, + last_start, end_inst); + program.add_before_end(move(ri)); + } else { +- auto ri = make_unique ++ auto ri = ue2::make_unique + (hi_mask, lo_mask, bucket_select_hi, bucket_select_lo, + data_select_mask, hi_bits_mask, lo_bits_mask, neg_mask, + base_offset, last_start, end_inst); + program.add_before_end(move(ri)); + } + } else { +- auto ri = make_unique ++ auto ri = ue2::make_unique + (hi_mask, lo_mask, bucket_select_lo, data_select_mask, + hi_bits_mask, lo_bits_mask, neg_mask, base_offset, + last_start, end_inst); +@@ -1856,7 +1856,7 @@ void makeRoleMultipathLookaround(const vector> &multi_look, + ordered_look.emplace_back(multi_entry); + } + +- auto ri = make_unique(move(ordered_look), ++ auto ri = ue2::make_unique(move(ordered_look), + last_start, start_mask, + program.end_instruction()); + program.add_before_end(move(ri)); +@@ -1932,7 +1932,7 @@ void makeRoleSuffix(const RoseBuildImpl &build, + event = MQE_TOP; + } + +- prog.add_before_end(make_unique(queue, event)); ++ prog.add_before_end(ue2::make_unique(queue, event)); + } + + static +@@ -1945,7 +1945,7 @@ void addInfixTriggerInstructions(vector triggers, + }); + for (const auto &ti : triggers) { + prog.add_before_end( +- make_unique(ti.cancel, ti.queue, ti.event)); ++ ue2::make_unique(ti.cancel, ti.queue, ti.event)); + } + } + +@@ -2039,7 +2039,7 @@ static + void addCheckOnlyEodInstruction(RoseProgram &prog) { + DEBUG_PRINTF("only at eod\n"); + const auto *end_inst = prog.end_instruction(); +- prog.add_before_end(make_unique(end_inst)); ++ prog.add_before_end(ue2::make_unique(end_inst)); + } + + static +@@ -2164,7 +2164,7 @@ void makeGroupSquashInstruction(const RoseBuildImpl &build, u32 lit_id, + DEBUG_PRINTF("squashes 0x%llx\n", info.group_mask); + assert(info.group_mask); + /* Note: group_mask is negated. */ +- prog.add_before_end(make_unique(~info.group_mask)); ++ prog.add_before_end(ue2::make_unique(~info.group_mask)); + } + + namespace { +@@ -2209,7 +2209,7 @@ RoseProgram assembleProgramBlocks(vector &&blocks_in) { + * only set if a state has been. */ + if (!prog.empty() && reads_work_done_flag(block)) { + RoseProgram clear_block; +- clear_block.add_before_end(make_unique()); ++ clear_block.add_before_end(ue2::make_unique()); + prog.add_block(move(clear_block)); + } + +@@ -2369,7 +2369,7 @@ void makeCatchupMpv(const ReportManager &rm, bool needs_mpv_catchup, + return; + } + +- program.add_before_end(make_unique()); ++ program.add_before_end(ue2::make_unique()); + } + + RoseProgram makeReportProgram(const RoseBuildImpl &build, +@@ -2402,7 +2402,7 @@ RoseProgram makeBoundaryProgram(const RoseBuildImpl &build, + void addIncludedJumpProgram(RoseProgram &program, u32 child_offset, + u8 squash) { + RoseProgram block; +- block.add_before_end(make_unique(child_offset, ++ block.add_before_end(ue2::make_unique(child_offset, + squash)); + program.add_block(move(block)); + } +@@ -2413,7 +2413,7 @@ void addPredBlockSingle(u32 pred_state, RoseProgram &pred_block, + // Prepend an instruction to check the pred state is on. + const auto *end_inst = pred_block.end_instruction(); + pred_block.insert(begin(pred_block), +- make_unique(pred_state, end_inst)); ++ ue2::make_unique(pred_state, end_inst)); + program.add_block(move(pred_block)); + } + +@@ -2428,7 +2428,7 @@ void addPredBlocksAny(map &pred_blocks, u32 num_states, + } + + const RoseInstruction *end_inst = sparse_program.end_instruction(); +- auto ri = make_unique(num_states, keys, end_inst); ++ auto ri = ue2::make_unique(num_states, keys, end_inst); + sparse_program.add_before_end(move(ri)); + + RoseProgram &block = pred_blocks.begin()->second; +@@ -2451,14 +2451,14 @@ void addPredBlocksMulti(map &pred_blocks, + vector> jump_table; + + // BEGIN instruction. +- auto ri_begin = make_unique(num_states, end_inst); ++ auto ri_begin = ue2::make_unique(num_states, end_inst); + RoseInstrSparseIterBegin *begin_inst = ri_begin.get(); + sparse_program.add_before_end(move(ri_begin)); + + // NEXT instructions, one per pred program. + u32 prev_key = pred_blocks.begin()->first; + for (auto it = next(begin(pred_blocks)); it != end(pred_blocks); ++it) { +- auto ri = make_unique(prev_key, begin_inst, ++ auto ri = ue2::make_unique(prev_key, begin_inst, + end_inst); + sparse_program.add_before_end(move(ri)); + prev_key = it->first; +@@ -2539,7 +2539,7 @@ void applyFinalSpecialisation(RoseProgram &program) { + auto it = next(program.rbegin()); + if (auto *ri = dynamic_cast(it->get())) { + DEBUG_PRINTF("replacing REPORT with FINAL_REPORT\n"); +- program.replace(it, make_unique( ++ program.replace(it, ue2::make_unique( + ri->onmatch, ri->offset_adjust)); + } + } +diff --git a/src/rose/rose_in_util.cpp b/src/rose/rose_in_util.cpp +index 9fe47c2..6fa56d1 100644 +--- a/src/rose/rose_in_util.cpp ++++ b/src/rose/rose_in_util.cpp +@@ -93,7 +93,7 @@ private: + + unique_ptr cloneRoseGraph(const RoseInGraph &ig) { + assert(hasCorrectlyNumberedVertices(ig)); +- unique_ptr out = make_unique(); ++ unique_ptr out = ue2::make_unique(); + + unordered_map> graph_map; + unordered_map> haig_map; +diff --git a/src/smallwrite/smallwrite_build.cpp b/src/smallwrite/smallwrite_build.cpp +index ea89669..fc4e5cb 100644 +--- a/src/smallwrite/smallwrite_build.cpp ++++ b/src/smallwrite/smallwrite_build.cpp +@@ -680,7 +680,7 @@ unique_ptr buildDfa(LitTrie &trie, bool nocase) { + // Construct DFA states in BFS order. + const auto state_ids = makeStateMap(trie, ordering); + +- auto rdfa = make_unique(NFA_OUTFIX); ++ auto rdfa = ue2::make_unique(NFA_OUTFIX); + + // Calculate alphabet. + array unalpha; +diff --git a/tools/hsbench/main.cpp b/tools/hsbench/main.cpp +index 22becbd..4c671c0 100644 +--- a/tools/hsbench/main.cpp ++++ b/tools/hsbench/main.cpp +@@ -1043,7 +1043,7 @@ void runBenchmark(const Engine &db, + int HS_CDECL main(int argc, char *argv[]) { + unique_ptr grey; + #if !defined(RELEASE_BUILD) +- grey = make_unique(); ++ grey = ue2::make_unique(); + #endif + setlocale(LC_ALL, ""); // use the user's locale + +diff --git a/tools/hscheck/main.cpp b/tools/hscheck/main.cpp +index 197087b..bdecab8 100644 +--- a/tools/hscheck/main.cpp ++++ b/tools/hscheck/main.cpp +@@ -664,7 +664,7 @@ int HS_CDECL main(int argc, char **argv) { + num_of_threads = max(1u, std::thread::hardware_concurrency()); + + #if !defined(RELEASE_BUILD) +- g_grey = make_unique(); ++ g_grey = ue2::make_unique(); + #endif + processArgs(argc, argv, g_grey); + +diff --git a/tools/hscollider/GraphTruth.cpp b/tools/hscollider/GraphTruth.cpp +index 0b67b11..e43beb1 100644 +--- a/tools/hscollider/GraphTruth.cpp ++++ b/tools/hscollider/GraphTruth.cpp +@@ -134,7 +134,7 @@ void CNGInfo::compile() { + auto pl = ue2::make_unique(); + pl->parseLogicalCombination(id, re.c_str(), ~0U, 0, ~0ULL); + pl->logicalKeyRenumber(); +- cng = make_unique(move(pl)); ++ cng = ue2::make_unique(move(pl)); + return; + } + +@@ -193,7 +193,7 @@ void CNGInfo::compile() { + } + } + +- cng = make_unique(move(g), move(rm)); ++ cng = ue2::make_unique(move(g), move(rm)); + } catch (CompileError &e) { + throw NGCompileFailure(e.reason); + } catch (NGUnsupportedFailure &e) { +@@ -257,7 +257,7 @@ unique_ptr GraphTruth::preprocess(unsigned id, + } + } + +- auto cngi = make_unique(id, m_expr); ++ auto cngi = ue2::make_unique(id, m_expr); + cngi->utf8 = hs_flags & HS_FLAG_UTF8; + cngi->highlander = highlander; + cngi->prefilter = prefilter; +diff --git a/tools/hscollider/GroundTruth.cpp b/tools/hscollider/GroundTruth.cpp +index a267306..d9293dc 100644 +--- a/tools/hscollider/GroundTruth.cpp ++++ b/tools/hscollider/GroundTruth.cpp +@@ -331,7 +331,7 @@ GroundTruth::compile(unsigned id, bool no_callouts) { + int errloc = 0; + int errcode = 0; + +- unique_ptr compiled = make_unique(); ++ unique_ptr compiled = ue2::make_unique(); + compiled->utf8 = flags & PCRE_UTF8; + compiled->highlander = highlander; + compiled->prefilter = prefilter; +diff --git a/tools/hscollider/main.cpp b/tools/hscollider/main.cpp +index afa6ef5..c85526e 100644 +--- a/tools/hscollider/main.cpp ++++ b/tools/hscollider/main.cpp +@@ -1606,7 +1606,7 @@ void generateTests(CorporaSource &corpora_src, const ExpressionMap &exprMap, + max_generator_queue_len); + vector> generators; + for (size_t i = 0; i < numGeneratorThreads; i++) { +- auto c = make_unique(i, testq, corpq, corpora_src); ++ auto c = ue2::make_unique(i, testq, corpq, corpora_src); + c->start(); + generators.push_back(move(c)); + } +diff --git a/util/ng_corpus_generator.cpp b/util/ng_corpus_generator.cpp +index f796cd4..1613082 100644 +--- a/util/ng_corpus_generator.cpp ++++ b/util/ng_corpus_generator.cpp +@@ -200,7 +200,7 @@ void findPaths(const NGHolder &g, CorpusProperties &cProps, + if (boost::next(ai) == ae) { + new_path = std::move(p); + } else { +- new_path = make_unique(*p); ++ new_path = ue2::make_unique(*p); + } + + new_path->push_back(v); diff --git a/recipes/hyperscan/all/test_package/conanfile.py b/recipes/hyperscan/all/test_package/conanfile.py index f5c91753bcba3..5e1749b052fcf 100644 --- a/recipes/hyperscan/all/test_package/conanfile.py +++ b/recipes/hyperscan/all/test_package/conanfile.py @@ -9,6 +9,8 @@ class TestPackageConan(ConanFile): generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" + _with_chimera = False + def layout(self): cmake_layout(self) @@ -20,6 +22,8 @@ def generate(self): tc.variables["BUILD_CHIMERA"] = self.dependencies["hyperscan"].options.build_chimera tc.generate() + self._with_chimera = self.dependencies["hyperscan"].options.build_chimera + def build(self): cmake = CMake(self) cmake.configure() @@ -30,6 +34,6 @@ def test(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "hs_example") self.run(bin_path, env="conanrun") - if self.options["hyperscan"].build_chimera: + if self._with_chimera: bin_path = os.path.join(self.cpp.build.bindirs[0], "ch_example") self.run(bin_path, env="conanrun") diff --git a/recipes/hyperscan/config.yml b/recipes/hyperscan/config.yml index d02161efd202b..4915e863cdb5a 100644 --- a/recipes/hyperscan/config.yml +++ b/recipes/hyperscan/config.yml @@ -1,3 +1,5 @@ versions: + "5.4.2": + folder: all "5.4.0": folder: all From 4c7939bc4f74883779b8a6a3b6e5472c70140744 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 2 Sep 2023 22:06:20 +0300 Subject: [PATCH 1476/4087] (#18663) enkits: migrate to Conan v2 * enkits: migrate to Conan v2 * enkits: restore VirtualRunEnv in test_package * enkits: add m --- recipes/enkits/all/CMakeLists.txt | 7 -- recipes/enkits/all/conandata.yml | 10 --- recipes/enkits/all/conanfile.py | 74 ++++++++++--------- .../patches/cmake-install-lib-location.patch | 5 -- .../enkits/all/test_package/CMakeLists.txt | 9 +-- recipes/enkits/all/test_package/conanfile.py | 22 ++++-- .../enkits/all/test_v1_package/CMakeLists.txt | 8 ++ .../enkits/all/test_v1_package/conanfile.py | 16 ++++ 8 files changed, 85 insertions(+), 66 deletions(-) delete mode 100644 recipes/enkits/all/CMakeLists.txt delete mode 100644 recipes/enkits/all/patches/cmake-install-lib-location.patch create mode 100644 recipes/enkits/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/enkits/all/test_v1_package/conanfile.py diff --git a/recipes/enkits/all/CMakeLists.txt b/recipes/enkits/all/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/enkits/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/enkits/all/conandata.yml b/recipes/enkits/all/conandata.yml index 9604c7fcf2b72..197355c129edc 100644 --- a/recipes/enkits/all/conandata.yml +++ b/recipes/enkits/all/conandata.yml @@ -8,13 +8,3 @@ sources: "1.8": url: "https://github.com/dougbinks/enkiTS/archive/v1.8.zip" sha256: "b96d8d439502d52f9dc419539b12b588df10750f4631ad5518586f7048cdfaef" -patches: - "1.11": - - patch_file: "patches/cmake-install-lib-location.patch" - base_path: "source_subfolder" - "1.10": - - patch_file: "patches/cmake-install-lib-location.patch" - base_path: "source_subfolder" - "1.8": - - patch_file: "patches/cmake-install-lib-location.patch" - base_path: "source_subfolder" diff --git a/recipes/enkits/all/conanfile.py b/recipes/enkits/all/conanfile.py index 3a8bf5c9e920b..6149fad91345f 100644 --- a/recipes/enkits/all/conanfile.py +++ b/recipes/enkits/all/conanfile.py @@ -1,18 +1,22 @@ import os -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, export_conandata_patches, get, replace_in_file + +required_conan_version = ">=1.53.0" + class EnkiTSConan(ConanFile): name = "enkits" description = "A permissively licensed C and C++ Task Scheduler for creating parallel programs." - topics = ("conan", "c", "thread", "multithreading", "scheduling", "enkits", "gamedev") + license = "Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dougbinks/enkiTS" - license = "Zlib" - settings = "os", "arch", "compiler", "build_type" - - exports_sources = "CMakeLists.txt", "patches/*" - generators = "cmake" + topics = ("c", "thread", "multithreading", "scheduling", "gamedev") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,11 +26,8 @@ class EnkiTSConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -34,37 +35,44 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "enkiTS-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["ENKITS_INSTALL"] = True - self._cmake.definitions["ENKITS_BUILD_EXAMPLES"] = False - self._cmake.definitions["ENKITS_BUILD_SHARED"] = self.options.shared - 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["ENKITS_INSTALL"] = True + tc.variables["ENKITS_BUILD_EXAMPLES"] = False + tc.variables["ENKITS_BUILD_SHARED"] = self.options.shared + tc.generate() + + def _patch_sources(self): + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + 'install(TARGETS enkiTS DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/enkiTS")', + "install(TARGETS enkiTS ARCHIVE LIBRARY RUNTIME)", + ) def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="License.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 = ["enkiTS"] - + if self.options.shared: self.cpp_info.defines.append("ENKITS_DLL=1") - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["pthread"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] diff --git a/recipes/enkits/all/patches/cmake-install-lib-location.patch b/recipes/enkits/all/patches/cmake-install-lib-location.patch deleted file mode 100644 index 0a43979813c18..0000000000000 --- a/recipes/enkits/all/patches/cmake-install-lib-location.patch +++ /dev/null @@ -1,5 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -63,1 +63,1 @@ -- install(TARGETS enkiTS DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/enkiTS") -+ install(TARGETS enkiTS ARCHIVE LIBRARY RUNTIME) diff --git a/recipes/enkits/all/test_package/CMakeLists.txt b/recipes/enkits/all/test_package/CMakeLists.txt index 33ae887aa6aea..2c29974d55284 100644 --- a/recipes/enkits/all/test_package/CMakeLists.txt +++ b/recipes/enkits/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(enkits REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE enkits::enkits) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/enkits/all/test_package/conanfile.py b/recipes/enkits/all/test_package/conanfile.py index 32e9e0cb58ab6..ef5d7042163ec 100644 --- a/recipes/enkits/all/test_package/conanfile.py +++ b/recipes/enkits/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/enkits/all/test_v1_package/CMakeLists.txt b/recipes/enkits/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/enkits/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/enkits/all/test_v1_package/conanfile.py b/recipes/enkits/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..910ae60d10438 --- /dev/null +++ b/recipes/enkits/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e1aa944277a1546bf918ff4eb2e2e364ac539b38 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 2 Sep 2023 22:48:42 +0300 Subject: [PATCH 1477/4087] (#18688) qdbm: migrate to Conan v2 * qdbm: migrate to Conan v2 * qdbm: move DLLs from lib to bin * qdbm: restore VirtualRunEnv in test_package --- recipes/qdbm/all/CMakeLists.txt | 15 +--- recipes/qdbm/all/conandata.yml | 2 +- recipes/qdbm/all/conanfile.py | 73 ++++++++++--------- recipes/qdbm/all/test_package/CMakeLists.txt | 5 +- recipes/qdbm/all/test_package/conanfile.py | 22 ++++-- recipes/qdbm/all/test_package/test_package.c | 10 +-- .../qdbm/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/qdbm/all/test_v1_package/conanfile.py | 18 +++++ 8 files changed, 88 insertions(+), 65 deletions(-) create mode 100644 recipes/qdbm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/qdbm/all/test_v1_package/conanfile.py diff --git a/recipes/qdbm/all/CMakeLists.txt b/recipes/qdbm/all/CMakeLists.txt index 39427c2f3ccc3..1f080a697bce5 100644 --- a/recipes/qdbm/all/CMakeLists.txt +++ b/recipes/qdbm/all/CMakeLists.txt @@ -1,11 +1,7 @@ -cmake_minimum_required(VERSION 3.1) - +cmake_minimum_required(VERSION 3.12) project(qdbm_wrapper VERSION "${CONAN_qdbm_VERSION}" LANGUAGES C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) - -set(QDBM_SRC_DIR ${PROJECT_SOURCE_DIR}/source_subfolder) +set(QDBM_SRC_DIR ${CMAKE_CURRENT_LIST_DIR}/src) # ---- Dependencies ---- @@ -65,12 +61,7 @@ set_target_properties( include(GNUInstallDirs) -install( - TARGETS qdbm - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -) +install(TARGETS qdbm) install( FILES diff --git a/recipes/qdbm/all/conandata.yml b/recipes/qdbm/all/conandata.yml index c04a6ca2954e6..bd41a3e5c73fa 100644 --- a/recipes/qdbm/all/conandata.yml +++ b/recipes/qdbm/all/conandata.yml @@ -1,4 +1,4 @@ sources: "1.8.78": sha256: "b466fe730d751e4bfc5900d1f37b0fb955f2826ac456e70012785e012cdcb73e" - url: http://fallabs.com/qdbm/qdbm-1.8.78.tar.gz + url: "https://dbmx.net/qdbm/qdbm-1.8.78.tar.gz" diff --git a/recipes/qdbm/all/conanfile.py b/recipes/qdbm/all/conanfile.py index 476d0ec62783b..4341f35ed3bb7 100644 --- a/recipes/qdbm/all/conanfile.py +++ b/recipes/qdbm/all/conanfile.py @@ -1,17 +1,22 @@ -from conans import ConanFile, CMake, tools -import functools +import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rename + +required_conan_version = ">=1.53.0" class QDBMConan(ConanFile): name = "qdbm" description = "QDBM is a library of routines for managing a database." - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://fallabs.com/qdbm/" - topics = ("qdbm", "database", "db") license = "LGPL-2.1-or-later" - settings = ("os", "arch", "compiler", "build_type") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://dbmx.net/qdbm/" + topics = ("database", "db") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -27,53 +32,53 @@ class QDBMConan(ConanFile): "with_zlib": True, } - generators = "cmake", "cmake_find_package" - exports_sources = "CMakeLists.txt" - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - del self.options.with_pthread + self.options.rm_safe("with_pthread") 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): if self.options.with_iconv: - self.requires("libiconv/1.16") + self.requires("libiconv/1.17") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CONAN_qdbm_VERSION"] = self.version - cmake.definitions["MYICONV"] = self.options.with_iconv - cmake.definitions["MYZLIB"] = self.options.with_zlib - cmake.definitions["MYPTHREAD"] = self.options\ - .get_safe("with_pthread", False) - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CONAN_qdbm_VERSION"] = self.version + tc.variables["MYICONV"] = self.options.with_iconv + tc.variables["MYZLIB"] = self.options.with_zlib + tc.variables["MYPTHREAD"] = self.options.get_safe("with_pthread", False) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() + for dll in (self.package_path / "lib").glob("*.dll"): + rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.libs = ["qdbm"] diff --git a/recipes/qdbm/all/test_package/CMakeLists.txt b/recipes/qdbm/all/test_package/CMakeLists.txt index ea1c210104fb1..5c076c42369f7 100644 --- a/recipes/qdbm/all/test_package/CMakeLists.txt +++ b/recipes/qdbm/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(qdbm REQUIRED CONFIG) add_executable(test_package test_package.c) diff --git a/recipes/qdbm/all/test_package/conanfile.py b/recipes/qdbm/all/test_package/conanfile.py index ec80e0c5cc134..ef5d7042163ec 100644 --- a/recipes/qdbm/all/test_package/conanfile.py +++ b/recipes/qdbm/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/qdbm/all/test_package/test_package.c b/recipes/qdbm/all/test_package/test_package.c index 68bad9e85cf15..3d79beba62257 100644 --- a/recipes/qdbm/all/test_package/test_package.c +++ b/recipes/qdbm/all/test_package/test_package.c @@ -1,12 +1,8 @@ #include #include -int main(int argc, char const* argv[]) +int main() { - (void)argc; - (void)argv; - - cbfree(NULL); - - return 0; + cbfree(NULL); + return 0; } diff --git a/recipes/qdbm/all/test_v1_package/CMakeLists.txt b/recipes/qdbm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/qdbm/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/qdbm/all/test_v1_package/conanfile.py b/recipes/qdbm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..ec80e0c5cc134 --- /dev/null +++ b/recipes/qdbm/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 4a14a01b3dcf5ab0877370c567c5801eece7580d Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Sat, 2 Sep 2023 22:30:04 +0200 Subject: [PATCH 1478/4087] (#18906) lzip/*: Updated recipe for conan 2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lzip: Updated recipe for conan 2.0 * Minor edits --------- Co-authored-by: Rubén Rincón Blanco --- recipes/lzip/all/conandata.yml | 27 +++-- recipes/lzip/all/conanfile.py | 109 ++++++------------ .../all/patches/1.21-0001-any-compiler.patch | 81 +++++++++---- .../all/patches/1.22-0001-any-compiler.patch | 88 +++++++++++--- .../all/patches/1.23-0001-any-compiler.patch | 78 +++++++++++++ recipes/lzip/all/test_package/conanfile.py | 68 +++++++---- recipes/lzip/config.yml | 2 + 7 files changed, 310 insertions(+), 143 deletions(-) create mode 100644 recipes/lzip/all/patches/1.23-0001-any-compiler.patch diff --git a/recipes/lzip/all/conandata.yml b/recipes/lzip/all/conandata.yml index 2b81d53f9b8e1..f3b143bd6541b 100644 --- a/recipes/lzip/all/conandata.yml +++ b/recipes/lzip/all/conandata.yml @@ -1,20 +1,23 @@ sources: + "1.23": + url: + - "http://download.savannah.gnu.org/releases/lzip/lzip-1.23.tar.gz" + - "https://download-mirror.savannah.gnu.org/releases/lzip/lzip-1.23.tar.gz" + sha256: "4792c047ddf15ef29d55ba8e68a1a21e0cb7692d87ecdf7204419864582f280d" "1.22": - url: [ - "http://download.savannah.gnu.org/releases/lzip/lzip-1.22.tar.gz", - "https://download-mirror.savannah.gnu.org/releases/lzip/lzip-1.22.tar.gz", - ] + url: + - "http://download.savannah.gnu.org/releases/lzip/lzip-1.22.tar.gz" + - "https://download-mirror.savannah.gnu.org/releases/lzip/lzip-1.22.tar.gz" sha256: "c3342d42e67139c165b8b128d033b5c96893a13ac5f25933190315214e87a948" "1.21": - url: [ - "http://download.savannah.gnu.org/releases/lzip/lzip-1.21.tar.gz", - "https://download-mirror.savannah.gnu.org/releases/lzip/lzip-1.21.tar.gz", - ] + url: + - "http://download.savannah.gnu.org/releases/lzip/lzip-1.21.tar.gz" + - "https://download-mirror.savannah.gnu.org/releases/lzip/lzip-1.21.tar.gz" sha256: "e48b5039d3164d670791f9c5dbaa832bf2df080cb1fbb4f33aa7b3300b670d8b" patches: + "1.23": + - patch_file: "patches/1.23-0001-any-compiler.patch" "1.22": - - base_path: "source_subfolder" - patch_file: "patches/1.22-0001-any-compiler.patch" + - patch_file: "patches/1.22-0001-any-compiler.patch" "1.21": - - base_path: "source_subfolder" - patch_file: "patches/1.21-0001-any-compiler.patch" + - patch_file: "patches/1.21-0001-any-compiler.patch" diff --git a/recipes/lzip/all/conanfile.py b/recipes/lzip/all/conanfile.py index 96c8fbac3cb58..3a29086521b1e 100644 --- a/recipes/lzip/all/conanfile.py +++ b/recipes/lzip/all/conanfile.py @@ -1,102 +1,59 @@ -from conans import AutoToolsBuildEnvironment, CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import contextlib +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.files import copy, get, replace_in_file, rmdir, patch, apply_conandata_patches, export_conandata_patches +from conan.tools.layout import basic_layout import os -import textwrap -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class LzipConan(ConanFile): name = "lzip" description = "Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2" - topics = ("lzip", "compressor", "lzma") license = "GPL-v2-or-later" - homepage = "https://www.nongnu.org/lzip/" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.nongnu.org/lzip/" + topics = ("compressor", "lzma") + package_type = "application" settings = "os", "arch", "compiler", "build_type" - exports_sources = "patches/**" - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.compiler == "Visual Studio": - raise ConanInvalidConfiguration("Visual Studio is not supported") + if self.settings.os == "Windows" and self.settings.compiler != "gcc": + raise ConanInvalidConfiguration("Only gcc supported for windows builds") def package_id(self): del self.info.settings.compiler - - def _detect_compilers(self): - tools.rmdir("detectdir") - tools.mkdir("detectdir") - with tools.chdir("detectdir"): - tools.save("CMakeLists.txt", textwrap.dedent("""\ - cmake_minimum_required(VERSION 2.8) - project(test C CXX) - message(STATUS "CC=${CMAKE_C_COMPILER}") - message(STATUS "CXX=${CMAKE_CXX_COMPILER}") - file(WRITE cc.txt "${CMAKE_C_COMPILER}") - file(WRITE cxx.txt "${CMAKE_CXX_COMPILER}") - """)) - CMake(self).configure(source_folder="detectdir", build_folder="detectdir") - cc = tools.load("cc.txt").strip() - cxx = tools.load("cxx.txt").strip() - return cc, cxx + del self.info.settings.build_type def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @contextlib.contextmanager - def _build_context(self): - env = {} - cc, cxx = self._detect_compilers() - if not tools.get_env("CC"): - env["CC"] = cc - if not tools.get_env("CXX"): - env["CXX"] = cxx - with tools.environment_append(env): - yield + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - conf_args = [ - ] - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + apply_conandata_patches(self) - def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - with tools.environment_append({"CONAN_CPU_COUNT": "1"}): - autotools.install() + autotools = Autotools(self) + autotools.configure() + autotools.make() - tools.rmdir(os.path.join(self.package_folder, "share")) + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install(target="install-bin") def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + + bindir = os.path.join(self.package_folder, "bin") + self.runenv_info.prepend_path("PATH", bindir) diff --git a/recipes/lzip/all/patches/1.21-0001-any-compiler.patch b/recipes/lzip/all/patches/1.21-0001-any-compiler.patch index 68dcb6f524644..594395a65c8c3 100644 --- a/recipes/lzip/all/patches/1.21-0001-any-compiler.patch +++ b/recipes/lzip/all/patches/1.21-0001-any-compiler.patch @@ -1,25 +1,66 @@ ---- configure -+++ configure -@@ -21,7 +21,7 @@ +--- configure 2018-12-31 23:47:09.000000000 +0100 ++++ configure 2023-08-20 17:40:14.170994800 +0200 +@@ -9,6 +9,7 @@ + pkgversion=1.21 + progname=lzip + srctrigger=doc/${pkgname}.texi ++extension= + + # clear some things potentially inherited from environment. + LC_ALL=C +@@ -20,7 +21,7 @@ + datarootdir='$(prefix)/share' infodir='$(datarootdir)/info' mandir='$(datarootdir)/man' -CXX=g++ --CPPFLAGS= --CXXFLAGS='-Wall -W -O2' --LDFLAGS= -+#CXX=g++ -+#CPPFLAGS= -+#CXXFLAGS='-Wall -W -O2' -+#LDFLAGS= ++CXX="${CXX:-g++}" + CPPFLAGS= + CXXFLAGS='-Wall -W -O2' + LDFLAGS= +@@ -118,6 +119,19 @@ + fi + done + ++rm -f dummy* ++cat << EOT > dummy.c ++int main(int argc, char ** argv) { ++ return 0; ++} ++EOT ++ ++${CXX} -o dummy dummy.c ++ ++if [ -f dummy.exe ] ; then ++ extension=".exe" ++fi ++ + # Find the source files, if location was not specified. + srcdirtext= + if [ -z "${srcdir}" ] ; then +@@ -158,6 +172,7 @@ + echo "creating Makefile" + echo "VPATH = ${srcdir}" + echo "prefix = ${prefix}" ++echo "executable extension = ${extension}" + echo "exec_prefix = ${exec_prefix}" + echo "bindir = ${bindir}" + echo "datarootdir = ${datarootdir}" +@@ -179,6 +194,7 @@ + pkgname = ${pkgname} + pkgversion = ${pkgversion} + progname = ${progname} ++extension = ${extension} + VPATH = ${srcdir} + prefix = ${prefix} + exec_prefix = ${exec_prefix} +--- Makefile.in 2018-03-21 13:21:16.000000000 +0100 ++++ Makefile.in 2023-08-20 17:32:44.011055100 +0200 +@@ -64,7 +64,7 @@ -@@ -28,8 +28,8 @@ - # checking whether we are using GNU C++. - /bin/sh -c "${CXX} --version" > /dev/null 2>&1 || - { -- CXX=c++ -- CXXFLAGS=-O2 -+ echo "hello" # CXX=c++ -+ echo "hello" # CXXFLAGS=-O2 - } + install-bin : all + if [ ! -d "$(DESTDIR)$(bindir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(bindir)" ; fi +- $(INSTALL_PROGRAM) ./$(progname) "$(DESTDIR)$(bindir)/$(progname)" ++ $(INSTALL_PROGRAM) ./$(progname)$(extension) "$(DESTDIR)$(bindir)/$(progname)$(extension)" - # Loop over all args + install-bin-strip : all + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install-bin diff --git a/recipes/lzip/all/patches/1.22-0001-any-compiler.patch b/recipes/lzip/all/patches/1.22-0001-any-compiler.patch index 50311f5627b8c..9388ec1d5dc3d 100644 --- a/recipes/lzip/all/patches/1.22-0001-any-compiler.patch +++ b/recipes/lzip/all/patches/1.22-0001-any-compiler.patch @@ -1,18 +1,78 @@ ---- configure -+++ configure -@@ -24,7 +24,7 @@ +--- configure 2021-01-01 14:06:33.000000000 +0100 ++++ configure 2023-08-20 17:48:10.569541300 +0200 +@@ -9,6 +9,7 @@ + pkgversion=1.22 + progname=lzip + srctrigger=doc/${pkgname}.texi ++extension= + + # clear some things potentially inherited from environment. + LC_ALL=C +@@ -23,7 +24,7 @@ + build=no check=no installdir= -CXX=g++ --CPPFLAGS= --CXXFLAGS='-Wall -W -O2' --LDFLAGS= -+#CXX=g++ -+#CPPFLAGS= -+#CXXFLAGS='-Wall -W -O2' -+#LDFLAGS= ++CXX="${CXX:-g++}" + CPPFLAGS= + CXXFLAGS='-Wall -W -O2' + LDFLAGS= +@@ -125,6 +126,19 @@ + fi + done + ++rm -f dummy* ++cat << EOT > dummy.c ++int main(int argc, char ** argv) { ++ return 0; ++} ++EOT ++ ++${CXX} -o dummy dummy.c ++ ++if [ -f dummy.exe ] ; then ++ extension=".exe" ++fi ++ + # Find the source files, if location was not specified. + srcdirtext= + if [ -z "${srcdir}" ] ; then +@@ -161,9 +175,9 @@ + "${srcdir}/testsuite/check.sh" "${srcdir}/testsuite" ${pkgversion} || exit 1 + fi + if [ -n "${installdir}" ] ; then +- echo "installing ${progname} in ${installdir}" ++ echo "installing ${progname}${extension} in ${installdir}" + [ -d "${installdir}" ] || mkdir -p "${installdir}" || exit 1 +- cp -fp ${progname} "${installdir}/${progname}" || exit 1 ++ cp -fp "${progname}${extension}" "${installdir}/${progname}${extension}" || exit 1 + fi + exit 0 + fi +@@ -188,6 +202,7 @@ + echo "creating Makefile" + echo "VPATH = ${srcdir}" + echo "prefix = ${prefix}" ++echo "executable extension = ${extension}" + echo "exec_prefix = ${exec_prefix}" + echo "bindir = ${bindir}" + echo "datarootdir = ${datarootdir}" +@@ -209,6 +224,7 @@ + pkgname = ${pkgname} + pkgversion = ${pkgversion} + progname = ${progname} ++extension = ${extension} + VPATH = ${srcdir} + prefix = ${prefix} + exec_prefix = ${exec_prefix} +--- Makefile.in 2020-05-02 00:06:48.000000000 +0200 ++++ Makefile.in 2023-08-20 17:46:52.265608300 +0200 +@@ -64,7 +64,7 @@ + + install-bin : all + if [ ! -d "$(DESTDIR)$(bindir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(bindir)" ; fi +- $(INSTALL_PROGRAM) ./$(progname) "$(DESTDIR)$(bindir)/$(progname)" ++ $(INSTALL_PROGRAM) ./$(progname)$(extension) "$(DESTDIR)$(bindir)/$(progname)$(extension)" -@@ -31,2 +31,2 @@ - # checking whether we are using GNU C++. --/bin/sh -c "${CXX} --version" > /dev/null 2>&1 || { CXX=c++ ; CXXFLAGS=-O2 ; } -+# /bin/sh -c "${CXX} --version" > /dev/null 2>&1 || { CXX=c++ ; CXXFLAGS=-O2 ; } + install-bin-strip : all + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install-bin diff --git a/recipes/lzip/all/patches/1.23-0001-any-compiler.patch b/recipes/lzip/all/patches/1.23-0001-any-compiler.patch new file mode 100644 index 0000000000000..ad4c3f5cc843d --- /dev/null +++ b/recipes/lzip/all/patches/1.23-0001-any-compiler.patch @@ -0,0 +1,78 @@ +--- configure 2022-01-22 01:11:01.000000000 +0100 ++++ configure 2023-08-20 17:51:18.537172800 +0200 +@@ -9,6 +9,7 @@ + pkgversion=1.23 + progname=lzip + srctrigger=doc/${pkgname}.texi ++extension= + + # clear some things potentially inherited from environment. + LC_ALL=C +@@ -23,7 +24,7 @@ + build=no + check=no + installdir= +-CXX=g++ ++CXX="${CXX:-g++}" + CPPFLAGS= + CXXFLAGS='-Wall -W -O2' + LDFLAGS= +@@ -125,6 +126,19 @@ + fi + done + ++rm -f dummy* ++cat << EOT > dummy.c ++int main(int argc, char ** argv) { ++ return 0; ++} ++EOT ++ ++${CXX} -o dummy dummy.c ++ ++if [ -f dummy.exe ] ; then ++ extension=".exe" ++fi ++ + # Find the source files, if location was not specified. + srcdirtext= + if [ -z "${srcdir}" ] ; then +@@ -161,9 +175,9 @@ + "${srcdir}/testsuite/check.sh" "${srcdir}/testsuite" ${pkgversion} || exit 1 + fi + if [ -n "${installdir}" ] ; then +- echo "installing ${progname} in ${installdir}" ++ echo "installing ${progname}${extension} in ${installdir}" + [ -d "${installdir}" ] || mkdir -p "${installdir}" || exit 1 +- cp -fp ${progname} "${installdir}/${progname}" || exit 1 ++ cp -fp "${progname}${extension}" "${installdir}/${progname}${extension}" || exit 1 + fi + exit 0 + fi +@@ -188,6 +202,7 @@ + echo "creating Makefile" + echo "VPATH = ${srcdir}" + echo "prefix = ${prefix}" ++echo "executable extension = ${extension}" + echo "exec_prefix = ${exec_prefix}" + echo "bindir = ${bindir}" + echo "datarootdir = ${datarootdir}" +@@ -209,6 +224,7 @@ + pkgname = ${pkgname} + pkgversion = ${pkgversion} + progname = ${progname} ++extension = ${extension} + VPATH = ${srcdir} + prefix = ${prefix} + exec_prefix = ${exec_prefix} +--- Makefile.in 2021-10-07 01:01:07.000000000 +0200 ++++ Makefile.in 2023-08-20 17:18:35.382705100 +0200 +@@ -64,7 +64,7 @@ + + install-bin : all + if [ ! -d "$(DESTDIR)$(bindir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(bindir)" ; fi +- $(INSTALL_PROGRAM) ./$(progname) "$(DESTDIR)$(bindir)/$(progname)" ++ $(INSTALL_PROGRAM) ./$(progname)$(extension) "$(DESTDIR)$(bindir)/$(progname)$(extension)" + + install-bin-strip : all + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install-bin diff --git a/recipes/lzip/all/test_package/conanfile.py b/recipes/lzip/all/test_package/conanfile.py index 84ae9d8826de5..16e19ad7002bc 100644 --- a/recipes/lzip/all/test_package/conanfile.py +++ b/recipes/lzip/all/test_package/conanfile.py @@ -1,27 +1,53 @@ -from conans import ConanFile, tools -from conans.errors import ConanException +from conan import ConanFile +from conan.errors import ConanException +from conan.tools.build import can_run +from conan.tools.files import rm, save, check_sha256 import os -import shutil - +from io import StringIO class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - lzip = os.path.join(self.deps_cpp_info["lzip"].bin_paths[0], "lzip") - self.run("{} --version".format(lzip)) - - shutil.copy(os.path.join(self.source_folder, "conanfile.py"), - "conanfile.py") - - sha256_original = tools.sha256sum("conanfile.py") - self.run("{} conanfile.py".format(lzip), run_environment=True) - if not os.path.exists("conanfile.py.lz"): - raise ConanException("conanfile.py.lz does not exist") - if os.path.exists("conanfile.py"): - raise ConanException("copied conanfile.py should not exist anymore") - - self.run("{} -d conanfile.py.lz".format(lzip), run_environment=True) - if tools.sha256sum("conanfile.py") != sha256_original: - raise ConanException("sha256 from extracted conanfile.py does not match original") + if not can_run(self): + return + + cmd_output = StringIO() + self.run(f"lzip --version", cmd_output, env="conanrun") + + #Create input test file + input_file_sha256 = "6a7ef9d581b577bbe8415d69ccc2549287eb99b5d856a213df742f8b89986a6a" + input_file = "input.txt" + if os.path.exists(input_file): + rm(self, input_file, ".") + + save(self, input_file, "Klaus is king!") + + #Ensure output test file does not exist + output_file = input_file + ".lz" + if os.path.exists(output_file): + rm(self, output_file, ".") + + #Zip the input file + self.run(f"lzip {input_file}", env="conanrun") + if not os.path.exists(f"{output_file}"): + raise ConanException(f"{output_file} does not exist") + + if os.path.exists(f"{input_file}"): + raise ConanException(f"{input_file} does exist") + + #Unzip the input file + self.run(f"lzip -d {output_file}", env="conanrun") + if os.path.exists(f"{output_file}"): + raise ConanException(f"{output_file} does not exist") + + if not os.path.exists(f"{input_file}"): + raise ConanException(f"{input_file} does exist") + + #Compare checksum of unzipped file with expected value + check_sha256(self, input_file, input_file_sha256) diff --git a/recipes/lzip/config.yml b/recipes/lzip/config.yml index e027a6bc18156..fe52638d1ec86 100644 --- a/recipes/lzip/config.yml +++ b/recipes/lzip/config.yml @@ -1,4 +1,6 @@ versions: + "1.23": + folder: "all" "1.22": folder: "all" "1.21": From e3d536544449d8edb7babc92ebf57692cbfc79bd Mon Sep 17 00:00:00 2001 From: qwqbot Date: Sun, 3 Sep 2023 04:50:28 +0800 Subject: [PATCH 1479/4087] (#19022) intx: fix minimum compiler required to clang13 & gcc11 --- recipes/intx/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/intx/all/conanfile.py b/recipes/intx/all/conanfile.py index 7d3e3dcf60652..fcbc0174dcfbb 100644 --- a/recipes/intx/all/conanfile.py +++ b/recipes/intx/all/conanfile.py @@ -30,8 +30,8 @@ def _compilers_minimum_version(self): return { "Visual Studio": "16", "msvc": "192", - "gcc": "12", - "clang": "15", + "gcc": "11", + "clang": "13", "apple-clang": "14.1", } From d54e8f10241a0ea73f993bf1227a45be262c601b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 06:14:27 +0900 Subject: [PATCH 1480/4087] (#19515) octo-logger-cpp: support conan v2, update fmt/10.1.1, add package_type --- recipes/octo-logger-cpp/all/conandata.yml | 12 ++--- recipes/octo-logger-cpp/all/conanfile.py | 52 ++++++++++--------- .../all/test_package/CMakeLists.txt | 8 +-- .../all/test_package/conanfile.py | 18 +++---- recipes/octo-logger-cpp/config.yml | 4 +- 5 files changed, 49 insertions(+), 45 deletions(-) diff --git a/recipes/octo-logger-cpp/all/conandata.yml b/recipes/octo-logger-cpp/all/conandata.yml index 035fe6943e202..29be2c16d0289 100644 --- a/recipes/octo-logger-cpp/all/conandata.yml +++ b/recipes/octo-logger-cpp/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "1.1.0": - sha256: 69057ab2f0ba0754dc6dce1f27c6f1fd9ad1e97c828779a801273bb3e9123e4e - url: https://github.com/ofiriluz/octo-logger-cpp/archive/refs/tags/v1.1.0.tar.gz - "1.2.0": - sha256: 54381d6dbc80c6be6d8b9e087a4b55fae6ff5d07c3c2399bc7e1c94252260bf2 - url: https://github.com/ofiriluz/octo-logger-cpp/archive/refs/tags/v1.2.0.tar.gz "1.4.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.4.0.tar.gz" sha256: "6aacbab0e57917a935e0f9741e52a57ecac21785ba49aaafec5775030208a153" + "1.2.0": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/refs/tags/v1.2.0.tar.gz" + sha256: "54381d6dbc80c6be6d8b9e087a4b55fae6ff5d07c3c2399bc7e1c94252260bf2" + "1.1.0": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/refs/tags/v1.1.0.tar.gz" + sha256: "69057ab2f0ba0754dc6dce1f27c6f1fd9ad1e97c828779a801273bb3e9123e4e" diff --git a/recipes/octo-logger-cpp/all/conanfile.py b/recipes/octo-logger-cpp/all/conanfile.py index cdb8df5c161d2..042c94eec1f92 100644 --- a/recipes/octo-logger-cpp/all/conanfile.py +++ b/recipes/octo-logger-cpp/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.errors import ConanInvalidConfiguration from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.50.0" @@ -11,19 +12,24 @@ class OctoLoggerCPPConan(ConanFile): name = "octo-logger-cpp" + description = "CPP Stream based logging library" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ofiriluz/octo-logger-cpp" - description = "Octo logger library" - topics = ("logging", "cpp") - settings = "os", "compiler", "build_type", "arch" + topics = ("logging", "stream", "syslog", "cloudwatch") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" options = { - "with_aws": [True, False] + "with_aws": [True, False], } default_options = { - "with_aws": False + "with_aws": False, } + @property + def _min_cppstd(self): + return 17 + @property def _compilers_minimum_version(self): return { @@ -56,37 +62,32 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, "17") - + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name} requires C++17, which your compiler does not support." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - else: - self.output.warn(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": - raise ConanInvalidConfiguration(f"{self.name} does not support clang with libc++. Use libstdc++ instead.") - if self.settings.compiler == "Visual Studio" and self.settings.compiler.runtime in ["MTd", "MT"]: - raise ConanInvalidConfiguration(f"{self.name} does not support MSVC MT/MTd configurations, only MD/MDd is supported") + raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libc++. Use libstdc++ instead.") + if is_msvc(self) and self.settings.compiler.runtime in ["MTd", "MT"]: + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC MT/MTd configurations, only MD/MDd is supported") if self.options.get_safe("with_aws"): if not self.dependencies["aws-sdk-cpp"].options.logs: - raise ConanInvalidConfiguration(f"{self.name} requires the option aws-sdk-cpp:logs=True") - + raise ConanInvalidConfiguration(f"{self.ref} requires the option aws-sdk-cpp:logs=True") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def requirements(self): - self.requires("fmt/9.0.0") + self.requires("fmt/10.1.1", transitive_headers=True) if self.options.get_safe("with_aws"): self.requires("nlohmann_json/3.11.2") self.requires("aws-sdk-cpp/1.9.234") def build_requirements(self): - self.build_requires("cmake/3.24.0") + self.tool_requires("cmake/[>=3.16 <4]") def build(self): cmake = CMake(self) @@ -99,16 +100,19 @@ def package(self): cmake.install() def package_info(self): + self.cpp_info.libs = ["octo-logger-cpp"] + self.cpp_info.set_property("cmake_file_name", "octo-logger-cpp") self.cpp_info.set_property("cmake_target_name", "octo::octo-logger-cpp") self.cpp_info.set_property("pkg_config_name", "octo-logger-cpp") - self.cpp_info.libs = ["octo-logger-cpp"] - self.cpp_info.names["cmake_find_package"] = "octo-logger-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "octo-logger-cpp" - self.cpp_info.names["pkg_config"] = "octo-logger-cpp" self.cpp_info.requires = ["fmt::fmt"] if self.options.get_safe("with_aws"): self.cpp_info.requires.extend([ "nlohmann_json::nlohmann_json", "aws-sdk-cpp::monitoring" ]) + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "octo-logger-cpp" + self.cpp_info.names["cmake_find_package_multi"] = "octo-logger-cpp" + self.cpp_info.names["pkg_config"] = "octo-logger-cpp" diff --git a/recipes/octo-logger-cpp/all/test_package/CMakeLists.txt b/recipes/octo-logger-cpp/all/test_package/CMakeLists.txt index 4cdb390261544..f7d178a90b8ee 100644 --- a/recipes/octo-logger-cpp/all/test_package/CMakeLists.txt +++ b/recipes/octo-logger-cpp/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(octo-logger-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} octo::octo-logger-cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE octo::octo-logger-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/octo-logger-cpp/all/test_package/conanfile.py b/recipes/octo-logger-cpp/all/test_package/conanfile.py index 696c343fa84f4..ef5d7042163ec 100644 --- a/recipes/octo-logger-cpp/all/test_package/conanfile.py +++ b/recipes/octo-logger-cpp/all/test_package/conanfile.py @@ -1,17 +1,16 @@ -from conans import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan import ConanFile from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -required_conan_version = ">=1.43.0" class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "VirtualRunEnv" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def generate(self): - tc = CMakeToolchain(self) - tc.generate() + def requirements(self): + self.requires(self.tested_reference_str) def layout(self): cmake_layout(self) @@ -23,4 +22,5 @@ def build(self): def test(self): if can_run(self): - self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/octo-logger-cpp/config.yml b/recipes/octo-logger-cpp/config.yml index 14adddf7ca35b..1f90fb4ad7af4 100644 --- a/recipes/octo-logger-cpp/config.yml +++ b/recipes/octo-logger-cpp/config.yml @@ -1,7 +1,7 @@ versions: - "1.1.0": + "1.4.0": folder: "all" "1.2.0": folder: "all" - "1.4.0": + "1.1.0": folder: "all" From bdecf1312630e8e7f4376fffa6c151d29777af55 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Sat, 2 Sep 2023 23:50:53 +0200 Subject: [PATCH 1481/4087] (#19524) earcut: fix target name --- recipes/earcut/all/conanfile.py | 10 ++++++++++ recipes/earcut/all/test_package/CMakeLists.txt | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/recipes/earcut/all/conanfile.py b/recipes/earcut/all/conanfile.py index 23791142acadb..9ff1959d206ff 100644 --- a/recipes/earcut/all/conanfile.py +++ b/recipes/earcut/all/conanfile.py @@ -68,5 +68,15 @@ def package(self): copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "earcut_hpp") + self.cpp_info.set_property("cmake_target_name", "earcut_hpp::earcut_hpp") + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.filenames["cmake_find_package"] = "earcut_hpp" + self.cpp_info.filenames["cmake_find_package_multi"] = "earcut_hpp" + self.cpp_info.names["cmake_find_package"] = "earcut_hpp" + self.cpp_info.names["cmake_find_package_multi"] = "earcut_hpp" + def package_id(self): self.info.clear() diff --git a/recipes/earcut/all/test_package/CMakeLists.txt b/recipes/earcut/all/test_package/CMakeLists.txt index 4a460cc9a3c99..a6d943d926668 100644 --- a/recipes/earcut/all/test_package/CMakeLists.txt +++ b/recipes/earcut/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES CXX) -find_package(earcut REQUIRED CONFIG) +find_package(earcut_hpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE earcut::earcut) +target_link_libraries(${PROJECT_NAME} PRIVATE earcut_hpp::earcut_hpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) From 5c8c6f60ab2926e9efc776c7802bb2e61b892233 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Sun, 3 Sep 2023 00:30:26 +0200 Subject: [PATCH 1482/4087] (#19526) troldal-zippy: fix "package requires C++17 support. The current compiler Visual Studio 16 does not support it", add msvc compiler support, bump deps --- recipes/troldal-zippy/all/conanfile.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/recipes/troldal-zippy/all/conanfile.py b/recipes/troldal-zippy/all/conanfile.py index c1f661d53497d..999217a8ec5a5 100644 --- a/recipes/troldal-zippy/all/conanfile.py +++ b/recipes/troldal-zippy/all/conanfile.py @@ -4,6 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -29,7 +30,6 @@ def _minimum_cpp_standard(self): @property def _minimum_compilers_version(self): return { - "Visual Studio": "17", "gcc": "7", "clang": "6", "apple-clang": "10", @@ -42,7 +42,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("miniz/2.2.0") + self.requires("miniz/3.0.2") def package_id(self): self.info.clear() @@ -50,15 +50,18 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): 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.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + if is_msvc(self): + check_min_vs(self, "192") else: - 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." - ) + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if not min_version: + self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + else: + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler" + f" {self.settings.compiler} {self.settings.compiler.version} does not support it." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b7593c5619972d3afe6bac396d2d9fc8c16bc66b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 07:52:15 +0900 Subject: [PATCH 1483/4087] (#19540) brotli: add version 1.1.0, add patch description * brotli: add version 1.1.0, add patch desscription * remove CMAKE_MACOS_RPATH --- recipes/brotli/all/conandata.yml | 23 +++++++++++---- recipes/brotli/all/conanfile.py | 8 +++--- ...t-props.patch => 1.0.7-target-props.patch} | 0 ...t-props.patch => 1.0.9-target-props.patch} | 0 .../all/patches/1.1.0-target-props.patch | 28 +++++++++++++++++++ .../brotli/all/test_package/CMakeLists.txt | 2 +- recipes/brotli/config.yml | 2 ++ 7 files changed, 52 insertions(+), 11 deletions(-) rename recipes/brotli/all/patches/{0001-target-props.patch => 1.0.7-target-props.patch} (100%) rename recipes/brotli/all/patches/{0002-target-props.patch => 1.0.9-target-props.patch} (100%) create mode 100644 recipes/brotli/all/patches/1.1.0-target-props.patch diff --git a/recipes/brotli/all/conandata.yml b/recipes/brotli/all/conandata.yml index c664dae35678e..35c9587456f43 100644 --- a/recipes/brotli/all/conandata.yml +++ b/recipes/brotli/all/conandata.yml @@ -1,12 +1,23 @@ sources: + "1.1.0": + url: "https://github.com/google/brotli/archive/v1.1.0.tar.gz" + sha256: "e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff" "1.0.9": - url: https://github.com/google/brotli/archive/v1.0.9.tar.gz - sha256: f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46 + url: "https://github.com/google/brotli/archive/v1.0.9.tar.gz" + sha256: "f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46" "1.0.7": - url: https://github.com/google/brotli/archive/v1.0.7.tar.gz - sha256: 4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c + url: "https://github.com/google/brotli/archive/v1.0.7.tar.gz" + sha256: "4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c" patches: + "1.1.0": + - patch_file: "patches/1.1.0-target-props.patch" + patch_description: "add target properties, disable command build" + patch_type: "conan" "1.0.9": - - patch_file: "patches/0002-target-props.patch" + - patch_file: "patches/1.0.9-target-props.patch" + patch_description: "add target properties, disable command build, separate shared and static build" + patch_type: "conan" "1.0.7": - - patch_file: "patches/0001-target-props.patch" + - patch_file: "patches/1.0.7-target-props.patch" + patch_description: "add target properties, disable command build, separate shared and static build" + patch_type: "conan" diff --git a/recipes/brotli/all/conanfile.py b/recipes/brotli/all/conanfile.py index 5ba9ac6bd939f..7e93d9903056d 100644 --- a/recipes/brotli/all/conanfile.py +++ b/recipes/brotli/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -9,11 +10,10 @@ class BrotliConan(ConanFile): name = "brotli" description = "Brotli compression format" - topics = ("brotli", "compression") + license = "MIT", url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/brotli" - license = "MIT", - + topics = ("brotli", "compression") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -125,6 +125,6 @@ def package_info(self): def _get_decorated_lib(self, name): libname = name - if not self.options.shared: + if Version(self.version) < "1.1.0" and not self.options.shared: libname += "-static" return libname diff --git a/recipes/brotli/all/patches/0001-target-props.patch b/recipes/brotli/all/patches/1.0.7-target-props.patch similarity index 100% rename from recipes/brotli/all/patches/0001-target-props.patch rename to recipes/brotli/all/patches/1.0.7-target-props.patch diff --git a/recipes/brotli/all/patches/0002-target-props.patch b/recipes/brotli/all/patches/1.0.9-target-props.patch similarity index 100% rename from recipes/brotli/all/patches/0002-target-props.patch rename to recipes/brotli/all/patches/1.0.9-target-props.patch diff --git a/recipes/brotli/all/patches/1.1.0-target-props.patch b/recipes/brotli/all/patches/1.1.0-target-props.patch new file mode 100644 index 0000000000000..df1e483759f2e --- /dev/null +++ b/recipes/brotli/all/patches/1.1.0-target-props.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 61378cd..4de317b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -112,7 +112,6 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + add_definitions(-DOS_FREEBSD) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + add_definitions(-DOS_MACOSX) +- set(CMAKE_MACOS_RPATH TRUE) + set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") + endif() + +@@ -171,14 +170,10 @@ endif() + # Build the brotli executable + add_executable(brotli c/tools/brotli.c) + target_link_libraries(brotli ${BROTLI_LIBRARIES}) ++set_target_properties(brotli PROPERTIES EXCLUDE_FROM_ALL ON EXCLUDE_FROM_DEFAULT ON) + + # Installation + if(NOT BROTLI_BUNDLED_MODE) +- install( +- TARGETS brotli +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- ) +- + install( + TARGETS ${BROTLI_LIBRARIES_CORE} + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" diff --git a/recipes/brotli/all/test_package/CMakeLists.txt b/recipes/brotli/all/test_package/CMakeLists.txt index 8339b11b6d1f4..00f09fcd40122 100644 --- a/recipes/brotli/all/test_package/CMakeLists.txt +++ b/recipes/brotli/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(test_package) +project(test_package LANGUAGES CXX) find_package(brotli REQUIRED CONFIG) diff --git a/recipes/brotli/config.yml b/recipes/brotli/config.yml index 39d54f0009ed0..f4b59633d9f83 100644 --- a/recipes/brotli/config.yml +++ b/recipes/brotli/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.9": folder: all "1.0.7": From d2c3d2b28ecc95cb5684437d259051dab8133329 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 08:32:14 +0900 Subject: [PATCH 1484/4087] (#19558) mcap: update zstd/1.5.5, add package_type --- recipes/mcap/all/conanfile.py | 3 ++- recipes/mcap/all/test_package/conanfile.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/mcap/all/conanfile.py b/recipes/mcap/all/conanfile.py index 0ea0db2622ab8..1089c7a6c48f9 100644 --- a/recipes/mcap/all/conanfile.py +++ b/recipes/mcap/all/conanfile.py @@ -19,6 +19,7 @@ class McapConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/foxglove/mcap" topics = ("serialization", "deserialization", "recording", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -48,7 +49,7 @@ def layout(self): def requirements(self): self.requires("lz4/1.9.4") - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") if Version(self.version) < "0.1.1": self.requires("fmt/9.1.0") diff --git a/recipes/mcap/all/test_package/conanfile.py b/recipes/mcap/all/test_package/conanfile.py index 615cc1d54ffcc..8749556609d86 100644 --- a/recipes/mcap/all/test_package/conanfile.py +++ b/recipes/mcap/all/test_package/conanfile.py @@ -7,7 +7,8 @@ class TestPackageConan(ConanFile): settings = ("os", "arch", "compiler", "build_type") generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" - + test_type = "explicit" + def layout(self): cmake_layout(self) From b08dd4c49f5ea899071dbddc3792348c924b4a9d Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 09:12:32 +0900 Subject: [PATCH 1485/4087] (#19562) mppp: update dependencies --- recipes/mppp/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index 7fed2f8affb27..42fab736847a0 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -61,15 +61,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("gmp/6.2.1", transitive_headers=True) + self.requires("gmp/6.3.0", transitive_headers=True) if self.options.with_mpfr: self.requires("mpfr/4.2.0") if self.options.with_mpc: self.requires("mpc/1.2.0") if self.options.with_boost: - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/10.1.0", transitive_headers=True) + self.requires("fmt/10.1.1", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From a1c3440d91756aa54d2fde7586290def5b31ac28 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 09:50:19 +0900 Subject: [PATCH 1486/4087] (#19564) arsenalgear: update boost/1.8.30 --- recipes/arsenalgear/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/arsenalgear/all/conanfile.py b/recipes/arsenalgear/all/conanfile.py index 2eafb85d1f49a..3c60d7e171cb3 100644 --- a/recipes/arsenalgear/all/conanfile.py +++ b/recipes/arsenalgear/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): def requirements(self): if Version(self.version) < "2.0.0": - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") if self.settings.os in ["Linux", "Macos"]: # exprtk is used in public header of arsenalgear # https://github.com/JustWhit3/arsenalgear-cpp/blob/v1.2.2/include/math.hpp From 58eef0a36742cb9a4b947922d6e1417e5e7cab87 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 16:10:43 +0900 Subject: [PATCH 1487/4087] (#19567) jinja2cpp: update dependencies --- recipes/jinja2cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index c40b675dc715a..8026c45b97a60 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") self.requires("expected-lite/0.6.3", transitive_headers=True) self.requires("optional-lite/3.5.0", transitive_headers=True) self.requires("rapidjson/cci.20220822") @@ -66,7 +66,7 @@ def requirements(self): self.requires("fmt/6.2.1") # not compatible with fmt >= 7.0.0 else: self.requires("nlohmann_json/3.11.2") - self.requires("fmt/10.1.0") + self.requires("fmt/10.1.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): From d5e031e94160466e6199738e2117e9c4465c03b4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Sep 2023 16:53:57 +0900 Subject: [PATCH 1488/4087] (#19569) websocketpp: update dependencies --- recipes/websocketpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/websocketpp/all/conanfile.py b/recipes/websocketpp/all/conanfile.py index 2e4962181cae1..fc666b73d6c25 100644 --- a/recipes/websocketpp/all/conanfile.py +++ b/recipes/websocketpp/all/conanfile.py @@ -40,9 +40,9 @@ def requirements(self): self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) if self.options.asio == "standalone": - self.requires("asio/1.27.0", transitive_headers=True) + self.requires("asio/1.28.1", transitive_headers=True) elif self.options.asio == "boost": - self.requires("boost/1.81.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) def package_id(self): self.info.clear() From 9007c80031d40f6269cb021d60cc5457a416a23b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Sep 2023 00:14:33 +0900 Subject: [PATCH 1489/4087] (#19572) cpprestsdk: update boost/1.83.0 --- recipes/cpprestsdk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpprestsdk/all/conanfile.py b/recipes/cpprestsdk/all/conanfile.py index 9f8dbc8d6fec8..0383ff59b8cac 100644 --- a/recipes/cpprestsdk/all/conanfile.py +++ b/recipes/cpprestsdk/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") self.requires("openssl/[>=1.1 <4]") if self.options.with_compression: self.requires("zlib/1.2.13") From c43245e4b3203b35febaf424010ecdb71711acc7 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Sep 2023 01:33:36 +0900 Subject: [PATCH 1490/4087] (#19575) fakeit: update dependencies --- recipes/fakeit/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/fakeit/all/conanfile.py b/recipes/fakeit/all/conanfile.py index 790c00d882ca3..3676955b84f0f 100644 --- a/recipes/fakeit/all/conanfile.py +++ b/recipes/fakeit/all/conanfile.py @@ -34,11 +34,11 @@ def layout(self): def requirements(self): if self.options.integration == "boost": - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") elif self.options.integration == "catch": self.requires("catch2/3.4.0") elif self.options.integration == "gtest": - self.requires("gtest/1.13.0") + self.requires("gtest/1.14.0") elif self.options.integration == "qtest": self.requires("qt/6.3.0") elif self.options.integration == "standalone": From 993c0b5cbd66263ce736423acb97a8e5190276f7 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Mon, 4 Sep 2023 10:07:22 +0200 Subject: [PATCH 1491/4087] (#18219) libarchive: fix msvc build and bump deps * fix * fix msvc build patch * backport fix msvc build patch --- recipes/libarchive/all/conandata.yml | 5 +- recipes/libarchive/all/conanfile.py | 7 +- .../all/patches/0001-3.6.2-zlib-winapi.patch | 9 +- .../all/patches/0003-3.4.0-cmake.patch | 41 +++++ .../all/patches/0003-3.4.3-cmake.patch | 49 ++++++ .../all/patches/0003-3.5.1-cmake.patch | 142 ++++++++++++++++++ .../all/patches/0003-3.5.2-cmake.patch | 41 +++++ .../all/patches/0003-3.6.0-cmake.patch | 41 +++++ .../all/patches/0003-3.6.2-cmake.patch | 41 +++-- .../0005-3.6.2-try-compile-cmakedeps.patch | 20 ++- .../all/patches/0006-fix-msvc-build.patch | 48 ++++++ 11 files changed, 411 insertions(+), 33 deletions(-) create mode 100644 recipes/libarchive/all/patches/0003-3.5.1-cmake.patch create mode 100644 recipes/libarchive/all/patches/0006-fix-msvc-build.patch diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index 9a164839a427b..3853b8ec0aa66 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -31,6 +31,9 @@ patches: - patch_file: "patches/0005-3.6.2-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-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.6.1": - patch_file: "patches/0001-3.6.0-zlib-winapi.patch" patch_description: "Remove broken ZLIB WINAPI check" @@ -62,7 +65,7 @@ patches: - patch_file: "patches/0001-3.4.3-zlib-winapi.patch" patch_description: "Remove broken ZLIB WINAPI check" patch_type: "portability" - - patch_file: "patches/0003-3.4.3-cmake.patch" + - patch_file: "patches/0003-3.5.1-cmake.patch" patch_description: "Make CMake cooperate with Conan" patch_type: "conan" "3.4.3": diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index 7b3f2cc70c9d0..c6970f8d631a8 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -85,13 +85,13 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: - self.requires("libxml2/2.10.4") + self.requires("libxml2/2.11.4") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_iconv: self.requires("libiconv/1.17") if self.options.with_pcreposix: - self.requires("pcre/8.45") + self.requires("pcre/10.42") if self.options.with_nettle: self.requires("nettle/3.8.1") if self.options.with_openssl: @@ -154,6 +154,9 @@ def generate(self): if Version(self.version) >= "3.4.2": tc.variables["ENABLE_MBEDTLS"] = self.options.with_mbedtls tc.variables["ENABLE_XATTR"] = self.options.with_xattr + # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012 + if is_msvc(self): + tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) tc.generate() def build(self): diff --git a/recipes/libarchive/all/patches/0001-3.6.2-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.6.2-zlib-winapi.patch index 62dd3ef819875..9e88323972df9 100644 --- a/recipes/libarchive/all/patches/0001-3.6.2-zlib-winapi.patch +++ b/recipes/libarchive/all/patches/0001-3.6.2-zlib-winapi.patch @@ -2,7 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 713e3bc..2315da5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -430,14 +430,7 @@ IF(ZLIB_FOUND) +@@ -430,14 +430,14 @@ IF(ZLIB_FOUND) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) IF(WIN32 AND NOT CYGWIN) @@ -14,6 +14,13 @@ index 713e3bc..2315da5 100644 - RUNS - "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" - ZLIB_WINAPI) ++ ++ ++ ++ ++ ++ ++ + set(ZLIB_WINAPI yes) IF(ZLIB_WINAPI) ADD_DEFINITIONS(-DZLIB_WINAPI) diff --git a/recipes/libarchive/all/patches/0003-3.4.0-cmake.patch b/recipes/libarchive/all/patches/0003-3.4.0-cmake.patch index 7b724f1fba164..7b34085f1a3a2 100644 --- a/recipes/libarchive/all/patches/0003-3.4.0-cmake.patch +++ b/recipes/libarchive/all/patches/0003-3.4.0-cmake.patch @@ -56,6 +56,47 @@ index 4ffd0930..01e8592c 100644 FIND_PACKAGE(OpenSSL) IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) +@@ -1316,7 +1316,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) +@@ -1348,11 +1348,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(_ctime64_s HAVE__CTIME64_S) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) +@@ -1364,10 +1364,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/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index ec775bb4..8ef2d620 100644 --- a/libarchive/CMakeLists.txt diff --git a/recipes/libarchive/all/patches/0003-3.4.3-cmake.patch b/recipes/libarchive/all/patches/0003-3.4.3-cmake.patch index 5c46b58290b77..45a9561474f8e 100644 --- a/recipes/libarchive/all/patches/0003-3.4.3-cmake.patch +++ b/recipes/libarchive/all/patches/0003-3.4.3-cmake.patch @@ -56,6 +56,55 @@ index 6013d9e6..125b1cb3 100644 FIND_PACKAGE(OpenSSL) IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) +@@ -1349,7 +1349,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) +@@ -1371,6 +1371,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(strchr HAVE_STRCHR) + CHECK_FUNCTION_EXISTS_GLIBC(strdup HAVE_STRDUP) + CHECK_FUNCTION_EXISTS_GLIBC(strerror HAVE_STRERROR) + CHECK_FUNCTION_EXISTS_GLIBC(strncpy_s HAVE_STRNCPY_S) ++CHECK_FUNCTION_EXISTS_GLIBC(strnlen HAVE_STRNLEN) + CHECK_FUNCTION_EXISTS_GLIBC(strrchr HAVE_STRRCHR) + CHECK_FUNCTION_EXISTS_GLIBC(symlink HAVE_SYMLINK) + CHECK_FUNCTION_EXISTS_GLIBC(timegm HAVE_TIMEGM) +@@ -1381,11 +1382,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(_ctime64_s HAVE__CTIME64_S) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) +@@ -1398,10 +1399,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/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index 9389bbc9..76e0b5c7 100644 --- a/libarchive/CMakeLists.txt diff --git a/recipes/libarchive/all/patches/0003-3.5.1-cmake.patch b/recipes/libarchive/all/patches/0003-3.5.1-cmake.patch new file mode 100644 index 0000000000000..181a183093fc3 --- /dev/null +++ b/recipes/libarchive/all/patches/0003-3.5.1-cmake.patch @@ -0,0 +1,142 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 256b966e..30c42967 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,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() +@@ -418,7 +418,7 @@ 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) + set(ZLIB_WINAPI yes) + IF(ZLIB_WINAPI) +@@ -480,7 +480,7 @@ IF(LIBLZMA_FOUND) + SET(HAVE_LIBLZMA 1) + SET(HAVE_LZMA_H 1) + CMAKE_PUSH_CHECK_STATE() +- SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) ++ SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIRS}) + SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) + INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) + LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) +@@ -497,7 +497,7 @@ IF(LIBLZMA_FOUND) + ELSE(LIBLZMA_FOUND) + # LZMA not found and will not be used. + ENDIF(LIBLZMA_FOUND) +-MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIR) ++MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIRS) + MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) + + # +@@ -567,7 +567,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) +@@ -783,7 +783,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) +@@ -1349,7 +1349,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) +@@ -1382,11 +1382,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(_ctime64_s HAVE__CTIME64_S) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) +@@ -1399,10 +1399,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/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index 9389bbc9..76e0b5c7 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -236,11 +236,15 @@ ELSEIF(ARCHIVE_ACL_SUNOS) + ENDIF() + + # Libarchive is a shared library ++if (BUILD_SHARED_LIBS) ++ + ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_INCLUDE_DIRECTORIES(archive PUBLIC .) + TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS}) + SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) + ++else() ++ + # archive_static is a static library + ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) +@@ -250,13 +254,21 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS + IF(NOT WIN32 OR CYGWIN) + SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) + ENDIF(NOT WIN32 OR CYGWIN) ++endif() + + IF(ENABLE_INSTALL) + # How to install the libraries +- INSTALL(TARGETS archive archive_static ++ if (BUILD_SHARED_LIBS) ++ INSTALL(TARGETS archive ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++ 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/0003-3.5.2-cmake.patch b/recipes/libarchive/all/patches/0003-3.5.2-cmake.patch index 5584b5f1606bc..46955b7f8f7ce 100644 --- a/recipes/libarchive/all/patches/0003-3.5.2-cmake.patch +++ b/recipes/libarchive/all/patches/0003-3.5.2-cmake.patch @@ -56,6 +56,47 @@ index e0359b51..3927a742 100644 FIND_PACKAGE(OpenSSL) IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) +@@ -1350,7 +1350,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) +@@ -1383,11 +1383,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(_ctime64_s HAVE__CTIME64_S) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) +@@ -1400,10 +1400,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/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index e1d76a51..792b26b3 100644 --- a/libarchive/CMakeLists.txt diff --git a/recipes/libarchive/all/patches/0003-3.6.0-cmake.patch b/recipes/libarchive/all/patches/0003-3.6.0-cmake.patch index 436c8194e3e4d..3c89010df2aba 100644 --- a/recipes/libarchive/all/patches/0003-3.6.0-cmake.patch +++ b/recipes/libarchive/all/patches/0003-3.6.0-cmake.patch @@ -56,6 +56,47 @@ index 646e5ce7..9bca273f 100644 FIND_PACKAGE(OpenSSL) IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) +@@ -1357,7 +1357,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) +@@ -1390,11 +1390,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(_ctime64_s HAVE__CTIME64_S) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) +@@ -1407,10 +1407,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/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index e1d76a51..713c6496 100644 --- a/libarchive/CMakeLists.txt diff --git a/recipes/libarchive/all/patches/0003-3.6.2-cmake.patch b/recipes/libarchive/all/patches/0003-3.6.2-cmake.patch index 80d49396aac87..aca2961950d2d 100644 --- a/recipes/libarchive/all/patches/0003-3.6.2-cmake.patch +++ b/recipes/libarchive/all/patches/0003-3.6.2-cmake.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2315da5..1d8de96 100644 +index a4a9284a..f5dbccac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ endif() @@ -18,9 +18,9 @@ index 2315da5..1d8de96 100644 - LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) + LIST(APPEND ADDITIONAL_LIBS ZLIB::ZLIB) IF(WIN32 AND NOT CYGWIN) - set(ZLIB_WINAPI yes) - IF(ZLIB_WINAPI) -@@ -490,7 +490,7 @@ IF(LIBLZMA_FOUND) + + +@@ -497,7 +497,7 @@ IF(LIBLZMA_FOUND) SET(HAVE_LIBLZMA 1) SET(HAVE_LZMA_H 1) CMAKE_PUSH_CHECK_STATE() @@ -29,7 +29,7 @@ index 2315da5..1d8de96 100644 SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) -@@ -507,7 +507,7 @@ IF(LIBLZMA_FOUND) +@@ -514,7 +514,7 @@ IF(LIBLZMA_FOUND) ELSE(LIBLZMA_FOUND) # LZMA not found and will not be used. ENDIF(LIBLZMA_FOUND) @@ -38,7 +38,7 @@ index 2315da5..1d8de96 100644 MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) # -@@ -577,7 +577,7 @@ IF(ENABLE_LZ4) +@@ -584,7 +584,7 @@ IF(ENABLE_LZ4) ENDIF (LZ4_INCLUDE_DIR) FIND_PATH(LZ4_INCLUDE_DIR lz4.h) @@ -47,7 +47,7 @@ index 2315da5..1d8de96 100644 INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) ELSE(ENABLE_LZ4) -@@ -799,7 +799,7 @@ ENDIF(ENABLE_NETTLE) +@@ -806,7 +806,7 @@ ENDIF(ENABLE_NETTLE) # Find OpenSSL # (Except on Mac, where OpenSSL is deprecated.) # @@ -57,46 +57,41 @@ index 2315da5..1d8de96 100644 IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt -index ff7ade0..1438819 100644 +index ff7ade00..8c867130 100644 --- a/libarchive/CMakeLists.txt +++ b/libarchive/CMakeLists.txt -@@ -243,11 +243,14 @@ ELSEIF(ARCHIVE_ACL_SUNOS) +@@ -242,13 +242,13 @@ ELSEIF(ARCHIVE_ACL_SUNOS) + LIST(APPEND libarchive_SOURCES archive_disk_acl_sunos.c) ENDIF() - # Libarchive is a shared library +-# Libarchive is a shared library +if (BUILD_SHARED_LIBS) ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) TARGET_INCLUDE_DIRECTORIES(archive PUBLIC .) TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS}) SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) +-# archive_static is a static library +else() -+ - # archive_static is a static library ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) -@@ -257,13 +260,21 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS + SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS +@@ -257,13 +257,13 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS IF(NOT WIN32 OR CYGWIN) SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) ENDIF(NOT WIN32 OR CYGWIN) +- +endif() - IF(ENABLE_INSTALL) - # How to install the libraries +- # How to install the libraries - INSTALL(TARGETS archive archive_static - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) + if (BUILD_SHARED_LIBS) -+ INSTALL(TARGETS archive -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) ++ INSTALL(TARGETS archive RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + else() -+ INSTALL(TARGETS archive_static -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) ++ INSTALL(TARGETS archive_static RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + endif() INSTALL_MAN(${libarchive_MANS}) INSTALL(FILES ${include_HEADERS} DESTINATION include) diff --git a/recipes/libarchive/all/patches/0005-3.6.2-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.6.2-try-compile-cmakedeps.patch index 4bca48088c19b..69e42f1f5678b 100644 --- a/recipes/libarchive/all/patches/0005-3.6.2-try-compile-cmakedeps.patch +++ b/recipes/libarchive/all/patches/0005-3.6.2-try-compile-cmakedeps.patch @@ -1,27 +1,35 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1d8de96f..d54975b7 100644 +index f5dbccac..ea7ff16a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -829,6 +829,8 @@ ENDIF(NOT OPENSSL_FOUND) +@@ -830,12 +830,11 @@ IF(NOT OPENSSL_FOUND) + ENDIF(NOT OPENSSL_FOUND) + + # +-# How to prove that CRYPTO functions, which have several names on various +-# platforms, just see if archive_digest.c can compile and link against +-# required libraries. # MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) - FOREACH(ALGORITHM ${ALGORITHMS}) +- FOREACH(ALGORITHM ${ALGORITHMS}) ++ FOREACH(ALGORITHM ${ALGORITHMS}) + include(CMakePushCheckState) + cmake_push_check_state() IF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) STRING(TOLOWER "${ALGORITHM}" lower_algorithm) STRING(TOUPPER "${ALGORITHM}" algorithm) -@@ -849,8 +851,7 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) +@@ -856,8 +855,8 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) SET(TRY_CRYPTO_REQUIRED_INCLUDES "${TRY_CRYPTO_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}") - SET(TRY_CRYPTO_REQUIRED_LIBS - "-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}") -+ set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) ++ set(CMAKE_REQUIRED_LIBRARIES ++ ${OPENSSL_LIBRARIES}) ELSEIF("${IMPLEMENTATION}" MATCHES "^MBEDTLS$" AND MBEDTLS_FOUND) SET(TRY_CRYPTO_REQUIRED_INCLUDES "${TRY_CRYPTO_REQUIRED_INCLUDES};${MBEDTLS_INCLUDE_DIRS}") -@@ -927,6 +928,7 @@ main(int argc, char **argv) +@@ -934,6 +933,7 @@ main(int argc, char **argv) ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) diff --git a/recipes/libarchive/all/patches/0006-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-fix-msvc-build.patch new file mode 100644 index 0000000000000..c0903cf80cf94 --- /dev/null +++ b/recipes/libarchive/all/patches/0006-fix-msvc-build.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 713e3bc5..9bc36214 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1374,7 +1374,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) +@@ -1407,11 +1407,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(_ctime64_s HAVE__CTIME64_S) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) +@@ -1424,10 +1424,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 + +-- +2.33.0.windows.1 + From 831f49bbe136439335aa1f909dc7e3a01e1514c6 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 4 Sep 2023 10:43:00 +0200 Subject: [PATCH 1492/4087] (#19570) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 7b84a12bb8b2a..2c10e53b02cca 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -282,6 +282,7 @@ required_for_references: - enet - enhex-generic_serialization - enhex-strong_type +- enkits - entityx - entt - enum-flags @@ -428,6 +429,7 @@ required_for_references: - http_parser - hunspell - hwloc +- hyperscan - icecream-cpp - icu - id3v2lib @@ -682,6 +684,7 @@ required_for_references: - lz4 - lzfse - lzham +- lzip - lzma_sdk - lzo - m4 @@ -795,6 +798,7 @@ required_for_references: - objectbox - objectbox-generator - observer-ptr-lite +- octo-logger-cpp - octomap - odbc - ode @@ -920,6 +924,7 @@ required_for_references: - pybind11_json - pystring - qcbor +- qdbm - qhull - qpdf - qpoases From 75a1eaf261645aace885188aae97a8df76936fb4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 4 Sep 2023 12:06:24 +0300 Subject: [PATCH 1493/4087] (#17575) embag: add new recipe * embag: add new recipe * embag: set min cxx_standard to 11 * embag: add missing 'm' system lib * embag: bump min c++ std to 14 * embag: fix a portability bug * embag: drop test_v1_package * embag: transitive_libs not required for boost * embag: get rid of patch, add review suggestion * embag: revert to using a patch Otherwise would need to add /Zc:__cplusplus to exported cxxflags. * embag: get rid of the patch --- recipes/embag/all/CMakeLists.txt | 33 +++++++ recipes/embag/all/conandata.yml | 4 + recipes/embag/all/conanfile.py | 91 +++++++++++++++++++ recipes/embag/all/test_package/CMakeLists.txt | 8 ++ recipes/embag/all/test_package/conanfile.py | 26 ++++++ .../embag/all/test_package/test_package.cpp | 18 ++++ recipes/embag/config.yml | 3 + 7 files changed, 183 insertions(+) create mode 100644 recipes/embag/all/CMakeLists.txt create mode 100644 recipes/embag/all/conandata.yml create mode 100644 recipes/embag/all/conanfile.py create mode 100644 recipes/embag/all/test_package/CMakeLists.txt create mode 100644 recipes/embag/all/test_package/conanfile.py create mode 100644 recipes/embag/all/test_package/test_package.cpp create mode 100644 recipes/embag/config.yml diff --git a/recipes/embag/all/CMakeLists.txt b/recipes/embag/all/CMakeLists.txt new file mode 100644 index 0000000000000..6638694bdd2b6 --- /dev/null +++ b/recipes/embag/all/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.15) +project(embag LANGUAGES CXX) + +find_package(Boost REQUIRED COMPONENTS iostreams headers) +find_package(lz4 REQUIRED CONFIG) +find_package(BZip2 REQUIRED CONFIG) + +file(GLOB_RECURSE embag_SOURCES "lib/*.cc") +add_library(embag ${embag_SOURCES}) +set_target_properties(embag PROPERTIES + # embag does not export any symbols otherwise + WINDOWS_EXPORT_ALL_SYMBOLS ON +) +target_compile_features(embag PUBLIC cxx_std_14) +target_link_libraries(embag PUBLIC + Boost::iostreams + Boost::headers + lz4::lz4 + BZip2::BZip2 +) + +if (MSVC) + # For a #if __cplusplus < 201402L check in lib/util.h + target_compile_options(embag PRIVATE /Zc:__cplusplus) +endif() + +install(TARGETS embag) +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/embag + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hpp" +) diff --git a/recipes/embag/all/conandata.yml b/recipes/embag/all/conandata.yml new file mode 100644 index 0000000000000..6df20cbf9a5ef --- /dev/null +++ b/recipes/embag/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.0.42": + url: "https://github.com/embarktrucks/embag/archive/refs/tags/0.0.42.tar.gz" + sha256: "60b22ba9355528040046b7e2c3ee968798ad5773a9eb7a1d13cf33dc47e2adec" diff --git a/recipes/embag/all/conanfile.py b/recipes/embag/all/conanfile.py new file mode 100644 index 0000000000000..3d3e19b6eb19b --- /dev/null +++ b/recipes/embag/all/conanfile.py @@ -0,0 +1,91 @@ +import os + +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 get, copy, rm +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" + + +class EmbagConan(ConanFile): + name = "embag" + description = "Schema and dependency free ROS bag reader" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/embarktrucks/embag" + topics = ("rosbag", "ros", "robotics") + 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 14 + + def export_sources(self): + copy(self, "CMakeLists.txt", + src=self.recipe_folder, + dst=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.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # INFO: embag.h includes boost/variant.hpp + self.requires("boost/1.82.0", transitive_headers=True) + # INFO: decompression.h includes lz4frame.h + self.requires("lz4/1.9.4", transitive_headers=True) + # INFO: ros_bag_types.h includes bzlib.h + self.requires("bzip2/1.0.8", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) + cmake.install() + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + self.cpp_info.libs = ["embag"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + if is_msvc(self): + # For a #if __cplusplus < 201402L check in lib/util.h, which is a public header + self.cpp_info.cxxflags.append("/Zc:__cplusplus") diff --git a/recipes/embag/all/test_package/CMakeLists.txt b/recipes/embag/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..27b09cd59a901 --- /dev/null +++ b/recipes/embag/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(embag REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE embag::embag) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/embag/all/test_package/conanfile.py b/recipes/embag/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/embag/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/embag/all/test_package/test_package.cpp b/recipes/embag/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c8563d402b2b7 --- /dev/null +++ b/recipes/embag/all/test_package/test_package.cpp @@ -0,0 +1,18 @@ +#include +#include + +#include + +int main() { + Embag::View view{}; + // Do not load any bag file for testing + // view.addBag("xyz.bag"); + const auto start_time = view.getStartTime(); + const auto end_time = view.getEndTime(); + std::cout << "Start time is " << start_time.secs + start_time.nsecs * 1e-9 << std::endl; + std::cout << "End time is " << end_time.secs + end_time.nsecs * 1e-9 << std::endl; + for (const auto &message : view.getMessages()) { + message->print(); + } + return EXIT_SUCCESS; +} diff --git a/recipes/embag/config.yml b/recipes/embag/config.yml new file mode 100644 index 0000000000000..97f7bce9d3b04 --- /dev/null +++ b/recipes/embag/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.42": + folder: all From 83323f29d132234f89093d1a82c4c1152a149f93 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:42:34 +0200 Subject: [PATCH 1494/4087] (#19580) [bot] Update list of references (prod-v2/ListPackages) From d267231eae08809383946e93f5126bc81140e779 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 4 Sep 2023 12:04:22 +0200 Subject: [PATCH 1495/4087] (#19514) [onetbb] Bump dependencies Signed-off-by: Uilian Ries --- recipes/onetbb/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index bfc433ac09750..742e204c36a4f 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -87,11 +87,11 @@ def configure(self): def requirements(self): if self._tbbbind_build: - self.requires("hwloc/2.9.1") + self.requires("hwloc/2.9.2") def build_requirements(self): if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/1.9.5") def layout(self): cmake_layout(self, src_folder="src") From 7ad5865d7093db9c2a950b285b21313504992c1e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Sep 2023 19:54:58 +0900 Subject: [PATCH 1496/4087] (#19410) wt: update dependencies Co-authored-by: Carlos Zoido --- recipes/wt/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 630f87115fd10..23c11c902b6f8 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -102,9 +102,9 @@ def requirements(self): if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.43.0") if self.options.get_safe("with_mysql"): - self.requires("libmysqlclient/8.0.34", transitive_headers=True, transitive_libs=True) + self.requires("libmysqlclient/8.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): self.requires("libpq/15.4", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_mssql") and self.settings.os != "Windows": From 418edacc791b0d90012e0742b96c5f7aa26da1e5 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Sep 2023 20:53:49 +0900 Subject: [PATCH 1497/4087] (#19574) cubicinterpolation: update dependencies, remove unused file --- recipes/cubicinterpolation/all/CMakeLists.txt | 7 ------- recipes/cubicinterpolation/all/conanfile.py | 15 ++++++--------- .../all/test_package/CMakeLists.txt | 6 +++--- recipes/cubicinterpolation/config.yml | 2 +- 4 files changed, 10 insertions(+), 20 deletions(-) delete mode 100644 recipes/cubicinterpolation/all/CMakeLists.txt diff --git a/recipes/cubicinterpolation/all/CMakeLists.txt b/recipes/cubicinterpolation/all/CMakeLists.txt deleted file mode 100644 index 0ed622c3eb5d7..0000000000000 --- a/recipes/cubicinterpolation/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_RPATH) - -add_subdirectory("source_subfolder") diff --git a/recipes/cubicinterpolation/all/conanfile.py b/recipes/cubicinterpolation/all/conanfile.py index 722cbaa5424a1..2525795c99b74 100644 --- a/recipes/cubicinterpolation/all/conanfile.py +++ b/recipes/cubicinterpolation/all/conanfile.py @@ -11,10 +11,10 @@ class CubicInterpolationConan(ConanFile): name = "cubicinterpolation" - homepage = "https://github.com/MaxSac/cubic_interpolation" + description = "Leightweight interpolation library based on boost and eigen." license = "MIT" + homepage = "https://github.com/MaxSac/cubic_interpolation" url = "https://github.com/conan-io/conan-center-index" - description = "Leightweight interpolation library based on boost and eigen." topics = ("interpolation", "splines", "cubic", "bicubic", "boost", "eigen3") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -27,8 +27,6 @@ class CubicInterpolationConan(ConanFile): "fPIC": True, } - _cmake = None - def export_sources(self): export_conandata_patches(self) @@ -45,15 +43,14 @@ def layout(self): def requirements(self): # TODO: update boost dependency as soon as we deprecate conan1.x (see discussion in #11207) - self.requires("boost/1.75.0") - self.requires("eigen/3.3.9") + self.requires("boost/1.83.0") + self.requires("eigen/3.4.0") @property def _required_boost_components(self): return ["filesystem", "math", "serialization"] def validate(self): - miss_boost_required_comp = any(getattr(self.dependencies["boost"].options, 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( @@ -64,7 +61,7 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, "14") - if not check_min_vs(self, 192, raise_invalid=False): + if not check_min_vs(self, 192, raise_invalid=False): raise ConanInvalidConfiguration(f"{self.ref} currently Visual Studio < 2019 not yet supported in this recipe. Contributions are welcome") if is_msvc(self) and self.options.shared: @@ -74,7 +71,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - tc = CMakeToolchain(self) + tc = CMakeToolchain(self) tc.variables["BUILD_EXAMPLE"] = False tc.variables["BUILD_DOCUMENTATION"] = False tc.generate() diff --git a/recipes/cubicinterpolation/all/test_package/CMakeLists.txt b/recipes/cubicinterpolation/all/test_package/CMakeLists.txt index b98fa443a5368..0ce4681457d9e 100644 --- a/recipes/cubicinterpolation/all/test_package/CMakeLists.txt +++ b/recipes/cubicinterpolation/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) find_package(CubicInterpolation REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CubicInterpolation::CubicInterpolation) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) +target_link_libraries(${PROJECT_NAME} PRIVATE CubicInterpolation::CubicInterpolation) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/cubicinterpolation/config.yml b/recipes/cubicinterpolation/config.yml index 5185d65a2df90..5c83127c63d75 100644 --- a/recipes/cubicinterpolation/config.yml +++ b/recipes/cubicinterpolation/config.yml @@ -1,6 +1,6 @@ versions: "0.1.5": - folder: all + folder: all "0.1.4": folder: all "0.1.3": From 0b0d82d651416b828d31fcd116c61d6e459a667a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Sep 2023 22:12:17 +0900 Subject: [PATCH 1498/4087] (#19556) luau: add version 0.593, remove older versions, make static-library --- recipes/luau/all/conandata.yml | 59 +------------------ recipes/luau/all/conanfile.py | 34 ++--------- .../all/patches/0.536-0001-fix-cmake.patch | 23 -------- .../all/patches/0.552-0001-fix-cmake.patch | 23 -------- .../all/patches/0.568-0001-fix-cmake.patch | 35 ----------- .../all/patches/0.572-0001-fix-cmake.patch | 23 -------- recipes/luau/config.yml | 8 +-- 7 files changed, 10 insertions(+), 195 deletions(-) delete mode 100644 recipes/luau/all/patches/0.536-0001-fix-cmake.patch delete mode 100644 recipes/luau/all/patches/0.552-0001-fix-cmake.patch delete mode 100644 recipes/luau/all/patches/0.568-0001-fix-cmake.patch delete mode 100644 recipes/luau/all/patches/0.572-0001-fix-cmake.patch diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index ce7fa7f71284a..8561d42700a29 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.593": + url: "https://github.com/Roblox/luau/archive/0.593.tar.gz" + sha256: "1cbe4390ef71bb0f2210853978c900974aa02fab73de92b6e18e7bb10dd0e3c1" "0.589": url: "https://github.com/Roblox/luau/archive/0.589.tar.gz" sha256: "dc4489de52dbf29cd3d04d78c1112f812e04a03b68d57585749260ba791e65ed" @@ -20,68 +23,12 @@ sources: "0.558": url: "https://github.com/Roblox/luau/archive/0.558.tar.gz" sha256: "3484adddb18872700e033f5917af44d90c266f9e0fff2fac21aec1061f472a06" - "0.556": - url: "https://github.com/Roblox/luau/archive/0.556.tar.gz" - sha256: "dc72f91f4e866a2b25f7608e062c91c84e92a2e5611026e9789f127c3caf39f6" - "0.552": - url: "https://github.com/Roblox/luau/archive/0.552.tar.gz" - sha256: "c638aee88010197d7e6f22e592fa12360e38a69f54ed91980b11ac0f89676db5" - "0.548": - url: "https://github.com/Roblox/luau/archive/0.548.tar.gz" - sha256: "1ec0aa919955aaa2d88dbef115801681d3b4dbfa7a276435a03d20230918659c" patches: - "0.589": - - patch_file: "patches/0.572-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - "0.582": - - patch_file: "patches/0.572-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - "0.577": - - patch_file: "patches/0.572-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - "0.572": - - patch_file: "patches/0.572-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - "0.568": - - patch_file: "patches/0.568-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" "0.563": - - patch_file: "patches/0.552-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - patch_file: "patches/0.536-0002-rename-lerp.patch" patch_description: "rename lerp function to avoid name conflict" patch_type: "portability" "0.558": - - patch_file: "patches/0.552-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" - "0.556": - - patch_file: "patches/0.552-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" - "0.552": - - patch_file: "patches/0.552-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" - "0.548": - - patch_file: "patches/0.536-0001-fix-cmake.patch" - patch_description: "enable shared build" - patch_type: "portability" - patch_file: "patches/0.536-0002-rename-lerp.patch" patch_description: "rename lerp function to avoid name conflict" patch_type: "portability" diff --git a/recipes/luau/all/conanfile.py b/recipes/luau/all/conanfile.py index fe153e150679e..643eab7b93170 100644 --- a/recipes/luau/all/conanfile.py +++ b/recipes/luau/all/conanfile.py @@ -1,7 +1,6 @@ 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, replace_in_file +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout @@ -17,18 +16,14 @@ class LuauConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://luau-lang.org/" topics = ("lua", "scripting", "typed", "embed") - package_type = "library" + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [False, True], - "fPIC": [True, False], "with_cli": [True, False], "with_web": [True, False], "native_code_gen": [True, False], } default_options = { - "shared": False, - "fPIC": True, "with_cli": False, "with_web": False, "native_code_gen": False, @@ -41,7 +36,7 @@ def _minimum_cpp_standard(self): @property def _compilers_minimum_version(self): return { - "gcc": "8" if Version(self.version) < "0.549" else "9", + "gcc": "9", "clang": "7", "apple-clang": "12", "Visual Studio": "15", @@ -52,16 +47,6 @@ def export_sources(self): copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - if Version(self.version) < "0.549": - del self.options.native_code_gen - def layout(self): cmake_layout(self, src_folder="src") @@ -74,9 +59,6 @@ def validate(self): f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support." ) - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} does not support shared build in MSVC") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -87,17 +69,12 @@ def generate(self): tc.variables["LUAU_BUILD_WEB"] = self.options.with_web tc.variables["LUAU_WERROR"] = False tc.variables["LUAU_STATIC_CRT"] = False - if Version(self.version) >= "0.549": - tc.variables["LUAU_NATIVE"] = self.options.native_code_gen + tc.variables["LUAU_NATIVE"] = self.options.native_code_gen tc.variables["LUAU_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.generate() def _patch_sources(self): apply_conandata_patches(self) - if Version(self.version) >= "0.548" and self.options.shared: - replace_in_file(self, os.path.join(self.source_folder, "VM", "include", "luaconf.h"), - "#define LUAI_FUNC __attribute__((visibility(\"hidden\"))) extern", - "#define LUAI_FUNC extern") def build(self): self._patch_sources() @@ -139,8 +116,7 @@ def package_info(self): self.cpp_info.components["CodeGen"].libs = ["Luau.CodeGen"] self.cpp_info.components["CodeGen"].set_property("cmake_target_name", "Luau::CodeGen") self.cpp_info.components["CodeGen"].requires = ["Ast"] - if Version(self.version) >= "0.548": - self.cpp_info.components["CodeGen"].requires.append("VM") + self.cpp_info.components["CodeGen"].requires.append("VM") if self.options.with_cli: bin_path = os.path.join(self.package_folder, "bin") diff --git a/recipes/luau/all/patches/0.536-0001-fix-cmake.patch b/recipes/luau/all/patches/0.536-0001-fix-cmake.patch deleted file mode 100644 index 00dcf66617205..0000000000000 --- a/recipes/luau/all/patches/0.536-0001-fix-cmake.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9200634..c1cca12 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -21,12 +21,12 @@ endif() - - project(Luau LANGUAGES CXX C) - add_library(Luau.Common INTERFACE) --add_library(Luau.Ast STATIC) --add_library(Luau.Compiler STATIC) --add_library(Luau.Analysis STATIC) --add_library(Luau.CodeGen STATIC) --add_library(Luau.VM STATIC) --add_library(isocline STATIC) -+add_library(Luau.Ast) -+add_library(Luau.Compiler) -+add_library(Luau.Analysis) -+add_library(Luau.CodeGen) -+add_library(Luau.VM) -+add_library(isocline) - - if(LUAU_BUILD_CLI) - add_executable(Luau.Repl.CLI) diff --git a/recipes/luau/all/patches/0.552-0001-fix-cmake.patch b/recipes/luau/all/patches/0.552-0001-fix-cmake.patch deleted file mode 100644 index aaff66adb45b9..0000000000000 --- a/recipes/luau/all/patches/0.552-0001-fix-cmake.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 05d701e..4c73783 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -22,12 +22,12 @@ endif() - - project(Luau LANGUAGES CXX C) - add_library(Luau.Common INTERFACE) --add_library(Luau.Ast STATIC) --add_library(Luau.Compiler STATIC) --add_library(Luau.Analysis STATIC) --add_library(Luau.CodeGen STATIC) --add_library(Luau.VM STATIC) --add_library(isocline STATIC) -+add_library(Luau.Ast) -+add_library(Luau.Compiler) -+add_library(Luau.Analysis) -+add_library(Luau.CodeGen) -+add_library(Luau.VM) -+add_library(isocline) - - if(LUAU_BUILD_CLI) - add_executable(Luau.Repl.CLI) diff --git a/recipes/luau/all/patches/0.568-0001-fix-cmake.patch b/recipes/luau/all/patches/0.568-0001-fix-cmake.patch deleted file mode 100644 index 9901376bd09ea..0000000000000 --- a/recipes/luau/all/patches/0.568-0001-fix-cmake.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6e15e5f..63be1e1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,12 +24,12 @@ endif() - - project(Luau LANGUAGES CXX C) - add_library(Luau.Common INTERFACE) --add_library(Luau.Ast STATIC) --add_library(Luau.Compiler STATIC) --add_library(Luau.Analysis STATIC) --add_library(Luau.CodeGen STATIC) --add_library(Luau.VM STATIC) --add_library(isocline STATIC) -+add_library(Luau.Ast) -+add_library(Luau.Compiler) -+add_library(Luau.Analysis) -+add_library(Luau.CodeGen) -+add_library(Luau.VM) -+add_library(isocline) - - if(LUAU_BUILD_CLI) - add_executable(Luau.Repl.CLI) -diff --git a/Sources.cmake b/Sources.cmake -index 6e0a32e..53d77c6 100644 ---- a/Sources.cmake -+++ b/Sources.cmake -@@ -84,6 +84,7 @@ target_sources(Luau.CodeGen PRIVATE - CodeGen/src/CodeBlockUnwind.cpp - CodeGen/src/CodeGen.cpp - CodeGen/src/CodeGenUtils.cpp -+ CodeGen/src/CodeGenA64.cpp - CodeGen/src/CodeGenX64.cpp - CodeGen/src/EmitBuiltinsX64.cpp - CodeGen/src/EmitCommonX64.cpp diff --git a/recipes/luau/all/patches/0.572-0001-fix-cmake.patch b/recipes/luau/all/patches/0.572-0001-fix-cmake.patch deleted file mode 100644 index 24acb8d334fb9..0000000000000 --- a/recipes/luau/all/patches/0.572-0001-fix-cmake.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6e15e5f..63be1e1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,12 +24,12 @@ endif() - - project(Luau LANGUAGES CXX C) - add_library(Luau.Common INTERFACE) --add_library(Luau.Ast STATIC) --add_library(Luau.Compiler STATIC) --add_library(Luau.Analysis STATIC) --add_library(Luau.CodeGen STATIC) --add_library(Luau.VM STATIC) --add_library(isocline STATIC) -+add_library(Luau.Ast) -+add_library(Luau.Compiler) -+add_library(Luau.Analysis) -+add_library(Luau.CodeGen) -+add_library(Luau.VM) -+add_library(isocline) - - if(LUAU_BUILD_CLI) - add_executable(Luau.Repl.CLI) diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index da348c9822453..ce328e7495578 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.593": + folder: all "0.589": folder: all "0.582": @@ -13,9 +15,3 @@ versions: folder: all "0.558": folder: all - "0.556": - folder: all - "0.552": - folder: all - "0.548": - folder: all From 3e931f9307ad58d37ff8340a69ed70bc9fcac083 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 4 Sep 2023 16:22:18 +0200 Subject: [PATCH 1499/4087] (#19523) [config] Conan v2 ready references is no longer required * Conan v2 ready references is no longer required Signed-off-by: Uilian Ries * Revert "Conan v2 ready references is no longer required" This reverts commit e9200c64730bedb150ec9a56ee1eb81f8191a634. * Remove regression validation Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Daniel --- .c3i/config_v1.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index c28c0345e0824..bc6adc07ba370 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -41,7 +41,6 @@ tasks: - name: "license/cla" - name: "continuous-integration/jenkins/pr-merge" - name: "c3i/conan-v2/pr-merge" - required_for_references: "conan_v2_ready_references.yml" build_single_reference: package_id_cache_type: "none" timeout_minutes: 600 From 2b82a559fdbe0887d0c54808f5993b68ee56f5ed Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Sep 2023 23:51:22 +0900 Subject: [PATCH 1500/4087] (#19274) zlib: add version 1.3, add patch_descriptions * zlib: add version 1.3 * remove patch file for xcode12 --- recipes/zlib/all/conandata.yml | 22 ++++- .../0002-gzguts-xcode12-compile-fix.patch | 27 ------ .../0003-gzguts-fix-widechar-condition.patch | 4 +- .../zlib/all/patches/1.3/0001-fix-cmake.patch | 92 +++++++++++++++++++ .../1.3/0002-gzguts-xcode12-compile-fix.patch | 15 +++ recipes/zlib/config.yml | 2 + 6 files changed, 129 insertions(+), 33 deletions(-) delete mode 100644 recipes/zlib/all/patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch create mode 100644 recipes/zlib/all/patches/1.3/0001-fix-cmake.patch create mode 100644 recipes/zlib/all/patches/1.3/0002-gzguts-xcode12-compile-fix.patch diff --git a/recipes/zlib/all/conandata.yml b/recipes/zlib/all/conandata.yml index 4da75436b4d71..bcebfb9b13b6d 100644 --- a/recipes/zlib/all/conandata.yml +++ b/recipes/zlib/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "1.3": + url: + - "https://zlib.net/fossils/zlib-1.3.tar.gz" + - "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz" + sha256: "ff0ba4c292013dbc27530b3a81e1f9a813cd39de01ca5e0f8bf355702efa593e" "1.2.13": url: - "https://zlib.net/fossils/zlib-1.2.13.tar.gz" @@ -11,12 +16,18 @@ sources: url: "https://zlib.net/fossils/zlib-1.2.11.tar.gz" sha256: "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1" patches: + "1.3": + - patch_file: "patches/1.3/0001-fix-cmake.patch" + patch_description: "separate static/shared builds, disable debug suffix, disable building examples" + patch_type: "conan" "1.2.13": - patch_file: "patches/1.2.13/0001-Fix-cmake.patch" - - patch_file: "patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch" + patch_description: "separate static/shared builds, disable debug suffix, disable building examples" + patch_type: "conan" "1.2.12": - patch_file: "patches/1.2.x/0001-fix-cmake.patch" - - patch_file: "patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch" + patch_description: "separate static/shared builds, disable debug suffix, disable building examples" + patch_type: "conan" - patch_file: "patches/1.2.x/0004-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch" patch_description: "CVE-2022-37434: Fix a bug when getting a gzip header extra field with inflate()" patch_type: "vulnerability" @@ -29,6 +40,9 @@ patches: sha256: "cdd69eb3251728b1875c8ecae6427b50aa750b4045ef984ab79b6c07b7e6dd3a" "1.2.11": - patch_file: "patches/1.2.x/0001-fix-cmake.patch" - - patch_file: "patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch" - # https://github.com/madler/zlib/issues/268 + patch_description: "separate static/shared builds, disable debug suffix, disable building examples" + patch_type: "conan" - patch_file: "patches/1.2.x/0003-gzguts-fix-widechar-condition.patch" + patch_description: "fix condition for WIDECHAR usage" + patch_type: "portability" + patch_source: "https://github.com/madler/zlib/issues/268" diff --git a/recipes/zlib/all/patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch b/recipes/zlib/all/patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch deleted file mode 100644 index 3f81a6f53a248..0000000000000 --- a/recipes/zlib/all/patches/1.2.x/0002-gzguts-xcode12-compile-fix.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4ff188d490445fe7bad629a94d5bf4b641d4ab8d Mon Sep 17 00:00:00 2001 -From: Tim Blechmann -Date: Thu, 2 Jul 2020 12:04:38 +0800 -Subject: [PATCH] xcode12 compile fix - ---- - gzguts.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/gzguts.h b/gzguts.h -index 990a4d2..c78cb40 100644 ---- a/gzguts.h -+++ b/gzguts.h -@@ -26,6 +26,10 @@ - # include - #endif - -+#ifdef __APPLE__ -+#include -+#endif -+ - #ifndef _POSIX_SOURCE - # define _POSIX_SOURCE - #endif --- -2.27.0 - diff --git a/recipes/zlib/all/patches/1.2.x/0003-gzguts-fix-widechar-condition.patch b/recipes/zlib/all/patches/1.2.x/0003-gzguts-fix-widechar-condition.patch index 56b3fbe76ce8e..3de4978c30661 100644 --- a/recipes/zlib/all/patches/1.2.x/0003-gzguts-fix-widechar-condition.patch +++ b/recipes/zlib/all/patches/1.2.x/0003-gzguts-fix-widechar-condition.patch @@ -1,8 +1,8 @@ diff --git a/gzguts.h b/gzguts.h -index c78cb40..4e9ec4f 100644 +index 990a4d2..6378d46 100644 --- a/gzguts.h +++ b/gzguts.h -@@ -43,7 +43,7 @@ +@@ -39,7 +39,7 @@ # include #endif diff --git a/recipes/zlib/all/patches/1.3/0001-fix-cmake.patch b/recipes/zlib/all/patches/1.3/0001-fix-cmake.patch new file mode 100644 index 0000000000000..b2aa69d0684cf --- /dev/null +++ b/recipes/zlib/all/patches/1.3/0001-fix-cmake.patch @@ -0,0 +1,92 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7f1b69f..618ea02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,7 +57,6 @@ endif() + check_include_file(unistd.h Z_HAVE_UNISTD_H) + + if(MSVC) +- set(CMAKE_DEBUG_POSTFIX "d") + add_definitions(-D_CRT_SECURE_NO_DEPRECATE) + add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +@@ -120,7 +119,7 @@ set(ZLIB_SRCS + zutil.c + ) + +-if(NOT MINGW) ++if(MSVC) + set(ZLIB_DLL_SRCS + win32/zlib1.rc # If present will override custom build rule below. + ) +@@ -131,7 +130,7 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) + string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" + "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) + +-if(MINGW) ++if(WIN32 AND NOT MSVC) + # This gets us DLL resource information when compiling on MinGW. + if(NOT CMAKE_RC_COMPILER) + set(CMAKE_RC_COMPILER windres.exe) +@@ -145,12 +144,16 @@ if(MINGW) + -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj + -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) + set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) +-endif(MINGW) ++endif() + ++if(BUILD_SHARED_LIBS) + add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) + set_target_properties(zlib PROPERTIES SOVERSION 1) ++else() ++add_library(zlib STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) ++endif() + + if(NOT CYGWIN) + # This property causes shared libraries on Linux to have the full version +@@ -163,19 +166,24 @@ if(NOT CYGWIN) + set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) + endif() + +-if(UNIX) ++if(WIN32 AND NOT MINGW) ++ if(BUILD_SHARED_LIBS) ++ set_target_properties(zlib PROPERTIES ARCHIVE_OUTPUT_NAME zdll) ++ endif() ++else() + # On unix-like platforms the library is almost always called libz +- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) ++ set_target_properties(zlib PROPERTIES OUTPUT_NAME z) + if(NOT APPLE) + set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") + endif() +-elseif(BUILD_SHARED_LIBS AND WIN32) ++endif() ++if(BUILD_SHARED_LIBS AND WIN32) + # Creates zlib1.dll when building shared library version +- set_target_properties(zlib PROPERTIES SUFFIX "1.dll") ++ set_target_properties(zlib PROPERTIES PREFIX "" RUNTIME_OUTPUT_NAME "zlib1") + endif() + + if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) +- install(TARGETS zlib zlibstatic ++ install(TARGETS zlib + RUNTIME DESTINATION "${INSTALL_BIN_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) +@@ -193,7 +201,7 @@ endif() + #============================================================================ + # Example binaries + #============================================================================ +- ++if(0) + add_executable(example test/example.c) + target_link_libraries(example zlib) + add_test(example example) +@@ -211,3 +219,4 @@ if(HAVE_OFF64_T) + target_link_libraries(minigzip64 zlib) + set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") + endif() ++endif() diff --git a/recipes/zlib/all/patches/1.3/0002-gzguts-xcode12-compile-fix.patch b/recipes/zlib/all/patches/1.3/0002-gzguts-xcode12-compile-fix.patch new file mode 100644 index 0000000000000..d299f4962fa59 --- /dev/null +++ b/recipes/zlib/all/patches/1.3/0002-gzguts-xcode12-compile-fix.patch @@ -0,0 +1,15 @@ +diff --git a/gzguts.h b/gzguts.h +index f937504..c4654b5 100644 +--- a/gzguts.h ++++ b/gzguts.h +@@ -25,6 +25,10 @@ + # include + #endif + ++#ifdef __APPLE__ ++#include ++#endif ++ + #ifndef _POSIX_SOURCE + # define _POSIX_SOURCE + #endif diff --git a/recipes/zlib/config.yml b/recipes/zlib/config.yml index 351c06f68201f..132003f7c53b5 100644 --- a/recipes/zlib/config.yml +++ b/recipes/zlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.3": + folder: all "1.2.13": folder: all "1.2.12": From 6767d0248fbf27488a8d30fa3e547d9603227556 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Sep 2023 13:10:37 +0900 Subject: [PATCH 1501/4087] (#19531) benchmark: add version 1.8.3 --- recipes/benchmark/all/conandata.yml | 3 +++ recipes/benchmark/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/benchmark/all/conandata.yml b/recipes/benchmark/all/conandata.yml index 91541bdc04e27..8a3c24a77b927 100644 --- a/recipes/benchmark/all/conandata.yml +++ b/recipes/benchmark/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.3": + url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.3.tar.gz" + sha256: "6bc180a57d23d4d9515519f92b0c83d61b05b5bab188961f36ac7b06b0d9e9ce" "1.8.2": url: "https://github.com/google/benchmark/archive/refs/tags/v1.8.2.tar.gz" sha256: "2aab2980d0376137f969d92848fbb68216abb07633034534fc8c65cc4e7a0e93" diff --git a/recipes/benchmark/config.yml b/recipes/benchmark/config.yml index b76259067bc58..f3ed1f1e95743 100644 --- a/recipes/benchmark/config.yml +++ b/recipes/benchmark/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.3": + folder: all "1.8.2": folder: all "1.8.1": From 5d928297d5ea3491713728af5b441c5a7bc49e2c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Sep 2023 16:53:21 +0900 Subject: [PATCH 1502/4087] (#19563) mpfr: add version 4.2.1, update dependenies --- recipes/mpfr/all/conandata.yml | 19 +++++++++++++------ recipes/mpfr/all/conanfile.py | 8 ++++---- recipes/mpfr/all/test_package/conanfile.py | 1 + recipes/mpfr/config.yml | 2 ++ 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/recipes/mpfr/all/conandata.yml b/recipes/mpfr/all/conandata.yml index 53fa206c24da1..bdecd0395c37d 100644 --- a/recipes/mpfr/all/conandata.yml +++ b/recipes/mpfr/all/conandata.yml @@ -1,14 +1,21 @@ sources: + "4.2.1": + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.gz" + sha256: "116715552bd966c85b417c424db1bbdf639f53836eb361549d1f8d6ded5cb4c6" "4.2.0": - sha256: f1cc1c6bb14d18f0c61cc416e083f5e697b6e0e3cf9630b9b33e8e483fc960f0 - url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.gz + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.gz" + sha256: "f1cc1c6bb14d18f0c61cc416e083f5e697b6e0e3cf9630b9b33e8e483fc960f0" "4.1.0": - sha256: 3127fe813218f3a1f0adf4e8899de23df33b4cf4b4b3831a5314f78e65ffa2d6 - url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.gz + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.gz" + sha256: "3127fe813218f3a1f0adf4e8899de23df33b4cf4b4b3831a5314f78e65ffa2d6" "4.0.2": - sha256: ae26cace63a498f07047a784cd3b0e4d010b44d2b193bab82af693de57a19a78 - url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.gz + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.gz" + sha256: "ae26cace63a498f07047a784cd3b0e4d010b44d2b193bab82af693de57a19a78" patches: + "4.2.1": + - patch_file: "patches/4.2.0-0002-windows-header-dll.patch" + patch_description: "Windows header DLL" + patch_type: "portability" "4.2.0": - patch_file: "patches/4.2.0-0002-windows-header-dll.patch" patch_description: "Windows header DLL" diff --git a/recipes/mpfr/all/conanfile.py b/recipes/mpfr/all/conanfile.py index 0356da09ec7fb..e163c514a2dea 100644 --- a/recipes/mpfr/all/conanfile.py +++ b/recipes/mpfr/all/conanfile.py @@ -17,13 +17,13 @@ class MpfrConan(ConanFile): name = "mpfr" - package_type = "library" description = "The MPFR library is a C library for multiple-precision floating-point computations with " \ "correct rounding" - topics = ("mpfr", "multiprecision", "math", "mathematics") + license = "LGPL-3.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.mpfr.org/" - license = "LGPL-3.0-or-later" + topics = ("multiprecision", "math", "mathematics") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -54,7 +54,7 @@ def configure(self): def requirements(self): if self.options.exact_int == "gmp": - self.requires("gmp/6.2.1", transitive_headers=True) + self.requires("gmp/6.3.0", transitive_headers=True) elif self.options.exact_int == "mpir": self.requires("mpir/3.0.0") diff --git a/recipes/mpfr/all/test_package/conanfile.py b/recipes/mpfr/all/test_package/conanfile.py index c56e8a6249e69..a63e741acf671 100644 --- a/recipes/mpfr/all/test_package/conanfile.py +++ b/recipes/mpfr/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def layout(self): cmake_layout(self) diff --git a/recipes/mpfr/config.yml b/recipes/mpfr/config.yml index 217c84a76cc94..f3d9d2b90378d 100644 --- a/recipes/mpfr/config.yml +++ b/recipes/mpfr/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.1": + folder: all "4.2.0": folder: all "4.1.0": From a1a5972f3e9ece3ec748c4866508ff2138d48cce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Sep 2023 11:28:52 +0300 Subject: [PATCH 1503/4087] (#18765) llvm-openmp: migrate to Conan v2 * llvm-openmp: migrate to Conan v2 * llvm-openmp: export missing CFLAGS * llvm-openmp: restore VirtualRunEnv in test_package * llvm-openmp: fix test_v1_package --- recipes/llvm-openmp/all/CMakeLists.txt | 7 - recipes/llvm-openmp/all/conandata.yml | 7 - recipes/llvm-openmp/all/conanfile.py | 134 +++++++++--------- .../all/test_package/CMakeLists.txt | 14 +- .../llvm-openmp/all/test_package/conanfile.py | 22 ++- .../all/test_package/test_package.c | 25 ++++ .../all/test_package/test_package.cpp | 3 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 +++ 9 files changed, 146 insertions(+), 92 deletions(-) delete mode 100644 recipes/llvm-openmp/all/CMakeLists.txt create mode 100644 recipes/llvm-openmp/all/test_package/test_package.c create mode 100644 recipes/llvm-openmp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/llvm-openmp/all/test_v1_package/conanfile.py diff --git a/recipes/llvm-openmp/all/CMakeLists.txt b/recipes/llvm-openmp/all/CMakeLists.txt deleted file mode 100644 index 61f3d3b039e2b..0000000000000 --- a/recipes/llvm-openmp/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/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index 499e8f40e5c34..eebc958f499eb 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -17,20 +17,13 @@ sources: patches: "12.0.1": - patch_file: "patches/0001-disable-build-testing_12.0.1.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-disable-omp-target_12.0.1.patch" - base_path: "source_subfolder" "11.1.0": - patch_file: "patches/0001-disable-build-testing_11.1.0.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-fix-armv8-build_11.1.0.patch" - base_path: "source_subfolder" "10.0.0": - patch_file: "patches/0001-disable-build-testing_10.0.0.patch" - base_path: "source_subfolder" "9.0.1": - patch_file: "patches/0001-disable-build-testing.patch" - base_path: "source_subfolder" "8.0.1": - patch_file: "patches/0001-disable-build-testing.patch" - base_path: "source_subfolder" diff --git a/recipes/llvm-openmp/all/conanfile.py b/recipes/llvm-openmp/all/conanfile.py index 4f1ee354a647e..11666c28d78a0 100644 --- a/recipes/llvm-openmp/all/conanfile.py +++ b/recipes/llvm-openmp/all/conanfile.py @@ -1,10 +1,14 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -import functools import textwrap -required_conan_version = ">=1.43.0" +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, collect_libs, copy, export_conandata_patches, get, replace_in_file, save +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class LLVMOpenMpConan(ConanFile): @@ -16,81 +20,83 @@ class LLVMOpenMpConan(ConanFile): "in Fortran and C/C++ programs. This is the LLVM " "implementation.") license = "Apache-2.0 WITH LLVM-exception" - topics = ("conan", "llvm", "openmp", "parallelism") - homepage = "https://github.com/llvm/llvm-project/tree/master/openmp" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False]} - default_options = {"shared": False, - "fPIC": True} - generators = "cmake" + homepage = "https://github.com/llvm/llvm-project/tree/master/openmp" + topics = ("llvm", "openmp", "parallelism") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } def export_sources(self): - 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": del self.options.fPIC def _supports_compiler(self): - supported_compilers_by_os = \ - {"Linux": ["clang", "gcc", "intel"], - "Macos": ["apple-clang", "clang", "gcc", "intel"], - "Windows": ["intel"]} + supported_compilers_by_os = { + "Linux": ["clang", "gcc", "intel-cc"], + "Macos": ["apple-clang", "clang", "gcc", "intel-cc"], + "Windows": ["intel-cc"], + } the_compiler, the_os = self.settings.compiler.value, self.settings.os.value return the_compiler in supported_compilers_by_os.get(the_os, []) def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self._supports_compiler(): raise ConanInvalidConfiguration("llvm-openmp doesn't support compiler: {} on OS: {}.". format(self.settings.compiler, self.settings.os)) + + def layout(self): + cmake_layout(self, src_folder="src") + def validate(self): if ( - tools.Version(self.version) <= "10.0.0" - and self.settings.os == "Macos" + Version(self.version) <= "10.0.0" + and is_apple_os(self) and self.settings.arch == "armv8" ): raise ConanInvalidConfiguration("ARM v8 not supported") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "openmp-{}.src".format(self.version) - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["OPENMP_STANDALONE_BUILD"] = True + tc.variables["LIBOMP_ENABLE_SHARED"] = self.options.shared + if self.settings.os in ["Linux", "FreeBSD"]: + tc.variables["OPENMP_ENABLE_LIBOMPTARGET"] = self.options.shared + tc.generate() - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["OPENMP_STANDALONE_BUILD"] = True - cmake.definitions["LIBOMP_ENABLE_SHARED"] = self.options.shared - if self.settings.os == "Linux": - cmake.definitions["OPENMP_ENABLE_LIBOMPTARGET"] = self.options.shared - cmake.configure() - return cmake + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self,os.path.join(self.source_folder, "runtime", "CMakeLists.txt"), + "add_subdirectory(test)", "") def build(self): self._patch_sources() - tools.replace_in_file(os.path.join(self._source_subfolder, "runtime/CMakeLists.txt"), - "add_subdirectory(test)", "") - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE.txt", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() # TODO: to remove in conan v2 once cmake_find_package* generators removed @@ -98,44 +104,44 @@ def package(self): os.path.join(self.package_folder, self._module_file_rel_path), { "OpenMP::OpenMP_C": "OpenMP::OpenMP", - "OpenMP::OpenMP_CXX": "OpenMP::OpenMP" - } + "OpenMP::OpenMP_CXX": "OpenMP::OpenMP", + }, ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) @property def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): 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"] + # 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.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] - - 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': - self.cpp_info.cxxflags = ["/Qopenmp"] if self.settings.os == 'Windows' else ["-Qopenmp"] - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["dl", "m", "pthread", "rt"] diff --git a/recipes/llvm-openmp/all/test_package/CMakeLists.txt b/recipes/llvm-openmp/all/test_package/CMakeLists.txt index 2d9a8574cc4d4..491aa7ec1f5d3 100644 --- a/recipes/llvm-openmp/all/test_package/CMakeLists.txt +++ b/recipes/llvm-openmp/all/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX C) find_package(OpenMP CONFIG REQUIRED) -add_executable(test_package test_package.cpp) -target_link_libraries(test_package OpenMP::OpenMP_CXX) +add_executable(test_package_cxx test_package.cpp) +target_link_libraries(test_package_cxx OpenMP::OpenMP_CXX) + +add_executable(test_package_c test_package.c) +target_link_libraries(test_package_c OpenMP::OpenMP_C) diff --git a/recipes/llvm-openmp/all/test_package/conanfile.py b/recipes/llvm-openmp/all/test_package/conanfile.py index 5ac3af772bdc0..b9c17185d658e 100644 --- a/recipes/llvm-openmp/all/test_package/conanfile.py +++ b/recipes/llvm-openmp/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 LLVMOpenMpTestConan(ConanFile): +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,7 @@ 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): + for executable in ["test_package_cxx", "test_package_c"]: + bin_path = os.path.join(self.cpp.build.bindir, executable) + self.run(bin_path, env="conanrun") diff --git a/recipes/llvm-openmp/all/test_package/test_package.c b/recipes/llvm-openmp/all/test_package/test_package.c new file mode 100644 index 0000000000000..103d724f00fcd --- /dev/null +++ b/recipes/llvm-openmp/all/test_package/test_package.c @@ -0,0 +1,25 @@ +#include + +#include + +int main() +{ + int num_threads = omp_get_num_procs(); + if (num_threads < 5) + num_threads = 5; + omp_set_num_threads(num_threads); + int actual_number; + #pragma omp parallel + { + #pragma omp single + { + actual_number = omp_get_num_threads(); + } + } + if(actual_number != num_threads){ + printf("Something went wrong. Expecting %d threads but found %d.\n", num_threads, actual_number); + printf("There are probably missing compiler flags.\n"); + return 1; + } + 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 f6316471238aa..b602ec5a096c9 100644 --- a/recipes/llvm-openmp/all/test_package/test_package.cpp +++ b/recipes/llvm-openmp/all/test_package/test_package.cpp @@ -1,4 +1,5 @@ #include + #include int main() @@ -15,7 +16,7 @@ int main() } if(actual_number != num_threads){ std::cout << "Something went wrong. Expecting " << num_threads << " threads but found " << actual_number << ".\n"; - std::cout << "There are probably missing compiler flags.\n" ; + std::cout << "There are probably missing compiler flags.\n"; return 1; } return 0; diff --git a/recipes/llvm-openmp/all/test_v1_package/CMakeLists.txt b/recipes/llvm-openmp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/llvm-openmp/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/llvm-openmp/all/test_v1_package/conanfile.py b/recipes/llvm-openmp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b6e98e149af12 --- /dev/null +++ b/recipes/llvm-openmp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class LLVMOpenMpTestConan(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): + for executable in ["test_package_cxx", "test_package_c"]: + bin_path = os.path.join("bin", executable) + self.run(bin_path, run_environment=True) From 1a4f91c08e57a891c1a604b2afbd68740397634d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Sep 2023 18:11:21 +0900 Subject: [PATCH 1504/4087] (#19577) csvmonkey: update boost/1.83.0, add package_type --- recipes/csvmonkey/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/csvmonkey/all/conanfile.py b/recipes/csvmonkey/all/conanfile.py index 49542ed86e55c..821a19ed46096 100644 --- a/recipes/csvmonkey/all/conanfile.py +++ b/recipes/csvmonkey/all/conanfile.py @@ -14,7 +14,8 @@ class CSVMONEKYConan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dw/csvmonkey/" - topics = ("csv-parser", "header-only", "vectorized") + topics = ("csv-parser", "header-only", "vectorized", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_spirit": [True, False], @@ -33,7 +34,7 @@ def layout(self): def requirements(self): if self.options.with_spirit: - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") def package_id(self): self.info.clear() From a75c478ec82baa8f264eee9376a856177e96706b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 5 Sep 2023 11:42:29 +0200 Subject: [PATCH 1505/4087] (#19594) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 2c10e53b02cca..5cf53d60ba1e6 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -276,6 +276,7 @@ required_for_references: - egl-headers - eigen - elfio +- embag - embree3 - emio - emsdk From 3d1b277af3d27a68813f4c2243bb152ecefe09b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 12:03:10 +0200 Subject: [PATCH 1506/4087] (#19561) [docs] Regenerate tables of contents Co-authored-by: conan-center-bot --- docs/developing_recipes_locally.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/developing_recipes_locally.md b/docs/developing_recipes_locally.md index 9c54954e8a98d..f80ba1e6286cb 100644 --- a/docs/developing_recipes_locally.md +++ b/docs/developing_recipes_locally.md @@ -22,6 +22,7 @@ This file is intended to provide all the commands you need to run in order to be * [Yamlschema](#yamlschema) * [Testing the different `test__package`](#testing-the-different-test__package) * [Testing more environments](#testing-more-environments) + * [Docker build images used by ConanCenterIndex](#docker-build-images-used-by-conancenterindex) * [Using Conan 2.0](#using-conan-20) * [Installing Conan 2.0 beta](#installing-conan-20-beta) * [Trying it out](#trying-it-out) From ae63c81bc9f773dd84cd55e7c6f86faa06e679d7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 5 Sep 2023 12:22:37 +0200 Subject: [PATCH 1507/4087] (#19597) [changelog] Add changelog 31-August-2023 --- docs/changelog.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 8eadac2df6139..1511b584ab7db 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,22 +2,30 @@ ### 01-Sep-2023 - 19:58 CEST -- [fix] Use Unix separators for Windows folder path when creating CI workspace +- [fix] Use Unix separators for Windows folder path when creating CI workspace. -### 17-Aug-2023 - 11:42 CEST +### 31-August-2023 - 12:57 CEST + +- [feature] Support specific PR number for Automatic Merge. +- [feature] Use temporary folder for build workspace. +- [fix] Rename BuildSingleReference folder to bsr to overcome Windows long path. +- [fix] Remove graph info from logs to avoid long loading. +- [fix] Remove deprecated search index for Conan Center. + +### 17-August-2023 - 11:42 CEST - [fix] Fix type error when catching generic exceptions in Jenkins - [fix] Bump dependencies no longer allow version range - [feature] Show recipe revision on the pull-request summary table -### 04-Aug-2023 - 10:26 CEST +### 04-August-2023 - 10:26 CEST - [feature] Enable Conan 2.0.8 - [feature] Enable Conan 1.60.2 - [feature] Update Jenkins server version - [hotfix] Better error management when having CI build timeout -### 19-Jul-2023 - 09:45 CEST +### 19-July-2023 - 09:45 CEST - [fix] Fix message processing if no message is passed. - [fix] Fix automatic merge priority to follow the correct PR order. From cca52d3da5d991bb3253b9adad43b05b8bfab287 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Sep 2023 15:29:55 +0300 Subject: [PATCH 1508/4087] (#18751) uchardet: migrate to Conan v2 * uchardet: migrate to Conan v2 * uchardet: add fix_apple_shared_install_name() * uchardet: move DLLs from lib to bin * uchardet: restore VirtualRunEnv in test_package --- recipes/uchardet/all/CMakeLists.txt | 7 -- recipes/uchardet/all/conanfile.py | 103 ++++++++++-------- .../uchardet/all/test_package/CMakeLists.txt | 6 +- .../uchardet/all/test_package/conanfile.py | 19 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../uchardet/all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 96 insertions(+), 64 deletions(-) delete mode 100644 recipes/uchardet/all/CMakeLists.txt create mode 100644 recipes/uchardet/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/uchardet/all/test_v1_package/conanfile.py diff --git a/recipes/uchardet/all/CMakeLists.txt b/recipes/uchardet/all/CMakeLists.txt deleted file mode 100644 index a17cdee90b035..0000000000000 --- a/recipes/uchardet/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include("conanbuildinfo.cmake") -conan_basic_setup(KEEP_RPATH) - -add_subdirectory("source_subfolder") diff --git a/recipes/uchardet/all/conanfile.py b/recipes/uchardet/all/conanfile.py index bb92e982496c4..6163692ad75f8 100644 --- a/recipes/uchardet/all/conanfile.py +++ b/recipes/uchardet/all/conanfile.py @@ -1,18 +1,27 @@ -from conans import ConanFile, CMake, tools import os -import functools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir, rename + +required_conan_version = ">=1.53.0" class UchardetConan(ConanFile): name = "uchardet" + description = ( + "uchardet is an encoding detector library, which takes a " + "sequence of bytes in an unknown character encoding and " + "attempts to determine the encoding of the text. " + "Returned encoding names are iconv-compatible." + ) + license = "MPL-1.1" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/freedesktop/uchardet" - description = "uchardet is an encoding detector library, which takes a sequence of bytes in an unknown character encoding and attempts to determine the encoding of the text. Returned encoding names are iconv-compatible." - topics = "encoding", "detector" - license = "MPL-1.1" + topics = ("encoding", "detector") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,79 +34,77 @@ class UchardetConan(ConanFile): "check_sse2": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def config_options(self): if self._settings_build not in ("x86", "x86_64"): - del self.options.check_sse2 + self.options.rm_safe("check_sse2") if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def 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["CHECK_SSE2"] = self.options.get_safe("check_sse2", False) + tc.variables["BUILD_BINARY"] = False + tc.variables["BUILD_STATIC"] = not self.options.shared + tc.generate() def _patch_sources(self): # the following fixes that apply to uchardet version 0.0.7 # fix broken cmake - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), "${CMAKE_BINARY_DIR}", - "${CMAKE_CURRENT_BINARY_DIR}") + "${CMAKE_CURRENT_BINARY_DIR}", + ) # fix problem with mac os - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - 'string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)', - 'string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" TARGET_ARCHITECTURE)') + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)", + 'string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" TARGET_ARCHITECTURE)', + ) # disable building tests - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), "add_subdirectory(test)", - "#add_subdirectory(test)") - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CHECK_SSE2"] = self.options.get_safe("check_sse2", False) - cmake.definitions["BUILD_BINARY"] = False - cmake.definitions["BUILD_STATIC"] = False # disable building static libraries when self.options.shared is True - cmake.configure(build_folder=self._build_subfolder) - return cmake + "#add_subdirectory(test)", + ) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) + for dll in (self.package_path / "lib").glob("*.dll"): + rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "uchardet") - self.cpp_info.set_property("cmake_target_name", "uchardet") self.cpp_info.set_property("pkg_config_name", "libuchardet") - - self.cpp_info.names["cmake_find_package"] = "uchardet" - self.cpp_info.names["cmake_find_package_multi"] = "uchardet" - self.cpp_info.names["pkgconfig"] = "libuchardet" self.cpp_info.libs = ["uchardet"] if self.options.shared: self.cpp_info.defines.append("UCHARDET_SHARED") diff --git a/recipes/uchardet/all/test_package/CMakeLists.txt b/recipes/uchardet/all/test_package/CMakeLists.txt index a726e6f66a3bd..6dbcda3f32f3c 100644 --- a/recipes/uchardet/all/test_package/CMakeLists.txt +++ b/recipes/uchardet/all/test_package/CMakeLists.txt @@ -1,12 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) + set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(uchardet REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/uchardet/all/test_package/conanfile.py b/recipes/uchardet/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/uchardet/all/test_package/conanfile.py +++ b/recipes/uchardet/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/uchardet/all/test_v1_package/CMakeLists.txt b/recipes/uchardet/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/uchardet/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/uchardet/all/test_v1_package/conanfile.py b/recipes/uchardet/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/uchardet/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 3d711235cc40263dcbc41b32857aa686a88b54f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 5 Sep 2023 17:42:37 +0200 Subject: [PATCH 1509/4087] (#19588) [docs] Add `zlib` and `libcurl` to the list of allowed version ranges * Add zlib and sqlite3 to the list of allowed verison ranges * Sqlite3 -> libcurl * Swap 2.1 for 1.2, oops --- docs/adding_packages/dependencies.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index a45c6c0f3c31c..c421b0a9d9f67 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -174,15 +174,18 @@ for consumer, we do impose some limits on Conan features to provide a smoother f * [`python_requires`](https://docs.conan.io/1/reference/conanfile/other.html#python-requires) are not allowed. ### Version Ranges - + 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: * 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. +* CMake: `[>3.XX <4]`, where `3.XX` is the minimum version of CMake required by the relevant build scripts +* Zlib: `[>=1.X.Y <2]`, where `1.X.Y` is the minimum version of Zlib required, starting from `1.2.10` +* Libcurl: `[>=X.YY <9]`, where `X.YY` is the minimum version of Libcurl required, starting from `7.78` + -> **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, +> **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 > can user the defunct `--require-override openssl/1.1.1t@` from the command line, or override from the recipe with `self.requires(openssl/1.1.1t, override=True)` > to ensure a lower version is picked. From 697552e8c3b2e5de83cab85cb83a03005d41886d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 6 Sep 2023 09:42:41 +0200 Subject: [PATCH 1510/4087] (#19585) [bot] Update authorized users list (2023-09-04) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 40eb28806b2ca..56fdf9df94977 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1222,3 +1222,7 @@ authorized_users: - XVilka - DoomHammer - cschreib +- AleksandraVolosevich-TomTom +- p-groarke +- Kalixio +- temap From 226788690ace823b25b1c4581f5e95d9cc116d59 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Sep 2023 17:14:03 +0900 Subject: [PATCH 1511/4087] (#19541) glaze: add version 1.4.1 * glaze: add version 1.4.1 * support LICENCE file name modification * use wildcard on copying license file Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/all/conanfile.py | 2 +- recipes/glaze/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 31bad0f747ccc..98ea7dc8d1150 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/stephenberry/glaze/archive/v1.4.1.tar.gz" + sha256: "fae4188004d383f79225db26e41060aaae9a3eff92da7637aa467749e9590ee6" "1.4.0": url: "https://github.com/stephenberry/glaze/archive/v1.4.0.tar.gz" sha256: "301c831e2476529bfa1ea24d87011186da91644830bdf57e1ed99bc7f6326989" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 7d6155afba73c..e7b18eb1c3589 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -53,7 +53,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( self, pattern="*.hpp", diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index c479b0a04fbd0..73f9b337cba86 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.6": From baef5725b50e3bc7fbab413416f19ceffa381dd4 Mon Sep 17 00:00:00 2001 From: xyz1001 Date: Wed, 6 Sep 2023 16:51:31 +0800 Subject: [PATCH 1512/4087] (#19583) fix TRACY_ONLY_IPV4 not work and add new option * fix TRACY_ONLY_IPV4 not work * tracy: add new option for version greater than 0.9 --- recipes/tracy/all/conanfile.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/recipes/tracy/all/conanfile.py b/recipes/tracy/all/conanfile.py index bdb852b534295..a056814ff0165 100644 --- a/recipes/tracy/all/conanfile.py +++ b/recipes/tracy/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -25,7 +26,7 @@ class TracyConan(ConanFile): "no_callstack_inlines": ([True, False], False), "only_localhost": ([True, False], False), "no_broadcast": ([True, False], False), - "only_ipv": ([True, False], False), + "only_ipv4": ([True, False], False), "no_code_transfer": ([True, False], False), "no_context_switch": ([True, False], False), "no_exit": ([True, False], False), @@ -35,6 +36,10 @@ class TracyConan(ConanFile): "no_frame_image": ([True, False], False), "no_system_tracing": ([True, False], False), "delayed_init": ([True, False], False), + "manual_lifetime": ([True, False], False), + "fibers": ([True, False], False), + "no_crash_handler": ([True, False], False), + "timer_fallback": ([True, False], False), } options = { "shared": [True, False], @@ -51,6 +56,17 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "0.9": + self.options.rm_safe("manual_lifetime") + self.options.rm_safe("fibers") + self.options.rm_safe("no_crash_handler") + self.options.rm_safe("timer_fallback") + + del self._tracy_options["manual_lifetime"] + del self._tracy_options["fibers"] + del self._tracy_options["no_crash_handler"] + del self._tracy_options["timer_fallback"] + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") From 87aa601c9f69609c171b8e292e1ff4510044b2ae Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 6 Sep 2023 11:22:24 +0200 Subject: [PATCH 1513/4087] (#19613) [bot] Update list of references (prod-v2/ListPackages) --- .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 5cf53d60ba1e6..7491fb37d05f1 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -668,6 +668,7 @@ required_for_references: - linux-syscall-support - litehtml - llhttp +- llvm-openmp - lmdb - lodepng - log.c @@ -1115,6 +1116,7 @@ required_for_references: - type_safe - tz - ua-nodeset +- uchardet - uni-algo - unicorn - unity From 8b49cbc1ff3983ea12e0d8aa29964e94c0fafbd7 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Sep 2023 18:54:22 +0900 Subject: [PATCH 1514/4087] (#19587) libnghttp2: add version 1.56.0, update boost/1.83.0, remove older versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libnghttp2: add version 1.56.0, update boost/1.83.0 * remove older versions --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libnghttp2/all/conandata.yml | 15 +++------------ recipes/libnghttp2/all/conanfile.py | 8 +++----- recipes/libnghttp2/config.yml | 6 ++---- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 16a85daa58280..241b93e58b1d3 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.56.0": + url: "https://github.com/nghttp2/nghttp2/archive/v1.56.0.tar.gz" + sha256: "63dd705b524eec3c843b8e4e24914600a30c2804a113e8e5baeeb9695d09590a" "1.55.1": url: "https://github.com/nghttp2/nghttp2/archive/v1.55.1.tar.gz" sha256: "b89dece5bc3382b82c22db8dc8d1e062258cb7af8e4ad55278fa7149645a588d" @@ -23,12 +26,6 @@ sources: "1.48.0": url: "https://github.com/nghttp2/nghttp2/releases/download/v1.48.0/nghttp2-1.48.0.tar.xz" sha256: "47d8f30ee4f1bc621566d10362ca1b3ac83a335c63da7144947c806772d016e4" - "1.47.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.47.0/nghttp2-1.47.0.tar.xz" - sha256: "68271951324554c34501b85190f22f2221056db69f493afc3bbac8e7be21e7cc" - "1.46.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.46.0/nghttp2-1.46.0.tar.xz" - sha256: "1a68cc4a5732afb735baf50aaac3cb3a6771e49f744bd5db6c49ab5042f12a43" patches: "1.49.0": - patch_file: "patches/fix-findJemalloc.cmake" @@ -36,9 +33,3 @@ patches: "1.48.0": - patch_file: "patches/fix-findJemalloc.cmake" - patch_file: "patches/fix-findLibevent.cmake" - "1.47.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" - "1.46.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index b7976951f311e..00a7398f66246 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -15,10 +15,10 @@ class Nghttp2Conan(ConanFile): name = "libnghttp2" description = "HTTP/2 C Library and tools" - topics = ("http", "http2") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://nghttp2.org" - license = "MIT" + topics = ("http", "http2") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -73,7 +73,7 @@ def requirements(self): if self.options.with_hpack: self.requires("jansson/2.14") if self.options.get_safe("with_asio"): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") def validate(self): if self.options.get_safe("with_asio") and is_msvc(self): @@ -97,8 +97,6 @@ def generate(self): # disable unneeded auto-picked dependencies tc.variables["WITH_LIBXML2"] = False tc.variables["WITH_JEMALLOC"] = self.options.get_safe("with_jemalloc", False) - if Version(self.version) < "1.47.0": - tc.variables["WITH_SPDYLAY"] = False if Version(self.version) < "1.52.0": tc.variables["ENABLE_ASIO_LIB"] = self.options.with_asio if is_apple_os(self): diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 80c7ccd82ad1f..1bcc72d765fd2 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.56.0": + folder: all "1.55.1": folder: all "1.55.0": @@ -15,7 +17,3 @@ versions: folder: all "1.48.0": folder: all - "1.47.0": - folder: all - "1.46.0": - folder: all From 4abe94c7417ecf564bf673ef63867581d9b04aef Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Sep 2023 19:53:33 +0900 Subject: [PATCH 1515/4087] (#19590) dacap-clip: add version 1.6, add package_type --- recipes/dacap-clip/all/conandata.yml | 3 +++ recipes/dacap-clip/all/conanfile.py | 17 ++++++++--------- .../dacap-clip/all/test_package/CMakeLists.txt | 4 ++-- recipes/dacap-clip/config.yml | 2 ++ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/recipes/dacap-clip/all/conandata.yml b/recipes/dacap-clip/all/conandata.yml index daa1ee060995e..19103af57600d 100644 --- a/recipes/dacap-clip/all/conandata.yml +++ b/recipes/dacap-clip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6": + url: "https://github.com/dacap/clip/archive/refs/tags/v1.6.tar.gz" + sha256: "fc37319775ec1b6a75475b46696f5014418d90676359b96b894f646241dcbb7e" "1.5": url: "https://github.com/dacap/clip/archive/refs/tags/v1.5.tar.gz" sha256: "8f6f8a427075a09011fafbb75bfdbf1213e4492a13cff4a70975aab361c99382" diff --git a/recipes/dacap-clip/all/conanfile.py b/recipes/dacap-clip/all/conanfile.py index e2bd672a9b3d1..c4021d403c55f 100644 --- a/recipes/dacap-clip/all/conanfile.py +++ b/recipes/dacap-clip/all/conanfile.py @@ -8,7 +8,7 @@ from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.53.0" class DacapClipConan(ConanFile): name = "dacap-clip" @@ -17,6 +17,7 @@ class DacapClipConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dacap/clip/" topics = ("clipboard", "copy", "paste") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -29,8 +30,9 @@ class DacapClipConan(ConanFile): "with_png": True, } - def export_sources(self): - copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) + @property + def _min_cppstd(self): + return 11 def config_options(self): if self.settings.os == "Windows": @@ -38,10 +40,7 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.with_png @@ -56,12 +55,12 @@ def requirements(self): def validate(self): if self.info.settings.compiler.cppstd: - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) if is_msvc(self) and self.info.settings.build_type == "Debug" and self.info.options.shared == True: raise ConanInvalidConfiguration(f"{self.ref} doesn't support MSVC debug shared build (now).") 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 generate(self): toolchain = CMakeToolchain(self) diff --git a/recipes/dacap-clip/all/test_package/CMakeLists.txt b/recipes/dacap-clip/all/test_package/CMakeLists.txt index 63e11b22a301b..3913723472269 100644 --- a/recipes/dacap-clip/all/test_package/CMakeLists.txt +++ b/recipes/dacap-clip/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(clip REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} clip::clip) +target_link_libraries(${PROJECT_NAME} PRIVATE clip::clip) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/dacap-clip/config.yml b/recipes/dacap-clip/config.yml index 84f49b2850870..68f5d1fe1295a 100644 --- a/recipes/dacap-clip/config.yml +++ b/recipes/dacap-clip/config.yml @@ -1,3 +1,5 @@ versions: + "1.6": + folder: "all" "1.5": folder: "all" From 7e6490b82ccd324d4856c8ca617dbc151436ca3c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Sep 2023 20:31:22 +0900 Subject: [PATCH 1516/4087] (#19595) libtins: add version 4.5, update boost --- recipes/libtins/all/conandata.yml | 3 +++ recipes/libtins/all/conanfile.py | 4 ++-- recipes/libtins/all/test_package/CMakeLists.txt | 2 +- recipes/libtins/config.yml | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/libtins/all/conandata.yml b/recipes/libtins/all/conandata.yml index d565c818eeabe..ee42178c90b26 100644 --- a/recipes/libtins/all/conandata.yml +++ b/recipes/libtins/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.5": + url: "https://github.com/mfontanini/libtins/archive/v4.5.tar.gz" + sha256: "6ff5fe1ada10daef8538743dccb9c9b3e19d05d028ffdc24838e62ff3fc55841" "4.4": url: "https://github.com/mfontanini/libtins/archive/v4.4.tar.gz" sha256: "ff0121b4ec070407e29720c801b7e1a972042300d37560a62c57abadc9635634" diff --git a/recipes/libtins/all/conanfile.py b/recipes/libtins/all/conanfile.py index 7bca8b98f2ebb..d5656f7267688 100644 --- a/recipes/libtins/all/conanfile.py +++ b/recipes/libtins/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, rm, rmdir +from conan.tools.files import copy, get, rm, rmdir required_conan_version = ">=1.53.0" @@ -63,7 +63,7 @@ def requirements(self): # Used in two public headers: # - https://github.com/mfontanini/libtins/blob/v4.4/include/tins/tcp_ip/ack_tracker.h#L38 # - https://github.com/mfontanini/libtins/blob/v4.4/include/tins/tcp_ip/stream.h#L48 - self.requires("boost/1.81.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) if self.options.with_wpa2: self.requires("openssl/[>=1.1 <4]") diff --git a/recipes/libtins/all/test_package/CMakeLists.txt b/recipes/libtins/all/test_package/CMakeLists.txt index 94a84063fcb9f..9df74f0fcf532 100644 --- a/recipes/libtins/all/test_package/CMakeLists.txt +++ b/recipes/libtins/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(libtins REQUIRED CONFIG) diff --git a/recipes/libtins/config.yml b/recipes/libtins/config.yml index ce55c187fafe1..a962f30c14fe9 100644 --- a/recipes/libtins/config.yml +++ b/recipes/libtins/config.yml @@ -1,4 +1,6 @@ versions: + "4.5": + folder: all "4.4": folder: all "4.3": From a558cc01d606fbdcc89d6a80c49463cead05cd82 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Sep 2023 15:06:07 +0300 Subject: [PATCH 1517/4087] (#18196) avahi: add package_type, set cmake_target_name, pkg_config_name * avahi: add package_type, set cmake_target_name, pkg_config_name * avahi: restore test_v1_package * avahi: bump deps * avahi: remove redundant cmake_target_name for components * avahi: improve os detection * avahi: bump deps * fix conan 2 --------- Co-authored-by: ericLemanissier --- recipes/avahi/all/conanfile.py | 46 ++++++++++--------- recipes/avahi/all/test_package/CMakeLists.txt | 2 +- .../avahi/all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index 828f628b5ac41..a5da3d9b034e3 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -1,7 +1,8 @@ import os from conan import ConanFile -from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.build import can_run +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.files import copy, get, rmdir, rm from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout @@ -19,42 +20,43 @@ class AvahiConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/lathiat/avahi" license = "LGPL-2.1-only" - settings = "os", "arch", "compiler", "build_type" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.75.2") + self.requires("glib/2.77.1") self.requires("expat/2.5.0") self.requires("libdaemon/0.14") - self.requires("dbus/1.15.2") - self.requires("gdbm/1.19") + self.requires("dbus/1.15.6") + self.requires("gdbm/1.23") self.requires("libevent/2.1.12") - def build_requirements(self): - self.tool_requires("glib/2.75.2") - if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") - def validate(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration(f"{self.ref} only supports Linux.") - 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 build_requirements(self): + self.tool_requires("glib/") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -62,6 +64,8 @@ def source(self): def generate(self): virtual_build_env = VirtualBuildEnv(self) virtual_build_env.generate() + if can_run(self): + VirtualRunEnv(self).generate(scope="build") tc = AutotoolsToolchain(self) tc.configure_args.append("--enable-compat-libdns_sd") tc.configure_args.append("--disable-gtk3") @@ -70,7 +74,7 @@ def generate(self): tc.configure_args.append("--disable-python") tc.configure_args.append("--disable-qt5") tc.configure_args.append("--with-systemdsystemunitdir=/lib/systemd/system") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: tc.configure_args.append("ac_cv_func_setproctitle=no") tc.generate() AutotoolsDeps(self).generate() @@ -98,9 +102,9 @@ def package(self): def package_info(self): for lib in ("client", "common", "core", "glib", "gobject", "libevent", "compat-libdns_sd"): avahi_lib = f"avahi-{lib}" + self.cpp_info.components[lib].set_property("pkg_config_name", avahi_lib) self.cpp_info.components[lib].names["cmake_find_package"] = lib self.cpp_info.components[lib].names["cmake_find_package_multi"] = lib - self.cpp_info.components[lib].names["pkg_config"] = avahi_lib self.cpp_info.components[lib].libs = [avahi_lib] self.cpp_info.components[lib].includedirs = [os.path.join("include", avahi_lib)] self.cpp_info.components["compat-libdns_sd"].libs = ["dns_sd"] @@ -115,9 +119,9 @@ def package_info(self): for app in ("autoipd", "browse", "daemon", "dnsconfd", "publish", "resolve", "set-host-name"): avahi_app = f"avahi-{app}" + self.cpp_info.components[app].set_property("pkg_config_name", avahi_app) self.cpp_info.components[app].names["cmake_find_package"] = app self.cpp_info.components[app].names["cmake_find_package_multi"] = app - self.cpp_info.components[app].names["pkg_config"] = avahi_app self.cpp_info.components["autoipd"].requires = ["libdaemon::libdaemon"] self.cpp_info.components["browse"].requires = ["client", "gdbm::gdbm"] diff --git a/recipes/avahi/all/test_package/CMakeLists.txt b/recipes/avahi/all/test_package/CMakeLists.txt index fce015c3405a9..a844c8e02eaa3 100644 --- a/recipes/avahi/all/test_package/CMakeLists.txt +++ b/recipes/avahi/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(Avahi CONFIG REQUIRED) diff --git a/recipes/avahi/all/test_v1_package/CMakeLists.txt b/recipes/avahi/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..91630d79f4abb 100644 --- a/recipes/avahi/all/test_v1_package/CMakeLists.txt +++ b/recipes/avahi/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From a1f99f3aa7308ff4f94a44780c40237c2d106851 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Sep 2023 15:27:46 +0300 Subject: [PATCH 1518/4087] (#18691) libb2: migrate to Conan v2 * libb2: migrate to Conan v2 * libb2: move DLLs from lib to bin * libb2: restore VirtualRunEnv in test_package --- recipes/libb2/all/CMakeLists.txt | 52 +++++----- recipes/libb2/all/conanfile.py | 96 +++++++++++-------- recipes/libb2/all/test_package/CMakeLists.txt | 7 +- recipes/libb2/all/test_package/conanfile.py | 24 +++-- .../libb2/all/test_v1_package/CMakeLists.txt | 8 ++ .../libb2/all/test_v1_package/conanfile.py | 16 ++++ 6 files changed, 126 insertions(+), 77 deletions(-) create mode 100644 recipes/libb2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libb2/all/test_v1_package/conanfile.py diff --git a/recipes/libb2/all/CMakeLists.txt b/recipes/libb2/all/CMakeLists.txt index ba9b7e9e27948..ff47fce826321 100644 --- a/recipes/libb2/all/CMakeLists.txt +++ b/recipes/libb2/all/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.12) project(b2 C) -include("conanbuildinfo.cmake") -conan_basic_setup() - if(WIN32 AND BUILD_SHARED_LIBS AND MSVC) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() @@ -11,38 +8,37 @@ endif() option(USE_SSE "Optimized for speed on CPUs supporting SSE2, SSSE3, SSE4.1, AVX, or XOP" OFF) option(USE_NEON "Optimiced for arm CPUs" OFF) +set(src ${CMAKE_CURRENT_LIST_DIR}/src) + if (USE_NEON) message(STATUS "Using neon sources") - set(SOURCE_FILES source_subfolder/neon/blake2b-neon.c - source_subfolder/neon/blake2bp.c - source_subfolder/neon/blake2s-neon.c - source_subfolder/neon/blake2xb.c - source_subfolder/neon/blake2sp.c - source_subfolder/neon/blake2xs.c) + set(SOURCE_FILES ${src}/neon/blake2b-neon.c + ${src}/neon/blake2bp.c + ${src}/neon/blake2s-neon.c + ${src}/neon/blake2xb.c + ${src}/neon/blake2sp.c + ${src}/neon/blake2xs.c) elseif (USE_SSE) message(STATUS "Using sse sources") - set(SOURCE_FILES source_subfolder/sse/blake2b.c - source_subfolder/sse/blake2bp.c - source_subfolder/sse/blake2s.c - source_subfolder/sse/blake2sp.c - source_subfolder/sse/blake2xb.c - source_subfolder/sse/blake2xs.c) + set(SOURCE_FILES ${src}/sse/blake2b.c + ${src}/sse/blake2bp.c + ${src}/sse/blake2s.c + ${src}/sse/blake2sp.c + ${src}/sse/blake2xb.c + ${src}/sse/blake2xs.c) else () message(STATUS "Using ref sources") - set(SOURCE_FILES source_subfolder/ref/blake2bp-ref.c - source_subfolder/ref/blake2b-ref.c - source_subfolder/ref/blake2sp-ref.c - source_subfolder/ref/blake2s-ref.c - source_subfolder/ref/blake2xb-ref.c - source_subfolder/ref/blake2xs-ref.c) + set(SOURCE_FILES ${src}/ref/blake2bp-ref.c + ${src}/ref/blake2b-ref.c + ${src}/ref/blake2sp-ref.c + ${src}/ref/blake2s-ref.c + ${src}/ref/blake2xb-ref.c + ${src}/ref/blake2xs-ref.c) endif() add_library(${CMAKE_PROJECT_NAME} ${SOURCE_FILES}) -set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES PUBLIC_HEADER source_subfolder/ref/blake2.h) +set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${src}/ref/blake2.h) +include(GNUInstallDirs) install(TARGETS ${CMAKE_PROJECT_NAME} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libb2 - ) + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libb2) diff --git a/recipes/libb2/all/conanfile.py b/recipes/libb2/all/conanfile.py index 88ad67891d73b..faf2474da04c4 100644 --- a/recipes/libb2/all/conanfile.py +++ b/recipes/libb2/all/conanfile.py @@ -1,65 +1,85 @@ import os -import glob -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rename + +required_conan_version = ">=1.53.0" + class libb2Conan(ConanFile): name = "libb2" + description = ( + "libb2 is a library that implements the BLAKE2 cryptographic hash function, which is faster than MD5, " + "SHA-1, SHA-2, and SHA-3, yet is at least as secure as the latest standard SHA-3" + ) license = ["CC0-1.0", "OpenSSL", "APSL-2.0"] url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/BLAKE2/BLAKE2" - description = ("libb2 is a library that implemets the BLAKE2 cryptographic hash function, which is faster than MD5, \ - SHA-1, SHA-2, and SHA-3, yet is at least as secure as the latest standard SHA-3") + topics = ("blake2", "hash") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - topics = ("conan", "blake2", "hash") - exports_sources = ["CMakeLists.txt"] - generators = ["cmake"] - options = {"fPIC": [True, False], "shared": [True, False], "use_sse": [True, False], "use_neon": [True, False]} - default_options = {"fPIC": True, "shared": False, "use_sse": False, "use_neon": False} - _cmake = None + options = { + "shared": [True, False], + "fPIC": [True, False], + "use_sse": [True, False], + "use_neon": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "use_sse": False, + "use_neon": False, + } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) - @property - def _build_subfolder(self): - return "build_subfolder" + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + 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): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) if self.options.use_neon and not "arm" in self.settings.arch: raise ConanInvalidConfiguration("Neon sources only supported on arm-based CPUs") if self.options.use_neon and self.options.use_sse: raise ConanInvalidConfiguration("Neon and SSE can not be used together.") - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob("BLAKE2-*")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["USE_SSE"] = self.options.use_sse - self._cmake.definitions["USE_NEON"] = self.options.use_neon - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["USE_SSE"] = self.options.use_sse + tc.variables["USE_NEON"] = self.options.use_neon + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() + for dll in (self.package_path / "lib").glob("*.dll"): + rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - self.cpp_info.includedirs = ["include", os.path.join("include","libb2")] + self.cpp_info.libs = ["b2"] + self.cpp_info.includedirs = ["include", os.path.join("include", "libb2")] diff --git a/recipes/libb2/all/test_package/CMakeLists.txt b/recipes/libb2/all/test_package/CMakeLists.txt index 6aab347eddf53..a422f3ac0c116 100644 --- a/recipes/libb2/all/test_package/CMakeLists.txt +++ b/recipes/libb2/all/test_package/CMakeLists.txt @@ -1,9 +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(libb2 REQUIRED CONFIG) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example libb2::libb2) set_property(TARGET example PROPERTY CXX_STANDARD 11) diff --git a/recipes/libb2/all/test_package/conanfile.py b/recipes/libb2/all/test_package/conanfile.py index 0383b1729b064..8d52b7021efe1 100644 --- a/recipes/libb2/all/test_package/conanfile.py +++ b/recipes/libb2/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class blake2TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/libb2/all/test_v1_package/CMakeLists.txt b/recipes/libb2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libb2/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/libb2/all/test_v1_package/conanfile.py b/recipes/libb2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..24ecc57793dc6 --- /dev/null +++ b/recipes/libb2/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + +class blake2TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From 39bad72319fefa39fb1b7b8d1db201a12ffb241c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 6 Sep 2023 15:05:24 +0200 Subject: [PATCH 1519/4087] (#17125) aws-sdk-cpp: conan v2 support * conan v2 support * use rm_safe to delete s3-crt option * use cache_variables * use preprocessor_definitions * aws-c-event-stream is always a direct dependency * disable warnings as errors * aws-checksums is a direct dependency * restore compatible versions of dependencies * restore cmake_minimum_required to satisfy stupid hook * fix build_modules * fix requires in package_info() * fix pulseaudio detection * Add missing transitive headers, fix cmake modules * use version range for openssl * bump libcurl * add version range for libcurl --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/aws-sdk-cpp/all/CMakeLists.txt | 11 - recipes/aws-sdk-cpp/all/conandata.yml | 38 ++-- recipes/aws-sdk-cpp/all/conanfile.py | 203 ++++++++++-------- ...30-0004-improve-pulseaudio-detection.patch | 2 +- .../all/test_package/CMakeLists.txt | 11 +- .../aws-sdk-cpp-plugin/CMakeLists.txt | 4 +- .../aws-sdk-cpp/all/test_package/conanfile.py | 19 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 9 files changed, 171 insertions(+), 142 deletions(-) delete mode 100644 recipes/aws-sdk-cpp/all/CMakeLists.txt create mode 100644 recipes/aws-sdk-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/aws-sdk-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/aws-sdk-cpp/all/CMakeLists.txt b/recipes/aws-sdk-cpp/all/CMakeLists.txt deleted file mode 100644 index d19ff91050d95..0000000000000 --- a/recipes/aws-sdk-cpp/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -if(MSVC) - add_definitions(-D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/aws-sdk-cpp/all/conandata.yml b/recipes/aws-sdk-cpp/all/conandata.yml index 8abd96ad2e0be..5818aef791db0 100644 --- a/recipes/aws-sdk-cpp/all/conandata.yml +++ b/recipes/aws-sdk-cpp/all/conandata.yml @@ -10,29 +10,19 @@ sources: sha256: "5dd09baa28d3f6f4fb03fbba1a4269724d79bcca3d47752cd3e15caf97276bda" patches: "1.9.234": - - base_path: source_subfolder - patch_file: patches/1.9.234-0001-issue-1816.patch - - base_path: source_subfolder - patch_file: patches/1.9.234-0002-disable-sort-links.patch - - base_path: source_subfolder - patch_file: patches/1.9.100-0002-aws-plugin-conf.patch + - 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": - - base_path: source_subfolder - patch_file: patches/1.9.100-0001-disable-sort-links.patch - - base_path: source_subfolder - patch_file: patches/1.9.100-0002-aws-plugin-conf.patch - - base_path: source_subfolder - patch_file: patches/1.9.100-0003-issue-1816.patch + - 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": - - base_path: source_subfolder - patch_file: patches/1.8.130-0001-disable-sort-links.patch - - base_path: source_subfolder - patch_file: patches/1.8.130-0002-force-archive-directory-to-library-directory.patch - - base_path: source_subfolder - patch_file: patches/1.8.130-0003-disable-cmake-install-rpath-use-link-path.patch - - base_path: source_subfolder - patch_file: patches/1.8.130-0004-improve-pulseaudio-detection.patch - - base_path: source_subfolder - patch_file: patches/1.8.130-0005-aws-plugin-conf.patch - - base_path: source_subfolder - patch_file: patches/1.8.130-0006-issue-1816.patch + - 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 91c2066868882..678d3e32eb8c9 100644 --- a/recipes/aws-sdk-cpp/all/conanfile.py +++ b/recipes/aws-sdk-cpp/all/conanfile.py @@ -1,11 +1,14 @@ import os -from conan.tools.files import rename -from conan.tools.microsoft import msvc_runtime_flag -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building, 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, rename, replace_in_file, rm, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.54.0" class AwsSdkCppConan(ConanFile): @@ -15,7 +18,7 @@ class AwsSdkCppConan(ConanFile): homepage = "https://github.com/aws/aws-sdk-cpp" description = "AWS SDK for C++" topics = ("aws", "cpp", "cross-platform", "amazon", "cloud") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" _sdks = ( "access-management", @@ -304,17 +307,7 @@ class AwsSdkCppConan(ConanFile): default_options["transfer"] = True default_options["text-to-speech"] = True - generators = "cmake", "cmake_find_package" short_paths = True - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] @property def _internal_requirements(self): @@ -329,35 +322,36 @@ def _internal_requirements(self): @property def _use_aws_crt_cpp(self): - return tools.Version(self.version) >= "1.9" + return Version(self.version) >= "1.9" 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": del self.options.fPIC - if tools.Version(self.version) < "1.9": - delattr(self.options, "s3-crt") + if Version(self.version) < "1.9": + self.options.rm_safe("s3-crt") 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("aws-c-common/0.6.19") + 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") - else: - self.requires("aws-c-event-stream/0.2.7") + self.requires("aws-crt-cpp/0.17.23", transitive_headers=True) if self.settings.os != "Windows": - self.requires("openssl/1.1.1n") - self.requires("libcurl/7.80.0") + self.requires("openssl/[>=1.1 <4]") + self.requires("libcurl/[>=7.78.0 <9]") if self.settings.os in ["Linux", "FreeBSD"]: if self.options.get_safe("text-to-speech"): self.requires("pulseaudio/14.2") @@ -365,21 +359,21 @@ def requirements(self): def validate(self): if (self.options.shared and self.settings.compiler == "gcc" - and tools.Version(self.settings.compiler.version) < "6.0"): + 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" ) - if (tools.Version(self.version) < "1.9.234" + if (Version(self.version) < "1.9.234" and self.settings.compiler == "gcc" - and tools.Version(self.settings.compiler.version) >= "11.0" + 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 self._is_msvc and "MT" in msvc_runtime_flag(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": @@ -390,48 +384,60 @@ def validate(self): def package_id(self): for hl_comp in self._internal_requirements.keys(): - if getattr(self.options, hl_comp): + if getattr(self.info.options, hl_comp): for internal_requirement in self._internal_requirements[hl_comp]: setattr(self.info.options, internal_requirement, True) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + 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) - self._cmake.definitions["BUILD_ONLY"] = ";".join(build_only) + tc.cache_variables["BUILD_ONLY"] = ";".join(build_only) - self._cmake.definitions["ENABLE_UNITY_BUILD"] = True - self._cmake.definitions["ENABLE_TESTING"] = False - self._cmake.definitions["AUTORUN_UNIT_TESTS"] = False - self._cmake.definitions["BUILD_DEPS"] = False + tc.cache_variables["ENABLE_UNITY_BUILD"] = True + tc.cache_variables["ENABLE_TESTING"] = False + tc.cache_variables["AUTORUN_UNIT_TESTS"] = False + tc.cache_variables["BUILD_DEPS"] = False if self.settings.os != "Windows": - self._cmake.definitions["ENABLE_OPENSSL_ENCRYPTION"] = True - - self._cmake.definitions["MINIMIZE_SIZE"] = self.options.min_size - if self._is_msvc and not self._use_aws_crt_cpp: - self._cmake.definitions["FORCE_SHARED_CRT"] = "MD" in msvc_runtime_flag(self) - - if tools.cross_building(self): - self._cmake.definitions["CURL_HAS_H2_EXITCODE"] = "0" - self._cmake.definitions["CURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT"] = "" - self._cmake.definitions["CURL_HAS_TLS_PROXY_EXITCODE"] = "0" - self._cmake.definitions["CURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT"] = "" - self._cmake.configure() - return self._cmake + 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: + tc.cache_variables["FORCE_SHARED_CRT"] = not is_msvc_static_runtime(self) + + if cross_building(self): + tc.cache_variables["CURL_HAS_H2_EXITCODE"] = "0" + tc.cache_variables["CURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT"] = "" + tc.cache_variables["CURL_HAS_TLS_PROXY_EXITCODE"] = "0" + tc.cache_variables["CURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT"] = "" + if is_msvc(self): + tc.preprocessor_definitions["_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING"] = "1" + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + 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")', "", + ) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() @property @@ -449,44 +455,56 @@ def _create_project_cmake_module(self): "toolchains/pkg-config.pc.in", "aws-cpp-sdk-core/include/aws/core/VersionConfig.h" ]: - self.copy(file, src=self._source_subfolder, dst=self._res_folder) - tools.replace_in_file(os.path.join(self.package_folder, self._res_folder, file), "CMAKE_CURRENT_SOURCE_DIR", "AWS_NATIVE_SDK_ROOT", strict=False) + 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), + "CMAKE_CURRENT_SOURCE_DIR", "AWS_NATIVE_SDK_ROOT", + strict=False, + ) # avoid getting error from hook - with tools.chdir(os.path.join(self.package_folder, self._res_folder)): - rename(self, os.path.join("toolchains", "cmakeProjectConfig.cmake"), os.path.join("toolchains", "cmakeProjectConf.cmake")) - tools.replace_in_file(os.path.join("cmake", "utilities.cmake"), "cmakeProjectConfig.cmake", "cmakeProjectConf.cmake") + 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")) + replace_in_file( + self, os.path.join(self.package_folder, self._res_folder, "cmake", "utilities.cmake"), + "cmakeProjectConfig.cmake", "cmakeProjectConf.cmake", + ) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - if self._is_msvc: - self.copy(pattern="*.lib", dst="lib", keep_path=False) - tools.remove_files_by_mask(os.path.join(self.package_folder, "bin"), "*.lib") + if is_msvc(self): + copy(self, "*.lib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) + rm(self, "*.lib", os.path.join(self.package_folder, "bin")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) self._create_project_cmake_module() def package_info(self): self.cpp_info.set_property("cmake_file_name", "AWSSDK") + sdk_plugin_conf = os.path.join(self._res_folder, "cmake", "sdk_plugin_conf.cmake") + self.cpp_info.set_property("cmake_build_modules", [sdk_plugin_conf]) + # core component self.cpp_info.components["core"].set_property("cmake_target_name", "AWS::aws-sdk-cpp-core") 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-c-common::aws-c-common-lib"] + self.cpp_info.components["core"].requires = [ + "aws-c-common::aws-c-common", + "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-lib", - "aws-c-http::aws-c-http-lib", - "aws-c-io::aws-c-io-lib", - "aws-crt-cpp::aws-crt-cpp-lib", + "aws-c-cal::aws-c-cal", + "aws-c-http::aws-c-http", + "aws-c-io::aws-c-io", + "aws-crt-cpp::aws-crt-cpp", ]) - else: - self.cpp_info.components["core"].requires.append("aws-c-event-stream::aws-c-event-stream-lib") # other components enabled_sdks = [sdk for sdk in self._sdks if self.options.get_safe(sdk)] @@ -500,8 +518,8 @@ def package_info(self): # 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 - self.cpp_info.components[sdk].set_property("cmake_target_name", "AWS::aws-sdk-cpp-{}".format(sdk)) - self.cpp_info.components[sdk].set_property("pkg_config_name", "aws-sdk-cpp-{}".format(sdk)) + self.cpp_info.components[sdk].set_property("cmake_target_name", f"AWS::aws-sdk-cpp-{sdk}") + self.cpp_info.components[sdk].set_property("pkg_config_name", f"aws-sdk-cpp-{sdk}") self.cpp_info.components[sdk].requires = ["core"] if sdk in self._internal_requirements: self.cpp_info.components[sdk].requires.extend(self._internal_requirements[sdk]) @@ -510,7 +528,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 = "aws-sdk-cpp-{}_alias".format(sdk) # 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] @@ -534,9 +552,14 @@ def package_info(self): if self.options.get_safe("text-to-speech"): self.cpp_info.components["text-to-speech"].frameworks.append("CoreAudio") - lib_stdcpp = tools.stdcpp_library(self) - if lib_stdcpp: - self.cpp_info.components["core"].system_libs.append(lib_stdcpp) + libcxx = stdcpp_library(self) + if libcxx: + self.cpp_info.components["core"].system_libs.append(libcxx) + + self.cpp_info.components["plugin_scripts"].requires = ["core"] + self.cpp_info.components["plugin_scripts"].builddirs.extend([ + os.path.join(self._res_folder, "cmake"), + os.path.join(self._res_folder, "toolchains")]) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "AWSSDK" @@ -545,9 +568,5 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "AWS" self.cpp_info.components["core"].names["cmake_find_package"] = "aws-sdk-cpp-core" self.cpp_info.components["core"].names["cmake_find_package_multi"] = "aws-sdk-cpp-core" - - self.cpp_info.components["plugin_scripts"].requires = ["core"] - self.cpp_info.components["plugin_scripts"].builddirs.extend([ - os.path.join(self._res_folder, "cmake"), - os.path.join(self._res_folder, "toolchains")]) - self.cpp_info.components["plugin_scripts"].build_modules.append(os.path.join(self._res_folder, "cmake", "sdk_plugin_conf.cmake")) + self.cpp_info.components["plugin_scripts"].build_modules["cmake_find_package"] = [sdk_plugin_conf] + self.cpp_info.components["plugin_scripts"].build_modules["cmake_find_package_multi"] = [sdk_plugin_conf] 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 5a47717a4552a..9930b981211f6 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 @@ -24,7 +24,7 @@ index b1054515d5..d1a34ddfc5 100644 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} "CONAN_PKG::pulseaudio") ++ 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/test_package/CMakeLists.txt b/recipes/aws-sdk-cpp/all/test_package/CMakeLists.txt index efb9a3d957583..dda85fd047b73 100644 --- a/recipes/aws-sdk-cpp/all/test_package/CMakeLists.txt +++ b/recipes/aws-sdk-cpp/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(AWSSDK REQUIRED CONFIG) add_subdirectory(aws-sdk-cpp-plugin) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} aws-sdk-cpp-plugin) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE aws-sdk-cpp-plugin) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/aws-sdk-cpp/all/test_package/aws-sdk-cpp-plugin/CMakeLists.txt b/recipes/aws-sdk-cpp/all/test_package/aws-sdk-cpp-plugin/CMakeLists.txt index dddf745d2e408..37d0edc6941d9 100644 --- a/recipes/aws-sdk-cpp/all/test_package/aws-sdk-cpp-plugin/CMakeLists.txt +++ b/recipes/aws-sdk-cpp/all/test_package/aws-sdk-cpp-plugin/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.8) add_project(aws-sdk-cpp-plugin "C++ AWS SDK plugin" AWS::aws-sdk-cpp-s3) @@ -8,7 +8,7 @@ include(GenerateExportHeader) generate_export_header(${PROJECT_NAME} BASE_NAME aws_sdk_cpp_plugin) target_include_directories(${PROJECT_NAME} PUBLIC $ $) target_link_libraries(${PROJECT_NAME} PUBLIC ${PROJECT_LIBS}) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) setup_install() diff --git a/recipes/aws-sdk-cpp/all/test_package/conanfile.py b/recipes/aws-sdk-cpp/all/test_package/conanfile.py index 38f4483872d47..e845ae751a301 100644 --- a/recipes/aws-sdk-cpp/all/test_package/conanfile.py +++ b/recipes/aws-sdk-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", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/aws-sdk-cpp/all/test_v1_package/CMakeLists.txt b/recipes/aws-sdk-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/aws-sdk-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-sdk-cpp/all/test_v1_package/conanfile.py b/recipes/aws-sdk-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/aws-sdk-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0faff79b5d05f12b62bc8a1f98e7b0db2740258b Mon Sep 17 00:00:00 2001 From: whalien Date: Wed, 6 Sep 2023 21:47:46 +0800 Subject: [PATCH 1520/4087] (#18702) feat: update tree-sitter-c to conan v2 * feat: update tree-sitter-c to conan v2 * fix: update grammar lib to dynamic lib * fix: self review * fix: update package_type to lib * fix: add static lib recipe --------- Co-authored-by: Carlos Zoido --- recipes/tree-sitter-c/all/CMakeLists.txt | 19 ++++--- recipes/tree-sitter-c/all/conandata.yml | 3 + recipes/tree-sitter-c/all/conanfile.py | 57 ++++++++++--------- .../all/test_package/CMakeLists.txt | 3 - .../all/test_package/conanfile.py | 20 +++++-- recipes/tree-sitter-c/config.yml | 2 + 6 files changed, 62 insertions(+), 42 deletions(-) diff --git a/recipes/tree-sitter-c/all/CMakeLists.txt b/recipes/tree-sitter-c/all/CMakeLists.txt index 2d76c83c9cbd4..0500a39a48fb9 100644 --- a/recipes/tree-sitter-c/all/CMakeLists.txt +++ b/recipes/tree-sitter-c/all/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(tree-sitter-c C) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(tree-sitter REQUIRED CONFIG) include(GenerateExportHeader) @@ -12,11 +9,19 @@ file(WRITE api.h [[ #include #include "tree_sitter_c_export.h" -TREE_SITTER_C_EXPORT const TSLanguage *tree_sitter_c(void); +#ifdef __cplusplus +extern "C" { +#endif + +const TSLanguage *tree_sitter_c(void); + +#ifdef __cplusplus +} +#endif ]]) add_library(${PROJECT_NAME} - source_subfolder/src/parser.c + src/src/parser.c ) target_link_libraries(${PROJECT_NAME} PUBLIC @@ -24,8 +29,8 @@ target_link_libraries(${PROJECT_NAME} ) target_include_directories(${PROJECT_NAME} PRIVATE - $ - $ + $ + $ ) set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/recipes/tree-sitter-c/all/conandata.yml b/recipes/tree-sitter-c/all/conandata.yml index fe7f567397167..f225285a8fae5 100644 --- a/recipes/tree-sitter-c/all/conandata.yml +++ b/recipes/tree-sitter-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.20.3": + url: "https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.20.3.tar.gz" + sha256: "8c72a765230324f2b64e9ed66e027daf1a2ed24dde5fbf21398ad8ff7fca2a2d" "0.20.2": url: "https://github.com/tree-sitter/tree-sitter-c/archive/v0.20.2.tar.gz" sha256: "af66fde03feb0df4faf03750102a0d265b007e5d957057b6b293c13116a70af2" diff --git a/recipes/tree-sitter-c/all/conanfile.py b/recipes/tree-sitter-c/all/conanfile.py index 84ab13ea08213..87e43c96d6c62 100644 --- a/recipes/tree-sitter-c/all/conanfile.py +++ b/recipes/tree-sitter-c/all/conanfile.py @@ -1,8 +1,10 @@ -from conans import CMake, ConanFile, tools -import functools +from conan import ConanFile +from conan.tools.cmake import CMake +from conan.tools.files import get, replace_in_file, copy +from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class TreeSitterCConan(ConanFile): @@ -13,21 +15,22 @@ class TreeSitterCConan(ConanFile): homepage = "https://github.com/tree-sitter/tree-sitter-c" license = "MIT" settings = "os", "arch", "compiler", "build_type" + package_type = "library" + generators = "CMakeToolchain", "CMakeDeps" options = { - "fPIC": [True, False], "shared": [True, False], + "fPIC": [True, False], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, } - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps" exports_sources = "CMakeLists.txt" - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def config_options(self): if self.settings.os == "Windows": @@ -35,38 +38,38 @@ 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 - - def requirements(self): - self.requires("tree-sitter/0.20.0") + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def requirements(self): + self.requires("tree-sitter/0.20.8", transitive_headers=True, transitive_libs=True) def _patch_sources(self): if not self.options.shared: - tools.replace_in_file( - os.path.join(self._source_subfolder, "src", "parser.c"), + replace_in_file( + self, + os.path.join(self.source_folder, "src", "parser.c"), "__declspec(dllexport)", "" ) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() def package(self): - self.copy("LICENSE", 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() def package_info(self): diff --git a/recipes/tree-sitter-c/all/test_package/CMakeLists.txt b/recipes/tree-sitter-c/all/test_package/CMakeLists.txt index 48140fe26ab46..177a777e8ddf7 100644 --- a/recipes/tree-sitter-c/all/test_package/CMakeLists.txt +++ b/recipes/tree-sitter-c/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(tree-sitter-c REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/tree-sitter-c/all/test_package/conanfile.py b/recipes/tree-sitter-c/all/test_package/conanfile.py index 38f4483872d47..fc47f4cefd612 100644 --- a/recipes/tree-sitter-c/all/test_package/conanfile.py +++ b/recipes/tree-sitter-c/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +22,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): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/tree-sitter-c/config.yml b/recipes/tree-sitter-c/config.yml index 8304408636b4b..7070a273f171a 100644 --- a/recipes/tree-sitter-c/config.yml +++ b/recipes/tree-sitter-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.20.3": + folder: all "0.20.2": folder: all "0.20.1": From 0252c5088755a2087accd5722a335105310ef346 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Sep 2023 23:35:27 +0900 Subject: [PATCH 1521/4087] (#19538) re2: add version 2023-09-01 --- 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 9b52a871bf261..f87d569bda02a 100644 --- a/recipes/re2/all/conandata.yml +++ b/recipes/re2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20230901": + url: "https://github.com/google/re2/releases/download/2023-09-01/re2-2023-09-01.tar.gz" + sha256: "5bb6875ae1cd1e9fedde98018c346db7260655f86fdb8837e3075103acd3649b" "20230801": url: "https://github.com/google/re2/releases/download/2023-08-01/re2-2023-08-01.tar.gz" sha256: "d82d0efe2389949244445e7a6ac9a10fccc3d6a3d267ec4652991a51291647b0" diff --git a/recipes/re2/config.yml b/recipes/re2/config.yml index fb1f7527256cf..d57588459f0b8 100644 --- a/recipes/re2/config.yml +++ b/recipes/re2/config.yml @@ -1,4 +1,6 @@ versions: + "20230901": + folder: all "20230801": folder: all "20230701": From 50a2b912cde7bb5c98a7dfc217e412afd3917653 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 6 Sep 2023 17:46:37 +0200 Subject: [PATCH 1522/4087] (#19614) [imagl] Migrate to Conan 2.x and fix JSON error in CI * Updating imagl recipe for conan 2.0 * adding src_folder parameter to cmake_layout to please linter * Back to minimum conan 1.59 * Inspired by zlib recipe and now it passes v1 hooks. * Do not use validate_build(), but validate() instead * Applying jwillikers suggestions. * Final endline added * add cmake_find_package_multi generator as jwillikers suggests it. Co-authored-by: Jordan Williams * Removing base_path from patches and a useless _cmake member of ImaglConan class * -Switch to github URLs since my GitLab instance is temporarily down -Change license name to uppercase * update deps Signed-off-by: Uilian Ries * private target Signed-off-by: Uilian Ries * revert conandata.yml Signed-off-by: Uilian Ries * remove 0.1.0 version Signed-off-by: Uilian Ries * Keep Woazim as true author * change homepage to GH url Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Benjamin ALBOUY-KISSI Co-authored-by: Woazim <54191598+Woazim@users.noreply.github.com> Co-authored-by: Jordan Williams Co-authored-by: Daniel --- recipes/imagl/all/CMakeLists.txt | 7 -- recipes/imagl/all/conandata.yml | 28 +++-- recipes/imagl/all/conanfile.py | 118 ++++++++---------- recipes/imagl/all/test_package/CMakeLists.txt | 9 +- recipes/imagl/all/test_package/conanfile.py | 19 ++- .../imagl/all/test_v1_package/CMakeLists.txt | 8 ++ .../imagl/all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 111 insertions(+), 95 deletions(-) delete mode 100644 recipes/imagl/all/CMakeLists.txt create mode 100644 recipes/imagl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/imagl/all/test_v1_package/conanfile.py diff --git a/recipes/imagl/all/CMakeLists.txt b/recipes/imagl/all/CMakeLists.txt deleted file mode 100644 index 434aea21733de..0000000000000 --- a/recipes/imagl/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include("conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -add_subdirectory(source_subfolder) diff --git a/recipes/imagl/all/conandata.yml b/recipes/imagl/all/conandata.yml index 4c28973c33e6b..338c8a935d27e 100644 --- a/recipes/imagl/all/conandata.yml +++ b/recipes/imagl/all/conandata.yml @@ -1,26 +1,30 @@ sources: "0.1.0": - url: "https://gitlab-lepuy.iut-clermont.uca.fr/opengl/imagl/-/archive/v0.1.0/imagl-v0.1.0.tar.gz" - sha256: "9dcfba4c2efa8d44bf4cc9edd324794865dd6d6331467d3c69f5c5574db3844e" + url: "https://github.com/Woazim/imaGL/archive/refs/tags/v0.1.0.tar.gz" + sha256: "070d155f61c3036be67683dcec7bef57d5407f5aa7ca35487358b55fd2762ef8" "0.1.1": - url: "https://gitlab-lepuy.iut-clermont.uca.fr/opengl/imagl/-/archive/v0.1.1/imagl-v0.1.1.tar.gz" - sha256: "4a7502cc733431af6423246fe5144e2eddb984454a66cca51742c852980ac862" + url: "https://github.com/Woazim/imaGL/archive/refs/tags/v0.1.1.tar.gz" + sha256: "25c1df00dfd1741b013044de9407f30f58ca64d155d862db740518ed8667f3ec" "0.1.2": - url: "https://gitlab-lepuy.iut-clermont.uca.fr/opengl/imagl/-/archive/v0.1.2/imagl-v0.1.2.tar.gz" - sha256: "d1edf74e00f969a47dc56e4400b805600d6997270339d49e91b7c6112a2cb37e" + url: "https://github.com/Woazim/imaGL/archive/refs/tags/v0.1.2.tar.gz" + sha256: "03296707f4c6b5a03cd4d6670c7444c0660d22ca09de981e57fcb75111fd16a5" "0.2.1": - url: "https://gitlab-lepuy.iut-clermont.uca.fr/opengl/imagl/-/archive/v0.2.1/imagl-v0.2.1.tar.gz" - sha256: "5a68cdeff4338e411695cca16c4230567de298f8efee2a9fadcc6fa644a70248" + url: "https://github.com/Woazim/imaGL/archive/refs/tags/v0.2.1.tar.gz" + sha256: "b0109b1d0cadf3054ad959ed4a0420b61202f8143f5a7ad766c1e449603d30d8" patches: "0.1.0": - patch_file: "patches/0001-no-unmanaged-conan-0.1.x.patch" - base_path: "source_subfolder" + patch_description: "No unmanaged conan: update CMakeLists.txt remove call to conan" + patch_type: conan "0.1.1": - patch_file: "patches/0001-no-unmanaged-conan-0.1.x.patch" - base_path: "source_subfolder" + patch_description: "No unmanaged conan: update CMakeLists.txt remove call to conan" + patch_type: conan "0.1.2": - patch_file: "patches/0001-no-unmanaged-conan-0.1.x.patch" - base_path: "source_subfolder" + patch_description: "No unmanaged conan: update CMakeLists.txt remove call to conan" + patch_type: conan "0.2.1": - patch_file: "patches/0001-no-unmanaged-conan-0.2.1.patch" - base_path: "source_subfolder" + patch_description: "No unmanaged conan: update CMakeLists.txt remove call to conan" + patch_type: conan diff --git a/recipes/imagl/all/conanfile.py b/recipes/imagl/all/conanfile.py index a8994d4c2ba67..e756a56a2d548 100644 --- a/recipes/imagl/all/conanfile.py +++ b/recipes/imagl/all/conanfile.py @@ -1,12 +1,18 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.errors import ConanInvalidConfiguration +import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class ImaglConan(ConanFile): name = "imagl" - license = "GPL-3.0-or-later" + license = "LGPL-3.0-only" homepage = "https://github.com/Woazim/imaGL" url = "https://github.com/conan-io/conan-center-index" description = "A lightweight library to load image for OpenGL application." @@ -24,108 +30,88 @@ class ImaglConan(ConanFile): "with_png": True, "with_jpeg": True, } - 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 _min_cppstd(self): + return 20 @property def _compilers_minimum_version(self): - minimum_versions = { + return { "gcc": "9", - "Visual Studio": "16.2", - "msvc": "19.22", "clang": "10", "apple-clang": "11" } - if tools.Version(self.version) <= "0.1.1" or tools.Version(self.version) == "0.2.0": - minimum_versions["Visual Studio"] = "16.5" - minimum_versions["msvc"] = "19.25" - return minimum_versions @property def _supports_jpeg(self): - return tools.Version(self.version) >= "0.2.0" + return Version(self.version) >= "0.2.0" + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") if not self._supports_jpeg: - del self.options.with_jpeg + self.options.rm_safe("with_jpeg") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_png: - self.requires("libpng/1.6.37") + self.requires("libpng/1.6.40") if self._supports_jpeg and self.options.with_jpeg: - self.requires("libjpeg/9d") + self.requires("libjpeg/9e") def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 20) - - 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] - - #Special check for clang that can only be linked to libc++ - if self.settings.compiler == "clang" and self.settings.compiler.libcxx != "libc++": + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 192) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + # INFO: Special check for clang that can only be linked to libc++ + if self.settings.compiler == "clang" and self.settings.get_safe("compiler.libcxx") != "libc++": raise ConanInvalidConfiguration("imagl requires some C++20 features, which are available in libc++ for clang compiler.") - compiler_version = str(self.settings.compiler.version) - - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("imaGL requires C++20. Your compiler is unknown. Assuming it supports C++20.") - elif lazy_lt_semver(compiler_version, minimum_version): - raise ConanInvalidConfiguration("imaGL requires some C++20 features, which your {} {} compiler does not support.".format(str(self.settings.compiler), compiler_version)) - else: - print("Your compiler is {} {} and is compatible.".format(str(self.settings.compiler), compiler_version)) 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["STATIC_LIB"] = not self.options.shared - self._cmake.definitions["SUPPORT_PNG"] = self.options.with_png + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.variables["STATIC_LIB"] = not self.options.shared + tc.variables["SUPPORT_PNG"] = self.options.with_png if self._supports_jpeg: - self._cmake.definitions["SUPPORT_JPEG"] = self.options.with_jpeg - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["SUPPORT_JPEG"] = self.options.with_jpeg + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() def package_info(self): debug_suffix = "d" if self.settings.build_type == "Debug" else "" static_suffix = "" if self.options.shared else "s" - self.cpp_info.libs = ["imaGL{}{}".format(debug_suffix, static_suffix)] + self.cpp_info.libs = [f"imaGL{debug_suffix}{static_suffix}"] if not self.options.shared: self.cpp_info.defines = ["IMAGL_STATIC=1"] - diff --git a/recipes/imagl/all/test_package/CMakeLists.txt b/recipes/imagl/all/test_package/CMakeLists.txt index 15d229320021c..ba0d23b2326bb 100644 --- a/recipes/imagl/all/test_package/CMakeLists.txt +++ b/recipes/imagl/all/test_package/CMakeLists.txt @@ -1,9 +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(imagl CONFIG REQUIRED) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) -set_target_properties(example PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON) +target_link_libraries(example PRIVATE imagl::imagl) +target_compile_features(example PRIVATE cxx_std_20) diff --git a/recipes/imagl/all/test_package/conanfile.py b/recipes/imagl/all/test_package/conanfile.py index 156e2a8976e7c..0d267f1fe3b58 100644 --- a/recipes/imagl/all/test_package/conanfile.py +++ b/recipes/imagl/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class ImaglTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + 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) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/imagl/all/test_v1_package/CMakeLists.txt b/recipes/imagl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/imagl/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/imagl/all/test_v1_package/conanfile.py b/recipes/imagl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..923bd771c14e7 --- /dev/null +++ b/recipes/imagl/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class ImaglTestConan(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 182af3038d67b37586390ae8d1c4f3f60ae5c9e6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Sep 2023 19:52:45 +0300 Subject: [PATCH 1523/4087] (#19252) libsixel: migrate to Conan v2 * libsixel: migrate to Conan v2 * libsixel: bump deps * libsixel: remove incorrect library files * libsixel: fix_apple_shared_install_name() --- recipes/libsixel/all/conanfile.py | 107 ++++++++++-------- .../libsixel/all/test_package/CMakeLists.txt | 5 +- .../libsixel/all/test_package/conanfile.py | 21 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libsixel/all/test_v1_package/conanfile.py | 17 +++ 5 files changed, 102 insertions(+), 56 deletions(-) create mode 100644 recipes/libsixel/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libsixel/all/test_v1_package/conanfile.py diff --git a/recipes/libsixel/all/conanfile.py b/recipes/libsixel/all/conanfile.py index 8748a8a951d30..5b731a76e5de8 100644 --- a/recipes/libsixel/all/conanfile.py +++ b/recipes/libsixel/all/conanfile.py @@ -1,18 +1,28 @@ import os -import functools -from conans import ConanFile, Meson, tools -from conans.errors import ConanInvalidConfiguration + +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 copy, get, rmdir, rm +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import MesonToolchain, Meson from conan.tools.microsoft import is_msvc -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" + class LibSixelConan(ConanFile): name = "libsixel" - description = "A SIXEL encoder/decoder implementation derived from kmiya's sixel (https://github.com/saitoha/sixel)." - topics = ("sixel") + description = ("A SIXEL encoder/decoder implementation derived from kmiya's sixel" + " (https://github.com/saitoha/sixel).") license = "MIT" - homepage = "https://github.com/libsixel/libsixel" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/libsixel/libsixel" + topics = "sixel" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -32,75 +42,80 @@ class LibSixelConan(ConanFile): "with_jpeg": True, "with_png": True, } - generators = "cmake", "pkg_config" - - @property - def _source_subfolder(self): - return "source_subfolder" def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx - - def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self): - raise ConanInvalidConfiguration("Cross-building not implemented") - if is_msvc(self): - raise ConanInvalidConfiguration("{}/{} does not support Visual Studio".format(self.name, self.version)) + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - def build_requirements(self): - self.build_requires("meson/0.62.2") - self.build_requires("pkgconf/1.7.4") + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_curl: - self.requires("libcurl/7.83.1") + self.requires("libcurl/8.2.0") if self.options.with_gd: - self.requires("libgd/2.3.2") + self.requires("libgd/2.3.3") if self.options.with_gdk_pixbuf2: - self.requires("gdk-pixbuf/2.42.6") + self.requires("gdk-pixbuf/2.42.10") if self.options.with_jpeg: - self.requires("libjpeg/9d") + self.requires("libjpeg/9e") if self.options.with_png: - self.requires("libpng/1.6.37") + self.requires("libpng/1.6.40") + + def validate(self): + if hasattr(self, "settings_build") and cross_building(self): + raise ConanInvalidConfiguration("Cross-building not implemented") + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio") + + def build_requirements(self): + self.tool_requires("meson/1.2.0") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.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) - @functools.lru_cache(1) - def _configure_meson(self): - meson = Meson(self) - defs = { + def generate(self): + tc = MesonToolchain(self) + tc.project_options = { "libcurl": "enabled" if self.options.with_curl else "disabled", "gd": "enabled" if self.options.with_gd else "disabled", "gdk-pixbuf2": "enabled" if self.options.with_gdk_pixbuf2 else "disabled", "img2sixel": "disabled", "sixel2png": "disabled", "python2": "disabled", + "libdir": "lib", } - meson.configure( - defs=defs, - source_folder=self._source_subfolder, - ) - return meson + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() def build(self): - meson = self._configure_meson() + meson = Meson(self) + meson.configure() meson.build() def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - meson = self._configure_meson() + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + meson = Meson(self) meson.install() - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + rm(self, "*.lib", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.dll", os.path.join(self.package_folder, "bin")) + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) + rm(self, "*.dylib", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.libs = ["sixel"] diff --git a/recipes/libsixel/all/test_package/CMakeLists.txt b/recipes/libsixel/all/test_package/CMakeLists.txt index 199ae95ae65fc..9bb9b6871d67d 100644 --- a/recipes/libsixel/all/test_package/CMakeLists.txt +++ b/recipes/libsixel/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(libsixel REQUIRED CONFIG) add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c) diff --git a/recipes/libsixel/all/test_package/conanfile.py b/recipes/libsixel/all/test_package/conanfile.py index e556cc050d509..ef5d7042163ec 100644 --- a/recipes/libsixel/all/test_package/conanfile.py +++ b/recipes/libsixel/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): +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/libsixel/all/test_v1_package/CMakeLists.txt b/recipes/libsixel/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libsixel/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/libsixel/all/test_v1_package/conanfile.py b/recipes/libsixel/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e556cc050d509 --- /dev/null +++ b/recipes/libsixel/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestConan(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 826e03f0adae39187c8658abad3520b04fd23b88 Mon Sep 17 00:00:00 2001 From: temap Date: Wed, 6 Sep 2023 20:55:01 +0300 Subject: [PATCH 1524/4087] (#19493) linux-headers-generic: add version 5.15.128 --- recipes/linux-headers-generic/all/conandata.yml | 3 +++ recipes/linux-headers-generic/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/linux-headers-generic/all/conandata.yml b/recipes/linux-headers-generic/all/conandata.yml index ecc5fdb03690f..3086bd648e6c6 100644 --- a/recipes/linux-headers-generic/all/conandata.yml +++ b/recipes/linux-headers-generic/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.15.128": + url: "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.128.tar.gz" + sha256: "4ce1331bb3877bc92581ec5faff76d63d19e7b1fa174acdda1f5cba4a8f2abf7" "5.14.9": url: "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.9.tar.gz" sha256: "b5cd37e6d193c8f6a98e41ce6f9d97260d178e0a3cfc43d7ff684f67c6c25f29" diff --git a/recipes/linux-headers-generic/config.yml b/recipes/linux-headers-generic/config.yml index a8d9d5e7bbfa8..d4c808d80cdc5 100644 --- a/recipes/linux-headers-generic/config.yml +++ b/recipes/linux-headers-generic/config.yml @@ -1,4 +1,6 @@ versions: + "5.15.128": + folder: all "5.14.9": folder: all "5.13.9": From 1b8825365f000babd8535f47d6ec9704beb472df Mon Sep 17 00:00:00 2001 From: temap Date: Wed, 6 Sep 2023 21:36:56 +0300 Subject: [PATCH 1525/4087] (#19495) xmlsec: add version 1.2.33 --- recipes/xmlsec/all/conandata.yml | 3 +++ recipes/xmlsec/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index 46664dc0decc9..d74fd9230c88c 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.33": + url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.33.tar.gz" + sha256: "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931" "1.2.32": url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.32.tar.gz" sha256: "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043" diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml index be77378a24392..3853f0ae48f16 100644 --- a/recipes/xmlsec/config.yml +++ b/recipes/xmlsec/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.33": + folder: all "1.2.32": folder: all "1.2.31": From 2771cb36f381a93e1409b41b941fc9492debb80b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 6 Sep 2023 21:39:03 +0200 Subject: [PATCH 1526/4087] (#19500) autoconf: less verbose package_info() --- recipes/autoconf/all/conanfile.py | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/recipes/autoconf/all/conanfile.py b/recipes/autoconf/all/conanfile.py index e8f1925de206c..6030c1664be5b 100644 --- a/recipes/autoconf/all/conanfile.py +++ b/recipes/autoconf/all/conanfile.py @@ -108,29 +108,14 @@ def package_info(self): # TODO: These variables can be removed since the scripts now locate the resources # relative to themselves. dataroot_path = os.path.join(self.package_folder, "res", "autoconf") - self.output.info(f"Defining AC_MACRODIR environment variable: {dataroot_path}") self.buildenv_info.define_path("AC_MACRODIR", dataroot_path) - - self.output.info(f"Defining autom4te_perllibdir environment variable: {dataroot_path}") self.buildenv_info.define_path("autom4te_perllibdir", dataroot_path) bin_path = os.path.join(self.package_folder, "bin") - - autoconf_bin = os.path.join(bin_path, "autoconf") - self.output.info(f"Defining AUTOCONF environment variable: {autoconf_bin}") - self.buildenv_info.define_path("AUTOCONF", autoconf_bin) - - autoreconf_bin = os.path.join(bin_path, "autoreconf") - self.output.info(f"Defining AUTORECONF environment variable: {autoreconf_bin}") - self.buildenv_info.define_path("AUTORECONF", autoreconf_bin) - - autoheader_bin = os.path.join(bin_path, "autoheader") - self.output.info(f"Defining AUTOHEADER environment variable: {autoheader_bin}") - self.buildenv_info.define_path("AUTOHEADER", autoheader_bin) - - autom4te_bin = os.path.join(bin_path, "autom4te") - self.output.info(f"Defining AUTOM4TE environment variable: {autom4te_bin}") - self.buildenv_info.define_path("AUTOM4TE", autom4te_bin) + self.buildenv_info.define_path("AUTOCONF", os.path.join(bin_path, "autoconf")) + self.buildenv_info.define_path("AUTORECONF", os.path.join(bin_path, "autoreconf")) + self.buildenv_info.define_path("AUTOHEADER", os.path.join(bin_path, "autoheader")) + self.buildenv_info.define_path("AUTOM4TE", os.path.join(bin_path, "autom4te")) # TODO: to remove in conan v2 self.env_info.PATH.append(bin_path) From b2242f628686844f0cd979fd27a2eb96396f908c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 05:13:20 +0900 Subject: [PATCH 1527/4087] (#19566) octo-encryption-cpp: support conan v2, add package_type, relax openssl and cmake versions * octo-encryption-cpp: support conan v2, add package_type, relax openssl and cmake versions * make openssl transitive_headers --- recipes/octo-encryption-cpp/all/conandata.yml | 4 +- recipes/octo-encryption-cpp/all/conanfile.py | 64 ++++++++++--------- .../all/test_package/CMakeLists.txt | 8 +-- .../all/test_package/conanfile.py | 20 +++--- 4 files changed, 49 insertions(+), 47 deletions(-) diff --git a/recipes/octo-encryption-cpp/all/conandata.yml b/recipes/octo-encryption-cpp/all/conandata.yml index 1e42247500f04..d2c6c293649c6 100644 --- a/recipes/octo-encryption-cpp/all/conandata.yml +++ b/recipes/octo-encryption-cpp/all/conandata.yml @@ -1,4 +1,4 @@ sources: "1.1.0": - sha256: f595eb6c44187e8f5f047fc7bd6747ba0d50ad99f526fe87c16fdba9c77b513d - url: https://github.com/ofiriluz/octo-encryption-cpp/archive/refs/tags/v1.1.0.tar.gz + url: "https://github.com/ofiriluz/octo-encryption-cpp/archive/refs/tags/v1.1.0.tar.gz" + sha256: "f595eb6c44187e8f5f047fc7bd6747ba0d50ad99f526fe87c16fdba9c77b513d" diff --git a/recipes/octo-encryption-cpp/all/conanfile.py b/recipes/octo-encryption-cpp/all/conanfile.py index 991faa27ffc84..263f2034b1a24 100644 --- a/recipes/octo-encryption-cpp/all/conanfile.py +++ b/recipes/octo-encryption-cpp/all/conanfile.py @@ -4,19 +4,24 @@ from conan.tools.build import check_min_cppstd from conan.errors import ConanInvalidConfiguration from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc_static_runtime import os -required_conan_version = ">=1.50.0" - +required_conan_version = ">=1.53.0" class OctoEncryptionCPPConan(ConanFile): name = "octo-encryption-cpp" + description = "Octo encryption library" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ofiriluz/octo-encryption-cpp" - description = "Octo encryption library" topics = ("cryptography", "cpp") - settings = "os", "compiler", "build_type", "arch" + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -25,45 +30,41 @@ def _compilers_minimum_version(self): "clang": "9", "apple-clang": "11", "Visual Studio": "16", - "msvc": "1923", + "msvc": "192", } - def generate(self): - tc = CMakeToolchain(self) - tc.variables["DISABLE_TESTS"] = True - tc.variables["DISABLE_EXAMPLES"] = True - tc.generate() - cd = CMakeDeps(self) - cd.generate() - def layout(self): cmake_layout(self, src_folder="src") - def validate(self): - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, "17") + def requirements(self): + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + def validate(self): + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) 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.name} requires C++17, which your compiler does not support." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - else: - self.output.warn(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": raise ConanInvalidConfiguration(f"{self.name} does not support clang with libc++. Use libstdc++ instead.") - if self.settings.compiler == "Visual Studio" and self.settings.compiler.runtime in ["MTd", "MT"]: - raise ConanInvalidConfiguration(f"{self.name} does not support MSVC MT/MTd configurations, only MD/MDd is supported") + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC MT/MTd configurations, only MD/MDd is supported") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") - def requirements(self): - self.requires("openssl/1.1.1q") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build_requirements(self): - self.build_requires("cmake/3.24.0") + def generate(self): + tc = CMakeToolchain(self) + tc.variables["DISABLE_TESTS"] = True + tc.variables["DISABLE_EXAMPLES"] = True + tc.generate() + cd = CMakeDeps(self) + cd.generate() def build(self): cmake = CMake(self) @@ -76,11 +77,14 @@ def package(self): cmake.install() def package_info(self): + self.cpp_info.libs = ["octo-encryption-cpp"] + self.cpp_info.set_property("cmake_file_name", "octo-encryption-cpp") self.cpp_info.set_property("cmake_target_name", "octo::octo-encryption-cpp") self.cpp_info.set_property("pkg_config_name", "octo-encryption-cpp") - self.cpp_info.libs = ["octo-encryption-cpp"] + self.cpp_info.requires = ["openssl::openssl"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "octo-encryption-cpp" self.cpp_info.names["cmake_find_package_multi"] = "octo-encryption-cpp" self.cpp_info.names["pkg_config"] = "octo-encryption-cpp" - self.cpp_info.requires = ["openssl::openssl"] diff --git a/recipes/octo-encryption-cpp/all/test_package/CMakeLists.txt b/recipes/octo-encryption-cpp/all/test_package/CMakeLists.txt index a07fac747020c..bd49d24ed139e 100644 --- a/recipes/octo-encryption-cpp/all/test_package/CMakeLists.txt +++ b/recipes/octo-encryption-cpp/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(octo-encryption-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} octo::octo-encryption-cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE octo::octo-encryption-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/octo-encryption-cpp/all/test_package/conanfile.py b/recipes/octo-encryption-cpp/all/test_package/conanfile.py index 62e07ce5add59..ef5d7042163ec 100644 --- a/recipes/octo-encryption-cpp/all/test_package/conanfile.py +++ b/recipes/octo-encryption-cpp/all/test_package/conanfile.py @@ -1,19 +1,16 @@ -from conans import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain +from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout +from conan.tools.cmake import cmake_layout, CMake import os -required_conan_version = ">=1.43.0" - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "VirtualRunEnv" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def generate(self): - tc = CMakeToolchain(self) - tc.generate() + def requirements(self): + self.requires(self.tested_reference_str) def layout(self): cmake_layout(self) @@ -25,4 +22,5 @@ def build(self): def test(self): if can_run(self): - self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From cb4d2464ee5dfc4f3d85b4d3c4984bafd80bdff7 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 05:52:10 +0900 Subject: [PATCH 1528/4087] (#19568) cppitertools: support conan v2 more, update boost --- recipes/cppitertools/all/conandata.yml | 4 +- recipes/cppitertools/all/conanfile.py | 82 ++++++++++--------- .../all/test_package/CMakeLists.txt | 12 +-- .../all/test_package/conanfile.py | 1 + 4 files changed, 53 insertions(+), 46 deletions(-) diff --git a/recipes/cppitertools/all/conandata.yml b/recipes/cppitertools/all/conandata.yml index b8a68ed038695..0337148504871 100644 --- a/recipes/cppitertools/all/conandata.yml +++ b/recipes/cppitertools/all/conandata.yml @@ -1,4 +1,4 @@ sources: "2.1": - url: https://github.com/ryanhaining/cppitertools/archive/v2.1.tar.gz - sha256: f7bcd4531e37083609bb92c3f0ae03b56e7197002d0dc9c695104dcef445f2ab + url: "https://github.com/ryanhaining/cppitertools/archive/v2.1.tar.gz" + sha256: "f7bcd4531e37083609bb92c3f0ae03b56e7197002d0dc9c695104dcef445f2ab" diff --git a/recipes/cppitertools/all/conanfile.py b/recipes/cppitertools/all/conanfile.py index 15118a8925b22..d59270a8f393a 100644 --- a/recipes/cppitertools/all/conanfile.py +++ b/recipes/cppitertools/all/conanfile.py @@ -1,69 +1,75 @@ import os from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.files import get, copy, rename +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.53.0" class CppItertoolsConan(ConanFile): name = "cppitertools" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/ryanhaining/cppitertools" description = "Implementation of python itertools and builtin iteration functions for C++17" - topics = ("cpp17", "iter", "itertools") license = "BSD-2-Clause" - no_copy_source = True - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ryanhaining/cppitertools" + topics = ("cpp17", "iter", "itertools", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - options = {'zip_longest': [True, False]} - default_options = {'zip_longest': False} + options = { + 'zip_longest': [True, False], + } + default_options = { + 'zip_longest': False, + } + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - get(self, **self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - rename(self, extracted_dir, self._source_subfolder) - - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) + def _min_cppstd(self): + return 17 - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "Visual Studio": "15", "msvc": "191", "gcc": "7", "clang": "5.0", "apple-clang": "9.1" } - compiler = str(self.settings.compiler) - compiler_version = Version(self.settings.compiler.version) - - if compiler not in minimal_version: - self.output.info("{} requires a compiler that supports at least C++17".format(self.name)) - return - # Exclude compilers not supported by cppitertools - if compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration("{} requires a compiler that supports at least C++17. {} {} is not".format( - self.name, compiler, Version(self.settings.compiler.version.value))) + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.zip_longest: - self.requires('boost/1.75.0') + self.requires('boost/1.83.0') + + 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, "*.hpp", src=os.path.join(self.source_folder, self._source_subfolder), dst=os.path.join(self.package_folder,"include", "cppitertools"), excludes=('examples/**', 'test/**')) - copy(self, "LICENSE.md", src=os.path.join(self.source_folder, self._source_subfolder), dst=os.path.join(self.package_folder,"licenses")) + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", src=self.source_folder, dst=os.path.join(self.package_folder, "include", "cppitertools"), excludes=('examples/**', 'test/**')) + def package_info(self): - self.cpp_info.set_property("cmake_file_name", "cppitertools") - self.cpp_info.set_property("cmake_target_name", "cppitertools::cppitertools") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - def package_id(self): - self.info.clear() + + self.cpp_info.set_property("cmake_file_name", "cppitertools") + self.cpp_info.set_property("cmake_target_name", "cppitertools::cppitertools") + diff --git a/recipes/cppitertools/all/test_package/CMakeLists.txt b/recipes/cppitertools/all/test_package/CMakeLists.txt index 39161129005c3..18b263b57ca6f 100644 --- a/recipes/cppitertools/all/test_package/CMakeLists.txt +++ b/recipes/cppitertools/all/test_package/CMakeLists.txt @@ -1,14 +1,14 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(cppitertools REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} cppitertools::cppitertools) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE cppitertools::cppitertools) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) if(ZIP_LONGEST) add_executable(test_zip_longest test_zip_longest.cpp) - target_link_libraries(test_zip_longest cppitertools::cppitertools) - set_property(TARGET test_zip_longest PROPERTY CXX_STANDARD 17) + target_link_libraries(test_zip_longest PRIVATE cppitertools::cppitertools) + target_compile_features(test_zip_longest PRIVATE cxx_std_17) endif() diff --git a/recipes/cppitertools/all/test_package/conanfile.py b/recipes/cppitertools/all/test_package/conanfile.py index 758d48b5853ba..fac50abb3d577 100644 --- a/recipes/cppitertools/all/test_package/conanfile.py +++ b/recipes/cppitertools/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" + test_type = "explicit" def generate(self): tc = CMakeToolchain(self) From 8e5020b457ae9c2e8ee3d246468d2543156c85b5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 6 Sep 2023 23:15:45 +0200 Subject: [PATCH 1529/4087] (#19610) freetype: bump brotli, restore fixed version of libpng, and proper version range for zlib --- recipes/freetype/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/freetype/all/conanfile.py b/recipes/freetype/all/conanfile.py index 5073e3cf9b655..1415f8ffb0446 100644 --- a/recipes/freetype/all/conanfile.py +++ b/recipes/freetype/all/conanfile.py @@ -64,13 +64,13 @@ def layout(self): def requirements(self): if self.options.with_png: - self.requires("libpng/[>=1.6 <1.7]") + self.requires("libpng/1.6.40") if self.options.with_zlib: - self.requires("zlib/[>=1.2 <1.3]") + self.requires("zlib/[>=1.2.10 <2]") if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.get_safe("with_brotli"): - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c1788389e9c867623a87763fbad3b986697aa5a4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 06:51:34 +0900 Subject: [PATCH 1530/4087] (#19622) daw_header_libraries: add version 2.96.1 --- 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 76073e7c9033b..f07d3ecdd0bdb 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ 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" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 6a27257347e52..e5da3ea85fe21 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.96.1": + folder: all "2.95.0": folder: all "2.93.1": From 9393765500d77219be327a7578da3c386a60ad72 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 7 Sep 2023 11:04:31 +0300 Subject: [PATCH 1531/4087] (#18180) aravis: add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * aravis: add package_type * aravis: restore test_v1_package * aravis: use is_apple_os() * aravis: bump deps * aravis: add transitive_headers=True, bump deps * User hsot version for glib * Apply suggestions from code review Co-authored-by: ericLemanissier --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: ericLemanissier --- recipes/aravis/all/conanfile.py | 26 ++++++++++--------- .../aravis/all/test_package/CMakeLists.txt | 2 +- .../aravis/all/test_package/test_package.c | 5 ++-- .../aravis/all/test_v1_package/CMakeLists.txt | 6 ++--- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index aaa8cad5fb1b4..6ccff17b4bf8e 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/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 VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rename, rm, rmdir @@ -12,16 +12,18 @@ import os import glob -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.56.0 <2 || >=2.0.6" class AravisConan(ConanFile): name = "aravis" + description = "A vision library for genicam based cameras." license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/AravisProject/aravis" - description = "A vision library for genicam based cameras." topics = ("usb", "camera") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -48,7 +50,7 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.packet_socket def configure(self): @@ -63,13 +65,14 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.75.2") - self.requires("libxml2/2.10.3") + # glib-object.h and gio/gio.h are used in several public headers + self.requires("glib/2.77.2", transitive_headers=True) + self.requires("libxml2/2.11.4") self.requires("zlib/1.2.13") if self.options.usb: self.requires("libusb/1.0.26") if self.options.gst_plugin: - self.requires("gstreamer/1.19.2") + self.requires("gstreamer/1.22.3") self.requires("gst-plugins-base/1.19.2") def validate(self): @@ -77,18 +80,17 @@ def validate(self): raise ConanInvalidConfiguration("Static runtime is not supported on Windows due to GLib issues") if self.options.shared and not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration("Shared Aravis cannot link to static GLib") - if self.settings.os == "Macos" and self.dependencies["glib"].options.shared: + if is_apple_os(self) and self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( "macOS builds are disabled when glib is shared until " "conan-io/conan#7324 gets merged to fix macOS SIP issue #8443" ) def build_requirements(self): - self.tool_requires("meson/1.0.0") - if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires("glib/2.75.2") + self.tool_requires("meson/1.2.1") + self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/1.9.5") if self.options.introspection: self.tool_requires("gobject-introspection/1.72.0") diff --git a/recipes/aravis/all/test_package/CMakeLists.txt b/recipes/aravis/all/test_package/CMakeLists.txt index 8a5d8c220194f..f8a36c47767ce 100644 --- a/recipes/aravis/all/test_package/CMakeLists.txt +++ b/recipes/aravis/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(aravis REQUIRED CONFIG) diff --git a/recipes/aravis/all/test_package/test_package.c b/recipes/aravis/all/test_package/test_package.c index 9a63b9ea3a864..762afa0db71a7 100644 --- a/recipes/aravis/all/test_package/test_package.c +++ b/recipes/aravis/all/test_package/test_package.c @@ -1,9 +1,8 @@ #include -#include #include +#include -int main(int argc, char **argv) -{ +int main() { printf("Enumerating Aravis interfaces:\n"); unsigned int if_count = arv_get_n_interfaces(); for (unsigned int if_index = 0; if_index < if_count; if_index++) { diff --git a/recipes/aravis/all/test_v1_package/CMakeLists.txt b/recipes/aravis/all/test_v1_package/CMakeLists.txt index 0d20897301b68..91630d79f4abb 100644 --- a/recipes/aravis/all/test_v1_package/CMakeLists.txt +++ b/recipes/aravis/all/test_v1_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 43313ebbdd30ba8b09ca3066bc0fa606b9431893 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 7 Sep 2023 10:30:52 +0200 Subject: [PATCH 1532/4087] (#19438) onnxruntime/all: bump deps * onnxruntime/all: bump onnx * bump protobuf * bump wil * remove Protobuf patch --- recipes/onnxruntime/all/conanfile.py | 6 +++--- .../all/patches/1.15.1-0001-cmake-dependencies.patch | 9 --------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index c69e32a34aa82..dc0f2dce95435 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -68,12 +68,12 @@ def _onnx_version(self): version = Version(self.version) return { "1.14": "1.13.1", - "1.15": "1.14.0", + "1.15": "1.14.1", }[f"{version.major}.{version.minor}"] def requirements(self): self.requires("abseil/20230125.3") - self.requires("protobuf/3.21.9") + self.requires("protobuf/3.21.12") self.requires("date/3.0.1") self.requires("re2/20230801") self.requires(f"onnx/{self._onnx_version}") @@ -87,7 +87,7 @@ def requirements(self): if self.settings.os != "Windows": self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.230629.1") + self.requires("wil/1.0.230824.2") if self.options.with_xnnpack: self.requires("xnnpack/cci.20220801") 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 index bee9115bc809e..4ebc87b3a4ddc 100644 --- a/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch +++ b/recipes/onnxruntime/all/patches/1.15.1-0001-cmake-dependencies.patch @@ -30,15 +30,6 @@ diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onn index 9effd1a2db..a059c28e36 100644 --- a/cmake/external/onnxruntime_external_deps.cmake +++ b/cmake/external/onnxruntime_external_deps.cmake -@@ -152,7 +152,7 @@ FetchContent_Declare( - URL ${DEP_URL_protobuf} - URL_HASH SHA1=${DEP_SHA1_protobuf} - PATCH_COMMAND ${ONNXRUNTIME_PROTOBUF_PATCH_COMMAND} -- FIND_PACKAGE_ARGS 3.21.12 NAMES Protobuf -+ FIND_PACKAGE_ARGS NAMES Protobuf - ) - set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests" FORCE) - if (CMAKE_SYSTEM_NAME STREQUAL "Android") @@ -173,6 +173,7 @@ FetchContent_Declare( date URL ${DEP_URL_date} From 5c257277231e50416ff7aea644fdfaa639b11f92 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 7 Sep 2023 11:32:50 +0200 Subject: [PATCH 1533/4087] (#19557) gdk-pixbuf: bump glib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdk-pixbuf: bump glib * Update conanfile.py * Remove old glib workaround * Bump libpng --------- Co-authored-by: Rubén Rincón Blanco --- recipes/gdk-pixbuf/all/conanfile.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/recipes/gdk-pixbuf/all/conanfile.py b/recipes/gdk-pixbuf/all/conanfile.py index fe76b0dd2bad4..4f44d797427e7 100644 --- a/recipes/gdk-pixbuf/all/conanfile.py +++ b/recipes/gdk-pixbuf/all/conanfile.py @@ -12,13 +12,13 @@ import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.56.0 <2 || >=2.0.6" class GdkPixbufConan(ConanFile): name = "gdk-pixbuf" description = "toolkit for image loading and pixel buffer manipulation" - topics = ("gdk-pixbuf", "image") + topics = ("image") url = "https://github.com/conan-io/conan-center-index" homepage = "https://developer.gnome.org/gdk-pixbuf/" license = "LGPL-2.1-or-later" @@ -63,9 +63,9 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.76.0", transitive_headers=True, transitive_libs=True, run=can_run(self)) + self.requires("glib/2.77.0", transitive_headers=True, transitive_libs=True) if self.options.with_libpng: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_libtiff: self.requires("libtiff/4.4.0") if self.options.with_libjpeg == "libjpeg-turbo": @@ -93,8 +93,7 @@ def build_requirements(self): self.tool_requires("meson/1.0.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") - if not can_run(self): - self.tool_requires("glib/2.76.0") + self.tool_requires("glib/") if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") From 211cb331e24e6f7e6226f9acf441264d28d5ec77 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 19:15:55 +0900 Subject: [PATCH 1534/4087] (#19616) wasmer: add version 4.2.0 --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/wasmer/config.yml | 2 ++ 2 files changed, 29 insertions(+) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 9f36767ca9925..8b03fa42930cd 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "4.2.0": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.0/wasmer-windows-amd64.tar.gz" + sha256: "f2eeff46e6974f06d1ee3dc64515a2fbd9f0897575ce7e8ed5c6e3b4353ded24" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.0/wasmer-windows-gnu64.tar.gz" + sha256: "13374b1d781a2aec2cb981f8c38ad0935476c7d508b993bc48f684a13e283943" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.0/wasmer-linux-amd64.tar.gz" + sha256: "3ea947b1accb6247aa90d914331132827c49a422d2dba8459e2f0cf02c1acf80" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.0/wasmer-linux-aarch64.tar.gz" + sha256: "681fe6ad3e7f139d3d2ed8cfbf6ceb4d54098c32da9663bbf849e6429d6e8f1c" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.0/wasmer-darwin-amd64.tar.gz" + sha256: "4d629eafe6d7249b276691cb0f834d7d00cf89953700628abe06a224f76b7d79" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.0/wasmer-darwin-arm64.tar.gz" + sha256: "ab928c3717c2597f484868d5d97baabe939bffeb1ba38f348bcda9c828022069" "4.1.1": Windows: "x86_64": diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index bac9dd3778328..1f9b03131e570 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: "all" "4.1.1": folder: "all" "4.0.0": From d7b63348552d3e26fb2b581f9ed8923fe2a6ded3 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 19:53:11 +0900 Subject: [PATCH 1535/4087] (#19623) zmqpp: support conan v2 more, add patch description * zmqpp: support conan v2 more, add patch description * make zeromq transitive_libs Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/zmqpp/all/conandata.yml | 6 ++++++ recipes/zmqpp/all/conanfile.py | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/recipes/zmqpp/all/conandata.yml b/recipes/zmqpp/all/conandata.yml index b8b843edf38c8..4bc0fe616e574 100644 --- a/recipes/zmqpp/all/conandata.yml +++ b/recipes/zmqpp/all/conandata.yml @@ -5,5 +5,11 @@ sources: patches: "4.2.0": - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "use cci's zeromq, separate shared and static build" + patch_type: "conan" - patch_file: "patches/0002-missing-includes.patch" + patch_description: "include missing includes" + patch_type: "portability" - patch_file: "patches/0003-Allow-building-with-Werror-undef.patch" + patch_description: "fix WIN32 detection" + patch_type: "portability" diff --git a/recipes/zmqpp/all/conanfile.py b/recipes/zmqpp/all/conanfile.py index 8d4bf7d455227..a4ed7a7549f25 100644 --- a/recipes/zmqpp/all/conanfile.py +++ b/recipes/zmqpp/all/conanfile.py @@ -4,20 +4,20 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class ZmqppConan(ConanFile): name = "zmqpp" - homepage = "https://github.com/zeromq/zmqpp" - license = "MPL-2.0" - url = "https://github.com/conan-io/conan-center-index" description = ( "This C++ binding for 0mq/zmq is a 'high-level' library that hides " "most of the c-style interface core 0mq provides." ) + license = "MPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/zeromq/zmqpp" topics = ("zmq", "0mq", "zeromq", "message-queue", "asynchronous") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,6 +28,10 @@ class ZmqppConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 11 + def export_sources(self): export_conandata_patches(self) @@ -37,24 +41,20 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zeromq/4.3.4") + self.requires("zeromq/4.3.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.info.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 96d8d9952ca43b1ff87159019908ca7851616b47 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 20:37:25 +0900 Subject: [PATCH 1536/4087] (#19635) wasmtime: add version 12.0.1 --- recipes/wasmtime/all/conandata.yml | 30 ++++++++++++++++++++++++++++++ recipes/wasmtime/config.yml | 2 ++ 2 files changed, 32 insertions(+) diff --git a/recipes/wasmtime/all/conandata.yml b/recipes/wasmtime/all/conandata.yml index e337fecbbe977..59e975128a2ee 100644 --- a/recipes/wasmtime/all/conandata.yml +++ b/recipes/wasmtime/all/conandata.yml @@ -1,4 +1,34 @@ sources: + "12.0.1": + Windows: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-windows-c-api.zip" + sha256: "e5da4752260ffd38e28cc56fc1db6f3cec65f9bf352b5e9757a92873e5a6f408" + MinGW: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-mingw-c-api.zip" + sha256: "7b7a6c7d3e2603ec51837c28ec5c9306d599d44b707d052faa5102c691e07685" + Linux: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-linux-c-api.tar.xz" + sha256: "7f09952cba8e92ff3bd18ad59b847fb353a6cd6c9069b38c1b9763610616347f" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux-c-api.tar.xz" + sha256: "fd7080f59413aca47e473e2f2517fbd75ef16d963925a7333c09d0621c81b449" + "s390x": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-s390x-linux-c-api.tar.xz" + sha256: "4482d42cf683f5ee4213fcb1c69f0b5fa7b4d948186d26ae6f647cc92ac4e779" + Macos: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-macos-c-api.tar.xz" + sha256: "89059ed138cb59c8c1f9008053da848d3d9e15c5edfe1a3f2f2d7c0c5bbf9597" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-macos-c-api.tar.xz" + sha256: "8dca391f22cf53ae4b19a689e3a2cce87541bb4575a98d2f402f36402be419f7" + Android: + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux-c-api.tar.xz" + sha256: "fd7080f59413aca47e473e2f2517fbd75ef16d963925a7333c09d0621c81b449" "9.0.1": Windows: "x86_64": diff --git a/recipes/wasmtime/config.yml b/recipes/wasmtime/config.yml index dbe6065513d63..de77d1db49a4f 100644 --- a/recipes/wasmtime/config.yml +++ b/recipes/wasmtime/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.1": + folder: all "9.0.1": folder: all "7.0.0": From 47aa07a40037dea99836ec706b49d069ae16998c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Sep 2023 21:13:14 +0900 Subject: [PATCH 1537/4087] (#19636) octo-keygen-cpp: update dependencies, add package_type --- recipes/octo-keygen-cpp/all/conandata.yml | 4 +- recipes/octo-keygen-cpp/all/conanfile.py | 72 ++++++++++--------- .../all/test_package/CMakeLists.txt | 8 +-- .../all/test_package/conanfile.py | 8 +-- .../all/test_package/test_package.cpp | 18 ----- 5 files changed, 48 insertions(+), 62 deletions(-) diff --git a/recipes/octo-keygen-cpp/all/conandata.yml b/recipes/octo-keygen-cpp/all/conandata.yml index 1915a524b0e38..2fde3196d3682 100644 --- a/recipes/octo-keygen-cpp/all/conandata.yml +++ b/recipes/octo-keygen-cpp/all/conandata.yml @@ -1,4 +1,4 @@ sources: "1.0.0": - sha256: c4c60b4defed781d164e8fcc002c98df6fef0166ac2a18c7919dbbda22accecf - url: https://github.com/ofiriluz/octo-keygen-cpp/archive/refs/tags/v1.0.0.tar.gz + url: "https://github.com/ofiriluz/octo-keygen-cpp/archive/refs/tags/v1.0.0.tar.gz" + sha256: "c4c60b4defed781d164e8fcc002c98df6fef0166ac2a18c7919dbbda22accecf" diff --git a/recipes/octo-keygen-cpp/all/conanfile.py b/recipes/octo-keygen-cpp/all/conanfile.py index 52e5634af7ecf..b9e37112cb2f5 100644 --- a/recipes/octo-keygen-cpp/all/conanfile.py +++ b/recipes/octo-keygen-cpp/all/conanfile.py @@ -2,8 +2,9 @@ from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import get, copy from conan.tools.build import check_min_cppstd -from conan.errors import ConanInvalidConfiguration from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc_static_runtime +from conan.errors import ConanInvalidConfiguration import os required_conan_version = ">=1.50.0" @@ -11,12 +12,17 @@ class OctoKeygenCPPConan(ConanFile): name = "octo-keygen-cpp" + description = "Key generation / certificate generation using openssl for CPP" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ofiriluz/octo-keygen-cpp" - description = "Octo keygen library" topics = ("pki", "keypair", "certificates", "cpp") - settings = "os", "compiler", "build_type", "arch" + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -25,47 +31,43 @@ def _compilers_minimum_version(self): "clang": "9", "apple-clang": "11", "Visual Studio": "16", - "msvc": "1923", + "msvc": "192", } - def generate(self): - tc = CMakeToolchain(self) - tc.variables["DISABLE_TESTS"] = True - tc.generate() - cd = CMakeDeps(self) - cd.generate() - def layout(self): cmake_layout(self, src_folder="src") - def validate(self): - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, "17") + def requirements(self): + self.requires("octo-logger-cpp/1.1.0", transitive_headers=True) + self.requires("octo-encryption-cpp/1.1.0", transitive_headers=True) + self.requires("fmt/10.1.1") + self.requires("openssl/[>=1.1 <4]") + def validate(self): + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name} requires C++17, which your compiler does not support." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - else: - self.output.warn(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": - raise ConanInvalidConfiguration(f"{self.name} does not support clang with libc++. Use libstdc++ instead.") - if self.settings.compiler == "Visual Studio" and self.settings.compiler.runtime in ["MTd", "MT"]: - raise ConanInvalidConfiguration(f"{self.name} does not support MSVC MT/MTd configurations, only MD/MDd is supported") + raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libc++. Use libstdc++ instead.") + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC MT/MTd configurations, only MD/MDd is supported") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") - def requirements(self): - self.requires("octo-logger-cpp/1.1.0") - self.requires("octo-encryption-cpp/1.1.0") - self.requires("fmt/9.0.0") - self.requires("openssl/1.1.1q") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build_requirements(self): - self.tool_requires("cmake/3.24.0") + def generate(self): + tc = CMakeToolchain(self) + tc.variables["DISABLE_TESTS"] = True + tc.generate() + cd = CMakeDeps(self) + cd.generate() def build(self): cmake = CMake(self) @@ -78,16 +80,18 @@ def package(self): cmake.install() def package_info(self): + self.cpp_info.libs = ["octo-keygen-cpp"] self.cpp_info.set_property("cmake_file_name", "octo-keygen-cpp") self.cpp_info.set_property("cmake_target_name", "octo::octo-keygen-cpp") self.cpp_info.set_property("pkg_config_name", "octo-keygen-cpp") - self.cpp_info.libs = ["octo-keygen-cpp"] - self.cpp_info.names["cmake_find_package"] = "octo-keygen-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "octo-keygen-cpp" - self.cpp_info.names["pkg_config"] = "octo-keygen-cpp" self.cpp_info.requires = [ "fmt::fmt", "openssl::openssl", "octo-logger-cpp::octo-logger-cpp", "octo-encryption-cpp::octo-encryption-cpp" ] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "octo-keygen-cpp" + self.cpp_info.names["cmake_find_package_multi"] = "octo-keygen-cpp" + self.cpp_info.names["pkg_config"] = "octo-keygen-cpp" diff --git a/recipes/octo-keygen-cpp/all/test_package/CMakeLists.txt b/recipes/octo-keygen-cpp/all/test_package/CMakeLists.txt index 7a68c9f36c4bf..ec355db2143f3 100644 --- a/recipes/octo-keygen-cpp/all/test_package/CMakeLists.txt +++ b/recipes/octo-keygen-cpp/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(octo-keygen-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} octo::octo-keygen-cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE octo::octo-keygen-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/octo-keygen-cpp/all/test_package/conanfile.py b/recipes/octo-keygen-cpp/all/test_package/conanfile.py index 6f1d3245dd7e8..bb7197d60a7c5 100644 --- a/recipes/octo-keygen-cpp/all/test_package/conanfile.py +++ b/recipes/octo-keygen-cpp/all/test_package/conanfile.py @@ -7,11 +7,11 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def generate(self): - tc = CMakeToolchain(self) - tc.generate() + def requirements(self): + self.requires(self.tested_reference_str) def layout(self): cmake_layout(self) diff --git a/recipes/octo-keygen-cpp/all/test_package/test_package.cpp b/recipes/octo-keygen-cpp/all/test_package/test_package.cpp index 98222f149cce9..418c7b3cdcaa5 100644 --- a/recipes/octo-keygen-cpp/all/test_package/test_package.cpp +++ b/recipes/octo-keygen-cpp/all/test_package/test_package.cpp @@ -13,7 +13,6 @@ #include "octo-keygen-cpp/openssl/ssl-keypair.hpp" #include "octo-keygen-cpp/openssl/ssl-keypair-certificate-chain.hpp" #include "octo-keygen-cpp/openssl/ssl-keypair-certificate.hpp" -#include #include #include @@ -87,16 +86,6 @@ constexpr auto TARGET_CERT = "-----BEGIN CERTIFICATE-----\n" int main(int argc, char** argv) { - octo::logger::Logger logger("PSKeygen"); - std::shared_ptr config = - std::make_shared(); - octo::logger::SinkConfig console_writer_sink("Console", octo::logger::SinkConfig::SinkType::CONSOLE_SINK); - config->add_sink(console_writer_sink); - octo::logger::Manager::instance() - .editable_channel("PSKeygen") - .set_log_level(octo::logger::Log::LogLevel::DEBUG); - octo::logger::Manager::instance().configure(config); - auto ca = octo::keygen::ssl::SSLKeypairCertificateChain::load_certificate_chain( std::make_unique(ROOTCA) ); @@ -106,18 +95,11 @@ int main(int argc, char** argv) auto chain = octo::keygen::ssl::SSLKeypairCertificateChain::load_certificate_chain( std::make_unique(SUBCA) ); - logger.info() << "IS CA = " << ca->is_any_ca(); - logger.info() << "IS VALID CERT = " << ca->is_valid_chain(target.get(), - chain.get()); octo::keygen::KeygenPtr ssl_key_gen = std::make_shared(); octo::keygen::KeygenOptions ssl_opts; octo::keygen::KeypairPtr ssl_key_pair = ssl_key_gen->generate_keypair(ssl_opts); - logger.info() << "\n" << ssl_key_pair->private_key(); - logger.info() << "\n" << ssl_key_pair->public_key(); octo::keygen::KeygenOptions ssl_sign_opts; octo::keygen::KeypairCertificatePtr ssl_cert = ssl_key_gen->sign_key_pair(ssl_key_pair, ssl_sign_opts); - logger.info() << "\n" << ssl_cert->certificate(); - logger.info() << "\n" << ssl_cert->pretty_print_certificate_info(); } From bd5ac37105e41eec9963f65ad8b39fad49b6c7ac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 7 Sep 2023 19:31:04 +0300 Subject: [PATCH 1538/4087] (#18733) tinkerforge-bindings: migrate to Conan v2 * tinkerforge-bindings: migrate to Conan v2 * tinkerforge-bindings: restore VirtualRunEnv in test_package --- .../tinkerforge-bindings/all/CMakeLists.txt | 11 +-- recipes/tinkerforge-bindings/all/conanfile.py | 74 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 18 ++++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 16 ++++ 6 files changed, 82 insertions(+), 52 deletions(-) create mode 100644 recipes/tinkerforge-bindings/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tinkerforge-bindings/all/test_v1_package/conanfile.py diff --git a/recipes/tinkerforge-bindings/all/CMakeLists.txt b/recipes/tinkerforge-bindings/all/CMakeLists.txt index 2ea059e4508ba..9c3750e3fa826 100644 --- a/recipes/tinkerforge-bindings/all/CMakeLists.txt +++ b/recipes/tinkerforge-bindings/all/CMakeLists.txt @@ -1,11 +1,10 @@ cmake_minimum_required(VERSION 3.4) project(tinkerforge_bindings) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +set(SOURCES_DIR ${CMAKE_CURRENT_LIST_DIR}/src) -file(GLOB SOURCES ${CMAKE_SOURCE_DIR}/source_subfolder/source/*.c) -file(GLOB HEADERS ${CMAKE_SOURCE_DIR}/source_subfolder/source/*.h) +file(GLOB SOURCES ${SOURCES_DIR}/source/*.c) +file(GLOB HEADERS ${SOURCES_DIR}/source/*.h) if(WIN32 AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) @@ -17,10 +16,8 @@ if(MSVC) target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 advapi32) endif() +include(GNUInstallDirs) set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS}") install(TARGETS ${PROJECT_NAME} - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin PUBLIC_HEADER DESTINATION include ) diff --git a/recipes/tinkerforge-bindings/all/conanfile.py b/recipes/tinkerforge-bindings/all/conanfile.py index fb57c7fccf3f7..f287887f2f3ea 100644 --- a/recipes/tinkerforge-bindings/all/conanfile.py +++ b/recipes/tinkerforge-bindings/all/conanfile.py @@ -1,17 +1,23 @@ -from conans import ConanFile, tools, CMake -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.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc_static_runtime + +required_conan_version = ">=1.53.0" + class TinkerforgeBindingsConan(ConanFile): name = "tinkerforge-bindings" + description = "API bindings to control Tinkerforge's Bricks and Bricklets" + license = "CC0 1.0 Universal" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.tinkerforge.com/" - license = "CC0 1.0 Universal" - description = "API bindings to control Tinkerforge's Bricks and Bricklets" - topics = "iot", "maker", "bindings" + topics = ("iot", "maker", "bindings") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,19 +28,8 @@ class TinkerforgeBindingsConan(ConanFile): "fPIC": True, } - _cmake = None - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -42,40 +37,41 @@ 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 validate(self): - 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("Static runtime + shared is failing to link") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=False) + get(self, **self.conan_data["sources"][self.version], strip_root=False) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("license.txt", src=self._source_subfolder, dst="licenses") - 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.set_property("cmake_file_name", "tinkerforge-bindings") self.cpp_info.set_property("cmake_target_name", "tinkerforge::bindings") - self.cpp_info.names["cmake_find_package"] = "tinkerforge" - self.cpp_info.names["cmake_find_package_multi"] = "tinkerforge" - self.cpp_info.filenames["cmake_find_package"] = "tinkerforge-bindings" - self.cpp_info.filenames["cmake_find_package_multi"] = "tinkerforge-bindings" + self.cpp_info.components["_bindings"].set_property("cmake_target_name", "bindings") self.cpp_info.components["_bindings"].names["cmake_find_package"] = "bindings" self.cpp_info.components["_bindings"].names["cmake_find_package_multi"] = "bindings" self.cpp_info.components["_bindings"].libs = ["tinkerforge_bindings"] @@ -84,3 +80,9 @@ def package_info(self): self.cpp_info.components["_bindings"].system_libs = ["pthread"] elif self.settings.os == "Windows": self.cpp_info.components["_bindings"].system_libs = ["advapi32", "ws2_32"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "tinkerforge" + self.cpp_info.names["cmake_find_package_multi"] = "tinkerforge" + self.cpp_info.filenames["cmake_find_package"] = "tinkerforge-bindings" + self.cpp_info.filenames["cmake_find_package_multi"] = "tinkerforge-bindings" diff --git a/recipes/tinkerforge-bindings/all/test_package/CMakeLists.txt b/recipes/tinkerforge-bindings/all/test_package/CMakeLists.txt index b831e148cc9c0..4be380621fecd 100644 --- a/recipes/tinkerforge-bindings/all/test_package/CMakeLists.txt +++ b/recipes/tinkerforge-bindings/all/test_package/CMakeLists.txt @@ -1,10 +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(TARGETS) - -find_package(tinkerforge-bindings REQUIRED) +find_package(tinkerforge-bindings REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} tinkerforge::bindings) diff --git a/recipes/tinkerforge-bindings/all/test_package/conanfile.py b/recipes/tinkerforge-bindings/all/test_package/conanfile.py index 0245c9a8028a3..ef5d7042163ec 100644 --- a/recipes/tinkerforge-bindings/all/test_package/conanfile.py +++ b/recipes/tinkerforge-bindings/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tinkerforge-bindings/all/test_v1_package/CMakeLists.txt b/recipes/tinkerforge-bindings/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tinkerforge-bindings/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/tinkerforge-bindings/all/test_v1_package/conanfile.py b/recipes/tinkerforge-bindings/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9b63bd176646b --- /dev/null +++ b/recipes/tinkerforge-bindings/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +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): + self.run(os.path.join("bin", "test_package"), run_environment=True) From d55139ac069a4b9b5e708ce18930392757239c9b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 8 Sep 2023 08:35:20 +0200 Subject: [PATCH 1539/4087] (#19638) [bot] Update list of references (prod-v2/ListPackages) --- .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 7491fb37d05f1..72b011e53dd5d 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -68,6 +68,7 @@ required_for_references: - aws-crt-cpp - aws-kvs-pic - aws-libfabric +- aws-sdk-cpp - b2 - b64 - backport-cpp @@ -511,6 +512,7 @@ required_for_references: - libatomic_ops - libattr - libavif +- libb2 - libbacktrace - libbigwig - libbsd @@ -1107,8 +1109,10 @@ required_for_references: - tllist - tlx - toml11 +- tracy - trantor - tree-sitter +- tree-sitter-c - troldal-zippy - trompeloeil - tsl-hopscotch-map From 9ea2d2cf40fdc97564b5cd556a314a0529e05e53 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 8 Sep 2023 11:25:31 +0300 Subject: [PATCH 1540/4087] (#18708) lightpcapng: migrate to Conan v2 * lightpcapng: migrate to Conan v2 * lightpcapng: restore VirtualRunEnv in test_package * lightpcapng: bump deps --------- Co-authored-by: Carlos Zoido --- recipes/lightpcapng/all/CMakeLists.txt | 8 -- recipes/lightpcapng/all/conanfile.py | 78 ++++++++++--------- .../all/test_package/CMakeLists.txt | 9 +-- .../lightpcapng/all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 83 insertions(+), 58 deletions(-) delete mode 100644 recipes/lightpcapng/all/CMakeLists.txt create mode 100644 recipes/lightpcapng/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/lightpcapng/all/test_v1_package/conanfile.py diff --git a/recipes/lightpcapng/all/CMakeLists.txt b/recipes/lightpcapng/all/CMakeLists.txt deleted file mode 100644 index 5cfb924ad4de7..0000000000000 --- a/recipes/lightpcapng/all/CMakeLists.txt +++ /dev/null @@ -1,8 +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/lightpcapng/all/conanfile.py b/recipes/lightpcapng/all/conanfile.py index ea6e74e5ca99f..3625228ec2534 100644 --- a/recipes/lightpcapng/all/conanfile.py +++ b/recipes/lightpcapng/all/conanfile.py @@ -1,15 +1,21 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" + class LightPcapNgConan(ConanFile): name = "lightpcapng" - homepage = "https://github.com/Technica-Engineering/LightPcapNg" description = "Library for general-purpose tracing based on PCAPNG file format" - topics = ("pcapng", "pcap") - url = "https://github.com/conan-io/conan-center-index" license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Technica-Engineering/LightPcapNg" + topics = ("pcapng", "pcap") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,17 +27,6 @@ class LightPcapNgConan(ConanFile): "fPIC": True, "with_zstd": True, } - generators = "cmake", "cmake_paths", "cmake_find_package" - exports_sources = "CMakeLists.txt" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": @@ -40,43 +35,50 @@ def config_options(self): def configure(self): if self.options.with_zstd: self.options["zstd"].shared = self.options.shared - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_zstd: - self.requires("zstd/1.4.5") + self.requires("zstd/1.5.5") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIGHT_USE_ZSTD"] = self.options.with_zstd + tc.variables["BUILD_TESTING"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["LIGHT_USE_ZSTD"] = self.options.with_zstd - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.names["cmake_find_package"] = "light_pcapng" - self.cpp_info.names["cmake_find_package_multi"] = "light_pcapng" - self.cpp_info.components["liblight_pcapng"].names["cmake_find_package"] = "light_pcapng" - self.cpp_info.components["liblight_pcapng"].names["cmake_find_package_multi"] = "light_pcapng" + self.cpp_info.set_property("cmake_file_name", "light_pcapng") + self.cpp_info.set_property("cmake_target_name", "light_pcapng::light_pcapng") self.cpp_info.components["liblight_pcapng"].libs = ["light_pcapng"] - if self.options.with_zstd: self.cpp_info.components["liblight_pcapng"].requires = ["zstd::zstd"] + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "light_pcapng" + self.cpp_info.names["cmake_find_package_multi"] = "light_pcapng" + self.cpp_info.components["liblight_pcapng"].names["cmake_find_package"] = "light_pcapng" + self.cpp_info.components["liblight_pcapng"].names["cmake_find_package_multi"] = "light_pcapng" diff --git a/recipes/lightpcapng/all/test_package/CMakeLists.txt b/recipes/lightpcapng/all/test_package/CMakeLists.txt index 8927c32d3f4ef..f7eaac4f3f950 100644 --- a/recipes/lightpcapng/all/test_package/CMakeLists.txt +++ b/recipes/lightpcapng/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(TARGETS) - -find_package(light_pcapng REQUIRED) +find_package(light_pcapng REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} light_pcapng::light_pcapng) diff --git a/recipes/lightpcapng/all/test_package/conanfile.py b/recipes/lightpcapng/all/test_package/conanfile.py index 3da371b660e0a..ef5d7042163ec 100644 --- a/recipes/lightpcapng/all/test_package/conanfile.py +++ b/recipes/lightpcapng/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" + 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/lightpcapng/all/test_v1_package/CMakeLists.txt b/recipes/lightpcapng/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/lightpcapng/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/lightpcapng/all/test_v1_package/conanfile.py b/recipes/lightpcapng/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/lightpcapng/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 ff7a8905859446d2fbd05daabfe4dd1c248a6844 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:07:14 +0200 Subject: [PATCH 1541/4087] (#19670) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 72b011e53dd5d..5cb7b12693718 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -26,6 +26,7 @@ required_for_references: - apr - apr-util - apriltag +- aravis - archicad-apidevkit - arcus - arduinojson @@ -437,6 +438,7 @@ required_for_references: - id3v2lib - iir1 - im95able-rea +- imagl - imake - imath - imgui @@ -617,6 +619,7 @@ required_for_references: - libserial - libsgp4 - libsigcpp +- libsixel - libslz - libsmacker - libsndfile @@ -802,6 +805,8 @@ required_for_references: - objectbox - objectbox-generator - observer-ptr-lite +- octo-encryption-cpp +- octo-keygen-cpp - octo-logger-cpp - octomap - odbc @@ -1212,6 +1217,7 @@ required_for_references: - zlib - zlib-ng - zmarok-semver +- zmqpp - zookeeper-client-c - zpp_bits - zstd From c85da474374847cd263be2699c35586e1cdbb971 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Fri, 8 Sep 2023 12:57:39 +0200 Subject: [PATCH 1542/4087] (#19617) Some improvements for tree-sitter-c recipe --- recipes/tree-sitter-c/all/CMakeLists.txt | 5 ++--- recipes/tree-sitter-c/all/conanfile.py | 21 +++++++++++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/recipes/tree-sitter-c/all/CMakeLists.txt b/recipes/tree-sitter-c/all/CMakeLists.txt index 0500a39a48fb9..a028ec4e4627c 100644 --- a/recipes/tree-sitter-c/all/CMakeLists.txt +++ b/recipes/tree-sitter-c/all/CMakeLists.txt @@ -21,7 +21,7 @@ const TSLanguage *tree_sitter_c(void); ]]) add_library(${PROJECT_NAME} - src/src/parser.c + src/parser.c ) target_link_libraries(${PROJECT_NAME} PUBLIC @@ -29,8 +29,7 @@ target_link_libraries(${PROJECT_NAME} ) target_include_directories(${PROJECT_NAME} PRIVATE - $ - $ + $ ) set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/recipes/tree-sitter-c/all/conanfile.py b/recipes/tree-sitter-c/all/conanfile.py index 87e43c96d6c62..9f73c2c805dce 100644 --- a/recipes/tree-sitter-c/all/conanfile.py +++ b/recipes/tree-sitter-c/all/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile -from conan.tools.cmake import CMake +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import get, replace_in_file, copy -from conan.tools.layout import basic_layout import os required_conan_version = ">=1.53.0" @@ -16,7 +15,7 @@ class TreeSitterCConan(ConanFile): license = "MIT" settings = "os", "arch", "compiler", "build_type" package_type = "library" - generators = "CMakeToolchain", "CMakeDeps" + options = { "shared": [True, False], "fPIC": [True, False], @@ -26,11 +25,21 @@ class TreeSitterCConan(ConanFile): "fPIC": True, } - generators = "CMakeToolchain", "CMakeDeps" + exports_sources = "CMakeLists.txt" def layout(self): - basic_layout(self, src_folder="src") + cmake_layout(self, src_folder="src") + + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=(self.export_sources_folder + "/src")) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["TREE_SITTER_C_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + deps = CMakeDeps(self) + deps.generate() def config_options(self): if self.settings.os == "Windows": @@ -59,7 +68,7 @@ def _patch_sources(self): def build(self): self._patch_sources() cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.configure() cmake.build() def package(self): From 57211c1fbbcd2e218f58cbda694dbce9cbce0cdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 8 Sep 2023 13:05:27 +0200 Subject: [PATCH 1543/4087] Change Zlib ranges docu (#19676) * Typo * better wording * Remove spaces --- docs/adding_packages/dependencies.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index c421b0a9d9f67..a69f895483ed0 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -181,9 +181,12 @@ Currently, these are: * 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 -* Zlib: `[>=1.X.Y <2]`, where `1.X.Y` is the minimum version of Zlib required, starting from `1.2.10` * Libcurl: `[>=X.YY <9]`, where `X.YY` is the minimum version of Libcurl required, starting from `7.78` +> **Note**: You might also see Zlib ranges in some PR by CCI maintainers. +> We're adding them little by little to avoid missing binaries and conflict errors. +> Please do not open PRs moving Zlib to ranges for now, we'll update this page when PRs are free to add new ranges. + > **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 From df0e278ed9029f9ceca67af767271ecc2f477070 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 8 Sep 2023 14:41:43 +0300 Subject: [PATCH 1544/4087] (#18738) tidy-html5: migrate to Conan v2 * tidy-html5: migrate to Conan v2 * tidy-html5: restore VirtualRunEnv in test_package * tidy-html5: set correct license ID https://spdx.org/licenses/HTMLTIDY.html --- recipes/tidy-html5/all/CMakeLists.txt | 7 -- recipes/tidy-html5/all/conandata.yml | 1 - recipes/tidy-html5/all/conanfile.py | 96 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../tidy-html5/all/test_package/conanfile.py | 21 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 7 files changed, 92 insertions(+), 65 deletions(-) delete mode 100644 recipes/tidy-html5/all/CMakeLists.txt create mode 100644 recipes/tidy-html5/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tidy-html5/all/test_v1_package/conanfile.py diff --git a/recipes/tidy-html5/all/CMakeLists.txt b/recipes/tidy-html5/all/CMakeLists.txt deleted file mode 100644 index e5cb637716b89..0000000000000 --- a/recipes/tidy-html5/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/tidy-html5/all/conandata.yml b/recipes/tidy-html5/all/conandata.yml index dbfb937f0f3c2..56deb76dc5c66 100644 --- a/recipes/tidy-html5/all/conandata.yml +++ b/recipes/tidy-html5/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "5.8.0": - patch_file: "patches/0001-robust-install-pdb.patch" - base_path: "source_subfolder" diff --git a/recipes/tidy-html5/all/conanfile.py b/recipes/tidy-html5/all/conanfile.py index c7d99c3c56b67..cc182cadf26f4 100644 --- a/recipes/tidy-html5/all/conanfile.py +++ b/recipes/tidy-html5/all/conanfile.py @@ -1,17 +1,22 @@ -from conans import ConanFile, CMake, tools import os -required_conan_version = ">=1.33.0" +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, rm, rmdir +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class TidyHtml5Conan(ConanFile): name = "tidy-html5" - license = "W3C" + description = "The granddaddy of HTML tools, with support for modern standards" + license = "HTMLTIDY" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.html-tidy.org" - description = "The granddaddy of HTML tools, with support for modern standards" topics = ("html", "parser", "xml", "tools") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,17 +29,8 @@ class TidyHtml5Conan(ConanFile): "support_localizations": True, } - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -42,51 +38,57 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - cmake = CMake(self) - cmake.definitions['BUILD_TAB2SPACE'] = False - cmake.definitions['BUILD_SAMPLE_CODE'] = False - cmake.definitions['TIDY_COMPAT_HEADERS'] = False - cmake.definitions['SUPPORT_CONSOLE_APP'] = False - cmake.definitions['SUPPORT_LOCALIZATIONS'] = self.options.support_localizations - cmake.definitions['ENABLE_DEBUG_LOG'] = False - cmake.definitions['ENABLE_ALLOC_DEBUG'] = False - cmake.definitions['ENABLE_MEMORY_DEBUG'] = False - cmake.definitions['BUILD_SHARED_LIB'] = self.options.shared - cmake.configure(build_folder=self._build_subfolder) - self._cmake = cmake - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TAB2SPACE"] = False + tc.variables["BUILD_SAMPLE_CODE"] = False + tc.variables["TIDY_COMPAT_HEADERS"] = False + tc.variables["SUPPORT_CONSOLE_APP"] = False + tc.variables["SUPPORT_LOCALIZATIONS"] = self.options.support_localizations + tc.variables["ENABLE_DEBUG_LOG"] = False + tc.variables["ENABLE_ALLOC_DEBUG"] = False + tc.variables["ENABLE_MEMORY_DEBUG"] = False + tc.variables["BUILD_SHARED_LIB"] = self.options.shared + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("LICENSE.md", dst="licenses", src=os.path.join(self._source_subfolder, 'README')) - cmake = self._configure_cmake() + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "LICENSE.md", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder, "README")) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.pdb") + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib"), recursive=True) if self.options.shared: to_remove = "*tidy_static*" if self.settings.os == "Windows" else "*.a" - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), to_remove) + rm(self, to_remove, os.path.join(self.package_folder, "lib"), recursive=True) def package_info(self): - self.cpp_info.names["pkg_config"] = "tidy" - suffix = "_static" if self.settings.os == "Windows" and not self.options.shared else "" - suffix += "d" if self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug" else "" + self.cpp_info.set_property("pkg_config_name", "tidy") + suffix = "" + if self.settings.os == "Windows" and not self.options.shared: + suffix = "_static" + if is_msvc(self) and self.settings.build_type == "Debug": + suffix += "d" self.cpp_info.libs = ["tidy" + suffix] if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.defines.append("TIDY_STATIC") diff --git a/recipes/tidy-html5/all/test_package/CMakeLists.txt b/recipes/tidy-html5/all/test_package/CMakeLists.txt index 7b9b613cbb24a..e21ed1c05b78f 100644 --- a/recipes/tidy-html5/all/test_package/CMakeLists.txt +++ b/recipes/tidy-html5/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(tidy-html5 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE tidy-html5::tidy-html5) diff --git a/recipes/tidy-html5/all/test_package/conanfile.py b/recipes/tidy-html5/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/tidy-html5/all/test_package/conanfile.py +++ b/recipes/tidy-html5/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/tidy-html5/all/test_v1_package/CMakeLists.txt b/recipes/tidy-html5/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tidy-html5/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/tidy-html5/all/test_v1_package/conanfile.py b/recipes/tidy-html5/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/tidy-html5/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) From b2f903b863a13b8d575c723a14f6066ad317b827 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Fri, 8 Sep 2023 16:53:30 +0200 Subject: [PATCH 1545/4087] (#19023) dsp-filters/20170309: Added dsp-filters recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dsp-filters: Added dsp-filters recipe * Copying proper package files also on windows * MAde recipe msvc compliant * Added missing final endline * Added "m" system lib * Cleanup * Update recipes/dsp-filters/all/conandata.yml * Update recipes/dsp-filters/all/conandata.yml * Update recipes/dsp-filters/config.yml --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Carlos Zoido --- recipes/dsp-filters/all/conandata.yml | 12 +++ recipes/dsp-filters/all/conanfile.py | 74 +++++++++++++++++++ .../0001-remove-explicit-cmake-options.patch | 14 ++++ .../0002-remove-msvc-cmake-flags.patch | 14 ++++ .../all/test_package/CMakeLists.txt | 7 ++ .../dsp-filters/all/test_package/conanfile.py | 29 ++++++++ .../all/test_package/test_package.cpp | 11 +++ recipes/dsp-filters/config.yml | 3 + 8 files changed, 164 insertions(+) create mode 100644 recipes/dsp-filters/all/conandata.yml create mode 100644 recipes/dsp-filters/all/conanfile.py create mode 100644 recipes/dsp-filters/all/patches/0001-remove-explicit-cmake-options.patch create mode 100644 recipes/dsp-filters/all/patches/0002-remove-msvc-cmake-flags.patch create mode 100644 recipes/dsp-filters/all/test_package/CMakeLists.txt create mode 100644 recipes/dsp-filters/all/test_package/conanfile.py create mode 100644 recipes/dsp-filters/all/test_package/test_package.cpp create mode 100644 recipes/dsp-filters/config.yml diff --git a/recipes/dsp-filters/all/conandata.yml b/recipes/dsp-filters/all/conandata.yml new file mode 100644 index 0000000000000..17f324a8e1446 --- /dev/null +++ b/recipes/dsp-filters/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "cci.20170309": + url: "https://github.com/vinniefalco/DSPFilters/archive/acc49170e79a94fcb9c04b8a2116e9f8dffd1c7d.tar.gz" + sha256: "330c3960e55b8cdbf041d8ec4790a21a326dc331e43bf14c144ae5d88a47d53d" +patches: + "cci.20170309": + - patch_file: "patches/0001-remove-explicit-cmake-options.patch" + patch_description: "Remove explicit STATIC and FPIC options in CMakeLists.txt" + patch_type: "conan" + - patch_file: "patches/0002-remove-msvc-cmake-flags.patch" + patch_description: "Remove MY_FLAGS options in CMakeLists.txt" + patch_type: "conan" diff --git a/recipes/dsp-filters/all/conanfile.py b/recipes/dsp-filters/all/conanfile.py new file mode 100644 index 0000000000000..d4ef17870d051 --- /dev/null +++ b/recipes/dsp-filters/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches, rename +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class DSPFiltersConan(ConanFile): + name = "dsp-filters" + description = "Set of DSP filters" + topics = ("dsp", "filters") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/vinniefalco/DSPFilters" + license = "MIT" + settings = "os", "arch", "compiler", "build_type" + package_type = "library" + + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def validate(self): + # in case it does not work in another configuration, it should validated here too + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def export_sources(self): + export_conandata_patches(self) + + 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): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "shared")) + cmake.build() + + def package(self): + copy(self, "lib*", src=os.path.join(self.build_folder, "DSPFilters"), dst=os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "DSPFilters.lib", src=os.path.join(self.build_folder, "DSPFilters", f"{self.settings.build_type}"), dst=os.path.join(self.package_folder, "lib"), keep_path=False) + + copy(self, "*.h", src=os.path.join(self.source_folder, "shared", "DSPFilters", "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "README.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + rename(self, src=os.path.join(self.package_folder, "licenses", "README.md"), dst=os.path.join(self.package_folder, "licenses", "license")) + + def package_info(self): + self.cpp_info.libs = ["DSPFilters"] + + if self.settings.os in ["Linux", "FreeBSD", "Neutrino"]: + self.cpp_info.system_libs.extend(["m"]) diff --git a/recipes/dsp-filters/all/patches/0001-remove-explicit-cmake-options.patch b/recipes/dsp-filters/all/patches/0001-remove-explicit-cmake-options.patch new file mode 100644 index 0000000000000..cece818ce0db2 --- /dev/null +++ b/recipes/dsp-filters/all/patches/0001-remove-explicit-cmake-options.patch @@ -0,0 +1,14 @@ +--- shared/DSPFilters/CMakeLists.txt 2017-03-09 13:40:27.000000000 +0100 ++++ shared/DSPFilters/CMakeLists.txt 2023-08-03 09:10:56.248123716 +0200 +@@ -4,10 +4,8 @@ + + aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/source SOURCE_LIB) + +-add_library(${PROJECT_NAME} STATIC ${SOURCE_LIB}) ++add_library(${PROJECT_NAME} ${SOURCE_LIB}) + + target_include_directories(${PROJECT_NAME} + PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) + +-set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON) +- diff --git a/recipes/dsp-filters/all/patches/0002-remove-msvc-cmake-flags.patch b/recipes/dsp-filters/all/patches/0002-remove-msvc-cmake-flags.patch new file mode 100644 index 0000000000000..e16d647a99e9c --- /dev/null +++ b/recipes/dsp-filters/all/patches/0002-remove-msvc-cmake-flags.patch @@ -0,0 +1,14 @@ +--- shared/CMakeLists.txt 2023-08-28 13:14:13.868202500 +0200 ++++ shared/CMakeLists.txt 2023-08-28 13:14:42.827596800 +0200 +@@ -8,11 +8,6 @@ + set(CMAKE_BUILD_TYPE Release) + + if((${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)) +- set(MYFLAGS "/O2 /WX- /MT") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYFLAGS}") +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${MYFLAGS}") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MYFLAGS}") +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${MYFLAGS}") + include(CheckSymbolExists) + check_symbol_exists(snprintf "stdio.h" HAVE_SNPRINTF) + if(NOT HAVE_SNPRINTF) diff --git a/recipes/dsp-filters/all/test_package/CMakeLists.txt b/recipes/dsp-filters/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f823007a47a74 --- /dev/null +++ b/recipes/dsp-filters/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.14.0) +project(test_package LANGUAGES CXX) + +find_package(dsp-filters REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE dsp-filters::dsp-filters) diff --git a/recipes/dsp-filters/all/test_package/conanfile.py b/recipes/dsp-filters/all/test_package/conanfile.py new file mode 100644 index 0000000000000..922d35b61f37a --- /dev/null +++ b/recipes/dsp-filters/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(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not can_run(self): + return + + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/dsp-filters/all/test_package/test_package.cpp b/recipes/dsp-filters/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..10690f2821e16 --- /dev/null +++ b/recipes/dsp-filters/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include + +#include + +int main() { + Dsp::SimpleFilter, 1> f; + f.setup(1, 100, 1000); + f.reset(); + + return 0; +} diff --git a/recipes/dsp-filters/config.yml b/recipes/dsp-filters/config.yml new file mode 100644 index 0000000000000..d7e185cf9c964 --- /dev/null +++ b/recipes/dsp-filters/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20170309": + folder: all From 41b2eead38891495043f0f5d3a16b92135718bd2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 9 Sep 2023 01:41:43 +0900 Subject: [PATCH 1546/4087] (#19602) mpc: add version 1.3.1, update dependencies, fix homepage * mpc: add version 1.3.1, update dependenies * just beautification --- recipes/mpc/all/conandata.yml | 11 ++++--- recipes/mpc/all/conanfile.py | 33 ++++++++++++--------- recipes/mpc/all/test_package/CMakeLists.txt | 2 +- recipes/mpc/all/test_package/conanfile.py | 3 +- recipes/mpc/config.yml | 2 ++ 5 files changed, 31 insertions(+), 20 deletions(-) diff --git a/recipes/mpc/all/conandata.yml b/recipes/mpc/all/conandata.yml index cd8f83a739d7d..8f24801eccbac 100644 --- a/recipes/mpc/all/conandata.yml +++ b/recipes/mpc/all/conandata.yml @@ -1,10 +1,13 @@ sources: + "1.3.1": + url: "https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz" + sha256: "ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8" "1.2.0": - url: https://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz - sha256: e90f2d99553a9c19911abdb4305bf8217106a957e3994436428572c8dfe8fda6 + url: "https://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz" + sha256: "e90f2d99553a9c19911abdb4305bf8217106a957e3994436428572c8dfe8fda6" "1.1.0": - url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz - sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e + url: "https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz" + sha256: "6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e" patches: "1.2.0": - patch_file: "patches/1.2.0-0001-asin-missing-limits.patch" diff --git a/recipes/mpc/all/conanfile.py b/recipes/mpc/all/conanfile.py index f996155628e5c..820b8fd1588b8 100644 --- a/recipes/mpc/all/conanfile.py +++ b/recipes/mpc/all/conanfile.py @@ -14,16 +14,22 @@ class MpcConan(ConanFile): name = "mpc" - package_type = "library" description = "GNU MPC is a C library for the arithmetic of complex numbers with arbitrarily high precision " \ "and correct rounding of the result" - topics = ("conan", "mpc", "multiprecision", "math", "mathematics") - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://www.multiprecision.org/mpc/home.html" license = "LGPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.multiprecision.org/" + topics = ("multiprecision", "math", "mathematics") settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } def export_sources(self): export_conandata_patches(self) @@ -38,14 +44,17 @@ def configure(self): 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("gmp/6.2.1", transitive_headers=True) - self.requires("mpfr/4.1.0", transitive_headers=True) + self.requires("gmp/6.3.0", transitive_headers=True) + self.requires("mpfr/4.2.0", transitive_headers=True) def validate(self): # FIXME: add msvc support, upstream has a makefile.vc if is_msvc(self): - raise ConanInvalidConfiguration("mpc can be built with msvc, but it's not supported yet in this recipe.") + raise ConanInvalidConfiguration(f"{self.ref} can be built with msvc, but it's not supported yet in this recipe.") @property def _settings_build(self): @@ -57,12 +66,8 @@ def build_requirements(self): if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): env = VirtualBuildEnv(self) diff --git a/recipes/mpc/all/test_package/CMakeLists.txt b/recipes/mpc/all/test_package/CMakeLists.txt index 5167a095daebe..3a407d4714c49 100644 --- a/recipes/mpc/all/test_package/CMakeLists.txt +++ b/recipes/mpc/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) find_package(mpc REQUIRED CONFIG) diff --git a/recipes/mpc/all/test_package/conanfile.py b/recipes/mpc/all/test_package/conanfile.py index da190011b6b6d..45240bc874229 100644 --- a/recipes/mpc/all/test_package/conanfile.py +++ b/recipes/mpc/all/test_package/conanfile.py @@ -5,8 +5,9 @@ class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def layout(self): cmake_layout(self) diff --git a/recipes/mpc/config.yml b/recipes/mpc/config.yml index d07c95e596619..ad477c94d0d7a 100644 --- a/recipes/mpc/config.yml +++ b/recipes/mpc/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.2.0": folder: all "1.1.0": From e8e47a3792f7b174f097fb03eadbea20d4067f0d Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Fri, 8 Sep 2023 20:41:18 +0200 Subject: [PATCH 1547/4087] (#19615) [SoPlex] bump version to 6.0.4 * [soplex] bump version to 6.0.4 * Drop test package for conan v1 * Bump dependency versions * Require zlib only when boost is not used * Revert "Require zlib only when boost is not used" This reverts commit 9cbda13e0cffb2cb9d9068279db4135fe5e59878. * Enable shared mode on Windows * Add package type --- recipes/soplex/all/conandata.yml | 3 +++ recipes/soplex/all/conanfile.py | 15 ++++++++------- .../soplex/all/test_v1_package/CMakeLists.txt | 9 --------- .../soplex/all/test_v1_package/conanfile.py | 18 ------------------ recipes/soplex/config.yml | 2 ++ 5 files changed, 13 insertions(+), 34 deletions(-) delete mode 100644 recipes/soplex/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/soplex/all/test_v1_package/conanfile.py diff --git a/recipes/soplex/all/conandata.yml b/recipes/soplex/all/conandata.yml index eaf5ac83b4427..b034a63a75693 100644 --- a/recipes/soplex/all/conandata.yml +++ b/recipes/soplex/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0.4": + url: "https://github.com/scipopt/soplex/archive/refs/tags/release-604.tar.gz" + sha256: "691f5b593cb85c2586522d5de5a5a7692958d22ff1ddffb4fc395f4696590b6f" "6.0.3": url: "https://github.com/scipopt/soplex/archive/refs/tags/release-603.tar.gz" sha256: "2bdf9adc9ac6ad48f98056679b7b852e626ac4aaaf277e7d4ce17794ed1097be" diff --git a/recipes/soplex/all/conanfile.py b/recipes/soplex/all/conanfile.py index d1ea6917fd3ef..5e4c8355aefd4 100644 --- a/recipes/soplex/all/conanfile.py +++ b/recipes/soplex/all/conanfile.py @@ -19,6 +19,7 @@ class SoPlexConan(ConanFile): homepage = "https://soplex.zib.de" topics = ("simplex", "solver", "linear", "programming") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -62,8 +63,6 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -77,13 +76,14 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("zlib/1.2.13", transitive_headers=True) + # transitive libs as anything using soplex requires gzread, gzwrite, gzclose, gzopen + self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) if self.options.with_gmp: # transitive libs as anything using soplex requires __gmpz_init_set_si # see https://github.com/conan-io/conan-center-index/pull/16017#issuecomment-1495688452 - self.requires("gmp/6.2.1", transitive_headers=True, transitive_libs=True) + self.requires("gmp/6.3.0", transitive_headers=True, transitive_libs=True) if self.options.with_boost: - self.requires("boost/1.81.0", transitive_headers=True) # also update Boost_VERSION_MACRO below! + self.requires("boost/1.83.0", transitive_headers=True) # also update Boost_VERSION_MACRO below! def layout(self): cmake_layout(self, src_folder="src") @@ -92,7 +92,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["GMP"] = self.options.with_gmp tc.variables["BOOST"] = self.options.with_boost - tc.variables["Boost_VERSION_MACRO"] = "108100" + tc.variables["Boost_VERSION_MACRO"] = "108300" if self.options.with_gmp: tc.cache_variables["GMP_INCLUDE_DIRS"] = ";".join(self.dependencies["gmp"].cpp_info.includedirs) tc.cache_variables["GMP_LIBRARIES"] = "gmp::gmp" @@ -113,12 +113,13 @@ def package(self): copy(self, pattern="*.h", src=join(self.source_folder, "src", "soplex"), dst=join(self.package_folder, "include", "soplex")) copy(self, pattern="*.hpp", src=join(self.source_folder, "src", "soplex"), dst=join(self.package_folder, "include", "soplex")) copy(self, pattern="*.h", src=join(self.build_folder, "soplex"), dst=join(self.package_folder, "include", "soplex")) + copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) if self.options.shared: copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.dll", src=join(self.build_folder, "bin"), dst=join(self.package_folder, "bin")) copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) else: copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) fix_apple_shared_install_name(self) def package_info(self): diff --git a/recipes/soplex/all/test_v1_package/CMakeLists.txt b/recipes/soplex/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8bf82de500d9f..0000000000000 --- a/recipes/soplex/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) -set(CMAKE_CXX_STANDARD 14) - -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/soplex/all/test_v1_package/conanfile.py b/recipes/soplex/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/soplex/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/soplex/config.yml b/recipes/soplex/config.yml index bce376a5fec90..73bcf839da618 100644 --- a/recipes/soplex/config.yml +++ b/recipes/soplex/config.yml @@ -1,3 +1,5 @@ versions: + "6.0.4": + folder: all "6.0.3": folder: all From 3ed05fcc0e2d97a58422aa4eddc76d8fd249bd36 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 8 Sep 2023 21:57:49 +0200 Subject: [PATCH 1548/4087] (#19645) fontconfig/meson: bump deps * fontconfig/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * fontconfig/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * fontconfig/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * fontconfig/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/fontconfig/meson/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index f037cbc5601ca..4ae32ba159e75 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -56,9 +56,9 @@ def requirements(self): def build_requirements(self): self.tool_requires("gperf/3.1") - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 7ab44287b4ec4f0f7c7e19e793c50ed12b4e41c7 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 9 Sep 2023 23:35:07 +0900 Subject: [PATCH 1549/4087] (#19680) zpp_bits: add version 4.4.19 --- recipes/zpp_bits/all/conandata.yml | 3 +++ recipes/zpp_bits/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zpp_bits/all/conandata.yml b/recipes/zpp_bits/all/conandata.yml index aa294b864983d..199c85b5f2f5a 100644 --- a/recipes/zpp_bits/all/conandata.yml +++ b/recipes/zpp_bits/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.19": + url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.19.tar.gz" + sha256: "1d8f92e616d61cd54cb2582280cc5a28e4457d8d9cfc331137859f8ef29ff637" "4.4.18": url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.18.tar.gz" sha256: "c81a221a3d857218d990aa39f420f4cb5cdbe906672d22286b871355068bc14b" diff --git a/recipes/zpp_bits/config.yml b/recipes/zpp_bits/config.yml index e6e42fa0160a3..e2021292dbcd6 100644 --- a/recipes/zpp_bits/config.yml +++ b/recipes/zpp_bits/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.19": + folder: all "4.4.18": folder: all "4.4.17": From 8d98dc016574d84efaa0ffd8d78f44f6aa56d8e0 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 04:54:10 +0900 Subject: [PATCH 1550/4087] (#19657) imgui: add version 1.89.9/1.89.9-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 18b830b59f364..58720d3d51f67 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "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" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index d3d7aaa4e4a68..138b61745517a 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.89.9": + folder: all + "1.89.9-docking": + folder: all "1.89.8": folder: all "1.89.8-docking": From d5815e1bd2f7b516550ed6f91b4a081617bf36d6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 07:31:12 +0900 Subject: [PATCH 1551/4087] (#19701) quill: update fmt/10.1.1 --- recipes/quill/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index ef58c5e9a36f9..311710c99f8c5 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -69,7 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.0", transitive_headers=True) + self.requires("fmt/10.1.1", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] From 798d8843a358106bd1e2988cb4cdca17816fa744 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 15:13:51 +0900 Subject: [PATCH 1552/4087] (#19699) soci: update dependencies --- recipes/soci/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index 6b15a39df0e5f..d800bb3ba6042 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -62,15 +62,15 @@ def configure(self): def requirements(self): if self.options.with_sqlite3: - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.43.0") if self.options.with_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.with_mysql: - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.with_postgresql: - self.requires("libpq/14.7") + self.requires("libpq/15.4") if self.options.with_boost: - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") @property def _minimum_compilers_version(self): From e8284b595811b8acd8f827a8831a547a45e9a157 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 16:33:46 +0900 Subject: [PATCH 1553/4087] (#19705) visit_struct: update boost/1.83.0 --- recipes/visit_struct/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/visit_struct/all/conanfile.py b/recipes/visit_struct/all/conanfile.py index b4d861bfec980..7cb8d11207ec2 100644 --- a/recipes/visit_struct/all/conanfile.py +++ b/recipes/visit_struct/all/conanfile.py @@ -34,7 +34,7 @@ def layout(self): def requirements(self): if self.options.with_boost_fusion or self.options.with_boost_hana: - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") def package_id(self): self.info.clear() From 5370d7eb6f353f5e935d421674710ca10091cf97 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 17:32:49 +0900 Subject: [PATCH 1554/4087] (#19707) samurai: add version 0.6.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 d10010d1fa9f9..ea3efb8533667 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.6.0.tar.gz" + sha256: "bab96adac8e1553b79678a22de2248bec67c7c205b5fd35e9e1aaccaca41286e" "0.3.0": url: "https://github.com/hpc-maths/samurai/archive/v0.3.0.tar.gz" sha256: "5e6313d92fa2cd23941192c74014749acfcfbcfd5fdc1601cb3c9f4d151c7f4e" diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml index 0e8084dbaff4b..570ab7165280c 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.0": + folder: all "0.3.0": folder: all "0.2.0": From d77771c2300e9c6a2d6861d7d4efe0b2040381d3 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 17:53:17 +0900 Subject: [PATCH 1555/4087] (#19708) restinio: update fmt/10.1.1 --- recipes/restinio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index 076732d0bd175..f9c52830c3a32 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): def requirements(self): self.requires("http_parser/2.9.4") - self.requires("fmt/10.1.0") + self.requires("fmt/10.1.1") self.requires("expected-lite/0.6.3") self.requires("optional-lite/3.5.0") self.requires("string-view-lite/1.7.0") From d63b1dedb3573e99cd09abe2ff08f0b52366f2eb Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 18:31:19 +0900 Subject: [PATCH 1556/4087] (#19706) usockets: update boost/1.83.0 --- recipes/usockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/usockets/all/conanfile.py b/recipes/usockets/all/conanfile.py index 4f69ddfc963bf..d7b3860e4e166 100644 --- a/recipes/usockets/all/conanfile.py +++ b/recipes/usockets/all/conanfile.py @@ -127,7 +127,7 @@ def requirements(self): elif self.options.eventloop == "gcd": self.requires("libdispatch/5.3.2") elif self.options.eventloop == "boost": - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") def build_requirements(self): if self._settings_build.os == "Windows" and not self._uses_msbuild: From e704a5db80a784d4074655b6b1c669032db2bfd1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 21:16:17 +0900 Subject: [PATCH 1557/4087] (#19710) seadex-genesis: update fmt/10.1.0 --- recipes/seadex-genesis/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/seadex-genesis/all/conanfile.py b/recipes/seadex-genesis/all/conanfile.py index 55649339605a9..2328e60870392 100644 --- a/recipes/seadex-genesis/all/conanfile.py +++ b/recipes/seadex-genesis/all/conanfile.py @@ -50,7 +50,7 @@ def configure(self): def requirements(self): # Exposes headers and symbols: https://github.com/SeadexGmbH/genesis/blob/master/genesis/source/version.cpp - self.requires("fmt/10.0.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.1.0", transitive_headers=True, transitive_libs=True) self.requires("seadex-essentials/2.1.3", transitive_headers=True, transitive_libs=True) def source(self): From d2edf960219b55227508985eea6fa504c805e493 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 22:33:30 +0900 Subject: [PATCH 1558/4087] (#19711) highfive: update dependencies --- recipes/highfive/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index ebce29b0f3b16..acad7b94ba402 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -34,9 +34,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hdf5/1.14.0") + self.requires("hdf5/1.14.1") if self.options.with_boost: - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.with_xtensor: From 98d412baac50854ff57d3bc6a88e3997ee96ad6d Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 23:13:16 +0900 Subject: [PATCH 1559/4087] (#19712) xtensor: update dependencies --- recipes/xtensor/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xtensor/all/conanfile.py b/recipes/xtensor/all/conanfile.py index 9bcb5c8f335ae..91b15e6e0415a 100644 --- a/recipes/xtensor/all/conanfile.py +++ b/recipes/xtensor/all/conanfile.py @@ -57,9 +57,9 @@ def requirements(self): if Version(self.version) < "0.24.0": self.requires("xsimd/7.5.0") else: - self.requires("xsimd/10.0.0") + self.requires("xsimd/11.1.0") if self.options.tbb: - self.requires("onetbb/2021.7.0") + self.requires("onetbb/2021.10.0") def package_id(self): self.info.clear() From 30e8e7b87c96e0f6f273a05d8983a7097ebc5cec Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Sep 2023 23:56:56 +0900 Subject: [PATCH 1560/4087] (#19715) daw_utf_range: update daw_header_libraries/2.96.1 --- recipes/daw_utf_range/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index 77684e08bfd01..23fff04d5723f 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.95.0") + self.requires("daw_header_libraries/2.96.1") def package_id(self): self.info.clear() From bb2269f13533d94660ee444d39f246f1d468b5e3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 10 Sep 2023 19:46:31 +0300 Subject: [PATCH 1561/4087] (#18193) audiofile: add package_type, add v1.1.1 * audiofile: add package_type * audiofile: add missing include in test_package * audiofile: add v1.1.1 * audiofile: add a check for GCC * audiofile: set correct C++ standard for v1.1.1 * audiofile: add proper compiler versions check --- recipes/audiofile/all/conandata.yml | 3 ++ recipes/audiofile/all/conanfile.py | 47 +++++++++++++++---- .../audiofile/all/test_package/CMakeLists.txt | 7 ++- .../all/test_package/test_package.cpp | 3 ++ .../all/test_v1_package/CMakeLists.txt | 11 ++--- recipes/audiofile/config.yml | 2 + 6 files changed, 55 insertions(+), 18 deletions(-) diff --git a/recipes/audiofile/all/conandata.yml b/recipes/audiofile/all/conandata.yml index 042cc12d06dd1..288d8a5ec4d8c 100644 --- a/recipes/audiofile/all/conandata.yml +++ b/recipes/audiofile/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.1": + url: "https://github.com/adamstark/AudioFile/archive/1.1.1.tar.gz" + sha256: "664f9d5fbbf1ff6c603ae054a35224f12e9856a1d8680be567909015ccaac328" "1.1.0": url: "https://github.com/adamstark/AudioFile/archive/1.1.0.tar.gz" sha256: "7546e39ca17ac09c653f46bfecce4a9936fae3784209ad53094915c78792a327" diff --git a/recipes/audiofile/all/conanfile.py b/recipes/audiofile/all/conanfile.py index 0d083108cea08..c9bd8f69c8aa3 100644 --- a/recipes/audiofile/all/conanfile.py +++ b/recipes/audiofile/all/conanfile.py @@ -1,4 +1,5 @@ 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 @@ -11,34 +12,60 @@ class AudiofileConan(ConanFile): name = "audiofile" description = "A simple C++11 library for reading and writing audio files." - topics = ("audiofile", "audio", "file-format", "wav", "aif") license = "MIT" - homepage = "https://github.com/adamstark/AudioFile" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/adamstark/AudioFile" + topics = ("audio", "file-format", "wav", "aif", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + # v1.1.1 uses is_signed_v + return 11 if Version(self.version) < "1.1.1" else 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "7", + "clang": "6", + "apple-clang": "10", + } + def configure(self): if Version(self.version) < "1.1.0": self.license = "GPL-3.0-or-later" + 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) - - def layout(self): - basic_layout(self, src_folder="src") + check_min_cppstd(self, self._min_cppstd) + if self._min_cppstd > 11: + 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 package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - copy(self, "AudioFile.h", src=self.source_folder, dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "AudioFile.h", + dst=os.path.join(self.package_folder, "include"), + src=self.source_folder) def package_info(self): self.cpp_info.bindirs = [] diff --git a/recipes/audiofile/all/test_package/CMakeLists.txt b/recipes/audiofile/all/test_package/CMakeLists.txt index 6f7178f4a8927..fab8ac8a0b20c 100644 --- a/recipes/audiofile/all/test_package/CMakeLists.txt +++ b/recipes/audiofile/all/test_package/CMakeLists.txt @@ -5,4 +5,9 @@ find_package(audiofile REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE audiofile::audiofile) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if (audiofile_VERSION VERSION_GREATER_EQUAL "1.1.1") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/audiofile/all/test_package/test_package.cpp b/recipes/audiofile/all/test_package/test_package.cpp index 6943fcec35d57..d95bc64031cda 100644 --- a/recipes/audiofile/all/test_package/test_package.cpp +++ b/recipes/audiofile/all/test_package/test_package.cpp @@ -1,3 +1,6 @@ +// workaround for a missing include in v1.0.9 and earlier +#include + #include #include diff --git a/recipes/audiofile/all/test_v1_package/CMakeLists.txt b/recipes/audiofile/all/test_v1_package/CMakeLists.txt index 60fb00c9f3f14..91630d79f4abb 100644 --- a/recipes/audiofile/all/test_v1_package/CMakeLists.txt +++ b/recipes/audiofile/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(audiofile REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE audiofile::audiofile) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/audiofile/config.yml b/recipes/audiofile/config.yml index 5fc24e2e9c188..1b65530cbacc9 100644 --- a/recipes/audiofile/config.yml +++ b/recipes/audiofile/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.1": + folder: all "1.1.0": folder: all "1.0.9": From e12cac43e306ffa21e26a3f6cf6114a1759ca721 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 10 Sep 2023 20:28:43 +0300 Subject: [PATCH 1562/4087] (#18942) libnetfilter_queue: migrate to Conan v2 * libnetfilter_queue: migrate to Conan v2 * libnetfilter_queue: bump deps * libnetfilter_queue: add missing PkgConfigDeps, transitive_headers * libnetfilter_queue: add tool_requires("pkgconf/1.9.5") * libnetfilter_queue: add transitive_libs for libmnl Should not be necessary, but the CI failure does not make much sense either. * Update recipes/libnetfilter_queue/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libnetfilter_queue/all/conanfile.py | 106 +++---- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 22 +- .../all/test_package/example.c | 258 +++++++++--------- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ 6 files changed, 232 insertions(+), 189 deletions(-) create mode 100644 recipes/libnetfilter_queue/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libnetfilter_queue/all/test_v1_package/conanfile.py diff --git a/recipes/libnetfilter_queue/all/conanfile.py b/recipes/libnetfilter_queue/all/conanfile.py index 56576ded262ce..73bddfa9c2d3a 100644 --- a/recipes/libnetfilter_queue/all/conanfile.py +++ b/recipes/libnetfilter_queue/all/conanfile.py @@ -1,69 +1,83 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.29.1" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + class Libnetfilter_queueConan(ConanFile): name = "libnetfilter_queue" + description = ("userspace library that provides an API to packets" + " that have been queued by the kernel packet filter") license = "GPL-2.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://netfilter.org/projects/libnetfilter_queue/index.html" - description = "userspace library that provides an API to packets that have been queued by the kernel packet filter" - topics = ("libnetfilter_queue", "netfilter") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generators = "pkg_config" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + topics = "netfilter" - def requirements(self): - self.requires("libmnl/1.0.4") - self.requires("libnfnetlink/1.0.1") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - 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 config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC - def configure(self): + def validate(self): if self.settings.os != "Linux": - raise ConanInvalidConfiguration("libnetfilter_queue is only supported on Linux") - if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - conf_args = [] + raise ConanInvalidConfiguration(f"{self.ref} is only supported on Linux.") + + def configure(self): if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(configure_dir=self._source_subfolder, args=conf_args) - return self._autotools + 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("libmnl/1.0.4", transitive_headers=True, transitive_libs=True) + self.requires("libnfnetlink/1.0.2", transitive_headers=True) + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.5") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("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.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", self.package_folder, recursive=True) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.libs = ["netfilter_queue"] - self.cpp_info.names["pkg_config"] = "libnetfilter_queue" + self.cpp_info.set_property("pkg_config_name", "libnetfilter_queue") diff --git a/recipes/libnetfilter_queue/all/test_package/CMakeLists.txt b/recipes/libnetfilter_queue/all/test_package/CMakeLists.txt index 4dbc40cd2c4d9..58e2406eaac64 100644 --- a/recipes/libnetfilter_queue/all/test_package/CMakeLists.txt +++ b/recipes/libnetfilter_queue/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.10) -project(PackageTest) +cmake_minimum_required(VERSION 3.15) +project(PackageTest LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libnetfilter_queue REQUIRED CONFIG) add_executable(example example.c) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example libnetfilter_queue::libnetfilter_queue) diff --git a/recipes/libnetfilter_queue/all/test_package/conanfile.py b/recipes/libnetfilter_queue/all/test_package/conanfile.py index 1097433829a7c..cf3b9d75009a7 100644 --- a/recipes/libnetfilter_queue/all/test_package/conanfile.py +++ b/recipes/libnetfilter_queue/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 Libnetfilter_queueTestConan(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", "example") - self.run("{} {}".format(bin_path, 0), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(f"{bin_path} 0", env="conanrun") diff --git a/recipes/libnetfilter_queue/all/test_package/example.c b/recipes/libnetfilter_queue/all/test_package/example.c index f229443f228aa..6260070d87080 100644 --- a/recipes/libnetfilter_queue/all/test_package/example.c +++ b/recipes/libnetfilter_queue/all/test_package/example.c @@ -1,17 +1,17 @@ +#include #include #include #include -#include #include #include -#include +#include #include #include #include -#include #include +#include #include @@ -20,153 +20,149 @@ static struct mnl_socket *nl; -static void -nfq_send_verdict(int queue_num, uint32_t id) -{ - char buf[MNL_SOCKET_BUFFER_SIZE]; - struct nlmsghdr *nlh; - struct nlattr *nest; +static void nfq_send_verdict(int queue_num, uint32_t id) { + char buf[MNL_SOCKET_BUFFER_SIZE]; + struct nlmsghdr *nlh; + struct nlattr *nest; - nlh = nfq_nlmsg_put(buf, NFQNL_MSG_VERDICT, queue_num); - nfq_nlmsg_verdict_put(nlh, id, NF_ACCEPT); + nlh = nfq_nlmsg_put(buf, NFQNL_MSG_VERDICT, queue_num); + nfq_nlmsg_verdict_put(nlh, id, NF_ACCEPT); - /* example to set the connmark. First, start NFQA_CT section: */ - nest = mnl_attr_nest_start(nlh, NFQA_CT); + /* example to set the connmark. First, start NFQA_CT section: */ + nest = mnl_attr_nest_start(nlh, NFQA_CT); - /* then, add the connmark attribute: */ - mnl_attr_put_u32(nlh, CTA_MARK, htonl(42)); - /* more conntrack attributes, e.g. CTA_LABELS could be set here */ + /* then, add the connmark attribute: */ + mnl_attr_put_u32(nlh, CTA_MARK, htonl(42)); + /* more conntrack attributes, e.g. CTA_LABELS could be set here */ - /* end conntrack section */ - mnl_attr_nest_end(nlh, nest); + /* end conntrack section */ + mnl_attr_nest_end(nlh, nest); - if (mnl_socket_sendto(nl, nlh, nlh->nlmsg_len) < 0) { - perror("mnl_socket_send"); - exit(EXIT_FAILURE); - } + if (mnl_socket_sendto(nl, nlh, nlh->nlmsg_len) < 0) { + perror("mnl_socket_send"); + exit(EXIT_FAILURE); + } } -static int queue_cb(const struct nlmsghdr *nlh, void *data) -{ - struct nfqnl_msg_packet_hdr *ph = NULL; - struct nlattr *attr[NFQA_MAX+1] = {}; - uint32_t id = 0, skbinfo; - struct nfgenmsg *nfg; - uint16_t plen; +static int queue_cb(const struct nlmsghdr *nlh, void *data) { + struct nfqnl_msg_packet_hdr *ph = NULL; + struct nlattr *attr[NFQA_MAX + 1] = {}; + uint32_t id = 0, skbinfo; + struct nfgenmsg *nfg; + uint16_t plen; - if (nfq_nlmsg_parse(nlh, attr) < 0) { - perror("problems parsing"); - return MNL_CB_ERROR; - } + if (nfq_nlmsg_parse(nlh, attr) < 0) { + perror("problems parsing"); + return MNL_CB_ERROR; + } - nfg = mnl_nlmsg_get_payload(nlh); + nfg = mnl_nlmsg_get_payload(nlh); - if (attr[NFQA_PACKET_HDR] == NULL) { - fputs("metaheader not set\n", stderr); - return MNL_CB_ERROR; - } + if (attr[NFQA_PACKET_HDR] == NULL) { + fputs("metaheader not set\n", stderr); + return MNL_CB_ERROR; + } - ph = mnl_attr_get_payload(attr[NFQA_PACKET_HDR]); + ph = mnl_attr_get_payload(attr[NFQA_PACKET_HDR]); - plen = mnl_attr_get_payload_len(attr[NFQA_PAYLOAD]); - /* void *payload = mnl_attr_get_payload(attr[NFQA_PAYLOAD]); */ + plen = mnl_attr_get_payload_len(attr[NFQA_PAYLOAD]); + /* void *payload = mnl_attr_get_payload(attr[NFQA_PAYLOAD]); */ - skbinfo = attr[NFQA_SKB_INFO] ? ntohl(mnl_attr_get_u32(attr[NFQA_SKB_INFO])) : 0; + skbinfo = attr[NFQA_SKB_INFO] ? ntohl(mnl_attr_get_u32(attr[NFQA_SKB_INFO])) : 0; - if (attr[NFQA_CAP_LEN]) { - uint32_t orig_len = ntohl(mnl_attr_get_u32(attr[NFQA_CAP_LEN])); - if (orig_len != plen) - printf("truncated "); - } + if (attr[NFQA_CAP_LEN]) { + uint32_t orig_len = ntohl(mnl_attr_get_u32(attr[NFQA_CAP_LEN])); + if (orig_len != plen) + printf("truncated "); + } - if (skbinfo & NFQA_SKB_GSO) - printf("GSO "); + if (skbinfo & NFQA_SKB_GSO) + printf("GSO "); - id = ntohl(ph->packet_id); - printf("packet received (id=%u hw=0x%04x hook=%u, payload len %u", - id, ntohs(ph->hw_protocol), ph->hook, plen); + id = ntohl(ph->packet_id); + printf("packet received (id=%u hw=0x%04x hook=%u, payload len %u", id, ntohs(ph->hw_protocol), + ph->hook, plen); - /* - * ip/tcp checksums are not yet valid, e.g. due to GRO/GSO. - * The application should behave as if the checksums are correct. - * - * If these packets are later forwarded/sent out, the checksums will - * be corrected by kernel/hardware. - */ - if (skbinfo & NFQA_SKB_CSUMNOTREADY) - printf(", checksum not ready"); - puts(")"); + /* + * ip/tcp checksums are not yet valid, e.g. due to GRO/GSO. + * The application should behave as if the checksums are correct. + * + * If these packets are later forwarded/sent out, the checksums will + * be corrected by kernel/hardware. + */ + if (skbinfo & NFQA_SKB_CSUMNOTREADY) + printf(", checksum not ready"); + puts(")"); - nfq_send_verdict(ntohs(nfg->res_id), id); + nfq_send_verdict(ntohs(nfg->res_id), id); - return MNL_CB_OK; + return MNL_CB_OK; } -int main(int argc, char *argv[]) -{ - char *buf; - /* largest possible packet payload, plus netlink data overhead: */ - size_t sizeof_buf = 0xffff + (MNL_SOCKET_BUFFER_SIZE/2); - struct nlmsghdr *nlh; - int ret; - unsigned int portid, queue_num; - - if (argc != 2) { - printf("Usage: %s [queue_num]\n", argv[0]); - exit(EXIT_FAILURE); - } - queue_num = atoi(argv[1]); - - nl = mnl_socket_open(NETLINK_NETFILTER); - if (nl == NULL) { - perror("mnl_socket_open"); - exit(EXIT_FAILURE); - } - - if (mnl_socket_bind(nl, 0, MNL_SOCKET_AUTOPID) < 0) { - perror("mnl_socket_bind"); - exit(EXIT_FAILURE); - } - portid = mnl_socket_get_portid(nl); - - buf = malloc(sizeof_buf); - if (!buf) { - perror("allocate receive buffer"); - exit(EXIT_FAILURE); - } - - nlh = nfq_nlmsg_put(buf, NFQNL_MSG_CONFIG, queue_num); - nfq_nlmsg_cfg_put_cmd(nlh, AF_INET, NFQNL_CFG_CMD_BIND); - - if (mnl_socket_sendto(nl, nlh, nlh->nlmsg_len) < 0) { - perror("mnl_socket_send"); - exit(EXIT_FAILURE); - } - - nlh = nfq_nlmsg_put(buf, NFQNL_MSG_CONFIG, queue_num); - nfq_nlmsg_cfg_put_params(nlh, NFQNL_COPY_PACKET, 0xffff); - - mnl_attr_put_u32(nlh, NFQA_CFG_FLAGS, htonl(NFQA_CFG_F_GSO)); - mnl_attr_put_u32(nlh, NFQA_CFG_MASK, htonl(NFQA_CFG_F_GSO)); - - if (mnl_socket_sendto(nl, nlh, nlh->nlmsg_len) < 0) { - perror("mnl_socket_send"); - exit(EXIT_FAILURE); - } - - /* ENOBUFS is signalled to userspace when packets were lost - * on kernel side. In most cases, userspace isn't interested - * in this information, so turn it off. - */ - ret = 1; - mnl_socket_setsockopt(nl, NETLINK_NO_ENOBUFS, &ret, sizeof(int)); - ret = mnl_socket_recvfrom(nl, buf, sizeof_buf); - if (ret == -1) { - perror("mnl_socket_recvfrom"); - exit(EXIT_FAILURE); - } - - mnl_socket_close(nl); - - return 0; +int main(int argc, char *argv[]) { + char *buf; + /* largest possible packet payload, plus netlink data overhead: */ + size_t sizeof_buf = 0xffff + (MNL_SOCKET_BUFFER_SIZE / 2); + struct nlmsghdr *nlh; + int ret; + unsigned int portid, queue_num; + + if (argc != 2) { + printf("Usage: %s [queue_num]\n", argv[0]); + exit(EXIT_FAILURE); + } + queue_num = atoi(argv[1]); + + nl = mnl_socket_open(NETLINK_NETFILTER); + if (nl == NULL) { + perror("mnl_socket_open"); + exit(EXIT_FAILURE); + } + + if (mnl_socket_bind(nl, 0, MNL_SOCKET_AUTOPID) < 0) { + perror("mnl_socket_bind"); + exit(EXIT_FAILURE); + } + portid = mnl_socket_get_portid(nl); + + buf = malloc(sizeof_buf); + if (!buf) { + perror("allocate receive buffer"); + exit(EXIT_FAILURE); + } + + nlh = nfq_nlmsg_put(buf, NFQNL_MSG_CONFIG, queue_num); + nfq_nlmsg_cfg_put_cmd(nlh, AF_INET, NFQNL_CFG_CMD_BIND); + + if (mnl_socket_sendto(nl, nlh, nlh->nlmsg_len) < 0) { + perror("mnl_socket_send"); + exit(EXIT_FAILURE); + } + + nlh = nfq_nlmsg_put(buf, NFQNL_MSG_CONFIG, queue_num); + nfq_nlmsg_cfg_put_params(nlh, NFQNL_COPY_PACKET, 0xffff); + + mnl_attr_put_u32(nlh, NFQA_CFG_FLAGS, htonl(NFQA_CFG_F_GSO)); + mnl_attr_put_u32(nlh, NFQA_CFG_MASK, htonl(NFQA_CFG_F_GSO)); + + if (mnl_socket_sendto(nl, nlh, nlh->nlmsg_len) < 0) { + perror("mnl_socket_send"); + exit(EXIT_FAILURE); + } + + /* ENOBUFS is signalled to userspace when packets were lost + * on kernel side. In most cases, userspace isn't interested + * in this information, so turn it off. + */ + ret = 1; + mnl_socket_setsockopt(nl, NETLINK_NO_ENOBUFS, &ret, sizeof(int)); + ret = mnl_socket_recvfrom(nl, buf, sizeof_buf); + if (ret == -1) { + perror("mnl_socket_recvfrom"); + exit(EXIT_FAILURE); + } + + mnl_socket_close(nl); + + return 0; } diff --git a/recipes/libnetfilter_queue/all/test_v1_package/CMakeLists.txt b/recipes/libnetfilter_queue/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libnetfilter_queue/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/libnetfilter_queue/all/test_v1_package/conanfile.py b/recipes/libnetfilter_queue/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..528904ad9f959 --- /dev/null +++ b/recipes/libnetfilter_queue/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class Libnetfilter_queueTestConan(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("{} {}".format(bin_path, 0), run_environment=True) From 5f690e214ae4b3a431a28b5f16979cda96f3b61b Mon Sep 17 00:00:00 2001 From: qwqbot Date: Mon, 11 Sep 2023 02:11:22 +0800 Subject: [PATCH 1563/4087] (#19028) add evmc * add evmc * Fix current build in CCI Signed-off-by: Uilian Ries * fix cmake tool_requires --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/evmc/all/conandata.yml | 4 + recipes/evmc/all/conanfile.py | 81 +++++++++++++++++++ recipes/evmc/all/test_package/CMakeLists.txt | 8 ++ recipes/evmc/all/test_package/conanfile.py | 26 ++++++ .../evmc/all/test_package/test_package.cpp | 19 +++++ recipes/evmc/config.yml | 3 + 6 files changed, 141 insertions(+) create mode 100644 recipes/evmc/all/conandata.yml create mode 100644 recipes/evmc/all/conanfile.py create mode 100644 recipes/evmc/all/test_package/CMakeLists.txt create mode 100644 recipes/evmc/all/test_package/conanfile.py create mode 100644 recipes/evmc/all/test_package/test_package.cpp create mode 100644 recipes/evmc/config.yml diff --git a/recipes/evmc/all/conandata.yml b/recipes/evmc/all/conandata.yml new file mode 100644 index 0000000000000..6c98b724e418c --- /dev/null +++ b/recipes/evmc/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "10.1.1": + url: "https://github.com/ethereum/evmc/archive/v10.1.1.tar.gz" + sha256: "314a18635b2727a5129a7da3e4e15bd2fd76ee0c5ae19f21391b7a94e79cf459" diff --git a/recipes/evmc/all/conanfile.py b/recipes/evmc/all/conanfile.py new file mode 100644 index 0000000000000..13c6e5da4cc78 --- /dev/null +++ b/recipes/evmc/all/conanfile.py @@ -0,0 +1,81 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import get, copy, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.54.0" + + +class EVMCConan(ConanFile): + name = "evmc" + description = "EVMC – Ethereum Client-VM Connector API" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ethereum/evmc" + topics = ("ethereum", "wasm", "evm") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + tool_requires = "cmake/[>=3.16.2 <4]" + options = {"fPIC": [True, False]} + default_options = {"fPIC": True} + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "9", + "apple-clang": "10", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["EVMC_INSTALL"] = True + tc.variables["EVMC_TESTING"] = False + tc.variables["EVMC_JAVA"] = False + tc.variables["EVMC_TESTING"] = False + tc.variables["EVMC_EXAMPLES"] = False + tc.variables["EVMC_TOOLS"] = False + tc.variables["HUNTER_ENABLED"] = False + tc.generate() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + 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 = ["evmc-instructions", "evmc-loader", "tooling"] diff --git a/recipes/evmc/all/test_package/CMakeLists.txt b/recipes/evmc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d3cab735f84a2 --- /dev/null +++ b/recipes/evmc/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(evmc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE evmc::evmc) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/evmc/all/test_package/conanfile.py b/recipes/evmc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/evmc/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/evmc/all/test_package/test_package.cpp b/recipes/evmc/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..2810a6cfce945 --- /dev/null +++ b/recipes/evmc/all/test_package/test_package.cpp @@ -0,0 +1,19 @@ +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main() { + const auto table = evmc_get_instruction_names_table(EVMC_BYZANTIUM); + std::cout << "HEX 0x80: " << evmc::hex(0x80) << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/evmc/config.yml b/recipes/evmc/config.yml new file mode 100644 index 0000000000000..a29f6d72c69f6 --- /dev/null +++ b/recipes/evmc/config.yml @@ -0,0 +1,3 @@ +versions: + "10.1.1": + folder: all From 433e3972c4ab4256c0ea150a4727b34fb3aa9445 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 03:49:33 +0900 Subject: [PATCH 1564/4087] (#19447) libzippp: add version 6.1-1.9.2 * libzippp: add version 6.1-1.9.2 * fix patch version check * add build_require for 6.1 * always require cmake * improve version check for applying patch --- recipes/libzippp/all/conandata.yml | 3 +++ recipes/libzippp/all/conanfile.py | 11 ++++++++--- recipes/libzippp/config.yml | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/recipes/libzippp/all/conandata.yml b/recipes/libzippp/all/conandata.yml index f31401deb346d..90151532c90b5 100644 --- a/recipes/libzippp/all/conandata.yml +++ b/recipes/libzippp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1-1.9.2": + url: "https://github.com/ctabin/libzippp/archive/libzippp-v6.1-1.9.2.tar.gz" + sha256: "3796f174780f23938749da493cf4cbc4c55f84a568ec395f2c256dfe10129305" "6.0-1.9.2": url: "https://github.com/ctabin/libzippp/archive/libzippp-v6.0-1.9.2.tar.gz" sha256: "f9aef9811802a18e69cd50527381d70c2e0f0d8a839f1d41914f6234f5964fc3" diff --git a/recipes/libzippp/all/conanfile.py b/recipes/libzippp/all/conanfile.py index e0c0670ea25f1..9699cb890e5fc 100644 --- a/recipes/libzippp/all/conanfile.py +++ b/recipes/libzippp/all/conanfile.py @@ -64,6 +64,9 @@ def validate(self): if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libc++. Use libstdc++ instead.") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -74,15 +77,17 @@ def generate(self): tc.variables["LIBZIPPP_INSTALL_HEADERS"] = True tc.variables["LIBZIPPP_BUILD_TESTS"] = False tc.variables["LIBZIPPP_ENABLE_ENCRYPTION"] = self.options.with_encryption + tc.variables["LIBZIPPP_CMAKE_CONFIG_MODE"] = True tc.generate() deps = CMakeDeps(self) deps.generate() def _patch_source(self): - replace_in_file(self, os.path.join(self.source_folder, 'CMakeLists.txt'), - 'find_package(LIBZIP MODULE REQUIRED)', - 'find_package(libzip REQUIRED CONFIG)') + if Version(self.version) <= "6.0": + replace_in_file(self, os.path.join(self.source_folder, 'CMakeLists.txt'), + 'find_package(LIBZIP MODULE REQUIRED)', + 'find_package(libzip REQUIRED CONFIG)') def build(self): self._patch_source() diff --git a/recipes/libzippp/config.yml b/recipes/libzippp/config.yml index 4ba054a3032a9..f715620c8ae87 100644 --- a/recipes/libzippp/config.yml +++ b/recipes/libzippp/config.yml @@ -1,4 +1,6 @@ versions: + "6.1-1.9.2": + folder: all "6.0-1.9.2": folder: all "5.0-1.8.0": From 1af2c17b53a2f7b27d720f7ec6ce32133482fac3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 04:30:35 +0900 Subject: [PATCH 1565/4087] (#19656) ada: add version 2.6.7, remove older versions --- recipes/ada/all/conandata.yml | 21 +++------------------ recipes/ada/all/conanfile.py | 8 ++------ recipes/ada/config.yml | 14 ++------------ 3 files changed, 7 insertions(+), 36 deletions(-) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 1ffb1049ac57f..0d566dbc80ea8 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -17,21 +20,3 @@ sources: "2.4.2": url: "https://github.com/ada-url/ada/archive/v2.4.2.tar.gz" sha256: "d865ab8828c14fc1e2217ca9f5d7918d50775175b2873faf2fbda0085e0623d2" - "2.4.1": - url: "https://github.com/ada-url/ada/archive/refs/tags/v2.4.1.tar.gz" - sha256: "e9359937e7aeb8e5889515c0a9e22cd5da50e9b053038eb092135a0e64888fe7" - "2.4.0": - url: "https://github.com/ada-url/ada/archive/refs/tags/v2.4.0.tar.gz" - sha256: "14624f1dfd966fee85272688064714172ff70e6e304a1e1850f352a07e4c6dc7" - "2.3.1": - url: "https://github.com/ada-url/ada/archive/refs/tags/v2.3.1.tar.gz" - sha256: "298992ec0958979090566c7835ea60c14f5330d6372ee092ef6eee1d2e6ac079" - "2.3.0": - url: "https://github.com/ada-url/ada/archive/refs/tags/v2.3.0.tar.gz" - sha256: "932a93f6a745775343ebdbaafca295e07b9513f6aaeb738f9e85dcb397925e33" - "2.2.0": - url: "https://github.com/ada-url/ada/archive/refs/tags/v2.2.0.tar.gz" - sha256: "40a6b3fe0d5c62936c081e8403790ec05d5afe3d0909eece894efcfef7e678ee" - "2.0.0": - url: "https://github.com/ada-url/ada/archive/refs/tags/v2.0.0.tar.gz" - sha256: "a18272e1c5d6580f62a333df88149e3810ffedcb61b3fb06c480a5b52e458b5e" diff --git a/recipes/ada/all/conanfile.py b/recipes/ada/all/conanfile.py index 76d787b5a14b7..4954905b8f7de 100644 --- a/recipes/ada/all/conanfile.py +++ b/recipes/ada/all/conanfile.py @@ -45,9 +45,6 @@ def config_options(self): del self.options.fPIC def configure(self): - if Version(self.version) <= "2.0.0": - self.options.rm_safe("shared") - self.package_type = "static-library" if self.options.get_safe("shared"): self.options.rm_safe("fPIC") @@ -55,7 +52,7 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.settings.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: @@ -77,8 +74,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False - if Version(self.version) >= "2.4.2": - tc.variables["ADA_TOOLS"] = False + tc.variables["ADA_TOOLS"] = False tc.generate() deps = CMakeDeps(self) diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 4b6a02c6d6d42..2c76fe7baba05 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.7": + folder: all "2.6.4": folder: all "2.6.2": @@ -11,15 +13,3 @@ versions: folder: all "2.4.2": folder: all - "2.4.1": - folder: all - "2.4.0": - folder: all - "2.3.1": - folder: all - "2.3.0": - folder: all - "2.2.0": - folder: all - "2.0.0": - folder: all From 9d1f315e0aeeed69257b0afb40150bd6aa4f4997 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 10 Sep 2023 22:31:30 +0200 Subject: [PATCH 1566/4087] (#19719) xz_utils: add v5.4.4 --- recipes/xz_utils/all/conandata.yml | 3 +++ recipes/xz_utils/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xz_utils/all/conandata.yml b/recipes/xz_utils/all/conandata.yml index da0e232cb7e1a..458ec76199721 100644 --- a/recipes/xz_utils/all/conandata.yml +++ b/recipes/xz_utils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.4": + url: "https://tukaani.org/xz/xz-5.4.4.tar.gz" + sha256: "aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8" "5.4.2": url: "https://tukaani.org/xz/xz-5.4.2.tar.gz" sha256: "87947679abcf77cc509d8d1b474218fd16b72281e2797360e909deaee1ac9d05" diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index 326a90e52c837..88aa46f065b92 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.4": + folder: all "5.4.2": folder: all "5.4.0": From 1eabd5381d40da1063d547fa7beb86c1f7eae220 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshev Date: Mon, 11 Sep 2023 00:10:19 +0300 Subject: [PATCH 1567/4087] (#19723) libavif: bump deps --- recipes/libavif/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libavif/all/conanfile.py b/recipes/libavif/all/conanfile.py index dc46d0267dd99..247dc536d3759 100644 --- a/recipes/libavif/all/conanfile.py +++ b/recipes/libavif/all/conanfile.py @@ -47,10 +47,10 @@ def _has_dav1d(self): return self.options.with_decoder == "dav1d" def requirements(self): - self.requires("libaom-av1/3.5.0") + self.requires("libaom-av1/3.6.1") self.requires("libyuv/1854") if self._has_dav1d: - self.requires("dav1d/1.0.0") + self.requires("dav1d/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], From 60c425654521662c515163e591cbf0410827a355 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 11:32:32 +0900 Subject: [PATCH 1568/4087] (#19720) samurai: update dependencies --- recipes/samurai/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/samurai/all/conanfile.py b/recipes/samurai/all/conanfile.py index 3c3caf72355d3..8e629d1289dfb 100644 --- a/recipes/samurai/all/conanfile.py +++ b/recipes/samurai/all/conanfile.py @@ -40,10 +40,10 @@ def layout(self): def requirements(self): self.requires("cli11/2.3.2") - self.requires("fmt/9.1.0") + self.requires("fmt/10.1.1") self.requires("highfive/2.7.1") self.requires("pugixml/1.13") - self.requires("xsimd/10.0.0") + self.requires("xsimd/11.1.0") self.requires("xtensor/0.24.3") def package_id(self): From a941b237a6444e5ce706edb01fff1955ebb212a3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 13:06:18 +0900 Subject: [PATCH 1569/4087] (#18580) functions-framework-cpp: add version 1.2.0, support conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * functions-framework-cpp: add version 1.2.0, support conan v2 * Update recipes/functions-framework-cpp/all/conanfile.py * add patches for compilation errors * remove unused function * update boost/1.83.0 --------- Co-authored-by: Rubén Rincón Blanco --- .../all/CMakeLists.txt | 7 -- .../functions-framework-cpp/all/conandata.yml | 18 ++- .../functions-framework-cpp/all/conanfile.py | 108 ++++++++---------- ...ch => 1.0.0-0001-dont-skip-namelink.patch} | 0 .../1.0.0-0002-find-nlohmann_json.patch | 22 ++++ .../1.2.0-0001-dont-skip-namelink.patch | 12 ++ .../1.2.0-0002-find-nlohmann_json.patch | 22 ++++ .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 19 ++- recipes/functions-framework-cpp/config.yml | 2 + 10 files changed, 140 insertions(+), 77 deletions(-) delete mode 100644 recipes/functions-framework-cpp/all/CMakeLists.txt rename recipes/functions-framework-cpp/all/patches/{0001-dont-skip-namelink.patch => 1.0.0-0001-dont-skip-namelink.patch} (100%) create mode 100644 recipes/functions-framework-cpp/all/patches/1.0.0-0002-find-nlohmann_json.patch create mode 100644 recipes/functions-framework-cpp/all/patches/1.2.0-0001-dont-skip-namelink.patch create mode 100644 recipes/functions-framework-cpp/all/patches/1.2.0-0002-find-nlohmann_json.patch diff --git a/recipes/functions-framework-cpp/all/CMakeLists.txt b/recipes/functions-framework-cpp/all/CMakeLists.txt deleted file mode 100644 index c921d02a0d877..0000000000000 --- a/recipes/functions-framework-cpp/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/functions-framework-cpp/all/conandata.yml b/recipes/functions-framework-cpp/all/conandata.yml index c01327cda0d09..0f463b674b8cc 100644 --- a/recipes/functions-framework-cpp/all/conandata.yml +++ b/recipes/functions-framework-cpp/all/conandata.yml @@ -1,8 +1,22 @@ sources: + "1.2.0": + url: "https://github.com/GoogleCloudPlatform/functions-framework-cpp/archive/refs/tags/v1.2.0.tar.gz" + sha256: "729e24ef58a03b563e48d8006d63972b16a22bcf93bf2b49f40c3b219032b64b" "1.0.0": url: "https://github.com/GoogleCloudPlatform/functions-framework-cpp/archive/refs/tags/v1.0.0.tar.gz" sha256: "005f2fbe3b8be9f6f0bf7a4a5d218a23b0f62d854a5e84c56872dd3a4d2820f7" patches: + "1.2.0": + - patch_file: "patches/1.2.0-0001-dont-skip-namelink.patch" + patch_description: "disable NAMELINK_SKIP" + patch_type: "portability" + - patch_file: "patches/1.2.0-0002-find-nlohmann_json.patch" + patch_description: "use cci's nlohmann_json" + patch_type: "conan" "1.0.0": - - patch_file: "patches/0001-dont-skip-namelink.patch" - base_path: "source_subfolder" + - patch_file: "patches/1.0.0-0001-dont-skip-namelink.patch" + patch_description: "disable NAMELINK_SKIP" + patch_type: "portability" + - patch_file: "patches/1.0.0-0002-find-nlohmann_json.patch" + patch_description: "use cci's nlohmann_json" + patch_type: "conan" diff --git a/recipes/functions-framework-cpp/all/conanfile.py b/recipes/functions-framework-cpp/all/conanfile.py index 96389274771c4..859f3f1596a4e 100644 --- a/recipes/functions-framework-cpp/all/conanfile.py +++ b/recipes/functions-framework-cpp/all/conanfile.py @@ -1,19 +1,22 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +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.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os -required_conan_version = ">=1.43.0" - +required_conan_version = ">=1.53.0" class FunctionsFrameworkCppConan(ConanFile): name = "functions-framework-cpp" description = "An open source FaaS (Functions as a Service) framework" license = "Apache-2.0" - topics = ("google", "cloud", "functions-as-a-service", "faas-framework") - homepage = "https://github.com/GoogleCloudPlatform/functions-framework-cpp" url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://github.com/GoogleCloudPlatform/functions-framework-cpp" + topics = ("google", "cloud", "functions-as-a-service", "faas-framework") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,23 +25,24 @@ class FunctionsFrameworkCppConan(ConanFile): "shared": False, "fPIC": True, } - - generators = "cmake", "cmake_find_package_multi", "cmake_find_package" short_paths = True - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] + def _compilers_minimum_version(self): + return { + "gcc": "9", + "Visual Studio": "15.7", + "msvc": "190", + "clang": "7", + "apple-clang": "11", + } 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": @@ -46,21 +50,15 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def requirements(self): - self.requires("abseil/20211102.0") - self.requires("boost/1.78.0") - self.requires("nlohmann_json/3.10.5") + def layout(self): + cmake_layout(self, src_folder="src") - @property - def _compilers_minimum_version(self): - return { - "gcc": "9", - "Visual Studio": "15.7", - "clang": "7", - "apple-clang": "11", - } + def requirements(self): + self.requires("abseil/20230125.3") + self.requires("boost/1.83.0") + self.requires("nlohmann_json/3.11.2", transitive_headers=True) @property def _required_boost_components(self): @@ -68,10 +66,10 @@ def _required_boost_components(self): def validate(self): miss_boost_required_comp = \ - any(getattr(self.options["boost"], + any(getattr(self.dependencies["boost"].options, "without_{}".format(boost_comp), True) for boost_comp in self._required_boost_components) - if self.options["boost"].header_only or miss_boost_required_comp: + 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) @@ -79,7 +77,7 @@ def validate(self): ) if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -90,46 +88,40 @@ def loose_lt_semver(v1, v2): 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( - "{} requires C++17, which your compiler does not support.".format(self.name) + "{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if self._is_msvc and self.options.shared: + if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration("Fails to build for Visual Studio as a DLL") - if hasattr(self, "settings_build") and tools.cross_building(self): + if hasattr(self, "settings_build") and cross_building(self): raise ConanInvalidConfiguration( "Recipe not prepared for cross-building (yet)" ) 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["BUILD_TESTING"] = False - self._cmake.definitions["FUNCTIONS_FRAMEWORK_CPP_TEST_EXAMPLES"] = False - - self._cmake.configure() - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + tc.variables["FUNCTIONS_FRAMEWORK_CPP_TEST_EXAMPLES"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "functions_framework_cpp") diff --git a/recipes/functions-framework-cpp/all/patches/0001-dont-skip-namelink.patch b/recipes/functions-framework-cpp/all/patches/1.0.0-0001-dont-skip-namelink.patch similarity index 100% rename from recipes/functions-framework-cpp/all/patches/0001-dont-skip-namelink.patch rename to recipes/functions-framework-cpp/all/patches/1.0.0-0001-dont-skip-namelink.patch diff --git a/recipes/functions-framework-cpp/all/patches/1.0.0-0002-find-nlohmann_json.patch b/recipes/functions-framework-cpp/all/patches/1.0.0-0002-find-nlohmann_json.patch new file mode 100644 index 0000000000000..869e28e535811 --- /dev/null +++ b/recipes/functions-framework-cpp/all/patches/1.0.0-0002-find-nlohmann_json.patch @@ -0,0 +1,22 @@ +diff --git a/google/cloud/functions/CMakeLists.txt b/google/cloud/functions/CMakeLists.txt +index f7cac3a..38f7449 100644 +--- a/google/cloud/functions/CMakeLists.txt ++++ b/google/cloud/functions/CMakeLists.txt +@@ -23,6 +23,7 @@ configure_file(internal/version_info.h.in + find_package(absl REQUIRED) + find_package(Boost REQUIRED COMPONENTS program_options) + find_package(Threads REQUIRED) ++find_package(nlohmann_json REQUIRED) + + add_library( + functions_framework_cpp # cmake-format: sort +@@ -76,7 +77,8 @@ target_include_directories(functions_framework_cpp SYSTEM + PUBLIC $) + target_link_libraries( + functions_framework_cpp PUBLIC absl::time Boost::headers +- Boost::program_options Threads::Threads) ++ Boost::program_options Threads::Threads ++ nlohmann_json::nlohmann_json) + target_compile_definitions(functions_framework_cpp + PUBLIC BOOST_BEAST_USE_STD_STRING_VIEW) + set_target_properties( diff --git a/recipes/functions-framework-cpp/all/patches/1.2.0-0001-dont-skip-namelink.patch b/recipes/functions-framework-cpp/all/patches/1.2.0-0001-dont-skip-namelink.patch new file mode 100644 index 0000000000000..661786756beb5 --- /dev/null +++ b/recipes/functions-framework-cpp/all/patches/1.2.0-0001-dont-skip-namelink.patch @@ -0,0 +1,12 @@ +diff --git a/google/cloud/functions/CMakeLists.txt b/google/cloud/functions/CMakeLists.txt +index 2b9506b..609c238 100644 +--- a/google/cloud/functions/CMakeLists.txt ++++ b/google/cloud/functions/CMakeLists.txt +@@ -137,7 +137,6 @@ install( + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT runtime +- NAMELINK_SKIP + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT development + NAMELINK_COMPONENT development diff --git a/recipes/functions-framework-cpp/all/patches/1.2.0-0002-find-nlohmann_json.patch b/recipes/functions-framework-cpp/all/patches/1.2.0-0002-find-nlohmann_json.patch new file mode 100644 index 0000000000000..974fed8146e70 --- /dev/null +++ b/recipes/functions-framework-cpp/all/patches/1.2.0-0002-find-nlohmann_json.patch @@ -0,0 +1,22 @@ +diff --git a/google/cloud/functions/CMakeLists.txt b/google/cloud/functions/CMakeLists.txt +index 2b9506b..ab3aaaa 100644 +--- a/google/cloud/functions/CMakeLists.txt ++++ b/google/cloud/functions/CMakeLists.txt +@@ -23,6 +23,7 @@ configure_file(internal/version_info.h.in + find_package(absl REQUIRED) + find_package(Boost REQUIRED COMPONENTS program_options) + find_package(Threads REQUIRED) ++find_package(nlohmann_json REQUIRED) + + add_library( + functions_framework_cpp # cmake-format: sort +@@ -80,7 +81,8 @@ target_include_directories(functions_framework_cpp SYSTEM + PUBLIC $) + target_link_libraries( + functions_framework_cpp PUBLIC absl::time Boost::headers +- Boost::program_options Threads::Threads) ++ Boost::program_options Threads::Threads ++ nlohmann_json::nlohmann_json) + target_compile_definitions(functions_framework_cpp + PUBLIC BOOST_BEAST_USE_STD_STRING_VIEW) + set_target_properties( diff --git a/recipes/functions-framework-cpp/all/test_package/CMakeLists.txt b/recipes/functions-framework-cpp/all/test_package/CMakeLists.txt index d4b4a2212f334..5126c69942f53 100644 --- a/recipes/functions-framework-cpp/all/test_package/CMakeLists.txt +++ b/recipes/functions-framework-cpp/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package LANGUAGES CXX) find_package(functions_framework_cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} functions-framework-cpp::framework) +target_link_libraries(${PROJECT_NAME} PRIVATE functions-framework-cpp::framework) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/functions-framework-cpp/all/test_package/conanfile.py b/recipes/functions-framework-cpp/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/functions-framework-cpp/all/test_package/conanfile.py +++ b/recipes/functions-framework-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", "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/functions-framework-cpp/config.yml b/recipes/functions-framework-cpp/config.yml index c7f13630776fb..45091dac1186f 100644 --- a/recipes/functions-framework-cpp/config.yml +++ b/recipes/functions-framework-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.0": + folder: "all" "1.0.0": folder: "all" From d6c62a425b77b3681520bc5466373ba8c9ca0912 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 13:48:42 +0900 Subject: [PATCH 1570/4087] (#18845) geos: add version 3.12.0 * geos: add version 3.12.0 * 3.12.0 requires C++14 * add patch to solve compilation error on msvc * fix patch_type * Fix Windows build by passing build type Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/geos/all/conandata.yml | 9 +++++ recipes/geos/all/conanfile.py | 33 +++++++++++++++++-- .../all/patches/3.12.0-0001-fix-cmake.patch | 31 +++++++++++++++++ recipes/geos/config.yml | 2 ++ 4 files changed, 72 insertions(+), 3 deletions(-) create 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 dce86864c12ad..cce81a5d0af84 100644 --- a/recipes/geos/all/conandata.yml +++ b/recipes/geos/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.12.0": + url: "https://github.com/libgeos/geos/releases/download/3.12.0/geos-3.12.0.tar.bz2" + sha256: "d96db96011259178a35555a0f6d6e75a739e52a495a6b2aa5efb3d75390fbc39" "3.11.2": url: "https://github.com/libgeos/geos/releases/download/3.11.2/geos-3.11.2.tar.bz2" sha256: "b1f077669481c5a3e62affc49e96eb06f281987a5d36fdab225217e5b825e4cc" @@ -14,3 +17,9 @@ 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 7238296e0a1c1..5bfc63783c7e5 100644 --- a/recipes/geos/all/conanfile.py +++ b/recipes/geos/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile +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 +from conan.tools.files import copy, get, rmdir, export_conandata_patches, apply_conandata_patches from conan.tools.scm import Version import os @@ -30,10 +31,29 @@ class GeosConan(ConanFile): "utils": True, } + @property + def _min_cppstd(self): + return "14" if Version(self.version) >= "3.12.0" else "11" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + @property 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 @@ -48,8 +68,13 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + if 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) @@ -62,6 +87,7 @@ def generate(self): tc.cache_variables["BUILD_BENCHMARKS"] = False else: tc.variables["BUILD_BENCHMARKS"] = False + tc.cache_variables["CMAKE_BUILD_TYPE"] = str(self.settings.build_type) if self._has_inline_option: tc.variables["DISABLE_GEOS_INLINE"] = not self.options.inline tc.variables["BUILD_TESTING"] = False @@ -71,6 +97,7 @@ def generate(self): tc.generate() def build(self): + apply_conandata_patches(self) 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 new file mode 100644 index 0000000000000..d0abdd50a8211 --- /dev/null +++ b/recipes/geos/all/patches/3.12.0-0001-fix-cmake.patch @@ -0,0 +1,31 @@ +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 aad029ca82e11..bbc8ab7daf85c 100644 --- a/recipes/geos/config.yml +++ b/recipes/geos/config.yml @@ -1,4 +1,6 @@ versions: + "3.12.0": + folder: all "3.11.2": folder: all "3.11.1": From 4198a051b0f4e7004e896a614a378f5debd2c296 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Sep 2023 08:27:42 +0300 Subject: [PATCH 1571/4087] (#18855) corrade: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * corrade: migrate to Conan v2 * disable VS2022, simplify test_package * allow vs2022 * corrade: fix conandata.yml patch attributes * corrade: auto-load all exported CMake module files * corrade: get rid of vs_ide_version() * Fix linter error --------- Co-authored-by: memsharded Co-authored-by: Rubén Rincón Blanco --- recipes/corrade/all/CMakeLists.txt | 7 - recipes/corrade/all/conandata.yml | 9 +- recipes/corrade/all/conanfile.py | 160 ++++++++++-------- .../corrade/all/test_package/CMakeLists.txt | 11 +- recipes/corrade/all/test_package/conanfile.py | 39 +++-- .../corrade/all/test_package/test_package.cpp | 6 +- 6 files changed, 120 insertions(+), 112 deletions(-) delete mode 100644 recipes/corrade/all/CMakeLists.txt diff --git a/recipes/corrade/all/CMakeLists.txt b/recipes/corrade/all/CMakeLists.txt deleted file mode 100644 index 61f3d3b039e2b..0000000000000 --- a/recipes/corrade/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/corrade/all/conandata.yml b/recipes/corrade/all/conandata.yml index 4b0cd1b7fd3fb..82a5660e74950 100644 --- a/recipes/corrade/all/conandata.yml +++ b/recipes/corrade/all/conandata.yml @@ -7,8 +7,7 @@ sources: url: https://github.com/mosra/corrade/archive/v2019.10.tar.gz patches: "2020.06": - - base_path: "source_subfolder" - patch_file: "patches/2020.06/0001-emscripten-toolchain.patch" - # patch_type: "portability" - # description: "Remove unnecessary dependency on UseEmscripten" - # source: "https://github.com/mosra/corrade/issues/104" + - patch_file: "patches/2020.06/0001-emscripten-toolchain.patch" + patch_type: "portability" + patch_description: "Remove unnecessary dependency on UseEmscripten" + patch_source: "https://github.com/mosra/corrade/issues/104" diff --git a/recipes/corrade/all/conanfile.py b/recipes/corrade/all/conanfile.py index dcff18b711642..347781614d5e3 100644 --- a/recipes/corrade/all/conanfile.py +++ b/recipes/corrade/all/conanfile.py @@ -1,21 +1,24 @@ -from conan.tools.microsoft import is_msvc -from conan.tools.microsoft.visual import vs_ide_version -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import os -required_conan_version = ">=1.45.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc, check_min_vs + +required_conan_version = ">=1.52.0" class CorradeConan(ConanFile): name = "corrade" description = "Corrade is a multiplatform utility library written in C++11/C++14." - topics = ("corrade", "magnum", "filesystem", "console", "environment", "os") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://magnum.graphics/corrade" - license = "MIT" + topics = ("magnum", "filesystem", "console", "environment", "os") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,22 +41,9 @@ class CorradeConan(ConanFile): "with_utility": True, } - generators = "cmake" - short_paths = True - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - self.copy("cmake/*") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + copy(self, "cmake/*", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -61,79 +51,96 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def validate(self): - if is_msvc(self) and tools.Version(vs_ide_version(self)) < 14: - raise ConanInvalidConfiguration("Corrade requires Visual Studio version 14 or greater") + def layout(self): + cmake_layout(self, src_folder="src") - if not self.options.with_utility and (self.options.with_testsuite or self.options.with_interconnect or self.options.with_pluginmanager): - raise ConanInvalidConfiguration("Component 'utility' is required for 'test_suite', 'interconnect' and 'plugin_manager'") + def validate(self): + check_min_vs(self, 190) + if not self.options.with_utility and ( + self.options.with_testsuite or self.options.with_interconnect or self.options.with_pluginmanager + ): + raise ConanInvalidConfiguration( + "Component 'utility' is required for 'test_suite', 'interconnect' and 'plugin_manager'" + ) def build_requirements(self): - if hasattr(self, "settings_build") and tools.cross_building(self, skip_x64_x86=True): - self.build_requires("corrade/{}".format(self.version)) + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): + self.tool_requires(f"corrade/{self.version}") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_STATIC"] = not self.options.shared - cmake.definitions["BUILD_STATIC_PIC"] = self.options.get_safe("fPIC", False) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_STATIC"] = not self.options.shared + tc.variables["BUILD_STATIC_PIC"] = self.options.get_safe("fPIC", False) - cmake.definitions["BUILD_DEPRECATED"] = self.options.build_deprecated - cmake.definitions["WITH_INTERCONNECT"] = self.options.with_interconnect - cmake.definitions["WITH_MAIN"] = self.options.with_main - cmake.definitions["WITH_PLUGINMANAGER"] = self.options.with_pluginmanager - cmake.definitions["WITH_TESTSUITE"] = self.options.with_testsuite - cmake.definitions["WITH_UTILITY"] = self.options.with_utility - cmake.definitions["WITH_RC"] = self.options.with_utility + tc.variables["BUILD_DEPRECATED"] = self.options.build_deprecated + tc.variables["WITH_INTERCONNECT"] = self.options.with_interconnect + tc.variables["WITH_MAIN"] = self.options.with_main + tc.variables["WITH_PLUGINMANAGER"] = self.options.with_pluginmanager + tc.variables["WITH_TESTSUITE"] = self.options.with_testsuite + tc.variables["WITH_UTILITY"] = self.options.with_utility + tc.variables["WITH_RC"] = self.options.with_utility # Corrade uses suffix on the resulting "lib"-folder when running cmake.install() # Set it explicitly to empty, else Corrade might set it implicitly (eg. to "64") - cmake.definitions["LIB_SUFFIX"] = "" + tc.variables["LIB_SUFFIX"] = "" if is_msvc(self): - cmake.definitions["MSVC2015_COMPATIBILITY"] = vs_ide_version(self) == "14" - cmake.definitions["MSVC2017_COMPATIBILITY"] = vs_ide_version(self) == "15" - cmake.definitions["MSVC2019_COMPATIBILITY"] = vs_ide_version(self) == "16" + if check_min_vs(self, 193, raise_invalid=False): + tc.variables["MSVC2019_COMPATIBILITY"] = True + elif check_min_vs(self, 192, raise_invalid=False): + tc.variables["MSVC2017_COMPATIBILITY"] = True + elif check_min_vs(self, 191, raise_invalid=False): + tc.variables["MSVC2015_COMPATIBILITY"] = True - cmake.configure(build_folder=self._build_subfolder) - - return cmake + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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() - share_cmake = os.path.join(self.package_folder, "share", "cmake", "Corrade") - self.copy("UseCorrade.cmake", src=share_cmake, dst=os.path.join(self.package_folder, "lib", "cmake")) - self.copy("CorradeLibSuffix.cmake", src=share_cmake, dst=os.path.join(self.package_folder, "lib", "cmake")) - self.copy("*.cmake", src=os.path.join(self.source_folder, "cmake"), dst=os.path.join("lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "share")) + copy(self, "UseCorrade.cmake", + src=share_cmake, + dst=os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "CorradeLibSuffix.cmake", + src=share_cmake, + dst=os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "*.cmake", + src=os.path.join(self.export_sources_folder, "cmake"), + dst=os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "Corrade") - self.cpp_info.names["cmake_find_package"] = "Corrade" - self.cpp_info.names["cmake_find_package_multi"] = "Corrade" + self.cpp_info.set_property("cmake_target_name", "Corrade::Corrade") suffix = "-d" if self.settings.build_type == "Debug" else "" - # The FindCorrade.cmake file provided by the library populates some extra stuff - self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "conan-corrade-vars.cmake")]) - self.cpp_info.components["_corrade"].build_modules.append(os.path.join("lib", "cmake", "conan-corrade-vars.cmake")) + cmake_modules = [ + # Reproduces the variables and calls performed by the FindCorrade.cmake provided by the library + os.path.join("lib", "cmake", "conan-corrade-vars.cmake"), + # Autodetects LIB_SUFFIX (either "64" or "") + os.path.join("lib", "cmake", "CorradeLibSuffix.cmake"), + # Exports build flags and macros + os.path.join("lib", "cmake", "UseCorrade.cmake"), + ] + self.cpp_info.set_property("cmake_build_modules", cmake_modules) + self.cpp_info.components["_corrade"].build_modules["cmake_find_package"] = cmake_modules + self.cpp_info.components["_corrade"].build_modules["cmake_find_package_multi"] = cmake_modules if self.options.with_main: self.cpp_info.components["main"].set_property("cmake_target_name", "Corrade::Main") @@ -153,10 +160,10 @@ def package_info(self): self.cpp_info.components["utility"].requires = ["_corrade"] # This one is statically linked into utility - #self.cpp_info.components["containers"].set_property("cmake_target_name", "Corrade::Containers") - #self.cpp_info.components["containers"].names["cmake_find_package"] = "Containers" - #self.cpp_info.components["containers"].names["cmake_find_package_multi"] = "Containers" - #self.cpp_info.components["containers"].libs = ["CorradeContainers" + suffix] + # self.cpp_info.components["containers"].set_property("cmake_target_name", "Corrade::Containers") + # self.cpp_info.components["containers"].names["cmake_find_package"] = "Containers" + # self.cpp_info.components["containers"].names["cmake_find_package_multi"] = "Containers" + # self.cpp_info.components["containers"].libs = ["CorradeContainers" + suffix] if self.options.with_interconnect: self.cpp_info.components["interconnect"].set_property("cmake_target_name", "Corrade::Interconnect") @@ -181,9 +188,12 @@ def package_info(self): if self.options.with_utility: bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) + self.output.info(f"Appending PATH environment variable: {bindir}") self.env_info.PATH.append(bindir) # pkg_config: Add more explicit naming to generated files (avoid filesystem collision). - for key, cmp in self.cpp_info.components.items(): - self.cpp_info.components[key].names["pkg_config"] = "{}_{}".format(self.name, key) + for key, component in self.cpp_info.components.items(): + component.set_property("pkg_config_name", f"{self.name}_{key}") + + self.cpp_info.names["cmake_find_package"] = "Corrade" + self.cpp_info.names["cmake_find_package_multi"] = "Corrade" diff --git a/recipes/corrade/all/test_package/CMakeLists.txt b/recipes/corrade/all/test_package/CMakeLists.txt index e4c1f34b721de..94206f42ad33e 100644 --- a/recipes/corrade/all/test_package/CMakeLists.txt +++ b/recipes/corrade/all/test_package/CMakeLists.txt @@ -1,14 +1,11 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(Corrade REQUIRED) +find_package(Corrade REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} Corrade::Main) -if(VERSION_2019_10) +if(VERSION_2019_10) target_compile_definitions(${PROJECT_NAME} PRIVATE VERSION_2019_10) endif() if(WITH_UTILITY) diff --git a/recipes/corrade/all/test_package/conanfile.py b/recipes/corrade/all/test_package/conanfile.py index be914f107e121..9c0893a63e85b 100644 --- a/recipes/corrade/all/test_package/conanfile.py +++ b/recipes/corrade/all/test_package/conanfile.py @@ -1,28 +1,37 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_UTILITY"] = self.dependencies["corrade"].options.with_utility + if self.dependencies["corrade"].ref.version == "2019.10": + tc.variables["VERSION_2019_10"] = True + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["WITH_UTILITY"] = self.options["corrade"].with_utility - if self.deps_cpp_info["corrade"].version == "2019.10": - cmake.definitions["VERSION_2019_10"] = True 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 self.options["corrade"].with_utility: - # Run corrade-rc - self.run("corrade-rc --help", run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") if self.settings.os == "Emscripten": - bin_path = os.path.join("bin", "test_package.js") - self.run("node {}".format(bin_path), run_environment=True) + bin_path = os.path.join(self.cpp.build.bindir, "test_package.js") + self.run(f"node {bin_path}", env="conanrun") diff --git a/recipes/corrade/all/test_package/test_package.cpp b/recipes/corrade/all/test_package/test_package.cpp index 8f5dc321a44de..c0e1a6d7932b2 100644 --- a/recipes/corrade/all/test_package/test_package.cpp +++ b/recipes/corrade/all/test_package/test_package.cpp @@ -1,5 +1,4 @@ -#include -#include // Here it is 'nothing' +#include // Here it is 'nothing' #ifndef VERSION_2019_10 #include @@ -9,10 +8,11 @@ #include #endif +#include int main() { std::cout << "Test package for Corrade\n"; - + #ifndef VERSION_2019_10 std::cout << "Corrade " << CORRADE_VERSION_YEAR << "." << CORRADE_VERSION_MONTH << std::endl; #endif From 6d1f113d24fbc10e844e095b07fb832266b7b17d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 15:50:13 +0900 Subject: [PATCH 1572/4087] (#19716) hictk: update dependencies --- recipes/hictk/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index cf1428272f465..8f5dc0a67cf84 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -42,8 +42,8 @@ def requirements(self): self.requires("fast_float/5.2.0", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) - self.requires("fmt/10.0.0", transitive_headers=True) - self.requires("hdf5/1.14.0", transitive_headers=True) + self.requires("fmt/10.1.0", transitive_headers=True) + self.requires("hdf5/1.14.1", transitive_headers=True) self.requires("highfive/2.7.1", transitive_headers=True) self.requires("libdeflate/1.18", transitive_headers=True) self.requires("parallel-hashmap/1.3.11", transitive_headers=True) From c57bf4b3a49c65734083af94b559692f26edecc2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 11 Sep 2023 09:23:01 +0200 Subject: [PATCH 1573/4087] (#19727) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 5cb7b12693718..52d413af7f3cc 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -259,6 +259,7 @@ required_for_references: - drmp3 - drogon - drwav +- dsp-filters - dtl - duckdb - duktape @@ -668,6 +669,7 @@ required_for_references: - libzip - libzippp - lief +- lightpcapng - linmath.h - linux-headers-generic - linux-syscall-support @@ -1099,16 +1101,28 @@ required_for_references: - threadpool - thrift - thrust +- tidy-html5 - timsort +- tinkerforge-bindings +- tiny-aes-c +- tiny-bignum-c - tiny-dnn +- tiny-regex-c +- tiny-utf8 +- tinycbor - tinycthread - tinycthreadpool - tinydir - tinyexif +- tinyexr - tinygltf - tinymidi +- tinyobjloader +- tinyply +- tinyspline - tinyxml - tinyxml2 +- tl - tl-expected - tl-function-ref - tllist From 3aeb2ae80ba27ab067bc267f3b4347fc1ba2d878 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Mon, 11 Sep 2023 11:10:43 +0200 Subject: [PATCH 1574/4087] (#18149) exiv2: add version 0.28.0, add win_unicode option for 0.27.x * init * fix * get_safe * fix sig * fix the fix * exiv2-xmp is an object library in 0.28 * fix linkage * component requires * indent * min std, min compiler version, extend fix * bump inih, better cppstd and compiler version check * fix * add c++17 compiler feature to test_package * endline * check max cppstd for versions older than 0.28.0 * linter linter again conan_version * fix build * Update recipes/exiv2/all/conanfile.py Co-authored-by: Matthieu Darbois * bump libpng version * add win_unicode option --------- Co-authored-by: Matthieu Darbois --- recipes/exiv2/all/conandata.yml | 8 ++ recipes/exiv2/all/conanfile.py | 77 ++++++++++++++++--- .../exiv2/all/patches/0001-link-0.28.0.patch | 22 ++++++ .../all/patches/0004-find-expat-0.28.0.patch | 16 ++++ recipes/exiv2/all/test_package/CMakeLists.txt | 4 + recipes/exiv2/config.yml | 2 + 6 files changed, 120 insertions(+), 9 deletions(-) create mode 100644 recipes/exiv2/all/patches/0001-link-0.28.0.patch create mode 100644 recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch diff --git a/recipes/exiv2/all/conandata.yml b/recipes/exiv2/all/conandata.yml index 63e5ef9836649..981b0a2937754 100644 --- a/recipes/exiv2/all/conandata.yml +++ b/recipes/exiv2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.28.0": + url: "https://github.com/Exiv2/exiv2/releases/download/v0.28.0/exiv2-0.28.0-Source.tar.gz" + sha256: "89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d" "0.27.5": url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.5/exiv2-0.27.5-Source.tar.gz" sha256: "35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2" @@ -6,6 +9,11 @@ sources: url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.4/exiv2-0.27.4-Source.tar.gz" sha256: "84366dba7c162af9a7603bcd6c16f40fe0e9af294ba2fd2f66ffffb9fbec904e" patches: + "0.28.0": + - patch_file: "patches/0001-link-0.28.0.patch" + - patch_file: "patches/0004-find-expat-0.28.0.patch" + patch_description: "enforce usage of FindEXPAT.cmake" + patch_type: "conan" "0.27.5": - patch_file: "patches/0001-link-0.27.5.patch" - patch_file: "patches/0003-fix-ios.patch" diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 34ee99761cacc..b5c3445fd34da 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -1,9 +1,12 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, check_min_vs +from conan.tools.scm import Version import os +import sys import textwrap required_conan_version = ">=1.53.0" @@ -26,6 +29,9 @@ class Exiv2Conan(ConanFile): "with_png": [True, False], "with_xmp": [False, "bundled", "external"], "with_curl": [True, False], + "with_brotli": [True, False], + "with_inih": [True, False], + "win_unicode": [True, False], } default_options = { "shared": False, @@ -33,6 +39,9 @@ class Exiv2Conan(ConanFile): "with_png": True, "with_xmp": "bundled", "with_curl": False, + "with_brotli": True, + "with_inih": True, + "win_unicode": False, } provides = [] @@ -43,6 +52,14 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "0.28.0": + del self.options.win_unicode + else: + del self.options.with_brotli + del self.options.with_inih + + if self.settings.os == "Windows": + self.options.win_unicode = True def configure(self): if self.options.shared: @@ -58,14 +75,43 @@ def layout(self): def requirements(self): self.requires("libiconv/1.17") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") self.requires("zlib/1.2.13") if self.options.with_xmp == "bundled": self.requires("expat/2.5.0") if self.options.with_curl: - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.2.1") + if self.options.get_safe("with_brotli"): + self.requires("brotli/1.0.9") + if self.options.get_safe("with_inih"): + self.requires("inih/57") def validate(self): + if Version(self.version) >= "0.28.0": + min_cppstd = 17 + + if self.settings.compiler.cppstd: + check_min_cppstd(self, min_cppstd) + check_min_vs(self, 191) + + compilers_minimum_version = { + "gcc": "8", + "clang": "5", + "apple-clang": "10", + } + if not is_msvc(self): + minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{min_cppstd}, which your compiler does not fully support." + ) + elif conan_version.major == 2: + # 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') + # https://github.com/Exiv2/exiv2/tree/v0.27.7#217-building-with-c11-and-other-compilers + check_max_cppstd(self, 14) + if self.options.with_xmp == "external": raise ConanInvalidConfiguration("adobe-xmp-toolkit is not available on cci (yet)") @@ -84,6 +130,12 @@ def generate(self): tc.variables["EXIV2_ENABLE_WEBREADY"] = self.options.with_curl tc.variables["EXIV2_ENABLE_CURL"] = self.options.with_curl tc.variables["EXIV2_ENABLE_SSH"] = False + if Version(self.version) >= "0.28.0": + tc.variables["EXIV2_ENABLE_BMFF"] = self.options.with_brotli + tc.variables["EXIV2_ENABLE_BROTLI"] = self.options.with_brotli + tc.variables["EXIV2_ENABLE_INIH"] = self.options.with_inih + else: + tc.variables["EXIV2_ENABLE_WIN_UNICODE"] = self.options.win_unicode tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" if is_msvc(self): @@ -145,6 +197,10 @@ def package_info(self): self.cpp_info.components["exiv2lib"].requires.extend(["libpng::libpng", "zlib::zlib"]) if self.options.with_curl: self.cpp_info.components["exiv2lib"].requires.append("libcurl::libcurl") + if self.options.get_safe("with_brotli"): + self.cpp_info.components["exiv2lib"].requires.extend(["brotli::brotlidec", "brotli::brotlienc"]) + if self.options.get_safe("with_inih"): + self.cpp_info.components["exiv2lib"].requires.append("inih::inireader") if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["exiv2lib"].system_libs.extend(["pthread"]) @@ -154,14 +210,17 @@ def package_info(self): # component exiv2-xmp if self.options.with_xmp == "bundled": - self.cpp_info.components["exiv2-xmp"].set_property("cmake_target_name", "exiv2-xmp") - self.cpp_info.components["exiv2-xmp"].libs = ["exiv2-xmp"] - self.cpp_info.components["exiv2-xmp"].requires = [ "expat::expat" ] - self.cpp_info.components["exiv2lib"].requires.append("exiv2-xmp") + if Version(self.version) < "0.28.0": + self.cpp_info.components["exiv2-xmp"].set_property("cmake_target_name", "exiv2-xmp") + self.cpp_info.components["exiv2-xmp"].libs = ["exiv2-xmp"] + self.cpp_info.components["exiv2-xmp"].requires = [ "expat::expat" ] + self.cpp_info.components["exiv2lib"].requires.append("exiv2-xmp") + else: + self.cpp_info.components["exiv2lib"].requires.append("expat::expat") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.components["exiv2lib"].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components["exiv2lib"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.with_xmp == "bundled": + if self.options.with_xmp == "bundled" and Version(self.version) < "0.28.0": self.cpp_info.components["exiv2-xmp"].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components["exiv2-xmp"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/exiv2/all/patches/0001-link-0.28.0.patch b/recipes/exiv2/all/patches/0001-link-0.28.0.patch new file mode 100644 index 0000000000000..0c0e5fa28d40c --- /dev/null +++ b/recipes/exiv2/all/patches/0001-link-0.28.0.patch @@ -0,0 +1,22 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 41a672e8..93370b5e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -170,10 +170,10 @@ if (MSVC) + set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") + endif() + +-set_target_properties( exiv2lib_int PROPERTIES +- POSITION_INDEPENDENT_CODE ON +- COMPILE_DEFINITIONS exiv2lib_EXPORTS +-) ++ ++ ++ ++ + + # NOTE: Cannot use target_link_libraries on OBJECT libraries with old versions of CMake + target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) +-- +2.33.0.windows.1 + diff --git a/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch b/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch new file mode 100644 index 0000000000000..07fb4804513c7 --- /dev/null +++ b/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake +index 1075c303..d8b580d4 100644 +--- a/cmake/findDependencies.cmake ++++ b/cmake/findDependencies.cmake +@@ -60,7 +60,7 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) + message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") + else() + if (EXIV2_ENABLE_XMP) +- find_package(EXPAT REQUIRED) ++ find_package(EXPAT REQUIRED MODULE) + elseif (EXIV2_ENABLE_EXTERNAL_XMP) + find_package(XmpSdk REQUIRED) + endif () +-- +2.33.0.windows.1 + diff --git a/recipes/exiv2/all/test_package/CMakeLists.txt b/recipes/exiv2/all/test_package/CMakeLists.txt index 3bd4318c428ba..69bbd22508c9b 100644 --- a/recipes/exiv2/all/test_package/CMakeLists.txt +++ b/recipes/exiv2/all/test_package/CMakeLists.txt @@ -5,3 +5,7 @@ find_package(exiv2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} exiv2lib) + +if(${exiv2_VERSION} VERSION_GREATER_EQUAL "0.28.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/exiv2/config.yml b/recipes/exiv2/config.yml index 470d3a327a30b..01a5aa663306e 100644 --- a/recipes/exiv2/config.yml +++ b/recipes/exiv2/config.yml @@ -1,4 +1,6 @@ versions: + "0.28.0": + folder: all "0.27.5": folder: all "0.27.4": From dbe2569e1c94bbbec622cae27f6f132b3420ffef Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 19:34:12 +0900 Subject: [PATCH 1575/4087] (#19624) libcurl: update dependencies * libcurl: update dependencies * change zlib version range Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/libcurl/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 85bc4477130be..40176f8f84e3b 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -185,13 +185,13 @@ def requirements(self): elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.6.3") if self.options.with_nghttp2: - self.requires("libnghttp2/1.55.1") + self.requires("libnghttp2/1.56.0") if self.options.with_libssh2: self.requires("libssh2/1.11.0") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.10 <2]") if self.options.with_brotli: - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_c_ares: @@ -216,7 +216,7 @@ def build_requirements(self): else: self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.2") if self.settings.os in [ "tvOS", "watchOS" ]: self.tool_requires("gnu-config/cci.20210814") if self._settings_build.os == "Windows": From 2ceceb8c47fb39c79f7294411860fb39f4684313 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Mon, 11 Sep 2023 14:25:30 +0200 Subject: [PATCH 1576/4087] (#19187) [highs] Enable shared build on Windows * [highs] Enable shared build on Windows and drop v1 test package * Re-add the required_conan_version line --- recipes/highs/all/conanfile.py | 7 ++----- .../highs/all/test_v1_package/CMakeLists.txt | 9 --------- recipes/highs/all/test_v1_package/conanfile.py | 18 ------------------ 3 files changed, 2 insertions(+), 32 deletions(-) delete mode 100644 recipes/highs/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/highs/all/test_v1_package/conanfile.py diff --git a/recipes/highs/all/conanfile.py b/recipes/highs/all/conanfile.py index a45cfe7de91d8..8758bb90904fe 100644 --- a/recipes/highs/all/conanfile.py +++ b/recipes/highs/all/conanfile.py @@ -1,7 +1,6 @@ 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.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -27,10 +26,6 @@ class HiGHSConan(ConanFile): "fPIC": True, } - def validate(self): - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -75,6 +70,8 @@ def package(self): if self.options.shared: copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) + copy(self, pattern="*.dll", src=self.build_folder, dst=join(self.package_folder, "bin"), keep_path=False) else: copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) if Version(self.version) >= Version("1.5.3"): diff --git a/recipes/highs/all/test_v1_package/CMakeLists.txt b/recipes/highs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 36b48f96d1078..0000000000000 --- a/recipes/highs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) -set(CMAKE_CXX_STANDARD 11) - -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/highs/all/test_v1_package/conanfile.py b/recipes/highs/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/highs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 32c59bc7a56e7b0ba7e710497746e6a3a7396bbd Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 11 Sep 2023 17:24:01 +0400 Subject: [PATCH 1577/4087] (#19693) ade: 0.1.2c --- recipes/ade/all/conandata.yml | 3 +++ recipes/ade/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ade/all/conandata.yml b/recipes/ade/all/conandata.yml index 954c10dfe2c1d..668f432538437 100644 --- a/recipes/ade/all/conandata.yml +++ b/recipes/ade/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.2c": + url: "https://github.com/opencv/ade/archive/refs/tags/v0.1.2c.tar.gz" + sha256: "1387891c707c6e5c76448ea09e2df2e8bce1645c11f262c10b3f3ebec88749c2" "0.1.2a": url: "https://github.com/opencv/ade/archive/refs/tags/v0.1.2a.tar.gz" sha256: "c022a688b0554017e46e1cbdeb0105e625ca090fc3755c15df8c4451a304e084" diff --git a/recipes/ade/config.yml b/recipes/ade/config.yml index cbf2f373fb630..373f3e14c45ff 100644 --- a/recipes/ade/config.yml +++ b/recipes/ade/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.2c": + folder: "all" "0.1.2a": folder: "all" "0.1.1f": From 46c64a6ce06c8bc97ffdff8a96ef694069103fc4 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Sep 2023 23:43:34 +0900 Subject: [PATCH 1578/4087] (#19728) daw_json_link: add version 3.20.1, update dependencies --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/all/conanfile.py | 2 +- recipes/daw_json_link/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index c72c7afca8769..a5b0b4f48353b 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.20.1": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.20.1.tar.gz" + sha256: "046638bc4437d138cc8bdc882027d318ca3e267f33d1b419c5bdecb45b595a47" "3.19.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.19.0.tar.gz" sha256: "85c2f6a84878925eb692c53b321b9b237481969c8caa3a9324b78540096a3559" diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index 7a1455d0e9bda..a22aa6b41c06b 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.93.1") + self.requires("daw_header_libraries/2.96.1") self.requires("daw_utf_range/2.2.3") def package_id(self): diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index b1d3c03d35507..97a23d5d14600 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.20.1": + folder: "all" "3.19.0": folder: "all" "3.17.2": From 28cb271f9b1b22c79c8c57d943e40e97a90a723d Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Mon, 11 Sep 2023 22:38:09 +0200 Subject: [PATCH 1579/4087] (#19729) add cppcheck 2.12.0 * add cppcheck 2.12.0 * remove old versions --- recipes/cppcheck/all/conandata.yml | 30 +++++-------------- .../0004-pcre-debuglib-name-2.12.patch | 11 +++++++ recipes/cppcheck/config.yml | 6 ++-- 3 files changed, 20 insertions(+), 27 deletions(-) create mode 100644 recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index 35bee8612638b..43f1aa2fd39be 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,35 +1,29 @@ sources: + "2.12": + url: "https://github.com/danmar/cppcheck/archive/2.12.0.tar.gz" + sha256: "7d67776118aee9a4f0214f993a4baa4a168b2dbb10c14b6ec5baf2ca147565b8" "2.11.1": url: "https://github.com/danmar/cppcheck/archive/2.11.1.tar.gz" sha256: "fef6ef868d562d49136f158e1d0f7a38237e7e1c0a91d9189bdd465f1fe54316" "2.10.3": url: "https://github.com/danmar/cppcheck/archive/2.10.3.tar.gz" sha256: "8aae5e116daeaaf5d19f3efa61b91c06f161cb97412a1d1af6e1e20686e48967" - "2.10": - url: "https://github.com/danmar/cppcheck/archive/2.10.tar.gz" - sha256: "785dcbf711048dfe43ae920b6eff2eeebb4a096e88188a40e173ca4c030f57c3" "2.9.3": url: "https://github.com/danmar/cppcheck/archive/2.9.3.tar.gz" sha256: "46319ca73e33e4b2bd91981a76a0d4f184cd3f86b62dc18e8938eabacd3ad2e3" - "2.9.2": - url: "https://github.com/danmar/cppcheck/archive/2.9.2.tar.gz" - sha256: "93920d24d4442856bf7916ee0e3fc31308bc23948e7029b4fd332e01cac63c3e" "2.8.2": url: "https://github.com/danmar/cppcheck/archive/2.8.2.tar.gz" sha256: "30ba99ab54089c44b83f02e2453da046a7edff5237950d4A0eb1eba4afcb4f45" patches: - "2.11.1": - - patch_file: "patches/0003-pcre-debuglib-name.patch" + "2.12": + - patch_file: "patches/0004-pcre-debuglib-name-2.12.patch" patch_description: "Consider the Debug suffix for Windows" patch_type: "portability" - "2.10.3": - - patch_file: "patches/0001-cli-remove-dmake-cmake-2.10.patch" - patch_description: "Remove dmake tool from target ALL" - patch_type: "portability" + "2.11.1": - patch_file: "patches/0003-pcre-debuglib-name.patch" patch_description: "Consider the Debug suffix for Windows" patch_type: "portability" - "2.10": + "2.10.3": - patch_file: "patches/0001-cli-remove-dmake-cmake-2.10.patch" patch_description: "Remove dmake tool from target ALL" patch_type: "portability" @@ -46,16 +40,6 @@ patches: - patch_file: "patches/0003-pcre-debuglib-name.patch" patch_description: "Consider the Debug suffix for Windows" patch_type: "portability" - "2.9.2": - - patch_file: "patches/0001-cli-remove-dmake-cmake.patch" - patch_description: "Remove dmake tool from target ALL" - patch_type: "portability" - - patch_file: "patches/0002-htmlreport-python3.patch" - patch_description: "Use Python 3 in Shebang Header" - patch_type: "portability" - - patch_file: "patches/0003-pcre-debuglib-name.patch" - patch_description: "Consider the Debug suffix for Windows" - patch_type: "portability" "2.8.2": - patch_file: "patches/0001-cli-remove-dmake-cmake-2.8.patch" patch_description: "Remove dmake tool from target ALL" diff --git a/recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch b/recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch new file mode 100644 index 0000000000000..7f30a7cb1d7d4 --- /dev/null +++ b/recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch @@ -0,0 +1,11 @@ +--- a/cmake/findDependencies.cmake 2023-09-09 15:10:31.000000000 +0200 ++++ b/cmake/findDependencies.cmake 2023-09-11 08:44:40.220863900 +0200 +@@ -31,7 +31,7 @@ + + if (HAVE_RULES) + find_path(PCRE_INCLUDE pcre.h) +- find_library(PCRE_LIBRARY pcre) ++ find_library(PCRE_LIBRARY NAMES pcre pcred) + if (NOT PCRE_LIBRARY OR NOT PCRE_INCLUDE) + message(FATAL_ERROR "pcre dependency for RULES has not been found") + endif() diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 6325a54f72873..c685c09841807 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,13 +1,11 @@ versions: + "2.12": + folder: all "2.11.1": folder: all "2.10.3": folder: all - "2.10": - folder: all "2.9.3": folder: all - "2.9.2": - folder: all "2.8.2": folder: all From a41491de3ae804b29d8146eb0381aa392be4733e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Sep 2023 00:28:40 +0200 Subject: [PATCH 1580/4087] (#19730) glib: add version 2.78.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index ec38114b48cbc..b749d7ac74580 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index 1a21f71ff2289..87471ca63de5f 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.78.0": + folder: all "2.77.3": folder: all "2.77.2": From fc07677f477551d5ee1078e49eb611f01f4c8048 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Tue, 12 Sep 2023 02:49:35 +0200 Subject: [PATCH 1581/4087] (#19731) hictk: add v0.0.2 --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index b46596ee0372e..accdbdc6e5b48 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.2": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.2.tar.gz" + sha256: "7716711ecb33247d8f79f6768ebbdcf55e51e9b6f962245747b33d0967431427" "0.0.1": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.1.tar.gz" sha256: "460985413c3b2e80121f7697c6c824a91955a38051de770d7eb946ddafa88460" diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index f6f5b5679b9d4..05473f80b3130 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,3 +1,5 @@ versions: + "0.0.2": + folder: all "0.0.1": folder: all From c993c77724307f87f7eb87aefdcafb11132e8084 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Sep 2023 15:21:31 +0900 Subject: [PATCH 1582/4087] (#19407) sqlite_orm: update sqlite3/3.43.0 --- recipes/sqlite_orm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlite_orm/all/conanfile.py b/recipes/sqlite_orm/all/conanfile.py index 90bb95e386b2e..343f40bded77d 100644 --- a/recipes/sqlite_orm/all/conanfile.py +++ b/recipes/sqlite_orm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sqlite3/3.41.1", transitive_headers=True, transitive_libs=True) + self.requires("sqlite3/3.43.0", transitive_headers=True, transitive_libs=True) def package_id(self): self.info.clear() From e5a0a38cdbeac3e7d7d90e1231d08d3391897cb2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Sep 2023 09:50:58 +0200 Subject: [PATCH 1583/4087] (#19737) pkgconf: add version 2.0.3 --- recipes/pkgconf/all/conandata.yml | 5 +++++ recipes/pkgconf/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/pkgconf/all/conandata.yml b/recipes/pkgconf/all/conandata.yml index cf574fc35a1d5..30195c0bf1274 100644 --- a/recipes/pkgconf/all/conandata.yml +++ b/recipes/pkgconf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.0.3.tar.xz" + sha256: "cabdf3c474529854f7ccce8573c5ac68ad34a7e621037535cbc3981f6b23836c" "2.0.2": url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.0.2.tar.xz" sha256: "ea5a25ef8f251eb5377ec0e21c75fb61894433cfbdbf0b2559ba33e4c2664401" @@ -15,6 +18,8 @@ sources: url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.3.tar.xz" sha256: "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" patches: + "2.0.3": + - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "2.0.2": - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "1.9.5": diff --git a/recipes/pkgconf/config.yml b/recipes/pkgconf/config.yml index e17ebc77d55fa..0ccc580d4eb3c 100644 --- a/recipes/pkgconf/config.yml +++ b/recipes/pkgconf/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: "all" "2.0.2": folder: "all" "1.9.5": From 2b6e60603b632763987b72db0655cd1c623a41c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:41:59 +0200 Subject: [PATCH 1584/4087] (#19505) arrow: do not add build requires to cmake before arrow 13.0.0 --- recipes/arrow/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index a7f22fcf6ecee..2edf070a224e0 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -378,6 +378,10 @@ def validate(self): if Version(self.version) < "6.0.0" and self.options.get_safe("simd_level") == "default": raise ConanInvalidConfiguration(f"In {self.ref}, simd_level options is not supported `default` value.") + def build_requirements(self): + if Version(self.version) >= "13.0.0": + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], filename=f"apache-arrow-{self.version}.tar.gz", strip_root=True) @@ -527,9 +531,6 @@ def build(self): cmake.configure(build_script_folder=os.path.join(self.source_folder, "cpp")) cmake.build() - def build_requirements(self): - self.tool_requires("cmake/[>=3.16 <4]") - def package(self): copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy(self, pattern="NOTICE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) From 0111017d8b9c32d8192f8c3da036c162f1091be1 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Sep 2023 17:58:41 +0900 Subject: [PATCH 1585/4087] (#19740) sqlite3: add version 3.43.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 7d17c799d5f24..464fb1e4a0924 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.43.1": + url: "https://sqlite.org/2023/sqlite-amalgamation-3430100.zip" + sha256: "7e634bbd4b2870a83dc7c1e3cc02e4d30b8555cd7db7b332f24e0c447fd0dd16" "3.43.0": url: "https://sqlite.org/2023/sqlite-amalgamation-3430000.zip" sha256: "bb5849ae4d7129c09d20596379a0b3f7b1ac59cf9998eba5ef283ea9b6c000a5" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index f5a78a2be1eed..fcd4427a99ec3 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.43.1": + folder: all "3.43.0": folder: all "3.42.0": From 997c76a25a3cf020f1197f948f99ac04024a98b7 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 12 Sep 2023 11:28:40 +0200 Subject: [PATCH 1586/4087] (#19733) [bot] Update authorized users list (2023-09-11) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 56fdf9df94977..345b797f06831 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1226,3 +1226,5 @@ authorized_users: - p-groarke - Kalixio - temap +- vient +- bryce-cahill From 29f50b38626d426f70dc394610f229ddf66e890d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 12 Sep 2023 12:07:08 +0200 Subject: [PATCH 1587/4087] (#19754) [bot] Update list of references (prod-v2/ListPackages) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- .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 52d413af7f3cc..81f7ccff089c4 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -176,6 +176,7 @@ required_for_references: - concurrentqueue - console_bridge - continuable +- corrade - cotila - cpp-httplib - cpp-ipc @@ -295,6 +296,7 @@ required_for_references: - etc2comp - eternal - etl +- evmc - exiv2 - expat - expected-lite @@ -346,6 +348,7 @@ required_for_references: - ftxui - function2 - functionalplus +- functions-framework-cpp - fusepp - fxdiv - g3log @@ -589,6 +592,7 @@ required_for_references: - libmysqlclient - libnabo - libnet +- libnetfilter_queue - libnfnetlink - libnfs - libnghttp2 @@ -1125,10 +1129,15 @@ required_for_references: - tl - tl-expected - tl-function-ref +- tl-optional - tllist - tlx +- tmx +- tmxlite +- tng - toml11 - tracy +- transwarp - trantor - tree-sitter - tree-sitter-c From f0efbaf03ad111a63a6a381bc0caa0a405e11a6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 12 Sep 2023 12:23:45 +0200 Subject: [PATCH 1588/4087] (#19685) Bump libspng's zlib requirement to [>=1.2.11 <2] range --- recipes/libspng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libspng/all/conanfile.py b/recipes/libspng/all/conanfile.py index b9d182dd24f28..f151ee813b219 100644 --- a/recipes/libspng/all/conanfile.py +++ b/recipes/libspng/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): if self.options.with_miniz: self.requires("miniz/3.0.2") else: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 30cc2e1abcbc36a1f010a048543385727d2eef3f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Sep 2023 14:12:12 +0300 Subject: [PATCH 1589/4087] (#18596) functionalplus: add package_type --- recipes/functionalplus/all/conanfile.py | 40 ++++++++++++++----------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/recipes/functionalplus/all/conanfile.py b/recipes/functionalplus/all/conanfile.py index e87d42e53ba37..53628cdcaf152 100644 --- a/recipes/functionalplus/all/conanfile.py +++ b/recipes/functionalplus/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -12,12 +13,18 @@ class FunctionalPlusConan(ConanFile): name = "functionalplus" description = "Functional Programming Library for C++." license = "BSL-1.0" - topics = ("functionalplus", "fplus", "functional programming") + topics = ("fplus", "functional programming", "header-only") homepage = "https://github.com/Dobiasd/FunctionalPlus" url = "https://github.com/conan-io/conan-center-index" + + 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 { @@ -28,36 +35,35 @@ def _compilers_minimum_version(self): "apple-clang": "9", } + 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, 14) - - 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] + check_min_cppstd(self, self._min_cppstd) 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("functionalplus requires C++14, which your compiler does not support.") - - def layout(self): - basic_layout(self, src_folder="src") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): 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")) + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "FunctionalPlus") From 0fda4efdbb40f7598964a46cb9d3713c4ed46aa7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:59:30 +0200 Subject: [PATCH 1590/4087] (#19667) pcre: use version range for zlib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * typo * Update recipes/pcre/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/pcre/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pcre/all/conanfile.py b/recipes/pcre/all/conanfile.py index 8d0c74976c81b..ca51bc38829c6 100644 --- a/recipes/pcre/all/conanfile.py +++ b/recipes/pcre/all/conanfile.py @@ -75,7 +75,7 @@ def requirements(self): if self.options.get_safe("with_bzip2"): self.requires("bzip2/1.0.8") if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if not self.options.build_pcre_8 and not self.options.build_pcre_16 and not self.options.build_pcre_32: From d7a1fe9b9d9b4f597e32378a8e05adee034ea6bc Mon Sep 17 00:00:00 2001 From: Dmitry Baryshev Date: Tue, 12 Sep 2023 16:11:25 +0300 Subject: [PATCH 1591/4087] (#19732) sail: Remove Windows SDK hack and try to rebuild V2 [closes #19591] * libavif: bump deps * sail: remove Windows SDK workaround hack --- recipes/sail/all/conanfile.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index fb389e804f131..31e7177ae090e 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -104,11 +104,6 @@ def generate(self): # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012 if is_msvc(self): tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) - # TODO: Remove after fixing https://github.com/conan-io/conan-center-index/issues/13159 - # C3I workaround to force CMake to choose the highest version of - # the windows SDK available in the system - if is_msvc(self) and not self.conf.get("tools.cmake.cmaketoolchain:system_version"): - tc.variables["CMAKE_SYSTEM_VERSION"] = "10.0" tc.generate() deps = CMakeDeps(self) From d9066ea9ed9869e56ee98b280981d628fa5c29b6 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Sep 2023 23:07:46 +0900 Subject: [PATCH 1592/4087] (#19755) gperftools: add version 2.13.0 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index 9b61f5954a26d..b141978957b85 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13.0": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.13/gperftools-2.13.tar.gz" + sha256: "4882c5ece69f8691e51ffd6486df7d79dbf43b0c909d84d3c0883e30d27323e7" "2.12.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.12/gperftools-2.12.tar.gz" sha256: "fb611b56871a3d9c92ab0cc41f9c807e8dfa81a54a4a9de7f30e838756b5c7c6" diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 901ed44b80295..65392d0c25ec5 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.0": + folder: all "2.12.0": folder: all "2.11.0": From 9dd70b13c0d218c1c94a74e9e61ec3dbade80c43 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 14 Sep 2023 22:21:49 +0200 Subject: [PATCH 1593/4087] (#19779) [bot] Update list of references (prod-v2/ListPackages) --- .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 81f7ccff089c4..8b4cb97448cab 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -1143,12 +1143,21 @@ required_for_references: - tree-sitter-c - troldal-zippy - trompeloeil +- tscns +- tsil +- tsl-array-hash +- tsl-hat-trie - tsl-hopscotch-map +- tsl-ordered-map +- tsl-robin-map +- tsl-sparse-map +- tuplet - turtle - type_safe - tz - ua-nodeset - uchardet +- uncrustify - uni-algo - unicorn - unity From 2cb5af2a1389c9712844ab88a0c9d2596715f511 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 14 Sep 2023 23:22:40 +0200 Subject: [PATCH 1594/4087] (#19807) [bot] Update authorized users list (2023-09-14) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 345b797f06831..212a9101efacf 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1228,3 +1228,6 @@ authorized_users: - temap - vient - bryce-cahill +- alfred-sa +- leducp +- mrjoel From 927ea98d0f8228bbc787d73dfcf15c875dccf8a1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 15 Sep 2023 01:07:44 +0300 Subject: [PATCH 1595/4087] (#18263) platform.equality: migrate to Conan v2 * platform.equality: migrate to Conan v2 * platform.equality: restore test_v1_package * platform.equality: add cmake_find_package_multi generator to test_v1_package * platform.equality: fix missing includes * platform.equality: require libstdc++ * platform.equality: restore VirtualRunEnv in test_package --- recipes/platform.equality/all/conanfile.py | 75 +++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +-- .../all/test_package/conanfile.py | 21 ++++-- .../all/test_package/test_package.cpp | 7 ++ .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 94 insertions(+), 43 deletions(-) create mode 100644 recipes/platform.equality/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/platform.equality/all/test_v1_package/conanfile.py diff --git a/recipes/platform.equality/all/conanfile.py b/recipes/platform.equality/all/conanfile.py index ce4633881f0af..8aa89e267366d 100644 --- a/recipes/platform.equality/all/conanfile.py +++ b/recipes/platform.equality/all/conanfile.py @@ -1,28 +1,37 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class PlatformInterfacesConan(ConanFile): name = "platform.equality" + description = ( + "platform.delegates is one of the libraries of the LinksPlatform modular framework, " + "which uses innovations from the C++20 standard, for slow parody any typing dictionary and others." + ) license = "LGPL-3.0-or-later" - homepage = "https://github.com/linksplatform/Equality" url = "https://github.com/conan-io/conan-center-index" - description = "platform.delegates is one of the libraries of the LinksPlatform modular framework, " \ - "which uses innovations from the C++20 standard, for slow parody any typing dictionary and others." + homepage = "https://github.com/linksplatform/Equality" topics = ("linksplatform", "cpp20", "equality", "ranges", "any", "header-only") - settings = "compiler" + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _minimum_cpp_standard(self): + return 20 @property def _internal_cpp_subfolder(self): - return os.path.join(self._source_subfolder, "cpp", "Platform.Equality") + return os.path.join(self.source_folder, "cpp", "Platform.Equality") @property def _compilers_minimum_version(self): @@ -30,37 +39,39 @@ def _compilers_minimum_version(self): "gcc": "10", "Visual Studio": "16", "clang": "11", - "apple-clang": "11" + "apple-clang": "11", } - @property - def _minimum_cpp_standard(self): - return 20 + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._minimum_cpp_standard) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) if not minimum_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) - - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("platform.equality/{} " - "requires C++{} with {}, " - "which is not supported " - "by {} {}.".format( - self.version, self._minimum_cpp_standard, self.settings.compiler, self.settings.compiler, - self.settings.compiler.version)) + self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._minimum_cpp_standard} with {self.settings.compiler}, " + f"which is not supported by {self.settings.compiler} {self.settings.compiler.version}." + ) - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) + if self.settings.compiler in ["clang", "apple-clang"] and not str(self.settings.compiler.libcxx).startswith("libstdc++"): + # ranges library from libc++ is not compatible with platform.equality + raise ConanInvalidConfiguration(f"{self.ref} requires libstdc++ with {self.settings.compiler}.") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("*.h", dst="include", src=self._internal_cpp_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=self._internal_cpp_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - def package_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/platform.equality/all/test_package/CMakeLists.txt b/recipes/platform.equality/all/test_package/CMakeLists.txt index c6c4cb78292be..5821e9140a6f1 100644 --- a/recipes/platform.equality/all/test_package/CMakeLists.txt +++ b/recipes/platform.equality/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -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() +find_package(platform.equality REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE platform.equality::platform.equality) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 20) diff --git a/recipes/platform.equality/all/test_package/conanfile.py b/recipes/platform.equality/all/test_package/conanfile.py index d4128b0450777..ef5d7042163ec 100644 --- a/recipes/platform.equality/all/test_package/conanfile.py +++ b/recipes/platform.equality/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/platform.equality/all/test_package/test_package.cpp b/recipes/platform.equality/all/test_package/test_package.cpp index fa88538c2fc86..ae61402c8fcd8 100644 --- a/recipes/platform.equality/all/test_package/test_package.cpp +++ b/recipes/platform.equality/all/test_package/test_package.cpp @@ -1,3 +1,10 @@ +// Workaround for missing includes in platform.equality +#include +#include +#include +#include +#include + #include #include diff --git a/recipes/platform.equality/all/test_v1_package/CMakeLists.txt b/recipes/platform.equality/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/platform.equality/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/platform.equality/all/test_v1_package/conanfile.py b/recipes/platform.equality/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/platform.equality/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 1f8e6201da7cb5a2dbb2cdb2b3775021067323fb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 15 Sep 2023 01:24:18 +0300 Subject: [PATCH 1596/4087] (#18270) redboltz-mqtt_cpp: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * redboltz-mqtt_cpp: migrate to Conan v2 * redboltz-mqtt_cpp: restore test_v1_package * redboltz-mqtt_cpp: restore VirtualRunEnv in test_package * redboltz-mqtt_cpp: bump deps * Update recipes/redboltz-mqtt_cpp/all/conanfile.py * Update recipes/redboltz-mqtt_cpp/all/conanfile.py --------- Co-authored-by: Francisco Ramírez --- recipes/redboltz-mqtt_cpp/all/conanfile.py | 62 ++++++++++++------- .../all/test_package/CMakeLists.txt | 6 +- .../all/test_package/conanfile.py | 19 ++++-- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 80 insertions(+), 34 deletions(-) create mode 100644 recipes/redboltz-mqtt_cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py diff --git a/recipes/redboltz-mqtt_cpp/all/conanfile.py b/recipes/redboltz-mqtt_cpp/all/conanfile.py index 8fdf7f70084cf..5ca0f086f35bf 100644 --- a/recipes/redboltz-mqtt_cpp/all/conanfile.py +++ b/recipes/redboltz-mqtt_cpp/all/conanfile.py @@ -1,8 +1,14 @@ -from conans import ConanFile, 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.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class MqttCPPConan(ConanFile): name = "redboltz-mqtt_cpp" @@ -10,20 +16,15 @@ class MqttCPPConan(ConanFile): license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/redboltz/mqtt_cpp" - topics = ("mqtt", "boost", "asio") + topics = ("mqtt", "boost", "asio", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - generators = "cmake" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - def requirements(self): - self.requires("boost/1.79.0") - - def package_id(self): - self.info.header_only() + def _min_cppstd(self): + return 14 @property def _compilers_minimum_version(self): @@ -33,27 +34,42 @@ def _compilers_minimum_version(self): "clang": "5", "apple-clang": "10", } - + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.83.0") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.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: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++14, which your compiler does not support.".format(self.name)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++14, which your compiler does not support.") else: - self.output.warn("{} requires C++14. Your compiler is unknown. Assuming it supports C++14.".format(self.name)) - + self.output.warning(f"{self.name} requires C++14. Your compiler is unknown. Assuming it supports C++14.") + 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 package(self): - self.copy(pattern="LICENSE_1_0.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE_1_0.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "mqtt_cpp") self.cpp_info.set_property("cmake_target_name", "mqtt_cpp::mqtt_cpp") diff --git a/recipes/redboltz-mqtt_cpp/all/test_package/CMakeLists.txt b/recipes/redboltz-mqtt_cpp/all/test_package/CMakeLists.txt index d57b3a725b42c..bb306edeaaa9c 100644 --- a/recipes/redboltz-mqtt_cpp/all/test_package/CMakeLists.txt +++ b/recipes/redboltz-mqtt_cpp/all/test_package/CMakeLists.txt @@ -1,10 +1,6 @@ -cmake_minimum_required(VERSION 3.8) - +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(mqtt_cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/redboltz-mqtt_cpp/all/test_package/conanfile.py b/recipes/redboltz-mqtt_cpp/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/redboltz-mqtt_cpp/all/test_package/conanfile.py +++ b/recipes/redboltz-mqtt_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", "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/redboltz-mqtt_cpp/all/test_package/test_package.cpp b/recipes/redboltz-mqtt_cpp/all/test_package/test_package.cpp index 65e10348b409b..a75d73b3ececd 100644 --- a/recipes/redboltz-mqtt_cpp/all/test_package/test_package.cpp +++ b/recipes/redboltz-mqtt_cpp/all/test_package/test_package.cpp @@ -6,7 +6,7 @@ int main() { boost::asio::io_context ioc; auto c = MQTT_NS::make_async_client(ioc, "localhost", "40000"); - + c->set_client_id("test_package"); c->set_clean_session(true); diff --git a/recipes/redboltz-mqtt_cpp/all/test_v1_package/CMakeLists.txt b/recipes/redboltz-mqtt_cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/redboltz-mqtt_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/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py b/recipes/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From b4c659f991c1460d7fc2f28ac2650df73e172dbb Mon Sep 17 00:00:00 2001 From: Dovydas Girdvainis Date: Fri, 15 Sep 2023 00:49:44 +0200 Subject: [PATCH 1597/4087] (#18914) Package/open62541 v1.3.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add v1.3.6 sources * update deps/ua-nodeset submodule * fix submodule source setup * fix check for msvc compiler * use conan v2 copy mechanism * do not add plugin, posix, win32 include dirs for single_header configurations * cleanup max_clang_version version formatting * fix nodeset path for test_package * retrigger CI/CD pipeline Signed-off-by: Dovydas Girdvainis * Simplify test_package, add package_type, fix licenses, openssl version range & conan fixes * Fix policy * Revert test_package.c --------- Signed-off-by: Dovydas Girdvainis Co-authored-by: Rubén Rincón Co-authored-by: Rubén Rincón Blanco --- recipes/open62541/all/conandata.yml | 3 + recipes/open62541/all/conanfile.py | 74 +++++++++---------- recipes/open62541/all/submoduledata.yml | 5 ++ .../open62541/all/test_package/conanfile.py | 6 +- recipes/open62541/config.yml | 2 + 5 files changed, 47 insertions(+), 43 deletions(-) diff --git a/recipes/open62541/all/conandata.yml b/recipes/open62541/all/conandata.yml index d458e6add2e68..e50e7d9a28e65 100644 --- a/recipes/open62541/all/conandata.yml +++ b/recipes/open62541/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.6": + url: "https://github.com/open62541/open62541/archive/v1.3.6.tar.gz" + sha256: "0751ce6273908b1e571f36591665f3d5b9451514c2478ea5f6b4b466d7da6b02" "1.3.4": url: "https://github.com/open62541/open62541/archive/v1.3.4.tar.gz" sha256: "3489cfa2f98c52df252adc8e641a9e59cb675bdfd5ef413b0d947e667cddd16d" diff --git a/recipes/open62541/all/conanfile.py b/recipes/open62541/all/conanfile.py index 25dd98cf850ff..a620f7d0b2c63 100644 --- a/recipes/open62541/all/conanfile.py +++ b/recipes/open62541/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps from conan.tools.scm import Version -from conan.tools.files import apply_conandata_patches, collect_libs, export_conandata_patches, rename, rm, rmdir, get +from conan.tools.files import apply_conandata_patches, collect_libs, export_conandata_patches, copy, rm, rmdir, get from conan.errors import ConanInvalidConfiguration import glob import os @@ -12,7 +12,7 @@ class Open62541Conan(ConanFile): name = "open62541" - license = "MPLv2" + license = ("MPL-2.0", "CC0-1.0") homepage = "https://open62541.org/" url = "https://github.com/conan-io/conan-center-index" description = "open62541 is an open source and free implementation of OPC UA " \ @@ -24,10 +24,11 @@ class Open62541Conan(ConanFile): "All platform-specific functionality is implemented via exchangeable " \ "plugins. Plugin implementations are provided for the major operating systems." topics = ( - "opc ua", "open62541", "sdk", "server/client", "c", "iec-62541", + "opc ua", "sdk", "server/client", "c", "iec-62541", "industrial automation", "tsn", "time sensitive networks", "publish-subscirbe", "pubsub" ) + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "fPIC": [True, False], @@ -181,7 +182,7 @@ def requirements(self): if self.options.encryption == "mbedtls": self.requires("mbedtls/2.25.0") elif self.options.encryption == "openssl": - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") if self.options.web_socket: self.requires("libwebsockets/4.3.2") if self.options.discovery == "With Multicast" or "multicast" in str(self.options.discovery): @@ -214,9 +215,7 @@ def validate(self): raise ConanInvalidConfiguration( "Lower Open62541 versions than 1.1.0 are not cpp compatible due to -fpermisive flags") - # FIXME: correct clang versions condition - max_clang_version = "8" if Version( - self.version) < "1.1.0" else "9" + max_clang_version = "8" if Version(self.version) < "1.1.0" else "9" if self.settings.compiler == "clang" and Version(self.settings.compiler.version) > max_clang_version: raise ConanInvalidConfiguration( "Open62541 supports Clang up to {} compiler version".format(max_clang_version)) @@ -244,19 +243,13 @@ def source(self): with open(submodule_filename, 'r') as submodule_stream: submodules_data = yaml.safe_load(submodule_stream) for path, submodule in submodules_data["submodules"][self.version].items(): - filename = os.path.basename(submodule["url"]) - archive_name = submodule["archive_pattern"].format( - version=os.path.splitext(filename.replace('v', ''))[0]) - - submodule_data = { - "url": submodule["url"], - "sha256": submodule["sha256"] - } - - get(self, **submodule_data) - submodule_source = os.path.join(self.source_folder, path) - rmdir(self, submodule_source) - rename(self, archive_name, submodule_source) + archive_name = os.path.splitext( + os.path.basename(submodule["url"]))[0] + get(self, url=submodule["url"], + sha256=submodule["sha256"], + destination=path, + filename=archive_name, + strip_root=True) def _get_log_level(self): return { @@ -356,11 +349,11 @@ def generate(self): tc.variables["UA_ENABLE_STATUSCODE_DESCRIPTIONS"] = self.options.readable_statuscodes tc.variables["UA_ENABLE_HARDENING"] = self.options.hardening - if self.settings.compiler == "Visual Studio" and self.options.shared == True: + if self.settings.compiler == "msvc" and self.options.shared == True: tc.variables["UA_MSVC_FORCE_STATIC_CRT"] = True tc.variables["UA_COMPILE_AS_CXX"] = self.options.cpp_compatible - + # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" @@ -371,8 +364,7 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) if Version(self.version) >= "1.3.1": - os.unlink(os.path.join(self.source_folder, - "tools", "cmake", "FindPython3.cmake")) + os.unlink(os.path.join(self.source_folder, "tools", "cmake", "FindPython3.cmake")) def build(self): self._patch_sources() @@ -393,8 +385,9 @@ def _module_file_rel_path(self): return os.path.join(self._module_subfolder, "open62541Macros.cmake") def package(self): - self.copy("LICENSE", dst="licenses", src=self.source_folder) - self.copy("LICENSE-CC0", dst="licenses", src=self.source_folder) + licenses_dir = os.path.join(self.package_folder, "licenses") + copy(self, "LICENSE", src=self.source_folder, dst=licenses_dir) + copy(self, "LICENSE-CC0", src=self.source_folder, dst=licenses_dir) cmake = CMake(self) cmake.install() @@ -408,10 +401,9 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) - self.copy("generate_*.py", src=self._tools_subfolder, - dst=os.path.join("res", "tools")) - self.copy("nodeset_compiler/*", src=self._tools_subfolder, - dst=os.path.join("res", "tools")) + tools_dir = os.path.join(self.package_folder, "res", "tools") + copy(self, "generate_*.py", src=self._tools_subfolder, dst=tools_dir) + copy(self, "nodeset_compiler/*", src=self._tools_subfolder, dst=tools_dir) @staticmethod def _chmod_plus_x(filename): @@ -423,10 +415,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "open62541" self.cpp_info.names["pkg_config"] = "open62541" self.cpp_info.libs = collect_libs(self) - self.cpp_info.includedirs = [ - "include", - os.path.join("include", "open62541", "plugin") - ] + self.cpp_info.includedirs = ["include"] # required for creating custom servers from ua-nodeset self.conf_info.define("user.open62541:tools_dir", os.path.join( @@ -439,14 +428,19 @@ def package_info(self): if self.options.single_header: self.cpp_info.defines.append("UA_ENABLE_AMALGAMATION") - if self.settings.os == "Windows": - self.cpp_info.system_libs.append("ws2_32") - self.cpp_info.includedirs.append( - os.path.join("include", "open62541", "win32")) else: self.cpp_info.includedirs.append( - os.path.join("include", "open62541", "posix")) - if self.settings.os in ("Linux", "FreeBSD"): + os.path.join("include", "open62541", "plugin")) + if self.settings.os == "Windows": + self.cpp_info.includedirs.append( + os.path.join("include", "open62541", "win32")) + else: + self.cpp_info.includedirs.append( + os.path.join("include", "open62541", "posix")) + + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("ws2_32") + elif self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.system_libs.extend(["pthread", "m", "rt"]) self.cpp_info.builddirs.append(self._module_subfolder) diff --git a/recipes/open62541/all/submoduledata.yml b/recipes/open62541/all/submoduledata.yml index 19278804be705..5a2a7e3ff90b7 100644 --- a/recipes/open62541/all/submoduledata.yml +++ b/recipes/open62541/all/submoduledata.yml @@ -49,3 +49,8 @@ submodules: sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip archive_pattern: "UA-Nodeset-{version}" + "1.3.6": + deps/ua-nodeset: + sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 + url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip + archive_pattern: "UA-Nodeset-{version}" diff --git a/recipes/open62541/all/test_package/conanfile.py b/recipes/open62541/all/test_package/conanfile.py index 52782cf8480cf..c1fe645c77cc3 100644 --- a/recipes/open62541/all/test_package/conanfile.py +++ b/recipes/open62541/all/test_package/conanfile.py @@ -7,7 +7,7 @@ # 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): @@ -19,8 +19,8 @@ def layout(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["open62541_NODESET_DIR"] = self.deps_user_info["ua-nodeset"].nodeset_dir.replace( - "\\", "/") # ua-nodeset path needs to be sanitized for windows systems + tc.variables["open62541_NODESET_DIR"] = self.dependencies["ua-nodeset"].conf_info.get( + "user.ua-nodeset:nodeset_dir").replace("\\", "/") # sanitize path for windows systems tc.variables["open62541_TOOLS_DIR"] = self.dependencies["open62541"].conf_info.get( "user.open62541:tools_dir") tc.generate() diff --git a/recipes/open62541/config.yml b/recipes/open62541/config.yml index 76c7748700110..a82ee371e80a5 100644 --- a/recipes/open62541/config.yml +++ b/recipes/open62541/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.6": + folder: all "1.3.4": folder: all "1.3.1": From 90e3ab49607d0f3ddaa9d5e53d87e367c45dbd69 Mon Sep 17 00:00:00 2001 From: qwqbot Date: Fri, 15 Sep 2023 07:29:25 +0800 Subject: [PATCH 1598/4087] (#19472) spdlog: update fmt/10.1.1 --- recipes/spdlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index b24d1adfcb1ba..85bd609950223 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): fmt_version = "7.1.3" if self_version >= "1.12.0": - fmt_version = "10.1.0" + fmt_version = "10.1.1" elif self_version >= "1.11.0": fmt_version = "10.0.0" elif self_version >= "1.10.0": From cd2b27a2706b7925a90b7a1aa79621973543cc62 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 02:13:29 +0200 Subject: [PATCH 1599/4087] (#19664) openexr 3.x: use version range for zlib + add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * add package_type * sort methods by order of execution * Update recipes/openexr/3.x/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/openexr/3.x/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/openexr/3.x/conanfile.py b/recipes/openexr/3.x/conanfile.py index 34ca44936ccbe..8d58713defa5c 100644 --- a/recipes/openexr/3.x/conanfile.py +++ b/recipes/openexr/3.x/conanfile.py @@ -16,7 +16,7 @@ class OpenEXRConan(ConanFile): license = "BSD-3-Clause" homepage = "https://github.com/AcademySoftwareFoundation/openexr" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,8 +38,11 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") # Note: OpenEXR and Imath are versioned independently. self.requires("imath/3.1.9", transitive_headers=True) @@ -47,9 +50,6 @@ def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 20a0a9cc364fee3f5e0a65c2fac103c62f9164ca Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 02:56:56 +0200 Subject: [PATCH 1600/4087] (#19666) openexr 2.x: use version range for zlib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * Update recipes/openexr/2.x/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/openexr/2.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openexr/2.x/conanfile.py b/recipes/openexr/2.x/conanfile.py index a68e5d8d7ad88..b23f21238a92e 100644 --- a/recipes/openexr/2.x/conanfile.py +++ b/recipes/openexr/2.x/conanfile.py @@ -38,7 +38,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if Version(self.version) < "2.5.0" and hasattr(self, "settings_build") and cross_building(self): From 97f207a298ef1e3272c379ba9801652cba1d8604 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 03:54:28 +0200 Subject: [PATCH 1601/4087] (#19669) minizip: use version range for zlib + add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * add package_type * Update recipes/minizip/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/minizip/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/minizip/all/conanfile.py b/recipes/minizip/all/conanfile.py index e4316426a6e9c..cec7c823f0429 100644 --- a/recipes/minizip/all/conanfile.py +++ b/recipes/minizip/all/conanfile.py @@ -13,7 +13,7 @@ class MinizipConan(ConanFile): license = "Zlib" description = "An experimental package to read and write files in .zip format, written on top of zlib" topics = ("zip", "compression", "inflate") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -46,7 +46,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13", transitive_headers=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) if self.options.bzip2: self.requires("bzip2/1.0.8", transitive_headers=True) From 8b1252b00ce99af379e87340bc14d2e57159949f Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 15 Sep 2023 11:28:58 +0900 Subject: [PATCH 1602/4087] (#19760) dirent: add version 1.24 --- recipes/dirent/all/conandata.yml | 3 +++ recipes/dirent/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dirent/all/conandata.yml b/recipes/dirent/all/conandata.yml index 41d2c31a73c7a..30637c5892d6d 100644 --- a/recipes/dirent/all/conandata.yml +++ b/recipes/dirent/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.24": + url: "https://github.com/tronkko/dirent/archive/1.24.tar.gz" + sha256: "37009127a65bb1ddc47d06c097321f87f45ca2e998b2ec3bf2e0b2b19649d6f9" "1.23.2": url: "https://github.com/tronkko/dirent/archive/1.23.2.tar.gz" sha256: "f72d39e3c39610b6901e391b140aa69b51e0eb99216939ed5e547b5dad03afb1" diff --git a/recipes/dirent/config.yml b/recipes/dirent/config.yml index 6086eb1e0524d..bb0674fda16d8 100644 --- a/recipes/dirent/config.yml +++ b/recipes/dirent/config.yml @@ -1,3 +1,5 @@ versions: + "1.24": + folder: all "1.23.2": folder: all From 220cc0262dd825b684e0f6d893b7f8aac715c4d5 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 15 Sep 2023 04:49:33 +0200 Subject: [PATCH 1603/4087] (#19765) openssl: add version 1.1.1w --- recipes/openssl/1.x.x/conandata.yml | 10 ++++++++++ recipes/openssl/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/openssl/1.x.x/conandata.yml b/recipes/openssl/1.x.x/conandata.yml index 14abde7996026..b4e34f1c74cae 100644 --- a/recipes/openssl/1.x.x/conandata.yml +++ b/recipes/openssl/1.x.x/conandata.yml @@ -27,6 +27,12 @@ sources: - "https://www.openssl.org/source/openssl-1.1.1v.tar.gz" - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz" - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1v/openssl-1.1.1v.tar.gz" + 1.1.1w: + sha256: cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 + url: + - "https://www.openssl.org/source/openssl-1.1.1w.tar.gz" + - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz" + - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz" patches: 1.0.2u: - patch_file: patches/1.0.2u-darwin-arm64.patch @@ -44,3 +50,7 @@ patches: - patch_file: patches/1.1.1-tvos-watchos.patch patch_description: "TVOS and WatchOS don't like fork()" patch_type: "portability" + 1.1.1w: + - patch_file: patches/1.1.1-tvos-watchos.patch + patch_description: "TVOS and WatchOS don't like fork()" + patch_type: "portability" diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index add37f9129c6c..67834781567eb 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -15,6 +15,8 @@ versions: folder: "3.x.x" # 1.1.1x releases + 1.1.1w: + folder: "1.x.x" 1.1.1v: folder: "1.x.x" 1.1.1u: From 5d576ffd98e5db1a6726656ab82150a7adc7efa4 Mon Sep 17 00:00:00 2001 From: Beartama <8091245+uyha@users.noreply.github.com> Date: Fri, 15 Sep 2023 05:29:52 +0200 Subject: [PATCH 1604/4087] (#19777) sml: add version 1.1.9 --- recipes/sml/all/conandata.yml | 3 +++ recipes/sml/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sml/all/conandata.yml b/recipes/sml/all/conandata.yml index 3c49eae151250..39d52a814e37c 100644 --- a/recipes/sml/all/conandata.yml +++ b/recipes/sml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.9": + url: "https://github.com/boost-ext/sml/archive/refs/tags/v1.1.9.tar.gz" + sha256: "c5ebffcf791ca0b89fd49a410b720432de748a31b7e0c9e5bd5c567d11c8c477" "1.1.8": url: "https://github.com/boost-ext/sml/archive/refs/tags/v1.1.8.tar.gz" sha256: "d2626b2fd249fa0788ca364a2f8dcb4762dd72195f86d43370e4cad4c02262c5" diff --git a/recipes/sml/config.yml b/recipes/sml/config.yml index 5ebc9beff7190..aff831fd45b0a 100644 --- a/recipes/sml/config.yml +++ b/recipes/sml/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.9": + folder: all "1.1.8": folder: all "1.1.6": From fcf123c0e0416eacd0edfbb333f4ebcd235fa608 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Fri, 15 Sep 2023 05:51:06 +0200 Subject: [PATCH 1605/4087] (#19778) add make/4.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add make/4.4 * add missing entry in config.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/make/all/conandata.yml | 5 +++++ recipes/make/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/make/all/conandata.yml b/recipes/make/all/conandata.yml index fb6e6264363e7..d11432dff7294 100644 --- a/recipes/make/all/conandata.yml +++ b/recipes/make/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4": + url: "http://ftpmirror.gnu.org/gnu/make/make-4.4.tar.gz" + sha256: "581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18" "4.3": url: "http://ftpmirror.gnu.org/gnu/make/make-4.3.tar.gz" sha256: "e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19" @@ -6,6 +9,8 @@ sources: url: "http://ftpmirror.gnu.org/gnu/make/make-4.2.1.tar.bz2" sha256: "d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589" patches: + "4.4": + - patch_file: "patches/4.3-0001-clang.patch" "4.3": - patch_file: "patches/4.3-0001-clang.patch" "4.2.1": diff --git a/recipes/make/config.yml b/recipes/make/config.yml index 0260fd9e5313f..34673d1418b17 100644 --- a/recipes/make/config.yml +++ b/recipes/make/config.yml @@ -1,4 +1,6 @@ versions: + "4.4": + folder: all "4.3": folder: all "4.2.1": From f5516efa03caf412c8336f6251a576cbbb5a17c1 Mon Sep 17 00:00:00 2001 From: chausner <15180557+chausner@users.noreply.github.com> Date: Fri, 15 Sep 2023 06:10:49 +0200 Subject: [PATCH 1606/4087] (#19792) Add drwav 0.13.12 Co-authored-by: chausner --- recipes/drwav/all/conandata.yml | 4 ++++ recipes/drwav/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/drwav/all/conandata.yml b/recipes/drwav/all/conandata.yml index 449e35d180bee..cfc31466349bc 100644 --- a/recipes/drwav/all/conandata.yml +++ b/recipes/drwav/all/conandata.yml @@ -1,4 +1,8 @@ sources: + # NOTE: https://github.com/mackron/dr_libs/blob/d35a3bc5efd02455d98cbe12b94647136f09b42d/dr_wav.h#L3 + "0.13.12": + url: https://github.com/mackron/dr_libs/archive/d35a3bc5efd02455d98cbe12b94647136f09b42d.zip + sha256: "4886462b8ed26f12b8bceccb80f1447075ed5e73240089f2a78e0c32b444b370" # NOTE: https://github.com/mackron/dr_libs/blob/4f6da71ed357ade92dc91f00e6be7301ec9a82a3/dr_wav.h#L3 "0.13.7": url: https://github.com/mackron/dr_libs/archive/4f6da71ed357ade92dc91f00e6be7301ec9a82a3.zip diff --git a/recipes/drwav/config.yml b/recipes/drwav/config.yml index 6c8f065f79d49..b1c16872231f4 100644 --- a/recipes/drwav/config.yml +++ b/recipes/drwav/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.12": + folder: all "0.13.7": folder: all "0.13.6": From ea3e909c38d644c8c1d74f4d0bcea4014c2af816 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 15 Sep 2023 06:49:36 +0200 Subject: [PATCH 1607/4087] (#19806) libsodium 1.0.19 --- recipes/libsodium/all/conandata.yml | 3 +++ recipes/libsodium/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libsodium/all/conandata.yml b/recipes/libsodium/all/conandata.yml index d0974216f8865..c399471111c38 100644 --- a/recipes/libsodium/all/conandata.yml +++ b/recipes/libsodium/all/conandata.yml @@ -1,6 +1,9 @@ # To update the version on CCI, add a new cci.date entry from the stable branch: # https://github.com/jedisct1/libsodium/commits/stable sources: + "1.0.19": + url: "https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19.tar.gz" + sha256: "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea" "1.0.18": url: "https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz" sha256: "6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1" diff --git a/recipes/libsodium/config.yml b/recipes/libsodium/config.yml index 819e72ce10826..4dfbbb5c3d410 100644 --- a/recipes/libsodium/config.yml +++ b/recipes/libsodium/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.19": + folder: all "1.0.18": folder: all "cci.20220430": From 115a67a748b7d67f4ef4ef7d54fcfa0d88a7da2a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 15 Sep 2023 07:29:16 +0200 Subject: [PATCH 1608/4087] (#19819) libwebp: add version 1.3.2 --- recipes/libwebp/all/conandata.yml | 7 +++++++ recipes/libwebp/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libwebp/all/conandata.yml b/recipes/libwebp/all/conandata.yml index b036ea65e6055..47f77300daa6a 100644 --- a/recipes/libwebp/all/conandata.yml +++ b/recipes/libwebp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.2.tar.gz" + sha256: "2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4" "1.3.1": url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.1.tar.gz" sha256: "b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66" @@ -27,6 +30,10 @@ sources: url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz" sha256: "e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f" patches: + "1.3.2": + - patch_file: "patches/1.3.1-0001-fix-cmake.patch" + patch_description: "disable PIC, disable prefix library name on MSVC" + patch_type: "conan" "1.3.1": - patch_file: "patches/1.3.1-0001-fix-cmake.patch" patch_description: "disable PIC, disable prefix library name on MSVC" diff --git a/recipes/libwebp/config.yml b/recipes/libwebp/config.yml index 3bf80d4385ecd..5efe9c8c34aa9 100644 --- a/recipes/libwebp/config.yml +++ b/recipes/libwebp/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.3.1": folder: all "1.3.0": From 27d562866a062cc4e4c3d05973780f8d24003d22 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 15 Sep 2023 09:30:34 +0200 Subject: [PATCH 1609/4087] (#19821) libtiff: add version 4.6.0 --- 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 cc7431489956e..96a6b01214da4 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.0": + url: "http://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz" + sha256: "88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a" "4.5.1": url: "http://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz" sha256: "d7f38b6788e4a8f5da7940c5ac9424f494d8a79eba53d555f4a507167dca5e2b" @@ -12,6 +15,10 @@ sources: url: "http://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" sha256: "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" patches: + "4.6.0": + - patch_file: "patches/4.5.1-0001-cmake-dependencies.patch" + patch_description: "CMake: robust handling of dependencies" + patch_type: "conan" "4.5.1": - 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 961a315dc8eb6..d9523166c1893 100644 --- a/recipes/libtiff/config.yml +++ b/recipes/libtiff/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.0": + folder: all "4.5.1": folder: all "4.5.0": From 24e585d73100d52feeb52203b3ed47701fb5e2ab Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Fri, 15 Sep 2023 01:09:18 -0700 Subject: [PATCH 1610/4087] (#19826) antlr4-cppruntime: Add version 4.13.1. --- recipes/antlr4-cppruntime/all/conandata.yml | 3 +++ recipes/antlr4-cppruntime/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/antlr4-cppruntime/all/conandata.yml b/recipes/antlr4-cppruntime/all/conandata.yml index 28bc286ec79b5..f6974e320b559 100644 --- a/recipes/antlr4-cppruntime/all/conandata.yml +++ b/recipes/antlr4-cppruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.13.1": + url: "https://github.com/antlr/antlr4/archive/refs/tags/4.13.1.tar.gz" + sha256: "da20d487524d7f0a8b13f73a8dc326de7fc2e5775f5a49693c0a4e59c6b1410c" "4.13.0": url: "https://github.com/antlr/antlr4/archive/refs/tags/4.13.0.tar.gz" sha256: "b7082b539256e6de5137a7d57afe89493dce234a3ce686dbae709ef6cf2d2c81" diff --git a/recipes/antlr4-cppruntime/config.yml b/recipes/antlr4-cppruntime/config.yml index 62ba72dbb3e3f..05c77e20051f9 100644 --- a/recipes/antlr4-cppruntime/config.yml +++ b/recipes/antlr4-cppruntime/config.yml @@ -1,4 +1,6 @@ versions: + "4.13.1": + folder: all "4.13.0": folder: all "4.12.0": From 30a9f2eb1e4bf454b408712318b9c13376552a95 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Fri, 15 Sep 2023 19:33:33 +0930 Subject: [PATCH 1611/4087] (#17427) [tk] Migrate tk to conan 2.0 * [tk] Migrate tk to conan 2.0 * Move to modern conan implementation * Transition most file modifications to patches * [tk] Formatting and linting fixes * Apply black * Sort imports * Remove unused imports * Prefer fstrings over format where possible * [tk] Ensure license is exported with package * [tk] Fix typo in runenv vars retrieval * [tk] Fix NMake builds * Fix patch to appropriately remove TCL variables and handle the rules directory * Move build logic into the _build_nmake method rather than generate so that the values can be passed directly to the command line. * Fix windows lib name in package_info * [tk] Add dynamic runtime compatibility * [tk] Conditionally use AutotoolsDeps Only use AutotoolsDeps on linux where there are dependencies not passed directly to the library. This resolves an issue on Macos where configure failed to determine whether it was cross building when the AutotoolsDeps generator was used. * [tk] Invalidate Macos M1 builds * [tk] Modify validate to remove macos crossbuilds rather than M1 builds Co-authored-by: Matthieu Darbois --------- Co-authored-by: Matthieu Darbois --- recipes/tk/all/conandata.yml | 12 + recipes/tk/all/conanfile.py | 327 ++++++++++-------- .../0001-Add-unix-conan-compatibility.patch | 80 +++++ ...0002-Add-windows-conan-compatibility.patch | 145 ++++++++ .../all/patches/0003-Patch-tkConfig.sh.patch | 89 +++++ recipes/tk/all/test_package/CMakeLists.txt | 11 +- recipes/tk/all/test_package/conanfile.py | 21 +- .../all/test_package/{ => src}/test_package.c | 1 + recipes/tk/all/test_v1_package/CMakeLists.txt | 8 + recipes/tk/all/test_v1_package/conanfile.py | 17 + 10 files changed, 551 insertions(+), 160 deletions(-) create mode 100644 recipes/tk/all/patches/0001-Add-unix-conan-compatibility.patch create mode 100644 recipes/tk/all/patches/0002-Add-windows-conan-compatibility.patch create mode 100644 recipes/tk/all/patches/0003-Patch-tkConfig.sh.patch rename recipes/tk/all/test_package/{ => src}/test_package.c (92%) create mode 100644 recipes/tk/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tk/all/test_v1_package/conanfile.py diff --git a/recipes/tk/all/conandata.yml b/recipes/tk/all/conandata.yml index 8cbbcf9134e3c..7e9e03ca25a75 100644 --- a/recipes/tk/all/conandata.yml +++ b/recipes/tk/all/conandata.yml @@ -2,3 +2,15 @@ sources: "8.6.10": url: "https://prdownloads.sourceforge.net/tcl/tk8.6.10-src.tar.gz" sha256: "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386" + +patches: + "8.6.10": + - patch_file: "patches/0001-Add-unix-conan-compatibility.patch" + patch_description: "Add unix conan compatibility" + patch_type: "conan" + - patch_file: "patches/0002-Add-windows-conan-compatibility.patch" + patch_description: "Add windows conan compatibility" + patch_type: "conan" + - patch_file: "patches/0003-Patch-tkConfig.sh.patch" + patch_description: "Remove TK_BUILD_* and TK_SRC_DIR from tkConfig.sh for portability" + patch_type: "portability" diff --git a/recipes/tk/all/conanfile.py b/recipes/tk/all/conanfile.py index 97130833734db..2c3e88ddc0d5b 100644 --- a/recipes/tk/all/conanfile.py +++ b/recipes/tk/all/conanfile.py @@ -1,8 +1,26 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanException, ConanInvalidConfiguration, ConanExceptionInUserConanfileMethod import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanException, ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import ( + apply_conandata_patches, + chdir, + copy, + export_conandata_patches, + get, + replace_in_file, + rmdir, +) +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import NMakeDeps, NMakeToolchain, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.55.0" + class TkConan(ConanFile): name = "tk" @@ -12,6 +30,7 @@ class TkConan(ConanFile): license = "TCL" url = "https://github.com/conan-io/conan-center-index" settings = "os", "compiler", "build_type", "arch" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -21,24 +40,23 @@ class TkConan(ConanFile): "fPIC": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def requirements(self): - self.requires("tcl/{}".format(self.version)) + self.requires( + f"tcl/{self.version}", transitive_headers=True, transitive_libs=True + ) if self.settings.os == "Linux": self.requires("fontconfig/2.13.93") self.requires("xorg/system") @@ -48,66 +66,84 @@ def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if self.settings.compiler != "Visual Studio": - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): + if not is_msvc(self): + if ( + self._settings_build.os == "Windows" + and not self.conf.get("tools.microsoft.bash:path") + and not self.conf.get("tools.microsoft.bash:subsystem") + ): self.build_requires("msys2/cci.latest") def validate(self): - if self.options["tcl"].shared != self.options.shared: - raise ConanInvalidConfiguration("The shared option of tcl and tk must have the same value") - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def _patch_sources(self): - for build_system in ("unix", "win", ): - config_dir = self._get_configure_folder(build_system) - - if build_system != "win": - # When disabling 64-bit support (in 32-bit), this test must be 0 in order to use "long long" for 64-bit ints - # (${tcl_type_64bit} can be either "__int64" or "long long") - tools.replace_in_file(os.path.join(config_dir, "configure"), - "(sizeof(${tcl_type_64bit})==sizeof(long))", - "(sizeof(${tcl_type_64bit})!=sizeof(long))") - - makefile_in = os.path.join(config_dir, "Makefile.in") - # Avoid clearing CFLAGS and LDFLAGS in the makefile - # tools.replace_in_file(makefile_in, "\nCFLAGS{}".format(" " if (build_system == "win" and name == "tcl") else "\t"), "\n#CFLAGS\t") - tools.replace_in_file(makefile_in, "\nLDFLAGS\t", "\n#LDFLAGS\t") - tools.replace_in_file(makefile_in, "${CFLAGS}", "${CFLAGS} ${CPPFLAGS}") - - rules_ext_vc = os.path.join(self.source_folder, self._source_subfolder, "win", "rules-ext.vc") - tools.replace_in_file(rules_ext_vc, - "\n_RULESDIR = ", - "\n_RULESDIR = .\n#_RULESDIR = ") - rules_vc = os.path.join(self.source_folder, self._source_subfolder, "win", "rules.vc") - tools.replace_in_file(rules_vc, - r"$(_TCLDIR)\generic", - r"$(_TCLDIR)\include") - tools.replace_in_file(rules_vc, - "\nTCLSTUBLIB", - "\n#TCLSTUBLIB") - tools.replace_in_file(rules_vc, - "\nTCLIMPLIB", - "\n#TCLIMPLIB") + if self.dependencies["tcl"].options.shared != self.options.shared: + raise ConanInvalidConfiguration( + "The shared option of tcl and tk must have the same value" + ) + if self.settings.os == "Macos" and cross_building(self): + raise ConanInvalidConfiguration("The tk conan recipe does not currently support Macos cross-builds. A contribution to add this functionality would be welcome.") - win_makefile_in = os.path.join(self._get_configure_folder("win"), "Makefile.in") - tools.replace_in_file(win_makefile_in, "\nTCL_GENERIC_DIR", "\n#TCL_GENERIC_DIR") + def layout(self): + basic_layout(self, src_folder="src") - win_rules_vc = os.path.join(self._source_subfolder, "win", "rules.vc") - tools.replace_in_file(win_rules_vc, - "\ncwarn = $(cwarn) -WX", - "\n# cwarn = $(cwarn) -WX") - # disable whole program optimization to be portable across different MSVC versions. - # See conan-io/conan-center-index#4811 conan-io/conan-center-index#4094 - tools.replace_in_file( - win_rules_vc, - "OPTIMIZATIONS = $(OPTIMIZATIONS) -GL", - "# OPTIMIZATIONS = $(OPTIMIZATIONS) -GL") + def source(self): + get( + self, + **self.conan_data["sources"][self.version], + strip_root=True, + destination=self.source_folder, + ) + + def generate(self): + buildenv = VirtualBuildEnv(self) + buildenv.generate() + + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + + deps = NMakeDeps(self) + deps.generate() + else: + # Inject runenv variables into buildenv + # This is required because tcl needs to be available when configure tries to + # run a test executable + if not cross_building(self): + runenv = VirtualRunEnv(self) + runenv.generate(scope="build") + + yes_no = lambda v: "yes" if v else "no" + tc = AutotoolsToolchain(self) + tc.configure_args.append("--enable-threads") + tc.configure_args.append( + f"--enable-symbols={yes_no(self.settings.build_type == 'Debug')}" + ) + tc.configure_args.append( + f"--enable-64bit={yes_no(self.settings.arch == 'x86_64')}" + ) + tc.configure_args.append(f"--enable-aqua={yes_no(is_apple_os(self))}") + tc.configure_args.append( + f"--with-tcl={os.path.join(self.dependencies['tcl'].package_folder, 'lib')}" + ) + tc.configure_args.append(f"--with-x={yes_no(self.settings.os == 'Linux')}") + tc.make_args.append( + f"TCL_GENERIC_DIR={os.path.join(self.dependencies['tcl'].package_folder, 'include')}" + ) + if self.settings.os == "Windows": + tc.extra_defines.extend( + [ + "UNICODE", + "_UNICODE", + "_ATL_XP_TARGETING", + ] + ) + tc.generate() + + if self.settings.os == "Linux": + deps = AutotoolsDeps(self) + deps.generate() def _get_default_build_system(self): - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): return "macosx" elif self.settings.os in ("Linux", "FreeBSD"): return "unix" @@ -120,8 +156,8 @@ def _get_configure_folder(self, build_system=None): if build_system is None: build_system = self._get_default_build_system() if build_system not in ["win", "unix", "macosx"]: - raise ConanExceptionInUserConanfileMethod("Invalid build system: {}".format(build_system)) - return os.path.join(self.source_folder, self._source_subfolder, build_system) + raise ConanException(f"Invalid build system: {build_system}") + return os.path.join(self.source_folder, build_system) def _build_nmake(self, target="release"): # https://core.tcl.tk/tips/doc/trunk/tip/477.md @@ -130,7 +166,7 @@ def _build_nmake(self, target="release"): opts.append("static") if self.settings.build_type == "Debug": opts.append("symbols") - if "MD" in str(self.settings.compiler.runtime): + if "dynamic" in str(self.settings.compiler.runtime) or "MD" in str(self.settings.compiler.runtime): opts.append("msvcrt") else: opts.append("nomsvcrt") @@ -138,121 +174,116 @@ def _build_nmake(self, target="release"): opts.append("unchecked") # https://core.tcl.tk/tk/tktview?name=3d34589aa0 # https://wiki.tcl-lang.org/page/Building+with+Visual+Studio+2017 - tcl_lib_path = os.path.join(self.deps_cpp_info["tcl"].rootpath, "lib") + tcl_lib_path = os.path.join(self.dependencies["tcl"].package_folder, "lib") tclimplib, tclstublib = None, None for lib in os.listdir(tcl_lib_path): if not lib.endswith(".lib"): continue if lib.startswith("tcl{}".format("".join(self.version.split(".")[:2]))): tclimplib = os.path.join(tcl_lib_path, lib) - elif lib.startswith("tclstub{}".format("".join(self.version.split(".")[:2]))): + elif lib.startswith( + "tclstub{}".format("".join(self.version.split(".")[:2])) + ): tclstublib = os.path.join(tcl_lib_path, lib) if tclimplib is None or tclstublib is None: raise ConanException("tcl dependency misses tcl and/or tclstub library") - with tools.vcvars(self.settings): - tcldir = self.deps_cpp_info["tcl"].rootpath.replace("/", "\\\\") + + flags = { + "INSTALLDIR": self.package_folder, + "OPTS": ",".join(opts), + "TCLDIR": self.dependencies["tcl"].package_folder, + "TCL_LIBRARY": self.dependencies["tcl"].runenv_info.vars(self).get("TCL_LIBRARY"), + "TCLIMPLIB": tclimplib, + "TCLSTUBLIB": tclstublib, + } + config_dir = self._get_configure_folder("win") + with chdir(self, config_dir): self.run( - """nmake -nologo -f "{cfgdir}/makefile.vc" INSTALLDIR="{pkgdir}" OPTS={opts} TCLDIR="{tcldir}" TCL_LIBRARY="{tcl_library}" TCLIMPLIB="{tclimplib}" TCLSTUBLIB="{tclstublib}" {target}""".format( - cfgdir=self._get_configure_folder("win"), - pkgdir=self.package_folder, - opts=",".join(opts), - tcldir=tcldir, - tclstublib=tclstublib, - tclimplib=tclimplib, - tcl_library=self.deps_env_info['tcl'].TCL_LIBRARY.replace("\\", "/"), - target=target, - ), cwd=self._get_configure_folder("win"), + f"""nmake -nologo -f makefile.vc {' '.join([f'{k}="{v}"' for k, v in flags.items()])} {target}""", + env="conanbuild", ) - def _configure_autotools(self): - tcl_root = self.deps_cpp_info["tcl"].rootpath - make_args = ["TCL_GENERIC_DIR={}".format(os.path.join(tcl_root, "include")).replace("\\", "/")] - if self._autotools: - return self._autotools, make_args - - tclConfigShFolder = os.path.join(tcl_root, "lib").replace("\\", "/") - - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - yes_no = lambda v: "yes" if v else "no" - conf_args = [ - "--with-tcl={}".format(tools.unix_path(tclConfigShFolder)), - "--enable-threads", - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-symbols={}".format(yes_no(self.settings.build_type == "Debug")), - "--enable-64bit={}".format(yes_no(self.settings.arch == "x86_64")), - "--with-x={}".format(yes_no(self.settings.os == "Linux")), - "--enable-aqua={}".format(yes_no(tools.is_apple_os(self.settings.os))), - ] - - if self.settings.os == "Windows": - self._autotools.defines.extend(["UNICODE", "_UNICODE", "_ATL_XP_TARGETING", ]) - self._autotools.libs = [] - self._autotools.configure(configure_dir=self._get_configure_folder(), args=conf_args) - return self._autotools, make_args - def build(self): - self._patch_sources() - - if self.settings.compiler == "Visual Studio": + apply_conandata_patches(self) + if is_msvc(self): self._build_nmake() else: - autotools, make_args = self._configure_autotools() - autotools.make(args=make_args) + autotools = Autotools(self) + autotools.configure(build_script_folder=self._get_configure_folder()) + autotools.make() def package(self): - self.copy(pattern="license.terms", src=self._source_subfolder, dst="licenses") - if self.settings.compiler == "Visual Studio": + copy( + self, + pattern="license.terms", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + ) + if is_msvc(self): self._build_nmake("install") else: - with tools.chdir(self.build_folder): - autotools, make_args = self._configure_autotools() - autotools.install(args=make_args) - autotools.make(target="install-private-headers", args=make_args) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "man")) - tools.rmdir(os.path.join(self.package_folder, "share")) + with chdir(self, self.build_folder): + autotools = Autotools(self) + autotools.install() + # DESTDIR is only default initialized for target="install" + autotools.make( + target="install-private-headers", + args=[f"DESTDIR={self.package_folder}"], + ) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "man")) + rmdir(self, os.path.join(self.package_folder, "share")) - # FIXME: move to patch tkConfigShPath = os.path.join(self.package_folder, "lib", "tkConfig.sh") if os.path.exists(tkConfigShPath): - pkg_path = os.path.join(self.package_folder).replace('\\', '/') - tools.replace_in_file(tkConfigShPath, - pkg_path, - "${TK_ROOT}") - tools.replace_in_file(tkConfigShPath, - "\nTK_BUILD_", - "\n#TK_BUILD_") - tools.replace_in_file(tkConfigShPath, - "\nTK_SRC_DIR", - "\n#TK_SRC_DIR") + # This can only be modified after build since the value being replaced is a result + # of variable substitution in tkConfig.sh.in + replace_in_file(self, tkConfigShPath, "//", "${TK_ROOT}/") def package_info(self): - if self.settings.compiler == "Visual Studio": - tk_version = tools.Version(self.version) - lib_infix = "{}{}".format(tk_version.major, tk_version.minor) + tk_version = Version(self.version) + lib_infix = f"{tk_version.major}.{tk_version.minor}" + if is_msvc(self): + lib_infix = f"{tk_version.major}{tk_version.minor}" tk_suffix = "t{}{}{}".format( "" if self.options.shared else "s", "g" if self.settings.build_type == "Debug" else "", - "x" if "MD" in str(self.settings.compiler.runtime) and not self.options.shared else "", + "x" if ("dynamic" in str(self.settings.compiler.runtime) or "MD" in str(self.settings.compiler.runtime)) and not self.options.shared else "", ) else: - tk_version = tools.Version(self.version) - lib_infix = "{}.{}".format(tk_version.major, tk_version.minor) tk_suffix = "" - self.cpp_info.libs = ["tk{}{}".format(lib_infix, tk_suffix), "tkstub{}".format(lib_infix)] + self.cpp_info.libs = [f"tk{lib_infix}{tk_suffix}", f"tkstub{lib_infix}"] if self.settings.os == "Macos": self.cpp_info.frameworks = ["CoreFoundation", "Cocoa", "Carbon", "IOKit"] elif self.settings.os == "Windows": self.cpp_info.system_libs = [ - "netapi32", "kernel32", "user32", "advapi32", "userenv","ws2_32", "gdi32", - "comdlg32", "imm32", "comctl32", "shell32", "uuid", "ole32", "oleaut32" + "netapi32", + "kernel32", + "user32", + "advapi32", + "userenv", + "ws2_32", + "gdi32", + "comdlg32", + "imm32", + "comctl32", + "shell32", + "uuid", + "ole32", + "oleaut32", ] - tk_library = os.path.join(self.package_folder, "lib", "{}{}".format(self.name, ".".join(self.version.split(".")[:2]))).replace("\\", "/") - self.output.info("Setting TK_LIBRARY environment variable: {}".format(tk_library)) + tk_library = os.path.join( + self.package_folder, + "lib", + f"{self.name}{tk_version.major}.{tk_version.minor}", + ).replace("\\", "/") + self.output.info(f"Setting TK_LIBRARY environment variable: {tk_library}") self.env_info.TK_LIBRARY = tk_library + self.runenv_info.define("TK_LIBRARY", tk_library) - tcl_root = self.package_folder.replace("\\", "/") - self.output.info("Setting TCL_ROOT environment variable: {}".format(tcl_root)) - self.env_info.TCL_ROOT = tcl_root + tk_root = self.package_folder.replace("\\", "/") + self.output.info(f"Setting TK_ROOT environment variable: {tk_root}") + self.env_info.TK_ROOT = tk_root + self.runenv_info.define("TK_ROOT", tk_root) diff --git a/recipes/tk/all/patches/0001-Add-unix-conan-compatibility.patch b/recipes/tk/all/patches/0001-Add-unix-conan-compatibility.patch new file mode 100644 index 0000000000000..6fa4dea2761c6 --- /dev/null +++ b/recipes/tk/all/patches/0001-Add-unix-conan-compatibility.patch @@ -0,0 +1,80 @@ +Subject: [PATCH] Add unix conan compatibility + +--- + unix/Makefile.in | 11 +++++------ + unix/configure | 2 +- + 2 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/unix/Makefile.in b/unix/Makefile.in +index c6f8c25d7..7bc4a22ba 100644 +--- a/unix/Makefile.in ++++ b/unix/Makefile.in +@@ -143,7 +143,6 @@ CFLAGS = @CFLAGS_DEFAULT@ @CFLAGS@ + # Flags to pass to the linker + LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ + LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@ +-LDFLAGS = @LDFLAGS_DEFAULT@ @LDFLAGS@ + + # A "-I" switch that can be used when compiling to make all of the + # X11 include files accessible (the configure script will try to +@@ -328,7 +327,7 @@ MAN_FLAGS = @MAN_FLAGS@ + + CC = @CC@ + +-CC_SWITCHES_NO_STUBS = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ ++CC_SWITCHES_NO_STUBS = ${CFLAGS} ${CPPFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ + -I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} -I${TCL_GENERIC_DIR} \ + -I${TCL_PLATFORM_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} ${AC_FLAGS} \ + ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} ${KEYSYM_FLAGS} \ +@@ -338,7 +337,7 @@ CC_SWITCHES = $(CC_SWITCHES_NO_STUBS) @TCL_STUB_FLAGS@ + + APP_CC_SWITCHES = $(CC_SWITCHES_NO_STUBS) @EXTRA_APP_CC_SWITCHES@ + +-DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} \ ++DEPEND_SWITCHES = ${CFLAGS} ${CPPFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} -I${BMAP_DIR} \ + -I${TCL_GENERIC_DIR} -I${TCL_PLATFORM_DIR} ${@TK_WINDOWINGSYSTEM@_INCLUDES} \ + ${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \ + ${KEYSYM_FLAGS} @EXTRA_CC_SWITCHES@ +@@ -620,7 +619,7 @@ objs: ${OBJS} + + + ${WISH_EXE}: $(TK_STUB_LIB_FILE) $(WISH_OBJS) $(TK_LIB_FILE) @APP_RSRC_FILE@ +- ${CC} ${CFLAGS} ${LDFLAGS} $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ \ ++ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ \ + $(WISH_LIBS) $(CC_SEARCH_FLAGS) -o ${WISH_EXE} + + # Resetting the LIB_RUNTIME_DIR below is required so that +@@ -633,7 +632,7 @@ $(TKTEST_EXE): $(TKTEST_OBJS) $(TK_LIB_FILE) + $(MAKE) tktest-real LIB_RUNTIME_DIR="`pwd`:$(TCL_BIN_DIR)" + + tktest-real: ${TK_STUB_LIB_FILE} +- ${CC} ${CFLAGS} ${LDFLAGS} $(TKTEST_OBJS) ${TK_STUB_LIB_FILE} ${TCL_STUB_LIB_SPEC} @TK_BUILD_LIB_SPEC@ \ ++ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} $(TKTEST_OBJS) ${TK_STUB_LIB_FILE} ${TCL_STUB_LIB_SPEC} @TK_BUILD_LIB_SPEC@ \ + $(WISH_LIBS) $(CC_SEARCH_FLAGS) -o $(TKTEST_EXE) + + # # FIXME: This xttest rule seems to be broken in a number of ways. It should +@@ -641,7 +640,7 @@ tktest-real: ${TK_STUB_LIB_FILE} + # # tktest, and it is not clear where this test.o object file comes from. + # + # xttest: test.o tkTest.o tkSquare.o $(TK_LIB_FILE) ${TK_STUB_LIB_FILE} +-# ${CC} ${CFLAGS} ${LDFLAGS} test.o tkTest.o tkSquare.o \ ++# ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.o tkTest.o tkSquare.o \ + # @TK_BUILD_LIB_SPEC@ ${TK_STUB_LIB_FILE} ${TCL_STUB_LIB_SPEC} \ + # $(WISH_LIBS) $(LD_SEARCH_FLAGS) -lXt -o xttest + +diff --git a/unix/configure b/unix/configure +index fb0f5a3d9..77256a740 100755 +--- a/unix/configure ++++ b/unix/configure +@@ -7279,7 +7279,7 @@ int + main () + { + switch (0) { +- case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ; ++ case 1: case (sizeof(${tcl_type_64bit})!=sizeof(long)): ; + } + ; + return 0; +-- +2.40.0 + diff --git a/recipes/tk/all/patches/0002-Add-windows-conan-compatibility.patch b/recipes/tk/all/patches/0002-Add-windows-conan-compatibility.patch new file mode 100644 index 0000000000000..bd293b31a745e --- /dev/null +++ b/recipes/tk/all/patches/0002-Add-windows-conan-compatibility.patch @@ -0,0 +1,145 @@ +Subject: [PATCH] Add windows conan compatibility + +* Disable whole program optimization to be portable across different MSVC + versions. See conan-io/conan-center-index#4811 and + conan-io/conan-center-index#4094. +--- + win/rules-ext.vc | 8 ++++---- + win/rules.vc | 23 +++++++---------------- + 2 files changed, 11 insertions(+), 20 deletions(-) + +diff --git a/win/rules-ext.vc b/win/rules-ext.vc +index 58c70fa26..e7f953b4c 100644 +--- a/win/rules-ext.vc ++++ b/win/rules-ext.vc +@@ -37,7 +37,7 @@ macro to the name of the project makefile. + # First locate the Tcl directory that we are working with. + !ifdef TCLDIR + +-_RULESDIR = $(TCLDIR:/=\) ++_RULESDIR = . + + !else + +@@ -49,7 +49,7 @@ _RULESDIR=$(INSTALLDIR:/=\) + # Locate Tcl sources + !if [echo _RULESDIR = \> nmakehlp.out] \ + || [nmakehlp -L generic\tcl.h >> nmakehlp.out] +-_RULESDIR = ..\..\tcl ++_RULESDIR = . + !else + !include nmakehlp.out + !endif +@@ -61,9 +61,9 @@ _RULESDIR = ..\..\tcl + # Now look for the targets.vc file under the Tcl root. Note we check this + # file and not rules.vc because the latter also exists on older systems. + !if exist("$(_RULESDIR)\lib\nmake\targets.vc") # Building against installed Tcl +-_RULESDIR = $(_RULESDIR)\lib\nmake ++_RULESDIR = . + !elseif exist("$(_RULESDIR)\win\targets.vc") # Building against Tcl sources +-_RULESDIR = $(_RULESDIR)\win ++_RULESDIR = . + !else + # If we have not located Tcl's targets file, most likely we are compiling + # against an older version of Tcl and so must use our own support files. +diff --git a/win/rules.vc b/win/rules.vc +index cf80c9122..fe4a95dc9 100644 +--- a/win/rules.vc ++++ b/win/rules.vc +@@ -262,7 +262,7 @@ TCLINSTALL = 0 # Tk always builds against Tcl source, not an installed Tcl + !endif # TCLDIR == "" + + _TCLDIR = $(TCLDIR:/=\) +-_TCL_H = $(_TCLDIR)\generic\tcl.h ++_TCL_H = $(_TCLDIR)\include\tcl.h + !if !exist("$(_TCL_H)") + !error Could not locate tcl.h. Please set the TCLDIR macro to point to the Tcl *source* directory. + !endif +@@ -283,9 +283,9 @@ _TCLDIR = $(TCLDIR:/=\) + !if exist("$(_TCLDIR)\include\tcl.h") # Case 2(c) with TCLDIR defined + TCLINSTALL = 1 + _TCL_H = $(_TCLDIR)\include\tcl.h +-!elseif exist("$(_TCLDIR)\generic\tcl.h") # Case 2(d) with TCLDIR defined ++!elseif exist("$(_TCLDIR)\include\tcl.h") # Case 2(d) with TCLDIR defined + TCLINSTALL = 0 +-_TCL_H = $(_TCLDIR)\generic\tcl.h ++_TCL_H = $(_TCLDIR)\include\tcl.h + !endif + + !else # # Case 2(c) for extensions with TCLDIR undefined +@@ -311,7 +311,7 @@ _TCL_H = $(_TCLDIR)\include\tcl.h + !include nmakehlp.out + TCLINSTALL = 0 + TCLDIR = $(_TCLDIR) +-_TCL_H = $(_TCLDIR)\generic\tcl.h ++_TCL_H = $(_TCLDIR)\include\tcl.h + + !endif # exist(...) && ! $(NEED_TCL_SOURCE) + +@@ -619,7 +619,7 @@ OPTIMIZATIONS = $(OPTIMIZATIONS) -GS + # generated libraries only usable by the specific VC++ version that + # created it. Requires /LTCG linker option + !if [nmakehlp -c -GL] +-OPTIMIZATIONS = $(OPTIMIZATIONS) -GL ++ + CC_GL_OPT_ENABLED = 1 + !else + # In newer compilers -GL and -YX are incompatible. +@@ -1085,12 +1085,9 @@ STUBPREFIX = $(PROJECT)stub + + TCLSHNAME = $(PROJECT)sh$(VERSION)$(SUFX).exe + TCLSH = $(OUT_DIR)\$(TCLSHNAME) +-TCLIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib + TCLLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT) + TCLLIB = $(OUT_DIR)\$(TCLLIBNAME) + +-TCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib +-TCLSTUBLIB = $(OUT_DIR)\$(TCLSTUBLIBNAME) + TCL_INCLUDES = -I"$(WIN_DIR)" -I"$(GENERICDIR)" + + !else # ! $(DOING_TCL) +@@ -1105,12 +1102,9 @@ TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX:t=).exe + TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)t$(SUFX:t=).exe + !endif + +-TCLSTUBLIB = $(_TCLDIR)\lib\tclstub$(TCL_VERSION).lib +-TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX:t=).lib + # When building extensions, may be linking against Tcl that does not add + # "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. + !if !exist("$(TCLIMPLIB)") +-TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)t$(SUFX:t=).lib + !endif + TCL_LIBRARY = $(_TCLDIR)\lib + TCLREGLIB = $(_TCLDIR)\lib\tclreg13$(SUFX:t=).lib +@@ -1124,18 +1118,15 @@ TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX:t=).exe + !if !exist($(TCLSH)) + TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)t$(SUFX:t=).exe + !endif +-TCLSTUBLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib +-TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX:t=).lib + # When building extensions, may be linking against Tcl that does not add + # "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. + !if !exist("$(TCLIMPLIB)") +-TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)t$(SUFX:t=).lib + !endif + TCL_LIBRARY = $(_TCLDIR)\library + TCLREGLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclreg13$(SUFX:t=).lib + TCLDDELIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcldde14$(SUFX:t=).lib + TCLTOOLSDIR = $(_TCLDIR)\tools +-TCL_INCLUDES = -I"$(_TCLDIR)\generic" -I"$(_TCLDIR)\win" ++TCL_INCLUDES = -I"$(_TCLDIR)\include" -I"$(_TCLDIR)\win" + + !endif # TCLINSTALL + +@@ -1393,7 +1384,7 @@ carch = + + !if $(DEBUG) + # Turn warnings into errors +-cwarn = $(cwarn) -WX ++ + !endif + + INCLUDES = $(TCL_INCLUDES) $(TK_INCLUDES) $(PRJ_INCLUDES) +-- +2.40.0 + diff --git a/recipes/tk/all/patches/0003-Patch-tkConfig.sh.patch b/recipes/tk/all/patches/0003-Patch-tkConfig.sh.patch new file mode 100644 index 0000000000000..ecabe8916794b --- /dev/null +++ b/recipes/tk/all/patches/0003-Patch-tkConfig.sh.patch @@ -0,0 +1,89 @@ +Subject: [PATCH] Patch tkConfig.sh to remove TK_BUILD_ directories and + TK_SRC_DIR + +--- + unix/tkConfig.sh.in | 8 ++++---- + win/tkConfig.sh.in | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/unix/tkConfig.sh.in b/unix/tkConfig.sh.in +index bb85ad0a2..e564ec1f9 100644 +--- a/unix/tkConfig.sh.in ++++ b/unix/tkConfig.sh.in +@@ -53,7 +53,7 @@ TK_LIB_FLAG='@TK_LIB_FLAG@' + + # String to pass to linker to pick up the Tk library from its + # build directory. +-TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@' ++#TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@' + + # String to pass to linker to pick up the Tk library from its + # installed directory. +@@ -69,7 +69,7 @@ TK_INCLUDE_SPEC='@TK_INCLUDE_SPEC@' + # different place than the directory containing the source files, this + # points to the location of the sources, not the location where Tk was + # compiled. +-TK_SRC_DIR='@TK_SRC_DIR@' ++#TK_SRC_DIR='@TK_SRC_DIR@' + + # Needed if you want to make a 'fat' shared library library + # containing tk objects or link a different wish. +@@ -84,14 +84,14 @@ TK_STUB_LIB_FLAG='@TK_STUB_LIB_FLAG@' + + # String to pass to linker to pick up the Tk stub library from its + # build directory. +-TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@' ++#TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@' + + # String to pass to linker to pick up the Tk stub library from its + # installed directory. + TK_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@' + + # Path to the Tk stub library in the build directory. +-TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@' ++#TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@' + + # Path to the Tk stub library in the install directory. + TK_STUB_LIB_PATH='@TK_STUB_LIB_PATH@' +diff --git a/win/tkConfig.sh.in b/win/tkConfig.sh.in +index c511312f0..d5330b829 100644 +--- a/win/tkConfig.sh.in ++++ b/win/tkConfig.sh.in +@@ -47,7 +47,7 @@ TK_LIB_FLAG='@TK_LIB_FLAG@' + + # String to pass to linker to pick up the Tk library from its + # build directory. +-TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@' ++#TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@' + + # String to pass to linker to pick up the Tk library from its + # installed directory. +@@ -59,7 +59,7 @@ TK_LIB_SPEC='@TK_LIB_SPEC@' + # different place than the directory containing the source files, this + # points to the location of the sources, not the location where Tk was + # compiled. +-TK_SRC_DIR='@TK_SRC_DIR@' ++#TK_SRC_DIR='@TK_SRC_DIR@' + + # Needed if you want to make a 'fat' shared library library + # containing tk objects or link a different wish. +@@ -74,14 +74,14 @@ TK_STUB_LIB_FLAG='@TK_STUB_LIB_FLAG@' + + # String to pass to linker to pick up the Tk stub library from its + # build directory. +-TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@' ++#TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@' + + # String to pass to linker to pick up the Tk stub library from its + # installed directory. + TK_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@' + + # Path to the Tk stub library in the build directory. +-TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@' ++#TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@' + + # Path to the Tk stub library in the install directory. + TK_STUB_LIB_PATH='@TK_STUB_LIB_PATH@' +-- +2.40.0 + diff --git a/recipes/tk/all/test_package/CMakeLists.txt b/recipes/tk/all/test_package/CMakeLists.txt index 7672a2d37cdd9..5cec06aa08035 100644 --- a/recipes/tk/all/test_package/CMakeLists.txt +++ b/recipes/tk/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(PackageTest C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(tk CONFIG REQUIRED) -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +add_executable(example src/test_package.c) +target_link_libraries(example tk::tk) diff --git a/recipes/tk/all/test_package/conanfile.py b/recipes/tk/all/test_package/conanfile.py index a7a94271504b6..91a8fc7a09b42 100644 --- a/recipes/tk/all/test_package/conanfile.py +++ b/recipes/tk/all/test_package/conanfile.py @@ -1,17 +1,26 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run -class TclTestConan(ConanFile): + +class fooTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + 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 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): + cmd = os.path.join(self.cpp.build.bindir, "example") + self.run(cmd, env="conanrun") diff --git a/recipes/tk/all/test_package/test_package.c b/recipes/tk/all/test_package/src/test_package.c similarity index 92% rename from recipes/tk/all/test_package/test_package.c rename to recipes/tk/all/test_package/src/test_package.c index 601b2c8c2b4fc..9a62551dccab6 100644 --- a/recipes/tk/all/test_package/test_package.c +++ b/recipes/tk/all/test_package/src/test_package.c @@ -19,5 +19,6 @@ int main (int argc ,char *argv[]) { } Tcl_Finalize(); + fprintf(stderr, "Test package success.\n"); return EXIT_SUCCESS; } diff --git a/recipes/tk/all/test_v1_package/CMakeLists.txt b/recipes/tk/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0fe0f8ae90d2e --- /dev/null +++ b/recipes/tk/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +conan_basic_setup() + +add_executable(${PROJECT_NAME} ../test_package/src/test_package.c) +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/tk/all/test_v1_package/conanfile.py b/recipes/tk/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a7a94271504b6 --- /dev/null +++ b/recipes/tk/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TclTestConan(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) From e1714d77f166e217ac1a4ca8ac1050a0dd1261c0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 15:09:31 +0200 Subject: [PATCH 1612/4087] (#19824) spectra: add package_type --- recipes/spectra/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/spectra/all/conanfile.py b/recipes/spectra/all/conanfile.py index 084f85d8c4950..7f108912c8a5c 100644 --- a/recipes/spectra/all/conanfile.py +++ b/recipes/spectra/all/conanfile.py @@ -15,6 +15,7 @@ class SpectraConan(ConanFile): topics = ("eigenvalue", "header-only") homepage = "https://spectralib.org" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -33,8 +34,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 8b8c8d5a39610f33ba5215e1167d164528eb4c5f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 15:27:53 +0200 Subject: [PATCH 1613/4087] (#19825) taocpp-taopq: add package_type + fix traits of dependencies * add package_type * fix traits of libpq * bump libpq * Apply suggestions from code review --- recipes/taocpp-taopq/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/taocpp-taopq/all/conanfile.py b/recipes/taocpp-taopq/all/conanfile.py index 4cf5de4b29231..7ea861e1070ea 100644 --- a/recipes/taocpp-taopq/all/conanfile.py +++ b/recipes/taocpp-taopq/all/conanfile.py @@ -16,7 +16,7 @@ class TaoCPPTaopqConan(ConanFile): homepage = "https://github.com/taocpp/taopq" description = "C++ client library for PostgreSQL" topics = ("cpp17", "postgresql", "libpq", "data-base", "sql") - + package_type = "library" settings = "os", "arch", "build_type", "compiler" options = { "shared": [True, False], @@ -53,7 +53,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libpq/14.5") + # libpq-fe.h is included by many public headers of taocpp-taopq, and also uses some symbols of the lib (see https://github.com/conan-io/conan-center-index/pull/19825#issuecomment-1720996359) + self.requires("libpq/15.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From a393a65c58bcec7318265e6fbf9a2ce84dd85c37 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 16:18:11 +0200 Subject: [PATCH 1614/4087] (#19828) tscns: add package_type * add package_type * simplify test_v1_package * format imports --- recipes/tscns/all/conanfile.py | 10 ++++++---- recipes/tscns/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/recipes/tscns/all/conanfile.py b/recipes/tscns/all/conanfile.py index f9a1b573dbe33..c1b715cc27747 100644 --- a/recipes/tscns/all/conanfile.py +++ b/recipes/tscns/all/conanfile.py @@ -1,13 +1,14 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout -import os - required_conan_version = ">=1.52.0" + class TscnsConan(ConanFile): name = "tscns" description = "A low overhead nanosecond clock based on x86 TSC" @@ -15,6 +16,7 @@ class TscnsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/MengRao/tscns/" topics = ("timestamp", "x86_64", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -37,7 +39,7 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) diff --git a/recipes/tscns/all/test_v1_package/CMakeLists.txt b/recipes/tscns/all/test_v1_package/CMakeLists.txt index eebfbab4ba7b5..0d20897301b68 100644 --- a/recipes/tscns/all/test_v1_package/CMakeLists.txt +++ b/recipes/tscns/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(tscns REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tscns::tscns) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From be4645021bd7d50b19d1c853984a73e4c2ecd7f5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 16:52:07 +0200 Subject: [PATCH 1615/4087] (#19829) tsl-array-hash: add package_type * add package_type * cleanup --- recipes/tsl-array-hash/all/conanfile.py | 6 ++---- .../tsl-array-hash/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/recipes/tsl-array-hash/all/conanfile.py b/recipes/tsl-array-hash/all/conanfile.py index 8c6297fe62672..4e37fe94c1699 100644 --- a/recipes/tsl-array-hash/all/conanfile.py +++ b/recipes/tsl-array-hash/all/conanfile.py @@ -14,6 +14,7 @@ class TslArrayHashConan(ConanFile): topics = ("string", "structure", "hash map", "hash set") homepage = "https://github.com/Tessil/array-hash" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,7 +43,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tsl::array_hash") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tsl-array-hash" @@ -55,4 +54,3 @@ def package_info(self): self.cpp_info.components["array_hash"].set_property("cmake_target_name", "tsl::array_hash") self.cpp_info.components["array_hash"].bindirs = [] self.cpp_info.components["array_hash"].libdirs = [] - self.cpp_info.components["array_hash"].resdirs = [] diff --git a/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt b/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt index 15d716d7a9505..0d20897301b68 100644 --- a/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt +++ b/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(tsl-array-hash REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tsl::array_hash) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From f2b8ca0fe191cd5e0a07ef8d7b7b96eef0aaf078 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 17:10:50 +0200 Subject: [PATCH 1616/4087] (#19830) tsl-hat-trie: add package_type * add package_type & fix traits * Update recipes/tsl-hat-trie/all/conanfile.py --- recipes/tsl-hat-trie/all/conanfile.py | 7 ++----- .../tsl-hat-trie/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/recipes/tsl-hat-trie/all/conanfile.py b/recipes/tsl-hat-trie/all/conanfile.py index fbce5d32f1f2b..0c2749d1da56d 100644 --- a/recipes/tsl-hat-trie/all/conanfile.py +++ b/recipes/tsl-hat-trie/all/conanfile.py @@ -14,7 +14,7 @@ class TslHatTrieConan(ConanFile): topics = ("string", "trie", "structure", "hash map", "hash set") homepage = "https://github.com/Tessil/hat-trie" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" def layout(self): @@ -31,8 +31,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): rmdir(self, os.path.join(self.source_folder, "include", "tsl", "array-hash")) @@ -48,7 +47,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tsl::hat_trie") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tsl-hat-trie" @@ -61,4 +59,3 @@ def package_info(self): self.cpp_info.components["hat_trie"].set_property("cmake_target_name", "tsl::hat_trie") self.cpp_info.components["hat_trie"].bindirs = [] self.cpp_info.components["hat_trie"].libdirs = [] - self.cpp_info.components["hat_trie"].resdirs = [] diff --git a/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt b/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt index 6a1b5a8c7df69..0d20897301b68 100644 --- a/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt +++ b/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(tsl-hat-trie REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tsl::hat_trie) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From ba7b4f90e45e0dc4747f28a1211111e5f48d8698 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 17:30:18 +0200 Subject: [PATCH 1617/4087] (#19831) tsl-ordered-map: add package_type --- recipes/tsl-ordered-map/all/conanfile.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/tsl-ordered-map/all/conanfile.py b/recipes/tsl-ordered-map/all/conanfile.py index d13b78edda147..9883b71a12ac3 100644 --- a/recipes/tsl-ordered-map/all/conanfile.py +++ b/recipes/tsl-ordered-map/all/conanfile.py @@ -14,6 +14,7 @@ class TslOrderedMapConan(ConanFile): topics = ("ordered-map", "structure", "hash map", "hash set") homepage = "https://github.com/Tessil/ordered-map" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,7 +43,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tsl::ordered_map") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tsl-ordered-map" @@ -55,4 +54,3 @@ def package_info(self): self.cpp_info.components["ordered_map"].set_property("cmake_target_name", "tsl::ordered_map") self.cpp_info.components["ordered_map"].bindirs = [] self.cpp_info.components["ordered_map"].libdirs = [] - self.cpp_info.components["ordered_map"].resdirs = [] From 53f1515d319a20eebaf7a9baa487f1adeeb19044 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 18:03:43 +0200 Subject: [PATCH 1618/4087] (#19835) tsl-robin-map: add package_type --- recipes/tsl-robin-map/all/conanfile.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/tsl-robin-map/all/conanfile.py b/recipes/tsl-robin-map/all/conanfile.py index 60cfac70c1a0d..14ac380eaf691 100644 --- a/recipes/tsl-robin-map/all/conanfile.py +++ b/recipes/tsl-robin-map/all/conanfile.py @@ -14,6 +14,7 @@ class TslRobinMapConan(ConanFile): topics = ("robin-map", "structure", "hash map", "hash set") homepage = "https://github.com/Tessil/robin-map" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,7 +43,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tsl::robin_map") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tsl-robin-map" @@ -55,4 +54,3 @@ def package_info(self): self.cpp_info.components["robin_map"].set_property("cmake_target_name", "tsl::robin_map") self.cpp_info.components["robin_map"].bindirs = [] self.cpp_info.components["robin_map"].libdirs = [] - self.cpp_info.components["robin_map"].resdirs = [] From 582901326991e324ad3d5020437a493c347ca0f0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 19:21:37 +0200 Subject: [PATCH 1619/4087] (#19502) gettext: less verbose `package_info()` + add a layout + fix win_bash logic when `tools.microsoft.bash:path` is set * less verbose package_info() * add a layout * fix win_bash logic when tools.microsoft.bash:path is set --- recipes/gettext/all/conanfile.py | 38 +++++++++++++++----------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/recipes/gettext/all/conanfile.py b/recipes/gettext/all/conanfile.py index 72a7afc2b30cc..433bf975c1087 100644 --- a/recipes/gettext/all/conanfile.py +++ b/recipes/gettext/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.env import Environment, VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.gnu import AutotoolsToolchain, Autotools +from conan.tools.layout import basic_layout from conan.tools.microsoft import check_min_vs, is_msvc, unix_path, unix_path_package_info_legacy from conan.tools.scm import Version @@ -31,26 +32,29 @@ def configure(self): 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("libiconv/1.17") - def build_requirements(self): - if self._settings_build.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", check_type=str): - self.win_bash = True - self.tool_requires("msys2/cci.latest") - if is_msvc(self): - self.build_requires("automake/1.16.5") + def package_id(self): + del self.info.settings.compiler def validate(self): if Version(self.version) < "0.21" and is_msvc(self): raise ConanInvalidConfiguration("MSVC builds of gettext for versions < 0.21 are not supported.") # FIXME: it used to be possible. What changed? - def package_id(self): - del self.info.settings.compiler + 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.build_requires("automake/1.16.5") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): env = VirtualBuildEnv(self) @@ -118,9 +122,9 @@ def build(self): def package(self): autotools = Autotools(self) autotools.install() - + copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - + rmdir(self, os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "include")) rmdir(self, os.path.join(self.package_folder, "share", "doc")) @@ -135,14 +139,8 @@ def package_info(self): autopoint = os.path.join(self.package_folder, "bin", "autopoint") self.buildenv_info.append_path("ACLOCAL_PATH", aclocal) self.buildenv_info.define_path("AUTOPOINT", autopoint) - - # TODO: the following can be removed when the recipe supports Conan >= 2.0 only - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) - self.env_info.PATH.append(bindir) - self.output.info("Appending AUTOMAKE_CONAN_INCLUDES environment variable: {}".format(aclocal)) + # TODO: the following can be removed when the recipe supports Conan >= 2.0 only + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.env_info.AUTOMAKE_CONAN_INCLUDES.append(unix_path_package_info_legacy(self, aclocal)) - - self.output.info("Setting AUTOPOINT environment variable: {}".format(autopoint)) self.env_info.AUTOPOINT = unix_path_package_info_legacy(self, autopoint) From f982651f23c296c391b367bd829f801a03174725 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Sep 2023 03:09:25 +0900 Subject: [PATCH 1620/4087] (#19836) wasmtime: add version 12.0.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wasmtime: add version 12.0.2 * Update recipes/wasmtime/config.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/wasmtime/all/conandata.yml | 30 ++++++++++++++++++++++++++++++ recipes/wasmtime/config.yml | 2 ++ 2 files changed, 32 insertions(+) diff --git a/recipes/wasmtime/all/conandata.yml b/recipes/wasmtime/all/conandata.yml index 59e975128a2ee..c449ffc3965a6 100644 --- a/recipes/wasmtime/all/conandata.yml +++ b/recipes/wasmtime/all/conandata.yml @@ -1,4 +1,34 @@ sources: + "12.0.2": + Windows: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-x86_64-windows-c-api.zip" + sha256: "ad589d69722f0fdf0b6900fe1c708194575c487776504c44a5283c2960c03a92" + MinGW: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-x86_64-mingw-c-api.zip" + sha256: "773737d9072aed6efdbb6c8137561bd3d5e271008e6741687fa504ec384d0799" + Linux: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-x86_64-linux-c-api.tar.xz" + sha256: "9e02cd4201d74c68a236664f883873335c7427e820ce4a44c47c1cc98ec9e553" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-aarch64-linux-c-api.tar.xz" + sha256: "daf6ca147b288cf915978f064853f403ca163b52806ae0a52ddd5bd91a5a2507" + "s390x": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-s390x-linux-c-api.tar.xz" + sha256: "65e75ffe34ced6710b56da071e9eb734eabdad69be07f3e6baae27e6b1a95d41" + Macos: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-x86_64-macos-c-api.tar.xz" + sha256: "35a0d3590afb147f9b312820df87189a9a376cc5bddc2d90b8d7e57b412c7dc6" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-aarch64-macos-c-api.tar.xz" + sha256: "6b8a13fbe6c5440b30632a1f9178df1cdc07bbf34633a105666e506bc8db941d" + Android: + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-aarch64-linux-c-api.tar.xz" + sha256: "daf6ca147b288cf915978f064853f403ca163b52806ae0a52ddd5bd91a5a2507" "12.0.1": Windows: "x86_64": diff --git a/recipes/wasmtime/config.yml b/recipes/wasmtime/config.yml index de77d1db49a4f..e5ce53b819caa 100644 --- a/recipes/wasmtime/config.yml +++ b/recipes/wasmtime/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.2": + folder: all "12.0.1": folder: all "9.0.1": From 1d7d94e2d4f825f4ca27d41059e57829c2afc52f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 21:00:33 +0200 Subject: [PATCH 1621/4087] (#19838) tsl-sparse-map: add package_type * add package_type * simplify test_v1_package --- recipes/tsl-sparse-map/all/conanfile.py | 6 ++---- .../tsl-sparse-map/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/recipes/tsl-sparse-map/all/conanfile.py b/recipes/tsl-sparse-map/all/conanfile.py index 4168882cba1a3..9afa37e182a6b 100644 --- a/recipes/tsl-sparse-map/all/conanfile.py +++ b/recipes/tsl-sparse-map/all/conanfile.py @@ -14,6 +14,7 @@ class TslSparseMapConan(ConanFile): topics = ("sparse-map", "structure", "hash map", "hash set") homepage = "https://github.com/Tessil/sparse-map" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,7 +43,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tsl::sparse_map") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "tsl-sparse-map" @@ -55,4 +54,3 @@ def package_info(self): self.cpp_info.components["sparse_map"].set_property("cmake_target_name", "tsl::sparse_map") self.cpp_info.components["sparse_map"].bindirs = [] self.cpp_info.components["sparse_map"].libdirs = [] - self.cpp_info.components["sparse_map"].resdirs = [] diff --git a/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt b/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt index 3e681dedd0cd4..0d20897301b68 100644 --- a/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt +++ b/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(tsl-sparse-map REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tsl::sparse_map) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 9b64f858db8532669138eb02ae3d836a64aefed6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 21:33:34 +0200 Subject: [PATCH 1622/4087] (#19839) tuplet: add package_type --- recipes/tuplet/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/tuplet/all/conanfile.py b/recipes/tuplet/all/conanfile.py index e4ef08ece551c..b8e4521ac3319 100644 --- a/recipes/tuplet/all/conanfile.py +++ b/recipes/tuplet/all/conanfile.py @@ -16,6 +16,7 @@ class TupletConan(ConanFile): homepage = "https://github.com/codeinred/tuplet" description = "A fast, simple tuple implementation that implements tuple as an aggregate" topics = ("tuple", "trivially-copyable", "modern-cpp") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -41,6 +42,9 @@ def _compilers_minimum_version(self): "apple-clang": "12" } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -62,12 +66,8 @@ def loose_lt_semver(v1, v2): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd} which your compiler ({compiler}-{version}) does not support") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 8649f63e9e67df2a210f170ac1b4ab0267dc775c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 22:15:20 +0200 Subject: [PATCH 1623/4087] (#19840) uncrustify: add package_type --- recipes/uncrustify/all/conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/uncrustify/all/conanfile.py b/recipes/uncrustify/all/conanfile.py index da8a4d29e3f0e..0c905f0cb5c35 100644 --- a/recipes/uncrustify/all/conanfile.py +++ b/recipes/uncrustify/all/conanfile.py @@ -16,6 +16,7 @@ class UncrustifyConan(ConanFile): topics = "beautifier", "command-line" homepage = "https://github.com/uncrustify/uncrustify" url = "https://github.com/conan-io/conan-center-index" + package_type = "application" settings = "os", "arch", "compiler", "build_type" def layout(self): @@ -29,8 +30,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires GCC >=7") 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) @@ -65,9 +65,6 @@ def package(self): def package_info(self): self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 - binpath = os.path.join(self.package_folder, "bin") - self.output.info(f"Adding to PATH: {binpath}") - self.env_info.PATH.append(binpath) + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From 0b887c046306b7cc78ab00c8a48e5a16e8de5e62 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 22:59:01 +0200 Subject: [PATCH 1624/4087] (#19841) units: add package_type * add package_type * simplify test_v1_package * add a layout --- recipes/units/all/conanfile.py | 9 ++++++--- recipes/units/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/recipes/units/all/conanfile.py b/recipes/units/all/conanfile.py index abb3f73f19041..f5e7559e8b3b4 100644 --- a/recipes/units/all/conanfile.py +++ b/recipes/units/all/conanfile.py @@ -2,6 +2,7 @@ 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 @@ -20,6 +21,7 @@ class UnitsConan(ConanFile): "no-dependencies") homepage = "https://github.com/nholthaus/units" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -36,6 +38,9 @@ def _minimum_compilers_version(self): "msvc": "190", } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -49,8 +54,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -64,4 +68,3 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "units::units") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/units/all/test_v1_package/CMakeLists.txt b/recipes/units/all/test_v1_package/CMakeLists.txt index b01d1d5fd06ef..0d20897301b68 100644 --- a/recipes/units/all/test_v1_package/CMakeLists.txt +++ b/recipes/units/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(units REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE units::units) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From b926dcc79565e8d81aa9d7d4c7e1e0f6bfcca76a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 15 Sep 2023 23:45:33 +0200 Subject: [PATCH 1625/4087] (#19842) utf8.h: add package_type * add package_type * simplify test_v1_package --- recipes/utf8.h/all/conanfile.py | 5 ++--- recipes/utf8.h/all/test_v1_package/CMakeLists.txt | 8 +++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/recipes/utf8.h/all/conanfile.py b/recipes/utf8.h/all/conanfile.py index 3c63ca89d6157..5053468bc7039 100644 --- a/recipes/utf8.h/all/conanfile.py +++ b/recipes/utf8.h/all/conanfile.py @@ -13,6 +13,7 @@ class Utf8HConan(ConanFile): description = "Single header utf8 string functions for C and C++" topics = ("utf8", "unicode", "text") license = "Unlicense" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -36,4 +36,3 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/utf8.h/all/test_v1_package/CMakeLists.txt b/recipes/utf8.h/all/test_v1_package/CMakeLists.txt index e35aca1f7a135..0d20897301b68 100644 --- a/recipes/utf8.h/all/test_v1_package/CMakeLists.txt +++ b/recipes/utf8.h/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(utf8.h REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE utf8.h::utf8.h) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 034efaefb15ccc4da4f634dc999ab707a1aacb14 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 16 Sep 2023 00:37:32 +0200 Subject: [PATCH 1626/4087] (#19843) v-hacd: add package_type --- recipes/v-hacd/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/v-hacd/all/conanfile.py b/recipes/v-hacd/all/conanfile.py index 0121a2fed52b8..7b0d91b504084 100644 --- a/recipes/v-hacd/all/conanfile.py +++ b/recipes/v-hacd/all/conanfile.py @@ -16,6 +16,7 @@ class VhacdConan(ConanFile): topics = ("3d", "mesh", "shape", "decomposition", "convex") homepage = "https://github.com/kmammou/v-hacd" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -37,7 +38,7 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( @@ -45,8 +46,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 1b95ff852dffcfdd8b6edc0663ae9d32e5174c45 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 16 Sep 2023 02:00:20 +0200 Subject: [PATCH 1627/4087] (#19853) xpack: add package_type --- recipes/xpack/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/xpack/all/conanfile.py b/recipes/xpack/all/conanfile.py index 87dad9562235b..fb4f7dbe93adb 100644 --- a/recipes/xpack/all/conanfile.py +++ b/recipes/xpack/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout import os @@ -13,6 +13,7 @@ class XpackConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/xyz347/xpack" topics = ("json", "bson", "reflection", "xml", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -27,8 +28,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rapidjson/cci.20220822", transitive_headers=True) - self.requires("rapidxml/1.13", transitive_headers=True) + self.requires("rapidjson/cci.20220822") + self.requires("rapidxml/1.13") def package_id(self): self.info.clear() From c34ba85b90b4d6275bd629dca95583ca4da5133f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 16 Sep 2023 02:13:39 +0200 Subject: [PATCH 1628/4087] (#19854) xproperty: add package_type --- recipes/xproperty/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/xproperty/all/conanfile.py b/recipes/xproperty/all/conanfile.py index f3db566cfff6d..e6eeff282118e 100644 --- a/recipes/xproperty/all/conanfile.py +++ b/recipes/xproperty/all/conanfile.py @@ -15,8 +15,9 @@ class XpropertyConan(ConanFile): topics = ("observer", "traitlets") homepage = "https://github.com/jupyter-xeus/xproperty" url = "https://github.com/conan-io/conan-center-index" - no_copy_source = True + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True def layout(self): basic_layout(self, src_folder="src") @@ -32,8 +33,7 @@ def validate(self): check_min_cppstd(self, 14) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From fa010119ff3cfc071e71f0901a925ba6f3a547c2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 16 Sep 2023 02:59:43 +0200 Subject: [PATCH 1629/4087] (#19858) zopfli: add package_type * add package_type * simplify test_v1_package --- recipes/zopfli/all/conanfile.py | 24 ++++++------------- .../zopfli/all/test_v1_package/CMakeLists.txt | 8 +++---- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/recipes/zopfli/all/conanfile.py b/recipes/zopfli/all/conanfile.py index 1f0b88e512435..35dd2870f9a77 100644 --- a/recipes/zopfli/all/conanfile.py +++ b/recipes/zopfli/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class ZopfliConan(ConanFile): @@ -16,8 +16,8 @@ class ZopfliConan(ConanFile): "Zopfli Compression Algorithm is a compression library programmed in C " "to perform very good, but slow, deflate or zlib compression." ) - topics = ("zopfli", "compression", "deflate", "gzip", "zlib") - + topics = ("compression", "deflate", "gzip", "zlib") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,25 +34,15 @@ 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 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/zopfli/all/test_v1_package/CMakeLists.txt b/recipes/zopfli/all/test_v1_package/CMakeLists.txt index 0d2662cb23a48..0d20897301b68 100644 --- a/recipes/zopfli/all/test_v1_package/CMakeLists.txt +++ b/recipes/zopfli/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(Zopfli REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE Zopfli::libzopfli) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From facf3592ff6f6cf62c3f821f88982acc07b9c07f Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Fri, 15 Sep 2023 18:11:25 -0700 Subject: [PATCH 1630/4087] (#19875) gegles-spdlog_setup: bump fmt --- recipes/gegles-spdlog_setup/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py index 9385009e7bf43..fd9faf40ac95a 100644 --- a/recipes/gegles-spdlog_setup/all/conanfile.py +++ b/recipes/gegles-spdlog_setup/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): def requirements(self): self.requires("cpptoml/0.1.1") self.requires("spdlog/1.12.0") - self.requires("fmt/10.1.0") + self.requires("fmt/10.1.1") def package_id(self): self.info.clear() From 4d669f7385ec168453c10afda3d3c9f2c174c2b4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 16 Sep 2023 09:50:28 +0200 Subject: [PATCH 1631/4087] (#19852) xorstr: add package_type --- recipes/xorstr/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/xorstr/all/conanfile.py b/recipes/xorstr/all/conanfile.py index 2712a05ac7044..f5d66df51bfdb 100644 --- a/recipes/xorstr/all/conanfile.py +++ b/recipes/xorstr/all/conanfile.py @@ -15,8 +15,9 @@ class XorstrConan(ConanFile): topics = ("encryption", "string", "vectorized") homepage = "https://github.com/JustasMasiulis/xorstr" url = "https://github.com/conan-io/conan-center-index" - no_copy_source = True + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property def _min_cppstd(self): @@ -55,8 +56,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From e9695f5f55547f6b7017e27e3465bbfd07f7e059 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Sep 2023 22:32:46 +0900 Subject: [PATCH 1632/4087] (#19885) yyjson: add version 0.8.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 35f28ce479a2e..ad21b483cb840 100644 --- a/recipes/yyjson/all/conandata.yml +++ b/recipes/yyjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/ibireme/yyjson/archive/refs/tags/0.8.0.tar.gz" + sha256: "b2e39ac4c65f9050820c6779e6f7dd3c0d3fed9c6667f91caec0badbedce00f3" "0.7.0": url: "https://github.com/ibireme/yyjson/archive/refs/tags/0.7.0.tar.gz" sha256: "9b91ee48ac1fe5939f747d49f123d9a522b5f4e1e46165c1871936d583628a06" diff --git a/recipes/yyjson/config.yml b/recipes/yyjson/config.yml index 7a6fcce01199c..f84f2efec202b 100644 --- a/recipes/yyjson/config.yml +++ b/recipes/yyjson/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: all "0.7.0": folder: all "0.6.0": From 1c0d4dad577bcf7467237fab95f4417e907ae359 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Sep 2023 23:11:22 +0900 Subject: [PATCH 1633/4087] (#19886) cpu_features: add version 0.9.0 --- recipes/cpu_features/all/conandata.yml | 3 +++ recipes/cpu_features/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpu_features/all/conandata.yml b/recipes/cpu_features/all/conandata.yml index 8e0a68b98fb04..b0a209ae1c3e8 100644 --- a/recipes/cpu_features/all/conandata.yml +++ b/recipes/cpu_features/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/google/cpu_features/archive/refs/tags/v0.9.0.tar.gz" + sha256: "bdb3484de8297c49b59955c3b22dba834401bc2df984ef5cfc17acbe69c5018e" "0.8.0": url: "https://github.com/google/cpu_features/archive/refs/tags/v0.8.0.tar.gz" sha256: "7021729f2db97aa34f218d12727314f23e8b11eaa2d5a907e8426bcb41d7eaac" diff --git a/recipes/cpu_features/config.yml b/recipes/cpu_features/config.yml index a4fbe67cb54a0..7f1513eea2fa9 100644 --- a/recipes/cpu_features/config.yml +++ b/recipes/cpu_features/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: "all" "0.8.0": folder: "all" "0.7.0": From 092f610afed9c8317be47a33da04be540b986f2d Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Sep 2023 23:52:42 +0900 Subject: [PATCH 1634/4087] (#19889) uni-algo: add version 1.1.0 --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index 506f983a8dd2c..0aedc7a70319b 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/uni-algo/uni-algo/archive/v1.1.0.tar.gz" + sha256: "f9aa30df9766fbbc7007b206c6db122313194e75b159dc222cddce016372d2de" "1.0.0": url: "https://github.com/uni-algo/uni-algo/archive/v1.0.0.tar.gz" sha256: "a59d61cd4a4fff08672831c7e5a8c204bb6e96c21506b6471771c01b38958a15" diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index 9ca04a66695ca..aabd23fca0e2d 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.8.2": From 5a4b6a035b15941f48181141ab3dcb79bf09035f Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 17 Sep 2023 02:28:50 +0900 Subject: [PATCH 1635/4087] (#19893) platform.hashing: update cpu_features/0.9.0 --- recipes/platform.hashing/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/platform.hashing/all/conanfile.py b/recipes/platform.hashing/all/conanfile.py index bb49b80ef8c5e..0e0affe79e746 100644 --- a/recipes/platform.hashing/all/conanfile.py +++ b/recipes/platform.hashing/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if Version(self.version) >= "0.5.6": self.requires("cpuinfo/cci.20220228", transitive_headers=True) elif Version(self.version) >= "0.5.0": - self.requires("cpu_features/0.8.0", transitive_headers=True) + self.requires("cpu_features/0.9.0", transitive_headers=True) def package_id(self): self.info.clear() From 11fd93464a8113be088c2272e3cbebee675e7ff4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 17 Sep 2023 03:51:43 +0900 Subject: [PATCH 1636/4087] (#19895) implot: update imgui/1.89.9 --- recipes/implot/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/implot/all/conanfile.py b/recipes/implot/all/conanfile.py index 20e340b605f31..f2fa4d63a0586 100644 --- a/recipes/implot/all/conanfile.py +++ b/recipes/implot/all/conanfile.py @@ -39,7 +39,7 @@ def configure(self): def requirements(self): if Version(self.version) >= "0.15": - self.requires("imgui/1.89.8", transitive_headers=True) + self.requires("imgui/1.89.9", transitive_headers=True) elif Version(self.version) >= "0.14": self.requires("imgui/1.89.4", transitive_headers=True) elif Version(self.version) >= "0.13": From c99b97858ee2dda8e8b38a3452ddc943e9165587 Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Sat, 16 Sep 2023 21:29:58 +0200 Subject: [PATCH 1637/4087] (#19898) emio: add version 0.4.0 --- recipes/emio/all/conandata.yml | 3 +++ recipes/emio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index 7951ebbf46b65..e7d7963735f4c 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.4.0": + url: "https://github.com/viatorus/emio/archive/0.4.0.tar.gz" + sha256: "847198a37fbf9dcc00ac85fbc64b283e41a018f53c39363129a4bdb9939338a6" "0.3.0": url: "https://github.com/viatorus/emio/archive/0.3.0.tar.gz" sha256: "d891d0a435a8b71eee78bba46b9abc3848b1c20d61eb747b6059adaf23acce1d" diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index d126790212e0c..3842372f8b1f4 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,3 +1,5 @@ versions: + "0.4.0": + folder: all "0.3.0": folder: all From bec32b1cc6f20f897a35b7cebf4f530521a3b1af Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 17 Sep 2023 23:25:59 +0900 Subject: [PATCH 1638/4087] (#19905) libdeflate: add version 1.19 --- 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 01ec059a63c20..720157d82ac2b 100644 --- a/recipes/libdeflate/all/conandata.yml +++ b/recipes/libdeflate/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.19": + url: "https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.19.tar.gz" + sha256: "27bf62d71cd64728ff43a9feb92f2ac2f2bf748986d856133cc1e51992428c25" "1.18": url: "https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.18.tar.gz" sha256: "225d982bcaf553221c76726358d2ea139bb34913180b20823c782cede060affd" diff --git a/recipes/libdeflate/config.yml b/recipes/libdeflate/config.yml index 2ecdca807a8d6..fe3db2bc74050 100644 --- a/recipes/libdeflate/config.yml +++ b/recipes/libdeflate/config.yml @@ -1,4 +1,6 @@ versions: + "1.19": + folder: "all" "1.18": folder: "all" "1.17": From 5b3040b0ae2689f594a390afeb415d1fd9454579 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Sep 2023 00:09:58 +0900 Subject: [PATCH 1639/4087] (#19924) libalsa: add version 1.2.10 --- recipes/libalsa/all/conandata.yml | 3 +++ recipes/libalsa/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libalsa/all/conandata.yml b/recipes/libalsa/all/conandata.yml index 55a14a6d4051e..c612ddb389783 100644 --- a/recipes/libalsa/all/conandata.yml +++ b/recipes/libalsa/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.10": + url: "https://github.com/alsa-project/alsa-lib/archive/v1.2.10.tar.gz" + sha256: "f55749847fd98274501f4691a2d847e89280c07d40a43cdac43d6443f69fc939" "1.2.7.2": url: "https://github.com/alsa-project/alsa-lib/archive/v1.2.7.2.tar.gz" sha256: "2ed6d908120beb4a91c2271b01489181b28dc9f35f32229ef83bcd5ac8817654" diff --git a/recipes/libalsa/config.yml b/recipes/libalsa/config.yml index b1fdda2825fa6..ce651c2f0d63a 100644 --- a/recipes/libalsa/config.yml +++ b/recipes/libalsa/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.10": + folder: all "1.2.7.2": folder: all "1.2.7": From 9c8380a896b84867a1904ba66e296228e19f0af9 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 03:09:47 +0200 Subject: [PATCH 1640/4087] (#19918) libinterpolate: fix msvc min version + add package_type --- recipes/libinterpolate/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/libinterpolate/all/conanfile.py b/recipes/libinterpolate/all/conanfile.py index b1c88daae5803..c6aadd8b682fe 100644 --- a/recipes/libinterpolate/all/conanfile.py +++ b/recipes/libinterpolate/all/conanfile.py @@ -17,6 +17,7 @@ class PackageConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/CD3/libInterpolate" topics = ("math", "spline", "interpolation", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,13 +29,12 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "19.0", + "msvc": "191", "gcc": "7", "clang": "4", "apple-clang": "10", } - def layout(self): basic_layout(self, src_folder="src") @@ -42,6 +42,9 @@ def requirements(self): self.requires("boost/1.80.0", transitive_headers=True) self.requires("eigen/3.3.7", transitive_headers=True) + def package_id(self): + self.info.clear() + 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") @@ -80,9 +83,6 @@ def package(self): src=os.path.join(self.source_folder, "src"), ) - def package_id(self): - self.info.clear() - def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From 43760a1c2cd4cdb6dd4845736dbe4d1195e9be81 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 04:10:28 +0200 Subject: [PATCH 1641/4087] (#19668) pcre2: use version range for zlib + add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * add package_type * Update recipes/pcre2/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/pcre2/all/conanfile.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index 5982290e7cdbe..14600c9abe85c 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -16,7 +16,7 @@ class PCRE2Conan(ConanFile): description = "Perl Compatible Regular Expressions" topics = ("regex", "regexp", "perl") license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -65,7 +65,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_bzip2"): self.requires("bzip2/1.0.8") @@ -76,8 +76,7 @@ def validate(self): raise ConanInvalidConfiguration("build_pcre2_8 must be enabled for the pcre2grep program") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 405434bb3db8c036b9758c70ffc39e850caef327 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 18 Sep 2023 07:29:30 +0200 Subject: [PATCH 1642/4087] (#19914) cmake: add version 3.27.5 --- 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 afcf32ce81461..3eb4a53d2fff4 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.5": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.5-linux-aarch64.tar.gz" + sha256: "2ffaf176d0f93c332abaffbf3ce82fc8c90e49e0fcee8dc16338bcfbb150ead7" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.5-linux-x86_64.tar.gz" + sha256: "138c68addae825b16ed78d792dafef5e0960194833f48bd77e7e0429c6bc081c" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.5-macos10.10-universal.tar.gz" + sha256: "1f776640e6ad35b2b3fe2ab5e39cff363b2c3034ecb56e45597402b7bf010e47" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.5-windows-arm64.zip" + sha256: "3fcc84d34e3213b0e4261295eaddfc645685ab366dc570421555e7f3d3080d3a" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.5-windows-x86_64.zip" + sha256: "1e8e06c8ecf63d5f213019e1cd39ea41a6cf952db5f2c8e69b8e47f5bc302684" "3.27.4": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 94869f2ceea82..179f7ccf1c5b2 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.27.5": + folder: "binary" "3.27.4": folder: "binary" "3.27.1": From 759207d760e21cfedd31e22df665a271ee6965e3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 08:09:33 +0200 Subject: [PATCH 1643/4087] (#19850) wildmidi: add package_type --- recipes/wildmidi/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/wildmidi/all/conanfile.py b/recipes/wildmidi/all/conanfile.py index 0e6c15d33a72b..4648d8d359fa3 100644 --- a/recipes/wildmidi/all/conanfile.py +++ b/recipes/wildmidi/all/conanfile.py @@ -15,6 +15,7 @@ class WildmidiConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.mindwerks.net/projects/wildmidi" topics = ("audio", "midi", "multimedia", "music", "softsynth", "sound", "synth") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -72,10 +73,10 @@ def package_info(self): if is_msvc(self): libname = "libWildMidi" if not self.options.shared: - libname += "-static" + libname += "-static" else: libname = "WildMidi" - + self.cpp_info.set_property("cmake_file_name", "WildMidi") self.cpp_info.set_property("cmake_target_name", "WildMidi::libwildmidi") self.cpp_info.set_property("pkg_config_name", "wildmidi") @@ -92,3 +93,5 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "WildMidi" self.cpp_info.components["libwildmidi"].names["cmake_find_package"] = "libwildmidi" self.cpp_info.components["libwildmidi"].names["cmake_find_package_multi"] = "libwildmidi" + self.cpp_info.components["libwildmidi"].set_property("cmake_target_name", "WildMidi::libwildmidi") + self.cpp_info.components["libwildmidi"].set_property("pkg_config_name", "wildmidi") From 84268cc6407d94a408b62af0f561defbadb03929 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 08:33:30 +0200 Subject: [PATCH 1644/4087] (#19879) zpp_throwing: add package_type --- recipes/zpp_throwing/all/conanfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/zpp_throwing/all/conanfile.py b/recipes/zpp_throwing/all/conanfile.py index 6cfaa18e3dd02..7fb36897fcbae 100644 --- a/recipes/zpp_throwing/all/conanfile.py +++ b/recipes/zpp_throwing/all/conanfile.py @@ -3,11 +3,12 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy from conan.tools.layout import basic_layout -from conan.tools.scm import Version from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" + class ZppThrowingConan(ConanFile): name = "zpp_throwing" @@ -16,6 +17,7 @@ class ZppThrowingConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/eyalz800/zpp_throwing" topics = ("coroutines", "exceptions", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -67,7 +69,7 @@ def loose_lt_semver(v1, v2): raise ConanInvalidConfiguration(f"{self.ref} requires libc++ with 'coroutines' supported on your compiler.") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) From 26b5d9fb913aa008db6d93e6a926accd7fd39044 Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Mon, 18 Sep 2023 09:10:11 +0200 Subject: [PATCH 1645/4087] (#19855) Add FunctionalPlus version 0.2.20-p0 --- 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 ca33489d4d5de..0abf05e252793 100644 --- a/recipes/functionalplus/all/conandata.yml +++ b/recipes/functionalplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.20-p0": + url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.20-p0.tar.gz" + sha256: "6a8e56bd7976b7d5a6a31001f36bc199c2997f1144994fa0b48a1a5b8497abbc" "0.2.18-p0": url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.18-p0.tar.gz" sha256: "ffc63fc86f89a205accafa85c35790eda307adf5f1d6d51bb7ceb5c5e21e013b" diff --git a/recipes/functionalplus/config.yml b/recipes/functionalplus/config.yml index 42d00dd1c341a..bc5d04d53c4bd 100644 --- a/recipes/functionalplus/config.yml +++ b/recipes/functionalplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.20-p0": + folder: all "0.2.18-p0": folder: all "0.2.17-p0": From 80f4b261dafc8d10b1eddb186033601987a22618 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 09:51:32 +0200 Subject: [PATCH 1646/4087] (#19846) vcglib: add package_type * add package_type & modernize more * simplify test_v1_package * fix eigen traits --- recipes/vcglib/all/conanfile.py | 15 ++++++--------- recipes/vcglib/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/recipes/vcglib/all/conanfile.py b/recipes/vcglib/all/conanfile.py index f452d7336181c..b05d8f64d4559 100644 --- a/recipes/vcglib/all/conanfile.py +++ b/recipes/vcglib/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class VcglibConan(ConanFile): @@ -14,7 +14,7 @@ class VcglibConan(ConanFile): topics = ("vcglib", "mesh-processing") homepage = "https://github.com/cnr-isti-vclab/vcglib" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -35,24 +35,21 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("eigen/3.4.0") + # vcglib public headers include several eigen headers (for example vcg/math/matrix44.h includes Eigen/Core) + self.requires("eigen/3.4.0", transitive_headers=True) def validate(self): if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/vcglib/all/test_v1_package/CMakeLists.txt b/recipes/vcglib/all/test_v1_package/CMakeLists.txt index 0b93c9e9b9c66..0d20897301b68 100644 --- a/recipes/vcglib/all/test_v1_package/CMakeLists.txt +++ b/recipes/vcglib/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(vcglib REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE vcglib::vcglib) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 7a79d9be8b5cd983d88b7f7b97cec9b1a3a2dee7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:36:27 +0200 Subject: [PATCH 1647/4087] (#19849) vectorial: add package_type * add package_type * simplify test_v1_package * add test_type to test package --- recipes/vectorial/all/conanfile.py | 12 +++++------- recipes/vectorial/all/test_package/conanfile.py | 7 ++++--- recipes/vectorial/all/test_v1_package/CMakeLists.txt | 8 +++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/recipes/vectorial/all/conanfile.py b/recipes/vectorial/all/conanfile.py index fd7818ff4d997..91f7fd34d7f37 100644 --- a/recipes/vectorial/all/conanfile.py +++ b/recipes/vectorial/all/conanfile.py @@ -13,18 +13,18 @@ class VectorialConan(ConanFile): license = "BSD-2-Clause" homepage = "https://github.com/scoopr/vectorial" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,8 +35,6 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] diff --git a/recipes/vectorial/all/test_package/conanfile.py b/recipes/vectorial/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/vectorial/all/test_package/conanfile.py +++ b/recipes/vectorial/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/vectorial/all/test_v1_package/CMakeLists.txt b/recipes/vectorial/all/test_v1_package/CMakeLists.txt index 394022f35f7ca..0d20897301b68 100644 --- a/recipes/vectorial/all/test_v1_package/CMakeLists.txt +++ b/recipes/vectorial/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(vectorial REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE vectorial::vectorial) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 33b2ec2fcea15533f5067f2078e03948df4d588b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 11:03:51 +0200 Subject: [PATCH 1648/4087] (#19851) winmd: add package_type & clear bindirs and libdirs in package_info() * add package_type & clear bindirs and libdirs in package_info() * fix cxxflags for conan v2 client --- recipes/winmd/all/conanfile.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/recipes/winmd/all/conanfile.py b/recipes/winmd/all/conanfile.py index 1882e7a4ae703..e37dc1cc239fe 100644 --- a/recipes/winmd/all/conanfile.py +++ b/recipes/winmd/all/conanfile.py @@ -5,10 +5,10 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -from conan.tools.microsoft import is_msvc, check_min_vs -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class WinMDConan(ConanFile): @@ -18,6 +18,7 @@ class WinMDConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/microsoft/winmd" topics = ("native", "C++", "WinRT", "WinMD") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -30,7 +31,9 @@ def _compilers_minimum_version(self): return { "gcc": "8", "clang": "12", - "apple-clang": "12.0", + "apple-clang": "12", + "Visual Studio": "15", + "msvc": "191", } def layout(self): @@ -40,20 +43,17 @@ def package_id(self): self.info.clear() def validate(self): - # FIXME: `self.settings` is not available in 2.0 but there are plenty of open issues about - # the migration point. For now we are only going to write valid 1.x recipes until we have a proper answer if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 191) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not (fully) 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 (fully) support." + ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) @@ -65,6 +65,8 @@ def package(self): ) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] if not is_msvc(self): # ignore shadowing errors - self.cpp_info.cppflags = ['-fpermissive'] + self.cpp_info.cxxflags = ['-fpermissive'] From 0961e9d878672a472343b6af17590a8720e9ee42 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Sep 2023 18:36:02 +0900 Subject: [PATCH 1649/4087] (#19571) crowcpp-crow: update dependencies, fix requires names * crowcpp-crow: update dependencies, fix requires names * use version range in crowcpp-crow>=1.0 Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/crowcpp-crow/all/conanfile.py | 11 +++++++---- recipes/crowcpp-crow/all/test_package/conanfile.py | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/recipes/crowcpp-crow/all/conanfile.py b/recipes/crowcpp-crow/all/conanfile.py index 001767af2d0fd..baeed2070acd2 100644 --- a/recipes/crowcpp-crow/all/conanfile.py +++ b/recipes/crowcpp-crow/all/conanfile.py @@ -42,12 +42,12 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") if self.version == "0.2": - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") if Version(self.version) >= "1.0": if self.options.with_ssl: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <3]") if self.options.with_compression: self.requires("zlib/1.2.13") @@ -121,10 +121,13 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "Crow") self.cpp_info.set_property("cmake_target_name", "Crow::Crow") + if Version(self.version) == "0.2": + self.cpp_info.requires.append("openssl::ssl") + if Version(self.version) >= "1.0": if self.options.with_ssl: self.cpp_info.defines.append("CROW_ENABLE_SSL") - self.cpp_info.requires.append("OpenSSL::ssl") + self.cpp_info.requires.append("openssl::ssl") if self.options.with_compression: self.cpp_info.defines.append("CROW_ENABLE_COMPRESSION") self.cpp_info.requires.append("zlib::zlib") diff --git a/recipes/crowcpp-crow/all/test_package/conanfile.py b/recipes/crowcpp-crow/all/test_package/conanfile.py index 3022a3897300e..6fce18aff0519 100644 --- a/recipes/crowcpp-crow/all/test_package/conanfile.py +++ b/recipes/crowcpp-crow/all/test_package/conanfile.py @@ -6,7 +6,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def requirements(self): From e1a3583efcbf21232a101dd6d17a13df32664096 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 18 Sep 2023 12:34:16 +0200 Subject: [PATCH 1650/4087] (#19776) cgal: add CMake variable CGAL_USE_GMP for compatibility --- recipes/cgal/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/cgal/all/conanfile.py b/recipes/cgal/all/conanfile.py index 3a63d4857c167..2d4d74dba1bec 100644 --- a/recipes/cgal/all/conanfile.py +++ b/recipes/cgal/all/conanfile.py @@ -163,6 +163,10 @@ def _create_cmake_module_variables(self, module_file): endfunction() CGAL_setup_CGAL_flags(CGAL::CGAL) + +# CGAL use may rely on the presence of those two variables +set(CGAL_USE_GMP TRUE CACHE INTERNAL "CGAL library is configured to use GMP") +set(CGAL_USE_MPFR TRUE CACHE INTERNAL "CGAL library is configured to use MPFR") ''') save(self, module_file, content) From c05290e2cf756a60f262ee904610ed3316da0d31 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Sep 2023 20:17:34 +0900 Subject: [PATCH 1651/4087] (#19874) continuable: add version 4.2.2, update dependencies --- recipes/continuable/all/conandata.yml | 5 ++++- recipes/continuable/all/conanfile.py | 2 +- recipes/continuable/all/test_package/CMakeLists.txt | 2 +- recipes/continuable/config.yml | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/continuable/all/conandata.yml b/recipes/continuable/all/conandata.yml index 13887549bde39..15db65fb152ed 100644 --- a/recipes/continuable/all/conandata.yml +++ b/recipes/continuable/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.2": + url: "https://github.com/Naios/continuable/archive/4.2.2.tar.gz" + sha256: "49bf82a349b26c01194631e4fe5d1dbad080b3b4a347eebc5cf95326ea130fba" "4.2.1": url: "https://github.com/Naios/continuable/archive/4.2.1.tar.gz" sha256: "19c7c2371c94ec759eac8169dea593703b54057551322b5d682643548c9c0146" @@ -6,5 +9,5 @@ sources: url: "https://github.com/Naios/continuable/archive/4.2.0.tar.gz" sha256: "d85bed930ac19d4b36b23778ad9ae943c2981f7492982bd51dadb89e8908d53f" "4.1.0": - sha256: "CBCF50B1B73D8B4EB54734C827D6736CD038960E13F80699958DBB87F1827650" url: "https://github.com/Naios/continuable/archive/4.1.0.tar.gz" + sha256: "CBCF50B1B73D8B4EB54734C827D6736CD038960E13F80699958DBB87F1827650" diff --git a/recipes/continuable/all/conanfile.py b/recipes/continuable/all/conanfile.py index 40af36527241e..e724022beb95f 100644 --- a/recipes/continuable/all/conanfile.py +++ b/recipes/continuable/all/conanfile.py @@ -78,7 +78,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("function2/4.1.0") + self.requires("function2/4.2.3") def package_id(self): self.info.clear() diff --git a/recipes/continuable/all/test_package/CMakeLists.txt b/recipes/continuable/all/test_package/CMakeLists.txt index f98eae0c75bf8..9a7b7e199f5b8 100644 --- a/recipes/continuable/all/test_package/CMakeLists.txt +++ b/recipes/continuable/all/test_package/CMakeLists.txt @@ -5,7 +5,7 @@ find_package(continuable REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) set_target_properties(${PROJECT_NAME} PROPERTIES - CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON ) target_link_libraries(${PROJECT_NAME} PRIVATE continuable::continuable) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/continuable/config.yml b/recipes/continuable/config.yml index 52fa67bcd41e8..955cd0773fc58 100644 --- a/recipes/continuable/config.yml +++ b/recipes/continuable/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.2": + folder: all "4.2.1": folder: all "4.2.0": From 1e4622798f6e45b8570548d3b78bf3aa4a1e7499 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 13:57:16 +0200 Subject: [PATCH 1652/4087] (#19880) vectorclass: add package type & modernize a little bit more * add package_type & modernize a little bit more * simplify test v1 package --- recipes/vectorclass/all/conanfile.py | 16 ++++++++-------- .../all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/recipes/vectorclass/all/conanfile.py b/recipes/vectorclass/all/conanfile.py index 5696b99489d45..60e6bdcdc723a 100644 --- a/recipes/vectorclass/all/conanfile.py +++ b/recipes/vectorclass/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.files import copy, get import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=1.50.0" class VectorclassConan(ConanFile): @@ -18,7 +18,7 @@ class VectorclassConan(ConanFile): topics = ("vectorclass", "vector", "simd") homepage = "https://github.com/vectorclass/version2" url = "https://github.com/conan-io/conan-center-index" - + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -37,6 +37,7 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15.7", + "msvc": "191", "gcc": "7", "clang": "4.0", "apple-clang": "9.1", @@ -50,10 +51,10 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.info.settings.os not in ["Linux", "Windows", "Macos"] or self.info.settings.arch not in ["x86", "x86_64"]: + if self.settings.os not in ["Linux", "Windows", "Macos"] or self.settings.arch not in ["x86", "x86_64"]: raise ConanInvalidConfiguration("vectorclass supports Linux/Windows/macOS and x86/x86_64 only.") - if self.info.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): @@ -62,15 +63,14 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version and loose_lt_semver(str(self.info.settings.compiler.version), minimum_version): + 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.", ) 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/vectorclass/all/test_v1_package/CMakeLists.txt b/recipes/vectorclass/all/test_v1_package/CMakeLists.txt index 1d531c5d5a930..0d20897301b68 100644 --- a/recipes/vectorclass/all/test_v1_package/CMakeLists.txt +++ b/recipes/vectorclass/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(vectorclass REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE vectorclass::vectorclass) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From edeff846f34b00e97fedf72981d6194b222d7099 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:44:01 +0200 Subject: [PATCH 1653/4087] (#19913) [doc] fix msvc version in header-only template --- docs/package_templates/header_only/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/package_templates/header_only/all/conanfile.py b/docs/package_templates/header_only/all/conanfile.py index 51ea9a72fb954..6414c6f49c028 100644 --- a/docs/package_templates/header_only/all/conanfile.py +++ b/docs/package_templates/header_only/all/conanfile.py @@ -36,7 +36,7 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "14.1", + "msvc": "191", "gcc": "5", "clang": "5", "apple-clang": "5.1", From 1d2f90e3c9d2e93a61b6fcac8268586b27737f33 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 18 Sep 2023 16:08:35 +0300 Subject: [PATCH 1654/4087] (#18259) frugally-deep: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * frugally-deep: migrate to Conan v2 * frugally-deep: restore test_v1_package * frugally-deep: restore VirtualRunEnv in test_package * frugally-deep: bump deps --------- Co-authored-by: Rubén Rincón Blanco --- recipes/frugally-deep/all/conanfile.py | 68 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 19 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 5 files changed, 78 insertions(+), 41 deletions(-) create mode 100644 recipes/frugally-deep/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/frugally-deep/all/test_v1_package/conanfile.py diff --git a/recipes/frugally-deep/all/conanfile.py b/recipes/frugally-deep/all/conanfile.py index 2588afa778f5b..4b479f8d56a41 100644 --- a/recipes/frugally-deep/all/conanfile.py +++ b/recipes/frugally-deep/all/conanfile.py @@ -1,23 +1,30 @@ -from conans import ConanFile, 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.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class FrugallyDeepConan(ConanFile): name = "frugally-deep" description = "Use Keras models in C++ with ease." license = "MIT" - topics = ("keras", "tensorflow") - homepage = "https://github.com/Dobiasd/frugally-deep" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/Dobiasd/frugally-deep" + topics = ("keras", "tensorflow", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 14 @property def _compilers_minimum_version(self): @@ -27,45 +34,44 @@ def _compilers_minimum_version(self): "clang": "3.7", "apple-clang": "9", } + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): self.requires("eigen/3.4.0") self.requires("functionalplus/0.2.18-p0") - self.requires("nlohmann_json/3.10.5") + self.requires("nlohmann_json/3.11.2") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 14) - - 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, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("frugally-deep requires C++14. Your compiler is unknown. Assuming it supports C++14.") - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): - raise ConanInvalidConfiguration("frugally-deep requires C++14, which your compiler does not support.") - - def package_id(self): - self.info.header_only() + 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], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + 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", "frugally-deep") self.cpp_info.set_property("cmake_target_name", "frugally-deep::fdeep") # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["fdeep"].requires = ["eigen::eigen", - "functionalplus::functionalplus", - "nlohmann_json::nlohmann_json"] + self.cpp_info.components["fdeep"].requires = [ + "eigen::eigen", + "functionalplus::functionalplus", + "nlohmann_json::nlohmann_json", + ] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["fdeep"].system_libs = ["pthread"] diff --git a/recipes/frugally-deep/all/test_package/CMakeLists.txt b/recipes/frugally-deep/all/test_package/CMakeLists.txt index a8c615c1776b8..b64a8f93f961f 100644 --- a/recipes/frugally-deep/all/test_package/CMakeLists.txt +++ b/recipes/frugally-deep/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(frugally-deep REQUIRED CONFIG) diff --git a/recipes/frugally-deep/all/test_package/conanfile.py b/recipes/frugally-deep/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/frugally-deep/all/test_package/conanfile.py +++ b/recipes/frugally-deep/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/frugally-deep/all/test_v1_package/CMakeLists.txt b/recipes/frugally-deep/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/frugally-deep/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/frugally-deep/all/test_v1_package/conanfile.py b/recipes/frugally-deep/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/frugally-deep/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ef547a5a9618cc3c2e73bbb9b6d082da8ed70ff4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 18 Sep 2023 16:55:03 +0300 Subject: [PATCH 1655/4087] (#18261) platform.converters: migrate to Conan v2 * platform.converters: migrate to Conan v2 * platform.converters: restore test_v1_package * platform.converters: restore VirtualRunEnv in test_package --- recipes/platform.converters/all/conanfile.py | 73 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 21 ++++-- .../all/test_package/test_package.cpp | 4 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++++ 6 files changed, 84 insertions(+), 46 deletions(-) create mode 100644 recipes/platform.converters/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/platform.converters/all/test_v1_package/conanfile.py diff --git a/recipes/platform.converters/all/conanfile.py b/recipes/platform.converters/all/conanfile.py index 4991da89bae2c..2979e31430f9b 100644 --- a/recipes/platform.converters/all/conanfile.py +++ b/recipes/platform.converters/all/conanfile.py @@ -1,28 +1,30 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class PlatformConvertersConan(ConanFile): name = "platform.converters" + description = "platform.converters is one of the libraries of the LinksPlatform modular framework, to provide conversions between different types" license = "MIT" - homepage = "https://github.com/linksplatform/Converters" url = "https://github.com/conan-io/conan-center-index" - description = "platform.converters is one of the libraries of the LinksPlatform modular framework, " \ - "to provide conversions between different types" - topics = ("linksplatform", "cpp20", "converters", "any", "native") - settings = "compiler", "arch" - no_copy_source = True + homepage = "https://github.com/linksplatform/Converters" + topics = ("linksplatform", "cpp20", "converters", "any", "native", "header-only") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True @property - def _internal_cpp_subfolder(self): - return os.path.join(self._source_subfolder, "cpp", "Platform.Converters") + def _minimum_cpp_standard(self): + return 20 @property def _compilers_minimum_version(self): @@ -30,36 +32,41 @@ def _compilers_minimum_version(self): "gcc": "10", "Visual Studio": "16", "clang": "14", - "apple-clang": "14" + "apple-clang": "14", } - @property - def _minimum_cpp_standard(self): - return 20 + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) if not minimum_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.") - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{}/{} requires c++{}, " - "which is not supported by {} {}.".format( - self.name, self.version, self._minimum_cpp_standard, self.settings.compiler, - self.settings.compiler.version)) + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name}/{self.version} requires c++{self._minimum_cpp_standard}, " + f"which is not supported by {self.settings.compiler} {self.settings.compiler.version}." + ) if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - - def package_id(self): - self.info.header_only() + check_min_cppstd(self, self._minimum_cpp_standard) 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) + + @property + def _internal_cpp_subfolder(self): + return os.path.join(self.source_folder, "cpp", "Platform.Converters") def package(self): - self.copy("*.h", dst="include", src=self._internal_cpp_subfolder) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=self._internal_cpp_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/platform.converters/all/test_package/CMakeLists.txt b/recipes/platform.converters/all/test_package/CMakeLists.txt index 80c8108b7c3f7..3372d3e73b186 100644 --- a/recipes/platform.converters/all/test_package/CMakeLists.txt +++ b/recipes/platform.converters/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(platform.converters CONFIG REQUIRED) +find_package(platform.converters REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} platform.converters::platform.converters) diff --git a/recipes/platform.converters/all/test_package/conanfile.py b/recipes/platform.converters/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/platform.converters/all/test_package/conanfile.py +++ b/recipes/platform.converters/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/platform.converters/all/test_package/test_package.cpp b/recipes/platform.converters/all/test_package/test_package.cpp index 283e7f59b558b..47a24cfe4903b 100644 --- a/recipes/platform.converters/all/test_package/test_package.cpp +++ b/recipes/platform.converters/all/test_package/test_package.cpp @@ -5,8 +5,8 @@ using namespace Platform::Converters; int main() { - int source {48}; + int source{48}; char to = Converter::Convert(source); - std::cout<<"int value: "< Date: Mon, 18 Sep 2023 17:55:52 +0300 Subject: [PATCH 1656/4087] (#18264) ctpg: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ctpg: migrate to Conan v2 * ctpg: restore test_v1_package * ctpg: drop older versions * ctpg: set correct min compiler versions * ctpg: enable MSVC builds * Remove old version checks --------- Co-authored-by: Rubén Rincón Blanco --- recipes/ctpg/all/conandata.yml | 6 -- recipes/ctpg/all/conanfile.py | 86 +++++++++++-------- recipes/ctpg/all/test_package/CMakeLists.txt | 8 +- recipes/ctpg/all/test_package/conanfile.py | 28 ++++-- .../ctpg/all/test_package/test_package.cpp | 8 +- .../ctpg/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/ctpg/all/test_v1_package/conanfile.py | 17 ++++ recipes/ctpg/config.yml | 4 - 8 files changed, 99 insertions(+), 66 deletions(-) create mode 100644 recipes/ctpg/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ctpg/all/test_v1_package/conanfile.py diff --git a/recipes/ctpg/all/conandata.yml b/recipes/ctpg/all/conandata.yml index e352628a7b1dd..35ba92c0e0475 100644 --- a/recipes/ctpg/all/conandata.yml +++ b/recipes/ctpg/all/conandata.yml @@ -2,9 +2,3 @@ sources: "1.3.7": url: "https://github.com/peter-winter/ctpg/archive/refs/tags/v1.3.7.tar.gz" sha256: "6cc7c34de4983e21070599fd5693b65ef08cd5c8f42612e43b47eda723623429" - "1.3.6": - url: "https://github.com/peter-winter/ctpg/archive/refs/tags/v1.3.6.tar.gz" - sha256: "8ad5e06ab551fe30ff10faf6b53b85c862a873e3827505d5f5b63aae2b836ba2" - "1.3.5": - url: "https://github.com/peter-winter/ctpg/archive/refs/tags/v1.3.5.tar.gz" - sha256: "6874e71aecace33a07dd202c5c6c53277653d54daa13b460f4e1eb5b0c902d42" diff --git a/recipes/ctpg/all/conanfile.py b/recipes/ctpg/all/conanfile.py index bd69eefe8c5a2..6e511a34160b5 100644 --- a/recipes/ctpg/all/conanfile.py +++ b/recipes/ctpg/all/conanfile.py @@ -1,59 +1,73 @@ -from conans.errors import ConanInvalidConfiguration -from conans import ConanFile, tools import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class CTPGConan(ConanFile): name = "ctpg" - license = "MIT" description = ( "Compile Time Parser Generator is a C++ single header library which takes a language description as a C++ code " "and turns it into a LR1 table parser with a deterministic finite automaton lexical analyzer, all in compile time." ) - topics = ("regex", "parser", "grammar", "compile-time") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/peter-winter/ctpg" - settings = "compiler", + topics = ("regex", "parser", "grammar", "compile-time", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _compiler_required_cpp17 = { - "Visual Studio": "16", - "gcc": "8", - "clang": "12", - "apple-clang": "12.0", - } + @property + def _min_cppstd(self): + return 17 @property - def _source_subfolder(self): - return "source_subfolder" + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "12", + "apple-clang": "12.0", + "msvc": "192", + "Visual Studio": "16", + } - def validate(self): - ## TODO: In ctpg<=1.3.5, Visual Studio C++ failed to compile ctpg with "error MSB6006: "CL.exe" exited with code -1073741571." - if self.settings.compiler == "Visual Studio": - raise ConanInvalidConfiguration("{} does not support Visual Studio currently.".format(self.name)) + def layout(self): + basic_layout(self, src_folder="src") - if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, "17") + def package_id(self): + self.info.clear() - minimum_version = self._compiler_required_cpp17.get(str(self.settings.compiler), False) - if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++17, which your compiler does not support.".format(self.name)) - else: - self.output.warn("{} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name)) + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - def package_id(self): - self.info.header_only() + 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], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE*", "licenses", self._source_subfolder) - if tools.Version(self.version) >= "1.3.7": - self.copy("ctpg.hpp", - os.path.join("include", "ctpg"), - os.path.join(self._source_subfolder, "include", "ctpg")) - else: - self.copy("ctpg.hpp", "include", os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + include_dir = os.path.join("include", "ctpg") + copy(self, "ctpg.hpp", + dst=os.path.join(self.package_folder, include_dir), + src=os.path.join(self.source_folder, include_dir)) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/ctpg/all/test_package/CMakeLists.txt b/recipes/ctpg/all/test_package/CMakeLists.txt index b09bb90b2f88d..72fdf15fd58d7 100644 --- a/recipes/ctpg/all/test_package/CMakeLists.txt +++ b/recipes/ctpg/all/test_package/CMakeLists.txt @@ -1,17 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(ctpg CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} ctpg::ctpg) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) -if(CTPG_PLACED_CPTG_FOLDER) - target_compile_definitions(${PROJECT_NAME} PUBLIC CTPG_PLACED_CPTG_FOLDER) -endif() if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") target_compile_options(${PROJECT_NAME} PUBLIC -constexpr:depth3000000) diff --git a/recipes/ctpg/all/test_package/conanfile.py b/recipes/ctpg/all/test_package/conanfile.py index 34c01340114ef..c5591f2deebdb 100644 --- a/recipes/ctpg/all/test_package/conanfile.py +++ b/recipes/ctpg/all/test_package/conanfile.py @@ -1,18 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.tools.scm import Version 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" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["CTPG_PLACED_CPTG_FOLDER"] = tools.Version(self.deps_cpp_info["ctpg"].version) >= "1.3.7" 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): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ctpg/all/test_package/test_package.cpp b/recipes/ctpg/all/test_package/test_package.cpp index bcd377f23cbd8..0d99b97395ccd 100644 --- a/recipes/ctpg/all/test_package/test_package.cpp +++ b/recipes/ctpg/all/test_package/test_package.cpp @@ -1,8 +1,4 @@ -#ifdef CTPG_PLACED_CPTG_FOLDER -# include "ctpg/ctpg.hpp" -#else -# include "ctpg.hpp" -#endif +#include "ctpg/ctpg.hpp" #include @@ -28,7 +24,7 @@ constexpr ctpg::parser p( ) ); -int main(int argc, char* argv[]) { +int main() { auto res = p.parse(ctpg::buffers::string_buffer("10, 20, 30"), std::cerr); bool success = res.has_value(); if (success) diff --git a/recipes/ctpg/all/test_v1_package/CMakeLists.txt b/recipes/ctpg/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/ctpg/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/ctpg/all/test_v1_package/conanfile.py b/recipes/ctpg/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..90eb89e3f2f46 --- /dev/null +++ b/recipes/ctpg/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/ctpg/config.yml b/recipes/ctpg/config.yml index 3da45bc778250..fba76735a9013 100644 --- a/recipes/ctpg/config.yml +++ b/recipes/ctpg/config.yml @@ -1,7 +1,3 @@ versions: "1.3.7": folder: all - "1.3.6": - folder: all - "1.3.5": - folder: all From e23c7ef6c16cc0cb89e2370f7a05286c9eb5dec0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 18 Sep 2023 20:01:08 +0300 Subject: [PATCH 1657/4087] (#18273) seqan3: migrate to Conan v2 * seqan3: migrate to Conan v2 * seqan3: restore test_v1_package * seqan3: restore VirtualRunEnv in test_package --- recipes/seqan3/all/conanfile.py | 55 +++++++++++-------- .../seqan3/all/test_package/CMakeLists.txt | 5 +- recipes/seqan3/all/test_package/conanfile.py | 19 +++++-- .../seqan3/all/test_v1_package/CMakeLists.txt | 8 +++ .../seqan3/all/test_v1_package/conanfile.py | 17 ++++++ 5 files changed, 72 insertions(+), 32 deletions(-) create mode 100644 recipes/seqan3/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/seqan3/all/test_v1_package/conanfile.py diff --git a/recipes/seqan3/all/conanfile.py b/recipes/seqan3/all/conanfile.py index ef55f38b024ff..10b57ed42fdf7 100644 --- a/recipes/seqan3/all/conanfile.py +++ b/recipes/seqan3/all/conanfile.py @@ -1,60 +1,69 @@ -from conans import ConanFile, 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.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class Seqan3Conan(ConanFile): name = "seqan3" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/seqan/seqan3" description = "SeqAn3 is the new version of the popular SeqAn template library for the analysis of biological sequences." - topics = ("cpp20", "algorithms", "data structures", "biological sequences") license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/seqan/seqan3" + topics = ("cpp20", "algorithms", "data structures", "biological sequences", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 20 @property def _compilers_minimum_version(self): - return { - "gcc": "10", - } + return {"gcc": "10"} + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def validate(self): if self.settings.compiler != "gcc": raise ConanInvalidConfiguration("SeqAn3 only supports GCC.") if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 20) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < 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.warn("SeqAn3 requires C++20. Your compiler is unknown. Assuming it supports C++20.") + self.output.warning("SeqAn3 requires C++20. Your compiler is unknown. Assuming it supports C++20.") if self.settings.compiler == "gcc" and self.settings.compiler.libcxx != "libstdc++11": - self.output.warn("SeqAn3 does not actively support libstdc++, consider using libstdc++11 instead.") + self.output.warning("SeqAn3 does not actively support libstdc++, consider using libstdc++11 instead.") 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 package(self): - self.copy("*", dst="include", - src=os.path.join(self._source_subfolder, "include"), keep_path=True) + copy(self, "*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include"), keep_path=True) + copy(self, "LICENSE.md", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) for submodule in ["range-v3", "cereal", "sdsl-lite"]: - self.copy("*.hpp", dst="include", - src=os.path.join(self._source_subfolder, "submodules", submodule, "include"), keep_path=True) - self.copy("LICENSE.md", dst="licenses", src=self._source_subfolder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "submodules", submodule, "include"), + keep_path=True) def package_info(self): self.cpp_info.set_property("cmake_file_name", "seqan3") diff --git a/recipes/seqan3/all/test_package/CMakeLists.txt b/recipes/seqan3/all/test_package/CMakeLists.txt index 8c21ec19c6384..11e58315f3f7e 100644 --- a/recipes/seqan3/all/test_package/CMakeLists.txt +++ b/recipes/seqan3/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(seqan3 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/seqan3/all/test_package/conanfile.py b/recipes/seqan3/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/seqan3/all/test_package/conanfile.py +++ b/recipes/seqan3/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/seqan3/all/test_v1_package/CMakeLists.txt b/recipes/seqan3/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/seqan3/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/seqan3/all/test_v1_package/conanfile.py b/recipes/seqan3/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/seqan3/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From a2799ed2fe7231cd19a9942b434bef328545e4fe Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Sep 2023 04:00:12 +0900 Subject: [PATCH 1658/4087] (#19721) lazycsv: add recipe * lazycsv: add recipe * drop support msvc --- recipes/lazycsv/all/conandata.yml | 4 ++ recipes/lazycsv/all/conanfile.py | 72 +++++++++++++++++++ .../lazycsv/all/test_package/CMakeLists.txt | 8 +++ recipes/lazycsv/all/test_package/conanfile.py | 26 +++++++ .../lazycsv/all/test_package/test_package.cpp | 10 +++ recipes/lazycsv/config.yml | 3 + 6 files changed, 123 insertions(+) create mode 100644 recipes/lazycsv/all/conandata.yml create mode 100644 recipes/lazycsv/all/conanfile.py create mode 100644 recipes/lazycsv/all/test_package/CMakeLists.txt create mode 100644 recipes/lazycsv/all/test_package/conanfile.py create mode 100644 recipes/lazycsv/all/test_package/test_package.cpp create mode 100644 recipes/lazycsv/config.yml diff --git a/recipes/lazycsv/all/conandata.yml b/recipes/lazycsv/all/conandata.yml new file mode 100644 index 0000000000000..1f9c6533da7ce --- /dev/null +++ b/recipes/lazycsv/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20221117": + url: "https://github.com/ashtum/lazycsv/archive/844e3f318af2d9ede96039dd9f57ebf4cad59ce2.tar.gz" + sha256: "cb8592fc0b563a1236dfadfc423a91d63e705ff0086941218800abda22530540" diff --git a/recipes/lazycsv/all/conanfile.py b/recipes/lazycsv/all/conanfile.py new file mode 100644 index 0000000000000..f0f8f490335f9 --- /dev/null +++ b/recipes/lazycsv/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.52.0" + + +class LazyCSVConan(ConanFile): + name = "lazycsv" + description = "A fast, lightweight and single-header C++ csv parser library" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ashtum/lazycsv" + topics = ("csv", "csv-parser", "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." + ) + if is_msvc(self): + raise ConanInvalidConfiguration( + f"{self.ref} doen't support MSVC." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/lazycsv/all/test_package/CMakeLists.txt b/recipes/lazycsv/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..655f63d80bdcf --- /dev/null +++ b/recipes/lazycsv/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(lazycsv REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE lazycsv::lazycsv) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/lazycsv/all/test_package/conanfile.py b/recipes/lazycsv/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/lazycsv/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/lazycsv/all/test_package/test_package.cpp b/recipes/lazycsv/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c0e33ee18739a --- /dev/null +++ b/recipes/lazycsv/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include "lazycsv.hpp" + + +int main(void) { + std::string csv_data{ "name,lastname,age\nPeter,Griffin,45\nchris,Griffin,14\n" }; + + lazycsv::parser parser_a{ csv_data }; + lazycsv::parser parser_b{ csv_data }; +} diff --git a/recipes/lazycsv/config.yml b/recipes/lazycsv/config.yml new file mode 100644 index 0000000000000..4d61dda20e41a --- /dev/null +++ b/recipes/lazycsv/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20221117": + folder: all From 4cea876070e9ebaedd6b089b30c9788f6683f49f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Sep 2023 05:09:44 +0900 Subject: [PATCH 1659/4087] (#19722) ssp: add recipe --- recipes/ssp/all/conandata.yml | 4 ++ recipes/ssp/all/conanfile.py | 68 +++++++++++++++++++ recipes/ssp/all/test_package/CMakeLists.txt | 8 +++ recipes/ssp/all/test_package/conanfile.py | 26 +++++++ recipes/ssp/all/test_package/test_package.cpp | 12 ++++ recipes/ssp/config.yml | 3 + 6 files changed, 121 insertions(+) create mode 100644 recipes/ssp/all/conandata.yml create mode 100644 recipes/ssp/all/conanfile.py create mode 100644 recipes/ssp/all/test_package/CMakeLists.txt create mode 100644 recipes/ssp/all/test_package/conanfile.py create mode 100644 recipes/ssp/all/test_package/test_package.cpp create mode 100644 recipes/ssp/config.yml diff --git a/recipes/ssp/all/conandata.yml b/recipes/ssp/all/conandata.yml new file mode 100644 index 0000000000000..72dce2c480ffe --- /dev/null +++ b/recipes/ssp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.6.1": + url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.1.tar.gz" + sha256: "4cdf75959b0a5fabd0b3e6ec1bad41d7c3f298d5b7f822d6e12b7e4d7dfcdd34" diff --git a/recipes/ssp/all/conanfile.py b/recipes/ssp/all/conanfile.py new file mode 100644 index 0000000000000..7d75955713fe5 --- /dev/null +++ b/recipes/ssp/all/conanfile.py @@ -0,0 +1,68 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class SspConan(ConanFile): + name = "ssp" + description = "C++ CSV parser" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/red0124/ssp" + topics = ("csv", "parser", "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 requirements(self): + self.requires("fast_float/5.2.0") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/ssp/all/test_package/CMakeLists.txt b/recipes/ssp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..16a9ddec50721 --- /dev/null +++ b/recipes/ssp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(ssp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ssp::ssp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/ssp/all/test_package/conanfile.py b/recipes/ssp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/ssp/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ssp/all/test_package/test_package.cpp b/recipes/ssp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f3a0c45ba8513 --- /dev/null +++ b/recipes/ssp/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include "ss/converter.hpp" + +int main() { + auto converter = ss::converter{}; + + auto val = converter.convert("5"); + + if (val == 5) { + return 0; + } + return 1; +} diff --git a/recipes/ssp/config.yml b/recipes/ssp/config.yml new file mode 100644 index 0000000000000..bd3f43d241a52 --- /dev/null +++ b/recipes/ssp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.6.1": + folder: all From c3a7de8bba4b18a75c3e0469981fd255d63c565e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Sep 2023 06:31:32 +0900 Subject: [PATCH 1660/4087] (#19794) stringzilla: add recipe * stringzilla: add recipe * require C++11 --- recipes/stringzilla/all/conandata.yml | 4 ++ recipes/stringzilla/all/conanfile.py | 48 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++++ .../stringzilla/all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 24 ++++++++++ recipes/stringzilla/config.yml | 3 ++ 6 files changed, 113 insertions(+) create mode 100644 recipes/stringzilla/all/conandata.yml create mode 100644 recipes/stringzilla/all/conanfile.py create mode 100644 recipes/stringzilla/all/test_package/CMakeLists.txt create mode 100644 recipes/stringzilla/all/test_package/conanfile.py create mode 100644 recipes/stringzilla/all/test_package/test_package.cpp create mode 100644 recipes/stringzilla/config.yml diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml new file mode 100644 index 0000000000000..f529350a7dc33 --- /dev/null +++ b/recipes/stringzilla/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.3": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v1.1.3.tar.gz" + sha256: "1856c4d780b2c9a12ccd14d04996b35bec9fe537d0a31209000e12777a86e495" diff --git a/recipes/stringzilla/all/conanfile.py b/recipes/stringzilla/all/conanfile.py new file mode 100644 index 0000000000000..bded9fa3b6426 --- /dev/null +++ b/recipes/stringzilla/all/conanfile.py @@ -0,0 +1,48 @@ +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +import os + +required_conan_version = ">=1.52.0" + +class StringZillaConan(ConanFile): + name = "stringzilla" + description = "Fastest string sort, search, split, and shuffle for long strings and multi-gigabyte files in Python and C, leveraging SIMD with Arm Neon and x86 AVX2 & AVX-512 intrinsics." + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ashvardanian/StringZilla/" + topics = ("string", "simd", "sse", "avx", "neon", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, 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, "stringzilla"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/stringzilla/all/test_package/CMakeLists.txt b/recipes/stringzilla/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c0e457af6c08c --- /dev/null +++ b/recipes/stringzilla/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(stringzilla REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE stringzilla::stringzilla) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/stringzilla/all/test_package/conanfile.py b/recipes/stringzilla/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/stringzilla/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/stringzilla/all/test_package/test_package.cpp b/recipes/stringzilla/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..6725fc782db3f --- /dev/null +++ b/recipes/stringzilla/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#include +#include +#include "stringzilla.h" + +int main(void) { + // Initialize your haystack and needle + strzl_haystack_t haystack = { + "Fastest string sort, search, split, " + "and shuffle for long strings and multi-gigabyte files in Python and C, " + "leveraging SIMD with Arm Neon and x86 AVX2 & AVX-512 intrinsics.", + 171}; + strzl_needle_t needle = {"SIMD", 4}; + + // Count occurrences of a character like a boss 😎 + size_t count = strzl_naive_count_char(haystack, 'a'); + + // Find a character like you're searching for treasure 🏴‍☠️ + size_t position = strzl_naive_find_char(haystack, 'a'); + + // Find a substring like it's Waldo 🕵️‍♂️ + size_t substring_position = strzl_naive_find_substr(haystack, needle); + + return EXIT_SUCCESS; +} diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml new file mode 100644 index 0000000000000..e1c4f3be24983 --- /dev/null +++ b/recipes/stringzilla/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.3": + folder: all From db4a7574cb60ad600cf42e8007edaac4a2a68d92 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Sep 2023 07:44:09 +0900 Subject: [PATCH 1661/4087] (#19817) xtensor: add version 0.24.6 --- recipes/xtensor/all/conandata.yml | 3 +++ recipes/xtensor/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xtensor/all/conandata.yml b/recipes/xtensor/all/conandata.yml index 40af805ba9e93..ab5f555ceae44 100644 --- a/recipes/xtensor/all/conandata.yml +++ b/recipes/xtensor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.24.6": + url: "https://github.com/xtensor-stack/xtensor/archive/0.24.6.tar.gz" + sha256: "f87259b51aabafdd1183947747edfff4cff75d55375334f2e81cee6dc68ef655" "0.24.3": url: "https://github.com/xtensor-stack/xtensor/archive/0.24.3.tar.gz" sha256: "3acde856b9fb8cf4e2a7b66726da541275d40ab9b002e618ad985ab97f08ca4f" diff --git a/recipes/xtensor/config.yml b/recipes/xtensor/config.yml index 0077748f19ef0..414a96bb9536c 100644 --- a/recipes/xtensor/config.yml +++ b/recipes/xtensor/config.yml @@ -1,4 +1,6 @@ versions: + "0.24.6": + folder: all "0.24.3": folder: all "0.24.2": From 00ffde026a8af5308792682d309c669eee49e05c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 19 Sep 2023 01:00:55 +0200 Subject: [PATCH 1662/4087] (#19832) cryptopp 8.8.0 --- recipes/cryptopp/all/conandata.yml | 7 +++++++ recipes/cryptopp/all/conanfile.py | 1 + recipes/cryptopp/config.yml | 2 ++ 3 files changed, 10 insertions(+) diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 2bc29cced3bfe..8b52a60c80d57 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "8.8.0": + source: + url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_8_0.tar.gz" + sha256: "f8b8f632533b279ee297694e651e9204824bba6022ce66e60ebebb08b551fe7a" + cmake: + url: "https://github.com/abdes/cryptopp-cmake/archive/CRYPTOPP_8_8_0.tar.gz" + sha256: "a10068ab47fb46785dfe43ebe45369008855b03f6711ac7d1af6f45aa9238290" "8.7.0": source: url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_7_0.tar.gz" diff --git a/recipes/cryptopp/all/conanfile.py b/recipes/cryptopp/all/conanfile.py index f16bdf4f4f23d..d61c97a23b4e4 100644 --- a/recipes/cryptopp/all/conanfile.py +++ b/recipes/cryptopp/all/conanfile.py @@ -97,6 +97,7 @@ def generate(self): tc.cache_variables["CRYPTOPP_USE_INTERMEDIATE_OBJECTS_TARGET"] = False if self.settings.os == "Android": tc.cache_variables["CRYPTOPP_NATIVE_ARCH"] = True + tc.cache_variables["CMAKE_DISABLE_FIND_PACKAGE_Git"] = True tc.generate() def _patch_sources(self): diff --git a/recipes/cryptopp/config.yml b/recipes/cryptopp/config.yml index 0cf6dab66b6c7..58c17b09dbebf 100644 --- a/recipes/cryptopp/config.yml +++ b/recipes/cryptopp/config.yml @@ -1,4 +1,6 @@ versions: + "8.8.0": + folder: "all" "8.7.0": folder: "all" "8.6.0": From 5186653276f517b3098b36d66675f73ca50a2de8 Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Tue, 19 Sep 2023 02:15:53 +0200 Subject: [PATCH 1663/4087] (#19834) fmi2: add new recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fmi2: add new recipe version 2.0.4 * Update recipes/fmi2/all/conandata.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/fmi2/all/conandata.yml | 5 ++ recipes/fmi2/all/conanfile.py | 50 +++++++++++++++++++ recipes/fmi2/all/test_package/CMakeLists.txt | 7 +++ recipes/fmi2/all/test_package/conanfile.py | 25 ++++++++++ .../fmi2/all/test_package/test_package.cpp | 10 ++++ recipes/fmi2/config.yml | 3 ++ 6 files changed, 100 insertions(+) create mode 100644 recipes/fmi2/all/conandata.yml create mode 100644 recipes/fmi2/all/conanfile.py create mode 100644 recipes/fmi2/all/test_package/CMakeLists.txt create mode 100644 recipes/fmi2/all/test_package/conanfile.py create mode 100644 recipes/fmi2/all/test_package/test_package.cpp create mode 100644 recipes/fmi2/config.yml diff --git a/recipes/fmi2/all/conandata.yml b/recipes/fmi2/all/conandata.yml new file mode 100644 index 0000000000000..ca22c244cd704 --- /dev/null +++ b/recipes/fmi2/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "2.0.4": + url: + - https://github.com/modelica/fmi-standard/releases/download/v2.0.4/FMI-Standard-2.0.4.zip + sha256: "79abb211052d28354a0efff0c6b1998b60a973dd75fdcb338db99ae1b970c9b2" diff --git a/recipes/fmi2/all/conanfile.py b/recipes/fmi2/all/conanfile.py new file mode 100644 index 0000000000000..816be50f782af --- /dev/null +++ b/recipes/fmi2/all/conanfile.py @@ -0,0 +1,50 @@ +from os import path +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "fmi2" + description = "Functional Mock-up Interface (FMI)" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://fmi-standard.org" + topics = ("fmi-standard", "co-simulation", "model-exchange", "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=False) + + def build(self): + pass + + def package(self): + copy(self, pattern="LICENSE.txt", dst=path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + src=path.join(self.source_folder, "headers"), + dst=path.join(self.package_folder, "include"), + ) + copy( + self, + pattern="*.xsd", + src=path.join(self.source_folder, "schema"), + dst=path.join(self.package_folder, "res"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = ["res"] diff --git a/recipes/fmi2/all/test_package/CMakeLists.txt b/recipes/fmi2/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7332dbc8b5197 --- /dev/null +++ b/recipes/fmi2/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C CXX) + +find_package(fmi2 REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fmi2::fmi2) diff --git a/recipes/fmi2/all/test_package/conanfile.py b/recipes/fmi2/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e730ad6dc0dfc --- /dev/null +++ b/recipes/fmi2/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fmi2/all/test_package/test_package.cpp b/recipes/fmi2/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ec96970349ed1 --- /dev/null +++ b/recipes/fmi2/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include +#include "fmi2Functions.h" + + +int main(void) { + std::cout << fmi2Version << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/fmi2/config.yml b/recipes/fmi2/config.yml new file mode 100644 index 0000000000000..1f2301f1f0282 --- /dev/null +++ b/recipes/fmi2/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.4": + folder: all From 7471eda2c1afa9616072918d4b8a44a9b0241c66 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 02:55:04 +0200 Subject: [PATCH 1664/4087] (#19845) valijson: add package_type + simplify & fix test package * add package_type * simplify test package * bump nlohmann_json & rapidjson in test package * Revert "bump nlohmann_json & rapidjson in test package" This reverts commit 956dc2c05f28424036912dc8c39bf060bc513938. * fix test v1 package --- recipes/valijson/all/conanfile.py | 10 ++++++---- recipes/valijson/all/test_package/CMakeLists.txt | 12 ++++++------ recipes/valijson/all/test_package/conanfile.py | 13 +++++-------- .../valijson/all/test_v1_package/CMakeLists.txt | 10 +++++----- recipes/valijson/all/test_v1_package/conanfile.py | 15 ++++++--------- 5 files changed, 28 insertions(+), 32 deletions(-) diff --git a/recipes/valijson/all/conanfile.py b/recipes/valijson/all/conanfile.py index 4c1f0676480ad..9e8080a170f30 100644 --- a/recipes/valijson/all/conanfile.py +++ b/recipes/valijson/all/conanfile.py @@ -13,6 +13,7 @@ class ValijsonConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tristanpenman/valijson" topics = ("json", "validator", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -31,7 +32,7 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -46,12 +47,10 @@ def package(self): ) def package_info(self): + self.cpp_info.set_property("cmake_target_name", "ValiJSON::valijson") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.set_property("cmake_target_name", "ValiJSON::valijson") - self.cpp_info.components["libvalijson"].set_property("cmake_target_name", "ValiJSON::valijson") - # TODO: to remove in conan v2 once cmake_find_package_* generators removed # self.cpp_info.filenames["cmake_find_package"] = "valijson" # TBA: There's no installed config file # self.cpp_info.filenames["cmake_find_package_multi"] = "valijson" # TBA: There's no installed config file @@ -59,3 +58,6 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "ValiJSON" self.cpp_info.components["libvalijson"].names["cmake_find_package"] = "valijson" self.cpp_info.components["libvalijson"].names["cmake_find_package_multi"] = "valijson" + self.cpp_info.components["libvalijson"].set_property("cmake_target_name", "ValiJSON::valijson") + self.cpp_info.components["libvalijson"].bindirs = [] + self.cpp_info.components["libvalijson"].libdirs = [] diff --git a/recipes/valijson/all/test_package/CMakeLists.txt b/recipes/valijson/all/test_package/CMakeLists.txt index f283c4c7cf92c..9fa0294a2d6c6 100644 --- a/recipes/valijson/all/test_package/CMakeLists.txt +++ b/recipes/valijson/all/test_package/CMakeLists.txt @@ -8,11 +8,11 @@ find_package(RapidJSON REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries( - ${PROJECT_NAME} - PRIVATE - ValiJSON::valijson - nlohmann_json::nlohmann_json - picojson::picojson - rapidjson + ${PROJECT_NAME} + PRIVATE + ValiJSON::valijson + nlohmann_json::nlohmann_json + picojson::picojson + rapidjson ) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/valijson/all/test_package/conanfile.py b/recipes/valijson/all/test_package/conanfile.py index 44512632f983b..81b93054985f7 100644 --- a/recipes/valijson/all/test_package/conanfile.py +++ b/recipes/valijson/all/test_package/conanfile.py @@ -12,7 +12,7 @@ def layout(self): cmake_layout(self) def requirements(self): - self.requires("nlohmann_json/3.9.1") + self.requires("nlohmann_json/3.11.2") self.requires("rapidjson/cci.20200410") self.requires("picojson/1.3.0") self.requires(self.tested_reference_str) @@ -25,10 +25,7 @@ def build(self): def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - schema_file = os.path.abspath(os.path.join(self.source_folder, "schema.json")) - valid_file = os.path.abspath(os.path.join(self.source_folder, "valid.json")) - invalid_file = os.path.abspath(os.path.join(self.source_folder, "invalid.json")) - self.run( - "{} {} {} {}".format(bin_path, schema_file, valid_file, invalid_file), - run_environment=True - ) + schema_file = os.path.join(self.source_folder, "schema.json") + valid_file = os.path.join(self.source_folder, "valid.json") + invalid_file = os.path.join(self.source_folder, "invalid.json") + self.run(f"{bin_path} {schema_file} {valid_file} {invalid_file}", env="conanrun") diff --git a/recipes/valijson/all/test_v1_package/CMakeLists.txt b/recipes/valijson/all/test_v1_package/CMakeLists.txt index 679bcbb3ab1fd..a2f6329c538d2 100644 --- a/recipes/valijson/all/test_v1_package/CMakeLists.txt +++ b/recipes/valijson/all/test_v1_package/CMakeLists.txt @@ -11,10 +11,10 @@ find_package(RapidJSON REQUIRED CONFIG) add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_link_libraries( - ${PROJECT_NAME} - ValiJSON::valijson - nlohmann_json::nlohmann_json - picojson::picojson - RapidJSON::RapidJSON + ${PROJECT_NAME} + ValiJSON::valijson + nlohmann_json::nlohmann_json + picojson::picojson + RapidJSON::RapidJSON ) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/valijson/all/test_v1_package/conanfile.py b/recipes/valijson/all/test_v1_package/conanfile.py index 1ffe3deaeb51c..f02d6b2bb8320 100644 --- a/recipes/valijson/all/test_v1_package/conanfile.py +++ b/recipes/valijson/all/test_v1_package/conanfile.py @@ -4,7 +4,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" + generators = "cmake", "cmake_find_package_multi" def build(self): cmake = CMake(self) @@ -12,17 +12,14 @@ def build(self): cmake.build() def requirements(self): - self.requires("nlohmann_json/3.9.1") + self.requires("nlohmann_json/3.11.2") self.requires("rapidjson/cci.20200410") self.requires("picojson/1.3.0") def test(self): if not tools.cross_building(self.settings): bin_path = os.path.join("bin", "test_package") - schema_file = os.path.abspath(os.path.join(self.source_folder, os.pardir, "test_package", "schema.json")) - valid_file = os.path.abspath(os.path.join(self.source_folder, os.pardir, "test_package", "valid.json")) - invalid_file = os.path.abspath(os.path.join(self.source_folder, os.pardir, "test_package", "invalid.json")) - self.run( - "{} {} {} {}".format(bin_path, schema_file, valid_file, invalid_file), - run_environment=True - ) + schema_file = os.path.join(self.source_folder, os.pardir, "test_package", "schema.json") + valid_file = os.path.join(self.source_folder, os.pardir, "test_package", "valid.json") + invalid_file = os.path.join(self.source_folder, os.pardir, "test_package", "invalid.json") + self.run(f"{bin_path} {schema_file} {valid_file} {invalid_file}", run_environment=True) From 58e4fe875bde569a42e2e81fc5394c88608a9f89 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 03:39:38 +0200 Subject: [PATCH 1665/4087] (#19881) vc: add package_type + modernize a little bit more * add package_type & modernize a little bit more * simplify test v1 package --- recipes/vc/all/conanfile.py | 11 +++++------ recipes/vc/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/recipes/vc/all/conanfile.py b/recipes/vc/all/conanfile.py index 7cfaddf7b0838..12e8e45ebe604 100644 --- a/recipes/vc/all/conanfile.py +++ b/recipes/vc/all/conanfile.py @@ -4,17 +4,17 @@ from conan.tools.files import copy, get, replace_in_file, rmdir import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=1.50.0" class VcConan(ConanFile): name = "vc" description = "SIMD Vector Classes for C++." license = "BSD-3-Clause" - topics = ("vc", "simd", "vectorization", "parallel", "sse", "avx", "neon") + topics = ("simd", "vectorization", "parallel", "sse", "avx", "neon") homepage = "https://github.com/VcDevel/Vc" url = "https://github.com/conan-io/conan-center-index" - + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -31,12 +31,11 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.info.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/vc/all/test_v1_package/CMakeLists.txt b/recipes/vc/all/test_v1_package/CMakeLists.txt index 492877a81dfa8..0d20897301b68 100644 --- a/recipes/vc/all/test_v1_package/CMakeLists.txt +++ b/recipes/vc/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(Vc REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE Vc::Vc) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 3797812abb1af51e1656968b4fb51522ca3663fc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Sep 2023 11:33:43 +0900 Subject: [PATCH 1666/4087] (#19887) libnl: add version 3.8.0 --- recipes/libnl/all/conandata.yml | 11 ++++++--- recipes/libnl/all/conanfile.py | 44 +++++++++++++++++---------------- recipes/libnl/config.yml | 2 ++ 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/recipes/libnl/all/conandata.yml b/recipes/libnl/all/conandata.yml index cf3856e1f84ca..c4437c5cec3bc 100644 --- a/recipes/libnl/all/conandata.yml +++ b/recipes/libnl/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "3.8.0": + url: "https://github.com/thom311/libnl/releases/download/libnl3_8_0/libnl-3.8.0.tar.gz" + sha256: "bb726c6d7a08b121978d73ff98425bf313fa26a27a331d465e4f1d7ec5b838c6" "3.7.0": - sha256: 9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939 - url: https://github.com/thom311/libnl/releases/download/libnl3_7_0/libnl-3.7.0.tar.gz + url: "https://github.com/thom311/libnl/releases/download/libnl3_7_0/libnl-3.7.0.tar.gz" + sha256: "9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939" "3.2.25": - sha256: 8beb7590674957b931de6b7f81c530b85dc7c1ad8fbda015398bc1e8d1ce8ec5 - url: https://github.com/thom311/libnl/releases/download/libnl3_2_25/libnl-3.2.25.tar.gz + url: "https://github.com/thom311/libnl/releases/download/libnl3_2_25/libnl-3.2.25.tar.gz" + sha256: "8beb7590674957b931de6b7f81c530b85dc7c1ad8fbda015398bc1e8d1ce8ec5" diff --git a/recipes/libnl/all/conanfile.py b/recipes/libnl/all/conanfile.py index 2dd67d7ee45af..a355e8b21201e 100644 --- a/recipes/libnl/all/conanfile.py +++ b/recipes/libnl/all/conanfile.py @@ -7,38 +7,42 @@ required_conan_version = ">=1.53.0" - class LibNlConan(ConanFile): name = "libnl" description = "A collection of libraries providing APIs to netlink protocol based Linux kernel interfaces." - topics = ("netlink") - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://www.infradead.org/~tgr/libnl/" license = "LGPL-2.1-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/thom311/libnl" + topics = ("netlink") settings = "os", "arch", "compiler", "build_type" - options = {"fPIC": [True, False], "shared": [True, False]} - default_options = {"fPIC": True, "shared": False} - - def build_requirements(self): - self.tool_requires("bison/3.8.2") - self.tool_requires("flex/2.6.4") - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + options = { + "fPIC": [True, False], + "shared": [True, False], + } + default_options = { + "fPIC": True, + "shared": False, + } def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - # This is a pure C library self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def layout(self): + basic_layout(self, src_folder="src") + def validate(self): if self.settings.os != "Linux": - raise ConanInvalidConfiguration("Libnl is only supported on Linux") + raise ConanInvalidConfiguration(f"{self.ref} is only supported on Linux") - def layout(self): - basic_layout(self, src_folder="src") + def build_requirements(self): + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = AutotoolsToolchain(self) @@ -61,8 +65,7 @@ def package(self): def package_info(self): self.cpp_info.components["nl"].libs = ["nl-3"] self.cpp_info.components["nl"].includedirs = [os.path.join('include', 'libnl3')] - if self.settings.os != "Windows": - self.cpp_info.components["nl"].system_libs = ["pthread", "m"] + self.cpp_info.components["nl"].system_libs = ["pthread", "m"] self.cpp_info.components["nl-route"].libs = ["nl-route-3"] self.cpp_info.components["nl-route"].requires = ["nl"] self.cpp_info.components["nl-genl"].libs = ["nl-genl-3"] @@ -71,7 +74,6 @@ def package_info(self): self.cpp_info.components["nl-nf"].requires = ["nl-route"] self.cpp_info.components["nl-cli"].libs = ["nl-cli-3"] self.cpp_info.components["nl-cli"].requires = ["nl-nf", "nl-genl"] - if self.settings.os != "Windows": - self.cpp_info.components["nl-cli"].system_libs = ["dl"] + self.cpp_info.components["nl-cli"].system_libs = ["dl"] self.cpp_info.components["nl-idiag"].libs = ["nl-idiag-3"] self.cpp_info.components["nl-idiag"].requires = ["nl"] diff --git a/recipes/libnl/config.yml b/recipes/libnl/config.yml index 3901cc1eb7ac9..20abb72c5e1b9 100644 --- a/recipes/libnl/config.yml +++ b/recipes/libnl/config.yml @@ -1,4 +1,6 @@ versions: + 3.8.0: + folder: all 3.7.0: folder: all 3.2.25: From 4bbdcd26871a7d16e1ebecd33c0fed3c70ecef06 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Tue, 19 Sep 2023 06:12:59 +0300 Subject: [PATCH 1667/4087] (#19888) sdbus-cpp/all: Fix patch_types "backport" is not a valid patch_type anymore. The closest type the documentation provides is "bugfix". Technically, it's really a bugfix to the build files. --- recipes/sdbus-cpp/all/conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index 97d55c77fac39..ac3e9f3df9188 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -19,10 +19,10 @@ patches: "1.0.0": - patch_file: "patches/0002-correct-readme-cpack-resource-path.patch" patch_description: "fix out of tree build by using proper paths in cmake file" - patch_type: "backport" + patch_type: "bugfix" patch_source: "https://github.com/Kistler-Group/sdbus-cpp/commit/0b8f2d97524f354bcaf816b27b6139a5b0c480ba" "0.8.3": - patch_file: "patches/0001-xml2cpp-Add-missing-EXPAT-include-dirs-136.patch" patch_description: "fix build error by adding missing headers" - patch_type: "backport" + patch_type: "bugfix" patch_source: "https://github.com/Kistler-Group/sdbus-cpp/commit/fb008445b15b452f461c34667f4991f5ce06e481" From 4398cf6f145c500e75d259ead85f34e061102418 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 05:51:42 +0200 Subject: [PATCH 1668/4087] (#19890) mathfu: add package_type --- recipes/mathfu/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/mathfu/all/conanfile.py b/recipes/mathfu/all/conanfile.py index 1b35d3c154c77..ec12916dc298b 100644 --- a/recipes/mathfu/all/conanfile.py +++ b/recipes/mathfu/all/conanfile.py @@ -13,6 +13,7 @@ class MathfuConan(ConanFile): license = "Apache-2.0" homepage = "https://github.com/google/mathfu" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -20,14 +21,13 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("vectorial/cci.20190628", transitive_headers=True, transitive_libs=True) + self.requires("vectorial/cci.20190628") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 17b1daff84f3574b43fffbada0c212afb7f50dd0 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Tue, 19 Sep 2023 07:10:59 +0300 Subject: [PATCH 1669/4087] (#19891) libsystemd/all: Fix v2 migration linter warnings The original warning: "Using open without explicitly specifying an encoding" --- recipes/libsystemd/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 7d0c3d3c0590f..0836b21234ebc 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -82,7 +82,7 @@ def source(self): @property def _so_version(self): meson_build = os.path.join(self.source_folder, "meson.build") - with open(meson_build, "r") as build_file: + with open(meson_build, "r", encoding="utf-8") as build_file: for line in build_file: match = re.match(r"^libsystemd_version = '(.*)'$", line) if match: From 437280b5cc8eee998ad2977f5794c243480e8daf Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Sep 2023 13:52:58 +0900 Subject: [PATCH 1670/4087] (#19892) elfio: add version 3.12, use C++11 in test_package of elfio<3.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * elfio: add version 3.12 * elfio/3.12 requires C++17 * Update recipes/elfio/all/conanfile.py Co-authored-by: Pau Farré --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Pau Farré --- recipes/elfio/all/conandata.yml | 19 +++++---- recipes/elfio/all/conanfile.py | 39 +++++++++++++++---- recipes/elfio/all/test_package/CMakeLists.txt | 8 +++- recipes/elfio/config.yml | 2 + 4 files changed, 52 insertions(+), 16 deletions(-) diff --git a/recipes/elfio/all/conandata.yml b/recipes/elfio/all/conandata.yml index f57351ff19434..fec8473460a71 100644 --- a/recipes/elfio/all/conandata.yml +++ b/recipes/elfio/all/conandata.yml @@ -1,13 +1,16 @@ sources: + "3.12": + url: "https://github.com/serge1/ELFIO/releases/download/Release_3.12/elfio-3.12.tar.gz" + sha256: "caf49f3bf55a9c99c98ebea4b05c79281875783802e892729eea0415505f68c4" "3.11": - sha256: 3307b104c205399786edbba203906de9517e36297709fe747faf9478d55fbb91 - url: https://github.com/serge1/ELFIO/releases/download/Release_3.11/elfio-3.11.tar.gz + url: "https://github.com/serge1/ELFIO/releases/download/Release_3.11/elfio-3.11.tar.gz" + sha256: "3307b104c205399786edbba203906de9517e36297709fe747faf9478d55fbb91" "3.10": - sha256: cdc6362ede2e0c8d1d6db15d7da4b526f461d9cfae6f6337369e416a8bc60234 - url: https://github.com/serge1/ELFIO/releases/download/Release_3.10/elfio-3.10.tar.gz + url: "https://github.com/serge1/ELFIO/releases/download/Release_3.10/elfio-3.10.tar.gz" + sha256: "cdc6362ede2e0c8d1d6db15d7da4b526f461d9cfae6f6337369e416a8bc60234" "3.9": - sha256: 767b269063fc35aba6d361139f830aa91c45dc6b77942f082666876c1aa0be0f - url: https://github.com/serge1/ELFIO/releases/download/Release_3.9/elfio-3.9.tar.gz + url: "https://github.com/serge1/ELFIO/releases/download/Release_3.9/elfio-3.9.tar.gz" + sha256: "767b269063fc35aba6d361139f830aa91c45dc6b77942f082666876c1aa0be0f" "3.8": - sha256: 9553ce2b8d8aa2fb43f0e9be9bcbd10cd52f40b385110ea54173889c982f9ac4 - url: https://github.com/serge1/ELFIO/releases/download/Release_3.8/elfio-3.8.tar.gz + url: "https://github.com/serge1/ELFIO/releases/download/Release_3.8/elfio-3.8.tar.gz" + sha256: "9553ce2b8d8aa2fb43f0e9be9bcbd10cd52f40b385110ea54173889c982f9ac4" diff --git a/recipes/elfio/all/conanfile.py b/recipes/elfio/all/conanfile.py index eef05956d7282..db0b0c7ba0af5 100644 --- a/recipes/elfio/all/conanfile.py +++ b/recipes/elfio/all/conanfile.py @@ -1,4 +1,5 @@ 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 @@ -10,15 +11,37 @@ class ElfioConan(ConanFile): name = "elfio" - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://elfio.sourceforge.net" description = "A header-only C++ library that provides a simple interface for reading and generating files in ELF binary format." - topics = ("elfio", "elf") license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://elfio.sourceforge.net" + topics = ("elf", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + if Version(self.version) < "3.11": + return "11" + elif Version(self.version) < "3.12": + return "14" + else: + return "17" + + @property + def _compilers_minimum_version(self): + return { + # while elfio<3.12 requires C++14, elfio still supports GCC 5 + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, + }.get(self._min_cppstd, {}) + def layout(self): basic_layout(self, src_folder="src") @@ -27,10 +50,12 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - if Version(self.version) < "3.11": - check_min_cppstd(self, 11) - else: - 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], strip_root=True) diff --git a/recipes/elfio/all/test_package/CMakeLists.txt b/recipes/elfio/all/test_package/CMakeLists.txt index 6fa586f7cb943..50113becf9a2c 100755 --- a/recipes/elfio/all/test_package/CMakeLists.txt +++ b/recipes/elfio/all/test_package/CMakeLists.txt @@ -5,4 +5,10 @@ find_package(elfio REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE elfio::elfio) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +if (elfio_VERSION VERSION_LESS "3.11") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +elseif (elfio_VERSION VERSION_LESS "3.12") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/elfio/config.yml b/recipes/elfio/config.yml index 387fbf23f814b..2d1b3203b5c13 100644 --- a/recipes/elfio/config.yml +++ b/recipes/elfio/config.yml @@ -1,4 +1,6 @@ versions: + "3.12": + folder: all "3.11": folder: all "3.10": From 17d36f408ff857552cf9d5e9cc6e460c9742ff07 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 07:31:58 +0200 Subject: [PATCH 1671/4087] (#19896) oboe: add package_type --- recipes/oboe/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/oboe/all/conanfile.py b/recipes/oboe/all/conanfile.py index a70215ca04760..ee8b970e7d9a3 100644 --- a/recipes/oboe/all/conanfile.py +++ b/recipes/oboe/all/conanfile.py @@ -15,7 +15,7 @@ class OboeConan(ConanFile): topics = ("android", "audio") homepage = "https://github.com/google/oboe" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type", options = { "shared": [True, False], @@ -33,15 +33,15 @@ 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.os != "Android": raise ConanInvalidConfiguration("oboe supports Android only") if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 17) - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ce24b23a39d6c086f41d774601fa9f83b00e7376 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 08:20:01 +0200 Subject: [PATCH 1672/4087] (#19900) platform.equality: no warning for msvc or unknown compilers --- recipes/platform.equality/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/platform.equality/all/conanfile.py b/recipes/platform.equality/all/conanfile.py index 8aa89e267366d..aa27ad1916e7f 100644 --- a/recipes/platform.equality/all/conanfile.py +++ b/recipes/platform.equality/all/conanfile.py @@ -26,7 +26,7 @@ class PlatformInterfacesConan(ConanFile): no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 20 @property @@ -38,6 +38,7 @@ def _compilers_minimum_version(self): return { "gcc": "10", "Visual Studio": "16", + "msvc": "192", "clang": "11", "apple-clang": "11", } @@ -50,15 +51,12 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) - if not minimum_version: - self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") - elif Version(self.settings.compiler.version) < minimum_version: + if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._minimum_cpp_standard} with {self.settings.compiler}, " - f"which is not supported by {self.settings.compiler} {self.settings.compiler.version}." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) if self.settings.compiler in ["clang", "apple-clang"] and not str(self.settings.compiler.libcxx).startswith("libstdc++"): From 32b7b0631c0dad4844634c0b0c53152e32daa7ec Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 08:54:59 +0200 Subject: [PATCH 1673/4087] (#19901) redboltz-mqtt_cpp: no warning for msvc or unknown compilers --- recipes/redboltz-mqtt_cpp/all/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/redboltz-mqtt_cpp/all/conanfile.py b/recipes/redboltz-mqtt_cpp/all/conanfile.py index 5ca0f086f35bf..2b3717a2d67c0 100644 --- a/recipes/redboltz-mqtt_cpp/all/conanfile.py +++ b/recipes/redboltz-mqtt_cpp/all/conanfile.py @@ -30,7 +30,8 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "gcc": "6", - "Visual Studio": "15.0", + "Visual Studio": "15", + "msvc": "191", "clang": "5", "apple-clang": "10", } @@ -49,11 +50,10 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++14, which your compiler does not support.") - else: - self.output.warning(f"{self.name} requires C++14. Your compiler is unknown. Assuming it supports C++14.") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 317cb874ffd79bd921189b34c4987c8b45654a55 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 09:32:40 +0200 Subject: [PATCH 1674/4087] (#19902) lely-core: add missing build requirements + cleanup recipe * add libtool to build requirements since autoreconf is called * cleanup recipe * fix pkg_config_name of components --- recipes/lely-core/all/conanfile.py | 61 ++++++++++++------------------ 1 file changed, 24 insertions(+), 37 deletions(-) diff --git a/recipes/lely-core/all/conanfile.py b/recipes/lely-core/all/conanfile.py index f57056df76197..9ed8f191a0a19 100644 --- a/recipes/lely-core/all/conanfile.py +++ b/recipes/lely-core/all/conanfile.py @@ -1,33 +1,23 @@ import os from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, rmdir from conan.tools.gnu import AutotoolsToolchain, Autotools from conan.tools.layout import basic_layout -from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.files import ( - export_conandata_patches, - apply_conandata_patches, - get, - copy, - rmdir, - rm, -) -from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.53.0" class LelyConan(ConanFile): name = "lely-core" - - # Optional metadata license = "Apache-2.0" homepage = "https://gitlab.com/lely_industries/lely-core/" url = "https://github.com/conan-io/conan-center-index" description = "The Lely core libraries are a collection of C and C++ libraries and tools, providing high-performance I/O and sensor/actuator control for robotics and IoT applications. The libraries are cross-platform and have few dependencies. They can be even be used on bare-metal microcontrollers with as little as 32 kB RAM." topics = ("canopen",) - - # Binary configuration + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -108,13 +98,17 @@ class LelyConan(ConanFile): "coapp-slave": 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): + basic_layout(self, src_folder="src") + def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration( @@ -127,20 +121,18 @@ def validate(self): f"{self.ref} can only be compiled with GCC currently" ) - def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True, - ) + def build_requirements(self): + self.tool_requires("libtool/2.4.7") - def layout(self): - basic_layout(self, src_folder="src") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - at_toolchain = AutotoolsToolchain(self) - at_toolchain.configure_args += [ + env = VirtualBuildEnv(self) + env.generate() + + tc = AutotoolsToolchain(self) + tc.configure_args += [ "--disable-cython", "--disable-python", "--disable-tools", @@ -148,7 +140,7 @@ def generate(self): "--disable-maintainer-mode", ] if self.options.get_safe("ecss-compliance"): - at_toolchain.configure_args.append("--enable-ecss-compliance") + tc.configure_args.append("--enable-ecss-compliance") disable_options = { "threads", @@ -188,16 +180,11 @@ def generate(self): } for option in disable_options: if not self.options.get_safe(option): - at_toolchain.configure_args.append(f"--disable-{option}") - - at_toolchain.generate() + tc.configure_args.append(f"--disable-{option}") - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") + tc.generate() def build(self): - apply_conandata_patches(self) autotools = Autotools(self) autotools.autoreconf() autotools.configure() @@ -206,7 +193,6 @@ def build(self): def package(self): autotools = Autotools(self) autotools.install() - fix_apple_shared_install_name(self) copy( self, @@ -232,6 +218,7 @@ def package_info(self): "util": {"requires": ["libc"], "system_libs": ["m"]}, } for component, dependencies in components.items(): + self.cpp_info.components[component].set_property("pkg_config_name", f"liblely-{component}") self.cpp_info.components[component].libs = [f"lely-{component}"] self.cpp_info.components[component].requires = dependencies.get( "requires", [] From aebb3c5e2f51302148d2e5191af9af2b471d31d5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 10:10:09 +0200 Subject: [PATCH 1675/4087] (#19910) cminpack: modernize more for conan v2 * modernize more for conan v2 * small change --- recipes/cminpack/all/conanfile.py | 57 +++++++------------ .../cminpack/all/test_package/CMakeLists.txt | 6 +- .../cminpack/all/test_package/conanfile.py | 7 ++- .../all/test_v1_package/CMakeLists.txt | 16 ++---- 4 files changed, 33 insertions(+), 53 deletions(-) diff --git a/recipes/cminpack/all/conanfile.py b/recipes/cminpack/all/conanfile.py index a1da35f69dd6a..e6918dedc922a 100644 --- a/recipes/cminpack/all/conanfile.py +++ b/recipes/cminpack/all/conanfile.py @@ -1,9 +1,9 @@ -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools import files from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir import os -required_conan_version = ">=1.45.0" +required_conan_version = ">=1.54.0" class CMinpackConan(ConanFile): @@ -14,7 +14,7 @@ class CMinpackConan(ConanFile): topics = ("nonlinear", "solver") homepage = "http://devernay.free.fr/hacks/cminpack/" license = "LicenseRef-CopyrightMINPACK.txt" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,40 +25,27 @@ class CMinpackConan(ConanFile): "fPIC": True, } - def generate(self): - tc = CMakeToolchain(self) - tc.variables["BUILD_EXAMPLES"] = "OFF" - tc.variables["CMINPACK_LIB_INSTALL_DIR"] = "lib" - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.generate() - - def layout(self): - cmake_layout(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - - # cminpack is a c library - 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 source(self): - files.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 generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_EXAMPLES"] = "OFF" + tc.variables["CMINPACK_LIB_INSTALL_DIR"] = "lib" + tc.generate() def build(self): cmake = CMake(self) @@ -66,12 +53,11 @@ def build(self): cmake.build() def package(self): + copy(self, "CopyrightMINPACK.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() - - files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - files.copy(self, "CopyrightMINPACK.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - files.rmdir(self, os.path.join(self.package_folder, "share")) # contains cmake config files + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) # contains cmake config files def _library_postfix(self): postfix = "" @@ -92,7 +78,7 @@ def package_info(self): self.cpp_info.components["cminpack-double"].names["cmake_find_package"] = "cminpack" self.cpp_info.components["cminpack-double"].names["cmake_find_package_multi"] = "cminpack" self.cpp_info.components["cminpack-double"].names["pkg_config"] = "cminpack" - + # the single precision version self.cpp_info.components['cminpack-single'].libs = ['cminpacks' + self._library_postfix()] self.cpp_info.components['cminpack-single'].includedirs.append(minpack_include_dir) @@ -102,7 +88,6 @@ def package_info(self): self.cpp_info.components["cminpack-single"].names["cmake_find_package_multi"] = "cminpacks" self.cpp_info.components["cminpack-single"].names["pkg_config"] = "cminpacks" - if self.settings.os != "Windows": self.cpp_info.components['cminpack-double'].system_libs.append("m") self.cpp_info.components['cminpack-single'].system_libs.append("m") diff --git a/recipes/cminpack/all/test_package/CMakeLists.txt b/recipes/cminpack/all/test_package/CMakeLists.txt index fa33c20512fe4..cc33b8b3543ef 100644 --- a/recipes/cminpack/all/test_package/CMakeLists.txt +++ b/recipes/cminpack/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 3.12) -project(CMinPack-Conan-TestPackage C) +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) -find_package(CMinpack REQUIRED) +find_package(CMinpack REQUIRED CONFIG) # This builds one of the original cminpack examples against # both types of the library diff --git a/recipes/cminpack/all/test_package/conanfile.py b/recipes/cminpack/all/test_package/conanfile.py index db7d5f7ac5bc3..434bb3861fb76 100644 --- a/recipes/cminpack/all/test_package/conanfile.py +++ b/recipes/cminpack/all/test_package/conanfile.py @@ -1,17 +1,20 @@ - from conan import ConanFile -from conan.tools.cmake import CMake, cmake_layout 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" + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/cminpack/all/test_v1_package/CMakeLists.txt b/recipes/cminpack/all/test_v1_package/CMakeLists.txt index 124290cb0ab4b..0d20897301b68 100644 --- a/recipes/cminpack/all/test_v1_package/CMakeLists.txt +++ b/recipes/cminpack/all/test_v1_package/CMakeLists.txt @@ -1,16 +1,8 @@ -cmake_minimum_required(VERSION 3.1.2) -project(CMinPack-ConanV1-TestPackage C) +cmake_minimum_required(VERSION 3.1) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(CMinpack REQUIRED CONFIG) - -# This builds one of the original cminpack examples against -# both types of the library - -add_executable(cminpack_test_double ../test_package/tchkderc.c) -target_link_libraries(cminpack_test_double PRIVATE cminpack::cminpack) - -add_executable(cminpack_test_float ../test_package/tchkderc.c) -target_link_libraries(cminpack_test_float PRIVATE cminpack::cminpacks) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From e1e14ff9faaa1358b1e65be6b05ca368abb19b5a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 10:51:36 +0200 Subject: [PATCH 1676/4087] (#19912) crc_cpp: conan v2 support * conan v2 support * add test_v1_package --- recipes/crc_cpp/all/conandata.yml | 18 ++--- recipes/crc_cpp/all/conanfile.py | 67 +++++++++++-------- .../crc_cpp/all/test_package/CMakeLists.txt | 9 +-- recipes/crc_cpp/all/test_package/conanfile.py | 22 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../crc_cpp/all/test_v1_package/conanfile.py | 17 +++++ recipes/crc_cpp/config.yml | 8 +-- 7 files changed, 94 insertions(+), 55 deletions(-) create mode 100644 recipes/crc_cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/crc_cpp/all/test_v1_package/conanfile.py diff --git a/recipes/crc_cpp/all/conandata.yml b/recipes/crc_cpp/all/conandata.yml index 09ada265a5657..ae324a0321c62 100644 --- a/recipes/crc_cpp/all/conandata.yml +++ b/recipes/crc_cpp/all/conandata.yml @@ -1,13 +1,13 @@ sources: - "1.0.0": - url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.0.0.tar.gz" - sha256: "035ed616e0662eddbe7db7c920faaef99bbeb8953ebf98c3bb76cb81a2c4de2b" - "1.0.1": - url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.0.1.tar.gz" - sha256: "865a0e110bf7e94061ceef1683947a7788b54f932c7ce3848edc89d36e1aea26" - "1.1.0": - url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.1.0.tar.gz" - sha256: "50e46e3c44eb39809f6697b253f7b36c089642d7b7f2ebe2f75adf23c50676be" "1.2.0": url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.2.0.tar.gz" sha256: "508a609d9ef12c3088ed17a8ed820c965161a36dd90738c7358333fbfbe96af5" + "1.1.0": + url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.1.0.tar.gz" + sha256: "50e46e3c44eb39809f6697b253f7b36c089642d7b7f2ebe2f75adf23c50676be" + "1.0.1": + url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.0.1.tar.gz" + sha256: "865a0e110bf7e94061ceef1683947a7788b54f932c7ce3848edc89d36e1aea26" + "1.0.0": + url: "https://github.com/AshleyRoll/crc_cpp/archive/refs/tags/v1.0.0.tar.gz" + sha256: "035ed616e0662eddbe7db7c920faaef99bbeb8953ebf98c3bb76cb81a2c4de2b" diff --git a/recipes/crc_cpp/all/conanfile.py b/recipes/crc_cpp/all/conanfile.py index 4ccb993ef97a2..c77936e91ebea 100644 --- a/recipes/crc_cpp/all/conanfile.py +++ b/recipes/crc_cpp/all/conanfile.py @@ -1,6 +1,9 @@ -from conan import ConanFile, tools -from conan.tools.scm import Version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -9,45 +12,51 @@ class Crc_CppConan(ConanFile): name = "crc_cpp" description = "A header only constexpr / compile time small-table based CRC library for C++17 and newer" - topics = "crc_cpp", "crc", "constexpr", "cpp17", "cpp20", "header-only" - settings = "compiler", "os" + topics = ("crc", "constexpr", "cpp17", "cpp20", "header-only") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/AshleyRoll/crc_cpp" license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return "17" @property - def _supported_compiler(self): - compiler = str(self.settings.compiler) - version = Version(self.settings.compiler.version) - if compiler == "Visual Studio" and version >= "15": - return True - elif compiler == "gcc" and version >= "9": - return True - elif compiler == "clang" and version >= "5": - return True - elif compiler == "apple-clang" and version >= "10": - return True - else: - self.output.warn("{} recipe lacks information about the {} compiler standard version support".format(self.name, compiler)) - return False + def _compilers_minimum_version(self): + return { + "gcc": "9", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + 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"): - tools.build.check_min_cppstd(self, "17") - if not self._supported_compiler: - raise ConanInvalidConfiguration("crc_cpp: Unsupported compiler: {}-{} " - "Minimum C++17 constexpr features required.".format(self.settings.compiler, self.settings.compiler.version)) + 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.files.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) def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="include", src=os.path.join(self._source_subfolder, "include")) + 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_id(self): - self.info.header_only() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/crc_cpp/all/test_package/CMakeLists.txt b/recipes/crc_cpp/all/test_package/CMakeLists.txt index d41bc6dd30265..ba67401c34bcc 100644 --- a/recipes/crc_cpp/all/test_package/CMakeLists.txt +++ b/recipes/crc_cpp/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(crc_cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE crc_cpp::crc_cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/crc_cpp/all/test_package/conanfile.py b/recipes/crc_cpp/all/test_package/conanfile.py index 34a0bcae95438..0a6bc68712d90 100644 --- a/recipes/crc_cpp/all/test_package/conanfile.py +++ b/recipes/crc_cpp/all/test_package/conanfile.py @@ -1,11 +1,19 @@ -from conan import ConanFile, tools -from conans import CMake +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.build.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/crc_cpp/all/test_v1_package/CMakeLists.txt b/recipes/crc_cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/crc_cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/crc_cpp/all/test_v1_package/conanfile.py b/recipes/crc_cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/crc_cpp/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/crc_cpp/config.yml b/recipes/crc_cpp/config.yml index 0d463a277e732..de59a653e157c 100644 --- a/recipes/crc_cpp/config.yml +++ b/recipes/crc_cpp/config.yml @@ -1,9 +1,9 @@ versions: - "1.0.0": - folder: "all" - "1.0.1": + "1.2.0": folder: "all" "1.1.0": folder: "all" - "1.2.0": + "1.0.1": + folder: "all" + "1.0.0": folder: "all" From a59adadadfc85c3b918ed836db28134a98f69af8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 11:34:14 +0200 Subject: [PATCH 1677/4087] (#19883) octo-logger-cpp: fix msvc min version & few minor fixes * fix msvc min version & few minor fixes * sort methods by order of execution * remove explicit cmake & pkgconfig properties in package_info() since upstream doesn't export CMake targets or pkgconfig file * restore target name to not break other libs, but it's a lie * fix msvc runtime check --- recipes/octo-logger-cpp/all/conanfile.py | 63 +++++++++++------------- 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/recipes/octo-logger-cpp/all/conanfile.py b/recipes/octo-logger-cpp/all/conanfile.py index 042c94eec1f92..d8b77698e6f0d 100644 --- a/recipes/octo-logger-cpp/all/conanfile.py +++ b/recipes/octo-logger-cpp/all/conanfile.py @@ -1,10 +1,10 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import get, copy -from conan.tools.build import check_min_cppstd 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 +from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version -from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.50.0" @@ -37,7 +37,7 @@ def _compilers_minimum_version(self): "clang": "9", "apple-clang": "11", "Visual Studio": "16", - "msvc": "1923", + "msvc": "192", } @property @@ -48,46 +48,46 @@ def configure(self): if not self._aws_supported: del self.options.with_aws - def generate(self): - tc = CMakeToolchain(self) - tc.variables["DISABLE_TESTS"] = True - tc.variables["DISABLE_EXAMPLES"] = True - if self.options.get_safe("with_aws"): - tc.variables["WITH_AWS"] = True - tc.generate() - cd = CMakeDeps(self) - cd.generate() - def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + self.requires("fmt/10.1.1", transitive_headers=True) + if self.options.get_safe("with_aws"): + self.requires("nlohmann_json/3.11.2") + self.requires("aws-sdk-cpp/1.9.234") + def validate(self): - if self.info.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + 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.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libc++. Use libstdc++ instead.") - if is_msvc(self) and self.settings.compiler.runtime in ["MTd", "MT"]: - raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC MT/MTd configurations, only MD/MDd is supported") + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC static runtime. Use dynamic runtime instead.") if self.options.get_safe("with_aws"): if not self.dependencies["aws-sdk-cpp"].options.logs: raise ConanInvalidConfiguration(f"{self.ref} requires the option aws-sdk-cpp:logs=True") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def requirements(self): - self.requires("fmt/10.1.1", transitive_headers=True) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["DISABLE_TESTS"] = True + tc.variables["DISABLE_EXAMPLES"] = True if self.options.get_safe("with_aws"): - self.requires("nlohmann_json/3.11.2") - self.requires("aws-sdk-cpp/1.9.234") - - def build_requirements(self): - self.tool_requires("cmake/[>=3.16 <4]") + tc.variables["WITH_AWS"] = True + tc.generate() + cd = CMakeDeps(self) + cd.generate() def build(self): cmake = CMake(self) @@ -100,19 +100,12 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.libs = ["octo-logger-cpp"] - self.cpp_info.set_property("cmake_file_name", "octo-logger-cpp") self.cpp_info.set_property("cmake_target_name", "octo::octo-logger-cpp") - self.cpp_info.set_property("pkg_config_name", "octo-logger-cpp") + self.cpp_info.libs = ["octo-logger-cpp"] self.cpp_info.requires = ["fmt::fmt"] if self.options.get_safe("with_aws"): self.cpp_info.requires.extend([ "nlohmann_json::nlohmann_json", "aws-sdk-cpp::monitoring" ]) - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "octo-logger-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "octo-logger-cpp" - self.cpp_info.names["pkg_config"] = "octo-logger-cpp" From 9d860ee5be136ce62a86205667ab185e19a91346 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 19 Sep 2023 11:57:41 +0200 Subject: [PATCH 1678/4087] Add/remove users to Access Request (#19939) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 212a9101efacf..cc585bf78c5cf 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1231,3 +1231,5 @@ authorized_users: - alfred-sa - leducp - mrjoel +- Nerixyz +- irieger From 9a7351b4bf05f26c1326024071e9b703b3aaf75f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 12:15:42 +0200 Subject: [PATCH 1679/4087] (#19884) octo-wildcardmatching-cpp: fix several issues and modernize * fix several issues and modernize - fix msvc min version - don't use self.info in validate() - use version range for cmake - use tool_requires instead of legacy build_requires - remove pkgconf properties in package_info() since upstream doesn't create pkgconfig file * fix test package --- .../all/conanfile.py | 58 +++++++++---------- .../all/test_package/CMakeLists.txt | 8 +-- .../all/test_package/conanfile.py | 19 +++--- 3 files changed, 40 insertions(+), 45 deletions(-) diff --git a/recipes/octo-wildcardmatching-cpp/all/conanfile.py b/recipes/octo-wildcardmatching-cpp/all/conanfile.py index f22d6f51767b8..c8622ee725469 100644 --- a/recipes/octo-wildcardmatching-cpp/all/conanfile.py +++ b/recipes/octo-wildcardmatching-cpp/all/conanfile.py @@ -1,8 +1,9 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import get, copy -from conan.tools.build import check_min_cppstd 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 +from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version import os @@ -16,8 +17,13 @@ class OctoWildcardMatchingCPPConan(ConanFile): homepage = "https://github.com/ofiriluz/octo-wildcardmatching-cpp" description = "Octo wildcardmatching library" topics = ("wildcard", "regex", "patterns", "cpp") + package_type = "static-library" settings = "os", "compiler", "build_type", "arch" + @property + def _min_cppstd(self): + return "17" + @property def _compilers_minimum_version(self): return { @@ -25,42 +31,38 @@ def _compilers_minimum_version(self): "clang": "9", "apple-clang": "11", "Visual Studio": "16", - "msvc": "1923", + "msvc": "192", } - def generate(self): - tc = CMakeToolchain(self) - tc.variables["DISABLE_TESTS"] = True - tc.variables["DISABLE_EXAMPLES"] = True - tc.generate() - cd = CMakeDeps(self) - cd.generate() - def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, "17") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + 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.name} requires C++17, which your compiler does not support." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - else: - self.output.warn(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") + if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libc++": - raise ConanInvalidConfiguration(f"{self.name} does not support clang with libc++. Use libstdc++ instead.") - if self.settings.compiler == "Visual Studio" and self.settings.compiler.runtime in ["MTd", "MT"]: - raise ConanInvalidConfiguration(f"{self.name} does not support MSVC MT/MTd configurations, only MD/MDd is supported") + raise ConanInvalidConfiguration(f"{self.ref} does not support clang with libc++. Use libstdc++ instead.") + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC static runtime. Use dynamic runtime instead.") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build_requirements(self): - self.build_requires("cmake/3.24.0") + def generate(self): + tc = CMakeToolchain(self) + tc.variables["DISABLE_TESTS"] = True + tc.variables["DISABLE_EXAMPLES"] = True + tc.generate() def build(self): cmake = CMake(self) @@ -75,8 +77,4 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "octo-wildcardmatching-cpp") self.cpp_info.set_property("cmake_target_name", "octo::octo-wildcardmatching-cpp") - self.cpp_info.set_property("pkg_config_name", "octo-wildcardmatching-cpp") self.cpp_info.libs = ["octo-wildcardmatching-cpp"] - self.cpp_info.names["cmake_find_package"] = "octo-wildcardmatching-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "octo-wildcardmatching-cpp" - self.cpp_info.names["pkg_config"] = "octo-wildcardmatching-cpp" diff --git a/recipes/octo-wildcardmatching-cpp/all/test_package/CMakeLists.txt b/recipes/octo-wildcardmatching-cpp/all/test_package/CMakeLists.txt index d02959b9b71e5..10219d5afbaa2 100644 --- a/recipes/octo-wildcardmatching-cpp/all/test_package/CMakeLists.txt +++ b/recipes/octo-wildcardmatching-cpp/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(octo-wildcardmatching-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} octo::octo-wildcardmatching-cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE octo::octo-wildcardmatching-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/octo-wildcardmatching-cpp/all/test_package/conanfile.py b/recipes/octo-wildcardmatching-cpp/all/test_package/conanfile.py index 62e07ce5add59..254feca104287 100644 --- a/recipes/octo-wildcardmatching-cpp/all/test_package/conanfile.py +++ b/recipes/octo-wildcardmatching-cpp/all/test_package/conanfile.py @@ -1,23 +1,20 @@ -from conans import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain +from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout +from conan.tools.cmake import CMake, cmake_layout import os -required_conan_version = ">=1.43.0" - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "VirtualRunEnv" - - def generate(self): - tc = CMakeToolchain(self) - tc.generate() + 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() From ac793941802a86a541ff74089952f05df5999fcd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 12:52:24 +0200 Subject: [PATCH 1680/4087] (#19915) namedtype: fix msvc min version & few improvements - fix msvc min version - cleanup bindirs & libdirs - remove useless export & apply of patches --- recipes/namedtype/all/conanfile.py | 17 +++++++---------- .../namedtype/all/test_package/CMakeLists.txt | 2 +- .../test_package/{main.cpp => test_package.cpp} | 0 3 files changed, 8 insertions(+), 11 deletions(-) rename recipes/namedtype/all/test_package/{main.cpp => test_package.cpp} (100%) diff --git a/recipes/namedtype/all/conanfile.py b/recipes/namedtype/all/conanfile.py index ff8826be0c227..14c646bee4f47 100644 --- a/recipes/namedtype/all/conanfile.py +++ b/recipes/namedtype/all/conanfile.py @@ -1,13 +1,14 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import copy, get from conan.tools.layout import basic_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" + class NamedTypeConan(ConanFile): name = "namedtype" @@ -17,7 +18,7 @@ class NamedTypeConan(ConanFile): description = "Implementation of strong types in C++" topics = ("strong types", "header-only") package_type = "header-library" - settings = "compiler" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property @@ -28,15 +29,12 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "14.1", + "msvc": "191", "gcc": "5", "clang": "3.4", "apple-clang": "5.1", } - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") @@ -55,9 +53,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - apply_conandata_patches(self) - def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if self.version == "20190324": @@ -76,5 +71,7 @@ def package(self): ) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] if self.version == "20190324": self.cpp_info.includedirs.append(os.path.join("include", "NamedType")) diff --git a/recipes/namedtype/all/test_package/CMakeLists.txt b/recipes/namedtype/all/test_package/CMakeLists.txt index a56821d0dc1a6..c88bbff306fb5 100644 --- a/recipes/namedtype/all/test_package/CMakeLists.txt +++ b/recipes/namedtype/all/test_package/CMakeLists.txt @@ -3,6 +3,6 @@ project(test_package LANGUAGES CXX) find_package(namedtype REQUIRED CONFIG) -add_executable(${PROJECT_NAME} main.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE namedtype::namedtype) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/namedtype/all/test_package/main.cpp b/recipes/namedtype/all/test_package/test_package.cpp similarity index 100% rename from recipes/namedtype/all/test_package/main.cpp rename to recipes/namedtype/all/test_package/test_package.cpp From 405c7f23b4b9aef71f0bf88336b77048135dfc9c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 19 Sep 2023 13:29:21 +0200 Subject: [PATCH 1681/4087] (#19955) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 8b4cb97448cab..bd4640c99ef65 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -207,6 +207,7 @@ required_for_references: - crc32c - create-dmg - croncpp +- crowcpp-crow - crunch - cryptopp - cs_libguarded @@ -710,6 +711,7 @@ required_for_references: - mariadb-connector-c - marisa - matchit +- mathfu - mathter - matio - mattiasgustavsson-libs @@ -826,6 +828,7 @@ required_for_references: - onnx - onnxruntime - open-dis-cpp +- open62541 - openal - openal-soft - openapi-generator @@ -894,7 +897,9 @@ required_for_references: - pipes - pixman - pkgconf +- platform.converters - platform.delegates +- platform.equality - platform.exceptions - platform.hashing - platform.interfaces @@ -975,6 +980,7 @@ required_for_references: - reckless - rectanglebinpack - rectpack2d +- redboltz-mqtt_cpp - redis-plus-plus - refl-cpp - replxx @@ -1051,6 +1057,7 @@ required_for_references: - soxr - span-lite - spdlog +- spectra - spirv-cross - spirv-headers - spirv-tools @@ -1089,6 +1096,7 @@ required_for_references: - taocpp-operators - taocpp-pegtl - taocpp-sequences +- taocpp-taopq - taocpp-tuple - taskflow - taywee-args @@ -1126,6 +1134,7 @@ required_for_references: - tinyspline - tinyxml - tinyxml2 +- tk - tl - tl-expected - tl-function-ref @@ -1160,6 +1169,7 @@ required_for_references: - uncrustify - uni-algo - unicorn +- units - unity - univalue - unordered_dense @@ -1169,14 +1179,21 @@ required_for_references: - uriparser - usockets - usrsctp +- utf8.h - utf8proc - utfcpp - util-linux-libuuid - uvw - uwebsockets +- v-hacd - vaapi +- valijson - variant-lite +- vc +- vcglib - vdpau +- vectorclass +- vectorial - veque - vincentlaucsb-csv-parser - vir-simd @@ -1184,6 +1201,7 @@ required_for_references: - vo-amrwbenc - volk - vorbis +- voropp - vsg - vtu11 - vulkan-headers @@ -1205,18 +1223,22 @@ required_for_references: - whereami - whisper-cpp - wil +- wildmidi - winflexbison +- winmd - wiringpi - wise_enum - wolfssl - wslay - wt - wtl +- wyhash - xapian-core - xbyak - xerces-c - xkbcommon - xkeyboard-config +- xlnt - xlsxio - xmlsec - xnnpack @@ -1226,7 +1248,10 @@ required_for_references: - xorg-macros - xorg-makedepend - xorg-proto +- xorstr - xoshiro-cpp +- xpack +- xproperty - xsd - xsimd - xtensor @@ -1240,19 +1265,25 @@ required_for_references: - yaml-cpp - yas - yasm +- yder - yyjson - z3 - zbar - zeromq - zfp - zimg +- zint - zlib - zlib-ng - zmarok-semver - zmqpp - zookeeper-client-c +- zopfli - zpp_bits +- zpp_throwing - zstd +- zstr - zug - zulu-openjdk - zxing-cpp +- zziplib From a91c01dcffff99499193099286070d3c0b3bb9e4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:06:01 +0200 Subject: [PATCH 1682/4087] (#19916) rpclib: relax min C++ standard & min compiler versions + cleanup recipe * fix msvc min version * relax C++11 min standard and min compiler versions * remove useless export_conandata_patches() * small improvement in package_info() --- recipes/rpclib/all/conanfile.py | 36 ++++++------------- .../rpclib/all/test_package/CMakeLists.txt | 10 +++--- recipes/rpclib/all/test_package/conanfile.py | 8 ++--- .../{example.cpp => test_package.cpp} | 0 .../rpclib/all/test_v1_package/conanfile.py | 2 +- 5 files changed, 20 insertions(+), 36 deletions(-) rename recipes/rpclib/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/rpclib/all/conanfile.py b/recipes/rpclib/all/conanfile.py index f7ea155c14f7c..09e7e84ca393f 100644 --- a/recipes/rpclib/all/conanfile.py +++ b/recipes/rpclib/all/conanfile.py @@ -1,12 +1,10 @@ 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, export_conandata_patches, get, rmdir, rename, mkdir +from conan.tools.files import copy, get, mkdir, rename, rmdir from conan.tools.microsoft import is_msvc_static_runtime -from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -32,20 +30,7 @@ class rpclibConan(ConanFile): @property def _min_cppstd(self): - return 14 - - @property - def _compilers_minimum_version(self): - return { - "Visual Studio": "15", - "msvc": "14.1", - "gcc": "5", - "clang": "5", - "apple-clang": "5.1", - } - - def export_sources(self): - export_conandata_patches(self) + return "11" def config_options(self): if self.settings.os == "Windows": @@ -59,13 +44,8 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.settings.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( - 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) @@ -102,9 +82,13 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "rpclib::rpc") self.cpp_info.set_property("pkg_config_name", "rpclib") + # TODO: back to global scope after Conan 2.0 + self.cpp_info.components["_rpc"].libs = ["rpc"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["_rpc"].system_libs.append("pthread") + # TODO: Remove after Conan 2.0 self.cpp_info.components["_rpc"].names["cmake_find_package"] = "rpc" self.cpp_info.components["_rpc"].names["cmake_find_package_multi"] = "rpc" - self.cpp_info.components["_rpc"].libs = ["rpc"] - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["_rpc"].system_libs = ["pthread"] + self.cpp_info.components["_rpc"].set_property("cmake_target_name", "rpclib::rpc") + self.cpp_info.components["_rpc"].set_property("pkg_config_name", "rpclib") diff --git a/recipes/rpclib/all/test_package/CMakeLists.txt b/recipes/rpclib/all/test_package/CMakeLists.txt index 81dbfad0943b6..6ea9e950e13d6 100644 --- a/recipes/rpclib/all/test_package/CMakeLists.txt +++ b/recipes/rpclib/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.15) -project(PackageTest CXX) +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) find_package(rpclib REQUIRED CONFIG) -add_executable(example example.cpp) -set_target_properties(example PROPERTIES CXX_STANDARD 14) -target_link_libraries(example rpclib::rpc) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE rpclib::rpc) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/rpclib/all/test_package/conanfile.py b/recipes/rpclib/all/test_package/conanfile.py index 8d52b7021efe1..3a91c9439218e 100644 --- a/recipes/rpclib/all/test_package/conanfile.py +++ b/recipes/rpclib/all/test_package/conanfile.py @@ -9,12 +9,12 @@ class TestPackageConan(ConanFile): generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" - def requirements(self): - self.requires(self.tested_reference_str) - def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() @@ -22,5 +22,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindir, "example") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/rpclib/all/test_package/example.cpp b/recipes/rpclib/all/test_package/test_package.cpp similarity index 100% rename from recipes/rpclib/all/test_package/example.cpp rename to recipes/rpclib/all/test_package/test_package.cpp diff --git a/recipes/rpclib/all/test_v1_package/conanfile.py b/recipes/rpclib/all/test_v1_package/conanfile.py index 67c12602a84f3..d2f62e670fcd2 100644 --- a/recipes/rpclib/all/test_v1_package/conanfile.py +++ b/recipes/rpclib/all/test_v1_package/conanfile.py @@ -12,4 +12,4 @@ def build(self): def test(self): if not tools.cross_building(self): - self.run( os.path.join("bin", "example"), run_environment=True ) + self.run( os.path.join("bin", "test_package"), run_environment=True ) From 400dc950fd0056b55222778ec04a7cce9bb3933a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:19:41 +0200 Subject: [PATCH 1683/4087] (#19917) vir-simd: fix msvc min version & cleanup recipe --- recipes/vir-simd/all/conandata.yml | 4 +--- recipes/vir-simd/all/conanfile.py | 23 ++++--------------- .../vir-simd/all/test_package/conanfile.py | 1 - 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/recipes/vir-simd/all/conandata.yml b/recipes/vir-simd/all/conandata.yml index e21aa490a4d13..f9462ed3ee48f 100644 --- a/recipes/vir-simd/all/conandata.yml +++ b/recipes/vir-simd/all/conandata.yml @@ -1,6 +1,4 @@ sources: - # Newer versions at the top "0.2.0": - url: - - "https://github.com/mattkretz/vir-simd/archive/refs/tags/v0.2.0.tar.gz" + url: "https://github.com/mattkretz/vir-simd/archive/refs/tags/v0.2.0.tar.gz" sha256: "197432196ec73009051188ba686124a469d75d639fc5408613b30ed2981f0b70" diff --git a/recipes/vir-simd/all/conanfile.py b/recipes/vir-simd/all/conanfile.py index 830132a2e93bd..b79fe3dc61b1b 100644 --- a/recipes/vir-simd/all/conanfile.py +++ b/recipes/vir-simd/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import copy, get from conan.tools.layout import basic_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class VirSIMDConan(ConanFile): @@ -29,7 +29,7 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "19.15", + "msvc": "191", "gcc": "7", "clang": "5", "apple-clang": "5.1", @@ -38,7 +38,6 @@ def _compilers_minimum_version(self): def layout(self): basic_layout(self, src_folder="src") - # same package ID for any package def package_id(self): self.info.clear() @@ -71,19 +70,7 @@ def package(self): ) def package_info(self): - # Folders not used for header-only - self.cpp_info.bindirs = [] - self.cpp_info.libdirs = [] - - # Set these to the appropriate values if the package has an official FindPACKAGE.cmake - # listed in https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules - # examples: bzip2, freetype, gdal, icu, libcurl, libjpeg, libpng, libtiff, openssl, sqlite3, zlib... - self.cpp_info.set_property("cmake_module_file_name", "vir-simd") - self.cpp_info.set_property("cmake_module_target_name", "vir-simd::vir-simd") - # Set these to the appropriate values if package provides a CMake config file - # (package-config.cmake or packageConfig.cmake, with package::package target, usually installed in /lib/cmake//) self.cpp_info.set_property("cmake_file_name", "vir-simd") self.cpp_info.set_property("cmake_target_name", "vir-simd::vir-simd") - # Set this to the appropriate value if the package provides a pkgconfig file - # (package.pc, usually installed in /lib/pkgconfig/) - self.cpp_info.set_property("pkg_config_name", "vir-simd") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/vir-simd/all/test_package/conanfile.py b/recipes/vir-simd/all/test_package/conanfile.py index 0a808db45f245..3a91c9439218e 100644 --- a/recipes/vir-simd/all/test_package/conanfile.py +++ b/recipes/vir-simd/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From b914a9c5ef8d2007e1ae427ea38e2c18cf5df573 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:50:45 +0200 Subject: [PATCH 1684/4087] (#19919) gurkenlaeufer: relax min compiler versions --- recipes/gurkenlaeufer/all/conanfile.py | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/recipes/gurkenlaeufer/all/conanfile.py b/recipes/gurkenlaeufer/all/conanfile.py index 07fa4de3d08f1..50934895c439f 100644 --- a/recipes/gurkenlaeufer/all/conanfile.py +++ b/recipes/gurkenlaeufer/all/conanfile.py @@ -1,9 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import get, copy, rmdir +from conan.tools.files import copy, get, rmdir from conan.tools.layout import basic_layout -from conan.tools.scm import Version import os @@ -25,16 +23,6 @@ class GurkenlaeuferConan(ConanFile): def _min_cppstd(self): return 11 - @property - def _compilers_minimum_version(self): - return { - "Visual Studio": "15", - "msvc": "14.1", - "gcc": "5", - "clang": "5", - "apple-clang": "5.1", - } - def layout(self): basic_layout(self, src_folder="src") @@ -47,11 +35,6 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ab1846bdd75b46cc02e6dd3b8ceff73c13dc1f18 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:10:38 +0200 Subject: [PATCH 1685/4087] (#19922) cub: fix msvc min version & cleanup recipe --- recipes/cub/all/conanfile.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/cub/all/conanfile.py b/recipes/cub/all/conanfile.py index 2cde129243380..0576f4a61be0d 100644 --- a/recipes/cub/all/conanfile.py +++ b/recipes/cub/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.layout import basic_layout from conan.tools.scm import Version -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class CubConan(ConanFile): @@ -29,7 +29,7 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "14.1", + "msvc": "191", "gcc": "5", "clang": "5", "apple-clang": "5.1", @@ -73,10 +73,8 @@ def package_info(self): # Follows the naming conventions of the official CMake config file: # https://github.com/NVIDIA/cub/blob/main/cub/cmake/cub-config.cmake - self.cpp_info.set_property("cmake_file_name", "cub") self.cpp_info.set_property("cmake_target_name", "CUB::CUB") - self.cpp_info.set_property("pkg_config_name", "cub") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "cub" From f6721333d60270829b8a4ce158e1c94ea3639e2d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:31:12 +0200 Subject: [PATCH 1686/4087] (#19663) protobuf: use version range for zlib + add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * add package_type * Proper range --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel --- recipes/protobuf/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index d12aca6f2317c..b83d4db6fde56 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -19,7 +19,7 @@ class ProtobufConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/protocolbuffers/protobuf" license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -70,7 +70,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.options.shared and is_msvc_static_runtime(self): From 290daf671b6f04f797e173f9ccef110ad466a2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 16:23:29 +0200 Subject: [PATCH 1687/4087] (#19684) Bump gnutls's zlib requirement to [>=1.2.11 <2] range --- recipes/gnutls/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gnutls/all/conanfile.py b/recipes/gnutls/all/conanfile.py index 9f3b2e2521c51..d60649f4b2c09 100644 --- a/recipes/gnutls/all/conanfile.py +++ b/recipes/gnutls/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): self.requires("gmp/6.2.1") self.requires("libiconv/1.17") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.4") if self.options.with_brotli: From 967f767caf020fd04b280976653af8401cc64dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 17:02:46 +0200 Subject: [PATCH 1688/4087] (#19686) Bump zziplib's zlib requirement to [>=1.2.11 <2] range --- recipes/zziplib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zziplib/all/conanfile.py b/recipes/zziplib/all/conanfile.py index 140fd9378eebd..bb584cb53822b 100644 --- a/recipes/zziplib/all/conanfile.py +++ b/recipes/zziplib/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], From 75b573ed596a65b11ca0cb36e84e1e7873c68c97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 17:43:31 +0200 Subject: [PATCH 1689/4087] (#19742) Bump uwebsockets's zlib requirement to [>=1.2.11 <2] range --- recipes/uwebsockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index 1ef8ede49e767..4598157564eba 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_libdeflate"): self.requires("libdeflate/1.14") From 3c09cb48d85093c326d7d3a329cc795ae57b3687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 18:25:01 +0200 Subject: [PATCH 1690/4087] (#19743) Bump openssl-3.x.x's zlib requirement to [>=1.2.11 <2] range --- recipes/openssl/3.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index f2c81b311e8fd..bd2227abc9b73 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -113,7 +113,7 @@ def configure(self): def requirements(self): if not self.options.no_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def build_requirements(self): if self._settings_build.os == "Windows": From f92692d251fe90c2046a7f88c4c4d012f0f7d27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 19:03:44 +0200 Subject: [PATCH 1691/4087] (#19744) Bump librdkafka's zlib requirement to [>=1.2.11 <2] range --- recipes/librdkafka/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index fbd6361872d87..a26ad90b5400d 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): def requirements(self): self.requires("lz4/1.9.4") if self.options.zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.zstd: self.requires("zstd/1.5.5") if self.options.ssl: From 3170e570fe6787799f3a08a281064e388c23f5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 20:03:08 +0200 Subject: [PATCH 1692/4087] (#19745) Bump civetweb's zlib requirement to [>=1.2.11 <2] range --- recipes/civetweb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/civetweb/all/conanfile.py b/recipes/civetweb/all/conanfile.py index 4d048e6a27d5b..a2b502ff165bb 100644 --- a/recipes/civetweb/all/conanfile.py +++ b/recipes/civetweb/all/conanfile.py @@ -87,7 +87,7 @@ def requirements(self): else: self.requires("openssl/[>=1 <4]") if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.options.get_safe("ssl_dynamic_loading") and not self.dependencies["openssl"].options.shared: From b00a464053e33fb779641dde8afa663edd79fc53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 20:23:55 +0200 Subject: [PATCH 1693/4087] (#19746) Bump cpp-httplib's zlib requirement to [>=1.2.11 <2] range --- recipes/cpp-httplib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-httplib/all/conanfile.py b/recipes/cpp-httplib/all/conanfile.py index ce51d51a2071d..a9367f94e5c40 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_brotli"): self.requires("brotli/1.0.9") From 52c06f687df15eff7e418269c04b87727b2b3985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 20:43:06 +0200 Subject: [PATCH 1694/4087] (#19750) Bump libtar's zlib requirement to [>=1.2.11 <2] range --- recipes/libtar/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtar/all/conanfile.py b/recipes/libtar/all/conanfile.py index ee12aac6802cc..18b7b52de3166 100644 --- a/recipes/libtar/all/conanfile.py +++ b/recipes/libtar/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os == "Windows": From 5e05edfc3face5f954249a9a728f4b3c79fac103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 21:03:43 +0200 Subject: [PATCH 1695/4087] (#19781) Bump cfitsio's zlib requirement to [>=1.2.11 <2] range --- recipes/cfitsio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cfitsio/all/conanfile.py b/recipes/cfitsio/all/conanfile.py index b5849b0ae2946..72a03672b23c2 100644 --- a/recipes/cfitsio/all/conanfile.py +++ b/recipes/cfitsio/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.threadsafe and self.settings.os == "Windows" and \ self.settings.compiler.get_safe("threads") != "posix": self.requires("pthreads4w/3.0.0") From 1785ede8ba34b6d1f2664026492da740bbe52e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 22:03:40 +0200 Subject: [PATCH 1696/4087] (#19682) Bump highs's zlib requirement to [>=1.2.11 <2] range --- recipes/highs/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/highs/all/conanfile.py b/recipes/highs/all/conanfile.py index 8758bb90904fe..bba181cddafd7 100644 --- a/recipes/highs/all/conanfile.py +++ b/recipes/highs/all/conanfile.py @@ -41,7 +41,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def layout(self): cmake_layout(self, src_folder="src") From dc848f02cba142c5e8464a1d3f7a76f5005f5cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 22:46:17 +0200 Subject: [PATCH 1697/4087] (#19782) Bump libdwarf's zlib requirement to [>=1.2.11 <2] range --- recipes/libdwarf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libdwarf/all/conanfile.py b/recipes/libdwarf/all/conanfile.py index ddc9a73438a95..aa284382df444 100644 --- a/recipes/libdwarf/all/conanfile.py +++ b/recipes/libdwarf/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): self.requires("libelf/0.8.13") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ece7279dadb44300621cc44928b0e620505b919b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 19 Sep 2023 23:06:48 +0200 Subject: [PATCH 1698/4087] (#19783) Bump c-blosc's zlib requirement to [>=1.2.11 <2] range --- recipes/c-blosc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-blosc/all/conanfile.py b/recipes/c-blosc/all/conanfile.py index 5967507ab8e97..9f604b7efb491 100644 --- a/recipes/c-blosc/all/conanfile.py +++ b/recipes/c-blosc/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): if self.options.with_snappy: self.requires("snappy/1.1.10") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.5") From cc5709458e61d877a43e2383bc3937027ba38cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 00:05:37 +0200 Subject: [PATCH 1699/4087] (#19784) Bump libunwind's zlib requirement to [>=1.2.11 <2] range --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index bf9a535448738..e0054d21df520 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -55,7 +55,7 @@ def requirements(self): if self.options.minidebuginfo: self.requires("xz_utils/5.4.2") if self.options.zlibdebuginfo: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: From c6ee7a7f06678d7a3abfc8eca41ee3bf22840c88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 00:45:31 +0200 Subject: [PATCH 1700/4087] (#19785) Bump coin-utils's zlib requirement to [>=1.2.11 <2] range --- recipes/coin-utils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/coin-utils/all/conanfile.py b/recipes/coin-utils/all/conanfile.py index e953f7c06f675..98f96c3d12201 100644 --- a/recipes/coin-utils/all/conanfile.py +++ b/recipes/coin-utils/all/conanfile.py @@ -54,7 +54,7 @@ def layout(self): def requirements(self): self.requires("bzip2/1.0.8") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os == "Windows" and self.options.shared: From b99f71df0f9e1f1d33fe75bb593ed5d0d75c1e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 01:23:23 +0200 Subject: [PATCH 1701/4087] (#19786) Bump readosm's zlib requirement to [>=1.2.11 <2] range --- recipes/readosm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/readosm/all/conanfile.py b/recipes/readosm/all/conanfile.py index b9c04661624b4..b9c849a552887 100644 --- a/recipes/readosm/all/conanfile.py +++ b/recipes/readosm/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def build_requirements(self): if not is_msvc(self): From 48838f248c9270919a2e843ecb90a7726465df49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 02:06:46 +0200 Subject: [PATCH 1702/4087] (#19788) Bump libmicrohttpd's zlib requirement to [>=1.2.11 <2] range --- recipes/libmicrohttpd/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmicrohttpd/all/conanfile.py b/recipes/libmicrohttpd/all/conanfile.py index 82ca43a61b7ad..c81f9e360d523 100644 --- a/recipes/libmicrohttpd/all/conanfile.py +++ b/recipes/libmicrohttpd/all/conanfile.py @@ -71,7 +71,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if is_msvc(self) and self.settings.arch not in ("x86", "x86_64"): From a83f072a99e8c05a0cc6e7b0183583dc89fdb9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 03:16:50 +0200 Subject: [PATCH 1703/4087] (#19789) Bump ptex's zlib requirement to [>=1.2.11 <2] range --- recipes/ptex/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ptex/all/conanfile.py b/recipes/ptex/all/conanfile.py index f8059fec65c6b..48fcf6593c820 100644 --- a/recipes/ptex/all/conanfile.py +++ b/recipes/ptex/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], From 06cfff0011779772a822a3569b3ef672271eaf3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 04:07:47 +0200 Subject: [PATCH 1704/4087] (#19790) Bump tcl's zlib requirement to [>=1.2.11 <2] range --- recipes/tcl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index c81bc94de1c84..af981d1a0dba9 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): self.folders.generators = "conan" def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os not in ("FreeBSD", "Linux", "Macos", "Windows"): From d75e48f3149b85ed22f61b7c5fa614460982688f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 04:42:50 +0200 Subject: [PATCH 1705/4087] (#19791) Bump restinio's zlib requirement to [>=1.2.11 <2] range --- recipes/restinio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/restinio/all/conanfile.py b/recipes/restinio/all/conanfile.py index f9c52830c3a32..576da558e85ba 100644 --- a/recipes/restinio/all/conanfile.py +++ b/recipes/restinio/all/conanfile.py @@ -53,7 +53,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_pcre == 1: self.requires("pcre/8.45") From 25ac564e790811538df1dc6b9e0c1b584ad3c800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 05:03:24 +0200 Subject: [PATCH 1706/4087] (#19797) Bump libgd's zlib requirement to [>=1.2.11 <2] range --- recipes/libgd/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 169f9e3ba1f8c..965fc900c6e3b 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_png: self.requires("libpng/1.6.39") if is_msvc(self): From 020c4d4cf46c92006e94a295fe0f2ccfb6da42ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 05:42:38 +0200 Subject: [PATCH 1707/4087] (#19798) Bump cnpy's zlib requirement to [>=1.2.11 <2] range --- recipes/cnpy/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cnpy/all/conanfile.py b/recipes/cnpy/all/conanfile.py index 93cc4c7d5cadc..f6babc5b8b09b 100644 --- a/recipes/cnpy/all/conanfile.py +++ b/recipes/cnpy/all/conanfile.py @@ -41,7 +41,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From d359d4784f1a3086b91ca58bd1ce3218a5f711bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 06:03:41 +0200 Subject: [PATCH 1708/4087] (#19801) Bump libpng's zlib requirement to [>=1.2.11 <2] range --- recipes/libpng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libpng/all/conanfile.py b/recipes/libpng/all/conanfile.py index f8d672f0bb237..f5410a3afa2d7 100644 --- a/recipes/libpng/all/conanfile.py +++ b/recipes/libpng/all/conanfile.py @@ -92,7 +92,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if Version(self.version) < "1.6" and self.settings.arch == "armv8" and is_apple_os(self): From ab77920cea908466471c9ad55a56dd79a7aaae65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 06:43:17 +0200 Subject: [PATCH 1709/4087] (#19802) Bump tinyexr's zlib requirement to [>=1.2.11 <2] range --- recipes/tinyexr/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tinyexr/all/conanfile.py b/recipes/tinyexr/all/conanfile.py index 26a07647634a1..cf57d86c16364 100644 --- a/recipes/tinyexr/all/conanfile.py +++ b/recipes/tinyexr/all/conanfile.py @@ -40,7 +40,7 @@ def requirements(self): if self.options.with_z == "miniz": self.requires("miniz/3.0.2") else: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zfp: self.requires("zfp/1.0.0") From 31c5fdb7fbda676372f50fa2dc216b993200af92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 07:03:55 +0200 Subject: [PATCH 1710/4087] (#19803) Bump arrow's zlib requirement to [>=1.2.11 <2] range Co-authored-by: Carlos Zoido --- 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 2edf070a224e0..cb60b5bb95dea 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -336,7 +336,7 @@ def requirements(self): self.options.get_safe("runtime_simd_level") != None: self.requires("xsimd/9.0.1") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.2") if self.options.with_re2: From a09b490f2be526dc8200227f46da572c2721b8c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 07:43:11 +0200 Subject: [PATCH 1711/4087] (#19804) Bump xapian-core's zlib requirement to [>=1.2.11 <2] range --- recipes/xapian-core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xapian-core/all/conanfile.py b/recipes/xapian-core/all/conanfile.py index f4278ec4f019a..e5d0241981b9f 100644 --- a/recipes/xapian-core/all/conanfile.py +++ b/recipes/xapian-core/all/conanfile.py @@ -54,7 +54,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": self.requires("util-linux-libuuid/2.39") From fccc28d9e53084fd9eb449d24baffebfbd741f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 08:03:30 +0200 Subject: [PATCH 1712/4087] (#19741) Bump crowcpp-crow's zlib requirement to [>=1.2.11 <2] range * Bump crowcpp-crow's zlib requirement to [>=1.2.11 <2] range * Fix test_package --- recipes/crowcpp-crow/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/crowcpp-crow/all/conanfile.py b/recipes/crowcpp-crow/all/conanfile.py index baeed2070acd2..ff4bbd7ba2b66 100644 --- a/recipes/crowcpp-crow/all/conanfile.py +++ b/recipes/crowcpp-crow/all/conanfile.py @@ -49,7 +49,7 @@ def requirements(self): if self.options.with_ssl: self.requires("openssl/[>=1.1 <3]") if self.options.with_compression: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def package_id(self): self.info.settings.clear() From 11058609c2ccad79cded162740c18d79ed2109bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 08:30:51 +0200 Subject: [PATCH 1713/4087] (#19751) Bump libbpf's zlib requirement to [>=1.2.11 <2] range * Bump libbpf's zlib requirement to [>=1.2.11 <2] range * Add missing package_type, use set_property for pkg_config_name too * wip --------- Co-authored-by: czoido --- recipes/libbpf/all/conanfile.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/libbpf/all/conanfile.py b/recipes/libbpf/all/conanfile.py index fcb6be22798a8..6ed8f1c59f1d0 100644 --- a/recipes/libbpf/all/conanfile.py +++ b/recipes/libbpf/all/conanfile.py @@ -14,6 +14,8 @@ class LibbpfConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/libbpf/libbpf" topics = ("berkeley-packet-filter", "bpf", "ebpf", "network", "tracing") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,9 +40,9 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("linux-headers-generic/5.14.9") + self.requires("linux-headers-generic/5.14.9", transitive_headers=True) self.requires("libelf/0.8.13") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os != "Linux": @@ -88,5 +90,9 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.names["pkg_config"] = "libbpf" self.cpp_info.libs = ["bpf"] + self.cpp_info.set_property("pkg_config_name", "libbpf") + + # TODO: Remove once v1 is no longer needed + self.cpp_info.names["pkg_config"] = "libbpf" + From 8192451ad3f20c641d2508b820881ebd7a9ecddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 08:42:26 +0200 Subject: [PATCH 1714/4087] (#19861) Bump gzip-hpp's zlib requirement to [>=1.2.11 <2] range --- recipes/gzip-hpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gzip-hpp/all/conanfile.py b/recipes/gzip-hpp/all/conanfile.py index 9401872c82770..54790b6d2c564 100644 --- a/recipes/gzip-hpp/all/conanfile.py +++ b/recipes/gzip-hpp/all/conanfile.py @@ -27,7 +27,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13", transitive_headers=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) def package_id(self): self.info.clear() From f3f319a13f0355d3f84cba97e44f359ec37896b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 09:02:21 +0200 Subject: [PATCH 1715/4087] (#19862) Bump minisat's zlib requirement to [>=1.2.11 <2] range --- recipes/minisat/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/minisat/all/conanfile.py b/recipes/minisat/all/conanfile.py index 6dccb7f852803..fdfbb6316a963 100644 --- a/recipes/minisat/all/conanfile.py +++ b/recipes/minisat/all/conanfile.py @@ -41,7 +41,7 @@ def layout(self): def requirements(self): # https://github.com/niklasso/minisat/blob/37dc6c67e2af26379d88ce349eb9c4c6160e8543/minisat/utils/ParseUtils.h#L27 - self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 2925ccf10da21b509bea06a4ae0dde8e6447ef2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 09:23:24 +0200 Subject: [PATCH 1716/4087] (#19863) Bump tng's zlib requirement to [>=1.2.11 <2] range --- recipes/tng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tng/all/conanfile.py b/recipes/tng/all/conanfile.py index 4a409ba3da2e2..326cababad6b6 100644 --- a/recipes/tng/all/conanfile.py +++ b/recipes/tng/all/conanfile.py @@ -41,7 +41,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], From f2066a807dadb5169de911ebefef016e6bffab80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 10:03:04 +0200 Subject: [PATCH 1717/4087] (#19864) Bump taglib's zlib requirement to [>=1.2.11 <2] range --- recipes/taglib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/taglib/all/conanfile.py b/recipes/taglib/all/conanfile.py index 23a0beef8e885..816397a133c86 100644 --- a/recipes/taglib/all/conanfile.py +++ b/recipes/taglib/all/conanfile.py @@ -44,7 +44,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 2b64af4c72ed728d43555bc14169ac647910cba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 10:23:15 +0200 Subject: [PATCH 1718/4087] (#19865) Bump seasocks's zlib requirement to [>=1.2.11 <2] range --- recipes/seasocks/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/seasocks/all/conanfile.py b/recipes/seasocks/all/conanfile.py index 5a35a2a904c83..1662f1e11775f 100644 --- a/recipes/seasocks/all/conanfile.py +++ b/recipes/seasocks/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: From 122b937d39f7e87d048a85d6d22babf8e6dff9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 10:43:16 +0200 Subject: [PATCH 1719/4087] (#19867) Bump libnghttp2's zlib requirement to [>=1.2.11 <2] range --- recipes/libnghttp2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index 00a7398f66246..3f994abf9ab85 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -67,7 +67,7 @@ def requirements(self): self.requires("libev/4.33") self.requires("libevent/2.1.12") self.requires("libxml2/2.11.4") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") if self.options.with_hpack: From fe31521d7ea2d5f223f360543cc703ccd9d75f7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 11:24:40 +0200 Subject: [PATCH 1720/4087] (#19868) Bump libcurl's zlib requirement to [>=1.2.11 <2] range --- recipes/libcurl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 40176f8f84e3b..1496108f12e8d 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -189,7 +189,7 @@ def requirements(self): if self.options.with_libssh2: self.requires("libssh2/1.11.0") if self.options.with_zlib: - self.requires("zlib/[>=1.2.10 <2]") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_brotli: self.requires("brotli/1.1.0") if self.options.with_zstd: From c529128b901a03f9e2fc74ced7f1e187654792fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 12:24:10 +0200 Subject: [PATCH 1721/4087] =?UTF-8?q?(#19869)=20Bump=20kaitai=5Fstruct=5Fc?= =?UTF-8?q?pp=5Fstl=5Fruntime's=20zlib=20requirement=20to=20[>=3D1.2.11=20?= =?UTF-8?q?<2=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump kaitai_struct_cpp_stl_runtime's zlib requirement to [>=1.2.11 <2] range * add package_type = "shared-library" --------- Co-authored-by: czoido --- recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py b/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py index 4940a6da6e857..0c56efed668cb 100644 --- a/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py +++ b/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py @@ -12,6 +12,7 @@ class KaitaiStructCppStlRuntimeConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://kaitai.io/" topics = ("parsers", "streams", "dsl", "kaitai struct") + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" options = { "with_zlib": [True, False], @@ -31,7 +32,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_iconv: self.requires("libiconv/1.17") From 626e4b4501b51a46eb7ce6ba17c619bde55a35d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 12:43:01 +0200 Subject: [PATCH 1722/4087] (#19870) Bump hdrhistogram-c's zlib requirement to [>=1.2.11 <2] range --- recipes/hdrhistogram-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hdrhistogram-c/all/conanfile.py b/recipes/hdrhistogram-c/all/conanfile.py index dafe5ff3618bc..f9f345becdeab 100644 --- a/recipes/hdrhistogram-c/all/conanfile.py +++ b/recipes/hdrhistogram-c/all/conanfile.py @@ -42,7 +42,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 08598b454a349410e17cb9259daa0cdf02455434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 13:03:54 +0200 Subject: [PATCH 1723/4087] (#19871) Bump hdf5's zlib requirement to [>=1.2.11 <2] range --- 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 e4e17863639bf..439507ce9f6f2 100644 --- a/recipes/hdf5/all/conanfile.py +++ b/recipes/hdf5/all/conanfile.py @@ -75,7 +75,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.szip_support == "with_libaec": self.requires("libaec/1.0.6") elif self.options.szip_support == "with_szip": From d733818167c4fc8725ee4ac5087723da8928b1ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 20 Sep 2023 13:38:02 +0200 Subject: [PATCH 1724/4087] (#19872) Bump hdf4's zlib requirement to [>=1.2.11 <2] range --- recipes/hdf4/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hdf4/all/conanfile.py b/recipes/hdf4/all/conanfile.py index f3f6af54d2d43..161143820d862 100644 --- a/recipes/hdf4/all/conanfile.py +++ b/recipes/hdf4/all/conanfile.py @@ -52,7 +52,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.jpegturbo: self.requires("libjpeg-turbo/3.0.0") else: From 92a857da97f4925488932ce54f2cf1526c754679 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Sep 2023 21:12:21 +0900 Subject: [PATCH 1725/4087] (#19426) libaesgm: add recipe * libaesgm: add recipe * fix test_package.c * fixed license Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libaesgm/all/CMakeLists.txt | 48 +++++++++++++ recipes/libaesgm/all/conandata.yml | 4 ++ recipes/libaesgm/all/conanfile.py | 72 +++++++++++++++++++ .../libaesgm/all/test_package/CMakeLists.txt | 7 ++ .../libaesgm/all/test_package/conanfile.py | 25 +++++++ .../libaesgm/all/test_package/test_package.c | 10 +++ recipes/libaesgm/config.yml | 3 + 7 files changed, 169 insertions(+) create mode 100644 recipes/libaesgm/all/CMakeLists.txt create mode 100644 recipes/libaesgm/all/conandata.yml create mode 100644 recipes/libaesgm/all/conanfile.py create mode 100644 recipes/libaesgm/all/test_package/CMakeLists.txt create mode 100644 recipes/libaesgm/all/test_package/conanfile.py create mode 100644 recipes/libaesgm/all/test_package/test_package.c create mode 100644 recipes/libaesgm/config.yml diff --git a/recipes/libaesgm/all/CMakeLists.txt b/recipes/libaesgm/all/CMakeLists.txt new file mode 100644 index 0000000000000..423d807676428 --- /dev/null +++ b/recipes/libaesgm/all/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.8) +project(LibAesgm LANGUAGES C) + +add_library(Aesgm + #sources + ${LIBAESGM_SRC_DIR}/aescrypt.c + ${LIBAESGM_SRC_DIR}/aeskey.c + ${LIBAESGM_SRC_DIR}/aes_modes.c + ${LIBAESGM_SRC_DIR}/aes_ni.c + ${LIBAESGM_SRC_DIR}/aestab.c + #headers + ${LIBAESGM_SRC_DIR}/aescpp.h + ${LIBAESGM_SRC_DIR}/aes.h + ${LIBAESGM_SRC_DIR}/aes_ni.h + ${LIBAESGM_SRC_DIR}/aesopt.h + ${LIBAESGM_SRC_DIR}/aestab.h + ${LIBAESGM_SRC_DIR}/aes_via_ace.h + ${LIBAESGM_SRC_DIR}/brg_endian.h + ${LIBAESGM_SRC_DIR}/brg_types.h +) + +target_include_directories(Aesgm + INTERFACE + $ + $ +) + +if(WIN32 AND BUILD_SHARED_LIBS) + target_compile_definitions(Aesgm PRIVATE DLL_EXPORT) +endif() + +install(TARGETS Aesgm + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) +install( + FILES + ${LIBAESGM_SRC_DIR}/aes.h + ${LIBAESGM_SRC_DIR}/aes_ni.h + ${LIBAESGM_SRC_DIR}/aes_via_ace.h + ${LIBAESGM_SRC_DIR}/aescpp.h + ${LIBAESGM_SRC_DIR}/aesopt.h + ${LIBAESGM_SRC_DIR}/aestab.h + ${LIBAESGM_SRC_DIR}/brg_endian.h + ${LIBAESGM_SRC_DIR}/brg_types.h + DESTINATION include +) diff --git a/recipes/libaesgm/all/conandata.yml b/recipes/libaesgm/all/conandata.yml new file mode 100644 index 0000000000000..5a2d1592cd373 --- /dev/null +++ b/recipes/libaesgm/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2013.1.1": + url: "https://github.com/xmake-mirror/libaesgm/archive/refs/tags/2013.1.1.tar.gz" + sha256: "102353a486126c91ccab791c3e718d056d8fbb1be488da81b26561bc7ef4f363" diff --git a/recipes/libaesgm/all/conanfile.py b/recipes/libaesgm/all/conanfile.py new file mode 100644 index 0000000000000..17f6f991a5f99 --- /dev/null +++ b/recipes/libaesgm/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.tools.files import get, copy, load, save +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" + +class LibaesgmConan(ConanFile): + name = "libaesgm" + description = "Library implementation of AES (Rijndael) cryptographic methods" + license = "LicenseRef-libaesgm-BSD" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/xmake-mirror/libaesgm" + topics = ("aes", "cryptographic") + 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) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBAESGM_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() + + def package(self): + filename = os.path.join(self.source_folder, "aes.h") + file_content = load(self, filename) + license_end = "*/" + license_contents = file_content[:file_content.find(license_end)].replace("/*", "") + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) + + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["Aesgm"] + + self.cpp_info.set_property("cmake_file_name", "Aesgm") + self.cpp_info.set_property("cmake_target_name", "Aesgm::Aesgm") diff --git a/recipes/libaesgm/all/test_package/CMakeLists.txt b/recipes/libaesgm/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ed4bf02743021 --- /dev/null +++ b/recipes/libaesgm/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package C) + +find_package(Aesgm REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE Aesgm::Aesgm) diff --git a/recipes/libaesgm/all/test_package/conanfile.py b/recipes/libaesgm/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/libaesgm/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/libaesgm/all/test_package/test_package.c b/recipes/libaesgm/all/test_package/test_package.c new file mode 100644 index 0000000000000..af96572482927 --- /dev/null +++ b/recipes/libaesgm/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include + +int main() { + aes_encrypt_ctx ctx; + char message[] = "test"; + char key[] = "0123456789ABCDEF"; + aes_encrypt(message, key, &ctx); + + return 0; +} diff --git a/recipes/libaesgm/config.yml b/recipes/libaesgm/config.yml new file mode 100644 index 0000000000000..97cadcf3a3227 --- /dev/null +++ b/recipes/libaesgm/config.yml @@ -0,0 +1,3 @@ +versions: + "2013.1.1": + folder: all From a6fa5c6b852d0a55dfb54ccf1c8880a35d503421 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 14:33:07 +0200 Subject: [PATCH 1726/4087] (#19660) libtiff: use version range for zlib + bump mozjpeg * use version range for zlib * bump mozjpeg * fix version range zlib * bump xz_utils --- recipes/libtiff/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 9d1f6de079291..3393b9d3d4cd6 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -63,17 +63,17 @@ def layout(self): def requirements(self): if self.options.zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.libdeflate: self.requires("libdeflate/1.18") if self.options.lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.0") elif self.options.jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") if self.options.jbig: self.requires("jbig/20160605") if self.options.zstd: From d69826d56a61bb94045ed34f2b4b8a41f1e40958 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 14:56:42 +0200 Subject: [PATCH 1727/4087] (#19661) libxml2: use version range for zlib + bump icu & pkgconf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use version range for zlib * bump icu & pkgconf * Update recipes/libxml2/all/conanfile.py * bump xz_utils * bump pkgconf --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libxml2/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libxml2/all/conanfile.py b/recipes/libxml2/all/conanfile.py index becdc73f93c9c..3a2832d9da9e7 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -95,19 +95,19 @@ def layout(self): def requirements(self): if self.options.zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.iconv: self.requires("libiconv/1.17", transitive_headers=True, transitive_libs=True) if self.options.icu: - self.requires("icu/73.1") + self.requires("icu/73.2") def build_requirements(self): if not (is_msvc(self) or self._is_mingw_windows): if self.options.zlib or self.options.lzma or self.options.icu: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 55ae5651153809730fac016d8b027ad6d81dec03 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:14:38 +0200 Subject: [PATCH 1728/4087] (#19718) libarchive: add v3.7.1, update requirements * Bump version * Fix typo * Use zlib/[>=1.2.11 <2] * Bugfix * Bump xz_utils * Update patches * Bugfix --- recipes/libarchive/all/conandata.yml | 18 +++++- recipes/libarchive/all/conanfile.py | 11 ++-- .../all/patches/0001-3.7.1-zlib-winapi.patch | 27 +++++++++ .../all/patches/0003-3.7.1-cmake.patch | 58 +++++++++++++++++++ .../0005-3.7.1-try-compile-cmakedeps.patch | 32 ++++++++++ ....patch => 0006-3.6.2-fix-msvc-build.patch} | 0 .../patches/0006-3.7.1-fix-msvc-build.patch | 45 ++++++++++++++ recipes/libarchive/config.yml | 2 + 8 files changed, 188 insertions(+), 5 deletions(-) create mode 100644 recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch create mode 100644 recipes/libarchive/all/patches/0003-3.7.1-cmake.patch create mode 100644 recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch rename recipes/libarchive/all/patches/{0006-fix-msvc-build.patch => 0006-3.6.2-fix-msvc-build.patch} (100%) create mode 100644 recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index 3853b8ec0aa66..7a29ca28110b5 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.1": + url: "https://github.com/libarchive/libarchive/releases/download/v3.7.1/libarchive-3.7.1.tar.xz" + sha256: "b17403ce670ff18d8e06fea05a9ea9accf70678c88f1b9392a2e29b51127895f" "3.6.2": url: "https://github.com/libarchive/libarchive/releases/download/v3.6.2/libarchive-3.6.2.tar.xz" sha256: "9e2c1b80d5fbe59b61308fdfab6c79b5021d7ff4ff2489fb12daf0a96a83551d" @@ -21,6 +24,19 @@ sources: url: "https://github.com/libarchive/libarchive/releases/download/v3.4.0/libarchive-3.4.0.tar.gz" sha256: "8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e" patches: + "3.7.1": + - patch_file: "patches/0001-3.7.1-zlib-winapi.patch" + patch_description: "Remove broken ZLIB WINAPI check" + patch_type: "portability" + - patch_file: "patches/0003-3.7.1-cmake.patch" + patch_description: "Make CMake build-system compatible with Conan" + patch_type: "conan" + - patch_file: "patches/0005-3.7.1-try-compile-cmakedeps.patch" + patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" + patch_type: "conan" + - patch_file: "patches/0006-3.7.1-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.6.2": - patch_file: "patches/0001-3.6.2-zlib-winapi.patch" patch_description: "Remove broken ZLIB WINAPI check" @@ -31,7 +47,7 @@ patches: - patch_file: "patches/0005-3.6.2-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-fix-msvc-build.patch" + - patch_file: "patches/0006-3.6.2-fix-msvc-build.patch" patch_description: "Fix MSVC build" patch_type: "conan" "3.6.1": diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index c6970f8d631a8..68c352dbc326a 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration @@ -81,7 +81,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: @@ -91,7 +91,7 @@ def requirements(self): if self.options.with_iconv: self.requires("libiconv/1.17") if self.options.with_pcreposix: - self.requires("pcre/10.42") + self.requires("pcre2/10.42") if self.options.with_nettle: self.requires("nettle/3.8.1") if self.options.with_openssl: @@ -103,7 +103,7 @@ def requirements(self): if self.options.with_lzo: self.requires("lzo/2.10") if self.options.with_lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.get_safe("with_mbedtls"): @@ -172,6 +172,9 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "LibArchive") diff --git a/recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch new file mode 100644 index 0000000000000..beb5f743fa31f --- /dev/null +++ b/recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..57cf7f8f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -444,14 +444,14 @@ IF(ZLIB_FOUND) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) + IF(WIN32 AND NOT CYGWIN) +- # +- # Test if ZLIB_WINAPI macro is needed to use. +- # +- TRY_MACRO_FOR_LIBRARY( +- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +- RUNS +- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" +- ZLIB_WINAPI) ++ ++ ++ ++ ++ ++ ++ ++ SET(ZLIB_WINAPI yes) + IF(ZLIB_WINAPI) + ADD_DEFINITIONS(-DZLIB_WINAPI) + ELSE(ZLIB_WINAPI) diff --git a/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch new file mode 100644 index 0000000000000..d4c2879103cd6 --- /dev/null +++ b/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch @@ -0,0 +1,58 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..8d5b6018 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,7 +9,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() +@@ -442,7 +442,7 @@ 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) + + +@@ -511,7 +511,7 @@ IF(LIBLZMA_FOUND) + SET(HAVE_LIBLZMA 1) + SET(HAVE_LZMA_H 1) + CMAKE_PUSH_CHECK_STATE() +- SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) ++ SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIRS}) + SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) + INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) + LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) +@@ -532,7 +532,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) + + # +@@ -603,7 +603,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) +@@ -827,7 +827,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/recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch new file mode 100644 index 0000000000000..c71291d02944a --- /dev/null +++ b/recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..e7c9fbee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -854,14 +854,14 @@ IF(NOT OPENSSL_FOUND) + ENDIF(LIBMD_FOUND) + ENDIF(NOT OPENSSL_FOUND) + +-# + # How to prove that CRYPTO functions, which have several names on various + # platforms, just see if archive_digest.c can compile and link against + # 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) +@@ -881,8 +881,8 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) + IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) + SET(TRY_CRYPTO_REQUIRED_INCLUDES + "${TRY_CRYPTO_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}") +- SET(TRY_CRYPTO_REQUIRED_LIBS +- "-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}") ++ SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) ++ + ELSEIF("${IMPLEMENTATION}" MATCHES "^MBEDTLS$" AND MBEDTLS_FOUND) + SET(TRY_CRYPTO_REQUIRED_INCLUDES + "${TRY_CRYPTO_REQUIRED_INCLUDES};${MBEDTLS_INCLUDE_DIRS}") diff --git a/recipes/libarchive/all/patches/0006-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.6.2-fix-msvc-build.patch similarity index 100% rename from recipes/libarchive/all/patches/0006-fix-msvc-build.patch rename to recipes/libarchive/all/patches/0006-3.6.2-fix-msvc-build.patch diff --git a/recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch new file mode 100644 index 0000000000000..04ec53a2e20ba --- /dev/null +++ b/recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..d5dac48b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1401,7 +1401,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) +@@ -1434,11 +1434,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) +@@ -1451,10 +1451,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 2cfb62acf5228..3abc948fc7161 100644 --- a/recipes/libarchive/config.yml +++ b/recipes/libarchive/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.1": + folder: all "3.6.2": folder: all "3.6.1": From 88804f87b1a911a289ad13a787051f44001b7f89 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:27:16 +0200 Subject: [PATCH 1729/4087] (#19859) zstr: add package_type + use version range for zlib * add package_type * use version range for zlib --- recipes/zstr/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/zstr/all/conanfile.py b/recipes/zstr/all/conanfile.py index 512be7c200256..97a53cde0de88 100644 --- a/recipes/zstr/all/conanfile.py +++ b/recipes/zstr/all/conanfile.py @@ -14,6 +14,7 @@ class ZstrConan(ConanFile): topics = ("zlib", "wrapper", "compression") homepage = "https://github.com/mateidavid/zstr" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -21,7 +22,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def package_id(self): self.info.clear() @@ -31,8 +32,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 0d4437320031a7956d8588c410c39fb1be6b24ee Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:54:28 +0200 Subject: [PATCH 1730/4087] (#19908) ccfits: add package_type + bump cfitsio MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add package_type & modernize more * simplify test v1 package * bump cfitsio * fix traits * check that C++ std is not 17 or higher for ccfits < 2.6 ccfits < 2.6 uses auto_ptr, removed since C++17 * Test better import way that is less hacky * Revert, should not recompile :) --------- Co-authored-by: Rubén Rincón Blanco --- recipes/ccfits/all/conanfile.py | 29 ++++++++++--------- .../ccfits/all/test_v1_package/CMakeLists.txt | 8 ++--- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/recipes/ccfits/all/conanfile.py b/recipes/ccfits/all/conanfile.py index c9d53caa2f748..d767889c1ed3b 100644 --- a/recipes/ccfits/all/conanfile.py +++ b/recipes/ccfits/all/conanfile.py @@ -1,21 +1,21 @@ -from conan import ConanFile +from conan import ConanFile, conan_version 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.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.54.0" class CcfitsConan(ConanFile): name = "ccfits" description = "CCfits is an object oriented interface to the cfitsio library." license = "ISC" - topics = ("ccfits", "fits", "image", "nasa", "astronomy", "astrophysics", "space") + topics = ("fits", "image", "nasa", "astronomy", "astrophysics", "space") homepage = "https://heasarc.gsfc.nasa.gov/fitsio/ccfits" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -35,32 +35,35 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("cfitsio/4.1.0") + # transitive_headers: CCfits/CCfits.h includes fitsio.h + self.requires("cfitsio/4.2.0", transitive_headers=True) def validate_build(self): if Version(self.version) >= "2.6": if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) + else: + if conan_version >= "2": + # FIXME: c3i 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") + # C++17 and higher not supported in ccfits < 2.6 due to auto_ptr + check_max_cppstd(self, 14) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) # Export symbols for msvc shared tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True - # 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.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/ccfits/all/test_v1_package/CMakeLists.txt b/recipes/ccfits/all/test_v1_package/CMakeLists.txt index 20c81e8e8eb12..0d20897301b68 100644 --- a/recipes/ccfits/all/test_v1_package/CMakeLists.txt +++ b/recipes/ccfits/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(ccfits REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ccfits::ccfits) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From d661fc09f096d3f1292b3b4cb92fc6be7d670dc1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 17:37:11 +0200 Subject: [PATCH 1731/4087] (#19923) cprocessing: fix min msvc version + do not suggest unofficial CMake names + bump glfw & stb - fix msvc min version - do not suggest unofficial CMake names - bump glfw & stb - remove no_copy_source since there is a patch --- recipes/cprocessing/all/conanfile.py | 17 +++-------------- .../cprocessing/all/test_package/CMakeLists.txt | 4 ++-- .../all/test_v1_package/conanfile.py | 7 +++---- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/recipes/cprocessing/all/conanfile.py b/recipes/cprocessing/all/conanfile.py index c9ae209b2576f..cfb3a6e0339a8 100644 --- a/recipes/cprocessing/all/conanfile.py +++ b/recipes/cprocessing/all/conanfile.py @@ -18,10 +18,8 @@ class CProcessingConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/maksmakuta/CProcessing" topics = ("processing", "opengl", "sketch", "header-only") - package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -32,7 +30,7 @@ def _compilers_minimum_version(self): return { "gcc": "9", "Visual Studio": "16.2", - "msvc": "19.22", + "msvc": "192", "clang": "10", "apple-clang": "11", } @@ -41,10 +39,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glfw/3.3.7") + self.requires("glfw/3.3.8") self.requires("glm/0.9.9.8") self.requires("glew/2.2.0") - self.requires("stb/cci.20210910") + self.requires("stb/cci.20220909") self.requires("opengl/system") def package_id(self): @@ -80,12 +78,3 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - - self.cpp_info.set_property("cmake_file_name", "CProcessing") - self.cpp_info.set_property("cmake_target_name", "CProcessing::CProcessing") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "CProcessing" - self.cpp_info.filenames["cmake_find_package_multi"] = "CProcessing" - self.cpp_info.names["cmake_find_package"] = "CProcessing" - self.cpp_info.names["cmake_find_package_multi"] = "CProcessing" diff --git a/recipes/cprocessing/all/test_package/CMakeLists.txt b/recipes/cprocessing/all/test_package/CMakeLists.txt index eeeb2f9006cc8..81c78689deb64 100644 --- a/recipes/cprocessing/all/test_package/CMakeLists.txt +++ b/recipes/cprocessing/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) project(test_package CXX) -find_package(CProcessing REQUIRED CONFIG) +find_package(cprocessing REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CProcessing::CProcessing) +target_link_libraries(${PROJECT_NAME} cprocessing::cprocessing) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/cprocessing/all/test_v1_package/conanfile.py b/recipes/cprocessing/all/test_v1_package/conanfile.py index 51cf79f1d6887..38f4483872d47 100644 --- a/recipes/cprocessing/all/test_v1_package/conanfile.py +++ b/recipes/cprocessing/all/test_v1_package/conanfile.py @@ -12,7 +12,6 @@ def build(self): cmake.build() def test(self): - test_file = os.path.join("bin", "test_package") - if self.settings.os == "Windows": - test_file += ".exe" - assert os.path.exists(test_file) + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 87dd8783f0e24c5217ce7d1feabc8b4a4015d24b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Sep 2023 00:53:27 +0900 Subject: [PATCH 1732/4087] (#19925) patchelf: add version 0.18.0 * patchelf: add version 0.18.0 * C++17 is required in 0.18 * drop support gcc 6,7 --- recipes/patchelf/all/conandata.yml | 3 +++ recipes/patchelf/all/conanfile.py | 30 ++++++++++++++++++++++++++++-- recipes/patchelf/config.yml | 2 ++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/recipes/patchelf/all/conandata.yml b/recipes/patchelf/all/conandata.yml index 9385c94daf7b2..0a5b78dee92b9 100644 --- a/recipes/patchelf/all/conandata.yml +++ b/recipes/patchelf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.18": + url: "https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0.tar.bz2" + sha256: "1952b2a782ba576279c211ee942e341748fdb44997f704dd53def46cd055470b" "0.13": url: "https://github.com/NixOS/patchelf/archive/0.13.tar.gz" sha256: "60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09" diff --git a/recipes/patchelf/all/conanfile.py b/recipes/patchelf/all/conanfile.py index 904e2cf4472db..b41b9ff27f477 100644 --- a/recipes/patchelf/all/conanfile.py +++ b/recipes/patchelf/all/conanfile.py @@ -1,11 +1,12 @@ 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.build import cross_building, check_min_cppstd from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import copy, get, rmdir from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os @@ -21,6 +22,23 @@ class PatchElfConan(ConanFile): license = "GPL-3.0-or-later" settings = "os", "arch", "compiler", "build_type" + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "0.18" else "17" + + @property + def _compilers_minimum_version(self): + return { + "17": { + # patchelf/0.18.0 requires gcc >= 8 + "gcc": "8", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + def layout(self): basic_layout(self, src_folder="src") @@ -29,7 +47,15 @@ def build_requirements(self): def validate(self): if not is_apple_os(self) and self.settings.os not in ("FreeBSD", "Linux"): - raise ConanInvalidConfiguration("PatchELF is only available for GNU-like operating systems (e.g. Linux)") + raise ConanInvalidConfiguration(f"{self.ref} is only available for GNU-like operating systems (e.g. Linux)") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/patchelf/config.yml b/recipes/patchelf/config.yml index 0782807cb46ce..f1bedb2bb26d8 100644 --- a/recipes/patchelf/config.yml +++ b/recipes/patchelf/config.yml @@ -1,4 +1,6 @@ versions: + "0.18": + folder: all "0.13": folder: all "0.12": From 93bb4bdb7db44535300688284c596620210bf4a5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 18:07:50 +0200 Subject: [PATCH 1733/4087] (#19926) wyhash: add package_type --- recipes/wyhash/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/wyhash/all/conanfile.py b/recipes/wyhash/all/conanfile.py index 34e8d0350c888..5ef173786f6ec 100644 --- a/recipes/wyhash/all/conanfile.py +++ b/recipes/wyhash/all/conanfile.py @@ -4,7 +4,7 @@ import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class WyhashConan(ConanFile): name = "wyhash" @@ -13,6 +13,7 @@ class WyhashConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/wangyi-fudan/wyhash" topics = ("bloom-filter", "hash", "random-number-generators", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,7 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) From 15694abde045ecc46d652795d7d91d4758015cf3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 20 Sep 2023 18:20:15 +0200 Subject: [PATCH 1734/4087] (#19928) beauty: use version range for openssl * use version range for openssl * fix traits * fix openssl traits * fix openssl traits again --- recipes/beauty/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/beauty/all/conanfile.py b/recipes/beauty/all/conanfile.py index db4a11b8cb724..2c01e08705dd5 100644 --- a/recipes/beauty/all/conanfile.py +++ b/recipes/beauty/all/conanfile.py @@ -57,8 +57,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.79.0"), - self.requires("openssl/1.1.1s") + # beauty public headers include some boost headers. + # For example beauty/application.hpp includes boost/asio.hpp + self.requires("boost/1.79.0", transitive_headers=True) + # dependency of asio in boost, exposed in boost/asio/ssl/detail/openssl_types.hpp + self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 1ede4d191660c9fcc0b7848744a8bcfb14cff626 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 20 Sep 2023 19:22:12 +0200 Subject: [PATCH 1735/4087] (#19937) libselinux/all: bump deps * libselinux/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libselinux/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libselinux/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libselinux/all/conanfile.py b/recipes/libselinux/all/conanfile.py index b6e6523df6453..b2c0ccb43ccfa 100644 --- a/recipes/libselinux/all/conanfile.py +++ b/recipes/libselinux/all/conanfile.py @@ -54,7 +54,7 @@ def validate(self): def build_requirements(self): self.tool_requires("flex/2.6.4") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): for download in self.conan_data["sources"][self.version]: From 87595db65de1c4314b1f401759a40136643be74a Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Tue, 26 Sep 2023 17:04:30 +0200 Subject: [PATCH 1736/4087] (#20062) Bump xz_utils for ffmpeg * bump version * range for zlib * revert zlib version * bump zlib --- recipes/ffmpeg/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 0ebfa544b38e2..05d36e30042e7 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -257,11 +257,11 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/1.3") if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.with_libiconv: self.requires("libiconv/1.17") if self.options.with_freetype: From 86fb18340f9ea290b0fc7d95b5c0779b8a0ef56a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 26 Sep 2023 18:11:43 +0200 Subject: [PATCH 1737/4087] (#20147) Bump rsync's zlib requirement to [>=1.2.11 <2] range --- recipes/rsync/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rsync/all/conanfile.py b/recipes/rsync/all/conanfile.py index 959c1c6253bb0..c1c2765fe7084 100644 --- a/recipes/rsync/all/conanfile.py +++ b/recipes/rsync/all/conanfile.py @@ -53,7 +53,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.5") From c873a00f074cc30c5bc3ea8e1af4431887bdee0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 26 Sep 2023 18:28:14 +0200 Subject: [PATCH 1738/4087] (#20113) Bump tmx's zlib requirement to [>=1.2.11 <2] range --- recipes/tmx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tmx/all/conanfile.py b/recipes/tmx/all/conanfile.py index 5a3b3214bc42f..53b614a724111 100644 --- a/recipes/tmx/all/conanfile.py +++ b/recipes/tmx/all/conanfile.py @@ -54,7 +54,7 @@ def layout(self): def requirements(self): self.requires("libxml2/2.9.14") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.2") From 0f516b5106383302120e539ca7b0a4b9f3050f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 26 Sep 2023 18:29:28 +0200 Subject: [PATCH 1739/4087] (#20115) Bump vtu11's zlib requirement to [>=1.2.11 <2] range * Bump vtu11's zlib requirement to [>=1.2.11 <2] range * Fix C++17 compilation --- recipes/vtu11/all/conandata.yml | 5 --- recipes/vtu11/all/conanfile.py | 22 ++++++------- ...0001-use-CPP17-filesystem-by-default.patch | 33 ------------------- 3 files changed, 11 insertions(+), 49 deletions(-) delete mode 100644 recipes/vtu11/all/patches/0001-use-CPP17-filesystem-by-default.patch diff --git a/recipes/vtu11/all/conandata.yml b/recipes/vtu11/all/conandata.yml index d079b9a80f826..bb58ee7fddaee 100644 --- a/recipes/vtu11/all/conandata.yml +++ b/recipes/vtu11/all/conandata.yml @@ -3,8 +3,3 @@ sources: url: - "https://github.com/phmkopp/vtu11/archive/refs/tags/v1.2.tar.gz" sha256: "c2b560d397c1a86c10e13f029b4ef08621f70ca4c897c44c19e7d025f11baec3" -patches: - "1.2": - - patch_file: "patches/0001-use-CPP17-filesystem-by-default.patch" - patch_description: "Use C++17 filesystem by default when compiling with C++17" - patch_type: "portability" diff --git a/recipes/vtu11/all/conanfile.py b/recipes/vtu11/all/conanfile.py index 389169052faba..db420586fda77 100644 --- a/recipes/vtu11/all/conanfile.py +++ b/recipes/vtu11/all/conanfile.py @@ -1,9 +1,10 @@ from conan import ConanFile -from conan.tools.build import check_min_cppstd, valid_min_cppstd -from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy from conan.tools.layout import basic_layout import os +from conan.tools.microsoft import is_msvc required_conan_version = ">=1.53.0" @@ -14,7 +15,9 @@ class PackageConan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/phmkopp/vtu11" - topics = ("vtu", "c++11") + topics = ("vtu", "c++11", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True options = { @@ -28,15 +31,12 @@ class PackageConan(ConanFile): def _min_cppstd(self): return 11 - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13", transitive_headers=True) + self.requires("zlib/[>=1.2.11 <2]") def package_id(self): self.info.clear() @@ -48,10 +48,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - if valid_min_cppstd(self, 17): - apply_conandata_patches(self) - def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( @@ -68,6 +64,10 @@ def package_info(self): if self.options.with_zlib: self.cpp_info.defines = ["VTU11_ENABLE_ZLIB"] + # The library uses __cplusplus for feature detection, ensure vs returns the proper one + if is_msvc(self): + self.cpp_info.cxxflags.append("/Zc:__cplusplus") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "vtu11" self.cpp_info.filenames["cmake_find_package_multi"] = "vtu11" diff --git a/recipes/vtu11/all/patches/0001-use-CPP17-filesystem-by-default.patch b/recipes/vtu11/all/patches/0001-use-CPP17-filesystem-by-default.patch deleted file mode 100644 index eb80c0e4f2b2f..0000000000000 --- a/recipes/vtu11/all/patches/0001-use-CPP17-filesystem-by-default.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/vtu11/inc/alias.hpp -+++ b/vtu11/inc/alias.hpp -@@ -40,20 +40,14 @@ using Byte = unsigned char; - #define VTU11_ASCII_FLOATING_POINT_FORMAT "%.6g" - #endif - --// To dynamically select std::filesystem where available, you could use: --#if defined(__cplusplus) && __cplusplus >= 201703L -- #if __has_include() // has_include is C++17 -- #include -- namespace vtu11fs = std::filesystem; -- #elif __has_include() -- #include -- namespace vtu11fs = std::experimental::filesystem; -- #else -- #include "inc/filesystem.hpp" -- namespace vtu11fs = ghc::filesystem; -- #endif -+#if __has_include() // has_include is C++17 -+ #include -+ namespace vtu11fs = std::filesystem; -+#elif __has_include() -+ #include -+ namespace vtu11fs = std::experimental::filesystem; - #else -- #include "vtu11/inc/filesystem.hpp" -+ #include "inc/filesystem.hpp" - namespace vtu11fs = ghc::filesystem; - #endif - --- -2.34.1 - From 83b27f5c733da6d4371dd1fe477109d52d022a6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 26 Sep 2023 18:38:51 +0200 Subject: [PATCH 1740/4087] (#20144) Bump freeimage's zlib requirement to [>=1.2.11 <2] range --- recipes/freeimage/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/freeimage/all/conanfile.py b/recipes/freeimage/all/conanfile.py index 5f0684be02c51..8ea9581a8d7f1 100644 --- a/recipes/freeimage/all/conanfile.py +++ b/recipes/freeimage/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": From 70157ec8ae44e8a02aa429f7733478dcdc8ba5ba Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 26 Sep 2023 21:45:48 +0400 Subject: [PATCH 1741/4087] (#19681) openvino: add 2023.1.0 version * [openvino] new recipe * addressed review comments --- recipes/openvino/all/conandata.yml | 34 ++ recipes/openvino/all/conanfile.py | 381 ++++++++++++++++++ .../0001-cpu-plugin-compilation-c++17.patch | 16 + .../0002-core-compilation-c++17.patch | 46 +++ .../0003-fixed-gpu-with-onednn-build.patch | 56 +++ .../openvino/all/test_package/CMakeLists.txt | 48 +++ .../openvino/all/test_package/conanfile.py | 49 +++ .../all/test_package/test_package.cpp | 102 +++++ recipes/openvino/config.yml | 3 + 9 files changed, 735 insertions(+) create mode 100644 recipes/openvino/all/conandata.yml create mode 100644 recipes/openvino/all/conanfile.py create mode 100644 recipes/openvino/all/patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch create mode 100644 recipes/openvino/all/patches/2023.1.0/0002-core-compilation-c++17.patch create mode 100644 recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch create mode 100644 recipes/openvino/all/test_package/CMakeLists.txt create mode 100644 recipes/openvino/all/test_package/conanfile.py create mode 100644 recipes/openvino/all/test_package/test_package.cpp create mode 100644 recipes/openvino/config.yml diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml new file mode 100644 index 0000000000000..375c797c46fca --- /dev/null +++ b/recipes/openvino/all/conandata.yml @@ -0,0 +1,34 @@ +sources: + "2023.1.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/47b736f63edda256d66e2bbb572f42a9d6549f6e.tar.gz" + sha256: "8a1dd5b35fe4b60440e97ee61e12e01aa4dd78b5be30550aa08fcd96c416e1d7" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.02.1.tar.gz" + sha256: "c3a443e26539f866969242e690cf0651ef629149741ee18732f954c734da6763" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/ae825539bd850d1ad5c83d4bb0d56c65d46d5842.tar.gz" + sha256: "1204df17785c8603f9dfa1f4f91e91e5ffd4391bf7680d2b256de2513490ebee" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/c7c8a631315000f17c650af34431009d2f22129c.tar.gz" + sha256: "7b790dfeef8e1dd612f920c85186c52ad3a3e2245e2a2afd6cc91ce4b1dc64a9" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/4b82a66ed38ecaa993352e5cc6ed7753656b8a26.tar.gz" + sha256: "cb17c003fe51bc9b4e20189573956b4446468162adf0fc4cea2ee0820cff0cd0" +patches: + "2023.1.0": + - patch_file: "patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch" + patch_description: "Fixed CPU plugin compilation with C++17" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19628" + - patch_file: "patches/2023.1.0/0002-core-compilation-c++17.patch" + patch_description: "Fixed OpenVINO Core compilation with C++17" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19707" + - patch_file: "patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch" + patch_description: "Fixed Intel GPU plugin with oneDNN" + patch_type: "portability" + # severals PR are merged into a single patch including: + # https://github.com/openvinotoolkit/openvino/pull/19668, + # https://github.com/openvinotoolkit/openvino/pull/19715 and + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19716" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py new file mode 100644 index 0000000000000..de1677f7edab6 --- /dev/null +++ b/recipes/openvino/all/conanfile.py @@ -0,0 +1,381 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir +import os + +required_conan_version = ">=1.60.0 <2.0 || >=2.0.8" + +class OpenvinoConan(ConanFile): + name = "openvino" + + # Optional metadata + license = "Apache-2.0" + homepage = "https://github.com/openvinotoolkit/openvino" + url = "https://github.com/conan-io/conan-center-index" + description = "Open Visual Inference And Optimization toolkit for AI inference" + topics = ("nlp", "natural-language-processing", "ai", "computer-vision", "deep-learning", "transformers", "inference", + "speech-recognition", "yolo", "performance-boost", "diffusion-models", "recommendation-system", "stable-diffusion", + "generative-ai", "llm-inference", "optimize-ai", "deploy-ai") + package_id_non_embed_mode = "patch_mode" + package_type = "library" + short_paths = True + no_copy_source = True + + # Binary configuration + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + # HW plugins + "enable_cpu": [True, False], + "enable_gpu": [True, False], + # SW plugins + "enable_auto": [True, False], + "enable_hetero": [True, False], + "enable_auto_batch": [True, False], + # Frontends + "enable_ir_frontend": [True, False], + "enable_onnx_frontend": [True, False], + "enable_tf_frontend": [True, False], + "enable_tf_lite_frontend": [True, False], + "enable_paddle_frontend": [True, False], + "enable_pytorch_frontend": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + # HW plugins + "enable_cpu": True, + "enable_gpu": True, + # SW plugins + "enable_auto": True, + "enable_hetero": True, + "enable_auto_batch": True, + # Frontends + "enable_ir_frontend": True, + "enable_onnx_frontend": True, + "enable_tf_frontend": True, + "enable_tf_lite_frontend": True, + "enable_paddle_frontend": True, + "enable_pytorch_frontend": True + } + + @property + def _protobuf_required(self): + return self.options.enable_tf_frontend or self.options.enable_onnx_frontend or self.options.enable_paddle_frontend + + @property + def _target_arm(self): + return "arm" in self.settings.arch + + @property + def _target_x86_64(self): + return self.settings.arch == "x86_64" + + @property + def _gna_option_available(self): + return self.settings.os in ["Linux", "Windows"] and self._target_x86_64 and Version(self.version) < "2024.0.0" + + @property + def _gpu_option_available(self): + return self.settings.os != "Macos" and self._target_x86_64 + + @property + def _preprocessing_available(self): + return Version(self.version) < "2023.2.0" + + @property + def _onnx_version(self): + if Version(self.version) == "2023.1.0": + return "1.13.1" + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "9", + "apple-clang": "11", + "Visual Studio": "16", + "msvc": "192", + } + + def source(self): + get(self, **self.conan_data["sources"][self.version]["openvino"], strip_root=True) + get(self, **self.conan_data["sources"][self.version]["onednn_cpu"], strip_root=True, + destination=f"{self.source_folder}/src/plugins/intel_cpu/thirdparty/onednn") + get(self, **self.conan_data["sources"][self.version]["mlas"], strip_root=True, + destination=f"{self.source_folder}/src/plugins/intel_cpu/thirdparty/mlas") + get(self, **self.conan_data["sources"][self.version]["arm_compute"], strip_root=True, + destination=f"{self.source_folder}/src/plugins/intel_cpu/thirdparty/ComputeLibrary") + get(self, **self.conan_data["sources"][self.version]["onednn_gpu"], strip_root=True, + destination=f"{self.source_folder}/src/plugins/intel_gpu/thirdparty/onednn_gpu") + apply_conandata_patches(self) + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if not self._gpu_option_available: + del self.options.enable_gpu + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + if self._protobuf_required: + # we need to use static protobuf to overcome potential issues with multiple registrations inside + # protobuf when frontends (implemented as plugins) are loaded multiple times in runtime + self.options["protobuf"].shared = False + # disable GPU plugin when clang is used; plugin has issues with static variables initialization + if self.settings.compiler == "clang" and self.options.get_safe("enable_gpu"): + self.options.enable_gpu = False + + def build_requirements(self): + if self._target_arm: + self.tool_requires("scons/[>=4.2.0]") + if cross_building(self): + if self._protobuf_required: + self.tool_requires("protobuf/") + if self.options.enable_tf_lite_frontend: + self.tool_requires("flatbuffers/") + if not self.options.shared: + self.tool_requires("cmake/[>=3.18]") + + def requirements(self): + self.requires("onetbb/2021.9.0") + self.requires("pugixml/1.13") + if self._target_x86_64: + self.requires("xbyak/6.73") + if self.options.get_safe("enable_gpu"): + self.requires("opencl-icd-loader/2023.04.17") + if self._protobuf_required: + self.requires("protobuf/3.21.12") + if self.options.enable_tf_frontend: + self.requires("snappy/1.1.10") + if self.options.enable_onnx_frontend: + self.requires(f"onnx/{self._onnx_version}") + if self.options.enable_tf_lite_frontend: + self.requires("flatbuffers/22.9.24") + if self._preprocessing_available: + self.requires("ade/0.1.2c") + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + + toolchain = CMakeToolchain(self) + # HW plugins + 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 + if self._gna_option_available: + toolchain.cache_variables["ENABLE_INTEL_GNA"] = False + # SW plugins + toolchain.cache_variables["ENABLE_AUTO"] = self.options.enable_auto + toolchain.cache_variables["ENABLE_MULTI"] = self.options.enable_auto + toolchain.cache_variables["ENABLE_AUTO_BATCH"] = self.options.enable_auto_batch + toolchain.cache_variables["ENABLE_HETERO"] = self.options.enable_hetero + # Frontends + toolchain.cache_variables["ENABLE_OV_IR_FRONTEND"] = self.options.enable_ir_frontend + toolchain.cache_variables["ENABLE_OV_PADDLE_FRONTEND"] = self.options.enable_paddle_frontend + toolchain.cache_variables["ENABLE_OV_TF_FRONTEND"] = self.options.enable_tf_frontend + toolchain.cache_variables["ENABLE_OV_TF_LITE_FRONTEND"] = self.options.enable_tf_lite_frontend + toolchain.cache_variables["ENABLE_OV_ONNX_FRONTEND"] = self.options.enable_onnx_frontend + toolchain.cache_variables["ENABLE_OV_PYTORCH_FRONTEND"] = self.options.enable_pytorch_frontend + # Dependencies + toolchain.cache_variables["ENABLE_SYSTEM_TBB"] = True + toolchain.cache_variables["ENABLE_TBBBIND_2_5"] = False + toolchain.cache_variables["ENABLE_SYSTEM_PUGIXML"] = True + if self._protobuf_required: + toolchain.cache_variables["ENABLE_SYSTEM_PROTOBUF"] = True + if self.options.enable_tf_frontend: + toolchain.cache_variables["ENABLE_SYSTEM_SNAPPY"] = True + if self.options.enable_tf_lite_frontend: + toolchain.cache_variables["ENABLE_SYSTEM_FLATBUFFERS"] = True + if self.options.get_safe("enable_gpu"): + toolchain.cache_variables["ENABLE_SYSTEM_OPENCL"] = True + # misc + if self._preprocessing_available: + toolchain.cache_variables["ENABLE_GAPI_PREPROCESSING"] = True + toolchain.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + toolchain.cache_variables["CPACK_GENERATOR"] = "CONAN" + toolchain.cache_variables["ENABLE_PROFILING_ITT"] = False + toolchain.cache_variables["ENABLE_PYTHON"] = False + toolchain.cache_variables["ENABLE_PROXY"] = False + toolchain.cache_variables["ENABLE_WHEEL"] = False + toolchain.cache_variables["ENABLE_CPPLINT"] = False + toolchain.cache_variables["ENABLE_NCC_STYLE"] = False + toolchain.cache_variables["ENABLE_SAMPLES"] = False + toolchain.cache_variables["ENABLE_TEMPLATE"] = False + toolchain.generate() + + def validate_build(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, "11") + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + compiler_version = Version(self.settings.compiler.version) + if minimum_version and compiler_version < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires {self.settings.compiler} ver. {minimum_version}, provided ver. {compiler_version}.", + ) + + # OpenVINO has unresolved symbols, when clang is used with libc++ + if self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libc++": + raise ConanInvalidConfiguration( + f"{self.ref} cannot be built with clang and libc++ due to unresolved symbols. " + f"Please, use libstdc++ instead." + ) + + 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") + + def validate(self): + # dynamically compiled frontends cannot be run against dynamic protobuf + if self._protobuf_required and self.options.shared and self.dependencies["protobuf"].options.shared: + raise ConanInvalidConfiguration(f"{self.ref}:shared=True requires protobuf:shared=False for correct work.") + + if self.options.get_safe("enable_gpu"): + # GPU does not support oneDNN in static build configuration, warn about it + if not self.options.shared: + self.output.warning(f"{self.name} recipe builds GPU plugin without oneDNN (dGPU) support during static build.") + + # GPU plugin is currently not stable when compiled with clang compiler + if self.settings.compiler == "clang": + raise ConanInvalidConfiguration( + "GPU plugin cannot be built with clang compiler." + "Please, disable GPU plugin (openvino/*:enable_gpu=False) or change the compiler" + ) + + def build(self): + cmake = CMake(self) + cmake.configure() + for target in ["ov_frontends", "ov_plugins", "openvino_c"]: + cmake.build(target=target) + + def package(self): + cmake = CMake(self) + cmake.install() + # remove cmake and .pc files, since they will be generated later by Conan itself in package_info() + 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_find_mode", "config") + self.cpp_info.set_property("cmake_file_name", "OpenVINO") + self.cpp_info.set_property("pkg_config_name", "openvino") + + openvino_runtime = self.cpp_info.components["Runtime"] + openvino_runtime.set_property("cmake_target_name", "openvino::runtime") + openvino_runtime.requires = ["onetbb::libtbb", "pugixml::pugixml"] + openvino_runtime.libs = ["openvino_c", "openvino"] + if self._preprocessing_available: + openvino_runtime.requires.append("ade::ade") + if self._target_x86_64: + openvino_runtime.requires.append("xbyak::xbyak") + if self.settings.os in ["Linux", "Android", "FreeBSD", "SunOS", "AIX"]: + openvino_runtime.system_libs = ["m", "dl", "pthread"] + if self.settings.os == "Windows": + openvino_runtime.system_libs.append("shlwapi") + if self._preprocessing_available: + openvino_runtime.system_libs.extend(["wsock32", "ws2_32"]) + + # Have to expose all internal libraries for static libraries case + if not self.options.shared: + # HW plugins + if self.options.enable_cpu: + openvino_runtime.libs.append("openvino_arm_cpu_plugin" if self._target_arm else \ + "openvino_intel_cpu_plugin") + openvino_runtime.libs.extend(["openvino_onednn_cpu", "openvino_snippets", "mlas"]) + if self._target_arm: + openvino_runtime.libs.append("arm_compute-static") + 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"]) + # SW plugins + if self.options.enable_auto: + openvino_runtime.libs.append("openvino_auto_plugin") + if self.options.enable_hetero: + openvino_runtime.libs.append("openvino_hetero_plugin") + if self.options.enable_auto_batch: + openvino_runtime.libs.append("openvino_auto_batch_plugin") + # Preprocessing should come after plugins, because plugins depend on it + if self._preprocessing_available: + openvino_runtime.libs.extend(["openvino_gapi_preproc", "fluid"]) + # Frontends + if self.options.enable_ir_frontend: + openvino_runtime.libs.append("openvino_ir_frontend") + if self.options.enable_onnx_frontend: + 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.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.requires.extend(["flatbuffers::flatbuffers"]) + if self.options.enable_paddle_frontend: + openvino_runtime.libs.append("openvino_paddle_frontend") + openvino_runtime.requires.append("protobuf::libprotobuf") + if self.options.enable_pytorch_frontend: + openvino_runtime.libs.append("openvino_pytorch_frontend") + # Common private dependencies should go last, because they satisfy dependencies for all other libraries + openvino_runtime.libs.extend(["openvino_reference", "openvino_builders", + "openvino_shape_inference", "openvino_itt", + # utils goes last since all others depend on it + "openvino_util"]) + # set 'openvino' once again for transformations objects files (cyclic dependency) + # openvino_runtime.libs.append("openvino") + full_openvino_lib_path = os.path.join(self.package_folder, "lib", "openvino.lib").replace("\\", "/") if self.settings.os == "Windows" else \ + os.path.join(self.package_folder, "lib", "libopenvino.a") + openvino_runtime.system_libs.insert(0, full_openvino_lib_path) + # Add definition to prevent symbols importing + openvino_runtime.defines = ["OPENVINO_STATIC_LIBRARY"] + + if self.options.get_safe("enable_gpu"): + openvino_runtime.requires.append("opencl-icd-loader::opencl-icd-loader") + if self.settings.os == "Windows": + openvino_runtime.system_libs.append("setupapi") + + if self.options.enable_onnx_frontend: + openvino_onnx = self.cpp_info.components["ONNX"] + openvino_onnx.set_property("cmake_target_name", "openvino::frontend::onnx") + openvino_onnx.libs = ["openvino_onnx_frontend"] + openvino_onnx.requires = ["Runtime", "onnx::onnx", "protobuf::libprotobuf"] + + if self.options.enable_paddle_frontend: + openvino_paddle = self.cpp_info.components["Paddle"] + openvino_paddle.set_property("cmake_target_name", "openvino::frontend::paddle") + openvino_paddle.libs = ["openvino_paddle_frontend"] + openvino_paddle.requires = ["Runtime", "protobuf::libprotobuf"] + + if self.options.enable_tf_frontend: + openvino_tensorflow = self.cpp_info.components["TensorFlow"] + openvino_tensorflow.set_property("cmake_target_name", "openvino::frontend::tensorflow") + openvino_tensorflow.libs = ["openvino_tensorflow_frontend"] + openvino_tensorflow.requires = ["Runtime", "protobuf::libprotobuf", "snappy::snappy"] + + if self.options.enable_pytorch_frontend: + openvino_pytorch = self.cpp_info.components["PyTorch"] + openvino_pytorch.set_property("cmake_target_name", "openvino::frontend::pytorch") + openvino_pytorch.libs = ["openvino_pytorch_frontend"] + openvino_pytorch.requires = ["Runtime"] + + if self.options.enable_tf_lite_frontend: + openvino_tensorflow_lite = self.cpp_info.components["TensorFlowLite"] + openvino_tensorflow_lite.set_property("cmake_target_name", "openvino::frontend::tensorflow_lite") + openvino_tensorflow_lite.libs = ["openvino_tensorflow_lite_frontend"] + openvino_tensorflow_lite.requires = ["Runtime", "flatbuffers::flatbuffers"] diff --git a/recipes/openvino/all/patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch b/recipes/openvino/all/patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch new file mode 100644 index 0000000000000..da6548b7c9115 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch @@ -0,0 +1,16 @@ +diff --git a/src/plugins/intel_cpu/src/cpu_tensor.cpp b/src/plugins/intel_cpu/src/cpu_tensor.cpp +index 48d8fdd4be..815edd9309 100644 +--- a/src/plugins/intel_cpu/src/cpu_tensor.cpp ++++ b/src/plugins/intel_cpu/src/cpu_tensor.cpp +@@ -68,8 +68,9 @@ void Tensor::update_strides() const { + OPENVINO_ASSERT(blocked_desc, "not a valid blocked memory descriptor."); + auto& strides = blocked_desc->getStrides(); + m_strides.resize(strides.size()); +- std::transform(strides.cbegin(), strides.cend(), m_strides.begin(), +- std::bind1st(std::multiplies(), m_element_type.size())); ++ std::transform(strides.cbegin(), strides.cend(), m_strides.begin(), [this] (const size_t stride) { ++ return stride * m_element_type.size(); ++ }); + } + + void* Tensor::data(const element::Type& element_type) const { diff --git a/recipes/openvino/all/patches/2023.1.0/0002-core-compilation-c++17.patch b/recipes/openvino/all/patches/2023.1.0/0002-core-compilation-c++17.patch new file mode 100644 index 0000000000000..2df86d8ed0ec6 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0002-core-compilation-c++17.patch @@ -0,0 +1,46 @@ +diff --git a/src/frontends/common/src/utils.cpp b/src/frontends/common/src/utils.cpp +index 8ef7481551..3a0db585fd 100644 +--- a/src/frontends/common/src/utils.cpp ++++ b/src/frontends/common/src/utils.cpp +@@ -12,10 +12,6 @@ + # include + # include + # include +-# ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT +-# include +-# include +-# endif + #else + # if defined(WINAPI_FAMILY) && !WINAPI_PARTITION_DESKTOP + # error "Only WINAPI_PARTITION_DESKTOP is supported, because of GetModuleHandleEx[A|W]" +diff --git a/src/frontends/paddle/src/input_model.cpp b/src/frontends/paddle/src/input_model.cpp +index 6987b3285e..287fa5e54a 100644 +--- a/src/frontends/paddle/src/input_model.cpp ++++ b/src/frontends/paddle/src/input_model.cpp +@@ -13,14 +13,10 @@ + #include "openvino/frontend/paddle/node_context.hpp" + #include "openvino/opsets/opset7.hpp" + #include "openvino/util/common_util.hpp" ++#include "openvino/util/file_util.hpp" + #include "paddle_utils.hpp" + #include "place.hpp" + +-#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32) +-# include +-# include +-#endif +- + namespace ov { + namespace frontend { + namespace paddle { +@@ -169,9 +165,7 @@ std::basic_string get_const_path(const std::basic_string& folder_with_weig + #if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32) + template <> + std::basic_string get_const_path(const std::basic_string& folder, const std::string& name) { +- std::wstring_convert> converter; +- std::wstring _name = converter.from_bytes(name); +- return folder + paddle::get_path_sep() + _name; ++ return folder + paddle::get_path_sep() + ov::util::string_to_wstring(name); + } + #endif + diff --git a/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch b/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch new file mode 100644 index 0000000000000..fc7beb3b5ec36 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch @@ -0,0 +1,56 @@ +diff --git a/src/plugins/intel_gpu/thirdparty/CMakeLists.txt b/src/plugins/intel_gpu/thirdparty/CMakeLists.txt +index c7c616d0df..63eeade1f1 100644 +--- a/src/plugins/intel_gpu/thirdparty/CMakeLists.txt ++++ b/src/plugins/intel_gpu/thirdparty/CMakeLists.txt +@@ -88,17 +88,12 @@ if(ENABLE_ONEDNN_FOR_GPU) + endif() + + ExternalProject_Add(onednn_gpu_build ++ # Directory Options: ++ PREFIX "${ONEDNN_PREFIX_DIR}" + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu" + BINARY_DIR "${ONEDNN_BUILD_DIR}" + INSTALL_DIR "${ONEDNN_INSTALL_DIR}" +- PREFIX "${ONEDNN_PREFIX_DIR}" +- EXCLUDE_FROM_ALL ON +- CMAKE_CACHE_ARGS +- # The arguments below requires list to be passed as argument +- # which doesn't work properly when passed to CMAKE_ARGS. +- # Thus we pass it via CMAKE_CACHE_ARGS +- "-DDNNL_ENABLE_PRIMITIVE:STRING=${ONEDNN_ENABLED_PRIMITIVES}" +- "-DDNNL_ENABLE_PRIMITIVE_GPU_ISA:STRING=${ONEDNN_ENABLED_ISA}" ++ # Configure Step Options: + CMAKE_ARGS + ${cmake_extra_args} + "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" +@@ -114,7 +109,6 @@ if(ENABLE_ONEDNN_FOR_GPU) + "-DDNNL_GPU_RUNTIME=OCL" + "-DDNNL_LIBRARY_NAME=openvino_onednn_gpu" + "-DCMAKE_INSTALL_PREFIX=${ONEDNN_INSTALL_DIR}" +- "-DCMAKE_INSTALL_LIBDIR=lib/$" + "-DDNNL_ENABLE_CONCURRENT_EXEC=ON" + "-DDNNL_ENABLE_PRIMITIVE_CACHE=OFF" + "-DDNNL_ENABLE_WORKLOAD=INFERENCE" +@@ -129,10 +123,21 @@ if(ENABLE_ONEDNN_FOR_GPU) + # specifically for Conan, because it overrides CMAKE_PREFIX_PATH and oneDNN's FindOpenCL.cmake is ignored + # Conan's FindOpenCL.cmake module does not set OpenCL_INCLUDE_DIRS, so we need to set it manually + "-DOpenCL_INCLUDE_DIRS=$" ++ # Conan calls cmake with default value for CMP0091, so we have to bypass it to oneDNN build ++ # because we bypass conan_toolchain.cmake via CMAKE_TOOLCHAIN_FILE ++ "-DCMAKE_POLICY_DEFAULT_CMP0091=NEW" ++ CMAKE_CACHE_ARGS ++ # The arguments below requires list to be passed as argument ++ # which doesn't work properly when passed to CMAKE_ARGS. ++ # Thus we pass it via CMAKE_CACHE_ARGS ++ "-DDNNL_ENABLE_PRIMITIVE:STRING=${ONEDNN_ENABLED_PRIMITIVES}" ++ "-DDNNL_ENABLE_PRIMITIVE_GPU_ISA:STRING=${ONEDNN_ENABLED_ISA}" ++ # Target Options: ++ EXCLUDE_FROM_ALL ON + ) + add_library(onednn_gpu_tgt INTERFACE) + set_target_properties(onednn_gpu_tgt PROPERTIES +- INTERFACE_LINK_DIRECTORIES "${ONEDNN_INSTALL_DIR}/lib/$" ++ INTERFACE_LINK_DIRECTORIES "${ONEDNN_INSTALL_DIR}/lib" + INTERFACE_LINK_LIBRARIES "openvino_onednn_gpu" + INTERFACE_INCLUDE_DIRECTORIES "${ONEDNN_INSTALL_DIR}/include" + INTERFACE_COMPILE_DEFINITIONS ENABLE_ONEDNN_FOR_GPU diff --git a/recipes/openvino/all/test_package/CMakeLists.txt b/recipes/openvino/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..032463e0d1754 --- /dev/null +++ b/recipes/openvino/all/test_package/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +macro(add_component def comp) + if(${def}) + list(APPEND OpenVINO_COMPONENTS ${comp}) + endif() +endmacro() + +add_component(ENABLE_ONNX_FRONTEND ONNX) +add_component(ENABLE_PADDLE_FRONTEND Paddle) +add_component(ENABLE_TF_FRONTEND TensorFlow) +add_component(ENABLE_TF_LITE_FRONTEND TensorFlowLite) +add_component(ENABLE_PYTORCH_FRONTEND PyTroch) + +find_package(OpenVINO REQUIRED COMPONENTS Runtime ${OpenVINO_COMPONENTS}) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE openvino::runtime) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +function(add_plugin def) + if(${def}) + target_compile_definitions(${PROJECT_NAME} PRIVATE ${def}) + endif() +endfunction() + +add_plugin(ENABLE_INTEL_CPU) +add_plugin(ENABLE_INTEL_GPU) +add_plugin(ENABLE_AUTO) +add_plugin(ENABLE_HETERO) +add_plugin(ENABLE_AUTO_BATCH) + +function(add_frontend def frontend) + if(${def}) + target_compile_definitions(${PROJECT_NAME} PRIVATE ${def}) + if(NOT TARGET openvino::frontend::${frontend}) + message(FATAL_ERROR "Target for ${frontend} has not been created") + endif() + endif() +endfunction() + +add_plugin(ENABLE_IR_FRONTEND) +add_frontend(ENABLE_ONNX_FRONTEND onnx) +add_frontend(ENABLE_PADDLE_FRONTEND paddle) +add_frontend(ENABLE_TF_FRONTEND tensorflow) +add_frontend(ENABLE_TF_LITE_FRONTEND tensorflow_lite) +add_frontend(ENABLE_PYTORCH_FRONTEND pytorch) diff --git a/recipes/openvino/all/test_package/conanfile.py b/recipes/openvino/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2cbd00abf5b8b --- /dev/null +++ b/recipes/openvino/all/test_package/conanfile.py @@ -0,0 +1,49 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + deps = CMakeDeps(self) + # deps.check_components_exist = True + deps.generate() + + tc = CMakeToolchain(self) + tc.variables["CMAKE_VERBOSE_MAKEFILE"] = True + # HW plugins + tc.variables["ENABLE_INTEL_CPU"] = self.dependencies[self.tested_reference_str].options.enable_cpu + tc.variables["ENABLE_INTEL_GPU"] = self.dependencies[self.tested_reference_str].options.get_safe("enable_gpu", False) + # SW plugins + tc.variables["ENABLE_AUTO"] = self.dependencies[self.tested_reference_str].options.enable_auto + tc.variables["ENABLE_HETERO"] = self.dependencies[self.tested_reference_str].options.enable_hetero + tc.variables["ENABLE_AUTO_BATCH"] = self.dependencies[self.tested_reference_str].options.enable_auto_batch + # Frontends + tc.variables["ENABLE_IR_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_ir_frontend + tc.variables["ENABLE_ONNX_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_onnx_frontend + tc.variables["ENABLE_TF_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_tf_frontend + tc.variables["ENABLE_TF_LITE_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_tf_lite_frontend + tc.variables["ENABLE_PADDLE_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_paddle_frontend + tc.variables["ENABLE_PYTORCH_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_pytorch_frontend + tc.generate() + + 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/openvino/all/test_package/test_package.cpp b/recipes/openvino/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4160d5eb98fcc --- /dev/null +++ b/recipes/openvino/all/test_package/test_package.cpp @@ -0,0 +1,102 @@ +#include +#include +#include + +#define OV_SUCCESS(statement) \ + if ((statement) != 0) \ + return 1; + +#define OV_FAIL(statement) \ + if ((statement) == 0) \ + return 1; + +int test_available_devices() { + ov_core_t* core = NULL; + char* ret = NULL; + OV_SUCCESS(ov_core_create(&core)); +#ifdef ENABLE_INTEL_CPU + OV_SUCCESS(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); +#endif +#ifdef ENABLE_INTEL_GPU + OV_SUCCESS(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); +#endif +#ifdef ENABLE_AUTO + OV_SUCCESS(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); + OV_SUCCESS(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); + OV_FAIL(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); +#endif +#ifdef ENABLE_HETERO + OV_SUCCESS(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); +#endif +#ifdef ENABLE_AUTO_BATCH + OV_SUCCESS(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); +#endif + ov_core_free(core); + return 0; +} + +int test_available_frontends() { + ov::frontend::FrontEndManager manager; + auto frontend_found = [&] (const std::string & name) -> int { + try { + manager.load_by_framework(name); + } catch (const std::exception & e) { + return 1; + } + return 0; + }; + +#ifdef ENABLE_IR_FRONTEND + OV_SUCCESS(frontend_found("ir")); +#else + OV_FAIL(frontend_found("ir")); +#endif +#ifdef ENABLE_TF_LITE_FRONTEND + OV_SUCCESS(frontend_found("tflite")); +#else + OV_FAIL(frontend_found("tflite")); +#endif +#ifdef ENABLE_PYTORCH_FRONTEND + OV_SUCCESS(frontend_found("pytorch")); +#else + OV_FAIL(frontend_found("pytorch")); +#endif +#ifdef ENABLE_ONNX_FRONTEND + OV_SUCCESS(frontend_found("onnx")); +#else + OV_FAIL(frontend_found("onnx")); +#endif +#ifdef ENABLE_TF_FRONTEND + OV_SUCCESS(frontend_found("tf")); +#else + OV_FAIL(frontend_found("tf")); +#endif +#ifdef ENABLE_PADDLE_FRONTEND + OV_SUCCESS(frontend_found("paddle")); +#else + OV_FAIL(frontend_found("paddle")); +#endif + return 0; +} + +int main() { + OV_SUCCESS(test_available_devices()); + OV_SUCCESS(test_available_frontends()); + + // Deinitialize OpenVINO. Important for old systems like Ubuntu 16.04 with obsolete glibc, + // where application deinit can lead to the following issue on exit: + // Inconsistency detected by ld.so: dl-close.c: 811: _dl_close: Assertion `map->l_init_called' failed! + ov::shutdown(); + + return 0; +} diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml new file mode 100644 index 0000000000000..ab4b77f972946 --- /dev/null +++ b/recipes/openvino/config.yml @@ -0,0 +1,3 @@ +versions: + "2023.1.0": + folder: "all" From 76f9b5b5d04fe3423ce9cf9c5054421e5f88a4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 26 Sep 2023 19:55:18 +0200 Subject: [PATCH 1742/4087] (#20143) Bump qdbm's zlib requirement to [>=1.2.11 <2] range --- recipes/qdbm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qdbm/all/conanfile.py b/recipes/qdbm/all/conanfile.py index 4341f35ed3bb7..583704293b76f 100644 --- a/recipes/qdbm/all/conanfile.py +++ b/recipes/qdbm/all/conanfile.py @@ -53,7 +53,7 @@ def requirements(self): if self.options.with_iconv: self.requires("libiconv/1.17") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 46d8497561ec465385316e3ed805379a35874a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 26 Sep 2023 20:14:30 +0200 Subject: [PATCH 1743/4087] (#20138) Bump qpdf's zlib requirement to [>=1.2.11 <2] range --- recipes/qpdf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qpdf/all/conanfile.py b/recipes/qpdf/all/conanfile.py index d5b0654a5d179..2ec6c272a6287 100644 --- a/recipes/qpdf/all/conanfile.py +++ b/recipes/qpdf/all/conanfile.py @@ -62,7 +62,7 @@ def layout(self): def requirements(self): # https://qpdf.readthedocs.io/en/stable/installation.html#basic-dependencies - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") if self.options.with_jpeg == "libjpeg": From 1d42534a413c6f4f30489e43e91bf9f1768d7fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 07:13:54 +0200 Subject: [PATCH 1744/4087] (#20128) Bump opencv's zlib requirement to [>=1.2.11 <2] range * Bump opencv's zlib requirement to [>=1.2.11 <2] range * Merge both PRs into one --- recipes/opencv/3.x/conanfile.py | 2 +- recipes/opencv/4.x/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opencv/3.x/conanfile.py b/recipes/opencv/3.x/conanfile.py index 40d745d3074f7..0abc75587237c 100644 --- a/recipes/opencv/3.x/conanfile.py +++ b/recipes/opencv/3.x/conanfile.py @@ -76,7 +76,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 96c7055a75aa0..12bcded86e10e 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1008,7 +1008,7 @@ def layout(self): def requirements(self): # core module dependencies - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.parallel == "tbb": From 7d8982fc472aba56be99ac0f27948d90fed43168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 09:25:00 +0200 Subject: [PATCH 1745/4087] (#20124) Bump libharu's zlib requirement to [>=1.2.11 <2] range --- recipes/libharu/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libharu/all/conanfile.py b/recipes/libharu/all/conanfile.py index 73045d8d62bce..c35f205e346da 100644 --- a/recipes/libharu/all/conanfile.py +++ b/recipes/libharu/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") self.requires("libpng/1.6.40") def source(self): From a20023de45f8fedddd9b31a7f23895eeae20794c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 09:58:59 +0200 Subject: [PATCH 1746/4087] (#20146) Bump gdcm's zlib requirement to [>=1.2.11 <2] range --- recipes/gdcm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index bccb6132bf567..1990e92be0217 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): if self.options.with_zlibng: self.requires("zlib-ng/2.0.7") else: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": self.requires("util-linux-libuuid/2.39") if Version(self.version) >= Version("3.0.20"): From 3b37eee82ca783507cbe510c704599f870278d5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 10:16:05 +0200 Subject: [PATCH 1747/4087] (#20135) Bump libxlsxwriter's zlib requirement to [>=1.2.11 <2] range * Bump libxlsxwriter's zlib requirement to [>=1.2.11 <2] range * Add openssl range too --- recipes/libxlsxwriter/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/libxlsxwriter/all/conanfile.py b/recipes/libxlsxwriter/all/conanfile.py index 0d8e6136fd0e5..1c65ddbb9e247 100644 --- a/recipes/libxlsxwriter/all/conanfile.py +++ b/recipes/libxlsxwriter/all/conanfile.py @@ -17,6 +17,7 @@ class LibxlsxwriterConan(ConanFile): topics = ("excel", "xlsx") description = "A C library for creating Excel XLSX files" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -55,9 +56,9 @@ def layout(self): def requirements(self): self.requires("minizip/1.2.13") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.md5 == "openssl": - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def validate(self): if Version(self.version) < "1.0.6" and self.info.options.md5 == "openssl": From 0a39b4ec457b6e55d975295cda4ca4770c6da91b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 27 Sep 2023 10:31:55 +0200 Subject: [PATCH 1748/4087] (#19856) zint: add package_type + fix test package for conan v2 + use version range for zlib * add package_type & modernize more * fix test package for conan v2 * bump libpng & qt * use version range for zlib --- recipes/zint/all/conanfile.py | 30 +++++++------------ recipes/zint/all/test_package/CMakeLists.txt | 12 +++++--- recipes/zint/all/test_package/conanfile.py | 9 ++---- .../zint/all/test_v1_package/CMakeLists.txt | 18 +++-------- recipes/zint/all/test_v1_package/conanfile.py | 7 +---- 5 files changed, 26 insertions(+), 50 deletions(-) diff --git a/recipes/zint/all/conanfile.py b/recipes/zint/all/conanfile.py index 61596c6c982a7..f9c54ff2b86cf 100644 --- a/recipes/zint/all/conanfile.py +++ b/recipes/zint/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class ZintConan(ConanFile): @@ -15,7 +15,7 @@ class ZintConan(ConanFile): homepage = "https://sourceforge.net/p/zint/code" license = "GPL-3.0" topics = ("barcode", "qt") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,37 +39,27 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") if not self.options.with_qt: - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + 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 self.options.with_libpng: - self.requires("libpng/1.6.38") - self.requires("zlib/1.2.13") + self.requires("libpng/1.6.40") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_qt: - self.requires("qt/5.15.6") + self.requires("qt/5.15.10") def validate(self): - if self.info.options.with_qt and not self.dependencies["qt"].options.gui: + if self.options.with_qt and not self.dependencies["qt"].options.gui: raise ConanInvalidConfiguration(f"{self.ref} needs qt:gui=True") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/zint/all/test_package/CMakeLists.txt b/recipes/zint/all/test_package/CMakeLists.txt index 14bd143a5e4a6..d4ac6daa22c07 100644 --- a/recipes/zint/all/test_package/CMakeLists.txt +++ b/recipes/zint/all/test_package/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) +enable_testing() + option(ZINT_WITH_QT "Zint has been built with Qt support") if(ZINT_WITH_QT) enable_language(CXX) @@ -8,10 +10,12 @@ endif() find_package(Zint REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE Zint::Zint) +add_executable(test_package test_package.c) +target_link_libraries(test_package PRIVATE Zint::Zint) +add_test(NAME test_package COMMAND test_package) if(ZINT_WITH_QT) - add_executable(${PROJECT_NAME}_cpp test_package.cpp) - target_link_libraries(${PROJECT_NAME}_cpp PRIVATE Zint::QZint) + add_executable(test_package_cpp test_package.cpp) + target_link_libraries(test_package_cpp PRIVATE Zint::QZint) + add_test(NAME test_package_cpp COMMAND test_package_cpp) endif() diff --git a/recipes/zint/all/test_package/conanfile.py b/recipes/zint/all/test_package/conanfile.py index 1617e37109bc2..9523fb1ef2b63 100644 --- a/recipes/zint/all/test_package/conanfile.py +++ b/recipes/zint/all/test_package/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -import os +from conan.tools.files import chdir class TestPackageConan(ConanFile): @@ -27,8 +27,5 @@ def build(self): 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") - if self.options["zint"].with_qt: - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package_cpp") - self.run(bin_path, env="conanrun") + with chdir(self, self.build_folder): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", env="conanrun") diff --git a/recipes/zint/all/test_v1_package/CMakeLists.txt b/recipes/zint/all/test_v1_package/CMakeLists.txt index d155f1e77d4aa..c23ed5cfe6d98 100644 --- a/recipes/zint/all/test_v1_package/CMakeLists.txt +++ b/recipes/zint/all/test_v1_package/CMakeLists.txt @@ -1,20 +1,10 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +project(test_v1_package) -option(ZINT_WITH_QT "Zint has been built with Qt support") -if(ZINT_WITH_QT) - enable_language(CXX) -endif() +enable_testing() include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(Zint REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE Zint::Zint) - -if(ZINT_WITH_QT) - add_executable(${PROJECT_NAME}_cpp ../test_package/test_package.cpp) - target_link_libraries(${PROJECT_NAME}_cpp PRIVATE Zint::QZint) -endif() +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zint/all/test_v1_package/conanfile.py b/recipes/zint/all/test_v1_package/conanfile.py index 1ce37b6a52e77..723b5e4a6fa80 100644 --- a/recipes/zint/all/test_v1_package/conanfile.py +++ b/recipes/zint/all/test_v1_package/conanfile.py @@ -1,5 +1,4 @@ from conans import ConanFile, CMake, tools -import os class TestPackageConan(ConanFile): @@ -14,8 +13,4 @@ def build(self): 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 self.options["zint"].with_qt: - bin_path = os.path.join("bin", "test_package_cpp") - self.run(bin_path, run_environment=True) + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) From 7aa6570a2cf0a5c810a9912aff5b2261e499e8c2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 27 Sep 2023 11:28:56 +0200 Subject: [PATCH 1749/4087] (#20106) [docs] Add changelog September, 25 2023 Signed-off-by: Uilian Ries --- docs/changelog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 1511b584ab7db..167e8aafcbc3e 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,13 @@ # Changelog +### 25-Sep-2023 - 14:33 CEST + +- [feature] Label PRs that have missing dependencies. +- [feature] Remove check regression for Conan v2 pipeline. +- [feature] Start deprecating epochs support in profile configurations. +- [fix] Run TapaholesRepo job only once per week. +- [fix] Run ListPackages job only once per week. + ### 01-Sep-2023 - 19:58 CEST - [fix] Use Unix separators for Windows folder path when creating CI workspace. From 1b666b90ee5a21c8de5a7fa73f20faaac42f335a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 11:34:20 +0200 Subject: [PATCH 1750/4087] (#20125) Bump libbigwig's zlib requirement to [>=1.2.11 <2] range --- recipes/libbigwig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index cf0ba30f73906..abb1b4a35b398 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -49,7 +49,7 @@ def requirements(self): if self.options.with_zlibng: self.requires("zlib-ng/2.1.3") else: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.info.settings.os == "Windows": From ff52c1bba6584447efb5be766a89630266899b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 12:38:01 +0200 Subject: [PATCH 1751/4087] (#20111) Bump exiv2's zlib requirement to [>=1.2.11 <2] range --- recipes/exiv2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index b5c3445fd34da..19688c15f33b3 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -76,7 +76,7 @@ def requirements(self): self.requires("libiconv/1.17") if self.options.with_png: self.requires("libpng/1.6.40") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_xmp == "bundled": self.requires("expat/2.5.0") if self.options.with_curl: From a42b17de66f98abc525b381972c52b96fb9a183f Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Wed, 27 Sep 2023 04:35:42 -0700 Subject: [PATCH 1752/4087] (#19965) openssl: add 3.1.3 & 3.0.11 --- recipes/openssl/3.x.x/conandata.yml | 10 ++++++++++ recipes/openssl/config.yml | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index f1fe5a2743364..ba41f8413304e 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,4 +1,9 @@ sources: + 3.1.3: + url: + - "https://www.openssl.org/source/openssl-3.1.3.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.1.3/openssl-3.1.3.tar.gz" + sha256: f0316a2ebd89e7f2352976445458689f80302093788c466692fb2a188b2eacf6 3.1.2: url: - "https://www.openssl.org/source/openssl-3.1.2.tar.gz" @@ -14,6 +19,11 @@ sources: - "https://www.openssl.org/source/openssl-3.1.0.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.1.0/openssl-3.1.0.tar.gz" sha256: aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4 + 3.0.11: + url: + - "https://www.openssl.org/source/openssl-3.0.11.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.0.11/openssl-3.0.11.tar.gz" + sha256: b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 3.0.10: url: - "https://www.openssl.org/source/openssl-3.0.10.tar.gz" diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index 67834781567eb..74041e09b8d67 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,5 +1,7 @@ versions: # 3.1.x releases + 3.1.3: + folder: "3.x.x" 3.1.2: folder: "3.x.x" 3.1.1: @@ -7,13 +9,14 @@ versions: 3.1.0: folder: "3.x.x" # 3.0.x releases + 3.0.11: + folder: "3.x.x" 3.0.10: folder: "3.x.x" 3.0.9: folder: "3.x.x" 3.0.8: folder: "3.x.x" - # 1.1.1x releases 1.1.1w: folder: "1.x.x" From 387f45df3598d2d3b66761d989e284ccacac46ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 14:01:54 +0200 Subject: [PATCH 1753/4087] (#20137) Bump binutils's zlib requirement to [>=1.2.11 <2] range --- recipes/binutils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/binutils/all/conanfile.py b/recipes/binutils/all/conanfile.py index c5bddfc4331b0..1e04fbc03a87b 100644 --- a/recipes/binutils/all/conanfile.py +++ b/recipes/binutils/all/conanfile.py @@ -138,7 +138,7 @@ def build_requirements(self): self.tool_requires("flex/2.6.4") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From a00ad6c020e80824d59a1e0cceb2e000c985bcc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 14:18:29 +0200 Subject: [PATCH 1754/4087] Bump libzip's zlib requirement to [>=1.2.11 <2] range (#20136) --- recipes/libzip/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index ef5f90cd053cb..a9d0b3b828fe8 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -62,7 +62,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_bzip2: self.requires("bzip2/1.0.8") From 46cd764d637889a73eeec11b53835099b1f11bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 15:20:16 +0200 Subject: [PATCH 1755/4087] (#20140) Bump matio's zlib requirement to [>=1.2.11 <2] range --- recipes/matio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/matio/all/conanfile.py b/recipes/matio/all/conanfile.py index 127218a42d277..199bb98823415 100644 --- a/recipes/matio/all/conanfile.py +++ b/recipes/matio/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): if self.options.with_hdf5: self.requires("hdf5/1.14.1") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if not self.options.with_hdf5 and self.options.mat73: From 174d314cb1e21e713c80a3b3e3c7c8d534ac0fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 15:46:45 +0200 Subject: [PATCH 1756/4087] Bump mold's zlib requirement to [>=1.2.11 <2] range (#20132) --- recipes/mold/1.3.1/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mold/1.3.1/conanfile.py b/recipes/mold/1.3.1/conanfile.py index 132186858b019..628628b349c7b 100644 --- a/recipes/mold/1.3.1/conanfile.py +++ b/recipes/mold/1.3.1/conanfile.py @@ -66,7 +66,7 @@ def _patch_sources(self): self.deps_cpp_info["mimalloc"].lib_paths[0])) def requirements(self): - self.requires("zlib/1.2.12") + self.requires("zlib/[>=1.2.11 <2]") self.requires("openssl/1.1.1q") self.requires("xxhash/0.8.1") self.requires("onetbb/2021.3.0") From 24e52e90d904d7fc4eec7e4633b68694c5fcde47 Mon Sep 17 00:00:00 2001 From: tankeco Date: Wed, 27 Sep 2023 22:49:03 +0800 Subject: [PATCH 1757/4087] =?UTF-8?q?(#19470)=20mimalloc:=20relax=20cppstd?= =?UTF-8?q?=20requirements=20because=20we=20don=E2=80=99t=20compile=20test?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mimalloc: relax cppstd requirements because we don’t compile tests * remove cpp version check totally * remove unused import --- recipes/mimalloc/all/conanfile.py | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/recipes/mimalloc/all/conanfile.py b/recipes/mimalloc/all/conanfile.py index af2bccdab3572..eaa8e6193ea4e 100644 --- a/recipes/mimalloc/all/conanfile.py +++ b/recipes/mimalloc/all/conanfile.py @@ -1,6 +1,5 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file, save, collect_libs from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, VCVars @@ -38,20 +37,6 @@ class MimallocConan(ConanFile): "single_object": False, } - @property - def _min_cppstd(self): - return 17 - - @property - def _compilers_minimum_version(self): - return { - "gcc": "7", - "Visual Studio": "15", - "msvc": "191", - "clang": "5", - "apple-clang": "10", - } - def export_sources(self): export_conandata_patches(self) @@ -109,14 +94,6 @@ def validate(self): self.options.get_safe("inject"): raise ConanInvalidConfiguration("Single object is incompatible with library injection") - 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) From 38fae335c04f0a8fe10d52e58412e96f0ef02854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 19:46:47 +0200 Subject: [PATCH 1758/4087] (#19787) Bump libzippp's zlib requirement to [>=1.2.11 <2] range --- recipes/libzippp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libzippp/all/conanfile.py b/recipes/libzippp/all/conanfile.py index 9699cb890e5fc..b6ec87350a23e 100644 --- a/recipes/libzippp/all/conanfile.py +++ b/recipes/libzippp/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if Version(self.version) == "4.0": self.requires("libzip/1.7.3") else: From dd8ffaf414ea5eacd5dd4bd3913f6ad6784cd585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 20:06:05 +0200 Subject: [PATCH 1759/4087] (#20139) Bump cassandra-cpp-driver's zlib requirement to [>=1.2.11 <2] range * Bump cassandra-cpp-driver's zlib requirement to [>=1.2.11 <2] range * Fix rpath for mac Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/cassandra-cpp-driver/all/conanfile.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/cassandra-cpp-driver/all/conanfile.py b/recipes/cassandra-cpp-driver/all/conanfile.py index 57fdb66f78e3f..91a6e9ffd905a 100644 --- a/recipes/cassandra-cpp-driver/all/conanfile.py +++ b/recipes/cassandra-cpp-driver/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, rm from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.build import check_min_cppstd +from conan.tools.apple import fix_apple_shared_install_name import os required_conan_version = ">=1.53.0" @@ -66,7 +67,7 @@ def requirements(self): if self.options.with_zlib: self.requires("minizip/1.2.13") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.use_atomic == "boost": self.requires("boost/1.82.0") @@ -146,6 +147,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() + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["cassandra" if self.options.shared else "cassandra_static"] @@ -155,3 +157,6 @@ def package_info(self): "crypt32", "ws2_32", "userenv", "version"]) if not self.options.shared: self.cpp_info.defines = ["CASS_STATIC"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m"] + From acf04aabf8397374b206b60010670bc40b109b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 27 Sep 2023 20:46:27 +0200 Subject: [PATCH 1760/4087] (#20130) Bump mariadb-connector-c's zlib requirement to [>=1.2.11 <2] range * Bump mariadb-connector-c's zlib requirement to [>=1.2.11 <2] range * Bump libcurl --- recipes/mariadb-connector-c/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 13b1525cfce34..2a47e8904ad34 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -54,11 +54,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_iconv"): self.requires("libiconv/1.17") if self.options.with_curl: - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.1.2") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") From d139df6002f3fd68f4a55fe9a1920b9d724e7eac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 01:10:52 +0200 Subject: [PATCH 1761/4087] (#20133) Bump sentry-crashpad's zlib requirement to [>=1.2.11 <2] range --- recipes/sentry-crashpad/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-crashpad/all/conanfile.py b/recipes/sentry-crashpad/all/conanfile.py index af63a7ade4f9d..4217d488f0b1c 100644 --- a/recipes/sentry-crashpad/all/conanfile.py +++ b/recipes/sentry-crashpad/all/conanfile.py @@ -60,7 +60,7 @@ def build_requirements(self): self.tool_requires("jwasm/2.13") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.settings.os in ("Linux", "FreeBSD"): self.requires("libcurl/8.2.0") if self.options.get_safe("with_tls"): From 97559d32110e28aabc6aecf4bf29d556ab7c93c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 09:07:22 +0200 Subject: [PATCH 1762/4087] (#20110) Bump openssl's zlib requirement to [>=1.2.11 <2] range --- recipes/openssl/1.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openssl/1.x.x/conanfile.py b/recipes/openssl/1.x.x/conanfile.py index c6f1558ac1cf1..6a4aa390c92eb 100644 --- a/recipes/openssl/1.x.x/conanfile.py +++ b/recipes/openssl/1.x.x/conanfile.py @@ -228,7 +228,7 @@ def layout(self): def requirements(self): if self._full_version < "1.1.0" and not self.options.get_safe("no_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os == "Emscripten": From 6c6472e4a3e81d74c3aef7e2218fb7d40e1fb397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 09:38:55 +0200 Subject: [PATCH 1763/4087] (#20112) Bump libssh2's zlib requirement to [>=1.2.11 <2] range --- recipes/libssh2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libssh2/all/conanfile.py b/recipes/libssh2/all/conanfile.py index eb8b1cad9c233..6da888df38a6f 100644 --- a/recipes/libssh2/all/conanfile.py +++ b/recipes/libssh2/all/conanfile.py @@ -80,7 +80,7 @@ def configure(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.crypto_backend == "openssl": self.requires("openssl/[>=1.1 <4]") elif self.options.crypto_backend == "mbedtls": From 4d1a53b91ee01681a72cdab0ca259da9ef735783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 10:28:19 +0200 Subject: [PATCH 1764/4087] (#20116) Bump mongo-c-driver's zlib requirement to [>=1.2.11 <2] range --- 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 c67766ae04dd2..75cc9a3fd0fcd 100644 --- a/recipes/mongo-c-driver/all/conanfile.py +++ b/recipes/mongo-c-driver/all/conanfile.py @@ -74,7 +74,7 @@ def requirements(self): if self.options.with_snappy: self.requires("snappy/1.1.10") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_icu: From fa4fea20a048710c4163bb5f7930265c94c80f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 11:13:27 +0200 Subject: [PATCH 1765/4087] (#20117) Bump minizip-ng's zlib requirement to [>=1.2.11 <2] range --- recipes/minizip-ng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 9dec1a6119509..73516f1e0155c 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -81,7 +81,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: From dd0509fb512939e3d47bcf0ec3a61a2bd46a96a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 12:21:11 +0200 Subject: [PATCH 1766/4087] (#20122) Bump libwebsockets's zlib requirement to [>=1.2.11 <2] range * Bump libwebsockets's zlib requirement to [>=1.2.11 <2] range * Add package_type --- recipes/libwebsockets/all/conanfile.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index 12c738824025c..fbda27117b43e 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -16,8 +16,9 @@ class LibwebsocketsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/warmcat/libwebsockets" license = "MIT" - topics = ("libwebsockets", "websocket") + topics = ("websocket") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -212,7 +213,7 @@ def requirements(self): self.requires("libev/4.33") if self.options.with_zlib == "zlib": - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") elif self.options.with_zlib == "miniz": self.requires("miniz/2.2.0") @@ -270,7 +271,7 @@ def _cmakify_path_list(self, paths): def _find_library(self, libname, dep): prefix = "lib" if self.settings.os != "Windows" else "" - for path in self.dependencies[dep].cpp_info.libdirs: + for path in self.dependencies[dep].cpp_info.libdirs: lib_fullpath = os.path.join(path, prefix + libname + self._get_library_extension(dep)) self.output.info("Dependency library full path : " + str(lib_fullpath)) if os.path.isfile(lib_fullpath): @@ -426,13 +427,13 @@ def generate(self): def _patch_sources(self): cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, + replace_in_file(self, cmakelists, "SET(CMAKE_INSTALL_NAME_DIR \"${CMAKE_INSTALL_PREFIX}/${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}\")", "", ) if Version(self.version) == "4.0.15" and self.options.with_ssl: - replace_in_file(self, + replace_in_file(self, cmakelists, "list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib)", "list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib crypt32.lib)" From ce24a0767b804ba490f7542a7f0c150e1e435f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 12:51:18 +0200 Subject: [PATCH 1767/4087] (#20131) Bump h5pp's zlib requirement to [>=1.2.11 <2] range --- recipes/h5pp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/h5pp/all/conanfile.py b/recipes/h5pp/all/conanfile.py index 572f56191b252..9c9caa28d810e 100644 --- a/recipes/h5pp/all/conanfile.py +++ b/recipes/h5pp/all/conanfile.py @@ -70,7 +70,7 @@ def requirements(self): if Version(self.version) < "1.10.0" or self.options.get_safe('with_spdlog'): self.requires("spdlog/1.11.0", transitive_headers=True, transitive_libs=True) if Version(self.version) >= "1.10.0" and self.options.with_zlib: - self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) def layout(self): basic_layout(self,src_folder="src") From 7677532035a6e8e9f4a608cf2f7d0369ec865e6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 13:15:18 +0200 Subject: [PATCH 1768/4087] (#20142) Bump libmediainfo's zlib requirement to [>=1.2.11 <2] range * Bump libmediainfo's zlib requirement to [>=1.2.11 <2] range * bump libcurl --- recipes/libmediainfo/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmediainfo/all/conanfile.py b/recipes/libmediainfo/all/conanfile.py index 88fc1cba47064..d68e2deed8e87 100644 --- a/recipes/libmediainfo/all/conanfile.py +++ b/recipes/libmediainfo/all/conanfile.py @@ -49,10 +49,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.1.2") self.requires("libzen/0.4.38", transitive_headers=True, transitive_libs=True) self.requires("tinyxml2/9.0.0") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if not self.dependencies["libzen"].options.enable_unicode: From 3d640e524537bdb9c962fa494014613b5b673b72 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 28 Sep 2023 13:34:04 +0200 Subject: [PATCH 1769/4087] (#19662) boost: use version range zlib + bump icu & b2 * use version range for zlib * bump icu * bump b2 * fix version range zlib * bump xz_utils --- recipes/boost/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index d24854dcb4b47..5bab9c6c7ebdd 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -531,18 +531,18 @@ def _with_stacktrace_backtrace(self): def requirements(self): if self._with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self._with_bzip2: self.requires("bzip2/1.0.8") if self._with_lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self._with_zstd: self.requires("zstd/1.5.5") if self._with_stacktrace_backtrace: self.requires("libbacktrace/cci.20210118", transitive_headers=True, transitive_libs=True) if self._with_icu: - self.requires("icu/72.1") + self.requires("icu/73.2") if self._with_iconv: self.requires("libiconv/1.17") @@ -561,7 +561,7 @@ def package_id(self): def build_requirements(self): if not self.options.header_only: - self.tool_requires("b2/4.9.6") + self.tool_requires("b2/4.10.1") def source(self): get(self, **self.conan_data["sources"][self.version], From 2ef14738a0c42c0a0c69b133f052d4ae561ed3e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 15:34:20 +0200 Subject: [PATCH 1770/4087] (#19873) libmysqlcient: Disable doxxygen generation * Disable doxxygen generation * Better way to disable * Cmake way to disable find * Add zlib range --- recipes/libmysqlclient/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 80776aaf0f037..8d96f1dd52828 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): self.requires("openssl/1.1.1u") else: self.requires("openssl/[>=1.1 <4]") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") self.requires("zstd/1.5.5") self.requires("lz4/1.9.4") if self.settings.os == "FreeBSD": @@ -229,6 +229,9 @@ def generate(self): tc.cache_variables["WITH_SSL"] = self.dependencies["openssl"].package_folder.replace("\\", "/") tc.cache_variables["WITH_ZLIB"] = "system" + + # Remove to ensure reproducible build, this only affects docs generation + tc.cache_variables["CMAKE_DISABLE_FIND_PACKAGE_Doxygen"] = True tc.generate() deps = CMakeDeps(self) From 2eaf5724ef39e1ffd9faef0b0eb687ec5606a099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 16:11:59 +0200 Subject: [PATCH 1771/4087] (#20126) Bump leptonica's zlib requirement to [>=1.2.11 <2] range --- recipes/leptonica/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index d072baae99b61..2603c7965bfb4 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_gif: self.requires("giflib/5.2.1") if self.options.with_jpeg == "libjpeg": From 77629be56f445507efd9405fd07e1dd13047d918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 16:48:48 +0200 Subject: [PATCH 1772/4087] (#20109) Bump assimp's zlib requirement to [>=1.2.11 <2] range --- recipes/assimp/5.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/assimp/5.x/conanfile.py b/recipes/assimp/5.x/conanfile.py index e821ffefdeea3..375b192d92523 100644 --- a/recipes/assimp/5.x/conanfile.py +++ b/recipes/assimp/5.x/conanfile.py @@ -179,7 +179,7 @@ def requirements(self): if self._depends_on_rapidjson: self.requires("rapidjson/cci.20220822") if self._depends_on_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self._depends_on_draco: self.requires("draco/1.5.6") if self._depends_on_clipper: From c318f0a3e0903376dc6fd09e0fc93d4590d5dbcd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 28 Sep 2023 17:19:13 +0200 Subject: [PATCH 1773/4087] (#19899) tcl: relocatable shared libs on macos + use version range for zlib * relocatable shared lib on macOS * cleanup topics * use version range for zlib * less verbose package_info() * ensure to link to zlib from conan instead of system * sipplify package_info() --- recipes/tcl/all/conanfile.py | 79 ++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 36 deletions(-) diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index af981d1a0dba9..1722816dbfb14 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -1,12 +1,15 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, chdir, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir -from conan.tools.gnu import Autotools, AutotoolsToolchain -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, NMakeToolchain +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, NMakeToolchain, NMakeDeps +from conan.tools.scm import Version import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=1.55.0" class TclConan(ConanFile): @@ -15,7 +18,7 @@ class TclConan(ConanFile): license = "TCL" url = "https://github.com/conan-io/conan-center-index" homepage = "https://tcl.tk" - topics = ("tcl", "scripting", "programming") + topics = ("scripting", "programming") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -69,7 +72,16 @@ def generate(self): if is_msvc(self): tc = NMakeToolchain(self) tc.generate() + + deps = NMakeDeps(self) + deps.generate() else: + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self, prefix=self.package_folder) def yes_no(v): return "yes" if v else "no" tc.configure_args.extend([ @@ -79,6 +91,9 @@ def yes_no(v): return "yes" if v else "no" ]) tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + def _get_default_build_system_subdir(self): return { "Macos": "macosx", @@ -198,54 +213,46 @@ def package(self): "\nTCL_SRC_DIR", "\n#TCL_SRC_DIR") - #fix_apple_shared_install_name(self) + fix_apple_shared_install_name(self) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "TCL") + libs = [] - systemlibs = [] libdirs = [] for root, _, _ in os.walk(os.path.join(self.package_folder, "lib"), topdown=False): newlibs = collect_libs(self, root) if newlibs: libs.extend(newlibs) libdirs.append(root) + self.cpp_info.libs = libs + self.cpp_info.libdirs = libdirs + if self.settings.os == "Windows": - systemlibs.extend(["ws2_32", "netapi32", "userenv"]) + self.cpp_info.system_libs.extend(["ws2_32", "netapi32", "userenv"]) elif self.settings.os in ("FreeBSD", "Linux"): - systemlibs.extend(["dl", "m", "pthread"]) - - defines = [] - if not self.options.shared: - defines.append("STATIC_BUILD") - self.cpp_info.defines = defines - - self.cpp_info.libdirs = libdirs - self.cpp_info.libs = libs - self.cpp_info.system_libs = systemlibs - self.cpp_info.set_property("cmake_file_name", "TCL") - self.cpp_info.names["cmake_find_package"] = "TCL" - self.cpp_info.names["cmake_find_package_multi"] = "TCL" + self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) + elif is_apple_os(self): + self.cpp_info.frameworks.append("CoreFoundation") - if self.settings.os == "Macos": - self.cpp_info.frameworks = ["CoreFoundation"] - self.cpp_info.sharedlinkflags = self.cpp_info.exelinkflags + if is_msvc(self) and not self.options.shared: + self.cpp_info.defines.append("STATIC_BUILD") - tcl_library = os.path.join(self.package_folder, "lib", "{}{}".format(self.name, ".".join(self.version.split(".")[:2]))) - self.output.info("Setting TCL_LIBRARY environment variable to {}".format(tcl_library)) - self.runenv_info.define_path('TCL_LIBRARY', tcl_library) - self.env_info.TCL_LIBRARY = tcl_library + tcl_version = Version(self.version) + tcl_library = os.path.join(self.package_folder, "lib", f"tcl{tcl_version.major}.{tcl_version.minor}") + self.runenv_info.define_path("TCL_LIBRARY", tcl_library) tcl_root = self.package_folder - self.output.info("Setting TCL_ROOT environment variable to {}".format(tcl_root)) - self.runenv_info.define_path('TCL_ROOT', tcl_root) - self.env_info.TCL_ROOT = tcl_root + self.runenv_info.define_path("TCL_ROOT", tcl_root) tclsh_list = list(filter(lambda fn: fn.startswith("tclsh"), os.listdir(os.path.join(self.package_folder, "bin")))) tclsh = os.path.join(self.package_folder, "bin", tclsh_list[0]) - self.output.info("Setting TCLSH environment variable to {}".format(tclsh)) - self.runenv_info.define_path('TCLSH', tclsh) - self.env_info.TCLSH = tclsh + self.runenv_info.define_path("TCLSH", tclsh) - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Adding PATH environment variable: {}".format(bindir)) - self.env_info.PATH.append(bindir) + # TODO: to remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "TCL" + self.cpp_info.names["cmake_find_package_multi"] = "TCL" + self.env_info.TCL_LIBRARY = tcl_library + self.env_info.TCL_ROOT = tcl_root + self.env_info.TCLSH = tclsh + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From c23909001379ddbeec321896d7f9237bf5b4bc55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 17:47:20 +0200 Subject: [PATCH 1774/4087] (#20129) Bump capnproto's zlib requirement to [>=1.2.11 <2] range --- recipes/capnproto/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index 72462e3198e71..5c1f1850cd6c9 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -79,7 +79,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 1eeea64751628b5b738bee480a6f727118cc475f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 28 Sep 2023 18:49:42 +0300 Subject: [PATCH 1775/4087] (#19620) mbedtls: add v3.4.1, v.2.28.4, simplify recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mbedtls: add v3.4.1, v.2.28.4, simplify recipe * mbedtls: add v2.16.12 * mbedtls: fix error in conandata.yml * mbedtls: remove exported .cmake file * Add zlib range --------- Co-authored-by: Rubén Rincón Blanco --- recipes/mbedtls/all/CMakeLists.txt | 16 --------------- recipes/mbedtls/all/conandata.yml | 19 +++++++++++++----- recipes/mbedtls/all/conanfile.py | 20 ++++++++++++++----- .../mbedtls/all/test_package/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 2 +- recipes/mbedtls/config.yml | 6 ++++++ 6 files changed, 37 insertions(+), 28 deletions(-) delete mode 100644 recipes/mbedtls/all/CMakeLists.txt diff --git a/recipes/mbedtls/all/CMakeLists.txt b/recipes/mbedtls/all/CMakeLists.txt deleted file mode 100644 index 3d32ee21cb1d7..0000000000000 --- a/recipes/mbedtls/all/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -if(MSVC) - if(MSVC_VERSION LESS 1900) - add_definitions(-DMBEDTLS_PLATFORM_SNPRINTF_MACRO=MBEDTLS_PLATFORM_STD_SNPRINTF) - else() - add_definitions(-DMBEDTLS_PLATFORM_SNPRINTF_MACRO=snprintf) - endif() - if(BUILD_SHARED_LIBS) - add_definitions(-DX509_BUILD_SHARED) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - endif() -endif() - -add_subdirectory(src) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index 2e2a89aefe311..f923ca0c489a5 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,19 +1,28 @@ sources: + "3.4.1": + url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.4.1.tar.gz" + sha256: "a420fcf7103e54e775c383e3751729b8fb2dcd087f6165befd13f28315f754f5" "3.2.1": - url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-3.2.1.tar.gz" + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.2.1.tar.gz" sha256: "5850089672560eeaca03dc36678ee8573bb48ef6e38c94f5ce349af60c16da33" "3.1.0": - url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-3.1.0.tar.gz" + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.1.0.tar.gz" sha256: "64d01a3b22b91cf3a25630257f268f11bc7bfa37981ae6d397802dd4ccec4690" "3.0.0": - url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-3.0.0.tar.gz" + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.0.0.tar.gz" sha256: "377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0" + "2.28.4": + url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.4.tar.gz" + sha256: "578c4dcd15bbff3f5cd56aa07cd4f850fc733634e3d5947be4f7157d5bfd81ac" "2.25.0": url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.25.0.tar.gz" sha256: "ea2049c2dd4868693998d5a9780e198194be5aea1706ff4a9d4f882f18c0a101" "2.24.0": - url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.24.0.tar.gz" + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-2.24.0.tar.gz" sha256: "b5a779b5f36d5fc4cba55faa410685f89128702423ad07b36c5665441a06a5f3" "2.23.0": - url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.23.0.tar.gz" + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-2.23.0.tar.gz" sha256: "5c8998217402aa1fc734f4afaeac38fad2421470fac4b3abc112bd46391054fe" + "2.16.12": + url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/mbedtls-2.16.12.tar.gz" + sha256: "0afb4a4ce5b771f2fb86daee786362fbe48285f05b73cd205f46a224ec031783" diff --git a/recipes/mbedtls/all/conanfile.py b/recipes/mbedtls/all/conanfile.py index 84a6a1f32ace2..b5af5483b03f4 100644 --- a/recipes/mbedtls/all/conanfile.py +++ b/recipes/mbedtls/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import copy, get, rmdir +from conan.tools.microsoft import is_msvc, check_min_vs from conan.tools.scm import Version import os @@ -32,8 +33,6 @@ class MBedTLSConan(ConanFile): "with_zlib": True, } - exports_sources = "CMakeLists.txt" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -52,7 +51,7 @@ def layout(self): def requirements(self): if self.options.get_safe("with_zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.settings.os == "Windows" and self.options.shared: @@ -65,10 +64,13 @@ def validate(self): ) def source(self): - 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) + if self.options.shared: + tc.preprocessor_definitions["X509_BUILD_SHARED"] = "1" + tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.variables["USE_SHARED_MBEDTLS_LIBRARY"] = self.options.shared tc.variables["USE_STATIC_MBEDTLS_LIBRARY"] = not self.options.shared if Version(self.version) < "3.0.0": @@ -79,6 +81,13 @@ def generate(self): if Version(self.version) < "3.0.0": # relocatable shared libs on macOS tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + if is_msvc(self): + if check_min_vs(self, 190, raise_invalid=False): + tc.preprocessor_definitions["MBEDTLS_PLATFORM_SNPRINTF_MACRO"] = "snprintf" + else: + tc.preprocessor_definitions["MBEDTLS_PLATFORM_SNPRINTF_MACRO"] = "MBEDTLS_PLATFORM_STD_SNPRINTF" + tc.generate() + tc = CMakeDeps(self) tc.generate() def build(self): @@ -90,6 +99,7 @@ def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "cmake")) def package_info(self): diff --git a/recipes/mbedtls/all/test_package/CMakeLists.txt b/recipes/mbedtls/all/test_package/CMakeLists.txt index 708448e53f170..5fa9b94ca1217 100644 --- a/recipes/mbedtls/all/test_package/CMakeLists.txt +++ b/recipes/mbedtls/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(MbedTLS REQUIRED CONFIG) diff --git a/recipes/mbedtls/all/test_v1_package/CMakeLists.txt b/recipes/mbedtls/all/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/mbedtls/all/test_v1_package/CMakeLists.txt +++ b/recipes/mbedtls/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 114a3e62d619d..6d346411f4a8a 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,13 +1,19 @@ versions: + "3.4.1": + folder: all "3.2.1": folder: all "3.1.0": folder: all "3.0.0": folder: all + "2.28.4": + folder: all "2.25.0": folder: all "2.24.0": folder: all "2.23.0": folder: all + "2.16.12": + folder: all From 43a772a5b3225c288194a5e2bd0b362332043bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 18:53:16 +0200 Subject: [PATCH 1776/4087] (#20141) Bump prometheus-cpp's zlib requirement to [>=1.2.11 <2] range --- recipes/prometheus-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index 77a024b271ec1..42d1c971e35ee 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.with_push: self.requires("libcurl/8.0.1") if self.options.get_safe("with_compression"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.info.settings.compiler.cppstd: From 4ab2ecf88c562bee7c979225eab0650dfbf46c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 28 Sep 2023 19:32:21 +0200 Subject: [PATCH 1777/4087] (#20123) Bump c-blosc2's zlib requirement to [>=1.2.11 <2] range Co-authored-by: Uilian Ries --- recipes/c-blosc2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 9cfb0264ed537..e0435a75fa522 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: self.requires("zlib-ng/2.1.3") elif self.options.with_zlib == "zlib": - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: self.requires("zstd/1.5.5") From 328d8a0595b3443ea4b1bc80625b2466002d9097 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 04:18:02 +0900 Subject: [PATCH 1778/4087] (#19512) watcher: add version 0.9.2, remove older versions * watcher: add version 0.9.0 * include atomic * fix patch_description * fix msvc compilation error * fix cxx_flags * add permissive- for alternative tokens * fix cxxflags name * improve patch for 0.9.0 * update 0.9.2 --- recipes/watcher/all/conandata.yml | 17 ++-------- recipes/watcher/all/conanfile.py | 32 ++++++++++++------- .../all/patches/0.3.1-fix-include.patch | 12 ------- .../watcher/all/test_package/CMakeLists.txt | 29 +++++++++-------- .../watcher/all/test_package/test_package.cpp | 10 ++++-- recipes/watcher/config.yml | 8 ++--- 6 files changed, 48 insertions(+), 60 deletions(-) delete mode 100644 recipes/watcher/all/patches/0.3.1-fix-include.patch diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index 80ba8ba329e37..61b03ba30a80d 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.2": + url: "https://github.com/e-dant/watcher/archive/release/0.9.2.tar.gz" + sha256: "d728960cbf5cebb05e1e0b7d61482b1cfd10b6bc616f9e494168f7d5d2e689cf" "0.8.8": url: "https://github.com/e-dant/watcher/archive/release/0.8.8.tar.gz" sha256: "51e61a096d072ae5c78df9318dec50fb5718c88b672305fc4b6bd2c7ba264bbe" @@ -23,22 +26,8 @@ sources: "0.4.3": url: "https://github.com/e-dant/watcher/archive/release/0.4.3.tar.gz" sha256: "8603b45edfa5023752d9e2fdd731efe5a556a542aaf03f6be0e69c68f552b25a" - "0.3.3": - url: "https://github.com/e-dant/watcher/archive/release/0.3.3.tar.gz" - sha256: "1cb4a898741306bb9089bd24175bcbb2cb434531eac6bbcfe1a3679b8bf1f44c" - "0.3.2": - url: "https://github.com/e-dant/watcher/archive/release/0.3.2.tar.gz" - sha256: "f00247ad8ee492cb70143917bd19f80056227f4ebd4263015727f02750e4fbd5" - "0.3.1": - url: "https://github.com/e-dant/watcher/archive/release/0.3.1.tar.gz" - sha256: "0fa79d21ac16c96b7ca50f2563aed9d8841e5b8f139af27d0b2cf199d0d281dc" 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" - "0.3.1": - - patch_file: "patches/0.3.1-fix-include.patch" - patch_description: "add missing include headers for some compilers" - patch_type: "portability" - patch_source: "https://github.com/e-dant/watcher/pull/18" diff --git a/recipes/watcher/all/conanfile.py b/recipes/watcher/all/conanfile.py index 31b1acc6f5885..a860da1f34772 100644 --- a/recipes/watcher/all/conanfile.py +++ b/recipes/watcher/all/conanfile.py @@ -4,6 +4,8 @@ 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,18 +21,27 @@ class WatcherConan(ConanFile): settings = "os", "arch", "compiler", "build_type" @property - def _minimum_cpp_standard(self): - return 20 + def _min_cppstd(self): + return "20" if Version(self.version) < "0.9.0" else "17" @property def _compilers_minimum_version(self): return { - "gcc": "11", - "clang": "13", - "apple-clang": "13.1", - "Visual Studio": "16", - "msvc": "192", - } + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, + "20": { + "gcc": "11", + "clang": "13", + "apple-clang": "13.1", + "Visual Studio": "16", + "msvc": "192", + }, + }.get(self._min_cppstd, {}) def export_sources(self): export_conandata_patches(self) @@ -43,7 +54,7 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -54,7 +65,7 @@ def loose_lt_semver(v1, v2): 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._minimum_cpp_standard}, which your compiler does not support.", + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) def source(self): @@ -78,6 +89,5 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - if is_apple_os(self): self.cpp_info.frameworks = ["CoreFoundation", "CoreServices"] diff --git a/recipes/watcher/all/patches/0.3.1-fix-include.patch b/recipes/watcher/all/patches/0.3.1-fix-include.patch deleted file mode 100644 index 1c3d12d2130de..0000000000000 --- a/recipes/watcher/all/patches/0.3.1-fix-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/watcher/adapter/linux/watch.hpp b/include/watcher/adapter/linux/watch.hpp -index 1b6b61a..a3e6aa9 100644 ---- a/include/watcher/adapter/linux/watch.hpp -+++ b/include/watcher/adapter/linux/watch.hpp -@@ -11,6 +11,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/recipes/watcher/all/test_package/CMakeLists.txt b/recipes/watcher/all/test_package/CMakeLists.txt index 01b429a54beb8..7cb2b32a687ee 100644 --- a/recipes/watcher/all/test_package/CMakeLists.txt +++ b/recipes/watcher/all/test_package/CMakeLists.txt @@ -1,5 +1,4 @@ cmake_minimum_required(VERSION 3.12) - project(test_package LANGUAGES CXX) find_package(watcher REQUIRED CONFIG) @@ -7,22 +6,24 @@ find_package(Threads REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE watcher::watcher Threads::Threads) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) -if(watcher_VERSION VERSION_LESS "0.4.0") - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_NAMESPACE=water) - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=water::watcher::event) - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=water::watcher::event) + +if(watcher_VERSION VERSION_GREATER_EQUAL "0.9.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +endif() + +if(watcher_VERSION VERSION_LESS "0.8.1") + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=wtr::watcher::event) + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=wtr::watcher::event) else() - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_NAMESPACE=wtr) - if(watcher_VERSION VERSION_LESS "0.8.1") - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=wtr::watcher::event) - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=wtr::watcher::event) - else() - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=wtr::watcher) - target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=wtr::watcher::event) - endif() + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_NAMESPACE=wtr::watcher) + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_EVENT_KIND_NAMESPACE=wtr::watcher::event) endif() +if(watcher_VERSION VERSION_GREATER_EQUAL "0.9.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_RAII_SAFE) +endif() if(watcher_VERSION VERSION_GREATER_EQUAL "0.6.0") target_compile_definitions(${PROJECT_NAME} PRIVATE WATCHER_WATCH_OBJECT) elseif(watcher_VERSION VERSION_GREATER_EQUAL "0.5.0") diff --git a/recipes/watcher/all/test_package/test_package.cpp b/recipes/watcher/all/test_package/test_package.cpp index 3216b6f2e2ca3..6e1dd6a280cc9 100644 --- a/recipes/watcher/all/test_package/test_package.cpp +++ b/recipes/watcher/all/test_package/test_package.cpp @@ -15,7 +15,11 @@ int main(int argc, char** argv) { auto const show_event_json = [](const WATCHER_EVENT_NAMESPACE::event& this_event) { std::cout << " " << this_event; +#ifdef WATCHER_RAII_SAFE + if (this_event.path_type != WATCHER_EVENT_KIND_NAMESPACE::path_type::watcher) { +#else if (this_event.kind != WATCHER_EVENT_KIND_NAMESPACE::kind::watcher) { +#endif std::cout << ","; } std::cout << "\n"; @@ -28,12 +32,12 @@ int main(int argc, char** argv) { std::this_thread::sleep_for(time_until_death); auto const is_watch_dead = lifetime.close(); #else - std::thread([&]() { WATCHER_NAMESPACE::watcher::watch(".", show_event_json); }).detach(); + std::thread([&]() { wtr::watcher::watch(".", show_event_json); }).detach(); std::this_thread::sleep_for(time_until_death); # ifdef WATCHER_DIE_WITH_PATH - auto const is_watch_dead = WATCHER_NAMESPACE::watcher::die(".", show_event_json); + auto const is_watch_dead = wtr::watcher::die(".", show_event_json); # else - auto const is_watch_dead = WATCHER_NAMESPACE::watcher::die(show_event_json); + auto const is_watch_dead = wtr::watcher::die(show_event_json); # endif #endif diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index 61b409d523160..e770c710dc9cf 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.2": + folder: all "0.8.8": folder: all "0.8.7": @@ -15,9 +17,3 @@ versions: folder: all "0.4.3": folder: all - "0.3.3": - folder: all - "0.3.2": - folder: all - "0.3.1": - folder: all From 22ac35f78f3a941038686fe02c3da274a91e465c Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 29 Sep 2023 01:24:38 +0400 Subject: [PATCH 1779/4087] (#19652) onetbb: moved check for shared hwloc to validate method --- recipes/onetbb/all/conanfile.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 742e204c36a4f..5317849db9bac 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -85,16 +85,16 @@ def configure(self): if self._tbbbind_explicit_hwloc: self.options["hwloc"].shared = True + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): if self._tbbbind_build: self.requires("hwloc/2.9.2") def build_requirements(self): if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.build_requires("pkgconf/1.9.5") - - def layout(self): - cmake_layout(self, src_folder="src") + self.tool_requires("pkgconf/1.9.5") def package_id(self): if Version(self.version) < "2021.5.0": @@ -113,6 +113,8 @@ def validate_build(self): "Please consider fixing at least the aforementioned issue in upstream." ) self.output.warning("oneTBB strongly discourages usage of static linkage") + + def validate(self): if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") From 80804cd77f53595241a7a2f157494533fd60f166 Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Fri, 29 Sep 2023 01:16:31 +0200 Subject: [PATCH 1780/4087] (#19833) fmi1: Add new recipe for fmi * fmi1: Add version 1.0.1 * Extract license text from header file --- recipes/fmi1/all/conandata.yml | 10 +++ recipes/fmi1/all/conanfile.py | 72 +++++++++++++++++++ recipes/fmi1/all/test_package/CMakeLists.txt | 7 ++ recipes/fmi1/all/test_package/conanfile.py | 25 +++++++ .../fmi1/all/test_package/test_package.cpp | 10 +++ recipes/fmi1/config.yml | 3 + 6 files changed, 127 insertions(+) create mode 100644 recipes/fmi1/all/conandata.yml create mode 100644 recipes/fmi1/all/conanfile.py create mode 100644 recipes/fmi1/all/test_package/CMakeLists.txt create mode 100644 recipes/fmi1/all/test_package/conanfile.py create mode 100644 recipes/fmi1/all/test_package/test_package.cpp create mode 100644 recipes/fmi1/config.yml diff --git a/recipes/fmi1/all/conandata.yml b/recipes/fmi1/all/conandata.yml new file mode 100644 index 0000000000000..3605e7f8bb5d7 --- /dev/null +++ b/recipes/fmi1/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "1.0.1": + co-simulation: + url: + - https://fmi-standard.org/assets/releases/FMI_for_CoSimulation_v1.0.1.zip + sha256: "81c87527febece29b5bb00bac89f9a58c5aed976aeb0afbfd357cf5aeebabd21" + model-exchange: + url: + - https://fmi-standard.org/assets/releases/FMI_for_ModelExchange_v1.0.1.zip + sha256: "966c948707531c5a764b70fa7bbe23030da962d8a939e01dc8bc9af9d8264cd1" diff --git a/recipes/fmi1/all/conanfile.py b/recipes/fmi1/all/conanfile.py new file mode 100644 index 0000000000000..e0cf988f8107d --- /dev/null +++ b/recipes/fmi1/all/conanfile.py @@ -0,0 +1,72 @@ +from os import path +from conan import ConanFile +from conan.errors import ConanException +from conan.tools.files import copy, get, load, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "fmi1" + description = "Functional Mock-up Interface (FMI) for Co-Simulation" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://fmi-standard.org" + topics = ("fmi-standard", "co-simulation", "model-exchange", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True # True OK because patch only adds new file + + def _extract_copyright(self): + fmiFunctions_h = load(self, path.join(self.source_folder, "cosim", "fmiFunctions.h")) + copyright_start = "Copyright(c)" + copyright_end = "DAMAGE." + start_index = fmiFunctions_h.find(copyright_start) + stop_index = fmiFunctions_h.find(copyright_end) + if start_index == -1 or stop_index == -1: + raise ConanException("Could not extract license from fmiFunctions.h file.") + return fmiFunctions_h[start_index:stop_index+len(copyright_end)] + + 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]["co-simulation"], + destination="cosim", strip_root=True) + get(self, **self.conan_data["sources"][self.version]["model-exchange"], + destination="modex", strip_root=True) + + def build(self): + pass + + def package(self): + save(self, path.join(self.package_folder, "licenses", "LICENSE"), self._extract_copyright()) + for comp in ["modex", "cosim"]: + copy( + self, + pattern="*.h", + src=path.join(self.source_folder, comp), + dst=path.join(self.package_folder, "include", comp) + ) + copy( + self, + pattern="*.xsd", + src=path.join(self.source_folder, comp), + dst=path.join(self.package_folder, "res", comp) + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = ["res"] + + self.cpp_info.components["cosim"].set_property("cmake_target_name", "fmi1::cosim") + self.cpp_info.components["cosim"].includedirs = ["include/cosim"] + self.cpp_info.components["cosim"].resdirs = ["res/cosim"] + self.cpp_info.components["modex"].set_property("cmake_target_name", "fmi1::modex") + self.cpp_info.components["modex"].includedirs = ["include/modex"] + self.cpp_info.components["modex"].resdirs = ["res/modex"] diff --git a/recipes/fmi1/all/test_package/CMakeLists.txt b/recipes/fmi1/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7e700e5046782 --- /dev/null +++ b/recipes/fmi1/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C CXX) + +find_package(fmi1 REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fmi1::cosim) diff --git a/recipes/fmi1/all/test_package/conanfile.py b/recipes/fmi1/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e730ad6dc0dfc --- /dev/null +++ b/recipes/fmi1/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fmi1/all/test_package/test_package.cpp b/recipes/fmi1/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..96872e2ca1ec7 --- /dev/null +++ b/recipes/fmi1/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include +#include "fmiFunctions.h" + + +int main(void) { + std::cout << fmiVersion << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/fmi1/config.yml b/recipes/fmi1/config.yml new file mode 100644 index 0000000000000..715e55357a17b --- /dev/null +++ b/recipes/fmi1/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.1": + folder: all From 26709193101afb7d34d8b3ed6afc80c1959b4142 Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Fri, 29 Sep 2023 02:11:35 +0200 Subject: [PATCH 1781/4087] (#19837) fmi3: new package * fmi3: add new recipe * Remove empty patches in conandata --- recipes/fmi3/all/conandata.yml | 5 ++ recipes/fmi3/all/conanfile.py | 50 +++++++++++++++++++ recipes/fmi3/all/test_package/CMakeLists.txt | 7 +++ recipes/fmi3/all/test_package/conanfile.py | 25 ++++++++++ .../fmi3/all/test_package/test_package.cpp | 10 ++++ recipes/fmi3/config.yml | 3 ++ 6 files changed, 100 insertions(+) create mode 100644 recipes/fmi3/all/conandata.yml create mode 100644 recipes/fmi3/all/conanfile.py create mode 100644 recipes/fmi3/all/test_package/CMakeLists.txt create mode 100644 recipes/fmi3/all/test_package/conanfile.py create mode 100644 recipes/fmi3/all/test_package/test_package.cpp create mode 100644 recipes/fmi3/config.yml diff --git a/recipes/fmi3/all/conandata.yml b/recipes/fmi3/all/conandata.yml new file mode 100644 index 0000000000000..b12c4c988ee8b --- /dev/null +++ b/recipes/fmi3/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "3.0.1": + url: + - https://github.com/modelica/fmi-standard/releases/download/v3.0.1/FMI-Standard-3.0.1.zip + sha256: "181a8a377ccfafa92167019bd3099227f8bf44192444bcb1a2d42aba65fbffe2" diff --git a/recipes/fmi3/all/conanfile.py b/recipes/fmi3/all/conanfile.py new file mode 100644 index 0000000000000..3d5c1d773f7ef --- /dev/null +++ b/recipes/fmi3/all/conanfile.py @@ -0,0 +1,50 @@ +from os import path +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "fmi3" + description = "Functional Mock-up Interface (FMI)" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://fmi-standard.org" + topics = ("fmi-standard", "co-simulation", "model-exchange", "scheduled execution", "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=False) + + def build(self): + pass + + def package(self): + copy(self, pattern="LICENSE.txt", dst=path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + src=path.join(self.source_folder, "headers"), + dst=path.join(self.package_folder, "include"), + ) + copy( + self, + pattern="*.xsd", + src=path.join(self.source_folder, "schema"), + dst=path.join(self.package_folder, "res"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = ["res"] diff --git a/recipes/fmi3/all/test_package/CMakeLists.txt b/recipes/fmi3/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..24b88e3db471d --- /dev/null +++ b/recipes/fmi3/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C CXX) + +find_package(fmi3 REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fmi3::fmi3) diff --git a/recipes/fmi3/all/test_package/conanfile.py b/recipes/fmi3/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e730ad6dc0dfc --- /dev/null +++ b/recipes/fmi3/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fmi3/all/test_package/test_package.cpp b/recipes/fmi3/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ea4bf3fd0194a --- /dev/null +++ b/recipes/fmi3/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include +#include "fmi3Functions.h" + + +int main(void) { + std::cout << fmi3Version << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/fmi3/config.yml b/recipes/fmi3/config.yml new file mode 100644 index 0000000000000..f1eca9cdf76de --- /dev/null +++ b/recipes/fmi3/config.yml @@ -0,0 +1,3 @@ +versions: + "3.0.1": + folder: all From 1b75cd57b102cdcf0e78e55646a7a9221432fb99 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 09:31:59 +0900 Subject: [PATCH 1782/4087] (#19906) yyjson: add with_utf8_validation for yyjson>=0.8.0 * yyjson: add with_utf8_validation for yyjson>=0.8.0 * Update recipes/yyjson/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/yyjson/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/yyjson/all/conanfile.py b/recipes/yyjson/all/conanfile.py index 041f3c54d28f4..3574d26b2c7d5 100644 --- a/recipes/yyjson/all/conanfile.py +++ b/recipes/yyjson/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -18,15 +19,19 @@ class YyjsonConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_utf8_validation": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_utf8_validation": True, } def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "0.8.0": + del self.options.with_utf8_validation def configure(self): if self.options.shared: @@ -42,6 +47,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + if Version(self.version) >= "0.8.0": + tc.variables["YYJSON_DISABLE_UTF8_VALIDATION"] = not bool(self.options.with_utf8_validation) tc.generate() def build(self): From b3f2d572277847c0dffa911ed89b60b23d2f19b2 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Fri, 29 Sep 2023 11:02:19 +0930 Subject: [PATCH 1783/4087] (#19907) [armadillo] Add version 12.6.4 * [armadillo] Add version 12.6.4 * [armadillo] Propagate hdf5 headers transitively This is necessary because armadillo_buts/include_hdf5.h includes the hdf5 headers. When a consumer links armadillo with hdf5 and then includes the armadillo headers, they need to be able to discover them. * [armadillo] Propagate shared obejct requirements transitively This is necessary to avoid linker errors as of binutils 2.22, which gives errors similar to `libhdf5.so.310: error adding symbols: DSO missing from command line`. This more strict requirement in binutils requires that `-lhdf5` or `-lopenblas` be added to the consumer linker command line invocation, which passing these libraries transitively does. --- recipes/armadillo/all/conandata.yml | 7 + recipes/armadillo/all/conanfile.py | 4 +- ...04-Guard-dependency-discovery-12.6.x.patch | 121 ++++++++++++++++++ recipes/armadillo/config.yml | 2 + 4 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 recipes/armadillo/all/patches/0004-Guard-dependency-discovery-12.6.x.patch diff --git a/recipes/armadillo/all/conandata.yml b/recipes/armadillo/all/conandata.yml index 0d2a3540e26f2..fafd7b841d70b 100644 --- a/recipes/armadillo/all/conandata.yml +++ b/recipes/armadillo/all/conandata.yml @@ -11,6 +11,9 @@ sources: "12.2.0": url: "https://sourceforge.net/projects/arma/files/armadillo-12.2.0.tar.xz" sha256: "b0dce042297e865add3351dad77f78c2c7638d6632f58357b015e50edcbd2186" + "12.6.4": + url: "https://sourceforge.net/projects/arma/files/armadillo-12.6.4.tar.xz" + sha256: "eb7f243ffc32f18324bc7fa978d0358637e7357ca7836bec55b4eb56e9749380" patches: "10.7.0": @@ -29,3 +32,7 @@ patches: - patch_file: "patches/0003-Guard-dependency-discovery-12.2.x.patch" patch_description: "Add find_package statements to inject conan dependencies" patch_type: "conan" + "12.6.4": + - patch_file: "patches/0004-Guard-dependency-discovery-12.6.x.patch" + patch_description: "Add find_package statements to inject conan dependencies" + patch_type: "conan" diff --git a/recipes/armadillo/all/conanfile.py b/recipes/armadillo/all/conanfile.py index 5638fc2428e26..ef77af6e7bf33 100644 --- a/recipes/armadillo/all/conanfile.py +++ b/recipes/armadillo/all/conanfile.py @@ -186,10 +186,10 @@ def requirements(self): # See https://gitlab.com/conradsnicta/armadillo-code/-/issues/227 for more information. if self.options.use_hdf5 and Version(self.version) < "12": # Use the conan dependency if the system lib isn't being used - self.requires("hdf5/1.14.0") + self.requires("hdf5/1.14.0", transitive_headers=True, transitive_libs=True) if self.options.use_blas == "openblas": - self.requires("openblas/0.3.20") + self.requires("openblas/0.3.20", transitive_libs=True) if ( self.options.use_blas == "intel_mkl" and self.options.use_lapack == "intel_mkl" diff --git a/recipes/armadillo/all/patches/0004-Guard-dependency-discovery-12.6.x.patch b/recipes/armadillo/all/patches/0004-Guard-dependency-discovery-12.6.x.patch new file mode 100644 index 0000000000000..f374782089ebf --- /dev/null +++ b/recipes/armadillo/all/patches/0004-Guard-dependency-discovery-12.6.x.patch @@ -0,0 +1,121 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a67ef80..91ef979 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -259,7 +259,11 @@ if(APPLE) + set(ARMA_USE_ACCELERATE true) + + if(ALLOW_OPENBLAS_MACOS) +- include(ARMA_FindOpenBLAS) ++ if(USE_OPENBLAS) ++ find_package(OpenBLAS) ++ else() ++ set(OpenBLAS_FOUND NO) ++ endif() + message(STATUS "OpenBLAS_FOUND = ${OpenBLAS_FOUND}") + message(STATUS "") + message(STATUS "*** If use of OpenBLAS is causing problems,") +@@ -274,8 +278,16 @@ if(APPLE) + endif() + + if(ALLOW_BLAS_LAPACK_MACOS) +- include(ARMA_FindBLAS) +- include(ARMA_FindLAPACK) ++ if(USE_SYSTEM_BLAS) ++ include(ARMA_FindBLAS) ++ else() ++ set(BLAS_FOUND NO) ++ endif() ++ if(USE_SYSTEM_LAPACK) ++ include(ARMA_FindLAPACK) ++ else() ++ set(LAPACK_FOUND NO) ++ endif() + message(STATUS " BLAS_FOUND = ${BLAS_FOUND}" ) + message(STATUS "LAPACK_FOUND = ${LAPACK_FOUND}") + message(STATUS "") +@@ -314,19 +326,45 @@ if(APPLE) + + else() + +- if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) +- include(ARMA_FindFlexiBLAS) ++ if(USE_MKL) ++ find_package(MKL) + else() +- set(FlexiBLAS_FOUND false) ++ set(MKL_FOUND NO) ++ endif() ++ ++ if(USE_OPENBLAS) ++ find_package(OpenBLAS) ++ else() ++ set(OpenBLAS_FOUND NO) ++ endif() ++ ++ if(USE_SYSTEM_ATLAS) ++ include(ARMA_FindATLAS) ++ else() ++ set(ATLAS_FOUND NO) ++ endif() ++ ++ if(USE_SYSTEM_BLAS) ++ include(ARMA_FindBLAS) ++ else() ++ set(BLAS_FOUND NO) ++ endif() ++ ++ if(USE_SYSTEM_LAPACK) ++ include(ARMA_FindLAPACK) ++ else() ++ set(LAPACK_FOUND NO) + endif() + +- include(ARMA_FindMKL) +- include(ARMA_FindOpenBLAS) +- include(ARMA_FindATLAS) # TODO: remove support for ATLAS in next major version +- include(ARMA_FindBLAS) +- include(ARMA_FindLAPACK) +- +- message(STATUS "FlexiBLAS_FOUND = ${FlexiBLAS_FOUND}" ) ++ if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) ++ if(USE_SYSTEM_FLEXIBLAS) ++ include(ARMA_FindFlexiBLAS) ++ else() ++ set(FlexiBLAS_FOUND NO) ++ endif() ++ endif() ++ ++ message(STATUS "FlexiBLAS_FOUND = ${FlexiBLAS_FOUND}" ) + message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) + message(STATUS " OpenBLAS_FOUND = ${OpenBLAS_FOUND}" ) + message(STATUS " ATLAS_FOUND = ${ATLAS_FOUND}" ) +@@ -438,7 +476,11 @@ else() + endif() + + +-include(ARMA_FindARPACK) ++if(USE_SYSTEM_ARPACK) ++ include(ARMA_FindARPACK) ++else() ++ set(ARPACK_FOUND NO) ++endif() + message(STATUS "ARPACK_FOUND = ${ARPACK_FOUND}") + + if(ARPACK_FOUND) +@@ -446,7 +488,11 @@ if(ARPACK_FOUND) + set(ARMA_LIBS ${ARMA_LIBS} ${ARPACK_LIBRARY}) + endif() + +-include(ARMA_FindSuperLU5) ++if(USE_SYSTEM_SUPERLU) ++ include(ARMA_FindSuperLU5) ++else() ++ set(SuperLU_FOUND NO) ++endif() + message(STATUS "SuperLU_FOUND = ${SuperLU_FOUND}") + + if(SuperLU_FOUND) +-- +2.42.0 + diff --git a/recipes/armadillo/config.yml b/recipes/armadillo/config.yml index 3d54bf4d2f283..7dfcb07b6f44b 100644 --- a/recipes/armadillo/config.yml +++ b/recipes/armadillo/config.yml @@ -7,3 +7,5 @@ versions: folder: all "12.2.0": folder: all + "12.6.4": + folder: all From 464ac13dae25d60ff24d558307524002c2406e58 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 04:09:55 +0200 Subject: [PATCH 1784/4087] (#19940) apr/1.7.4: add patch apr-config-prefix-env in order to fix build of apr-util --- recipes/apr/all/conandata.yml | 23 +++++++++++-------- ...0001-cmake-build-only-shared-static.patch} | 0 ...=> 1.7.0-0002-apr-config-prefix-env.patch} | 0 ...0003-cmake-gen_test_char-use-target.patch} | 0 ...patch => 1.7.0-0004-autotools-mingw.patch} | 0 ...e.patch => 1.7.0-0005-clang12-apple.patch} | 0 ...patch => 1.7.0-0006-sys_siglist-fix.patch} | 0 ...> 1.7.0-0007-cmake-minimum-required.patch} | 0 ...0001-cmake-build-only-shared-static.patch} | 0 9 files changed, 14 insertions(+), 9 deletions(-) rename recipes/apr/all/patches/{0001-cmake-build-only-shared-static.patch => 1.7.0-0001-cmake-build-only-shared-static.patch} (100%) rename recipes/apr/all/patches/{0002-apr-config-prefix-env.patch => 1.7.0-0002-apr-config-prefix-env.patch} (100%) rename recipes/apr/all/patches/{0003-cmake-gen_test_char-use-target.patch => 1.7.0-0003-cmake-gen_test_char-use-target.patch} (100%) rename recipes/apr/all/patches/{0004-autotools-mingw.patch => 1.7.0-0004-autotools-mingw.patch} (100%) rename recipes/apr/all/patches/{0005-clang12-apple.patch => 1.7.0-0005-clang12-apple.patch} (100%) rename recipes/apr/all/patches/{0006-sys_siglist-fix.patch => 1.7.0-0006-sys_siglist-fix.patch} (100%) rename recipes/apr/all/patches/{0007-cmake-minimum-required.patch => 1.7.0-0007-cmake-minimum-required.patch} (100%) rename recipes/apr/all/patches/{0401-cmake-build-only-shared-static.patch => 1.7.4-0001-cmake-build-only-shared-static.patch} (100%) diff --git a/recipes/apr/all/conandata.yml b/recipes/apr/all/conandata.yml index 0e388265ecf5f..6ce547b4ee2f4 100644 --- a/recipes/apr/all/conandata.yml +++ b/recipes/apr/all/conandata.yml @@ -7,21 +7,26 @@ sources: sha256: "e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea" patches: "1.7.4": - - patch_file: "patches/0401-cmake-build-only-shared-static.patch" + - patch_file: "patches/1.7.4-0001-cmake-build-only-shared-static.patch" patch_type: "conan" patch_description: "Use BUILD_SHARED_LIBS to conditionally build static/dynamic libs" - - patch_file: "patches/0006-sys_siglist-fix.patch" + - patch_file: "patches/1.7.0-0002-apr-config-prefix-env.patch" + patch_type: "conan" + patch_description: "Allow downtream recipes to detect some helpr build files of apr in a relocatalbe context" + - patch_file: "patches/1.7.0-0006-sys_siglist-fix.patch" patch_type: "bugfix" patch_description: "Replace deprecated sys_siglist[] with strsignal()" "1.7.0": - - patch_file: "patches/0001-cmake-build-only-shared-static.patch" + - patch_file: "patches/1.7.0-0001-cmake-build-only-shared-static.patch" patch_type: "conan" patch_description: "Use BUILD_SHARED_LIBS to conditionally build static/dynamic libs" - - patch_file: "patches/0002-apr-config-prefix-env.patch" - - patch_file: "patches/0003-cmake-gen_test_char-use-target.patch" - - patch_file: "patches/0004-autotools-mingw.patch" - - patch_file: "patches/0005-clang12-apple.patch" - - patch_file: "patches/0006-sys_siglist-fix.patch" + - patch_file: "patches/1.7.0-0002-apr-config-prefix-env.patch" + patch_type: "conan" + patch_description: "Allow downtream recipes to detect some helpr build files of apr in a relocatalbe context" + - patch_file: "patches/1.7.0-0003-cmake-gen_test_char-use-target.patch" + - patch_file: "patches/1.7.0-0004-autotools-mingw.patch" + - patch_file: "patches/1.7.0-0005-clang12-apple.patch" + - patch_file: "patches/1.7.0-0006-sys_siglist-fix.patch" patch_type: "bugfix" patch_description: "Replace deprecated sys_siglist[] with strsignal()" - - patch_file: "patches/0007-cmake-minimum-required.patch" + - patch_file: "patches/1.7.0-0007-cmake-minimum-required.patch" diff --git a/recipes/apr/all/patches/0001-cmake-build-only-shared-static.patch b/recipes/apr/all/patches/1.7.0-0001-cmake-build-only-shared-static.patch similarity index 100% rename from recipes/apr/all/patches/0001-cmake-build-only-shared-static.patch rename to recipes/apr/all/patches/1.7.0-0001-cmake-build-only-shared-static.patch diff --git a/recipes/apr/all/patches/0002-apr-config-prefix-env.patch b/recipes/apr/all/patches/1.7.0-0002-apr-config-prefix-env.patch similarity index 100% rename from recipes/apr/all/patches/0002-apr-config-prefix-env.patch rename to recipes/apr/all/patches/1.7.0-0002-apr-config-prefix-env.patch diff --git a/recipes/apr/all/patches/0003-cmake-gen_test_char-use-target.patch b/recipes/apr/all/patches/1.7.0-0003-cmake-gen_test_char-use-target.patch similarity index 100% rename from recipes/apr/all/patches/0003-cmake-gen_test_char-use-target.patch rename to recipes/apr/all/patches/1.7.0-0003-cmake-gen_test_char-use-target.patch diff --git a/recipes/apr/all/patches/0004-autotools-mingw.patch b/recipes/apr/all/patches/1.7.0-0004-autotools-mingw.patch similarity index 100% rename from recipes/apr/all/patches/0004-autotools-mingw.patch rename to recipes/apr/all/patches/1.7.0-0004-autotools-mingw.patch diff --git a/recipes/apr/all/patches/0005-clang12-apple.patch b/recipes/apr/all/patches/1.7.0-0005-clang12-apple.patch similarity index 100% rename from recipes/apr/all/patches/0005-clang12-apple.patch rename to recipes/apr/all/patches/1.7.0-0005-clang12-apple.patch diff --git a/recipes/apr/all/patches/0006-sys_siglist-fix.patch b/recipes/apr/all/patches/1.7.0-0006-sys_siglist-fix.patch similarity index 100% rename from recipes/apr/all/patches/0006-sys_siglist-fix.patch rename to recipes/apr/all/patches/1.7.0-0006-sys_siglist-fix.patch diff --git a/recipes/apr/all/patches/0007-cmake-minimum-required.patch b/recipes/apr/all/patches/1.7.0-0007-cmake-minimum-required.patch similarity index 100% rename from recipes/apr/all/patches/0007-cmake-minimum-required.patch rename to recipes/apr/all/patches/1.7.0-0007-cmake-minimum-required.patch diff --git a/recipes/apr/all/patches/0401-cmake-build-only-shared-static.patch b/recipes/apr/all/patches/1.7.4-0001-cmake-build-only-shared-static.patch similarity index 100% rename from recipes/apr/all/patches/0401-cmake-build-only-shared-static.patch rename to recipes/apr/all/patches/1.7.4-0001-cmake-build-only-shared-static.patch From a2cd0b69e9b4c5108db3aa7809ff8a5a9178b9fc Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 11:49:29 +0900 Subject: [PATCH 1785/4087] (#19946) coost: add recipe * coost: add recipe * remove component definition --- recipes/coost/all/conandata.yml | 4 + recipes/coost/all/conanfile.py | 105 ++++++++++++++++++ recipes/coost/all/test_package/CMakeLists.txt | 8 ++ recipes/coost/all/test_package/conanfile.py | 26 +++++ .../coost/all/test_package/test_package.cpp | 7 ++ recipes/coost/config.yml | 3 + 6 files changed, 153 insertions(+) create mode 100644 recipes/coost/all/conandata.yml create mode 100644 recipes/coost/all/conanfile.py create mode 100644 recipes/coost/all/test_package/CMakeLists.txt create mode 100644 recipes/coost/all/test_package/conanfile.py create mode 100644 recipes/coost/all/test_package/test_package.cpp create mode 100644 recipes/coost/config.yml diff --git a/recipes/coost/all/conandata.yml b/recipes/coost/all/conandata.yml new file mode 100644 index 0000000000000..86d6db4c792ce --- /dev/null +++ b/recipes/coost/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.0.1": + url: "https://github.com/idealvin/coost/archive/refs/tags/v3.0.1.tar.gz" + sha256: "f2285d59dc8317dd2494d7628a56f10de9b814d90b86aedf93a3305f94c6ae1a" diff --git a/recipes/coost/all/conanfile.py b/recipes/coost/all/conanfile.py new file mode 100644 index 0000000000000..6bdf895367ac5 --- /dev/null +++ b/recipes/coost/all/conanfile.py @@ -0,0 +1,105 @@ +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 +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +import os + +required_conan_version = ">=1.53.0" + +class CoostConan(ConanFile): + name = "coost" + description = "A tiny boost library in C++11." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/idealvin/coost" + topics = ("coroutine", "cpp11", "boost") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_libcurl": [True, False], + "with_openssl": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_libcurl": False, + "with_openssl": False, + } + + @property + def _min_cppstd(self): + return 11 + + 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 self.options.with_libcurl: + self.requires("libcurl/8.2.1") + if self.options.with_libcurl or self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + if self.settings.os == "Linux": + self.requires("libbacktrace/cci.20210118") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if self.info.options.with_libcurl: + if not self.info.options.with_openssl: + raise ConanInvalidConfiguration(f"{self.ref} requires with_openssl=True when using with_libcurl=True") + if self.dependencies["libcurl"].options.with_ssl != "openssl": + raise ConanInvalidConfiguration(f"{self.ref} requires libcurl/*:with_ssl='openssl' to be enabled") + if not self.dependencies["libcurl"].options.with_zlib: + raise ConanInvalidConfiguration(f"{self.ref} requires libcurl/*:with_zlib=True to 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 generate(self): + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["STATIC_VS_CRT"] = is_msvc_static_runtime(self) + tc.variables["WITH_LIBCURL"] = self.options.with_libcurl + tc.variables["WITH_OPENSSL"] = self.options.with_openssl + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.libs = ["co"] + + self.cpp_info.set_property("cmake_file_name", "coost") + self.cpp_info.set_property("cmake_target_name", "coost::co") + self.cpp_info.set_property("pkg_config_name", "coost") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "dl", "m"] + if self.settings.os == "Linux": + self.cpp_info.requires.append("libbacktrace::libbacktrace") + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["ws2_32"] diff --git a/recipes/coost/all/test_package/CMakeLists.txt b/recipes/coost/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f7ac5b551babf --- /dev/null +++ b/recipes/coost/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(coost REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE coost::co) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/coost/all/test_package/conanfile.py b/recipes/coost/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/coost/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/coost/all/test_package/test_package.cpp b/recipes/coost/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..46b92d23f6830 --- /dev/null +++ b/recipes/coost/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include "co/str.h" +#include + +int main() { + std::cout << str::from(123) << std::endl; + return 0; +} diff --git a/recipes/coost/config.yml b/recipes/coost/config.yml new file mode 100644 index 0000000000000..f1eca9cdf76de --- /dev/null +++ b/recipes/coost/config.yml @@ -0,0 +1,3 @@ +versions: + "3.0.1": + folder: all From 576e884462c022964972e4dea109f7c86202d770 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 12:31:26 +0900 Subject: [PATCH 1786/4087] (#19948) cimg: add version 3.3.0, update libtiff/4.6.0 --- recipes/cimg/all/conandata.yml | 3 +++ recipes/cimg/all/conanfile.py | 2 +- recipes/cimg/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index 7139132fb19a9..110b573ab51e1 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://cimg.eu/files/CImg_3.3.0.zip" + sha256: "d5eecb3551fc1966a9aac8637dc643bf6049e2b1b1a1f9deec3069e289ee1d65" "3.2.6": url: "https://cimg.eu/files/CImg_3.2.6.zip" sha256: "8da3aa995027231bb18f97bb986e12788ef464b3ab8a34151650bf1217baeda7" diff --git a/recipes/cimg/all/conanfile.py b/recipes/cimg/all/conanfile.py index 01ef66f480f65..9e8fee941b0eb 100644 --- a/recipes/cimg/all/conanfile.py +++ b/recipes/cimg/all/conanfile.py @@ -72,7 +72,7 @@ def requirements(self): if self.options.enable_png: self.requires("libpng/1.6.40") if self.options.enable_tiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.enable_ffmpeg: if self.options.enable_opencv: self.requires("ffmpeg/4.4") diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index a0c4dfee0ab1c..9b44fb64c63a1 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: all "3.2.6": folder: all "3.2.5": From ec093bfa702447e086b8fbbd0b42afef9ccf43ba Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 13:10:14 +0900 Subject: [PATCH 1787/4087] (#19962) stringzilla: add version 1.2.2 --- 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 f529350a7dc33..413ad483bbe6e 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.2": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v1.2.2.tar.gz" + sha256: "2e17c49965841647a1c371247f53b2f576e5fb32fe4b84a080d425b12f17703c" "1.1.3": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v1.1.3.tar.gz" sha256: "1856c4d780b2c9a12ccd14d04996b35bec9fe537d0a31209000e12777a86e495" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index e1c4f3be24983..a86fcfcd6fd28 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.2": + folder: all "1.1.3": folder: all From 657a91a3d725632e082f5602d8637a23818f67ae Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 13:30:00 +0900 Subject: [PATCH 1788/4087] (#19967) glaze: add version 1.5.0 * glaze: add version 1.4.2 * update 1.4.3 * update 1.4.4 * update 1.5.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 98ea7dc8d1150..2840b2eed5cbb 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/stephenberry/glaze/archive/v1.5.0.tar.gz" + sha256: "9ab1cc5faa3a1a46b478c884207e6c364e4b6ae9c09f96cbf9f2ef620b3bb3b5" "1.4.1": url: "https://github.com/stephenberry/glaze/archive/v1.4.1.tar.gz" sha256: "fae4188004d383f79225db26e41060aaae9a3eff92da7637aa467749e9590ee6" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 73f9b337cba86..dfc0e2b2fc07a 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: all "1.4.1": folder: all "1.4.0": From 20ff13bb7ebbc9860ac494608f8d1ecb990c9e87 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 06:51:53 +0200 Subject: [PATCH 1789/4087] (#19968) cgif: bump meson --- recipes/cgif/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cgif/all/conanfile.py b/recipes/cgif/all/conanfile.py index ef47a850d95dc..0f4eab97dfc4f 100644 --- a/recipes/cgif/all/conanfile.py +++ b/recipes/cgif/all/conanfile.py @@ -47,7 +47,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared build with Visual Studio") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 956202028ba8bbcc49c2ffcfa6f6fe8ab2168a0f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 07:20:32 +0200 Subject: [PATCH 1790/4087] (#19969) dav1d: bump meson --- recipes/dav1d/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dav1d/all/conanfile.py b/recipes/dav1d/all/conanfile.py index 8a1651ceed708..5882f930a7dbd 100644 --- a/recipes/dav1d/all/conanfile.py +++ b/recipes/dav1d/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.1") if self.options.assembly: self.tool_requires("nasm/2.15.05") From 80b1db8497e33d3807bfa994aa0aebb9ee10950f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 07:29:28 +0200 Subject: [PATCH 1791/4087] (#19970) fribidi: bump meson --- recipes/fribidi/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fribidi/all/conanfile.py b/recipes/fribidi/all/conanfile.py index 0867aa984f255..4c363828a67c8 100644 --- a/recipes/fribidi/all/conanfile.py +++ b/recipes/fribidi/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b3c767e756e894663fc5195e0dacd643554e1472 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 29 Sep 2023 14:47:16 +0900 Subject: [PATCH 1792/4087] (#20052) libunwind: update xz_utils/5.4.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index e0054d21df520..4739138df383b 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if self.options.minidebuginfo: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.zlibdebuginfo: self.requires("zlib/[>=1.2.11 <2]") From 8b2a8967fcb994e27e24b3596182ae0578cb2c8d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 08:30:38 +0200 Subject: [PATCH 1793/4087] (#19974) inih: bump meson --- recipes/inih/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/inih/all/conanfile.py b/recipes/inih/all/conanfile.py index 7b43c7f01710c..559726ced856f 100644 --- a/recipes/inih/all/conanfile.py +++ b/recipes/inih/all/conanfile.py @@ -62,7 +62,7 @@ def validate(self): raise ConanInvalidConfiguration("Shared inih is not supported with msvc") def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 683bf159d1ce4fef21bcca9521c3e3213c68c8f8 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 09:09:45 +0200 Subject: [PATCH 1794/4087] (#19975) lcms: bump meson --- recipes/lcms/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/lcms/all/conanfile.py b/recipes/lcms/all/conanfile.py index 6a996a28f1758..bc10e97d6f111 100644 --- a/recipes/lcms/all/conanfile.py +++ b/recipes/lcms/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 4a0694cc67ae589422b078fbe5c95c2e0e6a26fe Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 10:20:55 +0200 Subject: [PATCH 1795/4087] (#19977) libepoxy: bump meson --- recipes/libepoxy/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libepoxy/all/conanfile.py b/recipes/libepoxy/all/conanfile.py index c8c1d778cd360..2f9f112de0a99 100644 --- a/recipes/libepoxy/all/conanfile.py +++ b/recipes/libepoxy/all/conanfile.py @@ -70,7 +70,7 @@ def validate(self): raise ConanInvalidConfiguration("Static builds on Windows are not supported") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 4a591f222440ebd651efb11b5e4a620b8dcda9d7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 29 Sep 2023 11:26:12 +0200 Subject: [PATCH 1796/4087] (#20201) [kmod] Bump zlib requirement to [>=1.2.11 <2] range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón --- recipes/kmod/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/kmod/all/conanfile.py b/recipes/kmod/all/conanfile.py index f60d2ebc28242..ab20789f1833a 100644 --- a/recipes/kmod/all/conanfile.py +++ b/recipes/kmod/all/conanfile.py @@ -49,7 +49,7 @@ def requirements(self): if self.options.with_xz: self.requires("xz_utils/5.4.2") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") From 4484db4bb8712fd19106b4049114d6d402e74bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 29 Sep 2023 12:04:47 +0200 Subject: [PATCH 1797/4087] (#20191) Bump pcl's zlib requirement to [>=1.2.11 <2] range --- recipes/pcl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index c957981fea188..fc423168869ea 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -384,7 +384,7 @@ def requirements(self): if self._is_enabled("opencv"): self.requires("opencv/4.5.5", transitive_headers=True) if self._is_enabled("zlib"): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") # TODO: # self.requires("vtk/9.x.x", transitive_headers=True) # self.requires("openni/x.x.x", transitive_headers=True) From 864e2fba08e7ed988845c70f9f28d62570132c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 29 Sep 2023 12:10:15 +0200 Subject: [PATCH 1798/4087] (#20192) Bump soplex's zlib requirement to [>=1.2.11 <2] range --- recipes/soplex/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/soplex/all/conanfile.py b/recipes/soplex/all/conanfile.py index 5e4c8355aefd4..d14308917f562 100644 --- a/recipes/soplex/all/conanfile.py +++ b/recipes/soplex/all/conanfile.py @@ -77,7 +77,7 @@ def configure(self): def requirements(self): # transitive libs as anything using soplex requires gzread, gzwrite, gzclose, gzopen - self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) if self.options.with_gmp: # transitive libs as anything using soplex requires __gmpz_init_set_si # see https://github.com/conan-io/conan-center-index/pull/16017#issuecomment-1495688452 From 615255dd350615167697e0b8d7164d563e56bd9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 29 Sep 2023 13:02:57 +0200 Subject: [PATCH 1799/4087] (#20193) Bump libkml's zlib requirement to [>=1.2.11 <2] range --- recipes/libkml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libkml/all/conanfile.py b/recipes/libkml/all/conanfile.py index 1b2a9bb8fba8b..1a9d0a90947d1 100644 --- a/recipes/libkml/all/conanfile.py +++ b/recipes/libkml/all/conanfile.py @@ -46,7 +46,7 @@ def requirements(self): self.requires("expat/2.5.0") self.requires("minizip/1.2.13") self.requires("uriparser/0.9.7") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): From f14a0451df812ec18ca62a306630f99b37d50593 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 29 Sep 2023 13:22:55 +0200 Subject: [PATCH 1800/4087] (#20202) [websocketpp] Bump zlib requirement to [>=1.2.11 <2] range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón --- recipes/websocketpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/websocketpp/all/conanfile.py b/recipes/websocketpp/all/conanfile.py index fc666b73d6c25..8bc3d40999ef3 100644 --- a/recipes/websocketpp/all/conanfile.py +++ b/recipes/websocketpp/all/conanfile.py @@ -37,7 +37,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) if self.options.with_zlib: - self.requires("zlib/1.2.13", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) if self.options.asio == "standalone": self.requires("asio/1.28.1", transitive_headers=True) From 44410539a8b210a80c56570ecb2b59c30fe5fc6c Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 29 Sep 2023 14:00:26 +0200 Subject: [PATCH 1801/4087] (#20200) [itk] Bump zlib requirement to [>=1.2.11 <2] range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón --- recipes/itk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/itk/all/conanfile.py b/recipes/itk/all/conanfile.py index 432d4013dd2a6..c9a9ded1e49f4 100644 --- a/recipes/itk/all/conanfile.py +++ b/recipes/itk/all/conanfile.py @@ -78,7 +78,7 @@ def requirements(self): self.requires("libtiff/4.5.1") self.requires("openjpeg/2.5.0") self.requires("onetbb/2021.9.0") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.options.shared and not self.dependencies["hdf5"].options.shared: From 085f1025894a34392dbbb7bfd3a834c0099261fb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 29 Sep 2023 14:06:26 +0200 Subject: [PATCH 1802/4087] (#18416) libwebp: remove old versions * libwebp: remove old versions * remove 1.3.0 --- recipes/libwebp/all/conandata.yml | 52 +------------------ recipes/libwebp/all/conanfile.py | 5 +- .../patches/1.0.3-0002-build-libwebpmux.patch | 11 ---- ....patch => 1.1.0-0001-fix-dll-export.patch} | 0 .../patches/1.2.0-0003-build-libwebpmux.patch | 11 ---- .../all/patches/1.3.0-0001-fix-cmake.patch | 21 -------- recipes/libwebp/config.yml | 12 ----- 7 files changed, 3 insertions(+), 109 deletions(-) delete mode 100644 recipes/libwebp/all/patches/1.0.3-0002-build-libwebpmux.patch rename recipes/libwebp/all/patches/{1.0.3-0001-fix-dll-export.patch => 1.1.0-0001-fix-dll-export.patch} (100%) delete mode 100644 recipes/libwebp/all/patches/1.2.0-0003-build-libwebpmux.patch delete mode 100644 recipes/libwebp/all/patches/1.3.0-0001-fix-cmake.patch diff --git a/recipes/libwebp/all/conandata.yml b/recipes/libwebp/all/conandata.yml index 47f77300daa6a..0aaa6446c5482 100644 --- a/recipes/libwebp/all/conandata.yml +++ b/recipes/libwebp/all/conandata.yml @@ -5,30 +5,12 @@ sources: "1.3.1": url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.1.tar.gz" sha256: "b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66" - "1.3.0": - url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.0.tar.gz" - sha256: "64ac4614db292ae8c5aa26de0295bf1623dbb3985054cb656c55e67431def17c" "1.2.4": url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.4.tar.gz" sha256: "7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df" - "1.2.3": - url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.3.tar.gz" - sha256: "f5d7ab2390b06b8a934a4fc35784291b3885b557780d099bd32f09241f9d83f9" - "1.2.2": - url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.2.tar.gz" - sha256: "7656532f837af5f4cec3ff6bafe552c044dc39bf453587bd5b77450802f4aee6" - "1.2.1": - url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.1.tar.gz" - sha256: "808b98d2f5b84e9b27fdef6c5372dac769c3bda4502febbfa5031bd3c4d7d018" - "1.2.0": - url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.0.tar.gz" - sha256: "2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c" "1.1.0": url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.1.0.tar.gz" sha256: "98a052268cc4d5ece27f76572a7f50293f439c17a98e67c4ea0c7ed6f50ef043" - "1.0.3": - url: "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz" - sha256: "e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f" patches: "1.3.2": - patch_file: "patches/1.3.1-0001-fix-cmake.patch" @@ -38,35 +20,12 @@ patches: - patch_file: "patches/1.3.1-0001-fix-cmake.patch" patch_description: "disable PIC, disable prefix library name on MSVC" patch_type: "conan" - "1.3.0": - - patch_file: "patches/1.3.0-0001-fix-cmake.patch" - patch_description: "disable PIC, disable prefix library name on MSVC" - patch_type: "conan" "1.2.4": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" - patch_description: "define WEBP_EXTERN for windows shared build" - patch_type: "portability" - "1.2.3": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" - patch_description: "define WEBP_EXTERN for windows shared build" - patch_type: "portability" - "1.2.2": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" - patch_description: "define WEBP_EXTERN for windows shared build" - patch_type: "portability" - "1.2.1": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" + - patch_file: "patches/1.1.0-0001-fix-dll-export.patch" patch_description: "define WEBP_EXTERN for windows shared build" patch_type: "portability" - "1.2.0": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" - patch_description: "define WEBP_EXTERN for windows shared build" - patch_type: "portability" - - patch_file: "patches/1.2.0-0003-build-libwebpmux.patch" - patch_description: "always build libwebpmux" - patch_type: "conan" "1.1.0": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" + - patch_file: "patches/1.1.0-0001-fix-dll-export.patch" patch_description: "define WEBP_EXTERN for windows shared build" patch_type: "portability" - patch_file: "patches/1.1.0-0002-qnx.patch" @@ -76,10 +35,3 @@ patches: - patch_file: "patches/1.1.0-0003-build-libwebpmux.patch" patch_description: "always build libwebpmux" patch_type: "conan" - "1.0.3": - - patch_file: "patches/1.0.3-0001-fix-dll-export.patch" - patch_description: "define WEBP_EXTERN for windows shared build" - patch_type: "portability" - - patch_file: "patches/1.0.3-0002-build-libwebpmux.patch" - patch_description: "always build libwebpmux" - patch_type: "conan" diff --git a/recipes/libwebp/all/conanfile.py b/recipes/libwebp/all/conanfile.py index 0044f425b95b1..5e7c1354176a4 100644 --- a/recipes/libwebp/all/conanfile.py +++ b/recipes/libwebp/all/conanfile.py @@ -55,10 +55,7 @@ def generate(self): tc = CMakeToolchain(self) # should be an option but it doesn't work yet tc.variables["WEBP_ENABLE_SIMD"] = self.options.with_simd - if Version(self.version) >= "1.0.0": - tc.variables["WEBP_NEAR_LOSSLESS"] = self.options.near_lossless - else: - tc.variables["WEBP_ENABLE_NEAR_LOSSLESS"] = self.options.near_lossless + tc.variables["WEBP_NEAR_LOSSLESS"] = self.options.near_lossless tc.variables["WEBP_ENABLE_SWAP_16BIT_CSP"] = self.options.swap_16bit_csp # avoid finding system libs tc.variables["CMAKE_DISABLE_FIND_PACKAGE_GIF"] = True diff --git a/recipes/libwebp/all/patches/1.0.3-0002-build-libwebpmux.patch b/recipes/libwebp/all/patches/1.0.3-0002-build-libwebpmux.patch deleted file mode 100644 index 0892ee3bdacd9..0000000000000 --- a/recipes/libwebp/all/patches/1.0.3-0002-build-libwebpmux.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -401,7 +401,7 @@ if(WEBP_BUILD_CWEBP) - install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - --if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP) -+if(1) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "") - add_library(libwebpmux ${WEBP_MUX_SRCS}) - target_link_libraries(libwebpmux webp) diff --git a/recipes/libwebp/all/patches/1.0.3-0001-fix-dll-export.patch b/recipes/libwebp/all/patches/1.1.0-0001-fix-dll-export.patch similarity index 100% rename from recipes/libwebp/all/patches/1.0.3-0001-fix-dll-export.patch rename to recipes/libwebp/all/patches/1.1.0-0001-fix-dll-export.patch diff --git a/recipes/libwebp/all/patches/1.2.0-0003-build-libwebpmux.patch b/recipes/libwebp/all/patches/1.2.0-0003-build-libwebpmux.patch deleted file mode 100644 index 5f228670d57c8..0000000000000 --- a/recipes/libwebp/all/patches/1.2.0-0003-build-libwebpmux.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -449,7 +449,7 @@ if(WEBP_BUILD_CWEBP) - install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - --if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP) -+if(1) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "") - add_library(libwebpmux ${WEBP_MUX_SRCS}) - target_link_libraries(libwebpmux webp) diff --git a/recipes/libwebp/all/patches/1.3.0-0001-fix-cmake.patch b/recipes/libwebp/all/patches/1.3.0-0001-fix-cmake.patch deleted file mode 100644 index f9c41d4f6a541..0000000000000 --- a/recipes/libwebp/all/patches/1.3.0-0001-fix-cmake.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt -index 0a5af42..781f4c7 100644 ---- a/a/CMakeLists.txt -+++ b/b/CMakeLists.txt -@@ -58,7 +58,6 @@ if(WEBP_LINK_STATIC) - else() - set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) - endif() -- set(CMAKE_POSITION_INDEPENDENT_CODE ON) - # vwebp does not compile on Ubuntu with static libraries so disabling it for - # now. - set(WEBP_BUILD_VWEBP OFF) -@@ -142,7 +141,7 @@ endif() - set(PTHREAD_LIBS ${CMAKE_THREAD_LIBS_INIT}) - set(INSTALLED_LIBRARIES) - --if(MSVC) -+if(0) - # match the naming convention used by nmake - set(webp_libname_prefix "lib") - set(CMAKE_SHARED_LIBRARY_PREFIX "${webp_libname_prefix}") diff --git a/recipes/libwebp/config.yml b/recipes/libwebp/config.yml index 5efe9c8c34aa9..e184761fe568e 100644 --- a/recipes/libwebp/config.yml +++ b/recipes/libwebp/config.yml @@ -3,19 +3,7 @@ versions: folder: all "1.3.1": folder: all - "1.3.0": - folder: all "1.2.4": folder: all - "1.2.3": - folder: all - "1.2.2": - folder: all - "1.2.1": - folder: all - "1.2.0": - folder: all "1.1.0": folder: all - "1.0.3": - folder: all From e3c830c25f8b467206a744afb4b0c84095427a71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 29 Sep 2023 14:44:22 +0200 Subject: [PATCH 1803/4087] (#20194) Bump poco's zlib requirement to [>=1.2.11 <2] range --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index a9fe39975ab8a..db83584f38915 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -112,7 +112,7 @@ def requirements(self): self.requires("pcre/8.45") else: self.requires("pcre2/10.42") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.enable_xml: self.requires("expat/2.5.0") if self.options.enable_data_sqlite: From bb3ed99d94fcc6b5a0cba7343276d0bfd1d9ce3d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 29 Sep 2023 15:49:14 +0200 Subject: [PATCH 1804/4087] (#19230) openjpeg: add missing CMake vars in CMakeDeps of openjpeg * add missing CMake vars in CMakeDeps of openjpeg * fix test of CMakeDeps vars in test package * drop test v1 package --- recipes/openjpeg/all/conanfile.py | 33 ++++++++++++++++--- .../openjpeg/all/test_package/CMakeLists.txt | 18 ++++++++++ .../all/test_v1_package/CMakeLists.txt | 8 ----- .../openjpeg/all/test_v1_package/conanfile.py | 17 ---------- 4 files changed, 46 insertions(+), 30 deletions(-) delete mode 100644 recipes/openjpeg/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/openjpeg/all/test_v1_package/conanfile.py diff --git a/recipes/openjpeg/all/conanfile.py b/recipes/openjpeg/all/conanfile.py index d4b1a9482f6b7..f51919fe29fc0 100644 --- a/recipes/openjpeg/all/conanfile.py +++ b/recipes/openjpeg/all/conanfile.py @@ -82,13 +82,31 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", self._openjpeg_subdir)) - + self._create_cmake_module_variables( + os.path.join(self.package_folder, self._module_vars_rel_path) + ) # TODO: to remove in conan v2 once cmake_find_package* & pkg_config 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._module_target_rel_path), {"openjp2": "OpenJPEG::OpenJPEG"} ) + def _create_cmake_module_variables(self, module_file): + content = textwrap.dedent(f"""\ + set(OPENJPEG_FOUND TRUE) + if(DEFINED OpenJPEG_INCLUDE_DIRS) + set(OPENJPEG_INCLUDE_DIRS ${{OpenJPEG_INCLUDE_DIRS}}) + endif() + if(DEFINED OpenJPEG_LIBRARIES) + set(OPENJPEG_LIBRARIES ${{OpenJPEG_LIBRARIES}}) + endif() + set(OPENJPEG_MAJOR_VERSION "{Version(self.version).major}") + set(OPENJPEG_MINOR_VERSION "{Version(self.version).minor}") + set(OPENJPEG_BUILD_VERSION "{Version(self.version).patch}") + set(OPENJPEG_BUILD_SHARED_LIBS {"TRUE" if self.options.shared else "FALSE"}) + """) + save(self, module_file, content) + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): @@ -101,7 +119,11 @@ def _create_cmake_module_alias_targets(self, module_file, targets): save(self, module_file, content) @property - def _module_file_rel_path(self): + def _module_vars_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + + @property + def _module_target_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") @property @@ -112,6 +134,7 @@ def _openjpeg_subdir(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenJPEG") self.cpp_info.set_property("cmake_target_name", "openjp2") + self.cpp_info.set_property("cmake_build_modules", [self._module_vars_rel_path]) self.cpp_info.set_property("pkg_config_name", "libopenjp2") self.cpp_info.includedirs.append(os.path.join("include", self._openjpeg_subdir)) self.cpp_info.libs = ["openjp2"] @@ -125,6 +148,6 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.names["cmake_find_package"] = "OpenJPEG" self.cpp_info.names["cmake_find_package_multi"] = "OpenJPEG" - 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] + self.cpp_info.build_modules["cmake_find_package"] = [self._module_target_rel_path] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_target_rel_path] self.cpp_info.names["pkg_config"] = "libopenjp2" diff --git a/recipes/openjpeg/all/test_package/CMakeLists.txt b/recipes/openjpeg/all/test_package/CMakeLists.txt index eccda132e4efe..08c910c90a70d 100644 --- a/recipes/openjpeg/all/test_package/CMakeLists.txt +++ b/recipes/openjpeg/all/test_package/CMakeLists.txt @@ -5,3 +5,21 @@ find_package(OpenJPEG REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE openjp2) + +# Test whether variables from https://github.com/uclouvain/openjpeg/blob/master/cmake/OpenJPEGConfig.cmake.in are properly defined +set(_custom_vars + OPENJPEG_FOUND + OPENJPEG_INCLUDE_DIRS + OPENJPEG_LIBRARIES + OPENJPEG_MAJOR_VERSION + OPENJPEG_MINOR_VERSION + OPENJPEG_BUILD_VERSION + OPENJPEG_BUILD_SHARED_LIBS +) +foreach(_custom_var ${_custom_vars}) + if(DEFINED ${_custom_var}) + message(STATUS "${_custom_var}: ${${_custom_var}}") + else() + message(FATAL_ERROR "${_custom_var} not defined") + endif() +endforeach() diff --git a/recipes/openjpeg/all/test_v1_package/CMakeLists.txt b/recipes/openjpeg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/openjpeg/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/openjpeg/all/test_v1_package/conanfile.py b/recipes/openjpeg/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/openjpeg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 46655bba2f8cbff382ff7316af6d5a2cb2ebbb8a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 29 Sep 2023 16:40:08 +0200 Subject: [PATCH 1805/4087] Bump podofo's zlib requirement to [>=1.2.11 <2] range (#20203) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón --- recipes/podofo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/podofo/all/conanfile.py b/recipes/podofo/all/conanfile.py index b3f7dffd4c071..87fbb60fe26b7 100644 --- a/recipes/podofo/all/conanfile.py +++ b/recipes/podofo/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.0") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": self.requires("fontconfig/2.14.2") if self.options.with_openssl: From 14994aab62f6e811a27e04cff603111dae7e182b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 29 Sep 2023 17:24:27 +0200 Subject: [PATCH 1806/4087] (#20196) Bump opencv's zlib requirement to [>=1.2.11 <2] range * Bump opencv's zlib requirement to [>=1.2.11 <2] range * OpenCV 2.x does not support C++17 Signed-off-by: Uilian Ries * Skip linter error Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/opencv/2.x/conanfile.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/opencv/2.x/conanfile.py b/recipes/opencv/2.x/conanfile.py index 2dc9254ee3172..4b96731d9f7b2 100644 --- a/recipes/opencv/2.x/conanfile.py +++ b/recipes/opencv/2.x/conanfile.py @@ -1,10 +1,11 @@ -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 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, replace_in_file, rm, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +import sys import os import textwrap @@ -352,7 +353,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.with_tbb: @@ -409,6 +410,13 @@ def validate(self): raise ConanInvalidConfiguration( "viz module can't be enabled yet. It requires VTK which is not available in conan-center." ) + # FIXME: check_max_cppstd is only available for Conan 2.x. Remove it after dropping support for Conan 1.x + if conan_version.major == 2: + # 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') + # INFO: OpenCV 2.x uses std::random_shuffle and mem_fun_ref. Both removed in C++17. + check_max_cppstd(self, 14) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ed50ae4e61ad210d7e163d41b412a437936bc58b Mon Sep 17 00:00:00 2001 From: Christopher Bradfield <11827031+cjbradfield@users.noreply.github.com> Date: Fri, 29 Sep 2023 11:17:32 -0500 Subject: [PATCH 1807/4087] (#19533) Add a recipe for nghttp3 * Add a recipe for nghttp3 * Remove unnused import * Remove gcc version restrictions. * Remove CMakeDeps --- recipes/nghttp3/all/conandata.yml | 4 + recipes/nghttp3/all/conanfile.py | 79 +++++++++++++++++++ .../nghttp3/all/test_package/CMakeLists.txt | 7 ++ recipes/nghttp3/all/test_package/conanfile.py | 26 ++++++ .../nghttp3/all/test_package/test_package.cpp | 19 +++++ recipes/nghttp3/config.yml | 3 + 6 files changed, 138 insertions(+) create mode 100644 recipes/nghttp3/all/conandata.yml create mode 100644 recipes/nghttp3/all/conanfile.py create mode 100644 recipes/nghttp3/all/test_package/CMakeLists.txt create mode 100644 recipes/nghttp3/all/test_package/conanfile.py create mode 100644 recipes/nghttp3/all/test_package/test_package.cpp create mode 100644 recipes/nghttp3/config.yml diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml new file mode 100644 index 0000000000000..44235cb3f54de --- /dev/null +++ b/recipes/nghttp3/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.15.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v0.15.0/nghttp3-0.15.0.tar.gz" + sha256: "3c56d9fa6f1b58b37bd7b1b53eaf16cd71118bc2d5cadbc904f09d6f6466b42f" diff --git a/recipes/nghttp3/all/conanfile.py b/recipes/nghttp3/all/conanfile.py new file mode 100644 index 0000000000000..c7b6057509787 --- /dev/null +++ b/recipes/nghttp3/all/conanfile.py @@ -0,0 +1,79 @@ +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.env import VirtualBuildEnv +from conan.tools.files import get, rmdir, copy +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + + +class Nghttp3Conan(ConanFile): + name = "nghttp3" + description = "HTTP/2 C Library and tools" + topics = ("http", "http3") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://nghttp2.org/nghttp3/" + license = "MIT" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def build_requirements(self): + self.tool_requires("cmake/[>=3.20 <4]") + + 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["ENABLE_SHARED_LIB"] = self.options.shared + tc.variables["ENABLE_STATIC_LIB"] = not self.options.shared + tc.variables["ENABLE_LIB_ONLY"] = True + if is_apple_os(self): + # workaround for: install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable + tc.cache_variables["CMAKE_MACOSX_BUNDLE"] = False + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate(scope="build") + + def build(self): + 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.libs = ["nghttp3"] + if is_msvc(self) and not self.options.shared: + self.cpp_info.defines.append("NGHTTP3_STATICLIB") + + self.cpp_info.set_property("pkg_config_name", "nghttp3") diff --git a/recipes/nghttp3/all/test_package/CMakeLists.txt b/recipes/nghttp3/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0b418770cdb55 --- /dev/null +++ b/recipes/nghttp3/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package) + +find_package(nghttp3 REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE nghttp3::nghttp3) diff --git a/recipes/nghttp3/all/test_package/conanfile.py b/recipes/nghttp3/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/nghttp3/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/nghttp3/all/test_package/test_package.cpp b/recipes/nghttp3/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..1455f3ae65f55 --- /dev/null +++ b/recipes/nghttp3/all/test_package/test_package.cpp @@ -0,0 +1,19 @@ +#include + +#if defined(_MSC_VER) +// nghttp2 defaults to int +typedef int ssize_t; +#endif +#include +#include + +int main() +{ + const nghttp3_info* info = nghttp3_version(NGHTTP3_VERSION_NUM); + if (info) { + printf("nghttp3 ver=%d version=%s\n", info->version_num, info->version_str); + } else { + printf("nghttp3: cannot get version\n"); + } + return 0; +} diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml new file mode 100644 index 0000000000000..e3fd6190a5166 --- /dev/null +++ b/recipes/nghttp3/config.yml @@ -0,0 +1,3 @@ +versions: + "0.15.0": + folder: all From 1569eebd11d6e93a4e2b34dab4db662567ee5349 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 29 Sep 2023 18:54:29 +0200 Subject: [PATCH 1808/4087] (#20198) Bump wt's zlib requirement to [>=1.2.11 <2] range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón --- recipes/wt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 23c11c902b6f8..7316afc068219 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -98,7 +98,7 @@ def requirements(self): else: self.requires("boost/1.83.0", transitive_headers = True) if self.options.connector_http: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): From 97eaead59fbf69d305ca9472783d219ef7210d19 Mon Sep 17 00:00:00 2001 From: xyz1001 Date: Sat, 30 Sep 2023 01:30:59 +0800 Subject: [PATCH 1809/4087] (#19611) libheif: fix dependencies cannot be found --- recipes/libheif/all/conandata.yml | 1 + .../all/patches/0001-cmake_1.16.2.patch | 12 +++++++ .../patches/0002-plugins_cmake_1.16.2.patch | 31 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 recipes/libheif/all/patches/0002-plugins_cmake_1.16.2.patch diff --git a/recipes/libheif/all/conandata.yml b/recipes/libheif/all/conandata.yml index 3ec98d8c37e22..e7a2fc9ba8c25 100644 --- a/recipes/libheif/all/conandata.yml +++ b/recipes/libheif/all/conandata.yml @@ -17,6 +17,7 @@ sources: patches: "1.16.2": - patch_file: "patches/0001-cmake_1.16.2.patch" + - patch_file: "patches/0002-plugins_cmake_1.16.2.patch" "1.13.0": - patch_file: "patches/0001-cmake_1.13.0.patch" "1.12.0": diff --git a/recipes/libheif/all/patches/0001-cmake_1.16.2.patch b/recipes/libheif/all/patches/0001-cmake_1.16.2.patch index 2743295160550..957b6fe2587f2 100644 --- a/recipes/libheif/all/patches/0001-cmake_1.16.2.patch +++ b/recipes/libheif/all/patches/0001-cmake_1.16.2.patch @@ -20,6 +20,18 @@ index de15948..589eab5 100644 option(ENABLE_PLUGIN_LOADING "Support loading of plugins" ON) set(PLUGIN_DIRECTORY "${CMAKE_INSTALL_FULL_LIBDIR}/libheif" CACHE STRING "Plugin install directory") +@@ -74,9 +74,9 @@ + find_package(${packageName}) + endif () + +- if (${variableName}_FOUND AND WITH_${variableName}_PLUGIN AND PLUGIN_LOADING_SUPPORTED_AND_ENABLED) ++ if (${packageName}_FOUND AND WITH_${packageName}_PLUGIN AND PLUGIN_LOADING_SUPPORTED_AND_ENABLED) + set(msg "found (plugin)") +- elseif (${variableName}_FOUND) ++ elseif (${packageName}_FOUND) + set(msg "found (built-in)") + elseif (WITH_${variableName}) + set(msg "not found") @@ -88,11 +88,11 @@ macro(plugin_option variableName packageName displayName displayType defaultPlug unset(msg) endmacro() diff --git a/recipes/libheif/all/patches/0002-plugins_cmake_1.16.2.patch b/recipes/libheif/all/patches/0002-plugins_cmake_1.16.2.patch new file mode 100644 index 0000000000000..ca167755d4ece --- /dev/null +++ b/recipes/libheif/all/patches/0002-plugins_cmake_1.16.2.patch @@ -0,0 +1,31 @@ +--- a/libheif/plugins/CMakeLists.txt ++++ b/libheif/plugins/CMakeLists.txt +@@ -44,23 +44,23 @@ + + set(X265_sources encoder_x265.h encoder_x265.cc) + set(X265_extra_plugin_sources) +-plugin_compilation(x265 X265 X265 X265) ++plugin_compilation(x265 x265 X265 X265) + + set(LIBDE265_sources decoder_libde265.cc decoder_libde265.h) + set(LIBDE265_extra_plugin_sources ../error.cc) +-plugin_compilation(libde265 LIBDE265 LIBDE265 LIBDE265) ++plugin_compilation(libde265 libde265 LIBDE265 LIBDE265) + + set(DAV1D_sources decoder_dav1d.cc decoder_dav1d.h) + set(DAV1D_extra_plugin_sources ../common_utils.cc ../common_utils.h) +-plugin_compilation(dav1d DAV1D DAV1D DAV1D) ++plugin_compilation(dav1d Dav1d DAV1D DAV1D) + + set(AOM_DECODER_sources decoder_aom.cc decoder_aom.h) + set(AOM_DECODER_extra_plugin_sources) +-plugin_compilation(aomdec AOM AOM_DECODER AOM_DECODER) ++plugin_compilation(aomdec libaom-av1 AOM_DECODER AOM_DECODER) + + set(AOM_ENCODER_sources encoder_aom.cc encoder_aom.h) + set(AOM_ENCODER_extra_plugin_sources ../error.cc ../common_utils.cc ../common_utils.h) +-plugin_compilation(aomenc AOM AOM_ENCODER AOM_ENCODER) ++plugin_compilation(aomenc libaom-av1 AOM_ENCODER AOM_ENCODER) + + set(SvtEnc_sources encoder_svt.cc encoder_svt.h) + set(SvtEnc_extra_plugin_sources) From 70febdf937547722894d8a3bf8886f9b3acceb5b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 29 Sep 2023 21:11:42 +0300 Subject: [PATCH 1810/4087] (#19653) libpq: bump minor versions, remove old versions --- recipes/libpq/all/conandata.yml | 69 +++++++------------ .../002-mingw-build-static-libraries.patch | 0 .../002-mingw-build-static-libraries.patch | 39 ----------- .../002-mingw-build-static-libraries.patch | 0 .../13.3/001-Remove-thread-safety-check.patch | 65 ----------------- .../002-mingw-build-static-libraries.patch | 0 .../002-mingw-build-static-libraries.patch | 39 ----------- .../002-mingw-build-static-libraries.patch | 39 ----------- .../002-mingw-build-static-libraries.patch | 39 ----------- .../002-mingw-build-static-libraries.patch | 0 recipes/libpq/all/test_package/CMakeLists.txt | 2 +- .../libpq/all/test_v1_package/CMakeLists.txt | 2 +- recipes/libpq/config.yml | 16 ++--- 13 files changed, 33 insertions(+), 277 deletions(-) rename recipes/libpq/all/patches/{10.20 => 10}/002-mingw-build-static-libraries.patch (100%) delete mode 100644 recipes/libpq/all/patches/11.15/002-mingw-build-static-libraries.patch rename recipes/libpq/all/patches/{12.10 => 12}/002-mingw-build-static-libraries.patch (100%) delete mode 100644 recipes/libpq/all/patches/13.3/001-Remove-thread-safety-check.patch rename recipes/libpq/all/patches/{13.6 => 13}/002-mingw-build-static-libraries.patch (100%) delete mode 100644 recipes/libpq/all/patches/14.2/002-mingw-build-static-libraries.patch delete mode 100644 recipes/libpq/all/patches/14.5/002-mingw-build-static-libraries.patch delete mode 100644 recipes/libpq/all/patches/14.7/002-mingw-build-static-libraries.patch rename recipes/libpq/all/patches/{9.6.24 => 9.6}/002-mingw-build-static-libraries.patch (100%) diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml index cf627d10addbc..04f5a5493155d 100644 --- a/recipes/libpq/all/conandata.yml +++ b/recipes/libpq/all/conandata.yml @@ -5,63 +5,46 @@ sources: "15.3": url: "https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.bz2" sha256: "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932" - "14.8": - url: "https://ftp.postgresql.org/pub/source/v14.8/postgresql-14.8.tar.bz2" - sha256: "39d38f0030737ed03835debeefee3b37d335462ce4995e2497bc38d621ebe45a" - "14.7": - url: "https://ftp.postgresql.org/pub/source/v14.7/postgresql-14.7.tar.bz2" - sha256: "cef60f0098fa8101c1546f4254e45b722af5431337945b37af207007630db331" - "14.5": - url: "https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.bz2" - sha256: "d4f72cb5fb857c9a9f75ec8cf091a1771272802f2178f0b2e65b7b6ff64f4a30" - "14.2": - url: "https://ftp.postgresql.org/pub/source/v14.2/postgresql-14.2.tar.bz2" - sha256: "2cf78b2e468912f8101d695db5340cf313c2e9f68a612fb71427524e8c9a977a" - "13.6": - url: "https://ftp.postgresql.org/pub/source/v13.6/postgresql-13.6.tar.gz" - sha256: "42dcde620b627d35bf51dfc2c1d0f7f25f44d3dbedd81cc459da2d2c9e859059" - "12.10": - url: "https://ftp.postgresql.org/pub/source/v12.10/postgresql-12.10.tar.gz" - sha256: "987e008699d52d5de4bae0580416f6c75aa28016b11543c42f5fbde5efbdfb56" - "11.15": - url: "https://ftp.postgresql.org/pub/source/v11.15/postgresql-11.15.tar.gz" - sha256: "5f6ef2add1acb93d69012a55c3f276b91f4f0c91aa9a91243d9c5737ed5b5541" - "10.20": - url: "https://ftp.postgresql.org/pub/source/v10.20/postgresql-10.20.tar.gz" - sha256: "403bdad47101f7c0a15824627dd0fa0ad4abf1fa26d2bde77dea8921da25a48e" + "14.9": + url: "https://ftp.postgresql.org/pub/source/v14.9/postgresql-14.9.tar.bz2" + sha256: "b1fe3ba9b1a7f3a9637dd1656dfdad2889016073fd4d35f13b50143cbbb6a8ef" + "13.12": + url: "https://ftp.postgresql.org/pub/source/v13.12/postgresql-13.12.tar.gz" + sha256: "3aef84ff557087bd01df4365a7a85e11678faa55ab6fb6c4283d57e41997a80c" + "12.16": + url: "https://ftp.postgresql.org/pub/source/v12.16/postgresql-12.16.tar.gz" + sha256: "5cca6efb649bce91d9b3637f935ce8714a86b87b3b1092010f50349a6edde0e9" + "11.21": + url: "https://ftp.postgresql.org/pub/source/v11.21/postgresql-11.21.tar.gz" + sha256: "e48b5d5dc68cd5549ef6258facaaf7941ae8bd1cde56709203846167aa20af04" + "10.23": + url: "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.gz" + sha256: "39886b7fbf375fdd79e94b676d8346a62c3c190ccf00b3f763002c8fc8fb71f0" "9.6.24": url: "https://ftp.postgresql.org/pub/source/v9.6.24/postgresql-9.6.24.tar.gz" sha256: "52947ecc119846eace5164399d173576c0d4a47ec116ae58a46a8fd0c576c7c3" patches: - "14.7": - - patch_file: "patches/14.7/002-mingw-build-static-libraries.patch" + "14.9": + - patch_file: "patches/13/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" - "14.5": - - patch_file: "patches/14.5/002-mingw-build-static-libraries.patch" + "13.12": + - patch_file: "patches/13/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" - "14.2": - - patch_file: "patches/14.2/002-mingw-build-static-libraries.patch" + "12.16": + - patch_file: "patches/12/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" - "13.6": - - patch_file: "patches/13.6/002-mingw-build-static-libraries.patch" + "11.21": + - patch_file: "patches/10/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" - "12.10": - - patch_file: "patches/12.10/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "11.15": - - patch_file: "patches/11.15/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "10.20": - - patch_file: "patches/10.20/002-mingw-build-static-libraries.patch" + "10.23": + - patch_file: "patches/10/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" "9.6.24": - - patch_file: "patches/9.6.24/002-mingw-build-static-libraries.patch" + - patch_file: "patches/9.6/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" diff --git a/recipes/libpq/all/patches/10.20/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/10/002-mingw-build-static-libraries.patch similarity index 100% rename from recipes/libpq/all/patches/10.20/002-mingw-build-static-libraries.patch rename to recipes/libpq/all/patches/10/002-mingw-build-static-libraries.patch diff --git a/recipes/libpq/all/patches/11.15/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/11.15/002-mingw-build-static-libraries.patch deleted file mode 100644 index bfa322133c73c..0000000000000 --- a/recipes/libpq/all/patches/11.15/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -371,7 +371,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -384,12 +387,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - endif - - endif # PORTNAME == cygwin -@@ -484,6 +487,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/all/patches/12.10/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/12/002-mingw-build-static-libraries.patch similarity index 100% rename from recipes/libpq/all/patches/12.10/002-mingw-build-static-libraries.patch rename to recipes/libpq/all/patches/12/002-mingw-build-static-libraries.patch diff --git a/recipes/libpq/all/patches/13.3/001-Remove-thread-safety-check.patch b/recipes/libpq/all/patches/13.3/001-Remove-thread-safety-check.patch deleted file mode 100644 index c650bf767f6d5..0000000000000 --- a/recipes/libpq/all/patches/13.3/001-Remove-thread-safety-check.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/configure b/configure -index cbbaf77..f723154 100755 ---- a/configure -+++ b/configure -@@ -18836,60 +18836,6 @@ fi - fi - fi - --# Thread testing -- --# We have to run the thread test near the end so we have all our symbols --# defined. Cross compiling throws a warning. --# --if test "$enable_thread_safety" = yes; then --if test "$PORTNAME" != "win32" --then --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking thread safety of required library functions" >&5 --$as_echo_n "checking thread safety of required library functions... " >&6; } -- --_CFLAGS="$CFLAGS" --_LIBS="$LIBS" --CFLAGS="$CFLAGS $PTHREAD_CFLAGS -DIN_CONFIGURE" --LIBS="$LIBS $PTHREAD_LIBS" --if test "$cross_compiling" = yes; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: maybe" >&5 --$as_echo "maybe" >&6; } -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --*** Skipping thread test program because of cross-compile build. --*** Run the program in src/test/thread on the target machine. --" >&5 --$as_echo "$as_me: WARNING: --*** Skipping thread test program because of cross-compile build. --*** Run the program in src/test/thread on the target machine. --" >&2;} --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include "$srcdir/src/test/thread/thread_test.c" --_ACEOF --if ac_fn_c_try_run "$LINENO"; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } -- as_fn_error $? "thread test program failed --This platform is not thread-safe. Check the file 'config.log' or compile --and run src/test/thread/thread_test for the exact reason. --Use --disable-thread-safety to disable thread safety." "$LINENO" 5 --fi --rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -- conftest.$ac_objext conftest.beam conftest.$ac_ext --fi -- --CFLAGS="$_CFLAGS" --LIBS="$_LIBS" --else --{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** skipping thread test on Win32" >&5 --$as_echo "$as_me: WARNING: *** skipping thread test on Win32" >&2;} --fi --fi -- - # If compiler will take -Wl,--as-needed (or various platform-specific - # spellings thereof) then add that to LDFLAGS. This is much easier than - # trying to filter LIBS to the minimum for each executable. diff --git a/recipes/libpq/all/patches/13.6/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/13/002-mingw-build-static-libraries.patch similarity index 100% rename from recipes/libpq/all/patches/13.6/002-mingw-build-static-libraries.patch rename to recipes/libpq/all/patches/13/002-mingw-build-static-libraries.patch diff --git a/recipes/libpq/all/patches/14.2/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/14.2/002-mingw-build-static-libraries.patch deleted file mode 100644 index ce58850706373..0000000000000 --- a/recipes/libpq/all/patches/14.2/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -358,7 +358,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -371,12 +374,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - - UC_NAME = $(shell echo $(NAME) | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') - -@@ -452,6 +455,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/all/patches/14.5/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/14.5/002-mingw-build-static-libraries.patch deleted file mode 100644 index ce58850706373..0000000000000 --- a/recipes/libpq/all/patches/14.5/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -358,7 +358,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -371,12 +374,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - - UC_NAME = $(shell echo $(NAME) | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') - -@@ -452,6 +455,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/all/patches/14.7/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/14.7/002-mingw-build-static-libraries.patch deleted file mode 100644 index ce58850706373..0000000000000 --- a/recipes/libpq/all/patches/14.7/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -358,7 +358,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -371,12 +374,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - - UC_NAME = $(shell echo $(NAME) | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') - -@@ -452,6 +455,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/all/patches/9.6.24/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/9.6/002-mingw-build-static-libraries.patch similarity index 100% rename from recipes/libpq/all/patches/9.6.24/002-mingw-build-static-libraries.patch rename to recipes/libpq/all/patches/9.6/002-mingw-build-static-libraries.patch diff --git a/recipes/libpq/all/test_package/CMakeLists.txt b/recipes/libpq/all/test_package/CMakeLists.txt index db0dafd7c0984..b9f4d7ab61bce 100644 --- a/recipes/libpq/all/test_package/CMakeLists.txt +++ b/recipes/libpq/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(PostgreSQL REQUIRED) diff --git a/recipes/libpq/all/test_v1_package/CMakeLists.txt b/recipes/libpq/all/test_v1_package/CMakeLists.txt index de3b75d9538de..2f11d9b196ef7 100644 --- a/recipes/libpq/all/test_v1_package/CMakeLists.txt +++ b/recipes/libpq/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/libpq/config.yml b/recipes/libpq/config.yml index 5a83ac4481a63..e010db029229d 100644 --- a/recipes/libpq/config.yml +++ b/recipes/libpq/config.yml @@ -3,21 +3,15 @@ versions: folder: all "15.3": folder: all - "14.8": + "14.9": folder: all - "14.7": + "13.12": folder: all - "14.5": + "12.16": folder: all - "14.2": + "11.21": folder: all - "13.6": - folder: all - "12.10": - folder: all - "11.15": - folder: all - "10.20": + "10.23": folder: all "9.6.24": folder: all From cf1607144dfbc88d5802c4d007e66b985be0d791 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 29 Sep 2023 20:50:48 +0200 Subject: [PATCH 1811/4087] (#19984) Bump/pulseaudio/all * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pulseaudio/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pulseaudio/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py index f1b1de05bf967..e50cb73ff538a 100644 --- a/recipes/pulseaudio/all/conanfile.py +++ b/recipes/pulseaudio/all/conanfile.py @@ -59,12 +59,12 @@ def layout(self): def requirements(self): self.requires("libiconv/1.17") self.requires("libsndfile/1.2.2") - self.requires("libcap/2.68") + self.requires("libcap/2.69") self.requires("libtool/2.4.7") if self.options.with_alsa: - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") if self.options.with_glib: - self.requires("glib/2.77.2") + self.requires("glib/2.78.0") if self.options.get_safe("with_fftw"): self.requires("fftw/3.3.10") if self.options.with_x11: @@ -90,7 +90,7 @@ def build_requirements(self): self.tool_requires("gettext/0.21") self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 619835dcc32a7c01409c964238a581180e309b24 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 29 Sep 2023 21:31:08 +0200 Subject: [PATCH 1812/4087] (#19986) wayland/all: bump deps * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland/all/conanfile.py | 4 ++-- recipes/wayland/all/test_package/conanfile.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 4deb10375518e..fd8bace1e9cb7 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -58,9 +58,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if cross_building(self): self.tool_requires(str(self.ref)) diff --git a/recipes/wayland/all/test_package/conanfile.py b/recipes/wayland/all/test_package/conanfile.py index c201ad68aff34..e9a83534cede7 100644 --- a/recipes/wayland/all/test_package/conanfile.py +++ b/recipes/wayland/all/test_package/conanfile.py @@ -21,7 +21,7 @@ def requirements(self): def build_requirements(self): self.tool_requires(self.tested_reference_str) if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def layout(self): cmake_layout(self) From 821b8eba1977c7018fe59c54f69f6c2c42dff467 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 30 Sep 2023 05:32:58 +0900 Subject: [PATCH 1813/4087] (#19988) trantor: add version 1.5.14 --- recipes/trantor/all/conandata.yml | 7 +++++++ recipes/trantor/all/conanfile.py | 2 +- recipes/trantor/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index 2c3c3f7c60a56..efeba0b7ed4a1 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.14": + url: "https://github.com/an-tao/trantor/archive/v1.5.14.tar.gz" + sha256: "80775d65fd49dfb0eb85d70cd9c0f0cff38a7f46c90db918862c46e03ae63810" "1.5.13": url: "https://github.com/an-tao/trantor/archive/v1.5.13.tar.gz" sha256: "36f02302bff3ffa8d2b1bff29f451d7a11d215a43963fb95aa543b555de2f9bf" @@ -24,6 +27,10 @@ sources: url: "https://github.com/an-tao/trantor/archive/refs/tags/v1.5.5.tar.gz" sha256: "5a549c6efebe7ecba73a944cfba4a9713130704d4ccc82af534a2e108b9a0e71" patches: + "1.5.14": + - patch_file: "patches/1.5.12-0001-disable-werror.patch" + patch_description: "disable -Werror for gcc5" + patch_type: "portability" "1.5.13": - patch_file: "patches/1.5.12-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 8d8c3bbf7e46e..6445f7c107ca0 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -38,7 +38,7 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "gcc": "5", - "Visual Studio": "15.0", + "Visual Studio": "15", "msvc": "191", "clang": "5", "apple-clang": "10", diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index 51f47024c02e3..e6a0e702be9d0 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.14": + folder: "all" "1.5.13": folder: "all" "1.5.12": From cc0ffd6ca01b01bf8aad6b8eb2ad728b6ec30827 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 29 Sep 2023 23:30:03 +0200 Subject: [PATCH 1814/4087] (#19992) mpg123/all: bump deps * mpg123/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * mpg123/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * mpg123/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * mpg123/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/mpg123/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/mpg123/all/conanfile.py b/recipes/mpg123/all/conanfile.py index 5ff9754f83253..7b5dfaff84832 100644 --- a/recipes/mpg123/all/conanfile.py +++ b/recipes/mpg123/all/conanfile.py @@ -83,7 +83,7 @@ def layout(self): def requirements(self): if self.options.module == "libalsa": - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") if self.options.module == "tinyalsa": self.requires("tinyalsa/2.0.0") @@ -96,7 +96,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self.settings.arch in ["x86", "x86_64"]: self.tool_requires("yasm/1.3.0") if self._settings_build.os == "Windows": From c4cfd754b1289e87b3baec427f12e30a600d5d53 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 30 Sep 2023 00:32:22 +0200 Subject: [PATCH 1815/4087] (#19993) libsndfile/all: bump deps * libsndfile/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsndfile/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsndfile/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libsndfile/all/conanfile.py b/recipes/libsndfile/all/conanfile.py index ef6e2406db761..600abe6411b5e 100644 --- a/recipes/libsndfile/all/conanfile.py +++ b/recipes/libsndfile/all/conanfile.py @@ -58,12 +58,12 @@ def layout(self): def requirements(self): if self.options.get_safe("with_alsa"): - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") if self.options.with_external_libs: self.requires("ogg/1.3.5") self.requires("vorbis/1.3.7") self.requires("flac/1.4.2") - self.requires("opus/1.3.1") + self.requires("opus/1.4") if self.options.get_safe("with_mpeg", False): self.requires("mpg123/1.31.2") self.requires("libmp3lame/3.100") From a2b4f531e53ccd3b9039fafef4c702d3557aa889 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 02:54:46 +0300 Subject: [PATCH 1816/4087] (#19995) aws-c-common: add new versions, remove old versions * aws-c-common: add version 0.8.23 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-common: add version 0.9.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * aws-c-common: remove old versions --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/aws-c-common/all/conandata.yml | 48 ++++---------------------- recipes/aws-c-common/config.yml | 30 ++-------------- 2 files changed, 9 insertions(+), 69 deletions(-) diff --git a/recipes/aws-c-common/all/conandata.yml b/recipes/aws-c-common/all/conandata.yml index 6929bedbf2e12..92698304089d5 100644 --- a/recipes/aws-c-common/all/conandata.yml +++ b/recipes/aws-c-common/all/conandata.yml @@ -1,55 +1,19 @@ sources: + "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.2": - url: "https://github.com/awslabs/aws-c-common/archive/v0.8.2.tar.gz" - sha256: "36edc6e486c43bbb34059dde227e872c0d41ab54f0b3609d38f188cfbbc6d1f8" + "0.8.23": + url: "https://github.com/awslabs/aws-c-common/archive/v0.8.23.tar.gz" + sha256: "67455d8149c74b1db3e4dd68db47dc7372de02dd78fbc620f9c7f0270d9d6018" "0.7.5": url: "https://github.com/awslabs/aws-c-common/archive/v0.7.5.tar.gz" sha256: "e34fd3d3d32e3597f572205aaabbe995e162f4015e14c7328987b596bd25812c" - "0.7.4": - url: "https://github.com/awslabs/aws-c-common/archive/v0.7.4.tar.gz" - sha256: "e9462a141b5db30006704f537d19b92357a59be38d590272e6118976b0356ccd" - "0.7.3": - url: "https://github.com/awslabs/aws-c-common/archive/v0.7.3.tar.gz" - sha256: "e4b80d368668814d9b76989fd2e3cd0fcf0be160bbb8bfeedf1f652e27f9c08c" - "0.7.2": - url: "https://github.com/awslabs/aws-c-common/archive/v0.7.2.tar.gz" - sha256: "455aed7447ed58eb7d5d3e8c952ed59f77c71dfed4115883e900f36d95f06dab" - "0.7.1": - url: "https://github.com/awslabs/aws-c-common/archive/v0.7.1.tar.gz" - sha256: "75c444a337e446e82d4f71c127118981656234b25cbdfd5913b8de713354fb43" - "0.7.0": - url: "https://github.com/awslabs/aws-c-common/archive/v0.7.0.tar.gz" - sha256: "a4e94d2c1d045a27467c9dfae51382f851a5223c3a0ecc15a96d1dba94f85ad6" "0.6.20": url: "https://github.com/awslabs/aws-c-common/archive/v0.6.20.tar.gz" sha256: "6eb0b806c78b36a32eec9bcba8d2833e3973491a29d46fe3d11edc3f8d3e7f73" - "0.6.19": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.19.tar.gz" - sha256: "91cb2b809687be19fce8d6ca03ddc00c78723854ead30dcb58bdc4172cb1796c" - "0.6.17": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.17.tar.gz" - sha256: "441156ecfabb84e41601d7173a7f88267f099899f0ae6091c3b745d9e02211f6" - "0.6.15": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.15.tar.gz" - sha256: "eb3ead3fb7a1f09c046393f776a96a0f50ae5f38c70d462273084280383669f1" - "0.6.14": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.14.tar.gz" - sha256: "1691c9dad5a0d236c2a0e351cc972231b176947e454c61d1c4b3ea4ab42f32e7" - "0.6.11": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.11.tar.gz" - sha256: "86159bd1128eee2813f705c275d319e14d1b77017fab46f6ca5dafcc66edaea9" - "0.6.9": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.9.tar.gz" - sha256: "928a3e36f24d1ee46f9eec360ec5cebfe8b9b8994fe39d4fa74ff51aebb12717" - "0.6.8": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.8.tar.gz" - sha256: "2997e851ed690a614507a43f4c393f45a198614d94da1660ecdf9b5a729535fc" - "0.6.7": - url: "https://github.com/awslabs/aws-c-common/archive/v0.6.7.tar.gz" - sha256: "643b35c62f948367f484f3a436bc37b5799538f47b08aa72deb3818b8bcdc631" "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 472e641908fd0..e70a8039b9bc5 100644 --- a/recipes/aws-c-common/config.yml +++ b/recipes/aws-c-common/config.yml @@ -1,37 +1,13 @@ versions: + "0.9.3": + folder: all "0.9.0": folder: all - "0.8.2": + "0.8.23": folder: all "0.7.5": folder: all - "0.7.4": - folder: all - "0.7.3": - folder: all - "0.7.2": - folder: all - "0.7.1": - folder: all - "0.7.0": - folder: all "0.6.20": folder: all - "0.6.19": - folder: all - "0.6.17": - folder: all - "0.6.15": - folder: all - "0.6.14": - folder: all - "0.6.11": - folder: all - "0.6.9": - folder: all - "0.6.8": - folder: all - "0.6.7": - folder: all "0.4.25": folder: all From b432a363190fd864352964a26ba4ab4bcb51d594 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 03:30:05 +0300 Subject: [PATCH 1817/4087] (#19997) cuda-api-wrappers: add version 0.7 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/cuda-api-wrappers/all/conandata.yml | 3 +++ recipes/cuda-api-wrappers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cuda-api-wrappers/all/conandata.yml b/recipes/cuda-api-wrappers/all/conandata.yml index fa4742f5cc320..5990b0d96ecd6 100644 --- a/recipes/cuda-api-wrappers/all/conandata.yml +++ b/recipes/cuda-api-wrappers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7": + url: "https://github.com/eyalroz/cuda-api-wrappers/archive/0.7b1.tar.gz" + sha256: "1ed5912d8f602ccd176865b824de17f462cb57142eb2a685d7cc034831e54a71" "0.6.3": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.6.3.tar.gz" sha256: "45d896136dbb4df6c75c36071899b9fe47df9a03629c95208c2d5bda979d109e" diff --git a/recipes/cuda-api-wrappers/config.yml b/recipes/cuda-api-wrappers/config.yml index a98729f2af8b0..b1edd3de7d7ae 100644 --- a/recipes/cuda-api-wrappers/config.yml +++ b/recipes/cuda-api-wrappers/config.yml @@ -1,3 +1,5 @@ versions: + "0.7": + folder: all "0.6.3": folder: all From f69f237c5466f9d88cff153aefe114a5747c90d3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 30 Sep 2023 02:50:29 +0200 Subject: [PATCH 1818/4087] (#19999) pixman: bump meson --- recipes/pixman/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pixman/all/conanfile.py b/recipes/pixman/all/conanfile.py index a5d1aeafc9a5d..e14d1aef8b3a4 100644 --- a/recipes/pixman/all/conanfile.py +++ b/recipes/pixman/all/conanfile.py @@ -54,7 +54,7 @@ def validate(self): raise ConanInvalidConfiguration("pixman can only be built as a static library on Windows") def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From bc5efe1efb6c5930ccc33bd0e114ef6943f7ab58 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 30 Sep 2023 03:30:17 +0200 Subject: [PATCH 1819/4087] (#20004) libpsl: bump icu, meson & pkgconf --- recipes/libpsl/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libpsl/all/conanfile.py b/recipes/libpsl/all/conanfile.py index ec026aac098e8..0de3f9766ed38 100644 --- a/recipes/libpsl/all/conanfile.py +++ b/recipes/libpsl/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): if self.options.with_idna == "icu": - self.requires("icu/72.1") + self.requires("icu/73.2") elif self.options.with_idna == "libidn": self.requires("libidn/1.36") elif self.options.with_idna == "libidn2": @@ -57,9 +57,9 @@ def requirements(self): self.requires("libunistring/0.9.10") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 9a51b40ce89fb344707ca8ffcb9b58a4ae3edaf8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 05:09:43 +0300 Subject: [PATCH 1820/4087] (#20005) vsg: add version 1.0.9 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/vsg/all/conandata.yml | 3 +++ recipes/vsg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/vsg/all/conandata.yml b/recipes/vsg/all/conandata.yml index f79242254e9e4..3b2abd6731e51 100644 --- a/recipes/vsg/all/conandata.yml +++ b/recipes/vsg/all/conandata.yml @@ -8,3 +8,6 @@ sources: "1.0.5": url: "https://github.com/vsg-dev/VulkanSceneGraph/archive/refs/tags/v1.0.5.tar.gz" sha256: "ff58260fcb88d19d92c40a70bc40ff06abb1a8805568eb76862a036d13ada75b" + "1.0.9": + url: "https://github.com/vsg-dev/VulkanSceneGraph/archive/v1.0.9.tar.gz" + sha256: "9a62be7facc13c391c33dc8356b147a3b86f531ea72a28f6b2c364777e761412" diff --git a/recipes/vsg/config.yml b/recipes/vsg/config.yml index 058c041064a22..9269a45607b90 100644 --- a/recipes/vsg/config.yml +++ b/recipes/vsg/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.9": + folder: all "1.0.5": folder: all "1.0.3": From 4021bd012bbaa6ca37074ca54878a02117167519 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 05:55:23 +0300 Subject: [PATCH 1821/4087] (#20006) caf: add version 0.19.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/caf/all/conandata.yml | 3 +++ recipes/caf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/caf/all/conandata.yml b/recipes/caf/all/conandata.yml index 260be0caef66d..396e0bc5ecfa6 100644 --- a/recipes/caf/all/conandata.yml +++ b/recipes/caf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.19.3": + url: "https://github.com/actor-framework/actor-framework/archive/0.19.3.tar.gz" + sha256: "97ca81bda2e8451505dbaf2aafddc99ffcee7af3db51ae9cbc5c11a3c46c921c" "0.19.2": url: "https://github.com/actor-framework/actor-framework/archive/0.19.2.tar.gz" sha256: "aa3fcc494424e0e20b177125458a6a6ed39c751a3d3d5193054e88bdf8a146d2" diff --git a/recipes/caf/config.yml b/recipes/caf/config.yml index 9d2f0ee39c464..4e03d61da3e52 100644 --- a/recipes/caf/config.yml +++ b/recipes/caf/config.yml @@ -1,4 +1,6 @@ versions: + "0.19.3": + folder: all "0.19.2": folder: all "0.18.6": From a21c06e4b6d56cfc42d24e9131d8905caed8ecc8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 06:34:11 +0300 Subject: [PATCH 1822/4087] (#20007) nvtx: add version 3.1.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/nvtx/all/conandata.yml | 3 +++ recipes/nvtx/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nvtx/all/conandata.yml b/recipes/nvtx/all/conandata.yml index 7d5d894d50353..48340be192d8e 100644 --- a/recipes/nvtx/all/conandata.yml +++ b/recipes/nvtx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.0": + url: "https://github.com/NVIDIA/NVTX/archive/v3.1.0.tar.gz" + sha256: "dc4e4a227d04d3da46ad920dfee5f7599ac8d6b2ee1809c9067110fb1cc71ced" "3.0.1": url: "https://github.com/NVIDIA/NVTX/archive/refs/tags/v3.0.1.tar.gz" sha256: "bb8d1536aad708ec807bc675e12e5838c2f84481dec4005cd7a9bbd49e326ba1" diff --git a/recipes/nvtx/config.yml b/recipes/nvtx/config.yml index f1eca9cdf76de..188be115336dd 100644 --- a/recipes/nvtx/config.yml +++ b/recipes/nvtx/config.yml @@ -1,3 +1,5 @@ versions: + "3.1.0": + folder: all "3.0.1": folder: all From 2aa7d8b3541df2d705f865cc2059b1aad419f68c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Sep 2023 06:11:25 +0200 Subject: [PATCH 1823/4087] (#20011) libtiff/all: bump libwebp --- recipes/libtiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 3393b9d3d4cd6..c650a266c17ca 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -79,7 +79,7 @@ def requirements(self): if self.options.zstd: self.requires("zstd/1.5.5") if self.options.webp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") def validate(self): if self.options.libdeflate and not self.options.zlib: From b71d402a919c1205c9140b333230e32ee89b1e1f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 08:09:55 +0300 Subject: [PATCH 1824/4087] (#20012) platform.exceptions: add version 0.5.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/platform.exceptions/all/conandata.yml | 13 ++++++++----- recipes/platform.exceptions/config.yml | 4 +++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/recipes/platform.exceptions/all/conandata.yml b/recipes/platform.exceptions/all/conandata.yml index 9d13e79d6d995..9459ce54f6fdc 100644 --- a/recipes/platform.exceptions/all/conandata.yml +++ b/recipes/platform.exceptions/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "0.2.0": - url: https://github.com/linksplatform/Exceptions/archive/refs/tags/0.4.0_0.2.0.zip - sha256: 9e4513da667e41f0bbe776123747ac63958972edb00eaee300c495ae3b39eb9b + "0.5.0": + url: "https://github.com/linksplatform/Exceptions/archive/csharp_0.5.0.tar.gz" + sha256: "5fbdd49adf7840431a581d0bfe61a5d247398a1fe622101b3985714d11d411f4" "0.3.0": - url: https://github.com/linksplatform/Exceptions/archive/refs/tags/cpp_0.3.0.zip - sha256: 08506f334098e8c9106ff357efd7f68b83a3c1f4dc03b6b97b6229b14737d0ce + url: "https://github.com/linksplatform/Exceptions/archive/refs/tags/cpp_0.3.0.zip" + sha256: "08506f334098e8c9106ff357efd7f68b83a3c1f4dc03b6b97b6229b14737d0ce" + "0.2.0": + url: "https://github.com/linksplatform/Exceptions/archive/refs/tags/0.4.0_0.2.0.zip" + sha256: "9e4513da667e41f0bbe776123747ac63958972edb00eaee300c495ae3b39eb9b" diff --git a/recipes/platform.exceptions/config.yml b/recipes/platform.exceptions/config.yml index 0906286bf1225..918726b6e0530 100644 --- a/recipes/platform.exceptions/config.yml +++ b/recipes/platform.exceptions/config.yml @@ -1,5 +1,7 @@ versions: - "0.2.0": + "0.5.0": folder: all "0.3.0": folder: all + "0.2.0": + folder: all From f4e7e286a06e5255e8c956a07eae5ce8f1227369 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 08:29:16 +0300 Subject: [PATCH 1825/4087] (#20013) platform.converters: add version 0.4.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/platform.converters/all/conandata.yml | 7 +++++-- recipes/platform.converters/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/platform.converters/all/conandata.yml b/recipes/platform.converters/all/conandata.yml index dbc2ae3eae699..f7a43902b2ca7 100644 --- a/recipes/platform.converters/all/conandata.yml +++ b/recipes/platform.converters/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.4.0": + url: "https://github.com/linksplatform/Converters/archive/csharp_0.4.0.tar.gz" + sha256: "dd55cff0c66fbb169d255d12e62c0ceba2e9d5c94921786871945c3a5c2d7357" "0.1.0": - url: https://github.com/linksplatform/Converters/archive/refs/tags/cpp_0.1.0.zip - sha256: a1a9e566b6628b1e09875f9ee93fb7fb600a8371d07e00a25c127e1609375d96 + url: "https://github.com/linksplatform/Converters/archive/refs/tags/cpp_0.1.0.zip" + sha256: "a1a9e566b6628b1e09875f9ee93fb7fb600a8371d07e00a25c127e1609375d96" diff --git a/recipes/platform.converters/config.yml b/recipes/platform.converters/config.yml index 6c11a439d0bc2..22f695c341d3f 100644 --- a/recipes/platform.converters/config.yml +++ b/recipes/platform.converters/config.yml @@ -1,3 +1,5 @@ versions: + "0.4.0": + folder: all "0.1.0": folder: all From b39380054faab2592e02e9a4c9b1bd6de347dfbb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 08:49:28 +0300 Subject: [PATCH 1826/4087] (#20016) proj: add version 9.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/proj/all/conandata.yml | 7 +++++++ recipes/proj/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/proj/all/conandata.yml b/recipes/proj/all/conandata.yml index 8f4cf560d8dc4..865b4bba90467 100644 --- a/recipes/proj/all/conandata.yml +++ b/recipes/proj/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.3.0": + url: "https://github.com/OSGeo/PROJ/archive/9.3.0.tar.gz" + sha256: "f48c334eaf56c38d681bcfa37f188f422a562f45a66e6e646a79b4249641ecdb" "9.2.1": url: "https://github.com/OSGeo/PROJ/releases/download/9.2.1/proj-9.2.1.tar.gz" sha256: "15ebf4afa8744b9e6fccb5d571fc9f338dc3adcf99907d9e62d1af815d4971a1" @@ -24,6 +27,10 @@ sources: url: "https://github.com/OSGeo/PROJ/releases/download/6.3.1/proj-6.3.1.tar.gz" sha256: "6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8" patches: + "9.3.0": + - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" + patch_type: "conan" + patch_description: "Use cmake targets" "9.2.1": - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" patch_type: "conan" diff --git a/recipes/proj/config.yml b/recipes/proj/config.yml index 1eba8e77164d5..57e61ab70191e 100644 --- a/recipes/proj/config.yml +++ b/recipes/proj/config.yml @@ -1,4 +1,6 @@ versions: + "9.3.0": + folder: "all" "9.2.1": folder: "all" "9.1.1": From a26a213f8175eb71450f2b08dde8fbb081c8c36e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 09:30:23 +0300 Subject: [PATCH 1827/4087] (#20018) stc: add version 4.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/stc/all/conandata.yml | 3 +++ recipes/stc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stc/all/conandata.yml b/recipes/stc/all/conandata.yml index a87f93d04cdef..a7dd10bef0b55 100644 --- a/recipes/stc/all/conandata.yml +++ b/recipes/stc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2": + url: "https://github.com/tylov/STC/archive/v4.2.tar.gz" + sha256: "f16c3185ba5693f0257e5b521f0b6b3c11041433a4abbbbc531370364eb75d0c" "4.1.1": url: "https://github.com/tylov/STC/archive/refs/tags/v4.1.1.tar.gz" sha256: "4386f7bc6480ba101f3e71b1adccfff8ccf586a31271d6ddc0f634d727d9f031" diff --git a/recipes/stc/config.yml b/recipes/stc/config.yml index bfb07935d0412..3db9bf640436f 100644 --- a/recipes/stc/config.yml +++ b/recipes/stc/config.yml @@ -1,4 +1,6 @@ versions: + "4.2": + folder: "all" "4.1.1": folder: "all" "3.9": From 7407669cfdefc926a7d8209510fb545a641731b5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 10:10:21 +0300 Subject: [PATCH 1828/4087] (#20019) librdkafka: add version 2.2.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 79827450beb2c..81ba31cdfb277 100644 --- a/recipes/librdkafka/all/conandata.yml +++ b/recipes/librdkafka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/edenhill/librdkafka/archive/v2.2.0.tar.gz" + sha256: "af9a820cbecbc64115629471df7c7cecd40403b6c34bfdbb9223152677a47226" "2.0.2": url: "https://github.com/edenhill/librdkafka/archive/v2.0.2.tar.gz" sha256: "f321bcb1e015a34114c83cf1aa7b99ee260236aab096b85c003170c90a47ca9d" @@ -27,6 +30,13 @@ sources: url: "https://github.com/edenhill/librdkafka/archive/v1.5.3.tar.gz" sha256: "2105ca01fef5beca10c9f010bc50342b15d5ce6b73b2489b012e6d09a008b7bf" patches: + "2.2.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-0-2.patch + patch_description: "refer conan package names" + patch_type: "conan" "2.0.2": - 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 92b3b67d04bdf..6e80eff9af885 100644 --- a/recipes/librdkafka/config.yml +++ b/recipes/librdkafka/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: all "2.0.2": folder: all "1.9.2": From 1c009c90c4eddaa24d233bdc71b55693b4b9baa1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 10:51:05 +0300 Subject: [PATCH 1829/4087] (#20021) outcome: add version 2.2.7 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/outcome/all/conandata.yml | 3 +++ recipes/outcome/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/outcome/all/conandata.yml b/recipes/outcome/all/conandata.yml index a2d2ce108afcd..68135018bb900 100644 --- a/recipes/outcome/all/conandata.yml +++ b/recipes/outcome/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.7": + url: "https://github.com/ned14/outcome/archive/v2.2.7.tar.gz" + sha256: "553fd03bb9684be19dfa251bfa0064e69e30a95b6b0ba9a62d68f8ec4e31662a" "2.2.4": url: "https://github.com/ned14/outcome/archive/v2.2.4.tar.gz" sha256: "29ad35c1980cf7f75294bb52df678c6a08817228e880fac8454cd6ac390fa1fc" diff --git a/recipes/outcome/config.yml b/recipes/outcome/config.yml index a37008481a173..08abb1cf7e40b 100644 --- a/recipes/outcome/config.yml +++ b/recipes/outcome/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.7": + folder: all "2.2.4": folder: all "2.2.3": From b5067eac1a74ed57fc591543e6c933c48502ca73 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 11:11:13 +0300 Subject: [PATCH 1830/4087] (#20024) redboltz-mqtt_cpp: add version 13.2.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/redboltz-mqtt_cpp/all/conandata.yml | 3 +++ recipes/redboltz-mqtt_cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/redboltz-mqtt_cpp/all/conandata.yml b/recipes/redboltz-mqtt_cpp/all/conandata.yml index ad87340ad9e35..edcba50235f7c 100644 --- a/recipes/redboltz-mqtt_cpp/all/conandata.yml +++ b/recipes/redboltz-mqtt_cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "13.2.1": + url: "https://github.com/redboltz/mqtt_cpp/archive/v13.2.1.tar.gz" + sha256: "7607536cb7e0e4d32831ef068c48d3d62707df80ba35c5a3fdc31851e7876a9d" "13.0.0": url: "https://github.com/redboltz/mqtt_cpp/archive/refs/tags/v13.0.0.tar.gz" sha256: "5d06caa1218feb23d0a63892ced7b0edfd1f686002676175f6e384275a27a1e7" diff --git a/recipes/redboltz-mqtt_cpp/config.yml b/recipes/redboltz-mqtt_cpp/config.yml index ed9e26c6552eb..3eb6ce30d6747 100644 --- a/recipes/redboltz-mqtt_cpp/config.yml +++ b/recipes/redboltz-mqtt_cpp/config.yml @@ -1,3 +1,5 @@ versions: + "13.2.1": + folder: all "13.0.0": folder: all From a6ca0b5fd7a494d813b3df61f0f8eb2c60b5aa77 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 11:30:10 +0300 Subject: [PATCH 1831/4087] (#20026) openddl-parser: add version 0.5.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/openddl-parser/all/conandata.yml | 3 +++ recipes/openddl-parser/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openddl-parser/all/conandata.yml b/recipes/openddl-parser/all/conandata.yml index aff9aad9e373b..367951b808907 100644 --- a/recipes/openddl-parser/all/conandata.yml +++ b/recipes/openddl-parser/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.1": + url: "https://github.com/kimkulling/openddl-parser/archive/v0.5.1.tar.gz" + sha256: "511146377636f56a8a3bd6daace5ac2ed9672f4be28fc2c90597f4e88e069ffc" "0.5.0": url: "https://github.com/kimkulling/openddl-parser/archive/refs/tags/v0.5.0.tar.gz" sha256: "0ad1a95462932da247a21fc3bb4560c3d9b134e15464f6a518c9e01becc14b60" diff --git a/recipes/openddl-parser/config.yml b/recipes/openddl-parser/config.yml index c4cc95f34a3b6..c45ff0b2916ff 100644 --- a/recipes/openddl-parser/config.yml +++ b/recipes/openddl-parser/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.1": + folder: "all" "0.5.0": folder: "all" "cci.20211217": From 2a319b075b2f63925b951a22e4f97d329a0268c2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 12:26:13 +0300 Subject: [PATCH 1832/4087] (#20028) mcap: add version 1.2.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/mcap/all/conandata.yml | 3 +++ recipes/mcap/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mcap/all/conandata.yml b/recipes/mcap/all/conandata.yml index a1bc6133e68c9..4b98eb916b67c 100644 --- a/recipes/mcap/all/conandata.yml +++ b/recipes/mcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.1": + url: "https://github.com/foxglove/mcap/archive/releases/cpp/v1.2.1.tar.gz" + sha256: "fdc0c351bbcf8883fec0047ff84fed74da88446859083beb6624a584e2cde669" 1.2.0: url: "https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.2.0/main.tar.gz" sha256: "11a6badecac2b10e9687e912648a6e9679ef8731e4ab9570346ae9845ae64a65" diff --git a/recipes/mcap/config.yml b/recipes/mcap/config.yml index bfc72fea8d81a..f50a75ba292e8 100644 --- a/recipes/mcap/config.yml +++ b/recipes/mcap/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.1": + folder: all 1.2.0: folder: all 1.1.0: From 7b327db0902e5a44af6d99e7de85994a781d27ea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 13:13:42 +0300 Subject: [PATCH 1833/4087] (#20029) seasocks: add version 1.4.6 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/seasocks/all/conandata.yml | 3 +++ recipes/seasocks/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/seasocks/all/conandata.yml b/recipes/seasocks/all/conandata.yml index 8ea105850a8ba..412d4f0b76fdd 100644 --- a/recipes/seasocks/all/conandata.yml +++ b/recipes/seasocks/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.6": + url: "https://github.com/mattgodbolt/seasocks/archive/v1.4.6.tar.gz" + sha256: "fc69636ce1205d338d4c02784333b04cd774fa368843fcf9f4fe6f8530a2cd67" "1.4.5": url: "https://github.com/mattgodbolt/seasocks/archive/v1.4.5.tar.gz" sha256: "82211959cf8aabc85b300358c5f68cf9c56dfdf4eaa09e548580fce908acfc1b" diff --git a/recipes/seasocks/config.yml b/recipes/seasocks/config.yml index bcda68af0d12d..b2a6b234212ab 100644 --- a/recipes/seasocks/config.yml +++ b/recipes/seasocks/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.6": + folder: "all" "1.4.5": folder: "all" "1.4.4": From 5d9cd2987999318b299507b70dfd03021f18113c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 13:55:29 +0300 Subject: [PATCH 1834/4087] (#20033) easyloggingpp: add version 9.97.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/easyloggingpp/all/conandata.yml | 3 +++ recipes/easyloggingpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/easyloggingpp/all/conandata.yml b/recipes/easyloggingpp/all/conandata.yml index 5649e78f158cc..83345fd6f0b12 100644 --- a/recipes/easyloggingpp/all/conandata.yml +++ b/recipes/easyloggingpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.97.1": + url: "https://github.com/amrayn/easyloggingpp/archive/v9.97.1.tar.gz" + sha256: "ebe473e17b13f1d1f16d0009689576625796947a711e14aec29530f39560c7c2" "9.97.0": url: "https://github.com/amrayn/easyloggingpp/archive/v9.97.0.tar.gz" sha256: "9110638e21ef02428254af8688bf9e766483db8cc2624144aa3c59006907ce22" diff --git a/recipes/easyloggingpp/config.yml b/recipes/easyloggingpp/config.yml index 8f835ce7bab04..b4a91abbf7181 100644 --- a/recipes/easyloggingpp/config.yml +++ b/recipes/easyloggingpp/config.yml @@ -1,3 +1,5 @@ versions: + "9.97.1": + folder: all "9.97.0": folder: all From 104a3f88a5426fe77a532d0f62e28ccb5a51dee0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 14:30:30 +0300 Subject: [PATCH 1835/4087] (#20034) libipt: add version 2.0.6 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libipt/all/conandata.yml | 3 +++ recipes/libipt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libipt/all/conandata.yml b/recipes/libipt/all/conandata.yml index 91a36f41590f6..702bec04ce824 100644 --- a/recipes/libipt/all/conandata.yml +++ b/recipes/libipt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.6": + url: "https://github.com/intel/libipt/archive/v2.0.6.tar.gz" + sha256: "631f4ebc81e12c0493288af3cc307b0de5b65f018d3e3839c87014b0d26acd75" "2.0.5": url: https://github.com/intel/libipt/archive/refs/tags/v2.0.5.tar.gz sha256: 95acf499fdf0a0f5ebd07587bb443c702b1fd79f7d869749824234388b9bff80 diff --git a/recipes/libipt/config.yml b/recipes/libipt/config.yml index 16ab573dd6bd3..c14d5aed738ae 100644 --- a/recipes/libipt/config.yml +++ b/recipes/libipt/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.6": + folder: all "2.0.5": folder: all From fd5967061d9604b3bc762c89d2a2a55c28a2338b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 15:11:41 +0300 Subject: [PATCH 1836/4087] (#20036) octomap: add version 1.9.8 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/octomap/all/conandata.yml | 7 +++++++ recipes/octomap/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/octomap/all/conandata.yml b/recipes/octomap/all/conandata.yml index badfa463524af..315b1fcda454d 100644 --- a/recipes/octomap/all/conandata.yml +++ b/recipes/octomap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.8": + url: "https://github.com/OctoMap/octomap/archive/v1.9.8.tar.gz" + sha256: "417af6da4e855e9a83b93458aa98b01a2c88f880088baad2b59d323ce162586e" "1.9.7": url: "https://github.com/OctoMap/octomap/archive/v1.9.7.tar.gz" sha256: "3e9ac020686ceb4e17e161bffc5a0dafd9cccab33adeb9adee59a61c418ea1c1" @@ -12,6 +15,10 @@ sources: url: "https://github.com/OctoMap/octomap/archive/v1.9.3.tar.gz" sha256: "8488de97ed2c8f4757bfbaf3225e82a9e36783dce1f573b3bde1cf968aa89696" patches: + "1.9.8": + - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" + patch_description: "CMake: build either shared or static, and avoid name collision" + patch_type: "conan" "1.9.7": - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" patch_description: "CMake: build either shared or static, and avoid name collision" diff --git a/recipes/octomap/config.yml b/recipes/octomap/config.yml index bbf53f61e28d4..7b6ae3353a6fd 100644 --- a/recipes/octomap/config.yml +++ b/recipes/octomap/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.8": + folder: all "1.9.7": folder: all "1.9.6": From b269efc9eb4687792a60c726fb72c15afe08b443 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 16:16:37 +0300 Subject: [PATCH 1837/4087] (#20039) zpp_throwing: add version 1.0.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/zpp_throwing/all/conandata.yml | 3 +++ recipes/zpp_throwing/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zpp_throwing/all/conandata.yml b/recipes/zpp_throwing/all/conandata.yml index 063b5be845f31..118abd17e3a22 100644 --- a/recipes/zpp_throwing/all/conandata.yml +++ b/recipes/zpp_throwing/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/eyalz800/zpp_throwing/archive/v1.0.1.tar.gz" + sha256: "c15651ad36f9ddcb51e6244b0a78dbdebf7be8748b3e7ffe1c7339f0e41fd411" "1.0": url: "https://github.com/eyalz800/zpp_throwing/archive/refs/tags/v1.0.tar.gz" sha256: "e02ef0e028e436ed4382b14796550f48c1d2b5ae02910f10b5b9fe097981ea2f" diff --git a/recipes/zpp_throwing/config.yml b/recipes/zpp_throwing/config.yml index edab1ee152d36..7b06dd8bf61ea 100644 --- a/recipes/zpp_throwing/config.yml +++ b/recipes/zpp_throwing/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.1": + folder: all "1.0": folder: all From 605c9916c6150bc560a0f5a412e93c0dda49d0e9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 16:36:54 +0300 Subject: [PATCH 1838/4087] (#20040) cyclonedds: add version 0.10.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/cyclonedds/all/conandata.yml | 7 +++++++ recipes/cyclonedds/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cyclonedds/all/conandata.yml b/recipes/cyclonedds/all/conandata.yml index d51b6cdca669c..8d9fa515082f8 100644 --- a/recipes/cyclonedds/all/conandata.yml +++ b/recipes/cyclonedds/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.4": + url: "https://github.com/eclipse-cyclonedds/cyclonedds/archive/0.10.4.tar.gz" + sha256: "fe7bb5a4348e31656a935f72dec909a7d2b0fcf10840614fb552f08eb2da8484" "0.10.3": url: "https://github.com/eclipse-cyclonedds/cyclonedds/archive/refs/tags/0.10.3.tar.gz" sha256: "bc79696209febfe66d97e7af6b11e92f9db663caf608a922b6c201b1d6a5eb62" @@ -6,6 +9,10 @@ sources: url: "https://github.com/eclipse-cyclonedds/cyclonedds/archive/refs/tags/0.10.2.tar.gz" sha256: "bc84e137e0c8a055b8cd97fbeafec94e36de1b0c2e88800896a82384fd867ae5" patches: + "0.10.4": + - patch_file: "patches/0.10.2-0001-fix-find-iceoryx.patch" + patch_description: "Fix cmake find for iceoryx package" + patch_type: "conan" "0.10.3": - patch_file: "patches/0.10.2-0001-fix-find-iceoryx.patch" patch_description: "Fix cmake find for iceoryx package" diff --git a/recipes/cyclonedds/config.yml b/recipes/cyclonedds/config.yml index 6fdde61015259..b770b06071265 100644 --- a/recipes/cyclonedds/config.yml +++ b/recipes/cyclonedds/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.4": + folder: all "0.10.3": folder: all "0.10.2": From 639682bd38a6e5407f8c621ef70abb7a28c0518e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 17:30:35 +0300 Subject: [PATCH 1839/4087] (#20045) libfreenect: add version 0.7.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libfreenect/all/conandata.yml | 5 +++++ recipes/libfreenect/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/libfreenect/all/conandata.yml b/recipes/libfreenect/all/conandata.yml index d95c75077fd15..5f576feee3083 100644 --- a/recipes/libfreenect/all/conandata.yml +++ b/recipes/libfreenect/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "0.7.0": + url: "https://github.com/OpenKinect/libfreenect/archive/v0.7.0.tar.gz" + sha256: "adbfc6e7ce72f77cccb3341807a1e2cc6fe2ee62e1bc4d70a6c9b05fac83fe8f" "0.6.2": url: "https://github.com/OpenKinect/libfreenect/archive/refs/tags/v0.6.2.tar.gz" sha256: "e135f5e60ae290bf1aa403556211f0a62856a9e34f12f12400ec593620a36bfa" patches: + "0.7.0": + - patch_file: "patches/0.6.2-fix-cmake.patch" "0.6.2": - patch_file: "patches/0.6.2-fix-cmake.patch" diff --git a/recipes/libfreenect/config.yml b/recipes/libfreenect/config.yml index a09c617182ab2..d4f601d9832b3 100644 --- a/recipes/libfreenect/config.yml +++ b/recipes/libfreenect/config.yml @@ -1,3 +1,5 @@ versions: + "0.7.0": + folder: all "0.6.2": folder: all From bc765051fb7c4c31d3d40851ca5a71b72d3c3b6f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 18:42:38 +0300 Subject: [PATCH 1840/4087] (#20046) hffix: add version 1.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/hffix/all/conandata.yml | 3 +++ recipes/hffix/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hffix/all/conandata.yml b/recipes/hffix/all/conandata.yml index 63e048eedc787..a5fdd1b12f317 100644 --- a/recipes/hffix/all/conandata.yml +++ b/recipes/hffix/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/jamesdbrock/hffix/archive/v1.3.0.tar.gz" + sha256: "db3584c9daa5cfb76a096e02d945355294558a78d0128b5c2e82b8849fa26d77" "1.1.1": url: "https://github.com/jamesdbrock/hffix/archive/refs/tags/v1.1.1.tar.gz" sha256: "25dcaee8ded3590dd04225bd98909c9d78c8e39c26fb3c9880ec001a35464c07" diff --git a/recipes/hffix/config.yml b/recipes/hffix/config.yml index 60d31991f5141..4d32e3eeef7e4 100644 --- a/recipes/hffix/config.yml +++ b/recipes/hffix/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.0": + folder: all "1.1.1": folder: all From 17ef90e04177b0c59f5f0135f07c97f89ebc32d1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 19:12:42 +0300 Subject: [PATCH 1841/4087] (#20048) tinyexr: add version 1.0.7 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/tinyexr/all/conandata.yml | 3 +++ recipes/tinyexr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinyexr/all/conandata.yml b/recipes/tinyexr/all/conandata.yml index 2b4deeb06840b..e57fb348a5c61 100644 --- a/recipes/tinyexr/all/conandata.yml +++ b/recipes/tinyexr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.7": + url: "https://github.com/syoyo/tinyexr/archive/v1.0.7.tar.gz" + sha256: "1ffcc4ce85edef4af955497417445c2a7d3565ad9f314cd69f33075a37a48359" "1.0.6": url: "https://github.com/syoyo/tinyexr/archive/v1.0.6.tar.gz" sha256: "807a5665a7da8dc5ba4dd2c0f69079d87f37a147399680a54e3b38f86486aa67" diff --git a/recipes/tinyexr/config.yml b/recipes/tinyexr/config.yml index b08dcb504fac7..675ce3be79396 100644 --- a/recipes/tinyexr/config.yml +++ b/recipes/tinyexr/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.7": + folder: all "1.0.6": folder: all "1.0.1": From 594d79804d8c6cbf71dc1e92020d72193ebe1673 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Sep 2023 20:33:52 +0300 Subject: [PATCH 1842/4087] (#20049) godot_headers: add version 3.5.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/godot_headers/all/conandata.yml | 3 +++ recipes/godot_headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/godot_headers/all/conandata.yml b/recipes/godot_headers/all/conandata.yml index 8764611b2ac9a..de60664696e4b 100644 --- a/recipes/godot_headers/all/conandata.yml +++ b/recipes/godot_headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.2": + url: "https://github.com/godotengine/godot-headers/archive/godot-3.5.2-stable.tar.gz" + sha256: "42e97953d3f193db01cccd856dff0430a6737d47b8496a70e7df34387d870a6e" "3.5.1": url: "https://github.com/godotengine/godot-headers/archive/godot-3.5.1-stable.tar.gz" sha256: "1c38268031425a4881c0d6d41926a0f1bf5847f05dc24c29332609e318276b6b" diff --git a/recipes/godot_headers/config.yml b/recipes/godot_headers/config.yml index 3ded438e58f33..07764b9a8e270 100644 --- a/recipes/godot_headers/config.yml +++ b/recipes/godot_headers/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.2": + folder: all "3.5.1": folder: all "3.4.4": From 6a06a362132d065c59494aa34ee26e475f52d2ec Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 02:47:41 +0900 Subject: [PATCH 1843/4087] (#20051) simdjson: add version 3.3.0, remove older versions --- recipes/simdjson/all/conandata.yml | 21 +++------------------ recipes/simdjson/all/conanfile.py | 20 +++----------------- recipes/simdjson/config.yml | 14 ++------------ 3 files changed, 8 insertions(+), 47 deletions(-) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index c81b28e0ad2e3..7fb086ae20817 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/simdjson/simdjson/archive/v3.3.0.tar.gz" + sha256: "a8c9feff2f19c3ff281d42f0b6b4b18f02236513b99229756fa9a1b14787a58a" "3.2.3": url: "https://github.com/simdjson/simdjson/archive/v3.2.3.tar.gz" sha256: "ab72701b8560c4f93a5de525657b3bf34094f99a1e63bd9db3195d1bcb90aa09" @@ -14,27 +17,9 @@ sources: "3.1.8": url: "https://github.com/simdjson/simdjson/archive/v3.1.8.tar.gz" sha256: "99e7eeb0a0038e0213da68f099e6a8b67bcaeea1586385ec5f752bea85d902d8" - "3.1.7": - url: "https://github.com/simdjson/simdjson/archive/v3.1.7.tar.gz" - sha256: "c65f5184fba321c7b9e97f6c881af9b607457bdd60fac0467010e099121540e2" - "3.1.5": - url: "https://github.com/simdjson/simdjson/archive/v3.1.5.tar.gz" - sha256: "5b916be17343324426fc467a4041a30151e481700d60790acfd89716ecc37076" - "3.1.1": - url: "https://github.com/simdjson/simdjson/archive/v3.1.1.tar.gz" - sha256: "4fcb1c9b1944e2eb8a4a4a22c979e2827165216f859e94d93c846c1261e0e432" - "3.1.0": - url: "https://github.com/simdjson/simdjson/archive/refs/tags/3.1.0.tar.gz" - sha256: "14d17ba7139d27c1e1bf01e765f5c26e84cc9e9be6a316c977638e01c7de85fa" "3.0.1": url: "https://github.com/simdjson/simdjson/archive/v3.0.1.tar.gz" sha256: "156b1bc5eb0561b2bd166b46d191fd3d95a3e709cc63761477d3b7aec2b6e9ed" "2.2.3": url: "https://github.com/simdjson/simdjson/archive/v2.2.3.tar.gz" sha256: "4c62f2d82edec3dbc63650c10453dc471de9f1be689eb5b4bde89efed89db5d8" - "1.1.0": - url: "https://github.com/simdjson/simdjson/archive/v1.1.0.tar.gz" - sha256: "9effcb21fe48e4bcc9b96031e60c3911c58aa656ad8c78212d269c0db9e0133e" - "0.9.7": - url: "https://github.com/simdjson/simdjson/archive/v0.9.7.tar.gz" - sha256: "a21279ae4cf0049234a822c5c3550f99ec1707d3cda12156d331dcc8cd411ba0" diff --git a/recipes/simdjson/all/conanfile.py b/recipes/simdjson/all/conanfile.py index b0c6d0fa54bf1..7b42a92cdbbc8 100644 --- a/recipes/simdjson/all/conanfile.py +++ b/recipes/simdjson/all/conanfile.py @@ -72,8 +72,7 @@ def loose_lt_semver(v1, v2): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not fully support." ) - if Version(self.version) >= "2.0.0" and \ - self.settings.compiler == "gcc" and \ + if self.settings.compiler == "gcc" and \ Version(self.settings.compiler.version).major == "9": if self.settings.compiler.get_safe("libcxx") == "libstdc++11": raise ConanInvalidConfiguration(f"{self.ref} doesn't support GCC 9 with libstdc++11.") @@ -86,24 +85,11 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["SIMDJSON_ENABLE_THREADS"] = self.options.threads - if Version(self.version) < "1.0.0": - tc.variables["SIMDJSON_BUILD_STATIC"] = not self.options.shared - tc.variables["SIMDJSON_SANITIZE"] = False - tc.variables["SIMDJSON_JUST_LIBRARY"] = True - else: - tc.variables["SIMDJSON_DEVELOPER_MODE"] = False + tc.variables["SIMDJSON_DEVELOPER_MODE"] = False tc.generate() def _patch_sources(self): - if Version(self.version) < "1.0.0": - simd_flags_file = os.path.join(self.source_folder, "cmake", "simdjson-flags.cmake") - # Those flags are not set in >=1.0.0 since we disable SIMDJSON_DEVELOPER_MODE - replace_in_file(self, simd_flags_file, "target_compile_options(simdjson-internal-flags INTERFACE -fPIC)", "") - replace_in_file(self, simd_flags_file, "-Werror", "") - replace_in_file(self, simd_flags_file, "/WX", "") - # Relocatable shared lib on macOS - replace_in_file(self, simd_flags_file, "set(CMAKE_MACOSX_RPATH OFF)", "") - else: + if Version(self.version) < "3.3.0": developer_options = os.path.join(self.source_folder, "cmake", "developer-options.cmake") # Relocatable shared lib on macOS replace_in_file(self, developer_options, "set(CMAKE_MACOSX_RPATH OFF)", "") diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 78febe4d556f0..6e192862adaad 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: all "3.2.3": folder: all "3.2.2": @@ -9,19 +11,7 @@ versions: folder: all "3.1.8": folder: all - "3.1.7": - folder: all - "3.1.5": - folder: all - "3.1.1": - folder: all - "3.1.0": - folder: all "3.0.1": folder: all "2.2.3": folder: all - "1.1.0": - folder: all - "0.9.7": - folder: all From 7d01d7154a8a5ce2e31ae4317a4315f98a66f29a Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Sat, 30 Sep 2023 19:59:40 +0200 Subject: [PATCH 1844/4087] (#20053) Add cppcheck 2.12.1 * add 2.12.1 * Update conandata.yml * Update conandata.yml * Update conandata.yml --- recipes/cppcheck/all/conandata.yml | 3 +++ recipes/cppcheck/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index 43f1aa2fd39be..309e9e9115ce0 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.1": + url: "https://github.com/danmar/cppcheck/archive/2.12.1.tar.gz" + sha256: "2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2" "2.12": url: "https://github.com/danmar/cppcheck/archive/2.12.0.tar.gz" sha256: "7d67776118aee9a4f0214f993a4baa4a168b2dbb10c14b6ec5baf2ca147565b8" diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index c685c09841807..0fb8b3e88183b 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.1": + folder: all "2.12": folder: all "2.11.1": From 278178210e7f8cd3909230bfbb78b5dc02d0a573 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Sep 2023 20:35:08 +0200 Subject: [PATCH 1845/4087] (#20054) date: use version range for libcurl --- recipes/date/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 16a2a092edd68..94529453674c1 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if not self.options.header_only and not self.options.use_system_tz_db: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78 <9]") def package_id(self): if self.info.options.header_only: From 50eada88503bdd5297eccdc42920cc5612459db6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 04:30:20 +0900 Subject: [PATCH 1846/4087] (#20086) rapidcsv: add version 8.80 --- recipes/rapidcsv/all/conandata.yml | 3 +++ recipes/rapidcsv/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidcsv/all/conandata.yml b/recipes/rapidcsv/all/conandata.yml index 7a2083f7a43d3..22f73545deb36 100644 --- a/recipes/rapidcsv/all/conandata.yml +++ b/recipes/rapidcsv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.80": + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.80.tar.gz" + sha256: "4c9e01cb2554cc76acac61532ef33b59e5b1f822160d2eb7efee2c128ea7f4c5" "8.77": url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.77.tar.gz" sha256: "2513c05e1a39799edd93787e86bdd83462bee06150b40942879af955288fa495" diff --git a/recipes/rapidcsv/config.yml b/recipes/rapidcsv/config.yml index d18c0697363e9..643c892898926 100644 --- a/recipes/rapidcsv/config.yml +++ b/recipes/rapidcsv/config.yml @@ -1,4 +1,6 @@ versions: + "8.80": + folder: "all" "8.77": folder: "all" "8.75": From 0250b41cd0c57c4254a44a70f7f572bf33efeb82 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 04:49:30 +0900 Subject: [PATCH 1847/4087] (#20087) unordered_dense: add version 4.1.2 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index 9666412e076d6..cb46afb843f82 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.2": + url: "https://github.com/martinus/unordered_dense/archive/v4.1.2.tar.gz" + sha256: "300410dbcd32800f83b2113dfecbdfe8cd256caa4cfeb117d646021d6e3209ae" "4.1.0": url: "https://github.com/martinus/unordered_dense/archive/v4.1.0.tar.gz" sha256: "0f594cb3b08fc657db3843139000005b6827e5c69d00f5c8d74c1239bd21746f" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index 11719a7c94623..ff0267b898526 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.2": + folder: all "4.1.0": folder: all "4.0.4": From 148149aad68f25f92309b969fa722647231b7f41 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 05:09:16 +0900 Subject: [PATCH 1848/4087] (#20096) choc: add recipe --- recipes/choc/all/conandata.yml | 4 ++ recipes/choc/all/conanfile.py | 49 +++++++++++++++++++ recipes/choc/all/test_package/CMakeLists.txt | 8 +++ recipes/choc/all/test_package/conanfile.py | 26 ++++++++++ .../choc/all/test_package/test_package.cpp | 9 ++++ recipes/choc/config.yml | 3 ++ 6 files changed, 99 insertions(+) create mode 100644 recipes/choc/all/conandata.yml create mode 100644 recipes/choc/all/conanfile.py create mode 100644 recipes/choc/all/test_package/CMakeLists.txt create mode 100644 recipes/choc/all/test_package/conanfile.py create mode 100644 recipes/choc/all/test_package/test_package.cpp create mode 100644 recipes/choc/config.yml diff --git a/recipes/choc/all/conandata.yml b/recipes/choc/all/conandata.yml new file mode 100644 index 0000000000000..c9e73e3a7173c --- /dev/null +++ b/recipes/choc/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230918": + url: "https://github.com/Tracktion/choc/archive/8572719d3b9085ccc88893cdaf8c2c703fa55adb.tar.gz" + sha256: "f98e4bc8e0be19b416a4c01a2673280a63dec45e444175cca85f06bd29748ac4" diff --git a/recipes/choc/all/conanfile.py b/recipes/choc/all/conanfile.py new file mode 100644 index 0000000000000..c7f6cc492b72b --- /dev/null +++ b/recipes/choc/all/conanfile.py @@ -0,0 +1,49 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + +class ChocConan(ConanFile): + name = "choc" + description = "A collection of header only classes, permissively licensed, to provide basic useful tasks with the bare-minimum of dependencies." + license = "ISC" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Tracktion/choc/" + topics = ("audio", "json", "containers", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, 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", "choc"), + src=self.source_folder, + excludes=("tests"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/choc/all/test_package/CMakeLists.txt b/recipes/choc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3d6e4b5e02fcd --- /dev/null +++ b/recipes/choc/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(choc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE choc::choc) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/choc/all/test_package/conanfile.py b/recipes/choc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/choc/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/choc/all/test_package/test_package.cpp b/recipes/choc/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e7b235a639ba2 --- /dev/null +++ b/recipes/choc/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +#include "choc/platform/choc_Platform.h" + +int main(void) { + std::cout << CHOC_OPERATING_SYSTEM_NAME << '\n'; + + return EXIT_SUCCESS; +} diff --git a/recipes/choc/config.yml b/recipes/choc/config.yml new file mode 100644 index 0000000000000..55bc2cddc1b4a --- /dev/null +++ b/recipes/choc/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230918": + folder: all From aeb11538c6bc8d62e4acce10be3cb034506922f0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 30 Sep 2023 22:30:12 +0200 Subject: [PATCH 1849/4087] (#20100) yaml linter: remove warning about base_path base_path is necessary in some cases (eg qt) where upstream patches apply to only a sub-directory of the sources. This happens when the sources are an aggregation of several repositories. the presence of base_path is an indirect consequence of explicitly setting the `destination` argument of the `get` function, so a better diagnostic would be to detect these. --- linter/conandata_yaml_linter.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/linter/conandata_yaml_linter.py b/linter/conandata_yaml_linter.py index 9e7133803906e..51d27b850beec 100644 --- a/linter/conandata_yaml_linter.py +++ b/linter/conandata_yaml_linter.py @@ -92,17 +92,6 @@ def main(): " reviewing and consumers to evaluate patches" ) - # v2 migrations suggestion - if "base_path" in parsed["patches"][version][i]: - base_path = parsed["patches"][version][i]["base_path"] - print( - f"::notice file={args.path},line={base_path.start_line},endline={base_path.end_line}," - f"title=conandata.yml v2 migration suggestion" - "::'base_path' should not be required once a recipe has been upgraded to take advantage of" - " layouts (see https://docs.conan.io/en/latest/reference/conanfile/tools/layout.html) and" - " the new helper (see https://docs.conan.io/en/latest/reference/conanfile/tools/files/patches.html#conan-tools-files-apply-conandata-patches)" - ) - def pretty_print_yaml_validate_error(args, error): snippet = error.context_mark.get_snippet().replace("\n", "%0A") From 1401abdc79a19985cb53c74c5eacbe018cb076e4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 05:49:38 +0900 Subject: [PATCH 1850/4087] (#20168) etl: add version 20.38.2 * etl: add version 20.38.2 * update 20.38.3 --- 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 aaf305dbf4ff2..9a2f4ce536daa 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index f57d0b4090ca8..4bf96a5a20643 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.3": + folder: all "20.38.0": folder: all "20.37.3": From 091c55fe14456c39659bdcab60d82484871b3c64 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 06:10:54 +0900 Subject: [PATCH 1851/4087] (#20188) roaring: add version 2.0.2, remove older versions, add with_avx512 option for >= 1.1.0 --- recipes/roaring/all/conandata.yml | 30 ++----------------- recipes/roaring/all/conanfile.py | 16 ++++++++-- .../roaring/all/test_package/CMakeLists.txt | 3 -- .../roaring/all/test_package/test_package.cpp | 2 -- recipes/roaring/config.yml | 20 ++----------- 5 files changed, 19 insertions(+), 52 deletions(-) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index e26f0a417c73c..f16d216d33bdd 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -17,36 +20,9 @@ sources: "0.9.9": url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.9.9.tar.gz" sha256: "3083bcbc37e43403111c482ddf317a710972256c23bc83abc8925803a02bdf60" - "0.9.8": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.9.8.tar.gz" - sha256: "d83ea18ded541a49f792951a6e71cd20136171ca0a4c15c77ec5cd5b83ca8e63" - "0.9.6": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.9.6.tar.gz" - sha256: "6d410750eb4ce70db2fa3dc25b7bc33fd4a91a85ef7dff595200d0acef99b1ee" - "0.9.3": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.9.3.tar.gz" - sha256: "b7534adebf50a554e86b81a2b39459c9921c504e9a876abe00bd741d0a4bc85d" - "0.9.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.9.0.tar.gz" - sha256: "52c1f56e1f84ffb9ff6cb90fd1d23cfe04926f696ae57e796d0b056fff572693" "0.8.1": url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.8.1.tar.gz" sha256: "5359f2a051f10e42cea5edc3cb3650fd272e9125e6a0538901cf30619939d4f8" - "0.8.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.8.0.tar.gz" - sha256: "cd6c4770baccfea385c0c6891a8a80133ba26093209740ca0a3eea348aff1a20" "0.7.3": url: "https://github.com/RoaringBitmap/CRoaring/archive/v0.7.3.tar.gz" sha256: "e3f8115ba44ef0e1eb7b982dc3c3233f08f5f95ec1260169c2ad0ca50e56b656" - "0.6.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v0.6.0.tar.gz" - sha256: "b8e2499ca9ac6ba0d18dbbcde4bae3752acf81f08ea6309ea2a88d27972dffcf" - "0.5.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v0.5.0.tar.gz" - sha256: "edab1b1a464e5a361ff622dc833170b2f33729c161aee4c2e53a324ac62ef78f" - "0.4.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v0.4.0.tar.gz" - sha256: "0faf6ac893694d5c283a729373af74f813989ef0257781636ac4c397b48c1219" - "0.3.4": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v0.3.4.tar.gz" - sha256: "ddc5899823c46707d7dbf4e4c117a811b0428bdcb84978d9e65ceaefe6f59595" diff --git a/recipes/roaring/all/conanfile.py b/recipes/roaring/all/conanfile.py index 485a7146b02ba..f0d51742149de 100644 --- a/recipes/roaring/all/conanfile.py +++ b/recipes/roaring/all/conanfile.py @@ -22,6 +22,7 @@ class RoaringConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_avx": [True, False], + "with_avx512": [True, False], "with_neon": [True, False], "native_optimization": [True, False], } @@ -29,15 +30,23 @@ class RoaringConan(ConanFile): "shared": False, "fPIC": True, "with_avx": True, + "with_avx512": True, "with_neon": True, "native_optimization": False, } + @property + def _min_cppstd(self): + return 11 + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC if self.settings.arch not in ("x86", "x86_64"): del self.options.with_avx + del self.options.with_avx512 + elif Version(self.version) < "1.1.0": + del self.options.with_avx512 if not str(self.settings.arch).startswith("arm"): del self.options.with_neon @@ -50,7 +59,7 @@ def layout(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, "11") + check_min_cppstd(self, self._min_cppstd) if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "11": raise ConanInvalidConfiguration( f"{self.ref} requires at least apple-clang 11 to support runtime dispatching.", @@ -62,6 +71,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["ROARING_DISABLE_AVX"] = not self.options.get_safe("with_avx", False) + if "with_avx512" in self.options: + tc.variables["ROARING_DISABLE_AVX512"] = not self.options.with_avx512 tc.variables["ROARING_DISABLE_NEON"] = not self.options.get_safe("with_neon", False) tc.variables["ROARING_DISABLE_NATIVE"] = not self.options.native_optimization tc.variables["ROARING_BUILD_STATIC"] = not self.options.shared @@ -71,7 +82,8 @@ def generate(self): tc.generate() def build(self): - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CMAKE_MACOSX_RPATH OFF)", "") + if Version(self.version) < "2.0.0": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CMAKE_MACOSX_RPATH OFF)", "") cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/roaring/all/test_package/CMakeLists.txt b/recipes/roaring/all/test_package/CMakeLists.txt index 60d328135f926..6e9e7fadde265 100644 --- a/recipes/roaring/all/test_package/CMakeLists.txt +++ b/recipes/roaring/all/test_package/CMakeLists.txt @@ -6,6 +6,3 @@ find_package(roaring REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE roaring::roaring) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -if(roaring_VERSION VERSION_LESS "0.3.0") - target_compile_definitions(${PROJECT_NAME} PRIVATE "ROARING_NO_NAMESPACE") -endif() diff --git a/recipes/roaring/all/test_package/test_package.cpp b/recipes/roaring/all/test_package/test_package.cpp index 456ab7f7990a4..18169725770ed 100644 --- a/recipes/roaring/all/test_package/test_package.cpp +++ b/recipes/roaring/all/test_package/test_package.cpp @@ -5,9 +5,7 @@ #include "roaring/roaring.hh" #include "roaring/roaring.h" -#ifndef ROARING_NO_NAMESPACE using namespace roaring; -#endif void test_example_cpp(bool copy_on_write) { // create a new empty bitmap diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 4dee57cf2ee12..3518f9cac57d3 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "1.3.0": folder: all "1.1.5": @@ -11,25 +13,7 @@ versions: folder: all "0.9.9": folder: all - "0.9.8": - folder: all - "0.9.6": - folder: all - "0.9.3": - folder: all - "0.9.0": - folder: all "0.8.1": folder: all - "0.8.0": - folder: all "0.7.3": folder: all - "0.6.0": - folder: all - "0.5.0": - folder: all - "0.4.0": - folder: all - "0.3.4": - folder: all From 9268f2b69395b9ca54f248a2ae4dec48b0462798 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 1 Oct 2023 00:10:43 +0200 Subject: [PATCH 1852/4087] (#20205) meson: add version 1.2.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 17f050a573292..d58e97ba5b952 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.2": + url: "https://github.com/mesonbuild/meson/releases/download/1.2.2/meson-1.2.2.tar.gz" + sha256: "4a0f04de331fbc7af3b802a844fc8838f4ccd1ded1e792ba4f8f2faf8c5fe4d6" "1.2.1": url: "https://github.com/mesonbuild/meson/releases/download/1.2.1/meson-1.2.1.tar.gz" sha256: "b1db3a153087549497ee52b1c938d2134e0338214fe14f7efd16fecd57b639f5" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 785517ff377e8..cde056a588deb 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.2": + folder: all "1.2.1": folder: all "1.2.0": From 2a830a6d040295953b6e58f07b389943bcc70316 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 1 Oct 2023 01:29:55 +0300 Subject: [PATCH 1853/4087] (#20041) fribidi: add version 1.0.13 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/fribidi/all/conandata.yml | 3 +++ recipes/fribidi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fribidi/all/conandata.yml b/recipes/fribidi/all/conandata.yml index 08937af14f728..281ca46617df0 100644 --- a/recipes/fribidi/all/conandata.yml +++ b/recipes/fribidi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.13": + url: "https://github.com/fribidi/fribidi/archive/v1.0.13.tar.gz" + sha256: "f24e8e381bcf76533ae56bd776196f3a0369ec28e9c0fdb6edd163277e008314" "1.0.12": url: "https://github.com/fribidi/fribidi/releases/download/v1.0.12/fribidi-1.0.12.tar.xz" sha256: "0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495" diff --git a/recipes/fribidi/config.yml b/recipes/fribidi/config.yml index 1a912a9e71c6e..88a69bbd50016 100644 --- a/recipes/fribidi/config.yml +++ b/recipes/fribidi/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.13": + folder: all "1.0.12": folder: all "1.0.10": From 77383910c43a9755d338956e4c581842d859c9ca Mon Sep 17 00:00:00 2001 From: Alec Edgington <54802828+cqc-alec@users.noreply.github.com> Date: Sun, 1 Oct 2023 00:08:51 +0100 Subject: [PATCH 1854/4087] (#20206) Add symengine 0.11.1 * Update boost dependency. * Add symengine 0.11.1. * Add 0.11.1 in config. --- recipes/symengine/all/conandata.yml | 3 +++ recipes/symengine/all/conanfile.py | 2 +- recipes/symengine/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/symengine/all/conandata.yml b/recipes/symengine/all/conandata.yml index d0b808ba0adde..c2da1e1b162ec 100644 --- a/recipes/symengine/all/conandata.yml +++ b/recipes/symengine/all/conandata.yml @@ -8,3 +8,6 @@ sources: "0.10.1": url: "https://github.com/symengine/symengine/releases/download/v0.10.1/symengine-0.10.1.tar.gz" sha256: "9c007c99e9633f5549a55fa7a66ebcbcf9e04092eb55f7bb781c22b9cf0570c4" + "0.11.1": + url: "https://github.com/symengine/symengine/releases/download/v0.11.1/symengine-0.11.1.tar.gz" + sha256: "217b39955dc19f920c6f54c057fdc89e8e155ddee8f0e3c3cacc67b3e3850b64" diff --git a/recipes/symengine/all/conanfile.py b/recipes/symengine/all/conanfile.py index cfb736044d218..ec084a7552d07 100644 --- a/recipes/symengine/all/conanfile.py +++ b/recipes/symengine/all/conanfile.py @@ -36,7 +36,7 @@ class SymengineConan(ConanFile): def requirements(self): if self.options.integer_class == "boostmp": - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") else: self.requires("gmp/6.2.1", transitive_headers=True, transitive_libs=True) diff --git a/recipes/symengine/config.yml b/recipes/symengine/config.yml index b95eb1527125e..32a90ea4753f7 100644 --- a/recipes/symengine/config.yml +++ b/recipes/symengine/config.yml @@ -5,3 +5,5 @@ versions: folder: all "0.10.1": folder: all + "0.11.1": + folder: all From 0cbe1da2ab087d1088167a01bcb884d93f3d88a3 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Sun, 1 Oct 2023 02:19:55 +0300 Subject: [PATCH 1855/4087] (#20207) md4qt: bump version. --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 7275b589730d9..d726da5cad811 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.18": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.18.tar.gz" + sha256: "4fe70a63eb78cdf0355f6a6b292c40c8cc8ed4a62bcbec17afefa713b19c28b1" "2.0.16": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.16.tar.gz" sha256: "9da7cd02883c2f4d4a2371cda4c195ebc02f57bb673ef948b88a256f3db55724" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index e6e6297a34720..948892a125b47 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.18": + folder: all "2.0.16": folder: all "2.0.15": From 6c3056aab0ed415e8ec0ed29033722a55d8b1b96 Mon Sep 17 00:00:00 2001 From: Sylwester Dawida Date: Sun, 1 Oct 2023 01:51:26 +0200 Subject: [PATCH 1856/4087] (#20208) add 7bitconf 1.1.0 version --- recipes/7bitconf/all/conandata.yml | 3 +++ recipes/7bitconf/all/conanfile.py | 3 +-- recipes/7bitconf/config.yml | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/7bitconf/all/conandata.yml b/recipes/7bitconf/all/conandata.yml index 62dda78f20515..71f022ca93c84 100644 --- a/recipes/7bitconf/all/conandata.yml +++ b/recipes/7bitconf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.1.0.tar.gz" + sha256: "07e5bff366d66c276032021c9a9ca5cdb1d8f097b29c032d07ee6ae1a10885a2" "1.0.0": url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.0.0.tar.gz" sha256: "48a02d331f4281c8ff691d55c54abe744228637e9ad3af500daf526f4c77696d" diff --git a/recipes/7bitconf/all/conanfile.py b/recipes/7bitconf/all/conanfile.py index 50d4e6434d0f0..4865b328bad13 100644 --- a/recipes/7bitconf/all/conanfile.py +++ b/recipes/7bitconf/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("taocpp-json/1.0.0-beta.13", transitive_headers=True) + self.requires("taocpp-json/1.0.0-beta.14", transitive_headers=True) def package_id(self): if self.info.options.header_only: @@ -137,4 +137,3 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - diff --git a/recipes/7bitconf/config.yml b/recipes/7bitconf/config.yml index 40341aa3db6cd..73c245662b08d 100644 --- a/recipes/7bitconf/config.yml +++ b/recipes/7bitconf/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all From 51587601f8464d2270fa06ab17599d97c708e3f7 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 09:31:03 +0900 Subject: [PATCH 1857/4087] (#20209) glaze: add version 1.5.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 2840b2eed5cbb..d4df74aaa8ab0 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.1": + url: "https://github.com/stephenberry/glaze/archive/v1.5.1.tar.gz" + sha256: "b119b0375d13ab34ebc156e1c12eacc65e7f4c8b0cfcf6ae93e8fe18744d1ad5" "1.5.0": url: "https://github.com/stephenberry/glaze/archive/v1.5.0.tar.gz" sha256: "9ab1cc5faa3a1a46b478c884207e6c364e4b6ae9c09f96cbf9f2ef620b3bb3b5" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index dfc0e2b2fc07a..bac143c8ee8f3 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.1": + folder: all "1.5.0": folder: all "1.4.1": From d7a14031ef0144172d9d717c917282d014f022ed Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 09:52:39 +0900 Subject: [PATCH 1858/4087] (#20210) clickhouse-cpp: add version 2.5.0 --- recipes/clickhouse-cpp/all/conandata.yml | 3 +++ recipes/clickhouse-cpp/all/conanfile.py | 3 +++ recipes/clickhouse-cpp/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/clickhouse-cpp/all/conandata.yml b/recipes/clickhouse-cpp/all/conandata.yml index 67cb91f1f1a6c..21db8c747eb05 100644 --- a/recipes/clickhouse-cpp/all/conandata.yml +++ b/recipes/clickhouse-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/ClickHouse/clickhouse-cpp/archive/refs/tags/v2.5.0.tar.gz" + sha256: "7eead6beb47a64be9b1f12f2435f0fb6304e8363823ed72178c76faf0d835801" "2.4.0": url: "https://github.com/ClickHouse/clickhouse-cpp/archive/refs/tags/v2.4.0.tar.gz" sha256: "336a1d0b4c4d6bd67bd272afab3bdac51695f8b0e93dd6c85d4d774d6c7df8ad" diff --git a/recipes/clickhouse-cpp/all/conanfile.py b/recipes/clickhouse-cpp/all/conanfile.py index df83d233feb8a..4f321b7e267a7 100644 --- a/recipes/clickhouse-cpp/all/conanfile.py +++ b/recipes/clickhouse-cpp/all/conanfile.py @@ -85,6 +85,9 @@ def generate(self): tc.cache_variables["WITH_SYSTEM_ABSEIL"] = True tc.cache_variables["WITH_SYSTEM_LZ4"] = True tc.cache_variables["WITH_SYSTEM_CITYHASH"] = True + # TODO: enable DEBUG_DEPENDENCIES on >= 2.5.0 + if Version(self.version) >= "2.5.0": + tc.cache_variables["DEBUG_DEPENDENCIES"] = False tc.generate() cd = CMakeDeps(self) diff --git a/recipes/clickhouse-cpp/config.yml b/recipes/clickhouse-cpp/config.yml index e1d4aed9fe78f..ea52eed866318 100644 --- a/recipes/clickhouse-cpp/config.yml +++ b/recipes/clickhouse-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "2.5.0": + folder: all "2.4.0": folder: all From b57879089e84d29768550ee7cce5fcf38ae1eccb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 1 Oct 2023 03:32:35 +0200 Subject: [PATCH 1859/4087] (#20228) dlib/all: bump deps --- recipes/dlib/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index fc668dbc311da..dd3241419e6d1 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -76,9 +76,9 @@ def requirements(self): if self.options.with_png: self.requires("libpng/1.6.40") if self.options.get_safe("with_webp"): - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") if self.options.with_sqlite3: - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.43.1") if self.options.with_openblas: self.requires("openblas/0.3.20") From 21a486f4cb5f325511784ad940f5b18ac6649dcc Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 1 Oct 2023 04:15:38 +0200 Subject: [PATCH 1860/4087] (#19935) glib/all: bump deps * glib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * use range for zlib --- recipes/glib/all/conanfile.py | 8 ++++---- recipes/glib/all/test_package/conanfile.py | 2 +- recipes/glib/all/test_v1_package/conanfile.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index 95fb7a1a6aec3..a90b8bbde49a8 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") self.requires("libffi/3.4.4") if Version(self.version) >= "2.73.2": self.requires("pcre2/10.42") @@ -74,7 +74,7 @@ def requirements(self): if self.options.get_safe("with_elf"): self.requires("libelf/0.8.13") if self.options.get_safe("with_mount"): - self.requires("libmount/2.36.2") + self.requires("libmount/2.39") if self.options.get_safe("with_selinux"): self.requires("libselinux/3.3") if self.settings.os != "Linux": @@ -85,9 +85,9 @@ def requirements(self): self.requires("libiconv/1.17") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/glib/all/test_package/conanfile.py b/recipes/glib/all/test_package/conanfile.py index 2f5458641d6f7..168cdc2e86991 100644 --- a/recipes/glib/all/test_package/conanfile.py +++ b/recipes/glib/all/test_package/conanfile.py @@ -18,7 +18,7 @@ def requirements(self): def build_requirements(self): if self.settings.os != "Windows" and not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/glib/all/test_v1_package/conanfile.py b/recipes/glib/all/test_v1_package/conanfile.py index ed236807fcf7e..3247118701674 100644 --- a/recipes/glib/all/test_v1_package/conanfile.py +++ b/recipes/glib/all/test_v1_package/conanfile.py @@ -8,7 +8,7 @@ class TestPackageConan(ConanFile): def build_requirements(self): if self.settings.os != "Windows": - self.build_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): if self.settings.os != "Windows": From 1fc45dd744151824c262501e4257bc26f987d3d7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 1 Oct 2023 05:36:20 +0200 Subject: [PATCH 1861/4087] (#20227) freeimage/all: bump deps --- recipes/freeimage/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/freeimage/all/conanfile.py b/recipes/freeimage/all/conanfile.py index 8ea9581a8d7f1..7b598ff9ef76d 100644 --- a/recipes/freeimage/all/conanfile.py +++ b/recipes/freeimage/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.with_jpeg2000: @@ -79,7 +79,7 @@ def requirements(self): if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_webp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") if self.options.with_tiff or self.options.with_openexr: # can't upgrade to openexr/3.x.x because plugin tiff requires openexr/2.x.x header files self.requires("openexr/2.5.7") @@ -89,7 +89,7 @@ def requirements(self): if self.options.with_jxr: self.requires("jxrlib/cci.20170615") if self.options.with_tiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 59852df9d4f477be6a29f5784744c21678d9b148 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 1 Oct 2023 06:32:07 +0200 Subject: [PATCH 1862/4087] (#20229) sail/all: bump deps --- recipes/sail/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index 31e7177ae090e..b4491bf395758 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -58,15 +58,15 @@ def requirements(self): if self.options.with_jpeg2000: self.requires("jasper/4.0.0") if self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_tiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.with_webp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") def layout(self): cmake_layout(self, src_folder="src") From db9a2262a0364887fb569738ce9e5486077cd677 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 1 Oct 2023 07:12:37 +0200 Subject: [PATCH 1863/4087] (#20230) leptonica/all: bump deps --- recipes/leptonica/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index 2603c7965bfb4..e749f2b2e4eb1 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -78,16 +78,16 @@ def requirements(self): if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_tiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_webp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") def build_requirements(self): if self.options.with_webp or self.options.with_openjpeg: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 0c4a3ccac4e8c7f9dbc3470acea52ffeb898bf19 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 15:53:39 +0900 Subject: [PATCH 1864/4087] (#19930) libsystemd: add version 253.10, update dependencies * libsystemd: add version 253.10, update dependencies * fix version number --- recipes/libsystemd/all/conandata.yml | 10 ++++++++++ recipes/libsystemd/all/conanfile.py | 8 ++++---- recipes/libsystemd/config.yml | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index d4431fac17cc4..6908923204fe6 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "253.10": + url: "https://github.com/systemd/systemd-stable/archive/v253.10.tar.gz" + sha256: "7c869513b2ad015568e8e35304942f84378b0c59972cb44de5ac905b8eea08d4" "253.6": url: "https://github.com/systemd/systemd-stable/archive/v253.6.tar.gz" sha256: "a0aebcfaa2e001a4d846691631d1722c4cfa1a175e4ea62db6edca0ea3cf1e3e" @@ -24,6 +27,13 @@ sources: url: "https://github.com/systemd/systemd-stable/archive/v246.16.tar.gz" sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2" patches: + "253.10": + - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" + patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" + patch_type: "conan" + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" + patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" + patch_type: "conan" "253.6": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 0836b21234ebc..7267a019ded53 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -52,7 +52,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libcap/2.68") + self.requires("libcap/2.69") self.requires("libmount/2.39") if Version(self.version) >= "253.6": self.requires("libxcrypt/4.4.35") @@ -61,7 +61,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_xz: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.with_zstd: self.requires("zstd/1.5.5") @@ -70,11 +70,11 @@ def validate(self): raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.1") self.tool_requires("m4/1.4.19") self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml index f584486360691..e30829e3e3474 100644 --- a/recipes/libsystemd/config.yml +++ b/recipes/libsystemd/config.yml @@ -1,4 +1,6 @@ versions: + "253.10": + folder: all "253.6": folder: all "253.3": From ed4879397c792a136ea3a3b6817595f143668441 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 1 Oct 2023 10:12:43 +0200 Subject: [PATCH 1865/4087] (#20231) platform.converters: improve compiler versions checks for msvc and cleanup a little bit --- recipes/platform.converters/all/conanfile.py | 25 ++++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/recipes/platform.converters/all/conanfile.py b/recipes/platform.converters/all/conanfile.py index 2979e31430f9b..898832d2cd9d4 100644 --- a/recipes/platform.converters/all/conanfile.py +++ b/recipes/platform.converters/all/conanfile.py @@ -7,12 +7,15 @@ from conan.tools.layout import basic_layout from conan.tools.scm import Version -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class PlatformConvertersConan(ConanFile): name = "platform.converters" - description = "platform.converters is one of the libraries of the LinksPlatform modular framework, to provide conversions between different types" + description = ( + "platform.converters is one of the libraries of the LinksPlatform " + "modular framework, to provide conversions between different types" + ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/linksplatform/Converters" @@ -23,7 +26,7 @@ class PlatformConvertersConan(ConanFile): no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 20 @property @@ -31,6 +34,7 @@ def _compilers_minimum_version(self): return { "gcc": "10", "Visual Studio": "16", + "msvc": "192", "clang": "14", "apple-clang": "14", } @@ -42,20 +46,15 @@ def package_id(self): self.info.clear() def validate(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) - - if not minimum_version: - self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) - elif Version(self.settings.compiler.version) < minimum_version: + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name}/{self.version} requires c++{self._minimum_cpp_standard}, " - f"which is not supported by {self.settings.compiler} {self.settings.compiler.version}." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 6a162afec9514230c34bf52fc315ca29f02675d0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 1 Oct 2023 11:15:27 +0200 Subject: [PATCH 1866/4087] (#20236) cmake/binary: add version 3.27.6 & 3.26.5, remove older versions --- recipes/cmake/binary/conandata.yml | 79 ++++++++++++------------------ recipes/cmake/config.yml | 8 ++- 2 files changed, 33 insertions(+), 54 deletions(-) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 3eb4a53d2fff4..e31c9995f8031 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.6": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.6-linux-aarch64.tar.gz" + sha256: "811e5040ad7f3fb4924a875373d2a1a174a01400233a81a638a989157438a5e3" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.6-linux-x86_64.tar.gz" + sha256: "26373a283daa8490d772dc8a179450cd6d391cb2a9db8d4242fe09e361efc42e" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.6-macos10.10-universal.tar.gz" + sha256: "3977258c8d30f03f6506fdb12dac9b8570db7d5e54f541285ee540de433a9cff" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.6-windows-arm64.zip" + sha256: "980b7e532d77bfb4e5814c76403242c503019f1c0699440220cf2d527c8ff350" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.6-windows-x86_64.zip" + sha256: "f013a0cca091aa953f9a60a99292ec7a20ae3f9ceb05cb5c08ebe164097c526f" "3.27.5": Linux: armv8: @@ -37,63 +56,25 @@ sources: x86_64: url: "https://cmake.org/files/v3.27/cmake-3.27.4-windows-x86_64.zip" sha256: "e5e060756444d0b2070328a8821c1ceb62bd6d267aae61bfff06f96c7ec943a6" - "3.27.1": - Linux: - armv8: - url: "https://cmake.org/files/v3.27/cmake-3.27.1-linux-aarch64.tar.gz" - sha256: "812e32b569bcfb61f5ededdec244c4fddcd18d2c352a902ef88ed7d02005b2bd" - x86_64: - url: "https://cmake.org/files/v3.27/cmake-3.27.1-linux-x86_64.tar.gz" - sha256: "9fef63e1cf87cab1153f9433045df2e43c336e462518b0f5e52d2cc91d762cff" - Macos: - universal: - url: "https://cmake.org/files/v3.27/cmake-3.27.1-macos10.10-universal.tar.gz" - sha256: "3f9b1b6c29369d2b4e71991420966599a378b01f84e6420d5e881946a04debed" - Windows: - armv8: - url: "https://cmake.org/files/v3.27/cmake-3.27.1-windows-arm64.zip" - sha256: "588576bd73f20a851de053571a3ccb9bfe28446b5952ea62918dd273da608183" - x86_64: - url: "https://cmake.org/files/v3.27/cmake-3.27.1-windows-x86_64.zip" - sha256: "664fe1655999f0b693d1e64ddb430191c727ab0a03dc1da7278f291172e1e04e" - "3.27.0": - Linux: - armv8: - url: "https://cmake.org/files/v3.27/cmake-3.27.0-linux-aarch64.tar.gz" - sha256: "97c2f8cf9e063a7acf9f15ed472d87c511bf5cb62d3e42b9c90524fb0c2e4748" - x86_64: - url: "https://cmake.org/files/v3.27/cmake-3.27.0-linux-x86_64.tar.gz" - sha256: "89c7e74d29f442e4734954310e09dd12d13636991f2d90d0ed1bececb8bf9b9c" - Macos: - universal: - url: "https://cmake.org/files/v3.27/cmake-3.27.0-macos10.10-universal.tar.gz" - sha256: "dd9a7a8d5bd7d20b694eda8ff9c31147a5e1faa3bca1099836cfa0f81f8d5809" - Windows: - armv8: - url: "https://cmake.org/files/v3.27/cmake-3.27.0-windows-arm64.zip" - sha256: "9345cbbb25cb5e8f3c68db067151a013c628783edbfc6fcf622ae58900aa8ad3" - x86_64: - url: "https://cmake.org/files/v3.27/cmake-3.27.0-windows-x86_64.zip" - sha256: "fc5f901ef4d438eafbe35b24c608d5de11e517f157b3b7ab8ebbaa7c3c0171d2" - "3.26.4": + "3.26.5": Linux: armv8: - url: "https://cmake.org/files/v3.26/cmake-3.26.4-linux-aarch64.tar.gz" - sha256: "1c9843c92f40bee1a16baa12871693d3e190c9a222259a89e406d4d9aae6cf74" + url: "https://cmake.org/files/v3.26/cmake-3.26.5-linux-aarch64.tar.gz" + sha256: "737b990dcbc71f060b75193b2ddd5cf9d18c199e7a94c7169c80cf9314fe714a" x86_64: - url: "https://cmake.org/files/v3.26/cmake-3.26.4-linux-x86_64.tar.gz" - sha256: "ba1e0dcc710e2f92be6263f9617510b3660fa9dc409ad2fb8190299563f952a0" + url: "https://cmake.org/files/v3.26/cmake-3.26.5-linux-x86_64.tar.gz" + sha256: "130941ae3ffe4a9ee3395514787115a273a8d1ce15cb971494bb45f7e58bb3c3" Macos: universal: - url: "https://cmake.org/files/v3.26/cmake-3.26.4-macos10.10-universal.tar.gz" - sha256: "f30362daae58788ada07f9f0fe2b49a53dde4262e2d8fe73640045d9d6055183" + url: "https://cmake.org/files/v3.26/cmake-3.26.5-macos10.10-universal.tar.gz" + sha256: "30ff04703b5973414decde82860045afdf88e6da381aca6aeb2d625b05f53f2d" Windows: armv8: - url: "https://cmake.org/files/v3.26/cmake-3.26.4-windows-arm64.zip" - sha256: "6a9b28f318e766e40ac032b7fd2064fa9e026ff329f0ea175cbc8b15af51c45c" + url: "https://cmake.org/files/v3.26/cmake-3.26.5-windows-arm64.zip" + sha256: "1d5dd0e8a316290944e3c84bd6950df7ff650c5edde311af8903e88cb6cbc0ae" x86_64: - url: "https://cmake.org/files/v3.26/cmake-3.26.4-windows-x86_64.zip" - sha256: "62c35427104a4f8205226f72708d71334bd36a72cf72c60d0e3a766d71dcc78a" + url: "https://cmake.org/files/v3.26/cmake-3.26.5-windows-x86_64.zip" + sha256: "b95d6d8113593e001ae64df615358ea47185ad52a79d0c420332e052bd30c283" "3.25.3": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 179f7ccf1c5b2..88d76a326d17c 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,13 +1,11 @@ versions: + "3.27.6": + folder: "binary" "3.27.5": folder: "binary" "3.27.4": folder: "binary" - "3.27.1": - folder: "binary" - "3.27.0": - folder: "binary" - "3.26.4": + "3.26.5": folder: "binary" "3.25.3": folder: "binary" From 379b49d35add03d226631e75830379ac2130e058 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 18:54:56 +0900 Subject: [PATCH 1867/4087] (#20237) libzippp: add version 7.0-1.10.1 * libzippp: add version 7.0-1.10.1 * fix version number --- recipes/libzippp/all/conandata.yml | 3 +++ recipes/libzippp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libzippp/all/conandata.yml b/recipes/libzippp/all/conandata.yml index 90151532c90b5..20f731c93139a 100644 --- a/recipes/libzippp/all/conandata.yml +++ b/recipes/libzippp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.0-1.10.1": + url: "https://github.com/ctabin/libzippp/archive/libzippp-v7.0-1.10.1.tar.gz" + sha256: "67d6808406b4fc255016ede52c7b5105e2d0e43899a3331de9ed86da5dea07a1" "6.1-1.9.2": url: "https://github.com/ctabin/libzippp/archive/libzippp-v6.1-1.9.2.tar.gz" sha256: "3796f174780f23938749da493cf4cbc4c55f84a568ec395f2c256dfe10129305" diff --git a/recipes/libzippp/config.yml b/recipes/libzippp/config.yml index f715620c8ae87..ce3931e22d5f5 100644 --- a/recipes/libzippp/config.yml +++ b/recipes/libzippp/config.yml @@ -1,4 +1,6 @@ versions: + "7.0-1.10.1": + folder: all "6.1-1.9.2": folder: all "6.0-1.9.2": From ed8251da06a8d082227745ac0d30b0930adccd0d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 1 Oct 2023 12:59:32 +0200 Subject: [PATCH 1868/4087] (#19692) harfbuzz: add version 8.2.1 * harfbuzz: add version 8.2.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/) * 8.2.1 --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index d165dd235addd..779ff0fde3b71 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.2.1": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.2.1/harfbuzz-8.2.1.tar.xz" + sha256: "0fec78f98c9c8faf228957a201c8846f809452c20f8445eb092a1ba6f22dbea5" "8.1.1": url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.1.1/harfbuzz-8.1.1.tar.xz" sha256: "0305ad702e11906a5fc0c1ba11c270b7f64a8f5390d676aacfd71db129d6565f" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index 502391a71084d..bff626c84bf86 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "8.2.1": + folder: all "8.1.1": folder: all "8.0.1": From 4fad619d446d82ca5f8e96397c4a19ea28e1844b Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Sun, 1 Oct 2023 14:04:18 +0200 Subject: [PATCH 1869/4087] (#20238) [highs] bump version to 1.6.0 --- 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 373553d2ba8bb..c88418f873ba7 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.6.0.tar.gz" + sha256: "71962981566477c72c51b8b722c5df053d857b05b4f0e6869f455f657b3aa193" "1.5.3": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.5.3.tar.gz" sha256: "ce1a7d2f008e60cc69ab06f8b16831bd0fcd5f6002d3bbebae9d7a3513a1d01d" diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index 03874f3b48754..ba8bd2230d031 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.3": folder: all "1.4.2": From 5196dec872f824be2b977551985e982de456555a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 1 Oct 2023 22:50:03 +0900 Subject: [PATCH 1870/4087] (#20240) cpp-httplib: add version 0.14.1 * cpp-httplib: add version 0.14.1 * add version to config.yml --- 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 cf312a0b54c1d..89e0040b5d9cb 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 3a4d3cd3226a9..44182a765684d 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.1": + folder: all "0.14.0": folder: all "0.13.3": From eb5ed3bc1d01a734918005b9df97ac795460220a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 1 Oct 2023 19:18:52 +0300 Subject: [PATCH 1871/4087] (#20031) libsvm: add version 332 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libsvm/all/conandata.yml | 3 +++ recipes/libsvm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libsvm/all/conandata.yml b/recipes/libsvm/all/conandata.yml index 5712311441eb3..4ce3fd15b7dba 100644 --- a/recipes/libsvm/all/conandata.yml +++ b/recipes/libsvm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "332": + url: "https://github.com/cjlin1/libsvm/archive/v332.tar.gz" + sha256: "e1d7d316112d199ebd69c9695f79226d236b86e2c8d88e70cfe35fd383954ed8" "330": url: "https://github.com/cjlin1/libsvm/archive/v330.tar.gz" sha256: "e4fe41308c87cc210aec73e4f5f0fb4da14234d90e7a131763fbad3788ca2d80" diff --git a/recipes/libsvm/config.yml b/recipes/libsvm/config.yml index 026fbb9e30356..c1b9e6f304394 100644 --- a/recipes/libsvm/config.yml +++ b/recipes/libsvm/config.yml @@ -1,4 +1,6 @@ versions: + "332": + folder: all "330": folder: all "325": From ac3227cc025973eaf679a7f7cea84758638e3261 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 1 Oct 2023 20:48:46 +0200 Subject: [PATCH 1872/4087] (#19417) glib/all: bump libgettext * glib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * glib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * print meson log in case of failure * fix libintl discovery * remove outdated versions * fix 2.75.3 patch * remove more outdated versions * fixup conandata.yml * fixup pcre2 component * remove unused import * revert unrelated changes * Update conanfile.py --- recipes/glib/all/conandata.yml | 40 ++++----------- recipes/glib/all/conanfile.py | 31 ++---------- .../0001-2.73.3-clang-static-assert.patch | 33 ------------- .../patches/libintl-discovery-2.75.3.patch | 49 +++++++++++++++++++ .../glib/all/patches/libintl-discovery.patch | 49 +++++++++++++++++++ recipes/glib/config.yml | 18 ------- 6 files changed, 112 insertions(+), 108 deletions(-) delete mode 100644 recipes/glib/all/patches/0001-2.73.3-clang-static-assert.patch create mode 100644 recipes/glib/all/patches/libintl-discovery-2.75.3.patch create mode 100644 recipes/glib/all/patches/libintl-discovery.patch diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index b749d7ac74580..2288ee67fc7c6 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -17,39 +17,17 @@ sources: "2.76.3": url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.3.tar.xz" sha256: "c0be444e403d7c3184d1f394f89f0b644710b5e9331b54fa4e8b5037813ad32a" - "2.76.2": - url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.2.tar.xz" - sha256: "24f3847857b1d8674cdb0389a36edec0f13c666cd3ce727ecd340eb9da8aca9e" - "2.76.1": - url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.1.tar.xz" - sha256: "43dc0f6a126958f5b454136c4398eab420249c16171a769784486e25f2fda19f" - "2.76.0": - url: "https://download.gnome.org/sources/glib/2.76/glib-2.76.0.tar.xz" - sha256: "525bb703b807142e1aee5ccf222c344e8064b21c0c45677ef594e587874c6797" "2.75.3": url: "https://download.gnome.org/sources/glib/2.75/glib-2.75.3.tar.xz" sha256: "7c517d0aff456c35a039bce8a8df7a08ce95a8285b09d1849f8865f633f7f871" - "2.75.2": - url: "https://download.gnome.org/sources/glib/2.75/glib-2.75.2.tar.xz" - sha256: "360d6fb75202c0eb0d07f0ab812b19b526f1c05ccc0a8ed7e5d2c988616d343a" - "2.75.1": - url: "https://download.gnome.org/sources/glib/2.75/glib-2.75.1.tar.xz" - sha256: "96fd22355a542cca96c31082f2d09b72cb5a3454b6ea60c1be17c987a18a6b93" - "2.75.0": - url: "https://download.gnome.org/sources/glib/2.75/glib-2.75.0.tar.xz" - sha256: "6dde8e55cc4a2c83d96797120b08bcffb5f645b2e212164ae22d63c40e0e6360" - "2.74.1": - url: "https://download.gnome.org/sources/glib/2.74/glib-2.74.1.tar.xz" - sha256: "0ab981618d1db47845e56417b0d7c123f81a3427b2b9c93f5a46ff5bbb964964" - "2.73.3": - url: "https://download.gnome.org/sources/glib/2.73/glib-2.73.3.tar.xz" - sha256: "df1a2b841667d6b48b2ef6969ebda4328243829f6e45866726f806f90f64eead" - "2.72.4": - url: "https://download.gnome.org/sources/glib/2.72/glib-2.72.4.tar.xz" - sha256: "8848aba518ba2f4217d144307a1d6cb9afcc92b54e5c13ac1f8c4d4608e96f0e" patches: - "2.73.3": - - patch_file: "patches/0001-2.73.3-clang-static-assert.patch" + "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 + "2.75.3": + - patch_file: "patches/libintl-discovery-2.75.3.patch" patch_type: bugfix - patch_description: fix for clang compilation - patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2898 + patch_description: fix libintl discovery + patch_source: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3352 diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index a90b8bbde49a8..fa5bd0a44e4c3 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -6,7 +6,6 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version import os import shutil @@ -67,10 +66,7 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") self.requires("libffi/3.4.4") - if Version(self.version) >= "2.73.2": - self.requires("pcre2/10.42") - else: - self.requires("pcre/8.45") + self.requires("pcre2/10.42") if self.options.get_safe("with_elf"): self.requires("libelf/0.8.13") if self.options.get_safe("with_mount"): @@ -79,7 +75,7 @@ def requirements(self): self.requires("libselinux/3.3") if self.settings.os != "Linux": # for Linux, gettext is provided by libc - self.requires("libgettext/0.21", transitive_headers=True, transitive_libs=True) + self.requires("libgettext/0.22", transitive_headers=True, transitive_libs=True) if is_apple_os(self): self.requires("libiconv/1.17") @@ -99,8 +95,6 @@ def generate(self): tc.generate() tc = MesonToolchain(self) - if is_apple_os(self) and Version(self.version) < "2.75.1": - tc.project_options["iconv"] = "external" # https://gitlab.gnome.org/GNOME/glib/issues/1557 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": @@ -116,20 +110,11 @@ def _patch_sources(self): "subdir('fuzzing')", "#subdir('fuzzing')", ) # https://gitlab.gnome.org/GNOME/glib/-/issues/2152 - if Version(self.version) < "2.73.2": - for filename in [ - os.path.join(self.source_folder, "meson.build"), - os.path.join(self.source_folder, "glib", "meson.build"), - os.path.join(self.source_folder, "gobject", "meson.build"), - os.path.join(self.source_folder, "gio", "meson.build"), - ]: - replace_in_file(self, filename, "subdir('tests')", "#subdir('tests')") if self.settings.os != "Linux": # allow to find gettext replace_in_file(self, os.path.join(self.source_folder, "meson.build"), - "libintl = cc.find_library('intl', required : false" if Version(self.version) < "2.73.1" \ - else "libintl = dependency('intl', required: false", + "libintl = dependency('intl', required: false", "libintl = dependency('libgettext', method : 'pkg-config', required : false", ) @@ -152,10 +137,7 @@ def build(self): meson.build() def package(self): - if Version(self.version) < "2.73.0": - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - else: - copy(self, pattern="LGPL-2.1-or-later.txt", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "LICENSES")) + copy(self, pattern="LGPL-2.1-or-later.txt", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "LICENSES")) meson = Meson(self) meson.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) @@ -234,10 +216,7 @@ def package_info(self): if is_apple_os(self): self.cpp_info.components["glib-2.0"].requires.append("libiconv::libiconv") - if Version(self.version) >= "2.73.2": - self.cpp_info.components["glib-2.0"].requires.append("pcre2::pcre2") - else: - self.cpp_info.components["glib-2.0"].requires.append("pcre::pcre") + self.cpp_info.components["glib-2.0"].requires.append("pcre2::pcre2") if self.settings.os == "Linux": self.cpp_info.components["gio-2.0"].system_libs.append("resolv") diff --git a/recipes/glib/all/patches/0001-2.73.3-clang-static-assert.patch b/recipes/glib/all/patches/0001-2.73.3-clang-static-assert.patch deleted file mode 100644 index c46f5e071d71c..0000000000000 --- a/recipes/glib/all/patches/0001-2.73.3-clang-static-assert.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/gio/gio-launch-desktop.c b/gio/gio-launch-desktop.c -index 29bf9d5d4..47717b987 100644 ---- a/gio/gio-launch-desktop.c -+++ b/gio/gio-launch-desktop.c -@@ -39,7 +39,6 @@ - - #if defined(__linux__) && !defined(__BIONIC__) - #include --#include - #include - #include - #include -@@ -48,6 +47,9 @@ - #include - - #include "gjournal-private.h" -+#define GLIB_COMPILATION -+#include "gmacros.h" /* For G_STATIC_ASSERT define */ -+#undef GLIB_COMPILATION - - /* - * write_all: -@@ -119,8 +121,8 @@ journal_stream_fd (const char *identifier, - /* Arbitrary large size for the sending buffer, from systemd */ - int large_buffer_size = 8 * 1024 * 1024; - -- static_assert (LOG_EMERG == 0, "Linux ABI defines LOG_EMERG"); -- static_assert (LOG_DEBUG == 7, "Linux ABI defines LOG_DEBUG"); -+ G_STATIC_ASSERT (LOG_EMERG == 0 && sizeof "Linux ABI defines LOG_EMERG"); -+ G_STATIC_ASSERT (LOG_DEBUG == 7 && sizeof "Linux ABI defines LOG_DEBUG"); - - fd = socket (AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0); - diff --git a/recipes/glib/all/patches/libintl-discovery-2.75.3.patch b/recipes/glib/all/patches/libintl-discovery-2.75.3.patch new file mode 100644 index 0000000000000..0df94096d0615 --- /dev/null +++ b/recipes/glib/all/patches/libintl-discovery-2.75.3.patch @@ -0,0 +1,49 @@ +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/all/patches/libintl-discovery.patch b/recipes/glib/all/patches/libintl-discovery.patch new file mode 100644 index 0000000000000..17083da96cd17 --- /dev/null +++ b/recipes/glib/all/patches/libintl-discovery.patch @@ -0,0 +1,49 @@ +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 +@@ -2089,6 +2089,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 +@@ -2100,11 +2101,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() +@@ -2113,7 +2114,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 87471ca63de5f..da0b056644c24 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -11,23 +11,5 @@ versions: folder: all "2.76.3": folder: all - "2.76.2": - folder: all - "2.76.1": - folder: all - "2.76.0": - folder: all "2.75.3": folder: all - "2.75.2": - folder: all - "2.75.1": - folder: all - "2.75.0": - folder: all - "2.74.1": - folder: all - "2.73.3": - folder: all - "2.72.4": - folder: all From 4c9dfb022609353fe68d7be552bce26df82fc411 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 2 Oct 2023 00:09:37 +0300 Subject: [PATCH 1873/4087] (#20037) winflexbison: add v2.5.25 --- recipes/winflexbison/all/conandata.yml | 5 + .../patches/0001-2.5.25-mingw-support.patch | 177 ++++++++++++++++++ recipes/winflexbison/config.yml | 2 + 3 files changed, 184 insertions(+) create mode 100644 recipes/winflexbison/all/patches/0001-2.5.25-mingw-support.patch diff --git a/recipes/winflexbison/all/conandata.yml b/recipes/winflexbison/all/conandata.yml index c1a75693f1653..44c1f53fdafb9 100644 --- a/recipes/winflexbison/all/conandata.yml +++ b/recipes/winflexbison/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.25": + url: "https://github.com/lexxmark/winflexbison/archive/v2.5.25.tar.gz" + sha256: "8e1b71e037b524ba3f576babb0cf59182061df1f19cd86112f085a882560f60b" "2.5.24": url: "https://github.com/lexxmark/winflexbison/archive/v2.5.24.tar.gz" sha256: "a49d6e310636e3487e1e066e411d908cfeae2d5b5fde1f3cf74fe1d6d4301062" @@ -6,6 +9,8 @@ sources: url: "https://github.com/lexxmark/winflexbison/archive/v2.5.22.tar.gz" sha256: "697c2c4af3308625605b75498bd63a9a294660f8e43a4c35452cf4334fa4a530" patches: + "2.5.25": + - patch_file: "patches/0001-2.5.25-mingw-support.patch" "2.5.24": - patch_file: "patches/0001-2.5.24-mingw-support.patch" "2.5.22": diff --git a/recipes/winflexbison/all/patches/0001-2.5.25-mingw-support.patch b/recipes/winflexbison/all/patches/0001-2.5.25-mingw-support.patch new file mode 100644 index 0000000000000..54af813f75263 --- /dev/null +++ b/recipes/winflexbison/all/patches/0001-2.5.25-mingw-support.patch @@ -0,0 +1,177 @@ +--- bison/src/config.h ++++ bison/src/config.h +@@ -1,1 +1,2 @@ ++#pragma once + #define PACKAGE_BUGREPORT "https://github.com/lexxmark/winflexbison/issues" +--- bison/src/conflicts.c ++++ bison/src/conflicts.c +@@ -30,7 +30,7 @@ + #include "getargs.h" + #include "gram.h" + #include "lalr.h" +-#include "lr0.h" ++#include "LR0.h" + #include "print-xml.h" + #include "reader.h" + #include "state.h" +--- bison/src/lalr.c ++++ bison/src/lalr.c +@@ -33,7 +33,7 @@ + #include "getargs.h" + #include "gram.h" + #include "lalr.h" +-#include "lr0.h" ++#include "LR0.h" + #include "muscle-tab.h" + #include "nullable.h" + #include "reader.h" +--- bison/src/LR0.c ++++ bison/src/LR0.c +@@ -32,7 +32,7 @@ + #include "getargs.h" + #include "gram.h" + #include "lalr.h" +-#include "lr0.h" ++#include "LR0.h" + #include "reader.h" + #include "reduce.h" + #include "state.h" +--- bison/src/main.c ++++ bison/src/main.c +@@ -45,7 +45,7 @@ + #include "gram.h" + #include "ielr.h" + #include "lalr.h" +-#include "lr0.h" ++#include "LR0.h" + #include "muscle-tab.h" + #include "nullable.h" + #include "output.h" +--- bison/src/print.c ++++ bison/src/print.c +@@ -35,7 +35,7 @@ + #include "getargs.h" + #include "gram.h" + #include "lalr.h" +-#include "lr0.h" ++#include "LR0.h" + #include "muscle-tab.h" + #include "reader.h" + #include "reduce.h" +--- bison/src/print-graph.c ++++ bison/src/print-graph.c +@@ -31,7 +31,7 @@ + #include "gram.h" + #include "graphviz.h" + #include "lalr.h" +-#include "lr0.h" ++#include "LR0.h" + #include "reader.h" + #include "state.h" + #include "symtab.h" +--- bison/src/print-xml.c ++++ bison/src/print-xml.c +@@ -37,1 +37,1 @@ +-#include "lr0.h" ++#include "LR0.h" +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -2,23 +2,23 @@ + + project (winflexbison) + +-if(NOT MSVC) +- message( FATAL_ERROR "Visual Studio Build supported only" ) ++if(MSVC) ++ add_definitions(-D_CRT_SECURE_NO_WARNINGS) + endif() + +-add_definitions(-D_CRT_SECURE_NO_WARNINGS) ++ + + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + add_definitions(-D_DEBUG) + endif() + + # next line needed for compile in C (nor CPP) mode (ucrt headers bug) + add_definitions(-Dinline=__inline) + # next line needed for VS2017 only + add_definitions(-Drestrict=__restrict) + +-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /W3 /MD /Od /Zi /EHsc") +-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /W3 /GL /Od /Oi /Gy /Zi /EHsc") ++#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /W3 /MD /Od /Zi /EHsc") ++#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /W3 /GL /Od /Oi /Gy /Zi /EHsc") + + # Define Release by default. + if(NOT CMAKE_BUILD_TYPE) +--- common/CMakeLists.txt ++++ common/CMakeLists.txt +@@ -4,6 +4,12 @@ + + project(${PROJECT_NAME} C) + ++include(CheckSymbolExists) ++check_symbol_exists(nanouptime "sys/time.h" HAVE_NANOUPTIME) ++check_symbol_exists(clock_gettime "time.h" HAVE_CLOCK_GETTIME) ++check_symbol_exists(microuptime "sys/time.h" HAVE_MICROUPTIME) ++check_symbol_exists(timespec_get "time.h" HAVE_TIMESPEC_GET) ++ + # Definition of Macros + add_definitions(-D_LIB) + +@@ -31,3 +37,9 @@ + add_library(${PROJECT_NAME} STATIC + ${SOURCE_FILES} + ) ++target_compile_definitions(${PROJECT_NAME} PRIVATE ++ $<$:HAVE_NANOUPTIME=1> ++ $<$:HAVE_CLOCK_GETTIME=1> ++ $<$:HAVE_MICROUPTIME=1> ++ $<$:HAVE_TIMESPEC_GET=1> ++) +--- common/m4/lib/clean-temp.h ++++ common/m4/lib/clean-temp.h +@@ -137,3 +137,3 @@ +- +-typedef int mode_t; +- ++#if defined _MSC_VER ++typedef int mode_t; ++#endif +--- common/misc/gethrxtime.c ++++ common/misc/gethrxtime.c +@@ -27,6 +27,6 @@ +-//#include + #include "timespec.h" +- ++#if HAVE_CLOCK_GETTIME ++#include ++#endif + /* Get the current time, as a count of the number of nanoseconds since + an arbitrary epoch (e.g., the system boot time). Prefer a +- high-resolution clock that is not subject to resetting or +@@ -49,8 +49,8 @@ + if (clock_gettime (CLOCK_MONOTONIC, &ts) == 0) + return xtime_make (ts.tv_sec, ts.tv_nsec); + } +-# endif +- ++# ++# else + # if HAVE_MICROUPTIME + { + struct timeval tv; +@@ -69,6 +69,6 @@ + } + # endif + # endif ++# endif + } +- + #endif +--- flex/CMakeLists.txt ++++ flex/CMakeLists.txt +@@ -25,1 +25,1 @@ +-target_link_libraries(${PROJECT_NAME} winflexbison_common kernel32.lib user32.lib) ++target_link_libraries(${PROJECT_NAME} winflexbison_common kernel32 user32) diff --git a/recipes/winflexbison/config.yml b/recipes/winflexbison/config.yml index 480280b1fb8e8..4ae41b917c916 100644 --- a/recipes/winflexbison/config.yml +++ b/recipes/winflexbison/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.25": + folder: all "2.5.24": folder: all "2.5.22": From d8304db68b2edb9f635eb687940b4a4040c57344 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 2 Oct 2023 00:40:12 +0200 Subject: [PATCH 1874/4087] (#20174) cassandra-cpp-driver: add package_type + bump boost + better way to package relocatable shared lib on macOS * better way to package relocatable shared libs on macOS * add package_type * bump boost * no self.info in validate() --- recipes/cassandra-cpp-driver/all/conanfile.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/cassandra-cpp-driver/all/conanfile.py b/recipes/cassandra-cpp-driver/all/conanfile.py index 91a6e9ffd905a..5cfe8683bd139 100644 --- a/recipes/cassandra-cpp-driver/all/conanfile.py +++ b/recipes/cassandra-cpp-driver/all/conanfile.py @@ -3,7 +3,6 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, rm from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.build import check_min_cppstd -from conan.tools.apple import fix_apple_shared_install_name import os required_conan_version = ">=1.53.0" @@ -14,7 +13,8 @@ class CassandraCppDriverConan(ConanFile): license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://docs.datastax.com/en/developer/cpp-driver/" - topics = ("cassandra", "cpp-driver", "database",) + topics = ("cassandra", "cpp-driver", "database") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -70,10 +70,10 @@ def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.use_atomic == "boost": - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") def validate(self): - if self.info.settings.compiler.cppstd: + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) if self.options.use_atomic == "boost": @@ -123,6 +123,8 @@ def generate(self): if self.settings.os == "Linux": tc.variables["CASS_USE_TIMERFD"] = self.options.use_timerfd + # Relocatable shared lib on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() deps = CMakeDeps(self) @@ -147,7 +149,6 @@ 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() - fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["cassandra" if self.options.shared else "cassandra_static"] From 37939ce2e965ee654b2af81df987f8172a7544f4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 2 Oct 2023 01:52:52 +0200 Subject: [PATCH 1875/4087] (#20175) ldns: relocatable shared lib on macOS + add package_type + version range for openssl * relocatable shared lib on macOS * add package_type * cleanup * version range for openssl --- recipes/ldns/all/conanfile.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/recipes/ldns/all/conanfile.py b/recipes/ldns/all/conanfile.py index b6e94e58b15d8..531318c15033c 100644 --- a/recipes/ldns/all/conanfile.py +++ b/recipes/ldns/all/conanfile.py @@ -1,9 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.apple import XCRun +from conan.tools.apple import fix_apple_shared_install_name, XCRun 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, rm +from conan.tools.files import copy, get, rm from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout import os @@ -18,7 +18,7 @@ class LdnsConan(ConanFile): homepage = "https://www.nlnetlabs.nl/projects/ldns" description = "LDNS is a DNS library that facilitates DNS tool programming" topics = ("dns") - + package_type = "library" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -29,13 +29,6 @@ class LdnsConan(ConanFile): "fPIC": True, } - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") @@ -50,7 +43,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.os == "Windows": @@ -100,7 +93,6 @@ def generate(self): tc.generate() def build(self): - apply_conandata_patches(self) autotools = Autotools(self) autotools.configure() autotools.make() @@ -111,6 +103,7 @@ def package(self): autotools.install(target=target) rm(self, "*.la", os.path.join(self.package_folder, "lib")) copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["ldns"] From 0ee5ff7ea298dee3ca2f7f941422f0c2b25711e3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 2 Oct 2023 02:39:15 +0200 Subject: [PATCH 1876/4087] (#20000) serd: bump meson * bump meson * bump meson --- recipes/serd/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/serd/all/conanfile.py b/recipes/serd/all/conanfile.py index 038ad977840b2..b5008dc8cfa01 100644 --- a/recipes/serd/all/conanfile.py +++ b/recipes/serd/all/conanfile.py @@ -43,7 +43,7 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 46643e6b89e46ecdc18dc1faf20e3a4971e6ae38 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 2 Oct 2023 03:31:33 +0200 Subject: [PATCH 1877/4087] (#20176) xlsxio: relocatable shared libs on macOS + cleanup recipe a little bit * relocatable shared lib on macOS * remove useless VirtualBuildEnv * fix set_property - no cmake_find_mode both, there is no Find module file upstream, only a CMake config file - no explicit global pc file, there is none upstream, only pc files per component --- recipes/xlsxio/all/conanfile.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/recipes/xlsxio/all/conanfile.py b/recipes/xlsxio/all/conanfile.py index b5d3c01dc87ce..7724a07d64464 100644 --- a/recipes/xlsxio/all/conanfile.py +++ b/recipes/xlsxio/all/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps -from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os @@ -74,9 +73,6 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - tc = VirtualBuildEnv(self) - tc.generate() - tc = CMakeToolchain(self) tc.variables["BUILD_STATIC"] = not self.options.shared tc.variables["BUILD_SHARED"] = self.options.shared @@ -84,6 +80,8 @@ def generate(self): if Version(self.version) >= "0.2.34": tc.variables["WITH_MINIZIP_NG"] = self.options.with_minizip_ng tc.variables["WITH_WIDE"] = self.options.with_wide + # Relocatable shared lib on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() tc = CMakeDeps(self) @@ -108,10 +106,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "xlsxio") - self.cpp_info.set_property("cmake_module_file_name", "xlsxio") - self.cpp_info.set_property("pkg_config_name", "xlsxio") ziplib = "minizip::minizip" if self.options.with_libzip: @@ -122,7 +117,6 @@ def package_info(self): xlsxio_macro = "BUILD_XLSXIO_SHARED" if self.options.shared else "BUILD_XLSXIO_STATIC" self.cpp_info.components["xlsxio_read"].set_property("cmake_target_name", "xlsxio::xlsxio_read") - self.cpp_info.components["xlsxio_read"].set_property("cmake_module_target_name", "xlsxio::xlsxio_read") self.cpp_info.components["xlsxio_read"].set_property("pkg_config_name", "libxlsxio_read") self.cpp_info.components["xlsxio_read"].libs = ["xlsxio_read"] self.cpp_info.components["xlsxio_read"].requires = ["expat::expat", ziplib] @@ -131,7 +125,6 @@ def package_info(self): self.cpp_info.components["xlsxio_read"].defines.append(xlsxio_macro) self.cpp_info.components["xlsxio_write"].set_property("cmake_target_name", "xlsxio::xlsxio_write") - self.cpp_info.components["xlsxio_write"].set_property("cmake_module_target_name", "xlsxio::xlsxio_write") self.cpp_info.components["xlsxio_write"].set_property("pkg_config_name", "libxlsxio_write") self.cpp_info.components["xlsxio_write"].libs = ["xlsxio_write"] self.cpp_info.components["xlsxio_write"].requires = ["expat::expat", ziplib] @@ -141,7 +134,6 @@ def package_info(self): if self.options.with_wide: self.cpp_info.components["xlsxio_readw"].set_property("cmake_target_name", "xlsxio::xlsxio_readw") - self.cpp_info.components["xlsxio_readw"].set_property("cmake_module_target_name", "xlsxio::xlsxio_readw") self.cpp_info.components["xlsxio_readw"].set_property("pkg_config_name", "libxlsxio_readw") self.cpp_info.components["xlsxio_readw"].libs = ["xlsxio_readw"] self.cpp_info.components["xlsxio_readw"].requires = ["expat::expat", ziplib] From aadbe7b9cde83a4f79896a9a87fe3a58491eabe0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 2 Oct 2023 04:30:07 +0200 Subject: [PATCH 1878/4087] (#20178) shapelib: relocatable shared lib on macOS + add package_type * relocatable shared lib on macOS * add package_type --- recipes/shapelib/all/conandata.yml | 3 +++ recipes/shapelib/all/conanfile.py | 4 ++-- .../all/patches/0003-relocatable-shared-macos.patch | 10 ++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch diff --git a/recipes/shapelib/all/conandata.yml b/recipes/shapelib/all/conandata.yml index 5dde0cb6bfee1..16ed675c6719f 100644 --- a/recipes/shapelib/all/conandata.yml +++ b/recipes/shapelib/all/conandata.yml @@ -12,3 +12,6 @@ patches: patch_description: "Use the standard BUILD_TESTING variable to control building tests" patch_source: "https://github.com/OSGeo/shapelib/pull/46" patch_type: "portability" + - patch_file: "patches/0003-relocatable-shared-macos.patch" + patch_description: "Relocatable shared lib on macOS" + patch_type: "conan" diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index 19059022ab189..e9396ff670b11 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class ShapelibConan(ConanFile): @@ -14,6 +14,7 @@ class ShapelibConan(ConanFile): topics = ("osgeo", "shapefile", "esri", "geospatial") homepage = "https://github.com/OSGeo/shapelib" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -45,7 +46,6 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.variables["BUILD_TESTING"] = False tc.variables["USE_RPATH"] = False tc.generate() diff --git a/recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch b/recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch new file mode 100644 index 0000000000000..5994e77d745e1 --- /dev/null +++ b/recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch @@ -0,0 +1,10 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,7 +117,6 @@ set_target_properties(shp + PROPERTIES + SOVERSION ${shp_SOVERSION} + VERSION ${shp_VERSION} +- INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}" + ) + + if(USE_RPATH) From a3d954d334f698a8662e1d68c8186be88e7f9f15 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 2 Oct 2023 05:11:47 +0200 Subject: [PATCH 1879/4087] (#20179) streamvbyte: relocatable shared lib for macOS * relocatable shared lib on macOS * add patch_source for install layout fix --- recipes/streamvbyte/all/conandata.yml | 7 ++++++- .../patches/1.0.0-0002-relocatable-shared-macos.patch | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 recipes/streamvbyte/all/patches/1.0.0-0002-relocatable-shared-macos.patch diff --git a/recipes/streamvbyte/all/conandata.yml b/recipes/streamvbyte/all/conandata.yml index a5dd541a0c780..6ecc44a071052 100644 --- a/recipes/streamvbyte/all/conandata.yml +++ b/recipes/streamvbyte/all/conandata.yml @@ -6,4 +6,9 @@ patches: "1.0.0": - patch_file: "patches/1.0.0-0001-fix-cmake.patch" patch_description: "fix install destination" - patch_type: "conan" + patch_source: "https://github.com/lemire/streamvbyte/pull/67" + patch_type: "portability" + - patch_file: "patches/1.0.0-0002-relocatable-shared-macos.patch" + patch_description: "Relocatable shared lib for macOS" + patch_source: "https://github.com/lemire/streamvbyte/pull/66" + patch_type: "portability" diff --git a/recipes/streamvbyte/all/patches/1.0.0-0002-relocatable-shared-macos.patch b/recipes/streamvbyte/all/patches/1.0.0-0002-relocatable-shared-macos.patch new file mode 100644 index 0000000000000..5d52b1fe170f0 --- /dev/null +++ b/recipes/streamvbyte/all/patches/1.0.0-0002-relocatable-shared-macos.patch @@ -0,0 +1,9 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,4 @@ + cmake_minimum_required(VERSION 3.3) +- +-set(CMAKE_MACOSX_RPATH OFF) + project(STREAMVBYTE VERSION "1.0.0") + + set(STREAMVBYTE_LIB_VERSION "1.0.0" CACHE STRING "streamvbyte library version") From 9327dbb23e09d78e1064f4865693455d1e879ac7 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 2 Oct 2023 12:50:36 +0900 Subject: [PATCH 1880/4087] (#20246) clickhouse-cpp: add version 2.5.1 --- recipes/clickhouse-cpp/all/conandata.yml | 3 +++ recipes/clickhouse-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/clickhouse-cpp/all/conandata.yml b/recipes/clickhouse-cpp/all/conandata.yml index 21db8c747eb05..16d1b5fbe21b5 100644 --- a/recipes/clickhouse-cpp/all/conandata.yml +++ b/recipes/clickhouse-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.1": + url: "https://github.com/ClickHouse/clickhouse-cpp/archive/refs/tags/v2.5.1.tar.gz" + sha256: "8942fc702eca1f656e59c680c7e464205bffea038b62c1a0ad1f794ee01e7266" "2.5.0": url: "https://github.com/ClickHouse/clickhouse-cpp/archive/refs/tags/v2.5.0.tar.gz" sha256: "7eead6beb47a64be9b1f12f2435f0fb6304e8363823ed72178c76faf0d835801" diff --git a/recipes/clickhouse-cpp/config.yml b/recipes/clickhouse-cpp/config.yml index ea52eed866318..b99c6305af105 100644 --- a/recipes/clickhouse-cpp/config.yml +++ b/recipes/clickhouse-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.1": + folder: all "2.5.0": folder: all "2.4.0": From 21a447d5c930e7351d93e2991dfaea4e326d1d0f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 2 Oct 2023 06:30:48 +0200 Subject: [PATCH 1881/4087] (#20249) xkbcommon: silence console log --- recipes/xkbcommon/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 926843dcf8b92..d6a9ac9f0458d 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -171,9 +171,7 @@ def package_info(self): self.cpp_info.components["xkbcli-interactive-wayland"].requires.append("wayland-protocols::wayland-protocols") if Version(self.version) >= "1.0.0": - bindir = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bindir}") - self.env_info.PATH.append(bindir) + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) # unofficial, but required to avoid side effects (libxkbcommon component # "steals" the default global pkg_config name) From 4d9a5d9bd9b9d3fd69aca329d535f44eb95ee02d Mon Sep 17 00:00:00 2001 From: nerix Date: Mon, 2 Oct 2023 08:02:00 +0200 Subject: [PATCH 1882/4087] (#19820) libavif: Add version 1.0.1 Co-authored-by: Carlos Zoido --- recipes/libavif/all/conandata.yml | 7 ++++ ...001-disable-developer-only-codepaths.patch | 34 +++++++++++++++++++ recipes/libavif/config.yml | 2 ++ 3 files changed, 43 insertions(+) create mode 100644 recipes/libavif/all/patches/1.0.1-0001-disable-developer-only-codepaths.patch diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index 1889bd2ede18f..853cd880f3a20 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.1.tar.gz" + sha256: "398fe7039ce35db80fe7da8d116035924f2c02ea4a4aa9f4903df6699287599c" "0.11.1": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.11.1.tar.gz" sha256: "0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e" @@ -6,6 +9,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.0.1": + - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "0.11.1": - patch_file: patches/0.11.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/all/patches/1.0.1-0001-disable-developer-only-codepaths.patch b/recipes/libavif/all/patches/1.0.1-0001-disable-developer-only-codepaths.patch new file mode 100644 index 0000000000000..9bedacfdc3b86 --- /dev/null +++ b/recipes/libavif/all/patches/1.0.1-0001-disable-developer-only-codepaths.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f0cde1..4ad03b6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,11 +70,13 @@ if(AVIF_LOCAL_LIBGAV1) + enable_language(CXX) + endif() + ++if(0) + if(APPLE) + set(XCRUN xcrun) + else() + set(XCRUN) + endif() ++endif() + + if(BUILD_SHARED_LIBS) + set(AVIF_LIBRARY_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") +@@ -209,6 +211,7 @@ else(libsharpyuv_FOUND) + endif(libsharpyuv_FOUND) + # --------------------------------------------------------------------------------------- + ++if(0) + # Enable all warnings + include(CheckCCompilerFlag) + if(CMAKE_C_COMPILER_ID MATCHES "Clang") +@@ -257,6 +260,7 @@ if(AVIF_ENABLE_COVERAGE) + message(WARNING "libavif: Ignoring request for coverage (AVIF_ENABLE_COVERAGE); only clang is currently supported.") + endif() + endif() ++endif() + + if(AVIF_ENABLE_EXPERIMENTAL_YCGCO_R) + add_compile_definitions(AVIF_ENABLE_EXPERIMENTAL_YCGCO_R) diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index f3e6d6038f1fa..5cf9b4e379877 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.1": + folder: all "0.11.1": folder: all "0.9.3": From 5ad9c550939540336006109a12d7b65473e3037f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 2 Oct 2023 15:50:09 +0900 Subject: [PATCH 1883/4087] (#19952) libnpy: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libnpy: add recipe * Set cppstd compat to 11 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libnpy/all/conandata.yml | 4 ++ recipes/libnpy/all/conanfile.py | 68 +++++++++++++++++++ .../libnpy/all/test_package/CMakeLists.txt | 8 +++ recipes/libnpy/all/test_package/conanfile.py | 26 +++++++ .../libnpy/all/test_package/test_package.cpp | 15 ++++ recipes/libnpy/config.yml | 3 + 6 files changed, 124 insertions(+) create mode 100644 recipes/libnpy/all/conandata.yml create mode 100644 recipes/libnpy/all/conanfile.py create mode 100644 recipes/libnpy/all/test_package/CMakeLists.txt create mode 100644 recipes/libnpy/all/test_package/conanfile.py create mode 100644 recipes/libnpy/all/test_package/test_package.cpp create mode 100644 recipes/libnpy/config.yml diff --git a/recipes/libnpy/all/conandata.yml b/recipes/libnpy/all/conandata.yml new file mode 100644 index 0000000000000..f7c435c55da39 --- /dev/null +++ b/recipes/libnpy/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.1": + url: "https://github.com/llohse/libnpy/archive/refs/tags/v1.0.1.tar.gz" + sha256: "43452a4db1e8c1df606c64376ea1e32789124051d7640e7e4e8518ab4f0fba44" diff --git a/recipes/libnpy/all/conanfile.py b/recipes/libnpy/all/conanfile.py new file mode 100644 index 0000000000000..1a453076924de --- /dev/null +++ b/recipes/libnpy/all/conanfile.py @@ -0,0 +1,68 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class LibNPYConan(ConanFile): + name = "libnpy" + description = "C++ library for reading and writing of numpy's .npy files" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/llohse/libnpy" + topics = ("python", "numpy", "npy", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + # Author didn't explicitly make it C++11 compatible, but turns out it is, + # maybe this changes in a future version but for now it's set to C++11 + # See https://github.com/llohse/libnpy/issues/35#issuecomment-1727327678 + return 11 + + @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") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/libnpy/all/test_package/CMakeLists.txt b/recipes/libnpy/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d8ff7a7d07435 --- /dev/null +++ b/recipes/libnpy/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(libnpy REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libnpy::libnpy) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/libnpy/all/test_package/conanfile.py b/recipes/libnpy/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/libnpy/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/libnpy/all/test_package/test_package.cpp b/recipes/libnpy/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..896ab340a0523 --- /dev/null +++ b/recipes/libnpy/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include "npy.hpp" +#include +#include + +int main() { + const std::vector data{1, 2, 3, 4, 5, 6}; + + npy::npy_data d; + d.data = data; + d.shape = {2, 3}; + d.fortran_order = false; + + const std::string path{"out.npy"}; + npy::write_npy(path, d); +} diff --git a/recipes/libnpy/config.yml b/recipes/libnpy/config.yml new file mode 100644 index 0000000000000..715e55357a17b --- /dev/null +++ b/recipes/libnpy/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.1": + folder: all From af7969499bf4a3454f982026af8b15263c2ec984 Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Mon, 2 Oct 2023 10:05:46 +0200 Subject: [PATCH 1884/4087] (#19953) Add frugally-deep version 0.15.24-p0 * Add frugally-deep version 0.15.21-p0 * Add frugally-deep version 0.15.22-p0 * Add frugally-deep version 0.15.23-p0 * Add frugally-deep version 0.15.24-p0 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/all/conanfile.py | 2 +- recipes/frugally-deep/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index 5db89f0f8f389..51c5e56abaac5 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.24-p0": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.24-p0.tar.gz" + sha256: "118b0219a3f17c6d5a3535874acb145ee2079fd309e1fb83884facc684810baf" "0.15.19-p0": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.19-p0.tar.gz" sha256: "acaba428ae19ef8d57a53b3767373cd96770c190dd57909e52d2759be89ac942" diff --git a/recipes/frugally-deep/all/conanfile.py b/recipes/frugally-deep/all/conanfile.py index 4b479f8d56a41..45f4704b4ab53 100644 --- a/recipes/frugally-deep/all/conanfile.py +++ b/recipes/frugally-deep/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): def requirements(self): self.requires("eigen/3.4.0") - self.requires("functionalplus/0.2.18-p0") + self.requires("functionalplus/0.2.20-p0") self.requires("nlohmann_json/3.11.2") def package_id(self): diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index 5b45f70613267..fa67726d0442a 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.24-p0": + folder: all "0.15.19-p0": folder: all "0.15.18-p0": From a2690ec3b781f9bb2ef533a590d0eee1a3331ed5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 2 Oct 2023 11:54:12 +0300 Subject: [PATCH 1885/4087] (#20043) nv-codec-headers: add version 12.0.16.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/nv-codec-headers/all/conandata.yml | 3 +++ recipes/nv-codec-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nv-codec-headers/all/conandata.yml b/recipes/nv-codec-headers/all/conandata.yml index 708ee808ccc1d..df731f0997f31 100644 --- a/recipes/nv-codec-headers/all/conandata.yml +++ b/recipes/nv-codec-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.0.16.0": + url: "https://github.com/FFmpeg/nv-codec-headers/archive/n12.0.16.0.tar.gz" + sha256: "2a1533b65f55f9da52956faf0627ed3b74868ac0c7f269990edd21369113b48f" "11.1.5.1": url: "https://github.com/FFmpeg/nv-codec-headers/archive/n11.1.5.1.tar.gz" sha256: "d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c" diff --git a/recipes/nv-codec-headers/config.yml b/recipes/nv-codec-headers/config.yml index 993edd5a10422..018eb4087b892 100644 --- a/recipes/nv-codec-headers/config.yml +++ b/recipes/nv-codec-headers/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.16.0": + folder: all "11.1.5.1": folder: all "9.1.23.2": From 37062914278fcce731c4f5b9352bc006f331eb05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Mon, 2 Oct 2023 12:54:09 +0200 Subject: [PATCH 1886/4087] (#20216) Bump cpprestsdk's zlib requirement to [>=1.2.11 <2] range --- recipes/cpprestsdk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpprestsdk/all/conanfile.py b/recipes/cpprestsdk/all/conanfile.py index 0383ff59b8cac..c75c41fcad7c4 100644 --- a/recipes/cpprestsdk/all/conanfile.py +++ b/recipes/cpprestsdk/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("boost/1.83.0") self.requires("openssl/[>=1.1 <4]") if self.options.with_compression: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_websockets: self.requires("websocketpp/0.8.2") From 9f01d3de1cd598d06844516180b15d5cedef5790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Mon, 2 Oct 2023 19:27:39 +0200 Subject: [PATCH 1887/4087] (#20220) Bump drogon's zlib requirement to [>=1.2.11 <2] range --- recipes/drogon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 1cde167ffc5cc..827f0fd96949d 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -113,7 +113,7 @@ def requirements(self): self.requires("trantor/1.5.13", 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.13") + self.requires("zlib/[>=1.2.11 <2]") if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39") if self.options.with_profile: From a15866a61db999c9e581b5c81fe397f0d39a0bbc Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:20:31 +0200 Subject: [PATCH 1888/4087] (#20262) [bot] Update authorized users list (2023-10-02) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index cc585bf78c5cf..5ec8bdc0fdecc 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1233,3 +1233,7 @@ authorized_users: - mrjoel - Nerixyz - irieger +- Slashcash +- CJaccarino +- gagoi +- tux3 From 8d824872fdd2468ea0a58264da5ade0b856213d4 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Tue, 3 Oct 2023 12:29:41 +0200 Subject: [PATCH 1889/4087] (#19218) Add Yoga * Add yoga/2.0.0 * Cleanup conanfile * cannot be build as shared lib * Enforce shared=False * Drop option for shared * Drop unused CMakeDeps Co-authored-by: Uilian Ries * Drop unused import --------- Co-authored-by: Uilian Ries --- recipes/yoga/all/conandata.yml | 9 +++ recipes/yoga/all/conanfile.py | 80 +++++++++++++++++++ .../yoga/all/patches/0001-delete-tests.patch | 12 +++ recipes/yoga/all/test_package/CMakeLists.txt | 9 +++ recipes/yoga/all/test_package/conanfile.py | 27 +++++++ .../yoga/all/test_package/test_package.cpp | 20 +++++ recipes/yoga/config.yml | 3 + 7 files changed, 160 insertions(+) create mode 100644 recipes/yoga/all/conandata.yml create mode 100644 recipes/yoga/all/conanfile.py create mode 100644 recipes/yoga/all/patches/0001-delete-tests.patch create mode 100644 recipes/yoga/all/test_package/CMakeLists.txt create mode 100644 recipes/yoga/all/test_package/conanfile.py create mode 100644 recipes/yoga/all/test_package/test_package.cpp create mode 100644 recipes/yoga/config.yml diff --git a/recipes/yoga/all/conandata.yml b/recipes/yoga/all/conandata.yml new file mode 100644 index 0000000000000..94212fbd08096 --- /dev/null +++ b/recipes/yoga/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "2.0.0": + url: "https://github.com/facebook/yoga/archive/refs/tags/v2.0.0.tar.gz" + sha256: "29eaf05191dd857f76b6db97c77cce66db3c0067c88bd5e052909386ea66b8c5" +patches: + "2.0.0": + - patch_file: "patches/0001-delete-tests.patch" + patch_description: "Delete test targets from cmake" + patch_type: "conan" diff --git a/recipes/yoga/all/conanfile.py b/recipes/yoga/all/conanfile.py new file mode 100644 index 0000000000000..e8249b9860f59 --- /dev/null +++ b/recipes/yoga/all/conanfile.py @@ -0,0 +1,80 @@ +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, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + + +class YogaConan(ConanFile): + name = "yoga" + description = "cross-platform layout engine which implements Flexbox" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://yogalayout.com/" + topics = ("layout engine", "flexbox") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + "clang": "3.4", + "apple-clang": "10", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + apply_conandata_patches(self) + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build(target="yogacore") + + 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 = ["yogacore"] diff --git a/recipes/yoga/all/patches/0001-delete-tests.patch b/recipes/yoga/all/patches/0001-delete-tests.patch new file mode 100644 index 0000000000000..d3a76211634ca --- /dev/null +++ b/recipes/yoga/all/patches/0001-delete-tests.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4ce73cc..9f414127 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,7 +10,6 @@ set(CMAKE_VERBOSE_MAKEFILE on) + include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/project-defaults.cmake) + + add_subdirectory(yoga) +-add_subdirectory(tests) + + # cmake install config + include(GNUInstallDirs) diff --git a/recipes/yoga/all/test_package/CMakeLists.txt b/recipes/yoga/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4c709290f183b --- /dev/null +++ b/recipes/yoga/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(yoga REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE yoga::yoga) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/yoga/all/test_package/conanfile.py b/recipes/yoga/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/yoga/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/yoga/all/test_package/test_package.cpp b/recipes/yoga/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ce6ef4ea1d25e --- /dev/null +++ b/recipes/yoga/all/test_package/test_package.cpp @@ -0,0 +1,20 @@ +#include +#include + +int main(void) { + const YGNodeRef root = YGNodeNew(); + YGNodeStyleSetAlignItems(root, YGAlignFlexStart); + YGNodeStyleSetWidth(root, 100); + YGNodeStyleSetHeight(root, 100); + + const YGNodeRef root_child0 = YGNodeNew(); + YGNodeStyleSetWidth(root_child0, 50); + YGNodeStyleSetAspectRatio(root_child0, 1); + YGNodeInsertChild(root, root_child0, 0); + + YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); + + YGNodeFreeRecursive(root); + + return EXIT_SUCCESS; +} diff --git a/recipes/yoga/config.yml b/recipes/yoga/config.yml new file mode 100644 index 0000000000000..d77ad03cbf510 --- /dev/null +++ b/recipes/yoga/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.0": + folder: all From 668048789b5c4b7b834f2c3d31da444ef4c4b340 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:51:26 +0200 Subject: [PATCH 1890/4087] (#20181) alembic 1.8.5: relocatable shared lib on macOS + disable warnings as errors * disable warnings as errors * relocatable shared libs on macOS --- recipes/alembic/all/conanfile.py | 3 ++ .../all/patches/1.8.5-0001-fix-cmake.patch | 40 ++++++++++++++++--- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/recipes/alembic/all/conanfile.py b/recipes/alembic/all/conanfile.py index 96e5f773727fd..a05a7f705ff40 100644 --- a/recipes/alembic/all/conanfile.py +++ b/recipes/alembic/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -70,6 +71,8 @@ def generate(self): tc.variables["ALEMBIC_USING_IMATH_3"] = False tc.variables["ALEMBIC_ILMBASE_FOUND"] = 1 tc.variables["ALEMBIC_ILMBASE_LIBS"] = "OpenEXR::OpenEXR" + if Version(self.version) >= "1.8.4": + tc.variables["ALEMBIC_DEBUG_WARNINGS_AS_ERRORS"] = False tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch b/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch index 3ebad2885a641..c048ccd304a2e 100644 --- a/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch +++ b/recipes/alembic/all/patches/1.8.5-0001-fix-cmake.patch @@ -1,6 +1,26 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -100,9 +100,6 @@ SET(DARWIN FALSE) + IF ("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") + SET(DARWIN TRUE) + # suppress rpath warning +- IF (POLICY CMP0042) +- CMAKE_POLICY(SET CMP0042 OLD) +- ENDIF() + ENDIF() + + SET(LINUX FALSE) +@@ -212,7 +209,6 @@ INCLUDE("./cmake/AlembicIlmBase.cmake") + + # HDF5 + IF (USE_HDF5) +- FIND_PACKAGE(ZLIB REQUIRED) + SET(ALEMBIC_WITH_HDF5 "1") + INCLUDE("./cmake/AlembicHDF5.cmake") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DH5_USE_18_API") --- a/lib/Alembic/CMakeLists.txt +++ b/lib/Alembic/CMakeLists.txt -@@ -68,7 +68,6 @@ IF (ALEMBIC_SHARED_LIBS) +@@ -68,28 +68,26 @@ IF (ALEMBIC_SHARED_LIBS) if (ALEMBIC_USING_IMATH_3) if (APPLE OR UNIX) @@ -8,7 +28,20 @@ endif () endif () ENDIF() -@@ -87,9 +87,9 @@ TARGET_LINK_LIBRARIES(Alembic + + + TARGET_LINK_LIBRARIES(Alembic +- LINK_PUBLIC ++ PUBLIC + ${ALEMBIC_ILMBASE_LIBS} + ${CMAKE_THREAD_LIBS_INIT} + ${EXTERNAL_MATH_LIBS} +- LINK_PRIVATE ++ PRIVATE + ${HDF5_LIBRARIES} +- ${ZLIB_LIBRARY} + ) + SET( ALEMBIC_LIB_INSTALL_DIR lib CACHE STRING "Where to install the Alembic libs") INSTALL(TARGETS Alembic EXPORT AlembicTargets @@ -21,6 +54,3 @@ #-****************************************************************************** # PACKAGE EXPORTS --- -2.41.0 - From 5d8800386dc399dfd2f01cd599d4a88ff0dc9801 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 3 Oct 2023 13:49:24 +0200 Subject: [PATCH 1891/4087] (#20239) dcmtk: conan v2 support & remove old versions * conan v2 support * cleanup * simplify "cmake required" variables injection for openssl * fix windows * small change * deprecate builtin_dictionary & external_dictionary in favor of default_dict & use_dcmdictpath options * fix env var condition * also fix check_cxx tests for libiconv * typo * fix cmake targets --- recipes/dcmtk/all/CMakeLists.txt | 7 - recipes/dcmtk/all/conandata.yml | 22 +- recipes/dcmtk/all/conanfile.py | 325 ++++++++++-------- .../0001-cmake-use-conan-packages.patch | 253 -------------- .../0002-cmake-use-conan-packages.patch | 225 ------------ ....6.7-0001-cmake-robust-deps-handling.patch | 162 +++++++++ ....6.7-0002-cmake-check-openssl-symbol.patch | 89 +++++ .../all/patches/cmake-patching-3-6-7.patch | 216 ------------ recipes/dcmtk/all/test_package/CMakeLists.txt | 11 +- recipes/dcmtk/all/test_package/conanfile.py | 19 +- .../dcmtk/all/test_v1_package/CMakeLists.txt | 8 + .../dcmtk/all/test_v1_package/conanfile.py | 17 + recipes/dcmtk/config.yml | 4 - 13 files changed, 476 insertions(+), 882 deletions(-) delete mode 100644 recipes/dcmtk/all/CMakeLists.txt delete mode 100644 recipes/dcmtk/all/patches/0001-cmake-use-conan-packages.patch delete mode 100644 recipes/dcmtk/all/patches/0002-cmake-use-conan-packages.patch create mode 100644 recipes/dcmtk/all/patches/3.6.7-0001-cmake-robust-deps-handling.patch create mode 100644 recipes/dcmtk/all/patches/3.6.7-0002-cmake-check-openssl-symbol.patch delete mode 100644 recipes/dcmtk/all/patches/cmake-patching-3-6-7.patch create mode 100644 recipes/dcmtk/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dcmtk/all/test_v1_package/conanfile.py diff --git a/recipes/dcmtk/all/CMakeLists.txt b/recipes/dcmtk/all/CMakeLists.txt deleted file mode 100644 index 56b7606e716f9..0000000000000 --- a/recipes/dcmtk/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/dcmtk/all/conandata.yml b/recipes/dcmtk/all/conandata.yml index 7e3e0a0cc6e01..7ae433b2e0c08 100644 --- a/recipes/dcmtk/all/conandata.yml +++ b/recipes/dcmtk/all/conandata.yml @@ -2,25 +2,11 @@ sources: "3.6.7": url: "https://dicom.offis.de/download/dcmtk/dcmtk367/dcmtk-3.6.7.tar.gz" sha256: "7c58298e3e8d60232ee6fc8408cfadd14463cc11a3c4ca4c59af5988c7e9710a" - "3.6.6": - url: "https://dicom.offis.de/download/dcmtk/dcmtk366/dcmtk-3.6.6.tar.gz" - sha256: "6859c62b290ee55677093cccfd6029c04186d91cf99c7642ae43627387f3458e" - "3.6.5": - url: "https://dicom.offis.de/download/dcmtk/dcmtk365/dcmtk-3.6.5.tar.gz" - sha256: "a05178665f21896dbb0974106dba1ad144975414abd760b4cf8f5cc979f9beb9" patches: "3.6.7": - - patch_file: "patches/cmake-patching-3-6-7.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.6.7-0001-cmake-robust-deps-handling.patch" + patch_description: "CMake: robust discovery with find_package() and use imported targets" patch_type: conan - patch_description: "Don't ignore dependencies that can't be found; patch some variable names" - "3.6.6": - - patch_file: "patches/0002-cmake-use-conan-packages.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.6.7-0002-cmake-check-openssl-symbol.patch" + patch_description: "CMake: fix OpenSSL compatibility checks" patch_type: conan - patch_description: "Don't ignore dependencies that can't be found; patch some variable names" - "3.6.5": - - patch_file: "patches/0001-cmake-use-conan-packages.patch" - base_path: "source_subfolder" - patch_type: conan - patch_description: "Don't ignore dependencies that can't be found; patch some variable names" diff --git a/recipes/dcmtk/all/conanfile.py b/recipes/dcmtk/all/conanfile.py index 286fb28a07048..c91c7cb9ec81d 100644 --- a/recipes/dcmtk/all/conanfile.py +++ b/recipes/dcmtk/all/conanfile.py @@ -1,15 +1,14 @@ -from conans import CMake +import os +import textwrap + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir, save -from conan.tools.microsoft import is_msvc, msvc_runtime_flag -from conan.tools.scm import Version -import functools -import os -import textwrap +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class DCMTKConan(ConanFile): @@ -19,7 +18,7 @@ class DCMTKConan(ConanFile): homepage = "https://dicom.offis.de/dcmtk" license = "BSD-3-Clause" topics = ("dicom", "image") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,9 +32,11 @@ class DCMTKConan(ConanFile): "with_libpng": [True, False], "with_libtiff": [True, False], "with_tcpwrappers": [True, False], - "builtin_dictionary": [None, True, False], + "default_dict": ["builtin", "external", "none"], + "builtin_dictionary": [None, True, False, "deprecated"], + "use_dcmdictpath": [True, False], "builtin_private_tags": [True, False], - "external_dictionary": [None, True, False], + "external_dictionary": [None, True, False, "deprecated"], "wide_io": [True, False], "enable_stl": [True, False], } @@ -51,58 +52,67 @@ class DCMTKConan(ConanFile): "with_libpng": True, "with_libtiff": True, "with_tcpwrappers": False, - "builtin_dictionary": None, + "default_dict": "external", + "builtin_dictionary": "deprecated", + "use_dcmdictpath": True, "builtin_private_tags": False, - "external_dictionary": None, + "external_dictionary": "deprecated", "wide_io": False, "enable_stl": True, } - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") self.options.rm_safe("with_tcpwrappers") + self.options.default_dict = "builtin" def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + # Deprecated options + if self.options.builtin_dictionary != "deprecated": + self.output.warning("builtin_dictionary option is deprecated. Use default_dict option instead.") + if self.options.builtin_dictionary: + self.options.default_dict = "builtin" + elif self.options.builtin_dictionary == False: + self.options.default_dict = "external" + if self.options.external_dictionary != "deprecated": + self.output.warning("external_dictionary option is deprecated. Use use_dcmdictpath option instead.") + if self.options.external_dictionary: + self.options.use_dcmdictpath = True + elif self.options.external_dictionary == False: + self.options.use_dcmdictpath = False + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.charset_conversion == "libiconv": self.requires("libiconv/1.17") elif self.options.charset_conversion == "icu": - self.requires("icu/72.1") + self.requires("icu/73.2") if self.options.with_libxml2: - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.11.4") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_openssl: - if self.settings.os == "Windows": - # FIXME: CMake configuration fails to detect Openssl 1.1 on Windows. - self.requires("openssl/1.0.2u") - else: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1 <4]") if self.options.with_libpng: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if self.options.with_libtiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.6.0") if self.options.get_safe("with_tcpwrappers"): self.requires("tcp-wrappers/7.6") + def package_id(self): + # Deprecated options don't contribute to package id + del self.info.options.builtin_dictionary + del self.info.options.external_dictionary + def validate(self): if hasattr(self, "settings_build") and cross_building(self) and \ self.settings.os == "Macos" and self.settings.arch == "armv8": @@ -110,90 +120,122 @@ def validate(self): raise ConanInvalidConfiguration("Cross building to Macos M1 is not supported (yet)") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): + tc = CMakeToolchain(self) # DICOM Data Dictionaries are required - cmake.definitions["CMAKE_INSTALL_DATADIR"] = self._dcm_datadictionary_path - - cmake.definitions["BUILD_APPS"] = self.options.with_applications - cmake.definitions["DCMTK_WITH_ICONV"] = self.options.charset_conversion == "libiconv" - if self.options.charset_conversion == "libiconv": - cmake.definitions["WITH_LIBICONVINC"] = self.deps_cpp_info["libiconv"].rootpath - cmake.definitions["DCMTK_WITH_ICU"] = self.options.charset_conversion == "icu" - cmake.definitions["DCMTK_WITH_OPENJPEG"] = False - cmake.definitions["DCMTK_WITH_OPENSSL"] = self.options.with_openssl - if self.options.with_openssl: - cmake.definitions["WITH_OPENSSLINC"] = self.deps_cpp_info["openssl"].rootpath - cmake.definitions["DCMTK_WITH_PNG"] = self.options.with_libpng - if self.options.with_libpng: - cmake.definitions["WITH_LIBPNGINC"] = self.deps_cpp_info["libpng"].rootpath - cmake.definitions["DCMTK_WITH_SNDFILE"] = False - cmake.definitions["DCMTK_WITH_THREADS"] = self.options.with_multithreading - cmake.definitions["DCMTK_WITH_TIFF"] = self.options.with_libtiff - if self.options.with_libtiff: - cmake.definitions["WITH_LIBTIFFINC"] = self.deps_cpp_info["libtiff"].rootpath + tc.variables["CMAKE_INSTALL_DATADIR"] = self._dcm_datadictionary_path.replace("\\", "/") + tc.cache_variables["DCMTK_USE_FIND_PACKAGE"] = True + tc.variables["BUILD_APPS"] = self.options.with_applications + tc.variables["DCMTK_WITH_TIFF"] = self.options.with_libtiff + tc.variables["DCMTK_WITH_PNG"] = self.options.with_libpng + tc.variables["DCMTK_WITH_XML"] = self.options.with_libxml2 + tc.variables["DCMTK_WITH_ZLIB"] = self.options.with_zlib + tc.variables["DCMTK_WITH_OPENSSL"] = self.options.with_openssl + tc.variables["DCMTK_WITH_SNDFILE"] = False # not used at all, do not try to add an option for this one + tc.variables["DCMTK_WITH_ICONV"] = self.options.charset_conversion == "libiconv" + tc.variables["DCMTK_WITH_ICU"] = self.options.charset_conversion == "icu" if self.settings.os != "Windows": - cmake.definitions["DCMTK_WITH_WRAP"] = self.options.with_tcpwrappers - cmake.definitions["DCMTK_WITH_XML"] = self.options.with_libxml2 - if self.options.with_libxml2: - cmake.definitions["WITH_LIBXMLINC"] = self.deps_cpp_info["libxml2"].rootpath - cmake.definitions["WITH_LIBXML_SHARED"] = self.options["libxml2"].shared - cmake.definitions["DCMTK_WITH_ZLIB"] = self.options.with_zlib - if self.options.with_zlib: - cmake.definitions["WITH_ZLIBINC"] = self.deps_cpp_info["zlib"].rootpath - - if self.options.enable_stl: - cmake.definitions["DCMTK_ENABLE_STL"] = "ON" - else: - cmake.definitions["DCMTK_ENABLE_STL"] = "OFF" - cmake.definitions["DCMTK_ENABLE_CXX11"] = True - - cmake.definitions["DCMTK_ENABLE_MANPAGE"] = False - cmake.definitions["DCMTK_WITH_DOXYGEN"] = False - - cmake.definitions["DCMTK_ENABLE_PRIVATE_TAGS"] = self.options.builtin_private_tags - if self.options.external_dictionary is not None: - if Version(self.version) < "3.6.7": - cmake.definitions["DCMTK_ENABLE_EXTERNAL_DICTIONARY"] = self.options.external_dictionary - else: - cmake.definitions["DCMTK_DEFAULT_DICT"] = self.options.external_dictionary - if self.options.builtin_dictionary is not None: - cmake.definitions["DCMTK_ENABLE_BUILTIN_DICTIONARY"] = self.options.builtin_dictionary - cmake.definitions["DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS"] = self.options.wide_io - cmake.definitions["DCMTK_WIDE_CHAR_MAIN_FUNCTION"] = self.options.wide_io - + tc.variables["DCMTK_WITH_WRAP"] = self.options.with_tcpwrappers + tc.variables["DCMTK_WITH_OPENJPEG"] = False # not used at all, do not try to add an option for this one + tc.variables["DCMTK_ENABLE_PRIVATE_TAGS"] = self.options.builtin_private_tags + tc.variables["DCMTK_WITH_THREADS"] = self.options.with_multithreading + tc.variables["DCMTK_WITH_DOXYGEN"] = False + tc.variables["DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS"] = self.options.wide_io + tc.variables["DCMTK_WIDE_CHAR_MAIN_FUNCTION"] = self.options.wide_io + tc.variables["DCMTK_ENABLE_STL"] = self.options.enable_stl + tc.variables["DCMTK_ENABLE_CXX11"] = True + tc.variables["DCMTK_ENABLE_MANPAGE"] = False + tc.cache_variables["DCMTK_DEFAULT_DICT"] = self.options.default_dict + tc.variables["DCMTK_USE_DCMDICTPATH"] = self.options.use_dcmdictpath if self.settings.os == "Windows": - cmake.definitions["DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS"] = False - + tc.variables["DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS"] = False if is_msvc(self): - cmake.definitions["DCMTK_ICONV_FLAGS_ANALYZED"] = True - cmake.definitions["DCMTK_COMPILE_WIN32_MULTITHREADED_DLL"] = "MD" in msvc_runtime_flag(self) + tc.variables["DCMTK_ICONV_FLAGS_ANALYZED"] = True + tc.variables["DCMTK_COMPILE_WIN32_MULTITHREADED_DLL"] = not is_msvc_static_runtime(self) + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _collect_cmake_required(self, dependency): + dep = self.dependencies.host[dependency] + dep_cpp_info = dep.cpp_info.aggregated_components() + dep_includes = [p.replace("\\", "/") for p in dep_cpp_info.includedirs] + dep_defs = [d for d in dep_cpp_info.defines] + libdirs_flag = "/LIBPATH:" if is_msvc(self) else "-L" + dep_libdirs = ["{}{}".format(libdirs_flag, p.replace("\\", "/")) for p in dep_cpp_info.libdirs] + dep_libs = [l for l in dep_cpp_info.libs] + dep_system_libs = [s for s in dep_cpp_info.system_libs] + dep_frameworks = [f"-framework {f}" for f in dep_cpp_info.frameworks] + for _, trans_dependency in dep.dependencies.items(): + if trans_dependency.context != "host": + continue + trans_dep_cpp_info = trans_dependency.cpp_info.aggregated_components() + dep_includes.extend([p.replace("\\", "/") for p in trans_dep_cpp_info.includedirs]) + dep_defs.extend([d for d in trans_dep_cpp_info.defines]) + dep_libdirs.extend(["{}{}".format(libdirs_flag, p.replace("\\", "/")) for p in trans_dep_cpp_info.libdirs]) + dep_libs.extend([l for l in trans_dep_cpp_info.libs]) + dep_system_libs.extend([s for s in trans_dep_cpp_info.system_libs]) + dep_frameworks.extend([f"-framework {f}" for f in trans_dep_cpp_info.frameworks]) - cmake.configure(build_folder=self._build_subfolder) - return cmake + return { + "includes": ";".join(dep_includes), + "definitions": ";".join(dep_defs), + "link_options": ";".join(dep_libdirs + dep_frameworks), + "libraries": ";".join(dep_libs + dep_system_libs), + } - def build(self): + def _patch_sources(self): apply_conandata_patches(self) - cmake = self._configure_cmake() + + # Workaround for CMakeDeps bug with check_* like functions. + # See https://github.com/conan-io/conan/issues/12012 & https://github.com/conan-io/conan/issues/12180 + if self.options.with_openssl: + cmake_required = self._collect_cmake_required("openssl") + replace_in_file( + self, + os.path.join(self.source_folder, "CMake", "dcmtkPrepare.cmake"), + "set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OPENSSL_LIBS} ${THREAD_LIBS})", + textwrap.dedent(f"""\ + list(APPEND CMAKE_REQUIRED_INCLUDES "{cmake_required['includes']}") + list(APPEND CMAKE_REQUIRED_DEFINITIONS "{cmake_required['definitions']}") + list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "{cmake_required['link_options']}") + list(APPEND CMAKE_REQUIRED_LIBRARIES "{cmake_required['libraries']}") + """), + ) + + if self.options.charset_conversion == "libiconv": + cmake_required = self._collect_cmake_required("libiconv") + replace_in_file( + self, + os.path.join(self.source_folder, "CMake", "3rdparty.cmake"), + "set(CMAKE_REQUIRED_LIBRARIES ${LIBICONV_LIBS})", + textwrap.dedent(f"""\ + list(APPEND CMAKE_REQUIRED_DEFINITIONS "{cmake_required['definitions']}") + list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "{cmake_required['link_options']}") + list(APPEND CMAKE_REQUIRED_LIBRARIES "{cmake_required['libraries']}") + """), + ) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="COPYRIGHT", dst="licenses", src=self._source_subfolder) - - cmake = self._configure_cmake() + copy(self, "COPYRIGHT", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - rmdir(self, os.path.join(self.package_folder, "cmake")) 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, "etc")) rmdir(self, os.path.join(self.package_folder, "share")) + # TODO: to remove once support of cmake_find_package* dropped self._create_cmake_module_alias_targets( os.path.join(self.package_folder, self._module_file_rel_path), {target: f"DCMTK::{target}" for target in self._dcmtk_components} @@ -202,21 +244,17 @@ def package(self): def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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) - @property - def _module_subfolder(self): - return os.path.join("lib", "cmake") - @property def _module_file_rel_path(self): - return os.path.join(self._module_subfolder, "conan-official-{self.name}-targets.cmake") + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") @property def _dcmtk_components(self): @@ -243,8 +281,6 @@ def tcpwrappers(): def xml2(): return ["libxml2::libxml2"] if self.options.with_libxml2 else [] - charls = "dcmtkcharls" if Version("3.6.6") <= self.version else "charls" - return { "ofstd" : charset_conversion(), "oflog" : ["ofstd"], @@ -256,8 +292,8 @@ def xml2(): "ijg8" : [], "ijg12" : [], "ijg16" : [], - "dcmjpls" : ["ofstd", "oflog", "dcmdata", "dcmimgle", "dcmimage", charls], - charls : ["ofstd", "oflog"], + "dcmjpls" : ["ofstd", "oflog", "dcmdata", "dcmimgle", "dcmimage", "dcmtkcharls"], + "dcmtkcharls": ["ofstd", "oflog"], "dcmtls" : ["ofstd", "dcmdata", "dcmnet"] + openssl(), "dcmnet" : ["ofstd", "oflog", "dcmdata"] + tcpwrappers(), "dcmsr" : ["ofstd", "oflog", "dcmdata", "dcmimgle", "dcmimage"] + xml2(), @@ -282,41 +318,38 @@ def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "DCMTK") - self.cpp_info.names["cmake_find_package"] = "DCMTK" - self.cpp_info.names["cmake_find_package_multi"] = "DCMTK" + for target_lib, requires in self._dcmtk_components.items(): + self.cpp_info.components[target_lib].set_property("cmake_target_name", f"DCMTK::{target_lib}") + # Before 3.6.7, targets were not namespaced, therefore they are also exposed for conveniency + self.cpp_info.components[target_lib].set_property("cmake_target_aliases", [target_lib]) + + self.cpp_info.components[target_lib].libs = [target_lib] + self.cpp_info.components[target_lib].includedirs.append(os.path.join("include", "dcmtk")) + self.cpp_info.components[target_lib].requires = requires - def register_components(components): - for target_lib, requires in components.items(): - self.cpp_info.components[target_lib].set_property("cmake_target_name", target_lib) - self.cpp_info.components[target_lib].libs = [target_lib] - self.cpp_info.components[target_lib].includedirs.append(os.path.join("include", "dcmtk")) - self.cpp_info.components[target_lib].requires = requires - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.components[target_lib].names["cmake_find_package"] = target_lib - self.cpp_info.components[target_lib].names["cmake_find_package_multi"] = target_lib - self.cpp_info.components[target_lib].builddirs.append(self._module_subfolder) - self.cpp_info.components[target_lib].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[target_lib].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - - if self.settings.os == "Windows": - self.cpp_info.components["ofstd"].system_libs.extend([ - "iphlpapi", "ws2_32", "netapi32", "wsock32" - ]) - elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["ofstd"].system_libs.append("m") - if self.options.with_multithreading: - self.cpp_info.components["ofstd"].system_libs.append("pthread") - - register_components(self._dcmtk_components) - - dcmdictpath = os.path.join(self._dcm_datadictionary_path, "dcmtk", "dicom.dic") - self.output.info(f"Settings DCMDICTPATH environment variable: {dcmdictpath}") - self.runenv_info.define_path("DCMDICTPATH", dcmdictpath) - self.env_info.DCMDICTPATH = dcmdictpath # remove in conan v2? + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.components[target_lib].build_modules["cmake_find_package"] = [self._module_file_rel_path] + self.cpp_info.components[target_lib].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + if self.settings.os == "Windows": + self.cpp_info.components["ofstd"].system_libs.extend([ + "iphlpapi", "ws2_32", "netapi32", "wsock32" + ]) + elif self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["ofstd"].system_libs.append("m") + if self.options.with_multithreading: + self.cpp_info.components["ofstd"].system_libs.append("pthread") + + if self.options.default_dict == "external": + dcmdictpath = os.path.join(self._dcm_datadictionary_path, "dcmtk", "dicom.dic") + self.runenv_info.define_path("DCMDICTPATH", dcmdictpath) + if self.options.with_applications: + self.buildenv_info.define_path("DCMDICTPATH", dcmdictpath) + + # TODO: to remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "DCMTK" + self.cpp_info.names["cmake_find_package_multi"] = "DCMTK" + if self.options.default_dict == "external": + self.env_info.DCMDICTPATH = dcmdictpath if self.options.with_applications: - self.buildenv_info.define_path("DCMDICTPATH", dcmdictpath) - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") - self.env_info.PATH.append(bin_path) + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/dcmtk/all/patches/0001-cmake-use-conan-packages.patch b/recipes/dcmtk/all/patches/0001-cmake-use-conan-packages.patch deleted file mode 100644 index 0e7d266d097c2..0000000000000 --- a/recipes/dcmtk/all/patches/0001-cmake-use-conan-packages.patch +++ /dev/null @@ -1,253 +0,0 @@ ---- a/CMake/3rdparty.cmake -+++ b/CMake/3rdparty.cmake -@@ -40,13 +40,15 @@ if(WIN32 AND NOT MINGW) - # libxml support: configure compiler - if(DCMTK_WITH_XML) - if(WITH_LIBXMLINC) -- set(LIBXML_INCDIR "${WITH_LIBXMLINC}/include") -- set(LIBXML_LIBDIR "${WITH_LIBXMLINC}/lib") -- set(LIBXML_LIBS debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib" debug "${LIBXML_LIBDIR}/iconv_d.lib" optimized "${LIBXML_LIBDIR}/iconv_o.lib") -+ set(LIBXML_INCDIR ${CONAN_INCLUDE_DIRS_LIBXML2} ${CONAN_INCLUDE_DIRS_ICONV}) -+ link_directories(${WITH_LIBXMLINC}/lib) -+ set(LIBXML_LIBS ${CONAN_LIBS_LIBXML2}) - message(STATUS "Info: DCMTK XML support will be enabled") - set(WITH_LIBXML 1) -+ if(NOT WITH_LIBXML_SHARED) - # this hides some warnings that are emitted when linking against libxmlXXX.lib instead of linking the DLL directly - add_definitions("-DLIBXML_STATIC") -+ endif() - else() # turn off library if library path not set - message(STATUS "Warning: XML support will be disabled because libxml2 directory is not specified. Correct path and re-enable DCMTK_WITH_XML.") - set(DCMTK_WITH_XML OFF CACHE BOOL "" FORCE) -@@ -58,8 +60,8 @@ if(WIN32 AND NOT MINGW) - if(DCMTK_WITH_PNG) - if(WITH_LIBPNGINC) - set(LIBPNG_INCDIR "${WITH_LIBPNGINC}/include") -- set(LIBPNG_LIBDIR "${WITH_LIBPNGINC}/lib") -- set(LIBPNG_LIBS debug "${LIBPNG_LIBDIR}/libpng_d.lib" optimized "${LIBPNG_LIBDIR}/libpng_o.lib") -+ link_directories(${WITH_LIBPNGINC}/lib) -+ set(LIBPNG_LIBS CONAN_PKG::libpng) - message(STATUS "Info: DCMTK PNG support will be enabled") - set(WITH_LIBPNG 1) - else() # turn off library if library path not set -@@ -73,8 +75,8 @@ if(WIN32 AND NOT MINGW) - if(DCMTK_WITH_TIFF) - if(WITH_LIBTIFFINC) - set(LIBTIFF_INCDIR "${WITH_LIBTIFFINC}/include") -- set(LIBTIFF_LIBDIR "${WITH_LIBTIFFINC}/lib") -- set(LIBTIFF_LIBS debug "${LIBTIFF_LIBDIR}/libtiff_d.lib" optimized "${LIBTIFF_LIBDIR}/libtiff_o.lib") -+ link_directories(${WITH_LIBTIFFINC}/lib) -+ set(LIBTIFF_LIBS CONAN_PKG::libtiff) - message(STATUS "Info: DCMTK TIFF support will be enabled") - set(WITH_LIBTIFF 1) - else() # turn off library if library path not set -@@ -90,9 +92,9 @@ if(WIN32 AND NOT MINGW) - include(CheckCXXSourceCompiles) - set(OPENSSL_BINDIR "${WITH_OPENSSLINC}/bin") - set(OPENSSL_INCDIR "${WITH_OPENSSLINC}/include") -- set(OPENSSL_LIBDIR "${WITH_OPENSSLINC}/lib") -+ link_directories(${WITH_OPENSSLINC}/lib) - # starting with OpenSSL 1.1.0, the Windows crypt32 library is needed for a static link of OpenSSL. -- set(OPENSSL_LIBS "crypt32" debug "${OPENSSL_LIBDIR}/dcmtkssl_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkssl_o.lib" debug "${OPENSSL_LIBDIR}/dcmtkcrypto_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkcrypto_o.lib") -+ set(OPENSSL_LIBS ${CONAN_LIBS_OPENSSL}) - set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") - list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCDIR}") - CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10001000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) -@@ -116,8 +118,8 @@ if(WIN32 AND NOT MINGW) - if(DCMTK_WITH_ZLIB) - if(WITH_ZLIBINC) - set(ZLIB_INCDIR "${WITH_ZLIBINC}/include") -- set(ZLIB_LIBDIR "${WITH_ZLIBINC}/lib") -- set(ZLIB_LIBS debug "${ZLIB_LIBDIR}/zlib_d.lib" optimized "${ZLIB_LIBDIR}/zlib_o.lib") -+ link_directories(${WITH_ZLIBINC}/lib) -+ set(ZLIB_LIBS CONAN_PKG::zlib) - message(STATUS "Info: DCMTK ZLIB support will be enabled") - set(WITH_ZLIB 1) - else() # turn off library if library path not set -@@ -131,8 +133,8 @@ if(WIN32 AND NOT MINGW) - if(DCMTK_WITH_SNDFILE) - if(WITH_SNDFILEINC) - set(SNDFILE_INCDIR "${WITH_SNDFILEINC}/include") -- set(SNDFILE_LIBDIR "${WITH_SNDFILEINC}/lib") -- set(SNDFILE_LIBS debug "${SNDFILE_LIBDIR}/libsndfile_d.lib" optimized "${SNDFILE_LIBDIR}/libsndfile_o.lib") -+ link_directories(${WITH_SNDFILEINC}/lib) -+ set(SNDFILE_LIBS CONAN_PKG::libsndfile) - message(STATUS "Info: DCMTK SNDFILE support will be enabled") - set(WITH_SNDFILE 1) - else() # turn off library if library path not set -@@ -146,8 +148,8 @@ if(WIN32 AND NOT MINGW) - if(DCMTK_WITH_ICONV) - if(WITH_LIBICONVINC) - set(LIBICONV_INCDIR "${WITH_LIBICONVINC}/include") -- set(LIBICONV_LIBDIR "${WITH_LIBICONVINC}/lib") -- set(LIBICONV_LIBS debug "${LIBICONV_LIBDIR}/libiconv_d.lib" optimized "${LIBICONV_LIBDIR}/libiconv_o.lib") -+ link_directories(${WITH_LIBICONVINC}/lib) -+ set(LIBICONV_LIBS CONAN_PKG::libiconv) - message(STATUS "Info: DCMTK ICONV support will be enabled") - set(WITH_LIBICONV 1) - else() # turn off library if library path not set -@@ -170,7 +172,7 @@ if(WIN32 AND NOT MINGW) - else() - set(OPENJPEG_INCDIR "${WITH_OPENJPEGINC1}") - set(OPENJPEG_LIBDIR "${WITH_OPENJPEGINC}/lib") -- set(OPENJPEG_LIBS debug "${OPENJPEG_LIBDIR}/openjp2_d.lib" optimized "${OPENJPEG_LIBDIR}/openjp2_o.lib") -+ set(OPENJPEG_LIBS CONAN_PKG::openjpeg) - message(STATUS "Info: DCMTK OpenJPEG support will be enabled") - set(WITH_OPENJPEG 1) - endif() -@@ -185,7 +187,7 @@ else(WIN32 AND NOT MINGW) - - # Find TIFF - if(DCMTK_WITH_TIFF) -- find_package(TIFF QUIET) -+ find_package(TIFF REQUIRED) - # turn off library if it could not be found - if(NOT TIFF_FOUND) - message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") -@@ -194,21 +196,21 @@ else(WIN32 AND NOT MINGW) - else() - set(WITH_LIBTIFF 1) - # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path -- find_package(JPEG QUIET) -+ find_package(JPEG REQUIRED) - if(NOT JPEG_FOUND) - message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") -- include_directories(${TIFF_INCLUDE_DIR}) -+ include_directories(${TIFF_INCLUDE_DIRS}) - else() - message(STATUS "Info: DCMTK TIFF support will be enabled") -- include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) -+ include_directories(${TIFF_INCLUDE_DIRS} ${JPEG_INCLUDE_DIRS}) - endif() -- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${JPEG_LIBRARY}) -+ set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${JPEG_LIBRARIES}) - endif() - endif() - - # Find PNG - if(DCMTK_WITH_PNG) -- find_package(PNG QUIET) -+ find_package(PNG REQUIRED) - if(NOT PNG_FOUND) - set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) - message(STATUS "Warning: PNG support will be disabled because libpng was not found.") -@@ -217,13 +219,13 @@ else(WIN32 AND NOT MINGW) - message(STATUS "Info: DCMTK PNG support will be enabled") - set(WITH_LIBPNG 1) - include_directories(${PNG_INCLUDE_DIR}) -- set(LIBPNG_LIBS ${PNG_LIBRARY}) -+ set(LIBPNG_LIBS ${PNG_LIBRARIES}) - endif() - endif() - - # Find OpenSSL - if(DCMTK_WITH_OPENSSL) -- find_package(OpenSSL QUIET) -+ find_package(OpenSSL REQUIRED) - if(NOT OPENSSL_FOUND) - message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") - set(WITH_OPENSSL "") -@@ -254,7 +256,7 @@ else(WIN32 AND NOT MINGW) - - # Find libXML2 - if(DCMTK_WITH_XML) -- find_package(LibXml2 QUIET) -+ find_package(LibXml2 REQUIRED) - if(NOT LIBXML2_FOUND) - message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") - set(WITH_LIBXML "") -@@ -269,7 +271,7 @@ else(WIN32 AND NOT MINGW) - - # Find zlib - if(DCMTK_WITH_ZLIB) -- find_package(ZLIB QUIET) -+ find_package(ZLIB REQUIRED) - if(NOT ZLIB_FOUND) - message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") - set(WITH_ZLIB "") -@@ -284,7 +286,7 @@ else(WIN32 AND NOT MINGW) - - # Find libsndfile - if(DCMTK_WITH_SNDFILE) -- find_package(Sndfile QUIET) -+ find_package(Sndfile REQUIRED) - if(NOT SNDFILE_LIBS) - message(STATUS "Warning: SNDFILE support will be disabled because libsndfile was not found.") - set(WITH_SNDFILE "") -@@ -292,16 +294,16 @@ else(WIN32 AND NOT MINGW) - else() - message(STATUS "Info: DCMTK SNDFILE support will be enabled") - set(WITH_SNDFILE 1) -- include_directories(${SNDFILE_INCLUDE_DIRS}) -- set(SNDFILE_LIBS ${SNDFILE_LIBRARIES}) -+ include_directories(${Sndfile_INCLUDE_DIRS}) -+ set(SNDFILE_LIBS ${Sndfile_LIBRARIES}) - endif() - endif() - - # Find libiconv - if(DCMTK_WITH_ICONV) -- find_package(Iconv QUIET) -- find_package(Charset QUIET) -- if(ICONV_FOUND) -+ find_package(Iconv REQUIRED) -+ #find_package(Charset REQUIRED) #FIXME?? -+ if(Iconv_FOUND) - if(NOT Iconv_IS_BUILT_IN) - set(LIBICONV_FOUND ${ICONV_FOUND}) - else() -@@ -322,14 +324,14 @@ else(WIN32 AND NOT MINGW) - set(WITH_LIBICONV 1) - set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) - set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) -- set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) -+ set(LIBICONV_LIBS Iconv::Iconv) - include_directories(${LIBICONV_INCDIR}) - endif() - endif() - - # Find libwrap - if(DCMTK_WITH_WRAP) -- find_package(Wrap QUIET) -+ find_package(Wrap REQUIRED) - if(NOT WRAP_FOUND) - message(STATUS "Warning: WRAP support will be disabled because libwrap was not found.") - set(WITH_TCPWRAPPER "") -@@ -344,7 +346,7 @@ else(WIN32 AND NOT MINGW) - - # Find OpenJPEG - if(DCMTK_WITH_OPENJPEG) -- find_package(OpenJPEG QUIET) -+ find_package(OpenJPEG REQUIRED) - if(NOT OPENJPEG_FOUND) - message(STATUS "Warning: OpenJPEG support will be disabled because the OpenJPEG library was not found.") - set(WITH_OPENJPEG "") -@@ -352,8 +354,8 @@ else(WIN32 AND NOT MINGW) - else() - message(STATUS "Info: DCMTK OpenJPEG support will be enabled") - set(WITH_OPENJPEG 1) -- include_directories(${OPENJPEG_INCLUDE_DIRS}) -- set(OPENJPEG_LIBS ${OPENJPEG_LIBRARIES}) -+ include_directories(${OpenJPEG_INCLUDE_DIRS}) -+ set(OPENJPEG_LIBS ${OpenJPEG_LIBRARIES}) - endif() - endif() - -@@ -371,7 +373,7 @@ if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV) - endif() - - if(DCMTK_WITH_ICU) -- find_package(ICU COMPONENTS uc data QUIET) -+ find_package(ICU COMPONENTS uc data REQUIRED) - if(NOT ICU_FOUND) - message(STATUS "Warning: ICU support will be disabled because the ICU were not found.") - set(DCMTK_WITH_ICU OFF CACHE BOOL "" FORCE) -@@ -387,7 +389,7 @@ endif() - - # Find doxygen - if(DCMTK_WITH_DOXYGEN) -- find_package(Doxygen QUIET) # will set variable DOXYGEN_EXECUTABLE -+ find_package(Doxygen REQUIRED) # will set variable DOXYGEN_EXECUTABLE - if(NOT DOXYGEN_FOUND) - message(STATUS "Warning: DOXYGEN support will be disabled because doxygen was not found.") - set(DCMTK_WITH_DOXYGEN OFF CACHE BOOL "" FORCE) diff --git a/recipes/dcmtk/all/patches/0002-cmake-use-conan-packages.patch b/recipes/dcmtk/all/patches/0002-cmake-use-conan-packages.patch deleted file mode 100644 index d566a50607ec7..0000000000000 --- a/recipes/dcmtk/all/patches/0002-cmake-use-conan-packages.patch +++ /dev/null @@ -1,225 +0,0 @@ ---- CMake/3rdparty.cmake -+++ CMake/3rdparty.cmake -@@ -21,7 +21,7 @@ mark_as_advanced(DCMTK_USE_FIND_PACKAGE) - if(DCMTK_USE_FIND_PACKAGE) - # Find TIFF - if(DCMTK_WITH_TIFF) -- find_package(TIFF QUIET) -+ find_package(TIFF REQUIRED) - # turn off library if it could not be found - if(NOT TIFF_FOUND) - message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") -@@ -30,21 +30,21 @@ if(DCMTK_USE_FIND_PACKAGE) - else() - set(WITH_LIBTIFF 1) - # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path -- find_package(JPEG QUIET) -+ find_package(JPEG REQUIRED) - if(NOT JPEG_FOUND) - message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") -- include_directories(${TIFF_INCLUDE_DIR}) -+ include_directories(${TIFF_INCLUDE_DIRS}) - else() - message(STATUS "Info: DCMTK TIFF support will be enabled") -- include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) -+ include_directories(${TIFF_INCLUDE_DIRS} ${JPEG_INCLUDE_DIRS}) - endif() -- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${JPEG_LIBRARY}) -+ set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${JPEG_LIBRARIES}) - endif() - endif() - - # Find PNG - if(DCMTK_WITH_PNG) -- find_package(PNG QUIET) -+ find_package(PNG REQUIRED) - if(NOT PNG_FOUND) - set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) - message(STATUS "Warning: PNG support will be disabled because libpng was not found.") -@@ -53,13 +53,13 @@ if(DCMTK_USE_FIND_PACKAGE) - message(STATUS "Info: DCMTK PNG support will be enabled") - set(WITH_LIBPNG 1) - include_directories(${PNG_INCLUDE_DIR}) -- set(LIBPNG_LIBS ${PNG_LIBRARY}) -+ set(LIBPNG_LIBS ${PNG_LIBRARIES}) - endif() - endif() - - # Find OpenSSL - if(DCMTK_WITH_OPENSSL) -- find_package(OpenSSL QUIET) -+ find_package(OpenSSL REQUIRED) - if(NOT OPENSSL_FOUND) - message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") - set(WITH_OPENSSL "") -@@ -90,7 +90,7 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find libXML2 - if(DCMTK_WITH_XML) -- find_package(LibXml2 QUIET) -+ find_package(LibXml2 REQUIRED) - if(NOT LIBXML2_FOUND) - message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") - set(WITH_LIBXML "") -@@ -105,7 +105,7 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find zlib - if(DCMTK_WITH_ZLIB) -- find_package(ZLIB QUIET) -+ find_package(ZLIB REQUIRED) - if(NOT ZLIB_FOUND) - message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") - set(WITH_ZLIB "") -@@ -120,7 +120,7 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find libsndfile - if(DCMTK_WITH_SNDFILE) -- find_package(Sndfile QUIET) -+ find_package(Sndfile REQUIRED) - if(NOT SNDFILE_LIBS) - message(STATUS "Warning: SNDFILE support will be disabled because libsndfile was not found.") - set(WITH_SNDFILE "") -@@ -128,16 +128,16 @@ if(DCMTK_USE_FIND_PACKAGE) - else() - message(STATUS "Info: DCMTK SNDFILE support will be enabled") - set(WITH_SNDFILE 1) -- include_directories(${SNDFILE_INCLUDE_DIRS}) -- set(SNDFILE_LIBS ${SNDFILE_LIBRARIES}) -+ include_directories(${Sndfile_INCLUDE_DIRS}) -+ set(SNDFILE_LIBS ${Sndfile_LIBRARIES}) - endif() - endif() - - # Find libiconv - if(DCMTK_WITH_ICONV) -- find_package(Iconv QUIET) -- find_package(Charset QUIET) -- if(ICONV_FOUND) -+ find_package(Iconv REQUIRED) -+ #find_package(Charset QUIET) #FIXME?? -+ if(Iconv_FOUND) - if(NOT Iconv_IS_BUILT_IN) - set(LIBICONV_FOUND ${ICONV_FOUND}) - else() -@@ -158,7 +158,7 @@ if(DCMTK_USE_FIND_PACKAGE) - set(WITH_LIBICONV 1) - set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) - set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) -- set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) -+ set(LIBICONV_LIBS Iconv::Iconv) - include_directories(${LIBICONV_INCDIR}) - endif() - endif() -@@ -234,13 +234,15 @@ else() - # libxml support: configure compiler - if(DCMTK_WITH_XML) - if(WITH_LIBXMLINC) -- set(LIBXML_INCDIR "${WITH_LIBXMLINC}/include") -- set(LIBXML_LIBDIR "${WITH_LIBXMLINC}/lib") -- set(LIBXML_LIBS debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib" debug "${LIBXML_LIBDIR}/iconv_d.lib" optimized "${LIBXML_LIBDIR}/iconv_o.lib") -+ set(LIBXML_INCDIR ${CONAN_INCLUDE_DIRS_LIBXML2} ${CONAN_INCLUDE_DIRS_ICONV}) -+ link_directories(${WITH_LIBXMLINC}/lib) -+ set(LIBXML_LIBS ${CONAN_LIBS_LIBXML2}) - message(STATUS "Info: DCMTK XML support will be enabled") - set(WITH_LIBXML 1) -+ if(NOT WITH_LIBXML_SHARED) - # this hides some warnings that are emitted when linking against libxmlXXX.lib instead of linking the DLL directly - add_definitions("-DLIBXML_STATIC") -+ endif() - else() # turn off library if library path not set - message(STATUS "Warning: XML support will be disabled because libxml2 directory is not specified. Correct path and re-enable DCMTK_WITH_XML.") - set(DCMTK_WITH_XML OFF CACHE BOOL "" FORCE) -@@ -252,8 +254,8 @@ else() - if(DCMTK_WITH_PNG) - if(WITH_LIBPNGINC) - set(LIBPNG_INCDIR "${WITH_LIBPNGINC}/include") -- set(LIBPNG_LIBDIR "${WITH_LIBPNGINC}/lib") -- set(LIBPNG_LIBS debug "${LIBPNG_LIBDIR}/libpng_d.lib" optimized "${LIBPNG_LIBDIR}/libpng_o.lib") -+ link_directories(${WITH_LIBPNGINC}/lib) -+ set(LIBPNG_LIBS CONAN_PKG::libpng) - message(STATUS "Info: DCMTK PNG support will be enabled") - set(WITH_LIBPNG 1) - else() # turn off library if library path not set -@@ -267,8 +269,8 @@ else() - if(DCMTK_WITH_TIFF) - if(WITH_LIBTIFFINC) - set(LIBTIFF_INCDIR "${WITH_LIBTIFFINC}/include") -- set(LIBTIFF_LIBDIR "${WITH_LIBTIFFINC}/lib") -- set(LIBTIFF_LIBS debug "${LIBTIFF_LIBDIR}/libtiff_d.lib" optimized "${LIBTIFF_LIBDIR}/libtiff_o.lib") -+ link_directories(${WITH_LIBTIFFINC}/lib) -+ set(LIBTIFF_LIBS CONAN_PKG::libtiff) - message(STATUS "Info: DCMTK TIFF support will be enabled") - set(WITH_LIBTIFF 1) - else() # turn off library if library path not set -@@ -284,9 +286,9 @@ else() - include(CheckCXXSourceCompiles) - set(OPENSSL_BINDIR "${WITH_OPENSSLINC}/bin") - set(OPENSSL_INCDIR "${WITH_OPENSSLINC}/include") -- set(OPENSSL_LIBDIR "${WITH_OPENSSLINC}/lib") -+ link_directories(${WITH_OPENSSLINC}/lib) - # starting with OpenSSL 1.1.0, the Windows crypt32 library is needed for a static link of OpenSSL. -- set(OPENSSL_LIBS "crypt32" debug "${OPENSSL_LIBDIR}/dcmtkssl_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkssl_o.lib" debug "${OPENSSL_LIBDIR}/dcmtkcrypto_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkcrypto_o.lib") -+ set(OPENSSL_LIBS ${CONAN_LIBS_OPENSSL}) - set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") - list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCDIR}") - CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10001000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) -@@ -310,8 +312,8 @@ else() - if(DCMTK_WITH_ZLIB) - if(WITH_ZLIBINC) - set(ZLIB_INCDIR "${WITH_ZLIBINC}/include") -- set(ZLIB_LIBDIR "${WITH_ZLIBINC}/lib") -- set(ZLIB_LIBS debug "${ZLIB_LIBDIR}/zlib_d.lib" optimized "${ZLIB_LIBDIR}/zlib_o.lib") -+ link_directories(${WITH_ZLIBINC}/lib) -+ set(ZLIB_LIBS CONAN_PKG::zlib) - message(STATUS "Info: DCMTK ZLIB support will be enabled") - set(WITH_ZLIB 1) - else() # turn off library if library path not set -@@ -325,8 +327,8 @@ else() - if(DCMTK_WITH_SNDFILE) - if(WITH_SNDFILEINC) - set(SNDFILE_INCDIR "${WITH_SNDFILEINC}/include") -- set(SNDFILE_LIBDIR "${WITH_SNDFILEINC}/lib") -- set(SNDFILE_LIBS debug "${SNDFILE_LIBDIR}/libsndfile_d.lib" optimized "${SNDFILE_LIBDIR}/libsndfile_o.lib") -+ link_directories(${WITH_SNDFILEINC}/lib) -+ set(SNDFILE_LIBS CONAN_PKG::libsndfile) - message(STATUS "Info: DCMTK SNDFILE support will be enabled") - set(WITH_SNDFILE 1) - else() # turn off library if library path not set -@@ -340,8 +342,8 @@ else() - if(DCMTK_WITH_ICONV) - if(WITH_LIBICONVINC) - set(LIBICONV_INCDIR "${WITH_LIBICONVINC}/include") -- set(LIBICONV_LIBDIR "${WITH_LIBICONVINC}/lib") -- set(LIBICONV_LIBS debug "${LIBICONV_LIBDIR}/libiconv_d.lib" optimized "${LIBICONV_LIBDIR}/libiconv_o.lib") -+ link_directories(${WITH_LIBICONVINC}/lib) -+ set(LIBICONV_LIBS CONAN_PKG::libiconv) - message(STATUS "Info: DCMTK ICONV support will be enabled") - set(WITH_LIBICONV 1) - else() # turn off library if library path not set -@@ -364,7 +366,7 @@ else() - else() - set(OPENJPEG_INCDIR "${WITH_OPENJPEGINC1}") - set(OPENJPEG_LIBDIR "${WITH_OPENJPEGINC}/lib") -- set(OPENJPEG_LIBS debug "${OPENJPEG_LIBDIR}/openjp2_d.lib" optimized "${OPENJPEG_LIBDIR}/openjp2_o.lib") -+ set(OPENJPEG_LIBS CONAN_PKG::openjpeg) - message(STATUS "Info: DCMTK OpenJPEG support will be enabled") - set(WITH_OPENJPEG 1) - endif() -@@ -388,7 +390,7 @@ if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV) - endif() - - if(DCMTK_WITH_ICU) -- find_package(ICU COMPONENTS uc data QUIET) -+ find_package(ICU COMPONENTS uc data REQUIRED) - if(NOT ICU_FOUND) - message(STATUS "Warning: ICU support will be disabled because the ICU were not found.") - set(DCMTK_WITH_ICU OFF CACHE BOOL "" FORCE) -@@ -404,7 +406,7 @@ endif() - - # Find doxygen - if(DCMTK_WITH_DOXYGEN) -- find_package(Doxygen QUIET) # will set variable DOXYGEN_EXECUTABLE -+ find_package(Doxygen REQUIRED) # will set variable DOXYGEN_EXECUTABLE - if(NOT DOXYGEN_FOUND) - message(STATUS "Warning: DOXYGEN support will be disabled because doxygen was not found.") - set(DCMTK_WITH_DOXYGEN OFF CACHE BOOL "" FORCE) diff --git a/recipes/dcmtk/all/patches/3.6.7-0001-cmake-robust-deps-handling.patch b/recipes/dcmtk/all/patches/3.6.7-0001-cmake-robust-deps-handling.patch new file mode 100644 index 0000000000000..264a486b31bc6 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.7-0001-cmake-robust-deps-handling.patch @@ -0,0 +1,162 @@ +--- a/CMake/3rdparty.cmake ++++ b/CMake/3rdparty.cmake +@@ -21,7 +21,7 @@ mark_as_advanced(DCMTK_USE_FIND_PACKAGE) + if(DCMTK_USE_FIND_PACKAGE) + # Find TIFF + if(DCMTK_WITH_TIFF) +- find_package(TIFF QUIET) ++ find_package(TIFF REQUIRED) + # turn off library if it could not be found + if(NOT TIFF_FOUND) + message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") +@@ -30,21 +30,13 @@ if(DCMTK_USE_FIND_PACKAGE) + else() + set(WITH_LIBTIFF 1) + # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path +- find_package(JPEG QUIET) +- if(NOT JPEG_FOUND) +- message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") +- include_directories(${TIFF_INCLUDE_DIR}) +- else() +- message(STATUS "Info: DCMTK TIFF support will be enabled") +- include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) +- endif() +- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) ++ set(LIBTIFF_LIBS TIFF::TIFF) + endif() + endif() + + # Find PNG + if(DCMTK_WITH_PNG) +- find_package(PNG QUIET) ++ find_package(PNG REQUIRED) + if(NOT PNG_FOUND) + set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) + message(STATUS "Warning: PNG support will be disabled because libpng was not found.") +@@ -53,33 +45,23 @@ if(DCMTK_USE_FIND_PACKAGE) + message(STATUS "Info: DCMTK PNG support will be enabled") + set(WITH_LIBPNG 1) + include_directories(${PNG_INCLUDE_DIR}) +- set(LIBPNG_LIBS ${PNG_LIBRARY}) ++ set(LIBPNG_LIBS PNG::PNG) + endif() + endif() + + # Find OpenSSL + if(DCMTK_WITH_OPENSSL) +- find_package(OpenSSL QUIET) ++ find_package(OpenSSL REQUIRED) + if(NOT OPENSSL_FOUND) + message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") + set(WITH_OPENSSL "") + set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) + else() +- include(CheckLibraryExists) +- include(CheckCXXSourceCompiles) +- set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") +- list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") +- CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10001000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) +- set(CMAKE_REQUIRED_INCLUDES "${TEMP_INCLUDES}") +- if(OPENSSL_VERSION_CHECK) ++ if(1) + message(STATUS "Info: DCMTK OPENSSL support will be enabled") + set(WITH_OPENSSL 1) + include_directories(${OPENSSL_INCLUDE_DIR}) +- set(OPENSSL_LIBS ${OPENSSL_LIBRARIES} ${OPENSSL_EXTRA_LIBS_STATIC}) +- CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL) +- if(HAVE_LIBDL) +- set(OPENSSL_LIBS ${OPENSSL_LIBS} dl) +- endif() ++ set(OPENSSL_LIBS OpenSSL::SSL OpenSSL::Crypto) + else() + message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.0.1 or newer") + set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) +@@ -90,7 +72,7 @@ if(DCMTK_USE_FIND_PACKAGE) + + # Find libXML2 + if(DCMTK_WITH_XML) +- find_package(LibXml2 QUIET) ++ find_package(LibXml2 REQUIRED MODULE) + if(NOT LIBXML2_FOUND) + message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") + set(WITH_LIBXML "") +@@ -99,13 +81,13 @@ if(DCMTK_USE_FIND_PACKAGE) + message(STATUS "Info: DCMTK XML support will be enabled") + set(WITH_LIBXML 1) + include_directories(${LIBXML2_INCLUDE_DIR}) +- set(LIBXML_LIBS ${LIBXML2_LIBRARIES} ${LIBXML2_EXTRA_LIBS_STATIC}) ++ set(LIBXML_LIBS LibXml2::LibXml2) + endif() + endif() + + # Find zlib + if(DCMTK_WITH_ZLIB) +- find_package(ZLIB QUIET) ++ find_package(ZLIB REQUIRED) + if(NOT ZLIB_FOUND) + message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") + set(WITH_ZLIB "") +@@ -114,7 +96,7 @@ if(DCMTK_USE_FIND_PACKAGE) + message(STATUS "Info: DCMTK ZLIB support will be enabled") + set(WITH_ZLIB 1) + include_directories(${ZLIB_INCLUDE_DIRS}) +- set(ZLIB_LIBS ${ZLIB_LIBRARIES}) ++ set(ZLIB_LIBS ZLIB::ZLIB) + endif() + endif() + +@@ -135,11 +117,10 @@ if(DCMTK_USE_FIND_PACKAGE) + + # Find libiconv + if(DCMTK_WITH_ICONV) +- find_package(Iconv QUIET) +- find_package(LIBCHARSET QUIET) +- if(ICONV_FOUND) ++ find_package(Iconv REQUIRED) ++ if(Iconv_FOUND) + if(NOT Iconv_IS_BUILT_IN) +- set(LIBICONV_FOUND ${ICONV_FOUND}) ++ set(LIBICONV_FOUND ${Iconv_FOUND}) + else() + message(STATUS "Info: found builtin ICONV support inside the C standard library.") + set(DCMTK_WITH_STDLIBC_ICONV ON CACHE BOOL "" FORCE) +@@ -149,7 +130,7 @@ if(DCMTK_USE_FIND_PACKAGE) + set(LIBICONV_SECOND_ARGUMENT_CONST ${ICONV_SECOND_ARGUMENT_IS_CONST} CACHE INTERNAL "${HELPSTRING}") + endif() + endif() +- if(NOT LIBICONV_FOUND OR NOT LIBCHARSET_FOUND) ++ if(NOT LIBICONV_FOUND) + message(STATUS "Warning: ICONV support will be disabled because libiconv was not found. Correct LIBICONV_LIBDIR and LIBICONV_INCLUDE_DIR and re-enable DCMTK_WITH_ICONV.") + set(DCMTK_WITH_ICONV OFF CACHE BOOL "" FORCE) + set(WITH_LIBICONV "") +@@ -157,24 +138,24 @@ if(DCMTK_USE_FIND_PACKAGE) + message(STATUS "Info: DCMTK ICONV support will be enabled") + set(WITH_LIBICONV 1) + set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) +- set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) +- set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) ++ set(LIBICONV_LIBDIR ${Iconv_LIB_DIRS}) ++ set(LIBICONV_LIBS Iconv::Iconv) + include_directories(${LIBICONV_INCDIR}) + endif() + endif() + + # Find libwrap + if(DCMTK_WITH_WRAP) +- find_package(WRAP QUIET) +- if(NOT WRAP_FOUND) ++ find_package(tcp-wrappers REQUIRED CONFIG) ++ if(NOT tcp-wrappers_FOUND) + message(STATUS "Warning: WRAP support will be disabled because libwrap was not found.") + set(WITH_TCPWRAPPER "") + set(DCMTK_WITH_WRAP OFF CACHE BOOL "" FORCE) + else() + message(STATUS "Info: DCMTK WRAP support will be enabled") + set(WITH_TCPWRAPPER 1) +- include_directories(${WRAP_INCLUDE_DIRS}) +- set(WRAP_LIBS ${WRAP_LIBRARIES} ${WRAP_EXTRA_LIBS_STATIC}) ++ include_directories(${tcp-wrappers_INCLUDE_DIRS}) ++ set(WRAP_LIBS tcp-wrappers::tcp-wrappers) + endif() + endif() + diff --git a/recipes/dcmtk/all/patches/3.6.7-0002-cmake-check-openssl-symbol.patch b/recipes/dcmtk/all/patches/3.6.7-0002-cmake-check-openssl-symbol.patch new file mode 100644 index 0000000000000..a3f1d5ac2c44b --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.7-0002-cmake-check-openssl-symbol.patch @@ -0,0 +1,89 @@ +--- a/CMake/dcmtkPrepare.cmake ++++ b/CMake/dcmtkPrepare.cmake +@@ -668,48 +668,50 @@ if(DCMTK_WITH_OPENSSL) + CHECK_INCLUDE_FILE_CXX("openssl/provider.h" HAVE_OPENSSL_PROVIDER_H) + + # test presence of functions, constants and macros needed for the dcmtls module +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) +- CHECK_FUNCTIONWITHHEADER_EXISTS("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_curves(0,0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_ecdh_auto(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_max_proto_version(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) ++ include(CheckSymbolExists) ++ include(CheckCSourceCompiles) ++ check_symbol_exists("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) ++ check_symbol_exists("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) ++ check_symbol_exists("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) ++ check_symbol_exists("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) ++ check_symbol_exists("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) ++ check_symbol_exists("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) ++ check_symbol_exists("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) ++ check_symbol_exists("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set1_curves(0,0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) ++ check_symbol_exists("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set_ecdh_auto(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set_max_proto_version(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) ++ check_symbol_exists("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) ++ check_symbol_exists("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) ++ check_symbol_exists("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) ++ check_symbol_exists("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) ++ check_symbol_exists("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) ++ check_symbol_exists("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) ++ check_symbol_exists("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) ++ check_symbol_exists("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) + + # test presence of functions, constants and macros needed for the dcmsign module +- CHECK_FUNCTIONWITHHEADER_EXISTS("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) +- CHECK_FUNCTIONWITHHEADER_EXISTS("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) ++ check_symbol_exists("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) ++ check_symbol_exists("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) ++ check_symbol_exists("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) ++ check_symbol_exists("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) ++ check_symbol_exists("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) ++ check_symbol_exists("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) ++ check_symbol_exists("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) ++ check_symbol_exists("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) ++ check_c_source_compiles("#include \nint main() {TS_VERIFY_CTS_set_certs(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) ++ check_symbol_exists("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) ++ check_symbol_exists("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) ++ check_symbol_exists("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) ++ check_symbol_exists("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) ++ check_symbol_exists("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) + + # check if type EVP_MD_CTX is defined as typedef for "struct evp_md_ctx_st" (new) or "struct env_md_ctx_st" (old) +- CHECK_FUNCTIONWITHHEADER_EXISTS("struct evp_md_ctx_st *a; EVP_MD_CTX *b=a" "openssl/evp.h" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) ++ check_c_source_compiles("#include \nint main() {struct evp_md_ctx_st *a; EVP_MD_CTX *b=a; return 0;}" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) + + # check if the first parameter passed to X509_ALGOR_get0() should be "const ASN1_OBJECT **" (new) or "ASN1_OBJECT **" (old) +- CHECK_FUNCTIONWITHHEADER_EXISTS("const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)" "openssl/x509.h" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) ++ check_c_source_compiles("#include \nint main() {const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0); return 0;}" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) + + # restore previous value of CMAKE_REQUIRED_LIBRARIES + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_TEMP}) diff --git a/recipes/dcmtk/all/patches/cmake-patching-3-6-7.patch b/recipes/dcmtk/all/patches/cmake-patching-3-6-7.patch deleted file mode 100644 index b10d0378042ba..0000000000000 --- a/recipes/dcmtk/all/patches/cmake-patching-3-6-7.patch +++ /dev/null @@ -1,216 +0,0 @@ ---- CMake/3rdparty.cmake -+++ CMake/3rdparty.cmake -@@ -21,7 +21,7 @@ mark_as_advanced(DCMTK_USE_FIND_PACKAGE) - if(DCMTK_USE_FIND_PACKAGE) - # Find TIFF - if(DCMTK_WITH_TIFF) -- find_package(TIFF QUIET) -+ find_package(TIFF REQUIRED) - # turn off library if it could not be found - if(NOT TIFF_FOUND) - message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") -@@ -30,21 +30,21 @@ if(DCMTK_USE_FIND_PACKAGE) - else() - set(WITH_LIBTIFF 1) - # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path -- find_package(JPEG QUIET) -+ find_package(JPEG REQUIRED) - if(NOT JPEG_FOUND) - message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") -- include_directories(${TIFF_INCLUDE_DIR}) -+ include_directories(${TIFF_INCLUDE_DIRS}) - else() - message(STATUS "Info: DCMTK TIFF support will be enabled") -- include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) -+ include_directories(${TIFF_INCLUDE_DIRS} ${JPEG_INCLUDE_DIRS}) - endif() -- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) -+ set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${JPEG_LIBRARIES}) - endif() - endif() - - # Find PNG - if(DCMTK_WITH_PNG) -- find_package(PNG QUIET) -+ find_package(PNG REQUIRED) - if(NOT PNG_FOUND) - set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) - message(STATUS "Warning: PNG support will be disabled because libpng was not found.") -@@ -53,13 +53,13 @@ if(DCMTK_USE_FIND_PACKAGE) - message(STATUS "Info: DCMTK PNG support will be enabled") - set(WITH_LIBPNG 1) - include_directories(${PNG_INCLUDE_DIR}) -- set(LIBPNG_LIBS ${PNG_LIBRARY}) -+ set(LIBPNG_LIBS ${PNG_LIBRARIES}) - endif() - endif() - - # Find OpenSSL - if(DCMTK_WITH_OPENSSL) -- find_package(OpenSSL QUIET) -+ find_package(OpenSSL REQUIRED) - if(NOT OPENSSL_FOUND) - message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") - set(WITH_OPENSSL "") -@@ -90,7 +90,7 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find libXML2 - if(DCMTK_WITH_XML) -- find_package(LibXml2 QUIET) -+ find_package(LibXml2 REQUIRED) - if(NOT LIBXML2_FOUND) - message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") - set(WITH_LIBXML "") -@@ -105,7 +105,7 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find zlib - if(DCMTK_WITH_ZLIB) -- find_package(ZLIB QUIET) -+ find_package(ZLIB REQUIRED) - if(NOT ZLIB_FOUND) - message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") - set(WITH_ZLIB "") -@@ -120,7 +120,7 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find libsndfile - if(DCMTK_WITH_SNDFILE) -- find_package(SNDFILE QUIET) -+ find_package(SNDFILE REQUIRED) - if(NOT SNDFILE_LIBS) - message(STATUS "Warning: SNDFILE support will be disabled because libsndfile was not found.") - set(WITH_SNDFILE "") -@@ -135,9 +135,9 @@ if(DCMTK_USE_FIND_PACKAGE) - - # Find libiconv - if(DCMTK_WITH_ICONV) -- find_package(Iconv QUIET) -- find_package(LIBCHARSET QUIET) -- if(ICONV_FOUND) -+ find_package(Iconv REQUIRED) -+ find_package(LIBCHARSET REQUIRED) -+ if(Iconv_FOUND) - if(NOT Iconv_IS_BUILT_IN) - set(LIBICONV_FOUND ${ICONV_FOUND}) - else() -@@ -158,7 +158,7 @@ if(DCMTK_USE_FIND_PACKAGE) - set(WITH_LIBICONV 1) - set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) - set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) -- set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) -+ set(LIBICONV_LIBS Iconv::Iconv) - include_directories(${LIBICONV_INCDIR}) - endif() - endif() -@@ -241,13 +241,15 @@ else() - # libxml support: configure compiler - if(DCMTK_WITH_XML) - if(WITH_LIBXMLINC) -- set(LIBXML_INCDIR "${WITH_LIBXMLINC}/include") -- set(LIBXML_LIBDIR "${WITH_LIBXMLINC}/lib") -- set(LIBXML_LIBS debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib" debug "${LIBXML_LIBDIR}/iconv_d.lib" optimized "${LIBXML_LIBDIR}/iconv_o.lib") -+ set(LIBXML_INCDIR ${CONAN_INCLUDE_DIRS_LIBXML2} ${CONAN_INCLUDE_DIRS_ICONV}) -+ link_directories(${WITH_LIBXMLINC}/lib) -+ set(LIBXML_LIBS ${CONAN_LIBS_LIBXML2}) - message(STATUS "Info: DCMTK XML support will be enabled") - set(WITH_LIBXML 1) -+ if(NOT WITH_LIBXML_SHARED) - # this hides some warnings that are emitted when linking against libxmlXXX.lib instead of linking the DLL directly - add_definitions("-DLIBXML_STATIC") -+ endif() - else() # turn off library if library path not set - message(STATUS "Warning: XML support will be disabled because libxml2 directory is not specified. Correct path and re-enable DCMTK_WITH_XML.") - set(DCMTK_WITH_XML OFF CACHE BOOL "" FORCE) -@@ -259,8 +261,8 @@ else() - if(DCMTK_WITH_PNG) - if(WITH_LIBPNGINC) - set(LIBPNG_INCDIR "${WITH_LIBPNGINC}/include") -- set(LIBPNG_LIBDIR "${WITH_LIBPNGINC}/lib") -- set(LIBPNG_LIBS debug "${LIBPNG_LIBDIR}/libpng_d.lib" optimized "${LIBPNG_LIBDIR}/libpng_o.lib") -+ link_directories(${WITH_LIBPNGINC}/lib) -+ set(LIBPNG_LIBS CONAN_PKG::libpng) - message(STATUS "Info: DCMTK PNG support will be enabled") - set(WITH_LIBPNG 1) - else() # turn off library if library path not set -@@ -274,8 +276,8 @@ else() - if(DCMTK_WITH_TIFF) - if(WITH_LIBTIFFINC) - set(LIBTIFF_INCDIR "${WITH_LIBTIFFINC}/include") -- set(LIBTIFF_LIBDIR "${WITH_LIBTIFFINC}/lib") -- set(LIBTIFF_LIBS debug "${LIBTIFF_LIBDIR}/libtiff_d.lib" optimized "${LIBTIFF_LIBDIR}/libtiff_o.lib") -+ link_directories(${WITH_LIBTIFFINC}/lib) -+ set(LIBTIFF_LIBS CONAN_PKG::libtiff) - message(STATUS "Info: DCMTK TIFF support will be enabled") - set(WITH_LIBTIFF 1) - else() # turn off library if library path not set -@@ -291,9 +293,9 @@ else() - include(CheckCXXSourceCompiles) - set(OPENSSL_BINDIR "${WITH_OPENSSLINC}/bin") - set(OPENSSL_INCDIR "${WITH_OPENSSLINC}/include") -- set(OPENSSL_LIBDIR "${WITH_OPENSSLINC}/lib") -+ link_directories(${WITH_OPENSSLINC}/lib) - # starting with OpenSSL 1.1.0, the Windows crypt32 library is needed for a static link of OpenSSL. -- set(OPENSSL_LIBS "crypt32" debug "${OPENSSL_LIBDIR}/dcmtkssl_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkssl_o.lib" debug "${OPENSSL_LIBDIR}/dcmtkcrypto_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkcrypto_o.lib") -+ set(OPENSSL_LIBS ${CONAN_LIBS_OPENSSL}) - set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") - list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCDIR}") - CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10001000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) -@@ -317,8 +319,8 @@ else() - if(DCMTK_WITH_ZLIB) - if(WITH_ZLIBINC) - set(ZLIB_INCDIR "${WITH_ZLIBINC}/include") -- set(ZLIB_LIBDIR "${WITH_ZLIBINC}/lib") -- set(ZLIB_LIBS debug "${ZLIB_LIBDIR}/zlib_d.lib" optimized "${ZLIB_LIBDIR}/zlib_o.lib") -+ link_directories(${WITH_ZLIBINC}/lib) -+ set(ZLIB_LIBS CONAN_PKG::zlib) - message(STATUS "Info: DCMTK ZLIB support will be enabled") - set(WITH_ZLIB 1) - else() # turn off library if library path not set -@@ -332,8 +334,8 @@ else() - if(DCMTK_WITH_SNDFILE) - if(WITH_SNDFILEINC) - set(SNDFILE_INCDIR "${WITH_SNDFILEINC}/include") -- set(SNDFILE_LIBDIR "${WITH_SNDFILEINC}/lib") -- set(SNDFILE_LIBS debug "${SNDFILE_LIBDIR}/libsndfile_d.lib" optimized "${SNDFILE_LIBDIR}/libsndfile_o.lib") -+ link_directories(${WITH_SNDFILEINC}/lib) -+ set(SNDFILE_LIBS CONAN_PKG::libsndfile) - message(STATUS "Info: DCMTK SNDFILE support will be enabled") - set(WITH_SNDFILE 1) - else() # turn off library if library path not set -@@ -347,8 +349,8 @@ else() - if(DCMTK_WITH_ICONV) - if(WITH_LIBICONVINC) - set(LIBICONV_INCDIR "${WITH_LIBICONVINC}/include") -- set(LIBICONV_LIBDIR "${WITH_LIBICONVINC}/lib") -- set(LIBICONV_LIBS debug "${LIBICONV_LIBDIR}/libiconv_d.lib" optimized "${LIBICONV_LIBDIR}/libiconv_o.lib") -+ link_directories(${WITH_LIBICONVINC}/lib) -+ set(LIBICONV_LIBS CONAN_PKG::libiconv) - message(STATUS "Info: DCMTK ICONV support will be enabled") - set(WITH_LIBICONV 1) - else() # turn off library if library path not set -@@ -371,7 +373,7 @@ else() - else() - set(OPENJPEG_INCDIR "${WITH_OPENJPEGINC1}") - set(OPENJPEG_LIBDIR "${WITH_OPENJPEGINC}/lib") -- set(OPENJPEG_LIBS debug "${OPENJPEG_LIBDIR}/openjp2_d.lib" optimized "${OPENJPEG_LIBDIR}/openjp2_o.lib") -+ set(OPENJPEG_LIBS CONAN_PKG::openjpeg) - message(STATUS "Info: DCMTK OpenJPEG support will be enabled") - set(WITH_OPENJPEG 1) - endif() -@@ -395,7 +397,7 @@ if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV) - endif() - - if(DCMTK_WITH_ICU) -- find_package(ICU COMPONENTS uc data QUIET) -+ find_package(ICU COMPONENTS uc data REQUIRED) - if(NOT ICU_FOUND) - message(STATUS "Warning: ICU support will be disabled because the ICU were not found.") - set(DCMTK_WITH_ICU OFF CACHE BOOL "" FORCE) -@@ -411,7 +413,7 @@ endif() - - # Find doxygen - if(DCMTK_WITH_DOXYGEN) -- find_package(Doxygen QUIET) # will set variable DOXYGEN_EXECUTABLE -+ find_package(Doxygen REQUIRED) # will set variable DOXYGEN_EXECUTABLE - if(NOT DOXYGEN_FOUND) - message(STATUS "Warning: DOXYGEN support will be disabled because doxygen was not found.") - set(DCMTK_WITH_DOXYGEN OFF CACHE BOOL "" FORCE) diff --git a/recipes/dcmtk/all/test_package/CMakeLists.txt b/recipes/dcmtk/all/test_package/CMakeLists.txt index b3dafcdddcb7d..4e506092ed288 100644 --- a/recipes/dcmtk/all/test_package/CMakeLists.txt +++ b/recipes/dcmtk/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) find_package(DCMTK REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} dcmdata) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE DCMTK::dcmdata) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/dcmtk/all/test_package/conanfile.py b/recipes/dcmtk/all/test_package/conanfile.py index c5fa77486cfa5..0a6bc68712d90 100644 --- a/recipes/dcmtk/all/test_package/conanfile.py +++ b/recipes/dcmtk/all/test_package/conanfile.py @@ -1,12 +1,19 @@ -from conans import CMake from conan import ConanFile -from conan.tools.build import cross_building +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -14,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/dcmtk/all/test_v1_package/CMakeLists.txt b/recipes/dcmtk/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..be00a8c7f57c7 --- /dev/null +++ b/recipes/dcmtk/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +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/dcmtk/all/test_v1_package/conanfile.py b/recipes/dcmtk/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/dcmtk/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/dcmtk/config.yml b/recipes/dcmtk/config.yml index 81e7bce3c7d99..8e28175b23370 100644 --- a/recipes/dcmtk/config.yml +++ b/recipes/dcmtk/config.yml @@ -1,7 +1,3 @@ versions: "3.6.7": folder: "all" - "3.6.6": - folder: "all" - "3.6.5": - folder: "all" From a3083f9152020f9a76cc856742a21dad972ca50f Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 3 Oct 2023 15:59:01 +0200 Subject: [PATCH 1892/4087] (#20294) [config] Remove old profile configurations --- .c3i/config_v1.yml | 36 ------------------------------------ .c3i/config_v2.yml | 15 --------------- 2 files changed, 51 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index bc6adc07ba370..7f7dc6d5833da 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -67,17 +67,6 @@ tasks: # Profile configurations to build packages configurations: - - id: linux-gcc - epochs: [0] - hrname: "Linux, GCC" - content: - - os: [ "Linux" ] - arch: [ "x86_64" ] - compiler: - - "gcc": - compiler.libcxx: [ "libstdc++11" ] - compiler.version: [ "5", "7", "9", "10" ] - build_type: [ "Release", "Debug" ] - id: linux-gcc epochs: [20211221, 20220120, 20230606] hrname: "Linux, GCC" @@ -100,17 +89,6 @@ configurations: compiler.libcxx: ["libstdc++", "libc++"] compiler.version: ["12", "13"] build_type: ["Release", "Debug"] - - id: macos-clang - epochs: [0, 20211221] - hrname: "macOS, Clang" - content: - - os: [ "Macos" ] - arch: [ "x86_64" ] - compiler: - - "apple-clang": - compiler.version: [ "11.0", "12.0" ] - compiler.libcxx: [ "libc++" ] - build_type: [ "Release", "Debug" ] - id: macos-clang epochs: [20220120, 20230606] hrname: "macOS, Clang" @@ -122,20 +100,6 @@ configurations: compiler.version: [ "13.0" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - - id: macos-m1-clang - epochs: [0, 20211221] - hrname: "macOS, Clang (M1/arm64)" - build_profile: - os: "Macos" - arch: "x86_64" - content: - - os: [ "Macos" ] - arch: [ "armv8" ] - compiler: - - "apple-clang": - compiler.version: [ "12.0" ] - compiler.libcxx: [ "libc++" ] - build_type: [ "Release", "Debug" ] - id: macos-m1-clang epochs: [20220120, 20230606] hrname: "macOS, Clang (M1/arm64)" diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 6ce21e93668a5..26bfec81b6d30 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -103,21 +103,6 @@ configurations: compiler.version: ["13" ] compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - - id: windows-msvc - epochs: [0, 20211221, 20220120, 20220628] - hrname: "Windows, MSVC" - build_profile: - os: "Windows" - content: - - os: [ "Windows" ] - arch: [ "x86_64" ] - compiler: - - "msvc": - compiler.version: [ "192" ] - build_type: - - "Release": - compiler.runtime: ["dynamic"] - compiler.runtime_type: [ "Release" ] - id: windows-msvc epochs: [20230606] hrname: "Windows, MSVC" From 2bf24d37bf325f3cdc65ccdd7ad26a56df47de74 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Tue, 3 Oct 2023 08:14:03 -0700 Subject: [PATCH 1893/4087] (#19998) Move prince-chrismc back to a community reviewer * Update my reviewers title I no longer work for JFrog * Update alert-community.yml --- .c3i/reviewers.yml | 2 +- .github/workflows/alert-community.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.c3i/reviewers.yml b/.c3i/reviewers.yml index 6c7ecd5befbc8..8f6463b4a33c6 100644 --- a/.c3i/reviewers.yml +++ b/.c3i/reviewers.yml @@ -37,7 +37,7 @@ reviewers: type: "community" request_reviews: false - user: "prince-chrismc" - type: "team" + type: "community" request_reviews: false - user: "Croydon" type: "community" diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index 2df6d8d62a6c1..17c21b9aa39f5 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -24,12 +24,12 @@ jobs: - uses: ./.github/actions/alert-community with: files: ".github/*/*" - reviewers: "@ericLemanissier @prince-chrismc @Croydon" + reviewers: "@ericLemanissier @Croydon" - uses: ./.github/actions/alert-community with: files: "linter/*/*" - reviewers: "@ericLemanissier @prince-chrismc @Croydon" + reviewers: "@ericLemanissier @Croydon" - uses: ./.github/actions/alert-community with: From 7483e5be48215583c829f9bf34173759aa4093bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 3 Oct 2023 18:23:50 +0200 Subject: [PATCH 1894/4087] (#19981) nas: Fix license * Sketch NAS fix * Fix licensing field --- recipes/nas/all/conanfile.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/recipes/nas/all/conanfile.py b/recipes/nas/all/conanfile.py index a6ece9857a5b2..5a3dcf12eeb77 100644 --- a/recipes/nas/all/conanfile.py +++ b/recipes/nas/all/conanfile.py @@ -3,7 +3,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.layout import basic_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import chdir, get, download, export_conandata_patches, apply_conandata_patches, rm, copy +from conan.tools.files import chdir, get, export_conandata_patches, apply_conandata_patches, rm, copy, load, save from conan.tools.gnu import AutotoolsToolchain, Autotools, AutotoolsDeps import os @@ -17,7 +17,7 @@ class NasRecipe(ConanFile): topics = ("audio", "sound") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.radscan.com/nas.html" - license = "Unlicense" + license = "DocumentRef-wave.h:LicenseRef-MIT-advertising" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -61,8 +61,6 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version][0], strip_root=True) - # This library does not come with a License file by itself, package it from an external source - download(self, filename="LICENSE", **self.conan_data["sources"][self.version][1]) @property def _user_info_build(self): @@ -107,8 +105,16 @@ def build(self): # j1 avoids some errors while trying to run this target autotools.make(target="World", args=["-j1"] + self._imake_make_args) + def _extract_license(self): + header = "Copyright 1995" + footer = "Translation: You can do whatever you want with this software!" + nas_audio = load(self, os.path.join(self.source_folder, "README")) + begin = nas_audio.find(header) + end = nas_audio.find(footer, begin) + return nas_audio[begin:end] + def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) tmp_install = os.path.join(self.build_folder, "prefix") self.output.warning(tmp_install) From 5e4dd8adfb44fd4293f8b3a52efe4ce5c7a4658a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 3 Oct 2023 22:00:42 +0300 Subject: [PATCH 1895/4087] (#18638) libxshmfence: migrate to Conan v2 * libxshmfence: migrate to Conan v2 * libxshmfence: bump deps --- recipes/libxshmfence/all/conanfile.py | 119 +++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 19 ++- .../all/test_package/test_package.c | 5 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 100 insertions(+), 75 deletions(-) create mode 100644 recipes/libxshmfence/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libxshmfence/all/test_v1_package/conanfile.py diff --git a/recipes/libxshmfence/all/conanfile.py b/recipes/libxshmfence/all/conanfile.py index abd496668a102..c2a5a359ad39a 100644 --- a/recipes/libxshmfence/all/conanfile.py +++ b/recipes/libxshmfence/all/conanfile.py @@ -1,20 +1,28 @@ +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 -from conans import tools, AutoToolsBuildEnvironment -import contextlib -import os +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, unix_path required_conan_version = ">=1.53.0" + class LibxshmfenceConan(ConanFile): name = "libxshmfence" + description = "Shared memory 'SyncFence' synchronization primitive" license = "X11" - homepage = "https://gitlab.freedesktop.org/xorg/lib/libxshmfence" url = "https://github.com/conan-io/conan-center-index" - description = "Shared memory 'SyncFence' synchronization primitive" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxshmfence" topics = ("shared", "memory", "syncfence", "synchronization", "interprocess") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -24,22 +32,10 @@ class LibxshmfenceConan(ConanFile): "fPIC": True, } - generators = "pkg_config" - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - def export_sources(self): export_conandata_patches(self) @@ -53,64 +49,63 @@ def configure(self): # for plain C projects only 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("xorg-proto/2022.2", transitive_headers=True) + def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("Windows is not supported by libxshmfence recipe. Contributions are welcome") def build_requirements(self): - self.build_requires("automake/1.16.5") - self.build_requires("pkgconf/1.9.3") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - def requirements(self): - self.requires("xorg-proto/2022.2") + self.tool_requires("automake/1.16.5") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.5") + 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], - destination=self._source_subfolder, strip_root=True) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "{} cl -nologo".format(self._user_info_build["automake"].compile).replace("\\", "/"), - } - with tools.environment_append(env): - yield - else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=self._settings_build.os == "Windows") - self._autotools.libs = [] - yes_no = lambda v: "yes" if v else "no" - configure_args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - ] - self._autotools.configure(args=configure_args, configure_dir=self._source_subfolder) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.vars(self).save_script("conanbuild_msvc") def build(self): apply_conandata_patches(self) - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rm(self, "*.la", os.path.join(self.package_folder, "lib")) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["xshmfence"] - self.cpp_info.names["pkg_config"] = "xshmfence" self.cpp_info.set_property("pkg_config_name", "xshmfence") diff --git a/recipes/libxshmfence/all/test_package/CMakeLists.txt b/recipes/libxshmfence/all/test_package/CMakeLists.txt index b08d77d4e4328..c48db83ea9231 100644 --- a/recipes/libxshmfence/all/test_package/CMakeLists.txt +++ b/recipes/libxshmfence/all/test_package/CMakeLists.txt @@ -1,10 +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(TARGETS) - -find_package(libxshmfence REQUIRED) +find_package(libxshmfence REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} libxshmfence::libxshmfence) diff --git a/recipes/libxshmfence/all/test_package/conanfile.py b/recipes/libxshmfence/all/test_package/conanfile.py index 19e6a0c06e3d8..ef5d7042163ec 100644 --- a/recipes/libxshmfence/all/test_package/conanfile.py +++ b/recipes/libxshmfence/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/libxshmfence/all/test_package/test_package.c b/recipes/libxshmfence/all/test_package/test_package.c index 2dc0779250663..6b5dd2b42332c 100644 --- a/recipes/libxshmfence/all/test_package/test_package.c +++ b/recipes/libxshmfence/all/test_package/test_package.c @@ -1,15 +1,14 @@ #include "X11/xshmfence.h" int main() { - int fd; - struct xshmfence *x; + int fd; + struct xshmfence *x; fd = xshmfence_alloc_shm(); if (fd < 0) { return 1; } - x = xshmfence_map_shm(fd); if (!x) { return 1; diff --git a/recipes/libxshmfence/all/test_v1_package/CMakeLists.txt b/recipes/libxshmfence/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libxshmfence/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/libxshmfence/all/test_v1_package/conanfile.py b/recipes/libxshmfence/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libxshmfence/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2b8416a0784e241806d7bdf89ada42c9acd7bfa4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 3 Oct 2023 23:07:17 +0300 Subject: [PATCH 1896/4087] (#18755) playrho: migrate to Conan v2 * playrho: migrate to Conan v2 * playrho: move DLLs from lib to bin * playrho: restore VirtualRunEnv in test_package --- recipes/playrho/all/CMakeLists.txt | 9 -- recipes/playrho/all/conandata.yml | 1 - recipes/playrho/all/conanfile.py | 95 +++++++++++-------- .../playrho/all/test_package/CMakeLists.txt | 5 +- recipes/playrho/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../playrho/all/test_v1_package/conanfile.py | 18 ++++ 7 files changed, 96 insertions(+), 62 deletions(-) delete mode 100644 recipes/playrho/all/CMakeLists.txt create mode 100644 recipes/playrho/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/playrho/all/test_v1_package/conanfile.py diff --git a/recipes/playrho/all/CMakeLists.txt b/recipes/playrho/all/CMakeLists.txt deleted file mode 100644 index 7d5ba25565b0a..0000000000000 --- a/recipes/playrho/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_subdirectory(source_subfolder) diff --git a/recipes/playrho/all/conandata.yml b/recipes/playrho/all/conandata.yml index 03bf919319da8..9c08727b48484 100644 --- a/recipes/playrho/all/conandata.yml +++ b/recipes/playrho/all/conandata.yml @@ -6,4 +6,3 @@ sources: patches: "1.1.0": - patch_file: "patches/1.1.0-0001-fix-target-name.patch" - base_path: "source_subfolder" diff --git a/recipes/playrho/all/conanfile.py b/recipes/playrho/all/conanfile.py index 9aab4b29f12b3..b2457aa21b074 100644 --- a/recipes/playrho/all/conanfile.py +++ b/recipes/playrho/all/conanfile.py @@ -1,9 +1,14 @@ -from conans import ConanFile, CMake, tools -from conans.tools import ConanInvalidConfiguration import os -import functools -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, rename +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class PlayrhoConan(ConanFile): name = "playrho" @@ -12,25 +17,30 @@ class PlayrhoConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/louis-langholtz/PlayRho/" topics = ("physics-engine", "collision-detection", "box2d") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False], + "fPIC": [True, False], } default_options = { "shared": False, "fPIC": True, } - generators = "cmake" @property - def _source_subfolder(self): - return "source_subfolder" + def _compilers_minimum_versions(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "msvc": "192", + "Visual Studio": "16", + } 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": @@ -38,54 +48,57 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - @property - def _compilers_minimum_versions(self): - return { - "gcc": "8", - "Visual Studio": "16", - "clang": "7", - "apple-clang": "12", - } + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) compilers_minimum_version = self._compilers_minimum_versions minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version: - if tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++17, which your compiler does not support.".format(self.name)) + if Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name} requires C++17, which your compiler does not support." + ) else: - self.output.warn("{} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name)) + self.output.warning( + f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["PLAYRHO_BUILD_SHARED"] = self.options.shared - cmake.definitions["PLAYRHO_BUILD_STATIC"] = not self.options.shared - cmake.definitions["PLAYRHO_INSTALL"] = True - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["PLAYRHO_BUILD_SHARED"] = self.options.shared + tc.variables["PLAYRHO_BUILD_STATIC"] = not self.options.shared + tc.variables["PLAYRHO_INSTALL"] = True + tc.generate() + + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "PlayRho")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "PlayRho")) + for dll in (self.package_path / "lib").glob("*.dll"): + rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.libs = ["PlayRho"] diff --git a/recipes/playrho/all/test_package/CMakeLists.txt b/recipes/playrho/all/test_package/CMakeLists.txt index cf755d3555681..6486eec980147 100644 --- a/recipes/playrho/all/test_package/CMakeLists.txt +++ b/recipes/playrho/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(PlayRho REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/playrho/all/test_package/conanfile.py b/recipes/playrho/all/test_package/conanfile.py index 61ac8b9318290..ef5d7042163ec 100644 --- a/recipes/playrho/all/test_package/conanfile.py +++ b/recipes/playrho/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building -class PlayrhoTestConan(ConanFile): +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) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/playrho/all/test_v1_package/CMakeLists.txt b/recipes/playrho/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/playrho/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/playrho/all/test_v1_package/conanfile.py b/recipes/playrho/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..61ac8b9318290 --- /dev/null +++ b/recipes/playrho/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools +from conan.tools.build import cross_building + +class PlayrhoTestConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 4e36c9f08ddf4c6a6070e5f2d00cf3961247ca9b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 3 Oct 2023 23:32:47 +0300 Subject: [PATCH 1897/4087] (#18890) libdrm: migrate to Conan v2 * libdrm: migrate to Conan v2 * libdrm: restore VirtualRunEnv in test_package * libdrm: bump deps * libdrm: add pthread dependency * libdrm: bump deps * libdrm: add pkgconf dependency --- recipes/libdrm/all/conanfile.py | 127 +++++++++--------- .../libdrm/all/test_package/CMakeLists.txt | 9 +- recipes/libdrm/all/test_package/conanfile.py | 22 ++- .../libdrm/all/test_v1_package/CMakeLists.txt | 8 ++ .../libdrm/all/test_v1_package/conanfile.py | 18 +++ 5 files changed, 108 insertions(+), 76 deletions(-) create mode 100644 recipes/libdrm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libdrm/all/test_v1_package/conanfile.py diff --git a/recipes/libdrm/all/conanfile.py b/recipes/libdrm/all/conanfile.py index aad89cccd5bf6..4947d9528c7e3 100644 --- a/recipes/libdrm/all/conanfile.py +++ b/recipes/libdrm/all/conanfile.py @@ -4,19 +4,24 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.files import get, load, mkdir, rmdir, save +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import MesonToolchain, Meson from conan.tools.scm import Version -from conans import Meson + +required_conan_version = ">=1.53.0" class LibdrmConan(ConanFile): name = "libdrm" - description = "User space library for accessing the Direct Rendering Manager, on operating systems that support the ioctl interface" - topics = ("libdrm", "graphics") + description = ("User space library for accessing the Direct Rendering Manager, " + "on operating systems that support the ioctl interface") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.freedesktop.org/mesa/drm" - license = "MIT" - generators = "PkgConfigDeps" + topics = ("graphics",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -35,7 +40,7 @@ class LibdrmConan(ConanFile): "etnaviv": [True, False], "valgrind": [True, False], "freedreno-kgsl": [True, False], - "udev": [True, False] + "udev": [True, False], } default_options = { "shared": False, @@ -54,100 +59,93 @@ class LibdrmConan(ConanFile): "etnaviv": False, "valgrind": False, "freedreno-kgsl": False, - "udev": False + "udev": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def build_requirements(self): - self.build_requires("meson/0.64.1") - def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC if Version(self.version) >= "2.4.111": del self.options.libkms def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.intel: - self.requires("libpciaccess/0.16") - if self.settings.os == "Linux": - self.requires("linux-headers-generic/5.14.9") + self.requires("libpciaccess/0.17") + if self.settings.os in ["Linux", "FreeBSD"]: + self.requires("linux-headers-generic/5.15.128") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("libdrm supports only Linux or FreeBSD") + def build_requirements(self): + self.tool_requires("meson/1.2.2") + 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, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_meson(self): - meson = Meson(self) + def generate(self): + tc = PkgConfigDeps(self) + tc.generate() + + tc = MesonToolchain(self) + tc.project_options["cairo-tests"] = "disabled" if Version(self.version) >= "2.4.113" else "false" + tc.project_options["install-test-programs"] = "false" - defs={ - "cairo-tests" : "disabled" if Version(self.version) >= "2.4.113" else "false", - "install-test-programs": "false" - } if Version(self.version) < "2.4.111": - defs["libkms"] = "true" if self.options.libkms else "false" - - defs["freedreno-kgsl"] = "true" if getattr(self.options, "freedreno-kgsl") else "false" - defs["udev"] = "true" if self.options.udev else "false" - - for o in ["intel", "radeon", "amdgpu","nouveau", "vmwgfx", "omap", "exynos", - "freedreno", "tegra", "vc4", "etnaviv", "valgrind"]: + tc.project_options["libkms"] = "true" if self.options.libkms else "false" + + tc.project_options["freedreno-kgsl"] = "true" if getattr(self.options, "freedreno-kgsl") else "false" + tc.project_options["udev"] = "true" if self.options.udev else "false" + + for o in ["intel", "radeon", "amdgpu", "nouveau", "vmwgfx", "omap", + "exynos", "freedreno", "tegra", "vc4", "etnaviv", "valgrind"]: if Version(self.version) >= "2.4.113": - defs[o] = "enabled" if getattr(self.options, o) else "disabled" + tc.project_options[o] = "enabled" if getattr(self.options, o) else "disabled" else: - defs[o] = "true" if getattr(self.options, o) else "false" + tc.project_options[o] = "true" if getattr(self.options, o) else "false" - defs["datadir"] = os.path.join(self.package_folder, "res") - defs["mandir"] = os.path.join(self.package_folder, "res", "man") - - meson.configure( - defs = defs, - source_folder=self._source_subfolder, - build_folder=self._build_subfolder) - return meson + tc.project_options["datadir"] = os.path.join(self.package_folder, "res") + tc.project_options["mandir"] = os.path.join(self.package_folder, "res", "man") + tc.generate() def build(self): - meson = self._configure_meson() + meson = Meson(self) + meson.configure() meson.build() def package(self): - meson = self._configure_meson() + meson = Meson(self) meson.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) mkdir(self, os.path.join(self.package_folder, "licenses")) # Extract the License/s from the header to a file - tmp = load(self, os.path.join(self._source_subfolder, "include", "drm", "drm.h")) - license_contents = re.search("\*\/.*(\/\*(\*(?!\/)|[^*])*\*\/)", tmp, re.DOTALL)[1] + tmp = load(self, os.path.join(self.source_folder, "include", "drm", "drm.h")) + license_contents = re.search(r"\*/.*(/\*(\*(?!/)|[^*])*\*/)", tmp, re.DOTALL)[1] save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package_info(self): self.cpp_info.components["libdrm_libdrm"].libs = ["drm"] - self.cpp_info.components["libdrm_libdrm"].includedirs.append(os.path.join('include', 'libdrm')) + self.cpp_info.components["libdrm_libdrm"].includedirs.append(os.path.join("include", "libdrm")) self.cpp_info.components["libdrm_libdrm"].set_property("pkg_config_name", "libdrm") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libdrm_libdrm"].requires = ["linux-headers-generic::linux-headers-generic"] if Version(self.version) < "2.4.111": if self.options.libkms: self.cpp_info.components["libdrm_libkms"].libs = ["kms"] - self.cpp_info.components["libdrm_libkms"].includedirs.append(os.path.join('include', 'libkms')) + self.cpp_info.components["libdrm_libkms"].includedirs.append(os.path.join("include", "libkms")) self.cpp_info.components["libdrm_libkms"].requires = ["libdrm_libdrm"] self.cpp_info.components["libdrm_libkms"].set_property("pkg_config_name", "libkms") @@ -157,32 +155,33 @@ def package_info(self): if self.options.freedreno: self.cpp_info.components["libdrm_freedreno"].libs = ["drm_freedreno"] - self.cpp_info.components["libdrm_freedreno"].includedirs.append(os.path.join('include', 'libdrm')) - self.cpp_info.components["libdrm_freedreno"].includedirs.append(os.path.join('include', 'freedreno')) + self.cpp_info.components["libdrm_freedreno"].includedirs.append(os.path.join("include", "libdrm")) + self.cpp_info.components["libdrm_freedreno"].includedirs.append(os.path.join("include", "freedreno")) self.cpp_info.components["libdrm_freedreno"].requires = ["libdrm_libdrm"] self.cpp_info.components["libdrm_freedreno"].set_property("pkg_config_name", "libdrm_freedreno") if self.options.amdgpu: self.cpp_info.components["libdrm_amdgpu"].libs = ["drm_amdgpu"] - self.cpp_info.components["libdrm_amdgpu"].includedirs.append(os.path.join('include', 'libdrm')) + self.cpp_info.components["libdrm_amdgpu"].includedirs.append(os.path.join("include", "libdrm")) self.cpp_info.components["libdrm_amdgpu"].requires = ["libdrm_libdrm"] self.cpp_info.components["libdrm_amdgpu"].set_property("pkg_config_name", "libdrm_amdgpu") if self.options.nouveau: self.cpp_info.components["libdrm_nouveau"].libs = ["drm_nouveau"] - self.cpp_info.components["libdrm_nouveau"].includedirs.append(os.path.join('include', 'libdrm')) + self.cpp_info.components["libdrm_nouveau"].includedirs.append(os.path.join("include", "libdrm")) self.cpp_info.components["libdrm_nouveau"].requires = ["libdrm_libdrm"] self.cpp_info.components["libdrm_nouveau"].set_property("pkg_config_name", "libdrm_nouveau") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libdrm_nouveau"].system_libs = ["pthread"] if self.options.intel: self.cpp_info.components["libdrm_intel"].libs = ["drm_intel"] - self.cpp_info.components["libdrm_intel"].includedirs.append(os.path.join('include', 'libdrm')) + self.cpp_info.components["libdrm_intel"].includedirs.append(os.path.join("include", "libdrm")) self.cpp_info.components["libdrm_intel"].requires = ["libdrm_libdrm", "libpciaccess::libpciaccess"] self.cpp_info.components["libdrm_intel"].set_property("pkg_config_name", "libdrm_intel") if self.options.radeon: self.cpp_info.components["libdrm_radeon"].libs = ["drm_radeon"] - self.cpp_info.components["libdrm_radeon"].includedirs.append(os.path.join('include', 'libdrm')) + self.cpp_info.components["libdrm_radeon"].includedirs.append(os.path.join("include", "libdrm")) self.cpp_info.components["libdrm_radeon"].requires = ["libdrm_libdrm"] self.cpp_info.components["libdrm_radeon"].set_property("pkg_config_name", "libdrm_radeon") - diff --git a/recipes/libdrm/all/test_package/CMakeLists.txt b/recipes/libdrm/all/test_package/CMakeLists.txt index afa2476357074..0561a690e26c1 100644 --- a/recipes/libdrm/all/test_package/CMakeLists.txt +++ b/recipes/libdrm/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libdrm REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libdrm::libdrm) diff --git a/recipes/libdrm/all/test_package/conanfile.py b/recipes/libdrm/all/test_package/conanfile.py index 8e9e5fdc7aa40..ef5d7042163ec 100644 --- a/recipes/libdrm/all/test_package/conanfile.py +++ b/recipes/libdrm/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") - 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/libdrm/all/test_v1_package/CMakeLists.txt b/recipes/libdrm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libdrm/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/libdrm/all/test_v1_package/conanfile.py b/recipes/libdrm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..994065a757445 --- /dev/null +++ b/recipes/libdrm/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + From 4a70918e81eadb664095d9e92dd3262587179dc4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 01:02:23 +0300 Subject: [PATCH 1898/4087] (#19231) libselinux: add v3.5, fix license info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libselinux: bump deps * libselinux: bump pkgconf dep * libselinux: set correct licenses * libselinux: add v3.5 * libselinux: restore old versions for now to correct their licenses * libselinux: restore 0001-fix-fno-common-3.0.patch * libselinux: avoid building both .a and .so * libselinux: correct license tag Co-authored-by: Jordan Williams --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Jordan Williams --- recipes/libselinux/all/conandata.yml | 5 ++ recipes/libselinux/all/conanfile.py | 62 +++++++++++-------- .../all/test_package/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 2 +- recipes/libselinux/config.yml | 2 + 5 files changed, 45 insertions(+), 28 deletions(-) diff --git a/recipes/libselinux/all/conandata.yml b/recipes/libselinux/all/conandata.yml index bc06101ad2d72..3db74c02a2ca7 100644 --- a/recipes/libselinux/all/conandata.yml +++ b/recipes/libselinux/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "3.5": + - url: "https://github.com/SELinuxProject/selinux/releases/download/3.5/libselinux-3.5.tar.gz" + sha256: "9a3a3705ac13a2ccca2de6d652b6356fead10f36fb33115c185c5ccdf29eec19" + - url: "https://github.com/SELinuxProject/selinux/releases/download/3.5/libsepol-3.5.tar.gz" + sha256: "78fdaf69924db780bac78546e43d9c44074bad798c2c415d0b9bb96d065ee8a2" "3.3": - url: "https://github.com/SELinuxProject/selinux/releases/download/3.3/libselinux-3.3.tar.gz" sha256: "acfdee27633d2496508c28727c3d41d3748076f66d42fccde2e6b9f3463a7057" diff --git a/recipes/libselinux/all/conanfile.py b/recipes/libselinux/all/conanfile.py index b2c0ccb43ccfa..eb1d902d82d02 100644 --- a/recipes/libselinux/all/conanfile.py +++ b/recipes/libselinux/all/conanfile.py @@ -1,11 +1,12 @@ +import os + from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rename, replace_in_file, save from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.scm import Version -from conan.errors import ConanInvalidConfiguration -import os required_conan_version = ">=1.53.0" @@ -20,7 +21,14 @@ class LibSELinuxConan(ConanFile): topics = ("linux", "selinux", "security", "security-enhanced") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/SELinuxProject/selinux" - license = "Unlicense" + license = ( + # https://github.com/SELinuxProject/selinux/blob/main/libselinux/LICENSE + # For the libselinux component: public domain with a limited liability clause + "LicenseRef-LICENSE-libselinux", + # https://github.com/SELinuxProject/selinux/blob/main/libsepol/LICENSE + # For the libsepol component: LGPL-2.1 + "LGPL-2.1-or-later", + ) package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -48,7 +56,7 @@ def requirements(self): self.requires("pcre2/10.42") def validate(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): @@ -60,22 +68,6 @@ def source(self): for download in self.conan_data["sources"][self.version]: get(self, **download) - @property - def _sepol_soversion(self): - return "2" if Version(self.version) >= "3.2" else "1" - - @property - def _selinux_soversion(self): - return "1" - - @property - def _sepol_library_target(self): - return f"libsepol.so.{self._sepol_soversion}" if self.options.shared else "libsepol.a" - - @property - def _selinux_library_target(self): - return f"libselinux.so.{self._selinux_soversion}" if self.options.shared else "libselinux.a" - @property def _sepol_source_folder(self): return os.path.join(self.source_folder, f"libsepol-{self.version}") @@ -100,13 +92,31 @@ def generate(self): def build(self): apply_conandata_patches(self) autotools = Autotools(self) - with chdir(self, os.path.join(self._sepol_source_folder, "src")): - autotools.make(self._sepol_library_target) - with chdir(self, os.path.join(self._selinux_source_folder)): - autotools.make() + for subdir in [self._sepol_source_folder, self._selinux_source_folder]: + with chdir(self, subdir): + # Build only .a or .so, not both + replace_in_file(self, os.path.join("src", "Makefile"), + "all: $(LIBA) $(LIBSO) $(LIBPC)", + "all: $(LIBSO)" if self.options.shared else "all: $(LIBA)") + # Skip utils dir by truncating its Makefile + save(self, os.path.join("utils", "Makefile"), "all:\n") + autotools.make() + + def _copy_licenses(self): + copy(self, "LICENSE", self._selinux_source_folder, os.path.join(self.package_folder, "licenses")) + rename(self, os.path.join(self.package_folder, "licenses", "LICENSE"), + os.path.join(self.package_folder, "licenses", "LICENSE-libselinux")) + if Version(self.version) >= "3.5": + copy(self, "LICENSE", self._sepol_source_folder, os.path.join(self.package_folder, "licenses")) + rename(self, os.path.join(self.package_folder, "licenses", "LICENSE"), + os.path.join(self.package_folder, "licenses", "LICENSE-libsepol")) + else: + copy(self, "COPYING", self._sepol_source_folder, os.path.join(self.package_folder, "licenses")) + rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), + os.path.join(self.package_folder, "licenses", "LICENSE-libsepol")) def package(self): - copy(self, "LICENSE", self._selinux_source_folder, os.path.join(self.package_folder, "licenses")) + self._copy_licenses() for library in [self._sepol_source_folder, self._selinux_source_folder]: copy(self, "*.h", os.path.join(library, "include"), os.path.join(self.package_folder, "include")) if self.options.shared: diff --git a/recipes/libselinux/all/test_package/CMakeLists.txt b/recipes/libselinux/all/test_package/CMakeLists.txt index 7a316858398f3..a2c8fc569bb2f 100644 --- a/recipes/libselinux/all/test_package/CMakeLists.txt +++ b/recipes/libselinux/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(libselinux REQUIRED CONFIG) diff --git a/recipes/libselinux/all/test_v1_package/CMakeLists.txt b/recipes/libselinux/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..91630d79f4abb 100644 --- a/recipes/libselinux/all/test_v1_package/CMakeLists.txt +++ b/recipes/libselinux/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/libselinux/config.yml b/recipes/libselinux/config.yml index 3fc66eb377b84..761b7522ae137 100644 --- a/recipes/libselinux/config.yml +++ b/recipes/libselinux/config.yml @@ -1,4 +1,6 @@ versions: + "3.5": + folder: all "3.3": folder: all "3.2": From 8533a3cefe559afc8172b0b70d1bfbc71750ff4f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 07:15:17 +0900 Subject: [PATCH 1899/4087] (#19709) wasmtime-cpp: update wasmtime/12.0.1 * wasmtime-cpp: update wasmtime/12.0.1 * update wasmtime-12.0.2 --- recipes/wasmtime-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wasmtime-cpp/all/conanfile.py b/recipes/wasmtime-cpp/all/conanfile.py index 3b547f8d8dbce..9970e18861d77 100644 --- a/recipes/wasmtime-cpp/all/conanfile.py +++ b/recipes/wasmtime-cpp/all/conanfile.py @@ -43,7 +43,7 @@ def requirements(self): "0.39.0": "0.39.1", "1.0.0": "1.0.1", "6.0.0": "6.0.1", - "9.0.0": "9.0.1", + "9.0.0": "12.0.2", } self.requires(f"wasmtime/{version_map.get(version, version)}") From 94d2d66da119e30455e65a0c0f964d06bcc811db Mon Sep 17 00:00:00 2001 From: Pavel Kisliak Date: Wed, 4 Oct 2023 02:34:08 +0300 Subject: [PATCH 1900/4087] (#19775) [BitSerializer] Add new version 0.65, migrate repository to GitHub --- recipes/bitserializer/all/conandata.yml | 15 +++++++++------ recipes/bitserializer/all/conanfile.py | 2 +- recipes/bitserializer/config.yml | 2 ++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/recipes/bitserializer/all/conandata.yml b/recipes/bitserializer/all/conandata.yml index 9b5b2264c84bb..1571f9c56284c 100644 --- a/recipes/bitserializer/all/conandata.yml +++ b/recipes/bitserializer/all/conandata.yml @@ -1,10 +1,13 @@ sources: + "0.65": + url: "https://github.com/PavelKisliak/BitSerializer/archive/v0.65.tar.gz" + sha256: "b4d90f13dd424faebe3ee57ee0cb86ff304e893990afd259c6a29d1f8533b2ef" "0.50": - url: "https://bitbucket.com/Pavel_Kisliak/BitSerializer/get/0.50.tar.gz" - sha256: "dc000b6516db60337d5dd56fb1b60e29ce700bd2e6f4e609ca548b84d1f1dcee" + url: "https://github.com/PavelKisliak/BitSerializer/archive/0.50.tar.gz" + sha256: "0ba9d57f1546b9c9245a97ced0ed05ec9fb969e0542093da3a8bf9dcfe7f7a6d" "0.44": - url: "https://bitbucket.com/Pavel_Kisliak/BitSerializer/get/0.44.tar.gz" - sha256: "39ee0b038c9f38a012f96913c9738a68514d2e923431fbd83ddf3f454e02bc6c" + url: "https://github.com/PavelKisliak/BitSerializer/archive/0.44.tar.gz" + sha256: "ab0f74914d8120ee5e7a8ed10b0e9d83ed8135cd9e3356b5d0dcefc1cc88e47f" "0.10": - url: "https://bitbucket.com/Pavel_Kisliak/BitSerializer/get/0.10.tar.gz" - sha256: "d5ae211aead17acb91d9fb7df7e72a30202f39412159dd0b46fe0e5046b29f94" + url: "https://github.com/PavelKisliak/BitSerializer/archive/0.10.tar.gz" + sha256: "e9b898e453c66742a3c9d762c3e9f64f478fdb79680792b8725f953342fcc348" diff --git a/recipes/bitserializer/all/conanfile.py b/recipes/bitserializer/all/conanfile.py index e4f6815698c02..5acbd3659a4cb 100644 --- a/recipes/bitserializer/all/conanfile.py +++ b/recipes/bitserializer/all/conanfile.py @@ -126,7 +126,7 @@ def generate(self): deps.generate() def _patch_sources(self): - if Version(self.version) >= "0.50": + if Version(self.version) >= "0.50" and self.options.with_rapidyaml: # Remove 'ryml' subdirectory from #include replace_in_file( self, os.path.join(self.source_folder, "include", "bitserializer", "rapidyaml_archive.h"), diff --git a/recipes/bitserializer/config.yml b/recipes/bitserializer/config.yml index 31b1805864308..7319ee088f906 100644 --- a/recipes/bitserializer/config.yml +++ b/recipes/bitserializer/config.yml @@ -1,4 +1,6 @@ versions: + "0.65": + folder: "all" "0.50": folder: "all" "0.44": From c4dc7705c622fa3721cfeb9e9ebd4790989c376a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 4 Oct 2023 02:12:47 +0200 Subject: [PATCH 1901/4087] (#19938) apr-util: bump dependencies and use version range for openssl * bump dependencies and use version range for openssl * fix libdirs in APRUTIL_LDFLAGS env var --- recipes/apr-util/all/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/apr-util/all/conanfile.py b/recipes/apr-util/all/conanfile.py index 86dd0a9fc160c..cdc91defc9dca 100644 --- a/recipes/apr-util/all/conanfile.py +++ b/recipes/apr-util/all/conanfile.py @@ -76,7 +76,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("apr/1.7.0", transitive_headers=True) + self.requires("apr/1.7.4", transitive_headers=True) if self.settings.os != "Windows": #cmake build doesn't allow injection of iconv yet # https://github.com/conan-io/conan-center-index/pull/16142#issuecomment-1494282164 @@ -84,15 +84,15 @@ def requirements(self): # are pulling it in - discovered in https://github.com/conan-io/conan-center-index/pull/16266 self.requires("libiconv/1.17", transitive_libs=True) if self.options.with_openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.with_mysql: - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.43.1") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_postgresql: - self.requires("libpq/14.5") + self.requires("libpq/15.4") def validate(self): if not self.options.with_expat: @@ -210,7 +210,7 @@ def package_info(self): self.runenv_info.define_path("APR_UTIL_ROOT", self.package_folder) deps = [dep for dep in reversed(self.dependencies.host.topological_sort.values())] - libdirs = [p for dep in deps for p in dep.cpp_info.aggregated_components().includedirs] + libdirs = [p for dep in deps for p in dep.cpp_info.aggregated_components().libdirs] aprutil_ldflags = " ".join([f"-L{p}" for p in libdirs]) self.runenv_info.define("APRUTIL_LDFLAGS", aprutil_ldflags) From 70af853087f1488e823505718a163907e9b28a4e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 09:51:38 +0900 Subject: [PATCH 1902/4087] (#20078) libcoro: add version 0.9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libcoro: add version 0.9 * make openssl transitive_headers * link math lib * Update recipes/libcoro/all/conandata.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libcoro/all/conandata.yml | 14 +++++++++++ recipes/libcoro/all/conanfile.py | 23 +++++++++++++++++-- .../patches/0.9-0001-allow-shared-lib.patch | 13 +++++++++++ .../patches/0.9-0002-disable-git-config.patch | 21 +++++++++++++++++ .../patches/0.9-0003-include-exception.patch | 15 ++++++++++++ recipes/libcoro/config.yml | 2 ++ 6 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch create mode 100644 recipes/libcoro/all/patches/0.9-0002-disable-git-config.patch create mode 100644 recipes/libcoro/all/patches/0.9-0003-include-exception.patch diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 61258b10a8ddf..08d79c6bc3667 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.9.tar.gz" + sha256: "680479582023f019bfa58b17bbcd30aa2ef1a8ba2c09d4ea9b296dbc77e93f1f" "0.8": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.8.tar.gz" sha256: "09d8de39c9233d79c0dd1379c6826c636f63667f21001b66eb9b2080f6b270ad" @@ -6,6 +9,17 @@ sources: url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.7.tar.gz" sha256: "ce1f3f1c4fa21b53d1cd195a29bd5a2313e53aa35637b402db04207d02316e51" patches: + "0.9": + - patch_file: "patches/0.9-0001-allow-shared-lib.patch" + patch_type: "conan" + patch_description: "Allow to build the library as a shared library" + - patch_file: "patches/0.9-0002-disable-git-config.patch" + patch_type: "conan" + patch_description: "Comment out invocation of git config command" + - patch_file: "patches/0.9-0003-include-exception.patch" + patch_type: "backport" + patch_source: "https://github.com/jbaldwin/libcoro/pull/169" + patch_description: "include std headers" "0.8": - patch_file: "patches/0.8-0001-allow-shared-lib.patch" patch_type: "conan" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index ea05c701592dc..1117b3d012d2a 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -22,11 +22,15 @@ class LibcoroConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_networking": [True, False], + "with_ssl": [True, False], + "with_threading": [True, False], } default_options = { "shared": False, "fPIC": True, "with_networking": True, + "with_ssl": True, + "with_threading": True, } @property @@ -47,6 +51,9 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "0.8": del self.options.with_networking + if Version(self.version) < "0.9": + del self.options.with_ssl + del self.options.with_threading def configure(self): if self.options.shared: @@ -56,7 +63,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + if "with_ssl" not in self.options or self.options.with_ssl: + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) self.requires("c-ares/1.19.1", transitive_headers=True) self.requires("tl-expected/1.1.0", transitive_headers=True) @@ -84,6 +92,9 @@ def generate(self): if Version(self.version) >= "0.8": tc.variables["LIBCORO_EXTERNAL_DEPENDENCIES"] = True tc.variables["LIBCORO_FEATURE_NETWORKING"] = self.options.with_networking + if Version(self.version) >= "0.9": + tc.variables["LIBCORO_FEATURE_THREADING"] = self.options.with_threading + tc.variables["LIBCORO_FEATURE_SSL"] = self.options.with_ssl tc.generate() deps = CMakeDeps(self) deps.generate() @@ -108,4 +119,12 @@ def package_info(self): else: self.cpp_info.libs = ["libcoro"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread"] + self.cpp_info.system_libs = ["pthread", "m"] + + if Version(self.version) >= "0.9": + if self.options.with_networking: + self.cpp_info.defines.append("LIBCORO_FEATURE_NETWORKING") + if self.options.with_ssl: + self.cpp_info.defines.append("LIBCORO_FEATURE_SSL") + if self.options.with_threading: + self.cpp_info.defines.append("LIBCORO_FEATURE_THREADING") diff --git a/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch new file mode 100644 index 0000000000000..4838c6103aa0f --- /dev/null +++ b/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ef0eea4..4c342e3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -110,7 +110,7 @@ if(LIBCORO_FEATURE_NETWORKING) + endif() + endif() + +-add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) ++add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) + set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) + target_include_directories(${PROJECT_NAME} PUBLIC inc) diff --git a/recipes/libcoro/all/patches/0.9-0002-disable-git-config.patch b/recipes/libcoro/all/patches/0.9-0002-disable-git-config.patch new file mode 100644 index 0000000000000..b169455e6e1ba --- /dev/null +++ b/recipes/libcoro/all/patches/0.9-0002-disable-git-config.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ef0eea4..4c342e3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,11 +12,11 @@ if (NOT "$ENV{version}" STREQUAL "") + endif() + + # Set the githooks directory to auto format and update the readme. +-message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") +-execute_process( +- COMMAND git config --local core.hooksPath .githooks +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +-) ++#message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") ++#execute_process( ++# COMMAND git config --local core.hooksPath .githooks ++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++#) + + option(LIBCORO_EXTERNAL_DEPENDENCIES "Use Cmake find_package to resolve dependencies instead of embedded libraries, Default=OFF." OFF) + option(LIBCORO_BUILD_TESTS "Build the tests, Default=ON." ON) diff --git a/recipes/libcoro/all/patches/0.9-0003-include-exception.patch b/recipes/libcoro/all/patches/0.9-0003-include-exception.patch new file mode 100644 index 0000000000000..eac4b8bc794e6 --- /dev/null +++ b/recipes/libcoro/all/patches/0.9-0003-include-exception.patch @@ -0,0 +1,15 @@ +diff --git a/inc/coro/generator.hpp b/inc/coro/generator.hpp +index ede42d0..b103fb8 100644 +--- a/inc/coro/generator.hpp ++++ b/inc/coro/generator.hpp +@@ -1,8 +1,8 @@ + #pragma once +- + #include + #include +- ++#include ++#include + namespace coro + { + template diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index a836136a32631..77538762e21e7 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.9": + folder: all "0.8": folder: all "0.7": From fd23fdc5ac28fbf0b9c317213686e829c4d3a827 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 10:12:24 +0900 Subject: [PATCH 1903/4087] (#20241) ada: add version 2.6.10 --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/all/conanfile.py | 3 ++- recipes/ada/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 0d566dbc80ea8..509473568c35a 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/all/conanfile.py b/recipes/ada/all/conanfile.py index 4954905b8f7de..68040e8519671 100644 --- a/recipes/ada/all/conanfile.py +++ b/recipes/ada/all/conanfile.py @@ -82,7 +82,8 @@ def generate(self): def _patch_sources(self): # solve APPLE RELOCATABLE SHARED LIBS (KB-H077) - replace_in_file(self, os.path.join(self.source_folder, "cmake", "ada-flags.cmake"), "set(CMAKE_MACOSX_RPATH OFF)", "") + if Version(self.version) < "2.6.10": + replace_in_file(self, os.path.join(self.source_folder, "cmake", "ada-flags.cmake"), "set(CMAKE_MACOSX_RPATH OFF)", "") def build(self): self._patch_sources() diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 2c76fe7baba05..417e43596e194 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.10": + folder: all "2.6.7": folder: all "2.6.4": From 2ba7c25627152a93c078b43eb033e367f24c0bbb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 4 Oct 2023 04:07:38 +0200 Subject: [PATCH 1904/4087] (#20242) onnx: respect protobuf lite option --- 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 7d2738dc5a86a..3f4e49bfd6bc5 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -84,7 +84,7 @@ def generate(self): tc.variables["ONNX_WERROR"] = False tc.variables["ONNX_COVERAGE"] = False tc.variables["ONNX_BUILD_TESTS"] = False - tc.variables["ONNX_USE_LITE_PROTO"] = False + tc.variables["ONNX_USE_LITE_PROTO"] = self.dependencies.host["protobuf"].options.lite tc.variables["ONNX_ML"] = True if Version(self.version) < "1.13.0": tc.variables["ONNXIFI_ENABLE_EXT"] = False From 8e944c28d9bec052af563b1fd2ddc9248503f209 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 4 Oct 2023 04:53:08 +0200 Subject: [PATCH 1905/4087] (#20243) qpdf/all: bump deps --- recipes/qpdf/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qpdf/all/conanfile.py b/recipes/qpdf/all/conanfile.py index 2ec6c272a6287..e97cf90bc30a7 100644 --- a/recipes/qpdf/all/conanfile.py +++ b/recipes/qpdf/all/conanfile.py @@ -68,9 +68,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/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -88,7 +88,7 @@ def validate(self): def build_requirements(self): self.tool_requires("cmake/[>=3.16 <4]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 4d3089e36467cf508cb5e995c00f97695db26b48 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 4 Oct 2023 05:32:29 +0200 Subject: [PATCH 1906/4087] (#20244) libgd/all: bump deps --- recipes/libgd/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 965fc900c6e3b..5776782b6abbc 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -53,15 +53,15 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.with_png: - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") if is_msvc(self): self.requires("getopt-for-visual-studio/20200201") if self.options.with_jpeg: self.requires("libjpeg/9e") if self.options.with_tiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.6.0") if self.options.with_freetype: - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 21d7cc349962dfb67c5e6de39128f24f9fcb4ace Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 13:11:33 +0900 Subject: [PATCH 1907/4087] (#20251) pugixml: add version 1.14 --- recipes/pugixml/all/conandata.yml | 3 +++ recipes/pugixml/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pugixml/all/conandata.yml b/recipes/pugixml/all/conandata.yml index 0e56e7f953dbc..cfdd629e0abb2 100644 --- a/recipes/pugixml/all/conandata.yml +++ b/recipes/pugixml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14": + url: "https://github.com/zeux/pugixml/releases/download/v1.14/pugixml-1.14.tar.gz" + sha256: "2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015" "1.13": url: "https://github.com/zeux/pugixml/releases/download/v1.13/pugixml-1.13.tar.gz" sha256: "40c0b3914ec131485640fa57e55bf1136446026b41db91c1bef678186a12abbe" diff --git a/recipes/pugixml/config.yml b/recipes/pugixml/config.yml index 191cc957e0c3b..384412d36091f 100644 --- a/recipes/pugixml/config.yml +++ b/recipes/pugixml/config.yml @@ -1,4 +1,6 @@ versions: + "1.14": + folder: "all" "1.13": folder: "all" "1.12.1": From b21f628d8e7521ff50710e4e7a6f0dfddc0ddb2f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 4 Oct 2023 06:50:53 +0200 Subject: [PATCH 1908/4087] (#20252) fontconfig/meson: bump deps * fontconfig/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * fontconfig/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/fontconfig/meson/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index 4ae32ba159e75..ab15f87fd4486 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -56,9 +56,9 @@ def requirements(self): def build_requirements(self): self.tool_requires("gperf/3.1") - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.2") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 36dcdcdf16db8073b1eaa9713c4f13532083872e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 4 Oct 2023 07:38:42 +0200 Subject: [PATCH 1909/4087] (#20180) brotli: relocatable shared libs on macOS for 1.1.0 --- recipes/brotli/all/conanfile.py | 5 +++-- recipes/brotli/all/patches/1.1.0-target-props.patch | 10 ++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/recipes/brotli/all/conanfile.py b/recipes/brotli/all/conanfile.py index 7e93d9903056d..47e559afcc649 100644 --- a/recipes/brotli/all/conanfile.py +++ b/recipes/brotli/all/conanfile.py @@ -78,8 +78,9 @@ def generate(self): tc.preprocessor_definitions["BROTLI_DEBUG"] = 1 if self.options.enable_log: tc.preprocessor_definitions["BROTLI_ENABLE_LOG"] = 1 - # To install relocatable shared libs on Macos - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + if Version(self.version) < "1.1.0": + # To install relocatable shared libs on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() def build(self): diff --git a/recipes/brotli/all/patches/1.1.0-target-props.patch b/recipes/brotli/all/patches/1.1.0-target-props.patch index df1e483759f2e..0c9b697569cec 100644 --- a/recipes/brotli/all/patches/1.1.0-target-props.patch +++ b/recipes/brotli/all/patches/1.1.0-target-props.patch @@ -1,15 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 61378cd..4de317b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -112,7 +112,6 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - add_definitions(-DOS_FREEBSD) +@@ -113,7 +113,6 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") add_definitions(-DOS_MACOSX) -- set(CMAKE_MACOS_RPATH TRUE) - set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") + set(CMAKE_MACOS_RPATH TRUE) +- set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") endif() + if(BROTLI_EMSCRIPTEN) @@ -171,14 +170,10 @@ endif() # Build the brotli executable add_executable(brotli c/tools/brotli.c) From b2225b761cbf8f172c51d304ae4abf8c93dfce55 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Wed, 4 Oct 2023 08:53:27 +0200 Subject: [PATCH 1910/4087] (#20295) hictk: add v0.0.3 and bump deps --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/all/conanfile.py | 6 +++++- recipes/hictk/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index accdbdc6e5b48..0a77d0b0f3599 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.3": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.3.tar.gz" + sha256: "f49657b9ef80ef9fa07f125a0b6f056923235c9ea77e19cee312b004384ea39e" "0.0.2": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.2.tar.gz" sha256: "7716711ecb33247d8f79f6768ebbdcf55e51e9b6f962245747b33d0967431427" diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 8f5dc0a67cf84..a654990739eee 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -39,15 +39,19 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + self.requires("bshoshany-thread-pool/3.5.0", transitive_headers=True) self.requires("fast_float/5.2.0", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) - self.requires("fmt/10.1.0", transitive_headers=True) + self.requires("fmt/10.1.1", transitive_headers=True) self.requires("hdf5/1.14.1", transitive_headers=True) self.requires("highfive/2.7.1", transitive_headers=True) self.requires("libdeflate/1.18", transitive_headers=True) self.requires("parallel-hashmap/1.3.11", transitive_headers=True) + self.requires("span-lite/0.10.3", transitive_headers=True) self.requires("spdlog/1.12.0", transitive_headers=True) + self.requires("xxhash/0.8.2", transitive_headers=True) + self.requires("zstd/1.5.5", transitive_headers=True) def package_id(self): self.info.clear() diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 05473f80b3130..ff35624c14df5 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.3": + folder: all "0.0.2": folder: all "0.0.1": From fc68f16d9c17db21db108f6dc16d61e2436d2047 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 4 Oct 2023 09:46:25 +0200 Subject: [PATCH 1911/4087] (#20177) pupnp: relocatable shared libs on macOS Co-authored-by: Uilian Ries --- recipes/pupnp/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/pupnp/all/conanfile.py b/recipes/pupnp/all/conanfile.py index ec9c1261d9bac..eda427ac46bf0 100644 --- a/recipes/pupnp/all/conanfile.py +++ b/recipes/pupnp/all/conanfile.py @@ -2,6 +2,7 @@ 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 from conan.tools.gnu import Autotools, AutotoolsToolchain @@ -114,6 +115,7 @@ def package(self): autotools.install() 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.set_property("pkg_config_name", "libupnp") From ac5617a60d588a35178104c09f30801379fd200b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 11:42:45 +0300 Subject: [PATCH 1912/4087] (#18253) kitten: migrate to Conan v2 * kitten: migrate to Conan v2 * kitten: restore test_v1_package * kitten: restore VirtualRunEnv in test_package --- recipes/kitten/all/CMakeLists.txt | 7 -- recipes/kitten/all/conanfile.py | 77 +++++++++---------- .../kitten/all/test_package/CMakeLists.txt | 5 +- recipes/kitten/all/test_package/conanfile.py | 19 +++-- .../kitten/all/test_package/test_package.cpp | 9 ++- .../kitten/all/test_v1_package/CMakeLists.txt | 8 ++ .../kitten/all/test_v1_package/conanfile.py | 17 ++++ 7 files changed, 82 insertions(+), 60 deletions(-) delete mode 100644 recipes/kitten/all/CMakeLists.txt create mode 100644 recipes/kitten/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/kitten/all/test_v1_package/conanfile.py diff --git a/recipes/kitten/all/CMakeLists.txt b/recipes/kitten/all/CMakeLists.txt deleted file mode 100644 index d17aaff199b4a..0000000000000 --- a/recipes/kitten/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/kitten/all/conanfile.py b/recipes/kitten/all/conanfile.py index 7db05a55fbcac..04b20a94ca5f9 100644 --- a/recipes/kitten/all/conanfile.py +++ b/recipes/kitten/all/conanfile.py @@ -1,28 +1,30 @@ -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 copy, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class KittenConan(ConanFile): name = "kitten" description = "A small C++ library inspired by Category Theory focused on functional composition." - homepage = "https://github.com/rvarago/kitten" - url = "https://github.com/conan-io/conan-center-index" license = "MIT" - topics = ("category-theory", "composition", "monadic-interface", "declarative-programming") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/rvarago/kitten" + topics = ("category-theory", "composition", "monadic-interface", "declarative-programming", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True - exports_sources = "CMakeLists.txt" - generators = "cmake" - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property def _minimum_compilers_version(self): @@ -33,50 +35,46 @@ def _minimum_compilers_version(self): "apple-clang": "10", } + 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"): - tools.check_min_cppstd(self, 17) - - 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] + check_min_cppstd(self, self._min_cppstd) min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if min_version and loose_lt_semver(str(self.settings.compiler.version), min_version): - raise ConanInvalidConfiguration( - "{} requires C++17, which your compiler does not support.".format(self.name) - ) - - def package_id(self): - self.info.header_only() + if min_version and Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, which your compiler does not support.") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_TESTS"] = False - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTS"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + 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, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "kitten") self.cpp_info.set_property("cmake_target_name", "rvarago::kitten") + self.cpp_info.components["libkitten"].set_property("cmake_target_name", "rvarago::kitten") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "kitten" @@ -85,4 +83,3 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "rvarago" self.cpp_info.components["libkitten"].names["cmake_find_package"] = "kitten" self.cpp_info.components["libkitten"].names["cmake_find_package_multi"] = "kitten" - self.cpp_info.components["libkitten"].set_property("cmake_target_name", "rvarago::kitten") diff --git a/recipes/kitten/all/test_package/CMakeLists.txt b/recipes/kitten/all/test_package/CMakeLists.txt index 60b5b3b426db6..8f30ef6f01138 100644 --- a/recipes/kitten/all/test_package/CMakeLists.txt +++ b/recipes/kitten/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(kitten REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/kitten/all/test_package/conanfile.py b/recipes/kitten/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/kitten/all/test_package/conanfile.py +++ b/recipes/kitten/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/kitten/all/test_package/test_package.cpp b/recipes/kitten/all/test_package/test_package.cpp index 8ddfae2423dd7..50559e2a32b1d 100644 --- a/recipes/kitten/all/test_package/test_package.cpp +++ b/recipes/kitten/all/test_package/test_package.cpp @@ -1,14 +1,15 @@ +#include "kitten/instances/optional.h" +#include "kitten/kitten.h" + #include #include -#include "kitten/kitten.h" -#include "kitten/instances/optional.h" - using namespace rvarago::kitten; int main() { auto constexpr maybe_an_approximate_answer = std::optional{41}; - auto constexpr exact_answer = (maybe_an_approximate_answer | [](auto const& el) { return el + 1; }).value(); + auto constexpr exact_answer = + (maybe_an_approximate_answer | [](auto const& el) { return el + 1; }).value(); static_assert(42 == exact_answer); std::cout << "rvarago::kitten works! The exact answer is: " << exact_answer << '\n'; return 0; diff --git a/recipes/kitten/all/test_v1_package/CMakeLists.txt b/recipes/kitten/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/kitten/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/kitten/all/test_v1_package/conanfile.py b/recipes/kitten/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/kitten/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 64a40904e0460ce8ff6cf1f9b64fe640bc400ceb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 11:49:55 +0300 Subject: [PATCH 1913/4087] (#18356) so5extra: migrate to Conan v2 * so5extra: migrate to Conan v2 * so5extra: restore test_v1_package * so5extra: restore VirtualRunEnv in test_package * so5extra: bump deps --- recipes/so5extra/all/conanfile.py | 83 +++++++++++-------- .../so5extra/all/test_package/CMakeLists.txt | 5 +- .../so5extra/all/test_package/conanfile.py | 19 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../so5extra/all/test_v1_package/conanfile.py | 17 ++++ 5 files changed, 89 insertions(+), 43 deletions(-) create mode 100644 recipes/so5extra/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/so5extra/all/test_v1_package/conanfile.py diff --git a/recipes/so5extra/all/conanfile.py b/recipes/so5extra/all/conanfile.py index 080aef9395558..57a11fc2bf146 100644 --- a/recipes/so5extra/all/conanfile.py +++ b/recipes/so5extra/all/conanfile.py @@ -1,63 +1,80 @@ -from conans import ConanFile, 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.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class So5extraConan(ConanFile): name = "so5extra" + description = "A collection of various SObjectizer's extensions." license = "BSD-3-Clause" - homepage = "https://github.com/Stiffstream/so5extra" url = "https://github.com/conan-io/conan-center-index" - description = "A collection of various SObjectizer's extensions." - topics = ("concurrency", "actor-framework", "actors", "agents", "sobjectizer") + homepage = "https://github.com/Stiffstream/so5extra" + topics = ("concurrency", "actor-framework", "actors", "agents", "sobjectizer", "header-only") + + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 - def requirements(self): - self.requires("sobjectizer/5.7.4") - - def validate(self): - minimal_cpp_standard = "17" - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { + @property + def _compilers_minimum_version(self): + return { "gcc": "7", "clang": "6", "apple-clang": "10", - "Visual Studio": "15" + "Visual Studio": "15", } - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) - self.output.warn( - "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) - return - version = tools.Version(self.settings.compiler.version) - if version < minimal_version[compiler]: - raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("sobjectizer/5.8.0") def package_id(self): - self.info.header_only() + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + compiler = str(self.settings.compiler) + if compiler not in self._compilers_minimum_version: + self.output.warning(f"{self.name} recipe lacks information about the {compiler} compiler standard version support") + self.output.warning(f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") + return + version = Version(self.settings.compiler.version) + if version < self._compilers_minimum_version[compiler]: + raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") 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 package(self): - self.copy("*.hpp", dst="include/so_5_extra", src=os.path.join(self._source_subfolder, "dev", "so_5_extra")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include/so_5_extra"), + src=os.path.join(self.source_folder, "dev", "so_5_extra")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "so5extra") self.cpp_info.set_property("cmake_target_name", "sobjectizer::so5extra") + self.cpp_info.components["so_5_extra"].set_property("cmake_target_name", "sobjectizer::so5extra") + self.cpp_info.components["so_5_extra"].requires = ["sobjectizer::sobjectizer"] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "so5extra" @@ -66,5 +83,3 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "sobjectizer" self.cpp_info.components["so_5_extra"].names["cmake_find_package"] = "so5extra" self.cpp_info.components["so_5_extra"].names["cmake_find_package_multi"] = "so5extra" - self.cpp_info.components["so_5_extra"].set_property("cmake_target_name", "sobjectizer::so5extra") - self.cpp_info.components["so_5_extra"].requires = ["sobjectizer::sobjectizer"] diff --git a/recipes/so5extra/all/test_package/CMakeLists.txt b/recipes/so5extra/all/test_package/CMakeLists.txt index 933e0f59b04bd..6797a4d254c0a 100644 --- a/recipes/so5extra/all/test_package/CMakeLists.txt +++ b/recipes/so5extra/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(so5extra REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/so5extra/all/test_package/conanfile.py b/recipes/so5extra/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/so5extra/all/test_package/conanfile.py +++ b/recipes/so5extra/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/so5extra/all/test_v1_package/CMakeLists.txt b/recipes/so5extra/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/so5extra/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/so5extra/all/test_v1_package/conanfile.py b/recipes/so5extra/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/so5extra/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 437cf83dd36bf972f9289f192a2d1125af32ff47 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 13:28:36 +0300 Subject: [PATCH 1914/4087] (#18360) libxpm: migrate to Conan v2 * libxpm: migrate to Conan v2 * libxpm: restore test_v1_package * libxpm: not a header-only library * libxpm: remove duplicate source file * libxpm: fix windows/ export * libxpm: add VirtualRunEnv --- recipes/libxpm/all/CMakeLists.txt | 3 - recipes/libxpm/all/conanfile.py | 73 +++++++++++-------- .../libxpm/all/test_package/CMakeLists.txt | 5 +- recipes/libxpm/all/test_package/conanfile.py | 20 +++-- .../libxpm/all/test_package/test_package.c | 6 +- .../libxpm/all/test_v1_package/CMakeLists.txt | 8 ++ .../libxpm/all/test_v1_package/conanfile.py | 18 +++++ 7 files changed, 86 insertions(+), 47 deletions(-) create mode 100644 recipes/libxpm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libxpm/all/test_v1_package/conanfile.py diff --git a/recipes/libxpm/all/CMakeLists.txt b/recipes/libxpm/all/CMakeLists.txt index 77475adeda3d9..681dd5c613eec 100644 --- a/recipes/libxpm/all/CMakeLists.txt +++ b/recipes/libxpm/all/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.1) project(libXpm VERSION "${CONAN_libXpm_VERSION}" LANGUAGES C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - # ---- X11 dependency ---- if(NOT WIN32) diff --git a/recipes/libxpm/all/conanfile.py b/recipes/libxpm/all/conanfile.py index 63d51162a71f7..0312deadc10a9 100644 --- a/recipes/libxpm/all/conanfile.py +++ b/recipes/libxpm/all/conanfile.py @@ -1,19 +1,22 @@ -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 LibXpmConan(ConanFile): name = "libxpm" description = "X Pixmap (XPM) image file format library" + license = "MIT-open-group" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.freedesktop.org/xorg/lib/libxpm" - topics = "xpm" - license = "MIT-open-group" + topics = ("xpm",) + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -23,18 +26,15 @@ class LibXpmConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake" - exports_sources = "CMakeLists.txt", "windows/*" no_copy_source = True - def validate(self): - if self.settings.os not in ("Windows", "Linux", "FreeBSD"): - raise ConanInvalidConfiguration( - "libXpm is supported only on Windows, Linux and FreeBSD" - ) - - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=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")) def config_options(self): if self.settings.os == "Windows": @@ -42,28 +42,43 @@ 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): if self.settings.os != "Windows": self.requires("xorg/system") - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CONAN_libXpm_VERSION"] = self.version - cmake.configure() - return cmake + def validate(self): + if self.settings.os not in ("Windows", "Linux", "FreeBSD"): + raise ConanInvalidConfiguration("libXpm is supported only on Windows, Linux and FreeBSD") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CONAN_libXpm_VERSION"] = self.version + tc.generate() def build(self): - self._configure_cmake().build() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("COPYING", "licenses") - self.copy("COPYRIGHT", "licenses") - self._configure_cmake().install() + copy(self, "COPYING", + 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) + cmake = CMake(self) + cmake.install() def package_info(self): self.cpp_info.libs = ["Xpm"] diff --git a/recipes/libxpm/all/test_package/CMakeLists.txt b/recipes/libxpm/all/test_package/CMakeLists.txt index 0ea6d5bc37b28..1f28dfc6ff753 100644 --- a/recipes/libxpm/all/test_package/CMakeLists.txt +++ b/recipes/libxpm/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(libxpm REQUIRED CONFIG) add_executable(test_package test_package.c) diff --git a/recipes/libxpm/all/test_package/conanfile.py b/recipes/libxpm/all/test_package/conanfile.py index a8c92dea63335..ef5d7042163ec 100644 --- a/recipes/libxpm/all/test_package/conanfile.py +++ b/recipes/libxpm/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 = "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) @@ -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/libxpm/all/test_package/test_package.c b/recipes/libxpm/all/test_package/test_package.c index ed1efad8c383c..925df166533ce 100644 --- a/recipes/libxpm/all/test_package/test_package.c +++ b/recipes/libxpm/all/test_package/test_package.c @@ -1,12 +1,8 @@ #include #include -int main(int argc, char const* argv[]) +int main() { - (void)argc; - (void)argv; - XpmFree(NULL); - return 0; } diff --git a/recipes/libxpm/all/test_v1_package/CMakeLists.txt b/recipes/libxpm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libxpm/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/libxpm/all/test_v1_package/conanfile.py b/recipes/libxpm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a8c92dea63335 --- /dev/null +++ b/recipes/libxpm/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) From 763cfb61f1410a87df581961fa3f916396016592 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 14:27:38 +0300 Subject: [PATCH 1915/4087] (#18824) libbasisu: migrate to Conan v2 * libbasisu: migrate to Conan v2 * libbasisu: restore VirtualRunEnv in test_package * libbasisu: fix zstd linking, shared build C source files were not being compiled due to missing "LANGUAGES C" in CMakeLists.txt. --- recipes/libbasisu/all/CMakeLists.txt | 7 - recipes/libbasisu/all/conandata.yml | 1 - recipes/libbasisu/all/conanfile.py | 159 ++++++++++-------- .../all/patches/cmakelist_build_lib.patch | 12 +- .../libbasisu/all/test_package/CMakeLists.txt | 10 +- .../libbasisu/all/test_package/conanfile.py | 21 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 8 files changed, 142 insertions(+), 93 deletions(-) delete mode 100644 recipes/libbasisu/all/CMakeLists.txt create mode 100644 recipes/libbasisu/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libbasisu/all/test_v1_package/conanfile.py diff --git a/recipes/libbasisu/all/CMakeLists.txt b/recipes/libbasisu/all/CMakeLists.txt deleted file mode 100644 index bd4164cb5c1c7..0000000000000 --- a/recipes/libbasisu/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libbasisu/all/conandata.yml b/recipes/libbasisu/all/conandata.yml index 7cca98d66479b..7f4a8cfdd695f 100644 --- a/recipes/libbasisu/all/conandata.yml +++ b/recipes/libbasisu/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "1.15.0": - patch_file: "patches/cmakelist_build_lib.patch" - base_path: "source_subfolder" diff --git a/recipes/libbasisu/all/conanfile.py b/recipes/libbasisu/all/conanfile.py index 6dfaf4ee7f3de..2c8606aca448a 100644 --- a/recipes/libbasisu/all/conanfile.py +++ b/recipes/libbasisu/all/conanfile.py @@ -1,114 +1,133 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class LibBasisUniversalConan(ConanFile): name = "libbasisu" description = "Basis Universal Supercompressed GPU Texture Codec" - homepage = "https://github.com/BinomialLLC/basis_universal" - topics = ("conan", "basis", "textures", "compression") - url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" - exports_sources = ["CMakeLists.txt", "patches/*"] - generators = "cmake" - settings = "os", "compiler", "build_type", "arch" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/BinomialLLC/basis_universal" + topics = ("basis", "textures", "compression") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { - "fPIC": [True, False], "shared": [True, False], + "fPIC": [True, False], "use_sse4": [True, False], "with_zstd": [True, False], "enable_encoder": [True, False], - "custom_iterator_debug_level": [True, False] + "custom_iterator_debug_level": [True, False], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, "use_sse4": False, "with_zstd": True, "enable_encoder": True, - "custom_iterator_debug_level": False + "custom_iterator_debug_level": False, } - _cmake = None + def _minimum_compiler_version(self): + return { + "Visual Studio": "15", + "gcc": "5.4", + "clang": "3.9", + "apple-clang": "10", + } - @property - def _source_subfolder(self): - return "source_subfolder" + def _use_custom_iterator_debug_level(self): + return self.options.get_safe("custom_iterator_debug_level", + default=self.default_options["custom_iterator_debug_level"]) - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) - def _use_custom_iterator_debug_level(self): - return self.options.get_safe("custom_iterator_debug_level", default=self.default_options["custom_iterator_debug_level"]) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.compiler != "Visual Studio": - del self.options.custom_iterator_debug_level + if not is_msvc(self): + self.options.rm_safe("custom_iterator_debug_level") - def _minimum_compiler_version(self) -> bool: - return { - "Visual Studio": "15", - "gcc": "5.4", - "clang": "3.9", - "apple-clang": "10" - } + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def requirements(self): + if self.options.with_zstd: + self.requires("zstd/1.5.5") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): 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)) - elif tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} {} does not support compiler with version {} {}, minimum supported compiler version is {} ".format(self.name, self.version, self.settings.compiler, self.settings.compiler.version, min_version)) + self.output.warning( + f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support." + ) + elif Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} {self.version} does not support compiler with version" + f" {self.settings.compiler} {self.settings.compiler.version}, minimum supported compiler" + f" version is {min_version} " + ) if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) - - def configure(self): - if self.options.shared: - del self.options.fPIC + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["SSE4"] = self.options.use_sse4 - self._cmake.definitions["ZSTD"] = self.options.with_zstd - self._cmake.definitions["ENABLE_ENCODER"] = self.options.enable_encoder - self._cmake.definitions["NO_ITERATOR_DEBUG_LEVEL"] = not self._use_custom_iterator_debug_level() - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SSE4"] = self.options.use_sse4 + tc.variables["ZSTD"] = self.options.with_zstd + tc.variables["ENABLE_ENCODER"] = self.options.enable_encoder + tc.variables["NO_ITERATOR_DEBUG_LEVEL"] = not self._use_custom_iterator_debug_level() + tc.generate() + tc = CMakeDeps(self) + tc.generate() + def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("*.h", dst=os.path.join("include", self.name, "transcoder"), src=os.path.join(self._source_subfolder, "transcoder")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include", self.name, "transcoder"), + src=os.path.join(self.source_folder, "transcoder")) if self.options.enable_encoder: - self.copy("*.h", dst=os.path.join("include", self.name, "encoder"), src=os.path.join(self._source_subfolder, "encoder")) - self.copy(pattern="*.a", dst="lib", keep_path=False) - self.copy(pattern="*.so", dst="lib", keep_path=False) - self.copy(pattern="*.dylib*", dst="lib", keep_path=False) - self.copy(pattern="*.lib", dst="lib", keep_path=False) - self.copy(pattern="*.dll", dst="bin", keep_path=False) + copy(self,"*.h", + dst=os.path.join(self.package_folder, "include", self.name, "encoder"), + src=os.path.join(self.source_folder, "encoder")) + for pattern in ["*.a", "*.so*", "*.dylib*", "*.lib"]: + copy(self, pattern, + 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 = tools.collect_libs(self) - self.cpp_info.names["cmake_find_package"] = self.name - self.cpp_info.names["cmake_find_package_multi"] = self.name + self.cpp_info.libs = collect_libs(self) self.cpp_info.includedirs = ["include", os.path.join("include", self.name)] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m", "pthread"] - self.cpp_info.defines.append("BASISU_NO_ITERATOR_DEBUG_LEVEL={}".format("1" if self._use_custom_iterator_debug_level() else "0")) + self.cpp_info.defines.append( + "BASISU_NO_ITERATOR_DEBUG_LEVEL={}".format("1" if self._use_custom_iterator_debug_level() else "0") + ) diff --git a/recipes/libbasisu/all/patches/cmakelist_build_lib.patch b/recipes/libbasisu/all/patches/cmakelist_build_lib.patch index 043a9778c605d..69bef6820b138 100644 --- a/recipes/libbasisu/all/patches/cmakelist_build_lib.patch +++ b/recipes/libbasisu/all/patches/cmakelist_build_lib.patch @@ -17,7 +17,7 @@ -if( NOT CMAKE_BUILD_TYPE ) - set( CMAKE_BUILD_TYPE Release ) -endif() -+project(basisu VERSION 1.15.0 LANGUAGES CXX) ++project(basisu VERSION 1.15.0 LANGUAGES CXX C) -message( ${PROJECT_NAME} " build type: " ${CMAKE_BUILD_TYPE} ) - @@ -55,7 +55,7 @@ - if (NOT BUILD_X64) - set(GCC_COMPILE_FLAGS "${GCC_COMPILE_FLAGS} -m32") - endif() -+ set(GCC_COMPILE_FLAGS "-fPIC -fno-strict-aliasing -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wno-unused-local-typedefs -Wno-unused-value -Wno-unused-parameter -Wno-unused-variable") ++ set(GCC_COMPILE_FLAGS "-fno-strict-aliasing -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wno-unused-local-typedefs -Wno-unused-value -Wno-unused-parameter -Wno-unused-variable") - if (EMSCRIPTEN) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -DBASISU_SUPPORT_SSE=0") @@ -99,7 +99,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=1") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=1") else() -@@ -93,64 +51,57 @@ else() +@@ -93,64 +51,63 @@ else() endif() endif() @@ -173,6 +173,12 @@ if (ZSTD) - target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1) + target_compile_definitions(${PROJECT_NAME} PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1) ++ find_package(zstd REQUIRED) ++ if (TARGET zstd::libzstd_static) ++ target_link_libraries(${PROJECT_NAME} PRIVATE zstd::libzstd_static) ++ else() ++ target_link_libraries(${PROJECT_NAME} PRIVATE zstd::libzstd_shared) ++ endif() else() - target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) + target_compile_definitions(${PROJECT_NAME} PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) diff --git a/recipes/libbasisu/all/test_package/CMakeLists.txt b/recipes/libbasisu/all/test_package/CMakeLists.txt index 2adca01f3e68a..e4b4ddeb886b6 100644 --- a/recipes/libbasisu/all/test_package/CMakeLists.txt +++ b/recipes/libbasisu/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.10) -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(libbasisu REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) - -target_link_libraries(${PROJECT_NAME} PRIVATE CONAN_PKG::libbasisu) +target_link_libraries(${PROJECT_NAME} PRIVATE libbasisu::libbasisu) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/libbasisu/all/test_package/conanfile.py b/recipes/libbasisu/all/test_package/conanfile.py index 12dd810a6ab3b..ef5d7042163ec 100644 --- a/recipes/libbasisu/all/test_package/conanfile.py +++ b/recipes/libbasisu/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + 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/libbasisu/all/test_v1_package/CMakeLists.txt b/recipes/libbasisu/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libbasisu/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/libbasisu/all/test_v1_package/conanfile.py b/recipes/libbasisu/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..abcaeed3f89b6 --- /dev/null +++ b/recipes/libbasisu/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 071a19e039f8a60bbe148e4d80e4aaea3eba4638 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 15:16:04 +0300 Subject: [PATCH 1916/4087] (#20303) picobench: add version 2.05 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/picobench/all/conandata.yml | 7 +++++++ recipes/picobench/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/picobench/all/conandata.yml b/recipes/picobench/all/conandata.yml index 0bbacb7273fdf..f6484b7236c42 100644 --- a/recipes/picobench/all/conandata.yml +++ b/recipes/picobench/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.05": + url: "https://github.com/iboB/picobench/archive/v2.05.tar.gz" + sha256: "4e10c3c7042c0519662565eed8949f5eb328333d2c9a2443464dede04ce0b00d" "2.02": url: "https://github.com/iboB/picobench/archive/refs/tags/v2.02.tar.gz" sha256: "22a896535d0e2fd8793cdc6c14bef42275f8de8d24ce2cfc55442ed1e0973c83" @@ -6,6 +9,10 @@ sources: url: "https://github.com/iboB/picobench/archive/refs/tags/v2.01.tar.gz" sha256: "164cb3b2d72a9b31e7559f6829ae38b6b955840571531117e0d6f53d669d3a2b" patches: + "2.05": + - patch_file: "patches/2.02-0001-add-install.patch" + patch_description: "add installer" + patch_type: "conan" "2.02": - patch_file: "patches/2.02-0001-add-install.patch" patch_description: "add installer" diff --git a/recipes/picobench/config.yml b/recipes/picobench/config.yml index d9b367577730d..eb0d152fc4aa2 100644 --- a/recipes/picobench/config.yml +++ b/recipes/picobench/config.yml @@ -1,4 +1,6 @@ versions: + "2.05": + folder: all "2.02": folder: all "2.01": From 1a59abc920234a500da049748b9bb7524b7ddfad Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 15:55:04 +0300 Subject: [PATCH 1917/4087] (#20307) libmorton: add version 0.2.12 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libmorton/all/conandata.yml | 3 +++ recipes/libmorton/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmorton/all/conandata.yml b/recipes/libmorton/all/conandata.yml index 388df27940d46..db08154a617a3 100644 --- a/recipes/libmorton/all/conandata.yml +++ b/recipes/libmorton/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.12": + url: "https://github.com/Forceflow/libmorton/archive/v0.2.12.tar.gz" + sha256: "48ec3e4ad1d9348052dcb64bff012ff95db226da3fec5522ae6e674fabbd686f" "0.2.11": url: "https://github.com/Forceflow/libmorton/archive/refs/tags/v0.2.11.tar.gz" sha256: "3650ce8eb3deee28bc580e5bb1594fe07f7a33aa2531490bf09b5ab8207d55f6" diff --git a/recipes/libmorton/config.yml b/recipes/libmorton/config.yml index 88387c424a149..056827a88e63b 100644 --- a/recipes/libmorton/config.yml +++ b/recipes/libmorton/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.12": + folder: all "0.2.11": folder: all "0.2.10": From 2a2069643e1f3e06e7d163bd8c74b2a9770a50ee Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 22:35:31 +0900 Subject: [PATCH 1918/4087] (#20337) glaze: add version 1.5.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 d4df74aaa8ab0..06afa0bf6a87b 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.2": + url: "https://github.com/stephenberry/glaze/archive/v1.5.2.tar.gz" + sha256: "d9dff3570ae479123b8eadb890db41255c6c0c74c4cdb1b9ca3d1eb73f8ca5eb" "1.5.1": url: "https://github.com/stephenberry/glaze/archive/v1.5.1.tar.gz" sha256: "b119b0375d13ab34ebc156e1c12eacc65e7f4c8b0cfcf6ae93e8fe18744d1ad5" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index bac143c8ee8f3..37445784d6356 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.2": + folder: all "1.5.1": folder: all "1.5.0": From 49f3dcea02f289f0578a9bea5865f4438c781643 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 4 Oct 2023 16:42:47 +0200 Subject: [PATCH 1919/4087] (#20291) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index bd4640c99ef65..fc3d9282a9ef7 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -37,6 +37,7 @@ required_for_references: - args-parser - argtable2 - argtable3 +- armadillo - arrow - arsenalgear - artery-font-format @@ -81,6 +82,7 @@ required_for_references: - bazel - bdwgc - bear +- beauty - benchmark - bertrand - bgfx @@ -133,6 +135,7 @@ required_for_references: - catch2 - ccache - cccl +- ccfits - cctz - cd3-boost-unit-definitions - celero @@ -148,6 +151,7 @@ required_for_references: - charls - chef-fun - chipmunk2d +- choc - cimg - circularbuffer - cista @@ -162,10 +166,12 @@ required_for_references: - clipper2 - clove-unit - cmake +- cminpack - cmocka - cmp - cn-cbor - cnpy +- cocoyaxi - coin-cgl - coin-clp - coin-lemon @@ -176,6 +182,7 @@ required_for_references: - concurrentqueue - console_bridge - continuable +- coost - corrade - cotila - cpp-httplib @@ -205,6 +212,7 @@ required_for_references: - cpuinfo - cqrlib - crc32c +- crc_cpp - create-dmg - croncpp - crowcpp-crow @@ -215,6 +223,7 @@ required_for_references: - cspice - csvmonkey - ctml +- ctpg - ctre - cub - cubicinterpolation @@ -328,6 +337,9 @@ required_for_references: - flecs - flex - fltk +- fmi1 +- fmi2 +- fmi3 - fmt - fmtlog - fontconfig @@ -345,6 +357,7 @@ required_for_references: - freexl - fribidi - frozen +- frugally-deep - fruit - ftxui - function2 @@ -501,6 +514,7 @@ required_for_references: - ktx - kuba-zip - laszip +- lazycsv - lcms - ldns - lefticus-tools @@ -511,6 +525,7 @@ required_for_references: - lest - leveldb - lexbor +- libaesgm - libaio - libalsa - libaom-av1 @@ -522,6 +537,7 @@ required_for_references: - libb2 - libbacktrace - libbigwig +- libbpf - libbsd - libcap - libcbor @@ -602,6 +618,7 @@ required_for_references: - libnoise - libnop - libnova +- libnpy - libnuma - libpcap - libpciaccess @@ -792,6 +809,7 @@ required_for_references: - newmat - nextsilicon-cpp-subprocess - nfrechette-acl +- nghttp3 - ninja - nlohmann_json - nlopt @@ -816,6 +834,7 @@ required_for_references: - octo-encryption-cpp - octo-keygen-cpp - octo-logger-cpp +- octo-wildcardmatching-cpp - octomap - odbc - ode @@ -1027,6 +1046,7 @@ required_for_references: - sentry-crashpad - sentry-native - seqan +- seqan3 - serd - serdepp - sfml @@ -1069,6 +1089,7 @@ required_for_references: - sqlpp11 - squirrel - ssht +- ssp - st_tree - statslib - status-code @@ -1081,6 +1102,7 @@ required_for_references: - streamvbyte - string-view-lite - stringtoolbox +- stringzilla - strong_type - structopt - sundials From 60fa2611242221daf7ee99acc5b836c703022103 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 18:05:35 +0300 Subject: [PATCH 1920/4087] (#18344) resource_pool: migrate to Conan v2 * resource_pool: migrate to Conan v2 * resource_pool: bump boost to v1.79 Highest version resource_pool/cci.20210322 works with. * resource_pool: restore test_v1_package * Update recipes/resource_pool/all/conanfile.py * resource_pool: fix incorrect imports * resource_pool: use cmake_find_package_multi for v1 * resource_pool: use correct CMake target * resource_pool: remove accidental version attribute * resource_pool: restore VirtualRunEnv in test_package * resource_pool: Use a fixed Boost version instead of a range * resource_pool: fix boost dep --- recipes/resource_pool/all/conanfile.py | 80 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 23 ++++-- .../resource_pool/all/test_package/coro.cc | 6 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 92 insertions(+), 49 deletions(-) create mode 100644 recipes/resource_pool/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/resource_pool/all/test_v1_package/conanfile.py diff --git a/recipes/resource_pool/all/conanfile.py b/recipes/resource_pool/all/conanfile.py index 0e8accc6eec6a..fc3ecee6a8761 100644 --- a/recipes/resource_pool/all/conanfile.py +++ b/recipes/resource_pool/all/conanfile.py @@ -1,32 +1,30 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from conans.tools import check_min_cppstd import os -import glob + +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 ResourcePool(ConanFile): name = "resource_pool" description = "C++ header only library purposed to create pool of some resources like keepalive connections" - topics = ("conan", "resource pool", "resource_pool", "asio", "elsid", "c++17", "cpp17") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "http://github.com/elsid/resource_pool" - license = "MIT" + topics = ("resource pool", "asio", "elsid", "c++17", "cpp17", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - requires = ( - "boost/1.75.0" - ) - generators = "cmake_find_package" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -37,44 +35,56 @@ def _compilers_minimum_version(self): "apple-clang": "10", } - def _validate_compiler_settings(self): + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + # Only compatible with Boost up to v1.79 + self.requires("boost/1.79.0") + + def package_id(self): + self.info.clear() + + def validate(self): compiler = self.settings.compiler if compiler.get_safe("cppstd"): - check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("resource_pool requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(self.settings.compiler.version) < minimum_version: + self.output.warning("resource_pool requires C++17. Your compiler is unknown. Assuming it supports C++17.") + elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("resource_pool requires a compiler that supports at least C++17") - def validate(self): - self._validate_compiler_settings() - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob(self.name + "-*/")[0] - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="*", dst=os.path.join("include", "yamail"), src=os.path.join(self._source_subfolder, "include", "yamail")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "include", "yamail"), + src=os.path.join(self.source_folder, "include", "yamail")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + main_comp = self.cpp_info.components["_resource_pool"] main_comp.requires = ["boost::boost", "boost::system", "boost::thread"] main_comp.defines = ["BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT"] - main_comp.names["cmake_find_package"] = "resource_pool" - main_comp.names["cmake_find_package_multi"] = "resource_pool" if self.settings.os == "Windows": main_comp.system_libs.append("ws2_32") - # Set up for compatibility with existing cmake configuration + # Set up for compatibility with existing cmake configuration: + # https://github.com/elsid/resource_pool/blob/3ea1f95/examples/CMakeLists.txt#L6C34-L6C54 + self.cpp_info.set_property("cmake_target_name", "elsid::resource_pool") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "resource_pool" self.cpp_info.filenames["cmake_find_package_multi"] = "resource_pool" self.cpp_info.names["cmake_find_package"] = "elsid" self.cpp_info.names["cmake_find_package_multi"] = "elsid" + main_comp.names["cmake_find_package"] = "resource_pool" + main_comp.names["cmake_find_package_multi"] = "resource_pool" diff --git a/recipes/resource_pool/all/test_package/CMakeLists.txt b/recipes/resource_pool/all/test_package/CMakeLists.txt index 6e5e189f75c43..e10fab1825ee4 100644 --- a/recipes/resource_pool/all/test_package/CMakeLists.txt +++ b/recipes/resource_pool/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -find_package(resource_pool REQUIRED) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(resource_pool REQUIRED CONFIG) add_executable(example coro.cc) target_compile_features(example PRIVATE cxx_std_17) diff --git a/recipes/resource_pool/all/test_package/conanfile.py b/recipes/resource_pool/all/test_package/conanfile.py index 2f970874682b0..8d52b7021efe1 100644 --- a/recipes/resource_pool/all/test_package/conanfile.py +++ b/recipes/resource_pool/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class ResourcePoolTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package", "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "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/resource_pool/all/test_package/coro.cc b/recipes/resource_pool/all/test_package/coro.cc index 0e0b304948775..88ad6ceb45f48 100644 --- a/recipes/resource_pool/all/test_package/coro.cc +++ b/recipes/resource_pool/all/test_package/coro.cc @@ -7,12 +7,14 @@ using ofstream_pool = yamail::resource_pool::async::pool>; using time_traits = yamail::resource_pool::time_traits; -struct null_buffer : std::streambuf { int overflow(int c) override { return c; } } null_buf; +struct null_buffer : std::streambuf { + int overflow(int c) override { return c; } +} null_buf; int main() { boost::asio::io_context service; ofstream_pool pool(1, 10); - boost::asio::spawn(service, [&](boost::asio::yield_context yield){ + boost::asio::spawn(service, [&](boost::asio::yield_context yield) { boost::system::error_code ec; auto handle = pool.get_auto_waste(service, yield[ec], time_traits::duration::max()); if (ec) { diff --git a/recipes/resource_pool/all/test_v1_package/CMakeLists.txt b/recipes/resource_pool/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/resource_pool/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/resource_pool/all/test_v1_package/conanfile.py b/recipes/resource_pool/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fdaba4642f464 --- /dev/null +++ b/recipes/resource_pool/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class ResourcePoolTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake_find_package_multi", "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From a6b50902ebf02868617fbd1556192d2135dc547f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 18:25:55 +0300 Subject: [PATCH 1921/4087] (#18660) serial: migrate to Conan v2 * serial: migrate to Conan v2 * serial: use is_apple_os() --- recipes/serial/all/CMakeLists.txt | 7 +-- recipes/serial/all/conanfile.py | 63 ++++++++++--------- .../serial/all/test_package/CMakeLists.txt | 7 +-- recipes/serial/all/test_package/conanfile.py | 22 +++++-- .../serial/all/test_v1_package/CMakeLists.txt | 8 +++ .../serial/all/test_v1_package/conanfile.py | 16 +++++ .../all/test_v1_package/test_package.cpp | 23 +++++++ 7 files changed, 101 insertions(+), 45 deletions(-) create mode 100644 recipes/serial/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/serial/all/test_v1_package/conanfile.py create mode 100644 recipes/serial/all/test_v1_package/test_package.cpp diff --git a/recipes/serial/all/CMakeLists.txt b/recipes/serial/all/CMakeLists.txt index 25209c318b985..bb8bfce6bd49d 100644 --- a/recipes/serial/all/CMakeLists.txt +++ b/recipes/serial/all/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.12) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() - # Work-around for https://github.com/wjwwood/serial/issues/135 list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) @@ -11,6 +8,6 @@ if(WIN32 AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() -add_subdirectory(source_subfolder) +add_subdirectory(src) install(TARGETS serial) diff --git a/recipes/serial/all/conanfile.py b/recipes/serial/all/conanfile.py index d5553000bbddb..895f0932cedd5 100644 --- a/recipes/serial/all/conanfile.py +++ b/recipes/serial/all/conanfile.py @@ -1,17 +1,22 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration, ConanException + +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" class ConanRecipe(ConanFile): name = "serial" description = "Cross-platform library for interfacing with rs-232 serial like ports" - topics = ("serial", "rs-232", "com") - homepage = "http://wjwwood.io/serial/" - url = "https://github.com/conan-io/conan-center-index" license = "MIT" - exports_sources = ["CMakeLists.txt", "Findcatkin.cmake"] - generators = "cmake" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://wjwwood.io/serial/" + topics = ("rs-232", "com") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,11 +27,9 @@ class ConanRecipe(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "Findcatkin.cmake", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -34,35 +37,37 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("{}-{}".format(self.name, self.version), - self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.export_sources_folder) cmake.build() def package(self): - self.copy("README.md", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "README.md", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["serial"] - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["rt", "pthread"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "rt", "pthread"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["setupapi"] - elif tools.is_apple_os(self.settings.os): - self.cpp_info.frameworks = ["IOKit", "Foundation"] + elif is_apple_os(self): + self.cpp_info.frameworks = ["IOKit", "Foundation", "CoreFoundation"] diff --git a/recipes/serial/all/test_package/CMakeLists.txt b/recipes/serial/all/test_package/CMakeLists.txt index 328eaf93b7304..344a587ace219 100644 --- a/recipes/serial/all/test_package/CMakeLists.txt +++ b/recipes/serial/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(serial REQUIRED) +find_package(serial REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} serial::serial) diff --git a/recipes/serial/all/test_package/conanfile.py b/recipes/serial/all/test_package/conanfile.py index 5493d58611803..ef5d7042163ec 100644 --- a/recipes/serial/all/test_package/conanfile.py +++ b/recipes/serial/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,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/serial/all/test_v1_package/CMakeLists.txt b/recipes/serial/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/serial/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/serial/all/test_v1_package/conanfile.py b/recipes/serial/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..1bf1c7e26255d --- /dev/null +++ b/recipes/serial/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/serial/all/test_v1_package/test_package.cpp b/recipes/serial/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..8cb01ed6a8b53 --- /dev/null +++ b/recipes/serial/all/test_v1_package/test_package.cpp @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +#include "serial/serial.h" + +using namespace std; + +int main() { + vector devices_found = serial::list_ports(); + + vector::iterator iter = devices_found.begin(); + + while (iter != devices_found.end()) { + serial::PortInfo device = *iter++; + + printf("(%s, %s, %s)\n", device.port.c_str(), + device.description.c_str(), device.hardware_id.c_str()); + } + + return 0; +} From 133c3c9a9d19f9b07a939770fe811b3ffcfc7cbc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 19:05:19 +0300 Subject: [PATCH 1922/4087] (#18661) poshlib: migrate to Conan v2 * poshlib: migrate to Conan v2 * poshlib: add armv8 detection * poshlib: restore VirtualRunEnv in test_package * poshlib: tweak ARM detection --- recipes/poshlib/all/CMakeLists.txt | 18 ++--- recipes/poshlib/all/conanfile.py | 78 ++++++++++--------- .../poshlib/all/test_package/CMakeLists.txt | 7 +- recipes/poshlib/all/test_package/conanfile.py | 21 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../poshlib/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 92 insertions(+), 57 deletions(-) create mode 100644 recipes/poshlib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/poshlib/all/test_v1_package/conanfile.py diff --git a/recipes/poshlib/all/CMakeLists.txt b/recipes/poshlib/all/CMakeLists.txt index 7e123f6b4b780..ada768afc9da6 100644 --- a/recipes/poshlib/all/CMakeLists.txt +++ b/recipes/poshlib/all/CMakeLists.txt @@ -1,22 +1,16 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.12) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() - if(WIN32 AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() -file(GLOB SRCS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/*.c) -file(GLOB HDRS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/*.h) +file(GLOB SRCS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c) +file(GLOB HDRS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.h) add_library(posh ${SRCS_FILES}) -target_include_directories(posh PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder) +target_include_directories(posh PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) -install(TARGETS posh - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) +include(GNUInstallDirs) +install(TARGETS posh) install(FILES ${HDRS_FILES} DESTINATION include) diff --git a/recipes/poshlib/all/conanfile.py b/recipes/poshlib/all/conanfile.py index 8a2c26baad724..7ad4e9bed544b 100644 --- a/recipes/poshlib/all/conanfile.py +++ b/recipes/poshlib/all/conanfile.py @@ -1,17 +1,21 @@ import os -import glob -from conans import ConanFile, CMake, tools + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, get, replace_in_file + +required_conan_version = ">=1.53.0" class PoshlibConan(ConanFile): name = "poshlib" description = "Posh is a software framework used in cross-platform software development." - homepage = "https://github.com/PhilipLudington/poshlib" - url = "https://github.com/conan-io/conan-center-index" - topics = ("conan", "posh", "framework", "cross-platform") license = "BSD-2-Clause" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/PhilipLudington/poshlib" + topics = ("posh", "framework", "cross-platform") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,47 +26,51 @@ class PoshlibConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob('poshlib-*/')[0] - os.rename(extracted_dir, self._source_subfolder) + 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': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def _patch_sources(self): + replace_in_file( + self, + os.path.join(self.source_folder, "posh.h"), + "defined _ARM", + "defined _ARM || defined __arm64 || defined __arm64__ || defined __aarch64__", + ) def build(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "posh.h"), - "defined _ARM", - "defined _ARM || defined __arm64") - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - 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.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == 'Windows' and self.options.shared: + self.cpp_info.libs = collect_libs(self) + if self.settings.os == "Windows" and self.options.shared: self.cpp_info.defines.append("POSH_DLL") diff --git a/recipes/poshlib/all/test_package/CMakeLists.txt b/recipes/poshlib/all/test_package/CMakeLists.txt index 7b9b613cbb24a..06a245507c563 100644 --- a/recipes/poshlib/all/test_package/CMakeLists.txt +++ b/recipes/poshlib/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(poshlib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE poshlib::poshlib) diff --git a/recipes/poshlib/all/test_package/conanfile.py b/recipes/poshlib/all/test_package/conanfile.py index 16ec9f68ef974..ef5d7042163ec 100644 --- a/recipes/poshlib/all/test_package/conanfile.py +++ b/recipes/poshlib/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/poshlib/all/test_v1_package/CMakeLists.txt b/recipes/poshlib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/poshlib/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/poshlib/all/test_v1_package/conanfile.py b/recipes/poshlib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..90eb89e3f2f46 --- /dev/null +++ b/recipes/poshlib/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0f03fba46907f5827058420d95d7ef86b15c9b49 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 19:27:45 +0300 Subject: [PATCH 1923/4087] (#18744) xege: migrate to Conan v2 * xege: migrate to Conan v2 * xege: restore VirtualRunEnv in test_package * xege: shared builds are not supported --- recipes/xege/all/CMakeLists.txt | 7 -- recipes/xege/all/conanfile.py | 73 +++++++++++-------- recipes/xege/all/test_package/CMakeLists.txt | 7 +- recipes/xege/all/test_package/conanfile.py | 23 ++++-- recipes/xege/all/test_package/example.cpp | 1 - .../xege/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/xege/all/test_v1_package/conanfile.py | 17 +++++ 7 files changed, 86 insertions(+), 50 deletions(-) delete mode 100644 recipes/xege/all/CMakeLists.txt create mode 100644 recipes/xege/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/xege/all/test_v1_package/conanfile.py diff --git a/recipes/xege/all/CMakeLists.txt b/recipes/xege/all/CMakeLists.txt deleted file mode 100644 index 0496b29838549..0000000000000 --- a/recipes/xege/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/xege/all/conanfile.py b/recipes/xege/all/conanfile.py index e3d748b348f87..9e838e4436fae 100644 --- a/recipes/xege/all/conanfile.py +++ b/recipes/xege/all/conanfile.py @@ -1,33 +1,47 @@ -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.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" class XegeConan(ConanFile): name = "xege" + description = "Easy Graphics Engine, a lite graphics library in Windows" license = "LGPLv2.1" url = "https://github.com/conan-io/conan-center-index" homepage = "https://xege.org/" - description = "Easy Graphics Engine, a lite graphics library in Windows" topics = ("ege", "graphics", "gui") - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - exports_sources = ["CMakeLists.txt"] - def configure(self): - if self.settings.os != "Windows": - raise ConanInvalidConfiguration( - "This library is only compatible for Windows") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } - @property - def _source_subfolder(self): - return "source_subfolder" + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os != "Windows": + raise ConanInvalidConfiguration("This library is only compatible with Windows") 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.generate() def build(self): cmake = CMake(self) @@ -35,24 +49,21 @@ def build(self): cmake.build() def package(self): - self.copy("*.h", dst="include", src=self._source_subfolder+"/src") - self.copy("*.lib", dst="lib", keep_path=False) - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.so", dst="lib", keep_path=False) - self.copy("*.a", dst="lib", keep_path=False) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "src")) + for pattern in ["*.lib", "*.a"]: + copy(self, pattern, + dst=os.path.join(self.package_folder, "lib"), + src=self.build_folder, + keep_path=False) def package_info(self): if self.settings.arch == "x86_64": self.cpp_info.libs = ["graphics64"] else: self.cpp_info.libs = ["graphics"] - self.cpp_info.system_libs = [ - "gdiplus", - "uuid", - "msimg32", - "gdi32", - "imm32", - "ole32", - "oleaut32" - ] + self.cpp_info.system_libs = ["gdiplus", "uuid", "msimg32", "gdi32", "imm32", "ole32", "oleaut32"] diff --git a/recipes/xege/all/test_package/CMakeLists.txt b/recipes/xege/all/test_package/CMakeLists.txt index dd28555a7ac65..9e1250d39f5ee 100644 --- a/recipes/xege/all/test_package/CMakeLists.txt +++ b/recipes/xege/all/test_package/CMakeLists.txt @@ -1,11 +1,10 @@ -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(xege REQUIRED CONFIG) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example PRIVATE xege::xege) if(MSYS OR MINGW) target_link_libraries(example -static-libgcc -static-libstdc++) diff --git a/recipes/xege/all/test_package/conanfile.py b/recipes/xege/all/test_package/conanfile.py index 2011b67ca68a5..8d52b7021efe1 100644 --- a/recipes/xege/all/test_package/conanfile.py +++ b/recipes/xege/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 XegeTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "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/xege/all/test_package/example.cpp b/recipes/xege/all/test_package/example.cpp index e167cd38f70ed..658780d07761b 100644 --- a/recipes/xege/all/test_package/example.cpp +++ b/recipes/xege/all/test_package/example.cpp @@ -1,5 +1,4 @@ #include -#include using namespace ege; diff --git a/recipes/xege/all/test_v1_package/CMakeLists.txt b/recipes/xege/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/xege/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/xege/all/test_v1_package/conanfile.py b/recipes/xege/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c48a6d9a1bd7a --- /dev/null +++ b/recipes/xege/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class XegeTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From 9042533cc89335a0692056418afaa39caea9ea2c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 19:47:02 +0300 Subject: [PATCH 1924/4087] (#18746) tweetnacl: migrate to Conan v2, correct license --- recipes/tweetnacl/all/CMakeLists.txt | 11 +-- recipes/tweetnacl/all/conandata.yml | 6 +- recipes/tweetnacl/all/conanfile.py | 68 +++++++++++-------- .../tweetnacl/all/test_package/CMakeLists.txt | 7 +- .../tweetnacl/all/test_package/conanfile.py | 21 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 17 +++++ 7 files changed, 88 insertions(+), 50 deletions(-) create mode 100644 recipes/tweetnacl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tweetnacl/all/test_v1_package/conanfile.py diff --git a/recipes/tweetnacl/all/CMakeLists.txt b/recipes/tweetnacl/all/CMakeLists.txt index 971f0647720b1..b90e7d4a682db 100644 --- a/recipes/tweetnacl/all/CMakeLists.txt +++ b/recipes/tweetnacl/all/CMakeLists.txt @@ -1,17 +1,10 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.12) project(tweetnacl C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -include(GNUInstallDirs) - add_library(tweetnacl tweetnacl.c) set_target_properties(tweetnacl PROPERTIES PUBLIC_HEADER "tweetnacl.h") +include(GNUInstallDirs) install(TARGETS tweetnacl - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) diff --git a/recipes/tweetnacl/all/conandata.yml b/recipes/tweetnacl/all/conandata.yml index 3dcc47bfef437..a3fbddf32a913 100644 --- a/recipes/tweetnacl/all/conandata.yml +++ b/recipes/tweetnacl/all/conandata.yml @@ -1,8 +1,6 @@ sources: "20140427": - url: https://tweetnacl.cr.yp.to/20140427/tweetnacl.c - sha256: 02e65bc3013ff2168983365e55906bc783c4c7e0a60d8100f17bb303a17175c4 + sha256: "02e65bc3013ff2168983365e55906bc783c4c7e0a60d8100f17bb303a17175c4" - url: https://tweetnacl.cr.yp.to/20140427/tweetnacl.h - sha256: 43f29ad721d9927b747b0100ab4160c119e7bb180c7c98a66e4bf79d31244287 - - url: https://unlicense.org/UNLICENSE - sha256: 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c + sha256: "43f29ad721d9927b747b0100ab4160c119e7bb180c7c98a66e4bf79d31244287" diff --git a/recipes/tweetnacl/all/conanfile.py b/recipes/tweetnacl/all/conanfile.py index b5b3d196ced3e..0c97672dae4cc 100644 --- a/recipes/tweetnacl/all/conanfile.py +++ b/recipes/tweetnacl/all/conanfile.py @@ -1,19 +1,24 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.32.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, download, save + +required_conan_version = ">=1.53.0" class TweetnaclConan(ConanFile): name = "tweetnacl" - license = "Unlicense" - homepage = "https://tweetnacl.cr.yp.to" - url = "https://github.com/conan-io/conan-center-index" description = "TweetNaCl is the world's first auditable high-security cryptographic library" - topics = ("nacl", "tweetnacl", "encryption", "signature", "hashing") - exports_sources = "CMakeLists.txt" - generators = "cmake" + license = "Public domain" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://tweetnacl.cr.yp.to" + topics = ("nacl", "encryption", "signature", "hashing") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -22,44 +27,53 @@ class TweetnaclConan(ConanFile): "shared": False, "fPIC": True, } - settings = "os", "compiler", "build_type", "arch" - _cmake = None + def export_sources(self): + copy(self, "CMakeLists.txt", + src=self.recipe_folder, + dst=os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): - if self.settings.os in ("Windows", "Macos"): + if self.settings.os == "Windows" or is_apple_os(self): if self.options.shared: - raise ConanInvalidConfiguration("tweetnacl does not support shared on Windows and Madcos: it needs a randombytes implementation") + raise ConanInvalidConfiguration( + "tweetnacl does not support shared on Windows and Macos: it needs a randombytes implementation" + ) def source(self): for url_sha in self.conan_data["sources"][self.version]: - tools.download(url_sha["url"], os.path.basename(url_sha["url"])) - tools.check_sha256(os.path.basename(url_sha["url"]), url_sha["sha256"]) + download(self, **url_sha, filename=os.path.basename(url_sha["url"])) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("UNLICENSE", dst=os.path.join(self.package_folder, "licenses")) - cmake = self._configure_cmake() + save(self, + os.path.join(self.package_folder, "licenses", "LICENSE"), + "TweetNaCl is a self-contained public-domain C library.") + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/tweetnacl/all/test_package/CMakeLists.txt b/recipes/tweetnacl/all/test_package/CMakeLists.txt index 7b9b613cbb24a..ff98951f060d9 100644 --- a/recipes/tweetnacl/all/test_package/CMakeLists.txt +++ b/recipes/tweetnacl/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(tweetnacl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE tweetnacl::tweetnacl) diff --git a/recipes/tweetnacl/all/test_package/conanfile.py b/recipes/tweetnacl/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/tweetnacl/all/test_package/conanfile.py +++ b/recipes/tweetnacl/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/tweetnacl/all/test_v1_package/CMakeLists.txt b/recipes/tweetnacl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tweetnacl/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/tweetnacl/all/test_v1_package/conanfile.py b/recipes/tweetnacl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/tweetnacl/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) From 447f1e2e9f2f76f9e625db6b7e5e1a0ee3bee5e5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 20:07:15 +0300 Subject: [PATCH 1925/4087] (#18822) log4cxx: migrate to Conan v2 * log4cxx: migrate to Conan v2 * log4cxx: restore VirtualRunEnv in test_package * log4cxx: bump deps * log4cxx: simplify recipe --- recipes/log4cxx/all/CMakeLists.txt | 7 - recipes/log4cxx/all/conandata.yml | 6 +- recipes/log4cxx/all/conanfile.py | 120 ++++++++---------- .../log4cxx/all/patches/0001-find-apr.patch | 5 +- .../log4cxx/all/test_package/CMakeLists.txt | 7 +- recipes/log4cxx/all/test_package/conanfile.py | 19 ++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../log4cxx/all/test_v1_package/conanfile.py | 18 +++ 8 files changed, 102 insertions(+), 88 deletions(-) delete mode 100644 recipes/log4cxx/all/CMakeLists.txt create mode 100644 recipes/log4cxx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/log4cxx/all/test_v1_package/conanfile.py diff --git a/recipes/log4cxx/all/CMakeLists.txt b/recipes/log4cxx/all/CMakeLists.txt deleted file mode 100644 index b83949de59dc5..0000000000000 --- a/recipes/log4cxx/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.13) -project(cmake_wrapper CXX) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/log4cxx/all/conandata.yml b/recipes/log4cxx/all/conandata.yml index 4d9c222f7d839..398cc493a41ae 100644 --- a/recipes/log4cxx/all/conandata.yml +++ b/recipes/log4cxx/all/conandata.yml @@ -7,8 +7,6 @@ sources: sha256: "bd5b5009ca914c8fa7944b92ea6b4ca6fb7d146f65d526f21bf8b3c6a0520e44" patches: "0.12.1": - - base_path: "source_subfolder" - patch_file: "patches/0001-find-apr.patch" + - patch_file: "patches/0001-find-apr.patch" "0.12.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-find-apr.patch" + - patch_file: "patches/0001-find-apr.patch" diff --git a/recipes/log4cxx/all/conanfile.py b/recipes/log4cxx/all/conanfile.py index ac48eb45fc460..282fa49ad39dc 100644 --- a/recipes/log4cxx/all/conanfile.py +++ b/recipes/log4cxx/all/conanfile.py @@ -1,19 +1,25 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os import textwrap -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, save +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class Log4cxxConan(ConanFile): name = "log4cxx" description = "Logging framework for C++ patterned after Apache log4j" - url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://logging.apache.org/log4cxx" topics = ("logging", "log") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,21 +30,18 @@ class Log4cxxConan(ConanFile): "fPIC": True, } - generators = "cmake", "cmake_find_package", "pkg_config" - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + return { + "gcc": "7", + "Visual Studio": "15", + "msvc": "191", + "clang": "5", + "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"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -46,88 +49,73 @@ 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("apr/1.7.0") self.requires("apr-util/1.6.1") - self.requires("expat/2.4.2") + self.requires("expat/2.5.0") if self.settings.os != "Windows": - self.requires("odbc/2.3.9") - - @property - def _compilers_minimum_version(self): - return { - "gcc": "7", - "Visual Studio": "15", - "clang": "5", - "apple-clang": "10", - } + self.requires("odbc/2.3.11") def validate(self): # TODO: if compiler doesn't support C++17, boost can be used instead - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "17") + if self.settings.compiler.cppstd: + check_min_cppstd(self, 17) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("log4cxx requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(self.settings.compiler.version) < minimum_version: + if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("log4cxx requires a compiler that supports at least C++17") def build_requirements(self): if self.settings.os != "Windows": - self.build_requires("pkgconf/1.7.4") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): - #OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: - #'source_subfolder\\src\\test\\resources\\output\\xyz\\:' + # OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: + # 'src\\test\\resources\\output\\xyz\\:' pattern = "*[!:]" - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True, - pattern=pattern) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - self._cmake.definitions["BUILD_TESTING"] = False - if self.settings.os == "Windows": - self._cmake.definitions["LOG4CXX_INSTALL_PDB"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True, pattern=pattern) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["LOG4CXX_INSTALL_PDB"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("NOTICE", 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")) + copy(self, "NOTICE", 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, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) # 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), - {"log4cxx": "log4cxx::log4cxx"} + os.path.join(self.package_folder, self._module_file_rel_path), {"log4cxx": "log4cxx::log4cxx"} ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) @property def _module_file_rel_path(self): @@ -137,6 +125,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "log4cxx") self.cpp_info.set_property("cmake_target_name", "log4cxx") self.cpp_info.set_property("pkg_config_name", "liblog4cxx") + if not self.options.shared: self.cpp_info.defines = ["LOG4CXX_STATIC"] self.cpp_info.libs = ["log4cxx"] @@ -146,4 +135,3 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed 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] - self.cpp_info.names["pkg_config"] = "liblog4cxx" diff --git a/recipes/log4cxx/all/patches/0001-find-apr.patch b/recipes/log4cxx/all/patches/0001-find-apr.patch index 11635d23e734f..9b75430996d18 100644 --- a/recipes/log4cxx/all/patches/0001-find-apr.patch +++ b/recipes/log4cxx/all/patches/0001-find-apr.patch @@ -1,6 +1,6 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -25,10 +25,12 @@ if(NOT BUILD_SHARED_LIBS) +@@ -25,12 +25,14 @@ if(NOT BUILD_SHARED_LIBS) endif() # Find Apache Runtime @@ -15,3 +15,6 @@ find_package( Threads REQUIRED ) + # Find expat for XML parsing +-find_package(EXPAT REQUIRED) ++find_package(EXPAT REQUIRED MODULE) diff --git a/recipes/log4cxx/all/test_package/CMakeLists.txt b/recipes/log4cxx/all/test_package/CMakeLists.txt index 4b7ef0dd16dbb..a9ec878c74ebe 100644 --- a/recipes/log4cxx/all/test_package/CMakeLists.txt +++ b/recipes/log4cxx/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(log4cxx REQUIRED CONFIG) diff --git a/recipes/log4cxx/all/test_package/conanfile.py b/recipes/log4cxx/all/test_package/conanfile.py index 0aa45c8d4db18..382876561a203 100644 --- a/recipes/log4cxx/all/test_package/conanfile.py +++ b/recipes/log4cxx/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") config_xml_name = os.path.join(self.source_folder, "log4cxx_config.xml") - bin_path = os.path.join("bin", "test_package") - self.run("{} {}".format(bin_path, config_xml_name), run_environment=True) + self.run(f"{bin_path} {config_xml_name}", env="conanrun") diff --git a/recipes/log4cxx/all/test_v1_package/CMakeLists.txt b/recipes/log4cxx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/log4cxx/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/log4cxx/all/test_v1_package/conanfile.py b/recipes/log4cxx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0aa45c8d4db18 --- /dev/null +++ b/recipes/log4cxx/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + config_xml_name = os.path.join(self.source_folder, "log4cxx_config.xml") + bin_path = os.path.join("bin", "test_package") + self.run("{} {}".format(bin_path, config_xml_name), run_environment=True) From 5be8268a15ae885e07209bf7e67da638f5697f6b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 20:26:34 +0300 Subject: [PATCH 1926/4087] (#18941) libnetfilter_conntrack: migrate to Conan v2 * libnetfilter_conntrack: migrate to Conan v2 * libnetfilter_conntrack: improve os check * libnetfilter_conntrack: transitive_libs=True WHY?? --- .../libnetfilter_conntrack/all/conanfile.py | 97 +++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 23 +++-- .../all/test_package/example.c | 6 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 102 insertions(+), 58 deletions(-) create mode 100644 recipes/libnetfilter_conntrack/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libnetfilter_conntrack/all/test_v1_package/conanfile.py diff --git a/recipes/libnetfilter_conntrack/all/conanfile.py b/recipes/libnetfilter_conntrack/all/conanfile.py index b4f68103f83c1..838c21aea601b 100644 --- a/recipes/libnetfilter_conntrack/all/conanfile.py +++ b/recipes/libnetfilter_conntrack/all/conanfile.py @@ -1,67 +1,78 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + class Libnetfilter_conntrackConan(ConanFile): name = "libnetfilter_conntrack" + description = "userspace library that provides an API to the in-kernel connection tracking state table" license = "GPL-2.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://netfilter.org/projects/libnetfilter_conntrack/index.html" - description = "userspace library that provides an API to the in-kernel connection tracking state table" - topics = ("libnetfilter_conntrack", "netfilter") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generators = "pkg_config" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + topics = ("netfilter",) - def requirements(self): - self.requires("libmnl/1.0.4") - self.requires("libnfnetlink/1.0.1") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - 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 config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("libnetfilter_conntrack is only supported on Linux") 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 _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - conf_args = [] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(configure_dir=self._source_subfolder, args=conf_args) - return self._autotools + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("libmnl/1.0.4", transitive_headers=True, transitive_libs=True) + self.requires("libnfnetlink/1.0.2", transitive_headers=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("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.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", self.package_folder, recursive=True) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.libs = ["netfilter_conntrack"] - self.cpp_info.names["pkg_config"] = "libnetfilter_conntrack" + self.cpp_info.set_property("pkg_config_name", "libnetfilter_conntrack") diff --git a/recipes/libnetfilter_conntrack/all/test_package/CMakeLists.txt b/recipes/libnetfilter_conntrack/all/test_package/CMakeLists.txt index 4dbc40cd2c4d9..133b0de001670 100644 --- a/recipes/libnetfilter_conntrack/all/test_package/CMakeLists.txt +++ b/recipes/libnetfilter_conntrack/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.10) -project(PackageTest) +cmake_minimum_required(VERSION 3.15) +project(PackageTest LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libnetfilter_conntrack REQUIRED CONFIG) add_executable(example example.c) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example libnetfilter_conntrack::libnetfilter_conntrack) diff --git a/recipes/libnetfilter_conntrack/all/test_package/conanfile.py b/recipes/libnetfilter_conntrack/all/test_package/conanfile.py index 4959660649186..cf3b9d75009a7 100644 --- a/recipes/libnetfilter_conntrack/all/test_package/conanfile.py +++ b/recipes/libnetfilter_conntrack/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class Libnetfilter_conntrackTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run("{} {}".format(bin_path, 0), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(f"{bin_path} 0", env="conanrun") diff --git a/recipes/libnetfilter_conntrack/all/test_package/example.c b/recipes/libnetfilter_conntrack/all/test_package/example.c index 331a7d9d4f854..ccdf8593d195f 100644 --- a/recipes/libnetfilter_conntrack/all/test_package/example.c +++ b/recipes/libnetfilter_conntrack/all/test_package/example.c @@ -1,12 +1,12 @@ +#include +#include + #include #include #include #include #include -#include -#include - static int data_cb(const struct nlmsghdr *nlh, void *data) { struct nf_conntrack *ct; diff --git a/recipes/libnetfilter_conntrack/all/test_v1_package/CMakeLists.txt b/recipes/libnetfilter_conntrack/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libnetfilter_conntrack/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/libnetfilter_conntrack/all/test_v1_package/conanfile.py b/recipes/libnetfilter_conntrack/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..ebd551d13e399 --- /dev/null +++ b/recipes/libnetfilter_conntrack/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class Libnetfilter_conntrackTestConan(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("{} {}".format(bin_path, 0), run_environment=True) From df4a9c6de0e07f8bf20e94741b8d640eb4771567 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 20:46:19 +0300 Subject: [PATCH 1927/4087] (#18957) liboping: migrate to Conan v2 * liboping: migrate to Conan v2 * liboping: fix_apple_shared_install_name() * Update conandata.yml --- recipes/liboping/all/conandata.yml | 2 - recipes/liboping/all/conanfile.py | 99 ++++++++++--------- .../liboping/all/test_package/CMakeLists.txt | 7 +- .../liboping/all/test_package/conanfile.py | 21 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../liboping/all/test_v1_package/conanfile.py | 17 ++++ 6 files changed, 93 insertions(+), 61 deletions(-) create mode 100644 recipes/liboping/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/liboping/all/test_v1_package/conanfile.py diff --git a/recipes/liboping/all/conandata.yml b/recipes/liboping/all/conandata.yml index 383d4f884713f..a9da5ce81e695 100644 --- a/recipes/liboping/all/conandata.yml +++ b/recipes/liboping/all/conandata.yml @@ -5,5 +5,3 @@ sources: patches: "1.10.0": - patch_file: "patches/1.10.0-suppress_truncate.patch" - base_path: "source_subfolder" - diff --git a/recipes/liboping/all/conanfile.py b/recipes/liboping/all/conanfile.py index 21125770e672e..811729afcf6e2 100644 --- a/recipes/liboping/all/conanfile.py +++ b/recipes/liboping/all/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.47.0" class LibopingConan(ConanFile): name = "liboping" description = "A multi server ping library" - topics = ("oping", "ping", "icmp") + license = ["LGPL-2.1", "GPL-2.0"] url = "https://github.com/conan-io/conan-center-index" homepage = "https://noping.cc" - license = ["LGPL-2.1", "GPL-2.0"] + topics = ("oping", "ping", "icmp", "pre-built") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ["patches/**"] options = { "shared": [True, False], "fPIC": [True, False], @@ -23,81 +30,77 @@ class LibopingConan(ConanFile): "fPIC": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): - if self.settings.os == "Windows" and self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("liboping is not supported by Visual Studio") if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("Liboping could not be built on {} as shared library".format(self.settings.os)) - if self.settings.os == "Macos" and self.settings.arch == "armv8": + raise ConanInvalidConfiguration( + f"Liboping could not be built on {self.settings.os} as shared library" + ) + if is_apple_os(self) and self.settings.arch == "armv8": # Build error - NO Access to a Mac/M1 - please fix when possible - see issue 8634 raise ConanInvalidConfiguration("Liboping cannot be built on a Mac/M1 at this time") 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_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args += [ "--without-ncurses", "--without-perl-bindings", ] - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + tc.generate() def build(self): - self._patch_sources() - autotools = self._configure_autotools() + apply_conandata_patches(self) + 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.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", self.package_folder, recursive=True) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) - self.env_info.PATH.append(bindir) self.cpp_info.libs = ["oping"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") elif self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") + + # TODO: Legacy, to be removed on Conan 2.0 + bindir = os.path.join(self.package_folder, "bin") + self.output.info("Appending PATH environment variable: {}".format(bindir)) + self.env_info.PATH.append(bindir) diff --git a/recipes/liboping/all/test_package/CMakeLists.txt b/recipes/liboping/all/test_package/CMakeLists.txt index 30961cdb0ded2..76c10855ad585 100644 --- a/recipes/liboping/all/test_package/CMakeLists.txt +++ b/recipes/liboping/all/test_package/CMakeLists.txt @@ -1,10 +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(TARGETS) - -find_package(liboping CONFIG REQUIRED) +find_package(liboping REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} liboping::liboping) diff --git a/recipes/liboping/all/test_package/conanfile.py b/recipes/liboping/all/test_package/conanfile.py index b7bbf79eba926..ef5d7042163ec 100644 --- a/recipes/liboping/all/test_package/conanfile.py +++ b/recipes/liboping/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", "arch", "build_type" - 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/liboping/all/test_v1_package/CMakeLists.txt b/recipes/liboping/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/liboping/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/liboping/all/test_v1_package/conanfile.py b/recipes/liboping/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b7bbf79eba926 --- /dev/null +++ b/recipes/liboping/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "arch", "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 9f3f3d7184a9509a509f91f8503abf64d647786a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Oct 2023 03:11:02 +0900 Subject: [PATCH 1928/4087] (#20094) libenvpp: add recipe * libenvpp: add recipe * require cmake >= 3.16 * make static-library * rename library name on windows --- recipes/libenvpp/all/conandata.yml | 9 ++ recipes/libenvpp/all/conanfile.py | 93 +++++++++++++++++++ .../all/patches/0001-use-cci-fmt.patch | 30 ++++++ .../libenvpp/all/test_package/CMakeLists.txt | 8 ++ .../libenvpp/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 23 +++++ recipes/libenvpp/config.yml | 3 + 7 files changed, 192 insertions(+) create mode 100644 recipes/libenvpp/all/conandata.yml create mode 100644 recipes/libenvpp/all/conanfile.py create mode 100644 recipes/libenvpp/all/patches/0001-use-cci-fmt.patch create mode 100644 recipes/libenvpp/all/test_package/CMakeLists.txt create mode 100644 recipes/libenvpp/all/test_package/conanfile.py create mode 100644 recipes/libenvpp/all/test_package/test_package.cpp create mode 100644 recipes/libenvpp/config.yml diff --git a/recipes/libenvpp/all/conandata.yml b/recipes/libenvpp/all/conandata.yml new file mode 100644 index 0000000000000..6d0d3123e3cdf --- /dev/null +++ b/recipes/libenvpp/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.3.0": + url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.3.0.tar.gz" + sha256: "9201ae39dc67118ee46b4e60fe2e5d22b046faceae4a4b4eec6ab62bc48875dd" +patches: + "1.3.0": + - patch_file: "patches/0001-use-cci-fmt.patch" + patch_description: "use cci fmt package, remove static flag from add_library" + patch_type: "conan" diff --git a/recipes/libenvpp/all/conanfile.py b/recipes/libenvpp/all/conanfile.py new file mode 100644 index 0000000000000..06b2bc9d3e325 --- /dev/null +++ b/recipes/libenvpp/all/conanfile.py @@ -0,0 +1,93 @@ +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.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 LibenvppConan(ConanFile): + name = "libenvpp" + description = "A modern C++ library for type-safe environment variable parsing" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ph3at/libenvpp" + topics = ("environment", "type-safe") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "191", + "gcc": "7", + "clang": "7", + "apple-clang": "10", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("fmt/10.1.1", transitive_headers=True) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + + 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 generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBENVPP_TESTS"] = False + tc.variables["LIBENVPP_EXAMPLES"] = False + tc.variables["LIBENVPP_CHECKS"] = False + tc.variables["LIBENVPP_INSTALL"] = True + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["envpp" if self.settings.os != "Windows" else "libenvpp"] diff --git a/recipes/libenvpp/all/patches/0001-use-cci-fmt.patch b/recipes/libenvpp/all/patches/0001-use-cci-fmt.patch new file mode 100644 index 0000000000000..d89edb409485d --- /dev/null +++ b/recipes/libenvpp/all/patches/0001-use-cci-fmt.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3ecffb..49cae57 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,6 +54,7 @@ function(libenvpp_set_compiler_parameters TARGET) + endfunction() + + # External dependencies. ++if(0) + if(LIBENVPP_INSTALL) + set(FMT_INSTALL ON CACHE BOOL "" FORCE) + endif() +@@ -63,6 +63,8 @@ FetchContent_Declare(fmt + GIT_TAG 9.1.0 + ) + FetchContent_MakeAvailable(fmt) ++endif() ++find_package(fmt REQUIRED CONFIG) + + if(LIBENVPP_TESTS) + FetchContent_Declare(Catch2 +@@ -133,6 +134,8 @@ endif() + + # Installation target. + if(LIBENVPP_INSTALL) ++ include(CMakePackageConfigHelpers) ++ + # Libenvpp installation. + set(LIBENVPP_PROJECT_CONFIG_OUT "${CMAKE_CURRENT_BINARY_DIR}/libenvpp-config.cmake") + set(LIBENVPP_VERSION_CONFIG_FILE "${CMAKE_CURRENT_BINARY_DIR}/libenvpp-config-version.cmake") diff --git a/recipes/libenvpp/all/test_package/CMakeLists.txt b/recipes/libenvpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..59cf4056ecd20 --- /dev/null +++ b/recipes/libenvpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(libenvpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libenvpp::libenvpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libenvpp/all/test_package/conanfile.py b/recipes/libenvpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/libenvpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libenvpp/all/test_package/test_package.cpp b/recipes/libenvpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9be10c22b43a7 --- /dev/null +++ b/recipes/libenvpp/all/test_package/test_package.cpp @@ -0,0 +1,23 @@ +#include + +#include "libenvpp/env.hpp" + +int main() +{ + auto pre = env::prefix("MYPROG"); + + const auto num_threads_id = pre.register_required_variable("NUM_THREADS"); + + const auto parsed_and_validated_pre = pre.parse_and_validate(); + + if (parsed_and_validated_pre.ok()) { + const auto num_threads = parsed_and_validated_pre.get(num_threads_id); + + std::cout << "Num threads: " << num_threads << std::endl; + } else { + std::cout << parsed_and_validated_pre.warning_message(); + std::cout << parsed_and_validated_pre.error_message(); + } + + return 0; +} diff --git a/recipes/libenvpp/config.yml b/recipes/libenvpp/config.yml new file mode 100644 index 0000000000000..426a0e4c79e9b --- /dev/null +++ b/recipes/libenvpp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.3.0": + folder: all From 6ae46d4da88676b7f81b30de9d2f156485ac8338 Mon Sep 17 00:00:00 2001 From: Aleksei Latyshev Date: Wed, 4 Oct 2023 20:30:51 +0200 Subject: [PATCH 1929/4087] (#20187) s2geometry: add recipe --- recipes/s2geometry/all/conandata.yml | 13 +++ recipes/s2geometry/all/conanfile.py | 103 ++++++++++++++++++ .../add_message_to_static_assert.patch | 13 +++ .../all/patches/bump_cmake_cxx_standard.patch | 13 +++ .../all/test_package/CMakeLists.txt | 20 ++++ .../s2geometry/all/test_package/conanfile.py | 27 +++++ .../all/test_package/test_package.cpp | 18 +++ recipes/s2geometry/config.yml | 3 + 8 files changed, 210 insertions(+) create mode 100644 recipes/s2geometry/all/conandata.yml create mode 100644 recipes/s2geometry/all/conanfile.py create mode 100644 recipes/s2geometry/all/patches/add_message_to_static_assert.patch create mode 100644 recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch create mode 100644 recipes/s2geometry/all/test_package/CMakeLists.txt create mode 100644 recipes/s2geometry/all/test_package/conanfile.py create mode 100644 recipes/s2geometry/all/test_package/test_package.cpp create mode 100644 recipes/s2geometry/config.yml diff --git a/recipes/s2geometry/all/conandata.yml b/recipes/s2geometry/all/conandata.yml new file mode 100644 index 0000000000000..811d215efcb5e --- /dev/null +++ b/recipes/s2geometry/all/conandata.yml @@ -0,0 +1,13 @@ +sources: + 0.10.0: + url: https://github.com/google/s2geometry/archive/refs/tags/v0.10.0.zip + sha256: d03ae5566e9957c5b3bc6e0e62603370d1450feaf093d204d27b7af9e4d14909 +patches: + 0.10.0: + - patch_description: "Bump CMAKE_CXX_STANDARD to 14" + patch_file: "patches/bump_cmake_cxx_standard.patch" + patch_source: "https://github.com/google/s2geometry/issues/317" + patch_type: "portability" + - patch_description: "Add message to static_assert to be compatible with c++14 (MSVC)" + patch_file: "patches/add_message_to_static_assert.patch" + patch_type: "portability" diff --git a/recipes/s2geometry/all/conanfile.py b/recipes/s2geometry/all/conanfile.py new file mode 100644 index 0000000000000..7a3ed3284ec7c --- /dev/null +++ b/recipes/s2geometry/all/conanfile.py @@ -0,0 +1,103 @@ +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 get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class S2GeometryConan(ConanFile): + name = "s2geometry" + description = "Computational geometry and spatial indexing on the sphere" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/google/s2geometry" + topics = ("geometry", "s2", "spherical-geometry", "spatial-indexing") + 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 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "5", + "clang": "7", + "apple-clang": "10", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("abseil/20230125.3", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["GOOGLETEST_ROOT"] = False + tc.variables["BUILD_EXAMPLES"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["s2"] + self.cpp_info.set_property("cmake_target_name", "s2") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "s2" + self.cpp_info.names["cmake_find_package_multi"] = "s2" diff --git a/recipes/s2geometry/all/patches/add_message_to_static_assert.patch b/recipes/s2geometry/all/patches/add_message_to_static_assert.patch new file mode 100644 index 0000000000000..1a458e9936c5d --- /dev/null +++ b/recipes/s2geometry/all/patches/add_message_to_static_assert.patch @@ -0,0 +1,13 @@ +diff --git a/src/s2/s2lax_polygon_shape.cc b/src/s2/s2lax_polygon_shape.cc +index e71476a..7bfe874 100644 +--- a/src/s2/s2lax_polygon_shape.cc ++++ b/src/s2/s2lax_polygon_shape.cc +@@ -33,7 +33,7 @@ namespace { + template + std::unique_ptr make_unique_for_overwrite(size_t n) { + // We only need to support this one variant. +- static_assert(std::is_array::value); ++ static_assert(std::is_array::value, ""); + return std::unique_ptr(new typename absl::remove_extent_t[n]); + } + } // namespace diff --git a/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch b/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch new file mode 100644 index 0000000000000..50b168d636d58 --- /dev/null +++ b/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f080b4b..b2699ee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,7 +19,7 @@ endif() + # undefined symbol errors since ABSL_HAVE_STD_STRING_VIEW etc will + # end up defined differently. There is probably a better way to achieve + # this than assuming what absl used. +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + # No compiler-specific extensions, i.e. -std=c++11, not -std=gnu++11. + set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/recipes/s2geometry/all/test_package/CMakeLists.txt b/recipes/s2geometry/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6727aedf56df7 --- /dev/null +++ b/recipes/s2geometry/all/test_package/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(s2geometry REQUIRED CONFIG) + +if (MSVC) + # Use unsigned characters + add_definitions(-J) + # Make sure cmath header defines things like M_PI + add_definitions(-D_USE_MATH_DEFINES) + # Make sure Windows doesn't define min/max macros that interfere with STL + add_definitions(-DNOMINMAX) +endif () + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE s2) diff --git a/recipes/s2geometry/all/test_package/conanfile.py b/recipes/s2geometry/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/s2geometry/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/s2geometry/all/test_package/test_package.cpp b/recipes/s2geometry/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..1f6da7a09f6f2 --- /dev/null +++ b/recipes/s2geometry/all/test_package/test_package.cpp @@ -0,0 +1,18 @@ +#include +#include +#include +#include + +#include +#include + +int main() +{ + S2Builder builder{S2Builder::Options()}; + S2Polygon output; + builder.StartLayer(std::make_unique(&output)); + auto input = s2textformat::MakePolygonOrDie("0:0, 0:5, 5:5, 5:0; 1:1, 1:4, 4:4, 4:1"); + builder.AddShape(*input->index().shape(0)); + S2Error error; + std::cout << "Builder: " << (builder.Build(&error) ? "OK" : error.text()) << std::endl; +} diff --git a/recipes/s2geometry/config.yml b/recipes/s2geometry/config.yml new file mode 100644 index 0000000000000..1b582dcf6716b --- /dev/null +++ b/recipes/s2geometry/config.yml @@ -0,0 +1,3 @@ +versions: + "0.10.0": + folder: all From 9ed4f1485b538df0faf1945573e68f869c1be455 Mon Sep 17 00:00:00 2001 From: Tux3 Date: Wed, 4 Oct 2023 21:11:31 +0200 Subject: [PATCH 1930/4087] (#20259) android-ndk: add r26 --- 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 020850fb26202..91ea41fe322a4 100644 --- a/recipes/android-ndk/all/conandata.yml +++ b/recipes/android-ndk/all/conandata.yml @@ -1,4 +1,17 @@ sources: + "r26": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26-windows.zip" + sha256: "a748c6634b96991e15cb8902ffa4a498bba2ec6aa8028526de3c4c9dfcf00663" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26-linux.zip" + sha256: "1505c2297a5b7a04ed20b5d44da5665e91bac2b7c0fbcd3ae99b6ccc3a61289a" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26-darwin.zip" + sha256: "b2ab2fd17f71e2d2994c8c0ba2e48e99377806e05bf7477093344c26ab71dec0" "r25c": "Windows": "x86_64": diff --git a/recipes/android-ndk/config.yml b/recipes/android-ndk/config.yml index abc3839165991..afb825c16b4c6 100644 --- a/recipes/android-ndk/config.yml +++ b/recipes/android-ndk/config.yml @@ -1,4 +1,6 @@ versions: + "r26": + folder: all "r25c": folder: all "r25b": From b7c0ba63820a0d0a6def11f205f1dc7586f93b73 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 22:32:24 +0300 Subject: [PATCH 1931/4087] (#20316) aws-kvs-pic: add v1.0.1, simplify patching --- recipes/aws-kvs-pic/all/conandata.yml | 6 +++--- recipes/aws-kvs-pic/all/conanfile.py | 10 +++++----- .../all/patches/0001-do-not-enforce-fpic.patch | 11 ----------- recipes/aws-kvs-pic/config.yml | 2 ++ 4 files changed, 10 insertions(+), 19 deletions(-) delete mode 100644 recipes/aws-kvs-pic/all/patches/0001-do-not-enforce-fpic.patch diff --git a/recipes/aws-kvs-pic/all/conandata.yml b/recipes/aws-kvs-pic/all/conandata.yml index 9d7d13929fbbc..4be3843841ab1 100644 --- a/recipes/aws-kvs-pic/all/conandata.yml +++ b/recipes/aws-kvs-pic/all/conandata.yml @@ -1,7 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/awslabs/amazon-kinesis-video-streams-pic/archive/refs/tags/v1.0.1.tar.gz" + sha256: "d04732217c74687c5498665b353cb089d725ca7f5b5da61a3f984f7fbefb2ac9" "cci.20210812": url: "https://github.com/awslabs/amazon-kinesis-video-streams-pic/archive/bbf0e4ba749a6c045fc3958951c1c3a61a808dd0.tar.gz" sha256: "5a6d8da62af766ec86423ead2a45d9ff00cd80ddea679ce228ff9696a490fae5" -patches: - "cci.20210812": - - patch_file: "patches/0001-do-not-enforce-fpic.patch" diff --git a/recipes/aws-kvs-pic/all/conanfile.py b/recipes/aws-kvs-pic/all/conanfile.py index f9858a924f304..a0653e082edea 100644 --- a/recipes/aws-kvs-pic/all/conanfile.py +++ b/recipes/aws-kvs-pic/all/conanfile.py @@ -3,7 +3,7 @@ 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.files import copy, get, rmdir, replace_in_file required_conan_version = ">=1.53.0" @@ -27,9 +27,6 @@ class awskvspicConan(ConanFile): "fPIC": True, } - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -55,8 +52,11 @@ def generate(self): tc.variables["BUILD_DEPENDENCIES"] = False tc.generate() + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), " -fPIC", "") + def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/aws-kvs-pic/all/patches/0001-do-not-enforce-fpic.patch b/recipes/aws-kvs-pic/all/patches/0001-do-not-enforce-fpic.patch deleted file mode 100644 index 0286a964caa2c..0000000000000 --- a/recipes/aws-kvs-pic/all/patches/0001-do-not-enforce-fpic.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt 2021-08-06 17:10:31.808434572 -0300 -+++ b/CMakeLists.txt 2021-08-06 17:10:31.888434646 -0300 -@@ -79,7 +79,7 @@ - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads) - --set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") -+ - - if(MSVC) - add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING) diff --git a/recipes/aws-kvs-pic/config.yml b/recipes/aws-kvs-pic/config.yml index e6b575a028845..42adf0e62a4df 100644 --- a/recipes/aws-kvs-pic/config.yml +++ b/recipes/aws-kvs-pic/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.1": + folder: all "cci.20210812": folder: all From bbb3c7ab4fe300d6f587e0ef20eec9a507af4e75 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 4 Oct 2023 23:07:44 +0300 Subject: [PATCH 1932/4087] (#18868) microprofile: migrate to Conan v2 * microprofile: migrate to Conan v2 * microprofile: restore VirtualRunEnv in test_package * microprofile: fix license URL * microprofile: tweak defines file creation * microprofile: bump deps --------- Co-authored-by: Daniel --- recipes/microprofile/all/CMakeLists.txt | 66 +++++- recipes/microprofile/all/conandata.yml | 5 +- recipes/microprofile/all/conanfile.py | 212 +++++++++--------- recipes/microprofile/all/patches/cmake.patch | 67 ------ .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 22 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ 8 files changed, 212 insertions(+), 191 deletions(-) delete mode 100644 recipes/microprofile/all/patches/cmake.patch create mode 100644 recipes/microprofile/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/microprofile/all/test_v1_package/conanfile.py diff --git a/recipes/microprofile/all/CMakeLists.txt b/recipes/microprofile/all/CMakeLists.txt index ff45b79a8420c..c54dc9657fda8 100644 --- a/recipes/microprofile/all/CMakeLists.txt +++ b/recipes/microprofile/all/CMakeLists.txt @@ -1,7 +1,63 @@ -cmake_minimum_required(VERSION 3.10) -project(cmake_wrapper) +cmake_minimum_required(VERSION 3.4) +project(microprofile) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +option(MICROPROFILE_USE_CONFIG_FILE "Use user provided configuration in microprofile.config.h file." ON) -add_subdirectory("source_subfolder") +set(MICROPROFILE_EXPORT_FILENAME microprofile.export.h) +set(MICROPROFILE_CONFIG_HEADER ${PROJECT_SOURCE_DIR}/microprofile.config.h) +set(MICROPROFILE_PUBLIC_HEADERS + ${PROJECT_SOURCE_DIR}/microprofile.h + ${CMAKE_CURRENT_BINARY_DIR}/${MICROPROFILE_EXPORT_FILENAME} +) + +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) + +add_library(${PROJECT_NAME} microprofile.h microprofile.cpp) + +include(GenerateExportHeader) +generate_export_header(${PROJECT_NAME} + EXPORT_MACRO_NAME MICROPROFILE_API + EXPORT_FILE_NAME ${MICROPROFILE_EXPORT_FILENAME} +) + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $ + $ +) + +if (MICROPROFILE_USE_CONFIG_FILE) + target_compile_definitions(${PROJECT_NAME} PUBLIC MICROPROFILE_USE_CONFIG) +endif() + +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) + +target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads) + +if (WIN32) + target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32) +endif() + +if (MP_MINIZ) + find_package(miniz REQUIRED CONFIG) + target_link_libraries(${PROJECT_NAME} PRIVATE miniz::miniz) +endif() + +if (MP_GPU_TIMERS_VULKAN) + find_package(Vulkan REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Vulkan) +endif() + +set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${MICROPROFILE_PUBLIC_HEADERS}") + +include(GNUInstallDirs) +install(TARGETS ${PROJECT_NAME} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} +) +if (MICROPROFILE_USE_CONFIG_FILE) + install(FILES ${MICROPROFILE_CONFIG_HEADER} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} + PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ + ) +endif() diff --git a/recipes/microprofile/all/conandata.yml b/recipes/microprofile/all/conandata.yml index 6715d7fabbe05..440ae9ec0e9ed 100644 --- a/recipes/microprofile/all/conandata.yml +++ b/recipes/microprofile/all/conandata.yml @@ -2,11 +2,8 @@ sources: "3.1": - url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v3.1.tar.gz" sha256: "300e1d0d21e4c13ad1de72c5309ba02fbdb3bcbbe26e5ad9ff8b798380781527" - - url: "https://unlicense.org/UNLICENSE" + - url: "https://raw.githubusercontent.com/jonasmr/microprofile/v4.0/LICENSE" sha256: "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c" patches: "3.1": - patch_file: "patches/sources_fix.patch" - base_path: "source_subfolder" - - patch_file: "patches/cmake.patch" - base_path: "source_subfolder" diff --git a/recipes/microprofile/all/conanfile.py b/recipes/microprofile/all/conanfile.py index 9f23e3872db58..abbded97a0b17 100644 --- a/recipes/microprofile/all/conanfile.py +++ b/recipes/microprofile/all/conanfile.py @@ -1,54 +1,59 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os +from collections import OrderedDict -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, download, export_conandata_patches, get, save + +required_conan_version = ">=1.53.0" class MicroprofileConan(ConanFile): name = "microprofile" + description = "Microprofile is a embeddable profiler in a few files, written in C++" license = "Unlicense" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jonasmr/microprofile" - description = "Microprofile is a embeddable profiler in a few files, written in C++" topics = ("profiler", "embedded", "timer") - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "microprofile_enabled": [True, False], "with_miniz": [True, False], - "thread_buffer_size": "ANY", - "thread_gpu_buffer_size": "ANY", - "max_frame_history": "ANY", - "webserver_port": "ANY", - "webserver_maxframes": "ANY", - "webserver_socket_buffer_size": "ANY", - "gpu_frame_delay": "ANY", - "name_max_length": "ANY", - "max_timers": "ANY", - "max_threads": "ANY", - "max_string_length": "ANY", - "timeline_max_tokens": "ANY", - "thread_log_frames_reuse": "ANY", - "max_groups": "ANY", + "thread_buffer_size": ["ANY"], + "thread_gpu_buffer_size": ["ANY"], + "max_frame_history": ["ANY"], + "webserver_port": ["ANY"], + "webserver_maxframes": ["ANY"], + "webserver_socket_buffer_size": ["ANY"], + "gpu_frame_delay": ["ANY"], + "name_max_length": ["ANY"], + "max_timers": ["ANY"], + "max_threads": ["ANY"], + "max_string_length": ["ANY"], + "timeline_max_tokens": ["ANY"], + "thread_log_frames_reuse": ["ANY"], + "max_groups": ["ANY"], "use_big_endian": [True, False], "enable_gpu_timer_callbacks": [True, False], - "enable_timer": [None, "gl", "d3d11", "d3d12", "vulkan"] + "enable_timer": [None, "gl", "d3d11", "d3d12", "vulkan"], } default_options = { "shared": False, "fPIC": True, "microprofile_enabled": True, "with_miniz": False, - "thread_buffer_size": 2048 << 10, - "thread_gpu_buffer_size": 128 << 10, + "thread_buffer_size": 2097152, + "thread_gpu_buffer_size": 131072, "max_frame_history": 512, "webserver_port": 1338, "webserver_maxframes": 30, - "webserver_socket_buffer_size": 16 << 10, + "webserver_socket_buffer_size": 16384, "gpu_frame_delay": 5, "name_max_length": 64, "max_timers": 1024, @@ -59,23 +64,35 @@ class MicroprofileConan(ConanFile): "max_groups": 128, "use_big_endian": False, "enable_gpu_timer_callbacks": False, - "enable_timer": None + "enable_timer": None, } - _cmake = None + def export_sources(self): + export_conandata_patches(self) + copy(self, "CMakeLists.txt", + src=self.recipe_folder, + dst=os.path.join(self.export_sources_folder, "src")) - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_miniz: + self.requires("miniz/3.0.2") + if self.options.enable_timer == "gl": + self.requires("opengl/system") + if self.options.enable_timer == "vulkan": + self.requires("vulkan-loader/1.3.243.0") + def _validate_int_options(self): positive_int_options = [ "thread_buffer_size", @@ -91,19 +108,19 @@ def _validate_int_options(self): "max_string_length", "timeline_max_tokens", "thread_log_frames_reuse", - "max_groups" + "max_groups", ] for opt in positive_int_options: try: - value = int(getattr(self.options, opt)) + value = int(self.options.get_safe(opt)) if value < 0: raise ValueError except ValueError: - raise ConanInvalidConfiguration("microprofile:{} must be a positive integer".format(opt)) + raise ConanInvalidConfiguration(f"microprofile:{opt} must be a positive integer") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) if self.settings.os != "Windows" and self.options.enable_timer in ["d3d11", "d3d12"]: raise ConanInvalidConfiguration("DirectX timers can only be used in Windows.") if self.options.enable_timer and self.options.enable_gpu_timer_callbacks: @@ -113,91 +130,78 @@ def validate(self): if int(self.options.max_groups) % 32 != 0: raise ConanInvalidConfiguration("microprofile:max_groups must be multiple of 32.") - if int(self.options.webserver_port) > 2 ** 16 - 1: + if int(self.options.webserver_port) > 2**16 - 1: raise ConanInvalidConfiguration("microprofile:webserver_port must be between 0 and 65535.") - def configure(self): - if self.options.shared: - del self.options.fPIC - - def requirements(self): - if self.options.with_miniz: - self.requires("miniz/2.2.0") - if self.options.enable_timer == "gl": - self.requires("opengl/system") - if self.options.enable_timer == "vulkan": - self.requires("vulkan-loader/1.2.182") - def source(self): - tools.get(**self.conan_data["sources"][self.version][0], strip_root=True, destination=self._source_subfolder) - tools.download(filename="LICENSE", **self.conan_data["sources"][self.version][1]) + get(self, **self.conan_data["sources"][self.version][0], strip_root=True) + download(self, filename="LICENSE", **self.conan_data["sources"][self.version][1]) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["MP_MINIZ"] = self.options.with_miniz + tc.variables["MP_GPU_TIMERS_VULKAN"] = self.options.enable_timer == "vulkan" + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - self._create_defines_file(os.path.join(self._source_subfolder, "microprofile.config.h")) - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._create_defines_file(os.path.join(self.source_folder, "microprofile.config.h")) + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["MP_MINIZ"] = self.options.with_miniz - self._cmake.definitions["MP_GPU_TIMERS_VULKAN"] = self.options.enable_timer == "vulkan" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("LICENSE", 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() def _create_defines(self): - return [ - "MICROPROFILE_EXPORT", - ("MICROPROFILE_ENABLED", ("1" if self.options.microprofile_enabled else "0")), - ("MICROPROFILE_DEBUG", ("1" if self.settings.build_type == "Debug" else "0")), - ("MICROPROFILE_MINIZ", ("1" if self.options.with_miniz else "0")), - ("MICROPROFILE_BIG_ENDIAN", ("1" if self.options.use_big_endian else "0")), - ("MICROPROFILE_GPU_TIMERS", ("1" if self.options.enable_timer else "0")), - ("MICROPROFILE_GPU_TIMER_CALLBACKS", ("1" if self.options.enable_gpu_timer_callbacks else "0")), - ("MICROPROFILE_GPU_TIMERS_GL", ("1" if self.options.enable_timer == "gl" else "0")), - ("MICROPROFILE_GPU_TIMERS_D3D11", ("1" if self.options.enable_timer == "d3d11" else "0")), - ("MICROPROFILE_GPU_TIMERS_D3D12", ("1" if self.options.enable_timer == "d3d12" else "0")), - ("MICROPROFILE_GPU_TIMERS_VULKAN", ("1" if self.options.enable_timer == "vulkan" else "0")), - ("MICROPROFILE_PER_THREAD_BUFFER_SIZE", str(self.options.thread_buffer_size)), - ("MICROPROFILE_PER_THREAD_GPU_BUFFER_SIZE", str(self.options.thread_gpu_buffer_size)), - ("MICROPROFILE_MAX_FRAME_HISTORY", str(self.options.max_frame_history)), - ("MICROPROFILE_WEBSERVER_PORT", str(self.options.webserver_port)), - ("MICROPROFILE_WEBSERVER_MAXFRAMES", str(self.options.webserver_maxframes)), - ("MICROPROFILE_WEBSERVER_SOCKET_BUFFER_SIZE", str(self.options.webserver_socket_buffer_size)), - ("MICROPROFILE_GPU_FRAME_DELAY", str(self.options.gpu_frame_delay)), - ("MICROPROFILE_NAME_MAX_LEN", str(self.options.name_max_length)), - ("MICROPROFILE_MAX_TIMERS", str(self.options.max_timers)), - ("MICROPROFILE_MAX_THREADS", str(self.options.max_threads)), - ("MICROPROFILE_MAX_STRING", str(self.options.max_string_length)), - ("MICROPROFILE_TIMELINE_MAX_TOKENS", str(self.options.timeline_max_tokens)), - ("MICROPROFILE_THREAD_LOG_FRAMES_REUSE", str(self.options.thread_log_frames_reuse)), - ("MICROPROFILE_MAX_GROUPS", str(self.options.max_groups)) - ] + defines = OrderedDict() + defines["MICROPROFILE_EXPORT"] = None + defines["MICROPROFILE_ENABLED"] = bool(self.options.microprofile_enabled) + defines["MICROPROFILE_DEBUG"] = bool(self.settings.build_type == "Debug") + defines["MICROPROFILE_MINIZ"] = bool(self.options.with_miniz) + defines["MICROPROFILE_BIG_ENDIAN"] = bool(self.options.use_big_endian) + defines["MICROPROFILE_GPU_TIMERS"] = bool(self.options.enable_timer) + defines["MICROPROFILE_GPU_TIMER_CALLBACKS"] = bool(self.options.enable_gpu_timer_callbacks) + defines["MICROPROFILE_GPU_TIMERS_GL"] = bool(self.options.enable_timer == "gl") + defines["MICROPROFILE_GPU_TIMERS_D3D11"] = bool(self.options.enable_timer == "d3d11") + defines["MICROPROFILE_GPU_TIMERS_D3D12"] = bool(self.options.enable_timer == "d3d12") + defines["MICROPROFILE_GPU_TIMERS_VULKAN"] = bool(self.options.enable_timer == "vulkan") + defines["MICROPROFILE_PER_THREAD_BUFFER_SIZE"] = self.options.thread_buffer_size + defines["MICROPROFILE_PER_THREAD_GPU_BUFFER_SIZE"] = self.options.thread_gpu_buffer_size + defines["MICROPROFILE_MAX_FRAME_HISTORY"] = self.options.max_frame_history + defines["MICROPROFILE_WEBSERVER_PORT"] = self.options.webserver_port + defines["MICROPROFILE_WEBSERVER_MAXFRAMES"] = self.options.webserver_maxframes + defines["MICROPROFILE_WEBSERVER_SOCKET_BUFFER_SIZE"] = self.options.webserver_socket_buffer_size + defines["MICROPROFILE_GPU_FRAME_DELAY"] = self.options.gpu_frame_delay + defines["MICROPROFILE_NAME_MAX_LEN"] = self.options.name_max_length + defines["MICROPROFILE_MAX_TIMERS"] = self.options.max_timers + defines["MICROPROFILE_MAX_THREADS"] = self.options.max_threads + defines["MICROPROFILE_MAX_STRING"] = self.options.max_string_length + defines["MICROPROFILE_TIMELINE_MAX_TOKENS"] = self.options.timeline_max_tokens + defines["MICROPROFILE_THREAD_LOG_FRAMES_REUSE"] = self.options.thread_log_frames_reuse + defines["MICROPROFILE_MAX_GROUPS"] = self.options.max_groups + return defines def _create_defines_file(self, filename): defines = self._create_defines() defines_list = ["#pragma once\n"] - for define in defines: - if isinstance(define, tuple) or isinstance(define, list): - defines_list.append("#define {} {}\n".format(define[0], define[1])) + for define, value in defines.items(): + if value is None or value == "": + defines_list.append(f"#define {define}\n") + elif value in [True, False]: + defines_list.append(f"#define {define} {'1' if value else '0'}\n") else: - defines_list.append("#define {}\n".format(define)) - tools.save(filename, "".join(defines_list)) + defines_list.append(f"#define {define} {value}\n") + save(self, filename, "".join(defines_list)) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - self.cpp_info.names["cmake_find_package"] = self.name - self.cpp_info.names["cmake_find_package_multi"] = self.name + self.cpp_info.libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] - elif self.settings.os == "Linux": + elif self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] self.cpp_info.defines.append("MICROPROFILE_USE_CONFIG") diff --git a/recipes/microprofile/all/patches/cmake.patch b/recipes/microprofile/all/patches/cmake.patch deleted file mode 100644 index b92ba025b0a43..0000000000000 --- a/recipes/microprofile/all/patches/cmake.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,64 @@ -+cmake_minimum_required(VERSION 3.4) -+project(microprofile) -+ -+option(MICROPROFILE_USE_CONFIG_FILE "Use user provided configuration in microprofile.config.h file." ON) -+ -+set(MICROPROFILE_EXPORT_FILENAME microprofile.export.h) -+set(MICROPROFILE_CONFIG_HEADER ${PROJECT_SOURCE_DIR}/microprofile.config.h) -+set(MICROPROFILE_PUBLIC_HEADERS -+ ${PROJECT_SOURCE_DIR}/microprofile.h -+ ${CMAKE_CURRENT_BINARY_DIR}/${MICROPROFILE_EXPORT_FILENAME} -+) -+ -+set(THREADS_PREFER_PTHREAD_FLAG ON) -+find_package(Threads REQUIRED) -+ -+add_library(${PROJECT_NAME} microprofile.h microprofile.cpp) -+ -+include(GenerateExportHeader) -+generate_export_header(${PROJECT_NAME} -+ EXPORT_MACRO_NAME MICROPROFILE_API -+ EXPORT_FILE_NAME ${MICROPROFILE_EXPORT_FILENAME} -+) -+ -+target_include_directories(${PROJECT_NAME} PUBLIC -+ $ -+ $ -+ $ -+) -+ -+if (MICROPROFILE_USE_CONFIG_FILE) -+ target_compile_definitions(${PROJECT_NAME} PUBLIC MICROPROFILE_USE_CONFIG) -+endif() -+ -+target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) -+ -+target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads) -+ -+if (WIN32) -+ target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32) -+endif() -+ -+if (MP_MINIZ) -+ target_link_libraries(${PROJECT_NAME} PRIVATE CONAN_PKG::miniz) -+endif() -+ -+if (MP_GPU_TIMERS_VULKAN) -+ target_link_libraries(${PROJECT_NAME} PRIVATE CONAN_PKG::vulkan-loader) -+endif() -+ -+set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${MICROPROFILE_PUBLIC_HEADERS}") -+ -+include(GNUInstallDirs) -+install(TARGETS ${PROJECT_NAME} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} -+) -+if (MICROPROFILE_USE_CONFIG_FILE) -+ install(FILES ${MICROPROFILE_CONFIG_HEADER} -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} -+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ -+ ) -+endif() diff --git a/recipes/microprofile/all/test_package/CMakeLists.txt b/recipes/microprofile/all/test_package/CMakeLists.txt index ed091dc6c1aee..34366c2d4346f 100644 --- a/recipes/microprofile/all/test_package/CMakeLists.txt +++ b/recipes/microprofile/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(microprofile REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/microprofile/all/test_package/conanfile.py b/recipes/microprofile/all/test_package/conanfile.py index 30f8c8cfb0975..ef5d7042163ec 100644 --- a/recipes/microprofile/all/test_package/conanfile.py +++ b/recipes/microprofile/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 MicroprofileTestConan(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", "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/microprofile/all/test_v1_package/CMakeLists.txt b/recipes/microprofile/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/microprofile/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/microprofile/all/test_v1_package/conanfile.py b/recipes/microprofile/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..30f8c8cfb0975 --- /dev/null +++ b/recipes/microprofile/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class MicroprofileTestConan(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 d48ad2ec00295936cd19a02462b0f10f25e4515e Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Thu, 5 Oct 2023 07:19:41 +1030 Subject: [PATCH 1933/4087] (#19909) [armadillo] Prevent static builds when use_wrapper=True * [armadillo] Prevent static builds when use_wrapper=True For armadillo to wrap other libraries, these other libraries must be either statically compiled into the armadillo binary or dynamically linked to by libarmadillo. This is not possible when armadillo is a static library itself, without doing some unusual modification of the armadillo archive. This change ensures that armadillo is built as a shared library when use_wrapper=True, which is the only configuration that would enable libarmadillo to be used this way. Closes #7840 * [armadillo] Prevent transitive library propagate when use_wrapper=True The armadillo run-time library wrapper is designed to provide an opaque integration with upstream libraries, and so these are not required to be passed transitively. * Bump hdf5 version Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/armadillo/all/conanfile.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/armadillo/all/conanfile.py b/recipes/armadillo/all/conanfile.py index ef77af6e7bf33..88da815dbce2a 100644 --- a/recipes/armadillo/all/conanfile.py +++ b/recipes/armadillo/all/conanfile.py @@ -174,6 +174,9 @@ def validate(self): "The wrapper requires the use of an external RNG. Set use_extern_rng=True and try again." ) + if not self.options.shared and self.options.use_wrapper: + raise ConanInvalidConfiguration("Building the armadillo run-time wrapper library requires armadillo/*:shared=True") + def requirements(self): # Optional requirements # TODO: "atlas/3.10.3" # Pending https://github.com/conan-io/conan-center-index/issues/6757 @@ -186,10 +189,12 @@ def requirements(self): # See https://gitlab.com/conradsnicta/armadillo-code/-/issues/227 for more information. if self.options.use_hdf5 and Version(self.version) < "12": # Use the conan dependency if the system lib isn't being used - self.requires("hdf5/1.14.0", transitive_headers=True, transitive_libs=True) + # Libraries not required to be propagated transitively when the armadillo run-time wrapper is used + self.requires("hdf5/1.14.1", transitive_headers=True, transitive_libs=not self.options.use_wrapper) if self.options.use_blas == "openblas": - self.requires("openblas/0.3.20", transitive_libs=True) + # Libraries not required to be propagated transitively when the armadillo run-time wrapper is used + self.requires("openblas/0.3.20", transitive_libs=not self.options.use_wrapper) if ( self.options.use_blas == "intel_mkl" and self.options.use_lapack == "intel_mkl" From df2780df40710985b1f86451c02364f922653be5 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 4 Oct 2023 23:56:26 +0200 Subject: [PATCH 1934/4087] (#19983) xkbcommon/all: bump deps * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * use * wayland-protocols is never a requirement * wayland-protocols is a tool_requirement * fixup --- recipes/xkbcommon/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index d6a9ac9f0458d..73fdaedd84c66 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -67,7 +67,7 @@ def requirements(self): if self.options.get_safe("xkbregistry"): self.requires("libxml2/2.11.4") if self.options.get_safe("with_wayland"): - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") if not self._has_build_profile: self.requires("wayland-protocols/1.31") @@ -76,12 +76,12 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.2") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._has_build_profile and self.options.get_safe("with_wayland"): - self.tool_requires("wayland/1.21.0") + self.tool_requires("wayland/") self.tool_requires("wayland-protocols/1.31") def source(self): From 88388a32bf8af56adf7230d7e7c9298e690f4ce5 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 4 Oct 2023 18:01:13 -0500 Subject: [PATCH 1935/4087] (#20318) libevdev: Add recipe * libevdev: Add recipe * Don't set PATH --- recipes/libevdev/all/conandata.yml | 4 + recipes/libevdev/all/conanfile.py | 79 +++++++++++++++++++ .../libevdev/all/test_package/conanfile.py | 32 ++++++++ recipes/libevdev/all/test_package/meson.build | 5 ++ .../libevdev/all/test_package/test_package.c | 8 ++ recipes/libevdev/config.yml | 3 + 6 files changed, 131 insertions(+) create mode 100644 recipes/libevdev/all/conandata.yml create mode 100644 recipes/libevdev/all/conanfile.py create mode 100644 recipes/libevdev/all/test_package/conanfile.py create mode 100644 recipes/libevdev/all/test_package/meson.build create mode 100644 recipes/libevdev/all/test_package/test_package.c create mode 100644 recipes/libevdev/config.yml diff --git a/recipes/libevdev/all/conandata.yml b/recipes/libevdev/all/conandata.yml new file mode 100644 index 0000000000000..36ae01fb48f05 --- /dev/null +++ b/recipes/libevdev/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.13.1": + url: "https://www.freedesktop.org/software/libevdev/libevdev-1.13.1.tar.xz" + sha256: "06a77bf2ac5c993305882bc1641017f5bec1592d6d1b64787bad492ab34f2f36" diff --git a/recipes/libevdev/all/conanfile.py b/recipes/libevdev/all/conanfile.py new file mode 100644 index 0000000000000..bd31989739c14 --- /dev/null +++ b/recipes/libevdev/all/conanfile.py @@ -0,0 +1,79 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + +class LibEvdevConan(ConanFile): + name = "libevdev" + description = "libevdev is a wrapper library for evdev devices." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.freedesktop.org/wiki/Software/libevdev" + topics = ("device", "evdev", "freedesktop", "input") + 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") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if not self.settings.os in ["FreeBSD", "Linux"]: + raise ConanInvalidConfiguration(f"{self.name} Only supports FreeBSD and Linux") + + def build_requirements(self): + self.tool_requires("meson/1.2.2") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["tests"] = "disabled" + tc.project_options["documentation"] = "disabled" + tc.project_options["coverity"] = "false" + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libs = ["evdev"] + self.cpp_info.includedirs = [os.path.join("include", f"libevdev-{Version(self.version).major}.0")] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "rt"]) diff --git a/recipes/libevdev/all/test_package/conanfile.py b/recipes/libevdev/all/test_package/conanfile.py new file mode 100644 index 0000000000000..5aab0703e7a4e --- /dev/null +++ b/recipes/libevdev/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.2") + 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/libevdev/all/test_package/meson.build b/recipes/libevdev/all/test_package/meson.build new file mode 100644 index 0000000000000..16df74e848742 --- /dev/null +++ b/recipes/libevdev/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +libevdev_dep = dependency('libevdev') +executable('test_package', + sources : ['test_package.c'], + dependencies : [libevdev_dep]) diff --git a/recipes/libevdev/all/test_package/test_package.c b/recipes/libevdev/all/test_package/test_package.c new file mode 100644 index 0000000000000..c8e6a5edda83f --- /dev/null +++ b/recipes/libevdev/all/test_package/test_package.c @@ -0,0 +1,8 @@ +#include + +#include + +int main(void) { + libevdev_new_from_fd(0, NULL); + return 0; +} diff --git a/recipes/libevdev/config.yml b/recipes/libevdev/config.yml new file mode 100644 index 0000000000000..aac1819cc10c0 --- /dev/null +++ b/recipes/libevdev/config.yml @@ -0,0 +1,3 @@ +versions: + "1.13.1": + folder: all From 91ec6bda94921ca37f12961f29aed86a53e5488f Mon Sep 17 00:00:00 2001 From: Luis Andres Cesena <84929991+cesenaLA@users.noreply.github.com> Date: Wed, 4 Oct 2023 18:54:52 -0500 Subject: [PATCH 1936/4087] (#19593) libdwarf: add version 0.7.0, fix missing header in v0.5.0 * libdwarf: Fix missing dwarf.h in package v0.5.0 Updated CMake patch to also install dwarf.h. The patch was already in place for version v20191104 but was missed when the recipe got updated to v0.5.0. Also updated tests to use Dwarf Attributes defined in dwarf.h. * Remove dependency on libelf if build_dwargen=False libdwarf doesn't depend on libelf since version 0.1.0. The dependency is only needed if dwarfgen is built. The patch drops the REQUIRED parameter for find_package on libelf, it should be available only when build_dwarfgen=True. Fixed syntax error in conanfile when calling append. * libdwarf: add version 0.7.0 * Check BUILD_DWARGEN before looking for libelf Instead of dropping the REQUIRED options from find_package, don't search for it if we don't need it. * Stop exporting libdwarf.pc file --------- Co-authored-by: Uilian Ries --- recipes/libdwarf/all/conandata.yml | 10 ++ recipes/libdwarf/all/conanfile.py | 5 +- .../all/patches/0.5.0-0001-fix-cmake.patch | 12 +- .../all/patches/0.7.0-0001-fix-cmake.patch | 128 ++++++++++++++++++ .../libdwarf/all/test_package/test_package.c | 3 + recipes/libdwarf/config.yml | 2 + 6 files changed, 157 insertions(+), 3 deletions(-) create mode 100644 recipes/libdwarf/all/patches/0.7.0-0001-fix-cmake.patch diff --git a/recipes/libdwarf/all/conandata.yml b/recipes/libdwarf/all/conandata.yml index 75d6fc5547c89..45a483876642a 100644 --- a/recipes/libdwarf/all/conandata.yml +++ b/recipes/libdwarf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://www.prevanders.net/libdwarf-0.7.0.tar.xz" + sha256: "23b71829de875fa5842e49f232c8ee1a5043805749738bc61424d9abc1189f38" "0.5.0": url: "https://www.prevanders.net/libdwarf-0.5.0.tar.xz" sha256: "11fa822c60317fa00e1a01a2ac9e8388f6693e8662ab72d352c5f50c7e0112a9" @@ -6,6 +9,13 @@ sources: url: "https://www.prevanders.net/libdwarf-20191104.tar.gz" sha256: "45f50a966314421b7dab525859853616df6c9680f0ccf2f44b030c505236eaba" patches: + "0.7.0": + - patch_file: "patches/0.7.0-0001-fix-cmake.patch" + patch_description: "use cci package, remove lib64/bin64 install folders" + patch_type: "conan" + - patch_file: "patches/0.5.0-0001-fix-DW_API.patch" + patch_description: "fix DW_API definition" + patch_type: "portability" "0.5.0": - patch_file: "patches/0.5.0-0001-fix-cmake.patch" patch_description: "use cci package, remove lib64/bin64 install folders" diff --git a/recipes/libdwarf/all/conanfile.py b/recipes/libdwarf/all/conanfile.py index aa284382df444..0149255b7e4f0 100644 --- a/recipes/libdwarf/all/conanfile.py +++ b/recipes/libdwarf/all/conanfile.py @@ -47,7 +47,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libelf/0.8.13") + if self.options.with_dwarfgen or self.version == "20191104": + self.requires("libelf/0.8.13") self.requires("zlib/[>=1.2.11 <2]") def source(self): @@ -104,4 +105,4 @@ def package_info(self): self.env_info.PATH.append(bindir) if self.version != "20191104": - self.cpp_info.libs.append = ["dwarfp"] + self.cpp_info.libs.append("dwarfp") diff --git a/recipes/libdwarf/all/patches/0.5.0-0001-fix-cmake.patch b/recipes/libdwarf/all/patches/0.5.0-0001-fix-cmake.patch index fce5a0373f748..cd8664d42f3dc 100644 --- a/recipes/libdwarf/all/patches/0.5.0-0001-fix-cmake.patch +++ b/recipes/libdwarf/all/patches/0.5.0-0001-fix-cmake.patch @@ -6,7 +6,7 @@ index 4f58f43..69e0238 100644 ### cmake provides no way to guarantee uint32_t present. ### configure does guarantee that. -+find_package(libelf REQUIRED) ++find_package(libelf) if(HAVE_STDINT_H) check_c_source_compiles(" #include @@ -103,3 +103,13 @@ index 0b7d578..62b67da 100644 set(LIBDIR lib${SUFFIX}) set(BINDIR bin${SUFFIX}) +@@ -119,6 +121,9 @@ install( + ) + install(DIRECTORY libdwarf DESTINATION include/ + FILES_MATCHING PATTERN "*.h") ++install( ++ FILES ${CMAKE_CURRENT_SOURCE_DIR}/dwarf.h ++ DESTINATION include/libdwarf) + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/libdwarf.h + DESTINATION include/libdwarf) diff --git a/recipes/libdwarf/all/patches/0.7.0-0001-fix-cmake.patch b/recipes/libdwarf/all/patches/0.7.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..bb0a859d8fd82 --- /dev/null +++ b/recipes/libdwarf/all/patches/0.7.0-0001-fix-cmake.patch @@ -0,0 +1,128 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dd09dde8..8162a985 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -129,6 +129,9 @@ check_include_file( "libelf/libelf.h" HAVE_LIBELF_LIBELF_H) + + ### cmake provides no way to guarantee uint32_t present. + ### configure does guarantee that. ++if (BUILD_DWARFGEN) ++ find_package(libelf REQUIRED) ++endif() + if(HAVE_STDINT_H) + check_c_source_compiles(" + #include +@@ -192,7 +195,8 @@ elseif(HAVE_LIBELF_LIBELF_H) + endif() + + if (HAVE_LIBELF_H OR HAVE_LIBELF_LIBELF_H) +- set (CMAKE_REQUIRED_LIBRARIES elf) ++ set (CMAKE_REQUIRED_LIBRARIES libelf::libelf) ++ set (CMAKE_REQUIRED_DEFINITIONS -D__LIBELF64=1) + message(STATUS "libelf header ${PLAIN_JUST_LIBELF} checking for elf64_getehdr") + check_symbol_exists( elf64_getehdr ${PLAIN_JUST_LIBELF} HAVE_ELF64_GETEHDR) + message(STATUS "libelf header ${PLAIN_JUST_LIBELF} checking for elf64_getshdr") +@@ -216,6 +220,9 @@ if (DWARF_WITH_LIBELF) + message(STATUS "checking using elf header ... ${HAVE_LOCATION_OF_LIBELFHEADER}") + message(STATUS "checking using libelf header ... ${JUST_LIBELF}") + ++set (CMAKE_REQUIRED_LIBRARIES libelf::libelf) ++set (CMAKE_REQUIRED_DEFINITIONS -D__LIBELF64=1) ++ + check_c_source_compiles(" + #include ${HAVE_LOCATION_OF_LIBELFHEADER} + int main() +@@ -361,7 +368,6 @@ message(STATUS "Building api tests ... ${DOTESTS}") + ### end what was configure.cmake + + # This references cmake/FindLibElf.cmake. See cmake documentation. +-find_package(LibElf REQUIRED) + list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBELF_INCLUDE_DIRS}) + + configure_file(cmake/config.h.cmake config.h) +@@ -384,7 +390,6 @@ if(BUILD_SHARED) + endif() + + add_subdirectory(src/lib/libdwarf) +-add_subdirectory(src/bin/dwarfdump) + + if ( BUILD_DWARFEXAMPLE ) + add_subdirectory(src/bin/dwarfexample) +diff --git a/src/bin/dwarfdump/CMakeLists.txt b/src/bin/dwarfdump/CMakeLists.txt +index 507f761d..8ddb0d90 100644 +--- a/src/bin/dwarfdump/CMakeLists.txt ++++ b/src/bin/dwarfdump/CMakeLists.txt +@@ -64,7 +64,7 @@ target_compile_options(dwarfdump PRIVATE ${DW_FWALL}) + + target_link_libraries(dwarfdump PRIVATE ${dwarf-target} ${DW_FZLIB} ${DW_FZSTD} ) + +-if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) ++if(0) + set(SUFFIX 64) + endif() + set(LIBDIR lib${SUFFIX}) +diff --git a/src/bin/dwarfgen/CMakeLists.txt b/src/bin/dwarfgen/CMakeLists.txt +index a7f5d78e..60293f6b 100644 +--- a/src/bin/dwarfgen/CMakeLists.txt ++++ b/src/bin/dwarfgen/CMakeLists.txt +@@ -28,7 +28,7 @@ target_include_directories(dwarfgen PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/libdwarfp) + + target_link_libraries(dwarfgen PRIVATE ${dwarfp-target} +- ${dwarf-target} ${DW_FZLIB}) ++ ${dwarf-target} ${DW_FZLIB} libelf::libelf) + + set(SUFFIX $<$:64>) + set(LIBDIR lib${SUFFIX}) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 913274b8..8515e2b0 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -70,7 +70,7 @@ set_source_group(CONFIGURATION_FILES "Configuration Files" + + list(LENGTH DWARF_TARGETS targetCount) + math(EXPR targetCount "${targetCount} - 1") +-list(APPEND DWARF_LIBS ${LIBELF_LIBRARIES}) ++list(APPEND DWARF_LIBS ${libelf_LIBRARIES}) + if (DW_FZLIB) + list(APPEND DWARF_LIBS z) + endif() +@@ -88,13 +88,15 @@ foreach(i RANGE ${targetCount}) + ${LIBELF_INCLUDE_DIRS}) + target_compile_options(${target} PRIVATE -DLIBDWARF_BUILD + ${DW_FWALL}) +- msvc_posix(${target}) ++ if(BUILD_SHARED) ++ target_compile_definitions(${target} PRIVATE LIBDWARF_SHARED) ++ endif() ++ msvc_posix(${target}) + + target_link_libraries(${target} PUBLIC ${LIBELF_LIBRARIES} ${DW_FZLIB} ${DW_FZSTD} ) + + set_target_properties(${target} PROPERTIES OUTPUT_NAME dwarf) + +- set(SUFFIX $<$:64>) + set(LIBDIR lib${SUFFIX}) + set(BINDIR bin${SUFFIX}) + +@@ -105,7 +107,6 @@ foreach(i RANGE ${targetCount}) + endforeach() + + # add_library(libdwarf) +-configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY ) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -126,9 +127,9 @@ install( + ) + install(DIRECTORY libdwarf DESTINATION include/ + FILES_MATCHING PATTERN "*.h") ++install( ++ FILES ${CMAKE_CURRENT_SOURCE_DIR}/dwarf.h ++ DESTINATION include/libdwarf) + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/libdwarf.h + DESTINATION include/libdwarf) +-install( FILES ${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc +- DESTINATION lib/pkgconfig +-) diff --git a/recipes/libdwarf/all/test_package/test_package.c b/recipes/libdwarf/all/test_package/test_package.c index 33cfec6d8bf91..27d0d196b5a8d 100644 --- a/recipes/libdwarf/all/test_package/test_package.c +++ b/recipes/libdwarf/all/test_package/test_package.c @@ -7,6 +7,7 @@ #include "dwarf.h" #include "libdwarf.h" #else + #include "libdwarf/dwarf.h" #include "libdwarf/libdwarf.h" #endif @@ -20,6 +21,8 @@ void example1(Dwarf_Die somedie) { errv = dwarf_attrlist(somedie, &atlist, &atcount, &error); if (errv == DW_DLV_OK) { for (i = 0; i < atcount; ++i) { + Dwarf_Bool is_string; + dwarf_hasform(atlist[i], DW_FORM_string, &is_string, &error); dwarf_dealloc(dbg, atlist[i], DW_DLA_ATTR); } dwarf_dealloc(dbg, atlist, DW_DLA_LIST); diff --git a/recipes/libdwarf/config.yml b/recipes/libdwarf/config.yml index aa4d403dacd89..9d902d9eff520 100644 --- a/recipes/libdwarf/config.yml +++ b/recipes/libdwarf/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.5.0": folder: all "20191104": From 5e09f0a600cab2b2611d577bcc42009928118ad5 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 5 Oct 2023 02:33:44 +0200 Subject: [PATCH 1937/4087] (#19649) harfbuzz: remove unused versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * harfbuzz: remove unused versions * Add 7.3.0 back to keep one minor version from 7 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/harfbuzz/all/conandata.yml | 26 ----- recipes/harfbuzz/all/conanfile.py | 5 +- .../0000-fix-freetype-lookup-4.4.1.patch | 99 ------------------- recipes/harfbuzz/config.yml | 14 --- 4 files changed, 2 insertions(+), 142 deletions(-) delete mode 100644 recipes/harfbuzz/all/patches/0000-fix-freetype-lookup-4.4.1.patch diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index 779ff0fde3b71..d7feed1d663dd 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -8,44 +8,18 @@ sources: "8.0.1": url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.0.1/harfbuzz-8.0.1.tar.xz" sha256: "c1ce780acd385569f25b9a29603d1d5bc71e6940e55bfdd4f7266fad50e42620" - "8.0.0": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.0.0/harfbuzz-8.0.0.tar.xz" - sha256: "1f98b5e3d06a344fe667d7e8210094ced458791499839bddde98c167ce6a7c79" "7.3.0": url: "https://github.com/harfbuzz/harfbuzz/releases/download/7.3.0/harfbuzz-7.3.0.tar.xz" sha256: "20770789749ac9ba846df33983dbda22db836c70d9f5d050cb9aa5347094a8fb" - "7.1.0": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/7.1.0/harfbuzz-7.1.0.tar.xz" - sha256: "f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b" "6.0.0": url: "https://github.com/harfbuzz/harfbuzz/releases/download/6.0.0/harfbuzz-6.0.0.tar.xz" sha256: "1d1010a1751d076d5291e433c138502a794d679a7498d1268ee21e2d4a140eb4" - "5.3.1": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/5.3.1/harfbuzz-5.3.1.tar.xz" - sha256: "4a6ce097b75a8121facc4ba83b5b083bfec657f45b003cd5a3424f2ae6b4434d" - "5.3.0": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/5.3.0/harfbuzz-5.3.0.tar.xz" - sha256: "a05e19e3f52da24ed071522f0fddf872157d7d25e869cfd156cd6f1e81c42152" - "5.2.0": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/5.2.0/harfbuzz-5.2.0.tar.xz" - sha256: "735a94917b47936575acb4d4fa7e7986522f8a89527e4635721474dee2bc942c" "5.1.0": url: "https://github.com/harfbuzz/harfbuzz/releases/download/5.1.0/harfbuzz-5.1.0.tar.xz" sha256: "2edb95db668781aaa8d60959d21be2ff80085f31b12053cdd660d9a50ce84f05" - "4.4.1": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/4.4.1/harfbuzz-4.4.1.tar.xz" - sha256: "c5bc33ac099b2e52f01d27cde21cee4281b9d5bfec7684135e268512478bc9ee" - "3.2.0": - url: "https://github.com/harfbuzz/harfbuzz/releases/download/3.2.0/harfbuzz-3.2.0.tar.xz" - sha256: "0ada50a1c199bb6f70843ab893c55867743a443b84d087d54df08ad883ebc2cd" patches: "5.1.0": - patch_file: "patches/0000-fix-freetype-lookup-5.1.0.patch" patch_type: "portability" patch_description: "fix fretype and icu dependency lookup" patch_source: "https://github.com/harfbuzz/harfbuzz/pull/3811" - "4.4.1": - - patch_file: "patches/0000-fix-freetype-lookup-4.4.1.patch" - patch_type: "portability" - patch_description: "fix fretype and icu dependency lookup" - patch_source: "https://github.com/harfbuzz/harfbuzz/pull/3811" diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index ce1aa84efb199..5aba73dab807f 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -87,9 +87,8 @@ def validate(self): raise ConanInvalidConfiguration( "Linking a shared library against static glib can cause unexpected behaviour." ) - if Version(self.version) >= "4.4.0": - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": - raise ConanInvalidConfiguration("New versions of harfbuzz require at least gcc 7") + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration("New versions of harfbuzz require at least gcc 7") if self.options.with_glib and self.dependencies["glib"].options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( diff --git a/recipes/harfbuzz/all/patches/0000-fix-freetype-lookup-4.4.1.patch b/recipes/harfbuzz/all/patches/0000-fix-freetype-lookup-4.4.1.patch deleted file mode 100644 index 708b5d9734b00..0000000000000 --- a/recipes/harfbuzz/all/patches/0000-fix-freetype-lookup-4.4.1.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/meson.build b/meson.build -index 4a69d6d9e..a82ff598c 100644 ---- a/meson.build -+++ b/meson.build -@@ -21,7 +21,7 @@ pkgmod = import('pkgconfig') - cpp = meson.get_compiler('cpp') - null_dep = dependency('', required: false) - --if cpp.get_id() == 'msvc' -+if cpp.get_argument_syntax() == 'msvc' - # Ignore several spurious warnings for things HarfBuzz does very commonly. - # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it - # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once -@@ -83,25 +83,39 @@ check_funcs = [ - - m_dep = cpp.find_library('m', required: false) - --# https://github.com/harfbuzz/harfbuzz/pull/2498 --freetype_dep = dependency(cpp.get_argument_syntax() == 'msvc' ? 'freetype' : 'freetype2', -- required: get_option('freetype'), -- default_options: ['harfbuzz=disabled']) -+ -+# Try pkgconfig name -+freetype_dep = dependency('freetype2', required: false) -+if not freetype_dep.found() -+ # Try cmake name -+ freetype_dep = dependency('freetype', required: false) -+endif -+if not freetype_dep.found() -+ # Subproject fallback, `allow_fallback: true` means the fallback will be -+ # tried even if the freetype option is set to `auto`. -+ freetype_dep = dependency('freetype2', -+ required: get_option('freetype'), -+ default_options: ['harfbuzz=disabled'], -+ allow_fallback: true) -+endif - - glib_dep = dependency('glib-2.0', required: get_option('glib')) - gobject_dep = dependency('gobject-2.0', required: get_option('gobject')) - graphite2_dep = dependency('graphite2', required: get_option('graphite2')) - graphite_dep = dependency('graphite2', required: get_option('graphite')) - --if cpp.get_argument_syntax() == 'msvc' -+# Try pkgconfig name -+icu_dep = dependency('icu-uc', required: false) -+if not icu_dep.found() -+ # Try cmake name - icu_dep = dependency('ICU', -- required: get_option('icu'), -+ required: false, - components: 'uc', - method: 'cmake') --else -- icu_dep = dependency('icu-uc', -- required: get_option('icu'), -- method: 'pkg-config') -+endif -+if not icu_dep.found() -+ # Subproject fallback if icu option is enabled -+ icu_dep = dependency('icu-uc', required: get_option('icu')) - endif - - if icu_dep.found() and icu_dep.type_name() == 'pkgconfig' -@@ -118,7 +132,7 @@ if not get_option('cairo').disabled() - cairo_ft_dep = dependency('cairo-ft', required: false) - - if (not cairo_dep.found() and -- cpp.get_id() == 'msvc' and -+ cpp.get_argument_syntax() == 'msvc' and - cpp.has_header('cairo.h')) - cairo_dep = cpp.find_library('cairo', required: false) - if cairo_dep.found() and cpp.has_function('cairo_ft_font_face_create_for_ft_face', -@@ -198,6 +212,7 @@ if freetype_dep.found() - ['FT_Get_Var_Blend_Coordinates', {'deps': freetype_dep}], - ['FT_Set_Var_Blend_Coordinates', {'deps': freetype_dep}], - ['FT_Done_MM_Var', {'deps': freetype_dep}], -+ ['FT_Get_Transform', {'deps': freetype_dep}], - ] - - if freetype_dep.type_name() == 'internal' -@@ -232,17 +247,12 @@ if host_machine.system() == 'windows' and not get_option('gdi').disabled() - endif - - # DirectWrite (Windows) --directwrite_dep = null_dep - if host_machine.system() == 'windows' and not get_option('directwrite').disabled() - if get_option('directwrite').enabled() and not cpp.has_header('dwrite_1.h') - error('DirectWrite was enabled explicitly, but required header is missing.') - endif - -- directwrite_dep = cpp.find_library('dwrite', required: get_option('directwrite')) -- -- if directwrite_dep.found() -- conf.set('HAVE_DIRECTWRITE', 1) -- endif -+ conf.set('HAVE_DIRECTWRITE', 1) - endif - - # CoreText (macOS) diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index bff626c84bf86..5cf33eaf299d0 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -5,23 +5,9 @@ versions: folder: all "8.0.1": folder: all - "8.0.0": - folder: all "7.3.0": folder: all - "7.1.0": - folder: all "6.0.0": folder: all - "5.3.1": - folder: all - "5.3.0": - folder: all - "5.2.0": - folder: all "5.1.0": folder: all - "4.4.1": - folder: all - "3.2.0": - folder: all From 37b81df453bbfcc06d23c94b8c8d764502d1b69e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 4 Oct 2023 20:33:38 -0500 Subject: [PATCH 1938/4087] (#20320) mtdev: Add recipe * mtdev: Add recipe * Update recipes/mtdev/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/mtdev/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/mtdev/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/mtdev/all/conandata.yml | 4 ++ recipes/mtdev/all/conanfile.py | 63 +++++++++++++++++++ recipes/mtdev/all/test_package/CMakeLists.txt | 7 +++ recipes/mtdev/all/test_package/conanfile.py | 26 ++++++++ recipes/mtdev/all/test_package/test_package.c | 8 +++ recipes/mtdev/config.yml | 3 + 6 files changed, 111 insertions(+) create mode 100644 recipes/mtdev/all/conandata.yml create mode 100644 recipes/mtdev/all/conanfile.py create mode 100644 recipes/mtdev/all/test_package/CMakeLists.txt create mode 100644 recipes/mtdev/all/test_package/conanfile.py create mode 100644 recipes/mtdev/all/test_package/test_package.c create mode 100644 recipes/mtdev/config.yml diff --git a/recipes/mtdev/all/conandata.yml b/recipes/mtdev/all/conandata.yml new file mode 100644 index 0000000000000..62fe05ee3b518 --- /dev/null +++ b/recipes/mtdev/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.6": + url: "https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.gz" + sha256: "1325f389a2f25cd5f5a8ea4d29aad24aa7c3ec30401d679400dd79eb9c0a8dbb" diff --git a/recipes/mtdev/all/conanfile.py b/recipes/mtdev/all/conanfile.py new file mode 100644 index 0000000000000..14422989518f0 --- /dev/null +++ b/recipes/mtdev/all/conanfile.py @@ -0,0 +1,63 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.54.0" + + +class MtdevConan(ConanFile): + name = "mtdev" + description = "The mtdev library transforms all variants of kernel MT events to the slotted type B protocol." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://bitmath.org/code/mtdev/" + topics = ("device", "freedesktop", "input", "mt", "multitouch", "touch") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + + 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): + autotools = Autotools(self) + autotools.configure() + 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")) + + def package_info(self): + self.cpp_info.libs = ["mtdev"] diff --git a/recipes/mtdev/all/test_package/CMakeLists.txt b/recipes/mtdev/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..bfa4f8ba62c05 --- /dev/null +++ b/recipes/mtdev/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(mtdev REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE mtdev::mtdev) diff --git a/recipes/mtdev/all/test_package/conanfile.py b/recipes/mtdev/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/mtdev/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/mtdev/all/test_package/test_package.c b/recipes/mtdev/all/test_package/test_package.c new file mode 100644 index 0000000000000..8cce2788bfac4 --- /dev/null +++ b/recipes/mtdev/all/test_package/test_package.c @@ -0,0 +1,8 @@ +#include +#include "mtdev.h" + + +int main(void) { + mtdev_close(NULL); + return EXIT_SUCCESS; +} diff --git a/recipes/mtdev/config.yml b/recipes/mtdev/config.yml new file mode 100644 index 0000000000000..42b92d9f27e7f --- /dev/null +++ b/recipes/mtdev/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.6": + folder: all From 24adb50ef8df782b49c2a5074bfb3899856dd05e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 5 Oct 2023 04:12:22 +0200 Subject: [PATCH 1939/4087] (#20331) playrho: cleanup recipe in order to remove unnecessay/misleading logic --- recipes/playrho/all/conandata.yml | 1 - recipes/playrho/all/conanfile.py | 29 +++++++++++------------------ 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/recipes/playrho/all/conandata.yml b/recipes/playrho/all/conandata.yml index 9c08727b48484..df36531f2762c 100644 --- a/recipes/playrho/all/conandata.yml +++ b/recipes/playrho/all/conandata.yml @@ -2,7 +2,6 @@ sources: "1.1.0": url: "https://github.com/louis-langholtz/PlayRho/archive/refs/tags/v1.1.0.tar.gz" sha256: "45c0337440387a85a97a4b7907b79f780233bf2062635471b71a32245b0c0158" - patches: "1.1.0": - patch_file: "patches/1.1.0-0001-fix-target-name.patch" diff --git a/recipes/playrho/all/conanfile.py b/recipes/playrho/all/conanfile.py index b2457aa21b074..619e24882a463 100644 --- a/recipes/playrho/all/conanfile.py +++ b/recipes/playrho/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rename from conan.tools.scm import Version @@ -29,6 +29,10 @@ class PlayrhoConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return "17" + @property def _compilers_minimum_versions(self): return { @@ -55,18 +59,12 @@ def layout(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) - - compilers_minimum_version = self._compilers_minimum_versions - minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.name} requires C++17, which your compiler does not support." - ) - else: - self.output.warning( - f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17." + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_versions.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): @@ -80,9 +78,6 @@ def generate(self): tc.variables["PLAYRHO_INSTALL"] = True tc.generate() - tc = CMakeDeps(self) - tc.generate() - def build(self): apply_conandata_patches(self) cmake = CMake(self) @@ -97,8 +92,6 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "PlayRho")) - for dll in (self.package_path / "lib").glob("*.dll"): - rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.libs = ["PlayRho"] From f067ed55b82faefa0845326d5b0ba1107ed4580d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 5 Oct 2023 05:52:37 +0300 Subject: [PATCH 1940/4087] (#20340) libb2: fix install() in CMakeLists.txt --- recipes/libb2/all/CMakeLists.txt | 3 +++ recipes/libb2/all/conanfile.py | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/libb2/all/CMakeLists.txt b/recipes/libb2/all/CMakeLists.txt index ff47fce826321..9834b369a4d4b 100644 --- a/recipes/libb2/all/CMakeLists.txt +++ b/recipes/libb2/all/CMakeLists.txt @@ -41,4 +41,7 @@ set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${src}/ref/ include(GNUInstallDirs) install(TARGETS ${CMAKE_PROJECT_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libb2) diff --git a/recipes/libb2/all/conanfile.py b/recipes/libb2/all/conanfile.py index faf2474da04c4..ffc67ff6345fe 100644 --- a/recipes/libb2/all/conanfile.py +++ b/recipes/libb2/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rename +from conan.tools.files import copy, get required_conan_version = ">=1.53.0" @@ -77,8 +77,6 @@ def package(self): copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() - for dll in (self.package_path / "lib").glob("*.dll"): - rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.libs = ["b2"] From 8dc3c4b73a9d45b86fe37a993eb1ac7fc40e508f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 5 Oct 2023 06:32:10 +0300 Subject: [PATCH 1941/4087] (#20341) qdbm: fix install() in CMakeLists.txt --- recipes/qdbm/all/CMakeLists.txt | 7 +++++-- recipes/qdbm/all/conanfile.py | 4 +--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/qdbm/all/CMakeLists.txt b/recipes/qdbm/all/CMakeLists.txt index 1f080a697bce5..504c6e681a712 100644 --- a/recipes/qdbm/all/CMakeLists.txt +++ b/recipes/qdbm/all/CMakeLists.txt @@ -60,8 +60,11 @@ set_target_properties( # ---- Install ---- include(GNUInstallDirs) - -install(TARGETS qdbm) +install(TARGETS qdbm + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +) install( FILES diff --git a/recipes/qdbm/all/conanfile.py b/recipes/qdbm/all/conanfile.py index 583704293b76f..7de5afa132670 100644 --- a/recipes/qdbm/all/conanfile.py +++ b/recipes/qdbm/all/conanfile.py @@ -2,7 +2,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rename +from conan.tools.files import copy, get required_conan_version = ">=1.53.0" @@ -77,8 +77,6 @@ def package(self): copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() - for dll in (self.package_path / "lib").glob("*.dll"): - rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.libs = ["qdbm"] From 91666717630b823b2dc4957944f2062af283093a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 5 Oct 2023 07:01:14 +0300 Subject: [PATCH 1942/4087] (#20342) uchardet: fix unnecessary copying of DLLs --- recipes/uchardet/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/uchardet/all/conanfile.py b/recipes/uchardet/all/conanfile.py index 6163692ad75f8..dc6c7c2cfb327 100644 --- a/recipes/uchardet/all/conanfile.py +++ b/recipes/uchardet/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, rmdir, rename +from conan.tools.files import copy, get, replace_in_file, rmdir required_conan_version = ">=1.53.0" @@ -100,8 +100,6 @@ def package(self): 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) - for dll in (self.package_path / "lib").glob("*.dll"): - rename(self, dll, self.package_path / "bin" / dll.name) def package_info(self): self.cpp_info.set_property("pkg_config_name", "libuchardet") From 854292e05e9484e9dfe46d9911d8cb6315b7b929 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 5 Oct 2023 07:22:48 +0200 Subject: [PATCH 1943/4087] (#20157) libcurl: add GitHub mirror & prefer .tar.xz * add github mirror url and prefer .tar.xz tarballs * proper brolti find_package fix in libcurl >= 8.2.0 --- recipes/libcurl/all/conandata.yml | 90 ++++++++++++++++++++----------- recipes/libcurl/all/conanfile.py | 2 + 2 files changed, 62 insertions(+), 30 deletions(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index e0c9dcbbb2484..df4b2442214e4 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,46 +1,76 @@ sources: "8.2.1": - url: "https://curl.se/download/curl-8.2.1.tar.gz" - sha256: "f98bdb06c0f52bdd19e63c4a77b5eb19b243bcbbd0f5b002b9f3cba7295a3a42" + url: + - "https://curl.se/download/curl-8.2.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_2_1/curl-8.2.1.tar.xz" + sha256: "dd322f6bd0a20e6cebdfd388f69e98c3d183bed792cf4713c8a7ef498cba4894" "8.2.0": - url: "https://curl.se/download/curl-8.2.0.tar.gz" - sha256: "c67849462d171a3fee08b605cdd837d18ee22ecc3ee2c6a0393c9cec5d1a137e" + url: + - "https://curl.se/download/curl-8.2.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_2_0/curl-8.2.0.tar.xz" + sha256: "2859ec79e2cd96e976a99493547359b8001af1d1e21f3a3a3b846544ef54500f" "8.1.2": - url: "https://curl.se/download/curl-8.1.2.tar.gz" - sha256: "2e5a9b8fcdc095bdd2f079561f369de71c5eb3b80f00a702fbe9a8b8d9897891" + url: + - "https://curl.se/download/curl-8.1.2.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_1_2/curl-8.1.2.tar.xz" + sha256: "31b1118eb8bfd43cd95d9a3f146f814ff874f6ed3999b29d94f4d1e7dbac5ef6" "8.1.1": - url: "https://curl.se/download/curl-8.1.1.tar.gz" - sha256: "44915e6708551bff2b4fd1615d593bc843b00ba013012634c04208702e354ab2" + url: + - "https://curl.se/download/curl-8.1.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_1_1/curl-8.1.1.tar.xz" + sha256: "08a948e061929645597c1ef7194e07b308b22084ff03fa7400b465e6c05149e5" "8.0.1": - url: "https://curl.se/download/curl-8.0.1.tar.gz" - sha256: "5fd29000a4089934f121eff456101f0a5d09e2a3e89da1d714adf06c4be887cb" + url: + - "https://curl.se/download/curl-8.0.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_0_1/curl-8.0.1.tar.xz" + sha256: "0a381cd82f4d00a9a334438b8ca239afea5bfefcfa9a1025f2bf118e79e0b5f0" "7.88.1": - url: "https://curl.se/download/curl-7.88.1.tar.gz" - sha256: "cdb38b72e36bc5d33d5b8810f8018ece1baa29a8f215b4495e495ded82bbf3c7" + url: + - "https://curl.se/download/curl-7.88.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_88_1/curl-7.88.1.tar.xz" + sha256: "1dae31b2a7c1fe269de99c0c31bb488346aab3459b5ffca909d6938249ae415f" "7.87.0": - url: "https://curl.se/download/curl-7.87.0.tar.gz" - sha256: "8a063d664d1c23d35526b87a2bf15514962ffdd8ef7fd40519191b3c23e39548" + url: + - "https://curl.se/download/curl-7.87.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_87_0/curl-7.87.0.tar.xz" + sha256: "ee5f1a1955b0ed413435ef79db28b834ea5f0fb7c8cfb1ce47175cc3bee08fff" "7.86.0": - url: "https://curl.se/download/curl-7.86.0.tar.gz" - sha256: "3dfdd39ba95e18847965cd3051ea6d22586609d9011d91df7bc5521288987a82" + url: + - "https://curl.se/download/curl-7.86.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_86_0/curl-7.86.0.tar.xz" + sha256: "2d61116e5f485581f6d59865377df4463f2e788677ac43222b496d4e49fb627b" "7.85.0": - url: "https://curl.se/download/curl-7.85.0.tar.gz" - sha256: "78a06f918bd5fde3c4573ef4f9806f56372b32ec1829c9ec474799eeee641c27" + url: + - "https://curl.se/download/curl-7.85.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_85_0/curl-7.85.0.tar.xz" + sha256: "88b54a6d4b9a48cb4d873c7056dcba997ddd5b7be5a2d537a4acb55c20b04be6" "7.84.0": - url: "https://curl.se/download/curl-7.84.0.tar.gz" - sha256: "3c6893d38d054d4e378267166858698899e9d87258e8ff1419d020c395384535" + url: + - "https://curl.se/download/curl-7.84.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_84_0/curl-7.84.0.tar.xz" + sha256: "2d118b43f547bfe5bae806d8d47b4e596ea5b25a6c1f080aef49fbcd817c5db8" "7.83.1": - url: "https://curl.se/download/curl-7.83.1.tar.gz" - sha256: "93fb2cd4b880656b4e8589c912a9fd092750166d555166370247f09d18f5d0c0" + url: + - "https://curl.se/download/curl-7.83.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_83_1/curl-7.83.1.tar.xz" + sha256: "2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4" "7.82.0": - url: "https://curl.se/download/curl-7.82.0.tar.gz" - sha256: "910cc5fe279dc36e2cca534172c94364cf3fcf7d6494ba56e6c61a390881ddce" + url: + - "https://curl.se/download/curl-7.82.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_82_0/curl-7.82.0.tar.xz" + sha256: "0aaa12d7bd04b0966254f2703ce80dd5c38dbbd76af0297d3d690cdce58a583c" "7.80.0": - url: "https://curl.se/download/curl-7.80.0.tar.gz" - sha256: "dab997c9b08cb4a636a03f2f7f985eaba33279c1c52692430018fae4a4878dc7" + url: + - "https://curl.se/download/curl-7.80.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_80_0/curl-7.80.0.tar.xz" + sha256: "a132bd93188b938771135ac7c1f3ac1d3ce507c1fcbef8c471397639214ae2ab" "7.79.1": - url: "https://curl.se/download/curl-7.79.1.tar.gz" - sha256: "370b11201349816287fb0ccc995e420277fbfcaf76206e309b3f60f0eda090c2" + url: + - "https://curl.se/download/curl-7.79.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_79_1/curl-7.79.1.tar.xz" + sha256: "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689" "7.78.0": - url: "https://curl.se/download/curl-7.78.0.tar.gz" - sha256: "ed936c0b02c06d42cf84b39dd12bb14b62d77c7c4e875ade022280df5dcc81d7" + url: + - "https://curl.se/download/curl-7.78.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-7_78_0/curl-7.78.0.tar.xz" + sha256: "be42766d5664a739c3974ee3dfbbcbe978a4ccb1fe628bb1d9b59ac79e445fb5" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 1496108f12e8d..2d7615fa13540 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -336,6 +336,8 @@ def _patch_cmake(self): # brotli if Version(self.version) < "8.2.0": replace_in_file(self, cmakelists, "find_package(Brotli QUIET)", "find_package(brotli REQUIRED CONFIG)") + else: + replace_in_file(self, cmakelists, "find_package(Brotli REQUIRED)", "find_package(brotli REQUIRED CONFIG)") replace_in_file(self, cmakelists, "if(BROTLI_FOUND)", "if(brotli_FOUND)") replace_in_file(self, cmakelists, "${BROTLI_LIBRARIES}", "brotli::brotli") replace_in_file(self, cmakelists, "${BROTLI_INCLUDE_DIRS}", "${brotli_INCLUDE_DIRS}") From cd35c913e510e487b00c1fa736cc78d4b4999a1e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 5 Oct 2023 08:41:43 +0200 Subject: [PATCH 1944/4087] (#20074) nanodbc: no warnings as errors + bump deps + don't raise if apple-clang and nanodbc > 2.14.0 * several changes & fixes - disable warnings as errors - add required_conan_version - bump boost & odbc - don't raise for version > 2.14.0 if apple-clang - explicit CMake names since upstream export nanodbc::nanodbc target * sort version by desc order * minor change in test package * drop maintenance of cci.20200807 --- recipes/nanodbc/all/conandata.yml | 23 ++-------- recipes/nanodbc/all/conanfile.py | 46 +++++++++++-------- .../nanodbc/all/test_package/CMakeLists.txt | 2 +- recipes/nanodbc/all/test_package/conanfile.py | 1 + recipes/nanodbc/config.yml | 4 +- 5 files changed, 35 insertions(+), 41 deletions(-) diff --git a/recipes/nanodbc/all/conandata.yml b/recipes/nanodbc/all/conandata.yml index 7a0d0542f3be6..c6835a8c270b4 100644 --- a/recipes/nanodbc/all/conandata.yml +++ b/recipes/nanodbc/all/conandata.yml @@ -1,24 +1,18 @@ sources: - "cci.20200807": - url: "https://github.com/nanodbc/nanodbc/archive/ab8d176262f92d5f75aa2d441bfce27041032201.zip" - sha256: "9de057ae6e8d0b9192df1d16ccc70ce7525ca9fe52e56fa8d13cfae9206f8286" - "2.13.0": - url: "https://github.com/nanodbc/nanodbc/archive/v2.13.0.zip" - sha256: "1287869b6ca82728cb6cc53c54f836c72cde15370c16f32d81c9ef6c257f7e43" "2.14.0": url: "https://github.com/nanodbc/nanodbc/archive/v2.14.0.tar.gz" sha256: "56228372042b689beccd96b0ac3476643ea85b3f57b3f23fb11ca4314e68b9a5" + "2.13.0": + url: "https://github.com/nanodbc/nanodbc/archive/v2.13.0.zip" + sha256: "1287869b6ca82728cb6cc53c54f836c72cde15370c16f32d81c9ef6c257f7e43" patches: - "cci.20200807": + "2.14.0": - patch_file: "patches/0001-odbc-from-cci.patch" patch_description: "Allow compilation on CI with ODBC library" patch_type: "portability" - patch_file: "patches/0002-allow-windows-shared.patch" patch_description: "Allow windows to compile shared libraries" patch_type: "portability" - - patch_file: "patches/0003-add-missing-include.patch" - patch_description: "Add missing include to fix compilation for v2.13 and v20200807" - patch_type: "portability" "2.13.0": - patch_file: "patches/0001-odbc-from-cci.patch" patch_description: "Allow compilation on CI with ODBC library" @@ -27,12 +21,5 @@ patches: patch_description: "Allow windows to compile shared libraries" patch_type: "portability" - patch_file: "patches/0003-add-missing-include.patch" - patch_description: "Add missing include to fix compilation for v2.13 and v20200807" - patch_type: "portability" - "2.14.0": - - patch_file: "patches/0001-odbc-from-cci.patch" - patch_description: "Allow compilation on CI with ODBC library" - patch_type: "portability" - - patch_file: "patches/0002-allow-windows-shared.patch" - patch_description: "Allow windows to compile shared libraries" + patch_description: "Add missing include to fix compilation" patch_type: "portability" diff --git a/recipes/nanodbc/all/conanfile.py b/recipes/nanodbc/all/conanfile.py index e2bd806901885..c0ece80748978 100644 --- a/recipes/nanodbc/all/conanfile.py +++ b/recipes/nanodbc/all/conanfile.py @@ -2,18 +2,21 @@ 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 get, apply_conandata_patches, export_conandata_patches, rmdir, copy +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.scm import Version import os +required_conan_version = ">=1.53.0" + + class NanodbcConan(ConanFile): name = "nanodbc" description = "A small C++ wrapper for the native C ODBC API" - topics = ("conan", "nanodbc", "odbc", "database") + topics = ("odbc", "database") license = "MIT" homepage = "https://github.com/nanodbc/nanodbc/" - package_type = "library" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,25 +33,24 @@ class NanodbcConan(ConanFile): "with_boost": False, } + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def export_sources(self): - export_conandata_patches(self) - - def layout(self): - cmake_layout(self, src_folder="src") - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + @property def _min_cppstd(self): return 14 - + @property def _compilers_minimum_version(self): return { @@ -59,6 +61,12 @@ def _compilers_minimum_version(self): "apple-clang": "9.1", # FIXME: this is a guess } + def requirements(self): + if self.options.with_boost: + self.requires("boost/1.83.0") + if self.settings.os != "Windows": + self.requires("odbc/2.3.11") + def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 14) @@ -69,18 +77,12 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) - if self.settings.compiler == "apple-clang" and Version(self.version) != "2.14.0": + if self.settings.compiler == "apple-clang" and Version(self.version) < "2.14.0": raise ConanInvalidConfiguration(""" `apple-clang` compilation is supported only for version 2.14.0 and up. See https://github.com/nanodbc/nanodbc/issues/274 for more details. """) - def requirements(self): - if self.options.with_boost: - self.requires("boost/1.76.0") - if self.settings.os != "Windows": - self.requires("odbc/2.3.9") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -95,13 +97,17 @@ def generate(self): tc.cache_variables["NANODBC_DISABLE_TESTS"] = True tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() - + deps = CMakeDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # No warnings as errors + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "-Werror", "") + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -116,6 +122,8 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "nanodbc") + self.cpp_info.set_property("cmake_target_name", "nanodbc::nanodbc") self.cpp_info.libs = ["nanodbc"] if not self.options.shared and self.settings.os == "Windows": diff --git a/recipes/nanodbc/all/test_package/CMakeLists.txt b/recipes/nanodbc/all/test_package/CMakeLists.txt index 2b2d925656261..0f37b02603638 100644 --- a/recipes/nanodbc/all/test_package/CMakeLists.txt +++ b/recipes/nanodbc/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(nanodbc REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE nanodbc::nanodbc) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/nanodbc/all/test_package/conanfile.py b/recipes/nanodbc/all/test_package/conanfile.py index c1e9a5dd84db0..9153dc938c484 100644 --- a/recipes/nanodbc/all/test_package/conanfile.py +++ b/recipes/nanodbc/all/test_package/conanfile.py @@ -6,6 +6,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def layout(self): cmake_layout(self) diff --git a/recipes/nanodbc/config.yml b/recipes/nanodbc/config.yml index 35d045402c05f..ccdd596aaff35 100644 --- a/recipes/nanodbc/config.yml +++ b/recipes/nanodbc/config.yml @@ -1,7 +1,5 @@ versions: - "cci.20200807": + "2.14.0": folder: "all" "2.13.0": folder: "all" - "2.14.0": - folder: "all" From ba7ca5d0ba56fe05a72499ee7e8631d9ef8ea373 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 5 Oct 2023 02:07:45 -0500 Subject: [PATCH 1945/4087] (#20328) libliftoff: Add recipe * libliftoff: Add recipe * Disable werror --- recipes/libliftoff/all/conandata.yml | 4 + recipes/libliftoff/all/conanfile.py | 83 +++++++++++++++++++ .../libliftoff/all/test_package/conanfile.py | 32 +++++++ .../libliftoff/all/test_package/meson.build | 5 ++ .../all/test_package/test_package.c | 7 ++ recipes/libliftoff/config.yml | 3 + 6 files changed, 134 insertions(+) create mode 100644 recipes/libliftoff/all/conandata.yml create mode 100644 recipes/libliftoff/all/conanfile.py create mode 100644 recipes/libliftoff/all/test_package/conanfile.py create mode 100644 recipes/libliftoff/all/test_package/meson.build create mode 100644 recipes/libliftoff/all/test_package/test_package.c create mode 100644 recipes/libliftoff/config.yml diff --git a/recipes/libliftoff/all/conandata.yml b/recipes/libliftoff/all/conandata.yml new file mode 100644 index 0000000000000..9cc2caed8889e --- /dev/null +++ b/recipes/libliftoff/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.4.1": + url: "https://gitlab.freedesktop.org/emersion/libliftoff/-/archive/v0.4.1/libliftoff-v0.4.1.tar.bz2" + sha256: "2ec4a6b467dda20476acb4d6bd864538ccdaa946e8666f96efa98156bf25cfb5" diff --git a/recipes/libliftoff/all/conanfile.py b/recipes/libliftoff/all/conanfile.py new file mode 100644 index 0000000000000..28626c0146534 --- /dev/null +++ b/recipes/libliftoff/all/conanfile.py @@ -0,0 +1,83 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class LibliftoffConan(ConanFile): + name = "libliftoff" + description = "Lightweight KMS plane library." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/project/package" + topics = ("drm", "KMS", "plane") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("libdrm/2.4.114") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"]: + raise ConanInvalidConfiguration(f"{self.name} only supports FreeBSD and Linux") + + def build_requirements(self): + self.tool_requires("meson/1.2.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 = MesonToolchain(self) + tc.project_options["werror"] = False + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "#subdir('test')") + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.libs = ["liftoff"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) diff --git a/recipes/libliftoff/all/test_package/conanfile.py b/recipes/libliftoff/all/test_package/conanfile.py new file mode 100644 index 0000000000000..5aab0703e7a4e --- /dev/null +++ b/recipes/libliftoff/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.2") + 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/libliftoff/all/test_package/meson.build b/recipes/libliftoff/all/test_package/meson.build new file mode 100644 index 0000000000000..a943f09604a97 --- /dev/null +++ b/recipes/libliftoff/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('libliftoff') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/libliftoff/all/test_package/test_package.c b/recipes/libliftoff/all/test_package/test_package.c new file mode 100644 index 0000000000000..82017ed512aff --- /dev/null +++ b/recipes/libliftoff/all/test_package/test_package.c @@ -0,0 +1,7 @@ +#include +#include + +int main(void) { + liftoff_log_set_priority(LIFTOFF_DEBUG); + return EXIT_SUCCESS; +} diff --git a/recipes/libliftoff/config.yml b/recipes/libliftoff/config.yml new file mode 100644 index 0000000000000..3a9d5538921fc --- /dev/null +++ b/recipes/libliftoff/config.yml @@ -0,0 +1,3 @@ +versions: + "0.4.1": + folder: all From cca4454e350a13d2f1f2567904e781e21e1796ae Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:15:40 +0200 Subject: [PATCH 1946/4087] (#20352) xege: remove unused fPIC option + cleanup test package * remove fPIC option this option doesn't make sense for this library since it's Windows only * cleanup test package * small fix --- recipes/xege/all/conanfile.py | 10 ---------- recipes/xege/all/test_package/CMakeLists.txt | 10 +++------- recipes/xege/all/test_package/conanfile.py | 8 ++++---- .../all/test_package/{example.cpp => test_package.cpp} | 0 recipes/xege/all/test_v1_package/conanfile.py | 2 +- 5 files changed, 8 insertions(+), 22 deletions(-) rename recipes/xege/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/xege/all/conanfile.py b/recipes/xege/all/conanfile.py index 9e838e4436fae..eb147f1dcfc1f 100644 --- a/recipes/xege/all/conanfile.py +++ b/recipes/xege/all/conanfile.py @@ -18,16 +18,6 @@ class XegeConan(ConanFile): package_type = "static-library" settings = "os", "arch", "compiler", "build_type" - options = { - "fPIC": [True, False], - } - default_options = { - "fPIC": True, - } - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/xege/all/test_package/CMakeLists.txt b/recipes/xege/all/test_package/CMakeLists.txt index 9e1250d39f5ee..26ea67c5823c3 100644 --- a/recipes/xege/all/test_package/CMakeLists.txt +++ b/recipes/xege/all/test_package/CMakeLists.txt @@ -1,11 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(PackageTest CXX) +project(test_package LANGUAGES CXX) find_package(xege REQUIRED CONFIG) -add_executable(example example.cpp) -target_link_libraries(example PRIVATE xege::xege) - -if(MSYS OR MINGW) - target_link_libraries(example -static-libgcc -static-libstdc++) -endif() +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE xege::xege) diff --git a/recipes/xege/all/test_package/conanfile.py b/recipes/xege/all/test_package/conanfile.py index 8d52b7021efe1..e845ae751a301 100644 --- a/recipes/xege/all/test_package/conanfile.py +++ b/recipes/xege/all/test_package/conanfile.py @@ -9,12 +9,12 @@ class TestPackageConan(ConanFile): generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" - def requirements(self): - self.requires(self.tested_reference_str) - def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() @@ -22,5 +22,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindir, "example") + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/xege/all/test_package/example.cpp b/recipes/xege/all/test_package/test_package.cpp similarity index 100% rename from recipes/xege/all/test_package/example.cpp rename to recipes/xege/all/test_package/test_package.cpp diff --git a/recipes/xege/all/test_v1_package/conanfile.py b/recipes/xege/all/test_v1_package/conanfile.py index c48a6d9a1bd7a..423b8142d5f25 100644 --- a/recipes/xege/all/test_v1_package/conanfile.py +++ b/recipes/xege/all/test_v1_package/conanfile.py @@ -13,5 +13,5 @@ def build(self): def test(self): if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") + bin_path = os.path.join("bin", "test_package") self.run(bin_path, run_environment=True) From 71b01e2fdb7788572dca7b45175db3343ebc6f8f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 5 Oct 2023 17:46:15 +0200 Subject: [PATCH 1947/4087] (#19499) m4: less verbose package_info() --- recipes/m4/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/m4/all/conanfile.py b/recipes/m4/all/conanfile.py index 881f4c539d77d..9065a183bd21a 100644 --- a/recipes/m4/all/conanfile.py +++ b/recipes/m4/all/conanfile.py @@ -117,7 +117,5 @@ def package_info(self): self.buildenv_info.define_path("M4", m4_bin) # TODO: to remove in conan v2 - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") - self.env_info.PATH.append(bin_path) + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.env_info.M4 = m4_bin From f13f26e0e1e77e05a7427f67e0831d3f5911d50c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 5 Oct 2023 20:13:32 +0300 Subject: [PATCH 1948/4087] (#20304) uwebsockets: add version 20.47.0, remove old versions * uwebsockets: add version 20.47.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/) * uwebsockets: remove old versions --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/uwebsockets/all/conandata.yml | 24 +++--------------------- recipes/uwebsockets/config.yml | 16 ++-------------- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 02893378e4419..9289579f16fd3 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,31 +1,13 @@ sources: + "20.47.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.47.0.tar.gz" + sha256: "00641b7cd2ffadd2c505e2a83a2e32bf342f01c2538bf7470f655e707adde31a" "20.45.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.45.0.tar.gz" sha256: "db7599e9eac0c18b76740e7c391663652e0d7188b992a1a5a8dc28f347f483ec" - "20.36.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.36.0.tar.gz" - sha256: "cda266f7ed6abe67ef3cae6e223a580fe5091db9156c1f4123ee328ae21511c9" - "20.17.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.17.0.tar.gz" - sha256: "62027b0b847563bcc65a760045dc4233328229fc551f97fe5814e518e272141c" - "20.14.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.14.0.tar.gz" - sha256: "15cf995844a930c9a36747e8d714b94ff886b6814b5d4e3b3ee176f05681cccc" - "20.9.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.9.0.tar.gz" - sha256: "91897568291a2081ffc1ae27c354446cc130c168a25892b2289f25e185af8676" - "20.8.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.8.0.tar.gz" - sha256: "6ab4bc0207f44eacbb9c82fd0dc59a49ef84e13698ccdbfb44b92c6a0eaa951a" "19.3.0": url: "https://github.com/uNetworking/uWebSockets/archive/v19.3.0.tar.gz" sha256: "6f709b4e5fe053a94a952da93c07c919b36bcb8c838c69067560ae85f97c5621" - "19.2.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v19.2.0.tar.gz" - sha256: "2956075293090754bc2431c53634f93a1e74739c61392be6040cb3ed29430ec2" - "19.1.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v19.1.0.tar.gz" - sha256: "65afa329b0c768a7443ea2621f3f371bc5ce0e1c3518d59bb11b9a2c7adb65dd" "18.3.0": url: "https://github.com/uNetworking/uWebSockets/archive/v18.3.0.tar.gz" sha256: "f51317e2a8cd743e6ff9dfd215569824eaca489c24f7d8fd94eaca44443a9728" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 06958fe4bce17..b73567fea69a5 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,21 +1,9 @@ versions: - "20.45.0": - folder: all - "20.36.0": - folder: all - "20.17.0": - folder: all - "20.14.0": + "20.47.0": folder: all - "20.9.0": - folder: all - "20.8.0": + "20.45.0": folder: all "19.3.0": folder: all - "19.2.0": - folder: all - "19.1.0": - folder: all "18.3.0": folder: all From ca3e58ae83b3f8e17c2f63eced56ed25ba1b3043 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Fri, 6 Oct 2023 04:28:05 +0200 Subject: [PATCH 1949/4087] (#20264) cyrus-sasl: bump libpq to 14.9 --- recipes/cyrus-sasl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cyrus-sasl/all/conanfile.py b/recipes/cyrus-sasl/all/conanfile.py index 53ce502733557..00a9b1d22a9a7 100644 --- a/recipes/cyrus-sasl/all/conanfile.py +++ b/recipes/cyrus-sasl/all/conanfile.py @@ -80,7 +80,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_postgresql: - self.requires("libpq/14.7") + self.requires("libpq/14.9") if self.options.with_mysql: self.requires("libmysqlclient/8.0.31") if self.options.with_sqlite3: From 1ea697d2312b999e4627a798a26f0f9161bc6390 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 6 Oct 2023 07:10:22 +0200 Subject: [PATCH 1950/4087] (#20152) ffmpeg: fix shared with apple clang 15 + use version range for zlib + bump deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix shared build with apple-clang 15 * bump deps and use version range for zlib --------- Co-authored-by: Rubén Rincón Blanco --- recipes/ffmpeg/all/conanfile.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 05d36e30042e7..21f8ed905bd3b 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -257,7 +257,7 @@ def layout(self): def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.3") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: @@ -273,11 +273,11 @@ def requirements(self): if self.options.with_vorbis: self.requires("vorbis/1.3.7") if self.options.with_opus: - self.requires("opus/1.3.1") + self.requires("opus/1.4") if self.options.with_zeromq: self.requires("zeromq/4.3.4") if self.options.with_sdl: - self.requires("sdl/2.26.5") + self.requires("sdl/2.28.2") if self.options.with_libx264: self.requires("libx264/cci.20220602") if self.options.with_libx265: @@ -289,11 +289,11 @@ def requirements(self): if self.options.with_libfdk_aac: self.requires("libfdk_aac/2.0.2") if self.options.with_libwebp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_libalsa"): - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") if self.options.get_safe("with_xcb") or self.options.get_safe("with_vaapi"): self.requires("xorg/system") if self.options.get_safe("with_pulse"): @@ -324,7 +324,7 @@ def build_requirements(self): if self.settings.arch in ("x86", "x86_64"): self.tool_requires("yasm/1.3.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -606,6 +606,9 @@ def opt_append_disable_if_set(args, what, v): if not check_min_vs(self, "190", raise_invalid=False): # Visual Studio 2013 (and earlier) doesn't support "inline" keyword for C (only for C++) tc.extra_defines.append("inline=__inline") + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) >= "15": + # Workaround for link error "ld: building exports trie: duplicate symbol '_av_ac3_parse_header'" + tc.extra_ldflags.append("-Wl,-ld_classic") if cross_building(self): args.append(f"--target-os={self._target_os}") if is_apple_os(self) and self.options.with_audiotoolbox: From 51a2f58eb3e88d27017f47acf784243fa9745746 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 6 Oct 2023 08:13:51 +0200 Subject: [PATCH 1951/4087] (#20364) harfbuzz: bump dependencies --- recipes/harfbuzz/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index 5aba73dab807f..29d9a1aea73ba 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -80,7 +80,7 @@ def requirements(self): if self.options.with_icu: self.requires("icu/73.2") if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.0") def validate(self): if self.options.shared and self.options.with_glib and not self.dependencies["glib"].options.shared: @@ -96,9 +96,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.1.0") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self.options.with_glib: self.tool_requires("glib/") if self.settings.os == "Macos": From ea5b3ae147c63f6336c89f0f9b556947a8af3052 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 6 Oct 2023 09:00:55 +0200 Subject: [PATCH 1952/4087] (#20382) libgphoto2: bump deps * libgphoto2: bump deps, use version range for libcurl * bump libcurl --- recipes/libgphoto2/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index e3382ba23526b..ea327fb8a2c33 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -55,11 +55,11 @@ def requirements(self): if self.options.with_libusb: self.requires("libusb/1.0.26") if self.options.with_libcurl: - self.requires("libcurl/8.0.0") + self.requires("libcurl/8.2.1") if self.options.with_libxml2: - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.11.4") if self.options.with_libexif: - self.requires("libexif/0.6.23") + self.requires("libexif/0.6.24") if self.options.with_libjpeg: self.requires("libjpeg/9e") @@ -69,7 +69,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 4c67e9488a7965ef58df080d9ce7dbd180afb663 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 6 Oct 2023 09:15:32 +0200 Subject: [PATCH 1953/4087] (#20386) netcdf/all: bump deps --- recipes/netcdf/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/netcdf/all/conanfile.py b/recipes/netcdf/all/conanfile.py index 5e71e1ec032be..ef365e834e731 100644 --- a/recipes/netcdf/all/conanfile.py +++ b/recipes/netcdf/all/conanfile.py @@ -68,10 +68,10 @@ def requirements(self): # So we will require the older hdf5 to keep the older behaviour. self.requires("hdf5/1.12.0") else: - self.requires("hdf5/1.14.0") + self.requires("hdf5/1.14.1") if self.options.dap or self.options.byterange: - self.requires("libcurl/7.88.1") + self.requires("libcurl/8.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) From c42d0d1176bf1acbedd71d5927475e31b56b8a61 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Fri, 6 Oct 2023 09:51:38 +0200 Subject: [PATCH 1954/4087] (#20263) Poco: bump libpq to 14.9 --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index db83584f38915..4c1811de04efb 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -126,7 +126,7 @@ def requirements(self): if self.options.enable_data_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("enable_data_postgresql"): - self.requires("libpq/14.7") + self.requires("libpq/14.9") if self.options.get_safe("enable_data_mysql"): self.requires("libmysqlclient/8.0.31") From ab29a8ebf25d3fe113f8e6b7866028393d525640 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 6 Oct 2023 10:29:38 +0200 Subject: [PATCH 1955/4087] (#20387) libxslt/all: bump deps --- recipes/libxslt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index 35861075ebb78..f3241de947d7f 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): def requirements(self): # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.10.3", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.11.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From f00f9308d65323edecec3360253fa91424506168 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 6 Oct 2023 11:07:59 +0200 Subject: [PATCH 1956/4087] (#19497) pkgconf: less verbose package_info() + bump meson * less verbose package_info() * cleanup imports * bump meson * cleanup again --- recipes/pkgconf/all/conanfile.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/recipes/pkgconf/all/conanfile.py b/recipes/pkgconf/all/conanfile.py index 2645619ecf320..18f5f79fa547c 100644 --- a/recipes/pkgconf/all/conanfile.py +++ b/recipes/pkgconf/all/conanfile.py @@ -7,7 +7,6 @@ from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc, unix_path_package_info_legacy from conan.tools.scm import Version -from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.57.0" @@ -52,11 +51,15 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def package_id(self): + if not self.info.options.enable_lib: + del self.info.settings.compiler + def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.1") 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 _patch_sources(self): apply_conandata_patches(self) @@ -112,10 +115,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - def package_id(self): - if not self.info.options.enable_lib: - del self.info.settings.compiler - def package_info(self): if self.options.enable_lib: self.cpp_info.set_property("pkg_config_name", "libpkgconf") @@ -129,12 +128,10 @@ def package_info(self): self.cpp_info.libdirs = [] bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var: {}".format(bindir)) self.env_info.PATH.append(bindir) exesuffix = ".exe" if self.settings.os == "Windows" else "" pkg_config = os.path.join(bindir, "pkgconf" + exesuffix).replace("\\", "/") - self.output.info("Setting PKG_CONFIG env var: {}".format(pkg_config)) self.buildenv_info.define_path("PKG_CONFIG", pkg_config) pkgconf_aclocal = os.path.join(self.package_folder, "bin", "aclocal") @@ -144,10 +141,5 @@ def package_info(self): # TODO: remove in conanv2 automake_extra_includes = unix_path_package_info_legacy(self, pkgconf_aclocal.replace("\\", "/")) - self.output.info("Appending AUTOMAKE_CONAN_INCLUDES env var: {}".format(automake_extra_includes)) self.env_info.PKG_CONFIG = pkg_config self.env_info.AUTOMAKE_CONAN_INCLUDES.append(automake_extra_includes) - - # TODO: to remove in conan v2 once pkg_config generator removed - if self.options.enable_lib: - self.cpp_info.names["pkg_config"] = "libpkgconf" From 133d708185692a9d92743d6e30f8d7d988cb676d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 6 Oct 2023 11:46:46 +0200 Subject: [PATCH 1957/4087] (#20003) gdbm: Inject `-headerpad_max_install_names` to ensure that `install_name_tool` can succeed on Apple --- recipes/gdbm/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/gdbm/all/conanfile.py b/recipes/gdbm/all/conanfile.py index 71b092ccff400..0dbe22e531a7e 100644 --- a/recipes/gdbm/all/conanfile.py +++ b/recipes/gdbm/all/conanfile.py @@ -1,8 +1,8 @@ from conan import ConanFile -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 VirtualBuildEnv, VirtualRunEnv -from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.errors import ConanInvalidConfiguration @@ -105,6 +105,10 @@ def generate(self): "--without-libiconv-prefix", "--without-libintl-prefix" ]) + if is_apple_os(self): + # Inject -headerpad_max_install_names, otherwise fix_apple_shared_install_name() may fail. + # See https://github.com/conan-io/conan-center-index/issues/20002 + tc.extra_ldflags.append("-headerpad_max_install_names") tc.generate() autotools_deps = AutotoolsDeps(self) autotools_deps.generate() From ef0e30f08aee5dff70a4a751a707be5e837d327f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 6 Oct 2023 11:59:34 +0200 Subject: [PATCH 1958/4087] (#20101) at-spi2-core: enable non-linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * at-spi2-core 2.50.0 * at-spi2-core: enable non-linux * fix windows cf https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/20ee2e533794e0d5a3437e5b272da0a648d73c3e * fix typo * fix windows support version cf https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/c3e2e480cf7e8587be26fd1174672c295b3f2f9c * only test atk it is the only common feature subset of all platforms * disable macos before 2.50.0 https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/e6f431beb47d2aadab7d2020e547e0b559557914 fixes a compilation error * fix fPIC * Update conanfile.py * Update conanfile.py * add debug log * Update conanfile.py * dbus is also needed at compile time a test executable is run during meson configuratoin * another shot * Update conanfile.py * bump deps * Update recipes/at-spi2-core/new/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/at-spi2-core/config.yml | 2 + recipes/at-spi2-core/new/conandata.yml | 3 + recipes/at-spi2-core/new/conanfile.py | 67 ++++++++++++++----- .../new/test_package/conanfile.py | 4 +- .../at-spi2-core/new/test_package/meson.build | 2 +- .../new/test_package/test_package.c | 11 +-- 6 files changed, 65 insertions(+), 24 deletions(-) diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index 3a9a2fb50465f..f0d6f514974e4 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -21,3 +21,5 @@ versions: folder: new "2.49.1": folder: new + "2.50.0": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index 14543d255e3d0..b27bb3ef5a258 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,4 +1,7 @@ sources: + "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 "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 diff --git a/recipes/at-spi2-core/new/conanfile.py b/recipes/at-spi2-core/new/conanfile.py index 041ae5da456f1..02a871957ee4f 100644 --- a/recipes/at-spi2-core/new/conanfile.py +++ b/recipes/at-spi2-core/new/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration +from conan.errors import ConanException, ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -37,6 +38,10 @@ class AtSpi2CoreConan(ConanFile): 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") @@ -44,24 +49,29 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") def build_requirements(self): - self.tool_requires("meson/1.2.0") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") def requirements(self): - self.requires("glib/2.77.0") + self.requires("glib/2.78.0") if self.options.with_x11: self.requires("xorg/system") - self.requires("dbus/1.15.6") + if self.settings.os == "Linux": + self.requires("dbus/1.15.8") def validate(self): if self.options.shared and not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( "Linking a shared library against static glib can cause unexpected behaviour." ) - if self.settings.os != "Linux": - raise ConanInvalidConfiguration("only linux is supported by this recipe") + 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") def layout(self): basic_layout(self, src_folder="src") @@ -80,6 +90,9 @@ def generate(self): else: tc.project_options["introspection"] = "no" tc.project_options["x11"] = "yes" if self.options.with_x11 else "no" + if self.settings.os != "Linux": + tc.project_options["atk_only"] = "true" + tc.project_options["docs"] = "false" tc.generate() tc = PkgConfigDeps(self) @@ -107,20 +120,42 @@ def package(self): meson.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "etc")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + fix_apple_shared_install_name(self) + fix_msvc_libname(self) def package_info(self): - 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"] - self.cpp_info.components["atspi"].set_property("pkg_config_name", "atspi-2") + 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"] + self.cpp_info.components["atspi"].set_property("pkg_config_name", "atspi-2") 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') - 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') + 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') + + +def fix_msvc_libname(conanfile, remove_lib_prefix=True): + """remove lib prefix & change extension to .lib in case of cl like compiler""" + if not conanfile.settings.get_safe("compiler.runtime"): + return + from conan.tools.files import rename + import glob + libdirs = getattr(conanfile.cpp.package, "libdirs") + for libdir in libdirs: + for ext in [".dll.a", ".dll.lib", ".a"]: + full_folder = os.path.join(conanfile.package_folder, libdir) + for filepath in glob.glob(os.path.join(full_folder, f"*{ext}")): + libname = os.path.basename(filepath)[0:-len(ext)] + if remove_lib_prefix and libname[0:3] == "lib": + libname = libname[3:] + rename(conanfile, filepath, os.path.join(os.path.dirname(filepath), f"{libname}.lib")) diff --git a/recipes/at-spi2-core/new/test_package/conanfile.py b/recipes/at-spi2-core/new/test_package/conanfile.py index 74125d16c3d5f..5aab0703e7a4e 100644 --- a/recipes/at-spi2-core/new/test_package/conanfile.py +++ b/recipes/at-spi2-core/new/test_package/conanfile.py @@ -17,9 +17,9 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("meson/1.2.0") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def build(self): meson = Meson(self) diff --git a/recipes/at-spi2-core/new/test_package/meson.build b/recipes/at-spi2-core/new/test_package/meson.build index a6950ebe6d4ab..896df27207865 100644 --- a/recipes/at-spi2-core/new/test_package/meson.build +++ b/recipes/at-spi2-core/new/test_package/meson.build @@ -1,5 +1,5 @@ project('test_package', 'c') -package_dep = dependency('atspi-2') +package_dep = dependency('atk') executable('test_package', sources : ['test_package.c'], dependencies : [package_dep]) diff --git a/recipes/at-spi2-core/new/test_package/test_package.c b/recipes/at-spi2-core/new/test_package/test_package.c index c155308c155ba..284086622ab26 100644 --- a/recipes/at-spi2-core/new/test_package/test_package.c +++ b/recipes/at-spi2-core/new/test_package/test_package.c @@ -1,9 +1,10 @@ -#include "atspi/atspi.h" -#include "assert.h" +#include +#include int main() { - atspi_init (); - assert(atspi_get_desktop_count() > 0); - return atspi_exit(); + printf("ATK version %d.%d.%d\n",atk_get_major_version(), atk_get_minor_version(), atk_get_micro_version()); + printf("binary age %d\n", atk_get_binary_age()); + printf("interface age %d\n", atk_get_interface_age()); + return 0; } From 26d5dbb1c09d207c5bbe55c88e8871f100e4f9bb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 6 Oct 2023 14:03:47 +0200 Subject: [PATCH 1959/4087] (#20375) Qt 5.15.11 * qt 5.15.11 generated with: ``` conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 5.15.11 ``` * bump zlib --- recipes/qt/5.x.x/conandata.yml | 43 ++++ recipes/qt/5.x.x/conanfile.py | 2 +- recipes/qt/5.x.x/qtmodules5.15.11.conf | 326 +++++++++++++++++++++++++ recipes/qt/config.yml | 2 + 4 files changed, 372 insertions(+), 1 deletion(-) create mode 100644 recipes/qt/5.x.x/qtmodules5.15.11.conf diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index d0847c695c371..964c01a809272 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -1,4 +1,26 @@ sources: + "5.15.11": + url: + - "https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://download.qt.io/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirror.web4africa.ng/qt/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://ftp.icm.edu.pl/packages/qt/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" + sha256: "7426b1eaab52ed169ce53804bdd05dfe364f761468f888a0f15a308dc1dc2951" "5.15.10": url: - "https://download.qt.io/official_releases/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" @@ -55,6 +77,27 @@ sources: - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" sha256: "8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0" patches: + "5.15.11": + - "base_path": "qt5/qtbase" + "patch_file": "patches/aa2a39dea5.diff" + - "base_path": "qt5/qtwebengine" + "patch_file": "patches/c72097e.diff" + - "base_path": "qt5/qttools" + "patch_file": "patches/fix-macdeployqt.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/v8" + "patch_file": "patches/chromium-v8-missing-constexpr.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/chromium-skia-missing-iterator-include.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" + "patch_file": "patches/skia-cd397f3.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-backtrace.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-openssl.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-new-ndk.diff" "5.15.10": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 8e54f6b2a47b0..55687915747f7 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -339,7 +339,7 @@ def validate(self): raise ConanInvalidConfiguration("sqlite3 option enable_column_metadata must be enabled for qt") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre2: diff --git a/recipes/qt/5.x.x/qtmodules5.15.11.conf b/recipes/qt/5.x.x/qtmodules5.15.11.conf new file mode 100644 index 0000000000000..452233655f279 --- /dev/null +++ b/recipes/qt/5.x.x/qtmodules5.15.11.conf @@ -0,0 +1,326 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 5.15 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 5.15 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtsvg + path = qtdeclarative + url = ../qtdeclarative.git + branch = 5.15 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 5.15 + status = addon +[submodule "qtscript"] + depends = qtbase + recommends = qttools + path = qtscript + url = ../qtscript.git + branch = 5.15 + status = deprecated +[submodule "qtmultimedia"] + depends = qtbase + recommends = qtdeclarative + path = qtmultimedia + url = ../qtmultimedia.git + branch = 5.15 + status = essential +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 5.15 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = 5.15 + status = deprecated +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 5.15 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtquickcontrols qtquickcontrols2 + path = qtdoc + url = ../qtdoc.git + branch = 5.15 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = master + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase + recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport + path = qtlocation + url = ../qtlocation.git + branch = 5.15 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 5.15 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtdocgallery"] + depends = qtdeclarative + path = qtdocgallery + url = ../qtdocgallery.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative qtandroidextras + path = qtconnectivity + url = ../qtconnectivity.git + branch = 5.15 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 5.15 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtimageformats qtgamepad + path = qt3d + url = ../qt3d.git + branch = 5.15 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 5.15 + status = addon +[submodule "qtgraphicaleffects"] + depends = qtdeclarative + path = qtgraphicaleffects + url = ../qtgraphicaleffects.git + branch = 5.15 + status = essential +[submodule "qtquickcontrols"] + depends = qtdeclarative + recommends = qtgraphicaleffects + path = qtquickcontrols + url = ../qtquickcontrols.git + branch = 5.15 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 5.15 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 5.15 + status = addon +[submodule "qtx11extras"] + depends = qtbase + path = qtx11extras + url = ../qtx11extras.git + branch = 5.15 + status = addon +[submodule "qtmacextras"] + depends = qtbase + path = qtmacextras + url = ../qtmacextras.git + branch = 5.15 + status = addon +[submodule "qtwinextras"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtwinextras + url = ../qtwinextras.git + branch = 5.15 + status = addon +[submodule "qtandroidextras"] + depends = qtbase + path = qtandroidextras + url = ../qtandroidextras.git + branch = 5.15 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 5.15 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 5.15 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools + path = qtwebengine + url = ../qtwebengine.git + branch = 5.15 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 5.15 + status = addon +[submodule "qtquickcontrols2"] + depends = qtgraphicaleffects + recommends = qtimageformats + path = qtquickcontrols2 + url = ../qtquickcontrols2.git + branch = 5.15 + status = essential +[submodule "qtpurchasing"] + depends = qtbase + recommends = qtdeclarative qtandroidextras + path = qtpurchasing + url = ../qtpurchasing.git + branch = 5.15 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 5.15 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 5.15 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia qtquickcontrols + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 5.15 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = 5.15 + status = addon +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 5.15 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 5.15 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 5.15 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 5.15 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = 5.15 + status = addon +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 5.15 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 5.15 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative + path = qtquick3d + url = ../qtquick3d.git + branch = 5.15 + status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 6d034f7e11227..1ccfd2e7da0a7 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -9,6 +9,8 @@ versions: folder: 6.x.x "6.3.2": folder: 6.x.x + "5.15.11": + folder: 5.x.x "5.15.10": folder: 5.x.x "5.15.9": From 91e67bdec23d59d4e2a104a3343762142b300058 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 6 Oct 2023 14:46:33 +0200 Subject: [PATCH 1960/4087] (#20384) cfitsio/all: bump deps * cfitsio/all: use version range for libcurl * bump libcurl --- recipes/cfitsio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cfitsio/all/conanfile.py b/recipes/cfitsio/all/conanfile.py index 72a03672b23c2..3726c4a8835d1 100644 --- a/recipes/cfitsio/all/conanfile.py +++ b/recipes/cfitsio/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.get_safe("with_curl"): - self.requires("libcurl/8.0.0") + self.requires("libcurl/8.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 7335e24ba98e44a6a2698eda41e0944e43d13983 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Fri, 6 Oct 2023 16:19:53 +0200 Subject: [PATCH 1961/4087] (#20254) Bump libwebp in opencv to 1.3.2 --- recipes/opencv/3.x/conanfile.py | 2 +- recipes/opencv/4.x/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opencv/3.x/conanfile.py b/recipes/opencv/3.x/conanfile.py index 0abc75587237c..ffb81b4e364d5 100644 --- a/recipes/opencv/3.x/conanfile.py +++ b/recipes/opencv/3.x/conanfile.py @@ -98,7 +98,7 @@ def requirements(self): # opencv 3.x doesn't support onetbb >= 2021 self.requires("onetbb/2020.3") if self.options.with_webp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") if self.options.contrib: self.requires("freetype/2.13.0") self.requires("harfbuzz/6.0.0") diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 12bcded86e10e..0f533c33789b5 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1047,7 +1047,7 @@ def requirements(self): if self.options.get_safe("with_tiff"): self.requires("libtiff/4.5.1") if self.options.get_safe("with_webp"): - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") if self.options.get_safe("with_gdal"): self.requires("gdal/3.5.2") if self.options.get_safe("with_gdcm"): From 9b753ea232f00ed299c781cd5ea0489dd4980ef5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Oct 2023 17:56:57 +0300 Subject: [PATCH 1962/4087] (#18725) easylzma: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * easylzma: migrate to Conan v2 * easylzma: restore VirtualRunEnv in test_package * easylzma: fix copying of DLLs * easylzma: fix license * easylzma: fix shared build * easylzma: add fix_apple_shared_install_name() * Fix library attribution --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel --- recipes/easylzma/all/CMakeLists.txt | 7 -- recipes/easylzma/all/conandata.yml | 3 - recipes/easylzma/all/conanfile.py | 105 +++++++++++------- .../easylzma/all/test_package/CMakeLists.txt | 9 +- .../easylzma/all/test_package/conanfile.py | 22 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../easylzma/all/test_v1_package/conanfile.py | 16 +++ 7 files changed, 108 insertions(+), 62 deletions(-) delete mode 100644 recipes/easylzma/all/CMakeLists.txt create mode 100644 recipes/easylzma/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/easylzma/all/test_v1_package/conanfile.py diff --git a/recipes/easylzma/all/CMakeLists.txt b/recipes/easylzma/all/CMakeLists.txt deleted file mode 100644 index 8b2a23892d7de..0000000000000 --- a/recipes/easylzma/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.6) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/easylzma/all/conandata.yml b/recipes/easylzma/all/conandata.yml index ce63d9a78cbcc..80c52f3ee8642 100644 --- a/recipes/easylzma/all/conandata.yml +++ b/recipes/easylzma/all/conandata.yml @@ -5,7 +5,4 @@ sources: patches: "0.0.7": - patch_file: "patches/memleaksfix.patch" - base_path: "source_subfolder" - patch_file: "patches/cmake-no-cflags.patch" - base_path: "source_subfolder" - diff --git a/recipes/easylzma/all/conanfile.py b/recipes/easylzma/all/conanfile.py index 5e527b6090911..500d0f8e783aa 100644 --- a/recipes/easylzma/all/conanfile.py +++ b/recipes/easylzma/all/conanfile.py @@ -1,72 +1,95 @@ import os -from conans import ConanFile, tools, CMake + +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, load, save +from conan.tools.microsoft import is_msvc, msvc_runtime_flag + +required_conan_version = ">=1.53.0" class EazylzmaConan(ConanFile): name = "easylzma" - license = "Unlicense" + description = ( + "An easy to use, tiny, public domain, C wrapper library around " + "Igor Pavlov's work that can be used to compress and extract lzma files" + ) + license = "DocumentRef-README:LicenseRef-PublicDomain-WITH-Attribution" # Public Domain with attribution request url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/lloyd/easylzma" - description = ("An easy to use, tiny, public domain, C wrapper library around \ - Igor Pavlov's work that can be used to compress and extract lzma files") - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - topics = ("conan", "eazylzma", "lzma") - exports_sources = ["CMakeLists.txt", "patches/*"] - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + topics = ("lzma",) - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _license_text(self): - # Extract the License/s from the README to a file - tmp = tools.load(os.path.join("source_subfolder", "README")) - return tmp[tmp.find("License",1):tmp.find("work.", 1)+5] + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _libname(self): - return "easylzma" if self.options.shared else "easylzma_s" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build(target=self._libname) - def package(self): - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) + @property + def _license_text(self): + # Extract the License/s from the README to a file + tmp = load(self, os.path.join(self.source_folder, "README")) + return tmp[tmp.find("License", 1) : tmp.find("work.", 1) + 5] - self.copy(pattern="*.dylib*", dst="lib", src="lib", keep_path=False, symlinks=True) - self.copy(pattern="*.so*", dst="lib", src="lib", keep_path=False, symlinks=True) - self.copy(pattern="*.dll", dst="bin", src="bin", keep_path=False) - self.copy(pattern="*.a", dst="lib", src="lib", keep_path=False) - self.copy(pattern="*.lib", dst="lib", src="lib", keep_path=False) + def package(self): + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) + for pattern in ["*.lib", "*.a", "*.so*", "*.dylib"]: + copy(self, pattern, + 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) + copy(self, "easylzma/*", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "src")) + fix_apple_shared_install_name(self) - self.copy("easylzma/*", dst="include", src=os.path.join(self._source_subfolder, "src")) + @property + def _libname(self): + return "easylzma" if self.options.shared else "easylzma_s" def package_info(self): self.cpp_info.libs = [self._libname] if self.options.shared: self.cpp_info.defines = ["EASYLZMA_SHARED"] - if self.settings.compiler == "Visual Studio": - if "d" in str(self.settings.compiler.runtime): + if is_msvc(self): + if "d" in msvc_runtime_flag(self): self.cpp_info.defines.append("DEBUG") diff --git a/recipes/easylzma/all/test_package/CMakeLists.txt b/recipes/easylzma/all/test_package/CMakeLists.txt index 34af13462f44f..6e6b478dec699 100644 --- a/recipes/easylzma/all/test_package/CMakeLists.txt +++ b/recipes/easylzma/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 C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(easylzma REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE easylzma::easylzma) diff --git a/recipes/easylzma/all/test_package/conanfile.py b/recipes/easylzma/all/test_package/conanfile.py index 4903f1a7e8fa0..ef5d7042163ec 100644 --- a/recipes/easylzma/all/test_package/conanfile.py +++ b/recipes/easylzma/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/easylzma/all/test_v1_package/CMakeLists.txt b/recipes/easylzma/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/easylzma/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/easylzma/all/test_v1_package/conanfile.py b/recipes/easylzma/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/easylzma/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From c72db666923646b530994ef87293d6ea4bf13b7b Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Fri, 6 Oct 2023 23:21:44 +0800 Subject: [PATCH 1963/4087] (#19633) [sentry-crashpad] add #include to fix compile with gcc13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sentry-crashpad: add #include to fix compile with gcc13 * Adjusted patch_type to portability * Properly source patch * Use upstream patch --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel --- recipes/sentry-crashpad/all/conandata.yml | 7 ++ ...0.2.6-0001-missing-installed-headers.patch | 66 ------------------- .../patches/0.6.5-0001-fix-for-gcc13.patch | 20 ++++++ 3 files changed, 27 insertions(+), 66 deletions(-) delete mode 100644 recipes/sentry-crashpad/all/patches/0.2.6-0001-missing-installed-headers.patch create mode 100644 recipes/sentry-crashpad/all/patches/0.6.5-0001-fix-for-gcc13.patch diff --git a/recipes/sentry-crashpad/all/conandata.yml b/recipes/sentry-crashpad/all/conandata.yml index ced5e36dba275..26aa302e7bd27 100644 --- a/recipes/sentry-crashpad/all/conandata.yml +++ b/recipes/sentry-crashpad/all/conandata.yml @@ -14,3 +14,10 @@ sources: "0.4.18": url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" + +patches: + "0.6.5": + - patch_file: "patches/0.6.5-0001-fix-for-gcc13.patch" + patch_type: "backport" + patch_description: "Extra header required for gcc13" + patch_source: "https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/4847514" diff --git a/recipes/sentry-crashpad/all/patches/0.2.6-0001-missing-installed-headers.patch b/recipes/sentry-crashpad/all/patches/0.2.6-0001-missing-installed-headers.patch deleted file mode 100644 index 4f57a94cccd7d..0000000000000 --- a/recipes/sentry-crashpad/all/patches/0.2.6-0001-missing-installed-headers.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- external/crashpad/compat/CMakeLists.txt -+++ external/crashpad/compat/CMakeLists.txt -@@ -108,12 +108,13 @@ - endif() - - if(LINUX OR ANDROID) -- target_include_directories(crashpad_compat ${TI_YPE} "$") -+ target_include_directories(crashpad_compat ${TI_TYPE} "$") -+ target_link_libraries(crashpad_compat ${TI_TYPE} ${CMAKE_DL_LIBS}) - endif() - - if(ANDROID) -- target_include_directories(crashpad_compat ${TI_YPE} "$") -+ target_include_directories(crashpad_compat ${TI_TYPE} "$") - endif() - - set_property(TARGET crashpad_compat PROPERTY EXPORT_NAME compat) - add_library(crashpad::compat ALIAS crashpad_compat) ---- external/crashpad/third_party/mini_chromium/CMakeLists.txt -+++ external/crashpad/third_party/mini_chromium/CMakeLists.txt -@@ -172,3 +172,7 @@ - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/crashpad" - FILES_MATCHING PATTERN "*.h" - ) -+crashpad_install_dev(DIRECTORY build -+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/crashpad/mini_chromium" -+ FILES_MATCHING PATTERN "*.h" -+) ---- external/crashpad/util/CMakeLists.txt -+++ external/crashpad/util/CMakeLists.txt -@@ -237,7 +237,7 @@ - linux/thread_info.cc - linux/thread_info.h - linux/traits.h -- misc/capture_context_linux.S -+ misc/capture_context_linux.S misc/time_linux.cc - misc/paths_linux.cc - posix/process_info_linux.cc - process/process_memory_linux.cc -@@ -353,7 +353,7 @@ - target_include_directories(crashpad_util PRIVATE - $ - ) - target_link_libraries(crashpad_util - PRIVATE - $ - PUBLIC -@@ -371,6 +371,10 @@ - ) - endif() - -+if(LINUX) -+ target_link_libraries(crashpad_util PRIVATE rt pthread) -+endif() -+ - if(WIN32) - target_link_libraries(crashpad_util PRIVATE user32 version winhttp) - if(MSVC) -@@ -395,3 +399,7 @@ - add_library(crashpad::util ALIAS crashpad_util) - - crashpad_install_target(crashpad_util) -+crashpad_install_dev(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" -+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/crashpad/util" -+ FILES_MATCHING PATTERN "*.h" -+) diff --git a/recipes/sentry-crashpad/all/patches/0.6.5-0001-fix-for-gcc13.patch b/recipes/sentry-crashpad/all/patches/0.6.5-0001-fix-for-gcc13.patch new file mode 100644 index 0000000000000..b3a766009b3a7 --- /dev/null +++ b/recipes/sentry-crashpad/all/patches/0.6.5-0001-fix-for-gcc13.patch @@ -0,0 +1,20 @@ +--- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 09:55:27.677142704 +0800 ++++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 10:06:01.654142494 +0800 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include "base/check.h" + #include "base/check_op.h" +--- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 10:11:28.084886020 +0800 ++++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 11:06:37.044297949 +0800 +@@ -6,6 +6,7 @@ + #define MINI_CHROMIUM_BASE_STRINGS_UTF_STRING_CONVERSION_UTILS_H_ + + #include ++#include + + namespace base { + From c076a5dd8c0049a8e5b610b7d96eb5cc0ee21baf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Oct 2023 18:27:42 +0300 Subject: [PATCH 1964/4087] (#18726) twitch-native-ipc: migrate to Conan v2 * twitch-native-ipc: migrate to Conan v2 * twitch-native-ipc: move DLLs from lib to bin * twitch-native-ipc: restore VirtualRunEnv in test_package * twitch-native-ipc: bump deps * twitch-native-ipc: remove unnecessary copying of DLLs --------- Co-authored-by: Daniel --- recipes/twitch-native-ipc/all/CMakeLists.txt | 6 -- recipes/twitch-native-ipc/all/conandata.yml | 3 - recipes/twitch-native-ipc/all/conanfile.py | 101 ++++++++++-------- .../all/patches/cmake-fixes.patch | 57 ++++++---- .../all/patches/linux-build-fixes.patch | 12 +++ .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 24 +++-- .../all/test_package/example.c | 10 +- .../all/test_package/example2.cpp | 5 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ 11 files changed, 157 insertions(+), 96 deletions(-) delete mode 100644 recipes/twitch-native-ipc/all/CMakeLists.txt create mode 100644 recipes/twitch-native-ipc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/twitch-native-ipc/all/test_v1_package/conanfile.py diff --git a/recipes/twitch-native-ipc/all/CMakeLists.txt b/recipes/twitch-native-ipc/all/CMakeLists.txt deleted file mode 100644 index 3f96a3374441c..0000000000000 --- a/recipes/twitch-native-ipc/all/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) -include(conanbuildinfo.cmake) - -conan_basic_setup(TARGETS) -add_subdirectory("source_subfolder") diff --git a/recipes/twitch-native-ipc/all/conandata.yml b/recipes/twitch-native-ipc/all/conandata.yml index 4ddda5e545311..0ca341563c80b 100644 --- a/recipes/twitch-native-ipc/all/conandata.yml +++ b/recipes/twitch-native-ipc/all/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "3.1.1": - patch_file: "patches/cmake-fixes.patch" - base_path: "source_subfolder" - patch_file: "patches/linux-build-fixes.patch" - base_path: "source_subfolder" - patch_file: "patches/export-fixes.patch" - base_path: "source_subfolder" diff --git a/recipes/twitch-native-ipc/all/conanfile.py b/recipes/twitch-native-ipc/all/conanfile.py index 9e025ba63f993..72b9b555dec98 100644 --- a/recipes/twitch-native-ipc/all/conanfile.py +++ b/recipes/twitch-native-ipc/all/conanfile.py @@ -1,31 +1,34 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -from conans.tools import Version import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +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, rm +from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + class TwitchNativeIpcConan(ConanFile): name = "twitch-native-ipc" + description = "Twitch native IPC library" license = "MIT" - homepage = "https://github.com/twitchtv/twitch-native-ipc" url = "https://github.com/conan-io/conan-center-index" - description = "Twitch natve ipc library" + homepage = "https://github.com/twitchtv/twitch-native-ipc" topics = ("twitch", "ipc") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generators = "cmake" - exports = ["CMakeLists.txt", "patches/**"] - requires = "libuv/1.40.0" - - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } @property def _compilers_min_version(self): @@ -33,63 +36,69 @@ def _compilers_min_version(self): "gcc": "8", "clang": "8", "apple-clang": "10", + "msvc": "191", "Visual Studio": "15", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) min_version = self._compilers_min_version.get(str(self.settings.compiler), False) if min_version: - if tools.Version(self.settings.compiler.version) < min_version: + if Version(self.settings.compiler.version) < min_version: raise ConanInvalidConfiguration("twitch-native-ipc requires C++17") else: - self.output.warn("unknown compiler, assuming C++17 support") + self.output.warning("unknown compiler, assuming C++17 support") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("{}-{}".format(self.name, self.version), self._source_subfolder) + def layout(self): + cmake_layout(self, src_folder="src") - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["ENABLE_CODE_FORMATTING"] = False - self._cmake.definitions["BUILD_TESTING"] = False + def requirements(self): + self.requires("libuv/1.46.0") - if self.settings.os == "Windows": - self._cmake.definitions["MSVC_DYNAMIC_RUNTIME"] = self.settings.compiler.runtime in ("MD", "MDd") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_CODE_FORMATTING"] = False + tc.variables["BUILD_TESTING"] = False + if self.settings.os == "Windows": + tc.variables["MSVC_DYNAMIC_RUNTIME"] = not is_msvc_static_runtime(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.pdb") + rm(self, "*.pdb", os.path.join(self.package_folder, "lib"), recursive=True) def package_info(self): self.cpp_info.libs = ["nativeipc"] if self.settings.os == "Windows" and self.options.shared: self.cpp_info.defines = ["NATIVEIPC_IMPORT"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] - if tools.stdcpp_library(self): - self.cpp_info.system_libs.append(tools.stdcpp_library(self)) + if stdcpp_library(self): + self.cpp_info.system_libs.append(stdcpp_library(self)) diff --git a/recipes/twitch-native-ipc/all/patches/cmake-fixes.patch b/recipes/twitch-native-ipc/all/patches/cmake-fixes.patch index e9ef8141281a0..0b516bd88e539 100644 --- a/recipes/twitch-native-ipc/all/patches/cmake-fixes.patch +++ b/recipes/twitch-native-ipc/all/patches/cmake-fixes.patch @@ -9,26 +9,30 @@ index 491ae46..c0a4f3d 100644 include(setup) project(nativeipc) -diff --git a/cmakeUtils/conanutils.cmake b/cmakeUtils/conanutils.cmake -index cc6c07c..cbf0cd6 100644 ---- a/cmakeUtils/conanutils.cmake -+++ b/cmakeUtils/conanutils.cmake -@@ -59,7 +59,8 @@ macro(run_conan) - set(_keeprpath "KEEP_RPATHS") - endif() - -- conan_cmake_run(CONANFILE conan/conanfile.py -+ if(NOT CONAN_EXPORTED) -+ conan_cmake_run(CONANFILE conan/conanfile.py - BASIC_SETUP - CMAKE_TARGETS - NO_OUTPUT_DIRS -@@ -71,4 +72,5 @@ macro(run_conan) - RELWITHDEBINFO_PROFILE ${_profile} - ENV "CONAN_CMAKE_BINARY_DIR_PATH=${CMAKE_BINARY_DIR}" - ) -+ endif() - endmacro() +diff --git a/cmakeUtils/setup.cmake b/cmakeUtils/setup.cmake +--- cmakeUtils/setup.cmake ++++ cmakeUtils/setup.cmake +@@ -1,6 +1,4 @@ + include(utilities) +-include(conan) +-include(conanutils) + + macro(setup_project) + if(NOT CMAKE_BUILD_TYPE) +@@ -13,13 +11,9 @@ + option(ENABLE_CODE_DOCUMENTATION "enable code documenation generation" OFF) + option(MSVC_DYNAMIC_RUNTIME "change default runtime" ON) + +- conan_check(VERSION 1.22.2 REQUIRED) +- + setup_default_cxx_compile_options() + + set_output_directories(${CMAKE_BINARY_DIR}/bin) +- +- run_conan() + + include(CTest) + if(BUILD_TESTING) diff --git a/cmakeUtils/unix.cmake b/cmakeUtils/unix.cmake index 5f4bb4c..9b2856a 100644 --- a/cmakeUtils/unix.cmake @@ -46,7 +50,18 @@ diff --git a/libnativeipc/CMakeLists.txt b/libnativeipc/CMakeLists.txt index fe5cc30..173a156 100644 --- a/libnativeipc/CMakeLists.txt +++ b/libnativeipc/CMakeLists.txt -@@ -81,7 +81,9 @@ if(MSVC) +@@ -59,8 +59,9 @@ + include/nativeipc + ) + ++find_package(libuv REQUIRED CONFIG) + target_link_libraries(nativeipc PRIVATE +- CONAN_PKG::libuv) ++ uv) + + target_compile_definitions(nativeipc PRIVATE) + +@@ -81,7 +82,9 @@ endif() install(TARGETS nativeipc diff --git a/recipes/twitch-native-ipc/all/patches/linux-build-fixes.patch b/recipes/twitch-native-ipc/all/patches/linux-build-fixes.patch index d62079e114cc8..6ce9e9cc4ff9b 100644 --- a/recipes/twitch-native-ipc/all/patches/linux-build-fixes.patch +++ b/recipes/twitch-native-ipc/all/patches/linux-build-fixes.patch @@ -83,3 +83,15 @@ index 40154b7..9772073 100644 ); #if DO_EXPLICIT_CHECKS +diff --git a/tests/UVServerTransport.h b/libnativeipc/src/UVServerTransport.h +index 40154b7..9772073 100644 +--- a/libnativeipc/src/UVServerTransport.h ++++ b/libnativeipc/src/UVServerTransport.h +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + namespace Twitch::IPC { + class UVServerTransport diff --git a/recipes/twitch-native-ipc/all/test_package/CMakeLists.txt b/recipes/twitch-native-ipc/all/test_package/CMakeLists.txt index 667b93ec41536..9e540f91ccbcd 100644 --- a/recipes/twitch-native-ipc/all/test_package/CMakeLists.txt +++ b/recipes/twitch-native-ipc/all/test_package/CMakeLists.txt @@ -1,12 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) +find_package(twitch-native-ipc REQUIRED CONFIG) add_executable(example example.c) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example twitch-native-ipc::twitch-native-ipc) add_executable(example2 example2.cpp) -target_link_libraries(example2 ${CONAN_LIBS}) +target_link_libraries(example2 twitch-native-ipc::twitch-native-ipc) target_compile_features(example2 PRIVATE cxx_std_17) diff --git a/recipes/twitch-native-ipc/all/test_package/conanfile.py b/recipes/twitch-native-ipc/all/test_package/conanfile.py index d9dd1034a8272..673b6b659b166 100644 --- a/recipes/twitch-native-ipc/all/test_package/conanfile.py +++ b/recipes/twitch-native-ipc/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 TwitchNativeIpcTestConan(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,8 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "example"), run_environment=True) - self.run(os.path.join("bin", "example2"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "example2") + self.run(bin_path, env="conanrun") diff --git a/recipes/twitch-native-ipc/all/test_package/example.c b/recipes/twitch-native-ipc/all/test_package/example.c index 5ba8bef81f80e..8d7d208570a6e 100644 --- a/recipes/twitch-native-ipc/all/test_package/example.c +++ b/recipes/twitch-native-ipc/all/test_package/example.c @@ -1,19 +1,17 @@ +#include + #include #include -#include int main() { void *server = Twitch_IPC_ConnectionCreateServer("test"); void *client = Twitch_IPC_ConnectionCreateClient("test"); - if(server && client) - { + if (server && client) { printf("success\n"); Twitch_IPC_ConnectionDestroy(server); Twitch_IPC_ConnectionDestroy(client); - } - else - { + } else { abort(); } } diff --git a/recipes/twitch-native-ipc/all/test_package/example2.cpp b/recipes/twitch-native-ipc/all/test_package/example2.cpp index 42a57ddd91913..e2e2490435629 100644 --- a/recipes/twitch-native-ipc/all/test_package/example2.cpp +++ b/recipes/twitch-native-ipc/all/test_package/example2.cpp @@ -1,12 +1,13 @@ -#include #include +#include + int main() { using namespace Twitch::IPC; auto server = ConnectionFactory::newServerConnection("test"); auto client = ConnectionFactory::newClientConnection("test"); - if(server && client) { + if (server && client) { std::cout << "success\n"; server.reset(); client.reset(); diff --git a/recipes/twitch-native-ipc/all/test_v1_package/CMakeLists.txt b/recipes/twitch-native-ipc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/twitch-native-ipc/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/twitch-native-ipc/all/test_v1_package/conanfile.py b/recipes/twitch-native-ipc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..bbac244c5a058 --- /dev/null +++ b/recipes/twitch-native-ipc/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TwitchNativeIpcTestConan(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): + self.run(os.path.join("bin", "example"), run_environment=True) + self.run(os.path.join("bin", "example2"), run_environment=True) From a7191f25c1e880c4929b226ef9a3c36067129821 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 6 Oct 2023 17:55:21 +0200 Subject: [PATCH 1965/4087] (#20370) wasmtime: several fixes for conan v2 - this recipes requires at least conan 1.53.0 due to usage of rm_safe - consistent min version between legacy Visual Studio and new msvc - do not use self.output.warn since it doesn't exist in conan v2 --- recipes/wasmtime/all/conanfile.py | 36 +++++++++++-------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/recipes/wasmtime/all/conanfile.py b/recipes/wasmtime/all/conanfile.py index 1ceb2e856e777..4aec54bb577f2 100644 --- a/recipes/wasmtime/all/conanfile.py +++ b/recipes/wasmtime/all/conanfile.py @@ -1,12 +1,12 @@ +import os + from conan import ConanFile -from conan.tools.files import get, copy -from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version -import os - -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class WasmtimeConan(ConanFile): @@ -27,14 +27,14 @@ class WasmtimeConan(ConanFile): no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 11 @property def _minimum_compilers_version(self): return { "Visual Studio": "15", - "msvc": "190", + "msvc": "191", "apple-clang": "9.4", "clang": "3.3", "gcc": "5.1", @@ -58,27 +58,17 @@ def package_id(self): self.info.settings.compiler = "gcc" def validate(self): - compiler = self.settings.compiler - min_version = self._minimum_compilers_version[str(compiler)] - try: - if Version(compiler.version) < min_version: - msg = ( - f"{self.name} requires C{self._minimum_cpp_standard} features " - f"which are not supported by compiler {compiler} {compiler.version} !!" - ) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - f"{self.name} recipe lacks information about the {compiler} compiler, " - f"support for the required C{self._minimum_cpp_standard} features is assumed" - ) - self.output.warn(msg) - try: self.conan_data["sources"][self.version][self._sources_os_key][str(self.settings.arch)] except KeyError: raise ConanInvalidConfiguration("Binaries for this combination of architecture/version/os are not available") + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def build(self): # This is packaging binaries so the download needs to be in build get(self, **self.conan_data["sources"][self.version][self._sources_os_key][str(self.settings.arch)], From 06986c931e97dd0b3268a3c70cd53e62aed457db Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 6 Oct 2023 18:42:52 +0200 Subject: [PATCH 1966/4087] (#20389) Add llvm to larger timeout list Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 3 ++- .c3i/config_v2.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 7f7dc6d5833da..9a047a70fde58 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -44,10 +44,11 @@ tasks: build_single_reference: package_id_cache_type: "none" timeout_minutes: 600 - large_timeout_minutes: 800 + large_timeout_minutes: 900 large_timeout_references: - boost - qt + - llvm cci: conan_v2_run_export: false write_comments: true diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 26bfec81b6d30..dae018bdc7951 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -35,10 +35,11 @@ tasks: build_single_reference: package_id_cache_type: "none" timeout_minutes: 600 - large_timeout_minutes: 800 + large_timeout_minutes: 900 large_timeout_references: - boost - qt + - llvm cci: conan_v2_run_export: false detailed_status_checks: false From fb0d85ca29cd42284556ddabc080ff3da0296712 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Oct 2023 19:56:42 +0300 Subject: [PATCH 1967/4087] (#18732) cgltf: migrate to Conan v2 --- recipes/cgltf/all/CMakeLists.txt | 18 +-- recipes/cgltf/all/conanfile.py | 103 +++++++++--------- recipes/cgltf/all/test_package/CMakeLists.txt | 9 +- recipes/cgltf/all/test_package/conanfile.py | 21 +++- .../cgltf/all/test_v1_package/CMakeLists.txt | 8 ++ .../cgltf/all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 101 insertions(+), 75 deletions(-) create mode 100644 recipes/cgltf/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cgltf/all/test_v1_package/conanfile.py diff --git a/recipes/cgltf/all/CMakeLists.txt b/recipes/cgltf/all/CMakeLists.txt index 083b3a7d15fec..86b1d0c12f541 100644 --- a/recipes/cgltf/all/CMakeLists.txt +++ b/recipes/cgltf/all/CMakeLists.txt @@ -1,16 +1,15 @@ cmake_minimum_required(VERSION 3.4) project(cgltf C) -include(conanbuildinfo.cmake) -conan_basic_setup() +set(SOURCES_DIR ${CMAKE_CURRENT_LIST_DIR}/src) set(SRC_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/cgltf.c - ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/cgltf_write.c + ${SOURCES_DIR}/cgltf.c + ${SOURCES_DIR}/cgltf_write.c ) set(HEADER_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/cgltf.h - ${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/cgltf_write.h + ${SOURCES_DIR}/cgltf.h + ${SOURCES_DIR}/cgltf_write.h ) add_library(${PROJECT_NAME} ${SRC_FILES}) @@ -20,10 +19,5 @@ if(MSVC AND BUILD_SHARED_LIBS) endif() include(GNUInstallDirs) -install( - TARGETS ${PROJECT_NAME} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -) +install(TARGETS ${PROJECT_NAME}) install(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/cgltf/all/conanfile.py b/recipes/cgltf/all/conanfile.py index bc0e435d4c8c5..df487c5e826cd 100644 --- a/recipes/cgltf/all/conanfile.py +++ b/recipes/cgltf/all/conanfile.py @@ -1,26 +1,34 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, export_conandata_patches, get, load, replace_in_file, save, rename + +required_conan_version = ">=1.53.0" + class CgltfConan(ConanFile): name = "cgltf" description = "Single-file glTF 2.0 loader and writer written in C99." license = "MIT" - topics = ("conan", "cgltf", "gltf", "header-only") - homepage = "https://github.com/jkuhlmann/cgltf" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jkuhlmann/cgltf" + topics = ("gltf", "header-only") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - exports_sources = "CMakeLists.txt" - generators = "cmake" - _cmake = None + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -28,62 +36,53 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _create_source_files(self): - cgltf_c = ( - "#define CGLTF_IMPLEMENTATION\n" - "#include \"cgltf.h\"\n" - ) - cgltf_write_c = ( - "#define CGLTF_WRITE_IMPLEMENTATION\n" - "#include \"cgltf_write.h\"\n" - ) - tools.save(os.path.join(self.build_folder, self._source_subfolder, "cgltf.c"), cgltf_c) - tools.save(os.path.join(self.build_folder, self._source_subfolder, "cgltf_write.c"), cgltf_write_c) + cgltf_c = '#define CGLTF_IMPLEMENTATION\n#include "cgltf.h"\n' + cgltf_write_c = '#define CGLTF_WRITE_IMPLEMENTATION\n#include "cgltf_write.h"\n' + save(self, os.path.join(self.build_folder, self.source_folder, "cgltf.c"), cgltf_c) + save(self, os.path.join(self.build_folder, self.source_folder, "cgltf_write.c"), cgltf_write_c) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): self._create_source_files() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() - def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() - cmake.install() - for header_file in ["cgltf.h", "cgltf_write.h"]: - header_fullpath = os.path.join(self.package_folder, "include", header_file) - self._remove_implementation(header_fullpath) - - @staticmethod - def _remove_implementation(header_fullpath): - header_content = tools.load(header_fullpath) + def _remove_implementation(self, header_fullpath): + header_content = load(self, header_fullpath) begin = header_content.find("/*\n *\n * Stop now, if you are only interested in the API.") end = header_content.find("/* cgltf is distributed under MIT license:", begin) implementation = header_content[begin:end] - tools.replace_in_file( + replace_in_file( + self, header_fullpath, implementation, - ( - "/**\n" - " * Implementation removed by conan during packaging.\n" - " * Don't forget to link libs provided in this package.\n" - " */\n\n" - ) + "/**\n * Implementation removed by conan during packaging.\n * Don't forget to link libs provided in this package.\n */\n\n", ) + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + for header_file in ["cgltf.h", "cgltf_write.h"]: + header_fullpath = os.path.join(self.package_folder, "include", header_file) + self._remove_implementation(header_fullpath) + for dll in (self.package_path / "lib").glob("*.dll"): + rename(self, dll, self.package_path / "bin" / dll.name) + def package_info(self): self.cpp_info.libs = ["cgltf"] diff --git a/recipes/cgltf/all/test_package/CMakeLists.txt b/recipes/cgltf/all/test_package/CMakeLists.txt index 5f056d0a34a03..ca0a3cec6c73e 100644 --- a/recipes/cgltf/all/test_package/CMakeLists.txt +++ b/recipes/cgltf/all/test_package/CMakeLists.txt @@ -1,11 +1,10 @@ -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(cgltf REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE cgltf::cgltf) if(MSVC) target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) endif() diff --git a/recipes/cgltf/all/test_package/conanfile.py b/recipes/cgltf/all/test_package/conanfile.py index ea57a464900be..ef5d7042163ec 100644 --- a/recipes/cgltf/all/test_package/conanfile.py +++ b/recipes/cgltf/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/cgltf/all/test_v1_package/CMakeLists.txt b/recipes/cgltf/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cgltf/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/cgltf/all/test_v1_package/conanfile.py b/recipes/cgltf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..84ee68733e516 --- /dev/null +++ b/recipes/cgltf/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 4f467aae1811d4105259e0390599d7638cd0a053 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 6 Oct 2023 20:47:14 +0300 Subject: [PATCH 1968/4087] (#18977) tcp-wrappers: migrate to Conan v2 * tcp-wrappers: migrate to Conan v2 * tcp-wrappers: add -fPIC * tcp-wrappers: disable cross-building --- recipes/tcp-wrappers/all/conandata.yml | 3 - recipes/tcp-wrappers/all/conanfile.py | 117 ++++++++++-------- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 +++- .../all/test_package/test_package.c | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 111 insertions(+), 66 deletions(-) create mode 100644 recipes/tcp-wrappers/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tcp-wrappers/all/test_v1_package/conanfile.py diff --git a/recipes/tcp-wrappers/all/conandata.yml b/recipes/tcp-wrappers/all/conandata.yml index 59e770ecf55f2..9aa6d859497fa 100644 --- a/recipes/tcp-wrappers/all/conandata.yml +++ b/recipes/tcp-wrappers/all/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "7.6": - patch_file: "patches/0001-shared-clang.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-fix-warnings-by-include-headers.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-add-severity-level-to-library.patch" - base_path: "source_subfolder" diff --git a/recipes/tcp-wrappers/all/conanfile.py b/recipes/tcp-wrappers/all/conanfile.py index 505aeec0d08d6..43c0049890c3c 100644 --- a/recipes/tcp-wrappers/all/conanfile.py +++ b/recipes/tcp-wrappers/all/conanfile.py @@ -1,16 +1,26 @@ import os -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get +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 TcpWrappersConan(ConanFile): name = "tcp-wrappers" - homepage = "ftp://ftp.porcupine.org/pub/security/index.html" description = "A security tool which acts as a wrapper for TCP daemons" - topics = ("conan", "tcp", "ip", "daemon", "wrapper") - url = "https://github.com/conan-io/conan-center-index" license = "BSD" - exports_sources = "patches/**" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://ftp.porcupine.org/pub/security/" + topics = ("tcp", "ip", "daemon", "wrapper") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -20,76 +30,81 @@ class TcpWrappersConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake" - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("Visual Studio is not supported") 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 source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("tcp_wrappers_{}-ipv6.4".format(self.version), self._source_subfolder) + def layout(self): + basic_layout(self, src_folder="src") - def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + def validate(self): + if cross_building(self): + raise ConanInvalidConfiguration("Cross-building is not current supported.") - def build(self): - self._patch_sources() - with tools.chdir(self._source_subfolder): - autotools = AutoToolsBuildEnvironment(self) - make_args = [ - "REAL_DAEMON_DIR={}".format(tools.unix_path(os.path.join(self.package_folder, "bin"))), - "-j1", - "SHEXT={}".format(self._shext), - ] - if self.options.shared: - make_args.append("shared=1") - env_vars = autotools.vars - if self.options.get_safe("fPIC", True): - env_vars["CFLAGS"] += " -fPIC" - env_vars["ENV_CFLAGS"] = env_vars["CFLAGS"] - # env_vars["SHEXT"] = self._shext - print(env_vars) - with tools.environment_append(env_vars): - autotools.make(target="linux", args=make_args) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _shext(self): - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): return ".dylib" return ".so" - def package(self): - self.copy(pattern="DISCLAIMER", src=self._source_subfolder, dst="licenses") + def generate(self): + tc = AutotoolsToolchain(self) + tc.make_args.append("REAL_DAEMON_DIR=/bin") + tc.make_args.append(f"SHEXT={self._shext}") + if self.options.shared: + tc.make_args.append("shared=1") + if self.options.get_safe("fPIC") or self.options.shared: + tc.make_args.append("ENV_CFLAGS=-fPIC") + tc.generate() + + def build(self): + apply_conandata_patches(self) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make(target="linux") + def package(self): + copy(self, "DISCLAIMER", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) for exe in ("safe_finger", "tcpd", "tcpdchk", "tcpdmatch", "try-from"): - self.copy(exe, src=self._source_subfolder, dst="bin", keep_path=False) - self.copy("tcpd.h", src=self._source_subfolder, dst="include", keep_path=False) + copy(self, exe, + src=self.source_folder, + dst=os.path.join(self.package_folder, "bin"), + keep_path=False) + copy(self, "tcpd.h", + src=self.source_folder, + dst=os.path.join(self.package_folder, "include"), + keep_path=False) if self.options.shared: - self.copy("libwrap{}".format(self._shext), src=self._source_subfolder, dst="lib", keep_path=False) + copy(self, f"libwrap{self._shext}", + src=self.source_folder, + dst=os.path.join(self.package_folder, "lib"), + keep_path=False) else: - self.copy("libwrap.a", src=self._source_subfolder, dst="lib", keep_path=False) + copy(self, "libwrap.a", + src=self.source_folder, + dst=os.path.join(self.package_folder, "lib"), + keep_path=False) def package_info(self): self.cpp_info.libs = ["wrap"] bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/tcp-wrappers/all/test_package/CMakeLists.txt b/recipes/tcp-wrappers/all/test_package/CMakeLists.txt index 6226de918d1da..6bc29bd3fc5c5 100644 --- a/recipes/tcp-wrappers/all/test_package/CMakeLists.txt +++ b/recipes/tcp-wrappers/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(tcp-wrappers REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE tcp-wrappers::tcp-wrappers) diff --git a/recipes/tcp-wrappers/all/test_package/conanfile.py b/recipes/tcp-wrappers/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/tcp-wrappers/all/test_package/conanfile.py +++ b/recipes/tcp-wrappers/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/tcp-wrappers/all/test_package/test_package.c b/recipes/tcp-wrappers/all/test_package/test_package.c index 99571f4211816..297a2849f1a11 100644 --- a/recipes/tcp-wrappers/all/test_package/test_package.c +++ b/recipes/tcp-wrappers/all/test_package/test_package.c @@ -6,6 +6,6 @@ int main (int argc, char *argv[]) { struct request_info req; request_init(&req, RQ_DAEMON, argv[0], RQ_FILE, 0, 0); - printf("host_acces: %d\n", hosts_access(&req)); + printf("host_access: %d\n", hosts_access(&req)); return 0; } diff --git a/recipes/tcp-wrappers/all/test_v1_package/CMakeLists.txt b/recipes/tcp-wrappers/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tcp-wrappers/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/tcp-wrappers/all/test_v1_package/conanfile.py b/recipes/tcp-wrappers/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7e2dfe859bb27 --- /dev/null +++ b/recipes/tcp-wrappers/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) From 6cb3836bffa35d5b31bb1b385e4d2982adf81f4b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 6 Oct 2023 21:09:44 +0200 Subject: [PATCH 1969/4087] (#20076) onnxruntime: add version 1.16.0 * onnxruntime: add version 1.16.0 * set minimum gcc version to 9 for 1.16+ * set minimum msvc version to 193 for 1.16+ --- recipes/onnxruntime/all/conandata.yml | 10 ++ recipes/onnxruntime/all/conanfile.py | 23 +++- .../1.16.0-0001-cmake-dependencies.patch | 129 ++++++++++++++++++ recipes/onnxruntime/config.yml | 2 + 4 files changed, 160 insertions(+), 4 deletions(-) create mode 100644 recipes/onnxruntime/all/patches/1.16.0-0001-cmake-dependencies.patch diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index c1f4ac489cb97..978433ed6b132 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -6,6 +9,13 @@ sources: url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: + "1.16.0": + - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" + patch_description: "CMake: ensure conan dependencies are used" + patch_type: "conan" + - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" + patch_description: "allow to build with abseil built without c++17 support" + patch_type: "portability" "1.15.1": - patch_file: "patches/1.15.1-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index dc0f2dce95435..7413919fad0ee 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -41,10 +41,18 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): + if Version(self.version) < "1.16.0": + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "7", + "clang": "5", + "apple-clang": "10", + } return { - "Visual Studio": "16", - "msvc": "192", - "gcc": "7", + "Visual Studio": "17", + "msvc": "193", + "gcc": "9", "clang": "5", "apple-clang": "10", } @@ -69,6 +77,7 @@ def _onnx_version(self): return { "1.14": "1.13.1", "1.15": "1.14.1", + "1.16": "1.14.1", }[f"{version.major}.{version.minor}"] def requirements(self): @@ -249,7 +258,10 @@ def package_info(self): onnxruntime_libs.append("providers_xnnpack") self.cpp_info.libs = [f"onnxruntime_{lib}" for lib in onnxruntime_libs] - self.cpp_info.includedirs.append("include/onnxruntime/core/session") + if Version(self.version) < "1.16.0" or not self.options.shared: + self.cpp_info.includedirs.append("include/onnxruntime/core/session") + else: + self.cpp_info.includedirs.append("include/onnxruntime") if self.settings.os in ["Linux", "Android", "FreeBSD", "SunOS", "AIX"]: self.cpp_info.system_libs.append("m") @@ -259,5 +271,8 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs.append("shlwapi") + # https://github.com/microsoft/onnxruntime/blob/v1.16.0/cmake/CMakeLists.txt#L1759-L1763 + self.cpp_info.set_property("cmake_file_name", "onnxruntime") + self.cpp_info.set_property("cmake_target_name", "onnxruntime::onnxruntime") # https://github.com/microsoft/onnxruntime/blob/v1.14.1/cmake/CMakeLists.txt#L1584 self.cpp_info.set_property("pkg_config_name", "onnxruntime") 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 new file mode 100644 index 0000000000000..dacb2b9b27a86 --- /dev/null +++ b/recipes/onnxruntime/all/patches/1.16.0-0001-cmake-dependencies.patch @@ -0,0 +1,129 @@ +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/config.yml b/recipes/onnxruntime/config.yml index 4b89de81e9882..af60133f50aa3 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.0": + folder: all "1.15.1": folder: all "1.14.1": From 8d4d2e56ea0e477744db6cafe6f9b20ac70be9ac Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:12:01 +0200 Subject: [PATCH 1970/4087] (#20288) mfast: improve creation of executable imported target + add package_type + bump sqlite3 * improve creation of executable imported target * fix test package * bump sqlite3 * add package_type * fix traits of boost --- recipes/mfast/all/conanfile.py | 23 +++++++++++++++------ recipes/mfast/all/test_package/conanfile.py | 15 +++----------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/recipes/mfast/all/conanfile.py b/recipes/mfast/all/conanfile.py index 41c45b6db58d8..11a8e4f600fa4 100644 --- a/recipes/mfast/all/conanfile.py +++ b/recipes/mfast/all/conanfile.py @@ -24,7 +24,7 @@ class mFASTConan(ConanFile): ) topics = ("fast", "fix", "fix-adapted-for-streaming", "financial-information-exchange", "libraries", "cpp") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -71,10 +71,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.75.0") + # transitive_headers=True because mfast/mfast_export.h includes boost/config.hpp + self.requires("boost/1.75.0", transitive_headers=True) self.requires("tinyxml2/9.0.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.40.1") + self.requires("sqlite3/3.43.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -169,18 +170,28 @@ def _prepend_exec_target_in_fasttypegentarget(self): fast_type_filename = "fast_type_gen" + extension module_folder_depth = len(os.path.normpath(self._new_mfast_config_dir).split(os.path.sep)) fast_type_rel_path = "{}bin/{}".format("".join(["../"] * module_folder_depth), fast_type_filename) - exec_target_content = textwrap.dedent("""\ + exec_target_content = textwrap.dedent(f"""\ if(NOT TARGET fast_type_gen) + # Locate fast_type_gen executable + ## Workaround for legacy "cmake" generator in case of cross-build if(CMAKE_CROSSCOMPILING) - find_program(MFAST_EXECUTABLE fast_type_gen PATHS ENV PATH NO_DEFAULT_PATH) + find_program(MFAST_EXECUTABLE NAMES fast_type_gen PATHS ENV PATH NO_DEFAULT_PATH) + endif() + ## And here this will work fine with "CMakeToolchain" (for native & cross-build) + ## and legacy "cmake" generator in case of native build + if(NOT MFAST_EXECUTABLE) + find_program(MFAST_EXECUTABLE NAMES fast_type_gen) endif() + ## Last resort: we search in package folder directly if(NOT MFAST_EXECUTABLE) get_filename_component(MFAST_EXECUTABLE "${{CMAKE_CURRENT_LIST_DIR}}/{fast_type_rel_path}" ABSOLUTE) endif() + + # Create executable imported target fast_type_gen add_executable(fast_type_gen IMPORTED) set_property(TARGET fast_type_gen PROPERTY IMPORTED_LOCATION ${{MFAST_EXECUTABLE}}) endif() - """.format(fast_type_rel_path=fast_type_rel_path)) + """) module_abs_path = os.path.join(self.package_folder, self._fast_type_gen_target_file) old_content = load(self, module_abs_path) new_content = exec_target_content + old_content diff --git a/recipes/mfast/all/test_package/conanfile.py b/recipes/mfast/all/test_package/conanfile.py index fecd6e83f0b2f..6f661e72969a0 100644 --- a/recipes/mfast/all/test_package/conanfile.py +++ b/recipes/mfast/all/test_package/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile -from conan.tools.build import can_run, cross_building +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps" + generators = "CMakeToolchain", "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -17,15 +16,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires(self.tested_reference_str) - - def generate(self): - VirtualRunEnv(self).generate() - if hasattr(self, "settings_build") and cross_building(self): - VirtualBuildEnv(self).generate() - else: - VirtualRunEnv(self).generate(scope="build") + self.tool_requires(self.tested_reference_str) def build(self): cmake = CMake(self) From fb30f195eefbf1f1645d7be74de4d239e14678b1 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 7 Oct 2023 06:20:49 +0900 Subject: [PATCH 1971/4087] (#20347) cppcommon: add version 1.0.4.0 --- recipes/cppcommon/all/conandata.yml | 10 ++ recipes/cppcommon/all/conanfile.py | 4 +- .../0001-update-cmakelists-1-0-4-0.patch | 108 ++++++++++++++++++ .../0003-define-win32-winnt-1-0-4-0.patch | 14 +++ recipes/cppcommon/config.yml | 2 + 5 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-4-0.patch create mode 100644 recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-4-0.patch diff --git a/recipes/cppcommon/all/conandata.yml b/recipes/cppcommon/all/conandata.yml index c2897878ad2bc..0a74dfd6a553f 100644 --- a/recipes/cppcommon/all/conandata.yml +++ b/recipes/cppcommon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.4.0": + url: "https://github.com/chronoxor/CppCommon/archive/1.0.4.0.tar.gz" + sha256: "724865a64309ab24b3e10d29b04dfec821003013635eff84dd2108f98e7a6fc3" "1.0.3.0": url: "https://github.com/chronoxor/CppCommon/archive/1.0.3.0.tar.gz" sha256: "af530d3550a050d4ed73a680b016e043ea6f4f56e11163226f2a6e24d9eae4ca" @@ -15,6 +18,13 @@ sources: url: "https://github.com/chronoxor/CppCommon/archive/cacfa9554d367467808663d9d5a695933ae566bb.tar.gz" sha256: "d2e717798e1668c831ee977763eaff7413ef48e6e0914a6322c9918016092048" patches: + "1.0.4.0": + - patch_file: "patches/0001-update-cmakelists-1-0-4-0.patch" + patch_description: "use cci packages" + patch_type: "conan" + - patch_file: "patches/0003-define-win32-winnt-1-0-4-0.patch" + patch_description: "define _WIN32_WINNT" + patch_type: "portability" "1.0.3.0": - patch_file: "patches/0001-update-cmakelists-1-0-3-0.patch" patch_description: "use cci packages" diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index 4997a9d1cf9fb..9e2726f3581c5 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -62,12 +62,12 @@ def requirements(self): if Version(self.version) < "1.0.3" or self.version == "cci.20201104": self.requires("fmt/8.1.1") else: - self.requires("fmt/10.1.0") + self.requires("fmt/10.1.0", transitive_headers=True) if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39") def validate(self): - if self.settings.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: diff --git a/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-4-0.patch b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-4-0.patch new file mode 100644 index 0000000000000..0d4c06013abe8 --- /dev/null +++ b/recipes/cppcommon/all/patches/0001-update-cmakelists-1-0-4-0.patch @@ -0,0 +1,108 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index daa796b..c76bfef 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,30 +18,31 @@ if(DOXYGEN_FOUND) + endif() + + # CMake module path +-set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") ++#set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + + # Compiler features +-include(SetCompilerFeatures) +-include(SetCompilerWarnings) +-include(SetPlatformFeatures) +-include(SystemInformation) ++#include(SetCompilerFeatures) ++#include(SetCompilerWarnings) ++#include(SetPlatformFeatures) ++#include(SystemInformation) + + # External packages + find_package(Threads REQUIRED) ++find_package(fmt REQUIRED) + if(UNIX AND NOT APPLE AND NOT MSYS) + find_package(LibBFD) + find_package(LibDL) + find_package(LibRT) +- find_package(LibUUID) ++ find_package(libuuid) + endif() + if(WIN32 OR MSYS) + find_package(DbgHelp) + find_package(RPC) +- find_package(Userenv) ++# find_package(Userenv) + endif() + + # Modules +-add_subdirectory("modules") ++#add_subdirectory("modules") + + # Link libraries + list(APPEND LINKLIBS Threads::Threads) +@@ -49,17 +50,18 @@ if(UNIX AND NOT APPLE AND NOT MSYS) + list(APPEND LINKLIBS ${LIBBFD_LIBRARIES}) + list(APPEND LINKLIBS ${LIBDL_LIBRARIES}) + list(APPEND LINKLIBS ${LIBRT_LIBRARIES}) +- list(APPEND LINKLIBS ${LIBUUID_LIBRARIES}) ++ list(APPEND LINKLIBS libuuid::libuuid) + endif() + if(WIN32 OR MSYS) + list(APPEND LINKLIBS ${DBGHELP_LIBRARIES}) + list(APPEND LINKLIBS ${RPC_LIBRARIES}) +- list(APPEND LINKLIBS ${USERENV_LIBRARIES}) ++ list(APPEND LINKLIBS userenv) ++ list(APPEND LINKLIBS rpcrt4) + list(APPEND LINKLIBS ${VLD_LIBRARIES}) + endif() + + # System directories +-include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/modules") ++#include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/modules") + include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/plugins") + + # Library +@@ -68,8 +70,9 @@ file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl" "source/*.inl") + file(GLOB_RECURSE LIB_SOURCE_FILES "include/*.cpp" "source/*.cpp") + add_library(cppcommon ${LIB_HEADER_FILES} ${LIB_INLINE_FILES} ${LIB_SOURCE_FILES}) + set_target_properties(cppcommon PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "libraries") +-target_include_directories(cppcommon PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" PUBLIC ${vld}) +-target_link_libraries(cppcommon ${LINKLIBS} fmt) ++target_include_directories(cppcommon PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") ++target_compile_features(cppcommon PUBLIC cxx_std_17) ++target_link_libraries(cppcommon PUBLIC ${LINKLIBS} fmt::fmt) + list(APPEND INSTALL_TARGETS cppcommon) + list(APPEND LINKLIBS cppcommon) + +@@ -91,6 +94,7 @@ if(NOT CPPCOMMON_MODULE) + list(APPEND INSTALL_TARGETS_PDB ${PLUGIN_TARGET}) + endforeach() + ++ if (0) + # Examples + file(GLOB EXAMPLE_HEADER_FILES "examples/*.h") + file(GLOB EXAMPLE_INLINE_FILES "examples/*.inl") +@@ -136,15 +140,16 @@ if(NOT CPPCOMMON_MODULE) + # CTest + enable_testing() + add_test(cppcommon-tests cppcommon-tests --durations yes --order lex) ++ endif() + + # Install + install(TARGETS ${INSTALL_TARGETS} +- RUNTIME DESTINATION "${PROJECT_SOURCE_DIR}/bin" +- LIBRARY DESTINATION "${PROJECT_SOURCE_DIR}/bin" +- ARCHIVE DESTINATION "${PROJECT_SOURCE_DIR}/bin") +- ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++ + # Install *.pdb files +- if(MSVC) ++ if(FALSE) + foreach(INSTALL_TARGET_PDB ${INSTALL_TARGETS_PDB}) + install(FILES $ DESTINATION "${PROJECT_SOURCE_DIR}/bin") + endforeach() diff --git a/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-4-0.patch b/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-4-0.patch new file mode 100644 index 0000000000000..076bc12bf2beb --- /dev/null +++ b/recipes/cppcommon/all/patches/0003-define-win32-winnt-1-0-4-0.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c76bfef..f57f05b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,6 +75,9 @@ target_compile_features(cppcommon PUBLIC cxx_std_17) + target_link_libraries(cppcommon PUBLIC ${LINKLIBS} fmt::fmt) + list(APPEND INSTALL_TARGETS cppcommon) + list(APPEND LINKLIBS cppcommon) ++if(WIN32 AND NOT MSVC) ++ target_compile_definitions(cppcommon PUBLIC -D_WIN32_WINNT=_WIN32_WINNT_VISTA) ++endif() + + # Additional module components: benchmarks, examples, plugins, tests, tools and install + if(NOT CPPCOMMON_MODULE) diff --git a/recipes/cppcommon/config.yml b/recipes/cppcommon/config.yml index ee34523110204..dfd13b4693a86 100644 --- a/recipes/cppcommon/config.yml +++ b/recipes/cppcommon/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.4.0": + folder: all "1.0.3.0": folder: all "1.0.2.0": From 07624c1de1c6854c0921ef2503b79f72bbed30d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 7 Oct 2023 01:03:31 +0200 Subject: [PATCH 1972/4087] (#20213) Bump fltk's zlib requirement to [>=1.2.11 <2] range --- recipes/fltk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index a7feaec5a6e94..f32dd94a48036 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -64,7 +64,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") self.requires("libjpeg/9e") self.requires("libpng/1.6.40") if self.settings.os in ["Linux", "FreeBSD"]: From 99e643cec63d435960689b9dde0775d2f35cf54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 7 Oct 2023 02:03:09 +0200 Subject: [PATCH 1973/4087] (#20215) Bump thrift's zlib requirement to [>=1.2.11 <2] range --- recipes/thrift/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 54cc1c65d6945..3f576411eeb0d 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_qt5: From 9348f6a1a8b5d32b3e1e26351dabcfc52fb31a26 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 7 Oct 2023 03:10:27 +0200 Subject: [PATCH 1974/4087] (#20349) serial: better way to set install_name to `@rpath` in shared lib macOS --- recipes/serial/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/serial/all/conanfile.py b/recipes/serial/all/conanfile.py index 895f0932cedd5..b0bd05408cdc0 100644 --- a/recipes/serial/all/conanfile.py +++ b/recipes/serial/all/conanfile.py @@ -1,7 +1,7 @@ import os from conan import ConanFile -from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get @@ -47,6 +47,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + # Relocatable shared lib on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() def build(self): @@ -60,7 +62,6 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() - fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["serial"] From 6fb7f24bcf0cbac36fa56b7d4333d7cae690b1b3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 7 Oct 2023 04:12:35 +0200 Subject: [PATCH 1975/4087] (#20367) mpfr: package correct LGPL license + few minor fixes * install COPYING.LESSER license file since mpfr is LGPL * explicit pkg_config_name * few fixes & cleanup - use export_conandata_patches() - call VirtualBuildEnv since there might be build requirements - do not add -FS is msvc < 180 * modernize test package a little bit --- recipes/mpfr/all/conanfile.py | 56 +++++++++++-------- recipes/mpfr/all/test_package/CMakeLists.txt | 4 +- recipes/mpfr/all/test_package/conanfile.py | 4 +- .../mpfr/all/test_v1_package/CMakeLists.txt | 12 ++-- 4 files changed, 41 insertions(+), 35 deletions(-) diff --git a/recipes/mpfr/all/conanfile.py b/recipes/mpfr/all/conanfile.py index e163c514a2dea..77727bc0de638 100644 --- a/recipes/mpfr/all/conanfile.py +++ b/recipes/mpfr/all/conanfile.py @@ -1,16 +1,20 @@ +import os +import re +import shlex + from conan import ConanFile -from conan.tools.files import save, load, copy, get, rmdir, replace_in_file, apply_conandata_patches -from conan.tools.layout import basic_layout +from conan.errors import ConanException +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import ( + apply_conandata_patches, copy, export_conandata_patches, get, load, + replace_in_file, rm, rmdir, save +) from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, check_min_vs, unix_path -from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.env import VirtualRunEnv -from conan.tools.build import cross_building -from conan.errors import ConanException -import os -import re -import shlex required_conan_version = ">=1.58.0" @@ -28,7 +32,7 @@ class MpfrConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "exact_int": ["mpir", "gmp",], + "exact_int": ["mpir", "gmp"], } default_options = { "shared": False, @@ -36,12 +40,14 @@ class MpfrConan(ConanFile): "exact_int": "gmp", } - exports_sources = "CMakeLists.txt.in", "patches/**" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + copy(self, "CMakeLists.txt.in", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") @@ -52,6 +58,12 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def layout(self): + if self.settings.os == "Windows": + cmake_layout(self, src_folder="src") + else: + basic_layout(self, src_folder="src") + def requirements(self): if self.options.exact_int == "gmp": self.requires("gmp/6.3.0", transitive_headers=True) @@ -64,17 +76,12 @@ def build_requirements(self): if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") - def layout(self): - if self.settings.os == "Windows": - cmake_layout(self, src_folder="src") - else: - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() if not cross_building(self): env = VirtualRunEnv(self) env.generate(scope="build") @@ -106,7 +113,7 @@ def generate(self): if self.options.exact_int == "mpir": tc.extra_cflags.append(f"-I{self.build_folder}") - if is_msvc(self): + if is_msvc(self) and check_min_vs(self, "180", raise_invalid=False): tc.extra_cflags.append("-FS") env = tc.environment() @@ -170,19 +177,20 @@ def build(self): autotools.make(args=["V=0"]) def package(self): - copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "COPYING.LESSER", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if self.settings.os == "Windows": cmake = CMake(self) cmake.install() else: autotools = Autotools(self) autotools.install() - fix_apple_shared_install_name(self) - os.unlink(os.path.join(self.package_folder, "lib", "libmpfr.la")) rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + fix_apple_shared_install_name(self) def package_info(self): + self.cpp_info.set_property("pkg_config_name", "mpfr") self.cpp_info.libs = ["mpfr"] if self.settings.os == "Windows" and self.options.shared: self.cpp_info.defines = ["MPFR_DLL"] diff --git a/recipes/mpfr/all/test_package/CMakeLists.txt b/recipes/mpfr/all/test_package/CMakeLists.txt index f4253e8466cb9..734c455f60d09 100644 --- a/recipes/mpfr/all/test_package/CMakeLists.txt +++ b/recipes/mpfr/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 3.3.0) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) -find_package(mpfr REQUIRED) +find_package(mpfr REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE mpfr::mpfr) diff --git a/recipes/mpfr/all/test_package/conanfile.py b/recipes/mpfr/all/test_package/conanfile.py index a63e741acf671..862d248f1946f 100644 --- a/recipes/mpfr/all/test_package/conanfile.py +++ b/recipes/mpfr/all/test_package/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout -from conan.tools.build import cross_building import os @@ -21,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/mpfr/all/test_v1_package/CMakeLists.txt b/recipes/mpfr/all/test_v1_package/CMakeLists.txt index 222d09629eb12..0d20897301b68 100644 --- a/recipes/mpfr/all/test_v1_package/CMakeLists.txt +++ b/recipes/mpfr/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.3.0) -project(test_package C) +cmake_minimum_required(VERSION 3.1) +project(test_package) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mpfr CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} mpfr::mpfr) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 98066bac39a44d21e3821410912c450fe9489183 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 7 Oct 2023 05:13:37 +0200 Subject: [PATCH 1976/4087] (#20372) usockets: several fixes for conan v2 * several fixes for conan v2 - do not use self.output.warn since it doesn't exist in conan v2 - test self.dependencies["wolfssl"].options.opensslextra instead of self.options["wolfssl"].opensslextra - add VirtualBuildEnv in autotools branch since there are build requirements if build machine is windows * methods by order of execution --- recipes/usockets/all/conanfile.py | 90 ++++++++++++++++--------------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/recipes/usockets/all/conanfile.py b/recipes/usockets/all/conanfile.py index d7b3860e4e166..c1bcf6244f7dc 100644 --- a/recipes/usockets/all/conanfile.py +++ b/recipes/usockets/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, chdir, replace_in_file from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -32,19 +33,19 @@ class UsocketsConan(ConanFile): } @property - def _minimum_cpp_standard(self): - version = False + def _min_cppstd(self): if self.options.eventloop == "boost": - version = "14" + return "14" # OpenSSL wrapper of uSockets uses C++17 features. if self.options.with_ssl == "openssl": - version = "17" + return "17" - return version + return False + @property def _minimum_compilers_version(self, cppstd): - standards = { + return { "14": { "Visual Studio": "15", "msvc": "191", @@ -59,11 +60,7 @@ def _minimum_compilers_version(self, cppstd): "clang": "6", "apple-clang": "10", }, - } - return standards.get(cppstd) or {} - - def layout(self): - basic_layout(self, src_folder="src") + }.get(self._min_cppstd, {}) @property def _settings_build(self): @@ -81,41 +78,14 @@ def config_options(self): del self.options.fPIC self.options.eventloop = "libuv" - def validate(self): - if self.options.eventloop == "syscall" and self.settings.os == "Windows": - raise ConanInvalidConfiguration("syscall is not supported on Windows") - - if self.options.eventloop == "gcd" and (self.settings.os != "Linux" or self.settings.compiler != "clang"): - raise ConanInvalidConfiguration("eventloop=gcd is only supported on Linux with clang") - - if Version(self.version) < "0.8.0" and self.options.eventloop not in ("syscall", "libuv", "gcd"): - raise ConanInvalidConfiguration(f"eventloop={self.options.eventloop} is not supported with {self.name}/{self.version}") - - if Version(self.version) >= "0.5.0" and self.options.with_ssl == "wolfssl": - raise ConanInvalidConfiguration(f"with_ssl={self.options.with_ssl} is not supported with {self.name}/{self.version}. https://github.com/uNetworking/uSockets/issues/147") - - if self.options.with_ssl == "wolfssl" and not self.options["wolfssl"].opensslextra: - raise ConanInvalidConfiguration("wolfssl needs opensslextra option enabled for usockets") - - cppstd = self._minimum_cpp_standard - if not cppstd: - return - - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, cppstd) - - minimum_version = self._minimum_compilers_version(cppstd).get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("{} requires C++{}, which your compiler does not support.".format(self.name, cppstd)) - else: - self.output.warn("{0} requires C++{1}. Your compiler is unknown. Assuming it supports C++{1}.".format(self.name, cppstd)) - def configure(self): - if bool(self._minimum_cpp_standard) == False: + if not bool(self._min_cppstd): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") @@ -129,6 +99,35 @@ def requirements(self): elif self.options.eventloop == "boost": self.requires("boost/1.83.0") + def validate(self): + if self.options.eventloop == "syscall" and self.settings.os == "Windows": + raise ConanInvalidConfiguration("syscall is not supported on Windows") + + if self.options.eventloop == "gcd" and not (self.settings.os == "Linux" and self.settings.compiler == "clang"): + raise ConanInvalidConfiguration("eventloop=gcd is only supported on Linux with clang") + + if Version(self.version) < "0.8.0" and self.options.eventloop not in ("syscall", "libuv", "gcd"): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support eventloop={self.options.eventloop}") + + if Version(self.version) >= "0.5.0" and self.options.with_ssl == "wolfssl": + raise ConanInvalidConfiguration( + f"{self.ref} doesn't support with_ssl={self.options.with_ssl}. " + "See https://github.com/uNetworking/uSockets/issues/147" + ) + + if self.options.with_ssl == "wolfssl" and not self.dependencies["wolfssl"].options.opensslextra: + raise ConanInvalidConfiguration("wolfssl needs opensslextra option enabled for usockets") + + if bool(self._min_cppstd): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._minimum_compilers_version(self._min_cppstd) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def build_requirements(self): if self._settings_build.os == "Windows" and not self._uses_msbuild: self.win_bash = True @@ -170,6 +169,9 @@ def generate(self): deps = MSBuildDeps(self) deps.generate() else: + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) env = tc.environment() if is_msvc(self): @@ -187,7 +189,8 @@ def generate(self): if self.options.eventloop == "libuv": # Workaround for: https://github.com/conan-io/conan/issues/12784 # Otherwise AutotoolsDeps should suffice - env.append("CPPFLAGS", "-I" + unix_path(self, self.dependencies["libuv"].cpp_info.includedirs[0])) + libuv_includes = self.dependencies["libuv"].cpp_info.aggregated_components().includedirs + env.append("CPPFLAGS", " ".join([f"-I{unix_path(self, p)}" for p in libuv_includes])) tc.generate(env) deps = AutotoolsDeps(self) @@ -200,7 +203,6 @@ def _build_msvc(self): def _build_autotools(self): autotools = Autotools(self) - autotools.fpic = self.options.get_safe("fPIC", False) with chdir(self, self.source_folder): args = ["WITH_LTO=0"] if self.options.with_ssl == "openssl": From 9e6afa3056ed7146135ce0d5d8e805c269d0f3d0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 7 Oct 2023 06:10:44 +0200 Subject: [PATCH 1977/4087] (#20377) dcmtk: fix regression on `enable_stl` option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix enable_stl option mapping * improve a little bit _collect_cmake_required() * typo --------- Co-authored-by: Rubén Rincón Blanco --- recipes/dcmtk/all/conanfile.py | 44 +++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/recipes/dcmtk/all/conanfile.py b/recipes/dcmtk/all/conanfile.py index c91c7cb9ec81d..6980bbc99c18d 100644 --- a/recipes/dcmtk/all/conanfile.py +++ b/recipes/dcmtk/all/conanfile.py @@ -144,7 +144,9 @@ def generate(self): tc.variables["DCMTK_WITH_DOXYGEN"] = False tc.variables["DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS"] = self.options.wide_io tc.variables["DCMTK_WIDE_CHAR_MAIN_FUNCTION"] = self.options.wide_io - tc.variables["DCMTK_ENABLE_STL"] = self.options.enable_stl + # Upstream CMakeLists really expects ON value and no other value (like TRUE) in its internal logic + # to enable STL features (see DCMTK_TEST_ENABLE_STL_FEATURE() function in CMake/GenerateDCMTKConfigure.cmake) + tc.variables["DCMTK_ENABLE_STL"] = "ON" if self.options.enable_stl else "OFF" tc.variables["DCMTK_ENABLE_CXX11"] = True tc.variables["DCMTK_ENABLE_MANPAGE"] = False tc.cache_variables["DCMTK_DEFAULT_DICT"] = self.options.default_dict @@ -159,32 +161,34 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def _collect_cmake_required(self, dependency): - dep = self.dependencies.host[dependency] + def _collect_cmake_required(self, host_dependency): + """ + Collect all compile & link flags of a host dependency so that they can be used in: + - CMAKE_REQUIRED_FLAGS + - CMAKE_REQUIRED_INCLUDES + - CMAKE_REQUIRED_DEFINITIONS + - CMAKE_REQUIRED_LINK_OPTIONS + - CMAKE_REQUIRED_LIBRARIES + These variables are listened by CMake functions like check_symbol_exists() etc + """ + # Aggregate cpp_info of dependency and all its depencencies (direct and transitive) + dep = self.dependencies.host[host_dependency] dep_cpp_info = dep.cpp_info.aggregated_components() + for _, trans_dep in dep.dependencies.items(): + if trans_dep.context == "host": + dep_cpp_info.merge(trans_dep.cpp_info.aggregated_components()) + dep_includes = [p.replace("\\", "/") for p in dep_cpp_info.includedirs] - dep_defs = [d for d in dep_cpp_info.defines] libdirs_flag = "/LIBPATH:" if is_msvc(self) else "-L" dep_libdirs = ["{}{}".format(libdirs_flag, p.replace("\\", "/")) for p in dep_cpp_info.libdirs] - dep_libs = [l for l in dep_cpp_info.libs] - dep_system_libs = [s for s in dep_cpp_info.system_libs] dep_frameworks = [f"-framework {f}" for f in dep_cpp_info.frameworks] - for _, trans_dependency in dep.dependencies.items(): - if trans_dependency.context != "host": - continue - trans_dep_cpp_info = trans_dependency.cpp_info.aggregated_components() - dep_includes.extend([p.replace("\\", "/") for p in trans_dep_cpp_info.includedirs]) - dep_defs.extend([d for d in trans_dep_cpp_info.defines]) - dep_libdirs.extend(["{}{}".format(libdirs_flag, p.replace("\\", "/")) for p in trans_dep_cpp_info.libdirs]) - dep_libs.extend([l for l in trans_dep_cpp_info.libs]) - dep_system_libs.extend([s for s in trans_dep_cpp_info.system_libs]) - dep_frameworks.extend([f"-framework {f}" for f in trans_dep_cpp_info.frameworks]) return { + "flags": ";".join(dep_cpp_info.cflags + dep_cpp_info.cxxflags), "includes": ";".join(dep_includes), - "definitions": ";".join(dep_defs), - "link_options": ";".join(dep_libdirs + dep_frameworks), - "libraries": ";".join(dep_libs + dep_system_libs), + "definitions": ";".join(dep_cpp_info.defines), + "link_options": ";".join(dep_libdirs + dep_cpp_info.exelinkflags + dep_frameworks), + "libraries": ";".join(dep_cpp_info.libs + dep_cpp_info.system_libs), } def _patch_sources(self): @@ -199,6 +203,7 @@ def _patch_sources(self): os.path.join(self.source_folder, "CMake", "dcmtkPrepare.cmake"), "set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OPENSSL_LIBS} ${THREAD_LIBS})", textwrap.dedent(f"""\ + list(APPEND CMAKE_REQUIRED_FLAGS "{cmake_required['flags']}") list(APPEND CMAKE_REQUIRED_INCLUDES "{cmake_required['includes']}") list(APPEND CMAKE_REQUIRED_DEFINITIONS "{cmake_required['definitions']}") list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "{cmake_required['link_options']}") @@ -213,6 +218,7 @@ def _patch_sources(self): os.path.join(self.source_folder, "CMake", "3rdparty.cmake"), "set(CMAKE_REQUIRED_LIBRARIES ${LIBICONV_LIBS})", textwrap.dedent(f"""\ + list(APPEND CMAKE_REQUIRED_FLAGS "{cmake_required['flags']}") list(APPEND CMAKE_REQUIRED_DEFINITIONS "{cmake_required['definitions']}") list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "{cmake_required['link_options']}") list(APPEND CMAKE_REQUIRED_LIBRARIES "{cmake_required['libraries']}") From 903e5b16ac431e4ae046f0a33a773b51998e126f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 07:11:49 +0200 Subject: [PATCH 1978/4087] (#20395) prometheus-cpp/all: bump libcurl --- recipes/prometheus-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index 42d1c971e35ee..ad2bd633fa595 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): if self.options.with_pull: self.requires("civetweb/1.16") if self.options.with_push: - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.2.1") if self.options.get_safe("with_compression"): self.requires("zlib/[>=1.2.11 <2]") From cd8ffd01b6448cba98922fd8f506524d258b6c7e Mon Sep 17 00:00:00 2001 From: igormironchik Date: Sat, 7 Oct 2023 16:40:42 +0300 Subject: [PATCH 1979/4087] (#20409) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index d726da5cad811..89f9c14aa5d1b 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.1.0.tar.gz" + sha256: "cfbf515adecd798a3f1a4f2e007021b4b31742dd0b36805c273b3b8316fd820d" "2.0.18": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.18.tar.gz" sha256: "4fe70a63eb78cdf0355f6a6b292c40c8cc8ed4a62bcbec17afefa713b19c28b1" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 948892a125b47..6e3494f079960 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.18": folder: all "2.0.16": From f5145131db0472043c06ebc03cce4f93db4a9514 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 17:15:10 +0200 Subject: [PATCH 1980/4087] (#20402) mariadb-connector-c/all: bump libcurl --- recipes/mariadb-connector-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 2a47e8904ad34..835db83c0b42d 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -58,7 +58,7 @@ def requirements(self): if self.options.get_safe("with_iconv"): self.requires("libiconv/1.17") if self.options.with_curl: - self.requires("libcurl/8.1.2") + self.requires("libcurl/8.2.1") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") From c653b9fbffda32f2c6d5d2560e5675f125ae31e1 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 18:10:39 +0200 Subject: [PATCH 1981/4087] (#20404) libbigwig/all: bump libcurl --- recipes/libbigwig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index abb1b4a35b398..92c3a5f4a85af 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -45,7 +45,7 @@ def requirements(self): if self.options.with_curl: # transitive_headers=True is required due to includes in bigWigIO.h # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 - self.requires("libcurl/8.1.2", transitive_headers=True) + self.requires("libcurl/8.2.1", transitive_headers=True) if self.options.with_zlibng: self.requires("zlib-ng/2.1.3") else: From 90c887f0b13760c8414c63dbe97bc2c628edf2f2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 19:15:05 +0200 Subject: [PATCH 1982/4087] (#20403) libmediainfo/all: bump libcurl --- recipes/libmediainfo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmediainfo/all/conanfile.py b/recipes/libmediainfo/all/conanfile.py index d68e2deed8e87..942170afa983b 100644 --- a/recipes/libmediainfo/all/conanfile.py +++ b/recipes/libmediainfo/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.1.2") + self.requires("libcurl/8.2.1") self.requires("libzen/0.4.38", transitive_headers=True, transitive_libs=True) self.requires("tinyxml2/9.0.0") self.requires("zlib/[>=1.2.11 <2]") From d0948137f93d7001ad60effb649375d7c8803587 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 20:21:00 +0200 Subject: [PATCH 1983/4087] (#20407) czmq/all: bump libcurl --- recipes/czmq/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/czmq/all/conanfile.py b/recipes/czmq/all/conanfile.py index 1ea4a28e1852a..d711089dd0289 100644 --- a/recipes/czmq/all/conanfile.py +++ b/recipes/czmq/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): if self.options.get_safe("with_libmicrohttpd"): self.requires("libmicrohttpd/0.9.75") if self.options.get_safe("with_libcurl"): - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.2.1") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.get_safe("with_libuuid"): From ab8c14dfbfc45e053be49ceddd3bbefe7da1b969 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 21:12:03 +0200 Subject: [PATCH 1984/4087] (#20408) imutils-cpp/all: bump libcurl --- recipes/imutils-cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/imutils-cpp/all/conanfile.py b/recipes/imutils-cpp/all/conanfile.py index f6e8787dbdea2..f542311be0b20 100644 --- a/recipes/imutils-cpp/all/conanfile.py +++ b/recipes/imutils-cpp/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): def requirements(self): self.requires("opencv/4.5.5", transitive_headers=True, transitive_libs=True) - self.requires("libcurl/7.87.0") + self.requires("libcurl/8.2.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 4c292885d0ced62a2dedc7ba4d991c8bb205e65f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 7 Oct 2023 22:15:09 +0200 Subject: [PATCH 1985/4087] (#20406) sentry-crashpad/all: bump libcurl --- recipes/sentry-crashpad/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-crashpad/all/conanfile.py b/recipes/sentry-crashpad/all/conanfile.py index 4217d488f0b1c..097dc9f7336e9 100644 --- a/recipes/sentry-crashpad/all/conanfile.py +++ b/recipes/sentry-crashpad/all/conanfile.py @@ -62,7 +62,7 @@ def build_requirements(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/8.2.0") + self.requires("libcurl/8.2.1") if self.options.get_safe("with_tls"): self.requires("openssl/[>=1.1 <4]") From 4c26bf76f75ab42aa2ad9517adde0eb4c50668b2 Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Sun, 8 Oct 2023 16:50:09 +0200 Subject: [PATCH 1986/4087] (#20428) emio: add version 0.5.0 * emio: add version 0.5.0 * Update config.yml --- recipes/emio/all/conandata.yml | 3 +++ recipes/emio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index e7d7963735f4c..f62ffc65b5b74 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.0": + url: "https://github.com/viatorus/emio/archive/0.5.0.tar.gz" + sha256: "14cfa81d96db6ef74b8da7b5d2ffbd26535f2930d0d423e4fde7b526ddb3b308" "0.4.0": url: "https://github.com/viatorus/emio/archive/0.4.0.tar.gz" sha256: "847198a37fbf9dcc00ac85fbc64b283e41a018f53c39363129a4bdb9939338a6" diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index 3842372f8b1f4..9582e7461fbc5 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.0": + folder: all "0.4.0": folder: all "0.3.0": From 139ce52d78cb6968ec3c2b86c37a62a5c61b8198 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 8 Oct 2023 19:16:42 +0200 Subject: [PATCH 1987/4087] (#20424) tmx/all: bump deps --- recipes/tmx/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tmx/all/conanfile.py b/recipes/tmx/all/conanfile.py index 53b614a724111..532a780023daa 100644 --- a/recipes/tmx/all/conanfile.py +++ b/recipes/tmx/all/conanfile.py @@ -52,11 +52,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.9.14") + self.requires("libxml2/2.11.4") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") def source(self): get(self, **self.conan_data["sources"][self.version], From d096ebbeb7559105916b4e3b552f56de8318dff5 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 8 Oct 2023 20:10:55 +0200 Subject: [PATCH 1988/4087] (#20427) norm/all: bump libxml2 --- recipes/norm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/norm/all/conanfile.py b/recipes/norm/all/conanfile.py index 0a0ac61c170c3..d900ba9bfd4b9 100644 --- a/recipes/norm/all/conanfile.py +++ b/recipes/norm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.10.4") # dependency of protolib actually + self.requires("libxml2/2.11.4") # dependency of protolib actually def source(self): get(self, **self.conan_data["sources"][self.version]) From 509664c8477c7dbf367838db4a174b2f42a96cd7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 8 Oct 2023 22:12:02 +0200 Subject: [PATCH 1989/4087] (#20432) civetweb/all: bump OpenSSL --- recipes/civetweb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/civetweb/all/conanfile.py b/recipes/civetweb/all/conanfile.py index a2b502ff165bb..b393da542821b 100644 --- a/recipes/civetweb/all/conanfile.py +++ b/recipes/civetweb/all/conanfile.py @@ -83,7 +83,7 @@ def layout(self): def requirements(self): if self.options.with_ssl: if Version(self.version) < "1.16": - self.requires("openssl/1.1.1t") + self.requires("openssl/1.1.1w") else: self.requires("openssl/[>=1 <4]") if self.options.get_safe("with_zlib"): From 3b74fe48b6434c82afa4b2c88365f42ba96555ca Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 8 Oct 2023 23:12:49 +0200 Subject: [PATCH 1990/4087] (#20433) libmysqlclient/all: bump deps --- recipes/libmysqlclient/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 8d96f1dd52828..37c00e1110d01 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): def requirements(self): if Version(self.version) < "8.0.30": - self.requires("openssl/1.1.1u") + self.requires("openssl/1.1.1w") else: self.requires("openssl/[>=1.1 <4]") self.requires("zlib/[>=1.2.11 <2]") @@ -104,7 +104,7 @@ def build_requirements(self): if is_apple_os(self): self.tool_requires("cmake/[>=3.18 <4]") if self.settings.os == "FreeBSD" and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c142dd0ada6368619b2e7ae72aebed038bff920c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 01:12:48 +0200 Subject: [PATCH 1991/4087] (#20429) libwebsockets/all: bump OpenSSL --- recipes/libwebsockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index fbda27117b43e..b15cf76410c45 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -225,7 +225,7 @@ def requirements(self): if self.options.with_ssl == "openssl": # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail - self.requires("openssl/1.1.1t", transitive_headers=True) + self.requires("openssl/1.1.1w", transitive_headers=True) elif self.options.with_ssl == "mbedtls": self.requires("mbedtls/2.25.0") elif self.options.with_ssl == "wolfssl": From fb7fc2710d957b7e0f9abfae5e085b5cbb7892f3 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 02:14:04 +0200 Subject: [PATCH 1992/4087] (#20434) libpq/all: bump OpenSSL --- recipes/libpq/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libpq/all/conanfile.py b/recipes/libpq/all/conanfile.py index cc7d54df6ee85..53f51b549f74e 100644 --- a/recipes/libpq/all/conanfile.py +++ b/recipes/libpq/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: if Version(self.version) < "13.5": - self.requires("openssl/1.1.1u") + self.requires("openssl/1.1.1w") else: self.requires("openssl/[>=1.1 <4]") From d77f37b6abdeb985ccfcd963813d41511888f447 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 11:12:47 +0200 Subject: [PATCH 1993/4087] (#20413) cocoyaxi/all: bump lib curl, use version range for OpenSSL, make deprecated * cocoyaxi/all: bump lib curl, use version range for OpenSSL * fix missing system libs * cocoyaxi: make deprecated * fix removal of fPIC in configure() --------- Co-authored-by: toge --- recipes/cocoyaxi/all/conanfile.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/cocoyaxi/all/conanfile.py b/recipes/cocoyaxi/all/conanfile.py index 217d2d1b7c4e1..adafa0cb6a0df 100644 --- a/recipes/cocoyaxi/all/conanfile.py +++ b/recipes/cocoyaxi/all/conanfile.py @@ -30,6 +30,7 @@ class CocoyaxiConan(ConanFile): "with_libcurl": False, "with_openssl": False, } + deprecated = "coost" def config_options(self): if self.settings.os == "Windows": @@ -37,13 +38,13 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): if self.options.with_libcurl: - self.requires("libcurl/7.80.0") + self.requires("libcurl/8.2.1") if self.options.with_libcurl or self.options.with_openssl: - self.requires("openssl/1.1.1q") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.info.settings.compiler.cppstd: @@ -95,3 +96,7 @@ def package_info(self): self.cpp_info.components["co"].requires.append("libcurl::libcurl") if self.options.with_libcurl or self.options.with_openssl: self.cpp_info.components["co"].requires.append("openssl::openssl") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["co"].system_libs.extend(["pthread", "dl", "m"]) + elif self.settings.os == "Windows": + self.cpp_info.components["co"].system_libs.append("ws2_32") From 165418fa06400142cb97e5a24f9df45fb9dab851 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 9 Oct 2023 13:02:18 +0200 Subject: [PATCH 1994/4087] (#20457) [changelog] New C3I Release: 2023-Oct-06 Signed-off-by: Uilian Ries --- docs/changelog.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 167e8aafcbc3e..e1a988f303253 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,14 @@ # Changelog +### 06-Oct-2023 - 10:15 CEST + +- [feature] Label PRs with version conflict properly +- [feature] Add motivation message when under maintenance +- [feature] Wait for sibling job in master right before promote +- [fix] No longer run Conan v2 export step +- [fix] Ensure build order follows only static first +- [fix] Disable quiet period for all jobs except CCI multibranch + ### 25-Sep-2023 - 14:33 CEST - [feature] Label PRs that have missing dependencies. From d9140c8547114211d57a419a7c65648b6f0bd3dd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 16:13:27 +0200 Subject: [PATCH 1995/4087] (#20422) hwloc/all: bump libxml2 --- recipes/hwloc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py index ac1264a7b4049..07f03ed148988 100644 --- a/recipes/hwloc/all/conanfile.py +++ b/recipes/hwloc/all/conanfile.py @@ -41,7 +41,7 @@ def configure(self): def requirements(self): if self.options.with_libxml2: - self.requires("libxml2/2.9.12") + self.requires("libxml2/2.11.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From f5a44dc0006eb1ceddabf964771d193030eb89a3 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 16:35:32 +0200 Subject: [PATCH 1996/4087] (#20423) opentdf-client/all: bump deps, use zlib version range, remove old versions --- recipes/opentdf-client/all/conandata.yml | 18 +------ recipes/opentdf-client/all/conanfile.py | 24 ++++----- .../all/patches/1.1.6-0001-cmake-fixes.patch | 51 ------------------- recipes/opentdf-client/config.yml | 4 -- 4 files changed, 13 insertions(+), 84 deletions(-) delete mode 100644 recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch diff --git a/recipes/opentdf-client/all/conandata.yml b/recipes/opentdf-client/all/conandata.yml index ead069b25a72d..74961dd8639fd 100644 --- a/recipes/opentdf-client/all/conandata.yml +++ b/recipes/opentdf-client/all/conandata.yml @@ -8,22 +8,8 @@ sources: "1.3.10": url: "https://github.com/opentdf/client-cpp/archive/1.3.10.tar.gz" sha256: "539bd5e64bceb86f63b3f7db75de470d5ea1d52ae6436a6a2d6789f7d0710dd4" - "1.2.0": - url: "https://github.com/opentdf/client-cpp/archive/1.2.0.tar.gz" - sha256: "15828038809ed291ff7881206a675abc5162e1175c8b515363b9c584aebb08f7" - "1.1.6": - url: "https://github.com/opentdf/client-cpp/archive/1.1.6.tar.gz" - sha256: "83992c37c9a58ae2152660a4ffbf1784fe63d7a9e7b8466d10ca1074697b3d3a" patches: - "1.1.6": - - patch_file: "patches/1.1.6-0001-cmake-fixes.patch" - patch_description: "CMake build fixes for Conan 2.0-compatible recipe" - patch_type: "conan" - "1.2.0": - - patch_file: "patches/1.1.6-0001-cmake-fixes.patch" - patch_description: "CMake build fixes for Conan 2.0-compatible recipe" - patch_type: "conan" - "1.3.10": + "1.5.0": - patch_file: "patches/1.3.10-0001-cmake-fixes.patch" patch_description: "CMake build fixes for Conan 2.0-compatible recipe" patch_type: "conan" @@ -31,7 +17,7 @@ patches: - patch_file: "patches/1.3.10-0001-cmake-fixes.patch" patch_description: "CMake build fixes for Conan 2.0-compatible recipe" patch_type: "conan" - "1.5.0": + "1.3.10": - patch_file: "patches/1.3.10-0001-cmake-fixes.patch" patch_description: "CMake build fixes for Conan 2.0-compatible recipe" patch_type: "conan" diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index e22c9867361c7..8d420a25df14f 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -43,9 +43,9 @@ def _minimum_compilers_version(self): return { "Visual Studio": "17" if Version(self.version) < "1.1.5" else "15", "msvc": "193" if Version(self.version) < "1.1.5" else "191", - "gcc": "7.5.0", + "gcc": "7.5", "clang": "12", - "apple-clang": "12.0.0", + "apple-clang": "12", } def config_options(self): @@ -64,21 +64,16 @@ def requirements(self): if Version(self.version) >= "1.5.0": self.requires("openssl/[>=3.1 <4]") else: - self.requires("openssl/1.1.1u") + self.requires("openssl/1.1.1w") # Uses magic_enum for 1.4.0 and newer if Version(self.version) >= "1.4.0": self.requires("magic_enum/0.8.2") self.requires("ms-gsl/2.1.0") - self.requires("nlohmann_json/3.11.1") + self.requires("nlohmann_json/3.11.2") self.requires("jwt-cpp/0.4.0") - self.requires("zlib/1.2.13") - # Use newer boost+libxml2 after 1.3.6 - if Version(self.version) <= "1.3.6": - self.requires("boost/1.79.0") - self.requires("libxml2/2.9.14") - else: - self.requires("boost/1.82.0") - self.requires("libxml2/2.11.4") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("boost/1.83.0") + self.requires("libxml2/2.11.4") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -98,7 +93,7 @@ def validate(self): # Disallow MT and MTd if is_msvc_static_runtime(self): raise ConanInvalidConfiguration(f"{self.name} can not be built with MT or MTd at this time") - + if self.options.shared and self.settings.os == "Windows": raise ConanInvalidConfiguration(f"{self.name} does not currently support shared library on Windows") @@ -164,3 +159,6 @@ def package_info(self): self.cpp_info.components["libopentdf"].requires.append("libarchive::libarchive") if Version(self.version) >= "1.4.0": self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch b/recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch deleted file mode 100644 index 7b784e35e922b..0000000000000 --- a/recipes/opentdf-client/all/patches/1.1.6-0001-cmake-fixes.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt -index f1ef646..2414ffc 100644 ---- a/src/lib/CMakeLists.txt -+++ b/src/lib/CMakeLists.txt -@@ -99,7 +99,9 @@ set(TDF_COMBINED_LIB_FULL_PATH ${TDF_LIB_DIR}/${TDF_COMBINED_LIB_FILENAME}) - message(STATUS "Combined full path: ${TDF_COMBINED_LIB_FULL_PATH}") - - #TODO: Also need to handle iOS and Android(arm64). --if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -+if(TRUE) -+ message(STATUS "Skipping generation of combined static library") -+elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - - FOREACH (LDIR ${CONAN_LIB_DIRS}) - set(V_COMBINED_LIB_DIRS ${V_COMBINED_LIB_DIRS} -L${LDIR}) -@@ -154,8 +156,6 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") - lib -out:${TDF_LIB_DIR}/${TDF_COMBINED_LIB_FILENAME} ${TDF_LIB_DIR}/${TDF_STATIC_LIB_FILENAME} ${V_COMBINED_LIB_DIRS} ${V_COMBINED_LIB_NAMES} - ) - ) --else() -- message(STATUS "${CMAKE_SYSTEM_NAME} - unknown system FIXME........") - endif() - - # generate the shared library from the library sources -@@ -186,16 +186,19 @@ install(DIRECTORY DESTINATION ${TDF_LIB_INSTALL_LOCATION}) - # move the headers(to include) and tdf(to lib) directory under tdf-lib-cpp - install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ - DESTINATION ${TDF_LIB_INSTALL_LOCATION}/include) -- --install(FILES ${TDF_STATIC_LIB_FULL_PATH} -- DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) - --install(FILES ${TDF_COMBINED_LIB_FULL_PATH} -- DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) -+if(NOT BUILD_SHARED_LIBS) -+ install(FILES $ -+ DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) -+endif() -+ -+# Skip combined static library for Conan Center Index package -+# install(FILES ${TDF_COMBINED_LIB_FULL_PATH} -+# DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) - - if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - message(STATUS "Skipping shared lib on windows") --else() -- install(FILES ${TDF_SHARED_LIB_FULL_PATH} -+elseif(BUILD_SHARED_LIBS) -+ install(FILES $ - DESTINATION ${TDF_LIB_INSTALL_LOCATION}/lib) - endif() diff --git a/recipes/opentdf-client/config.yml b/recipes/opentdf-client/config.yml index ab5feb490bdb8..99d76618997f8 100644 --- a/recipes/opentdf-client/config.yml +++ b/recipes/opentdf-client/config.yml @@ -5,7 +5,3 @@ versions: folder: all "1.3.10": folder: all - "1.2.0": - folder: all - "1.1.6": - folder: all From f03355f204f095d99225efa72572661c3e0c536e Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:02:29 +0200 Subject: [PATCH 1997/4087] (#20459) [bot] Update authorized users list (2023-10-09) --- .c3i/authorized_users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 5ec8bdc0fdecc..3b442dae2045d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1237,3 +1237,9 @@ authorized_users: - CJaccarino - gagoi - tux3 +- jan-grimo +- petermbauer +- Rdk-T +- fixstars-sonali +- FranzPoize +- SoShiny From 6b52934b218fb0bc597a091eb30b8c9512b9b9b7 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Mon, 9 Oct 2023 10:19:52 -0600 Subject: [PATCH 1998/4087] (#20443) arrow: fix issue when building with aws-cpp-sdk * arrow: fix issue when building with aws-cpp-sdk * add missing endlin * Update project includes --- recipes/arrow/all/conan_cmake_project_include.cmake | 13 +++++++++++++ recipes/arrow/all/conanfile.py | 3 +++ 2 files changed, 16 insertions(+) create mode 100644 recipes/arrow/all/conan_cmake_project_include.cmake diff --git a/recipes/arrow/all/conan_cmake_project_include.cmake b/recipes/arrow/all/conan_cmake_project_include.cmake new file mode 100644 index 0000000000000..1bf900def3e56 --- /dev/null +++ b/recipes/arrow/all/conan_cmake_project_include.cmake @@ -0,0 +1,13 @@ +if(ARROW_S3) + find_package(AWSSDK REQUIRED) + # Fix issue where scripts expect a variable called "AWSSDK_LINK_LIBRARIES" + # which is not defined by the generated AWSSDKConfig.cmake + if(NOT DEFINED AWSSDK_LINK_LIBRARIES) + set(AWSSDK_LINK_LIBRARIES "${AWSSDK_LIBRARIES}") + endif() + + # Causes logic used for generated .pc file to not run + # avoiding instropection of target `aws-cpp-sdk::aws-cpp-sdk` + # This is fine because the generated .pc file is not of use + set(AWSSDK_SOURCE "conan") +endif() diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index cb60b5bb95dea..00c6c39a561ae 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -139,6 +139,7 @@ def _compilers_minimum_version(self): def export_sources(self): export_conandata_patches(self) + copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -499,6 +500,8 @@ def generate(self): tc.variables["ARROW_USE_STATIC_CRT"] = is_msvc_static_runtime(self) if self.options.with_llvm: tc.variables["LLVM_DIR"] = self.dependencies["llvm-core"].package_folder.replace("\\", "/") + + tc.cache_variables["CMAKE_PROJECT_arrow_INCLUDE"] = os.path.join(self.source_folder, "conan_cmake_project_include.cmake") tc.generate() deps = CMakeDeps(self) From 2ec1c8dc1a762f4bee9b964c9c3ea3abfc623947 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 9 Oct 2023 21:41:23 +0400 Subject: [PATCH 1999/4087] (#20245) [openvino] ported upstream patches to 2023.1.0 --- recipes/openvino/all/conandata.yml | 14 +- recipes/openvino/all/conanfile.py | 70 +- .../dependencies/dependencies-2023.1.0.yml | 2 + .../0003-fixed-gpu-with-onednn-build.patch | 644 +++- .../0004-fixed-gpu-plugin-with-clang.patch | 2836 +++++++++++++++++ 5 files changed, 3526 insertions(+), 40 deletions(-) create mode 100644 recipes/openvino/all/dependencies/dependencies-2023.1.0.yml create mode 100644 recipes/openvino/all/patches/2023.1.0/0004-fixed-gpu-plugin-with-clang.patch diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index 375c797c46fca..754a9fdac40d3 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,8 +1,8 @@ sources: "2023.1.0": "openvino": - url: "https://github.com/openvinotoolkit/openvino/archive/47b736f63edda256d66e2bbb572f42a9d6549f6e.tar.gz" - sha256: "8a1dd5b35fe4b60440e97ee61e12e01aa4dd78b5be30550aa08fcd96c416e1d7" + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.1.0.tar.gz" + sha256: "ff88596b342440185874ddbe22874b47ad7b923f14671921af760b15c98aacd6" "arm_compute": url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.02.1.tar.gz" sha256: "c3a443e26539f866969242e690cf0651ef629149741ee18732f954c734da6763" @@ -30,5 +30,11 @@ patches: patch_type: "portability" # severals PR are merged into a single patch including: # https://github.com/openvinotoolkit/openvino/pull/19668, - # https://github.com/openvinotoolkit/openvino/pull/19715 and - patch_source: "https://github.com/openvinotoolkit/openvino/pull/19716" + # https://github.com/openvinotoolkit/openvino/pull/19715, + # https://github.com/openvinotoolkit/openvino/pull/19716, + # https://github.com/openvinotoolkit/openvino/pull/19762 and + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19811" + - patch_file: "patches/2023.1.0/0004-fixed-gpu-plugin-with-clang.patch" + patch_description: "Fixed order of initialization of static variables in GPU plugin compiled with clang" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19768" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index de1677f7edab6..60ab6b910442c 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -1,10 +1,12 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration +from conan.errors import ConanException, ConanInvalidConfiguration from conan.tools.build import check_min_cppstd, cross_building from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +import functools import os +import yaml required_conan_version = ">=1.60.0 <2.0 || >=2.0.8" @@ -63,6 +65,24 @@ class OpenvinoConan(ConanFile): "enable_pytorch_frontend": True } + @property + def _dependencies_filename(self): + return f"dependencies-{self.version}.yml" + + @property + @functools.lru_cache(1) + def _dependencies_versions(self): + dependencies_filepath = os.path.join(self.recipe_folder, "dependencies", self._dependencies_filename) + if not os.path.isfile(dependencies_filepath): + raise ConanException(f"Cannot find {dependencies_filepath}") + cached_dependencies = yaml.safe_load(open(dependencies_filepath, encoding='UTF-8')) + return cached_dependencies + + def _require(self, dependency): + if dependency not in self._dependencies_versions: + raise ConanException(f"{dependency} is missing in {self._dependencies_filename}") + return f"{dependency}/{self._dependencies_versions[dependency]}" + @property def _protobuf_required(self): return self.options.enable_tf_frontend or self.options.enable_onnx_frontend or self.options.enable_paddle_frontend @@ -85,12 +105,7 @@ def _gpu_option_available(self): @property def _preprocessing_available(self): - return Version(self.version) < "2023.2.0" - - @property - def _onnx_version(self): - if Version(self.version) == "2023.1.0": - return "1.13.1" + return "ade" in self._dependencies_versions @property def _compilers_minimum_version(self): @@ -112,8 +127,12 @@ def source(self): destination=f"{self.source_folder}/src/plugins/intel_cpu/thirdparty/ComputeLibrary") get(self, **self.conan_data["sources"][self.version]["onednn_gpu"], strip_root=True, destination=f"{self.source_folder}/src/plugins/intel_gpu/thirdparty/onednn_gpu") + rmdir(self, f"{self.source_folder}/src/plugins/intel_gpu/thirdparty/rapidjson") apply_conandata_patches(self) + def export(self): + copy(self, f"dependencies/{self._dependencies_filename}", self.recipe_folder, self.export_folder) + def export_sources(self): export_conandata_patches(self) @@ -130,20 +149,17 @@ def configure(self): # we need to use static protobuf to overcome potential issues with multiple registrations inside # protobuf when frontends (implemented as plugins) are loaded multiple times in runtime self.options["protobuf"].shared = False - # disable GPU plugin when clang is used; plugin has issues with static variables initialization - if self.settings.compiler == "clang" and self.options.get_safe("enable_gpu"): - self.options.enable_gpu = False def build_requirements(self): if self._target_arm: - self.tool_requires("scons/[>=4.2.0]") + self.tool_requires("scons/4.3.0") if cross_building(self): if self._protobuf_required: self.tool_requires("protobuf/") if self.options.enable_tf_lite_frontend: self.tool_requires("flatbuffers/") if not self.options.shared: - self.tool_requires("cmake/[>=3.18]") + self.tool_requires("cmake/[>=3.18 <4]") def requirements(self): self.requires("onetbb/2021.9.0") @@ -152,16 +168,17 @@ def requirements(self): self.requires("xbyak/6.73") if self.options.get_safe("enable_gpu"): self.requires("opencl-icd-loader/2023.04.17") + self.requires("rapidjson/cci.20220822") if self._protobuf_required: self.requires("protobuf/3.21.12") if self.options.enable_tf_frontend: self.requires("snappy/1.1.10") if self.options.enable_onnx_frontend: - self.requires(f"onnx/{self._onnx_version}") + self.requires(self._require("onnx")) if self.options.enable_tf_lite_frontend: self.requires("flatbuffers/22.9.24") if self._preprocessing_available: - self.requires("ade/0.1.2c") + self.requires(self._require("ade")) def layout(self): cmake_layout(self, src_folder="src") @@ -175,7 +192,7 @@ 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 + toolchain.cache_variables["ENABLE_ONEDNN_FOR_GPU"] = self.options.shared or not self.options.enable_cpu if self._gna_option_available: toolchain.cache_variables["ENABLE_INTEL_GNA"] = False # SW plugins @@ -248,17 +265,12 @@ def validate(self): if self._protobuf_required and self.options.shared and self.dependencies["protobuf"].options.shared: raise ConanInvalidConfiguration(f"{self.ref}:shared=True requires protobuf:shared=False for correct work.") - if self.options.get_safe("enable_gpu"): - # GPU does not support oneDNN in static build configuration, warn about it - if not self.options.shared: - self.output.warning(f"{self.name} recipe builds GPU plugin without oneDNN (dGPU) support during static build.") - - # GPU plugin is currently not stable when compiled with clang compiler - if self.settings.compiler == "clang": - raise ConanInvalidConfiguration( - "GPU plugin cannot be built with clang compiler." - "Please, disable GPU plugin (openvino/*:enable_gpu=False) or change the compiler" - ) + if self.options.get_safe("enable_gpu") and not self.options.shared and self.options.enable_cpu: + # 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." + "To enable oneDNN support for GPU plugin, please, either use shared build configuration" + "or disable CPU plugin by setting 'enable_cpu' option to False.") def build(self): cmake = CMake(self) @@ -305,6 +317,8 @@ 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: + openvino_runtime.libs.append("openvino_onednn_gpu") # SW plugins if self.options.enable_auto: openvino_runtime.libs.append("openvino_auto_plugin") @@ -346,7 +360,7 @@ def package_info(self): openvino_runtime.defines = ["OPENVINO_STATIC_LIBRARY"] if self.options.get_safe("enable_gpu"): - openvino_runtime.requires.append("opencl-icd-loader::opencl-icd-loader") + openvino_runtime.requires.extend(["opencl-icd-loader::opencl-icd-loader", "rapidjson::rapidjson"]) if self.settings.os == "Windows": openvino_runtime.system_libs.append("setupapi") diff --git a/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml b/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml new file mode 100644 index 0000000000000..e789abb75808e --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml @@ -0,0 +1,2 @@ +onnx: "1.13.1" +ade: "0.1.2c" diff --git a/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch b/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch index fc7beb3b5ec36..e5791b37c7a7a 100644 --- a/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch +++ b/recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch @@ -1,10 +1,548 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 461f1a209c..0b552b3da3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,6 +47,7 @@ message (STATUS "CMAKE_GENERATOR ....................... " ${CMAKE_GENERATOR}) + message (STATUS "CPACK_GENERATOR ....................... " ${CPACK_GENERATOR}) + message (STATUS "CMAKE_C_COMPILER_ID ................... " ${CMAKE_C_COMPILER_ID}) + message (STATUS "CMAKE_CXX_COMPILER_ID ................. " ${CMAKE_CXX_COMPILER_ID}) ++message (STATUS "CMAKE_CXX_STANDARD .................... " ${CMAKE_CXX_STANDARD}) + if(OV_GENERATOR_MULTI_CONFIG) + string(REPLACE ";" " " config_types "${CMAKE_CONFIGURATION_TYPES}") + message (STATUS "CMAKE_CONFIGURATION_TYPES ............. " ${config_types}) +diff --git a/cmake/developer_package/plugins/plugins.cmake b/cmake/developer_package/plugins/plugins.cmake +index 436685355a..ea187411d1 100644 +--- a/cmake/developer_package/plugins/plugins.cmake ++++ b/cmake/developer_package/plugins/plugins.cmake +@@ -117,6 +117,10 @@ function(ov_add_plugin) + # install rules + if(NOT OV_PLUGIN_SKIP_INSTALL OR NOT BUILD_SHARED_LIBS) + string(TOLOWER "${OV_PLUGIN_DEVICE_NAME}" install_component) ++ if(NOT BUILD_SHARED_LIBS) ++ # in case of static libs everything is installed to 'core' ++ set(install_component ${OV_CPACK_COMP_CORE}) ++ endif() + + if(OV_PLUGIN_PSEUDO_DEVICE) + set(plugin_hidden HIDDEN) +diff --git a/cmake/features.cmake b/cmake/features.cmake +index e4b60c89e0..7327b262a2 100644 +--- a/cmake/features.cmake ++++ b/cmake/features.cmake +@@ -23,7 +23,7 @@ endif() + + ie_dependent_option (ENABLE_INTEL_GPU "GPU OpenCL-based plugin for OpenVINO Runtime" ${ENABLE_INTEL_GPU_DEFAULT} "X86_64 OR AARCH64;NOT APPLE;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" OFF) + +-if (ANDROID OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) OR NOT BUILD_SHARED_LIBS) ++if (ANDROID OR MINGW OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) OR (NOT BUILD_SHARED_LIBS AND ENABLE_INTEL_CPU)) + # oneDNN doesn't support old compilers and android builds for now, so we'll build GPU plugin without oneDNN + # also, in case of static build CPU's and GPU's oneDNNs will conflict, so we are disabling GPU's one in this case + set(ENABLE_ONEDNN_FOR_GPU_DEFAULT OFF) +diff --git a/cmake/templates/OpenVINOConfig.cmake.in b/cmake/templates/OpenVINOConfig.cmake.in +index 9eb1cfdd35..7dda80d8a3 100644 +--- a/cmake/templates/OpenVINOConfig.cmake.in ++++ b/cmake/templates/OpenVINOConfig.cmake.in +@@ -223,6 +223,10 @@ macro(_ov_find_tbb) + PATHS ${_tbb_bind_dir} + NO_CMAKE_FIND_ROOT_PATH + NO_DEFAULT_PATH) ++ if(TARGET TBBbind::tbbbind_2_5) ++ # To solve https://cmake.org/cmake/help/latest/policy/CMP0111.html warnings ++ set_property(TARGET TBBbind::tbbbind_2_5 PROPERTY IMPORTED_CONFIGURATIONS RELEASE DEBUG) ++ endif() + unset(_tbb_bind_dir) + endif() + unset(install_tbbbind) +@@ -343,11 +347,15 @@ endmacro() + macro(_ov_find_intel_cpu_dependencies) + set(_OV_ENABLE_CPU_ACL "@DNNL_USE_ACL@") + if(_OV_ENABLE_CPU_ACL) +- set(_ov_in_install_tree "@PACKAGE_ARM_COMPUTE_LIB_DIR@") ++ set(_ov_in_install_tree "@PACKAGE_OPENVINO_LIB_DIR@") + if(_ov_in_install_tree) +- set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_ARM_COMPUTE_LIB_DIR@") ++ set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_OPENVINO_LIB_DIR@") + set(ACL_DIR "${CMAKE_CURRENT_LIST_DIR}") + else() ++ if(NOT TARGET arm_compute::arm_compute) ++ # for case when build tree is used separately, e.g. OpenVINODeveloperPackageConfig.cmake ++ set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_CMAKE_ARCHIVE_OUTPUT_DIRECTORY@") ++ endif() + set_and_check(ACL_DIR "@PACKAGE_FIND_ACL_PATH@") + endif() + +@@ -363,16 +371,50 @@ macro(_ov_find_intel_gpu_dependencies) + set(_OV_ENABLE_INTEL_GPU "@ENABLE_INTEL_GPU@") + set(_OV_ENABLE_SYSTEM_OPENCL "@ENABLE_SYSTEM_OPENCL@") + if(_OV_ENABLE_INTEL_GPU AND _OV_ENABLE_SYSTEM_OPENCL) +- set(_OV_OpenCLICDLoader_FOUND "@OpenCLICDLoader_FOUND@") +- if(_OV_OpenCLICDLoader_FOUND) +- _ov_find_dependency(OpenCLICDLoader) +- else() +- _ov_find_dependency(OpenCL) +- endif() +- unset(_OV_OpenCLICDLoader_FOUND) ++ _ov_find_dependency(OpenCL) + endif() + unset(_OV_ENABLE_INTEL_GPU) + unset(_OV_ENABLE_SYSTEM_OPENCL) ++ ++ set(_OV_ENABLE_ONEDNN_FOR_GPU "@ENABLE_ONEDNN_FOR_GPU@") ++ if(_OV_ENABLE_ONEDNN_FOR_GPU AND NOT TARGET onednn_gpu_tgt) ++ set(_OV_DNNL_GPU_LIBRARY_NAME "@DNNL_GPU_LIBRARY_NAME@") ++ ++ set(_ov_in_install_tree "@PACKAGE_OPENVINO_LIB_DIR@") ++ if(_ov_in_install_tree) ++ set(onednn_gpu_lib "${CMAKE_STATIC_LIBRARY_PREFIX}${_OV_DNNL_GPU_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") ++ set_and_check(onednn_gpu_lib_root "@PACKAGE_OPENVINO_LIB_DIR@") ++ if(WIN32) ++ if(OV_GENERATOR_MULTI_CONFIG) ++ set(extra_args PATH_SUFFIXES ${CMAKE_CONFIGURATION_TYPES}) ++ else() ++ set(extra_args PATH_SUFFIXES ${CMAKE_BUILD_TYPE}) ++ endif() ++ endif() ++ ++ find_library(onednn_gpu_lib_path ++ NAMES ${_OV_DNNL_GPU_LIBRARY_NAME} ++ PATHS ${onednn_gpu_lib_root} ++ ${extra_args}) ++ ++ if(NOT onednn_gpu_lib_path) ++ message(FATAL_ERROR "Internal error: failed to find '${_OV_DNNL_GPU_LIBRARY_NAME}' in '${onednn_gpu_lib_root}'") ++ endif() ++ ++ unset(extra_args) ++ unset(onednn_gpu_lib) ++ else() ++ set_and_check(onednn_gpu_lib_path "@PACKAGE_ONEDNN_GPU_LIB_PATH@") ++ endif() ++ ++ set_target_properties(openvino::onednn_gpu_tgt PROPERTIES ++ INTERFACE_LINK_LIBRARIES "${onednn_gpu_lib_path}") ++ ++ unset(onednn_gpu_lib_path) ++ unset(_ov_in_install_tree) ++ unset(_OV_DNNL_GPU_LIBRARY_NAME) ++ endif() ++ unset(_OV_ENABLE_ONEDNN_FOR_GPU) + endmacro() + + macro(_ov_find_intel_gna_dependencies) +@@ -455,6 +497,7 @@ set(_OV_ENABLE_OPENVINO_BUILD_SHARED "@BUILD_SHARED_LIBS@") + + if(NOT TARGET openvino) + set(_ov_as_external_package ON) ++ include("${CMAKE_CURRENT_LIST_DIR}/OpenVINOTargets.cmake") + endif() + + if(NOT _OV_ENABLE_OPENVINO_BUILD_SHARED) +@@ -487,8 +530,6 @@ set(_ov_imported_libs openvino::runtime openvino::runtime::c + openvino::frontend::pytorch openvino::frontend::tensorflow_lite) + + if(_ov_as_external_package) +- include("${CMAKE_CURRENT_LIST_DIR}/OpenVINOTargets.cmake") +- + foreach(target IN LISTS _ov_imported_libs) + if(TARGET ${target}) + get_target_property(imported_configs ${target} IMPORTED_CONFIGURATIONS) +diff --git a/src/cmake/openvino.cmake b/src/cmake/openvino.cmake +index eb9a54354e..1d2996482b 100644 +--- a/src/cmake/openvino.cmake ++++ b/src/cmake/openvino.cmake +@@ -157,9 +157,12 @@ if(ENABLE_INTEL_GNA) + list(APPEND PATH_VARS "GNA_PATH") + endif() + if(DNNL_USE_ACL) +- list(APPEND BUILD_PATH_VARS "FIND_ACL_PATH") ++ list(APPEND BUILD_PATH_VARS "FIND_ACL_PATH;CMAKE_ARCHIVE_OUTPUT_DIRECTORY") + set(FIND_ACL_PATH "${intel_cpu_thirdparty_SOURCE_DIR}") + endif() ++if(ENABLE_ONEDNN_FOR_GPU) ++ list(APPEND BUILD_PATH_VARS "ONEDNN_GPU_LIB_PATH") ++endif() + + set(PUBLIC_HEADERS_DIR "${OpenVINO_SOURCE_DIR}/src/inference/include") + set(IE_INCLUDE_DIR "${PUBLIC_HEADERS_DIR}/ie") +@@ -177,12 +180,10 @@ configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINOCo + + # install tree + +-if(DNNL_USE_ACL) +- list(APPEND INSTALL_PATH_VARS "ARM_COMPUTE_LIB_DIR") +- # remove generator expression at the end, because searching in Release / Debug will be +- # done by ACLConfig.cmake itself +- string(REPLACE "$" "" ARM_COMPUTE_LIB_DIR "${OV_CPACK_LIBRARYDIR}") +-endif() ++list(APPEND INSTALL_PATH_VARS "OPENVINO_LIB_DIR") ++# remove generator expression at the end, because searching in Release / Debug ++# will be done by inside OpenVINOConfig.cmak / ACLConfig.cmake ++string(REPLACE "$" "" OPENVINO_LIB_DIR "${OV_CPACK_LIBRARYDIR}") + + set(IE_INCLUDE_DIR "${OV_CPACK_INCLUDEDIR}/ie") + set(IE_TBB_DIR "${IE_TBB_DIR_INSTALL}") +diff --git a/src/plugins/intel_cpu/thirdparty/CMakeLists.txt b/src/plugins/intel_cpu/thirdparty/CMakeLists.txt +index 98935a0792..7e8325acef 100644 +--- a/src/plugins/intel_cpu/thirdparty/CMakeLists.txt ++++ b/src/plugins/intel_cpu/thirdparty/CMakeLists.txt +@@ -117,7 +117,7 @@ function(ov_add_onednn) + add_subdirectory(onednn EXCLUDE_FROM_ALL) + + # install static libraries +- ov_install_static_lib(dnnl cpu) ++ ov_install_static_lib(dnnl ${OV_CPACK_COMP_CORE}) + + if(DNNL_USE_ACL AND NOT BUILD_SHARED_LIBS) + # use ACLConfig.cmake in OpenVINOConfig.cmake in case of static build +@@ -125,16 +125,16 @@ function(ov_add_onednn) + # but for this we need to install library files + install(FILES $ + DESTINATION ${OV_CPACK_ARCHIVEDIR} +- COMPONENT cpu) ++ COMPONENT ${OV_CPACK_COMP_CORE}) + install(FILES "${intel_cpu_thirdparty_SOURCE_DIR}/ACLConfig.cmake" + DESTINATION ${OV_CPACK_OPENVINO_CMAKEDIR} +- COMPONENT core_dev) ++ COMPONENT ${OV_CPACK_COMP_CORE_DEV}) + endif() + endfunction() + + if(ENABLE_MLAS_FOR_CPU) + add_subdirectory(mlas) +- ov_install_static_lib(mlas cpu) ++ ov_install_static_lib(mlas ${OV_CPACK_COMP_CORE}) + endif() + + ov_add_onednn() +diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt +index 1770b34b65..4e8a9d0e68 100644 +--- a/src/plugins/intel_gpu/CMakeLists.txt ++++ b/src/plugins/intel_gpu/CMakeLists.txt +@@ -35,6 +35,7 @@ set(MAIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + set(INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include") + + add_subdirectory(thirdparty) ++include(thirdparty/cmake/rapidjson.cmake) + + if(CMAKE_COMPILER_IS_GNUCXX) + ie_add_compiler_flags(-Werror) +diff --git a/src/plugins/intel_gpu/src/graph/CMakeLists.txt b/src/plugins/intel_gpu/src/graph/CMakeLists.txt +index 0b2093d2a0..fac58ec0fa 100644 +--- a/src/plugins/intel_gpu/src/graph/CMakeLists.txt ++++ b/src/plugins/intel_gpu/src/graph/CMakeLists.txt +@@ -58,7 +58,7 @@ elseif((NOT ANDROID) AND (UNIX)) + target_link_libraries(${TARGET_NAME} PRIVATE pthread) + endif() + +-ov_install_static_lib(${TARGET_NAME} gpu) ++ov_install_static_lib(${TARGET_NAME} ${OV_CPACK_COMP_CORE}) + + if(ENABLE_SSE42) + ie_sse42_optimization_flags(sse4_2_flags) +diff --git a/src/plugins/intel_gpu/src/kernel_selector/CMakeLists.txt b/src/plugins/intel_gpu/src/kernel_selector/CMakeLists.txt +index b76d8ee732..99ebf5331a 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/CMakeLists.txt ++++ b/src/plugins/intel_gpu/src/kernel_selector/CMakeLists.txt +@@ -61,7 +61,8 @@ endif() + target_include_directories(${TARGET_NAME} PUBLIC $ + $ + $ +- $) ++ $ ++ PRIVATE $) + + target_compile_options(${TARGET_NAME} PRIVATE + $<$:$,/Os,-Os>>) +@@ -70,7 +71,7 @@ if(COMMAND add_cpplint_target) + add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) + endif() + +-target_link_libraries(${TARGET_NAME} PUBLIC OpenCL::OpenCL rapidjson inference_engine_plugin_api) ++target_link_libraries(${TARGET_NAME} PUBLIC OpenCL::OpenCL inference_engine_plugin_api) + + set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) + +@@ -90,8 +91,16 @@ add_custom_command( + TARGET ${TARGET_NAME} POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/cache/cache.json ${TUNING_CACHE_PATH}/cache.json) + ++if(BUILD_SHARED_LIBS) ++ set(CACHE_JSON_INSTALL_DIR ${OV_CPACK_PLUGINSDIR}) ++ set(CACHE_JSON_COMPONENT gpu) ++else() ++ set(CACHE_JSON_INSTALL_DIR ${OV_CPACK_ARCHIVEDIR}) ++ set(CACHE_JSON_COMPONENT ${OV_CPACK_COMP_CORE}) ++endif() ++ + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cache/cache.json +- DESTINATION ${OV_CPACK_PLUGINSDIR} +- COMPONENT gpu) ++ DESTINATION ${CACHE_JSON_INSTALL_DIR} ++ COMPONENT ${CACHE_JSON_COMPONENT}) + +-ov_install_static_lib(${TARGET_NAME} gpu) ++ov_install_static_lib(${TARGET_NAME} ${OV_CPACK_COMP_CORE}) +diff --git a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp +index cfac486cdf..a5d0711f61 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp ++++ b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp +@@ -3,18 +3,21 @@ + // + + #include "auto_tuner.h" ++ + #include + #include + #include + #include + #include +-#include "istreamwrapper.h" +-#include "stringbuffer.h" +-#include "prettywriter.h" + #include + #include + #include + ++#include "rapidjson/istreamwrapper.h" ++#include "rapidjson/stringbuffer.h" ++#include "rapidjson/prettywriter.h" ++#include "rapidjson/document.h" ++ + #ifdef _WIN32 + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN +@@ -35,32 +38,37 @@ + + namespace kernel_selector { + ++class TuningCache::Impl { ++public: ++ rapidjson::Document cache; ++}; ++ + TuningCache::TuningCache(const std::string& cacheFilePath) +- : cache() { ++ : impl(new Impl()) { + // Read cache file + std::ifstream tuningFile(cacheFilePath); + + if (tuningFile && tuningFile.good()) { + std::stringstream buffer; + buffer << tuningFile.rdbuf(); +- cache.Parse(buffer.str().c_str()); ++ impl->cache.Parse(buffer.str().c_str()); + } else { + throw std::runtime_error("Tuning file: " + cacheFilePath + " could not be read! Must provide a valid cache file in USE_CACHE mode."); + } + +- if (cache.IsNull()) { +- cache.SetObject(); +- } else if (!cache.IsObject()) { ++ if (impl->cache.IsNull()) { ++ impl->cache.SetObject(); ++ } else if (!impl->cache.IsObject()) { + throw std::runtime_error("Tuning file: " + cacheFilePath + " has incorrect format."); + } + +- auto cacheObj = cache.GetObject(); ++ auto cacheObj = impl->cache.GetObject(); + + // Update to new format with version markers + if (!cacheObj.HasMember(version2Marker)) { +- auto newName = rapidjson::Value(version2Marker, cache.GetAllocator()); ++ auto newName = rapidjson::Value(version2Marker, impl->cache.GetAllocator()); + auto newObj = rapidjson::Value(rapidjson::Type::kObjectType); +- cacheObj.AddMember(newName, newObj, cache.GetAllocator()); ++ cacheObj.AddMember(newName, newObj, impl->cache.GetAllocator()); + } + + bool needsV1 = false; +@@ -73,9 +81,9 @@ TuningCache::TuningCache(const std::string& cacheFilePath) + + if (needsV1) { + if (!cacheObj.HasMember(version1Marker)) { +- auto newName = rapidjson::Value(version1Marker, cache.GetAllocator()); ++ auto newName = rapidjson::Value(version1Marker, impl->cache.GetAllocator()); + auto newObj = rapidjson::Value(rapidjson::Type::kObjectType); +- cacheObj.AddMember(newName, newObj, cache.GetAllocator()); ++ cacheObj.AddMember(newName, newObj, impl->cache.GetAllocator()); + } + + for (auto it = cacheObj.begin(); it != cacheObj.end();) { +@@ -86,7 +94,7 @@ TuningCache::TuningCache(const std::string& cacheFilePath) + auto newValue = rapidjson::Value(rapidjson::Type::kObjectType); + newName.Swap(member.name); + newValue.Swap(member.value); +- cache[version1Marker].AddMember(newName, newValue, cache.GetAllocator()); ++ impl->cache[version1Marker].AddMember(newName, newValue, impl->cache.GetAllocator()); + it = cacheObj.EraseMember(it); + } else { + it++; +@@ -96,11 +104,11 @@ TuningCache::TuningCache(const std::string& cacheFilePath) + } + + TuningCache::TuningCache() +- : cache() { +- cache.SetObject(); +- auto v2Name = rapidjson::Value(version2Marker, cache.GetAllocator()); ++ : impl(new Impl()) { ++ impl->cache.SetObject(); ++ auto v2Name = rapidjson::Value(version2Marker, impl->cache.GetAllocator()); + auto v2Obj = rapidjson::Value(rapidjson::Type::kObjectType); +- cache.AddMember(v2Name, v2Obj, cache.GetAllocator()); ++ impl->cache.AddMember(v2Name, v2Obj, impl->cache.GetAllocator()); + } + + TuningCache::Entry TuningCache::LoadKernel(const Params& params) { +@@ -129,8 +137,8 @@ TuningCache::Entry TuningCache::LoadKernel_v1(const Params& params, uint32_t com + auto hashStr = std::to_string(create_hash(params.to_string())); + auto computeUnitsStr = std::to_string(computeUnitsCount); + +- auto v1It = cache.FindMember(version1Marker); +- if (v1It == cache.MemberEnd()) ++ auto v1It = impl->cache.FindMember(version1Marker); ++ if (v1It == impl->cache.MemberEnd()) + return result; + + auto computeUnitsIt = v1It->value.FindMember(computeUnitsStr.c_str()); +@@ -152,8 +160,8 @@ TuningCache::Entry TuningCache::LoadKernel_v2(const Params& params, uint32_t com + auto paramStr = params.to_cache_string_v2(); + auto computeUnitsStr = std::to_string(computeUnitsCount); + +- auto v2It = cache.FindMember(version2Marker); +- if (v2It == cache.MemberEnd()) ++ auto v2It = impl->cache.FindMember(version2Marker); ++ if (v2It == impl->cache.MemberEnd()) + return result; + + auto computeUnitsIt = v2It->value.FindMember(computeUnitsStr.c_str()); +diff --git a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.h b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.h +index 1a875b7d4d..8a9da81354 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.h ++++ b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.h +@@ -8,12 +8,12 @@ + #include + #include + #include +-#include "kernel_selector_common.h" +-#include "kernel_selector_params.h" +-#include "document.h" + #include + #include + ++#include "kernel_selector_common.h" ++#include "kernel_selector_params.h" ++ + namespace kernel_selector { + + class TuningCache { +@@ -42,7 +42,8 @@ private: + Entry LoadKernel_v1(const Params& params, uint32_t computeUnitsCount); + Entry LoadKernel_v2(const Params& params, uint32_t computeUnitsCount); + +- rapidjson::Document cache; ++ class Impl; ++ std::shared_ptr impl; + + static constexpr const char* version1Marker = "version_1"; + static constexpr const char* version2Marker = "version_2"; +diff --git a/src/plugins/intel_gpu/src/kernel_selector/jitter.cpp b/src/plugins/intel_gpu/src/kernel_selector/jitter.cpp +index fe6ffe8008..106560f5f1 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/jitter.cpp ++++ b/src/plugins/intel_gpu/src/kernel_selector/jitter.cpp +@@ -1540,11 +1540,11 @@ JitConstants MakeActivationJitConstants(std::vector(SCHAR_MIN))); +- nl_n = toCodeString(std::min(params[i].n, static_cast(SCHAR_MAX))); ++ nl_m = toCodeString(std::max(params[i].m, std::numeric_limits::min())); ++ nl_n = toCodeString(std::min(params[i].n, std::numeric_limits::max())); + } else if (out_dt == Datatype::UINT8) { + nl_m = toCodeString(std::max(params[i].m, 0.0f)); +- nl_n = toCodeString(std::min(params[i].n, static_cast(UCHAR_MAX))); ++ nl_n = toCodeString(std::min(params[i].n, std::numeric_limits::max())); + } + } + auto jitConstants = JitConstants{MakeJitConstant("NL_M" + activation_suffix, nl_m), +@@ -1949,11 +1949,11 @@ JitConstants FusedOpsCodeGenerator::MakeOpJitConstants(const FusedOpsConfigurati + + if (activation_p.function == ActivationFunction::CLAMP) { + if (out_type == Datatype::INT8) { +- nl_m = toCodeString(std::max(activation_p.m, static_cast(SCHAR_MIN))); +- nl_n = toCodeString(std::min(activation_p.n, static_cast(SCHAR_MAX))); ++ nl_m = toCodeString(std::max(activation_p.m, std::numeric_limits::min())); ++ nl_n = toCodeString(std::min(activation_p.n, std::numeric_limits::max())); + } else if (out_type == Datatype::UINT8) { + nl_m = toCodeString(std::max(activation_p.m, 0.0f)); +- nl_n = toCodeString(std::min(activation_p.n, static_cast(UCHAR_MAX))); ++ nl_n = toCodeString(std::min(activation_p.n, std::numeric_limits::max())); + } + } + +diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_params.h b/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_params.h +index 5c71c907b7..76e84e558b 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_params.h ++++ b/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_params.h +@@ -10,7 +10,6 @@ + #include + #include "common_types.h" + #include "tensor_type.h" +-#include "document.h" + #include + #include + #include +diff --git a/src/plugins/intel_gpu/src/runtime/CMakeLists.txt b/src/plugins/intel_gpu/src/runtime/CMakeLists.txt +index c442f65575..321fc2f1b2 100644 +--- a/src/plugins/intel_gpu/src/runtime/CMakeLists.txt ++++ b/src/plugins/intel_gpu/src/runtime/CMakeLists.txt +@@ -64,4 +64,4 @@ elseif((NOT ANDROID) AND (UNIX)) + target_link_libraries(${TARGET_NAME} PRIVATE pthread) + endif() + +-ov_install_static_lib(${TARGET_NAME} gpu) ++ov_install_static_lib(${TARGET_NAME} ${OV_CPACK_COMP_CORE}) diff --git a/src/plugins/intel_gpu/thirdparty/CMakeLists.txt b/src/plugins/intel_gpu/thirdparty/CMakeLists.txt -index c7c616d0df..63eeade1f1 100644 +index c7c616d0df..b7cc810a75 100644 --- a/src/plugins/intel_gpu/thirdparty/CMakeLists.txt +++ b/src/plugins/intel_gpu/thirdparty/CMakeLists.txt -@@ -88,17 +88,12 @@ if(ENABLE_ONEDNN_FOR_GPU) +@@ -2,14 +2,6 @@ + # SPDX-License-Identifier: Apache-2.0 + # + +-add_library(rapidjson INTERFACE) +- +-set_target_properties(rapidjson PROPERTIES +- INTERFACE_INCLUDE_DIRECTORIES $ +-) +- +-ov_install_static_lib(rapidjson gpu) +- + # + # oneDNN for GPU plugin + # +@@ -17,11 +9,12 @@ ov_install_static_lib(rapidjson gpu) + if(ENABLE_ONEDNN_FOR_GPU) + function(build_onednn_gpu) + include(ExternalProject) +- set(ONEDNN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/onednn_gpu_build/") +- set(ONEDNN_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/onednn_gpu_install/") ++ set(ONEDNN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/onednn_gpu_build") ++ set(ONEDNN_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/onednn_gpu_install" CACHE PATH "Installation path for oneDNN GPU library") + set(ONEDNN_PREFIX_DIR "${CMAKE_CURRENT_BINARY_DIR}/onednn_gpu_root") + set(ONEDNN_ENABLED_PRIMITIVES "CONCAT;CONVOLUTION;DECONVOLUTION;INNER_PRODUCT;MATMUL;REORDER;POOLING;REDUCTION") + set(ONEDNN_ENABLED_ISA "XEHP;XEHPG;XEHPC") ++ set(DNNL_GPU_LIBRARY_NAME "openvino_onednn_gpu" CACHE STRING "Name of oneDNN library for Intel GPU Plugin") + + if(X86_64) + set(ONEDNN_TARGET_ARCH "X64" CACHE STRING "" FORCE) +@@ -87,18 +80,16 @@ if(ENABLE_ONEDNN_FOR_GPU) + list(APPEND cmake_extra_args "-DOpenCL_INCLUDE_DIR=${OpenCL_INCLUDE_DIR}") endif() ++ set(onednn_gpu_lib "${CMAKE_STATIC_LIBRARY_PREFIX}${DNNL_GPU_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") ++ set(ONEDNN_GPU_LIB_PATH ${ONEDNN_INSTALL_DIR}/lib/${onednn_gpu_lib} CACHE FILEPATH "Path to oneDNN GPU library") ++ ExternalProject_Add(onednn_gpu_build + # Directory Options: + PREFIX "${ONEDNN_PREFIX_DIR}" @@ -23,15 +561,18 @@ index c7c616d0df..63eeade1f1 100644 CMAKE_ARGS ${cmake_extra_args} "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" -@@ -114,7 +109,6 @@ if(ENABLE_ONEDNN_FOR_GPU) +@@ -112,9 +103,8 @@ if(ENABLE_ONEDNN_FOR_GPU) + "-DDNNL_TARGET_ARCH=${ONEDNN_TARGET_ARCH}" + "-DDNNL_CPU_RUNTIME=NONE" "-DDNNL_GPU_RUNTIME=OCL" - "-DDNNL_LIBRARY_NAME=openvino_onednn_gpu" +- "-DDNNL_LIBRARY_NAME=openvino_onednn_gpu" ++ "-DDNNL_LIBRARY_NAME=${DNNL_GPU_LIBRARY_NAME}" "-DCMAKE_INSTALL_PREFIX=${ONEDNN_INSTALL_DIR}" - "-DCMAKE_INSTALL_LIBDIR=lib/$" "-DDNNL_ENABLE_CONCURRENT_EXEC=ON" "-DDNNL_ENABLE_PRIMITIVE_CACHE=OFF" "-DDNNL_ENABLE_WORKLOAD=INFERENCE" -@@ -129,10 +123,21 @@ if(ENABLE_ONEDNN_FOR_GPU) +@@ -129,16 +119,38 @@ if(ENABLE_ONEDNN_FOR_GPU) # specifically for Conan, because it overrides CMAKE_PREFIX_PATH and oneDNN's FindOpenCL.cmake is ignored # Conan's FindOpenCL.cmake module does not set OpenCL_INCLUDE_DIRS, so we need to set it manually "-DOpenCL_INCLUDE_DIRS=$" @@ -44,13 +585,100 @@ index c7c616d0df..63eeade1f1 100644 + # Thus we pass it via CMAKE_CACHE_ARGS + "-DDNNL_ENABLE_PRIMITIVE:STRING=${ONEDNN_ENABLED_PRIMITIVES}" + "-DDNNL_ENABLE_PRIMITIVE_GPU_ISA:STRING=${ONEDNN_ENABLED_ISA}" ++ # Build Step Options: ++ BUILD_BYPRODUCTS ${ONEDNN_GPU_LIB_PATH} + # Target Options: + EXCLUDE_FROM_ALL ON ) ++ add_library(onednn_gpu_tgt INTERFACE) set_target_properties(onednn_gpu_tgt PROPERTIES - INTERFACE_LINK_DIRECTORIES "${ONEDNN_INSTALL_DIR}/lib/$" -+ INTERFACE_LINK_DIRECTORIES "${ONEDNN_INSTALL_DIR}/lib" - INTERFACE_LINK_LIBRARIES "openvino_onednn_gpu" - INTERFACE_INCLUDE_DIRECTORIES "${ONEDNN_INSTALL_DIR}/include" +- INTERFACE_LINK_LIBRARIES "openvino_onednn_gpu" +- INTERFACE_INCLUDE_DIRECTORIES "${ONEDNN_INSTALL_DIR}/include" ++ INTERFACE_LINK_LIBRARIES $ ++ INTERFACE_INCLUDE_DIRECTORIES $ INTERFACE_COMPILE_DEFINITIONS ENABLE_ONEDNN_FOR_GPU + ) + add_dependencies(onednn_gpu_tgt onednn_gpu_build) +- # TODO: install onednn_gpu in static builds ++ ++ if(NOT BUILD_SHARED_LIBS) ++ ov_install_static_lib(onednn_gpu_tgt ${OV_CPACK_COMP_CORE}) ++ ++ # we need to install library explicitly and set_target_properties in OpenVINOConfig.cmake for 'onednn_gpu_tgt' ++ # to point to installation location of this file ++ install(FILES "${ONEDNN_GPU_LIB_PATH}" ++ DESTINATION ${OV_CPACK_ARCHIVEDIR} ++ COMPONENT ${OV_CPACK_COMP_CORE}) ++ endif() + endfunction() + build_onednn_gpu() + endif() +diff --git a/src/plugins/intel_gpu/thirdparty/cmake/rapidjson.cmake b/src/plugins/intel_gpu/thirdparty/cmake/rapidjson.cmake +new file mode 100644 +index 0000000000..655224dbc1 +--- /dev/null ++++ b/src/plugins/intel_gpu/thirdparty/cmake/rapidjson.cmake +@@ -0,0 +1,22 @@ ++# Copyright (C) 2018-2023 Intel Corporation ++# SPDX-License-Identifier: Apache-2.0 ++# ++ ++find_package(RapidJSON QUIET) ++ ++if(NOT TARGET rapidjson) ++ # sometimes RapidJSONConfig.cmake defines only RAPIDJSON_INCLUDE_DIRS ++ add_library(rapidjson INTERFACE) ++ ++ if(RapidJSON_FOUND) ++ if(TARGET RapidJSON) ++ target_link_libraries(rapidjson INTERFACE RapidJSON) ++ elseif(DEFINED RAPIDJSON_INCLUDE_DIRS) ++ target_include_directories(rapidjson INTERFACE $) ++ else() ++ message(FATAL_ERROR "RapidJSON does not define RAPIDJSON_INCLUDE_DIRS nor RapidJSON / rapidjson targets") ++ endif() ++ else() ++ target_include_directories(rapidjson INTERFACE $) ++ endif() ++endif() +diff --git a/src/plugins/template/backend/CMakeLists.txt b/src/plugins/template/backend/CMakeLists.txt +index 7530dd1688..a451fea900 100644 +--- a/src/plugins/template/backend/CMakeLists.txt ++++ b/src/plugins/template/backend/CMakeLists.txt +@@ -52,4 +52,4 @@ openvino_developer_export_targets(COMPONENT core TARGETS interpreter_backend) + + # install + +-ov_install_static_lib(interpreter_backend template) ++ov_install_static_lib(interpreter_backend ${OV_CPACK_COMP_CORE}) +diff --git a/src/plugins/template/src/CMakeLists.txt b/src/plugins/template/src/CMakeLists.txt +index 2409bb10e0..f382f90d11 100644 +--- a/src/plugins/template/src/CMakeLists.txt ++++ b/src/plugins/template/src/CMakeLists.txt +@@ -28,7 +28,7 @@ target_include_directories(${TARGET_NAME} PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}" + "${TEMPLATE_PLUGIN_SOURCE_DIR}/include") + +-# link common Inference Engine libraries ++# link common OpenVINO Runtime libraries + target_link_libraries(${TARGET_NAME} PRIVATE + openvino::interpreter_backend + openvino::reference) +@@ -42,4 +42,4 @@ endif() + # [cmake:plugin] + + install(TARGETS ${TARGET_NAME} +- LIBRARY DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL) ++ LIBRARY DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL) +diff --git a/thirdparty/ocl/CMakeLists.txt b/thirdparty/ocl/CMakeLists.txt +index f31519467f..0ebe3fd6d1 100644 +--- a/thirdparty/ocl/CMakeLists.txt ++++ b/thirdparty/ocl/CMakeLists.txt +@@ -58,4 +58,4 @@ set(opencl_root_hints "${OpenCL_INCLUDE_DIR}" PARENT_SCOPE) + + # installation + +-ov_install_static_lib(OpenCL gpu) ++ov_install_static_lib(OpenCL ${OV_CPACK_COMP_CORE}) diff --git a/recipes/openvino/all/patches/2023.1.0/0004-fixed-gpu-plugin-with-clang.patch b/recipes/openvino/all/patches/2023.1.0/0004-fixed-gpu-plugin-with-clang.patch new file mode 100644 index 0000000000000..7659f10e22501 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0004-fixed-gpu-plugin-with-clang.patch @@ -0,0 +1,2836 @@ +diff --git a/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/binary_buffer.hpp b/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/binary_buffer.hpp +index 9386e52400..05972d7a97 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/binary_buffer.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/binary_buffer.hpp +@@ -104,12 +104,10 @@ public: + + #define ASSIGN_TYPE_NAME(cls_name) \ + namespace cldnn { \ +- const std::string cls_name::type_for_serialization = #cls_name; \ + } + + #define BIND_BINARY_BUFFER_WITH_TYPE(cls_name) \ + namespace cldnn { \ +- const std::string cls_name::type_for_serialization = #cls_name; \ + BIND_TO_BUFFER(BinaryOutputBuffer, cls_name) \ + BIND_TO_BUFFER(BinaryInputBuffer, cls_name) \ + } +diff --git a/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/bind.hpp b/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/bind.hpp +index 85ed3fa803..e2a673f0ba 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/bind.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/bind.hpp +@@ -11,9 +11,12 @@ + #include "buffer.hpp" + #include "static_instance.hpp" + +-#define DECLARE_OBJECT_TYPE_SERIALIZATION \ +- static const std::string type_for_serialization; \ +- std::string get_type() const override { return type_for_serialization; } ++#define DECLARE_OBJECT_TYPE_SERIALIZATION(cls_name) \ ++ static const std::string& get_type_info_s() { \ ++ static const std::string type_name = #cls_name; \ ++ return type_name; \ ++ } \ ++ const std::string& get_type_info() const override { return get_type_info_s(); } + + #define BIND_TO_BUFFER(buffer, type) \ + template <> \ +@@ -101,7 +104,7 @@ public: + + private: + buffer_binder() { +- saver_storage::instance().set_save_function({T::type_for_serialization, save}); ++ saver_storage::instance().set_save_function({T::get_type_info_s(), save}); + } + + buffer_binder(const buffer_binder&) = delete; +@@ -130,7 +133,7 @@ public: + private: + buffer_binder() { + def::instance().set_load_function( +- {T::type_for_serialization, [](BufferType& buffer, std::unique_ptr>& result_ptr) { ++ {T::get_type_info_s(), [](BufferType& buffer, std::unique_ptr>& result_ptr) { + std::unique_ptr derived_ptr = std::unique_ptr(new T()); + derived_ptr->load(buffer); + result_ptr.reset(derived_ptr.release()); +@@ -153,7 +156,7 @@ public: + private: + buffer_binder() { + dif::instance().set_load_function( +- {T::type_for_serialization, [](BufferType& buffer, std::unique_ptr>& result_ptr, engine& engine) { ++ {T::get_type_info_s(), [](BufferType& buffer, std::unique_ptr>& result_ptr, engine& engine) { + std::unique_ptr derived_ptr = std::unique_ptr(new T(engine)); + derived_ptr->load(buffer); + result_ptr.reset(derived_ptr.release()); +diff --git a/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/polymorphic_serializer.hpp b/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/polymorphic_serializer.hpp +index 023045b9bd..1792f5489c 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/polymorphic_serializer.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/graph/serialization/polymorphic_serializer.hpp +@@ -18,7 +18,7 @@ template + class Serializer, typename std::enable_if, BufferType>::value>::type> { + public: + static void save(BufferType& buffer, const std::unique_ptr& ptr) { +- const auto& type = ptr->get_type(); ++ const auto& type = ptr->get_type_info(); + buffer << type; + const auto save_func = saver_storage::instance().get_save_function(type); + save_func(buffer, ptr.get()); +@@ -51,7 +51,7 @@ template + class Serializer, typename std::enable_if, BufferType>::value>::type> { + public: + static void save(BufferType& buffer, const std::shared_ptr& ptr) { +- const std::string& type = ptr->get_type(); ++ const std::string& type = ptr->get_type_info(); + buffer << type; + if (type.compare("NONE") != 0) { + const auto save_func = saver_storage::instance().get_save_function(type); +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/activation.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/activation.hpp +index 09a3f96a98..771f1b9191 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/activation.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/activation.hpp +@@ -82,8 +82,6 @@ struct activation : public primitive_base { + activation_function(activation_func::none), + additional_params({0.f, 0.f}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs Relu primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/adaptive_pooling.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/adaptive_pooling.hpp +index e54b055312..f80d7b3c62 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/adaptive_pooling.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/adaptive_pooling.hpp +@@ -20,8 +20,6 @@ struct adaptive_pooling : public primitive_base { + mode{adaptive_pooling_mode::average}, + output_size{} {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs AdaptiveAvgPooling primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/arg_max_min.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/arg_max_min.hpp +index 16ca38e746..418f8df90d 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/arg_max_min.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/arg_max_min.hpp +@@ -27,8 +27,6 @@ struct arg_max_min : public primitive_base { + values_first(false), + stable(false) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs arg_max_min primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/assign.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/assign.hpp +index 1c4021a77d..4134614504 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/assign.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/assign.hpp +@@ -17,8 +17,6 @@ struct assign : public primitive_base { + + assign() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs Assign primitive. + /// @param id This primitive id + /// @param inputs Input parameters ids +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/batch_to_space.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/batch_to_space.hpp +index fab49940fb..246853a5f3 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/batch_to_space.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/batch_to_space.hpp +@@ -42,8 +42,6 @@ struct batch_to_space : public primitive_base { + + batch_to_space() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs batch_to_space primitive. + /// @param id This primitive id. + /// @param input Input data primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/binary_convolution.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/binary_convolution.hpp +index 268f78e73a..5ba028bda7 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/binary_convolution.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/binary_convolution.hpp +@@ -16,8 +16,6 @@ struct binary_convolution : public primitive_base { + + binary_convolution() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs binary_convolution primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/border.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/border.hpp +index def9b956ff..81ad97a196 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/border.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/border.hpp +@@ -26,8 +26,6 @@ struct border : public primitive_base { + + border() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief whether the input is const or not + enum PAD_NON_CONST_INPUT { + BEGIN = 0x1, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp +index 3b210c7b94..d3b17919a4 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp +@@ -56,8 +56,6 @@ struct broadcast : public primitive_base { + + broadcast() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs broadcast primitive / layer. + /// + /// @param id An identifier of new primitive. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/bucketize.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/bucketize.hpp +index 11e7f8752e..dd5b8f3d93 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/bucketize.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/bucketize.hpp +@@ -13,8 +13,6 @@ struct bucketize : primitive_base { + + bucketize() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs bucketize primitive. + /// @param id This primitive id. + /// @param inputs Input primitives ids. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/concatenation.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/concatenation.hpp +index 184dbf9ceb..5f187c7422 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/concatenation.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/concatenation.hpp +@@ -35,8 +35,6 @@ struct concatenation : public primitive_base { + + concatenation() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @li Constructs concatenation primitive. + /// @param id This primitive id. + /// @param input Vector of input primitives ids. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/convert_color.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/convert_color.hpp +index f1cd6e1934..f71e73310a 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/convert_color.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/convert_color.hpp +@@ -14,8 +14,6 @@ struct convert_color : public primitive_base { + + convert_color() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + enum color_format : uint32_t { + RGB, ///< RGB color format + BGR, ///< BGR color format, default in OpenVINO +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/convolution.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/convolution.hpp +index 01291816b1..0a15e6a146 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/convolution.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/convolution.hpp +@@ -15,8 +15,6 @@ struct convolution : public primitive_base { + + convolution() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs convolution primitive + /// @param id This primitive id. + /// @param input Input primitive id. +@@ -313,8 +311,6 @@ struct deformable_interp : public primitive_base { + + deformable_interp() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + deformable_interp(const primitive_id& id, + const std::vector& inputs, + uint32_t groups, +@@ -430,8 +426,6 @@ struct deformable_conv : public primitive_base { + + deformable_conv() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + deformable_conv(const primitive_id& id, + const input_info& input, + const std::vector& weights, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/crop.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/crop.hpp +index 5c944b75d1..b8935695b2 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/crop.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/crop.hpp +@@ -46,8 +46,6 @@ struct crop : public primitive_base { + + crop() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs crop primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_greedy_decoder.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_greedy_decoder.hpp +index 9c911243d5..2cf19ca58c 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_greedy_decoder.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_greedy_decoder.hpp +@@ -13,8 +13,6 @@ struct ctc_greedy_decoder : public primitive_base { + + ctc_greedy_decoder() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs ctc_greedy_decoder primitive. + /// @param id This primitive id. + /// @param input Input primitive id (input, sequence_indicators, second_output(optional)). +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_loss.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_loss.hpp +index 0d63027cf7..55cc934195 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_loss.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/ctc_loss.hpp +@@ -15,8 +15,6 @@ struct ctc_loss : primitive_base { + + ctc_loss() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs ctc_loss primitive. + /// @param id This primitive id. + /// @param inputs Input primitives ids. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/cum_sum.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/cum_sum.hpp +index 4a038714d7..11bd653d4c 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/cum_sum.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/cum_sum.hpp +@@ -6,15 +6,11 @@ + #include "primitive.hpp" + + namespace cldnn { +- +- + struct cum_sum : public primitive_base { + CLDNN_DECLARE_PRIMITIVE(cum_sum) + + cum_sum() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs cum_sum primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/custom_gpu_primitive.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/custom_gpu_primitive.hpp +index a938e2c0ff..62dafc4ce4 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/custom_gpu_primitive.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/custom_gpu_primitive.hpp +@@ -18,8 +18,6 @@ struct custom_gpu_primitive : public primitive_base { + + custom_gpu_primitive() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Custom primitive kernel argument type + enum arg_type { + arg_input, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/data.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/data.hpp +index 8a89005102..177fbf99b7 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/data.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/data.hpp +@@ -17,8 +17,6 @@ struct data : public primitive_base { + + data() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs data primitive. + /// @param id This primitive id. + /// @param mem @ref memory object which contains data. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/deconvolution.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/deconvolution.hpp +index b149539bb6..5c507a2360 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/deconvolution.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/deconvolution.hpp +@@ -20,8 +20,6 @@ struct deconvolution : public primitive_base { + + deconvolution() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs deconvolution primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/depth_to_space.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/depth_to_space.hpp +index 6d1c430d91..577be63765 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/depth_to_space.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/depth_to_space.hpp +@@ -22,8 +22,6 @@ struct depth_to_space : public primitive_base { + + depth_to_space() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs depth_to_space primitive. + /// @param id This primitive id. + /// @param input Input dictionary primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/detection_output.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/detection_output.hpp +index 7437106428..3c39a83963 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/detection_output.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/detection_output.hpp +@@ -42,8 +42,6 @@ struct detection_output : public primitive_base { + clip_after_nms(false), + objectness_score(0.0f) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs detection output primitive. + /// @param id This primitive id. + /// @param inputs Inputs for primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/dft.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/dft.hpp +index 45042ad94b..329794e088 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/dft.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/dft.hpp +@@ -29,8 +29,6 @@ struct dft : public primitive_base { + + dft() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs DFT primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/eltwise.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/eltwise.hpp +index de1e4138c3..b4b9e8932d 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/eltwise.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/eltwise.hpp +@@ -71,8 +71,6 @@ struct eltwise : public primitive_base { + + eltwise() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs eltwise primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/embedding_bag.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/embedding_bag.hpp +index c749c3b5e2..29b3259b50 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/embedding_bag.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/embedding_bag.hpp +@@ -14,8 +14,6 @@ struct embedding_bag : public primitive_base { + + embedding_bag() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Select type of embedding_bag operation + enum embedding_bag_type { + packed_sum, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_detection_output.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_detection_output.hpp +index cb47ec86f5..f87b161e48 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_detection_output.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_detection_output.hpp +@@ -16,8 +16,6 @@ struct experimental_detectron_detection_output : public primitive_base { +@@ -17,8 +15,6 @@ struct experimental_detectron_prior_grid_generator + + experimental_detectron_prior_grid_generator() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + experimental_detectron_prior_grid_generator(const primitive_id& id, + const std::vector& inputs, + bool flatten, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_roi_feature_extractor.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_roi_feature_extractor.hpp +index a9b27fd16f..3a1e229171 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_roi_feature_extractor.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/experimental_detectron_roi_feature_extractor.hpp +@@ -14,8 +14,6 @@ struct experimental_detectron_roi_feature_extractor : public primitive_base { +@@ -19,8 +17,6 @@ struct experimental_detectron_topk_rois : public primitive_base { + + extract_image_patches() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs select primitive. + /// @param id This primitive id. + /// @param input Input primitive id containing input 4-D tensor. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/eye.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/eye.hpp +index 4137aaa2ec..9cc2c9e083 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/eye.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/eye.hpp +@@ -14,8 +14,6 @@ struct eye : public primitive_base { + + eye() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs eye primitive. + /// @param id This primitive id. + /// @param inputs List of primitive ids. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/fully_connected.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/fully_connected.hpp +index d71afd76f1..ba05829539 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/fully_connected.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/fully_connected.hpp +@@ -35,8 +35,6 @@ struct fully_connected : public primitive_base { + + fully_connected() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs fully connected layer. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather.hpp +index f754d47667..2a7dad7fe4 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather.hpp +@@ -16,8 +16,6 @@ struct gather : public primitive_base { + + gather() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs gather primitive. + /// @param id This primitive id. + /// @param dict Input dictionary primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_elements.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_elements.hpp +index 0287a76877..455a40a9ea 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_elements.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_elements.hpp +@@ -14,8 +14,6 @@ struct gather_elements : public primitive_base { + + gather_elements() : primitive_base("", {}), output_format({}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs gather_elements primitive. + /// @param id This primitive id. + /// @param data Input data primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_nd.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_nd.hpp +index 932fe0b167..a2c26b0545 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_nd.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_nd.hpp +@@ -14,8 +14,6 @@ struct gather_nd : public primitive_base { + + gather_nd() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs gather_nd primitive. + /// + /// @param id This primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_tree.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_tree.hpp +index 5ec3339801..082b4113ab 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_tree.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/gather_tree.hpp +@@ -15,8 +15,6 @@ struct gather_tree : public primitive_base { + + gather_tree() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs gather tree primitive / layer. + /// + /// @param id An identifier of new primitive. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/gemm.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/gemm.hpp +index 104b92571c..cef11bbb0b 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/gemm.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/gemm.hpp +@@ -27,8 +27,6 @@ struct gemm : public primitive_base { + + gemm() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs gemm layer. + /// @brief Primitive id containing first matrix + /// @brief Primitive id containing second matrix +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/generate_proposals.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/generate_proposals.hpp +index ab57e07d0d..3524c104fd 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/generate_proposals.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/generate_proposals.hpp +@@ -15,8 +15,6 @@ struct generate_proposals + + generate_proposals() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs generate_proposals primitive + /// @param id This primitive id + /// @param input_im_info image size info +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/grid_sample.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/grid_sample.hpp +index 700140c9d2..20e308e4aa 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/grid_sample.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/grid_sample.hpp +@@ -10,8 +10,6 @@ + #include "primitive.hpp" + + namespace cldnn { +- +- + using GridSampleOp = ov::op::v9::GridSample; + + /// @brief GridSample-9 primitive. +@@ -20,8 +18,6 @@ struct grid_sample : primitive_base { + + grid_sample() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs grid_sample primitive. + /// @param id This primitive id. + /// @param inputs Input primitives ids. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/grn.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/grn.hpp +index cda1ebe160..3b629bad91 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/grn.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/grn.hpp +@@ -13,8 +13,6 @@ struct grn : public primitive_base { + + grn() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs grn primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/input_layout.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/input_layout.hpp +index c13e89a3a5..5cbba06ca4 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/input_layout.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/input_layout.hpp +@@ -20,8 +20,6 @@ struct input_layout : public primitive_base { + + input_layout() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs input layout primitive. + /// @param id This primitive id. + /// @param layout Defines layout for the data will be passed to network. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/loop.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/loop.hpp +index 49af132862..c27a88e197 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/loop.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/loop.hpp +@@ -55,8 +55,6 @@ struct loop : public primitive_base { + loop() : primitive_base("", {}), + max_iteration(0) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + struct io_primitive_map { + /// @brief Constructs a mapping from external input/output primitive to input/output primitive in body topology + /// +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/lrn.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/lrn.hpp +index 28bcf69147..f8cc1672e7 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/lrn.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/lrn.hpp +@@ -6,8 +6,6 @@ + #include "primitive.hpp" + + namespace cldnn { +- +- + typedef enum { /*:int32_t*/ + lrn_norm_region_across_channel, + lrn_norm_region_within_channel +@@ -29,8 +27,6 @@ struct lrn : public primitive_base { + + lrn() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs LRN primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm.hpp +index 7c601158d8..71922acd21 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm.hpp +@@ -53,8 +53,6 @@ struct lstm : public primitive_base { + + lstm() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs lstm layer. + /// @param id This primitive id. + /// @param input Vector of primitive id. +@@ -230,8 +228,6 @@ struct lstm_gemm : public primitive_base { + lstm_gemm() : primitive_base("", {}), + direction(0) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs lstm layer. + /// @param id This primitive id. + /// @param input input primitive id. +@@ -319,8 +315,6 @@ struct lstm_elt : public primitive_base { + + lstm_elt() : primitive_base("", {}), clip(0), input_forget(0), offset_order(lstm_weights_order::iofz), direction(0) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + using vec_activation = std::vector; + using vec_activation_param = std::vector; + +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic.hpp +index fd7e7c4a26..d459754ebc 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic.hpp +@@ -22,8 +22,6 @@ struct lstm_dynamic : public primitive_base { + + lstm_dynamic() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs lstm_dynamic layer. + /// @param id This primitive id. + /// @param input Primitive id of input layer. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_input.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_input.hpp +index bf0ddb2d43..6a8e90d9a4 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_input.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_input.hpp +@@ -22,8 +22,6 @@ struct lstm_dynamic_input : public primitive_base { + + lstm_dynamic_input() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs lstm_dynamic layer. + /// @param id This primitive id. + /// @param input Primitive id of input layer. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_timeloop.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_timeloop.hpp +index e5b5ea7661..ef184707f9 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_timeloop.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/lstm_dynamic_timeloop.hpp +@@ -23,8 +23,6 @@ struct lstm_dynamic_timeloop + + lstm_dynamic_timeloop() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs lstm_dynamic layer. + /// @param id This primitive id. + /// @param input Primitive id of input layer. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/matrix_nms.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/matrix_nms.hpp +index 72c95cae70..d4efea1d59 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/matrix_nms.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/matrix_nms.hpp +@@ -16,8 +16,6 @@ struct matrix_nms : public primitive_base { + + matrix_nms() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + enum decay_function { gaussian, linear }; + + enum sort_result_type { +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/multiclass_nms.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/multiclass_nms.hpp +index 5218488f1b..92ea0d371b 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/multiclass_nms.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/multiclass_nms.hpp +@@ -18,8 +18,6 @@ struct multiclass_nms : public primitive_base { + + multiclass_nms() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + enum class sort_result_type : int32_t { + classid, // sort selected boxes by class id (ascending) in each batch element + score, // sort selected boxes by score (descending) in each batch element +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/mutable_data.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/mutable_data.hpp +index 54c46bf785..105711b58d 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/mutable_data.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/mutable_data.hpp +@@ -18,8 +18,6 @@ struct mutable_data : public primitive_base { + + mutable_data() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Enum type to specify function for data filling. + enum filler_type { no_fill, zero, one, xavier }; + +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/mvn.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/mvn.hpp +index 72daa005b6..72e5cd67d9 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/mvn.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/mvn.hpp +@@ -14,8 +14,6 @@ struct mvn : public primitive_base { + + mvn() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs mvn primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/non_max_suppression.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/non_max_suppression.hpp +index b7aafffb55..b9614cd472 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/non_max_suppression.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/non_max_suppression.hpp +@@ -22,8 +22,6 @@ struct non_max_suppression : public primitive_base { + center_point_box(false), + sort_result_descending(false) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Creates non max suppression primitive. + /// @param id This primitive id. + /// @param boxes_positions Id of primitive with bounding boxes. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/non_zero.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/non_zero.hpp +index d243058bad..0fa4b35ff7 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/non_zero.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/non_zero.hpp +@@ -13,8 +13,6 @@ struct count_nonzero : public primitive_base { + + count_nonzero() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs count_nonzero primitive. + /// @param id This primitive id. + /// @param data Input data primitive id. +@@ -33,8 +31,6 @@ struct gather_nonzero : public primitive_base { + + gather_nonzero() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs gather_nonzero primitive. + /// @param id This primitive id. + /// @param data Input data primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/normalize.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/normalize.hpp +index b17c659d76..0f25272bce 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/normalize.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/normalize.hpp +@@ -29,8 +29,6 @@ struct normalize : public primitive_base { + + normalize() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs normalize primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/one_hot.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/one_hot.hpp +index 3a2958a0fb..b94e069fc2 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/one_hot.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/one_hot.hpp +@@ -35,8 +35,6 @@ struct one_hot : public primitive_base { + + one_hot() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs one-hot primitive layer. + /// @param id An identifier of new primitive. + /// @param input An identifier of primitive which is an input for newly created one-hot primitive. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/permute.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/permute.hpp +index 587427e6a8..91bc12df87 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/permute.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/permute.hpp +@@ -21,8 +21,6 @@ struct permute : public primitive_base { + + permute() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs permute primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/pooling.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/pooling.hpp +index 0db15d2278..df49ba46a9 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/pooling.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/pooling.hpp +@@ -34,8 +34,6 @@ struct pooling : public primitive_base { + + pooling() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs pooling primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/primitive.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/primitive.hpp +index f68aa5f6c3..0bbf589b0d 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/primitive.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/primitive.hpp +@@ -203,7 +203,7 @@ public: + + size_t num_outputs; + +- virtual std::string get_type() const { return "NONE"; } ++ virtual const std::string& get_type_info() const = 0; + virtual void save(BinaryOutputBuffer& ob) const { + ob << type_string(); + ob << id; +@@ -313,6 +313,7 @@ struct primitive_info { + } + + #define CLDNN_DECLARE_PRIMITIVE(PType) \ ++ DECLARE_OBJECT_TYPE_SERIALIZATION(PType) \ + CLDNN_DEFINE_TYPE_ID(PType) \ + CLDNN_DEFINE_TYPE_STRING(PType) + +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/prior_box.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/prior_box.hpp +index 959e6b14f0..3f78605f49 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/prior_box.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/prior_box.hpp +@@ -23,8 +23,6 @@ struct prior_box : public primitive_base { + + prior_box() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + using PriorBoxV0Op = ov::op::v0::PriorBox; + using PriorBoxV8Op = ov::op::v8::PriorBox; + using PriorBoxClusteredOp = ov::op::v0::PriorBoxClustered; +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/proposal.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/proposal.hpp +index 1278d4ff6f..a1e6768276 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/proposal.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/proposal.hpp +@@ -10,8 +10,6 @@ + #include "intel_gpu/graph/serialization/vector_serializer.hpp" + + namespace cldnn { +- +- + #define CLDNN_ROI_VECTOR_SIZE 5 + + struct proposal : public primitive_base { +@@ -37,8 +35,6 @@ struct proposal : public primitive_base { + shift_anchors(false), + normalize(false) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + proposal(const primitive_id& id, + const input_info& cls_scores, + const input_info& bbox_pred, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/pyramid_roi_align.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/pyramid_roi_align.hpp +index 6d9842227a..123faf83f2 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/pyramid_roi_align.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/pyramid_roi_align.hpp +@@ -26,8 +26,6 @@ struct pyramid_roi_align : public primitive_base { + + pyramid_roi_align() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @param id This primitive id. + /// @param rois Input RoI boxes as tuple [x1, y1, x2, y2] describing two opposite corners of the region. + /// @param P2 First level of the image pyramid. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/quantize.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/quantize.hpp +index bb5de80742..a2bb5ae3cf 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/quantize.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/quantize.hpp +@@ -38,8 +38,6 @@ struct quantize : public primitive_base { + + quantize() : primitive_base("", {}), levels(0) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief levels The number of quantization levels. + int levels; + +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/random_uniform.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/random_uniform.hpp +index 02c86cb80d..598d8171b5 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/random_uniform.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/random_uniform.hpp +@@ -10,8 +10,6 @@ + + namespace cldnn { + +- +- + /// @brief RandomUniform-8 primitive + /// @details + struct random_uniform : public primitive_base { +@@ -22,8 +20,6 @@ struct random_uniform : public primitive_base { + op_seed(0), + output_shape{} {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /** + * Construct Random Uniform privitive. + * @param id primitive id +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/range.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/range.hpp +index 005d74a6c8..3d68fd2815 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/range.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/range.hpp +@@ -12,8 +12,6 @@ struct range: public primitive_base { + + range() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs range primitive. + /// @param id This primitive id. + /// @param inputs Input primitive id vector. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/read_value.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/read_value.hpp +index 9523b416cd..095c845d07 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/read_value.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/read_value.hpp +@@ -17,8 +17,6 @@ struct read_value : public primitive_base { + + read_value() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs ReadValue primitive. + /// @param id This primitive id + /// @param inputs Input parameters ids +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/reduce.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/reduce.hpp +index 7af0ad1dd9..c1f687e48a 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/reduce.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/reduce.hpp +@@ -44,8 +44,6 @@ struct reduce : public primitive_base { + + reduce() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs reduce primitive + /// @param id This primitive id + /// @param input Input primitive id +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/region_yolo.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/region_yolo.hpp +index 7efddc3fb4..d9040d1dc2 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/region_yolo.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/region_yolo.hpp +@@ -16,8 +16,6 @@ struct region_yolo : public primitive_base { + + region_yolo() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs region_yolo primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/reorder.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/reorder.hpp +index 1c59eebe65..7b2ada5d77 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/reorder.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/reorder.hpp +@@ -69,8 +69,6 @@ struct reorder : public primitive_base { + output_format(format::any), + mean_mode(reorder_mean_mode::subtract) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief reorder memory types + enum class memory_type { + buffer, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/reorg_yolo.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/reorg_yolo.hpp +index b5d76e9353..96eff0012e 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/reorg_yolo.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/reorg_yolo.hpp +@@ -16,8 +16,6 @@ struct reorg_yolo : public primitive_base { + + reorg_yolo() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs region_yolo primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/resample.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/resample.hpp +index b95ce3c5e0..59f58c986b 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/resample.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/resample.hpp +@@ -17,8 +17,6 @@ struct resample : public primitive_base { + + resample() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + using InterpolateOp = ov::op::util::InterpolateBase; + + /// @brief Constructs Resample primitive. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/reshape.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/reshape.hpp +index 0f9869a2f7..00e8d9a093 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/reshape.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/reshape.hpp +@@ -17,8 +17,6 @@ struct reshape : public primitive_base { + + reshape() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + enum reshape_mode : uint32_t { + base, + squeeze, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse.hpp +index 0ecb598550..70864a9f1e 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse.hpp +@@ -15,8 +15,6 @@ struct reverse : public primitive_base { + + reverse() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs reverse primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse_sequence.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse_sequence.hpp +index 8058bd3a45..714e0f4a49 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse_sequence.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/reverse_sequence.hpp +@@ -15,8 +15,6 @@ struct reverse_sequence : public primitive_base { + + reverse_sequence() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs reverse_sequence primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_align.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_align.hpp +index 14b031d87f..0813c960f0 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_align.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_align.hpp +@@ -15,8 +15,6 @@ struct roi_align : public primitive_base { + + roi_align() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Pooling mode for the @ref roi_align + enum PoolingMode { max, avg }; + +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_pooling.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_pooling.hpp +index ef7fc25664..2dd22e52d3 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_pooling.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/roi_pooling.hpp +@@ -8,8 +8,6 @@ + #include + + namespace cldnn { +- +- + struct roi_pooling : public primitive_base { + CLDNN_DECLARE_PRIMITIVE(roi_pooling) + +@@ -27,8 +25,6 @@ struct roi_pooling : public primitive_base { + spatial_bins_x(1), + spatial_bins_y(1) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + roi_pooling(const primitive_id& id, + const input_info& input_data, + const input_info& input_rois, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/roll.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/roll.hpp +index 3ae8fc634e..3db154bf47 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/roll.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/roll.hpp +@@ -15,8 +15,6 @@ struct roll : primitive_base { + + roll() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs roll primitive. + /// @param id This primitive id. + /// @param input Input primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_elements_update.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_elements_update.hpp +index fa2cd6e07b..4b823a165c 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_elements_update.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_elements_update.hpp +@@ -14,8 +14,6 @@ struct scatter_elements_update : public primitive_base + + scatter_elements_update() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs scatter_elements_update primitive. + /// @param id This primitive id. + /// @param dict Input data primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_nd_update.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_nd_update.hpp +index f21691c3c7..1cc8746e9e 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_nd_update.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_nd_update.hpp +@@ -14,8 +14,6 @@ struct scatter_nd_update : public primitive_base { + + scatter_nd_update() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + /// @brief Constructs scatter_nd_update primitive. + /// @param id This primitive id. + /// @param dict Input data primitive id. +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_update.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_update.hpp +index 9563fe079e..17c09a8d8e 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_update.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/scatter_update.hpp +@@ -14,8 +14,6 @@ struct scatter_update : public primitive_base { + + scatter_update() : primitive_base("", {}) {} + +- DECLARE_OBJECT_TYPE_SERIALIZATION +- + enum scatter_update_axis { + along_b, + along_f, +diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/select.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/select.hpp +index 310c5ff2cb..0959fa2709 100644 +--- a/src/plugins/intel_gpu/include/intel_gpu/primitives/select.hpp ++++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/select.hpp +@@ -22,8 +22,6 @@ struct select : public primitive_base { + using kernel_selector_t = kernel_selector::select_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::select_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/shape_of.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/shape_of.cpp +index 02efeee00f..b2efd25f67 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/shape_of.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/shape_of.cpp +@@ -17,7 +17,7 @@ struct shape_of_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::shape_of_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::shape_of_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/shuffle_channels.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/shuffle_channels.cpp +index 57ac2437f4..e40b1b99b8 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/shuffle_channels.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/shuffle_channels.cpp +@@ -17,7 +17,7 @@ struct shuffle_channels_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::shuffle_channels_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::shuffle_channels_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/slice.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/slice.cpp +index 07ea912d06..d7f7f9ba74 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/slice.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/slice.cpp +@@ -72,7 +72,7 @@ struct slice_impl : typed_primitive_impl_ocl { + kInputsNum + }; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::slice_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/softmax.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/softmax.cpp +index b4029ac3b3..6ad4e1d087 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/softmax.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/softmax.cpp +@@ -39,7 +39,7 @@ struct softmax_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::softmax_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::softmax_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_batch.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_batch.cpp +index 141116e04b..c9db851175 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_batch.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_batch.cpp +@@ -16,7 +16,7 @@ struct space_to_batch_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::space_to_batch_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::space_to_batch_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_depth.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_depth.cpp +index ec87100f89..5b72a5572c 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_depth.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/space_to_depth.cpp +@@ -16,7 +16,7 @@ struct space_to_depth_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::space_to_depth_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::space_to_depth_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/strided_slice.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/strided_slice.cpp +index f06ae1b72d..e64498f73f 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/strided_slice.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/strided_slice.cpp +@@ -46,7 +46,7 @@ struct strided_slice_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::strided_slice_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::strided_slice_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/tile.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/tile.cpp +index 16d2dd91cb..bc95a18f54 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/tile.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/tile.cpp +@@ -17,7 +17,7 @@ struct tile_impl : typed_primitive_impl_ocl { + using kernel_selector_t = kernel_selector::tile_kernel_selector; + using kernel_params_t = std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::tile_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/unique.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/unique.cpp +index 7018ae66a2..604619c30b 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/ocl/unique.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/ocl/unique.cpp +@@ -17,7 +17,7 @@ struct unique_count_impl : typed_primitive_impl_ocl { + using kernel_params_t = + std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::unique_count_impl) + + std::unique_ptr clone() const override { + return make_unique(*this); +@@ -88,7 +88,7 @@ struct unique_gather_impl : typed_primitive_impl_ocl { + using kernel_params_t = + std::pair; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::ocl::unique_gather) + + std::unique_ptr clone() const override { + return make_unique(*this); +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp +index ed5565504f..325afd5f3c 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp +@@ -21,7 +21,7 @@ struct concatenation_onednn : typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::concatenation_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/convolution_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/convolution_onednn.cpp +index 1a27f3ae29..f1d1ab0a6c 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/convolution_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/convolution_onednn.cpp +@@ -26,7 +26,7 @@ struct convolution_onednn : typed_primitive_onednn_impl { + using parent = typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::convolution_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/deconvolution_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/deconvolution_onednn.cpp +index 439b74feff..1702738598 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/deconvolution_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/deconvolution_onednn.cpp +@@ -22,7 +22,7 @@ struct deconvolution_onednn : typed_primitive_onednn_impl { + using parent = typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::deconvolution_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/fully_connected_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/fully_connected_onednn.cpp +index 4aacb2ebd5..8ee6979dec 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/fully_connected_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/fully_connected_onednn.cpp +@@ -19,7 +19,7 @@ struct fully_connected_onednn : typed_primitive_onednn_impl { + using parent = typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::fully_connected_onednn) + + private: + static std::vector reshape_to_2d(const ov::PartialShape& shape, int64_t feature) { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/gemm_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/gemm_onednn.cpp +index 7410f79961..87e7decb34 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/gemm_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/gemm_onednn.cpp +@@ -19,7 +19,7 @@ struct gemm_onednn : typed_primitive_onednn_impl { + using parent = typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::gemm_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/pooling_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/pooling_onednn.cpp +index 52f0edc797..1dc686331b 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/pooling_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/pooling_onednn.cpp +@@ -19,7 +19,7 @@ struct pooling_onednn : typed_primitive_onednn_impl { + using parent = typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::pooling_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/reduction_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/reduction_onednn.cpp +index 581c37c015..635d465fc5 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/reduction_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/reduction_onednn.cpp +@@ -41,7 +41,7 @@ struct reduction_onednn : typed_primitive_onednn_impl { + using parent = typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::reduction_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/reorder_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/reorder_onednn.cpp +index 284dd8b166..433e043067 100644 +--- a/src/plugins/intel_gpu/src/graph/impls/onednn/reorder_onednn.cpp ++++ b/src/plugins/intel_gpu/src/graph/impls/onednn/reorder_onednn.cpp +@@ -19,7 +19,7 @@ struct reorder_onednn : typed_primitive_onednn_impl; + using parent::parent; + +- DECLARE_OBJECT_TYPE_SERIALIZATION ++ DECLARE_OBJECT_TYPE_SERIALIZATION(cldnn::onednn::reorder_onednn) + + protected: + std::unique_ptr clone() const override { +diff --git a/src/plugins/intel_gpu/src/graph/include/primitive_inst.h b/src/plugins/intel_gpu/src/graph/include/primitive_inst.h +index 3244ad20b4..454c92ac97 100644 +--- a/src/plugins/intel_gpu/src/graph/include/primitive_inst.h ++++ b/src/plugins/intel_gpu/src/graph/include/primitive_inst.h +@@ -54,7 +54,7 @@ struct primitive_impl { + + virtual std::vector get_internal_buffer_layouts() const = 0; + virtual void set_node_params(const program_node&) {} +- virtual std::string get_type() const = 0; ++ virtual const std::string& get_type_info() const = 0; + virtual void set_arguments(primitive_inst& instance) = 0; + virtual void set_arguments(primitive_inst& instance, kernel_arguments_data& args) = 0; + virtual kernel_arguments_data get_arguments(const primitive_inst& instance) const = 0; From 870938039c7e0a39ea56b0dc4e5eb8fa9a0d7b32 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 9 Oct 2023 21:11:52 +0300 Subject: [PATCH 2000/4087] (#20361) platform.exceptions: bump versions --- recipes/platform.exceptions/all/conandata.yml | 12 ++++++------ recipes/platform.exceptions/config.yml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/platform.exceptions/all/conandata.yml b/recipes/platform.exceptions/all/conandata.yml index 9459ce54f6fdc..cf054ea78bcab 100644 --- a/recipes/platform.exceptions/all/conandata.yml +++ b/recipes/platform.exceptions/all/conandata.yml @@ -2,9 +2,9 @@ sources: "0.5.0": url: "https://github.com/linksplatform/Exceptions/archive/csharp_0.5.0.tar.gz" sha256: "5fbdd49adf7840431a581d0bfe61a5d247398a1fe622101b3985714d11d411f4" - "0.3.0": - url: "https://github.com/linksplatform/Exceptions/archive/refs/tags/cpp_0.3.0.zip" - sha256: "08506f334098e8c9106ff357efd7f68b83a3c1f4dc03b6b97b6229b14737d0ce" - "0.2.0": - url: "https://github.com/linksplatform/Exceptions/archive/refs/tags/0.4.0_0.2.0.zip" - sha256: "9e4513da667e41f0bbe776123747ac63958972edb00eaee300c495ae3b39eb9b" + "0.3.2": + url: "https://github.com/linksplatform/Exceptions/archive/refs/tags/cpp_0.3.2.tar.gz" + sha256: "f2d3af59fd66ef47f93557a2b64d0c8e7a1a0cd033f0e3ae2f09153f81117f71" + "0.2.1": + url: "https://github.com/linksplatform/Exceptions/archive/refs/tags/cpp_0.2.1.tar.gz" + sha256: "9e31f6162cd226a4be3eb0e263b8c1c00e5de1fb41575d4d19207e9ff55f2687" diff --git a/recipes/platform.exceptions/config.yml b/recipes/platform.exceptions/config.yml index 918726b6e0530..7914985fc71b1 100644 --- a/recipes/platform.exceptions/config.yml +++ b/recipes/platform.exceptions/config.yml @@ -1,7 +1,7 @@ versions: "0.5.0": folder: all - "0.3.0": + "0.3.2": folder: all - "0.2.0": + "0.2.1": folder: all From 4b291f4854fd0556529e32fdc4861b3e486a87af Mon Sep 17 00:00:00 2001 From: Frank Schoenmann Date: Mon, 9 Oct 2023 21:11:56 +0200 Subject: [PATCH 2001/4087] (#20390) mbits-mstch: Compile for GCC 10 --- recipes/mbits-mstch/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-mstch/all/conanfile.py b/recipes/mbits-mstch/all/conanfile.py index a06f83e964b39..a8cfe1d7dd5a7 100644 --- a/recipes/mbits-mstch/all/conanfile.py +++ b/recipes/mbits-mstch/all/conanfile.py @@ -33,7 +33,7 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "11", + "gcc": "10", "clang": "12", "msvc": "192", "apple-clang": "11.0.3", From 3402358391a577d535ff1ce30bec60af4a58043c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 22:11:27 +0200 Subject: [PATCH 2002/4087] (#20396) cpr/all: bump libcurl, remove old versions * cpr: bump libcurl, remove old versions * remove old patches & versions --- recipes/cpr/all/conandata.yml | 51 ------------------- recipes/cpr/all/conanfile.py | 2 +- .../patches/002-1.4.0-create-install.patch | 14 ----- .../patches/003-1.4.0-curl-use-target.patch | 15 ------ .../patches/004-1.4.0-curl-global-scope.patch | 14 ----- .../005-1.5.2-fix-curl-components.patch | 21 -------- .../005-1.6.2-fix-curl-components.patch | 36 ------------- .../005-1.9.0-fix-curl-components.patch | 21 -------- recipes/cpr/config.yml | 12 ----- 9 files changed, 1 insertion(+), 185 deletions(-) delete mode 100644 recipes/cpr/all/patches/002-1.4.0-create-install.patch delete mode 100644 recipes/cpr/all/patches/003-1.4.0-curl-use-target.patch delete mode 100644 recipes/cpr/all/patches/004-1.4.0-curl-global-scope.patch delete mode 100644 recipes/cpr/all/patches/005-1.5.2-fix-curl-components.patch delete mode 100644 recipes/cpr/all/patches/005-1.6.2-fix-curl-components.patch delete mode 100644 recipes/cpr/all/patches/005-1.9.0-fix-curl-components.patch diff --git a/recipes/cpr/all/conandata.yml b/recipes/cpr/all/conandata.yml index 21c7cc656ba73..fcfeb5ab978f4 100644 --- a/recipes/cpr/all/conandata.yml +++ b/recipes/cpr/all/conandata.yml @@ -2,46 +2,20 @@ sources: "1.10.4": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.3.tar.gz" sha256: "7b9d3504ffdaf7ce3189f1b91d135888776b6a1b26ea1bf2c3c4986b8a5af06f" - "1.10.1": - url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.1.tar.gz" - sha256: "dc22ab9d34e6013e024e2c4a64e665b126573c0f125f0e02e6a7291cb7e04c4b" - "1.10.0": - url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.0.tar.gz" - sha256: "d669c028bd63a1c8827c32b348ecc85e46747bb33be3b00ce59b77717b91aee8" "1.9.3": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.9.3.tar.gz" sha256: "df53e7213d80fdc24583528521f7d3349099f5bb4ed05ab05206091a678cc53c" - "1.9.0": - url: "https://github.com/libcpr/cpr/archive/refs/tags/1.9.0.tar.gz" - sha256: "67023cde8979e8371f5ee7d6e586d6d0761af4a3a3a3be6270256353c9bf411f" "1.8.1": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.8.1.tar.gz" sha256: "9155ec36fcafe8cf8d61c98cde8dc6bd27c146740002069bf990855eecb2b95f" "1.7.2": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.7.2.tar.gz" sha256: "aa38a414fe2ffc49af13a08b6ab34df825fdd2e7a1213d032d835a779e14176f" - "1.6.2": - url: "https://github.com/libcpr/cpr/archive/1.6.2.tar.gz" - sha256: "c45f9c55797380c6ba44060f0c73713fbd7989eeb1147aedb8723aa14f3afaa3" - "1.5.2": - url: "https://github.com/libcpr/cpr/archive/1.5.2.tar.gz" - sha256: "6fc9102dd63b549912d7af1ec95ee41ece1a2fe27f759864306b07f6fcf24fe1" - "1.4.0": - url: "https://github.com/libcpr/cpr/archive/1.4.0.tar.gz" - sha256: "13baffba95445e02291684e31906b04df41d8c6a3020a1a55253047c6756a004" patches: "1.10.4": - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" patch_type: "portability" - "1.10.1": - - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" - patch_description: "disable warning flags and warning as error" - patch_type: "portability" - "1.10.0": - - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" - patch_description: "disable warning flags and warning as error" - patch_type: "portability" "1.9.3": - patch_file: "patches/005-1.9.3-fix-curl-components.patch" patch_description: "use cci package" @@ -49,13 +23,6 @@ patches: - patch_file: "patches/008-1.9.3-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" patch_type: "portability" - "1.9.0": - - patch_file: "patches/005-1.9.0-fix-curl-components.patch" - patch_description: "use cci package" - patch_type: "conan" - - patch_file: "patches/008-1.8.1-remove-warning-flags.patch" - patch_description: "disable warning flags and warning as error" - patch_type: "portability" "1.8.1": - patch_file: "patches/005-1.8.1-fix-curl-components.patch" patch_description: "use cci package" @@ -76,21 +43,3 @@ patches: - patch_file: "patches/008-1.7.2-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" patch_type: "portability" - "1.6.2": - - patch_file: "patches/005-1.6.2-fix-curl-components.patch" - patch_description: "use cci package" - patch_type: "conan" - "1.5.2": - - patch_file: "patches/005-1.5.2-fix-curl-components.patch" - patch_description: "use cci package" - patch_type: "conan" - "1.4.0": - - patch_file: "patches/002-1.4.0-create-install.patch" - patch_description: "add install definition" - patch_type: "conan" - - patch_file: "patches/003-1.4.0-curl-use-target.patch" - patch_description: "link curl library as target name" - patch_type: "portability" - - patch_file: "patches/004-1.4.0-curl-global-scope.patch" - patch_description: "use cci package" - patch_type: "conan" diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index 811d7ddeeebd7..dc8630b8a6edd 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -123,7 +123,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.0.1", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/8.2.1", transitive_headers=True, transitive_libs=True) # FIXME: This is a very dirty hack. # with_ssl == _AUTO_SSL, cpr needs the openssl header to compile. But Conan recipe does not know which SSL library to use. # because cpr's CMakeLists.txt automatically detects SSL libraries with CPR_ENABLE_SSL == ON. diff --git a/recipes/cpr/all/patches/002-1.4.0-create-install.patch b/recipes/cpr/all/patches/002-1.4.0-create-install.patch deleted file mode 100644 index 42f7f34ab13fe..0000000000000 --- a/recipes/cpr/all/patches/002-1.4.0-create-install.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- cpr/CMakeLists.txt -+++ cpr/CMakeLists.txt -@@ -46,3 +46,11 @@ - message(STATUS "Using CURL_LIBRARIES: ${CURL_LIBRARIES}.") - target_link_libraries(${CPR_LIBRARIES} - ${CURL_LIBRARIES}) -+ -+include(GNUInstallDirs) -+install(TARGETS cpr -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+) -+install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/cpr" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/recipes/cpr/all/patches/003-1.4.0-curl-use-target.patch b/recipes/cpr/all/patches/003-1.4.0-curl-use-target.patch deleted file mode 100644 index 61ba93886b977..0000000000000 --- a/recipes/cpr/all/patches/003-1.4.0-curl-use-target.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cpr/CMakeLists.txt b/cpr/CMakeLists.txt -diff --git a/a/cpr/CMakeLists.txt b/b/cpr/CMakeLists.txt -index c4f9b5b..7e2279d 100644 ---- a/a/cpr/CMakeLists.txt -+++ b/b/cpr/CMakeLists.txt -@@ -44,8 +44,7 @@ add_library(${CPR_LIBRARIES} - "${CPR_INCLUDE_DIRS}/cpr/unix_socket.h") - - message(STATUS "Using CURL_LIBRARIES: ${CURL_LIBRARIES}.") --target_link_libraries(${CPR_LIBRARIES} -- ${CURL_LIBRARIES}) -+target_link_libraries(cpr PUBLIC CURL::libcurl) - - include(GNUInstallDirs) - install(TARGETS cpr diff --git a/recipes/cpr/all/patches/004-1.4.0-curl-global-scope.patch b/recipes/cpr/all/patches/004-1.4.0-curl-global-scope.patch deleted file mode 100644 index b4fe11b69536a..0000000000000 --- a/recipes/cpr/all/patches/004-1.4.0-curl-global-scope.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt -index aa9f35d..86500d9 100644 ---- a/a/CMakeLists.txt -+++ b/b/CMakeLists.txt -@@ -86,7 +86,8 @@ if(BUILD_CPR_TESTS) - enable_testing() - endif() - --add_subdirectory(opt) -+# add_subdirectory(opt) # With Conan, none of this is used -+find_package(CURL) - add_subdirectory(cpr) - if(BUILD_CPR_TESTS) - add_subdirectory(test) diff --git a/recipes/cpr/all/patches/005-1.5.2-fix-curl-components.patch b/recipes/cpr/all/patches/005-1.5.2-fix-curl-components.patch deleted file mode 100644 index fda5c28eafd1d..0000000000000 --- a/recipes/cpr/all/patches/005-1.5.2-fix-curl-components.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c065227d..c1c19155 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -55,15 +55,7 @@ include(cmake/code_coverage.cmake) - - # Curl configuration - if(USE_SYSTEM_CURL) -- find_package(CURL COMPONENTS PROTOCOLS HTTP HTTPS FEATURES SSL) -- if (CURL_FOUND) -- set(SSL_ENABLED ON CACHE INTERNAL "" FORCE) -- else() -- find_package(CURL COMPONENTS PROTOCOLS HTTP) -- if(CURL_FOUND) -- set(SSL_ENABLED OFF CACHE INTERNAL "" FORCE) -- endif() -- endif() -+ find_package(CURL) - endif() - if(NOT USE_SYSTEM_CURL OR NOT CURL_FOUND) - message(STATUS "Not using system Curl, using built-in curl project instead.") diff --git a/recipes/cpr/all/patches/005-1.6.2-fix-curl-components.patch b/recipes/cpr/all/patches/005-1.6.2-fix-curl-components.patch deleted file mode 100644 index 04da489547e84..0000000000000 --- a/recipes/cpr/all/patches/005-1.6.2-fix-curl-components.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -120,29 +120,11 @@ endif() - - # Curl configuration - if(CPR_FORCE_USE_SYSTEM_CURL) -- if(CPR_ENABLE_SSL) -- find_package(CURL COMPONENTS HTTP HTTPS SSL) -- if(CURL_FOUND) -- message(STATUS "Curl ${CURL_VERSION_STRING} found on this system.") -- # To be able to load certificates under Windows when using OpenSSL: -- if(CMAKE_USE_OPENSSL AND WIN32 AND (NOT (CURL_VERSION_STRING VERSION_GREATER_EQUAL "7.71.0"))) -- message(FATAL_ERROR "Your system curl version (${CURL_VERSION_STRING}) is too old to support OpenSSL on Windows which requires curl >= 7.71.0. Update your curl version, use WinSSL, disable SSL or use the build in version of curl.") -- endif() -- else() -- find_package(CURL COMPONENTS HTTP) -- if(CURL_FOUND) -- message(FATAL_ERROR "Curl found on this system but WITHOUT HTTPS/SSL support. Either disable SSL by setting CPR_ENABLE_SSL to OFF or use the build in version of curl by setting CPR_FORCE_USE_SYSTEM_CURL to OFF.") -- else() -- message(FATAL_ERROR "Curl not found on this system. To use the build in version set CPR_FORCE_USE_SYSTEM_CURL to OFF.") -- endif() -- endif() -+ find_package(CURL REQUIRED) -+ if(CURL_FOUND) -+ message(STATUS "Curl found on this system.") - else() -- find_package(CURL COMPONENTS HTTP) -- if(CURL_FOUND) -- message(STATUS "Curl found on this system.") -- else() -- message(FATAL_ERROR "Curl not found on this system. To use the build in version set CPR_FORCE_USE_SYSTEM_CURL to OFF.") -- endif() -+ message(FATAL_ERROR "Curl not found on this system. To use the build in version set CPR_FORCE_USE_SYSTEM_CURL to OFF.") - endif() - else() - message(STATUS "Configuring build in curl...") diff --git a/recipes/cpr/all/patches/005-1.9.0-fix-curl-components.patch b/recipes/cpr/all/patches/005-1.9.0-fix-curl-components.patch deleted file mode 100644 index f20781e9ef90e..0000000000000 --- a/recipes/cpr/all/patches/005-1.9.0-fix-curl-components.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cb7c5f0..c6c19e4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -162,6 +162,8 @@ endif() - - # Curl configuration - if(CPR_FORCE_USE_SYSTEM_CURL) -+ find_package(CURL REQUIRED) -+ if(0) - if(CPR_ENABLE_SSL) - find_package(CURL COMPONENTS HTTP HTTPS) - if(CURL_FOUND) -@@ -186,6 +188,7 @@ if(CPR_FORCE_USE_SYSTEM_CURL) - message(FATAL_ERROR "Curl not found on this system. To use the build in version set CPR_FORCE_USE_SYSTEM_CURL to OFF.") - endif() - endif() -+ endif() - else() - message(STATUS "Configuring build in curl...") - diff --git a/recipes/cpr/config.yml b/recipes/cpr/config.yml index 66e2467c8e531..235f485f4ee68 100644 --- a/recipes/cpr/config.yml +++ b/recipes/cpr/config.yml @@ -1,21 +1,9 @@ versions: "1.10.4": folder: all - "1.10.1": - folder: all - "1.10.0": - folder: all "1.9.3": folder: all - "1.9.0": - folder: all "1.8.1": folder: all "1.7.2": folder: all - "1.6.2": - folder: all - "1.5.2": - folder: all - "1.4.0": - folder: all From ecf654beabbed9a32182ecfa4c8f740f03dbe789 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 9 Oct 2023 23:13:00 +0200 Subject: [PATCH 2003/4087] (#20401) librdkafka/all: bump deps, remove old versions --- recipes/librdkafka/all/conandata.yml | 70 ------------------- recipes/librdkafka/all/conanfile.py | 8 +-- .../0001-Change-library-names-1-5-2.patch | 31 -------- .../0001-Change-library-names-1-7-0.patch | 35 ---------- ...y-targets-and-result-variables-1-5-2.patch | 23 ------ ...y-targets-and-result-variables-1-6-0.patch | 23 ------ ...y-targets-and-result-variables-1-6-1.patch | 23 ------ ...y-targets-and-result-variables-1-7-0.patch | 37 ---------- recipes/librdkafka/config.yml | 14 ---- 9 files changed, 3 insertions(+), 261 deletions(-) delete mode 100644 recipes/librdkafka/all/patches/0001-Change-library-names-1-5-2.patch delete mode 100644 recipes/librdkafka/all/patches/0001-Change-library-names-1-7-0.patch delete mode 100644 recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-5-2.patch delete mode 100644 recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-0.patch delete mode 100644 recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-1.patch delete mode 100644 recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-7-0.patch diff --git a/recipes/librdkafka/all/conandata.yml b/recipes/librdkafka/all/conandata.yml index 81ba31cdfb277..a03c452b45360 100644 --- a/recipes/librdkafka/all/conandata.yml +++ b/recipes/librdkafka/all/conandata.yml @@ -8,27 +8,6 @@ sources: "1.9.2": url: "https://github.com/edenhill/librdkafka/archive/v1.9.2.tar.gz" sha256: "3fba157a9f80a0889c982acdd44608be8a46142270a389008b22d921be1198ad" - "1.9.1": - url: "https://github.com/edenhill/librdkafka/archive/v1.9.1.tar.gz" - sha256: "3a54cf375218977b7af4716ed9738378e37fe400a6c5ddb9d622354ca31fdc79" - "1.8.2": - url: "https://github.com/edenhill/librdkafka/archive/v1.8.2.tar.gz" - sha256: "6a747d293a7a4613bd2897e28e8791476fbe1ae7361f2530a876e0fd483482a6" - "1.8.0": - url: "https://github.com/edenhill/librdkafka/archive/v1.8.0.tar.gz" - sha256: "93b12f554fa1c8393ce49ab52812a5f63e264d9af6a50fd6e6c318c481838b7f" - "1.7.0": - url: "https://github.com/edenhill/librdkafka/archive/v1.7.0.tar.gz" - sha256: "c71b8c5ff419da80c31bb8d3036a408c87ad523e0c7588e7660ee5f3c8973057" - "1.6.1": - url: "https://github.com/edenhill/librdkafka/archive/v1.6.1.tar.gz" - sha256: "689028b5fdfdce026f396fc2f3bfe9e38947210d9bd22be28c3159cc8c41b57e" - "1.6.0": - url: "https://github.com/edenhill/librdkafka/archive/v1.6.0.tar.gz" - sha256: "3130cbd391ef683dc9acf9f83fe82ff93b8730a1a34d0518e93c250929be9f6b" - "1.5.3": - url: "https://github.com/edenhill/librdkafka/archive/v1.5.3.tar.gz" - sha256: "2105ca01fef5beca10c9f010bc50342b15d5ce6b73b2489b012e6d09a008b7bf" patches: "2.2.0": - patch_file: patches/0001-Change-library-names-1-9-1.patch @@ -51,52 +30,3 @@ patches: - patch_file: patches/0002-Change-library-targets-and-result-variables-1-9-1.patch patch_description: "refer conan package names" patch_type: "conan" - "1.9.1": - - 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-1-9-1.patch - patch_description: "refer conan package names" - patch_type: "conan" - "1.8.2": - - patch_file: patches/0001-Change-library-names-1-7-0.patch - patch_description: "find_package conan packages" - patch_type: "conan" - - patch_file: patches/0002-Change-library-targets-and-result-variables-1-7-0.patch - patch_description: "refer conan package names" - patch_type: "conan" - "1.8.0": - - patch_file: patches/0001-Change-library-names-1-7-0.patch - patch_description: "find_package conan packages" - patch_type: "conan" - - patch_file: patches/0002-Change-library-targets-and-result-variables-1-7-0.patch - patch_description: "refer conan package names" - patch_type: "conan" - "1.7.0": - - patch_file: patches/0001-Change-library-names-1-7-0.patch - patch_description: "find_package conan packages" - patch_type: "conan" - - patch_file: patches/0002-Change-library-targets-and-result-variables-1-7-0.patch - patch_description: "refer conan package names" - patch_type: "conan" - "1.6.1": - - patch_file: patches/0001-Change-library-names-1-5-2.patch - patch_description: "find_package conan packages, link sasl libraries" - patch_type: "conan" - - patch_file: patches/0002-Change-library-targets-and-result-variables-1-6-1.patch - patch_description: "refer conan package names" - patch_type: "conan" - "1.6.0": - - patch_file: patches/0001-Change-library-names-1-5-2.patch - patch_description: "find_package conan packages, link sasl libraries" - patch_type: "conan" - - patch_file: patches/0002-Change-library-targets-and-result-variables-1-6-0.patch - patch_description: "refer conan package names" - patch_type: "conan" - "1.5.3": - - patch_file: patches/0001-Change-library-names-1-5-2.patch - patch_description: "find_package conan packages, link sasl libraries" - patch_type: "conan" - - patch_file: patches/0002-Change-library-targets-and-result-variables-1-5-2.patch - patch_description: "refer conan package names" - patch_type: "conan" diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index a26ad90b5400d..a3942c7cffef1 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -52,8 +52,6 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if Version(self.version) < "1.9.0": - del self.options.curl def configure(self): if self.options.shared: @@ -72,12 +70,12 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self._depends_on_cyrus_sasl: self.requires("cyrus-sasl/2.1.27") - if self.options.get_safe("curl", False): - self.requires("libcurl/8.0.1") + if self.options.curl: + self.requires("libcurl/8.2.1") def build_requirements(self): if self._depends_on_cyrus_sasl: - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/librdkafka/all/patches/0001-Change-library-names-1-5-2.patch b/recipes/librdkafka/all/patches/0001-Change-library-names-1-5-2.patch deleted file mode 100644 index 63c4787d111f3..0000000000000 --- a/recipes/librdkafka/all/patches/0001-Change-library-names-1-5-2.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -54,7 +54,7 @@ endif() - # } - - # ZSTD { --find_package(ZSTD QUIET) -+find_package(zstd QUIET CONFIG) - if(ZSTD_FOUND) - set(with_zstd_default ON) - else() -@@ -133,6 +133,9 @@ else() - endif() - option(WITH_SASL "With SASL" ${with_sasl_default}) - if(WITH_SASL) -+ if(SASL_FOUND) -+ link_directories(${SASL_LIBRARY_DIRS}) -+ endif() - if(WITH_SSL) - set(WITH_SASL_SCRAM ON) - set(WITH_SASL_OAUTHBEARER ON) -@@ -149,7 +152,8 @@ endif() - option(ENABLE_LZ4_EXT "Enable external LZ4 library support" ON) - set(WITH_LZ4_EXT OFF) - if(ENABLE_LZ4_EXT) -- find_package(LZ4) -+ find_package(lz4 REQUIRED CONFIG) -+ set(LZ4_FOUND ON) - if(LZ4_FOUND) - set(WITH_LZ4_EXT ON) - list(APPEND BUILT_WITH "LZ4_EXT") diff --git a/recipes/librdkafka/all/patches/0001-Change-library-names-1-7-0.patch b/recipes/librdkafka/all/patches/0001-Change-library-names-1-7-0.patch deleted file mode 100644 index 966ba38247ca4..0000000000000 --- a/recipes/librdkafka/all/patches/0001-Change-library-names-1-7-0.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 07bd30c67a532be3c1f31aa383a1061c832a034d Mon Sep 17 00:00:00 2001 -From: Alejandro Colomar -Date: Sun, 30 May 2021 11:02:57 +0200 -Subject: [PATCH] Change library names - ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d1129bce..14d9e7f0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -54,7 +54,7 @@ endif() - # } - - # ZSTD { --find_package(ZSTD QUIET) -+find_package(zstd QUIET CONFIG) - if(ZSTD_FOUND) - set(with_zstd_default ON) - else() -@@ -152,7 +152,8 @@ endif() - option(ENABLE_LZ4_EXT "Enable external LZ4 library support" ON) - set(WITH_LZ4_EXT OFF) - if(ENABLE_LZ4_EXT) -- find_package(LZ4) -+ find_package(lz4 REQUIRED CONFIG) -+ set(LZ4_FOUND ON) - if(LZ4_FOUND) - set(WITH_LZ4_EXT ON) - list(APPEND BUILT_WITH "LZ4_EXT") --- -2.32.0.rc0 - diff --git a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-5-2.patch b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-5-2.patch deleted file mode 100644 index 2c6f62c68a478..0000000000000 --- a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-5-2.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -209,9 +209,7 @@ if(WITH_ZLIB) - endif() - - if(WITH_ZSTD) -- target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY}) -- target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR}) -- message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") -+ target_link_libraries(rdkafka PUBLIC $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - - if(WITH_SSL) -@@ -246,8 +244,7 @@ if(WITH_LIBDL) - endif() - - if(WITH_LZ4_EXT) -- target_include_directories(rdkafka PUBLIC ${LZ4_INCLUDE_DIRS}) -- target_link_libraries(rdkafka PUBLIC LZ4::LZ4) -+ target_link_libraries(rdkafka PUBLIC lz4::lz4) - endif() - - # Set up path to these sources for other sub-projects (tests, examples) diff --git a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-0.patch b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-0.patch deleted file mode 100644 index 71155e468786f..0000000000000 --- a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-0.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -212,9 +212,7 @@ if(WITH_ZLIB) - endif() - - if(WITH_ZSTD) -- target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY}) -- target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR}) -- message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") -+ target_link_libraries(rdkafka PUBLIC $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - - if(WITH_SSL) -@@ -249,8 +247,7 @@ if(WITH_LIBDL) - endif() - - if(WITH_LZ4_EXT) -- target_include_directories(rdkafka PUBLIC ${LZ4_INCLUDE_DIRS}) -- target_link_libraries(rdkafka PUBLIC LZ4::LZ4) -+ target_link_libraries(rdkafka PUBLIC lz4::lz4) - endif() - - # Set up path to these sources for other sub-projects (tests, examples) diff --git a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-1.patch b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-1.patch deleted file mode 100644 index 0a478997b2373..0000000000000 --- a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-6-1.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -212,9 +212,7 @@ if(WITH_ZLIB) - endif() - - if(WITH_ZSTD) -- target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY}) -- target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR}) -- message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") -+ target_link_libraries(rdkafka PUBLIC $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - - if(WITH_SSL) -@@ -253,8 +251,7 @@ if(WITH_LIBDL) - endif() - - if(WITH_LZ4_EXT) -- target_include_directories(rdkafka PUBLIC ${LZ4_INCLUDE_DIRS}) -- target_link_libraries(rdkafka PUBLIC LZ4::LZ4) -+ target_link_libraries(rdkafka PUBLIC lz4::lz4) - endif() - - # Set up path to these sources for other sub-projects (tests, examples) diff --git a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-7-0.patch b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-7-0.patch deleted file mode 100644 index 377bc8af8e437..0000000000000 --- a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-1-7-0.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 994ad21e1a136e11d1dc5870d991b034e41e6a4c Mon Sep 17 00:00:00 2001 -From: Alejandro Colomar -Date: Sun, 30 May 2021 11:08:36 +0200 -Subject: [PATCH] Change library targets and result variables - ---- - src/CMakeLists.txt | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 6e24a238..4379c060 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -198,9 +198,7 @@ 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>) - endif() - - if(WITH_SSL) -@@ -239,8 +237,7 @@ if(WITH_LIBDL) - 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) --- -2.32.0.rc0 - diff --git a/recipes/librdkafka/config.yml b/recipes/librdkafka/config.yml index 6e80eff9af885..6b21185a713a7 100644 --- a/recipes/librdkafka/config.yml +++ b/recipes/librdkafka/config.yml @@ -5,17 +5,3 @@ versions: folder: all "1.9.2": folder: all - "1.9.1": - folder: all - "1.8.2": - folder: all - "1.8.0": - folder: all - "1.7.0": - folder: all - "1.6.1": - folder: all - "1.6.0": - folder: all - "1.5.3": - folder: all From c6fdc3389f4522e85169ed953357242bbccaf4cb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 00:17:14 +0200 Subject: [PATCH 2004/4087] (#20410) libucl/all: bump deps, use version range for OpenSSL --- recipes/libucl/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libucl/all/conanfile.py b/recipes/libucl/all/conanfile.py index 99131d4e95863..5962211b5f08a 100644 --- a/recipes/libucl/all/conanfile.py +++ b/recipes/libucl/all/conanfile.py @@ -46,11 +46,11 @@ def layout(self): def requirements(self): if self.options.enable_url_include: - self.requires("libcurl/7.86.0") + self.requires("libcurl/8.2.1") if self.options.enable_url_sign: - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") if self.options.with_lua == "lua": - self.requires("lua/5.4.4") + self.requires("lua/5.4.6") elif self.options.with_lua == "luajit": self.requires("luajit/2.0.5") From c9615cd3ca3bfb7eaf3b50862afed8202e591d37 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 01:12:44 +0200 Subject: [PATCH 2005/4087] (#20435) hazelcast-cpp-client/all: use OpenSSL range, bump boost, remove old versions * hazelcast-cpp-client/all: use OpenSSL range, bump boost, remove old versions * revert boost update, add missing system library --- .../hazelcast-cpp-client/all/conandata.yml | 16 ---- recipes/hazelcast-cpp-client/all/conanfile.py | 4 +- .../all/patches/gcc_4.9_5_fix.patch | 79 ------------------- recipes/hazelcast-cpp-client/config.yml | 8 -- 4 files changed, 2 insertions(+), 105 deletions(-) delete mode 100644 recipes/hazelcast-cpp-client/all/patches/gcc_4.9_5_fix.patch diff --git a/recipes/hazelcast-cpp-client/all/conandata.yml b/recipes/hazelcast-cpp-client/all/conandata.yml index b475516774d72..132cdd0f76ad6 100644 --- a/recipes/hazelcast-cpp-client/all/conandata.yml +++ b/recipes/hazelcast-cpp-client/all/conandata.yml @@ -8,27 +8,11 @@ sources: "5.1.0": url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v5.1.0.tar.gz" sha256: "de22ddf2c99079ed2385baa554a997b15ae17b039d6d108f68e25e1b3bbf76b6" - "5.0.0": - url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v5.0.0.tar.gz" - sha256: "0df7948bc6f4d219c60f51179355599938cab5b713335c2ea48d1d38be1b69dc" "4.2.0": url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v4.2.0.zip" sha256: "18aeb755a875015a2e182d4c575cc46a041bdfb699937c5174d94534517e4708" - "4.1.1": - url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v4.1.1.zip" - sha256: "ca425c97eb871400de4bd2307ddaf3c557c9c1bae50d6a0db6507d72f435830c" - "4.1.0": - url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v4.1.0.zip" - sha256: "8356bc76077fea354e83ffcd506096797137af10b292809c6b7843a8fbd084e3" - "4.0.1": - url: "https://github.com/hazelcast/hazelcast-cpp-client/archive/v4.0.1.zip" - sha256: "4b3c6a876ebca2a4dcf23a556d3c3d4da2284e4ce1d2bbdf335df7f86b03fd28" patches: "5.1.0": - patch_file: "patches/gcc_11_1_0.patch" patch_description: "Fix for GCC-111" patch_type: "portability" - "4.1.0": - - patch_file: "patches/gcc_4.9_5_fix.patch" - patch_description: "Fix for GCC-495" - patch_type: "portability" diff --git a/recipes/hazelcast-cpp-client/all/conanfile.py b/recipes/hazelcast-cpp-client/all/conanfile.py index ccfd70e209aa3..a46e46f6fda67 100644 --- a/recipes/hazelcast-cpp-client/all/conanfile.py +++ b/recipes/hazelcast-cpp-client/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): self.requires("boost/1.79.0", transitive_headers=True, transitive_libs=True) if self.options.with_openssl: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -84,6 +84,6 @@ def package_info(self): self.cpp_info.libs = ["hazelcast-cpp-client"] self.cpp_info.defines = ["BOOST_THREAD_VERSION=5"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.extend(["pthread", "m"]) if self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/hazelcast-cpp-client/all/patches/gcc_4.9_5_fix.patch b/recipes/hazelcast-cpp-client/all/patches/gcc_4.9_5_fix.patch deleted file mode 100644 index f5655c00c6f25..0000000000000 --- a/recipes/hazelcast-cpp-client/all/patches/gcc_4.9_5_fix.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/hazelcast/include/hazelcast/client/spi/impl/ClientPartitionServiceImpl.h b/hazelcast/include/hazelcast/client/spi/impl/ClientPartitionServiceImpl.h -index 41b437a80..6bef9e28b 100644 ---- a/hazelcast/include/hazelcast/client/spi/impl/ClientPartitionServiceImpl.h -+++ b/hazelcast/include/hazelcast/client/spi/impl/ClientPartitionServiceImpl.h -@@ -64,10 +64,7 @@ namespace hazelcast { - void reset(); - private: - struct partition_table { -- partition_table(int32_t connectionId = 0, int32_t version = -1, -- const std::unordered_map &partitions = {}); -- -- int32_t connection_id{0}; -+ int32_t connection_id; - int32_t version; - std::unordered_map partitions; - }; -diff --git a/hazelcast/src/hazelcast/client/config.cpp b/hazelcast/src/hazelcast/client/config.cpp -index 88cad1ec5..5da63b36a 100644 ---- a/hazelcast/src/hazelcast/client/config.cpp -+++ b/hazelcast/src/hazelcast/client/config.cpp -@@ -856,7 +856,7 @@ namespace hazelcast { - return it->second; - } - -- return reliable_topic_config_map_.emplace(name, name).first->second; -+ return reliable_topic_config_map_.emplace(name, config::reliable_topic_config{name}).first->second; - } - - const config::reliable_topic_config *client_config::lookup_reliable_topic_config(const std::string &name) const { -diff --git a/hazelcast/src/hazelcast/client/discovery.cpp b/hazelcast/src/hazelcast/client/discovery.cpp -index cdc10a906..51279b446 100644 ---- a/hazelcast/src/hazelcast/client/discovery.cpp -+++ b/hazelcast/src/hazelcast/client/discovery.cpp -@@ -588,7 +588,7 @@ namespace hazelcast { - - std::unordered_map aws_client::get_addresses() { - util::Preconditions::check_ssl("aws_client::get_addresses"); -- return {}; -+ return std::unordered_map(); - } - } - } -diff --git a/hazelcast/src/hazelcast/client/spi.cpp b/hazelcast/src/hazelcast/client/spi.cpp -index ada4e665c..206aecb9e 100644 ---- a/hazelcast/src/hazelcast/client/spi.cpp -+++ b/hazelcast/src/hazelcast/client/spi.cpp -@@ -788,9 +788,10 @@ namespace hazelcast { - auto previous_list = member_list_snapshot_.load()->members; - - member_list_snapshot_.store( -- boost::shared_ptr(new member_list_snapshot{0, {}})); -+ boost::shared_ptr(new member_list_snapshot{0})); - -- return detect_membership_events(previous_list, {}); -+ return detect_membership_events(previous_list, -+ std::unordered_map>()); - } - - void ClientClusterServiceImpl::clear_member_list() { -@@ -2357,7 +2358,7 @@ namespace hazelcast { - } - #else - util::Preconditions::check_ssl("cloud_discovery::get_addresses"); -- return {}; -+ return std::unordered_map(); - #endif - } - -@@ -2388,10 +2389,6 @@ namespace hazelcast { - return address(std::move(scoped_hostname), address_holder.get_port()); - } - } -- -- ClientPartitionServiceImpl::partition_table::partition_table(int32_t connectionId, int32_t version, -- const std::unordered_map &partitions) -- : connection_id(connectionId), version(version), partitions(partitions) {} - } - } - } diff --git a/recipes/hazelcast-cpp-client/config.yml b/recipes/hazelcast-cpp-client/config.yml index 7e4b5ade25250..5dd47e8b5a4e0 100644 --- a/recipes/hazelcast-cpp-client/config.yml +++ b/recipes/hazelcast-cpp-client/config.yml @@ -5,13 +5,5 @@ versions: folder: all "5.1.0": folder: all - "5.0.0": - folder: all "4.2.0": folder: all - "4.1.1": - folder: all - "4.1.0": - folder: all - "4.0.1": - folder: all From 3d86a04873170599541cde079f24d6ec707a26b8 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 02:12:26 +0200 Subject: [PATCH 2006/4087] (#20436) cpp-jwt/all: use OpenSSL version range --- recipes/cpp-jwt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-jwt/all/conanfile.py b/recipes/cpp-jwt/all/conanfile.py index a9da0afcb17e4..71a7e1defc3e4 100644 --- a/recipes/cpp-jwt/all/conanfile.py +++ b/recipes/cpp-jwt/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def package_id(self): self.info.clear() From 7b75422d877c9bbadf161d035a901b2d3978d690 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Tue, 10 Oct 2023 03:24:23 +0200 Subject: [PATCH 2007/4087] (#20393) bump dependencies of pkgconf --- recipes/pkgconf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pkgconf/all/conanfile.py b/recipes/pkgconf/all/conanfile.py index 18f5f79fa547c..673b980405e75 100644 --- a/recipes/pkgconf/all/conanfile.py +++ b/recipes/pkgconf/all/conanfile.py @@ -56,7 +56,7 @@ def package_id(self): del self.info.settings.compiler def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From a6be6f71adc9cfa6628bdf7c1767273e1320997a Mon Sep 17 00:00:00 2001 From: Pat Mancuso <46453397+patmantru@users.noreply.github.com> Date: Mon, 9 Oct 2023 22:10:51 -0400 Subject: [PATCH 2008/4087] (#19949) opentdf-client release 1.5.3 & 1.5.4 * Add entry for 1.5.3 * Add version 1.5.4 also --------- Co-authored-by: Carlos Zoido --- recipes/opentdf-client/all/conandata.yml | 6 ++++++ recipes/opentdf-client/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/opentdf-client/all/conandata.yml b/recipes/opentdf-client/all/conandata.yml index 74961dd8639fd..1c8d39123b6c5 100644 --- a/recipes/opentdf-client/all/conandata.yml +++ b/recipes/opentdf-client/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.5.4": + url: "https://github.com/opentdf/client-cpp/archive/1.5.4.tar.gz" + sha256: "7902d3f09b632ac3827f3c9c8fd1a1f7c8fdff82eeed2157385278b91a7f515f" + "1.5.3": + url: "https://github.com/opentdf/client-cpp/archive/1.5.3.tar.gz" + sha256: "43812a99b8942cd8f600f7ea284118e8af7d000705b2602991f889fe49dd3455" "1.5.0": url: "https://github.com/opentdf/client-cpp/archive/1.5.0.tar.gz" sha256: "0d6134634c0c6fde5e8457361332242259e1ef238e5254ccbed2f94549998c48" diff --git a/recipes/opentdf-client/config.yml b/recipes/opentdf-client/config.yml index 99d76618997f8..fd92109485e2d 100644 --- a/recipes/opentdf-client/config.yml +++ b/recipes/opentdf-client/config.yml @@ -1,4 +1,8 @@ versions: + "1.5.4": + folder: all + "1.5.3": + folder: all "1.5.0": folder: all "1.4.0": From f9af80625bfc0784f021771bc8e8b04c04dcf54c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 05:12:06 +0200 Subject: [PATCH 2009/4087] (#20437) c-client/all: bump OpenSSL --- recipes/c-client/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-client/all/conanfile.py b/recipes/c-client/all/conanfile.py index 45fc29f13df14..795f25ff9b207 100644 --- a/recipes/c-client/all/conanfile.py +++ b/recipes/c-client/all/conanfile.py @@ -43,7 +43,7 @@ def layout(self): def requirements(self): if not is_msvc(self): - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") def validate(self): if self.settings.os == "Windows" and not is_msvc(self): From bcba984ab51bdcb93ca281ccba7db14fdbbcc85a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 06:16:13 +0200 Subject: [PATCH 2010/4087] (#20439) simple-websocket-server/all: bump deps, use OpenSSL version range --- recipes/simple-websocket-server/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/simple-websocket-server/all/conanfile.py b/recipes/simple-websocket-server/all/conanfile.py index 65dfdeec4ffb5..c4f98b42cbc3d 100644 --- a/recipes/simple-websocket-server/all/conanfile.py +++ b/recipes/simple-websocket-server/all/conanfile.py @@ -31,7 +31,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/1.1.1q") + self.requires("openssl/[>=1.1 <4]") # only version 2.0.2 upwards is able to build against asio 1.18.0 or higher if Version(self.version) <= "2.0.1": if self.options.use_asio_standalone: @@ -40,9 +40,9 @@ def requirements(self): self.requires("boost/1.73.0") else: if self.options.use_asio_standalone: - self.requires("asio/1.28.0") + self.requires("asio/1.28.1") else: - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") def package_id(self): self.info.clear() From bdb741fd708b7371023b343ff20390bd96407d97 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 07:11:27 +0200 Subject: [PATCH 2011/4087] (#20440) cmake: add version 3.27.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 e31c9995f8031..9c2494ef70ebb 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.7": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.7-linux-aarch64.tar.gz" + sha256: "f40ec1b7d41e94efd6c79cf0b7fc45ed6068543af0fea47b0c9fbf2b1b1b3fbc" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.7-linux-x86_64.tar.gz" + sha256: "a8c92ecb139bcc7a1f92a8108179bd1d021bdb158a5ee759cba6d60010b83ae9" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.7-macos10.10-universal.tar.gz" + sha256: "4a366d07fbe0be7e1efcf0dbd743d09a5dc6609da79035e4036b12296ec679cf" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.7-windows-arm64.zip" + sha256: "d9b19fd6830510022156621042759af2374111dc4f431b58c8828a17a68633dc" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.7-windows-x86_64.zip" + sha256: "5588e50030cda3e6fa96724444d8539916ac808d78d608cda6ae6ff7c4c4c9c8" "3.27.6": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 88d76a326d17c..7c56e333cf666 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.27.7": + folder: "binary" "3.27.6": folder: "binary" "3.27.5": From 700373824a9964d1d6524d1269d8cb5a0fdede10 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 09:13:21 +0200 Subject: [PATCH 2012/4087] (#20447) mosquitto/1.x: bump OpenSSL --- recipes/mosquitto/1.x/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/mosquitto/1.x/conanfile.py b/recipes/mosquitto/1.x/conanfile.py index c9cd7eb5586db..030bc9686278b 100644 --- a/recipes/mosquitto/1.x/conanfile.py +++ b/recipes/mosquitto/1.x/conanfile.py @@ -45,7 +45,8 @@ def layout(self): def requirements(self): if self.options.with_tls: - self.requires("openssl/1.1.1s") + # uses deprecated functions in openssl/3.0.0 + self.requires("openssl/1.1.1w") if self.options.with_websockets: self.requires("libwebsockets/4.3.2") From 83cbcc0c864b74c7ab04106432f23fe20e4e9d17 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 10 Oct 2023 10:42:56 +0200 Subject: [PATCH 2013/4087] (#20455) xkbcommon 1.6.0 --- recipes/xkbcommon/all/conandata.yml | 3 +++ recipes/xkbcommon/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xkbcommon/all/conandata.yml b/recipes/xkbcommon/all/conandata.yml index 1c21a5c826ba0..35dd4985bdd4e 100644 --- a/recipes/xkbcommon/all/conandata.yml +++ b/recipes/xkbcommon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://xkbcommon.org/download/libxkbcommon-1.6.0.tar.xz" + sha256: "0edc14eccdd391514458bc5f5a4b99863ed2d651e4dd761a90abf4f46ef99c2b" "1.5.0": url: "https://xkbcommon.org/download/libxkbcommon-1.5.0.tar.xz" sha256: "560f11c4bbbca10f495f3ef7d3a6aa4ca62b4f8fb0b52e7d459d18a26e46e017" diff --git a/recipes/xkbcommon/config.yml b/recipes/xkbcommon/config.yml index aa62b1dc6f781..dc3bda303f68e 100644 --- a/recipes/xkbcommon/config.yml +++ b/recipes/xkbcommon/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.0": folder: all "1.4.1": From d27d76e493caa35fd5e8bfba3af785fd76a2e69b Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Tue, 10 Oct 2023 12:50:31 +0200 Subject: [PATCH 2014/4087] (#19773) [SCIP] bump version to 8.0.4 * [scip] Bump version of gmp dependency * [scip] drop dependency zlib (as this is included by soplex) * [scip] Add new version 8.0.4 * Re-add zlib but use ranges --- recipes/scip/all/conandata.yml | 3 +++ recipes/scip/all/conanfile.py | 10 +++++++--- recipes/scip/config.yml | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/recipes/scip/all/conandata.yml b/recipes/scip/all/conandata.yml index 8e5c45d17a6da..b92bf4dedd66a 100644 --- a/recipes/scip/all/conandata.yml +++ b/recipes/scip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.0.4": + url: "https://github.com/scipopt/scip/archive/refs/tags/v804.tar.gz" + sha256: "48be3f568763e3fc209803e9426389df107491371cfcce38f73dcc99ede69a51" "8.0.3": url: "https://github.com/scipopt/scip/archive/refs/tags/v803.tar.gz" sha256: "fe7636f8165a8c9298ff55ed3220d084d4ea31ba9b69d2733beec53e0e4335d6" diff --git a/recipes/scip/all/conanfile.py b/recipes/scip/all/conanfile.py index 1afdaf21774a7..127afee9dd22b 100644 --- a/recipes/scip/all/conanfile.py +++ b/recipes/scip/all/conanfile.py @@ -34,6 +34,10 @@ class SCIPConan(ConanFile): "with_tpi": False, "with_sym": "bliss", } + soplex_version_belonging_to_me = { + "8.0.4": "6.0.4", + "8.0.3": "6.0.3" + } @property def _min_cppstd(self): @@ -76,11 +80,11 @@ def config_options(self): def requirements(self): if self.options.with_gmp: - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") if self.options.with_sym == "bliss": self.requires("bliss/0.77") - self.requires("soplex/6.0.3") - self.requires("zlib/1.2.13") + self.requires(f"soplex/{self.soplex_version_belonging_to_me[self.version]}") + self.requires("zlib/[>=1.2.11 <2]") def configure(self): self.options["soplex"].with_gmp = self.options.with_gmp diff --git a/recipes/scip/config.yml b/recipes/scip/config.yml index 5a689d128f61a..131c324cfccd5 100644 --- a/recipes/scip/config.yml +++ b/recipes/scip/config.yml @@ -1,3 +1,5 @@ versions: + "8.0.4": + folder: all "8.0.3": folder: all From ba281efde64545dc25f2621bd76f0a49a7cd6ff0 Mon Sep 17 00:00:00 2001 From: seladb Date: Tue, 10 Oct 2023 05:51:10 -0700 Subject: [PATCH 2015/4087] (#20399) npcap 1.70: migrate to Conan 2.0 * Fix test * Don't check the output (it's not needed) * Remove import * Fix compatibility with Conan 1.x * Address PR comment --- recipes/npcap/all/test_package/conanfile.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/npcap/all/test_package/conanfile.py b/recipes/npcap/all/test_package/conanfile.py index 88fb844b5824b..3f5bd28111ec1 100644 --- a/recipes/npcap/all/test_package/conanfile.py +++ b/recipes/npcap/all/test_package/conanfile.py @@ -2,7 +2,6 @@ from conan.tools import files from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake -from io import StringIO import os @@ -24,6 +23,9 @@ def configure(self): def layout(self): cmake_layout(self) + def generate(self): + files.save(self, os.path.join(self.build_folder, "libpcap_bin_path"), self.dependencies["libpcap"].cpp_info.bindirs[0]) + def build(self): cmake = CMake(self) cmake.configure() @@ -31,17 +33,13 @@ def build(self): def test(self): if can_run(self): - bindir = self.cpp.build.bindirs[0] + bindir = self.cpp.build.bindir # Use libpcap DLL as a replacement for npcap DLL # It will not provide all the functions # but it will cover enough to check that what we compiled is correct files.rm(self, "wpcap.dll", bindir) - files.copy(self, "pcap.dll", src=self.deps_cpp_info['libpcap'].bin_paths[0], dst=bindir) + libpcap_bin_path = files.load(self, os.path.join(self.build_folder, "libpcap_bin_path")) + files.copy(self, "pcap.dll", src=libpcap_bin_path, dst=os.path.join(str(self.build_path), bindir)) files.rename(self, os.path.join(bindir, "pcap.dll"), os.path.join(bindir, "wpcap.dll")) - bin_path = os.path.join(bindir, "test_package") - output = StringIO() - self.run(bin_path, env="conanrun", output=output) - test_output = output.getvalue() - print(test_output) - assert "libpcap version 1.10.1" in test_output + self.run(os.path.join(bindir, "test_package"), env="conanrun") From 0bbe08f9988dcbe9925ffc6a29bae1131c3b8229 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 10 Oct 2023 16:31:24 +0200 Subject: [PATCH 2016/4087] (#20212) ffmpeg: add versions 4.4.4, 5.0.3 & 5.1.3 --- recipes/ffmpeg/all/conandata.yml | 9 +++++++++ recipes/ffmpeg/config.yml | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index d7a1adb10f829..668b92e9cff67 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -2,12 +2,21 @@ sources: "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" diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 5596a0ba4cf84..5ba65ef918e0d 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,10 +1,16 @@ versions: "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": From af14545440d2dbf4701f8f25669ebc7eddba6454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 10 Oct 2023 18:03:50 +0200 Subject: [PATCH 2017/4087] (#20222) microprofiles: Fix license * Fix microprofiles license * Add missing import * Fix source_folder usage Signed-off-by: Uilian Ries * Add missing libm as system library Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/microprofile/all/conandata.yml | 2 -- recipes/microprofile/all/conanfile.py | 13 ++++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/recipes/microprofile/all/conandata.yml b/recipes/microprofile/all/conandata.yml index 440ae9ec0e9ed..144d6e5120836 100644 --- a/recipes/microprofile/all/conandata.yml +++ b/recipes/microprofile/all/conandata.yml @@ -2,8 +2,6 @@ sources: "3.1": - url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v3.1.tar.gz" sha256: "300e1d0d21e4c13ad1de72c5309ba02fbdb3bcbbe26e5ad9ff8b798380781527" - - url: "https://raw.githubusercontent.com/jonasmr/microprofile/v4.0/LICENSE" - sha256: "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c" patches: "3.1": - patch_file: "patches/sources_fix.patch" diff --git a/recipes/microprofile/all/conanfile.py b/recipes/microprofile/all/conanfile.py index abbded97a0b17..3779e90691c29 100644 --- a/recipes/microprofile/all/conanfile.py +++ b/recipes/microprofile/all/conanfile.py @@ -5,15 +5,15 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, download, export_conandata_patches, get, save +from conan.tools.files import apply_conandata_patches, collect_libs, copy, download, export_conandata_patches, get, save, load required_conan_version = ">=1.53.0" class MicroprofileConan(ConanFile): name = "microprofile" + license = "DocumentRef-README.md:LicenseRef-Unlicense" description = "Microprofile is a embeddable profiler in a few files, written in C++" - license = "Unlicense" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jonasmr/microprofile" topics = ("profiler", "embedded", "timer") @@ -135,7 +135,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version][0], strip_root=True) - download(self, filename="LICENSE", **self.conan_data["sources"][self.version][1]) def generate(self): tc = CMakeToolchain(self) @@ -152,8 +151,12 @@ def build(self): cmake.configure() cmake.build() + def _extract_license(self): + readme = load(self, os.path.join(self.source_folder, "README.md"),) + return readme[readme.find("# License"):] + def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) cmake = CMake(self) cmake.install() @@ -203,5 +206,5 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread"] + self.cpp_info.system_libs = ["pthread", "m"] self.cpp_info.defines.append("MICROPROFILE_USE_CONFIG") From 50359b96acc8d7e1b671174c1115a00d9bdb8b80 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 10 Oct 2023 19:04:50 +0200 Subject: [PATCH 2018/4087] (#20448) fix openssl 3.X for MinGW --- recipes/openssl/3.x.x/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index bd2227abc9b73..35f6fcf1604db 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -481,7 +481,8 @@ def _create_targets(self, cflags, cxxflags, defines, ldflags): def _run_make(self, targets=None, parallel=True, install=False): command = [self._make_program] if install: - command.append(f"DESTDIR={self.package_folder}") + package_folder = self.package_folder.replace("\\", "/") # needed for MinGW build + command.append(f"DESTDIR={package_folder}") if targets: command.extend(targets) if not self._use_nmake: @@ -517,7 +518,8 @@ def _make_install(self): def build(self): self._make() - self.run(f"{self._perl} {self.source_folder}/configdata.pm --dump") + source_folder = self.source_folder.replace("\\", "/") # Necessary for MinGW build + self.run(f"{self._perl} {source_folder}/configdata.pm --dump") @property def _make_program(self): From 0190f7bd7c894716de145abe9d6858126d8b68a9 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Tue, 10 Oct 2023 20:15:11 +0200 Subject: [PATCH 2019/4087] (#19596) add test for c_subscripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add test for c_subscripts * fix SETUP_C_SUBSCRIPTS * Fix URL, get default back to False --------- Co-authored-by: Rubén Rincón Blanco --- recipes/newmat/all/conanfile.py | 4 ++-- recipes/newmat/all/test_package/test_package.cpp | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/recipes/newmat/all/conanfile.py b/recipes/newmat/all/conanfile.py index 1e8f73c3d75fc..e73dffca97d70 100644 --- a/recipes/newmat/all/conanfile.py +++ b/recipes/newmat/all/conanfile.py @@ -12,7 +12,7 @@ class NewmatConan(ConanFile): name = "newmat" description = "Manipulate a variety of types of matrices using standard matrix operations." url = "https://github.com/conan-io/conan-center-index" - homepage = "https://newmat.net" + homepage = "http://www.robertnz.net/nm11.htm" topics = ("matrix") license = "LicenseRef-newmat" package_type = "library" @@ -83,5 +83,5 @@ def package_info(self): self.cpp_info.includedirs.append(os.path.join("include", "newmat")) if self.options.with_c_subscripts: - self.cpp_info.defines = ["SETUP_C_SUBSCRIPTS"] + self.cpp_info.defines.append("SETUP_C_SUBSCRIPTS") diff --git a/recipes/newmat/all/test_package/test_package.cpp b/recipes/newmat/all/test_package/test_package.cpp index bcd358b815b25..bd314f10d88fc 100644 --- a/recipes/newmat/all/test_package/test_package.cpp +++ b/recipes/newmat/all/test_package/test_package.cpp @@ -2,6 +2,14 @@ int main() { - Matrix A(2,3); + Matrix matrix(4,4); + + matrix + << 1 << 2 << 3 << 4 + << 21 << 22 << 23 << 24 + << 31 << 32 << 33 << 34 + << 41 << 42 << 43 << 44 + ; + return 0; } From 29d0e1d7af1ab735ddc1a8bfbfa274b21417ec5f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 10 Oct 2023 21:21:57 +0200 Subject: [PATCH 2020/4087] (#20186) qt 6.5.3 * qt 6.5.3 generated with: ``` conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.5.3 ``` * fix conflicts * disable vcpkg * Update conanfile.py --- recipes/qt/6.x.x/conandata.yml | 24 ++ recipes/qt/6.x.x/conanfile.py | 13 +- recipes/qt/6.x.x/qtmodules6.5.3.conf | 332 +++++++++++++++++++++++++++ recipes/qt/config.yml | 2 + 4 files changed, 367 insertions(+), 4 deletions(-) create mode 100644 recipes/qt/6.x.x/qtmodules6.5.3.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index ed9afdd80458b..a0c2a35fafbd7 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,24 @@ sources: + "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" + - "https://download.qt.io/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirror.web4africa.ng/qt/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" + sha256: "7cda4d119aad27a3887329cfc285f2aba5da85601212bcb0aea27bd6b7b544cb" "6.5.2": url: - "https://download.qt.io/official_releases/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" @@ -64,6 +84,10 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: + "6.5.3": + - "base_path": "qtwebengine" + "patch_description": "Workaround for too long .rps file name" + "patch_file": "patches/c72097e.diff" "6.5.2": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 3edb49f690ce4..c00b4d63c6bfe 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -301,7 +301,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre2: @@ -321,7 +321,7 @@ def requirements(self): if self.options.get_safe("with_icu", False): self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/8.0.1") + self.requires("harfbuzz/8.2.1") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/2.1.5") @@ -353,7 +353,7 @@ def requirements(self): self.requires("xkbcommon/1.5.0") self.requires("wayland/1.22.0") if self.options.with_brotli: - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") if self.options.get_safe("qtwebengine") and self.settings.os == "Linux": self.requires("expat/2.5.0") self.requires("opus/1.3.1") @@ -376,7 +376,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.2") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') @@ -424,6 +424,7 @@ def generate(self): vre.generate(scope="build") # TODO: to remove when properly handled by conan (see https://github.com/conan-io/conan/issues/11962) env = Environment() + env.unset("VCPKG_ROOT") env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) env.vars(self).save_script("conanbuildenv_pkg_config_path") if self._settings_build.os == "Macos": @@ -582,6 +583,8 @@ def generate(self): cpp_std_map["23"] = "FEATURE_cxx2b" tc.variables[cpp_std_map.get(current_cpp_std, "FEATURE_cxx17")] = "ON" + tc.variables["QT_USE_VCPKG"] = False + tc.cache_variables["QT_USE_VCPKG"] = False tc.generate() @@ -633,6 +636,8 @@ def source(self): # use official variable name https://cmake.org/cmake/help/latest/module/FindFontconfig.html replace_in_file(self, os.path.join(self.source_folder, "qtbase", "src", "gui", "configure.cmake"), "FONTCONFIG_FOUND", "Fontconfig_FOUND") + replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", "QtAutoDetect.cmake") , "qt_auto_detect_vcpkg()", "# qt_auto_detect_vcpkg()") + def _xplatform(self): if self.settings.os == "Linux": if self.settings.compiler == "gcc": diff --git a/recipes/qt/6.x.x/qtmodules6.5.3.conf b/recipes/qt/6.x.x/qtmodules6.5.3.conf new file mode 100644 index 0000000000000..aee8d5684dcec --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.5.3.conf @@ -0,0 +1,332 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.5.3 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.5.3 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.5.3 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.5.3 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.5.3 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.5.3 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.5.3 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.5.3 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.5.3 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.5.3 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.5.3 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.5.3 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.5.3 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools + path = qt3d + url = ../qt3d.git + branch = 6.5.3 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.5.3 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.5.3 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.5.3 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.5.3 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.5.3 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.5.3 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.5.3 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.5.3 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.5.3 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.5.3 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.5.3 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.5.3 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.5.3 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.5.3 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.5.3 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.5.3 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.5.3 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.5.3 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.5.3 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.5.3 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.5.3 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.5.3 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.5.3 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.5.3 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.5.3 + status = addon +[submodule "qtgrpc"] + depends = qtbase + recommends = qtdeclarative + path = qtgrpc + url = ../qtgrpc.git + branch = 6.5.3 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.5.3 + status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 1ccfd2e7da0a7..6df0033404d92 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,4 +1,6 @@ versions: + "6.5.3": + folder: 6.x.x "6.5.2": folder: 6.x.x "6.5.1": From 26882413211e650eead97cf8ad13de3a0139fafc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 10 Oct 2023 16:15:26 -0500 Subject: [PATCH 2021/4087] (#20265) libglvnd: Fix incorrect license and update recipe * Update topics * Add package_type * Fix license * Update Conan recipe and test package * Set src_folder in layout --- recipes/libglvnd/all/conanfile.py | 40 +++++++++---------- .../libglvnd/all/test_package/CMakeLists.txt | 11 ++--- .../libglvnd/all/test_package/conanfile.py | 21 ++++++---- 3 files changed, 38 insertions(+), 34 deletions(-) diff --git a/recipes/libglvnd/all/conanfile.py b/recipes/libglvnd/all/conanfile.py index 7d1919c184d04..9503a3cd195eb 100644 --- a/recipes/libglvnd/all/conanfile.py +++ b/recipes/libglvnd/all/conanfile.py @@ -1,8 +1,10 @@ from conan import ConanFile -from conan.tools.meson import Meson, MesonToolchain -from conan.tools.files import get, rmdir, save from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, rmdir, save +from conan.tools.env import VirtualBuildEnv +from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain import os import textwrap @@ -11,11 +13,12 @@ class LibGlvndConan(ConanFile): name = "libglvnd" description = "The GL Vendor-Neutral Dispatch library" - license = "LicenseRef-LICENSE" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.freedesktop.org/glvnd/libglvnd" - topics = ("gl", "vendor-neutral", "dispatch") + topics = ("dispatch", "egl", "gl", "gles", "glx", "glvnd", "opengl", "vendor-neutral") settings = "os", "arch", "compiler", "build_type" + package_type = "shared-library" options = { "asm": [True, False], "x11": [True, False], @@ -41,21 +44,9 @@ class LibGlvndConan(ConanFile): "entrypoint_patching": True, } - generators = "PkgConfigDeps" - - # don't use self.settings_build - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - # don't use self.user_info_build - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def requirements(self): if self.options.x11: @@ -65,20 +56,25 @@ def requirements(self): def validate(self): if self.settings.os not in ['Linux', 'FreeBSD']: - raise ConanInvalidConfiguration("libglvnd is only compatible with Linux and FreeBSD") + raise ConanInvalidConfiguration(f"{self.name} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.build_requires("meson/0.63.2") - self.build_requires("pkgconf/1.9.3") + self.tool_requires("meson/1.2.2") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() tc = MesonToolchain(self) tc.project_options["asm"] = "enabled" if self.options.asm else "disabled" tc.project_options["x11"] = "enabled" if self.options.x11 else "disabled" diff --git a/recipes/libglvnd/all/test_package/CMakeLists.txt b/recipes/libglvnd/all/test_package/CMakeLists.txt index 34af13462f44f..60cf6714783e8 100644 --- a/recipes/libglvnd/all/test_package/CMakeLists.txt +++ b/recipes/libglvnd/all/test_package/CMakeLists.txt @@ -1,8 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +project(test_package LANGUAGES C) + +find_package(libglvnd REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libglvnd::libglvnd) + diff --git a/recipes/libglvnd/all/test_package/conanfile.py b/recipes/libglvnd/all/test_package/conanfile.py index 8b7f471a280d5..ef5d7042163ec 100644 --- a/recipes/libglvnd/all/test_package/conanfile.py +++ b/recipes/libglvnd/all/test_package/conanfile.py @@ -1,12 +1,19 @@ from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake +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) @@ -14,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From e3004c2531cb33568fe3dbc41248eb3b1fa5c73c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 11 Oct 2023 00:02:29 +0200 Subject: [PATCH 2022/4087] (#20473) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index fc3d9282a9ef7..ced5ee37a897a 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -146,6 +146,7 @@ required_for_references: - cfitsio - cgal - cgif +- cgltf - cgns - chaiscript - charls @@ -249,6 +250,7 @@ required_for_references: - dbcppp - dbg-macro - dbus +- dcmtk - debug_assert - decimal_for_cpp - deco @@ -280,6 +282,7 @@ required_for_references: - easy_profiler - easyhttpcpp - easyloggingpp +- easylzma - ecos - editline - edlib @@ -510,6 +513,7 @@ required_for_references: - khrplatform - kickcat - kissfft +- kitten - kmod - ktx - kuba-zip @@ -536,6 +540,7 @@ required_for_references: - libavif - libb2 - libbacktrace +- libbasisu - libbigwig - libbpf - libbsd @@ -557,12 +562,15 @@ required_for_references: - libdivide - libdmtx - libdrawille +- libdrm - libdwarf - libdxfrw - libe57format - libelf +- libenvpp - libepoxy - libev +- libevdev - libevent - libexif - libfdk_aac @@ -588,6 +596,7 @@ required_for_references: - libjpeg - libjpeg-turbo - libkml +- libliftoff - liblsl - libltc - liblzf @@ -609,6 +618,7 @@ required_for_references: - libmysqlclient - libnabo - libnet +- libnetfilter_conntrack - libnetfilter_queue - libnfnetlink - libnfs @@ -620,6 +630,7 @@ required_for_references: - libnova - libnpy - libnuma +- liboping - libpcap - libpciaccess - libpfm4 @@ -684,6 +695,8 @@ required_for_references: - libxls - libxlsxwriter - libxml2 +- libxpm +- libxshmfence - libxslt - libyaml - libyuv @@ -702,6 +715,7 @@ required_for_references: - lodepng - log.c - log4cplus +- log4cxx - logr - loguru - ls-qpack @@ -751,7 +765,9 @@ required_for_references: - meson - metall - metis +- mfast - mgs +- microprofile - microservice-essentials - microtar - mikelankamp-fpm @@ -788,6 +804,7 @@ required_for_references: - msgpack-c - msgpack-cxx - msys2 +- mtdev - mujs - muparser - muparserx @@ -922,6 +939,7 @@ required_for_references: - platform.exceptions - platform.hashing - platform.interfaces +- playrho - plf_colony - plf_indiesort - plf_list @@ -940,6 +958,7 @@ required_for_references: - poppler-data - popt - portable-file-dialogs +- poshlib - pprint - pranav-csv2 - pretty-name @@ -1003,6 +1022,7 @@ required_for_references: - redis-plus-plus - refl-cpp - replxx +- resource_pool - restbed - restinio - rg-etc1 @@ -1021,6 +1041,7 @@ required_for_references: - ruy - rvo2 - rxcpp +- s2geometry - s2n - safeint - sail @@ -1049,6 +1070,7 @@ required_for_references: - seqan3 - serd - serdepp +- serial - sfml - shapelib - shield @@ -1064,6 +1086,7 @@ required_for_references: - sml - snappy - snowhouse +- so5extra - sobjectizer - soci - sofa @@ -1125,6 +1148,7 @@ required_for_references: - tcb-span - tcl - tclap +- tcp-wrappers - tensorflow-lite - tensorpipe - termcap @@ -1184,6 +1208,8 @@ required_for_references: - tsl-sparse-map - tuplet - turtle +- tweetnacl +- twitch-native-ipc - type_safe - tz - ua-nodeset @@ -1257,6 +1283,7 @@ required_for_references: - wyhash - xapian-core - xbyak +- xege - xerces-c - xkbcommon - xkeyboard-config @@ -1288,6 +1315,7 @@ required_for_references: - yas - yasm - yder +- yoga - yyjson - z3 - zbar From d822d18513087e803cefe1d17658b56df61e3fed Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 11 Oct 2023 08:10:27 +0900 Subject: [PATCH 2023/4087] (#20327) immer: add version 0.8.1, rename example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Francisco Ramírez --- recipes/immer/all/conandata.yml | 3 +++ recipes/immer/all/conanfile.py | 6 +++--- recipes/immer/all/test_package/CMakeLists.txt | 8 ++++---- recipes/immer/all/test_package/conanfile.py | 2 +- .../all/test_package/{example.cpp => test_package.cpp} | 0 recipes/immer/all/test_v1_package/conanfile.py | 2 +- recipes/immer/config.yml | 2 ++ 7 files changed, 14 insertions(+), 9 deletions(-) rename recipes/immer/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/immer/all/conandata.yml b/recipes/immer/all/conandata.yml index 6d029402576cc..dcc9095290082 100644 --- a/recipes/immer/all/conandata.yml +++ b/recipes/immer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.1": + url: "https://github.com/arximboldi/immer/archive/v0.8.1.tar.gz" + sha256: "de8411c84830864604bb685dc8f2e3c0dbdc40b95b2f6726092f7dcc85e75209" "0.8.0": url: "https://github.com/arximboldi/immer/archive/v0.8.0.tar.gz" sha256: "4ed9e86a525f293e0ba053107b937d88b032674ec6e5db958816f2e412677fde" diff --git a/recipes/immer/all/conanfile.py b/recipes/immer/all/conanfile.py index b605235f93553..dadfcc5005ec6 100644 --- a/recipes/immer/all/conanfile.py +++ b/recipes/immer/all/conanfile.py @@ -24,7 +24,7 @@ class ImmerConan(ConanFile): no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 14 @property @@ -47,14 +47,14 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) if not min_version: self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") else: if Version(self.settings.compiler.version) < min_version: raise ConanInvalidConfiguration( - f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler" + f"{self.name} requires C++{self._min_cppstd} support. The current compiler" f" {self.settings.compiler} {self.settings.compiler.version} does not support it." ) diff --git a/recipes/immer/all/test_package/CMakeLists.txt b/recipes/immer/all/test_package/CMakeLists.txt index c9d3024076801..3e9a18f3dcd2f 100644 --- a/recipes/immer/all/test_package/CMakeLists.txt +++ b/recipes/immer/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(PackageTest CXX) +project(PackageTest LANGUAGES CXX) find_package(immer REQUIRED CONFIG) -add_executable(example example.cpp) -target_link_libraries(example immer::immer) -target_compile_features(example PUBLIC cxx_std_14) +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE immer::immer) +target_compile_features(test_package PRIVATE cxx_std_14) diff --git a/recipes/immer/all/test_package/conanfile.py b/recipes/immer/all/test_package/conanfile.py index 8d52b7021efe1..ef5d7042163ec 100644 --- a/recipes/immer/all/test_package/conanfile.py +++ b/recipes/immer/all/test_package/conanfile.py @@ -22,5 +22,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindir, "example") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/immer/all/test_package/example.cpp b/recipes/immer/all/test_package/test_package.cpp similarity index 100% rename from recipes/immer/all/test_package/example.cpp rename to recipes/immer/all/test_package/test_package.cpp diff --git a/recipes/immer/all/test_v1_package/conanfile.py b/recipes/immer/all/test_v1_package/conanfile.py index 0242d96a644ca..90eb89e3f2f46 100644 --- a/recipes/immer/all/test_v1_package/conanfile.py +++ b/recipes/immer/all/test_v1_package/conanfile.py @@ -13,5 +13,5 @@ def build(self): def test(self): if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") + bin_path = os.path.join("bin", "test_package") self.run(bin_path, run_environment=True) diff --git a/recipes/immer/config.yml b/recipes/immer/config.yml index 7090494339fd4..249b90e4014ba 100644 --- a/recipes/immer/config.yml +++ b/recipes/immer/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.1": + folder: all "0.8.0": folder: all "0.7.0": From bb64e8446e3ee74115064cae08756f759a7c9aa2 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 10 Oct 2023 19:11:09 -0500 Subject: [PATCH 2024/4087] (#20353) util-linux-libuuid/2.39: Remove usr directory from package folder For some reason, it tries to install a systemd directory and bash completions in the usr directory. --- recipes/util-linux-libuuid/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py index 71265d08f5124..e5c35fe2c862b 100644 --- a/recipes/util-linux-libuuid/all/conanfile.py +++ b/recipes/util-linux-libuuid/all/conanfile.py @@ -105,6 +105,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "bin")) rmdir(self, os.path.join(self.package_folder, "sbin")) rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "usr")) fix_apple_shared_install_name(self) def package_info(self): From 4710b9a36c35556b63895bc91baf6b32a05c0182 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 10 Oct 2023 20:11:12 -0500 Subject: [PATCH 2025/4087] (#20379) boost-ext-ut: Add version 2.0.0 * boost-ext-ut: Add version 2.0.0 * Use a newer version of CMake for version 2.0.0 * Use VirtualBuildEnv * Update minimum required versions of Clang and GCC * Use a newer version of apple-clang * Fix typo * Bump minimum apple-clang version to 14 for 2.0.0 --- recipes/boost-ext-ut/all/conandata.yml | 13 ++++++++----- recipes/boost-ext-ut/all/conanfile.py | 25 +++++++++++++++++++------ recipes/boost-ext-ut/config.yml | 2 ++ 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/recipes/boost-ext-ut/all/conandata.yml b/recipes/boost-ext-ut/all/conandata.yml index 81ce02efd2b42..f123657f3fbe3 100644 --- a/recipes/boost-ext-ut/all/conandata.yml +++ b/recipes/boost-ext-ut/all/conandata.yml @@ -1,12 +1,15 @@ sources: - "1.1.8": - url: "https://github.com/boost-ext/ut/archive/v1.1.8.tar.gz" - sha256: "3cc426dcf38397637e889efd9567b06d55dd23fb4e65cc0381eb8103a411d104" + "2.0.0": + url: "https://github.com/boost-ext/ut/archive/v2.0.0.tar.gz" + sha256: "8b5b11197d1308dfc1fe20efd6a656e0c833dbec2807e2292967f6e2f7c0420f" "1.1.9": url: "https://github.com/boost-ext/ut/archive/v1.1.9.tar.gz" sha256: "1a666513157905aa0e53a13fac602b5673dcafb04a869100a85cd3f000c2ed0d" -patches: "1.1.8": - - patch_file: "patches/license.patch" + url: "https://github.com/boost-ext/ut/archive/v1.1.8.tar.gz" + sha256: "3cc426dcf38397637e889efd9567b06d55dd23fb4e65cc0381eb8103a411d104" +patches: "1.1.9": - patch_file: "patches/1.1.9_cmake_project_version.patch" + "1.1.8": + - patch_file: "patches/license.patch" diff --git a/recipes/boost-ext-ut/all/conanfile.py b/recipes/boost-ext-ut/all/conanfile.py index bce6579a06de7..a73d7aef01853 100644 --- a/recipes/boost-ext-ut/all/conanfile.py +++ b/recipes/boost-ext-ut/all/conanfile.py @@ -3,8 +3,9 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain +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 check_min_vs, is_msvc +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration @@ -31,9 +32,11 @@ def _minimum_cpp_standard(self): @property def _minimum_compilers_version(self): return { - "apple-clang": "11" if Version(self.version) < "1.1.8" else "12", - "clang": "9", - "gcc": "9", + "apple-clang": "12" if Version(self.version) < "2.0.0" else "14", + "clang": "9" if Version(self.version) < "2.0.0" else "10", + "gcc": "9" if Version(self.version) < "2.0.0" else "10", + "msvc": "192", + "Visual Studio": "14", } def export_sources(self): @@ -54,9 +57,13 @@ def validate(self): if Version(self.version) <= "1.1.8" and is_msvc(self): raise ConanInvalidConfiguration(f"{self.ref} may not be built with MSVC. " "Please use at least version 1.1.9 with MSVC.") + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires at least version {minimum_version} of the {self.settings.compiler} compiler." + ) if is_msvc(self): - check_min_vs(self, "192") if not self.options.get_safe("disable_module", True): self.output.warn("The 'disable_module' option must be enabled when using MSVC.") if not is_msvc(self): @@ -71,6 +78,10 @@ def validate(self): f"{self.ref} requires C++{self._minimum_cpp_standard} support. " f"The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") + def build_requirements(self): + if Version(self.version) >= "2.0.0": + self.tool_requires("cmake/[>=3.21 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -84,7 +95,9 @@ def generate(self): if disable_module: tc.cache_variables["BOOST_UT_DISABLE_MODULE"] = disable_module tc.generate() - + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + def build(self): apply_conandata_patches(self) cmake = CMake(self) diff --git a/recipes/boost-ext-ut/config.yml b/recipes/boost-ext-ut/config.yml index 968159344a038..483296a860daa 100644 --- a/recipes/boost-ext-ut/config.yml +++ b/recipes/boost-ext-ut/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: "all" "1.1.8": folder: "all" "1.1.9": From ba922b9037457fc9db168fc9359dbbb211f96287 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 11 Oct 2023 04:11:37 +0200 Subject: [PATCH 2026/4087] (#20397) sentry-native/all: bump deps --- recipes/sentry-native/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index faa6d8ed510e7..64c0a526c8730 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -103,7 +103,7 @@ def layout(self): def requirements(self): if self.options.transport == "curl": - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.2.1") if self.options.backend == "crashpad": if self.options.with_crashpad == "sentry": self.requires(f"sentry-crashpad/{self.version}") @@ -115,7 +115,7 @@ def requirements(self): if self.options.with_breakpad == "google": self.requires("breakpad/cci.20210521") if self.options.get_safe("qt"): - self.requires("qt/5.15.9") + self.requires("qt/5.15.11") self.requires("openssl/[>=1.1 <4]") def validate(self): @@ -137,7 +137,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.16.4 <4]") if self.options.backend == "breakpad": if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version]) From 51393d52a645b4db23895979b2e9a8087a1b4bdd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 11 Oct 2023 05:10:28 +0200 Subject: [PATCH 2027/4087] (#20405) libsixel/all: bump deps --- recipes/libsixel/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libsixel/all/conanfile.py b/recipes/libsixel/all/conanfile.py index 5b731a76e5de8..182d8500c1d8a 100644 --- a/recipes/libsixel/all/conanfile.py +++ b/recipes/libsixel/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): def requirements(self): if self.options.with_curl: - self.requires("libcurl/8.2.0") + self.requires("libcurl/8.2.1") if self.options.with_gd: self.requires("libgd/2.3.3") if self.options.with_gdk_pixbuf2: @@ -75,9 +75,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio") def build_requirements(self): - self.tool_requires("meson/1.2.0") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From fe6f997c3cb962a1bcf447df4a35dfaf5a487608 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 11 Oct 2023 06:10:21 +0200 Subject: [PATCH 2028/4087] (#20425) libmetalink/all: bump deps --- recipes/libmetalink/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libmetalink/all/conanfile.py b/recipes/libmetalink/all/conanfile.py index 26b6f8a3d9655..a17aa7f18af8a 100644 --- a/recipes/libmetalink/all/conanfile.py +++ b/recipes/libmetalink/all/conanfile.py @@ -53,9 +53,9 @@ def layout(self): def requirements(self): if self.options.xml_backend == "expat": - self.requires("expat/2.4.9") + self.requires("expat/2.5.0") elif self.options.xml_backend == "libxml2": - self.requires("libxml2/2.9.14") + self.requires("libxml2/2.11.4") def validate(self): if is_msvc(self): @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From c5533fc98d707f43a80f160215173b9f1541d176 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 11 Oct 2023 07:11:24 +0200 Subject: [PATCH 2029/4087] (#20462) libtasn1: use winflexbison instead of bison if build machine is Windows bison raises if Windows --- recipes/libtasn1/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/libtasn1/all/conanfile.py b/recipes/libtasn1/all/conanfile.py index 069830d3c9f36..d1eea1562324a 100644 --- a/recipes/libtasn1/all/conanfile.py +++ b/recipes/libtasn1/all/conanfile.py @@ -55,7 +55,11 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio") def build_requirements(self): - self.tool_requires("bison/3.8.2") + if self._settings_build.os == "Windows": + self.tool_requires("winflexbison/2.5.25") + else: + self.tool_requires("bison/3.8.2") + if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 3c082ddef25fea486db677df4f5f2672a8a64ceb Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Wed, 11 Oct 2023 08:11:14 +0200 Subject: [PATCH 2030/4087] (#20466) c-ares: add version 1.20.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 e654988836336..5fa919d9fff6b 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" "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" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 402bb147b757b..e429742ce15f7 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.20.1": + folder: all "1.19.1": folder: all "1.19.0": From 0124cb3f0763a883b424c241b30706e012b384b0 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Wed, 11 Oct 2023 09:03:50 +0200 Subject: [PATCH 2031/4087] (#20454) Bump deps in sdl to avoid conflicts --- recipes/sdl/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index 6d8d882403cbd..f04c1dfd85b9b 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -144,7 +144,7 @@ def requirements(self): self.requires("libiconv/1.17") if self.settings.os == "Linux": if self.options.alsa: - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") if self.options.pulse: self.requires("pulseaudio/14.2") if self.options.opengl: @@ -152,7 +152,7 @@ def requirements(self): if self.options.nas: self.requires("nas/1.9.5") if self.options.wayland: - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") self.requires("xkbcommon/1.4.1") self.requires("egl/system") if self.options.libunwind: @@ -188,7 +188,7 @@ def build_requirements(self): if self.settings.os == "Linux" and not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/1.9.3") if hasattr(self, "settings_build") and self.options.get_safe("wayland"): - self.build_requires("wayland/1.21.0") # Provides wayland-scanner + self.build_requires("wayland/1.22.0") # Provides wayland-scanner def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, From 2815efc941e467b842d04d296ea2848870323d57 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 11 Oct 2023 17:12:47 +0900 Subject: [PATCH 2032/4087] (#20468) commata: add version 0.2.6 --- 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 f3b0e9f61cd27..e7ea4a174774d 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.6": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.6.tar.gz" + sha256: "bc91f496cb261e5627fb39d8e79d1aaa924975332d9957de4cb4097db6957815" "0.2.5": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.5.tar.gz" sha256: "d1be1f366267af6c466c29f846f5968f57626a8a6635a2ea9a3de3f6fb88e53b" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 5000ff084e200..571d6667fb3be 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.6": + folder: all "0.2.5": folder: all "0.2.4-bug1": From 4abd9f713e8b724da8fed88146f1d49f801a6ab6 Mon Sep 17 00:00:00 2001 From: rconde01 Date: Wed, 11 Oct 2023 04:47:19 -0400 Subject: [PATCH 2033/4087] (#20475) gh-20467 Fix linker errors when building cspice utilities on windows The cmake logic depended on removing a matching file name, but the list contained relative paths, while the file to match had absolute paths. Now they both use absolute paths. --- recipes/cspice/all/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cspice/all/CMakeLists.txt b/recipes/cspice/all/CMakeLists.txt index 3812708448a9a..4e032190639fa 100644 --- a/recipes/cspice/all/CMakeLists.txt +++ b/recipes/cspice/all/CMakeLists.txt @@ -65,7 +65,7 @@ if(CSPICE_BUILD_UTILITIES) file(GLOB CSPICE_UTILITIES_SUBDIRS RELATIVE ${SRC_DIR} "${SRC_DIR}/*_c") list(REMOVE_ITEM CSPICE_UTILITIES_SUBDIRS "cook_c") foreach(CSPICE_SUBDIR ${CSPICE_UTILITIES_SUBDIRS}) - set(UTILITY_SRC_DIR "${SRC_DIR}/${CSPICE_SUBDIR}") + get_filename_component(UTILITY_SRC_DIR "${SRC_DIR}/${CSPICE_SUBDIR}" ABSOLUTE) # Each .pgm file is the entry point of an executable file(GLOB PGM_FILES "${UTILITY_SRC_DIR}/*.pgm") From d3ce11c85b42073d93aec27a1a82ebb0f61550ae Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 11:01:22 +0200 Subject: [PATCH 2034/4087] (#20479) xorg-gccmakedep/all: bump deps * xorg-gccmakedep/all/: bump deps * xorg-gccmakedep/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-gccmakedep/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-gccmakedep/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xorg-gccmakedep/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xorg-gccmakedep/all/conanfile.py b/recipes/xorg-gccmakedep/all/conanfile.py index 813811cb7758d..1aafda519a470 100644 --- a/recipes/xorg-gccmakedep/all/conanfile.py +++ b/recipes/xorg-gccmakedep/all/conanfile.py @@ -29,7 +29,7 @@ def requirements(self): self.requires("xorg-macros/1.19.3") def build_requirements(self): - self.tool_requires("pkgconf/1.7.4") + self.tool_requires("pkgconf/2.0.3") def validate(self): if self.settings.os == "Windows": From bb3c48a1387214cc92ed4a11f23340ed9e9aa6af Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Wed, 11 Oct 2023 05:03:31 -0400 Subject: [PATCH 2035/4087] (#20499) stduuid: fix conditional dependency on ms-gsl * stduuid: use std::span only when available * stduuid: only check for c++20 * stduuid: fixes * Add src folder to layout * Fix for Conan 1.x --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/stduuid/all/conandata.yml | 9 +++++ recipes/stduuid/all/conanfile.py | 39 ++++++++++++------- .../patches/1.2.2-handle-span-header.patch | 26 +++++++++++++ .../patches/1.2.3-handle-span-header.patch | 29 ++++++++++++++ 4 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 recipes/stduuid/all/patches/1.2.2-handle-span-header.patch create mode 100644 recipes/stduuid/all/patches/1.2.3-handle-span-header.patch diff --git a/recipes/stduuid/all/conandata.yml b/recipes/stduuid/all/conandata.yml index cb02ec2f29148..106008491388a 100644 --- a/recipes/stduuid/all/conandata.yml +++ b/recipes/stduuid/all/conandata.yml @@ -8,3 +8,12 @@ sources: "1.0": url: "https://github.com/mariusbancila/stduuid/archive/v1.0.tar.gz" sha256: "e96f2ac7c950c3c24d7e2e44a84236277b7774ee346dcc620edf400d9eda0a3c" +patches: + "1.2.2": + - patch_file: "patches/1.2.2-handle-span-header.patch" + patch_description: "Conditionally include span header based on compiler definition" + patch_type: "conan" + "1.2.3": + - patch_file: "patches/1.2.3-handle-span-header.patch" + patch_description: "Conditionally include span header based on compiler definition" + patch_type: "conan" diff --git a/recipes/stduuid/all/conanfile.py b/recipes/stduuid/all/conanfile.py index 0ca3e6b2dcb08..740dfa380f1ad 100644 --- a/recipes/stduuid/all/conanfile.py +++ b/recipes/stduuid/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 +from conan.tools.build import check_min_cppstd, valid_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 @@ -18,16 +18,14 @@ class StduuidConan(ConanFile): homepage = "https://github.com/mariusbancila/stduuid" settings = "os", "arch", "compiler", "build_type" options = { + # True: Use std::span + # False: Use gsl::span "with_cxx20_span": [True, False], } - default_options = { - "with_cxx20_span": False, - } - no_copy_source = True @property def _min_cppstd(self): - return "20" if self.options.with_cxx20_span else "17" + return "20" if self.options.get_safe("with_cxx20_span") else "17" @property def _compilers_minimum_version(self): @@ -38,13 +36,26 @@ def _compilers_minimum_version(self): "msvc": "191", "Visual Studio": "15", } + + def export_sources(self): + export_conandata_patches(self) def layout(self): basic_layout(self, src_folder="src") + def config_options(self): + if Version(self.version) == "1.0": + # Version 1.0 unconditionally depends on gsl span + del self.options.with_cxx20_span + else: + # Conditionally set the default value of with_cxx20_span + # if cppstd is set and is 20 or greater + self.options.with_cxx20_span = (self.settings.compiler.get_safe("cppstd", False) + and valid_min_cppstd(self, 20)) + def requirements(self): - if not self.options.with_cxx20_span: - self.requires("ms-gsl/3.1.0", transitive_headers=True) + if not self.options.get_safe("with_cxx20_span") or Version(self.version) == "1.0": + self.requires("ms-gsl/4.0.0", transitive_headers=True) if self.settings.os == "Linux" and Version(self.version) <= "1.0": self.requires("util-linux-libuuid/2.39", transitive_headers=True, transitive_libs=True) @@ -52,7 +63,7 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppsd"): + 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) @@ -62,8 +73,8 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) def build(self): pass @@ -75,5 +86,5 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - if not self.options.with_cxx20_span: - self.cpp_info.includedirs.append(os.path.join(self.dependencies["ms-gsl"].cpp_info.includedirs[0], "gsl")) + if self.options.get_safe("with_cxx20_span"): + self.cpp_info.defines = ["LIBUUID_CPP20_OR_GREATER"] diff --git a/recipes/stduuid/all/patches/1.2.2-handle-span-header.patch b/recipes/stduuid/all/patches/1.2.2-handle-span-header.patch new file mode 100644 index 0000000000000..840c78174c772 --- /dev/null +++ b/recipes/stduuid/all/patches/1.2.2-handle-span-header.patch @@ -0,0 +1,26 @@ +diff --git a/include/uuid.h b/include/uuid.h +index 600846f..5f00a49 100644 +--- a/include/uuid.h ++++ b/include/uuid.h +@@ -15,7 +15,11 @@ + #include + #include + #include +-#include ++#if defined(LIBUUID_CPP20_OR_GREATER) ++# include ++#else ++# include ++#endif + + #ifdef _WIN32 + +@@ -51,7 +55,7 @@ + + namespace uuids + { +-#ifdef __cpp_lib_span ++#if defined(LIBUUID_CPP20_OR_GREATER) + template + using span = std::span; + #else diff --git a/recipes/stduuid/all/patches/1.2.3-handle-span-header.patch b/recipes/stduuid/all/patches/1.2.3-handle-span-header.patch new file mode 100644 index 0000000000000..fae5f65b66c25 --- /dev/null +++ b/recipes/stduuid/all/patches/1.2.3-handle-span-header.patch @@ -0,0 +1,29 @@ +diff --git a/include/uuid.h b/include/uuid.h +index d48059d..4d14e4d 100644 +--- a/include/uuid.h ++++ b/include/uuid.h +@@ -17,15 +17,6 @@ + #include + #include + +-#ifdef __cplusplus +- +-# if (__cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) +-# define LIBUUID_CPP20_OR_GREATER +-# endif +- +-#endif +- +- + #ifdef LIBUUID_CPP20_OR_GREATER + #include + #else +@@ -66,7 +57,7 @@ + + namespace uuids + { +-#ifdef __cpp_lib_span ++#if defined(LIBUUID_CPP20_OR_GREATER) + template + using span = std::span; + #else From 656ed53b37e0cc03742a674605d8466f5feee791 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 11:26:43 +0200 Subject: [PATCH 2036/4087] (#20480) xorg-makedepend/all: bump deps * xorg-makedepend/all/: bump deps * xorg-makedepend/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-makedepend/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-makedepend/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xorg-makedepend/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xorg-makedepend/all/conanfile.py b/recipes/xorg-makedepend/all/conanfile.py index 6656dcd889cff..a0024be22451a 100644 --- a/recipes/xorg-makedepend/all/conanfile.py +++ b/recipes/xorg-makedepend/all/conanfile.py @@ -30,7 +30,7 @@ def requirements(self): self.requires("xorg-proto/2022.2") def build_requirements(self): - self.build_requires("pkgconf/1.7.4") + self.build_requires("pkgconf/2.0.3") def validate(self): if self.settings.os == "Windows": From 1f99f877841f8120d8c25adc8555a2ed3c4f195d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 11:59:26 +0200 Subject: [PATCH 2037/4087] (#20481) simde/all: bump deps * simde/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * simde/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * simde/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * simde/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * simde/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * simde/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/simde/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/simde/all/conanfile.py b/recipes/simde/all/conanfile.py index 9ede298cf49ed..492893a0540fb 100644 --- a/recipes/simde/all/conanfile.py +++ b/recipes/simde/all/conanfile.py @@ -26,9 +26,9 @@ def package_id(self): self.info.clear() def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From bf5a0a97bae18cd3a0f1c8b0332a454cf64b2ee8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 11 Oct 2023 12:17:59 +0200 Subject: [PATCH 2038/4087] (#20498) [config] Update conan version to 2.0.12 and 1.61.0 --- .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 9a047a70fde58..0d6518b391c5e 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 1.60.2 + version: 1.61.0 artifactory: url: "https://c3i.jfrog.io/c3i" diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index dae018bdc7951..7cb248b22318f 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -3,7 +3,7 @@ id: 'conan-io/conan-center-index' conan: - version: 2.0.9 + version: 2.0.12 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 124eee9a851a33cdc678b9ac89510735686fb923 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 12:45:12 +0200 Subject: [PATCH 2039/4087] (#20482) wayland-protocols/all: bump deps * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland-protocols/all/conanfile.py | 2 +- recipes/wayland-protocols/all/test_package/conanfile.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland-protocols/all/conanfile.py b/recipes/wayland-protocols/all/conanfile.py index 04a7ce005ea56..5888f7b0c3ad1 100644 --- a/recipes/wayland-protocols/all/conanfile.py +++ b/recipes/wayland-protocols/all/conanfile.py @@ -27,7 +27,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.2") def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/wayland-protocols/all/test_package/conanfile.py b/recipes/wayland-protocols/all/test_package/conanfile.py index 06a3d74d24219..6004f71f93267 100644 --- a/recipes/wayland-protocols/all/test_package/conanfile.py +++ b/recipes/wayland-protocols/all/test_package/conanfile.py @@ -20,9 +20,9 @@ def requirements(self): self.requires("wayland/1.22.0") def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("wayland/1.22.0") def layout(self): From 5d797555111d1c83a3d97b25ffb67c4c2d2aec07 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 12:57:13 +0200 Subject: [PATCH 2040/4087] (#20488) opusfile/all: bump deps * opusfile/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opusfile/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opusfile/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opusfile/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/opusfile/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opusfile/all/conanfile.py b/recipes/opusfile/all/conanfile.py index ec4750c742092..e9cced5a0a16c 100644 --- a/recipes/opusfile/all/conanfile.py +++ b/recipes/opusfile/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): def requirements(self): self.requires("ogg/1.3.5", transitive_headers=True) - self.requires("opus/1.3.1", transitive_headers=True) + self.requires("opus/1.4", transitive_headers=True) if self.options.http: self.requires("openssl/[>=1.1 <4]") @@ -69,7 +69,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From f405d4812cc06a5222eccd0790a92cce79d4b3e9 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 14:03:06 +0200 Subject: [PATCH 2041/4087] (#20489) cairo/meson: bump deps * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cairo/meson: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/cairo/meson/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index f45ccd7290ad4..84d1dc2823d84 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -99,7 +99,7 @@ def requirements(self): if self.options.with_lzo: self.requires("lzo/2.10") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_freetype: self.requires("freetype/2.13.0") if self.options.with_fontconfig: @@ -107,7 +107,7 @@ def requirements(self): if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.0") if self.settings.os == "Linux": if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system") @@ -135,9 +135,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.1.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From a78e7ddbf52f2de2a9122922328d7e8dc8714a54 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 11 Oct 2023 15:34:01 +0200 Subject: [PATCH 2042/4087] (#20490) xorg-proto/all: bump deps * xorg-proto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-proto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-proto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xorg-proto/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xorg-proto/all/conanfile.py b/recipes/xorg-proto/all/conanfile.py index b53e7215a2338..f20cc54f7acb5 100644 --- a/recipes/xorg-proto/all/conanfile.py +++ b/recipes/xorg-proto/all/conanfile.py @@ -34,7 +34,7 @@ def _settings_build(self): def build_requirements(self): self.tool_requires("automake/1.16.5") self.tool_requires("xorg-macros/1.19.3") - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 53d6979d3ca7ffef9dc2871fdbc3d24cc96a9ed6 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 11 Oct 2023 17:10:31 +0200 Subject: [PATCH 2043/4087] (#20517) [config] Uses CCI Bot as ower of Conan 1.x scheduled export results Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 0d6518b391c5e..802becc2d32bb 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -59,7 +59,7 @@ tasks: timeout_seconds: 600 # Maximum time to wait for the multibranch job merge_messages: true # Merge messages from the multibranch job waited for scheduled_export_check: - report_issue_url: https://github.com/conan-io/conan-center-index/issues/2232 + report_issue_url: https://github.com/conan-io/conan-center-index/issues/20516 report_issue_append: false validate_infrastructure: macos_executors: 2 From 7930b650e7e5bdba9ad341ddb8eb6e76f0d7f91d Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 11 Oct 2023 19:08:25 +0200 Subject: [PATCH 2044/4087] (#20518) [docs] Add changelog for new conan versions 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 e1a988f303253..07a058bc923e1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,10 @@ # Changelog +### 11-Oct-2023 - 12:17 CEST + +- [feature] Update Conan 2.x to the version 2.0.12 in the CI +- [feature] Update Conan 1.x to the version 1.61.0 in the CI + ### 06-Oct-2023 - 10:15 CEST - [feature] Label PRs with version conflict properly From bf50294d71d06d1b696fb3cb370f0f9ece222efb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:39:10 +0200 Subject: [PATCH 2045/4087] (#19929) btyacc: conan v2 support * conan v2 support * typo * move cmake file under bin/cmake * and don't forget to change relative path * workaround in test package * Revert "workaround in test package" This reverts commit ba102b0e0eb88b5a3f9e41d66272258bfa239b4c. * improve test with conan v2 client * small change to regenerate binaries --- recipes/btyacc/all/CMakeLists.txt | 8 -- recipes/btyacc/all/conanfile.py | 74 +++++++++---------- .../btyacc/all/test_package/CMakeLists.txt | 9 +-- recipes/btyacc/all/test_package/conanfile.py | 53 +++++++++---- .../btyacc/all/test_v1_package/CMakeLists.txt | 10 +++ .../btyacc/all/test_v1_package/conanfile.py | 16 ++++ 6 files changed, 103 insertions(+), 67 deletions(-) delete mode 100644 recipes/btyacc/all/CMakeLists.txt create mode 100644 recipes/btyacc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/btyacc/all/test_v1_package/conanfile.py diff --git a/recipes/btyacc/all/CMakeLists.txt b/recipes/btyacc/all/CMakeLists.txt deleted file mode 100644 index b598faf845d1a..0000000000000 --- a/recipes/btyacc/all/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.2) - -project(btyacc_wrapper C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/btyacc/all/conanfile.py b/recipes/btyacc/all/conanfile.py index 392605b08cf53..d34d04d75a89b 100644 --- a/recipes/btyacc/all/conanfile.py +++ b/recipes/btyacc/all/conanfile.py @@ -1,10 +1,11 @@ -import functools import os import textwrap -from conans import CMake, ConanFile, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, save -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class BtyaccConan(ConanFile): @@ -14,6 +15,7 @@ class BtyaccConan(ConanFile): description = "Backtracking yacc" topics = "yacc", "parser" license = "Unlicense" + package_type = "application" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -21,60 +23,54 @@ class BtyaccConan(ConanFile): default_options = { "fPIC": True, } - generators = "cmake" - exports_sources = "CMakeLists.txt" - no_copy_source = True - - @property - def _source_subfolder(self): - return "source_subfolder" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") 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) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - self._configure_cmake().build() + cmake = CMake(self) + cmake.configure() + cmake.build() @property - def _variables(self): - return os.path.join("bin", "conan-official-btyacc-variables.cmake") + def _cmake_variables(self): + return os.path.join("bin", "cmake", f"conan-official-{self.name}-variables.cmake") def package(self): - self.copy("README", "licenses", self._source_subfolder) - self.copy("README.BYACC", "licenses", self._source_subfolder) - self._configure_cmake().install() - tools.rmdir(os.path.join(self.package_folder, "share")) - variables = os.path.join(self.package_folder, self._variables) + copy(self, "README*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) content = textwrap.dedent("""\ - set(BTYACC_EXECUTABLE "${CMAKE_CURRENT_LIST_DIR}/btyacc") + set(BTYACC_EXECUTABLE "${CMAKE_CURRENT_LIST_DIR}/../btyacc") if(NOT EXISTS "${BTYACC_EXECUTABLE}") - set(BTYACC_EXECUTABLE "${BTYACC_EXECUTABLE}.exe") + set(BTYACC_EXECUTABLE "${BTYACC_EXECUTABLE}.exe") endif() """) - tools.save(variables, content) + save(self, os.path.join(self.package_folder, self._cmake_variables), content) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bindir}") - self.env_info.PATH.append(bindir) - self.cpp_info.build_modules["cmake"] = [self._variables] - self.cpp_info.build_modules["cmake_find_package"] = [self._variables] - self.cpp_info.build_modules["cmake_find_package_multi"] = \ - [self._variables] - self.cpp_info.builddirs = ["bin"] + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_build_modules", [self._cmake_variables]) + + # TODO: to remove after conan v2 + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + self.cpp_info.build_modules["cmake"] = [self._cmake_variables] + self.cpp_info.build_modules["cmake_find_package"] = [self._cmake_variables] + self.cpp_info.build_modules["cmake_find_package_multi"] = [self._cmake_variables] diff --git a/recipes/btyacc/all/test_package/CMakeLists.txt b/recipes/btyacc/all/test_package/CMakeLists.txt index 80f7ff14861ac..d2daa6eb3e652 100644 --- a/recipes/btyacc/all/test_package/CMakeLists.txt +++ b/recipes/btyacc/all/test_package/CMakeLists.txt @@ -1,13 +1,11 @@ cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) -project(test_package C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) +enable_testing() find_package(btyacc REQUIRED CONFIG) if(NOT DEFINED BTYACC_EXECUTABLE) - message(FATAL_ERROR "BTYACC_EXECUTABLE is not defined") + message(FATAL_ERROR "BTYACC_EXECUTABLE is not defined") endif() set(bin "${PROJECT_BINARY_DIR}") @@ -24,7 +22,6 @@ add_custom_command( add_executable(test_package "${bin}/main.c") -enable_testing() add_test( NAME main COMMAND "${CMAKE_COMMAND}" -E echo "(())()(())" | test_package diff --git a/recipes/btyacc/all/test_package/conanfile.py b/recipes/btyacc/all/test_package/conanfile.py index 84bba6ad911d3..fe825a55c4c79 100644 --- a/recipes/btyacc/all/test_package/conanfile.py +++ b/recipes/btyacc/all/test_package/conanfile.py @@ -1,23 +1,48 @@ -import functools -import os - -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeDeps, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + # TODO: Only keep logic under if hasattr(self, "settings_build") after conan v2. + # Indeed, v1 pipeline of c3i uses 1 profile, which can't work with + # build_context_activated & build_context_build_modules of CMakeDeps + + def requirements(self): + if not hasattr(self, "settings_build"): + self.requires(self.tested_reference_str) + + def build_requirements(self): + if hasattr(self, "settings_build"): + self.tool_requires(self.tested_reference_str) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + if hasattr(self, "settings_build"): + VirtualBuildEnv(self).generate() + deps = CMakeDeps(self) + deps.build_context_activated = ["btyacc"] + deps.build_context_build_modules = ["btyacc"] + deps.generate() + else: + if can_run(self): + VirtualRunEnv(self).generate(scope="build") + deps = CMakeDeps(self) + deps.generate() def build(self): - if not tools.cross_building(self): - self._configure_cmake().build() + if hasattr(self, "settings_build") or can_run(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - if not tools.cross_building(self): - self._configure_cmake().test() + if can_run(self): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", env="conanrun") diff --git a/recipes/btyacc/all/test_v1_package/CMakeLists.txt b/recipes/btyacc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..c23ed5cfe6d98 --- /dev/null +++ b/recipes/btyacc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_v1_package) + +enable_testing() + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/btyacc/all/test_v1_package/conanfile.py b/recipes/btyacc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..1b50aeffd40ff --- /dev/null +++ b/recipes/btyacc/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + if not tools.cross_building(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) From 1417143f09747364d42ce195846915a2fcafaec8 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Oct 2023 02:57:52 +0900 Subject: [PATCH 2046/4087] (#19987) pdf-writer: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * pdf-writer: add recipe * update 4.5.12 * disable cpack --------- Co-authored-by: Rubén Rincón Blanco --- recipes/pdf-writer/all/conandata.yml | 9 ++ recipes/pdf-writer/all/conanfile.py | 101 ++++++++++++++++++ .../all/patches/4.5.12-0001-fix-cmake.patch | 42 ++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../pdf-writer/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 26 +++++ recipes/pdf-writer/config.yml | 3 + 7 files changed, 215 insertions(+) create mode 100644 recipes/pdf-writer/all/conandata.yml create mode 100644 recipes/pdf-writer/all/conanfile.py create mode 100644 recipes/pdf-writer/all/patches/4.5.12-0001-fix-cmake.patch create mode 100644 recipes/pdf-writer/all/test_package/CMakeLists.txt create mode 100644 recipes/pdf-writer/all/test_package/conanfile.py create mode 100644 recipes/pdf-writer/all/test_package/test_package.cpp create mode 100644 recipes/pdf-writer/config.yml diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml new file mode 100644 index 0000000000000..4775a5371af8e --- /dev/null +++ b/recipes/pdf-writer/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "4.5.12": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" + sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" +patches: + "4.5.12": + - patch_file: "patches/4.5.12-0001-fix-cmake.patch" + patch_description: "disable test/cpack, use cci package" + patch_type: "conan" diff --git a/recipes/pdf-writer/all/conanfile.py b/recipes/pdf-writer/all/conanfile.py new file mode 100644 index 0000000000000..976af4f35f825 --- /dev/null +++ b/recipes/pdf-writer/all/conanfile.py @@ -0,0 +1,101 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.gnu import PkgConfigDeps +import os + +required_conan_version = ">=1.53.0" + +class PDFWriterConan(ConanFile): + name = "pdf-writer" + description = "High performance library for creating, modiyfing and parsing PDF files in C++" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/galkahana/PDF-Writer" + topics = ("pdf", "writer") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_png": [True, False], + "with_jpeg": [True, False], + "with_tiff": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_png": True, + "with_jpeg": True, + "with_tiff": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("freetype/2.13.0") + self.requires("libaesgm/2013.1.1") + self.requires("zlib/[>=1.2.11 <2]") + if self.options.with_png: + self.requires("libjpeg/9e") + if self.options.with_jpeg: + self.requires("libpng/1.6.40") + if self.options.with_tiff: + self.requires("libtiff/4.6.0") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["USE_BUNDLED"] = False + tc.generate() + deps = PkgConfigDeps(self) + deps.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "PDFHummus") + self.cpp_info.set_property("cmake_target_name", "PDFHummus::PDFWriter") + self.cpp_info.libs = ["PDFWriter"] + self.cpp_info.requires = ["freetype::freetype", "zlib::zlib", "libaesgm::libaesgm"] + if self.options.with_png: + self.cpp_info.requires.append("libjpeg::libjpeg") + if self.options.with_jpeg: + self.cpp_info.requires.append("libpng::libpng") + if self.options.with_tiff: + self.cpp_info.requires.append("libtiff::libtiff") diff --git a/recipes/pdf-writer/all/patches/4.5.12-0001-fix-cmake.patch b/recipes/pdf-writer/all/patches/4.5.12-0001-fix-cmake.patch new file mode 100644 index 0000000000000..02aec77b37c06 --- /dev/null +++ b/recipes/pdf-writer/all/patches/4.5.12-0001-fix-cmake.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8dcb27d..ca69cdf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -153,21 +153,21 @@ endif(NOT USE_BUNDLED) + + ADD_SUBDIRECTORY(PDFWriter) + +-if(PROJECT_IS_TOP_LEVEL) ++if(0) + # avoid installing the testing lib altogether when included in another project. + # it's annoying when in parent all, and more annoying to then get the tests added + # to the parent project ctest. + enable_testing() + ADD_SUBDIRECTORY(PDFWriterTesting) +-endif(PROJECT_IS_TOP_LEVEL) ++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 +@@ -196,4 +196,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/all/test_package/CMakeLists.txt b/recipes/pdf-writer/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..079a134d31c95 --- /dev/null +++ b/recipes/pdf-writer/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(PDFHummus REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE PDFHummus::PDFWriter) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/pdf-writer/all/test_package/conanfile.py b/recipes/pdf-writer/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/pdf-writer/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pdf-writer/all/test_package/test_package.cpp b/recipes/pdf-writer/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..aa251ff45f385 --- /dev/null +++ b/recipes/pdf-writer/all/test_package/test_package.cpp @@ -0,0 +1,26 @@ +#include +#include "PDFWriter/PDFWriter.h" + +int main(void) { + PDFWriter pdfWriter; + + auto status = pdfWriter.StartPDF( + "test_package.pdf", + ePDFVersion13, + LogConfiguration(true, true, "AppendPagesTestLog.txt") + ); + + if (status != PDFHummus::eSuccess) { + std::cerr << "failed to create pdf" << std::endl; + return 1; + } + + status = pdfWriter.EndPDF(); + + if (status != PDFHummus::eSuccess) { + std::cerr << "failed to close pdf" << std::endl; + return 1; + } + + return 0; +} diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml new file mode 100644 index 0000000000000..f15bafabcf228 --- /dev/null +++ b/recipes/pdf-writer/config.yml @@ -0,0 +1,3 @@ +versions: + "4.5.12": + folder: all From 07e21797c5b143ab567522f00e7cb7f8ed259a80 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 11 Oct 2023 21:55:34 +0300 Subject: [PATCH 2047/4087] (#20317) cub: fix project URL --- recipes/cub/all/conanfile.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/recipes/cub/all/conanfile.py b/recipes/cub/all/conanfile.py index 0576f4a61be0d..c19b0eb6a8902 100644 --- a/recipes/cub/all/conanfile.py +++ b/recipes/cub/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.layout import basic_layout from conan.tools.scm import Version -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.52.0" class CubConan(ConanFile): @@ -15,8 +15,9 @@ class CubConan(ConanFile): description = "Cooperative primitives for CUDA C++" license = "BSD 3-Clause" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/project/cub" - topics = ("algorithms", "cuda", "gpu", "nvidia", "nvidia-hpc-sdk") + homepage = "https://github.com/NVIDIA/cub" + topics = ("algorithms", "cuda", "gpu", "nvidia", "nvidia-hpc-sdk", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -54,22 +55,18 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy( - self, - pattern="LICENSE.TXT", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder, - ) - copy( - self, - pattern="*.cuh", - dst=os.path.join(self.package_folder, "include", "cub"), - src=os.path.join(self.source_folder, "cub"), - ) + copy(self, "LICENSE.TXT", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.cuh", + dst=os.path.join(self.package_folder, "include", "cub"), + src=os.path.join(self.source_folder, "cub")) def package_info(self): self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] # Follows the naming conventions of the official CMake config file: # https://github.com/NVIDIA/cub/blob/main/cub/cmake/cub-config.cmake From ccaedd5038058ba2e09ccfaf19d2cd5c9a54dcb1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 11 Oct 2023 23:14:02 +0300 Subject: [PATCH 2048/4087] (#20321) libsgp4: add v1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libsgp4/all/conandata.yml | 11 +++++--- .../all/patches/1.0-fix-cmake-files.patch | 27 +++++++++++++++++++ ...s.patch => 20191207-fix-cmake-files.patch} | 2 +- recipes/libsgp4/config.yml | 2 ++ 4 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 recipes/libsgp4/all/patches/1.0-fix-cmake-files.patch rename recipes/libsgp4/all/patches/{fix-cmake-files.patch => 20191207-fix-cmake-files.patch} (97%) diff --git a/recipes/libsgp4/all/conandata.yml b/recipes/libsgp4/all/conandata.yml index acdc9ee85a453..427372b5ece50 100644 --- a/recipes/libsgp4/all/conandata.yml +++ b/recipes/libsgp4/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "1.0": + url: "https://github.com/dnwrnr/sgp4/archive/refs/tags/v1.0.tar.gz" + sha256: "34cdcce25adbe25234b5113b06537bec9d6e6c2a74f70919c9d71710dc3773f4" "20191207": - url: "https://github.com/dnwrnr/sgp4/archive/f5cb54b382a5b4787432ab5b9a1e83de1a224610.zip" - sha256: "e8ce05b5e62ffe81e2e07020ac693cb5f3eb7dd90587e9c2203639564c030495" + url: "https://github.com/dnwrnr/sgp4/archive/f5cb54b382a5b4787432ab5b9a1e83de1a224610.tar.gz" + sha256: "260f3524ead05c191bdf19c2f018376394b4856d2fbcc1ed63bcdd475b81c338" patches: + "1.0": + - patch_file: "patches/1.0-fix-cmake-files.patch" "20191207": - - patch_file: "patches/fix-cmake-files.patch" + - patch_file: "patches/20191207-fix-cmake-files.patch" diff --git a/recipes/libsgp4/all/patches/1.0-fix-cmake-files.patch b/recipes/libsgp4/all/patches/1.0-fix-cmake-files.patch new file mode 100644 index 0000000000000..0b0946d73305a --- /dev/null +++ b/recipes/libsgp4/all/patches/1.0-fix-cmake-files.patch @@ -0,0 +1,27 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,8 +27,3 @@ + include_directories(libsgp4) + + add_subdirectory(libsgp4) +-add_subdirectory(sattrack) +-add_subdirectory(runtest) +-add_subdirectory(passpredict) +- +-file(COPY SGP4-VER.TLE DESTINATION ${PROJECT_BINARY_DIR}) +--- a/libsgp4/CMakeLists.txt ++++ b/libsgp4/CMakeLists.txt +@@ -35,7 +35,10 @@ + Vector.h + ) + +-add_library(sgp4 STATIC ${SRCS} ${INCS}) +-add_library(sgp4s SHARED ${SRCS} ${INCS}) +-install( TARGETS sgp4s LIBRARY DESTINATION lib ) ++add_library(sgp4 ${SRCS}) ++if(BUILD_SHARED_LIBS) ++ set_target_properties(sgp4 PROPERTIES OUTPUT_NAME sgp4s) ++endif() ++include(GNUInstallDirs) ++install(TARGETS sgp4) + install( FILES ${INCS} DESTINATION include/SGP4 ) diff --git a/recipes/libsgp4/all/patches/fix-cmake-files.patch b/recipes/libsgp4/all/patches/20191207-fix-cmake-files.patch similarity index 97% rename from recipes/libsgp4/all/patches/fix-cmake-files.patch rename to recipes/libsgp4/all/patches/20191207-fix-cmake-files.patch index c465c32853439..7874f13bef92a 100644 --- a/recipes/libsgp4/all/patches/fix-cmake-files.patch +++ b/recipes/libsgp4/all/patches/20191207-fix-cmake-files.patch @@ -2,7 +2,7 @@ +++ b/CMakeLists.txt @@ -1,16 +1,7 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -+CMAKE_MINIMUM_REQUIRED(VERSION 3.8) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.15) PROJECT(SGP4) -include(CheckCXXCompilerFlag) diff --git a/recipes/libsgp4/config.yml b/recipes/libsgp4/config.yml index 72af20020d59f..323fde5efbec2 100644 --- a/recipes/libsgp4/config.yml +++ b/recipes/libsgp4/config.yml @@ -1,3 +1,5 @@ versions: + "1.0": + folder: all "20191207": folder: all From 2d85bae60f1cf52984241286edc2468d88df910c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 11 Oct 2023 23:38:54 +0200 Subject: [PATCH 2049/4087] (#20351) s2geometry: do not suggest unofficial CMake imported target + cleanup a little bit recipe * honor C++ standard from profile * default CMake target defined by conan and few minor recipe cleanup - do not define custom CMake target since upstream doesn't install a CMake config file - cleanup topics - bump required_conan_version to 1.54.0 because upstream defines BUILD_SHARED_LIBS as an option in its CMakeLists - prefer to not scatter min compiler version logic * prefer tar.gz tarball --- recipes/s2geometry/all/conandata.yml | 8 ++--- recipes/s2geometry/all/conanfile.py | 29 +++++++++---------- .../all/patches/bump_cmake_cxx_standard.patch | 2 +- .../all/test_package/CMakeLists.txt | 28 +++++++++--------- .../s2geometry/all/test_package/conanfile.py | 7 ++--- 5 files changed, 34 insertions(+), 40 deletions(-) diff --git a/recipes/s2geometry/all/conandata.yml b/recipes/s2geometry/all/conandata.yml index 811d215efcb5e..2320f21a27e4c 100644 --- a/recipes/s2geometry/all/conandata.yml +++ b/recipes/s2geometry/all/conandata.yml @@ -1,9 +1,9 @@ sources: - 0.10.0: - url: https://github.com/google/s2geometry/archive/refs/tags/v0.10.0.zip - sha256: d03ae5566e9957c5b3bc6e0e62603370d1450feaf093d204d27b7af9e4d14909 + "0.10.0": + url: "https://github.com/google/s2geometry/archive/refs/tags/v0.10.0.tar.gz" + sha256: "1c17b04f1ea20ed09a67a83151ddd5d8529716f509dde49a8190618d70532a3d" patches: - 0.10.0: + "0.10.0": - patch_description: "Bump CMAKE_CXX_STANDARD to 14" patch_file: "patches/bump_cmake_cxx_standard.patch" patch_source: "https://github.com/google/s2geometry/issues/317" diff --git a/recipes/s2geometry/all/conanfile.py b/recipes/s2geometry/all/conanfile.py index 7a3ed3284ec7c..31e07fd7e0dc3 100644 --- a/recipes/s2geometry/all/conanfile.py +++ b/recipes/s2geometry/all/conanfile.py @@ -5,10 +5,10 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches -from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class S2GeometryConan(ConanFile): @@ -17,7 +17,7 @@ class S2GeometryConan(ConanFile): license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/s2geometry" - topics = ("geometry", "s2", "spherical-geometry", "spatial-indexing") + topics = ("geometry", "spherical-geometry", "spatial-indexing") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -39,6 +39,8 @@ def _compilers_minimum_version(self): "gcc": "5", "clang": "7", "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", } def export_sources(self): @@ -62,15 +64,15 @@ def requirements(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 191) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared with Visual Studio") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -96,8 +98,3 @@ def package(self): def package_info(self): self.cpp_info.libs = ["s2"] - self.cpp_info.set_property("cmake_target_name", "s2") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "s2" - self.cpp_info.names["cmake_find_package_multi"] = "s2" diff --git a/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch b/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch index 50b168d636d58..4bb8e07c25908 100644 --- a/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch +++ b/recipes/s2geometry/all/patches/bump_cmake_cxx_standard.patch @@ -7,7 +7,7 @@ index f080b4b..b2699ee 100644 # end up defined differently. There is probably a better way to achieve # this than assuming what absl used. -set(CMAKE_CXX_STANDARD 11) -+set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard to build with") set(CMAKE_CXX_STANDARD_REQUIRED ON) # No compiler-specific extensions, i.e. -std=c++11, not -std=gnu++11. set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/recipes/s2geometry/all/test_package/CMakeLists.txt b/recipes/s2geometry/all/test_package/CMakeLists.txt index 6727aedf56df7..cc8c0e2143602 100644 --- a/recipes/s2geometry/all/test_package/CMakeLists.txt +++ b/recipes/s2geometry/all/test_package/CMakeLists.txt @@ -1,20 +1,18 @@ cmake_minimum_required(VERSION 3.15) - -project(test_package CXX) - -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_CXX_STANDARD_REQUIRED ON) +project(test_package LANGUAGES CXX) find_package(s2geometry REQUIRED CONFIG) -if (MSVC) - # Use unsigned characters - add_definitions(-J) - # Make sure cmath header defines things like M_PI - add_definitions(-D_USE_MATH_DEFINES) - # Make sure Windows doesn't define min/max macros that interfere with STL - add_definitions(-DNOMINMAX) -endif () - add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE s2) +target_link_libraries(${PROJECT_NAME} PRIVATE s2geometry::s2geometry) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +if(MSVC) + # Use unsigned characters + target_compile_options(${PROJECT_NAME} PRIVATE "-J") + target_compile_definitions(${PROJECT_NAME} PRIVATE + # Make sure cmath header defines things like M_PI + "_USE_MATH_DEFINES" + # Make sure Windows doesn't define min/max macros that interfere with STL + "NOMINMAX" + ) +endif() diff --git a/recipes/s2geometry/all/test_package/conanfile.py b/recipes/s2geometry/all/test_package/conanfile.py index 02eb5ce439fb4..3a91c9439218e 100644 --- a/recipes/s2geometry/all/test_package/conanfile.py +++ b/recipes/s2geometry/all/test_package/conanfile.py @@ -4,18 +4,17 @@ 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 requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From c3861134d10f3ecc2dad63d00739317ad17280cd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 12 Oct 2023 00:16:09 +0200 Subject: [PATCH 2050/4087] (#20412) tixi3/all: bump deps, fix test package * tixi3/all: bump deps, fix test package * fix lint issues --- recipes/tixi3/all/conanfile.py | 22 +++++-------------- recipes/tixi3/all/test_package/CMakeLists.txt | 8 +++---- recipes/tixi3/all/test_package/conanfile.py | 9 +++++--- .../tixi3/all/test_v1_package/CMakeLists.txt | 10 --------- .../tixi3/all/test_v1_package/conanfile.py | 19 ---------------- 5 files changed, 16 insertions(+), 52 deletions(-) delete mode 100644 recipes/tixi3/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/tixi3/all/test_v1_package/conanfile.py diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index b8124c51186f6..f552a4f54ec24 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -33,12 +33,12 @@ def generate(self): deps.generate() def requirements(self): - self.requires("libxml2/2.9.14") + self.requires("libxml2/2.11.4") self.requires("libxslt/1.1.34") - self.requires("libcurl/7.84.0") + self.requires("libcurl/8.2.1") def layout(self): - cmake_layout(self) + cmake_layout(self, src_folder="src") def config_options(self): if self.settings.os == "Windows": @@ -46,20 +46,10 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - + self.options.rm_safe("fPIC") # tixi is a c library - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def export_sources(self): for patch in self.conan_data.get("patches", {}).get(self.version, []): diff --git a/recipes/tixi3/all/test_package/CMakeLists.txt b/recipes/tixi3/all/test_package/CMakeLists.txt index c9358ca94ac50..9d54bfb6f94d4 100644 --- a/recipes/tixi3/all/test_package/CMakeLists.txt +++ b/recipes/tixi3/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 3.12) -project(Tixi-Conan-TestPackage CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) find_package(tixi3 REQUIRED) -add_executable(tixi3_conan_test main.cpp) -target_link_libraries(tixi3_conan_test PRIVATE tixi3) +add_executable(${PROJECT_NAME} main.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE tixi3) diff --git a/recipes/tixi3/all/test_package/conanfile.py b/recipes/tixi3/all/test_package/conanfile.py index 0e104e3f9a662..ef5d7042163ec 100644 --- a/recipes/tixi3/all/test_package/conanfile.py +++ b/recipes/tixi3/all/test_package/conanfile.py @@ -1,13 +1,16 @@ - from conan import ConanFile -from conan.tools.cmake import CMake, cmake_layout 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) @@ -19,5 +22,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "tixi3_conan_test") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/tixi3/all/test_v1_package/CMakeLists.txt b/recipes/tixi3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 80f9071294122..0000000000000 --- a/recipes/tixi3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1.2) -project(tixi3_conan_test CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tixi3 REQUIRED CONFIG) - -add_executable(tixi3_conan_test ../test_package/main.cpp) -target_link_libraries(tixi3_conan_test tixi3) diff --git a/recipes/tixi3/all/test_v1_package/conanfile.py b/recipes/tixi3/all/test_v1_package/conanfile.py deleted file mode 100644 index d620b7c8ee1ca..0000000000000 --- a/recipes/tixi3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "tixi3_conan_test") - self.run(bin_path, run_environment=True) From db98450aa9dc549e70d8f357da5afe18e95f4035 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 12 Oct 2023 00:31:22 +0200 Subject: [PATCH 2051/4087] (#20414) yder: fix macOS build, bump libsystemd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * yder: fix macOS build, bump libsystemd * Further fixes --------- Co-authored-by: Rubén Rincón Blanco --- recipes/yder/all/conanfile.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/recipes/yder/all/conanfile.py b/recipes/yder/all/conanfile.py index d027f053ed062..ffe23774e69d2 100644 --- a/recipes/yder/all/conanfile.py +++ b/recipes/yder/all/conanfile.py @@ -5,7 +5,7 @@ import os import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class YderConan(ConanFile): @@ -15,6 +15,8 @@ class YderConan(ConanFile): topics = ("logging", "stdout", "file", "journald", "systemd") license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,27 +32,19 @@ class YderConan(ConanFile): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.os != "Linux": del self.options.with_libsystemd 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 requirements(self): self.requires("orcania/2.3.1") if self.options.get_safe("with_libsystemd"): - self.requires("libsystemd/251.4") + self.requires("libsystemd/253.10") def source(self): get(self, **self.conan_data["sources"][self.version], From 1524fda944120bbca8411cac0b7a430db466ba09 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Oct 2023 07:43:40 +0900 Subject: [PATCH 2052/4087] (#20416) fastnoise2: add recipe * fastnoise2: add recipe * fix debug build * remove pdb files * rm pdb files in bin folder * link math lib --- recipes/fastnoise2/all/conandata.yml | 4 + recipes/fastnoise2/all/conanfile.py | 92 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 9 ++ .../fastnoise2/all/test_package/conanfile.py | 25 +++++ .../all/test_package/test_package.cpp | 11 +++ recipes/fastnoise2/config.yml | 3 + 6 files changed, 144 insertions(+) create mode 100644 recipes/fastnoise2/all/conandata.yml create mode 100644 recipes/fastnoise2/all/conanfile.py create mode 100644 recipes/fastnoise2/all/test_package/CMakeLists.txt create mode 100644 recipes/fastnoise2/all/test_package/conanfile.py create mode 100644 recipes/fastnoise2/all/test_package/test_package.cpp create mode 100644 recipes/fastnoise2/config.yml diff --git a/recipes/fastnoise2/all/conandata.yml b/recipes/fastnoise2/all/conandata.yml new file mode 100644 index 0000000000000..63afd14b04674 --- /dev/null +++ b/recipes/fastnoise2/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.10.0-alpha": + url: "https://github.com/Auburn/FastNoise2/archive/v0.10.0-alpha.tar.gz" + sha256: "8e1331425d6372e65e73775e13fedd367ae5999ec5616036b99df33434e3b527" diff --git a/recipes/fastnoise2/all/conanfile.py b/recipes/fastnoise2/all/conanfile.py new file mode 100644 index 0000000000000..15602b9b08499 --- /dev/null +++ b/recipes/fastnoise2/all/conanfile.py @@ -0,0 +1,92 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy, rmdir, rm +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class Fastnoise2Conan(ConanFile): + name = "fastnoise2" + description = "Modular node graph based noise generation library using SIMD, C++17 and templates" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Auburn/FastNoise2" + topics = ("procedural-generation", "terrain-generation", "noise") + 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": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FASTNOISE2_NOISETOOL"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + + def package_info(self): + lib_suffix = "D" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = [f"FastNoise{lib_suffix}"] + + self.cpp_info.set_property("cmake_file_name", "FastNoise2") + self.cpp_info.set_property("cmake_target_name", "FastNoise2::FastNoise") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/fastnoise2/all/test_package/CMakeLists.txt b/recipes/fastnoise2/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4c5f6ffc5d5fe --- /dev/null +++ b/recipes/fastnoise2/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(FastNoise2 REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE FastNoise2::FastNoise) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + diff --git a/recipes/fastnoise2/all/test_package/conanfile.py b/recipes/fastnoise2/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/fastnoise2/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/fastnoise2/all/test_package/test_package.cpp b/recipes/fastnoise2/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..0dd8b950d971d --- /dev/null +++ b/recipes/fastnoise2/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include "FastNoise/FastNoise.h" + +int main() { + auto fnSimplex = FastNoise::New(); + auto fnFractal = FastNoise::New(); + + fnFractal->SetSource( fnSimplex ); + fnFractal->SetOctaveCount( 5 ); + + return 0; +} diff --git a/recipes/fastnoise2/config.yml b/recipes/fastnoise2/config.yml new file mode 100644 index 0000000000000..a75277535cb78 --- /dev/null +++ b/recipes/fastnoise2/config.yml @@ -0,0 +1,3 @@ +versions: + "0.10.0-alpha": + folder: all From b28e0f691232d6a44c275cb40825548188839fe5 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 01:11:45 +0200 Subject: [PATCH 2053/4087] (#20426) tcp-wrappers: relocatable shared lib on macOS + handle windows build machine + raise in validate() instead of configure() * move checks to validate() * add msys2 to build requirements if build machine is Windows * relocatable shared lib on macOS --- recipes/tcp-wrappers/all/conanfile.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/recipes/tcp-wrappers/all/conanfile.py b/recipes/tcp-wrappers/all/conanfile.py index 43c0049890c3c..654c207b466b2 100644 --- a/recipes/tcp-wrappers/all/conanfile.py +++ b/recipes/tcp-wrappers/all/conanfile.py @@ -2,7 +2,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.apple import is_apple_os +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os from conan.tools.build import cross_building from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get from conan.tools.gnu import Autotools, AutotoolsToolchain @@ -31,6 +31,10 @@ class TcpWrappersConan(ConanFile): "fPIC": True, } + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + def export_sources(self): export_conandata_patches(self) @@ -39,8 +43,6 @@ def config_options(self): del self.options.fPIC def configure(self): - if is_msvc(self): - raise ConanInvalidConfiguration("Visual Studio is not supported") if self.options.shared: self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.libcxx") @@ -50,9 +52,17 @@ def layout(self): basic_layout(self, src_folder="src") def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration("Visual Studio is not supported") if cross_building(self): raise ConanInvalidConfiguration("Cross-building is not current supported.") + def build_requirements(self): + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:subsystem", check_type=str): + self.tool_requires("msys2/cci.latest") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -101,10 +111,10 @@ def package(self): src=self.source_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["wrap"] - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") - self.env_info.PATH.append(bin_path) + # TODO: to remove once conan v1 not supported anymore + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From ed0dc672c0e97a796cb8e9732370b45ec24128cd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 01:42:12 +0200 Subject: [PATCH 2054/4087] (#20430) twitch-native-ipc: move checks to validate() --- recipes/twitch-native-ipc/all/conanfile.py | 28 ++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/recipes/twitch-native-ipc/all/conanfile.py b/recipes/twitch-native-ipc/all/conanfile.py index 72b9b555dec98..3f478da041a70 100644 --- a/recipes/twitch-native-ipc/all/conanfile.py +++ b/recipes/twitch-native-ipc/all/conanfile.py @@ -5,7 +5,7 @@ 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, rm -from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -30,6 +30,10 @@ class TwitchNativeIpcConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return "17" + @property def _compilers_min_version(self): return { @@ -48,16 +52,6 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, 17) - - min_version = self._compilers_min_version.get(str(self.settings.compiler), False) - if min_version: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("twitch-native-ipc requires C++17") - else: - self.output.warning("unknown compiler, assuming C++17 support") - if self.options.shared: self.options.rm_safe("fPIC") @@ -67,6 +61,16 @@ def layout(self): def requirements(self): self.requires("libuv/1.46.0") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_min_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -74,7 +78,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["ENABLE_CODE_FORMATTING"] = False tc.variables["BUILD_TESTING"] = False - if self.settings.os == "Windows": + if is_msvc(self): tc.variables["MSVC_DYNAMIC_RUNTIME"] = not is_msvc_static_runtime(self) tc.generate() tc = CMakeDeps(self) From 508a3b1732bc65142888de1ad34d201846b8536f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 12 Oct 2023 02:11:09 +0200 Subject: [PATCH 2055/4087] (#20491) sdbus-cpp/all: bump deps * sdbus-cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdbus-cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdbus-cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdbus-cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdbus-cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sdbus-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index b93c27ec1b918..1f8bc66668fef 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -56,7 +56,7 @@ def configure(self): del self.options.fPIC def requirements(self): - self.requires("libsystemd/253.3") + self.requires("libsystemd/253.10") def validate(self): if self.info.settings.os != "Linux": @@ -74,7 +74,7 @@ def validate(self): self.name, self._minimum_cpp_standard, self.info.settings.compiler, self.info.settings.compiler.version)) def build_requirements(self): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self.options.with_code_gen: self.tool_requires("expat/2.5.0") From cccc5c7abdb45d90b9cfbd8f4dc320fa8d25de30 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 02:44:34 +0200 Subject: [PATCH 2056/4087] (#20493) amqp-cpp: fix build with MinGW and remove old versions several existing patches have been submitted upstream, so they have been split accordingly --- recipes/amqp-cpp/all/conandata.yml | 60 +++++++++---------- recipes/amqp-cpp/all/conanfile.py | 1 - ...01-cmake-openssl-install-directories.patch | 23 ------- .../4.1.7-0001-cmake-link-openssl.patch | 9 +++ ...7-0002-cmake-install-dll-export-msvc.patch | 20 +++++++ .../4.1.7-0003-cmake-link-ws2_32.patch | 12 ++++ .../4.3.24-0001-cmake-link-openssl.patch | 8 +++ ...01-cmake-openssl-install-directories.patch | 25 -------- ...4-0002-cmake-install-dll-export-msvc.patch | 20 +++++++ .../4.3.24-0003-cmake-link-ws2_32.patch | 12 ++++ recipes/amqp-cpp/config.yml | 12 ---- 11 files changed, 108 insertions(+), 94 deletions(-) delete mode 100644 recipes/amqp-cpp/all/patches/0001-cmake-openssl-install-directories.patch create mode 100644 recipes/amqp-cpp/all/patches/4.1.7-0001-cmake-link-openssl.patch create mode 100644 recipes/amqp-cpp/all/patches/4.1.7-0002-cmake-install-dll-export-msvc.patch create mode 100644 recipes/amqp-cpp/all/patches/4.1.7-0003-cmake-link-ws2_32.patch create mode 100644 recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-link-openssl.patch delete mode 100644 recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch create mode 100644 recipes/amqp-cpp/all/patches/4.3.24-0002-cmake-install-dll-export-msvc.patch create mode 100644 recipes/amqp-cpp/all/patches/4.3.24-0003-cmake-link-ws2_32.patch diff --git a/recipes/amqp-cpp/all/conandata.yml b/recipes/amqp-cpp/all/conandata.yml index d5f7ffbc385d2..e4916e22784e3 100644 --- a/recipes/amqp-cpp/all/conandata.yml +++ b/recipes/amqp-cpp/all/conandata.yml @@ -2,46 +2,40 @@ sources: "4.3.24": url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.24.tar.gz" sha256: "c3312f8af813cacabf6c257dfaf41bf9e66606bbf7d62d085a9b7da695355245" - "4.3.18": - url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.18.tar.gz" - sha256: "cc2c1fc5da00a1778c2804306e06bdedc782a5f74762b9d9b442d3a498dd0c4f" - "4.3.16": - url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.16.tar.gz" - sha256: "66c96e0db1efec9e7ddcf7240ff59a073d68c09752bd3e94b8bc4c506441fbf7" - "4.3.11": - url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.11.tar.gz" - sha256: "be2b11ada1020f77b859857310be54bd073c3a4f579d99a5e251a738576ca28c" - "4.3.10": - url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.10.tar.gz" - sha256: "4fa1e9650f7a08ae7217899431a3b3f0a173ad826dd819f0b8c760e4e2a65298" "4.2.1": url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.2.1.tar.gz" sha256: "33306d6cdb60554998afb304cdc3e3120a71ea539b4be187812065b1b9e59c2f" "4.1.7": url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.1.7.tar.gz" sha256: "71b504f21f62b69c76b371fe7044e0dfc6d42650a15c267431c5084badb0ade7" - "4.1.6": - url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.1.6.tar.gz" - sha256: "48832068dc1e25a5313dd9e96fb33ba954c19f9dc04eeca8f7b2c6cecde3afc9" - "4.1.5": - url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.1.5.tar.gz" - sha256: "9840c7fb17bb0c0b601d269e528b7f9cac5ec008dcf8d66bef22434423b468aa" patches: "4.3.24": - - patch_file: "patches/4.3.24-0001-cmake-openssl-install-directories.patch" - "4.3.18": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" - "4.3.16": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" - "4.3.11": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" - "4.3.10": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" + - patch_file: "patches/4.3.24-0001-cmake-link-openssl.patch" + - patch_file: "patches/4.3.24-0002-cmake-install-dll-export-msvc.patch" + patch_description: "windows: Fix install directory of DLL and export symbols if msvc" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/515" + - patch_file: "patches/4.3.24-0003-cmake-link-ws2_32.patch" + patch_description: "Link to ws2_32 if windows" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/514" "4.2.1": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" + - patch_file: "patches/4.1.7-0001-cmake-link-openssl.patch" + - patch_file: "patches/4.1.7-0002-cmake-install-dll-export-msvc.patch" + patch_description: "windows: Fix install directory of DLL and export symbols if msvc" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/515" + - patch_file: "patches/4.1.7-0003-cmake-link-ws2_32.patch" + patch_description: "Link to ws2_32 if windows" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/514" "4.1.7": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" - "4.1.6": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" - "4.1.5": - - patch_file: "patches/0001-cmake-openssl-install-directories.patch" + - patch_file: "patches/4.1.7-0001-cmake-link-openssl.patch" + - patch_file: "patches/4.1.7-0002-cmake-install-dll-export-msvc.patch" + patch_description: "windows: Fix install directory of DLL and export symbols if msvc" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/515" + - patch_file: "patches/4.1.7-0003-cmake-link-ws2_32.patch" + patch_description: "windows: Link to ws2_32" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/514" diff --git a/recipes/amqp-cpp/all/conanfile.py b/recipes/amqp-cpp/all/conanfile.py index c1e0ec3696e4e..3e26ef28cb261 100644 --- a/recipes/amqp-cpp/all/conanfile.py +++ b/recipes/amqp-cpp/all/conanfile.py @@ -89,7 +89,6 @@ def generate(self): tc.variables["AMQP-CPP_BUILD_SHARED"] = self.options.shared tc.variables["AMQP-CPP_BUILD_EXAMPLES"] = False tc.variables["AMQP-CPP_LINUX_TCP"] = self.options.get_safe("linux_tcp_module", False) - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/amqp-cpp/all/patches/0001-cmake-openssl-install-directories.patch b/recipes/amqp-cpp/all/patches/0001-cmake-openssl-install-directories.patch deleted file mode 100644 index f47d6bd4b19df..0000000000000 --- a/recipes/amqp-cpp/all/patches/0001-cmake-openssl-install-directories.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -88,7 +88,10 @@ - #add_library(${PROJECT_NAME} STATIC ${SRCS}) - add_library(${PROJECT_NAME} STATIC ${src_MAIN} ${src_LINUX_TCP}) - endif() -- -+if(AMQP-CPP_LINUX_TCP) -+find_package(OpenSSL REQUIRED) -+target_link_libraries(${PROJECT_NAME} OpenSSL::SSL OpenSSL::Crypto) -+endif() - # install rules - # ------------------------------------------------------------------------------------------------------ - -@@ -97,7 +99,7 @@ - install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -- RUNTIME DESTINATION lib -+ RUNTIME DESTINATION bin - ) - else() - # copy static lib diff --git a/recipes/amqp-cpp/all/patches/4.1.7-0001-cmake-link-openssl.patch b/recipes/amqp-cpp/all/patches/4.1.7-0001-cmake-link-openssl.patch new file mode 100644 index 0000000000000..4fd90bf502649 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.1.7-0001-cmake-link-openssl.patch @@ -0,0 +1,9 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -129,4 +129,6 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC + + if(AMQP-CPP_LINUX_TCP) + target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS}) ++ find_package(OpenSSL REQUIRED) ++ target_link_libraries(${PROJECT_NAME} OpenSSL::SSL) + endif() diff --git a/recipes/amqp-cpp/all/patches/4.1.7-0002-cmake-install-dll-export-msvc.patch b/recipes/amqp-cpp/all/patches/4.1.7-0002-cmake-install-dll-export-msvc.patch new file mode 100644 index 0000000000000..a27f553a66fa5 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.1.7-0002-cmake-install-dll-export-msvc.patch @@ -0,0 +1,20 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,7 +82,7 @@ if(AMQP-CPP_BUILD_SHARED) + #add_library(${PROJECT_NAME} SHARED ${SRCS}) + add_library(${PROJECT_NAME} SHARED ${src_MAIN} ${src_LINUX_TCP}) + # set shared lib version +- set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${SO_VERSION}) ++ set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${SO_VERSION} WINDOWS_EXPORT_ALL_SYMBOLS ON) + else() + # create static lib + #add_library(${PROJECT_NAME} STATIC ${SRCS}) +@@ -97,7 +97,7 @@ if(AMQP-CPP_BUILD_SHARED) + install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib ++ RUNTIME DESTINATION bin + ) + else() + # copy static lib diff --git a/recipes/amqp-cpp/all/patches/4.1.7-0003-cmake-link-ws2_32.patch b/recipes/amqp-cpp/all/patches/4.1.7-0003-cmake-link-ws2_32.patch new file mode 100644 index 0000000000000..935f6704ae4e7 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.1.7-0003-cmake-link-ws2_32.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,6 +88,9 @@ else() + #add_library(${PROJECT_NAME} STATIC ${SRCS}) + add_library(${PROJECT_NAME} STATIC ${src_MAIN} ${src_LINUX_TCP}) + endif() ++if(WIN32) ++ target_link_libraries(${PROJECT_NAME} PUBLIC ws2_32) ++endif() + + # install rules + # ------------------------------------------------------------------------------------------------------ diff --git a/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-link-openssl.patch b/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-link-openssl.patch new file mode 100644 index 0000000000000..69dd45f821f96 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-link-openssl.patch @@ -0,0 +1,8 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -135,4 +135,5 @@ if(AMQP-CPP_LINUX_TCP) + # Find OpenSSL and provide include dirs + find_package(OpenSSL REQUIRED) + target_include_directories(${PROJECT_NAME} PRIVATE ${OPENSSL_INCLUDE_DIR}) ++ target_link_libraries(${PROJECT_NAME} OpenSSL::SSL) + endif() diff --git a/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch b/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch deleted file mode 100644 index 3ab0f79114118..0000000000000 --- a/recipes/amqp-cpp/all/patches/4.3.24-0001-cmake-openssl-install-directories.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 69deeaf..4623ab2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -91,7 +91,10 @@ else() - #add_library(${PROJECT_NAME} STATIC ${SRCS}) - add_library(${PROJECT_NAME} STATIC ${src_MAIN} ${src_LINUX_TCP}) - endif() -- -+if(AMQP-CPP_LINUX_TCP) -+find_package(OpenSSL REQUIRED) -+target_link_libraries(${PROJECT_NAME} OpenSSL::SSL OpenSSL::Crypto) -+endif() - # install rules - # ------------------------------------------------------------------------------------------------------ - -@@ -100,7 +103,7 @@ if(AMQP-CPP_BUILD_SHARED) - install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -- RUNTIME DESTINATION lib -+ RUNTIME DESTINATION bin - ) - else() - # copy static lib diff --git a/recipes/amqp-cpp/all/patches/4.3.24-0002-cmake-install-dll-export-msvc.patch b/recipes/amqp-cpp/all/patches/4.3.24-0002-cmake-install-dll-export-msvc.patch new file mode 100644 index 0000000000000..1e75ea7e91ac0 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.3.24-0002-cmake-install-dll-export-msvc.patch @@ -0,0 +1,20 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,7 +85,7 @@ if(AMQP-CPP_BUILD_SHARED) + #add_library(${PROJECT_NAME} SHARED ${SRCS}) + add_library(${PROJECT_NAME} SHARED ${src_MAIN} ${src_LINUX_TCP}) + # set shared lib version +- set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${SO_VERSION}) ++ set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${SO_VERSION} WINDOWS_EXPORT_ALL_SYMBOLS ON) + else() + # create static lib + #add_library(${PROJECT_NAME} STATIC ${SRCS}) +@@ -100,7 +100,7 @@ if(AMQP-CPP_BUILD_SHARED) + install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib ++ RUNTIME DESTINATION bin + ) + else() + # copy static lib diff --git a/recipes/amqp-cpp/all/patches/4.3.24-0003-cmake-link-ws2_32.patch b/recipes/amqp-cpp/all/patches/4.3.24-0003-cmake-link-ws2_32.patch new file mode 100644 index 0000000000000..98c5524cc4932 --- /dev/null +++ b/recipes/amqp-cpp/all/patches/4.3.24-0003-cmake-link-ws2_32.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -91,6 +91,9 @@ else() + #add_library(${PROJECT_NAME} STATIC ${SRCS}) + add_library(${PROJECT_NAME} STATIC ${src_MAIN} ${src_LINUX_TCP}) + endif() ++if(WIN32) ++ target_link_libraries(${PROJECT_NAME} PUBLIC ws2_32) ++endif() + + # install rules + # ------------------------------------------------------------------------------------------------------ diff --git a/recipes/amqp-cpp/config.yml b/recipes/amqp-cpp/config.yml index 31f91dc40c919..4b9ef0a6cfcce 100644 --- a/recipes/amqp-cpp/config.yml +++ b/recipes/amqp-cpp/config.yml @@ -1,19 +1,7 @@ versions: "4.3.24": folder: all - "4.3.18": - folder: all - "4.3.16": - folder: all - "4.3.11": - folder: all - "4.3.10": - folder: all "4.2.1": folder: all "4.1.7": folder: all - "4.1.6": - folder: all - "4.1.5": - folder: all From 04b4641c9899f1b76964d72cbda23635c0056a88 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 02:58:14 +0200 Subject: [PATCH 2057/4087] (#20496) poly2tri: fix MinGW by injecting `_USE_MATH_DEFINES` to avoid `M_PI` not defined * inject _USE_MATH_DEFINES to avoid M_PI not defined for several compilers * add libm to system libs --- recipes/poly2tri/all/CMakeLists.txt | 5 +++++ recipes/poly2tri/all/conanfile.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/poly2tri/all/CMakeLists.txt b/recipes/poly2tri/all/CMakeLists.txt index 584d7ebc98cae..f72581637fe53 100644 --- a/recipes/poly2tri/all/CMakeLists.txt +++ b/recipes/poly2tri/all/CMakeLists.txt @@ -11,6 +11,11 @@ add_library(poly2tri ${POLY2TRI_SRC_DIR}/sweep/sweep_context.cc ) +# _USE_MATH_DEFINES is defined in utils.h where M_PI is used, but it can break because math.h or cmath +# may have already been included indirectly by other headers included by sweep.cc before inclusion of utils.h +# Therefore we ensure that _USE_MATH_DEFINES is defined before any inclusion of headers. +target_compile_definitions(poly2tri PRIVATE _USE_MATH_DEFINES) + if(MSVC AND BUILD_SHARED_LIBS) set_property(TARGET poly2tri PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() diff --git a/recipes/poly2tri/all/conanfile.py b/recipes/poly2tri/all/conanfile.py index d43ae54e6e9c6..8890a1140dca4 100644 --- a/recipes/poly2tri/all/conanfile.py +++ b/recipes/poly2tri/all/conanfile.py @@ -58,3 +58,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["poly2tri"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") From 71b4adbb95d86fe2acaf244dfff620348d5dc1b0 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Oct 2023 10:26:02 +0900 Subject: [PATCH 2058/4087] (#20500) sqlite3: add version 3.43.2 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index 464fb1e4a0924..a1adb1f83b8a6 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.43.2": + url: "https://sqlite.org/2023/sqlite-amalgamation-3430200.zip" + sha256: "a17ac8792f57266847d57651c5259001d1e4e4b46be96ec0d985c953925b2a1c" "3.43.1": url: "https://sqlite.org/2023/sqlite-amalgamation-3430100.zip" sha256: "7e634bbd4b2870a83dc7c1e3cc02e4d30b8555cd7db7b332f24e0c447fd0dd16" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index fcd4427a99ec3..cf7ef48f1e600 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.43.2": + folder: all "3.43.1": folder: all "3.43.0": From eb5de6274c401834ae1534cf1f8e61467fd26e94 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Oct 2023 10:56:04 +0900 Subject: [PATCH 2059/4087] (#20501) libnghttp2: add version 1.57.0 (fix CVE-2023-44487) --- recipes/libnghttp2/all/conandata.yml | 3 +++ recipes/libnghttp2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 241b93e58b1d3..da61b35ff41f8 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.57.0": + url: "https://github.com/nghttp2/nghttp2/archive/v1.57.0.tar.gz" + sha256: "3c0b4e023dddf2afa087aa4409f7dbe03c099b4c63655e7545a607035085848a" "1.56.0": url: "https://github.com/nghttp2/nghttp2/archive/v1.56.0.tar.gz" sha256: "63dd705b524eec3c843b8e4e24914600a30c2804a113e8e5baeeb9695d09590a" diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 1bcc72d765fd2..4a36922d02f02 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.57.0": + folder: all "1.56.0": folder: all "1.55.1": From e7182f4ed01463d000d29423a7567c9172918ad9 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 12 Oct 2023 05:29:51 +0300 Subject: [PATCH 2060/4087] (#20503) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 89f9c14aa5d1b..92019f4f1b80b 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.1.1.tar.gz" + sha256: "76f4cb2919cae393ef52788a63853aa52e429f8ff218f5eff9d38f4ebb4b3b1e" "2.1.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.1.0.tar.gz" sha256: "cfbf515adecd798a3f1a4f2e007021b4b31742dd0b36805c273b3b8316fd820d" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 6e3494f079960..c2325184a9951 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: all "2.1.0": folder: all "2.0.18": From 3c0221b247c6677104367b02e475c069279a6aa4 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 11 Oct 2023 21:43:10 -0500 Subject: [PATCH 2061/4087] (#20506) libdrm: Fix nouveau include directories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pkg-config file libdrm_nouveau.pc adds an additional include directory. This include directory is `libdrm/nouveau`. This PR just adds this include directory to the component. Co-authored-by: Rubén Rincón Blanco --- recipes/libdrm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libdrm/all/conanfile.py b/recipes/libdrm/all/conanfile.py index 4947d9528c7e3..9fc352be86811 100644 --- a/recipes/libdrm/all/conanfile.py +++ b/recipes/libdrm/all/conanfile.py @@ -168,7 +168,7 @@ def package_info(self): if self.options.nouveau: self.cpp_info.components["libdrm_nouveau"].libs = ["drm_nouveau"] - self.cpp_info.components["libdrm_nouveau"].includedirs.append(os.path.join("include", "libdrm")) + self.cpp_info.components["libdrm_nouveau"].includedirs.extend([os.path.join("include", "libdrm"), os.path.join("include", "libdrm", "nouveau")]) self.cpp_info.components["libdrm_nouveau"].requires = ["libdrm_libdrm"] self.cpp_info.components["libdrm_nouveau"].set_property("pkg_config_name", "libdrm_nouveau") if self.settings.os in ["Linux", "FreeBSD"]: From a4cbf821406e458031cfe6c8a37e421dda12c0a0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 05:12:48 +0200 Subject: [PATCH 2062/4087] (#20509) nmslib: better way to create relocatable shared lib on macOS --- recipes/nmslib/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/nmslib/all/conanfile.py b/recipes/nmslib/all/conanfile.py index 0aeec8ba9e93f..91ad2d35e900e 100644 --- a/recipes/nmslib/all/conanfile.py +++ b/recipes/nmslib/all/conanfile.py @@ -2,8 +2,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.microsoft import is_msvc, check_min_vs @@ -59,6 +58,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["WITHOUT_TESTS"] = True + # Relocatable shared libs on macOS + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() def build(self): @@ -73,7 +74,6 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() - fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["NonMetricSpaceLib"] From 707acfa584632e186b0ee6be85a6aa7f5289c829 Mon Sep 17 00:00:00 2001 From: choll Date: Thu, 12 Oct 2023 04:43:27 +0100 Subject: [PATCH 2063/4087] (#20250) sokol: add version 20230925 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sokol: add version 20230925 * sokol: order project versions with newest first --------- Co-authored-by: Rubén Rincón Blanco --- recipes/sokol/all/conandata.yml | 3 +++ recipes/sokol/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sokol/all/conandata.yml b/recipes/sokol/all/conandata.yml index 28862f2194627..dd1a5b6930328 100644 --- a/recipes/sokol/all/conandata.yml +++ b/recipes/sokol/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230925": + url: "https://github.com/floooh/sokol/archive/5633a0f91bf3354320837ce0c7b4748a953a1401.zip" + sha256: 9c854bc7e6f73024a99554e8e1c8850fddfc325bb2b1ece2c59502c0e3cef68d "cci.20210304": url: "https://github.com/floooh/sokol/archive/c5d55faa1036af9919bd28400e97d37548bb3789.zip" sha256: e61c782e287543ffb8077ac24a7bfee05e867ee27f6c3e9487a2dbfa1ca2b466 diff --git a/recipes/sokol/config.yml b/recipes/sokol/config.yml index 25320f6c19961..d5b10b1bcb9c1 100644 --- a/recipes/sokol/config.yml +++ b/recipes/sokol/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230925": + folder: "all" "cci.20210304": folder: "all" From ad0bd9aee236d0d4ab9f15f49f8983f0ed67c3e8 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 12 Oct 2023 06:10:25 +0200 Subject: [PATCH 2064/4087] (#20224) sdl_image/all: bump deps --- recipes/sdl_image/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sdl_image/all/conanfile.py b/recipes/sdl_image/all/conanfile.py index 6543a9f1cf350..44c33234c8ec4 100644 --- a/recipes/sdl_image/all/conanfile.py +++ b/recipes/sdl_image/all/conanfile.py @@ -81,13 +81,13 @@ def requirements(self): # Headers are exposed https://github.com/conan-io/conan-center-index/pull/16167#issuecomment-1508347351 self.requires("sdl/2.26.5", transitive_headers=True) if self.options.with_libtiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.with_libjpeg: self.requires("libjpeg/9e") if self.options.with_libpng: self.requires("libpng/1.6.40") if self.options.with_libwebp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") def validate(self): if self.options.shared and not self.dependencies["sdl"].options.shared: From 5f7822f7f746e3c05dfd036bc42a0f7f665e3737 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 06:40:59 +0200 Subject: [PATCH 2065/4087] (#20510) yaclib: fix `YACLIB_CXX_STANDARD` + add package_type * fix injection of YACLIB_CXX_STANDARD * add package_type --- recipes/yaclib/all/conanfile.py | 38 +++++++++++++++++---------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/recipes/yaclib/all/conanfile.py b/recipes/yaclib/all/conanfile.py index 5cd68c33e8af5..49364fbee5eed 100644 --- a/recipes/yaclib/all/conanfile.py +++ b/recipes/yaclib/all/conanfile.py @@ -16,6 +16,7 @@ class YACLibConan(ConanFile): homepage = "https://github.com/YACLib/YACLib" license = "MIT" topics = ("async", "parallel", "concurrency") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" _yaclib_flags = { @@ -62,28 +63,13 @@ def _compilers_minimum_version(self): def export_sources(self): export_conandata_patches(self) - def layout(self): - cmake_layout(self, src_folder="src") - - def generate(self): - tc = CMakeToolchain(self) - tc.variables['YACLIB_INSTALL'] = True - if self.settings.compiler.get_safe("cppstd"): - tc.variables["YACLIB_CXX_STANDARD"] = self.settings.compiler.cppstd - - flags = [] - for flag in self._yaclib_flags: - if self.options.get_safe(flag): - flags.append(flag.upper()) - if flags: - tc.variables["YACLIB_FLAGS"] = ";".join(flags) - - tc.generate() - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def layout(self): + cmake_layout(self, src_folder="src") + def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -103,6 +89,22 @@ def loose_lt_semver(v1, v2): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["YACLIB_INSTALL"] = True + cppstd = self.settings.compiler.get_safe("cppstd") + if cppstd: + tc.variables["YACLIB_CXX_STANDARD"] = str(cppstd).replace("gnu", "") + + flags = [] + for flag in self._yaclib_flags: + if self.options.get_safe(flag): + flags.append(flag.upper()) + if flags: + tc.variables["YACLIB_FLAGS"] = ";".join(flags) + + tc.generate() + def build(self): apply_conandata_patches(self) cmake = CMake(self) From 3574c94e2cf9ae11521b4501889b8155847534bf Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 12 Oct 2023 07:11:29 +0200 Subject: [PATCH 2066/4087] (#20445) arrow/all: bump deps, use version range for OpenSSL --- recipes/arrow/all/conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 00c6c39a561ae..dcd80308b7b01 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -301,7 +301,7 @@ def requirements(self): if self.options.with_mimalloc: self.requires("mimalloc/1.7.6") if self.options.with_boost: - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") if self.options.with_gflags: self.requires("gflags/2.2.2") if self.options.with_glog: @@ -317,15 +317,15 @@ def requirements(self): if self.options.with_openssl: # aws-sdk-cpp requires openssl/1.1.1. it uses deprecated functions in openssl/3.0.0 if self.options.with_s3: - self.requires("openssl/1.1.1t") + self.requires("openssl/1.1.1w") else: - self.requires("openssl/1.1.1t") + self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_opentelemetry"): self.requires("opentelemetry-cpp/1.7.0") if self.options.with_s3: self.requires("aws-sdk-cpp/1.9.234") if self.options.with_brotli: - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") if self.options.with_bz2: self.requires("bzip2/1.0.8") if self.options.with_lz4: @@ -339,9 +339,9 @@ 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.2") + self.requires("zstd/1.5.5") if self.options.with_re2: - self.requires("re2/20220601") + self.requires("re2/20230301") if self.options.with_utf8proc: self.requires("utf8proc/2.8.0") if self.options.with_backtrace: From e11069005c0878279a76b11791f22e82b72f8a67 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Thu, 12 Oct 2023 08:14:25 +0200 Subject: [PATCH 2067/4087] (#20522) bump glib dependencies * bump glib dependencies * fix review notes --- recipes/glib/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index fa5bd0a44e4c3..6ccdcc81fb42a 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.3") + self.requires("libselinux/3.5") if self.settings.os != "Linux": # for Linux, gettext is provided by libc self.requires("libgettext/0.22", transitive_headers=True, transitive_libs=True) @@ -81,7 +81,7 @@ def requirements(self): self.requires("libiconv/1.17") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") From 7011e36d31de1cc017d0793af0d1983a0048e4d7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 12 Oct 2023 08:26:23 +0200 Subject: [PATCH 2068/4087] (#20527) onnxruntime: add version 1.16.1 --- recipes/onnxruntime/all/conandata.yml | 10 ++++++++++ recipes/onnxruntime/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index 978433ed6b132..abfa25a1b938f 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -9,6 +12,13 @@ sources: url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: + "1.16.1": + - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" + patch_description: "CMake: ensure conan dependencies are used" + patch_type: "conan" + - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" + patch_description: "allow to build with abseil built without c++17 support" + patch_type: "portability" "1.16.0": - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used" diff --git a/recipes/onnxruntime/config.yml b/recipes/onnxruntime/config.yml index af60133f50aa3..55662a19a7296 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.1": + folder: all "1.16.0": folder: all "1.15.1": From 8b1e0650d6902c1ceaa6ac5edc7ff136ef154ff6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 12 Oct 2023 08:56:35 +0200 Subject: [PATCH 2069/4087] (#20515) wayland-protocols: add version 1.32 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/wayland-protocols/all/conandata.yml | 3 +++ recipes/wayland-protocols/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wayland-protocols/all/conandata.yml b/recipes/wayland-protocols/all/conandata.yml index f5d4a91464dd2..9574e69bcf1e9 100644 --- a/recipes/wayland-protocols/all/conandata.yml +++ b/recipes/wayland-protocols/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.32": + url: "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.32/downloads/wayland-protocols-1.32.tar.xz" + sha256: "7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11" "1.31": url: "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.31/downloads/wayland-protocols-1.31.tar.xz" sha256: "a07fa722ed87676ec020d867714bc9a2f24c464da73912f39706eeef5219e238" diff --git a/recipes/wayland-protocols/config.yml b/recipes/wayland-protocols/config.yml index 81aded41c9822..f707ca2da06d2 100644 --- a/recipes/wayland-protocols/config.yml +++ b/recipes/wayland-protocols/config.yml @@ -1,4 +1,6 @@ versions: + "1.32": + folder: all "1.31": folder: all "1.27": From ecd1df7d4659d5a8e3ac0ff0aa52dfbae30f89e9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 12 Oct 2023 12:03:23 +0300 Subject: [PATCH 2070/4087] (#20272) libx265: fix missing glibc symbols on newer systems * libx265: add -fno-finite-math-only to fix issues with glibc >= 2.31 * libx265: add rt to system_libs --- recipes/libx265/all/conanfile.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/libx265/all/conanfile.py b/recipes/libx265/all/conanfile.py index 4938bb3011950..677f51dce82b0 100644 --- a/recipes/libx265/all/conanfile.py +++ b/recipes/libx265/all/conanfile.py @@ -108,6 +108,11 @@ def _patch_sources(self): if self.settings.os == "Android": replace_in_file(self, cmakelists, "list(APPEND PLATFORM_LIBS pthread)", "") replace_in_file(self, cmakelists, "list(APPEND PLATFORM_LIBS rt)", "") + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + replace_in_file(self, cmakelists, + "add_definitions(-ffast-math)", + "add_definitions(-ffast-math -fno-finite-math-only)") def build(self): self._patch_sources() @@ -145,7 +150,7 @@ def package_info(self): if self.options.shared: self.cpp_info.defines.append("X265_API_IMPORTS") elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.extend(["dl", "pthread", "m"]) + self.cpp_info.system_libs.extend(["dl", "pthread", "m", "rt"]) if not self.options.shared: self.cpp_info.sharedlinkflags = ["-Wl,-Bsymbolic,-znoexecstack"] elif self.settings.os == "Android": From 9bf5f41dc7cd434f1a91b897a5ae2dead9e04e4e Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 12 Oct 2023 16:54:59 +0400 Subject: [PATCH 2071/4087] (#20420) openvino/all: added component for C API --- recipes/openvino/all/conanfile.py | 7 ++- .../openvino/all/test_package/CMakeLists.txt | 55 ++++++++++++------- .../openvino/all/test_package/conanfile.py | 7 ++- .../openvino/all/test_package/test_package.c | 49 +++++++++++++++++ .../all/test_package/test_package.cpp | 36 ------------ 5 files changed, 94 insertions(+), 60 deletions(-) create mode 100644 recipes/openvino/all/test_package/test_package.c diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index 60ab6b910442c..01d98eb2e1f7e 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -293,7 +293,7 @@ def package_info(self): openvino_runtime = self.cpp_info.components["Runtime"] openvino_runtime.set_property("cmake_target_name", "openvino::runtime") openvino_runtime.requires = ["onetbb::libtbb", "pugixml::pugixml"] - openvino_runtime.libs = ["openvino_c", "openvino"] + openvino_runtime.libs = ["openvino"] if self._preprocessing_available: openvino_runtime.requires.append("ade::ade") if self._target_x86_64: @@ -364,6 +364,11 @@ def package_info(self): if self.settings.os == "Windows": openvino_runtime.system_libs.append("setupapi") + openvino_runtime_c = self.cpp_info.components["Runtime_C"] + openvino_runtime_c.set_property("cmake_target_name", "openvino::runtime::c") + openvino_runtime_c.libs = ["openvino_c"] + openvino_runtime_c.requires = ["Runtime"] + if self.options.enable_onnx_frontend: openvino_onnx = self.cpp_info.components["ONNX"] openvino_onnx.set_property("cmake_target_name", "openvino::frontend::onnx") diff --git a/recipes/openvino/all/test_package/CMakeLists.txt b/recipes/openvino/all/test_package/CMakeLists.txt index 032463e0d1754..60799331791bd 100644 --- a/recipes/openvino/all/test_package/CMakeLists.txt +++ b/recipes/openvino/all/test_package/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES CXX) +project(test_package LANGUAGES CXX C) + +# Common macro(add_component def comp) if(${def}) @@ -15,34 +17,45 @@ add_component(ENABLE_PYTORCH_FRONTEND PyTroch) find_package(OpenVINO REQUIRED COMPONENTS Runtime ${OpenVINO_COMPONENTS}) -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE openvino::runtime) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) - -function(add_plugin def) +function(add_plugin_definition target def) if(${def}) - target_compile_definitions(${PROJECT_NAME} PRIVATE ${def}) + target_compile_definitions(${target} PRIVATE ${def}) endif() endfunction() -add_plugin(ENABLE_INTEL_CPU) -add_plugin(ENABLE_INTEL_GPU) -add_plugin(ENABLE_AUTO) -add_plugin(ENABLE_HETERO) -add_plugin(ENABLE_AUTO_BATCH) - -function(add_frontend def frontend) +function(add_frontend_definition target def frontend) if(${def}) - target_compile_definitions(${PROJECT_NAME} PRIVATE ${def}) + target_compile_definitions(${target} PRIVATE ${def}) if(NOT TARGET openvino::frontend::${frontend}) message(FATAL_ERROR "Target for ${frontend} has not been created") endif() endif() endfunction() -add_plugin(ENABLE_IR_FRONTEND) -add_frontend(ENABLE_ONNX_FRONTEND onnx) -add_frontend(ENABLE_PADDLE_FRONTEND paddle) -add_frontend(ENABLE_TF_FRONTEND tensorflow) -add_frontend(ENABLE_TF_LITE_FRONTEND tensorflow_lite) -add_frontend(ENABLE_PYTORCH_FRONTEND pytorch) +# C++ test_package + +set(target ${PROJECT_NAME}_cpp) +add_executable(${target} test_package.cpp) + +add_plugin_definition(${target} ENABLE_IR_FRONTEND) +add_frontend_definition(${target} ENABLE_ONNX_FRONTEND onnx) +add_frontend_definition(${target} ENABLE_PADDLE_FRONTEND paddle) +add_frontend_definition(${target} ENABLE_TF_FRONTEND tensorflow) +add_frontend_definition(${target} ENABLE_TF_LITE_FRONTEND tensorflow_lite) +add_frontend_definition(${target} ENABLE_PYTORCH_FRONTEND pytorch) + +target_link_libraries(${target} PRIVATE openvino::runtime) +target_compile_features(${target} PRIVATE cxx_std_11) + +# C test_package + +set(target ${PROJECT_NAME}_c) +add_executable(${target} test_package.c) + +add_plugin_definition(${target} ENABLE_INTEL_CPU) +add_plugin_definition(${target} ENABLE_INTEL_GPU) +add_plugin_definition(${target} ENABLE_AUTO) +add_plugin_definition(${target} ENABLE_HETERO) +add_plugin_definition(${target} ENABLE_AUTO_BATCH) + +target_link_libraries(${target} PRIVATE openvino::runtime::c) diff --git a/recipes/openvino/all/test_package/conanfile.py b/recipes/openvino/all/test_package/conanfile.py index 2cbd00abf5b8b..9d90e91b9a9f9 100644 --- a/recipes/openvino/all/test_package/conanfile.py +++ b/recipes/openvino/all/test_package/conanfile.py @@ -45,5 +45,8 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") + bin_path_c = os.path.join(self.cpp.build.bindirs[0], "test_package_c") + self.run(bin_path_c, env="conanrun") + + bin_path_cpp = os.path.join(self.cpp.build.bindirs[0], "test_package_cpp") + self.run(bin_path_cpp, env="conanrun") diff --git a/recipes/openvino/all/test_package/test_package.c b/recipes/openvino/all/test_package/test_package.c new file mode 100644 index 0000000000000..1cea5771a2dbf --- /dev/null +++ b/recipes/openvino/all/test_package/test_package.c @@ -0,0 +1,49 @@ +#include + +#define OV_SUCCESS(statement) \ + if ((statement) != 0) \ + return 1; + +#define OV_FAIL(statement) \ + if ((statement) == 0) \ + return 1; + +int test_available_devices() { + ov_core_t* core = NULL; + char* ret = NULL; + OV_SUCCESS(ov_core_create(&core)); +#ifdef ENABLE_INTEL_CPU + OV_SUCCESS(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); +#endif +#ifdef ENABLE_INTEL_GPU + OV_SUCCESS(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); +#endif +#ifdef ENABLE_AUTO + OV_SUCCESS(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); + OV_SUCCESS(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); + OV_FAIL(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); +#endif +#ifdef ENABLE_HETERO + OV_SUCCESS(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); +#endif +#ifdef ENABLE_AUTO_BATCH + OV_SUCCESS(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); +#else + OV_FAIL(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); +#endif + ov_core_free(core); + return 0; +} + +int main() { + OV_SUCCESS(test_available_devices()); + return 0; +} diff --git a/recipes/openvino/all/test_package/test_package.cpp b/recipes/openvino/all/test_package/test_package.cpp index 4160d5eb98fcc..baaef66559aa4 100644 --- a/recipes/openvino/all/test_package/test_package.cpp +++ b/recipes/openvino/all/test_package/test_package.cpp @@ -10,41 +10,6 @@ if ((statement) == 0) \ return 1; -int test_available_devices() { - ov_core_t* core = NULL; - char* ret = NULL; - OV_SUCCESS(ov_core_create(&core)); -#ifdef ENABLE_INTEL_CPU - OV_SUCCESS(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); -#else - OV_FAIL(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); -#endif -#ifdef ENABLE_INTEL_GPU - OV_SUCCESS(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); -#else - OV_FAIL(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); -#endif -#ifdef ENABLE_AUTO - OV_SUCCESS(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); - OV_SUCCESS(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); -#else - OV_FAIL(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); - OV_FAIL(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); -#endif -#ifdef ENABLE_HETERO - OV_SUCCESS(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); -#else - OV_FAIL(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); -#endif -#ifdef ENABLE_AUTO_BATCH - OV_SUCCESS(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); -#else - OV_FAIL(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); -#endif - ov_core_free(core); - return 0; -} - int test_available_frontends() { ov::frontend::FrontEndManager manager; auto frontend_found = [&] (const std::string & name) -> int { @@ -90,7 +55,6 @@ int test_available_frontends() { } int main() { - OV_SUCCESS(test_available_devices()); OV_SUCCESS(test_available_frontends()); // Deinitialize OpenVINO. Important for old systems like Ubuntu 16.04 with obsolete glibc, From 8639f5fcc914e57e03de4d00b83dc656484388f2 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Thu, 12 Oct 2023 15:00:26 +0200 Subject: [PATCH 2072/4087] (#18546) qarchive: add new version, bump deps, fix includedirs * init * specify requires * transitive headers * Update recipes/qarchive/all/conanfile.py --- recipes/qarchive/all/conandata.yml | 3 +++ recipes/qarchive/all/conanfile.py | 5 +++-- recipes/qarchive/config.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/qarchive/all/conandata.yml b/recipes/qarchive/all/conandata.yml index da2432b9b6e33..421701414538e 100644 --- a/recipes/qarchive/all/conandata.yml +++ b/recipes/qarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.6": + url: "https://github.com/antony-jr/QArchive/archive/v2.2.6.tar.gz" + sha256: "c0cad2bc79eeb4ab4180fd97822a967b8a0e3c594387ccf921733449ee5bd3e6" "2.2.4": url: "https://github.com/antony-jr/QArchive/archive/v2.2.4.tar.gz" sha256: "7c7f0e3bf3d6fb5130aa4632201873511944cd98ab16b273da5072198f53ad7b" diff --git a/recipes/qarchive/all/conanfile.py b/recipes/qarchive/all/conanfile.py index b299a0c2ae050..320e0e4349c52 100644 --- a/recipes/qarchive/all/conanfile.py +++ b/recipes/qarchive/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): def requirements(self): self.requires("libarchive/3.6.2") - self.requires("qt/5.15.9") + self.requires("qt/5.15.10", transitive_headers=True, transitive_libs=True) def build_requirements(self): self.tool_requires("cmake/[>=3.17 <4]") @@ -104,7 +104,8 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "QArchive") self.cpp_info.set_property("pkg_config_name", "QArchive") self.cpp_info.libs = ["QArchive"] - self.cpp_info.includedirs = [os.path.join("include", "QArchive")] + self.cpp_info.includedirs.append(os.path.join("include", "QArchive")) + self.cpp_info.requires = ["qt::qtCore", "libarchive::libarchive"] # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed self.cpp_info.names["cmake_find_package"] = "QArchive" diff --git a/recipes/qarchive/config.yml b/recipes/qarchive/config.yml index 3db8c0c3676e9..b9579224638bc 100644 --- a/recipes/qarchive/config.yml +++ b/recipes/qarchive/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.6": + folder: all "2.2.4": folder: all "2.2.3": From 45f0c5ee5352e11ff001bf5d8c099d8ca921340a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 12 Oct 2023 17:11:52 +0200 Subject: [PATCH 2073/4087] (#19827) tomplusplus: add package_type & layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add package_type * cleanup * add basic_layout * Fix tests * fix test package * remove logic based on version < 1.3.0 in test package, since those versions are not maintained anymore in conancenter * small change * cleanup * Maybe? * Try not to typo this much Rubén plz --------- Co-authored-by: Rubén Rincón Blanco --- recipes/tomlplusplus/all/conanfile.py | 51 ++++++++++--------- .../all/test_package/conanfile.py | 29 ++++++----- .../all/test_v1_package/conanfile.py | 4 +- 3 files changed, 44 insertions(+), 40 deletions(-) diff --git a/recipes/tomlplusplus/all/conanfile.py b/recipes/tomlplusplus/all/conanfile.py index 44f523638d713..c7d9d9ea44bf5 100644 --- a/recipes/tomlplusplus/all/conanfile.py +++ b/recipes/tomlplusplus/all/conanfile.py @@ -1,10 +1,12 @@ +import os + from conan import ConanFile -from conan.tools.microsoft import is_msvc +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.files import get, copy -from conan.errors import ConanInvalidConfiguration -import os +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version required_conan_version = ">=1.51.3" @@ -17,12 +19,13 @@ class TomlPlusPlusConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/marzer/tomlplusplus" license = "MIT" - settings = ("compiler", "arch", "os", "build_type") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _minimum_cpp_standard(self): - return 17 + def _min_cppstd(self): + return "17" @property def _minimum_compilers_version(self): @@ -34,29 +37,30 @@ def _minimum_compilers_version(self): "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() def validate(self): - if self.info.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - compiler = f"{self.settings.compiler} {self.settings.compiler.version}" - if not min_version: - self.output.warn(f"{self.ref} recipe lacks information about the {self.settings.compiler} compiler support.") - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration(f"{self.ref} requires c++{self._minimum_cpp_standard} support." - " The current compiler {compiler} does not support it.") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.compiler == "apple-clang" and Version(self.version) < "2.3.0": - raise ConanInvalidConfiguration(f"The compiler {compiler} is supported in version >= 2.3.0") + raise ConanInvalidConfiguration("apple-clang is not supported in versions < 2.3.0") if is_msvc(self) and Version(self.version) == "2.1.0": - raise ConanInvalidConfiguration(f"The current compiler {compiler} is unable to build version 2.1.0") + raise ConanInvalidConfiguration("msvc is unable to build version 2.1.0") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) @@ -65,10 +69,7 @@ def package(self): copy(self, pattern="toml.hpp", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) def package_info(self): - self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] - self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] - self.cpp_info.set_property("cmake_file_name", "tomlplusplus") self.cpp_info.set_property("cmake_target_name", "tomlplusplus::tomlplusplus") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/tomlplusplus/all/test_package/conanfile.py b/recipes/tomlplusplus/all/test_package/conanfile.py index db279683bd8cc..57da1f7d0d18b 100644 --- a/recipes/tomlplusplus/all/test_package/conanfile.py +++ b/recipes/tomlplusplus/all/test_package/conanfile.py @@ -1,36 +1,41 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.scm import Version import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" + def layout(self): + cmake_layout(self) + def requirements(self): self.requires(self.tested_reference_str) + + @property + def _single_header_only(self): + return self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "8" - def layout(self): - cmake_layout(self) + def generate(self): + tc = CMakeToolchain(self) + if self._single_header_only: + tc.variables["TOMLPP_BUILD_SINGLE_ONLY"] = True + tc.generate() def build(self): cmake = CMake(self) - if Version(self.deps_cpp_info["tomlplusplus"].version) < "1.3.0": - self.single_header_only = True - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "8": - self.single_header_only = True - variables = {"TOMLPP_BUILD_SINGLE_ONLY": True} if hasattr(self, "single_header_only") else None - cmake.configure(variables=variables) + cmake.configure() cmake.build() def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - conf_path = os.path.join(self.recipe_folder, "configuration.toml") + conf_path = os.path.join(self.source_folder, "configuration.toml") self.run(f"{bin_path} {conf_path}", env="conanrun") - if not hasattr(self, "single_header_only"): + if not self._single_header_only: bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package_multi") self.run(f"{bin_path} {conf_path}", env="conanrun") diff --git a/recipes/tomlplusplus/all/test_v1_package/conanfile.py b/recipes/tomlplusplus/all/test_v1_package/conanfile.py index aba957cc3efa9..0e8807dfd3ae4 100644 --- a/recipes/tomlplusplus/all/test_v1_package/conanfile.py +++ b/recipes/tomlplusplus/all/test_v1_package/conanfile.py @@ -10,8 +10,6 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) - if Version(self.deps_cpp_info["tomlplusplus"].version) < "1.3.0": - self.single_header_only = True if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "8": self.single_header_only = True if hasattr(self, "single_header_only"): @@ -22,7 +20,7 @@ def build(self): def test(self): if not cross_building(self): bin_path = os.path.join("bin", "test_package") - conf_path = os.path.join(self.recipe_folder, "..", "test_package", "configuration.toml") + conf_path = os.path.join(self.source_folder, os.pardir, "test_package", "configuration.toml") self.run(f"{bin_path} {conf_path}", run_environment=True) if not hasattr(self, "single_header_only"): bin_path = os.path.join("bin", "test_package_multi") From af9658073c1a5b74de7f8a3971637a657206396e Mon Sep 17 00:00:00 2001 From: ashley-b Date: Fri, 13 Oct 2023 02:39:57 +1100 Subject: [PATCH 2074/4087] (#19762) qwt: Fixed transitive requirement of qt * qwt: Removed space from key name. * qwt: Added transitive_headers for Qt dependency * qwt: Fixed topics to match this package * qwt: Added package_type * qwt: Added transitive_libs to fixed shared builds of qt * use host_version of qt in build requirements * no self.info in validate() * qwt: Bump dependencies --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/qwt/all/conanfile.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/recipes/qwt/all/conanfile.py b/recipes/qwt/all/conanfile.py index 3c7b6925650a8..8cc76b47a4e49 100644 --- a/recipes/qwt/all/conanfile.py +++ b/recipes/qwt/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.60.0 <2.0 || >=2.0.5" class QwtConan(ConanFile): @@ -15,7 +15,8 @@ class QwtConan(ConanFile): license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://qwt.sourceforge.io/" - topics = ("archive", "compression") + topics = ("chart", "data-visualization", "graph", "plot", "qt") + package_type = "library" description = ( "The Qwt library contains GUI Components and utility classes which are primarily useful for programs " "with a technical background. Beside a framework for 2D plots it provides scales, sliders, dials, compasses, " @@ -43,6 +44,10 @@ class QwtConan(ConanFile): "polar": True, } + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) @@ -58,39 +63,39 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.9") + self.requires("qt/5.15.11", transitive_headers=True, transitive_libs=True) def validate(self): if hasattr(self, "settings_build") and cross_building(self): raise ConanInvalidConfiguration("Qwt recipe does not support cross-compilation yet") qt_options = self.dependencies["qt"].options - if self.info.options.widgets and not qt_options.widgets: + if self.options.widgets and not qt_options.widgets: raise ConanInvalidConfiguration("qwt:widgets=True requires qt:widgets=True") - if self.info.options.svg and not qt_options.qtsvg: + if self.options.svg and not qt_options.qtsvg: raise ConanInvalidConfiguration("qwt:svg=True requires qt:qtsvg=True") - if self.info.options.opengl and qt_options.opengl == "no": + if self.options.opengl and qt_options.opengl == "no": raise ConanInvalidConfiguration("qwt:opengl=True is not compatible with qt:opengl=no") - if self.info.options.designer and not (qt_options.qttools and qt_options.gui and qt_options.widgets): + if self.options.designer and not (qt_options.qttools and qt_options.gui and qt_options.widgets): raise ConanInvalidConfiguration("qwt:designer=True requires qt:qttools=True, qt::gui=True and qt::widgets=True") def build_requirements(self): - if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires("qt/5.15.7") + if not self._is_legacy_one_profile: + self.tool_requires("qt/") 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): - if hasattr(self, "settings_build") and cross_building(self): - env = VirtualBuildEnv(self) - env.generate() - else: + if self._is_legacy_one_profile: env = VirtualRunEnv(self) env.generate(scope="build") + else: + env = VirtualBuildEnv(self) + env.generate() tc = CMakeToolchain(self) tc.variables["QWT_DLL"] = self.options.shared - tc.variables["QWT_STATIC "] = not self.options.shared + tc.variables["QWT_STATIC"] = not self.options.shared tc.variables["QWT_PLOT"] = self.options.plot tc.variables["QWT_WIDGETS"] = self.options.widgets tc.variables["QWT_SVG"] = self.options.svg From a395d4ccb8e603d29a4f264c67d8f8e13eb51a1b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 13 Oct 2023 01:14:46 +0900 Subject: [PATCH 2075/4087] (#20525) ada: add version 2.7.0 --- 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 509473568c35a..f881ad719a6c1 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 417e43596e194..24235209b6d9f 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.0": + folder: all "2.6.10": folder: all "2.6.7": From 8d3eb5dcf5fcf29d971892e156781b5e26e1453a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 13 Oct 2023 01:29:03 +0900 Subject: [PATCH 2076/4087] (#20539) watcher: add version 0.9.5 --- recipes/watcher/all/conandata.yml | 3 +++ recipes/watcher/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index 61b03ba30a80d..857cc8ad36367 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.5": + url: "https://github.com/e-dant/watcher/archive/release/0.9.5.tar.gz" + sha256: "41b74d138eec106c35a99e7544def599453a8bf4cf4887ad627e1c9e3355287c" "0.9.2": url: "https://github.com/e-dant/watcher/archive/release/0.9.2.tar.gz" sha256: "d728960cbf5cebb05e1e0b7d61482b1cfd10b6bc616f9e494168f7d5d2e689cf" diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index e770c710dc9cf..2b4b53a7cfb59 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.5": + folder: all "0.9.2": folder: all "0.8.8": From 2d16ab1085f9aad8d8fd63ab3108a8ca250b25c6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 12 Oct 2023 22:48:35 +0300 Subject: [PATCH 2077/4087] (#20313) nuklear: add version 4.10.6 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/nuklear/all/conandata.yml | 3 +++ recipes/nuklear/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nuklear/all/conandata.yml b/recipes/nuklear/all/conandata.yml index 2bff2ae899a2a..d11d172a2e7ff 100644 --- a/recipes/nuklear/all/conandata.yml +++ b/recipes/nuklear/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.10.6": + url: "https://github.com/Immediate-Mode-UI/Nuklear/archive/4.10.6.tar.gz" + sha256: "1baa1c9603ef20e6410a931de65d3fe07def5266fa7a61cdf1ffd241b3109a99" "4.10.1": url: "https://github.com/Immediate-Mode-UI/Nuklear/archive/refs/tags/4.10.1.tar.gz" sha256: "a7bd28477e00be6768e9b8cc3a406bc67b2d32d3a023b1e44868e8c566a7eb2f" diff --git a/recipes/nuklear/config.yml b/recipes/nuklear/config.yml index 7f21ae0ba7418..96278eaa477be 100644 --- a/recipes/nuklear/config.yml +++ b/recipes/nuklear/config.yml @@ -1,4 +1,6 @@ versions: + "4.10.6": + folder: all "4.10.1": folder: all "4.06.1": From a96fdfba237e75d8a42b101100e223572bc42a69 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 13 Oct 2023 07:55:39 +0200 Subject: [PATCH 2078/4087] (#20418) libxml2: add version 2.11.5 --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 1056eab90fe20..e2e7415898919 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.5": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" + sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" "2.11.4": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.4.tar.xz" sha256: "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index a49601ef686b5..7a7b2cea0b90c 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.5": + folder: all "2.11.4": folder: all "2.11.3": From 0b4bb72d66bc60e8d8b664bd729a7d92b6ef804c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 11:48:15 +0300 Subject: [PATCH 2079/4087] (#20301) utfcpp: add version 3.2.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: Rubén Rincón Blanco --- recipes/utfcpp/all/conandata.yml | 3 +++ recipes/utfcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index 572f41ae51de7..c53cea4624682 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ 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" diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index b081129769046..7c9a9e66d30ce 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.5": + folder: all "3.2.4": folder: all "3.2.3": From 6ea27fab88156d6b6d663b1d81d8b15a8b65bdcf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 12:04:53 +0300 Subject: [PATCH 2080/4087] (#20310) dbg-macro: add version 0.5.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/dbg-macro/all/conandata.yml | 3 +++ recipes/dbg-macro/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dbg-macro/all/conandata.yml b/recipes/dbg-macro/all/conandata.yml index 4beffe08cb1f1..3c855c0c75125 100644 --- a/recipes/dbg-macro/all/conandata.yml +++ b/recipes/dbg-macro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.1": + url: "https://github.com/sharkdp/dbg-macro/archive/v0.5.1.tar.gz" + sha256: "fffea75f067c69995853dc790626887788e2c4c9eb0a5a0014a4501d2b6b9909" "0.5.0": url: "https://github.com/sharkdp/dbg-macro/archive/v0.5.0.tar.gz" sha256: "dac4907aadf39dbd9eac279a214c59ad30af6c0c3d585688242f73cb1a9ce243" diff --git a/recipes/dbg-macro/config.yml b/recipes/dbg-macro/config.yml index 49f293dbf1971..e820923f0c236 100644 --- a/recipes/dbg-macro/config.yml +++ b/recipes/dbg-macro/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.1": + folder: "all" "0.5.0": folder: "all" "0.4.0": From 56e1681d6e7babc725fa924c15866d2ab016f5af Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 12:18:09 +0300 Subject: [PATCH 2081/4087] (#20298) cpp-peglib: add version 1.8.5 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/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 cd54a6a1b9b28..22a7588040467 100644 --- a/recipes/cpp-peglib/1.x.x/conandata.yml +++ b/recipes/cpp-peglib/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.5": + url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.5.tar.gz" + sha256: "2813f7ffdeb570959b879ce2bf3921bf4f2edc0d9f1568c4429eceadff9ab114" "1.8.4": url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.4.tar.gz" sha256: "002cec65f659180ba90c0b04ee30a349ca18f0732fbe00e7638f1ead44aeb701" diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml index a30fecf91ce92..e7a9a93559bfa 100644 --- a/recipes/cpp-peglib/config.yml +++ b/recipes/cpp-peglib/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.5": + folder: "1.x.x" "1.8.4": folder: "1.x.x" "1.8.3": From 98ebbc541112462b80d959af3613f824b2b6315e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 13 Oct 2023 04:29:58 -0500 Subject: [PATCH 2082/4087] (#20524) util-linux-libuuid: Add version 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Francisco Ramírez Co-authored-by: Daniel --- recipes/util-linux-libuuid/all/conandata.yml | 3 +++ recipes/util-linux-libuuid/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/util-linux-libuuid/all/conandata.yml b/recipes/util-linux-libuuid/all/conandata.yml index 4e1010ee8b94f..c84795c4daf4e 100644 --- a/recipes/util-linux-libuuid/all/conandata.yml +++ b/recipes/util-linux-libuuid/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.39.2": + url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.2.tar.xz" + sha256: "87abdfaa8e490f8be6dde976f7c80b9b5ff9f301e1b67e3899e1f05a59a1531f" "2.39": url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.tar.xz" sha256: "32b30a336cda903182ed61feb3e9b908b762a5e66fe14e43efb88d37162075cb" diff --git a/recipes/util-linux-libuuid/config.yml b/recipes/util-linux-libuuid/config.yml index 427b3a10b7a7d..4ab19fceb4d3b 100644 --- a/recipes/util-linux-libuuid/config.yml +++ b/recipes/util-linux-libuuid/config.yml @@ -1,3 +1,5 @@ versions: + "2.39.2": + folder: all "2.39": folder: all From c04984f8c40ce7ab8993bb2d4e5d18c55c6b9f9f Mon Sep 17 00:00:00 2001 From: Oliver Kuckertz Date: Fri, 13 Oct 2023 11:43:20 +0200 Subject: [PATCH 2083/4087] (#20549) android-ndk: add r26b --- 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 91ea41fe322a4..788c3990884da 100644 --- a/recipes/android-ndk/all/conandata.yml +++ b/recipes/android-ndk/all/conandata.yml @@ -1,4 +1,17 @@ sources: + "r26b": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26b-windows.zip" + sha256: "a478d43d4a45d0d345cda6be50d79642b92fb175868d9dc0dfc86181d80f691e" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26b-linux.zip" + sha256: "ad73c0370f0b0a87d1671ed2fd5a9ac9acfd1eb5c43a7fbfbd330f85d19dd632" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26b-darwin.zip" + sha256: "4b0ea6148a9a2337e62a0c0c7ac59ff1edc38d69b81d9c58251897d23f7fa321" "r26": "Windows": "x86_64": diff --git a/recipes/android-ndk/config.yml b/recipes/android-ndk/config.yml index afb825c16b4c6..a7fa8c97dd42c 100644 --- a/recipes/android-ndk/config.yml +++ b/recipes/android-ndk/config.yml @@ -1,4 +1,6 @@ versions: + "r26b": + folder: all "r26": folder: all "r25c": From a0a1af9b19987cf5cda4083cae35ac54961a860e Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 13 Oct 2023 12:08:52 +0200 Subject: [PATCH 2084/4087] (#19138) [quazip] Set zlib transitive headers * [quazip] Set zlib transitive headers * Bump qt to 6.5.2 * Revert "Bump qt to 6.5.2" since it requires cor5compat This reverts commit 06b1f7fd6f547333f2fb48fcd7e494c5d3be102b. * fix requires * Update recipes/quazip/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/quazip/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/quazip/all/conanfile.py b/recipes/quazip/all/conanfile.py index 0203b4a63fa9c..6e40033d8025b 100644 --- a/recipes/quazip/all/conanfile.py +++ b/recipes/quazip/all/conanfile.py @@ -48,8 +48,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.9") - self.requires("zlib/1.2.13") + self.requires("qt/5.15.9", 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") From da12f0f3ce6af541894e29895141fb0b27785e32 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 13:43:49 +0300 Subject: [PATCH 2085/4087] (#20299) lerc: add version 4.0.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/lerc/all/conandata.yml | 7 +++++++ recipes/lerc/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/lerc/all/conandata.yml b/recipes/lerc/all/conandata.yml index f1d58df7a46b7..73b69372cf8f4 100644 --- a/recipes/lerc/all/conandata.yml +++ b/recipes/lerc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.1": + url: "https://github.com/Esri/lerc/archive/js_v4.0.1.tar.gz" + sha256: "d771f45b90dd033187d5fad2b99159d0a98d46878d88d3236147c3df297dd544" "4.0.0": url: "https://github.com/Esri/lerc/archive/refs/tags/v4.0.0.tar.gz" sha256: "91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0" @@ -9,6 +12,10 @@ sources: url: "https://github.com/Esri/lerc/archive/v2.1.tar.gz" sha256: "7c48de40cd5f09319de4b39c417ff4eec4ad4b6aa5d6144f6ffa9b10d18ec94e" patches: + "4.0.1": + - patch_file: "patches/4.0.0-include-algorithm.patch" + patch_description: "include algorithm header for std::min/max" + patch_type: "portability" "4.0.0": - patch_file: "patches/4.0.0-include-algorithm.patch" patch_description: "include algorithm header for std::min/max" diff --git a/recipes/lerc/config.yml b/recipes/lerc/config.yml index 6bcfdf0332e1f..a09a8d0001ec6 100644 --- a/recipes/lerc/config.yml +++ b/recipes/lerc/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.1": + folder: all "4.0.0": folder: all "2.2": From 01e142ce46c13fb81ed1ceab818cb722788f656e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 14:12:06 +0300 Subject: [PATCH 2086/4087] (#20309) kangaru: add version 4.3.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/kangaru/all/conandata.yml | 3 +++ recipes/kangaru/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kangaru/all/conandata.yml b/recipes/kangaru/all/conandata.yml index 7cacb93f9b616..5c977f020a27d 100644 --- a/recipes/kangaru/all/conandata.yml +++ b/recipes/kangaru/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.1": + url: "https://github.com/gracicot/kangaru/archive/v4.3.1.tar.gz" + sha256: "3896ea2a13cc1c220b4d83bf598e27e77004170b4a212af8f14264f8a6fb0e45" "4.3.0": url: "https://github.com/gracicot/kangaru/archive/refs/tags/v4.3.0.tar.gz" sha256: "98a0d7f2e5ac65d93fe83615ead1627fab2237b173e18151fb68d50234ed6eaf" diff --git a/recipes/kangaru/config.yml b/recipes/kangaru/config.yml index f77751b7637b4..a57d047923a8a 100644 --- a/recipes/kangaru/config.yml +++ b/recipes/kangaru/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.1": + folder: all "4.3.0": folder: all "4.2.4": From cc4e61698a02fbd150cce06e360797f29160eb3a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 13 Oct 2023 13:47:07 +0200 Subject: [PATCH 2087/4087] (#20532) [bot] Update authorized users list (2023-10-12) --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 3b442dae2045d..9a2e9e466b87d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1243,3 +1243,4 @@ authorized_users: - fixstars-sonali - FranzPoize - SoShiny +- tamaskenezlego From 1d4e6da0ec07407efa3214eaad5d1d84eedcf859 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 15:10:52 +0300 Subject: [PATCH 2088/4087] (#20302) libsvtav1: add version 1.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: Rubén Rincón Blanco --- recipes/libsvtav1/all/conandata.yml | 3 +++ recipes/libsvtav1/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libsvtav1/all/conandata.yml b/recipes/libsvtav1/all/conandata.yml index 116460d8d2500..54555aa218224 100644 --- a/recipes/libsvtav1/all/conandata.yml +++ b/recipes/libsvtav1/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.7.0/SVT-AV1-v1.7.0.tar.gz" + sha256: "ce0973584f1a187aa4abf63f509ff8464397120878e322a3153f87e9c161fc4f" "1.6.0": url: https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.6.0/SVT-AV1-v1.6.0.tar.bz2 sha256: c6b49111a2d4c5113f1ada0c2f716d94bd4a8db704623d453066826401ecdab5 diff --git a/recipes/libsvtav1/config.yml b/recipes/libsvtav1/config.yml index e7e0786241704..c8fea3589a745 100644 --- a/recipes/libsvtav1/config.yml +++ b/recipes/libsvtav1/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.0": folder: all "1.4.1": From 5d016b65867d7662a4641b127ecf04e24b7a00d5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 15:56:14 +0300 Subject: [PATCH 2089/4087] (#20308) reactiveplusplus: add version 0.2.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/reactiveplusplus/all/conandata.yml | 3 +++ recipes/reactiveplusplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/reactiveplusplus/all/conandata.yml b/recipes/reactiveplusplus/all/conandata.yml index b01e397208475..9e638abe5d43a 100644 --- a/recipes/reactiveplusplus/all/conandata.yml +++ b/recipes/reactiveplusplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.3": + url: "https://github.com/victimsnino/ReactivePlusPlus/archive/v0.2.3.tar.gz" + sha256: "9542419f8d7da98126ba2c6ae08fab287b4b3798d89cf75ed9bed2a9e3ec1678" "0.2.1": url: "https://github.com/victimsnino/ReactivePlusPlus/archive/refs/tags/v0.2.1.tar.gz" sha256: "c41f9a0b727d5bdbc92390b3f075bfa280fd4f6f2aa7db51428fc30023b518d0" diff --git a/recipes/reactiveplusplus/config.yml b/recipes/reactiveplusplus/config.yml index 4fec465c4ccad..34b32de1aab11 100644 --- a/recipes/reactiveplusplus/config.yml +++ b/recipes/reactiveplusplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.3": + folder: all "0.2.1": folder: all "0.1.2": From 544b02f43aa6bf889edce3df5210ec8db3869353 Mon Sep 17 00:00:00 2001 From: Joris Putcuyps Date: Fri, 13 Oct 2023 15:33:01 +0200 Subject: [PATCH 2090/4087] (#20535) fltk: Fixes undefined reference to `__imp__TrackMouseEvent' on msys2. * Fixes undefined reference to `__imp__TrackMouseEvent' on msys2. * Add suggested opengl32 following the hook warning * Cleanup os library conditions --- recipes/fltk/all/conanfile.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index f32dd94a48036..6651e281a97d2 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -111,22 +111,24 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "fltk::fltk") self.cpp_info.libs = collect_libs(self) - if self.options.shared and self.settings.os == "Windows": - self.cpp_info.defines.append("FL_DLL") if self.settings.os in ("Linux", "FreeBSD"): if self.options.with_threads: self.cpp_info.system_libs.extend(["pthread", "dl"]) if self.options.with_gl: self.cpp_info.system_libs.extend(["GL", "GLU"]) - if is_apple_os(self): + elif is_apple_os(self): self.cpp_info.frameworks = [ "AppKit", "ApplicationServices", "Carbon", "Cocoa", "CoreFoundation", "CoreGraphics", "CoreText", "CoreVideo", "Foundation", "IOKit", "OpenGL", ] - if self.settings.os == "Windows": - self.cpp_info.system_libs = ["gdi32", "imm32", "msimg32", "ole32", "oleaut32", "uuid"] + elif self.settings.os == "Windows": + if self.options.shared: + self.cpp_info.defines.append("FL_DLL") + self.cpp_info.system_libs = ["gdi32", "imm32", "msimg32", "ole32", "oleaut32", "uuid", "comctl32"] if self.options.get_safe("with_gdiplus"): self.cpp_info.system_libs.append("gdiplus") + if self.options.with_gl: + self.cpp_info.system_libs.append("opengl32") # TODO: to remove in conan v2 once legacy generators removed self.cpp_info.names["cmake_find_package"] = "fltk" From c403509b4eabc07cd23ba6d1c70a3bafce697481 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 17:26:03 +0300 Subject: [PATCH 2091/4087] (#20042) gcem: add version 1.17.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/gcem/all/conandata.yml | 3 +++ recipes/gcem/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gcem/all/conandata.yml b/recipes/gcem/all/conandata.yml index 58f1cc5b754a9..5aa429fe457fd 100644 --- a/recipes/gcem/all/conandata.yml +++ b/recipes/gcem/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.17.0": + url: "https://github.com/kthohr/gcem/archive/v1.17.0.tar.gz" + sha256: "74cc499e2db247c32f1ce82fc22022d22e0f0a110ecd19281269289a9e78a6f8" "1.16.0": url: "https://github.com/kthohr/gcem/archive/v1.16.0.tar.gz" sha256: "119c742b9371c0adc7d9cd710c3cbc575459a98fb63f6be4c636215dcf8404ce" diff --git a/recipes/gcem/config.yml b/recipes/gcem/config.yml index cc18649bfe195..f63fe5ab6f014 100644 --- a/recipes/gcem/config.yml +++ b/recipes/gcem/config.yml @@ -1,4 +1,6 @@ versions: + "1.17.0": + folder: all "1.16.0": folder: all "1.14.1": From 56172550af4f8429e78ebb9b736a4372389a9359 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 17:58:43 +0300 Subject: [PATCH 2092/4087] (#20030) plog: add version 1.1.10 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/plog/all/conandata.yml | 3 +++ recipes/plog/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plog/all/conandata.yml b/recipes/plog/all/conandata.yml index a2d1cb2b746a6..d1c46d7ff154b 100644 --- a/recipes/plog/all/conandata.yml +++ b/recipes/plog/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.10": + url: "https://github.com/SergiusTheBest/plog/archive/1.1.10.tar.gz" + sha256: "55a090fc2b46ab44d0dde562a91fe5fc15445a3caedfaedda89fe3925da4705a" "1.1.9": url: "https://github.com/SergiusTheBest/plog/archive/1.1.9.tar.gz" sha256: "058315b9ec9611b659337d4333519ab4783fad3f2f23b1cc7bb84d977ea38055" diff --git a/recipes/plog/config.yml b/recipes/plog/config.yml index c3432fc6b2f2a..5526e402261bc 100644 --- a/recipes/plog/config.yml +++ b/recipes/plog/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.10": + folder: all "1.1.9": folder: all "1.1.5": From c5e6f48fa1d849e2577df1afa006bca247a0e73b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 18:42:55 +0300 Subject: [PATCH 2093/4087] (#20020) vc: add version 1.4.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/vc/all/conandata.yml | 3 +++ recipes/vc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/vc/all/conandata.yml b/recipes/vc/all/conandata.yml index b1e2f20f1981d..ef285ad3397b4 100644 --- a/recipes/vc/all/conandata.yml +++ b/recipes/vc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.3": + url: "https://github.com/VcDevel/Vc/archive/1.4.3.tar.gz" + sha256: "988ea0053f3fbf17544ca776a2749c097b3139089408b0286fa4e9e8513e037f" "1.4.2": url: "https://github.com/VcDevel/Vc/releases/download/1.4.2/Vc-1.4.2.tar.gz" sha256: "50d3f151e40b0718666935aa71d299d6370fafa67411f0a9e249fbce3e6e3952" diff --git a/recipes/vc/config.yml b/recipes/vc/config.yml index 0ba616ecf92b2..f5a2ce84083be 100644 --- a/recipes/vc/config.yml +++ b/recipes/vc/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.3": + folder: all "1.4.2": folder: all "1.4.1": From dba6b2c36e6e4a3e92195ca8be9e2a5983d636e1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 19:10:44 +0300 Subject: [PATCH 2094/4087] (#20023) ezc3d: add version 1.5.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/ezc3d/all/conandata.yml | 3 +++ recipes/ezc3d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ezc3d/all/conandata.yml b/recipes/ezc3d/all/conandata.yml index 7c22e7d856992..cba9d2eb45320 100644 --- a/recipes/ezc3d/all/conandata.yml +++ b/recipes/ezc3d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.4": + url: "https://github.com/pyomeca/ezc3d/archive/Release_1.5.4.tar.gz" + sha256: "d27a1d8ffc5cebf47b53c2d263a1c4dbb4a6dc2f474c6978b3588bbb143e272f" "1.5.0": url: "https://github.com/pyomeca/ezc3d/archive/refs/tags/Release_1.5.0.tar.gz" sha256: "8387857d989f5bbb62869ec930b417e6d0a303eef9b39e8b0e6b35437d5809ce" diff --git a/recipes/ezc3d/config.yml b/recipes/ezc3d/config.yml index 3d5d9b1cd1d49..13db8816b3037 100644 --- a/recipes/ezc3d/config.yml +++ b/recipes/ezc3d/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.4": + folder: all "1.5.0": folder: all "1.4.8": From a5e7b9eb9cc9f4c04940e5ea0e8e173ea97b2848 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 13 Oct 2023 19:40:33 +0300 Subject: [PATCH 2095/4087] (#20038) libharu: add version 2.4.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libharu/all/conandata.yml | 3 +++ recipes/libharu/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libharu/all/conandata.yml b/recipes/libharu/all/conandata.yml index 29a286d695d61..0e549c3a82e1f 100644 --- a/recipes/libharu/all/conandata.yml +++ b/recipes/libharu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.4": + url: "https://github.com/libharu/libharu/archive/v2.4.4.tar.gz" + sha256: "227ab0ae62979ad65c27a9bc36d85aa77794db3375a0a30af18acdf4d871aee6" "2.4.3": url: "https://github.com/libharu/libharu/archive/refs/tags/v2.4.3.tar.gz" sha256: "a2c3ae4261504a0fda25b09e7babe5df02b21803dd1308fdf105588f7589d255" diff --git a/recipes/libharu/config.yml b/recipes/libharu/config.yml index 39ca57fe00f3b..be72156e0ef73 100644 --- a/recipes/libharu/config.yml +++ b/recipes/libharu/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.4": + folder: "all" "2.4.3": folder: "all" "2.3.0": From e79c84ef264b967b21c72a7fa6dfeaf8a4cd2a1c Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 13 Oct 2023 13:12:10 -0400 Subject: [PATCH 2096/4087] (#19877) Updated ImGui. Added the imgui_stdlib source and header file * Added the imgui_stdlib source and header file * imgui_stdlib.cpp no longer compiled into library - now included int he include folder so that i can be manually added to a source file by the user * src/h files for stdlib/freetype extensions are included in res folder * imgui src files included in res folder * imgui.cpp added --------- Co-authored-by: Carlos Zoido --- recipes/imgui/all/CMakeLists.txt | 1 + recipes/imgui/all/conanfile.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/CMakeLists.txt b/recipes/imgui/all/CMakeLists.txt index 97b98049ec042..0626bf7008e52 100644 --- a/recipes/imgui/all/CMakeLists.txt +++ b/recipes/imgui/all/CMakeLists.txt @@ -7,6 +7,7 @@ set(IMGUI_EXPORT_HEADERS imgui_export_headers.h) file(GLOB SOURCE_FILES ${IMGUI_SRC_DIR}/*.cpp) file(GLOB HEADER_FILES ${IMGUI_SRC_DIR}/*.h) + file(GLOB EXTRA_FONTS_FILES ${EXTRA_FONTS_DIR}/*.ttf) if (MSVC) file(GLOB EXTRA_NATVIS_FILES ${MISC_DIR}/natvis/*.natvis) diff --git a/recipes/imgui/all/conanfile.py b/recipes/imgui/all/conanfile.py index b71a56e771c7a..ffe8b2248047c 100644 --- a/recipes/imgui/all/conanfile.py +++ b/recipes/imgui/all/conanfile.py @@ -77,6 +77,15 @@ def package(self): copy(self, pattern="imgui_impl_*", dst=os.path.join(self.package_folder, "res", "bindings"), src=backends_folder) + copy(self, pattern="imgui*.cpp", + dst=os.path.join(self.package_folder, "res", "src"), + src=os.path.join(self.source_folder)) + copy(self, pattern="*.*", + dst=os.path.join(self.package_folder, "res", "misc", "cpp"), + src=os.path.join(self.source_folder, "misc", "cpp")) + copy(self, pattern="*.*", + dst=os.path.join(self.package_folder, "res", "misc", "freetype"), + src=os.path.join(self.source_folder, "misc", "freetype")) cmake = CMake(self) cmake.install() From 63af0f5ce4cd6f3d28b8429032bafa626883e0a4 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 14 Oct 2023 03:42:32 +0900 Subject: [PATCH 2097/4087] (#20559) luau: add version 0.598 --- 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 8561d42700a29..a1b979b6920f0 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.598": + url: "https://github.com/Roblox/luau/archive/0.598.tar.gz" + sha256: "a2bab4b513fe5f2fe174c45de4807846e6ce83420c9ba7a34c81c48b99e01c98" "0.593": url: "https://github.com/Roblox/luau/archive/0.593.tar.gz" sha256: "1cbe4390ef71bb0f2210853978c900974aa02fab73de92b6e18e7bb10dd0e3c1" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index ce328e7495578..1b6e2a1736bdb 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.598": + folder: all "0.593": folder: all "0.589": From a4572c4bff3415e5f64c14d555877f5ff0a525e7 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 14 Oct 2023 10:29:28 +0900 Subject: [PATCH 2098/4087] (#20469) embedded_ringbuf_cpp: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * embedded_ringbuf_cpp: add recipe * fix license filename * drop msvc * add package_type, add header-only topic Co-authored-by: Rubén Rincón Blanco --------- Co-authored-by: Rubén Rincón Blanco --- .../embedded_ringbuf_cpp/all/conandata.yml | 4 ++ recipes/embedded_ringbuf_cpp/all/conanfile.py | 47 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 6 +++ .../all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 15 ++++++ recipes/embedded_ringbuf_cpp/config.yml | 3 ++ 6 files changed, 101 insertions(+) create mode 100644 recipes/embedded_ringbuf_cpp/all/conandata.yml create mode 100644 recipes/embedded_ringbuf_cpp/all/conanfile.py create mode 100644 recipes/embedded_ringbuf_cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/embedded_ringbuf_cpp/all/test_package/conanfile.py create mode 100644 recipes/embedded_ringbuf_cpp/all/test_package/test_package.cpp create mode 100644 recipes/embedded_ringbuf_cpp/config.yml diff --git a/recipes/embedded_ringbuf_cpp/all/conandata.yml b/recipes/embedded_ringbuf_cpp/all/conandata.yml new file mode 100644 index 0000000000000..123dfa0258590 --- /dev/null +++ b/recipes/embedded_ringbuf_cpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.3": + url: "https://github.com/wizard97/Embedded_RingBuf_CPP/archive/refs/tags/1.3.tar.gz" + sha256: "52340d9762e48b507810458507105c79c57c4d9bff2a9faec6c48bbf65ed2290" diff --git a/recipes/embedded_ringbuf_cpp/all/conanfile.py b/recipes/embedded_ringbuf_cpp/all/conanfile.py new file mode 100644 index 0000000000000..177f5ad4ff785 --- /dev/null +++ b/recipes/embedded_ringbuf_cpp/all/conanfile.py @@ -0,0 +1,47 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.52.0" + +class EmbeddedRingbufcppConan(ConanFile): + name = "embedded_ringbuf_cpp" + description = "A simple C++ Ring (Circular) Buffer Queuing Library for Programming with Arduino's and other Embedded platforms" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/wizard97/Embedded_RingBuf_CPP/" + topics = ("ring buffer", "circular buffer", "queue", "data-structures", "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 validate(self): + # embedded_ringbuf_cpp uses #warning preprocessor directive + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio and msvc.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="RingBuf*.h", + 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/embedded_ringbuf_cpp/all/test_package/CMakeLists.txt b/recipes/embedded_ringbuf_cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ac26e4c63d05b --- /dev/null +++ b/recipes/embedded_ringbuf_cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(embedded_ringbuf_cpp CONFIG REQUIRED) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE embedded_ringbuf_cpp::embedded_ringbuf_cpp) diff --git a/recipes/embedded_ringbuf_cpp/all/test_package/conanfile.py b/recipes/embedded_ringbuf_cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/embedded_ringbuf_cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/embedded_ringbuf_cpp/all/test_package/test_package.cpp b/recipes/embedded_ringbuf_cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c12de1cdf78c1 --- /dev/null +++ b/recipes/embedded_ringbuf_cpp/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +// size_t is needed for RingBufCPP +#include + +#include + +int main() { + RingBufCPP q; + + q.add(12); + + int tmp; + q.pull(&tmp); + + return 0; +} diff --git a/recipes/embedded_ringbuf_cpp/config.yml b/recipes/embedded_ringbuf_cpp/config.yml new file mode 100644 index 0000000000000..d2eb4ed4a511f --- /dev/null +++ b/recipes/embedded_ringbuf_cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.3": + folder: all From e02449d45cbe64cdd9c5ba3a531135ca21d10fde Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 14 Oct 2023 03:56:08 +0200 Subject: [PATCH 2099/4087] (#20514) qt 6.6.0 * qt 6.6.0 generated with: ``` conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.6.0 ``` * add resolv to network system libs on macos --- recipes/qt/6.x.x/conandata.yml | 25 ++ recipes/qt/6.x.x/conanfile.py | 2 + recipes/qt/6.x.x/patches/c72097e_6.6.0.diff | 42 +++ recipes/qt/6.x.x/qtmodules6.6.0.conf | 338 ++++++++++++++++++++ recipes/qt/config.yml | 2 + 5 files changed, 409 insertions(+) create mode 100644 recipes/qt/6.x.x/patches/c72097e_6.6.0.diff create mode 100644 recipes/qt/6.x.x/qtmodules6.6.0.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index a0c2a35fafbd7..c7703da5dc28f 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,25 @@ sources: + "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" @@ -84,6 +105,10 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: + "6.6.0": + - "base_path": "qtwebengine" + "patch_description": "Workaround for too long .rps file name" + "patch_file": "patches/c72097e_6.6.0.diff" "6.5.3": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index c00b4d63c6bfe..769e317fad83e 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -26,6 +26,7 @@ class QtConan(ConanFile): "qtserialport", "qtwebsockets", "qtwebchannel", "qtwebengine", "qtwebview", "qtremoteobjects", "qtpositioning", "qtlanguageserver", "qtspeech", "qthttpserver", "qtquick3dphysics", "qtgrpc", "qtquickeffectmaker"] + _submodules += ["qtgraphs"] # new modules for qt 6.6.0 name = "qt" description = "Qt is a cross-platform framework for graphical user interfaces." @@ -1324,6 +1325,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtCore"].frameworks.append("IOKit") # qtcore requires "_IORegistryEntryCreateCFProperty", "_IOServiceGetMatchingService" and much more which are in "IOKit" framework self.cpp_info.components["qtCore"].frameworks.append("Cocoa") # qtcore requires "_OBJC_CLASS_$_NSApplication" and more, which are in "Cocoa" framework self.cpp_info.components["qtCore"].frameworks.append("Security") # qtcore requires "_SecRequirementCreateWithString" and more, which are in "Security" framework + self.cpp_info.components["qtNetwork"].system_libs.append("resolv") self.cpp_info.components["qtNetwork"].frameworks.append("SystemConfiguration") if self.options.with_gssapi: self.cpp_info.components["qtNetwork"].frameworks.append("GSS") diff --git a/recipes/qt/6.x.x/patches/c72097e_6.6.0.diff b/recipes/qt/6.x.x/patches/c72097e_6.6.0.diff new file mode 100644 index 0000000000000..968f4abf220b6 --- /dev/null +++ b/recipes/qt/6.x.x/patches/c72097e_6.6.0.diff @@ -0,0 +1,42 @@ +From c72097e8790553771daf3231124c3fbe1a438379 Mon Sep 17 00:00:00 2001 +From: Samuli Piippo +Date: Thu, 30 Mar 2017 11:37:24 +0300 +Subject: [PATCH] chromium: workaround for too long .rps file name + +Ninja may fail when the build directory is too long: + +ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_\ +interfaces_info_individual_modules__home_qt_work_build_build-nitrogen\ +6x_tmp_work_cortexa9hf-neon-mx6qdl-poky-linux-gnueabi_qtwebengine_5.9\ +.0_gitAUTOINC_29afdb0a34_049134677a-r0_build_src_toolchain_target__ru\ +le.rsp): Unable to create file. File name too long + +Task-number: QTBUG-59769 +Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1 +--- + src/3rdparty/gn/src/gn/ninja_action_target_writer.cc | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc b/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc +index a5bc6cd..5cefbfe 100644 +--- a/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc ++++ b/src/3rdparty/gn/tosrcols/gn/ninja_action_target_writer.cc +@@ -125,9 +125,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { + // strictly necessary for regular one-shot actions, but it's easier to + // just always define unique_name. + std::string rspfile = custom_rule_name; ++ ++ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end ++ //please note ".$unique_name" is not used at the moment ++ int pos = 0; ++ std::string delimiter("_"); ++ while (rspfile.length() > 250 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos) ++ rspfile = rspfile.substr(0,pos); ++ + if (!target_->sources().empty()) + rspfile += ".$unique_name"; + rspfile += ".rsp"; ++ + out_ << " rspfile = " << rspfile << std::endl; + + // Response file contents. diff --git a/recipes/qt/6.x.x/qtmodules6.6.0.conf b/recipes/qt/6.x.x/qtmodules6.6.0.conf new file mode 100644 index 0000000000000..e3853727b0712 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.6.0.conf @@ -0,0 +1,338 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.6.0 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.6.0 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.6.0 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.6.0 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.6.0 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.6.0 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.6.0 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.6.0 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.6.0 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.6.0 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.6.0 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.6.0 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.6.0 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools qtmultimedia + path = qt3d + url = ../qt3d.git + branch = 6.6.0 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.6.0 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.6.0 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.6.0 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.6.0 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.6.0 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.6.0 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.6.0 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.6.0 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.6.0 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.6.0 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.6.0 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.6.0 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.6.0 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.6.0 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.6.0 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.6.0 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.6.0 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.6.0 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.6.0 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.6.0 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.6.0 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.6.0 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.6.0 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.6.0 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.6.0 + status = addon +[submodule "qtgrpc"] + depends = qtbase + recommends = qtdeclarative + path = qtgrpc + url = ../qtgrpc.git + branch = 6.6.0 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.6.0 + status = addon +[submodule "qtgraphs"] + depends = qtbase qtdeclarative qtquick3d + path = qtgraphs + url = ../qtgraphs.git + branch = 6.6.0 + status = preview diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 6df0033404d92..787fe5656bf21 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,4 +1,6 @@ versions: + "6.6.0": + folder: 6.x.x "6.5.3": folder: 6.x.x "6.5.2": From b5c024d59128c56d887a4fdb7986ad2ea340a5fc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 13 Oct 2023 21:25:49 -0500 Subject: [PATCH 2100/4087] (#20523) libmount: Add version 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libmount/all/conandata.yml | 3 +++ recipes/libmount/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmount/all/conandata.yml b/recipes/libmount/all/conandata.yml index 18c98b7cab46c..d36ca36c23c13 100644 --- a/recipes/libmount/all/conandata.yml +++ b/recipes/libmount/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.39.2": + url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.2.tar.xz" + sha256: "87abdfaa8e490f8be6dde976f7c80b9b5ff9f301e1b67e3899e1f05a59a1531f" "2.39": url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.tar.xz" sha256: "32b30a336cda903182ed61feb3e9b908b762a5e66fe14e43efb88d37162075cb" diff --git a/recipes/libmount/config.yml b/recipes/libmount/config.yml index b9150d1aa9e48..867141253ca23 100644 --- a/recipes/libmount/config.yml +++ b/recipes/libmount/config.yml @@ -1,4 +1,6 @@ versions: + "2.39.2": + folder: all "2.39": folder: all "2.36.2": From 4007834675f8e58aaca43020f8a0dbe25bd57ab4 Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Sat, 14 Oct 2023 15:10:48 +0200 Subject: [PATCH 2101/4087] (#20567) emio: add version 0.6.0 --- recipes/emio/all/conandata.yml | 3 +++ recipes/emio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index f62ffc65b5b74..c729fb82ca3f5 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.0": + url: "https://github.com/viatorus/emio/archive/0.6.0.tar.gz" + sha256: "789c0c1b73d2add1caef9ffd90bc2dd0286e31a0f0f5dc12ff206eb32c394a98" "0.5.0": url: "https://github.com/viatorus/emio/archive/0.5.0.tar.gz" sha256: "14cfa81d96db6ef74b8da7b5d2ffbd26535f2930d0d423e4fde7b526ddb3b308" diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index 9582e7461fbc5..03142756fc88c 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.0": + folder: all "0.5.0": folder: all "0.4.0": From a3d4283712c788edd438c4d68ec071d3f4437c91 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 14 Oct 2023 17:11:07 +0300 Subject: [PATCH 2102/4087] (#20047) cgif: 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/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/cgif/all/conandata.yml | 3 +++ recipes/cgif/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cgif/all/conandata.yml b/recipes/cgif/all/conandata.yml index f6abd559f85fb..6cfe1b1bc6c90 100644 --- a/recipes/cgif/all/conandata.yml +++ b/recipes/cgif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/dloebl/cgif/archive/V0.3.2.tar.gz" + sha256: "0abf83b7617f4793d9ab3a4d581f4e8d7548b56a29e3f95b0505f842cbfd7f95" "0.3.0": url: "https://github.com/dloebl/cgif/archive/refs/tags/V0.3.0.tar.gz" sha256: "c4f70bbae4c6afee3a524e65be31ae495201fd26687cb8429d7aded8be96306a" diff --git a/recipes/cgif/config.yml b/recipes/cgif/config.yml index d126790212e0c..be2ba90eb4dc7 100644 --- a/recipes/cgif/config.yml +++ b/recipes/cgif/config.yml @@ -1,3 +1,5 @@ versions: + "0.3.2": + folder: all "0.3.0": folder: all From 991aa227dcddab5f639fc1b632bdab801a46bc71 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 14 Oct 2023 16:42:02 +0200 Subject: [PATCH 2103/4087] (#20563) opencv/4.x: bump deps --- recipes/opencv/4.x/conanfile.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 0f533c33789b5..9a03220f56cd9 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1012,7 +1012,7 @@ def requirements(self): if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.parallel == "tbb": - self.requires("onetbb/2021.9.0") + self.requires("onetbb/2021.10.0") if self.options.with_ipp == "intel-ipp": self.requires("intel-ipp/2020") # dnn module dependencies @@ -1023,19 +1023,19 @@ def requirements(self): self.requires("vulkan-headers/1.3.250.0") # gapi module dependencies if self.options.gapi: - self.requires("ade/0.1.2a") + self.requires("ade/0.1.2c") # highgui module dependencies if self.options.get_safe("with_gtk"): self.requires("gtk/system") if self.options.get_safe("with_qt"): - self.requires("qt/5.15.10") + self.requires("qt/5.15.11") # imgcodecs module dependencies if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.0") elif self.options.get_safe("with_jpeg") == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") if self.options.get_safe("with_jpeg2000") == "jasper": self.requires("jasper/4.0.0") elif self.options.get_safe("with_jpeg2000") == "openjpeg": @@ -1045,11 +1045,11 @@ def requirements(self): if self.options.get_safe("with_openexr"): self.requires("openexr/3.1.9") if self.options.get_safe("with_tiff"): - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.get_safe("with_webp"): self.requires("libwebp/1.3.2") if self.options.get_safe("with_gdal"): - self.requires("gdal/3.5.2") + self.requires("gdal/3.7.0") if self.options.get_safe("with_gdcm"): self.requires("gdcm/3.0.21") # objdetect module dependencies @@ -1058,11 +1058,11 @@ def requirements(self): # videoio module dependencies if self.options.get_safe("with_ffmpeg"): # opencv doesn't support ffmpeg >= 5.0.0 for the moment (until 4.5.5 at least) - self.requires("ffmpeg/4.4.3") + self.requires("ffmpeg/4.4.4") # freetype module dependencies if self.options.freetype: self.requires("freetype/2.13.0") - self.requires("harfbuzz/8.1.1") + self.requires("harfbuzz/8.2.1") # hdf module dependencies if self.options.hdf: self.requires("hdf5/1.14.1") From 5591c72e3bc3dcc5fd6774acc9c5117c062993f8 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 15 Oct 2023 05:55:39 +0900 Subject: [PATCH 2104/4087] (#20570) ctre: add version 3.8.1 --- recipes/ctre/all/conandata.yml | 3 +++ recipes/ctre/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ctre/all/conandata.yml b/recipes/ctre/all/conandata.yml index 84177523424ed..c31706ca559c2 100644 --- a/recipes/ctre/all/conandata.yml +++ b/recipes/ctre/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.1": + url: "https://github.com/hanickadot/compile-time-regular-expressions/archive/v3.8.1.tar.gz" + sha256: "0ce8760d43b3b97b43364cd32ee663e5c8b8b4bfd58e7890042eff6ac52db605" "3.8": url: "https://github.com/hanickadot/compile-time-regular-expressions/archive/v3.8.tar.gz" sha256: "6462ee41fa6aa12075f6b9d13f42358091d32963087443a6669d2c94232eea04" diff --git a/recipes/ctre/config.yml b/recipes/ctre/config.yml index e8d08c6a4805a..02f3f62c0a451 100644 --- a/recipes/ctre/config.yml +++ b/recipes/ctre/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.1": + folder: all "3.8": folder: all "3.7.2": From 2992b67c462a76dc40a5f335998588040e5ffb15 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 15 Oct 2023 11:37:39 +0300 Subject: [PATCH 2105/4087] (#20014) pupnp: add version 1.14.18 * pupnp: add version 1.14.18 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/) * pupnp: fix_apple_shared_install_name() --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/pupnp/all/conandata.yml | 3 +++ recipes/pupnp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pupnp/all/conandata.yml b/recipes/pupnp/all/conandata.yml index 388307853302a..7964480fefad5 100644 --- a/recipes/pupnp/all/conandata.yml +++ b/recipes/pupnp/all/conandata.yml @@ -8,3 +8,6 @@ sources: "1.14.12": url: "https://github.com/pupnp/pupnp/archive/release-1.14.12.tar.gz" sha256: "6a7f26818d5aa3949bc2e68739387a261c564430ba612f793c61d31619dde1e4" + "1.14.18": + url: "https://github.com/pupnp/pupnp/archive/release-1.14.18.tar.gz" + sha256: "8b038be04c04886b6304c0878f7eb502c8f4800524acf44ce8f9cd7f9319df90" diff --git a/recipes/pupnp/config.yml b/recipes/pupnp/config.yml index 700325f13fdc8..1338c7bbcf33f 100644 --- a/recipes/pupnp/config.yml +++ b/recipes/pupnp/config.yml @@ -5,3 +5,5 @@ versions: folder: all "1.14.12": folder: all + "1.14.18": + folder: all From 34b149f194d4a3e8a141f7cae975bf198654dc3a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 15 Oct 2023 20:40:49 +0900 Subject: [PATCH 2106/4087] (#20576) mbedtls: add version 3.5.0 --- 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 f923ca0c489a5..ea482e12f5ff1 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.5.0.tar.gz" + sha256: "bdee0e3e45bbf360541306cac0cc27e00402c7a46b9bdf2d24787d5107f008f2" "3.4.1": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.4.1.tar.gz" sha256: "a420fcf7103e54e775c383e3751729b8fb2dcd087f6165befd13f28315f754f5" diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 6d346411f4a8a..004f51becf1f5 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: all "3.4.1": folder: all "3.2.1": From 3e1a99d8b04aa00b3c7563801710cd3cdb178e2b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 15 Oct 2023 14:38:38 +0200 Subject: [PATCH 2107/4087] (#20520) jinja2cpp: fix `JINJA2CPP_CXX_STANDARD` mapping with `compiler.cppstd` when cppstd is `gnu*` * fix JINJA2CPP_CXX_STANDARD mapping with compiler.cppstd when cppstd is `gnu*` * remove unused import --- recipes/jinja2cpp/all/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index 8026c45b97a60..7e812e5ef15e3 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import msvc_runtime_flag, is_msvc -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -86,7 +86,9 @@ def generate(self): tc.variables["JINJA2CPP_STRICT_WARNINGS"] = False tc.variables["JINJA2CPP_BUILD_SHARED"] = self.options.shared tc.variables["JINJA2CPP_DEPS_MODE"] = "conan-build" - tc.variables["JINJA2CPP_CXX_STANDARD"] = self.settings.compiler.get_safe("cppstd", 14) + cppstd = self.settings.compiler.get_safe("cppstd") + if cppstd: + tc.cache_variables["JINJA2CPP_CXX_STANDARD"] = str(cppstd).replace("gnu", "") if is_msvc(self): # Runtime type configuration for Jinja2C++ should be strictly '/MT' or '/MD' runtime = "/MD" if "MD" in msvc_runtime_flag(self) else "/MT" From 7198f49baa884750a6b18b2ea6b5e77fa95cbe75 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 15 Oct 2023 16:06:42 +0300 Subject: [PATCH 2108/4087] (#20035) ssht: add version 1.5.2 * ssht: add version 1.5.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * ssht: bump fftw --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/ssht/all/conandata.yml | 3 +++ recipes/ssht/all/conanfile.py | 2 +- recipes/ssht/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/ssht/all/conandata.yml b/recipes/ssht/all/conandata.yml index 077fff5429d55..dab3a69b6f7e9 100644 --- a/recipes/ssht/all/conandata.yml +++ b/recipes/ssht/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.2": + url: "https://github.com/astro-informatics/ssht/archive/v1.5.2.tar.gz" + sha256: "6ce3e48d36a4af57cab9d96f5f845f905808dac8ac8b3ec195f6b49d017a890d" "1.4.0": url: "https://github.com/astro-informatics/ssht/archive/v1.4.0.tar.gz" sha256: "b33f1b763a240df773a1900139aad6f6b5c676bb2b64a8c1062077fd95c08769" diff --git a/recipes/ssht/all/conanfile.py b/recipes/ssht/all/conanfile.py index 616e2e41a56b1..aa4695a01d154 100644 --- a/recipes/ssht/all/conanfile.py +++ b/recipes/ssht/all/conanfile.py @@ -33,7 +33,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fftw/3.3.9") + self.requires("fftw/3.3.10") def validate(self): if is_msvc(self): diff --git a/recipes/ssht/config.yml b/recipes/ssht/config.yml index fc50f8a9c5846..aca406dbf9f3f 100644 --- a/recipes/ssht/config.yml +++ b/recipes/ssht/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.2": + folder: all "1.4.0": folder: all "1.3.7": From f55e034586d0c11cab9c7f633b748fc3d95d555c Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Sun, 15 Oct 2023 15:21:09 +0200 Subject: [PATCH 2109/4087] (#20097) Mp-units-2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mp-units 2.0 added * Homepage updated for mp-units/0.8.0 * Disable msvc and apple-clang for now * Add checks for 2.0.0 branch --------- Co-authored-by: Rubén Rincón Blanco --- recipes/mp-units/0.8.0/conanfile.py | 4 +- recipes/mp-units/2.0.0/conandata.yml | 4 + recipes/mp-units/2.0.0/conanfile.py | 165 ++++++++++++++++++ .../2.0.0/test_package/CMakeLists.txt | 10 ++ .../mp-units/2.0.0/test_package/conanfile.py | 27 +++ .../2.0.0/test_package/test_package.cpp | 16 ++ .../2.0.0/test_v1_package/CMakeLists.txt | 10 ++ .../2.0.0/test_v1_package/conanfile.py | 25 +++ .../2.0.0/test_v1_package/test_package.cpp | 16 ++ recipes/mp-units/config.yml | 2 + 10 files changed, 277 insertions(+), 2 deletions(-) create mode 100644 recipes/mp-units/2.0.0/conandata.yml create mode 100644 recipes/mp-units/2.0.0/conanfile.py create mode 100644 recipes/mp-units/2.0.0/test_package/CMakeLists.txt create mode 100644 recipes/mp-units/2.0.0/test_package/conanfile.py create mode 100644 recipes/mp-units/2.0.0/test_package/test_package.cpp create mode 100644 recipes/mp-units/2.0.0/test_v1_package/CMakeLists.txt create mode 100644 recipes/mp-units/2.0.0/test_v1_package/conanfile.py create mode 100644 recipes/mp-units/2.0.0/test_v1_package/test_package.cpp diff --git a/recipes/mp-units/0.8.0/conanfile.py b/recipes/mp-units/0.8.0/conanfile.py index 360e81be61b3d..c44e1496f2a03 100644 --- a/recipes/mp-units/0.8.0/conanfile.py +++ b/recipes/mp-units/0.8.0/conanfile.py @@ -12,8 +12,8 @@ class MPUnitsConan(ConanFile): name = "mp-units" - homepage = "https://github.com/mpusz/units" - description = "Physical Quantities and Units library for C++" + homepage = "https://github.com/mpusz/mp-units" + description = "A Physical Quantities and Units library for C++" topics = ( "units", "dimensions", diff --git a/recipes/mp-units/2.0.0/conandata.yml b/recipes/mp-units/2.0.0/conandata.yml new file mode 100644 index 0000000000000..79322cc88147b --- /dev/null +++ b/recipes/mp-units/2.0.0/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.0.0": + url: https://github.com/mpusz/units/archive/v2.0.0.tar.gz + sha256: c04cda9fdaeca3ae42886552658e8bde3b608a24a4a921a621a5db41ec416e0e diff --git a/recipes/mp-units/2.0.0/conanfile.py b/recipes/mp-units/2.0.0/conanfile.py new file mode 100644 index 0000000000000..e7312a805414c --- /dev/null +++ b/recipes/mp-units/2.0.0/conanfile.py @@ -0,0 +1,165 @@ +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, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.59.0" + + +class MPUnitsConan(ConanFile): + name = "mp-units" + homepage = "https://github.com/mpusz/mp-units" + description = "A Physical 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" + tool_requires = "cmake/[>=3.19 <4]" + package_type = "header-library" + no_copy_source = True + + @property + def _min_cppstd(self): + return "20" + + @property + def _minimum_compilers_version(self): + # Note that apple-clang and msvc are disabled for now, their C++ 20 implementations are not up to speed + return {"gcc": "11", "clang": "16"} + + @property + def _use_libfmt(self): + compiler = self.settings.compiler + version = Version(self.settings.compiler.version) + std_support = compiler == "msvc" and version >= 193 and compiler.cppstd == 23 + return not std_support + + @property + def _use_range_v3(self): + compiler = self.settings.compiler + version = Version(self.settings.compiler.version) + return "clang" in compiler and compiler.libcxx == "libc++" and version < 14 + + def requirements(self): + self.requires("gsl-lite/0.40.0") + if self._use_libfmt: + self.requires("fmt/10.1.0") + if self._use_range_v3: + self.requires("range-v3/0.11.0") + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + 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 at least {compiler} {min_version} ({compiler.version} in use)" + ) + + # Note that apple-clang and msvc are disabled for now, their C++ 20 implementations are not up to speed + # Re-enable once newer versions with better support come out + if is_msvc(self) or compiler == "apple-clang": + raise ConanInvalidConfiguration(f"{self.ref} disabled for {compiler} as their C++20 implementation is not up to speed yet") + + 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["MP_UNITS_USE_LIBFMT"] = self._use_libfmt + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder="src") + 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 + + # core + self.cpp_info.components["core"].requires = ["gsl-lite::gsl-lite"] + if compiler == "msvc": + self.cpp_info.components["core"].cxxflags = ["/utf-8"] + if self._use_range_v3: + self.cpp_info.components["core"].requires.append("range-v3::range-v3") + + # rest + self.cpp_info.components["core-io"].requires = ["core"] + self.cpp_info.components["core-fmt"].requires = ["core"] + if self._use_libfmt: + self.cpp_info.components["core-fmt"].requires.append("fmt::fmt") + self.cpp_info.components["utility"].requires = ["core", "isq", "si", "angular"] + self.cpp_info.components["isq"].requires = ["core"] + self.cpp_info.components["angular"].requires = ["isq"] + self.cpp_info.components["isq_angular"].requires = ["isq", "angular"] + self.cpp_info.components["natural"].requires = ["isq"] + self.cpp_info.components["si"].requires = ["isq"] + self.cpp_info.components["cgs"].requires = ["si"] + self.cpp_info.components["hep"].requires = ["si"] + self.cpp_info.components["iau"].requires = ["si"] + self.cpp_info.components["imperial"].requires = ["si"] + self.cpp_info.components["international"].requires = ["si"] + self.cpp_info.components["typographic"].requires = ["usc"] + self.cpp_info.components["usc"].requires = ["international"] + self.cpp_info.components["iec80000"].requires = ["isq", "si"] + self.cpp_info.components["systems"].requires = [ + "isq", + "angular", + "isq_angular", + "natural", + "si", + "cgs", + "hep", + "iau", + "imperial", + "international", + "typographic", + "usc", + "iec80000", + ] diff --git a/recipes/mp-units/2.0.0/test_package/CMakeLists.txt b/recipes/mp-units/2.0.0/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..07f3e7cd91e8a --- /dev/null +++ b/recipes/mp-units/2.0.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.0.0/test_package/conanfile.py b/recipes/mp-units/2.0.0/test_package/conanfile.py new file mode 100644 index 0000000000000..e418ee7701960 --- /dev/null +++ b/recipes/mp-units/2.0.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.0.0/test_package/test_package.cpp b/recipes/mp-units/2.0.0/test_package/test_package.cpp new file mode 100644 index 0000000000000..f7a82eba1d2de --- /dev/null +++ b/recipes/mp-units/2.0.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/2.0.0/test_v1_package/CMakeLists.txt b/recipes/mp-units/2.0.0/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..07f3e7cd91e8a --- /dev/null +++ b/recipes/mp-units/2.0.0/test_v1_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.0.0/test_v1_package/conanfile.py b/recipes/mp-units/2.0.0/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..048e0f9557d47 --- /dev/null +++ b/recipes/mp-units/2.0.0/test_v1_package/conanfile.py @@ -0,0 +1,25 @@ +from conans import ConanFile, CMake, tools +from conans.tools import Version +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake_find_package_multi" + + # TODO remove when https://github.com/conan-io/conan/issues/7680 is solved (or VS2019 is updated to at least 16.9) + def _skip_check(self): + return self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version) <= "16" + + def build(self): + if self._skip_check(): + return + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if self._skip_check(): + return + if not tools.cross_building(self.settings): + self.run("test_package", run_environment=True) diff --git a/recipes/mp-units/2.0.0/test_v1_package/test_package.cpp b/recipes/mp-units/2.0.0/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..f7a82eba1d2de --- /dev/null +++ b/recipes/mp-units/2.0.0/test_v1_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 384108bf7c63a..80a7d8dff9ed1 100644 --- a/recipes/mp-units/config.yml +++ b/recipes/mp-units/config.yml @@ -1,3 +1,5 @@ versions: "0.8.0": folder: 0.8.0 + "2.0.0": + folder: 2.0.0 From ae5295acacb063a57041a3448707c1da9fa937d7 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 15 Oct 2023 22:39:15 +0900 Subject: [PATCH 2110/4087] (#20286) drogon: add version 1.8.7, update dependencies --- recipes/drogon/all/conandata.yml | 10 ++++++++++ recipes/drogon/all/conanfile.py | 4 ++-- recipes/drogon/config.yml | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index d62ebab92171a..e4ec996a75d85 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ 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" @@ -21,6 +24,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "1.8.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.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" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 827f0fd96949d..d35f8664c1c76 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -110,7 +110,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") def requirements(self): - self.requires("trantor/1.5.13", transitive_headers=True, transitive_libs=True) + self.requires("trantor/1.5.14", transitive_headers=True, transitive_libs=True) self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]") self.requires("zlib/[>=1.2.11 <2]") @@ -127,7 +127,7 @@ def requirements(self): if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.42.1") if self.options.get_safe("with_redis"): self.requires("hiredis/1.2.0") if self.options.get_safe("with_yaml_cpp", False): diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index 62f17e07b2e95..933b39a309076 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.7": + folder: "all" "1.8.6": folder: "all" "1.8.5": From f282679ce0432272b84626dc67b8b8cdfe4b2720 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 15 Oct 2023 16:22:35 +0200 Subject: [PATCH 2111/4087] (#20531) rpclib: fix MinGW shared --- recipes/rpclib/all/conandata.yml | 6 ++++++ recipes/rpclib/all/conanfile.py | 10 ++++++++-- .../all/patches/2.3.0-0001-win-link-winsock.patch | 12 ++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 recipes/rpclib/all/patches/2.3.0-0001-win-link-winsock.patch diff --git a/recipes/rpclib/all/conandata.yml b/recipes/rpclib/all/conandata.yml index 696b41e86b171..d7b9eea3bb30c 100644 --- a/recipes/rpclib/all/conandata.yml +++ b/recipes/rpclib/all/conandata.yml @@ -2,3 +2,9 @@ sources: "2.3.0": url: "https://github.com/rpclib/rpclib/archive/refs/tags/v2.3.0.tar.gz" sha256: "eb9e6fa65e1a79b37097397f60599b93cb443d304fbc0447c50851bc3452fdef" +patches: + "2.3.0": + - patch_file: "patches/2.3.0-0001-win-link-winsock.patch" + patch_description: "Link to mswsock and ws2_32 if windows" + patch_type: "portability" + patch_source: "https://github.com/rpclib/rpclib/pull/287" diff --git a/recipes/rpclib/all/conanfile.py b/recipes/rpclib/all/conanfile.py index 09e7e84ca393f..111d6614af1be 100644 --- a/recipes/rpclib/all/conanfile.py +++ b/recipes/rpclib/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, mkdir, rename, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, rename, rmdir from conan.tools.microsoft import is_msvc_static_runtime required_conan_version = ">=1.53.0" @@ -32,6 +32,9 @@ class rpclibConan(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 @@ -60,6 +63,7 @@ def generate(self): tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -85,7 +89,9 @@ def package_info(self): # TODO: back to global scope after Conan 2.0 self.cpp_info.components["_rpc"].libs = ["rpc"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["_rpc"].system_libs.append("pthread") + self.cpp_info.components["_rpc"].system_libs.extend(["m", "pthread"]) + elif self.settings.os == "Windows": + self.cpp_info.components["_rpc"].system_libs.extend(["mswsock", "ws2_32"]) # TODO: Remove after Conan 2.0 self.cpp_info.components["_rpc"].names["cmake_find_package"] = "rpc" diff --git a/recipes/rpclib/all/patches/2.3.0-0001-win-link-winsock.patch b/recipes/rpclib/all/patches/2.3.0-0001-win-link-winsock.patch new file mode 100644 index 0000000000000..47ffb5454d1b3 --- /dev/null +++ b/recipes/rpclib/all/patches/2.3.0-0001-win-link-winsock.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,6 +167,9 @@ if(RPCLIB_COMPILE_DEFINITIONS) + endif() + + target_link_libraries(${PROJECT_NAME} ${RPCLIB_DEP_LIBRARIES}) ++if (WIN32) ++ target_link_libraries(${PROJECT_NAME} mswsock ws2_32) ++endif() + target_include_directories( + ${PROJECT_NAME} PUBLIC + $ From c4af9f76f4602318733528ba012279f176cc7283 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 15 Oct 2023 16:36:37 +0200 Subject: [PATCH 2112/4087] (#20554) wslay: fix mingw shared --- recipes/wslay/all/patches/0001-msvc-support.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wslay/all/patches/0001-msvc-support.patch b/recipes/wslay/all/patches/0001-msvc-support.patch index a689fc2452be1..b8e26fd0b44af 100644 --- a/recipes/wslay/all/patches/0001-msvc-support.patch +++ b/recipes/wslay/all/patches/0001-msvc-support.patch @@ -44,14 +44,14 @@ index 4af972e..96b5392 100644 if(WSLAY_STATIC) add_library(wslay STATIC ${SOURCES} ${HEADERS}) list(APPEND WSLAY_TARGETS wslay) -+ if(MSVC) ++ if(WIN32) + target_link_libraries(wslay PUBLIC ws2_32) + endif() endif() if(WSLAY_SHARED) add_library(wslay_shared SHARED ${SOURCES} ${HEADERS}) list(APPEND WSLAY_TARGETS wslay_shared) -+ if(MSVC) ++ if(WIN32) + target_link_libraries(wslay_shared PUBLIC ws2_32) + endif() endif() From d969a988f37eb370925a2b4def1ec473ca890e1a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 15 Oct 2023 16:54:44 +0200 Subject: [PATCH 2113/4087] (#20555) tinkerforge-bindings: fix MinGW shared --- .../tinkerforge-bindings/all/CMakeLists.txt | 31 +++++++++---------- recipes/tinkerforge-bindings/all/conanfile.py | 1 + 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/recipes/tinkerforge-bindings/all/CMakeLists.txt b/recipes/tinkerforge-bindings/all/CMakeLists.txt index 9c3750e3fa826..64a0e8e101bed 100644 --- a/recipes/tinkerforge-bindings/all/CMakeLists.txt +++ b/recipes/tinkerforge-bindings/all/CMakeLists.txt @@ -1,23 +1,22 @@ -cmake_minimum_required(VERSION 3.4) -project(tinkerforge_bindings) +cmake_minimum_required(VERSION 3.15) +project(tinkerforge_bindings LANGUAGES C) -set(SOURCES_DIR ${CMAKE_CURRENT_LIST_DIR}/src) +file(GLOB TINK_SOURCES ${TINKERFORGE_BINDINGS_SRC_DIR}/source/*.c) +file(GLOB TINK_HEADERS ${TINKERFORGE_BINDINGS_SRC_DIR}/source/*.h) -file(GLOB SOURCES ${SOURCES_DIR}/source/*.c) -file(GLOB HEADERS ${SOURCES_DIR}/source/*.h) - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_library(${PROJECT_NAME} ${SOURCES}) - -if(MSVC) - target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 advapi32) +add_library(${PROJECT_NAME} ${TINK_SOURCES}) +set_target_properties(${PROJECT_NAME} PROPERTIES + PUBLIC_HEADER "${TINK_HEADERS}" + WINDOWS_EXPORT_ALL_SYMBOLS ON +) +if(WIN32) + target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 advapi32) endif() include(GNUInstallDirs) -set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS}") install(TARGETS ${PROJECT_NAME} - PUBLIC_HEADER DESTINATION include + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) diff --git a/recipes/tinkerforge-bindings/all/conanfile.py b/recipes/tinkerforge-bindings/all/conanfile.py index f287887f2f3ea..43201b9ca3934 100644 --- a/recipes/tinkerforge-bindings/all/conanfile.py +++ b/recipes/tinkerforge-bindings/all/conanfile.py @@ -53,6 +53,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + tc.variables["TINKERFORGE_BINDINGS_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.generate() def build(self): From b0b94d2076a8c929d75cd15153235a69c807565c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 16 Oct 2023 00:24:16 +0900 Subject: [PATCH 2114/4087] (#20560) thelink2012-any: add version cci.20230118 --- recipes/thelink2012-any/all/conandata.yml | 3 +++ recipes/thelink2012-any/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/thelink2012-any/all/conandata.yml b/recipes/thelink2012-any/all/conandata.yml index 05fc280a1c100..71bf293016c65 100644 --- a/recipes/thelink2012-any/all/conandata.yml +++ b/recipes/thelink2012-any/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230118": + url: "https://github.com/thelink2012/any/archive/e88b1bfc160fa9b01e6174dd29c812eeeece3be9.tar.gz" + sha256: "4be9b7be551a61730c85c3e08f8513ad217874d0c3f966d8f9eb5e0892424f55" "cci.20200719": url: "https://github.com/thelink2012/any/archive/f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb.tar.gz" sha256: "1cd121a2fb27936213397ff4ff94fe4d6d4e28cabc13894cc4512eb046d71be8" diff --git a/recipes/thelink2012-any/config.yml b/recipes/thelink2012-any/config.yml index 1eac063d13841..cdbc38379aaf4 100644 --- a/recipes/thelink2012-any/config.yml +++ b/recipes/thelink2012-any/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230118": + folder: all "cci.20200719": folder: all From a80e786407b9e799e987654147236153e591059b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 16 Oct 2023 00:43:06 +0900 Subject: [PATCH 2115/4087] (#20577) oniguruma: add version 6.9.9 --- recipes/oniguruma/all/conandata.yml | 3 +++ recipes/oniguruma/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/oniguruma/all/conandata.yml b/recipes/oniguruma/all/conandata.yml index 1d4c5ee6c5192..d74493648d9a9 100644 --- a/recipes/oniguruma/all/conandata.yml +++ b/recipes/oniguruma/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.9.9": + url: "https://github.com/kkos/oniguruma/releases/download/v6.9.9/onig-6.9.9.tar.gz" + sha256: "60162bd3b9fc6f4886d4c7a07925ffd374167732f55dce8c491bfd9cd818a6cf" "6.9.8": url: "https://github.com/kkos/oniguruma/releases/download/v6.9.8/onig-6.9.8.tar.gz" sha256: "28cd62c1464623c7910565fb1ccaaa0104b2fe8b12bcd646e81f73b47535213e" diff --git a/recipes/oniguruma/config.yml b/recipes/oniguruma/config.yml index 271aea5702065..9cf31a690977c 100644 --- a/recipes/oniguruma/config.yml +++ b/recipes/oniguruma/config.yml @@ -1,4 +1,6 @@ versions: + "6.9.9": + folder: all "6.9.8": folder: all "6.9.7.1": From b146d411c909d6efc997715981d6f98b427d54d0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 16 Oct 2023 06:08:51 +0900 Subject: [PATCH 2116/4087] (#20583) sqlpp11: add version 0.64 --- recipes/sqlpp11/all/conandata.yml | 3 +++ recipes/sqlpp11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlpp11/all/conandata.yml b/recipes/sqlpp11/all/conandata.yml index 3357310d8ea8c..6b607672eff4f 100644 --- a/recipes/sqlpp11/all/conandata.yml +++ b/recipes/sqlpp11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.64": + url: "https://github.com/rbock/sqlpp11/archive/0.64.tar.gz" + sha256: "72e6d37c716cc45b38c3cf4541604f16224aaa3b511d1f1d0be0c49176c3be86" "0.63": url: "https://github.com/rbock/sqlpp11/archive/0.63.tar.gz" sha256: "8e8229501679435e5052c2184d6772e4d6f61e6a9e2ec7231c5fb9a3d3b88d7e" diff --git a/recipes/sqlpp11/config.yml b/recipes/sqlpp11/config.yml index e0a6c05b5e927..cd4a669a1a8d7 100644 --- a/recipes/sqlpp11/config.yml +++ b/recipes/sqlpp11/config.yml @@ -1,4 +1,6 @@ versions: + "0.64": + folder: "all" "0.63": folder: "all" "0.62": From 2bca4c6737ecd588e5c8f384eeb9cc1212ae2ab7 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 16 Oct 2023 15:08:23 +0900 Subject: [PATCH 2117/4087] (#20585) tomlplusplus: add version 3.4.0 --- recipes/tomlplusplus/all/conandata.yml | 3 +++ recipes/tomlplusplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tomlplusplus/all/conandata.yml b/recipes/tomlplusplus/all/conandata.yml index a459f949569ec..63de1cac4b075 100644 --- a/recipes/tomlplusplus/all/conandata.yml +++ b/recipes/tomlplusplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + url: "https://github.com/marzer/tomlplusplus/archive/v3.4.0.tar.gz" + sha256: "8517f65938a4faae9ccf8ebb36631a38c1cadfb5efa85d9a72e15b9e97d25155" "3.3.0": url: "https://github.com/marzer/tomlplusplus/archive/v3.3.0.tar.gz" sha256: "fc1a5eb410f3c67e90e5ad1264a1386d020067cfb01b633cc8c0441789aa6cf2" diff --git a/recipes/tomlplusplus/config.yml b/recipes/tomlplusplus/config.yml index 4cd7ca8687e68..0705075264b76 100644 --- a/recipes/tomlplusplus/config.yml +++ b/recipes/tomlplusplus/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: all "3.3.0": folder: all "3.2.0": From d2f965efde16837df41d0105b241fe59f8af8e45 Mon Sep 17 00:00:00 2001 From: Hans-Joachim Krauch Date: Mon, 16 Oct 2023 08:24:33 +0200 Subject: [PATCH 2118/4087] (#18885) foxglove-websocket: Add version 1.1.0 * foxglove-websocket: Add version 1.1.0 * foxglove-websocket: Add asio option * foxglove-websocket: Remove asio option False * foxglove-websocket: Update tag hash sum * foxglove-websocket: Use transitive headers for websocketpp * Update recipes/foxglove-websocket/all/conanfile.py * Set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS true for win shared --------- Co-authored-by: Carlos Zoido --- recipes/foxglove-websocket/all/conandata.yml | 3 +++ recipes/foxglove-websocket/all/conanfile.py | 8 ++++++-- recipes/foxglove-websocket/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/foxglove-websocket/all/conandata.yml b/recipes/foxglove-websocket/all/conandata.yml index 30a26f91bb4d6..8f15ef7f494fb 100644 --- a/recipes/foxglove-websocket/all/conandata.yml +++ b/recipes/foxglove-websocket/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 1.1.0: + url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.1.0.tar.gz + sha256: 3ad1f639e340e878dd638d542e57185b8c7c08fdfcb03d8c43d054957078a81f 1.0.0: url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.0.0.tar.gz sha256: c6106934a47d9d5b53ee3f6a0a6c8ec778ffdb52e9b462136bfc1bc5391ed227 diff --git a/recipes/foxglove-websocket/all/conanfile.py b/recipes/foxglove-websocket/all/conanfile.py index 60557d9c03f13..666816b0d5820 100644 --- a/recipes/foxglove-websocket/all/conanfile.py +++ b/recipes/foxglove-websocket/all/conanfile.py @@ -20,10 +20,12 @@ class FoxgloveWebSocketConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "asio": ["boost", "standalone"], } default_options = { "shared": False, "fPIC": True, + "asio": "standalone" } settings = "os", "arch", "compiler", "build_type" @@ -65,13 +67,15 @@ def validate(self): def requirements(self): self.requires("nlohmann_json/3.10.5", transitive_headers=True) - self.requires("websocketpp/0.8.2") + self.requires("websocketpp/0.8.2", transitive_headers=True, transitive_libs=True) def layout(self): cmake_layout(self, src_folder="src") def generate(self): tc = CMakeToolchain(self) + if self.settings.os == "Windows" and self.options.shared: + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() def config_options(self): @@ -79,7 +83,7 @@ def config_options(self): del self.options.fPIC def configure(self): - self.options["websocketpp"].asio = "standalone" + self.options["websocketpp"].asio = self.options.asio if self.options.shared: self.options.rm_safe("fPIC") diff --git a/recipes/foxglove-websocket/config.yml b/recipes/foxglove-websocket/config.yml index 3e794e52e592a..29bb1651937f8 100644 --- a/recipes/foxglove-websocket/config.yml +++ b/recipes/foxglove-websocket/config.yml @@ -1,3 +1,5 @@ versions: + 1.1.0: + folder: all 1.0.0: folder: all From 71b404d85bce95fff5bf03d8a7ffc59fc6b161f3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 16 Oct 2023 14:13:02 +0300 Subject: [PATCH 2119/4087] (#19582) gtsam: add v4.2, remove v4.2.0a9 pre-release, bump deps * gtsam: add v4.2, remove v4.2.0a9 pre-release, bump deps * gtsam: update config.yml --- recipes/gtsam/all/conandata.yml | 12 ++++-------- recipes/gtsam/all/conanfile.py | 6 +++--- .../patches/4.2.0a9-0001-fix-invalid-include.patch | 12 ------------ recipes/gtsam/config.yml | 2 +- 4 files changed, 8 insertions(+), 24 deletions(-) delete mode 100644 recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch diff --git a/recipes/gtsam/all/conandata.yml b/recipes/gtsam/all/conandata.yml index eecf7c3eb615e..243d25034c49e 100644 --- a/recipes/gtsam/all/conandata.yml +++ b/recipes/gtsam/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "4.2.0a9": - url: "https://github.com/borglab/gtsam/archive/refs/tags/4.2a9.tar.gz" - sha256: "a9790e5132bfb2705a5985a1505c3cf9cdf95b711be8352ffa9a9299b279f2f8" + "4.2": + url: "https://github.com/borglab/gtsam/archive/refs/tags/4.2.tar.gz" + sha256: "9ff8846d0a83a245c284cb5760ec2d74535ef9b5885183ccfefd7ff122eba60e" "4.1.1": url: "https://github.com/borglab/gtsam/archive/4.1.1.tar.gz" sha256: "c7b5e6cdad52b141c272778f47baf628975457be3e26ed96a7bc2ae685a00af0" @@ -9,7 +9,7 @@ sources: url: "https://github.com/borglab/gtsam/archive/4.0.3.tar.gz" sha256: "eaa561749edf7a2d402981828253e28aed6c717dae35738301c5ab23e2595f25" patches: - "4.2.0a9": + "4.2": - patch_file: "patches/4.1.1-0001-cmake-boost.patch" patch_description: "Use boost targets" patch_type: "conan" @@ -19,10 +19,6 @@ patches: - patch_file: "patches/4.2.0-0002-eigen3-version.patch" patch_description: "Get Eigen3 version info from Conan" patch_type: "conan" - - patch_file: "patches/4.2.0a9-0001-fix-invalid-include.patch" - patch_description: "Fix an invalid include for pre-C++17 compatibility" - patch_type: "portability" - patch_source: "https://github.com/borglab/gtsam/pull/1545" "4.1.1": - patch_file: "patches/4.1.1-0001-cmake-boost.patch" patch_description: "Use boost targets" diff --git a/recipes/gtsam/all/conanfile.py b/recipes/gtsam/all/conanfile.py index 4320c2bbb7e69..bca7930e912c2 100644 --- a/recipes/gtsam/all/conanfile.py +++ b/recipes/gtsam/all/conanfile.py @@ -138,12 +138,12 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) self.requires("eigen/3.4.0", transitive_headers=True) if self.options.with_TBB: - self.requires("onetbb/2021.9.0", transitive_headers=True) + self.requires("onetbb/2021.10.0", transitive_headers=True) if self.options.default_allocator == "tcmalloc": - self.requires("gperftools/2.10.0") + self.requires("gperftools/2.11.0") # TODO: add use_vendored_metis=False option # if self.options.support_nested_dissection and not self.options.use_vendored_metis: # # Used in a public header here: diff --git a/recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch b/recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch deleted file mode 100644 index a0431a45e608d..0000000000000 --- a/recipes/gtsam/all/patches/4.2.0a9-0001-fix-invalid-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/gtsam/sfm/DsfTrackGenerator.h b/gtsam/sfm/DsfTrackGenerator.h ---- a/gtsam/sfm/DsfTrackGenerator.h (revision c57988fe554e7213c77fe379c1d7c483de26ad33) -+++ b/gtsam/sfm/DsfTrackGenerator.h (revision 26a37d62103a9b3b828d36e8b1a76f875ed842e3) -@@ -22,7 +22,7 @@ - - #include - #include --#include -+#include - #include - - namespace gtsam { diff --git a/recipes/gtsam/config.yml b/recipes/gtsam/config.yml index 9c6d4a9be25c5..92f20f30ab347 100644 --- a/recipes/gtsam/config.yml +++ b/recipes/gtsam/config.yml @@ -1,5 +1,5 @@ versions: - "4.2.0a9": + "4.2": folder: all "4.1.1": folder: all From 9d98cdf1ec5720e93f6847f5c0d364e1b2442b43 Mon Sep 17 00:00:00 2001 From: Maksim Petukhov <6967052+maksim-petukhov@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:06:47 +0200 Subject: [PATCH 2120/4087] (#18058) m4: fix windows x86 build and test_package --- recipes/m4/all/conanfile.py | 14 ++++++++++++++ recipes/m4/all/test_package/conanfile.py | 9 +++++---- recipes/m4/all/test_v1_package/conanfile.py | 9 +++++---- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/recipes/m4/all/conanfile.py b/recipes/m4/all/conanfile.py index 9065a183bd21a..dadcf2b1794c2 100644 --- a/recipes/m4/all/conanfile.py +++ b/recipes/m4/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.build import cross_building from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.gnu import Autotools, AutotoolsToolchain @@ -67,6 +68,19 @@ def generate(self): "-rtlib=compiler-rt", "-Wno-unused-command-line-argument", ]) + if cross_building(self) and is_msvc(self): + triplet_arch_windows = {"x86_64": "x86_64", "x86": "i686", "armv8": "aarch64"} + + host_arch = triplet_arch_windows.get(str(self.settings.arch)) + build_arch = triplet_arch_windows.get(str(self._settings_build.arch)) + + if host_arch and build_arch: + host = f"{host_arch}-w64-mingw32" + build = f"{build_arch}-w64-mingw32" + tc.configure_args.extend([ + f"--host={host}", + f"--build={build}", + ]) if self.settings.os == "Windows": tc.configure_args.append("ac_cv_func__set_invalid_parameter_handler=yes") env = tc.environment() diff --git a/recipes/m4/all/test_package/conanfile.py b/recipes/m4/all/test_package/conanfile.py index b665b86aad8f3..4a294edf870e7 100644 --- a/recipes/m4/all/test_package/conanfile.py +++ b/recipes/m4/all/test_package/conanfile.py @@ -26,11 +26,12 @@ def build(self): """)) def test(self): - self.run("m4 --version") - self.run(f"m4 -P {self._m4_input_path}") + extension = ".exe" if self.settings.os == "Windows" else "" + self.run(f"m4{extension} --version") + self.run(f"m4{extension} -P {self._m4_input_path}") - self.run(f"m4 -R {self.source_folder}/frozen.m4f {self.source_folder}/test.m4") + self.run(f"m4{extension} -R {self.source_folder}/frozen.m4f {self.source_folder}/test.m4") output = StringIO() - self.run(f"m4 -P {self._m4_input_path}", output) + self.run(f"m4{extension} -P {self._m4_input_path}", output) assert "Harry, Jr. met Sally" in output.getvalue() diff --git a/recipes/m4/all/test_v1_package/conanfile.py b/recipes/m4/all/test_v1_package/conanfile.py index 23409570c2d3d..fdefc9766275f 100644 --- a/recipes/m4/all/test_v1_package/conanfile.py +++ b/recipes/m4/all/test_v1_package/conanfile.py @@ -30,12 +30,13 @@ def test(self): raise ConanException("M4 environment variable not set") if not tools.cross_building(self, skip_x64_x86=True): - self.run("{} --version".format(m4_bin), run_environment=True) - self.run("{} -P {}".format(m4_bin, self._m4_input_path)) + self.run(f"{m4_bin} --version", run_environment=True) + self.run(f"{m4_bin} -P {self._m4_input_path}") - self.run("m4 -R {0}/frozen.m4f {0}/test.m4".format(os.path.join(self.source_folder, os.pardir, "test_package"), run_environment=True)) + test_package_dir = os.path.join(self.source_folder, os.pardir, "test_package") + self.run(f"{m4_bin} -R {test_package_dir}/frozen.m4f {test_package_dir}/test.m4", run_environment=True) output = StringIO() - self.run("{} -P {}".format(m4_bin, self._m4_input_path), output=output) + self.run(f"{m4_bin} -P {self._m4_input_path}", output=output) assert "Harry, Jr. met Sally" in output.getvalue() From 9445805f8118f658b6c0fa2e882e1e84ebdcd317 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 16 Oct 2023 15:41:49 +0200 Subject: [PATCH 2121/4087] (#20411) ulfius/all: bump libcurl, fix missing transitive headers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ulfius/all: bump libcurl * fix transitive headers * Add missing package_type --------- Co-authored-by: Rubén Rincón Blanco --- recipes/ulfius/all/conanfile.py | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/recipes/ulfius/all/conanfile.py b/recipes/ulfius/all/conanfile.py index 675ce5de0ba1e..ef99e9603e550 100644 --- a/recipes/ulfius/all/conanfile.py +++ b/recipes/ulfius/all/conanfile.py @@ -6,7 +6,7 @@ import os import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class UlfiusConan(ConanFile): @@ -16,6 +16,8 @@ class UlfiusConan(ConanFile): topics = ("web", "http", "rest", "endpoint", "json", "websocket") license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -49,28 +51,19 @@ def validate(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 requirements(self): - self.requires("orcania/2.3.1") - self.requires("libmicrohttpd/0.9.75") + self.requires("orcania/2.3.1", transitive_headers=True) + self.requires("libmicrohttpd/0.9.75", transitive_headers=True) if self.options.with_yder: - self.requires("yder/1.4.18") + self.requires("yder/1.4.18", transitive_headers=True) if self.options.with_jansson: - self.requires("jansson/2.14") + self.requires("jansson/2.14", transitive_headers=True) if self.options.with_libcurl: - self.requires("libcurl/7.85.0") + self.requires("libcurl/8.2.1") def source(self): get(self, **self.conan_data["sources"][self.version], From 6b8d8f4baf91495d53e1502037f822b21ecbf917 Mon Sep 17 00:00:00 2001 From: Joris Putcuyps Date: Mon, 16 Oct 2023 18:13:57 +0200 Subject: [PATCH 2122/4087] (#20558) fltk: Disable xft to fix compilation on Linux * fltk: add missing xft to fix compilation on Linux * For now disable Xft so it at least compiles on Linux * We can still enable xft with an option. * Disable some opengl dependencies when building without opengl. --- recipes/fltk/all/conanfile.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 6651e281a97d2..476a0b8ff9627 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -25,6 +25,7 @@ class FltkConan(ConanFile): "with_threads": [True, False], "with_gdiplus": [True, False], "abi_version": ["ANY"], + "with_xft": [True, False], } default_options = { "shared": False, @@ -32,6 +33,7 @@ class FltkConan(ConanFile): "with_gl": True, "with_threads": True, "with_gdiplus": True, + "with_xft": False, } def export_sources(self): @@ -68,10 +70,13 @@ def requirements(self): self.requires("libjpeg/9e") self.requires("libpng/1.6.40") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("opengl/system") - self.requires("glu/system") + if self.options.with_gl: + self.requires("opengl/system") + self.requires("glu/system") self.requires("fontconfig/2.14.2") self.requires("xorg/system") + if self.options.with_xft: + self.requires("libxft/2.3.6") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -85,6 +90,7 @@ def generate(self): tc.variables["OPTION_USE_THREADS"] = self.options.with_threads tc.variables["OPTION_BUILD_HTML_DOCUMENTATION"] = False tc.variables["OPTION_BUILD_PDF_DOCUMENTATION"] = False + tc.variables["OPTION_USE_XFT"] = self.options.with_xft if self.options.abi_version: tc.variables["OPTION_ABI_VERSION"] = self.options.abi_version tc.generate() @@ -119,8 +125,10 @@ def package_info(self): elif is_apple_os(self): self.cpp_info.frameworks = [ "AppKit", "ApplicationServices", "Carbon", "Cocoa", "CoreFoundation", "CoreGraphics", - "CoreText", "CoreVideo", "Foundation", "IOKit", "OpenGL", + "CoreText", "CoreVideo", "Foundation", "IOKit", ] + if self.options.with_gl: + self.cpp_info.frameworks.append("OpenGL") elif self.settings.os == "Windows": if self.options.shared: self.cpp_info.defines.append("FL_DLL") From b8ba2ecc58ea70ccfafbb617c65a4a7a59749f23 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 16 Oct 2023 19:39:10 +0200 Subject: [PATCH 2123/4087] (#20562) yajl: fix MinGW + package either static or shared lib * several fixes - fix build with MinGW - disable build of doc, example, test, perf - better way to install relocatable shared lib for macOS - better way to install dll into bin folder - package either static or shared - add `YAJL_SHARED` interface definition if shared * set CMP0026 to OLD --- recipes/yajl/all/conandata.yml | 5 ++ recipes/yajl/all/conanfile.py | 21 +++-- .../all/patches/2.1.0-0001-fix-cmake.patch | 85 +++++++++++++++++++ 3 files changed, 103 insertions(+), 8 deletions(-) create mode 100644 recipes/yajl/all/patches/2.1.0-0001-fix-cmake.patch diff --git a/recipes/yajl/all/conandata.yml b/recipes/yajl/all/conandata.yml index 21b18ea006ef3..423a49f097b2a 100644 --- a/recipes/yajl/all/conandata.yml +++ b/recipes/yajl/all/conandata.yml @@ -2,3 +2,8 @@ sources: "2.1.0": url: "https://github.com/lloyd/yajl/archive/refs/tags/2.1.0.tar.gz" sha256: "3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a" +patches: + "2.1.0": + - patch_file: "patches/2.1.0-0001-fix-cmake.patch" + patch_description: "CMake: fix mingw, disable build of doc/test/perf/example, relocatable shared lib for macos, install DLL into bin folder" + patch_type: "conan" diff --git a/recipes/yajl/all/conanfile.py b/recipes/yajl/all/conanfile.py index ba0bf3ca1a52e..0ce7fb086eb0d 100644 --- a/recipes/yajl/all/conanfile.py +++ b/recipes/yajl/all/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir, rename from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir import os required_conan_version = ">=1.53.0" @@ -25,6 +24,9 @@ class YAJLConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -46,6 +48,7 @@ def generate(self): tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -54,16 +57,18 @@ 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")) - - # We need to move the dll from lib to bin in order for it to be found later - if self.settings.os == "Windows": - rename(self, os.path.join(self.package_folder, "lib", "yajl.dll"), os.path.join(self.package_folder, "bin", "yajl.dll")) - fix_apple_shared_install_name(self) + # Keep either shared or static lib depending on shared option + if self.options.shared: + rm(self, "*yajl_s.*", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*yajl.*", os.path.join(self.package_folder, "bin")) + rm(self, "*yajl.*", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.libs = ["yajl"] if self.options.shared else ["yajl_s"] + if self.options.shared: + self.cpp_info.defines.append("YAJL_SHARED") # https://github.com/lloyd/yajl/blob/5e3a7856e643b4d6410ddc3f84bc2f38174f2872/src/CMakeLists.txt#L64 self.cpp_info.set_property("pkg_config_name", "yajl") diff --git a/recipes/yajl/all/patches/2.1.0-0001-fix-cmake.patch b/recipes/yajl/all/patches/2.1.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..3ef6d80c27339 --- /dev/null +++ b/recipes/yajl/all/patches/2.1.0-0001-fix-cmake.patch @@ -0,0 +1,85 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,7 +12,10 @@ + # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +-CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.15) ++if(POLICY CMP0026) ++ cmake_policy(SET CMP0026 OLD) ++endif() + + PROJECT(YetAnotherJSONParser C) + +@@ -26,6 +29,7 @@ IF (NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE "Release") + ENDIF (NOT CMAKE_BUILD_TYPE) + ++if(0) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + + IF (WIN32) +@@ -61,16 +65,13 @@ ELSE (WIN32) + SET(CMAKE_C_FLAGS_DEBUG "-DDEBUG -g") + SET(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2 -Wuninitialized") + ENDIF (WIN32) ++endif() + + + ADD_SUBDIRECTORY(src) +-ADD_SUBDIRECTORY(test) + ADD_SUBDIRECTORY(reformatter) + ADD_SUBDIRECTORY(verify) +-ADD_SUBDIRECTORY(example) +-ADD_SUBDIRECTORY(perf) + +-INCLUDE(YAJLDoc.cmake) + + # a test target + ADD_CUSTOM_TARGET(test +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -25,7 +25,6 @@ SET (PUB_HDRS api/yajl_parse.h api/yajl_gen.h api/yajl_common.h api/yajl_tree.h) + # Ensure defined when building YAJL (as opposed to using it from + # another project). Used to ensure correct function export when + # building win32 DLL. +-ADD_DEFINITIONS(-DYAJL_BUILD) + + # set up some paths + SET (libDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib) +@@ -37,20 +36,19 @@ SET(LIBRARY_OUTPUT_PATH ${libDir}) + + ADD_LIBRARY(yajl_s STATIC ${SRCS} ${HDRS} ${PUB_HDRS}) + ++target_compile_features(yajl_s PRIVATE c_std_99) + ADD_LIBRARY(yajl SHARED ${SRCS} ${HDRS} ${PUB_HDRS}) ++target_compile_features(yajl PRIVATE c_std_99) ++target_compile_definitions(yajl PUBLIC YAJL_SHARED) + + #### setup shared library version number + SET_TARGET_PROPERTIES(yajl PROPERTIES +- DEFINE_SYMBOL YAJL_SHARED ++ DEFINE_SYMBOL YAJL_BUILD ++ C_VISIBILITY_PRESET hidden + SOVERSION ${YAJL_MAJOR} + VERSION ${YAJL_MAJOR}.${YAJL_MINOR}.${YAJL_MICRO}) + + #### ensure a .dylib has correct absolute installation paths upon installation +-IF(APPLE) +- MESSAGE("INSTALL_NAME_DIR: ${CMAKE_INSTALL_PREFIX}/lib") +- SET_TARGET_PROPERTIES(yajl PROPERTIES +- INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +-ENDIF(APPLE) + + #### build up an sdk as a post build step + +@@ -78,7 +76,7 @@ INCLUDE_DIRECTORIES(${incDir}/..) + # at build time you may specify the cmake variable LIB_SUFFIX to handle + # 64-bit systems which use 'lib64' + INSTALL(TARGETS yajl +- RUNTIME DESTINATION lib${LIB_SUFFIX} ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX}) From ae5211da314e288b2a7ac0e2c4897cf3e7aaa354 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 16 Oct 2023 23:24:29 +0300 Subject: [PATCH 2124/4087] (#18629) libsass: migrate to Conan v2 * libsass: migrate to Conan v2 * libsass: inject platform toolset * libsass: fix MSVC build, add VS 2022 support * libsass: fix MSVC properties injection --- recipes/libsass/all/conanfile.py | 205 ++++++++++-------- .../libsass/all/test_package/CMakeLists.txt | 5 +- recipes/libsass/all/test_package/conanfile.py | 23 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../libsass/all/test_v1_package/conanfile.py | 17 ++ 5 files changed, 157 insertions(+), 101 deletions(-) create mode 100644 recipes/libsass/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libsass/all/test_v1_package/conanfile.py diff --git a/recipes/libsass/all/conanfile.py b/recipes/libsass/all/conanfile.py index 374c7b2afb2fd..9bc7cc167e99f 100644 --- a/recipes/libsass/all/conanfile.py +++ b/recipes/libsass/all/conanfile.py @@ -1,36 +1,34 @@ from conan import ConanFile -from conan.tools.files import get, chdir, save, replace_in_file, rmdir, rm -from conan.tools.microsoft import is_msvc -from conans import AutoToolsBuildEnvironment, MSBuild, tools +from conan.tools.build import stdcpp_library +from conan.tools.files import chdir, copy, get, replace_in_file, rm, rmdir, save +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, MSBuildToolchain, is_msvc import os import re -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class LibsassConan(ConanFile): name = "libsass" + description = "A C/C++ implementation of a Sass compiler" license = "MIT" - homepage = "libsass.org" url = "https://github.com/conan-io/conan-center-index" - description = "A C/C++ implementation of a Sass compiler" - topics = ("Sass", "LibSass", "compiler") - settings = "os", "compiler", "build_type", "arch" + homepage = "libsass.org" + topics = ("Sass", "compiler") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _is_mingw(self): return self.settings.os == "Windows" and self.settings.compiler == "gcc" @@ -41,107 +39,134 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def build_requirements(self): if self.settings.os != "Windows": self.tool_requires("libtool/2.4.7") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - args = [] - args.append("--disable-tests") - args.append("--enable-%s" % ("shared" if self.options.shared else "static")) - args.append("--disable-%s" % ("static" if self.options.shared else "shared")) - self._autotools.configure(args=args) - return self._autotools - - def _build_autotools(self): - with chdir(self, self._source_subfolder): - save(self, path="VERSION", content=f"{self.version}") - self.run("{} -fiv".format(tools.get_env("AUTORECONF"))) - autotools = self._configure_autotools() - autotools.make() + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property - def _make_program(self): - return tools.get_env("CONAN_MAKE_PROGRAM", tools.which("make") or tools.which("mingw32-make")) - - def _build_mingw(self): - makefile = os.path.join(self._source_subfolder, "Makefile") - replace_in_file(self, makefile, "CFLAGS += -O2", "") - replace_in_file(self, makefile, "CXXFLAGS += -O2", "") - replace_in_file(self, makefile, "LDFLAGS += -O2", "") - with chdir(self, self._source_subfolder): - env_vars = AutoToolsBuildEnvironment(self).vars - env_vars.update({ - "BUILD": "shared" if self.options.shared else "static", - "PREFIX": tools.unix_path(os.path.join(self.package_folder)), + def _msbuild_configuration(self): + return "Debug" if self.settings.build_type == "Debug" else "Release" + + def generate(self): + if not is_msvc(self): + tc = AutotoolsToolchain(self) + tc.configure_args += ["--disable-tests"] + env = tc.environment() + if self._is_mingw: + env.define("BUILD", "shared" if self.options.shared else "static") # Don't force static link to mingw libs, leave this decision to consumer (through LDFLAGS in env) - "STATIC_ALL": "0", - "STATIC_LIBGCC": "0", - "STATIC_LIBSTDCPP": "0", - }) - with tools.environment_append(env_vars): - self.run(f"{self._make_program} -f Makefile") - - def _build_visual_studio(self): - with chdir(self, self._source_subfolder): - properties = { - "LIBSASS_STATIC_LIB": "" if self.options.shared else "true", - "WholeProgramOptimization": "true" if any(re.finditer("(^| )[/-]GL($| )", tools.get_env("CFLAGS", ""))) else "false", - } - platforms = { - "x86": "Win32", - "x86_64": "Win64" - } - msbuild = MSBuild(self) - msbuild.build(os.path.join("win", "libsass.sln"), platforms=platforms, properties=properties) + env.define("STATIC_ALL", "0") + env.define("STATIC_LIBGCC", "0") + env.define("STATIC_LIBSTDCPP", "0") + tc.generate(env) + else: + with chdir(self, self.source_folder): + tc = MSBuildToolchain(self) + tc.configuration = self._msbuild_configuration + tc.platform = "Win32" if self.settings.arch == "x86" else "Win64" + tc.properties["LIBSASS_STATIC_LIB"] = "" if self.options.shared else "true" + wpo_enabled = any(re.finditer("(^| )[/-]GL($| )", os.environ.get("CFLAGS", ""))) + tc.properties["WholeProgramOptimization"] = "true" if wpo_enabled else "false" + tc.generate() + + def _patch_sources(self): + if is_msvc(self): + # TODO: to remove once https://github.com/conan-io/conan/pull/12817 available in conan client + platform_toolset = MSBuildToolchain(self).toolset + import_conan_generators = "" + for props_file in ["conantoolchain.props", "conandeps.props"]: + props_path = os.path.join(self.generators_folder, props_file) + if os.path.exists(props_path): + import_conan_generators += f'' + vcxproj_file = os.path.join(self.source_folder, "win", "libsass.vcxproj") + for exiting_toolset in ["v120", "v140", "v141", "v142", "v143"]: + replace_in_file(self, vcxproj_file, + f"{exiting_toolset}", + f"{platform_toolset}", strict=False) + # Inject VS 2022 support + replace_in_file(self, vcxproj_file, + '\n' + f' {platform_toolset}\n' + '\n' + '', + f'msbuild/2003">\n{import_conan_generators}') + else: + makefile = os.path.join(self.source_folder, "Makefile") + replace_in_file(self, makefile, "+= -O2", "+=") def build(self): - if self._is_mingw: - self._build_mingw() - elif is_msvc(self): - self._build_visual_studio() - else: - self._build_autotools() + self._patch_sources() + with chdir(self, self.source_folder): + if is_msvc(self): + msbuild = MSBuild(self) + msbuild.build_type = self._msbuild_configuration + msbuild.platform = "Win32" if self.settings.arch == "x86" else "Win64" + msbuild.build(sln=os.path.join("win", "libsass.sln")) + else: + save(self, path="VERSION", content=f"{self.version}") + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def _install_autotools(self): - with chdir(self, self._source_subfolder): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rm(self, "*.la", self.package_folder, recursive=True) def _install_mingw(self): - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.dll", dst="bin", src=os.path.join(self._source_subfolder, "lib")) - self.copy("*.a", dst="lib", src=os.path.join(self._source_subfolder, "lib")) - - def _install_visual_studio(self): - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.dll", dst="bin", src=os.path.join(self._source_subfolder, "win", "bin"), keep_path=False) - self.copy("*.lib", dst="lib", src=os.path.join(self._source_subfolder, "win", "bin"), keep_path=False) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*.dll", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(self.source_folder, "lib")) + copy(self, "*.a", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "lib")) + + def _install_msvc(self): + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*.dll", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(self.source_folder, "win", "bin"), + keep_path=False) + copy(self, "*.lib", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "win", "bin"), + keep_path=False) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) if self._is_mingw: self._install_mingw() elif is_msvc(self): - self._install_visual_studio() + self._install_msvc() else: self._install_autotools() def package_info(self): - self.cpp_info.names["pkg_config"] = "libsass" + self.cpp_info.set_property("pkg_config_name", "libsass") self.cpp_info.libs = ["libsass" if is_msvc(self) else "sass"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["dl", "m"]) - if not self.options.shared and tools.stdcpp_library(self): - self.cpp_info.system_libs.append(tools.stdcpp_library(self)) + if not self.options.shared and stdcpp_library(self): + self.cpp_info.system_libs.append(stdcpp_library(self)) diff --git a/recipes/libsass/all/test_package/CMakeLists.txt b/recipes/libsass/all/test_package/CMakeLists.txt index 2c3751c7f5fee..fc8049a7834b9 100644 --- a/recipes/libsass/all/test_package/CMakeLists.txt +++ b/recipes/libsass/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 C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(libsass REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/libsass/all/test_package/conanfile.py b/recipes/libsass/all/test_package/conanfile.py index 814aa7bbb26c7..ef5d7042163ec 100644 --- a/recipes/libsass/all/test_package/conanfile.py +++ b/recipes/libsass/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 LibsassTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libsass/all/test_v1_package/CMakeLists.txt b/recipes/libsass/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libsass/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/libsass/all/test_v1_package/conanfile.py b/recipes/libsass/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..814aa7bbb26c7 --- /dev/null +++ b/recipes/libsass/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class LibsassTestConan(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 61c5f2d85756dbb2c0dd7253341b2b769bcd050b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Oct 2023 07:34:21 +0900 Subject: [PATCH 2125/4087] (#20571) cpr: fix wrong url of 1.10.4 --- recipes/cpr/all/conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cpr/all/conandata.yml b/recipes/cpr/all/conandata.yml index fcfeb5ab978f4..f5be9d26f2ba8 100644 --- a/recipes/cpr/all/conandata.yml +++ b/recipes/cpr/all/conandata.yml @@ -1,7 +1,7 @@ sources: "1.10.4": - url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.3.tar.gz" - sha256: "7b9d3504ffdaf7ce3189f1b91d135888776b6a1b26ea1bf2c3c4986b8a5af06f" + url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.4.tar.gz" + sha256: "88462d059cd3df22c4d39ae04483ed50dfd2c808b3effddb65ac3b9aa60b542d" "1.9.3": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.9.3.tar.gz" sha256: "df53e7213d80fdc24583528521f7d3349099f5bb4ed05ab05206091a678cc53c" From 60c1b4dfd6894cbfde1b78686d487e569c1626df Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Oct 2023 07:44:55 +0900 Subject: [PATCH 2126/4087] (#20573) c-blosc2: add version 2.10.5 --- recipes/c-blosc2/all/conandata.yml | 7 + .../all/patches/2.10.5-0001-fix-cmake.patch | 138 ++++++++++++++++++ recipes/c-blosc2/config.yml | 2 + 3 files changed, 147 insertions(+) create mode 100644 recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 974c48eeac698..24cbfc41731fd 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.5": + url: "https://github.com/Blosc/c-blosc2/archive/v2.10.5.tar.gz" + sha256: "a88f94bf839c1371aab8207a6a43698ceb92c72f65d0d7fe5b6e59f24c138b4d" "2.10.2": url: "https://github.com/Blosc/c-blosc2/archive/v2.10.2.tar.gz" sha256: "069785bc14c006c7dab40ea0c620bdf3eb8752663fd55c706d145bceabc2a31d" @@ -27,6 +30,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.2.0.tar.gz" sha256: "66f9977de26d6bc9ea1c0e623d873c3225e4fff709aa09b3335fd09d41d57c0e" patches: + "2.10.5": + - patch_file: "patches/2.10.5-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.10.2": - patch_file: "patches/2.10.2-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch new file mode 100644 index 0000000000000..389b3c771ae6e --- /dev/null +++ b/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch @@ -0,0 +1,138 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 19e203a..aa6ccdd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,26 +167,26 @@ else() + endif() + + if(PREFER_EXTERNAL_LZ4) +- find_package(LZ4) ++ find_package(lz4) + else() + message(STATUS "Using LZ4 internal sources.") + endif() + + if(NOT DEACTIVATE_ZLIB) + if(PREFER_EXTERNAL_ZLIB) +- find_package(ZLIB_NG) +- if(ZLIB_NG_FOUND) ++ find_package(zlib_ng) ++ if(zlib_ng_FOUND) + set(HAVE_ZLIB_NG TRUE) + else() + find_package(ZLIB) + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) + message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") + endif() + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(0) + message(STATUS "Using ZLIB-NG internal sources for ZLIB support.") + set(HAVE_ZLIB_NG TRUE) + add_definitions(-DZLIB_COMPAT) +@@ -207,8 +207,8 @@ endif() + + if(NOT DEACTIVATE_ZSTD) + if(PREFER_EXTERNAL_ZSTD) +- find_package(ZSTD) +- if(NOT ZSTD_FOUND) ++ find_package(zstd) ++ if(NOT zstd_FOUND) + message(STATUS "No ZSTD library found. Using internal sources.") + endif() + else() +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index 8c7cf90..f7efbf5 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -79,15 +79,15 @@ set(INTERNAL_LIBS ${PROJECT_SOURCE_DIR}/internal-complibs) + # link dependencies + # "link" dependent targets via target_link_libraries (preferred) and + # manually add includes / libs for others +-if(LZ4_FOUND) ++if(lz4_FOUND) + if(BUILD_SHARED) +- target_include_directories(blosc2_shared PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc2_shared PUBLIC ${lz4_INCLUDE_DIR}) + endif() + if(BUILD_STATIC) +- target_include_directories(blosc2_static PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc2_static PUBLIC ${lz4_INCLUDE_DIR}) + endif() + if(BUILD_TESTS) +- target_include_directories(blosc_testing PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc_testing PUBLIC ${lz4_INCLUDE_DIR}) + endif() + else() + set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4) +@@ -138,18 +138,18 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) ++ if(zstd_FOUND) + if(BUILD_SHARED) +- target_include_directories(blosc2_shared PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc2_shared PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc2_shared PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc2_shared PUBLIC ${zstd_LIBRARY}) + endif() + if(BUILD_STATIC) + target_include_directories(blosc2_static PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc2_static PUBLIC ${ZSTD_LIBRARY}) ++ target_link_libraries(blosc2_static PUBLIC ${zstd_LIBRARY}) + endif() + if(BUILD_TESTS) +- target_include_directories(blosc_testing PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc_testing PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc_testing PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc_testing PUBLIC ${zstd_LIBRARY}) + endif() + else() + set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.5) +@@ -184,8 +184,8 @@ if(NOT WIN32) + set(LIBS ${LIBS} ${CMAKE_DL_LIBS}) + endif() + +-if(LZ4_FOUND) +- set(LIBS ${LIBS} ${LZ4_LIBRARY}) ++if(lz4_FOUND) ++ set(LIBS ${LIBS} ${lz4_LIBRARIES}) + else() + file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) + list(APPEND SOURCES ${LZ4_FILES}) +@@ -193,8 +193,8 @@ else() + endif() + + if(NOT DEACTIVATE_ZLIB) +- if(ZLIB_NG_FOUND) +- set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) ++ if(zlib_ng_FOUND) ++ set(LIBS ${LIBS} ${zlib_ng_LIBRARIES}) + elseif(ZLIB_FOUND) + set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) + else() +@@ -206,8 +206,8 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) +- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) ++ if(zstd_FOUND) ++ set(LIBS ${LIBS} ${zstd_LIBRARIES}) + else() + # Enable assembly code only when not using MSVC *and* x86 is there + if((NOT MSVC) AND COMPILER_SUPPORT_SSE2) # if SSE2 is here, this is an x86 platform +@@ -262,7 +262,7 @@ list(APPEND SOURCES + blosc/directories.c + blosc/blosc2-stdio.c + blosc/b2nd.c +- blosc/b2nd_utils.c ++ blosc/b2nd_utils.c + ) + if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL arm64) + if(COMPILER_SUPPORT_SSE2) diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 42ffc68cfe344..6ed411197f509 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.5": + folder: all "2.10.2": folder: all "2.10.0": From d3d5c2d1aa3169dd8258eaa8488193e033fc6a1b Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Oct 2023 08:39:40 +0900 Subject: [PATCH 2127/4087] (#20578) numcpp: add 2.12.0 * numcpp: add 2.12.0 * support macOS * drop support apple-clang in 2.12.0 (temporary) * stop importing is_apple_os * add short_paths = True --- recipes/numcpp/all/conandata.yml | 3 +++ recipes/numcpp/all/conanfile.py | 14 ++++++++++---- recipes/numcpp/config.yml | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/recipes/numcpp/all/conandata.yml b/recipes/numcpp/all/conandata.yml index 2dd7a89a18962..ce085d59bfe2b 100644 --- a/recipes/numcpp/all/conandata.yml +++ b/recipes/numcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.0": + url: "https://github.com/dpilger26/NumCpp/archive/Version_2.12.0.tar.gz" + sha256: "4c7266d405c8058f87467732129362b5a5c810d36df91e8655defa4d93fc141b" "2.11.0": url: "https://github.com/dpilger26/NumCpp/archive/Version_2.11.0.tar.gz" sha256: "ea675775c3535589f268224efa31ae6003a68e95a465e92c99496a0c9366bdc2" diff --git a/recipes/numcpp/all/conanfile.py b/recipes/numcpp/all/conanfile.py index a142a263b7704..d8dc35d2e0548 100644 --- a/recipes/numcpp/all/conanfile.py +++ b/recipes/numcpp/all/conanfile.py @@ -12,11 +12,10 @@ class NumCppConan(ConanFile): name = "numcpp" description = "A Templatized Header Only C++ Implementation of the Python NumPy Library" - topics = ("python", "numpy", "numeric") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dpilger26/NumCpp" - license = "MIT" - + topics = ("python", "numpy", "numeric", "header-library") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { @@ -27,8 +26,8 @@ class NumCppConan(ConanFile): "with_boost" : True, "threads" : False, } - no_copy_source = True + short_paths = True @property def _min_cppstd(self): @@ -84,6 +83,13 @@ def validate(self): f"{self.ref} doesn't support clang<12 with libstdc++11 due to filesystem library.", ) + # since 2.12.0, numcpp uses TRUE/FALSE symbol which are defined by macOSX SDK + # https://github.com/dpilger26/NumCpp/issues/204 + if Version(self.version) == "2.12.0" and self.settings.compiler == "apple-clang": + raise ConanInvalidConfiguration( + f"{self.ref} doesn't support apple-clang by defining TRUE/FALSE symbols", + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/numcpp/config.yml b/recipes/numcpp/config.yml index f550cd05e46c5..f22aa27e65517 100644 --- a/recipes/numcpp/config.yml +++ b/recipes/numcpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.0": + folder: "all" "2.11.0": folder: "all" "2.10.1": From 97c68e2ed9458fefd2ba85f4dec13ad4e4060f9d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 17 Oct 2023 02:09:36 +0200 Subject: [PATCH 2128/4087] (#20597) kmod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/kmod/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/kmod/all/conanfile.py b/recipes/kmod/all/conanfile.py index ab20789f1833a..9877db42cb118 100644 --- a/recipes/kmod/all/conanfile.py +++ b/recipes/kmod/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_xz: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_openssl: @@ -59,7 +59,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 90600cfca0d0fc8cfa97fdc5f6d6ec6f398bf57f Mon Sep 17 00:00:00 2001 From: Erin M Date: Tue, 17 Oct 2023 06:37:42 +0200 Subject: [PATCH 2129/4087] (#19679) sdl: add `clang-cl` compatibility, add version 2.28.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sdl: add `clang-cl` support * sdl: add version 2.28.3 * sdl: add missing version to config.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/sdl/all/conandata.yml | 3 +++ recipes/sdl/all/conanfile.py | 11 ++++++++--- recipes/sdl/config.yml | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/recipes/sdl/all/conandata.yml b/recipes/sdl/all/conandata.yml index e6726e853f758..18abe40233950 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.28.3": + url: "https://www.libsdl.org/release/SDL2-2.28.3.tar.gz" + sha256: "7acb8679652701a2504d734e2ba7543ec1a83e310498ddd22fd44bf965eb5518" "2.28.2": url: "https://www.libsdl.org/release/SDL2-2.28.2.tar.gz" sha256: "64b1102fa22093515b02ef33dd8739dee1ba57e9dbba6a092942b8bbed1a1c5e" diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index f04c1dfd85b9b..b9d8b0a0cf837 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -81,6 +81,11 @@ class SDLConan(ConanFile): } generators = "CMakeDeps", "PkgConfigDeps", "VirtualBuildEnv" + @property + def _is_clang_cl(self): + return self.settings.os == "Windows" and self.settings.compiler == "clang" and \ + self.settings.compiler.get_safe("runtime") + def layout(self): cmake_layout(self, src_folder="src") @@ -108,7 +113,7 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if is_msvc(self): + if (is_msvc(self) or self._is_clang_cl): del self.options.iconv if self.settings.os != "Linux": del self.options.alsa @@ -238,7 +243,7 @@ def define_toolchain(self): if self.settings.os != "Windows" and not self.options.shared: tc.variables["SDL_STATIC_PIC"] = self.options.fPIC - if is_msvc(self) and not self.options.shared: + if (is_msvc(self) or self._is_clang_cl) and not self.options.shared: tc.variables["HAVE_LIBC"] = True tc.variables["SDL_SHARED"] = self.options.shared tc.variables["SDL_STATIC"] = not self.options.shared @@ -355,7 +360,7 @@ def package_info(self): # SDL2 lib_postfix = postfix - if self.version >= "2.0.24" and is_msvc(self) and not self.options.shared: + if self.version >= "2.0.24" and (is_msvc(self) or self._is_clang_cl) and not self.options.shared: lib_postfix = "-static" + postfix self.cpp_info.components["libsdl2"].set_property("cmake_target_name", "SDL2::SDL2") diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 31a6d05fcb201..1c617b70e2f30 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.28.3": + folder: all "2.28.2": folder: all "2.26.5": From 0921fd87dadf2f299977edeb2ee94c8079f45682 Mon Sep 17 00:00:00 2001 From: Siarh199 <118337658+Siarh199@users.noreply.github.com> Date: Tue, 17 Oct 2023 07:45:31 +0200 Subject: [PATCH 2130/4087] (#18872) amqp-cpp: add version 4.3.26 --- recipes/amqp-cpp/all/conandata.yml | 13 +++++++++++++ recipes/amqp-cpp/config.yml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/recipes/amqp-cpp/all/conandata.yml b/recipes/amqp-cpp/all/conandata.yml index e4916e22784e3..d9636b6750c96 100644 --- a/recipes/amqp-cpp/all/conandata.yml +++ b/recipes/amqp-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.26": + url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.26.tar.gz" + sha256: "2baaab702f3fd9cce40563dc1e23f433cceee7ec3553bd529a98b1d3d7f7911c" "4.3.24": url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.3.24.tar.gz" sha256: "c3312f8af813cacabf6c257dfaf41bf9e66606bbf7d62d085a9b7da695355245" @@ -9,6 +12,16 @@ sources: url: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v4.1.7.tar.gz" sha256: "71b504f21f62b69c76b371fe7044e0dfc6d42650a15c267431c5084badb0ade7" patches: + "4.3.26": + - patch_file: "patches/4.3.24-0001-cmake-link-openssl.patch" + - patch_file: "patches/4.3.24-0002-cmake-install-dll-export-msvc.patch" + patch_description: "windows: Fix install directory of DLL and export symbols if msvc" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/515" + - patch_file: "patches/4.3.24-0003-cmake-link-ws2_32.patch" + patch_description: "Link to ws2_32 if windows" + patch_type: "portability" + patch_source: "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/pull/514" "4.3.24": - patch_file: "patches/4.3.24-0001-cmake-link-openssl.patch" - patch_file: "patches/4.3.24-0002-cmake-install-dll-export-msvc.patch" diff --git a/recipes/amqp-cpp/config.yml b/recipes/amqp-cpp/config.yml index 4b9ef0a6cfcce..3cdf4ddfdb5a3 100644 --- a/recipes/amqp-cpp/config.yml +++ b/recipes/amqp-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.26": + folder: all "4.3.24": folder: all "4.2.1": From 93430f7560d5bb76b7fce4fda9b716a999c7ac28 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 17 Oct 2023 15:49:36 +0900 Subject: [PATCH 2131/4087] (#20325) s2n: add version 1.3.52 --- 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 4ada91d8a20e6..e8314a2d5ee35 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.52": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.52.tar.gz" + sha256: "c8ae02ae427763dcffe10d211ed7a2433803affd9aa5836951ef972c53db0120" "1.3.50": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.50.tar.gz" sha256: "19c9a7e9e0ce14aae3fc0c55995759f4eadd5b55f5353de69f82c62ccb3693f8" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index e02cebf4f0c06..c5300cb242156 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.52": + folder: all "1.3.50": folder: all "1.3.49": From 47c5d3494a78384e04537ef03c8c1373fc806b08 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 17 Oct 2023 09:56:08 +0200 Subject: [PATCH 2132/4087] (#20599) nettle/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/nettle/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/nettle/all/conanfile.py b/recipes/nettle/all/conanfile.py index e09965067d8d4..8add0e95985cd 100644 --- a/recipes/nettle/all/conanfile.py +++ b/recipes/nettle/all/conanfile.py @@ -59,7 +59,7 @@ def layout(self): def requirements(self): if self.options.public_key: - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") def validate(self): if is_msvc(self): From f5b470304f9ad4514765adfa88bf81cc96b77577 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Tue, 17 Oct 2023 10:08:03 +0200 Subject: [PATCH 2133/4087] (#20080) bump glibmm dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bump glibmm dependencies * Apply suggestions from code review Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * make glib transitive_libs * add transitive_headers=True to libsigcpp * Update recipes/glibmm/all/conanfile.py Co-authored-by: Francisco Ramírez --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Francisco Ramírez --- recipes/glibmm/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/glibmm/all/conanfile.py b/recipes/glibmm/all/conanfile.py index e1e08552bf5e9..a6d3f4c904bd4 100644 --- a/recipes/glibmm/all/conanfile.py +++ b/recipes/glibmm/all/conanfile.py @@ -75,11 +75,11 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.2") + self.requires("glib/2.78.0", transitive_headers=True) if self._abi_version == "2.68": - self.requires("libsigcpp/3.0.7") + self.requires("libsigcpp/3.0.7", transitive_headers=True) else: - self.requires("libsigcpp/2.10.8") + self.requires("libsigcpp/2.10.8", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -97,9 +97,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.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 8ea33832dfc979e6fa983df11930195da7d25b4f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 17 Oct 2023 14:32:15 +0200 Subject: [PATCH 2134/4087] (#20593) [bot] Update authorized users list (2023-10-16) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 9a2e9e466b87d..3d5cfce1a1b65 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1244,3 +1244,5 @@ authorized_users: - FranzPoize - SoShiny - tamaskenezlego +- luizfeldmann +- ma30002000 From 68db3bebbf8fa6bc5c40b87726cbad5b6612bc6f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 17 Oct 2023 16:55:10 +0200 Subject: [PATCH 2135/4087] (#20608) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index ced5ee37a897a..949512077daea 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -110,6 +110,7 @@ required_for_references: - brotli - brynet - bshoshany-thread-pool +- btyacc - bullet3 - butteraugli - bvdberg-ctest @@ -294,6 +295,7 @@ required_for_references: - eigen - elfio - embag +- embedded_ringbuf_cpp - embree3 - emio - emsdk @@ -325,6 +327,7 @@ required_for_references: - fast_double_parser - fast_float - fastgltf +- fastnoise2 - fastpfor - fastprng - fernandovelcic-hexdump @@ -350,6 +353,7 @@ required_for_references: - foonathan-memory - forestdb - foxglove-schemas-protobuf +- foxglove-websocket - foxi - fp16 - fpgen @@ -581,6 +585,7 @@ required_for_references: - libgd - libgeotiff - libgettext +- libglvnd - libgpg-error - libgphoto2 - libgpiod @@ -789,6 +794,7 @@ required_for_references: - mongo-c-driver - mongo-cxx-driver - morton-nd +- mosquitto - mozilla-build - mozjpeg - mp-units @@ -836,6 +842,7 @@ required_for_references: - nodejs - nodesoup - norm +- npcap - nsync - ntv2 - nudb @@ -917,6 +924,7 @@ required_for_references: - pcl - pcre - pcre2 +- pdf-writer - pdfgen - pdqsort - perf @@ -981,6 +989,7 @@ required_for_references: - pybind11 - pybind11_json - pystring +- qarchive - qcbor - qdbm - qhull @@ -990,10 +999,12 @@ required_for_references: - qt - quantlib - quaternions +- quazip - quickfix - quickjs - quill - quirc +- qwt - r8brain-free-src - rabbitmq-c - ragel @@ -1180,6 +1191,7 @@ required_for_references: - tinyspline - tinyxml - tinyxml2 +- tixi3 - tk - tl - tl-expected @@ -1191,6 +1203,7 @@ required_for_references: - tmxlite - tng - toml11 +- tomlplusplus - tracy - transwarp - trantor @@ -1246,6 +1259,7 @@ required_for_references: - vincentlaucsb-csv-parser - vir-simd - visit_struct +- vk-bootstrap - vo-amrwbenc - volk - vorbis From ce6c6804860bd63aac7c3905f60bff7a86ca4847 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 17 Oct 2023 21:23:58 +0300 Subject: [PATCH 2136/4087] (#18673) systemc-cci: migrate to Conan v2 * systemc-cci: migrate to Conan v2 * systemc-cci: set cxx_std_11 for GCC 5, transitive_libs=True --- recipes/systemc-cci/all/CMakeLists.txt | 10 +-- recipes/systemc-cci/all/conandata.yml | 3 - recipes/systemc-cci/all/conanfile.py | 81 ++++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../systemc-cci/all/test_package/conanfile.py | 22 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 +++++ 7 files changed, 87 insertions(+), 60 deletions(-) create mode 100644 recipes/systemc-cci/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/systemc-cci/all/test_v1_package/conanfile.py diff --git a/recipes/systemc-cci/all/CMakeLists.txt b/recipes/systemc-cci/all/CMakeLists.txt index 747ee2684985a..5b34c9bd3214a 100644 --- a/recipes/systemc-cci/all/CMakeLists.txt +++ b/recipes/systemc-cci/all/CMakeLists.txt @@ -3,13 +3,10 @@ project(cci LANGUAGES CXX) set(LIBRARY_NAME cciapi) -include(${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - find_package(RapidJSON REQUIRED CONFIG) find_package(SystemCLanguage REQUIRED CONFIG) -set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/src") +set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/src") set(CCI_CFG_DIR "${SOURCE_DIR}/cci_cfg") set(CCI_CORE_DIR "${SOURCE_DIR}/cci_core") set(CCI_UTILS_DIR "${SOURCE_DIR}/cci_utils") @@ -31,10 +28,11 @@ set(SOURCES add_library(${LIBRARY_NAME} ${SOURCES}) target_include_directories(${LIBRARY_NAME} PRIVATE ${SOURCE_DIR}) -target_link_libraries(${LIBRARY_NAME} PRIVATE RapidJSON::RapidJSON SystemC::SystemC) +target_link_libraries(${LIBRARY_NAME} PRIVATE rapidjson SystemC::systemc) set_target_properties(${LIBRARY_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE - VERSION ${CONAN_PACKAGE_VERSION}) + VERSION ${CONAN_PACKAGE_VERSION} + COMPILE_FEATURES cxx_std_11) target_compile_definitions(${LIBRARY_NAME} PRIVATE SC_INCLUDE_FX) install(TARGETS ${LIBRARY_NAME} diff --git a/recipes/systemc-cci/all/conandata.yml b/recipes/systemc-cci/all/conandata.yml index 6c1e792ccafa2..1c26e7784920a 100644 --- a/recipes/systemc-cci/all/conandata.yml +++ b/recipes/systemc-cci/all/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "1.0.0": - patch_file: "patches/broker.patch" - base_path: "source_subfolder" - patch_file: "patches/cci_param_untyped_handle.patch" - base_path: "source_subfolder" - patch_file: "patches/cci_value_converter.patch" - base_path: "source_subfolder" diff --git a/recipes/systemc-cci/all/conanfile.py b/recipes/systemc-cci/all/conanfile.py index 57a3f498adec2..326fef01a251e 100644 --- a/recipes/systemc-cci/all/conanfile.py +++ b/recipes/systemc-cci/all/conanfile.py @@ -1,42 +1,36 @@ -from conans import tools, CMake +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -import functools - +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 -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class SystemccciConan(ConanFile): name = "systemc-cci" - description = """SystemC Configuration, Control and Inspection library""" - homepage = "https://www.accellera.org/" - url = "https://github.com/conan-io/conan-center-index" + description = "SystemC Configuration, Control and Inspection library" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.accellera.org/" topics = ("simulation", "modeling", "esl", "cci") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True + "fPIC": True, } - generators = "cmake", "cmake_find_package_multi" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + 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": @@ -44,36 +38,43 @@ 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("systemc/2.3.3") - self.requires("rapidjson/1.1.0") + self.requires("systemc/2.3.4", transitive_headers=True, transitive_libs=True) + self.requires("rapidjson/cci.20220822") def validate(self): - if self.settings.os == "Macos": - raise ConanInvalidConfiguration(f"{self.name} is not suppported on {self.settings.os}.") + if is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.name} is not supported on {self.settings.os}.") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CONAN_PACKAGE_VERSION"] = self.version + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - self.copy("NOTICE", 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) + copy(self, "NOTICE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): diff --git a/recipes/systemc-cci/all/test_package/CMakeLists.txt b/recipes/systemc-cci/all/test_package/CMakeLists.txt index 062e855b87030..f489f5c553c0f 100644 --- a/recipes/systemc-cci/all/test_package/CMakeLists.txt +++ b/recipes/systemc-cci/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(systemc-cci REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) diff --git a/recipes/systemc-cci/all/test_package/conanfile.py b/recipes/systemc-cci/all/test_package/conanfile.py index 189bd25a7c208..ef5d7042163ec 100644 --- a/recipes/systemc-cci/all/test_package/conanfile.py +++ b/recipes/systemc-cci/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 SystemccciTestConan(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", "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/systemc-cci/all/test_v1_package/CMakeLists.txt b/recipes/systemc-cci/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/systemc-cci/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/systemc-cci/all/test_v1_package/conanfile.py b/recipes/systemc-cci/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..189bd25a7c208 --- /dev/null +++ b/recipes/systemc-cci/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class SystemccciTestConan(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 137fef284c5c2fff969774528142a57e3c4d6522 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 17 Oct 2023 23:00:01 +0300 Subject: [PATCH 2137/4087] (#18724) cose-c: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * cose-c: migrate to Conan v2 * cose-c: move DLLs from lib to bin * cose-c: restore VirtualRunEnv in test_package * cose-c: fix YAML linter error * cose-c: simplify patching * cose-c: do not remove libcxx etc - library builds a C++ API * cose-c: require mbedtls/2.16.12 * cose-c: remove unnecessary copying of DLLs --------- Co-authored-by: Rubén Rincón Blanco --- recipes/cose-c/all/CMakeLists.txt | 11 -- recipes/cose-c/all/conandata.yml | 4 - recipes/cose-c/all/conanfile.py | 108 ++++++++++-------- .../all/patches/001-fix-cmake-targets.patch | 17 --- .../cose-c/all/test_package/CMakeLists.txt | 9 +- recipes/cose-c/all/test_package/conanfile.py | 23 ++-- .../cose-c/all/test_v1_package/CMakeLists.txt | 8 ++ .../cose-c/all/test_v1_package/conanfile.py | 17 +++ recipes/cose-c/config.yml | 1 - 9 files changed, 102 insertions(+), 96 deletions(-) delete mode 100644 recipes/cose-c/all/CMakeLists.txt delete mode 100644 recipes/cose-c/all/patches/001-fix-cmake-targets.patch create mode 100644 recipes/cose-c/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cose-c/all/test_v1_package/conanfile.py diff --git a/recipes/cose-c/all/CMakeLists.txt b/recipes/cose-c/all/CMakeLists.txt deleted file mode 100644 index 6ba47d078b389..0000000000000 --- a/recipes/cose-c/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/cose-c/all/conandata.yml b/recipes/cose-c/all/conandata.yml index 19b29a5db955d..b9c689437dd44 100644 --- a/recipes/cose-c/all/conandata.yml +++ b/recipes/cose-c/all/conandata.yml @@ -2,7 +2,3 @@ sources: "cci.20200430": sha256: fef43742cba828a35640eefba774be11562cab6d7bcbdcfd62613019965f87c3 url: https://github.com/cose-wg/COSE-C/archive/4432ae11f7a9711c46e8b4442fa2b35055c5cf98.zip -patches: - "cci.20200430": - - patch_file: "patches/001-fix-cmake-targets.patch" - base_path: "source_subfolder" diff --git a/recipes/cose-c/all/conanfile.py b/recipes/cose-c/all/conanfile.py index 35e896e14c7d9..a6fffdcbbb029 100644 --- a/recipes/cose-c/all/conanfile.py +++ b/recipes/cose-c/all/conanfile.py @@ -1,38 +1,33 @@ -from conans import CMake, ConanFile, tools -import glob import os +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, get, rmdir, replace_in_file + +required_conan_version = ">=1.53.0" + class CoseCConan(ConanFile): name = "cose-c" + description = "Implementation of COSE in C using cn-cbor and openssl" license = "BSD-3-Clause" - homepage = "https://github.com/cose-wg/COSE-C" url = "https://github.com/conan-io/conan-center-index" - description = """Implementation of COSE in C using cn-cbor and openssl""" - topics = ("cbor") - exports_sources = ["CMakeLists.txt", "patches/**"] - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/cose-wg/COSE-C" + topics = "cbor" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "with_ssl": ["openssl", "mbedtls"] + "with_ssl": ["openssl", "mbedtls"], } default_options = { "shared": False, "fPIC": True, - "with_ssl": "openssl" + "with_ssl": "openssl", } - generators = "cmake", "cmake_find_package" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": @@ -40,53 +35,66 @@ 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") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) def requirements(self): - self.requires("cn-cbor/1.0.0") + self.requires("cn-cbor/1.0.0", transitive_headers=True) if self.options.with_ssl == "mbedtls": - self.requires("mbedtls/2.23.0") + self.requires("mbedtls/2.16.12", transitive_headers=True) else: - self.requires("openssl/1.1.1h") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(glob.glob("COSE-C-*")[0], self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["COSE_C_COVERALLS"] = False - self._cmake.definitions["COSE_C_BUILD_TESTS"] = False - self._cmake.definitions["COSE_C_BUILD_DOCS"] = False - self._cmake.definitions["COSE_C_BUILD_DUMPER"] = False - self._cmake.definitions["COSE_C_USE_MBEDTLS"] = self.options.with_ssl == "mbedtls" - self._cmake.definitions["COSE_C_USE_FIND_PACKAGE"] = True - self._cmake.definitions["COSE_C_EXPORT_TARGETS"] = True - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.cache_variables["COSE_C_COVERALLS"] = False + tc.cache_variables["COSE_C_BUILD_TESTS"] = False + tc.cache_variables["COSE_C_BUILD_DOCS"] = False + tc.cache_variables["COSE_C_BUILD_DUMPER"] = False + tc.cache_variables["COSE_C_USE_MBEDTLS"] = self.options.with_ssl == "mbedtls" + tc.cache_variables["COSE_C_USE_FIND_PACKAGE"] = True + tc.cache_variables["COSE_C_EXPORT_TARGETS"] = True + tc.generate() + deps = CMakeDeps(self) + deps.set_property("openssl", "cmake_file_name", "OPENSSL") + deps.set_property("mbedtls", "cmake_target_name", "mbedtls") + deps.generate() + + def _patch_sources(self): + # For ${OPENSSL_LIBRARIES} and ${OPENSSL_INCLUDE_DIR} + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "OpenSSL", "OPENSSL") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["ws2_32", "secur32", "crypt32", "bcrypt"]) - if self.settings.os == "Macos": + if is_apple_os(self): self.cpp_info.frameworks.extend(["CoreFoundation", "Security"]) if self.options.with_ssl == "mbedtls": self.cpp_info.defines.append("COSE_C_USE_MBEDTLS") diff --git a/recipes/cose-c/all/patches/001-fix-cmake-targets.patch b/recipes/cose-c/all/patches/001-fix-cmake-targets.patch deleted file mode 100644 index 0c13544696d16..0000000000000 --- a/recipes/cose-c/all/patches/001-fix-cmake-targets.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5522b29..1e9700b 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -62,10 +62,10 @@ target_include_directories( - target_link_libraries(${PROJECT_NAME} PRIVATE cn-cbor::cn-cbor) - - if(COSE_C_USE_MBEDTLS) -- target_link_libraries(${PROJECT_NAME} PRIVATE mbedtls) -+ target_link_libraries(${PROJECT_NAME} PRIVATE CONAN_PKG::mbedtls) - else() - target_include_directories(${PROJECT_NAME} PRIVATE ${OPENSSL_INCLUDE_DIR}) -- target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENSSL_LIBRARIES}) -+ target_link_libraries(${PROJECT_NAME} PRIVATE CONAN_PKG::openssl) - endif() - - if(MSVC) diff --git a/recipes/cose-c/all/test_package/CMakeLists.txt b/recipes/cose-c/all/test_package/CMakeLists.txt index fcda1859bb610..c29edc1ca6a27 100644 --- a/recipes/cose-c/all/test_package/CMakeLists.txt +++ b/recipes/cose-c/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(cose-c REQUIRED) +find_package(cose-c REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} cose-c::cose-c) diff --git a/recipes/cose-c/all/test_package/conanfile.py b/recipes/cose-c/all/test_package/conanfile.py index aab3b289eb8cf..ef5d7042163ec 100644 --- a/recipes/cose-c/all/test_package/conanfile.py +++ b/recipes/cose-c/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = 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/cose-c/all/test_v1_package/CMakeLists.txt b/recipes/cose-c/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cose-c/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/cose-c/all/test_v1_package/conanfile.py b/recipes/cose-c/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6dffe66394a26 --- /dev/null +++ b/recipes/cose-c/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/cose-c/config.yml b/recipes/cose-c/config.yml index 6a4771df04b83..b452f13eb25c1 100644 --- a/recipes/cose-c/config.yml +++ b/recipes/cose-c/config.yml @@ -1,4 +1,3 @@ ---- versions: "cci.20200430": folder: "all" From ea3d5be03e71a80c360dd052df4d7d4e3fef02de Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 17 Oct 2023 23:55:14 +0200 Subject: [PATCH 2138/4087] (#19860) [uncrustify/0.77.1] Bump recipe * [uncrustify/0.77.1] Bump recipe * Use uncrustify as a build_requirement in test_package * Update recipes/uncrustify/all/test_package/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Remove unused can_run import --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/uncrustify/all/conandata.yml | 3 +++ recipes/uncrustify/all/test_package/conanfile.py | 10 ++++------ recipes/uncrustify/config.yml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/uncrustify/all/conandata.yml b/recipes/uncrustify/all/conandata.yml index 22c525b3881bd..db432bb0bfdf7 100644 --- a/recipes/uncrustify/all/conandata.yml +++ b/recipes/uncrustify/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.77.1": + url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.77.1.tar.gz" + sha256: "414bbc9f7860eb18a53074f9af14ed04638a633b2216a73f2629291300d37c1b" "0.75.1": url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.75.1.tar.gz" sha256: "fd14acc0a31ed88b33137bdc26d32964327488c835f885696473ef07caf2e182" diff --git a/recipes/uncrustify/all/test_package/conanfile.py b/recipes/uncrustify/all/test_package/conanfile.py index ca7e7aabaf2bf..71b7668f5e09d 100644 --- a/recipes/uncrustify/all/test_package/conanfile.py +++ b/recipes/uncrustify/all/test_package/conanfile.py @@ -1,15 +1,13 @@ from conan import ConanFile -from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "VirtualRunEnv" + generators = "VirtualBuildEnv" test_type = "explicit" - def requirements(self): - self.requires(self.tested_reference_str) + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if can_run(self): - self.run("uncrustify --version", env="conanrun") + self.run("uncrustify --version") diff --git a/recipes/uncrustify/config.yml b/recipes/uncrustify/config.yml index 27d29acb91740..14c80b15beabd 100644 --- a/recipes/uncrustify/config.yml +++ b/recipes/uncrustify/config.yml @@ -1,4 +1,6 @@ versions: + "0.77.1": + folder: all "0.75.1": folder: all "0.74.0": From 397305f6dbee3f247ebf766df593636eba0d848e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 03:35:01 +0300 Subject: [PATCH 2139/4087] (#20009) minitrace: add new version --- recipes/minitrace/all/conandata.yml | 3 +++ recipes/minitrace/all/conanfile.py | 3 ++- recipes/minitrace/config.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/minitrace/all/conandata.yml b/recipes/minitrace/all/conandata.yml index f0c32e1045bb8..04665f845d5e3 100644 --- a/recipes/minitrace/all/conandata.yml +++ b/recipes/minitrace/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230905": + url: "https://github.com/hrydgard/minitrace/archive/bc377c921f8c7da38f2beab355245222a01efc1a.tar.gz" + sha256: "f77633c9244834229ffbcbdf2b87c0893055e42ed0721f4b5dc1753738bdb547" "cci.20210321": url: "https://github.com/hrydgard/minitrace/archive/020f42b189e8d6ad50e4d8f45d69edee0a6b3f23.tar.gz" sha256: "314bcab4dc069c61f2eb813c9bd649efb2bd1fd75f91205a269a4c5abcd3d66b" diff --git a/recipes/minitrace/all/conanfile.py b/recipes/minitrace/all/conanfile.py index af8d398e935c1..731c80a714d09 100644 --- a/recipes/minitrace/all/conanfile.py +++ b/recipes/minitrace/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMakeToolchain, CMake, 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, rmdir import os required_conan_version = ">=1.53.0" @@ -57,6 +57,7 @@ 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, "share")) def package_info(self): self.cpp_info.libs = ["minitrace"] diff --git a/recipes/minitrace/config.yml b/recipes/minitrace/config.yml index 384492f581d34..fcb3fb2b98f24 100644 --- a/recipes/minitrace/config.yml +++ b/recipes/minitrace/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230905": + folder: all "cci.20210321": folder: all From a9b112ee1af36bcf115a5440d006f8270584ed59 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 17 Oct 2023 20:10:13 -0500 Subject: [PATCH 2140/4087] (#20195) libseat: Add recipe * libseat: Add recipe * Disable treating warnings as errors * Simplify options and update dependencies * Fix default value --- recipes/libseat/all/conandata.yml | 9 ++ recipes/libseat/all/conanfile.py | 113 ++++++++++++++++++ .../patches/0001-Disable-building-tests.patch | 33 +++++ .../libseat/all/test_package/CMakeLists.txt | 7 ++ recipes/libseat/all/test_package/conanfile.py | 26 ++++ .../libseat/all/test_package/test_package.c | 6 + recipes/libseat/config.yml | 3 + 7 files changed, 197 insertions(+) create mode 100644 recipes/libseat/all/conandata.yml create mode 100644 recipes/libseat/all/conanfile.py create mode 100644 recipes/libseat/all/patches/0001-Disable-building-tests.patch create mode 100644 recipes/libseat/all/test_package/CMakeLists.txt create mode 100644 recipes/libseat/all/test_package/conanfile.py create mode 100644 recipes/libseat/all/test_package/test_package.c create mode 100644 recipes/libseat/config.yml diff --git a/recipes/libseat/all/conandata.yml b/recipes/libseat/all/conandata.yml new file mode 100644 index 0000000000000..119dc8ef93144 --- /dev/null +++ b/recipes/libseat/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.8.0": + url: "https://git.sr.ht/~kennylevinsen/seatd/archive/0.8.0.tar.gz" + sha256: "a562a44ee33ccb20954a1c1ec9a90ecb2db7a07ad6b18d0ac904328efbcf65a0" +patches: + "0.8.0": + - patch_file: "patches/0001-Disable-building-tests.patch" + patch_description: "Disable building tests" + patch_type: "conan" diff --git a/recipes/libseat/all/conanfile.py b/recipes/libseat/all/conanfile.py new file mode 100644 index 0000000000000..4131ba65c629a --- /dev/null +++ b/recipes/libseat/all/conanfile.py @@ -0,0 +1,113 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + +required_conan_version = ">=1.53.0" + + +class LibseatConan(ConanFile): + name = "libseat" + description = ("A minimal seat management daemon, and a universal seat management library") + topics = ("login", "session", "seat", "seatd") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://sr.ht/~kennylevinsen/seatd/" + license = "MIT" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "builtin": [True, False], + "defaultpath": [None, "ANY"], + "logind": [False, "elogind", "systemd"], + "seatd": [True, False], + "server": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "defaultpath": None, + "builtin": False, + "logind": False, + "seatd": True, + "server": True, + } + + def export_sources(self): + export_conandata_patches(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): + basic_layout(self, src_folder="src") + + def requirements(self): + if self.options.logind == "systemd": + self.requires("libsystemd/253.10") + + def validate(self): + if not self.settings.os in ["FreeBSD", "Linux"]: + raise ConanInvalidConfiguration(f"{self.ref} only supports FreeBSD and Linux") + if self.options.logind == "elogind": + raise ConanInvalidConfiguration(f"{self.ref} may not be built with elogind support since there is no elogind Conan package yet") + + def build_requirements(self): + self.tool_requires("meson/1.2.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 = MesonToolchain(self) + tc.project_options["libseat-builtin"] = "enabled" if self.options.builtin else "disabled" + tc.project_options["libseat-logind"] = str(self.options.logind) if self.options.logind else "disabled" + tc.project_options["libseat-seatd"] = "enabled" if self.options.seatd else "disabled" + tc.project_options["server"] = "enabled" if self.options.server else "disabled" + tc.project_options["examples"] = "disabled" + tc.project_options["man-pages"] = "disabled" + tc.project_options["defaultpath"] = "" if self.options.defaultpath is None else str(self.options.defaultpath) + tc.c_args.append("-Wno-error") + tc.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() + env = VirtualBuildEnv(self) + env.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + pkg_config_dir = os.path.join(self.package_folder, "lib", "pkgconfig") + rmdir(self, pkg_config_dir) + + def package_info(self): + self.cpp_info.libs = ["seat"] + self.cpp_info.system_libs.append("rt") + pkgconfig_variables = { + "have_builtin": self.options.builtin, + "have_logind": "true" if self.options.logind else "false", + "have_seatd": self.options.seatd, + } + self.cpp_info.set_property( + "pkg_config_custom_content", + "\n".join(f"{key}={value}" for key,value in pkgconfig_variables.items())) diff --git a/recipes/libseat/all/patches/0001-Disable-building-tests.patch b/recipes/libseat/all/patches/0001-Disable-building-tests.patch new file mode 100644 index 0000000000000..8a62a0a48cda0 --- /dev/null +++ b/recipes/libseat/all/patches/0001-Disable-building-tests.patch @@ -0,0 +1,33 @@ +From 5f4738e980b688b26522603a9173a72b007968d3 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Thu, 28 Sep 2023 15:25:30 -0500 +Subject: [PATCH] Disable building tests + +--- + meson.build | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index 516d7d2..f37109e 100644 +--- a/meson.build ++++ b/meson.build +@@ -241,11 +241,11 @@ if get_option('examples') == 'enabled' + ) + endif + +-tests = { +- 'linked_list': ['common/linked_list.c'], +- 'connection': ['common/connection.c'], +- 'poller': ['common/linked_list.c', 'seatd/poller.c'], +-} ++tests = {} ++# 'linked_list': ['common/linked_list.c'], ++# 'connection': ['common/connection.c'], ++# 'poller': ['common/linked_list.c', 'seatd/poller.c'], ++#} + + foreach name, value : tests + test(name, executable( +-- +2.41.0 + diff --git a/recipes/libseat/all/test_package/CMakeLists.txt b/recipes/libseat/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..027296c50f1b3 --- /dev/null +++ b/recipes/libseat/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(libseat COMPONENTS libseat REQUIRED) + +add_executable(test_package test_package.c) +target_link_libraries(test_package PRIVATE libseat::libseat) diff --git a/recipes/libseat/all/test_package/conanfile.py b/recipes/libseat/all/test_package/conanfile.py new file mode 100644 index 0000000000000..433561157a413 --- /dev/null +++ b/recipes/libseat/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", "VirtualBuildEnv", "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/libseat/all/test_package/test_package.c b/recipes/libseat/all/test_package/test_package.c new file mode 100644 index 0000000000000..3f2ecd791512e --- /dev/null +++ b/recipes/libseat/all/test_package/test_package.c @@ -0,0 +1,6 @@ +#include "libseat.h" + +int main(int argc, char *argv[]) { + libseat_set_log_level(LIBSEAT_LOG_LEVEL_DEBUG); + return 0; +} diff --git a/recipes/libseat/config.yml b/recipes/libseat/config.yml new file mode 100644 index 0000000000000..675f954f2770e --- /dev/null +++ b/recipes/libseat/config.yml @@ -0,0 +1,3 @@ +versions: + "0.8.0": + folder: all From 142f0b4da8a96f6c0831a929f0d9eb6ee04bd6b1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 18 Oct 2023 03:40:33 +0200 Subject: [PATCH 2141/4087] (#20225) opencascade: conan v2 support * conan v2 support * solve tcl version conflict * fix compilation with C++20 standard * fix compilation error with C++17 standard * typo * inject includedirs & libdirs of dependencies for early checks * back to fontconfig/2.13.93 for the moment to avoid version conflict with conan v2 client * consistent global target between cmake_find_package & CMakeDeps * prefer to refer to official git repo for patch_source * inject interface definitions of dependencies --- recipes/opencascade/all/conandata.yml | 32 +- recipes/opencascade/all/conanfile.py | 509 ++++++++++-------- .../7.5.0-0001-fix-compile-error-cxx17.patch | 83 +++ .../7.5.0-0002-fix-compile-error-cxx20.patch | 45 ++ ...0003-undefined-ref-ncollection-lerp.patch} | 3 - .../all/test_package/CMakeLists.txt | 17 +- .../opencascade/all/test_package/conanfile.py | 23 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 19 + 9 files changed, 502 insertions(+), 237 deletions(-) create mode 100644 recipes/opencascade/all/patches/7.5.0-0001-fix-compile-error-cxx17.patch create mode 100644 recipes/opencascade/all/patches/7.5.0-0002-fix-compile-error-cxx20.patch rename recipes/opencascade/all/patches/{0001-undefined-ref-ncollection-lerp.patch => 7.5.0-0003-undefined-ref-ncollection-lerp.patch} (98%) create mode 100644 recipes/opencascade/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opencascade/all/test_v1_package/conanfile.py diff --git a/recipes/opencascade/all/conandata.yml b/recipes/opencascade/all/conandata.yml index 9973488d4454b..fb18864cacb8a 100644 --- a/recipes/opencascade/all/conandata.yml +++ b/recipes/opencascade/all/conandata.yml @@ -9,6 +9,34 @@ sources: url: "https://github.com/Open-Cascade-SAS/OCCT/archive/V7_5_0.tar.gz" sha256: "dbe1d62a9317ad1516bd4575293d9aab2dc20206ca7a60a7705c9a3b77dc59c9" patches: + "7.6.2": + - patch_file: "patches/7.5.0-0001-fix-compile-error-cxx17.patch" + patch_description: "Fix compilation error with C++17" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=7021de2fe7a69d4c788ccf43b8b096dbcc8597c8" + patch_type: "portability" + - patch_file: "patches/7.5.0-0002-fix-compile-error-cxx20.patch" + patch_description: "Fix compilation error with C++20" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=73035770f6fced4ec7dc7e6a0276ee894daa479a" + patch_type: "portability" + "7.6.0": + - patch_file: "patches/7.5.0-0001-fix-compile-error-cxx17.patch" + patch_description: "Fix compilation error with C++17" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=7021de2fe7a69d4c788ccf43b8b096dbcc8597c8" + patch_type: "portability" + - patch_file: "patches/7.5.0-0002-fix-compile-error-cxx20.patch" + patch_description: "Fix compilation error with C++20" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=73035770f6fced4ec7dc7e6a0276ee894daa479a" + patch_type: "portability" "7.5.0": - - patch_file: "patches/0001-undefined-ref-ncollection-lerp.patch" - base_path: "source_subfolder" + - patch_file: "patches/7.5.0-0001-fix-compile-error-cxx17.patch" + patch_description: "Fix compilation error with C++17" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=7021de2fe7a69d4c788ccf43b8b096dbcc8597c8" + patch_type: "portability" + - patch_file: "patches/7.5.0-0002-fix-compile-error-cxx20.patch" + patch_description: "Fix compilation error with C++20" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=73035770f6fced4ec7dc7e6a0276ee894daa479a" + patch_type: "portability" + - patch_file: "patches/7.5.0-0003-undefined-ref-ncollection-lerp.patch" + patch_description: "Fix undefined reference with Visual Studio 2015" + patch_source: "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=026aec186081397e553e492db1632ee606f01fad" + patch_type: "portability" diff --git a/recipes/opencascade/all/conanfile.py b/recipes/opencascade/all/conanfile.py index 4cf35d30dea34..055db5ab3dbd9 100644 --- a/recipes/opencascade/all/conanfile.py +++ b/recipes/opencascade/all/conanfile.py @@ -1,13 +1,20 @@ -from conan.tools.files import rename -from conan.tools.microsoft import is_msvc -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import json import os import textwrap -required_conan_version = ">=1.45.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 ( + apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, + load, rename, replace_in_file, rmdir, save +) +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class OpenCascadeConan(ConanFile): @@ -17,8 +24,8 @@ class OpenCascadeConan(ConanFile): homepage = "https://dev.opencascade.org" url = "https://github.com/conan-io/conan-center-index" license = "LGPL-2.1-or-later" - topics = ("opencascade", "occt", "3d", "modeling", "cad") - + topics = ("occt", "3d", "modeling", "cad") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -48,11 +55,6 @@ class OpenCascadeConan(ConanFile): } short_paths = True - generators = "cmake" - - @property - def _source_subfolder(self): - return "source_subfolder" @property def _is_linux(self): @@ -60,41 +62,47 @@ def _is_linux(self): @property def _link_tk(self): - if tools.Version(self.version) >= "7.6.0": + if Version(self.version) >= "7.6.0": return self.options.with_tk else: return True @property def _link_opengl(self): - if tools.Version(self.version) >= "7.6.0": + if Version(self.version) >= "7.6.0": return self.options.with_opengl else: return True + @property + def _min_cppstd(self): + return "11" + def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): - if tools.Version(self.version) < "7.6.0": + if self.settings.os == "Windows": + del self.options.fPIC + if Version(self.version) < "7.6.0": del self.options.with_tk del self.options.with_draco del self.options.with_opengl - if self.settings.os == "Windows": - del self.options.fPIC if self.settings.build_type != "Debug": del self.options.extended_debug_messages 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("tcl/8.6.11") + self.requires("tcl/8.6.10") if self._link_tk: self.requires("tk/8.6.10") - self.requires("freetype/2.11.1") + self.requires("freetype/2.13.0") if self._link_opengl: self.requires("opengl/system") if self._is_linux: @@ -102,7 +110,7 @@ def requirements(self): self.requires("xorg/system") # TODO: add vtk support? if self.options.with_ffmpeg: - self.requires("ffmpeg/5.0") + self.requires("ffmpeg/6.0") if self.options.with_freeimage: self.requires("freeimage/3.18.0") if self.options.with_openvr: @@ -110,265 +118,342 @@ def requirements(self): if self.options.with_rapidjson: self.requires("rapidjson/1.1.0") if self.options.get_safe("with_draco"): - self.requires("draco/1.5.2") + self.requires("draco/1.5.6") if self.options.with_tbb: - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) if self.settings.compiler == "clang" and self.settings.compiler.version == "6.0" and \ self.settings.build_type == "Release": - raise ConanInvalidConfiguration("OpenCASCADE {} doesn't support Clang 6.0 if Release build type".format(self.version)) + raise ConanInvalidConfiguration(f"{self.ref} doesn't support Clang 6.0 if Release build type") 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) + + # Inject C++ standard from profile since we have removed hardcoded C++ standard from upstream build files + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + + tc.cache_variables["BUILD_LIBRARY_TYPE"] = "Shared" if self.options.shared else "Static" + tc.cache_variables["INSTALL_TEST_CASES"] = False + tc.cache_variables["BUILD_RESOURCES"] = False + tc.cache_variables["BUILD_RELEASE_DISABLE_EXCEPTIONS"] = True + if self.settings.build_type == "Debug": + tc.cache_variables["BUILD_WITH_DEBUG"] = self.options.extended_debug_messages + tc.cache_variables["BUILD_USE_PCH"] = False + tc.cache_variables["INSTALL_SAMPLES"] = False + + tc.cache_variables["INSTALL_DIR_LAYOUT"] = "Unix" + tc.cache_variables["INSTALL_DIR_BIN"] = "bin" + tc.cache_variables["INSTALL_DIR_LIB"] = "lib" + tc.cache_variables["INSTALL_DIR_INCLUDE"] = "include" + tc.cache_variables["INSTALL_DIR_RESOURCE"] = "res/resource" + tc.cache_variables["INSTALL_DIR_DATA"] = "res/data" + tc.cache_variables["INSTALL_DIR_SAMPLES"] = "res/samples" + tc.cache_variables["INSTALL_DIR_DOC"] = "res/doc" + + if is_msvc(self): + tc.cache_variables["BUILD_SAMPLES_MFC"] = False + tc.cache_variables["BUILD_SAMPLES_QT"] = False + tc.cache_variables["BUILD_Inspector"] = False + if is_apple_os(self): + tc.cache_variables["USE_GLX"] = False + if self.settings.os == "Windows": + tc.cache_variables["USE_D3D"] = False + tc.cache_variables["BUILD_ENABLE_FPE_SIGNAL_HANDLER"] = False + tc.cache_variables["BUILD_DOC_Overview"] = False + + tc.cache_variables["USE_FREEIMAGE"] = self.options.with_freeimage + tc.cache_variables["USE_OPENVR"] = self.options.with_openvr + tc.cache_variables["USE_FFMPEG"] = self.options.with_ffmpeg + tc.cache_variables["USE_TBB"] = self.options.with_tbb + tc.cache_variables["USE_RAPIDJSON"] = self.options.with_rapidjson + if Version(self.version) >= "7.6.0": + tc.cache_variables["USE_DRACO"] = self.options.with_draco + tc.cache_variables["USE_TK"] = self.options.with_tk + tc.cache_variables["USE_OPENGL"] = self.options.with_opengl + + # Relocatable shared libs on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - cmakelists = os.path.join(self._source_subfolder, "CMakeLists.txt") - cmakelists_tools = os.path.join(self._source_subfolder, "tools", "CMakeLists.txt") - occt_toolkit_cmake = os.path.join(self._source_subfolder, "adm", "cmake", "occt_toolkit.cmake") - occt_csf_cmake = os.path.join(self._source_subfolder, "adm", "cmake", "occt_csf.cmake") - occt_defs_flags_cmake = os.path.join(self._source_subfolder, "adm", "cmake", "occt_defs_flags.cmake") - - # Inject conanbuildinfo, upstream build files are not ready for a CMake wrapper (too much modifications required) - # Also inject compile flags - tools.replace_in_file( + apply_conandata_patches(self) + + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + cmakelists_tools = os.path.join(self.source_folder, "tools", "CMakeLists.txt") + occt_toolkit_cmake = os.path.join(self.source_folder, "adm", "cmake", "occt_toolkit.cmake") + occt_csf_cmake = os.path.join(self.source_folder, "adm", "cmake", "occt_csf.cmake") + occt_defs_flags_cmake = os.path.join(self.source_folder, "adm", "cmake", "occt_defs_flags.cmake") + + # Inject interface definitions of dependencies because opencascade + # does not always link to CMake imported targets + sorted_deps = [dep for dep in reversed(self.dependencies.host.topological_sort.values())] + deps_defines = " ".join([f"-D{d}" for dep in sorted_deps for d in dep.cpp_info.aggregated_components().defines]) + replace_in_file( + self, cmakelists, "project (OCCT)", - "project (OCCT)\n" - "include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)\n" - "conan_basic_setup(TARGETS KEEP_RPATHS)\n" - "conan_global_flags()") + textwrap.dedent(f"""\ + project (OCCT) + add_definitions({deps_defines}) + """), + ) - # Avoid to add system include/libs directories - tools.replace_in_file(cmakelists, "3RDPARTY_INCLUDE_DIRS", "CONAN_INCLUDE_DIRS") - tools.replace_in_file(cmakelists, "3RDPARTY_LIBRARY_DIRS", "CONAN_LIB_DIRS") - tools.replace_in_file(cmakelists_tools, "3RDPARTY_INCLUDE_DIRS", "CONAN_INCLUDE_DIRS") - tools.replace_in_file(cmakelists_tools, "3RDPARTY_LIBRARY_DIRS", "CONAN_LIB_DIRS") + # Avoid to add system include/libs directories and inject directories + # from conan dependencies instead + for cmake_file in [cmakelists, cmakelists_tools]: + deps_includedirs = ";".join([p.replace("\\", "/") for dep in sorted_deps for p in dep.cpp_info.aggregated_components().includedirs]) + replace_in_file( + self, + cmake_file, + "if (3RDPARTY_INCLUDE_DIRS)", + f"set(3RDPARTY_INCLUDE_DIRS \"{deps_includedirs}\")\nif (3RDPARTY_INCLUDE_DIRS)", + ) + deps_libdirs = ";".join([p.replace("\\", "/") for dep in sorted_deps for p in dep.cpp_info.aggregated_components().libdirs]) + replace_in_file( + self, + cmake_file, + "if (3RDPARTY_LIBRARY_DIRS)", + f"set(3RDPARTY_LIBRARY_DIRS \"{deps_libdirs}\")\nif (3RDPARTY_LIBRARY_DIRS)", + ) # Do not fail due to "fragile" upstream logic to find dependencies - tools.replace_in_file(cmakelists, "if (3RDPARTY_NOT_INCLUDED)", "if(0)") - tools.replace_in_file(cmakelists, "if (3RDPARTY_NO_LIBS)", "if(0)") - tools.replace_in_file(cmakelists, "if (3RDPARTY_NO_DLLS)", "if(0)") + replace_in_file(self, cmakelists, "if (3RDPARTY_NOT_INCLUDED)", "if(0)") + replace_in_file(self, cmakelists, "if (3RDPARTY_NO_LIBS)", "if(0)") + replace_in_file(self, cmakelists, "if (3RDPARTY_NO_DLLS)", "if(0)") # Inject dependencies from conan, and avoid to rely on upstream custom CMake files - conan_targets = [] + deps_targets = [] ## freetype - conan_targets.append("CONAN_PKG::freetype") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/freetype\")", "") - tools.replace_in_file( + deps_targets.append("Freetype::Freetype") + replace_in_file( + self, + cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/freetype\")", + "find_package(Freetype REQUIRED MODULE)", + ) + freetype_libs = " ".join(self.dependencies["freetype"].cpp_info.aggregated_components().libs) + replace_in_file( + self, occt_csf_cmake, "set (CSF_FREETYPE \"freetype\")", - "set (CSF_FREETYPE \"{}\")".format(" ".join(self.deps_cpp_info["freetype"].libs))) + f"set (CSF_FREETYPE \"{freetype_libs}\")", + ) ## tcl - conan_targets.append("CONAN_PKG::tcl") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/tcl\")", "") - csf_tcl_libs = "set (CSF_TclLibs \"{}\")".format(" ".join(self.deps_cpp_info["tcl"].libs)) - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclLibs \"tcl86\")", csf_tcl_libs) - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclLibs Tcl)", csf_tcl_libs) - if tools.Version(self.version) >= "7.6.0": - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclLibs \"tcl8.6\")", csf_tcl_libs) + deps_targets.append("tcl::tcl") + replace_in_file(self, cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/tcl\")", "find_package(TCL REQUIRED)") + tcl_libs = " ".join(self.dependencies["tcl"].cpp_info.aggregated_components().libs) + csf_tcl_libs = f"set (CSF_TclLibs \"{tcl_libs}\")" + replace_in_file(self, occt_csf_cmake, "set (CSF_TclLibs \"tcl86\")", csf_tcl_libs) + replace_in_file(self, occt_csf_cmake, "set (CSF_TclLibs Tcl)", csf_tcl_libs) + if Version(self.version) >= "7.6.0": + replace_in_file(self, occt_csf_cmake, "set (CSF_TclLibs \"tcl8.6\")", csf_tcl_libs) else: - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclLibs \"tcl8.6\")", csf_tcl_libs) + replace_in_file(self, occt_csf_cmake, "set (CSF_TclLibs \"tcl8.6\")", csf_tcl_libs) ## tk if self._link_tk: - conan_targets.append("CONAN_PKG::tk") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/tk\")", "") - csf_tk_libs = "set (CSF_TclTkLibs \"{}\")".format(" ".join(self.deps_cpp_info["tk"].libs)) - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclTkLibs \"tk86\")", csf_tk_libs) - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclTkLibs Tk)", csf_tk_libs) - if tools.Version(self.version) >= "7.6.0": - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclTkLibs \"tk8.6\")", csf_tk_libs) + deps_targets.append("tk::tk") + replace_in_file(self, cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/tk\")", "find_package(tk REQUIRED)") + tk_libs = " ".join(self.dependencies["tk"].cpp_info.aggregated_components().libs) + csf_tk_libs = f"set (CSF_TclTkLibs \"{tk_libs}\")" + replace_in_file(self, occt_csf_cmake, "set (CSF_TclTkLibs \"tk86\")", csf_tk_libs) + replace_in_file(self, occt_csf_cmake, "set (CSF_TclTkLibs Tk)", csf_tk_libs) + if Version(self.version) >= "7.6.0": + replace_in_file(self, occt_csf_cmake, "set (CSF_TclTkLibs \"tk8.6\")", csf_tk_libs) else: - tools.replace_in_file(occt_csf_cmake, "set (CSF_TclTkLibs \"tk8.6\")", csf_tk_libs) + replace_in_file(self, occt_csf_cmake, "set (CSF_TclTkLibs \"tk8.6\")", csf_tk_libs) ## fontconfig if self._is_linux: - conan_targets.append("CONAN_PKG::fontconfig") - if tools.Version(self.version) >= "7.6.0": - tools.replace_in_file( + deps_targets.append("Fontconfig::Fontconfig") + fontconfig_libs = " ".join(self.dependencies["fontconfig"].cpp_info.aggregated_components().libs) + if Version(self.version) >= "7.6.0": + replace_in_file( + self, occt_csf_cmake, "set (CSF_fontconfig \"fontconfig\")", - "set (CSF_fontconfig \"{}\")".format(" ".join(self.deps_cpp_info["fontconfig"].libs))) + f"find_package(Fontconfig REQUIRED)\nset (CSF_fontconfig \"{fontconfig_libs}\")", + ) else: - tools.replace_in_file( + replace_in_file( + self, occt_csf_cmake, "set (CSF_fontconfig \"fontconfig\")", - "set (CSF_fontconfig \"{}\")".format(" ".join(self.deps_cpp_info["fontconfig"].libs))) + f"find_package(Fontconfig REQUIRED)\nset (CSF_fontconfig \"{fontconfig_libs}\")", + ) ## onetbb if self.options.with_tbb: - conan_targets.append("CONAN_PKG::onetbb") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/tbb\")", "") - tools.replace_in_file( + deps_targets.append("TBB::tbb") + replace_in_file( + self, + cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/tbb\")", + "find_package(TBB REQUIRED)", + ) + tbb_libs = " ".join(self.dependencies["onetbb"].cpp_info.aggregated_components().libs) + replace_in_file( + self, occt_csf_cmake, "set (CSF_TBB \"tbb tbbmalloc\")", - "set (CSF_TBB \"{}\")".format(" ".join(self.deps_cpp_info["onetbb"].libs))) + f"set (CSF_TBB \"{tbb_libs}\")", + ) ## ffmpeg if self.options.with_ffmpeg: - conan_targets.append("CONAN_PKG::ffmpeg") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/ffmpeg\")", "") - tools.replace_in_file( + deps_targets.append("ffmpeg::ffmpeg") + replace_in_file( + self, + cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/ffmpeg\")", + "find_package(ffmpeg REQUIRED)", + ) + ffmpeg_libs = " ".join(self.dependencies["ffmpeg"].cpp_info.aggregated_components().libs) + replace_in_file( + self, occt_csf_cmake, "set (CSF_FFmpeg \"avcodec avformat swscale avutil\")", - "set (CSF_FFmpeg \"{}\")".format(" ".join(self.deps_cpp_info["ffmpeg"].libs))) + f"set (CSF_FFmpeg \"{ffmpeg_libs}\")", + ) ## freeimage if self.options.with_freeimage: - conan_targets.append("CONAN_PKG::freeimage") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/freeimage\")", "") - tools.replace_in_file( + deps_targets.append("freeimage::freeimage") + replace_in_file( + self, cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/freeimage\")", + "find_package(freeimage REQUIRED)", + ) + freeimage_libs = " ".join(self.dependencies["freeimage"].cpp_info.aggregated_components().libs) + replace_in_file( + self, occt_csf_cmake, "set (CSF_FreeImagePlus \"freeimage\")", - "set (CSF_FreeImagePlus \"{}\")".format(" ".join(self.deps_cpp_info["freeimage"].libs))) + f"set (CSF_FreeImagePlus \"{freeimage_libs}\")", + ) ## openvr if self.options.with_openvr: - conan_targets.append("CONAN_PKG::openvr") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/openvr\")", "") - tools.replace_in_file( + deps_targets.append("openvr::openvr") + replace_in_file( + self, + cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/openvr\")", + "find_package(openvr REQUIRED)", + ) + openvr_libs = " ".join(self.dependencies["openvr"].cpp_info.aggregated_components().libs) + replace_in_file( + self, occt_csf_cmake, "set (CSF_OpenVR \"openvr_api\")", - "set (CSF_OpenVR \"{}\")".format(" ".join(self.deps_cpp_info["openvr"].libs))) + f"set (CSF_OpenVR \"{openvr_libs}\")", + ) ## rapidjson if self.options.with_rapidjson: - conan_targets.append("CONAN_PKG::rapidjson") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/rapidjson\")", "") + deps_targets.append("rapidjson") + replace_in_file( + self, + cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/rapidjson\")", + "find_package(RapidJSON REQUIRED)", + ) ## draco if self.options.get_safe("with_draco"): - conan_targets.append("CONAN_PKG::draco") - tools.replace_in_file(cmakelists, "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/draco\")", "") + deps_targets.append("draco::draco") + replace_in_file( + self, + cmakelists, + "OCCT_INCLUDE_CMAKE_FILE (\"adm/cmake/draco\")", + "find_package(draco REQUIRED)", + ) ## opengl - tools.replace_in_file( + replace_in_file( + self, occt_csf_cmake, "set (CSF_OpenGlLibs ", - "# set (CSF_OpenGlLibs ") + "find_package(OpenGL)\n# set (CSF_OpenGlLibs ", + ) if self._link_opengl: - conan_targets.append("CONAN_PKG::opengl") + deps_targets.append("OpenGL::GL") - ## Inject conan targets - tools.replace_in_file( + ## Inject dependencies targets + replace_in_file( + self, occt_toolkit_cmake, "${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}", - "${{USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}} {}".format(" ".join(conan_targets))) + "${{USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}} {}".format(" ".join(deps_targets)), + ) # Do not install pdb files - if tools.Version(self.version) >= "7.6.0": - tools.replace_in_file( + if Version(self.version) >= "7.6.0": + replace_in_file( + self, occt_toolkit_cmake, """ install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo DESTINATION "${INSTALL_DIR_BIN}\\${OCCT_INSTALL_BIN_LETTER}")""", - "") + "", + ) else: - tools.replace_in_file( + replace_in_file( + self, occt_toolkit_cmake, """ install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb CONFIGURATIONS Debug RelWithDebInfo DESTINATION "${INSTALL_DIR_BIN}\\${OCCT_INSTALL_BIN_LETTER}")""", - "") + "", + ) # Honor fPIC option, compiler.cppstd and compiler.libcxx - tools.replace_in_file(occt_defs_flags_cmake, "-fPIC", "") - tools.replace_in_file(occt_defs_flags_cmake, "-std=c++0x", "") - tools.replace_in_file(occt_defs_flags_cmake, "-std=gnu++0x", "") - tools.replace_in_file(occt_defs_flags_cmake, "-stdlib=libc++", "") - tools.replace_in_file(occt_csf_cmake, + replace_in_file(self, occt_defs_flags_cmake, "-fPIC", "") + replace_in_file(self, occt_defs_flags_cmake, "-std=c++0x", "") + replace_in_file(self, occt_defs_flags_cmake, "-std=gnu++0x", "") + replace_in_file(self, occt_defs_flags_cmake, "-stdlib=libc++", "") + replace_in_file(self, occt_csf_cmake, "set (CSF_ThreadLibs \"pthread rt stdc++\")", "set (CSF_ThreadLibs \"pthread rt\")") # No hardcoded link through #pragma - if tools.Version(self.version) < "7.6.0": - tools.replace_in_file( - os.path.join(self._source_subfolder, "src", "Font", "Font_FontMgr.cxx"), + if Version(self.version) < "7.6.0": + replace_in_file( + self, + os.path.join(self.source_folder, "src", "Font", "Font_FontMgr.cxx"), "#pragma comment (lib, \"freetype.lib\")", - "") - tools.replace_in_file( - os.path.join(self._source_subfolder, "src", "Draw", "Draw.cxx"), + "", + ) + replace_in_file( + self, + os.path.join(self.source_folder, "src", "Draw", "Draw.cxx"), """#pragma comment (lib, "tcl" STRINGIZE2(TCL_MAJOR_VERSION) STRINGIZE2(TCL_MINOR_VERSION) ".lib") #pragma comment (lib, "tk" STRINGIZE2(TCL_MAJOR_VERSION) STRINGIZE2(TCL_MINOR_VERSION) ".lib")""", "" ) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - - # Inject C++ standard from profile since we have removed hardcoded C++11 from upstream build files - if not tools.valid_min_cppstd(self, 11): - cmake.definitions["CMAKE_CXX_STANDARD"] = 11 - - # Generate a relocatable shared lib on Macos - cmake.definitions["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - - cmake.definitions["BUILD_LIBRARY_TYPE"] = "Shared" if self.options.shared else "Static" - cmake.definitions["INSTALL_TEST_CASES"] = False - cmake.definitions["BUILD_RESOURCES"] = False - cmake.definitions["BUILD_RELEASE_DISABLE_EXCEPTIONS"] = True - if self.settings.build_type == "Debug": - cmake.definitions["BUILD_WITH_DEBUG"] = self.options.extended_debug_messages - cmake.definitions["BUILD_USE_PCH"] = False - cmake.definitions["INSTALL_SAMPLES"] = False - - cmake.definitions["INSTALL_DIR_LAYOUT"] = "Unix" - cmake.definitions["INSTALL_DIR_BIN"] = "bin" - cmake.definitions["INSTALL_DIR_LIB"] = "lib" - cmake.definitions["INSTALL_DIR_INCLUDE"] = "include" - cmake.definitions["INSTALL_DIR_RESOURCE"] = "res/resource" - cmake.definitions["INSTALL_DIR_DATA"] = "res/data" - cmake.definitions["INSTALL_DIR_SAMPLES"] = "res/samples" - cmake.definitions["INSTALL_DIR_DOC"] = "res/doc" - - if is_msvc(self): - cmake.definitions["BUILD_SAMPLES_MFC"] = False - cmake.definitions["BUILD_SAMPLES_QT"] = False - cmake.definitions["BUILD_Inspector"] = False - if tools.is_apple_os(self.settings.os): - cmake.definitions["USE_GLX"] = False - if self.settings.os == "Windows": - cmake.definitions["USE_D3D"] = False - cmake.definitions["BUILD_ENABLE_FPE_SIGNAL_HANDLER"] = False - cmake.definitions["BUILD_DOC_Overview"] = False - - cmake.definitions["USE_FREEIMAGE"] = self.options.with_freeimage - cmake.definitions["USE_OPENVR"] = self.options.with_openvr - cmake.definitions["USE_FFMPEG"] = self.options.with_ffmpeg - cmake.definitions["USE_TBB"] = self.options.with_tbb - cmake.definitions["USE_RAPIDJSON"] = self.options.with_rapidjson - if tools.Version(self.version) >= "7.6.0": - cmake.definitions["USE_DRACO"] = self.options.with_draco - cmake.definitions["USE_TK"] = self.options.with_tk - cmake.definitions["USE_OPENGL"] = self.options.with_opengl - - cmake.configure(source_folder=self._source_subfolder) - return cmake - def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def _replace_package_folder(self, source, target): if os.path.isdir(os.path.join(self.package_folder, source)): - tools.rmdir(os.path.join(self.package_folder, target)) + rmdir(self, os.path.join(self.package_folder, target)) rename(self, os.path.join(self.package_folder, source), os.path.join(self.package_folder, target)) def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy( - "LICENSE_LGPL_21.txt", - src=self._source_subfolder, - dst="licenses") - self.copy( - "OCCT_LGPL_EXCEPTION.txt", - src=self._source_subfolder, - dst="licenses") - tools.rmdir(os.path.join(self.package_folder, "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + for license_file in ["LICENSE_LGPL_21.txt", "OCCT_LGPL_EXCEPTION.txt"]: + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) if self.settings.build_type == "Debug": self._replace_package_folder("libd", "lib") self._replace_package_folder("bind", "bin") @@ -382,24 +467,23 @@ def package(self): # 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._cmake_module_file_rel_path), - {target: "OpenCASCADE::{}".format(target) for module in occt_modules.values() for target in module} + {target: f"opencascade::{target}" for module in occt_modules.values() for target in module}, ) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) @property def _cmake_module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def _get_modules_from_source_code(self): csf_to_conan_dependencies = { @@ -435,25 +519,24 @@ def _get_modules_from_source_code(self): "CSF_wsock32": {"system_libs": ["wsock32"] if self.settings.os == "Windows" else []}, "CSF_d3d9": {}, # Apple OS frameworks - "CSF_Appkit": {"frameworks": ["UIKit"] if self.settings.os == "iOS" else ["Appkit"] if tools.is_apple_os(self.settings.os) else []}, - "CSF_IOKit": {"frameworks": ["IOKit"] if tools.is_apple_os(self.settings.os) else []}, + "CSF_Appkit": {"frameworks": ["UIKit"] if self.settings.os == "iOS" else ["Appkit"] if is_apple_os(self) else []}, + "CSF_IOKit": {"frameworks": ["IOKit"] if is_apple_os(self) else []}, "CSF_objc": {}, } modules = {} - # MODULES file lists all modules and all possible components per module - modules_content = tools.load(os.path.join(self.build_folder, self._source_subfolder, "adm", "MODULES")) - packaged_libs_list = tools.collect_libs(self, "lib") + # MODULES: lists all modules and all possible components per module + modules_content = load(self, os.path.join(self.source_folder, "adm", "MODULES")) + packaged_libs_list = collect_libs(self, "lib") for module_line in modules_content.splitlines(): components = {} module_components = module_line.split() components_list = [component for component in module_components[1:] if component in packaged_libs_list] for component_name in components_list: component_deps = {} - # EXTERNLIB file stores dependencies of each component. External dependencies are prefixed with CSF_ - externlib_content = tools.load(os.path.join(self.build_folder, self._source_subfolder, - "src", component_name, "EXTERNLIB")) + # EXTERNLIB: stores dependencies of each component. External dependencies are prefixed with CSF_ + externlib_content = load(self, os.path.join(self.source_folder, "src", component_name, "EXTERNLIB")) for dependency in externlib_content.splitlines(): if dependency.startswith("TK") and dependency in packaged_libs_list: component_deps.setdefault("internals", []).append(dependency) @@ -468,7 +551,7 @@ def _get_modules_from_source_code(self): return modules def _create_modules_json_file(self, modules): - tools.save(self._modules_helper_filepath, json.dumps(modules, indent=4)) + save(self, self._modules_helper_filepath, json.dumps(modules, indent=4)) @property def _modules_helper_filepath(self): @@ -478,7 +561,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenCASCADE") def _to_qualified_name(target): - return "occt_{}".format(target.lower()) + return f"occt_{target.lower()}" def _register_components(modules_dict): for module, targets in modules_dict.items(): @@ -516,16 +599,12 @@ def _register_components(modules_dict): self.cpp_info.components[conan_component_module_name].names["cmake_find_package"] = module self.cpp_info.components[conan_component_module_name].names["cmake_find_package_multi"] = module - occt_modules_json_content = tools.load(self._modules_helper_filepath) + occt_modules_json_content = load(self, self._modules_helper_filepath) occt_modules = json.loads(occt_modules_json_content) _register_components(occt_modules) - # DRAWEXE executable is not created if static build - if self.options.shared: - 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) - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "OpenCASCADE" - self.cpp_info.names["cmake_find_package_multi"] = "OpenCASCADE" + self.cpp_info.filenames["cmake_find_package"] = "OpenCASCADE" + self.cpp_info.filenames["cmake_find_package_multi"] = "OpenCASCADE" + if self.options.shared: + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/opencascade/all/patches/7.5.0-0001-fix-compile-error-cxx17.patch b/recipes/opencascade/all/patches/7.5.0-0001-fix-compile-error-cxx17.patch new file mode 100644 index 0000000000000..5084de84816a3 --- /dev/null +++ b/recipes/opencascade/all/patches/7.5.0-0001-fix-compile-error-cxx17.patch @@ -0,0 +1,83 @@ +--- a/src/QANCollection/QANCollection_Stl.cxx ++++ b/src/QANCollection/QANCollection_Stl.cxx +@@ -38,18 +38,11 @@ + #include + #include + #include ++#include + + //! Size of test data sets. + const int THE_TEST_SIZE = 5000; + +-namespace { +- // Auxiliary class to use in std::random_shuffle() +- struct RandomGenerator { +- RandomGenerator () { srand(1); } +- ptrdiff_t operator () (ptrdiff_t upper) const { return rand() % upper; } +- }; +-} +- + template + struct CollectionFiller + { +@@ -951,11 +944,13 @@ void TestPerformanceRandomIterator(Draw_Interpretor& di) + aTimer.Reset(); + aTimer.Start(); + { +- RandomGenerator aRandomGen; ++ std::random_device ran_dev; ++ std::mt19937 gen(ran_dev()); ++ gen.seed(0x03ac38f2); + for (Standard_Integer anIdx = 0; anIdx < 10; ++anIdx) + { +- std::sort (aVector->begin(), aVector->end()); +- std::random_shuffle (aVector->begin(), aVector->end(), aRandomGen); ++ std::sort (aVector->begin(), aVector->end()); ++ std::shuffle (aVector->begin(), aVector->end(), gen); + } + } + aTimer.Stop(); +@@ -965,11 +960,13 @@ void TestPerformanceRandomIterator(Draw_Interpretor& di) + aTimer.Reset(); + aTimer.Start(); + { +- RandomGenerator aRandomGen; ++ std::random_device ran_dev; ++ std::mt19937 gen(ran_dev()); ++ gen.seed(0x03ac38f2); + for (Standard_Integer anIdx = 0; anIdx < 10; ++anIdx) + { +- std::sort (aCollec->begin(), aCollec->end()); +- std::random_shuffle (aCollec->begin(), aCollec->end(), aRandomGen); ++ std::sort (aCollec->begin(), aCollec->end()); ++ std::shuffle (aCollec->begin(), aCollec->end(), gen); + } + } + aTimer.Stop(); +@@ -981,7 +978,7 @@ void TestPerformanceRandomIterator(Draw_Interpretor& di) + + // check that result is the same + if ( ! std::equal (aVector->begin(), aVector->end(), aCollec->begin()) ) +- di << "Error: sequences are not the same at the end!\n"; ++ di << "Error: sequences are not the same at the end (random iterator)!\n"; + + delete aVector; + delete aCollec; +@@ -1033,7 +1030,7 @@ void TestPerformanceForwardIterator(Draw_Interpretor& di) + + // check that result is the same + if ( ! std::equal (aVector->begin(), aVector->end(), aCollec->begin()) ) +- di << "Error: sequences are not the same at the end!\n"; ++ di << "Error: sequences are not the same at the end (forward iterator)!\n"; + + delete aVector; + delete aCollec; +@@ -1085,7 +1082,7 @@ void TestPerformanceBidirIterator(Draw_Interpretor& di) + + // check that result is the same + if ( ! std::equal (aVector->begin(), aVector->end(), aCollec->begin()) ) +- di << "Error: sequences are not the same at the end!\n"; ++ di << "Error: sequences are not the same at the end (bidir iterator)!\n"; + + delete aVector; + delete aCollec; diff --git a/recipes/opencascade/all/patches/7.5.0-0002-fix-compile-error-cxx20.patch b/recipes/opencascade/all/patches/7.5.0-0002-fix-compile-error-cxx20.patch new file mode 100644 index 0000000000000..ebda62599bb8f --- /dev/null +++ b/recipes/opencascade/all/patches/7.5.0-0002-fix-compile-error-cxx20.patch @@ -0,0 +1,45 @@ +--- a/src/XSDRAW/XSDRAW.cxx ++++ b/src/XSDRAW/XSDRAW.cxx +@@ -40,7 +40,8 @@ + #include + #include + +-#include ++#include ++#include + //#include + static int deja = 0, dejald = 0; + //unused variable +@@ -245,16 +246,23 @@ void XSDRAW::LoadDraw (Draw_Interpretor& theCommands) + Handle(TColStd_HSequenceOfTransient) XSDRAW::GetList + (const Standard_CString first, const Standard_CString second) + { +- Handle(TColStd_HSequenceOfTransient) list; +- if (!first || first[0] == '\0') { +- char ligne[80]; ligne[0] = '\0'; char truc; +-// std::cin.clear(); std::cin.get (ligne,79,'\n'); +- std::cin >> ligne; Standard_Size ln = strlen(ligne); +- char *ff = &ligne[0], *ss = NULL; +- std::cin.get(truc); if (truc != '\n') { std::cin>>&ligne[ln+1]; ss = &ligne[ln+1]; } +- return XSDRAW::GetList (ff,ss); ++ if ( !first || first[0] == '\0' ) ++ { ++ std::string aLineFirst; ++ std::cin >> aLineFirst; ++ ++ char terminateSymbol = '\0'; ++ std::cin.get(terminateSymbol); ++ ++ if ( terminateSymbol == '\n' ) ++ return XSDRAW::GetList (aLineFirst.c_str(), nullptr); ++ else ++ { ++ std::string aLineSecond; ++ std::cin >> aLineSecond; ++ return XSDRAW::GetList (aLineFirst.c_str(), aLineSecond.c_str()); ++ } + } +-// return IFSelect_Functions::GiveList (Session(),first,second); + return IFSelect_Functions::GiveList (Session(),first,second); + } + diff --git a/recipes/opencascade/all/patches/0001-undefined-ref-ncollection-lerp.patch b/recipes/opencascade/all/patches/7.5.0-0003-undefined-ref-ncollection-lerp.patch similarity index 98% rename from recipes/opencascade/all/patches/0001-undefined-ref-ncollection-lerp.patch rename to recipes/opencascade/all/patches/7.5.0-0003-undefined-ref-ncollection-lerp.patch index ddfa9af0fec0a..8c42c0b9ae17f 100644 --- a/recipes/opencascade/all/patches/0001-undefined-ref-ncollection-lerp.patch +++ b/recipes/opencascade/all/patches/7.5.0-0003-undefined-ref-ncollection-lerp.patch @@ -1,6 +1,3 @@ -Fix undefined reference with Visual Studio 2015 -see https://tracker.dev.opencascade.org/view.php?id=31922 - --- a/src/Graphic3d/Graphic3d_Camera.cxx +++ b/src/Graphic3d/Graphic3d_Camera.cxx @@ -1576,18 +1576,19 @@ bool Graphic3d_Camera::ZFitAll (const Standard_Real theScaleFactor, diff --git a/recipes/opencascade/all/test_package/CMakeLists.txt b/recipes/opencascade/all/test_package/CMakeLists.txt index 21320b4482f5b..3f52809e46906 100644 --- a/recipes/opencascade/all/test_package/CMakeLists.txt +++ b/recipes/opencascade/all/test_package/CMakeLists.txt @@ -1,17 +1,14 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) # Test components -find_package(OpenCASCADE COMPONENTS FoundationClasses ModelingData ModelingAlgorithms CONFIG) +find_package(OpenCASCADE REQUIRED FoundationClasses ModelingData ModelingAlgorithms CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} TKMath TKGeomBase TKTopAlgo TKBRep) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE TKMath TKGeomBase TKTopAlgo TKBRep) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) # Test global conan target add_executable(${PROJECT_NAME}_global test_package.cpp) -target_link_libraries(${PROJECT_NAME}_global CONAN_PKG::opencascade) -set_property(TARGET ${PROJECT_NAME}_global PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME}_global PRIVATE opencascade::opencascade) +target_compile_features(${PROJECT_NAME}_global PRIVATE cxx_std_11) diff --git a/recipes/opencascade/all/test_package/conanfile.py b/recipes/opencascade/all/test_package/conanfile.py index 13290d598bb5f..9283a22ebe1e0 100644 --- a/recipes/opencascade/all/test_package/conanfile.py +++ b/recipes/opencascade/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,8 +21,8 @@ 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) - bin_path_global = os.path.join("bin", "test_package_global") - self.run(bin_path_global, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") + bin_path_global = os.path.join(self.cpp.build.bindirs[0], "test_package_global") + self.run(bin_path_global, env="conanrun") diff --git a/recipes/opencascade/all/test_v1_package/CMakeLists.txt b/recipes/opencascade/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/opencascade/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencascade/all/test_v1_package/conanfile.py b/recipes/opencascade/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..13290d598bb5f --- /dev/null +++ b/recipes/opencascade/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +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) + bin_path_global = os.path.join("bin", "test_package_global") + self.run(bin_path_global, run_environment=True) From d1af86b20531eecd16bf829c206471793a475b0a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 06:09:26 +0300 Subject: [PATCH 2142/4087] (#20266) mpg123: fix missing glibc symbols on newer systems --- recipes/mpg123/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/mpg123/all/conanfile.py b/recipes/mpg123/all/conanfile.py index 7b5dfaff84832..a4d19cd12463a 100644 --- a/recipes/mpg123/all/conanfile.py +++ b/recipes/mpg123/all/conanfile.py @@ -153,7 +153,10 @@ def generate(self): ]) if is_apple_os(self): # Needed for fix_apple_shared_install_name invocation in package method - tc.extra_cflags = ["-headerpad_max_install_names"] + tc.extra_cflags += ["-headerpad_max_install_names"] + # The finite-math-only optimization has no effect and will cause linking errors + # when linked against glibc >= 2.31 + tc.extra_cflags += ["-fno-finite-math-only"] tc.generate() tc = AutotoolsDeps(self) tc.generate() From 632fec1629291fb3f232d151646c1c8fd70784c5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 07:22:36 +0300 Subject: [PATCH 2143/4087] (#20268) chipmunk2d: fix missing glibc symbols on newer systems --- recipes/chipmunk2d/all/conanfile.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/chipmunk2d/all/conanfile.py b/recipes/chipmunk2d/all/conanfile.py index 72a9a9cadd3ff..785d8d95d890d 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 +from conan.tools.files import copy, get, replace_in_file import os required_conan_version = ">=1.53.0" @@ -52,7 +52,14 @@ def generate(self): tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() + def _patch_sources(self): + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "-ffast-math", "-ffast-math -fno-finite-math-only") + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() From 2bdcd7e6f32a1c9f5cbe586f61af126282114ed1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 07:53:15 +0300 Subject: [PATCH 2144/4087] (#20269) graphene: fix missing glibc symbols on newer systems * graphene: bump deps * graphene: add -fno-finite-math-only to fix issues with glibc >= 2.31 --- recipes/graphene/all/conanfile.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/recipes/graphene/all/conanfile.py b/recipes/graphene/all/conanfile.py index 46dfcff7c1fdf..8f5581630fd90 100644 --- a/recipes/graphene/all/conanfile.py +++ b/recipes/graphene/all/conanfile.py @@ -4,7 +4,7 @@ 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 +from conan.tools.files import copy, get, rm, rmdir, replace_in_file from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -51,7 +51,7 @@ def layout(self): def requirements(self): if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.0") def validate(self): if self.settings.compiler == "gcc": @@ -70,9 +70,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -97,7 +97,15 @@ def generate(self): meson.project_options["introspection"] = "disabled" meson.generate() + def _patch_sources(self): + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), + "'-ffast-math'", + "'-ffast-math', '-fno-finite-math-only'") + def build(self): + self._patch_sources() meson = Meson(self) meson.configure() meson.build() From f199f41e5339d9659efd111811d31df25f690c97 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 08:22:02 +0300 Subject: [PATCH 2145/4087] (#20271) libx264: fix missing glibc symbols on newer systems --- recipes/libx264/all/conanfile.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recipes/libx264/all/conanfile.py b/recipes/libx264/all/conanfile.py index d1bf4936ed733..8463ca0ac6637 100644 --- a/recipes/libx264/all/conanfile.py +++ b/recipes/libx264/all/conanfile.py @@ -91,6 +91,7 @@ def generate(self): args["--enable-pic"] = "" if self.settings.build_type == "Debug": args["--enable-debug"] = "" + if is_apple_os(self) and self.settings.arch == "armv8": # bitstream-a.S:29:18: error: unknown token in expression extra_asflags.append("-arch arm64") @@ -111,6 +112,7 @@ def generate(self): # FIXME: get using user_build_info env.define("AS", unix_path(self, os.path.join(self.dependencies.build["nasm"].package_folder, "bin", "nasm{}".format(".exe" if self.settings.os == "Windows" else "")))) env.vars(self).save_script("conanbuild_nasm") + if cross_building(self): if self.settings.os == "Android": # the as of ndk does not work well for building libx264 @@ -132,12 +134,18 @@ def generate(self): 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") + if is_msvc(self): env = Environment() env.define("CC", "cl -nologo") if check_min_vs(self, 180, False): extra_cflags.append("-FS") env.vars(self).save_script("conanbuild_msvc") + + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + extra_cflags += ["-fno-finite-math-only"] + if extra_asflags: args["--extra-asflags"] = " ".join(extra_asflags) if extra_cflags: From d1bd12a41eaf37de5b409d7d57689ddbe075bfb8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 08:51:23 +0300 Subject: [PATCH 2146/4087] (#20273) nmslib: fix missing glibc symbols on newer systems --- recipes/nmslib/all/conanfile.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/nmslib/all/conanfile.py b/recipes/nmslib/all/conanfile.py index 91ad2d35e900e..cc8984e2be798 100644 --- a/recipes/nmslib/all/conanfile.py +++ b/recipes/nmslib/all/conanfile.py @@ -3,7 +3,7 @@ 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 +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file from conan.tools.microsoft import is_msvc, check_min_vs required_conan_version = ">=1.53.0" @@ -62,8 +62,15 @@ def generate(self): tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + replace_in_file(self, os.path.join(self.source_folder, "similarity_search", "CMakeLists.txt"), + "-Ofast", "-Ofast -fno-finite-math-only") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "similarity_search")) cmake.build() From a95dd076bd261891e9fbdec0919d1b8b86457830 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 09:22:21 +0300 Subject: [PATCH 2147/4087] (#20274) openjpeg: fix missing glibc symbols on newer systems * openjpeg: add -fno-finite-math-only to fix issues with glibc >= 2.31 * openjpeg: set cpp_info.builddirs --- recipes/openjpeg/all/conanfile.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/openjpeg/all/conanfile.py b/recipes/openjpeg/all/conanfile.py index f51919fe29fc0..b93d9d9597098 100644 --- a/recipes/openjpeg/all/conanfile.py +++ b/recipes/openjpeg/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save, replace_in_file from conan.tools.scm import Version import os import textwrap @@ -71,8 +71,15 @@ def generate(self): tc.variables["OPJ_USE_THREAD"] = True tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "-ffast-math", "-ffast-math;-fno-finite-math-only") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -137,6 +144,7 @@ def package_info(self): self.cpp_info.set_property("cmake_build_modules", [self._module_vars_rel_path]) self.cpp_info.set_property("pkg_config_name", "libopenjp2") self.cpp_info.includedirs.append(os.path.join("include", self._openjpeg_subdir)) + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) self.cpp_info.libs = ["openjp2"] if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.defines.append("OPJ_STATIC") From 1006187d4b61a159bc8a0721af4ef026033c4762 Mon Sep 17 00:00:00 2001 From: seladb Date: Tue, 17 Oct 2023 23:49:23 -0700 Subject: [PATCH 2148/4087] (#20296) pcapplusplus: bump version to v23.09 * Add recipe for v23.09 * Remove pkgconfig file(s) from package * - Add layout - Update `required_conan_version` to >= 1.52.0 * Add `src_folder` to layout * Add frameworks and system_libs * Update pcapplusplus to PcapPlusPlus * Update get source * Add `fPIC` option * Add space --- recipes/pcapplusplus/cmake/conandata.yml | 4 + recipes/pcapplusplus/cmake/conanfile.py | 73 +++++++++++++++++++ .../cmake/test_package/CMakeLists.txt | 7 ++ .../cmake/test_package/conanfile.py | 29 ++++++++ .../cmake/test_package/test_package.cpp | 8 ++ recipes/pcapplusplus/config.yml | 2 + 6 files changed, 123 insertions(+) create mode 100644 recipes/pcapplusplus/cmake/conandata.yml create mode 100644 recipes/pcapplusplus/cmake/conanfile.py create mode 100644 recipes/pcapplusplus/cmake/test_package/CMakeLists.txt create mode 100644 recipes/pcapplusplus/cmake/test_package/conanfile.py create mode 100644 recipes/pcapplusplus/cmake/test_package/test_package.cpp diff --git a/recipes/pcapplusplus/cmake/conandata.yml b/recipes/pcapplusplus/cmake/conandata.yml new file mode 100644 index 0000000000000..26ff7631cb671 --- /dev/null +++ b/recipes/pcapplusplus/cmake/conandata.yml @@ -0,0 +1,4 @@ +sources: + "23.09": + url: "https://github.com/seladb/PcapPlusPlus/archive/v23.09.tar.gz" + sha256: "608292f7d2a2e1b7af26adf89347597a6131547eea4e513194bc4f584a40fe74" diff --git a/recipes/pcapplusplus/cmake/conanfile.py b/recipes/pcapplusplus/cmake/conanfile.py new file mode 100644 index 0000000000000..e1a985494deda --- /dev/null +++ b/recipes/pcapplusplus/cmake/conanfile.py @@ -0,0 +1,73 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.errors import ConanInvalidConfiguration + + +required_conan_version = ">=1.52.0" + +class PcapplusplusConan(ConanFile): + name = "pcapplusplus" + package_type = "static-library" + license = "Unlicense" + description = "PcapPlusPlus is a multiplatform C++ library for capturing, parsing and crafting of network packets" + topics = ("pcap", "network", "security", "packet") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/seladb/PcapPlusPlus" + settings = "os", "arch", "build_type", "compiler" + options = { + "immediate_mode": [True, False], + "fPIC": [True, False], + } + default_options = { + "immediate_mode": False, + "fPIC": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def requirements(self): + if self.settings.os == "Windows": + self.requires("npcap/1.70") + else: + self.requires("libpcap/1.10.1") + + def validate(self): + if self.settings.os not in ("FreeBSD", "Linux", "Macos", "Windows"): + raise ConanInvalidConfiguration(f"{self.settings.os} 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["PCAPPP_BUILD_TESTS"] = False + tc.variables["PCAPPP_BUILD_EXAMPLES"] = False + tc.generate() + + def layout(self): + cmake_layout(self, src_folder="src") + + 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"), keep_path=False) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.libs = ["Pcap++", "Packet++", "Common++"] + if self.settings.os == "Macos": + self.cpp_info.frameworks = ["CoreFoundation", "SystemConfiguration"] + elif self.settings.os == "Windows": + self.cpp_info.system_libs = ["ws2_32", "iphlpapi"] + self.cpp_info.set_property("cmake_file_name", "PcapPlusPlus") + self.cpp_info.set_property("cmake_target_name", "PcapPlusPlus::PcapPlusPlus") diff --git a/recipes/pcapplusplus/cmake/test_package/CMakeLists.txt b/recipes/pcapplusplus/cmake/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d30ed5e5eaa78 --- /dev/null +++ b/recipes/pcapplusplus/cmake/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(PcapPlusPlus REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PcapPlusPlus::PcapPlusPlus) diff --git a/recipes/pcapplusplus/cmake/test_package/conanfile.py b/recipes/pcapplusplus/cmake/test_package/conanfile.py new file mode 100644 index 0000000000000..cc326072eb57b --- /dev/null +++ b/recipes/pcapplusplus/cmake/test_package/conanfile.py @@ -0,0 +1,29 @@ +import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/pcapplusplus/cmake/test_package/test_package.cpp b/recipes/pcapplusplus/cmake/test_package/test_package.cpp new file mode 100644 index 0000000000000..65ce01f5c61cb --- /dev/null +++ b/recipes/pcapplusplus/cmake/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include +#include "pcapplusplus/PcapPlusPlusVersion.h" + +int main() { + std::cout << "PCAP++ VERSION: " << pcpp::getPcapPlusPlusVersionFull() << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/pcapplusplus/config.yml b/recipes/pcapplusplus/config.yml index 26e119bb00764..d89c980a8be55 100644 --- a/recipes/pcapplusplus/config.yml +++ b/recipes/pcapplusplus/config.yml @@ -7,3 +7,5 @@ versions: folder: all "22.11": folder: all + "23.09": + folder: cmake From d27097fd0daf9fc1b0d748a49dedd13c14473434 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 18 Oct 2023 02:08:25 -0500 Subject: [PATCH 2149/4087] (#20538) mtdev: Call autoreconf to allow cross-compiling for armv8 --- recipes/mtdev/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/mtdev/all/conanfile.py b/recipes/mtdev/all/conanfile.py index 14422989518f0..530c1ccfb8d10 100644 --- a/recipes/mtdev/all/conanfile.py +++ b/recipes/mtdev/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -36,6 +37,9 @@ def configure(self): def layout(self): basic_layout(self, src_folder="src") + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") @@ -46,9 +50,12 @@ def source(self): def generate(self): tc = AutotoolsToolchain(self) tc.generate() + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() def build(self): autotools = Autotools(self) + autotools.autoreconf() autotools.configure() autotools.make() From 4db32434945b9dd103021808879aa0ea9998382b Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 18 Oct 2023 02:24:46 -0500 Subject: [PATCH 2150/4087] (#20557) libsystemd/253.*: Fix cross-compilation * Bump pkgconf in test packages * Bump Meson * Add patch to fix cross-compiling with Meson --- recipes/libsystemd/all/conandata.yml | 12 +++++++ recipes/libsystemd/all/conanfile.py | 2 +- ...eson-use-c_args-in-generator-scripts.patch | 33 +++++++++++++++++++ .../libsystemd/all/test_package/conanfile.py | 2 +- .../all/test_v1_package/conanfile.py | 2 +- 5 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 recipes/libsystemd/all/patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index 6908923204fe6..4c9f3dfcddb62 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -34,6 +34,10 @@ patches: - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" patch_type: "conan" + - patch_file: "patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch" + patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" + patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" + patch_type: "portability" "253.6": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" @@ -41,6 +45,10 @@ patches: - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" patch_type: "conan" + - patch_file: "patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch" + patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" + patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" + patch_type: "portability" "253.3": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" @@ -48,6 +56,10 @@ patches: - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" patch_type: "conan" + - patch_file: "patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch" + patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" + patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" + patch_type: "portability" "252.9": - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 7267a019ded53..4632a3731b01e 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -70,7 +70,7 @@ def validate(self): raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.2") self.tool_requires("m4/1.4.19") self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): diff --git a/recipes/libsystemd/all/patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch b/recipes/libsystemd/all/patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch new file mode 100644 index 0000000000000..478910e9a3aeb --- /dev/null +++ b/recipes/libsystemd/all/patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch @@ -0,0 +1,33 @@ +From 7b110183b2607d57d399e977a96cb453aed37265 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 13 Oct 2023 09:41:00 -0500 +Subject: [PATCH] Revert "Revert "meson: use c_args in generator scripts + (#10289)"" + +This reverts commit 0e3cc902faec4f18d5fa606396f602b08bc94e27. + +Fixes #10288. +I have confirmed that this does now fix cross-compilation. +It appears that changes upstream in Meson, probably mesonbuild/meson#5263, have made the original MR, #10289, work now. + +This needs to be tested to ensure that it doesn't break Travis CI like when it was reverted in #10361. +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index d79263ea8b..87b5a76082 100644 +--- a/meson.build ++++ b/meson.build +@@ -498,7 +498,7 @@ if cxx_cmd != '' + add_project_arguments(cxx.get_supported_arguments(basic_disabled_warnings), language : 'cpp') + endif + +-cpp = ' '.join(cc.cmd_array()) + ' -E' ++cpp = ' '.join(cc.cmd_array() + get_option('c_args')) + ' -E' + + has_wstringop_truncation = cc.has_argument('-Wstringop-truncation') + +-- +2.41.0 + diff --git a/recipes/libsystemd/all/test_package/conanfile.py b/recipes/libsystemd/all/test_package/conanfile.py index 4fc0d2de603bc..0e275799b53e7 100644 --- a/recipes/libsystemd/all/test_package/conanfile.py +++ b/recipes/libsystemd/all/test_package/conanfile.py @@ -18,7 +18,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) diff --git a/recipes/libsystemd/all/test_v1_package/conanfile.py b/recipes/libsystemd/all/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/libsystemd/all/test_v1_package/conanfile.py +++ b/recipes/libsystemd/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From c51d1837b664f07290130f15d32d1ace575911b5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Oct 2023 11:07:38 +0300 Subject: [PATCH 2151/4087] (#20300) caf: add version 0.19.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/caf/all/conandata.yml | 3 +++ recipes/caf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/caf/all/conandata.yml b/recipes/caf/all/conandata.yml index 396e0bc5ecfa6..4b177005e2f51 100644 --- a/recipes/caf/all/conandata.yml +++ b/recipes/caf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.19.4": + url: "https://github.com/actor-framework/actor-framework/archive/0.19.4.tar.gz" + sha256: "114d43e3a7a2305ca1d2106cd0daeff471564f62b90db1e453ba9eb5c47c02f6" "0.19.3": url: "https://github.com/actor-framework/actor-framework/archive/0.19.3.tar.gz" sha256: "97ca81bda2e8451505dbaf2aafddc99ffcee7af3db51ae9cbc5c11a3c46c921c" diff --git a/recipes/caf/config.yml b/recipes/caf/config.yml index 4e03d61da3e52..548a9345742d5 100644 --- a/recipes/caf/config.yml +++ b/recipes/caf/config.yml @@ -1,4 +1,6 @@ versions: + "0.19.4": + folder: all "0.19.3": folder: all "0.19.2": From 39a7276eb0147a95e222ac6d621b7c339354628b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 18 Oct 2023 17:24:17 +0900 Subject: [PATCH 2152/4087] (#20575) dataframe: add version 2.2.0 * dataframe: add version 2.2.0 * drop support clang12 with libc++ * drop support apple-clang 13 --- recipes/dataframe/all/conandata.yml | 18 +++--------------- recipes/dataframe/all/conanfile.py | 18 +++++++++++------- .../dataframe/all/test_package/CMakeLists.txt | 2 +- recipes/dataframe/config.yml | 12 ++---------- 4 files changed, 17 insertions(+), 33 deletions(-) diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 06380e6e2f3cf..6ea3f55c476e4 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.2.0.tar.gz" + sha256: "289e8f86c9d468ee62508167c202c34d662915922582af73b9d31691feb2b0af" "2.1.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.1.0.tar.gz" sha256: "7f131c608dccd14599e5765e1a919550f08f5c334764f0e20ec181e7e8cbddae" @@ -20,21 +23,6 @@ sources: "1.18.0": url: "https://github.com/hosseinmoein/DataFrame/archive/1.18.0.tar.gz" sha256: "8cdb8b246263fbd8fcef07b6300f6aefb58b3a54cd67e5cbe5383bc948305844" - "1.17.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.17.0.tar.gz" - sha256: "669e9663de358330b15eacaa783ccf42fe16db27b9556fdcd18f1114c0335557" - "1.16.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.16.0.tar.gz" - sha256: "a5a24ec07fb4761a294a291d7bed7c72e82e2dde8bba8bfc1ca2f68e07afd7fc" - "1.15.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.15.0.tar.gz" - sha256: "68eb3fca66dff3f8473722d561e9391800957a09c2c6d4dde5f9ad37cbf88954" - "1.14.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.14.0.tar.gz" - sha256: "45991cc16e478b24641d0548aab24fd59ad534ada30fca8776fd9990e1914ac7" - "1.12.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.12.0.tar.gz" - sha256: "e951a699bd048bd7a034ac60bdd45f15cf066a04fda33cb22030d192b91a836c" patches: "2.0.0": - patch_file: "patches/2.0.0-0001-use-abs.patch" diff --git a/recipes/dataframe/all/conanfile.py b/recipes/dataframe/all/conanfile.py index d8ecb6217a53f..33deb412912f9 100644 --- a/recipes/dataframe/all/conanfile.py +++ b/recipes/dataframe/all/conanfile.py @@ -13,13 +13,13 @@ class DataFrameConan(ConanFile): name = "dataframe" - license = "BSD-3-Clause" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/hosseinmoein/DataFrame" description = ( "C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ " "using native types, continuous memory storage, and no pointers are involved" ) + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/hosseinmoein/DataFrame" topics = ( "dataframe", "data-science", @@ -37,7 +37,6 @@ class DataFrameConan(ConanFile): "financial-engineering", "large-data", ) - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -72,8 +71,6 @@ def _minimum_compilers_version(self): }, }.get(self._min_cppstd, {}) - return {} - def export_sources(self): export_conandata_patches(self) @@ -94,13 +91,20 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + if Version(self.version) >= "2.2.0": + if (self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "13.0.0" and \ + self.settings.compiler.libcxx == "libc++"): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support clang < 13.0.0 with libc++.") + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14.0.0": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support apple-clang < 14.0.0.") + + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/dataframe/all/test_package/CMakeLists.txt b/recipes/dataframe/all/test_package/CMakeLists.txt index 541c6ae64fbf1..b1fa419a617f6 100644 --- a/recipes/dataframe/all/test_package/CMakeLists.txt +++ b/recipes/dataframe/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.12) project(test_package LANGUAGES CXX) find_package(DataFrame REQUIRED CONFIG) diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml index 0bd7dd9ecfa09..7972770297f04 100644 --- a/recipes/dataframe/config.yml +++ b/recipes/dataframe/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: all "2.1.0": folder: all "2.0.0": @@ -13,13 +15,3 @@ versions: folder: all "1.18.0": folder: all - "1.17.0": - folder: all - "1.16.0": - folder: all - "1.15.0": - folder: all - "1.14.0": - folder: all - "1.12.0": - folder: all From 70abb8d5e4af38fcb04632fe2ff68e44e0537e10 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 18 Oct 2023 18:28:15 +0900 Subject: [PATCH 2153/4087] (#20582) clipboard_lite: add recipe * clipboard_lite: add recipe * fix test_package * link math lib * link functions, but don't execute functions * include string * apply patch * link CoreGraphics for macOSX * add patch_source --- recipes/clipboard_lite/all/conandata.yml | 10 ++ recipes/clipboard_lite/all/conanfile.py | 105 ++++++++++++++++++ .../all/patches/0001-include-string.patch | 12 ++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 23 ++++ recipes/clipboard_lite/config.yml | 3 + 7 files changed, 187 insertions(+) create mode 100644 recipes/clipboard_lite/all/conandata.yml create mode 100644 recipes/clipboard_lite/all/conanfile.py create mode 100644 recipes/clipboard_lite/all/patches/0001-include-string.patch create mode 100644 recipes/clipboard_lite/all/test_package/CMakeLists.txt create mode 100644 recipes/clipboard_lite/all/test_package/conanfile.py create mode 100644 recipes/clipboard_lite/all/test_package/test_package.cpp create mode 100644 recipes/clipboard_lite/config.yml diff --git a/recipes/clipboard_lite/all/conandata.yml b/recipes/clipboard_lite/all/conandata.yml new file mode 100644 index 0000000000000..3299b8b622e6d --- /dev/null +++ b/recipes/clipboard_lite/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "3.4": + url: "https://github.com/smasherprog/clipboard_lite/archive/refs/tags/3.4.tar.gz" + sha256: "d8206c9c97381645b1a5a6662414d199f46fb4e160d0f914774ed8dcc0369cc4" +patches: + "3.4": + - patch_file: "patches/0001-include-string.patch" + patch_description: "include string header" + patch_type: "portability" + patch_source: "https://github.com/smasherprog/clipboard_lite/pull/3" diff --git a/recipes/clipboard_lite/all/conanfile.py b/recipes/clipboard_lite/all/conanfile.py new file mode 100644 index 0000000000000..28bed6034cb23 --- /dev/null +++ b/recipes/clipboard_lite/all/conanfile.py @@ -0,0 +1,105 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.apple import is_apple_os +import os + +required_conan_version = ">=1.53.0" + +class ClipboardLiteConan(ConanFile): + name = "clipboard_lite" + description = "cross platform clipboard library" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/smasherprog/clipboard_lite" + topics = ("clipboard") + 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 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.settings.os in ["Linux", "FreeBSD"]: + self.requires("xorg/system") + + 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 generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["clipboard_lite"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.requires.extend(["xorg::xcb", "xorg::x11", "xorg::xfixes"]) + self.cpp_info.system_libs.extend(["m", "pthread"]) + elif is_apple_os(self): + self.cpp_info.frameworks = ['Cocoa', 'Carbon', 'CoreFoundation', 'CoreGraphics', 'Foundation', 'AppKit'] + elif self.settings.os == "Windows": + self.cpp_info.system_libs.extend([ + "shlwapi", + "windowscodecs", + ]) diff --git a/recipes/clipboard_lite/all/patches/0001-include-string.patch b/recipes/clipboard_lite/all/patches/0001-include-string.patch new file mode 100644 index 0000000000000..9f99123d7753c --- /dev/null +++ b/recipes/clipboard_lite/all/patches/0001-include-string.patch @@ -0,0 +1,12 @@ +diff --git a/include/Clipboard_Lite.h b/include/Clipboard_Lite.h +index 4f98756..b68e0f4 100644 +--- a/include/Clipboard_Lite.h ++++ b/include/Clipboard_Lite.h +@@ -1,6 +1,7 @@ + #pragma once + #include + #include ++#include + + #if defined(WINDOWS) || defined(WIN32) + #if defined(CLIPBOARD_LITE_DLL) diff --git a/recipes/clipboard_lite/all/test_package/CMakeLists.txt b/recipes/clipboard_lite/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2d472ecc585a3 --- /dev/null +++ b/recipes/clipboard_lite/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(clipboard_lite REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE clipboard_lite::clipboard_lite) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/clipboard_lite/all/test_package/conanfile.py b/recipes/clipboard_lite/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/clipboard_lite/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/clipboard_lite/all/test_package/test_package.cpp b/recipes/clipboard_lite/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8244a75adf815 --- /dev/null +++ b/recipes/clipboard_lite/all/test_package/test_package.cpp @@ -0,0 +1,23 @@ +#include +#include "Clipboard_Lite.h" + +// just compile it, don't execute it. +// clipboard_lite execute `assert()` with false when test_package runs in headless environment. +auto create_impl() { + auto clipboard = SL::Clipboard_Lite::CreateClipboard() + ->onText([](const std::string& text) { + std::cout << text << std::endl; + }) + ->onImage([&](const SL::Clipboard_Lite::Image& image) { + std::cout << "onImage Height=" << image.Height << " Width=" << image.Width << std::endl; + }) + ->run(); + + return clipboard; +} + +int main(void) { + auto* create = create_impl; + + return 0; +} diff --git a/recipes/clipboard_lite/config.yml b/recipes/clipboard_lite/config.yml new file mode 100644 index 0000000000000..a020f54c411ba --- /dev/null +++ b/recipes/clipboard_lite/config.yml @@ -0,0 +1,3 @@ +versions: + "3.4": + folder: all From dda743993a429233acbf13c1a09e510d390eb5b2 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 18 Oct 2023 12:30:12 +0200 Subject: [PATCH 2154/4087] (#20596) gnutls/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/gnutls/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/gnutls/all/conanfile.py b/recipes/gnutls/all/conanfile.py index d60649f4b2c09..193f97471c98a 100644 --- a/recipes/gnutls/all/conanfile.py +++ b/recipes/gnutls/all/conanfile.py @@ -66,14 +66,14 @@ def layout(self): def requirements(self): self.requires("nettle/3.8.1") - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") self.requires("libiconv/1.17") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: - self.requires("zstd/1.5.4") + self.requires("zstd/1.5.5") if self.options.with_brotli: - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") def validate(self): if is_msvc(self): @@ -81,7 +81,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 0f6b8b8e8415f785ab07a34c9d1b07d0cf1f97af Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 18 Oct 2023 13:27:09 +0200 Subject: [PATCH 2155/4087] (#20598) mongo-c-driver/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/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 75cc9a3fd0fcd..abc21a11a2f2b 100644 --- a/recipes/mongo-c-driver/all/conanfile.py +++ b/recipes/mongo-c-driver/all/conanfile.py @@ -91,7 +91,7 @@ def validate(self): def build_requirements(self): if self.options.with_ssl == "libressl" or self.options.with_zstd: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 0b17150e973c884958bf6501a526586333b9962d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 18 Oct 2023 13:35:10 +0200 Subject: [PATCH 2156/4087] (#19973) proj: use `sqlite3/` in build requirements + version range for libcurl * use host_version for sqlite3 in build requirements * add package_type * bump dependencies * use version range for libcurl * typo * handle legacy 1 profile in conan v1 * workaround for missing LINK_DEPENDENT_LIBRARIES in CMakeDeps in case of shared dependencies * no need to manage "run" with one profile since it's a conan v1 thing and conan v1 doesn't care. * fix min conan version --- recipes/proj/all/conanfile.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index 38d4022e8f856..ecf7a505fd31b 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.apple import is_apple_os -from conan.tools.build import can_run, stdcpp_library +from conan.tools.build import stdcpp_library from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, replace_in_file, collect_libs, rm, rename @@ -9,7 +9,7 @@ import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" class ProjConan(ConanFile): @@ -19,7 +19,7 @@ class ProjConan(ConanFile): topics = "dsp", "proj", "proj4", "projections", "gis", "geospatial" homepage = "https://proj.org" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -38,6 +38,10 @@ class ProjConan(ConanFile): "build_executables": True, } + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) @@ -57,23 +61,23 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.42.0", run=can_run(self)) + self.requires("sqlite3/3.43.1") if self.options.get_safe("with_tiff"): - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.get_safe("with_curl"): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def build_requirements(self): - if not can_run(self): - self.tool_requires("sqlite3/3.42.0") + if not self._is_legacy_one_profile: + self.tool_requires("sqlite3/") 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): env = VirtualBuildEnv(self) env.generate() - if can_run(self): + if self._is_legacy_one_profile: env = VirtualRunEnv(self) env.generate(scope="build") @@ -101,8 +105,10 @@ def generate(self): if Version(self.version) >= "8.1.0": tc.variables["NLOHMANN_JSON_ORIGIN"] = "external" tc.variables["CMAKE_MACOSX_BUNDLE"] = False - # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + 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.generate() deps = CMakeDeps(self) @@ -135,7 +141,7 @@ def _patch_sources(self): else: cmake_sqlite_call = "generate_proj_db.cmake" pattern = "\"${EXE_SQLITE3}\"" - if can_run(self): + if self._is_legacy_one_profile: lib_paths = self.dependencies["sqlite3"].cpp_info.libdirs else: lib_paths = self.dependencies.build["sqlite3"].cpp_info.libdirs From 8e2022d096a3d7b92d29095f6794434e722f75cd Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Wed, 18 Oct 2023 14:46:37 +0200 Subject: [PATCH 2157/4087] (#18826) zstd/*: Added "build_programs" option * zstd: Added "build_programs" option to allow client to decide whether to build executables or not * validate zstd lib in test package Signed-off-by: Uilian Ries * Updated test package to use build_env instead of run_env to run the newly built ztsd executable * Update recipes/zstd/all/conanfile.py Co-authored-by: Uilian Ries * Added qnx support in platform.h * Implemented better way to run binaries from the package in the test() method * Update recipes/zstd/all/conandata.yml Co-authored-by: Uilian Ries * zstd: Fixed spelling error in conandata.yml --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/zstd/all/conandata.yml | 4 +++ recipes/zstd/all/conanfile.py | 25 ++++++++++++++++--- .../zstd/all/patches/1.5.5-qnx_support.patch | 11 ++++++++ recipes/zstd/all/test_package/conanfile.py | 14 +++++++---- 4 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 recipes/zstd/all/patches/1.5.5-qnx_support.patch diff --git a/recipes/zstd/all/conandata.yml b/recipes/zstd/all/conandata.yml index 01522ab9511c5..0deaf672d11b8 100644 --- a/recipes/zstd/all/conandata.yml +++ b/recipes/zstd/all/conandata.yml @@ -43,6 +43,10 @@ patches: - patch_file: "patches/1.5.2-cmake-remove-asm-except-x86_64.patch" patch_description: "use assembler codes only on x86_64" patch_type: "portability" + - patch_file: "patches/1.5.5-qnx_support.patch" + patch_description: "Add qnx to platform" + patch_type: "portability" + patch_source: "https://github.com/facebook/zstd/pull/3745" "1.5.4": - patch_file: "patches/1.5.2-cmake-remove-asm-except-x86_64.patch" patch_description: "use assembler codes only on x86_64" diff --git a/recipes/zstd/all/conanfile.py b/recipes/zstd/all/conanfile.py index 0b3e82a7fef9c..2c1eb9056387d 100644 --- a/recipes/zstd/all/conanfile.py +++ b/recipes/zstd/all/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir, rm from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.53.0" - class ZstdConan(ConanFile): name = "zstd" url = "https://github.com/conan-io/conan-center-index" @@ -21,11 +21,13 @@ class ZstdConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "threading": [True, False], + "build_programs": [True, False], } default_options = { "shared": False, "fPIC": True, "threading": True, + "build_programs": True, } def export_sources(self): @@ -49,10 +51,14 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["ZSTD_BUILD_PROGRAMS"] = False - tc.variables["ZSTD_BUILD_STATIC"] = not self.options.shared + tc.variables["ZSTD_BUILD_PROGRAMS"] = self.options.build_programs + tc.variables["ZSTD_BUILD_STATIC"] = not self.options.shared or self.options.build_programs tc.variables["ZSTD_BUILD_SHARED"] = self.options.shared tc.variables["ZSTD_MULTITHREAD_SUPPORT"] = self.options.threading + + if not is_msvc(self): + tc.variables["CMAKE_C_FLAGS"] = "-Wno-maybe-uninitialized" + if Version(self.version) < "1.4.3": # Generate a relocatable shared lib on Macos tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" @@ -77,6 +83,12 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + if self.options.shared and self.options.build_programs: + #If we built programs we always build static libs, + #but if we only want shared libs in the package then remove the static libs + rm(self, "*.a", os.path.join(self.package_folder, "lib")) def package_info(self): zstd_cmake = "libzstd_shared" if self.options.shared else "libzstd_static" @@ -90,3 +102,8 @@ def package_info(self): self.cpp_info.components["zstdlib"].libs = collect_libs(self) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["zstdlib"].system_libs.append("pthread") + + if self.options.build_programs: + # TODO: Remove after dropping Conan 1.x from ConanCenterIndex + bindir = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bindir) diff --git a/recipes/zstd/all/patches/1.5.5-qnx_support.patch b/recipes/zstd/all/patches/1.5.5-qnx_support.patch new file mode 100644 index 0000000000000..ba58a24cceb49 --- /dev/null +++ b/recipes/zstd/all/patches/1.5.5-qnx_support.patch @@ -0,0 +1,11 @@ +--- programs/platform.h 2023-04-04 22:13:52.000000000 +0200 ++++ programs/platform.h 2023-09-03 10:01:58.930595800 +0200 +@@ -89,7 +89,7 @@ + */ + # elif !defined(_WIN32) \ + && ( defined(__unix__) || defined(__unix) \ +- || defined(__midipix__) || defined(__VMS) || defined(__HAIKU__) ) ++ || defined(_QNX_SOURCE) || defined(__midipix__) || defined(__VMS) || defined(__HAIKU__) ) + + # if defined(__linux__) || defined(__linux) || defined(__CYGWIN__) + # ifndef _POSIX_C_SOURCE diff --git a/recipes/zstd/all/test_package/conanfile.py b/recipes/zstd/all/test_package/conanfile.py index 6f307ff1c207f..5c69b0e8faebe 100644 --- a/recipes/zstd/all/test_package/conanfile.py +++ b/recipes/zstd/all/test_package/conanfile.py @@ -13,7 +13,7 @@ def layout(self): cmake_layout(self) def requirements(self): - self.requires(self.tested_reference_str) + self.requires(self.tested_reference_str, run=True) def build(self): cmake = CMake(self) @@ -21,7 +21,11 @@ def build(self): cmake.build() def test(self): - if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - png_file = os.path.join(self.source_folder, "logo.png") - self.run(f"{bin_path} {png_file}", env="conanrun") + if not can_run(self): + return + + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + png_file = os.path.join(self.source_folder, "logo.png") + self.run(f"{bin_path} {png_file}", env="conanrun") + + self.run(f"zstd --version", env="conanrun") From 678f203b75cfcdc2e1ccc029dcac21a3a8bb0ee4 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Wed, 18 Oct 2023 21:20:13 +0200 Subject: [PATCH 2158/4087] (#20641) SObjectizer: add version 5.8.1 --- recipes/sobjectizer/all/conandata.yml | 3 +++ recipes/sobjectizer/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sobjectizer/all/conandata.yml b/recipes/sobjectizer/all/conandata.yml index 6518ae7fc9919..9867b85e58972 100644 --- a/recipes/sobjectizer/all/conandata.yml +++ b/recipes/sobjectizer/all/conandata.yml @@ -36,3 +36,6 @@ sources: "5.8.0": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.8.0.tar.gz" sha256: "de2b4ae0e817a108dae6d6787c79ed84c33bd447842b5fdcb780f6697b4c2d49" + "5.8.1": + url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.8.1.tar.gz" + sha256: "2d6a1d57ecb1263d00460fd2dbf386e7323ab8643d10667d1646c3bbc91ef764" diff --git a/recipes/sobjectizer/config.yml b/recipes/sobjectizer/config.yml index ecd4ce4a44c0f..648b2e28b68fb 100644 --- a/recipes/sobjectizer/config.yml +++ b/recipes/sobjectizer/config.yml @@ -23,3 +23,5 @@ versions: folder: all "5.8.0": folder: all + "5.8.1": + folder: all From 6e6fdbeefe093b450ad8e8ee5f3c82474f9b0fb8 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 18 Oct 2023 21:42:39 +0200 Subject: [PATCH 2159/4087] (#18453) libvips/all: bump deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libvips/all: bump deps * add tool_requires("gettext/0.21") * bump deps * bump deps * try fixing gettext issue with workaround from libsecret recipe * fix linter * fix linter * revert meson to 1.0.1 * Revert "revert meson to 1.0.1" This reverts commit 42a8b30eeecd3501d6d676fb258d902249cc4234. * bump pkgconf * Revert "bump pkgconf" * bump glib * bump zlib requirement to [>=1.2.11 <2] range * bump pkgconf * bump libtiff * bump libwebp * bump cgif & libheif --------- Co-authored-by: Rubén Rincón Blanco --- recipes/libvips/all/conanfile.py | 46 +++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/recipes/libvips/all/conanfile.py b/recipes/libvips/all/conanfile.py index e977e0d7cab2b..41fc3c25f6348 100644 --- a/recipes/libvips/all/conanfile.py +++ b/recipes/libvips/all/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.build import can_run -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.env import VirtualBuildEnv from conan.tools.files import copy, get, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout @@ -10,7 +9,7 @@ from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" class LibvipsConan(ConanFile): @@ -117,11 +116,11 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") - self.requires("glib/2.76.1", transitive_headers=True, transitive_libs=True, run=can_run(self)) + self.requires("glib/2.78.0", transitive_headers=True, transitive_libs=True) if self.options.with_cfitsio: - self.requires("cfitsio/4.1.0") + self.requires("cfitsio/4.2.0") if self.options.with_cgif: - self.requires("cgif/0.3.0") + self.requires("cgif/0.3.2") if self.options.with_exif: self.requires("libexif/0.6.24") if self.options.with_fftw: @@ -129,13 +128,13 @@ def requirements(self): if self.options.with_fontconfig: self.requires("fontconfig/2.14.2") if self.options.with_heif: - self.requires("libheif/1.13.0") + self.requires("libheif/1.16.2") if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") if self.options.with_jpeg_xl: self.requires("libjxl/0.6.1") if self.options.with_lcms: @@ -145,7 +144,7 @@ def requirements(self): if self.options.with_matio: self.requires("matio/1.5.23") if self.options.with_openexr: - self.requires("openexr/3.1.5") + self.requires("openexr/3.1.9") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_pangocairo: @@ -153,17 +152,17 @@ def requirements(self): if self.options.with_pdfium: self.requires("pdfium/cci.20210730") if self.options.with_png == "libpng": - self.requires("libpng/1.6.39") + self.requires("libpng/1.6.40") elif self.options.with_png == "libspng": - self.requires("libspng/0.7.3") + self.requires("libspng/0.7.4") if self.options.with_poppler: self.requires("poppler/21.07.0") if self.options.with_tiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.6.0") if self.options.with_webp: - self.requires("libwebp/1.3.0") + self.requires("libwebp/1.3.2") if self.options.with_zlib: - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.options.vapi and not self.options.introspection: @@ -200,13 +199,19 @@ def validate(self): raise ConanInvalidConfiguration("librsvg recipe not available in conancenter yet") def build_requirements(self): - self.tool_requires("meson/1.0.1") + self.tool_requires("meson/1.2.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self.options.introspection: self.tool_requires("gobject-introspection/1.72.0") - if not can_run(self): - self.tool_requires("glib/2.76.1") + self.tool_requires("glib/") + + if self.settings.os == "Macos": + # Avoid using gettext from homebrew which may be linked against + # a different/incompatible libiconv than the one being exposed + # in the runtime environment (DYLD_LIBRARY_PATH) + # See https://github.com/conan-io/conan-center-index/pull/17502#issuecomment-1542492466 + self.tool_requires("gettext/0.21") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -214,9 +219,6 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if can_run(self): - env = VirtualRunEnv(self) - env.generate(scope="build") tc = MesonToolchain(self) true_false = lambda v: "true" if v else "false" From c66978bf3570172a69aaff2a65a87b788d9e2ed8 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 19 Oct 2023 02:26:08 +0200 Subject: [PATCH 2160/4087] (#20636) harfbuzz: add version 8.2.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index d7feed1d663dd..22af954513093 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.2.2": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.2.2/harfbuzz-8.2.2.tar.xz" + sha256: "e433ad85fbdf57f680be29479b3f964577379aaf319f557eb76569f0ecbc90f3" "8.2.1": url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.2.1/harfbuzz-8.2.1.tar.xz" sha256: "0fec78f98c9c8faf228957a201c8846f809452c20f8445eb092a1ba6f22dbea5" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index 5cf33eaf299d0..b1db9524d3543 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "8.2.2": + folder: all "8.2.1": folder: all "8.1.1": From c108bf4edab4c3f78d90312e4a5c44b495b8d172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 19 Oct 2023 03:23:38 +0200 Subject: [PATCH 2161/4087] (#20134) Bump doxygen's zlib requirement to [>=1.2.11 <2] range * Bump doxygen's zlib requirement to [>=1.2.11 <2] range * Linux statically libgcc Signed-off-by: Uilian Ries * safe testing Signed-off-by: Uilian Ries * simplify test package Signed-off-by: Uilian Ries * Skip running when cross built Signed-off-by: Uilian Ries * Link everthing statically Signed-off-by: Uilian Ries * Skip linkage error Signed-off-by: Uilian Ries * Update recipes/doxygen/all/test_v1_package/conanfile.py * remove test_v1_package Signed-off-by: Uilian Ries * Skip test when hving glibc trouble Signed-off-by: Uilian Ries * print error line Signed-off-by: Uilian Ries * skip assert Signed-off-by: Uilian Ries * Use full settings Signed-off-by: Uilian Ries * Do not build doxyapp Signed-off-by: Uilian Ries * Install libiconv when parser is listed Signed-off-by: Uilian Ries * [doxygen] Model iconv dependency and inject to build system * Improve description Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries Co-authored-by: Samuel Dowling --- recipes/doxygen/all/conandata.yml | 18 +++++ recipes/doxygen/all/conanfile.py | 13 ++-- .../1.8.17-0002-fix-iconv-linkage.patch | 65 +++++++++++++++++++ .../1.8.18-0002-fix-iconv-linkage.patch | 65 +++++++++++++++++++ .../1.8.20-0002-fix-iconv-linkage.patch | 65 +++++++++++++++++++ .../1.9.1-0002-fix-iconv-linkage.patch | 65 +++++++++++++++++++ .../1.9.2-0002-fix-iconv-linkage.patch | 65 +++++++++++++++++++ .../1.9.4-0002-fix-iconv-linkage.patch | 65 +++++++++++++++++++ .../doxygen/all/test_package/CMakeLists.txt | 8 --- recipes/doxygen/all/test_package/conanfile.py | 22 ++----- .../doxygen/all/test_package/test_package.cpp | 8 --- .../all/test_v1_package/CMakeLists.txt | 8 --- .../doxygen/all/test_v1_package/conanfile.py | 22 ------- 13 files changed, 422 insertions(+), 67 deletions(-) create mode 100644 recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch create mode 100644 recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch create mode 100644 recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch create mode 100644 recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch create mode 100644 recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch create mode 100644 recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch delete mode 100644 recipes/doxygen/all/test_package/CMakeLists.txt delete mode 100644 recipes/doxygen/all/test_package/test_package.cpp delete mode 100644 recipes/doxygen/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/doxygen/all/test_v1_package/conanfile.py diff --git a/recipes/doxygen/all/conandata.yml b/recipes/doxygen/all/conandata.yml index b6735dc89d517..32fdd824d1e93 100644 --- a/recipes/doxygen/all/conandata.yml +++ b/recipes/doxygen/all/conandata.yml @@ -23,23 +23,41 @@ patches: patch_description: "Enable modern compilers" patch_type: "portability" patch_source: "https://github.com/doxygen/doxygen/commit/5198966c8d5fec89116d025c74934ac03ea511fa" + - patch_file: "patches/1.9.4-0002-fix-iconv-linkage.patch" + patch_description: "Replace IConv CMake variables by Conan CMake targets" + patch_type: "conan" "1.9.2": - patch_file: "patches/1.9.2-0001-imported-target.patch" patch_description: "Fix includes" patch_type: "portability" + - patch_file: "patches/1.9.2-0002-fix-iconv-linkage.patch" + patch_description: "Replace IConv CMake variables by Conan CMake targets" + patch_type: "conan" "1.9.1": - patch_file: "patches/1.9.1-0001-imported-target.patch" patch_description: "Fix includes" patch_type: "portability" + - patch_file: "patches/1.9.1-0002-fix-iconv-linkage.patch" + patch_description: "Replace IConv CMake variables by Conan CMake targets" + patch_type: "conan" "1.8.20": - patch_file: "patches/1.8-0001-xapian.patch" patch_description: "Fix xapian find_package command" patch_type: "portability" + - patch_file: "patches/1.8.20-0002-fix-iconv-linkage.patch" + patch_description: "Replace IConv CMake variables by Conan CMake targets" + patch_type: "conan" "1.8.18": - patch_file: "patches/1.8-0001-xapian.patch" patch_description: "Fix xapian find_package command" patch_type: "portability" + - patch_file: "patches/1.8.18-0002-fix-iconv-linkage.patch" + patch_description: "Replace IConv CMake variables by Conan CMake targets" + patch_type: "conan" "1.8.17": - patch_file: "patches/1.8-0001-xapian.patch" patch_description: "Fix xapian find_package command" patch_type: "portability" + - patch_file: "patches/1.8.17-0002-fix-iconv-linkage.patch" + patch_description: "Replace IConv CMake variables by Conan CMake targets" + patch_type: "conan" diff --git a/recipes/doxygen/all/conanfile.py b/recipes/doxygen/all/conanfile.py index 7b30ce53b0060..e3bd611aea91d 100644 --- a/recipes/doxygen/all/conanfile.py +++ b/recipes/doxygen/all/conanfile.py @@ -21,10 +21,12 @@ class DoxygenConan(ConanFile): options = { "enable_parse": [True, False], "enable_search": [True, False], + "enable_app": [True, False], } default_options = { "enable_parse": True, "enable_search": True, + "enable_app": False, } @property @@ -52,10 +54,10 @@ def layout(self): def requirements(self): if self.options.enable_search: self.requires("xapian-core/1.4.19") - self.requires("zlib/1.2.13") - - def package_id(self): - del self.info.settings.compiler + self.requires("zlib/[>=1.2.11 <2]") + if self.options.enable_app or self.options.enable_parse: + # INFO: Doxygen uses upper case CMake variables to link/include IConv, so we are using patches for targets. + self.requires("libiconv/1.17") def compatibility(self): return [{"settings": [("build_type", "Release")]}] @@ -81,6 +83,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["build_parse"] = self.options.enable_parse tc.variables["build_search"] = self.options.enable_search + tc.variables["build_app"] = self.options.enable_app tc.variables["use_libc++"] = self.settings.compiler.get_safe("libcxx") == "libc++" tc.variables["win_static"] = is_msvc_static_runtime(self) tc.generate() @@ -103,6 +106,8 @@ def package_info(self): self.cpp_info.set_property("cmake_find_mode", "none") self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m"] # TODO: to remove in conan v2 self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch new file mode 100644 index 0000000000000..39ee763500256 --- /dev/null +++ b/recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cd0fcaaca..67e0808ae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,6 +109,7 @@ if (sqlite3) + endif() + + find_package(Iconv REQUIRED) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + include_directories(${ICONV_INCLUDE_DIR}) + + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index ae52cabc3..73e1e3d29 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${CMAKE_SOURCE_DIR}/src +@@ -26,7 +27,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index 2387f1b3c..cbf451037 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${CMAKE_SOURCE_DIR}/src +@@ -26,7 +27,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 23460d004..8f2c51012 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -325,7 +325,7 @@ target_link_libraries(doxygen + doxygen_version + vhdlparser + ${SQLITE3_LIBRARIES} +- ${ICONV_LIBRARIES} ++ Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} + ${CLANG_LIBS} +-- + diff --git a/recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch new file mode 100644 index 0000000000000..9bd67ebc094cd --- /dev/null +++ b/recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 20c87dc6f..cd8527618 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -110,6 +110,7 @@ if (sqlite3) + endif() + + find_package(Iconv REQUIRED) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + include_directories(${ICONV_INCLUDE_DIR}) + + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index ae52cabc3..73e1e3d29 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${CMAKE_SOURCE_DIR}/src +@@ -26,7 +27,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index 2387f1b3c..cbf451037 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${CMAKE_SOURCE_DIR}/src +@@ -26,7 +27,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b7d4af271..6f9a032c0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -321,7 +321,7 @@ target_link_libraries(doxygen + doxygen_version + vhdlparser + ${SQLITE3_LIBRARIES} +- ${ICONV_LIBRARIES} ++ Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} + ${CLANG_LIBS} +-- + diff --git a/recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch new file mode 100644 index 0000000000000..c32eb98953039 --- /dev/null +++ b/recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 35e6a0c2d..71f609898 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,6 +117,7 @@ if (sqlite3) + endif() + + find_package(Iconv REQUIRED) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + include_directories(${ICONV_INCLUDE_DIR}) + + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index a6a776a31..ba29331c0 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${CMAKE_SOURCE_DIR}/src +@@ -31,7 +32,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index 8df99ab6b..034a93a4f 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${CMAKE_SOURCE_DIR}/src +@@ -31,7 +32,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cb289116e..2dab461e2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -356,7 +356,7 @@ target_link_libraries(doxygen PRIVATE + doxygen_version + vhdlparser + ${SQLITE3_LIBRARIES} +- ${ICONV_LIBRARIES} ++ Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} + ${CLANG_LIBS} +-- + diff --git a/recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch new file mode 100644 index 0000000000000..6a3bb24247325 --- /dev/null +++ b/recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06b9696f2..a70245b54 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -118,6 +118,7 @@ if (sqlite3) + endif() + + find_package(Iconv REQUIRED) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + include_directories(${ICONV_INCLUDE_DIR}) + + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index 707fdedbf..8d51b76f7 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${PROJECT_SOURCE_DIR}/src +@@ -43,7 +44,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index fe2f2c2ff..131354e95 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${PROJECT_SOURCE_DIR}/src +@@ -31,7 +32,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5004a9578..c63399bc1 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -351,7 +351,7 @@ target_link_libraries(doxygen PRIVATE + doxygen_version + vhdlparser + ${SQLITE3_LIBRARIES} +- ${ICONV_LIBRARIES} ++ Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} + ${CLANG_LIBS} +-- + diff --git a/recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch new file mode 100644 index 0000000000000..699ac1e93addc --- /dev/null +++ b/recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 251e18b77..4df454b39 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -118,6 +118,7 @@ if (sqlite3) + endif() + + find_package(Iconv REQUIRED) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + include_directories(${ICONV_INCLUDE_DIR}) + + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index a6fde4285..e19fc3d22 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${PROJECT_SOURCE_DIR}/src +@@ -42,7 +43,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index f439c29d9..e56b9a1de 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${PROJECT_SOURCE_DIR}/src +@@ -30,7 +31,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 18406488d..5c7144582 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -360,7 +360,7 @@ target_link_libraries(doxygen PRIVATE + doxygen_version + vhdlparser + ${SQLITE3_LIBRARIES} +- ${ICONV_LIBRARIES} ++ Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} + ${CLANG_LIBS} +-- + diff --git a/recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch new file mode 100644 index 0000000000000..c8e1489aa5a64 --- /dev/null +++ b/recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d9765964e..05784dd8f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,6 +147,7 @@ if (sqlite3) + endif() + + find_package(Iconv REQUIRED) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + include_directories(${ICONV_INCLUDE_DIR}) + + +diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt +index bcc4393d4..95d06cee2 100644 +--- a/addon/doxyapp/CMakeLists.txt ++++ b/addon/doxyapp/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${PROJECT_SOURCE_DIR}/src +@@ -44,7 +45,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt +index 774756640..eb64c8895 100644 +--- a/addon/doxyparse/CMakeLists.txt ++++ b/addon/doxyparse/CMakeLists.txt +@@ -1,4 +1,5 @@ + find_package(Iconv) ++get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) + + include_directories( + ${PROJECT_SOURCE_DIR}/src +@@ -33,7 +34,7 @@ mscgen + doxygen_version + doxycfg + vhdlparser +-${ICONV_LIBRARIES} ++Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${SQLITE3_LIBRARIES} + ${EXTRA_LIBS} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9f7e65364..8d332a30a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -359,7 +359,7 @@ target_link_libraries(doxygen PRIVATE + doxygen_version + vhdlparser + ${SQLITE3_LIBRARIES} +- ${ICONV_LIBRARIES} ++ Iconv::Iconv + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} + ${CLANG_LIBS} +-- + diff --git a/recipes/doxygen/all/test_package/CMakeLists.txt b/recipes/doxygen/all/test_package/CMakeLists.txt deleted file mode 100644 index f0e28d12efb4d..0000000000000 --- a/recipes/doxygen/all/test_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(test_package LANGUAGES CXX) - -find_package(Doxygen REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) - -doxygen_add_docs(docs test_package.cpp ALL COMMENT "generate HTML") diff --git a/recipes/doxygen/all/test_package/conanfile.py b/recipes/doxygen/all/test_package/conanfile.py index 0bcb6db477b62..17e0d51d2d0e2 100644 --- a/recipes/doxygen/all/test_package/conanfile.py +++ b/recipes/doxygen/all/test_package/conanfile.py @@ -1,28 +1,16 @@ from conan import ConanFile -from conan.tools.cmake import cmake_layout, CMake -from conan.errors import ConanException -import os +from conan.tools.build import can_run class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualBuildEnv" + generators = "VirtualBuildEnv" test_type = "explicit" - def layout(self): - cmake_layout(self) - def build_requirements(self): self.tool_requires(self.tested_reference_str) - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - def test(self): - if not os.path.isdir(os.path.join(self.build_folder, "html")): - raise ConanException("doxygen did not create html documentation directory") - - self.output.info("Version:") - self.run("doxygen --version") + if can_run(self): + self.output.info("Doxygen Version:") + self.run("doxygen --version") diff --git a/recipes/doxygen/all/test_package/test_package.cpp b/recipes/doxygen/all/test_package/test_package.cpp deleted file mode 100644 index 4caefdf4a378f..0000000000000 --- a/recipes/doxygen/all/test_package/test_package.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -/// \brief just a simple main function for the hello world -int main() -{ - std::cout << "bincrafters" << std::endl; - return 0; -} diff --git a/recipes/doxygen/all/test_v1_package/CMakeLists.txt b/recipes/doxygen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/doxygen/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/doxygen/all/test_v1_package/conanfile.py b/recipes/doxygen/all/test_v1_package/conanfile.py deleted file mode 100644 index d659dafd309f3..0000000000000 --- a/recipes/doxygen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - - def build(self): - if not tools.cross_building(self, skip_x64_x86=True): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - if not os.path.isdir(os.path.join(self.build_folder, "test_package", "html")): - raise ConanException("doxygen did not create html documentation directory") - - self.output.info("Version:") - self.run("doxygen --version", run_environment=True) From b55dfe727d8da711fd9cd50a6760b4510e80b5a6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 19 Oct 2023 04:56:22 +0300 Subject: [PATCH 2162/4087] (#19254) gsoap: add v2.8.129, remove old versions and dead URLs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gsoap: add v2.8.129, remove old versions and dead URLs * gsoap: update config.yml * Keep old versions for now * Ooops * Add zlib range --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/gsoap/all/conandata.yml | 21 ++++++++----------- recipes/gsoap/all/conanfile.py | 12 ++++++----- recipes/gsoap/all/test_package/CMakeLists.txt | 2 +- recipes/gsoap/all/test_package/conanfile.py | 5 ++--- .../gsoap/all/test_v1_package/CMakeLists.txt | 2 +- recipes/gsoap/config.yml | 2 ++ 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/recipes/gsoap/all/conandata.yml b/recipes/gsoap/all/conandata.yml index 4a616af7b7a29..c340912f08348 100644 --- a/recipes/gsoap/all/conandata.yml +++ b/recipes/gsoap/all/conandata.yml @@ -1,21 +1,18 @@ sources: - "2.8.117": + "2.8.129": url: - - "https://sourceforge.net/projects/gsoap2/files/gsoap_2.8.117.zip/download" - - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.117.zip" + - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.129.zip" + - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.129.zip" + sha256: "16cb8852ea791a6aec8f0213d619c15eecc8171e0c888f3b0e0c66d3ef78e20a" + "2.8.117": + url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.117.zip" sha256: "7cadf8808cfd982629948fe09e4fa6cd18e23cafd40df0aaaff1b1f5b695c442" "2.8.116": - url: - - "https://sourceforge.net/projects/gsoap2/files/gsoap_2.8.116.zip/download" - - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.116.zip" + url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.116.zip" sha256: "2a41e42aaddbcd603b99004af95bb83559dbd4fd2d842920f003d24867599192" "2.8.115": - url: - - "https://sourceforge.net/projects/gsoap2/files/gsoap_2.8.115.zip/download" - - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.115.zip" + url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.115.zip" sha256: "6f6813b189d201022254a2879cc8ee005bdb1bcf126bc03238710f19ec4e7268" "2.8.114": - url: - - "https://sourceforge.net/projects/gsoap2/files/gsoap_2.8.114.zip/download" - - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.114.zip" + url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.114.zip" sha256: "aa70a999258100c170a3f8750c1f91318a477d440f6a28117f68bc1ded32327f" diff --git a/recipes/gsoap/all/conanfile.py b/recipes/gsoap/all/conanfile.py index 38b4629ae4211..6f49eae5e182d 100644 --- a/recipes/gsoap/all/conanfile.py +++ b/recipes/gsoap/all/conanfile.py @@ -32,14 +32,16 @@ class GsoapConan(ConanFile): "with_cookies": True, "with_c_locale": True, } - - exports_sources = "CMakeLists.txt", "cmake/*.cmake" short_paths = True @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) + copy(self, "cmake/*.cmake", self.recipe_folder, self.export_sources_folder) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -50,7 +52,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def build_requirements(self): if cross_building(self, skip_x64_x86=True) and hasattr(self, "settings_build"): @@ -95,11 +97,11 @@ def package(self): def package_info(self): defines = [] if self.options.with_openssl: - libs = ["gsoapssl++", ] + libs = ["gsoapssl++"] defines.append("WITH_OPENSSL") defines.append("WITH_GZIP") else: - libs = ["gsoap++", ] + libs = ["gsoap++"] self.cpp_info.libs = libs if self.options.with_ipv6: diff --git a/recipes/gsoap/all/test_package/CMakeLists.txt b/recipes/gsoap/all/test_package/CMakeLists.txt index 1464ab750d83b..9d9cb52d4bac7 100644 --- a/recipes/gsoap/all/test_package/CMakeLists.txt +++ b/recipes/gsoap/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(gsoap REQUIRED CONFIG) diff --git a/recipes/gsoap/all/test_package/conanfile.py b/recipes/gsoap/all/test_package/conanfile.py index 1ea623e022729..60209e04ba8a6 100644 --- a/recipes/gsoap/all/test_package/conanfile.py +++ b/recipes/gsoap/all/test_package/conanfile.py @@ -2,7 +2,6 @@ from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv -from conan.tools.scm import Version import os @@ -32,7 +31,7 @@ def build(self): 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}") - if Version(conan_version).major < "2": + 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: @@ -45,5 +44,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/gsoap/all/test_v1_package/CMakeLists.txt b/recipes/gsoap/all/test_v1_package/CMakeLists.txt index 0d20897301b68..b21cc49efde95 100644 --- a/recipes/gsoap/all/test_v1_package/CMakeLists.txt +++ b/recipes/gsoap/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/gsoap/config.yml b/recipes/gsoap/config.yml index 01534d05392ba..22f6a1710f735 100644 --- a/recipes/gsoap/config.yml +++ b/recipes/gsoap/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.129": + folder: all "2.8.117": folder: all "2.8.116": From 2a0342f4c283f9d4611a9894e9fffd131394f00b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 11:17:43 +0900 Subject: [PATCH 2163/4087] (#19989) wt: add version 4.10.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wt: add version 4.10.1 * Add check_max_cppstd Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/wt/all/conandata.yml | 7 +++++++ recipes/wt/all/conanfile.py | 10 +++++++++- recipes/wt/config.yml | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/recipes/wt/all/conandata.yml b/recipes/wt/all/conandata.yml index 2b98a42d759a5..7c33a1e76efa3 100644 --- a/recipes/wt/all/conandata.yml +++ b/recipes/wt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.10.1": + url: "https://github.com/emweb/wt/archive/4.10.1.tar.gz" + sha256: "f6d6114416a628604793197cd077066a9d4d98799bbb288b97de42f66705bde5" "4.10.0": url: "https://github.com/emweb/wt/archive/4.10.0.tar.gz" sha256: "7090023d4fc4b6594bf4cb11072d9d3d775269327aece9a8993c7bbe46decb9d" @@ -18,6 +21,10 @@ sources: url: "https://github.com/emweb/wt/archive/4.6.0.tar.gz" sha256: "7f709e132d32c4925e6db0a590c7ccc5613344e8b9052676ef891a25ccb550e6" patches: + "4.10.1": + - patch_file: "patches/4.8.0-0001-use-cci-package.patch" + patch_description: "use cci package" + patch_type: "conan" "4.10.0": - patch_file: "patches/4.8.0-0001-use-cci-package.patch" patch_description: "use cci package" diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 7316afc068219..341e5e1481c9c 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -1,10 +1,11 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanException, ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, replace_in_file from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.microsoft import is_msvc import os +import sys import shutil required_conan_version = ">=1.54.0" @@ -120,6 +121,13 @@ def validate(self): f"{self.ref} requires non header-only boost with these components: " f"{', '.join(self._required_boost_components)}" ) + # FIXME: check_max_cppstd is only available for Conan 2.x. Remove it after dropping support for Conan 1.x + if conan_version.major == 2 and Version(self.version) >= "4.10.1": + # 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') + # INFO: error C2661: 'std::to_chars': no overloaded function takes 2 arguments. Removed in C++17. + check_max_cppstd(self, 14) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/wt/config.yml b/recipes/wt/config.yml index 6ef848d4e1336..fec9d209ef876 100644 --- a/recipes/wt/config.yml +++ b/recipes/wt/config.yml @@ -1,4 +1,6 @@ versions: + "4.10.1": + folder: all "4.10.0": folder: all "4.9.1": From 91e625f49bcbbf99529dcbb544270359e1ea2363 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 19 Oct 2023 05:58:04 +0300 Subject: [PATCH 2164/4087] (#20276) soundtouch: fix missing glibc symbols on newer systems * soundtouch: add -fno-finite-math-only to fix issues with glibc >= 2.31 * Update recipes/soundtouch/all/conanfile.py * Update recipes/soundtouch/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/soundtouch/all/conanfile.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/soundtouch/all/conanfile.py b/recipes/soundtouch/all/conanfile.py index dd8ee78498090..66a875621a86d 100644 --- a/recipes/soundtouch/all/conanfile.py +++ b/recipes/soundtouch/all/conanfile.py @@ -48,10 +48,16 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["INTEGER_SAMPLES"] = self.options.integer_samples - tc.variables["SOUNDTOUCH_DLL"] = self.options.with_dll - tc.variables["SOUNDSTRETCH"] = self.options.with_util - tc.variables["OPENMP"] = self.options.with_openmp + tc.cache_variables["INTEGER_SAMPLES"] = self.options.integer_samples + tc.cache_variables["SOUNDTOUCH_DLL"] = self.options.with_dll + tc.cache_variables["SOUNDSTRETCH"] = self.options.with_util + tc.cache_variables["OPENMP"] = self.options.with_openmp + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + tc.blocks["cmake_flags_init"].template = tc.blocks["cmake_flags_init"].template + """ + string(APPEND CMAKE_CXX_FLAGS_INIT " -fno-finite-math-only") + string(APPEND CMAKE_C_FLAGS_INIT " -fno-finite-math-only") + """ tc.generate() def build(self): From f5e38ed0ebf8d1faa38e1dc2bcfcf953a5630110 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 12:17:21 +0900 Subject: [PATCH 2165/4087] (#20281) ls-qpack: add version 2.5.3, update xxhash, remove compiling internal xxhash source --- recipes/ls-qpack/all/conandata.yml | 15 +++++++++--- recipes/ls-qpack/all/conanfile.py | 2 +- ...patch => 2.5.1-0001-use-cci-package.patch} | 3 ++- ...r.patch => 2.5.1-0002-add-installer.patch} | 0 .../patches/2.5.3-0002-add-installer.patch | 23 +++++++++++++++++++ recipes/ls-qpack/config.yml | 2 ++ 6 files changed, 40 insertions(+), 5 deletions(-) rename recipes/ls-qpack/all/patches/{0001-use-cci-package.patch => 2.5.1-0001-use-cci-package.patch} (79%) rename recipes/ls-qpack/all/patches/{0002-add-installer.patch => 2.5.1-0002-add-installer.patch} (100%) create mode 100644 recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch diff --git a/recipes/ls-qpack/all/conandata.yml b/recipes/ls-qpack/all/conandata.yml index 2760252082cf6..ac7d7d333e78b 100644 --- a/recipes/ls-qpack/all/conandata.yml +++ b/recipes/ls-qpack/all/conandata.yml @@ -1,13 +1,22 @@ sources: + "2.5.3": + url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.3.tar.gz" + sha256: "075a05efee27961eac5ac92a12a6e28a61bcd6c122a0276938ef993338577337" "2.5.1": url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.1.tar.gz" sha256: "dae1c159afc8541d51c12f5ad78209fe092815d37cb621b5ee46a9db049a283f" - patches: + "2.5.3": + - patch_file: "patches/2.5.1-0001-use-cci-package.patch" + patch_description: "use cci packages" + patch_type: "conan" + - patch_file: "patches/2.5.3-0002-add-installer.patch" + patch_description: "add installer" + patch_type: "conan" "2.5.1": - - patch_file: "patches/0001-use-cci-package.patch" + - patch_file: "patches/2.5.1-0001-use-cci-package.patch" patch_description: "use cci packages" patch_type: "conan" - - patch_file: "patches/0002-add-installer.patch" + - patch_file: "patches/2.5.1-0002-add-installer.patch" patch_description: "add installer" patch_type: "conan" diff --git a/recipes/ls-qpack/all/conanfile.py b/recipes/ls-qpack/all/conanfile.py index dd139a2740293..89421636cbe72 100644 --- a/recipes/ls-qpack/all/conanfile.py +++ b/recipes/ls-qpack/all/conanfile.py @@ -42,7 +42,7 @@ def layout(self): def requirements(self): if self.options.with_xxh: - self.requires("xxhash/0.8.1") + self.requires("xxhash/0.8.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/ls-qpack/all/patches/0001-use-cci-package.patch b/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch similarity index 79% rename from recipes/ls-qpack/all/patches/0001-use-cci-package.patch rename to recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch index 21e1e856275c9..48af51a011e2d 100644 --- a/recipes/ls-qpack/all/patches/0001-use-cci-package.patch +++ b/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch @@ -9,7 +9,8 @@ index d9d9aa3..826e99b 100644 -target_include_directories(ls-qpack PRIVATE deps/xxhash/) if(LSQPACK_XXH) + find_package(xxHash REQUIRED CONFIG) - target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) +- target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) ++ # target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) + target_link_libraries(ls-qpack PUBLIC xxHash::xxhash) endif() diff --git a/recipes/ls-qpack/all/patches/0002-add-installer.patch b/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch similarity index 100% rename from recipes/ls-qpack/all/patches/0002-add-installer.patch rename to recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch diff --git a/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch b/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch new file mode 100644 index 0000000000000..bc34f0724108a --- /dev/null +++ b/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7f7cd40..70e8fa8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -102,3 +102,18 @@ endif() + if(LSQPACK_BIN) + add_subdirectory(bin) + endif() ++ ++include(GNUInstallDirs) ++ ++install( ++ TARGETS ls-qpack ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++ ++install(FILES lsqpack.h DESTINATION include) ++ ++if(WIN32) ++ install(DIRECTORY wincompat DESTINATION include) ++endif() diff --git a/recipes/ls-qpack/config.yml b/recipes/ls-qpack/config.yml index eab83a303df52..cbd3f0133afbb 100644 --- a/recipes/ls-qpack/config.yml +++ b/recipes/ls-qpack/config.yml @@ -1,3 +1,5 @@ versions: + "2.5.3": + folder: all "2.5.1": folder: all From abd22235b2fa0b19ba42436b83d2a8b642c76db7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 19 Oct 2023 06:37:54 +0300 Subject: [PATCH 2166/4087] (#20314) cppbenchmark: add version 1.0.4.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/cppbenchmark/all/conandata.yml | 7 +++++++ recipes/cppbenchmark/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cppbenchmark/all/conandata.yml b/recipes/cppbenchmark/all/conandata.yml index 2873a6dc352ca..798d4ebbff0a7 100644 --- a/recipes/cppbenchmark/all/conandata.yml +++ b/recipes/cppbenchmark/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.4.0": + url: "https://github.com/chronoxor/CppBenchmark/archive/1.0.4.0.tar.gz" + sha256: "44fec3d4264b6654999dfa0f6ceb8a7aeef4eca32db0d229fba70819e11cede0" "1.0.3.0": url: "https://github.com/chronoxor/CppBenchmark/archive/1.0.3.0.tar.gz" sha256: "6a62cfdb2aacf91523f74c6d0e42a3e2388ff94a2b7b983bec543c88554cc3e9" @@ -9,6 +12,10 @@ sources: url: "https://github.com/chronoxor/CppBenchmark/archive/8605a8e886647e964180cb7a622424404a1da01f.tar.gz" sha256: "f0b88802b4418b13c04ae4dfdb859b2cb81142a47ca473ad447a8be087e0adee" patches: + "1.0.4.0": + - patch_file: "patches/1.0.3.0-0001-fix-cmake.patch" + patch_description: "fix install path, use cci packages, disable tests" + patch_type: "conan" "1.0.3.0": - patch_file: "patches/1.0.3.0-0001-fix-cmake.patch" patch_description: "fix install path, use cci packages, disable tests" diff --git a/recipes/cppbenchmark/config.yml b/recipes/cppbenchmark/config.yml index d05d94032be0f..6a65865cd6cb1 100644 --- a/recipes/cppbenchmark/config.yml +++ b/recipes/cppbenchmark/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.4.0": + folder: all "1.0.3.0": folder: all "1.0.0.0": From 81cd6c7af29ac02e14bafc651bd643998760d2e4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 12:58:58 +0900 Subject: [PATCH 2167/4087] (#20415) iowow: add recipe * iowow: add recipe * fix description, homepage attribute * appy patch for macOS * fix uint64_t format * set CMAKE_BUILD_TYPE * drop support msvc --- recipes/iowow/all/conandata.yml | 13 ++ recipes/iowow/all/conanfile.py | 78 +++++++++ .../1.4.16-0001-some-fix-for-macOS.patch | 148 ++++++++++++++++++ .../1.4.16-0002-fix-uint64_t-format.patch | 13 ++ recipes/iowow/all/test_package/CMakeLists.txt | 8 + recipes/iowow/all/test_package/conanfile.py | 26 +++ recipes/iowow/all/test_package/test_package.c | 14 ++ recipes/iowow/config.yml | 3 + 8 files changed, 303 insertions(+) create mode 100644 recipes/iowow/all/conandata.yml create mode 100644 recipes/iowow/all/conanfile.py create mode 100644 recipes/iowow/all/patches/1.4.16-0001-some-fix-for-macOS.patch create mode 100644 recipes/iowow/all/patches/1.4.16-0002-fix-uint64_t-format.patch create mode 100644 recipes/iowow/all/test_package/CMakeLists.txt create mode 100644 recipes/iowow/all/test_package/conanfile.py create mode 100644 recipes/iowow/all/test_package/test_package.c create mode 100644 recipes/iowow/config.yml diff --git a/recipes/iowow/all/conandata.yml b/recipes/iowow/all/conandata.yml new file mode 100644 index 0000000000000..af9c35abfe648 --- /dev/null +++ b/recipes/iowow/all/conandata.yml @@ -0,0 +1,13 @@ +sources: + "1.4.16": + url: "https://github.com/Softmotions/iowow/archive/refs/tags/v1.4.16.tar.gz" + sha256: "6e3b92b6c342ef6ef4a2731ca2d43368749d66ca876b24b773587364cff01003" +patches: + "1.4.16": + - patch_file: "patches/1.4.16-0001-some-fix-for-macOS.patch" + patch_description: "Some fixes for macOS" + patch_type: "portability" + patch_source: "https://github.com/Softmotions/iowow/pull/56" + - patch_file: "patches/1.4.16-0002-fix-uint64_t-format.patch" + patch_description: "fix uint64_t printf format" + patch_type: "portability" diff --git a/recipes/iowow/all/conanfile.py b/recipes/iowow/all/conanfile.py new file mode 100644 index 0000000000000..5a4fade27f4f6 --- /dev/null +++ b/recipes/iowow/all/conanfile.py @@ -0,0 +1,78 @@ +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.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class IowowConan(ConanFile): + name = "iowow" + description = "A C utility library and persistent key/value storage engine." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://iowow.softmotions.com/" + topics = ("database", "nosql", "key-value", "kvstore", "skiplist", "ejdb") + 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": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} is not supported on Visual Studio") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_BUILD_TYPE"] = self.settings.build_type + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["PACKAGE_ZIP"] = False + tc.variables["PACKAGE_TGZ"] = False + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + 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.libs = ["iowow-1"] + self.cpp_info.set_property("pkg_config_name", "package") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("m") diff --git a/recipes/iowow/all/patches/1.4.16-0001-some-fix-for-macOS.patch b/recipes/iowow/all/patches/1.4.16-0001-some-fix-for-macOS.patch new file mode 100644 index 0000000000000..0a42af275a2ee --- /dev/null +++ b/recipes/iowow/all/patches/1.4.16-0001-some-fix-for-macOS.patch @@ -0,0 +1,148 @@ +diff --git a/a/src/CMakeLists.txt b/b/src/CMakeLists.txt +index 7fd40ff..6c5990e 100644 +--- a/a/src/CMakeLists.txt ++++ b/b/src/CMakeLists.txt +@@ -184,7 +184,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \ + -Wno-sign-compare -Wno-unused-parameter \ + -Wno-implicit-fallthrough -Wno-unknown-pragmas -Wno-unused-function -Wno-missing-field-initializers \ + -Wno-missing-braces") +-if (APPLE) ++if (APPLE AND CMAKE_C_COMPILER_ID MATCHES "Clang") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-shorten-64-to-32") + endif() + +diff --git a/a/src/platform/unix/unix.c b/b/src/platform/unix/unix.c +index 96b4920..0f8ceb4 100644 +--- a/a/src/platform/unix/unix.c ++++ b/b/src/platform/unix/unix.c +@@ -348,6 +348,7 @@ iwrc iwp_exec_path(char *opath, size_t opath_maxlen) { + if (ret < 0) { + return iwrc_set_errno(IW_ERROR_ERRNO, errno); + } ++ return 0; + #else + // TODO: + return IW_ERROR_NOT_IMPLEMENTED; +diff --git a/a/src/utils/iwhmap.c b/b/src/utils/iwhmap.c +index 07ae953..757e31f 100644 +--- a/a/src/utils/iwhmap.c ++++ b/b/src/utils/iwhmap.c +@@ -109,13 +109,13 @@ IW_INLINE uint32_t _hash_uint64(uint64_t x) { + } + + IW_INLINE uint32_t _hash_uint64_key(const void *key) { +- if (sizeof(uintptr_t) >= sizeof(uint64_t)) { ++#ifdef IW_64 + return _hash_uint64((uint64_t) key); +- } else { ++#else + uint64_t lv; + memcpy(&lv, key, sizeof(lv)); + return _hash_uint64(lv); +- } ++#endif + } + + IW_INLINE uint32_t _hash_uint32_key(const void *key) { +diff --git a/a/src/utils/murmur3.c b/b/src/utils/murmur3.c +index c09bf73..7f3a066 100644 +--- a/a/src/utils/murmur3.c ++++ b/b/src/utils/murmur3.c +@@ -7,7 +7,7 @@ + #include "murmur3.h" + #include + +-#if !defined(__x86_64__) || defined(IW_TESTS) ++#if !defined(IW64) || defined(IW_TESTS) + + IW_INLINE uint32_t rotl32(uint32_t x, int8_t r) { + return (x << r) | (x >> (32 - r)); +@@ -22,10 +22,28 @@ IW_INLINE uint64_t rotl64(uint64_t x, int8_t r) { + #define ROTL32(x, y) rotl32(x, y) + #define ROTL64(x, y) rotl64(x, y) + ++IW_INLINE uint32_t getblock32 (const uint32_t * p, size_t i) ++{ ++#ifndef IW_BIGENDIAN ++ return p[i]; ++#else ++ return IW_SWAB32(p[i]); ++#endif ++} ++ ++IW_INLINE uint64_t getblock64 (const uint64_t * p, size_t i) ++{ ++#ifndef IW_BIGENDIAN ++ return p[i]; ++#else ++ return IW_SWAB64(p[i]); ++#endif ++} ++ + static uint32_t seed_value = 0x2fa1bca; + + // Finalization mix - force all bits of a hash block to avalanche +-#if !defined(__x86_64__) || defined(IW_TESTS) ++#if !defined(IW64) || defined(IW_TESTS) + + IW_INLINE uint32_t fmix32(uint32_t h) { + h ^= h >> 16; +@@ -47,7 +65,7 @@ IW_INLINE uint64_t fmix64(uint64_t k) { + return k; + } + +-#if !defined(__x86_64__) || defined(IW_TESTS) ++#if !defined(IW64) || defined(IW_TESTS) + + void murmur3_x86_32(const void *key, size_t len, uint32_t seed, void *out) { + const uint8_t *data = (const uint8_t*) key; +@@ -59,9 +77,7 @@ void murmur3_x86_32(const void *key, size_t len, uint32_t seed, void *out) { + + const uint32_t *blocks = (const uint32_t*) (data + nblocks * 4); + for (i = -nblocks; i; i++) { +- uint32_t k1; +- +- memcpy(&k1, blocks + i, sizeof(k1)); ++ uint32_t k1 = getblock32(blocks, i); + + k1 *= c1; + k1 = ROTL32(k1, 15); +@@ -113,12 +129,10 @@ void murmur3_x86_128(const void *key, const size_t len, uint32_t seed, void *out + const uint32_t *blocks = (const uint32_t*) (data + nblocks * 16); + + for (i = -nblocks; i; i++) { +- uint32_t k1, k2, k3, k4; +- +- memcpy(&k1, blocks + i * 4 + 0, sizeof(k1)); +- memcpy(&k2, blocks + i * 4 + 1, sizeof(k2)); +- memcpy(&k3, blocks + i * 4 + 2, sizeof(k3)); +- memcpy(&k4, blocks + i * 4 + 3, sizeof(k4)); ++ uint32_t k1 = getblock32(blocks, i * 4 + 0); ++ uint32_t k2 = getblock32(blocks, i * 4 + 1); ++ uint32_t k3 = getblock32(blocks, i * 4 + 2); ++ uint32_t k4 = getblock32(blocks, i * 4 + 3); + + k1 *= c1; + k1 = ROTL32(k1, 15); +@@ -264,10 +278,8 @@ void murmur3_x64_128(const void *key, const size_t len, const uint32_t seed, voi + + const uint64_t *blocks = (const uint64_t*) (data); + for (i = 0; i < nblocks; i++) { +- uint64_t k1, k2; +- +- memcpy(&k1, blocks + i * 2 + 0, sizeof(k1)); +- memcpy(&k2, blocks + i * 2 + 1, sizeof(k2)); ++ uint64_t k1 = getblock64(blocks, i * 2 + 0); ++ uint64_t k2 = getblock64(blocks, i * 2 + 1); + + k1 *= c1; + k1 = ROTL64(k1, 31); +@@ -358,7 +370,7 @@ void murmur3_x64_128(const void *key, const size_t len, const uint32_t seed, voi + } + + uint32_t murmur3(const char *keyptr, size_t len) { +-#ifdef __x86_64__ ++#ifdef IW_64 + uint64_t hash[2]; + murmur3_x64_128(keyptr, len, seed_value, hash); + return (uint32_t) hash[1]; diff --git a/recipes/iowow/all/patches/1.4.16-0002-fix-uint64_t-format.patch b/recipes/iowow/all/patches/1.4.16-0002-fix-uint64_t-format.patch new file mode 100644 index 0000000000000..82d76f00b56a7 --- /dev/null +++ b/recipes/iowow/all/patches/1.4.16-0002-fix-uint64_t-format.patch @@ -0,0 +1,13 @@ +diff --git a/a/src/fs/iwfsmfile.c b/b/src/fs/iwfsmfile.c +index 75cc4d5..6ee3f7e 100644 +--- a/a/src/fs/iwfsmfile.c ++++ b/b/src/fs/iwfsmfile.c +@@ -1338,7 +1338,7 @@ static iwrc _fsm_read_meta_lr(struct fsm *fsm) { + fsm->bmlen = llv; + if (llv & (64 - 1)) { + rc = IWFS_ERROR_INVALID_FILEMETA; +- iwlog_ecode_error(rc, "Free-space bitmap length is not 64bit aligned: %" PRIuMAX "", fsm->bmlen); ++ iwlog_ecode_error(rc, "Free-space bitmap length is not 64bit aligned: %" PRIx64 "", fsm->bmlen); + } + rp += sizeof(llv); + diff --git a/recipes/iowow/all/test_package/CMakeLists.txt b/recipes/iowow/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..9e0ebfd3d59d1 --- /dev/null +++ b/recipes/iowow/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(iowow REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE iowow::iowow) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) diff --git a/recipes/iowow/all/test_package/conanfile.py b/recipes/iowow/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/iowow/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/iowow/all/test_package/test_package.c b/recipes/iowow/all/test_package/test_package.c new file mode 100644 index 0000000000000..2ee836be4e2af --- /dev/null +++ b/recipes/iowow/all/test_package/test_package.c @@ -0,0 +1,14 @@ +#include "iowow/iwkv.h" + +int main() { + IWKV_OPTS opts = { + .path = "example1.db", + .oflags = IWKV_TRUNC // Cleanup database before open + }; + IWKV iwkv; + iwrc rc = iwkv_open(&opts, &iwkv); + + iwkv_close(&iwkv); + + return 0; +} diff --git a/recipes/iowow/config.yml b/recipes/iowow/config.yml new file mode 100644 index 0000000000000..f0c63cbdbe5f3 --- /dev/null +++ b/recipes/iowow/config.yml @@ -0,0 +1,3 @@ +versions: + "1.4.16": + folder: all From 8e00c23e71e4b393f1c1d79de7a877e4f377af20 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 18 Oct 2023 23:18:04 -0500 Subject: [PATCH 2168/4087] (#20540) libglvnd: Fix the egl component to only require xorg::x11 when enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libglvnd/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/libglvnd/all/conanfile.py b/recipes/libglvnd/all/conanfile.py index 9503a3cd195eb..91471af4e7c75 100644 --- a/recipes/libglvnd/all/conanfile.py +++ b/recipes/libglvnd/all/conanfile.py @@ -137,7 +137,9 @@ def package_info(self): if self.options.egl: self.cpp_info.components['egl'].libs = ["EGL"] self.cpp_info.components['egl'].system_libs.extend(["pthread", "dl", "m"]) - self.cpp_info.components['egl'].requires.extend(["xorg::x11", "gldispatch"]) + self.cpp_info.components['egl'].requires.append("gldispatch") + if self.options.x11: + self.cpp_info.components['egl'].requires.append("xorg::x11") self.cpp_info.components['egl'].set_property("pkg_config_name", "egl") if self.options.glx: From 1186e89607ad1345c44d84e243ee086ab42b0f6c Mon Sep 17 00:00:00 2001 From: Bruce Emehiser Date: Wed, 18 Oct 2023 21:47:58 -0700 Subject: [PATCH 2169/4087] (#20073) grpc - allow zlib version range zlib/[>=1.2.11 <2] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- 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 2278045abf6b9..998e680f1000a 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -95,7 +95,7 @@ def requirements(self): self.requires("c-ares/1.19.1") self.requires("openssl/[>=1.1 <4]") self.requires("re2/20230301") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True, run=can_run(self)) def package_id(self): From 30d98248e7650ce056ff055974538f42c89e63e4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 19 Oct 2023 07:09:15 +0200 Subject: [PATCH 2170/4087] (#20603) xmlsec/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xmlsec/all/conanfile.py | 4 ++-- recipes/xmlsec/all/test_package/conanfile.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 146dd548ccbb5..7b8e66f3a136e 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.4", transitive_headers=True) + self.requires("libxml2/2.11.5", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: @@ -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/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/xmlsec/all/test_package/conanfile.py b/recipes/xmlsec/all/test_package/conanfile.py index b846bc292a759..813061264560d 100644 --- a/recipes/xmlsec/all/test_package/conanfile.py +++ b/recipes/xmlsec/all/test_package/conanfile.py @@ -14,7 +14,7 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") def generate(self): tc = CMakeToolchain(self) From c7dbc14d5bd6e844c4063dd4c92fad9431e636d5 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Thu, 19 Oct 2023 08:36:15 +0300 Subject: [PATCH 2171/4087] (#19327) gdcm: fix compilation with old OpenSSL and bump dependencies --- recipes/gdcm/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index 1990e92be0217..d65646a1f9550 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("expat/2.5.0") self.requires("openjpeg/2.5.0") if self.options.with_zlibng: - self.requires("zlib-ng/2.0.7") + self.requires("zlib-ng/2.1.3") else: self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": @@ -68,7 +68,7 @@ def requirements(self): if Version(self.version) >= Version("3.0.20"): self.requires("libiconv/1.17") if self.options.with_json: - self.requires("json-c/0.16") + self.requires("json-c/0.17") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") @@ -104,8 +104,8 @@ def generate(self): # https://sourceforge.net/p/gdcm/bugs/548/ tc.preprocessor_definitions["CHARLS_NO_DEPRECATED_WARNING"] = "1" - #gdcm currently uses functionality that is deprecated since OpenSSL 3.0 - tc.preprocessor_definitions["OPENSSL_API_COMPAT"] = "0x10101000L" + #gdcm currently uses functionality that is deprecated since OpenSSL 1.1.0 + tc.preprocessor_definitions["OPENSSL_API_COMPAT"] = "0x10000000L" tc.generate() deps = CMakeDeps(self) From b6086e4faf0c1dcfad42d358c945b61de68d99d5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 15:08:08 +0900 Subject: [PATCH 2172/4087] (#20604) pdf-writer: add version 4.6.1 * pdf-writer: add version 4.6 * update 4.6.1 --- 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 4775a5371af8e..396c829a1f253 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "4.6.1": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.1.tar.gz" + sha256: "6e95fcb26ec679fa12ce6638d35a591e80960b35956a142d9a80b9a8c80ca824" "4.5.12": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.1": + - patch_file: "patches/4.5.12-0001-fix-cmake.patch" + patch_description: "disable test/cpack, use cci package" + patch_type: "conan" "4.5.12": - patch_file: "patches/4.5.12-0001-fix-cmake.patch" patch_description: "disable test/cpack, use cci package" diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index f15bafabcf228..a4aeb1f1b89b4 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,3 +1,5 @@ versions: + "4.6.1": + folder: all "4.5.12": folder: all From 4eca3dd3622e0c7632dfe556eeaebcbf526b5f23 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 15:42:25 +0900 Subject: [PATCH 2173/4087] (#20605) nghttp3: add version 1.0.0, with small improvements * nghttp3: add version 1.0.0, with small improvements * remove unused imports --- recipes/nghttp3/all/conandata.yml | 3 +++ recipes/nghttp3/all/conanfile.py | 14 ++++++-------- recipes/nghttp3/all/test_package/CMakeLists.txt | 4 ++-- .../{test_package.cpp => test_package.c} | 2 +- recipes/nghttp3/config.yml | 2 ++ 5 files changed, 14 insertions(+), 11 deletions(-) rename recipes/nghttp3/all/test_package/{test_package.cpp => test_package.c} (92%) diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index 44235cb3f54de..dab729864ca6f 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.0.0/nghttp3-1.0.0.tar.bz2" + sha256: "c4aa8a38056e3b286a4102612d690e0c21f584784364f04215100e74efc95a61" "0.15.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v0.15.0/nghttp3-0.15.0.tar.gz" sha256: "3c56d9fa6f1b58b37bd7b1b53eaf16cd71118bc2d5cadbc904f09d6f6466b42f" diff --git a/recipes/nghttp3/all/conanfile.py b/recipes/nghttp3/all/conanfile.py index c7b6057509787..618ddcb3adf32 100644 --- a/recipes/nghttp3/all/conanfile.py +++ b/recipes/nghttp3/all/conanfile.py @@ -1,11 +1,9 @@ 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.env import VirtualBuildEnv from conan.tools.files import get, rmdir, copy from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version import os @@ -14,11 +12,11 @@ class Nghttp3Conan(ConanFile): name = "nghttp3" - description = "HTTP/2 C Library and tools" - topics = ("http", "http3") + description = "HTTP/3 library written in C" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://nghttp2.org/nghttp3/" - license = "MIT" + topics = ("http", "http3", "quic", "qpack") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -30,9 +28,6 @@ class Nghttp3Conan(ConanFile): "fPIC": True, } - def build_requirements(self): - self.tool_requires("cmake/[>=3.20 <4]") - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -44,6 +39,9 @@ def configure(self): 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) diff --git a/recipes/nghttp3/all/test_package/CMakeLists.txt b/recipes/nghttp3/all/test_package/CMakeLists.txt index 0b418770cdb55..c52d61a995b33 100644 --- a/recipes/nghttp3/all/test_package/CMakeLists.txt +++ b/recipes/nghttp3/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES C) find_package(nghttp3 REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE nghttp3::nghttp3) diff --git a/recipes/nghttp3/all/test_package/test_package.cpp b/recipes/nghttp3/all/test_package/test_package.c similarity index 92% rename from recipes/nghttp3/all/test_package/test_package.cpp rename to recipes/nghttp3/all/test_package/test_package.c index 1455f3ae65f55..f093072babb72 100644 --- a/recipes/nghttp3/all/test_package/test_package.cpp +++ b/recipes/nghttp3/all/test_package/test_package.c @@ -1,7 +1,7 @@ #include #if defined(_MSC_VER) -// nghttp2 defaults to int +/* nghttp3 defaults to int */ typedef int ssize_t; #endif #include diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index e3fd6190a5166..b80b93245d90a 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.0": + folder: all "0.15.0": folder: all From 4ce07f33f1ce866a730aeecd123f07ea3e5c0eda Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 15:53:35 +0900 Subject: [PATCH 2174/4087] (#20607) mm_file: add recipe * mm_file: add recipe * specify C++11 * duplicate validate --- recipes/mm_file/all/conandata.yml | 4 ++ recipes/mm_file/all/conanfile.py | 51 +++++++++++++++++++ .../mm_file/all/test_package/CMakeLists.txt | 8 +++ recipes/mm_file/all/test_package/conanfile.py | 26 ++++++++++ .../mm_file/all/test_package/test_package.cpp | 31 +++++++++++ recipes/mm_file/config.yml | 3 ++ 6 files changed, 123 insertions(+) create mode 100644 recipes/mm_file/all/conandata.yml create mode 100644 recipes/mm_file/all/conanfile.py create mode 100644 recipes/mm_file/all/test_package/CMakeLists.txt create mode 100644 recipes/mm_file/all/test_package/conanfile.py create mode 100644 recipes/mm_file/all/test_package/test_package.cpp create mode 100644 recipes/mm_file/config.yml diff --git a/recipes/mm_file/all/conandata.yml b/recipes/mm_file/all/conandata.yml new file mode 100644 index 0000000000000..2e4260fa45c64 --- /dev/null +++ b/recipes/mm_file/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.0": + url: "https://github.com/jermp/mm_file/archive/refs/tags/v1.0.0.tar.gz" + sha256: "1bb1b057ea1f1b06366513a198c39277740f743b59a0e5669f2694698f52018b" diff --git a/recipes/mm_file/all/conanfile.py b/recipes/mm_file/all/conanfile.py new file mode 100644 index 0000000000000..781246e7dfea4 --- /dev/null +++ b/recipes/mm_file/all/conanfile.py @@ -0,0 +1,51 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + +class MMFileConan(ConanFile): + name = "mm_file" + description = "A self-contained, header-only, implementation of memory-mapped files in C++ for fast integration into larger projects." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jermp/mm_file" + topics = ("memory-mapped-file", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + if self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support Windows") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/mm_file/all/test_package/CMakeLists.txt b/recipes/mm_file/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5c2d17e17789e --- /dev/null +++ b/recipes/mm_file/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(mm_file REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE mm_file::mm_file) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/mm_file/all/test_package/conanfile.py b/recipes/mm_file/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/mm_file/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/mm_file/all/test_package/test_package.cpp b/recipes/mm_file/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..708d34f560ee3 --- /dev/null +++ b/recipes/mm_file/all/test_package/test_package.cpp @@ -0,0 +1,31 @@ +#include +#include + +#include "mm_file/mm_file.hpp" + +int main() { + std::string filename("tmp.bin"); + static const size_t n = 13; + + { + // write n uint32_t integers + mm::file_sink fout(filename, n); + std::cout << "mapped " << fout.bytes() << " bytes " + << "for " << fout.size() << " integers" << std::endl; + + auto *data = fout.data(); + for (uint32_t i = 0; i != fout.size(); ++i) { + data[i] = i; + std::cout << "written " << data[i] << std::endl; + } + + // test iterator + for (auto x : fout) { + std::cout << "written " << x << std::endl; + } + + fout.close(); + } + + return 0; +} diff --git a/recipes/mm_file/config.yml b/recipes/mm_file/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/mm_file/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all From 5c336a5b8e2a40c6433356f9185964491b916e50 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 16:11:34 +0900 Subject: [PATCH 2175/4087] (#20609) rapidfuzz: add version 2.1.1 --- recipes/rapidfuzz/all/conandata.yml | 3 +++ recipes/rapidfuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index 72d797c618c5e..279749d57341f 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.1.1.tar.gz" + sha256: "1680c0dbf77d228ea81825c24755db99ee0e21a8db3663b5136741b3e108c3f2" "2.0.0": url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.0.0.tar.gz" sha256: "0d6d399be1de151631bbc189b72089600884831a4dac91e22f17351cef18ae64" diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index 62df69f5c8745..11ecec1d15429 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: "all" "2.0.0": folder: "all" "1.10.4": From 9b6a15fd253b91aa1787faf2c8f31857136c2422 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 19 Oct 2023 02:22:17 -0500 Subject: [PATCH 2176/4087] (#20645) Update meson test package * Alphabetize a little * Update dependencies * Remove pkgconfig directory * Update compiler version checking * Add example for setting a feature in a Meson project * Simplify copy command * Fix fPIC option --- .../meson_package/all/conanfile.py | 32 +++++++++++-------- .../all/test_package/conanfile.py | 4 +-- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/docs/package_templates/meson_package/all/conanfile.py b/docs/package_templates/meson_package/all/conanfile.py index ef4bad7fd4d3b..b1861c3dc5b11 100644 --- a/docs/package_templates/meson_package/all/conanfile.py +++ b/docs/package_templates/meson_package/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain -from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -35,10 +35,12 @@ class PackageConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "feature": [True, False], } default_options = { "shared": False, "fPIC": True, + "feature": True, } @property @@ -49,9 +51,11 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "7", - "clang": "7", "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", } # no exports_sources attribute, but export_sources(self) method instead @@ -67,8 +71,8 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") # for plain C projects only - self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): # src_folder must use the same source folder name the project @@ -82,13 +86,11 @@ def validate(self): # validate the minimum cpp standard supported. For C++ projects only if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 191) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) # in case it does not work in another configuration, it should validated here too if is_msvc(self) and self.info.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") @@ -96,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/0.63.3") + self.tool_requires("meson/1.2.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/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -110,6 +112,7 @@ def generate(self): tc = MesonToolchain(self) # In case need to pass definitions directly to the compiler tc.preprocessor_definitions["MYDEFINE"] = "MYDEF_VALUE" + tc.project_options["feature"] = "enabled" if self.options.get_safe("feature") else "disabled" # Meson project options may vary their types tc.project_options["tests"] = False tc.generate() @@ -133,11 +136,12 @@ def build(self): meson.build() def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) 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")) 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 61b7b28c28d9d..10b1dcc87c7f6 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/0.63.3") + self.tool_requires("meson/1.2.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): meson = Meson(self) From fabf6b1100ca2a2545d91df6c80820988f826595 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 19 Oct 2023 09:44:04 +0200 Subject: [PATCH 2177/4087] (#20613) vulkan-loader/all: bump deps * vulkan-loader/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * vulkan-loader/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * vulkan-loader/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * vulkan-loader/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/vulkan-loader/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/vulkan-loader/all/conanfile.py b/recipes/vulkan-loader/all/conanfile.py index d0c415a0ecae6..b8abe5e70b213 100644 --- a/recipes/vulkan-loader/all/conanfile.py +++ b/recipes/vulkan-loader/all/conanfile.py @@ -77,7 +77,7 @@ def requirements(self): if self.options.get_safe("with_wsi_xcb") or self.options.get_safe("with_wsi_xlib"): self.requires("xorg/system") if Version(self.version) < "1.3.231" and self.options.get_safe("with_wsi_wayland"): - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") def validate(self): if self.options.get_safe("with_wsi_directfb"): @@ -92,7 +92,7 @@ def validate(self): def build_requirements(self): if self._is_pkgconf_needed: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._is_mingw: self.tool_requires("jwasm/2.13") if Version(self.version) >= "1.3.234": From e4a068c18a093dafa791f0a2c9769495a536ef7d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 19 Oct 2023 09:55:50 +0200 Subject: [PATCH 2178/4087] (#20614) libuvc/all: bump deps * libuvc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libuvc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libuvc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libuvc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libuvc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libuvc/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libuvc/all/conanfile.py b/recipes/libuvc/all/conanfile.py index 798d7b5db6063..cb9de052b88cd 100644 --- a/recipes/libuvc/all/conanfile.py +++ b/recipes/libuvc/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): elif self.options.with_jpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") def package_id(self): # TODO: to remove once deprecated jpeg_turbo option removed @@ -77,7 +77,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 2bab90109f9b19b4d4c55bb6a3c8bb5c9f15643c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 19 Oct 2023 10:19:56 +0200 Subject: [PATCH 2179/4087] (#20617) libgeotiff/all: bump deps * libgeotiff/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgeotiff/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libgeotiff/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index 74323fd2d39a0..85af88ca0856c 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -44,8 +44,8 @@ def layout(self): def requirements(self): # libgeotiff/include/xtiffio.h includes libtiff/include/tiffio.h - self.requires("libtiff/4.5.1", transitive_headers=True, transitive_libs=True) - self.requires("proj/9.2.1") + self.requires("libtiff/4.6.0", transitive_headers=True, transitive_libs=True) + self.requires("proj/9.3.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 323a8cc50e4defb38984e24cdb668b4574ce7594 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 17:30:17 +0900 Subject: [PATCH 2180/4087] (#20624) tracy: add version 0.10 --- recipes/tracy/all/conandata.yml | 3 +++ recipes/tracy/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tracy/all/conandata.yml b/recipes/tracy/all/conandata.yml index e66204ae4d119..de70002df8416 100644 --- a/recipes/tracy/all/conandata.yml +++ b/recipes/tracy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10": + url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.10.tar.gz" + sha256: "a76017d928f3f2727540fb950edd3b736caa97b12dbb4e5edce66542cbea6600" "0.9.1": url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.9.1.tar.gz" sha256: "c2de9f35ab2a516a9689ff18f5b62a55b73b93b66514bd09ba013d7957993cd7" diff --git a/recipes/tracy/config.yml b/recipes/tracy/config.yml index 6bea7d9080e33..7f42fe99a398a 100644 --- a/recipes/tracy/config.yml +++ b/recipes/tracy/config.yml @@ -1,4 +1,6 @@ versions: + "0.10": + folder: all "0.9.1": folder: all "0.9": From 436785609799a941e88b89f161366777725ceb7d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 18:13:46 +0900 Subject: [PATCH 2181/4087] (#20625) samurai: add version 0.7.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 ea3efb8533667..6907e16b729a6 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.7.0.tar.gz" + sha256: "159dea32bdce95ddc6bc62c202e60754407d4e5e910d0a382c2030410fe2e729" "0.6.0": url: "https://github.com/hpc-maths/samurai/archive/v0.6.0.tar.gz" sha256: "bab96adac8e1553b79678a22de2248bec67c7c205b5fd35e9e1aaccaca41286e" diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml index 570ab7165280c..3ab2f5cec43d3 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.3.0": From 43eb228b19d51e917faf53917555131d6bb7318d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Oct 2023 18:43:26 +0900 Subject: [PATCH 2182/4087] (#20626) glaze: add version 1.5.3 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 06afa0bf6a87b..b014456b571b7 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.3": + url: "https://github.com/stephenberry/glaze/archive/v1.5.3.tar.gz" + sha256: "dc0fcd447f9edb65521033466aca820c9a955c696bd51709e12048e0a12291d8" "1.5.2": url: "https://github.com/stephenberry/glaze/archive/v1.5.2.tar.gz" sha256: "d9dff3570ae479123b8eadb890db41255c6c0c74c4cdb1b9ca3d1eb73f8ca5eb" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 37445784d6356..75566edc16803 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.3": + folder: all "1.5.2": folder: all "1.5.1": From d894a4b10ee86f07353e05ff7511b0d7f2a49ba0 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 19 Oct 2023 12:47:35 +0200 Subject: [PATCH 2183/4087] (#20646) [config] Enable merge labels for Conan 1.x Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 802becc2d32bb..d07f509210a4e 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -58,6 +58,7 @@ tasks: job_name: "prod-v2/cci" # e.g. "cci-v2/cci" -> this means waiting for cci-v2/cci/PR- timeout_seconds: 600 # Maximum time to wait for the multibranch job merge_messages: true # Merge messages from the multibranch job waited for + merge_labels: true # Merge labels from the multibranch job waited for scheduled_export_check: report_issue_url: https://github.com/conan-io/conan-center-index/issues/20516 report_issue_append: false From c0aad36fbe55ccb0f2744609ef6bb3740b21bf5d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 19 Oct 2023 14:32:44 +0300 Subject: [PATCH 2184/4087] (#19509) tre: add recipe * tre: add recipe * tre: remove comment * tre: add license * tre: add libtool, clean package folder * tre: fix sha256 * tre: remove compiler.libcxx, etc * tre: fix_apple_shared_install_name() * tre: add Windows support --- recipes/tre/all/CMakeLists.txt | 24 ++++++ recipes/tre/all/conandata.yml | 4 + recipes/tre/all/conanfile.py | 90 +++++++++++++++++++++ recipes/tre/all/test_package/CMakeLists.txt | 7 ++ recipes/tre/all/test_package/conanfile.py | 26 ++++++ recipes/tre/all/test_package/test_package.c | 21 +++++ recipes/tre/config.yml | 3 + 7 files changed, 175 insertions(+) create mode 100644 recipes/tre/all/CMakeLists.txt create mode 100644 recipes/tre/all/conandata.yml create mode 100644 recipes/tre/all/conanfile.py create mode 100644 recipes/tre/all/test_package/CMakeLists.txt create mode 100644 recipes/tre/all/test_package/conanfile.py create mode 100644 recipes/tre/all/test_package/test_package.c create mode 100644 recipes/tre/config.yml diff --git a/recipes/tre/all/CMakeLists.txt b/recipes/tre/all/CMakeLists.txt new file mode 100644 index 0000000000000..cf9c37d17b6e1 --- /dev/null +++ b/recipes/tre/all/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required (VERSION 3.15) +project (tre) + +set(HEADERS + local_includes/regex.h + local_includes/tre.h + win32/tre-config.h +) +file(GLOB SRCS lib/*.c) + +include_directories(win32 local_includes) +add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) +add_definitions(-DHAVE_CONFIG_H -DHAVE_MALLOC_H) +add_library(tre ${SRCS} win32/tre.def) + +install(TARGETS tre + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(FILES ${HEADERS} + DESTINATION include/tre +) diff --git a/recipes/tre/all/conandata.yml b/recipes/tre/all/conandata.yml new file mode 100644 index 0000000000000..683be30ad0ede --- /dev/null +++ b/recipes/tre/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20230717": + url: "https://github.com/laurikari/tre/archive/07e66d07b44ae95a7a89f79c7ce1090f0f4d64db.tar.gz" + sha256: "f2390091a35c31e90efcce88006c2396f5698759f2f7abd136e771c3e0996961" diff --git a/recipes/tre/all/conanfile.py b/recipes/tre/all/conanfile.py new file mode 100644 index 0000000000000..8991cbd800567 --- /dev/null +++ b/recipes/tre/all/conanfile.py @@ -0,0 +1,90 @@ +import os + +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain + +required_conan_version = ">=1.53.0" + + +class TreConan(ConanFile): + name = "tre" + description = "TRE is a lightweight, robust, and efficient POSIX-compliant regexp matching library with some exciting features such as approximate (fuzzy) matching." + license = "BSD-2-Clause" + homepage = "https://github.com/laurikari/tre" + url = "https://github.com/conan-io/conan-center-index" + topics = "regex", "fuzzy matching" + + 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) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + if self.settings.os != "Windows": + self.tool_requires("libtool/2.4.7") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if self.settings.os == "Windows": + tc = CMakeToolchain(self) + tc.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.generate() + + def build(self): + if self.settings.os == "Windows": + copy(self, "CMakeLists.txt", src=self.export_sources_folder, dst=self.source_folder) + cmake = CMake(self) + cmake.configure() + cmake.build() + else: + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + if self.settings.os == "Windows": + 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")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "tre") + self.cpp_info.libs = ["tre"] diff --git a/recipes/tre/all/test_package/CMakeLists.txt b/recipes/tre/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..dff3b713e92cc --- /dev/null +++ b/recipes/tre/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(tre REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE tre::tre) diff --git a/recipes/tre/all/test_package/conanfile.py b/recipes/tre/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/tre/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/tre/all/test_package/test_package.c b/recipes/tre/all/test_package/test_package.c new file mode 100644 index 0000000000000..605527c604de8 --- /dev/null +++ b/recipes/tre/all/test_package/test_package.c @@ -0,0 +1,21 @@ +#include "tre/tre.h" +#include + +int main() +{ + regex_t rx; + tre_regcomp(&rx, "(January|February)", REG_EXTENDED); + + regaparams_t params = {0}; + tre_regaparams_default(¶ms); + + regamatch_t match = {0}; + + if (!tre_regaexec(&rx, "Janvary", &match, params, 0)) { + printf("Levenshtein distance: %d\n", match.cost); + } else { + printf("Failed to match\n"); + } + + return 0; +} diff --git a/recipes/tre/config.yml b/recipes/tre/config.yml new file mode 100644 index 0000000000000..b32c668575dde --- /dev/null +++ b/recipes/tre/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20230717": + folder: all From 5f49e80ae363a936538e10f71c2ccf0074cc6031 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 19 Oct 2023 15:03:42 +0200 Subject: [PATCH 2185/4087] (#20683) [docs] Make hooks support more explicit when developing a new package Signed-off-by: Uilian Ries --- docs/developing_recipes_locally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developing_recipes_locally.md b/docs/developing_recipes_locally.md index f80ba1e6286cb..2d101facc3b5e 100644 --- a/docs/developing_recipes_locally.md +++ b/docs/developing_recipes_locally.md @@ -43,7 +43,7 @@ This file is intended to provide all the commands you need to run in order to be ### Installing the ConanCenter Hooks -> **Warning**: This is not yet supported with Conan 2.0 +> **Warning**: This is not yet supported with Conan 2.0. Please, follow the instructions below only in case you are using Conan 1.0. The system will use the [conan-center hooks](https://github.com/conan-io/hooks) to perform some quality checks. You can install the hooks by running: From 5975070af441d6b7ff3834c9843ce7308b1ed606 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Thu, 19 Oct 2023 10:16:08 -0400 Subject: [PATCH 2186/4087] (#20610) Fix 7zip when compiling in C++17/20 * Fix 7zip when compiling in C++17/20 * Add 7zip 23.01 --- recipes/7zip/19.00/conandata.yml | 5 +++++ recipes/7zip/19.00/conanfile.py | 6 ++++++ recipes/7zip/config.yml | 2 ++ 3 files changed, 13 insertions(+) diff --git a/recipes/7zip/19.00/conandata.yml b/recipes/7zip/19.00/conandata.yml index a080fa528823a..e62dc40aa34ed 100644 --- a/recipes/7zip/19.00/conandata.yml +++ b/recipes/7zip/19.00/conandata.yml @@ -1,4 +1,9 @@ sources: + "23.01": + url: + - https://www.7-zip.org/a/7z2301-src.tar.xz + - https://sourceforge.net/projects/sevenzip/files/7-Zip/23.01/7z2301-src.tar.xz + sha256: "356071007360e5a1824d9904993e8b2480b51b570e8c9faf7c0f58ebe4bf9f74" "22.01": url: - https://www.7-zip.org/a/7z2201-src.tar.xz diff --git a/recipes/7zip/19.00/conanfile.py b/recipes/7zip/19.00/conanfile.py index 746b1dee843e5..b1fa099b52650 100644 --- a/recipes/7zip/19.00/conanfile.py +++ b/recipes/7zip/19.00/conanfile.py @@ -90,6 +90,12 @@ def _patch_sources(self): os.chmod(fn, 0o644) replace_in_file(self, fn, "-MT", f"-{self.settings.compiler.runtime}") replace_in_file(self, fn, "-MD", f"-{self.settings.compiler.runtime}") + if self.version < Version("23.01"): + replace_in_file(self, fn, "-WX", "") + + pfc = os.path.join(self.source_folder, "CPP", "7zip", "UI", "FileManager", "PanelFolderChange.cpp") + os.chmod(pfc, 0o644) + replace_in_file(self, pfc, r'L"\\"', r'static_cast(L"\\")') def build(self): self._patch_sources() diff --git a/recipes/7zip/config.yml b/recipes/7zip/config.yml index 906f1e74d1d7b..5f2a8f313a5d8 100644 --- a/recipes/7zip/config.yml +++ b/recipes/7zip/config.yml @@ -1,4 +1,6 @@ versions: + "23.01": + folder: "19.00" "22.01": folder: "19.00" "19.00": From 8f1829e9cf943f161d7ff7f4fff4beeabc5d4426 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 19 Oct 2023 10:33:05 -0500 Subject: [PATCH 2187/4087] (#20688) Update meson template package * Add comments and show how to disable all features by default * Use a lambda --- docs/package_templates/meson_package/all/conanfile.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/package_templates/meson_package/all/conanfile.py b/docs/package_templates/meson_package/all/conanfile.py index b1861c3dc5b11..1d2b29f90aa8b 100644 --- a/docs/package_templates/meson_package/all/conanfile.py +++ b/docs/package_templates/meson_package/all/conanfile.py @@ -107,12 +107,18 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + # Meson feature options must be set to "enabled" or "disabled" + feature = lambda option: "enabled" if option else "disabled" + # default_library and b_staticpic are automatically parsed when self.options.shared and self.options.fpic exist # buildtype is automatically parsed for self.settings tc = MesonToolchain(self) # In case need to pass definitions directly to the compiler tc.preprocessor_definitions["MYDEFINE"] = "MYDEF_VALUE" - tc.project_options["feature"] = "enabled" if self.options.get_safe("feature") else "disabled" + # Meson features are typically enabled automatically when possible. + # The default behavior can be changed to disable all features by setting "auto_features" to "disabled". + tc.project_options["auto_features"] = "disabled" + tc.project_options["feature"] = feature(self.options.get_safe("feature")) # Meson project options may vary their types tc.project_options["tests"] = False tc.generate() From 9742de63228cdd0e1ac1778f653278ef97a19dd0 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Oct 2023 03:27:56 +0900 Subject: [PATCH 2188/4087] (#20631) openjdk: add version 21.0.1, support Linux armv8 * openjdk: add version 21.0.1 * revert build method --- recipes/openjdk/all/conandata.yml | 23 +++++++++++++++++++++-- recipes/openjdk/all/conanfile.py | 2 +- recipes/openjdk/config.yml | 2 ++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/recipes/openjdk/all/conandata.yml b/recipes/openjdk/all/conandata.yml index 55fa3138ee966..bb0f8bea50c9b 100644 --- a/recipes/openjdk/all/conandata.yml +++ b/recipes/openjdk/all/conandata.yml @@ -1,11 +1,30 @@ sources: + "21.0.1": + Windows: + url: "https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_windows-x64_bin.zip" + sha256: "77ea464f4fa7cbcbffe0124af44707e8e5ad8c1ce2373f1d94a64d9b20ba0c69" + Linux_x86_64: + url: "https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-x64_bin.tar.gz" + sha256: "7e80146b2c3f719bf7f56992eb268ad466f8854d5d6ae11805784608e458343f" + Linux_armv8: + url: "https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-aarch64_bin.tar.gz" + sha256: "f5e4e4622756fafe05ac0105a8efefa1152c8aad085a2bbb9466df0721bf2ba4" + Macos_x86_64: + url: "https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_macos-x64_bin.tar.gz" + sha256: "1ca6db9e6c09752f842eee6b86a2f7e51b76ae38e007e936b9382b4c3134e9ea" + Macos_armv8: + url: "https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_macos-aarch64_bin.tar.gz" + sha256: "9760eaa019b6d214a06bd44a304f3700ac057d025000bdfb9739b61080969a96" "19.0.2": Windows: url: "https://download.java.net/java/GA/jdk19.0.2/fdb695a9d9064ad6b064dc6df578380c/7/GPL/openjdk-19.0.2_windows-x64_bin.zip" sha256: "9f70eba3f2631674a2d7d3aa01150d697f68be16ad76662ff948d7fe1b4985d8" - Linux: + Linux_x86_64: url: "https://download.java.net/java/GA/jdk19.0.2/fdb695a9d9064ad6b064dc6df578380c/7/GPL/openjdk-19.0.2_linux-x64_bin.tar.gz" sha256: "34cf8d095cc071e9e10165f5c45023f96ec68397fdaabf6c64bfec1ffeee6198" + Linux_armv8: + url: "https://download.java.net/java/GA/jdk19.0.2/fdb695a9d9064ad6b064dc6df578380c/7/GPL/openjdk-19.0.2_linux-aarch64_bin.tar.gz" + sha256: "95728187b4b5607c49de751a209ecda6e04d9ed7cee603cf36f454239106527b" Macos_x86_64: url: "https://download.java.net/java/GA/jdk19.0.2/fdb695a9d9064ad6b064dc6df578380c/7/GPL/openjdk-19.0.2_macos-x64_bin.tar.gz" sha256: "c57c7c511706738fff6540945e0159e97b8b328777e6460977dd64e00f4c2c0b" @@ -16,7 +35,7 @@ sources: Windows: url: "https://download.java.net/java/GA/jdk16.0.1/7147401fd7354114ac51ef3e1328291f/9/GPL/openjdk-16.0.1_windows-x64_bin.zip" sha256: "733b45b09463c97133d70c2368f1b9505da58e88f2c8a84358dd4accfd06a7a4" - Linux: + Linux_x86_64: url: "https://download.java.net/java/GA/jdk16.0.1/7147401fd7354114ac51ef3e1328291f/9/GPL/openjdk-16.0.1_linux-x64_bin.tar.gz" sha256: "b1198ffffb7d26a3fdedc0fa599f60a0d12aa60da1714b56c1defbce95d8b235" Macos_x86_64: diff --git a/recipes/openjdk/all/conanfile.py b/recipes/openjdk/all/conanfile.py index f6296d73d515d..b9d462756f800 100644 --- a/recipes/openjdk/all/conanfile.py +++ b/recipes/openjdk/all/conanfile.py @@ -30,7 +30,7 @@ def validate(self): def build(self): key = self.settings.os - if self.settings.os == "Macos": + if self.settings.os in ["Macos", "Linux"]: key = f"{self.settings.os}_{self.settings.arch}" get(self, **self.conan_data["sources"][self.version][str(key)], destination=self.source_folder, strip_root=True) diff --git a/recipes/openjdk/config.yml b/recipes/openjdk/config.yml index 71fa68c00fc9a..1e9a2a92440d2 100644 --- a/recipes/openjdk/config.yml +++ b/recipes/openjdk/config.yml @@ -1,4 +1,6 @@ versions: + "21.0.1": + folder: all "19.0.2": folder: all "16.0.1": From 431328f987597e57606d427d785e0e96cc2beb31 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 19 Oct 2023 21:17:27 +0200 Subject: [PATCH 2189/4087] (#20644) coin-osi/all: bump deps * coin-osi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * coin-osi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * coin-osi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * coin-osi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/coin-osi/all/conanfile.py | 4 ++-- recipes/coin-osi/all/test_package/conanfile.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/coin-osi/all/conanfile.py b/recipes/coin-osi/all/conanfile.py index af104a9d3fcbb..25195bd85f4c6 100644 --- a/recipes/coin-osi/all/conanfile.py +++ b/recipes/coin-osi/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("coin-utils/2.11.6") + self.requires("coin-utils/2.11.9") def validate(self): if self.settings.os == "Windows" and self.options.shared: @@ -61,7 +61,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/coin-osi/all/test_package/conanfile.py b/recipes/coin-osi/all/test_package/conanfile.py index af1af0ebb3d7f..7ab87ca07735c 100644 --- a/recipes/coin-osi/all/test_package/conanfile.py +++ b/recipes/coin-osi/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From b01bc333c2cbc20d8203e20536c6967dcf5d1777 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Oct 2023 06:06:18 +0900 Subject: [PATCH 2190/4087] (#20647) etl: add version 20.38.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- 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 9a2f4ce536daa..63dae1f2c04ea 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 4bf96a5a20643..26484c5252d35 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.4": + folder: all "20.38.3": folder: all "20.38.0": From 783d016e4bb868ddd13598f52956049eaf588bbb Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Oct 2023 07:09:59 +0900 Subject: [PATCH 2191/4087] (#20682) numcpp: add version 2.12.1, support apple-clang again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/numcpp/all/conandata.yml | 3 +++ recipes/numcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/numcpp/all/conandata.yml b/recipes/numcpp/all/conandata.yml index ce085d59bfe2b..bc13c5f8f97d8 100644 --- a/recipes/numcpp/all/conandata.yml +++ b/recipes/numcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.1": + url: "https://github.com/dpilger26/NumCpp/archive/Version_2.12.1.tar.gz" + sha256: "f462ecd27126e6057b31fa38f1f72cef2c4223c9d848515412970714a5bb6d16" "2.12.0": url: "https://github.com/dpilger26/NumCpp/archive/Version_2.12.0.tar.gz" sha256: "4c7266d405c8058f87467732129362b5a5c810d36df91e8655defa4d93fc141b" diff --git a/recipes/numcpp/config.yml b/recipes/numcpp/config.yml index f22aa27e65517..a222baacafc0a 100644 --- a/recipes/numcpp/config.yml +++ b/recipes/numcpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.1": + folder: "all" "2.12.0": folder: "all" "2.11.0": From 3a5ee33108fa1a019894573d0c1b476ac9f9e243 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 20 Oct 2023 10:22:32 +0400 Subject: [PATCH 2192/4087] (#20691) hwloc: added 2.9.3 --- 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 7281cec31bd36..c3a77f045e4ad 100644 --- a/recipes/hwloc/all/conandata.yml +++ b/recipes/hwloc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.3": + sha256: "5985db3a30bbe51234c2cd26ebe4ae9b4c3352ab788b1a464c40c0483bf4de59" + url: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.3.tar.gz "2.9.2": sha256: "ffb554d5735e0e0a19d1fd4b2b86e771d3b58b2d97f257eedacae67ade5054b3" url: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.2.tar.gz diff --git a/recipes/hwloc/config.yml b/recipes/hwloc/config.yml index b0052643e431c..d1ef77599f89a 100644 --- a/recipes/hwloc/config.yml +++ b/recipes/hwloc/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.3": + folder: all "2.9.2": folder: all "2.9.1": From 76cdb31cdd32f731afd84e3b3f4afbe35e9a33d8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Oct 2023 16:50:35 +0900 Subject: [PATCH 2193/4087] (#20697) zlib-ng: add version 2.1.4 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 27e5a03a3afe2..83e5af856aeeb 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.4": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.4.tar.gz" + sha256: "a0293475e6a44a3f6c045229fe50f69dc0eebc62a42405a51f19d46a5541e77a" "2.1.3": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.3.tar.gz" sha256: "d20e55f89d71991c59f1c5ad1ef944815e5850526c0d9cd8e504eaed5b24491a" diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index 96567d37e1ee8..cc680233f4b5c 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.4": + folder: all "2.1.3": folder: all "2.1.2": From 34160eec5a64a03730579938d2314f24f65e116f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 20 Oct 2023 11:18:40 +0200 Subject: [PATCH 2194/4087] (#20400) tesseract/all: bump deps * tesseract/all: bump deps * add with_tiff option * remove options handling make libtiff conditional --------- Co-authored-by: czoido --- recipes/tesseract/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index bbdcc2c253a14..0970f98b4339d 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -82,12 +82,14 @@ def layout(self): def requirements(self): self.requires("leptonica/1.82.0") + if self.settings.os == "Windows" and Version(self.version) >= "5.0.0": + self.requires("libtiff/4.6.0") # libarchive is required for 4.x so default value is true if self.options.get_safe("with_libarchive", default=True): - self.requires("libarchive/3.6.2") + self.requires("libarchive/3.7.1") # libcurl is not required for 4.x if self.options.get_safe("with_libcurl", default=False): - self.requires("libcurl/8.0.1") + self.requires("libcurl/8.2.1") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -185,6 +187,8 @@ def package_info(self): # TODO: back to global scope once cmake_find_package* generators removed self.cpp_info.components["libtesseract"].libs = [self._libname] self.cpp_info.components["libtesseract"].requires = ["leptonica::leptonica"] + if self.settings.os == "Windows" and Version(self.version) >= "5.0.0": + self.cpp_info.components["libtesseract"].requires.append("libtiff::libtiff") if self.options.get_safe("with_libcurl", default=False): self.cpp_info.components["libtesseract"].requires.append("libcurl::libcurl") if self.options.get_safe("with_libarchive", default=True): From deb0863c4bdc7a81a72ed6b0dc5644efc21c32ef Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 11:40:27 +0200 Subject: [PATCH 2195/4087] (#20685) [bot] Update authorized users list (2023-10-19) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 3d5cfce1a1b65..1d459fba180a9 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1246,3 +1246,6 @@ authorized_users: - tamaskenezlego - luizfeldmann - ma30002000 +- thbeu +- HypoYoung +- technoyes From 1dc98d79de627120b5b6914e184391adbbd5e5ac Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Fri, 20 Oct 2023 14:03:16 +0200 Subject: [PATCH 2196/4087] (#20642) so5extra: add version 1.6.0 --- recipes/so5extra/all/conandata.yml | 3 +++ recipes/so5extra/all/conanfile.py | 15 ++++++++++++++- recipes/so5extra/config.yml | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/recipes/so5extra/all/conandata.yml b/recipes/so5extra/all/conandata.yml index 18c9023e61809..4896683389169 100644 --- a/recipes/so5extra/all/conandata.yml +++ b/recipes/so5extra/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/Stiffstream/so5extra/archive/v.1.6.0.tar.gz" + sha256: "224a156a840d707138189da5ebe78d87814832252f90673db631e93e0171433f" "1.5.2": url: "https://github.com/Stiffstream/so5extra/archive/v.1.5.2.tar.gz" sha256: "5409dc255c970d2085381ceded122b80b9ac896a34bafc5ffc431bae304d485d" diff --git a/recipes/so5extra/all/conanfile.py b/recipes/so5extra/all/conanfile.py index 57a11fc2bf146..c69c7ea0da2de 100644 --- a/recipes/so5extra/all/conanfile.py +++ b/recipes/so5extra/all/conanfile.py @@ -28,18 +28,31 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): + if self.version >= Version("1.6.0"): + # Since v1.6.0 requirements to compilers were updated: + return { + "gcc": "10", + "clang": "11", + "apple-clang": "13", + "Visual Studio": "17", + "msvc": "192" + } return { "gcc": "7", "clang": "6", "apple-clang": "10", "Visual Studio": "15", + "msvc": "191" } def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sobjectizer/5.8.0") + if self.version >= Version("1.6.0"): + self.requires("sobjectizer/5.8.0") + else: + self.requires("sobjectizer/5.7.4") def package_id(self): self.info.clear() diff --git a/recipes/so5extra/config.yml b/recipes/so5extra/config.yml index f77c4a7405ffe..f068b0b20df7f 100644 --- a/recipes/so5extra/config.yml +++ b/recipes/so5extra/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.2": folder: all "1.5.1": From 46782ebdf5fa8b4ff853465d4d60b526bf828e22 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 20 Oct 2023 16:13:18 +0400 Subject: [PATCH 2197/4087] (#20692) ade: added 0.1.2d version --- recipes/ade/all/conandata.yml | 3 +++ recipes/ade/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ade/all/conandata.yml b/recipes/ade/all/conandata.yml index 668f432538437..0ce2795d9939c 100644 --- a/recipes/ade/all/conandata.yml +++ b/recipes/ade/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.2d": + url: "https://github.com/opencv/ade/archive/refs/tags/v0.1.2d.tar.gz" + sha256: "edefba61a33d6cd4b78a9976cb3309c95212610a81ba6dade09882d1794198ff" "0.1.2c": url: "https://github.com/opencv/ade/archive/refs/tags/v0.1.2c.tar.gz" sha256: "1387891c707c6e5c76448ea09e2df2e8bce1645c11f262c10b3f3ebec88749c2" diff --git a/recipes/ade/config.yml b/recipes/ade/config.yml index 373f3e14c45ff..922bcf0946745 100644 --- a/recipes/ade/config.yml +++ b/recipes/ade/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.2d": + folder: "all" "0.1.2c": folder: "all" "0.1.2a": From 5799899518816d102511d9a5f6ee15f3a40613c0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 20 Oct 2023 16:21:47 +0200 Subject: [PATCH 2198/4087] (#20684) proj/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index ecf7a505fd31b..f38fb9b497bc3 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.43.1") + self.requires("sqlite3/3.43.2") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_curl"): From 8e3690d81af80b78015fadec00f39e77f7d976a8 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 21 Oct 2023 01:10:51 +0900 Subject: [PATCH 2199/4087] (#20696) zulu-openjdk: add version 21.0.1, 17.0.9 * zulu-openjdk: add version 21.0.1, 17.0.9 * add exclude dll --- recipes/zulu-openjdk/all/conandata.yml | 38 ++++++++++++++++++++++++++ recipes/zulu-openjdk/all/conanfile.py | 2 +- recipes/zulu-openjdk/config.yml | 4 +++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/recipes/zulu-openjdk/all/conandata.yml b/recipes/zulu-openjdk/all/conandata.yml index 4c8a8b5afbd6a..9e14b09c940cf 100644 --- a/recipes/zulu-openjdk/all/conandata.yml +++ b/recipes/zulu-openjdk/all/conandata.yml @@ -1,4 +1,42 @@ sources: + "21.0.1": + "Windows": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu21.30.15-ca-jdk21.0.1-win_x64.zip" + sha256: "f6541ceed2eb0b793fd27f22d9f8192ad1c9c4c53e528dd0a1e6ec8d7c3a33d3" + "Linux": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu21.30.15-ca-jdk21.0.1-linux_x64.tar.gz" + sha256: "bf4842dd3a17cfe85523be5848b5ec3bc3d811afc74feab791befa4c895c4449" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu21.30.15-ca-jdk21.0.1-linux_aarch64.tar.gz" + sha256: "00863e2b9910a5ed4f55183b89459d2162147e871d96ab532479ab06d9fae03b" + "Macos": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu21.30.15-ca-jdk21.0.1-macosx_x64.tar.gz" + sha256: "667e3945ffd394317b5faf1f5bd4847d1f1d091f76543df27d9b3a2ee7bf7a7e" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu21.30.15-ca-jdk21.0.1-macosx_aarch64.tar.gz" + sha256: "6e89b6ed60c0efcc1b5bb7c6b36710ce746751b316a16cc3f9915470c4eb2a00" + "17.0.9": + "Windows": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu17.46.19-ca-jdk17.0.9-win_x64.zip" + sha256: "32e110628ea0bd750b84e0f937e7c98874505e76a0590d759565dfa803f89ccf" + "Linux": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu17.46.19-ca-jdk17.0.9-linux_x64.tar.gz" + sha256: "5317630424ee4e4d2c1024240d2e6f94a7c06d17b01dd36859df4a4d679fc287" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu17.46.19-ca-jdk17.0.9-linux_aarch64.tar.gz" + sha256: "90062201e7911696a449431a61dc0a55cd10cda516a9f2db54c410633a79302a" + "Macos": + "x86_64": + url: "https://cdn.azul.com/zulu/bin/zulu17.46.19-ca-jdk17.0.9-macosx_x64.tar.gz" + sha256: "19271b74c3f3b21f4978eda8f09908c063c456cea57265d71475ceefef5aa0ac" + "armv8": + url: "https://cdn.azul.com/zulu/bin/zulu17.46.19-ca-jdk17.0.9-macosx_aarch64.tar.gz" + sha256: "d6837676e55b97772b6512e253fdaf8ab282bb216c0f8366b6c5905cd02b5056" "11.0.19": "Windows": "x86_64": diff --git a/recipes/zulu-openjdk/all/conanfile.py b/recipes/zulu-openjdk/all/conanfile.py index 1aa178e14ab52..648597913dd65 100644 --- a/recipes/zulu-openjdk/all/conanfile.py +++ b/recipes/zulu-openjdk/all/conanfile.py @@ -44,7 +44,7 @@ def build(self): def package(self): copy(self, pattern="*", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self.source_folder, "bin"), - excludes=("msvcp140.dll", "vcruntime140.dll")) + excludes=("msvcp140.dll", "vcruntime140.dll", "vcruntime140_1.dll")) copy(self, pattern="*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib"), diff --git a/recipes/zulu-openjdk/config.yml b/recipes/zulu-openjdk/config.yml index a92b329e254ee..d9b1272d1abe9 100644 --- a/recipes/zulu-openjdk/config.yml +++ b/recipes/zulu-openjdk/config.yml @@ -1,4 +1,8 @@ versions: + "21.0.1": + folder: all + "17.0.9": + folder: all "11.0.19": folder: all "11.0.15": From 1619139cfd8385253d3bf82647bfb4a4bc3dd2d2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 20 Oct 2023 23:03:28 +0200 Subject: [PATCH 2200/4087] (#20706) [avahi] Use internal strlcpy always * Fix strlcpy method in avahi Signed-off-by: Uilian Ries * use opt in favor of patch Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/avahi/all/conanfile.py | 2 +- recipes/avahi/all/test_package/CMakeLists.txt | 4 ++-- recipes/avahi/all/test_package/test_package.c | 16 +++++++++------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index a5da3d9b034e3..48363ba227bf4 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -74,6 +74,7 @@ def generate(self): tc.configure_args.append("--disable-python") tc.configure_args.append("--disable-qt5") tc.configure_args.append("--with-systemdsystemunitdir=/lib/systemd/system") + tc.configure_args.append("ac_cv_func_strlcpy=no") if self.settings.os in ["Linux", "FreeBSD"]: tc.configure_args.append("ac_cv_func_setproctitle=no") tc.generate() @@ -106,7 +107,6 @@ def package_info(self): self.cpp_info.components[lib].names["cmake_find_package"] = lib self.cpp_info.components[lib].names["cmake_find_package_multi"] = lib self.cpp_info.components[lib].libs = [avahi_lib] - self.cpp_info.components[lib].includedirs = [os.path.join("include", avahi_lib)] self.cpp_info.components["compat-libdns_sd"].libs = ["dns_sd"] self.cpp_info.components["client"].requires = ["common", "dbus::dbus"] diff --git a/recipes/avahi/all/test_package/CMakeLists.txt b/recipes/avahi/all/test_package/CMakeLists.txt index a844c8e02eaa3..595c0faefb42e 100644 --- a/recipes/avahi/all/test_package/CMakeLists.txt +++ b/recipes/avahi/all/test_package/CMakeLists.txt @@ -2,6 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(Avahi CONFIG REQUIRED) - + add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE avahi::compat-libdns_sd) +target_link_libraries(${PROJECT_NAME} PRIVATE avahi::compat-libdns_sd avahi::core) diff --git a/recipes/avahi/all/test_package/test_package.c b/recipes/avahi/all/test_package/test_package.c index bae1467c7d687..5151e74257c78 100644 --- a/recipes/avahi/all/test_package/test_package.c +++ b/recipes/avahi/all/test_package/test_package.c @@ -1,18 +1,20 @@ -#include -#include +#include -int main() -{ +#include "avahi-compat-libdns_sd/dns_sd.h" +#include "avahi-core/log.h" + + +int main(void) { DNSServiceRef sdRef; DNSServiceErrorType err = DNSServiceBrowse(&sdRef, 0, 0, "_example._tcp", NULL, NULL, NULL); if (err == kDNSServiceErr_NoError) { - printf("DNSServiceBrowse succeeded\n"); + avahi_log_error("DNSServiceBrowse succeeded\n"); DNSServiceRefDeallocate(sdRef); } else { - printf("DNSServiceBrowse failed: %d\n", err); + avahi_log_info("DNSServiceBrowse failed: %d\n", err); } - return 0; + return EXIT_SUCCESS; } From abcab823d5588db462db4b25bcf08f038e97134a Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 21 Oct 2023 03:46:16 +0400 Subject: [PATCH 2201/4087] (#20702) onetbb: bump hwloc dependency --- recipes/onetbb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 5317849db9bac..bb5887dc31122 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -90,7 +90,7 @@ def layout(self): def requirements(self): if self._tbbbind_build: - self.requires("hwloc/2.9.2") + self.requires("hwloc/2.9.3") def build_requirements(self): if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): From db3494a5757364290aeeec08fee0765338906596 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 20 Oct 2023 22:00:51 -0500 Subject: [PATCH 2202/4087] (#20713) meson: Add version 1.2.3 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index d58e97ba5b952..d3dbac49e9710 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.3": + url: "https://github.com/mesonbuild/meson/releases/download/1.2.3/meson-1.2.3.tar.gz" + sha256: "4533a43c34548edd1f63a276a42690fce15bde9409bcf20c4b8fa3d7e4d7cac1" "1.2.2": url: "https://github.com/mesonbuild/meson/releases/download/1.2.2/meson-1.2.2.tar.gz" sha256: "4a0f04de331fbc7af3b802a844fc8838f4ccd1ded1e792ba4f8f2faf8c5fe4d6" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index cde056a588deb..5fe93c9a6d5cd 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.3": + folder: all "1.2.2": folder: all "1.2.1": From fecb3d4e0147fd7d58ed63c7105fc525c74d1262 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 21 Oct 2023 09:23:18 +0200 Subject: [PATCH 2203/4087] (#20717) librttopo/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/librttopo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/librttopo/all/conanfile.py b/recipes/librttopo/all/conanfile.py index aeef7fdcae406..a6752906fedc2 100644 --- a/recipes/librttopo/all/conanfile.py +++ b/recipes/librttopo/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("geos/3.11.2", transitive_headers=True, transitive_libs=True) + self.requires("geos/3.12.0", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From e44e68dbc97285fa4ad2bdc0b3156cd7b38b6afc Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 21 Oct 2023 23:01:49 +0200 Subject: [PATCH 2204/4087] (#20724) libtiff/all: bump deps --- recipes/libtiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index c650a266c17ca..efce29ff02503 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.libdeflate: - self.requires("libdeflate/1.18") + self.requires("libdeflate/1.19") if self.options.lzma: self.requires("xz_utils/5.4.4") if self.options.jpeg == "libjpeg": From f590ea84a23b24787922728d577e9899281ccc02 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 21 Oct 2023 23:12:44 +0200 Subject: [PATCH 2205/4087] (#20726) opencv/2.x: bump deps --- recipes/opencv/2.x/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/opencv/2.x/conanfile.py b/recipes/opencv/2.x/conanfile.py index 4b96731d9f7b2..1db730c337ba3 100644 --- a/recipes/opencv/2.x/conanfile.py +++ b/recipes/opencv/2.x/conanfile.py @@ -358,14 +358,14 @@ def requirements(self): self.requires("eigen/3.4.0") if self.options.with_tbb: # opencv 2.x doesn't support onetbb >= 2021 - self.requires("onetbb/2020.3") + self.requires("onetbb/2020.3.3") # highgui module options if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.get_safe("with_jpeg") == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") if self.options.get_safe("with_png"): self.requires("libpng/1.6.40") if self.options.get_safe("with_jasper"): @@ -374,7 +374,7 @@ def requirements(self): # opencv 2.x doesn't support openexr >= 3 self.requires("openexr/2.5.7") if self.options.get_safe("with_tiff"): - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.get_safe("with_gtk"): self.requires("gtk/system") From 9c976a6910b080e0474eda6acff7296a321e98f3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 22 Oct 2023 18:36:17 +0200 Subject: [PATCH 2206/4087] (#20733) coin-clp/all: bump deps --- recipes/coin-clp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/coin-clp/all/conanfile.py b/recipes/coin-clp/all/conanfile.py index 94e548dfba655..4a12a71981848 100644 --- a/recipes/coin-clp/all/conanfile.py +++ b/recipes/coin-clp/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): def requirements(self): # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16053#issuecomment-1512637106 - self.requires("coin-utils/2.11.6", transitive_headers=True, transitive_libs=True) + self.requires("coin-utils/2.11.9", transitive_headers=True, transitive_libs=True) self.requires("coin-osi/0.108.7", transitive_headers=True) def validate(self): @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 3e07efa1a80302b8508deb16b5e3568bc97596db Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 22 Oct 2023 19:57:30 +0300 Subject: [PATCH 2207/4087] (#20267) aeron: fix missing glibc symbols on newer systems * aeron: add -fno-finite-math-only to fix issues with glibc >= 2.31 * aeron: bump deps * aeron: avoid overwriting of CMAKE_CXX_FLAGS in toolchain --- recipes/aeron/all/conanfile.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/aeron/all/conanfile.py b/recipes/aeron/all/conanfile.py index 4bf9894df2c4c..813ca895247cd 100644 --- a/recipes/aeron/all/conanfile.py +++ b/recipes/aeron/all/conanfile.py @@ -17,7 +17,7 @@ class AeronConan(ConanFile): description = "Efficient reliable UDP unicast, UDP multicast, and IPC message transport" topics = ("udp", "messaging", "low-latency") url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/real-logic/aeron/wiki" + homepage = "https://github.com/real-logic/aeron" license = "Apache-2.0" package_type = "library" @@ -72,7 +72,7 @@ def validate(self): raise ConanInvalidConfiguration("This platform (os=Macos arch=armv8) is not yet supported by this recipe") def build_requirements(self): - self.tool_requires("zulu-openjdk/11.0.15") + self.tool_requires("zulu-openjdk/11.0.19") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,6 +90,12 @@ def generate(self): tc.cache_variables["AERON_BUILD_DOCUMENTATION"] = False tc.cache_variables["AERON_INSTALL_TARGETS"] = True tc.cache_variables["AERON_ENABLE_NONSTANDARD_OPTIMIZATIONS"] = True + # The finite-math-only optimization has no effect and can cause linking errors + # when linked against glibc >= 2.31 + tc.blocks["cmake_flags_init"].template += ( + 'string(APPEND CMAKE_CXX_FLAGS_INIT " -fno-finite-math-only")\n' + 'string(APPEND CMAKE_C_FLAGS_INIT " -fno-finite-math-only")\n' + ) tc.generate() def _patch_sources(self): From e94afdaebc45eb8bf812a76137f40373009045d3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Oct 2023 14:55:18 +0900 Subject: [PATCH 2208/4087] (#20606) mfast: fix homepage url * mfast: fix homepage url * fix license position --- recipes/mfast/all/conanfile.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipes/mfast/all/conanfile.py b/recipes/mfast/all/conanfile.py index 11a8e4f600fa4..dbdf62474df2d 100644 --- a/recipes/mfast/all/conanfile.py +++ b/recipes/mfast/all/conanfile.py @@ -15,13 +15,13 @@ class mFASTConan(ConanFile): name = "mfast" - license = "LGPL-3.0" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://objectcomputing.com/" description = ( "mFAST is a high performance C++ encoding/decoding library for FAST " "(FIX Adapted for STreaming) protocol" ) + license = "LGPL-3.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://objectcomputing.github.io/mFAST/" topics = ("fast", "fix", "fix-adapted-for-streaming", "financial-information-exchange", "libraries", "cpp") package_type = "library" @@ -36,7 +36,6 @@ class mFASTConan(ConanFile): "fPIC": True, "with_sqlite3": False, } - short_paths = True @property From 52a773c36118855524301b09a8a664b80e42579f Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Mon, 23 Oct 2023 08:15:43 +0200 Subject: [PATCH 2209/4087] (#19479) Migrate libxmlpp * fix configuration import * first step to migrate to conan v2 * migrate to conan v2 * add source_folder as source destination * fix ConanInvalidConfiguration import * hotfix * tools fixes * hotfix replace_in_file * add layout * bump dependencies * safer way to manage fPic * cross support Conan 2.x and 1.x Signed-off-by: Uilian Ries * bump pkgconf * use libxmlpp notation * add transitive headers for older glibmm * set transitive_libs=True for older version * exclude macos * Update recipes/libxmlpp/2.x.x/conanfile.py Co-authored-by: Uilian Ries * Apply suggestions from code review Co-authored-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libxmlpp/2.x.x/conandata.yml | 8 +- recipes/libxmlpp/2.x.x/conanfile.py | 148 +++++++++--------- .../2.x.x/test_package/CMakeLists.txt | 7 +- .../libxmlpp/2.x.x/test_package/conanfile.py | 21 ++- 4 files changed, 95 insertions(+), 89 deletions(-) diff --git a/recipes/libxmlpp/2.x.x/conandata.yml b/recipes/libxmlpp/2.x.x/conandata.yml index c28f5a99de926..56262b8dfb0cb 100644 --- a/recipes/libxmlpp/2.x.x/conandata.yml +++ b/recipes/libxmlpp/2.x.x/conandata.yml @@ -9,7 +9,11 @@ sources: patches: "5.0.1": - patch_file: "patches/5.0.1-0001-enable_static_builds_on_msvc.patch" - base_path: "source_subfolder" + patch_type: "portability" + patch_description: "Manage dllexport correctly to be able to build static libraries on MSVC" + patch_source: "https://github.com/libxmlplusplus/libxmlplusplus/commit/2a2825c67a30ea34f3514659bfd91111db8e009d.patch" "2.42.1": - patch_file: "patches/2.42.1-0001-enable_static_builds_on_msvc.patch" - base_path: "source_subfolder" + patch_type: "portability" + patch_description: "Manage dllexport correctly to be able to build static libraries on MSVC" + patch_source: "https://github.com/libxmlplusplus/libxmlplusplus/commit/2a2825c67a30ea34f3514659bfd91111db8e009d.patch" diff --git a/recipes/libxmlpp/2.x.x/conanfile.py b/recipes/libxmlpp/2.x.x/conanfile.py index 1297a686c1b40..11df8bd1737b7 100644 --- a/recipes/libxmlpp/2.x.x/conanfile.py +++ b/recipes/libxmlpp/2.x.x/conanfile.py @@ -1,16 +1,21 @@ -from conans import ConanFile, Meson, tools -from conan.tools.files import rename -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv from conan.tools.microsoft import is_msvc +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, rmdir, rename, get, rm, replace_in_file +from conan.tools.build import cross_building, check_min_cppstd +from conan.tools.layout import basic_layout import shutil import os -import functools -required_conan_version = ">=1.45.0" + +required_conan_version = ">=1.53.0" + class LibXMLPlusPlus(ConanFile): - # FIXME: naming the library "libxml++" causes conan not to add it to the - # environment path on windows name = "libxmlpp" description = "libxml++ (a.k.a. libxmlplusplus) provides a C++ interface to XML files" license = "LGPL-2.1" @@ -26,19 +31,13 @@ class LibXMLPlusPlus(ConanFile): "shared": False, "fPIC": True, } - generators = "pkg_config" - - @property - def _source_subfolder(self): - return "source_subfolder" @property - def _build_subfolder(self): - return "build_subfolder" + def _lib_version(self): + return "2.6" if Version(self.version) <= "2.42.1" else "5.0" def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -46,36 +45,44 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.9.14") - if tools.Version(self.version) <= "2.42.1": - self.requires("glibmm/2.66.4") + self.requires("libxml2/2.11.4") + if Version(self.version) <= "2.42.1": + self.requires("glibmm/2.66.4", transitive_headers=True, transitive_libs=True) else: - self.requires("glibmm/2.72.1") + self.requires("glibmm/2.75.0") def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self): + if hasattr(self, "settings_build") and cross_building(self): raise ConanInvalidConfiguration("Cross-building not implemented") - + if Version(self.version) < "2.91.1": + from conan import conan_version + import sys + if conan_version.major == 2: + # 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') + # INFO: error: no template named 'auto_ptr' in namespace 'std'. Removed in C++17. + check_max_cppstd(self, 14) if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def build_requirements(self): - self.build_requires("meson/0.63.0") - self.build_requires("pkgconf/1.7.4") + self.tool_requires("meson/1.2.1") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): - tools.get( - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder, - ) + get(self, **self.conan_data["sources"][self.version], + destination=self.source_folder, strip_root=True) def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) if is_msvc(self): # when using cpp_std=c++NM the /permissive- flag is added which @@ -83,73 +90,62 @@ def _patch_sources(self): # that older versions of the Windows SDK isn't standard conformant! # see: # https://developercommunity.visualstudio.com/t/error-c2760-in-combaseapih-with-windows-sdk-81-and/185399 - tools.replace_in_file( - os.path.join(self._source_subfolder, "meson.build"), + replace_in_file(self, + os.path.join(self.source_folder, "meson.build"), "cpp_std=c++", "cpp_std=vc++") - @functools.lru_cache(1) - def _configure_meson(self): - meson = Meson(self) - defs = { - "build-examples": "false", - "build-tests": "false", - "build-documentation": "false", - "msvc14x-parallel-installable": "false", - "default_library": "shared" if self.options.shared else "static", - } - meson.configure( - defs=defs, - build_folder=self._build_subfolder, - source_folder=self._source_subfolder, - pkg_config_paths=[self.install_folder], - ) - return meson + def generate(self): + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + tc = MesonToolchain(self) + tc.project_options["build-examples"] = "false" + tc.project_options["build-tests"] = "false" + tc.project_options["build-documentation"] = "false" + tc.project_options["msvc14x-parallel-installable"] = "false" + tc.project_options["default_library"] = "shared" if self.options.shared else "static" + tc.generate() + td = PkgConfigDeps(self) + td.generate() def build(self): self._patch_sources() - with tools.environment_append(tools.RunEnvironment(self).vars): - meson = self._configure_meson() - meson.build() + meson = Meson(self) + meson.configure() + meson.build() def package(self): - lib_version = "2.6" if tools.Version(self.version) <= "2.42.1" else "5.0" - - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - meson = self._configure_meson() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + meson = Meson(self) meson.install() shutil.move( - os.path.join(self.package_folder, "lib", f"libxml++-{lib_version}", "include", "libxml++config.h"), - os.path.join(self.package_folder, "include", f"libxml++-{lib_version}", "libxml++config.h")) + os.path.join(self.package_folder, "lib", f"libxml++-{self._lib_version}", "include", "libxml++config.h"), + os.path.join(self.package_folder, "include", f"libxml++-{self._lib_version}", "libxml++config.h")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "lib", f"libxml++-{lib_version}")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", f"libxml++-{self._lib_version}")) if is_msvc(self): - tools.remove_files_by_mask( - os.path.join(self.package_folder, "bin"), "*.pdb") + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) if not self.options.shared: rename( self, - os.path.join(self.package_folder, "lib", f"libxml++-{lib_version}.a"), - os.path.join(self.package_folder, "lib", f"xml++-{lib_version}.lib")) + os.path.join(self.package_folder, "lib", f"libxml++-{self._lib_version}.a"), + os.path.join(self.package_folder, "lib", f"xml++-{self._lib_version}.lib")) def package_info(self): - lib_version = "2.6" if tools.Version(self.version) <= "2.42.1" else "5.0" - self.cpp_info.set_property("cmake_module_file_name", "libxml++") self.cpp_info.set_property("cmake_module_target_name", "libxml++::libxml++") self.cpp_info.set_property("pkg_config_name", "libxml++") - self.cpp_info.components[f"libxml++-{lib_version}"].set_property("pkg_config_name", f"libxml++-{lib_version}") - self.cpp_info.components[f"libxml++-{lib_version}"].libs = [f"xml++-{lib_version}"] - self.cpp_info.components[f"libxml++-{lib_version}"].includedirs = [ - os.path.join("include", f"libxml++-{lib_version}") + self.cpp_info.components[f"libxml++-{self._lib_version}"].set_property("pkg_config_name", f"libxml++-{self._lib_version}") + self.cpp_info.components[f"libxml++-{self._lib_version}"].set_property("cmake_target_name", f"libxml++::libxml++-{self._lib_version}") + self.cpp_info.components[f"libxml++-{self._lib_version}"].libs = [f"xml++-{self._lib_version}"] + self.cpp_info.components[f"libxml++-{self._lib_version}"].includedirs = [ + os.path.join("include", f"libxml++-{self._lib_version}") ] - self.cpp_info.components[f"libxml++-{lib_version}"].requires = [ + self.cpp_info.components[f"libxml++-{self._lib_version}"].requires = [ "glibmm::glibmm", "libxml2::libxml2" ] self.cpp_info.names["cmake_find_package"] = "libxml++" self.cpp_info.names["cmake_find_package_multi"] = "libxml++" - self.cpp_info.names["pkg_config"] = "libxml++" - self.cpp_info.components[f"libxml++-{lib_version}"].names["pkg_config"] = f"libxml++-{lib_version}" diff --git a/recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt b/recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt index acd4c1ac2441b..326fc2c2388b4 100644 --- a/recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt +++ b/recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libxml++ REQUIRED CONFIG) +find_package(libxmlpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/libxmlpp/2.x.x/test_package/conanfile.py b/recipes/libxmlpp/2.x.x/test_package/conanfile.py index 8aaecaac427e8..5110568f15e67 100644 --- a/recipes/libxmlpp/2.x.x/test_package/conanfile.py +++ b/recipes/libxmlpp/2.x.x/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = f'{os.path.join("bin", "test_package")} \ - {os.path.join(self.source_folder, "example.xml")}' - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + xml_path = os.path.join(self.source_folder, "example.xml") + self.run(f"{bin_path} {xml_path}", env="conanrun") From b6c37b062d9e4de88a84a7e3e9a2e109ee87d949 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 23 Oct 2023 09:04:22 +0200 Subject: [PATCH 2210/4087] (#19971) googleapis: use protobuf `` in build requirements and bump protobuf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use protobuf in tool_requires * add test_type in test package * fix required_conan_version * still provide robust support for legacy 1 profile * fix min conan v2 version --------- Co-authored-by: Francisco Ramírez Co-authored-by: Rubén Rincón Blanco --- recipes/googleapis/all/conanfile.py | 25 +++++++++---------- .../googleapis/all/test_package/conanfile.py | 16 ++++++------ 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/recipes/googleapis/all/conanfile.py b/recipes/googleapis/all/conanfile.py index c1eae06780f75..7d10eb1883d33 100644 --- a/recipes/googleapis/all/conanfile.py +++ b/recipes/googleapis/all/conanfile.py @@ -1,20 +1,19 @@ -import os import functools import glob +import os from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import can_run, check_min_cppstd +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.microsoft import is_msvc from conan.tools.scm import Version - from helpers import parse_proto_libraries -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" class GoogleAPIS(ConanFile): @@ -29,17 +28,17 @@ class GoogleAPIS(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - } + } default_options = { "shared": False, "fPIC": True, - } + } exports = "helpers.py" short_paths = True @property - def _protobuf_version(self): - return "3.21.9" + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") def export_sources(self): copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=os.path.join(self.export_sources_folder, "src")) @@ -59,7 +58,7 @@ def layout(self): def requirements(self): # https://github.com/conan-io/conan-center-index/pull/15601#issuecomment-1493086506 - self.requires(f"protobuf/{self._protobuf_version}", transitive_headers=True, transitive_libs=True, run=can_run(self)) + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -69,12 +68,12 @@ def validate(self): if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration("Source code generated from protos is missing some export macro") - if self.options.shared and not self.dependencies["protobuf"].options.shared: + if self.options.shared and not self.dependencies.host["protobuf"].options.shared: raise ConanInvalidConfiguration("If built as shared, protobuf must be shared as well. Please, use `protobuf:shared=True`") def build_requirements(self): - if not can_run(self): - self.tool_requires(f"protobuf/{self._protobuf_version}") + if not self._is_legacy_one_profile: + self.tool_requires("protobuf/") # CMake >= 3.20 is required. There is a proto with dots in the name 'k8s.min.proto' and CMake fails to generate project files self.tool_requires("cmake/[>=3.20 <4]") @@ -84,7 +83,7 @@ def source(self): def generate(self): VirtualBuildEnv(self).generate() - if can_run(self): + if self._is_legacy_one_profile: VirtualRunEnv(self).generate(scope="build") tc = CMakeToolchain(self) tc.generate() diff --git a/recipes/googleapis/all/test_package/conanfile.py b/recipes/googleapis/all/test_package/conanfile.py index 58019cb35dee5..bb39603872037 100644 --- a/recipes/googleapis/all/test_package/conanfile.py +++ b/recipes/googleapis/all/test_package/conanfile.py @@ -1,23 +1,21 @@ import os + from conan import ConanFile -from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) - - def generate(self): - tc = CMakeToolchain(self) - tc.generate() + 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() From b0f946579e31dab69ded7451199003d8145c47c6 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Mon, 23 Oct 2023 20:30:22 +1030 Subject: [PATCH 2211/4087] (#17806) [libdb] Conan 2.0 migration * [libdb] Uplift to be conan 2.0 compatible * [libdb] Disable legacy build methods * [libdb] Patch visual studio project files to use msbuild toolchain props * [libd] Add apple-clang >= 12 functionality * Re-adding -Wno-error=implicit-function-delcaration back to add apple-clang >= 12 functionality back in. This was originally added in #7943 and erroneously removed. * [libdb] Add fix_apple_shared_install_name for shared compatibility on macOS * [libdb] Upgrade platform toolset and fix build type string quotation * [libdb] Add WindowsTargetPlatformVersion definition to visual studio solutions * Add WindowsTargetPlatformVersion definition to visual studio solutions * Remove extraneous comments * [libdb] Disable vs2019+ builds, remove unnecessary patches * Disable Visual Studio 2019+ builds as they aren't working at the moment. * Remove unnecessary patch to include conanbuildinfo.props, which is now injected by the toolchain in the build method. * [libdb] Fix linting issues * Add patch_description and patch_type fields to conandata.yml * Remove unused unix_path * [libdb] Improve comment clarity * [libdb] Allow vs2017 to pass validation libdb builds with vs2017, so this should be allowed to build. Erroneously this was included in the invalid compilers. * [libdb] Re-organise all patches into _patch_sources for readability To improve comprehension and readability, reorganise all source patching into the _patch_sources method. Previously, there were some patches that existed only in build(), which meant that a developer would have to find patches in multiple locations which increases recipe complexity. * [libdb] Add clang 15+ compatibility --- recipes/libdb/all/conandata.yml | 11 +- recipes/libdb/all/conanfile.py | 236 ++++++++++-------- ...svc-tcl-include-conanbuildinfo-props.patch | 9 - recipes/libdb/all/test_package/CMakeLists.txt | 11 +- recipes/libdb/all/test_package/conanfile.py | 22 +- .../all/test_package/{ => src}/test_package.c | 1 + .../libdb/all/test_v1_package/CMakeLists.txt | 8 + .../libdb/all/test_v1_package/conanfile.py | 16 ++ 8 files changed, 189 insertions(+), 125 deletions(-) delete mode 100644 recipes/libdb/all/patches/0004-msvc-tcl-include-conanbuildinfo-props.patch rename recipes/libdb/all/test_package/{ => src}/test_package.c (90%) create mode 100644 recipes/libdb/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libdb/all/test_v1_package/conanfile.py diff --git a/recipes/libdb/all/conandata.yml b/recipes/libdb/all/conandata.yml index 0707d6df726bf..f522bcff96322 100644 --- a/recipes/libdb/all/conandata.yml +++ b/recipes/libdb/all/conandata.yml @@ -5,10 +5,11 @@ sources: patches: "5.3.28": - patch_file: "patches/0001-rename_atomic_compare_exchange.patch" - base_path: "source_subfolder" + patch_description: "Rename __atomic_compare_exchange to __atomic_compare_exchange_db" + patch_type: "portability" - patch_file: "patches/0002-no-conditional-tcl-include.patch" - base_path: "source_subfolder" + patch_description: "Always include tcl.h. Remove conditions." + patch_type: "conan" - patch_file: "patches/0003-msvc-db_tcl-add-static-configuration.patch" - base_path: "source_subfolder" - - patch_file: "patches/0004-msvc-tcl-include-conanbuildinfo-props.patch" - base_path: "source_subfolder" + patch_description: "Add static configuration" + patch_type: "conan" diff --git a/recipes/libdb/all/conanfile.py b/recipes/libdb/all/conanfile.py index 2500bfb57361a..7e15eabaa687f 100644 --- a/recipes/libdb/all/conanfile.py +++ b/recipes/libdb/all/conanfile.py @@ -1,14 +1,15 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, replace_in_file, rename, rm, rmdir -from conan.tools.microsoft import is_msvc, check_min_vs, unix_path +from conan.tools.microsoft import MSBuild, MSBuildDeps, MSBuildToolchain, is_msvc, check_min_vs, vs_layout +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout from conan.tools.scm import Version -# FIXME: Needs to be migrted to Conan v2 -from conans import AutoToolsBuildEnvironment, MSBuild -from conans import tools as legacy_tools +from conan.tools.apple import fix_apple_shared_install_name import glob import os +import shutil required_conan_version = ">=1.55.0" @@ -35,13 +36,6 @@ class LibdbConan(ConanFile): "with_cxx": False, } - generators = "visual_studio" - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" @property def _mingw_build(self): @@ -51,18 +45,14 @@ def _mingw_build(self): def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC - if self.settings.compiler == "Visual Studio": - del self.options.with_cxx + self.options.rm_safe("fPIC") + if is_msvc(self): + self.options.rm_safe("with_cxx") def configure(self): if self.options.shared: @@ -76,8 +66,9 @@ def requirements(self): self.requires("tcl/8.6.10") def validate(self): - if is_msvc(self) and check_min_vs(self, "191", raise_invalid=False): + if is_msvc(self) and check_min_vs(self, "192", raise_invalid=False): # FIXME: it used to work with previous versions of Visual Studio 2019 in CI of CCI. + # Currently won't work with Visual Studio 2019 or newer raise ConanInvalidConfiguration(f"{self.ref} Visual Studio 2019 is currently not supported. Contributions are welcomed!") if self.settings.os == "Macos" and self.settings.arch == "armv8": @@ -85,81 +76,126 @@ def validate(self): if self.options.get_safe("with_cxx"): if self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "6": - raise ConanInvalidConfiguration(f"{self.ref} does no support clang<6 with_cxx=True") + raise ConanInvalidConfiguration(f"{self.ref} does not support clang<6 with_cxx=True") if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "10": - raise ConanInvalidConfiguration(f"{self.ref} does no support apple-clang<10 with_cxx=True") + raise ConanInvalidConfiguration(f"{self.ref} does not support apple-clang<10 with_cxx=True") def build_requirements(self): - if self._settings_build.os == "Windows": - self.win_bash = True - if not self.conf.get("tools.microsoft.bash:path", check_type=str): - self.tool_requires("msys2/cci.latest") + if not self._settings_build.os == "Windows": + self.tool_requires("gnu-config/cci.20201022") + + def layout(self): + if is_msvc(self): + vs_layout(self) + else: + basic_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def _patch_sources(self): apply_conandata_patches(self) - if is_msvc(self): + import_conan_generators = "" + for props_file in ["conantoolchain.props", "conandeps.props"]: + props_path = os.path.join(self.generators_folder, props_file) + if os.path.exists(props_path): + import_conan_generators += f"" + projects = ["db", "db_sql", "db_stl"] + if self.options.with_tcl: + projects.append("db_tcl") + for project in projects: + # ================================= + # TODO: To remove once https://github.com/conan-io/conan/pull/12817 is available in conan client + project_file = os.path.join(self.source_folder, "build_windows", "VS10", f"{project}.vcxproj") + toolset = MSBuildToolchain(self).toolset + replace_in_file( + self, project_file, + "", + f" {toolset}\n ", + ) + replace_in_file( + self, project_file, + "", + f"\n {toolset}", + ) + if import_conan_generators: + replace_in_file( + self, project_file, + "", + f"{import_conan_generators}", + ) + # ================================= + + for file in glob.glob(os.path.join(self.source_folder, "build_windows", "VS10", "*.vcxproj")): + pass + # The WindowsTargetPlatformVersion selected below will depend on what Windows SDK is installed. + replace_in_file(self, file, + "", + # 10.0 should select the "latest" SDK available, but doesn't always work. It may be necessary to specify a specific version + #"10.0") + "10.0.20348.0") + #"10.0.19041.0") + else: for subdir in [ "dist", os.path.join("lang", "sql", "jdbc"), os.path.join("lang", "sql", "odbc"), os.path.join("lang", "sql", "sqlite"), ]: - for gnu_config in [ - self.conf.get("user.gnu-config:config_guess", check_type=str), - self.conf.get("user.gnu-config:config_sub", check_type=str), - ]: - if gnu_config: - copy(self, os.path.basename(gnu_config), src=os.path.dirname(gnu_config), dst=os.path.join(self._source_subfolder, subdir)) - - for file in glob.glob(os.path.join(self._source_subfolder, "build_windows", "VS10", "*.vcxproj")): - replace_in_file(self, file, - "", - "10.0.17763.0") - - dist_configure = os.path.join(self._source_subfolder, "dist", "configure") - replace_in_file(self, dist_configure, "../$sqlite_dir", "$sqlite_dir") - replace_in_file(self, dist_configure, - "\n --disable-option-checking)", - "\n --datarootdir=*)" - "\n ;;" - "\n --disable-option-checking)") - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=legacy_tools.os_info.is_windows) - if self.settings.compiler in ["apple-clang", "clang"] and Version(self.settings.compiler.version) >= "12": - self._autotools.flags.append("-Wno-error=implicit-function-declaration") - conf_args = [ - "--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug", - "--enable-mingw" if self._mingw_build else "--disable-mingw", - "--enable-compat185", - "--enable-sql", - ] - if self.options.with_cxx: - conf_args.extend(["--enable-cxx", "--enable-stl"]) - else: - conf_args.extend(["--disable-cxx", "--disable-stl"]) + shutil.copy(self.dependencies.build["gnu-config"].conf_info.get("user.gnu-config:config_sub"), + os.path.join(self.source_folder, subdir, "config.sub")) + shutil.copy(self.dependencies.build["gnu-config"].conf_info.get("user.gnu-config:config_guess"), + os.path.join(self.source_folder, subdir, "config.guess")) + + dist_configure = os.path.join(self.source_folder, "dist", "configure") + replace_in_file(self, dist_configure, "../$sqlite_dir", "$sqlite_dir") + replace_in_file(self, dist_configure, + "\n --disable-option-checking)", + "\n --datarootdir=*)" + "\n ;;" + "\n --disable-option-checking)") + + + def generate(self): + if is_msvc(self): + tc = MSBuildToolchain(self) + tc.generate() + + deps = MSBuildDeps(self) + deps.generate() - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) else: - conf_args.extend(["--disable-shared", "--enable-static"]) - if self.options.with_tcl: - conf_args.append("--with-tcl={}".format(unix_path(self, os.path.join(self.deps_cpp_info["tcl"].rootpath, "lib")))) - self._autotools.configure(configure_dir=os.path.join(self.source_folder, self._source_subfolder, "dist"), args=conf_args) - if self.settings.os == "Windows" and self.options.shared: - replace_in_file(self, os.path.join(self.build_folder, "libtool"), - "\ndeplibs_check_method=", - "\ndeplibs_check_method=pass_all\n#deplibs_check_method=") - replace_in_file(self, os.path.join(self.build_folder, "Makefile"), - ".a", - ".dll.a") - return self._autotools + tc = AutotoolsToolchain(self) + tc.configure_args.append("--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug") + tc.configure_args.append("--enable-mingw" if self._mingw_build else "--disable-mingw") + tc.configure_args.append("--enable-compat185") + tc.configure_args.append("--enable-sql") + if self.options.with_cxx: + tc.configure_args.extend(["--enable-cxx", "--enable-stl"]) + else: + tc.configure_args.extend(["--disable-cxx", "--disable-stl"]) + + if self.options.shared: + tc.configure_args.extend(["--enable-shared", "--disable-static"]) + else: + tc.configure_args.extend(["--disable-shared", "--enable-static"]) + + if self.options.with_tcl: + tc.configure_args.append(f"--with-tcl={os.path.join(self.dependencies['tcl'].package_folder, 'lib')}") + + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) >= "12": + tc.extra_cflags.append("-Wno-error=implicit-function-declaration") + if self.settings.compiler == "clang" and Version(self.settings.compiler.version) >= "15": + # -Wimplicit-function-declaration is default as of clang 15 + # https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html#improvements-to-clang-s-diagnostics + # https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes + tc.extra_cflags.append("-Wno-error=implicit-function-declaration") + + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() @property def _msvc_build_type(self): @@ -174,33 +210,34 @@ def _msvc_build_type(self): def _msvc_arch(self): return self._msvc_platforms[str(self.settings.arch)] - def _build_msvc(self): - projects = ["db", "db_sql", "db_stl"] - if self.options.with_tcl: - projects.append("db_tcl") - msbuild = MSBuild(self) - upgraded = False - for project in projects: - msbuild.build(os.path.join(self._source_subfolder, "build_windows", "VS10", "{}.vcxproj".format(project)), - build_type=self._msvc_build_type, platforms=self._msvc_platforms, - upgrade_project=not upgraded) - upgraded = True - def build(self): self._patch_sources() if is_msvc(self): - self._build_msvc() + msbuild = MSBuild(self) + projects = ["db", "db_sql", "db_stl"] + if self.options.with_tcl: + projects.append("db_tcl") + for project in projects: + project_file = os.path.join(self.source_folder, "build_windows", "VS10", f"{project}.vcxproj") + build_type = "{}{}".format( + "" if self.options.shared else "Static ", + "Debug" if self.settings.build_type == "Debug" else "Release", + ) + msbuild.build_type = build_type if Version(conan_version).major >= 2 else f"\"{build_type}\"" + msbuild.platform = "Win32" if self.settings.arch == "x86" else msbuild.platform + msbuild.build(sln=project_file) else: - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure(build_script_folder=os.path.join(self.source_folder, "dist")) autotools.make() def package(self): - copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) bindir = os.path.join(self.package_folder, "bin") libdir = os.path.join(self.package_folder, "lib") if is_msvc(self): - build_windows = os.path.join(self._source_subfolder, "build_windows") - build_dir = os.path.join(self._source_subfolder, "build_windows", self._msvc_arch, self._msvc_build_type) + build_windows = os.path.join(self.source_folder, "build_windows") + build_dir = os.path.join(self.source_folder, "build_windows", self._msvc_arch, self._msvc_build_type) copy(self, "*.lib", src=build_dir, dst=libdir) copy(self, "*.dll", src=build_dir, dst=bindir) for fn in ("db.h", "db.cxx", "db_int.h", "dbstl_common.h"): @@ -217,7 +254,7 @@ def _lib_to_msvc_lib(lib): rename(self, os.path.join(libdir, "{}.lib".format(msvc_lib)), os.path.join(libdir, "{}.lib".format(lib))) else: - autotools = self._configure_autotools() + autotools = Autotools(self) autotools.install() if self.settings.os == "Windows": @@ -244,6 +281,7 @@ def _lib_to_msvc_lib(lib): if not self.options.shared: # autotools installs the static libraries twice as libXXX.a and libXXX-5.3.a ==> remove libXXX-5.3.a rm(self, "*-{}.a".format(".".join(self._major_minor_version)), libdir) + fix_apple_shared_install_name(self) @property def _major_minor_version(self): @@ -258,8 +296,8 @@ def _libs(self): if self.options.get_safe("with_cxx"): libs.extend(["db_cxx", "db_stl"]) libs.extend(["db_sql", "db"]) - if self.settings.compiler == "Visual Studio": - libs = ["lib{}".format(lib) for lib in libs] + if is_msvc(self): + libs = [f"lib{libname}" for libname in libs] return libs def package_info(self): @@ -268,5 +306,5 @@ def package_info(self): self.cpp_info.defines = ["DB_USE_DLL"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["dl", "pthread"]) - elif self.settings.os == "Windows" : + elif self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/libdb/all/patches/0004-msvc-tcl-include-conanbuildinfo-props.patch b/recipes/libdb/all/patches/0004-msvc-tcl-include-conanbuildinfo-props.patch deleted file mode 100644 index 742431d50ece2..0000000000000 --- a/recipes/libdb/all/patches/0004-msvc-tcl-include-conanbuildinfo-props.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- build_windows/VS10/db_tcl.vcxproj -+++ build_windows/VS10/db_tcl.vcxproj -@@ -1,5 +2,5 @@ - -- -+ - - - Debug diff --git a/recipes/libdb/all/test_package/CMakeLists.txt b/recipes/libdb/all/test_package/CMakeLists.txt index 7b9b613cbb24a..ee5ced82bf710 100644 --- a/recipes/libdb/all/test_package/CMakeLists.txt +++ b/recipes/libdb/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) +cmake_minimum_required(VERSION 3.15) +project(PackageTest C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libdb CONFIG REQUIRED) -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +add_executable(example src/test_package.c) +target_link_libraries(example libdb::libdb) diff --git a/recipes/libdb/all/test_package/conanfile.py b/recipes/libdb/all/test_package/conanfile.py index d919133e5c230..91a8fc7a09b42 100644 --- a/recipes/libdb/all/test_package/conanfile.py +++ b/recipes/libdb/all/test_package/conanfile.py @@ -1,16 +1,26 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + +class fooTestConan(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 not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "example") + self.run(cmd, env="conanrun") diff --git a/recipes/libdb/all/test_package/test_package.c b/recipes/libdb/all/test_package/src/test_package.c similarity index 90% rename from recipes/libdb/all/test_package/test_package.c rename to recipes/libdb/all/test_package/src/test_package.c index d94592e5c75f1..a83b3cc09a879 100644 --- a/recipes/libdb/all/test_package/test_package.c +++ b/recipes/libdb/all/test_package/src/test_package.c @@ -17,5 +17,6 @@ int main(int argc, char *argv[]) { puts("DP->close failed\n"); return EXIT_FAILURE; } + puts("libdb test_package success!\n"); return EXIT_SUCCESS; } diff --git a/recipes/libdb/all/test_v1_package/CMakeLists.txt b/recipes/libdb/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b9027a80ab6af --- /dev/null +++ b/recipes/libdb/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(${PROJECT_NAME} ../test_package/src/test_package.c) +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/libdb/all/test_v1_package/conanfile.py b/recipes/libdb/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..d919133e5c230 --- /dev/null +++ b/recipes/libdb/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(os.path.join("bin", "test_package"), run_environment=True) From 831094ffb73daab2c3d87bb1b73f0a188f709c16 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Oct 2023 19:11:03 +0900 Subject: [PATCH 2212/4087] (#20742) utfcpp: add version 4.0.0 --- recipes/utfcpp/all/conandata.yml | 3 +++ recipes/utfcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index c53cea4624682..eb203bb4304de 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.0": + url: "https://github.com/nemtrif/utfcpp/archive/v4.0.0.tar.gz" + sha256: "ac44d9652aa2ee64d405c1705718f26b385337a9b8cf20bf2b2aac6435a16c1e" "3.2.5": url: "https://github.com/nemtrif/utfcpp/archive/v3.2.5.tar.gz" sha256: "14fd1b3c466814cb4c40771b7f207b61d2c7a0aa6a5e620ca05c00df27f25afd" diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index 7c9a9e66d30ce..764dd2cbd11ba 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.0": + folder: all "3.2.5": folder: all "3.2.4": From 0bb450cb20e2e3695edcb940131d167dac79c0ba Mon Sep 17 00:00:00 2001 From: qwqbot Date: Mon, 23 Oct 2023 19:31:32 +0800 Subject: [PATCH 2213/4087] (#19021) add ethash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add ethash * update * fix fPIC * fix cmake version * use cmake version range * fix version range * fix test package * use cmake layout * fix import * do not install config * clean * add package info * fix * fix * fix * Update recipes/ethash/all/conanfile.py Co-authored-by: Martin Valgur * Update recipes/ethash/all/conanfile.py Co-authored-by: Martin Valgur * Update recipes/ethash/all/conanfile.py Co-authored-by: Martin Valgur * drop test_v1_package * Add Windows support back * Fix hooks errors and required cppstd The project is divided in 3 libs, one of them is pure-C and another requires C++14 only, nothing to do with C++20 as said bofore. The library global-context has a separated CMake target, that depends on ethash library. Both ethash and global-context are optional, but enbabled by default. Signed-off-by: Uilian Ries * Do not enforce cmake version for testing Signed-off-by: Uilian Ries * Manage fPIC option * remove duplicated configure() method Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Martin Valgur Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/ethash/all/conandata.yml | 4 + recipes/ethash/all/conanfile.py | 110 ++++++++++++++++++ .../ethash/all/test_package/CMakeLists.txt | 16 +++ recipes/ethash/all/test_package/conanfile.py | 26 +++++ .../ethash/all/test_package/test_package.cpp | 6 + recipes/ethash/config.yml | 3 + 6 files changed, 165 insertions(+) create mode 100644 recipes/ethash/all/conandata.yml create mode 100644 recipes/ethash/all/conanfile.py create mode 100644 recipes/ethash/all/test_package/CMakeLists.txt create mode 100644 recipes/ethash/all/test_package/conanfile.py create mode 100644 recipes/ethash/all/test_package/test_package.cpp create mode 100644 recipes/ethash/config.yml diff --git a/recipes/ethash/all/conandata.yml b/recipes/ethash/all/conandata.yml new file mode 100644 index 0000000000000..90bf836e839d3 --- /dev/null +++ b/recipes/ethash/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.1": + url: "https://github.com/chfast/ethash/archive/v1.0.1.tar.gz" + sha256: "17e0786ba8437c1b0c61f2065da71ce1b9cc871f8723a747a8aae8b71334d95f" diff --git a/recipes/ethash/all/conanfile.py b/recipes/ethash/all/conanfile.py new file mode 100644 index 0000000000000..b8c0665ba0213 --- /dev/null +++ b/recipes/ethash/all/conanfile.py @@ -0,0 +1,110 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.51.1" + + +class EthashConan(ConanFile): + name = "ethash" + description = "C/C++ implementation of Ethash and ProgPoW – the Ethereum Proof of Work algorithms" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/chfast/ethash" + topics = ("ethereum", "mining", "proof-of-work") + package_type = "library" + + settings = "os", "arch", "compiler", "build_type" + options = {"shared": [True, False], + "fPIC": [True, False], + "build_ethash": [True, False], + "build_global_context": [True, False]} + default_options = {"shared": False, + "fPIC": True, + "build_ethash": True, + "build_global_context": True} + + @property + def _min_cppstd(self): + return 14 + + 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 not self.options.build_ethash: + self.options.rm_safe("build_global_context") + + def layout(self): + cmake_layout(self, src_folder="src") + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "msvc": "190", + "gcc": "5", + "clang": "5", + "apple-clang": "10", + } + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16.2 <4]") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + # INFO: Options are declared before project() call + tc.cache_variables["ETHASH_INSTALL_CMAKE_CONFIG"] = False + tc.cache_variables["ETHASH_TESTING"] = False + tc.cache_variables["ETHASH_BUILD_ETHASH"] = self.options.build_ethash + tc.cache_variables["ETHASH_BUILD_GLOBAL_CONTEXT"] = self.options.get_safe("build_global_context", False) + tc.generate() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy( + self, + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, + ) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.components["keccak"].set_property("cmake_target_name", "ethash::keccak") + self.cpp_info.components["keccak"].libs = ["keccak"] + + if self.options.build_ethash: + self.cpp_info.components["ethash"].set_property("cmake_target_name", "ethash::ethash") + self.cpp_info.components["ethash"].requires = ["keccak"] + self.cpp_info.components["ethash"].libs = ["ethash"] + + if self.options.get_safe("build_global_context"): + # INFO: ethash-global-context is static library always + self.cpp_info.components["global_context"].set_property("cmake_target_name", "ethash::global-context") + self.cpp_info.components["global_context"].requires = ["ethash"] + self.cpp_info.components["global_context"].libs = ["ethash-global-context"] diff --git a/recipes/ethash/all/test_package/CMakeLists.txt b/recipes/ethash/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5a5d08dd645f7 --- /dev/null +++ b/recipes/ethash/all/test_package/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ethash REQUIRED CONFIG) + +set(ETHASH_TARGETS ethash::keccak) +if (TARGET ethash::ethash) + list(APPEND ETHASH_TARGETS ethash::ethash) +endif() +if (TARGET ethash::global-context) + list(APPEND ETHASH_TARGETS ethash::global-context) +endif() + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ${ETHASH_TARGETS}) +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14) diff --git a/recipes/ethash/all/test_package/conanfile.py b/recipes/ethash/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/ethash/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ethash/all/test_package/test_package.cpp b/recipes/ethash/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..da1378296d29d --- /dev/null +++ b/recipes/ethash/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include + +int main(int argc, char **) { + auto epoch_num = ethash::get_epoch_number(0); + return 0; +} diff --git a/recipes/ethash/config.yml b/recipes/ethash/config.yml new file mode 100644 index 0000000000000..715e55357a17b --- /dev/null +++ b/recipes/ethash/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.1": + folder: all From 33fdb52c0afb7dd708b3560796df6b292fbc9bb4 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 23 Oct 2023 14:03:14 +0200 Subject: [PATCH 2214/4087] (#20741) [avahi] Expose both root include folder and module name Signed-off-by: Uilian Ries --- recipes/avahi/all/conanfile.py | 2 ++ recipes/avahi/all/test_package/test_package.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index 48363ba227bf4..c48041220143e 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -107,6 +107,7 @@ def package_info(self): self.cpp_info.components[lib].names["cmake_find_package"] = lib self.cpp_info.components[lib].names["cmake_find_package_multi"] = lib self.cpp_info.components[lib].libs = [avahi_lib] + self.cpp_info.components[lib].includedirs = ["include", os.path.join("include", avahi_lib)] self.cpp_info.components["compat-libdns_sd"].libs = ["dns_sd"] self.cpp_info.components["client"].requires = ["common", "dbus::dbus"] @@ -131,6 +132,7 @@ def package_info(self): self.cpp_info.components["resolve"].requires = ["client"] self.cpp_info.components["set-host-name"].requires = ["client"] + # TODO: Remove after dropping Conan 1.x support bin_path = os.path.join(self.package_folder, "bin") self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/avahi/all/test_package/test_package.c b/recipes/avahi/all/test_package/test_package.c index 5151e74257c78..0b5b2dd52d5e2 100644 --- a/recipes/avahi/all/test_package/test_package.c +++ b/recipes/avahi/all/test_package/test_package.c @@ -1,6 +1,6 @@ #include -#include "avahi-compat-libdns_sd/dns_sd.h" +#include "dns_sd.h" #include "avahi-core/log.h" From fbf77e84fcec412e333dbeb555a5279f29210ddf Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Oct 2023 21:11:14 +0900 Subject: [PATCH 2215/4087] (#19600) objectbox: add version 0.19.0, add package_type * objectbox: add version 0.19.0 * drop gcc 5 support * add upload_policy="skip" --- recipes/objectbox/all/conandata.yml | 8 +++++++- recipes/objectbox/all/conanfile.py | 8 ++++++++ recipes/objectbox/all/test_package/CMakeLists.txt | 2 +- recipes/objectbox/config.yml | 2 ++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/recipes/objectbox/all/conandata.yml b/recipes/objectbox/all/conandata.yml index af3abbeb88948..6a064833981c3 100644 --- a/recipes/objectbox/all/conandata.yml +++ b/recipes/objectbox/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.19.0": + url: "https://github.com/objectbox/objectbox-c/archive/v0.19.0.tar.gz" + sha256: "372520a744e9ae135a309ee834e4e936058abb0630fafd70a400546109089a89" "0.18.1": url: "https://github.com/objectbox/objectbox-c/archive/v0.18.1.tar.gz" sha256: "108ac7fac843f2962374a12b361bb57b4d114013d16f7716cfedbc7df52feb2e" @@ -8,8 +11,11 @@ sources: "0.17.0": url: "https://github.com/objectbox/objectbox-c/archive/refs/tags/v0.17.0.tar.gz" sha256: "3b936b3352ae0c8ea3706cc0a1790d2714a415cdce16007c2caca367ead5af8d" - patches: + "0.19.0": + - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "add sync option, disable tests/examples, support max length of windows path" + patch_type: "conan" "0.18.1": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" diff --git a/recipes/objectbox/all/conanfile.py b/recipes/objectbox/all/conanfile.py index c5710cc60873c..ffcc6e09fb17f 100644 --- a/recipes/objectbox/all/conanfile.py +++ b/recipes/objectbox/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.scm import Version @@ -14,12 +15,14 @@ class ObjectboxCConan(ConanFile): homepage = "https://github.com/objectbox/objectbox-c" topics = ("performance", "database", "flatbuffers") settings = "os", "arch", "compiler", "build_type" + package_type = "shared-library" options = { "with_sync": [True, False], } default_options = { "with_sync": False, } + upload_policy="skip" def export_sources(self): export_conandata_patches(self) @@ -27,6 +30,11 @@ def export_sources(self): def layout(self): cmake_layout(self, src_folder="src") + def validate(self): + if Version(self.version) >= "0.19.0" and \ + self.settings.compiler == "gcc" and Version(self.settings.compiler.version) <= "5": + raise ConanInvalidConfiguration(f"{self.ref} requires GCC 6 or higher") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/objectbox/all/test_package/CMakeLists.txt b/recipes/objectbox/all/test_package/CMakeLists.txt index 8ef573610ef44..daba6910bb48a 100644 --- a/recipes/objectbox/all/test_package/CMakeLists.txt +++ b/recipes/objectbox/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) find_package(objectbox REQUIRED CONFIG) diff --git a/recipes/objectbox/config.yml b/recipes/objectbox/config.yml index f2cc4d23dcbd0..e6304cf62bb40 100644 --- a/recipes/objectbox/config.yml +++ b/recipes/objectbox/config.yml @@ -1,4 +1,6 @@ versions: + "0.19.0": + folder: all "0.18.1": folder: all "0.18.0": From e048787b9e0dbcb7b7c9da7f47c6e4572ac9fb3d Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Mon, 23 Oct 2023 23:24:45 +1030 Subject: [PATCH 2216/4087] (#20066) [ensmallen] Add ensmallen recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ensmallen] Add recipe * [ensmallen] Add src_folder to cmake_layout * [ensmallen] Update filename and targets to match upstream Update filename to use Ensmallen to match upstream FindEnsmallen.cmake defined https://github.com/mlpack/models/blob/master/CMake/FindEnsmallen.cmake. This doesn't define the Ensmallen::Ensmallen target, however given the naming conventions provided by the project, this is an educated guess at a likely target name. * Minor changes * [ensmallen] Fix conan 1.x builds * Add CMAKE_CXX_STANDARD to test_package build * Add hdf5 as a test_package dependency * [ensmallen] Use cmake_config_version_compat to define compatibility policy * Bump required version to 2.0.12 * Use AnyNewerVersion for armadillo compatibility policy * Revert target names to use default given no upstream policy for naming convention * [ensmallen] Re-introduce patching for conan 1.x compatibility --------- Co-authored-by: Rubén Rincón Blanco --- recipes/ensmallen/all/conandata.yml | 4 ++ recipes/ensmallen/all/conanfile.py | 69 ++++++++++++++++++ .../ensmallen/all/test_package/CMakeLists.txt | 8 +++ .../ensmallen/all/test_package/conanfile.py | 30 ++++++++ .../all/test_package/src/example.cpp | 70 +++++++++++++++++++ recipes/ensmallen/config.yml | 3 + 6 files changed, 184 insertions(+) create mode 100644 recipes/ensmallen/all/conandata.yml create mode 100644 recipes/ensmallen/all/conanfile.py create mode 100644 recipes/ensmallen/all/test_package/CMakeLists.txt create mode 100644 recipes/ensmallen/all/test_package/conanfile.py create mode 100644 recipes/ensmallen/all/test_package/src/example.cpp create mode 100644 recipes/ensmallen/config.yml diff --git a/recipes/ensmallen/all/conandata.yml b/recipes/ensmallen/all/conandata.yml new file mode 100644 index 0000000000000..a566be23b4893 --- /dev/null +++ b/recipes/ensmallen/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.19.1": + url: "https://ensmallen.org/files/ensmallen-2.19.1.tar.gz" + sha256: "f36ad7f08b0688d2a8152e1c73dd437c56ed7a5af5facf65db6ffd977b275b2e" diff --git a/recipes/ensmallen/all/conanfile.py b/recipes/ensmallen/all/conanfile.py new file mode 100644 index 0000000000000..7b6250290ad81 --- /dev/null +++ b/recipes/ensmallen/all/conanfile.py @@ -0,0 +1,69 @@ +from conan import ConanFile, conan_version +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import get, replace_in_file, rmdir, copy +from conan.tools.scm import Version + +import os + +required_conan_version = ">=1.55.0" + +class ensmallenRecipe(ConanFile): + name = "ensmallen" + description = "ensmallen is a high quality C++ library for non-linear numerical optimization." + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mlpack/ensmallen" + topics = ("optimization", "numerical", "header-only") + + package_type = "header-library" + settings = "os", "compiler", "build_type", "arch" + + def package_id(self): + self.info.clear() + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("armadillo/12.2.0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.set_property("armadillo", "cmake_file_name", "Armadillo") + deps.set_property("armadillo", "cmake_target_name", "Armadillo::Armadillo") + deps.set_property("armadillo", "cmake_config_version_compat", "AnyNewerVersion") + deps.generate() + tc = CMakeToolchain(self) + tc.variables["USE_OPENMP"] = False + tc.generate() + + + def build(self): + # TODO: Remove when conan 1.x support is dropped. This is largely resolved by the above + # specification of AnyNewerVersion for the compatibility policy, but this feature isn't + # available below version 2.0.12. + if conan_version < Version("2.0.12"): + # Remove hard requirement on armadillo 9.800.0 + # This is a minimum requirement, use latest + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + "find_package(Armadillo 9.800.0 REQUIRED)", + "find_package(Armadillo REQUIRED)", + ) + cmake = CMake(self) + cmake.configure() + + def package(self): + cmake = CMake(self) + cmake.install() + + copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "lib")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/ensmallen/all/test_package/CMakeLists.txt b/recipes/ensmallen/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..be7bc25d1dfa3 --- /dev/null +++ b/recipes/ensmallen/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX) + +set(CMAKE_CXX_STANDARD 11) +find_package(ensmallen CONFIG REQUIRED) + +add_executable(example src/example.cpp) +target_link_libraries(example ensmallen::ensmallen) diff --git a/recipes/ensmallen/all/test_package/conanfile.py b/recipes/ensmallen/all/test_package/conanfile.py new file mode 100644 index 0000000000000..9cfc468cba5a7 --- /dev/null +++ b/recipes/ensmallen/all/test_package/conanfile.py @@ -0,0 +1,30 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + +class ensmallenTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires(self.tested_reference_str) + # Required for consumers of armadillo>=12.2.0 due to upstream changes + # and armadillo/*:use_hdf5=True by default. + # See https://github.com/conan-io/conan-center-index/pull/17320 for more + # information. + self.requires("hdf5/1.14.1") + + 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, "example"), "10", "20"] + self.run(" ".join(cmd), env="conanrun") diff --git a/recipes/ensmallen/all/test_package/src/example.cpp b/recipes/ensmallen/all/test_package/src/example.cpp new file mode 100644 index 0000000000000..264f137bd0657 --- /dev/null +++ b/recipes/ensmallen/all/test_package/src/example.cpp @@ -0,0 +1,70 @@ +// Example implementation of an objective function class for linear regression +// and usage of the L-BFGS optimizer. +// +// Compilation: +// g++ example.cpp -o example -O3 -larmadillo + + +#include +#include +#include + + +class LinearRegressionFunction +{ + public: + + LinearRegressionFunction(arma::mat& X, arma::vec& y) : X(X), y(y) { } + + double EvaluateWithGradient(const arma::mat& theta, arma::mat& gradient) + { + const arma::vec tmp = X.t() * theta - y; + gradient = 2 * X * tmp; + return arma::dot(tmp,tmp); + } + + private: + + const arma::mat& X; + const arma::vec& y; +}; + + +int main(int argc, char** argv) +{ + if (argc < 3) + { + std::cout << "usage: " << argv[0] << " n_dims n_points" << std::endl; + return -1; + } + + int n_dims = atoi(argv[1]); + int n_points = atoi(argv[2]); + + // generate noisy dataset with a slight linear pattern + arma::mat X(n_dims, n_points, arma::fill::randu); + arma::vec y( n_points, arma::fill::randu); + + for (size_t i = 0; i < n_points; ++i) + { + double a = arma::randu(); + X(1, i) += a; + y(i) += a; + } + + LinearRegressionFunction lrf(X, y); + + // create a Limited-memory BFGS optimizer object with default parameters + ens::L_BFGS opt; + opt.MaxIterations() = 10; + + // initial point (uniform random) + arma::vec theta(n_dims, arma::fill::randu); + + opt.Optimize(lrf, theta); + + // theta now contains the optimized parameters + theta.print("theta:"); + + return 0; +} diff --git a/recipes/ensmallen/config.yml b/recipes/ensmallen/config.yml new file mode 100644 index 0000000000000..3af3934850762 --- /dev/null +++ b/recipes/ensmallen/config.yml @@ -0,0 +1,3 @@ +versions: + "2.19.1": + folder: all From ed0bbd04092bc05ac38ecd308a5cd65266f06aa6 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 23 Oct 2023 10:01:03 -0400 Subject: [PATCH 2217/4087] (#20474) libdwarf: Add v0.8.0 * Try to add v0.8.0 * Fix * Fixes * Add dwapi patch --- recipes/libdwarf/all/conandata.yml | 7 +++ .../all/patches/0.8.0-0001-fixes.patch | 57 +++++++++++++++++++ recipes/libdwarf/config.yml | 2 + 3 files changed, 66 insertions(+) create mode 100644 recipes/libdwarf/all/patches/0.8.0-0001-fixes.patch diff --git a/recipes/libdwarf/all/conandata.yml b/recipes/libdwarf/all/conandata.yml index 45a483876642a..6abc97da6d65a 100644 --- a/recipes/libdwarf/all/conandata.yml +++ b/recipes/libdwarf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.8.0.tar.gz" + sha256: "8ef0dbfb0816b02aac97b87426689ebaa4efb8ec2ca2c759ea34c5e4678dff3f" "0.7.0": url: "https://www.prevanders.net/libdwarf-0.7.0.tar.xz" sha256: "23b71829de875fa5842e49f232c8ee1a5043805749738bc61424d9abc1189f38" @@ -9,6 +12,10 @@ sources: url: "https://www.prevanders.net/libdwarf-20191104.tar.gz" sha256: "45f50a966314421b7dab525859853616df6c9680f0ccf2f44b030c505236eaba" patches: + "0.8.0": + - patch_file: "patches/0.8.0-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" "0.7.0": - patch_file: "patches/0.7.0-0001-fix-cmake.patch" patch_description: "use cci package, remove lib64/bin64 install folders" diff --git a/recipes/libdwarf/all/patches/0.8.0-0001-fixes.patch b/recipes/libdwarf/all/patches/0.8.0-0001-fixes.patch new file mode 100644 index 0000000000000..0393ff627c4ca --- /dev/null +++ b/recipes/libdwarf/all/patches/0.8.0-0001-fixes.patch @@ -0,0 +1,57 @@ +diff --git src/bin/dwarfdump/CMakeLists.txt src/bin/dwarfdump/CMakeLists.txt +index 1b8aa3ae..72819160 100644 +--- src/bin/dwarfdump/CMakeLists.txt ++++ src/bin/dwarfdump/CMakeLists.txt +@@ -65,7 +65,7 @@ target_compile_options(dwarfdump PRIVATE ${DW_FWALL}) + + target_link_libraries(dwarfdump PRIVATE ${dwarf-target} ${DW_FZLIB} ${DW_FZSTD} ) + +-if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) ++if(0) + set(SUFFIX 64) + endif() + set(LIBDIR lib${SUFFIX}) +diff --git src/lib/libdwarf/CMakeLists.txt src/lib/libdwarf/CMakeLists.txt +index 09908bba..a33f92c8 100644 +--- src/lib/libdwarf/CMakeLists.txt ++++ src/lib/libdwarf/CMakeLists.txt +@@ -109,7 +109,6 @@ foreach(i RANGE ${targetCount}) + + set_target_properties(${target} PROPERTIES OUTPUT_NAME dwarf) + +- set(SUFFIX $<$:64>) + set(LIBDIR lib${SUFFIX}) + set(BINDIR bin${SUFFIX}) + +@@ -119,7 +118,7 @@ foreach(i RANGE ${targetCount}) + ARCHIVE DESTINATION ${LIBDIR}) + endforeach() + +-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 +@@ -144,6 +143,6 @@ install( + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/dwarf.h + DESTINATION include/libdwarf) +-install( FILES ${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc +- DESTINATION lib/pkgconfig +-) ++#install( FILES ${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc ++# DESTINATION lib/pkgconfig ++#) +diff --git src/lib/libdwarf/libdwarf.h src/lib/libdwarf/libdwarf.h +index 9a0783e3..0bce4d09 100644 +--- src/lib/libdwarf/libdwarf.h ++++ 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/recipes/libdwarf/config.yml b/recipes/libdwarf/config.yml index 9d902d9eff520..2bad80aa2207b 100644 --- a/recipes/libdwarf/config.yml +++ b/recipes/libdwarf/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: all "0.7.0": folder: all "0.5.0": From e8189f4a6dcd975938536cc24382e5ac75df47df Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 23 Oct 2023 20:01:09 +0300 Subject: [PATCH 2218/4087] (#19982) spirv-cross: add new versions, remove old ones Kept only versions from the past year and versions currently in use in other recipes. --- recipes/spirv-cross/all/conandata.yml | 55 ++++--------------- .../0001-fix-bundle-install-20200403.patch | 11 ---- ...0001-fix-bundle-install-cci.20210621.patch | 13 ----- recipes/spirv-cross/config.yml | 30 +++------- 4 files changed, 20 insertions(+), 89 deletions(-) delete mode 100644 recipes/spirv-cross/all/patches/0001-fix-bundle-install-20200403.patch delete mode 100644 recipes/spirv-cross/all/patches/0001-fix-bundle-install-cci.20210621.patch diff --git a/recipes/spirv-cross/all/conandata.yml b/recipes/spirv-cross/all/conandata.yml index 62c01a02172b5..2a07ecd2c328d 100644 --- a/recipes/spirv-cross/all/conandata.yml +++ b/recipes/spirv-cross/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "1.3.261.1": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.261.1.tar.gz" + sha256: "a5cf99ed62e93800232e50b782890321d4d7e053dcaa71bd8efc0c48a00bd1dd" + "1.3.250.1": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.250.1.tar.gz" + sha256: "5b7402d7078eeffca0926875b1dcd0f5dd78791a30529de7c8456686f6fc52ce" + "1.3.246.1": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.246.1.tar.gz" + sha256: "44d1aef7e6e247b4b7ec6a1ef0bbb43cc9b681ee689393db90ac815d240808b1" "1.3.243.0": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.243.0.tar.gz" sha256: "549fff809de2b3484bcc5d710ccd76ca29cbd764dd304c3687252e2f3d034e06" @@ -11,59 +20,19 @@ sources: "1.3.231.1": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.231.1.tar.gz" sha256: "3b42f5b6e46b45600e09fd55234f59edb7cfca803e49d7830dc6fb5a086143b1" + "1.3.224.1": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.224.1.tar.gz" + sha256: "b7747a030427eaa11722c9781087c98a2fafbb030daafc7a7598f941082e4bc7" "1.3.224.0": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.224.0.tar.gz" sha256: "00256c33e235c5b9f0fc4b531fb9058d3cf1ff53e21e2db62cd8db848525536c" - "1.3.216.0": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.216.0.tar.gz" - sha256: "dd66ce2f9e6d3b9b8055662ac25172fa5559603f2f23c1a178c74f1602de8732" - "1.3.211.0": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.211.0.tar.gz" - sha256: "0f56755caa78765ab6c2467909c06dea63e6826ee824b496e73469c0d6a9d318" - "1.3.204.0": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.204.0.tar.gz" - sha256: "1b5a9b5b3b333411164fe29de1969d5b590d83891aad14eb49be3c41eccd9edf" - "cci.20211113": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/7c3cb0b12c9965497b08403c82ac1b82846fa7be.tar.gz" - sha256: "5bb6837e2b75db1a9e36e7d6eac40d905e3460ff3b5234f391adc6bdf6aadcdf" - "cci.20210930": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/97a438d214b24e4958ca137a18639670648cedd0.tar.gz" - sha256: "dd07ce3c261fe8c08dbfbb3dd274f35de50ea8610f57fe5de4fe2b782c4accbd" - "cci.20210823": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/0e2880ab990e79ce6cc8c79c219feda42d98b1e8.tar.gz" - sha256: "611cf4d30d88c48a4a04848a66ae4c5d3a63ccf965fd6017d9ea86ec5c7a088d" - "cci.20210621": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/9cdeefb5e322fc26b5fed70795fe79725648df1f.tar.gz" - sha256: "3742c24e7ccc09fce10e9d88c2f9a2e85f5142cc742be6df5cc3ba3f96defa92" "20210115": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/2021-01-15.tar.gz" sha256: "d700863b548cbc7f27a678cee305f561669a126eb2cc11d36a7023dfc462b9c4" - "20200917": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/2020-09-17.tar.gz" - sha256: "a3351742fe1fae9a15e91abbfb5314d96f5f77927ed07f55124d6df830ac97a7" - "20200629": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/2020-06-29.tar.gz" - sha256: "29523168867fcfa55b03a65970a8572be67e37accb08ce1051b2d3ae19011452" - "20200519": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/2020-05-19.tar.gz" - sha256: "6cf18ee3fe1a8d64a20da3c5fac334da4c4762d29d7e55a2f0b555cbf5cff708" - "20200403": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/2020-04-03.tar.gz" - sha256: "93f3a6dfad17c9ca0bf4d2d80809e90118e13b47502eb395baba8784025d7e97" patches: "1.3.236.0": - patch_file: "patches/1.3.236.0-0001-fix-gcc5.patch" patch_description: "Fix compilation with gcc-5" patch_type: "portability" - "cci.20210621": - - patch_file: "patches/0001-fix-bundle-install-cci.20210621.patch" "20210115": - patch_file: "patches/0001-fix-bundle-install-20210115.patch" - "20200917": - - patch_file: "patches/0001-fix-bundle-install-20200403.patch" - "20200629": - - patch_file: "patches/0001-fix-bundle-install-20200403.patch" - "20200519": - - patch_file: "patches/0001-fix-bundle-install-20200403.patch" - "20200403": - - patch_file: "patches/0001-fix-bundle-install-20200403.patch" diff --git a/recipes/spirv-cross/all/patches/0001-fix-bundle-install-20200403.patch b/recipes/spirv-cross/all/patches/0001-fix-bundle-install-20200403.patch deleted file mode 100644 index 9334dea225892..0000000000000 --- a/recipes/spirv-cross/all/patches/0001-fix-bundle-install-20200403.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -433,7 +433,7 @@ if (SPIRV_CROSS_CLI) - target_compile_definitions(spirv-cross PRIVATE ${spirv-compiler-defines} HAVE_SPIRV_CROSS_GIT_VERSION) - set_target_properties(spirv-cross PROPERTIES LINK_FLAGS "${spirv-cross-link-flags}") - if (NOT SPIRV_CROSS_SKIP_INSTALL) -- install(TARGETS spirv-cross RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ install(TARGETS spirv-cross DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - target_link_libraries(spirv-cross PRIVATE - spirv-cross-glsl diff --git a/recipes/spirv-cross/all/patches/0001-fix-bundle-install-cci.20210621.patch b/recipes/spirv-cross/all/patches/0001-fix-bundle-install-cci.20210621.patch deleted file mode 100644 index 1e4e265cd5154..0000000000000 --- a/recipes/spirv-cross/all/patches/0001-fix-bundle-install-cci.20210621.patch +++ /dev/null @@ -1,13 +0,0 @@ -fixed in https://github.com/KhronosGroup/SPIRV-Cross/pull/1706 - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -442,7 +442,7 @@ if (SPIRV_CROSS_CLI) - target_compile_definitions(spirv-cross PRIVATE ${spirv-compiler-defines} HAVE_SPIRV_CROSS_GIT_VERSION) - set_target_properties(spirv-cross PROPERTIES LINK_FLAGS "${spirv-cross-link-flags}") - if (NOT SPIRV_CROSS_SKIP_INSTALL) -- install(TARGETS spirv-cross RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ install(TARGETS spirv-cross DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - target_link_libraries(spirv-cross PRIVATE - spirv-cross-glsl diff --git a/recipes/spirv-cross/config.yml b/recipes/spirv-cross/config.yml index a557c0bb6d254..af1eddab3a5f0 100644 --- a/recipes/spirv-cross/config.yml +++ b/recipes/spirv-cross/config.yml @@ -1,4 +1,10 @@ versions: + "1.3.261.1": + folder: all + "1.3.250.1": + folder: all + "1.3.246.1": + folder: all "1.3.243.0": folder: all "1.3.239.0": @@ -7,29 +13,9 @@ versions: folder: all "1.3.231.1": folder: all - "1.3.224.0": - folder: all - "1.3.216.0": - folder: all - "1.3.211.0": - folder: all - "1.3.204.0": - folder: all - "cci.20211113": + "1.3.224.1": folder: all - "cci.20210930": - folder: all - "cci.20210823": - folder: all - "cci.20210621": + "1.3.224.0": folder: all "20210115": folder: all - "20200917": - folder: all - "20200629": - folder: all - "20200519": - folder: all - "20200403": - folder: all From 3f7251f994ea6cf68a9493719ae4d276a4859f44 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Oct 2023 04:53:31 +0900 Subject: [PATCH 2219/4087] (#20723) utf8proc: add version 2.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * utf8proc: add version 2.9.0 * Update recipes/utf8proc/all/conanfile.py * relocatable shared lib on macOS --------- Co-authored-by: Rubén Rincón Blanco --- recipes/utf8proc/all/conandata.yml | 3 +++ recipes/utf8proc/all/conanfile.py | 27 +++++++++------------------ recipes/utf8proc/config.yml | 2 ++ 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/recipes/utf8proc/all/conandata.yml b/recipes/utf8proc/all/conandata.yml index 2e408e9011b37..c31447372a280 100644 --- a/recipes/utf8proc/all/conandata.yml +++ b/recipes/utf8proc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.0": + url: "https://github.com/JuliaStrings/utf8proc/archive/v2.9.0.tar.gz" + sha256: "18c1626e9fc5a2e192311e36b3010bfc698078f692888940f1fa150547abb0c1" "2.8.0": url: "https://github.com/JuliaStrings/utf8proc/archive/v2.8.0.tar.gz" sha256: "a0a60a79fe6f6d54e7d411facbfcc867a6e198608f2cd992490e46f04b1bcecc" diff --git a/recipes/utf8proc/all/conanfile.py b/recipes/utf8proc/all/conanfile.py index 698e23be72ec9..39b2b7b1cced3 100644 --- a/recipes/utf8proc/all/conanfile.py +++ b/recipes/utf8proc/all/conanfile.py @@ -4,17 +4,17 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class Utf8ProcConan(ConanFile): name = "utf8proc" + description = "A clean C library for processing UTF-8 Unicode data" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/JuliaStrings/utf8proc" - description = "A clean C library for processing UTF-8 Unicode data" topics = ("utf", "utf8", "unicode", "text") - license = "MIT expat" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -31,28 +31,19 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") 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.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() def build(self): diff --git a/recipes/utf8proc/config.yml b/recipes/utf8proc/config.yml index 44b916f7f7e88..d7d36135481cf 100644 --- a/recipes/utf8proc/config.yml +++ b/recipes/utf8proc/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.0": + folder: all "2.8.0": folder: all "2.7.0": From b9b01a5cc0a3b01e32d99dae3e43f53727379d9d Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 24 Oct 2023 00:23:51 +0200 Subject: [PATCH 2220/4087] (#20743) [grpc] Build versions 1.50.x Signed-off-by: Uilian Ries --- recipes/grpc/all/conandata.yml | 10 +++++++ .../v1.50.x/001-disable-cppstd-override.patch | 26 +++++++++++++++++++ recipes/grpc/config.yml | 4 +++ 3 files changed, 40 insertions(+) create mode 100644 recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch diff --git a/recipes/grpc/all/conandata.yml b/recipes/grpc/all/conandata.yml index e714373e94d62..02c1ca609ebd2 100644 --- a/recipes/grpc/all/conandata.yml +++ b/recipes/grpc/all/conandata.yml @@ -2,10 +2,20 @@ sources: "1.54.3": url: "https://github.com/grpc/grpc/archive/v1.54.3.tar.gz" sha256: "17e4e1b100657b88027721220cbfb694d86c4b807e9257eaf2fb2d273b41b1b1" + "1.50.1": + url: "https://github.com/grpc/grpc/archive/v1.50.1.tar.gz" + sha256: "fb1ed98eb3555877d55eb2b948caca44bc8601c6704896594de81558639709ef" + "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.50.1": + - 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" diff --git a/recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch b/recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch new file mode 100644 index 0000000000000..fb952330fde1c --- /dev/null +++ b/recipes/grpc/all/patches/v1.50.x/001-disable-cppstd-override.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7052846..259fa93 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -227,21 +227,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/recipes/grpc/config.yml b/recipes/grpc/config.yml index 471303e99a287..0e75e172635d2 100644 --- a/recipes/grpc/config.yml +++ b/recipes/grpc/config.yml @@ -1,5 +1,9 @@ versions: "1.54.3": folder: "all" + "1.50.1": + folder: "all" + "1.50.0": + folder: "all" "1.48.4": folder: "all" From 79df127c562fe4890383881116f81265bf79c7e2 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 24 Oct 2023 03:14:02 +0200 Subject: [PATCH 2221/4087] (#20745) coin-cgl/all: bump deps * coin-cgl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * coin-cgl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * coin-cgl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * coin-cgl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/coin-cgl/all/conanfile.py | 4 ++-- recipes/coin-cgl/all/test_package/conanfile.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/coin-cgl/all/conanfile.py b/recipes/coin-cgl/all/conanfile.py index 8da58a4cb0487..df23309955a25 100644 --- a/recipes/coin-cgl/all/conanfile.py +++ b/recipes/coin-cgl/all/conanfile.py @@ -49,14 +49,14 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("coin-utils/2.11.6") + self.requires("coin-utils/2.11.9") self.requires("coin-osi/0.108.7") self.requires("coin-clp/1.17.7") def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/coin-cgl/all/test_package/conanfile.py b/recipes/coin-cgl/all/test_package/conanfile.py index af1af0ebb3d7f..7ab87ca07735c 100644 --- a/recipes/coin-cgl/all/test_package/conanfile.py +++ b/recipes/coin-cgl/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From dc4b95ed13bd67216e337620190180367248e517 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 24 Oct 2023 04:40:47 +0200 Subject: [PATCH 2222/4087] (#20753) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 949512077daea..ac0e9f9b7afa5 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -164,6 +164,7 @@ required_for_references: - clhep - cli11 - clickhouse-cpp +- clipboard_lite - clipper - clipper2 - clove-unit @@ -186,6 +187,7 @@ required_for_references: - continuable - coost - corrade +- cose-c - cotila - cpp-httplib - cpp-ipc @@ -401,6 +403,7 @@ required_for_references: - glfw - gli - glib +- glibmm - glm - glog - glpk @@ -480,6 +483,7 @@ required_for_references: - intel-neon2sse - intx - inversify-cpp +- iowow - iqa - irrxml - iso8601lib @@ -559,6 +563,7 @@ required_for_references: - libcuckoo - libcurl - libdaemon +- libdb - libdc1394 - libde265 - libdeflate @@ -652,7 +657,9 @@ required_for_references: - librttopo - libsafec - libsamplerate +- libsass - libschrift +- libseat - libsecret - libselinux - libserial @@ -700,6 +707,7 @@ required_for_references: - libxls - libxlsxwriter - libxml2 +- libxmlpp - libxpm - libxshmfence - libxslt @@ -789,6 +797,7 @@ required_for_references: - minizip - minizip-ng - mio +- mm_file - modern-cpp-kafka - moltenvk - mongo-c-driver @@ -876,6 +885,7 @@ required_for_references: - openal-soft - openapi-generator - openblas +- opencascade - opencl-clhpp-headers - opencl-headers - opencl-icd-loader @@ -1145,6 +1155,7 @@ required_for_references: - svgwrite - symengine - systemc +- systemc-cci - szip - tabulate - taglib @@ -1207,6 +1218,7 @@ required_for_references: - tracy - transwarp - trantor +- tre - tree-sitter - tree-sitter-c - troldal-zippy @@ -1227,6 +1239,7 @@ required_for_references: - tz - ua-nodeset - uchardet +- ulfius - uncrustify - uni-algo - unicorn From f980d34cb604ab63f05447aac3f4905d596bb31f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 24 Oct 2023 09:49:12 +0300 Subject: [PATCH 2223/4087] (#19096) acado: migrate to Conan v2, unvendor qpOASES-3 * acado: migrate to Conan v2, unvendor qpOASES-3 * acado: clean up a bit * acado: fix cmake_find_package support * acado: fixes * acado: remove logging for set env var Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/acado/all/CMakeLists.txt | 11 -- recipes/acado/all/cmake/qpoases.cmake | 8 +- recipes/acado/all/conandata.yml | 11 +- recipes/acado/all/conanfile.py | 181 ++++++++++-------- .../all/patches/0003-unvendor-qpoases3.patch | 40 ++++ recipes/acado/all/test_package/CMakeLists.txt | 16 +- recipes/acado/all/test_package/conanfile.py | 23 ++- .../acado/all/test_v1_package/CMakeLists.txt | 8 + .../acado/all/test_v1_package/conanfile.py | 19 ++ 9 files changed, 206 insertions(+), 111 deletions(-) delete mode 100644 recipes/acado/all/CMakeLists.txt create mode 100644 recipes/acado/all/patches/0003-unvendor-qpoases3.patch create mode 100644 recipes/acado/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/acado/all/test_v1_package/conanfile.py diff --git a/recipes/acado/all/CMakeLists.txt b/recipes/acado/all/CMakeLists.txt deleted file mode 100644 index bdffdd1faa9c7..0000000000000 --- a/recipes/acado/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(cmake_wrapper) - -set(CMAKE_CXX_STANDARD 11) - -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/cmake") - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/acado/all/cmake/qpoases.cmake b/recipes/acado/all/cmake/qpoases.cmake index d944291553890..c37969b71a13d 100644 --- a/recipes/acado/all/cmake/qpoases.cmake +++ b/recipes/acado/all/cmake/qpoases.cmake @@ -1,16 +1,16 @@ -SET( ACADO_QPOASES_EMBEDDED_SOURCES +SET( ACADO_QPOASES_EMBEDDED_SOURCES ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/Bounds.cpp - ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/CyclingManager.cpp + ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/CyclingManager.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/MessageHandling.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/QProblem.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/Utils.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/Constraints.cpp - ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/Indexlist.cpp + ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/Indexlist.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/QProblemB.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/SubjectTo.cpp ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC/EXTRAS/SolutionAnalysis.cpp ) -SET( ACADO_QPOASES_EMBEDDED_INC_DIRS +SET( ACADO_QPOASES_EMBEDDED_INC_DIRS ${CMAKE_CURRENT_LIST_DIR}/qpoases/ ${CMAKE_CURRENT_LIST_DIR}/qpoases/INCLUDE ${CMAKE_CURRENT_LIST_DIR}/qpoases/SRC diff --git a/recipes/acado/all/conandata.yml b/recipes/acado/all/conandata.yml index b0f501df26562..648b840430e1f 100644 --- a/recipes/acado/all/conandata.yml +++ b/recipes/acado/all/conandata.yml @@ -4,7 +4,10 @@ sources: sha256: "cf0779e64dd5d20989e97340c04ecccf542fe8d993c96b53e5c465693cb354b7" patches: "1.2.2-beta": - - base_path: "source_subfolder" - patch_file: "patches/0001-binding-temp-object.patch" - - base_path: "source_subfolder" - patch_file: "patches/0002-read-template-path-from-env.patch" + - patch_file: "patches/0001-binding-temp-object.patch" + - patch_file: "patches/0002-read-template-path-from-env.patch" + patch_description: "Get TEMPLATE_PATHS from envvar instead of hard-coding" + patch_type: "conan" + - patch_file: "patches/0003-unvendor-qpoases3.patch" + patch_description: "Replace vendored qpOASES-3 with Conan version" + patch_type: "conan" diff --git a/recipes/acado/all/conanfile.py b/recipes/acado/all/conanfile.py index d9e09e4b5548b..96a368dbfe81f 100644 --- a/recipes/acado/all/conanfile.py +++ b/recipes/acado/all/conanfile.py @@ -1,19 +1,24 @@ import os -import glob -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile, conan_version +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class AcadoConan(ConanFile): name = "acado" - description = "ACADO Toolkit is a software environment and algorithm collection for automatic control and dynamic optimization." + description = ("ACADO Toolkit is a software environment and algorithm " + "collection for automatic control and dynamic optimization.") license = "LGPL-3.0" - topics = ("conan", "acado", "control", "optimization", "mpc") - homepage = "https://github.com/acado/acado" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "cmake/qpoases.cmake", "patches/**"] - generators = "cmake" + homepage = "https://github.com/acado/acado" + topics = ("control", "optimization", "mpc") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,12 +30,11 @@ class AcadoConan(ConanFile): "fPIC": True, "codegen_only": True, } + short_paths = True - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) + copy(self, "cmake/qpoases.cmake", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -38,93 +42,120 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = glob.glob("acado-*/")[0] - os.rename(extracted_dir, self._source_subfolder) + self.options.rm_safe("fPIC") - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def layout(self): + cmake_layout(self, src_folder="src") - self._cmake.definitions["ACADO_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["ACADO_BUILD_STATIC"] = not self.options.shared + def requirements(self): + # Note: ACADO also separately vendors and exports qpOASES v1.3 for code generation. + self.requires("qpoases/3.2.1") - self._cmake.definitions["ACADO_WITH_EXAMPLES"] = False - self._cmake.definitions["ACADO_WITH_TESTING"] = False - self._cmake.definitions["ACADO_DEVELOPER"] = False - self._cmake.definitions["ACADO_INTERNAL"] = False - self._cmake.definitions["ACADO_BUILD_CGT_ONLY"] = self.options.codegen_only - - # ACADO logs 170.000 lines of warnings, so we disable them - self._cmake.definitions["CMAKE_C_FLAGS"] = "-w" - self._cmake.definitions["CMAKE_CXX_FLAGS"] = "-w" + def validate(self): + if is_msvc(self) and self.options.shared: + # https://github.com/acado/acado/blob/b4e28f3131f79cadfd1a001e9fff061f361d3a0f/CMakeLists.txt#L77-L80 + raise ConanInvalidConfiguration("Acado does not support shared builds on Windows.") + if self.settings.compiler == "apple-clang": + raise ConanInvalidConfiguration("apple-clang not supported") + if self.settings.compiler == "clang" and self.settings.compiler.version == "9": + raise ConanInvalidConfiguration("acado can not be built by Clang 9.") + if conan_version.major < 2 and self.settings.compiler in ["clang", "gcc"] and self.settings.compiler.libcxx != "libstdc++11": + raise ConanInvalidConfiguration("libstdc++11 required") - self._cmake.configure() - return self._cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ACADO_BUILD_SHARED"] = self.options.shared + tc.cache_variables["ACADO_BUILD_STATIC"] = not self.options.shared + tc.cache_variables["ACADO_BUILD_CGT_ONLY"] = self.options.codegen_only + tc.cache_variables["ACADO_WITH_EXAMPLES"] = False + tc.cache_variables["ACADO_WITH_TESTING"] = False + tc.cache_variables["ACADO_DEVELOPER"] = False + tc.cache_variables["ACADO_INTERNAL"] = False + # The build logs 170,000 lines of warnings otherwise + tc.variables["CMAKE_C_FLAGS"] = "-w" + tc.variables["CMAKE_CXX_FLAGS"] = "-w" + tc.variables["CMAKE_CXX_STANDARD"] = 11 + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + apply_conandata_patches(self) + # TODO: Use Eigen from Conan. Failed with static assert errors even if using matching eigen/3.2.0 version for some reason. + # rmdir(self, os.path.join(self.source_folder, "external_packages", "eigen3")) + # replace_in_file(self, os.path.join(self.source_folder, "acado/matrix_vector/matrix_vector_tools.hpp"), + # "external_packages/eigen3/", "") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() @property def _qpoases_sources(self): - return os.path.join("lib", "cmake", "qpoases") + return os.path.join(self.package_folder, "lib", "cmake", "qpoases") def package(self): - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() - cmake.install() + copy(self, "LICENSE.txt", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) - self.copy("*", src="lib", dst="lib") - self.copy("qpoases.cmake", src="cmake", dst="lib/cmake") - qpoases_sources_from = os.path.join(self.package_folder, "share", "acado", "external_packages", "qpoases") - self.copy("*", src=qpoases_sources_from, dst=self._qpoases_sources) + cmake = CMake(self) + cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.remove_files_by_mask(self.package_folder, "*.pdb") + if not self.options.shared: + # Copy internal static acado_casadi lib + copy(self, "*acado_casadi*", + src=os.path.join(self.build_folder, "lib"), + dst=os.path.join(self.package_folder, "lib"), + keep_path=False) + + # Copy embedded qpOASES v1.3 sources for code generation + copy(self, "qpoases.cmake", + src=os.path.join(self.export_sources_folder, "cmake"), + dst=os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "*", + src=os.path.join(self.package_folder, "share", "acado", "external_packages", "qpoases"), + dst=self._qpoases_sources) + + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", self.package_folder, recursive=True) + rm(self, "*.exp", self.package_folder, recursive=True) def package_info(self): - acado_template_paths = os.path.join(self.package_folder, "include", "acado", "code_generation", "templates") - self.output.info("Setting ACADO_TEMPLATE_PATHS environment variable: {}".format(acado_template_paths)) - self.env_info.ACADO_TEMPLATE_PATHS = acado_template_paths + self.cpp_info.set_property("cmake_file_name", "ACADO") + self.cpp_info.set_property("cmake_target_name", "ACADO::ACADO") if self.options.shared: - self.cpp_info.libs = ["acado_toolkit_s", "acado_casadi"] + self.cpp_info.libs = ["acado_toolkit_s"] else: self.cpp_info.libs = ["acado_toolkit", "acado_casadi"] - self.cpp_info.names["cmake_find_package"] = "ACADO" - self.cpp_info.names["cmake_find_package_multi"] = "ACADO" + self.cpp_info.includedirs.append(os.path.join("include", "acado")) - self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) - self.cpp_info.build_modules.append(os.path.join("lib", "cmake", "qpoases.cmake")) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") - self.cpp_info.includedirs.append(os.path.join("include", "acado")) - self.cpp_info.includedirs.append(self._qpoases_sources) - self.cpp_info.includedirs.append(os.path.join(self._qpoases_sources, "INCLUDE")) - self.cpp_info.includedirs.append(os.path.join(self._qpoases_sources, "SRC")) + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "qpoases.cmake")]) + self.cpp_info.includedirs += [ + self._qpoases_sources, + os.path.join(self._qpoases_sources, "INCLUDE"), + os.path.join(self._qpoases_sources, "SRC"), + ] - def validate(self): - if self.settings.compiler == "Visual Studio" and self.options.shared: - # https://github.com/acado/acado/blob/b4e28f3131f79cadfd1a001e9fff061f361d3a0f/CMakeLists.txt#L77-L80 - raise ConanInvalidConfiguration("Acado does not support shared builds on Windows.") - if self.settings.compiler == "apple-clang": - raise ConanInvalidConfiguration("apple-clang not supported") - if self.settings.compiler == "clang" and self.settings.compiler.version == "9": - raise ConanInvalidConfiguration("acado can not be built by Clang 9.") + acado_template_paths = os.path.join(self.package_folder, "include", "acado", "code_generation", "templates") + self.conf_info.define("user.acado:template_paths", acado_template_paths) + self.buildenv_info.define_path("ACADO_TEMPLATE_PATHS", acado_template_paths) - # acado requires libstdc++11 for shared builds - # https://github.com/conan-io/conan-center-index/pull/3967#issuecomment-752985640 - if self.options.shared and self.settings.compiler == "clang" and self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration("libstdc++11 required") - if self.options.shared and self.settings.compiler == "gcc" and self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration("libstdc++11 required") + # TODO: to remove in conan v2 + self.env_info.ACADO_TEMPLATE_PATHS = acado_template_paths + self.cpp_info.names["cmake_find_package"] = "ACADO" + self.cpp_info.names["cmake_find_package_multi"] = "ACADO" + self.cpp_info.build_modules["cmake_find_package"].append(os.path.join("lib", "cmake", "qpoases.cmake")) + self.cpp_info.build_modules["cmake_find_package_multi"].append(os.path.join("lib", "cmake", "qpoases.cmake")) diff --git a/recipes/acado/all/patches/0003-unvendor-qpoases3.patch b/recipes/acado/all/patches/0003-unvendor-qpoases3.patch new file mode 100644 index 0000000000000..fd5828c4a2a61 --- /dev/null +++ b/recipes/acado/all/patches/0003-unvendor-qpoases3.patch @@ -0,0 +1,40 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -25,7 +25,7 @@ + # + # Minimum required version of cmake + # +-CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) ++CMAKE_MINIMUM_REQUIRED( VERSION 3.15 ) + + # + # Project name and programming languages used +@@ -179,7 +179,6 @@ + ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/acado + ${PROJECT_SOURCE_DIR}/external_packages +- ${PROJECT_SOURCE_DIR}/external_packages/qpOASES-3.2.0/include + ${PROJECT_BINARY_DIR} + ) + +@@ -198,11 +197,6 @@ + ################################################################################ + + IF (NOT ACADO_BUILD_CGT_ONLY) +- # +- # Build qpOASES library +- # +- ADD_SUBDIRECTORY( ./external_packages/qpOASES-3.2.0 ) +- + # + # Build csparse library + # +@@ -378,7 +344,6 @@ + ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/acado + ${PROJECT_SOURCE_DIR}/external_packages +- ${PROJECT_SOURCE_DIR}/external_packages/qpOASES-3.2.0/include + ${PROJECT_BINARY_DIR} + ) + + CONFIGURE_FILE( diff --git a/recipes/acado/all/test_package/CMakeLists.txt b/recipes/acado/all/test_package/CMakeLists.txt index 29d9de3546c79..4aa2d543607d9 100644 --- a/recipes/acado/all/test_package/CMakeLists.txt +++ b/recipes/acado/all/test_package/CMakeLists.txt @@ -1,12 +1,13 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.15) project(test_package CXX C) -set(CMAKE_CXX_STANDARD 11) +if(NOT DEFINED ENV{ACADO_TEMPLATE_PATHS}) + message(FATAL_ERROR "ACADO_TEMPLATE_PATHS environment variable not set") +endif() -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) +set(CMAKE_CXX_STANDARD 11) -find_package(ACADO REQUIRED) +find_package(ACADO REQUIRED CONFIG) add_executable(codegen codegen.cpp) target_link_libraries(codegen PRIVATE ACADO::ACADO) @@ -30,10 +31,7 @@ add_custom_command( DEPENDS codegen) add_library(mpc_codegen STATIC ${codegen_GENERATED_FILES} ${ACADO_QPOASES_EMBEDDED_SOURCES}) -target_include_directories(mpc_codegen - SYSTEM PUBLIC - ${CODEGEN_DIR} - ${ACADO_QPOASES_EMBEDDED_INC_DIRS}) +target_include_directories(mpc_codegen PUBLIC ${CODEGEN_DIR} ${ACADO_QPOASES_EMBEDDED_INC_DIRS}) add_executable(test_package test_package.cpp) target_link_libraries(test_package PRIVATE mpc_codegen) diff --git a/recipes/acado/all/test_package/conanfile.py b/recipes/acado/all/test_package/conanfile.py index 3cdacb96b0c8c..7019a80802df9 100644 --- a/recipes/acado/all/test_package/conanfile.py +++ b/recipes/acado/all/test_package/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) - # FIXME: CCI infrastructure should provide cpu count input to avoid errors - cmake.parallel = False cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/acado/all/test_v1_package/CMakeLists.txt b/recipes/acado/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/acado/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/acado/all/test_v1_package/conanfile.py b/recipes/acado/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e34dbc52de848 --- /dev/null +++ b/recipes/acado/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi", "VirtualBuildEnv" + + def build(self): + cmake = CMake(self) + # FIXME: CCI infrastructure should provide cpu count input to avoid errors + cmake.parallel = False + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 3239a686f526ab1bf7fec3c75dbc343c7f1d8d52 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 24 Oct 2023 10:35:41 +0300 Subject: [PATCH 2224/4087] (#18889) serf: migrate to Conan v2 * serf: migrate to Conan v2 * serf: restore VirtualRunEnv in test_package * Update conanfile.py * use range for zlib * add LIBS * fix package * use aggregated_components for openssl * pass OPENSSL_LIBS in env * add libs if not msvc * add patch for zlib --------- Co-authored-by: czoido --- recipes/serf/all/CMakeLists.txt | 7 - recipes/serf/all/conandata.yml | 11 +- recipes/serf/all/conanfile.py | 202 ++++++++++-------- ...006-1.3.9-scons-fix-zlib-shared-name.patch | 19 ++ recipes/serf/all/test_package/CMakeLists.txt | 7 +- recipes/serf/all/test_package/conanfile.py | 22 +- .../serf/all/test_v1_package/CMakeLists.txt | 8 + recipes/serf/all/test_v1_package/conanfile.py | 18 ++ 8 files changed, 173 insertions(+), 121 deletions(-) delete mode 100644 recipes/serf/all/CMakeLists.txt create mode 100644 recipes/serf/all/patches/0006-1.3.9-scons-fix-zlib-shared-name.patch create mode 100644 recipes/serf/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/serf/all/test_v1_package/conanfile.py diff --git a/recipes/serf/all/CMakeLists.txt b/recipes/serf/all/CMakeLists.txt deleted file mode 100644 index a69305eb3971f..0000000000000 --- a/recipes/serf/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/serf/all/conandata.yml b/recipes/serf/all/conandata.yml index 10d6d086a2a84..6a0aa39d546ff 100644 --- a/recipes/serf/all/conandata.yml +++ b/recipes/serf/all/conandata.yml @@ -1,19 +1,12 @@ sources: "1.3.9": - url: [ - "https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2", - "https://github.com/apache/serf/archive/1.3.9.tar.gz", - ] + url: "https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2" sha256: "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc" patches: "1.3.9": - patch_file: "patches/0001-1.3.9-scons-python3.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-1.3.9-scons-respect-flags.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-1.3.9-scons-msvc.patch" - base_path: "source_subfolder" - patch_file: "patches/0004-1.3.9-scons-python-spaces.patch" - base_path: "source_subfolder" - patch_file: "patches/0005-1.3.9-serf-openssl-3.x.patch" - base_path: "source_subfolder" + - patch_file: "patches/0006-1.3.9-scons-fix-zlib-shared-name.patch" diff --git a/recipes/serf/all/conanfile.py b/recipes/serf/all/conanfile.py index 389e7ad59c4e3..ba3f81c9de9df 100644 --- a/recipes/serf/all/conanfile.py +++ b/recipes/serf/all/conanfile.py @@ -1,19 +1,28 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanException -from contextlib import contextmanager -import glob import os import re +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, load, mkdir, rm, rmdir, save +from conan.tools.gnu import AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, unix_path, msvs_toolset +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class SerfConan(ConanFile): name = "serf" - description = "The serf library is a high performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library." + description = ("The serf library is a high performance C-based HTTP client library " + "built upon the Apache Portable Runtime (APR) library.") license = "Apache-2.0" - topics = ("conan", "serf", "apache", "http", "library") - homepage = "https://serf.apache.org/" url = "https://github.com/conan-io/conan-center-index" - exports_sources = "patches/**" + homepage = "https://serf.apache.org/" + topics = ("apache", "http", "library") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,91 +33,100 @@ class SerfConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("apr-util/1.6.1") - self.requires("zlib/1.2.12") - self.requires("openssl/3.0.3") + self.requires("apr-util/1.6.1", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]") + self.requires("openssl/[>=1.1 <4]") def build_requirements(self): - self.build_requires("scons/4.3.0") + self.tool_requires("scons/4.3.0") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(glob.glob("serf-*")[0], self._source_subfolder) - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - pc_in = os.path.join(self._source_subfolder, "build", "serf.pc.in") - tools.save(pc_in, tools.load(pc_in)) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _cc(self): - if tools.get_env("CC"): - return tools.get_env("CC") - if tools.is_apple_os(self.settings.os): + if "CC" in os.environ: + return os.environ["CC"] + if is_apple_os(self): return "clang" - return { - "Visual Studio": "cl", - }.get(str(self.settings.compiler), str(self.settings.compiler)) + if is_msvc(self): + return "cl" + return str(self.settings.compiler) def _lib_path_arg(self, path): - argname = "LIBPATH:" if self.settings.compiler == "Visual Studio" else "L" - return "-{}'{}'".format(argname, path.replace("\\", "/")) - - @contextmanager - def _build_context(self): - extra_env = {} - if self.settings.compiler == "Visual Studio": - extra_env["OPENSSL_LIBS"] = ";".join("{}.lib".format(lib) for lib in self.deps_cpp_info["openssl"].libs) - with tools.environment_append(extra_env): - with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): - yield - - def build(self): - self._patch_sources() - autotools = AutoToolsBuildEnvironment(self) - args = ["-Y", os.path.join(self.source_folder, self._source_subfolder)] + argname = "LIBPATH:" if is_msvc(self) else "L" + return "-{}'{}'".format(argname, unix_path(self, path)) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + autotools = AutotoolsToolchain(self) + args = ["-Y", self.source_folder] + libdirs = sum([dep.cpp_info.libdirs for dep in self.dependencies.values()], []) + sharedlinkflags = sum([dep.cpp_info.sharedlinkflags for dep in self.dependencies.values()], []) + includedirs = sum([dep.cpp_info.includedirs for dep in self.dependencies.values()], []) + cflags = sum([dep.cpp_info.cflags for dep in self.dependencies.values()], []) + cflags += autotools.cflags + libs = sum([dep.cpp_info.libs for dep in self.dependencies.values()], []) + if self.options.get_safe("fPIC"): + cflags.append("-fPIC") kwargs = { - "APR": self.deps_cpp_info["apr"].rootpath.replace("\\", "/"), - "APU": self.deps_cpp_info["apr-util"].rootpath.replace("\\", "/"), - "OPENSSL": self.deps_cpp_info["openssl"].rootpath.replace("\\", "/"), - "PREFIX": self.package_folder.replace("\\", "/"), - "LIBDIR": os.path.join(self.package_folder, "lib").replace("\\", "/"), - "ZLIB": self.deps_cpp_info["zlib"].rootpath.replace("\\", "/"), + "APR": unix_path(self, self.dependencies["apr"].package_folder), + "APU": unix_path(self, self.dependencies["apr-util"].package_folder), + "OPENSSL": unix_path(self, self.dependencies["openssl"].package_folder), + "PREFIX": unix_path(self, self.package_folder), + "LIBDIR": unix_path(self, os.path.join(self.package_folder, "lib")), + "ZLIB": unix_path(self, self.dependencies["zlib"].package_folder), "DEBUG": self.settings.build_type == "Debug", - "APR_STATIC": not self.options["apr"].shared, - "CFLAGS": " ".join(self.deps_cpp_info.cflags + (["-fPIC"] if self.options.get_safe("fPIC") else []) + autotools.flags), - "LINKFLAGS": " ".join(self.deps_cpp_info.sharedlinkflags) + " " + " ".join(self._lib_path_arg(l) for l in self.deps_cpp_info.lib_paths), - "CPPFLAGS": " ".join("-D{}".format(d) for d in autotools.defines) + " " + " ".join("-I'{}'".format(inc.replace("\\", "/")) for inc in self.deps_cpp_info.include_paths), + "APR_STATIC": not self.dependencies["apr"].options.shared, + "CFLAGS": " ".join(cflags), + "LINKFLAGS": " ".join(sharedlinkflags + [self._lib_path_arg(l) for l in libdirs]), + "CPPFLAGS": " ".join([f"-D{d}" for d in autotools.defines] + [f"-I'{unix_path(self, inc)}'" for inc in includedirs]), "CC": self._cc, "SOURCE_LAYOUT": "False", } - if self.settings.compiler == "Visual Studio": - kwargs.update({ - "TARGET_ARCH": str(self.settings.arch), - "MSVC_VERSION": "{:.1f}".format(float(tools.msvs_toolset(self.settings).lstrip("v")) / 10), - }) + if is_msvc(self): + kwargs["TARGET_ARCH"] = str(self.settings.arch) + kwargs["MSVC_VERSION"] = "{:.1f}".format(float(msvs_toolset(self).lstrip("v")) / 10) + kwargs["ZLIB_LIBNAME"] = f"{self.dependencies['zlib'].cpp_info.libs[0]}" + env = Environment() + env.define("OPENSSL_LIBS", os.pathsep.join(f"{lib}.lib" for lib in self.dependencies["openssl"].cpp_info.aggregated_components().libs)) + env.vars(self).save_script("conanbuild_msvc") + else: + kwargs["LIBS"] = " ".join(libs) + + escape_str = lambda x: f'"{x}"' + scons_args = " ".join([escape_str(s) for s in args] + [f"{k}={escape_str(v)}" for k, v in kwargs.items()]) + save(self, os.path.join(self.source_folder, "scons_args"), scons_args) - escape_str = lambda x : "\"{}\"".format(x) - with tools.chdir(self._source_subfolder): - with self._build_context(): - self.run("scons {} {}".format(" ".join(escape_str(s) for s in args), " ".join("{}={}".format(k, escape_str(v)) for k, v in kwargs.items())), run_environment=True) + def _patch_sources(self): + apply_conandata_patches(self) + pc_in = os.path.join(self.source_folder, "build", "serf.pc.in") + save(self, pc_in, load(self, pc_in)) + + def build(self): + self._patch_sources() + with chdir(self, self.source_folder): + self.run("scons {}".format(load(self, "scons_args"))) @property def _static_ext(self): @@ -116,50 +134,46 @@ def _static_ext(self): @property def _shared_ext(self): - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): return "dylib" - return { - "Windows": "dll", - }.get(str(self.settings.os), "so") + if self.settings.os == "Windows": + return "dll" + return "so" + + @property + def _version_major(self): + return Version(self.version).major def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - with tools.chdir(self._source_subfolder): - with self._build_context(): - self.run("scons install -Y \"{}\"".format(os.path.join(self.source_folder, self._source_subfolder)), run_environment=True) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + self.run(f'scons install -Y "{self.source_folder}"') - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) if self.settings.os == "Windows": - for file in glob.glob(os.path.join(self.package_folder, "lib", "*.exp")): - os.unlink(file) - for file in glob.glob(os.path.join(self.package_folder, "lib", "*.pdb")): - os.unlink(file) + rm(self, "*.exp", os.path.join(self.package_folder, "lib"), recursive=True) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib"), recursive=True) if self.options.shared: - for file in glob.glob(os.path.join(self.package_folder, "lib", "serf-{}.*".format(self._version_major))): - os.unlink(file) - tools.mkdir(os.path.join(self.package_folder, "bin")) - os.rename(os.path.join(self.package_folder, "lib", "libserf-{}.dll".format(self._version_major)), - os.path.join(self.package_folder, "bin", "libserf-{}.dll".format(self._version_major))) + rm(self, f"serf-{self._version_major}.*", os.path.join(self.package_folder, "lib"), recursive=True) + mkdir(self, os.path.join(self.package_folder, "bin")) + os.rename(os.path.join(self.package_folder, "lib", f"libserf-{self._version_major}.dll"), + os.path.join(self.package_folder, "bin", f"libserf-{self._version_major}.dll")) else: - for file in glob.glob(os.path.join(self.package_folder, "lib", "libserf-{}.*".format(self._version_major))): - os.unlink(file) + rm(self, f"libserf-{self._version_major}.*", os.path.join(self.package_folder, "lib"), recursive=True) else: ext_to_remove = self._static_ext if self.options.shared else self._shared_ext for fn in os.listdir(os.path.join(self.package_folder, "lib")): if any(re.finditer("\\.{}(\.?|$)".format(ext_to_remove), fn)): os.unlink(os.path.join(self.package_folder, "lib", fn)) - @property - def _version_major(self): - return self.version.split(".", 1)[0] - def package_info(self): libprefix = "" if self.settings.os == "Windows" and self.options.shared: libprefix = "lib" - libname = "{}serf-{}".format(libprefix, self._version_major) + version_major = Version(self.version).major + libname = f"{libprefix}serf-{version_major}" self.cpp_info.libs = [libname] - self.cpp_info.includedirs.append(os.path.join("include", "serf-{}".format(self._version_major))) - self.cpp_info.names["pkg_config"] = libname + self.cpp_info.includedirs.append(os.path.join("include", f"serf-{version_major}")) + self.cpp_info.set_property("pkg_config_name", libname) if self.settings.os == "Windows": self.cpp_info.system_libs = ["user32", "advapi32", "gdi32", "ws2_32", "crypt32", "mswsock", "rpcrt4", "secur32"] diff --git a/recipes/serf/all/patches/0006-1.3.9-scons-fix-zlib-shared-name.patch b/recipes/serf/all/patches/0006-1.3.9-scons-fix-zlib-shared-name.patch new file mode 100644 index 0000000000000..144bdf9d5c3cc --- /dev/null +++ b/recipes/serf/all/patches/0006-1.3.9-scons-fix-zlib-shared-name.patch @@ -0,0 +1,19 @@ +--- SConstruct 2015-09-17 14:46:24.000000000 +0200 ++++ SConstruct 2023-10-23 12:11:41.087125000 +0200 +@@ -117,6 +117,7 @@ + None), + RawListVariable('CPPFLAGS', "Extra flags for the C preprocessor " + "(space separated)", None), ++ RawListVariable('ZLIB_LIBNAME', 'Name of the zlib library file', 'zlib.lib'), + ) + + if sys.platform == 'win32': +@@ -326,7 +327,7 @@ + CPPPATH=['$APR/include', '$APU/include']) + + # zlib +- env.Append(LIBS=['zlib.lib']) ++ env.Append(LIBS=[env['ZLIB_LIBNAME'][0]]) + if not env.get('SOURCE_LAYOUT', None): + env.Append(CPPPATH=['$ZLIB/include'], + LIBPATH=['$ZLIB/lib']) diff --git a/recipes/serf/all/test_package/CMakeLists.txt b/recipes/serf/all/test_package/CMakeLists.txt index f8b971e2db377..6423a8f84e174 100644 --- a/recipes/serf/all/test_package/CMakeLists.txt +++ b/recipes/serf/all/test_package/CMakeLists.txt @@ -1,8 +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() +find_package(serf REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE serf::serf) diff --git a/recipes/serf/all/test_package/conanfile.py b/recipes/serf/all/test_package/conanfile.py index 4aebe114eeb59..ef5d7042163ec 100644 --- a/recipes/serf/all/test_package/conanfile.py +++ b/recipes/serf/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/serf/all/test_v1_package/CMakeLists.txt b/recipes/serf/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/serf/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/serf/all/test_v1_package/conanfile.py b/recipes/serf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3f4a9f50f389e --- /dev/null +++ b/recipes/serf/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e8851bc355355214392daea47cb74a5f16ae6ca3 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 24 Oct 2023 10:02:13 +0200 Subject: [PATCH 2225/4087] (#20746) [bot] Update authorized users list (2023-10-23) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 1d459fba180a9..df103c0b32535 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1249,3 +1249,6 @@ authorized_users: - thbeu - HypoYoung - technoyes +- Subash-Lamichhane +- rezvee6 +- SpiffGreen From 416f1ba5c8c1d03aa6aaeb39177a048299328c3d Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 24 Oct 2023 03:19:34 -0500 Subject: [PATCH 2226/4087] (#20623) directx-headers: Add recipe * directx-headers: Add recipe This recipe is for the [DirectX-Headers](https://github.com/microsoft/DirectX-Headers/) library. These are the official Direct3D 12 headers. Add versions 1.610.2 and 1.711.3-preview. * Remove header-only * Drop preview version * Set the default minimum C++ standard to 11 to support constexpr * Require cppstd * Add minimum compiler versions --- recipes/directx-headers/all/conandata.yml | 4 + recipes/directx-headers/all/conanfile.py | 87 +++++++++++++++++++ .../all/test_package/conanfile.py | 32 +++++++ .../all/test_package/meson.build | 5 ++ .../all/test_package/test_package.cpp | 7 ++ recipes/directx-headers/config.yml | 3 + 6 files changed, 138 insertions(+) create mode 100644 recipes/directx-headers/all/conandata.yml create mode 100644 recipes/directx-headers/all/conanfile.py create mode 100644 recipes/directx-headers/all/test_package/conanfile.py create mode 100644 recipes/directx-headers/all/test_package/meson.build create mode 100644 recipes/directx-headers/all/test_package/test_package.cpp create mode 100644 recipes/directx-headers/config.yml diff --git a/recipes/directx-headers/all/conandata.yml b/recipes/directx-headers/all/conandata.yml new file mode 100644 index 0000000000000..6289c24e10856 --- /dev/null +++ b/recipes/directx-headers/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "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/all/conanfile.py b/recipes/directx-headers/all/conanfile.py new file mode 100644 index 0000000000000..773848c7bfa5b --- /dev/null +++ b/recipes/directx-headers/all/conanfile.py @@ -0,0 +1,87 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.52.0" + + +class DirectXHeadersConan(ConanFile): + name = "directx-headers" + description = "Headers for using D3D12" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/microsoft/DirectX-Headers" + topics = ("3d", "d3d", "d3d12", "direct", "direct3d", "directx", "graphics") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 11 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "5", + "gcc": "6", + "msvc": "191", + "Visual Studio": "15", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if not self.settings.os in ["Linux", "Windows"]: + raise ConanInvalidConfiguration(f"{self.name} is not supported on {self.settings.os}") + 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): + self.tool_requires("meson/1.2.2") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["build-test"] = False + tc.generate() + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + if self.settings.os == "Linux" or self.settings.get_safe("os.subsystem") == "wsl": + self.cpp_info.includedirs.append(os.path.join("include", "wsl", "stubs")) + self.cpp_info.libs = ["d3dx12-format-properties", "DirectX-Guids"] + self.cpp_info.set_property("cmake_file_name", "DirectX-Headers") + self.cpp_info.set_property("cmake_target_name", "Microsoft::DirectX-Headers") + self.cpp_info.set_property("pkg_config_name", "DirectX-Headers") + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("d3d12") + if self.settings.compiler == "msvc": + self.cpp_info.system_libs.append("dxcore") diff --git a/recipes/directx-headers/all/test_package/conanfile.py b/recipes/directx-headers/all/test_package/conanfile.py new file mode 100644 index 0000000000000..5aab0703e7a4e --- /dev/null +++ b/recipes/directx-headers/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.2") + 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/directx-headers/all/test_package/meson.build b/recipes/directx-headers/all/test_package/meson.build new file mode 100644 index 0000000000000..76e32d2ca901b --- /dev/null +++ b/recipes/directx-headers/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'cpp') +package_dep = dependency('DirectX-Headers') +executable('test_package', + sources : ['test_package.cpp'], + dependencies : [package_dep]) diff --git a/recipes/directx-headers/all/test_package/test_package.cpp b/recipes/directx-headers/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..274bb2436bb72 --- /dev/null +++ b/recipes/directx-headers/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() +{ + return sizeof(IID_IUnknown) == 0; +} diff --git a/recipes/directx-headers/config.yml b/recipes/directx-headers/config.yml new file mode 100644 index 0000000000000..15678ab870488 --- /dev/null +++ b/recipes/directx-headers/config.yml @@ -0,0 +1,3 @@ +versions: + "1.610.2": + folder: all From 6a10ae657f2ec0d5f71e3ab848f183364d2dfb4e Mon Sep 17 00:00:00 2001 From: David Ledger <68693576+seppeon@users.noreply.github.com> Date: Tue, 24 Oct 2023 23:02:36 +1100 Subject: [PATCH 2227/4087] (#20739) SDL EXTRA_CFLAGS variable had invalid escape sequences, resolve them Convert the slash. --- recipes/sdl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index b9d8b0a0cf837..56e164e58a14f 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -328,7 +328,7 @@ def define_toolchain(self): tc.variables["EXTRA_LDFLAGS"] = ";".join(cmake_extra_ldflags) tc.variables["CMAKE_REQUIRED_INCLUDES"] = ";".join(cmake_required_includes) cmake_extra_cflags = ["-I{}".format(path) for _, dep in self.dependencies.items() for path in dep.cpp_info.includedirs] - tc.variables["EXTRA_CFLAGS"] = ";".join(cmake_extra_cflags) + tc.variables["EXTRA_CFLAGS"] = ";".join(cmake_extra_cflags).replace(os.sep, '/') tc.variables["EXTRA_LIBS"] = ";".join(cmake_extra_libs) tc.generate() From a587e732fabdd0c2c79d2f271f3d02abda562809 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Oct 2023 21:14:09 +0900 Subject: [PATCH 2228/4087] (#20736) signals-light: add recipe --- recipes/signals-light/all/conandata.yml | 4 ++ recipes/signals-light/all/conanfile.py | 65 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../all/test_package/conanfile.py | 26 ++++++++ .../all/test_package/test_package.cpp | 10 +++ recipes/signals-light/config.yml | 3 + 6 files changed, 116 insertions(+) create mode 100644 recipes/signals-light/all/conandata.yml create mode 100644 recipes/signals-light/all/conanfile.py create mode 100644 recipes/signals-light/all/test_package/CMakeLists.txt create mode 100644 recipes/signals-light/all/test_package/conanfile.py create mode 100644 recipes/signals-light/all/test_package/test_package.cpp create mode 100644 recipes/signals-light/config.yml diff --git a/recipes/signals-light/all/conandata.yml b/recipes/signals-light/all/conandata.yml new file mode 100644 index 0000000000000..6255a706e185e --- /dev/null +++ b/recipes/signals-light/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20210616": + url: "https://github.com/a-n-t-h-o-n-y/signals-light/archive/1070e931d20e6d0bf6dacfdca7c2b6094975fb16.tar.gz" + sha256: "b1dfcd5dced5b8e6aef066bc8f5d541f1122a4b807911bfb77b3ed0f4b2d4fec" diff --git a/recipes/signals-light/all/conanfile.py b/recipes/signals-light/all/conanfile.py new file mode 100644 index 0000000000000..c2bd67ed6c42a --- /dev/null +++ b/recipes/signals-light/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class SignalsLightConan(ConanFile): + name = "signals-light" + description = "Lightweight Signals & Slots Library" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/a-n-t-h-o-n-y/signals-light/" + topics = ("signals", "slot", "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, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/signals-light/all/test_package/CMakeLists.txt b/recipes/signals-light/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d1721523eaa2c --- /dev/null +++ b/recipes/signals-light/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(signals-light REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE signals-light::signals-light) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/signals-light/all/test_package/conanfile.py b/recipes/signals-light/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/signals-light/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/signals-light/all/test_package/test_package.cpp b/recipes/signals-light/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..94e057ccb6137 --- /dev/null +++ b/recipes/signals-light/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include "signals_light/signal.hpp" + +int main(void) { + auto signal = sl::Signal{}; + signal.connect([](int i){ std::cout << i << '\n'; }); + signal.connect([](int i){ std::cout << i * 2 << '\n'; }); + + signal(4); // prints "4\n8\n" to standard output. +} diff --git a/recipes/signals-light/config.yml b/recipes/signals-light/config.yml new file mode 100644 index 0000000000000..cbec618d4f846 --- /dev/null +++ b/recipes/signals-light/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20210616": + folder: all From d4d65f5a33c21d143c0805393ac68a1e01ea4046 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Oct 2023 21:34:18 +0900 Subject: [PATCH 2229/4087] (#20730) stringzilla: add version 2.0.1 * stringzilla: add version 2.0.1 * add end line --- recipes/stringzilla/all/conandata.yml | 3 ++ .../all/test_package/CMakeLists.txt | 3 ++ .../all/test_package/test_package.cpp | 30 ++++++++++++++++++- recipes/stringzilla/config.yml | 2 ++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index 413ad483bbe6e..99f4cab53f768 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.1.tar.gz" + sha256: "804baa0ed8bb530de25390b21d5d51059644d5b1306364edf948c27157029793" "1.2.2": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v1.2.2.tar.gz" sha256: "2e17c49965841647a1c371247f53b2f576e5fb32fe4b84a080d425b12f17703c" diff --git a/recipes/stringzilla/all/test_package/CMakeLists.txt b/recipes/stringzilla/all/test_package/CMakeLists.txt index c0e457af6c08c..6769ff716eab8 100644 --- a/recipes/stringzilla/all/test_package/CMakeLists.txt +++ b/recipes/stringzilla/all/test_package/CMakeLists.txt @@ -6,3 +6,6 @@ find_package(stringzilla REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE stringzilla::stringzilla) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(stringzilla_VERSION VERSION_LESS 2.0) + target_compile_definitions(${PROJECT_NAME} PRIVATE STRINGZILLA_LESS_2_0) +endif() diff --git a/recipes/stringzilla/all/test_package/test_package.cpp b/recipes/stringzilla/all/test_package/test_package.cpp index 6725fc782db3f..c5ffe699dbc06 100644 --- a/recipes/stringzilla/all/test_package/test_package.cpp +++ b/recipes/stringzilla/all/test_package/test_package.cpp @@ -2,6 +2,8 @@ #include #include "stringzilla.h" +#ifdef STRINGZILLA_LESS_2_0 + int main(void) { // Initialize your haystack and needle strzl_haystack_t haystack = { @@ -20,5 +22,31 @@ int main(void) { // Find a substring like it's Waldo 🕵️‍♂️ size_t substring_position = strzl_naive_find_substr(haystack, needle); - return EXIT_SUCCESS; + return EXIT_SUCCESS; +} + +#else + +int main(void) { + // Initialize your haystack and needle + sz_string_view_t haystack = { + "Fastest string sort, search, split, " + "and shuffle for long strings and multi-gigabyte files in Python and C, " + "leveraging SIMD with Arm Neon and x86 AVX2 & AVX-512 intrinsics.", + 171}; + sz_string_view_t needle = {"SIMD", 4}; + + // Perform string-level operations + sz_size_t character_count = sz_count_char(haystack.start, haystack.length, "a"); + sz_string_start_t substring_position = sz_find_substring( + haystack.start, haystack.length, + needle.start, needle.length + ); + + // Hash strings + sz_u32_t crc32 = sz_hash_crc32(haystack.start, haystack.length); + + return EXIT_SUCCESS; } + +#endif diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index a86fcfcd6fd28..1c8c15b143b3d 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "1.2.2": folder: all "1.1.3": From a824b1181db56411d683ecc85299f910948788a5 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 24 Oct 2023 16:19:55 +0200 Subject: [PATCH 2230/4087] (#17276) [qtawesome/6.4.0] Add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [qtawesome/6.4.0] Add recipe * Forcing CMAKE_CXX_STANDARD * Remove unused package cleanup and infos * Fix license file name * Add install target to CMakeLists.txt * Add patch including header files to CMakeLists.txt * Set the target name to qtawesome::qtawesome (not sure why but it links) * Use QApplication in test_package.cpp * Fix linter warnings * Force qt to shared * Disable Linux support for qtawesome * Set CMAKE_CXX_STANDARD to minimum CPP standard if it is not already set * Update recipes/qtawesome/all/conanfile.py * Add transitive_libs=True * Apply suggestions from code review Co-authored-by: Francisco Ramírez Co-authored-by: Uilian Ries * Remove test_v1_package * Update recipes/qtawesome/all/conanfile.py * fix uic qt execution * Update recipes/qtawesome/all/conanfile.py Co-authored-by: Francisco Ramírez * Revert "Update recipes/qtawesome/all/conanfile.py" This reverts commit 0feee2a341b0cdc7624d40f580d88bfaea9a9c72. --------- Co-authored-by: Uilian Ries Co-authored-by: Francisco Ramírez Co-authored-by: Daniel --- recipes/qtawesome/all/conandata.yml | 14 +++ recipes/qtawesome/all/conanfile.py | 106 ++++++++++++++++++ .../all/patches/0001-add-install.patch | 23 ++++ .../all/patches/0002-ce7784e-add-header.patch | 23 ++++ .../qtawesome/all/test_package/CMakeLists.txt | 9 ++ .../qtawesome/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 8 ++ recipes/qtawesome/config.yml | 3 + 8 files changed, 212 insertions(+) create mode 100644 recipes/qtawesome/all/conandata.yml create mode 100644 recipes/qtawesome/all/conanfile.py create mode 100644 recipes/qtawesome/all/patches/0001-add-install.patch create mode 100644 recipes/qtawesome/all/patches/0002-ce7784e-add-header.patch create mode 100644 recipes/qtawesome/all/test_package/CMakeLists.txt create mode 100644 recipes/qtawesome/all/test_package/conanfile.py create mode 100644 recipes/qtawesome/all/test_package/test_package.cpp create mode 100644 recipes/qtawesome/config.yml diff --git a/recipes/qtawesome/all/conandata.yml b/recipes/qtawesome/all/conandata.yml new file mode 100644 index 0000000000000..f5b2397c54cc5 --- /dev/null +++ b/recipes/qtawesome/all/conandata.yml @@ -0,0 +1,14 @@ +sources: + "6.4.0": + url: "https://github.com/gamecreature/QtAwesome/archive/font-awesome-6.4.0.tar.gz" + sha256: "4310aba189e0bba4090997ecfefe27c2c7595aa499b790389dabdce5b4e54f5a" +patches: + "6.4.0": + - patch_file: "patches/0001-add-install.patch" + patch_description: "Add install target to CMakeLists.txt" + patch_type: "bugfix" + patch_source: "https://github.com/gamecreature/QtAwesome/pull/52" + - patch_file: "patches/0002-ce7784e-add-header.patch" + patch_description: "Add header to CMakeLists.txt" + patch_type: "bugfix" + patch_source: "https://github.com/gamecreature/QtAwesome/pull/50" diff --git a/recipes/qtawesome/all/conanfile.py b/recipes/qtawesome/all/conanfile.py new file mode 100644 index 0000000000000..915710817d984 --- /dev/null +++ b/recipes/qtawesome/all/conanfile.py @@ -0,0 +1,106 @@ +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.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualRunEnv +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 QtAwesomeConan(ConanFile): + name = "qtawesome" + description = "Font Awesome for Qt Applications" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/gamecreature/QtAwesome" + # no "conan" and project name in topics. Use topics from the upstream listed on GH + topics = ("font", "icons", "qt") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + # FIXME: we shouldn't have to force shared in qt, but config file + # generated by conan in qt static is likely broken, or maybe env vars. + self.options["qt"].shared = True + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("qt/5.15.9", transitive_headers=True, transitive_libs=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if self.settings.os == "Linux": + raise ConanInvalidConfiguration("Linux is not supported yet") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if not self.settings.compiler.cppstd: + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + vre = VirtualRunEnv(self) + vre.generate(scope="build") + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE.md", 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 = ["QtAwesome"] diff --git a/recipes/qtawesome/all/patches/0001-add-install.patch b/recipes/qtawesome/all/patches/0001-add-install.patch new file mode 100644 index 0000000000000..b3851eb38d11e --- /dev/null +++ b/recipes/qtawesome/all/patches/0001-add-install.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 94b36d7..f92ec26 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,3 +23,18 @@ target_include_directories(QtAwesome + target_link_libraries(QtAwesome PUBLIC + Qt${QT_VERSION_MAJOR}::Widgets + ) ++ ++install(TARGETS QtAwesome ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++ ++install(FILES ++ QtAwesome/QtAwesome.h ++ QtAwesome/QtAwesomeAnim.h ++ QtAwesome/QtAwesomeEnumGenerated.h ++ QtAwesome/QtAwesomeStringGenerated.h ++ DESTINATION include ++ ) ++ diff --git a/recipes/qtawesome/all/patches/0002-ce7784e-add-header.patch b/recipes/qtawesome/all/patches/0002-ce7784e-add-header.patch new file mode 100644 index 0000000000000..1dc32834b35c8 --- /dev/null +++ b/recipes/qtawesome/all/patches/0002-ce7784e-add-header.patch @@ -0,0 +1,23 @@ +commit d0398003e820300f902263e67ec06afbdef90c7c +Author: Martin Delille +Date: Fri Mar 31 18:32:51 2023 +0200 + + Add headers to CMakeLists.txt + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f92ec26..93f030d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,8 +11,12 @@ set(CMAKE_AUTORCC ON) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + add_library(QtAwesome ++ QtAwesome/QtAwesome.h + QtAwesome/QtAwesome.cpp ++ QtAwesome/QtAwesomeAnim.h + QtAwesome/QtAwesomeAnim.cpp ++ QtAwesome/QtAwesomeEnumGenerated.h ++ QtAwesome/QtAwesomeStringGenerated.h + QtAwesome/QtAwesomeFree.qrc + ) + diff --git a/recipes/qtawesome/all/test_package/CMakeLists.txt b/recipes/qtawesome/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4a085bcb1915d --- /dev/null +++ b/recipes/qtawesome/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(QtAwesome REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE qtawesome::qtawesome) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/qtawesome/all/test_package/conanfile.py b/recipes/qtawesome/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/qtawesome/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/qtawesome/all/test_package/test_package.cpp b/recipes/qtawesome/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..cca63995ee056 --- /dev/null +++ b/recipes/qtawesome/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include "QtAwesome.h" + +int main(void) { + fa::QtAwesome awesome(nullptr); + awesome.font(10, 12); + + return EXIT_SUCCESS; +} diff --git a/recipes/qtawesome/config.yml b/recipes/qtawesome/config.yml new file mode 100644 index 0000000000000..773fa8e42ed56 --- /dev/null +++ b/recipes/qtawesome/config.yml @@ -0,0 +1,3 @@ +versions: + "6.4.0": + folder: all From b6094c241ccff44ea0d21ccc2b3189e1036ec960 Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Tue, 24 Oct 2023 16:29:55 +0200 Subject: [PATCH 2231/4087] (#19460) Add ohnet * Add ohNet * Add ohNet test package * Add rsync dependency * Update conanfile.py * Update conanfile.py * Update conanfile.py * Add system libraries * Fix v1 package * Fix clang usage * Fix empty flags * Fix libc++ on Linux * Fix CMake configuration for both versions * Revert test_package * Update test_v1_package * Add source file to nmake * Add system_libs for Windows * Fix Windows builds * Use new import * Update conanfile.py * Update conanfile.py * Simplify tests * Compatibility with older Clang * Add builddirs * Remove test_v1_package * Add new ohNet version * Update version * Update the patches * Update recipes/ohnet/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/ohnet/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/ohnet/all/conandata.yml | 9 + recipes/ohnet/all/conanfile.py | 149 ++++++++++++ .../all/patches/0001-makefile-universal.patch | 220 ++++++++++++++++++ recipes/ohnet/all/test_package/CMakeLists.txt | 8 + recipes/ohnet/all/test_package/conanfile.py | 26 +++ .../ohnet/all/test_package/test_package.cpp | 12 + recipes/ohnet/config.yml | 3 + 7 files changed, 427 insertions(+) create mode 100644 recipes/ohnet/all/conandata.yml create mode 100755 recipes/ohnet/all/conanfile.py create mode 100644 recipes/ohnet/all/patches/0001-makefile-universal.patch create mode 100644 recipes/ohnet/all/test_package/CMakeLists.txt create mode 100644 recipes/ohnet/all/test_package/conanfile.py create mode 100644 recipes/ohnet/all/test_package/test_package.cpp create mode 100644 recipes/ohnet/config.yml diff --git a/recipes/ohnet/all/conandata.yml b/recipes/ohnet/all/conandata.yml new file mode 100644 index 0000000000000..7e45066c8f010 --- /dev/null +++ b/recipes/ohnet/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.36.5182": + url: "https://github.com/openhome/ohNet/archive/refs/tags/ohNet_1.36.5182.tar.gz" + sha256: "1489407b9bae13affa8f933a81fb5a43f16b29f5bf8048b68ea645afc0e53ced" +patches: + "1.36.5182": + - patch_file: "patches/0001-makefile-universal.patch" + patch_description: "Reduce gcc-centricity in Makefile" + patch_type: "conan" diff --git a/recipes/ohnet/all/conanfile.py b/recipes/ohnet/all/conanfile.py new file mode 100755 index 0000000000000..ad2031f5acf6b --- /dev/null +++ b/recipes/ohnet/all/conanfile.py @@ -0,0 +1,149 @@ +from conan import ConanFile +from conan.tools.files import get, chdir, copy, mkdir, export_conandata_patches, apply_conandata_patches +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, NMakeToolchain +from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.53.0" + + +class OhNetConan(ConanFile): + name = "ohnet" + description = "OpenHome Networking (ohNet) is a modern, cross platform, multi-language UPnP stack" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/openhome/ohNet" + topics = ("openhome", "ohnet", "upnp") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + short_paths = True + + def _get_openhome_architecture(self, args): + if is_apple_os(self): + if str(self.settings.arch).startswith("armv8"): + openhome_architecture = "arm64" + args.extend([f"openhome_architecture={openhome_architecture}", f"detected_openhome_architecture={openhome_architecture}"]) + return args + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self) and (self.options.shared or msvc_runtime_flag(self).startswith('MD')): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared builds with Visual Studio yet") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def export_sources(self): + export_conandata_patches(self) + + def generate(self): + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + tc.make_args.append("-j1") + tc.generate() + + def build(self): + apply_conandata_patches(self) + targets = "ohNetDll TestsNative proxies devices" + additional_options="" + + 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}") + 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")) + + 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}") + 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): + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.components["ohNet"].libs = ["ohNet"] + self.cpp_info.components["ohNet"].builddirs = [os.path.join("lib", "ServiceGen")] + self.cpp_info.components["ohNet"].set_property("cmake_target_name", "ohNet") + self.cpp_info.components["ohNet"].defines.extend(["DEFINE_LITTLE_ENDIAN"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["ohNet"].system_libs.extend(["pthread", "m"]) + elif self.settings.os == "Windows": + self.cpp_info.components["ohNet"].system_libs.extend(["iphlpapi", "ws2_32", "dbghelp"]) + + self.cpp_info.components["ohNetCore"].libs = ["ohNetCore"] + self.cpp_info.components["ohNetCore"].builddirs = [os.path.join("lib", "ServiceGen")] + self.cpp_info.components["ohNetCore"].set_property("cmake_target_name", "ohNetCore") + self.cpp_info.components["ohNetCore"].defines.extend(["DEFINE_LITTLE_ENDIAN"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["ohNetCore"].system_libs.extend(["pthread", "m"]) + elif self.settings.os == "Windows": + self.cpp_info.components["ohNetCore"].system_libs.extend(["iphlpapi", "ws2_32", "dbghelp"]) + elif self.settings.os == "Macos": + self.cpp_info.components["ohNetCore"].frameworks.extend(["CoreFoundation", "IOKit", "SystemConfiguration"]) + + self.cpp_info.components["ohNetDevices"].libs = ["ohNetDevices"] + self.cpp_info.components["ohNetDevices"].set_property("cmake_target_name", "ohNetDevices") + + self.cpp_info.components["ohNetProxies"].libs = ["ohNetProxies"] + self.cpp_info.components["ohNetProxies"].set_property("cmake_target_name", "ohNetProxies") + + self.cpp_info.components["TestFramework"].libs = ["TestFramework"] + self.cpp_info.components["TestFramework"].set_property("cmake_target_name", "TestFramework") + self.cpp_info.components["TestFramework"].requires = ["ohNetCore"] + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + 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 + self.cpp_info.components[component].set_property("cmake_target_name", component) diff --git a/recipes/ohnet/all/patches/0001-makefile-universal.patch b/recipes/ohnet/all/patches/0001-makefile-universal.patch new file mode 100644 index 0000000000000..487c6aa0a79e2 --- /dev/null +++ b/recipes/ohnet/all/patches/0001-makefile-universal.patch @@ -0,0 +1,220 @@ +diff --git a/Common.mak b/Common.mak +index a479b12a..82e5db60 100644 +--- a/Common.mak ++++ b/Common.mak +@@ -386,7 +386,7 @@ $(objdir)dnssd_clientshim.$(objext) : $(mDNSdir)/dnssd_clientshim.c $(headers) + $(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 $(cppflags) $(cflags_third_party) $(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) +diff --git a/Makefile b/Makefile +index 2f0cb07c..7b73494d 100644 +--- a/Makefile ++++ b/Makefile +@@ -6,7 +6,7 @@ rsync ?= yes + ifeq ($(rsync),yes) + cp = rsync -u + else +-cp = cp -u ++cp = cp + endif + + ifeq ($(debug),1) +@@ -27,11 +27,11 @@ 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}) + +@@ -57,7 +57,7 @@ ifeq ($(MACHINE),Darwin) + 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 +@@ -69,11 +69,11 @@ 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 +@@ -85,11 +85,11 @@ else + 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 +@@ -97,34 +97,34 @@ 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 +@@ -215,7 +215,7 @@ ifeq ($(platform),Mac) + 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 +@@ -235,8 +235,8 @@ ifeq ($(platform), Core-ppc32) + 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 + +@@ -252,8 +252,8 @@ ifeq ($(platform), Core-armv6) + 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 + +@@ -263,8 +263,14 @@ ifneq (,$(findstring $(platform),Vanilla Qnap-x86 Qnap-x19 Linux-ppc32)) + 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 = +@@ -276,8 +282,8 @@ ifneq (,$(findstring $(platform),Vanilla Qnap-x86 Qnap-x19 Linux-ppc32)) + + # 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 + +@@ -358,11 +364,11 @@ 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 +@@ -390,7 +396,7 @@ 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) +@@ -416,10 +422,10 @@ else + 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 diff --git a/recipes/ohnet/all/test_package/CMakeLists.txt b/recipes/ohnet/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b864873d00282 --- /dev/null +++ b/recipes/ohnet/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(ohNet REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PUBLIC ohNetCore) diff --git a/recipes/ohnet/all/test_package/conanfile.py b/recipes/ohnet/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/ohnet/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ohnet/all/test_package/test_package.cpp b/recipes/ohnet/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4d3ae89a2e2e0 --- /dev/null +++ b/recipes/ohnet/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include +#include + +using namespace OpenHome::Net; + +int main() +{ + InitialisationParams* initParams = InitialisationParams::Create(); + UpnpLibrary::InitialiseMinimal(initParams); + delete initParams; + UpnpLibrary::Close(); +} diff --git a/recipes/ohnet/config.yml b/recipes/ohnet/config.yml new file mode 100644 index 0000000000000..f52e484dea6d6 --- /dev/null +++ b/recipes/ohnet/config.yml @@ -0,0 +1,3 @@ +versions: + "1.36.5182": + folder: all From 77b4e50e1cb1b46b85c595b4ae7456dac8440f92 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Oct 2023 02:48:22 +0900 Subject: [PATCH 2232/4087] (#20708) c-bllosc2: update zlib-ng, fix compilation errors with with_zlib=zlib-ng --- recipes/c-blosc2/all/conanfile.py | 2 +- .../all/patches/2.10.0-0001-fix-cmake.patch | 10 +++++----- .../all/patches/2.10.2-0001-fix-cmake.patch | 10 +++++----- .../all/patches/2.10.5-0001-fix-cmake.patch | 10 +++++----- .../all/patches/2.8.0-0001-fix-cmake.patch | 14 +++++++------- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index e0435a75fa522..0c8d3e2c2406f 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -67,7 +67,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.3") + self.requires("zlib-ng/2.1.4") elif self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: diff --git a/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch index 4ccea534729cb..17ad6d731a77c 100644 --- a/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch +++ b/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch @@ -16,15 +16,15 @@ index 85d1e03..00e6cad 100644 if(PREFER_EXTERNAL_ZLIB) - find_package(ZLIB_NG) - if(ZLIB_NG_FOUND) -+ find_package(zlib_ng) -+ if(zlib_ng_FOUND) ++ find_package(zlib-ng) ++ if(zlib-ng_FOUND) set(HAVE_ZLIB_NG TRUE) else() find_package(ZLIB) endif() - if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) -+ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib-ng_FOUND OR ZLIB_FOUND)) message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") endif() endif() @@ -88,8 +88,8 @@ index a6d566d..ba65bae 100644 if(NOT DEACTIVATE_ZLIB) - if(ZLIB_NG_FOUND) - set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) -+ if(zlib_ng_FOUND) -+ set(LIBS ${LIBS} ${zlib_ng_LIBRARIES}) ++ if(zlib-ng_FOUND) ++ set(LIBS ${LIBS} ${zlib-ng_LIBRARIES}) elseif(ZLIB_FOUND) set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) else() diff --git a/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch index b530262f17fda..fb1f3b574be59 100644 --- a/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch +++ b/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch @@ -16,15 +16,15 @@ index 4b4fc6a..79d61da 100644 if(PREFER_EXTERNAL_ZLIB) - find_package(ZLIB_NG) - if(ZLIB_NG_FOUND) -+ find_package(zlib_ng) -+ if(zlib_ng_FOUND) ++ find_package(zlib-ng) ++ if(zlib-ng_FOUND) set(HAVE_ZLIB_NG TRUE) else() find_package(ZLIB) endif() - if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) -+ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib-ng_FOUND OR ZLIB_FOUND)) message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") endif() endif() @@ -112,8 +112,8 @@ index b44b710..681705e 100644 if(NOT DEACTIVATE_ZLIB) - if(ZLIB_NG_FOUND) - set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) -+ if(zlib_ng_FOUND) -+ set(LIBS ${LIBS} ${zlib_ng_LIBRARIES}) ++ if(zlib-ng_FOUND) ++ set(LIBS ${LIBS} ${zlib-ng_LIBRARIES}) elseif(ZLIB_FOUND) set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) else() diff --git a/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch index 389b3c771ae6e..743a69c503d24 100644 --- a/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch +++ b/recipes/c-blosc2/all/patches/2.10.5-0001-fix-cmake.patch @@ -16,15 +16,15 @@ index 19e203a..aa6ccdd 100644 if(PREFER_EXTERNAL_ZLIB) - find_package(ZLIB_NG) - if(ZLIB_NG_FOUND) -+ find_package(zlib_ng) -+ if(zlib_ng_FOUND) ++ find_package(zlib-ng) ++ if(zlib-ng_FOUND) set(HAVE_ZLIB_NG TRUE) else() find_package(ZLIB) endif() - if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) -+ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib-ng_FOUND OR ZLIB_FOUND)) message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") endif() endif() @@ -111,8 +111,8 @@ index 8c7cf90..f7efbf5 100644 if(NOT DEACTIVATE_ZLIB) - if(ZLIB_NG_FOUND) - set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) -+ if(zlib_ng_FOUND) -+ set(LIBS ${LIBS} ${zlib_ng_LIBRARIES}) ++ if(zlib-ng_FOUND) ++ set(LIBS ${LIBS} ${zlib-ng_LIBRARIES}) elseif(ZLIB_FOUND) set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) else() diff --git a/recipes/c-blosc2/all/patches/2.8.0-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.8.0-0001-fix-cmake.patch index 4ca392bba22b4..a0812cb90ffab 100644 --- a/recipes/c-blosc2/all/patches/2.8.0-0001-fix-cmake.patch +++ b/recipes/c-blosc2/all/patches/2.8.0-0001-fix-cmake.patch @@ -16,15 +16,15 @@ index bb7882f..92ac61c 100644 if(PREFER_EXTERNAL_ZLIB) - find_package(ZLIB_NG) - if(ZLIB_NG_FOUND) -+ find_package(zlib_ng) -+ if(zlib_ng_FOUND) ++ find_package(zlib-ng) ++ if(zlib-ng_FOUND) set(HAVE_ZLIB_NG TRUE) else() find_package(ZLIB) endif() - if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) -+ if(NOT (zlib_ng_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib-ng_FOUND OR ZLIB_FOUND)) message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") endif() endif() @@ -65,8 +65,8 @@ index 365de33..74ed32e 100644 if(NOT DEACTIVATE_ZLIB) - if(ZLIB_NG_FOUND) - set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZLIB_NG_INCLUDE_DIR}) -+ if(zlib_ng_FOUND) -+ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zlib_ng_INCLUDE_DIR}) ++ if(zlib-ng_FOUND) ++ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zlib-ng_INCLUDE_DIR}) elseif(ZLIB_FOUND) set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR}) else() @@ -98,8 +98,8 @@ index 365de33..74ed32e 100644 if(NOT DEACTIVATE_ZLIB) - if(ZLIB_NG_FOUND) - set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) -+ if(zlib_ng_FOUND) -+ set(LIBS ${LIBS} ${zlib_ng_LIBRARY}) ++ if(zlib-ng_FOUND) ++ set(LIBS ${LIBS} ${zlib-ng_LIBRARY}) elseif(ZLIB_FOUND) - set(LIBS ${LIBS} ${ZLIB_LIBRARY}) + set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) From e0dab6b4a69cb5424ccb44deb17ba9fff2d45b5a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 25 Oct 2023 11:41:15 +0200 Subject: [PATCH 2233/4087] (#20620) cppfront: bump --- recipes/cppfront/all/conandata.yml | 3 +++ recipes/cppfront/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cppfront/all/conandata.yml b/recipes/cppfront/all/conandata.yml index 3db3937d63c0d..4a9575e4249b6 100644 --- a/recipes/cppfront/all/conandata.yml +++ b/recipes/cppfront/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231017": + url: "https://github.com/hsutter/cppfront/archive/789cd382ed4c2fb1a9e306e73b6876228d22207d.tar.gz" + sha256: "a004c27bbc732f7a60735cee45aa89f066b79266ccc2c881f4723afee2ad1d8d" "cci.20230103": url: "https://github.com/hsutter/cppfront/archive/808db2bd6ae92f869166827dfda66cfa42dde0ab.zip" sha256: "479252c99d66db477c4cd98a6e1707a8929a70afdf000c75589841d944c539f4" diff --git a/recipes/cppfront/config.yml b/recipes/cppfront/config.yml index 50c5629b6e025..5474e123fd52d 100644 --- a/recipes/cppfront/config.yml +++ b/recipes/cppfront/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231017": + folder: all "cci.20230103": folder: all "cci.20221024": From 448163e978923428e5a0a73801f2948a11c3d7cd Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 25 Oct 2023 12:50:48 +0200 Subject: [PATCH 2234/4087] (#20751) [wt] Unblock Linux and Mac for 4.10.1 + cppstd=17 * Only block msvc Signed-off-by: Uilian Ries * Update recipes/wt/all/conanfile.py --------- Signed-off-by: Uilian Ries --- recipes/wt/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 341e5e1481c9c..1e23253caacc0 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -121,8 +121,11 @@ def validate(self): f"{self.ref} requires non header-only boost with these components: " f"{', '.join(self._required_boost_components)}" ) - # FIXME: check_max_cppstd is only available for Conan 2.x. Remove it after dropping support for Conan 1.x - if conan_version.major == 2 and Version(self.version) >= "4.10.1": + + # FIXME: https://redmine.emweb.be/issues/12073w + if conan_version.major == 2 and Version(self.version) == "4.10.1" and is_msvc(self): + + # FIXME: check_max_cppstd is only available for Conan 2.x. Remove it after dropping support for Conan 1.x # 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') From 2d35552ca02d3c5e415b3cf7d0b968b60870195d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Oct 2023 21:11:11 +0300 Subject: [PATCH 2235/4087] (#18757) detours: migrate to Conan v2 * detours: migrate to Conan v2 * detours: make linter happy * detours: restore VirtualRunEnv in test_package * detours: fix test_package on Windows * detours: fix metadata --- recipes/detours/all/CMakeLists.txt | 16 ++- recipes/detours/all/conanfile.py | 102 +++++++++--------- .../detours/all/test_package/CMakeLists.txt | 5 +- recipes/detours/all/test_package/conanfile.py | 20 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../detours/all/test_v1_package/conanfile.py | 22 ++++ 6 files changed, 105 insertions(+), 68 deletions(-) create mode 100644 recipes/detours/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/detours/all/test_v1_package/conanfile.py diff --git a/recipes/detours/all/CMakeLists.txt b/recipes/detours/all/CMakeLists.txt index 08643cd4c3e75..00fec6778e9bc 100644 --- a/recipes/detours/all/CMakeLists.txt +++ b/recipes/detours/all/CMakeLists.txt @@ -1,19 +1,15 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.12) project(conan_detours CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) +set(SOURCES_DIR ${CMAKE_CURRENT_LIST_DIR}/src) -file(GLOB DETOURS_SOURCES source_subfolder/src/*.cpp) +file(GLOB DETOURS_SOURCES ${SOURCES_DIR}/src/*.cpp) list(REMOVE_ITEM DETOURS_SOURCES - "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/src/uimports.cpp" + "${SOURCES_DIR}/src/uimports.cpp" ) -file(GLOB DETOURS_HEADERS source_subfolder/src/*.h) +file(GLOB DETOURS_HEADERS ${SOURCES_DIR}/src/*.h) add_library(detours STATIC ${DETOURS_SOURCES} ${DETOURS_HEADERS}) include(GNUInstallDirs) -install(TARGETS detours - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -) +install(TARGETS detours) install(FILES ${DETOURS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/recipes/detours/all/conanfile.py b/recipes/detours/all/conanfile.py index 6d72096230585..7bea0de65a209 100644 --- a/recipes/detours/all/conanfile.py +++ b/recipes/detours/all/conanfile.py @@ -1,35 +1,44 @@ -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import os -required_conan_version = ">=1.45.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import stdcpp_library +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import chdir, copy, get, replace_in_file +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, VCVars + +required_conan_version = ">=1.53.0" class DetoursConan(ConanFile): name = "detours" - homepage = "https://github.com/antlr/antlr4/tree/master/runtime/Cpp" description = "Detours is a software package for monitoring and instrumenting API calls on Windows" - topics = ("monitoror", "instrumenting", "hook", "injection") - url = "https://github.com/conan-io/conan-center-index" license = "MIT" - generators = "cmake" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/microsoft/Detours" + topics = ("monitoring", "instrumenting", "hook", "injection", "windows") + + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" @property - def _source_subfolder(self): - return "source_subfolder" + def _target_processor(self): + return { + "x86": "X86", + "x86_64": "X64", + "armv7": "ARM", + "armv8": "ARM64", + }[str(self.settings.arch)] - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os != "Windows": raise ConanInvalidConfiguration("Only os=Windows is supported") - # if not is_msvc(self): - # raise ConanInvalidConfiguration("Only the MSVC compiler is supported") if is_msvc(self) and not is_msvc_static_runtime(self): # Debug and/or dynamic runtime is undesired for a hooking library raise ConanInvalidConfiguration("Only static runtime is supported (MT)") @@ -41,58 +50,53 @@ def validate(self): raise ConanInvalidConfiguration("Unsupported architecture") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def export_sources(self): - self.copy("CMakeLists.txt") - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @property - def _target_processor(self): - return { - "x86": "X86", - "x86_64": "X64", - "armv7": "ARM", - "armv8": "ARM64", - }[str(self.settings.arch)] - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + if is_msvc(self): + vcvars = VCVars(self) + vcvars.generate() + else: + tc = CMakeToolchain(self) + tc.generate() def _patch_sources(self): if is_msvc(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "Makefile"), - "/MT ", f"/{self.settings.compiler.runtime} ") + replace_in_file( + self, + os.path.join(self.source_folder, "src", "Makefile"), + "/MT ", + f"/{msvc_runtime_flag(self)} ", + ) def build(self): self._patch_sources() if is_msvc(self): - with tools.vcvars(self): - with tools.chdir(os.path.join(self._source_subfolder, "src")): - self.run(f"nmake DETOURS_TARGET_PROCESSOR={self._target_processor}") + with chdir(self, os.path.join(self.source_folder, "src")): + self.run(f"nmake DETOURS_TARGET_PROCESSOR={self._target_processor}") else: - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE.md", src=self._source_subfolder, dst="licenses") + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) if is_msvc(self): - self.copy("detours.lib", src=os.path.join(self._source_subfolder, f"lib.{self._target_processor}"), dst="lib") - self.copy("*.h", src=os.path.join(self._source_subfolder, "include"), dst="include") + copy(self, "detours.lib", + src=os.path.join(self.source_folder, f"lib.{self._target_processor}"), + dst=os.path.join(self.package_folder, "lib")) + copy(self, "*.h", + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) else: cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = [] self.cpp_info.libs = ["detours"] if self.settings.compiler == "gcc": - self.cpp_info.system_libs = [tools.stdcpp_library(self)] + self.cpp_info.system_libs = [stdcpp_library(self)] self.cpp_info.link_flags = ["-static-libgcc", "-static-libstdc++"] diff --git a/recipes/detours/all/test_package/CMakeLists.txt b/recipes/detours/all/test_package/CMakeLists.txt index 6b89b27839454..9dd543efc7ceb 100644 --- a/recipes/detours/all/test_package/CMakeLists.txt +++ b/recipes/detours/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(detours REQUIRED CONFIG) add_executable(victim victim.c) diff --git a/recipes/detours/all/test_package/conanfile.py b/recipes/detours/all/test_package/conanfile.py index 43240d491944c..beb314f8f339d 100644 --- a/recipes/detours/all/test_package/conanfile.py +++ b/recipes/detours/all/test_package/conanfile.py @@ -1,11 +1,21 @@ -from conans import ConanFile, CMake, tools import io + +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) @@ -14,9 +24,9 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") buffer = io.StringIO() - self.run(f"{bin_path} \"{os.path.join(self.build_folder, 'bin')}\"", run_environment=True, output=buffer) + self.run(f'{bin_path} "{os.path.join(self.cpp.build.bindir)}"', buffer, env="conanrun") print(buffer.getvalue()) assert "I found your message! It was 'A secret text'! I am 1337! :^)" in buffer.getvalue() diff --git a/recipes/detours/all/test_v1_package/CMakeLists.txt b/recipes/detours/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/detours/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/detours/all/test_v1_package/conanfile.py b/recipes/detours/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..43240d491944c --- /dev/null +++ b/recipes/detours/all/test_v1_package/conanfile.py @@ -0,0 +1,22 @@ +from conans import ConanFile, CMake, tools +import io +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.verbose = 1 + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + bin_path = os.path.join("bin", "test_package") + buffer = io.StringIO() + self.run(f"{bin_path} \"{os.path.join(self.build_folder, 'bin')}\"", run_environment=True, output=buffer) + print(buffer.getvalue()) + assert "I found your message! It was 'A secret text'! I am 1337! :^)" in buffer.getvalue() From 3c8b6d9f242c770aa6bc1eafe3a83a479d6fda1a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 25 Oct 2023 20:18:40 +0200 Subject: [PATCH 2236/4087] (#20744) vulkan-validationlayers/all: bump deps * vulkan-validationlayers/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * vulkan-validationlayers/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * vulkan-validationlayers/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * vulkan-validationlayers/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * remove old versions following removal in https://github.com/conan-io/conan-center-index/commit/ab6c62ef28adfae7706aa804748e5c707ee09331 --- .../vulkan-validationlayers/all/conandata.yml | 28 ------------------- .../vulkan-validationlayers/all/conanfile.py | 4 +-- .../all/dependencies/dependencies-1.2.182.yml | 3 -- .../dependencies/dependencies-1.2.189.2.yml | 3 -- .../dependencies/dependencies-1.2.198.0.yml | 3 -- .../dependencies/dependencies-1.3.204.1.yml | 3 -- recipes/vulkan-validationlayers/config.yml | 8 ------ 7 files changed, 2 insertions(+), 50 deletions(-) delete mode 100644 recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml delete mode 100644 recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml delete mode 100644 recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml delete mode 100644 recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml diff --git a/recipes/vulkan-validationlayers/all/conandata.yml b/recipes/vulkan-validationlayers/all/conandata.yml index cce0aea3d2aac..71fbe37f78e18 100644 --- a/recipes/vulkan-validationlayers/all/conandata.yml +++ b/recipes/vulkan-validationlayers/all/conandata.yml @@ -17,18 +17,6 @@ sources: "1.3.211.0": url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/sdk-1.3.211.0.tar.gz" sha256: "927c1cb98c81fe8a1a529cf2d977d701dcda49c495a19583dc00e178b6757203" - "1.3.204.1": - url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/sdk-1.3.204.1.tar.gz" - sha256: "a5e658a4c1f504ae38488acdbe2ab2799e2ae4b626104d76776f1c24b079f341" - "1.2.198.0": - url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/sdk-1.2.198.0.tar.gz" - sha256: "4a70cc5da26baf873fcf69b081eeeda545515dd66e5904f18fee32b4d275593a" - "1.2.189.2": - url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/sdk-1.2.189.2.tar.gz" - sha256: "f59eb2c7d601c155a528b62637277b9ef4beb5132cbf868eb3779c7d4415bb1c" - "1.2.182": - url: "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/v1.2.182.tar.gz" - sha256: "5a1f7027c06a8e5ae777d9053b5ce46f10ca623806a43332eb2da06fe46476d4" patches: "1.3.239.0": - patch_file: "patches/1.3.239.0-0001-fix-cmake.patch" @@ -57,19 +45,3 @@ patches: - patch_file: "patches/1.3.204.1-0001-fix-cmake.patch" patch_description: "CMake: Adapt to conan" patch_type: "conan" - "1.3.204.1": - - patch_file: "patches/1.3.204.1-0001-fix-cmake.patch" - patch_description: "CMake: Adapt to conan" - patch_type: "conan" - "1.2.198.0": - - patch_file: "patches/1.2.198.0-0001-fix-cmake.patch" - patch_description: "CMake: Adapt to conan" - patch_type: "conan" - "1.2.189.2": - - patch_file: "patches/1.2.189.2-0001-fix-cmake.patch" - patch_description: "CMake: Adapt to conan" - patch_type: "conan" - "1.2.182": - - patch_file: "patches/1.2.182-0001-fix-cmake.patch" - patch_description: "CMake: Adapt to conan" - patch_type: "conan" diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index 9b4e7e7f28c9e..9ce6269563249 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -106,7 +106,7 @@ def requirements(self): if self.options.get_safe("with_wsi_xcb") or self.options.get_safe("with_wsi_xlib"): self.requires("xorg/system") if self._needs_wayland_for_build: - self.requires("wayland/1.21.0") + self.requires("wayland/1.22.0") def _require(self, recipe_name): if recipe_name not in self._dependencies_versions: @@ -137,7 +137,7 @@ def loose_lt_semver(v1, v2): def build_requirements(self): if self._needs_pkg_config and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if Version(self.version) >= "1.3.239": self.tool_requires("cmake/[>=3.17.2 <4]") diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml deleted file mode 100644 index c3e6505e83271..0000000000000 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.182.yml +++ /dev/null @@ -1,3 +0,0 @@ -spirv-headers: "cci.20210616" -spirv-tools: "2021.2" -vulkan-headers: "1.2.182" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml deleted file mode 100644 index dd52c0e08b282..0000000000000 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.189.2.yml +++ /dev/null @@ -1,3 +0,0 @@ -spirv-headers: "cci.20210811" -spirv-tools: "2021.3" -vulkan-headers: "1.2.189" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml deleted file mode 100644 index ac36ea35232c5..0000000000000 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.2.198.0.yml +++ /dev/null @@ -1,3 +0,0 @@ -spirv-headers: "1.2.198.0" -spirv-tools: "2021.4" -vulkan-headers: "1.2.198.0" diff --git a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml b/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml deleted file mode 100644 index e19c38225be30..0000000000000 --- a/recipes/vulkan-validationlayers/all/dependencies/dependencies-1.3.204.1.yml +++ /dev/null @@ -1,3 +0,0 @@ -spirv-headers: "1.3.204.0" -spirv-tools: "1.3.204.0" -vulkan-headers: "1.3.204.1" diff --git a/recipes/vulkan-validationlayers/config.yml b/recipes/vulkan-validationlayers/config.yml index d99b3e54ca59d..15d0c149a289c 100644 --- a/recipes/vulkan-validationlayers/config.yml +++ b/recipes/vulkan-validationlayers/config.yml @@ -11,11 +11,3 @@ versions: folder: all "1.3.211.0": folder: all - "1.3.204.1": - folder: all - "1.2.198.0": - folder: all - "1.2.189.2": - folder: all - "1.2.182": - folder: all From 5d766a1bbaf96c42cd2f11fa914382494b3c85bb Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 25 Oct 2023 20:42:56 +0200 Subject: [PATCH 2237/4087] (#20199) [ixwebsocket] Bump ixwebsocket's zlib requirement to [>=1.2.11 <2] range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump ixwebsocket's zlib requirement to [>=1.2.11 <2] range * Update recipes/ixwebsocket/all/conanfile.py Co-authored-by: Matthieu Darbois * Apply @uilianries's suggestion * Update recipes/ixwebsocket/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/ixwebsocket/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Rubén Rincón Co-authored-by: Rubén Rincón Blanco Co-authored-by: Matthieu Darbois --- recipes/ixwebsocket/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/ixwebsocket/all/conanfile.py b/recipes/ixwebsocket/all/conanfile.py index c627577a9f00e..839ba03a95e16 100644 --- a/recipes/ixwebsocket/all/conanfile.py +++ b/recipes/ixwebsocket/all/conanfile.py @@ -56,9 +56,9 @@ def layout(self): def requirements(self): if self.options.get_safe("with_zlib", True): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.tls == "openssl": - self.requires("openssl/1.1.1s") + self.requires("openssl/1.1.1w") elif self.options.tls == "mbedtls": self.requires("mbedtls/2.25.0") @@ -119,6 +119,10 @@ def _patch_sources(self): replace_in_file(self, cmakelists, "ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}", "ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION bin") + # INFO: IXWebSocketHttpHeaders.cpp consumes WSAEINVAL but there is no winsock2.h included + replace_in_file(self, os.path.join(self.source_folder, "ixwebsocket", "IXWebSocketHttpHeaders.cpp"), '#include "IXSocket.h"', '#include "IXNetSystem.h"\n#include "IXSocket.h"') + # INFO: IXHttpClient.cpp consumes WSAEINVAL but there is no winsock2.h included + replace_in_file(self, os.path.join(self.source_folder, "ixwebsocket", "IXHttpClient.h"), '#include "IXSocket.h"', '#include "IXNetSystem.h"\n#include "IXSocket.h"') def build(self): self._patch_sources() From b880d4258aa0bd70a43e84ff6c6f06ef9aa1c6c7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Oct 2023 22:22:51 +0300 Subject: [PATCH 2238/4087] (#17542) stdgpu: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * stdgpu: add recipe * stdgpu: add CUDA support to test_package * stdgpu: use OpenMP in test_package.cpp * stdgpu: add linking with OpenMP to test_package * stdgpu: THRUST_IGNORE_CUB_VERSION_CHECK is now set by Thrust * stdgpu: add version cci.20230507 The latest, v1.3.0, is almost three years old and work is ongoing towards v2, but it does not appear to be nearing completion. * stdgpu: apply patches to cci.20230507 * stdgpu: drop test_v1_package * stdgpu: use newer CMake for the latest version * stdgpu: remove *.cmake files * stdgpu: fix minimal MSVC versions * stdgpu: fix cxx_std version in test_package * stdgpu: let nvcc pick an appropriate architecture in test_package * stdgpu: add build flags for OpenMP * stdgpu: use llvm-openmp by default * stdgpu: simplify patching * stdgpu: add VirtualBuildEnv for CMake * stdgpu: Conan v1 fix * stdgpu: openmp requires transitive_*=True * stdgpu: export CMake module files for backends, improved tests * stdgpu: add a test for HIP backend Have not tested it, though. * stdgpu: fix test for 1.3.0 * stdgpu: set openmp cmake_find_mode as both * stdgpu: remove version check from OpenMP dependency * stdgpu: set cpp_info.builddirs * stdgpu: exclude a specific configuration from tests * Final fixes * stdgpu: bump version to the latest commit * Validate thrust:device_system option Co-authored-by: Uilian Ries * stdgpu: fix option deletion not having any effect --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel Co-authored-by: Uilian Ries --- .../all/cmake/stdgpu-dependencies-cuda.cmake | 6 + .../all/cmake/stdgpu-dependencies-hip.cmake | 9 + recipes/stdgpu/all/conandata.yml | 7 + recipes/stdgpu/all/conanfile.py | 213 ++++++++++++++++++ .../stdgpu/all/test_package/CMakeLists.txt | 35 +++ recipes/stdgpu/all/test_package/conanfile.py | 39 ++++ .../all/test_package/test_package_basic.cpp | 10 + .../all/test_package/test_package_cuda.cu | 55 +++++ .../all/test_package/test_package_hip.hip | 64 ++++++ .../all/test_package/test_package_openmp.cpp | 47 ++++ recipes/stdgpu/config.yml | 5 + 11 files changed, 490 insertions(+) create mode 100644 recipes/stdgpu/all/cmake/stdgpu-dependencies-cuda.cmake create mode 100644 recipes/stdgpu/all/cmake/stdgpu-dependencies-hip.cmake create mode 100644 recipes/stdgpu/all/conandata.yml create mode 100644 recipes/stdgpu/all/conanfile.py create mode 100644 recipes/stdgpu/all/test_package/CMakeLists.txt create mode 100644 recipes/stdgpu/all/test_package/conanfile.py create mode 100644 recipes/stdgpu/all/test_package/test_package_basic.cpp create mode 100644 recipes/stdgpu/all/test_package/test_package_cuda.cu create mode 100644 recipes/stdgpu/all/test_package/test_package_hip.hip create mode 100644 recipes/stdgpu/all/test_package/test_package_openmp.cpp create mode 100644 recipes/stdgpu/config.yml diff --git a/recipes/stdgpu/all/cmake/stdgpu-dependencies-cuda.cmake b/recipes/stdgpu/all/cmake/stdgpu-dependencies-cuda.cmake new file mode 100644 index 0000000000000..d3b13dcffb9ee --- /dev/null +++ b/recipes/stdgpu/all/cmake/stdgpu-dependencies-cuda.cmake @@ -0,0 +1,6 @@ +# Mimics the behavior of stdgpu-dependencies.cmake exported by stdgpu for the CUDA backend + +find_dependency(CUDAToolkit 11.0 REQUIRED) +# Using ${stdgpu_LIBRARIES} to allow the target to be renamed using the "cmake_target_name" CMakeDeps property +target_link_libraries(${stdgpu_LIBRARIES} INTERFACE CUDA::cudart) +set_property(TARGET ${stdgpu_LIBRARIES} PROPERTY INTERFACE_COMPILE_FEATURES cuda_std_17) diff --git a/recipes/stdgpu/all/cmake/stdgpu-dependencies-hip.cmake b/recipes/stdgpu/all/cmake/stdgpu-dependencies-hip.cmake new file mode 100644 index 0000000000000..3b575a7ddbf0b --- /dev/null +++ b/recipes/stdgpu/all/cmake/stdgpu-dependencies-hip.cmake @@ -0,0 +1,9 @@ +# Mimics the behavior of stdgpu-dependencies.cmake exported by stdgpu for the HIP backend + +find_dependency(thrust 1.9.9 REQUIRED) + +find_dependency(hip 5.1 REQUIRED) + +# Using ${stdgpu_LIBRARIES} to allow the target to be renamed using the "cmake_target_name" CMakeDeps property +target_link_libraries(${stdgpu_LIBRARIES} INTERFACE hip::host) +set_property(TARGET ${stdgpu_LIBRARIES} PROPERTY INTERFACE_COMPILE_FEATURES hip_std_17) diff --git a/recipes/stdgpu/all/conandata.yml b/recipes/stdgpu/all/conandata.yml new file mode 100644 index 0000000000000..34e0429d48408 --- /dev/null +++ b/recipes/stdgpu/all/conandata.yml @@ -0,0 +1,7 @@ +sources: + "cci.20230913": + url: "https://github.com/stotko/stdgpu/archive/b70405bc62958f1f1334a936a20cd025351816fb.zip" + sha256: "f94c0352fdf2d2bc5490791a56cf42b562a5222e58ce5676510a07bb72ce75b6" + "1.3.0": + url: "https://github.com/stotko/stdgpu/archive/refs/tags/1.3.0.tar.gz" + sha256: "c527dabc6735d8b320b316e9a5b120d258d49c2b7ff9689c8a9b5ad474532a05" diff --git a/recipes/stdgpu/all/conanfile.py b/recipes/stdgpu/all/conanfile.py new file mode 100644 index 0000000000000..7dfe706fa8ef8 --- /dev/null +++ b/recipes/stdgpu/all/conanfile.py @@ -0,0 +1,213 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, rmdir, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class StdgpuConan(ConanFile): + name = "stdgpu" + description = "Efficient STL-like Data Structures on the GPU" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://stotko.github.io/stdgpu/" + topics = ("cuda", "data-structures", "gpgpu", "gpu", "hip", "openmp", "rocm", "stl", "thrust") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "backend": ["cuda", "openmp", "hip"], + "setup_compiler_flags": [True, False], + "enable_contract_checks": [None, True, False], + "use_32_bit_index": [True, False], + "openmp": ["llvm", "system"], + } + default_options = { + "shared": False, + "fPIC": True, + "backend": "openmp", + "setup_compiler_flags": False, + "enable_contract_checks": None, + "use_32_bit_index": True, + "openmp": "llvm", + } + + @property + def _min_cppstd(self): + if self.version == "1.3.0": + return 14 + else: + return 17 + + @property + def _compilers_min_versions(self): + if self.version == "1.3.0": + # Based on https://github.com/stotko/stdgpu/tree/1.3.0#building + return { + "gcc": "7", + "clang": "6", + "apple-clang": "6", + "msvc": "192", + "Visual Studio": "16", + } + else: + # > 1.3.0 + # Based on https://github.com/stotko/stdgpu/tree/32e0517#building + return { + "gcc": "9", + "clang": "10", + "apple-clang": "12", + "msvc": "192", + "Visual Studio": "16", + } + + def export_sources(self): + copy(self, "cmake/*", dst=self.export_sources_folder, src=self.recipe_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") + if self.options.backend == "cuda": + self.options["thrust"].device_system = "cuda" + elif self.options.backend == "openmp": + self.options["thrust"].device_system = "omp" + + def package_id(self): + if self.info.options.backend != "openmp": + del self.info.options.openmp + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.backend != "hip": + self.requires("thrust/1.17.2", transitive_headers=True) + else: + # The baseline Thrust version provided by Nvidia and Conan is not compatible with HIP. + self.output.warning("HIP support requires Thrust with ROCm. " + "Using Thrust from system instead of Conan.") + if self.options.backend == "openmp": + if self.options.openmp == "llvm": + self.requires("llvm-openmp/12.0.1", transitive_headers=True, transitive_libs=True) + else: + self.output.info("Using OpenMP backend with system OpenMP") + + def build_requirements(self): + if Version(self.version) > "1.3.0": + self.tool_requires("cmake/[>=3.18 <4]") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_min_versions.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.backend == "cuda" and self.dependencies["thrust"].options.device_system != "cuda": + raise ConanInvalidConfiguration(f"{self.ref} option backend=cuda should use '-o thrust/*:device_system=cuda' as well.") + if self.options.backend == "openmp" and self.dependencies["thrust"].options.device_system != "omp": + raise ConanInvalidConfiguration(f"{self.ref} option backend=openmp should use '-o thrust/*:device_system=omp' as well.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + # All the main params from https://github.com/stotko/#integration + backend = str(self.options.backend).upper() + tc.variables["STDGPU_BACKEND"] = f"STDGPU_BACKEND_{backend}" + tc.variables["STDGPU_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["STDGPU_SETUP_COMPILER_FLAGS"] = self.options.setup_compiler_flags + tc.variables["STDGPU_TREAT_WARNINGS_AS_ERRORS"] = False + tc.variables["STDGPU_BUILD_EXAMPLES"] = False + tc.variables["STDGPU_BUILD_BENCHMARKS"] = False + tc.variables["STDGPU_BUILD_TESTS"] = False + tc.variables["STDGPU_BUILD_TEST_COVERAGE"] = False + tc.variables["STDGPU_ANALYZE_WITH_CLANG_TIDY"] = False + tc.variables["STDGPU_ANALYZE_WITH_CPPCHECK"] = False + if self.options.enable_contract_checks is not None: + tc.variables["STDGPU_ENABLE_CONTRACT_CHECKS"] = self.options.enable_contract_checks + tc.variables["STDGPU_USE_32_BIT_INDEX"] = self.options.use_32_bit_index + tc.preprocessor_definitions["THRUST_IGNORE_CUB_VERSION_CHECK"] = "1" + tc.generate() + deps = CMakeDeps(self) + # FIXME: should be set by the thrust recipe instead + deps.set_property("thrust", "cmake_find_mode", "both") + deps.set_property("openmp", "cmake_find_mode", "both") + deps.generate() + env = VirtualBuildEnv(self) + env.generate() + + def _patch_sources(self): + # Fix repeated application of the THRUST_DEVICE_SYSTEM define + for backend in ["cuda", "openmp"]: + replace_in_file(self, os.path.join(self.source_folder, "src", "stdgpu", backend, "CMakeLists.txt"), + "THRUST_DEVICE_SYSTEM=", + ") # THRUST_DEVICE_SYSTEM=") + replace_in_file(self, os.path.join(self.source_folder, "src", "stdgpu", "openmp", "CMakeLists.txt"), + "find_package(OpenMP 2.0 REQUIRED)", + "find_package(OpenMP REQUIRED)") + + def build(self): + self._patch_sources() + 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")) + rm(self, "*.pdb", self.package_folder, recursive=True) + copy(self, "*.cmake", + dst=os.path.join(self.package_folder, "lib", "cmake"), + src=os.path.join(self.export_sources_folder, "cmake")) + + def _configure_system_openmp(self): + openmp_flags = [] + if is_msvc(self): + openmp_flags = ["-openmp"] + elif self.settings.compiler in ["clang", "apple-clang"]: + openmp_flags = ["-Xpreprocessor", "-fopenmp"] + elif self.settings.compiler == "gcc": + openmp_flags = ["-fopenmp"] + elif self.settings.compiler == "intel": + openmp_flags = ["/Qopenmp"] if self.settings.os == "Windows" else ["-Qopenmp"] + self.cpp_info.cflags += openmp_flags + self.cpp_info.cxxflags += openmp_flags + self.cpp_info.sharedlinkflags += openmp_flags + self.cpp_info.exelinkflags += openmp_flags + if self.settings.os == "Windows": + if is_msvc(self): + self.cpp_info.system_libs.append("delayimp") + elif self.settings.compiler == "gcc": + self.cpp_info.system_libs.append("gomp") + + def package_info(self): + self.cpp_info.libs = ["stdgpu"] + + if self.options.backend == "openmp": + if self.options.openmp == "system": + self._configure_system_openmp() + elif self.options.backend == "cuda": + module_path = os.path.join("lib", "cmake", "stdgpu-dependencies-cuda.cmake") + self.cpp_info.set_property("cmake_build_modules", [module_path]) + elif self.options.backend == "hip": + module_path = os.path.join("lib", "cmake", "stdgpu-dependencies-hip.cmake") + self.cpp_info.set_property("cmake_build_modules", [module_path]) + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) diff --git a/recipes/stdgpu/all/test_package/CMakeLists.txt b/recipes/stdgpu/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..a42458e26851c --- /dev/null +++ b/recipes/stdgpu/all/test_package/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(stdgpu CONFIG REQUIRED) + +if (stdgpu_VERSION_STRING EQUAL "1.3.0") + set(CMAKE_CXX_STANDARD 14) +else() + set(CMAKE_CXX_STANDARD 17) +endif() + +if (STDGPU_BACKEND STREQUAL "cuda") + cmake_minimum_required(VERSION 3.17 FATAL_ERROR) + enable_language(CUDA) + add_executable(${PROJECT_NAME}_cuda test_package_cuda.cu) + target_link_libraries(${PROJECT_NAME}_cuda stdgpu::stdgpu) + set_target_properties(${PROJECT_NAME}_cuda PROPERTIES CUDA_ARCHITECTURES OFF) +endif() +if (STDGPU_BACKEND STREQUAL "hip") + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) + enable_language(HIP) + add_executable(${PROJECT_NAME}_hip test_package_hip.hip) + target_link_libraries(${PROJECT_NAME}_hip stdgpu::stdgpu) + set_target_properties(${PROJECT_NAME}_hip PROPERTIES HIP_ARCHITECTURES OFF) +endif() +if (STDGPU_BACKEND STREQUAL "openmp") + add_executable(${PROJECT_NAME}_openmp test_package_openmp.cpp) + target_link_libraries(${PROJECT_NAME}_openmp stdgpu::stdgpu) +endif() + +if (NOT stdgpu_VERSION_STRING STREQUAL "1.3.0") + # v1.3.0 does not have stdgpu/device.h + add_executable(${PROJECT_NAME}_basic test_package_basic.cpp) + target_link_libraries(${PROJECT_NAME}_basic stdgpu::stdgpu) +endif() diff --git a/recipes/stdgpu/all/test_package/conanfile.py b/recipes/stdgpu/all/test_package/conanfile.py new file mode 100644 index 0000000000000..179d561335ad3 --- /dev/null +++ b/recipes/stdgpu/all/test_package/conanfile.py @@ -0,0 +1,39 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + backend = str(self.dependencies["stdgpu"].options.backend) + tc.variables["STDGPU_BACKEND"] = backend + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + for variant in ["basic", "openmp", "cuda", "hip"]: + if variant == "openmp" and self.settings.compiler == "apple-clang" and self.settings.build_type == "Debug": + # Skip OpenMP test for apple-clang in debug mode, which segfaults for some reason + # https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/17542/12-macos-clang/stdgpu/cci.20230903/summary.json + continue + bin_path = os.path.join(self.cpp.build.bindir, f"test_package_{variant}") + if os.path.exists(bin_path): + self.run(bin_path, env="conanrun") diff --git a/recipes/stdgpu/all/test_package/test_package_basic.cpp b/recipes/stdgpu/all/test_package/test_package_basic.cpp new file mode 100644 index 0000000000000..754072b6056b3 --- /dev/null +++ b/recipes/stdgpu/all/test_package/test_package_basic.cpp @@ -0,0 +1,10 @@ +#include +#include + +#include + +int main() { + // Minimal test to confirm that the non-platform-specific portion of the library links correctly + std::cout << "stdgpu version: " << STDGPU_VERSION_STRING << std::endl; + stdgpu::print_device_information(); +} diff --git a/recipes/stdgpu/all/test_package/test_package_cuda.cu b/recipes/stdgpu/all/test_package/test_package_cuda.cu new file mode 100644 index 0000000000000..bdcd95e9feb1e --- /dev/null +++ b/recipes/stdgpu/all/test_package/test_package_cuda.cu @@ -0,0 +1,55 @@ +// Based on https://github.com/stotko/stdgpu/blob/32e0517/examples/cuda/vector.cu +#include +#include +#include + +#include // device_begin, device_end +#include // createDeviceArray, destroyDeviceArray +#include // STDGPU_HOST_DEVICE +#include // stdgpu::vector + +#include +#include + +__global__ void insert_neighbors_with_duplicates(const int *d_input, const stdgpu::index_t n, + stdgpu::vector vec) { + stdgpu::index_t i = static_cast(blockIdx.x * blockDim.x + threadIdx.x); + + if (i >= n) + return; + + int num = d_input[i]; + int num_neighborhood[3] = {num - 1, num, num + 1}; + + for (int num_neighbor : num_neighborhood) { + vec.push_back(num_neighbor); + } +} + +int sum_stdgpu(stdgpu::index_t n) { + int *d_input = createDeviceArray(n); + auto vec = stdgpu::vector::createDeviceObject(3 * n); + + thrust::sequence(stdgpu::device_begin(d_input), stdgpu::device_end(d_input), 1); + + stdgpu::index_t threads = 32; + stdgpu::index_t blocks = (n + threads - 1) / threads; + insert_neighbors_with_duplicates<<(blocks), + static_cast(threads)>>>(d_input, n, vec); + cudaDeviceSynchronize(); + + auto range_vec = vec.device_range(); + int sum = thrust::reduce(range_vec.begin(), range_vec.end(), 0, thrust::plus()); + + destroyDeviceArray(d_input); + stdgpu::vector::destroyDeviceObject(vec); + + return sum; +} + +int main() { + const int n = 20; + const int sum_closed_form = 3 * (n * (n + 1) / 2); + std::cout << "Sum: " << sum_stdgpu(n) << ", expected: " << sum_closed_form << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/stdgpu/all/test_package/test_package_hip.hip b/recipes/stdgpu/all/test_package/test_package_hip.hip new file mode 100644 index 0000000000000..dc4730565ae0e --- /dev/null +++ b/recipes/stdgpu/all/test_package/test_package_hip.hip @@ -0,0 +1,64 @@ +// https://github.com/stotko/stdgpu/blob/50530de/examples/hip/ranges.hip +/* + * Copyright 2020 Patrick Stotko + * 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 // device_begin, device_end +#include // createDeviceArray, destroyDeviceArray +#include // STDGPU_HOST_DEVICE +#include // device_range +#include // stdgpu::unordered_set + +struct square_int +{ + STDGPU_HOST_DEVICE int + operator()(const int x) const + { + return x * x; + } +}; + +int +main() +{ + const stdgpu::index_t n = 100; + + int* d_input = createDeviceArray(n); + int* d_result = createDeviceArray(n); + stdgpu::unordered_set set = stdgpu::unordered_set::createDeviceObject(n); + + thrust::sequence(stdgpu::device_begin(d_input), stdgpu::device_end(d_input), 1); + + auto range_int = stdgpu::device_range(d_input); + thrust::transform(range_int.begin(), range_int.end(), stdgpu::device_begin(d_result), square_int()); + + set.insert(stdgpu::device_cbegin(d_result), stdgpu::device_cend(d_result)); + + auto range_set = set.device_range(); + int sum = thrust::reduce(range_set.begin(), range_set.end(), 0, thrust::plus()); + + const int sum_closed_form = n * (n + 1) * (2 * n + 1) / 6; + + std::cout << "The computed sum from i = 1 to " << n << " of i^2 is " << sum << " (" << sum_closed_form + << " expected)" << std::endl; + + destroyDeviceArray(d_input); + destroyDeviceArray(d_result); + stdgpu::unordered_set::destroyDeviceObject(set); +} diff --git a/recipes/stdgpu/all/test_package/test_package_openmp.cpp b/recipes/stdgpu/all/test_package/test_package_openmp.cpp new file mode 100644 index 0000000000000..87d3c025b094b --- /dev/null +++ b/recipes/stdgpu/all/test_package/test_package_openmp.cpp @@ -0,0 +1,47 @@ +// Based on https://github.com/stotko/stdgpu/blob/32e0517/examples/openmp/vector.cpp +#include +#include +#include + +#include // device_begin, device_end +#include // createDeviceArray, destroyDeviceArray +#include // STDGPU_HOST_DEVICE +#include // stdgpu::vector + +#include +#include + +void insert_neighbors_with_duplicates(const int *d_input, const stdgpu::index_t n, + stdgpu::vector &vec) { +#pragma omp parallel for + for (stdgpu::index_t i = 0; i < n; ++i) { + int num = d_input[i]; + int num_neighborhood[3] = {num - 1, num, num + 1}; + for (int num_neighbor : num_neighborhood) + vec.push_back(num_neighbor); + } +} + +int sum_stdgpu(stdgpu::index_t n) { + int *d_input = createDeviceArray(n); + auto vec = stdgpu::vector::createDeviceObject(3 * n); + + thrust::sequence(stdgpu::device_begin(d_input), stdgpu::device_end(d_input), 1); + + insert_neighbors_with_duplicates(d_input, n, vec); + + auto range_vec = vec.device_range(); + int sum = thrust::reduce(range_vec.begin(), range_vec.end(), 0, thrust::plus()); + + destroyDeviceArray(d_input); + stdgpu::vector::destroyDeviceObject(vec); + + return sum; +} + +int main() { + const int n = 20; + const int sum_closed_form = 3 * (n * (n + 1) / 2); + std::cout << "Sum: " << sum_stdgpu(n) << ", expected: " << sum_closed_form << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/stdgpu/config.yml b/recipes/stdgpu/config.yml new file mode 100644 index 0000000000000..73334d8cce8e6 --- /dev/null +++ b/recipes/stdgpu/config.yml @@ -0,0 +1,5 @@ +versions: + "cci.20230913": + folder: all + "1.3.0": + folder: all From a82d8e2abd470b5e1d3484ccdd3e66aad5c5a67a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Oct 2023 22:35:22 +0300 Subject: [PATCH 2239/4087] (#18728) zyre: migrate to Conan v2, drop older version * zyre: migrate to Conan v2, drop older version * zyre: restore VirtualRunEnv in test_package * zyre: bump deps * zyre: simplify CMake dependency handling --- recipes/zyre/all/CMakeLists.txt | 13 --- recipes/zyre/all/conandata.yml | 12 --- recipes/zyre/all/conanfile.py | 101 ++++++++++-------- ...-cmake-use-conan-disable-executables.patch | 66 ------------ ...-disable-git-escape-CMAKE_BUILD_TYPE.patch | 20 ---- ...0-0003-fix-zyre-self-test-on-windows.patch | 55 ---------- ...-cmake-use-conan-disable-executables.patch | 52 +-------- recipes/zyre/all/test_package/CMakeLists.txt | 10 +- recipes/zyre/all/test_package/conanfile.py | 19 +++- .../zyre/all/test_package/test_package.cpp | 2 +- .../zyre/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/zyre/all/test_v1_package/conanfile.py | 17 +++ recipes/zyre/config.yml | 2 - 13 files changed, 104 insertions(+), 273 deletions(-) delete mode 100644 recipes/zyre/all/CMakeLists.txt delete mode 100644 recipes/zyre/all/patches/2.0.0-0001-cmake-use-conan-disable-executables.patch delete mode 100644 recipes/zyre/all/patches/2.0.0-0002-zyre-disable-git-escape-CMAKE_BUILD_TYPE.patch delete mode 100644 recipes/zyre/all/patches/2.0.0-0003-fix-zyre-self-test-on-windows.patch create mode 100644 recipes/zyre/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/zyre/all/test_v1_package/conanfile.py diff --git a/recipes/zyre/all/CMakeLists.txt b/recipes/zyre/all/CMakeLists.txt deleted file mode 100644 index d04be130b6aa2..0000000000000 --- a/recipes/zyre/all/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -if(NOT BUILD_SHARED_LIBS) - add_definitions(-DZYRE_STATIC) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/zyre/all/conandata.yml b/recipes/zyre/all/conandata.yml index cce2036293068..9f0637b08d296 100644 --- a/recipes/zyre/all/conandata.yml +++ b/recipes/zyre/all/conandata.yml @@ -2,19 +2,7 @@ sources: "2.0.1": url: "https://github.com/zeromq/zyre/archive/v2.0.1.tar.gz" sha256: "624d379dc880025144f58d3a7dc35ea1be4a57ba4e2a58c98ec15a60891be12d" - "2.0.0": - url: "https://github.com/zeromq/zyre/archive/v2.0.0.tar.gz" - sha256: "b978a999947ddb6722d956db2427869b313225e50518c4fbbf960a68109e3e91" patches: "2.0.1": - patch_file: "patches/2.0.1-0001-cmake-use-conan-disable-executables.patch" - base_path: "source_subfolder" - patch_file: "patches/2.0.1-0002-zyre-disable-git-escape-CMAKE_BUILD_TYPE.patch" - base_path: "source_subfolder" - "2.0.0": - - patch_file: "patches/2.0.0-0001-cmake-use-conan-disable-executables.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.0.0-0002-zyre-disable-git-escape-CMAKE_BUILD_TYPE.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.0.0-0003-fix-zyre-self-test-on-windows.patch" - base_path: "source_subfolder" diff --git a/recipes/zyre/all/conanfile.py b/recipes/zyre/all/conanfile.py index 2720136bcd4ee..44689dcc28f85 100644 --- a/recipes/zyre/all/conanfile.py +++ b/recipes/zyre/all/conanfile.py @@ -1,20 +1,24 @@ -from conans import ConanFile, CMake, tools -from conan.tools.microsoft import is_msvc import os -import functools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class ZyreConan(ConanFile): name = "zyre" + description = "Local Area Clustering for Peer-to-Peer Applications." license = "MPL-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zeromq/zyre" - description = "Local Area Clustering for Peer-to-Peer Applications." - topics = ("zyre", "czmq", "zmq", "zeromq", - "message-queue", "asynchronous") + topics = ("czmq", "zmq", "zeromq", "message-queue", "asynchronous") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - generators = ["cmake", "cmake_find_package"] options = { "shared": [True, False], "fPIC": [True, False], @@ -26,18 +30,8 @@ class ZyreConan(ConanFile): "drafts": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -45,47 +39,64 @@ 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("czmq/4.2.0") + self.requires("czmq/4.2.1", transitive_headers=True) self.requires("zeromq/4.3.4") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("libsystemd/249.7") + self.requires("libsystemd/253.6") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["ENABLE_DRAFTS"] = self.options.drafts - if tools.Version(self.version) >= "2.0.1": - cmake.definitions["ZYRE_BUILD_SHARED"] = self.options.shared - cmake.definitions["ZYRE_BUILD_STATIC"] = not self.options.shared - cmake.configure(build_dir=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_DRAFTS"] = self.options.drafts + if Version(self.version) >= "2.0.1": + tc.variables["ZYRE_BUILD_SHARED"] = self.options.shared + tc.variables["ZYRE_BUILD_STATIC"] = not self.options.shared + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + if not self.options.shared: + tc.preprocessor_definitions["ZYRE_STATIC"] = "" + tc.generate() + deps = CMakeDeps(self) + deps.set_property("zeromq", "cmake_file_name", "LIBZMQ") + deps.set_property("czmq", "cmake_file_name", "CZMQ") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "find_package(libzmq REQUIRED)", "find_package(LIBZMQ REQUIRED CONFIG)") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "find_package(czmq REQUIRED)", "find_package(CZMQ REQUIRED CONFIG)") def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", src=self._source_subfolder, - dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig",)) - tools.rmdir(os.path.join(self.package_folder, "share",)) - tools.rmdir(os.path.join(self.package_folder, "cmake",)) + 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, "cmake")) def package_info(self): - self.cpp_info.names["pkg_config"] = "libzyre" - - libname = "libzyre" if tools.Version(self.version) >= "2.0.1" and is_msvc(self) and not self.options.shared else "zyre" + self.cpp_info.set_property("pkg_config_name", "libzyre") + + libname = "zyre" + if Version(self.version) >= "2.0.1" and is_msvc(self) and not self.options.shared: + libname = "libzyre" self.cpp_info.libs = [libname] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "dl", "rt", "m"] diff --git a/recipes/zyre/all/patches/2.0.0-0001-cmake-use-conan-disable-executables.patch b/recipes/zyre/all/patches/2.0.0-0001-cmake-use-conan-disable-executables.patch deleted file mode 100644 index 1c404d27e174c..0000000000000 --- a/recipes/zyre/all/patches/2.0.0-0001-cmake-use-conan-disable-executables.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -107,10 +107,10 @@ set(OPTIONAL_LIBRARIES) - ######################################################################## - # LIBZMQ dependency - ######################################################################## --find_package(libzmq REQUIRED) -+find_package(ZeroMQ REQUIRED) --IF (LIBZMQ_FOUND) -+IF (ZEROMQ_FOUND) -- include_directories(${LIBZMQ_INCLUDE_DIRS}) -- list(APPEND MORE_LIBRARIES ${LIBZMQ_LIBRARIES}) -+ include_directories(${CONAN_INCLUDE_DIRS_LIBZMQ}) -+ list(APPEND MORE_LIBRARIES ZeroMQ::ZeroMQ) - set(pkg_config_libs_private "${pkg_config_libs_private} -lzmq") - ELSE (LIBZMQ_FOUND) - message( FATAL_ERROR "libzmq not found." ) -@@ -121,8 +121,8 @@ ENDIF (LIBZMQ_FOUND) - ######################################################################## - find_package(czmq REQUIRED) - IF (CZMQ_FOUND) -- include_directories(${CZMQ_INCLUDE_DIRS}) -- list(APPEND MORE_LIBRARIES ${CZMQ_LIBRARIES}) -+ include_directories(${CONAN_INCLUDE_DIRS_CZMQ}) -+ list(APPEND MORE_LIBRARIES czmq::czmq) - set(pkg_config_libs_private "${pkg_config_libs_private} -lczmq") - ELSE (CZMQ_FOUND) - message( FATAL_ERROR "czmq not found." ) -@@ -168,7 +168,7 @@ - endif() - add_library(zyre ${zyre_sources}) - set_target_properties(zyre -- PROPERTIES DEFINE_SYMBOL "ZYRE_EXPORTS" -+ PROPERTIES DEFINE_SYMBOL "ZYRE_EXPORTS" LINKER_LANGUAGE CXX - ) - set_target_properties (zyre - PROPERTIES SOVERSION "2.0.0" -@@ -182,9 +182,9 @@ install(TARGETS zyre - ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file - RUNTIME DESTINATION bin # .dll file - ) -- -+if(BUILD_EXECUTABLES) - include(${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists-local.txt) # Optional project-local hook -- -+endif() - ######################################################################## - # pkgconfig - ######################################################################## -@@ -211,6 +211,7 @@ install( - ######################################################################## - # executables - ######################################################################## -+if(BUILD_EXECUTABLES) - add_executable( - perf_local - "${SOURCE_DIR}/src/perf_local.c" -@@ -304,7 +305,7 @@ set_target_properties( - zyre_selftest - PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${SOURCE_DIR}/src" - ) -- -+endif() - ######################################################################## - # tests - ######################################################################## diff --git a/recipes/zyre/all/patches/2.0.0-0002-zyre-disable-git-escape-CMAKE_BUILD_TYPE.patch b/recipes/zyre/all/patches/2.0.0-0002-zyre-disable-git-escape-CMAKE_BUILD_TYPE.patch deleted file mode 100644 index 055ebeaf29096..0000000000000 --- a/recipes/zyre/all/patches/2.0.0-0002-zyre-disable-git-escape-CMAKE_BUILD_TYPE.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -22,7 +22,7 @@ - ######################################################################## - # options - ######################################################################## --if (NOT CMAKE_BUILD_TYPE) -+if (0) - if (EXISTS "${SOURCE_DIR}/.git") - set (CMAKE_BUILD_TYPE Debug) - else () -@@ -43,7 +43,7 @@ - endif () - endif () - endif () --if (${CMAKE_BUILD_TYPE} STREQUAL "Debug") -+if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") - OPTION (ENABLE_DRAFTS "Build and install draft classes and methods" ON) - else () - OPTION (ENABLE_DRAFTS "Build and install draft classes and methods" OFF) diff --git a/recipes/zyre/all/patches/2.0.0-0003-fix-zyre-self-test-on-windows.patch b/recipes/zyre/all/patches/2.0.0-0003-fix-zyre-self-test-on-windows.patch deleted file mode 100644 index 961bb8d6f2a19..0000000000000 --- a/recipes/zyre/all/patches/2.0.0-0003-fix-zyre-self-test-on-windows.patch +++ /dev/null @@ -1,55 +0,0 @@ -https://github.com/zeromq/czmq/commit/8f8aa86ec1ecf903a614a26aa9e4dd63ace4ffd1 - ---- src/zre_msg.c -+++ src/zre_msg.c -@@ -1766,4 +1766,7 @@ - // @end - -+#ifdef __WINDOWS__ -+ zsys_shutdown(); -+#endif - printf ("OK\n"); - } ---- src/zyre.c -+++ src/zyre.c -@@ -738,6 +738,9 @@ - zyre_destroy (&node2); - // @end -+#ifdef __WINDOWS__ -+ zsys_shutdown(); -+#endif - printf ("OK\n"); - - // zre_msg, zyre_group, zyre_node and zyre_peer are private classes and - // symbols are not exported so the tests can't be run from zyre_selftest, ---- src/zyre_group.c -+++ src/zyre_group.c -@@ -171,5 +171,8 @@ - zhash_destroy (&groups); - zsock_destroy (&mailbox); -+#ifdef __WINDOWS__ -+ zsys_shutdown(); -+#endif - printf ("OK\n"); - } - ---- src/zyre_node.c -+++ src/zyre_node.c -@@ -1022,4 +1022,7 @@ - zsock_destroy (&pipe); - // Node takes ownership of outbox and destroys it -+#ifdef __WINDOWS__ -+ zsys_shutdown(); -+#endif - printf ("OK\n"); - } ---- src/zyre_peer.c -+++ src/zyre_peer.c -@@ -475,4 +475,7 @@ - zsock_destroy (&mailbox); - -+#ifdef __WINDOWS__ -+ zsys_shutdown(); -+#endif - printf ("OK\n"); - } diff --git a/recipes/zyre/all/patches/2.0.1-0001-cmake-use-conan-disable-executables.patch b/recipes/zyre/all/patches/2.0.1-0001-cmake-use-conan-disable-executables.patch index b13f4721e04bf..156d0f5972669 100644 --- a/recipes/zyre/all/patches/2.0.1-0001-cmake-use-conan-disable-executables.patch +++ b/recipes/zyre/all/patches/2.0.1-0001-cmake-use-conan-disable-executables.patch @@ -2,51 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index e285ba0..69f3c19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -126,33 +126,23 @@ set(OPTIONAL_LIBRARIES_STATIC) - ######################################################################## - # LIBZMQ dependency - ######################################################################## --find_package(libzmq REQUIRED) --IF (LIBZMQ_FOUND) -- include_directories(${LIBZMQ_INCLUDE_DIRS}) -- list(APPEND MORE_LIBRARIES ${LIBZMQ_LIBRARIES}) -- IF (PC_LIBZMQ_FOUND) -- set(pkg_config_names_private "${pkg_config_names_private} libzmq") -- list(APPEND OPTIONAL_LIBRARIES_STATIC ${PC_LIBZMQ_STATIC_LDFLAGS}) -- ELSE (PC_LIBZMQ_FOUND) -- set(pkg_config_libs_private "${pkg_config_libs_private} -lzmq") -- ENDIF (PC_LIBZMQ_FOUND) --ELSE (LIBZMQ_FOUND) -+find_package(ZeroMQ REQUIRED) -+IF (ZEROMQ_FOUND) -+ include_directories(${CONAN_INCLUDE_DIRS_LIBZMQ}) -+ list(APPEND MORE_LIBRARIES ZeroMQ::ZeroMQ) -+ set(pkg_config_libs_private "${pkg_config_libs_private} -lzmq") -+ELSE (ZEROMQ_FOUND) - message( FATAL_ERROR "libzmq not found." ) --ENDIF (LIBZMQ_FOUND) -+ENDIF (ZEROMQ_FOUND) - - ######################################################################## - # CZMQ dependency - ######################################################################## - find_package(czmq REQUIRED) - IF (CZMQ_FOUND) -- include_directories(${CZMQ_INCLUDE_DIRS}) -- list(APPEND MORE_LIBRARIES ${CZMQ_LIBRARIES}) -- IF (PC_CZMQ_FOUND) -- set(pkg_config_names_private "${pkg_config_names_private} libczmq") -- list(APPEND OPTIONAL_LIBRARIES_STATIC ${PC_CZMQ_STATIC_LDFLAGS}) -- ELSE (PC_CZMQ_FOUND) -- set(pkg_config_libs_private "${pkg_config_libs_private} -lczmq") -- ENDIF (PC_CZMQ_FOUND) -+ include_directories(${CONAN_INCLUDE_DIRS_CZMQ}) -+ list(APPEND MORE_LIBRARIES czmq::czmq) -+ set(pkg_config_libs_private "${pkg_config_libs_private} -lczmq") - ELSE (CZMQ_FOUND) - message( FATAL_ERROR "czmq not found." ) - ENDIF (CZMQ_FOUND) -@@ -237,6 +227,7 @@ if (ZYRE_BUILD_SHARED) +@@ -237,6 +237,7 @@ if (ZYRE_BUILD_SHARED) set_target_properties (zyre PROPERTIES PUBLIC_HEADER "${public_headers}" DEFINE_SYMBOL "ZYRE_EXPORTS" @@ -65,7 +21,7 @@ index e285ba0..69f3c19 100644 ######################################################################## # pkgconfig -@@ -360,6 +352,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zyreConfig.cmake +@@ -360,6 +362,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zyreConfig.cmake ######################################################################## # executables ######################################################################## @@ -73,7 +29,7 @@ index e285ba0..69f3c19 100644 add_executable( perf_local "${SOURCE_DIR}/src/perf_local.c" -@@ -491,6 +484,7 @@ target_link_libraries( +@@ -491,6 +494,7 @@ target_link_libraries( ${OPTIONAL_LIBRARIES} ) endif() @@ -81,7 +37,7 @@ index e285ba0..69f3c19 100644 if (NOT TARGET zyre AND TARGET zyre-static) target_link_libraries( zyre_selftest -@@ -501,6 +495,7 @@ target_link_libraries( +@@ -501,6 +515,7 @@ target_link_libraries( ${OPTIONAL_LIBRARIES_STATIC} ) endif() diff --git a/recipes/zyre/all/test_package/CMakeLists.txt b/recipes/zyre/all/test_package/CMakeLists.txt index cb1a41293b4f6..c012d5f284e96 100644 --- a/recipes/zyre/all/test_package/CMakeLists.txt +++ b/recipes/zyre/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(zyre CONFIG REQUIRED) +find_package(zyre REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} zyre::zyre) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/zyre/all/test_package/conanfile.py b/recipes/zyre/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/zyre/all/test_package/conanfile.py +++ b/recipes/zyre/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/zyre/all/test_package/test_package.cpp b/recipes/zyre/all/test_package/test_package.cpp index 7e0b34256ef83..1ec72703b4d64 100644 --- a/recipes/zyre/all/test_package/test_package.cpp +++ b/recipes/zyre/all/test_package/test_package.cpp @@ -5,7 +5,7 @@ int main(void) { uint64_t version = zyre_version(); - std::cout << "zyre version : " << version << std::endl; + std::cout << "zyre version : " << version << std::endl; return 0; } diff --git a/recipes/zyre/all/test_v1_package/CMakeLists.txt b/recipes/zyre/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/zyre/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/zyre/all/test_v1_package/conanfile.py b/recipes/zyre/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/zyre/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/zyre/config.yml b/recipes/zyre/config.yml index 184166496d26e..bb7eb85dfac49 100644 --- a/recipes/zyre/config.yml +++ b/recipes/zyre/config.yml @@ -1,5 +1,3 @@ versions: "2.0.1": folder: all - "2.0.0": - folder: all From e3d91265ab6f926612045629612ffdd79b32bc59 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 25 Oct 2023 21:57:46 +0200 Subject: [PATCH 2240/4087] (#20650) zstd: do not package both static & shared on windows * do not package both static & shared on windows * typo --- recipes/zstd/all/conanfile.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/recipes/zstd/all/conanfile.py b/recipes/zstd/all/conanfile.py index 2c1eb9056387d..6b5292a15a293 100644 --- a/recipes/zstd/all/conanfile.py +++ b/recipes/zstd/all/conanfile.py @@ -86,24 +86,25 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) if self.options.shared and self.options.build_programs: - #If we built programs we always build static libs, - #but if we only want shared libs in the package then remove the static libs + # If we build programs we have to build static libs (see logic in generate()), + # but if shared is True, we only want shared lib in package folder. rm(self, "*.a", os.path.join(self.package_folder, "lib")) + rm(self, "*_static.*", os.path.join(self.package_folder, "lib")) def package_info(self): zstd_cmake = "libzstd_shared" if self.options.shared else "libzstd_static" self.cpp_info.set_property("cmake_file_name", "zstd") self.cpp_info.set_property("cmake_target_name", f"zstd::{zstd_cmake}") self.cpp_info.set_property("pkg_config_name", "libzstd") - self.cpp_info.components["zstdlib"].set_property("pkg_config_name", "libzstd") - self.cpp_info.components["zstdlib"].names["cmake_find_package"] = zstd_cmake - self.cpp_info.components["zstdlib"].names["cmake_find_package_multi"] = zstd_cmake - self.cpp_info.components["zstdlib"].set_property("cmake_target_name", f"zstd::{zstd_cmake}") self.cpp_info.components["zstdlib"].libs = collect_libs(self) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["zstdlib"].system_libs.append("pthread") + # TODO: Remove after dropping Conan 1.x from ConanCenterIndex + self.cpp_info.components["zstdlib"].names["cmake_find_package"] = zstd_cmake + self.cpp_info.components["zstdlib"].names["cmake_find_package_multi"] = zstd_cmake + self.cpp_info.components["zstdlib"].set_property("cmake_target_name", f"zstd::{zstd_cmake}") + self.cpp_info.components["zstdlib"].set_property("pkg_config_name", "libzstd") if self.options.build_programs: - # TODO: Remove after dropping Conan 1.x from ConanCenterIndex bindir = os.path.join(self.package_folder, "bin") self.env_info.PATH.append(bindir) From 349355b49a7624cd97d1fcda30dbf24b46f859ff Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 25 Oct 2023 23:38:11 +0300 Subject: [PATCH 2241/4087] (#20748) octomap: add a missing patch to the latest version --- recipes/octomap/all/conandata.yml | 4 + .../all/patches/1.9.8-0001-cpp17-compat.patch | 442 ++++++++++++++++++ 2 files changed, 446 insertions(+) create mode 100644 recipes/octomap/all/patches/1.9.8-0001-cpp17-compat.patch diff --git a/recipes/octomap/all/conandata.yml b/recipes/octomap/all/conandata.yml index 315b1fcda454d..4699a071746f8 100644 --- a/recipes/octomap/all/conandata.yml +++ b/recipes/octomap/all/conandata.yml @@ -19,6 +19,10 @@ patches: - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" patch_description: "CMake: build either shared or static, and avoid name collision" patch_type: "conan" + - patch_file: "patches/1.9.8-0001-cpp17-compat.patch" + patch_description: "Robust C++17 compatibility" + patch_type: "portability" + patch_source: "https://github.com/OctoMap/octomap/pull/394" "1.9.7": - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" patch_description: "CMake: build either shared or static, and avoid name collision" diff --git a/recipes/octomap/all/patches/1.9.8-0001-cpp17-compat.patch b/recipes/octomap/all/patches/1.9.8-0001-cpp17-compat.patch new file mode 100644 index 0000000000000..5855cdf69fd95 --- /dev/null +++ b/recipes/octomap/all/patches/1.9.8-0001-cpp17-compat.patch @@ -0,0 +1,442 @@ +--- a/octomap/include/octomap/AbstractOcTree.h ++++ b/octomap/include/octomap/AbstractOcTree.h +@@ -51,7 +51,7 @@ + friend class StaticMapInit; + public: + AbstractOcTree(); +- virtual ~AbstractOcTree() {}; ++ virtual ~AbstractOcTree() {} + + /// virtual constructor: creates a new object of same type + virtual AbstractOcTree* create() const = 0; +--- a/octomap/include/octomap/AbstractOccupancyOcTree.h ++++ b/octomap/include/octomap/AbstractOccupancyOcTree.h +@@ -52,7 +52,7 @@ + class AbstractOccupancyOcTree : public AbstractOcTree { + public: + AbstractOccupancyOcTree(); +- virtual ~AbstractOccupancyOcTree() {}; ++ virtual ~AbstractOccupancyOcTree() {} + + //-- IO + +--- a/octomap/include/octomap/ColorOcTree.h ++++ b/octomap/include/octomap/ColorOcTree.h +@@ -192,7 +192,7 @@ + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// static member to ensure static initialization (only once) + static StaticMemberInitializer colorOcTreeMemberInit; +--- a/octomap/include/octomap/CountingOcTree.h ++++ b/octomap/include/octomap/CountingOcTree.h +@@ -110,7 +110,7 @@ + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// static member to ensure static initialization (only once) + static StaticMemberInitializer countingOcTreeMemberInit; +--- a/octomap/include/octomap/OcTree.h ++++ b/octomap/include/octomap/OcTree.h +@@ -59,7 +59,7 @@ + */ + OcTree(std::string _filename); + +- virtual ~OcTree(){}; ++ virtual ~OcTree(){} + + /// virtual constructor: creates a new object of same type + /// (Covariant return type requires an up-to-date compiler) +@@ -89,7 +89,7 @@ + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + + /// to ensure static initialization (only once) +--- a/octomap/include/octomap/OcTreeBase.h ++++ b/octomap/include/octomap/OcTreeBase.h +@@ -43,7 +43,7 @@ + template + class OcTreeBase : public OcTreeBaseImpl { + public: +- OcTreeBase(double res) : OcTreeBaseImpl(res) {}; ++ OcTreeBase(double res) : OcTreeBaseImpl(res) {} + + /// virtual constructor: creates a new object of same type + /// (Covariant return type requires an up-to-date compiler) +--- a/octomap/include/octomap/OcTreeBaseImpl.h ++++ b/octomap/include/octomap/OcTreeBaseImpl.h +@@ -244,7 +244,7 @@ + virtual size_t memoryUsage() const; + + /// \return Memory usage of a single octree node +- virtual inline size_t memoryUsageNode() const {return sizeof(NODE); }; ++ virtual inline size_t memoryUsageNode() const {return sizeof(NODE); } + + /// \return Memory usage of a full grid of the same size as the OcTree in bytes (for comparison) + /// \note this can be larger than the adressable memory - size_t may not be enough to hold it! +@@ -324,12 +324,12 @@ + typedef leaf_iterator iterator; + + /// @return beginning of the tree as leaf iterator +- iterator begin(unsigned char maxDepth=0) const {return iterator(this, maxDepth);}; ++ iterator begin(unsigned char maxDepth=0) const {return iterator(this, maxDepth);} + /// @return end of the tree as leaf iterator +- const iterator end() const {return leaf_iterator_end;}; // TODO: RVE? ++ const iterator end() const {return leaf_iterator_end;} // TODO: RVE? + + /// @return beginning of the tree as leaf iterator +- leaf_iterator begin_leafs(unsigned char maxDepth=0) const {return leaf_iterator(this, maxDepth);}; ++ leaf_iterator begin_leafs(unsigned char maxDepth=0) const {return leaf_iterator(this, maxDepth);} + /// @return end of the tree as leaf iterator + const leaf_iterator end_leafs() const {return leaf_iterator_end;} + +--- a/octomap/include/octomap/OcTreeDataNode.h ++++ b/octomap/include/octomap/OcTreeDataNode.h +@@ -100,9 +100,9 @@ + OCTOMAP_DEPRECATED(bool hasChildren() const); + + /// @return value stored in the node +- T getValue() const{return value;}; ++ T getValue() const{return value;} + /// sets value to be stored in the node +- void setValue(T v) {value = v;}; ++ void setValue(T v) {value = v;} + + // file IO: + +--- a/octomap/include/octomap/OcTreeIterator.hxx ++++ b/octomap/include/octomap/OcTreeIterator.hxx +@@ -95,7 +95,7 @@ + maxDepth = other.maxDepth; + stack = other.stack; + return *this; +- }; ++ } + + /// Ptr operator will return the current node in the octree which the + /// iterator is referring to +@@ -213,7 +213,7 @@ + * @param ptree OcTreeBaseImpl on which the iterator is used on + * @param depth Maximum depth to traverse the tree. 0 (default): unlimited + */ +- tree_iterator(OcTreeBaseImpl const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {}; ++ tree_iterator(OcTreeBaseImpl const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {} + + /// postfix increment operator of iterator (it++) + tree_iterator operator++(int){ +@@ -280,7 +280,7 @@ + } + } + +- leaf_iterator(const leaf_iterator& other) : iterator_base(other) {}; ++ leaf_iterator(const leaf_iterator& other) : iterator_base(other) {} + + /// postfix increment operator of iterator (it++) + leaf_iterator operator++(int){ +@@ -334,7 +334,7 @@ + */ + class leaf_bbx_iterator : public iterator_base { + public: +- leaf_bbx_iterator() : iterator_base() {}; ++ leaf_bbx_iterator() : iterator_base() {} + /** + * Constructor of the iterator. The bounding box corners min and max are + * converted into an OcTreeKey first. +@@ -425,7 +425,7 @@ + + + return *this; +- }; ++ } + + protected: + +--- a/octomap/include/octomap/OcTreeStamped.h ++++ b/octomap/include/octomap/OcTreeStamped.h +@@ -116,7 +116,7 @@ + * StaticMemberInitializer, causing this tree failing to register. + * Needs to be called from the constructor of this octree. + */ +- void ensureLinking() {}; ++ void ensureLinking() {} + }; + /// to ensure static initialization (only once) + static StaticMemberInitializer ocTreeStampedMemberInit; +--- a/octomap/include/octomap/ScanGraph.h ++++ b/octomap/include/octomap/ScanGraph.h +@@ -115,7 +115,7 @@ + + public: + +- ScanGraph() {}; ++ ScanGraph() {} + ~ScanGraph(); + + /// Clears all nodes and edges, and will delete the corresponding objects +--- a/octomap/src/Pointcloud.cpp ++++ b/octomap/src/Pointcloud.cpp +@@ -38,7 +38,7 @@ + + #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + #include +- #if __cplusplus > 199711L ++ #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + #include + #endif + #else +@@ -213,7 +213,7 @@ + #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + samples.reserve(this->size()); + samples.insert(samples.end(), this->begin(), this->end()); +- #if __cplusplus > 199711L ++ #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + std::random_device r; + std::mt19937 urbg(r()); + std::shuffle(samples.begin(), samples.end(), urbg); +--- a/octomap/src/compare_octrees.cpp ++++ b/octomap/src/compare_octrees.cpp +@@ -132,7 +132,7 @@ + else + kld +=log(p1/p2)*p1 + log((1-p1)/(1-p2))*(1-p1); + +-#if __cplusplus >= 201103L ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + if (std::isnan(kld)){ + #else + if (isnan(kld)){ +--- a/octovis/include/octovis/OcTreeDrawer.h ++++ b/octovis/include/octovis/OcTreeDrawer.h +@@ -62,14 +62,14 @@ + void setAlternativeDrawing(bool flag){m_alternativeDrawing = flag;} + + void enableOcTree(bool enabled = true); +- void enableOcTreeCells(bool enabled = true) { m_update = true; m_drawOccupied = enabled; }; +- void enableFreespace(bool enabled = true) { m_update = true; m_drawFree = enabled; }; +- void enableSelection(bool enabled = true) { m_update = true; m_drawSelection = enabled; }; +- void setMax_tree_depth(unsigned int max_tree_depth) { m_update = true; m_max_tree_depth = max_tree_depth;}; ++ void enableOcTreeCells(bool enabled = true) { m_update = true; m_drawOccupied = enabled; } ++ void enableFreespace(bool enabled = true) { m_update = true; m_drawFree = enabled; } ++ void enableSelection(bool enabled = true) { m_update = true; m_drawSelection = enabled; } ++ void setMax_tree_depth(unsigned int max_tree_depth) { m_update = true; m_max_tree_depth = max_tree_depth;} + + // set new origin (move object) + void setOrigin(octomap::pose6d t); +- void enableAxes(bool enabled = true) { m_update = true; m_displayAxes = enabled; }; ++ void enableAxes(bool enabled = true) { m_update = true; m_displayAxes = enabled; } + + protected: + //void clearOcTree(); +--- a/octovis/include/octovis/SceneObject.h ++++ b/octovis/include/octovis/SceneObject.h +@@ -57,7 +57,7 @@ + + public: + SceneObject(); +- virtual ~SceneObject(){}; ++ virtual ~SceneObject(){} + + /** + * Actual draw function which will be called to visualize the object +@@ -67,7 +67,7 @@ + /** + * Clears the object's representation (will be called when it gets invalid) + */ +- virtual void clear(){}; ++ virtual void clear(){} + + public: + //! the color mode has to be set before calling OcTreDrawer::setMap() +@@ -95,8 +95,8 @@ + */ + class ScanGraphDrawer : public SceneObject { + public: +- ScanGraphDrawer(): SceneObject(){}; +- virtual ~ScanGraphDrawer(){}; ++ ScanGraphDrawer(): SceneObject(){} ++ virtual ~ScanGraphDrawer(){} + + /** + * Notifies drawer of a new or changed ScanGraph, so that the internal +--- a/octovis/include/octovis/ViewerSettings.h ++++ b/octovis/include/octovis/ViewerSettings.h +@@ -40,12 +40,12 @@ + public: + ViewerSettings(QWidget *parent = 0); + ~ViewerSettings(); +- double getResolution(){return ui.resolution->value(); }; +- void setResolution(double resolution){ui.resolution->setValue(resolution);}; +- unsigned int getLaserType(){return ui.laserType->currentIndex(); }; +- void setLaserType(int type){ui.laserType->setCurrentIndex(type); }; +- double getMaxRange(){return ui.maxRange->value(); }; +- void setMaxRange(double range){ui.maxRange->setValue(range); }; ++ double getResolution(){return ui.resolution->value(); } ++ void setResolution(double resolution){ui.resolution->setValue(resolution);} ++ unsigned int getLaserType(){return ui.laserType->currentIndex(); } ++ void setLaserType(int type){ui.laserType->setCurrentIndex(type); } ++ double getMaxRange(){return ui.maxRange->value(); } ++ void setMaxRange(double range){ui.maxRange->setValue(range); } + + private: + Ui::ViewerSettingsClass ui; +--- a/octovis/src/extern/QGLViewer/VRender/Exporter.h ++++ b/octovis/src/extern/QGLViewer/VRender/Exporter.h +@@ -60,7 +60,7 @@ + { + public: + Exporter() ; +- virtual ~Exporter() {}; ++ virtual ~Exporter() {} + + virtual void exportToFile(const QString& filename,const std::vector&,VRenderParams&) ; + +@@ -92,7 +92,7 @@ + { + public: + EPSExporter() ; +- virtual ~EPSExporter() {}; ++ virtual ~EPSExporter() {} + + protected: + virtual void spewPoint(const Point *, QTextStream& out) ; +@@ -120,7 +120,7 @@ + class PSExporter: public EPSExporter + { + public: +- virtual ~PSExporter() {}; ++ virtual ~PSExporter() {} + protected: + virtual void writeFooter(QTextStream& out) const ; + }; +@@ -129,7 +129,7 @@ + { + public: + FIGExporter() ; +- virtual ~FIGExporter() {}; ++ virtual ~FIGExporter() {} + + protected: + virtual void spewPoint(const Point *, QTextStream& out) ; +--- a/octovis/src/extern/QGLViewer/camera.cpp ++++ b/octovis/src/extern/QGLViewer/camera.cpp +@@ -199,8 +199,8 @@ + \code + class myCamera :: public qglviewer::Camera + { +- virtual qreal Camera::zNear() const { return 0.001; }; +- virtual qreal Camera::zFar() const { return 100.0; }; ++ virtual qreal Camera::zNear() const { return 0.001; } ++ virtual qreal Camera::zFar() const { return 100.0; } + } + \endcode + +--- a/octovis/src/extern/QGLViewer/constraint.h ++++ b/octovis/src/extern/QGLViewer/constraint.h +@@ -197,7 +197,7 @@ + case MyAxisPlaneConstraint::FREE: ... break; + case MyAxisPlaneConstraint::CUSTOM: ... break; + } +- }; ++ } + + MyAxisPlaneConstraint* c = new MyAxisPlaneConstraint(); + // Note the Type conversion +@@ -209,11 +209,11 @@ + /*! @name Translation constraint */ + //@{ + /*! Overloading of Constraint::constrainTranslation(). Empty */ +- virtual void constrainTranslation(Vec& translation, Frame* const frame) { Q_UNUSED(translation); Q_UNUSED(frame); }; ++ virtual void constrainTranslation(Vec& translation, Frame* const frame) { Q_UNUSED(translation); Q_UNUSED(frame); } + + void setTranslationConstraint(Type type, const Vec& direction); + /*! Sets the Type() of the translationConstraintType(). Default is AxisPlaneConstraint::FREE. */ +- void setTranslationConstraintType(Type type) { translationConstraintType_ = type; }; ++ void setTranslationConstraintType(Type type) { translationConstraintType_ = type; } + void setTranslationConstraintDirection(const Vec& direction); + + /*! Returns the translation constraint Type(). +@@ -225,7 +225,7 @@ + + Use Frame::setPosition() to define the position of the constrained Frame before it gets + constrained. */ +- Type translationConstraintType() const { return translationConstraintType_; }; ++ Type translationConstraintType() const { return translationConstraintType_; } + /*! Returns the direction used by the translation constraint. + + It represents the axis direction (AxisPlaneConstraint::AXIS) or the plane normal +@@ -235,20 +235,20 @@ + The AxisPlaneConstraint derived classes express this direction in different coordinate system + (camera for CameraConstraint, local for LocalConstraint, and world for WorldConstraint). This + value can be modified with setTranslationConstraintDirection(). */ +- Vec translationConstraintDirection() const { return translationConstraintDir_; }; ++ Vec translationConstraintDirection() const { return translationConstraintDir_; } + //@} + + /*! @name Rotation constraint */ + //@{ + /*! Overloading of Constraint::constrainRotation(). Empty. */ +- virtual void constrainRotation(Quaternion& rotation, Frame* const frame) { Q_UNUSED(rotation); Q_UNUSED(frame); }; ++ virtual void constrainRotation(Quaternion& rotation, Frame* const frame) { Q_UNUSED(rotation); Q_UNUSED(frame); } + + void setRotationConstraint(Type type, const Vec& direction); + void setRotationConstraintType(Type type); + void setRotationConstraintDirection(const Vec& direction); + + /*! Returns the rotation constraint Type(). */ +- Type rotationConstraintType() const { return rotationConstraintType_; }; ++ Type rotationConstraintType() const { return rotationConstraintType_; } + /*! Returns the axis direction used by the rotation constraint. + + This direction is defined only when rotationConstraintType() is AxisPlaneConstraint::AXIS. +@@ -256,7 +256,7 @@ + The AxisPlaneConstraint derived classes express this direction in different coordinate system + (camera for CameraConstraint, local for LocalConstraint, and world for WorldConstraint). This + value can be modified with setRotationConstraintDirection(). */ +- Vec rotationConstraintDirection() const { return rotationConstraintDir_; }; ++ Vec rotationConstraintDirection() const { return rotationConstraintDir_; } + //@} + + private: +@@ -280,7 +280,7 @@ + { + public: + /*! Virtual destructor. Empty. */ +- virtual ~LocalConstraint() {}; ++ virtual ~LocalConstraint() {} + + virtual void constrainTranslation(Vec& translation, Frame* const frame); + virtual void constrainRotation (Quaternion& rotation, Frame* const frame); +@@ -300,7 +300,7 @@ + { + public: + /*! Virtual destructor. Empty. */ +- virtual ~WorldConstraint() {}; ++ virtual ~WorldConstraint() {} + + virtual void constrainTranslation(Vec& translation, Frame* const frame); + virtual void constrainRotation (Quaternion& rotation, Frame* const frame); +@@ -321,13 +321,13 @@ + public: + explicit CameraConstraint(const Camera* const camera); + /*! Virtual destructor. Empty. */ +- virtual ~CameraConstraint() {}; ++ virtual ~CameraConstraint() {} + + virtual void constrainTranslation(Vec& translation, Frame* const frame); + virtual void constrainRotation (Quaternion& rotation, Frame* const frame); + + /*! Returns the associated Camera. Set using the CameraConstraint constructor. */ +- const Camera* camera() const { return camera_; }; ++ const Camera* camera() const { return camera_; } + + private: + const Camera* const camera_; From 1065668ce8bd1a1ccf8f9589df919c488de0d0f1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:57:09 +0200 Subject: [PATCH 2242/4087] (#20752) libxmlpp: relocatable shared lib for macos + revert to default cmake target name * relocatable shared lib for macOS * revert to default cmake target name since there is no CMake config file upstream there is also no `libxml++.pc` file, only `libxml++-.pc` * add package_type * change base recipe folder from 2.x.x to all --- recipes/libxmlpp/{2.x.x => all}/conandata.yml | 1 - recipes/libxmlpp/{2.x.x => all}/conanfile.py | 26 ++++++------------- ....1-0001-enable_static_builds_on_msvc.patch | 0 ....1-0001-enable_static_builds_on_msvc.patch | 0 .../test_package/CMakeLists.txt | 6 +---- .../{2.x.x => all}/test_package/conanfile.py | 0 .../{2.x.x => all}/test_package/example.xml | 0 .../test_package/test_package.cpp | 0 recipes/libxmlpp/config.yml | 4 +-- 9 files changed, 11 insertions(+), 26 deletions(-) rename recipes/libxmlpp/{2.x.x => all}/conandata.yml (99%) rename recipes/libxmlpp/{2.x.x => all}/conanfile.py (81%) rename recipes/libxmlpp/{2.x.x => all}/patches/2.42.1-0001-enable_static_builds_on_msvc.patch (100%) rename recipes/libxmlpp/{2.x.x => all}/patches/5.0.1-0001-enable_static_builds_on_msvc.patch (100%) rename recipes/libxmlpp/{2.x.x => all}/test_package/CMakeLists.txt (55%) rename recipes/libxmlpp/{2.x.x => all}/test_package/conanfile.py (100%) rename recipes/libxmlpp/{2.x.x => all}/test_package/example.xml (100%) rename recipes/libxmlpp/{2.x.x => all}/test_package/test_package.cpp (100%) diff --git a/recipes/libxmlpp/2.x.x/conandata.yml b/recipes/libxmlpp/all/conandata.yml similarity index 99% rename from recipes/libxmlpp/2.x.x/conandata.yml rename to recipes/libxmlpp/all/conandata.yml index 56262b8dfb0cb..7865117bec5fc 100644 --- a/recipes/libxmlpp/2.x.x/conandata.yml +++ b/recipes/libxmlpp/all/conandata.yml @@ -5,7 +5,6 @@ sources: "2.42.1": url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/2.42.1/libxml++-2.42.1.tar.xz" sha256: "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8" - patches: "5.0.1": - patch_file: "patches/5.0.1-0001-enable_static_builds_on_msvc.patch" diff --git a/recipes/libxmlpp/2.x.x/conanfile.py b/recipes/libxmlpp/all/conanfile.py similarity index 81% rename from recipes/libxmlpp/2.x.x/conanfile.py rename to recipes/libxmlpp/all/conanfile.py index 11df8bd1737b7..8cd20b28a27a8 100644 --- a/recipes/libxmlpp/2.x.x/conanfile.py +++ b/recipes/libxmlpp/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name from conan.tools.meson import Meson, MesonToolchain from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version @@ -21,7 +22,8 @@ class LibXMLPlusPlus(ConanFile): license = "LGPL-2.1" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/libxmlplusplus/libxmlplusplus" - topics = ["xml", "parser", "wrapper"] + topics = ("xml", "parser", "wrapper") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -78,8 +80,7 @@ def build_requirements(self): self.tool_requires("pkgconf/2.0.3") 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 _patch_sources(self): apply_conandata_patches(self) @@ -124,6 +125,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", f"libxml++-{self._lib_version}")) + fix_apple_shared_install_name(self) if is_msvc(self): rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) @@ -134,18 +136,6 @@ def package(self): os.path.join(self.package_folder, "lib", f"xml++-{self._lib_version}.lib")) def package_info(self): - self.cpp_info.set_property("cmake_module_file_name", "libxml++") - self.cpp_info.set_property("cmake_module_target_name", "libxml++::libxml++") - self.cpp_info.set_property("pkg_config_name", "libxml++") - self.cpp_info.components[f"libxml++-{self._lib_version}"].set_property("pkg_config_name", f"libxml++-{self._lib_version}") - self.cpp_info.components[f"libxml++-{self._lib_version}"].set_property("cmake_target_name", f"libxml++::libxml++-{self._lib_version}") - self.cpp_info.components[f"libxml++-{self._lib_version}"].libs = [f"xml++-{self._lib_version}"] - self.cpp_info.components[f"libxml++-{self._lib_version}"].includedirs = [ - os.path.join("include", f"libxml++-{self._lib_version}") - ] - self.cpp_info.components[f"libxml++-{self._lib_version}"].requires = [ - "glibmm::glibmm", "libxml2::libxml2" - ] - - self.cpp_info.names["cmake_find_package"] = "libxml++" - self.cpp_info.names["cmake_find_package_multi"] = "libxml++" + self.cpp_info.set_property("pkg_config_name", f"libxml++-{self._lib_version}") + self.cpp_info.libs = [f"xml++-{self._lib_version}"] + self.cpp_info.includedirs = [os.path.join("include", f"libxml++-{self._lib_version}")] diff --git a/recipes/libxmlpp/2.x.x/patches/2.42.1-0001-enable_static_builds_on_msvc.patch b/recipes/libxmlpp/all/patches/2.42.1-0001-enable_static_builds_on_msvc.patch similarity index 100% rename from recipes/libxmlpp/2.x.x/patches/2.42.1-0001-enable_static_builds_on_msvc.patch rename to recipes/libxmlpp/all/patches/2.42.1-0001-enable_static_builds_on_msvc.patch diff --git a/recipes/libxmlpp/2.x.x/patches/5.0.1-0001-enable_static_builds_on_msvc.patch b/recipes/libxmlpp/all/patches/5.0.1-0001-enable_static_builds_on_msvc.patch similarity index 100% rename from recipes/libxmlpp/2.x.x/patches/5.0.1-0001-enable_static_builds_on_msvc.patch rename to recipes/libxmlpp/all/patches/5.0.1-0001-enable_static_builds_on_msvc.patch diff --git a/recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt b/recipes/libxmlpp/all/test_package/CMakeLists.txt similarity index 55% rename from recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt rename to recipes/libxmlpp/all/test_package/CMakeLists.txt index 326fc2c2388b4..082b48301a3b9 100644 --- a/recipes/libxmlpp/2.x.x/test_package/CMakeLists.txt +++ b/recipes/libxmlpp/all/test_package/CMakeLists.txt @@ -4,9 +4,5 @@ project(test_package LANGUAGES CXX) find_package(libxmlpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libxmlpp::libxmlpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -if(TARGET libxml++::libxml++-2.6) - target_link_libraries(${PROJECT_NAME} libxml++::libxml++-2.6) -else() - target_link_libraries(${PROJECT_NAME} libxml++::libxml++-5.0) -endif() diff --git a/recipes/libxmlpp/2.x.x/test_package/conanfile.py b/recipes/libxmlpp/all/test_package/conanfile.py similarity index 100% rename from recipes/libxmlpp/2.x.x/test_package/conanfile.py rename to recipes/libxmlpp/all/test_package/conanfile.py diff --git a/recipes/libxmlpp/2.x.x/test_package/example.xml b/recipes/libxmlpp/all/test_package/example.xml similarity index 100% rename from recipes/libxmlpp/2.x.x/test_package/example.xml rename to recipes/libxmlpp/all/test_package/example.xml diff --git a/recipes/libxmlpp/2.x.x/test_package/test_package.cpp b/recipes/libxmlpp/all/test_package/test_package.cpp similarity index 100% rename from recipes/libxmlpp/2.x.x/test_package/test_package.cpp rename to recipes/libxmlpp/all/test_package/test_package.cpp diff --git a/recipes/libxmlpp/config.yml b/recipes/libxmlpp/config.yml index 4976ee096e564..c2cb45b3dcbc7 100644 --- a/recipes/libxmlpp/config.yml +++ b/recipes/libxmlpp/config.yml @@ -1,5 +1,5 @@ versions: "5.0.1": - folder: "2.x.x" + folder: all "2.42.1": - folder: "2.x.x" + folder: all From 838749e4b5d2f9f568e8d64715636b9da85c125b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Oct 2023 06:17:10 +0900 Subject: [PATCH 2243/4087] (#20757) wide-integer: add recipe --- recipes/wide-integer/all/conandata.yml | 4 ++ recipes/wide-integer/all/conanfile.py | 65 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../all/test_package/conanfile.py | 26 ++++++++ .../all/test_package/test_package.cpp | 13 ++++ recipes/wide-integer/config.yml | 3 + 6 files changed, 119 insertions(+) create mode 100644 recipes/wide-integer/all/conandata.yml create mode 100644 recipes/wide-integer/all/conanfile.py create mode 100644 recipes/wide-integer/all/test_package/CMakeLists.txt create mode 100644 recipes/wide-integer/all/test_package/conanfile.py create mode 100644 recipes/wide-integer/all/test_package/test_package.cpp create mode 100644 recipes/wide-integer/config.yml diff --git a/recipes/wide-integer/all/conandata.yml b/recipes/wide-integer/all/conandata.yml new file mode 100644 index 0000000000000..8e3a196e3ef2e --- /dev/null +++ b/recipes/wide-integer/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20231015": + url: "https://github.com/ckormanyos/wide-integer/archive/4c9711b463431c5b64c680444f35183c053be735.tar.gz" + sha256: "db5e5491d22fb5f1b9dd3ad6839e479e7d26670764d8e629cbc0b6a5f1b8c47d" diff --git a/recipes/wide-integer/all/conanfile.py b/recipes/wide-integer/all/conanfile.py new file mode 100644 index 0000000000000..b8ab834969f4b --- /dev/null +++ b/recipes/wide-integer/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class WideIntegerConan(ConanFile): + name = "wide-integer" + description = "Wide-Integer implements a generic C++ template for uint128_t, uint256_t, uint512_t, uint1024_t, etc." + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ckormanyos/wide-integer/" + topics = ("arbitary-precision", "multiprecision", "big-integer", "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 { + "Visual Studio": "15", + "msvc": "190", + "gcc": "5", + "clang": "5", + "apple-clang": "5.1", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include", "math"), + src=os.path.join(self.source_folder, "math"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/wide-integer/all/test_package/CMakeLists.txt b/recipes/wide-integer/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..8e666755a1135 --- /dev/null +++ b/recipes/wide-integer/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(wide-integer REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE wide-integer::wide-integer) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/wide-integer/all/test_package/conanfile.py b/recipes/wide-integer/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/wide-integer/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/wide-integer/all/test_package/test_package.cpp b/recipes/wide-integer/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..5b9232349b7ab --- /dev/null +++ b/recipes/wide-integer/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include + +int main(void) { + using math::wide_integer::uint256_t; + + uint256_t a("0xF4DF741DE58BCB2F37F18372026EF9CBCFC456CB80AF54D53BDEED78410065DE"); + uint256_t b("0x166D63E0202B3D90ECCEAA046341AB504658F55B974A7FD63733ECF89DD0DF75"); + + uint256_t c = (a * b); + uint256_t d = (a / b); + + return 0; +} diff --git a/recipes/wide-integer/config.yml b/recipes/wide-integer/config.yml new file mode 100644 index 0000000000000..6fb64b738b18e --- /dev/null +++ b/recipes/wide-integer/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20231015": + folder: all From 7c9c5b0ab7d769811ac63c7c4ef29d26951457cc Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 26 Oct 2023 09:02:33 +0200 Subject: [PATCH 2244/4087] (#20765) [config] Add configuration for job relauncher MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add configuration for job relauncher Signed-off-by: Uilian Ries * Update .c3i/config_v1.yml --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- .c3i/config_v1.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index d07f509210a4e..e7fe571c34fb5 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -59,6 +59,10 @@ tasks: timeout_seconds: 600 # Maximum time to wait for the multibranch job merge_messages: true # Merge messages from the multibranch job waited for merge_labels: true # Merge labels from the multibranch job waited for + job_relauncher: + job_names: + - prod-v1/cci + - prod-v2/cci scheduled_export_check: report_issue_url: https://github.com/conan-io/conan-center-index/issues/20516 report_issue_append: false From 4e4dead034b8518fa593091d1b7d9eea503e73b0 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Oct 2023 17:07:54 +0900 Subject: [PATCH 2245/4087] (#20767) linux-headers-generic: add version 6.5.9, 5.19.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/linux-headers-generic/all/conandata.yml | 6 ++++++ recipes/linux-headers-generic/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/linux-headers-generic/all/conandata.yml b/recipes/linux-headers-generic/all/conandata.yml index 3086bd648e6c6..5ce5b2106b7c8 100644 --- a/recipes/linux-headers-generic/all/conandata.yml +++ b/recipes/linux-headers-generic/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "6.5.9": + url: "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.9.tar.gz" + sha256: "3c269612220746ba87dc9063bec2afcb2df04b4fdaa9f7e1f67751284966cf37" + "5.19.9": + url: "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.19.9.tar.gz" + sha256: "1f01b0ee846547737793103f23cc46a382e4694e7728e8cb8c48ea51a2bb7a8d" "5.15.128": url: "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.128.tar.gz" sha256: "4ce1331bb3877bc92581ec5faff76d63d19e7b1fa174acdda1f5cba4a8f2abf7" diff --git a/recipes/linux-headers-generic/config.yml b/recipes/linux-headers-generic/config.yml index d4c808d80cdc5..461cdf02e1d8f 100644 --- a/recipes/linux-headers-generic/config.yml +++ b/recipes/linux-headers-generic/config.yml @@ -1,4 +1,8 @@ versions: + "6.5.9": + folder: all + "5.19.9": + folder: all "5.15.128": folder: all "5.14.9": From 3e5f68b22466e35928dde517a203f2cd611798db Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 26 Oct 2023 11:27:15 +0300 Subject: [PATCH 2246/4087] (#20766) libmikmod: bump libalsa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For sdl_mixer #18836. Co-authored-by: Rubén Rincón Blanco --- recipes/libmikmod/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmikmod/all/conanfile.py b/recipes/libmikmod/all/conanfile.py index d4af224f4ca59..b2f6c5dadec51 100644 --- a/recipes/libmikmod/all/conanfile.py +++ b/recipes/libmikmod/all/conanfile.py @@ -68,7 +68,7 @@ def layout(self): def requirements(self): if self.settings.os == "Linux": if self.options.with_alsa: - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") if self.options.with_pulse: self.requires("pulseaudio/14.2") From 55682ca4a6f60dc16018ee4f50f284f4d6c39631 Mon Sep 17 00:00:00 2001 From: Frank Schoenmann Date: Thu, 26 Oct 2023 10:47:13 +0200 Subject: [PATCH 2247/4087] (#20761) fast-dds: add version 2.11.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- 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 d1212c03f024a..ab4d2d857dbe4 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.2": + url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.11.2.tar.gz" + sha256: "711f5d7afc6a31a908ab204f8b67045d5e7cab7b4052614b595b37c774f357fd" "2.11.1": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.11.1.tar.gz" sha256: "3fe8b9f67a13a5d2aa40c0bd10581bd90f0a192b39c71f92ee233ffe584d3374" @@ -15,6 +18,10 @@ sources: url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.2.tar.gz" sha256: "4d8183cf4d37c3de9e6fd28d2850dd08023a9079001c4880b23c95f0d8c0b5ce" patches: + "2.11.2": + - patch_file: "patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch" + patch_type: "conan" + patch_description: "Fixup find asio and tinyxml2" "2.11.1": - patch_file: "patches/2.11.1-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 b5f51dc05cbcf..1a933c21ca9ca 100644 --- a/recipes/fast-dds/config.yml +++ b/recipes/fast-dds/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.2": + folder: all "2.11.1": folder: all "2.10.1": From 128a07ebc16dd3170e2d8201e37eb8733254814c Mon Sep 17 00:00:00 2001 From: Joel Johnson Date: Thu, 26 Oct 2023 03:33:27 -0600 Subject: [PATCH 2248/4087] (#19768) (#19767) qt: exclude examples from license pattern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (#19767) qt: exclude examples from license pattern Don't include license files for examples when the example content is not built. Fixes: #19767 * Bump brotli --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/qt/5.x.x/conanfile.py | 3 ++- recipes/qt/6.x.x/conanfile.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 55687915747f7..7dcd778436048 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -841,7 +841,8 @@ def package(self): Translations = bin/datadir/translations Documentation = bin/datadir/doc Examples = bin/datadir/examples""") - copy(self, "*LICENSE*", os.path.join(self.source_folder, "qt5/"), os.path.join(self.package_folder, "licenses")) + copy(self, "*LICENSE*", os.path.join(self.source_folder, "qt5/"), os.path.join(self.package_folder, "licenses"), + excludes="qtbase/examples/*") for module in self._submodules: if not self.options.get_safe(module): rmdir(self, os.path.join(self.package_folder, "licenses", module)) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 769e317fad83e..378a7958bbb94 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -762,7 +762,8 @@ def package(self): save(self, ".qmake.super" , "") cmake = CMake(self) cmake.install() - copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses"), + excludes="qtbase/examples/*") for module in self._get_module_tree: if module != "qtbase" and not self.options.get_safe(module): rmdir(self, os.path.join(self.package_folder, "licenses", module)) From 1996f359eb7a07fc27cb5bf438637367e844ba9a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 26 Oct 2023 13:15:43 +0300 Subject: [PATCH 2249/4087] (#20044) coin-cgl: add version 0.60.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: Rubén Rincón Blanco --- recipes/coin-cgl/all/conandata.yml | 5 +++++ recipes/coin-cgl/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/coin-cgl/all/conandata.yml b/recipes/coin-cgl/all/conandata.yml index 5fc7e9f24039c..9cf464447df6f 100644 --- a/recipes/coin-cgl/all/conandata.yml +++ b/recipes/coin-cgl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.60.7": + url: "https://github.com/coin-or/Cgl/archive/releases/0.60.7.tar.gz" + sha256: "93b30a80b5d2880c2e72d5877c64bdeaf4d7c1928b3194ea2f88b1aa4517fb1b" "0.60.6": url: "https://github.com/coin-or/Cgl/archive/refs/tags/releases/0.60.6.tar.gz" sha256: "9e2c51ffad816ab408763d6b931e2a3060482ee4bf1983148969de96d4b2c9ce" @@ -6,6 +9,8 @@ sources: url: "https://github.com/coin-or/Cgl/archive/refs/tags/releases/0.60.3.tar.gz" sha256: "cfeeedd68feab7c0ce377eb9c7b61715120478f12c4dd0064b05ad640e20f3fb" patches: + "0.60.7": + - patch_file: "patches/0.60.6-0001-no-pkg-config-check.patch" "0.60.6": - patch_file: "patches/0.60.6-0001-no-pkg-config-check.patch" "0.60.3": diff --git a/recipes/coin-cgl/config.yml b/recipes/coin-cgl/config.yml index c588b8cdfa767..19787257e6449 100644 --- a/recipes/coin-cgl/config.yml +++ b/recipes/coin-cgl/config.yml @@ -1,4 +1,6 @@ versions: + "0.60.7": + folder: "all" "0.60.6": folder: "all" "0.60.3": From 4ce8d254c3b271612396a81dba328587cc328da8 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 26 Oct 2023 13:04:39 +0200 Subject: [PATCH 2250/4087] (#20778) [changelog] New C3I Jenkins version: release 2023.10.26 Signed-off-by: Uilian Ries --- docs/changelog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 07a058bc923e1..c81677698b9e5 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,12 @@ # Changelog +### 26-Oct-2023 - 12:13 CEST + +- [feature] Allow X.Y semver for version bumps +- [feature] Add assert message for parent commit checks on PR checkout +- [feature] JobRelauncher restarts both Conan v1 and v2 pipelines. +- [fix] Do not close the report issue of the recipe export check + ### 11-Oct-2023 - 12:17 CEST - [feature] Update Conan 2.x to the version 2.0.12 in the CI From 65b918ff70ccd17f65ddfa4bbf9862b8eda193b2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Oct 2023 21:07:39 +0900 Subject: [PATCH 2251/4087] (#20615) sdl_image: add version 2.6.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sdl_image: add version 2.6.3 * Fix missing requires when with_avif=True * remove invalid files * enable wic on all OSes * remove pkgconfig folder * rmdir SDL2_image.framework * add -static postfix on Windows static build --------- Co-authored-by: Rubén Rincón --- recipes/sdl_image/all/conandata.yml | 3 + recipes/sdl_image/all/conanfile.py | 126 +++++++++++++++++++++++----- recipes/sdl_image/config.yml | 2 + 3 files changed, 108 insertions(+), 23 deletions(-) diff --git a/recipes/sdl_image/all/conandata.yml b/recipes/sdl_image/all/conandata.yml index bc34556c048dd..0444df801e1ac 100644 --- a/recipes/sdl_image/all/conandata.yml +++ b/recipes/sdl_image/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.3": + url: "https://github.com/libsdl-org/SDL_image/releases/download/release-2.6.3/SDL2_image-2.6.3.tar.gz" + sha256: "931c9be5bf1d7c8fae9b7dc157828b7eee874e23c7f24b44ba7eff6b4836312c" "2.0.5": url: "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.5.tar.gz" sha256: "bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0" diff --git a/recipes/sdl_image/all/conanfile.py b/recipes/sdl_image/all/conanfile.py index 44c33234c8ec4..bca15363d987d 100644 --- a/recipes/sdl_image/all/conanfile.py +++ b/recipes/sdl_image/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -28,6 +29,7 @@ class SDLImageConan(ConanFile): "pnm": [True, False], "svg": [True, False], "tga": [True, False], + "qoi": [True, False], "xcf": [True, False], "xpm": [True, False], "xv": [True, False], @@ -35,7 +37,10 @@ class SDLImageConan(ConanFile): "with_libtiff": [True, False], "with_libpng": [True, False], "with_libwebp": [True, False], + "with_avif": [True, False], + "with_jxl": [True, False], "imageio": [True, False], + "wic": [True, False], } default_options = { "shared": False, @@ -47,6 +52,7 @@ class SDLImageConan(ConanFile): "pnm": True, "svg": True, "tga": True, + "qoi": True, "xcf": True, "xpm": True, "xv": True, @@ -54,16 +60,27 @@ class SDLImageConan(ConanFile): "with_libtiff": True, "with_libpng": True, "with_libwebp": True, + "with_avif": False, + "with_jxl": False, "imageio": False, + "wic": False, } - exports_sources = "CMakeLists.txt" + def export_sources(self): + if Version(self.version) < "2.6": + 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 not is_apple_os(self): del self.options.imageio + if Version(self.version) < "2.6": + del self.options.qoi + del self.options.with_avif + del self.options.with_jxl + if self.settings.os != "Windows": + del self.options.wic def configure(self): if self.options.shared: @@ -79,7 +96,7 @@ def layout(self): def requirements(self): # Headers are exposed https://github.com/conan-io/conan-center-index/pull/16167#issuecomment-1508347351 - self.requires("sdl/2.26.5", transitive_headers=True) + self.requires("sdl/2.28.3", transitive_headers=True) if self.options.with_libtiff: self.requires("libtiff/4.6.0") if self.options.with_libjpeg: @@ -88,33 +105,66 @@ def requirements(self): self.requires("libpng/1.6.40") if self.options.with_libwebp: self.requires("libwebp/1.3.2") + if self.options.get_safe("with_avif"): + self.requires("libavif/1.0.1") def validate(self): if self.options.shared and not self.dependencies["sdl"].options.shared: - raise ConanInvalidConfiguration("sdl_image shared requires sdl shared") + raise ConanInvalidConfiguration(f"{self.ref} shared requires sdl shared") + # TODO: libjxl doesn't support conan v2(yet) + if self.options.get_safe("with_jxl"): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support with_jxl (yet)") + + def build_requirements(self): + if Version(self.version) >= "2.6": + 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["SDL_IMAGE_SRC_DIR"] = self.source_folder.replace("\\", "/") - tc.variables["BMP"] = self.options.bmp - tc.variables["GIF"] = self.options.gif - tc.variables["IMAGEIO"] = self.options.get_safe("imageio") - tc.variables["JPG"] = self.options.with_libjpeg - tc.variables["LBM"] = self.options.lbm - tc.variables["PCX"] = self.options.pcx - tc.variables["PNG"] = self.options.with_libpng - tc.variables["PNM"] = self.options.pnm - tc.variables["SVG"] = self.options.svg - tc.variables["TGA"] = self.options.tga - tc.variables["TIF"] = self.options.with_libtiff - tc.variables["WEBP"] = self.options.with_libwebp - tc.variables["XCF"] = self.options.xcf - tc.variables["XPM"] = self.options.xpm - tc.variables["XV"] = self.options.xv - tc.variables["SDL_IS_SHARED"] = self.dependencies["sdl"].options.shared + if Version(self.version) < "2.6": + tc.variables["SDL_IMAGE_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.variables["BMP"] = self.options.bmp + tc.variables["GIF"] = self.options.gif + tc.variables["IMAGEIO"] = self.options.get_safe("imageio") + tc.variables["JPG"] = self.options.with_libjpeg + tc.variables["LBM"] = self.options.lbm + tc.variables["PCX"] = self.options.pcx + tc.variables["PNG"] = self.options.with_libpng + tc.variables["PNM"] = self.options.pnm + tc.variables["SVG"] = self.options.svg + tc.variables["TGA"] = self.options.tga + tc.variables["TIF"] = self.options.with_libtiff + tc.variables["WEBP"] = self.options.with_libwebp + tc.variables["XCF"] = self.options.xcf + tc.variables["XPM"] = self.options.xpm + tc.variables["XV"] = self.options.xv + tc.variables["SDL_IS_SHARED"] = self.dependencies["sdl"].options.shared + else: + tc.variables["SDL2IMAGE_VENDORED"] = False + tc.variables["SDL2IMAGE_DEPS_SHARED"] = False + tc.variables["SDL2IMAGE_SAMPLES"] = False + tc.variables["SDL2IMAGE_AVIF"] = self.options.get_safe("with_avif") + tc.variables["SDL2IMAGE_BMP"] = self.options.bmp + tc.variables["SDL2IMAGE_GIF"] = self.options.gif + tc.variables["SDL2IMAGE_JPG"] = self.options.with_libjpeg + tc.variables["SDL2IMAGE_JXL"] = self.options.get_safe("with_jxl") + tc.variables["SDL2IMAGE_LBM"] = self.options.lbm + tc.variables["SDL2IMAGE_PCX"] = self.options.pcx + tc.variables["SDL2IMAGE_PNG"] = self.options.with_libpng + tc.variables["SDL2IMAGE_PNM"] = self.options.pnm + tc.variables["SDL2IMAGE_QOI"] = self.options.get_safe("qoi") + tc.variables["SDL2IMAGE_SVG"] = self.options.svg + tc.variables["SDL2IMAGE_TGA"] = self.options.tga + tc.variables["SDL2IMAGE_TIF"] = self.options.with_libtiff + tc.variables["SDL2IMAGE_WEBP"] = self.options.with_libwebp + tc.variables["SDL2IMAGE_XCF"] = self.options.xcf + tc.variables["SDL2IMAGE_XPM"] = self.options.xpm + tc.variables["SDL2IMAGE_XV"] = self.options.xv + tc.variables["SDL2IMAGE_BACKEND_WIC"] = self.options.get_safe("wic") + tc.variables["SDL2IMAGE_BACKEND_IMAGEIO"] = self.options.get_safe("imageio") tc.generate() cd = CMakeDeps(self) cd.generate() @@ -122,22 +172,46 @@ def generate(self): def build(self): rmdir(self, os.path.join(self.source_folder, "external")) cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + if Version(self.version) < "2.6": + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + else: + cmake.configure() cmake.build() + if Version(self.version) >= "2.6": + 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(self): - copy(self, "COPYING.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "2.6": + copy(self, "COPYING.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + else: + 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")) + 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, "SDL2_image.framework")) + rmdir(self, os.path.join(self.package_folder, "cmake")) + def package_info(self): + lib_postfix = "" + if Version(self.version) >= "2.6": + if self.settings.os == "Windows" and not self.options.shared: + lib_postfix += "-static" + if self.settings.build_type == "Debug": + lib_postfix += "d" + self.cpp_info.set_property("cmake_file_name", "SDL2_image") self.cpp_info.set_property("cmake_target_name", "SDL2_image::SDL2_image") if not self.options.shared: self.cpp_info.set_property("cmake_target_aliases", ["SDL2_image::SDL2_image-static"]) self.cpp_info.set_property("pkg_config_name", "SDL2_image") # TODO: back to global scope in conan v2 once legacy generators removed - self.cpp_info.components["_sdl_image"].libs = ["SDL2_image"] + self.cpp_info.components["_sdl_image"].libs = [f"SDL2_image{lib_postfix}"] self.cpp_info.components["_sdl_image"].includedirs.append(os.path.join("include", "SDL2")) # TODO: to remove in conan v2 once legacy generators removed @@ -158,6 +232,8 @@ def package_info(self): self.cpp_info.components["_sdl_image"].requires.append("libpng::libpng") if self.options.with_libwebp: self.cpp_info.components["_sdl_image"].requires.append("libwebp::libwebp") + if self.options.get_safe("with_avif"): + self.cpp_info.components["_sdl_image"].requires.append("libavif::libavif") if self.options.get_safe("imageio") and not self.options.shared: self.cpp_info.components["_sdl_image"].frameworks = [ "CoreFoundation", @@ -172,3 +248,7 @@ def package_info(self): "MobileCoreServices", "UIKit", ]) + if self.options.get_safe("wic"): + self.cpp_info.system_libs.extend([ + "windowscodecs", + ]) diff --git a/recipes/sdl_image/config.yml b/recipes/sdl_image/config.yml index 1630e08ca5f32..53a0b9c216274 100644 --- a/recipes/sdl_image/config.yml +++ b/recipes/sdl_image/config.yml @@ -1,3 +1,5 @@ versions: + "2.6.3": + folder: "all" "2.0.5": folder: "all" From 8d1c28c870ab181c004da524a93d5e88899b5bb0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 14:28:06 +0200 Subject: [PATCH 2252/4087] (#20769) xerces-c: bump icu, libcurl version range, `host_version` in build requirements * bump icu, libcurl version range, `host_version` in build requirements * do not redefine built-in 'license' --- recipes/xerces-c/all/conanfile.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index 7f0ec271188e7..f1c41e9279b85 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration -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.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" class XercesCConan(ConanFile): @@ -42,6 +41,10 @@ class XercesCConan(ConanFile): "mutex_manager": "standard", } + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) @@ -67,9 +70,9 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): - self.requires("icu/72.1", run=can_run(self)) + self.requires("icu/73.2") if self.options.network_accessor == "curl": - self.requires("libcurl/7.88.1") + self.requires("libcurl/[>=7.78.0 <9]") def _validate(self, option, value, host_os): """ @@ -98,8 +101,8 @@ def validate(self): self._validate("mutex_manager", "windows", ("Windows", )) def build_requirements(self): - if self.options.message_loader == "icu" and not can_run(self): - self.tool_requires("icu/72.1") + if self.options.message_loader == "icu" and not self._is_legacy_one_profile: + self.tool_requires("icu/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -107,7 +110,7 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if can_run(self): + if self.options.message_loader == "icu" and self._is_legacy_one_profile: env = VirtualRunEnv(self) env.generate(scope="build") tc = CMakeToolchain(self) @@ -133,8 +136,8 @@ def build(self): cmake.build() def package(self): - for license in ("LICENSE", "NOTICE"): - copy(self, license, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + for license_file in ("LICENSE", "NOTICE"): + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) From dff4c4fdd2ea5b7c6f0435da73c6a3d5e2f52494 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 26 Oct 2023 14:47:56 +0200 Subject: [PATCH 2253/4087] (#20635) vulkan-loader: remove outdated versions * vulkan-loader: remove outdated versions * restore 1.3.211.0 --- recipes/vulkan-loader/all/conandata.yml | 59 -------------- .../patches/1.2.154.0-0001-fix-mingw.patch | 77 ------------------- .../all/patches/1.2.182-0001-fix-mingw.patch | 24 ------ ...3.231.1-0001-no-find-package-wayland.patch | 13 ---- recipes/vulkan-loader/config.yml | 28 ------- 5 files changed, 201 deletions(-) delete mode 100644 recipes/vulkan-loader/all/patches/1.2.154.0-0001-fix-mingw.patch delete mode 100644 recipes/vulkan-loader/all/patches/1.2.182-0001-fix-mingw.patch delete mode 100644 recipes/vulkan-loader/all/patches/1.3.231.1-0001-no-find-package-wayland.patch diff --git a/recipes/vulkan-loader/all/conandata.yml b/recipes/vulkan-loader/all/conandata.yml index ad864b56911fd..d46482c317467 100644 --- a/recipes/vulkan-loader/all/conandata.yml +++ b/recipes/vulkan-loader/all/conandata.yml @@ -8,74 +8,15 @@ sources: "1.3.236.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.236.0.tar.gz" sha256: "157d2230b50bb5be3ef9b9467aa90d1c109d5f188a49b11f741246d7ca583bf3" - "1.3.231.1": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.231.1.tar.gz" - sha256: "5226fbc6a90e4405200c8cfdd5733d5e0c6a64e64dcc614c485ea06e03d66578" - "1.3.231": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v1.3.231.tar.gz" - sha256: "02e185b939635167ea8f8815f8daab76af36923a3b995951fe6a5d3e25c55bf7" - "1.3.224.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.224.0.tar.gz" - sha256: "9f102a89b7d350ce5a6c82887459821aa9725c521128495ed7cbda637ed52022" - "1.3.221": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/v1.3.221.tar.gz" - sha256: "ba7042b2b14a11646ba8bd33c041ccb4f1abe5bdfa2758e301a76bf6d31d2748" - "1.3.216.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.216.0.tar.gz" - sha256: "46188d3db019409b82f850628d5c175cc59dcdb3ce146f5c023b97709f67e8f1" "1.3.211.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.211.0.tar.gz" sha256: "bb42a8e0dda103f98bddb9ae2311ae8e8e988588b600a1114b74a1ba3a0843f4" - "1.3.204.1": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.204.1.tar.gz" - sha256: "5dcd42b564804f4c01891ddd429a4a5028113c4cf39b44256689e8f543773134" - "1.3.204.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.204.0.tar.gz" - sha256: "7e9700f454007ea6f1e6eb097a905e7c30ad2be740ddd9e76235658c98db2ddd" "1.2.198.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.2.198.0.tar.gz" sha256: "7d5d56296dcd88af84ed0fde969038370cac8600c4ef7e328788b7422d9025bb" - "1.2.190": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/v1.2.190.tar.gz" - sha256: "f940bb72d123173187c5c341edb7af55fddc68efa79460f9b703a80e9f4bca44" - "1.2.189": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v1.2.189.tar.gz" - sha256: "6e05f54a0c6a35625e8974f88c197b1817b2bddb253c38540ced9d2bc8132d6c" - "1.2.182": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/v1.2.182.tar.gz" - sha256: "0d1f9fde9d21642526e9baa55d30364c95035c4fe3c6db96836631991b44dd90" - "1.2.172": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/v1.2.172.tar.gz" - sha256: "713dcb73c73194d17251fcd9cff62e5831d4ec30dac2efcf6440595016368ddb" - "1.2.170.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-1.2.170.0.tar.gz" - sha256: "08c125987d4f6b086fcf952be7dce630b677fc943b336030178737bb1eb2ed49" - "1.2.162.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-1.2.162.0.tar.gz" - sha256: "f8f5ec2485e7fdba3f58c1cde5a25145ece1c6a686c91ba4016b28c0af3f21dd" - "1.2.154.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-1.2.154.0.tar.gz" - sha256: "418017d7bab907e72291476df231dd0e7dc7fe20b97e55389c975bcfc48d6433" patches: "1.3.236.0": - patch_file: "patches/1.3.236.0-0001-cmake-minimum-required-3.10.patch" patch_description: "Do not use features of CMake 3.16, back to 3.10 as min version" patch_type: "portability" patch_source: "https://github.com/KhronosGroup/Vulkan-Loader/pull/1102" - "1.3.231.1": - - patch_file: "patches/1.3.231.1-0001-no-find-package-wayland.patch" - patch_description: "CMake: remove attempt to find Wayland" - patch_type: "portability" - patch_source: "https://github.com/KhronosGroup/Vulkan-Loader/pull/1020" - "1.2.182": - - patch_file: "patches/1.2.182-0001-fix-mingw.patch" - patch_description: "Fix MinGW" - patch_type: "portability" - "1.2.154.0": - - patch_file: "patches/1.2.154.0-0001-fix-mingw.patch" - patch_description: "Fix MinGW" - patch_type: "portability" - patch_source: - - "https://github.com/KhronosGroup/Vulkan-Loader/pull/475" - - "https://github.com/KhronosGroup/Vulkan-Loader/pull/495" - - "https://github.com/KhronosGroup/Vulkan-Loader/pull/523" diff --git a/recipes/vulkan-loader/all/patches/1.2.154.0-0001-fix-mingw.patch b/recipes/vulkan-loader/all/patches/1.2.154.0-0001-fix-mingw.patch deleted file mode 100644 index a585b5a17fff5..0000000000000 --- a/recipes/vulkan-loader/all/patches/1.2.154.0-0001-fix-mingw.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- a/loader/CMakeLists.txt -+++ b/loader/CMakeLists.txt -@@ -133,9 +133,28 @@ set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG}Note that this may be unsafe, as the C co - set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} the stack frame for certain calls. If the compiler does not do this, then unknown device") - set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} extensions will suffer from a corrupted stack.") - if(WIN32) -- enable_language(ASM_MASM) -- if(CMAKE_ASM_MASM_COMPILER_WORKS) -- if(NOT CMAKE_CL_64) -+ if(MINGW) -+ find_program(JWASM_FOUND jwasm) -+ if (JWASM_FOUND) -+ set(CMAKE_ASM_MASM_COMPILER ${JWASM_FOUND}) -+ execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE COMPILER_VERSION_OUTPUT) -+ if (COMPILER_VERSION_OUTPUT) -+ if (COMPILER_VERSION_OUTPUT MATCHES "x86_64") -+ set(JWASM_FLAGS -win64) -+ else() -+ set(JWASM_FLAGS -coff) -+ endif() -+ endif() -+ endif() -+ endif() -+ option(USE_MASM "Use MASM" ON) -+ if (USE_MASM) -+ enable_language(ASM_MASM) -+ endif () -+ if(CMAKE_ASM_MASM_COMPILER_WORKS OR JWASM_FOUND) -+ if(MINGW) -+ set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} ${JWASM_FLAGS}) -+ elseif(NOT CMAKE_CL_64 AND NOT JWASM_FOUND) - set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} /safeseh) - endif() - -@@ -205,14 +224,16 @@ if(WIN32) - PROPERTIES LINK_FLAGS_DEBUG - "/ignore:4098" - OUTPUT_NAME -- vulkan-1) -+ vulkan-1 -+ PREFIX -+ "") - target_link_libraries(vulkan Vulkan::Headers) - - if(ENABLE_WIN10_ONECORE) - target_link_libraries(vulkan OneCoreUAP.lib LIBCMT.LIB LIBCMTD.LIB LIBVCRUNTIME.LIB LIBUCRT.LIB) - set_target_properties(vulkan PROPERTIES LINK_FLAGS "/NODEFAULTLIB") - else() -- target_link_libraries(vulkan Cfgmgr32) -+ target_link_libraries(vulkan cfgmgr32) - endif() - - add_dependencies(vulkan loader_asm_gen_files) ---- a/loader/loader.c -+++ b/loader/loader.c -@@ -71,6 +71,9 @@ - #include - #include - #include -+#ifdef __MINGW32__ -+#undef strcpy // fix error with redfined strcpy when building with MinGW-w64 -+#endif - #include - #include "adapters.h" - -@@ -695,7 +698,11 @@ VkResult loaderGetDeviceRegistryFiles(const struct loader_instance *inst, char * - LPCSTR value_name) { - static const wchar_t *softwareComponentGUID = L"{5c4c3332-344d-483c-8739-259e934c9cc8}"; - static const wchar_t *displayGUID = L"{4d36e968-e325-11ce-bfc1-08002be10318}"; -+#ifdef CM_GETIDLIST_FILTER_PRESENT - const ULONG flags = CM_GETIDLIST_FILTER_CLASS | CM_GETIDLIST_FILTER_PRESENT; -+#else -+ const ULONG flags = 0x300; -+#endif - - wchar_t childGuid[MAX_GUID_STRING_LEN + 2]; // +2 for brackets {} - ULONG childGuidSize = sizeof(childGuid); diff --git a/recipes/vulkan-loader/all/patches/1.2.182-0001-fix-mingw.patch b/recipes/vulkan-loader/all/patches/1.2.182-0001-fix-mingw.patch deleted file mode 100644 index b0cda85f0d738..0000000000000 --- a/recipes/vulkan-loader/all/patches/1.2.182-0001-fix-mingw.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/loader/CMakeLists.txt -+++ b/loader/CMakeLists.txt -@@ -229,7 +229,6 @@ if(WIN32) - $ - ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1.def - ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc) -- if(MSVC) - set_target_properties(vulkan - PROPERTIES - #LINK_FLAGS_DEBUG "/ignore:4098" -@@ -237,13 +236,6 @@ if(WIN32) - vulkan-1 - PREFIX - "") -- else() -- set_target_properties(vulkan -- PROPERTIES -- LIBRARY_OUTPUT_NAME vulkan -- RUNTIME_OUTPUT_NAME vulkan-1 -- ARCHIVE_OUTPUT_NAME vulkan) -- endif() - target_link_libraries(vulkan Vulkan::Headers) - - if(MSVC AND ENABLE_WIN10_ONECORE) diff --git a/recipes/vulkan-loader/all/patches/1.3.231.1-0001-no-find-package-wayland.patch b/recipes/vulkan-loader/all/patches/1.3.231.1-0001-no-find-package-wayland.patch deleted file mode 100644 index 0f841d44ccf38..0000000000000 --- a/recipes/vulkan-loader/all/patches/1.3.231.1-0001-no-find-package-wayland.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -215,10 +215,6 @@ if(UNIX AND NOT APPLE) # i.e.: Linux - find_package(X11 REQUIRED) - endif() - -- if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -- include_directories(SYSTEM ${WAYLAND_CLIENT_INCLUDE_DIR}) -- endif() - - if(BUILD_WSI_DIRECTFB_SUPPORT) - find_package(DirectFB REQUIRED) diff --git a/recipes/vulkan-loader/config.yml b/recipes/vulkan-loader/config.yml index 3d8ee9ef8d984..adbbc65a8cb73 100644 --- a/recipes/vulkan-loader/config.yml +++ b/recipes/vulkan-loader/config.yml @@ -5,35 +5,7 @@ versions: folder: all "1.3.236.0": folder: all - "1.3.231.1": - folder: all - "1.3.231": - folder: all - "1.3.224.0": - folder: all - "1.3.221": - folder: all - "1.3.216.0": - folder: all "1.3.211.0": folder: all - "1.3.204.1": - folder: all - "1.3.204.0": - folder: all "1.2.198.0": folder: all - "1.2.190": - folder: all - "1.2.189": - folder: all - "1.2.182": - folder: all - "1.2.172": - folder: all - "1.2.170.0": - folder: all - "1.2.162.0": - folder: all - "1.2.154.0": - folder: all From c39277f35ccdc8de97b192395e69b45872fd6ba6 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 26 Oct 2023 15:01:53 +0200 Subject: [PATCH 2254/4087] (#20763) [docs] Add license change explanation * Add license change entry Signed-off-by: Uilian Ries * Manage license attribute Signed-off-by: Uilian Ries * Simplify Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- docs/adding_packages/conanfile_attributes.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/adding_packages/conanfile_attributes.md b/docs/adding_packages/conanfile_attributes.md index dba2fb82308f0..fb7a767a13b95 100644 --- a/docs/adding_packages/conanfile_attributes.md +++ b/docs/adding_packages/conanfile_attributes.md @@ -57,6 +57,19 @@ The license attribute is a mandatory field which provides the legal information * `LicenseRef-` as a prefix, followed by the name of the library. For example:`LicenseRef-libfoo-public-domain` * If the library makes no mention of a license and the terms of use - it **shall not be accepted in ConanCenter** , even if the code is publicly available in GitHub or any other platforms. +In case the license changes in a new release, the recipe should update the license attribute accordingly: + +```python +class LibfooConan(ConanFile): + license = ("MIT", "BSD-3-Clause") # keep both old and new licenses, so conan inspect can find it + + def configure (self): + # change the license according to the version, so conan graph info can show the correct one + + # INFO: Version < 2.0 the license was MIT, but changed to BSD-3-Clause now. + self.license = "BSD-3-Clause" if Version(self.version) >= "2.0.0" else "MIT" +``` + ## Order of methods and attributes Prefer the following order of documented methods in python code (`conanfile.py`, `test_package/conanfile.py`): From 86ee41e5f67085032b86a3ef03a2ac1ead6a4832 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 15:18:59 +0200 Subject: [PATCH 2255/4087] (#20771) netcdf: version range for libcurl + add package_type * remove CMAKE_POLICY_DEFAULT_CMP0077 fixed in conan 1.54.0 * add package_type * version range for libcurl * simplify source() * remove old workarounds for components in package_info() --- recipes/netcdf/all/conanfile.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/recipes/netcdf/all/conanfile.py b/recipes/netcdf/all/conanfile.py index ef365e834e731..44608e3405cb8 100644 --- a/recipes/netcdf/all/conanfile.py +++ b/recipes/netcdf/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class NetcdfConan(ConanFile): @@ -17,7 +17,7 @@ class NetcdfConan(ConanFile): license = "BSD-3-Clause" homepage = "https://github.com/Unidata/netcdf-c" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -71,10 +71,10 @@ def requirements(self): self.requires("hdf5/1.14.1") if self.options.dap or self.options.byterange: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") 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) @@ -89,10 +89,6 @@ def generate(self): tc.variables["ENABLE_BYTERANGE"] = self.options.byterange tc.variables["USE_HDF5"] = self.options.with_hdf5 tc.variables["NC_FIND_SHARED_LIBS"] = self.options.with_hdf5 and self.dependencies["hdf5"].options.shared - - # 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.generate() tc = CMakeDeps(self) @@ -127,8 +123,6 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "netcdf") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed self.cpp_info.components["libnetcdf"].libs = ["netcdf"] - self.cpp_info.components["libnetcdf"].libdirs = ["lib"] - self.cpp_info.components["libnetcdf"].includedirs = ["include"] if self._with_hdf5: self.cpp_info.components["libnetcdf"].requires.append("hdf5::hdf5") if self.options.dap or self.options.byterange: From 5a4af14abf97414722a6b16598bd3ec10a44b29d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 15:38:50 +0200 Subject: [PATCH 2256/4087] (#20772) libmediainfo: version range for libcurl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libmediainfo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmediainfo/all/conanfile.py b/recipes/libmediainfo/all/conanfile.py index 942170afa983b..29fb127a8927a 100644 --- a/recipes/libmediainfo/all/conanfile.py +++ b/recipes/libmediainfo/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") self.requires("libzen/0.4.38", transitive_headers=True, transitive_libs=True) self.requires("tinyxml2/9.0.0") self.requires("zlib/[>=1.2.11 <2]") From 3698f34351bca641aa3dfc31dc76ff405505f724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20ZANGLA?= <5780920+gagoi@users.noreply.github.com> Date: Thu, 26 Oct 2023 16:08:20 +0200 Subject: [PATCH 2257/4087] (#20001) stb/cci.20230920 --- recipes/stb/all/conandata.yml | 3 +++ recipes/stb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stb/all/conandata.yml b/recipes/stb/all/conandata.yml index 661745efcb3f0..c0c0739831fe0 100644 --- a/recipes/stb/all/conandata.yml +++ b/recipes/stb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230920": + url: "https://github.com/nothings/stb/archive/5736b15f7ea0ffb08dd38af21067c314d6a3aae9.zip" + sha256: "b6601f182fa4bc04dd0f135e38231e8a2c6c9e7901c66a942871f03285713b05" "cci.20220909": url: "https://github.com/nothings/stb/archive/8b5f1f37b5b75829fc72d38e7b5d4bcbf8a26d55.zip" sha256: "93a16ee3e866e719feec459f6f132cce932c5ec751eb38e3ec1975f911353d2e" diff --git a/recipes/stb/config.yml b/recipes/stb/config.yml index 8542dee027505..a0248de0acece 100644 --- a/recipes/stb/config.yml +++ b/recipes/stb/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20230920": + folder: all "cci.20220909": folder: all "cci.20210910": From 7df097119565243906e0fa24bcd1ef6bf00d2d88 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 16:28:32 +0200 Subject: [PATCH 2258/4087] (#20431) easylzma: better way to create relocatable shared lib on macOS --- recipes/easylzma/all/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/easylzma/all/conanfile.py b/recipes/easylzma/all/conanfile.py index 500d0f8e783aa..46a81f3f9abbc 100644 --- a/recipes/easylzma/all/conanfile.py +++ b/recipes/easylzma/all/conanfile.py @@ -1,7 +1,6 @@ import os from conan import ConanFile -from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, load, save from conan.tools.microsoft import is_msvc, msvc_runtime_flag @@ -52,6 +51,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + # Relocatable shared libs on macOS + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + # Silence CMake warning about LOCATION property + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0026"] = "OLD" tc.generate() def build(self): @@ -80,7 +83,6 @@ def package(self): copy(self, "easylzma/*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "src")) - fix_apple_shared_install_name(self) @property def _libname(self): From 135ac665fcd12d9d5a8bc9fa1dcdef0cc8830e9c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 16:47:32 +0200 Subject: [PATCH 2259/4087] (#20729) opencv: define several official cmake vars of OpenCV in CMakeDeps + use `` for protobuf in build requirements * provide several official CMake vars of OpenCV in files generated by CMakeDeps/cmake_find_package - OpenCV_LIBS - OpenCV_VERSION_MAJOR - OpenCV_VERSION_MINOR - OpenCV_VERSION_PATCH see https://github.com/opencv/opencv/blob/4.8.1/cmake/templates/OpenCVConfig.cmake.in * bump dependencies * add package_type * use `` for protobuf in build requirements --- recipes/opencv/2.x/conanfile.py | 44 ++++++++++++++++++---- recipes/opencv/3.x/conanfile.py | 49 ++++++++++++++++++++----- recipes/opencv/4.x/conanfile.py | 65 ++++++++++++++++++++++++--------- 3 files changed, 123 insertions(+), 35 deletions(-) diff --git a/recipes/opencv/2.x/conanfile.py b/recipes/opencv/2.x/conanfile.py index 1db730c337ba3..a256803f12717 100644 --- a/recipes/opencv/2.x/conanfile.py +++ b/recipes/opencv/2.x/conanfile.py @@ -5,6 +5,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, rm, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import sys import os import textwrap @@ -45,7 +46,7 @@ class OpenCVConan(ConanFile): description = "OpenCV (Open Source Computer Vision Library)" url = "https://github.com/conan-io/conan-center-index" topics = ("computer-vision", "deep-learning", "image-processing") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -533,15 +534,39 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "staticlib")) rm(self, "*.cmake", self.package_folder, recursive=True) + self._create_cmake_module_variables(os.path.join(self.package_folder, self._module_vars_rel_path)) + # TODO: to remove in conan v2 once cmake_find_package* generators removed targets_mapping = {self._cmake_target(k): f"opencv::{self._cmake_target(k)}" for k in self._opencv_modules.keys()} if self.options.world: targets_mapping.update({"opencv_world": "opencv::opencv_world"}) self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), + os.path.join(self.package_folder, self._module_target_rel_path), targets_mapping, ) + def _create_cmake_module_variables(self, module_file): + """ + Define several CMake variables from upstream CMake config file not defined by default by CMakeDeps. + See https://github.com/opencv/opencv/blob/2.4.13.7/cmake/templates/OpenCVConfig.cmake.in + """ + v = Version(self.version) + content = textwrap.dedent(f"""\ + if(NOT DEFINED OpenCV_LIBS) + set(OpenCV_LIBS opencv::opencv) + endif() + if(NOT DEFINED OpenCV_VERSION_MAJOR) + set(OpenCV_VERSION_MAJOR {v.major}) + endif() + if(NOT DEFINED OpenCV_VERSION_MINOR) + set(OpenCV_VERSION_MINOR {v.minor}) + endif() + if(NOT DEFINED OpenCV_VERSION_PATCH) + set(OpenCV_VERSION_PATCH {v.patch}) + endif() + """) + save(self, module_file, content) + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): @@ -554,7 +579,11 @@ def _create_cmake_module_alias_targets(self, module_file, targets): save(self, module_file, content) @property - def _module_file_rel_path(self): + def _module_vars_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + + @property + def _module_target_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") @staticmethod @@ -612,8 +641,8 @@ def add_components(components): # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components[conan_component].names["cmake_find_package"] = cmake_target self.cpp_info.components[conan_component].names["cmake_find_package_multi"] = cmake_target - self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_vars_rel_path, self._module_target_rel_path] + self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_vars_rel_path, self._module_target_rel_path] if module != cmake_target: conan_component_alias = conan_component + "_alias" self.cpp_info.components[conan_component_alias].names["cmake_find_package"] = module @@ -629,10 +658,11 @@ def add_components(components): self.cpp_info.components["opencv_world"].frameworks = list(world_frameworks) # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["opencv_world"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["opencv_world"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + self.cpp_info.components["opencv_world"].build_modules["cmake_find_package"] = [self._module_vars_rel_path, self._module_target_rel_path] + self.cpp_info.components["opencv_world"].build_modules["cmake_find_package_multi"] = [self._module_vars_rel_path, self._module_target_rel_path] self.cpp_info.set_property("cmake_file_name", "OpenCV") + self.cpp_info.set_property("cmake_build_modules", [self._module_vars_rel_path]) add_components(self._opencv_modules) diff --git a/recipes/opencv/3.x/conanfile.py b/recipes/opencv/3.x/conanfile.py index ffb81b4e364d5..c6f183e44df5c 100644 --- a/recipes/opencv/3.x/conanfile.py +++ b/recipes/opencv/3.x/conanfile.py @@ -17,7 +17,7 @@ class OpenCVConan(ConanFile): description = "OpenCV (Open Source Computer Vision Library)" url = "https://github.com/conan-io/conan-center-index" topics = ("computer-vision", "deep-learning", "image-processing") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -80,9 +80,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/2.1.5") + self.requires("libjpeg-turbo/3.0.0") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_jasper: @@ -91,17 +91,17 @@ def requirements(self): # opencv 3.x doesn't support openexr >= 3 self.requires("openexr/2.5.7") if self.options.with_tiff: - self.requires("libtiff/4.5.1") + self.requires("libtiff/4.6.0") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.parallel == "tbb": # opencv 3.x doesn't support onetbb >= 2021 - self.requires("onetbb/2020.3") + self.requires("onetbb/2020.3.3") if self.options.with_webp: self.requires("libwebp/1.3.2") if self.options.contrib: self.requires("freetype/2.13.0") - self.requires("harfbuzz/6.0.0") + self.requires("harfbuzz/8.2.2") self.requires("gflags/2.2.2") self.requires("glog/0.6.0") if self.options.get_safe("with_gtk"): @@ -287,12 +287,36 @@ def package(self): rename(self, os.path.join(self.package_folder, "setup_vars_opencv3.cmd"), os.path.join(self.package_folder, "res", "setup_vars_opencv3.cmd")) + self._create_cmake_module_variables(os.path.join(self.package_folder, self._module_vars_rel_path)) + # 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._module_target_rel_path), {component["target"]:"opencv::{}".format(component["target"]) for component in self._opencv_components} ) + def _create_cmake_module_variables(self, module_file): + """ + Define several CMake variables from upstream CMake config file not defined by default by CMakeDeps. + See https://github.com/opencv/opencv/blob/3.4.20/cmake/templates/OpenCVConfig.cmake.in + """ + v = Version(self.version) + content = textwrap.dedent(f"""\ + if(NOT DEFINED OpenCV_LIBS) + set(OpenCV_LIBS opencv::opencv) + endif() + if(NOT DEFINED OpenCV_VERSION_MAJOR) + set(OpenCV_VERSION_MAJOR {v.major}) + endif() + if(NOT DEFINED OpenCV_VERSION_MINOR) + set(OpenCV_VERSION_MINOR {v.minor}) + endif() + if(NOT DEFINED OpenCV_VERSION_PATCH) + set(OpenCV_VERSION_PATCH {v.patch}) + endif() + """) + save(self, module_file, content) + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): @@ -305,7 +329,11 @@ def _create_cmake_module_alias_targets(self, module_file, targets): save(self, module_file, content) @property - def _module_file_rel_path(self): + def _module_vars_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + + @property + def _module_target_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") @property @@ -431,8 +459,8 @@ def add_components(components): # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components[conan_component].names["cmake_find_package"] = cmake_target self.cpp_info.components[conan_component].names["cmake_find_package_multi"] = cmake_target - self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_vars_rel_path, self._module_target_rel_path] + self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_vars_rel_path, self._module_target_rel_path] if cmake_component != cmake_target: conan_component_alias = conan_component + "_alias" self.cpp_info.components[conan_component_alias].names["cmake_find_package"] = cmake_component @@ -443,6 +471,7 @@ def add_components(components): self.cpp_info.components[conan_component_alias].libdirs = [] self.cpp_info.set_property("cmake_file_name", "OpenCV") + self.cpp_info.set_property("cmake_build_modules", [self._module_vars_rel_path]) add_components(self._opencv_components) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 9a03220f56cd9..9110c31c6b1fb 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanException, ConanInvalidConfiguration from conan.tools.apple import is_apple_os -from conan.tools.build import can_run, check_min_cppstd, valid_min_cppstd +from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rename, replace_in_file, rmdir, save @@ -11,7 +11,7 @@ import re import textwrap -required_conan_version = ">=1.54.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" OPENCV_MAIN_MODULES_OPTIONS = ( @@ -211,6 +211,10 @@ class OpenCVConan(ConanFile): short_paths = True + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + @property def _contrib_folder(self): return os.path.join(self.source_folder, "contrib") @@ -255,10 +259,6 @@ def _has_wechat_qrcode_option(self): def _has_barcode_option(self): return Version(self.version) >= "4.5.3" - @property - def _protobuf_version(self): - return "3.21.12" - def export_sources(self): export_conandata_patches(self) @@ -1018,12 +1018,12 @@ def requirements(self): # dnn module dependencies if self.options.dnn: # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16678#issuecomment-1507811867 - self.requires(f"protobuf/{self._protobuf_version}", transitive_libs=True, run=can_run(self)) + self.requires("protobuf/3.21.12", transitive_libs=True) if self.options.get_safe("with_vulkan"): self.requires("vulkan-headers/1.3.250.0") # gapi module dependencies if self.options.gapi: - self.requires("ade/0.1.2c") + self.requires("ade/0.1.2d") # highgui module dependencies if self.options.get_safe("with_gtk"): self.requires("gtk/system") @@ -1062,7 +1062,7 @@ def requirements(self): # freetype module dependencies if self.options.freetype: self.requires("freetype/2.13.0") - self.requires("harfbuzz/8.2.1") + self.requires("harfbuzz/8.2.2") # hdf module dependencies if self.options.hdf: self.requires("hdf5/1.14.1") @@ -1128,8 +1128,8 @@ def validate(self): ) def build_requirements(self): - if self.options.dnn and not can_run(self): - self.tool_requires(f"protobuf/{self._protobuf_version}") + if self.options.dnn and not self._is_legacy_one_profile: + self.tool_requires("protobuf/") def source(self): get(self, **self.conan_data["sources"][self.version][0], strip_root=True) @@ -1183,7 +1183,7 @@ def _patch_sources(self): def generate(self): if self.options.dnn: - if can_run(self): + if self._is_legacy_one_profile: VirtualRunEnv(self).generate(scope="build") else: VirtualBuildEnv(self).generate() @@ -1394,15 +1394,39 @@ def package(self): rename(self, os.path.join(self.package_folder, "setup_vars_opencv4.cmd"), os.path.join(self.package_folder, "res", "setup_vars_opencv4.cmd")) + self._create_cmake_module_variables(os.path.join(self.package_folder, self._module_vars_rel_path)) + # TODO: to remove in conan v2 once cmake_find_package* generators removed targets_mapping = {self._cmake_target(k): f"opencv::{self._cmake_target(k)}" for k in self._opencv_modules.keys()} if self.options.world: targets_mapping.update({"opencv_world": "opencv::opencv_world"}) self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), + os.path.join(self.package_folder, self._module_target_rel_path), targets_mapping, ) + def _create_cmake_module_variables(self, module_file): + """ + Define several CMake variables from upstream CMake config file not defined by default by CMakeDeps. + See https://github.com/opencv/opencv/blob/4.8.1/cmake/templates/OpenCVConfig.cmake.in + """ + v = Version(self.version) + content = textwrap.dedent(f"""\ + if(NOT DEFINED OpenCV_LIBS) + set(OpenCV_LIBS opencv::opencv) + endif() + if(NOT DEFINED OpenCV_VERSION_MAJOR) + set(OpenCV_VERSION_MAJOR {v.major}) + endif() + if(NOT DEFINED OpenCV_VERSION_MINOR) + set(OpenCV_VERSION_MINOR {v.minor}) + endif() + if(NOT DEFINED OpenCV_VERSION_PATCH) + set(OpenCV_VERSION_PATCH {v.patch}) + endif() + """) + save(self, module_file, content) + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): @@ -1415,7 +1439,11 @@ def _create_cmake_module_alias_targets(self, module_file, targets): save(self, module_file, content) @property - def _module_file_rel_path(self): + def _module_vars_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + + @property + def _module_target_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") # returns true if GTK2 is selected. To do this, the version option @@ -1506,8 +1534,8 @@ def add_components(modules): # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components[conan_component].names["cmake_find_package"] = cmake_target self.cpp_info.components[conan_component].names["cmake_find_package_multi"] = cmake_target - self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + self.cpp_info.components[conan_component].build_modules["cmake_find_package"] = [self._module_vars_rel_path, self._module_target_rel_path] + self.cpp_info.components[conan_component].build_modules["cmake_find_package_multi"] = [self._module_vars_rel_path, self._module_target_rel_path] if module != cmake_target: conan_component_alias = conan_component + "_alias" self.cpp_info.components[conan_component_alias].names["cmake_find_package"] = module @@ -1523,10 +1551,11 @@ def add_components(modules): self.cpp_info.components["opencv_world"].frameworks = list(world_frameworks) # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["opencv_world"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["opencv_world"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + self.cpp_info.components["opencv_world"].build_modules["cmake_find_package"] = [self._module_vars_rel_path, self._module_target_rel_path] + self.cpp_info.components["opencv_world"].build_modules["cmake_find_package_multi"] = [self._module_vars_rel_path, self._module_target_rel_path] self.cpp_info.set_property("cmake_file_name", "OpenCV") + self.cpp_info.set_property("cmake_build_modules", [self._module_vars_rel_path]) add_components(self._opencv_modules) From dfc4c9cf0ad75b260a44bf5f5128607ede84d063 Mon Sep 17 00:00:00 2001 From: Dan Weatherill Date: Thu, 26 Oct 2023 17:05:25 +0100 Subject: [PATCH 2260/4087] (#19944) Clhep bump version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * start updating to new CLHEP release * CLHEP new version now building, refresh patches * remove spurious whitespace in yaml file * respond to PR review comments - newest versions at top in yml files - revert change to use implements attribute to keep conan 1 compat - revert moving patch to source() method * add missing newlines in yaml * fix conandata patch metadata to follow conan required schema * stray characters in yaml file * remove yaml trailing spaces * restore conan V1 cmake generators support * Remove implements, needs to wait until we only support v2 * respond to PR comments --------- Co-authored-by: Rubén Rincón Blanco --- recipes/clhep/all/conandata.yml | 16 +++++ .../clhep/all/patches/fix-cmake-2_4_6_4.patch | 72 +++++++++++++++++++ recipes/clhep/config.yml | 2 + 3 files changed, 90 insertions(+) create mode 100644 recipes/clhep/all/patches/fix-cmake-2_4_6_4.patch diff --git a/recipes/clhep/all/conandata.yml b/recipes/clhep/all/conandata.yml index 2745e50b6c689..97723c6543a1b 100644 --- a/recipes/clhep/all/conandata.yml +++ b/recipes/clhep/all/conandata.yml @@ -1,9 +1,25 @@ sources: + "2.4.6.4": + url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.6.4.tgz" + sha256: "49c89330f1903ef707d3c5d79c16a7c5a6f2c90fc290e2034ee3834809489e57" "2.4.1.3": url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.1.3.tgz" sha256: "27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913" patches: + "2.4.6.4": + - patch_file: "patches/fix-cmake-2_4_6_4.patch" + patch_description: The CLHEP build system builds BOTH shared and static by default, change that behaviour + patch_type: conan + - patch_file: "patches/msvc-2015-no-SFINAE.patch" + patch_description: work around a compiler bug in MSVC 2015 + patch_type: portability "2.4.1.3": - patch_file: "patches/fix-cmake.patch" + patch_description: The CLHEP build system builds BOTH shared and static by default, change that behaviour + patch_type: conan - patch_file: "patches/mingw-support.patch" + patch_description: allow CLHEP to build and link properly under mingw environments + patch_type: portability - patch_file: "patches/msvc-2015-no-SFINAE.patch" + patch_description: work around a compiler bug in MSVC 2015 + patch_type: portability diff --git a/recipes/clhep/all/patches/fix-cmake-2_4_6_4.patch b/recipes/clhep/all/patches/fix-cmake-2_4_6_4.patch new file mode 100644 index 0000000000000..7137344105ea3 --- /dev/null +++ b/recipes/clhep/all/patches/fix-cmake-2_4_6_4.patch @@ -0,0 +1,72 @@ +--- a/CLHEP/CMakeLists.txt ++++ b/CLHEP/CMakeLists.txt +@@ -121,10 +121,8 @@ add_subdirectory(RefCount) + add_subdirectory(Exceptions) + + # libCLHEP.a and libCLHEP.so +-clhep_build_libclhep( ${CLHEP_libraries} ) + + # provide tools for other packages to include CLHEP easily +-clhep_toolchain() + + # - Build docucumentation if required + if(CLHEP_BUILD_DOCS) +@@ -151,4 +149,3 @@ if(CLHEP_BUILD_DOCS) + endif() + + # Custom Packaging +-include(ClhepPackaging) +--- a/CLHEP/cmake/Modules/ClhepBuildTest.cmake ++++ b/CLHEP/cmake/Modules/ClhepBuildTest.cmake +@@ -17,6 +17,8 @@ include(ClhepParseArgs) + + + macro( clhep_test testname ) ++# disable tests ++if(FALSE) + clhep_parse_args( CTST "LIBS;DEPENDS" "SIMPLE;FAIL;NOLIB" ${ARGN}) + + # automake/autoconf variables for ${testname}.sh.in +@@ -68,4 +70,5 @@ macro( clhep_test testname ) + endif() + endif() + ++endif() + endmacro( clhep_test ) +--- a/CLHEP/cmake/Modules/ClhepBuildLibrary.cmake ++++ b/CLHEP/cmake/Modules/ClhepBuildLibrary.cmake +@@ -30,29 +30,24 @@ macro(clhep_build_library package) + endif() + + # Add the libraries and set properties +- ADD_LIBRARY(${package} SHARED ${CLHEP_${package}_SOURCES}) +- ADD_LIBRARY(${package}S STATIC ${CLHEP_${package}_SOURCES}) ++ # Build shared or static, not both, because: ++ # - slower build ++ # - lot of issues because output names are the same + msvc shared is broken ++ ADD_LIBRARY(${package} ${CLHEP_${package}_SOURCES}) + SET_TARGET_PROPERTIES (${package} + PROPERTIES + OUTPUT_NAME CLHEP-${package}-${VERSION} + ) +- SET_TARGET_PROPERTIES(${package}S +- PROPERTIES +- OUTPUT_NAME CLHEP-${package}-${VERSION} +- ) + + # Do not add -Dname_EXPORTS to the command-line when building files in this + # target. Doing so is actively harmful for the modules build because it + # creates extra module variants, and not useful because we don't use these + # macros. + SET_TARGET_PROPERTIES(${package} PROPERTIES DEFINE_SYMBOL "") +- SET_TARGET_PROPERTIES(${package}S PROPERTIES DEFINE_SYMBOL "") +- + target_link_libraries(${package} ${package_library_list} ) +- target_link_libraries(${package}S ${package_library_list_static} ) + + # Install the libraries +- INSTALL (TARGETS ${package} ${package}S ++ INSTALL (TARGETS ${package} + EXPORT CLHEPLibraryDepends + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} diff --git a/recipes/clhep/config.yml b/recipes/clhep/config.yml index e3d64184919ef..ad9dd349ce89d 100644 --- a/recipes/clhep/config.yml +++ b/recipes/clhep/config.yml @@ -1,3 +1,5 @@ versions: + "2.4.6.4": + folder: all "2.4.1.3": folder: all From aa68bb1b64d91011dc23dd0e1971b35e982b5c03 Mon Sep 17 00:00:00 2001 From: Tobulus Date: Thu, 26 Oct 2023 18:27:51 +0200 Subject: [PATCH 2261/4087] (#19103) [linux-headers-generic] remove cross-building constraint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [linux-headers-generic] remove cross-building constraint * remove import * Ensure build is also linux * Fix typo * I'm a dummy --------- Co-authored-by: Rubén Rincón Blanco --- recipes/linux-headers-generic/all/conanfile.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/linux-headers-generic/all/conanfile.py b/recipes/linux-headers-generic/all/conanfile.py index 8179bf6408f18..5b72ec11402d0 100644 --- a/recipes/linux-headers-generic/all/conanfile.py +++ b/recipes/linux-headers-generic/all/conanfile.py @@ -2,7 +2,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building from conan.tools.files import chdir, copy, get from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -30,11 +29,13 @@ def package_id(self): del self.info.settings.build_type del self.info.settings.compiler + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + def validate(self): - if self.settings.os != "Linux": + if self.settings.os != "Linux" or (not self._is_legacy_one_profile and self.settings_build.os != "Linux"): raise ConanInvalidConfiguration("linux-headers-generic supports only Linux") - if hasattr(self, "settings_build") and cross_building(self): - raise ConanInvalidConfiguration("linux-headers-generic can not be cross-compiled") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 776a49b873bbc5d5674d5ef2b6c8c3ffa4428aaf Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Oct 2023 01:48:44 +0900 Subject: [PATCH 2262/4087] (#20690) log4cxx: add version 1.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * log4cxx: add version 1.1.0 * fix invalid syntax * remove cmake, pkgconfig files --------- Co-authored-by: Rubén Rincón Blanco --- recipes/log4cxx/all/conandata.yml | 15 ++++++- recipes/log4cxx/all/conanfile.py | 14 ++++-- ...d-apr.patch => 0.12.0-0001-find-apr.patch} | 0 .../all/patches/1.1.0-0001-find-apr.patch | 44 +++++++++++++++++++ recipes/log4cxx/config.yml | 2 + 5 files changed, 69 insertions(+), 6 deletions(-) rename recipes/log4cxx/all/patches/{0001-find-apr.patch => 0.12.0-0001-find-apr.patch} (100%) create mode 100644 recipes/log4cxx/all/patches/1.1.0-0001-find-apr.patch diff --git a/recipes/log4cxx/all/conandata.yml b/recipes/log4cxx/all/conandata.yml index 398cc493a41ae..6e4b69d1303a5 100644 --- a/recipes/log4cxx/all/conandata.yml +++ b/recipes/log4cxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://archive.apache.org/dist/logging/log4cxx/1.1.0/apache-log4cxx-1.1.0.tar.gz" + sha256: "1fc7d82697534184bc0f757348d969d24852b948f63d6b17283fd1ee29c2c28a" "0.12.1": url: "https://archive.apache.org/dist/logging/log4cxx/0.12.1/apache-log4cxx-0.12.1.tar.gz" sha256: "7bea5cb477f0e31c838f0e1f4f498cc3b30c2eae74703ddda923e7e8c2268d22" @@ -6,7 +9,15 @@ sources: url: "https://archive.apache.org/dist/logging/log4cxx/0.12.0/apache-log4cxx-0.12.0.tar.gz" sha256: "bd5b5009ca914c8fa7944b92ea6b4ca6fb7d146f65d526f21bf8b3c6a0520e44" patches: + "1.1.0": + - patch_file: "patches/1.1.0-0001-find-apr.patch" + patch_description: "use cci's package name" + patch_type: "conan" "0.12.1": - - patch_file: "patches/0001-find-apr.patch" + - patch_file: "patches/0.12.0-0001-find-apr.patch" + patch_description: "use cci's package name" + patch_type: "conan" "0.12.0": - - patch_file: "patches/0001-find-apr.patch" + - patch_file: "patches/0.12.0-0001-find-apr.patch" + patch_description: "use cci's package name" + patch_type: "conan" diff --git a/recipes/log4cxx/all/conanfile.py b/recipes/log4cxx/all/conanfile.py index 282fa49ad39dc..f7fedd1522a39 100644 --- a/recipes/log4cxx/all/conanfile.py +++ b/recipes/log4cxx/all/conanfile.py @@ -30,6 +30,10 @@ class Log4cxxConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 17 + @property def _compilers_minimum_version(self): return { @@ -55,7 +59,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("apr/1.7.0") + self.requires("apr/1.7.4") self.requires("apr-util/1.6.1") self.requires("expat/2.5.0") if self.settings.os != "Windows": @@ -63,11 +67,11 @@ def requirements(self): def validate(self): # TODO: if compiler doesn't support C++17, boost can be used instead - if self.settings.compiler.cppstd: - check_min_cppstd(self, 17) + 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("log4cxx requires a compiler that supports at least C++17") + raise ConanInvalidConfiguration(f"{self.ref} requires a compiler that supports at least C++{self._min_cppstd}") def build_requirements(self): if self.settings.os != "Windows": @@ -100,6 +104,8 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( diff --git a/recipes/log4cxx/all/patches/0001-find-apr.patch b/recipes/log4cxx/all/patches/0.12.0-0001-find-apr.patch similarity index 100% rename from recipes/log4cxx/all/patches/0001-find-apr.patch rename to recipes/log4cxx/all/patches/0.12.0-0001-find-apr.patch diff --git a/recipes/log4cxx/all/patches/1.1.0-0001-find-apr.patch b/recipes/log4cxx/all/patches/1.1.0-0001-find-apr.patch new file mode 100644 index 0000000000000..5b8a283a6e00a --- /dev/null +++ b/recipes/log4cxx/all/patches/1.1.0-0001-find-apr.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 61c0479..6ac3e77 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,16 +51,18 @@ endif() + + # Find Apache Runtime + option(APR_STATIC "Link to the APR static library" OFF) +-find_package(APR REQUIRED) ++find_package(apr REQUIRED) ++set(APR_LIBRARIES apr::apr) + + # Find Apache Runtime Utilities + option(APU_STATIC "Link to the APR-Util static library" OFF) +-find_package(APR-Util REQUIRED) ++find_package(apr-util REQUIRED) ++set(APR_UTIL_LIBRARIES apr-util::apr-util) + + find_package( Threads REQUIRED ) + + # Find expat for XML parsing +-find_package(EXPAT REQUIRED) ++find_package(EXPAT REQUIRED MODULE) + if(TARGET EXPAT::EXPAT) + set(EXPAT_LIBRARIES EXPAT::EXPAT) + elseif(TARGET expat::expat) +@@ -134,7 +136,7 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/main/include/log4cxx + ) + + install(TARGETS log4cxx EXPORT log4cxxTargets +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +@@ -171,7 +173,7 @@ if(UNIX) + "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx.pc" + ) + +- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx.pc" ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx.pc" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + if(LOG4CXX_QT_SUPPORT) diff --git a/recipes/log4cxx/config.yml b/recipes/log4cxx/config.yml index f5578f6ffba14..18729d7b4cdc5 100644 --- a/recipes/log4cxx/config.yml +++ b/recipes/log4cxx/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "0.12.1": folder: all "0.12.0": From 92fb918765679585b65de9f24972592c0f50f6c9 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Thu, 26 Oct 2023 19:15:41 +0200 Subject: [PATCH 2263/4087] (#19529) GMP: Emscripten support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * emscripten support * fix lint * Simplify conditional patching --------- Co-authored-by: Rubén Rincón --- recipes/gmp/all/conandata.yml | 32 ++++ recipes/gmp/all/conanfile.py | 19 ++- .../patches/emscripten/0001-configure.patch | 14 ++ .../emscripten/0002-gmp-mparam.h.patch | 147 ++++++++++++++++++ 4 files changed, 207 insertions(+), 5 deletions(-) create mode 100644 recipes/gmp/all/patches/emscripten/0001-configure.patch create mode 100644 recipes/gmp/all/patches/emscripten/0002-gmp-mparam.h.patch diff --git a/recipes/gmp/all/conandata.yml b/recipes/gmp/all/conandata.yml index 71709fecc31aa..2590ca2c5c73a 100644 --- a/recipes/gmp/all/conandata.yml +++ b/recipes/gmp/all/conandata.yml @@ -19,13 +19,45 @@ patches: "6.3.0": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - patch_file: "patches/6.x.x-0001-fix-MSVC-next-prime-error.patch" + - patch_file: "patches/emscripten/0001-configure.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" + - patch_file: "patches/emscripten/0002-gmp-mparam.h.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" "6.2.1": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - patch_file: "patches/6.x.x-0001-fix-MSVC-next-prime-error.patch" + - patch_file: "patches/emscripten/0001-configure.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" + - patch_file: "patches/emscripten/0002-gmp-mparam.h.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" "6.2.0": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - patch_file: "patches/6.x.x-0001-fix-MSVC-next-prime-error.patch" + - patch_file: "patches/emscripten/0001-configure.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" + - patch_file: "patches/emscripten/0002-gmp-mparam.h.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" "6.1.2": - patch_file: "patches/0001-msvc-dumpbin-yasm-wrapper.patch" - patch_file: "patches/6.1.x-0001-fix-MSVC-next-prime-error.patch" - patch_file: "patches/6.1.x-0002-fix-MSVC-debug.patch" + - patch_file: "patches/emscripten/0001-configure.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" + - patch_file: "patches/emscripten/0002-gmp-mparam.h.patch" + patch_os: "Emscripten" + patch_source: "https://github.com/fpelliccioni" + patch_type: "portability" diff --git a/recipes/gmp/all/conanfile.py b/recipes/gmp/all/conanfile.py index eae86d9dc3505..13d9a9a41b8c1 100644 --- a/recipes/gmp/all/conanfile.py +++ b/recipes/gmp/all/conanfile.py @@ -2,7 +2,7 @@ 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, rm, rmdir +from conan.tools.files import copy, export_conandata_patches, get, patch, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import check_min_vs, is_msvc, unix_path @@ -19,7 +19,7 @@ class GmpConan(ConanFile): "on signed integers, rational numbers, and floating-point numbers." ) url = "https://github.com/conan-io/conan-center-index" - topics = ("gmp", "math", "arbitrary", "precision", "integer") + topics = ("math", "arbitrary", "precision", "integer") license = ("LGPL-3.0", "GPL-2.0") homepage = "https://gmplib.org" @@ -83,8 +83,8 @@ def build_requirements(self): 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("yasm/1.3.0") # Needed for determining 32-bit word size - self.tool_requires("automake/1.16.5") # Needed for lib-wrapper + self.tool_requires("yasm/1.3.0") # Needed for determining 32-bit word size + self.tool_requires("automake/1.16.5") # Needed for lib-wrapper def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -130,7 +130,16 @@ def generate(self): tc.generate(env) def _patch_sources(self): - apply_conandata_patches(self) + # Usage allowed after consideration with CCI maintainers + for it in self.conan_data.get("patches", {}).get(self.version, []): + if "patch_os" not in it or self.settings.os == it["patch_os"]: + entry = it.copy() + patch_file = entry.pop("patch_file") + patch_file_path = os.path.join(self.export_sources_folder, patch_file) + if "patch_description" not in entry: + entry["patch_description"] = patch_file + patch(self, patch_file=patch_file_path, **entry) + # Fix permission issue if is_apple_os(self): configure_file = os.path.join(self.source_folder, "configure") diff --git a/recipes/gmp/all/patches/emscripten/0001-configure.patch b/recipes/gmp/all/patches/emscripten/0001-configure.patch new file mode 100644 index 0000000000000..290382628e9ed --- /dev/null +++ b/recipes/gmp/all/patches/emscripten/0001-configure.patch @@ -0,0 +1,14 @@ +--- configure-orig 2023-08-23 10:38:02 ++++ configure 2023-08-23 10:38:02 +@@ -4078,8 +4078,10 @@ + + + # abilist needs to be non-empty, "standard" is just a generic name here +-abilist="standard" ++abilist="standard longlong" ++limb_longlong=longlong + ++ + # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring + # c89 over cc here. But note that on HP-UX c89 provides a castrated + # environment, and would want to be excluded somehow. Maybe diff --git a/recipes/gmp/all/patches/emscripten/0002-gmp-mparam.h.patch b/recipes/gmp/all/patches/emscripten/0002-gmp-mparam.h.patch new file mode 100644 index 0000000000000..a73a98ce168ce --- /dev/null +++ b/recipes/gmp/all/patches/emscripten/0002-gmp-mparam.h.patch @@ -0,0 +1,147 @@ +--- mpn/generic/gmp-mparam.h-orig 2023-08-22 16:57:58 ++++ mpn/generic/gmp-mparam.h 2023-08-22 16:58:43 +@@ -1,33 +1,122 @@ +-/* Generic C gmp-mparam.h -- Compiler/machine parameter header file. ++/* Generated by tuneup.c, 2022-04-30, gcc 4.2 */ + +-Copyright 1991, 1993, 1994, 2000 Free Software Foundation, Inc. ++#define DIVREM_1_NORM_THRESHOLD 0 /* always */ ++#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ ++#define MOD_1_1P_METHOD 2 /* 14.77% faster than 1 */ ++#define MOD_1_NORM_THRESHOLD 0 /* always */ ++#define MOD_1_UNNORM_THRESHOLD 0 /* always */ ++#define MOD_1N_TO_MOD_1_1_THRESHOLD 8 ++#define MOD_1U_TO_MOD_1_1_THRESHOLD 4 ++#define MOD_1_1_TO_MOD_1_2_THRESHOLD 22 ++#define MOD_1_2_TO_MOD_1_4_THRESHOLD 0 /* never mpn_mod_1s_2p */ ++#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 29 ++#define USE_PREINV_DIVREM_1 1 ++#define DIV_QR_1N_PI1_METHOD 1 /* 33.79% faster than 2 */ ++#define DIV_QR_1_NORM_THRESHOLD 3 ++#define DIV_QR_1_UNNORM_THRESHOLD 1 ++#define DIV_QR_2_PI2_THRESHOLD 13 ++#define DIVEXACT_1_THRESHOLD 0 /* always */ ++#define BMOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */ + +-This file is part of the GNU MP Library. ++#define DIV_1_VS_MUL_1_PERCENT 116 + +-The GNU MP Library is free software; you can redistribute it and/or modify +-it under the terms of either: ++#define MUL_TOOM22_THRESHOLD 12 ++#define MUL_TOOM33_THRESHOLD 77 ++#define MUL_TOOM44_THRESHOLD 118 ++#define MUL_TOOM6H_THRESHOLD 156 ++#define MUL_TOOM8H_THRESHOLD 212 + +- * the GNU Lesser General Public License as published by the Free +- Software Foundation; either version 3 of the License, or (at your +- option) any later version. ++#define MUL_TOOM32_TO_TOOM43_THRESHOLD 73 ++#define MUL_TOOM32_TO_TOOM53_THRESHOLD 91 ++#define MUL_TOOM42_TO_TOOM53_THRESHOLD 73 ++#define MUL_TOOM42_TO_TOOM63_THRESHOLD 78 ++#define MUL_TOOM43_TO_TOOM54_THRESHOLD 88 + +-or ++#define SQR_BASECASE_THRESHOLD 4 ++#define SQR_TOOM2_THRESHOLD 26 ++#define SQR_TOOM3_THRESHOLD 85 ++#define SQR_TOOM4_THRESHOLD 142 ++#define SQR_TOOM6_THRESHOLD 180 ++#define SQR_TOOM8_THRESHOLD 260 + +- * the GNU General Public License as published by the Free Software +- Foundation; either version 2 of the License, or (at your option) any +- later version. ++#define MULMID_TOOM42_THRESHOLD 18 + +-or both in parallel, as here. ++#define MULMOD_BNM1_THRESHOLD 9 ++#define SQRMOD_BNM1_THRESHOLD 11 + +-The GNU MP Library is distributed in the hope that it will be useful, but +-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-for more details. ++#define MUL_FFT_MODF_THRESHOLD 244 /* k = 5 */ ++#define MUL_FFT_TABLE3 \ ++ { { 244, 5}, { 11, 6}, { 6, 5}, { 13, 6}, \ ++ { 7, 5}, { 15, 6}, { 15, 7}, { 8, 6}, \ ++ { 17, 7}, { 9, 6}, { 19, 7}, { 13, 8}, \ ++ { 7, 7}, { 17, 8}, { 9, 7}, { 20, 8}, \ ++ { 11, 7}, { 23, 8}, { 13, 9}, { 7, 8}, \ ++ { 19, 9}, { 11, 8}, { 25,10}, { 7, 9}, \ ++ { 15, 8}, { 33, 9}, { 19, 8}, { 39, 9}, \ ++ { 23,10}, { 15, 9}, { 39,10}, { 23,11}, \ ++ { 15,10}, { 31, 9}, { 67,10}, { 39, 9}, \ ++ { 79,10}, { 47,11}, { 2048,12}, { 4096,13}, \ ++ { 8192,14}, { 16384,15}, { 32768,16} } ++#define MUL_FFT_TABLE3_SIZE 43 ++#define MUL_FFT_THRESHOLD 2240 + +-You should have received copies of the GNU General Public License and the +-GNU Lesser General Public License along with the GNU MP Library. If not, +-see https://www.gnu.org/licenses/. */ ++#define SQR_FFT_MODF_THRESHOLD 208 /* k = 5 */ ++#define SQR_FFT_TABLE3 \ ++ { { 208, 5}, { 11, 6}, { 6, 5}, { 13, 6}, \ ++ { 15, 7}, { 8, 6}, { 17, 7}, { 13, 8}, \ ++ { 7, 7}, { 17, 8}, { 9, 7}, { 20, 8}, \ ++ { 13, 9}, { 7, 8}, { 19, 9}, { 11, 8}, \ ++ { 25,10}, { 7, 9}, { 15, 8}, { 33, 9}, \ ++ { 19, 8}, { 39, 9}, { 27,10}, { 15, 9}, \ ++ { 39,10}, { 23,11}, { 15,10}, { 31, 9}, \ ++ { 63,10}, { 39, 8}, { 159, 7}, { 319, 9}, \ ++ { 83,10}, { 47,11}, { 2048,12}, { 4096,13}, \ ++ { 8192,14}, { 16384,15}, { 32768,16} } ++#define SQR_FFT_TABLE3_SIZE 39 ++#define SQR_FFT_THRESHOLD 1984 + ++#define MULLO_BASECASE_THRESHOLD 0 /* always */ ++#define MULLO_DC_THRESHOLD 43 ++#define MULLO_MUL_N_THRESHOLD 4392 ++#define SQRLO_BASECASE_THRESHOLD 0 /* always */ ++#define SQRLO_DC_THRESHOLD 90 ++#define SQRLO_SQR_THRESHOLD 590 + +-/* Values for GMP_LIMB_BITS etc will be determined by ./configure and put +- in config.h. */ ++#define DC_DIV_QR_THRESHOLD 35 ++#define DC_DIVAPPR_Q_THRESHOLD 151 ++#define DC_BDIV_QR_THRESHOLD 40 ++#define DC_BDIV_Q_THRESHOLD 86 ++ ++#define INV_MULMOD_BNM1_THRESHOLD 22 ++#define INV_NEWTON_THRESHOLD 228 ++#define INV_APPR_THRESHOLD 165 ++ ++#define BINV_NEWTON_THRESHOLD 236 ++#define REDC_1_TO_REDC_N_THRESHOLD 46 ++ ++#define MU_DIV_QR_THRESHOLD 979 ++#define MU_DIVAPPR_Q_THRESHOLD 1078 ++#define MUPI_DIV_QR_THRESHOLD 98 ++#define MU_BDIV_QR_THRESHOLD 807 ++#define MU_BDIV_Q_THRESHOLD 979 ++ ++#define POWM_SEC_TABLE 7,34,135,579,1378 ++ ++#define GET_STR_DC_THRESHOLD 19 ++#define GET_STR_PRECOMPUTE_THRESHOLD 27 ++#define SET_STR_DC_THRESHOLD 228 ++#define SET_STR_PRECOMPUTE_THRESHOLD 1356 ++ ++#define FAC_DSC_THRESHOLD 270 ++#define FAC_ODD_THRESHOLD 0 /* always */ ++ ++#define MATRIX22_STRASSEN_THRESHOLD 15 ++#define HGCD2_DIV1_METHOD 3 /* 5.64% faster than 1 */ ++#define HGCD_THRESHOLD 84 ++#define HGCD_APPR_THRESHOLD 101 ++#define HGCD_REDUCE_THRESHOLD 1437 ++#define GCD_DC_THRESHOLD 327 ++#define GCDEXT_DC_THRESHOLD 253 ++#define JACOBI_BASE_METHOD 4 /* 2.47% faster than 3 */ ++ ++/* Tuneup completed successfully, took 74 seconds */ From d846ef6fca40f4a64039ff8c3f3323b3055ce81d Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 26 Oct 2023 21:38:55 +0400 Subject: [PATCH 2264/4087] (#20747) openvino: ported patch to work with dynamic protobuf --- recipes/openvino/all/conandata.yml | 11 + recipes/openvino/all/conanfile.py | 19 +- .../dependencies/dependencies-2023.1.0.yml | 2 +- .../2023.1.0/0005-dynamic-protobuf.patch | 218 ++++++++++++++++++ .../all/patches/2023.1.0/0006-macos-14.patch | 12 + 5 files changed, 249 insertions(+), 13 deletions(-) create mode 100644 recipes/openvino/all/patches/2023.1.0/0005-dynamic-protobuf.patch create mode 100644 recipes/openvino/all/patches/2023.1.0/0006-macos-14.patch diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index 754a9fdac40d3..814349b52f916 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -38,3 +38,14 @@ patches: patch_description: "Fixed order of initialization of static variables in GPU plugin compiled with clang" patch_type: "portability" patch_source: "https://github.com/openvinotoolkit/openvino/pull/19768" + - patch_file: "patches/2023.1.0/0005-dynamic-protobuf.patch" + patch_description: "Added a workaround for OpenVINO to work with dynamic protobuf" + patch_type: "portability" + # severals PR are merged into a single patch including: + # https://github.com/openvinotoolkit/openvino/pull/19599, + # https://github.com/openvinotoolkit/openvino/pull/19758 and + patch_source: "https://github.com/openvinotoolkit/openvino/pull/20612" + - patch_file: "patches/2023.1.0/0006-macos-14.patch" + patch_description: "Support macos 14" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19946" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index 01d98eb2e1f7e..b1cfc1fd2fe86 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -146,8 +146,7 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") if self._protobuf_required: - # we need to use static protobuf to overcome potential issues with multiple registrations inside - # protobuf when frontends (implemented as plugins) are loaded multiple times in runtime + # even though OpenVINO can work with dynamic protobuf, it's still recommended to use static self.options["protobuf"].shared = False def build_requirements(self): @@ -162,8 +161,8 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.18 <4]") def requirements(self): - self.requires("onetbb/2021.9.0") - self.requires("pugixml/1.13") + self.requires("onetbb/2021.10.0") + self.requires("pugixml/1.14") if self._target_x86_64: self.requires("xbyak/6.73") if self.options.get_safe("enable_gpu"): @@ -176,7 +175,7 @@ def requirements(self): if self.options.enable_onnx_frontend: self.requires(self._require("onnx")) if self.options.enable_tf_lite_frontend: - self.requires("flatbuffers/22.9.24") + self.requires("flatbuffers/23.5.26") if self._preprocessing_available: self.requires(self._require("ade")) @@ -261,15 +260,11 @@ def validate_build(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Debug build type") def validate(self): - # dynamically compiled frontends cannot be run against dynamic protobuf - if self._protobuf_required and self.options.shared and self.dependencies["protobuf"].options.shared: - raise ConanInvalidConfiguration(f"{self.ref}:shared=True requires protobuf:shared=False for correct work.") - if self.options.get_safe("enable_gpu") and not self.options.shared and self.options.enable_cpu: # 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." - "To enable oneDNN support for GPU plugin, please, either use shared build configuration" + 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. " + "To enable oneDNN support for GPU plugin, please, either use shared build configuration " "or disable CPU plugin by setting 'enable_cpu' option to False.") def build(self): diff --git a/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml b/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml index e789abb75808e..fd126ded2ddee 100644 --- a/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml +++ b/recipes/openvino/all/dependencies/dependencies-2023.1.0.yml @@ -1,2 +1,2 @@ onnx: "1.13.1" -ade: "0.1.2c" +ade: "0.1.2d" diff --git a/recipes/openvino/all/patches/2023.1.0/0005-dynamic-protobuf.patch b/recipes/openvino/all/patches/2023.1.0/0005-dynamic-protobuf.patch new file mode 100644 index 0000000000000..50b087b4268b4 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0005-dynamic-protobuf.patch @@ -0,0 +1,218 @@ +diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake +index df3586474b..8e50b25ea3 100644 +--- a/cmake/developer_package/frontends/frontends.cmake ++++ b/cmake/developer_package/frontends/frontends.cmake +@@ -130,6 +130,10 @@ macro(ov_add_frontend) + foreach(INFILE IN LISTS proto_files) + get_filename_component(FILE_DIR ${INFILE} DIRECTORY) + get_filename_component(FILE_WE ${INFILE} NAME_WE) ++ if(FILE_WE MATCHES "^(any|wrappers)$") ++ # we need to skip standard protobuf files ++ continue() ++ endif() + set(OUTPUT_PB_SRC ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}.pb.cc) + set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}.pb.h) + set(GENERATED_PROTO ${INFILE}) +diff --git a/src/frontends/common/src/manager.cpp b/src/frontends/common/src/manager.cpp +index 2fa59398b1..6194fca758 100644 +--- a/src/frontends/common/src/manager.cpp ++++ b/src/frontends/common/src/manager.cpp +@@ -20,11 +20,6 @@ class FrontEndManager::Impl { + std::mutex m_loading_mutex; + std::vector m_plugins; + +- /// \brief map of shared object per frontend +- static std::unordered_map> m_shared_objects_map; +- /// \brief Mutex to guard access the shared object map +- static std::mutex m_shared_objects_map_mutex; +- + public: + Impl() { + search_all_plugins(); +@@ -36,10 +31,6 @@ public: + auto fe_obj = std::make_shared(); + fe_obj->m_shared_object = std::make_shared(plugin.get_so_pointer()); + fe_obj->m_actual = plugin.get_creator().m_creator(); +- +- std::lock_guard guard(m_shared_objects_map_mutex); +- m_shared_objects_map.emplace(plugin.get_creator().m_name, fe_obj->m_shared_object); +- + return fe_obj; + } + +@@ -49,6 +40,7 @@ public: + {"ir", "ir"}, + {"onnx", "onnx"}, + {"tf", "tensorflow"}, ++ {"tflite", "tensorflow_lite"}, + {"paddle", "paddle"}, + {"pytorch", "pytorch"}, + }; +@@ -127,8 +119,8 @@ public: + } + + static void shutdown() { +- std::lock_guard guard(m_shared_objects_map_mutex); +- m_shared_objects_map.clear(); ++ std::lock_guard guard(get_shared_objects_mutex()); ++ get_shared_objects_map().clear(); + } + + private: +@@ -153,6 +145,7 @@ private: + {".xml", {"ir", "ir"}}, + {".onnx", {"onnx", "onnx"}}, + {".pb", {"tf", "tensorflow"}}, ++ {".pbtxt", {"tf", "tensorflow"}}, + {".tflite", {"tflite", "tensorflow_lite"}}, + {".pdmodel", {"paddle", "paddle"}}, + // {".ts", {"pytorch", "pytorch"}}, +@@ -223,9 +216,6 @@ private: + } + }; + +-std::unordered_map> FrontEndManager::Impl::m_shared_objects_map{}; +-std::mutex FrontEndManager::Impl::m_shared_objects_map_mutex{}; +- + FrontEndManager::FrontEndManager() : m_impl(new Impl()) {} + + FrontEndManager::FrontEndManager(FrontEndManager&&) noexcept = default; +diff --git a/src/frontends/common/src/plugin_loader.cpp b/src/frontends/common/src/plugin_loader.cpp +index a044152d8d..a98eff766b 100644 +--- a/src/frontends/common/src/plugin_loader.cpp ++++ b/src/frontends/common/src/plugin_loader.cpp +@@ -16,17 +16,32 @@ + + #include + +-#include + #include + #include + + #include "openvino/util/file_util.hpp" ++#include "openvino/util/log.hpp" + #include "openvino/util/shared_object.hpp" + #include "plugin_loader.hpp" + + using namespace ov; + using namespace ov::frontend; + ++// Note, static methods below are required to create an order of initialization of static variables ++// e.g. if users (not encouraged) created ov::Model globally, we need to ensure proper order of initialization ++ ++/// \return map of shared object per frontend ++std::unordered_map>& ov::frontend::get_shared_objects_map() { ++ static std::unordered_map> shared_objects_map; ++ return shared_objects_map; ++} ++ ++/// \return Mutex to guard access the shared object map ++std::mutex& ov::frontend::get_shared_objects_mutex() { ++ static std::mutex shared_objects_map_mutex; ++ return shared_objects_map_mutex; ++} ++ + #ifdef OPENVINO_STATIC_LIBRARY + + # include "ov_frontends.hpp" +@@ -131,6 +146,10 @@ bool PluginInfo::load() { + m_load_failed = true; + return false; + } ++ ++ std::lock_guard guard(get_shared_objects_mutex()); ++ get_shared_objects_map().emplace(get_creator().m_name, get_so_pointer()); ++ + return true; + } + +diff --git a/src/frontends/common/src/plugin_loader.hpp b/src/frontends/common/src/plugin_loader.hpp +index 93e6a5cc2e..dccf8ddf7a 100644 +--- a/src/frontends/common/src/plugin_loader.hpp ++++ b/src/frontends/common/src/plugin_loader.hpp +@@ -4,7 +4,12 @@ + + #pragma once + +-#include ++#include ++#include ++#include ++#include ++ ++#include "openvino/frontend/manager.hpp" + + #ifdef _WIN32 + static const char PathSeparator[] = ";"; +@@ -15,6 +20,9 @@ static const char PathSeparator[] = ":"; + namespace ov { + namespace frontend { + ++std::unordered_map>& get_shared_objects_map(); ++std::mutex& get_shared_objects_mutex(); ++ + /// \brief Internal data structure holding by each frontend. Includes library handle and extensions. + class FrontEndSharedData { + friend inline void add_extension_to_shared_data(std::shared_ptr& obj, +diff --git a/src/frontends/tensorflow/src/proto/meta_graph.proto b/src/frontends/tensorflow/src/proto/meta_graph.proto +index b6918fa853..c59c0680af 100644 +--- a/src/frontends/tensorflow/src/proto/meta_graph.proto ++++ b/src/frontends/tensorflow/src/proto/meta_graph.proto +@@ -14,7 +14,7 @@ syntax = "proto3"; + + package tensorflow; + +-import "any.proto"; ++import "google/protobuf/any.proto"; + import "graph.proto"; + import "op_def.proto"; + import "tensor_shape.proto"; +diff --git a/src/frontends/tensorflow/src/proto/saved_object_graph.proto b/src/frontends/tensorflow/src/proto/saved_object_graph.proto +index 671441075c..3918a4a8d1 100644 +--- a/src/frontends/tensorflow/src/proto/saved_object_graph.proto ++++ b/src/frontends/tensorflow/src/proto/saved_object_graph.proto +@@ -14,7 +14,7 @@ syntax = "proto3"; + + package tensorflow; + +-import "any.proto"; ++import "google/protobuf/any.proto"; + import "tensor_shape.proto"; + import "types.proto"; + import "variable.proto"; +diff --git a/src/frontends/tensorflow/src/proto/trackable_object_graph.proto b/src/frontends/tensorflow/src/proto/trackable_object_graph.proto +index f4a8e4da34..f0a9617432 100644 +--- a/src/frontends/tensorflow/src/proto/trackable_object_graph.proto ++++ b/src/frontends/tensorflow/src/proto/trackable_object_graph.proto +@@ -14,7 +14,7 @@ syntax = "proto3"; + + package tensorflow; + +-import "wrappers.proto"; ++import "google/protobuf/wrappers.proto"; + + option cc_enable_arenas = true; + option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; +diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake +index 43e0ed671a..10042641e4 100644 +--- a/thirdparty/dependencies.cmake ++++ b/thirdparty/dependencies.cmake +@@ -415,14 +415,14 @@ if(ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_TF_FRONTEND + if(CMAKE_VERBOSE_MAKEFILE) + set(Protobuf_DEBUG ON) + endif() +- if(OV_VCPKG_BUILD) +- set(protobuf_config CONFIG) +- endif() + # try to find newer version first (major is changed) + # see https://protobuf.dev/support/version-support/ and + # https://github.com/protocolbuffers/protobuf/commit/d61f75ff6db36b4f9c0765f131f8edc2f86310fa +- find_package(Protobuf 4.22.0 QUIET ${protobuf_config}) ++ find_package(Protobuf 4.22.0 QUIET CONFIG) + if(NOT Protobuf_FOUND) ++ if(OV_VCPKG_BUILD) ++ set(protobuf_config CONFIG) ++ endif() + # otherwise, fallback to existing default + find_package(Protobuf 3.20.3 REQUIRED ${protobuf_config}) + endif() diff --git a/recipes/openvino/all/patches/2023.1.0/0006-macos-14.patch b/recipes/openvino/all/patches/2023.1.0/0006-macos-14.patch new file mode 100644 index 0000000000000..4184c1832cef3 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0006-macos-14.patch @@ -0,0 +1,12 @@ +diff --git a/src/plugins/intel_cpu/src/nodes/mha.cpp b/src/plugins/intel_cpu/src/nodes/mha.cpp +index d4405be5d4..19cf63ac72 100644 +--- a/src/plugins/intel_cpu/src/nodes/mha.cpp ++++ b/src/plugins/intel_cpu/src/nodes/mha.cpp +@@ -16,6 +16,7 @@ + #include "common/cpu_convert.h" + #include "transformations/cpu_opset/x64/op/mha.hpp" + #include "dnnl_extension_utils.h" ++#include "utils/bfloat16.hpp" + #include + + using namespace InferenceEngine; From 151545b7532efda687ee3f3e55a43390d3c0284c Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Thu, 26 Oct 2023 20:24:29 +0200 Subject: [PATCH 2265/4087] (#20740) Add frugally-deep version 0.15.25-p0 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index 51c5e56abaac5..04211f2fa9dd0 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.25-p0": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.25-p0.tar.gz" + sha256: "d1204bc13ace603e97696aa7a1331d6af819c3a9b4952b4fd1e3d72dd8f524c3" "0.15.24-p0": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.24-p0.tar.gz" sha256: "118b0219a3f17c6d5a3535874acb145ee2079fd309e1fb83884facc684810baf" diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index fa67726d0442a..f442d1c950420 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.25-p0": + folder: all "0.15.24-p0": folder: all "0.15.19-p0": From 24e4727a5420b3dd780d9795fa986bd6acd74320 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 20:31:55 +0200 Subject: [PATCH 2266/4087] (#20758) tre: add gettext to build requirements for autoreconf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit it's required for autoreconf of this library Co-authored-by: Rubén Rincón Blanco --- recipes/tre/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/tre/all/conanfile.py b/recipes/tre/all/conanfile.py index 8991cbd800567..a6886aa3b08d0 100644 --- a/recipes/tre/all/conanfile.py +++ b/recipes/tre/all/conanfile.py @@ -42,6 +42,7 @@ def layout(self): def build_requirements(self): if self.settings.os != "Windows": + self.tool_requires("gettext/0.21") self.tool_requires("libtool/2.4.7") def source(self): From 234a429d99adeae1bd3ffb82fe322f6a27e1c833 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Oct 2023 03:57:03 +0900 Subject: [PATCH 2267/4087] (#20581) perfetto: add version 38.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- 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 455f1bec30e97..1455ad80e4419 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "38.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v38.0.tar.gz" + sha256: "92160b0fbeb8c4992cc0690d832dd923cee1dda466f3364ef4ed26a835e55e40" "37.0": url: "https://github.com/google/perfetto/archive/refs/tags/v37.0.tar.gz" sha256: "39d7b3635834398828cfd189bd61afb0657ca2a3a08efbfd9866bfbcd440810b" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index aecfcbd517f2d..0ec522826b476 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "38.0": + folder: all "37.0": folder: all "35.0": From 36abdebcd151a299b8879d363e78e12672c3a60c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Oct 2023 04:27:26 +0900 Subject: [PATCH 2268/4087] (#20749) opensubdiv: add version 3.6.0, downgrade opentbb for opensubdiv < 3.6.0 * opensubdiv: add version 3.6.0, fix 3.5.1 version number, downgrade opentbb for opensubdiv < 3.6.0 * revert 3.5.0 --- recipes/opensubdiv/all/conandata.yml | 15 +++++++++++---- recipes/opensubdiv/all/conanfile.py | 7 ++++++- .../patches/3.6.0-0002-cmake-no-rpath.patch | 19 +++++++++++++++++++ recipes/opensubdiv/config.yml | 2 ++ 4 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 recipes/opensubdiv/all/patches/3.6.0-0002-cmake-no-rpath.patch diff --git a/recipes/opensubdiv/all/conandata.yml b/recipes/opensubdiv/all/conandata.yml index 8e41ab1d1bb93..803deaf9df19e 100644 --- a/recipes/opensubdiv/all/conandata.yml +++ b/recipes/opensubdiv/all/conandata.yml @@ -1,11 +1,18 @@ sources: + "3.6.0": + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_6_0.tar.gz" + sha256: "bebfd61ab6657a4f4ff27845fb66a167d00395783bfbd253254d87447ed1d879" "3.5.0": - url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_5_0.zip" - sha256: "1b2916d57173ac523acd334fb6e25623ddfed3c342f3c2aadfe4d1d0be6e7657" + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_5_0.tar.gz" + sha256: "8f5044f453b94162755131f77c08069004f25306fd6dc2192b6d49889efb8095" "3.4.4": - url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_4_4.zip" - sha256: "04b52a67e90a56b18d9ddd0384630f43b5263a8fdee1afae081e32d7b23cd5ec" + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_4_4.tar.gz" + sha256: "20d49f80a2b778ad4d01f091ad88d8c2f91cf6c7363940c6213241ce6f1048fb" patches: + "3.6.0": + - patch_file: "patches/3.6.0-0002-cmake-no-rpath.patch" + patch_description: "CMake: do not populate rpath with absolute paths" + patch_type: "conan" "3.5.0": - patch_file: "patches/3.4.4-0002-cmake-no-rpath.patch" patch_description: "CMake: do not populate rpath with absolute paths" diff --git a/recipes/opensubdiv/all/conanfile.py b/recipes/opensubdiv/all/conanfile.py index 1522234dcfaac..6f46f7d0625fe 100644 --- a/recipes/opensubdiv/all/conanfile.py +++ b/recipes/opensubdiv/all/conanfile.py @@ -81,7 +81,12 @@ def layout(self): def requirements(self): if self.options.with_tbb: - self.requires("onetbb/2021.8.0") + # OpenSubdiv < 3.6.0 support only onettbb/2020.x.x + # https://github.com/PixarAnimationStudios/OpenSubdiv/pull/1317 + if Version(self.version) < "3.6.0": + self.requires("onetbb/2020.3.3", transitive_headers=True) + else: + self.requires("onetbb/2021.10.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/opensubdiv/all/patches/3.6.0-0002-cmake-no-rpath.patch b/recipes/opensubdiv/all/patches/3.6.0-0002-cmake-no-rpath.patch new file mode 100644 index 0000000000000..e8cb72fb5398d --- /dev/null +++ b/recipes/opensubdiv/all/patches/3.6.0-0002-cmake-no-rpath.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8620cf3..aba7a90 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -157,12 +157,12 @@ if (NOT CMAKE_COMPILER_IS_ICC) + # sequences of ':' that this command causes. The consequence is that examples + # built and installed using icc will not have an rpath pointing to the built + # OSD library which they depend on and will have to set LD_LIBRARY_PATH instead. +- list(APPEND CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++# list(APPEND CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + endif() + + # add the automatically determined parts of the RPATH + # which point to directories outside the build tree to the install RPATH +-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) ++#SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + # ensure that ARC is shown as enabled in the Xcode UI + if(CMAKE_GENERATOR STREQUAL "Xcode") diff --git a/recipes/opensubdiv/config.yml b/recipes/opensubdiv/config.yml index 6ef9c2e0ceacc..fde3364b74fa3 100644 --- a/recipes/opensubdiv/config.yml +++ b/recipes/opensubdiv/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.0": + folder: all "3.5.0": folder: all "3.4.4": From 62ca891c2ec43d4a60f5e12d6771d6049d71b2b7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 26 Oct 2023 21:58:11 +0200 Subject: [PATCH 2269/4087] (#20777) cfitsio: add 4.3.0 + version range for libcurl * version range for libcurl * add cfitsio/4.3.0 * remove cmake folder --- recipes/cfitsio/all/conandata.yml | 6 ++++++ recipes/cfitsio/all/conanfile.py | 3 ++- recipes/cfitsio/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/cfitsio/all/conandata.yml b/recipes/cfitsio/all/conandata.yml index 4b0ca8e449091..8fe35bec67203 100644 --- a/recipes/cfitsio/all/conandata.yml +++ b/recipes/cfitsio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.0": + url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.0.tar.gz" + sha256: "734ab0198714fe43eab94a67d6987085bde5573e6babde4d05799a8d04ebb04c" "4.2.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.2.0.tar.gz" sha256: "ef9881973ecb9fe55732a4c1bb5ca96e63b624728f6319556939e0fe25f495e8" @@ -18,6 +21,9 @@ sources: url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.47.tar.gz" sha256: "985606e058403c073a68d95be74e9696f0ded9414520784457a1d4cba8cca7e2" patches: + "4.3.0": + - patch_file: "patches/windows-use-strtok_s.patch" + - patch_file: "patches/fix-cmake-4.2.0.patch" "4.2.0": - patch_file: "patches/windows-use-strtok_s.patch" - patch_file: "patches/fix-cmake-4.2.0.patch" diff --git a/recipes/cfitsio/all/conanfile.py b/recipes/cfitsio/all/conanfile.py index 3726c4a8835d1..7b4f8cb364951 100644 --- a/recipes/cfitsio/all/conanfile.py +++ b/recipes/cfitsio/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.get_safe("with_curl"): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -109,6 +109,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", f"cfitsio-{self.version}")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "cfitsio") diff --git a/recipes/cfitsio/config.yml b/recipes/cfitsio/config.yml index cfbf4d00aea10..052075e2e1199 100644 --- a/recipes/cfitsio/config.yml +++ b/recipes/cfitsio/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.0": + folder: all "4.2.0": folder: all "4.1.0": From 79c5a177cbf39ca053c1392ff2544c0667787cae Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 27 Oct 2023 01:26:11 +0200 Subject: [PATCH 2270/4087] (#20093) qt5: fix build with apple-clang 15 + add package_type + bump deps + use version range for zlib * fix qmake build with apple-clang 15 * fix build with apple-clang 15 when deployment target of macOS is < 14 see https://bugreports.qt.io/browse/QTBUG-114316 * improve robustness of macOS builds when deps are shared * add package_type * use is_msvc_static_runtime() * use host_version for wayland in build requirements * bump dependencies + use version range for zlib * decrease min conan v2 version, 2.0.5 is enough for * adapt patches to each version * bump dependencies * also patch 5.15.11 --- recipes/qt/5.x.x/conandata.yml | 50 ++++++++++++++ recipes/qt/5.x.x/conanfile.py | 67 ++++++++++--------- ...10-fix-macos-cpp-lib-memory-resource.patch | 43 ++++++++++++ ....7-fix-macos-cpp-lib-memory-resource.patch | 43 ++++++++++++ ...qmake-default-libdirs-apple-clang-15.patch | 26 +++++++ ...qmake-default-libdirs-apple-clang-15.patch | 26 +++++++ 6 files changed, 222 insertions(+), 33 deletions(-) create mode 100644 recipes/qt/5.x.x/patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch create mode 100644 recipes/qt/5.x.x/patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch create mode 100644 recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch create mode 100644 recipes/qt/5.x.x/patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index 964c01a809272..db92ab6d5dace 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -98,6 +98,16 @@ patches: "patch_file": "patches/android-openssl.diff" - "base_path": "qt5/qtbase" "patch_file": "patches/android-new-ndk.diff" + - patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + base_path: "qt5/qtbase" + patch_description: "Fix qmake build with apple-clang>=15" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + - patch_file: "patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch" + base_path: "qt5/qtbase" + patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" "5.15.10": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" @@ -121,6 +131,16 @@ patches: "patch_file": "patches/android-openssl.diff" - "base_path": "qt5/qtbase" "patch_file": "patches/android-new-ndk.diff" + - patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + base_path: "qt5/qtbase" + patch_description: "Fix qmake build with apple-clang>=15" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + - patch_file: "patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch" + base_path: "qt5/qtbase" + patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" "5.15.9": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" @@ -144,6 +164,16 @@ patches: "patch_file": "patches/android-openssl.diff" - "base_path": "qt5/qtbase" "patch_file": "patches/android-new-ndk.diff" + - patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + base_path: "qt5/qtbase" + patch_description: "Fix build with apple-clang 15" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + - patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch" + base_path: "qt5/qtbase" + patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" "5.15.8": - patch_file: "patches/aa2a39dea5.diff" base_path: "qt5/qtbase" @@ -167,6 +197,16 @@ patches: base_path: "qt5/qtbase" - patch_file: "patches/android-new-ndk.diff" base_path: "qt5/qtbase" + - patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + base_path: "qt5/qtbase" + patch_description: "Fix build with apple-clang 15" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + - patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch" + base_path: "qt5/qtbase" + patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" "5.15.7": - patch_file: "patches/337f28c9ab.patch" base_path: "qt5/qtbase" @@ -198,3 +238,13 @@ patches: base_path: "qt5/qtbase" - patch_file: "patches/android-new-ndk.diff" base_path: "qt5/qtbase" + - patch_file: "patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch" + base_path: "qt5/qtbase" + patch_description: "Fix build with apple-clang 15" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + - patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch" + base_path: "qt5/qtbase" + patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" + patch_type: "portability" + patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 7dcd778436048..9b166274e36d2 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -6,7 +6,7 @@ from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.files import chdir, copy, get, load, replace_in_file, rm, rmdir, save, export_conandata_patches, apply_conandata_patches from conan.tools.gnu import PkgConfigDeps -from conan.tools.microsoft import msvc_runtime_flag, is_msvc, VCVars +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, is_msvc_static_runtime, VCVars from conan.tools.scm import Version import configparser import glob @@ -15,7 +15,7 @@ import textwrap import shutil -required_conan_version = ">=1.59.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" class QtConan(ConanFile): @@ -33,7 +33,7 @@ class QtConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.qt.io" license = "LGPL-3.0-only" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -308,7 +308,7 @@ def validate(self): raise ConanInvalidConfiguration("Qt without libc++ needs qt:with_doubleconversion. " "Either enable qt:with_doubleconversion or switch to libc++") - if "MT" in self.settings.get_safe("compiler.runtime", default="") and self.options.shared: + if is_msvc_static_runtime(self) and self.options.shared: raise ConanInvalidConfiguration("Qt cannot be built as shared library with static runtime") if self.settings.compiler == "apple-clang": @@ -349,7 +349,7 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.0") # if self.options.with_libiconv: # QTBUG-84708 # self.requires("libiconv/1.16")# QTBUG-84708 if self.options.with_doubleconversion and not self.options.multiconfiguration: @@ -361,41 +361,42 @@ def requirements(self): if self.options.get_safe("with_icu", False): self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/8.0.1") + self.requires("harfbuzz/8.2.1") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.0") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.43.1") if self.options.get_safe("with_mysql", False): - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.with_pq: - self.requires("libpq/15.3") + self.requires("libpq/15.4") if self.options.with_odbc: if self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("with_openal", False): self.requires("openal-soft/1.22.2") if self.options.get_safe("with_libalsa", False): - self.requires("libalsa/1.2.7.2") - if self.options.get_safe("with_x11", False): - self.requires("xkbcommon/1.5.0") + self.requires("libalsa/1.2.10") + if self.options.get_safe("with_x11"): self.requires("xorg/system") + if self.options.get_safe("with_x11") or self.options.qtwayland: + self.requires("xkbcommon/1.5.0") if self.options.get_safe("opengl", "no") != "no": self.requires("opengl/system") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.qtwebengine and self.settings.os in ["Linux", "FreeBSD"]: self.requires("expat/2.5.0") - self.requires("opus/1.3.1") + self.requires("opus/1.4") if not self.options.qtwayland: self.requires("xorg-proto/2022.2") self.requires("libxshmfence/1.3") - self.requires("nss/3.89") + self.requires("nss/3.93") self.requires("libdrm/2.4.114") self.requires("egl/system") if self.options.get_safe("with_gstreamer", False): @@ -403,14 +404,13 @@ def requirements(self): if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") if self.options.with_dbus: - self.requires("dbus/1.15.6") + self.requires("dbus/1.15.8") if self.options.qtwayland: self.requires("wayland/1.22.0") - self.requires("xkbcommon/1.5.0") if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_atspi"): - self.requires("at-spi2-core/2.49.1") + self.requires("at-spi2-core/2.50.0") if self.options.get_safe("with_md4c", False): self.requires("md4c/0.4.8") @@ -437,12 +437,12 @@ def build_requirements(self): self.tool_requires("gperf/3.1") # gperf, bison, flex, python >= 2.7.5 & < 3 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") if self.options.qtwayland: - self.tool_requires("wayland/1.22.0") + self.tool_requires("wayland/") def source(self): get(self, **self.conan_data["sources"][self.version], @@ -475,18 +475,6 @@ def generate(self): env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) if self.settings.os == "Windows": env.prepend_path("PATH", os.path.join(self.source_folder, "qt5", "gnuwin32", "bin")) - if self._settings_build.os == "Macos": - # On macOS, SIP resets DYLD_LIBRARY_PATH injected by VirtualBuildEnv & VirtualRunEnv - dyld_library_path = "$DYLD_LIBRARY_PATH" - dyld_library_path_build = vbe.vars().get("DYLD_LIBRARY_PATH") - if dyld_library_path_build: - dyld_library_path = f"{dyld_library_path_build}:{dyld_library_path}" - if not cross_building(self): - dyld_library_path_host = vre.vars().get("DYLD_LIBRARY_PATH") - if dyld_library_path_host: - dyld_library_path = f"{dyld_library_path_host}:{dyld_library_path}" - save(self, "bash_env", f'export DYLD_LIBRARY_PATH="{dyld_library_path}"') - env.define_path("BASH_ENV", os.path.abspath("bash_env")) env.vars(self).save_script("conan_qt_env_file") def _make_program(self): @@ -801,6 +789,19 @@ def _getenvpath(var): if self._settings_build.os == "Linux" and self.settings.compiler == "clang": args += ['QMAKE_CXXFLAGS+="-ftemplate-depth=1024"'] + if self._settings_build.os == "Macos": + # On macOS, SIP resets DYLD_LIBRARY_PATH injected by VirtualBuildEnv & VirtualRunEnv. + # Qt builds several executables (moc etc) which are called later on during build of + # libraries, and these executables link to several external dependencies in requirements(). + # If these external libs are shared, moc calls fail because its dylib dependencies + # are not found (unless they can be accidentally found in system paths). + # So the workaround is to add libdirs of these external dependencies to LC_RPATH + # of runtime artifacts. + if not cross_building(self): + for libpath in VirtualRunEnv(self).vars().get("DYLD_LIBRARY_PATH", "").split(":"): + # see https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-rpathdir + args += [f"QMAKE_RPATHDIR+=\"{libpath}\""] + if self.options.qtwebengine and self.settings.os in ["Linux", "FreeBSD"]: args += ["-qt-webengine-ffmpeg", "-system-webengine-opus", @@ -1048,7 +1049,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): "exec_prefix=${prefix}", ] self.cpp_info.components["qtCore"].set_property("pkg_config_custom_content", "\n".join(pkg_config_vars)) - + if self.settings.os == "Windows": module = "WinMain" componentname = f"qt{module}" diff --git a/recipes/qt/5.x.x/patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch b/recipes/qt/5.x.x/patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch new file mode 100644 index 0000000000000..21112d5316d7a --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch @@ -0,0 +1,43 @@ +--- a/src/corelib/global/qcompilerdetection.h ++++ b/src/corelib/global/qcompilerdetection.h +@@ -1050,16 +1050,22 @@ + # endif // !_HAS_CONSTEXPR + # endif // !__GLIBCXX__ && !_LIBCPP_VERSION + # endif // Q_OS_QNX +-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \ +- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) ++# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) ++# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) + // Apple has not updated libstdc++ since 2007, which means it does not have + // or std::move. Let's disable these features +-# undef Q_COMPILER_INITIALIZER_LISTS +-# undef Q_COMPILER_RVALUE_REFS +-# undef Q_COMPILER_REF_QUALIFIERS ++# undef Q_COMPILER_INITIALIZER_LISTS ++# undef Q_COMPILER_RVALUE_REFS ++# undef Q_COMPILER_REF_QUALIFIERS + // Also disable , since it's clearly not there +-# undef Q_COMPILER_ATOMICS +-# endif ++# undef Q_COMPILER_ATOMICS ++# endif ++# if defined(__cpp_lib_memory_resource) \ ++ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \ ++ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000)) ++# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17 ++# endif ++# endif // (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) + # if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500 + // ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode + // (probably because libc++'s on OS X failed to compile), but they're missing some +--- a/src/corelib/tools/qduplicatetracker_p.h ++++ b/src/corelib/tools/qduplicatetracker_p.h +@@ -52,7 +52,7 @@ + + #include + +-#if QT_HAS_INCLUDE() && __cplusplus > 201402L ++#if defined(__cpp_lib_memory_resource) && __cplusplus > 201402L + # include + # include + #else diff --git a/recipes/qt/5.x.x/patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch b/recipes/qt/5.x.x/patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch new file mode 100644 index 0000000000000..2eb73ac2b79b5 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch @@ -0,0 +1,43 @@ +--- a/src/corelib/global/qcompilerdetection.h ++++ b/src/corelib/global/qcompilerdetection.h +@@ -1041,16 +1041,22 @@ + # endif // !_HAS_CONSTEXPR + # endif // !__GLIBCXX__ && !_LIBCPP_VERSION + # endif // Q_OS_QNX +-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \ +- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) ++# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) ++# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) + // Apple has not updated libstdc++ since 2007, which means it does not have + // or std::move. Let's disable these features +-# undef Q_COMPILER_INITIALIZER_LISTS +-# undef Q_COMPILER_RVALUE_REFS +-# undef Q_COMPILER_REF_QUALIFIERS ++# undef Q_COMPILER_INITIALIZER_LISTS ++# undef Q_COMPILER_RVALUE_REFS ++# undef Q_COMPILER_REF_QUALIFIERS + // Also disable , since it's clearly not there +-# undef Q_COMPILER_ATOMICS +-# endif ++# undef Q_COMPILER_ATOMICS ++# endif ++# if defined(__cpp_lib_memory_resource) \ ++ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \ ++ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000)) ++# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17 ++# endif ++# endif // (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) + # if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500 + // ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode + // (probably because libc++'s on OS X failed to compile), but they're missing some +--- a/src/corelib/tools/qduplicatetracker_p.h ++++ b/src/corelib/tools/qduplicatetracker_p.h +@@ -52,7 +52,7 @@ + + #include + +-#if QT_HAS_INCLUDE() && __cplusplus > 201402L ++#if defined(__cpp_lib_memory_resource) && __cplusplus > 201402L + # include + # include + #else diff --git a/recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch b/recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch new file mode 100644 index 0000000000000..1f9f0f90f6e5b --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch @@ -0,0 +1,26 @@ +--- a/mkspecs/features/toolchain.prf ++++ b/mkspecs/features/toolchain.prf +@@ -283,9 +283,12 @@ isEmpty($${target_prefix}.INCDIRS) { + } + } + } +- isEmpty(QMAKE_DEFAULT_LIBDIRS)|isEmpty(QMAKE_DEFAULT_INCDIRS): \ ++ isEmpty(QMAKE_DEFAULT_INCDIRS): \ + !integrity: \ +- error("failed to parse default search paths from compiler output") ++ error("failed to parse default include paths from compiler output") ++ isEmpty(QMAKE_DEFAULT_LIBDIRS): \ ++ !integrity:!darwin: \ ++ error("failed to parse default library paths from compiler output") + QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS) + } else: ghs { + cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp +@@ -407,7 +410,7 @@ isEmpty($${target_prefix}.INCDIRS) { + QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP) + } + +- unix:if(!cross_compile|host_build) { ++ unix:!darwin:if(!cross_compile|host_build) { + isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include + isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib + } diff --git a/recipes/qt/5.x.x/patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch b/recipes/qt/5.x.x/patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch new file mode 100644 index 0000000000000..a058fb5245ef2 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch @@ -0,0 +1,26 @@ +--- a/mkspecs/features/toolchain.prf ++++ b/mkspecs/features/toolchain.prf +@@ -288,9 +288,12 @@ isEmpty($${target_prefix}.INCDIRS) { + } + } + } +- isEmpty(QMAKE_DEFAULT_LIBDIRS)|isEmpty(QMAKE_DEFAULT_INCDIRS): \ ++ isEmpty(QMAKE_DEFAULT_INCDIRS): \ + !integrity: \ +- error("failed to parse default search paths from compiler output") ++ error("failed to parse default include paths from compiler output") ++ isEmpty(QMAKE_DEFAULT_LIBDIRS): \ ++ !integrity:!darwin: \ ++ error("failed to parse default library paths from compiler output") + QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS) + } else: ghs { + cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp +@@ -412,7 +415,7 @@ isEmpty($${target_prefix}.INCDIRS) { + QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP) + } + +- unix:if(!cross_compile|host_build) { ++ unix:!darwin:if(!cross_compile|host_build) { + isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include + isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib + } From 093e1996d82842f18fd65ef5ca417b56e7b6ace7 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 27 Oct 2023 02:17:06 +0200 Subject: [PATCH 2271/4087] (#20587) qt6: do not define default_options for modules closes conan-io/conan-center-index#20565 fixes conan-io/conan-center-index#20383 also, be a little more strict with options usage --- recipes/qt/6.x.x/conanfile.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 378a7958bbb94..f6306f010b09a 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -117,7 +117,6 @@ class QtConan(ConanFile): "multiconfiguration": False, "disabled_features": "", } - default_options.update({module: False for module in _submodules}) short_paths = True @@ -140,15 +139,16 @@ def _get_module_tree(self): assert section.startswith("submodule ") assert section.count('"') == 2 modulename = section[section.find('"') + 1: section.rfind('"')] + if modulename in ["qtbase", "qtqa", "qtrepotools"]: + continue status = str(config.get(section, "status")) if status not in ["obsolete", "ignore", "additionalLibrary"]: + assert modulename in self._submodules, f"module {modulename} not in self._submodules" self._submodules_tree[modulename] = {"status": status, "path": str(config.get(section, "path")), "depends": []} if config.has_option(section, "depends"): self._submodules_tree[modulename]["depends"] = [str(i) for i in config.get(section, "depends").split()] - for m in self._submodules_tree: - assert m in ["qtbase", "qtqa", "qtrepotools"] or m in self._submodules, f"module {m} not in self._submodules" return self._submodules_tree @@ -214,12 +214,21 @@ def configure(self): def _enablemodule(mod): if mod != "qtbase": setattr(self.options, mod, True) - for req in self._get_module_tree[mod]["depends"]: - _enablemodule(req) + 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 in self._get_module_tree: - if self.options.get_safe(module): + if getattr(self.options, module): _enablemodule(module) + + # 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: + setattr(self.options, module, False) def validate(self): if os.getenv('NOT_ON_C3I', '0') == '0': @@ -461,8 +470,9 @@ def generate(self): tc.variables["FEATURE_optimize_size"] = ("ON" if self.settings.build_type == "MinSizeRel" else "OFF") for module in self._get_module_tree: - if module != 'qtbase': - tc.variables[f"BUILD_{module}"] = ("ON" if self.options.get_safe(module) else "OFF") + tc.variables[f"BUILD_{module}"] = ("ON" if getattr(self.options, module) else "OFF") + tc.variables["BUILD_qtqa"] = "OFF" + tc.variables["BUILD_qtrepotools"] = "OFF" tc.variables["FEATURE_system_zlib"] = "ON" @@ -765,7 +775,7 @@ def package(self): copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses"), excludes="qtbase/examples/*") for module in self._get_module_tree: - if module != "qtbase" and not self.options.get_safe(module): + if not getattr(self.options, module): rmdir(self, os.path.join(self.package_folder, "licenses", module)) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) for mask in ["Find*.cmake", "*Config.cmake", "*-config.cmake"]: From 25d469a17b2976882d05248df8751eedeb99d003 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Oct 2023 17:09:09 +0900 Subject: [PATCH 2272/4087] (#20759) cthash: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * cthash: add recipe * drop support MSVC --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel --- recipes/cthash/all/conandata.yml | 4 ++ recipes/cthash/all/conanfile.py | 71 +++++++++++++++++++ .../cthash/all/test_package/CMakeLists.txt | 8 +++ recipes/cthash/all/test_package/conanfile.py | 26 +++++++ .../cthash/all/test_package/test_package.cpp | 12 ++++ recipes/cthash/config.yml | 3 + 6 files changed, 124 insertions(+) create mode 100644 recipes/cthash/all/conandata.yml create mode 100644 recipes/cthash/all/conanfile.py create mode 100644 recipes/cthash/all/test_package/CMakeLists.txt create mode 100644 recipes/cthash/all/test_package/conanfile.py create mode 100644 recipes/cthash/all/test_package/test_package.cpp create mode 100644 recipes/cthash/config.yml diff --git a/recipes/cthash/all/conandata.yml b/recipes/cthash/all/conandata.yml new file mode 100644 index 0000000000000..49dc0097b55ed --- /dev/null +++ b/recipes/cthash/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20231025": + url: "https://github.com/hanickadot/cthash/archive/21d581e0a6bd7040c282af1e43faab9d44f47744.tar.gz" + sha256: "03bf073f0c8a362d26186dab39482418aaf59a1bc17d92ec6b49053147c0fba0" diff --git a/recipes/cthash/all/conanfile.py b/recipes/cthash/all/conanfile.py new file mode 100644 index 0000000000000..1ee2d6cd5274b --- /dev/null +++ b/recipes/cthash/all/conanfile.py @@ -0,0 +1,71 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.53.0" + + +class CtHashConan(ConanFile): + name = "cthash" + description = "constexpr implementation of SHA-2 and SHA-3 family of hashes" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/hanickadot/cthash/" + topics = ("constexpr", "xxhash", "sha", "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 { + "Visual Studio": "16", + "msvc": "193", + "gcc": "12.2", + "clang": "15.0.7", + "apple-clang": "14", + } + + 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} doesn't support MSVC.") + + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cthash/all/test_package/CMakeLists.txt b/recipes/cthash/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0fedcbfdc5199 --- /dev/null +++ b/recipes/cthash/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cthash REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cthash::cthash) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/cthash/all/test_package/conanfile.py b/recipes/cthash/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/cthash/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cthash/all/test_package/test_package.cpp b/recipes/cthash/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..561e9a5d45e57 --- /dev/null +++ b/recipes/cthash/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include +#include "cthash/cthash.hpp" + +using namespace cthash::literals; + +int main(void) { + constexpr auto my_hash = cthash::sha3_256{}.update("hello there!").final(); + + std::cout << my_hash << std::endl; + + return 0; +} diff --git a/recipes/cthash/config.yml b/recipes/cthash/config.yml new file mode 100644 index 0000000000000..52ddbe7872fd0 --- /dev/null +++ b/recipes/cthash/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20231025": + folder: all From 66072f88a9402e6e23c9401b5a1de8434774e642 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 27 Oct 2023 17:15:21 +0300 Subject: [PATCH 2273/4087] (#19095) backward-cpp: add header_only option * backward-cpp: add header_only option * backward-cpp: set transitive_libs=True for libdwarf --- recipes/backward-cpp/all/conanfile.py | 48 +++++++++++++++++++++------ 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/recipes/backward-cpp/all/conanfile.py b/recipes/backward-cpp/all/conanfile.py index df15db8d54d06..bf3c847a28626 100644 --- a/recipes/backward-cpp/all/conanfile.py +++ b/recipes/backward-cpp/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.layout import basic_layout from conan.tools.scm import Version import os @@ -20,12 +21,14 @@ class BackwardCppConan(ConanFile): package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { + "header_only": [True, False], "shared": [True, False], "fPIC": [True, False], "stack_walking": ["unwind", "libunwind", "backtrace"], "stack_details": ["dw", "bfd", "dwarf", "backtrace_symbol"], } default_options = { + "header_only": False, "shared": False, "fPIC": True, "stack_walking": "unwind", @@ -34,7 +37,7 @@ class BackwardCppConan(ConanFile): @property def _supported_os(self): - supported_os = ["Linux", "Macos", "Android"] + supported_os = ["Linux", "FreeBSD", "Android", "Macos"] if Version(self.version) >= "1.5": supported_os.append("Windows") return supported_os @@ -57,23 +60,33 @@ def config_options(self): self.options.stack_details = "backtrace_symbol" def configure(self): - if self.options.shared: + if self.options.header_only: + self.options.rm_safe("fPIC") + self.options.rm_safe("shared") + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): - cmake_layout(self, src_folder="src") + 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 requirements(self): - if self.settings.os in ["Linux", "Android"]: + if self.settings.os in ["Linux", "FreeBSD", "Android"]: if self._has_stack_walking("libunwind"): self.requires("libunwind/1.6.2", transitive_headers=True) if self._has_stack_details("dwarf"): self.requires("libdwarf/20191104", transitive_headers=True, transitive_libs=True) self.requires("libelf/0.8.13") if self._has_stack_details("dw"): - self.requires("elfutils/0.186", transitive_headers=True, transitive_libs=True) + self.requires("elfutils/0.186", transitive_headers=True) if self._has_stack_details("bfd"): - self.requires("binutils/2.38", transitive_headers=True, transitive_libs=True) + self.requires("binutils/2.38", transitive_headers=True) def validate(self): if self.settings.os not in self._supported_os: @@ -95,6 +108,8 @@ 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) tc.variables["STACK_WALKING_UNWIND"] = self._has_stack_walking("unwind") tc.variables["STACK_WALKING_LIBUNWIND"] = self._has_stack_walking("libunwind") @@ -113,15 +128,22 @@ def generate(self): def build(self): apply_conandata_patches(self) + if self.options.header_only: + return cmake = CMake(self) cmake.configure() cmake.build() def package(self): copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - cmake = CMake(self) - cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "backward")) + if self.options.header_only: + copy(self, pattern="*.hpp", + src=self.source_folder, + dst=os.path.join(self.package_folder, "include")) + else: + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "backward")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "Backward") @@ -137,8 +159,12 @@ def package_info(self): self.cpp_info.defines.append(f"BACKWARD_HAS_DWARF={int(self._has_stack_details('dwarf'))}") self.cpp_info.defines.append(f"BACKWARD_HAS_PDB_SYMBOL={int(self.settings.os == 'Windows')}") - self.cpp_info.libs = ["backward"] - if self.settings.os == "Linux": + if self.options.header_only: + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] + else: + self.cpp_info.libs = ["backward"] + if self.settings.os in ["Linux", "FreeBSD", "Android"]: self.cpp_info.system_libs.extend(["dl", "m"]) if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["psapi", "dbghelp"]) From a1ca807ed935ea74e85a03a0cee08a959e835ab1 Mon Sep 17 00:00:00 2001 From: Alejandro Ramallo Date: Fri, 27 Oct 2023 10:35:02 -0400 Subject: [PATCH 2274/4087] (#19191) Package/ozz animation 0.14.1 * Update ozz-animation to 0.14.1 and Conan 2.0 compatibility * added libm to ozz-animation * cleanup --- recipes/ozz-animation/all/CMakeLists.txt | 7 - recipes/ozz-animation/all/conandata.yml | 3 + recipes/ozz-animation/all/conanfile.py | 182 +++++++++++++++--- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 19 +- .../all/test_package/test_package.cpp | 2 + .../all/test_v1_package/CMakeLists.txt | 11 ++ .../all/test_v1_package/conanfile.py | 16 ++ .../all/test_v1_package/test_package.cpp | 12 ++ recipes/ozz-animation/config.yml | 2 + 10 files changed, 222 insertions(+), 41 deletions(-) delete mode 100644 recipes/ozz-animation/all/CMakeLists.txt create mode 100644 recipes/ozz-animation/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ozz-animation/all/test_v1_package/conanfile.py create mode 100644 recipes/ozz-animation/all/test_v1_package/test_package.cpp diff --git a/recipes/ozz-animation/all/CMakeLists.txt b/recipes/ozz-animation/all/CMakeLists.txt deleted file mode 100644 index 73c551783746d..0000000000000 --- a/recipes/ozz-animation/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory("source_subfolder") diff --git a/recipes/ozz-animation/all/conandata.yml b/recipes/ozz-animation/all/conandata.yml index 548e0d6eb8858..ace2364367ed0 100644 --- a/recipes/ozz-animation/all/conandata.yml +++ b/recipes/ozz-animation/all/conandata.yml @@ -5,3 +5,6 @@ sources: "0.13.0": url: "https://github.com/guillaumeblanc/ozz-animation/archive/0.13.0.tar.gz" sha256: "2677f28d83bb4be00f92537ee3fb2573f9e99fc82fb1777a1b8a6131aa9b96a4" + "0.14.1": + url: "https://github.com/guillaumeblanc/ozz-animation/archive/0.14.1.tar.gz" + sha256: "621094d43aeea4b11da530178d1199107f2b590a9bfb3cba7c36b3176a86ac1e" diff --git a/recipes/ozz-animation/all/conanfile.py b/recipes/ozz-animation/all/conanfile.py index 7266f8b1ea03c..6a87de84d42e5 100644 --- a/recipes/ozz-animation/all/conanfile.py +++ b/recipes/ozz-animation/all/conanfile.py @@ -1,52 +1,129 @@ import os -from conans import ConanFile, CMake, tools +from pathlib import Path +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, rename, get, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class OzzAnimationConan(ConanFile): name = "ozz-animation" description = "Open source c++ skeletal animation library and toolset." license = "MIT" - topics = ("conan", "ozz", "animation", "skeletal") + topics = ("ozz", "animation", "skeletal") homepage = "https://github.com/guillaumeblanc/ozz-animation" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], + "shared": [True, False], + + #runtime geometry library (skinning jobs) + "ozz_geometry": [True, False], + + #runtime animation library + "ozz_animation": [True, False], + + #library for parsing CLI args + "ozz_options": [True, False], + + #library for offline processing + "ozz_animation_offline": [True, False], + + #library for creating tools + "ozz_animation_tools": [True, False], + + #gltf2ozz CLI tool + "tools": [True, False], } default_options = { "fPIC": True, + "shared": False, + "tools": False, + "ozz_geometry": True, + "ozz_animation": True, + "ozz_options": False, + "ozz_animation_offline": False, + "ozz_animation_tools": False, } - short_paths = True - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" + def validate(self): + def _ensure_enabled(opt, req): + if self.options.get_safe(opt): + missing = [r for r in req if not getattr(self.options, r, False)] + if missing: + raise ConanInvalidConfiguration(f"Option '{opt}' requires option(s) {missing} to be enabled too") + _ensure_enabled('ozz_animation_offline', ['ozz_animation']) + _ensure_enabled('ozz_animation_tools', ['ozz_animation_offline', 'ozz_options']) + _ensure_enabled('tools', ['ozz_animation_tools']) + + if self.settings.compiler == 'gcc': + # GCC 11.2 bug breaks build + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 + # https://github.com/guillaumeblanc/ozz-animation/issues/147 + if Version(self.settings.compiler.version) < "11.3": + raise ConanInvalidConfiguration(f"GCC 11.3 or newer required") + + if self.options.shared and Version(self.version) < "0.14.0": + raise ConanInvalidConfiguration(f"Can't build shared library for {self.version}") def config_options(self): if self.settings.os == 'Windows': del self.options.fPIC + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + #this component ships an old version of jsoncpp (0.10.6) which isn't on + #conan center, so this will prevent ODR violations until either + #upstream updates to a newer jsoncpp version, or someone adds a package + #for that version of jsoncpp + if self.options.ozz_animation_tools: + self.provides = ['jsoncpp'] + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + def layout(self): + cmake_layout(self, src_folder="src") + def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def _configure_cmake(self): cmake = CMake(self) - cmake.definitions["ozz_build_fbx"] = False - cmake.definitions["ozz_build_data"] = False - cmake.definitions["ozz_build_samples"] = False - cmake.definitions["ozz_build_howtos"] = False - cmake.definitions["ozz_build_tests"] = False - cmake.definitions["ozz_build_cpp11"] = True - cmake.configure(build_folder=self._build_subfolder) + cmvars = { + "ozz_build_fbx": False, + "ozz_build_data": False, + "ozz_build_samples": False, + "ozz_build_howtos": False, + "ozz_build_tests": False, + "ozz_build_cpp11": True, + "ozz_build_tools": False, + "ozz_build_gltf": False, + } + + if self.options.ozz_animation_tools: + cmvars["ozz_build_tools"] = True + + if self.options.tools: + cmvars["ozz_build_tools"] = True + cmvars["ozz_build_gltf"] = True + + cmake.configure(variables = cmvars) return cmake def build(self): + subfolder = Path(self.source_folder) for before, after in [('string(REGEX REPLACE "/MT" "/MD" ${flag} "${${flag}}")', ""), ('string(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}")', "")]: - tools.replace_in_file(os.path.join(self._source_subfolder, "build-utils", "cmake", "compiler_settings.cmake"), before, after) + replace_in_file(self, subfolder/"build-utils"/"cmake"/"compiler_settings.cmake", before, after) - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "animation", "offline", "tools", "CMakeLists.txt"), + replace_in_file(self, subfolder/"src"/"animation"/"offline"/"tools"/"CMakeLists.txt", "if(NOT EMSCRIPTEN)", "if(NOT CMAKE_CROSSCOMPILING)") @@ -54,13 +131,68 @@ def build(self): cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - os.remove(os.path.join(self.package_folder, "CHANGES.md")) - os.remove(os.path.join(self.package_folder, "LICENSE.md")) - os.remove(os.path.join(self.package_folder, "README.md")) - self.copy(pattern="LICENSE.md", dst="licenses", src=self._source_subfolder) + pkg = self.package_path + + if self.options.ozz_animation_tools: + json = Path(self.build_folder)/'src'/'animation'/'offline'/'tools'/'json' + copy(self, "*.a", src=json, dst=pkg/'lib', keep_path=False) + copy(self, "*.so", src=json, dst=pkg/'lib', keep_path=False) + copy(self, "*.dylib", src=json, dst=pkg/'lib', keep_path=False) + copy(self, "*.lib", src=json, dst=pkg/'lib', keep_path=False) + copy(self, "*.dll", src=json, dst=pkg/'bin', keep_path=False) + + os.remove(pkg/"CHANGES.md") + os.remove(pkg/"LICENSE.md") + os.remove(pkg/"README.md") + + (pkg/'bin').mkdir(exist_ok=True) + for file in filter(lambda p: p.suffix=='.dll', (pkg/'lib').iterdir()): + rename(self, src=file, dst=pkg/'bin'/file.name) + + copy(self, pattern="LICENSE.md", dst=pkg/"licenses", src=self.source_folder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + postfix = { + "Debug": "_d", + "Release": "_r", + "MinSizeRel": "_rs", + "RelWithDebInfo": "_rd", + }[str(self.settings.build_type)] + + def _add_libm(c): + if self.settings.os in ("Linux", "Android", "FreeBSD"): + self.cpp_info.components[c].system_libs = ["m"] + + self.cpp_info.components["base"].libs = [f"ozz_base{postfix}"] + _add_libm("base") + + if self.options.ozz_geometry: + self.cpp_info.components["geometry"].libs = [f"ozz_geometry{postfix}"] + self.cpp_info.components["geometry"].requires = ["base"] + _add_libm("geometry") + + if self.options.ozz_animation: + self.cpp_info.components["animation"].libs = [f"ozz_animation{postfix}"] + self.cpp_info.components["animation"].requires = ["base"] + _add_libm("animation") + + if self.options.ozz_animation_offline: + self.cpp_info.components["animation_offline"].libs = [f"ozz_animation_offline{postfix}"] + self.cpp_info.components["animation_offline"].requires = ["animation"] + _add_libm("animation_offline") + + if self.options.ozz_options: + self.cpp_info.components["options"].libs = [f"ozz_options{postfix}"] + self.cpp_info.components["options"].requires = ["base"] + _add_libm("options") + + if self.options.ozz_animation_tools: + self.cpp_info.components["animation_tools"].libs = [f"ozz_animation_tools{postfix}"] + self.cpp_info.components["animation_tools"].requires = ["animation_offline", "options", "jsoncpp"] + self.cpp_info.components["jsoncpp"].libs = [f"json{postfix}"] + + if self.options.tools: + self.buildenv_info.prepend_path("PATH", str(Path(self.package_folder)/"bin"/"tools")) diff --git a/recipes/ozz-animation/all/test_package/CMakeLists.txt b/recipes/ozz-animation/all/test_package/CMakeLists.txt index ef4d8f93d6c96..0c1c8ada3a5be 100644 --- a/recipes/ozz-animation/all/test_package/CMakeLists.txt +++ b/recipes/ozz-animation/all/test_package/CMakeLists.txt @@ -1,11 +1,12 @@ cmake_minimum_required(VERSION 3.1) project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(ozz-animation REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 11) set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) + +target_link_libraries(${CMAKE_PROJECT_NAME} + ozz-animation::ozz-animation +) diff --git a/recipes/ozz-animation/all/test_package/conanfile.py b/recipes/ozz-animation/all/test_package/conanfile.py index 4903f1a7e8fa0..304895d77753a 100644 --- a/recipes/ozz-animation/all/test_package/conanfile.py +++ b/recipes/ozz-animation/all/test_package/conanfile.py @@ -1,16 +1,25 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + + 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 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): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/ozz-animation/all/test_package/test_package.cpp b/recipes/ozz-animation/all/test_package/test_package.cpp index 9202b08874e2c..6ed8f2ae5d31c 100644 --- a/recipes/ozz-animation/all/test_package/test_package.cpp +++ b/recipes/ozz-animation/all/test_package/test_package.cpp @@ -2,6 +2,8 @@ #include "ozz/base/log.h" #include "ozz/base/io/stream.h" +#include "ozz/animation/runtime/animation.h" +#include "ozz/geometry/runtime/skinning_job.h" int main() { diff --git a/recipes/ozz-animation/all/test_v1_package/CMakeLists.txt b/recipes/ozz-animation/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..ef4d8f93d6c96 --- /dev/null +++ b/recipes/ozz-animation/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) +set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 11) +set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) +target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/ozz-animation/all/test_v1_package/conanfile.py b/recipes/ozz-animation/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4903f1a7e8fa0 --- /dev/null +++ b/recipes/ozz-animation/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + 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/ozz-animation/all/test_v1_package/test_package.cpp b/recipes/ozz-animation/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..9202b08874e2c --- /dev/null +++ b/recipes/ozz-animation/all/test_v1_package/test_package.cpp @@ -0,0 +1,12 @@ +#include + +#include "ozz/base/log.h" +#include "ozz/base/io/stream.h" + +int main() +{ + ozz::io::File file("test.ozz", "rb"); + + if (!file.opened()) { + } +} diff --git a/recipes/ozz-animation/config.yml b/recipes/ozz-animation/config.yml index a9085cf3fa2b2..8e1c91c8b156c 100644 --- a/recipes/ozz-animation/config.yml +++ b/recipes/ozz-animation/config.yml @@ -3,3 +3,5 @@ versions: folder: all "0.13.0": folder: all + "0.14.1": + folder: all From 530da762c92bca21609a23fb64a67b1e719c3927 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 27 Oct 2023 18:19:05 +0300 Subject: [PATCH 2275/4087] (#20032) libglvnd: add version 1.7.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libglvnd/all/conandata.yml | 3 +++ recipes/libglvnd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libglvnd/all/conandata.yml b/recipes/libglvnd/all/conandata.yml index 930441157c427..8d9b790ae637c 100644 --- a/recipes/libglvnd/all/conandata.yml +++ b/recipes/libglvnd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.7.0/libglvnd-v1.7.0.tar.gz" + sha256: "2b6e15b06aafb4c0b6e2348124808cbd9b291c647299eaaba2e3202f51ff2f3d" "1.5.0": url: "https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.5.0/libglvnd-v1.5.0.tar.gz" sha256: "8c246d573bdaabbab32874befa79c8b92b12c05d3eb4bbefbe62afa630842793" diff --git a/recipes/libglvnd/config.yml b/recipes/libglvnd/config.yml index bd6887e2cfe66..3283e92e6372f 100644 --- a/recipes/libglvnd/config.yml +++ b/recipes/libglvnd/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: "all" "1.5.0": folder: "all" "1.4.0": From f68906198de6ba4a0e10a2e4b8440705eeac1612 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 27 Oct 2023 21:22:39 +0200 Subject: [PATCH 2276/4087] (#20786) [onetbb] Use validate method for package compatibility Signed-off-by: Uilian Ries --- recipes/onetbb/all/conanfile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index bb5887dc31122..af7ba4a30fa50 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -102,7 +102,7 @@ def package_id(self): if Version(self.version) < "2021.6.0" and self.info.options.get_safe("tbbproxy"): self.info.options.tbbproxy = True - def validate_build(self): + def validate(self): if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "11.0": raise ConanInvalidConfiguration(f"{self.ref} couldn't be built by apple-clang < 11.0") if not self.options.get_safe("shared", True): @@ -114,7 +114,6 @@ def validate_build(self): ) self.output.warning("oneTBB strongly discourages usage of static linkage") - def validate(self): if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") From 902b94882ecc875f3f6d840610cf451a8385bc1b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 28 Oct 2023 02:26:22 +0200 Subject: [PATCH 2277/4087] (#20441) openssl: remove old versions * openssl: remove old versions * remove version 1.1.1t * remove 1.0.2u & 1.1.1u --- recipes/openssl/1.x.x/conandata.yml | 44 ------------------- .../1.x.x/patches/1.0.2u-darwin-arm64.patch | 12 ----- recipes/openssl/3.x.x/conandata.yml | 20 --------- recipes/openssl/config.yml | 20 --------- 4 files changed, 96 deletions(-) delete mode 100644 recipes/openssl/1.x.x/patches/1.0.2u-darwin-arm64.patch diff --git a/recipes/openssl/1.x.x/conandata.yml b/recipes/openssl/1.x.x/conandata.yml index b4e34f1c74cae..22aae5e08d56c 100644 --- a/recipes/openssl/1.x.x/conandata.yml +++ b/recipes/openssl/1.x.x/conandata.yml @@ -1,32 +1,4 @@ sources: - 1.0.2u: - sha256: ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16 - url: - - "https://www.openssl.org/source/openssl-1.0.2u.tar.gz" - - "https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz" - 1.1.0l: - sha256: 74a2f756c64fd7386a29184dc0344f4831192d61dc2481a93a4c5dd727f41148 - url: - - "https://www.openssl.org/source/openssl-1.1.0l.tar.gz" - - "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0l.tar.gz" - 1.1.1t: - sha256: 8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b - url: - - "https://www.openssl.org/source/openssl-1.1.1t.tar.gz" - - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz" - - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1t/openssl-1.1.1t.tar.gz" - 1.1.1u: - sha256: e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6 - url: - - "https://www.openssl.org/source/openssl-1.1.1u.tar.gz" - - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1u.tar.gz" - - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1u/openssl-1.1.1u.tar.gz" - 1.1.1v: - sha256: d6697e2871e77238460402e9362d47d18382b15ef9f246aba6c7bd780d38a6b0 - url: - - "https://www.openssl.org/source/openssl-1.1.1v.tar.gz" - - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1v.tar.gz" - - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1v/openssl-1.1.1v.tar.gz" 1.1.1w: sha256: cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 url: @@ -34,22 +6,6 @@ sources: - "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz" - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz" patches: - 1.0.2u: - - patch_file: patches/1.0.2u-darwin-arm64.patch - patch_description: "Darwin ARM64 support" - patch_type: "portability" - 1.1.1t: - - patch_file: patches/1.1.1-tvos-watchos.patch - patch_description: "TVOS and WatchOS don't like fork()" - patch_type: "portability" - 1.1.1u: - - patch_file: patches/1.1.1-tvos-watchos.patch - patch_description: "TVOS and WatchOS don't like fork()" - patch_type: "portability" - 1.1.1v: - - patch_file: patches/1.1.1-tvos-watchos.patch - patch_description: "TVOS and WatchOS don't like fork()" - patch_type: "portability" 1.1.1w: - patch_file: patches/1.1.1-tvos-watchos.patch patch_description: "TVOS and WatchOS don't like fork()" diff --git a/recipes/openssl/1.x.x/patches/1.0.2u-darwin-arm64.patch b/recipes/openssl/1.x.x/patches/1.0.2u-darwin-arm64.patch deleted file mode 100644 index f04fd91d793b2..0000000000000 --- a/recipes/openssl/1.x.x/patches/1.0.2u-darwin-arm64.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- Configure 2019-12-20 14:02:41.000000000 +0100 -+++ Configure 2020-11-22 16:23:13.000000000 +0100 -@@ -650,7 +650,9 @@ - "darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"darwin64-arm64-cc","cc:-arch arm64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch arm64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "debug-darwin64-x86_64-cc","cc:-arch x86_64 -ggdb -g2 -O0 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"debug-darwin64-arm64-cc","cc:-arch arm64 -ggdb -g2 -O0 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch arm64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - # iPhoneOS/iOS - "iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index ba41f8413304e..a0341deb6e128 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -14,28 +14,8 @@ sources: - "https://www.openssl.org/source/openssl-3.1.1.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.1.1/openssl-3.1.1.tar.gz" sha256: b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674 - 3.1.0: - url: - - "https://www.openssl.org/source/openssl-3.1.0.tar.gz" - - "https://github.com/openssl/openssl/releases/download/openssl-3.1.0/openssl-3.1.0.tar.gz" - sha256: aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4 3.0.11: url: - "https://www.openssl.org/source/openssl-3.0.11.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.0.11/openssl-3.0.11.tar.gz" sha256: b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 - 3.0.10: - url: - - "https://www.openssl.org/source/openssl-3.0.10.tar.gz" - - "https://github.com/openssl/openssl/releases/download/openssl-3.0.10/openssl-3.0.10.tar.gz" - sha256: 1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323 - 3.0.9: - url: - - "https://www.openssl.org/source/openssl-3.0.9.tar.gz" - - "https://github.com/openssl/openssl/releases/download/openssl-3.0.9/openssl-3.0.9.tar.gz" - sha256: eb1ab04781474360f77c318ab89d8c5a03abc38e63d65a603cabbf1b00a1dc90 - 3.0.8: - url: - - "https://www.openssl.org/source/openssl-3.0.8.tar.gz" - - "https://github.com/openssl/openssl/releases/download/openssl-3.0.8/openssl-3.0.8.tar.gz" - sha256: 6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index 74041e09b8d67..e02abd41066dc 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -6,29 +6,9 @@ versions: folder: "3.x.x" 3.1.1: folder: "3.x.x" - 3.1.0: - folder: "3.x.x" # 3.0.x releases 3.0.11: folder: "3.x.x" - 3.0.10: - folder: "3.x.x" - 3.0.9: - folder: "3.x.x" - 3.0.8: - folder: "3.x.x" # 1.1.1x releases 1.1.1w: folder: "1.x.x" - 1.1.1v: - folder: "1.x.x" - 1.1.1u: - folder: "1.x.x" - 1.1.1t: - folder: "1.x.x" - # 1.1.0x releases - 1.1.0l: - folder: "1.x.x" - # 1.0.2x releases - 1.0.2u: - folder: "1.x.x" From 2f079ba14c19cf3def85e512586d51341d246c74 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 28 Oct 2023 12:57:37 +0200 Subject: [PATCH 2278/4087] (#20797) libxft/all: bump deps --- recipes/libxft/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxft/all/conanfile.py b/recipes/libxft/all/conanfile.py index 6029ce556514a..43f3c70609f9f 100644 --- a/recipes/libxft/all/conanfile.py +++ b/recipes/libxft/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("xorg-macros/1.19.3") self.tool_requires("libtool/2.4.7") From 37da2256af119da07d24657baf3376d4ee2cac49 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 28 Oct 2023 22:39:39 +0900 Subject: [PATCH 2279/4087] (#20801) c-ares: add version 1.21.0 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 5fa919d9fff6b..182f723ac016b 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index e429742ce15f7..f12f37d3b9d21 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.21.0": + folder: all "1.20.1": folder: all "1.19.1": From c9cc47961fdcbbad009a47c227dadd57fd63ee7b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 02:06:56 +0900 Subject: [PATCH 2280/4087] (#20809) simdjson: add version 3.5.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 7fb086ae20817..56fbdddd5d8d2 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + url: "https://github.com/simdjson/simdjson/archive/v3.5.0.tar.gz" + sha256: "942c9462b3c046e12b898cbf5e198f31a377ab40bb2bde5be98440d1f9212ee0" "3.3.0": url: "https://github.com/simdjson/simdjson/archive/v3.3.0.tar.gz" sha256: "a8c9feff2f19c3ff281d42f0b6b4b18f02236513b99229756fa9a1b14787a58a" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 6e192862adaad..cb5bc532f22a9 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: all "3.3.0": folder: all "3.2.3": From 42ff5893441352c847d27d28a27336f82b03deee Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 03:07:30 +0900 Subject: [PATCH 2281/4087] (#20808) highfive: update xtensor/0.24.6 --- recipes/highfive/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index acad7b94ba402..6057d00c5e0a9 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -40,7 +40,7 @@ def requirements(self): if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.with_xtensor: - self.requires("xtensor/0.24.3") + self.requires("xtensor/0.24.6") if self.options.with_opencv: self.requires("opencv/4.5.5") From 216cf123db65da4d112f0f142325fe61f891d9cd Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 11:16:58 +0900 Subject: [PATCH 2282/4087] (#20814) ada: add version 2.7.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 f881ad719a6c1..c1ec0862fe264 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 24235209b6d9f..34d2438488869 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.2": + folder: all "2.7.0": folder: all "2.6.10": From a4a9a6a37d78ceff9b532c7bcd54704513f59026 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 11:46:46 +0900 Subject: [PATCH 2283/4087] (#20815) etl: add version 20.38.6 --- 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 63dae1f2c04ea..b8a091482c8ef 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 26484c5252d35..31df60b3dd01f 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.6": + folder: all "20.38.4": folder: all "20.38.3": From 6d97ef636f4822e14bf82a057a471fc95cda3f7a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 12:16:28 +0900 Subject: [PATCH 2284/4087] (#20818) utfcpp: add version 4.0.1 --- recipes/utfcpp/all/conandata.yml | 3 +++ recipes/utfcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index eb203bb4304de..f78d79ff038b9 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.1": + url: "https://github.com/nemtrif/utfcpp/archive/v4.0.1.tar.gz" + sha256: "9014342a716258da00b97bf8c201a2edc4d72d2025cd8d62f0650ac627038f95" "4.0.0": url: "https://github.com/nemtrif/utfcpp/archive/v4.0.0.tar.gz" sha256: "ac44d9652aa2ee64d405c1705718f26b385337a9b8cf20bf2b2aac6435a16c1e" diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index 764dd2cbd11ba..eabfdbf69a0cc 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.1": + folder: all "4.0.0": folder: all "3.2.5": From 9ec8cd3396a55a1c57d483468e09680e61ded066 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 13:26:39 +0900 Subject: [PATCH 2285/4087] (#20820) jsoncons: add version 0.171.1 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index ee163c0bae477..7c01d444fb091 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.171.1": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.1.tar.gz" + sha256: "e84d71bcf7c78f21de8bbd88a8da6f6afa458f562f6b846ef51f1aa5697ad904" "0.171.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.0.tar.gz" sha256: "0be840e984e30e70747c01e55669bbd4c49737cffc5852ccc5625dfe3dd38530" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index 9830af3e7e5e0..f6d765635e5eb 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.171.1": + folder: "all" "0.171.0": folder: "all" "0.170.2": From 2776276761469d57ce7b6e9a52d083d3edf4e901 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 14:37:03 +0900 Subject: [PATCH 2286/4087] (#20821) miniaudio: add version 0.11.18 --- recipes/miniaudio/all/conandata.yml | 3 +++ recipes/miniaudio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/miniaudio/all/conandata.yml b/recipes/miniaudio/all/conandata.yml index f2557191152c7..44320f99355f1 100644 --- a/recipes/miniaudio/all/conandata.yml +++ b/recipes/miniaudio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.18": + url: "https://github.com/mackron/miniaudio/archive/0.11.18.tar.gz" + sha256: "85ca916266d809b39902e180a6d16f82caea9c2ea1cea6d374413641b7ba48c3" "0.11.17": url: "https://github.com/mackron/miniaudio/archive/0.11.17.tar.gz" sha256: "4b139065f7068588b73d507d24e865060e942eb731f988ee5a8f1828155b9480" diff --git a/recipes/miniaudio/config.yml b/recipes/miniaudio/config.yml index b40e9165e25a0..314177c344ff6 100644 --- a/recipes/miniaudio/config.yml +++ b/recipes/miniaudio/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.18": + folder: all "0.11.17": folder: all "0.11.16": From ca9c53d2297887caa681be113d0fbdd63f894cc9 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 15:06:29 +0900 Subject: [PATCH 2287/4087] (#20822) s2n: add version 1.3.55 --- 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 e8314a2d5ee35..de2f57abb815c 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.55": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.55.tar.gz" + sha256: "3b4d51d08326757440a7a134dd4d73c904b700d64837aa7fec0aca908b70fd9b" "1.3.52": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.52.tar.gz" sha256: "c8ae02ae427763dcffe10d211ed7a2433803affd9aa5836951ef972c53db0120" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index c5300cb242156..794b8718cbfe9 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.55": + folder: all "1.3.52": folder: all "1.3.50": From 8ee8273755a2d10052c7cd332260d3f1b8d3bdd8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 30 Oct 2023 04:02:13 +0900 Subject: [PATCH 2288/4087] (#20829) asio: add version 1.28.2 --- 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 d8865c47b5bf0..9f0189b8cd3f0 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.28.2": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-2.tar.gz" + sha256: "5705a0e403017eba276625107160498518838064a6dd7fd8b00b2e30c0ffbdee" "1.28.1": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-1.tar.gz" sha256: "5ff6111ec8cbe73a168d997c547f562713aa7bd004c5c02326f0e9d579a5f2ce" diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index 33c8893e89fa5..7bf4410d24d45 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,4 +1,6 @@ versions: + "1.28.2": + folder: all "1.28.1": folder: all "1.28.0": From 99e3c4946e88558ae75a65c58be41699c9f8fb64 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 30 Oct 2023 04:36:43 +0900 Subject: [PATCH 2289/4087] (#20828) cassandra-cpp-driver: add version 2.17.1 --- recipes/cassandra-cpp-driver/all/conandata.yml | 17 +++++++++++++++++ recipes/cassandra-cpp-driver/config.yml | 2 ++ 2 files changed, 19 insertions(+) diff --git a/recipes/cassandra-cpp-driver/all/conandata.yml b/recipes/cassandra-cpp-driver/all/conandata.yml index 148e40f2a763f..169437d0e897c 100644 --- a/recipes/cassandra-cpp-driver/all/conandata.yml +++ b/recipes/cassandra-cpp-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.17.1": + url: "https://github.com/datastax/cpp-driver/archive/2.17.1.tar.gz" + sha256: "53b4123aad59b39f2da0eb0ce7fe0e92559f7bba0770b2e958254f17bffcd7cf" "2.17.0": url: "https://github.com/datastax/cpp-driver/archive/2.17.0.tar.gz" sha256: "075af6a6920b0a8b12e37b8e5aa335b0c7919334aa1b451642668e6e37c5372f" @@ -9,6 +12,20 @@ sources: url: "https://github.com/datastax/cpp-driver/archive/2.15.3.tar.gz" sha256: "eccb53c5151621c3b647fc83781a542cfb93e76687b4178ebce418fc4c817293" patches: + "2.17.1": + - patch_file: "patches/2.16.2/fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-rapidjson.patch" + patch_description: "fix include path for cci package" + patch_type: "conan" + - patch_file: "patches/2.15.3/fix-atomic.patch" + patch_description: "Adapt MemoryOrder definition for C++ 20" + patch_type: "portability" + patch_source: "https://github.com/datastax/cpp-driver/pull/533" + - patch_file: "patches/2.15.3/remove-attribute-for-msvc.patch" + patch_description: "remove attribute for msvc" + patch_type: "portability" "2.17.0": - patch_file: "patches/2.16.2/fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/cassandra-cpp-driver/config.yml b/recipes/cassandra-cpp-driver/config.yml index 7062b1458afe2..c8b1c8ef4703a 100644 --- a/recipes/cassandra-cpp-driver/config.yml +++ b/recipes/cassandra-cpp-driver/config.yml @@ -1,4 +1,6 @@ versions: + "2.17.1": + folder: all "2.17.0": folder: all "2.16.2": From 845a32c24ab8c75436230230ddc20614736b7928 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 30 Oct 2023 11:53:40 +0200 Subject: [PATCH 2290/4087] (#18863) cryptopp-pem: migrate to Conan v2 * cryptopp-pem: migrate to Conan v2 * cryptopp-pem: restore VirtualRunEnv in test_package * cryptopp-pem: transitive_libs=True * cryptopp-pem: fix_apple_shared_install_name() * license fixes from 20221 * cryptopp-pem: fix license download * cryptopp-pem: adjust cryptopp includes only in public headers * cryptopp-pem: upgrade cryptopp dependency to the latest one * use cryptopp same version * raise ConanInvalidConfiguration --------- Co-authored-by: czoido --- recipes/cryptopp-pem/all/CMakeLists.txt | 11 -- recipes/cryptopp-pem/all/conandata.yml | 5 - recipes/cryptopp-pem/all/conanfile.py | 158 +++++++++--------- .../use-cryptopp-include-from-conan.patch | 133 --------------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 19 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 8 files changed, 125 insertions(+), 233 deletions(-) delete mode 100644 recipes/cryptopp-pem/all/CMakeLists.txt create mode 100644 recipes/cryptopp-pem/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cryptopp-pem/all/test_v1_package/conanfile.py diff --git a/recipes/cryptopp-pem/all/CMakeLists.txt b/recipes/cryptopp-pem/all/CMakeLists.txt deleted file mode 100644 index f36a181c680d3..0000000000000 --- a/recipes/cryptopp-pem/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if (WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/cryptopp-pem/all/conandata.yml b/recipes/cryptopp-pem/all/conandata.yml index 47bad60429553..d25975ebafd93 100644 --- a/recipes/cryptopp-pem/all/conandata.yml +++ b/recipes/cryptopp-pem/all/conandata.yml @@ -9,12 +9,7 @@ sources: patches: "8.2.0": - patch_file: "patches/fix-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/rename-output-library.patch" - base_path: "source_subfolder" - patch_file: "patches/link-to-cryptopp.patch" - base_path: "source_subfolder" - patch_file: "patches/remove-cryptopp-sources-from-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/use-cryptopp-include-from-conan.patch" - base_path: "source_subfolder" diff --git a/recipes/cryptopp-pem/all/conanfile.py b/recipes/cryptopp-pem/all/conanfile.py index 12b7d953de0b6..b4e3943149076 100644 --- a/recipes/cryptopp-pem/all/conanfile.py +++ b/recipes/cryptopp-pem/all/conanfile.py @@ -1,20 +1,30 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os import shutil import textwrap -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.microsoft import is_msvc +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, export_conandata_patches, get, replace_in_file, rmdir, save, download, load +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class CryptoPPPEMConan(ConanFile): name = "cryptopp-pem" + description = ("The PEM Pack is a partial implementation of message encryption " + "which allows you to read and write PEM encoded keys and parameters, " + "including encrypted private keys.") + # TODO: Fix license syntax, this is not proper spdx terminology + license = "DocumentRef-README.md:LicenseRef-Cryptopp-Pem-PublicDomain" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.cryptopp.com/wiki/PEM_Pack" - license = "Unlicense" - description = "The PEM Pack is a partial implementation of message encryption which allows you to read and write PEM encoded keys and parameters, including encrypted private keys." topics = ("cryptopp", "crypto", "cryptographic", "security", "PEM") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,21 +35,8 @@ class CryptoPPPEMConan(ConanFile): "fPIC": True, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -47,66 +44,81 @@ 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(f"cryptopp/{self.version}", transitive_headers=True, transitive_libs=True) + + def validate(self): + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} does not support shared library on Windows.") + # look at https://github.com/conan-io/conan-center-index/pull/18863#issuecomment-1779940892 def source(self): - suffix = "CRYPTOPP_{}".format(self.version.replace(".", "_")) + suffix = f"CRYPTOPP_{self.version.replace('.', '_')}" # Get sources - tools.get(**self.conan_data["sources"][self.version]["source"], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version]["source"], strip_root=True) # Get CMakeLists - tools.get(**self.conan_data["sources"][self.version]["cmake"]) + get(self, **self.conan_data["sources"][self.version]["cmake"]) src_folder = os.path.join(self.source_folder, "cryptopp-cmake-" + suffix) - dst_folder = os.path.join(self.source_folder, self._source_subfolder) - shutil.move(os.path.join(src_folder, "CMakeLists.txt"), os.path.join(dst_folder, "CMakeLists.txt")) - shutil.move(os.path.join(src_folder, "cryptopp-config.cmake"), os.path.join(dst_folder, "cryptopp-config.cmake")) - tools.rmdir(src_folder) - - # Get license - tools.download("https://unlicense.org/UNLICENSE", "UNLICENSE", sha256="7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c") + shutil.move(os.path.join(src_folder, "CMakeLists.txt"), os.path.join(self.source_folder, "CMakeLists.txt")) + shutil.move(os.path.join(src_folder, "cryptopp-config.cmake"), os.path.join(self.source_folder, "cryptopp-config.cmake")) + rmdir(self, src_folder) + # LICENSE not packaged with release tar + download(self, "https://raw.githubusercontent.com/noloader/cryptopp-pem/0cfc1a8590f2395cd5b976be0e95e10de9a15a92/README.md", + os.path.join(self.source_folder, "LICENSE"), + sha256="efa5140027e396a3844f9f48d65e014c9a710939ac02e22d32c33a51e1750eef") + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["BUILD_STATIC"] = not self.options.shared + tc.variables["BUILD_SHARED"] = self.options.shared + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_DOCUMENTATION"] = False + tc.variables["USE_INTERMEDIATE_OBJECTS_TARGET"] = False + tc.variables["DISABLE_ASM"] = True + if self.settings.os == "Android": + tc.variables["CRYPTOPP_NATIVE_ARCH"] = True + if is_apple_os(self) and self.settings.arch == "armv8" and Version(self.version) <= "8.4.0": + tc.variables["CMAKE_CXX_FLAGS"] = "-march=armv8-a" + tc.generate() + + # cryptopp-pem expects cryptopp headers to be without a cryptopp/ prefix + cryptopp_info = self.dependencies["cryptopp"].cpp_info.components["libcryptopp"] + cryptopp_info.includedirs.append(os.path.join(self.dependencies["cryptopp"].package_folder, "include", "cryptopp")) + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): if self.settings.os == "Android" and "ANDROID_NDK_HOME" in os.environ: - shutil.copyfile(os.path.join(tools.get_env("ANDROID_NDK_HOME"), "sources", "android", "cpufeatures", "cpu-features.h"), - os.path.join(self._source_subfolder, "cpu-features.h")) - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + shutil.copyfile( + os.path.join(os.environ.get("ANDROID_NDK_HOME"), "sources", "android", "cpufeatures", "cpu-features.h"), + os.path.join(self.source_folder, "cpu-features.h")) + apply_conandata_patches(self) # Honor fPIC option - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "SET(CMAKE_POSITION_INDEPENDENT_CODE 1)", "") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_STATIC"] = not self.options.shared - self._cmake.definitions["BUILD_SHARED"] = self.options.shared - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["BUILD_DOCUMENTATION"] = False - self._cmake.definitions["USE_INTERMEDIATE_OBJECTS_TARGET"] = False - self._cmake.definitions["DISABLE_ASM"] = True - if self.settings.os == "Android": - self._cmake.definitions["CRYPTOPP_NATIVE_ARCH"] = True - if self.settings.os == "Macos" and self.settings.arch == "armv8" and tools.Version(self.version) <= "8.4.0": - self._cmake.definitions["CMAKE_CXX_FLAGS"] = "-march=armv8-a" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - - def requirements(self): - self.requires("cryptopp/" + self.version) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "SET(CMAKE_POSITION_INDEPENDENT_CODE 1)", "") - def build(self): + def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() + def _extract_license(self): + readme = load(self, os.path.join(self.source_folder, "LICENSE"),) + return readme[readme.find("## License"):] + def package(self): - self.copy(pattern="UNLICENSE", dst="licenses") - cmake = self._configure_cmake() + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) + 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")) # 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), @@ -115,31 +127,30 @@ def package(self): "cryptopp-pem-static": "cryptopp-pem::cryptopp-pem-static" } ) + fix_apple_shared_install_name(self) - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) @property def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): cmake_target = "cryptopp-pem-shared" if self.options.shared else "cryptopp-pem-static" - self.cpp_info.set_property("cmake_file_name", "cryptopp-pem") - self.cpp_info.set_property("cmake_target_name", cmake_target) + self.cpp_info.set_property("cmake_target_aliases", [cmake_target]) self.cpp_info.set_property("pkg_config_name", "libcryptopp-pem") # TODO: back to global scope once cmake_find_package* generators removed - self.cpp_info.components["libcryptopp-pem"].libs = tools.collect_libs(self) + self.cpp_info.components["libcryptopp-pem"].libs = collect_libs(self) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libcryptopp-pem"].system_libs = ["pthread", "m"] elif self.settings.os == "SunOS": @@ -148,7 +159,6 @@ def package_info(self): self.cpp_info.components["libcryptopp-pem"].system_libs = ["ws2_32"] # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed - self.cpp_info.names["pkg_config"] = "libcryptopp-pem" self.cpp_info.components["libcryptopp-pem"].names["cmake_find_package"] = cmake_target self.cpp_info.components["libcryptopp-pem"].names["cmake_find_package_multi"] = cmake_target self.cpp_info.components["libcryptopp-pem"].build_modules["cmake_find_package"] = [self._module_file_rel_path] @@ -156,6 +166,4 @@ def package_info(self): self.cpp_info.components["libcryptopp-pem"].set_property("cmake_target_name", cmake_target) self.cpp_info.components["libcryptopp-pem"].set_property("pkg_config_name", "libcryptopp-pem") - self.cpp_info.components["libcryptopp-pem"].requires = [ - "cryptopp::cryptopp", - ] + self.cpp_info.components["libcryptopp-pem"].requires = ["cryptopp::cryptopp"] diff --git a/recipes/cryptopp-pem/all/patches/use-cryptopp-include-from-conan.patch b/recipes/cryptopp-pem/all/patches/use-cryptopp-include-from-conan.patch index e7c0d678e7363..3ca6e7dc9287c 100644 --- a/recipes/cryptopp-pem/all/patches/use-cryptopp-include-from-conan.patch +++ b/recipes/cryptopp-pem/all/patches/use-cryptopp-include-from-conan.patch @@ -21,23 +21,6 @@ NAMESPACE_BEGIN(CryptoPP) ---- a/pem_common.cpp -+++ b/pem_common.cpp -@@ -6,10 +6,10 @@ - // http://www.cryptopp.com/wiki/PEM_Pack - /////////////////////////////////////////////////////////////////////////// - --#include "cryptlib.h" --#include "secblock.h" --#include "base64.h" --#include "osrng.h" -+#include -+#include -+#include -+#include - - #include - #include --- a/pem_common.h +++ b/pem_common.h @@ -10,9 +10,10 @@ @@ -54,119 +37,3 @@ #include "pem.h" #include ---- a/pem_read.cpp -+++ b/pem_read.cpp -@@ -10,27 +10,27 @@ - #include - #include - --#include "cryptlib.h" --#include "secblock.h" --#include "nbtheory.h" --#include "gfpcrypt.h" --#include "camellia.h" --#include "smartptr.h" --#include "filters.h" --#include "base64.h" --#include "queue.h" --#include "modes.h" --#include "asn.h" --#include "aes.h" --#include "idea.h" --#include "hex.h" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #include "pem.h" - #include "pem_common.h" - - #define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1 --#include "des.h" --#include "md5.h" -+#include -+#include - - ////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////// ---- a/pem_test.cxx -+++ b/pem_test.cxx -@@ -4,13 +4,14 @@ - #include - #include - --#include "cryptlib.h" --#include "integer.h" --#include "eccrypto.h" --#include "osrng.h" --#include "files.h" --#include "rsa.h" --#include "dsa.h" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ - #include "pem.h" - - int main(int argc, char* argv[]) ---- a/pem_write.cpp -+++ b/pem_write.cpp -@@ -10,27 +10,27 @@ - #include - #include - --#include "cryptlib.h" --#include "secblock.h" --#include "camellia.h" --#include "smartptr.h" --#include "filters.h" --#include "base64.h" --#include "files.h" --#include "queue.h" --#include "modes.h" --#include "osrng.h" --#include "asn.h" --#include "aes.h" --#include "idea.h" --#include "hex.h" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #include "pem.h" - #include "pem_common.h" - - #define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1 --#include "des.h" --#include "md5.h" -+#include -+#include - - ////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////// diff --git a/recipes/cryptopp-pem/all/test_package/CMakeLists.txt b/recipes/cryptopp-pem/all/test_package/CMakeLists.txt index f9ceeed7804cb..fdb362acfd0cf 100644 --- a/recipes/cryptopp-pem/all/test_package/CMakeLists.txt +++ b/recipes/cryptopp-pem/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(TARGETS) +find_package(cryptopp-pem REQUIRED CONFIG) find_package(cryptopp-pem) diff --git a/recipes/cryptopp-pem/all/test_package/conanfile.py b/recipes/cryptopp-pem/all/test_package/conanfile.py index 19e6a0c06e3d8..ef5d7042163ec 100644 --- a/recipes/cryptopp-pem/all/test_package/conanfile.py +++ b/recipes/cryptopp-pem/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/cryptopp-pem/all/test_v1_package/CMakeLists.txt b/recipes/cryptopp-pem/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cryptopp-pem/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/cryptopp-pem/all/test_v1_package/conanfile.py b/recipes/cryptopp-pem/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/cryptopp-pem/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From c1228638aec2b1ad1749dc6754f52d13a058c125 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 30 Oct 2023 11:07:29 +0100 Subject: [PATCH 2291/4087] (#20834) glib: add version 2.78.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 2288ee67fc7c6..941a0f3c6d91b 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index da0b056644c24..e77e0bdfd8b19 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.78.1": + folder: all "2.78.0": folder: all "2.77.3": From 5cdd2ac7bb836dc557f74f73fe97a65d630e26ce Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Mon, 30 Oct 2023 08:04:52 -0400 Subject: [PATCH 2292/4087] (#20721) [google-cloud-cpp] bump requirements and other fixes * [google-cloud-cpp] bump requirements and other fixes Several requirements need version bumps. Where possible I chose version ranges over pinning specific versions. I had to backport fixes for MSVC. I am only guessing, but it seems the toolchain changed in the CI system and now spelling `||` as `or` results in build errors. I also disabled `-Werror` because the code in `v2.5.0` has warnings with newer toolchains. This is to be expected, and that is why the project no longer enables `-Werror` by default. * Require host version for gRPC * Starting with v2.12.0 we need a different fix on macOS * Address review comments --- recipes/google-cloud-cpp/2.x/conandata.yml | 4 ++ recipes/google-cloud-cpp/2.x/conanfile.py | 32 ++++++++----- .../006-cannot-use-or-with-windows.patch | 45 +++++++++++++++++++ 3 files changed, 69 insertions(+), 12 deletions(-) create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml index d9339e05c5ec4..f9eb9c4dbc523 100644 --- a/recipes/google-cloud-cpp/2.x/conandata.yml +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -22,6 +22,10 @@ patches: patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636 patch_description: "Fix problems with INTERFACE proto libraries" patch_type: backport + - patch_file: "patches/2.5.0/006-cannot-use-or-with-windows.patch" + patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10612 + patch_description: "MSVC does not like `or` spelling for `||`" + patch_type: backport "2.12.0": - patch_file: "patches/2.12.0/001-use-conan-msvc-runtime.patch" patch_description: "Let Conan select the MSVC runtime" diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py index 810fc35bc2f60..a3283204d6ead 100644 --- a/recipes/google-cloud-cpp/2.x/conanfile.py +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -138,23 +138,26 @@ def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def requirements(self): - self.requires("protobuf/3.21.9", transitive_headers=True) - self.requires("grpc/1.50.1", transitive_headers=True) - self.requires("nlohmann_json/3.10.0") - self.requires("crc32c/1.1.1") - self.requires("abseil/20220623.0", transitive_headers=True) - self.requires("libcurl/7.88.1") + # 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("grpc/1.54.3", transitive_headers=True) + self.requires("nlohmann_json/3.11.2") + self.requires("crc32c/1.1.2") + # The rest require less pinning. + self.requires("libcurl/[>=7.78 <9]") self.requires("openssl/[>=1.1 <4]") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") def build_requirements(self): - # For the grpc-cpp-plugin executable - self.tool_requires("grpc/1.50.1") + # For the `grpc-cpp-plugin` executable, and indirectly `protoc` + self.tool_requires("grpc/") def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = 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()) tc.generate() VirtualRunEnv(self).generate(scope="build") @@ -170,9 +173,14 @@ 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": - replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), - "$", - '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" $') + 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}') def build(self): self._patch_sources() diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch new file mode 100644 index 0000000000000..ef18553443bda --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch @@ -0,0 +1,45 @@ +diff --git a/google/cloud/internal/oauth2_compute_engine_credentials.cc b/google/cloud/internal/oauth2_compute_engine_credentials.cc +index 9cb45a6..5c6b45d 100644 +--- a/google/cloud/internal/oauth2_compute_engine_credentials.cc ++++ b/google/cloud/internal/oauth2_compute_engine_credentials.cc +@@ -68,8 +68,8 @@ StatusOr ParseComputeEngineRefreshResponse( + auto payload = rest_internal::ReadAll(std::move(response).ExtractPayload()); + if (!payload.ok()) return payload.status(); + auto access_token = nlohmann::json::parse(*payload, nullptr, false); +- if (access_token.is_discarded() || access_token.count("access_token") == 0 or +- access_token.count("expires_in") == 0 or ++ if (access_token.is_discarded() || access_token.count("access_token") == 0 || ++ access_token.count("expires_in") == 0 || + access_token.count("token_type") == 0) { + auto error_payload = + *payload + +diff --git a/google/cloud/storage/oauth2/compute_engine_credentials.cc b/google/cloud/storage/oauth2/compute_engine_credentials.cc +index 365273a..92e631c 100644 +--- a/google/cloud/storage/oauth2/compute_engine_credentials.cc ++++ b/google/cloud/storage/oauth2/compute_engine_credentials.cc +@@ -36,8 +36,8 @@ ParseComputeEngineRefreshResponse( + // Response should have the attributes "access_token", "expires_in", and + // "token_type". + auto access_token = nlohmann::json::parse(response.payload, nullptr, false); +- if (!access_token.is_object() || access_token.count("access_token") == 0 or +- access_token.count("expires_in") == 0 or ++ if (!access_token.is_object() || access_token.count("access_token") == 0 || ++ access_token.count("expires_in") == 0 || + access_token.count("token_type") == 0) { + auto payload = + response.payload + +diff --git a/google/cloud/storage/oauth2/service_account_credentials.cc b/google/cloud/storage/oauth2/service_account_credentials.cc +index 4c600db..34c4e72 100644 +--- a/google/cloud/storage/oauth2/service_account_credentials.cc ++++ b/google/cloud/storage/oauth2/service_account_credentials.cc +@@ -85,8 +85,8 @@ ParseServiceAccountRefreshResponse( + storage::internal::HttpResponse const& response, + std::chrono::system_clock::time_point now) { + auto access_token = nlohmann::json::parse(response.payload, nullptr, false); +- if (access_token.is_discarded() || access_token.count("access_token") == 0 or +- access_token.count("expires_in") == 0 or ++ if (access_token.is_discarded() || access_token.count("access_token") == 0 || ++ access_token.count("expires_in") == 0 || + access_token.count("token_type") == 0) { + auto payload = + response.payload + From f414367ef4a2b65d06a086f4233dab5e3730a4eb Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 30 Oct 2023 08:26:05 -0400 Subject: [PATCH 2293/4087] (#20284) cpptrace: Add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Try to add cpptrace * Update recipes/cpptrace/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update recipes/cpptrace/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update recipes/cpptrace/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Lint fixes * Ruben comments * fixes * Fixes * Update recipes/cpptrace/all/conanfile.py * Add period to end of description * Update * Apply suggestions from code review * Apply suggestions from code review * Build static library properly * oops * Try introducing some patches * Move CPPTRACE_STATIC to generate method * Fix -Wnonnull-compare issue * A couple additional patches, should fix gcc 5 * Try to use find_package for zlib * Quick fixes * Patch should now apply * Update zlib findpackage * Update zlib handling * Update zlib handling again * Update description * Bump to v0.2.1 and remove accumulated patch file * Add patch * Try to fix build * Try to fix windows shared test * Handle dll placement better * Use libdwarf from conan * Cleanup and fixes for conan * Add bug fix patch_source * Removed unused import --------- Co-authored-by: Rubén Rincón Blanco --- recipes/cpptrace/all/conandata.yml | 15 +++ recipes/cpptrace/all/conanfile.py | 107 ++++++++++++++++++ .../all/patches/0.2.1/0001-to_uintptr.patch | 13 +++ .../patches/0.2.1/0002-conan-libdwarf.patch | 62 ++++++++++ .../cpptrace/all/test_package/CMakeLists.txt | 10 ++ .../cpptrace/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 9 ++ recipes/cpptrace/config.yml | 4 + 8 files changed, 246 insertions(+) create mode 100644 recipes/cpptrace/all/conandata.yml create mode 100644 recipes/cpptrace/all/conanfile.py create mode 100644 recipes/cpptrace/all/patches/0.2.1/0001-to_uintptr.patch create mode 100644 recipes/cpptrace/all/patches/0.2.1/0002-conan-libdwarf.patch create mode 100644 recipes/cpptrace/all/test_package/CMakeLists.txt create mode 100644 recipes/cpptrace/all/test_package/conanfile.py create mode 100644 recipes/cpptrace/all/test_package/test_package.cpp create mode 100644 recipes/cpptrace/config.yml diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml new file mode 100644 index 0000000000000..df698c75da843 --- /dev/null +++ b/recipes/cpptrace/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + # Newer versions at the top + "0.2.1": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" + sha256: "3184f404c61b6b8ba6fe7c64fc40d1c3d6d87df59bcacf1845d846101bc22f9a" +patches: + "0.2.1": + - patch_file: "patches/0.2.1/0001-to_uintptr.patch" + patch_type: "bugfix" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/bda3e2b169796f2e9c7e751b27306aac6b4a7c26" + patch_description: "Fix for to_uintptr" + - patch_file: "patches/0.2.1/0002-conan-libdwarf.patch" + patch_type: "conan" + patch_description: "Tweaks to use libdwarf provided by conan" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py new file mode 100644 index 0000000000000..be00c8ea4cc5a --- /dev/null +++ b/recipes/cpptrace/all/conanfile.py @@ -0,0 +1,107 @@ +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.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 +import os + +required_conan_version = ">=1.53.0" + +class CpptraceConan(ConanFile): + name = "cpptrace" + description = "Simple, portable, and self-contained stacktrace library for C++11 and newer " + license = ("MIT", "LGPL-2.1-only", "BSD-2-Clause-Views") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jeremy-rifkin/cpptrace" + topics = ("stacktrace", "backtrace", "stack-trace", "back-trace", "trace", "utilities", "error-handling") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + def 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("libdwarf/0.8.0") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def export_sources(self): + export_conandata_patches(self) + + def generate(self): + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + if not self.options.shared: + tc.variables["CPPTRACE_STATIC"] = True + tc.variables["CPPTRACE_USE_SYSTEM_LIBDWARF"] = True + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + 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"] + + self.cpp_info.set_property("cmake_module_file_name", "cpptrace") + self.cpp_info.set_property("cmake_module_target_name", "cpptrace") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("dl") + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("dbghelp") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "CPPTRACE" + self.cpp_info.filenames["cmake_find_package_multi"] = "cpptrace" + self.cpp_info.names["cmake_find_package"] = "CPPTRACE" + self.cpp_info.names["cmake_find_package_multi"] = "cpptrace" diff --git a/recipes/cpptrace/all/patches/0.2.1/0001-to_uintptr.patch b/recipes/cpptrace/all/patches/0.2.1/0001-to_uintptr.patch new file mode 100644 index 0000000000000..5268df0edea76 --- /dev/null +++ b/recipes/cpptrace/all/patches/0.2.1/0001-to_uintptr.patch @@ -0,0 +1,13 @@ +diff --git src/platform/utils.hpp src/platform/utils.hpp +index 51395fe..7853960 100644 +--- src/platform/utils.hpp ++++ src/platform/utils.hpp +@@ -334,7 +334,7 @@ namespace detail { + return static_cast(t); + } + template +- unsigned long long to_uintptr(T t) { ++ uintptr_t to_uintptr(T t) { + return static_cast(t); + } + diff --git a/recipes/cpptrace/all/patches/0.2.1/0002-conan-libdwarf.patch b/recipes/cpptrace/all/patches/0.2.1/0002-conan-libdwarf.patch new file mode 100644 index 0000000000000..70f3a48f3de5a --- /dev/null +++ b/recipes/cpptrace/all/patches/0.2.1/0002-conan-libdwarf.patch @@ -0,0 +1,62 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce5dbcf..085a1aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -218,7 +218,6 @@ + add_library(cpptrace STATIC ${sources} include/cpptrace/cpptrace.hpp) + else() + add_library(cpptrace SHARED ${sources} include/cpptrace/cpptrace.hpp) +- set_property(TARGET cpptrace PROPERTY POSITION_INDEPENDENT_CODE ON) + endif() + + target_include_directories( +@@ -298,7 +298,7 @@ + target_compile_definitions(cpptrace PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + if(CPPTRACE_USE_SYSTEM_LIBDWARF) + find_package(libdwarf REQUIRED) +- target_link_libraries(cpptrace PRIVATE libdwarf) ++ target_link_libraries(cpptrace PRIVATE libdwarf::libdwarf) + else() + add_subdirectory(bundled/libdwarf) + target_link_libraries(cpptrace PRIVATE dwarf) +@@ -379,7 +379,7 @@ + include(CMakePackageConfigHelpers) + + if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) +- set(CPPTRACE_STATIC_EXPORT_TARGETS cpptrace dwarf) ++ set(CPPTRACE_STATIC_EXPORT_TARGETS cpptrace) + else() + set(CPPTRACE_STATIC_EXPORT_TARGETS cpptrace) + endif() + +diff --git a/src/symbols/symbols_with_libdwarf.cpp b/src/symbols/symbols_with_libdwarf.cpp +index ce5dbcf..085a1aa 100644 +--- a/src/symbols/symbols_with_libdwarf.cpp ++++ b/src/symbols/symbols_with_libdwarf.cpp +@@ -20,8 +20,8 @@ + #include + #include + +-#include +-#include ++#include ++#include + + // It's been tricky to piece together how to handle all this dwarf stuff. Some resources I've used are + // https://www.prevanders.net/libdwarf.pdf + +diff --git a/src/platform/dwarf.hpp b/src/platform/dwarf.hpp +index ce5dbcf..085a1aa 100644 +--- a/src/platform/dwarf.hpp ++++ b/src/platform/dwarf.hpp +@@ -9,8 +9,8 @@ + #include + #include + +-#include +-#include ++#include ++#include + + namespace cpptrace { + namespace detail { diff --git a/recipes/cpptrace/all/test_package/CMakeLists.txt b/recipes/cpptrace/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..413751877cee8 --- /dev/null +++ b/recipes/cpptrace/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(cpptrace REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +target_link_libraries(${PROJECT_NAME} PRIVATE cpptrace::cpptrace) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cpptrace/all/test_package/conanfile.py b/recipes/cpptrace/all/test_package/conanfile.py new file mode 100644 index 0000000000000..1e7a9ff877d53 --- /dev/null +++ b/recipes/cpptrace/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 + +# 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/cpptrace/all/test_package/test_package.cpp b/recipes/cpptrace/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..27e7cbc21a5cb --- /dev/null +++ b/recipes/cpptrace/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include +#include +#include "cpptrace/cpptrace.hpp" + +int main() { + cpptrace::generate_trace().print(); + + return EXIT_SUCCESS; +} diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml new file mode 100644 index 0000000000000..c9540bd54bac5 --- /dev/null +++ b/recipes/cpptrace/config.yml @@ -0,0 +1,4 @@ +versions: + # Newer versions at the top + "0.2.1": + folder: all From f13df22bdae1c400388b01c0f492b2cbf0a08d8d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 30 Oct 2023 13:48:37 +0100 Subject: [PATCH 2294/4087] (#20830) openssl: add 3.0.12 & 3.1.4 --- recipes/openssl/3.x.x/conandata.yml | 10 ++++++++++ recipes/openssl/config.yml | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index a0341deb6e128..4dc7c65bc721c 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,4 +1,9 @@ sources: + 3.1.4: + url: + - "https://www.openssl.org/source/openssl-3.1.4.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.1.4/openssl-3.1.4.tar.gz" + sha256: 840af5366ab9b522bde525826be3ef0fb0af81c6a9ebd84caa600fea1731eee3 3.1.3: url: - "https://www.openssl.org/source/openssl-3.1.3.tar.gz" @@ -14,6 +19,11 @@ sources: - "https://www.openssl.org/source/openssl-3.1.1.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.1.1/openssl-3.1.1.tar.gz" sha256: b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674 + 3.0.12: + url: + - "https://www.openssl.org/source/openssl-3.0.12.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.0.12/openssl-3.0.12.tar.gz" + sha256: f93c9e8edde5e9166119de31755fc87b4aa34863662f67ddfcba14d0b6b69b61 3.0.11: url: - "https://www.openssl.org/source/openssl-3.0.11.tar.gz" diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index e02abd41066dc..a33ff6a80ee4d 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,5 +1,7 @@ versions: # 3.1.x releases + 3.1.4: + folder: "3.x.x" 3.1.3: folder: "3.x.x" 3.1.2: @@ -7,6 +9,8 @@ versions: 3.1.1: folder: "3.x.x" # 3.0.x releases + 3.0.12: + folder: "3.x.x" 3.0.11: folder: "3.x.x" # 1.1.1x releases From c5b1ea6dfae54d57033a061fde958d66dc7402b3 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 30 Oct 2023 14:03:14 +0100 Subject: [PATCH 2295/4087] (#17925) [qt/6.x.x] Fix conan toolchain * [qt/6.5.1] Add version * [qt/6.x.x] Add qt_add_qml_module to test_package * Add conan_qt_qt6_policies.cmake to Qt6Qml cmake package * Add qtdeclarative to default component * Revert "Add qtdeclarative to default component" This reverts commit a7fc4b3870e31a490132c25ca19f2588cb1877d6. * Revert "[qt/6.x.x] Add qt_add_qml_module to test_package" This reverts commit 55d7fb13fc8a1284c9fba9321daf34ee4a53cf30. * Set QT6_IS_SHARED_LIBS_BUILD * Put conan_qt_qt6_variables in Qt6Core instead of Qt6Qml * Add macdeployqt target * Append Qt6CoreConfigExtras.cmake to build_modules_list instead of creating conan_qt_qt6_variables.cmake * Remove merge conflict markers from conandata.yml * Fix linter warnings --- recipes/qt/6.x.x/conanfile.py | 16 +++++++++++++--- recipes/qt/6.x.x/test_package/conanfile.py | 1 - 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index f6306f010b09a..cd60c2ee9d0e5 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -222,7 +222,7 @@ def _enablemodule(mod): for module in self._get_module_tree: if getattr(self.options, module): _enablemodule(module) - + # disable all modules which are: # - not explicitely enabled by the consumer and # - not required by a module explicitely enabled by the consumer @@ -806,10 +806,12 @@ def package(self): targets.append("qvkgen") if self.options.widgets: targets.append("uic") + if self._settings_build.os == "Macos" and self.settings.os != "iOS": + targets.extend(["macdeployqt"]) + if self.settings.os == "Windows": + targets.extend(["windeployqt"]) if self.options.qttools: targets.extend(["qhelpgenerator", "qtattributionsscanner"]) - if self.settings.os == "Windows": - targets.extend(["windeployqt"]) targets.extend(["lconvert", "lprodump", "lrelease", "lrelease-pro", "lupdate", "lupdate-pro"]) if self.options.qtshadertools: targets.append("qsb") @@ -874,6 +876,9 @@ def _create_private_module(module, dependencies): if self.options.qtdeclarative: _create_private_module("Qml", ["CorePrivate", "Qml"]) + 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.settings.os in ["Windows", "iOS"]: contents = textwrap.dedent("""\ @@ -1376,6 +1381,9 @@ def _create_plugin(pluginname, libname, plugintype, requires): build_modules_list = [] + if self.options.qtdeclarative: + build_modules_list.append(os.path.join(self.package_folder, "lib", "cmake", "Qt6Qml", "conan_qt_qt6_policies.cmake")) + def _add_build_modules_for_component(component): for req in self.cpp_info.components[component].requires: if "::" in req: # not a qt component @@ -1386,4 +1394,6 @@ def _add_build_modules_for_component(component): for c in self.cpp_info.components: _add_build_modules_for_component(c) + build_modules_list.append(os.path.join(self.package_folder, "lib", "cmake", "Qt6Core", "Qt6CoreConfigExtras.cmake")) + self.cpp_info.set_property("cmake_build_modules", build_modules_list) diff --git a/recipes/qt/6.x.x/test_package/conanfile.py b/recipes/qt/6.x.x/test_package/conanfile.py index 3321de8f78239..1153f37c5a877 100644 --- a/recipes/qt/6.x.x/test_package/conanfile.py +++ b/recipes/qt/6.x.x/test_package/conanfile.py @@ -1,5 +1,4 @@ import os -import textwrap from conan import ConanFile from conan.tools.build import can_run From aa58c1f205dc1aa91892b106ee75abb521069fd7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 30 Oct 2023 14:27:52 +0100 Subject: [PATCH 2296/4087] (#20727) opencv/3.x: bump deps, remove old version --- recipes/opencv/3.x/conandata.yml | 9 --------- recipes/opencv/3.x/conanfile.py | 16 +--------------- .../3.x/patches/3.4.12-0001-find-openexr.patch | 18 ------------------ recipes/opencv/config.yml | 2 -- 4 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 recipes/opencv/3.x/patches/3.4.12-0001-find-openexr.patch diff --git a/recipes/opencv/3.x/conandata.yml b/recipes/opencv/3.x/conandata.yml index e0e79edab327a..fb7fa44fa31ae 100644 --- a/recipes/opencv/3.x/conandata.yml +++ b/recipes/opencv/3.x/conandata.yml @@ -4,17 +4,8 @@ sources: sha256: "1353eec67849aadb20df71d8bae18b83708e18fc5da080fe5efeabb1e99b2ee8" - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.17.tar.gz" sha256: "2b4d3e91a5767a1ae4f4e2a71b0a93c9ec744755763653a650e40ace8f7b9a1b" - "3.4.12": - - url: "https://github.com/opencv/opencv/archive/3.4.12.tar.gz" - sha256: "c8919dfb5ead6be67534bf794cb0925534311f1cd5c6680f8164ad1813c88d13" - - url: "https://github.com/opencv/opencv_contrib/archive/3.4.12.tar.gz" - sha256: "b207024589674dd2efc7c25740ef192ee4f3e0783e773e2d49a198c37e3e7570" patches: "3.4.17": - patch_file: "patches/3.4.17-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" patch_type: "conan" - "3.4.12": - - patch_file: "patches/3.4.12-0001-find-openexr.patch" - patch_description: "Robust discovery & injection of OpenEXR" - patch_type: "conan" diff --git a/recipes/opencv/3.x/conanfile.py b/recipes/opencv/3.x/conanfile.py index c6f183e44df5c..94f59dc50fb8e 100644 --- a/recipes/opencv/3.x/conanfile.py +++ b/recipes/opencv/3.x/conanfile.py @@ -134,26 +134,12 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "JASPER_", "Jasper_") # Cleanup RPATH - if Version(self.version) < "3.4.8": - install_layout_file = os.path.join(self.source_folder, "CMakeLists.txt") - else: - install_layout_file = os.path.join(self.source_folder, "cmake", "OpenCVInstallLayout.cmake") + install_layout_file = os.path.join(self.source_folder, "cmake", "OpenCVInstallLayout.cmake") replace_in_file(self, install_layout_file, "ocv_update(CMAKE_INSTALL_RPATH \"${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}\")", "") replace_in_file(self, install_layout_file, "set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)", "") - if self.options.contrib and Version(self.version) <= "3.4.12": - sfm_cmake = os.path.join(self._contrib_folder, "modules", "sfm", "CMakeLists.txt") - search = " find_package(Glog QUIET)\nendif()" - replace_in_file(self, sfm_cmake, search, f"""{search} - if(NOT GFLAGS_LIBRARIES AND TARGET gflags::gflags) - set(GFLAGS_LIBRARIES gflags::gflags) - endif() - if(NOT GLOG_LIBRARIES AND TARGET glog::glog) - set(GLOG_LIBRARIES glog::glog) - endif()""") - def generate(self): tc = CMakeToolchain(self) tc.variables["OPENCV_CONFIG_INSTALL_PATH"] = "cmake" diff --git a/recipes/opencv/3.x/patches/3.4.12-0001-find-openexr.patch b/recipes/opencv/3.x/patches/3.4.12-0001-find-openexr.patch deleted file mode 100644 index 757789eca25bb..0000000000000 --- a/recipes/opencv/3.x/patches/3.4.12-0001-find-openexr.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/cmake/OpenCVFindOpenEXR.cmake -+++ b/cmake/OpenCVFindOpenEXR.cmake -@@ -8,6 +8,15 @@ - # OPENEXR_INCLUDE_PATHS = OpenEXR include directories. - # OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR. - # -+find_package(OpenEXR REQUIRED) -+if(TARGET OpenEXR::OpenEXR) -+ set(OPENEXR_LIBRARIES OpenEXR::OpenEXR) -+else() -+ set(OPENEXR_LIBRARIES openexr::openexr) -+endif() -+set(OPENEXR_FOUND TRUE) -+set(OPENEXR_VERSION ${OpenEXR_VERSION}) -+return() - - SET(OPENEXR_LIBRARIES "") - SET(OPENEXR_LIBSEARCH_SUFFIXES "") diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 9eaf5dfd20e1b..89ac415345456 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -7,7 +7,5 @@ versions: folder: "4.x" "3.4.17": folder: "3.x" - "3.4.12": - folder: "3.x" "2.4.13.7": folder: "2.x" From cec383a85f5eca37bb440801d58bfbf01a0bcfef Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 30 Oct 2023 14:49:57 +0100 Subject: [PATCH 2297/4087] (#20833) yaml-cpp: fix interface definition for windows + provide `yaml-cpp::yaml-cpp` imported target * fix interface definition for windows YAML_CPP_DLL (<0.8.0) or YAML_CPP_STATIC_DEFINE (>=0.8.0) must be defined when appropriate on windows, noy only for msvc compiler * define YAML_CPP_STATIC_DEFINE if shared since 0.8.0 irrespective of os * also provide `yaml-cpp::yaml-cpp` imported target it's the new upstream target name since 0.8.0 --- recipes/yaml-cpp/all/conanfile.py | 9 ++++++--- recipes/yaml-cpp/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/recipes/yaml-cpp/all/conanfile.py b/recipes/yaml-cpp/all/conanfile.py index 5b5671d6ceeee..29c95c5649acc 100644 --- a/recipes/yaml-cpp/all/conanfile.py +++ b/recipes/yaml-cpp/all/conanfile.py @@ -104,16 +104,19 @@ def _module_file_rel_path(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "yaml-cpp") - self.cpp_info.set_property("cmake_target_name", "yaml-cpp") + self.cpp_info.set_property("cmake_target_name", "yaml-cpp::yaml-cpp") + self.cpp_info.set_property("cmake_target_aliases", ["yaml-cpp"]) # CMake imported target before 0.8.0 self.cpp_info.set_property("pkg_config_name", "yaml-cpp") self.cpp_info.libs = collect_libs(self) if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.system_libs.append("m") if is_msvc(self): self.cpp_info.defines.append("_NOEXCEPT=noexcept") - if Version(self.version) < "0.8.0" and self.options.shared: + if Version(self.version) < "0.8.0": + if self.settings.os == "Windows" and self.options.shared: self.cpp_info.defines.append("YAML_CPP_DLL") - if Version(self.version) >= "0.8.0" and not self.options.shared: + else: + if not self.options.shared: self.cpp_info.defines.append("YAML_CPP_STATIC_DEFINE") # TODO: to remove in conan v2 once cmake_find_package_* generators removed diff --git a/recipes/yaml-cpp/all/test_package/CMakeLists.txt b/recipes/yaml-cpp/all/test_package/CMakeLists.txt index 1872344e829cb..293d6d71bbc1c 100644 --- a/recipes/yaml-cpp/all/test_package/CMakeLists.txt +++ b/recipes/yaml-cpp/all/test_package/CMakeLists.txt @@ -4,5 +4,5 @@ project(test_package LANGUAGES CXX) find_package(yaml-cpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE yaml-cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE yaml-cpp::yaml-cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) From 66d5c2eab40bb1913c14cbc1bfc0ebe63e33c023 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 30 Oct 2023 23:30:40 +0900 Subject: [PATCH 2298/4087] (#20807) samurai: add version 0.8.0, update dependenies * samurai: add version 0.8.0, update dependenies * update xtensor --- recipes/samurai/all/conandata.yml | 3 +++ recipes/samurai/all/conanfile.py | 6 ++---- recipes/samurai/all/test_package/conanfile.py | 1 - recipes/samurai/config.yml | 2 ++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/recipes/samurai/all/conandata.yml b/recipes/samurai/all/conandata.yml index 6907e16b729a6..ee0badb79a35b 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.8.0.tar.gz" + sha256: "c20c4cdcc7c5a29d6f44369d5b1addee4237b8282b5cce88be4113367d90d82d" "0.7.0": url: "https://github.com/hpc-maths/samurai/archive/v0.7.0.tar.gz" sha256: "159dea32bdce95ddc6bc62c202e60754407d4e5e910d0a382c2030410fe2e729" diff --git a/recipes/samurai/all/conanfile.py b/recipes/samurai/all/conanfile.py index 8e629d1289dfb..9bbf83edd6985 100644 --- a/recipes/samurai/all/conanfile.py +++ b/recipes/samurai/all/conanfile.py @@ -42,9 +42,9 @@ def requirements(self): self.requires("cli11/2.3.2") self.requires("fmt/10.1.1") self.requires("highfive/2.7.1") - self.requires("pugixml/1.13") + self.requires("pugixml/1.14") self.requires("xsimd/11.1.0") - self.requires("xtensor/0.24.3") + self.requires("xtensor/0.24.6") def package_id(self): self.info.clear() @@ -61,7 +61,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - # Copy all files to the package folder def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( @@ -72,6 +71,5 @@ def package(self): ) def package_info(self): - # Folders not used for header-only self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/samurai/all/test_package/conanfile.py b/recipes/samurai/all/test_package/conanfile.py index 0a808db45f245..3a91c9439218e 100644 --- a/recipes/samurai/all/test_package/conanfile.py +++ b/recipes/samurai/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/samurai/config.yml b/recipes/samurai/config.yml index 3ab2f5cec43d3..3cb0f24be34a7 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: all "0.7.0": folder: all "0.6.0": From 174de6ddebd06843381686b273a51c39ec668da6 Mon Sep 17 00:00:00 2001 From: Chris Collins Date: Tue, 31 Oct 2023 01:43:13 +1100 Subject: [PATCH 2299/4087] (#16738) cglm: update for conan 2.0 and add ver 0.8.9 * cglm: update for conan 2.0 and add ver 0.8.9 * chore: modernize more * chore: fix type * fixed removal shared option --------- Co-authored-by: Chris Mc Co-authored-by: memsharded --- recipes/cglm/all/CMakeLists.txt | 7 -- recipes/cglm/all/conandata.yml | 3 + recipes/cglm/all/conanfile.py | 73 ++++++++----------- recipes/cglm/all/test_package/CMakeLists.txt | 3 - recipes/cglm/all/test_package/conanfile.py | 19 +++-- .../cglm/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/cglm/all/test_v1_package/conanfile.py | 18 +++++ recipes/cglm/config.yml | 2 + 8 files changed, 75 insertions(+), 58 deletions(-) delete mode 100644 recipes/cglm/all/CMakeLists.txt create mode 100644 recipes/cglm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cglm/all/test_v1_package/conanfile.py diff --git a/recipes/cglm/all/CMakeLists.txt b/recipes/cglm/all/CMakeLists.txt deleted file mode 100644 index 3a14ce35d533b..0000000000000 --- a/recipes/cglm/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory("source_subfolder") diff --git a/recipes/cglm/all/conandata.yml b/recipes/cglm/all/conandata.yml index d63882c55fca8..bef9a23cc03a1 100644 --- a/recipes/cglm/all/conandata.yml +++ b/recipes/cglm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.9": + url: "https://github.com/recp/cglm/archive/refs/tags/v0.8.9.tar.gz" + sha256: "9561c998eb2a86dca5f8596b5cd290d76f56b7735c8a2486c585c43c196ceedd" "0.8.5": url: "https://github.com/recp/cglm/archive/refs/tags/v0.8.5.tar.gz" sha256: "baefa21342d228a83c90708459a745d5aa9b0ebb381555eea42db1f37fdf7a5a" diff --git a/recipes/cglm/all/conanfile.py b/recipes/cglm/all/conanfile.py index 023c54a31f51b..a65e71aed7e4f 100644 --- a/recipes/cglm/all/conanfile.py +++ b/recipes/cglm/all/conanfile.py @@ -1,7 +1,9 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps +from conan.tools.files import get, patch, rmdir, copy import os -required_conan_version = ">=1.29.1" +required_conan_version = ">=1.50.0" class CglmConan(ConanFile): @@ -13,7 +15,6 @@ class CglmConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" settings = "os", "arch", "compiler", "build_type" exports_sources = ("CMakeLists.txt", ) - generators = "cmake" options = { "shared": [True, False], "fPIC": [True, False], @@ -25,65 +26,51 @@ class CglmConan(ConanFile): "header_only": False, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + if self.options.get_safe("shared") or self.options.header_only: + self.options.rm_safe("fPIC") if self.options.header_only: - del self.settings.arch - del self.settings.build_type - del self.settings.compiler - del self.settings.os + self.options.rm_safe("shared") + self.settings.compiler.rm_safe("libcxx") + self.settings.compiler.rm_safe("cppstd") - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def package_id(self): + if self.info.options.header_only: + self.info.clear() - def _configure_cmake(self): - if self._cmake: - return self._cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - self._cmake = CMake(self) - self._cmake.definitions["CGLM_STATIC"] = not self.options.shared - self._cmake.definitions["CGLM_SHARED"] = self.options.shared - self._cmake.definitions["CGLM_USE_TEST"] = False - self._cmake.configure() - return self._cmake + def generate(self): + if not self.options.header_only: + tc = CMakeToolchain(self) + tc.cache_variables["CGLM_STATIC"] = not self.options.shared + tc.cache_variables["CGLM_SHARED"] = self.options.shared + tc.cache_variables["CGLM_USE_TEST"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if not self.options.header_only: - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) if self.options.header_only: - self.copy("*", src=os.path.join(self._source_subfolder, "include"), dst="include") + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) else: - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "cglm") diff --git a/recipes/cglm/all/test_package/CMakeLists.txt b/recipes/cglm/all/test_package/CMakeLists.txt index 511cf63c2b9e2..61fe76d5a3a4b 100644 --- a/recipes/cglm/all/test_package/CMakeLists.txt +++ b/recipes/cglm/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(cglm REQUIRED) add_executable(test_package test_package.c) diff --git a/recipes/cglm/all/test_package/conanfile.py b/recipes/cglm/all/test_package/conanfile.py index 38f4483872d47..d60b533632ddd 100644 --- a/recipes/cglm/all/test_package/conanfile.py +++ b/recipes/cglm/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cglm/all/test_v1_package/CMakeLists.txt b/recipes/cglm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..2f6b1a2f7ec79 --- /dev/null +++ b/recipes/cglm/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cglm/all/test_v1_package/conanfile.py b/recipes/cglm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/cglm/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/cglm/config.yml b/recipes/cglm/config.yml index dacc103c54543..4fbae8510daaf 100644 --- a/recipes/cglm/config.yml +++ b/recipes/cglm/config.yml @@ -1,3 +1,5 @@ versions: + "0.8.9": + folder: all "0.8.5": folder: all From 1d0dfa89a70bd0b0b820a38cc369e6c2ebf2b150 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Oct 2023 15:07:54 +0000 Subject: [PATCH 2300/4087] (#20792) libwebm: Update to 1.0.0.31 to fix C++20 builds. --- recipes/libwebm/all/conandata.yml | 2 ++ recipes/libwebm/all/test_package/conanfile.py | 14 +++++++++++--- recipes/libwebm/all/test_package/test_package.cpp | 6 ++++++ recipes/libwebm/config.yml | 2 ++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/recipes/libwebm/all/conandata.yml b/recipes/libwebm/all/conandata.yml index d6b7a70fca5c6..18c5b099c2c71 100644 --- a/recipes/libwebm/all/conandata.yml +++ b/recipes/libwebm/all/conandata.yml @@ -1,3 +1,5 @@ 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' diff --git a/recipes/libwebm/all/test_package/conanfile.py b/recipes/libwebm/all/test_package/conanfile.py index 0a6bc68712d90..b02549cdf82ed 100644 --- a/recipes/libwebm/all/test_package/conanfile.py +++ b/recipes/libwebm/all/test_package/conanfile.py @@ -1,12 +1,11 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout import os - class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -15,6 +14,15 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + # Later versions of the library use prefixed headers, 1.0.0.30 is the only + # version supported by this recipe that does not. + if self.dependencies[self.tested_reference_str].ref.version == "1.0.0.30": + tc.preprocessor_definitions["UNPREFIXED_HEADERS"] = "1" + + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/libwebm/all/test_package/test_package.cpp b/recipes/libwebm/all/test_package/test_package.cpp index 4d44f2363caf2..07d201d6d4f51 100644 --- a/recipes/libwebm/all/test_package/test_package.cpp +++ b/recipes/libwebm/all/test_package/test_package.cpp @@ -1,7 +1,13 @@ #include #include + +#ifdef UNPREFIXED_HEADERS #include #include +#else +#include +#include +#endif // UNPREFIXED_HEADERS int main(void) { int32_t major, minor, build, revision; diff --git a/recipes/libwebm/config.yml b/recipes/libwebm/config.yml index d9683e805a917..71746ecdc81bd 100644 --- a/recipes/libwebm/config.yml +++ b/recipes/libwebm/config.yml @@ -1,3 +1,5 @@ versions: + '1.0.0.31': + folder: all '1.0.0.30': folder: all From 83d7893bfc824f1582f857d3e9b391b9d086e912 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 00:27:43 +0900 Subject: [PATCH 2301/4087] (#20802) cairo: add version 1.18.0, update meson * cairo: add version 1.18.0 * drop with_opengl option --- recipes/cairo/config.yml | 2 ++ recipes/cairo/meson/conandata.yml | 3 +++ recipes/cairo/meson/conanfile.py | 25 +++++++++++++------------ 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/recipes/cairo/config.yml b/recipes/cairo/config.yml index 248b8521fe8ea..5fabe3a0b232a 100644 --- a/recipes/cairo/config.yml +++ b/recipes/cairo/config.yml @@ -1,4 +1,6 @@ versions: + "1.18.0": + folder: meson "1.17.6": folder: meson "1.17.4": diff --git a/recipes/cairo/meson/conandata.yml b/recipes/cairo/meson/conandata.yml index da5f931250975..08cc67a383ec6 100644 --- a/recipes/cairo/meson/conandata.yml +++ b/recipes/cairo/meson/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.18.0": + sha256: "abf8fba4d510086a492783c3e0828e90b32734738fd80906595617d229d02bab" + url: "https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.18.0/cairo-1.18.0.tar.bz2" "1.17.6": sha256: "90496d135c9ef7612c98f8ee358390cdec0825534573778a896ea021155599d2" url: "https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.17.6/cairo-1.17.6.tar.bz2" diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 84d1dc2823d84..72a90c376844a 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -80,7 +80,7 @@ def config_options(self): del self.options.with_xlib_xrender del self.options.with_xcb del self.options.with_symbol_lookup - if self.settings.os in ["Macos", "Windows"]: + if self.settings.os in ["Macos", "Windows"] or Version(self.version) >= "1.18.0": del self.options.with_opengl def configure(self): @@ -135,7 +135,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") @@ -164,16 +164,17 @@ def is_enabled(value): else: options["xcb"] = "disabled" options["xlib"] = "disabled" - if self.options.get_safe("with_opengl") == "desktop": - options["gl-backend"] = "gl" - elif self.options.get_safe("with_opengl") == "gles2": - options["gl-backend"] = "glesv2" - elif self.options.get_safe("with_opengl") == "gles3": - options["gl-backend"] = "glesv3" - else: - options["gl-backend"] = "disabled" - options["glesv2"] = is_enabled(self.options.get_safe("with_opengl") == "gles2") - options["glesv3"] = is_enabled(self.options.get_safe("with_opengl") == "gles3") + if Version(self.version) < "1.18.0": + if self.options.get_safe("with_opengl") == "desktop": + options["gl-backend"] = "gl" + elif self.options.get_safe("with_opengl") == "gles2": + options["gl-backend"] = "glesv2" + elif self.options.get_safe("with_opengl") == "gles3": + options["gl-backend"] = "glesv3" + else: + options["gl-backend"] = "disabled" + options["glesv2"] = is_enabled(self.options.get_safe("with_opengl") == "gles2") + options["glesv3"] = is_enabled(self.options.get_safe("with_opengl") == "gles3") options["tee"] = is_enabled(self.options.tee) options["symbol-lookup"] = is_enabled(self.options.get_safe("with_symbol_lookup")) From e17d030307433d5f398b37c65edc044086fa8e08 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 00:47:47 +0900 Subject: [PATCH 2302/4087] (#20804) itlib: add version 1.10.0, remove older versions --- recipes/itlib/all/conandata.yml | 18 +++--------------- recipes/itlib/config.yml | 12 ++---------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/recipes/itlib/all/conandata.yml b/recipes/itlib/all/conandata.yml index 55fc01342577f..3f5420a88ffc2 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.0": + url: "https://github.com/iboB/itlib/archive/v1.10.0.tar.gz" + sha256: "a97b98514aa7194241383b537c368a01d4a56e05316a94551cd183a986caa9c7" "1.9.2": url: "https://github.com/iboB/itlib/archive/v1.9.2.tar.gz" sha256: "70627c57edff91dfae219e101c0672560f65567272e889f461069c8ea506bef1" @@ -20,18 +23,3 @@ sources: "1.8.0": url: "https://github.com/iboB/itlib/archive/v1.8.0.tar.gz" sha256: "70b6493b0cc3a720ffd48e98e3f009e8d94003380800bf07e61f167e813a9add" - "1.7.0": - url: "https://github.com/iboB/itlib/archive/v1.7.0.tar.gz" - sha256: "9a27138cfa8554eb69436bb1afacfafc5a3888b6e05f9124b2d20da7ab55b723" - "1.6.3": - url: "https://github.com/iboB/itlib/archive/v1.6.3.tar.gz" - sha256: "d2e320d9218269c421407d6df819ca0bfae3ea5bc897b341b9babaedc0b7103f" - "1.5.2": - url: "https://github.com/iboB/itlib/archive/v1.5.2.tar.gz" - sha256: "9ebff09fcdc873d2b01d8a2d0de2a7d7bd11844ef632f80ec5041f78bdc6ddec" - "1.4.5": - url: "https://github.com/iboB/itlib/archive/v1.4.5.tar.gz" - sha256: "f1d3533014433316475b6196cd2b1890bb42db1ae3059616538788712e1a33aa" - "1.3.0": - url: "https://github.com/iboB/itlib/archive/v1.3.0.tar.gz" - sha256: "d3af2ea3cf0dae63fe1e186af79562e584bfb86bf02f358cab9675662fb9b5ef" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index fa9e9daa2fe0e..b9ca7db67bf08 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.0": + folder: all "1.9.2": folder: all "1.9.1": @@ -13,13 +15,3 @@ versions: folder: all "1.8.0": folder: all - "1.7.0": - folder: all - "1.6.3": - folder: all - "1.5.2": - folder: all - "1.4.5": - folder: all - "1.3.0": - folder: all From 3d8d69f37b223bb91b4705294c050f3a663b1605 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 30 Oct 2023 17:01:47 +0100 Subject: [PATCH 2303/4087] (#20835) [bot] Update authorized users list (2023-10-30) --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index df103c0b32535..d1282ef8ebb56 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1252,3 +1252,8 @@ authorized_users: - Subash-Lamichhane - rezvee6 - SpiffGreen +- hegyizs +- kkloberdanz +- martin-olivier +- lucaskdc +- fnadeau From 666c4acf20bca7dbc61c8459e09097894a586bd4 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 01:17:14 +0900 Subject: [PATCH 2304/4087] (#20686) crossguid: add recipe * crossguid: add recipe * link CoreFoundation * export all symbols * make transitive --- recipes/crossguid/all/conandata.yml | 9 ++ recipes/crossguid/all/conanfile.py | 84 +++++++++++++++++++ .../all/patches/0001-add-installer.patch | 41 +++++++++ .../crossguid/all/test_package/CMakeLists.txt | 8 ++ .../crossguid/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 11 +++ recipes/crossguid/config.yml | 3 + 7 files changed, 182 insertions(+) create mode 100644 recipes/crossguid/all/conandata.yml create mode 100644 recipes/crossguid/all/conanfile.py create mode 100644 recipes/crossguid/all/patches/0001-add-installer.patch create mode 100644 recipes/crossguid/all/test_package/CMakeLists.txt create mode 100644 recipes/crossguid/all/test_package/conanfile.py create mode 100644 recipes/crossguid/all/test_package/test_package.cpp create mode 100644 recipes/crossguid/config.yml diff --git a/recipes/crossguid/all/conandata.yml b/recipes/crossguid/all/conandata.yml new file mode 100644 index 0000000000000..2fdb90ed9775b --- /dev/null +++ b/recipes/crossguid/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.2.2": + url: "https://github.com/graeme-hill/crossguid/archive/refs/tags/v0.2.2.tar.gz" + sha256: "48321928473c682b0cdc7e17bbd3390f79f4b98ab22fef3b81a852dda81fd195" +patches: + "0.2.2": + - patch_file: "patches/0001-add-installer.patch" + patch_description: "add installer definition" + patch_type: "conan" diff --git a/recipes/crossguid/all/conanfile.py b/recipes/crossguid/all/conanfile.py new file mode 100644 index 0000000000000..d47019a908277 --- /dev/null +++ b/recipes/crossguid/all/conanfile.py @@ -0,0 +1,84 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.apple import is_apple_os +import os + +required_conan_version = ">=1.53.0" + +class CrossGUIDConan(ConanFile): + name = "crossguid" + description = "Lightweight cross platform C++ GUID/UUID library" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/graeme-hill/crossguid" + topics = ("guid", "uuid") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.settings.os == "Linux": + self.requires("libuuid/1.0.3", transitive_headers=True, transitive_libs=True) + + 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 generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["XG_TESTS"] = False + tc.generate() + dpes = CMakeDeps(self) + dpes.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["xg"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + if self.settings.os == "Android": + self.cpp_info.defines.append("GUID_ANDROID") + if is_apple_os(self): + self.cpp_info.frameworks.append("CoreFoundation") diff --git a/recipes/crossguid/all/patches/0001-add-installer.patch b/recipes/crossguid/all/patches/0001-add-installer.patch new file mode 100644 index 0000000000000..76e6912e18f32 --- /dev/null +++ b/recipes/crossguid/all/patches/0001-add-installer.patch @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 761dbc6..b5ddd74 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,13 +27,32 @@ elseif(APPLE) + elseif(ANDROID) + target_compile_definitions(xg PRIVATE GUID_ANDROID) + else() +- find_package(Libuuid REQUIRED) +- if (NOT LIBUUID_FOUND) ++ find_package(libuuid REQUIRED) ++ if (NOT libuuid_FOUND) + message(FATAL_ERROR + "You might need to run 'sudo apt-get install uuid-dev' or similar") + endif() +- include_directories(${LIBUUID_INCLUDE_DIR}) +- target_link_libraries(xg ${LIBUUID_LIBRARY}) ++ include_directories(${libuuid_INCLUDE_DIR}) ++ target_link_libraries(xg ${libuuid_LIBRARY}) + add_definitions(-DGUID_LIBUUID) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic") + endif() ++ ++include(GNUInstallDirs) ++ ++set(CROSSGUID_INC_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}") ++set(CROSSGUID_RUNTIME_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}") ++set(CROSSGUID_LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") ++set(CROSSGUID_ARCHIVE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") ++set(CROSSGUID_FRAMEWORK_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") ++ ++# Install target ++install(TARGETS xg EXPORT crossguidTargets ++ RUNTIME DESTINATION ${CROSSGUID_RUNTIME_INSTALL_DIR} ++ LIBRARY DESTINATION ${CROSSGUID_LIBRARY_INSTALL_DIR} ++ ARCHIVE DESTINATION ${CROSSGUID_ARCHIVE_INSTALL_DIR} ++ FRAMEWORK DESTINATION ${CROSSGUID_FRAMEWORK_INSTALL_DIR}) ++ ++# Install headers ++install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Guid.hpp" ++ DESTINATION ${CROSSGUID_INC_INSTALL_DIR}) diff --git a/recipes/crossguid/all/test_package/CMakeLists.txt b/recipes/crossguid/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d114028593025 --- /dev/null +++ b/recipes/crossguid/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(crossguid REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE crossguid::crossguid) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/crossguid/all/test_package/conanfile.py b/recipes/crossguid/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/crossguid/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/crossguid/all/test_package/test_package.cpp b/recipes/crossguid/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..1fcc33b8fd5e8 --- /dev/null +++ b/recipes/crossguid/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include + +#include "Guid.hpp" + +int main(void) { + auto const g = xg::newGuid(); + + std::cout << "Here is a guid: " << g << std::endl; + + return 0; +} diff --git a/recipes/crossguid/config.yml b/recipes/crossguid/config.yml new file mode 100644 index 0000000000000..cd4b8da537c38 --- /dev/null +++ b/recipes/crossguid/config.yml @@ -0,0 +1,3 @@ +versions: + "0.2.2": + folder: all From b7fdc6b7196ef75101b41fc7d560bb685f438266 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 01:38:38 +0900 Subject: [PATCH 2305/4087] (#20805) libnghttp2: add version 1.58.0, update dependencies, remove older versions --- recipes/libnghttp2/all/conandata.yml | 16 +++------------- recipes/libnghttp2/all/conanfile.py | 10 +++------- .../all/patches/fix-findJemalloc.cmake | 14 -------------- .../all/patches/fix-findLibevent.cmake | 11 ----------- recipes/libnghttp2/config.yml | 6 ++---- 5 files changed, 8 insertions(+), 49 deletions(-) delete mode 100644 recipes/libnghttp2/all/patches/fix-findJemalloc.cmake delete mode 100644 recipes/libnghttp2/all/patches/fix-findLibevent.cmake diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index da61b35ff41f8..a883c4b7d535a 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.58.0": + url: "https://github.com/nghttp2/nghttp2/archive/v1.58.0.tar.gz" + sha256: "7da19947b33a07ddcf97b9791331bfee8a8545e6b394275a9971f43cae9d636b" "1.57.0": url: "https://github.com/nghttp2/nghttp2/archive/v1.57.0.tar.gz" sha256: "3c0b4e023dddf2afa087aa4409f7dbe03c099b4c63655e7545a607035085848a" @@ -23,16 +26,3 @@ sources: "1.50.0": url: "https://github.com/nghttp2/nghttp2/releases/download/v1.50.0/nghttp2-1.50.0.tar.xz" sha256: "af24007e34c18c782393a1dc3685f8fd5b50283e90a9191d25488eb50aa2c825" - "1.49.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.49.0/nghttp2-1.49.0.tar.xz" - sha256: "b0cfd492bbf0b131c472e8f6501c9f4ee82b51b68130f47b278c0b7c9848a66e" - "1.48.0": - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.48.0/nghttp2-1.48.0.tar.xz" - sha256: "47d8f30ee4f1bc621566d10362ca1b3ac83a335c63da7144947c806772d016e4" -patches: - "1.49.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" - "1.48.0": - - patch_file: "patches/fix-findJemalloc.cmake" - - patch_file: "patches/fix-findLibevent.cmake" diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index 3f994abf9ab85..ac841e13b7b86 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/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 export_conandata_patches, apply_conandata_patches, get, save, replace_in_file, rmdir, copy +from conan.tools.files import get, save, replace_in_file, rmdir, copy from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -38,9 +38,6 @@ class Nghttp2Conan(ConanFile): "with_asio": False, } - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -63,10 +60,10 @@ def requirements(self): if self.options.with_app or self.options.get_safe("with_asio"): self.requires("openssl/[>=1.1 <4]") if self.options.with_app: - self.requires("c-ares/1.19.1") + self.requires("c-ares/1.20.1") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") @@ -110,7 +107,6 @@ def generate(self): tc.generate() def _patch_sources(self): - apply_conandata_patches(self) if not self.options.shared: # easier to patch here rather than have patch 'nghttp_static_include_directories' for each version save(self, os.path.join(self.source_folder, "lib", "CMakeLists.txt"), diff --git a/recipes/libnghttp2/all/patches/fix-findJemalloc.cmake b/recipes/libnghttp2/all/patches/fix-findJemalloc.cmake deleted file mode 100644 index f072d3a7f8d5a..0000000000000 --- a/recipes/libnghttp2/all/patches/fix-findJemalloc.cmake +++ /dev/null @@ -1,14 +0,0 @@ ---- cmake/FindJemalloc.cmake -+++ cmake/FindJemalloc.cmake -@@ -10,10 +10,10 @@ - find_path(JEMALLOC_INCLUDE_DIR - NAMES jemalloc/jemalloc.h - HINTS ${PC_JEMALLOC_INCLUDE_DIRS} - ) - find_library(JEMALLOC_LIBRARY -- NAMES jemalloc -+ NAMES jemalloc jemalloc_s jemalloc_pic - HINTS ${PC_JEMALLOC_LIBRARY_DIRS} - ) - - if(JEMALLOC_INCLUDE_DIR) diff --git a/recipes/libnghttp2/all/patches/fix-findLibevent.cmake b/recipes/libnghttp2/all/patches/fix-findLibevent.cmake deleted file mode 100644 index b58cd730c3bff..0000000000000 --- a/recipes/libnghttp2/all/patches/fix-findLibevent.cmake +++ /dev/null @@ -1,11 +0,0 @@ ---- cmake/FindLibevent.cmake -+++ cmake/FindLibevent.cmake -@@ -35,7 +35,7 @@ - ) - - if(LIBEVENT_INCLUDE_DIR) -- set(_version_regex "^#define[ \t]+_EVENT_VERSION[ \t]+\"([^\"]+)\".*") -+ set(_version_regex "^#define[ \t]+EVENT__VERSION[ \t]+\"([^\"]+)\".*") - if(EXISTS "${LIBEVENT_INCLUDE_DIR}/event2/event-config.h") - # Libevent 2.0 - file(STRINGS "${LIBEVENT_INCLUDE_DIR}/event2/event-config.h" diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 4a36922d02f02..9868faae8fd3c 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.58.0": + folder: all "1.57.0": folder: all "1.56.0": @@ -15,7 +17,3 @@ versions: folder: all "1.50.0": folder: all - "1.49.0": - folder: all - "1.48.0": - folder: all From ab46555537e060cf7f994c81e09248d2fde7d757 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Mon, 30 Oct 2023 18:18:19 +0100 Subject: [PATCH 2306/4087] (#20799) libarchive: patch to include getopt.h when required * libarchive: patch to include getopt.h when required * Update recipes/libarchive/all/conandata.yml Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams --- recipes/libarchive/all/conandata.yml | 4 ++++ .../all/patches/0007-3.7.1-include-getopt.patch | 13 +++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index 7a29ca28110b5..d6397b39df999 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -25,6 +25,10 @@ sources: sha256: "8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e" patches: "3.7.1": + - patch_file: "patches/0007-3.7.1-include-getopt.patch" + patch_description: "include getopt.h if HAVE_GETOPT_OPTRESET is defined" + patch_type: "portability" + patch_source: "https://github.com/libarchive/libarchive/pull/2007" - patch_file: "patches/0001-3.7.1-zlib-winapi.patch" patch_description: "Remove broken ZLIB WINAPI check" patch_type: "portability" diff --git a/recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch b/recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch new file mode 100644 index 0000000000000..6db790a6cd811 --- /dev/null +++ b/recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch @@ -0,0 +1,13 @@ +--- unzip/bsdunzip.c 2023-07-29 19:27:43.000000000 +0200 ++++ unzip/bsdunzip.c 2023-10-28 13:19:27.181106700 +0200 +@@ -78,6 +78,10 @@ + #include + #endif + #endif ++#ifdef HAVE_GETOPT_OPTRESET ++#include ++#endif ++ + + #include + #include From f0da61a71de380af4f21b32f3b08dbf2d02940c4 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 30 Oct 2023 18:49:11 +0100 Subject: [PATCH 2307/4087] (#20790) openssl: add no_autoload_config option --- recipes/openssl/3.x.x/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 35f6fcf1604db..c9d0f55fd4388 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -30,6 +30,7 @@ class OpenSSLConan(ConanFile): "capieng_dialog": [True, False], "enable_capieng": [True, False], "no_aria": [True, False], + "no_autoload_config": [True, False], "no_asm": [True, False], "no_async": [True, False], "no_blake2": [True, False], From 49e9e08cc68385d189c6c59950f8e3676068f076 Mon Sep 17 00:00:00 2001 From: tbeu Date: Mon, 30 Oct 2023 19:27:35 +0100 Subject: [PATCH 2308/4087] (#20796) matio: Add version 1.5.24 --- recipes/matio/all/conandata.yml | 6 ++++++ recipes/matio/config.yml | 2 ++ 2 files changed, 8 insertions(+) diff --git a/recipes/matio/all/conandata.yml b/recipes/matio/all/conandata.yml index fec43221cc62a..0850bf3d72ee4 100644 --- a/recipes/matio/all/conandata.yml +++ b/recipes/matio/all/conandata.yml @@ -11,6 +11,9 @@ sources: "1.5.23": url: "https://downloads.sourceforge.net/project/matio/matio/1.5.23/matio-1.5.23.tar.gz" sha256: "9f91eae661df46ea53c311a1b2dcff72051095b023c612d7cbfc09406c9f4d6e" + "1.5.24": + url: "https://downloads.sourceforge.net/project/matio/matio/1.5.24/matio-1.5.24.tar.gz" + sha256: "5106ebed5b40d02a2bb968b57bef8876701c566e039e6ebe134bab779c436f7c" patches: "1.5.18": - patch_file: "patches/require-cmake-3.10.patch" @@ -28,3 +31,6 @@ patches: "1.5.23": - patch_file: "patches/require-cmake-3.10.patch" - patch_file: "patches/cmake-install-bundle.patch" + "1.5.24": + - patch_file: "patches/require-cmake-3.10.patch" + - patch_file: "patches/cmake-install-bundle.patch" diff --git a/recipes/matio/config.yml b/recipes/matio/config.yml index 5ec8ba010e8ec..32213bb4d952d 100644 --- a/recipes/matio/config.yml +++ b/recipes/matio/config.yml @@ -7,3 +7,5 @@ versions: folder: all "1.5.23": folder: all + "1.5.24": + folder: all From 9b815d611efe338cc2d362a82e88ff9ec689e0d0 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 03:48:30 +0900 Subject: [PATCH 2309/4087] (#20806) librdkafka: add version 2.3.0, make libcurl version ranges --- recipes/librdkafka/all/conandata.yml | 10 ++++++++ recipes/librdkafka/all/conanfile.py | 2 +- ...y-targets-and-result-variables-2-3-0.patch | 24 +++++++++++++++++++ recipes/librdkafka/config.yml | 2 ++ 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-3-0.patch diff --git a/recipes/librdkafka/all/conandata.yml b/recipes/librdkafka/all/conandata.yml index a03c452b45360..bf7c468b0c4c1 100644 --- a/recipes/librdkafka/all/conandata.yml +++ b/recipes/librdkafka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/edenhill/librdkafka/archive/v2.3.0.tar.gz" + sha256: "2d49c35c77eeb3d42fa61c43757fcbb6a206daa560247154e60642bcdcc14d12" "2.2.0": url: "https://github.com/edenhill/librdkafka/archive/v2.2.0.tar.gz" sha256: "af9a820cbecbc64115629471df7c7cecd40403b6c34bfdbb9223152677a47226" @@ -9,6 +12,13 @@ sources: url: "https://github.com/edenhill/librdkafka/archive/v1.9.2.tar.gz" sha256: "3fba157a9f80a0889c982acdd44608be8a46142270a389008b22d921be1198ad" patches: + "2.3.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-3-0.patch + patch_description: "refer conan package names" + patch_type: "conan" "2.2.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 a3942c7cffef1..2e958843569aa 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self._depends_on_cyrus_sasl: self.requires("cyrus-sasl/2.1.27") if self.options.curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def build_requirements(self): if self._depends_on_cyrus_sasl: diff --git a/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-3-0.patch b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-3-0.patch new file mode 100644 index 0000000000000..169e5bb94d3b2 --- /dev/null +++ b/recipes/librdkafka/all/patches/0002-Change-library-targets-and-result-variables-2-3-0.patch @@ -0,0 +1,24 @@ +iff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cbcff50..38ad38e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -215,9 +215,7 @@ 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>) + endif() + + if(WITH_SSL) +@@ -257,7 +255,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/config.yml b/recipes/librdkafka/config.yml index 6b21185a713a7..edafdb9b6c2ac 100644 --- a/recipes/librdkafka/config.yml +++ b/recipes/librdkafka/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.0": folder: all "2.0.2": From a120e75513be243dbc9c85bd694233986e3732ed Mon Sep 17 00:00:00 2001 From: technoyes <76265781+technoyes@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:16:54 +0100 Subject: [PATCH 2310/4087] (#20800) iconfontcppheaders: create package * iconfontcppheaders: create package * Clean up package according to czoido's great feedback --------- Co-authored-by: Carlos Zoido --- recipes/iconfontcppheaders/all/conandata.yml | 4 ++ recipes/iconfontcppheaders/all/conanfile.py | 38 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++++ .../all/test_package/conanfile.py | 26 +++++++++++++ .../all/test_package/test_package.cpp | 8 ++++ recipes/iconfontcppheaders/config.yml | 3 ++ 6 files changed, 86 insertions(+) create mode 100644 recipes/iconfontcppheaders/all/conandata.yml create mode 100644 recipes/iconfontcppheaders/all/conanfile.py create mode 100644 recipes/iconfontcppheaders/all/test_package/CMakeLists.txt create mode 100644 recipes/iconfontcppheaders/all/test_package/conanfile.py create mode 100644 recipes/iconfontcppheaders/all/test_package/test_package.cpp create mode 100644 recipes/iconfontcppheaders/config.yml diff --git a/recipes/iconfontcppheaders/all/conandata.yml b/recipes/iconfontcppheaders/all/conandata.yml new file mode 100644 index 0000000000000..ff2972012bdc3 --- /dev/null +++ b/recipes/iconfontcppheaders/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20231026": + sha256: b65a0256820ce24541247eeb22843968164acc40786c017392e53c5aa5a58996 + url: https://github.com/juliettef/IconFontCppHeaders/archive/b1700cdf6ca2f78f8d27321dfecdafd7c2d8ef08/main.zip diff --git a/recipes/iconfontcppheaders/all/conanfile.py b/recipes/iconfontcppheaders/all/conanfile.py new file mode 100644 index 0000000000000..ba1e590ee75f0 --- /dev/null +++ b/recipes/iconfontcppheaders/all/conanfile.py @@ -0,0 +1,38 @@ +import os + +from conan import ConanFile +from conan.tools.layout import basic_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.52.0" + + +class FireHppConan(ConanFile): + name = "iconfontcppheaders" + description = "Headers for icon fonts Font Awesome, Fork Awesome, Google Material Design, Kenney game icons, Fontaudio, Codicons, Pictogrammers Material Design icons." + license = "Zlib" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/juliettef/IconFontCppHeaders" + topics = ("icons", "fonts", "icon-fonts", "header-only") + no_copy_source = True + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "licence.txt", 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 = [] diff --git a/recipes/iconfontcppheaders/all/test_package/CMakeLists.txt b/recipes/iconfontcppheaders/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..edfa602f53039 --- /dev/null +++ b/recipes/iconfontcppheaders/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1.2) +project(test_package CXX) + +find_package(iconfontcppheaders REQUIRED CONFIG) + +add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE iconfontcppheaders::iconfontcppheaders) diff --git a/recipes/iconfontcppheaders/all/test_package/conanfile.py b/recipes/iconfontcppheaders/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a2ac5bf6805ee --- /dev/null +++ b/recipes/iconfontcppheaders/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" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/iconfontcppheaders/all/test_package/test_package.cpp b/recipes/iconfontcppheaders/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..99ac9eb113bd7 --- /dev/null +++ b/recipes/iconfontcppheaders/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main() { + std::cout << FONT_ICON_FILE_NAME_FAR << std::endl + << FONT_ICON_FILE_NAME_FAS << std::endl; + return 0; +} diff --git a/recipes/iconfontcppheaders/config.yml b/recipes/iconfontcppheaders/config.yml new file mode 100644 index 0000000000000..8269ec2c3a4ef --- /dev/null +++ b/recipes/iconfontcppheaders/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20231026": + folder: all From 5953b1a25210651bfcf27c99822609ef63d4ae1d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 30 Oct 2023 21:45:12 +0200 Subject: [PATCH 2311/4087] (#18892) nspr: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nspr: migrate to Conan v2 * nspr: disable cross-building * use unix_path_package_info_legacy and raise min conan ver --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: czoido --- recipes/nspr/all/conanfile.py | 184 +++++++++--------- recipes/nspr/all/test_package/CMakeLists.txt | 5 +- recipes/nspr/all/test_package/conanfile.py | 26 ++- .../nspr/all/test_v1_package/CMakeLists.txt | 8 + recipes/nspr/all/test_v1_package/conanfile.py | 27 +++ 5 files changed, 146 insertions(+), 104 deletions(-) create mode 100644 recipes/nspr/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/nspr/all/test_v1_package/conanfile.py diff --git a/recipes/nspr/all/conanfile.py b/recipes/nspr/all/conanfile.py index b0ce8c9099e1b..fe56b4bbdf4f7 100644 --- a/recipes/nspr/all/conanfile.py +++ b/recipes/nspr/all/conanfile.py @@ -1,24 +1,30 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conan.tools.files import rename, get, rmdir, chdir, replace_in_file -from conan.tools.scm import Version +import os +import shutil + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conans import tools, AutoToolsBuildEnvironment -import contextlib -import functools -import os +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import Environment +from conan.tools.files import chdir, copy, get, rename, replace_in_file, rmdir, mkdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, unix_path_package_info_legacy +from conan.tools.scm import Version -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.57.0" class NsprConan(ConanFile): name = "nspr" - homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" - description = "Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level and libc-like functions." - topics = ("nspr", "libc") - url = "https://github.com/conan-io/conan-center-index" + description = ("Netscape Portable Runtime (NSPR) provides a platform-neutral API" + " for system level and libc-like functions.") license = "MPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" + topics = ("libc",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,14 +39,6 @@ class NsprConan(ConanFile): "win32_target": "winnt", } - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @@ -49,128 +47,129 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC else: - del self.options.win32_target + self.options.rm_safe("win32_target") def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") def validate(self): # https://bugzilla.mozilla.org/show_bug.cgi?id=1658671 if Version(self.version) < "4.29": - if self.settings.os == "Macos" and self.settings.arch == "armv8": + if is_apple_os(self) and self.settings.arch == "armv8": raise ConanInvalidConfiguration("NSPR does not support mac M1 before 4.29") + if cross_building(self): + raise ConanInvalidConfiguration("Cross-building is not supported") def build_requirements(self): if self._settings_build.os == "Windows": - self.build_requires("mozilla-build/3.3") - if not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + self.tool_requires("mozilla-build/3.3") + 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], - destination="tmp", strip_root=True) - rename(self, os.path.join("tmp", "nspr"), self._source_subfolder) - rmdir(self, "tmp") - - @contextlib.contextmanager - def _build_context(self): - if self._is_msvc: - with tools.vcvars(self): - with tools.environment_append({"CC": "cl", "CXX": "cl", "LD": "link"}): - yield - else: - yield + with chdir(self, self.export_sources_folder): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + rmdir(self, self.source_folder) + rename(self, "nspr", self.source_folder) - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + def generate(self): + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - conf_args = [ + tc.configure_args += [ "--with-mozilla={}".format(yes_no(self.options.with_mozilla)), "--enable-64bit={}".format(yes_no(self.settings.arch in ("armv8", "x86_64", "mips64", "ppc64", "ppc64le"))), "--enable-strip={}".format(yes_no(self.settings.build_type not in ("Debug", "RelWithDebInfo"))), "--enable-debug={}".format(yes_no(self.settings.build_type == "Debug")), - "--datarootdir={}".format(tools.unix_path(os.path.join(self.package_folder, "res"))), + "--datarootdir=${prefix}/res", "--disable-cplus", ] - if self._is_msvc: - conf_args.extend([ + if is_msvc(self): + tc.configure_args += [ "{}-pc-mingw32".format("x86_64" if self.settings.arch == "x86_64" else "x86"), - "--enable-static-rtl={}".format(yes_no("MT" in msvc_runtime_flag(self))), + "--enable-static-rtl={}".format(yes_no(is_msvc_static_runtime(self))), "--enable-debug-rtl={}".format(yes_no("d" in msvc_runtime_flag(self))), - ]) + ] elif self.settings.os == "Android": - conf_args.extend([ - "--with-android-ndk={}".format(tools.get_env(["NDK_ROOT"])), + tc.configure_args += [ + "--with-android-ndk={}".format(os.environ.get("NDK_ROOT", "")), "--with-android-version={}".format(self.settings.os.api_level), - "--with-android-platform={}".format(tools.get_env("ANDROID_PLATFORM")), - "--with-android-toolchain={}".format(tools.get_env("ANDROID_TOOLCHAIN")), - ]) + "--with-android-platform={}".format(os.environ.get("ANDROID_PLATFORM")), + "--with-android-toolchain={}".format(os.environ.get("ANDROID_TOOLCHAIN")), + ] elif self.settings.os == "Windows": - conf_args.append("--enable-win32-target={}".format(self.options.win32_target)) - env = autotools.vars - if self.settings.os == "Macos": - if self.settings.arch == "armv8": - # conan adds `-arch`, which conflicts with nspr's apple silicon support - env["CFLAGS"] = env["CFLAGS"].replace("-arch arm64", "") - env["CXXFLAGS"] = env["CXXFLAGS"].replace("-arch arm64", "") - - autotools.configure(args=conf_args, vars=env) - return autotools + tc.configure_args.append("--enable-win32-target={}".format(self.options.win32_target)) + if is_apple_os(self) and self.settings.arch == "armv8": + # conan adds `-arch`, which conflicts with nspr's apple silicon support + tc.cflags.remove("-arch arm64") + tc.cxxflags.remove("-arch arm64") + tc.generate() + + if is_msvc(self): + env = Environment() + env.define("CC", "cl") + env.define("CXX", "cl") + env.define("LD", "link") + env.vars(self).save_script("conanbuild_msvc") def build(self): - with chdir(self, self._source_subfolder): + with chdir(self, self.source_folder): # relocatable shared libs on macOS - replace_in_file(self, - "configure", - "-install_name @executable_path/", - "-install_name @rpath/" - ) - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + replace_in_file(self, "configure", "-install_name @executable_path/", "-install_name @rpath/") + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - with chdir(self, self._source_subfolder): - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() rmdir(self, os.path.join(self.package_folder, "bin")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) + if os.path.exists(os.path.join(self.package_folder, "include", "nspr.h")): + with chdir(self, self.package_folder): + rename(self, "include", "nspr") + mkdir(self, "include") + shutil.move("nspr", "include") if self.settings.os == "Windows": if self.options.shared: os.mkdir(os.path.join(self.package_folder, "bin")) for lib in self._library_names: - libsuffix = "lib" if self._is_msvc else "a" - libprefix = "" if self._is_msvc else "lib" + libsuffix = "lib" if is_msvc(self) else "a" + libprefix = "" if is_msvc(self) else "lib" if self.options.shared: os.unlink(os.path.join(self.package_folder, "lib", f"{libprefix}{lib}_s.{libsuffix}")) - rename(self, os.path.join(self.package_folder, "lib", f"{lib}.dll"), - os.path.join(self.package_folder, "bin", f"{lib}.dll")) + rename(self, + os.path.join(self.package_folder, "lib", f"{lib}.dll"), + os.path.join(self.package_folder, "bin", f"{lib}.dll")) else: os.unlink(os.path.join(self.package_folder, "lib", f"{libprefix}{lib}.{libsuffix}")) os.unlink(os.path.join(self.package_folder, "lib", f"{lib}.dll")) if not self.options.shared: replace_in_file(self, os.path.join(self.package_folder, "include", "nspr", "prtypes.h"), - "#define NSPR_API(__type) PR_IMPORT(__type)", - "#define NSPR_API(__type) extern __type") + "#define NSPR_API(__type) PR_IMPORT(__type)", + "#define NSPR_API(__type) extern __type") replace_in_file(self, os.path.join(self.package_folder, "include", "nspr", "prtypes.h"), - "#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type)", - "#define NSPR_DATA_API(__type) extern __type") + "#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type)", + "#define NSPR_DATA_API(__type) extern __type") else: - shared_ext = "dylib" if self.settings.os == "Macos" else "so" + shared_ext = "dylib" if is_apple_os(self) else "so" for lib in self._library_names: if self.options.shared: os.unlink(os.path.join(self.package_folder, "lib", f"lib{lib}.a")) else: os.unlink(os.path.join(self.package_folder, "lib", f"lib{lib}.{shared_ext}")) - if self._is_msvc: + if is_msvc(self): if self.settings.build_type == "Debug": for lib in self._library_names: os.unlink(os.path.join(self.package_folder, "lib", f"{lib}.pdb")) @@ -200,8 +199,9 @@ def package_info(self): elif self.settings.os == "Windows": self.cpp_info.system_libs.extend(["winmm", "ws2_32"]) - aclocal = tools.unix_path(os.path.join(self.package_folder, "res", "aclocal")) + self.cpp_info.resdirs = ["res"] + + # TODO: the following can be removed when the recipe supports Conan >= 2.0 only + aclocal = unix_path_package_info_legacy(self, os.path.join(self.package_folder, "res", "aclocal")) self.output.info(f"Appending AUTOMAKE_CONAN_INCLUDES environment variable: {aclocal}") self.env_info.AUTOMAKE_CONAN_INCLUDES.append(aclocal) - - self.cpp_info.resdirs = ["res"] diff --git a/recipes/nspr/all/test_package/CMakeLists.txt b/recipes/nspr/all/test_package/CMakeLists.txt index e8bb34d55a637..898448a11de58 100644 --- a/recipes/nspr/all/test_package/CMakeLists.txt +++ b/recipes/nspr/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(nspr REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/nspr/all/test_package/conanfile.py b/recipes/nspr/all/test_package/conanfile.py index ab912e4e61df1..d6a48b7c16ccf 100644 --- a/recipes/nspr/all/test_package/conanfile.py +++ b/recipes/nspr/all/test_package/conanfile.py @@ -1,19 +1,29 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.apple import is_apple_os +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 build_requirements(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": + if is_apple_os(self) and self.settings.arch == "armv8": # Workaround for CMake bug with error message: # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being # set. This could be because you are using a Mac OS X version less than 10.5 # or because CMake's platform configuration is corrupt. # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.0") + self.tool_requires("cmake/3.22.0") + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -21,6 +31,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/nspr/all/test_v1_package/CMakeLists.txt b/recipes/nspr/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/nspr/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/nspr/all/test_v1_package/conanfile.py b/recipes/nspr/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9f6cd40d88fed --- /dev/null +++ b/recipes/nspr/all/test_v1_package/conanfile.py @@ -0,0 +1,27 @@ +from conan.tools.apple import is_apple_os +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_requirements(self): + if is_apple_os(self) and self.settings.arch == "armv8": + # Workaround for CMake bug with error message: + # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being + # set. This could be because you are using a Mac OS X version less than 10.5 + # or because CMake's platform configuration is corrupt. + # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. + self.build_requires("cmake/3.22.0") + + def build(self): + cmake = CMake(self) + cmake.configure() + 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 02b627ba5d7113b906c51e707a21ecbc531ccf76 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 30 Oct 2023 22:01:39 +0100 Subject: [PATCH 2312/4087] (#20845) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index ac0e9f9b7afa5..d1830a7101b4e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -6,6 +6,7 @@ required_for_references: - aaplus - abseil - absent +- acado - access_private - acl - ada @@ -259,6 +260,7 @@ required_for_references: - deco - di - dice-template-library +- directx-headers - dirent - discount - djinni-generator @@ -305,6 +307,7 @@ required_for_references: - enhex-generic_serialization - enhex-strong_type - enkits +- ensmallen - entityx - entt - enum-flags @@ -312,6 +315,7 @@ required_for_references: - erkir - etc2comp - eternal +- ethash - etl - evmc - exiv2 @@ -873,6 +877,7 @@ required_for_references: - ode - ogdf - ogg +- ohnet - ois - onedpl - onetbb @@ -912,6 +917,7 @@ required_for_references: - opentelemetry-cpp - opentelemetry-proto - opentracing-cpp +- openvino - openxlsx - optional-lite - opus @@ -920,6 +926,7 @@ required_for_references: - osqp - out_ptr - outcome +- ozz-animation - p-ranav-glob - paho-mqtt-c - paho-mqtt-cpp @@ -1007,6 +1014,7 @@ required_for_references: - qpoases - qr-code-generator - qt +- qtawesome - quantlib - quaternions - quazip @@ -1091,11 +1099,13 @@ required_for_references: - seqan3 - serd - serdepp +- serf - serial - sfml - shapelib - shield - si +- signals-light - sigslot - simde - simdjson @@ -1140,6 +1150,7 @@ required_for_references: - status-value-lite - stb - stc +- stdgpu - stduuid - stlab - strawberryperl @@ -1297,6 +1308,7 @@ required_for_references: - wglext - whereami - whisper-cpp +- wide-integer - wil - wildmidi - winflexbison @@ -1363,4 +1375,5 @@ required_for_references: - zug - zulu-openjdk - zxing-cpp +- zyre - zziplib From 1517581337a950bc97e992b507bba5510ff0e67e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 31 Oct 2023 09:39:45 +0100 Subject: [PATCH 2313/4087] Bump osgearth's zlib requirement to [>=1.2.11 <2] range (#20654) --- recipes/osgearth/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/osgearth/all/conanfile.py b/recipes/osgearth/all/conanfile.py index 611835c64bf48..e916db567410d 100644 --- a/recipes/osgearth/all/conanfile.py +++ b/recipes/osgearth/all/conanfile.py @@ -109,7 +109,7 @@ def requirements(self): self.requires("lerc/2.2") self.requires("rapidjson/1.1.0") - self.requires("zlib/1.2.13") # override + self.requires("zlib/[>=1.2.11 <2]") # override self.requires("libtiff/4.5.1") # override self.requires("libpng/1.6.40") # override From cb7d2822ce5a0aa7c2eced9c998515c59117c93e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 18:36:21 +0900 Subject: [PATCH 2314/4087] (#20756) detools: add version 0.53.0, suppport conan v2 * detools: add version 0.53.0, suppport conan v2 * remove lz4, make xz_utils transitive_headers * update cmake version, include GNUInstallDirs --- recipes/detools/all/CMakeLists.txt | 27 +++++--- recipes/detools/all/conandata.yml | 7 ++- recipes/detools/all/conanfile.py | 60 +++++++++--------- .../detools/all/test_package/CMakeLists.txt | 9 +-- recipes/detools/all/test_package/conanfile.py | 34 +++++------ .../detools/all/test_package/test_package.c | 61 +++++++++++++++---- recipes/detools/config.yml | 2 + 7 files changed, 124 insertions(+), 76 deletions(-) diff --git a/recipes/detools/all/CMakeLists.txt b/recipes/detools/all/CMakeLists.txt index d0a389940b0bf..1b6ae8a07224a 100644 --- a/recipes/detools/all/CMakeLists.txt +++ b/recipes/detools/all/CMakeLists.txt @@ -1,9 +1,22 @@ -cmake_minimum_required(VERSION 3.1) -project(detools C) +cmake_minimum_required(VERSION 3.15) +project(detools LANGUAGES C) -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) +find_package(heatshrink REQUIRED CONFIG) +find_package(LibLZMA REQUIRED CONFIG) -add_library(detools source_subfolder/c/detools.c) -install(TARGETS detools DESTINATION lib) -install(FILES source_subfolder/c/detools.h DESTINATION include) +add_library(detools ${DETOOLS_SRC_DIR}/c/detools.c) +target_link_libraries(detools PRIVATE + heatshrink::heatshrink + LibLZMA::LibLZMA +) + +include(GNUInstallDirs) + +install( + TARGETS detools + DESTINATION ${CMAKE_INSTALL_LIBDIR} +) +install( + FILES ${DETOOLS_SRC_DIR}/c/detools.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) diff --git a/recipes/detools/all/conandata.yml b/recipes/detools/all/conandata.yml index 0c05a6fd77b19..5ae9db2bb11c9 100644 --- a/recipes/detools/all/conandata.yml +++ b/recipes/detools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.53.0": + url: "https://github.com/eerimoq/detools/archive/refs/tags/0.53.0.tar.gz" + sha256: "9ea3b547627f5d37756023d91c701ef18fb2748b801b985e55c74c7fe8247ac2" "0.51.0": - url: "https://github.com/eerimoq/detools/archive/refs/tags/0.51.0.zip" - sha256: 604175d493a9df5d19e78a55cd183e9c44789ee552f24d1a2b7466d58628c1ac + url: "https://github.com/eerimoq/detools/archive/refs/tags/0.51.0.tar.gz" + sha256: "18e5f08fbc3c09ec9d805fd859838940f57a3f064724bad4897461f9a3c8f87c" diff --git a/recipes/detools/all/conanfile.py b/recipes/detools/all/conanfile.py index 2b8703a181ae6..d6cf90deef7f6 100644 --- a/recipes/detools/all/conanfile.py +++ b/recipes/detools/all/conanfile.py @@ -1,17 +1,20 @@ -import functools - -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os +required_conan_version = ">=1.53.0" class DetoolsConan(ConanFile): name = "detools" description = "Binary delta encoding" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/eerimoq/detools" - license = "MIT" topics = ("delta-compression", "delta-update", "delta-encoding", "ota", "bsdiff", "hdiffpatch") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,43 +25,42 @@ class DetoolsConan(ConanFile): "fPIC": True, } exports_sources = "CMakeLists.txt" - generators = "cmake" - requires = ['heatshrink/0.4.1', 'lz4/1.9.3', 'xz_utils/5.2.5'] - @property - def _source_subfolder(self): - return "source_subfolder" + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") - @property - def _build_subfolder(self): - return "build_subfolder" + def requirements(self): + self.requires('heatshrink/0.4.1', transitive_headers=True) + self.requires('xz_utils/5.4.4', transitive_headers=True) def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: - raise ConanInvalidConfiguration("This library is only compatible with Linux and FreeBSD") - - def configure(self): - if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["DETOOLS_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) 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() def package_info(self): diff --git a/recipes/detools/all/test_package/CMakeLists.txt b/recipes/detools/all/test_package/CMakeLists.txt index 4e6b7c3b6cba8..0b2e88f45d6b3 100644 --- a/recipes/detools/all/test_package/CMakeLists.txt +++ b/recipes/detools/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(PackageTest LANGUAGES C) find_package(detools REQUIRED CONFIG) add_executable(test_package test_package.c) -target_link_libraries(test_package detools::detools) +target_link_libraries(test_package PRIVATE detools::detools) diff --git a/recipes/detools/all/test_package/conanfile.py b/recipes/detools/all/test_package/conanfile.py index add2424f12959..ef5d7042163ec 100644 --- a/recipes/detools/all/test_package/conanfile.py +++ b/recipes/detools/all/test_package/conanfile.py @@ -1,18 +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 DetoolsTestConan(ConanFile): +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) @@ -20,13 +21,6 @@ def build(self): cmake.build() def test(self): - if tools.cross_building(self): - return - - bin_path = os.path.join("bin", "test_package") - old_path = os.path.join(self.source_folder, "old") - patch_path = os.path.join(self.source_folder, "patch") - patched_path = os.path.join(self.build_folder, "patched") - - self.run(f"{bin_path} {old_path} {patch_path} {patched_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/detools/all/test_package/test_package.c b/recipes/detools/all/test_package/test_package.c index e96fd3f5f3d9a..7567264b2867b 100644 --- a/recipes/detools/all/test_package/test_package.c +++ b/recipes/detools/all/test_package/test_package.c @@ -1,23 +1,60 @@ #include #include "detools.h" -#define EXPECTED_PATCHED_FILE_SIZE 2780 +/* Helper functions. */ +static int flash_read(void *arg_p, void *dst_p, uintptr_t src, size_t size) +{ + return (0); +} -int main(int argc, const char *argv[]) +static int flash_write(void *arg_p, uintptr_t dst, void *src_p, size_t size) { - int res; + return (0); +} - if (argc != 4) { - printf("Wrong number of arguments.\n"); +static int flash_erase(void *arg_p, uintptr_t addr, size_t size) +{ + return (0); +} - return EXIT_FAILURE; - } +static int step_set(void *arg_p, int step) +{ + return (0); +} + +static int step_get(void *arg_p, int *step_p) +{ + return (0); +} + +static int serial_read(uint8_t *buf_p, size_t size) +{ + return (0); +} + +static int verify_written_data(int to_size, uint32_t to_crc) +{ + return (0); +} + +int main() +{ + struct detools_apply_patch_in_place_t apply_patch; + uint8_t buf[256]; + int res; + size_t patch_size = 512; - res = detools_apply_patch_filenames(argv[1], argv[2], argv[3]); + /* Initialize the in-place apply patch object. */ + res = detools_apply_patch_in_place_init(&apply_patch, + flash_read, + flash_write, + flash_erase, + step_set, + step_get, + patch_size, + NULL); - if (res == EXPECTED_PATCHED_FILE_SIZE) { - return EXIT_SUCCESS; - } else { - return EXIT_FAILURE; + if (res != 0) { + return (res); } } diff --git a/recipes/detools/config.yml b/recipes/detools/config.yml index 0cb36a4c86d32..d1a25da138f0d 100644 --- a/recipes/detools/config.yml +++ b/recipes/detools/config.yml @@ -1,3 +1,5 @@ versions: + "0.53.0": + folder: "all" "0.51.0": folder: "all" From 2df1779f9b9edbff7eddf3857d4312e24ed8ca2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 31 Oct 2023 11:18:11 +0100 Subject: [PATCH 2315/4087] Bump openvdb's zlib requirement to [>=1.2.11 <2] range (#20663) --- recipes/openvdb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openvdb/all/conanfile.py b/recipes/openvdb/all/conanfile.py index f36eb55cee0f2..10e73dc4150e4 100644 --- a/recipes/openvdb/all/conanfile.py +++ b/recipes/openvdb/all/conanfile.py @@ -79,7 +79,7 @@ def requirements(self): self.requires("onetbb/2020.3") self.requires("openexr/2.5.7") # required for IlmBase::Half if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_exr: # Not necessary now. Required for IlmBase::IlmImf self.requires("openexr/2.5.7") From 547517a28659f59b8d07764d96ed2b28e5a0c598 Mon Sep 17 00:00:00 2001 From: technoyes <76265781+technoyes@users.noreply.github.com> Date: Tue, 31 Oct 2023 11:47:25 +0100 Subject: [PATCH 2316/4087] (#20681) implot: Include source code to support customized imgui builds Co-authored-by: Uilian Ries Co-authored-by: Carlos Zoido --- recipes/implot/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/implot/all/conanfile.py b/recipes/implot/all/conanfile.py index f2fa4d63a0586..6bc9eddf1f5d2 100644 --- a/recipes/implot/all/conanfile.py +++ b/recipes/implot/all/conanfile.py @@ -72,6 +72,7 @@ def build(self): def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="implot*.cpp", dst=os.path.join(self.package_folder, "res", "src"), src=self.source_folder) cmake = CMake(self) cmake.install() From d0a366883db9b8bb12713e54946e07f307c77df0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 31 Oct 2023 13:16:16 +0200 Subject: [PATCH 2317/4087] (#20027) xtensor: add version 0.24.7, remove old versions * xtensor: add version 0.24.7 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/) * xtensor: remove old versions * xtensor: remove unused patches --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/xtensor/all/conandata.yml | 44 ++----------------- .../all/patches/0.21.4-cxx11-abi.patch | 22 ---------- .../all/patches/0.24.0-cxx11-abi.patch | 21 --------- recipes/xtensor/config.yml | 16 +------ 4 files changed, 5 insertions(+), 98 deletions(-) delete mode 100644 recipes/xtensor/all/patches/0.21.4-cxx11-abi.patch delete mode 100644 recipes/xtensor/all/patches/0.24.0-cxx11-abi.patch diff --git a/recipes/xtensor/all/conandata.yml b/recipes/xtensor/all/conandata.yml index ab5f555ceae44..c0af344ba276e 100644 --- a/recipes/xtensor/all/conandata.yml +++ b/recipes/xtensor/all/conandata.yml @@ -1,62 +1,24 @@ sources: + "0.24.7": + url: "https://github.com/xtensor-stack/xtensor/archive/0.24.7.tar.gz" + sha256: "0fbbd524dde2199b731b6af99b16063780de6cf1d0d6cb1f3f4d4ceb318f3106" "0.24.6": url: "https://github.com/xtensor-stack/xtensor/archive/0.24.6.tar.gz" sha256: "f87259b51aabafdd1183947747edfff4cff75d55375334f2e81cee6dc68ef655" - "0.24.3": - url: "https://github.com/xtensor-stack/xtensor/archive/0.24.3.tar.gz" - sha256: "3acde856b9fb8cf4e2a7b66726da541275d40ab9b002e618ad985ab97f08ca4f" - "0.24.2": - url: "https://github.com/xtensor-stack/xtensor/archive/0.24.2.tar.gz" - sha256: "790d9e449add817154177157a850b9afd0260dc0f9df857d8b3a38886a10ef8b" - "0.24.0": - url: "https://github.com/xtensor-stack/xtensor/archive/0.24.0.tar.gz" - sha256: "37738aa0865350b39f048e638735c05d78b5331073b6329693e8b8f0902df713" "0.23.10": url: "https://github.com/xtensor-stack/xtensor/archive/0.23.10.tar.gz" sha256: "2e770a6d636962eedc868fef4930b919e26efe783cd5d8732c11e14cf72d871c" - "0.23.9": - url: "https://github.com/xtensor-stack/xtensor/archive/0.23.9.tar.gz" - sha256: "5bdb9d85ee82c60be0bce32d891b5cc20eb633284a0aabb907f55bbe722cc8e3" "0.21.5": url: "https://github.com/xtensor-stack/xtensor/archive/0.21.5.tar.gz" sha256: "30cb896b6686683ddaefb12c98bf1109fdfe666136dd027aba1a1e9aa825c241" - "0.21.4": - url: "https://github.com/xtensor-stack/xtensor/archive/0.21.4.tar.gz" - sha256: "143ef2536f1671e1c7c7834de4a040f1694112e23222fcd2ae59b0f5e5124b57" - "0.21.3": - url: "https://github.com/xtensor-stack/xtensor/archive/0.21.3.tar.gz" - sha256: "f63c25cafea4bfc268edb26e6f5004a28a2f689e6a852bb3559c553106c8d6bf" - "0.21.2": - url: "https://github.com/xtensor-stack/xtensor/archive/0.21.2.tar.gz" - sha256: "a32490bc8499f59f8e30c288e178ff41c9511cf4959dc59c9628b29b77049a4a" patches: - "0.24.2": - - patch_file: "patches/0.24.0-cxx11-abi.patch" - patch_description: "has_trivial_default_constructor has been removed from libstdc++ since version 7" - patch_type: "bugfix" - patch_source: "https://github.com/xtensor-stack/xtensor/pull/2459" - "0.24.0": - - patch_file: "patches/0.24.0-cxx11-abi.patch" - patch_description: "has_trivial_default_constructor has been removed from libstdc++ since version 7" - patch_type: "bugfix" - patch_source: "https://github.com/xtensor-stack/xtensor/pull/2459" "0.23.10": - patch_file: "patches/0.23.9-cxx11-abi.patch" patch_description: "has_trivial_default_constructor has been removed from libstdc++ since version 7" patch_type: "bugfix" patch_source: "https://github.com/xtensor-stack/xtensor/pull/2459" - "0.23.9": - - patch_file: "patches/0.23.9-cxx11-abi.patch" - patch_description: "has_trivial_default_constructor has been removed from libstdc++ since version 7" - patch_type: "bugfix" - patch_source: "https://github.com/xtensor-stack/xtensor/pull/2459" "0.21.5": - patch_file: "patches/0.21.5-cxx11-abi.patch" patch_description: "has_trivial_default_constructor has been removed from libstdc++ since version 7" patch_type: "bugfix" patch_source: "https://github.com/xtensor-stack/xtensor/pull/2459" - "0.21.4": - - patch_file: "patches/0.21.4-cxx11-abi.patch" - patch_description: "has_trivial_default_constructor has been removed from libstdc++ since version 7" - patch_type: "bugfix" - patch_source: "https://github.com/xtensor-stack/xtensor/pull/2459" diff --git a/recipes/xtensor/all/patches/0.21.4-cxx11-abi.patch b/recipes/xtensor/all/patches/0.21.4-cxx11-abi.patch deleted file mode 100644 index 785004e7c86cd..0000000000000 --- a/recipes/xtensor/all/patches/0.21.4-cxx11-abi.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/include/xtensor/xutils.hpp b/include/xtensor/xutils.hpp -index ce3ce72..936d387 100644 ---- a/include/xtensor/xutils.hpp -+++ b/include/xtensor/xutils.hpp -@@ -611,12 +611,16 @@ namespace xt - /******************************************** - * xtrivial_default_construct implemenation * - ********************************************/ -- -+#if defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7 -+// has_trivial_default_constructor has not been available since libstdc++-7. -+#define XTENSOR_GLIBCXX_USE_CXX11_ABI 1 -+#else - #if defined(_GLIBCXX_USE_CXX11_ABI) - #if _GLIBCXX_USE_CXX11_ABI || (defined(_GLIBCXX_USE_DUAL_ABI) && !_GLIBCXX_USE_DUAL_ABI) - #define XTENSOR_GLIBCXX_USE_CXX11_ABI 1 - #endif - #endif -+#endif - - #if !defined(__GNUG__) || defined(_LIBCPP_VERSION) || defined(XTENSOR_GLIBCXX_USE_CXX11_ABI) - diff --git a/recipes/xtensor/all/patches/0.24.0-cxx11-abi.patch b/recipes/xtensor/all/patches/0.24.0-cxx11-abi.patch deleted file mode 100644 index b7c9e2acdedf0..0000000000000 --- a/recipes/xtensor/all/patches/0.24.0-cxx11-abi.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/include/xtensor/xutils.hpp b/include/xtensor/xutils.hpp -index ed8f2ea..ba7ccea 100644 ---- a/include/xtensor/xutils.hpp -+++ b/include/xtensor/xutils.hpp -@@ -637,11 +637,16 @@ namespace xt - * xtrivial_default_construct implemenation * - ********************************************/ - -+#if defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7 -+// has_trivial_default_constructor has not been available since libstdc++-7. -+#define XTENSOR_GLIBCXX_USE_CXX11_ABI 1 -+#else - #if defined(_GLIBCXX_USE_CXX11_ABI) - #if _GLIBCXX_USE_CXX11_ABI || (defined(_GLIBCXX_USE_DUAL_ABI) && !_GLIBCXX_USE_DUAL_ABI) - #define XTENSOR_GLIBCXX_USE_CXX11_ABI 1 - #endif - #endif -+#endif - - #if !defined(__GNUG__) || defined(_LIBCPP_VERSION) || defined(XTENSOR_GLIBCXX_USE_CXX11_ABI) - diff --git a/recipes/xtensor/config.yml b/recipes/xtensor/config.yml index 414a96bb9536c..f1891e507a429 100644 --- a/recipes/xtensor/config.yml +++ b/recipes/xtensor/config.yml @@ -1,21 +1,9 @@ versions: - "0.24.6": - folder: all - "0.24.3": + "0.24.7": folder: all - "0.24.2": - folder: all - "0.24.0": + "0.24.6": folder: all "0.23.10": folder: all - "0.23.9": - folder: all "0.21.5": folder: all - "0.21.4": - folder: all - "0.21.3": - folder: all - "0.21.2": - folder: all From c6fc26f0915d0588d980dd03cb0c9767dc6c6a6c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 31 Oct 2023 14:55:57 +0200 Subject: [PATCH 2318/4087] (#18791) tcsbank-uri-template: migrate to Conan v2 * tcsbank-uri-template: migrate to Conan v2 * tcsbank-uri-template: drop v1.1.3 --- .../tcsbank-uri-template/all/CMakeLists.txt | 7 -- .../tcsbank-uri-template/all/conandata.yml | 3 - recipes/tcsbank-uri-template/all/conanfile.py | 98 +++++++++---------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 21 ++-- .../all/test_package/test_package.cpp | 3 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ recipes/tcsbank-uri-template/config.yml | 2 - 9 files changed, 92 insertions(+), 72 deletions(-) delete mode 100644 recipes/tcsbank-uri-template/all/CMakeLists.txt create mode 100644 recipes/tcsbank-uri-template/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tcsbank-uri-template/all/test_v1_package/conanfile.py diff --git a/recipes/tcsbank-uri-template/all/CMakeLists.txt b/recipes/tcsbank-uri-template/all/CMakeLists.txt deleted file mode 100644 index 8bdaa1e47bfa0..0000000000000 --- a/recipes/tcsbank-uri-template/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/tcsbank-uri-template/all/conandata.yml b/recipes/tcsbank-uri-template/all/conandata.yml index f958e285c4af2..b24ca0f0a2b0f 100644 --- a/recipes/tcsbank-uri-template/all/conandata.yml +++ b/recipes/tcsbank-uri-template/all/conandata.yml @@ -1,7 +1,4 @@ sources: - "1.1.3": - url: "https://github.com/TinkoffCreditSystems/uri-template/archive/refs/tags/v1.1.3.tar.gz" - sha256: "4eaf984eb7857a56b09e9ad911a77042573d1540a19b9e945369ec6384f54131" "1.1.4": url: "https://github.com/TinkoffCreditSystems/uri-template/archive/refs/tags/v1.1.4.tar.gz" sha256: "5f6e562813f1cf9ce40137db88ea4db54dc4bd77a6e5f813b106d494bbfb72b3" diff --git a/recipes/tcsbank-uri-template/all/conanfile.py b/recipes/tcsbank-uri-template/all/conanfile.py index 03a96370cbb02..aed3fb5a97334 100644 --- a/recipes/tcsbank-uri-template/all/conanfile.py +++ b/recipes/tcsbank-uri-template/all/conanfile.py @@ -1,20 +1,24 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration - import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class TCSBankUriTemplateConan(ConanFile): name = "tcsbank-uri-template" description = "URI Templates expansion and reverse-matching for C++" - topics = ("conan", "uri-template", "url-template", "rfc-6570") + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/TinkoffCreditSystems/uri-template" - license = "Apache-2.0" + topics = ("uri-template", "url-template", "rfc-6570") - generators = "cmake", "cmake_find_package_multi" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,28 +28,9 @@ class TCSBankUriTemplateConan(ConanFile): "shared": False, "fPIC": True, } - 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 self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["URITEMPLATE_BUILD_TESTING"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -53,55 +38,70 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): compiler_name = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) # Exclude compiler.cppstd < 17 min_req_cppstd = "17" if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, min_req_cppstd) - else: - self.output.warn("%s recipe lacks information about the %s compiler" - " standard version support." % (self.name, compiler_name)) + check_min_cppstd(self, min_req_cppstd) - # Exclude not supported compilers + # Exclude unsupported compilers compilers_required = { "Visual Studio": "16", + "msvc": "192", "gcc": "7.3", "clang": "6.0", "apple-clang": "10.0", } - if compiler_name not in compilers_required or compiler_version < compilers_required[compiler_name]: + if compiler_name in compilers_required and compiler_version < compilers_required[compiler_name]: raise ConanInvalidConfiguration( - "%s requires a compiler that supports at least C++%s. %s %s is not supported." % - (self.name, min_req_cppstd, compiler_name, compiler_version)) + f"{self.name} requires a compiler that supports at least C++{min_req_cppstd}. " + f"{compiler_name} {compiler_version} is not supported." + ) # Check stdlib ABI compatibility if compiler_name == "gcc" and self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration('Using %s with GCC requires "compiler.libcxx=libstdc++11"' % self.name) + raise ConanInvalidConfiguration( + f'Using {self.name} with GCC requires "compiler.libcxx=libstdc++11"' + ) elif compiler_name == "clang" and self.settings.compiler.libcxx not in ["libstdc++11", "libc++"]: - raise ConanInvalidConfiguration('Using %s with Clang requires either "compiler.libcxx=libstdc++11"' - ' or "compiler.libcxx=libc++"' % self.name) + raise ConanInvalidConfiguration( + f'Using {self.name} with Clang requires either "compiler.libcxx=libstdc++11" or "compiler.libcxx=libc++"' + ) 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["URITEMPLATE_BUILD_TESTING"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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")) + 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.names["pkg_config"] = "uri-template" + self.cpp_info.set_property("cmake_file_name", "uri-template") + self.cpp_info.set_property("cmake_target_name", "uri-template::uri-template") + self.cpp_info.set_property("pkg_config_name", "uri-template") + self.cpp_info.libs = collect_libs(self) + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "uri-template" self.cpp_info.names["cmake_find_package_multi"] = "uri-template" - self.cpp_info.libs = tools.collect_libs(self) diff --git a/recipes/tcsbank-uri-template/all/test_package/CMakeLists.txt b/recipes/tcsbank-uri-template/all/test_package/CMakeLists.txt index cb4d85b99bbcf..bf76cb9ad5867 100644 --- a/recipes/tcsbank-uri-template/all/test_package/CMakeLists.txt +++ b/recipes/tcsbank-uri-template/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(uri-template REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/tcsbank-uri-template/all/test_package/conanfile.py b/recipes/tcsbank-uri-template/all/test_package/conanfile.py index 49a3a66ea5bad..ef5d7042163ec 100644 --- a/recipes/tcsbank-uri-template/all/test_package/conanfile.py +++ b/recipes/tcsbank-uri-template/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/tcsbank-uri-template/all/test_package/test_package.cpp b/recipes/tcsbank-uri-template/all/test_package/test_package.cpp index b8f028352cf82..91928632cfcba 100644 --- a/recipes/tcsbank-uri-template/all/test_package/test_package.cpp +++ b/recipes/tcsbank-uri-template/all/test_package/test_package.cpp @@ -1,6 +1,7 @@ -#include #include +#include + int main() { const std::string uri = "http://example.com/search?q=cat&lang=en"; // Parse the template diff --git a/recipes/tcsbank-uri-template/all/test_v1_package/CMakeLists.txt b/recipes/tcsbank-uri-template/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tcsbank-uri-template/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/tcsbank-uri-template/all/test_v1_package/conanfile.py b/recipes/tcsbank-uri-template/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/tcsbank-uri-template/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) diff --git a/recipes/tcsbank-uri-template/config.yml b/recipes/tcsbank-uri-template/config.yml index c744acd213406..db1dc037a6a68 100644 --- a/recipes/tcsbank-uri-template/config.yml +++ b/recipes/tcsbank-uri-template/config.yml @@ -1,6 +1,4 @@ versions: - "1.1.3": - folder: all "1.1.4": folder: all "1.2.1": From d04945b481855f1267f6a82fbf3d1c59895c2fe2 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 22:16:54 +0900 Subject: [PATCH 2319/4087] (#20160) duckdb: add version 0.9.1 * duckdb: add version 0.9.0 * fix link error --- recipes/duckdb/all/conandata.yml | 10 ++ recipes/duckdb/all/conanfile.py | 7 +- .../all/patches/0.9.0-0001-fix-cmake.patch | 122 ++++++++++++++++++ recipes/duckdb/config.yml | 2 + 4 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 recipes/duckdb/all/patches/0.9.0-0001-fix-cmake.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 841b055baa39a..c19e39efb88f4 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ 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" @@ -18,6 +21,13 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "0.9.0": + - patch_file: "patches/0.9.0-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/0.6.0-0002-include-stdlib.patch" + patch_description: "include stdlib for abort function" + 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" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index 34aad40c19a16..f5223884b8f74 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -68,6 +68,8 @@ 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 def configure(self): if self.options.shared: @@ -97,7 +99,8 @@ def generate(self): tc.variables["DUCKDB_PATCH_VERSION"] = Version(self.version).patch tc.variables["DUCKDB_DEV_ITERATION"] = 0 tc.variables["BUILD_ICU_EXTENSION"] = self.options.with_icu - tc.variables["BUILD_PARQUET_EXTENSION"] = self.options.with_parquet + if "with_parquet" in self.options: + tc.variables["BUILD_PARQUET_EXTENSION"] = self.options.with_parquet tc.variables["BUILD_TPCH_EXTENSION"] = self.options.with_tpch tc.variables["BUILD_TPCDS_EXTENSION"] = self.options.with_tpcds tc.variables["BUILD_FTS_EXTENSION"] = self.options.with_fts @@ -170,7 +173,7 @@ def package_info(self): if self.options.with_icu: self.cpp_info.libs.append("icu_extension") - if self.options.with_parquet: + if self.options.get_safe("with_parquet", True): self.cpp_info.libs.append("parquet_extension") if self.options.with_tpch: self.cpp_info.libs.append("tpch_extension") diff --git a/recipes/duckdb/all/patches/0.9.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.9.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..40ae0d24ebe51 --- /dev/null +++ b/recipes/duckdb/all/patches/0.9.0-0001-fix-cmake.patch @@ -0,0 +1,122 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2b49e11..1a347ac 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -724,7 +724,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 INTERFACE duckdb_static) + endfunction() + + # Internal extension register function +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cda2d86..4fb3bd3 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -77,24 +77,24 @@ 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) +- ++ 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 $ + $) +- + install( + DIRECTORY "${PROJECT_SOURCE_DIR}/src/include/duckdb" + DESTINATION "${INSTALL_INCLUDE_DIR}" +@@ -105,10 +105,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt +index ffd0140..1901aa8 100644 +--- a/tools/odbc/CMakeLists.txt ++++ b/tools/odbc/CMakeLists.txt +@@ -53,7 +53,15 @@ 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 3fa4166..cd5870d 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -25,20 +25,20 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() + +-include_directories(../../third_party/catch) ++# include_directories(../../third_party/catch) + +-include_directories(test/include) +-add_subdirectory(test) ++# include_directories(test/include) ++# add_subdirectory(test) + +-add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) +-if(WIN32 OR ZOS) +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) +-else() +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) +-endif() ++# add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) ++# if(WIN32 OR ZOS) ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) ++# else() ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) ++# endif() diff --git a/recipes/duckdb/config.yml b/recipes/duckdb/config.yml index 0c9fddd5a6804..a69b0b52d6903 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: "all" "0.8.1": folder: "all" "0.8.0": From 3492d195b4c5ec7c02e34c44a8dffdafcae9bb59 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 31 Oct 2023 08:45:57 -0500 Subject: [PATCH 2320/4087] (#20278) hwdata: Add recipe * hwdata: Add recipe Add the [hwdata](https://github.com/vcrhonek/hwdata) package. * Delete settings since only the option has any bearing on the package id * Fix typo * Allow Meson to check for the required the pkg-config variable * Remove unused imports * Fix license * Remove dependency on Meson in the test package * Accommodate there not being a build profile in Conan V1 * Remove temporary debug output * Remove unused import * Simplify test package * Update recipes/hwdata/all/test_package/conanfile.py Co-authored-by: Uilian Ries * Save package data directory in generate method --------- Co-authored-by: Uilian Ries --- recipes/hwdata/all/conandata.yml | 4 + recipes/hwdata/all/conanfile.py | 84 ++++++++++++++++++++ recipes/hwdata/all/test_package/conanfile.py | 18 +++++ recipes/hwdata/config.yml | 3 + 4 files changed, 109 insertions(+) create mode 100644 recipes/hwdata/all/conandata.yml create mode 100644 recipes/hwdata/all/conanfile.py create mode 100644 recipes/hwdata/all/test_package/conanfile.py create mode 100644 recipes/hwdata/config.yml diff --git a/recipes/hwdata/all/conandata.yml b/recipes/hwdata/all/conandata.yml new file mode 100644 index 0000000000000..390b1de15a68b --- /dev/null +++ b/recipes/hwdata/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.374": + url: "https://github.com/vcrhonek/hwdata/archive/v0.374.tar.gz" + sha256: "2a0988bf5e97e49159d7f02a5e02a719c8976d4ec883a8abb635149d221ceca0" diff --git a/recipes/hwdata/all/conanfile.py b/recipes/hwdata/all/conanfile.py new file mode 100644 index 0000000000000..a8f5e3c5ad118 --- /dev/null +++ b/recipes/hwdata/all/conanfile.py @@ -0,0 +1,84 @@ +from conan import ConanFile +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.53.0" + + +class HwDataConan(ConanFile): + name = "hwdata" + description = "hwdata contains various hardware identification and configuration data, such as the pci.ids and usb.ids databases" + license = ("GPL-2.0-or-later", "XFree86-1.1") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/vcrhonek/hwdata" + topics = ("hardware", "id", "pci", "usb") + package_type = "unknown" + settings = "os", "arch", "compiler", "build_type" + options = { + "disable_blacklist": [True, False], + } + default_options = { + "disable_blacklist": False, + } + + @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") + + def layout(self): + basic_layout(self, src_folder="src") + self.folders.build = "src" + + def package_id(self): + del self.info.settings.arch + del self.info.settings.build_type + del self.info.settings.compiler + del self.info.settings.os + + 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") + + 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.configure_args.append("--datarootdir=/res") + if self.options.disable_blacklist: + tc.configure_args.append("--disable-blacklist") + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + 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")) + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_folder, "res", "pkgconfig")) + + def package_info(self): + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = ["res"] + pkg_config_variables = { + "pkgdatadir": os.path.join(self.package_folder, "res", self.name) + } + self.cpp_info.set_property("pkg_config_custom_content", + "\n".join(f"{key}={value}" for key, value in pkg_config_variables.items())) diff --git a/recipes/hwdata/all/test_package/conanfile.py b/recipes/hwdata/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0edcd74c5d4d6 --- /dev/null +++ b/recipes/hwdata/all/test_package/conanfile.py @@ -0,0 +1,18 @@ +from conan import ConanFile +from conan.tools.files import save, load +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + save(self, "hwdata_pkg_dir", self.dependencies[self.tested_reference_str].package_folder) + + def test(self): + pkg_dir = load(self, "hwdata_pkg_dir") + assert os.path.isfile(os.path.join(pkg_dir, "res", "hwdata", "usb.ids")) diff --git a/recipes/hwdata/config.yml b/recipes/hwdata/config.yml new file mode 100644 index 0000000000000..aafa69e222882 --- /dev/null +++ b/recipes/hwdata/config.yml @@ -0,0 +1,3 @@ +versions: + "0.374": + folder: all From 76dbc6335eb45a3880f35b16ee70c7df5a18d424 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 22:56:17 +0900 Subject: [PATCH 2321/4087] (#20279) clipper2: add version 1.2.3 --- recipes/clipper2/all/conandata.yml | 3 +++ recipes/clipper2/all/conanfile.py | 2 +- recipes/clipper2/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml index a80a428924ce3..f81cdc19e4abe 100644 --- a/recipes/clipper2/all/conandata.yml +++ b/recipes/clipper2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.3": + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.3.tar.gz" + sha256: "d65bd45f50331e9dd2de3c68137c6be069fe25732095bef0128d547c997b1fda" "1.2.2": url: "https://github.com/AngusJohnson/Clipper2/files/11071418/Clipper2_1.2.2.zip" sha256: "ec28bc4e05a86cb0be81a872e8d90a4d575b63882ef3ac78f06662358e410f89" diff --git a/recipes/clipper2/all/conanfile.py b/recipes/clipper2/all/conanfile.py index 688144f7992cd..fe88fd67b3e80 100644 --- a/recipes/clipper2/all/conanfile.py +++ b/recipes/clipper2/all/conanfile.py @@ -66,7 +66,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version]) + get(self, **self.conan_data["sources"][self.version], strip_root = Version(self.version) >= "1.2.3") def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml index af40d9653a378..6d9f399765e2d 100644 --- a/recipes/clipper2/config.yml +++ b/recipes/clipper2/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.3": + folder: all "1.2.2": folder: all From c11821c97820b6475e59066d46bde924edc0c88d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 23:17:45 +0900 Subject: [PATCH 2322/4087] (#20853) simdjson: add version 3.6.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 56fbdddd5d8d2..8afd1c08b02ab 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.0": + url: "https://github.com/simdjson/simdjson/archive/v3.6.0.tar.gz" + sha256: "9eab3197231382b8b99d14d8ca647d6ab6bea1b40008df086d25e6f687309bf6" "3.5.0": url: "https://github.com/simdjson/simdjson/archive/v3.5.0.tar.gz" sha256: "942c9462b3c046e12b898cbf5e198f31a377ab40bb2bde5be98440d1f9212ee0" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index cb5bc532f22a9..7c6ab96d71b1b 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.0": + folder: all "3.5.0": folder: all "3.3.0": From 76d869c9fcb22bf6619f3df41cd9a2f72b1d56dc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Oct 2023 23:37:27 +0900 Subject: [PATCH 2323/4087] (#20854) rapidfuzz: add version 2.2.0 --- recipes/rapidfuzz/all/conandata.yml | 3 +++ recipes/rapidfuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index 279749d57341f..230d7ae3d655f 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.0.tar.gz" + sha256: "8fe2d2792ee8b32598f4aa3aad5db7d449fb3c4a32387080f650335cf4faef81" "2.1.1": url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.1.1.tar.gz" sha256: "1680c0dbf77d228ea81825c24755db99ee0e21a8db3663b5136741b3e108c3f2" diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index 11ecec1d15429..df6a57f68df4d 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.1.1": folder: "all" "2.0.0": From 30deea480dd1a2e71f2d4b519c12ed2424a56004 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 1 Nov 2023 01:21:35 +0900 Subject: [PATCH 2324/4087] (#20722) simdutf: add version 4.0.3, remove older versions * simdutf: add version 4.0.0 * drop gcc < 9 support in 4.0.0 * drop support gcc 9 debug build * update 4.0.1 * remove older versions, rmdir lib/pkgconfig * update 4.0.2 * update 4.0.3 --- recipes/simdutf/all/conandata.yml | 27 ++----------- recipes/simdutf/all/conanfile.py | 18 ++++++--- .../all/patches/1.0.1-0001-fix-cmake.patch | 39 ------------------- .../patches/1.0.1-0002-remove-static.patch | 13 ------- recipes/simdutf/config.yml | 8 +--- 5 files changed, 18 insertions(+), 87 deletions(-) delete mode 100644 recipes/simdutf/all/patches/1.0.1-0001-fix-cmake.patch delete mode 100644 recipes/simdutf/all/patches/1.0.1-0002-remove-static.patch diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index 7b21b415ea007..ff02cf20bb0de 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -23,15 +26,6 @@ sources: "2.2.0": url: "https://github.com/simdutf/simdutf/archive/v2.2.0.tar.gz" sha256: "b0b8527e194700363cc47e75a7b8d58c88798b0dc31671f5ae5c8803d8678fe6" - "2.1.0": - url: "https://github.com/simdutf/simdutf/archive/v2.1.0.tar.gz" - sha256: "a8a8bbd71c8d8be1f7da16722776988d0640758fe0a46066eb3129868dad08da" - "2.0.9": - url: "https://github.com/simdutf/simdutf/archive/v2.0.9.tar.gz" - sha256: "ff6a19de4c23671e7f1077cf6c0f60bc01197f29c6e4f56fa485c9cd732576ac" - "1.0.1": - url: "https://github.com/simdutf/simdutf/archive/v1.0.1.tar.gz" - sha256: "e7832ba58fb95fe00de76dbbb2f17d844a7ad02a6f5e3e9e5ce9520e820049a0" patches: "3.2.17": - patch_file: "patches/3.2.17-0001-fix-cmake.patch" @@ -65,18 +59,3 @@ patches: - patch_file: "patches/2.0.3-0001-fix-cmake.patch" patch_description: "remove static build, enable rpath on macOS" patch_type: "conan" - "2.1.0": - - patch_file: "patches/2.0.3-0001-fix-cmake.patch" - patch_description: "remove static build, enable rpath on macOS" - patch_type: "conan" - "2.0.9": - - patch_file: "patches/2.0.3-0001-fix-cmake.patch" - patch_description: "remove static build, enable rpath on macOS" - patch_type: "conan" - "1.0.1": - - patch_file: "patches/1.0.1-0001-fix-cmake.patch" - patch_description: "disable test and benchmark build and enable rpath on macOS" - patch_type: "conan" - - patch_file: "patches/1.0.1-0002-remove-static.patch" - patch_description: "remove static build only" - patch_type: "conan" diff --git a/recipes/simdutf/all/conanfile.py b/recipes/simdutf/all/conanfile.py index 6ac2ab3946ae3..e0a52dd250245 100644 --- a/recipes/simdutf/all/conanfile.py +++ b/recipes/simdutf/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -27,7 +28,7 @@ class SimdutfConan(ConanFile): } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 11 def export_sources(self): @@ -45,8 +46,15 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.info.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) + 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") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -57,8 +65,7 @@ def generate(self): tc.variables["BUILD_TESTING"] = False if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) == "8": tc.variables["CMAKE_CXX_FLAGS"] = " -mavx512f" - if Version(self.version) >= "2.0.3": - tc.variables["SIMDUTF_TOOLS"] = False + tc.variables["SIMDUTF_TOOLS"] = False tc.generate() deps = CMakeDeps(self) deps.generate() @@ -74,6 +81,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")) def package_info(self): self.cpp_info.libs = ["simdutf"] diff --git a/recipes/simdutf/all/patches/1.0.1-0001-fix-cmake.patch b/recipes/simdutf/all/patches/1.0.1-0001-fix-cmake.patch deleted file mode 100644 index 7110c904b0efe..0000000000000 --- a/recipes/simdutf/all/patches/1.0.1-0001-fix-cmake.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cb8fb1f..66f76ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -14,17 +14,17 @@ include(cmake/simdutf-flags.cmake) - - set(SIMDUTF_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - --enable_testing() -+#enable_testing() - add_subdirectory(src) --add_subdirectory(tests) -+# add_subdirectory(tests) - - - --if(CMAKE_CXX_COMPILER_ID MATCHES GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) -- message(STATUS "The benchmark tool requires GCC 8.0 or better.") --else() -- add_subdirectory(benchmarks) --endif() -+#if(CMAKE_CXX_COMPILER_ID MATCHES GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) -+# message(STATUS "The benchmark tool requires GCC 8.0 or better.") -+#else() -+# add_subdirectory(benchmarks) -+#endif() - - - # ---- Install rules ---- -diff --git a/cmake/simdutf-flags.cmake b/cmake/simdutf-flags.cmake -index 9263a7f..39f5a8c 100644 ---- a/cmake/simdutf-flags.cmake -+++ b/cmake/simdutf-flags.cmake -@@ -16,4 +16,4 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake") - set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) --set(CMAKE_MACOSX_RPATH OFF) -+set(CMAKE_MACOSX_RPATH ON) diff --git a/recipes/simdutf/all/patches/1.0.1-0002-remove-static.patch b/recipes/simdutf/all/patches/1.0.1-0002-remove-static.patch deleted file mode 100644 index cdc06b6c7fd09..0000000000000 --- a/recipes/simdutf/all/patches/1.0.1-0002-remove-static.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 4322f3f..476fd35 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 809aaef06ef29..6dcda9d7383b8 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.3": + folder: all "3.2.17": folder: all "3.2.15": @@ -15,9 +17,3 @@ versions: folder: all "2.2.0": folder: all - "2.1.0": - folder: all - "2.0.9": - folder: all - "1.0.1": - folder: all From daec0d019244b635624a02a008fabb80627b0d71 Mon Sep 17 00:00:00 2001 From: Martin Olivier Date: Tue, 31 Oct 2023 18:53:36 +0100 Subject: [PATCH 2325/4087] (#20803) dylib: new recipe * dylib: new recipe Signed-off-by: Martin Olivier * fix: support conan 1.X.X Signed-off-by: Martin Olivier * fix: removed author section in conanfile Co-authored-by: Uilian Ries * fix: added a newline at the end of each files Signed-off-by: Martin Olivier * fix: added link with libdl on unix * fix: providing configuration for tests Signed-off-by: Martin Olivier --------- Signed-off-by: Martin Olivier Co-authored-by: Uilian Ries --- recipes/dylib/all/conandata.yml | 4 ++ recipes/dylib/all/conanfile.py | 52 +++++++++++++++++++ recipes/dylib/all/test_package/CMakeLists.txt | 12 +++++ recipes/dylib/all/test_package/conanfile.py | 29 +++++++++++ .../dylib/all/test_package/test_package.cpp | 13 +++++ recipes/dylib/config.yml | 3 ++ 6 files changed, 113 insertions(+) create mode 100644 recipes/dylib/all/conandata.yml create mode 100644 recipes/dylib/all/conanfile.py create mode 100644 recipes/dylib/all/test_package/CMakeLists.txt create mode 100644 recipes/dylib/all/test_package/conanfile.py create mode 100644 recipes/dylib/all/test_package/test_package.cpp create mode 100644 recipes/dylib/config.yml diff --git a/recipes/dylib/all/conandata.yml b/recipes/dylib/all/conandata.yml new file mode 100644 index 0000000000000..c085d1577b105 --- /dev/null +++ b/recipes/dylib/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.2.1": + url: "https://github.com/martin-olivier/dylib/archive/refs/tags/v2.2.1.tar.gz" + sha256: "6af0d2a91860743dc9f564ba0ab7f036a9b37c904395610288791571d4dbea5b" diff --git a/recipes/dylib/all/conanfile.py b/recipes/dylib/all/conanfile.py new file mode 100644 index 0000000000000..d607d4cbb0520 --- /dev/null +++ b/recipes/dylib/all/conanfile.py @@ -0,0 +1,52 @@ +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.53.0" + +class DylibConan(ConanFile): + name = "dylib" + homepage = "https://github.com/martin-olivier/dylib" + url = "https://github.com/conan-io/conan-center-index" + description = "C++ cross-platform wrapper around dynamic loading of shared libraries (dll, so, dylib)" + license = "MIT" + topics = ("shared-library", "cross-platform", "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 requirements(self): + pass + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + + 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, "dylib.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "dylib") + self.cpp_info.set_property("cmake_target_name", "dylib::dylib") + self.cpp_info.set_property("pkg_config_name", "dylib") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["dl"]) diff --git a/recipes/dylib/all/test_package/CMakeLists.txt b/recipes/dylib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b3c80ba7c695b --- /dev/null +++ b/recipes/dylib/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +enable_testing() + +find_package(dylib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE dylib::dylib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +add_test(NAME ${PROJECT_NAME} COMMAND ${PROJECT_NAME}) diff --git a/recipes/dylib/all/test_package/conanfile.py b/recipes/dylib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ad30644323b26 --- /dev/null +++ b/recipes/dylib/all/test_package/conanfile.py @@ -0,0 +1,29 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.build import can_run +from conan.tools.files import chdir + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + with chdir(self, self.build_folder): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", env="conanrun") diff --git a/recipes/dylib/all/test_package/test_package.cpp b/recipes/dylib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..01f9e4b14bcb1 --- /dev/null +++ b/recipes/dylib/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include + +int main() +{ + try { + dylib lib("foo"); + std::cerr << "Expected dylib::load_error exception" << std::endl; + return 1; + } catch (const dylib::load_error &) { + return 0; + } +} diff --git a/recipes/dylib/config.yml b/recipes/dylib/config.yml new file mode 100644 index 0000000000000..a816d92f78ee3 --- /dev/null +++ b/recipes/dylib/config.yml @@ -0,0 +1,3 @@ +versions: + "2.2.1": + folder: all From 731c73d60cf8f35fb20d4e5db8859f213173527e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 31 Oct 2023 19:19:30 +0100 Subject: [PATCH 2326/4087] (#20798) openssl 1.x: cleanup recipe after removal of versions < 1.1.1 in #20441 * cleanup openssl 1.x recipe after removal of versions < 1.1.1 * remove more dead code * remove more dead code --- recipes/openssl/1.x.x/conanfile.py | 377 +++++------------------------ 1 file changed, 55 insertions(+), 322 deletions(-) diff --git a/recipes/openssl/1.x.x/conanfile.py b/recipes/openssl/1.x.x/conanfile.py index 6a4aa390c92eb..32cb51fff1cec 100644 --- a/recipes/openssl/1.x.x/conanfile.py +++ b/recipes/openssl/1.x.x/conanfile.py @@ -12,7 +12,6 @@ from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path from conan.tools.scm import Version from contextlib import contextmanager -from functools import total_ordering import fnmatch import json import os @@ -20,58 +19,6 @@ required_conan_version = ">=1.53.0" -@total_ordering -class OpenSSLVersion: - def __init__(self, version): - self._pre = "" - version_str = str(version) - - tokens = version_str.split("-") - if len(tokens) > 1: - self._pre = tokens[1] - version_str = tokens[0] - - tokens = version_str.split(".") - self._major = int(tokens[0]) - self._minor = 0 - self._patch = 0 - self._build = "" - if len(tokens) > 1: - self._minor = int(tokens[1]) - if len(tokens) > 2: - self._patch = tokens[2] - if self._patch[-1].isalpha(): - self._build = self._patch[-1] - self._patch = self._patch[:1] - self._patch = int(self._patch) - - @property - def base(self): - return "%s.%s.%s" % (self._major, self._minor, self._patch) - - @property - def as_list(self): - return [self._major, self._minor, self._patch, self._build, self._pre] - - def __eq__(self, other): - return self.compare(other) == 0 - - def __lt__(self, other): - return self.compare(other) == -1 - - def __hash__(self): - return hash(self.as_list) - - def compare(self, other): - if not isinstance(other, OpenSSLVersion): - other = OpenSSLVersion(other) - if self.as_list == other.as_list: - return 0 - if self.as_list < other.as_list: - return -1 - else: - return 1 - class OpenSSLConan(ConanFile): name = "openssl" @@ -85,7 +32,6 @@ class OpenSSLConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = { "no_threads": [True, False], - "no_zlib": [True, False], "shared": [True, False], "fPIC": [True, False], "no_asm": [True, False], @@ -100,12 +46,9 @@ class OpenSSLConan(ConanFile): "no_dh": [True, False], "no_dsa": [True, False], "no_hmac": [True, False], - "no_md2": [True, False], "no_md5": [True, False], "no_mdc2": [True, False], "no_rc2": [True, False], - "no_rc4": [True, False], - "no_rc5": [True, False], "no_rsa": [True, False], "no_sha": [True, False], "no_async": [True, False], @@ -145,11 +88,10 @@ class OpenSSLConan(ConanFile): "no_tls1": [True, False], "capieng_dialog": [True, False], "enable_capieng": [True, False], - "openssldir": ["ANY", None] + "openssldir": [None, "ANY"], } default_options = {key: False for key in options.keys()} default_options["fPIC"] = True - default_options["no_md2"] = True default_options["openssldir"] = None @property @@ -168,48 +110,15 @@ def _use_nmake(self): def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _full_version(self): - return OpenSSLVersion(self.version) - def export_sources(self): export_conandata_patches(self) def config_options(self): - if self._full_version >= "1.1.0": - del self.options.no_md2 - del self.options.no_rc4 - del self.options.no_rc5 - del self.options.no_zlib - - if self._full_version < "1.1.0": - del self.options.no_camellia - del self.options.no_cast - del self.options.no_cms - del self.options.no_comp - del self.options.no_dgram - del self.options.no_engine - del self.options.no_idea - del self.options.no_md4 - del self.options.no_ocsp - del self.options.no_seed - del self.options.no_sock - del self.options.no_srp - del self.options.no_ts - del self.options.no_whirlpool - - if self._full_version < "1.1.1": - del self.options.no_aria - del self.options.no_pinshared - del self.options.no_sm2 - del self.options.no_sm3 - del self.options.no_sm4 - - if self.settings.os != "Windows": + if self.settings.os == "Windows": + del self.options.fPIC + else: del self.options.capieng_dialog del self.options.enable_capieng - else: - del self.options.fPIC if self.settings.os == "Emscripten": self.options.no_asm = True @@ -226,10 +135,6 @@ def configure(self): def layout(self): basic_layout(self, src_folder="src") - def requirements(self): - if self._full_version < "1.1.0" and not self.options.get_safe("no_zlib"): - self.requires("zlib/[>=1.2.11 <2]") - def validate(self): if self.settings.os == "Emscripten": if not all((self.options.no_asm, self.options.no_threads, self.options.no_stdio, self.options.no_tests)): @@ -247,20 +152,12 @@ def build_requirements(self): self.tool_requires("msys2/cci.latest") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): VirtualBuildEnv(self).generate() tc = AutotoolsToolchain(self) - # workaround for random error: size too large (archive member extends past the end of the file) - # /Library/Developer/CommandLineTools/usr/bin/ar: internal ranlib command failed - if self.settings.os == "Macos" and self._full_version < "1.1.0": - tc.make_args = ["-j1"] - # 1.1.0 era Makefiles don't do well with parallel installs - if not self._use_nmake and self._full_version >= "1.1.0" and self._full_version < "1.1.1": - tc.make_args = ["-j1"] if self.settings.os == "Macos" and not cross_building(self): tc.extra_cflags = [f"-isysroot {XCRun(self).sdk_path}"] tc.extra_cxxflags = [f"-isysroot {XCRun(self).sdk_path}"] @@ -273,23 +170,10 @@ def generate(self): gen_info["CXXFLAGS"] = tc.cxxflags gen_info["DEFINES"] = tc.defines gen_info["LDFLAGS"] = tc.ldflags - if self._full_version < "1.1.0" and not self.options.get_safe("no_zlib"): - zlib_cpp_info = self.dependencies["zlib"].cpp_info.aggregated_components() - gen_info["zlib_include_path"] = zlib_cpp_info.includedirs[0] - if self.settings.os == "Windows": - gen_info["zlib_lib_path"] = f"{zlib_cpp_info.libdirs[0]}/{zlib_cpp_info.libs[0]}.lib" - else: - gen_info["zlib_lib_path"] = zlib_cpp_info.libdirs[0] # Just path, linux will find the right file save(self, "gen_info.conf", json.dumps(gen_info)) tc = AutotoolsDeps(self) tc.generate() - @property - def _target_prefix(self): - if self._full_version < "1.1.0" and self.settings.build_type == "Debug": - return "debug-" - return "" - @property def _target(self): target = "conan-%s-%s-%s-%s-%s" % (self.settings.build_type, @@ -324,48 +208,14 @@ def _perlasm_scheme(self): "x86_64": "elf"}.get(the_arch, None) return None - @property - def _asm_target(self): - # FIXME This function is broken since https://github.com/conan-io/conan-center-index/pull/791 - # either it returns None (because the_os is not a key of the map below), or it does not return - the_os = str(self.settings.os) - if the_os in ["Android", "iOS", "watchOS", "tvOS"]: - return { - "x86": "x86_asm" if the_os == "Android" else None, - "x86_64": "x86_64_asm" if the_os == "Android" else None, - "armv5el": "armv4_asm", - "armv5hf": "armv4_asm", - "armv6": "armv4_asm", - "armv7": "armv4_asm", - "armv7hf": "armv4_asm", - "armv7s": "armv4_asm", - "armv7k": "armv4_asm", - "armv8": "aarch64_asm", - "armv8_32": "aarch64_asm", - "armv8.3": "aarch64_asm", - "mips": "mips32_asm", - "mips64": "mips64_asm", - "sparc": "sparcv8_asm", - "sparcv9": "sparcv9_asm", - "ia64": "ia64_asm", - "ppc32be": "ppc32_asm", - "ppc32": "ppc32_asm", - "ppc64le": "ppc64_asm", - "ppc64": "ppc64_asm", - "s390": "s390x_asm", - "s390x": "s390x_asm" - }.get(the_os, None) - @property def _targets(self): is_cygwin = self.settings.get_safe("os.subsystem") == "cygwin" - is_1_0 = self._full_version < "1.1.0" - has_darwin_arm = self._full_version >= "1.1.1i" or is_1_0 return { - "Linux-x86-clang": ("%slinux-generic32" % self._target_prefix) if is_1_0 else "linux-x86-clang", - "Linux-x86_64-clang": ("%slinux-x86_64" % self._target_prefix) if is_1_0 else "linux-x86_64-clang", - "Linux-x86-*": ("%slinux-generic32" % self._target_prefix) if is_1_0 else "linux-x86", - "Linux-x86_64-*": "%slinux-x86_64" % self._target_prefix, + "Linux-x86-clang": "linux-x86-clang", + "Linux-x86_64-clang": "linux-x86_64-clang", + "Linux-x86-*": "linux-x86", + "Linux-x86_64-*": "linux-x86_64", "Linux-armv4-*": "linux-armv4", "Linux-armv4i-*": "linux-armv4", "Linux-armv5el-*": "linux-armv4", @@ -391,13 +241,13 @@ def _targets(self): "Linux-sparc-*": "linux-sparcv8", "Linux-sparcv9-*": "linux64-sparcv9", "Linux-*-*": "linux-generic32", - "Macos-x86-*": "%sdarwin-i386-cc" % self._target_prefix, - "Macos-x86_64-*": "%sdarwin64-x86_64-cc" % self._target_prefix, - "Macos-ppc32-*": "%sdarwin-ppc-cc" % self._target_prefix, - "Macos-ppc32be-*": "%sdarwin-ppc-cc" % self._target_prefix, + "Macos-x86-*": "darwin-i386-cc", + "Macos-x86_64-*": "darwin64-x86_64-cc", + "Macos-ppc32-*": "darwin-ppc-cc", + "Macos-ppc32be-*": "darwin-ppc-cc", "Macos-ppc64-*": "darwin64-ppc-cc", "Macos-ppc64be-*": "darwin64-ppc-cc", - "Macos-armv8-*": "darwin64-arm64-cc" if has_darwin_arm else "darwin-common", + "Macos-armv8-*": "darwin64-arm64-cc", "Macos-*-*": "darwin-common", "iOS-x86_64-*": "darwin64-x86_64-cc", "iOS-*-*": "iphoneos-cross", @@ -415,15 +265,15 @@ def _targets(self): "Windows-x86-gcc": "Cygwin-x86" if is_cygwin else "mingw", "Windows-x86_64-gcc": "Cygwin-x86_64" if is_cygwin else "mingw64", "Windows-*-gcc": "Cygwin-common" if is_cygwin else "mingw-common", - "Windows-ia64-Visual Studio": "%sVC-WIN64I" % self._target_prefix, # Itanium - "Windows-x86-Visual Studio": "%sVC-WIN32" % self._target_prefix, - "Windows-x86_64-Visual Studio": "%sVC-WIN64A" % self._target_prefix, + "Windows-ia64-Visual Studio": "VC-WIN64I", # Itanium + "Windows-x86-Visual Studio": "VC-WIN32", + "Windows-x86_64-Visual Studio": "VC-WIN64A", "Windows-armv7-Visual Studio": "VC-WIN32-ARM", "Windows-armv8-Visual Studio": "VC-WIN64-ARM", "Windows-*-Visual Studio": "VC-noCE-common", - "Windows-ia64-clang": "%sVC-WIN64I" % self._target_prefix, # Itanium - "Windows-x86-clang": "%sVC-WIN32" % self._target_prefix, - "Windows-x86_64-clang": "%sVC-WIN64A" % self._target_prefix, + "Windows-ia64-clang": "VC-WIN64I", # Itanium + "Windows-x86-clang": "VC-WIN32", + "Windows-x86_64-clang": "VC-WIN64A", "Windows-armv7-clang": "VC-WIN32-ARM", "Windows-armv8-clang": "VC-WIN64-ARM", "Windows-*-clang": "VC-noCE-common", @@ -433,13 +283,13 @@ def _targets(self): "WindowsStore-armv8-*": "VC-WIN64-ARM-UWP", "WindowsStore-*-*": "VC-WIN32-ONECORE", "WindowsCE-*-*": "VC-CE", - "SunOS-x86-gcc": "%ssolaris-x86-gcc" % self._target_prefix, - "SunOS-x86_64-gcc": "%ssolaris64-x86_64-gcc" % self._target_prefix, - "SunOS-sparc-gcc": "%ssolaris-sparcv8-gcc" % self._target_prefix, + "SunOS-x86-gcc": "solaris-x86-gcc", + "SunOS-x86_64-gcc": "solaris64-x86_64-gcc", + "SunOS-sparc-gcc": "solaris-sparcv8-gcc", "SunOS-sparcv9-gcc": "solaris64-sparcv9-gcc", - "SunOS-x86-suncc": "%ssolaris-x86-cc" % self._target_prefix, - "SunOS-x86_64-suncc": "%ssolaris64-x86_64-cc" % self._target_prefix, - "SunOS-sparc-suncc": "%ssolaris-sparcv8-cc" % self._target_prefix, + "SunOS-x86-suncc": "solaris-x86-cc", + "SunOS-x86_64-suncc": "solaris64-x86_64-cc", + "SunOS-sparc-suncc": "solaris-sparcv8-cc", "SunOS-sparcv9-suncc": "solaris64-sparcv9-cc", "SunOS-*-*": "solaris-common", "*BSD-x86-*": "BSD-x86", @@ -484,37 +334,8 @@ def _tool(self, env_name, apple_name): return getattr(XCRun(self), apple_name) return None - def _patch_configure(self): - # since _patch_makefile_org will replace binutils variables - # use a more restricted regular expresion to prevent that Configure script trying to do it again - configure = os.path.join(self.source_folder, "Configure") - replace_in_file(self, configure, r"s/^AR=\s*ar/AR= $ar/;", r"s/^AR=\s*ar\b/AR= $ar/;",encoding="latin_1") - - def _adjust_path(self, path): - return path.replace("\\", "/") if self._settings_build.os == "Windows" else path - - def _patch_makefile_org(self): - # https://wiki.openssl.org/index.php/Compilation_and_Installation#Modifying_Build_Settings - # its often easier to modify Configure and Makefile.org rather than trying to add targets to the configure scripts - makefile_org = os.path.join(self.source_folder, "Makefile.org") - if not "CROSS_COMPILE" in os.environ: - cc = os.environ.get("CC", "cc") - gen_info = json.loads(load(self, os.path.join(self.generators_folder, "gen_info.conf"))) - replace_in_file(self, makefile_org, "CC= cc\n", "CC= %s %s\n" % (self._adjust_path(cc), gen_info["CFLAGS"])) - if "AR" in os.environ: - replace_in_file(self, makefile_org, "AR=ar $(ARFLAGS) r\n", "AR=%s $(ARFLAGS) r\n" % self._adjust_path(os.environ["AR"])) - if "RANLIB" in os.environ: - replace_in_file(self, makefile_org, "RANLIB= ranlib\n", "RANLIB= %s\n" % self._adjust_path(os.environ["RANLIB"])) - rc = os.environ.get("WINDRES", os.environ.get("RC")) - if rc: - replace_in_file(self, makefile_org, "RC= windres\n", "RC= %s\n" % self._adjust_path(rc)) - if "NM" in os.environ: - replace_in_file(self, makefile_org, "NM= nm\n", "NM= %s\n" % self._adjust_path(os.environ["NM"])) - if "AS" in os.environ: - replace_in_file(self, makefile_org, "AS=$(CC) -c\n", "AS=%s\n" % self._adjust_path(os.environ["AS"])) - def _get_default_openssl_dir(self): - if self.settings.os == "Linux" and self._full_version >= "1.1.0": + if self.settings.os == "Linux": return "/etc/ssl" return "res" @@ -523,21 +344,17 @@ def _configure_args(self): openssldir = self.options.openssldir or self._get_default_openssl_dir() openssldir = unix_path(self, openssldir) if self.win_bash else openssldir args = [ - '"%s"' % (self._target if self._full_version >= "1.1.0" else self._ancestor_target), - "shared" if self.options.shared else "no-shared", - "--prefix=/", - "--openssldir=\"%s\"" % openssldir, - "no-unit-test", - "no-threads" if self.options.no_threads else "threads" + f'"{self._target}"', + "shared" if self.options.shared else "no-shared", + "--prefix=/", + f"--openssldir=\"{openssldir}\"", + "no-unit-test", + "no-threads" if self.options.no_threads else "threads", + f"PERL={self._perl}", + "no-tests", + "--debug" if self.settings.build_type == "Debug" else "--release", + "--libdir=lib", # See https://github.com/openssl/openssl/blob/master/INSTALL.md#libdir ] - if self._full_version >= "1.1.1": - args.append("PERL=%s" % self._perl) - if self._full_version < "1.1.0" or self._full_version >= "1.1.1": - args.append("no-tests") - if self._full_version >= "1.1.0": - args.append("--debug" if self.settings.build_type == "Debug" else "--release") - - args.append("--libdir=lib") # See https://github.com/openssl/openssl/blob/master/INSTALL.md#libdir if self.settings.os in ["tvOS", "watchOS"]: args.append(" -DNO_FORK") # fork is not available on tvOS and watchOS @@ -553,31 +370,13 @@ def _configure_args(self): else: args.append("-fPIC" if self.options.get_safe("fPIC", True) else "no-pic") - args.append("no-md2" if self.options.get_safe("no_md2", True) else "enable-md2") + args.append("no-md2") if self.settings.os == "Neutrino": args.append("no-asm -lsocket -latomic") if self._is_clangcl: # #error is not yet supported when compiling as C, but this is planned for a future release. args.append("-D__STDC_NO_ATOMICS__") - if self._full_version < "1.1.0": - if self.options.get_safe("no_zlib"): - args.append("no-zlib") - else: - gen_info = json.loads(load(self, os.path.join(self.generators_folder, "gen_info.conf"))) - include_path = gen_info["zlib_include_path"] - lib_path = gen_info["zlib_lib_path"] - # clang-cl doesn't like backslashes in #define CFLAGS (builldinf.h -> cversion.c) - include_path = self._adjust_path(include_path) - lib_path = self._adjust_path(lib_path) - - if self.dependencies["zlib"].options.shared: - args.append("zlib-dynamic") - else: - args.append("zlib") - - args.extend(['--with-zlib-include="%s"' % include_path, - '--with-zlib-lib="%s"' % lib_path]) if Version(conan_version).major < 2: possible_values = self.options.values.fields @@ -585,7 +384,7 @@ def _configure_args(self): possible_values = self.options.possible_values for option_name in possible_values: activated = self.options.get_safe(option_name) - if activated and option_name not in ["fPIC", "openssldir", "capieng_dialog", "enable_capieng", "no_md2"]: + if activated and option_name not in ["fPIC", "openssldir", "capieng_dialog", "enable_capieng"]: self.output.info("activated option: %s" % option_name) args.append(option_name.replace("_", "-")) return args @@ -632,13 +431,10 @@ def _create_targets(self): defines = ", ".join(f'"{d}"' for d in gen_info["DEFINES"]) defines = 'defines => add([%s]),' % defines if defines else "" ranlib = 'ranlib => "%s",' % ranlib if ranlib else "" - targets = "my %targets" if self._full_version >= "1.1.1" else "%targets" + targets = "my %targets" includes = "" - if self._asm_target: - ancestor = '[ "%s", asm("%s") ]' % (self._ancestor_target, self._asm_target) - else: - ancestor = '[ "%s" ]' % self._ancestor_target + ancestor = f'[ "{self._ancestor_target}" ]' shared_cflag = '' shared_extension = '' shared_target = '' @@ -652,7 +448,7 @@ def _create_targets(self): if self.settings.os in ["iOS", "tvOS", "watchOS"] and self.conf.get("tools.apple:enable_bitcode", check_type=bool): cflags.append("-fembed-bitcode") cxxflags.append("-fembed-bitcode") - + config = config_template.format(targets=targets, target=self._target, ancestor=ancestor, @@ -680,10 +476,6 @@ def _perl(self): return self.dependencies.build["strawberryperl"].conf_info.get("user.strawberryperl:perl", check_type=str) return "perl" - @property - def _nmake_makefile(self): - return r"ms\ntdll.mak" if self.options.shared else r"ms\nt.mak" - @contextmanager def _make_context(self): if self._use_nmake: @@ -704,11 +496,7 @@ def sanitize_env_var(var): def build(self): apply_conandata_patches(self) autotools = Autotools(self) - if self._full_version >= "1.1.0": - self._create_targets() - else: - self._patch_configure() - self._patch_makefile_org() + self._create_targets() with self._make_context(): with chdir(self, self.source_folder): # workaround for clang-cl not producing .pdb files @@ -717,48 +505,26 @@ def build(self): args = " ".join(self._configure_args) self.output.info(self._configure_args) - if self._use_nmake and self._full_version >= "1.1.0": + if self._use_nmake: self._replace_runtime_in_file(os.path.join("Configurations", "10-main.conf")) self.run(f'{self._perl} ./Configure {args}') self._patch_install_name() - if not self._use_nmake: - autotools.make() + if self._use_nmake: + self.run("nmake /F Makefile") else: - if self._full_version >= "1.1.0": - self.run('nmake /F Makefile') - else: # nmake 1.0.2 support - # Note: 1.0.2 should not be used according to the OpenSSL Project - # See https://www.openssl.org/source/ - - if not self.options.no_asm and self.settings.arch == "x86": - self.run(r"ms\do_nasm") - else: - self.run(r"ms\do_ms" if self.settings.arch == "x86" else r"ms\do_win64a") - - self._replace_runtime_in_file(os.path.join("ms", "nt.mak")) - self._replace_runtime_in_file(os.path.join("ms", "ntdll.mak")) - if self.settings.arch == "x86": - replace_in_file(self, os.path.join("ms", "nt.mak"), "-WX", "") - replace_in_file(self, os.path.join("ms", "ntdll.mak"), "-WX", "") - - # NMAKE interprets trailing backslash as line continuation - replace_in_file(self, self._nmake_makefile, 'INSTALLTOP=\\', 'INSTALLTOP=/') - - self.run(f'nmake /F {self._nmake_makefile}') + autotools.make() def _patch_install_name(self): if is_apple_os(self) and self.options.shared: old_str = '-install_name $(INSTALLTOP)/$(LIBDIR)/' new_str = '-install_name @rpath/' - makefile = "Makefile" if self._full_version >= "1.1.1" else "Makefile.shared" - replace_in_file(self, makefile, old_str, new_str) + replace_in_file(self, "Makefile", old_str, new_str) if self._use_nmake: # NMAKE interprets trailing backslash as line continuation - if self._full_version >= "1.1.0": - replace_in_file(self, "Makefile", 'INSTALLTOP_dir=\\', 'INSTALLTOP_dir=/') + replace_in_file(self, "Makefile", 'INSTALLTOP_dir=\\', 'INSTALLTOP_dir=/') def _replace_runtime_in_file(self, filename): runtime = msvc_runtime_flag(self) @@ -769,44 +535,18 @@ def _replace_runtime_in_file(self, filename): def package(self): copy(self, "*LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses"), keep_path=False) if self._use_nmake: - args = [] - if self._full_version >= "1.1.0": - target = "install_sw" - args.append(f"DESTDIR={self.package_folder}") - else: # 1.0.2 support - target = "install" - args.append(f"INSTALLTOP={self.package_folder}") - openssldir = self.options.openssldir or self._get_default_openssl_dir() - args.append(f"OPENSSLDIR={os.path.join(self.package_folder, openssldir)}") - with chdir(self, self.source_folder): - if self._full_version >= "1.1.0": - self.run(f'nmake -f Makefile {target} {" ".join(args)}') - else: # 1.0.2 support - self.run(f'nmake -f {self._nmake_makefile} {target} {" ".join(args)}') + self.run(f"nmake -f Makefile install_sw DESTDIR={self.package_folder}") rm(self, "*.pdb", self.package_folder, recursive=True) - if self.settings.build_type == "Debug" and self._full_version >= "1.1.0": + if self.settings.build_type == "Debug": with chdir(self, os.path.join(self.package_folder, "lib")): rename(self, "libssl.lib", "libssld.lib") rename(self, "libcrypto.lib", "libcryptod.lib") else: autotools = Autotools(self) - args = [] - target = "install_sw" - if self._full_version >= "1.1.0": - args.append(f"DESTDIR={unix_path(self, self.package_folder)}") - else: # 1.0.2 support - args.append(f"INSTALL_PREFIX={unix_path(self, self.package_folder)}") - with chdir(self, self.source_folder): - autotools.make(target=target, args=args) - - # Old OpenSSL version family has issues with permissions. - # See https://github.com/conan-io/conan/issues/5831 - if self._full_version < "1.1.0" and self.options.shared and self.settings.os in ("Android", "FreeBSD", "Linux"): - with chdir(self, os.path.join(self.package_folder, "lib")): - os.chmod("libssl.so.1.0.0", 0o755) - os.chmod("libcrypto.so.1.0.0", 0o755) + args = [f"DESTDIR={unix_path(self, self.package_folder)}"] + autotools.make(target="install_sw", args=args) if self.options.shared: libdir = os.path.join(self.package_folder, "lib") @@ -879,21 +619,14 @@ def package_info(self): self.cpp_info.components["ssl"].set_property("pkg_config_name", "libssl") if self._use_nmake: libsuffix = "d" if self.settings.build_type == "Debug" else "" - if self._full_version < "1.1.0": - self.cpp_info.components["ssl"].libs = ["ssleay32"] - self.cpp_info.components["crypto"].libs = ["libeay32"] - else: - self.cpp_info.components["ssl"].libs = ["libssl" + libsuffix] - self.cpp_info.components["crypto"].libs = ["libcrypto" + libsuffix] + self.cpp_info.components["ssl"].libs = ["libssl" + libsuffix] + self.cpp_info.components["crypto"].libs = ["libcrypto" + libsuffix] else: self.cpp_info.components["ssl"].libs = ["ssl"] self.cpp_info.components["crypto"].libs = ["crypto"] self.cpp_info.components["ssl"].requires = ["crypto"] - if self._full_version < "1.1.0" and not self.options.get_safe("no_zlib"): - self.cpp_info.components["crypto"].requires = ["zlib::zlib"] - if self.settings.os == "Windows": self.cpp_info.components["crypto"].system_libs.extend(["crypt32", "ws2_32", "advapi32", "user32", "bcrypt"]) elif self.settings.os in ["Linux", "FreeBSD"]: From 2b26adc5737ba80be6c47faf6baad5b6d9bef8bb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 1 Nov 2023 03:38:13 +0900 Subject: [PATCH 2327/4087] (#20827) drogon: add version 1.9.0, update dependencies --- recipes/drogon/all/conandata.yml | 10 +++ recipes/drogon/all/conanfile.py | 12 ++-- .../1.9.0-0002-find-cci-packages.patch | 72 +++++++++++++++++++ recipes/drogon/config.yml | 2 + 4 files changed, 90 insertions(+), 6 deletions(-) create mode 100644 recipes/drogon/all/patches/1.9.0-0002-find-cci-packages.patch diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index e4ec996a75d85..32fb63a308bd7 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.0": + url: "https://github.com/drogonframework/drogon/archive/v1.9.0.tar.gz" + sha256: "35793c1b64c32ebbea5a6cb3b1c22bcd0820e948674ecba92022ec05b41c848b" "1.8.7": url: "https://github.com/drogonframework/drogon/archive/v1.8.7.tar.gz" sha256: "d2d80d35becd69bf80d74bf09b69425193f1b7be3926bd44f3ac7b951e54465d" @@ -24,6 +27,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "1.9.0": + - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" + patch_description: "remove shared libs option" + patch_type: "conan" + - patch_file: "patches/1.9.0-0002-find-cci-packages.patch" + patch_description: "Fix jsoncpp cmake target name" + patch_type: "conan" "1.8.7": - 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 d35f8664c1c76..e5fe1d6704648 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -14,10 +14,11 @@ class DrogonConan(ConanFile): name = "drogon" description = "A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows" - topics = ("http-server", "non-blocking-io", "http-framework", "asynchronous-programming") license = "MIT" - homepage = "https://github.com/drogonframework/drogon" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/drogonframework/drogon" + topics = ("http-server", "non-blocking-io", "http-framework", "asynchronous-programming") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [False, True], @@ -49,7 +50,6 @@ class DrogonConan(ConanFile): "with_sqlite": False, "with_redis": False, } - package_type = "library" def export_sources(self): export_conandata_patches(self) @@ -115,19 +115,19 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") self.requires("zlib/[>=1.2.11 <2]") if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") if self.options.with_profile: self.requires("coz/cci.20210322") if self.options.with_boost: self.requires("boost/1.83.0", transitive_headers=True) if self.options.with_brotli: - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") if self.options.get_safe("with_postgres"): self.requires("libpq/15.4") if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.42.1") + self.requires("sqlite3/3.43.2") if self.options.get_safe("with_redis"): self.requires("hiredis/1.2.0") if self.options.get_safe("with_yaml_cpp", False): diff --git a/recipes/drogon/all/patches/1.9.0-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.9.0-0002-find-cci-packages.patch new file mode 100644 index 0000000000000..cf206b982069b --- /dev/null +++ b/recipes/drogon/all/patches/1.9.0-0002-find-cci-packages.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5799759..1db8ed3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -164,9 +164,10 @@ 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) +@@ -178,7 +179,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() +@@ -412,7 +413,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) +@@ -435,10 +436,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 +@@ -458,10 +459,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 +@@ -470,7 +471,7 @@ if (NOT Hiredis_FOUND) + set(private_headers + ${private_headers} + lib/src/RedisClientManager.h) +-endif (NOT Hiredis_FOUND) ++endif () + + if (BUILD_TESTING) + add_subdirectory(nosql_lib/redis/tests) diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index 933b39a309076..fb2e690403f06 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.0": + folder: "all" "1.8.7": folder: "all" "1.8.6": From 31f18378a5f855a05d97a50bd99fa3485dd812d7 Mon Sep 17 00:00:00 2001 From: Federico De Felici Date: Tue, 31 Oct 2023 20:17:53 +0100 Subject: [PATCH 2328/4087] (#20865) Bump/clove unit/2.4.1 * clove-unit: add version 2.2.3 * fix conanfile * update test * reduce cmake minimum version for Macos Clang M1/Arm64 * remove unused os import Co-authored-by: Uilian Ries * fix indentation Co-authored-by: Uilian Ries * replace CONAN_LIBS because deprecation Co-authored-by: Uilian Ries * add cmake_find_package_multi generator to generate CloveUnit-config.cmake Co-authored-by: Uilian Ries * removed outdated self.settings for dual profile Co-authored-by: Uilian Ries * bump clove-unit to v2.4.1 --------- Co-authored-by: Uilian Ries --- recipes/clove-unit/all/conandata.yml | 3 +++ recipes/clove-unit/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/clove-unit/all/conandata.yml b/recipes/clove-unit/all/conandata.yml index 8be6c1dd9a952..b80516fa1a975 100644 --- a/recipes/clove-unit/all/conandata.yml +++ b/recipes/clove-unit/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.1": + url: "https://github.com/fdefelici/clove-unit/archive/v2.4.1.tar.gz" + sha256: ede833e361b5b62052bd0976386307d1d962c7ab20a0e24eb6e970d409c726fe "2.4.0": url: "https://github.com/fdefelici/clove-unit/archive/v2.4.0.tar.gz" sha256: d5005854d7b3b6ed1b470c2df353fadd80a2ed5a80bb85efc074b9d55315e78d diff --git a/recipes/clove-unit/config.yml b/recipes/clove-unit/config.yml index 48ff824f79074..e5228fd78f381 100644 --- a/recipes/clove-unit/config.yml +++ b/recipes/clove-unit/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.1": + folder: "all" "2.4.0": folder: "all" "2.3.0": From b48d7fa9a697dbbf386b9fe16123b6197ef3bcf6 Mon Sep 17 00:00:00 2001 From: FireWolf <10460478+0xFireWolf@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:42:46 +0100 Subject: [PATCH 2329/4087] (#17272) elfutils: Revise the recipe to support Conan V2 and add the latest version 0.189 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * elfutils: Add the test package for Conan 1.x. * elfutils: Remove the entry `base_path` from each patch descriptor. * elfutils: Make the recipe compatible with Conan 2.x. * elfutils: `gettext` is needed otherwise `autopoint` cannot be found. * elfutils: Fix an issue that the library `bz2` cannot be found. * elfutils: Remove unneeded code from the recipe. * elfutils: Upgrade the dependency `zlib` to 1.2.13. * elfutils: Upgrade the dependency `sqlite3` to 3.41.2. * elfutils: Upgrade the dependency `xz_utils` to 5.4.2. * elfutils: Generate pkg-config deps for `libcurl`. * elfutils: Upgrade the dependency `libcurl` to 8.0.1. * elfutils: Make the test package compatible with Conan 2.x. * elfutils: Export the path to the binary folder for Conan 2.x properly. * elfutils: Run compiled utilities under the build environment. * elfutils: Add the latest version 0.189. * elfutils: Implement the patch in Python for all supported versions. * elfutils: Use `ConanOutput.warning()` instead of deprecated `ConanOutput.warn()`. * elfutils: Prevent users from building elfutils on macOS. * elfutils: Remove version-specific patch files as they are now implemented in Python. * elfutils: Add the missing entry for version 0.189 in `config.yml`. * elfutils: Set the library search path for the test environment so that utilities dynamically linked to `libelf`, `libdw` and `libasm` can find the dylibs. * elfutils: Add the compiler `Visual Studio` to the blacklist. * elfutils: Add `dl` to the list of system libs of `libdw`. * elfutils: Use `tool_requires` instead of `build_requires`. Co-authored-by: Jordan Williams * elfutils: Use `tool_requires` instead of `build_requires`. Co-authored-by: Jordan Williams * elfutils: Upgrade the dependency `sqlite3` to 3.42.0. Co-authored-by: ericLemanissier * elfutils: Upgrade the dependency `libcurl` to 8.1.2. Co-authored-by: ericLemanissier * Added patches, and package-type. Fixed bad Version import * Removed Visual Studio as valid compiler * Reverted all the patches * typo * Added is_msvc check * renamed --------- Co-authored-by: Jordan Williams Co-authored-by: ericLemanissier Co-authored-by: Rubén Rincón Blanco Co-authored-by: Francisco Ramirez de Anton --- recipes/elfutils/all/conandata.yml | 30 ++- recipes/elfutils/all/conanfile.py | 219 ++++++++++-------- ...0001-remove-werror-configure-option.patch} | 0 ...0001-remove-werror-configure-option.patch} | 0 ...-0001-remove-werror-configure-option.patch | 22 ++ ...dd-enable-static-option-to-configure.patch | 32 +++ .../elfutils/all/test_package/CMakeLists.txt | 5 +- .../elfutils/all/test_package/conanfile.py | 32 +-- .../all/test_v1_package/CMakeLists.txt | 8 + .../elfutils/all/test_v1_package/conanfile.py | 22 ++ recipes/elfutils/config.yml | 2 + 11 files changed, 248 insertions(+), 124 deletions(-) rename recipes/elfutils/all/patches/{0.180-0001-Add-enable-werror-configure-option.patch => 0.180-0001-remove-werror-configure-option.patch} (100%) rename recipes/elfutils/all/patches/{0.186-0001-Add-enable-werror-configure-option.patch => 0.186-0001-remove-werror-configure-option.patch} (100%) create mode 100644 recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch create mode 100644 recipes/elfutils/all/patches/0.189-0002-add-enable-static-option-to-configure.patch create mode 100644 recipes/elfutils/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/elfutils/all/test_v1_package/conanfile.py diff --git a/recipes/elfutils/all/conandata.yml b/recipes/elfutils/all/conandata.yml index 85717c37cac04..5d70f514c9ba8 100644 --- a/recipes/elfutils/all/conandata.yml +++ b/recipes/elfutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.189": + url: "https://sourceware.org/elfutils/ftp/0.189/elfutils-0.189.tar.bz2" + sha256: "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8" "0.186": url: "https://sourceware.org/elfutils/ftp/0.186/elfutils-0.186.tar.bz2" sha256: "7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177" @@ -6,13 +9,24 @@ sources: url: "https://sourceware.org/elfutils/ftp/0.180/elfutils-0.180.tar.bz2" sha256: "b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d" patches: + "0.189": + - patch_file: "patches/0.189-0001-remove-werror-configure-option.patch" + patch_description: "Disable -Werror flag." + patch_type: "conan" + - patch_file: "patches/0.189-0002-add-enable-static-option-to-configure.patch" + patch_description: "Enable static library building." + patch_type: "conan" "0.186": - - base_path: "source_subfolder" - patch_file: "patches/0.186-0001-Add-enable-werror-configure-option.patch" - - base_path: "source_subfolder" - patch_file: "patches/0.186-0002-add-enable-static-option-to-configure.patch" + - patch_file: "patches/0.186-0001-remove-werror-configure-option.patch" + patch_description: "Disable -Werror flag." + patch_type: "conan" + - patch_file: "patches/0.186-0002-add-enable-static-option-to-configure.patch" + patch_description: "Enable static library building." + patch_type: "conan" "0.180": - - base_path: "source_subfolder" - patch_file: "patches/0.180-0001-Add-enable-werror-configure-option.patch" - - base_path: "source_subfolder" - patch_file: "patches/0.180-0002-add-enable-static-option-to-configure.patch" + - patch_file: "patches/0.180-0001-remove-werror-configure-option.patch" + patch_description: "Disable -Werror flag." + patch_type: "conan" + - patch_file: "patches/0.180-0002-add-enable-static-option-to-configure.patch" + patch_description: "Enable static library building." + patch_type: "conan" diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index caefeb2a118b9..afd0ce98df71a 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -1,18 +1,25 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -import glob -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import unix_path, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.54.0" + class ElfutilsConan(ConanFile): name = "elfutils" description = "A dwarf, dwfl and dwelf functions to read DWARF, find separate debuginfo, symbols and inspect process state." homepage = "https://sourceware.org/elfutils" url = "https://github.com/conan-io/conan-center-index" - topics = ("elfutils", "libelf", "libdw", "libasm") + topics = ("libelf", "libdw", "libasm") license = ["GPL-1.0-or-later", "LGPL-3.0-or-later", "GPL-2.0-or-later"] - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,111 +40,118 @@ class ElfutilsConan(ConanFile): "with_sqlite3": False, } - generators = "pkg_config" - - _autotools = None - _source_subfolder = "source_subfolder" + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == 'Windows': del self.options.fPIC - if tools.Version(self.version) < "0.186": + if Version(self.version) < "0.186": del self.options.libdebuginfod 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.cppstd") + self.settings.rm_safe("compiler.libcxx") - def validate(self): - if tools.Version(self.version) >= "0.186": - if self.settings.compiler in ["Visual Studio", "apple-clang", "msvc"]: - raise ConanInvalidConfiguration("Compiler %s not supported. " - "elfutils only supports gcc and clang" % self.settings.compiler) - else: - if self.settings.compiler in ["Visual Studio", "clang", "apple-clang", "msvc"]: - raise ConanInvalidConfiguration("Compiler %s not supported. " - "elfutils only supports gcc" % self.settings.compiler) - if self.settings.compiler != "gcc": - self.output.warn("Compiler %s is not gcc." % self.settings.compiler) + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.12") + self.requires("zlib/1.2.13") if self.options.with_sqlite3: - self.requires("sqlite3/3.38.5") + self.requires("sqlite3/3.42.0") if self.options.with_bzlib: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.2.5") + self.requires("xz_utils/5.4.2") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/7.83.0") + self.requires("libcurl/8.1.2") if self.options.debuginfod: - # FIXME: missing recipe for libmicrohttpd - raise ConanInvalidConfiguration("libmicrohttpd is not available (yet) on CCI") - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + self.requires("libmicrohttpd/0.9.75") def build_requirements(self): - self.build_requires("automake/1.16.4") + self.tool_requires("gettext/0.21") + self.tool_requires("automake/1.16.5") self.build_requires("m4/1.4.19") self.build_requires("flex/2.6.4") - self.build_requires("bison/3.7.6") - self.build_requires("pkgconf/1.7.4") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - + self.tool_requires("bison/3.8.2") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.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 validate(self): + # Note that elfutils cannot be built on macOS + # Example Error: "configure: error: __thread support required" + # Reference: https://stackoverflow.com/questions/72372589/elfutils-build-error-on-mac-configure-error-thread-support-required + if self.settings.os == "Macos": + raise ConanInvalidConfiguration("elfutils does not support macOS.") + + if Version(self.version) >= "0.186": + if self.settings.compiler == "apple-clang" or is_msvc(self): + raise ConanInvalidConfiguration(f"Your compiler {self.settings.compiler} is not supported. " + "elfutils only supports GCC and Clang.") + else: + if self.settings.compiler in ("clang", "apple-clang") or is_msvc(self): + raise ConanInvalidConfiguration(f"Your compiler {self.settings.compiler} is not supported. " + "elfutils only supports GCC.") + if self.settings.compiler != "gcc": + self.output.warning(f"Your compiler {self.settings.compiler} is not GCC.") + def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def _configure_autotools(self): - if not self._autotools: - args = [ - "--disable-werror", - "--enable-static={}".format("no" if self.options.shared else "yes"), - "--enable-deterministic-archives", - "--enable-silent-rules", - "--with-zlib", - "--with-bzlib" if self.options.with_bzlib else "--without-bzlib", - "--with-lzma" if self.options.with_lzma else "--without-lzma", - "--enable-debuginfod" if self.options.debuginfod else "--disable-debuginfod", - ] - if tools.Version(self.version) >= "0.186": - args.append("--enable-libdebuginfod" if self.options.libdebuginfod else "--disable-libdebuginfod") - args.append('BUILD_STATIC={}'.format("0" if self.options.shared else "1")) - - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.configure(configure_dir=self._source_subfolder, args=args) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + "--disable-werror", + "--enable-static={}".format("no" if self.options.shared else "yes"), + "--enable-deterministic-archives", + "--enable-silent-rules", + "--with-zlib", + "--with-bzlib" if self.options.with_bzlib else "--without-bzlib", + "--with-lzma" if self.options.with_lzma else "--without-lzma", + "--enable-debuginfod" if self.options.debuginfod else "--disable-debuginfod", + ]) + if Version(self.version) >= "0.186": + tc.configure_args.append("--enable-libdebuginfod" if self.options.libdebuginfod else "--disable-libdebuginfod") + tc.configure_args.append(f"BUILD_STATIC={'0' if self.options.shared else '1'}") + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - self.run("autoreconf -fiv") - autotools = self._configure_autotools() + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.autoreconf(args=["-fiv"]) + autotools.configure() autotools.make() - + def package(self): - self.copy(pattern="COPYING*", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() + copy(self, pattern="COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "etc")) - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(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, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) if self.options.shared: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.a") + rm(self, "*.a", os.path.join(self.package_folder, "lib")) else: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.so") - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.so.1") - + rm(self, "*.so", os.path.join(self.package_folder, "lib")) + rm(self, "*.so.1", os.path.join(self.package_folder, "lib")) + def package_info(self): # library components self.cpp_info.components["libelf"].libs = ["elf"] @@ -149,6 +163,8 @@ def package_info(self): self.cpp_info.components["libdw"].requires.append("bzip2::bzip2") if self.options.with_lzma: self.cpp_info.components["libdw"].requires.append("xz_utils::xz_utils") + if self.settings.os == "Linux": + self.cpp_info.components["libdw"].system_libs.extend(["dl"]) self.cpp_info.components["libasm"].includedirs = ["include/elfutils"] self.cpp_info.components["libasm"].libs = ["asm"] @@ -160,76 +176,79 @@ def package_info(self): # utilities bin_path = os.path.join(self.package_folder, "bin") + lib_path = os.path.join(self.package_folder, "lib") self.output.info("Appending PATH env var with : {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.env_info.PATH.append(bin_path) # Conan V1 + self.env_info.LD_LIBRARY_PATH.append(lib_path) # Conan V1 + self.buildenv_info.append_path("PATH", bin_path) # Conan V2 + self.buildenv_info.append_path("LD_LIBRARY_PATH", lib_path) bin_ext = ".exe" if self.settings.os == "Windows" else "" - - addr2line = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-addr2line" + bin_ext)) + + addr2line = unix_path(self, os.path.join(self.package_folder, "bin", "eu-addr2line" + bin_ext)) self.output.info("Setting ADDR2LINE to {}".format(addr2line)) self.env_info.ADDR2LINE = addr2line - ar = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-ar" + bin_ext)) + ar = unix_path(self, os.path.join(self.package_folder, "bin", "eu-ar" + bin_ext)) self.output.info("Setting AR to {}".format(ar)) self.env_info.AR = ar - elfclassify = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-elfclassify" + bin_ext)) + elfclassify = unix_path(self, os.path.join(self.package_folder, "bin", "eu-elfclassify" + bin_ext)) self.output.info("Setting ELFCLASSIFY to {}".format(elfclassify)) self.env_info.ELFCLASSIFY = elfclassify - elfcmp = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-elfcmp" + bin_ext)) + elfcmp = unix_path(self, os.path.join(self.package_folder, "bin", "eu-elfcmp" + bin_ext)) self.output.info("Setting ELFCMP to {}".format(elfcmp)) self.env_info.ELFCMP = elfcmp - elfcompress = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-elfcompress" + bin_ext)) + elfcompress = unix_path(self, os.path.join(self.package_folder, "bin", "eu-elfcompress" + bin_ext)) self.output.info("Setting ELFCOMPRESS to {}".format(elfcompress)) self.env_info.ELFCOMPRESS = elfcompress - elflint = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-elflint" + bin_ext)) + elflint = unix_path(self, os.path.join(self.package_folder, "bin", "eu-elflint" + bin_ext)) self.output.info("Setting ELFLINT to {}".format(elflint)) self.env_info.ELFLINT = elflint - findtextrel = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-findtextrel" + bin_ext)) + findtextrel = unix_path(self, os.path.join(self.package_folder, "bin", "eu-findtextrel" + bin_ext)) self.output.info("Setting FINDTEXTREL to {}".format(findtextrel)) self.env_info.FINDTEXTREL = findtextrel - make_debug_archive = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-make-debug-archive" + bin_ext)) + make_debug_archive = unix_path(self, os.path.join(self.package_folder, "bin", "eu-make-debug-archive" + bin_ext)) self.output.info("Setting MAKE_DEBUG_ARCHIVE to {}".format(make_debug_archive)) self.env_info.MAKE_DEBUG_ARCHIVE = make_debug_archive - nm = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-nm" + bin_ext)) + nm = unix_path(self, os.path.join(self.package_folder, "bin", "eu-nm" + bin_ext)) self.output.info("Setting NM to {}".format(nm)) self.env_info.NM = nm - objdump = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-objdump" + bin_ext)) + objdump = unix_path(self, os.path.join(self.package_folder, "bin", "eu-objdump" + bin_ext)) self.output.info("Setting OBJDUMP to {}".format(objdump)) self.env_info.OBJDUMP = objdump - ranlib = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-ranlib" + bin_ext)) + ranlib = unix_path(self, os.path.join(self.package_folder, "bin", "eu-ranlib" + bin_ext)) self.output.info("Setting RANLIB to {}".format(ranlib)) self.env_info.RANLIB = ranlib - readelf = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-readelf" + bin_ext)) + readelf = unix_path(self, os.path.join(self.package_folder, "bin", "eu-readelf" + bin_ext)) self.output.info("Setting READELF to {}".format(readelf)) self.env_info.READELF = readelf - size = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-size" + bin_ext)) + size = unix_path(self, os.path.join(self.package_folder, "bin", "eu-size" + bin_ext)) self.output.info("Setting SIZE to {}".format(size)) self.env_info.SIZE = size - stack = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-stack" + bin_ext)) + stack = unix_path(self, os.path.join(self.package_folder, "bin", "eu-stack" + bin_ext)) self.output.info("Setting STACK to {}".format(stack)) self.env_info.STACK = stack - strings = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-strings" + bin_ext)) + strings = unix_path(self, os.path.join(self.package_folder, "bin", "eu-strings" + bin_ext)) self.output.info("Setting STRINGS to {}".format(strings)) self.env_info.STRINGS = strings - strip = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-strip" + bin_ext)) + strip = unix_path(self, os.path.join(self.package_folder, "bin", "eu-strip" + bin_ext)) self.output.info("Setting STRIP to {}".format(strip)) self.env_info.STRIP = strip - unstrip = tools.unix_path(os.path.join(self.package_folder, "bin", "eu-unstrip" + bin_ext)) + unstrip = unix_path(self, os.path.join(self.package_folder, "bin", "eu-unstrip" + bin_ext)) self.output.info("Setting UNSTRIP to {}".format(unstrip)) self.env_info.UNSTRIP = unstrip - diff --git a/recipes/elfutils/all/patches/0.180-0001-Add-enable-werror-configure-option.patch b/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch similarity index 100% rename from recipes/elfutils/all/patches/0.180-0001-Add-enable-werror-configure-option.patch rename to recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch diff --git a/recipes/elfutils/all/patches/0.186-0001-Add-enable-werror-configure-option.patch b/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch similarity index 100% rename from recipes/elfutils/all/patches/0.186-0001-Add-enable-werror-configure-option.patch rename to recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch diff --git a/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch new file mode 100644 index 0000000000000..2c7be1ea5314e --- /dev/null +++ b/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch @@ -0,0 +1,22 @@ +diff --git a/config/eu.am b/config/eu.am +index e6c241f..fb92465 100644 +--- a/config/eu.am ++++ b/config/eu.am +@@ -99,7 +99,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ + $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ + $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ + $(USE_AFTER_FREE3_WARNING) \ +- $(if $($(*F)_no_Werror),,-Werror) \ ++ $(if $($(*F)_no_Werror),,) \ + $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ + $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ +@@ -109,7 +109,7 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ + $(TRAMPOLINES_WARNING) \ + $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ + $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ +- $(if $($(*F)_no_Werror),,-Werror) \ ++ $(if $($(*F)_no_Werror),,) \ + $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ + $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/recipes/elfutils/all/patches/0.189-0002-add-enable-static-option-to-configure.patch b/recipes/elfutils/all/patches/0.189-0002-add-enable-static-option-to-configure.patch new file mode 100644 index 0000000000000..ae598f96a0713 --- /dev/null +++ b/recipes/elfutils/all/patches/0.189-0002-add-enable-static-option-to-configure.patch @@ -0,0 +1,32 @@ +diff --git a/configure.ac b/configure.ac +index 6e881fa..3b56d3a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -414,8 +414,26 @@ AS_HELP_STRING([--enable-install-elfh],[install elf.h in include dir]), + [install_elfh=$enableval], [install_elfh=no]) + AM_CONDITIONAL(INSTALL_ELFH, test "$install_elfh" = yes) + ++AC_MSG_CHECKING([whether to build elfutils as a static library]) ++AC_ARG_ENABLE([static], ++AS_HELP_STRING([--enable-static],[build elfutils as static libraries]), ++[static_elfutils=$enableval], [static_elfutils=no]) ++ ++static_elfutils=$static_elfutils ++ ++if test "$static_elfutils" = yes ; then ++ AC_MSG_RESULT([yes]) ++else ++ if test "$use_gprof" = yes -o "$use_gcov" = yes ; then ++ AC_MSG_ERROR([cannot build a shared elfutils with gprof or gcov enabled]) ++ fi ++ AC_MSG_RESULT([no]) ++fi ++ ++ ++ + AM_CONDITIONAL(BUILD_STATIC, [dnl +-test "$use_gprof" = yes -o "$use_gcov" = yes]) ++test "$static_elfutils" = yes]) + + AC_ARG_ENABLE([tests-rpath], + AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]), diff --git a/recipes/elfutils/all/test_package/CMakeLists.txt b/recipes/elfutils/all/test_package/CMakeLists.txt index 7b9b613cbb24a..5caca1b8ef2e8 100644 --- a/recipes/elfutils/all/test_package/CMakeLists.txt +++ b/recipes/elfutils/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(elfutils REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE elfutils::elfutils) diff --git a/recipes/elfutils/all/test_package/conanfile.py b/recipes/elfutils/all/test_package/conanfile.py index 3a92de2cf5935..ffc4801c9d705 100644 --- a/recipes/elfutils/all/test_package/conanfile.py +++ b/recipes/elfutils/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,14 +21,11 @@ def build(self): cmake.build() def test(self): - self.run("eu-ar --version", run_environment=True) - - bin_path = os.path.join("bin", "test_package") + self.run("eu-ar --version", env="conanbuild") + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") archive_path = "archive.a" - - self.run("eu-ar r {0} {1}".format(archive_path, bin_path), run_environment=True) - self.run("eu-objdump -d {0}".format(bin_path), run_environment=True) - if not tools.cross_building(self.settings): - self.run("{} {}".format(bin_path, bin_path), run_environment=True) - - self.run("{} {}".format(bin_path, archive_path), run_environment=True) + self.run(f"eu-ar r {archive_path} {bin_path}", env="conanbuild") + self.run(f"eu-objdump -d {bin_path}", env="conanbuild") + if can_run(self): + self.run(f"{bin_path} {bin_path}", env="conanrun") + self.run(f"{bin_path} {archive_path}", env="conanrun") diff --git a/recipes/elfutils/all/test_v1_package/CMakeLists.txt b/recipes/elfutils/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/elfutils/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/elfutils/all/test_v1_package/conanfile.py b/recipes/elfutils/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a4c0641d885f0 --- /dev/null +++ b/recipes/elfutils/all/test_v1_package/conanfile.py @@ -0,0 +1,22 @@ +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): + self.run("eu-ar --version", run_environment=True) + bin_path = os.path.join("bin", "test_package") + archive_path = "archive.a" + self.run(f"eu-ar r {archive_path} {bin_path}", run_environment=True) + self.run(f"eu-objdump -d {bin_path}", run_environment=True) + if not tools.cross_building(self): + self.run(f"{bin_path} {bin_path}", run_environment=True) + self.run(f"{bin_path} {archive_path}", run_environment=True) diff --git a/recipes/elfutils/config.yml b/recipes/elfutils/config.yml index 837391aa2d05d..afca319dbca9e 100644 --- a/recipes/elfutils/config.yml +++ b/recipes/elfutils/config.yml @@ -1,4 +1,6 @@ versions: + "0.189": + folder: all "0.186": folder: all "0.180": From 679f9e1d59e02f625f7413483432080aca86d935 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 1 Nov 2023 11:07:09 +0900 Subject: [PATCH 2330/4087] (#20867) cpp-ipc: add version 1.3.0 --- recipes/cpp-ipc/all/conandata.yml | 3 +++ recipes/cpp-ipc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-ipc/all/conandata.yml b/recipes/cpp-ipc/all/conandata.yml index c463e509b6004..d1b80928e2b24 100644 --- a/recipes/cpp-ipc/all/conandata.yml +++ b/recipes/cpp-ipc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/mutouyun/cpp-ipc/archive/refs/tags/v1.3.0.tar.gz" + sha256: "a5ffb67ff451aa28726ab7801509c5c67feb737db49d2be4f7c70a4e9fad2fee" "1.2.0": url: "https://github.com/mutouyun/cpp-ipc/archive/refs/tags/v1.2.0.tar.gz" sha256: "c8df492e08b55e0722eb3e5684163709c1758f3282f05358ff78c694eadb6e60" diff --git a/recipes/cpp-ipc/config.yml b/recipes/cpp-ipc/config.yml index 797b8dd014054..3d3b2788da655 100644 --- a/recipes/cpp-ipc/config.yml +++ b/recipes/cpp-ipc/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.0": folder: all "1.1.1": From 141c81de9a7dd02eb9867bf3d4523c2f0b609927 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 1 Nov 2023 14:48:59 +0200 Subject: [PATCH 2331/4087] (#20863) libzip: bump deps --- recipes/libzip/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index a9d0b3b828fe8..f1b7abe19d90c 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.get_safe("with_zstd"): self.requires("zstd/1.5.5") @@ -76,7 +76,7 @@ def requirements(self): if self.options.crypto == "openssl": self.requires("openssl/[>=1.1 <4]") elif self.options.crypto == "mbedtls": - self.requires("mbedtls/3.2.1") + self.requires("mbedtls/3.5.0") def validate(self): if self.options.crypto == "win32" and self.settings.os != "Windows": From aa3f68787792f6d245dff33d8b01f7f03ecaaec6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 2 Nov 2023 04:36:23 +0900 Subject: [PATCH 2332/4087] (#20874) sqlite3: add version 3.44.0 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index a1adb1f83b8a6..9e950697ed913 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.44.0": + url: "https://sqlite.org/2023/sqlite-amalgamation-3440000.zip" + sha256: "93299c8d2c8397622fe00bd807204b1f58815f45bda8097bf93b3bf759a3ebad" "3.43.2": url: "https://sqlite.org/2023/sqlite-amalgamation-3430200.zip" sha256: "a17ac8792f57266847d57651c5259001d1e4e4b46be96ec0d985c953925b2a1c" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index cf7ef48f1e600..b5aee54f1ff24 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.44.0": + folder: all "3.43.2": folder: all "3.43.1": From a9e8899008b85e8168c9ddb3e7692a1b770e669c Mon Sep 17 00:00:00 2001 From: Pat Mancuso <46453397+patmantru@users.noreply.github.com> Date: Wed, 1 Nov 2023 22:27:29 -0400 Subject: [PATCH 2333/4087] (#20882) opentdf-client: add version 1.5.6 --- recipes/opentdf-client/all/conandata.yml | 3 +++ recipes/opentdf-client/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opentdf-client/all/conandata.yml b/recipes/opentdf-client/all/conandata.yml index 1c8d39123b6c5..9d4618fc288dc 100644 --- a/recipes/opentdf-client/all/conandata.yml +++ b/recipes/opentdf-client/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.6": + url: "https://github.com/opentdf/client-cpp/archive/1.5.6.tar.gz" + sha256: "3f46d9a175ce67fc2814faf34a42bc6ff9519d9a80ae7dbdd8d34317231a404a" "1.5.4": url: "https://github.com/opentdf/client-cpp/archive/1.5.4.tar.gz" sha256: "7902d3f09b632ac3827f3c9c8fd1a1f7c8fdff82eeed2157385278b91a7f515f" diff --git a/recipes/opentdf-client/config.yml b/recipes/opentdf-client/config.yml index fd92109485e2d..e621751db7c3c 100644 --- a/recipes/opentdf-client/config.yml +++ b/recipes/opentdf-client/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.6": + folder: all "1.5.4": folder: all "1.5.3": From ee60d5193222e51e468c7a1c917317b4b6e81748 Mon Sep 17 00:00:00 2001 From: Rob Boehne Date: Wed, 1 Nov 2023 22:17:03 -0500 Subject: [PATCH 2334/4087] (#20873) Add support for ICU version 74.1 --- recipes/icu/all/conandata.yml | 5 +++++ recipes/icu/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index 24eb6e8181a95..3f814d74e3bae 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "74.1": + url: "https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz" + sha256: "86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0" "73.2": url: "https://github.com/unicode-org/icu/releases/download/release-73-2/icu4c-73_2-src.tgz" sha256: "818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1" @@ -21,6 +24,8 @@ sources: url: "https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz" sha256: "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" patches: + "74.1": + - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.2": - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.1": diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index af733c9ce0ff1..4259c6010a85b 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "74.1": + folder: all "73.2": folder: all "73.1": From 62d89b1a2435badf20bb543d1088c8e16ee25337 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 2 Nov 2023 00:57:55 -0500 Subject: [PATCH 2335/4087] (#20190) pixman: Add version 0.42.2 * pixman: Add version 0.42.2 * Update homepage to freedesktop GitLab repository * Bump Meson * Add patch to build on Apple Arm devices * Tweak patch --- recipes/pixman/all/conandata.yml | 8 + recipes/pixman/all/conanfile.py | 4 +- ...justments-to-build-with-llvm-integra.patch | 3290 +++++++++++++++++ recipes/pixman/config.yml | 2 + 4 files changed, 3302 insertions(+), 2 deletions(-) create mode 100644 recipes/pixman/all/patches/0.42.2-0001-pixman-arma64-Adjustments-to-build-with-llvm-integra.patch diff --git a/recipes/pixman/all/conandata.yml b/recipes/pixman/all/conandata.yml index 1f4279689a6c3..4a6a13bbe99c7 100644 --- a/recipes/pixman/all/conandata.yml +++ b/recipes/pixman/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.42.2": + url: "https://www.cairographics.org/releases/pixman-0.42.2.tar.gz" + sha256: "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e" "0.40.0": url: "https://www.cairographics.org/releases/pixman-0.40.0.tar.gz" sha256: "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc" @@ -6,6 +9,11 @@ sources: url: "https://www.cairographics.org/releases/pixman-0.38.4.tar.gz" sha256: "da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7" patches: + "0.42.2": + - patch_file: "patches/0.42.2-0001-pixman-arma64-Adjustments-to-build-with-llvm-integra.patch" + patch_description: "Adjustments to build for arm64 with LLVM's assembler" + patch_type: "portability" + patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/71" "0.40.0": - patch_file: "patches/0001-incompatible-pointer-types.patch" patch_description: "backport fix for clang build" diff --git a/recipes/pixman/all/conanfile.py b/recipes/pixman/all/conanfile.py index e14d1aef8b3a4..aca2fe9a7ec26 100644 --- a/recipes/pixman/all/conanfile.py +++ b/recipes/pixman/all/conanfile.py @@ -20,7 +20,7 @@ class PixmanConan(ConanFile): description = "Pixman is a low-level software library for pixel manipulation" topics = ("graphics", "compositing", "rasterization") url = "https://github.com/conan-io/conan-center-index" - homepage = "https://cairographics.org/" + homepage = "https://gitlab.freedesktop.org/pixman/pixman" license = ("LGPL-2.1-only", "MPL-1.1") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -54,7 +54,7 @@ def validate(self): raise ConanInvalidConfiguration("pixman can only be built as a static library on Windows") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/pixman/all/patches/0.42.2-0001-pixman-arma64-Adjustments-to-build-with-llvm-integra.patch b/recipes/pixman/all/patches/0.42.2-0001-pixman-arma64-Adjustments-to-build-with-llvm-integra.patch new file mode 100644 index 0000000000000..4507dc378d06c --- /dev/null +++ b/recipes/pixman/all/patches/0.42.2-0001-pixman-arma64-Adjustments-to-build-with-llvm-integra.patch @@ -0,0 +1,3290 @@ +From 58a85103ccaa90e217b081149d0a90837d791b14 Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Tue, 18 Jul 2023 07:19:34 +0200 +Subject: [PATCH] pixman-arma64: Adjustments to build with llvm integrated + assembler + +This enables building the aarch64 assembly with clang. +Changes: +1. Use `.func` or `.endfunc` only if available +2. Prefix macro arg names with `\` +3. Use `\()` instead of `&` +4. Always use commas to separate macro arguments +5. Prefix asm symbols with an undderscore if necessary +--- + meson.build | 28 + + pixman/pixman-arm-asm.h | 32 +- + pixman/pixman-arma64-neon-asm-bilinear.S | 421 ++++++------- + pixman/pixman-arma64-neon-asm.S | 720 +++++++++++------------ + pixman/pixman-arma64-neon-asm.h | 684 ++++++++++----------- + test/utils.h | 2 +- + 6 files changed, 968 insertions(+), 919 deletions(-) + +diff --git a/meson.build b/meson.build +index 15bd4df..e05d73d 100644 +--- a/meson.build ++++ b/meson.build +@@ -243,6 +243,34 @@ if not use_vmx.disabled() + endif + endif + ++if cc.compiles(''' ++ __asm__ ( ++ ".func meson_test" ++ ".endfunc" ++ );''', ++ name : 'test for ASM .func directive') ++ config.set('ASM_HAVE_FUNC_DIRECTIVE', 1) ++endif ++ ++ ++if cc.links(''' ++ #include ++ ++ __asm__ ( ++ " .global _testlabel\n" ++ "_testlabel:\n" ++ ); ++ ++ int testlabel(); ++ int main(int argc, char* argv[]) { ++ return testlabel(); ++ }''', ++ name : 'test for ASM leading underscore') ++ config.set('ASM_LEADING_UNDERSCORE', 1) ++endif ++ ++ ++ + if have_vmx + config.set10('USE_VMX', true) + elif use_vmx.enabled() +diff --git a/pixman/pixman-arm-asm.h b/pixman/pixman-arm-asm.h +index ee78541..8253906 100644 +--- a/pixman/pixman-arm-asm.h ++++ b/pixman/pixman-arm-asm.h +@@ -25,13 +25,33 @@ + * + */ + ++ ++#include "config.h" ++ ++ + /* Supplementary macro for setting function attributes */ +-.macro pixman_asm_function fname +- .func fname +- .global fname ++.macro pixman_asm_function_impl fname ++#ifdef ASM_HAVE_FUNC_DIRECTIVE ++ .func \fname ++#endif ++ .global \fname + #ifdef __ELF__ +- .hidden fname +- .type fname, %function ++ .hidden \fname ++ .type \fname, %function ++#endif ++\fname: ++.endm ++ ++.macro pixman_asm_function fname ++#ifdef ASM_LEADING_UNDERSCORE ++ pixman_asm_function_impl _\fname ++#else ++ pixman_asm_function_impl \fname ++#endif ++.endm ++ ++.macro pixman_end_asm_function ++#ifdef ASM_HAVE_FUNC_DIRECTIVE ++ .endfunc + #endif +-fname: + .endm +diff --git a/pixman/pixman-arma64-neon-asm-bilinear.S b/pixman/pixman-arma64-neon-asm-bilinear.S +index 31d103d..7303bdc 100644 +--- a/pixman/pixman-arma64-neon-asm-bilinear.S ++++ b/pixman/pixman-arma64-neon-asm-bilinear.S +@@ -77,50 +77,50 @@ + asr WTMP1, X, #16 + add X, X, UX + add TMP1, TOP, TMP1, lsl #2 +- ld1 {®1&.2s}, [TMP1], STRIDE +- ld1 {®2&.2s}, [TMP1] ++ ld1 {\()\reg1\().2s}, [TMP1], STRIDE ++ ld1 {\()\reg2\().2s}, [TMP1] + .endm + + .macro bilinear_load_0565 reg1, reg2, tmp + asr WTMP1, X, #16 + add X, X, UX + add TMP1, TOP, TMP1, lsl #1 +- ld1 {®2&.s}[0], [TMP1], STRIDE +- ld1 {®2&.s}[1], [TMP1] +- convert_four_0565_to_x888_packed reg2, reg1, reg2, tmp ++ ld1 {\()\reg2\().s}[0], [TMP1], STRIDE ++ ld1 {\()\reg2\().s}[1], [TMP1] ++ convert_four_0565_to_x888_packed \reg2, \reg1, \reg2, \tmp + .endm + + .macro bilinear_load_and_vertical_interpolate_two_8888 \ + acc1, acc2, reg1, reg2, reg3, reg4, tmp1, tmp2 + +- bilinear_load_8888 reg1, reg2, tmp1 +- umull &acc1&.8h, ®1&.8b, v28.8b +- umlal &acc1&.8h, ®2&.8b, v29.8b +- bilinear_load_8888 reg3, reg4, tmp2 +- umull &acc2&.8h, ®3&.8b, v28.8b +- umlal &acc2&.8h, ®4&.8b, v29.8b ++ bilinear_load_8888 \reg1, \reg2, \tmp1 ++ umull \()\acc1\().8h, \()\reg1\().8b, v28.8b ++ umlal \()\acc1\().8h, \()\reg2\().8b, v29.8b ++ bilinear_load_8888 \reg3, \reg4, \tmp2 ++ umull \()\acc2\().8h, \()\reg3\().8b, v28.8b ++ umlal \()\acc2\().8h, \()\reg4\().8b, v29.8b + .endm + + .macro bilinear_load_and_vertical_interpolate_four_8888 \ +- xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi \ ++ xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi, \ + yacc1, yacc2, yreg1, yreg2, yreg3, yreg4, yacc2lo, yacc2hi + + bilinear_load_and_vertical_interpolate_two_8888 \ +- xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi ++ \xacc1, \xacc2, \xreg1, \xreg2, \xreg3, \xreg4, \xacc2lo, xacc2hi + bilinear_load_and_vertical_interpolate_two_8888 \ +- yacc1, yacc2, yreg1, yreg2, yreg3, yreg4, yacc2lo, yacc2hi ++ \yacc1, \yacc2, \yreg1, \yreg2, \yreg3, \yreg4, \yacc2lo, \yacc2hi + .endm + + .macro vzip reg1, reg2 +- zip1 v24.8b, reg1, reg2 +- zip2 reg2, reg1, reg2 +- mov reg1, v24.8b ++ zip1 v24.8b, \reg1, \reg2 ++ zip2 \reg2, \reg1, \reg2 ++ mov \reg1, v24.8b + .endm + + .macro vuzp reg1, reg2 +- uzp1 v24.8b, reg1, reg2 +- uzp2 reg2, reg1, reg2 +- mov reg1, v24.8b ++ uzp1 v24.8b, \reg1, \reg2 ++ uzp2 \reg2, \reg1, \reg2 ++ mov \reg1, v24.8b + .endm + + .macro bilinear_load_and_vertical_interpolate_two_0565 \ +@@ -131,23 +131,23 @@ + asr WTMP2, X, #16 + add X, X, UX + add TMP2, TOP, TMP2, lsl #1 +- ld1 {&acc2&.s}[0], [TMP1], STRIDE +- ld1 {&acc2&.s}[2], [TMP2], STRIDE +- ld1 {&acc2&.s}[1], [TMP1] +- ld1 {&acc2&.s}[3], [TMP2] +- convert_0565_to_x888 acc2, reg3, reg2, reg1 +- vzip ®1&.8b, ®3&.8b +- vzip ®2&.8b, ®4&.8b +- vzip ®3&.8b, ®4&.8b +- vzip ®1&.8b, ®2&.8b +- umull &acc1&.8h, ®1&.8b, v28.8b +- umlal &acc1&.8h, ®2&.8b, v29.8b +- umull &acc2&.8h, ®3&.8b, v28.8b +- umlal &acc2&.8h, ®4&.8b, v29.8b ++ ld1 {\()\acc2\().s}[0], [TMP1], STRIDE ++ ld1 {\()\acc2\().s}[2], [TMP2], STRIDE ++ ld1 {\()\acc2\().s}[1], [TMP1] ++ ld1 {\()\acc2\().s}[3], [TMP2] ++ convert_0565_to_x888 \acc2, \reg3, \reg2, \reg1 ++ vzip \()\reg1\().8b, \()\reg3\().8b ++ vzip \()\reg2\().8b, \()\reg4\().8b ++ vzip \()\reg3\().8b, \()\reg4\().8b ++ vzip \()\reg1\().8b, \()\reg2\().8b ++ umull \()\acc1\().8h, \()\reg1\().8b, v28.8b ++ umlal \()\acc1\().8h, \()\reg2\().8b, v29.8b ++ umull \()\acc2\().8h, \()\reg3\().8b, v28.8b ++ umlal \()\acc2\().8h, \()\reg4\().8b, v29.8b + .endm + + .macro bilinear_load_and_vertical_interpolate_four_0565 \ +- xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi \ ++ xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi, \ + yacc1, yacc2, yreg1, yreg2, yreg3, yreg4, yacc2lo, yacc2hi + + asr WTMP1, X, #16 +@@ -156,49 +156,49 @@ + asr WTMP2, X, #16 + add X, X, UX + add TMP2, TOP, TMP2, lsl #1 +- ld1 {&xacc2&.s}[0], [TMP1], STRIDE +- ld1 {&xacc2&.s}[2], [TMP2], STRIDE +- ld1 {&xacc2&.s}[1], [TMP1] +- ld1 {&xacc2&.s}[3], [TMP2] +- convert_0565_to_x888 xacc2, xreg3, xreg2, xreg1 ++ ld1 {\()\xacc2\().s}[0], [TMP1], STRIDE ++ ld1 {\()\xacc2\().s}[2], [TMP2], STRIDE ++ ld1 {\()\xacc2\().s}[1], [TMP1] ++ ld1 {\()\xacc2\().s}[3], [TMP2] ++ convert_0565_to_x888 \xacc2, \xreg3, \xreg2, \xreg1 + asr WTMP1, X, #16 + add X, X, UX + add TMP1, TOP, TMP1, lsl #1 + asr WTMP2, X, #16 + add X, X, UX + add TMP2, TOP, TMP2, lsl #1 +- ld1 {&yacc2&.s}[0], [TMP1], STRIDE +- vzip &xreg1&.8b, &xreg3&.8b +- ld1 {&yacc2&.s}[2], [TMP2], STRIDE +- vzip &xreg2&.8b, &xreg4&.8b +- ld1 {&yacc2&.s}[1], [TMP1] +- vzip &xreg3&.8b, &xreg4&.8b +- ld1 {&yacc2&.s}[3], [TMP2] +- vzip &xreg1&.8b, &xreg2&.8b +- convert_0565_to_x888 yacc2, yreg3, yreg2, yreg1 +- umull &xacc1&.8h, &xreg1&.8b, v28.8b +- vzip &yreg1&.8b, &yreg3&.8b +- umlal &xacc1&.8h, &xreg2&.8b, v29.8b +- vzip &yreg2&.8b, &yreg4&.8b +- umull &xacc2&.8h, &xreg3&.8b, v28.8b +- vzip &yreg3&.8b, &yreg4&.8b +- umlal &xacc2&.8h, &xreg4&.8b, v29.8b +- vzip &yreg1&.8b, &yreg2&.8b +- umull &yacc1&.8h, &yreg1&.8b, v28.8b +- umlal &yacc1&.8h, &yreg2&.8b, v29.8b +- umull &yacc2&.8h, &yreg3&.8b, v28.8b +- umlal &yacc2&.8h, &yreg4&.8b, v29.8b ++ ld1 {\()\yacc2\().s}[0], [TMP1], STRIDE ++ vzip \()\xreg1\().8b, \()\xreg3\().8b ++ ld1 {\()\yacc2\().s}[2], [TMP2], STRIDE ++ vzip \()\xreg2\().8b, \()\xreg4\().8b ++ ld1 {\()\yacc2\().s}[1], [TMP1] ++ vzip \()\xreg3\().8b, \()\xreg4\().8b ++ ld1 {\()\yacc2\().s}[3], [TMP2] ++ vzip \()\xreg1\().8b, \()\xreg2\().8b ++ convert_0565_to_x888 \yacc2, \yreg3, \yreg2, \yreg1 ++ umull \()\xacc1\().8h, \()\xreg1\().8b, v28.8b ++ vzip \()\yreg1\().8b, \()\yreg3\().8b ++ umlal \()\xacc1\().8h, \()\xreg2\().8b, v29.8b ++ vzip \()\yreg2\().8b, \()\yreg4\().8b ++ umull \()\xacc2\().8h, \()\xreg3\().8b, v28.8b ++ vzip \()\yreg3\().8b, \()\yreg4\().8b ++ umlal \()\xacc2\().8h, \()\xreg4\().8b, v29.8b ++ vzip \()\yreg1\().8b, \()\yreg2\().8b ++ umull \()\yacc1\().8h, \()\yreg1\().8b, v28.8b ++ umlal \()\yacc1\().8h, \()\yreg2\().8b, v29.8b ++ umull \()\yacc2\().8h, \()\yreg3\().8b, v28.8b ++ umlal \()\yacc2\().8h, \()\yreg4\().8b, v29.8b + .endm + + .macro bilinear_store_8888 numpix, tmp1, tmp2 +-.if numpix == 4 ++.if \numpix == 4 + st1 {v0.2s, v1.2s}, [OUT], #16 +-.elseif numpix == 2 ++.elseif \numpix == 2 + st1 {v0.2s}, [OUT], #8 +-.elseif numpix == 1 ++.elseif \numpix == 1 + st1 {v0.s}[0], [OUT], #4 + .else +- .error bilinear_store_8888 numpix is unsupported ++ .error bilinear_store_8888 \numpix is unsupported + .endif + .endm + +@@ -207,15 +207,15 @@ + vuzp v2.8b, v3.8b + vuzp v1.8b, v3.8b + vuzp v0.8b, v2.8b +- convert_8888_to_0565 v2, v1, v0, v1, tmp1, tmp2 +-.if numpix == 4 ++ convert_8888_to_0565 v2, v1, v0, v1, \tmp1, \tmp2 ++.if \numpix == 4 + st1 {v1.4h}, [OUT], #8 +-.elseif numpix == 2 ++.elseif \numpix == 2 + st1 {v1.s}[0], [OUT], #4 +-.elseif numpix == 1 ++.elseif \numpix == 1 + st1 {v1.h}[0], [OUT], #2 + .else +- .error bilinear_store_0565 numpix is unsupported ++ .error bilinear_store_0565 \numpix is unsupported + .endif + .endm + +@@ -228,20 +228,20 @@ + .endm + + .macro bilinear_load_mask_8 numpix, mask +-.if numpix == 4 +- ld1 {&mask&.s}[0], [MASK], #4 +-.elseif numpix == 2 +- ld1 {&mask&.h}[0], [MASK], #2 +-.elseif numpix == 1 +- ld1 {&mask&.b}[0], [MASK], #1 ++.if \numpix == 4 ++ ld1 {\()\mask\().s}[0], [MASK], #4 ++.elseif \numpix == 2 ++ ld1 {\()\mask\().h}[0], [MASK], #2 ++.elseif \numpix == 1 ++ ld1 {\()\mask\().b}[0], [MASK], #1 + .else +- .error bilinear_load_mask_8 numpix is unsupported ++ .error bilinear_load_mask_8 \numpix is unsupported + .endif +- prfm PREFETCH_MODE, [MASK, #prefetch_offset] ++ prfum PREFETCH_MODE, [MASK, #(prefetch_offset)] + .endm + + .macro bilinear_load_mask mask_fmt, numpix, mask +- bilinear_load_mask_&mask_fmt numpix, mask ++ bilinear_load_mask_\mask_fmt \numpix, \mask + .endm + + +@@ -256,30 +256,30 @@ + .endm + + .macro bilinear_load_dst_8888 numpix, dst0, dst1, dst01 +-.if numpix == 4 +- ld1 {&dst0&.2s, &dst1&.2s}, [OUT] +-.elseif numpix == 2 +- ld1 {&dst0&.2s}, [OUT] +-.elseif numpix == 1 +- ld1 {&dst0&.s}[0], [OUT] ++.if \numpix == 4 ++ ld1 {\()\dst0\().2s, \()\dst1\().2s}, [OUT] ++.elseif \numpix == 2 ++ ld1 {\()\dst0\().2s}, [OUT] ++.elseif \numpix == 1 ++ ld1 {\()\dst0\().s}[0], [OUT] + .else +- .error bilinear_load_dst_8888 numpix is unsupported ++ .error bilinear_load_dst_8888 \numpix is unsupported + .endif +- mov &dst01&.d[0], &dst0&.d[0] +- mov &dst01&.d[1], &dst1&.d[0] ++ mov \()\dst01\().d[0], \()\dst0\().d[0] ++ mov \()\dst01\().d[1], \()\dst1\().d[0] + prfm PREFETCH_MODE, [OUT, #(prefetch_offset * 4)] + .endm + + .macro bilinear_load_dst_8888_over numpix, dst0, dst1, dst01 +- bilinear_load_dst_8888 numpix, dst0, dst1, dst01 ++ bilinear_load_dst_8888 \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_load_dst_8888_add numpix, dst0, dst1, dst01 +- bilinear_load_dst_8888 numpix, dst0, dst1, dst01 ++ bilinear_load_dst_8888 \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_load_dst dst_fmt, op, numpix, dst0, dst1, dst01 +- bilinear_load_dst_&dst_fmt&_&op numpix, dst0, dst1, dst01 ++ bilinear_load_dst_\()\dst_fmt\()_\()\op \numpix, \dst0, \dst1, \dst01 + .endm + + /* +@@ -298,19 +298,19 @@ + .endm + + .macro bilinear_duplicate_mask_8 numpix, mask +-.if numpix == 4 +- dup &mask&.2s, &mask&.s[0] +-.elseif numpix == 2 +- dup &mask&.4h, &mask&.h[0] +-.elseif numpix == 1 +- dup &mask&.8b, &mask&.b[0] ++.if \numpix == 4 ++ dup \()\mask\().2s, \()\mask\().s[0] ++.elseif \numpix == 2 ++ dup \()\mask\().4h, \()\mask\().h[0] ++.elseif \numpix == 1 ++ dup \()\mask\().8b, \()\mask\().b[0] + .else +- .error bilinear_duplicate_mask_8 is unsupported ++ .error bilinear_duplicate_\mask_8 is unsupported + .endif + .endm + + .macro bilinear_duplicate_mask mask_fmt, numpix, mask +- bilinear_duplicate_mask_&mask_fmt numpix, mask ++ bilinear_duplicate_mask_\()\mask_fmt \numpix, \mask + .endm + + /* +@@ -318,14 +318,14 @@ + * Interleave should be done when maks is enabled or operator is 'over'. + */ + .macro bilinear_interleave src0, src1, src01, dst0, dst1, dst01 +- vuzp &src0&.8b, &src1&.8b +- vuzp &dst0&.8b, &dst1&.8b +- vuzp &src0&.8b, &src1&.8b +- vuzp &dst0&.8b, &dst1&.8b +- mov &src01&.d[1], &src1&.d[0] +- mov &src01&.d[0], &src0&.d[0] +- mov &dst01&.d[1], &dst1&.d[0] +- mov &dst01&.d[0], &dst0&.d[0] ++ vuzp \()\src0\().8b, \()\src1\().8b ++ vuzp \()\dst0\().8b, \()\dst1\().8b ++ vuzp \()\src0\().8b, \()\src1\().8b ++ vuzp \()\dst0\().8b, \()\dst1\().8b ++ mov \()\src01\().d[1], \()\src1\().d[0] ++ mov \()\src01\().d[0], \()\src0\().d[0] ++ mov \()\dst01\().d[1], \()\dst1\().d[0] ++ mov \()\dst01\().d[0], \()\dst0\().d[0] + .endm + + .macro bilinear_interleave_src_dst_x_src \ +@@ -335,37 +335,38 @@ + .macro bilinear_interleave_src_dst_x_over \ + numpix, src0, src1, src01, dst0, dst1, dst01 + +- bilinear_interleave src0, src1, src01, dst0, dst1, dst01 ++ bilinear_interleave \src0, \src1, \src01, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_interleave_src_dst_x_add \ + numpix, src0, src1, src01, dst0, dst1, dst01 +- bilinear_interleave src0, src1, src01, dst0, dst1, dst01 ++ ++ bilinear_interleave \src0, \src1, \src01, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_interleave_src_dst_8_src \ + numpix, src0, src1, src01, dst0, dst1, dst01 + +- bilinear_interleave src0, src1, src01, dst0, dst1, dst01 ++ bilinear_interleave \src0, \src1, \src01, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_interleave_src_dst_8_over \ + numpix, src0, src1, src01, dst0, dst1, dst01 + +- bilinear_interleave src0, src1, src01, dst0, dst1, dst01 ++ bilinear_interleave \src0, \src1, \src01, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_interleave_src_dst_8_add \ + numpix, src0, src1, src01, dst0, dst1, dst01 + +- bilinear_interleave src0, src1, src01, dst0, dst1, dst01 ++ bilinear_interleave \src0, \src1, \src01, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_interleave_src_dst \ + mask_fmt, op, numpix, src0, src1, src01, dst0, dst1, dst01 + +- bilinear_interleave_src_dst_&mask_fmt&_&op \ +- numpix, src0, src1, src01, dst0, dst1, dst01 ++ bilinear_interleave_src_dst_\()\mask_fmt\()_\()\op \ ++ \numpix, \src0, \src1, \src01, \dst0, \dst1, \dst01 + .endm + + +@@ -383,25 +384,25 @@ + numpix, src0, src1, src01, mask, \ + tmp01, tmp23, tmp45, tmp67 + +- umull &tmp01&.8h, &src0&.8b, &mask&.8b +- umull &tmp23&.8h, &src1&.8b, &mask&.8b ++ umull \()\tmp01\().8h, \()\src0\().8b, \()\mask\().8b ++ umull \()\tmp23\().8h, \()\src1\().8b, \()\mask\().8b + /* bubbles */ +- urshr &tmp45&.8h, &tmp01&.8h, #8 +- urshr &tmp67&.8h, &tmp23&.8h, #8 ++ urshr \()\tmp45\().8h, \()\tmp01\().8h, #8 ++ urshr \()\tmp67\().8h, \()\tmp23\().8h, #8 + /* bubbles */ +- raddhn &src0&.8b, &tmp45&.8h, &tmp01&.8h +- raddhn &src1&.8b, &tmp67&.8h, &tmp23&.8h +- mov &src01&.d[0], &src0&.d[0] +- mov &src01&.d[1], &src1&.d[0] ++ raddhn \()\src0\().8b, \()\tmp45\().8h, \()\tmp01\().8h ++ raddhn \()\src1\().8b, \()\tmp67\().8h, \()\tmp23\().8h ++ mov \()\src01\().d[0], \()\src0\().d[0] ++ mov \()\src01\().d[1], \()\src1\().d[0] + .endm + + .macro bilinear_apply_mask_to_src \ + mask_fmt, numpix, src0, src1, src01, mask, \ + tmp01, tmp23, tmp45, tmp67 + +- bilinear_apply_mask_to_src_&mask_fmt \ +- numpix, src0, src1, src01, mask, \ +- tmp01, tmp23, tmp45, tmp67 ++ bilinear_apply_mask_to_src_\()\mask_fmt \ ++ \numpix, \src0, \src1, \src01, \mask, \ ++ \tmp01, \tmp23, \tmp45, \tmp67 + .endm + + +@@ -418,90 +419,90 @@ + numpix, src0, src1, src01, dst0, dst1, dst01, \ + tmp01, tmp23, tmp45, tmp67, tmp8 + +- dup &tmp8&.2s, &src1&.s[1] ++ dup \()\tmp8\().2s, \()\src1\().s[1] + /* bubbles */ +- mvn &tmp8&.8b, &tmp8&.8b ++ mvn \()\tmp8\().8b, \()\tmp8\().8b + /* bubbles */ +- umull &tmp01&.8h, &dst0&.8b, &tmp8&.8b ++ umull \()\tmp01\().8h, \()\dst0\().8b, \()\tmp8\().8b + /* bubbles */ +- umull &tmp23&.8h, &dst1&.8b, &tmp8&.8b ++ umull \()\tmp23\().8h, \()\dst1\().8b, \()\tmp8\().8b + /* bubbles */ +- urshr &tmp45&.8h, &tmp01&.8h, #8 +- urshr &tmp67&.8h, &tmp23&.8h, #8 ++ urshr \()\tmp45\().8h, \()\tmp01\().8h, #8 ++ urshr \()\tmp67\().8h, \()\tmp23\().8h, #8 + /* bubbles */ +- raddhn &dst0&.8b, &tmp45&.8h, &tmp01&.8h +- raddhn &dst1&.8b, &tmp67&.8h, &tmp23&.8h +- mov &dst01&.d[0], &dst0&.d[0] +- mov &dst01&.d[1], &dst1&.d[0] ++ raddhn \()\dst0\().8b, \()\tmp45\().8h, \()\tmp01\().8h ++ raddhn \()\dst1\().8b, \()\tmp67\().8h, \()\tmp23\().8h ++ mov \()\dst01\().d[0], \()\dst0\().d[0] ++ mov \()\dst01\().d[1], \()\dst1\().d[0] + /* bubbles */ +- uqadd &src0&.8b, &dst0&.8b, &src0&.8b +- uqadd &src1&.8b, &dst1&.8b, &src1&.8b +- mov &src01&.d[0], &src0&.d[0] +- mov &src01&.d[1], &src1&.d[0] ++ uqadd \()\src0\().8b, \()\dst0\().8b, \()\src0\().8b ++ uqadd \()\src1\().8b, \()\dst1\().8b, \()\src1\().8b ++ mov \()\src01\().d[0], \()\src0\().d[0] ++ mov \()\src01\().d[1], \()\src1\().d[0] + .endm + + .macro bilinear_combine_add \ + numpix, src0, src1, src01, dst0, dst1, dst01, \ + tmp01, tmp23, tmp45, tmp67, tmp8 + +- uqadd &src0&.8b, &dst0&.8b, &src0&.8b +- uqadd &src1&.8b, &dst1&.8b, &src1&.8b +- mov &src01&.d[0], &src0&.d[0] +- mov &src01&.d[1], &src1&.d[0] ++ uqadd \()\src0\().8b, \()\dst0\().8b, \()\src0\().8b ++ uqadd \()\src1\().8b, \()\dst1\().8b, \()\src1\().8b ++ mov \()\src01\().d[0], \()\src0\().d[0] ++ mov \()\src01\().d[1], \()\src1\().d[0] + .endm + + .macro bilinear_combine \ + op, numpix, src0, src1, src01, dst0, dst1, dst01, \ + tmp01, tmp23, tmp45, tmp67, tmp8 + +- bilinear_combine_&op \ +- numpix, src0, src1, src01, dst0, dst1, dst01, \ +- tmp01, tmp23, tmp45, tmp67, tmp8 ++ bilinear_combine_\()\op \ ++ \numpix, \src0, \src1, \src01, \dst0, \dst1, \dst01, \ ++ \tmp01, \tmp23, \tmp45, \tmp67, \tmp8 + .endm + + /* + * Macros for final deinterleaving of destination pixels if needed. + */ + .macro bilinear_deinterleave numpix, dst0, dst1, dst01 +- vuzp &dst0&.8b, &dst1&.8b ++ vuzp \()\dst0\().8b, \()\dst1\().8b + /* bubbles */ +- vuzp &dst0&.8b, &dst1&.8b +- mov &dst01&.d[0], &dst0&.d[0] +- mov &dst01&.d[1], &dst1&.d[0] ++ vuzp \()\dst0\().8b, \()\dst1\().8b ++ mov \()\dst01\().d[0], \()\dst0\().d[0] ++ mov \()\dst01\().d[1], \()\dst1\().d[0] + .endm + + .macro bilinear_deinterleave_dst_x_src numpix, dst0, dst1, dst01 + .endm + + .macro bilinear_deinterleave_dst_x_over numpix, dst0, dst1, dst01 +- bilinear_deinterleave numpix, dst0, dst1, dst01 ++ bilinear_deinterleave \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_deinterleave_dst_x_add numpix, dst0, dst1, dst01 +- bilinear_deinterleave numpix, dst0, dst1, dst01 ++ bilinear_deinterleave \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_deinterleave_dst_8_src numpix, dst0, dst1, dst01 +- bilinear_deinterleave numpix, dst0, dst1, dst01 ++ bilinear_deinterleave \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_deinterleave_dst_8_over numpix, dst0, dst1, dst01 +- bilinear_deinterleave numpix, dst0, dst1, dst01 ++ bilinear_deinterleave \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_deinterleave_dst_8_add numpix, dst0, dst1, dst01 +- bilinear_deinterleave numpix, dst0, dst1, dst01 ++ bilinear_deinterleave \numpix, \dst0, \dst1, \dst01 + .endm + + .macro bilinear_deinterleave_dst mask_fmt, op, numpix, dst0, dst1, dst01 +- bilinear_deinterleave_dst_&mask_fmt&_&op numpix, dst0, dst1, dst01 ++ bilinear_deinterleave_dst_\()\mask_fmt\()_\()\op \numpix, \dst0, \dst1, \dst01 + .endm + + + .macro bilinear_interpolate_last_pixel src_fmt, mask_fmt, dst_fmt, op +- bilinear_load_&src_fmt v0, v1, v2 +- bilinear_load_mask mask_fmt, 1, v4 +- bilinear_load_dst dst_fmt, op, 1, v18, v19, v9 ++ bilinear_load_\()\src_fmt v0, v1, v2 ++ bilinear_load_mask \mask_fmt, 1, v4 ++ bilinear_load_dst \dst_fmt, \op, 1, v18, v19, v9 + umull v2.8h, v0.8b, v28.8b + umlal v2.8h, v1.8b, v29.8b + /* 5 cycles bubble */ +@@ -509,28 +510,28 @@ + umlsl v0.4s, v2.4h, v15.h[0] + umlal2 v0.4s, v2.8h, v15.h[0] + /* 5 cycles bubble */ +- bilinear_duplicate_mask mask_fmt, 1, v4 ++ bilinear_duplicate_mask \mask_fmt, 1, v4 + shrn v0.4h, v0.4s, #(2 * BILINEAR_INTERPOLATION_BITS) + /* 3 cycles bubble */ + xtn v0.8b, v0.8h + /* 1 cycle bubble */ + bilinear_interleave_src_dst \ +- mask_fmt, op, 1, v0, v1, v0, v18, v19, v9 ++ \mask_fmt, \op, 1, v0, v1, v0, v18, v19, v9 + bilinear_apply_mask_to_src \ +- mask_fmt, 1, v0, v1, v0, v4, \ ++ \mask_fmt, 1, v0, v1, v0, v4, \ + v3, v8, v10, v11 + bilinear_combine \ +- op, 1, v0, v1, v0, v18, v19, v9, \ ++ \op, 1, v0, v1, v0, v18, v19, v9, \ + v3, v8, v10, v11, v5 +- bilinear_deinterleave_dst mask_fmt, op, 1, v0, v1, v0 +- bilinear_store_&dst_fmt 1, v17, v18 ++ bilinear_deinterleave_dst \mask_fmt, \op, 1, v0, v1, v0 ++ bilinear_store_\()\dst_fmt 1, v17, v18 + .endm + + .macro bilinear_interpolate_two_pixels src_fmt, mask_fmt, dst_fmt, op +- bilinear_load_and_vertical_interpolate_two_&src_fmt \ ++ bilinear_load_and_vertical_interpolate_two_\()\src_fmt \ + v1, v11, v18, v19, v20, v21, v22, v23 +- bilinear_load_mask mask_fmt, 2, v4 +- bilinear_load_dst dst_fmt, op, 2, v18, v19, v9 ++ bilinear_load_mask \mask_fmt, 2, v4 ++ bilinear_load_dst \dst_fmt, \op, 2, v18, v19, v9 + ushll v0.4s, v1.4h, #BILINEAR_INTERPOLATION_BITS + umlsl v0.4s, v1.4h, v15.h[0] + umlal2 v0.4s, v1.8h, v15.h[0] +@@ -539,25 +540,25 @@ + umlal2 v10.4s, v11.8h, v15.h[4] + shrn v0.4h, v0.4s, #(2 * BILINEAR_INTERPOLATION_BITS) + shrn2 v0.8h, v10.4s, #(2 * BILINEAR_INTERPOLATION_BITS) +- bilinear_duplicate_mask mask_fmt, 2, v4 ++ bilinear_duplicate_mask \mask_fmt, 2, v4 + ushr v15.8h, v12.8h, #(16 - BILINEAR_INTERPOLATION_BITS) + add v12.8h, v12.8h, v13.8h + xtn v0.8b, v0.8h + bilinear_interleave_src_dst \ +- mask_fmt, op, 2, v0, v1, v0, v18, v19, v9 ++ \mask_fmt, \op, 2, v0, v1, v0, v18, v19, v9 + bilinear_apply_mask_to_src \ +- mask_fmt, 2, v0, v1, v0, v4, \ ++ \mask_fmt, 2, v0, v1, v0, v4, \ + v3, v8, v10, v11 + bilinear_combine \ +- op, 2, v0, v1, v0, v18, v19, v9, \ ++ \op, 2, v0, v1, v0, v18, v19, v9, \ + v3, v8, v10, v11, v5 +- bilinear_deinterleave_dst mask_fmt, op, 2, v0, v1, v0 +- bilinear_store_&dst_fmt 2, v16, v17 ++ bilinear_deinterleave_dst \mask_fmt, \op, 2, v0, v1, v0 ++ bilinear_store_\()\dst_fmt 2, v16, v17 + .endm + + .macro bilinear_interpolate_four_pixels src_fmt, mask_fmt, dst_fmt, op +- bilinear_load_and_vertical_interpolate_four_&src_fmt \ +- v1, v11, v4, v5, v6, v7, v22, v23 \ ++ bilinear_load_and_vertical_interpolate_four_\()\src_fmt \ ++ v1, v11, v4, v5, v6, v7, v22, v23, \ + v3, v9, v16, v17, v20, v21, v18, v19 + prfm PREFETCH_MODE, [TMP1, PF_OFFS] + sub TMP1, TMP1, STRIDE +@@ -580,23 +581,23 @@ + shrn2 v0.8h, v10.4s, #(2 * BILINEAR_INTERPOLATION_BITS) + shrn v2.4h, v2.4s, #(2 * BILINEAR_INTERPOLATION_BITS) + shrn2 v2.8h, v8.4s, #(2 * BILINEAR_INTERPOLATION_BITS) +- bilinear_load_mask mask_fmt, 4, v4 +- bilinear_duplicate_mask mask_fmt, 4, v4 ++ bilinear_load_mask \mask_fmt, 4, v4 ++ bilinear_duplicate_mask \mask_fmt, 4, v4 + ushr v15.8h, v12.8h, #(16 - BILINEAR_INTERPOLATION_BITS) + xtn v0.8b, v0.8h + xtn v1.8b, v2.8h + add v12.8h, v12.8h, v13.8h +- bilinear_load_dst dst_fmt, op, 4, v2, v3, v21 ++ bilinear_load_dst \dst_fmt, \op, 4, v2, v3, v21 + bilinear_interleave_src_dst \ +- mask_fmt, op, 4, v0, v1, v0, v2, v3, v11 ++ \mask_fmt, \op, 4, v0, v1, v0, v2, v3, v11 + bilinear_apply_mask_to_src \ +- mask_fmt, 4, v0, v1, v0, v4, \ ++ \mask_fmt, 4, v0, v1, v0, v4, \ + v6, v8, v9, v10 + bilinear_combine \ +- op, 4, v0, v1, v0, v2, v3, v1, \ ++ \op, 4, v0, v1, v0, v2, v3, v1, \ + v6, v8, v9, v10, v23 +- bilinear_deinterleave_dst mask_fmt, op, 4, v0, v1, v0 +- bilinear_store_&dst_fmt 4, v6, v7 ++ bilinear_deinterleave_dst \mask_fmt, \op, 4, v0, v1, v0 ++ bilinear_store_\()\dst_fmt 4, v6, v7 + .endm + + .set BILINEAR_FLAG_USE_MASK, 1 +@@ -636,14 +637,14 @@ + prefetch_distance, \ + flags + +-pixman_asm_function fname +-.if pixblock_size == 8 +-.elseif pixblock_size == 4 ++pixman_asm_function \fname ++.if \pixblock_size == 8 ++.elseif \pixblock_size == 4 + .else + .error unsupported pixblock size + .endif + +-.if ((flags) & BILINEAR_FLAG_USE_MASK) == 0 ++.if ((\flags) & BILINEAR_FLAG_USE_MASK) == 0 + OUT .req x0 + TOP .req x1 + BOTTOM .req x2 +@@ -699,7 +700,7 @@ pixman_asm_function fname + STRIDE .req x15 + DUMMY .req x30 + +- .set prefetch_offset, prefetch_distance ++ .set prefetch_offset, \prefetch_distance + + stp x29, x30, [sp, -16]! + mov x29, sp +@@ -714,7 +715,7 @@ pixman_asm_function fname + sub sp, sp, 120 + .endif + +- mov WTMP1, #prefetch_distance ++ mov WTMP1, #\prefetch_distance + umull PF_OFFS, WTMP1, UX + + sub STRIDE, BOTTOM, TOP +@@ -735,11 +736,11 @@ pixman_asm_function fname + /* ensure good destination alignment */ + cmp WIDTH, #1 + blt 100f +- tst OUT, #(1 << dst_bpp_shift) ++ tst OUT, #(1 << \dst_bpp_shift) + beq 100f + ushr v15.8h, v12.8h, #(16 - BILINEAR_INTERPOLATION_BITS) + add v12.8h, v12.8h, v13.8h +- bilinear_process_last_pixel ++ \bilinear_process_last_pixel + sub WIDTH, WIDTH, #1 + 100: + add v13.8h, v13.8h, v13.8h +@@ -748,50 +749,50 @@ pixman_asm_function fname + + cmp WIDTH, #2 + blt 100f +- tst OUT, #(1 << (dst_bpp_shift + 1)) ++ tst OUT, #(1 << (\dst_bpp_shift + 1)) + beq 100f +- bilinear_process_two_pixels ++ \bilinear_process_two_pixels + sub WIDTH, WIDTH, #2 + 100: +-.if pixblock_size == 8 ++.if \pixblock_size == 8 + cmp WIDTH, #4 + blt 100f +- tst OUT, #(1 << (dst_bpp_shift + 2)) ++ tst OUT, #(1 << (\dst_bpp_shift + 2)) + beq 100f +- bilinear_process_four_pixels ++ \bilinear_process_four_pixels + sub WIDTH, WIDTH, #4 + 100: + .endif +- subs WIDTH, WIDTH, #pixblock_size ++ subs WIDTH, WIDTH, #\pixblock_size + blt 100f +- asr PF_OFFS, PF_OFFS, #(16 - src_bpp_shift) +- bilinear_process_pixblock_head +- subs WIDTH, WIDTH, #pixblock_size ++ asr PF_OFFS, PF_OFFS, #(16 - \src_bpp_shift) ++ \bilinear_process_pixblock_head ++ subs WIDTH, WIDTH, #\pixblock_size + blt 500f + 0: +- bilinear_process_pixblock_tail_head +- subs WIDTH, WIDTH, #pixblock_size ++ \bilinear_process_pixblock_tail_head ++ subs WIDTH, WIDTH, #\pixblock_size + bge 0b + 500: +- bilinear_process_pixblock_tail ++ \bilinear_process_pixblock_tail + 100: +-.if pixblock_size == 8 ++.if \pixblock_size == 8 + tst WIDTH, #4 + beq 200f +- bilinear_process_four_pixels ++ \bilinear_process_four_pixels + 200: + .endif + /* handle the remaining trailing pixels */ + tst WIDTH, #2 + beq 200f +- bilinear_process_two_pixels ++ \bilinear_process_two_pixels + 200: + tst WIDTH, #1 + beq 300f +- bilinear_process_last_pixel ++ \bilinear_process_last_pixel + 300: + +-.if ((flags) & BILINEAR_FLAG_USE_MASK) == 0 ++.if ((\flags) & BILINEAR_FLAG_USE_MASK) == 0 + sub x29, x29, 64 + ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 + ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 +@@ -829,11 +830,11 @@ pixman_asm_function fname + .unreq TMP3 + .unreq TMP4 + .unreq STRIDE +-.if ((flags) & BILINEAR_FLAG_USE_MASK) != 0 ++.if ((\flags) & BILINEAR_FLAG_USE_MASK) != 0 + .unreq MASK + .endif + +-.endfunc ++pixman_end_asm_function + + .endm + +diff --git a/pixman/pixman-arma64-neon-asm.S b/pixman/pixman-arma64-neon-asm.S +index 774d98d..107c133 100644 +--- a/pixman/pixman-arma64-neon-asm.S ++++ b/pixman/pixman-arma64-neon-asm.S +@@ -267,54 +267,54 @@ + sli v4.8h, v4.8h, #5 + ushll v14.8h, v17.8b, #7 + sli v14.8h, v14.8h, #1 +- PF add PF_X, PF_X, #8 ++ PF add, PF_X, PF_X, #8 + ushll v8.8h, v19.8b, #7 + sli v8.8h, v8.8h, #1 +- PF tst PF_CTL, #0xF ++ PF tst, PF_CTL, #0xF + sri v6.8b, v6.8b, #5 +- PF beq 10f +- PF add PF_X, PF_X, #8 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 + 10: + mvn v3.8b, v3.8b +- PF beq 10f +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + sri v7.8b, v7.8b, #6 + shrn v30.8b, v4.8h, #2 + umull v10.8h, v3.8b, v6.8b +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] + umull v11.8h, v3.8b, v7.8b + umull v12.8h, v3.8b, v30.8b +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + sri v14.8h, v8.8h, #5 +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + ushll v9.8h, v18.8b, #7 + sli v9.8h, v9.8h, #1 + urshr v17.8h, v10.8h, #8 +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + urshr v19.8h, v11.8h, #8 + urshr v18.8h, v12.8h, #8 +- PF ble 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + sri v14.8h, v9.8h, #11 + mov v28.d[0], v14.d[0] + mov v29.d[0], v14.d[1] +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + 10: + raddhn v20.8b, v10.8h, v17.8h + raddhn v23.8b, v11.8h, v19.8h +- PF ble 10f +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_SRC, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_SRC, #1 + 10: + raddhn v22.8b, v12.8h, v18.8h + st1 {v14.8h}, [DST_W], #16 +@@ -474,32 +474,32 @@ generate_composite_function \ + + .macro pixman_composite_src_8888_0565_process_pixblock_tail_head + sri v14.8h, v8.8h, #5 +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF + fetch_src_pixblock +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + sri v14.8h, v9.8h, #11 + mov v28.d[0], v14.d[0] + mov v29.d[0], v14.d[1] +- PF cmp PF_X, ORIG_W +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF cmp, PF_X, ORIG_W ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] + ushll v8.8h, v1.8b, #7 + sli v8.8h, v8.8h, #1 + st1 {v14.8h}, [DST_W], #16 +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + ushll v14.8h, v2.8b, #7 + sli v14.8h, v14.8h, #1 +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + 10: + ushll v9.8h, v0.8b, #7 + sli v9.8h, v9.8h, #1 +@@ -566,31 +566,31 @@ generate_composite_function \ + + .macro pixman_composite_add_8_8_process_pixblock_tail_head + fetch_src_pixblock +- PF add PF_X, PF_X, #32 +- PF tst PF_CTL, #0xF ++ PF add, PF_X, PF_X, #32 ++ PF tst, PF_CTL, #0xF + ld1 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 +- PF beq 10f +- PF add PF_X, PF_X, #32 +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #32 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + st1 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF cmp PF_X, ORIG_W +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF cmp, PF_X, ORIG_W ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + uqadd v28.8b, v0.8b, v4.8b +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + uqadd v29.8b, v1.8b, v5.8b + uqadd v30.8b, v2.8b, v6.8b +@@ -612,31 +612,31 @@ generate_composite_function \ + + .macro pixman_composite_add_8888_8888_process_pixblock_tail_head + fetch_src_pixblock +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF + ld1 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + st1 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF cmp PF_X, ORIG_W +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF cmp, PF_X, ORIG_W ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + uqadd v28.8b, v0.8b, v4.8b +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + uqadd v29.8b, v1.8b, v5.8b + uqadd v30.8b, v2.8b, v6.8b +@@ -689,45 +689,45 @@ generate_composite_function_single_scanline \ + .macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail_head + ld4 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 + urshr v14.8h, v8.8h, #8 +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF + urshr v15.8h, v9.8h, #8 + urshr v16.8h, v10.8h, #8 + urshr v17.8h, v11.8h, #8 +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + raddhn v28.8b, v14.8h, v8.8h + raddhn v29.8b, v15.8h, v9.8h +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + raddhn v30.8b, v16.8h, v10.8h + raddhn v31.8b, v17.8h, v11.8h + fetch_src_pixblock +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] + mvn v22.8b, v3.8b +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v8.8h, v22.8b, v4.8b +- PF ble 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + umull v9.8h, v22.8b, v5.8b +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + 10: + umull v10.8h, v22.8b, v6.8b +- PF ble 10f +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + umull v11.8h, v22.8b, v7.8b + .endm +@@ -759,18 +759,18 @@ generate_composite_function_single_scanline \ + .macro pixman_composite_over_8888_8888_process_pixblock_tail_head + ld4 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 + urshr v14.8h, v8.8h, #8 +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF + urshr v15.8h, v9.8h, #8 + urshr v16.8h, v10.8h, #8 + urshr v17.8h, v11.8h, #8 +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + raddhn v28.8b, v14.8h, v8.8h + raddhn v29.8b, v15.8h, v9.8h +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + raddhn v30.8b, v16.8h, v10.8h + raddhn v31.8b, v17.8h, v11.8h + uqadd v28.8b, v0.8b, v28.8b +@@ -778,30 +778,30 @@ generate_composite_function_single_scanline \ + uqadd v30.8b, v2.8b, v30.8b + uqadd v31.8b, v3.8b, v31.8b + fetch_src_pixblock +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] + mvn v22.8b, v3.8b +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v8.8h, v22.8b, v4.8b +- PF ble 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + umull v9.8h, v22.8b, v5.8b +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + 10: + umull v10.8h, v22.8b, v6.8b +- PF ble 10f +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + umull v11.8h, v22.8b, v7.8b + .endm +@@ -865,30 +865,30 @@ generate_composite_function_single_scanline \ + raddhn v31.8b, v17.8h, v11.8h + ld4 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 + uqadd v28.8b, v0.8b, v28.8b +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0x0F +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0x0F ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + uqadd v29.8b, v1.8b, v29.8b + uqadd v30.8b, v2.8b, v30.8b + uqadd v31.8b, v3.8b, v31.8b +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + umull v8.8h, v24.8b, v4.8b +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + umull v9.8h, v24.8b, v5.8b +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v10.8h, v24.8b, v6.8b +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF subs, PF_CTL, PF_CTL, #0x10 + umull v11.8h, v24.8b, v7.8b +- PF ble 10f +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 + .endm +@@ -917,18 +917,18 @@ generate_composite_function \ + + .macro pixman_composite_over_reverse_n_8888_process_pixblock_tail_head + urshr v14.8h, v8.8h, #8 +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF + urshr v15.8h, v9.8h, #8 + urshr v12.8h, v10.8h, #8 + urshr v13.8h, v11.8h, #8 +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + raddhn v28.8b, v14.8h, v8.8h + raddhn v29.8b, v15.8h, v9.8h +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + raddhn v30.8b, v12.8h, v10.8h + raddhn v31.8b, v13.8h, v11.8h + uqadd v28.8b, v0.8b, v28.8b +@@ -937,22 +937,22 @@ generate_composite_function \ + uqadd v31.8b, v3.8b, v31.8b + ld4 {v0.8b, v1.8b, v2.8b, v3.8b}, [DST_R], #32 + mvn v22.8b, v3.8b +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF blt 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF blt, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v8.8h, v22.8b, v4.8b +- PF blt 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF blt, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + umull v9.8h, v22.8b, v5.8b + umull v10.8h, v22.8b, v6.8b +- PF blt 10f +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF blt, 10f ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + umull v11.8h, v22.8b, v7.8b + .endm +@@ -1410,35 +1410,35 @@ generate_composite_function \ + + .macro pixman_composite_src_n_8_8888_process_pixblock_tail_head + fetch_mask_pixblock +- PF add PF_X, PF_X, #8 ++ PF add, PF_X, PF_X, #8 + rshrn v28.8b, v8.8h, #8 +- PF tst PF_CTL, #0x0F ++ PF tst, PF_CTL, #0x0F + rshrn v29.8b, v9.8h, #8 +- PF beq 10f +- PF add PF_X, PF_X, #8 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 + 10: + rshrn v30.8b, v10.8h, #8 +- PF beq 10f +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + rshrn v31.8b, v11.8h, #8 +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + umull v8.8h, v24.8b, v0.8b +- PF lsl DUMMY, PF_X, #mask_bpp_shift +- PF prfm PREFETCH_MODE, [PF_MASK, DUMMY] ++ PF lsl, DUMMY, PF_X, #mask_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_MASK, DUMMY] + umull v9.8h, v24.8b, v1.8b +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v10.8h, v24.8b, v2.8b +- PF ble 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + umull v11.8h, v24.8b, v3.8b +- PF ble 10f +- PF lsl DUMMY, MASK_STRIDE, #mask_bpp_shift +- PF ldrsb DUMMY, [PF_MASK, DUMMY] +- PF add PF_MASK, PF_MASK, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, MASK_STRIDE, #mask_bpp_shift ++ PF ldrsb, DUMMY, [PF_MASK, DUMMY] ++ PF add, PF_MASK, PF_MASK, #1 + 10: + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 + ursra v8.8h, v8.8h, #8 +@@ -1491,35 +1491,35 @@ generate_composite_function \ + + .macro pixman_composite_src_n_8_8_process_pixblock_tail_head + fetch_mask_pixblock +- PF add PF_X, PF_X, #8 ++ PF add, PF_X, PF_X, #8 + rshrn v28.8b, v0.8h, #8 +- PF tst PF_CTL, #0x0F ++ PF tst, PF_CTL, #0x0F + rshrn v29.8b, v1.8h, #8 +- PF beq 10f +- PF add PF_X, PF_X, #8 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 + 10: + rshrn v30.8b, v2.8h, #8 +- PF beq 10f +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + rshrn v31.8b, v3.8h, #8 +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + umull v0.8h, v24.8b, v16.8b +- PF lsl DUMMY, PF_X, mask_bpp_shift +- PF prfm PREFETCH_MODE, [PF_MASK, DUMMY] ++ PF lsl, DUMMY, PF_X, mask_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_MASK, DUMMY] + umull v1.8h, v25.8b, v16.8b +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v2.8h, v26.8b, v16.8b +- PF ble 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + umull v3.8h, v27.8b, v16.8b +- PF ble 10f +- PF lsl DUMMY, MASK_STRIDE, #mask_bpp_shift +- PF ldrsb DUMMY, [PF_MASK, DUMMY] +- PF add PF_MASK, PF_MASK, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, MASK_STRIDE, #mask_bpp_shift ++ PF ldrsb, DUMMY, [PF_MASK, DUMMY] ++ PF add, PF_MASK, PF_MASK, #1 + 10: + st1 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 + ursra v0.8h, v0.8h, #8 +@@ -1599,44 +1599,44 @@ generate_composite_function \ + urshr v17.8h, v13.8h, #8 + fetch_mask_pixblock + urshr v18.8h, v14.8h, #8 +- PF add PF_X, PF_X, #8 ++ PF add, PF_X, PF_X, #8 + urshr v19.8h, v15.8h, #8 +- PF tst PF_CTL, #0x0F ++ PF tst, PF_CTL, #0x0F + raddhn v28.8b, v16.8h, v12.8h +- PF beq 10f +- PF add PF_X, PF_X, #8 ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 + 10: + raddhn v29.8b, v17.8h, v13.8h +- PF beq 10f +- PF sub PF_CTL, PF_CTL, #1 ++ PF beq, 10f ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + raddhn v30.8b, v18.8h, v14.8h +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + raddhn v31.8b, v19.8h, v15.8h +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + umull v16.8h, v24.8b, v8.8b +- PF lsl DUMMY, PF_X, #mask_bpp_shift +- PF prfm PREFETCH_MODE, [PF_MASK, DUMMY] ++ PF lsl, DUMMY, PF_X, #mask_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_MASK, DUMMY] + umull v17.8h, v24.8b, v9.8b +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W + 10: + umull v18.8h, v24.8b, v10.8b +- PF ble 10f +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF subs, PF_CTL, PF_CTL, #0x10 + 10: + umull v19.8h, v24.8b, v11.8b +- PF ble 10f +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + 10: + uqadd v28.8b, v0.8b, v28.8b +- PF ble 10f +- PF lsl DUMMY, MASK_STRIDE, #mask_bpp_shift +- PF ldrsb DUMMY, [PF_MASK, DUMMY] +- PF add PF_MASK, PF_MASK, #1 ++ PF ble, 10f ++ PF lsl, DUMMY, MASK_STRIDE, #mask_bpp_shift ++ PF ldrsb, DUMMY, [PF_MASK, DUMMY] ++ PF add, PF_MASK, PF_MASK, #1 + 10: + uqadd v29.8b, v1.8b, v29.8b + uqadd v30.8b, v2.8b, v30.8b +@@ -2412,7 +2412,7 @@ generate_composite_function_single_scanline \ + default_cleanup_need_all_regs, \ + pixman_composite_out_reverse_8888_n_8888_process_pixblock_head, \ + pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail, \ +- pixman_composite_out_reverse_8888_8888_8888_process_pixblock_tail_head \ ++ pixman_composite_out_reverse_8888_8888_8888_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ +@@ -2487,7 +2487,7 @@ generate_composite_function \ + default_cleanup_need_all_regs, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ +- pixman_composite_over_8888_8888_8888_process_pixblock_tail_head \ ++ pixman_composite_over_8888_8888_8888_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ +@@ -2501,7 +2501,7 @@ generate_composite_function_single_scanline \ + default_cleanup_need_all_regs, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ +- pixman_composite_over_8888_8888_8888_process_pixblock_tail_head \ ++ pixman_composite_over_8888_8888_8888_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ +@@ -2529,7 +2529,7 @@ generate_composite_function \ + default_cleanup_need_all_regs, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ +- pixman_composite_over_8888_8_8888_process_pixblock_tail_head \ ++ pixman_composite_over_8888_8_8888_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ +@@ -2680,11 +2680,11 @@ generate_composite_function \ + urshr v13.8h, v10.8h, #8 + fetch_src_pixblock + raddhn v30.8b, v11.8h, v8.8h +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + raddhn v29.8b, v12.8h, v9.8h + raddhn v28.8b, v13.8h, v10.8h +@@ -2692,16 +2692,16 @@ generate_composite_function \ + umull v9.8h, v3.8b, v1.8b + umull v10.8h, v3.8b, v2.8b + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF cmp PF_X, ORIG_W +- PF lsl DUMMY, PF_X, src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W +- PF subs PF_CTL, PF_CTL, #0x10 +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF cmp, PF_X, ORIG_W ++ PF lsl, DUMMY, PF_X, src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W ++ PF subs, PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + 10: + .endm + +@@ -2749,11 +2749,11 @@ generate_composite_function \ + urshr v13.8h, v10.8h, #8 + fetch_src_pixblock + raddhn v28.8b, v11.8h, v8.8h +- PF add PF_X, PF_X, #8 +- PF tst PF_CTL, #0xF +- PF beq 10f +- PF add PF_X, PF_X, #8 +- PF sub PF_CTL, PF_CTL, #1 ++ PF add, PF_X, PF_X, #8 ++ PF tst, PF_CTL, #0xF ++ PF beq, 10f ++ PF add, PF_X, PF_X, #8 ++ PF sub, PF_CTL, PF_CTL, #1 + 10: + raddhn v29.8b, v12.8h, v9.8h + raddhn v30.8b, v13.8h, v10.8h +@@ -2761,16 +2761,16 @@ generate_composite_function \ + umull v9.8h, v3.8b, v1.8b + umull v10.8h, v3.8b, v2.8b + st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 +- PF cmp PF_X, ORIG_W +- PF lsl DUMMY, PF_X, src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] +- PF ble 10f +- PF sub PF_X, PF_X, ORIG_W +- PF subs PF_CTL, PF_CTL, #0x10 +- PF ble 10f +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF cmp, PF_X, ORIG_W ++ PF lsl, DUMMY, PF_X, src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF ble, 10f ++ PF sub, PF_X, PF_X, ORIG_W ++ PF subs, PF_CTL, PF_CTL, #0x10 ++ PF ble, 10f ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + 10: + .endm + +@@ -3131,53 +3131,53 @@ generate_composite_function_nearest_scanline \ + asr TMP1, X, #16 + add X, X, UX + add TMP1, TOP, TMP1, lsl #2 +- ld1 {®1&.2s}, [TMP1], STRIDE +- ld1 {®2&.2s}, [TMP1] ++ ld1 {\()\reg1\().2s}, [TMP1], STRIDE ++ ld1 {\()\reg2\().2s}, [TMP1] + .endm + + .macro bilinear_load_0565 reg1, reg2, tmp + asr TMP1, X, #16 + add X, X, UX + add TMP1, TOP, TMP1, lsl #1 +- ld1 {®2&.s}[0], [TMP1], STRIDE +- ld1 {®2&.s}[1], [TMP1] +- convert_four_0565_to_x888_packed reg2, reg1, reg2, tmp ++ ld1 {\()\reg2\().s}[0], [TMP1], STRIDE ++ ld1 {\()\reg2\().s}[1], [TMP1] ++ convert_four_0565_to_x888_packed \reg2, \reg1, \reg2, \tmp + .endm + + .macro bilinear_load_and_vertical_interpolate_two_8888 \ + acc1, acc2, reg1, reg2, reg3, reg4, tmp1, tmp2 + +- bilinear_load_8888 reg1, reg2, tmp1 +- umull &acc1&.8h, ®1&.8b, v28.8b +- umlal &acc1&.8h, ®2&.8b, v29.8b +- bilinear_load_8888 reg3, reg4, tmp2 +- umull &acc2&.8h, ®3&.8b, v28.8b +- umlal &acc2&.8h, ®4&.8b, v29.8b ++ bilinear_load_8888 \reg1, \reg2, \tmp1 ++ umull \()\acc1\().8h, \()\reg1\().8b, v28.8b ++ umlal \()\acc1\().8h, \()\reg2\().8b, v29.8b ++ bilinear_load_8888 \reg3, \reg4, \tmp2 ++ umull \()\acc2\().8h, \()\reg3\().8b, v28.8b ++ umlal \()\acc2\().8h, \()\reg4\().8b, v29.8b + .endm + + .macro bilinear_load_and_vertical_interpolate_four_8888 \ +- xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi \ ++ xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi, \ + yacc1, yacc2, yreg1, yreg2, yreg3, yreg4, yacc2lo, yacc2hi + + bilinear_load_and_vertical_interpolate_two_8888 \ +- xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi ++ \xacc1, \xacc2, \xreg1, \xreg2, \xreg3, \xreg4, \xacc2lo, \xacc2hi + bilinear_load_and_vertical_interpolate_two_8888 \ +- yacc1, yacc2, yreg1, yreg2, yreg3, yreg4, yacc2lo, yacc2hi ++ \yacc1, \yacc2, \yreg1, \yreg2, \yreg3, \yreg4, \yacc2lo, \yacc2hi + .endm + + .macro vzip reg1, reg2 + umov TMP4, v31.d[0] +- zip1 v31.8b, reg1, reg2 +- zip2 reg2, reg1, reg2 +- mov reg1, v31.8b ++ zip1 v31.8b, \reg1, \reg2 ++ zip2 \reg2, \reg1, \reg2 ++ mov \reg1, v31.8b + mov v31.d[0], TMP4 + .endm + + .macro vuzp reg1, reg2 + umov TMP4, v31.d[0] +- uzp1 v31.8b, reg1, reg2 +- uzp2 reg2, reg1, reg2 +- mov reg1, v31.8b ++ uzp1 v31.8b, \reg1, \reg2 ++ uzp2 \reg2, \reg1, \reg2 ++ mov \reg1, v31.8b + mov v31.d[0], TMP4 + .endm + +@@ -3189,23 +3189,23 @@ generate_composite_function_nearest_scanline \ + asr TMP2, X, #16 + add X, X, UX + add TMP2, TOP, TMP2, lsl #1 +- ld1 {&acc2&.s}[0], [TMP1], STRIDE +- ld1 {&acc2&.s}[2], [TMP2], STRIDE +- ld1 {&acc2&.s}[1], [TMP1] +- ld1 {&acc2&.s}[3], [TMP2] +- convert_0565_to_x888 acc2, reg3, reg2, reg1 +- vzip ®1&.8b, ®3&.8b +- vzip ®2&.8b, ®4&.8b +- vzip ®3&.8b, ®4&.8b +- vzip ®1&.8b, ®2&.8b +- umull &acc1&.8h, ®1&.8b, v28.8b +- umlal &acc1&.8h, ®2&.8b, v29.8b +- umull &acc2&.8h, ®3&.8b, v28.8b +- umlal &acc2&.8h, ®4&.8b, v29.8b ++ ld1 {\()\acc2\().s}[0], [TMP1], STRIDE ++ ld1 {\()\acc2\().s}[2], [TMP2], STRIDE ++ ld1 {\()\acc2\().s}[1], [TMP1] ++ ld1 {\()\acc2\().s}[3], [TMP2] ++ convert_0565_to_x888 \acc2, \reg3, \reg2, \reg1 ++ vzip \()\reg1\().8b, \()\reg3\().8b ++ vzip \()\reg2\().8b, \()\reg4\().8b ++ vzip \()\reg3\().8b, \()\reg4\().8b ++ vzip \()\reg1\().8b, \()\reg2\().8b ++ umull \()\acc1\().8h, \()\reg1\().8b, v28.8b ++ umlal \()\acc1\().8h, \()\reg2\().8b, v29.8b ++ umull \()\acc2\().8h, \()\reg3\().8b, v28.8b ++ umlal \()\acc2\().8h, \()\reg4\().8b, v29.8b + .endm + + .macro bilinear_load_and_vertical_interpolate_four_0565 \ +- xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi \ ++ xacc1, xacc2, xreg1, xreg2, xreg3, xreg4, xacc2lo, xacc2hi, \ + yacc1, yacc2, yreg1, yreg2, yreg3, yreg4, yacc2lo, yacc2hi + asr TMP1, X, #16 + add X, X, UX +@@ -3213,49 +3213,49 @@ generate_composite_function_nearest_scanline \ + asr TMP2, X, #16 + add X, X, UX + add TMP2, TOP, TMP2, lsl #1 +- ld1 {&xacc2&.s}[0], [TMP1], STRIDE +- ld1 {&xacc2&.s}[2], [TMP2], STRIDE +- ld1 {&xacc2&.s}[1], [TMP1] +- ld1 {&xacc2&.s}[3], [TMP2] +- convert_0565_to_x888 xacc2, xreg3, xreg2, xreg1 ++ ld1 {\()\xacc2\().s}[0], [TMP1], STRIDE ++ ld1 {\()\xacc2\().s}[2], [TMP2], STRIDE ++ ld1 {\()\xacc2\().s}[1], [TMP1] ++ ld1 {\()\xacc2\().s}[3], [TMP2] ++ convert_0565_to_x888 \xacc2, \xreg3, \xreg2, \xreg1 + asr TMP1, X, #16 + add X, X, UX + add TMP1, TOP, TMP1, lsl #1 + asr TMP2, X, #16 + add X, X, UX + add TMP2, TOP, TMP2, lsl #1 +- ld1 {&yacc2&.s}[0], [TMP1], STRIDE +- vzip &xreg1&.8b, &xreg3&.8b +- ld1 {&yacc2&.s}[2], [TMP2], STRIDE +- vzip &xreg2&.8b, &xreg4&.8b +- ld1 {&yacc2&.s}[1], [TMP1] +- vzip &xreg3&.8b, &xreg4&.8b +- ld1 {&yacc2&.s}[3], [TMP2] +- vzip &xreg1&.8b, &xreg2&.8b +- convert_0565_to_x888 yacc2, yreg3, yreg2, yreg1 +- umull &xacc1&.8h, &xreg1&.8b, v28.8b +- vzip &yreg1&.8b, &yreg3&.8b +- umlal &xacc1&.8h, &xreg2&.8b, v29.8b +- vzip &yreg2&.8b, &yreg4&.8b +- umull &xacc2&.8h, &xreg3&.8b, v28.8b +- vzip &yreg3&.8b, &yreg4&.8b +- umlal &xacc2&.8h, &xreg4&.8b, v29.8b +- vzip &yreg1&.8b, &yreg2&.8b +- umull &yacc1&.8h, &yreg1&.8b, v28.8b +- umlal &yacc1&.8h, &yreg2&.8b, v29.8b +- umull &yacc2&.8h, &yreg3&.8b, v28.8b +- umlal &yacc2&.8h, &yreg4&.8b, v29.8b ++ ld1 {\()\yacc2\().s}[0], [TMP1], STRIDE ++ vzip \()\xreg1\().8b, \()\xreg3\().8b ++ ld1 {\()\yacc2\().s}[2], [TMP2], STRIDE ++ vzip \()\xreg2\().8b, \()\xreg4\().8b ++ ld1 {\()\yacc2\().s}[1], [TMP1] ++ vzip \()\xreg3\().8b, \()\xreg4\().8b ++ ld1 {\()\yacc2\().s}[3], [TMP2] ++ vzip \()\xreg1\().8b, \()\xreg2\().8b ++ convert_0565_to_x888 \yacc2, \yreg3, \yreg2, \yreg1 ++ umull \()\xacc1\().8h, \()\xreg1\().8b, v28.8b ++ vzip \()\yreg1\().8b, \()\yreg3\().8b ++ umlal \()\xacc1\().8h, \()\xreg2\().8b, v29.8b ++ vzip \()\yreg2\().8b, \()\yreg4\().8b ++ umull \()\xacc2\().8h, \()\xreg3\().8b, v28.8b ++ vzip \()\yreg3\().8b, \()\yreg4\().8b ++ umlal \()\xacc2\().8h, \()\xreg4\().8b, v29.8b ++ vzip \()\yreg1\().8b, \()\yreg2\().8b ++ umull \()\yacc1\().8h, \()\yreg1\().8b, v28.8b ++ umlal \()\yacc1\().8h, \()\yreg2\().8b, v29.8b ++ umull \()\yacc2\().8h, \()\yreg3\().8b, v28.8b ++ umlal \()\yacc2\().8h, \()\yreg4\().8b, v29.8b + .endm + + .macro bilinear_store_8888 numpix, tmp1, tmp2 +-.if numpix == 4 ++.if \numpix == 4 + st1 {v0.2s, v1.2s}, [OUT], #16 +-.elseif numpix == 2 ++.elseif \numpix == 2 + st1 {v0.2s}, [OUT], #8 +-.elseif numpix == 1 ++.elseif \numpix == 1 + st1 {v0.s}[0], [OUT], #4 + .else +- .error bilinear_store_8888 numpix is unsupported ++ .error bilinear_store_8888 \numpix is unsupported + .endif + .endm + +@@ -3264,20 +3264,20 @@ generate_composite_function_nearest_scanline \ + vuzp v2.8b, v3.8b + vuzp v1.8b, v3.8b + vuzp v0.8b, v2.8b +- convert_8888_to_0565 v2, v1, v0, v1, tmp1, tmp2 +-.if numpix == 4 ++ convert_8888_to_0565 v2, v1, v0, v1, \tmp1, \tmp2 ++.if \numpix == 4 + st1 {v1.4h}, [OUT], #8 +-.elseif numpix == 2 ++.elseif \numpix == 2 + st1 {v1.s}[0], [OUT], #4 +-.elseif numpix == 1 ++.elseif \numpix == 1 + st1 {v1.h}[0], [OUT], #2 + .else +- .error bilinear_store_0565 numpix is unsupported ++ .error bilinear_store_0565 \numpix is unsupported + .endif + .endm + + .macro bilinear_interpolate_last_pixel src_fmt, dst_fmt +- bilinear_load_&src_fmt v0, v1, v2 ++ bilinear_load_\()\src_fmt v0, v1, v2 + umull v2.8h, v0.8b, v28.8b + umlal v2.8h, v1.8b, v29.8b + /* 5 cycles bubble */ +@@ -3289,11 +3289,11 @@ generate_composite_function_nearest_scanline \ + /* 3 cycles bubble */ + xtn v0.8b, v0.8h + /* 1 cycle bubble */ +- bilinear_store_&dst_fmt 1, v3, v4 ++ bilinear_store_\()\dst_fmt 1, v3, v4 + .endm + + .macro bilinear_interpolate_two_pixels src_fmt, dst_fmt +- bilinear_load_and_vertical_interpolate_two_&src_fmt \ ++ bilinear_load_and_vertical_interpolate_two_\()\src_fmt \ + v1, v11, v2, v3, v20, v21, v22, v23 + ushll v0.4s, v1.4h, #BILINEAR_INTERPOLATION_BITS + umlsl v0.4s, v1.4h, v15.h[0] +@@ -3306,12 +3306,12 @@ generate_composite_function_nearest_scanline \ + ushr v15.8h, v12.8h, #(16 - BILINEAR_INTERPOLATION_BITS) + add v12.8h, v12.8h, v13.8h + xtn v0.8b, v0.8h +- bilinear_store_&dst_fmt 2, v3, v4 ++ bilinear_store_\()\dst_fmt 2, v3, v4 + .endm + + .macro bilinear_interpolate_four_pixels src_fmt, dst_fmt +- bilinear_load_and_vertical_interpolate_four_&src_fmt \ +- v1, v11, v14, v20, v16, v17, v22, v23 \ ++ bilinear_load_and_vertical_interpolate_four_\()\src_fmt \ ++ v1, v11, v14, v20, v16, v17, v22, v23, \ + v3, v9, v24, v25, v26, v27, v18, v19 + prfm PREFETCH_MODE, [TMP1, PF_OFFS] + sub TMP1, TMP1, STRIDE +@@ -3338,54 +3338,54 @@ generate_composite_function_nearest_scanline \ + xtn v0.8b, v0.8h + xtn v1.8b, v2.8h + add v12.8h, v12.8h, v13.8h +- bilinear_store_&dst_fmt 4, v3, v4 ++ bilinear_store_\()\dst_fmt 4, v3, v4 + .endm + + .macro bilinear_interpolate_four_pixels_head src_fmt, dst_fmt +-.ifdef have_bilinear_interpolate_four_pixels_&src_fmt&_&dst_fmt +- bilinear_interpolate_four_pixels_&src_fmt&_&dst_fmt&_head ++.ifdef have_bilinear_interpolate_four_pixels_\()\src_fmt\()_\()\dst_fmt ++ bilinear_interpolate_four_pixels_\()\src_fmt\()_\()\dst_fmt\()_head + .else +- bilinear_interpolate_four_pixels src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels \src_fmt, \dst_fmt + .endif + .endm + + .macro bilinear_interpolate_four_pixels_tail src_fmt, dst_fmt +-.ifdef have_bilinear_interpolate_four_pixels_&src_fmt&_&dst_fmt +- bilinear_interpolate_four_pixels_&src_fmt&_&dst_fmt&_tail ++.ifdef have_bilinear_interpolate_four_pixels_\()\src_fmt\()_\()\dst_fmt ++ bilinear_interpolate_four_pixels_\()\src_fmt\()_\()\dst_fmt\()_tail + .endif + .endm + + .macro bilinear_interpolate_four_pixels_tail_head src_fmt, dst_fmt +-.ifdef have_bilinear_interpolate_four_pixels_&src_fmt&_&dst_fmt +- bilinear_interpolate_four_pixels_&src_fmt&_&dst_fmt&_tail_head ++.ifdef have_bilinear_interpolate_four_pixels_\()\src_fmt\()_\()\dst_fmt ++ bilinear_interpolate_four_pixels_\()\src_fmt\()_\()\dst_fmt\()_tail_head + .else +- bilinear_interpolate_four_pixels src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels \src_fmt, \dst_fmt + .endif + .endm + + .macro bilinear_interpolate_eight_pixels_head src_fmt, dst_fmt +-.ifdef have_bilinear_interpolate_eight_pixels_&src_fmt&_&dst_fmt +- bilinear_interpolate_eight_pixels_&src_fmt&_&dst_fmt&_head ++.ifdef have_bilinear_interpolate_eight_pixels_\()\src_fmt\()_\()\dst_fmt ++ bilinear_interpolate_eight_pixels_\()\src_fmt\()_\()\dst_fmt\()_head + .else +- bilinear_interpolate_four_pixels_head src_fmt, dst_fmt +- bilinear_interpolate_four_pixels_tail_head src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels_head \src_fmt, \dst_fmt ++ bilinear_interpolate_four_pixels_tail_head \src_fmt, \dst_fmt + .endif + .endm + + .macro bilinear_interpolate_eight_pixels_tail src_fmt, dst_fmt +-.ifdef have_bilinear_interpolate_eight_pixels_&src_fmt&_&dst_fmt +- bilinear_interpolate_eight_pixels_&src_fmt&_&dst_fmt&_tail ++.ifdef have_bilinear_interpolate_eight_pixels_\()\src_fmt\()_\()\dst_fmt ++ bilinear_interpolate_eight_pixels_\()\src_fmt\()_\()\dst_fmt\()_tail + .else +- bilinear_interpolate_four_pixels_tail src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels_tail \src_fmt, \dst_fmt + .endif + .endm + + .macro bilinear_interpolate_eight_pixels_tail_head src_fmt, dst_fmt +-.ifdef have_bilinear_interpolate_eight_pixels_&src_fmt&_&dst_fmt +- bilinear_interpolate_eight_pixels_&src_fmt&_&dst_fmt&_tail_head ++.ifdef have_bilinear_interpolate_eight_pixels_\()\src_fmt\()_\()\dst_fmt ++ bilinear_interpolate_eight_pixels_\()\src_fmt\()_\()\dst_fmt\()_tail_head + .else +- bilinear_interpolate_four_pixels_tail_head src_fmt, dst_fmt +- bilinear_interpolate_four_pixels_tail_head src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels_tail_head \src_fmt, \dst_fmt ++ bilinear_interpolate_four_pixels_tail_head \src_fmt, \dst_fmt + .endif + .endm + +@@ -3410,7 +3410,7 @@ generate_composite_function_nearest_scanline \ + src_bpp_shift, dst_bpp_shift, \ + prefetch_distance, flags + +-pixman_asm_function fname ++pixman_asm_function \fname + OUT .req x0 + TOP .req x1 + BOTTOM .req x2 +@@ -3442,7 +3442,7 @@ pixman_asm_function fname + stp x10, x11, [x29, -96] + stp x12, x13, [x29, -112] + +- mov PF_OFFS, #prefetch_distance ++ mov PF_OFFS, #\prefetch_distance + mul PF_OFFS, PF_OFFS, UX + + subs STRIDE, BOTTOM, TOP +@@ -3463,11 +3463,11 @@ pixman_asm_function fname + /* ensure good destination alignment */ + cmp WIDTH, #1 + blt 100f +- tst OUT, #(1 << dst_bpp_shift) ++ tst OUT, #(1 << \dst_bpp_shift) + beq 100f + ushr v15.8h, v12.8h, #(16 - BILINEAR_INTERPOLATION_BITS) + add v12.8h, v12.8h, v13.8h +- bilinear_interpolate_last_pixel src_fmt, dst_fmt ++ bilinear_interpolate_last_pixel \src_fmt, \dst_fmt + sub WIDTH, WIDTH, #1 + 100: + add v13.8h, v13.8h, v13.8h +@@ -3476,62 +3476,62 @@ pixman_asm_function fname + + cmp WIDTH, #2 + blt 100f +- tst OUT, #(1 << (dst_bpp_shift + 1)) ++ tst OUT, #(1 << (\dst_bpp_shift + 1)) + beq 100f +- bilinear_interpolate_two_pixels src_fmt, dst_fmt ++ bilinear_interpolate_two_pixels \src_fmt, \dst_fmt + sub WIDTH, WIDTH, #2 + 100: +-.if ((flags) & BILINEAR_FLAG_UNROLL_8) != 0 ++.if ((\flags) & BILINEAR_FLAG_UNROLL_8) != 0 + /*********** 8 pixels per iteration *****************/ + cmp WIDTH, #4 + blt 100f +- tst OUT, #(1 << (dst_bpp_shift + 2)) ++ tst OUT, #(1 << (\dst_bpp_shift + 2)) + beq 100f +- bilinear_interpolate_four_pixels src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels \src_fmt, \dst_fmt + sub WIDTH, WIDTH, #4 + 100: + subs WIDTH, WIDTH, #8 + blt 100f +- asr PF_OFFS, PF_OFFS, #(16 - src_bpp_shift) +- bilinear_interpolate_eight_pixels_head src_fmt, dst_fmt ++ asr PF_OFFS, PF_OFFS, #(16 - \src_bpp_shift) ++ bilinear_interpolate_eight_pixels_head \src_fmt, \dst_fmt + subs WIDTH, WIDTH, #8 + blt 500f + 1000: +- bilinear_interpolate_eight_pixels_tail_head src_fmt, dst_fmt ++ bilinear_interpolate_eight_pixels_tail_head \src_fmt, \dst_fmt + subs WIDTH, WIDTH, #8 + bge 1000b + 500: +- bilinear_interpolate_eight_pixels_tail src_fmt, dst_fmt ++ bilinear_interpolate_eight_pixels_tail \src_fmt, \dst_fmt + 100: + tst WIDTH, #4 + beq 200f +- bilinear_interpolate_four_pixels src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels \src_fmt, \dst_fmt + 200: + .else + /*********** 4 pixels per iteration *****************/ + subs WIDTH, WIDTH, #4 + blt 100f +- asr PF_OFFS, PF_OFFS, #(16 - src_bpp_shift) +- bilinear_interpolate_four_pixels_head src_fmt, dst_fmt ++ asr PF_OFFS, PF_OFFS, #(16 - \src_bpp_shift) ++ bilinear_interpolate_four_pixels_head \src_fmt, \dst_fmt + subs WIDTH, WIDTH, #4 + blt 500f + 1000: +- bilinear_interpolate_four_pixels_tail_head src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels_tail_head \src_fmt, \dst_fmt + subs WIDTH, WIDTH, #4 + bge 1000b + 500: +- bilinear_interpolate_four_pixels_tail src_fmt, dst_fmt ++ bilinear_interpolate_four_pixels_tail \src_fmt, \dst_fmt + 100: + /****************************************************/ + .endif + /* handle the remaining trailing pixels */ + tst WIDTH, #2 + beq 200f +- bilinear_interpolate_two_pixels src_fmt, dst_fmt ++ bilinear_interpolate_two_pixels \src_fmt, \dst_fmt + 200: + tst WIDTH, #1 + beq 300f +- bilinear_interpolate_last_pixel src_fmt, dst_fmt ++ bilinear_interpolate_last_pixel \src_fmt, \dst_fmt + 300: + sub x29, x29, 64 + ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], #32 +@@ -3556,7 +3556,7 @@ pixman_asm_function fname + .unreq TMP3 + .unreq TMP4 + .unreq STRIDE +-.endfunc ++pixman_end_asm_function + + .endm + +diff --git a/pixman/pixman-arma64-neon-asm.h b/pixman/pixman-arma64-neon-asm.h +index 5d93172..6aa6838 100644 +--- a/pixman/pixman-arma64-neon-asm.h ++++ b/pixman/pixman-arma64-neon-asm.h +@@ -80,146 +80,146 @@ + */ + + .macro pixldst1 op, elem_size, reg1, mem_operand, abits +- op {v®1&.&elem_size}, [&mem_operand&], #8 ++ \op {v\()\reg1\().\()\elem_size}, [\()\mem_operand\()], #8 + .endm + + .macro pixldst2 op, elem_size, reg1, reg2, mem_operand, abits +- op {v®1&.&elem_size, v®2&.&elem_size}, [&mem_operand&], #16 ++ \op {v\()\reg1\().\()\elem_size, v\()\reg2\().\()\elem_size}, [\()\mem_operand\()], #16 + .endm + + .macro pixldst4 op, elem_size, reg1, reg2, reg3, reg4, mem_operand, abits +- op {v®1&.&elem_size, v®2&.&elem_size, v®3&.&elem_size, v®4&.&elem_size}, [&mem_operand&], #32 ++ \op {v\()\reg1\().\()\elem_size, v\()\reg2\().\()\elem_size, v\()\reg3\().\()\elem_size, v\()\reg4\().\()\elem_size}, [\()\mem_operand\()], #32 + .endm + + .macro pixldst0 op, elem_size, reg1, idx, mem_operand, abits, bytes +- op {v®1&.&elem_size}[idx], [&mem_operand&], #&bytes& ++ \op {v\()\reg1\().\()\elem_size}[\idx], [\()\mem_operand\()], #\()\bytes\() + .endm + + .macro pixldst3 op, elem_size, reg1, reg2, reg3, mem_operand +- op {v®1&.&elem_size, v®2&.&elem_size, v®3&.&elem_size}, [&mem_operand&], #24 ++ \op {v\()\reg1\().\()\elem_size, v\()\reg2\().\()\elem_size, v\()\reg3\().\()\elem_size}, [\()\mem_operand\()], #24 + .endm + + .macro pixldst30 op, elem_size, reg1, reg2, reg3, idx, mem_operand +- op {v®1&.&elem_size, v®2&.&elem_size, v®3&.&elem_size}[idx], [&mem_operand&], #3 ++ \op {v\()\reg1\().\()\elem_size, v\()\reg2\().\()\elem_size, v\()\reg3\().\()\elem_size}[\idx], [\()\mem_operand\()], #3 + .endm + + .macro pixldst numbytes, op, elem_size, basereg, mem_operand, abits +-.if numbytes == 32 +- .if elem_size==32 +- pixldst4 op, 2s, %(basereg+4), %(basereg+5), \ +- %(basereg+6), %(basereg+7), mem_operand, abits +- .elseif elem_size==16 +- pixldst4 op, 4h, %(basereg+4), %(basereg+5), \ +- %(basereg+6), %(basereg+7), mem_operand, abits ++.if \numbytes == 32 ++ .if \elem_size==32 ++ pixldst4 \op, 2s, %(\basereg+4), %(\basereg+5), \ ++ %(\basereg+6), %(\basereg+7), \mem_operand, \abits ++ .elseif \elem_size==16 ++ pixldst4 \op, 4h, %(\basereg+4), %(\basereg+5), \ ++ %(\basereg+6), %(\basereg+7), \mem_operand, \abits + .else +- pixldst4 op, 8b, %(basereg+4), %(basereg+5), \ +- %(basereg+6), %(basereg+7), mem_operand, abits ++ pixldst4 \op, 8b, %(\basereg+4), %(\basereg+5), \ ++ %(\basereg+6), %(\basereg+7), \mem_operand, \abits + .endif +-.elseif numbytes == 16 +- .if elem_size==32 +- pixldst2 op, 2s, %(basereg+2), %(basereg+3), mem_operand, abits +- .elseif elem_size==16 +- pixldst2 op, 4h, %(basereg+2), %(basereg+3), mem_operand, abits ++.elseif \numbytes == 16 ++ .if \elem_size==32 ++ pixldst2 \op, 2s, %(\basereg+2), %(\basereg+3), \mem_operand, \abits ++ .elseif \elem_size==16 ++ pixldst2 \op, 4h, %(\basereg+2), %(\basereg+3), \mem_operand, \abits + .else +- pixldst2 op, 8b, %(basereg+2), %(basereg+3), mem_operand, abits ++ pixldst2 \op, 8b, %(\basereg+2), %(\basereg+3), \mem_operand, \abits + .endif +-.elseif numbytes == 8 +- .if elem_size==32 +- pixldst1 op, 2s, %(basereg+1), mem_operand, abits +- .elseif elem_size==16 +- pixldst1 op, 4h, %(basereg+1), mem_operand, abits ++.elseif \numbytes == 8 ++ .if \elem_size==32 ++ pixldst1 \op, 2s, %(\basereg+1), \mem_operand, \abits ++ .elseif \elem_size==16 ++ pixldst1 \op, 4h, %(\basereg+1), \mem_operand, \abits + .else +- pixldst1 op, 8b, %(basereg+1), mem_operand, abits ++ pixldst1 \op, 8b, %(\basereg+1), \mem_operand, \abits + .endif +-.elseif numbytes == 4 +- .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 32) +- pixldst0 op, s, %(basereg+0), 1, mem_operand, abits, 4 +- .elseif elem_size == 16 +- pixldst0 op, h, %(basereg+0), 2, mem_operand, abits, 2 +- pixldst0 op, h, %(basereg+0), 3, mem_operand, abits, 2 ++.elseif \numbytes == 4 ++ .if !RESPECT_STRICT_ALIGNMENT || (\elem_size == 32) ++ pixldst0 \op, s, %(\basereg+0), 1, \mem_operand, \abits, 4 ++ .elseif \elem_size == 16 ++ pixldst0 \op, h, %(\basereg+0), 2, \mem_operand, \abits, 2 ++ pixldst0 \op, h, %(\basereg+0), 3, \mem_operand, \abits, 2 + .else +- pixldst0 op, b, %(basereg+0), 4, mem_operand, abits, 1 +- pixldst0 op, b, %(basereg+0), 5, mem_operand, abits, 1 +- pixldst0 op, b, %(basereg+0), 6, mem_operand, abits, 1 +- pixldst0 op, b, %(basereg+0), 7, mem_operand, abits, 1 ++ pixldst0 \op, b, %(\basereg+0), 4, \mem_operand, \abits, 1 ++ pixldst0 \op, b, %(\basereg+0), 5, \mem_operand, \abits, 1 ++ pixldst0 \op, b, %(\basereg+0), 6, \mem_operand, \abits, 1 ++ pixldst0 \op, b, %(\basereg+0), 7, \mem_operand, \abits, 1 + .endif +-.elseif numbytes == 2 +- .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 16) +- pixldst0 op, h, %(basereg+0), 1, mem_operand, abits, 2 ++.elseif \numbytes == 2 ++ .if !RESPECT_STRICT_ALIGNMENT || (\elem_size == 16) ++ pixldst0 \op, h, %(\basereg+0), 1, \mem_operand, \abits, 2 + .else +- pixldst0 op, b, %(basereg+0), 2, mem_operand, abits, 1 +- pixldst0 op, b, %(basereg+0), 3, mem_operand, abits, 1 ++ pixldst0 \op, b, %(\basereg+0), 2, \mem_operand, \abits, 1 ++ pixldst0 \op, b, %(\basereg+0), 3, \mem_operand, \abits, 1 + .endif +-.elseif numbytes == 1 +- pixldst0 op, b, %(basereg+0), 1, mem_operand, abits, 1 ++.elseif \numbytes == 1 ++ pixldst0 \op, b, %(\basereg+0), 1, \mem_operand, \abits, 1 + .else +- .error "unsupported size: numbytes" ++ .error "unsupported size: \numbytes" + .endif + .endm + + .macro pixld numpix, bpp, basereg, mem_operand, abits=0 +-.if bpp > 0 +-.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) +- pixldst4 ld4, 8b, %(basereg+4), %(basereg+5), \ +- %(basereg+6), %(basereg+7), mem_operand, abits +-.elseif (bpp == 24) && (numpix == 8) +- pixldst3 ld3, 8b, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand +-.elseif (bpp == 24) && (numpix == 4) +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand +-.elseif (bpp == 24) && (numpix == 2) +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand +-.elseif (bpp == 24) && (numpix == 1) +- pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand ++.if \bpp > 0 ++.if (\bpp == 32) && (\numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) ++ pixldst4 ld4, 8b, %(\basereg+4), %(\basereg+5), \ ++ %(\basereg+6), %(\basereg+7), \mem_operand, \abits ++.elseif (\bpp == 24) && (\numpix == 8) ++ pixldst3 ld3, 8b, %(\basereg+3), %(\basereg+4), %(\basereg+5), \mem_operand ++.elseif (\bpp == 24) && (\numpix == 4) ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 4, \mem_operand ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 5, \mem_operand ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 6, \mem_operand ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 7, \mem_operand ++.elseif (\bpp == 24) && (\numpix == 2) ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 2, \mem_operand ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 3, \mem_operand ++.elseif (\bpp == 24) && (\numpix == 1) ++ pixldst30 ld3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 1, \mem_operand + .else +- pixldst %(numpix * bpp / 8), ld1, %(bpp), basereg, mem_operand, abits ++ pixldst %(\numpix * \bpp / 8), ld1, %(\bpp), \basereg, \mem_operand, \abits + .endif + .endif + .endm + + .macro pixst numpix, bpp, basereg, mem_operand, abits=0 +-.if bpp > 0 +-.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) +- pixldst4 st4, 8b, %(basereg+4), %(basereg+5), \ +- %(basereg+6), %(basereg+7), mem_operand, abits +-.elseif (bpp == 24) && (numpix == 8) +- pixldst3 st3, 8b, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand +-.elseif (bpp == 24) && (numpix == 4) +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand +-.elseif (bpp == 24) && (numpix == 2) +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand +-.elseif (bpp == 24) && (numpix == 1) +- pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand +-.elseif numpix * bpp == 32 && abits == 32 +- pixldst 4, st1, 32, basereg, mem_operand, abits +-.elseif numpix * bpp == 16 && abits == 16 +- pixldst 2, st1, 16, basereg, mem_operand, abits ++.if \bpp > 0 ++.if (\bpp == 32) && (\numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) ++ pixldst4 st4, 8b, %(\basereg+4), %(\basereg+5), \ ++ %(\basereg+6), %(\basereg+7), \mem_operand, \abits ++.elseif (\bpp == 24) && (\numpix == 8) ++ pixldst3 st3, 8b, %(\basereg+3), %(\basereg+4), %(\basereg+5), \mem_operand ++.elseif (\bpp == 24) && (\numpix == 4) ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 4, \mem_operand ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 5, \mem_operand ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 6, \mem_operand ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 7, \mem_operand ++.elseif (\bpp == 24) && (\numpix == 2) ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 2, \mem_operand ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 3, \mem_operand ++.elseif (\bpp == 24) && (\numpix == 1) ++ pixldst30 st3, b, %(\basereg+0), %(\basereg+1), %(\basereg+2), 1, \mem_operand ++.elseif \numpix * \bpp == 32 && \abits == 32 ++ pixldst 4, st1, 32, \basereg, \mem_operand, \abits ++.elseif \numpix * \bpp == 16 && \abits == 16 ++ pixldst 2, st1, 16, \basereg, \mem_operand, \abits + .else +- pixldst %(numpix * bpp / 8), st1, %(bpp), basereg, mem_operand, abits ++ pixldst %(\numpix * \bpp / 8), st1, %(\bpp), \basereg, \mem_operand, \abits + .endif + .endif + .endm + + .macro pixld_a numpix, bpp, basereg, mem_operand +-.if (bpp * numpix) <= 128 +- pixld numpix, bpp, basereg, mem_operand, %(bpp * numpix) ++.if (\bpp * \numpix) <= 128 ++ pixld \numpix, \bpp, \basereg, \mem_operand, %(\bpp * \numpix) + .else +- pixld numpix, bpp, basereg, mem_operand, 128 ++ pixld \numpix, \bpp, \basereg, \mem_operand, 128 + .endif + .endm + + .macro pixst_a numpix, bpp, basereg, mem_operand +-.if (bpp * numpix) <= 128 +- pixst numpix, bpp, basereg, mem_operand, %(bpp * numpix) ++.if (\bpp * \numpix) <= 128 ++ pixst \numpix, \bpp, \basereg, \mem_operand, %(\bpp * \numpix) + .else +- pixst numpix, bpp, basereg, mem_operand, 128 ++ pixst \numpix, \bpp, \basereg, \mem_operand, 128 + .endif + .endm + +@@ -228,96 +228,96 @@ + * aliases to be defined) + */ + .macro pixld1_s elem_size, reg1, mem_operand +-.if elem_size == 16 ++.if \elem_size == 16 + asr TMP1, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP1, mem_operand, TMP1, lsl #1 ++ add TMP1, \mem_operand, TMP1, lsl #1 + asr TMP2, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP2, mem_operand, TMP2, lsl #1 +- ld1 {v®1&.h}[0], [TMP1] ++ add TMP2, \mem_operand, TMP2, lsl #1 ++ ld1 {v\()\reg1\().h}[0], [TMP1] + asr TMP1, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP1, mem_operand, TMP1, lsl #1 +- ld1 {v®1&.h}[1], [TMP2] ++ add TMP1, \mem_operand, TMP1, lsl #1 ++ ld1 {v\()\reg1\().h}[1], [TMP2] + asr TMP2, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP2, mem_operand, TMP2, lsl #1 +- ld1 {v®1&.h}[2], [TMP1] +- ld1 {v®1&.h}[3], [TMP2] +-.elseif elem_size == 32 ++ add TMP2, \mem_operand, TMP2, lsl #1 ++ ld1 {v\()\reg1\().h}[2], [TMP1] ++ ld1 {v\()\reg1\().h}[3], [TMP2] ++.elseif \elem_size == 32 + asr TMP1, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP1, mem_operand, TMP1, lsl #2 ++ add TMP1, \mem_operand, TMP1, lsl #2 + asr TMP2, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP2, mem_operand, TMP2, lsl #2 +- ld1 {v®1&.s}[0], [TMP1] +- ld1 {v®1&.s}[1], [TMP2] ++ add TMP2, \mem_operand, TMP2, lsl #2 ++ ld1 {v\()\reg1\().s}[0], [TMP1] ++ ld1 {v\()\reg1\().s}[1], [TMP2] + .else + .error "unsupported" + .endif + .endm + + .macro pixld2_s elem_size, reg1, reg2, mem_operand +-.if 0 /* elem_size == 32 */ ++.if 0 /* \elem_size == 32 */ + mov TMP1, VX, asr #16 + add VX, VX, UNIT_X, asl #1 +- add TMP1, mem_operand, TMP1, asl #2 ++ add TMP1, \mem_operand, TMP1, asl #2 + mov TMP2, VX, asr #16 + sub VX, VX, UNIT_X +- add TMP2, mem_operand, TMP2, asl #2 +- ld1 {v®1&.s}[0], [TMP1] ++ add TMP2, \mem_operand, TMP2, asl #2 ++ ld1 {v\()\reg1\().s}[0], [TMP1] + mov TMP1, VX, asr #16 + add VX, VX, UNIT_X, asl #1 +- add TMP1, mem_operand, TMP1, asl #2 +- ld1 {v®2&.s}[0], [TMP2, :32] ++ add TMP1, \mem_operand, TMP1, asl #2 ++ ld1 {v\()\reg2\().s}[0], [TMP2, :32] + mov TMP2, VX, asr #16 + add VX, VX, UNIT_X +- add TMP2, mem_operand, TMP2, asl #2 +- ld1 {v®1&.s}[1], [TMP1] +- ld1 {v®2&.s}[1], [TMP2] ++ add TMP2, \mem_operand, TMP2, asl #2 ++ ld1 {v\()\reg1\().s}[1], [TMP1] ++ ld1 {v\()\reg2\().s}[1], [TMP2] + .else +- pixld1_s elem_size, reg1, mem_operand +- pixld1_s elem_size, reg2, mem_operand ++ pixld1_s \elem_size, \reg1, \mem_operand ++ pixld1_s \elem_size, \reg2, \mem_operand + .endif + .endm + + .macro pixld0_s elem_size, reg1, idx, mem_operand +-.if elem_size == 16 ++.if \elem_size == 16 + asr TMP1, VX, #16 + adds VX, VX, UNIT_X + bmi 55f + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP1, mem_operand, TMP1, lsl #1 +- ld1 {v®1&.h}[idx], [TMP1] +-.elseif elem_size == 32 ++ add TMP1, \mem_operand, TMP1, lsl #1 ++ ld1 {v\()\reg1\().h}[\idx], [TMP1] ++.elseif \elem_size == 32 + asr DUMMY, VX, #16 + mov TMP1, DUMMY + adds VX, VX, UNIT_X +@@ -325,85 +325,85 @@ + 5: subs VX, VX, SRC_WIDTH_FIXED + bpl 5b + 55: +- add TMP1, mem_operand, TMP1, lsl #2 +- ld1 {v®1&.s}[idx], [TMP1] ++ add TMP1, \mem_operand, TMP1, lsl #2 ++ ld1 {v\()\reg1\().s}[\idx], [TMP1] + .endif + .endm + + .macro pixld_s_internal numbytes, elem_size, basereg, mem_operand +-.if numbytes == 32 +- pixld2_s elem_size, %(basereg+4), %(basereg+5), mem_operand +- pixld2_s elem_size, %(basereg+6), %(basereg+7), mem_operand +- pixdeinterleave elem_size, %(basereg+4) +-.elseif numbytes == 16 +- pixld2_s elem_size, %(basereg+2), %(basereg+3), mem_operand +-.elseif numbytes == 8 +- pixld1_s elem_size, %(basereg+1), mem_operand +-.elseif numbytes == 4 +- .if elem_size == 32 +- pixld0_s elem_size, %(basereg+0), 1, mem_operand +- .elseif elem_size == 16 +- pixld0_s elem_size, %(basereg+0), 2, mem_operand +- pixld0_s elem_size, %(basereg+0), 3, mem_operand ++.if \numbytes == 32 ++ pixld2_s \elem_size, %(\basereg+4), %(\basereg+5), \mem_operand ++ pixld2_s \elem_size, %(\basereg+6), %(\basereg+7), \mem_operand ++ pixdeinterleave \elem_size, %(\basereg+4) ++.elseif \numbytes == 16 ++ pixld2_s \elem_size, %(\basereg+2), %(\basereg+3), \mem_operand ++.elseif \numbytes == 8 ++ pixld1_s \elem_size, %(\basereg+1), \mem_operand ++.elseif \numbytes == 4 ++ .if \elem_size == 32 ++ pixld0_s \elem_size, %(\basereg+0), 1, \mem_operand ++ .elseif \elem_size == 16 ++ pixld0_s \elem_size, %(\basereg+0), 2, \mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 3, \mem_operand + .else +- pixld0_s elem_size, %(basereg+0), 4, mem_operand +- pixld0_s elem_size, %(basereg+0), 5, mem_operand +- pixld0_s elem_size, %(basereg+0), 6, mem_operand +- pixld0_s elem_size, %(basereg+0), 7, mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 4, \mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 5, \mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 6, \mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 7, \mem_operand + .endif +-.elseif numbytes == 2 +- .if elem_size == 16 +- pixld0_s elem_size, %(basereg+0), 1, mem_operand ++.elseif \numbytes == 2 ++ .if \elem_size == 16 ++ pixld0_s \elem_size, %(\basereg+0), 1, \mem_operand + .else +- pixld0_s elem_size, %(basereg+0), 2, mem_operand +- pixld0_s elem_size, %(basereg+0), 3, mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 2, \mem_operand ++ pixld0_s \elem_size, %(\basereg+0), 3, \mem_operand + .endif +-.elseif numbytes == 1 +- pixld0_s elem_size, %(basereg+0), 1, mem_operand ++.elseif \numbytes == 1 ++ pixld0_s \elem_size, %(\basereg+0), 1, \mem_operand + .else +- .error "unsupported size: numbytes" ++ .error "unsupported size: \numbytes" + .endif + .endm + + .macro pixld_s numpix, bpp, basereg, mem_operand +-.if bpp > 0 +- pixld_s_internal %(numpix * bpp / 8), %(bpp), basereg, mem_operand ++.if \bpp > 0 ++ pixld_s_internal %(\numpix * \bpp / 8), %(\bpp), \basereg, \mem_operand + .endif + .endm + + .macro vuzp8 reg1, reg2 + umov DUMMY, v16.d[0] +- uzp1 v16.8b, v®1&.8b, v®2&.8b +- uzp2 v®2&.8b, v®1&.8b, v®2&.8b +- mov v®1&.8b, v16.8b ++ uzp1 v16.8b, v\()\reg1\().8b, v\()\reg2\().8b ++ uzp2 v\()\reg2\().8b, v\()\reg1\().8b, v\()\reg2\().8b ++ mov v\()\reg1\().8b, v16.8b + mov v16.d[0], DUMMY + .endm + + .macro vzip8 reg1, reg2 + umov DUMMY, v16.d[0] +- zip1 v16.8b, v®1&.8b, v®2&.8b +- zip2 v®2&.8b, v®1&.8b, v®2&.8b +- mov v®1&.8b, v16.8b ++ zip1 v16.8b, v\()\reg1\().8b, v\()\reg2\().8b ++ zip2 v\()\reg2\().8b, v\()\reg1\().8b, v\()\reg2\().8b ++ mov v\()\reg1\().8b, v16.8b + mov v16.d[0], DUMMY + .endm + + /* deinterleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ + .macro pixdeinterleave bpp, basereg +-.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) +- vuzp8 %(basereg+0), %(basereg+1) +- vuzp8 %(basereg+2), %(basereg+3) +- vuzp8 %(basereg+1), %(basereg+3) +- vuzp8 %(basereg+0), %(basereg+2) ++.if (\bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) ++ vuzp8 %(\basereg+0), %(\basereg+1) ++ vuzp8 %(\basereg+2), %(\basereg+3) ++ vuzp8 %(\basereg+1), %(\basereg+3) ++ vuzp8 %(\basereg+0), %(\basereg+2) + .endif + .endm + + /* interleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ + .macro pixinterleave bpp, basereg +-.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) +- vzip8 %(basereg+0), %(basereg+2) +- vzip8 %(basereg+1), %(basereg+3) +- vzip8 %(basereg+2), %(basereg+3) +- vzip8 %(basereg+0), %(basereg+1) ++.if (\bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) ++ vzip8 %(\basereg+0), %(\basereg+2) ++ vzip8 %(\basereg+1), %(\basereg+3) ++ vzip8 %(\basereg+2), %(\basereg+3) ++ vzip8 %(\basereg+0), %(\basereg+1) + .endif + .endm + +@@ -437,52 +437,52 @@ + */ + .macro PF a, x:vararg + .if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_ADVANCED) +- a x ++ \a \x + .endif + .endm + + .macro cache_preload std_increment, boost_increment + .if (src_bpp_shift >= 0) || (dst_r_bpp != 0) || (mask_bpp_shift >= 0) +-.if std_increment != 0 +- PF add PF_X, PF_X, #std_increment ++.if \std_increment != 0 ++ PF add, PF_X, PF_X, #\std_increment + .endif +- PF tst PF_CTL, #0xF +- PF beq 71f +- PF add PF_X, PF_X, #boost_increment +- PF sub PF_CTL, PF_CTL, #1 ++ PF tst, PF_CTL, #0xF ++ PF beq, 71f ++ PF add, PF_X, PF_X, #\boost_increment ++ PF sub, PF_CTL, PF_CTL, #1 + 71: +- PF cmp PF_X, ORIG_W ++ PF cmp, PF_X, ORIG_W + .if src_bpp_shift >= 0 +- PF lsl DUMMY, PF_X, #src_bpp_shift +- PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] ++ PF lsl, DUMMY, PF_X, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_SRC, DUMMY] + .endif + .if dst_r_bpp != 0 +- PF lsl DUMMY, PF_X, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [PF_DST, DUMMY] ++ PF lsl, DUMMY, PF_X, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_DST, DUMMY] + .endif + .if mask_bpp_shift >= 0 +- PF lsl DUMMY, PF_X, #mask_bpp_shift +- PF prfm PREFETCH_MODE, [PF_MASK, DUMMY] ++ PF lsl, DUMMY, PF_X, #mask_bpp_shift ++ PF prfm, PREFETCH_MODE, [PF_MASK, DUMMY] + .endif +- PF ble 71f +- PF sub PF_X, PF_X, ORIG_W +- PF subs PF_CTL, PF_CTL, #0x10 ++ PF ble, 71f ++ PF sub, PF_X, PF_X, ORIG_W ++ PF subs, PF_CTL, PF_CTL, #0x10 + 71: +- PF ble 72f ++ PF ble, 72f + .if src_bpp_shift >= 0 +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF ldrsb DUMMY, [PF_SRC, DUMMY] +- PF add PF_SRC, PF_SRC, #1 ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF ldrsb, DUMMY, [PF_SRC, DUMMY] ++ PF add, PF_SRC, PF_SRC, #1 + .endif + .if dst_r_bpp != 0 +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF ldrsb DUMMY, [PF_DST, DUMMY] +- PF add PF_DST, PF_DST, #1 ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF ldrsb, DUMMY, [PF_DST, DUMMY] ++ PF add, PF_DST, PF_DST, #1 + .endif + .if mask_bpp_shift >= 0 +- PF lsl DUMMY, MASK_STRIDE, #mask_bpp_shift +- PF ldrsb DUMMY, [PF_MASK, DUMMY] +- PF add PF_MASK, PF_MASK, #1 ++ PF lsl, DUMMY, MASK_STRIDE, #mask_bpp_shift ++ PF ldrsb, DUMMY, [PF_MASK, DUMMY] ++ PF add, PF_MASK, PF_MASK, #1 + .endif + 72: + .endif +@@ -521,21 +521,21 @@ + + .if src_bpp > 0 || mask_bpp > 0 || dst_r_bpp > 0 + .irp lowbit, 1, 2, 4, 8, 16 +-local skip1 +-.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) +-.if lowbit < 16 /* we don't need more than 16-byte alignment */ +- tst DST_R, #lowbit ++ ++.if (dst_w_bpp <= (\lowbit * 8)) && ((\lowbit * 8) < (pixblock_size * dst_w_bpp)) ++.if \lowbit < 16 /* we don't need more than 16-byte alignment */ ++ tst DST_R, #\lowbit + beq 51f + .endif +- pixld_src (lowbit * 8 / dst_w_bpp), src_bpp, src_basereg, SRC +- pixld (lowbit * 8 / dst_w_bpp), mask_bpp, mask_basereg, MASK ++ pixld_src (\lowbit * 8 / dst_w_bpp), src_bpp, src_basereg, SRC ++ pixld (\lowbit * 8 / dst_w_bpp), mask_bpp, mask_basereg, MASK + .if dst_r_bpp > 0 +- pixld_a (lowbit * 8 / dst_r_bpp), dst_r_bpp, dst_r_basereg, DST_R ++ pixld_a (\lowbit * 8 / dst_r_bpp), dst_r_bpp, dst_r_basereg, DST_R + .else +- add DST_R, DST_R, #lowbit ++ add DST_R, DST_R, #\lowbit + .endif +- PF add PF_X, PF_X, #(lowbit * 8 / dst_w_bpp) +- sub W, W, #(lowbit * 8 / dst_w_bpp) ++ PF add, PF_X, PF_X, #(\lowbit * 8 / dst_w_bpp) ++ sub W, W, #(\lowbit * 8 / dst_w_bpp) + 51: + .endif + .endr +@@ -544,23 +544,23 @@ local skip1 + pixdeinterleave mask_bpp, mask_basereg + pixdeinterleave dst_r_bpp, dst_r_basereg + +- process_pixblock_head ++ \process_pixblock_head + cache_preload 0, pixblock_size + cache_preload_simple +- process_pixblock_tail ++ \process_pixblock_tail + + pixinterleave dst_w_bpp, dst_w_basereg + + .irp lowbit, 1, 2, 4, 8, 16 +-.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) +-.if lowbit < 16 /* we don't need more than 16-byte alignment */ +- tst DST_W, #lowbit ++.if (dst_w_bpp <= (\lowbit * 8)) && ((\lowbit * 8) < (pixblock_size * dst_w_bpp)) ++.if \lowbit < 16 /* we don't need more than 16-byte alignment */ ++ tst DST_W, #\lowbit + beq 51f + .endif + .if src_bpp == 0 && mask_bpp == 0 && dst_r_bpp == 0 +- sub W, W, #(lowbit * 8 / dst_w_bpp) ++ sub W, W, #(\lowbit * 8 / dst_w_bpp) + .endif +- pixst_a (lowbit * 8 / dst_w_bpp), dst_w_bpp, dst_w_basereg, DST_W ++ pixst_a (\lowbit * 8 / dst_w_bpp), dst_w_bpp, dst_w_basereg, DST_W + 51: + .endif + .endr +@@ -592,18 +592,18 @@ local skip1 + beq 52f + .if src_bpp > 0 || mask_bpp > 0 || dst_r_bpp > 0 + .irp chunk_size, 16, 8, 4, 2, 1 +-.if pixblock_size > chunk_size +- tst W, #chunk_size ++.if pixblock_size > \chunk_size ++ tst W, #\chunk_size + beq 51f +- pixld_src chunk_size, src_bpp, src_basereg, SRC +- pixld chunk_size, mask_bpp, mask_basereg, MASK +-.if dst_aligned_flag != 0 +- pixld_a chunk_size, dst_r_bpp, dst_r_basereg, DST_R ++ pixld_src \chunk_size, src_bpp, src_basereg, SRC ++ pixld \chunk_size, mask_bpp, mask_basereg, MASK ++.if \dst_aligned_flag != 0 ++ pixld_a \chunk_size, dst_r_bpp, dst_r_basereg, DST_R + .else +- pixld chunk_size, dst_r_bpp, dst_r_basereg, DST_R ++ pixld \chunk_size, dst_r_bpp, dst_r_basereg, DST_R + .endif +-.if cache_preload_flag != 0 +- PF add PF_X, PF_X, #chunk_size ++.if \cache_preload_flag != 0 ++ PF add, PF_X, PF_X, #\chunk_size + .endif + 51: + .endif +@@ -613,21 +613,21 @@ local skip1 + pixdeinterleave mask_bpp, mask_basereg + pixdeinterleave dst_r_bpp, dst_r_basereg + +- process_pixblock_head +-.if cache_preload_flag != 0 ++ \process_pixblock_head ++.if \cache_preload_flag != 0 + cache_preload 0, pixblock_size + cache_preload_simple + .endif +- process_pixblock_tail ++ \process_pixblock_tail + pixinterleave dst_w_bpp, dst_w_basereg + .irp chunk_size, 16, 8, 4, 2, 1 +-.if pixblock_size > chunk_size +- tst W, #chunk_size ++.if pixblock_size > \chunk_size ++ tst W, #\chunk_size + beq 51f +-.if dst_aligned_flag != 0 +- pixst_a chunk_size, dst_w_bpp, dst_w_basereg, DST_W ++.if \dst_aligned_flag != 0 ++ pixst_a \chunk_size, dst_w_bpp, dst_w_basereg, DST_W + .else +- pixst chunk_size, dst_w_bpp, dst_w_basereg, DST_W ++ pixst \chunk_size, dst_w_bpp, dst_w_basereg, DST_W + .endif + 51: + .endif +@@ -660,7 +660,7 @@ local skip1 + .endif + subs H, H, #1 + mov DST_R, DST_W +- bge start_of_loop_label ++ bge \start_of_loop_label + .endm + + /* +@@ -687,7 +687,7 @@ local skip1 + src_basereg_ = 0, \ + mask_basereg_ = 24 + +- pixman_asm_function fname ++ pixman_asm_function \fname + stp x29, x30, [sp, -16]! + mov x29, sp + sub sp, sp, 232 /* push all registers */ +@@ -712,10 +712,10 @@ local skip1 + * has to be used instead of ADVANCED. + */ + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_DEFAULT +-.if prefetch_distance == 0 ++.if \prefetch_distance == 0 + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE + .elseif (PREFETCH_TYPE_CURRENT > PREFETCH_TYPE_SIMPLE) && \ +- ((src_bpp_ == 24) || (mask_bpp_ == 24) || (dst_w_bpp_ == 24)) ++ ((\src_bpp_ == 24) || (\mask_bpp_ == 24) || (\dst_w_bpp_ == 24)) + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_SIMPLE + .endif + +@@ -723,17 +723,17 @@ local skip1 + * Make some macro arguments globally visible and accessible + * from other macros + */ +- .set src_bpp, src_bpp_ +- .set mask_bpp, mask_bpp_ +- .set dst_w_bpp, dst_w_bpp_ +- .set pixblock_size, pixblock_size_ +- .set dst_w_basereg, dst_w_basereg_ +- .set dst_r_basereg, dst_r_basereg_ +- .set src_basereg, src_basereg_ +- .set mask_basereg, mask_basereg_ ++ .set src_bpp, \src_bpp_ ++ .set mask_bpp, \mask_bpp_ ++ .set dst_w_bpp, \dst_w_bpp_ ++ .set pixblock_size, \pixblock_size_ ++ .set dst_w_basereg, \dst_w_basereg_ ++ .set dst_r_basereg, \dst_r_basereg_ ++ .set src_basereg, \src_basereg_ ++ .set mask_basereg, \mask_basereg_ + + .macro pixld_src x:vararg +- pixld x ++ pixld \x + .endm + .macro fetch_src_pixblock + pixld_src pixblock_size, src_bpp, \ +@@ -810,22 +810,22 @@ local skip1 + .error "requested dst bpp (dst_w_bpp) is not supported" + .endif + +-.if (((flags) & FLAG_DST_READWRITE) != 0) ++.if (((\flags) & FLAG_DST_READWRITE) != 0) + .set dst_r_bpp, dst_w_bpp + .else + .set dst_r_bpp, 0 + .endif +-.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) ++.if (((\flags) & FLAG_DEINTERLEAVE_32BPP) != 0) + .set DEINTERLEAVE_32BPP_ENABLED, 1 + .else + .set DEINTERLEAVE_32BPP_ENABLED, 0 + .endif + +-.if prefetch_distance < 0 || prefetch_distance > 15 +- .error "invalid prefetch distance (prefetch_distance)" ++.if \prefetch_distance < 0 || \prefetch_distance > 15 ++ .error "invalid prefetch distance (\prefetch_distance)" + .endif + +- PF mov PF_X, #0 ++ PF mov, PF_X, #0 + mov DST_R, DST_W + + .if src_bpp == 24 +@@ -844,15 +844,15 @@ local skip1 + /* + * Setup advanced prefetcher initial state + */ +- PF mov PF_SRC, SRC +- PF mov PF_DST, DST_R +- PF mov PF_MASK, MASK +- /* PF_CTL = prefetch_distance | ((h - 1) << 4) */ +- PF lsl DUMMY, H, #4 +- PF mov PF_CTL, DUMMY +- PF add PF_CTL, PF_CTL, #(prefetch_distance - 0x10) +- +- init ++ PF mov, PF_SRC, SRC ++ PF mov, PF_DST, DST_R ++ PF mov, PF_MASK, MASK ++ /* PF_CTL = \prefetch_distance | ((h - 1) << 4) */ ++ PF lsl, DUMMY, H, #4 ++ PF mov, PF_CTL, DUMMY ++ PF add, PF_CTL, PF_CTL, #(\prefetch_distance - 0x10) ++ ++ \init + subs H, H, #1 + mov ORIG_W, W + blt 9f +@@ -863,9 +863,9 @@ local skip1 + * long scanlines + */ + 0: +- ensure_destination_ptr_alignment process_pixblock_head, \ +- process_pixblock_tail, \ +- process_pixblock_tail_head ++ ensure_destination_ptr_alignment \process_pixblock_head, \ ++ \process_pixblock_tail, \ ++ \process_pixblock_tail_head + + /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ + pixld_a pixblock_size, dst_r_bpp, \ +@@ -873,32 +873,32 @@ local skip1 + fetch_src_pixblock + pixld pixblock_size, mask_bpp, \ + (mask_basereg - pixblock_size * mask_bpp / 64), MASK +- PF add PF_X, PF_X, #pixblock_size +- process_pixblock_head ++ PF add, PF_X, PF_X, #pixblock_size ++ \process_pixblock_head + cache_preload 0, pixblock_size + cache_preload_simple + subs W, W, #(pixblock_size * 2) + blt 200f + + 100: +- process_pixblock_tail_head ++ \process_pixblock_tail_head + cache_preload_simple + subs W, W, #pixblock_size + bge 100b + + 200: +- process_pixblock_tail ++ \process_pixblock_tail + pixst_a pixblock_size, dst_w_bpp, \ + (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W + + /* Process the remaining trailing pixels in the scanline */ + process_trailing_pixels 1, 1, \ +- process_pixblock_head, \ +- process_pixblock_tail, \ +- process_pixblock_tail_head ++ \process_pixblock_head, \ ++ \process_pixblock_tail, \ ++ \process_pixblock_tail_head + advance_to_next_scanline 0b + +- cleanup ++ \cleanup + 1000: + /* pop all registers */ + sub x29, x29, 64 +@@ -925,16 +925,16 @@ local skip1 + */ + 800: + .if src_bpp_shift >= 0 +- PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift +- PF prfm PREFETCH_MODE, [SRC, DUMMY] ++ PF lsl, DUMMY, SRC_STRIDE, #src_bpp_shift ++ PF prfm, PREFETCH_MODE, [SRC, DUMMY] + .endif + .if dst_r_bpp != 0 +- PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift +- PF prfm PREFETCH_MODE, [DST_R, DUMMY] ++ PF lsl, DUMMY, DST_STRIDE, #dst_bpp_shift ++ PF prfm, PREFETCH_MODE, [DST_R, DUMMY] + .endif + .if mask_bpp_shift >= 0 +- PF lsl DUMMY, MASK_STRIDE, #mask_bpp_shift +- PF prfm PREFETCH_MODE, [MASK, DUMMY] ++ PF lsl, DUMMY, MASK_STRIDE, #mask_bpp_shift ++ PF prfm, PREFETCH_MODE, [MASK, DUMMY] + .endif + /* Process exactly pixblock_size pixels if needed */ + tst W, #pixblock_size +@@ -944,19 +944,19 @@ local skip1 + fetch_src_pixblock + pixld pixblock_size, mask_bpp, \ + (mask_basereg - pixblock_size * mask_bpp / 64), MASK +- process_pixblock_head +- process_pixblock_tail ++ \process_pixblock_head ++ \process_pixblock_tail + pixst pixblock_size, dst_w_bpp, \ + (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W + 100: + /* Process the remaining trailing pixels in the scanline */ + process_trailing_pixels 0, 0, \ +- process_pixblock_head, \ +- process_pixblock_tail, \ +- process_pixblock_tail_head ++ \process_pixblock_head, \ ++ \process_pixblock_tail, \ ++ \process_pixblock_tail_head + advance_to_next_scanline 800b + 9: +- cleanup ++ \cleanup + /* pop all registers */ + sub x29, x29, 64 + ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 +@@ -995,7 +995,7 @@ local skip1 + .unreq PF_DST + .unreq PF_MASK + .unreq DUMMY +- .endfunc ++ pixman_end_asm_function + .endm + + /* +@@ -1019,23 +1019,23 @@ local skip1 + src_basereg_ = 0, \ + mask_basereg_ = 24 + +- pixman_asm_function fname ++ pixman_asm_function \fname + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE + + /* + * Make some macro arguments globally visible and accessible + * from other macros + */ +- .set src_bpp, src_bpp_ +- .set mask_bpp, mask_bpp_ +- .set dst_w_bpp, dst_w_bpp_ +- .set pixblock_size, pixblock_size_ +- .set dst_w_basereg, dst_w_basereg_ +- .set dst_r_basereg, dst_r_basereg_ +- .set src_basereg, src_basereg_ +- .set mask_basereg, mask_basereg_ +- +-.if use_nearest_scaling != 0 ++ .set src_bpp, \src_bpp_ ++ .set mask_bpp, \mask_bpp_ ++ .set dst_w_bpp, \dst_w_bpp_ ++ .set pixblock_size, \pixblock_size_ ++ .set dst_w_basereg, \dst_w_basereg_ ++ .set dst_r_basereg, \dst_r_basereg_ ++ .set src_basereg, \src_basereg_ ++ .set mask_basereg, \mask_basereg_ ++ ++.if \use_nearest_scaling != 0 + /* + * Assign symbolic names to registers for nearest scaling + */ +@@ -1052,7 +1052,7 @@ local skip1 + DUMMY .req x30 + + .macro pixld_src x:vararg +- pixld_s x ++ pixld_s \x + .endm + + sxtw x0, w0 +@@ -1080,7 +1080,7 @@ local skip1 + DUMMY .req x30 + + .macro pixld_src x:vararg +- pixld x ++ pixld \x + .endm + + sxtw x0, w0 +@@ -1093,12 +1093,12 @@ local skip1 + st1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 + .endif + +-.if (((flags) & FLAG_DST_READWRITE) != 0) ++.if (((\flags) & FLAG_DST_READWRITE) != 0) + .set dst_r_bpp, dst_w_bpp + .else + .set dst_r_bpp, 0 + .endif +-.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) ++.if (((\flags) & FLAG_DEINTERLEAVE_32BPP) != 0) + .set DEINTERLEAVE_32BPP_ENABLED, 1 + .else + .set DEINTERLEAVE_32BPP_ENABLED, 0 +@@ -1109,15 +1109,15 @@ local skip1 + (src_basereg - pixblock_size * src_bpp / 64), SRC + .endm + +- init ++ \init + mov DST_R, DST_W + + cmp W, #pixblock_size + blt 800f + +- ensure_destination_ptr_alignment process_pixblock_head, \ +- process_pixblock_tail, \ +- process_pixblock_tail_head ++ ensure_destination_ptr_alignment \process_pixblock_head, \ ++ \process_pixblock_tail, \ ++ \process_pixblock_tail_head + + subs W, W, #pixblock_size + blt 700f +@@ -1128,26 +1128,26 @@ local skip1 + fetch_src_pixblock + pixld pixblock_size, mask_bpp, \ + (mask_basereg - pixblock_size * mask_bpp / 64), MASK +- process_pixblock_head ++ \process_pixblock_head + subs W, W, #pixblock_size + blt 200f + 100: +- process_pixblock_tail_head ++ \process_pixblock_tail_head + subs W, W, #pixblock_size + bge 100b + 200: +- process_pixblock_tail ++ \process_pixblock_tail + pixst_a pixblock_size, dst_w_bpp, \ + (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W + 700: + /* Process the remaining trailing pixels in the scanline (dst aligned) */ + process_trailing_pixels 0, 1, \ +- process_pixblock_head, \ +- process_pixblock_tail, \ +- process_pixblock_tail_head ++ \process_pixblock_head, \ ++ \process_pixblock_tail, \ ++ \process_pixblock_tail_head + +- cleanup +-.if use_nearest_scaling != 0 ++ \cleanup ++.if \use_nearest_scaling != 0 + sub x29, x29, 64 + ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 + ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 +@@ -1167,12 +1167,12 @@ local skip1 + 800: + /* Process the remaining trailing pixels in the scanline (dst unaligned) */ + process_trailing_pixels 0, 0, \ +- process_pixblock_head, \ +- process_pixblock_tail, \ +- process_pixblock_tail_head ++ \process_pixblock_head, \ ++ \process_pixblock_tail, \ ++ \process_pixblock_tail_head + +- cleanup +-.if use_nearest_scaling != 0 ++ \cleanup ++.if \use_nearest_scaling != 0 + sub x29, x29, 64 + ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 + ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 +@@ -1213,15 +1213,15 @@ local skip1 + .purgem fetch_src_pixblock + .purgem pixld_src + +- .endfunc ++ pixman_end_asm_function + .endm + + .macro generate_composite_function_single_scanline x:vararg +- generate_composite_function_scanline 0, x ++ generate_composite_function_scanline 0, \x + .endm + + .macro generate_composite_function_nearest_scanline x:vararg +- generate_composite_function_scanline 1, x ++ generate_composite_function_scanline 1, \x + .endm + + /* Default prologue/epilogue, nothing special needs to be done */ +@@ -1255,22 +1255,22 @@ local skip1 + * value (in) is lost. + */ + .macro convert_0565_to_8888 in, out_a, out_r, out_g, out_b +- shrn &out_r&.8b, &in&.8h, #8 +- shrn &out_g&.8b, &in&.8h, #3 +- sli &in&.8h, &in&.8h, #5 +- movi &out_a&.8b, #255 +- sri &out_r&.8b, &out_r&.8b, #5 +- sri &out_g&.8b, &out_g&.8b, #6 +- shrn &out_b&.8b, &in&.8h, #2 ++ shrn \()\out_r\().8b, \()\in\().8h, #8 ++ shrn \()\out_g\().8b, \()\in\().8h, #3 ++ sli \()\in\().8h, \()\in\().8h, #5 ++ movi \()\out_a\().8b, #255 ++ sri \()\out_r\().8b, \()\out_r\().8b, #5 ++ sri \()\out_g\().8b, \()\out_g\().8b, #6 ++ shrn \()\out_b\().8b, \()\in\().8h, #2 + .endm + + .macro convert_0565_to_x888 in, out_r, out_g, out_b +- shrn &out_r&.8b, &in&.8h, #8 +- shrn &out_g&.8b, &in&.8h, #3 +- sli &in&.8h, &in&.8h, #5 +- sri &out_r&.8b, &out_r&.8b, #5 +- sri &out_g&.8b, &out_g&.8b, #6 +- shrn &out_b&.8b, &in&.8h, #2 ++ shrn \()\out_r\().8b, \()\in\().8h, #8 ++ shrn \()\out_g\().8b, \()\in\().8h, #3 ++ sli \()\in\().8h, \()\in\().8h, #5 ++ sri \()\out_r\().8b, \()\out_r\().8b, #5 ++ sri \()\out_g\().8b, \()\out_g\().8b, #6 ++ shrn \()\out_b\().8b, \()\in\().8h, #2 + .endm + + /* +@@ -1280,14 +1280,14 @@ local skip1 + * registers (tmp1, tmp2) + */ + .macro convert_8888_to_0565 in_r, in_g, in_b, out, tmp1, tmp2 +- ushll &tmp1&.8h, &in_g&.8b, #7 +- shl &tmp1&.8h, &tmp1&.8h, #1 +- ushll &out&.8h, &in_r&.8b, #7 +- shl &out&.8h, &out&.8h, #1 +- ushll &tmp2&.8h, &in_b&.8b, #7 +- shl &tmp2&.8h, &tmp2&.8h, #1 +- sri &out&.8h, &tmp1&.8h, #5 +- sri &out&.8h, &tmp2&.8h, #11 ++ ushll \()\tmp1\().8h, \()\in_g\().8b, #7 ++ shl \()\tmp1\().8h, \()\tmp1\().8h, #1 ++ ushll \()\out\().8h, \()\in_r\().8b, #7 ++ shl \()\out\().8h, \()\out\().8h, #1 ++ ushll \()\tmp2\().8h, \()\in_b\().8b, #7 ++ shl \()\tmp2\().8h, \()\tmp2\().8h, #1 ++ sri \()\out\().8h, \()\tmp1\().8h, #5 ++ sri \()\out\().8h, \()\tmp2\().8h, #11 + .endm + + /* +@@ -1297,14 +1297,14 @@ local skip1 + * value from 'in' is lost + */ + .macro convert_four_0565_to_x888_packed in, out0, out1, tmp +- shl &out0&.4h, &in&.4h, #5 /* G top 6 bits */ +- shl &tmp&.4h, &in&.4h, #11 /* B top 5 bits */ +- sri &in&.4h, &in&.4h, #5 /* R is ready in top bits */ +- sri &out0&.4h, &out0&.4h, #6 /* G is ready in top bits */ +- sri &tmp&.4h, &tmp&.4h, #5 /* B is ready in top bits */ +- ushr &out1&.4h, &in&.4h, #8 /* R is in place */ +- sri &out0&.4h, &tmp&.4h, #8 /* G & B is in place */ +- zip1 &tmp&.4h, &out0&.4h, &out1&.4h /* everything is in place */ +- zip2 &out1&.4h, &out0&.4h, &out1&.4h +- mov &out0&.d[0], &tmp&.d[0] ++ shl \()\out0\().4h, \()\in\().4h, #5 /* G top 6 bits */ ++ shl \()\tmp\().4h, \()\in\().4h, #11 /* B top 5 bits */ ++ sri \()\in\().4h, \()\in\().4h, #5 /* R is ready \in top bits */ ++ sri \()\out0\().4h, \()\out0\().4h, #6 /* G is ready \in top bits */ ++ sri \()\tmp\().4h, \()\tmp\().4h, #5 /* B is ready \in top bits */ ++ ushr \()\out1\().4h, \()\in\().4h, #8 /* R is \in place */ ++ sri \()\out0\().4h, \()\tmp\().4h, #8 /* G \() B is \in place */ ++ zip1 \()\tmp\().4h, \()\out0\().4h, \()\out1\().4h /* everything is \in place */ ++ zip2 \()\out1\().4h, \()\out0\().4h, \()\out1\().4h ++ mov \()\out0\().d[0], \()\tmp\().d[0] + .endm +diff --git a/test/utils.h b/test/utils.h +index 701417f..389b5c1 100644 +--- a/test/utils.h ++++ b/test/utils.h +@@ -3,7 +3,7 @@ + #endif + + #include +-#include "pixman-private.h" /* For 'inline' definition */ ++#include "pixman-compiler.h" /* For 'inline' definition */ + #include "utils-prng.h" + + #if defined(_MSC_VER) +-- +2.41.0 + diff --git a/recipes/pixman/config.yml b/recipes/pixman/config.yml index b237af91644c9..6f0c577480090 100644 --- a/recipes/pixman/config.yml +++ b/recipes/pixman/config.yml @@ -1,4 +1,6 @@ versions: + "0.42.2": + folder: "all" "0.40.0": folder: "all" "0.38.4": From 8e994a3667df04d3790cf5de78afbf899782ee07 Mon Sep 17 00:00:00 2001 From: Thomas Beutlich <115483027+thbeu@users.noreply.github.com> Date: Thu, 2 Nov 2023 11:17:36 +0100 Subject: [PATCH 2336/4087] (#20633) openjpeg: Prefer SPDX identifier --- recipes/openjpeg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openjpeg/all/conanfile.py b/recipes/openjpeg/all/conanfile.py index b93d9d9597098..5b1cc6a995945 100644 --- a/recipes/openjpeg/all/conanfile.py +++ b/recipes/openjpeg/all/conanfile.py @@ -14,7 +14,7 @@ class OpenjpegConan(ConanFile): description = "OpenJPEG is an open-source JPEG 2000 codec written in C language." topics = ("jpeg2000", "jp2", "openjpeg", "image", "multimedia", "format", "graphics") homepage = "https://github.com/uclouvain/openjpeg" - license = "BSD 2-Clause" + license = "BSD-2-Clause" package_type = "library" settings = "os", "arch", "compiler", "build_type" From 3d67c12514e145c53b67346f14a5e6a2f07ae422 Mon Sep 17 00:00:00 2001 From: Joakim Haugen Date: Thu, 2 Nov 2023 13:25:56 +0100 Subject: [PATCH 2337/4087] (#19808) openblas: add version 0.3.24 * openblas: add version 0.3.24 * Fix syntax error in recipe * Add missing entry in config.yml * Remove generated cmake files * Update minimum version for fortran-free compilation as suggested Co-authored-by: Samuel Dowling --------- Co-authored-by: Samuel Dowling --- recipes/openblas/all/conandata.yml | 3 ++ recipes/openblas/all/conanfile.py | 60 ++++++++++++++++++++---------- recipes/openblas/config.yml | 2 + 3 files changed, 46 insertions(+), 19 deletions(-) diff --git a/recipes/openblas/all/conandata.yml b/recipes/openblas/all/conandata.yml index 33390fd9116e6..31efef8e95737 100644 --- a/recipes/openblas/all/conandata.yml +++ b/recipes/openblas/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.24": + url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.24.tar.gz" + sha256: "ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132" "0.3.20": url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.20.tar.gz" sha256: "8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c" diff --git a/recipes/openblas/all/conanfile.py b/recipes/openblas/all/conanfile.py index d0b7d2c131bf8..d3f3b247af16a 100644 --- a/recipes/openblas/all/conanfile.py +++ b/recipes/openblas/all/conanfile.py @@ -34,6 +34,14 @@ class OpenblasConan(ConanFile): "dynamic_arch": False, } short_paths = True + package_type = "library" + + @property + def _fortran_compiler(self): + comp_exe = self.conf.get("tools.build:compiler_executables") + if comp_exe and 'fortran' in comp_exe: + return comp_exe["fortran"] + return None def config_options(self): if self.settings.os == "Windows": @@ -75,9 +83,19 @@ def layout(self): def generate(self): tc = CMakeToolchain(self) - if self.options.build_lapack: - self.output.warning("Building with lapack support requires a Fortran compiler.") tc.cache_variables["NOFORTRAN"] = not self.options.build_lapack + # This checks explicit user-specified fortran compiler + if self.options.build_lapack: + if not self._fortran_compiler: + if Version(self.version) < "0.3.24": + self.output.warning( + "Building with LAPACK support requires a Fortran compiler.") + else: + tc.cache_variables["C_LAPACK"] = True + tc.cache_variables["NOFORTRAN"] = True + self.output.info( + "Building LAPACK without Fortran compiler") + tc.cache_variables["BUILD_WITHOUT_LAPACK"] = not self.options.build_lapack tc.cache_variables["DYNAMIC_ARCH"] = self.options.dynamic_arch tc.cache_variables["USE_THREAD"] = self.options.use_thread @@ -85,9 +103,8 @@ def generate(self): # Required for safe concurrent calls to OpenBLAS routines tc.cache_variables["USE_LOCKING"] = not self.options.use_thread - tc.cache_variables[ - "MSVC_STATIC_CRT" - ] = False # don't, may lie to consumer, /MD or /MT is managed by conan + # don't, may lie to consumer, /MD or /MT is managed by conan + tc.cache_variables["MSVC_STATIC_CRT"] = False # This is a workaround to add the libm dependency on linux, # which is required to successfully compile on older gcc versions. @@ -96,14 +113,15 @@ def generate(self): tc.generate() def build(self): - if Version(self.version) >= "0.3.12": - search = """message(STATUS "No Fortran compiler found, can build only BLAS but not LAPACK")""" - replace = ( - """message(FATAL_ERROR "No Fortran compiler found. Cannot build with LAPACK.")""" - ) - else: - search = "enable_language(Fortran)" - replace = """include(CheckLanguage) + if Version(self.version) < "0.3.21": + if Version(self.version) >= "0.3.12": + search = """message(STATUS "No Fortran compiler found, can build only BLAS but not LAPACK")""" + replace = ( + """message(FATAL_ERROR "No Fortran compiler found. Cannot build with LAPACK.")""" + ) + else: + search = "enable_language(Fortran)" + replace = """include(CheckLanguage) check_language(Fortran) if(CMAKE_Fortran_COMPILER) enable_language(Fortran) @@ -113,11 +131,12 @@ def build(self): set (NO_LAPACK 1) endif()""" - replace_in_file(self, - os.path.join(self.source_folder, self.source_folder, "cmake", "f_check.cmake"), - search, - replace, - ) + replace_in_file( + self, + os.path.join(self.source_folder, self.source_folder, "cmake", "f_check.cmake"), + search, + replace, + ) cmake = self._configure_cmake() cmake.build() @@ -125,6 +144,7 @@ def package(self): copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = self._configure_cmake() cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) fix_apple_shared_install_name(self) @@ -137,7 +157,9 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenBLAS") self.cpp_info.set_property("cmake_target_name", "OpenBLAS::OpenBLAS") self.cpp_info.set_property("pkg_config_name", "openblas") - cmake_component_name = "pthread" if self.options.use_thread else "serial" # TODO: ow to model this in CMakeDeps? + cmake_component_name = "pthread" if self.options.use_thread else "serial" # TODO: how to model this in CMakeDeps? + self.cpp_info.components["openblas_component"].set_property( + "cmake_target_name", "OpenBLAS::" + cmake_component_name) # 'pthread' causes issues without namespace self.cpp_info.components["openblas_component"].set_property("pkg_config_name", "openblas") self.cpp_info.components["openblas_component"].includedirs.append( os.path.join("include", "openblas") diff --git a/recipes/openblas/config.yml b/recipes/openblas/config.yml index 6d0851b7920c3..d12fbd6e7daea 100644 --- a/recipes/openblas/config.yml +++ b/recipes/openblas/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.24": + folder: all "0.3.20": folder: all "0.3.17": From b0b40620b4057a5c1869857f839401c1be360b92 Mon Sep 17 00:00:00 2001 From: Thomas Beutlich <115483027+thbeu@users.noreply.github.com> Date: Thu, 2 Nov 2023 13:58:07 +0100 Subject: [PATCH 2338/4087] (#20632) shapelib: Consider dual license See https://github.com/OSGeo/shapelib/blob/v1.5.0/shapefil.h#L15-L17 for more details. --- recipes/shapelib/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index e9396ff670b11..2af042f9dfcea 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -10,7 +10,7 @@ class ShapelibConan(ConanFile): name = "shapelib" description = "C library for reading and writing ESRI Shapefiles" - license = "LGPL-2.0-or-later" + license = "LGPL-2.0-or-later", "MIT" topics = ("osgeo", "shapefile", "esri", "geospatial") homepage = "https://github.com/OSGeo/shapelib" url = "https://github.com/conan-io/conan-center-index" @@ -58,6 +58,7 @@ def build(self): def package(self): copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "license.html", os.path.join(self.source_folder, "web"), os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rm(self, "*.exe", os.path.join(self.package_folder, "bin")) From dd8acbaba66b6a4c51730db433d1b317e9891270 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 2 Nov 2023 15:17:24 +0200 Subject: [PATCH 2339/4087] (#19373) brunsli: add new package * brunsli: add new package * brunsli: split into components * brunsli: fix static build * brunsli: force brotli to be static * brunsli: set transitive_libs=True just in case * brunsli: add a check for static brotli * brunsli: update cci version * brunsli: fix shared Windows builds --- recipes/brunsli/all/conandata.yml | 22 ++++ recipes/brunsli/all/conanfile.py | 100 ++++++++++++++++++ .../0.1/001-cmake-use-conan-deps.patch | 11 ++ .../0.1/002-fix-shared-windows-build.patch | 43 ++++++++ .../001-cmake-use-conan-deps.patch | 31 ++++++ .../002-fix-shared-windows-build.patch | 72 +++++++++++++ .../brunsli/all/test_package/CMakeLists.txt | 9 ++ recipes/brunsli/all/test_package/conanfile.py | 26 +++++ .../brunsli/all/test_package/test_package.cpp | 10 ++ recipes/brunsli/config.yml | 5 + 10 files changed, 329 insertions(+) create mode 100644 recipes/brunsli/all/conandata.yml create mode 100644 recipes/brunsli/all/conanfile.py create mode 100644 recipes/brunsli/all/patches/0.1/001-cmake-use-conan-deps.patch create mode 100644 recipes/brunsli/all/patches/0.1/002-fix-shared-windows-build.patch create mode 100644 recipes/brunsli/all/patches/cci.20230730/001-cmake-use-conan-deps.patch create mode 100644 recipes/brunsli/all/patches/cci.20230730/002-fix-shared-windows-build.patch create mode 100644 recipes/brunsli/all/test_package/CMakeLists.txt create mode 100644 recipes/brunsli/all/test_package/conanfile.py create mode 100644 recipes/brunsli/all/test_package/test_package.cpp create mode 100644 recipes/brunsli/config.yml diff --git a/recipes/brunsli/all/conandata.yml b/recipes/brunsli/all/conandata.yml new file mode 100644 index 0000000000000..8a8c640caa115 --- /dev/null +++ b/recipes/brunsli/all/conandata.yml @@ -0,0 +1,22 @@ +sources: + "cci.20231024": + url: "https://github.com/google/brunsli/archive/0b7bd7b47d1f8fd8682d4818180e0ab42f26d4c3.tar.gz" + sha256: "b4ca17e1bbb3a6cae6b840d78422490b75733b4165e5ba066302154d971ec32e" + "0.1": + url: "https://github.com/google/brunsli/archive/refs/tags/v0.1.tar.gz" + sha256: "62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc" +patches: + "cci.20231024": + - patch_file: "patches/cci.20230730/001-cmake-use-conan-deps.patch" + patch_description: "Use Conan dependencies in CMake" + patch_type: "conan" + - patch_file: "patches/cci.20230730/002-fix-shared-windows-build.patch" + patch_description: "Fix shared Windows build, do not build executables" + patch_type: "conan" + "0.1": + - patch_file: "patches/0.1/001-cmake-use-conan-deps.patch" + patch_description: "Use Conan dependencies in CMake" + patch_type: "conan" + - patch_file: "patches/0.1/002-fix-shared-windows-build.patch" + patch_description: "Fix shared Windows build, do not build executables" + patch_type: "conan" diff --git a/recipes/brunsli/all/conanfile.py b/recipes/brunsli/all/conanfile.py new file mode 100644 index 0000000000000..d437851b72dc5 --- /dev/null +++ b/recipes/brunsli/all/conanfile.py @@ -0,0 +1,100 @@ +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 + +required_conan_version = ">=1.53.0" + +class PackageConan(ConanFile): + name = "brunsli" + description = "Practical JPEG Repacker" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/google/brunsli" + topics = ("jpeg", "repacker", "codec", "brotli", "wasm") + + 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.options["brotli"].shared = False + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("brotli/1.0.9", transitive_libs=True) + + 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) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + # TODO: add WASM support + tc.cache_variables["BRUNSLI_EMSCRIPTEN"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("brotli::brotlidec", "cmake_target_name", "brotlidec-static") + deps.set_property("brotli::brotlienc", "cmake_target_name", "brotlienc-static") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # Allow Conan to control the linkage type of the output libraries + if not self.options.shared: + replace_in_file(self, os.path.join(self.source_folder, "brunsli.cmake"), " SHARED", "") + save(self, os.path.join(self.source_folder, "brunsli.cmake"), + "\ninstall(TARGETS brunslicommon-static brunslidec-static brunslienc-static)", + append=True) + # Fix DLL installation + replace_in_file(self, os.path.join(self.source_folder, "brunsli.cmake"), + 'LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"', + 'LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ' + 'RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"') + + def build(self): + self._patch_sources() + 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() + + def package_info(self): + self.cpp_info.components["brunslidec-c"].libs = ["brunslidec-c"] + self.cpp_info.components["brunslienc-c"].libs = ["brunslienc-c"] + 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"] diff --git a/recipes/brunsli/all/patches/0.1/001-cmake-use-conan-deps.patch b/recipes/brunsli/all/patches/0.1/001-cmake-use-conan-deps.patch new file mode 100644 index 0000000000000..addcf9825b6ba --- /dev/null +++ b/recipes/brunsli/all/patches/0.1/001-cmake-use-conan-deps.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -26,7 +26,7 @@ + set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_CXX_STANDARD_REQUIRED YES) + +-add_subdirectory(third_party) ++find_package(Brotli REQUIRED CONFIG) + + # The Brunsli library definition. + include(brunsli.cmake) diff --git a/recipes/brunsli/all/patches/0.1/002-fix-shared-windows-build.patch b/recipes/brunsli/all/patches/0.1/002-fix-shared-windows-build.patch new file mode 100644 index 0000000000000..d0055137f9a83 --- /dev/null +++ b/recipes/brunsli/all/patches/0.1/002-fix-shared-windows-build.patch @@ -0,0 +1,43 @@ +Linked static libraries do not export symbols on Windows, +so build the shared libraries from scratch instead. +--- brunsli.cmake ++++ brunsli.cmake +@@ -74,13 +74,21 @@ + + if(NOT BRUNSLI_EMSCRIPTEN) + add_library(brunslidec-c SHARED ++ ${BRUNSLI_COMMON_SOURCES} ++ ${BRUNSLI_COMMON_HEADERS} ++ ${BRUNSLI_DEC_SOURCES} ++ ${BRUNSLI_DEC_HEADERS} + c/dec/decode.cc + ) +-target_link_libraries(brunslidec-c PRIVATE brunslidec-static) ++target_link_libraries(brunslidec-c PRIVATE brotlidec-static) + add_library(brunslienc-c SHARED ++ ${BRUNSLI_COMMON_SOURCES} ++ ${BRUNSLI_COMMON_HEADERS} ++ ${BRUNSLI_ENC_SOURCES} ++ ${BRUNSLI_ENC_HEADERS} + c/enc/encode.cc + ) +-target_link_libraries(brunslienc-c PRIVATE brunslienc-static) ++target_link_libraries(brunslienc-c PRIVATE brotlienc-static) + list(APPEND BRUNSLI_LIBRARIES brunslidec-c brunslienc-c) + endif() # BRUNSLI_EMSCRIPTEN + +@@ -95,14 +103,6 @@ + endforeach() + + if(NOT BRUNSLI_EMSCRIPTEN) +-add_executable(cbrunsli c/tools/cbrunsli.cc) +-target_link_libraries(cbrunsli PRIVATE +- brunslienc-static +-) +-add_executable(dbrunsli c/tools/dbrunsli.cc) +-target_link_libraries(dbrunsli PRIVATE +- brunslidec-static +-) + else() # BRUNSLI_EMSCRIPTEN + set(WASM_MODULES brunslicodec-wasm brunslidec-wasm brunslienc-wasm) + foreach(module IN LISTS WASM_MODULES) diff --git a/recipes/brunsli/all/patches/cci.20230730/001-cmake-use-conan-deps.patch b/recipes/brunsli/all/patches/cci.20230730/001-cmake-use-conan-deps.patch new file mode 100644 index 0000000000000..b78a5ce662490 --- /dev/null +++ b/recipes/brunsli/all/patches/cci.20230730/001-cmake-use-conan-deps.patch @@ -0,0 +1,31 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -25,27 +25,7 @@ + set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_CXX_STANDARD_REQUIRED YES) + +-include(FetchContent) +- +-# Add GTest +-FetchContent_Declare( +- GTest +- GIT_REPOSITORY https://github.com/google/googletest +- GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929 # v1.11.0 +-) +-# For Windows: Prevent overriding the parent project's compiler/linker settings +-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +-set(BUILD_GMOCK OFF CACHE INTERNAL "") +-FetchContent_MakeAvailable(GTest) +- +-# Add Brotli +-FetchContent_Declare( +- Brotli +- GIT_REPOSITORY https://github.com/google/brotli +- GIT_TAG e61745a6b7add50d380cfd7d3883dd6c62fc2c71 # v1.0.9 +-) +-set(BROTLI_DISABLE_TESTS ON CACHE INTERNAL "") +-FetchContent_MakeAvailable(Brotli) ++find_package(Brotli REQUIRED CONFIG) + + include(CTest) + diff --git a/recipes/brunsli/all/patches/cci.20230730/002-fix-shared-windows-build.patch b/recipes/brunsli/all/patches/cci.20230730/002-fix-shared-windows-build.patch new file mode 100644 index 0000000000000..cec4a0e274d89 --- /dev/null +++ b/recipes/brunsli/all/patches/cci.20230730/002-fix-shared-windows-build.patch @@ -0,0 +1,72 @@ +Linked static libraries do not export symbols on Windows, +so build the shared libraries from scratch instead. +--- brunsli.cmake ++++ brunsli.cmake +@@ -77,13 +77,21 @@ + + if(NOT BRUNSLI_EMSCRIPTEN) + add_library(brunslidec-c SHARED ++ ${BRUNSLI_COMMON_SOURCES} ++ ${BRUNSLI_COMMON_HEADERS} ++ ${BRUNSLI_DEC_SOURCES} ++ ${BRUNSLI_DEC_HEADERS} + c/dec/decode.cc + ) +-target_link_libraries(brunslidec-c PRIVATE brunslidec-static) ++target_link_libraries(brunslidec-c PRIVATE brotlidec-static) + add_library(brunslienc-c SHARED ++ ${BRUNSLI_COMMON_SOURCES} ++ ${BRUNSLI_COMMON_HEADERS} ++ ${BRUNSLI_ENC_SOURCES} ++ ${BRUNSLI_ENC_HEADERS} + c/enc/encode.cc + ) +-target_link_libraries(brunslienc-c PRIVATE brunslienc-static) ++target_link_libraries(brunslienc-c PRIVATE brotlienc-static) + list(APPEND BRUNSLI_LIBRARIES brunslidec-c brunslienc-c) + endif() # BRUNSLI_EMSCRIPTEN + +@@ -95,14 +103,6 @@ + set_property(TARGET ${lib} PROPERTY POSITION_INDEPENDENT_CODE ON) + endforeach() + +-add_executable(cbrunsli c/tools/cbrunsli.cc) +-target_link_libraries(cbrunsli PRIVATE +- brunslienc-static +-) +-add_executable(dbrunsli c/tools/dbrunsli.cc) +-target_link_libraries(dbrunsli PRIVATE +- brunslidec-static +-) + if(BRUNSLI_EMSCRIPTEN) + set(WASM_MODULES brunslicodec-wasm brunslidec-wasm brunslienc-wasm) + foreach(module IN LISTS WASM_MODULES) +@@ -121,14 +121,6 @@ + ${WASM_BASE_FLAGS} \ + -s MODULARIZE=1 \ + -s FILESYSTEM=0 \ +-") +-set_target_properties(cbrunsli PROPERTIES LINK_FLAGS "\ +- ${WASM_BASE_FLAGS} \ +- -s NODERAWFS=1 \ +-") +-set_target_properties(dbrunsli PROPERTIES LINK_FLAGS "\ +- ${WASM_BASE_FLAGS} \ +- -s NODERAWFS=1 \ + ") + set(WASM_COMMON_EXPORT "\"_malloc\",\"_free\"") + set(WASM_DEC_EXPORT "\"_BrunsliToJpeg\",\"_GetJpegData\",\"_GetJpegLength\",\"_FreeJpeg\",\"_BrunsliDecoderInit\",\"_BrunsliDecoderProcess\",\"_BrunsliDecoderCleanup\"") +@@ -163,13 +155,6 @@ + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + endif() # BRUNSLI_EMSCRIPTEN +- +-# Gather artifacts in a single directory for easier uploading. +-set_target_properties(cbrunsli dbrunsli ${BRUNSLI_LIBRARIES} PROPERTIES +- ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/artifacts" +- LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/artifacts" +- RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/artifacts" +-) + + if (${BUILD_TESTING}) + diff --git a/recipes/brunsli/all/test_package/CMakeLists.txt b/recipes/brunsli/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f9b1ede7bb029 --- /dev/null +++ b/recipes/brunsli/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package CXX) + +find_package(brunsli REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE brunsli::brunsli) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/brunsli/all/test_package/conanfile.py b/recipes/brunsli/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/brunsli/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/brunsli/all/test_package/test_package.cpp b/recipes/brunsli/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..6be850a9c3ae9 --- /dev/null +++ b/recipes/brunsli/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include +#include + +int main() { + brunsli::JPEGData jpg; + const size_t input_size = 100; + const uint8_t input_data[input_size] = {}; + bool ok = brunsli::ReadJpeg(input_data, input_size, brunsli::JPEG_READ_ALL, &jpg); +} diff --git a/recipes/brunsli/config.yml b/recipes/brunsli/config.yml new file mode 100644 index 0000000000000..579cbcab9768e --- /dev/null +++ b/recipes/brunsli/config.yml @@ -0,0 +1,5 @@ +versions: + "cci.20231024": + folder: all + "0.1": + folder: all From 0f1d69e1dcc24f4708be45971fe26ae9abdada2f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 2 Nov 2023 14:42:37 +0100 Subject: [PATCH 2340/4087] (#20891) [bot] Update authorized users list (2023-11-02) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index d1282ef8ebb56..7b5d9403180ec 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1257,3 +1257,5 @@ authorized_users: - martin-olivier - lucaskdc - fnadeau +- '0x5ea1ed' +- Kischy From bdb024f7c931488839e6d259e82aae47512d7910 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 2 Nov 2023 14:51:57 +0100 Subject: [PATCH 2341/4087] (#20837) vulkan-headers: add 1.3.261.1 & 1.3.268.0 + remove several old versions * add 1.3.261.1 and 1.3.268.0 * remove old versions * robust copy of LICENSE file this file has been renamed from LICENSE.txt to LICENSE.md in 1.3.258 --- recipes/vulkan-headers/all/conandata.yml | 81 ++---------------------- recipes/vulkan-headers/all/conanfile.py | 2 +- recipes/vulkan-headers/config.yml | 54 ++-------------- 3 files changed, 11 insertions(+), 126 deletions(-) diff --git a/recipes/vulkan-headers/all/conandata.yml b/recipes/vulkan-headers/all/conandata.yml index a1c2b29568796..a2e54aa68230e 100644 --- a/recipes/vulkan-headers/all/conandata.yml +++ b/recipes/vulkan-headers/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.3.268.0": + url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" + sha256: "94993cbe2b1a604c0d5d9ea37a767e1aba4d771d2bfd4ddceefd66243095164f" + "1.3.261.1": + url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.261.1.tar.gz" + sha256: "7a25ebdb6325e626dc5d33bc937b289ccce7ddb7b0ac1a1b1d5d7ff33b6715d3" "1.3.250.0": url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.250.0.tar.gz" sha256: "0da601a81b868bc543ec09ab7e514d1b059774993dfce81df7150f432c8bf33a" @@ -8,81 +14,6 @@ sources: "1.3.239.0": url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.239.0.tar.gz" sha256: "865fa8e8e8314fcca60777a92f50bd0cf612205a36e719d6975482d3366f619e" - "1.3.236.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.236.0.tar.gz" - sha256: "2df85b3daa78ced7f910db870ea2aed10f718c703e18076b4549ca4005c9c451" - "1.3.231.1": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.231.1.tar.gz" - sha256: "6e16051ccb28821b907a08025eedb82cc73e1056924b32f75880ecae2499f7f6" - "1.3.231.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.231.0.tar.gz" - sha256: "f7c185dedf7753d58e7b59913dd4b77006a6ed91fae598c5961f77d85b183da0" - "1.3.231": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v1.3.231.tar.gz" - sha256: "4cb1c0aeb858e1a4955a736b86b0da8511ca8701222e9a252adcf093d40a8d28" - "1.3.224.1": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.224.1.tar.gz" - sha256: "628bd5943c0d007c192769480e789801a088f892445c80cb336fc9b6d236c5ef" - "1.3.224.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.224.0.tar.gz" - sha256: "ccdfa47cea58a080957481fb6c35908d005d04cc5dd1778150dc0c651ccea077" - "1.3.221": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.3.221.tar.gz" - sha256: "75057d8231bb7a3f6ac091f1b08f50604f07a7e9b4424fd12c035f01787ebf0c" - "1.3.216.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.216.0.tar.gz" - sha256: "2c98d1d819fde588fb0f71acebea177f805b3efa26e8260a707a94b1e633be6b" - "1.3.211.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.211.0.tar.gz" - sha256: "c464bcdc24b7541ac4378a270617a23d4d92699679a73f95dc4b9e1da924810a" - "1.3.204.1": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.204.1.tar.gz" - sha256: "9c4d33f71467c915749fbf48c0c3a8ee7833f15babf398e3463cd88791fb592e" - "1.3.204.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.3.204.0.tar.gz" - sha256: "5c3fcfc5dc1daa5fa1f3a0983fdcb344848f846ae34d933412d13456ebee10c1" - "1.3.204": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v1.3.204.tar.gz" - sha256: "2cde2c90975a8f36d00cf8eb6308cb00323aafbc0b7374f4b346f1140f760b3d" "1.2.198.0": url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.2.198.0.tar.gz" sha256: "34782c61cad9b3ccf2fa0a31ec397d4fce99490500b4f3771cb1a48713fece80" - "1.2.198": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v1.2.198.tar.gz" - sha256: "0b2c69bc392a0022652f65efe5c51ec39ae90ec427065a914ba74ac6c728db30" - "1.2.195": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v1.2.195.tar.gz" - sha256: "8d6e561871bb4dbb7f83e80eac41b3a582dbd874382990c7e4972cb0258fa529" - "1.2.190": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.190.tar.gz" - sha256: "ce997a3d6f43f9697c5ec232efb0f6e7826d0648412ed141f9495e88429075e0" - "1.2.189": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v1.2.189.tar.gz" - sha256: "0939d6cb950746f6f9cab59399c0a99628ed186426a972996599f90d34d8a99a" - "1.2.182": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v1.2.182.tar.gz" - sha256: "38d1c953de7bb2d839556226851feeb690f0d23bc22ac46c823dcb66c97bfdc8" - "1.2.176.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-1.2.176.0.tar.gz" - sha256: "211d8552c5cf8b0607323d69c251d9c4639f89550f8de3d51d3995b5cdd737fb" - "1.2.172": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.172.tar.gz" - sha256: "c69619ac2001ac62378a99c56ced14a53801fdc204efb2b1f787c83b47829319" - "1.2.170.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-1.2.170.0.tar.gz" - sha256: "d8e6050230ca678bcb0e7dc68d5984290da6eb655e8da9d08b5eaab1e84a7da9" - "1.2.170": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.170.tar.gz" - sha256: "6fa84897197bd72cf4b1a686c903df67fc0fe108e4ed02e6adb3d72c468f1c1f" - "1.2.162.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-1.2.162.0.tar.gz" - sha256: "eb0f6a79ac38e137f55a0e13641140e63b765c8ec717a65bf3904614ef754365" - "1.2.162": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.162.tar.gz" - sha256: "deab1a7a28ad3e0a7a0a1c4cd9c54758dce115a5f231b7205432d2bbbfb4d456" - "1.2.154.0": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-1.2.154.0.tar.gz" - sha256: "a0528ade4dd3bd826b960ba4ccabc62e92ecedc3c70331b291e0a7671b3520f9" - "1.2.140": - url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.140.tar.gz" - sha256: "c708a05b0ef673ae783f8968c5396dc207b9f8c7cde2ddb4a9a281e04661185a" diff --git a/recipes/vulkan-headers/all/conanfile.py b/recipes/vulkan-headers/all/conanfile.py index a17cf251c00d3..f2e2e4c12ab8e 100644 --- a/recipes/vulkan-headers/all/conanfile.py +++ b/recipes/vulkan-headers/all/conanfile.py @@ -30,7 +30,7 @@ def build(self): pass def package(self): - copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) copy(self, "*", src=os.path.join(self.source_folder, "registry"), dst=os.path.join(self.package_folder, "res", "vulkan", "registry")) diff --git a/recipes/vulkan-headers/config.yml b/recipes/vulkan-headers/config.yml index f84f6da3852f9..34a8efbe22307 100644 --- a/recipes/vulkan-headers/config.yml +++ b/recipes/vulkan-headers/config.yml @@ -1,59 +1,13 @@ versions: + "1.3.268.0": + folder: all + "1.3.261.1": + folder: all "1.3.250.0": folder: all "1.3.243.0": folder: all "1.3.239.0": folder: all - "1.3.236.0": - folder: all - "1.3.231.1": - folder: all - "1.3.231.0": - folder: all - "1.3.231": - folder: all - "1.3.224.1": - folder: all - "1.3.224.0": - folder: all - "1.3.221": - folder: all - "1.3.216.0": - folder: all - "1.3.211.0": - folder: all - "1.3.204.1": - folder: all - "1.3.204.0": - folder: all - "1.3.204": - folder: all "1.2.198.0": folder: all - "1.2.198": - folder: all - "1.2.195": - folder: all - "1.2.190": - folder: all - "1.2.189": - folder: all - "1.2.182": - folder: all - "1.2.176.0": - folder: all - "1.2.172": - folder: all - "1.2.170.0": - folder: all - "1.2.170": - folder: all - "1.2.162.0": - folder: all - "1.2.162": - folder: all - "1.2.154.0": - folder: all - "1.2.140": - folder: all From 85aa26e273bf0dcf5282a6866fa2d0b0197f73f0 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Thu, 2 Nov 2023 15:28:24 +0100 Subject: [PATCH 2342/4087] (#20584) [scippp] bump version to 1.1.0 * [scippp] bump version to 1.1.0 * New version uses std::filesystem * Require new compiler version only for most recent SCIP++ version --- recipes/scippp/all/conandata.yml | 3 +++ recipes/scippp/all/conanfile.py | 23 ++++++++++++++++------- recipes/scippp/config.yml | 2 ++ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/recipes/scippp/all/conandata.yml b/recipes/scippp/all/conandata.yml index ce0a80569e788..88b2816d64354 100644 --- a/recipes/scippp/all/conandata.yml +++ b/recipes/scippp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/scipopt/SCIPpp/archive/refs/tags/1.1.0.tar.gz" + sha256: "808b58e8ddd873ec403c021f9255004120e58d7ec6fb4b7d99ff6f21950ff8fb" "1.0.2": url: "https://github.com/scipopt/SCIPpp/archive/refs/tags/1.0.2.tar.gz" sha256: "d51dfd0f1ca1b57619f7c82e32d5390d99d5cdaee98ae1ace99ec05a394dcee3" diff --git a/recipes/scippp/all/conanfile.py b/recipes/scippp/all/conanfile.py index 1301e60281e0e..77b8d49bdb43c 100644 --- a/recipes/scippp/all/conanfile.py +++ b/recipes/scippp/all/conanfile.py @@ -33,12 +33,21 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - return { - "gcc": "7", - "clang": "7", - "apple-clang": "10", - "msvc": "192" - } + # see https://github.com/scipopt/SCIPpp/commit/faa80e753f96094004467c1daa98a7ab4d86f279 + if Version(self.version) >= "1.1.0": + return { + "gcc": "8", + "clang": "7", + "apple-clang": "11", + "msvc": "192" + } + else: + return { + "gcc": "7", + "clang": "7", + "apple-clang": "10", + "msvc": "192" + } def validate(self): if self.settings.compiler.cppstd: @@ -67,7 +76,7 @@ def configure(self): def requirements(self): # see https://github.com/scipopt/SCIPpp/blob/1.0.0/conanfile.py#L25 - self.requires("scip/8.0.3", transitive_headers=True) + self.requires("scip/8.0.4", transitive_headers=True) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/scippp/config.yml b/recipes/scippp/config.yml index 8457ca9a4a8cd..a59308932f1d8 100644 --- a/recipes/scippp/config.yml +++ b/recipes/scippp/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: all "1.0.2": folder: all From a066e2a2ed81190b80533dd5018da926a0e7c7e5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 2 Nov 2023 23:48:59 +0900 Subject: [PATCH 2343/4087] (#20750) glaze: add version 1.5.6, remove older versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * glaze: add version 1.5.4, remove older versions * update 1.5.5 * glaze: add version 1.5.6 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/glaze/all/conandata.yml | 24 +++--------------------- recipes/glaze/all/conanfile.py | 4 ++-- recipes/glaze/config.yml | 16 ++-------------- 3 files changed, 7 insertions(+), 37 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index b014456b571b7..28e6b036ed8ec 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.6": + url: "https://github.com/stephenberry/glaze/archive/v1.5.6.tar.gz" + sha256: "11910435f078a2be66c451413203097197991a4c2d0e5ec5b3e81f5568bfe64d" "1.5.3": url: "https://github.com/stephenberry/glaze/archive/v1.5.3.tar.gz" sha256: "dc0fcd447f9edb65521033466aca820c9a955c696bd51709e12048e0a12291d8" @@ -20,24 +23,3 @@ sources: "1.3.6": url: "https://github.com/stephenberry/glaze/archive/v1.3.6.tar.gz" sha256: "c339f036a96fef72f9b8542d6a1e2ecb4bd3fa5d3d09a206da5e844765d2b6c3" - "1.3.5": - url: "https://github.com/stephenberry/glaze/archive/v1.3.5.tar.gz" - sha256: "de5d59cb7f31193d45f67f25d8ced1499df50c0d926a1461432b87f2b2368817" - "1.3.2": - url: "https://github.com/stephenberry/glaze/archive/v1.3.2.tar.gz" - sha256: "c7dd5fd8da63708328e02efbaa91f58df5573114a11c91ae025b711cb0d7f7ab" - "1.3.1": - url: "https://github.com/stephenberry/glaze/archive/v1.3.1.tar.gz" - sha256: "898f86a1dd72ca4e227aad2a76dea8d1e72bf28bad1e6467a6ab1b97848664f0" - "1.3.0": - url: "https://github.com/stephenberry/glaze/archive/v1.3.0.tar.gz" - sha256: "2787efdba0f33adbf73a3b574efedefcda6e8ae2da0a0c8e01be3194898ecd99" - "1.2.6": - url: "https://github.com/stephenberry/glaze/archive/v1.2.6.tar.gz" - sha256: "ef602f1efc7f84669de517181cb091c136e2b9372c176947d0940ebd6c2f2d98" - "1.2.5": - url: "https://github.com/stephenberry/glaze/archive/v1.2.5.tar.gz" - sha256: "bc3ff0b24c8c71557e7aabc5a2bfedd51acea92548c208c3a51815848d2b2c5a" - "1.1.2": - url: "https://github.com/stephenberry/glaze/archive/v1.1.2.tar.gz" - sha256: "ee22d55b7f40d63f510a41f22765cb24e9e70d312978bad4eb9c94c7ba2fe58c" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index e7b18eb1c3589..f2658256e5ba5 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -26,8 +26,8 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "Visual Studio": "17" if Version(self.version) >= "1.3.3" else "16", - "msvc": "193" if Version(self.version) >= "1.3.3" else "192", + "Visual Studio": "17", + "msvc": "193", "gcc": "12", "clang": "12", "apple-clang": "13.1", diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 75566edc16803..8d7f5144cf8c6 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.6": + folder: all "1.5.3": folder: all "1.5.2": @@ -13,17 +15,3 @@ versions: folder: all "1.3.6": folder: all - "1.3.5": - folder: all - "1.3.2": - folder: all - "1.3.1": - folder: all - "1.3.0": - folder: all - "1.2.6": - folder: all - "1.2.5": - folder: all - "1.1.2": - folder: all From c040dc373fec87b38ad3f67fe9a1e20e67e7b856 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 2 Nov 2023 16:18:07 +0100 Subject: [PATCH 2344/4087] (#20839) spirv-cross: add 1.3.268.0 + remove several old versions * add 1.3.268.0 * remove old versions and restore cci.20211113 instead of 20210115, since it's the commit corresponding to Vulkan SDK 1.2.198.0 --- recipes/spirv-cross/all/conandata.yml | 29 +++++-------------- .../0001-fix-bundle-install-20210115.patch | 11 ------- .../all/patches/1.3.236.0-0001-fix-gcc5.patch | 14 --------- recipes/spirv-cross/config.yml | 12 ++------ 4 files changed, 10 insertions(+), 56 deletions(-) delete mode 100644 recipes/spirv-cross/all/patches/0001-fix-bundle-install-20210115.patch delete mode 100644 recipes/spirv-cross/all/patches/1.3.236.0-0001-fix-gcc5.patch diff --git a/recipes/spirv-cross/all/conandata.yml b/recipes/spirv-cross/all/conandata.yml index 2a07ecd2c328d..124af978201fc 100644 --- a/recipes/spirv-cross/all/conandata.yml +++ b/recipes/spirv-cross/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.268.0": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" + sha256: "dd656a51ba4c229c1a0bb220b7470723e8fd4b68abb7f2cf2ca4027df824f4a0" "1.3.261.1": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.261.1.tar.gz" sha256: "a5cf99ed62e93800232e50b782890321d4d7e053dcaa71bd8efc0c48a00bd1dd" @@ -14,25 +17,7 @@ sources: "1.3.239.0": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.239.0.tar.gz" sha256: "a1695022880e7ef3c2d407647f79876045dc2a3ed012753adc71ead5cc5178ba" - "1.3.236.0": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.236.0.tar.gz" - sha256: "8140a2b53d1e218e9be1f8d5e2749b1ebe854d456e5cb356218fd288747d5438" - "1.3.231.1": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.231.1.tar.gz" - sha256: "3b42f5b6e46b45600e09fd55234f59edb7cfca803e49d7830dc6fb5a086143b1" - "1.3.224.1": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.224.1.tar.gz" - sha256: "b7747a030427eaa11722c9781087c98a2fafbb030daafc7a7598f941082e4bc7" - "1.3.224.0": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.224.0.tar.gz" - sha256: "00256c33e235c5b9f0fc4b531fb9058d3cf1ff53e21e2db62cd8db848525536c" - "20210115": - url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/2021-01-15.tar.gz" - sha256: "d700863b548cbc7f27a678cee305f561669a126eb2cc11d36a7023dfc462b9c4" -patches: - "1.3.236.0": - - patch_file: "patches/1.3.236.0-0001-fix-gcc5.patch" - patch_description: "Fix compilation with gcc-5" - patch_type: "portability" - "20210115": - - patch_file: "patches/0001-fix-bundle-install-20210115.patch" + # commit used in Vulkan SDK 1.2.198.0 + "cci.20211113": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/7c3cb0b12c9965497b08403c82ac1b82846fa7be.tar.gz" + sha256: "5bb6837e2b75db1a9e36e7d6eac40d905e3460ff3b5234f391adc6bdf6aadcdf" diff --git a/recipes/spirv-cross/all/patches/0001-fix-bundle-install-20210115.patch b/recipes/spirv-cross/all/patches/0001-fix-bundle-install-20210115.patch deleted file mode 100644 index 5a9c531331845..0000000000000 --- a/recipes/spirv-cross/all/patches/0001-fix-bundle-install-20210115.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -441,7 +441,7 @@ if (SPIRV_CROSS_CLI) - target_compile_definitions(spirv-cross PRIVATE ${spirv-compiler-defines} HAVE_SPIRV_CROSS_GIT_VERSION) - set_target_properties(spirv-cross PROPERTIES LINK_FLAGS "${spirv-cross-link-flags}") - if (NOT SPIRV_CROSS_SKIP_INSTALL) -- install(TARGETS spirv-cross RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ install(TARGETS spirv-cross DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - target_link_libraries(spirv-cross PRIVATE - spirv-cross-glsl diff --git a/recipes/spirv-cross/all/patches/1.3.236.0-0001-fix-gcc5.patch b/recipes/spirv-cross/all/patches/1.3.236.0-0001-fix-gcc5.patch deleted file mode 100644 index 70c5857924141..0000000000000 --- a/recipes/spirv-cross/all/patches/1.3.236.0-0001-fix-gcc5.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/spirv_glsl.cpp -+++ b/spirv_glsl.cpp -@@ -4955,9 +4955,9 @@ SmallVector CompilerGLSL::get_composite_constant_ids(ConstantID cons - if (is_array(type) || type.basetype == SPIRType::Struct) - return constant->subconstants; - if (is_matrix(type)) -- return constant->m.id; -+ return SmallVector(constant->m.id); - if (is_vector(type)) -- return constant->m.c[0].id; -+ return SmallVector(constant->m.c[0].id); - SPIRV_CROSS_THROW("Unexpected scalar constant!"); - } - if (!const_composite_insert_ids.count(const_id)) diff --git a/recipes/spirv-cross/config.yml b/recipes/spirv-cross/config.yml index af1eddab3a5f0..fee2421b06ee6 100644 --- a/recipes/spirv-cross/config.yml +++ b/recipes/spirv-cross/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.268.0": + folder: all "1.3.261.1": folder: all "1.3.250.1": @@ -9,13 +11,5 @@ versions: folder: all "1.3.239.0": folder: all - "1.3.236.0": - folder: all - "1.3.231.1": - folder: all - "1.3.224.1": - folder: all - "1.3.224.0": - folder: all - "20210115": + "cci.20211113": folder: all From 138fd91adab3d48c36542e349e503c5066eef780 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 00:38:48 +0900 Subject: [PATCH 2345/4087] (#20832) asio-grpc: add version 2.7.0, update asio * asio-grpc: add version 2.7.0, update asio * drop support gcc 11 (gcc 10, 12 OK) --- recipes/asio-grpc/all/conandata.yml | 3 +++ recipes/asio-grpc/all/conanfile.py | 5 ++++- recipes/asio-grpc/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/asio-grpc/all/conandata.yml b/recipes/asio-grpc/all/conandata.yml index 93b16454d2a6d..a64863b4c9e25 100644 --- a/recipes/asio-grpc/all/conandata.yml +++ b/recipes/asio-grpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.0": + url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.7.0.tar.gz" + sha256: "a4a3deeabbdef37a8e7238e25b6f26b63071151c4b49e1f2f86c528da54eed79" "2.6.0": url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.6.0.tar.gz" sha256: "9f17f1dfe390667c71d8e0645937afa36f1a0e146f60f6036c7b4e12b09ed14e" diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index cccd69684782d..fff2d0aaef3d8 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): if self._local_allocator_option == "boost_container" or self.options.backend == "boost": self.requires("boost/1.83.0") if self.options.backend == "asio": - self.requires("asio/1.28.1") + self.requires("asio/1.28.2") if self.options.backend == "unifex": self.requires("libunifex/cci.20220430") @@ -85,6 +85,9 @@ def validate(self): f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports" f" C++{self._min_cppstd}." ) + if Version(self.version) == "2.7.0" and \ + self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "11": + raise ConanInvalidConfiguration(f"{self.ref} does not support gcc 11.") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/asio-grpc/config.yml b/recipes/asio-grpc/config.yml index 5c9bbc56f454e..552070583e67e 100644 --- a/recipes/asio-grpc/config.yml +++ b/recipes/asio-grpc/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.0": + folder: all "2.6.0": folder: all "2.5.1": From 0b597cc86842e2036617940247f28efe310b18dc Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 01:15:00 +0900 Subject: [PATCH 2346/4087] (#20775) kaitai_struct_cpp_stl_runtime: add version 0.10.1 * kaitai_struct_cpp_stl_runtime: add version 0.10.1 * link math lib * add patch_source --- .../all/conandata.yml | 12 ++- .../all/conanfile.py | 3 + ...=> 0.10-0001-cmake-minimum-required.patch} | 0 .../0.10.1-0001-remove-template-id.patch | 94 +++++++++++++++++++ .../kaitai_struct_cpp_stl_runtime/config.yml | 2 + 5 files changed, 109 insertions(+), 2 deletions(-) rename recipes/kaitai_struct_cpp_stl_runtime/all/patches/{0001-cmake-minimum-required.patch => 0.10-0001-cmake-minimum-required.patch} (100%) create mode 100644 recipes/kaitai_struct_cpp_stl_runtime/all/patches/0.10.1-0001-remove-template-id.patch diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/conandata.yml b/recipes/kaitai_struct_cpp_stl_runtime/all/conandata.yml index 1a2d17950129d..86037b3ef63f6 100644 --- a/recipes/kaitai_struct_cpp_stl_runtime/all/conandata.yml +++ b/recipes/kaitai_struct_cpp_stl_runtime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.1": + url: "https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/archive/refs/tags/0.10.1.tar.gz" + sha256: "19a7fb2d386d1bb14c04ffa514d26673444c71fef73246984e2a587dc5ae1ab2" "0.10": url: "https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/archive/refs/tags/0.10.tar.gz" sha256: "9a7d382b2acbbe6498ecca23fc7b6b98cbcc418af83fb569f94395f29712171c" @@ -6,11 +9,16 @@ sources: url: "https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/archive/cb09b3a84c7e905c6a3fecfe9617cf864d9af781.zip" sha256: "058c01828692bf193cb862372651c572fcc43babbf2d664674409511b9f54e5b" patches: + "0.10.1": + - patch_file: "patches/0.10.1-0001-remove-template-id.patch" + patch_description: "rempte template-id from constructor/destructor" + patch_type: "portability" + patch_source: "https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/pull/68" "0.10": - - patch_file: "patches/0001-cmake-minimum-required.patch" + - patch_file: "patches/0.10-0001-cmake-minimum-required.patch" patch_description: "declare cmake_minimum_required first" patch_type: "portability" "cci.20210701": - - patch_file: "patches/0001-cmake-minimum-required.patch" + - patch_file: "patches/0.10-0001-cmake-minimum-required.patch" patch_description: "declare cmake_minimum_required first" patch_type: "portability" diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py b/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py index 0c56efed668cb..ee40515a48071 100644 --- a/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py +++ b/recipes/kaitai_struct_cpp_stl_runtime/all/conanfile.py @@ -45,6 +45,7 @@ def generate(self): tc.variables["STRING_ENCODING_TYPE"] = "ICONV" else: tc.variables["STRING_ENCODING_TYPE"] = "NONE" + tc.variables["BUILD_TESTS"] = False tc.generate() deps = CMakeDeps(self) @@ -63,3 +64,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["kaitai_struct_cpp_stl_runtime"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/patches/0001-cmake-minimum-required.patch b/recipes/kaitai_struct_cpp_stl_runtime/all/patches/0.10-0001-cmake-minimum-required.patch similarity index 100% rename from recipes/kaitai_struct_cpp_stl_runtime/all/patches/0001-cmake-minimum-required.patch rename to recipes/kaitai_struct_cpp_stl_runtime/all/patches/0.10-0001-cmake-minimum-required.patch diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/patches/0.10.1-0001-remove-template-id.patch b/recipes/kaitai_struct_cpp_stl_runtime/all/patches/0.10.1-0001-remove-template-id.patch new file mode 100644 index 0000000000000..ca0d4c309f4aa --- /dev/null +++ b/recipes/kaitai_struct_cpp_stl_runtime/all/patches/0.10.1-0001-remove-template-id.patch @@ -0,0 +1,94 @@ +diff --git a/kaitai/exceptions.h b/kaitai/exceptions.h +index 1c1e414..8033b98 100644 +--- a/kaitai/exceptions.h ++++ b/kaitai/exceptions.h +@@ -115,7 +115,7 @@ protected: + template + class validation_not_equal_error: public validation_failed_error { + public: +- validation_not_equal_error(const T& expected, const T& actual, kstream* io, const std::string src_path): ++ validation_not_equal_error(const T& expected, const T& actual, kstream* io, const std::string src_path): + validation_failed_error("not equal", io, src_path), + m_expected(expected), + m_actual(actual) +@@ -124,7 +124,7 @@ public: + + // "not equal, expected #{expected.inspect}, but got #{actual.inspect}" + +- virtual ~validation_not_equal_error() KS_NOEXCEPT {}; ++ virtual ~validation_not_equal_error() KS_NOEXCEPT {}; + + protected: + const T& m_expected; +@@ -138,7 +138,7 @@ protected: + template + class validation_less_than_error: public validation_failed_error { + public: +- validation_less_than_error(const T& min, const T& actual, kstream* io, const std::string src_path): ++ validation_less_than_error(const T& min, const T& actual, kstream* io, const std::string src_path): + validation_failed_error("not in range", io, src_path), + m_min(min), + m_actual(actual) +@@ -147,7 +147,7 @@ public: + + // "not in range, min #{min.inspect}, but got #{actual.inspect}" + +- virtual ~validation_less_than_error() KS_NOEXCEPT {}; ++ virtual ~validation_less_than_error() KS_NOEXCEPT {}; + + protected: + const T& m_min; +@@ -161,7 +161,7 @@ protected: + template + class validation_greater_than_error: public validation_failed_error { + public: +- validation_greater_than_error(const T& max, const T& actual, kstream* io, const std::string src_path): ++ validation_greater_than_error(const T& max, const T& actual, kstream* io, const std::string src_path): + validation_failed_error("not in range", io, src_path), + m_max(max), + m_actual(actual) +@@ -170,7 +170,7 @@ public: + + // "not in range, max #{max.inspect}, but got #{actual.inspect}" + +- virtual ~validation_greater_than_error() KS_NOEXCEPT {}; ++ virtual ~validation_greater_than_error() KS_NOEXCEPT {}; + + protected: + const T& m_max; +@@ -184,7 +184,7 @@ protected: + template + class validation_not_any_of_error: public validation_failed_error { + public: +- validation_not_any_of_error(const T& actual, kstream* io, const std::string src_path): ++ validation_not_any_of_error(const T& actual, kstream* io, const std::string src_path): + validation_failed_error("not any of the list", io, src_path), + m_actual(actual) + { +@@ -192,7 +192,7 @@ public: + + // "not any of the list, got #{actual.inspect}" + +- virtual ~validation_not_any_of_error() KS_NOEXCEPT {}; ++ virtual ~validation_not_any_of_error() KS_NOEXCEPT {}; + + protected: + const T& m_actual; +@@ -205,7 +205,7 @@ protected: + template + class validation_expr_error: public validation_failed_error { + public: +- validation_expr_error(const T& actual, kstream* io, const std::string src_path): ++ validation_expr_error(const T& actual, kstream* io, const std::string src_path): + validation_failed_error("not matching the expression", io, src_path), + m_actual(actual) + { +@@ -213,7 +213,7 @@ public: + + // "not matching the expression, got #{actual.inspect}" + +- virtual ~validation_expr_error() KS_NOEXCEPT {}; ++ virtual ~validation_expr_error() KS_NOEXCEPT {}; + + protected: + const T& m_actual; diff --git a/recipes/kaitai_struct_cpp_stl_runtime/config.yml b/recipes/kaitai_struct_cpp_stl_runtime/config.yml index 25aabe969604c..aa873ad2d383c 100644 --- a/recipes/kaitai_struct_cpp_stl_runtime/config.yml +++ b/recipes/kaitai_struct_cpp_stl_runtime/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.1": + folder: all "0.10": folder: all "cci.20210701": From d9732467116e6da374e3b7c92c33b07dbaf3b0a1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 2 Nov 2023 18:50:14 +0200 Subject: [PATCH 2347/4087] (#18644) subunit: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * subunit: migrate to Conan v2 * subunit: disable shared builds with apple-clang * subunit: fix Windows builds * subunit: simplify generate() * subunit: add /FS to CFLAGS * subunit: fix gcc failure --------- Co-authored-by: Rubén Rincón Blanco --- recipes/subunit/all/conandata.yml | 1 - recipes/subunit/all/conanfile.py | 201 ++++++++++-------- .../subunit/all/test_package/CMakeLists.txt | 7 +- recipes/subunit/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../subunit/all/test_v1_package/conanfile.py | 17 ++ 6 files changed, 153 insertions(+), 102 deletions(-) create mode 100644 recipes/subunit/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/subunit/all/test_v1_package/conanfile.py diff --git a/recipes/subunit/all/conandata.yml b/recipes/subunit/all/conandata.yml index afbc1844ad677..565af62adb5d6 100644 --- a/recipes/subunit/all/conandata.yml +++ b/recipes/subunit/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "1.4.0": - patch_file: "patches/0001-fix-ExtUtils-MakeMaker-error.patch" - base_path: "source_subfolder" diff --git a/recipes/subunit/all/conanfile.py b/recipes/subunit/all/conanfile.py index e662ea1d9f3b1..b1995dd599186 100644 --- a/recipes/subunit/all/conanfile.py +++ b/recipes/subunit/all/conanfile.py @@ -1,19 +1,28 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import contextlib import glob import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rm, rmdir +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 SubunitConan(ConanFile): name = "subunit" description = "A streaming protocol for test results" - topics = "subunit", "streaming", "protocol", "test", "results" - license = "Apache-2.0", "BSD-3-Clause" - homepage = "https://launchpad.net/subunit" + license = ("Apache-2.0", "BSD-3-Clause") url = "https://github.com/conan-io/conan-center-index" + homepage = "https://launchpad.net/subunit" + topics = ("subunit", "streaming", "protocol", "test", "results") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,125 +33,135 @@ class SubunitConan(ConanFile): "fPIC": True, } - exports_sources = "patches/*" - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + @property + def _is_clang_cl(self): + return self.settings.os == "Windows" and self.settings.compiler == "clang" + + 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: - del self.options.fPIC + self.options.rm_safe("fPIC") - def requirements(self): - self.requires("cppunit/1.15.1") + def layout(self): + basic_layout(self, src_folder="src") - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.3") + def requirements(self): + self.requires("cppunit/1.15.1", transitive_headers=True) def validate(self): if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("Cannot build shared subunit libraries on Windows") - if self.settings.compiler == "apple-clang" and tools.Version(self.settings.compiler.version) < "10": + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "10": # Complete error is: # make[2]: *** No rule to make target `/Applications/Xcode-9.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/config.h', needed by `Makefile'. Stop. raise ConanInvalidConfiguration("Due to weird make error involving missing config.h file in sysroot") + if self.settings.compiler == "apple-clang" and self.options.shared: + raise ConanInvalidConfiguration("Shared builds with apple-clang are not supported") + 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): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "AR": "{} lib".format(tools.unix_path(self.deps_user_info["automake"].ar_lib)), - "CC": "{} cl -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)), - "CXX": "{} cl -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)), - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.libs = [] - if self.settings.compiler == "Visual Studio": - self._autotools.flags.append("-FS") - self._autotools.cxx_flags.append("-EHsc") - yes_no = lambda v: "yes" if v else "no" - conf_args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - "CHECK_CFLAGS=' '", - "CHECK_LIBS=' '", - "CPPUNIT_CFLAGS='{}'".format(" ".join("-I{}".format(inc) for inc in self.deps_cpp_info["cppunit"].include_paths).replace("\\", "/")), - "CPPUNIT_LIBS='{}'".format(" ".join(self.deps_cpp_info["cppunit"].libs)), + 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) + if is_msvc(self): + tc.extra_cflags.append("-FS") + tc.extra_cxxflags.append("-FS") + tc.extra_cxxflags.append("-EHsc") + tc.configure_args.append("CHECK_CFLAGS= ") + tc.configure_args.append("CHECK_LIBS= ") + cppunit_info = self.dependencies["cppunit"].cpp_info + tc.configure_args.append("CPPUNIT_LIBS='{}'".format(" ".join(cppunit_info.libs))) + tc.configure_args.append("CPPUNIT_CFLAGS= ") + # Avoid installing i18n + perl things in arch-dependent folders or in a `local` subfolder + tc.make_args += [ + f"INSTALLARCHLIB={unix_path(self, os.path.join(self.package_folder, 'lib'))}", + f"INSTALLSITEARCH={unix_path(self, os.path.join(self.build_folder, 'archlib'))}", + f"INSTALLVENDORARCH={unix_path(self, os.path.join(self.build_folder, 'archlib'))}", + f"INSTALLSITEBIN={unix_path(self, os.path.join(self.package_folder, 'bin'))}", + f"INSTALLSITESCRIPT={unix_path(self, os.path.join(self.package_folder, 'bin'))}", + f"INSTALLSITEMAN1DIR={unix_path(self, os.path.join(self.build_folder, 'share', 'man', 'man1'))}", + f"INSTALLSITEMAN3DIR={unix_path(self, os.path.join(self.build_folder, 'share', 'man', 'man3'))}", ] - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + tc.generate() + + if is_msvc(self) or self._is_clang_cl: + # AutotoolsDeps causes ./configure to fail on Windows + # Possibly related to https://github.com/conan-io/conan/issues/12784 + env = Environment() + env.append("CPPFLAGS", [f"-I{unix_path(self, p)}" for p in cppunit_info.includedirs] + [f"-D{d}" for d in cppunit_info.defines]) + env.vars(self).save_script("conanautotoolsdeps_workaround") + else: + deps = AutotoolsDeps(self) + deps.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f'{ar_wrapper} lib') + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with self._build_context(): - autotools = self._configure_autotools() + apply_conandata_patches(self) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - # Avoid installing i18n + perl things in arch-dependent folders or in a `local` subfolder - install_args = [ - "INSTALLARCHLIB={}".format(os.path.join(self.package_folder, "lib").replace("\\", "/")), - "INSTALLSITEARCH={}".format(os.path.join(self.build_folder, "archlib").replace("\\", "/")), - "INSTALLVENDORARCH={}".format(os.path.join(self.build_folder, "archlib").replace("\\", "/")), - "INSTALLSITEBIN={}".format(os.path.join(self.package_folder, "bin").replace("\\", "/")), - "INSTALLSITESCRIPT={}".format(os.path.join(self.package_folder, "bin").replace("\\", "/")), - "INSTALLSITEMAN1DIR={}".format(os.path.join(self.build_folder, "share", "man", "man1").replace("\\", "/")), - "INSTALLSITEMAN3DIR={}".format(os.path.join(self.build_folder, "share", "man", "man3").replace("\\", "/")), - ] - autotools.install(args=install_args) - - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.pod") + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", self.package_folder, recursive=True) + rm(self, "*.pod", self.package_folder, recursive=True) for d in glob.glob(os.path.join(self.package_folder, "lib", "python*")): - tools.rmdir(d) + rmdir(self, d) for d in glob.glob(os.path.join(self.package_folder, "lib", "*")): if os.path.isdir(d): - tools.rmdir(d) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "Library")) + rmdir(self, d) + for d in glob.glob(os.path.join(self.package_folder, "*")): + if os.path.isdir(d) and os.path.basename(d) not in ["bin", "include", "lib", "licenses"]: + rmdir(self, d) def package_info(self): self.cpp_info.components["libsubunit"].libs = ["subunit"] - self.cpp_info.components["libsubunit"].names["pkgconfig"] = "libsubunit" + self.cpp_info.components["libsubunit"].set_property("pkg_config_name", "libsubunit") self.cpp_info.components["libcppunit_subunit"].libs = ["cppunit_subunit"] self.cpp_info.components["libcppunit_subunit"].requires = ["cppunit::cppunit"] - self.cpp_info.components["libcppunit_subunit"].names["pkgconfig"] = "libcppunit_subunit" + self.cpp_info.components["libcppunit_subunit"].set_property("pkg_config_name", "libcppunit_subunit") 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/subunit/all/test_package/CMakeLists.txt b/recipes/subunit/all/test_package/CMakeLists.txt index ec668b89c232d..10c8b53495cd6 100644 --- a/recipes/subunit/all/test_package/CMakeLists.txt +++ b/recipes/subunit/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 CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(subunit REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE subunit::subunit) diff --git a/recipes/subunit/all/test_package/conanfile.py b/recipes/subunit/all/test_package/conanfile.py index d4128b0450777..ef5d7042163ec 100644 --- a/recipes/subunit/all/test_package/conanfile.py +++ b/recipes/subunit/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/subunit/all/test_v1_package/CMakeLists.txt b/recipes/subunit/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/subunit/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/subunit/all/test_v1_package/conanfile.py b/recipes/subunit/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/subunit/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 22cf5e722fa7945f7c16b2d83ce1f97dfaa3af09 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 2 Nov 2023 18:55:08 +0200 Subject: [PATCH 2348/4087] (#18883) cairo: add missing transitive_headers, add v1.17.8 * cairo: add missing transitive_headers, fix some v2 issues in all/ * cairo: restore VirtualRunEnv in test_package, improve os detection * cairo: add v1.17.8 * cairo: review suggestions * cairo: bump deps * cairo: drop the pre-1.17.4 autotools versions * cairo: restore all/, keep it unmodified for the current PR --- recipes/cairo/config.yml | 2 ++ recipes/cairo/meson/conandata.yml | 5 ++- recipes/cairo/meson/conanfile.py | 36 ++++++++----------- .../cairo/meson/test_package/CMakeLists.txt | 2 +- .../meson/test_v1_package/CMakeLists.txt | 4 +-- 5 files changed, 23 insertions(+), 26 deletions(-) diff --git a/recipes/cairo/config.yml b/recipes/cairo/config.yml index 5fabe3a0b232a..8e74221deaa9f 100644 --- a/recipes/cairo/config.yml +++ b/recipes/cairo/config.yml @@ -1,6 +1,8 @@ versions: "1.18.0": folder: meson + "1.17.8": + folder: meson "1.17.6": folder: meson "1.17.4": diff --git a/recipes/cairo/meson/conandata.yml b/recipes/cairo/meson/conandata.yml index 08cc67a383ec6..278a3653016c5 100644 --- a/recipes/cairo/meson/conandata.yml +++ b/recipes/cairo/meson/conandata.yml @@ -2,9 +2,12 @@ sources: "1.18.0": sha256: "abf8fba4d510086a492783c3e0828e90b32734738fd80906595617d229d02bab" url: "https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.18.0/cairo-1.18.0.tar.bz2" + "1.17.8": + url: "https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.17.8/cairo-1.17.8.tar.bz2" + sha256: "ead4724423eb969f98b456fe1e3ee1e1741fe1c8dfb1a41ca12afa81a6c1665f" "1.17.6": - sha256: "90496d135c9ef7612c98f8ee358390cdec0825534573778a896ea021155599d2" url: "https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.17.6/cairo-1.17.6.tar.bz2" + sha256: "90496d135c9ef7612c98f8ee358390cdec0825534573778a896ea021155599d2" "1.17.4": url: - "https://www.cairographics.org/snapshots/cairo-1.17.4.tar.xz" diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 72a90c376844a..5246b94916751 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -5,15 +5,7 @@ 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, - rename, - replace_in_file, - rm, - rmdir) +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import MesonToolchain, Meson @@ -75,12 +67,12 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.with_xlib del self.options.with_xlib_xrender del self.options.with_xcb del self.options.with_symbol_lookup - if self.settings.os in ["Macos", "Windows"] or Version(self.version) >= "1.18.0": + if Version(self.version) >= "1.17.8" or self.settings.os == "Windows" or is_apple_os(self): del self.options.with_opengl def configure(self): @@ -101,24 +93,24 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.0", transitive_headers=True, transitive_libs=True) if self.options.with_fontconfig: - self.requires("fontconfig/2.14.2") + self.requires("fontconfig/2.14.2", transitive_headers=True, transitive_libs=True) if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_glib: self.requires("glib/2.78.0") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: - self.requires("xorg/system") + self.requires("xorg/system", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_opengl") == "desktop": - self.requires("opengl/system") + self.requires("opengl/system", transitive_headers=True, transitive_libs=True) if self.settings.os == "Windows": self.requires("glext/cci.20210420") self.requires("wglext/cci.20200813") self.requires("khrplatform/cci.20200529") if self.options.get_safe("with_opengl") and self.settings.os in ["Linux", "FreeBSD"]: - self.requires("egl/system") + self.requires("egl/system", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.get_safe("with_xlib_xrender") and not self.options.get_safe("with_xlib"): @@ -158,13 +150,13 @@ def is_enabled(value): options["png"] = is_enabled(self.options.with_png) options["freetype"] = is_enabled(self.options.with_freetype) options["fontconfig"] = is_enabled(self.options.with_fontconfig) - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: options["xcb"] = is_enabled(self.options.with_xcb) options["xlib"] = is_enabled(self.options.with_xlib) else: options["xcb"] = "disabled" options["xlib"] = "disabled" - if Version(self.version) < "1.18.0": + if Version(self.version) < "1.17.8": if self.options.get_safe("with_opengl") == "desktop": options["gl-backend"] = "gl" elif self.options.get_safe("with_opengl") == "gles2": @@ -188,7 +180,7 @@ def is_enabled(value): options["drm"] = "disabled" # not yet compilable in cairo 1.17.4 options["openvg"] = "disabled" # https://www.khronos.org/openvg/ options["qt"] = "disabled" # not yet compilable in cairo 1.17.4 - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: options["xlib-xrender"] = is_enabled(self.options.with_xlib_xrender) options["gtk2-utils"] = "disabled" @@ -252,7 +244,7 @@ def add_component_and_base_requirements(component, requirements, system_libs=Non self.cpp_info.components["cairo_"].libs = ["cairo"] self.cpp_info.components["cairo_"].includedirs.insert(0, os.path.join("include", "cairo")) - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["cairo_"].system_libs.extend(["m", "dl", "pthread"]) if self.options.get_safe("with_symbol_lookup"): self.cpp_info.components["cairo_"].system_libs.append("bfd") @@ -316,7 +308,7 @@ def add_component_and_base_requirements(component, requirements, system_libs=Non if self.options.with_opengl == "desktop": add_component_and_base_requirements("cairo-gl", ["opengl::opengl"]) - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: add_component_and_base_requirements("cairo-glx", ["opengl::opengl"]) if self.settings.os == "Windows": diff --git a/recipes/cairo/meson/test_package/CMakeLists.txt b/recipes/cairo/meson/test_package/CMakeLists.txt index 4f33d55898eb2..83adc4effa23e 100644 --- a/recipes/cairo/meson/test_package/CMakeLists.txt +++ b/recipes/cairo/meson/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.2) +cmake_minimum_required(VERSION 3.15) project(test_package C) find_package(cairo CONFIG REQUIRED) diff --git a/recipes/cairo/meson/test_v1_package/CMakeLists.txt b/recipes/cairo/meson/test_v1_package/CMakeLists.txt index 692a4909c85a7..91630d79f4abb 100644 --- a/recipes/cairo/meson/test_v1_package/CMakeLists.txt +++ b/recipes/cairo/meson/test_v1_package/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.1.2) -project(test_package C) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) From 305e2b26e1171f3412ee131823816d570e765893 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 2 Nov 2023 19:16:09 +0200 Subject: [PATCH 2349/4087] (#20050) h5pp: add version 1.11.0.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/h5pp/all/conandata.yml | 3 +++ recipes/h5pp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/h5pp/all/conandata.yml b/recipes/h5pp/all/conandata.yml index cd78418f65010..264046f12084e 100644 --- a/recipes/h5pp/all/conandata.yml +++ b/recipes/h5pp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.0.1": + url: "https://github.com/DavidAce/h5pp/archive/v1.11.0.1.tar.gz" + sha256: "73b08273c36220fad2836897138f4e0adbe347ea7d1cc7c22f9783a29b24f967" "1.11.0": url: "https://github.com/DavidAce/h5pp/archive/v1.11.0.tar.gz" sha256: "1c4171275eb50a26ed9da8055397f03a726896c4c49ad0380b16dcb13574ecff" diff --git a/recipes/h5pp/config.yml b/recipes/h5pp/config.yml index 2a1bf3aae7487..6a5c9d7731601 100644 --- a/recipes/h5pp/config.yml +++ b/recipes/h5pp/config.yml @@ -13,3 +13,5 @@ versions: folder: "all" "1.11.0": folder: "all" + "1.11.0.1": + folder: "all" From 23db35584e0933d029045abfb3dc9f584a444a07 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 2 Nov 2023 19:25:53 +0100 Subject: [PATCH 2350/4087] (#20091) grpc-proto: use host_version for protobuf in build requirements and bump protobuf * use host_version for protobuf in build requirements and bump protobuf * fix min conan v2 version --- recipes/grpc-proto/all/conanfile.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/recipes/grpc-proto/all/conanfile.py b/recipes/grpc-proto/all/conanfile.py index 5ab0a942ba98e..e0de5ab7f7c55 100644 --- a/recipes/grpc-proto/all/conanfile.py +++ b/recipes/grpc-proto/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration -from conan.tools.build import can_run, check_min_cppstd +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import get, collect_libs, copy @@ -11,7 +11,7 @@ from helpers import parse_proto_libraries -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" class GRPCProto(ConanFile): @@ -33,6 +33,10 @@ class GRPCProto(ConanFile): } exports = "helpers.py" + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + def export_sources(self): copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) @@ -56,7 +60,7 @@ def layout(self): def requirements(self): # protobuf symbols are exposed from generated structures # https://github.com/conan-io/conan-center-index/pull/16185#issuecomment-1501174215 - self.requires("protobuf/3.21.9", transitive_headers=True, transitive_libs=True, run=can_run(self)) + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) self.requires("googleapis/cci.20230501") def validate(self): @@ -71,8 +75,8 @@ def validate(self): ) def build_requirements(self): - if not can_run(self): - self.tool_requires("protobuf/3.21.9") + if not self._is_legacy_one_profile: + self.tool_requires("protobuf/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -80,7 +84,7 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if can_run(self): + if self._is_legacy_one_profile: env = VirtualRunEnv(self) env.generate(scope="build") tc = CMakeToolchain(self) From 86a95819670dec9c43af203ae3a9e725e141381e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 2 Nov 2023 21:19:33 +0200 Subject: [PATCH 2351/4087] (#20305) hdf5: add version 1.14.2 * hdf5: add version 1.14.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/) * hdf5: add Shlwapi system lib dependency on Windows --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/hdf5/all/conandata.yml | 3 +++ recipes/hdf5/all/conanfile.py | 6 ++++-- recipes/hdf5/config.yml | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/hdf5/all/conandata.yml b/recipes/hdf5/all/conandata.yml index 5eba8570f098c..3a6f50129df1b 100644 --- a/recipes/hdf5/all/conandata.yml +++ b/recipes/hdf5/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.2": + url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_2.tar.gz" + sha256: "83eaee3f9d1790bb4b29368bf1a648ece763097a4122c80a81076e8fb1e890e6" "1.14.1": url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_1.tar.gz" sha256: "1f710f3846d9c3ef9a4c57ef252ee0570f0af4e028fd6ccc360a48b7b16c347d" diff --git a/recipes/hdf5/all/conanfile.py b/recipes/hdf5/all/conanfile.py index 439507ce9f6f2..5938ce6e5cfbe 100644 --- a/recipes/hdf5/all/conanfile.py +++ b/recipes/hdf5/all/conanfile.py @@ -107,7 +107,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def _inject_stdlib_flag(self, tc): - if self.settings.os == "Linux" and self.settings.compiler == "clang": + if self.settings.os in ["Linux", "FreeBSD"] and self.settings.compiler == "clang": cpp_stdlib = f" -stdlib={self.settings.compiler.libcxx}".rstrip("1") # strip 11 from stdlibc++11 tc.variables["CMAKE_CXX_FLAGS"] = tc.variables.get("CMAKE_CXX_FLAGS", "") + cpp_stdlib return tc @@ -281,10 +281,12 @@ def _config_libname(lib): components = self._components() add_component("hdf5_c", **components["hdf5_c"]) self.cpp_info.components["hdf5_c"].includedirs.append(os.path.join("include", "hdf5")) - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["hdf5_c"].system_libs.extend(["dl", "m"]) if self.options.get_safe("threadsafe"): self.cpp_info.components["hdf5_c"].system_libs.append("pthread") + elif self.settings.os == "Windows": + self.cpp_info.components["hdf5_c"].system_libs.append("Shlwapi") if self.options.shared: self.cpp_info.components["hdf5_c"].defines.append("H5_BUILT_AS_DYNAMIC_LIB") diff --git a/recipes/hdf5/config.yml b/recipes/hdf5/config.yml index 7ae39b3f5a326..19837ccfc8822 100644 --- a/recipes/hdf5/config.yml +++ b/recipes/hdf5/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.2": + folder: all "1.14.1": folder: all "1.14.0": From d6423f7051817b696c1f21810417d1397ae9a398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Nadeau?= Date: Thu, 2 Nov 2023 15:59:25 -0400 Subject: [PATCH 2352/4087] (#20817) qt/5.15.11: Expose QSvgPlugin and QSvgIconPlugin --- recipes/qt/5.x.x/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 9b166274e36d2..6dcdc8e7ad5c1 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -1253,6 +1253,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.qtsvg and self.options.gui: _create_module("Svg", ["Gui"]) + _create_plugin("QSvgIconPlugin", "qsvgicon", "iconengines", []) + _create_plugin("QSvgPlugin", "qsvg", "imageformats", []) if self.options.qtwayland and self.options.gui: _create_module("WaylandClient", ["Gui", "wayland::wayland-client"]) From 2c1af796abd6da0b02f47cee064eb20c90db773e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 05:08:51 +0900 Subject: [PATCH 2353/4087] (#20819) minizip-ng: add version 4.0.2, update dependencies, remove duplicated package_type --- recipes/minizip-ng/all/conandata.yml | 3 +++ recipes/minizip-ng/all/conanfile.py | 10 ++++------ recipes/minizip-ng/config.yml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index cad464b51193b..cea39ab395159 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.2": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.2.tar.gz" + sha256: "22008b4639197edfc3c5797c8bd1d7a3b2e684bf669a26834faf12b4026dba1c" "4.0.1": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.1.tar.gz" sha256: "63e47a2b4dbac0da501f43f4da74f118dfb3ef0dee0ffbbe89428271002260f8" diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 73516f1e0155c..299908786c8dc 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -14,12 +14,10 @@ class MinizipNgConan(ConanFile): name = "minizip-ng" description = "Fork of the popular zip manipulation library found in the zlib distribution." - topics = ("compression", "zip") - package_type = "library" + license = "Zlib" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zlib-ng/minizip-ng" - license = "Zlib" - + topics = ("compression", "zip") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -85,7 +83,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_openssl: @@ -96,7 +94,7 @@ def requirements(self): def build_requirements(self): if self._needs_pkg_config: - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") if Version(self.version) >= "4.0.0": self.tool_requires("cmake/[>=3.19 <4]") diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index b2948c58fb880..4a5dbdbac3fe0 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.2": + folder: all "4.0.1": folder: all "4.0.0": From e3ff534cac58cbfcc7ed756283eb0d5588bb9580 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 2 Nov 2023 21:47:29 +0100 Subject: [PATCH 2354/4087] (#20838) spirv-headers: add 1.3.261.1 & 1.3.268.0 + remove several old versions * add 1.3.261.1 and 1.3.268.0 * remove old versions --- recipes/spirv-headers/all/conandata.yml | 45 ++++--------------------- recipes/spirv-headers/config.yml | 30 +++-------------- 2 files changed, 10 insertions(+), 65 deletions(-) diff --git a/recipes/spirv-headers/all/conandata.yml b/recipes/spirv-headers/all/conandata.yml index c9233e5ff87a6..44f2fdcf490ab 100644 --- a/recipes/spirv-headers/all/conandata.yml +++ b/recipes/spirv-headers/all/conandata.yml @@ -1,49 +1,16 @@ sources: + "1.3.268.0": + url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" + sha256: "1022379e5b920ae21ccfb5cb41e07b1c59352a18c3d3fdcbf38d6ae7733384d4" + "1.3.261.1": + url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.261.1.tar.gz" + sha256: "32b4c6ae6a2fa9b56c2c17233c8056da47e331f76e117729925825ea3e77a739" "1.3.243.0": url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.243.0.tar.gz" sha256: "16927b1868e7891377d059cd549484e4158912439cf77451ae7e01e2a3bcd28b" "1.3.239.0": url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.239.0.tar.gz" sha256: "fdaf6670e311cd1c08ae90bf813e89dd31630205bc60030ffd25fb0af39b51fe" - "1.3.236.0": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.236.0.tar.gz" - sha256: "4d74c685fdd74469eba7c224dd671a0cb27df45fc9aa43cdd90e53bd4f2b2b78" - "1.3.231.1": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.231.1.tar.gz" - sha256: "fc340700b005e9a2adc98475b5afbbabd1bc931f789a2afd02d54ebc22522af3" - "1.3.224.0": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.224.0.tar.gz" - sha256: "2fb1039ec6cec8943400e9b4d01d8bfe8c62a0bd1fafb7c39c56469aa247b838" - "1.3.216.0": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.216.0.tar.gz" - sha256: "46c49a0e49ea120138102b1dcb3778e5a4f2267c45b9e937810a4cf4fb889e3d" - "1.3.211.0": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.211.0.tar.gz" - sha256: "30a78e61bd812c75e09fdc7a319af206b1044536326bc3e85fea818376a12568" - "1.3.204.0": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.204.0.tar.gz" - sha256: "519d09906dcdd4bf27089ff136d4e8c70abe2915bbde17a1d5ac18c5de6aee67" "1.2.198.0": url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.2.198.0.tar.gz" sha256: "3301a23aca0434336a643e433dcacacdd60000ab3dd35dc0078a297c06124a12" - "cci.20211010": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/814e728b30ddd0f4509233099a3ad96fd4318c07.tar.gz" - sha256: "c262d3c0c36ad5c87fbe3572aa292d2aed4dcd9b1ca4868eff9ec180e3f994f2" - "cci.20210811": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/e71feddb3f17c5586ff7f4cfb5ed1258b800574b.tar.gz" - sha256: "9eb56548460fd8850250ebf78071528fb66c2a5db2ef535edc1d493b2581ec66" - "cci.20210616": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/07f259e68af3a540038fa32df522554e74f53ed5.tar.gz" - sha256: "ce7d299c9e688fe536e106605235dbb7f81613daa7995d4d99d002c808f126f8" - "cci.20210414": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/dafead1765f6c1a5f9f8a76387dcb2abe4e54acd.tar.gz" - sha256: "e1c8530c95fc8c70fa6a7cbc269ebd1b10da3872efa0e3c6eb82452c3e180cda" - "1.5.4": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.4.tar.gz" - sha256: "fc026b6566167f6db03dc48779f0f986f9ff8c93ed651a557f28cfbe2dff4ede" - "1.5.3": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.3.tar.gz" - sha256: "eece8a9e147d37997d425d5d2eeb2e757ad25adc30d6651467094f3b18609b5a" - "1.5.1": - url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.1.corrected.tar.gz" - sha256: "2b6a0ce1c02b9fe7b9ef727369168fe579e5256f1ea013993acdb8d8f06b7e89" diff --git a/recipes/spirv-headers/config.yml b/recipes/spirv-headers/config.yml index cb5c705d100c0..f615fa9738359 100644 --- a/recipes/spirv-headers/config.yml +++ b/recipes/spirv-headers/config.yml @@ -1,33 +1,11 @@ versions: - "1.3.243.0": - folder: all - "1.3.239.0": - folder: all - "1.3.236.0": + "1.3.268.0": folder: all - "1.3.231.1": + "1.3.261.1": folder: all - "1.3.224.0": - folder: all - "1.3.216.0": - folder: all - "1.3.211.0": + "1.3.243.0": folder: all - "1.3.204.0": + "1.3.239.0": folder: all "1.2.198.0": folder: all - "cci.20211010": - folder: all - "cci.20210811": - folder: all - "cci.20210616": - folder: all - "cci.20210414": - folder: all - "1.5.4": - folder: all - "1.5.3": - folder: all - "1.5.1": - folder: all From 437e2ee412c7ce92feabf96fae7b47024b64d034 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 2 Nov 2023 23:09:16 +0200 Subject: [PATCH 2355/4087] (#20842) geographiclib: add v2.3, update source archive URLs * geographiclib: update source archive URLs, bump 1.50 0001-streamoff.patch is no longer needed * geographiclib: add v2.3 * geographiclib: add 1.50.2 to config.yml * geographiclib: fix 1.51 Clang error, disable -Werror --- recipes/geographiclib/all/conandata.yml | 26 ++++++++----- recipes/geographiclib/all/conanfile.py | 13 ++++--- .../all/patches/0001-streamoff.patch | 38 ------------------- .../0002-cmake-minimum-required-1.52.patch | 15 -------- .../all/patches/0003-fix-rhumb.patch | 27 +++++++++++++ .../all/test_package/conanfile.py | 2 +- recipes/geographiclib/config.yml | 4 +- 7 files changed, 54 insertions(+), 71 deletions(-) delete mode 100644 recipes/geographiclib/all/patches/0001-streamoff.patch delete mode 100644 recipes/geographiclib/all/patches/0002-cmake-minimum-required-1.52.patch create mode 100644 recipes/geographiclib/all/patches/0003-fix-rhumb.patch diff --git a/recipes/geographiclib/all/conandata.yml b/recipes/geographiclib/all/conandata.yml index d77a331b2e16a..1f35984a98249 100644 --- a/recipes/geographiclib/all/conandata.yml +++ b/recipes/geographiclib/all/conandata.yml @@ -1,16 +1,19 @@ sources: + "2.3": + url: "https://github.com/geographiclib/geographiclib/archive/refs/tags/v2.3.tar.gz" + sha256: "18131077061ef8be14064f073f6dba2897a138519733803af807f861a01976c1" "1.52": - url: "https://sourceforge.net/projects/geographiclib/files/distrib/GeographicLib-1.52.tar.gz" - sha256: "5d4145cd16ebf51a2ff97c9244330a340787d131165cfd150e4b2840c0e8ac2b" + url: "https://github.com/geographiclib/geographiclib/archive/refs/tags/v1.52.tar.gz" + sha256: "f327ec3d16cc64d954c388b342893377dc56909fab267dbae8ea8bc170b32b2d" "1.51": - url: "https://sourceforge.net/projects/geographiclib/files/distrib/GeographicLib-1.51.tar.gz" - sha256: "34370949617df5105bd6961e0b91581aef758dc455fe8629eb5858516022d310" - "1.50.1": - url: "https://sourceforge.net/projects/geographiclib/files/distrib/GeographicLib-1.50.1.tar.gz" - sha256: "d1765009e068b8cc5e76957e5d6be45ce6cff08c4aad8e5995e84a28354385f1" + url: "https://github.com/geographiclib/geographiclib/archive/refs/tags/v1.51.tar.gz" + sha256: "9a2fe4fb69887ab7c625a40e5f1c20261bc80871670d729bea3119a2492e112c" + "1.50.2": + url: "https://github.com/geographiclib/geographiclib/archive/refs/tags/v1.50.2.tar.gz" + sha256: "6bdb960292b3197dc18bc3005ee76e4cdefbf025154d71fb42c986cb5ed1e4e7" patches: "1.52": - - patch_file: "patches/0002-cmake-minimum-required-1.52.patch" + - patch_file: "patches/0002-cmake-minimum-required-1.51.patch" patch_description: "Add cmake_minimum_required() to top CMakeLists" patch_type: "conan" patch_source: "https://github.com/geographiclib/geographiclib/commit/d9ca6c6ec0b721326b9a690eee259eac643b927f" @@ -19,8 +22,11 @@ patches: patch_description: "Add cmake_minimum_required() to top CMakeLists" patch_type: "conan" patch_source: "https://github.com/geographiclib/geographiclib/commit/d9ca6c6ec0b721326b9a690eee259eac643b927f" - "1.50.1": - - patch_file: "patches/0001-streamoff.patch" + - patch_file: "patches/0003-fix-rhumb.patch" + patch_description: "Fix Rhumb.hpp Clang compatibility" + patch_type: "portability" + patch_source: "https://github.com/geographiclib/geographiclib/commit/6c5767ba13a12710eab8b5ab7a3db331a1ed7161" + "1.50.2": - patch_file: "patches/0002-cmake-minimum-required-1.50.1.patch" patch_description: "Add cmake_minimum_required() to top CMakeLists" patch_type: "conan" diff --git a/recipes/geographiclib/all/conanfile.py b/recipes/geographiclib/all/conanfile.py index d3a9097b7417e..0fb1787e60859 100644 --- a/recipes/geographiclib/all/conanfile.py +++ b/recipes/geographiclib/all/conanfile.py @@ -65,10 +65,7 @@ def validate(self): check_min_cppstd(self, 11) def loose_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): @@ -103,8 +100,9 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - # it does not work on Windows but is not needed - replace_in_file(self, cmakelists, "add_subdirectory (js)", "") + if Version(self.version) < "2": + # it does not work on Windows but is not needed + replace_in_file(self, cmakelists, "add_subdirectory (js)", "") # Don't install system libs replace_in_file(self, cmakelists, "include (InstallRequiredSystemLibraries)", "") # Don't build tools if asked @@ -112,6 +110,9 @@ def _patch_sources(self): replace_in_file(self, cmakelists, "add_subdirectory (tools)", "") replace_in_file(self, os.path.join(self.source_folder, "cmake", "CMakeLists.txt"), "${TOOLS}", "") + # Disable -Werror + replace_in_file(self, cmakelists, "-Werror", "") + replace_in_file(self, cmakelists, "/WX", "") def build(self): self._patch_sources() diff --git a/recipes/geographiclib/all/patches/0001-streamoff.patch b/recipes/geographiclib/all/patches/0001-streamoff.patch deleted file mode 100644 index 203a1711939ec..0000000000000 --- a/recipes/geographiclib/all/patches/0001-streamoff.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/src/SphericalEngine.cpp -+++ b/src/SphericalEngine.cpp -@@ -134,6 +134,8 @@ - #include - #include - -+#include -+ - #if defined(_MSC_VER) - // Squelch warnings about constant conditional expressions and potentially - // uninitialized local variables -@@ -409,22 +411,22 @@ namespace GeographicLib { - SphericalEngine::coeff::Csize(N0, M )) * sizeof(double); - if (N == N0) { - Utility::readarray(stream, C); -- if (skip) stream.seekg(std::ios::streamoff(skip), ios::cur); -+ if (skip) stream.seekg(streamoff(skip), ios::cur); - Utility::readarray(stream, S); -- if (skip) stream.seekg(std::ios::streamoff(skip), ios::cur); -+ if (skip) stream.seekg(streamoff(skip), ios::cur); - } else { - for (int m = 0, k = 0; m <= M; ++m) { - Utility::readarray(stream, &C[k], N + 1 - m); - stream.seekg((N0 - N) * sizeof(double), ios::cur); - k += N + 1 - m; - } -- if (skip) stream.seekg(std::ios::streamoff(skip), ios::cur); -+ if (skip) stream.seekg(streamoff(skip), ios::cur); - for (int m = 1, k = 0; m <= M; ++m) { - Utility::readarray(stream, &S[k], N + 1 - m); - stream.seekg((N0 - N) * sizeof(double), ios::cur); - k += N + 1 - m; - } -- if (skip) stream.seekg(std::ios::streamoff(skip), ios::cur); -+ if (skip) stream.seekg(streamoff(skip), ios::cur); - } - return; - } diff --git a/recipes/geographiclib/all/patches/0002-cmake-minimum-required-1.52.patch b/recipes/geographiclib/all/patches/0002-cmake-minimum-required-1.52.patch deleted file mode 100644 index 7f25113816c11..0000000000000 --- a/recipes/geographiclib/all/patches/0002-cmake-minimum-required-1.52.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,3 +1,4 @@ -+cmake_minimum_required (VERSION 3.13.0) - project (GeographicLib) - - # Version information -@@ -47,7 +48,6 @@ set (LIBVERSION_BUILD 19.2.0) - string (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER) - string (TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER) - --cmake_minimum_required (VERSION 3.7.0) # This version was released 2016-11-11 - - # User-settable variables - diff --git a/recipes/geographiclib/all/patches/0003-fix-rhumb.patch b/recipes/geographiclib/all/patches/0003-fix-rhumb.patch new file mode 100644 index 0000000000000..5edf6ebaedf2a --- /dev/null +++ b/recipes/geographiclib/all/patches/0003-fix-rhumb.patch @@ -0,0 +1,27 @@ +From 6c5767ba13a12710eab8b5ab7a3db331a1ed7161 Mon Sep 17 00:00:00 2001 +From: Charles Karney +Date: Sun, 24 Jan 2021 09:28:41 -0500 +Subject: [PATCH] Clean up some lists with default methods in Rhumb. Document + issues with AlbersEqualArea. doc: Update gdal_translate example to include + offset + scale. + +--- include/GeographicLib/Rhumb.hpp ++++ include/GeographicLib/Rhumb.hpp +@@ -468,11 +468,15 @@ namespace GeographicLib { + const Rhumb& _rh; + bool _exact; + real _lat1, _lon1, _azi12, _salp, _calp, _mu1, _psi1, _r1; +- RhumbLine& operator=(const RhumbLine&); // copy assignment not allowed ++ // copy assignment not allowed ++ RhumbLine& operator=(const RhumbLine&) = delete; + RhumbLine(const Rhumb& rh, real lat1, real lon1, real azi12, + bool exact); + public: +- ++ /** ++ * Construction is via default copy constructor. ++ **********************************************************************/ ++ RhumbLine(const RhumbLine&) = default; + /** + * This is a duplication of Rhumb::mask. + **********************************************************************/ diff --git a/recipes/geographiclib/all/test_package/conanfile.py b/recipes/geographiclib/all/test_package/conanfile.py index 0a6bc68712d90..fafba71d30d56 100644 --- a/recipes/geographiclib/all/test_package/conanfile.py +++ b/recipes/geographiclib/all/test_package/conanfile.py @@ -22,5 +22,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/geographiclib/config.yml b/recipes/geographiclib/config.yml index 6c3b63fe79e7e..23b0bc998f804 100644 --- a/recipes/geographiclib/config.yml +++ b/recipes/geographiclib/config.yml @@ -1,7 +1,9 @@ versions: + "2.3": + folder: all "1.52": folder: all "1.51": folder: all - "1.50.1": + "1.50.2": folder: all From d9a614d36574d82abca34b59d723283825d014fc Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 2 Nov 2023 22:59:08 +0100 Subject: [PATCH 2356/4087] (#20847) add jsbsim/1.1.13 * add jsbsim/1.1.13 * fix compilation error with some compilers * change patch_type --- recipes/jsbsim/all/conandata.yml | 15 +++ recipes/jsbsim/all/conanfile.py | 95 +++++++++++++++++++ .../all/patches/1.1.13-0001-expat-link.patch | 28 ++++++ .../patches/1.1.13-0002-cmake-install.patch | 39 ++++++++ ...0003-fix-use-t-before-auto-deduction.patch | 13 +++ .../jsbsim/all/test_package/CMakeLists.txt | 8 ++ recipes/jsbsim/all/test_package/conanfile.py | 26 +++++ .../jsbsim/all/test_package/test_package.cpp | 7 ++ .../jsbsim/all/test_v1_package/CMakeLists.txt | 8 ++ .../jsbsim/all/test_v1_package/conanfile.py | 17 ++++ recipes/jsbsim/config.yml | 3 + 11 files changed, 259 insertions(+) create mode 100644 recipes/jsbsim/all/conandata.yml create mode 100644 recipes/jsbsim/all/conanfile.py create mode 100644 recipes/jsbsim/all/patches/1.1.13-0001-expat-link.patch create mode 100644 recipes/jsbsim/all/patches/1.1.13-0002-cmake-install.patch create mode 100644 recipes/jsbsim/all/patches/1.1.13-0003-fix-use-t-before-auto-deduction.patch create mode 100644 recipes/jsbsim/all/test_package/CMakeLists.txt create mode 100644 recipes/jsbsim/all/test_package/conanfile.py create mode 100644 recipes/jsbsim/all/test_package/test_package.cpp create mode 100644 recipes/jsbsim/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jsbsim/all/test_v1_package/conanfile.py create mode 100644 recipes/jsbsim/config.yml diff --git a/recipes/jsbsim/all/conandata.yml b/recipes/jsbsim/all/conandata.yml new file mode 100644 index 0000000000000..e42c1af7e0ef0 --- /dev/null +++ b/recipes/jsbsim/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + "1.1.13": + url: "https://github.com/JSBSim-Team/jsbsim/archive/refs/tags/v1.1.13.tar.gz" + sha256: "e6cc167d4e7bb9d36e8cbb75bfaac270b15926e87367eebe9559e69ca32ad7e6" +patches: + "1.1.13": + - patch_file: "patches/1.1.13-0001-expat-link.patch" + patch_description: "CMake: fix link to expat" + patch_type: "conan" + - patch_file: "patches/1.1.13-0002-cmake-install.patch" + patch_description: "CMake: fix installation" + patch_type: "conan" + - patch_file: "patches/1.1.13-0003-fix-use-t-before-auto-deduction.patch" + patch_description: "Fix 'use of t before deduction of auto' in FGTable.cpp" + patch_type: "portability" diff --git a/recipes/jsbsim/all/conanfile.py b/recipes/jsbsim/all/conanfile.py new file mode 100644 index 0000000000000..3d180281b5649 --- /dev/null +++ b/recipes/jsbsim/all/conanfile.py @@ -0,0 +1,95 @@ +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir + +required_conan_version = ">=1.53.0" + + +class JsbsimConan(ConanFile): + name = "jsbsim" + description = ( + "JSBSim is a multi-platform, general purpose object-oriented " + "Flight Dynamics Model (FDM) written in C++" + ) + license = "LGPL-2.1-or-later" + topics = ("aircraft", "aerospace", "flight-dynamics", "flight-simulation") + homepage = "https://github.com/JSBSim-Team/jsbsim" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return "11" + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("expat/2.5.0") + + 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 generate(self): + tc = CMakeToolchain(self) + tc.variables["SYSTEM_EXPAT"] = True + tc.variables["BUILD_DOCS"] = False + tc.variables["BUILD_PYTHON_MODULE"] = False + tc.generate() + deps = CMakeDeps(self) + deps.set_property("expat", "cmake_file_name", "EXPAT") + deps.set_property("expat", "cmake_target_name", "EXPAT::EXPAT") + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "JSBSim") + self.cpp_info.libs = ["JSBSim"] + self.cpp_info.includedirs = [os.path.join("include", "JSBSim")] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + elif self.settings.os == "Windows": + self.cpp_info.system_libs.extend(["wsock32", "ws2_32"]) + if not self.options.shared: + self.cpp_info.defines.append("JSBSIM_STATIC_LINK") + + # TODO: to remove in conan v2 + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/jsbsim/all/patches/1.1.13-0001-expat-link.patch b/recipes/jsbsim/all/patches/1.1.13-0001-expat-link.patch new file mode 100644 index 0000000000000..422dcb5cbf527 --- /dev/null +++ b/recipes/jsbsim/all/patches/1.1.13-0001-expat-link.patch @@ -0,0 +1,28 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -65,12 +65,11 @@ add_library(libJSBSim ${HEADERS} ${SOURCES} + add_coverage(libJSBSim) + + if(EXPAT_FOUND) +- include_directories(${EXPAT_INCLUDE_DIRS}) +- if (PKG_CONFIG_FOUND) ++ if (0) + target_link_libraries(libJSBSim ${PC_EXPAT_LIBRARIES}) + set(ALL_LINK_LIBRARIES ${PC_EXPAT_LIBRARIES}) + else() +- target_link_libraries(libJSBSim ${EXPAT_LIBRARIES}) ++ target_link_libraries(libJSBSim EXPAT::EXPAT) + set(ALL_LINK_LIBRARIES ${EXPAT_LIBRARIES}) + endif() + else() +--- a/src/simgear/xml/CMakeLists.txt ++++ b/src/simgear/xml/CMakeLists.txt +@@ -28,5 +28,8 @@ endif() + add_library(Xml OBJECT ${HEADERS} ${SOURCES}) + set_target_properties(Xml PROPERTIES TARGET_DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}) ++if(EXPAT_FOUND) ++ target_link_libraries(Xml EXPAT::EXPAT) ++endif() + + install(FILES ${HEADERS} DESTINATION include/JSBSim/simgear/xml COMPONENT devel) diff --git a/recipes/jsbsim/all/patches/1.1.13-0002-cmake-install.patch b/recipes/jsbsim/all/patches/1.1.13-0002-cmake-install.patch new file mode 100644 index 0000000000000..0f6fb6ace3ef3 --- /dev/null +++ b/recipes/jsbsim/all/patches/1.1.13-0002-cmake-install.patch @@ -0,0 +1,39 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -135,26 +135,12 @@ elseif(UNIX) + endforeach() + endif() + +-if(BUILD_SHARED_LIBS) + set_target_properties (libJSBSim PROPERTIES + SOVERSION ${LIBRARY_SOVERSION} +- FRAMEWORK ON) ++ ) + install(TARGETS libJSBSim LIBRARY DESTINATION lib +- NAMELINK_SKIP +- COMPONENT runtime +- # For Mac +- FRAMEWORK DESTINATION "/Library/Frameworks") +- install(TARGETS libJSBSim LIBRARY DESTINATION lib +- NAMELINK_ONLY +- COMPONENT devel +- # For Mac +- FRAMEWORK DESTINATION "/Library/Frameworks") +-else() +- install(TARGETS libJSBSim ARCHIVE DESTINATION lib +- COMPONENT devel +- # For Mac +- FRAMEWORK DESTINATION "/Library/Frameworks") +-endif() ++ ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin) + + ################################################################################ + # Build and install command line executable # +--- a/utils/aeromatic++/CMakeLists.txt ++++ b/utils/aeromatic++/CMakeLists.txt +@@ -47,4 +47,3 @@ ADD_EXECUTABLE( aeromatic aeromatic.cpp ) + TARGET_LINK_LIBRARIES( aeromatic ${LIBAEROMATIC3} ${EXTRA_LIBS}) + + INSTALL(TARGETS aeromatic RUNTIME DESTINATION bin COMPONENT runtime) +-INSTALL(TARGETS ${LIBAEROMATIC3} ARCHIVE DESTINATION lib COMPONENT devel) diff --git a/recipes/jsbsim/all/patches/1.1.13-0003-fix-use-t-before-auto-deduction.patch b/recipes/jsbsim/all/patches/1.1.13-0003-fix-use-t-before-auto-deduction.patch new file mode 100644 index 0000000000000..958e041dc8752 --- /dev/null +++ b/recipes/jsbsim/all/patches/1.1.13-0003-fix-use-t-before-auto-deduction.patch @@ -0,0 +1,13 @@ +--- a/src/math/FGTable.cpp ++++ b/src/math/FGTable.cpp +@@ -87,8 +87,8 @@ FGTable::FGTable(const FGTable& t) + + // Deep copy of t.Tables + Tables.reserve(t.Tables.size()); +- for(const auto &t: t.Tables) +- Tables.push_back(std::unique_ptr(new FGTable(*t))); ++ for(const auto &table: t.Tables) ++ Tables.push_back(std::unique_ptr(new FGTable(*table))); + + Data = t.Data; + } diff --git a/recipes/jsbsim/all/test_package/CMakeLists.txt b/recipes/jsbsim/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5ee8eae7c8e6f --- /dev/null +++ b/recipes/jsbsim/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(jsbsim REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE jsbsim::jsbsim) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/jsbsim/all/test_package/conanfile.py b/recipes/jsbsim/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/jsbsim/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/jsbsim/all/test_package/test_package.cpp b/recipes/jsbsim/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..bd360361a7c3d --- /dev/null +++ b/recipes/jsbsim/all/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include + +int main() +{ + JSBSim::FGFDMExec FDMExec; + return 0; +} diff --git a/recipes/jsbsim/all/test_v1_package/CMakeLists.txt b/recipes/jsbsim/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/jsbsim/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jsbsim/all/test_v1_package/conanfile.py b/recipes/jsbsim/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/jsbsim/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/jsbsim/config.yml b/recipes/jsbsim/config.yml new file mode 100644 index 0000000000000..26b3368e2a692 --- /dev/null +++ b/recipes/jsbsim/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.13": + folder: all From 2e45cb831993ec2696e5a74ce299661937305653 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 07:47:18 +0900 Subject: [PATCH 2357/4087] (#20862) re2: add version 20231101 --- 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 f87d569bda02a..c28d8dfdd5d72 100644 --- a/recipes/re2/all/conandata.yml +++ b/recipes/re2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20231101": + url: "https://github.com/google/re2/releases/download/2023-11-01/re2-2023-11-01.tar.gz" + sha256: "4e6593ac3c71de1c0f322735bc8b0492a72f66ffccfad76e259fa21c41d27d8a" "20230901": url: "https://github.com/google/re2/releases/download/2023-09-01/re2-2023-09-01.tar.gz" sha256: "5bb6875ae1cd1e9fedde98018c346db7260655f86fdb8837e3075103acd3649b" diff --git a/recipes/re2/config.yml b/recipes/re2/config.yml index d57588459f0b8..56ae3dda8367b 100644 --- a/recipes/re2/config.yml +++ b/recipes/re2/config.yml @@ -1,4 +1,6 @@ versions: + "20231101": + folder: all "20230901": folder: all "20230801": From 432f5dfc0fc931e28bdd457e3bccf134a19842ae Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 08:51:06 +0900 Subject: [PATCH 2358/4087] (#20868) libxmlpp: add version 5.0.3, update dependencies --- recipes/libxmlpp/all/conandata.yml | 8 ++++++++ recipes/libxmlpp/all/conanfile.py | 4 ++-- ....0.3-0001-enable_static_builds_on_msvc.patch | 17 +++++++++++++++++ recipes/libxmlpp/config.yml | 2 ++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 recipes/libxmlpp/all/patches/5.0.3-0001-enable_static_builds_on_msvc.patch diff --git a/recipes/libxmlpp/all/conandata.yml b/recipes/libxmlpp/all/conandata.yml index 7865117bec5fc..70b3ca66d954f 100644 --- a/recipes/libxmlpp/all/conandata.yml +++ b/recipes/libxmlpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0.3": + url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.0.3/libxml++-5.0.3.tar.xz" + sha256: "13074f59e3288a378cafe9e6847df17f764c23fa29bc94f3305b8bf81efb2cf7" "5.0.1": url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.0.1/libxml++-5.0.1.tar.xz" sha256: "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098" @@ -6,6 +9,11 @@ sources: url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/2.42.1/libxml++-2.42.1.tar.xz" sha256: "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8" patches: + "5.0.3": + - patch_file: "patches/5.0.3-0001-enable_static_builds_on_msvc.patch" + patch_type: "portability" + patch_description: "Manage dllexport correctly to be able to build static libraries on MSVC" + patch_source: "https://github.com/libxmlplusplus/libxmlplusplus/commit/2a2825c67a30ea34f3514659bfd91111db8e009d.patch" "5.0.1": - patch_file: "patches/5.0.1-0001-enable_static_builds_on_msvc.patch" patch_type: "portability" diff --git a/recipes/libxmlpp/all/conanfile.py b/recipes/libxmlpp/all/conanfile.py index 8cd20b28a27a8..861652e59145b 100644 --- a/recipes/libxmlpp/all/conanfile.py +++ b/recipes/libxmlpp/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") if Version(self.version) <= "2.42.1": self.requires("glibmm/2.66.4", transitive_headers=True, transitive_libs=True) else: @@ -75,7 +75,7 @@ def validate(self): check_min_cppstd(self, 11) def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") diff --git a/recipes/libxmlpp/all/patches/5.0.3-0001-enable_static_builds_on_msvc.patch b/recipes/libxmlpp/all/patches/5.0.3-0001-enable_static_builds_on_msvc.patch new file mode 100644 index 0000000000000..1359f7eb0c90c --- /dev/null +++ b/recipes/libxmlpp/all/patches/5.0.3-0001-enable_static_builds_on_msvc.patch @@ -0,0 +1,17 @@ +diff --git a/meson.build b/meson.build +index 935aece..5e7180e 100644 +--- a/meson.build ++++ b/meson.build +@@ -371,12 +371,6 @@ library_build_type = get_option('default_library') + pkg_conf_data.set('LIBXMLXX_STATIC', library_build_type == 'static') + + +-if cpp_compiler.get_argument_syntax() == 'msvc' +- if library_build_type == 'both' +- error('Dynamic+Static builds are not supported by MSVC-style builds') +- endif +-endif +- + configure_file( + input: 'libxml++.pc.in', + output: xmlxx_pcname + '.pc', diff --git a/recipes/libxmlpp/config.yml b/recipes/libxmlpp/config.yml index c2cb45b3dcbc7..884c9a00e9000 100644 --- a/recipes/libxmlpp/config.yml +++ b/recipes/libxmlpp/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.3": + folder: all "5.0.1": folder: all "2.42.1": From c0e94ef406b9f8db290dee1b2312e0d7af6db857 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 3 Nov 2023 01:29:15 +0100 Subject: [PATCH 2359/4087] (#20871) onnx: add version 1.15.0 * onnx: add version 1.15.0 * always use protobuf from build context in case of 2 profiles * fix min conan v2 version * onnx 1.15.0 uses string_view which is c++17 --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/onnx/all/conandata.yml | 3 +++ recipes/onnx/all/conanfile.py | 32 +++++++++++++++++++++++++++----- recipes/onnx/config.yml | 2 ++ 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/recipes/onnx/all/conandata.yml b/recipes/onnx/all/conandata.yml index c1a55ff6669fd..ccb0c203d7239 100644 --- a/recipes/onnx/all/conandata.yml +++ b/recipes/onnx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.15.0": + url: "https://github.com/onnx/onnx/archive/v1.15.0.tar.gz" + sha256: "c757132e018dd0dd171499ef74fca88b74c5430a20781ec53da19eb7f937ef68" "1.14.1": url: "https://github.com/onnx/onnx/archive/v1.14.1.tar.gz" sha256: "e296f8867951fa6e71417a18f2e550a730550f8829bd35e947b4df5e3e777aa1" diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index 3f4e49bfd6bc5..e0e3f67083793 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save @@ -10,7 +10,7 @@ import os import textwrap -required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" class OnnxConan(ConanFile): @@ -34,12 +34,28 @@ class OnnxConan(ConanFile): "disable_static_registration": False, } + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + @property def _min_cppstd(self): + if Version(self.version) >= "1.15.0": + return 17 if Version(self.version) >= "1.13.0" and is_msvc(self): return 17 return 11 + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "15", + "msvc": "191", + "gcc": "7", + "clang": "5", + "apple-clang": "10", + } + def export_sources(self): export_conandata_patches(self) @@ -55,16 +71,22 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("protobuf/3.21.12", run=not cross_building(self), transitive_headers=True, transitive_libs=True) + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + if self._min_cppstd > 11: + 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 is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration("onnx shared is broken with Visual Studio") def build_requirements(self): - if hasattr(self, "settings_build") and cross_building(self): + if not self._is_legacy_one_profile: self.tool_requires("protobuf/") def source(self): @@ -73,7 +95,7 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if not cross_building(self): + if self._is_legacy_one_profile: env = VirtualRunEnv(self) env.generate(scope="build") tc = CMakeToolchain(self) diff --git a/recipes/onnx/config.yml b/recipes/onnx/config.yml index ae05002493f07..669807aa7c0eb 100644 --- a/recipes/onnx/config.yml +++ b/recipes/onnx/config.yml @@ -1,4 +1,6 @@ versions: + "1.15.0": + folder: all "1.14.1": folder: all "1.14.0": From 4b022ab159138f25cac5b6e89024db772cc9f5f5 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 09:57:18 +0900 Subject: [PATCH 2360/4087] (#20877) cyrus-sasl: add version 2.1.28, update dependencies --- recipes/cyrus-sasl/all/conandata.yml | 3 +++ recipes/cyrus-sasl/all/conanfile.py | 6 +++--- recipes/cyrus-sasl/config.yml | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/cyrus-sasl/all/conandata.yml b/recipes/cyrus-sasl/all/conandata.yml index 0fe894820dcdf..d24e3377974b4 100644 --- a/recipes/cyrus-sasl/all/conandata.yml +++ b/recipes/cyrus-sasl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.28": + url: "https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.28/cyrus-sasl-2.1.28.tar.gz" + sha256: "7ccfc6abd01ed67c1a0924b353e526f1b766b21f42d4562ee635a8ebfc5bb38c" "2.1.27": url: "https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.27/cyrus-sasl-2.1.27.tar.gz" sha256: "26866b1549b00ffd020f188a43c258017fa1c382b3ddadd8201536f72efb05d5" diff --git a/recipes/cyrus-sasl/all/conanfile.py b/recipes/cyrus-sasl/all/conanfile.py index 00a9b1d22a9a7..908fb513cf279 100644 --- a/recipes/cyrus-sasl/all/conanfile.py +++ b/recipes/cyrus-sasl/all/conanfile.py @@ -80,11 +80,11 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_postgresql: - self.requires("libpq/14.9") + self.requires("libpq/15.4") if self.options.with_mysql: - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.41.1") + self.requires("sqlite3/3.43.2") def validate(self): if self.settings.os == "Windows": diff --git a/recipes/cyrus-sasl/config.yml b/recipes/cyrus-sasl/config.yml index d7a18807b4494..85cdd658d0407 100644 --- a/recipes/cyrus-sasl/config.yml +++ b/recipes/cyrus-sasl/config.yml @@ -1,3 +1,5 @@ versions: + "2.1.28": + folder: "all" "2.1.27": folder: "all" From 6c78a534d4de51f7d1286d8175bb316f0e10d3bb Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Fri, 3 Nov 2023 02:17:24 +0100 Subject: [PATCH 2361/4087] (#20893) [yoga] bumb version to 2.0.1 --- 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 94212fbd08096..17011be7f593d 100644 --- a/recipes/yoga/all/conandata.yml +++ b/recipes/yoga/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "2.0.1": + url: "https://github.com/facebook/yoga/archive/refs/tags/v2.0.1.tar.gz" + sha256: "4c80663b557027cdaa6a836cc087d735bb149b8ff27cbe8442fc5e09cec5ed92" "2.0.0": url: "https://github.com/facebook/yoga/archive/refs/tags/v2.0.0.tar.gz" sha256: "29eaf05191dd857f76b6db97c77cce66db3c0067c88bd5e052909386ea66b8c5" patches: + "2.0.1": + - patch_file: "patches/0001-delete-tests.patch" + patch_description: "Delete test targets from cmake" + patch_type: "conan" "2.0.0": - 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 d77ad03cbf510..184166496d26e 100644 --- a/recipes/yoga/config.yml +++ b/recipes/yoga/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.1": + folder: all "2.0.0": folder: all From e4c51ed5b271e2d6d24d3b7ea4146a729cc2039a Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Fri, 3 Nov 2023 02:37:13 +0100 Subject: [PATCH 2362/4087] (#20895) bump dependencies of libgcrypt --- recipes/libgcrypt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgcrypt/all/conanfile.py b/recipes/libgcrypt/all/conanfile.py index 5ec59b6726d5f..825994cdd9480 100644 --- a/recipes/libgcrypt/all/conanfile.py +++ b/recipes/libgcrypt/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libcap/2.66") + self.requires("libcap/2.69") self.requires("libgpg-error/1.36", transitive_headers=True) def validate(self): From f0753c903a1da7fd3212f3acef909340fc788b10 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 11:46:55 +0900 Subject: [PATCH 2363/4087] (#20861) stx: add version 1.0.4, remove version 1.0.1, support conan v2 * stx: add version 1.0.4, remove version 1.0.1 * remove old condition * Update recipes/stx/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/stx/all/CMakeLists.txt | 7 - recipes/stx/all/conandata.yml | 18 +- recipes/stx/all/conanfile.py | 164 ++++++++---------- .../patches/0001-abseil_find_package.patch | 18 -- ...tch => 1.0.4-0001-cmake_module_path.patch} | 12 +- .../patches/1.0.4-0002-add-installer.patch | 20 +++ recipes/stx/all/test_package/CMakeLists.txt | 18 +- recipes/stx/all/test_package/conanfile.py | 22 ++- .../{example.cpp => test_package.cpp} | 0 recipes/stx/config.yml | 2 +- 10 files changed, 128 insertions(+), 153 deletions(-) delete mode 100644 recipes/stx/all/CMakeLists.txt delete mode 100644 recipes/stx/all/patches/0001-abseil_find_package.patch rename recipes/stx/all/patches/{0002-cmake_module_path.patch => 1.0.4-0001-cmake_module_path.patch} (70%) create mode 100644 recipes/stx/all/patches/1.0.4-0002-add-installer.patch rename recipes/stx/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/stx/all/CMakeLists.txt b/recipes/stx/all/CMakeLists.txt deleted file mode 100644 index 8bdaa1e47bfa0..0000000000000 --- a/recipes/stx/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/stx/all/conandata.yml b/recipes/stx/all/conandata.yml index 8029486130779..581d965091806 100644 --- a/recipes/stx/all/conandata.yml +++ b/recipes/stx/all/conandata.yml @@ -1,10 +1,12 @@ sources: - "1.0.1": - url: https://github.com/lamarrr/STX/archive/v1.0.1.tar.gz - sha256: c491c888c56b9f800eb7c17a30c81afcf2d9fec4cdae9a73cd1145698a645dd9 + "1.0.4": + url: "https://github.com/lamarrr/STX/archive/v1.0.4.tar.gz" + sha256: "89c61efb84828e42ddd6765e323e12b7b8de7ff68116f93227a87c56159c34ab" patches: - "1.0.1": - - patch_file: patches/0001-abseil_find_package.patch - base_path: source_subfolder - - patch_file: patches/0002-cmake_module_path.patch - base_path: source_subfolder + "1.0.4": + - patch_file: "patches/1.0.4-0001-cmake_module_path.patch" + patch_description: "append CMAKE_MODULE_PATH instead of setting CMAKE_MODULE_PATH" + patch_type: "conan" + - patch_file: "patches/1.0.4-0002-add-installer.patch" + patch_description: "use GNUInstallDirs for target path" + patch_type: "portability" diff --git a/recipes/stx/all/conanfile.py b/recipes/stx/all/conanfile.py index b81962b835189..631f348c12a9f 100644 --- a/recipes/stx/all/conanfile.py +++ b/recipes/stx/all/conanfile.py @@ -1,149 +1,132 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import is_msvc_static_runtime, 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 +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os -required_conan_version = ">=1.33.0" - +required_conan_version = ">=1.53.0" class STXConan(ConanFile): name = 'stx' - homepage = 'https://github.com/lamarrr/STX' + description = 'C++17 & C++ 20 error-handling and utility extensions.' license = 'MIT' url = 'https://github.com/conan-io/conan-center-index' - description = 'C++17 & C++ 20 error-handling and utility extensions.' - topics = 'error-handling', 'result', 'option', 'backtrace', 'panic' - - settings = 'os', 'compiler', 'build_type', 'arch' + homepage = 'https://github.com/lamarrr/STX' + topics = ('error-handling', 'result', 'option', 'backtrace', 'panic') + package_type = "static-library" + settings = 'os', 'arch', 'compiler', 'build_type' options = { - 'shared': [True, False], 'fPIC': [True, False], 'backtrace': [True, False], - 'panic_handler': [None, 'default', 'backtrace'], - 'visible_panic_hook': [True, False], + 'custom_panic_handler': [True, False], } default_options = { - 'shared': False, 'fPIC': True, 'backtrace': False, - 'panic_handler': 'default', - 'visible_panic_hook': False, + 'custom_panic_handler': False, } - exports_sources = ['CMakeLists.txt', 'patches/*'] - generators = 'cmake', 'cmake_find_package' - @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == 'Windows': del self.options.fPIC - def configure(self): - if self.options.shared: - del self.options.fPIC + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.backtrace: - self.requires('abseil/20200923.1') + self.requires('abseil/20230125.3') def validate(self): - if (self.options.panic_handler == 'backtrace' and - not self.options.backtrace): - raise ConanInvalidConfiguration( - 'panic_handler=backtrace requires backtrace=True' - ) - compiler = self.settings.compiler - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) - if compiler.get_safe('cppstd'): - tools.check_min_cppstd(self, 17) + 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 compiler == 'Visual Studio' and compiler_version < 16: + if is_msvc(self) and compiler_version < 16: raise ConanInvalidConfiguration( - 'STX requires C++17 language and standard library features ' - 'which VS < 2019 lacks' + f"{self.ref} requires C++{self._min_cppstd} language and standard library features " + "which VS < 2019 lacks" ) if compiler == 'gcc' and compiler_version < 8: raise ConanInvalidConfiguration( - 'STX requires C++17 language and standard library features ' - 'which GCC < 8 lacks' + f"{self.ref} requires C++{self._min_cppstd} language and standard library features " + "which GCC < 8 lacks" ) - if (compiler == 'clang' and compiler.libcxx and - compiler.libcxx in ['libstdc++', 'libstdc++11'] and - compiler_version < 9): + if compiler == 'clang' and compiler.libcxx and \ + compiler.libcxx in ['libstdc++', 'libstdc++11'] and \ + compiler_version < 9: raise ConanInvalidConfiguration( - 'STX requires C++17 language and standard library features ' - 'which clang < 9 with libc++ lacks' + f"{self.ref} requires C++{self._min_cppstd} language and standard library features " + "which clang < 9 with libc++ lacks" ) if (compiler == 'clang' and compiler.libcxx and compiler.libcxx == 'libc++' and compiler_version < 10): raise ConanInvalidConfiguration( - 'STX requires C++17 language and standard library features ' - 'which clang < 10 with libc++ lacks' + f"{self.ref} requires C++{self._min_cppstd} language and standard library features " + "which clang < 10 with libc++ lacks" ) if compiler == 'apple-clang' and compiler_version < 12: raise ConanInvalidConfiguration( - 'STX requires C++17 language and standard library features ' - 'which apple-clang < 12 with libc++ lacks' - ) - - if (compiler == 'Visual Studio' and self.options.shared and - tools.Version(self.version) <= '1.0.1'): - raise ConanInvalidConfiguration( - 'shared library build does not work on windows with ' - 'STX version <= 1.0.1' + f"{self.ref} requires C++{self._min_cppstd} language and standard library features " + "which apple-clang < 12 with libc++ lacks" ) 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 build(self): - for patch in self.conan_data.get('patches', {}).get(self.version, []): - tools.patch(**patch) + def generate(self): + tc = CMakeToolchain(self) + tc.variables['STX_ENABLE_BACKTRACE'] = self.options.backtrace + tc.variables['STX_CUSTOM_PANIC_HANDLER'] = self.options.custom_panic_handler + tc.generate() + deps = CMakeDeps(self) + deps.generate() + def build(self): + apply_conandata_patches(self) cmake = CMake(self) - cmake.definitions['STX_BUILD_SHARED'] = self.options.shared - cmake.definitions['STX_ENABLE_BACKTRACE'] = self.options.backtrace - cmake.definitions['STX_ENABLE_PANIC_BACKTRACE'] = \ - self.options.panic_handler == 'backtrace' - cmake.definitions['STX_OVERRIDE_PANIC_HANDLER'] = \ - self.options.panic_handler == None - cmake.definitions['STX_VISIBLE_PANIC_HOOK'] = \ - self.options.visible_panic_hook - - cmake.configure(build_folder=self._build_subfolder) + cmake.configure() cmake.build() def package(self): - self.copy( - '*.h', - dst='include', - src=os.path.join(self._source_subfolder, 'include') - ) - - self.copy('*.lib', dst='lib', keep_path=False) - self.copy('*.dll', dst='bin', keep_path=False) - self.copy('*.so', dst='lib', keep_path=False) - self.copy('*.dylib', dst='lib', keep_path=False) - self.copy('*.a', dst='lib', keep_path=False) - - self.copy('LICENSE', dst='licenses', src=self._source_subfolder) + 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 = tools.collect_libs(self) + self.cpp_info.libs = ["stx"] if self.options.backtrace: self.cpp_info.requires = [ @@ -151,14 +134,5 @@ def package_info(self): 'abseil::absl_symbolize' ] - if self.options.visible_panic_hook: - self.cpp_info.defines.append('STX_VISIBLE_PANIC_HOOK') - - if self.options.panic_handler == None: - self.cpp_info.defines.append('STX_OVERRIDE_PANIC_HANDLER') - - if self.options.panic_handler == 'backtrace': - self.cpp_info.defines.append('STX_ENABLE_PANIC_BACKTRACE') - - if self.settings.os == 'Android': + if self.settings.os in ["Linux", "FreeBSD", 'Android']: self.cpp_info.system_libs = ['atomic'] diff --git a/recipes/stx/all/patches/0001-abseil_find_package.patch b/recipes/stx/all/patches/0001-abseil_find_package.patch deleted file mode 100644 index 11c8ae870c7f2..0000000000000 --- a/recipes/stx/all/patches/0001-abseil_find_package.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e4ed99e..5e155ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -204,12 +204,7 @@ endif() - # =============================================== - - if(STX_ENABLE_BACKTRACE) -- if(NOT EXISTS third_party/abseil) -- execute_process( -- COMMAND git submodule update --init --recursive third_party/abseil -- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}) -- endif() -- add_subdirectory(third_party/abseil) -+ find_package(absl REQUIRED) - endif() - - # the atomics library doesn't automatically link on my Android phone diff --git a/recipes/stx/all/patches/0002-cmake_module_path.patch b/recipes/stx/all/patches/1.0.4-0001-cmake_module_path.patch similarity index 70% rename from recipes/stx/all/patches/0002-cmake_module_path.patch rename to recipes/stx/all/patches/1.0.4-0001-cmake_module_path.patch index 909cc4eabba22..89363cb6ad87d 100644 --- a/recipes/stx/all/patches/0002-cmake_module_path.patch +++ b/recipes/stx/all/patches/1.0.4-0001-cmake_module_path.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5e155ec..d73691d 100644 +index 4a21163..d11d123 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -30,7 +30,7 @@ project( +@@ -12,7 +12,7 @@ project( HOMEPAGE_URL "https://github.com/lamarrr/STX" LANGUAGES CXX) - + -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules) - - include(CMakeDependentOption) - include(HandleFlags) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + diff --git a/recipes/stx/all/patches/1.0.4-0002-add-installer.patch b/recipes/stx/all/patches/1.0.4-0002-add-installer.patch new file mode 100644 index 0000000000000..102b4d0e1195c --- /dev/null +++ b/recipes/stx/all/patches/1.0.4-0002-add-installer.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a21163..d24bb87 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -131,10 +131,14 @@ endif() + # === Install + # + # =============================================== ++include(GNUInstallDirs) + install( + TARGETS stx + EXPORT stx +- LIBRARY DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) + install(DIRECTORY include/stx DESTINATION include) + + # =============================================== diff --git a/recipes/stx/all/test_package/CMakeLists.txt b/recipes/stx/all/test_package/CMakeLists.txt index 985bbfd508f2e..6d43705b506c0 100644 --- a/recipes/stx/all/test_package/CMakeLists.txt +++ b/recipes/stx/all/test_package/CMakeLists.txt @@ -1,14 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(PackageTest LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +find_package(stx REQUIRED CONFIG) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(stx CONFIG REQUIRED) - -add_executable(example example.cpp) -target_link_libraries(example PRIVATE stx::stx) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE stx::stx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/stx/all/test_package/conanfile.py b/recipes/stx/all/test_package/conanfile.py index 46663ae7805d2..ef5d7042163ec 100644 --- a/recipes/stx/all/test_package/conanfile.py +++ b/recipes/stx/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 STXTestConan(ConanFile): - settings = 'os', 'compiler', 'build_type', 'arch' - generators = 'cmake', 'cmake_find_package_multi' +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join('bin', 'example'), 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/stx/all/test_package/example.cpp b/recipes/stx/all/test_package/test_package.cpp similarity index 100% rename from recipes/stx/all/test_package/example.cpp rename to recipes/stx/all/test_package/test_package.cpp diff --git a/recipes/stx/config.yml b/recipes/stx/config.yml index 715e55357a17b..c20e44b006f1a 100644 --- a/recipes/stx/config.yml +++ b/recipes/stx/config.yml @@ -1,3 +1,3 @@ versions: - "1.0.1": + "1.0.4": folder: all From 5e443eb6746446262b7f8d18654286ee626f2047 Mon Sep 17 00:00:00 2001 From: Dan Weatherill Date: Fri, 3 Nov 2023 10:11:10 +0000 Subject: [PATCH 2364/4087] (#20354) Aravis bump version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * start on bump of aravis version * refresh patch for new version * quieten yaml linter * add missing version in config.yml * fix extra line in yaml file * Add missing options gv-n-buffers and fast-heartbeat * Fix lint warning for ValueError * version bump 0.8.25 * fix yaml file indentation * reorganise versions * tabs vs spaces, uh * more tabs vs spaces, uh * conditional usage of gv_n_buffers which didn't exist in 0.8.20 * require compatibility with python3.7 can't use walrus * Add config comment * build doesn't work with meson/1.2.2 on Windows, to be investigated upstream * remove bad comment formatting * Update recipes/aravis/all/conandata.yml * Update recipes/aravis/all/conanfile.py * Update recipes/aravis/all/conanfile.py * trivial change - trigger v2 rebuild --------- Co-authored-by: sonali Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/aravis/all/conandata.yml | 26 ++++++++++++++---- recipes/aravis/all/conanfile.py | 27 ++++++++++++++++--- .../all/patches/0.8.25-gst-shared-lib.patch | 11 ++++++++ .../all/patches/0.8.29-gst-shared-lib.patch | 13 +++++++++ recipes/aravis/config.yml | 5 ++++ 5 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 recipes/aravis/all/patches/0.8.25-gst-shared-lib.patch create mode 100644 recipes/aravis/all/patches/0.8.29-gst-shared-lib.patch diff --git a/recipes/aravis/all/conandata.yml b/recipes/aravis/all/conandata.yml index f4c6ccd2ff9e6..6d7da524affcc 100644 --- a/recipes/aravis/all/conandata.yml +++ b/recipes/aravis/all/conandata.yml @@ -1,7 +1,23 @@ sources: - "0.8.20": - url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" - sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" + "0.8.29": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.29/aravis-0.8.29.tar.xz" + sha256: "12e5f2f0e1a966c3a6dce0a42d96b2f24497f42ae6051d6f026811124e986963" + "0.8.25": # latest version that supports GenDC data format (supported by U3V 1.1) + url: "https://github.com/AravisProject/aravis/releases/download/0.8.25/aravis-0.8.25.tar.xz" + sha256: "3ba18f941ae4e2c898fed1f63c4ce67ea41a800a902ee5684eef4ffdb87f1c09" + "0.8.20": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" + sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" patches: - "0.8.20": - - patch_file: "patches/0.8.19-gst-shared-lib.patch" + "0.8.29": + - patch_file: "patches/0.8.29-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.25": + - patch_file: "patches/0.8.25-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.20": + - patch_file: "patches/0.8.19-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index 6ccff17b4bf8e..15265ff0ba50f 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -33,6 +33,7 @@ class AravisConan(ConanFile): "gst_plugin": [True, False], "tools": [True, False], "introspection": [True, False], + "gv_n_buffers": ["ANY"], } default_options = { "shared": False, @@ -42,6 +43,7 @@ class AravisConan(ConanFile): "gst_plugin": False, "tools": True, "introspection": False, + "gv_n_buffers": 16, } def export_sources(self): @@ -52,6 +54,9 @@ def config_options(self): del self.options.fPIC if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.packet_socket + if Version(self.version) < "8.25": + del self.options.gv_n_buffers + def configure(self): if self.options.shared: @@ -61,14 +66,24 @@ def configure(self): if self.options.shared: self.options["glib"].shared = True + if self.options.get_safe("gv_n_buffers"): + try: + gv_n_buffers_val = int(str(self.options.gv_n_buffers)) + if not (1 <= gv_n_buffers_val ): + raise ConanInvalidConfiguration( + f"gv_n_buffers_val must be greater than 1 Provided: {gv_n_buffers_val}") + except ValueError as e: + raise ConanInvalidConfiguration("gv_n_buffers_val must be an integer.") from e + def layout(self): basic_layout(self, src_folder="src") def requirements(self): # glib-object.h and gio/gio.h are used in several public headers - self.requires("glib/2.77.2", transitive_headers=True) + self.requires("glib/2.78.0", transitive_headers=True) self.requires("libxml2/2.11.4") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") + if self.options.usb: self.requires("libusb/1.0.26") if self.options.gst_plugin: @@ -87,10 +102,11 @@ def validate(self): ) def build_requirements(self): + #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! self.tool_requires("meson/1.2.1") self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") if self.options.introspection: self.tool_requires("gobject-introspection/1.72.0") @@ -112,6 +128,11 @@ 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() tc.generate() diff --git a/recipes/aravis/all/patches/0.8.25-gst-shared-lib.patch b/recipes/aravis/all/patches/0.8.25-gst-shared-lib.patch new file mode 100644 index 0000000000000..c4bdecffb39f1 --- /dev/null +++ b/recipes/aravis/all/patches/0.8.25-gst-shared-lib.patch @@ -0,0 +1,11 @@ +--- a/gst/meson.build 2023-10-03 14:55:30.481822400 -0700 ++++ b/gst/meson.build 2023-10-03 14:56:40.939480100 -0700 +@@ -17,7 +17,7 @@ + + 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/all/patches/0.8.29-gst-shared-lib.patch b/recipes/aravis/all/patches/0.8.29-gst-shared-lib.patch new file mode 100644 index 0000000000000..3b6fa48c98a4e --- /dev/null +++ b/recipes/aravis/all/patches/0.8.29-gst-shared-lib.patch @@ -0,0 +1,13 @@ +Index: src/gst/meson.build +=================================================================== +--- a/gst/meson.build 2023-10-04 20:46:34.452887470 +0100 ++++ b/gst/meson.build 2023-10-04 20:46:34.441887164 +0100 +@@ -17,7 +17,7 @@ + + 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 a7431a882c8d4..366a3a6468f96 100644 --- a/recipes/aravis/config.yml +++ b/recipes/aravis/config.yml @@ -1,3 +1,8 @@ versions: + "0.8.29": + folder: all + # 0.8.25 is the last version to support GenDC data format + "0.8.25": + folder: all "0.8.20": folder: all From 537f201c7a152cfeffc5fef4853b98343ea13b60 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 19:22:45 +0900 Subject: [PATCH 2365/4087] (#20864) aws-lambda-cpp: add recipe * aws-lambda-cpp: add recipe * fix package name * support Linux only * fix conan.errors * link math lib * make libcurl version range Co-authored-by: Carlos Zoido * Update recipes/aws-lambda-cpp/all/conanfile.py * Update recipes/aws-lambda-cpp/all/conanfile.py * Update recipes/aws-lambda-cpp/all/conanfile.py --------- Co-authored-by: Carlos Zoido --- recipes/aws-lambda-cpp/all/conandata.yml | 4 + recipes/aws-lambda-cpp/all/conanfile.py | 82 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 9 ++ recipes/aws-lambda-cpp/config.yml | 3 + 6 files changed, 132 insertions(+) create mode 100644 recipes/aws-lambda-cpp/all/conandata.yml create mode 100644 recipes/aws-lambda-cpp/all/conanfile.py create mode 100644 recipes/aws-lambda-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/aws-lambda-cpp/all/test_package/conanfile.py create mode 100644 recipes/aws-lambda-cpp/all/test_package/test_package.cpp create mode 100644 recipes/aws-lambda-cpp/config.yml diff --git a/recipes/aws-lambda-cpp/all/conandata.yml b/recipes/aws-lambda-cpp/all/conandata.yml new file mode 100644 index 0000000000000..f529b57fdbe17 --- /dev/null +++ b/recipes/aws-lambda-cpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.2.8": + url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/v0.2.8.tar.gz" + sha256: "a236516331804a0a6e2ef2273042a583e55a135bb6478308829c51e7c425acdb" diff --git a/recipes/aws-lambda-cpp/all/conanfile.py b/recipes/aws-lambda-cpp/all/conanfile.py new file mode 100644 index 0000000000000..19e2924677ca7 --- /dev/null +++ b/recipes/aws-lambda-cpp/all/conanfile.py @@ -0,0 +1,82 @@ +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.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.53.0" + +class AwsLambdaRuntimeConan(ConanFile): + name = "aws-lambda-cpp" + description = "C++ implementation of the AWS Lambda runtime" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/awslabs/aws-lambda-cpp" + topics = ("aws", "lambda") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("libcurl/[>=7.78.0 <9]") + self.requires("libbacktrace/cci.20210118") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + if self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} supports Linux only.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + dpes = CMakeDeps(self) + dpes.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", "aws-lambda-runtime")) + + def package_info(self): + self.cpp_info.libs = ["aws-lambda-runtime"] + + 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.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 new file mode 100644 index 0000000000000..073c5e204a51e --- /dev/null +++ b/recipes/aws-lambda-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +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) diff --git a/recipes/aws-lambda-cpp/all/test_package/conanfile.py b/recipes/aws-lambda-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/aws-lambda-cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/aws-lambda-cpp/all/test_package/test_package.cpp b/recipes/aws-lambda-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ae80b44bdeccb --- /dev/null +++ b/recipes/aws-lambda-cpp/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include +#include "aws/lambda-runtime/version.h" + +int main() +{ + std::cout << aws::lambda_runtime::get_version() << '\n'; + + return 0; +} diff --git a/recipes/aws-lambda-cpp/config.yml b/recipes/aws-lambda-cpp/config.yml new file mode 100644 index 0000000000000..e9c77150b83c9 --- /dev/null +++ b/recipes/aws-lambda-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.2.8": + folder: all From f6cd247055f5a4184174c27457a74ec4ad8dcc35 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 3 Nov 2023 15:10:22 +0100 Subject: [PATCH 2366/4087] (#20898) usockets: fix mistake in _minimum_compilers_version logic --- recipes/usockets/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/usockets/all/conanfile.py b/recipes/usockets/all/conanfile.py index c1bcf6244f7dc..0d84532828398 100644 --- a/recipes/usockets/all/conanfile.py +++ b/recipes/usockets/all/conanfile.py @@ -44,7 +44,7 @@ def _min_cppstd(self): return False @property - def _minimum_compilers_version(self, cppstd): + def _minimum_compilers_version(self): return { "14": { "Visual Studio": "15", @@ -122,7 +122,7 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._minimum_compilers_version(self._min_cppstd) + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." From 3b056b58af7591e0e04171c3cfd408396fb246fa Mon Sep 17 00:00:00 2001 From: Eric Pederson Date: Fri, 3 Nov 2023 11:24:27 -0400 Subject: [PATCH 2367/4087] (#17894) librdkafka: fix Visual Studio Debug ssl >= 1.8.0 * librdkafka: fix Windows debug ssl >= 1.8.0 * Missing import * Support Visual Studio or msvc * Update recipes/librdkafka/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/librdkafka/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/librdkafka/all/conanfile.py Co-authored-by: Uilian Ries * Use source folder instead of build folder --------- Co-authored-by: Uilian Ries --- recipes/librdkafka/all/conanfile.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index 2e958843569aa..cd2ea0b4f8630 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -1,7 +1,8 @@ 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 +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.microsoft import is_msvc from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version import os @@ -111,6 +112,12 @@ def generate(self): def build(self): apply_conandata_patches(self) + # There are references to libcrypto.lib and libssl.lib in rdkafka_ssl.c for versions >= 1.8.0 + if Version(self.version) >= "1.8.0" and is_msvc(self) and \ + self.settings.build_type == "Debug" and self.options.get_safe("ssl", False): + rdkafka_ssl_path = os.path.join(self.source_folder, "src", "rdkafka_ssl.c") + replace_in_file(self, rdkafka_ssl_path, "libcrypto.lib", "libcryptod.lib") + replace_in_file(self, rdkafka_ssl_path, "libssl.lib", "libssld.lib") cmake = CMake(self) cmake.configure() cmake.build() From 33777a874144ec3e7c34cb590e1cc0c0fe3f5966 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 4 Nov 2023 01:38:12 +0900 Subject: [PATCH 2368/4087] (#20914) glaze: add version 1.5.7 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 28e6b036ed8ec..d8c540e579afd 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.7": + url: "https://github.com/stephenberry/glaze/archive/v1.5.7.tar.gz" + sha256: "3bd40d0a2547fb9ee0fb94894dc13ba0bc37dac6d26ee292941e7a5203702c84" "1.5.6": url: "https://github.com/stephenberry/glaze/archive/v1.5.6.tar.gz" sha256: "11910435f078a2be66c451413203097197991a4c2d0e5ec5b3e81f5568bfe64d" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 8d7f5144cf8c6..fd8a761b3ff21 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.7": + folder: all "1.5.6": folder: all "1.5.3": From 3f739e125ea17c93ece5fa4105e194706c0dbbce Mon Sep 17 00:00:00 2001 From: gmeeker Date: Fri, 3 Nov 2023 12:27:57 -0700 Subject: [PATCH 2369/4087] (#20907) (#20906) nsimd: conan v2 support * (#20906) nsimd: conan v2 support * nsimd: Add cmake_layout src_folder --- recipes/nsimd/2.x/CMakeLists.txt | 7 -- recipes/nsimd/2.x/conanfile.py | 72 +++++++++---------- recipes/nsimd/2.x/test_package/CMakeLists.txt | 3 - recipes/nsimd/2.x/test_package/conanfile.py | 20 ++++-- .../nsimd/2.x/test_v1_package/CMakeLists.txt | 10 +++ .../nsimd/2.x/test_v1_package/conanfile.py | 18 +++++ 6 files changed, 75 insertions(+), 55 deletions(-) delete mode 100644 recipes/nsimd/2.x/CMakeLists.txt create mode 100644 recipes/nsimd/2.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/nsimd/2.x/test_v1_package/conanfile.py diff --git a/recipes/nsimd/2.x/CMakeLists.txt b/recipes/nsimd/2.x/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/nsimd/2.x/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/nsimd/2.x/conanfile.py b/recipes/nsimd/2.x/conanfile.py index 517dd7d55ea04..714275e3c3205 100644 --- a/recipes/nsimd/2.x/conanfile.py +++ b/recipes/nsimd/2.x/conanfile.py @@ -1,5 +1,7 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import collect_libs, copy, get, replace_in_file required_conan_version = ">=1.33.0" @@ -11,8 +13,6 @@ class NsimdConan(ConanFile): topics = ("hpc", "neon", "cuda", "avx", "simd", "avx2", "sse2", "aarch64", "avx512", "sse42", "rocm", "sve", "neon128") url = "https://github.com/conan-io/conan-center-index" license = "MIT" - exports_sources = ["CMakeLists.txt", "patches/*"] - generators = "cmake" settings = "os", "compiler", "build_type", "arch" options = { "shared": [True, False], @@ -27,63 +27,57 @@ class NsimdConan(ConanFile): "simd": None } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") # Most of the library is header only. # cpp files do not use STL. - del self.settings.compiler.libcxx + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], + destination=self.source_folder, strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) if self.options.simd: - self._cmake.definitions["simd"] = self.options.simd + tc.variables["simd"] = self.options.simd if self.settings.arch == "armv7hf": - self._cmake.definitions["NSIMD_ARM32_IS_ARMEL"] = False - self._cmake.definitions["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["NSIMD_ARM32_IS_ARMEL"] = False + tc.variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + tc.generate() def _patch_sources(self): - cmakefile_path = os.path.join(self._source_subfolder, "CMakeLists.txt") - tools.replace_in_file(cmakefile_path, - " SHARED ", - " ") - tools.replace_in_file(cmakefile_path, - "RUNTIME DESTINATION lib", - "RUNTIME DESTINATION bin") - tools.replace_in_file(cmakefile_path, - "set_property(TARGET ${o} PROPERTY POSITION_INDEPENDENT_CODE ON)", - "") + cmakefile_path = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakefile_path, + " SHARED ", + " ") + replace_in_file(self, cmakefile_path, + "RUNTIME DESTINATION lib", + "RUNTIME DESTINATION bin") + replace_in_file(self, cmakefile_path, + "set_property(TARGET ${o} PROPERTY POSITION_INDEPENDENT_CODE ON)", + "") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", 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 = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) diff --git a/recipes/nsimd/2.x/test_package/CMakeLists.txt b/recipes/nsimd/2.x/test_package/CMakeLists.txt index aac673c26f6fe..6f3111e50d3ef 100644 --- a/recipes/nsimd/2.x/test_package/CMakeLists.txt +++ b/recipes/nsimd/2.x/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(nsimd CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/nsimd/2.x/test_package/conanfile.py b/recipes/nsimd/2.x/test_package/conanfile.py index 0937dd58a343b..22e1a75b926d7 100644 --- a/recipes/nsimd/2.x/test_package/conanfile.py +++ b/recipes/nsimd/2.x/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, cmake_layout import os -from conans import ConanFile, CMake, tools - class NsimdTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/nsimd/2.x/test_v1_package/CMakeLists.txt b/recipes/nsimd/2.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..ed8a6b4ca24f6 --- /dev/null +++ b/recipes/nsimd/2.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(nsimd CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_link_libraries(${PROJECT_NAME} nsimd::nsimd) diff --git a/recipes/nsimd/2.x/test_v1_package/conanfile.py b/recipes/nsimd/2.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0937dd58a343b --- /dev/null +++ b/recipes/nsimd/2.x/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class NsimdTestConan(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 625773c145bb485df61d2503b5c195a0f5c3af37 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 3 Nov 2023 22:19:34 +0200 Subject: [PATCH 2370/4087] (#18084) accellera-uvm-systemc: migrate to Conan v2 * accellera-uvm-systemc: migrate to Conan v2 * accellera-uvm-systemc: define sc_main in test_package to fix shared build --- .../accellera-uvm-systemc/all/conanfile.py | 90 ++++++++++--------- .../all/test_package/CMakeLists.txt | 6 +- .../all/test_package/conanfile.py | 26 ++++-- .../all/test_package/example.cpp | 9 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ 6 files changed, 101 insertions(+), 56 deletions(-) create mode 100644 recipes/accellera-uvm-systemc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/accellera-uvm-systemc/all/test_v1_package/conanfile.py diff --git a/recipes/accellera-uvm-systemc/all/conanfile.py b/recipes/accellera-uvm-systemc/all/conanfile.py index 15689e9fd7ded..edae984b0d813 100644 --- a/recipes/accellera-uvm-systemc/all/conanfile.py +++ b/recipes/accellera-uvm-systemc/all/conanfile.py @@ -1,74 +1,80 @@ +import os + from conan import ConanFile -from conans import AutoToolsBuildEnvironment -from conan.tools.files import get, rmdir, rm, copy, rename -from conan.tools.scm import Version -from conan.tools.build import check_min_cppstd from conan.errors import ConanInvalidConfiguration -import os +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, rmdir, rm, copy, rename, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.50.0" class UvmSystemC(ConanFile): name = "accellera-uvm-systemc" - description = """Universal Verification Methodology for SystemC""" - homepage = "https://systemc.org/about/systemc-verification/uvm-systemc-faq" - url = "https://github.com/conan-io/conan-center-index" + description = "Universal Verification Methodology for SystemC" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://systemc.org/overview/uvm-systemc-faq" topics = ("systemc", "verification", "tlm", "uvm") - 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], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, } - @property - def _source_subfolder(self): - return "source_subfolder" + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("systemc/2.3.3") - - def build_requirements(self): - self.tool_requires("cmake/3.24.0") + self.requires("systemc/2.3.4", transitive_headers=True, transitive_libs=True) - def configure(self): - if self.options.shared: - del self.options.fPIC - def validate(self): - if self.settings.os == "Macos": - raise ConanInvalidConfiguration("Macos build not supported") - if self.settings.os == "Windows": - raise ConanInvalidConfiguration("Windows build not yet supported") + if self.settings.os == "Windows" or is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.settings.os} build not supported") if self.settings.compiler.get_safe("cppstd"): 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], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + systemc_root = self.dependencies["systemc"].package_folder + tc.configure_args.append(f"--with-systemc={systemc_root}") + tc.generate() def build(self): - autotools = AutoToolsBuildEnvironment(self) - args = [f"--with-systemc={self.deps_cpp_info['systemc'].rootpath}"] - if self.options.shared: - args.extend(["--enable-shared", "--disable-static"]) - else: - args.extend(["--enable-static", "--disable-shared"]) - autotools.configure(configure_dir=self._source_subfolder, args=args) + autotools = Autotools(self) + autotools.configure() + # Replace lib-linux64/ with lib/ for the systemc dependency + replace_in_file(self, os.path.join(self.build_folder, "src", "uvmsc", "Makefile"), + "-linux64", "") autotools.make() def package(self): - copy(self, "LICENSE", src=os.path.join(self.build_folder, self._source_subfolder), dst=os.path.join(self.package_folder, "licenses")) - copy(self, "NOTICE", src=os.path.join(self.build_folder, self._source_subfolder), dst=os.path.join(self.package_folder, "licenses")) - copy(self, "COPYING", src=os.path.join(self.build_folder, self._source_subfolder), dst=os.path.join(self.package_folder, "licenses")) - autotools = AutoToolsBuildEnvironment(self) + for license in ["LICENSE", "NOTICE", "COPYING"]: + 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, "docs")) rmdir(self, os.path.join(self.package_folder, "examples")) rm(self, "AUTHORS", self.package_folder) @@ -80,7 +86,9 @@ def package(self): rm(self, "RELEASENOTES", self.package_folder) rm(self, "README", self.package_folder) rm(self, "INSTALL", self.package_folder) - rename(self, os.path.join(self.package_folder, "lib-linux64"), os.path.join(self.package_folder, "lib")) + rename(self, + os.path.join(self.package_folder, "lib-linux64"), + os.path.join(self.package_folder, "lib")) rm(self, "libuvm-systemc.la", os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) diff --git a/recipes/accellera-uvm-systemc/all/test_package/CMakeLists.txt b/recipes/accellera-uvm-systemc/all/test_package/CMakeLists.txt index 29a5f29bd6062..0dbdd7f01d340 100644 --- a/recipes/accellera-uvm-systemc/all/test_package/CMakeLists.txt +++ b/recipes/accellera-uvm-systemc/all/test_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(accellera-uvm-systemc REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) target_link_libraries(${PROJECT_NAME} accellera-uvm-systemc::accellera-uvm-systemc) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/accellera-uvm-systemc/all/test_package/conanfile.py b/recipes/accellera-uvm-systemc/all/test_package/conanfile.py index 7c46504cf008f..ef5d7042163ec 100644 --- a/recipes/accellera-uvm-systemc/all/test_package/conanfile.py +++ b/recipes/accellera-uvm-systemc/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 UvmSystemcTestConan(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/accellera-uvm-systemc/all/test_package/example.cpp b/recipes/accellera-uvm-systemc/all/test_package/example.cpp index db58543c27400..47640ade3dcac 100644 --- a/recipes/accellera-uvm-systemc/all/test_package/example.cpp +++ b/recipes/accellera-uvm-systemc/all/test_package/example.cpp @@ -1,12 +1,17 @@ #include "uvmsc/base/uvm_version.h" +#include "systemc" #include using namespace uvm; +// Required for linking with SystemC +int sc_main(int, char*[]) +{ + return 0; +} + int main(int, char*[]) { std::cout << "uvm-systemc version " << uvm_revision_string() << " loaded successfully."; - return 0; } - diff --git a/recipes/accellera-uvm-systemc/all/test_v1_package/CMakeLists.txt b/recipes/accellera-uvm-systemc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/accellera-uvm-systemc/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/accellera-uvm-systemc/all/test_v1_package/conanfile.py b/recipes/accellera-uvm-systemc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..7c46504cf008f --- /dev/null +++ b/recipes/accellera-uvm-systemc/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake +from conan.tools.build import cross_building + +class UvmSystemcTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ce0ac8b6e5f667b5399aaec0f352a43910c9f092 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 4 Nov 2023 17:20:41 +0900 Subject: [PATCH 2371/4087] (#20917) aws-c-common: add version 0.9.6 --- 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 92698304089d5..a4f84c0d2b54b 100644 --- a/recipes/aws-c-common/all/conandata.yml +++ b/recipes/aws-c-common/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/aws-c-common/config.yml b/recipes/aws-c-common/config.yml index e70a8039b9bc5..b1a76829e3fbe 100644 --- a/recipes/aws-c-common/config.yml +++ b/recipes/aws-c-common/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.6": + folder: all "0.9.3": folder: all "0.9.0": From bee5071f33a4ae6b25eb383c82b486ced498e4e7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 4 Nov 2023 12:33:43 +0200 Subject: [PATCH 2372/4087] (#20319) hayai: add a new recipe * hayai: add a new recipe * hayai: fix project() and cmake_minimum_required() order * hayai: disable tests and samples, fix shared build on Windows * hayai: make test_package faster --- recipes/hayai/all/conandata.yml | 9 +++ recipes/hayai/all/conanfile.py | 69 +++++++++++++++++++ .../hayai/all/patches/fix-cmake-project.patch | 8 +++ recipes/hayai/all/test_package/CMakeLists.txt | 8 +++ recipes/hayai/all/test_package/conanfile.py | 26 +++++++ .../hayai/all/test_package/test_package.cpp | 8 +++ recipes/hayai/config.yml | 3 + 7 files changed, 131 insertions(+) create mode 100644 recipes/hayai/all/conandata.yml create mode 100644 recipes/hayai/all/conanfile.py create mode 100644 recipes/hayai/all/patches/fix-cmake-project.patch create mode 100644 recipes/hayai/all/test_package/CMakeLists.txt create mode 100644 recipes/hayai/all/test_package/conanfile.py create mode 100644 recipes/hayai/all/test_package/test_package.cpp create mode 100644 recipes/hayai/config.yml diff --git a/recipes/hayai/all/conandata.yml b/recipes/hayai/all/conandata.yml new file mode 100644 index 0000000000000..490eb3204ef39 --- /dev/null +++ b/recipes/hayai/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "cci.20190823": + url: "https://github.com/nickbruun/hayai/archive/9bdca1c693e950ab2cb17c4ef885792c3c530234.tar.gz" + sha256: "3e4b703b675a30338c73d9b207824cebd6275de9757eb8eefeef892e863c242f" +patches: + "cci.20190823": + - patch_file: "patches/fix-cmake-project.patch" + patch_description: "Move cmake_minimum_required() before project() in CMakeLists.txt" + patch_type: "conan" diff --git a/recipes/hayai/all/conanfile.py b/recipes/hayai/all/conanfile.py new file mode 100644 index 0000000000000..f9c7ed8eb904b --- /dev/null +++ b/recipes/hayai/all/conanfile.py @@ -0,0 +1,69 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, rm, rmdir, export_conandata_patches, apply_conandata_patches + +required_conan_version = ">=1.53.0" + + +class HayaiConan(ConanFile): + name = "hayai" + description = "C++ benchmarking framework" + license = "Apache" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/nickbruun/hayai" + topics = ("benchmarking",) + + 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") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_HAYAI_TESTS"] = False + tc.cache_variables["BUILD_HAYAI_SAMPLES"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", 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")) + rmdir(self, os.path.join(self.package_folder, "CMake")) + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + self.cpp_info.libs = ["hayai_main"] + self.cpp_info.set_property("cmake_target_name", "hayai_main") diff --git a/recipes/hayai/all/patches/fix-cmake-project.patch b/recipes/hayai/all/patches/fix-cmake-project.patch new file mode 100644 index 0000000000000..f2e12a251e0b8 --- /dev/null +++ b/recipes/hayai/all/patches/fix-cmake-project.patch @@ -0,0 +1,8 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -3,3 +3,2 @@ +-project(hayai) +-cmake_minimum_required(VERSION 2.4) +-cmake_policy(SET CMP0012 NEW) ++cmake_minimum_required(VERSION 3.15) ++project(hayai CXX) diff --git a/recipes/hayai/all/test_package/CMakeLists.txt b/recipes/hayai/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..500852dd444f2 --- /dev/null +++ b/recipes/hayai/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(hayai REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE hayai_main) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/hayai/all/test_package/conanfile.py b/recipes/hayai/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/hayai/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/hayai/all/test_package/test_package.cpp b/recipes/hayai/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..32f9269a28efc --- /dev/null +++ b/recipes/hayai/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include + +#include +#include + +BENCHMARK(SomeSleep, Sleep1ms, 5, 10) { + std::this_thread::sleep_for(std::chrono::milliseconds(1)); +} diff --git a/recipes/hayai/config.yml b/recipes/hayai/config.yml new file mode 100644 index 0000000000000..524a9c8112de1 --- /dev/null +++ b/recipes/hayai/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20190823": + folder: all From c4786a889bb9bd26681ebabf4676a64ae12d79d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Jos=C3=A9=20Casafranca?= Date: Sat, 4 Nov 2023 11:49:07 +0100 Subject: [PATCH 2373/4087] (#20904) [highfive] Bump version to 2.8.0 --- recipes/highfive/all/conandata.yml | 3 +++ recipes/highfive/all/conanfile.py | 3 +++ recipes/highfive/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/highfive/all/conandata.yml b/recipes/highfive/all/conandata.yml index b9befb53e74d3..edcf1ebb04b99 100644 --- a/recipes/highfive/all/conandata.yml +++ b/recipes/highfive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.0": + url: "https://github.com/BlueBrain/HighFive/archive/refs/tags/v2.8.0.tar.gz" + sha256: "cd2502cae61bfb00e32dd18c9dc75289e09ad1db5c2a46d3b0eefd32e0df983b" "2.7.1": url: "https://github.com/BlueBrain/HighFive/archive/refs/tags/v2.7.1.tar.gz" sha256: "25b4c51a94d1e670dc93b9b73f51e79b65d8ff49bcd6e5d5582d5ecd2789a249" diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index 6057d00c5e0a9..5a1f607f99989 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -22,12 +22,14 @@ class HighFiveConan(ConanFile): "with_eigen": [True, False], "with_xtensor": [True, False], "with_opencv": [True, False], + "with_static_hdf5": [True, False], } default_options = { "with_boost": True, "with_eigen": True, "with_xtensor": True, "with_opencv": False, + "with_static_hdf5": False, } def layout(self): @@ -65,6 +67,7 @@ def generate(self): tc.variables["HIGHFIVE_EXAMPLES"] = False tc.variables["HIGHFIVE_BUILD_DOCS"] = False tc.variables["HIGHFIVE_USE_INSTALL_DEPS"] = False + tc.variables["HIGHFIVE_STATIC_HDF5"] = self.options.with_static_hdf5 tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/highfive/config.yml b/recipes/highfive/config.yml index 546cbf2ce6f7b..28a0e4f7fb1d0 100644 --- a/recipes/highfive/config.yml +++ b/recipes/highfive/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.0": + folder: all "2.7.1": folder: all "2.7.0": From ac9af3dc97a4c36f26e4d72cd43099d19e328b3e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 00:09:18 +0900 Subject: [PATCH 2374/4087] (#20926) aws-c-sdkutils: update aws-c-common/0.9.6 --- recipes/aws-c-sdkutils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-sdkutils/all/conanfile.py b/recipes/aws-c-sdkutils/all/conanfile.py index 2312d025b2cb0..e2bfcefef6878 100644 --- a/recipes/aws-c-sdkutils/all/conanfile.py +++ b/recipes/aws-c-sdkutils/all/conanfile.py @@ -43,7 +43,7 @@ def requirements(self): if Version(self.version) <= "0.1.3": self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) else: - self.requires("aws-c-common/0.9.0", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 87acb8f2a6c34ea9b111d6e783b9edd3a73839cb Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 00:37:57 +0900 Subject: [PATCH 2375/4087] (#20928) cs_libguarded: add version 1.4.1 --- recipes/cs_libguarded/all/conandata.yml | 3 +++ recipes/cs_libguarded/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cs_libguarded/all/conandata.yml b/recipes/cs_libguarded/all/conandata.yml index 6464993e20067..da0b7dc222888 100644 --- a/recipes/cs_libguarded/all/conandata.yml +++ b/recipes/cs_libguarded/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/copperspice/cs_libguarded/archive/libguarded-1.4.1.tar.gz" + sha256: "e91235d4f5e5edb4a479fccfcd1bdc2a411dd3e3344f5c973ce5870edbab13b0" "1.4.0": url: "https://github.com/copperspice/cs_libguarded/archive/libguarded-1.4.0.tar.gz" sha256: "3911c56db6e7b222e2ec4c45513021f819ce647e7e6e803ca64dc720e8645d8e" diff --git a/recipes/cs_libguarded/config.yml b/recipes/cs_libguarded/config.yml index 942362a3d6c93..e039584f8837c 100644 --- a/recipes/cs_libguarded/config.yml +++ b/recipes/cs_libguarded/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.0": From 46cf16f57bcbd78b19f665b71888cfefd492d75e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 02:39:11 +0900 Subject: [PATCH 2376/4087] (#20927) aws-c-compression: update aws-c-common/0.9.6 --- recipes/aws-c-compression/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-compression/all/conanfile.py b/recipes/aws-c-compression/all/conanfile.py index 2c6e25346108a..a6b8eb1260a1b 100644 --- a/recipes/aws-c-compression/all/conanfile.py +++ b/recipes/aws-c-compression/all/conanfile.py @@ -43,7 +43,7 @@ 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.0", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 505fd6af1342ca3c314aad831a3e2ca546d48f73 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 15:17:17 +0900 Subject: [PATCH 2377/4087] (#20939) zpp_bits: add version 4.4.20 --- recipes/zpp_bits/all/conandata.yml | 3 +++ recipes/zpp_bits/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zpp_bits/all/conandata.yml b/recipes/zpp_bits/all/conandata.yml index 199c85b5f2f5a..21dad3174e487 100644 --- a/recipes/zpp_bits/all/conandata.yml +++ b/recipes/zpp_bits/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.20": + url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.20.tar.gz" + sha256: "13023d3752392d64f89113bf8099a2a50b2602a7e26a2fdf78a27e327104819c" "4.4.19": url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.19.tar.gz" sha256: "1d8f92e616d61cd54cb2582280cc5a28e4457d8d9cfc331137859f8ef29ff637" diff --git a/recipes/zpp_bits/config.yml b/recipes/zpp_bits/config.yml index e2021292dbcd6..4b6dc9c688350 100644 --- a/recipes/zpp_bits/config.yml +++ b/recipes/zpp_bits/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.20": + folder: all "4.4.19": folder: all "4.4.18": From 184eaa6ae878a50693b7892327c7a86f5c44d832 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 18:07:59 +0900 Subject: [PATCH 2378/4087] (#20940) rapidfuzz: add version 2.2.3 --- recipes/rapidfuzz/all/conandata.yml | 3 +++ recipes/rapidfuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index 230d7ae3d655f..f9ef7412f8274 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.3": + url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.3.tar.gz" + sha256: "df4412e9593945782de2212095bd4b70a8f8e63ae8f313976c616809be124d2c" "2.2.0": url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.0.tar.gz" sha256: "8fe2d2792ee8b32598f4aa3aad5db7d449fb3c4a32387080f650335cf4faef81" diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index df6a57f68df4d..71b60f681064b 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.3": + folder: "all" "2.2.0": folder: "all" "2.1.1": From 6a0354502df1c010acc31d346eb4c22188b37d08 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 21:31:17 +0900 Subject: [PATCH 2379/4087] (#20941) hwdata: add version 0.376 --- 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 390b1de15a68b..8654aa367ec46 100644 --- a/recipes/hwdata/all/conandata.yml +++ b/recipes/hwdata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.376": + url: "https://github.com/vcrhonek/hwdata/archive/v0.376.tar.gz" + sha256: "48d85dbf05650b2c382ffaadeb601cac1650f5a34ee5c452df8021af988ea090" "0.374": url: "https://github.com/vcrhonek/hwdata/archive/v0.374.tar.gz" sha256: "2a0988bf5e97e49159d7f02a5e02a719c8976d4ec883a8abb635149d221ceca0" diff --git a/recipes/hwdata/config.yml b/recipes/hwdata/config.yml index aafa69e222882..daf8b29da7dde 100644 --- a/recipes/hwdata/config.yml +++ b/recipes/hwdata/config.yml @@ -1,3 +1,5 @@ versions: + "0.376": + folder: all "0.374": folder: all From ed99ffabc9062e369e466d116596e9251a651b77 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 02:40:14 +0900 Subject: [PATCH 2380/4087] (#20946) paho-mqtt-c: add version 1.3.13 --- recipes/paho-mqtt-c/all/conandata.yml | 3 +++ recipes/paho-mqtt-c/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/paho-mqtt-c/all/conandata.yml b/recipes/paho-mqtt-c/all/conandata.yml index 97257e57f3eab..fb14bce735ef1 100644 --- a/recipes/paho-mqtt-c/all/conandata.yml +++ b/recipes/paho-mqtt-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.13": + url: "https://github.com/eclipse/paho.mqtt.c/archive/v1.3.13.tar.gz" + sha256: "47c77e95609812da82feee30db435c3b7c720d4fd3147d466ead126e657b6d9c" "1.3.12": url: "https://github.com/eclipse/paho.mqtt.c/archive/v1.3.12.tar.gz" sha256: "6a70a664ed3bbcc1eafdc45a5dc11f3ad70c9bac12a54c2f8cef15c0e7d0a93b" diff --git a/recipes/paho-mqtt-c/config.yml b/recipes/paho-mqtt-c/config.yml index 7d5e8aea45866..5fed002dda09d 100644 --- a/recipes/paho-mqtt-c/config.yml +++ b/recipes/paho-mqtt-c/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.13": + folder: "all" "1.3.12": folder: "all" "1.3.11": From 7de23b8d0ab3bf13727f51406ceccf9e292c69e0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 6 Nov 2023 10:21:24 +0100 Subject: [PATCH 2381/4087] (#20714) assimp: fix cmake configuration when zlib is not a direct dependency but minizip is --- .../patches/0001-unvendor-deps-5.0.x.patch | 22 +++++++++++++++---- .../patches/0003-unvendor-deps-5.1.x.patch | 18 +++++++++++---- .../patches/0004-unvendor-deps-5.1.6.patch | 18 +++++++++++---- .../patches/0006-unvendor-deps-5.2.x.patch | 18 +++++++++++---- 4 files changed, 60 insertions(+), 16 deletions(-) diff --git a/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch b/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch index 1445d96a11b7c..2797e98541843 100644 --- a/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch +++ b/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch @@ -1,6 +1,6 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -437,7 +437,12 @@ IF(HUNTER_ENABLED) +@@ -437,10 +437,14 @@ IF(HUNTER_ENABLED) set(ASSIMP_BUILD_MINIZIP TRUE) ELSE(HUNTER_ENABLED) IF ( NOT ASSIMP_BUILD_ZLIB ) @@ -10,11 +10,25 @@ + ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) + find_package(ZLIB REQUIRED) + endif() -+ set(ZLIB_FOUND TRUE) ENDIF( NOT ASSIMP_BUILD_ZLIB ) - IF( NOT ZLIB_FOUND ) -@@ -470,14 +475,14 @@ ENDIF(HUNTER_ENABLED) +- IF( NOT ZLIB_FOUND ) ++ IF(0) + MESSAGE(STATUS "compiling zlib from sources") + INCLUDE(CheckIncludeFile) + INCLUDE(CheckTypeSize) +@@ -461,23 +465,23 @@ ELSE(HUNTER_ENABLED) + SET(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib) + # need to ensure we don't link with system zlib or minizip as well. + SET(ASSIMP_BUILD_MINIZIP 1) +- ELSE(NOT ZLIB_FOUND) ++ ELSE() + ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB) + SET(ZLIB_LIBRARIES_LINKED -lz) +- ENDIF(NOT ZLIB_FOUND) ++ ENDIF() + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + ENDIF(HUNTER_ENABLED) IF( NOT IOS ) IF( NOT ASSIMP_BUILD_MINIZIP ) diff --git a/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch b/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch index fdd67862ddb24..27151094d0e71 100644 --- a/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch +++ b/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch @@ -1,6 +1,13 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -465,7 +465,12 @@ ELSE() +@@ -459,16 +459,20 @@ IF(ASSIMP_HUNTER_ENABLED) + set(ASSIMP_BUILD_MINIZIP TRUE) + ELSE() + # If the zlib is already found outside, add an export in case assimpTargets can't find it. +- IF( ZLIB_FOUND ) ++ IF(0) + INSTALL( TARGETS zlib zlibstatic + EXPORT "${TARGETS_EXPORT_NAME}") ENDIF() IF ( NOT ASSIMP_BUILD_ZLIB ) @@ -10,11 +17,14 @@ + ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) + find_package(ZLIB REQUIRED) + endif() -+ set(ZLIB_FOUND TRUE) ENDIF() - IF( NOT ZLIB_FOUND ) -@@ -498,12 +503,14 @@ ENDIF() +- IF( NOT ZLIB_FOUND ) ++ IF(0) + MESSAGE(STATUS "compiling zlib from sources") + INCLUDE(CheckIncludeFile) + INCLUDE(CheckTypeSize) +@@ -498,12 +502,14 @@ ENDIF() IF( NOT IOS ) IF( NOT ASSIMP_BUILD_MINIZIP ) diff --git a/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch b/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch index 67d2f67fd3661..dedc3847ab7ea 100644 --- a/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch +++ b/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch @@ -1,6 +1,13 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -466,7 +466,12 @@ ELSE() +@@ -460,16 +460,20 @@ IF(ASSIMP_HUNTER_ENABLED) + set(ASSIMP_BUILD_MINIZIP TRUE) + ELSE() + # If the zlib is already found outside, add an export in case assimpTargets can't find it. +- IF( ZLIB_FOUND ) ++ IF(0) + INSTALL( TARGETS zlib zlibstatic + EXPORT "${TARGETS_EXPORT_NAME}") ENDIF() IF ( NOT ASSIMP_BUILD_ZLIB ) @@ -10,11 +17,14 @@ + ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) + find_package(ZLIB REQUIRED) + endif() -+ set(ZLIB_FOUND TRUE) ENDIF() - IF( NOT ZLIB_FOUND ) -@@ -499,12 +504,14 @@ ENDIF() +- IF( NOT ZLIB_FOUND ) ++ IF(0) + MESSAGE(STATUS "compiling zlib from sources") + INCLUDE(CheckIncludeFile) + INCLUDE(CheckTypeSize) +@@ -499,12 +503,14 @@ ENDIF() IF( NOT IOS ) IF( NOT ASSIMP_BUILD_MINIZIP ) diff --git a/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch b/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch index 2a1e7bc39e620..9642d329d9a0a 100644 --- a/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch +++ b/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch @@ -1,6 +1,13 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -488,7 +488,12 @@ ELSE() +@@ -482,16 +482,20 @@ IF(ASSIMP_HUNTER_ENABLED) + set(ASSIMP_BUILD_MINIZIP TRUE) + ELSE() + # If the zlib is already found outside, add an export in case assimpTargets can't find it. +- IF( ZLIB_FOUND ) ++ IF(0) + INSTALL( TARGETS zlib zlibstatic + EXPORT "${TARGETS_EXPORT_NAME}") ENDIF() IF ( NOT ASSIMP_BUILD_ZLIB ) @@ -10,11 +17,14 @@ + ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) + find_package(ZLIB REQUIRED) + endif() -+ set(ZLIB_FOUND TRUE) ENDIF() - IF( NOT ZLIB_FOUND ) -@@ -521,12 +526,14 @@ ENDIF() +- IF( NOT ZLIB_FOUND ) ++ IF(0) + MESSAGE(STATUS "compiling zlib from sources") + INCLUDE(CheckIncludeFile) + INCLUDE(CheckTypeSize) +@@ -521,12 +525,14 @@ ENDIF() IF( NOT IOS ) IF( NOT ASSIMP_BUILD_MINIZIP ) From ccbb81a643ff6624764ed499e95f531e76527445 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 18:30:54 +0900 Subject: [PATCH 2382/4087] (#20869) parg: add version 1.0.3 * parg: add version 1.0.3 * copy LICENSE file, update license * build_require cmake --- recipes/parg/all/conandata.yml | 3 +++ recipes/parg/all/conanfile.py | 15 +++++++++++++-- recipes/parg/config.yml | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/recipes/parg/all/conandata.yml b/recipes/parg/all/conandata.yml index 799c3f613ca57..72c50c78f7433 100644 --- a/recipes/parg/all/conandata.yml +++ b/recipes/parg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.3": + url: "https://github.com/jibsen/parg/archive/refs/tags/v1.0.3.tar.gz" + sha256: "cd54a94b4138735f6c9fbdf426a9caa8ffd5bc90988eb02f493bc86de61ce5ad" "1.0.2": url: "https://github.com/jibsen/parg/archive/refs/tags/v1.0.2.tar.gz" sha256: "3c728affd1442c5778cf548d53339132ce033c92fd61f7522d1e59fe6b1b36a8" diff --git a/recipes/parg/all/conanfile.py b/recipes/parg/all/conanfile.py index 4947f721cb4de..ef4d18c549aef 100644 --- a/recipes/parg/all/conanfile.py +++ b/recipes/parg/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -11,7 +12,7 @@ class PargConan(ConanFile): name = "parg" description = "Parser for argv that works similarly to getopt" - license = "CC0-1.0" + license = ("CC0-1.0", "MIT-0") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jibsen/parg" topics = ("getopt", "c") @@ -33,6 +34,10 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.0.3": + self.licenses = "CC0-1.0" + else: + self.licenses = "MIT-0" def configure(self): if self.options.shared: @@ -43,6 +48,9 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -59,7 +67,10 @@ def build(self): cmake.build() def package(self): - copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + if Version(self.version) < "1.0.3": + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + else: + 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) diff --git a/recipes/parg/config.yml b/recipes/parg/config.yml index 732f7eb9a62dd..6503626e2502c 100644 --- a/recipes/parg/config.yml +++ b/recipes/parg/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.3": + folder: "all" "1.0.2": folder: "all" From 9c0014be7d8c182594bcd546996219aafdac2fc1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 18:48:05 +0900 Subject: [PATCH 2383/4087] (#20925) aws-c-cal: update aws-c-common/0.9.6 --- recipes/aws-c-cal/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-cal/all/conanfile.py b/recipes/aws-c-cal/all/conanfile.py index e6dc85b56045f..5f4acadf108f8 100644 --- a/recipes/aws-c-cal/all/conanfile.py +++ b/recipes/aws-c-cal/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): elif Version(self.version) <= "0.5.20": self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) else: - self.requires("aws-c-common/0.9.0", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) if self._needs_openssl: self.requires("openssl/[>=1.1 <4]") From 3d75ae62c124cc67dcccd03bff86d54e763224ec Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 19:21:07 +0900 Subject: [PATCH 2384/4087] (#20949) quill: add version 3.4.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 bb2b9571b97fb..7582dc1978f3c 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.0": + url: "https://github.com/odygrd/quill/archive/v3.4.0.tar.gz" + sha256: "16a6cfadc288953f07d128bb51e8ebd4ca6bb8ce4175b5a8af53ce7dde324d8d" "3.3.1": url: "https://github.com/odygrd/quill/archive/v3.3.1.tar.gz" sha256: "f929d54a115b45c32dd2acd1a9810336d35c31fde9f5581c51ad2b80f980d0d1" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 6c3cb17b45637..5b6996c9d6283 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.0": + folder: "all" "3.3.1": folder: "all" "3.2.0": From 8df0633c6f3da8597ea39e7610963c820d3df7c1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 19:50:39 +0900 Subject: [PATCH 2385/4087] (#20945) aws-lambda-cpp: add version 0.2.9 --- recipes/aws-lambda-cpp/all/conandata.yml | 3 +++ recipes/aws-lambda-cpp/all/conanfile.py | 9 +++++++-- recipes/aws-lambda-cpp/config.yml | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/recipes/aws-lambda-cpp/all/conandata.yml b/recipes/aws-lambda-cpp/all/conandata.yml index f529b57fdbe17..ecbfb0f0cbde4 100644 --- a/recipes/aws-lambda-cpp/all/conandata.yml +++ b/recipes/aws-lambda-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.9": + url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/0.2.9.tar.gz" + sha256: "4fb98483248adf0a2b251cb1b06df8b19bbd40e7f015dccfc32b7eaae6a294e7" "0.2.8": url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/v0.2.8.tar.gz" sha256: "a236516331804a0a6e2ef2273042a583e55a135bb6478308829c51e7c425acdb" diff --git a/recipes/aws-lambda-cpp/all/conanfile.py b/recipes/aws-lambda-cpp/all/conanfile.py index 19e2924677ca7..0b0de62c879d3 100644 --- a/recipes/aws-lambda-cpp/all/conanfile.py +++ b/recipes/aws-lambda-cpp/all/conanfile.py @@ -3,6 +3,7 @@ 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 import os @@ -20,20 +21,23 @@ class AwsLambdaRuntimeConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_backtrace": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_backtrace": False, } @property def _min_cppstd(self): return 11 - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "0.2.9": + del self.options.with_backtrace def configure(self): if self.options.shared: @@ -44,7 +48,8 @@ def layout(self): def requirements(self): self.requires("libcurl/[>=7.78.0 <9]") - self.requires("libbacktrace/cci.20210118") + if self.options.get_safe("with_backtrace", True): + self.requires("libbacktrace/cci.20210118") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/aws-lambda-cpp/config.yml b/recipes/aws-lambda-cpp/config.yml index e9c77150b83c9..4a43b4a490f8c 100644 --- a/recipes/aws-lambda-cpp/config.yml +++ b/recipes/aws-lambda-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "0.2.9": + folder: all "0.2.8": folder: all From 7f54eb51a03562f3a62595c329ff81493d876ce9 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Mon, 6 Nov 2023 06:10:46 -0500 Subject: [PATCH 2386/4087] (#20947) Add pybind11 2.11.1 --- recipes/pybind11/all/conandata.yml | 3 +++ recipes/pybind11/all/conanfile.py | 4 +++- recipes/pybind11/all/test_package/conanfile.py | 2 +- recipes/pybind11/config.yml | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index 062301bf4716d..62adb5a253c62 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -20,3 +20,6 @@ sources: 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" diff --git a/recipes/pybind11/all/conanfile.py b/recipes/pybind11/all/conanfile.py index 4ca688fce0b2b..aa098ee90ec20 100644 --- a/recipes/pybind11/all/conanfile.py +++ b/recipes/pybind11/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.cmake import CMake, CMakeToolchain from conan.tools.layout import basic_layout from conan.tools.files import get, copy, replace_in_file, rm, rmdir +from conan.tools.scm import Version import os @@ -45,8 +46,9 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) + checked_target = "lto" if self.version < Version("2.11.0") else "pybind11" replace_in_file(self, os.path.join(self.package_folder, "lib", "cmake", "pybind11", "pybind11Common.cmake"), - "if(TARGET pybind11::lto)", + f"if(TARGET pybind11::{checked_target})", "if(FALSE)") replace_in_file(self, os.path.join(self.package_folder, "lib", "cmake", "pybind11", "pybind11Common.cmake"), "add_library(", diff --git a/recipes/pybind11/all/test_package/conanfile.py b/recipes/pybind11/all/test_package/conanfile.py index 0f281e118c544..1022e21500a40 100644 --- a/recipes/pybind11/all/test_package/conanfile.py +++ b/recipes/pybind11/all/test_package/conanfile.py @@ -50,4 +50,4 @@ def _python_interpreter(self): def test(self): if can_run(self): module_path = os.path.join(self.source_folder, "test.py") - self.run(f"{self._python_interpreter} {module_path}", env="conanrun") + self.run(f"{self._python_interpreter} \"{module_path}\"", env="conanrun") diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index 03a8eff62e5b8..0637bb6f5067e 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -13,3 +13,5 @@ versions: folder: all "2.10.4": folder: all + "2.11.1": + folder: all From 90d0025dbbc15deba3b05e8c8da6e7a06f362003 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 14:02:17 +0200 Subject: [PATCH 2387/4087] (#18727) twitchtv-libsoundtrackutil: migrate to Conan v2 * twitchtv-libsoundtrackutil: migrate to Conan v2 * twitchtv-libsoundtrackutil: transitive_libs=True * twitchtv-libsoundtrackutil: enable shared build --- .../all/CMakeLists.txt | 6 - .../all/conandata.yml | 2 +- .../all/conanfile.py | 114 ++++++++++-------- .../all/patches/cmake-fixes.patch | 52 ++++++++ .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 21 +++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 8 files changed, 160 insertions(+), 69 deletions(-) delete mode 100644 recipes/twitchtv-libsoundtrackutil/all/CMakeLists.txt create mode 100644 recipes/twitchtv-libsoundtrackutil/all/patches/cmake-fixes.patch create mode 100644 recipes/twitchtv-libsoundtrackutil/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py diff --git a/recipes/twitchtv-libsoundtrackutil/all/CMakeLists.txt b/recipes/twitchtv-libsoundtrackutil/all/CMakeLists.txt deleted file mode 100644 index 3f96a3374441c..0000000000000 --- a/recipes/twitchtv-libsoundtrackutil/all/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) -include(conanbuildinfo.cmake) - -conan_basic_setup(TARGETS) -add_subdirectory("source_subfolder") diff --git a/recipes/twitchtv-libsoundtrackutil/all/conandata.yml b/recipes/twitchtv-libsoundtrackutil/all/conandata.yml index 4c0490bd52328..ba721a294a6f3 100644 --- a/recipes/twitchtv-libsoundtrackutil/all/conandata.yml +++ b/recipes/twitchtv-libsoundtrackutil/all/conandata.yml @@ -5,4 +5,4 @@ sources: patches: "0.0.8": - patch_file: "patches/clang-8-fix.patch" - base_path: "source_subfolder" + - patch_file: "patches/cmake-fixes.patch" diff --git a/recipes/twitchtv-libsoundtrackutil/all/conanfile.py b/recipes/twitchtv-libsoundtrackutil/all/conanfile.py index 8e59051225235..4ecfa76766259 100644 --- a/recipes/twitchtv-libsoundtrackutil/all/conanfile.py +++ b/recipes/twitchtv-libsoundtrackutil/all/conanfile.py @@ -1,33 +1,34 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -from conans.tools import Version import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +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, rm, replace_in_file +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + class TwitchTvLibSoundtrackUtilConan(ConanFile): name = "twitchtv-libsoundtrackutil" + description = "Twitch Soundtrack utility library" license = "MIT" - homepage = "https://github.com/twitchtv/libsoundtrackutil" url = "https://github.com/conan-io/conan-center-index" - description = "Twitch Soundtrack utility library" + homepage = "https://github.com/twitchtv/libsoundtrackutil" topics = ("twitch", "soundtrack") - settings = "os", "compiler", "build_type", "arch" - options = {"fPIC": [True, False]} - default_options = {"fPIC": True} - generators = "cmake" - exports = ["CMakeLists.txt", "patches/**"] - requires = ("twitch-native-ipc/3.1.1", - "ms-gsl/2.0.0", - ) - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } @property def _compilers_min_version(self): @@ -35,56 +36,67 @@ def _compilers_min_version(self): "gcc": "8", "clang": "8", "apple-clang": "10", + "msvc": "191", "Visual Studio": "15", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("twitch-native-ipc/3.1.1", transitive_headers=True, transitive_libs=True) + self.requires("ms-gsl/4.0.0", transitive_headers=True) + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) min_version = self._compilers_min_version.get(str(self.settings.compiler), False) if min_version: - if tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++17".format(self.name)) - else: - self.output.warn("unknown compiler, assuming C++17 support") + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++17") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("{}-{}".format("libsoundtrackutil", self.version), self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - - self._cmake = CMake(self) - self._cmake.definitions["ENABLE_CODE_FORMATTING"] = False - self._cmake.definitions["BUILD_TESTING"] = False - - if self.settings.compiler == "Visual Studio": - self._cmake.definitions["MSVC_DYNAMIC_RUNTIME"] = self.settings.compiler.runtime in ("MD", "MDd") - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_CODE_FORMATTING"] = False + tc.variables["BUILD_TESTING"] = False + if is_msvc(self): + tc.variables["MSVC_DYNAMIC_RUNTIME"] = not is_msvc_static_runtime(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.pdb") + rm(self, "*.pdb", os.path.join(self.package_folder, "lib"), recursive=True) def package_info(self): self.cpp_info.libs = ["libsoundtrackutil"] - if tools.stdcpp_library(self): - self.cpp_info.system_libs.append(tools.stdcpp_library(self)) + if stdcpp_library(self): + self.cpp_info.system_libs.append(stdcpp_library(self)) diff --git a/recipes/twitchtv-libsoundtrackutil/all/patches/cmake-fixes.patch b/recipes/twitchtv-libsoundtrackutil/all/patches/cmake-fixes.patch new file mode 100644 index 0000000000000..61fef8d1ecbf9 --- /dev/null +++ b/recipes/twitchtv-libsoundtrackutil/all/patches/cmake-fixes.patch @@ -0,0 +1,52 @@ +diff --git a/cmakeUtils/setup.cmake b/cmakeUtils/setup.cmake +--- cmakeUtils/setup.cmake ++++ cmakeUtils/setup.cmake +@@ -1,6 +1,4 @@ + include(utilities) +-include(conan) +-include(conanutils) + + macro(setup_project) + if(NOT CMAKE_BUILD_TYPE) +@@ -13,13 +11,9 @@ + option(ENABLE_CODE_DOCUMENTATION "enable code documenation generation" OFF) + option(MSVC_DYNAMIC_RUNTIME "change default runtime" ON) + +- conan_check(VERSION 1.22.2 REQUIRED) +- + setup_default_cxx_compile_options() + + set_output_directories(${CMAKE_BINARY_DIR}/bin) +- +- run_conan() + + include(CTest) + if(BUILD_TESTING) +diff --git a/libsoundtrackutil/CMakeLists.txt b/libsoundtrackutil/CMakeLists.txt +--- libsoundtrackutil/CMakeLists.txt ++++ libsoundtrackutil/CMakeLists.txt +@@ -1,8 +1,10 @@ +-add_library(libsoundtrackutil STATIC) ++add_library(libsoundtrackutil) + ++find_package(twitch-native-ipc REQUIRED CONFIG) ++find_package(Microsoft.GSL REQUIRED CONFIG) + target_link_libraries(libsoundtrackutil PUBLIC +- CONAN_PKG::twitch-native-ipc +- CONAN_PKG::ms-gsl ++ twitch-native-ipc::twitch-native-ipc ++ Microsoft.GSL::GSL + ) + + if(MSVC) +@@ -27,7 +29,9 @@ + target_compile_features(libsoundtrackutil PRIVATE cxx_std_17) + + install(TARGETS libsoundtrackutil +- LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX} ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin + ) + + install(DIRECTORY include diff --git a/recipes/twitchtv-libsoundtrackutil/all/test_package/CMakeLists.txt b/recipes/twitchtv-libsoundtrackutil/all/test_package/CMakeLists.txt index 50f4073082df2..c9f535322388c 100644 --- a/recipes/twitchtv-libsoundtrackutil/all/test_package/CMakeLists.txt +++ b/recipes/twitchtv-libsoundtrackutil/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(PackageTest) +cmake_minimum_required(VERSION 3.15) +project(PackageTest LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(twitchtv-libsoundtrackutil REQUIRED CONFIG) add_executable(example example.cpp) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example PRIVATE twitchtv-libsoundtrackutil::twitchtv-libsoundtrackutil) target_compile_features(example PRIVATE cxx_std_17) diff --git a/recipes/twitchtv-libsoundtrackutil/all/test_package/conanfile.py b/recipes/twitchtv-libsoundtrackutil/all/test_package/conanfile.py index 6f930d53958b3..8d52b7021efe1 100644 --- a/recipes/twitchtv-libsoundtrackutil/all/test_package/conanfile.py +++ b/recipes/twitchtv-libsoundtrackutil/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 TwitchNativeIpcTestConan(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,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "example"), 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/twitchtv-libsoundtrackutil/all/test_v1_package/CMakeLists.txt b/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/twitchtv-libsoundtrackutil/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/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py b/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a4ca380f17734 --- /dev/null +++ b/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TwitchNativeIpcTestConan(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): + self.run(os.path.join("bin", "example"), run_environment=True) From c3b19ab1cb809368c4196fcf2d62144a4b0809bc Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 6 Nov 2023 13:37:07 +0100 Subject: [PATCH 2388/4087] (#19659) abseil: add 20230802.1, remove old versions * abseil: add 20230802.0, remove old versions * abseil: add 20230802.1 * remove 20230802.0 --- recipes/abseil/all/conandata.yml | 44 ++++--------------- recipes/abseil/all/conanfile.py | 10 +++-- .../all/patches/0001-cmake-install.patch | 14 ------ .../0002-missing-numeric_limits.h.patch | 11 ----- .../0003-absl-string-libm-20230802.patch | 15 +++++++ .../patches/0004-cpp-standard-20200225.patch | 15 ------- .../patches/0004-cpp-standard-20200923.patch | 15 ------- .../patches/0004-cpp-standard-20210324.patch | 15 ------- recipes/abseil/config.yml | 8 +--- 9 files changed, 32 insertions(+), 115 deletions(-) delete mode 100644 recipes/abseil/all/patches/0001-cmake-install.patch delete mode 100644 recipes/abseil/all/patches/0002-missing-numeric_limits.h.patch create mode 100644 recipes/abseil/all/patches/0003-absl-string-libm-20230802.patch delete mode 100644 recipes/abseil/all/patches/0004-cpp-standard-20200225.patch delete mode 100644 recipes/abseil/all/patches/0004-cpp-standard-20200923.patch delete mode 100644 recipes/abseil/all/patches/0004-cpp-standard-20210324.patch diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index 26d7ab5e3cd64..b5f52d98430d0 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20230802.1": + url: "https://github.com/abseil/abseil-cpp/archive/20230802.1.tar.gz" + sha256: "987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed" "20230125.3": url: "https://github.com/abseil/abseil-cpp/archive/20230125.3.tar.gz" sha256: "5366D7E7FA7BA0D915014D387B66D0D002C03236448E1BA9EF98122C13B35C36" @@ -20,16 +23,12 @@ sources: "20211102.0": url: "https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz" sha256: "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4" - "20210324.2": - url: "https://github.com/abseil/abseil-cpp/archive/20210324.2.tar.gz" - sha256: "59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f" - "20200923.3": - url: "https://github.com/abseil/abseil-cpp/archive/20200923.3.tar.gz" - sha256: "ebe2ad1480d27383e4bf4211e2ca2ef312d5e6a09eba869fd2e8a5c5d553ded2" - "20200225.3": - url: "https://github.com/abseil/abseil-cpp/archive/20200225.3.tar.gz" - sha256: "66d4d009050f39c104b03f79bdca9d930c4964016f74bf24867a43fbdbd00d23" patches: + "20230802.1": + - patch_file: "patches/0003-absl-string-libm-20230802.patch" + patch_description: "link libm to absl string" + patch_type: "portability" + patch_source: "https://github.com/abseil/abseil-cpp/issues/1100" "20230125.3": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" @@ -66,30 +65,3 @@ patches: - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" patch_type: "portability" - "20210324.2": - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" - - patch_file: "patches/0004-cpp-standard-20210324.patch" - patch_description: "define absl cpp standard(C++11)" - patch_type: "portability" - "20200923.3": - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" - - patch_file: "patches/0004-cpp-standard-20200923.patch" - patch_description: "define absl cpp standard(C++11)" - patch_type: "portability" - "20200225.3": - - patch_file: "patches/0001-cmake-install.patch" - patch_description: "make ABSL_ENABLE_INSTALL option" - patch_type: "conan" - - patch_file: "patches/0002-missing-numeric_limits.h.patch" - patch_description: "include limits.h" - patch_type: "portability" - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" - - patch_file: "patches/0004-cpp-standard-20200225.patch" - patch_description: "define absl cpp standard(C++11)" - patch_type: "portability" diff --git a/recipes/abseil/all/conanfile.py b/recipes/abseil/all/conanfile.py index 1705dce38f64f..b7ffcdd9c1625 100644 --- a/recipes/abseil/all/conanfile.py +++ b/recipes/abseil/all/conanfile.py @@ -144,10 +144,10 @@ def _load_components_from_cmake_target_file(self, absl_target_file_path): components = {} abs_target_content = load(self, absl_target_file_path) - + # Replace the line endings to support building with MSys2 on Windows abs_target_content = abs_target_content.replace("\r\n", "\n") - + cmake_functions = re.findall(r"(?Padd_library|set_target_properties)[\n|\s]*\([\n|\s]*(?P[^)]*)\)", abs_target_content) for (cmake_function_name, cmake_function_args) in cmake_functions: cmake_function_args = re.split(r"[\s|\n]+", cmake_function_args, maxsplit=2) @@ -190,7 +190,11 @@ def _load_components_from_cmake_target_file(self, absl_target_file_path): elif property_type == "INTERFACE_COMPILE_DEFINITIONS": values_list = target_property[1].replace('"', "").split(";") for definition in values_list: - components[potential_lib_name].setdefault("defines", []).append(definition) + if definition == r"\$<\$:_LINUX_SOURCE_COMPAT>": + if self.settings.os == "AIX": + components[potential_lib_name].setdefault("defines", []).append("_LINUX_SOURCE_COMPAT") + else: + components[potential_lib_name].setdefault("defines", []).append(definition) return components diff --git a/recipes/abseil/all/patches/0001-cmake-install.patch b/recipes/abseil/all/patches/0001-cmake-install.patch deleted file mode 100644 index a3b8fb54c4699..0000000000000 --- a/recipes/abseil/all/patches/0001-cmake-install.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -41,9 +41,9 @@ - # when absl is included as subproject (i.e. using add_subdirectory(abseil-cpp)) - # in the source tree of a project that uses it, install rules are disabled. - if(NOT "^${CMAKE_SOURCE_DIR}$" STREQUAL "^${PROJECT_SOURCE_DIR}$") -- set(ABSL_ENABLE_INSTALL FALSE) -+ option(ABSL_ENABLE_INSTALL "Enable install rule" OFF) - else() -- set(ABSL_ENABLE_INSTALL TRUE) -+ option(ABSL_ENABLE_INSTALL "Enable install rule" ON) - endif() - - list(APPEND CMAKE_MODULE_PATH diff --git a/recipes/abseil/all/patches/0002-missing-numeric_limits.h.patch b/recipes/abseil/all/patches/0002-missing-numeric_limits.h.patch deleted file mode 100644 index b21d60b80ba1b..0000000000000 --- a/recipes/abseil/all/patches/0002-missing-numeric_limits.h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- absl/synchronization/internal/graphcycles.cc -+++ absl/synchronization/internal/graphcycles.cc -@@ -34,7 +34,7 @@ - #ifndef ABSL_LOW_LEVEL_ALLOC_MISSING - - #include "absl/synchronization/internal/graphcycles.h" -- -+#include - #include - #include - #include "absl/base/internal/hide_ptr.h" diff --git a/recipes/abseil/all/patches/0003-absl-string-libm-20230802.patch b/recipes/abseil/all/patches/0003-absl-string-libm-20230802.patch new file mode 100644 index 0000000000000..22d29acea39d9 --- /dev/null +++ b/recipes/abseil/all/patches/0003-absl-string-libm-20230802.patch @@ -0,0 +1,15 @@ +--- a/absl/strings/CMakeLists.txt ++++ b/absl/strings/CMakeLists.txt +@@ -31,9 +31,12 @@ + PUBLIC + ) + ++find_library(LIBM m) + absl_cc_library( + NAME + strings ++ LINKOPTS ++ $<$:-lm> + HDRS + "ascii.h" + "charconv.h" diff --git a/recipes/abseil/all/patches/0004-cpp-standard-20200225.patch b/recipes/abseil/all/patches/0004-cpp-standard-20200225.patch deleted file mode 100644 index 00042089d1476..0000000000000 --- a/recipes/abseil/all/patches/0004-cpp-standard-20200225.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -204,8 +204,12 @@ function(absl_cc_library) - endif() - - # INTERFACE libraries can't have the CXX_STANDARD property set -+ if(ABSL_PROPAGATE_CXX_STD) -+ target_compile_features(${_NAME} PUBLIC cxx_std_11) -+ else() - set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) - set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) -+ endif() - - # When being installed, we lose the absl_ prefix. We want to put it back - # to have properly named lib files. This is a no-op when we are not being diff --git a/recipes/abseil/all/patches/0004-cpp-standard-20200923.patch b/recipes/abseil/all/patches/0004-cpp-standard-20200923.patch deleted file mode 100644 index cabbdbc8eaa57..0000000000000 --- a/recipes/abseil/all/patches/0004-cpp-standard-20200923.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -206,8 +206,12 @@ function(absl_cc_library) - endif() - - # INTERFACE libraries can't have the CXX_STANDARD property set -+ if(ABSL_PROPAGATE_CXX_STD) -+ target_compile_features(${_NAME} PUBLIC cxx_std_11) -+ else() - set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) - set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) -+ endif() - - # When being installed, we lose the absl_ prefix. We want to put it back - # to have properly named lib files. This is a no-op when we are not being diff --git a/recipes/abseil/all/patches/0004-cpp-standard-20210324.patch b/recipes/abseil/all/patches/0004-cpp-standard-20210324.patch deleted file mode 100644 index fab934c4ee8b8..0000000000000 --- a/recipes/abseil/all/patches/0004-cpp-standard-20210324.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -254,8 +254,12 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") - endif() - - # INTERFACE libraries can't have the CXX_STANDARD property set -+ if(ABSL_PROPAGATE_CXX_STD) -+ target_compile_features(${_NAME} PUBLIC cxx_std_11) -+ else() - set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) - set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) -+ endif() - - # When being installed, we lose the absl_ prefix. We want to put it back - # to have properly named lib files. This is a no-op when we are not being diff --git a/recipes/abseil/config.yml b/recipes/abseil/config.yml index b44abb830b77f..a5bf2303085d1 100644 --- a/recipes/abseil/config.yml +++ b/recipes/abseil/config.yml @@ -1,4 +1,6 @@ versions: + "20230802.1": + folder: all "20230125.3": folder: all "20230125.2": @@ -13,9 +15,3 @@ versions: folder: all "20211102.0": folder: all - "20210324.2": - folder: all - "20200923.3": - folder: all - "20200225.3": - folder: all From a46dfebc39c30155b8bc0b1dd5fc56dbaaf9374d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 15:24:35 +0200 Subject: [PATCH 2389/4087] (#18945) i2c-tools: migrate to Conan v2 * i2c-tools: migrate to Conan v2 * i2c-tools: fix shared flags * i2c-tools: bump deps --- recipes/i2c-tools/all/conanfile.py | 91 +++++++++++-------- .../i2c-tools/all/test_package/CMakeLists.txt | 5 +- .../i2c-tools/all/test_package/conanfile.py | 12 ++- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 15 +++ 5 files changed, 85 insertions(+), 46 deletions(-) create mode 100644 recipes/i2c-tools/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/i2c-tools/all/test_v1_package/conanfile.py diff --git a/recipes/i2c-tools/all/conanfile.py b/recipes/i2c-tools/all/conanfile.py index 869b97a3d490e..544ea4beb37db 100644 --- a/recipes/i2c-tools/all/conanfile.py +++ b/recipes/i2c-tools/all/conanfile.py @@ -1,18 +1,23 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -requires_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import chdir, copy, get, replace_in_file, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class I2cConan(ConanFile): name = "i2c-tools" - license = "GPL-2.0-or-later", "LGPL-2.1" + description = "I2C tools for the linux kernel as well as an I2C library." + license = ("GPL-2.0-or-later", "LGPL-2.1") url = "https://github.com/conan-io/conan-center-index" homepage = "https://i2c.wiki.kernel.org/index.php/I2C_Tools" - description = "I2C tools for the linux kernel as well as an I2C library." - topics = ("i2c") + topics = ("i2c",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -23,56 +28,62 @@ class I2cConan(ConanFile): "fPIC": True, } - @property - def _source_subfolder(self): - return "source_subfolder" - 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("linux-headers-generic/5.14.9") + self.requires("linux-headers-generic/5.15.128") def validate(self): - if self.settings.os != "Linux": + if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("i2c-tools only support Linux") 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): - tools.replace_in_file(os.path.join(self._source_subfolder, "Makefile"), - "SRCDIRS := include lib eeprom stub tools $(EXTRA)", - "SRCDIRS := include lib $(EXTRA)") - - @property - def _make_args(self): - return [ - "PREFIX={}".format(self.package_folder), - "BUILD_DYNAMIC_LIB={}".format("1" if self.options.shared else "0"), - "BUILD_STATIC_LIB={}".format("0" if self.options.shared else "1"), - "USE_STATIC_LIB={}".format("0" if self.options.shared else "1"), + def generate(self): + tc = AutotoolsToolchain(self) + shared = "1" if self.options.shared else "0" + not_shared = "1" if not self.options.shared else "0" + tc.make_args = [ + "PREFIX=/", + f"BUILD_DYNAMIC_LIB={shared}", + f"BUILD_STATIC_LIB={not_shared}", + f"USE_STATIC_LIB={not_shared}", ] + tc.generate() + + def _patch_sources(self): + replace_in_file( + self, + os.path.join(self.source_folder, "Makefile"), + "SRCDIRS := include lib eeprom stub tools $(EXTRA)", + "SRCDIRS := include lib $(EXTRA)", + ) def build(self): self._patch_sources() - autotools = AutoToolsBuildEnvironment(self) - autotools.flags += [f"-I{path}" for path in autotools.include_paths] - with tools.chdir(self._source_subfolder): - autotools.make(args=self._make_args) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - self.copy("COPYING.LGPL", src=self._source_subfolder, dst="licenses") - autotools = AutoToolsBuildEnvironment(self) - autotools.flags += [f"-I{path}" for path in autotools.include_paths] - with tools.chdir(self._source_subfolder): - autotools.install(args=self._make_args) - tools.rmdir(os.path.join(self.package_folder, "share")) + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING.LGPL", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["i2c"] diff --git a/recipes/i2c-tools/all/test_package/CMakeLists.txt b/recipes/i2c-tools/all/test_package/CMakeLists.txt index 8e909fdb64156..5140938481408 100644 --- a/recipes/i2c-tools/all/test_package/CMakeLists.txt +++ b/recipes/i2c-tools/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(i2c-tools REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/i2c-tools/all/test_package/conanfile.py b/recipes/i2c-tools/all/test_package/conanfile.py index 2780f5433abb4..e5500f0ff4d7b 100644 --- a/recipes/i2c-tools/all/test_package/conanfile.py +++ b/recipes/i2c-tools/all/test_package/conanfile.py @@ -1,9 +1,17 @@ -from conans import ConanFile, CMake +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMake 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) diff --git a/recipes/i2c-tools/all/test_v1_package/CMakeLists.txt b/recipes/i2c-tools/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/i2c-tools/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/i2c-tools/all/test_v1_package/conanfile.py b/recipes/i2c-tools/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2780f5433abb4 --- /dev/null +++ b/recipes/i2c-tools/all/test_v1_package/conanfile.py @@ -0,0 +1,15 @@ +from conans import ConanFile, CMake + + +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): + # For obvious reasons, don't run the test package (we don't want to write data to some device) + pass From 06939903ffaedabc96da5c8cec55598446074815 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 15:33:23 +0200 Subject: [PATCH 2390/4087] (#18666) libproperties: migrate to Conan v2 * libproperties: migrate to Conan v2 * libproperties: fix shared build --- recipes/libproperties/all/CMakeLists.txt | 7 -- recipes/libproperties/all/conandata.yml | 1 - recipes/libproperties/all/conanfile.py | 82 ++++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 23 ++++-- .../all/test_package/test_package.c | 4 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ 8 files changed, 89 insertions(+), 58 deletions(-) delete mode 100644 recipes/libproperties/all/CMakeLists.txt create mode 100644 recipes/libproperties/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libproperties/all/test_v1_package/conanfile.py diff --git a/recipes/libproperties/all/CMakeLists.txt b/recipes/libproperties/all/CMakeLists.txt deleted file mode 100644 index 8b8af47ecdb56..0000000000000 --- a/recipes/libproperties/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/libproperties/all/conandata.yml b/recipes/libproperties/all/conandata.yml index bff2c33335401..19d12f5955d4a 100644 --- a/recipes/libproperties/all/conandata.yml +++ b/recipes/libproperties/all/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "1.1.2": - patch_file: "patches/0001-set-CMAKE_C_STANDARD.patch" - base_path: "source_subfolder" diff --git a/recipes/libproperties/all/conanfile.py b/recipes/libproperties/all/conanfile.py index 5741d7e7fb2c6..a124a4b81218b 100644 --- a/recipes/libproperties/all/conanfile.py +++ b/recipes/libproperties/all/conanfile.py @@ -1,28 +1,36 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir + +required_conan_version = ">=1.53.0" + + class LibpropertiesConan(ConanFile): name = "libproperties" + description = ( + "libproperties is a library to parse the Java .properties files. " + "It was writen in pure C and is fully compatible with the Java .properties file format." + ) license = "Apache-2.0" - homepage = "https://github.com/tinyhubs/libproperties" url = "https://github.com/conan-io/conan-center-index" - description = "libproperties is a library to parse the Java .properties files. It was writen in pure C. And fully compatible with the Java .properties file format." + homepage = "https://github.com/tinyhubs/libproperties" topics = ("properties", "java", "pure-c") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False], } - default_options = {"shared": False, "fPIC": True, } - generators = "cmake" - exports_sources = "CMakeLists.txt", "patches/**" - _cmake = None + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _source_package_tag(self): - return "{}-{}".format(self.name, self.version) - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -30,36 +38,36 @@ 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 source(self): - tools.get(**self.conan_data["sources"][self.version]) - source_dir = "{}-{}".format(self.name, self.version) - os.rename(source_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["LIBPROPERTIES_INSTALL"] = True - self._cmake.definitions["LIBPROPERTIES_TEST"] = False - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.cache_variables["LIBPROPERTIES_INSTALL"] = True + tc.cache_variables["LIBPROPERTIES_TEST"] = False + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): if not self.options.shared: diff --git a/recipes/libproperties/all/test_package/CMakeLists.txt b/recipes/libproperties/all/test_package/CMakeLists.txt index 1db6320d425c2..d44b2bb585185 100644 --- a/recipes/libproperties/all/test_package/CMakeLists.txt +++ b/recipes/libproperties/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libproperties REQUIRED) +find_package(libproperties REQUIRED CONFIG) add_executable("${PROJECT_NAME}" test_package.c) target_link_libraries("${PROJECT_NAME}" PRIVATE libproperties::libproperties) diff --git a/recipes/libproperties/all/test_package/conanfile.py b/recipes/libproperties/all/test_package/conanfile.py index e55cd6197c257..ef5d7042163ec 100644 --- a/recipes/libproperties/all/test_package/conanfile.py +++ b/recipes/libproperties/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 LibpropertiesTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.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/libproperties/all/test_package/test_package.c b/recipes/libproperties/all/test_package/test_package.c index f06e9d786d768..69876248ecfa9 100644 --- a/recipes/libproperties/all/test_package/test_package.c +++ b/recipes/libproperties/all/test_package/test_package.c @@ -17,7 +17,7 @@ int check_handler(void* context, char* key, int key_len, char* val, int val_len) } -int main(int argc, char* argv[]) +int main(int argc, char* argv[]) { char str[] = "aaa=bbb"; struct properties_source_string_t source = @@ -27,5 +27,5 @@ int main(int argc, char* argv[]) }; properties_parse(&source, properties_source_string_read, NULL, check_handler); - return 0; + return 0; } diff --git a/recipes/libproperties/all/test_v1_package/CMakeLists.txt b/recipes/libproperties/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libproperties/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/libproperties/all/test_v1_package/conanfile.py b/recipes/libproperties/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a71089bfc92a --- /dev/null +++ b/recipes/libproperties/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class LibpropertiesTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 858bcc9c83217ab2d5291708327c156f5dc41791 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 15:44:27 +0200 Subject: [PATCH 2391/4087] (#18946) scdoc: migrate to Conan v2 * scdoc: migrate to Conan v2 * scdoc: correct package_type * scdoc: remove shared, fPIC * scdoc: clear includedirs, etc * scdoc: fix v1 test --- recipes/scdoc/all/conanfile.py | 99 ++++++++++--------- recipes/scdoc/all/test_package/conanfile.py | 20 +++- .../scdoc/all/test_v1_package/conanfile.py | 10 ++ 3 files changed, 80 insertions(+), 49 deletions(-) create mode 100644 recipes/scdoc/all/test_v1_package/conanfile.py diff --git a/recipes/scdoc/all/conanfile.py b/recipes/scdoc/all/conanfile.py index 511b322627676..648e2b1eff89f 100644 --- a/recipes/scdoc/all/conanfile.py +++ b/recipes/scdoc/all/conanfile.py @@ -1,79 +1,88 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.files import chdir, copy, get, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class ScdocInstallerConan(ConanFile): name = "scdoc" description = "scdoc is a simple man page generator for POSIX systems written in C99." - topics = ("manpage", "documentation", "posix") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://git.sr.ht/~sircmpwn/scdoc" - license = "MIT" - settings = "os", "arch", "compiler", "build_type" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + topics = ("manpage", "documentation", "posix") - def build_requirements(self): - self.build_requires("make/4.3") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.compiler - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) + def validate(self): + if self.settings.os == "Windows" or is_apple_os(self): + raise ConanInvalidConfiguration(f"Builds aren't supported on {self.settings.os}") - @staticmethod - def _chmod_plus_x(filename): - if os.name == "posix": - os.chmod(filename, os.stat(filename).st_mode | 0o111) + def build_requirements(self): + if not self.conf.get("tools.gnu:make_program", check_type=str): + self.tool_requires("make/4.3") - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - return self._autotools + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.make_args = ["PREFIX=/"] + tc.generate() def build(self): - autotools = self._configure_autotools() - with tools.chdir(self._source_subfolder): + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.make() def package(self): - autotools = self._configure_autotools() - with tools.chdir(self._source_subfolder): - autotools.install(args=[f"PREFIX={self.package_folder}"]) - self.copy(pattern="COPYING", dst="licenses", - src=self._source_subfolder) - tools.rmdir(os.path.join(self.package_folder, "share")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "share")) + + @staticmethod + def _chmod_plus_x(filename): + if os.name == "posix": + os.chmod(filename, os.stat(filename).st_mode | 0o111) def package_info(self): + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] scdoc_root = os.path.join(self.package_folder, "bin") - self.output.info( - "Appending PATH environment variable: {}".format(scdoc_root)) - self.env_info.PATH.append(scdoc_root) self._chmod_plus_x(os.path.join(scdoc_root, "scdoc")) pkgconfig_variables = { - 'exec_prefix': '${prefix}/bin', - 'scdoc': '${exec_prefix}/scdoc', + "exec_prefix": "${prefix}/bin", + "scdoc": "${exec_prefix}/scdoc", } 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()), + ) - def validate(self): - if self.settings.os in ["Macos", "Windows"]: - raise ConanInvalidConfiguration( - f"Builds aren't supported on {self.settings.os}") + # TODO: Legacy, to be removed on Conan 2.0 + self.output.info(f"Appending PATH environment variable: {scdoc_root}") + self.env_info.PATH.append(scdoc_root) diff --git a/recipes/scdoc/all/test_package/conanfile.py b/recipes/scdoc/all/test_package/conanfile.py index 4864f9fac5f47..3d9ce4cf8ad9b 100644 --- a/recipes/scdoc/all/test_package/conanfile.py +++ b/recipes/scdoc/all/test_package/conanfile.py @@ -1,10 +1,22 @@ -from conans import ConanFile, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout + class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + basic_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - if not tools.cross_building(self): - self.run( - f"scdoc < {os.path.join(self.source_folder,'test_package.1.scd')}", run_environment=True) + if can_run(self): + scd_path = os.path.join(self.source_folder, "test_package.1.scd") + self.run(f"scdoc < {scd_path}") diff --git a/recipes/scdoc/all/test_v1_package/conanfile.py b/recipes/scdoc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4e046a6fb6265 --- /dev/null +++ b/recipes/scdoc/all/test_v1_package/conanfile.py @@ -0,0 +1,10 @@ +from conans import ConanFile, tools +import os + + +class TestPackageConan(ConanFile): + + def test(self): + if not tools.cross_building(self): + scd_path = os.path.join(self.source_folder, os.pardir, "test_package", "test_package.1.scd") + self.run(f"scdoc < {scd_path}", run_environment=True) From 2065ce0aae808914c04562b342cbff2162b7c06b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 6 Nov 2023 14:57:19 +0100 Subject: [PATCH 2392/4087] (#20260) openssl: fix build with non-cl like compiler on Windows * fix logic of zlib detection for Windows when compiler is not a cl like compiler * better conversion of paths * fix call to perl with configdata.pm for mingw * typo * also adjust path of DESTDIR * add package_type --- recipes/openssl/1.x.x/conanfile.py | 11 ++-- recipes/openssl/3.x.x/conanfile.py | 93 +++++++++++++++--------------- 2 files changed, 51 insertions(+), 53 deletions(-) diff --git a/recipes/openssl/1.x.x/conanfile.py b/recipes/openssl/1.x.x/conanfile.py index 32cb51fff1cec..073a01dcd3cdc 100644 --- a/recipes/openssl/1.x.x/conanfile.py +++ b/recipes/openssl/1.x.x/conanfile.py @@ -95,8 +95,9 @@ class OpenSSLConan(ConanFile): default_options["openssldir"] = None @property - def _is_clangcl(self): - return self.settings.compiler == "clang" and self.settings.os == "Windows" + def _is_clang_cl(self): + return self.settings.os == "Windows" and self.settings.compiler == "clang" and \ + self.settings.compiler.get_safe("runtime") @property def _is_mingw(self): @@ -104,7 +105,7 @@ def _is_mingw(self): @property def _use_nmake(self): - return self._is_clangcl or is_msvc(self) + return self._is_clang_cl or is_msvc(self) @property def _settings_build(self): @@ -374,7 +375,7 @@ def _configure_args(self): if self.settings.os == "Neutrino": args.append("no-asm -lsocket -latomic") - if self._is_clangcl: + if self._is_clang_cl: # #error is not yet supported when compiling as C, but this is planned for a future release. args.append("-D__STDC_NO_ATOMICS__") @@ -500,7 +501,7 @@ def build(self): with self._make_context(): with chdir(self, self.source_folder): # workaround for clang-cl not producing .pdb files - if self._is_clangcl: + if self._is_clang_cl: save(self, "ossl_static.pdb", "") args = " ".join(self._configure_args) self.output.info(self._configure_args) diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index c9d0f55fd4388..82d58e0af07f6 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -16,12 +16,13 @@ class OpenSSLConan(ConanFile): name = "openssl" - settings = "os", "arch", "compiler", "build_type" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/openssl/openssl" license = "Apache-2.0" topics = ("ssl", "tls", "encryption", "security") description = "A toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -90,6 +91,19 @@ class OpenSSLConan(ConanFile): default_options["no_md2"] = True default_options["openssldir"] = None + @property + def _is_clang_cl(self): + return self.settings.os == "Windows" and self.settings.compiler == "clang" and \ + self.settings.compiler.get_safe("runtime") + + @property + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" + + @property + def _use_nmake(self): + return self._is_clang_cl or is_msvc(self) + @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @@ -112,10 +126,21 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): if not self.options.no_zlib: self.requires("zlib/[>=1.2.11 <2]") + def validate(self): + if self.settings.os == "Emscripten": + if not all((self.options.no_asm, self.options.no_threads, self.options.no_stdio)): + raise ConanInvalidConfiguration("os=Emscripten requires openssl:{no_asm,no_threads,no_stdio}=True") + + if self.settings.os == "iOS" and self.options.shared: + raise ConanInvalidConfiguration("OpenSSL 3 does not support building shared libraries for iOS") + def build_requirements(self): if self._settings_build.os == "Windows": if not self.options.no_asm: @@ -127,32 +152,8 @@ def build_requirements(self): if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") - def validate(self): - if self.settings.os == "Emscripten": - if not all((self.options.no_asm, self.options.no_threads, self.options.no_stdio)): - raise ConanInvalidConfiguration("os=Emscripten requires openssl:{no_asm,no_threads,no_stdio}=True") - - if self.settings.os == "iOS" and self.options.shared: - raise ConanInvalidConfiguration("OpenSSL 3 does not support building shared libraries for iOS") - - def layout(self): - basic_layout(self, src_folder="src") - - @property - def _is_clangcl(self): - return self.settings.compiler == "clang" and self.settings.os == "Windows" - - @property - def _is_mingw(self): - return self.settings.os == "Windows" and self.settings.compiler == "gcc" - - @property - def _use_nmake(self): - return self._is_clangcl or is_msvc(self) - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _target(self): @@ -339,6 +340,11 @@ def _get_default_openssl_dir(self): return "/etc/ssl" return os.path.join(self.package_folder, "res") + def _adjust_path(self, path): + if self._use_nmake: + return path.replace("\\", "/") + return unix_path(self, path) + @property def _configure_args(self): openssldir = self.options.openssldir or self._get_default_openssl_dir() @@ -375,17 +381,13 @@ def _configure_args(self): args.append("no-asm -lsocket -latomic") if not self.options.no_zlib: - zlib_info = self.dependencies["zlib"].cpp_info.aggregated_components() - include_path = zlib_info.includedirs[0] - if self.settings.os == "Windows": - lib_path = "%s/%s.lib" % (zlib_info.libdirs[0], zlib_info.libs[0]) + zlib_cpp_info = self.dependencies["zlib"].cpp_info.aggregated_components() + include_path = self._adjust_path(zlib_cpp_info.includedirs[0]) + if self._use_nmake: + lib_path = self._adjust_path(os.path.join(zlib_cpp_info.libdirs[0], f"{zlib_cpp_info.libs[0]}.lib")) else: - # Just path, linux will find the right file - lib_path = zlib_info.libdirs[0] - if self._settings_build.os == "Windows": - # clang-cl doesn't like backslashes in #define CFLAGS (builldinf.h -> cversion.c) - include_path = include_path.replace("\\", "/") - lib_path = lib_path.replace("\\", "/") + # Just path, GNU like compilers will find the right file + lib_path = self._adjust_path(zlib_cpp_info.libdirs[0]) if self.dependencies["zlib"].options.shared: args.append("zlib-dynamic") @@ -393,8 +395,8 @@ def _configure_args(self): args.append("zlib") args.extend([ - '--with-zlib-include="%s"' % include_path, - '--with-zlib-lib="%s"' % lib_path + f'--with-zlib-include="{include_path}"', + f'--with-zlib-lib="{lib_path}"', ]) for option_name in self.default_options.keys(): @@ -402,7 +404,7 @@ def _configure_args(self): self.output.info(f"Activated option: {option_name}") args.append(option_name.replace("_", "-")) return args - + def generate(self): tc = AutotoolsToolchain(self) env = tc.environment() @@ -439,9 +441,6 @@ def _create_targets(self, cflags, cxxflags, defines, ldflags): defines = " ".join(defines) defines = 'defines => add("%s"),' % defines if defines else "" targets = "my %targets" - includes = "" - if self.settings.os == "Windows": - includes = includes.replace("\\", "/") # OpenSSL doesn't like backslashes if self._asm_target: ancestor = '[ "%s", asm("%s") ]' % (self._ancestor_target, self._asm_target) @@ -482,8 +481,7 @@ def _create_targets(self, cflags, cxxflags, defines, ldflags): def _run_make(self, targets=None, parallel=True, install=False): command = [self._make_program] if install: - package_folder = self.package_folder.replace("\\", "/") # needed for MinGW build - command.append(f"DESTDIR={package_folder}") + command.append(f"DESTDIR={self._adjust_path(self.package_folder)}") if targets: command.extend(targets) if not self._use_nmake: @@ -499,7 +497,7 @@ def _perl(self): def _make(self): with chdir(self, self.source_folder): # workaround for clang-cl not producing .pdb files - if self._is_clangcl: + if self._is_clang_cl: save(self, "ossl_static.pdb", "") args = " ".join(self._configure_args) @@ -519,8 +517,8 @@ def _make_install(self): def build(self): self._make() - source_folder = self.source_folder.replace("\\", "/") # Necessary for MinGW build - self.run(f"{self._perl} {source_folder}/configdata.pm --dump") + configdata_pm = self._adjust_path(os.path.join(self.source_folder, "configdata.pm")) + self.run(f"{self._perl} {configdata_pm} --dump") @property def _make_program(self): @@ -677,4 +675,3 @@ def package_info(self): # For legacy 1.x downstream consumers, remove once recipe is 2.0 only: self.env_info.OPENSSL_MODULES = openssl_modules_dir - From e80938c310da42509093c94694df411d9d42f800 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 16:50:07 +0200 Subject: [PATCH 2393/4087] (#18353) tcsbank-uconfig: migrate to Conan v2 --- recipes/tcsbank-uconfig/all/conandata.yml | 6 +- recipes/tcsbank-uconfig/all/conanfile.py | 97 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 22 +++-- .../all/test_package/test_package.cpp | 10 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 18 ++++ recipes/tcsbank-uconfig/config.yml | 4 +- 8 files changed, 110 insertions(+), 62 deletions(-) create mode 100644 recipes/tcsbank-uconfig/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tcsbank-uconfig/all/test_v1_package/conanfile.py diff --git a/recipes/tcsbank-uconfig/all/conandata.yml b/recipes/tcsbank-uconfig/all/conandata.yml index c292824b18361..2bda12ab98758 100644 --- a/recipes/tcsbank-uconfig/all/conandata.yml +++ b/recipes/tcsbank-uconfig/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "2.0.3": - url: "https://github.com/TinkoffCreditSystems/uconfig/archive/refs/tags/v2.0.3.tar.gz" - sha256: "a1f6278ebd6c0c7ba391651ab6f0aceeb9cb77dc6936d45dc0e6fee3f27dfcbf" "2.1.0": url: "https://github.com/TinkoffCreditSystems/uconfig/archive/refs/tags/v2.1.0.tar.gz" sha256: "1a7a8ab97b6de7fa039031caa83d8ab889d874822b06c920af3e8ddd794ab9c6" + "2.0.3": + url: "https://github.com/TinkoffCreditSystems/uconfig/archive/refs/tags/v2.0.3.tar.gz" + sha256: "a1f6278ebd6c0c7ba391651ab6f0aceeb9cb77dc6936d45dc0e6fee3f27dfcbf" diff --git a/recipes/tcsbank-uconfig/all/conanfile.py b/recipes/tcsbank-uconfig/all/conanfile.py index cf5ea147a4f0e..a4005d4ad03ba 100644 --- a/recipes/tcsbank-uconfig/all/conanfile.py +++ b/recipes/tcsbank-uconfig/all/conanfile.py @@ -1,20 +1,24 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration - import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.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 TCSBankUconfigConan(ConanFile): name = "tcsbank-uconfig" description = "Lightweight, header-only, C++17 configuration library" - topics = ("conan", "configuration", "env", "json") - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/TinkoffCreditSystems/uconfig" license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Tinkoff/uconfig" + topics = ("configuration", "env", "json", "header-only") - generators = "cmake", "cmake_find_package_multi" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_rapidjson": [True, False], @@ -22,59 +26,70 @@ class TCSBankUconfigConan(ConanFile): default_options = { "with_rapidjson": True, } + no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _build_subfolder(self): - return "build_subfolder" + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "7.3", + "clang": "6.0", + "apple-clang": "10.0" + } + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_rapidjson: - self.requires("rapidjson/1.1.0") + self.requires("rapidjson/cci.20220822") + + def package_id(self): + self.info.clear() def validate(self): compiler = str(self.settings.compiler) - compiler_version = tools.Version(self.settings.compiler.version) + compiler_version = Version(self.settings.compiler.version) - min_req_cppstd = "17" if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, min_req_cppstd) - else: - self.output.warn("%s recipe lacks information about the %s compiler" - " standard version support." % (self.name, compiler)) + check_min_cppstd(self, self._min_cppstd) - minimal_version = { - "Visual Studio": "16", - "gcc": "7.3", - "clang": "6.0", - "apple-clang": "10.0", - } - # Exclude not supported compilers - if compiler not in minimal_version: - self.output.info("%s requires a compiler that supports at least C++%s" % (self.name, min_req_cppstd)) - return - if compiler_version < minimal_version[compiler]: + if compiler_version < self._compilers_minimum_version[compiler]: raise ConanInvalidConfiguration( - "%s requires a compiler that supports at least C++%s. %s %s is not supported." % - (self.name, min_req_cppstd, compiler, compiler_version)) + f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}. " + f"{compiler} {compiler_version} is not supported." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*.h", dst="include", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.ipp", dst="include", src=os.path.join(self._source_subfolder, "include")) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*.ipp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.names["pkg_config"] = "uconfig" - self.cpp_info.names["cmake_find_package"] = "uconfig" - self.cpp_info.names["cmake_find_package_multi"] = "uconfig" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "uconfig") + self.cpp_info.set_property("cmake_target_name", "uconfig::uconfig") + self.cpp_info.set_property("pkg_config_name", "uconfig") + if self.options.with_rapidjson: self.cpp_info.defines = ["RAPIDJSON_HAS_STDSTRING=1"] - def package_id(self): - self.info.header_only() + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "uconfig" + self.cpp_info.names["cmake_find_package_multi"] = "uconfig" diff --git a/recipes/tcsbank-uconfig/all/test_package/CMakeLists.txt b/recipes/tcsbank-uconfig/all/test_package/CMakeLists.txt index 6b713d97dfd9d..5f357d4371c77 100644 --- a/recipes/tcsbank-uconfig/all/test_package/CMakeLists.txt +++ b/recipes/tcsbank-uconfig/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(uconfig CONFIG REQUIRED) diff --git a/recipes/tcsbank-uconfig/all/test_package/conanfile.py b/recipes/tcsbank-uconfig/all/test_package/conanfile.py index 49a3a66ea5bad..e77da04fcdfc5 100644 --- a/recipes/tcsbank-uconfig/all/test_package/conanfile.py +++ b/recipes/tcsbank-uconfig/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,7 @@ 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): + os.environ["APP_VARIABLE"] = "123456" + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tcsbank-uconfig/all/test_package/test_package.cpp b/recipes/tcsbank-uconfig/all/test_package/test_package.cpp index fb3f52a80922c..c69d651b88257 100644 --- a/recipes/tcsbank-uconfig/all/test_package/test_package.cpp +++ b/recipes/tcsbank-uconfig/all/test_package/test_package.cpp @@ -1,7 +1,9 @@ -#include #include #include +#include +#include + struct AppConfig: public uconfig::Config { uconfig::Variable variable; @@ -15,8 +17,6 @@ struct AppConfig: public uconfig::Config }; int main() { - setenv("APP_VARIABLE", "123456", 1); - AppConfig app_config; uconfig::EnvFormat formatter; @@ -24,8 +24,8 @@ int main() { std::map config_map; app_config.Emit(formatter, "APP", &config_map); - for (const auto& [name, vlaue] : config_map) { - std::cout << name << "=" << vlaue << std::endl; + for (const auto& [name, value] : config_map) { + std::cout << name << "=" << value << std::endl; } return 0; } diff --git a/recipes/tcsbank-uconfig/all/test_v1_package/CMakeLists.txt b/recipes/tcsbank-uconfig/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tcsbank-uconfig/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/tcsbank-uconfig/all/test_v1_package/conanfile.py b/recipes/tcsbank-uconfig/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6bbeeb230e6b0 --- /dev/null +++ b/recipes/tcsbank-uconfig/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + os.environ["APP_VARIABLE"] = "123456" + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/tcsbank-uconfig/config.yml b/recipes/tcsbank-uconfig/config.yml index 14f04caec446d..d149ea7c80af7 100644 --- a/recipes/tcsbank-uconfig/config.yml +++ b/recipes/tcsbank-uconfig/config.yml @@ -1,5 +1,5 @@ versions: - "2.0.3": - folder: all "2.1.0": folder: all + "2.0.3": + folder: all From e6b9f8058d692dbdbbb3d5e6a1d5e6b101f4ad87 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 17:34:49 +0200 Subject: [PATCH 2394/4087] (#20315) dlib: add version 19.24.2 * dlib: add version 19.24.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/) * dlib: bump sqlite3 * dlib: v19.24.2 requires C++14 https://github.com/davisking/dlib/commit/29288e5d895b21f5508c15294f1303b367534a63 * dlib: update C++ standard in test_package --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/dlib/all/conandata.yml | 3 ++ recipes/dlib/all/conanfile.py | 29 ++++++++++++++++++-- recipes/dlib/all/test_package/CMakeLists.txt | 7 ++++- recipes/dlib/config.yml | 2 ++ 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/recipes/dlib/all/conandata.yml b/recipes/dlib/all/conandata.yml index 8896193f464de..845293d979b05 100644 --- a/recipes/dlib/all/conandata.yml +++ b/recipes/dlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "19.24.2": + url: "https://github.com/davisking/dlib/archive/v19.24.2.tar.gz" + sha256: "0f5c7e3de6316a513635052c5f0a16a84e1cef26a7d233bf00c21348462b6d6f" "19.24": url: "https://github.com/davisking/dlib/archive/refs/tags/v19.24.tar.gz" sha256: "3cc42e84c7b1bb926c6451a21ad1595f56c5b10be3a1d7aa2f3c716a25b7ae39" diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index dd3241419e6d1..39ff8fcf414f8 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -47,6 +47,24 @@ class DlibConan(ConanFile): "with_openblas": True, } + @property + def _min_cppstd(self): + if Version(self.version) < "19.24.2": + return 11 + return 14 + + @property + def _compilers_minimum_version(self): + if Version(self.version) < "19.24.2": + return {} + return { + "Visual Studio": "15", + "msvc": "191", + "gcc": "6", + "clang": "5", + "apple-clang": "10", + } + @property def _has_with_webp_option(self): return Version(self.version) >= "19.24" @@ -78,13 +96,18 @@ def requirements(self): if self.options.get_safe("with_webp"): self.requires("libwebp/1.3.2") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.1") + self.requires("sqlite3/3.43.2") if self.options.with_openblas: self.requires("openblas/0.3.20") def validate(self): - if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, "11") + 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 is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} does not support shared on Windows. See https://github.com/davisking/dlib/issues/1483.") diff --git a/recipes/dlib/all/test_package/CMakeLists.txt b/recipes/dlib/all/test_package/CMakeLists.txt index 9ce5dccc12983..a2e5f6c5bb3a5 100644 --- a/recipes/dlib/all/test_package/CMakeLists.txt +++ b/recipes/dlib/all/test_package/CMakeLists.txt @@ -5,4 +5,9 @@ find_package(dlib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE dlib::dlib) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if(dlib_VERSION VERSION_GREATER_EQUAL 19.24.2) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/dlib/config.yml b/recipes/dlib/config.yml index 4d03ed4f4b36d..8c827a6db181e 100644 --- a/recipes/dlib/config.yml +++ b/recipes/dlib/config.yml @@ -1,4 +1,6 @@ versions: + "19.24.2": + folder: all "19.24": folder: all "19.23": From 1ccd56d73b08647ca753da69fcc7172d578cba11 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 6 Nov 2023 12:04:11 -0600 Subject: [PATCH 2395/4087] (#20856) Minor clean up of template packages * Bump Meson version * Use LANGUAGES keyword in CMake project commands * Alphabetize self.settings.rm_safe in configure * Remove keywords for pattern, src, and dst from calls to copy This keeps things consistent and simple. * Use _compilers_minimum_version for MSVC in CMake package This makes it consistent with other template packages. * Alphabetize compilers in _compilers_minimum_version * Use _min_cppstd in Autoools package for consistency * Add _compilers_minimum_version check to Autotools package * Alphabetize imports * Update docs/package_templates/autotools_package/all/conanfile.py Co-authored-by: Uilian Ries * Make min cppstd consistent with compiler minimum version --------- Co-authored-by: Uilian Ries --- .../autotools_package/all/conanfile.py | 29 +++++++++++++++--- .../cmake_package/all/conanfile.py | 30 +++++++++---------- .../all/test_package/CMakeLists.txt | 4 +-- .../header_only/all/conanfile.py | 18 +++++------ .../meson_package/all/conanfile.py | 4 +-- .../all/test_package/conanfile.py | 2 +- .../msbuild_package/all/conanfile.py | 12 ++++---- .../all/test_package/CMakeLists.txt | 4 +-- .../prebuilt_tool_package/all/conanfile.py | 10 +++---- 9 files changed, 67 insertions(+), 46 deletions(-) diff --git a/docs/package_templates/autotools_package/all/conanfile.py b/docs/package_templates/autotools_package/all/conanfile.py index 0719baa9da770..0d8464ec8e6f0 100644 --- a/docs/package_templates/autotools_package/all/conanfile.py +++ b/docs/package_templates/autotools_package/all/conanfile.py @@ -4,9 +4,10 @@ from conan.tools.build import check_min_cppstd, 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 -from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, unix_path +from conan.tools.scm import Version import os @@ -41,6 +42,21 @@ class PackageConan(ConanFile): "with_foobar": True, } + @property + def _min_cppstd(self): + return 14 + + # in case the project requires C++14/17/20/... the minimum compiler version should be listed + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @@ -58,8 +74,8 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") # for plain C projects only - self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): # src_folder must use the same source folder name the project @@ -74,7 +90,12 @@ def requirements(self): def validate(self): # validate the minimum cpp standard supported. Only for C++ projects if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") @@ -155,7 +176,7 @@ def build(self): autotools.make() def package(self): - copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) autotools = Autotools(self) autotools.install() diff --git a/docs/package_templates/cmake_package/all/conanfile.py b/docs/package_templates/cmake_package/all/conanfile.py index 47f9a403b5cf1..9635abc398ca9 100644 --- a/docs/package_templates/cmake_package/all/conanfile.py +++ b/docs/package_templates/cmake_package/all/conanfile.py @@ -1,11 +1,11 @@ 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.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version 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, rm, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os @@ -40,15 +40,17 @@ class PackageConan(ConanFile): @property def _min_cppstd(self): - return 17 + return 14 # in case the project requires C++14/17/20/... the minimum compiler version should be listed @property def _compilers_minimum_version(self): return { - "gcc": "7", - "clang": "7", "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", } # no exports_sources attribute, but export_sources(self) method instead @@ -64,8 +66,8 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") # for plain C projects only - self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): # src_folder must use the same source folder name the project @@ -79,13 +81,11 @@ def validate(self): # validate the minimum cpp standard supported. For C++ projects only if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 191) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) # in case it does not work in another configuration, it should validated here too if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") @@ -131,7 +131,7 @@ 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, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() diff --git a/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt b/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt index d742678fc6e67..b1b30db795a84 100644 --- a/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt +++ b/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(test_package C) # if the project is pure C -# project(test_package CXX) # if the project uses c++ +project(test_package LANGUAGES C) # if the project is pure C +# project(test_package LANGUAGES CXX) # if the project uses c++ find_package(package REQUIRED CONFIG) diff --git a/docs/package_templates/header_only/all/conanfile.py b/docs/package_templates/header_only/all/conanfile.py index 6414c6f49c028..6e443b6024963 100644 --- a/docs/package_templates/header_only/all/conanfile.py +++ b/docs/package_templates/header_only/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 apply_conandata_patches, export_conandata_patches, get, copy +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 @@ -35,11 +35,11 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "Visual Studio": "15", + "apple-clang": "10", + "clang": "7", + "gcc": "7", "msvc": "191", - "gcc": "5", - "clang": "5", - "apple-clang": "5.1", + "Visual Studio": "15", } # Use the export_sources(self) method instead of the exports_sources attribute. @@ -85,12 +85,12 @@ def build(self): # Copy all files to the package folder def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) copy( self, - pattern="*.h", - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include"), + "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), ) def package_info(self): diff --git a/docs/package_templates/meson_package/all/conanfile.py b/docs/package_templates/meson_package/all/conanfile.py index 1d2b29f90aa8b..617e18d12f4ad 100644 --- a/docs/package_templates/meson_package/all/conanfile.py +++ b/docs/package_templates/meson_package/all/conanfile.py @@ -45,7 +45,7 @@ class PackageConan(ConanFile): @property def _min_cppstd(self): - return 17 + return 14 # in case the project requires C++14/17/20/... the minimum compiler version should be listed @property @@ -98,7 +98,7 @@ 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.2") + self.tool_requires("meson/1.2.3") # 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") 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 10b1dcc87c7f6..8adddf3b7b73c 100644 --- a/docs/package_templates/meson_package/all/test_package/conanfile.py +++ b/docs/package_templates/meson_package/all/test_package/conanfile.py @@ -18,7 +18,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") diff --git a/docs/package_templates/msbuild_package/all/conanfile.py b/docs/package_templates/msbuild_package/all/conanfile.py index 5fd9fc9251d3e..ca164fc1620f8 100644 --- a/docs/package_templates/msbuild_package/all/conanfile.py +++ b/docs/package_templates/msbuild_package/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm from conan.tools.layout import basic_layout -from conan.tools.microsoft import is_msvc, MSBuild, MSBuildDeps, MSBuildToolchain +from conan.tools.microsoft import MSBuild, MSBuildDeps, MSBuildToolchain, is_msvc import os @@ -44,8 +44,8 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") # for plain C projects only - self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): basic_layout(self, src_folder="src") @@ -125,10 +125,10 @@ def build(self): msbuild.build(sln="project_2017.sln") def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - copy(self, "*.lib", src=self.source_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) - copy(self, "*.dll", src=self.source_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - copy(self, "*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.lib", self.source_folder, os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.dll", self.source_folder, os.path.join(self.package_folder, "bin"), keep_path=False) + copy(self, "*.h", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) def package_info(self): self.cpp_info.libs = ["package_lib"] diff --git a/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt b/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt index 15b25667576d6..69086f9b189e8 100644 --- a/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt +++ b/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(test_package C) # if the project is pure C -project(test_package CXX) # if the project uses c++ +project(test_package LANGUAGES C) # if the project is pure C +# project(test_package LANGUAGES CXX) # if the project uses C++ find_package(package REQUIRED CONFIG) diff --git a/docs/package_templates/prebuilt_tool_package/all/conanfile.py b/docs/package_templates/prebuilt_tool_package/all/conanfile.py index 8a52bdeb5c74f..aa042fd087498 100644 --- a/docs/package_templates/prebuilt_tool_package/all/conanfile.py +++ b/docs/package_templates/prebuilt_tool_package/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile -from conan.tools.files import get, copy -from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get +from conan.tools.scm import Version import os @@ -48,9 +48,9 @@ def build(self): # copy all needed files to the package folder def package(self): # a license file is always mandatory - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy(self, pattern="*.exe", dst=os.path.join(self.package_folder, "bin"), src=self.source_folder) - copy(self, pattern="foo", dst=os.path.join(self.package_folder, "bin"), src=self.source_folder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.exe", self.source_folder, os.path.join(self.package_folder, "bin")) + copy(self, "foo", self.source_folder, os.path.join(self.package_folder, "bin")) def package_info(self): # folders not used for pre-built binaries From c5aabcb07d50ff772df30ca2544c884792371f3f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 6 Nov 2023 21:39:54 +0200 Subject: [PATCH 2396/4087] (#18668) libdispatch: migrate to Conan v2 * libdispatch: migrate to Conan v2 * libdispatch: use is_apple_os() * libdispatch: fix test_v1_package --- recipes/libdispatch/all/CMakeLists.txt | 7 -- recipes/libdispatch/all/conanfile.py | 87 +++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../libdispatch/all/test_package/conanfile.py | 20 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 16 ++++ 6 files changed, 92 insertions(+), 53 deletions(-) delete mode 100644 recipes/libdispatch/all/CMakeLists.txt create mode 100644 recipes/libdispatch/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libdispatch/all/test_v1_package/conanfile.py diff --git a/recipes/libdispatch/all/CMakeLists.txt b/recipes/libdispatch/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/libdispatch/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libdispatch/all/conanfile.py b/recipes/libdispatch/all/conanfile.py index e88fe5b5ab8e0..e5d4766a02600 100644 --- a/recipes/libdispatch/all/conanfile.py +++ b/recipes/libdispatch/all/conanfile.py @@ -1,66 +1,81 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.32.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file + +required_conan_version = ">=1.53.0" + class LibDispatchConan(ConanFile): name = "libdispatch" - homepage = "https://github.com/apple/swift-corelibs-libdispatch" - description = "Grand Central Dispatch (GCD or libdispatch) provides comprehensive support for concurrent code execution on multicore hardware." - topics = ("conan", "libdispatch", "apple", "GCD", "concurrency") - url = "https://github.com/conan-io/conan-center-index" + description = ( + "Grand Central Dispatch (GCD or libdispatch) provides comprehensive support " + "for concurrent code execution on multicore hardware." + ) license = "Apache-2.0" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - settings = "os", "compiler", "build_type", "arch" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/apple/swift-corelibs-libdispatch" + topics = ("apple", "GCD", "concurrency") - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - _cmake = None + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.compiler != "clang": raise ConanInvalidConfiguration("Clang compiler is required.") - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "swift-corelibs-{}-swift-{}-RELEASE".format(self.name, self.version) - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "cmake", "modules", "DispatchCompilerWarnings.cmake"), + "-Werror", "") def build(self): - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - if self.settings.os == "Macos": + if is_apple_os(self): self.cpp_info.libs = ["dispatch"] else: self.cpp_info.libs = ["dispatch", "BlocksRuntime"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "rt"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["shlwapi", "ws2_32", "winmm", "synchronization"] diff --git a/recipes/libdispatch/all/test_package/CMakeLists.txt b/recipes/libdispatch/all/test_package/CMakeLists.txt index d66f5d5a5a432..3bc47f2c45cd7 100644 --- a/recipes/libdispatch/all/test_package/CMakeLists.txt +++ b/recipes/libdispatch/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1.2) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(libdispatch REQUIRED) +find_package(libdispatch REQUIRED CONFIG) # TEST_PACKAGE ################################################################# add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) diff --git a/recipes/libdispatch/all/test_package/conanfile.py b/recipes/libdispatch/all/test_package/conanfile.py index 9294e13566895..ef5d7042163ec 100644 --- a/recipes/libdispatch/all/test_package/conanfile.py +++ b/recipes/libdispatch/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package", "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin","test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libdispatch/all/test_v1_package/CMakeLists.txt b/recipes/libdispatch/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libdispatch/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/libdispatch/all/test_v1_package/conanfile.py b/recipes/libdispatch/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b6f313836cc05 --- /dev/null +++ b/recipes/libdispatch/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake_find_package_multi", "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "test_package"), run_environment=True) From 0177ef01053100abba097abfef2fcd2e13589a7f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 00:16:35 +0200 Subject: [PATCH 2397/4087] (#18747) dime: migrate to Conan v2 * dime: migrate to Conan v2 * dime: remove register keyword --- recipes/dime/all/CMakeLists.txt | 7 -- recipes/dime/all/conanfile.py | 100 ++++++++++-------- recipes/dime/all/test_package/CMakeLists.txt | 5 +- recipes/dime/all/test_package/conanfile.py | 22 ++-- .../dime/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/dime/all/test_v1_package/conanfile.py | 17 +++ 6 files changed, 97 insertions(+), 62 deletions(-) delete mode 100644 recipes/dime/all/CMakeLists.txt create mode 100644 recipes/dime/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/dime/all/test_v1_package/conanfile.py diff --git a/recipes/dime/all/CMakeLists.txt b/recipes/dime/all/CMakeLists.txt deleted file mode 100644 index 8977c3f43d6f8..0000000000000 --- a/recipes/dime/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/dime/all/conanfile.py b/recipes/dime/all/conanfile.py index 4c72fb275c245..a157a6f7cfc1a 100644 --- a/recipes/dime/all/conanfile.py +++ b/recipes/dime/all/conanfile.py @@ -1,96 +1,106 @@ -from conans import ConanFile, CMake, tools -from conan.tools.microsoft import is_msvc import os -import functools -required_conan_version = ">=1.33.0" +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, replace_in_file, rm, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class DimeConan(ConanFile): name = "dime" description = "DXF (Data eXchange Format) file format support library." - topics = ("dxf", "coin3d", "opengl", "graphics") - homepage = "https://github.com/coin3d/dime" - url = "https://github.com/conan-io/conan-center-index" license = "BSD-3-Clause" - exports_sources = ["CMakeLists.txt"] - generators = "cmake", - settings = "os", "arch", "compiler", "build_type", + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/coin3d/dime" + topics = ("dxf", "coin3d", "opengl", "graphics") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { - "fPIC": [True, False], "shared": [True, False], + "fPIC": [True, False], "fixbig": [True, False], } default_options = { - "fPIC": True, "shared": False, + "fPIC": True, "fixbig": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, "11") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["DIME_BUILD_SHARED_LIBS"] = self.options.shared + def generate(self): + tc = CMakeToolchain(self) + tc.variables["DIME_BUILD_SHARED_LIBS"] = self.options.shared if self.options.fixbig: - cmake.definitions["CMAKE_CXX_FLAGS"] = "-DDIME_FIXBIG" - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.preprocessor_definitions["DIME_FIXBIG"] = "" + # Remove register keyword for C++17 + tc.preprocessor_definitions["register"] = "" + tc.generate() + + def _patch_sources(self): + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), + ("configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME_LOWER}.pc.cmake.in" + " ${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}.pc @ONLY)"), + ("configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME_LOWER}.pc.cmake.in" + " ${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}.pc @ONLY)") + ) def build(self): - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME_LOWER}.pc.cmake.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}.pc @ONLY)", - "configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME_LOWER}.pc.cmake.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}.pc @ONLY)") - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("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")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) if self.settings.os == "Windows" and is_msvc(self): - tools.remove_files_by_mask(self.package_folder, "*.pdb") + rm(self, "*.pdb", self.package_folder, recursive=True) def package_info(self): libname = "dime" if self.settings.os == "Windows" and is_msvc(self): libname = "{}{}{}{}".format( libname, - tools.Version(self.version).major, + Version(self.version).major, "" if self.options.shared else "s", "d" if self.settings.build_type == "Debug" else "", - ) + ) self.cpp_info.libs = [libname] if self.settings.os == "Windows": - self.cpp_info.cxxflags.append("-DDIME_DLL" if self.options.shared else "-DDIME_NOT_DLL") + self.cpp_info.defines.append("DIME_DLL" if self.options.shared else "DIME_NOT_DLL") if self.options.fixbig: - self.cpp_info.cxxflags.append("-DDIME_FIXBIG") + self.cpp_info.defines.append("DIME_FIXBIG") bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) + self.output.info(f"Appending PATH environment variable: {bindir}") self.env_info.PATH.append(bindir) diff --git a/recipes/dime/all/test_package/CMakeLists.txt b/recipes/dime/all/test_package/CMakeLists.txt index 78a1ddc2ab6be..419ecb0dafce7 100644 --- a/recipes/dime/all/test_package/CMakeLists.txt +++ b/recipes/dime/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(dime CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/dime/all/test_package/conanfile.py b/recipes/dime/all/test_package/conanfile.py index 17d1e9ed261a6..f8b1e56816775 100644 --- a/recipes/dime/all/test_package/conanfile.py +++ b/recipes/dime/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_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) @@ -11,7 +21,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") dxf_path = os.path.join(self.source_folder, "testFile_Bug01.dxf") - self.run("{} {}".format(bin_path, dxf_path), run_environment=True) + self.run(f"{bin_path} {dxf_path}", env="conanrun") diff --git a/recipes/dime/all/test_v1_package/CMakeLists.txt b/recipes/dime/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/dime/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/dime/all/test_v1_package/conanfile.py b/recipes/dime/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c1e0ae2f456f0 --- /dev/null +++ b/recipes/dime/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + dxf_path = os.path.join(self.source_folder, os.pardir, "test_package", "testFile_Bug01.dxf") + self.run(f"{bin_path} {dxf_path}", run_environment=True) From 6b1463aed50b76a93a2890421416c779e482a076 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 02:01:47 +0200 Subject: [PATCH 2398/4087] (#18761) libcoap: migrate to Conan v2 * libcoap: migrate to Conan v2 * libcoap: restore VirtualRunEnv in test_package * libcoap: fix test_v1_package * libcoap: add version 4.3.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * libcoap: fix invalid hash --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libcoap/all/CMakeLists.txt | 7 -- recipes/libcoap/all/conandata.yml | 13 +- recipes/libcoap/all/conanfile.py | 113 +++++++++--------- .../libcoap/all/test_package/CMakeLists.txt | 10 +- recipes/libcoap/all/test_package/conanfile.py | 35 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libcoap/all/test_v1_package/conanfile.py | 20 ++++ recipes/libcoap/config.yml | 9 +- 8 files changed, 123 insertions(+), 92 deletions(-) delete mode 100644 recipes/libcoap/all/CMakeLists.txt create mode 100644 recipes/libcoap/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libcoap/all/test_v1_package/conanfile.py diff --git a/recipes/libcoap/all/CMakeLists.txt b/recipes/libcoap/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/libcoap/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/libcoap/all/conandata.yml b/recipes/libcoap/all/conandata.yml index 933f8a2810d53..0cce54484d005 100644 --- a/recipes/libcoap/all/conandata.yml +++ b/recipes/libcoap/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "cci.20200424": - sha256: 8402bf2dd9979d6d5f823a050cd3533619fe9b21e76be8c69a9b7d8b8ea175ab - url: https://github.com/obgm/libcoap/archive/17957e1e687c2218b7752a8a959eac36dbf5cb62.zip + "4.3.3": + url: "https://github.com/obgm/libcoap/archive/v4.3.3.tar.gz" + sha256: "3df6e1a51e42ef8fd45f16276505a47ed32aef150d348d60f251a0b470dda379" "4.3.0": - url: https://github.com/obgm/libcoap/archive/refs/tags/v4.3.0.tar.gz - sha256: 1a195adacd6188d3b71c476e7b21706fef7f3663ab1fb138652e8da49a9ec556 + url: "https://github.com/obgm/libcoap/archive/refs/tags/v4.3.0.tar.gz" + sha256: "1a195adacd6188d3b71c476e7b21706fef7f3663ab1fb138652e8da49a9ec556" + "cci.20200424": + url: "https://github.com/obgm/libcoap/archive/17957e1e687c2218b7752a8a959eac36dbf5cb62.zip" + sha256: "8402bf2dd9979d6d5f823a050cd3533619fe9b21e76be8c69a9b7d8b8ea175ab" diff --git a/recipes/libcoap/all/conanfile.py b/recipes/libcoap/all/conanfile.py index 016cb1a3f6f02..73ba749ccb3bf 100644 --- a/recipes/libcoap/all/conanfile.py +++ b/recipes/libcoap/all/conanfile.py @@ -1,17 +1,24 @@ import os -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir + +required_conan_version = ">=1.53.0" class LibCoapConan(ConanFile): name = "libcoap" + description = "A CoAP (RFC 7252) implementation in C" license = "BSD-2-Clause" - homepage = "https://github.com/obgm/libcoap" url = "https://github.com/conan-io/conan-center-index" - description = """A CoAP (RFC 7252) implementation in C""" - topics = ("coap") - exports_sources = "CMakeLists.txt" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/obgm/libcoap" + topics = "coap" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -24,86 +31,78 @@ class LibCoapConan(ConanFile): "with_epoll": False, "dtls_backend": "openssl", } - generators = "cmake", "cmake_find_package" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def requirements(self): - if self.options.dtls_backend == "openssl": - self.requires("openssl/1.1.1q") - elif self.options.dtls_backend == "mbedtls": - self.requires("mbedtls/2.25.0") - elif self.options.dtls_backend == "gnutls": - raise ConanInvalidConfiguration("gnu tls not available yet") - elif self.options.dtls_backend == "tinydtls": - raise ConanInvalidConfiguration("tinydtls not available yet") def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.os in ("Windows", "Macos"): + if self.settings.os == "Windows" or is_apple_os(self): raise ConanInvalidConfiguration("Platform is currently not supported") 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 source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.dtls_backend == "openssl": + self.requires("openssl/[>=1.1 <4]") + elif self.options.dtls_backend == "mbedtls": + self.requires("mbedtls/3.2.1") - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["WITH_EPOLL"] = self.options.with_epoll - self._cmake.definitions["ENABLE_DTLS"] = self.options.dtls_backend != None - self._cmake.definitions["DTLS_BACKEND"] = self.options.dtls_backend + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if self.options.dtls_backend in ["gnutls", "tinydtls"]: + raise ConanInvalidConfiguration(f"{self.options.dtls_backend} not available yet") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_EPOLL"] = self.options.with_epoll + tc.variables["ENABLE_DTLS"] = self.options.dtls_backend is not None + tc.variables["DTLS_BACKEND"] = self.options.dtls_backend if self.version != "cci.20200424": - self._cmake.definitions["ENABLE_DOCS"] = False - self._cmake.definitions["ENABLE_EXAMPLES"] = False + tc.variables["ENABLE_DOCS"] = False + tc.variables["ENABLE_EXAMPLES"] = False + tc.generate() - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc = CMakeDeps(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - library_name = "" - pkgconfig_name = "" if self.version == "cci.20200424": library_name = "coap" - pkgconfig_name = "libcoap-2" + pkgconfig_filename = "libcoap-2" else: library_name = "coap-3" - pkgconfig_name = "libcoap-3" + pkgconfig_filename = "libcoap-3" + + if self.options.dtls_backend: + pkgconfig_filename += f"-{self.options.dtls_backend}" self.cpp_info.components["coap"].names["cmake_find_package"] = "coap" self.cpp_info.components["coap"].names["cmake_find_package_multi"] = "coap" - pkgconfig_filename = "{}{}".format(pkgconfig_name, "-{}".format(self.options.dtls_backend) if self.options.dtls_backend else "") - self.cpp_info.components["coap"].names["pkg_config"] = pkgconfig_filename + self.cpp_info.components["coap"].set_property("pkg_config_name", pkgconfig_filename) self.cpp_info.components["coap"].libs = [library_name] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["coap"].system_libs = ["pthread"] if self.options.dtls_backend == "openssl": self.cpp_info.components["coap"].requires = ["openssl::openssl"] diff --git a/recipes/libcoap/all/test_package/CMakeLists.txt b/recipes/libcoap/all/test_package/CMakeLists.txt index b81eef988f5b5..56a2af225094f 100644 --- a/recipes/libcoap/all/test_package/CMakeLists.txt +++ b/recipes/libcoap/all/test_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(libcoap REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} libcoap::coap) +target_link_libraries(${PROJECT_NAME} libcoap::libcoap) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) -target_compile_definitions(${PROJECT_NAME} PUBLIC LIB_VERSION=${LIB_VERSION}) diff --git a/recipes/libcoap/all/test_package/conanfile.py b/recipes/libcoap/all/test_package/conanfile.py index 8bd5d5d915f3d..e1b4c4f5f3efb 100644 --- a/recipes/libcoap/all/test_package/conanfile.py +++ b/recipes/libcoap/all/test_package/conanfile.py @@ -1,24 +1,35 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os -from conans import ConanFile, CMake, tools -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" - def build(self): - cmake = CMake(self) + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) - version = self.deps_cpp_info["libcoap"].version; + def generate(self): + tc = CMakeToolchain(self) + version = self.dependencies["libcoap"].ref.version if version == "cci.20200424": - cmake.definitions["LIB_VERSION"] = 2 + tc.preprocessor_definitions["LIB_VERSION"] = "2" else: - cmake.definitions["LIB_VERSION"] = 3 + tc.preprocessor_definitions["LIB_VERSION"] = "3" + tc.generate() + 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") - bin_path = 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/libcoap/all/test_v1_package/CMakeLists.txt b/recipes/libcoap/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libcoap/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/libcoap/all/test_v1_package/conanfile.py b/recipes/libcoap/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0e1f34afd83e4 --- /dev/null +++ b/recipes/libcoap/all/test_v1_package/conanfile.py @@ -0,0 +1,20 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + version = self.deps_cpp_info["libcoap"].version + lib_version = 2 if version == "cci.20200424" else 3 + cmake.definitions["CMAKE_CXX_FLAGS"] = f"-DLIB_VERSION={lib_version}" + 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/libcoap/config.yml b/recipes/libcoap/config.yml index 2b90fe3a049b9..4bddf9ef347cf 100644 --- a/recipes/libcoap/config.yml +++ b/recipes/libcoap/config.yml @@ -1,6 +1,7 @@ ---- versions: - "cci.20200424": - folder: "all" + "4.3.3": + folder: all "4.3.0": - folder: "all" + folder: all + "cci.20200424": + folder: all From eccf43dc841fd437ff332ed8d2f6afaa4786387b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 03:05:34 +0200 Subject: [PATCH 2399/4087] (#18954) guetzli: migrate to Conan v2 * guetzli: migrate to Conan v2 * guetzli: fix MSVC build * guetzli: fix test_v1_package * guetzli: remove *.pdb * guetzli: no need to modify PATH --- recipes/guetzli/all/conandata.yml | 4 - recipes/guetzli/all/conanfile.py | 131 +++++++++++------- .../guetzli/all/patches/0001-no-debug.patch | 24 ---- recipes/guetzli/all/test_package/conanfile.py | 22 +-- .../guetzli/all/test_v1_package/conanfile.py | 12 ++ recipes/guetzli/config.yml | 1 - 6 files changed, 104 insertions(+), 90 deletions(-) delete mode 100644 recipes/guetzli/all/patches/0001-no-debug.patch create mode 100644 recipes/guetzli/all/test_v1_package/conanfile.py diff --git a/recipes/guetzli/all/conandata.yml b/recipes/guetzli/all/conandata.yml index d051b6e10260b..0581848785da0 100644 --- a/recipes/guetzli/all/conandata.yml +++ b/recipes/guetzli/all/conandata.yml @@ -2,7 +2,3 @@ sources: "1.0.1": url: "https://github.com/google/guetzli/archive/v1.0.1.tar.gz" sha256: "e52eb417a5c0fb5a3b08a858c8d10fa797627ada5373e203c196162d6a313697" -patches: - "1.0.1": - - base_path: "source_subfolder" - patch_file: "patches/0001-no-debug.patch" diff --git a/recipes/guetzli/all/conanfile.py b/recipes/guetzli/all/conanfile.py index acf147558e0f4..55d0965a2f54b 100644 --- a/recipes/guetzli/all/conanfile.py +++ b/recipes/guetzli/all/conanfile.py @@ -1,76 +1,105 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, MSBuild, tools -from conans.errors import ConanInvalidConfiguration import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import chdir, copy, get, replace_in_file, rm +from conan.tools.gnu import AutotoolsToolchain, Autotools, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, MSBuildToolchain, is_msvc, MSBuildDeps + +required_conan_version = ">=1.47.0" + class GoogleGuetzliConan(ConanFile): name = "guetzli" + description = "Perceptual JPEG encoder" license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://opensource.google/projects/guetzli" - description = "Perceptual JPEG encoder" - topics = "jpeg", "compression" - exports_sources = "patches/**" - settings = "os", "compiler", "arch" - generators = "pkg_config" - requires = ["libpng/1.6.37"] + topics = ("jpeg", "compression") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" - @property - def _is_msvc(self): - return self.settings.compiler == "Visual Studio" + def layout(self): + basic_layout(self, src_folder="src") - def configure(self): - if self.settings.os not in ["Linux", "Windows"]: - raise ConanInvalidConfiguration("conan recipe for guetzli v{0} is not \ - available in {1}.".format(self.version, self.settings.os)) - - if self.settings.compiler.get_safe("libcxx") == "libc++": - raise ConanInvalidConfiguration("conan recipe for guetzli v{0} cannot be\ - built with libc++".format(self.version)) + def requirements(self): + self.requires("libpng/1.6.40") + + def package_id(self): + del self.info.settings.compiler + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD", "Windows"]: + raise ConanInvalidConfiguration( + f"conan recipe for {self.ref} is not available in {self.settings.os}." + ) + if str(self.settings.compiler.get_safe("libcxx")) == "libc++": + raise ConanInvalidConfiguration( + f"conan recipe for {self.ref} cannot be built with libc++" + ) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "guetzli-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + tc = MSBuildToolchain(self) + tc.configuration = "Debug" if self.settings.build_type == "Debug" else "Release" + tc.generate() + deps = MSBuildDeps(self) + deps.generate() + else: + tc = AutotoolsToolchain(self) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + if is_msvc(self): + # TODO: to remove once https://github.com/conan-io/conan/pull/12817 available in conan client + platform_toolset = MSBuildToolchain(self).toolset + import_conan_generators = "" + for props_file in ["conantoolchain.props", "conandeps.props"]: + props_path = os.path.join(self.generators_folder, props_file) + if os.path.exists(props_path): + import_conan_generators += f"" + vcxproj_file = os.path.join(self.source_folder, "guetzli.vcxproj") + replace_in_file(self, vcxproj_file, + "v140", + f"{platform_toolset}") + if props_path: + replace_in_file(self, vcxproj_file, + '', + f'{import_conan_generators}') + else: + if self.settings.build_type not in ["Debug", "RelWithDebInfo"]: + replace_in_file(self, os.path.join(self.source_folder, "guetzli.make"), " -g ", " ") def build(self): self._patch_sources() - if self._is_msvc: + if is_msvc(self): msbuild = MSBuild(self) - with tools.chdir(self._source_subfolder): - msbuild.build("guetzli.sln", build_type="Release") + with chdir(self, self.source_folder): + msbuild.build("guetzli.sln") else: - autotools = AutoToolsBuildEnvironment(self) - with tools.chdir(self._source_subfolder): - env_vars = {"PKG_CONFIG_PATH": self.build_folder} - env_vars.update(autotools.vars) - with tools.environment_append(env_vars): - make_args = [ - "config=release", - "verbose=1'," - ] - autotools.make(args=make_args) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make() def package(self): - if self._is_msvc: - self.copy(os.path.join(self._source_subfolder, "bin", str(self.settings.arch), "Release", "guetzli.exe"), dst="bin", keep_path=False) - else: - self.copy(os.path.join(self._source_subfolder, "bin", "Release", "guetzli"), dst="bin", keep_path=False) - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - - def package_id(self): - del self.info.settings.compiler + for path in (self.source_path / "bin").rglob("guetzli*"): + copy(self, path.name, + dst=os.path.join(self.package_folder, "bin"), + src=path.parent) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + rm(self, "*.pdb", self.package_folder, recursive=True) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) - self.env_info.PATH.append(bindir) + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] diff --git a/recipes/guetzli/all/patches/0001-no-debug.patch b/recipes/guetzli/all/patches/0001-no-debug.patch deleted file mode 100644 index e3d119caf2292..0000000000000 --- a/recipes/guetzli/all/patches/0001-no-debug.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- guetzli.make -+++ guetzli.make -@@ -19,8 +19,8 @@ - INCLUDES += -I. -Ithird_party/butteraugli - FORCE_INCLUDE += - ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) -- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -g `pkg-config --cflags libpng` -- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -g -std=c++11 `pkg-config --cflags libpng` -+ ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 `pkg-config --cflags libpng` -+ ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -std=c++11 `pkg-config --cflags libpng` - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) - LIBS += - LDDEPS += -@@ -46,8 +46,8 @@ - INCLUDES += -I. -Ithird_party/butteraugli - FORCE_INCLUDE += - ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) -- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g `pkg-config --cflags libpng` -- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g -std=c++11 `pkg-config --cflags libpng` -+ ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) `pkg-config --cflags libpng` -+ ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++11 `pkg-config --cflags libpng` - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) - LIBS += - LDDEPS += diff --git a/recipes/guetzli/all/test_package/conanfile.py b/recipes/guetzli/all/test_package/conanfile.py index 49abdec557672..addf429c28646 100644 --- a/recipes/guetzli/all/test_package/conanfile.py +++ b/recipes/guetzli/all/test_package/conanfile.py @@ -1,16 +1,18 @@ import os -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run -class GoogleguetzliTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) def test(self): - bees_path = os.path.join(self.source_folder, "bees.png") - if not tools.cross_building(self.settings): - app = "guetzli" - if self.settings.os == "Windows": - app += ".exe" - self.run("{} --quality 84 {} bees.jpg".format(app, bees_path), - run_environment=True) + if can_run(self): + bees_path = os.path.join(self.source_folder, "bees.png") + self.run(f"guetzli --quality 84 {bees_path} bees.jpg") diff --git a/recipes/guetzli/all/test_v1_package/conanfile.py b/recipes/guetzli/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c30ef97cb4cf1 --- /dev/null +++ b/recipes/guetzli/all/test_v1_package/conanfile.py @@ -0,0 +1,12 @@ +import os + +from conans import ConanFile, tools + + +class GoogleguetzliTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def test(self): + bees_path = os.path.join(self.source_folder, os.pardir, "test_package", "bees.png") + if not tools.cross_building(self.settings): + self.run(f"guetzli --quality 84 {bees_path} bees.jpg", run_environment=True) diff --git a/recipes/guetzli/config.yml b/recipes/guetzli/config.yml index 312ec85b4db11..67af1aea3aa55 100644 --- a/recipes/guetzli/config.yml +++ b/recipes/guetzli/config.yml @@ -1,4 +1,3 @@ versions: "1.0.1": folder: "all" - From ced9e560b5b0a65dd4fc44f30a92b7b7d767a640 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 7 Nov 2023 10:28:50 +0900 Subject: [PATCH 2400/4087] (#20735) zeromq: add version 4.3.5, change license, add package_type * zeromq: add version 4.3.5, change license, add package_type * fix rpath issue on 4.3.5, fix license files name on 4.3.5 * make license attribute dual Co-authored-by: Jordan Williams * update license under 4.3.5 Co-authored-by: Jordan Williams * copy license file for each versions Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams --- recipes/zeromq/all/conandata.yml | 26 +++++++++++++++++++ recipes/zeromq/all/conanfile.py | 26 ++++++++++++++----- .../all/patches/0003-rpath-macos-4.3.5.patch | 22 ++++++++++++++++ recipes/zeromq/config.yml | 2 ++ 4 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 recipes/zeromq/all/patches/0003-rpath-macos-4.3.5.patch diff --git a/recipes/zeromq/all/conandata.yml b/recipes/zeromq/all/conandata.yml index 099a8577c05d9..7060e3ef64de2 100644 --- a/recipes/zeromq/all/conandata.yml +++ b/recipes/zeromq/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.5": + url: "https://github.com/zeromq/libzmq/releases/download/v4.3.5/zeromq-4.3.5.tar.gz" + sha256: "6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43" "4.3.4": url: "https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz" sha256: "c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5" @@ -9,14 +12,37 @@ sources: url: "https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz" sha256: "ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763" patches: + "4.3.5": + - patch_file: "patches/0003-rpath-macos-4.3.5.patch" + patch_description: "hardcoded full install path on local machine" + patch_type: "portability" + - patch_file: "patches/0004-cmake-minimum-required-first.patch" + patch_description: "exchange positions between project and cmake_minimum_required" + patch_type: "portability" "4.3.4": - patch_file: "patches/0003-rpath-macos-4.3.3.patch" + patch_description: "hardcoded full install path on local machine" + patch_type: "portability" - patch_file: "patches/0004-cmake-minimum-required-first.patch" + patch_description: "exchange positions between project and cmake_minimum_required" + patch_type: "portability" "4.3.3": - patch_file: "patches/0003-rpath-macos-4.3.3.patch" + patch_description: "hardcoded full install path on local machine" + patch_type: "portability" - patch_file: "patches/0004-cmake-minimum-required-first.patch" + patch_description: "exchange positions between project and cmake_minimum_required" + patch_type: "portability" "4.3.2": - patch_file: "patches/0001-problem-__try-and-__except-isn-t-universally-supported-on-windows.patch" + patch_description: "__try and __except isn't universally supported on windows" + patch_type: "portability" - patch_file: "patches/0002-problem-invalid-syntax-for-calling-convention-on-function.patch" + patch_description: "invalid syntax for calling convention on function pointer" + patch_type: "portability" - patch_file: "patches/0003-rpath-macos-4.3.2.patch" + patch_description: "hardcoded full install path on local machine" + patch_type: "portability" - patch_file: "patches/0004-cmake-minimum-required-first.patch" + patch_description: "exchange positions between project and cmake_minimum_required" + patch_type: "portability" diff --git a/recipes/zeromq/all/conanfile.py b/recipes/zeromq/all/conanfile.py index 128a7c91716bd..24e21533e207e 100644 --- a/recipes/zeromq/all/conanfile.py +++ b/recipes/zeromq/all/conanfile.py @@ -12,12 +12,12 @@ class ZeroMQConan(ConanFile): name = "zeromq" - homepage = "https://github.com/zeromq/libzmq" description = "ZeroMQ is a community of projects focused on decentralized messaging and computing" - topics = ("zmq", "libzmq", "message-queue", "asynchronous") + license = ("DocumentRef-ZeroMQ:LicenseRef-LGPL-3.0-or-later-ZeroMQ-Linking-Exception", "MPL-2.0") url = "https://github.com/conan-io/conan-center-index" - license = "LGPL-3.0" - + homepage = "https://github.com/zeromq/libzmq" + topics = ("zmq", "libzmq", "message-queue", "asynchronous") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -46,6 +46,10 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "4.3.5": + self.license = "MPL-2.0" + else: + self.license = "DocumentRef-ZeroMQ:LicenseRef-LGPL-3.0-or-later-ZeroMQ-Linking-Exception" def configure(self): if self.options.shared: @@ -56,7 +60,7 @@ def layout(self): def requirements(self): if self.options.encryption == "libsodium": - self.requires("libsodium/1.0.18") + self.requires("libsodium/1.0.19") if self.options.with_norm: self.requires("norm/1.5.9") @@ -100,7 +104,12 @@ def _patch_sources(self): cpp_info_sodium = self.dependencies["libsodium"].cpp_info sodium_config = cpp_info_sodium.get_property("cmake_file_name") or "libsodium" sodium_target = cpp_info_sodium.get_property("cmake_target_name") or "libsodium::libsodium" - find_sodium = "find_package(Sodium)" if Version(self.version) < "4.3.3" else "find_package(\"Sodium\")" + if Version(self.version) < "4.3.3": + find_sodium = "find_package(Sodium)" + elif Version(self.version) < "4.3.5": + find_sodium = "find_package(\"Sodium\")" + else: + find_sodium = "find_package(\"sodium\")" replace_in_file(self, cmakelists, find_sodium, f"find_package({sodium_config} REQUIRED CONFIG)") replace_in_file(self, cmakelists, "SODIUM_FOUND", f"{sodium_config}_FOUND") replace_in_file(self, cmakelists, "SODIUM_INCLUDE_DIRS", f"{sodium_config}_INCLUDE_DIRS") @@ -113,7 +122,10 @@ def build(self): cmake.build() def package(self): - copy(self, "COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) >= "4.3.5": + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + else: + copy(self, "COPYING*", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) diff --git a/recipes/zeromq/all/patches/0003-rpath-macos-4.3.5.patch b/recipes/zeromq/all/patches/0003-rpath-macos-4.3.5.patch new file mode 100644 index 0000000000000..05cc02222a9e2 --- /dev/null +++ b/recipes/zeromq/all/patches/0003-rpath-macos-4.3.5.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0346227..6c231b1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + # CMake build script for ZeroMQ + project(ZeroMQ) + +-if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin) ++if(1) + cmake_minimum_required(VERSION 3.0.2) + else() + cmake_minimum_required(VERSION 2.8.12) +@@ -95,7 +95,7 @@ set(ZMQ_OUTPUT_BASENAME + "zmq" + CACHE STRING "Output zmq library base name") + +-if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin) ++if(0) + # Find more information: https://cmake.org/Wiki/CMake_RPATH_handling + + # Apply CMP0042: MACOSX_RPATH is enabled by default diff --git a/recipes/zeromq/config.yml b/recipes/zeromq/config.yml index 218db624c1eea..492566041769b 100644 --- a/recipes/zeromq/config.yml +++ b/recipes/zeromq/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.5": + folder: all "4.3.4": folder: all "4.3.3": From 0289c0cfffd439467f63649379ee625fd985a5d7 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 7 Nov 2023 06:23:40 +0400 Subject: [PATCH 2401/4087] (#20785) openvino: ported upstream patch for C++23 support --- recipes/openvino/all/conandata.yml | 4 ++ .../2023.1.0/0007-compilation-c++23.patch | 38 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 recipes/openvino/all/patches/2023.1.0/0007-compilation-c++23.patch diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index 814349b52f916..9793599fa9b8d 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -49,3 +49,7 @@ patches: patch_description: "Support macos 14" patch_type: "portability" patch_source: "https://github.com/openvinotoolkit/openvino/pull/19946" + - patch_file: "patches/2023.1.0/0007-compilation-c++23.patch" + patch_description: "Compilation with C++23" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/20724" diff --git a/recipes/openvino/all/patches/2023.1.0/0007-compilation-c++23.patch b/recipes/openvino/all/patches/2023.1.0/0007-compilation-c++23.patch new file mode 100644 index 0000000000000..552078a68bae7 --- /dev/null +++ b/recipes/openvino/all/patches/2023.1.0/0007-compilation-c++23.patch @@ -0,0 +1,38 @@ +diff --git a/src/core/src/type.cpp b/src/core/src/type.cpp +index 7d6aef2c46..c75d9a7476 100644 +--- a/src/core/src/type.cpp ++++ b/src/core/src/type.cpp +@@ -37,7 +37,7 @@ std::string DiscreteTypeInfo::get_version() const { + if (version_id) { + return std::string(version_id); + } +- return nullptr; ++ return {}; + } + + DiscreteTypeInfo::operator std::string() const { +diff --git a/src/frontends/onnx/frontend/src/ops_bridge.hpp b/src/frontends/onnx/frontend/src/ops_bridge.hpp +index bbd6bfd129..4e2d2edb2b 100644 +--- a/src/frontends/onnx/frontend/src/ops_bridge.hpp ++++ b/src/frontends/onnx/frontend/src/ops_bridge.hpp +@@ -5,6 +5,7 @@ + #pragma once + + #include ++#include + #include + #include + #include +diff --git a/src/inference/src/dev/make_tensor.cpp b/src/inference/src/dev/make_tensor.cpp +index 2e319c04c5..5e3fa241ea 100644 +--- a/src/inference/src/dev/make_tensor.cpp ++++ b/src/inference/src/dev/make_tensor.cpp +@@ -520,7 +520,7 @@ public: + } + + void allocate() noexcept override { +- if (ie::TBlob::buffer() != tensor->data()) { ++ if ((void*)ie::TBlob::buffer() != tensor->data()) { + ie::TBlob::_allocator = + ie::details::make_pre_allocator(static_cast(tensor->data()), tensor->get_byte_size()); + ie::TBlob::allocate(); From 83fb2ed4a5804ff43b848fd278830ae2abda2a15 Mon Sep 17 00:00:00 2001 From: technoyes <76265781+technoyes@users.noreply.github.com> Date: Tue, 7 Nov 2023 03:32:15 +0100 Subject: [PATCH 2402/4087] (#20934) iconfontcppheaders: bump version to cci.20231102 with added Lucide font --- 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 ff2972012bdc3..9cba4ae5061fd 100644 --- a/recipes/iconfontcppheaders/all/conandata.yml +++ b/recipes/iconfontcppheaders/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231102": + sha256: 7618e844dcbfea2404c209e8b52158a37c2368a79cc77e94087375a8186442c4 + url: https://github.com/juliettef/IconFontCppHeaders/archive/41b304750e83c0a89375cc1834f65c1204308b4a/main.zip "cci.20231026": sha256: b65a0256820ce24541247eeb22843968164acc40786c017392e53c5aa5a58996 url: https://github.com/juliettef/IconFontCppHeaders/archive/b1700cdf6ca2f78f8d27321dfecdafd7c2d8ef08/main.zip diff --git a/recipes/iconfontcppheaders/all/conanfile.py b/recipes/iconfontcppheaders/all/conanfile.py index ba1e590ee75f0..5541ed9fd754d 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, Kenney game icons, Fontaudio, Codicons, Pictogrammers Material Design icons." + description = "Headers for icon fonts Font Awesome, Fork Awesome, Google Material Design, 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 8269ec2c3a4ef..4c1b72279193a 100644 --- a/recipes/iconfontcppheaders/config.yml +++ b/recipes/iconfontcppheaders/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20231102": + folder: all "cci.20231026": folder: all From cb9c57a1e9bff2513082cbcd0208f939fb077ab9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 7 Nov 2023 11:40:10 +0900 Subject: [PATCH 2403/4087] (#20938) nanosvg: add version cci.20231025 * nanosvg: add version cci.20231025 * small improvements --- recipes/nanosvg/all/conandata.yml | 3 +++ recipes/nanosvg/all/conanfile.py | 16 +++++++--------- recipes/nanosvg/all/test_package/conanfile.py | 1 + recipes/nanosvg/config.yml | 2 ++ 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/recipes/nanosvg/all/conandata.yml b/recipes/nanosvg/all/conandata.yml index 8191482a0d600..2efbe78b92b51 100644 --- a/recipes/nanosvg/all/conandata.yml +++ b/recipes/nanosvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231025": + url: "https://github.com/memononen/nanosvg/archive/cb0ae54e6b147ccdf85401ef3ef20f2c761252c0.tar.gz" + sha256: "33d743c4e6a2c2cd223c2d9a0ceffe9fb735198fc52ea1ac6140bed10959fdcd" "cci.20210904": url: "https://github.com/memononen/nanosvg/archive/ccdb1995134d340a93fb20e3a3d323ccb3838dd0.zip" sha256: "d45fb75b9652f45f3ab4e23e76d77c4a4db02939702d36def6fcd244fb0a44c6" diff --git a/recipes/nanosvg/all/conanfile.py b/recipes/nanosvg/all/conanfile.py index 907d8771861b8..5e4dbdbbe3aa8 100644 --- a/recipes/nanosvg/all/conanfile.py +++ b/recipes/nanosvg/all/conanfile.py @@ -10,21 +10,21 @@ class NanosvgConan(ConanFile): name = "nanosvg" description = "NanoSVG is a simple stupid single-header-file SVG parser." license = "Zlib" - topics = ("nanosvg", "svg", "parser", "header-only") - homepage = "https://github.com/memononen/nanosvg" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/memononen/nanosvg" + topics = ("nanosvg", "svg", "parser", "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], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -36,8 +36,6 @@ def package(self): def package_info(self): self.cpp_info.includedirs.append(os.path.join("include", "nanosvg")) self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/nanosvg/all/test_package/conanfile.py b/recipes/nanosvg/all/test_package/conanfile.py index 621a8ff8e6daf..959fb3ca5317a 100644 --- a/recipes/nanosvg/all/test_package/conanfile.py +++ b/recipes/nanosvg/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/nanosvg/config.yml b/recipes/nanosvg/config.yml index 4cfe8bfdf0bc4..376415f6ab6cf 100644 --- a/recipes/nanosvg/config.yml +++ b/recipes/nanosvg/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231025": + folder: all "cci.20210904": folder: all "20190405": From 9418a2c337ff3de29dda77a136849f65e322a219 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 7 Nov 2023 11:48:42 +0900 Subject: [PATCH 2404/4087] (#20944) c-blosc2: add version 2.11.1, remove older versions * c-blosc2: add version 2.11.1, remove older versions * disable avx512 default --- recipes/c-blosc2/all/conandata.yml | 28 +--- recipes/c-blosc2/all/conanfile.py | 15 ++- .../all/patches/2.11.1-0001-fix-cmake.patch | 124 +++++++++++++++++ .../all/patches/2.2.0-0001-fix-cmake.patch | 127 ------------------ recipes/c-blosc2/config.yml | 8 +- 5 files changed, 144 insertions(+), 158 deletions(-) create mode 100644 recipes/c-blosc2/all/patches/2.11.1-0001-fix-cmake.patch delete mode 100644 recipes/c-blosc2/all/patches/2.2.0-0001-fix-cmake.patch diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 24cbfc41731fd..7d653c5cb3247 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.1": + url: "https://github.com/Blosc/c-blosc2/archive/v2.11.1.tar.gz" + sha256: "1e9923e0f026eb6e6caee608b4b9a523837806076fc79409055a6386cf5de1ea" "2.10.5": url: "https://github.com/Blosc/c-blosc2/archive/v2.10.5.tar.gz" sha256: "a88f94bf839c1371aab8207a6a43698ceb92c72f65d0d7fe5b6e59f24c138b4d" @@ -20,16 +23,11 @@ sources: "2.4.3": url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz" sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036" - "2.4.2": - url: "https://github.com/Blosc/c-blosc2/archive/v2.4.2.tar.gz" - sha256: "763ded7a6286abd248a79b1560ce8bfda11018b699a450b3e43c529f284a5232" - "2.4.1": - url: "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.4.1.tar.gz" - sha256: "f09a43bfac563ceda611a213c799ca5359c3b629281e0a4f3a543e692a64a931" - "2.2.0": - url: "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.2.0.tar.gz" - sha256: "66f9977de26d6bc9ea1c0e623d873c3225e4fff709aa09b3335fd09d41d57c0e" patches: + "2.11.1": + - patch_file: "patches/2.11.1-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.10.5": - patch_file: "patches/2.10.5-0001-fix-cmake.patch" patch_description: "use cci package" @@ -58,15 +56,3 @@ patches: - patch_file: "patches/2.4.1-0001-fix-cmake.patch" patch_description: "use cci package" patch_type: "conan" - "2.4.2": - - patch_file: "patches/2.4.1-0001-fix-cmake.patch" - patch_description: "use cci package" - patch_type: "conan" - "2.4.1": - - patch_file: "patches/2.4.1-0001-fix-cmake.patch" - patch_description: "use cci package" - patch_type: "conan" - "2.2.0": - - patch_file: "patches/2.2.0-0001-fix-cmake.patch" - patch_description: "use cci package" - patch_type: "conan" diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 0c8d3e2c2406f..591fa3d30b1d6 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -1,4 +1,5 @@ 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 export_conandata_patches, apply_conandata_patches, get, copy, rm, rmdir @@ -23,7 +24,7 @@ class CBlosc2Conan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "simd_intrinsics": [None, "sse2", "avx2"], + "simd_intrinsics": [None, "sse2", "avx2", "avx512"], "with_lz4": [True, False], "with_zlib": [None, "zlib", "zlib-ng", "zlib-ng-compat"], "with_zstd": [True, False], @@ -73,9 +74,14 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") + def validate(self): + if Version(self.version) < "2.11.0" \ + and self.info.settings.arch in ["x86", "x86_64"] \ + and self.options.simd_intrinsics == "avx512": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support 'avx512' SIMD intrinsics") + def build_requirements(self): - if Version(self.version) >= "2.4.1": - self.tool_requires("cmake/[>=3.16.3 <4]") + self.tool_requires("cmake/[>=3.16.3 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -94,7 +100,8 @@ def generate(self): tc.cache_variables["BUILD_BENCHMARKS"] = False tc.cache_variables["BUILD_EXAMPLES"] = False simd_intrinsics = self.options.get_safe("simd_intrinsics", False) - tc.cache_variables["DEACTIVATE_AVX2"] = simd_intrinsics != "avx2" + tc.cache_variables["DEACTIVATE_AVX2"] = simd_intrinsics not in ["avx2", "avx512"] + tc.cache_variables["DEACTIVATE_AVX512"] = simd_intrinsics != "avx512" tc.cache_variables["DEACTIVATE_LZ4"] = not bool(self.options.with_lz4) tc.cache_variables["PREFER_EXTERNAL_LZ4"] = True tc.cache_variables["DEACTIVATE_ZLIB"] = self.options.with_zlib is None diff --git a/recipes/c-blosc2/all/patches/2.11.1-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.11.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..5a88b5696c4af --- /dev/null +++ b/recipes/c-blosc2/all/patches/2.11.1-0001-fix-cmake.patch @@ -0,0 +1,124 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bff2f36..581f189 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -171,26 +171,26 @@ else() + endif() + + if(PREFER_EXTERNAL_LZ4) +- find_package(LZ4) ++ find_package(lz4) + else() + message(STATUS "Using LZ4 internal sources.") + endif() + + if(NOT DEACTIVATE_ZLIB) + if(PREFER_EXTERNAL_ZLIB) +- find_package(ZLIB_NG) +- if(ZLIB_NG_FOUND) ++ find_package(zlib-ng) ++ if(zlib-ng_FOUND) + set(HAVE_ZLIB_NG TRUE) + else() + find_package(ZLIB) + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(NOT (zlib-ng_FOUND OR ZLIB_FOUND)) + message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") + endif() + endif() + +- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) ++ if(0) + message(STATUS "Using ZLIB-NG internal sources for ZLIB support.") + set(HAVE_ZLIB_NG TRUE) + add_definitions(-DZLIB_COMPAT) +@@ -211,8 +211,8 @@ endif() + + if(NOT DEACTIVATE_ZSTD) + if(PREFER_EXTERNAL_ZSTD) +- find_package(ZSTD) +- if(NOT ZSTD_FOUND) ++ find_package(zstd) ++ if(NOT zstd_FOUND) + message(STATUS "No ZSTD library found. Using internal sources.") + endif() + else() +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index bf8527d..d467346 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -79,15 +79,15 @@ set(INTERNAL_LIBS ${PROJECT_SOURCE_DIR}/internal-complibs) + # link dependencies + # "link" dependent targets via target_link_libraries (preferred) and + # manually add includes / libs for others +-if(LZ4_FOUND) ++if(lz4_FOUND) + if(BUILD_SHARED) +- target_include_directories(blosc2_shared PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc2_shared PUBLIC ${lz4_INCLUDE_DIR}) + endif() + if(BUILD_STATIC) +- target_include_directories(blosc2_static PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc2_static PUBLIC ${lz4_INCLUDE_DIR}) + endif() + if(BUILD_TESTS) +- target_include_directories(blosc_testing PUBLIC ${LZ4_INCLUDE_DIR}) ++ target_include_directories(blosc_testing PUBLIC ${lz4_INCLUDE_DIR}) + endif() + else() + set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4) +@@ -138,14 +138,14 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) ++ if(zstd_FOUND) + if(BUILD_SHARED) +- target_include_directories(blosc2_shared PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc2_shared PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc2_shared PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc2_shared PUBLIC ${zstd_LIBRARIES}) + endif() + if(BUILD_STATIC) +- target_include_directories(blosc2_static PUBLIC ${ZSTD_INCLUDE_DIR}) +- target_link_libraries(blosc2_static PUBLIC ${ZSTD_LIBRARY}) ++ target_include_directories(blosc2_static PUBLIC ${zstd_INCLUDE_DIR}) ++ target_link_libraries(blosc2_static PUBLIC ${zstd_LIBRARIES}) + endif() + if(BUILD_TESTS) + target_include_directories(blosc_testing PUBLIC ${ZSTD_INCLUDE_DIR}) +@@ -184,8 +184,8 @@ if(NOT WIN32) + set(LIBS ${LIBS} ${CMAKE_DL_LIBS}) + endif() + +-if(LZ4_FOUND) +- set(LIBS ${LIBS} ${LZ4_LIBRARY}) ++if(lz4_FOUND) ++ set(LIBS ${LIBS} ${lz4_LIBRARIES}) + else() + file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) + list(APPEND SOURCES ${LZ4_FILES}) +@@ -193,8 +193,8 @@ else() + endif() + + if(NOT DEACTIVATE_ZLIB) +- if(ZLIB_NG_FOUND) +- set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) ++ if(zlib-ng_FOUND) ++ set(LIBS ${LIBS} ${zlib-ng_LIBRARIES}) + elseif(ZLIB_FOUND) + set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) + else() +@@ -206,8 +206,8 @@ if(NOT DEACTIVATE_ZLIB) + endif() + + if(NOT DEACTIVATE_ZSTD) +- if(ZSTD_FOUND) +- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) ++ if(zstd_FOUND) ++ set(LIBS ${LIBS} ${zstd_LIBRARIES}) + else() + # Enable assembly code only when not using MSVC *and* x86 is there + if((NOT MSVC) AND COMPILER_SUPPORT_SSE2) # if SSE2 is here, this is an x86 platform diff --git a/recipes/c-blosc2/all/patches/2.2.0-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.2.0-0001-fix-cmake.patch deleted file mode 100644 index cef3c154b1ab2..0000000000000 --- a/recipes/c-blosc2/all/patches/2.2.0-0001-fix-cmake.patch +++ /dev/null @@ -1,127 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd8cb34..9c4cfe0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -68,7 +68,8 @@ if(NOT WIN32) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") - endif() - --cmake_minimum_required(VERSION 3.16.3) -+## TODO: dirty fix. -+cmake_minimum_required(VERSION 3.15) - if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.4) - cmake_policy(SET CMP0063 NEW) - endif() -@@ -144,26 +145,26 @@ if(BUILD_LITE) - endif() - - if(PREFER_EXTERNAL_LZ4) -- find_package(LZ4) -+ find_package(lz4) - else() - message(STATUS "Using LZ4 internal sources.") - endif() - - if(NOT DEACTIVATE_ZLIB) - if(PREFER_EXTERNAL_ZLIB) -- find_package(ZLIB_NG) -- if (ZLIB_NG_FOUND) -+ find_package(zlib-ng) -+ if (zlib-ng_FOUND) - set(HAVE_ZLIB_NG TRUE) - else() - find_package(ZLIB) - endif() - -- if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) -+ if(NOT (zlib-ng_FOUND OR ZLIB_FOUND)) - message(STATUS "No ZLIB found. Using ZLIB-NG internal sources.") - endif() - endif() - -- if (NOT (ZLIB_NG_FOUND OR ZLIB_FOUND)) -+ if (0) - message(STATUS "Using ZLIB-NG internal sources for ZLIB support.") - set(HAVE_ZLIB_NG TRUE) - add_definitions(-DZLIB_COMPAT) -@@ -184,7 +185,7 @@ endif() - - if(NOT DEACTIVATE_ZSTD) - if(PREFER_EXTERNAL_ZSTD) -- find_package(ZSTD) -+ find_package(zstd) - if(NOT ZSTD_FOUND) - message(STATUS "No ZSTD library found. Using internal sources.") - endif() -diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt -index 7f3eac6..c7afecd 100644 ---- a/blosc/CMakeLists.txt -+++ b/blosc/CMakeLists.txt -@@ -10,16 +10,16 @@ set(CMAKE_C_VISIBILITY_PRESET hidden) - - # includes - set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}) --if(LZ4_FOUND) -- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_INCLUDE_DIR}) -+if(lz4_FOUND) -+ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${lz4_INCLUDE_DIR}) - else() - set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.3) - set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_LOCAL_DIR}) - endif() - - if(NOT DEACTIVATE_ZLIB) -- if(ZLIB_NG_FOUND) -- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZLIB_NG_INCLUDE_DIR}) -+ if(zlib-ng_FOUND) -+ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zlib-ng_INCLUDE_DIR}) - elseif(ZLIB_FOUND) - set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR}) - else() -@@ -29,8 +29,8 @@ if(NOT DEACTIVATE_ZLIB) - endif() - - if(NOT DEACTIVATE_ZSTD) -- if(ZSTD_FOUND) -- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR}) -+ if(zstd_FOUND) -+ set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zstd_INCLUDE_DIR}) - else() - set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.2) - set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_LOCAL_DIR} -@@ -90,8 +90,8 @@ else() - endif() - endif() - --if(LZ4_FOUND) -- set(LIBS ${LIBS} ${LZ4_LIBRARY}) -+if(lz4_FOUND) -+ set(LIBS ${LIBS} ${lz4_LIBRARIES}) - else() - file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) - set(SOURCES ${SOURCES} ${LZ4_FILES}) -@@ -99,10 +99,10 @@ else() - endif() - - if(NOT DEACTIVATE_ZLIB) -- if(ZLIB_NG_FOUND) -- set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY}) -+ if(zlib-ng_FOUND) -+ set(LIBS ${LIBS} ${zlib-ng_LIBRARIES}) - elseif(ZLIB_FOUND) -- set(LIBS ${LIBS} ${ZLIB_LIBRARY}) -+ set(LIBS ${LIBS} ${ZLIB_LIBRARIES}) - else() - set(ZLIB_LOCAL_DIR ${INTERNAL_LIBS}/${ZLIB_NG_DIR}) - file(GLOB ZLIB_FILES ${ZLIB_LOCAL_DIR}/*.c) -@@ -112,8 +112,8 @@ if(NOT DEACTIVATE_ZLIB) - endif() - - if(NOT DEACTIVATE_ZSTD) -- if(ZSTD_FOUND) -- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) -+ if(zstd_FOUND) -+ set(LIBS ${LIBS} ${zstd_LIBRARIES}) - else() - # Enable assembly code only when not using MSVC *and* x86 is there - if((NOT MSVC) AND COMPILER_SUPPORT_SSE2) # if SSE2 is here, this is an x86 platform diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 6ed411197f509..f16864f76c963 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.1": + folder: all "2.10.5": folder: all "2.10.2": @@ -13,9 +15,3 @@ versions: folder: all "2.4.3": folder: all - "2.4.2": - folder: all - "2.4.1": - folder: all - "2.2.0": - folder: all From 16d287068fb6c009703c242b1e9c4c2c892b7a46 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 7 Nov 2023 12:27:42 +0900 Subject: [PATCH 2405/4087] (#20948) openexr: add version 3.2.1 * openexr: add version 3.2.1 * link math lib * fix overwrite system_libs --- recipes/openexr/3.x/conandata.yml | 23 ++++++++++++++++--- recipes/openexr/3.x/conanfile.py | 22 ++++++++++++++---- ....patch => 3.1.4-gcc5-bug-workaround.patch} | 0 .../patches/3.2.1-gcc5-bug-workaround.patch | 13 +++++++++++ recipes/openexr/3.x/test_package/conanfile.py | 1 + recipes/openexr/config.yml | 2 ++ 6 files changed, 53 insertions(+), 8 deletions(-) rename recipes/openexr/3.x/patches/{v3.1.4-gcc5-bug-workaround.patch => 3.1.4-gcc5-bug-workaround.patch} (100%) create mode 100644 recipes/openexr/3.x/patches/3.2.1-gcc5-bug-workaround.patch diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 40ca93a043145..2a41f1e247f6e 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.1": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.1.tar.gz" + sha256: "61e175aa2203399fb3c8c2288752fbea3c2637680d50b6e306ea5f8ffdd46a9b" "3.1.9": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.9.tar.gz" sha256: "103e902d3902800ab07b5f3a298be7afd2755312737b2cdbfa01326ff99dac07" @@ -9,9 +12,23 @@ sources: url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz" sha256: "93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec" patches: + "3.2.1": + - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" "3.1.9": - - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" + - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" "3.1.7": - - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" + - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" "3.1.5": - - patch_file: "patches/v3.1.4-gcc5-bug-workaround.patch" + - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" diff --git a/recipes/openexr/3.x/conanfile.py b/recipes/openexr/3.x/conanfile.py index 8d58713defa5c..71838c85f0a04 100644 --- a/recipes/openexr/3.x/conanfile.py +++ b/recipes/openexr/3.x/conanfile.py @@ -12,10 +12,10 @@ class OpenEXRConan(ConanFile): name = "openexr" description = "OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & " \ "Magic for use in computer imaging applications." - topics = ("openexr", "hdr", "image", "picture") license = "BSD-3-Clause" - homepage = "https://github.com/AcademySoftwareFoundation/openexr" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/AcademySoftwareFoundation/openexr" + topics = ("openexr", "hdr", "image", "picture") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -27,6 +27,10 @@ class OpenEXRConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 11 + def export_sources(self): export_conandata_patches(self) @@ -47,8 +51,8 @@ def requirements(self): self.requires("imath/3.1.9", transitive_headers=True) def validate(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, 11) + 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) @@ -118,6 +122,8 @@ def package_info(self): Iex = self._add_component("Iex") Iex.libs = [f"Iex{lib_suffix}"] Iex.requires = [self._conan_comp("IexConfig")] + if self.settings.os in ["Linux", "FreeBSD"]: + Iex.system_libs = ["m"] # OpenEXR::IlmThread IlmThread = self._add_component("IlmThread") @@ -126,12 +132,14 @@ def package_info(self): self._conan_comp("IlmThreadConfig"), self._conan_comp("Iex"), ] if self.settings.os in ["Linux", "FreeBSD"]: - IlmThread.system_libs = ["pthread"] + IlmThread.system_libs = ["pthread", "m"] # OpenEXR::OpenEXRCore OpenEXRCore = self._add_component("OpenEXRCore") OpenEXRCore.libs = [f"OpenEXRCore{lib_suffix}"] OpenEXRCore.requires = [self._conan_comp("OpenEXRConfig"), "zlib::zlib"] + if self.settings.os in ["Linux", "FreeBSD"]: + OpenEXRCore.system_libs = ["m"] # OpenEXR::OpenEXR OpenEXR = self._add_component("OpenEXR") @@ -140,11 +148,15 @@ def package_info(self): self._conan_comp("OpenEXRCore"), self._conan_comp("IlmThread"), self._conan_comp("Iex"), "imath::imath", ] + if self.settings.os in ["Linux", "FreeBSD"]: + OpenEXR.system_libs = ["m"] # OpenEXR::OpenEXRUtil OpenEXRUtil = self._add_component("OpenEXRUtil") OpenEXRUtil.libs = [f"OpenEXRUtil{lib_suffix}"] OpenEXRUtil.requires = [self._conan_comp("OpenEXR")] + if self.settings.os in ["Linux", "FreeBSD"]: + OpenEXRUtil.system_libs = ["m"] # Add tools directory to PATH self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/openexr/3.x/patches/v3.1.4-gcc5-bug-workaround.patch b/recipes/openexr/3.x/patches/3.1.4-gcc5-bug-workaround.patch similarity index 100% rename from recipes/openexr/3.x/patches/v3.1.4-gcc5-bug-workaround.patch rename to recipes/openexr/3.x/patches/3.1.4-gcc5-bug-workaround.patch diff --git a/recipes/openexr/3.x/patches/3.2.1-gcc5-bug-workaround.patch b/recipes/openexr/3.x/patches/3.2.1-gcc5-bug-workaround.patch new file mode 100644 index 0000000000000..fbf062e5d0184 --- /dev/null +++ b/recipes/openexr/3.x/patches/3.2.1-gcc5-bug-workaround.patch @@ -0,0 +1,13 @@ +diff --git a/src/lib/OpenEXR/ImfAttribute.h b/src/lib/OpenEXR/ImfAttribute.h +index bccd980..c8438f3 100644 +--- a/src/lib/OpenEXR/ImfAttribute.h ++++ b/src/lib/OpenEXR/ImfAttribute.h +@@ -108,7 +108,7 @@ public: + // that the type T is copyable/assignable/moveable. + //------------------------------------------------------------ + +- TypedAttribute () = default; ++ TypedAttribute () {}; + TypedAttribute (const T& value); + TypedAttribute (const TypedAttribute& other) = default; + TypedAttribute (TypedAttribute&& other) = default; diff --git a/recipes/openexr/3.x/test_package/conanfile.py b/recipes/openexr/3.x/test_package/conanfile.py index e5475f6ba1657..96999743e2fb9 100644 --- a/recipes/openexr/3.x/test_package/conanfile.py +++ b/recipes/openexr/3.x/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/openexr/config.yml b/recipes/openexr/config.yml index 99e37b9e0ffaa..60f47136f648e 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.1": + folder: "3.x" "3.1.9": folder: "3.x" "3.1.7": From 89d834847422596de54adc961ac0d4ffa1a6a1ad Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 7 Nov 2023 12:57:27 +0900 Subject: [PATCH 2406/4087] (#20950) sfml: add version 2.6.1, update stb --- recipes/sfml/all/conandata.yml | 19 ++++++++++++++++ recipes/sfml/all/conanfile.py | 6 ++--- .../2.6.1-0006-disable-warning-flags.patch | 22 +++++++++++++++++++ recipes/sfml/config.yml | 2 ++ 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 recipes/sfml/all/patches/2.6.1-0006-disable-warning-flags.patch diff --git a/recipes/sfml/all/conandata.yml b/recipes/sfml/all/conandata.yml index 500295e6f5faf..37e057f517a7d 100644 --- a/recipes/sfml/all/conandata.yml +++ b/recipes/sfml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.1": + url: "https://www.sfml-dev.org/files/SFML-2.6.1-sources.zip" + sha256: "5bf19e5c303516987f7f54d4ff1b208a0f9352ffa1cd55f992527016de0e8cb7" "2.6.0": url: "https://www.sfml-dev.org/files/SFML-2.6.0-sources.zip" sha256: "dc477fc7266641709046bd38628c909f5748bd2564b388cf6c750a9e20cdfef1" @@ -6,6 +9,22 @@ sources: url: "https://www.sfml-dev.org/files/SFML-2.5.1-sources.zip" sha256: "bf1e0643acb92369b24572b703473af60bac82caf5af61e77c063b779471bb7f" patches: + "2.6.1": + - patch_file: "patches/2.6.0-0001-cmake-robust-find-deps.patch" + patch_description: "Robust discovery of dependencies" + patch_type: "conan" + - patch_file: "patches/2.6.0-0003-allow-shared-MT.patch" + patch_description: "Allow to build shared SFML with MT runtime" + patch_type: "portability" + - patch_file: "patches/2.6.0-0004-fix-ios.patch" + patch_description: "Fix iOS detection logic in CMakeLists" + patch_type: "portability" + - patch_file: "patches/2.6.1-0006-disable-warning-flags.patch" + patch_description: "Disable warning flags which may cause compilation errors" + patch_type: "portability" + - patch_file: "patches/2.6.0-0007-use-cci-minimp3.patch" + patch_description: "use cci minimp3 recipe" + patch_type: "conan" "2.6.0": - patch_file: "patches/2.6.0-0001-cmake-robust-find-deps.patch" patch_description: "Robust discovery of dependencies" diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 87a8da53f965f..3ec973dc4a906 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -15,9 +15,9 @@ class SfmlConan(ConanFile): name = "sfml" description = "Simple and Fast Multimedia Library." license = "Zlib" - topics = ("multimedia", "games", "graphics", "audio") - homepage = "https://www.sfml-dev.org" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.sfml-dev.org" + topics = ("multimedia", "games", "graphics", "audio") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -61,7 +61,7 @@ def requirements(self): self.requires("xorg/system") if self.options.graphics: self.requires("freetype/2.13.0") - self.requires("stb/cci.20220909") + self.requires("stb/cci.20230920") if self.options.audio: self.requires("flac/1.4.2") self.requires("openal-soft/1.22.2") diff --git a/recipes/sfml/all/patches/2.6.1-0006-disable-warning-flags.patch b/recipes/sfml/all/patches/2.6.1-0006-disable-warning-flags.patch new file mode 100644 index 0000000000000..5d44e698e2bfb --- /dev/null +++ b/recipes/sfml/all/patches/2.6.1-0006-disable-warning-flags.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake +index 65f6977..645fa20 100644 +--- a/cmake/Macros.cmake ++++ b/cmake/Macros.cmake +@@ -61,7 +61,7 @@ macro(sfml_add_library target) + add_library(${target} ${THIS_SOURCES}) + endif() + +- set_file_warnings(${THIS_SOURCES}) ++# set_file_warnings(${THIS_SOURCES}) + + # define the export symbol of the module + string(REPLACE "-" "_" NAME_UPPER "${target}") +@@ -260,7 +260,7 @@ macro(sfml_add_example target) + add_executable(${target} ${target_input}) + endif() + +- set_file_warnings(${target_input}) ++# set_file_warnings(${target_input}) + + # set the debug suffix + set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d) diff --git a/recipes/sfml/config.yml b/recipes/sfml/config.yml index a8b7c0e911e63..7ce3d994f27a7 100644 --- a/recipes/sfml/config.yml +++ b/recipes/sfml/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.1": + folder: all "2.6.0": folder: all "2.5.1": From 80d278ff56db79fabee86ca6de97d579808ba6fa Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Tue, 7 Nov 2023 05:17:26 +0100 Subject: [PATCH 2407/4087] (#20951) function2: add version 4.2.4 --- recipes/function2/all/conandata.yml | 3 +++ recipes/function2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/function2/all/conandata.yml b/recipes/function2/all/conandata.yml index ef31d20ffc355..ae317e99a1e7e 100644 --- a/recipes/function2/all/conandata.yml +++ b/recipes/function2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.4": + url: "https://github.com/Naios/function2/archive/refs/tags/4.2.4.tar.gz" + sha256: "6081d0f7011ddb8555bd846caf1245d4bce62d83fee1403b9d247b66ed617a67" "4.2.3": url: "https://github.com/Naios/function2/archive/refs/tags/4.2.3.tar.gz" sha256: "097333b05e596280d3bc7a4769f1262931716cd8cc31ca7337b7af714085f3fc" diff --git a/recipes/function2/config.yml b/recipes/function2/config.yml index 0be889b562c58..a3a96ea0ace3a 100644 --- a/recipes/function2/config.yml +++ b/recipes/function2/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.4": + folder: all "4.2.3": folder: all "4.2.2": From 0077d7611afe40d03066d789379520be4165654a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 7 Nov 2023 18:48:54 +0900 Subject: [PATCH 2408/4087] (#20958) trompeloeil: add version 46 --- 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 6aebe5771a442..aa78e9ef74461 100644 --- a/recipes/trompeloeil/all/conandata.yml +++ b/recipes/trompeloeil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "46": + url: "https://github.com/rollbear/trompeloeil/archive/v46.tar.gz" + sha256: "dc2c856ab7716ef659f8df7fc5f6740a40e736089f05e0a8251d4ad3ad17ad83" "45": url: "https://github.com/rollbear/trompeloeil/archive/v45.tar.gz" sha256: "124b0aa45d84415193719376b6557fc1f1180cbfebf4dc4f7ca247cb404d6bd8" diff --git a/recipes/trompeloeil/config.yml b/recipes/trompeloeil/config.yml index 2353875452e46..4cd5ba1f148f2 100644 --- a/recipes/trompeloeil/config.yml +++ b/recipes/trompeloeil/config.yml @@ -1,4 +1,6 @@ versions: + "46": + folder: all "45": folder: all "43": From c3de08ab1f28bde1bb7e92ee00706c14a90cb260 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 15:32:21 +0200 Subject: [PATCH 2409/4087] (#20530) nmslib: add support for WITH_EXTRAS * nmslib: add support for WITH_EXTRAS * nmslib: WITH_EXTRAS is not available on MSVC * nmslib: fix handling of "with_extras" option on MSVC --- recipes/nmslib/all/conanfile.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/recipes/nmslib/all/conanfile.py b/recipes/nmslib/all/conanfile.py index cc8984e2be798..339645c679763 100644 --- a/recipes/nmslib/all/conanfile.py +++ b/recipes/nmslib/all/conanfile.py @@ -2,7 +2,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file from conan.tools.microsoft import is_msvc, check_min_vs @@ -25,10 +25,15 @@ class Nmslib(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "build_extras": [True, False], } default_options = { "shared": False, "fPIC": True, + "build_extras": True, + } + options_description = { + "build_extras": "Add support for Signature Quadratic Form Distance (SQFD). Not supported on MSVC.", } def export_sources(self): @@ -37,6 +42,10 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if is_msvc(self): + # Not available on MSVC + # https://github.com/nmslib/nmslib/blob/v2.1.1/similarity_search/include/space/space_sqfd.h#L19 + del self.options.build_extras def configure(self): if self.options.shared: @@ -45,6 +54,11 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.get_safe("build_extras"): + # Eigen is only used internally, no need for transitive_* + self.requires("eigen/3.4.0") + def validate(self): check_min_vs(self, 190) # TODO: add reason in message if is_msvc(self) and self.options.shared: @@ -57,13 +71,18 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + tc.variables["WITH_EXTRAS"] = self.options.get_safe("build_extras", False) tc.variables["WITHOUT_TESTS"] = True # Relocatable shared libs on macOS tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "similarity_search", "CMakeLists.txt"), + "EIGEN3", "Eigen3") # The finite-math-only optimization has no effect and can cause linking errors # when linked against glibc >= 2.31 replace_in_file(self, os.path.join(self.source_folder, "similarity_search", "CMakeLists.txt"), @@ -88,3 +107,5 @@ def package_info(self): self.cpp_info.system_libs = ["pthread", "m"] if self.settings.arch in ["x86", "x86_64"]: self.cpp_info.system_libs.append("mvec") + if self.options.get_safe("build_extras"): + self.cpp_info.defines.append("WITH_EXTRAS") From dabeda18d93a191a6afcc633200448d642ba5b96 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:38:52 +0100 Subject: [PATCH 2410/4087] (#20963) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index d1830a7101b4e..a63afb45c7821 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -7,6 +7,7 @@ required_for_references: - abseil - absent - acado +- accellera-uvm-systemc - access_private - acl - ada @@ -70,6 +71,7 @@ required_for_references: - aws-checksums - aws-crt-cpp - aws-kvs-pic +- aws-lambda-cpp - aws-libfabric - aws-sdk-cpp - b2 @@ -109,6 +111,7 @@ required_for_references: - breakpad - brigand - brotli +- brunsli - brynet - bshoshany-thread-pool - btyacc @@ -148,6 +151,7 @@ required_for_references: - cfitsio - cgal - cgif +- cglm - cgltf - cgns - chaiscript @@ -208,6 +212,7 @@ required_for_references: - cppitertools - cpprestsdk - cpptoml +- cpptrace - cppunit - cpputest - cppzmq @@ -220,9 +225,11 @@ required_for_references: - crc_cpp - create-dmg - croncpp +- crossguid - crowcpp-crow - crunch - cryptopp +- cryptopp-pem - cs_libguarded - csm - cspice @@ -258,6 +265,7 @@ required_for_references: - debug_assert - decimal_for_cpp - deco +- detools - di - dice-template-library - directx-headers @@ -281,6 +289,7 @@ required_for_references: - dtl - duckdb - duktape +- dylib - eabase - earcut - eastl @@ -298,6 +307,7 @@ required_for_references: - egl-headers - eigen - elfio +- elfutils - embag - embedded_ringbuf_cpp - embree3 @@ -444,6 +454,7 @@ required_for_references: - happly - harfbuzz - hash-library +- hayai - hazelcast-cpp-client - hdf4 - hdf5 @@ -463,9 +474,11 @@ required_for_references: - homog2d - http_parser - hunspell +- hwdata - hwloc - hyperscan - icecream-cpp +- iconfontcppheaders - icu - id3v2lib - iir1 @@ -505,6 +518,7 @@ required_for_references: - jom - jpcre2 - jpeg-compressor +- jsbsim - jsmn - json-c - json-schema-validator @@ -856,6 +870,8 @@ required_for_references: - nodesoup - norm - npcap +- nsimd +- nspr - nsync - ntv2 - nudb @@ -1160,6 +1176,8 @@ required_for_references: - stringzilla - strong_type - structopt +- stx +- subunit - sundials - svector - svgpp @@ -1182,6 +1200,7 @@ required_for_references: - tcl - tclap - tcp-wrappers +- tcsbank-uri-template - tensorflow-lite - tensorpipe - termcap From 922a3d6778c5b9fde9a9e9c1e3ca77bd2eaf9a86 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:53:28 +0100 Subject: [PATCH 2411/4087] (#20903) cthash: relax compiler version check --- recipes/cthash/all/conanfile.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/cthash/all/conanfile.py b/recipes/cthash/all/conanfile.py index 1ee2d6cd5274b..3cf7e23d7eec7 100644 --- a/recipes/cthash/all/conanfile.py +++ b/recipes/cthash/all/conanfile.py @@ -3,7 +3,6 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy from conan.tools.layout import basic_layout -from conan.tools.scm import Version from conan.tools.microsoft import is_msvc import os @@ -29,8 +28,6 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "Visual Studio": "16", - "msvc": "193", "gcc": "12.2", "clang": "15.0.7", "apple-clang": "14", @@ -48,8 +45,15 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + + def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: + if minimum_version and 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." ) From 85cac4857812332d74e5534aeab8edd5c765e6b4 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 8 Nov 2023 00:03:47 +0900 Subject: [PATCH 2412/4087] (#20957) aws-c-cal: add version 0.6.9 --- recipes/aws-c-cal/all/conandata.yml | 8 +++++ .../0002-apple-corefoundation-0.6.9.patch | 30 +++++++++++++++++++ recipes/aws-c-cal/config.yml | 2 ++ 3 files changed, 40 insertions(+) create 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 c1c97333e9288..a90192c07e6c7 100644 --- a/recipes/aws-c-cal/all/conandata.yml +++ b/recipes/aws-c-cal/all/conandata.yml @@ -1,4 +1,7 @@ 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" @@ -21,6 +24,11 @@ sources: url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.11.tar.gz" sha256: "ef46e121b2231a0b19afce8af4b32d77501df4d470e926990918456636cd83c0" 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" 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 new file mode 100644 index 0000000000000..1059e3dd42f14 --- /dev/null +++ b/recipes/aws-c-cal/all/patches/0002-apple-corefoundation-0.6.9.patch @@ -0,0 +1,30 @@ +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 7fb368557bdce..0db6c8cf45251 100644 --- a/recipes/aws-c-cal/config.yml +++ b/recipes/aws-c-cal/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.9": + folder: all "0.6.1": folder: all "0.5.20": From 58c19d84c95d59213cadf8130076155bbd3c762f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 7 Nov 2023 16:47:40 +0100 Subject: [PATCH 2413/4087] (#20902) crossguid: depend on util-linux-libuuid instead of libuuid recipe * depend on util-linux-libuuid instead of libuuid recipe * fix transitive traits, libuuid is private --- recipes/crossguid/all/conanfile.py | 4 ++-- recipes/crossguid/all/patches/0001-add-installer.patch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/crossguid/all/conanfile.py b/recipes/crossguid/all/conanfile.py index d47019a908277..562232c007b4a 100644 --- a/recipes/crossguid/all/conanfile.py +++ b/recipes/crossguid/all/conanfile.py @@ -44,8 +44,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if self.settings.os == "Linux": - self.requires("libuuid/1.0.3", transitive_headers=True, transitive_libs=True) + if not (self.settings.os in ["Windows", "Android"] or is_apple_os(self)): + self.requires("util-linux-libuuid/2.39.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/crossguid/all/patches/0001-add-installer.patch b/recipes/crossguid/all/patches/0001-add-installer.patch index 76e6912e18f32..c3a387902568c 100644 --- a/recipes/crossguid/all/patches/0001-add-installer.patch +++ b/recipes/crossguid/all/patches/0001-add-installer.patch @@ -15,8 +15,8 @@ index 761dbc6..b5ddd74 100644 endif() - include_directories(${LIBUUID_INCLUDE_DIR}) - target_link_libraries(xg ${LIBUUID_LIBRARY}) -+ include_directories(${libuuid_INCLUDE_DIR}) -+ target_link_libraries(xg ${libuuid_LIBRARY}) ++ # include_directories(${LIBUUID_INCLUDE_DIR}) ++ target_link_libraries(xg libuuid::libuuid) add_definitions(-DGUID_LIBUUID) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic") endif() From 4021ad3ea1ac27b5dfd4eeff48f446043614eab3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 18:07:59 +0200 Subject: [PATCH 2414/4087] (#20961) lager: add a new recipe * lager: add new recipe * lager: do not inject package path into the library --- recipes/lager/all/conandata.yml | 4 + recipes/lager/all/conanfile.py | 91 +++++++++++++++++++ recipes/lager/all/test_package/CMakeLists.txt | 8 ++ recipes/lager/all/test_package/conanfile.py | 26 ++++++ .../lager/all/test_package/test_package.cpp | 32 +++++++ recipes/lager/config.yml | 3 + 6 files changed, 164 insertions(+) create mode 100644 recipes/lager/all/conandata.yml create mode 100644 recipes/lager/all/conanfile.py create mode 100644 recipes/lager/all/test_package/CMakeLists.txt create mode 100644 recipes/lager/all/test_package/conanfile.py create mode 100644 recipes/lager/all/test_package/test_package.cpp create mode 100644 recipes/lager/config.yml diff --git a/recipes/lager/all/conandata.yml b/recipes/lager/all/conandata.yml new file mode 100644 index 0000000000000..e2389a84794f3 --- /dev/null +++ b/recipes/lager/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.1": + url: "https://github.com/arximboldi/lager/archive/refs/tags/v0.1.1.tar.gz" + sha256: "9e4743c3fe2c95c1653c3fd088a2200108f09d758725697831852dc91d15d174" diff --git a/recipes/lager/all/conanfile.py b/recipes/lager/all/conanfile.py new file mode 100644 index 0000000000000..296459306e38a --- /dev/null +++ b/recipes/lager/all/conanfile.py @@ -0,0 +1,91 @@ +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, rmdir, replace_in_file +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + +class LagerConan(ConanFile): + name = "lager" + description = "C++ library for value-oriented design using the unidirectional data-flow architecture" + license = "MIT" + homepage = "https://sinusoid.es/lager/" + url = "https://github.com/conan-io/conan-center-index" + topics = ("redux", "functional-programming", "interactive", "value-semantics", "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": "9", + "clang": "10", + "apple-clang": "11", + "msvc": "192", + "Visual Studio": "16.2", + } + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.83.0") + self.requires("zug/0.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 generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["lager_BUILD_EXAMPLES"] = False + tc.cache_variables["lager_BUILD_TESTS"] = False + tc.cache_variables["lager_BUILD_DOCS"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + # Do not inject the package folder path into the library. + # This is only used for examples. + replace_in_file(self, os.path.join(self.source_folder, "lager", "resources_path.hpp.in"), + '"@LAGER_PREFIX_PATH@"', "") + + 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")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + diff --git a/recipes/lager/all/test_package/CMakeLists.txt b/recipes/lager/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d147f04fcbbe1 --- /dev/null +++ b/recipes/lager/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(lager REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE lager::lager) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/lager/all/test_package/conanfile.py b/recipes/lager/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/lager/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/lager/all/test_package/test_package.cpp b/recipes/lager/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c61d64b17b9ae --- /dev/null +++ b/recipes/lager/all/test_package/test_package.cpp @@ -0,0 +1,32 @@ +// https://github.com/arximboldi/lager/blob/v0.1.1/test/deps.cpp +// +// lager - library for functional interactive c++ programs +// Copyright (C) 2017 Juan Pedro Bolivar Puente +// +// This file is part of lager. +// +// lager is free software: you can redistribute it and/or modify +// it under the terms of the MIT License, as detailed in the LICENSE +// file located at the root of this source code distribution, +// or here: +// + +#include +#include + +struct foo +{ + int x = 0; +}; + +struct bar +{ + const char* s = "lol"; +}; + +int main() { + auto x = lager::deps::with(foo{}, bar{}); + assert(x.get().x == 0); + assert(lager::get(x).s == std::string{"lol"}); + return 0; +} diff --git a/recipes/lager/config.yml b/recipes/lager/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/lager/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From d075219b9a950d83f0c4f1484dadcfecae7fda31 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 18:27:43 +0200 Subject: [PATCH 2415/4087] (#20964) uthash: add a new recipe --- recipes/uthash/all/conandata.yml | 4 ++ recipes/uthash/all/conanfile.py | 38 +++++++++++++ .../uthash/all/test_package/CMakeLists.txt | 7 +++ recipes/uthash/all/test_package/conanfile.py | 26 +++++++++ .../uthash/all/test_package/test_package.c | 53 +++++++++++++++++++ recipes/uthash/config.yml | 3 ++ 6 files changed, 131 insertions(+) create mode 100644 recipes/uthash/all/conandata.yml create mode 100644 recipes/uthash/all/conanfile.py create mode 100644 recipes/uthash/all/test_package/CMakeLists.txt create mode 100644 recipes/uthash/all/test_package/conanfile.py create mode 100644 recipes/uthash/all/test_package/test_package.c create mode 100644 recipes/uthash/config.yml diff --git a/recipes/uthash/all/conandata.yml b/recipes/uthash/all/conandata.yml new file mode 100644 index 0000000000000..cecad30c0f60f --- /dev/null +++ b/recipes/uthash/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.3.0": + url: "https://github.com/troydhanson/uthash/archive/e493aa90a2833b4655927598f169c31cfcdf7861.tar.gz" + sha256: "2ddb6665e82ffd7e87a27b97081bddf8f09520b7a2cfd6ab011541e7cde991fa" diff --git a/recipes/uthash/all/conanfile.py b/recipes/uthash/all/conanfile.py new file mode 100644 index 0000000000000..ae3832c2b5a97 --- /dev/null +++ b/recipes/uthash/all/conanfile.py @@ -0,0 +1,38 @@ +import os + +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + +class UthashConan(ConanFile): + name = "uthash" + description = "C macros for hash tables and more" + license = "BSD-1-Clause" + homepage = "https://troydhanson.github.io/uthash/" + url = "https://github.com/conan-io/conan-center-index" + topics = ("hash-table", "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 package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.h", + 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/uthash/all/test_package/CMakeLists.txt b/recipes/uthash/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..13e75e619c30a --- /dev/null +++ b/recipes/uthash/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(uthash REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE uthash::uthash) diff --git a/recipes/uthash/all/test_package/conanfile.py b/recipes/uthash/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/uthash/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/uthash/all/test_package/test_package.c b/recipes/uthash/all/test_package/test_package.c new file mode 100644 index 0000000000000..368ee976d0fb4 --- /dev/null +++ b/recipes/uthash/all/test_package/test_package.c @@ -0,0 +1,53 @@ +// https://github.com/troydhanson/uthash/blob/v2.3.0/tests/test1.c +// Copyright (c) 2005-2022, Troy D. Hanson https://troydhanson.github.io/uthash/ +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "uthash.h" +#include /* malloc */ +#include /* printf */ + +typedef struct example_user_t { + int id; + int cookie; + UT_hash_handle hh; +} example_user_t; + +int main() +{ + int i; + example_user_t *user, *users=NULL; + + /* create elements */ + for(i=0; i<10; i++) { + user = (example_user_t*)malloc(sizeof(example_user_t)); + if (user == NULL) { + exit(-1); + } + user->id = i; + user->cookie = i*i; + HASH_ADD_INT(users,id,user); + } + + for(user=users; user != NULL; user=(example_user_t*)(user->hh.next)) { + printf("user %d, cookie %d\n", user->id, user->cookie); + } + return 0; +} diff --git a/recipes/uthash/config.yml b/recipes/uthash/config.yml new file mode 100644 index 0000000000000..d724287fc23cb --- /dev/null +++ b/recipes/uthash/config.yml @@ -0,0 +1,3 @@ +versions: + "2.3.0": + folder: all From cc6bd0a1fc6fdd1e355e4f9ada9de79aeb0998a3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 7 Nov 2023 17:48:01 +0100 Subject: [PATCH 2416/4087] (#20974) microservice-essentials/all: bump deps * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * microservice-essentials/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/microservice-essentials/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/microservice-essentials/all/conanfile.py b/recipes/microservice-essentials/all/conanfile.py index f5d6bdeaef07d..86c82be4f2a4f 100644 --- a/recipes/microservice-essentials/all/conanfile.py +++ b/recipes/microservice-essentials/all/conanfile.py @@ -44,12 +44,12 @@ def build_requirements(self): def requirements(self): if self.options.with_examples: - self.requires("cpp-httplib/0.12.4") + self.requires("cpp-httplib/0.14.1") self.requires("nlohmann_json/3.11.2") self.requires("openssl/[>=3 <4]") - self.requires("grpc/1.50.1") + self.requires("grpc/1.54.3") if self.options.with_tests: - self.requires("catch2/3.3.2") + self.requires("catch2/3.4.0") self.requires("nlohmann_json/3.11.2") def source(self): From 8df1dd93a1b943e47b72886cda3a1daeeaf4653f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 7 Nov 2023 18:08:15 +0100 Subject: [PATCH 2417/4087] (#20900) volk: add 1.3.250.0, 1.3.261.1 and 1.3.268.0 + remove old versions * add 1.3.250.0, 1.3.261.1 and 1.3.268.0 * remove old versions --- recipes/volk/all/conandata.yml | 47 ++++++++-------------------------- recipes/volk/all/conanfile.py | 11 +++++++- recipes/volk/config.yml | 28 ++++---------------- 3 files changed, 25 insertions(+), 61 deletions(-) diff --git a/recipes/volk/all/conandata.yml b/recipes/volk/all/conandata.yml index 431eb95e238d7..ca101fd03c2bd 100644 --- a/recipes/volk/all/conandata.yml +++ b/recipes/volk/all/conandata.yml @@ -1,46 +1,19 @@ sources: + "1.3.268.0": + url: "https://github.com/zeux/volk/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" + sha256: "f1d30fac1cdc17a8fdc8c69f371663547f92db99cfd612962190bb1e2c8ce74d" + "1.3.261.1": + url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.261.1.tar.gz" + sha256: "052866c6cbff9efdf1e73e71c1d65070c36863730c95a4e93833500b4d894d69" + "1.3.250.0": + url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.250.0.tar.gz" + sha256: "5b6b6e8abcebe5a3e35ee7d1115d12dc976413da4f5dddf8b387e7769f92fc50" "1.3.243.0": url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.243.0.tar.gz" sha256: "5cd92d592227d2d4d9af1b66662d4f92f84bbf431572c43889689e15b6da1dca" "1.3.239.0": url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.239.0.tar.gz" sha256: "b628ae7d4e554c20763ac34e1fd18b87725c0c346e2a7106fa23701877bbac65" - "1.3.236.0": - url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.236.0.tar.gz" - sha256: "fba21aeccd8df4ce49fd0cce54cc9b1808e24e4283cad733f65fdd52f1729f16" - "1.3.231.1": - url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.231.1.tar.gz" - sha256: "fac8d3d295e88bcc6bfb2b729d2c4babb2ea04ccb39fd918a3471b2d756789b9" - "1.3.224.1": - url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.224.1.tar.gz" - sha256: "86505052a83d3085e34d22f8b9969e9961efc24c0c902fefb0b6b43d496f69b4" - "1.3.224.0": - url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.224.0.tar.gz" - sha256: "c9f9dd80dc8f3cd28b1d3d5716bb5e56be966b88aa9c54b18d793df8f60abc36" - "1.3.216.0": - url: "https://github.com/zeux/volk/archive/refs/tags/sdk-1.3.216.0.tar.gz" - sha256: "cbbbcad79d84081f21a3cfa3261819a4fa2012cd8e6965136bdebb444bae063c" - "1.3.204": - url: "https://github.com/zeux/volk/archive/refs/tags/1.3.204.tar.gz" - sha256: "7776e7f3c70f199579da33d2ccd7152ca8b96182fa98c31fbe80880cef0fdf70" "1.2.198": - url: "https://github.com/zeux/volk/archive/1.2.198.tar.gz" + url: "https://github.com/zeux/volk/archive/refs/tags/1.2.198.tar.gz" sha256: "8f3869d94ccce265eaef064b1be0af2d8de925e512d3413c1cf02591b99597e2" - "1.2.195": - url: "https://github.com/zeux/volk/archive/713ab8bfcd9d8e5fe78ccf85806c0b4e5c566f71.tar.gz" - sha256: "affba674733e8bbf58e36534a1aba1c41cb4a457f0db13b415347fb541a69c04" - "1.2.190": - url: "https://github.com/zeux/volk/archive/1.2.190.tar.gz" - sha256: "07f03720b8c70a626c98cc9545350538122bca9f853e6ed20ccad5a25d55fa4b" - "1.2.182": - url: "https://github.com/zeux/volk/archive/1.2.182.tar.gz" - sha256: "5b03943ed26ce9ddf465ec3022c0ffcb264572cf8d467e6e2aad1a8917629057" - "1.2.170": - url: "https://github.com/zeux/volk/archive/1.2.170.tar.gz" - sha256: "01f37fc0c904afd2eb8060cada73f903ab1cdae87c7c24e77585ca7fb9bafae4" - "1.2.162": - url: "https://github.com/zeux/volk/archive/1.2.162.tar.gz" - sha256: "ac4d9d6e88dee5a83ad176e2da57f1989ca2c6df155a0aeb5e18e9471aa4d777" - "1.2.140": - url: "https://github.com/zeux/volk/archive/1.2.140.tar.gz" - sha256: "f4041baf7a19a996a0dc96763703751b1b15918b3a893bb77669755702c645cb" diff --git a/recipes/volk/all/conanfile.py b/recipes/volk/all/conanfile.py index 43237f89b69e7..ec73b65420573 100644 --- a/recipes/volk/all/conanfile.py +++ b/recipes/volk/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -59,7 +60,15 @@ def generate(self): def _patch_sources(self): cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") replace_in_file(self, cmakelists, "find_package(Vulkan QUIET)", "find_package(VulkanHeaders REQUIRED)") - replace_in_file(self, cmakelists, "Vulkan::Vulkan", "Vulkan::Headers") + if Version(self.version) < "1.3.261": + replace_in_file(self, cmakelists, "Vulkan::Vulkan", "Vulkan::Headers") + else: + replace_in_file( + self, + cmakelists, + "if(VULKAN_HEADERS_INSTALL_DIR)", + "if(1)\nset(VOLK_INCLUDES ${VulkanHeaders_INCLUDE_DIRS})\nelseif(VULKAN_HEADERS_INSTALL_DIR)", + ) def build(self): self._patch_sources() diff --git a/recipes/volk/config.yml b/recipes/volk/config.yml index d4cfc91f2ca48..76e46074dd1b4 100644 --- a/recipes/volk/config.yml +++ b/recipes/volk/config.yml @@ -1,31 +1,13 @@ versions: - "1.3.243.0": - folder: "all" - "1.3.239.0": - folder: "all" - "1.3.236.0": + "1.3.268.0": folder: "all" - "1.3.231.1": + "1.3.261.1": folder: "all" - "1.3.224.1": + "1.3.250.0": folder: "all" - "1.3.224.0": - folder: "all" - "1.3.216.0": + "1.3.243.0": folder: "all" - "1.3.204": + "1.3.239.0": folder: "all" "1.2.198": folder: "all" - "1.2.195": - folder: "all" - "1.2.190": - folder: "all" - "1.2.182": - folder: "all" - "1.2.170": - folder: "all" - "1.2.162": - folder: "all" - "1.2.140": - folder: "all" From b78cab6ee35db97a145d3b6481355e313d2fc60d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 7 Nov 2023 19:19:34 +0100 Subject: [PATCH 2418/4087] (#20971) czmq/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/czmq/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/czmq/all/conanfile.py b/recipes/czmq/all/conanfile.py index d711089dd0289..bf8c54b3b8949 100644 --- a/recipes/czmq/all/conanfile.py +++ b/recipes/czmq/all/conanfile.py @@ -62,7 +62,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("zeromq/4.3.4", transitive_headers=True) + self.requires("zeromq/4.3.5", transitive_headers=True) if self.options.get_safe("with_libmicrohttpd"): self.requires("libmicrohttpd/0.9.75") if self.options.get_safe("with_libcurl"): @@ -70,9 +70,9 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.get_safe("with_libuuid"): - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") if self.options.get_safe("with_systemd"): - self.requires("libsystemd/252.4") + self.requires("libsystemd/253.10") def validate(self): if is_apple_os(self) and self.options.shared and self.settings.build_type == "Debug": From 692463659d45f4e42082215da0c26b9beb6d9849 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 7 Nov 2023 22:58:09 +0200 Subject: [PATCH 2419/4087] (#20322) litehtml: add v0.8 * litehtml: bump deps * litehtml: add v0.8 * litehtml: fix test * litehtml: fix test_package build on Windows * litehtml: simplify test_package.cpp For compatibility across versions --- recipes/litehtml/all/conandata.yml | 3 +++ recipes/litehtml/all/conanfile.py | 10 ++++++---- recipes/litehtml/all/test_package/test_package.cpp | 13 +++---------- recipes/litehtml/config.yml | 2 ++ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/recipes/litehtml/all/conandata.yml b/recipes/litehtml/all/conandata.yml index db5e01516c1d0..e50621e5200ff 100644 --- a/recipes/litehtml/all/conandata.yml +++ b/recipes/litehtml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8": + url: "https://github.com/litehtml/litehtml/archive/refs/tags/v0.8.tar.gz" + sha256: "b19edc049c0174f53941469a3c13f1f3210e8877c9c022ace93ac9cd6566b9f0" "cci.20211028": url: "https://github.com/litehtml/litehtml/archive/b095539f8dc5a723c2226b353e6815423b36e0c8.tar.gz" sha256: "c3795594fabeb060e21b9128ff22051986b393bd0b4e6000a5e171c71cabe224" diff --git a/recipes/litehtml/all/conanfile.py b/recipes/litehtml/all/conanfile.py index c3158edb62025..e5ccd7b936201 100644 --- a/recipes/litehtml/all/conanfile.py +++ b/recipes/litehtml/all/conanfile.py @@ -43,6 +43,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.version != "cci.20211028": + del self.options.with_icu def configure(self): if self.options.shared: @@ -53,8 +55,8 @@ def layout(self): def requirements(self): # FIXME: add gumbo requirement (it is vendored right now) - if self.options.with_icu: - self.requires("icu/72.1") + if self.options.get_safe("with_icu"): + self.requires("icu/73.2") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -74,7 +76,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False tc.variables["LITEHTML_UTF8"] = self.options.utf8 - tc.variables["USE_ICU"] = self.options.with_icu + tc.variables["USE_ICU"] = self.options.get_safe("with_icu", False) tc.variables["EXTERNAL_GUMBO"] = False # FIXME: add cci recipe, and use it unconditionally (option value should be True) tc.variables["EXTERNAL_XXD"] = self._with_xxd # FIXME: should be True unconditionally tc.generate() @@ -124,7 +126,7 @@ def package_info(self): self.cpp_info.components["litehtml_litehtml"].set_property("cmake_target_name", "litehtml") self.cpp_info.components["litehtml_litehtml"].libs = ["litehtml"] self.cpp_info.components["litehtml_litehtml"].requires = ["gumbo"] - if self.options.with_icu: + if self.options.get_safe("with_icu"): self.cpp_info.components["litehtml_litehtml"].requires.append("icu::icu") if True: # FIXME: remove once we use a vendored gumbo library diff --git a/recipes/litehtml/all/test_package/test_package.cpp b/recipes/litehtml/all/test_package/test_package.cpp index cce35fe42eaa9..a9b9bff01672e 100644 --- a/recipes/litehtml/all/test_package/test_package.cpp +++ b/recipes/litehtml/all/test_package/test_package.cpp @@ -2,16 +2,9 @@ #include "litehtml/tstring_view.h" #include +#include -int main() { - constexpr size_t offset = 5; - constexpr size_t length = 10; - - litehtml::tstring string = _t("the quick brown fox jumps over the lazy dog"); - litehtml::tstring_view view(string.data() + offset, length); - - for (auto c : view) { - std::cout << c << std::endl; - } +int main() { + litehtml::tstring_view view; return 0; } diff --git a/recipes/litehtml/config.yml b/recipes/litehtml/config.yml index 6a05e08e87321..d45793cdd8277 100644 --- a/recipes/litehtml/config.yml +++ b/recipes/litehtml/config.yml @@ -1,3 +1,5 @@ versions: + "0.8": + folder: all "cci.20211028": folder: all From d1fdfa7f6eb62735d1129bf4b090014b6ea18f2e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 8 Nov 2023 08:08:15 +0900 Subject: [PATCH 2420/4087] (#20982) octo-logger-cpp: add version 1.5.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 29be2c16d0289..92395bec9bd21 100644 --- a/recipes/octo-logger-cpp/all/conandata.yml +++ b/recipes/octo-logger-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.5.0.tar.gz" + sha256: "e62e4a54700f7c235111fd2b75c51d96f0b4deaf2c24ce7bc9ef1751ce31ea20" "1.4.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.4.0.tar.gz" sha256: "6aacbab0e57917a935e0f9741e52a57ecac21785ba49aaafec5775030208a153" diff --git a/recipes/octo-logger-cpp/config.yml b/recipes/octo-logger-cpp/config.yml index 1f90fb4ad7af4..76947dd2891c2 100644 --- a/recipes/octo-logger-cpp/config.yml +++ b/recipes/octo-logger-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: "all" "1.4.0": folder: "all" "1.2.0": From 8ad74c2dcfa90978e9292e869c14162a740fb75c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 02:51:59 +0200 Subject: [PATCH 2421/4087] (#19251) boost: update and apply rebuild-dependencies.py Co-authored-by: Daniel --- .../all/dependencies/dependencies-1.83.0.yml | 4 +- recipes/boost/all/rebuild-dependencies.py | 117 ++++++++---------- 2 files changed, 56 insertions(+), 65 deletions(-) diff --git a/recipes/boost/all/dependencies/dependencies-1.83.0.yml b/recipes/boost/all/dependencies/dependencies-1.83.0.yml index e6b009423a409..7200adb04009d 100644 --- a/recipes/boost/all/dependencies/dependencies-1.83.0.yml +++ b/recipes/boost/all/dependencies/dependencies-1.83.0.yml @@ -141,9 +141,7 @@ dependencies: - date_time - exception - system - timer: - - chrono - - system + timer: [] type_erasure: - thread unit_test_framework: diff --git a/recipes/boost/all/rebuild-dependencies.py b/recipes/boost/all/rebuild-dependencies.py index 05a14b8375a05..94a81a8173490 100755 --- a/recipes/boost/all/rebuild-dependencies.py +++ b/recipes/boost/all/rebuild-dependencies.py @@ -2,18 +2,17 @@ import argparse import dataclasses -from pathlib import Path +import json +import logging +import pprint import re import subprocess import tempfile +from pathlib import Path from typing import Dict, List, Tuple -from conans import tools -import logging -import pprint -import json import yaml - +from conan.tools.files import chdir log = logging.Logger("boost-dependency-builder") log.parent = logging.root @@ -111,6 +110,7 @@ def __init__(self, boost_version: str, boostdep_version: str, tmppath: Path, git self.tmppath = tmppath self.outputdir = outputdir self.unsafe = unsafe + self._boostdep = None @property def boost_path(self) -> Path: @@ -118,16 +118,16 @@ def boost_path(self) -> Path: def do_git_update(self) -> None: if not self.boost_path.exists(): - with tools.chdir(str(self.tmppath)): + with chdir(self, self.tmppath): print("Cloning boost git") subprocess.check_call(["git", "clone", "--", self.git_url, "boost"]) - with tools.chdir(str(self.boost_path)): + with chdir(self, self.boost_path): print("Checking out current master") subprocess.check_call(["git", "checkout", "origin/master"]) print("Removing master branch") subprocess.check_call(["git", "branch", "-D", "master"]) else: - with tools.chdir(str(self.boost_path)): + with chdir(self, self.boost_path): print("Updating git repo") subprocess.check_call(["git", "fetch", "origin"]) print("Removing all local changes to git repo") @@ -136,17 +136,17 @@ def do_git_update(self) -> None: subprocess.check_call(["git", "checkout", "origin/master"]) def do_git_submodule_update(self): - with tools.chdir(str(self.boost_path)): + with chdir(self, self.boost_path): if not self.unsafe: # De-init + init to make sure that boostdep won't detect a new or removed boost library print("De-init git submodules") subprocess.check_call(["git", "submodule", "deinit", "--all", "-f"]) try: - print("Checking out version {}".format(self.boost_version)) - subprocess.check_call(["git", "checkout", "boost-{}".format(self.boost_version)]) + print(f"Checking out version {self.boost_version}") + subprocess.check_call(["git", "checkout", f"boost-{self.boost_version}"]) except subprocess.CalledProcessError: - print("version {} does not exist".format(self.boost_version)) + print(f"version {self.boost_version} does not exist") raise print("Re-init git submodules") @@ -156,15 +156,11 @@ def do_git_submodule_update(self): subprocess.check_call(["git", "clean", "-d", "-f"]) def do_install_boostdep(self): - with tools.chdir(str(self.boost_path)): - print("Installing boostdep/{}".format(self.boostdep_version)) - subprocess.check_call(["conan", "install", "boostdep/{}@".format(self.boostdep_version), "-g", "json"]) - - @property - def _bin_paths(self): - with tools.chdir(str(self.boost_path)): - data = json.loads(open("conanbuildinfo.json").read()) - return data["dependencies"][0]["bin_paths"] + with chdir(self, self.boost_path): + print(f"Installing boostdep/{self.boostdep_version}") + cmd = ["conan", "install", "--tool-requires", f"boostdep/{self.boostdep_version}", "--format", "json", "-vquiet"] + info = json.loads(subprocess.check_output(cmd)) + self._boostdep = Path(info["graph"]["nodes"]["1"]["package_folder"]) / "bin" / "boostdep" _GREP_IGNORE_PREFIX = ("#", "\"") _GREP_IGNORE_PARTS = ("boost", "<", ">") @@ -228,32 +224,29 @@ def _sort_requirements(self, requirements: List[str]) -> Tuple[List[str], Dict[s return list(conan_requirements), system_libs, list(unknown_libs) def do_boostdep_collect(self) -> BoostDependencies: - with tools.chdir(str(self.boost_path)): - with tools.environment_append({"PATH": self._bin_paths}): - buildables = subprocess.check_output(["boostdep", "--list-buildable"], text=True) - buildables = buildables.splitlines() - log.debug("`boostdep --list--buildable` returned these buildables: %s", buildables) - - # modules = subprocess.check_output(["boostdep", "--list-modules"]) - # modules = modules.decode().splitlines() - - dep_modules = buildables - - dependency_tree = {} - buildable_dependencies = subprocess.check_output(["boostdep", "--list-buildable-dependencies"], text=True) - log.debug("boostdep --list-buildable-dependencies returns: %s", buildable_dependencies) - for line in buildable_dependencies.splitlines(): - if re.match(r"^[\s]*#.*", line): - continue - match = re.match(r"([\S]+)\s*=\s*([^;]+)\s*;\s*", line) - if not match: - continue - master = match.group(1) - dependencies = re.split(r"\s+", match.group(2).strip()) - dependency_tree[master] = dependencies - - log.debug("Using `boostdep --track-sources`, the following dependency tree was calculated:") - log.debug(pprint.pformat(dependency_tree)) + with chdir(self, self.boost_path): + buildables = subprocess.check_output([self._boostdep, "--list-buildable"], text=True) + buildables = buildables.splitlines() + log.debug("`boostdep --list--buildable` returned these buildables: %s", buildables) + + # modules = subprocess.check_output([self._boostdep_path, "--list-modules"]) + # modules = modules.decode().splitlines() + + dependency_tree = {} + buildable_dependencies = subprocess.check_output([self._boostdep, "--list-buildable-dependencies"], text=True) + log.debug("boostdep --list-buildable-dependencies returns: %s", buildable_dependencies) + for line in buildable_dependencies.splitlines(): + if re.match(r"^[\s]*#.*", line): + continue + match = re.match(r"([\S]+)\s*=\s*([^;]+)\s*;\s*", line) + if not match: + continue + master = match.group(1) + dependencies = re.split(r"\s+", match.group(2).strip()) + dependency_tree[master] = dependencies + + log.debug("Using `boostdep --track-sources`, the following dependency tree was calculated:") + log.debug(pprint.pformat(dependency_tree)) filtered_dependency_tree = {k: [d for d in v if d in buildables] for k, v in dependency_tree.items() if k in buildables} @@ -330,12 +323,12 @@ def _fix_dependencies(self, deptree: Dict[str, List[str]]) -> Dict[str, List[str remaining_tree = self.detect_cycles(deptree) if remaining_tree: - raise Exception("Dependency cycle detected. Remaining tree: {}".format(remaining_tree)) + raise Exception(f"Dependency cycle detected. Remaining tree: {remaining_tree}") return deptree @staticmethod def _boostify_library(lib: str) -> str: - return "boost_{}".format(lib) + return f"boost_{lib}" def do_create_libraries(self, boost_dependencies: BoostDependencies): libraries = {} @@ -343,14 +336,14 @@ def do_create_libraries(self, boost_dependencies: BoostDependencies): # Look for the names of libraries in Jam build files for buildable in boost_dependencies.buildables: - construct_jam = lambda jam_ext : self.boost_path / "libs" / buildable / "build" / "Jamfile{}".format(jam_ext) + construct_jam = lambda jam_ext : self.boost_path / "libs" / buildable / "build" / f"Jamfile{jam_ext}" try: buildable_jam = next(construct_jam(jam_ext) for jam_ext in ("", ".v2") if construct_jam(jam_ext).is_file()) except StopIteration: - raise Exception("Cannot find jam build file for {}".format(buildable)) + raise Exception(f"Cannot find jam build file for {buildable}") jam_text = buildable_jam.read_text() buildable_libs = re.findall("[ \n](boost-)?lib ([a-zA-Z0-9_]+)[ \n]", jam_text) - buildable_libs = set("boost_{}".format(lib) if lib_prefix else lib for lib_prefix, lib in buildable_libs) + buildable_libs = set(f"boost_{lib}" if lib_prefix else lib for lib_prefix, lib in buildable_libs) buildable_libs = set(l[len("boost_"):] for l in buildable_libs if l.startswith("boost_")) # list(filter(lambda l: l.startswith("boost"), buildable_libs)) if not buildable_libs: @@ -358,17 +351,17 @@ def do_create_libraries(self, boost_dependencies: BoostDependencies): if buildable == "python": buildable_libs.add("python") if not buildable_libs: - raise Exception("Cannot find any library for buildable {}".format(buildable)) + raise Exception(f"Cannot find any library for buildable {buildable}") if buildable in buildable_libs: - libraries[buildable] = ["boost_{}".format(buildable)] + libraries[buildable] = [f"boost_{buildable}"] buildable_libs.remove(buildable) else: libraries[buildable] = [] module_provides_extra[buildable] = buildable_libs for buildable_dep in buildable_libs: boost_dependencies.export.dependencies[buildable_dep] = [buildable] - libraries[buildable_dep] = ["boost_{}".format(buildable_dep)] + libraries[buildable_dep] = [f"boost_{buildable_dep}"] # Boost.Test: unit_test_framework depends on all libraries of Boost.Test if "unit_test_framework" in boost_dependencies.export.dependencies and "test" in module_provides_extra: @@ -394,7 +387,7 @@ def do_create_libraries(self, boost_dependencies: BoostDependencies): @property def _outputpath(self) -> Path: - return self.outputdir / "dependencies-{}.yml".format(self.boost_version) + return self.outputdir / f"dependencies-{self.boost_version}.yml" @classmethod def _sort_item(cls, item): @@ -423,7 +416,7 @@ def do_create_dependency_file(self) -> None: data = self._sort_item(data) - print("Creating {}".format(self.outputdir)) + print(f"Creating {self.outputdir}") with self._outputpath.open("w") as fout: yaml.dump(data, fout) @@ -432,7 +425,7 @@ def main(args=None) -> int: parser = argparse.ArgumentParser() parser.add_argument("--verbose", dest="verbose", action="store_true", help="verbose output") parser.add_argument("-t", dest="tmppath", help="temporary folder where to clone boost (default is system temporary folder)") - parser.add_argument("-d", dest="boostdep_version", default="1.75.0", type=str, help="boostdep version") + parser.add_argument("-d", dest="boostdep_version", default="1.82.0", type=str, help="boostdep version") parser.add_argument("-u", dest="git_url", default=BOOST_GIT_URL, help="boost git url") parser.add_argument("-U", dest="git_update", action="store_true", help="update the git repo") parser.add_argument("-o", dest="outputdir", default=None, type=Path, help="output dependency dir") @@ -449,10 +442,10 @@ def main(args=None) -> int: if not ns.tmppath: ns.tmppath = Path(tempfile.gettempdir()) - print("Temporary folder is {}".format(ns.tmppath)) + print(f"Temporary folder is {ns.tmppath}") if not ns.outputdir: ns.outputdir = Path("dependencies") - print("Dependencies folder is {}".format(ns.outputdir)) + print(f"Dependencies folder is {ns.outputdir}") ns.outputdir.mkdir(exist_ok=True) @@ -465,7 +458,7 @@ def main(args=None) -> int: boost_versions = [ns.boost_version] for boost_version in boost_versions: - print("Starting {}".format(boost_version)) + print(f"Starting {boost_version}") boost_collector = BoostDependencyBuilder( boost_version=boost_version, boostdep_version=ns.boostdep_version, From cbea1feea420cd02be3e06eacd5f6af0003312cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 7 Nov 2023 22:05:28 -0500 Subject: [PATCH 2422/4087] (#20980) arrow: add version 14.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 5dcac7a820434..12457be879aea 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "14.0.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.0/apache-arrow-14.0.0.tar.gz?action=download" + sha256: "4eb0da50ec071baf15fc163cb48058931e006f1c862c8def0e180fd07d531021" "13.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-13.0.0/apache-arrow-13.0.0.tar.gz?action=download" sha256: "35dfda191262a756be934eef8afee8d09762cad25021daa626eb249e251ac9e6" diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index 7a1c1ea27e611..6d6f4698bd336 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "14.0.0": + folder: all "13.0.0": folder: all "12.0.1": From e7714ab8ff74149bfdbd71a41c7192091ebe4953 Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Wed, 8 Nov 2023 08:47:28 +0100 Subject: [PATCH 2423/4087] (#20989) emio: add version 0.6.1 --- recipes/emio/all/conandata.yml | 3 +++ recipes/emio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index c729fb82ca3f5..9c81336117348 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.1": + url: "https://github.com/viatorus/emio/archive/0.6.1.tar.gz" + sha256: "118bb67581d68b33d9764e016700014ad63b68520b5786c0d12036f33bcef0dc" "0.6.0": url: "https://github.com/viatorus/emio/archive/0.6.0.tar.gz" sha256: "789c0c1b73d2add1caef9ffd90bc2dd0286e31a0f0f5dc12ff206eb32c394a98" diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index 03142756fc88c..01ed4761ab018 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.1": + folder: all "0.6.0": folder: all "0.5.0": From 97b43dd42677f69b0ccb1dc33850bbe5d8167e8d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 8 Nov 2023 09:31:04 +0100 Subject: [PATCH 2424/4087] (#20972) fakeit/all: bump deps * fakeit/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * fakeit/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * fakeit/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/fakeit/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fakeit/all/conanfile.py b/recipes/fakeit/all/conanfile.py index 3676955b84f0f..93fa295330a4d 100644 --- a/recipes/fakeit/all/conanfile.py +++ b/recipes/fakeit/all/conanfile.py @@ -40,7 +40,7 @@ def requirements(self): elif self.options.integration == "gtest": self.requires("gtest/1.14.0") elif self.options.integration == "qtest": - self.requires("qt/6.3.0") + self.requires("qt/6.6.0") elif self.options.integration == "standalone": pass else: From 3ed689b3d0a7de4a090e13a59c11f6ccbd31c8ad Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 8 Nov 2023 18:58:34 +0900 Subject: [PATCH 2425/4087] (#20978) aws-c-io: update dependencies --- recipes/aws-c-io/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 73f6dfc98f678..f84be2b82b611 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -49,11 +49,11 @@ def requirements(self): self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.13") else: - self.requires("aws-c-common/0.9.0", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.1", transitive_headers=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9", transitive_headers=True) if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.3.50") + self.requires("s2n/1.3.55") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ba48b0e0d08aac31604a3438248a6478714fc366 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 12:48:23 +0200 Subject: [PATCH 2426/4087] (#20916) easyloggingpp: add -fPIC option --- recipes/easyloggingpp/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/easyloggingpp/all/conanfile.py b/recipes/easyloggingpp/all/conanfile.py index 5410892575c4a..7cacb1c38e312 100644 --- a/recipes/easyloggingpp/all/conanfile.py +++ b/recipes/easyloggingpp/all/conanfile.py @@ -18,6 +18,7 @@ class EasyloggingppConan(ConanFile): package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { + "fPIC": [True, False], "enable_crash_log": [True, False], "enable_thread_safe": [True, False], "enable_debug_errors": [True, False], @@ -33,6 +34,7 @@ class EasyloggingppConan(ConanFile): "lib_utc_datetime": [True, False], } default_options = { + "fPIC": True, "enable_crash_log": False, "enable_thread_safe": False, "enable_debug_errors": False, @@ -48,6 +50,10 @@ class EasyloggingppConan(ConanFile): "lib_utc_datetime": False, } + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + def layout(self): cmake_layout(self, src_folder="src") From d3706c389c71ae9584d856c5039ecd15876c979d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 12:29:34 +0100 Subject: [PATCH 2427/4087] (#20919) zstd: do not remove import lib for mingw if shared & build_programs * do not remove import lib for mingw if shared & build_programs * simplify pattern * Revert "simplify pattern" This reverts commit 54343e3872d3f33fbc7194a2ea951263357d3e00. --- recipes/zstd/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/zstd/all/conanfile.py b/recipes/zstd/all/conanfile.py index 6b5292a15a293..5920d50771523 100644 --- a/recipes/zstd/all/conanfile.py +++ b/recipes/zstd/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir, rm from conan.tools.scm import Version from conan.tools.microsoft import is_msvc +import glob import os required_conan_version = ">=1.53.0" @@ -88,8 +89,10 @@ def package(self): if self.options.shared and self.options.build_programs: # If we build programs we have to build static libs (see logic in generate()), # but if shared is True, we only want shared lib in package folder. - rm(self, "*.a", os.path.join(self.package_folder, "lib")) rm(self, "*_static.*", os.path.join(self.package_folder, "lib")) + for lib in glob.glob(os.path.join(self.package_folder, "lib", "*.a")): + if not lib.endswith(".dll.a"): + os.remove(lib) def package_info(self): zstd_cmake = "libzstd_shared" if self.options.shared else "libzstd_static" From 8ec74cbf36f887c62fc39350b991ff4de420aee7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 13:28:41 +0100 Subject: [PATCH 2428/4087] (#20915) vorbis: fix MinGW shared + modernize more for conan v2 * modernize more for conan v2 - add package_type - use export_conandata_patches - use rm_safe - remove CMAKE_POLICY_DEFAULT_CMP0077 workaround (not needed after conan 1.54.0) * fix MinGW shared --- recipes/vorbis/all/conandata.yml | 9 +++++- recipes/vorbis/all/conanfile.py | 32 +++++++------------ ...3.6-0001-link-libm-find-package-ogg.patch} | 0 .../patches/1.3.7-0001-mingw-shared-def.patch | 29 +++++++++++++++++ 4 files changed, 48 insertions(+), 22 deletions(-) rename recipes/vorbis/all/patches/{link-libm-find-package-ogg.patch => 1.3.6-0001-link-libm-find-package-ogg.patch} (100%) create mode 100644 recipes/vorbis/all/patches/1.3.7-0001-mingw-shared-def.patch diff --git a/recipes/vorbis/all/conandata.yml b/recipes/vorbis/all/conandata.yml index 07b65e3a51126..870e86ced00f7 100644 --- a/recipes/vorbis/all/conandata.yml +++ b/recipes/vorbis/all/conandata.yml @@ -6,5 +6,12 @@ sources: url: "https://github.com/xiph/vorbis/archive/v1.3.6.tar.gz" sha256: "43fc4bc34f13da15b8acfa72fd594678e214d1cab35fc51d3a54969a725464eb" patches: + "1.3.7": + - patch_file: "patches/1.3.7-0001-mingw-shared-def.patch" + patch_description: "MinGW: fix .def file for shared lib" + patch_type: "portability" + patch_source: "https://github.com/xiph/vorbis/pull/76" "1.3.6": - - patch_file: "patches/link-libm-find-package-ogg.patch" + - patch_file: "patches/1.3.6-0001-link-libm-find-package-ogg.patch" + patch_description: "CMake: robust discovery and link of libm and Ogg" + patch_type: "conan" diff --git a/recipes/vorbis/all/conanfile.py b/recipes/vorbis/all/conanfile.py index 93e2aa3a2a5d5..58d7504b2daef 100644 --- a/recipes/vorbis/all/conanfile.py +++ b/recipes/vorbis/all/conanfile.py @@ -1,19 +1,19 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.54.0" class VorbisConan(ConanFile): name = "vorbis" description = "The VORBIS audio codec library" - topics = ("vorbis", "audio", "codec") + topics = ("audio", "codec") url = "https://github.com/conan-io/conan-center-index" homepage = "https://xiph.org/vorbis/" license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "build_type", "compiler" options = { "shared": [True, False], @@ -25,8 +25,7 @@ class VorbisConan(ConanFile): } def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -35,31 +34,22 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass - - def requirements(self): - self.requires("ogg/1.3.5", transitive_headers=True, transitive_libs=True) + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + self.requires("ogg/1.3.5", transitive_headers=True, transitive_libs=True) + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) # Relocatable shared lib on Macos 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" tc.generate() cd = CMakeDeps(self) cd.generate() diff --git a/recipes/vorbis/all/patches/link-libm-find-package-ogg.patch b/recipes/vorbis/all/patches/1.3.6-0001-link-libm-find-package-ogg.patch similarity index 100% rename from recipes/vorbis/all/patches/link-libm-find-package-ogg.patch rename to recipes/vorbis/all/patches/1.3.6-0001-link-libm-find-package-ogg.patch diff --git a/recipes/vorbis/all/patches/1.3.7-0001-mingw-shared-def.patch b/recipes/vorbis/all/patches/1.3.7-0001-mingw-shared-def.patch new file mode 100644 index 0000000000000..e29a62c280484 --- /dev/null +++ b/recipes/vorbis/all/patches/1.3.7-0001-mingw-shared-def.patch @@ -0,0 +1,29 @@ +--- a/win32/vorbis.def ++++ b/win32/vorbis.def +@@ -1,6 +1,6 @@ + ; vorbis.def + ; +-LIBRARY ++ + EXPORTS + _floor_P + _mapping_P +--- a/win32/vorbisenc.def ++++ b/win32/vorbisenc.def +@@ -1,6 +1,5 @@ + ; vorbisenc.def + ; +-LIBRARY + + EXPORTS + vorbis_encode_init +--- a/win32/vorbisfile.def ++++ b/win32/vorbisfile.def +@@ -1,6 +1,6 @@ + ; vorbisfile.def + ; +-LIBRARY ++ + EXPORTS + ov_clear + ov_open From 2886c99f0fc2b890b7ec2aadc314c430238ed084 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 15:04:46 +0200 Subject: [PATCH 2429/4087] (#18905) iceoryx: migrate to Conan v2 * iceoryx: migrate to Conan v2 * iceoryx: restore VirtualRunEnv in test_package * iceoryx: tidy * iceoryx: use acl::acl target in project CMakeLists.txt * iceoryx: add v2.0.3 * iceoryx: add 1.0.3, remove old versions This also fixes a missing include error in 1.0.0. --- recipes/iceoryx/all/CMakeLists.txt | 10 +- recipes/iceoryx/all/conandata.yml | 45 +--- recipes/iceoryx/all/conanfile.py | 204 +++++++++--------- .../patches/1.0.0-0001-fix-find-toml.patch | 8 - .../patches/2.0.X-0001-fix-find-toml.patch | 12 -- .../iceoryx/all/test_package/CMakeLists.txt | 15 +- recipes/iceoryx/all/test_package/conanfile.py | 22 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../iceoryx/all/test_v1_package/conanfile.py | 21 ++ recipes/iceoryx/config.yml | 10 +- 10 files changed, 171 insertions(+), 184 deletions(-) delete mode 100644 recipes/iceoryx/all/patches/2.0.X-0001-fix-find-toml.patch create mode 100644 recipes/iceoryx/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/iceoryx/all/test_v1_package/conanfile.py diff --git a/recipes/iceoryx/all/CMakeLists.txt b/recipes/iceoryx/all/CMakeLists.txt index ae4d7a261b19e..eb44e488fa5bd 100644 --- a/recipes/iceoryx/all/CMakeLists.txt +++ b/recipes/iceoryx/all/CMakeLists.txt @@ -1,7 +1,9 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.12) project(cmake_wrapper) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(acl) +if(acl_FOUND) + link_libraries(acl::acl) +endif() -add_subdirectory("source_subfolder/iceoryx_meta") +add_subdirectory(src/iceoryx_meta) diff --git a/recipes/iceoryx/all/conandata.yml b/recipes/iceoryx/all/conandata.yml index 638b5224b83e0..15956d577d86b 100644 --- a/recipes/iceoryx/all/conandata.yml +++ b/recipes/iceoryx/all/conandata.yml @@ -1,40 +1,15 @@ sources: + "2.0.3": + url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.3.tar.gz" + sha256: "8f391696daf2e63da9437aab8d7154371df630fc93876479f2e84c693fc1ba5a" "2.0.2": url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.2.tar.gz" sha256: "99871BCAA8DA4361D1BAAE9CF1507683058DE8572AC3080EDC41E590FFBA06C0" - "2.0.1": - url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.1.tar.gz" - sha256: "A6750992EA668786F267E4EDA5588DE4D7585F30E59DCF8512620AF509D6690F" - "2.0.0": - url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.0.tar.gz" - sha256: "C598DD0630F535D61EA9F8BDE5FE7DA3EF4C595419ECFBCD2384CA6FB4CA804F" - "1.0.1": - url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v1.0.1.tar.gz" - sha256: "c47f2e1e6cb7660a2d1c2666fa3b640a2f57275d2e524d0c80160a51a781e0dc" - "1.0.0": - url: "https://github.com/eclipse-iceoryx/iceoryx/archive/refs/tags/v1.0.0.tar.gz" - sha256: "3D7BABCF92974F6D22E8A497E31198DE1D88DF8B20C942992DBBEC5DFB06C4BB" + "1.0.3": + url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v1.0.3.tar.gz" + sha256: "566b7766fb1fabb48d1ca979f7a31082422d6aa5af014a56c1a6b605c60e33f0" patches: - "2.0.2": - - base_path: "source_subfolder" - patch_file: "patches/2.0.X-0001-fix-find-toml.patch" - "2.0.1": - - base_path: "source_subfolder" - patch_file: "patches/2.0.X-0001-fix-find-toml.patch" - "2.0.0": - - base_path: "source_subfolder" - patch_file: "patches/2.0.X-0001-fix-find-toml.patch" - "1.0.1": - - base_path: "source_subfolder" - patch_file: "patches/1.0.0-0001-fix-find-toml.patch" - - base_path: "source_subfolder" - patch_file: "patches/1.0.0-0002-fix-install-bundle.patch" - - base_path: "source_subfolder" - patch_file: "patches/1.0.0-0003-no-hardcoded-libcxx.patch" - "1.0.0": - - base_path: "source_subfolder" - patch_file: "patches/1.0.0-0001-fix-find-toml.patch" - - base_path: "source_subfolder" - patch_file: "patches/1.0.0-0002-fix-install-bundle.patch" - - base_path: "source_subfolder" - patch_file: "patches/1.0.0-0003-no-hardcoded-libcxx.patch" + "1.0.3": + - patch_file: "patches/1.0.0-0001-fix-find-toml.patch" + - patch_file: "patches/1.0.0-0002-fix-install-bundle.patch" + - patch_file: "patches/1.0.0-0003-no-hardcoded-libcxx.patch" diff --git a/recipes/iceoryx/all/conanfile.py b/recipes/iceoryx/all/conanfile.py index c14f7ee13f243..abf2fb7016360 100644 --- a/recipes/iceoryx/all/conanfile.py +++ b/recipes/iceoryx/all/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os import textwrap -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +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, mkdir, rename, replace_in_file, rmdir, save +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class IceoryxConan(ConanFile): name = "iceoryx" + description = "Eclipse iceoryx - true zero-copy inter-process-communication" license = "Apache-2.0" - homepage = "https://iceoryx.io/" url = "https://github.com/conan-io/conan-center-index" - description = "Eclipse iceoryx - true zero-copy inter-process-communication" + homepage = "https://iceoryx.io/" topics = ("Shared Memory", "IPC", "ROS", "Middleware") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,17 +33,9 @@ class IceoryxConan(ConanFile): "toml_config": True, } - generators = ["cmake", "cmake_find_package"] - _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) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -44,110 +43,112 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.toml_config: - self.requires("cpptoml/0.1.1") - if self.settings.os == "Linux": - self.requires("acl/2.3.1") - - def build_requirements(self): - if tools.Version(self.version) >= "2.0.0": - self.tool_requires("cmake/3.16.2") + self.requires("cpptoml/0.1.1", transitive_headers=True) + if self.settings.os in ["Linux", "FreeBSD"]: + self.requires("acl/2.3.1", transitive_headers=True) def validate(self): compiler = self.settings.compiler - version = tools.Version(self.settings.compiler.version) + version = Version(self.settings.compiler.version) if compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, 14) - if compiler == "Visual Studio": - if version < "16": - raise ConanInvalidConfiguration("Iceoryx is just supported for Visual Studio 2019 and higher.") + if is_msvc(self): + check_min_vs(self, 192) if self.options.shared: raise ConanInvalidConfiguration( - 'Using Iceoryx with Visual Studio currently just possible with "shared=False"') + 'Using Iceoryx with Visual Studio currently just possible with "shared=False"' + ) elif compiler == "gcc": if version < "6": raise ConanInvalidConfiguration("Using Iceoryx with gcc requires gcc 6 or higher.") if version < "9" and compiler.get_safe("libcxx") == "libstdc++": raise ConanInvalidConfiguration("gcc < 9 with libstdc++ not supported") if version == "6": - self.output.warn("Iceoryx package is compiled with gcc 6, it is recommended to use 7 or higher") - self.output.warn("GCC 6 will build with warnings.") + self.output.warning( + "Iceoryx package is compiled with gcc 6, it is recommended to use 7 or higher" + ) + self.output.warning("GCC 6 will build with warnings.") elif compiler == "clang": if compiler.get_safe("libcxx") == "libstdc++": raise ConanInvalidConfiguration("clang with libstdc++ not supported") - if version == "7.0" and compiler.get_safe("libcxx") == "libc++" and \ - self.options.shared and self.settings.build_type == "Debug": + if ( + version == "7.0" + and compiler.get_safe("libcxx") == "libc++" + and self.options.shared + and self.settings.build_type == "Debug" + ): raise ConanInvalidConfiguration("shared Debug with clang 7.0 and libc++ not supported") + def build_requirements(self): + if Version(self.version) >= "2.0.0": + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["TOML_CONFIG"] = self.options.toml_config + if Version(self.version) >= "2.0.0": + tc.cache_variables["DOWNLOAD_TOML_LIB"] = False + tc.generate() + tc = CMakeDeps(self) + tc.set_property("cpptoml", "cmake_target_name", "cpptoml") + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - # Honor fPIC option - iceoryx_utils = "iceoryx_hoofs" if tools.Version(self.version) >= "2.0.0" else "iceoryx_utils" - for cmake_file in [ - os.path.join("iceoryx_binding_c", "CMakeLists.txt"), - os.path.join("iceoryx_posh", "CMakeLists.txt"), - os.path.join(iceoryx_utils, "CMakeLists.txt") - ]: - tools.replace_in_file(os.path.join(self._source_subfolder, cmake_file), "POSITION_INDEPENDENT_CODE ON", "") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["TOML_CONFIG"] = self.options.toml_config - if tools.Version(self.version) >= "2.0.0": - self._cmake.definitions["DOWNLOAD_TOML_LIB"] = False - self._cmake.configure() - return self._cmake + apply_conandata_patches(self) + for cmake_file in self.source_path.rglob("CMakeLists.txt"): + # Honor fPIC option + replace_in_file(self, cmake_file, "POSITION_INDEPENDENT_CODE ON", "", strict=False) + # Use acl::acl target, since acl fails to link + replace_in_file(self, cmake_file, " acl", " acl::acl", strict=False) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - 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, "share")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + copy(self, "LICENSE", src=self.source_folder, dst=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", "cmake")) if self.options.toml_config: - tools.mkdir(os.path.join(self.package_folder, "res")) - tools.rename(os.path.join(self.package_folder, "etc", "roudi_config_example.toml"), + mkdir(self, os.path.join(self.package_folder, "res")) + rename(self, os.path.join(self.package_folder, "etc", "roudi_config_example.toml"), os.path.join(self.package_folder, "res", "roudi_config.toml")) - tools.rmdir(os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "etc")) # bring to default package structure - if (tools.Version(self.version) >= "2.0.0"): + if Version(self.version) >= "2.0.0": include_paths = ["iceoryx_binding_c", "iceoryx_hoofs", "iceoryx_posh", "iceoryx_versions.hpp"] for include_path in include_paths: - tools.rename( - os.path.join(self.package_folder, "include", "iceoryx", "v{}".format(self.version), include_path), - os.path.join(self.package_folder, "include", include_path)) + rename(self, os.path.join(self.package_folder, "include", "iceoryx", f"v{self.version}", include_path), + os.path.join(self.package_folder, "include", include_path)) # TODO: to remove in conan v2 once cmake_find_package* generators removed - if (tools.Version(self.version) >= "2.0.0"): + if Version(self.version) >= "2.0.0": self._create_cmake_module_alias_targets( os.path.join(self.package_folder, self._module_file_rel_path), - {v["target"]: "iceoryx::{}".format(k) - for k, v in self._iceoryx_components["2.0.0"].items()}) + {v["target"]: f"iceoryx::{k}" for k, v in self._iceoryx_components["2.0.0"].items()}) else: self._create_cmake_module_alias_targets( os.path.join(self.package_folder, self._module_file_rel_path), - {v["target"]: "iceoryx::{}".format(k) - for k, v in self._iceoryx_components["1.0.X"].items()}) + {v["target"]: f"iceoryx::{k}" for k, v in self._iceoryx_components["1.0.X"].items()}) @property def _iceoryx_components(self): - def pthread(): return ["pthread"] if self.settings.os in ["Linux", "FreeBSD"] else [] @@ -155,16 +156,16 @@ def rt(): return ["rt"] if self.settings.os in ["Linux", "FreeBSD"] else [] def atomic(): - return ["atomic"] if self.settings.os == "Linux" else [] + return ["atomic"] if self.settings.os in ["Linux", "FreeBSD"] else [] def acl(): - return ["acl::acl"] if self.settings.os == "Linux" else [] + return ["acl::acl"] if self.settings.os in ["Linux", "FreeBSD"] else [] def cpptoml(): return ["cpptoml::cpptoml"] if self.options.toml_config else [] def libcxx(): - libcxx = tools.stdcpp_library(self) + libcxx = stdcpp_library(self) return [libcxx] if libcxx and not self.options.shared else [] return { @@ -172,100 +173,99 @@ def libcxx(): "iceoryx_platform": { "target": "iceoryx_utils::iceoryx_platform", "system_libs": pthread(), - "requires": [] + "requires": [], }, "iceoryx_utils": { "target": "iceoryx_utils::iceoryx_utils", "system_libs": pthread() + rt() + atomic(), - "requires": ["iceoryx_platform"] + acl() + "requires": ["iceoryx_platform"] + acl(), }, "iceoryx_posh": { "target": "iceoryx_posh::iceoryx_posh", "system_libs": pthread(), - "requires": ["iceoryx_utils"] + "requires": ["iceoryx_utils"], }, "iceoryx_posh_roudi": { "target": "iceoryx_posh::iceoryx_posh_roudi", "system_libs": pthread(), - "requires": ["iceoryx_utils", "iceoryx_posh"] + cpptoml() + "requires": ["iceoryx_utils", "iceoryx_posh"] + cpptoml(), }, "iceoryx_posh_gateway": { "target": "iceoryx_posh::iceoryx_posh_gateway", "system_libs": pthread(), - "requires": ["iceoryx_utils", "iceoryx_posh"] + "requires": ["iceoryx_utils", "iceoryx_posh"], }, "iceoryx_posh_config": { "target": "iceoryx_posh::iceoryx_posh_config", "system_libs": pthread(), - "requires": ["iceoryx_posh_roudi", "iceoryx_utils", "iceoryx_posh"] + "requires": ["iceoryx_posh_roudi", "iceoryx_utils", "iceoryx_posh"], }, "iceoryx_binding_c": { "target": "iceoryx_binding_c::iceoryx_binding_c", "system_libs": pthread() + libcxx(), - "requires": ["iceoryx_utils", "iceoryx_posh"] - } + "requires": ["iceoryx_utils", "iceoryx_posh"], + }, }, "2.0.0": { "iceoryx_platform": { "target": "iceoryx_hoofs::iceoryx_platform", "system_libs": pthread() + rt(), "requires": [], - "includeDir": False + "includeDir": False, }, "iceoryx_hoofs": { "target": "iceoryx_hoofs::iceoryx_hoofs", "system_libs": pthread() + rt() + atomic(), "requires": ["iceoryx_platform"] + acl(), - "includeDir": True + "includeDir": True, }, "iceoryx_posh": { "target": "iceoryx_posh::iceoryx_posh", "system_libs": pthread() + rt(), "requires": ["iceoryx_hoofs"], - "includeDir": True + "includeDir": True, }, "iceoryx_posh_roudi": { "target": "iceoryx_posh::iceoryx_posh_roudi", "system_libs": pthread(), "requires": ["iceoryx_hoofs", "iceoryx_posh"] + cpptoml(), - "includeDir": False + "includeDir": False, }, "iceoryx_posh_gateway": { "target": "iceoryx_posh::iceoryx_posh_gateway", "system_libs": pthread(), "requires": ["iceoryx_hoofs", "iceoryx_posh"], - "includeDir": False + "includeDir": False, }, "iceoryx_posh_config": { "target": "iceoryx_posh::iceoryx_posh_config", "system_libs": pthread(), "requires": ["iceoryx_posh_roudi", "iceoryx_hoofs", "iceoryx_posh"], - "includeDir": False + "includeDir": False, }, "iceoryx_binding_c": { "target": "iceoryx_binding_c::iceoryx_binding_c", "system_libs": pthread() + libcxx(), "requires": ["iceoryx_hoofs", "iceoryx_posh"], - "includeDir": True - } - } + "includeDir": True, + }, + }, } - @staticmethod - def _create_cmake_module_alias_targets(module_file, targets): + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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)) - tools.save(module_file, content) + """) + save(self, module_file, content) @property def _module_file_rel_path(self): - return os.path.join("lib", "cmake", "conan-official-{}-targets.cmake".format(self.name)) + return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): # FIXME: We should provide 3 CMake config files: @@ -284,15 +284,13 @@ def _register_components(components): self.cpp_info.components[lib_name].requires = requires # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components[lib_name].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[lib_name].build_modules["cmake_find_package_multi"] = [ - self._module_file_rel_path - ] + self.cpp_info.components[lib_name].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if tools.Version(self.version) >= "2.0.0": + if Version(self.version) >= "2.0.0": _register_components(self._iceoryx_components["2.0.0"]) else: _register_components(self._iceoryx_components["1.0.X"]) bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/iceoryx/all/patches/1.0.0-0001-fix-find-toml.patch b/recipes/iceoryx/all/patches/1.0.0-0001-fix-find-toml.patch index 062232389f69a..d7d0a656f692e 100644 --- a/recipes/iceoryx/all/patches/1.0.0-0001-fix-find-toml.patch +++ b/recipes/iceoryx/all/patches/1.0.0-0001-fix-find-toml.patch @@ -11,11 +11,3 @@ index 6df5429b..e7dedbc4 100644 find_package(cpptoml REQUIRED) endif() -@@ -325,7 +323,6 @@ if(TOML_CONFIG) - iceoryx_posh::iceoryx_posh - iceoryx_utils::iceoryx_utils - iceoryx_posh::iceoryx_posh_roudi -- cpptoml - ${ICEORYX_SANITIZER_FLAGS} - ) - diff --git a/recipes/iceoryx/all/patches/2.0.X-0001-fix-find-toml.patch b/recipes/iceoryx/all/patches/2.0.X-0001-fix-find-toml.patch deleted file mode 100644 index fe7e89524991f..0000000000000 --- a/recipes/iceoryx/all/patches/2.0.X-0001-fix-find-toml.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/iceoryx_posh/CMakeLists.txt b/iceoryx_posh/CMakeLists.txt -index 8f28ac07b..c07b16b88 100644 ---- a/iceoryx_posh/CMakeLists.txt -+++ b/iceoryx_posh/CMakeLists.txt -@@ -350,7 +350,6 @@ if(TOML_CONFIG) - iceoryx_posh::iceoryx_posh - iceoryx_hoofs::iceoryx_hoofs - iceoryx_posh::iceoryx_posh_roudi -- cpptoml - ${ICEORYX_SANITIZER_FLAGS} - ) - diff --git a/recipes/iceoryx/all/test_package/CMakeLists.txt b/recipes/iceoryx/all/test_package/CMakeLists.txt index 4d89e84377074..1ebb72134038c 100644 --- a/recipes/iceoryx/all/test_package/CMakeLists.txt +++ b/recipes/iceoryx/all/test_package/CMakeLists.txt @@ -1,20 +1,17 @@ cmake_minimum_required(VERSION 3.15) -project(test_package) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -if (${MSVC}) +if (MSVC) set(CMAKE_CXX_STANDARD 17) -else() +else() set(CMAKE_CXX_STANDARD 14) endif() - set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(iceoryx REQUIRED CONFIG) add_executable(test_package main.cpp) -target_link_libraries(test_package iceoryx_posh::iceoryx_posh - iceoryx_posh::iceoryx_posh_roudi +target_link_libraries(test_package + iceoryx_posh::iceoryx_posh + iceoryx_posh::iceoryx_posh_roudi ) diff --git a/recipes/iceoryx/all/test_package/conanfile.py b/recipes/iceoryx/all/test_package/conanfile.py index 50e21d11f1ebd..49365cc526d27 100644 --- a/recipes/iceoryx/all/test_package/conanfile.py +++ b/recipes/iceoryx/all/test_package/conanfile.py @@ -1,9 +1,19 @@ import os -from conans import ConanFile, CMake -class IceoryxTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = ["cmake", "cmake_find_package_multi"] +from conan import ConanFile +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) @@ -17,5 +27,5 @@ def test(self): # a bad idea (checked on 3 different linux devices # always ok - but in container get # "fatal SIGBUS signal appeared caused by memset") - path, dirs, files = next(os.walk("bin")) - print("All %d example files are present" % (len(files))) + path, dirs, files = next(os.walk(self.cpp.build.bindir)) + print(f"All {len(files)} example files are present") diff --git a/recipes/iceoryx/all/test_v1_package/CMakeLists.txt b/recipes/iceoryx/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/iceoryx/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/iceoryx/all/test_v1_package/conanfile.py b/recipes/iceoryx/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..50e21d11f1ebd --- /dev/null +++ b/recipes/iceoryx/all/test_v1_package/conanfile.py @@ -0,0 +1,21 @@ +import os +from conans import ConanFile, CMake + +class IceoryxTestConan(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): + # ToDo : add an executable which can be + # executed in container. + # currently seems shared memory in container is + # a bad idea (checked on 3 different linux devices + # always ok - but in container get + # "fatal SIGBUS signal appeared caused by memset") + path, dirs, files = next(os.walk("bin")) + print("All %d example files are present" % (len(files))) diff --git a/recipes/iceoryx/config.yml b/recipes/iceoryx/config.yml index bb084f4416dd3..741dce8e70313 100644 --- a/recipes/iceoryx/config.yml +++ b/recipes/iceoryx/config.yml @@ -1,11 +1,7 @@ versions: - "2.0.2": - folder: all - "2.0.1": + "2.0.3": folder: all - "2.0.0": - folder: all - "1.0.1": + "2.0.2": folder: all - "1.0.0": + "1.0.3": folder: all From fb29b461ef5af54feb471ac539c30452c584dac7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:28:29 +0100 Subject: [PATCH 2430/4087] (#20918) libpq: fix 15.x for mingw by adding missing patch --- recipes/libpq/all/conandata.yml | 8 ++++ .../15/001-mingw-build-static-libraries.patch | 39 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 recipes/libpq/all/patches/15/001-mingw-build-static-libraries.patch diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml index 04f5a5493155d..862caa7abf541 100644 --- a/recipes/libpq/all/conandata.yml +++ b/recipes/libpq/all/conandata.yml @@ -24,6 +24,14 @@ sources: url: "https://ftp.postgresql.org/pub/source/v9.6.24/postgresql-9.6.24.tar.gz" sha256: "52947ecc119846eace5164399d173576c0d4a47ec116ae58a46a8fd0c576c7c3" patches: + "15.4": + - patch_file: "patches/15/001-mingw-build-static-libraries.patch" + patch_description: "port MinGW: Enable building static libraries in MinGW." + patch_type: "portability" + "15.3": + - patch_file: "patches/15/001-mingw-build-static-libraries.patch" + patch_description: "port MinGW: Enable building static libraries in MinGW." + patch_type: "portability" "14.9": - patch_file: "patches/13/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." diff --git a/recipes/libpq/all/patches/15/001-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/15/001-mingw-build-static-libraries.patch new file mode 100644 index 0000000000000..8bbd59c7ada00 --- /dev/null +++ b/recipes/libpq/all/patches/15/001-mingw-build-static-libraries.patch @@ -0,0 +1,39 @@ +--- a/src/Makefile.shlib ++++ b/src/Makefile.shlib +@@ -322,7 +322,10 @@ else # PORTNAME == aix + # AIX case + + # See notes in src/backend/parser/Makefile about the following two rules +-$(stlib): $(shlib) ++$(stlib): $(OBJS) | $(SHLIB_PREREQS) ++ rm -f $@ ++ $(LINK.static) $@ $^ ++ $(RANLIB) $@ + touch $@ + + $(shlib): $(OBJS) | $(SHLIB_PREREQS) +@@ -371,12 +374,12 @@ $(stlib): $(shlib) + # Else we just use --export-all-symbols. + ifeq (,$(SHLIB_EXPORTS)) + $(shlib): $(OBJS) | $(SHLIB_PREREQS) +- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) ++ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a + else + DLL_DEFFILE = lib$(NAME)dll.def + + $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) +- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) ++ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a + + UC_NAME = $(shell echo $(NAME) | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') + +@@ -457,6 +460,9 @@ endif # not aix + ifneq (,$(findstring $(PORTNAME),win32 cygwin)) + $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' + endif ++ifneq (,$(findstring $(PORTNAME),win32)) ++ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' ++endif + else # no soname + $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' + endif From 17b8f455e73d9cbac3a29e7be2aacb8707d123b0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:48:12 +0100 Subject: [PATCH 2431/4087] (#20929) soplex: fix installation of import for mingw shared + cleanup recipe * simplify way to find GMP * fix installation of import lib for mingw shared * sort methods by order of execution --- recipes/soplex/all/conanfile.py | 56 ++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/recipes/soplex/all/conanfile.py b/recipes/soplex/all/conanfile.py index d14308917f562..047f359f2bb4b 100644 --- a/recipes/soplex/all/conanfile.py +++ b/recipes/soplex/all/conanfile.py @@ -1,10 +1,9 @@ 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.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.errors import ConanInvalidConfiguration from conan.tools.files import collect_libs, copy, get -from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version from os.path import join @@ -30,7 +29,7 @@ class SoPlexConan(ConanFile): "shared": False, "fPIC": True, "with_boost": True, - "with_gmp": True + "with_gmp": True, } @property @@ -43,6 +42,8 @@ def _compilers_minimum_version(self): "gcc": "5", "clang": "4", "apple-clang": "7", + "msvc": "191", + "Visual Studio": "15", } def _determine_lib_name(self): @@ -53,20 +54,6 @@ def _determine_lib_name(self): else: return "soplex" - def validate(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 191) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -75,6 +62,9 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): # transitive libs as anything using soplex requires gzread, gzwrite, gzclose, gzopen self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) @@ -85,20 +75,29 @@ def requirements(self): if self.options.with_boost: self.requires("boost/1.83.0", transitive_headers=True) # also update Boost_VERSION_MACRO below! - 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 source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.variables["GMP"] = self.options.with_gmp tc.variables["BOOST"] = self.options.with_boost tc.variables["Boost_VERSION_MACRO"] = "108300" - if self.options.with_gmp: - tc.cache_variables["GMP_INCLUDE_DIRS"] = ";".join(self.dependencies["gmp"].cpp_info.includedirs) - tc.cache_variables["GMP_LIBRARIES"] = "gmp::gmp" - tc.generate() - tc = CMakeDeps(self) tc.generate() + deps = CMakeDeps(self) + if self.options.with_gmp: + deps.set_property("gmp", "cmake_file_name", "GMP") + deps.generate() def build(self): cmake = CMake(self) @@ -115,11 +114,12 @@ def package(self): copy(self, pattern="*.h", src=join(self.build_folder, "soplex"), dst=join(self.package_folder, "include", "soplex")) copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) if self.options.shared: - copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.dll", src=join(self.build_folder, "bin"), dst=join(self.package_folder, "bin")) - copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) + copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) + copy(self, pattern="*.dll", src=join(self.build_folder, "bin"), dst=join(self.package_folder, "bin"), keep_path=False) + copy(self, pattern="*.dll.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) else: - copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) + copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) fix_apple_shared_install_name(self) def package_info(self): From a06e375259df824b6506eec3a36a7ae10d999a6b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 16:30:45 +0200 Subject: [PATCH 2432/4087] (#18670) enchant: migrate to Conan v2 --- recipes/enchant/all/CMakeLists.txt | 18 ++--- recipes/enchant/all/conandata.yml | 6 -- recipes/enchant/all/conanfile.py | 68 ++++++++++--------- .../enchant/all/test_package/CMakeLists.txt | 5 +- recipes/enchant/all/test_package/conanfile.py | 20 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../enchant/all/test_v1_package/conanfile.py | 18 +++++ 7 files changed, 84 insertions(+), 59 deletions(-) create mode 100644 recipes/enchant/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/enchant/all/test_v1_package/conanfile.py diff --git a/recipes/enchant/all/CMakeLists.txt b/recipes/enchant/all/CMakeLists.txt index 5c44e31e17e0f..ef18304559574 100644 --- a/recipes/enchant/all/CMakeLists.txt +++ b/recipes/enchant/all/CMakeLists.txt @@ -1,13 +1,10 @@ -cmake_minimum_required(VERSION 3.2) - +cmake_minimum_required(VERSION 3.12) project(enchant VERSION "${CONAN_enchant_VERSION}") -set(root "${PROJECT_SOURCE_DIR}/source_subfolder") +set(root "${PROJECT_SOURCE_DIR}/src") set(src "${root}/src") set(bin "${PROJECT_BINARY_DIR}") -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) # ---- Config headers ---- @@ -54,7 +51,9 @@ add_library( "${src}/pwl.c" ) -target_compile_definitions(enchant PRIVATE NO_XMALLOC=1 PIC=1 ENABLE_COSTLY_RELOCATABLE=1) +find_package(glib REQUIRED CONFIG) + +target_compile_definitions(enchant PRIVATE NO_XMALLOC=1 PIC=1 ENABLE_COSTLY_RELOCATABLE=1 _GNU_SOURCE=1) target_include_directories(enchant PUBLIC "${bin}" "${src}" "${root}/lib") target_link_libraries(enchant PRIVATE glib::glib-2.0 glib::gmodule-2.0 ${DLADDR_LIBRARIES}) @@ -79,12 +78,7 @@ target_link_libraries(enchant_hunspell PRIVATE hunspell::hunspell glib::glib-2.0 include(GNUInstallDirs) -install( - TARGETS enchant - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -) +install(TARGETS enchant) if(NOT providers STREQUAL "") install( diff --git a/recipes/enchant/all/conandata.yml b/recipes/enchant/all/conandata.yml index 0e74282d629d1..6da09cd5f8f1b 100644 --- a/recipes/enchant/all/conandata.yml +++ b/recipes/enchant/all/conandata.yml @@ -5,14 +5,8 @@ sources: patches: "2.3.2": - patch_file: patches/0001-add-visibility-annotations.patch - base_path: source_subfolder - patch_file: patches/0002-remove-strchrnul-usage.patch - base_path: source_subfolder - patch_file: patches/0003-fix-file-locking.patch - base_path: source_subfolder - patch_file: patches/0004-fix-ssize_t-in-headers.patch - base_path: source_subfolder - patch_file: patches/0005-fix-relocatable.patch - base_path: source_subfolder - patch_file: patches/0006-add-macos-support.patch - base_path: source_subfolder diff --git a/recipes/enchant/all/conanfile.py b/recipes/enchant/all/conanfile.py index de37d8e54862f..4ccf80abd3897 100644 --- a/recipes/enchant/all/conanfile.py +++ b/recipes/enchant/all/conanfile.py @@ -1,8 +1,10 @@ -import functools +import os -from conans import ConanFile, CMake, tools +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 -required_conan_version = ">=1.43.0" +required_conan_version = ">=1.53.0" class EnchantConan(ConanFile): @@ -11,47 +13,51 @@ class EnchantConan(ConanFile): "Enchant aims to provide a simple but comprehensive abstraction for " "dealing with different spell checking libraries in a consistent way" ) + license = "LGPL-2.1-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://abiword.github.io/enchant/" - topics = "enchant", "spell", "spell-check" - license = "LGPL-2.1-or-later" - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - requires = "glib/2.71.3", "hunspell/1.7.0" + topics = ("enchant", "spell", "spell-check") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" def export_sources(self): - self.copy("CMakeLists.txt") - self.copy("configmake.h") - self.copy("configure.cmake") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "configmake.h", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "configure.cmake", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("glib/2.78.1") + self.requires("hunspell/1.7.2") 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) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["CONAN_enchant_VERSION"] = self.version - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CONAN_enchant_VERSION"] = self.version + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - self._configure_cmake().build() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) + cmake.build() def package(self): - self.copy("COPYING.LIB", "licenses", self._source_subfolder) - self._configure_cmake().install() + copy(self, "COPYING.LIB", + 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 = ["enchant"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["dl"] diff --git a/recipes/enchant/all/test_package/CMakeLists.txt b/recipes/enchant/all/test_package/CMakeLists.txt index 71e01b224abd1..ee49a56d76d67 100644 --- a/recipes/enchant/all/test_package/CMakeLists.txt +++ b/recipes/enchant/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(enchant REQUIRED CONFIG) add_executable(test_package test_package.c) diff --git a/recipes/enchant/all/test_package/conanfile.py b/recipes/enchant/all/test_package/conanfile.py index a8c92dea63335..ef5d7042163ec 100644 --- a/recipes/enchant/all/test_package/conanfile.py +++ b/recipes/enchant/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 = "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) @@ -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/enchant/all/test_v1_package/CMakeLists.txt b/recipes/enchant/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/enchant/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/enchant/all/test_v1_package/conanfile.py b/recipes/enchant/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a8c92dea63335 --- /dev/null +++ b/recipes/enchant/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) From 734b1ec74e520ceb77d6395a6222b9d6c0abdbbb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 16:35:44 +0200 Subject: [PATCH 2433/4087] (#18803) opene57: migrate to Conan v2 * opene57: migrate to Conan v2 * opene57: add crude shared build support * opene57: bump deps * opene57: add version 1.6.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * opene57: disable ASan and UBSan in Debug builds * opene57: use icu everywhere except Windows * opene57: disable -fstack-clash-protection on unsupported GCC versions * opene57: disable -fsanitize=leak on apple-clang --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/opene57/all/CMakeLists.txt | 7 - recipes/opene57/all/conandata.yml | 13 +- recipes/opene57/all/conanfile.py | 159 +++++++++--------- .../opene57/all/test_package/CMakeLists.txt | 3 - recipes/opene57/all/test_package/conanfile.py | 24 ++- recipes/opene57/all/test_package/example.cpp | 21 +-- .../all/test_v1_package/CMakeLists.txt | 8 + .../opene57/all/test_v1_package/conanfile.py | 16 ++ recipes/opene57/config.yml | 4 +- 9 files changed, 146 insertions(+), 109 deletions(-) delete mode 100644 recipes/opene57/all/CMakeLists.txt create mode 100644 recipes/opene57/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/opene57/all/test_v1_package/conanfile.py diff --git a/recipes/opene57/all/CMakeLists.txt b/recipes/opene57/all/CMakeLists.txt deleted file mode 100644 index 61f3d3b039e2b..0000000000000 --- a/recipes/opene57/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/opene57/all/conandata.yml b/recipes/opene57/all/conandata.yml index c12e0f534863e..901bec5f90435 100644 --- a/recipes/opene57/all/conandata.yml +++ b/recipes/opene57/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "1.6.2": - sha256: 2d487e663cf43105b19653d34250fd45f947af839e327336b6878464a99d5423 - url: https://github.com/openE57/openE57/archive/refs/tags/1.6.2.tar.gz + "1.6.4": + url: "https://github.com/openE57/openE57/archive/1.6.4.tar.gz" + sha256: "97accc32ae294113a97b8d3f0ecf0d608057a6f0fcdfee17db0c5db4ab28ce69" "1.6.3": - sha256: e335afdda98a2707d05ec4bce99f362a6f7f0eb2e8bbf2d7346eae292046f827 - url: https://github.com/openE57/openE57/archive/refs/tags/1.6.3.tar.gz + url: "https://github.com/openE57/openE57/archive/refs/tags/1.6.3.tar.gz" + sha256: "e335afdda98a2707d05ec4bce99f362a6f7f0eb2e8bbf2d7346eae292046f827" + "1.6.2": + url: "https://github.com/openE57/openE57/archive/refs/tags/1.6.2.tar.gz" + sha256: "2d487e663cf43105b19653d34250fd45f947af839e327336b6878464a99d5423" diff --git a/recipes/opene57/all/conanfile.py b/recipes/opene57/all/conanfile.py index de0ae61c3daea..7fad4691111be 100644 --- a/recipes/opene57/all/conanfile.py +++ b/recipes/opene57/all/conanfile.py @@ -1,36 +1,37 @@ -from conans import ConanFile, tools, CMake -from conan.tools.microsoft import msvc_runtime_flag -from conans.errors import ConanInvalidConfiguration import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, export_conandata_patches, get, replace_in_file +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + class Opene57Conan(ConanFile): name = "opene57" - description = "A C++ library for reading and writing E57 files, " \ - "fork of the original libE57 (http://libe57.org)" - topics = ("e57", "libe57", "3d", "astm") + description = "A C++ library for reading and writing E57 files, a fork of the original libE57 (http://libe57.org)" + license = ("MIT", "BSL-1.0") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/openE57/openE57" - license = ("MIT", "BSL-1.0") - settings = "os", "compiler", "arch", "build_type" - options = { "with_tools": [True, False], - "shared": [True, False], - "fPIC": [True, False] - } - default_options = { - "with_tools": False, - "shared": False, - "fPIC": True - } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + topics = ("e57", "libe57", "3d", "astm") - @property - def _build_subfolder(self): - return "build_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_tools": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_tools": False, + } @property def _minimum_compilers_version(self): @@ -42,82 +43,88 @@ def _minimum_compilers_version(self): } def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - - def configure(self): - if self.options.shared: - del self.options.fPIC - - if self.options.with_tools: - self.options['boost'].multithreading = True + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def validate(self): + def configure(self): if self.options.shared: - raise ConanInvalidConfiguration("OpenE57 cannot be built as shared library yet") - - if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) + self.options.rm_safe("fPIC") + if self.options.with_tools: + self.options["boost"].multithreading = True - minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warn("C++17 support required. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_tools: - self.requires("boost/1.78.0") + self.requires("boost/1.83.0") + if self.settings.os != "Windows": + self.requires("icu/73.2") + self.requires("xerces-c/3.2.4") - if self.settings.os == "Linux" or tools.is_apple_os(self.settings.os): - self.requires("icu/70.1") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 17) - self.requires("xerces-c/3.2.3") + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if not minimum_version: + self.output.warning("C++17 support required. Your compiler is unknown. Assuming it supports C++17.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") 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["PROJECT_VERSION"] = self.version - self._cmake.definitions["BUILD_EXAMPLES"] = False - self._cmake.definitions["BUILD_TOOLS"] = self.options.with_tools - self._cmake.definitions["BUILD_TESTS"] = False - if self.settings.compiler == "Visual Studio": - self._cmake.definitions["BUILD_WITH_MT"] = "MT" in msvc_runtime_flag(self) - else: - self._cmake.definitions["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["PROJECT_VERSION"] = self.version + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_TOOLS"] = self.options.with_tools + tc.variables["BUILD_TESTS"] = False + if is_msvc(self): + tc.variables["BUILD_WITH_MT"] = is_msvc_static_runtime(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + # Do not raise an error for shared builds + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "message(FATAL_ERROR", "# ") + compiler_opts = os.path.join(self.source_folder, "src", "cmake", "compiler_options.cmake") + # Disable ASan and UBSan as these require linking against asan and ubsan runtime libraries + # FIXME: Figure out how to link against these using Conan + replace_in_file(self, compiler_opts, "$<$:-fsanitize=address>", "") + replace_in_file(self, compiler_opts, "$<$:-fsanitize=undefined>", "") + if self.settings.compiler == "apple-clang": + replace_in_file(self, compiler_opts, "$<$:-fsanitize=leak>", "") + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "8": + replace_in_file(self, compiler_opts, "-fstack-clash-protection", "") 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) - self.copy(pattern="LICENSE.libE57", 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) + copy(self, "LICENSE.libE57", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() os.remove(os.path.join(self.package_folder, "CHANGELOG.md")) - tools.remove_files_by_mask(os.path.join(self.package_folder, "bin"), "*.dll") def package_info(self): - if self.options.with_tools: - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) - lib_suffix = "-d" if self.settings.build_type == "Debug" else "" self.cpp_info.libs = [f"openE57{lib_suffix}", f"openE57las{lib_suffix}"] self.cpp_info.defines.append(f"E57_REFIMPL_REVISION_ID={self.name}-{self.version}") self.cpp_info.defines.append("XERCES_STATIC_LIBRARY") + # TODO: to remove in conan v2 + if self.options.with_tools: + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) diff --git a/recipes/opene57/all/test_package/CMakeLists.txt b/recipes/opene57/all/test_package/CMakeLists.txt index 4371da6fd8c67..47f482568b9fd 100644 --- a/recipes/opene57/all/test_package/CMakeLists.txt +++ b/recipes/opene57/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.15.0 FATAL_ERROR) project(opene57_example CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(opene57 REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) diff --git a/recipes/opene57/all/test_package/conanfile.py b/recipes/opene57/all/test_package/conanfile.py index b295f3f19d774..20c9ce7dbadb1 100644 --- a/recipes/opene57/all/test_package/conanfile.py +++ b/recipes/opene57/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class TestOpenE57Conan(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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "opene57_example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "opene57_example") + self.run(bin_path, env="conanrun") diff --git a/recipes/opene57/all/test_package/example.cpp b/recipes/opene57/all/test_package/example.cpp index 053adab3412f0..fa65c1fd0c5c9 100644 --- a/recipes/opene57/all/test_package/example.cpp +++ b/recipes/opene57/all/test_package/example.cpp @@ -1,19 +1,20 @@ -#include #include +#include + using namespace e57; using namespace std; -int main(int /*argc*/, char** /*argv*/) -{ - E57Utilities utilities{}; +int main() { + E57Utilities utilities{}; - int astmMajor{0}; - int astmMinor{0}; - ustring libraryId{}; - utilities.getVersions(astmMajor, astmMinor, libraryId); + int astmMajor{0}; + int astmMinor{0}; + ustring libraryId{}; + utilities.getVersions(astmMajor, astmMinor, libraryId); - std::cout << "E57 Version: " << astmMajor << "." << astmMinor << " - Library ID: " << libraryId << std::endl; + std::cout << "E57 Version: " << astmMajor << "." << astmMinor << " - Library ID: " << libraryId + << std::endl; - return 0; + return 0; } diff --git a/recipes/opene57/all/test_v1_package/CMakeLists.txt b/recipes/opene57/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/opene57/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/opene57/all/test_v1_package/conanfile.py b/recipes/opene57/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b295f3f19d774 --- /dev/null +++ b/recipes/opene57/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + +class TestOpenE57Conan(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", "opene57_example") + self.run(bin_path, run_environment=True) diff --git a/recipes/opene57/config.yml b/recipes/opene57/config.yml index ed1dbc177bf25..ad9f3c8967822 100644 --- a/recipes/opene57/config.yml +++ b/recipes/opene57/config.yml @@ -1,5 +1,7 @@ versions: - "1.6.2": + "1.6.4": folder: all "1.6.3": folder: all + "1.6.2": + folder: all From a9cd59bb8a35f567e07a32264beb3855ab5b6bda Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 17:26:39 +0200 Subject: [PATCH 2434/4087] (#18804) enjincppsdk: migrate to Conan v2 * enjincppsdk: migrate to Conan v2 * enjincppsdk: fix RapidJSON version check --- recipes/enjincppsdk/all/CMakeLists.txt | 7 - recipes/enjincppsdk/all/conanfile.py | 120 +++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../enjincppsdk/all/test_package/conanfile.py | 23 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 +++ 6 files changed, 105 insertions(+), 77 deletions(-) delete mode 100644 recipes/enjincppsdk/all/CMakeLists.txt create mode 100644 recipes/enjincppsdk/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/enjincppsdk/all/test_v1_package/conanfile.py diff --git a/recipes/enjincppsdk/all/CMakeLists.txt b/recipes/enjincppsdk/all/CMakeLists.txt deleted file mode 100644 index 9d48e327cd88a..0000000000000 --- a/recipes/enjincppsdk/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory("source_subfolder") diff --git a/recipes/enjincppsdk/all/conanfile.py b/recipes/enjincppsdk/all/conanfile.py index 172ca8e02037d..8af63eb0a3f23 100644 --- a/recipes/enjincppsdk/all/conanfile.py +++ b/recipes/enjincppsdk/all/conanfile.py @@ -1,21 +1,26 @@ -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.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, save, replace_in_file +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class EnjinCppSdk(ConanFile): name = "enjincppsdk" description = "A C++ SDK for development on the Enjin blockchain platform." license = "Apache-2.0" - topics = ("enjin", "sdk", "blockchain") - homepage = "https://github.com/enjin/enjin-cpp-sdk" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/enjin/enjin-cpp-sdk" + topics = ("enjin", "sdk", "blockchain") - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -29,108 +34,107 @@ class EnjinCppSdk(ConanFile): "with_default_ws_client": False, } - _cmake = None - short_paths = True - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - @property def _minimum_compilers_version(self): return { "Visual Studio": "16", + "msvc": "192", "gcc": "9", "clang": "10", + "apple-clang": "12", } - def export_sources(self): - self.copy("CMakeLists.txt") - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if self.options.with_default_http_client: self.options["cpp-httplib"].with_openssl = True self.options["spdlog"].header_only = True + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): if self.options.with_default_http_client: - self.requires("cpp-httplib/0.8.5") + self.requires("cpp-httplib/0.14.1") if self.options.with_default_ws_client: - self.requires("ixwebsocket/11.0.4") - - self.requires("rapidjson/1.1.0") - self.requires("spdlog/1.8.2") + self.requires("ixwebsocket/11.4.3") - def build_requirements(self): - self.build_requires("cmake/3.16.9") + self.requires("rapidjson/cci.20220822") + self.requires("spdlog/1.12.0") def validate(self): # Validations for OS - if self.settings.os == "Macos": - raise ConanInvalidConfiguration("macOS is not supported at this time. Contributions are welcomed.") + if is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.settings.os} is not supported at this time. Contributions are welcomed.") # Validations for minimum required C++ standard compiler = self.settings.compiler - if compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 17) - + check_min_cppstd(self, 17) minimum_version = self._minimum_compilers_version.get(str(compiler), False) if not minimum_version: - self.output.warn("C++17 support is required. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(compiler.version) < minimum_version: + self.output.warning("C++17 support is required. Your compiler is unknown. Assuming it supports C++17.") + elif Version(compiler.version) < minimum_version: raise ConanInvalidConfiguration("C++17 support is required, which your compiler does not support.") if compiler == "clang" and compiler.libcxx != "libstdc++11": raise ConanInvalidConfiguration("libstdc++11 is required for clang.") # Validations for dependencies - if not self.options["spdlog"].header_only: + if not self.dependencies["spdlog"].options.header_only: raise ConanInvalidConfiguration(f"{self.name} requires spdlog:header_only=True to be enabled.") - if self.options.with_default_http_client and not self.options["cpp-httplib"].with_openssl: - raise ConanInvalidConfiguration(f"{self.name} requires cpp-httplib:with_openssl=True when using " - f"with_default_http_client=True.") - - def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + if self.options.with_default_http_client and not self.dependencies["cpp-httplib"].options.with_openssl: + raise ConanInvalidConfiguration( + f"{self.name} requires cpp-httplib:with_openssl=True when using with_default_http_client=True." + ) - def _configure_cmake(self): - if self._cmake: - return self._cmake + def build_requirements(self): + self.tool_requires("cmake/[>=3.16]") - self._cmake = CMake(self) - self._cmake.definitions["ENJINSDK_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["ENJINSDK_BUILD_TESTS"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENJINSDK_BUILD_SHARED"] = self.options.shared + tc.variables["ENJINSDK_BUILD_TESTS"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "RAPIDJSON", "RapidJSON") + # Remove version check for RapidJSON + save(self, os.path.join(self.source_folder, "cmake", "enjinsdk_find_rapidjson.cmake"), + "find_package(RapidJSON REQUIRED CONFIG)") 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() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "enjinsdk")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "enjinsdk")) def package_info(self): + self.cpp_info.libs = ["enjinsdk"] + self.cpp_info.set_property("cmake_file_name", "enjinsdk") self.cpp_info.set_property("cmake_target_name", "enjinsdk::enjinsdk") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "enjinsdk" self.cpp_info.names["cmake_find_package_multi"] = "enjinsdk" - self.cpp_info.libs = ["enjinsdk"] diff --git a/recipes/enjincppsdk/all/test_package/CMakeLists.txt b/recipes/enjincppsdk/all/test_package/CMakeLists.txt index 30e76e5090606..a986c4e5f3431 100644 --- a/recipes/enjincppsdk/all/test_package/CMakeLists.txt +++ b/recipes/enjincppsdk/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(enjinsdk REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/enjincppsdk/all/test_package/conanfile.py b/recipes/enjincppsdk/all/test_package/conanfile.py index 4a5eb7410ea85..ef5d7042163ec 100644 --- a/recipes/enjincppsdk/all/test_package/conanfile.py +++ b/recipes/enjincppsdk/all/test_package/conanfile.py @@ -1,12 +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 -required_conan_version = ">=1.43.0" - 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) @@ -14,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/enjincppsdk/all/test_v1_package/CMakeLists.txt b/recipes/enjincppsdk/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/enjincppsdk/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/enjincppsdk/all/test_v1_package/conanfile.py b/recipes/enjincppsdk/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4a5eb7410ea85 --- /dev/null +++ b/recipes/enjincppsdk/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + +required_conan_version = ">=1.43.0" + + +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 61381289ec90988ff83e52d00991c754ae96000d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 18:14:05 +0200 Subject: [PATCH 2435/4087] (#18354) yandex-ozo: migrate to Conan v2 * yandex-ozo: migrate to Conan v2 * yandex-ozo: add v0.1.0 --- recipes/yandex-ozo/all/conandata.yml | 5 +- recipes/yandex-ozo/all/conanfile.py | 82 +++++++++++-------- .../all/test_package/CMakeLists.txt | 5 +- .../yandex-ozo/all/test_package/conanfile.py | 23 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 ++++ recipes/yandex-ozo/config.yml | 4 +- 7 files changed, 97 insertions(+), 47 deletions(-) create mode 100644 recipes/yandex-ozo/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/yandex-ozo/all/test_v1_package/conanfile.py diff --git a/recipes/yandex-ozo/all/conandata.yml b/recipes/yandex-ozo/all/conandata.yml index 721b757b4db38..4d72913a6563c 100644 --- a/recipes/yandex-ozo/all/conandata.yml +++ b/recipes/yandex-ozo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.0": + url: "https://github.com/yandex/ozo/archive/refs/tags/v0.1.0.tar.gz" + sha256: "bf4f07c8105f9d5ccf0eebf88d3e33ee440b5668493f63e62de2cd184e80b39a" "cci.20210509": url: "https://github.com/yandex/ozo/archive/1b06a00ec3cea09108557bbec71cc7a6455dfb6b.tar.gz" - sha256: 97eaa2145be4366c390762e8a4d63e507e8be02a37f2c50e5ba0104a1ca192ee + sha256: "97eaa2145be4366c390762e8a4d63e507e8be02a37f2c50e5ba0104a1ca192ee" diff --git a/recipes/yandex-ozo/all/conanfile.py b/recipes/yandex-ozo/all/conanfile.py index 109eee16dc1f2..4da522edd42b6 100644 --- a/recipes/yandex-ozo/all/conanfile.py +++ b/recipes/yandex-ozo/all/conanfile.py @@ -1,26 +1,30 @@ -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from conans.tools import check_min_cppstd, Version import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" class YandexOzoConan(ConanFile): name = "yandex-ozo" description = "C++ header-only library for asynchronous access to PostgreSQL databases using ASIO" - topics = ("ozo", "yandex", "postgres", "postgresql", "cpp17", "database", "db", "asio") + license = "PostgreSQL" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/yandex/ozo" - license = "PostgreSQL" + topics = ("ozo", "yandex", "postgres", "postgresql", "cpp17", "database", "db", "asio", "header-only") - settings = "os", "compiler" - requires = ("boost/1.76.0", "resource_pool/cci.20210322", "libpq/13.2") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -31,15 +35,26 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.79.0") + self.requires("resource_pool/cci.20210322") + self.requires("libpq/15.4") + + def package_id(self): + self.info.clear() + def _validate_compiler_settings(self): compiler = self.settings.compiler if compiler.get_safe("cppstd"): - check_min_cppstd(self, "17") + check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warn("ozo requires C++17. Your compiler is unknown. Assuming it supports C++17.") - elif tools.Version(self.settings.compiler.version) < minimum_version: + self.output.warning("ozo requires C++17. Your compiler is unknown. Assuming it supports C++17.") + elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("ozo requires a compiler that supports at least C++17") def validate(self): @@ -49,38 +64,37 @@ def validate(self): self._validate_compiler_settings() def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - self.copy(pattern="*", dst=os.path.join("include", "ozo"), src=os.path.join(self._source_subfolder, "include", "ozo")) - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - - def package_id(self): - self.info.header_only() + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include", "ozo"), + src=os.path.join(self.source_folder, "include", "ozo")) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + main_comp = self.cpp_info.components["_ozo"] - main_comp.requires = [ - "boost::boost", "boost::system", "boost::thread", "boost::coroutine", - "resource_pool::resource_pool", - "libpq::pq", - ] - main_comp.defines = [ - "BOOST_HANA_CONFIG_ENABLE_STRING_UDL", - "BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT", - ] - main_comp.names["cmake_find_package"] = "ozo" - main_comp.names["cmake_find_package_multi"] = "ozo" + main_comp.requires = ["boost::boost", "boost::system", "boost::thread", "boost::coroutine", "resource_pool::resource_pool", "libpq::pq"] + main_comp.defines = ["BOOST_HANA_CONFIG_ENABLE_STRING_UDL", "BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT"] + main_comp.set_property("cmake_target_name", "yandex::ozo") compiler = self.settings.compiler version = Version(compiler.version) if compiler == "clang" or compiler == "apple-clang" or (compiler == "gcc" and version >= 9): - main_comp.cxxflags = [ - "-Wno-gnu-string-literal-operator-template", - "-Wno-gnu-zero-variadic-macro-arguments", - ] + main_comp.cxxflags = ["-Wno-gnu-string-literal-operator-template", "-Wno-gnu-zero-variadic-macro-arguments"] + self.cpp_info.set_property("cmake_file_name", "ozo") + self.cpp_info.set_property("cmake_target_name", "yandex::ozo") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "ozo" self.cpp_info.filenames["cmake_find_package_multi"] = "ozo" self.cpp_info.names["cmake_find_package"] = "yandex" self.cpp_info.names["cmake_find_package_multi"] = "yandex" + main_comp.names["cmake_find_package"] = "ozo" + main_comp.names["cmake_find_package_multi"] = "ozo" diff --git a/recipes/yandex-ozo/all/test_package/CMakeLists.txt b/recipes/yandex-ozo/all/test_package/CMakeLists.txt index 3b7c3844b7820..c6f6cbeee93dc 100644 --- a/recipes/yandex-ozo/all/test_package/CMakeLists.txt +++ b/recipes/yandex-ozo/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) find_package(ozo REQUIRED CONFIG) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - add_executable(example request.cpp) target_compile_features(example PRIVATE cxx_std_17) target_link_libraries(example PRIVATE yandex::ozo) diff --git a/recipes/yandex-ozo/all/test_package/conanfile.py b/recipes/yandex-ozo/all/test_package/conanfile.py index a614ddb69f634..8d52b7021efe1 100644 --- a/recipes/yandex-ozo/all/test_package/conanfile.py +++ b/recipes/yandex-ozo/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class YandexOzoTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "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/yandex-ozo/all/test_v1_package/CMakeLists.txt b/recipes/yandex-ozo/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/yandex-ozo/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/yandex-ozo/all/test_v1_package/conanfile.py b/recipes/yandex-ozo/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a614ddb69f634 --- /dev/null +++ b/recipes/yandex-ozo/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class YandexOzoTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake_find_package_multi", "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) diff --git a/recipes/yandex-ozo/config.yml b/recipes/yandex-ozo/config.yml index c03d35124053d..351234e35c85a 100644 --- a/recipes/yandex-ozo/config.yml +++ b/recipes/yandex-ozo/config.yml @@ -1,3 +1,5 @@ versions: + "0.1.0": + folder: all "cci.20210509": - folder: "all" + folder: all From efaf8e845e9734270fc0e88a9ded10e29997e80a Mon Sep 17 00:00:00 2001 From: Vladyslav Usenko Date: Wed, 8 Nov 2023 18:05:58 +0100 Subject: [PATCH 2436/4087] (#18801) librealsense: add version 2.53.1 * Update conandata for librealsense * Update config * Fixing patches * Fixing patches * Fixed patches --- recipes/librealsense/all/conandata.yml | 21 +++++ .../all/patches/2.53.1-0001-fix-cmake.patch | 82 +++++++++++++++++++ .../patches/2.53.1-0002-fix-avx-check.patch | 13 +++ ...003-fix-GUID_DEVINTERFACE_USB_DEVICE.patch | 14 ++++ recipes/librealsense/config.yml | 2 + 5 files changed, 132 insertions(+) create mode 100644 recipes/librealsense/all/patches/2.53.1-0001-fix-cmake.patch create mode 100644 recipes/librealsense/all/patches/2.53.1-0002-fix-avx-check.patch create mode 100644 recipes/librealsense/all/patches/2.53.1-0003-fix-GUID_DEVINTERFACE_USB_DEVICE.patch diff --git a/recipes/librealsense/all/conandata.yml b/recipes/librealsense/all/conandata.yml index 881a52d920da1..1f042ec677a64 100644 --- a/recipes/librealsense/all/conandata.yml +++ b/recipes/librealsense/all/conandata.yml @@ -1,4 +1,19 @@ sources: + "2.53.1": + source: + url: "https://github.com/IntelRealSense/librealsense/archive/refs/tags/v2.53.1.tar.gz" + sha256: "e09d0cca0316fa02427ce749c4e9cc8d34e3a86c127b32a8dca3ef483e71e908" + firmware: + - url: "https://librealsense.intel.com/Releases/RS4xx/FW/D4XX_FW_Image-5.14.0.0.bin" + sha256: "c956a583ee3fcea105c00164eb3a0aad28643f62d54c99ad80724dd7a6c038e8" + - url: "https://librealsense.intel.com/Releases/SR300/FW/SR3XX_FW_Image-3.26.1.0.bin" + sha256: "c4ac2144df13c3a64fca9d16c175595c903e6e45f02f0f238630a223b07c14d1" + - url: "https://librealsense.intel.com/Releases/TM2/FW/target/0.2.0.951/target-0.2.0.951.mvcmd" + sha256: "0265fd111611908b822cdaf4a3fe5b631c50539b2805d2f364c498aa71c007c0" + - url: "https://librealsense.intel.com/Releases/L5xx/FW/L51X_FW_Image-1.5.8.1.bin" + sha256: "87a9a91b613d9d807b2bfc424abe9cac63cad75dfc04718592c44777cb0b4452" + - url: "https://librealsense.intel.com/Releases/L5xx/FW/L53X_FW_Image-3.5.5.1.bin" + sha256: "b837b2cff2b270b89eed3c0b212ab4108389a20b6e07c19dd5957918ff9ce7e0" "2.49.0": source: url: "https://github.com/IntelRealSense/librealsense/archive/refs/tags/v2.49.0.tar.gz" @@ -15,6 +30,12 @@ sources: - url: "https://librealsense.intel.com/Releases/L5xx/FW/L53X_FW_Image-3.5.5.1.bin" sha256: "b837b2cff2b270b89eed3c0b212ab4108389a20b6e07c19dd5957918ff9ce7e0" patches: + "2.53.1": + - patch_file: "patches/2.53.1-0001-fix-cmake.patch" + - patch_file: "patches/2.53.1-0002-fix-avx-check.patch" + - patch_file: "patches/2.53.1-0003-fix-GUID_DEVINTERFACE_USB_DEVICE.patch" + patch_description: "Fix undefined ref to GUID_DEVINTERFACE_USB_DEVICE on Windows" + patch_type: "conan" "2.49.0": - patch_file: "patches/2.49.0-0001-fix-cmake.patch" - patch_file: "patches/2.49.0-0002-fix-avx-check.patch" diff --git a/recipes/librealsense/all/patches/2.53.1-0001-fix-cmake.patch b/recipes/librealsense/all/patches/2.53.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..b36abfb210bed --- /dev/null +++ b/recipes/librealsense/all/patches/2.53.1-0001-fix-cmake.patch @@ -0,0 +1,82 @@ +--- a/CMake/install_config.cmake ++++ b/CMake/install_config.cmake +@@ -48,4 +48,4 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/config/realsense2.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + ) + +-install(CODE "execute_process(COMMAND ldconfig)") ++# install(CODE "execute_process(COMMAND ldconfig)") +--- a/CMake/libusb_config.cmake ++++ b/CMake/libusb_config.cmake +@@ -1,14 +1,5 @@ + if (NOT TARGET usb) +- find_library(LIBUSB_LIB usb-1.0) +- find_path(LIBUSB_INC libusb.h HINTS PATH_SUFFIXES libusb-1.0) +- include(FindPackageHandleStandardArgs) +- find_package_handle_standard_args(usb "libusb not found; using internal version" LIBUSB_LIB LIBUSB_INC) +- if (USB_FOUND AND NOT USE_EXTERNAL_USB) +- add_library(usb INTERFACE) +- target_include_directories(usb INTERFACE ${LIBUSB_INC}) +- target_link_libraries(usb INTERFACE ${LIBUSB_LIB}) +- else() +- include(CMake/external_libusb.cmake) +- endif() +- install(TARGETS usb EXPORT realsense2Targets) ++ find_package(libusb REQUIRED CONFIG) ++ add_library(usb INTERFACE IMPORTED) ++ set_property(TARGET usb PROPERTY INTERFACE_LINK_LIBRARIES libusb::libusb) + endif() +--- a/CMake/windows_config.cmake ++++ b/CMake/windows_config.cmake +@@ -57,8 +57,9 @@ macro(os_target_config) + if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) + message("Preparing Windows 7 drivers" ) + make_directory(${CMAKE_CURRENT_BINARY_DIR}/drivers/) +- file(GLOB DRIVERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/" "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/*") +- foreach(item IN LISTS DRIVERS) ++ file(GLOB DRIVERS "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/" "${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/*") ++ foreach(_driver_path IN LISTS DRIVERS) ++ get_filename_component(item ${_driver_path} NAME) + message("Copying ${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/${item} to ${CMAKE_CURRENT_BINARY_DIR}/drivers/" ) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/win7/drivers/${item}" "${CMAKE_CURRENT_BINARY_DIR}/drivers/${item}" COPYONLY) + endforeach() +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,7 @@ set(REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) + include_directories(${REPO_ROOT}) + + include(CMake/lrs_options.cmake) +-include(CMake/connectivity_check.cmake) ++set(INTERNET_CONNECTION ON) + #Deprecation message, should be removed in future releases + if(${FORCE_LIBUVC} OR ${FORCE_WINUSB_UVC} OR ${ANDROID_USB_HOST_UVC}) + MESSAGE(DEPRECATION "FORCE_LIBUVC, FORCE_WINUSB_UVC and ANDROID_USB_HOST_UVC are deprecated, use FORCE_RSUSB_BACKEND instead") +--- a/common/fw/CMakeLists.txt ++++ b/common/fw/CMakeLists.txt +@@ -64,16 +64,16 @@ set_target_properties (${PROJECT_NAME} PROPERTIES FOLDER Resources) + + function(target_binary url version sha1 symbol ext) + set(binary "${CMAKE_CURRENT_BINARY_DIR}/${symbol}-${version}${ext}") +- message(STATUS "${url}/${symbol}-${version}${ext}") +- file(DOWNLOAD "${url}/${symbol}-${version}${ext}" "${binary}" +- EXPECTED_HASH SHA1=${sha1} +- STATUS status) +- list(GET status 0 error_code) +- if (NOT ${error_code} EQUAL 0) +- message(FATAL_ERROR "Download firmwnare (${status}) - ${url}") +- else() +- message(STATUS "Download firmware ${status} for ${symbol}-${version}${ext}") +- endif() ++# message(STATUS "${url}/${symbol}-${version}${ext}") ++file(COPY "${CMAKE_SOURCE_DIR}/${symbol}-${version}${ext}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}") ++# EXPECTED_HASH SHA1=${sha1} ++# STATUS status) ++# list(GET status 0 error_code) ++# if (NOT ${error_code} EQUAL 0) ++# message(FATAL_ERROR "Download firmwnare (${status}) - ${url}") ++# else() ++# message(STATUS "Download firmware ${status} for ${symbol}-${version}${ext}") ++# endif() + string(TOUPPER ${symbol} SYMBOL) + string(REPLACE "." "," version_commas ${version}) + string(REPLACE "\\" "\\\\" binary_escaped "${binary}") diff --git a/recipes/librealsense/all/patches/2.53.1-0002-fix-avx-check.patch b/recipes/librealsense/all/patches/2.53.1-0002-fix-avx-check.patch new file mode 100644 index 0000000000000..f572d1d03056b --- /dev/null +++ b/recipes/librealsense/all/patches/2.53.1-0002-fix-avx-check.patch @@ -0,0 +1,13 @@ +diff --git a/src/proc/color-formats-converter.cpp b/src/proc/color-formats-converter.cpp +index cc0146a04..920b06c31 100644 +--- a/src/proc/color-formats-converter.cpp ++++ b/src/proc/color-formats-converter.cpp +@@ -18,7 +18,7 @@ + #include // For SSSE3 intrinsics + #endif + +-#if defined (ANDROID) || (defined (__linux__) && !defined (__x86_64__)) || (defined (__APPLE__) && !defined (__x86_64__)) ++#if defined (ANDROID) || !(defined (_M_IX86) || defined (__i386__)) || (defined (__APPLE__) && !defined (__x86_64__)) + + bool has_avx() { return false; } + diff --git a/recipes/librealsense/all/patches/2.53.1-0003-fix-GUID_DEVINTERFACE_USB_DEVICE.patch b/recipes/librealsense/all/patches/2.53.1-0003-fix-GUID_DEVINTERFACE_USB_DEVICE.patch new file mode 100644 index 0000000000000..5993f3e0d4e20 --- /dev/null +++ b/recipes/librealsense/all/patches/2.53.1-0003-fix-GUID_DEVINTERFACE_USB_DEVICE.patch @@ -0,0 +1,14 @@ +--- a/src/win/win-helpers.cpp ++++ b/src/win/win-helpers.cpp +@@ -26,9 +26,9 @@ + #include // DEVPKEY_... + + //https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/supported-usb-classes#microsoft-provided-usb-device-class-drivers +-#ifndef WITH_TRACKING ++// #ifndef WITH_TRACKING + DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE, 0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED); +-#endif ++// #endif + DEFINE_GUID(GUID_DEVINTERFACE_IMAGE_WIN10, 0x6bdd1fc6L, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f); + DEFINE_GUID(GUID_DEVINTERFACE_CAMERA_WIN10, 0xca3e7ab9, 0xb4c3, 0x4ae6, 0x82, 0x51, 0x57, 0x9e, 0xf9, 0x33, 0x89, 0x0f); + diff --git a/recipes/librealsense/config.yml b/recipes/librealsense/config.yml index 3505cc5770e1a..28458effcc8e9 100644 --- a/recipes/librealsense/config.yml +++ b/recipes/librealsense/config.yml @@ -1,3 +1,5 @@ versions: + "2.53.1": + folder: all "2.49.0": folder: all From eb85cb68b84be27c926d0471c7b4828c44793828 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 20:10:49 +0200 Subject: [PATCH 2437/4087] (#18635) re2c: migrate to Conan v2 * re2c: migrate to Conan v2 * re2c: fix Windows build * re2c: fix removed options * re2c: add v3.1 * re2c: drop test_v1_package * re2c: replace_in_file(strict=False) * re2c: drop message for PATH * re2c: add -FS * re2c: correct license Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/re2c/all/conandata.yml | 18 +-- recipes/re2c/all/conanfile.py | 138 ++++++++++-------- .../all/patches/0001-add-msvc_cl-sh.patch | 94 ------------ recipes/re2c/all/test_package/CMakeLists.txt | 7 +- recipes/re2c/all/test_package/conanfile.py | 23 ++- recipes/re2c/config.yml | 2 + 6 files changed, 98 insertions(+), 184 deletions(-) delete mode 100644 recipes/re2c/all/patches/0001-add-msvc_cl-sh.patch diff --git a/recipes/re2c/all/conandata.yml b/recipes/re2c/all/conandata.yml index 6123ba01ce5a3..e8f43a925d5ec 100644 --- a/recipes/re2c/all/conandata.yml +++ b/recipes/re2c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1": + url: "https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz" + sha256: "0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029" "3.0": url: "https://github.com/skvadrik/re2c/releases/download/3.0/re2c-3.0.tar.xz" sha256: "b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b" @@ -15,20 +18,5 @@ sources: url: "https://github.com/skvadrik/re2c/releases/download/1.3/re2c-1.3.tar.xz" sha256: "f37f25ff760e90088e7d03d1232002c2c2672646d5844fdf8e0d51a5cd75a503" patches: - "3.0": - - patch_file: "patches/0001-add-msvc_cl-sh.patch" - base_path: "" - "2.2": - - patch_file: "patches/0001-add-msvc_cl-sh.patch" - base_path: "" - "2.1.1": - - patch_file: "patches/0001-add-msvc_cl-sh.patch" - base_path: "" "2.0.3": - - patch_file: "patches/0001-add-msvc_cl-sh.patch" - base_path: "" - patch_file: "patches/2.0.3-0001-add-missing-include.patch" - base_path: "source_subfolder" - "1.3": - - patch_file: "patches/0001-add-msvc_cl-sh.patch" - base_path: "" diff --git a/recipes/re2c/all/conanfile.py b/recipes/re2c/all/conanfile.py index fd56a51318aa2..dcc666816d3e4 100644 --- a/recipes/re2c/all/conanfile.py +++ b/recipes/re2c/all/conanfile.py @@ -1,95 +1,107 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from contextlib import contextmanager import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rmdir, replace_in_file +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 Re2CConan(ConanFile): name = "re2c" - description = "re2c is a free and open-source lexer generator for C, C++ and Go." - topics = ("re2c", "lexer", "language", "tokenizer", "flex") + description = "re2c is a free and open-source lexer generator for C/C++, Go and Rust." + license = "LicenseRef-re2c" url = "https://github.com/conan-io/conan-center-index" homepage = "http://re2c.org/" - license = "Unlicense" - settings = "os", "arch", "build_type", "compiler" - - _autotools = None + topics = ("lexer", "language", "tokenizer", "flex") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + export_conandata_patches(self) def configure(self): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.compiler - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - @contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "{} -nologo".format(tools.unix_path(os.path.join(self.build_folder, "msvc_cl.sh"))), - "CXX": "{} -nologo".format(tools.unix_path(os.path.join(self.build_folder, "msvc_cl.sh"))), - "LD": "{} -nologo".format(tools.unix_path(os.path.join(self.build_folder, "msvc_cl.sh"))), - "CXXLD": "{} -nologo".format(tools.unix_path(os.path.join(self.build_folder, "msvc_cl.sh"))), - "AR": "lib", - } - with tools.environment_append(env): - yield - else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.compiler == "Visual Studio": - self._autotools.flags.append("-FS") - self._autotools.cxx_flags.append("-EHsc") - self._autotools.configure(configure_dir=self._source_subfolder) - return self._autotools + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + self.tool_requires("winflexbison/2.5.24") + if is_msvc(self): + self.tool_requires("cccl/1.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + tc = AutotoolsToolchain(self) + tc.configure_args.append("--disable-benchmarks") + env = tc.environment() + if is_msvc(self): + tc.extra_cxxflags.append("-EHsc") + env.define("CC", "cccl -FS") + env.define("CXX", "cccl -FS") + env.define("LD", "cccl") + env.define("CXXLD", "cccl") + tc.generate(env) + + def _patch_sources(self): + apply_conandata_patches(self) + # Don't copy benchmark files, which cause the build to fail on Windows + replace_in_file(self, os.path.join(self.source_folder, "configure"), + '"$ac_config_files Makefile ', + '"$ac_config_files Makefile" #', + strict=False) + replace_in_file(self, os.path.join(self.source_folder, "configure"), + '"$ac_config_links ', + '"$ac_config_links" #', + strict=False) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with self._build_context(): - autotools = self._configure_autotools() + self._patch_sources() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make(args=["V=1"]) def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses", keep_path=False) - self.copy("NO_WARRANTY", src=self._source_subfolder, dst="licenses", keep_path=False) - with self._build_context(): - autotools = self._configure_autotools() + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + copy(self, "NO_WARRANTY", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.install() - - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) self.env_info.PATH.append(bin_path) diff --git a/recipes/re2c/all/patches/0001-add-msvc_cl-sh.patch b/recipes/re2c/all/patches/0001-add-msvc_cl-sh.patch deleted file mode 100644 index c9bc0abc63639..0000000000000 --- a/recipes/re2c/all/patches/0001-add-msvc_cl-sh.patch +++ /dev/null @@ -1,94 +0,0 @@ -new file mode 100755 ---- /dev/null -+++ msvc_cl.sh -@@ -0,0 +1,90 @@ -+#!/bin/sh -+clopts=() -+ldopts=() -+sources=0 -+link=0 -+while test $# -gt 0; do -+ case "$1" in -+ -lm | -pthread | -lpthread | -std=c++98) -+ # ignore -+ ;; -+ -Xlinker) -+ shift -+ ;; -+ -W* | -w* | -pedantic) -+ # ignore warnings -+ ;; -+ -D*) -+ clopts+=("$1") -+ ;; -+ -I*) -+ clopts+=("$1") -+ ;; -+ -l*) -+ ldopts+=("`echo "$1.lib" | sed "s/^-l//"`") -+ ;; -+ -LIBPATH*) -+ ldopts+=("$1") -+ ;; -+ -L*) -+ ldopts+=("`echo "$1" | sed "s/^-L/-LIBPATH:/"`") -+ ;; -+ *.obj | *.o) -+ link=1 -+ ldopts+=("$1") -+ ;; -+ -Wl,*) -+ for linkarg in `echo '$1' | sed -e 's/-Wl,//' -e 's/,/ /'`; do -+ ldopts+=("${linkarg}") -+ done -+ ;; -+ *.lib) -+ ldopts+=("$1") -+ ;; -+ -o) -+ shift -+ case "$1" in -+ *.dll | *.exe) -+ link=1 -+ ldopts+=("-out:$1") -+ ;; -+ *.o | *.obj) -+ link=0 -+ clopts+=("-Fo$1") -+ ;; -+ esac -+ ;; -+ -implib* | -IMPLIB*) -+ ldopts+=("$1") -+ ;; -+ -c | *.c | *.C | *.cxx | *.cpp | *.cc | *.CC) -+ sources=1 -+ clopts+=("$1") -+ ;; -+ *) -+ clopts+=("$1") -+ ;; -+ esac -+ shift -+done -+ -+args="${clopts[@]}" -+if test $link = 1; then -+ if test $sources = 0; then -+ args="${ldopts[@]}" -+cat <<-EOF -+ Creating program/library -+ ** ld options: "$args" -+EOF -+ LINK= exec link -nologo $args -+ else -+ args="$args -link ${ldopts[@]}" -+ fi -+fi -+ -+cat <<-EOF -+ Compiling source -+ ** cl options: "$args" -+EOF -+ -+LINK= exec cl -nologo $args diff --git a/recipes/re2c/all/test_package/CMakeLists.txt b/recipes/re2c/all/test_package/CMakeLists.txt index 9f0917e64ea34..db2c3e52befc0 100644 --- a/recipes/re2c/all/test_package/CMakeLists.txt +++ b/recipes/re2c/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - add_custom_command(OUTPUT test_package.c - COMMAND re2c -W "${PROJECT_SOURCE_DIR}/syntax.re" -o test_package.c + COMMAND re2c -W "${CMAKE_CURRENT_LIST_DIR}/syntax.re" -o test_package.c ) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/re2c/all/test_package/conanfile.py b/recipes/re2c/all/test_package/conanfile.py index a886f5f0a7632..91315a6314ef7 100644 --- a/recipes/re2c/all/test_package/conanfile.py +++ b/recipes/re2c/all/test_package/conanfile.py @@ -1,18 +1,27 @@ -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 build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - if not tools.cross_building(self, skip_x64_x86=True): + if can_run(self): cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + 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/re2c/config.yml b/recipes/re2c/config.yml index ca4059985b6a4..fd91d5170215c 100644 --- a/recipes/re2c/config.yml +++ b/recipes/re2c/config.yml @@ -1,4 +1,6 @@ versions: + "3.1": + folder: "all" "3.0": folder: "all" "2.2": From 03955600efee4952d6978a39b56a81d542a9e6f5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 20:15:56 +0200 Subject: [PATCH 2438/4087] (#18696) sqlpp11-connector-sqlite3: migrate to Conan v2 * sqlpp11-connector-sqlite3: migrate to Conan v2 * sqlpp11-connector-sqlite3: fix CMake path --- .../all/CMakeLists.txt | 7 -- .../all/conandata.yml | 2 - .../all/conanfile.py | 96 +++++++++++-------- .../all/patches/cmake-dependencies.patch | 8 +- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 32 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 29 ++++++ 8 files changed, 125 insertions(+), 66 deletions(-) delete mode 100644 recipes/sqlpp11-connector-sqlite3/all/CMakeLists.txt create mode 100644 recipes/sqlpp11-connector-sqlite3/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sqlpp11-connector-sqlite3/all/test_v1_package/conanfile.py diff --git a/recipes/sqlpp11-connector-sqlite3/all/CMakeLists.txt b/recipes/sqlpp11-connector-sqlite3/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/sqlpp11-connector-sqlite3/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/sqlpp11-connector-sqlite3/all/conandata.yml b/recipes/sqlpp11-connector-sqlite3/all/conandata.yml index 6f7198fb9a268..9beca69bcc840 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/conandata.yml +++ b/recipes/sqlpp11-connector-sqlite3/all/conandata.yml @@ -8,7 +8,5 @@ sources: patches: "0.29": - patch_file: "patches/cmake-dependencies.patch" - base_path: "source_subfolder" "0.30": - patch_file: "patches/cmake-dependencies.patch" - base_path: "source_subfolder" diff --git a/recipes/sqlpp11-connector-sqlite3/all/conanfile.py b/recipes/sqlpp11-connector-sqlite3/all/conanfile.py index 964d73c54cc6d..323830b296d9a 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/conanfile.py +++ b/recipes/sqlpp11-connector-sqlite3/all/conanfile.py @@ -1,30 +1,36 @@ -from conans import ConanFile, CMake, tools import os +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, replace_in_file + +required_conan_version = ">=1.53.0" + class sqlpp11Conan(ConanFile): name = "sqlpp11-connector-sqlite3" description = "A C++ wrapper for sqlite3 meant to be used in combination with sqlpp11." - topics = ("conan", "sqlpp11-connector-sqlite3", "sqlite3", "sqlpp11", "sql", "database") - settings = "os", "compiler", "build_type", "arch" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rbock/sqlpp11-connector-sqlite3" - license = "BSD-2-Clause" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" - options = {"shared": [True, False], "fPIC": [True, False], "with_sqlcipher": [True, False]} - default_options = {"shared": False, "fPIC": True, "with_sqlcipher": False} - short_paths = True - - _cmake = None + topics = ("sqlite3", "sqlpp11", "sql", "database") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_sqlcipher": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_sqlcipher": False, + } - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -32,46 +38,54 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def requirements(self): - self.requires("sqlpp11/0.59") + self.requires("sqlpp11/0.60", transitive_headers=True, transitive_libs=True) if self.options.with_sqlcipher: - self.requires("sqlcipher/4.4.0") + self.requires("sqlcipher/4.5.1", transitive_headers=True, transitive_libs=True) else: - self.requires("sqlite3/3.32.3") + self.requires("sqlite3/3.43.2", transitive_headers=True, transitive_libs=True) 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_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["ENABLE_TESTS"] = False - self._cmake.definitions["SQLCIPHER"] = self.options.with_sqlcipher - self._cmake.definitions["SQLPP11_INCLUDE_DIR"] = self.deps_cpp_info["sqlpp11"].include_paths[0] - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_TESTS"] = False + tc.variables["SQLCIPHER"] = self.options.with_sqlcipher + tc.variables["SQLPP11_INCLUDE_DIR"] = self.dependencies["sqlpp11"].cpp_info.includedir.replace("\\", "/") + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "Sqlite3", "SQLite3") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.libs = ["sqlpp11-connector-sqlite3"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] if self.options.with_sqlcipher: self.cpp_info.defines = ["SQLPP_USE_SQLCIPHER"] diff --git a/recipes/sqlpp11-connector-sqlite3/all/patches/cmake-dependencies.patch b/recipes/sqlpp11-connector-sqlite3/all/patches/cmake-dependencies.patch index e9244768a488a..4404ff45a4a13 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/patches/cmake-dependencies.patch +++ b/recipes/sqlpp11-connector-sqlite3/all/patches/cmake-dependencies.patch @@ -10,19 +10,21 @@ $ $) -@@ -58,14 +55,13 @@ endif() +@@ -58,14 +55,16 @@ endif() if (SQLCIPHER) target_compile_definitions(sqlpp11-connector-sqlite3 PUBLIC SQLPP_USE_SQLCIPHER) -- target_link_libraries(sqlpp11-connector-sqlite3 SQLCipher::SQLCipher) + target_link_libraries(sqlpp11-connector-sqlite3 SQLCipher::SQLCipher) if (SQLPP_DYNAMIC_LOADING) target_compile_definitions(sqlpp11-connector-sqlite3-dynamic PUBLIC SQLPP_USE_SQLCIPHER) target_include_directories(sqlpp11-connector-sqlite3-dynamic PUBLIC ${SQLCIPHER_INCLUDE_DIRS}) endif() else() - target_link_libraries(sqlpp11-connector-sqlite3 ${SQLITE3_LIBRARIES}) ++ target_link_libraries(sqlpp11-connector-sqlite3 SQLite::SQLite3) endif() -+target_link_libraries(sqlpp11-connector-sqlite3 ${CONAN_LIBS}) ++find_package(Sqlpp11 REQUIRED) ++target_link_libraries(sqlpp11-connector-sqlite3 sqlpp11::sqlpp11) install(TARGETS sqlpp11-connector-sqlite3 ARCHIVE DESTINATION lib diff --git a/recipes/sqlpp11-connector-sqlite3/all/test_package/CMakeLists.txt b/recipes/sqlpp11-connector-sqlite3/all/test_package/CMakeLists.txt index 33ae887aa6aea..b337307874b0e 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/test_package/CMakeLists.txt +++ b/recipes/sqlpp11-connector-sqlite3/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(sqlpp11-connector-sqlite3 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE sqlpp11-connector-sqlite3::sqlpp11-connector-sqlite3) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/sqlpp11-connector-sqlite3/all/test_package/conanfile.py b/recipes/sqlpp11-connector-sqlite3/all/test_package/conanfile.py index 008c4dc3fb8e3..ad0d5f8f22ebd 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/test_package/conanfile.py +++ b/recipes/sqlpp11-connector-sqlite3/all/test_package/conanfile.py @@ -1,11 +1,26 @@ -from conans import ConanFile, CMake, tools import os import sqlite3 +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.files import save, load + 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 generate(self): + with_sqlcipher = bool(self.dependencies["sqlpp11-connector-sqlite3"].options.with_sqlcipher) + save(self, os.path.join(self.build_folder, "with_sqlcipher"), repr(with_sqlcipher)) def build(self): cmake = CMake(self) @@ -13,17 +28,18 @@ 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): + with_sqlcipher = load(self, os.path.join(self.build_folder, "with_sqlcipher")) == "True" + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") # test that the database is encrypted when sqlcipher is used con = sqlite3.connect("test.db") cursor = con.cursor() try: cursor.execute("select * from tab_sample") except sqlite3.DatabaseError: - assert self.options["sqlpp11-connector-sqlite3"].with_sqlcipher + assert with_sqlcipher self.output.info("database is encrypted with sqlcipher") return - assert not self.options["sqlpp11-connector-sqlite3"].with_sqlcipher + assert not with_sqlcipher self.output.info("database is not encrypted") diff --git a/recipes/sqlpp11-connector-sqlite3/all/test_v1_package/CMakeLists.txt b/recipes/sqlpp11-connector-sqlite3/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sqlpp11-connector-sqlite3/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/sqlpp11-connector-sqlite3/all/test_v1_package/conanfile.py b/recipes/sqlpp11-connector-sqlite3/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2e455dff72b5e --- /dev/null +++ b/recipes/sqlpp11-connector-sqlite3/all/test_v1_package/conanfile.py @@ -0,0 +1,29 @@ +from conans import ConanFile, CMake, tools +import os +import sqlite3 + + +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) + # test that the database is encrypted when sqlcipher is used + con = sqlite3.connect("test.db") + cursor = con.cursor() + try: + cursor.execute("select * from tab_sample") + except sqlite3.DatabaseError: + assert self.options["sqlpp11-connector-sqlite3"].with_sqlcipher + self.output.info("database is encrypted with sqlcipher") + return + assert not self.options["sqlpp11-connector-sqlite3"].with_sqlcipher + self.output.info("database is not encrypted") From e4f216cb20fe65b54422d18b1aa7831d9bf106e5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 21:13:45 +0200 Subject: [PATCH 2439/4087] (#18722) libsolace: migrate to Conan v2 * libsolace: migrate to Conan v2 * libsolace: drop old versions that would require patching * libsolace: add v0.4.1 --- recipes/libsolace/all/conandata.yml | 14 +-- recipes/libsolace/all/conanfile.py | 102 ++++++++++++------ .../libsolace/all/test_package/CMakeLists.txt | 7 +- .../libsolace/all/test_package/conanfile.py | 25 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 19 ++++ recipes/libsolace/config.yml | 4 +- 7 files changed, 119 insertions(+), 60 deletions(-) create mode 100644 recipes/libsolace/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libsolace/all/test_v1_package/conanfile.py diff --git a/recipes/libsolace/all/conandata.yml b/recipes/libsolace/all/conandata.yml index f0faad0897234..4f59b4c769d25 100644 --- a/recipes/libsolace/all/conandata.yml +++ b/recipes/libsolace/all/conandata.yml @@ -1,11 +1,7 @@ sources: - "0.3.6": - sha256: ea9847005d0a680264986ddab5b1c077b04b80f02a2529cc38e8191b64ea97c7 - url: https://github.com/abbyssoul/libsolace/archive/v0.3.6.zip - "0.3.7": - sha256: 7f9790f850a0d7209f95be03e1c58e67f91faeec2e12709893cf32e5f09aa6d0 - url: https://github.com/abbyssoul/libsolace/archive/v0.3.7.zip + "0.4.1": + url: "https://github.com/abbyssoul/libsolace/archive/v0.4.1.zip" + sha256: "56d91ff180223322e0a93d62eb9f3974555f085d8e4e6e8435708d2bed0dfa0e" "0.3.9": - sha256: 5a91cc000d0ef5c51fb58197a8e3ef003fa191926f4f2511b7e8940648f007ce - url: https://github.com/abbyssoul/libsolace/archive/v0.3.9.zip - + url: "https://github.com/abbyssoul/libsolace/archive/v0.3.9.zip" + sha256: "5a91cc000d0ef5c51fb58197a8e3ef003fa191926f4f2511b7e8940648f007ce" diff --git a/recipes/libsolace/all/conanfile.py b/recipes/libsolace/all/conanfile.py index ba37d1a345156..e1bc3a637dd18 100644 --- a/recipes/libsolace/all/conanfile.py +++ b/recipes/libsolace/all/conanfile.py @@ -1,66 +1,98 @@ import os -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class LibsolaceConan(ConanFile): name = "libsolace" - description = "High performance components for mission critical applications" - topics = ("HPC", "High reliability", "P10", "solace", "performance", "c++", "conan") + description = "High-performance components for mission-critical applications" + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/abbyssoul/libsolace" - license = "Apache-2.0" - settings = "os", "compiler", "build_type", "arch" + topics = ("HPC", "High reliability", "P10", "solace", "performance", "c++") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, } - default_options = {"shared": False, "fPIC": True} - generators = "cmake" @property - def _source_subfolder(self): - return "source_subfolder" + def _min_cppstd(self): + return 17 @property - def _supported_cppstd(self): - return ["17", "gnu17", "20", "gnu20"] + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "5", + "apple-clang": "9", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): - compiler_version = tools.Version(str(self.settings.compiler.version)) + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + def validate(self): if self.settings.os == "Windows": - raise ConanInvalidConfiguration("This library is not yet compatible with Windows") - # Exclude compilers that claims to support C++17 but do not in practice - if (self.settings.compiler == "gcc" and compiler_version < "7") or \ - (self.settings.compiler == "clang" and compiler_version < "5") or \ - (self.settings.compiler == "apple-clang" and compiler_version < "9"): - raise ConanInvalidConfiguration("This library requires C++17 or higher support standard. {} {} is not supported".format(self.settings.compiler, self.settings.compiler.version)) - if self.settings.compiler.cppstd and not self.settings.compiler.cppstd in self._supported_cppstd: - raise ConanInvalidConfiguration("This library requires c++17 standard or higher. {} required".format(self.settings.compiler.cppstd)) + raise ConanInvalidConfiguration("This library is not yet compatible with Windows") + + 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]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["PKG_CONFIG"] = False + tc.cache_variables["SOLACE_GTEST_SUPPORT"] = False + tc.generate() - def _configure_cmake(self): - cmake = CMake(self, parallel=True) - cmake.definitions["PKG_CONFIG"] = "OFF" - cmake.definitions["SOLACE_GTEST_SUPPORT"] = "OFF" - cmake.configure(source_folder=self._source_subfolder) - return cmake + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)\nconan_basic_setup()", + "") def build(self): - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): self.cpp_info.libs = ["solace"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/libsolace/all/test_package/CMakeLists.txt b/recipes/libsolace/all/test_package/CMakeLists.txt index a4b980e0e807c..8301614166c20 100644 --- a/recipes/libsolace/all/test_package/CMakeLists.txt +++ b/recipes/libsolace/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.3) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libsolace REQUIRED CONFIG) set(CMAKE_CXX_STANDARD_REQUIRED on) @@ -10,4 +9,4 @@ add_executable(example example.cpp) # libsolace requires at least C++17 set_target_properties(example PROPERTIES CXX_STANDARD 17) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example libsolace::libsolace) diff --git a/recipes/libsolace/all/test_package/conanfile.py b/recipes/libsolace/all/test_package/conanfile.py index ce9505669ad4f..8d52b7021efe1 100644 --- a/recipes/libsolace/all/test_package/conanfile.py +++ b/recipes/libsolace/all/test_package/conanfile.py @@ -1,19 +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, tools -class SolaceTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) - # Current dir is "test_package/build/" and CMakeLists.txt is - # in "test_package" cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - with tools.chdir("bin"): - self.run(".%sexample" % os.sep, 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/libsolace/all/test_v1_package/CMakeLists.txt b/recipes/libsolace/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libsolace/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/libsolace/all/test_v1_package/conanfile.py b/recipes/libsolace/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..890f8e01b2489 --- /dev/null +++ b/recipes/libsolace/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +import os +from conans import ConanFile, CMake, tools + + +class SolaceTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + # Current dir is "test_package/build/" and CMakeLists.txt is + # in "test_package" + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + with tools.chdir("bin"): + self.run(".%sexample" % os.sep, run_environment=True) diff --git a/recipes/libsolace/config.yml b/recipes/libsolace/config.yml index e3af7d3426c10..c9e2a428688a9 100644 --- a/recipes/libsolace/config.yml +++ b/recipes/libsolace/config.yml @@ -1,7 +1,5 @@ versions: - 0.3.6: - folder: all - 0.3.7: + 0.4.1: folder: all 0.3.9: folder: all From 715de2c6cad2f1e4765e5e363c676fef2e627281 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 21:34:15 +0200 Subject: [PATCH 2440/4087] (#18815) msgpack-cxx: fix CMake target name * msgpack-cxx: fix CMake target name * msgpack-cxx: fix v1 support --- recipes/msgpack-cxx/all/conanfile.py | 31 +++++++++++++------ .../all/test_package/CMakeLists.txt | 6 +++- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/recipes/msgpack-cxx/all/conanfile.py b/recipes/msgpack-cxx/all/conanfile.py index b2bcb90b0a576..8d22fa5798373 100644 --- a/recipes/msgpack-cxx/all/conanfile.py +++ b/recipes/msgpack-cxx/all/conanfile.py @@ -56,20 +56,26 @@ def package(self): dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include"), ) - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), - {"msgpackc-cxx": "msgpackc-cxx::msgpackc-cxx"} - ) + if Version(self.version) >= "6.0.0": + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"msgpack-cxx": "msgpack-cxx::msgpack-cxx"} + ) + else: + self._create_cmake_module_alias_targets( + os.path.join(self.package_folder, self._module_file_rel_path), + {"msgpackc-cxx": "msgpackc-cxx::msgpackc-cxx"} + ) def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): - content += textwrap.dedent("""\ + content += textwrap.dedent(f"""\ 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) @property @@ -81,8 +87,17 @@ def _module_file_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): + # https://github.com/msgpack/msgpack-c/tree/cpp_master#usage self.cpp_info.set_property("cmake_file_name", "msgpack") - self.cpp_info.set_property("cmake_target_name", "msgpackc-cxx") + + if Version(self.version) >= "6.0.0": + self.cpp_info.set_property("cmake_target_name", "msgpack-cxx") + self.cpp_info.names["cmake_find_package"] = "msgpack-cxx" + self.cpp_info.names["cmake_find_package_multi"] = "msgpack-cxx" + else: + self.cpp_info.set_property("cmake_target_name", "msgpackc-cxx") + self.cpp_info.names["cmake_find_package"] = "msgpackc-cxx" + self.cpp_info.names["cmake_find_package_multi"] = "msgpackc-cxx" self.cpp_info.libdirs = [] self.cpp_info.bindirs = [] @@ -95,7 +110,5 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "msgpack" self.cpp_info.filenames["cmake_find_package_multi"] = "msgpack" - self.cpp_info.names["cmake_find_package"] = "msgpackc-cxx" - self.cpp_info.names["cmake_find_package_multi"] = "msgpackc-cxx" 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/msgpack-cxx/all/test_package/CMakeLists.txt b/recipes/msgpack-cxx/all/test_package/CMakeLists.txt index ed380c765040e..d8ac6bce3d809 100644 --- a/recipes/msgpack-cxx/all/test_package/CMakeLists.txt +++ b/recipes/msgpack-cxx/all/test_package/CMakeLists.txt @@ -4,5 +4,9 @@ project(test_package LANGUAGES CXX) find_package(msgpack REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} msgpackc-cxx) +if(msgpack_VERSION VERSION_GREATER_EQUAL "6.0.0") + target_link_libraries(${PROJECT_NAME} msgpack-cxx) +else() + target_link_libraries(${PROJECT_NAME} msgpackc-cxx) +endif() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) From 3db05e1d2c288065eb50b35415aefab238a4e87f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 8 Nov 2023 21:44:23 +0200 Subject: [PATCH 2441/4087] (#18898) sqlcipher: migrate to Conan v2 * sqlcipher: migrate to Conan v2 * sqlcipher: restore VirtualRunEnv in test_package * sqlcipher: bump deps * sqlcipher: fix Windows build * sqlcipher: fix SSL dependency --- recipes/sqlcipher/all/conandata.yml | 18 - recipes/sqlcipher/all/conanfile.py | 317 ++++++++++-------- .../sqlcipher/all/test_package/CMakeLists.txt | 5 +- .../sqlcipher/all/test_package/conanfile.py | 23 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 26 ++ 6 files changed, 220 insertions(+), 177 deletions(-) create mode 100644 recipes/sqlcipher/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sqlcipher/all/test_v1_package/conanfile.py diff --git a/recipes/sqlcipher/all/conandata.yml b/recipes/sqlcipher/all/conandata.yml index 1c771e01ba689..a6f870e23b894 100644 --- a/recipes/sqlcipher/all/conandata.yml +++ b/recipes/sqlcipher/all/conandata.yml @@ -20,43 +20,25 @@ sources: patches: "4.5.1": - patch_file: patches/Makefile.in-v4.5.1.patch - base_path: source_subfolder - patch_file: patches/Makefile.msc-v4.5.1.patch - base_path: source_subfolder - patch_file: patches/fix_configure-v4.5.1.patch - base_path: source_subfolder "4.5.0": - patch_file: patches/Makefile.in-v4.5.0.patch - base_path: source_subfolder - patch_file: patches/Makefile.msc-v4.5.0.patch - base_path: source_subfolder - patch_file: patches/fix_configure-v4.5.0.patch - base_path: source_subfolder "4.4.3": - patch_file: patches/Makefile.in-v4.4.3.patch - base_path: source_subfolder - patch_file: patches/Makefile.msc-v4.4.3.patch - base_path: source_subfolder - patch_file: patches/fix_configure-v4.4.3.patch - base_path: source_subfolder "4.4.2": - patch_file: patches/Makefile.in-v4.4.2.patch - base_path: source_subfolder - patch_file: patches/Makefile.msc-v4.4.2.patch - base_path: source_subfolder - patch_file: patches/fix_configure-v4.4.2.patch - base_path: source_subfolder "4.4.0": - patch_file: patches/Makefile.in-v4.4.0.patch - base_path: source_subfolder - patch_file: patches/Makefile.msc-v4.4.0.patch - base_path: source_subfolder - patch_file: patches/fix_configure-v4.4.0.patch - base_path: source_subfolder "4.3.0": - patch_file: patches/Makefile.in-v4.3.0.patch - base_path: source_subfolder - patch_file: patches/Makefile.msc-v4.3.0.patch - base_path: source_subfolder - patch_file: patches/fix_configure-v4.3.0.patch - base_path: source_subfolder diff --git a/recipes/sqlcipher/all/conanfile.py b/recipes/sqlcipher/all/conanfile.py index 8b2584d0bea74..d61f784a9ae42 100644 --- a/recipes/sqlcipher/all/conanfile.py +++ b/recipes/sqlcipher/all/conanfile.py @@ -1,22 +1,29 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import tools, ConanFile, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration -import functools import os -import shutil -required_conan_version = ">=1.36.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 VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import VCVars, is_msvc, is_msvc_static_runtime, NMakeToolchain, NMakeDeps +from conan.tools.scm import Version + +required_conan_version = ">=1.58.0" class SqlcipherConan(ConanFile): name = "sqlcipher" + description = "SQLite extension that provides 256 bit AES encryption of database files." license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.zetetic.net/sqlcipher/" - description = "SQLite extension that provides 256 bit AES encryption of database files." topics = ("database", "encryption", "SQLite") - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -32,200 +39,212 @@ class SqlcipherConan(ConanFile): "temporary_store": "default_memory", } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os != "Linux": - del self.options.with_largefile + if self.settings.os not in ["Linux", "FreeBSD"]: + self.options.rm_safe("with_largefile") def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.crypto_library == "openssl": - self.requires("openssl/1.1.1n") + self.requires("openssl/[>=1.1 <4]") elif self.options.crypto_library == "libressl": - self.requires("libressl/3.4.3") + self.requires("libressl/3.5.3") def validate(self): - if self.options.crypto_library == "commoncrypto" and not tools.is_apple_os(self.settings.os): + if self.options.crypto_library == "commoncrypto" and not is_apple_os(self): raise ConanInvalidConfiguration("commoncrypto is only supported on Macos") def build_requirements(self): - self.build_requires("tcl/8.6.11") - if not self._is_msvc: - self.build_requires("gnu-config/cci.20201022") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + self.tool_requires("tcl/8.6.13") + if not is_msvc(self): + self.tool_requires("gnu-config/cci.20210814") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") 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) + @property def _temp_store_nmake_value(self): - return {"always_file": "0", - "default_file": "1", - "default_memory": "2", - "always_memory": "3"}.get(str(self.options.temporary_store)) + return { + "always_file": "0", + "default_file": "1", + "default_memory": "2", + "always_memory": "3", + }.get(str(self.options.temporary_store)) @property def _temp_store_autotools_value(self): - return {"always_file": "never", - "default_file": "no", - "default_memory": "yes", - "always_memory": "always"}.get(str(self.options.temporary_store)) - - def _build_visual(self): - crypto_dep = self.deps_cpp_info[str(self.options.crypto_library)] - crypto_incdir = crypto_dep.include_paths[0] - crypto_libdir = crypto_dep.lib_paths[0] - libs = map(lambda lib : lib + ".lib", crypto_dep.libs) - system_libs = map(lambda lib : lib + ".lib", crypto_dep.system_libs) - - nmake_flags = [ - "TLIBS=\"%s %s\"" % (" ".join(libs), " ".join(system_libs)), - "LTLIBPATHS=/LIBPATH:%s" % crypto_libdir, - "OPTS=\"-I%s -DSQLITE_HAS_CODEC\"" % (crypto_incdir), - "NO_TCL=1", - "USE_AMALGAMATION=1", - "OPT_FEATURE_FLAGS=-DSQLCIPHER_CRYPTO_OPENSSL", - "SQLITE_TEMP_STORE=%s" % self._temp_store_nmake_value, - "TCLSH_CMD=%s" % self.deps_env_info.TCLSH, - ] - - main_target = "dll" if self.options.shared else "sqlcipher.lib" - - if msvc_runtime_flag(self) in ["MD", "MDd"]: - nmake_flags.append("USE_CRT_DLL=1") + return { + "always_file": "never", + "default_file": "no", + "default_memory": "yes", + "always_memory": "always", + }.get(str(self.options.temporary_store)) + + def _generate_msvc(self): + env = VirtualBuildEnv(self) + env.generate() + + tc = NMakeToolchain(self) + env = tc.environment() + crypto_dep = self.dependencies[str(self.options.crypto_library)].cpp_info + env.define("TLIBS", " ".join(lib + ".lib" for lib in crypto_dep.libs + crypto_dep.system_libs)) + env.define("LTLIBPATHS", f"/LIBPATH:{crypto_dep.libdir}") + env.define("OPTS", f'-I{crypto_dep.includedir} -DSQLITE_HAS_CODEC') + env.define("NO_TCL", "1") + env.define("USE_AMALGAMATION", "1") + env.define("OPT_FEATURE_FLAGS", "-DSQLCIPHER_CRYPTO_OPENSSL") + env.define("SQLITE_TEMP_STORE", self._temp_store_nmake_value) + env.define("TCLSH_CMD", self.dependencies.build['tcl'].runenv_info.vars(self)['TCLSH']) + + if not is_msvc_static_runtime(self): + env.define("USE_CRT_DLL", "1") if self.settings.build_type == "Debug": - nmake_flags.append("DEBUG=2") - nmake_flags.append("FOR_WIN10=1") - platforms = {"x86": "x86", "x86_64": "x64"} - nmake_flags.append("PLATFORM=%s" % platforms[str(self.settings.arch)]) - vcvars = tools.vcvars_command(self.settings) - self.run("%s && nmake /f Makefile.msc %s %s" % (vcvars, main_target, " ".join(nmake_flags)), cwd=self._source_subfolder) + env.define("DEBUG", "2") + env.define("FOR_WIN10", "1") + env.define("PLATFORM", {"x86": "x86", "x86_64": "x64"}[str(self.settings.arch)]) + tc.generate(env) - @staticmethod - def _chmod_plus_x(filename): - if os.name == "posix": - os.chmod(filename, os.stat(filename).st_mode | 0o111) + tc = NMakeDeps(self) + tc.generate() - def _build_autotools(self): - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "config.guess")) - configure = os.path.join(self._source_subfolder, "configure") - self._chmod_plus_x(configure) - # relocatable shared libs on macOS - tools.replace_in_file(configure, "-install_name \\$rpath/", "-install_name @rpath/") - # avoid SIP issues on macOS when dependencies are shared - if tools.is_apple_os(self.settings.os): - libpaths = ":".join(self.deps_cpp_info.lib_paths) - tools.replace_in_file( - configure, - "#! /bin/sh\n", - "#! /bin/sh\nexport DYLD_LIBRARY_PATH={}:$DYLD_LIBRARY_PATH\n".format(libpaths), - ) - autotools = self._configure_autotools() - autotools.make() - - @functools.lru_cache(1) - def _configure_autotools(self): - yes_no = lambda v: "yes" if v else "no" - args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - "--enable-tempstore={}".format(self._temp_store_autotools_value), + vcvars = VCVars(self) + vcvars.generate() + + @property + def _use_commoncrypto(self): + return self.options.crypto_library == "commoncrypto" and is_apple_os(self) + + def _generate_unix(self): + env = VirtualBuildEnv(self) + env.generate() + + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args += [ + f"--enable-tempstore={self._temp_store_autotools_value}", "--disable-tcl", ] if self.settings.os == "Windows": - args.extend(["config_BUILD_EXEEXT='.exe'", "config_TARGET_EXEEXT='.exe'"]) + tc.configure_args += [ + "config_BUILD_EXEEXT='.exe'", + "config_TARGET_EXEEXT='.exe'", + ] - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.os == "Linux": - autotools.libs.append("dl") + if self.settings.os in ["Linux", "FreeBSD"]: + tc.extra_ldflags.append("-ldl") if not self.options.with_largefile: - autotools.defines.append("SQLITE_DISABLE_LFS=1") - autotools.defines.append("SQLITE_HAS_CODEC") - - env_vars = autotools.vars - tclsh_cmd = self.deps_env_info.TCLSH - env_vars["TCLSH_CMD"] = tclsh_cmd.replace("\\", "/") - if self._use_commoncrypto(): - env_vars["LDFLAGS"] += " -framework Security -framework CoreFoundation " - args.append("--with-crypto-lib=commoncrypto") + tc.extra_defines.append("SQLITE_DISABLE_LFS=1") + tc.extra_defines.append("SQLITE_HAS_CODEC") + + if self._use_commoncrypto: + tc.extra_ldflags += [ + "-framework", "Security", + "-framework", "CoreFoundation", + ] + tc.configure_args.append("--with-crypto-lib=commoncrypto") else: - autotools.defines.append("SQLCIPHER_CRYPTO_OPENSSL") + tc.extra_defines.append("SQLCIPHER_CRYPTO_OPENSSL") + tc.generate() - autotools.configure(configure_dir=self._source_subfolder, args=args, vars=env_vars) - if self.settings.os == "Windows": - # sqlcipher will create .exe for the build machine, which we defined to Linux... - tools.replace_in_file("Makefile", "BEXE = .exe", "BEXE = ") - return autotools - - def _use_commoncrypto(self): - return self.options.crypto_library == "commoncrypto" and tools.is_apple_os(self.settings.os) + deps = AutotoolsDeps(self) + deps.generate() - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if self._is_msvc: - self._build_visual() + def generate(self): + if is_msvc(self): + self._generate_msvc() else: - self._build_autotools() + self._generate_unix() + + @staticmethod + def _chmod_plus_x(filename): + if os.name == "posix": + os.chmod(filename, os.stat(filename).st_mode | 0o111) - def _package_unix(self): - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + def _patch_sources_unix(self): + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), os.path.dirname(gnu_config), os.path.join(self.source_folder, "build-aux")) + configure = os.path.join(self.source_folder, "configure") + self._chmod_plus_x(configure) + # relocatable shared libs on macOS + replace_in_file(self, configure, "-install_name \\$rpath/", "-install_name @rpath/") + # avoid SIP issues on macOS when dependencies are shared + if is_apple_os(self): + libdirs = sum([dep.cpp_info.libdirs for dep in self.dependencies.values()], []) + libpaths = ":".join(libdirs) + replace_in_file(self, configure, + "#! /bin/sh\n", + f"#! /bin/sh\nexport DYLD_LIBRARY_PATH={libpaths}:$DYLD_LIBRARY_PATH\n") - def _package_visual(self): - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.lib", dst="lib", keep_path=False) - self.copy("sqlite3.h", src=self._source_subfolder, dst=os.path.join("include", "sqlcipher")) + def build(self): + apply_conandata_patches(self) + if is_msvc(self): + with chdir(self, self.source_folder): + main_target = "dll" if self.options.shared else "sqlcipher.lib" + self.run(f"nmake /f Makefile.msc {main_target}") + else: + self._patch_sources_unix() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() + if self.settings.os == "Windows": + # sqlcipher will create .exe for the build machine, which we defined to Linux... + replace_in_file(self, "Makefile", "BEXE = .exe", "BEXE = ") + autotools.make() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - if self._is_msvc: - self._package_visual() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + if is_msvc(self): + copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=self.source_folder, keep_path=False) + copy(self, "*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) + copy(self, "sqlite3.h", dst=os.path.join(self.package_folder, "include", "sqlcipher"), src=self.source_folder) else: - self._package_unix() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", self.package_folder, recursive=True) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "sqlcipher") self.cpp_info.libs = ["sqlcipher"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["pthread", "dl"]) - if tools.Version(self.version) >= "4.5.0": + if Version(self.version) >= "4.5.0": self.cpp_info.system_libs.append("m") - self.cpp_info.defines = ["SQLITE_HAS_CODEC", "SQLITE_TEMP_STORE={}".format(self._temp_store_nmake_value)] - if self._use_commoncrypto(): + self.cpp_info.defines = [ + "SQLITE_HAS_CODEC", + f"SQLITE_TEMP_STORE={self._temp_store_nmake_value}" + ] + if self._use_commoncrypto: self.cpp_info.frameworks = ["Security", "CoreFoundation"] else: self.cpp_info.defines.append("SQLCIPHER_CRYPTO_OPENSSL") diff --git a/recipes/sqlcipher/all/test_package/CMakeLists.txt b/recipes/sqlcipher/all/test_package/CMakeLists.txt index fcf18155285d5..1a94b824ea1f5 100644 --- a/recipes/sqlcipher/all/test_package/CMakeLists.txt +++ b/recipes/sqlcipher/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(sqlcipher REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/sqlcipher/all/test_package/conanfile.py b/recipes/sqlcipher/all/test_package/conanfile.py index 5741e4e0cec54..a2566c4cce099 100644 --- a/recipes/sqlcipher/all/test_package/conanfile.py +++ b/recipes/sqlcipher/all/test_package/conanfile.py @@ -1,19 +1,29 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.apple import is_apple_os +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 build_requirements(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": + if is_apple_os(self) and self.settings.arch == "armv8": # Workaround for CMake bug with error message: # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being # set. This could be because you are using a Mac OS X version less than 10.5 # or because CMake's platform configuration is corrupt. # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.0") + self.tool_requires("cmake/[>=3.22]") + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -21,5 +31,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sqlcipher/all/test_v1_package/CMakeLists.txt b/recipes/sqlcipher/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sqlcipher/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/sqlcipher/all/test_v1_package/conanfile.py b/recipes/sqlcipher/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..84b7364551610 --- /dev/null +++ b/recipes/sqlcipher/all/test_v1_package/conanfile.py @@ -0,0 +1,26 @@ +from conan.tools.apple import is_apple_os +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_requirements(self): + if is_apple_os(self) and self.settings.arch == "armv8": + # Workaround for CMake bug with error message: + # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being + # set. This could be because you are using a Mac OS X version less than 10.5 + # or because CMake's platform configuration is corrupt. + # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. + self.build_requires("cmake/3.22.0") + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(os.path.join("bin", "test_package"), run_environment=True) From b1966d0f433702f42f5680c62404318df49abfed Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 05:15:25 +0900 Subject: [PATCH 2442/4087] (#19619) wasmedge: add version 0.13.5, add package_type * wasmedge: add version 0.13.4 * use rm_safe * fix compiler alias * update 0.13.5 --- recipes/wasmedge/all/conandata.yml | 41 +++++++++++++++++++ recipes/wasmedge/all/conanfile.py | 15 +++---- .../wasmedge/all/test_package/CMakeLists.txt | 2 +- recipes/wasmedge/config.yml | 2 + 4 files changed, 52 insertions(+), 8 deletions(-) diff --git a/recipes/wasmedge/all/conandata.yml b/recipes/wasmedge/all/conandata.yml index 363797364db78..b7eef0f907d2e 100644 --- a/recipes/wasmedge/all/conandata.yml +++ b/recipes/wasmedge/all/conandata.yml @@ -1,4 +1,45 @@ sources: + "0.13.5": + Windows: + "x86_64": + Visual Studio: + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.13.5/WasmEdge-0.13.5-windows.zip" + sha256: "db533289ba26ec557b5193593c9ed03db75be3bc7aa737e2caa5b56b8eef888a" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.13.5/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Linux: + "x86_64": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.13.5/WasmEdge-0.13.5-manylinux2014_x86_64.tar.gz" + sha256: "3686e0226871bf17b62ec57e1c15778c2947834b90af0dfad14f2e0202bf9284" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.13.5/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.13.5/WasmEdge-0.13.5-manylinux2014_aarch64.tar.gz" + sha256: "472de88e0257c539c120b33fdd1805e1e95063121acc2df1d5626e4676b93529" + - 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.13.5/WasmEdge-0.13.5-darwin_x86_64.tar.gz" + sha256: "b7fdfaf59805951241f47690917b501ddfa06d9b6f7e0262e44e784efe4a7b33" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.13.5/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.13.5/WasmEdge-0.13.5-darwin_arm64.tar.gz" + sha256: "acc93721210294ced0887352f360e42e46dcc05332e6dd78c1452fb3a35d5255" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.13.5/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Android: + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.13.5/WasmEdge-0.13.5-android_aarch64.tar.gz" + sha256: "59a0d68a0c7368b51cc65cb5a44a68037d79fd449883ef42792178d57c8784a8" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.13.5/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" "0.11.2": Windows: "x86_64": diff --git a/recipes/wasmedge/all/conanfile.py b/recipes/wasmedge/all/conanfile.py index 22d9509121432..b520078c1a85d 100644 --- a/recipes/wasmedge/all/conanfile.py +++ b/recipes/wasmedge/all/conanfile.py @@ -5,7 +5,7 @@ import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class WasmedgeConan(ConanFile): name = "wasmedge" @@ -16,18 +16,19 @@ class WasmedgeConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/WasmEdge/WasmEdge/" topics = ("webassembly", "wasm", "wasi", "emscripten") + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" @property def _compiler_alias(self): return { - "Visual Studio": "Visual Studio", - "msvc": "Visual Studio", - }.get(str(self.settings.compiler), "gcc") + "Visual Studio": "msvc", + "msvc": "msvc", + }.get(str(self.info.settings.compiler), "gcc") def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.compiler.rm_safe("libcxx") + self.settings.compiler.rm_safe("cppstd") def validate(self): try: @@ -39,7 +40,7 @@ def package_id(self): del self.info.settings.compiler.version self.info.settings.compiler = self._compiler_alias - def source(self): + def build(self): # This is packaging binaries so the download needs to be in build get(self, **self.conan_data["sources"][self.version][str(self.settings.os)][str(self.settings.arch)][self._compiler_alias][0], destination=self.source_folder, strip_root=True) diff --git a/recipes/wasmedge/all/test_package/CMakeLists.txt b/recipes/wasmedge/all/test_package/CMakeLists.txt index a433b073bf6ea..d5682fcb1d31a 100644 --- a/recipes/wasmedge/all/test_package/CMakeLists.txt +++ b/recipes/wasmedge/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package C) +project(test_package LANGUAGES C) find_package(wasmedge REQUIRED CONFIG) diff --git a/recipes/wasmedge/config.yml b/recipes/wasmedge/config.yml index 26c6ed136a298..13b6ff12faa84 100644 --- a/recipes/wasmedge/config.yml +++ b/recipes/wasmedge/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.5": + folder: "all" "0.11.2": folder: "all" "0.11.1": From c0234fb9d902307e9d36550652b621f5e90cfc0a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 8 Nov 2023 21:33:14 +0100 Subject: [PATCH 2443/4087] (#20976) [hwloc] Build shared library only * Build shared only for hwloc Signed-off-by: Uilian Ries * explicit shared libraries on autotools Signed-off-by: Uilian Ries * Remove libm Co-authored-by: Carlos Zoido --------- Signed-off-by: Uilian Ries Co-authored-by: Carlos Zoido --- recipes/hwloc/all/conanfile.py | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py index 07f03ed148988..b3766fb59545e 100644 --- a/recipes/hwloc/all/conanfile.py +++ b/recipes/hwloc/all/conanfile.py @@ -8,6 +8,7 @@ required_conan_version = ">=1.53.0" +# INFO: In order to prevent OneTBB missing package error, we build only shared library for hwloc. class HwlocConan(ConanFile): name = "hwloc" @@ -16,26 +17,16 @@ class HwlocConan(ConanFile): license = "BSD-3-Clause" homepage = "https://www.open-mpi.org/projects/hwloc/" url = "https://github.com/conan-io/conan-center-index" - package_type = "library" + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], - "fPIC": [True, False], "with_libxml2": [True, False] } default_options = { - "shared": False, - "fPIC": True, "with_libxml2": 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") @@ -63,7 +54,7 @@ def generate(self): tc.cache_variables["HWLOC_SKIP_INCLUDES"] = 'OFF' tc.cache_variables["HWLOC_WITH_OPENCL"] = 'OFF' tc.cache_variables["HWLOC_WITH_CUDA"] = 'OFF' - tc.cache_variables["HWLOC_BUILD_SHARED_LIBS"] = self.options.shared + tc.cache_variables["HWLOC_BUILD_SHARED_LIBS"] = True tc.cache_variables["HWLOC_WITH_LIBXML2"] = self.options.with_libxml2 tc.generate() else: @@ -73,6 +64,7 @@ def generate(self): if not self.options.with_libxml2: tc.configure_args.extend(["--disable-libxml2"]) tc.configure_args.extend(["--disable-io", "--disable-cairo"]) + tc.configure_args.extend(["--enable-shared", "--disable-static"]) tc.generate() def build(self): @@ -106,9 +98,5 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "hwloc") self.cpp_info.libs = ["hwloc"] - - if not self.options.shared: - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["m"] if is_apple_os(self): self.cpp_info.frameworks = ['IOKit', 'Foundation', 'CoreFoundation'] From cfdca37dc129710702ba8c1f34bbdcfc14705b16 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 21:57:22 +0100 Subject: [PATCH 2444/4087] (#20794) extra-cmake-modules: add 5.111.0 + cleanup recipe + fix logic of test package * add extra-cmake-modules/5.111.0 * fix logic of test package * cleanup recipe - add a layout - follow cci policy for version range of cmake - cleanup topics - add required_conan_version * workaround for conan v1 client in test package * typo --- recipes/extra-cmake-modules/all/conandata.yml | 27 ++++++------ recipes/extra-cmake-modules/all/conanfile.py | 43 ++++++++----------- .../all/test_package/CMakeLists.txt | 6 +-- .../all/test_package/conanfile.py | 31 +++++++------ .../{example.cpp => test_package.cpp} | 0 recipes/extra-cmake-modules/config.yml | 10 +++-- 6 files changed, 60 insertions(+), 57 deletions(-) rename recipes/extra-cmake-modules/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/extra-cmake-modules/all/conandata.yml b/recipes/extra-cmake-modules/all/conandata.yml index 6959b8c4f7d49..141faff804ef5 100644 --- a/recipes/extra-cmake-modules/all/conandata.yml +++ b/recipes/extra-cmake-modules/all/conandata.yml @@ -1,16 +1,19 @@ sources: - "5.75.0": - url: "https://download.kde.org/stable/frameworks/5.75/extra-cmake-modules-5.75.0.zip" - sha256: "dc937fd2018eb8285c1b07d4b5de104c60959404c4979883f6bdb0a4d40cf98e" - "5.80.0": - url: "https://download.kde.org/stable/frameworks/5.80/extra-cmake-modules-5.80.0.tar.xz" - sha256: "2370fd80f685533d0b96efa6fa443ceea68e0ceba4e8a9d7c151d297b1c96f64" - "5.84.0": - url: "https://download.kde.org/stable/frameworks/5.84/extra-cmake-modules-5.84.0.tar.xz" - sha256: "bb085ef2e177c182ff46988516b6b31849d1497beb2ff5301165ad2ba12a1c41" - "5.93.0": - url: "https://download.kde.org/stable/frameworks/5.93/extra-cmake-modules-5.93.0.tar.xz" - sha256: "093dea7b11647bc5f74e6971d47ef15b5c410cba2b4620acae00f008d5480b21" + "5.111.0": + url: "https://download.kde.org/stable/frameworks/5.111/extra-cmake-modules-5.111.0.tar.xz" + sha256: "555d3c1dfa6727b4e64a35d3f01724c9fcd6209c2a41f2b2297c39ed7aabea9a" "5.108.0": url: "https://download.kde.org/stable/frameworks/5.108/extra-cmake-modules-5.108.0.tar.xz" sha256: "ff14abd21abd34c2d8c00ee7a1ccd173b9a57ed1824e5c01090897ffffed447a" + "5.93.0": + url: "https://download.kde.org/stable/frameworks/5.93/extra-cmake-modules-5.93.0.tar.xz" + sha256: "093dea7b11647bc5f74e6971d47ef15b5c410cba2b4620acae00f008d5480b21" + "5.84.0": + url: "https://download.kde.org/stable/frameworks/5.84/extra-cmake-modules-5.84.0.tar.xz" + sha256: "bb085ef2e177c182ff46988516b6b31849d1497beb2ff5301165ad2ba12a1c41" + "5.80.0": + url: "https://download.kde.org/stable/frameworks/5.80/extra-cmake-modules-5.80.0.tar.xz" + sha256: "2370fd80f685533d0b96efa6fa443ceea68e0ceba4e8a9d7c151d297b1c96f64" + "5.75.0": + url: "https://download.kde.org/stable/frameworks/5.75/extra-cmake-modules-5.75.0.zip" + sha256: "dc937fd2018eb8285c1b07d4b5de104c60959404c4979883f6bdb0a4d40cf98e" diff --git a/recipes/extra-cmake-modules/all/conanfile.py b/recipes/extra-cmake-modules/all/conanfile.py index 94cf7600c9287..21a22cc3ddea8 100644 --- a/recipes/extra-cmake-modules/all/conanfile.py +++ b/recipes/extra-cmake-modules/all/conanfile.py @@ -1,35 +1,36 @@ 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.files import get, copy from conan.tools.scm import Version +required_conan_version = ">=1.50.0" + class ExtracmakemodulesConan(ConanFile): name = "extra-cmake-modules" license = ("MIT", "BSD-2-Clause", "BSD-3-Clause") url = "https://github.com/conan-io/conan-center-index" homepage = "https://api.kde.org/ecm/" - topics = ("conan", "cmake", "toolchain", "build-settings") + topics = ("cmake", "cmake-modules", "toolchain", "build-settings") description = "KDE's CMake modules" - no_copy_source = False package_type = "build-scripts" - settings = "build_type" + settings = "os", "arch", "compiler", "build_type" short_paths = True - def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder - ) + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def build_requirements(self): - if self.version <= Version("5.80.0"): - self.tool_requires("cmake/[>=3.5]") - else: - self.tool_requires("cmake/[>=3.16]") + if Version(self.version) >= "5.84.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) @@ -41,30 +42,24 @@ def generate(self): if self.package_folder is None: share_folder = "res" else: - share_folder = os.path.join(self.package_folder, "res") + share_folder = os.path.join(self.package_folder, "res").replace("\\", "/") tc.cache_variables["SHARE_INSTALL_DIR"] = share_folder tc.generate() def build(self): - cm_folder = "{}-{}".format(self.name, self.version) cmake = CMake(self) - cmake.configure(build_script_folder=cm_folder) + cmake.configure() + cmake.build() def package(self): - cm_folder = "{}-{}".format(self.name, self.version) - lic_folder_st = os.path.join(cm_folder, "LICENSES") - lic_folder = os.path.join(self.source_folder, lic_folder_st) - + lic_folder = os.path.join(self.source_folder, "LICENSES") lic_folder_inst = os.path.join(self.package_folder, "licenses") copy(self, "*", src=lic_folder, dst=lic_folder_inst) cmake = CMake(self) cmake.install() - def package_id(self): - self.info.clear() - def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt b/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt index 1e85f491bc237..fa47b1a420453 100644 --- a/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt +++ b/recipes/extra-cmake-modules/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(ECM REQUIRED NO_MODULE) @@ -14,5 +14,5 @@ ecm_generate_headers( REQUIRED_HEADERS MyLib_HEADERS ) -add_executable(example example.cpp) -target_link_libraries(example MyLib) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE MyLib) diff --git a/recipes/extra-cmake-modules/all/test_package/conanfile.py b/recipes/extra-cmake-modules/all/test_package/conanfile.py index 72c1f212d5782..c8c6fef7966a6 100644 --- a/recipes/extra-cmake-modules/all/test_package/conanfile.py +++ b/recipes/extra-cmake-modules/all/test_package/conanfile.py @@ -1,23 +1,26 @@ -from conan import ConanFile -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan import ConanFile, conan_version from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -class ExtraCMakeModulesTestConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - def build_requirements(self): - self.requires(self.tested_reference_str) - - def generate(self): - tc = CMakeToolchain(self) - tc.generate() - deps = CMakeDeps(self) - deps.generate() +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + # CMakeToolchain of conan v1 doesn't add cpp_info.builddirs of build requirements to CMAKE_PREFIX_PATH + if conan_version < "2": + self.requires(self.tested_reference_str) + + def build_requirements(self): + if conan_version >= "2": + self.tool_requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() @@ -25,5 +28,5 @@ def build(self): def test(self): if can_run(self): - runpath = os.path.join(self.cpp.build.bindir, "example") - self.run(runpath, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/extra-cmake-modules/all/test_package/example.cpp b/recipes/extra-cmake-modules/all/test_package/test_package.cpp similarity index 100% rename from recipes/extra-cmake-modules/all/test_package/example.cpp rename to recipes/extra-cmake-modules/all/test_package/test_package.cpp diff --git a/recipes/extra-cmake-modules/config.yml b/recipes/extra-cmake-modules/config.yml index 873671640043e..9ff0f9399df41 100644 --- a/recipes/extra-cmake-modules/config.yml +++ b/recipes/extra-cmake-modules/config.yml @@ -1,11 +1,13 @@ versions: - "5.75.0": + "5.111.0": folder: "all" - "5.80.0": + "5.108.0": + folder: "all" + "5.93.0": folder: "all" "5.84.0": folder: "all" - "5.93.0": + "5.80.0": folder: "all" - "5.108.0": + "5.75.0": folder: "all" From f78dc3729f97c1554eae5f3843cabb2e2198c09a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 06:17:35 +0900 Subject: [PATCH 2445/4087] (#20826) poco: add version 1.12.5, remove duplicated patch files, remove versions * poco: add version 1.25.5, remove duplicated patch files, remove older versions * add end line * update 1.12.5p1 * C++14 is required since 1.12.5 --- recipes/poco/all/conandata.yml | 72 +++++---- recipes/poco/all/conanfile.py | 46 ++++-- ....patch => 1.11.0-0002-mysql-include.patch} | 0 recipes/poco/all/patches/1.11.0.patch | 120 --------------- recipes/poco/all/patches/1.12.1.patch | 36 ----- recipes/poco/all/patches/1.12.2.patch | 36 ----- recipes/poco/all/patches/1.12.4.patch | 39 ----- .../patches/1.12.5-0002-mysql-include.patch | 143 ++++++++++++++++++ recipes/poco/all/test_package/CMakeLists.txt | 26 ++-- recipes/poco/config.yml | 8 +- 10 files changed, 242 insertions(+), 284 deletions(-) rename recipes/poco/all/patches/{0002-mysql-include.patch => 1.11.0-0002-mysql-include.patch} (100%) delete mode 100644 recipes/poco/all/patches/1.11.0.patch delete mode 100644 recipes/poco/all/patches/1.12.1.patch delete mode 100644 recipes/poco/all/patches/1.12.2.patch delete mode 100644 recipes/poco/all/patches/1.12.4.patch create mode 100644 recipes/poco/all/patches/1.12.5-0002-mysql-include.patch diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index c1f5e069c2cc2..fa93dac290dc4 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.12.5p1": + url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p1-release.tar.gz" + sha256: "8ba10b69c815e95e1c8776af0143aa8603088b84e3f6a8447994c6b92d7522f0" "1.12.4": url: "https://github.com/pocoproject/poco/archive/poco-1.12.4-release.tar.gz" sha256: "71ef96c35fced367d6da74da294510ad2c912563f12cd716ab02b6ed10a733ef" @@ -17,40 +20,53 @@ sources: "1.11.3": url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" - "1.11.2": - url: "https://github.com/pocoproject/poco/archive/poco-1.11.2-release.tar.gz" - sha256: "9774651a02e4cfa79fc43b7db617e45d353ede00b7be8afd0e74e6afb23d3793" - "1.11.1": - url: "https://github.com/pocoproject/poco/archive/poco-1.11.1-release.tar.gz" - sha256: "2412a5819a239ff2ee58f81033bcc39c40460d7a8b330013a687c8c0bd2b4ac0" - "1.11.0": - url: "https://github.com/pocoproject/poco/archive/poco-1.11.0-release.tar.gz" - sha256: "8a7bfd0883ee95e223058edce8364c7d61026ac1882e29643822ce9b753f3602" patches: + "1.12.5p1": + - patch_file: patches/1.12.3.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.12.5-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.4": - - patch_file: patches/1.12.4.patch - - patch_file: patches/0002-mysql-include.patch + - patch_file: patches/1.12.3.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.11.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.3": - patch_file: patches/1.12.3.patch - - patch_file: patches/0002-mysql-include.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.11.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.2": - - patch_file: patches/1.12.2.patch - - patch_file: patches/0002-mysql-include.patch + - patch_file: patches/1.12.0.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.11.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.1": - - patch_file: patches/1.12.1.patch - - patch_file: patches/0002-mysql-include.patch + - patch_file: patches/1.12.0.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.11.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.0": - patch_file: patches/1.12.0.patch - - patch_file: patches/0002-mysql-include.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.11.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.11.3": - - patch_file: patches/1.11.1.patch - - patch_file: patches/0002-mysql-include.patch - "1.11.2": - - patch_file: patches/1.11.1.patch - - patch_file: patches/0002-mysql-include.patch - "1.11.1": - - patch_file: patches/1.11.1.patch - - patch_file: patches/0002-mysql-include.patch - "1.11.0": - - patch_file: patches/1.11.0.patch - - patch_file: patches/0002-mysql-include.patch + - patch_file: "patches/1.11.1.patch" + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: "patches/1.11.0-0002-mysql-include.patch" + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index 4c1811de04efb..cf4c0eaeba152 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, VCVars from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd from collections import namedtuple import os @@ -12,16 +13,15 @@ class PocoConan(ConanFile): name = "poco" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://pocoproject.org" - topics = ("building", "networking", "server", "mobile", "embedded") - license = "BSL-1.0" description = ( "Modern, powerful open source C++ class libraries for building " "network- and internet-based applications that run on desktop, server, " "mobile and embedded systems." ) - + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://pocoproject.org" + topics = ("building", "networking", "server", "mobile", "embedded") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -77,6 +77,26 @@ class PocoConan(ConanFile): default_options[comp.option] = comp.default_option del comp + @property + def _min_cppstd(self): + # Since 1.10.0, poco officially requires C++14 + # https://github.com/pocoproject/poco/releases/tag/poco-1.10.0-release + # But poco uses C++11 features only until 1.12.5 + # https://github.com/pocoproject/poco/commit/886b76f4faa2007cc0c09dad81f8dcdee6fcb4ac + return "11" if Version(self.version) < "1.12.5" else "14" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + def export_sources(self): export_conandata_patches(self) @@ -116,9 +136,9 @@ def requirements(self): if self.options.enable_xml: self.requires("expat/2.5.0") if self.options.enable_data_sqlite: - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.43.2") if self.options.enable_apacheconnector: - self.requires("apr/1.7.0") + self.requires("apr/1.7.4") self.requires("apr-util/1.6.1") if self.options.enable_netssl or self.options.enable_crypto or \ self.options.get_safe("enable_jwt"): @@ -126,14 +146,22 @@ def requirements(self): if self.options.enable_data_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("enable_data_postgresql"): - self.requires("libpq/14.9") + self.requires("libpq/15.4") if self.options.get_safe("enable_data_mysql"): - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") def package_id(self): del self.info.options.enable_active_record 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.options.enable_apacheconnector: # FIXME: missing apache2 recipe + few issues raise ConanInvalidConfiguration("Apache connector not supported: https://github.com/pocoproject/poco/issues/1764") diff --git a/recipes/poco/all/patches/0002-mysql-include.patch b/recipes/poco/all/patches/1.11.0-0002-mysql-include.patch similarity index 100% rename from recipes/poco/all/patches/0002-mysql-include.patch rename to recipes/poco/all/patches/1.11.0-0002-mysql-include.patch diff --git a/recipes/poco/all/patches/1.11.0.patch b/recipes/poco/all/patches/1.11.0.patch deleted file mode 100644 index 1e07c041d0c68..0000000000000 --- a/recipes/poco/all/patches/1.11.0.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff --git a/ActiveRecord/Compiler/CMakeLists.txt b/ActiveRecord/Compiler/CMakeLists.txt -index 06749c1..40a8b23 100644 ---- a/ActiveRecord/Compiler/CMakeLists.txt -+++ b/ActiveRecord/Compiler/CMakeLists.txt -@@ -21,5 +21,6 @@ install( - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin -+ BUNDLE DESTINATION bin - INCLUDES DESTINATION include - ) -diff --git a/Encodings/Compiler/CMakeLists.txt b/Encodings/Compiler/CMakeLists.txt -index 97eecfe..fa4e85b 100644 ---- a/Encodings/Compiler/CMakeLists.txt -+++ b/Encodings/Compiler/CMakeLists.txt -@@ -15,5 +15,6 @@ install( - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin -+ BUNDLE DESTINATION bin - INCLUDES DESTINATION include - ) -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 6b276bef5..92ea97727 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -35,7 +35,7 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if(POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -+ find_package(pcre REQUIRED CONFIG) - find_package(ZLIB REQUIRED) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library -@@ -101,7 +101,7 @@ set_target_properties(Foundation - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC pcre::libpcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - endif(POCO_UNBUNDLED) - -diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt -index 3e2b5ff..2ab7590 100644 ---- a/NetSSL_Win/CMakeLists.txt -+++ b/NetSSL_Win/CMakeLists.txt -@@ -21,7 +21,7 @@ set_target_properties(NetSSLWin - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) -+target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util crypt32 ws2_32) - target_include_directories(NetSSLWin - PUBLIC - $ -diff --git a/PageCompiler/CMakeLists.txt b/PageCompiler/CMakeLists.txt -index d80fe73..48379eb 100644 ---- a/PageCompiler/CMakeLists.txt -+++ b/PageCompiler/CMakeLists.txt -@@ -23,5 +23,6 @@ install( - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin -+ BUNDLE DESTINATION bin - INCLUDES DESTINATION include - ) -diff --git a/PocoDoc/CMakeLists.txt b/PocoDoc/CMakeLists.txt -index 92f37a9..49ad7b4 100644 ---- a/PocoDoc/CMakeLists.txt -+++ b/PocoDoc/CMakeLists.txt -@@ -11,5 +11,6 @@ install( - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin -+ BUNDLE DESTINATION bin - INCLUDES DESTINATION include - ) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4e0527296..f6ceb699d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -204,6 +204,15 @@ endif() - - include(DefinePlatformSpecifc) - -+# Disable fork exec -+option(POCO_NO_FORK_EXEC -+ "Set to OFF|ON (default is OFF) to control disable fork exec" OFF) -+ -+if(POCO_NO_FORK_EXEC) -+ add_definitions(-DPOCO_NO_FORK_EXEC=1) -+ message(STATUS "Building with fork exec disabled") -+endif() -+ - # Collect the built libraries and include dirs, the will be used to create the PocoConfig.cmake file - set(Poco_COMPONENTS "") - -diff --git a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake -index 038779ec9..fa7afdb1b 100644 ---- a/cmake/PocoMacros.cmake -+++ b/cmake/PocoMacros.cmake -@@ -40,7 +40,7 @@ if(WIN32) - endforeach() - endif(X64) - endif() -- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} -+ find_program(CMAKE_MC_COMPILER NAMES mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} - DOC "path to message compiler") - if(NOT CMAKE_MC_COMPILER) - message(FATAL_ERROR "message compiler not found: required to build") -@@ -274,6 +274,7 @@ install( - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin -+ BUNDLE DESTINATION bin - INCLUDES DESTINATION include - ) - diff --git a/recipes/poco/all/patches/1.12.1.patch b/recipes/poco/all/patches/1.12.1.patch deleted file mode 100644 index 0f5458cd155b5..0000000000000 --- a/recipes/poco/all/patches/1.12.1.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -ruN a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake ---- a/cmake/PocoMacros.cmake 2022-07-08 18:28:44.000000000 +0200 -+++ b/cmake/PocoMacros.cmake 2022-07-11 17:50:48.547610971 +0200 -@@ -40,7 +40,7 @@ - endforeach() - endif(X64) - endif() -- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} -+ find_program(CMAKE_MC_COMPILER NAMES mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} - DOC "path to message compiler") - if(NOT CMAKE_MC_COMPILER) - message(FATAL_ERROR "message compiler not found: required to build") -diff -ruN a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt ---- a/Foundation/CMakeLists.txt 2022-07-08 18:28:44.000000000 +0200 -+++ b/Foundation/CMakeLists.txt 2022-07-11 17:54:24.035097782 +0200 -@@ -107,7 +107,7 @@ - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC PCRE2::8BIT ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - endif(POCO_UNBUNDLED) - -diff -ruN a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt ---- a/NetSSL_Win/CMakeLists.txt 2022-07-08 18:28:44.000000000 +0200 -+++ b/NetSSL_Win/CMakeLists.txt 2022-07-11 17:50:09.841223897 +0200 -@@ -21,7 +21,7 @@ - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) -+target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util crypt32 ws2_32) - target_include_directories(NetSSLWin - PUBLIC - $ diff --git a/recipes/poco/all/patches/1.12.2.patch b/recipes/poco/all/patches/1.12.2.patch deleted file mode 100644 index 0f5458cd155b5..0000000000000 --- a/recipes/poco/all/patches/1.12.2.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -ruN a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake ---- a/cmake/PocoMacros.cmake 2022-07-08 18:28:44.000000000 +0200 -+++ b/cmake/PocoMacros.cmake 2022-07-11 17:50:48.547610971 +0200 -@@ -40,7 +40,7 @@ - endforeach() - endif(X64) - endif() -- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} -+ find_program(CMAKE_MC_COMPILER NAMES mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} - DOC "path to message compiler") - if(NOT CMAKE_MC_COMPILER) - message(FATAL_ERROR "message compiler not found: required to build") -diff -ruN a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt ---- a/Foundation/CMakeLists.txt 2022-07-08 18:28:44.000000000 +0200 -+++ b/Foundation/CMakeLists.txt 2022-07-11 17:54:24.035097782 +0200 -@@ -107,7 +107,7 @@ - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC PCRE2::8BIT ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - endif(POCO_UNBUNDLED) - -diff -ruN a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt ---- a/NetSSL_Win/CMakeLists.txt 2022-07-08 18:28:44.000000000 +0200 -+++ b/NetSSL_Win/CMakeLists.txt 2022-07-11 17:50:09.841223897 +0200 -@@ -21,7 +21,7 @@ - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) -+target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util crypt32 ws2_32) - target_include_directories(NetSSLWin - PUBLIC - $ diff --git a/recipes/poco/all/patches/1.12.4.patch b/recipes/poco/all/patches/1.12.4.patch deleted file mode 100644 index f1fb7b37a7386..0000000000000 --- a/recipes/poco/all/patches/1.12.4.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index f504bc1a3..8fe9acf37 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -107,7 +107,7 @@ set_target_properties(Foundation - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC PCRE2::8BIT ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - endif(POCO_UNBUNDLED) - -diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt -index c6325eb4f..8541ffcb5 100644 ---- a/NetSSL_Win/CMakeLists.txt -+++ b/NetSSL_Win/CMakeLists.txt -@@ -21,7 +21,7 @@ set_target_properties(NetSSLWin - DEFINE_SYMBOL NetSSL_Win_EXPORTS - ) - --target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) -+target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util crypt32 ws2_32) - target_include_directories(NetSSLWin - PUBLIC - $ -diff --git a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake -index 0ef354e9e..f57e39c3c 100644 ---- a/cmake/PocoMacros.cmake -+++ b/cmake/PocoMacros.cmake -@@ -40,7 +40,7 @@ if(WIN32) - endforeach() - endif(X64) - endif() -- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} -+ find_program(CMAKE_MC_COMPILER NAMES mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} - DOC "path to message compiler") - if(NOT CMAKE_MC_COMPILER) - message(FATAL_ERROR "message compiler not found: required to build") diff --git a/recipes/poco/all/patches/1.12.5-0002-mysql-include.patch b/recipes/poco/all/patches/1.12.5-0002-mysql-include.patch new file mode 100644 index 0000000000000..451cebc08e847 --- /dev/null +++ b/recipes/poco/all/patches/1.12.5-0002-mysql-include.patch @@ -0,0 +1,143 @@ +diff --git a/Data/MySQL/include/Poco/Data/MySQL/Binder.h b/Data/MySQL/include/Poco/Data/MySQL/Binder.h +index 82fa617..dd7bf60 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/Binder.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/Binder.h +@@ -22,7 +22,7 @@ + #include "Poco/Data/AbstractBinder.h" + #include "Poco/Data/LOB.h" + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +index 2386590..ba0fa3f 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Foundation.h" +-#include ++#include + + + // +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h b/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h +index 67692df..2d28da3 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h +@@ -20,7 +20,7 @@ + + #include "Poco/Data/MySQL/MySQL.h" + #include "Poco/Data/DataException.h" +-#include ++#include + #include + #include + +diff --git a/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h b/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h +index 8b45e2a..caee854 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MetaColumn.h" +-#include ++#include + #include + + +diff --git a/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h b/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h +index 4f65ae5..f9df7ad 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h b/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h +index 6767b68..55f0991 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/Utility.h b/Data/MySQL/include/Poco/Data/MySQL/Utility.h +index d6d9b40..1e46074 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/Utility.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/Utility.h +@@ -20,7 +20,7 @@ + + #include "Poco/Data/MySQL/MySQL.h" + #include "Poco/Data/Session.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/Connector.cpp b/Data/MySQL/src/Connector.cpp +index b90abab..43e2432 100644 +--- a/Data/MySQL/src/Connector.cpp ++++ b/Data/MySQL/src/Connector.cpp +@@ -16,7 +16,7 @@ + #include "Poco/Data/MySQL/SessionImpl.h" + #include "Poco/Data/SessionFactory.h" + #include "Poco/Exception.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/StatementExecutor.cpp b/Data/MySQL/src/StatementExecutor.cpp +index b7e8dbc..d1b512d 100644 +--- a/Data/MySQL/src/StatementExecutor.cpp ++++ b/Data/MySQL/src/StatementExecutor.cpp +@@ -14,7 +14,7 @@ + + #include "Poco/Data/MySQL/StatementExecutor.h" + #include "Poco/Format.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/Utility.cpp b/Data/MySQL/src/Utility.cpp +index 84e5cfc..b711901 100644 +--- a/Data/MySQL/src/Utility.cpp ++++ b/Data/MySQL/src/Utility.cpp +@@ -15,7 +15,7 @@ + + + #include "Poco/Data/MySQL/Utility.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/testsuite/src/SQLExecutor.cpp b/Data/MySQL/testsuite/src/SQLExecutor.cpp +index 10594be..3f4bcd7 100644 +--- a/Data/MySQL/testsuite/src/SQLExecutor.cpp ++++ b/Data/MySQL/testsuite/src/SQLExecutor.cpp +@@ -30,7 +30,7 @@ + #endif + + +-#include ++#include + #include + #include + diff --git a/recipes/poco/all/test_package/CMakeLists.txt b/recipes/poco/all/test_package/CMakeLists.txt index 42eba4251a7ef..99f190c6b84cd 100644 --- a/recipes/poco/all/test_package/CMakeLists.txt +++ b/recipes/poco/all/test_package/CMakeLists.txt @@ -40,14 +40,20 @@ endif() find_package(Poco REQUIRED ${POCO_COMPONENTS} CONFIG) +if(Poco_VERSION VERSION_LESS "1.12.5") + set(POCO_CXX_STD cxx_std_11) +else() + set(POCO_CXX_STD cxx_std_14) +endif() + add_executable(core test_core.cpp) target_link_libraries(core PRIVATE Poco::Foundation) -target_compile_features(core PRIVATE cxx_std_11) +target_compile_features(core PRIVATE ${POCO_CXX_STD}) if(TEST_UTIL) add_executable(util test_util.cpp) target_link_libraries(util PRIVATE Poco::Util) - target_compile_features(util PRIVATE cxx_std_11) + target_compile_features(util PRIVATE ${POCO_CXX_STD}) if(MINGW) target_link_options(util PRIVATE -municode) endif() @@ -57,20 +63,20 @@ endif() if(TEST_CRYPTO) add_executable(tcrypto test_crypto.cpp) target_link_libraries(tcrypto PRIVATE Poco::Crypto) - target_compile_features(tcrypto PRIVATE cxx_std_11) + target_compile_features(tcrypto PRIVATE ${POCO_CXX_STD}) add_test(NAME tcrypto COMMAND tcrypto ${CMAKE_CURRENT_SOURCE_DIR}/conanfile.py) endif() if(TEST_NET) add_executable(net test_net.cpp) target_link_libraries(net PRIVATE Poco::Net) - target_compile_features(net PRIVATE cxx_std_11) + target_compile_features(net PRIVATE ${POCO_CXX_STD}) add_test(NAME net COMMAND net) if(TEST_UTIL) add_executable(net_2 test_net_2.cpp) target_link_libraries(net_2 PRIVATE Poco::Net Poco::Util) - target_compile_features(net_2 PRIVATE cxx_std_11) + target_compile_features(net_2 PRIVATE ${POCO_CXX_STD}) add_test(NAME net_2 COMMAND net_2) endif() endif() @@ -78,34 +84,34 @@ endif() if(TEST_NETSSL) add_executable(netssl test_netssl.cpp) target_link_libraries(netssl PRIVATE Poco::NetSSL) - target_compile_features(netssl PRIVATE cxx_std_11) + target_compile_features(netssl PRIVATE ${POCO_CXX_STD}) add_test(NAME netssl COMMAND netssl) endif() if(TEST_SQLITE) add_executable(sqlite test_sqlite.cpp) target_link_libraries(sqlite PRIVATE Poco::DataSQLite) - target_compile_features(sqlite PRIVATE cxx_std_11) + target_compile_features(sqlite PRIVATE ${POCO_CXX_STD}) add_test(NAME sqlite COMMAND sqlite) endif() if(TEST_ENCODINGS) add_executable(encodings test_encodings.cpp) target_link_libraries(encodings PRIVATE Poco::Encodings) - target_compile_features(encodings PRIVATE cxx_std_11) + target_compile_features(encodings PRIVATE ${POCO_CXX_STD}) add_test(NAME encodings COMMAND encodings) endif() if(TEST_JWT) add_executable(jwt test_jwt.cpp) target_link_libraries(jwt PRIVATE Poco::JWT) - target_compile_features(jwt PRIVATE cxx_std_11) + target_compile_features(jwt PRIVATE ${POCO_CXX_STD}) add_test(NAME jwt COMMAND jwt) endif() if(TEST_PROMETHEUS) add_executable(prometheus test_prometheus.cpp) target_link_libraries(prometheus PRIVATE Poco::Prometheus) - target_compile_features(prometheus PRIVATE cxx_std_11) + target_compile_features(prometheus PRIVATE ${POCO_CXX_STD}) add_test(NAME prometheus COMMAND prometheus) endif() diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index 9843e7f469dce..2d62c53468641 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.12.5p1": + folder: all "1.12.4": folder: all "1.12.3": @@ -11,9 +13,3 @@ versions: folder: all "1.11.3": folder: all - "1.11.2": - folder: all - "1.11.1": - folder: all - "1.11.0": - folder: all From 9c00b3ce73371b9616dcbddf9ea8f0179fc8190e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 22:48:57 +0100 Subject: [PATCH 2446/4087] (#20922) hdf5: do not remove import lib during packaging if mingw shared * do not remove import lib if mingw shared * simplify rm pattern * Revert "simplify rm pattern" This reverts commit 8ff2480f9ea4c50fe10f982e75cbb973746b72d2. --- recipes/hdf5/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/hdf5/all/conanfile.py b/recipes/hdf5/all/conanfile.py index 5938ce6e5cfbe..2f176fad53d61 100644 --- a/recipes/hdf5/all/conanfile.py +++ b/recipes/hdf5/all/conanfile.py @@ -1,3 +1,4 @@ +import glob import os import textwrap @@ -235,7 +236,9 @@ def package(self): # remove extra libs... building 1.8.21 as shared also outputs static libs on Linux. if self.options.shared: - rm(self, "*.a", os.path.join(self.package_folder, "lib")) + for lib in glob.glob(os.path.join(self.package_folder, "lib", "*.a")): + if not lib.endswith(".dll.a"): + os.remove(lib) # Mimic the official CMake FindHDF5 targets. HDF5::HDF5 refers to the global target as per conan, # but component targets have a lower case namespace prefix. hdf5::hdf5 refers to the C library only From 6413a0ef8342bda78cafe27f34855c6dd3e3e4da Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 23:27:08 +0100 Subject: [PATCH 2447/4087] (#20930) faac: fix build with mingw Makefile is generated after configure, not autoreconf --- recipes/faac/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/faac/all/conanfile.py b/recipes/faac/all/conanfile.py index 101a73acd4cc4..5fff9951f937e 100644 --- a/recipes/faac/all/conanfile.py +++ b/recipes/faac/all/conanfile.py @@ -151,11 +151,11 @@ def build(self): else: autotools = Autotools(self) autotools.autoreconf() + autotools.configure() if self._is_mingw and self.options.shared: replace_in_file(self, os.path.join(self.build_folder, "libfaac", "Makefile"), "\nlibfaac_la_LIBADD = ", "\nlibfaac_la_LIBADD = -no-undefined ") - autotools.configure() autotools.make() def package(self): From ebb0a1e10d86fe316b8bdbecf42b9df9c501f00d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 8 Nov 2023 23:47:23 +0100 Subject: [PATCH 2448/4087] (#20931) nettle: fix patch logic when build machine is windows --- recipes/nettle/all/conanfile.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/recipes/nettle/all/conanfile.py b/recipes/nettle/all/conanfile.py index 8add0e95985cd..e24910f2f61b5 100644 --- a/recipes/nettle/all/conanfile.py +++ b/recipes/nettle/all/conanfile.py @@ -113,12 +113,15 @@ def build(self): self._patch_sources() autotools = Autotools(self) autotools.autoreconf() + autotools.configure() # srcdir in unix path causes some troubles in asm files on Windows if self._settings_build.os == "Windows": - replace_in_file(self, os.path.join(self.build_folder, "config.m4"), - unix_path(self, os.path.join(self.build_folder, self.source_folder)), - os.path.join(self.build_folder, self.source_folder).replace("\\", "/")) - autotools.configure() + replace_in_file( + self, + os.path.join(self.build_folder, "config.m4"), + unix_path(self, self.source_folder), + self.source_folder.replace("\\", "/"), + ) autotools.make() def package(self): From ff29ce816162b631355ef74355f6f9be930acfd9 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 9 Nov 2023 00:17:29 +0100 Subject: [PATCH 2449/4087] (#20935) libraw: fix MinGW shared + few improvements + remove 0.19.5 * fix MinGW shared link to ws2_32 if Windows * several improvements - add package_type - bump libjpeg-turbo - allow to build against libjpeg implementation from mozjpeg - propagate only libjpeg implementation of libjpeg-turbo or mozjpeg - explicit cpp_info.libs - add CMake options, mapped to recipe options, in order to have full control of dependencies linked to libraw - better way to disable warnings for msvc * remove 0.19.5 * cleanup imports --- recipes/libraw/all/CMakeLists.txt | 80 +++++++++++++++---------------- recipes/libraw/all/conandata.yml | 3 -- recipes/libraw/all/conanfile.py | 35 ++++++++++---- recipes/libraw/config.yml | 2 - 4 files changed, 64 insertions(+), 56 deletions(-) diff --git a/recipes/libraw/all/CMakeLists.txt b/recipes/libraw/all/CMakeLists.txt index 1aba64dbf532a..867dedb15eb72 100644 --- a/recipes/libraw/all/CMakeLists.txt +++ b/recipes/libraw/all/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.8) project(LibRaw LANGUAGES CXX) -file(GLOB_RECURSE headers "${LIBRAW_SRC_DIR}/libraw/*.h") - +option(LIBRAW_WITH_JPEG "Build with libjpeg" ON) +option(LIBRAW_WITH_LCMS "Build with LCMS" ON) +option(LIBRAW_WITH_JASPER "Build with Jasper" ON) if(RAW_LIB_VERSION_STRING VERSION_LESS 0.21) set(libraw_LIB_SRCS ${LIBRAW_SRC_DIR}/internal/dcraw_common.cpp @@ -20,51 +21,48 @@ else() list(REMOVE_ITEM libraw_LIB_SRCS ${exclude_libraw_LIB_SRCS}) endif() -if(WIN32) - add_definitions(-DWIN32) +if(LIBRAW_WITH_JPEG) + find_package(JPEG REQUIRED) +endif() +if(LIBRAW_WITH_LCMS) + find_package(lcms REQUIRED CONFIG) +endif() +if(LIBRAW_WITH_JASPER) + find_package(Jasper REQUIRED) +endif() +add_library(raw ${libraw_LIB_SRCS}) +target_compile_features(raw PRIVATE cxx_std_11) +target_include_directories(raw PUBLIC "${LIBRAW_SRC_DIR}") +if(WIN32) + target_link_libraries(raw PUBLIC ws2_32) if(BUILD_SHARED_LIBS) - add_definitions(-DLIBRAW_BUILDLIB) + target_compile_definitions(raw PRIVATE LIBRAW_BUILDLIB) else() - add_definitions(-DLIBRAW_NODLL) + target_compile_definitions(raw PUBLIC LIBRAW_NODLL) endif() endif() - -find_package(JPEG CONFIG) -find_package(libjpeg-turbo CONFIG) -find_package(lcms CONFIG) -find_package(Jasper CONFIG) - -if (TARGET JPEG::JPEG OR TARGET libjpeg-turbo::jpeg OR TARGET libjpeg-turbo::jpeg_static) - add_definitions(-DUSE_JPEG -DUSE_JPEG8) -endif () -if (TARGET lcms::lcms) - add_definitions(-DUSE_LCMS2) -endif () -if (TARGET Jasper::Jasper) - add_definitions(-DUSE_JASPER) -endif () - -add_library(raw ${headers} ${libraw_LIB_SRCS}) -target_compile_features(raw PRIVATE cxx_std_11) -target_include_directories(raw PUBLIC "${LIBRAW_SRC_DIR}") -set_target_properties(raw PROPERTIES LINKER_LANGUAGE CXX) -target_compile_options(raw PUBLIC $<$:/W0>) -if (TARGET JPEG::JPEG) - target_link_libraries(raw PUBLIC JPEG::JPEG) -endif () -if (TARGET libjpeg-turbo::jpeg) - target_link_libraries(raw PUBLIC libjpeg-turbo::jpeg) -endif () -if (TARGET libjpeg-turbo::jpeg_static) - target_link_libraries(raw PUBLIC libjpeg-turbo::jpeg_static) +if(MSVC) + target_compile_options(raw PRIVATE /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) endif () -if (TARGET lcms::lcms) - target_link_libraries(raw PUBLIC lcms::lcms) +if (LIBRAW_WITH_LCMS) + target_compile_definitions(raw PRIVATE USE_LCMS2) + target_link_libraries(raw PRIVATE lcms::lcms) endif () -if (TARGET Jasper::Jasper) - target_link_libraries(raw PUBLIC Jasper::Jasper) +if (LIBRAW_WITH_JASPER) + target_compile_definitions(raw PRIVATE USE_JASPER) + target_link_libraries(raw PRIVATE Jasper::Jasper) endif () -install(DIRECTORY "${LIBRAW_SRC_DIR}/libraw" DESTINATION include) -install(TARGETS raw ARCHIVE DESTINATION lib RUNTIME DESTINATION bin LIBRARY DESTINATION lib) +include(GNUInstallDirs) +install(DIRECTORY "${LIBRAW_SRC_DIR}/libraw" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install( + TARGETS raw + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) diff --git a/recipes/libraw/all/conandata.yml b/recipes/libraw/all/conandata.yml index 2293cc11d33ee..de16dc88c770a 100644 --- a/recipes/libraw/all/conandata.yml +++ b/recipes/libraw/all/conandata.yml @@ -8,6 +8,3 @@ sources: "0.20.0": url: "https://github.com/LibRaw/LibRaw/archive/0.20.0.tar.gz" sha256: "f38cd2620d5adc32d2c9f51cd0dc66d72c75671f1c81dfd13d30c45c6be80d40" - "0.19.5": - url: "https://github.com/LibRaw/LibRaw/archive/0.19.5.tar.gz" - sha256: "9a2a40418e4fb0ab908f6d384ff6f9075f4431f8e3d79a0e44e5a6ea9e75abdc" diff --git a/recipes/libraw/all/conanfile.py b/recipes/libraw/all/conanfile.py index 8ac3fa60eafca..4fda00c094ccf 100644 --- a/recipes/libraw/all/conanfile.py +++ b/recipes/libraw/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile -from conan.tools.files import get, copy, collect_libs 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 import os required_conan_version = ">=1.53.0" @@ -12,21 +12,22 @@ class LibRawConan(ConanFile): license = "CDDL-1.0", "LGPL-2.1-only" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.libraw.org/" - topics = ["image", "photography", "raw"] + topics = ("image", "photography", "raw") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "with_jpeg": [False, "libjpeg", "libjpeg-turbo"], + "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], "with_lcms": [True, False], - "with_jasper": [True, False] + "with_jasper": [True, False], } default_options = { "shared": False, "fPIC": True, "with_jpeg": "libjpeg", "with_lcms": True, - "with_jasper": True + "with_jasper": True, } exports_sources = ["CMakeLists.txt"] @@ -51,7 +52,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/2.1.5") + self.requires("libjpeg-turbo/3.0.0") + elif self.options.with_jpeg == "mozjpeg": + self.requires("mozjpeg/4.1.3") if self.options.with_lcms: self.requires("lcms/2.14") if self.options.with_jasper: @@ -68,6 +71,9 @@ 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_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 tc.generate() deps = CMakeDeps(self) @@ -85,11 +91,20 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.libs = collect_libs(self) + self.cpp_info.libs = ["raw"] if self.settings.os == "Windows": - self.cpp_info.defines.append("WIN32") self.cpp_info.system_libs.append("ws2_32") + if not self.options.shared: + self.cpp_info.defines.append("LIBRAW_NODLL") - if not self.options.shared: - self.cpp_info.defines.append("LIBRAW_NODLL") + if self.options.with_jpeg == "libjpeg": + self.cpp_info.requires.append("libjpeg::libjpeg") + elif self.options.with_jpeg == "libjpeg-turbo": + self.cpp_info.requires.append("libjpeg-turbo::jpeg") + elif self.options.with_jpeg == "mozjpeg": + self.cpp_info.requires.append("mozjpeg::libjpeg") + if self.options.with_lcms: + self.cpp_info.requires.append("lcms::lcms") + if self.options.with_jasper: + self.cpp_info.requires.append("jasper::jasper") diff --git a/recipes/libraw/config.yml b/recipes/libraw/config.yml index 35c98427b7408..c99b05f143414 100644 --- a/recipes/libraw/config.yml +++ b/recipes/libraw/config.yml @@ -5,5 +5,3 @@ versions: folder: all "0.20.0": folder: all - "0.19.5": - folder: all From f86b52224ce196f7739bfee3674a8fd0ed5a5144 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 9 Nov 2023 02:37:59 +0300 Subject: [PATCH 2450/4087] (#20983) sdl: add version 2.28.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 18abe40233950..5542cc7bb105c 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.28.5": + url: "https://www.libsdl.org/release/SDL2-2.28.5.tar.gz" + sha256: "332cb37d0be20cb9541739c61f79bae5a477427d79ae85e352089afdaf6666e4" "2.28.3": url: "https://www.libsdl.org/release/SDL2-2.28.3.tar.gz" sha256: "7acb8679652701a2504d734e2ba7543ec1a83e310498ddd22fd44bf965eb5518" diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 1c617b70e2f30..e05c00ea2969e 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.28.5": + folder: all "2.28.3": folder: all "2.28.2": From bf16b781c69d5ef4b29d433332e41e802478685b Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 9 Nov 2023 00:57:20 +0100 Subject: [PATCH 2451/4087] (#20990) aws-c-common: re-add 0.8.2 it was removed in https://github.com/conan-io/conan-center-index/pull/19995 but is still referenced by several recipes: https://github.com/search?q=repo%3Aconan-io%2Fconan-center-index%20aws-c-common%2F0.8.2&type=code --- 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 a4f84c0d2b54b..9261747efd7d9 100644 --- a/recipes/aws-c-common/all/conandata.yml +++ b/recipes/aws-c-common/all/conandata.yml @@ -11,6 +11,9 @@ sources: "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" diff --git a/recipes/aws-c-common/config.yml b/recipes/aws-c-common/config.yml index b1a76829e3fbe..86ea79fbcf2ff 100644 --- a/recipes/aws-c-common/config.yml +++ b/recipes/aws-c-common/config.yml @@ -7,6 +7,8 @@ versions: folder: all "0.8.23": folder: all + "0.8.2": + folder: all "0.7.5": folder: all "0.6.20": From 0bb0223c46c53db3d432ad2d00a44630b2b0f85e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 10:07:48 +0900 Subject: [PATCH 2452/4087] (#21010) continuable: update funciton2/4.2.4 --- recipes/continuable/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/continuable/all/conanfile.py b/recipes/continuable/all/conanfile.py index e724022beb95f..2713e8d38ceb7 100644 --- a/recipes/continuable/all/conanfile.py +++ b/recipes/continuable/all/conanfile.py @@ -78,7 +78,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("function2/4.2.3") + self.requires("function2/4.2.4") def package_id(self): self.info.clear() From 4ec578dff4d33a1406f42788bde7a536e8e5e3dd Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 10:57:18 +0900 Subject: [PATCH 2453/4087] (#21008) asyncly: update function2/4.2.4 --- recipes/asyncly/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/asyncly/all/conanfile.py b/recipes/asyncly/all/conanfile.py index bed73f009ac53..35a484db0a6f6 100644 --- a/recipes/asyncly/all/conanfile.py +++ b/recipes/asyncly/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): self.requires("boost/1.83.0", transitive_headers=True) - self.requires("function2/4.2.3", transitive_headers=True) + self.requires("function2/4.2.4", transitive_headers=True) self.requires("prometheus-cpp/1.1.0", transitive_headers=True) def validate(self): From 25a202114abcbdf449c77d1d7c7fccc459542959 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 13:39:23 +0900 Subject: [PATCH 2454/4087] (#21013) base64: add version 0.5.1 --- recipes/base64/all/conandata.yml | 3 +++ recipes/base64/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/base64/all/conandata.yml b/recipes/base64/all/conandata.yml index 6ebaff03fb45d..05002bdfb4f04 100644 --- a/recipes/base64/all/conandata.yml +++ b/recipes/base64/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.1": + url: "https://github.com/aklomp/base64/archive/v0.5.1.tar.gz" + sha256: "35fd9400ce85ba5fc5455b3f1c8d0078d084ad246bd808315fd01ea8f2876dbf" "0.5.0": url: "https://github.com/aklomp/base64/archive/v0.5.0.tar.gz" sha256: "b21be58a90d31302ba86056db7ef77a481393b9359c505be5337d7d54e8a0559" diff --git a/recipes/base64/config.yml b/recipes/base64/config.yml index d13fcfd021b7b..f6f488a641c0d 100644 --- a/recipes/base64/config.yml +++ b/recipes/base64/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.1": + folder: all "0.5.0": folder: all "0.4.0": From 1c9120373b55521d43e4a2269b7f617f13c0fdf0 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 14:08:37 +0900 Subject: [PATCH 2455/4087] (#21011) cimg: update openexr/3.2.1 --- recipes/cimg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cimg/all/conanfile.py b/recipes/cimg/all/conanfile.py index 9e8fee941b0eb..b626bca664ae6 100644 --- a/recipes/cimg/all/conanfile.py +++ b/recipes/cimg/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.enable_jpeg: self.requires("libjpeg/9e") if self.options.enable_openexr: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") if self.options.enable_png: self.requires("libpng/1.6.40") if self.options.enable_tiff: From de5035611762c13074c526a5386c678e05e3f4f8 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 14:27:22 +0900 Subject: [PATCH 2456/4087] (#21009) aws-c-io: add version 0.13.35 --- recipes/aws-c-io/all/conandata.yml | 3 +++ recipes/aws-c-io/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-io/all/conandata.yml b/recipes/aws-c-io/all/conandata.yml index 0d0d5af78f68c..41a965e1e143c 100644 --- a/recipes/aws-c-io/all/conandata.yml +++ b/recipes/aws-c-io/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/aws-c-io/config.yml b/recipes/aws-c-io/config.yml index febe94b14a0b3..d086ea94712c2 100644 --- a/recipes/aws-c-io/config.yml +++ b/recipes/aws-c-io/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.35": + folder: all "0.13.32": folder: all "0.13.4": From c9ac240342de64259042abfc80efe5b476d24b06 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 9 Nov 2023 22:21:54 +0900 Subject: [PATCH 2457/4087] (#21017) aws-checksums: update aws-c-common/0.9.6 --- recipes/aws-checksums/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-checksums/all/conanfile.py b/recipes/aws-checksums/all/conanfile.py index 401b1b679aa04..e2711f6d5488f 100644 --- a/recipes/aws-checksums/all/conanfile.py +++ b/recipes/aws-checksums/all/conanfile.py @@ -49,7 +49,7 @@ 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.0", transitive_headers=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 0360e239d701eaaf25e90b5f66603c8b4febe965 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 10 Nov 2023 16:20:43 +0900 Subject: [PATCH 2458/4087] (#21033) aws-c-event-stream: update dependencies --- recipes/aws-c-event-stream/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/aws-c-event-stream/all/conanfile.py b/recipes/aws-c-event-stream/all/conanfile.py index d88a017a7e6ba..e7d1df562c48b 100644 --- a/recipes/aws-c-event-stream/all/conanfile.py +++ b/recipes/aws-c-event-stream/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): 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.0", transitive_headers=True, transitive_libs=True) + 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": @@ -55,7 +55,7 @@ def requirements(self): elif Version(self.version) < "0.3.1": self.requires("aws-c-io/0.13.4") else: - self.requires("aws-c-io/0.13.32") + self.requires("aws-c-io/0.13.35") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From b48969544eea811121c47e6ef59bc7318c046f70 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 10 Nov 2023 17:07:34 +0900 Subject: [PATCH 2459/4087] (#21035) ada: add version 2.7.3 --- 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 c1ec0862fe264..58db4c867f55a 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 34d2438488869..2ef669e41a802 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.3": + folder: all "2.7.2": folder: all "2.7.0": From c3bf6f82b43de3fed5f3ff28d3b3ac1b807c6dd6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 10 Nov 2023 10:33:26 +0200 Subject: [PATCH 2460/4087] (#18723) libcpuid: migrate to Conan v2 * libcpuid: migrate to Conan v2 * libcpuid: move DLLs from lib to bin * libcpuid: remove unnecessary copying of DLLs * libcpuid: fix test_package --- recipes/libcpuid/all/CMakeLists.txt | 13 ---- recipes/libcpuid/all/conandata.yml | 2 - recipes/libcpuid/all/conanfile.py | 77 +++++++++---------- .../libcpuid/all/test_package/CMakeLists.txt | 5 +- .../libcpuid/all/test_package/conanfile.py | 27 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libcpuid/all/test_v1_package/conanfile.py | 19 +++++ 7 files changed, 86 insertions(+), 65 deletions(-) delete mode 100644 recipes/libcpuid/all/CMakeLists.txt create mode 100644 recipes/libcpuid/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libcpuid/all/test_v1_package/conanfile.py diff --git a/recipes/libcpuid/all/CMakeLists.txt b/recipes/libcpuid/all/CMakeLists.txt deleted file mode 100644 index dcbf69112bb06..0000000000000 --- a/recipes/libcpuid/all/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -include(GNUInstallDirs) - -if(MSVC AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory(source_subfolder) diff --git a/recipes/libcpuid/all/conandata.yml b/recipes/libcpuid/all/conandata.yml index 133cbeb595d14..a10d26bb3cb6c 100644 --- a/recipes/libcpuid/all/conandata.yml +++ b/recipes/libcpuid/all/conandata.yml @@ -8,7 +8,5 @@ sources: patches: "0.5.1": - patch_file: "patches/0.5.0-cmake-fixes.patch" - base_path: "source_subfolder" "0.5.0": - patch_file: "patches/0.5.0-cmake-fixes.patch" - base_path: "source_subfolder" diff --git a/recipes/libcpuid/all/conanfile.py b/recipes/libcpuid/all/conanfile.py index 68d83bcf3f7fc..819fb78b61c57 100644 --- a/recipes/libcpuid/all/conanfile.py +++ b/recipes/libcpuid/all/conanfile.py @@ -1,18 +1,22 @@ -from conans import CMake, ConanFile, 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.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir + +required_conan_version = ">=1.53.0" class LibCpuidConan(ConanFile): name = "libcpuid" - description = "libcpuid is a small C library for x86 CPU detection and feature extraction" - topics = ("libcpuid", "detec", "cpu", "intel", "amd", "x86_64") + description = "libcpuid is a small C library for x86 CPU detection and feature extraction" license = "https://github.com/anrieff/libcpuid" - homepage = "https://github.com/anrieff/libcpuid" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/anrieff/libcpuid" + topics = ("detec", "cpu", "intel", "amd", "x86_64") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -23,21 +27,8 @@ class LibCpuidConan(ConanFile): "fPIC": True, } - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - 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": @@ -45,38 +36,44 @@ 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 package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type def validate(self): if self.settings.arch not in ("x86", "x86_64"): raise ConanInvalidConfiguration("libcpuid is only available for x86 and x86_64 architecture") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["ENABLE_DOCS"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.variables["ENABLE_DOCS"] = False + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "COPYING", + 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")) + 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", "cpuid") @@ -85,7 +82,7 @@ def package_info(self): self.cpp_info.libs = ["cpuid"] bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) # TODO: to remove in conan v2 once cmake_find_package_* generators removed diff --git a/recipes/libcpuid/all/test_package/CMakeLists.txt b/recipes/libcpuid/all/test_package/CMakeLists.txt index bbffbda24bead..a08817e34e922 100644 --- a/recipes/libcpuid/all/test_package/CMakeLists.txt +++ b/recipes/libcpuid/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(cpuid REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/libcpuid/all/test_package/conanfile.py b/recipes/libcpuid/all/test_package/conanfile.py index a2a865893b40b..b71178d68741b 100644 --- a/recipes/libcpuid/all/test_package/conanfile.py +++ b/recipes/libcpuid/all/test_package/conanfile.py @@ -1,10 +1,25 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import VirtualRunEnv + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str, run=True) + + def layout(self): + cmake_layout(self) + + def generate(self): + VirtualRunEnv(self).generate(scope="build") + VirtualRunEnv(self).generate(scope="run") def build(self): cmake = CMake(self) @@ -12,8 +27,8 @@ 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") - self.run("cpuid_tool --report", run_environment=True) + self.run("cpuid_tool --report") diff --git a/recipes/libcpuid/all/test_v1_package/CMakeLists.txt b/recipes/libcpuid/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libcpuid/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/libcpuid/all/test_v1_package/conanfile.py b/recipes/libcpuid/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a2a865893b40b --- /dev/null +++ b/recipes/libcpuid/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +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) + + self.run("cpuid_tool --report", run_environment=True) From f45f577ead2ce6d28b8fd6f877cf3c7e08e4aaac Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 10 Nov 2023 09:42:15 +0100 Subject: [PATCH 2461/4087] (#20994) [config v2] Add longer timeout to build gstreamer --- .c3i/config_v2.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 7cb248b22318f..677e540455c59 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -40,6 +40,7 @@ tasks: - boost - qt - llvm + - gstreamer cci: conan_v2_run_export: false detailed_status_checks: false From c75dedffc00fb1ceb1881a2f3605a0806474bd73 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 10 Nov 2023 09:59:34 +0100 Subject: [PATCH 2462/4087] (#20897) onetbb: remove shared option + fix tbbmaloc & tbbproxy logic * remove shared option since shared option is True by default, it causes lot of missing packages in c3i. Moreover shared=False is strongly discouraged anyway and totally forbidden in recent versions * bump pkgconf * fix tbbmaloc & tbbproxy logic --- recipes/onetbb/all/conanfile.py | 59 ++++++++++++--------------------- 1 file changed, 21 insertions(+), 38 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index af7ba4a30fa50..86585126d6bb5 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -21,26 +21,29 @@ class OneTBBConan(ConanFile): " programs that take full advantage of multicore performance, that are portable, composable" " and have future-proof scalability.") topics = ("tbb", "threading", "parallelism", "tbbmalloc") - package_type = "library" - + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], - "fPIC": [True, False], "tbbmalloc": [True, False], "tbbproxy": [True, False], "tbbbind": [True, False], "interprocedural_optimization": [True, False], } default_options = { - "shared": True, - "fPIC": True, "tbbmalloc": True, "tbbproxy": True, "tbbbind": True, "interprocedural_optimization": True, } + @property + def _has_tbbmalloc(self): + return Version(self.version) < "2021.5.0" or self.options.get_safe("tbbmalloc") + + @property + def _has_tbbproxy(self): + return Version(self.version) < "2021.6.0" or self.options.get_safe("tbbproxy") + @property def _tbbbind_hwloc_version(self): # TBB expects different variables depending on the version @@ -64,23 +67,17 @@ 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) < "2021.5.0": + del self.options.tbbmalloc + if Version(self.version) < "2021.6.0": + del self.options.tbbproxy if not self._tbbbind_supported: del self.options.tbbbind if Version(self.version) < "2021.6.0" or self.settings.os == "Android": del self.options.interprocedural_optimization - if Version(self.version) < "2021.2.0": - del self.options.shared - self.options.rm_safe("fPIC") def configure(self): - if self.options.get_safe("shared", True): - self.options.rm_safe("fPIC") - else: - del self.options.tbbproxy - self.options.rm_safe("tbbbind") - if not self.options.tbbmalloc: + if Version(self.version) >= "2021.6.0" and not self.options.tbbmalloc: self.options.rm_safe("tbbproxy") if self._tbbbind_explicit_hwloc: self.options["hwloc"].shared = True @@ -92,31 +89,17 @@ def requirements(self): if self._tbbbind_build: self.requires("hwloc/2.9.3") - def build_requirements(self): - if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") - - def package_id(self): - if Version(self.version) < "2021.5.0": - self.info.options.tbbmalloc = True - if Version(self.version) < "2021.6.0" and self.info.options.get_safe("tbbproxy"): - self.info.options.tbbproxy = True - def validate(self): if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "11.0": raise ConanInvalidConfiguration(f"{self.ref} couldn't be built by apple-clang < 11.0") - if not self.options.get_safe("shared", True): - if Version(self.version) >= "2021.6.0": - raise ConanInvalidConfiguration( - "Building oneTBB as a static library is highly discouraged and not supported " - "to avoid unforeseen issues like https://github.com/oneapi-src/oneTBB/issues/920. " - "Please consider fixing at least the aforementioned issue in upstream." - ) - self.output.warning("oneTBB strongly discourages usage of static linkage") if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") + def build_requirements(self): + if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -128,7 +111,7 @@ def generate(self): toolchain.variables["TBBMALLOC_BUILD"] = self.options.tbbmalloc if self.options.get_safe("interprocedural_optimization"): toolchain.variables["TBB_ENABLE_IPO"] = self.options.interprocedural_optimization - if Version(self.version) >= "2021.6.0" and self.options.get_safe("tbbproxy"): + if Version(self.version) >= "2021.6.0" and self.options.get_safe("tbbmalloc"): toolchain.variables["TBBMALLOC_PROXY_BUILD"] = self.options.tbbproxy toolchain.variables["TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH"] = not self._tbbbind_build if self._tbbbind_explicit_hwloc: @@ -192,7 +175,7 @@ def lib_name(name): tbb.system_libs = ["m", "dl", "rt", "pthread"] # tbbmalloc - if self.options.tbbmalloc: + if self._has_tbbmalloc: tbbmalloc = self.cpp_info.components["tbbmalloc"] tbbmalloc.set_property("cmake_target_name", "TBB::tbbmalloc") @@ -201,7 +184,7 @@ def lib_name(name): tbbmalloc.system_libs = ["dl", "pthread"] # tbbmalloc_proxy - if self.options.get_safe("tbbproxy", False): + if self._has_tbbproxy: tbbproxy = self.cpp_info.components["tbbmalloc_proxy"] tbbproxy.set_property("cmake_target_name", "TBB::tbbmalloc_proxy") From 3d18edeab5f20978550fc1ec35d9f6e09541bfd0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 10 Nov 2023 11:23:58 +0200 Subject: [PATCH 2463/4087] (#18689) gm2calc: migrate to Conan v2 * gm2calc: migrate to Conan v2 * gm2calc: do not build examples, etc * gm2calc: bump deps * gm2calc: add v2.2.0 * gm2calc: make sure Boost is included --- recipes/gm2calc/all/CMakeLists.txt | 11 -- recipes/gm2calc/all/conandata.yml | 4 +- recipes/gm2calc/all/conanfile.py | 100 +++++++++++------- .../gm2calc/all/test_package/CMakeLists.txt | 7 +- recipes/gm2calc/all/test_package/conanfile.py | 21 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../gm2calc/all/test_v1_package/conanfile.py | 17 +++ recipes/gm2calc/config.yml | 2 + 8 files changed, 108 insertions(+), 62 deletions(-) delete mode 100644 recipes/gm2calc/all/CMakeLists.txt create mode 100644 recipes/gm2calc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/gm2calc/all/test_v1_package/conanfile.py diff --git a/recipes/gm2calc/all/CMakeLists.txt b/recipes/gm2calc/all/CMakeLists.txt deleted file mode 100644 index 023f135034eed..0000000000000 --- a/recipes/gm2calc/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(MSVC AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/gm2calc/all/conandata.yml b/recipes/gm2calc/all/conandata.yml index 5246438fdf67a..20c1af33fc98d 100644 --- a/recipes/gm2calc/all/conandata.yml +++ b/recipes/gm2calc/all/conandata.yml @@ -8,7 +8,9 @@ sources: "2.1.0": url: "https://github.com/GM2Calc/GM2Calc/archive/v2.1.0.tar.gz" sha256: "33fd0d6da089e25ae0a6ac81b70e9bc9152952e7be4383f4c0baa862af7921bb" + "2.2.0": + url: "https://github.com/GM2Calc/GM2Calc/archive/v2.2.0.tar.gz" + sha256: "02c36a3d1d58d66cd1bce8affcd64152d965596075730d51147dc5ac78323106" patches: "1.7.5": - patch_file: "patches/0001-update-1.7.5-to-FindMathematica-3.6.0.patch" - base_path: "source_subfolder" diff --git a/recipes/gm2calc/all/conanfile.py b/recipes/gm2calc/all/conanfile.py index 5332dc62195c9..4eb7c82e9db86 100644 --- a/recipes/gm2calc/all/conanfile.py +++ b/recipes/gm2calc/all/conanfile.py @@ -1,35 +1,35 @@ import os -import conan -from conans import ConanFile, CMake, tools -required_conan_version = ">=1.30.0" +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file, save +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class Gm2calcConan(ConanFile): name = "gm2calc" + description = "C++ library to calculate the anomalous magnetic moment of the muon in the MSSM and 2HDM" license = "GPL-3.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/GM2Calc/GM2Calc" - description = "C++ library to calculate the anomalous magnetic moment of the muon in the MSSM and 2HDM" topics = ("high-energy", "physics", "hep", "magnetic moment", "muon", "mssm", "2hdm") - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_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): - 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": @@ -37,38 +37,58 @@ 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.75.0") - self.requires("eigen/3.3.9") + self.requires("boost/1.83.0") + self.requires("eigen/3.4.0", transitive_headers=True) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - conan.tools.files.rename(self, "GM2Calc-{}".format(self.version), self._source_subfolder) + 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.generate() + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + if Version(self.version) < "2.2.0": + replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), "EIGEN3", "Eigen3") + # Fix src/slhaea.h:25:10: fatal error: boost/algorithm/string/classification.hpp: No such file or directory + save(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), + "\ninclude_directories(${Boost_INCLUDE_DIRS})", append=True) + # Disable examples, test and doc + for subdir in ["examples", "test", "doc"]: + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), f"add_subdirectory({subdir})", "") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - 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, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "GM2Calc") + self.cpp_info.set_property("cmake_target_name", "GM2Calc::GM2Calc") + self.cpp_info.set_property("pkg_config_name", "gm2calc") + self.cpp_info.libs = ["gm2calc"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "GM2Calc" self.cpp_info.names["cmake_find_package_multi"] = "GM2Calc" - self.cpp_info.names["pkg_config"] = "gm2calc" - self.cpp_info.libs = ["gm2calc"] - self.cpp_info.requires = ["boost::headers", "eigen::eigen"] diff --git a/recipes/gm2calc/all/test_package/CMakeLists.txt b/recipes/gm2calc/all/test_package/CMakeLists.txt index 126cafe808e38..4cff2f8c273e9 100644 --- a/recipes/gm2calc/all/test_package/CMakeLists.txt +++ b/recipes/gm2calc/all/test_package/CMakeLists.txt @@ -1,11 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest C CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(GM2Calc REQUIRED CONFIG) add_executable(test_package test_package.cpp) -target_link_libraries(test_package ${CONAN_LIBS}) +target_link_libraries(test_package PRIVATE GM2Calc::GM2Calc) diff --git a/recipes/gm2calc/all/test_package/conanfile.py b/recipes/gm2calc/all/test_package/conanfile.py index ab40ee8b181e8..ef5d7042163ec 100644 --- a/recipes/gm2calc/all/test_package/conanfile.py +++ b/recipes/gm2calc/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 Gm2calcTestConan(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,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/gm2calc/all/test_v1_package/CMakeLists.txt b/recipes/gm2calc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/gm2calc/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/gm2calc/all/test_v1_package/conanfile.py b/recipes/gm2calc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5ff327440fd86 --- /dev/null +++ b/recipes/gm2calc/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + + +class Gm2calcTestConan(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): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/gm2calc/config.yml b/recipes/gm2calc/config.yml index 008d442d385b9..783fc3e71ba44 100644 --- a/recipes/gm2calc/config.yml +++ b/recipes/gm2calc/config.yml @@ -5,3 +5,5 @@ versions: folder: all "2.1.0": folder: all + "2.2.0": + folder: all From ae35932cf9442de41bf4fe50c533cb43be39d648 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 10 Nov 2023 11:43:32 +0200 Subject: [PATCH 2464/4087] (#18731) cglm: migrate to Conan v2 * cglm: migrate to Conan v2 * cglm: add version 0.9.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/cglm/all/conandata.yml | 3 ++ recipes/cglm/all/conanfile.py | 33 +++++++++---------- recipes/cglm/all/test_package/CMakeLists.txt | 4 +-- recipes/cglm/all/test_package/conanfile.py | 2 +- .../cglm/all/test_v1_package/CMakeLists.txt | 2 +- recipes/cglm/config.yml | 2 ++ 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/recipes/cglm/all/conandata.yml b/recipes/cglm/all/conandata.yml index bef9a23cc03a1..59f16765ad5b3 100644 --- a/recipes/cglm/all/conandata.yml +++ b/recipes/cglm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.1": + url: "https://github.com/recp/cglm/archive/v0.9.1.tar.gz" + sha256: "ba16ee484c9d5e808ef01e55008a156831e8ff5297f10bbca307adeb827a0913" "0.8.9": url: "https://github.com/recp/cglm/archive/refs/tags/v0.8.9.tar.gz" sha256: "9561c998eb2a86dca5f8596b5cd290d76f56b7735c8a2486c585c43c196ceedd" diff --git a/recipes/cglm/all/conanfile.py b/recipes/cglm/all/conanfile.py index a65e71aed7e4f..26cabc85e9ca1 100644 --- a/recipes/cglm/all/conanfile.py +++ b/recipes/cglm/all/conanfile.py @@ -1,20 +1,22 @@ -from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps -from conan.tools.files import get, patch, rmdir, copy import os -required_conan_version = ">=1.50.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir + +required_conan_version = ">=1.53.0" class CglmConan(ConanFile): name = "cglm" description = "Highly Optimized Graphics Math (glm) for C " - topics = ("cglm", "graphics", "opengl", "simd", "vector", "glm") - homepage = "https://github.com/recp/cglm" license = "MIT" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/recp/cglm" + topics = ("graphics", "opengl", "simd", "vector", "glm") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ("CMakeLists.txt", ) options = { "shared": [True, False], "fPIC": [True, False], @@ -38,6 +40,9 @@ def configure(self): self.settings.compiler.rm_safe("libcxx") self.settings.compiler.rm_safe("cppstd") + def layout(self): + cmake_layout(self, src_folder="src") + def package_id(self): if self.info.options.header_only: self.info.clear() @@ -52,8 +57,6 @@ def generate(self): tc.cache_variables["CGLM_SHARED"] = self.options.shared tc.cache_variables["CGLM_USE_TEST"] = False tc.generate() - deps = CMakeDeps(self) - deps.generate() def build(self): if not self.options.header_only: @@ -64,25 +67,19 @@ def build(self): def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) if self.options.header_only: - copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "*", + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include")) else: cmake = CMake(self) cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "cglm") - self.cpp_info.set_property("cmake_target_name", "cglm::cglm") self.cpp_info.set_property("pkg_config_name", "cglm") if not self.options.header_only: self.cpp_info.libs = ["cglm"] if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.system_libs.append("m") - - # backward support of cmake_find_package, cmake_find_package_multi & pkg_config generators - self.cpp_info.names["pkg_config"] = "cglm" - self.cpp_info.names["cmake_find_package"] = "cglm" - self.cpp_info.names["cmake_find_package_multi"] = "cglm" diff --git a/recipes/cglm/all/test_package/CMakeLists.txt b/recipes/cglm/all/test_package/CMakeLists.txt index 61fe76d5a3a4b..a77b4ddd27299 100644 --- a/recipes/cglm/all/test_package/CMakeLists.txt +++ b/recipes/cglm/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -find_package(cglm REQUIRED) +find_package(cglm REQUIRED CONFIG) add_executable(test_package test_package.c) target_link_libraries(test_package PRIVATE cglm::cglm) diff --git a/recipes/cglm/all/test_package/conanfile.py b/recipes/cglm/all/test_package/conanfile.py index d60b533632ddd..bd5b26ca954ad 100644 --- a/recipes/cglm/all/test_package/conanfile.py +++ b/recipes/cglm/all/test_package/conanfile.py @@ -22,5 +22,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/cglm/all/test_v1_package/CMakeLists.txt b/recipes/cglm/all/test_v1_package/CMakeLists.txt index 2f6b1a2f7ec79..9735bda16bdf4 100644 --- a/recipes/cglm/all/test_v1_package/CMakeLists.txt +++ b/recipes/cglm/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) diff --git a/recipes/cglm/config.yml b/recipes/cglm/config.yml index 4fbae8510daaf..7b9de138a3994 100644 --- a/recipes/cglm/config.yml +++ b/recipes/cglm/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.1": + folder: all "0.8.9": folder: all "0.8.5": From ebe47b81dbe93d1f34e80d09fb3e5d0e788b9260 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 10 Nov 2023 14:27:38 +0300 Subject: [PATCH 2465/4087] (#21038) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 92019f4f1b80b..b84aab807248c 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.0.tar.gz" + sha256: "3c9228e658e8a613fbd098daf815d3884c8da404238723ff4d68065e5fedd5d7" "2.1.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.1.1.tar.gz" sha256: "76f4cb2919cae393ef52788a63853aa52e429f8ff218f5eff9d38f4ebb4b3b1e" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index c2325184a9951..7b50a00d30538 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: all "2.1.1": folder: all "2.1.0": From cd1164adaa93723f6eb6fa494c250db030bc2fa4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 10 Nov 2023 12:48:30 +0100 Subject: [PATCH 2466/4087] (#21039) libpciaccess: bump pkgconf --- recipes/libpciaccess/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libpciaccess/all/conanfile.py b/recipes/libpciaccess/all/conanfile.py index fffe763dbedc4..a97b5318a1c30 100644 --- a/recipes/libpciaccess/all/conanfile.py +++ b/recipes/libpciaccess/all/conanfile.py @@ -54,7 +54,7 @@ def build_requirements(self): self.tool_requires("libtool/2.4.7") self.tool_requires("xorg-macros/1.19.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From ebf8e5b6935bde6ec74e7946f9448c8c40e7f584 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 10 Nov 2023 14:52:57 +0100 Subject: [PATCH 2467/4087] (#21025) [bot] Update authorized users list (2023-11-09) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 7b5d9403180ec..00cc9961055cb 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1259,3 +1259,5 @@ authorized_users: - fnadeau - '0x5ea1ed' - Kischy +- MangaD +- fabiorossetto From 1f2e4695e5f50d76b4d7d84301180ff5e693d5f9 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sat, 11 Nov 2023 01:55:04 +1100 Subject: [PATCH 2468/4087] (#19398) Add very-simple-smtps package * copied tempalte meson package from docs * add release 1.0.0 uri * create test package * test package works * remove debug output * fix linting errors * fix library name * fix warnings in conan file * lets try with collect_libs * remove .a library files for shared builds * fixed linting * set fPic to false * remove replace_in_files * add linker arguments for sanitize * updated release hash * update package hash * clang cannot build with libc++ and can only be built on linux * allow builds on other platforms * remove macos clang from supported builds * package can only be built on linux * Handle PR feedback * removed missed comments --- recipes/very-simple-smtps/all/conandata.yml | 4 + recipes/very-simple-smtps/all/conanfile.py | 125 ++++++++++++++++++ .../all/test_package/conanfile.py | 31 +++++ .../all/test_package/meson.build | 20 +++ .../all/test_package/test_package.cpp | 41 ++++++ recipes/very-simple-smtps/config.yml | 3 + 6 files changed, 224 insertions(+) create mode 100644 recipes/very-simple-smtps/all/conandata.yml create mode 100644 recipes/very-simple-smtps/all/conanfile.py create mode 100644 recipes/very-simple-smtps/all/test_package/conanfile.py create mode 100644 recipes/very-simple-smtps/all/test_package/meson.build create mode 100644 recipes/very-simple-smtps/all/test_package/test_package.cpp create mode 100644 recipes/very-simple-smtps/config.yml diff --git a/recipes/very-simple-smtps/all/conandata.yml b/recipes/very-simple-smtps/all/conandata.yml new file mode 100644 index 0000000000000..4a556ac61a493 --- /dev/null +++ b/recipes/very-simple-smtps/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.0": + url: "https://github.com/matthewT53/Very-Simple-SMTPS/archive/refs/tags/v1.0.0.tar.gz" + sha256: "96e9a292db8d8137f776b97faff8482a1e7256ef63c1ac42625f581db634ebdf" diff --git a/recipes/very-simple-smtps/all/conanfile.py b/recipes/very-simple-smtps/all/conanfile.py new file mode 100644 index 0000000000000..05577269f4e54 --- /dev/null +++ b/recipes/very-simple-smtps/all/conanfile.py @@ -0,0 +1,125 @@ +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, rm, rmdir, collect_libs +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class VerySimpleSmtpsConan(ConanFile): + name = "very-simple-smtps" + description = "Library that allows applications to send emails with binary attachments" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/matthewT53/Very-Simple-SMTPS/releases" + topics = ("email", "smtps", "attachments") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": False, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "9", + "clang": "9", + "apple-clang": "10", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + required_packages = [ + "libcurl/8.0.1", + "doctest/2.4.11", + ] + + for package in required_packages: + self.requires(package) + + def validate(self): + if self.settings.os != "Linux": + raise ConanInvalidConfiguration("very-simple-smtps is only supported by Linux") + + if self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libc++": + raise ConanInvalidConfiguration("very-simple-smtps can not use libc++") + + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + check_min_vs(self, 191) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if is_msvc(self) and self.info.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") + + def build_requirements(self): + self.tool_requires("meson/1.2.0") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def build(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="include/*.hpp", dst=os.path.join(self.package_folder, ""), src=self.source_folder) + meson = Meson(self) + meson.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = collect_libs(self) + self.cpp_info.set_property("pkg_config_name", "very-simple-smtps") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) diff --git a/recipes/very-simple-smtps/all/test_package/conanfile.py b/recipes/very-simple-smtps/all/test_package/conanfile.py new file mode 100644 index 0000000000000..8447f0b111a8d --- /dev/null +++ b/recipes/very-simple-smtps/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +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.0") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/1.9.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/very-simple-smtps/all/test_package/meson.build b/recipes/very-simple-smtps/all/test_package/meson.build new file mode 100644 index 0000000000000..fc49c0ed275f0 --- /dev/null +++ b/recipes/very-simple-smtps/all/test_package/meson.build @@ -0,0 +1,20 @@ +project('test_package', 'cpp') + +base_cpp_args = [ + '-std=c++17', + '-Werror', + '-Wall', + '-Wextra', + '-fsanitize=address', +] + +base_linker_args = [ + '-fsanitize=address', +] + +package_dep = dependency('very-simple-smtps') +executable('test_package', + sources : ['test_package.cpp'], + dependencies : [package_dep], + cpp_args : base_cpp_args, + link_args: base_linker_args) diff --git a/recipes/very-simple-smtps/all/test_package/test_package.cpp b/recipes/very-simple-smtps/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..d183aa32baa1f --- /dev/null +++ b/recipes/very-simple-smtps/all/test_package/test_package.cpp @@ -0,0 +1,41 @@ +#include +#include +#include +#include +#include +#include + +#include "very-simple-smtps/email.hpp" + +using namespace smtp; + +int main(void) { + /* + * Create a minimal usage for the target project here. + * Avoid big examples, bigger than 100 lines. + * Avoid networking connections. + * Avoid background apps or servers. + * The propose is testing the generated artifacts only. + */ + + EmailParams params{ + "user", // smtp username + "password", // smtp password + "hostname", // smtp server + "bigboss@gmail.com", // to + "tully@gmail.com", // from + "All the bosses at PWC", // cc + "PWC pay rise", // subject + "Hey mate, I have been working here for 5 years now, I think " + "its time for a pay rise.", // body + }; + + Email email(params); + + std::stringstream ss; + ss << email; + const std::string &actual = ss.str(); + + std::cout << actual << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/very-simple-smtps/config.yml b/recipes/very-simple-smtps/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/very-simple-smtps/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all From 20eb4e2e3db3cca2e12d25adf4977986e0a8b6d7 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 11 Nov 2023 09:35:38 +0100 Subject: [PATCH 2469/4087] (#21045) aws-kvs-pic: bump pkgconf --- recipes/aws-kvs-pic/all/test_package/conanfile.py | 2 +- recipes/aws-kvs-pic/all/test_v1_package/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/aws-kvs-pic/all/test_package/conanfile.py b/recipes/aws-kvs-pic/all/test_package/conanfile.py index 062f65da30ce6..e8fb9d03fc8a5 100644 --- a/recipes/aws-kvs-pic/all/test_package/conanfile.py +++ b/recipes/aws-kvs-pic/all/test_package/conanfile.py @@ -14,7 +14,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def layout(self): cmake_layout(self) diff --git a/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py b/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py index c890c831be123..cba2c258bb2b4 100644 --- a/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py +++ b/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py @@ -6,7 +6,7 @@ class TestConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 3d9d6e3a42347a6daf6b94b4005c0ad67f8eb970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gon=C3=A7alves?= <11088596+MangaD@users.noreply.github.com> Date: Sat, 11 Nov 2023 11:23:47 +0100 Subject: [PATCH 2470/4087] (#20959) argparse: add version 3.0 --- recipes/argparse/all/conandata.yml | 3 +++ recipes/argparse/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/argparse/all/conandata.yml b/recipes/argparse/all/conandata.yml index 18f4555649896..719dc54ae5a72 100644 --- a/recipes/argparse/all/conandata.yml +++ b/recipes/argparse/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0": + url: "https://github.com/p-ranav/argparse/archive/v3.0.tar.gz" + sha256: "ba7b465759bb01069d57302855eaf4d1f7d677f21ad7b0b00b92939645c30f47" "2.9": url: "https://github.com/p-ranav/argparse/archive/v2.9.tar.gz" sha256: "cd563293580b9dc592254df35b49cf8a19b4870ff5f611c7584cf967d9e6031e" diff --git a/recipes/argparse/config.yml b/recipes/argparse/config.yml index 5a743e89da3ef..fef29e0dad433 100644 --- a/recipes/argparse/config.yml +++ b/recipes/argparse/config.yml @@ -1,4 +1,6 @@ versions: + "3.0": + folder: all "2.9": folder: all "2.6": From ed5c3c2dd638743c46431f3b0f32d3efdc986763 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Sat, 11 Nov 2023 14:36:15 +0100 Subject: [PATCH 2471/4087] (#21054) emsdk: new versions --- recipes/emsdk/all/conandata.yml | 12 ++++++++++++ recipes/emsdk/config.yml | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index 72c3415a7c7c2..03d78ede4c0b8 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,16 @@ sources: + "3.1.48": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.48.tar.gz" + sha256: "94b965ba8f2ff0949ff67c6943bf5638a1b8850e4491a25413cdaff5b18da42b" + "3.1.47": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.47.tar.gz" + sha256: "a882560a83cbacec67867e7ce6b00420d557e71c501b523d2ed956ded021f9b4" + "3.1.46": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.46.tar.gz" + sha256: "5dd94e557b720800a60387ec078bf3b3a527cbd916ad74a696fe399f1544474f" + "3.1.45": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.45.tar.gz" + sha256: "8b5b3433eb732dcc7643a2707a12fd5cbe793a5dadbbae9a60c24a737a78fe33" "3.1.44": url: "https://github.com/emscripten-core/emsdk/archive/3.1.44.tar.gz" sha256: "cb8cded78f6953283429d724556e89211e51ac4d871fcf38e0b32405ee248e91" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index f990e1dc35d29..663ad23c939e1 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,12 @@ versions: + "3.1.48": + folder: all + "3.1.47": + folder: all + "3.1.46": + folder: all + "3.1.45": + folder: all "3.1.44": folder: all "3.1.31": From 7ff036ad183862557446ba0cc55cda0f9d062e76 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Sat, 11 Nov 2023 18:33:04 +0300 Subject: [PATCH 2472/4087] (#21065) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index b84aab807248c..3db38e267e0c3 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.1.tar.gz" + sha256: "1e774a01d866c2738e1ec897ebb58057bf0eb7d7895aed48904907a77934c459" "2.2.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.0.tar.gz" sha256: "3c9228e658e8a613fbd098daf815d3884c8da404238723ff4d68065e5fedd5d7" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 7b50a00d30538..d58d3cd0ced6a 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: all "2.2.0": folder: all "2.1.1": From a29540acf6fb74a9266893aedc7a557475dcec95 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 11 Nov 2023 16:42:01 +0100 Subject: [PATCH 2473/4087] (#21041) libcap: bump pkgconf --- recipes/libcap/all/test_package/conanfile.py | 2 +- recipes/libcap/all/test_v1_package/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libcap/all/test_package/conanfile.py b/recipes/libcap/all/test_package/conanfile.py index 000b95ab28ae5..6412745da8b97 100644 --- a/recipes/libcap/all/test_package/conanfile.py +++ b/recipes/libcap/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) diff --git a/recipes/libcap/all/test_v1_package/conanfile.py b/recipes/libcap/all/test_v1_package/conanfile.py index f480305272e38..a24aa126c9102 100644 --- a/recipes/libcap/all/test_v1_package/conanfile.py +++ b/recipes/libcap/all/test_v1_package/conanfile.py @@ -9,7 +9,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 48d251f407c823f340c10897ee9e595d03e03a39 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 11 Nov 2023 16:57:47 +0100 Subject: [PATCH 2474/4087] (#21047) sdbus-cpp: bump pkgconf --- recipes/sdbus-cpp/all/test_pkgconf/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py index 5ce2acc54a189..8706e3310f0bf 100644 --- a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py @@ -15,7 +15,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def layout(self): cmake_layout(self) From 806d436533ba71917591097de9c7eefaebb87238 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 11 Nov 2023 19:07:40 +0100 Subject: [PATCH 2475/4087] (#21044) coin-cgl: bump pkgconf --- recipes/coin-cgl/all/test_v1_package/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/coin-cgl/all/test_v1_package/conanfile.py b/recipes/coin-cgl/all/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/coin-cgl/all/test_v1_package/conanfile.py +++ b/recipes/coin-cgl/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 3c2a1c59551e0459f4a51c52a78e787e370fd4ff Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 05:09:19 +0900 Subject: [PATCH 2476/4087] (#21063) libmaxminddb: add version 1.8.0 --- recipes/libmaxminddb/all/conandata.yml | 3 +++ recipes/libmaxminddb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmaxminddb/all/conandata.yml b/recipes/libmaxminddb/all/conandata.yml index 83c876364326d..f8c6fb1bee557 100644 --- a/recipes/libmaxminddb/all/conandata.yml +++ b/recipes/libmaxminddb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/maxmind/libmaxminddb/releases/download/1.8.0/libmaxminddb-1.8.0.tar.gz" + sha256: "1107799f77be6aa3b9796ad0eed8ffcc334bf45f8bd18e6a984d8adf3e719c6d" "1.7.1": url: "https://github.com/maxmind/libmaxminddb/releases/download/1.7.1/libmaxminddb-1.7.1.tar.gz" sha256: "e8414f0dedcecbc1f6c31cb65cd81650952ab0677a4d8c49cab603b3b8fb083e" diff --git a/recipes/libmaxminddb/config.yml b/recipes/libmaxminddb/config.yml index 9efd2189b76e9..376c8bc0f36ac 100644 --- a/recipes/libmaxminddb/config.yml +++ b/recipes/libmaxminddb/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.7.1": folder: all "1.6.0": From df11dc9fc20292b9580960745a792aef201f5147 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 11 Nov 2023 22:58:17 +0100 Subject: [PATCH 2477/4087] (#21043) sentry-breakpad: bump pkgconf * sentry-breakpad/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sentry-breakpad/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sentry-breakpad/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sentry-breakpad/all/test_package/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-breakpad/all/test_package/conanfile.py b/recipes/sentry-breakpad/all/test_package/conanfile.py index ad98cc168c24b..8cff93402e6c4 100644 --- a/recipes/sentry-breakpad/all/test_package/conanfile.py +++ b/recipes/sentry-breakpad/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 2d654496fa1c41cca54a0c44f5b20710d28973f2 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Sun, 12 Nov 2023 00:07:08 +0100 Subject: [PATCH 2478/4087] (#20852) so5extra: add version 1.6.1 --- recipes/so5extra/all/conandata.yml | 3 +++ recipes/so5extra/all/conanfile.py | 2 +- recipes/so5extra/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/so5extra/all/conandata.yml b/recipes/so5extra/all/conandata.yml index 4896683389169..3b66eb81644a0 100644 --- a/recipes/so5extra/all/conandata.yml +++ b/recipes/so5extra/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.1": + url: "https://github.com/Stiffstream/so5extra/archive/v.1.6.1.tar.gz" + sha256: "03934e0e59c7b73d33b671910976ea01e8704472f39e485df88ddc3b6e5f8c83" "1.6.0": url: "https://github.com/Stiffstream/so5extra/archive/v.1.6.0.tar.gz" sha256: "224a156a840d707138189da5ebe78d87814832252f90673db631e93e0171433f" diff --git a/recipes/so5extra/all/conanfile.py b/recipes/so5extra/all/conanfile.py index c69c7ea0da2de..d9201d13883b2 100644 --- a/recipes/so5extra/all/conanfile.py +++ b/recipes/so5extra/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): def requirements(self): if self.version >= Version("1.6.0"): - self.requires("sobjectizer/5.8.0") + self.requires("sobjectizer/5.8.1") else: self.requires("sobjectizer/5.7.4") diff --git a/recipes/so5extra/config.yml b/recipes/so5extra/config.yml index f068b0b20df7f..424326d97fc77 100644 --- a/recipes/so5extra/config.yml +++ b/recipes/so5extra/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.1": + folder: all "1.6.0": folder: all "1.5.2": From af67953538a6ab4c8bdb054282c2d266eed9660d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 12 Nov 2023 00:57:51 +0100 Subject: [PATCH 2479/4087] (#21053) coin-utils: bump pkgconf --- recipes/coin-utils/all/test_package/conanfile.py | 2 +- recipes/coin-utils/all/test_v1_package/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/coin-utils/all/test_package/conanfile.py b/recipes/coin-utils/all/test_package/conanfile.py index af1af0ebb3d7f..7ab87ca07735c 100644 --- a/recipes/coin-utils/all/test_package/conanfile.py +++ b/recipes/coin-utils/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) diff --git a/recipes/coin-utils/all/test_v1_package/conanfile.py b/recipes/coin-utils/all/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/coin-utils/all/test_v1_package/conanfile.py +++ b/recipes/coin-utils/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 60a12c8f5ec51c29b19e05267c198f4f5028804d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Sat, 11 Nov 2023 20:28:15 -0600 Subject: [PATCH 2480/4087] (#21057) arrow: add version 14.0.1 --- 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 12457be879aea..3da635cfb0382 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "14.0.1": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.1/apache-arrow-14.0.1.tar.gz?action=download" + sha256: "5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e" "14.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.0/apache-arrow-14.0.0.tar.gz?action=download" sha256: "4eb0da50ec071baf15fc163cb48058931e006f1c862c8def0e180fd07d531021" diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index 6d6f4698bd336..b4c3d901fea57 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "14.0.1": + folder: all "14.0.0": folder: all "13.0.0": From b7e55b8336f6de36804d5902e8cd844ab3454d60 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 12 Nov 2023 04:17:36 +0100 Subject: [PATCH 2481/4087] (#21072) onnxruntime: add version 1.16.2 --- recipes/onnxruntime/all/conandata.yml | 10 ++++++++++ recipes/onnxruntime/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index abfa25a1b938f..bc779a1ff82c1 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" @@ -12,6 +15,13 @@ sources: url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: + "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_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" diff --git a/recipes/onnxruntime/config.yml b/recipes/onnxruntime/config.yml index 55662a19a7296..930f2c65d0ccc 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.2": + folder: all "1.16.1": folder: all "1.16.0": From da981e1d4acb271419a5e24e676520a82120d74a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 13:37:25 +0900 Subject: [PATCH 2482/4087] (#21062) uwebsockets: add version 20.48.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 9289579f16fd3..c36f9118f3072 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.48.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.48.0.tar.gz" + sha256: "d7455bbbf9829b3960d0478dd36ed0eba82847c4fc801416aaf89ccb7f4dfb85" "20.47.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.47.0.tar.gz" sha256: "00641b7cd2ffadd2c505e2a83a2e32bf342f01c2538bf7470f655e707adde31a" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index b73567fea69a5..22cf3f5b226bf 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.48.0": + folder: all "20.47.0": folder: all "20.45.0": From 4c7fa7440983e0e45722bf80d1e2943010d1af71 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 13:57:33 +0900 Subject: [PATCH 2483/4087] (#21056) xsimd: add version 11.2.0 --- recipes/xsimd/all/conandata.yml | 3 +++ recipes/xsimd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xsimd/all/conandata.yml b/recipes/xsimd/all/conandata.yml index 81dd94420426b..08fff036a5b79 100644 --- a/recipes/xsimd/all/conandata.yml +++ b/recipes/xsimd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.2.0": + url: "https://github.com/xtensor-stack/xsimd/archive/11.2.0.tar.gz" + sha256: "509bbfe12e78ee1a0e81711019e7c7a372dabcff566dbf15b95cc94339443242" "11.1.0": url: "https://github.com/xtensor-stack/xsimd/archive/11.1.0.tar.gz" sha256: "aa54dba8daade472656eba0d27154f072fec06ee3831aefcac69a5f6c7dbbae7" diff --git a/recipes/xsimd/config.yml b/recipes/xsimd/config.yml index d35cd82fe09bb..7fbfea9297599 100644 --- a/recipes/xsimd/config.yml +++ b/recipes/xsimd/config.yml @@ -1,4 +1,6 @@ versions: + "11.2.0": + folder: all "11.1.0": folder: all "11.0.0": From 54fd93f77b51dfd3322a5ee11f1469dab269e859 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 14:17:29 +0900 Subject: [PATCH 2484/4087] (#21074) c-blosc2: add version 2.11.2 --- recipes/c-blosc2/all/conandata.yml | 7 +++++++ recipes/c-blosc2/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 7d653c5cb3247..22390332df6d5 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.2": + url: "https://github.com/Blosc/c-blosc2/archive/v2.11.2.tar.gz" + sha256: "4a508362653468d8948762886c6b24e6bafb70e02709aa31284c0ff9db62b83d" "2.11.1": url: "https://github.com/Blosc/c-blosc2/archive/v2.11.1.tar.gz" sha256: "1e9923e0f026eb6e6caee608b4b9a523837806076fc79409055a6386cf5de1ea" @@ -24,6 +27,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz" sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036" patches: + "2.11.2": + - patch_file: "patches/2.11.1-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.11.1": - patch_file: "patches/2.11.1-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index f16864f76c963..74736080601ac 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.2": + folder: all "2.11.1": folder: all "2.10.5": From f22e020d975a8f21984776460d21ce813793e2b6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 14:47:25 +0900 Subject: [PATCH 2485/4087] (#21075) luau: add version 0.603 --- 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 a1b979b6920f0..6f3f5ad765cc1 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.603": + url: "https://github.com/Roblox/luau/archive/0.603.tar.gz" + sha256: "97687486b0ffe8d7a4917e13648a9776ee015ca9e1c10b6da169caec6ca5b427" "0.598": url: "https://github.com/Roblox/luau/archive/0.598.tar.gz" sha256: "a2bab4b513fe5f2fe174c45de4807846e6ce83420c9ba7a34c81c48b99e01c98" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 1b6e2a1736bdb..80fe8362a792c 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.603": + folder: all "0.598": folder: all "0.593": From 790b13980845ef5b6d4c9e62c5f47cc0a7a112d4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 17:39:19 +0900 Subject: [PATCH 2486/4087] (#21076) sjson-cpp: add version 0.9.0 --- recipes/sjson-cpp/all/conandata.yml | 3 +++ recipes/sjson-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sjson-cpp/all/conandata.yml b/recipes/sjson-cpp/all/conandata.yml index be9ad1f93084e..3e86876d293d0 100644 --- a/recipes/sjson-cpp/all/conandata.yml +++ b/recipes/sjson-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/nfrechette/sjson-cpp/archive/v0.9.0.tar.gz" + sha256: "61b8ea49acce6fa6c48db2c70a6fd7514e219c17b276bff2da3bfc510840320f" "0.8.3": url: "https://github.com/nfrechette/sjson-cpp/archive/v0.8.3.tar.gz" sha256: "3a6188bea5f00161a9e4508078f95637e303b3fce108c8dc9dc2a5b871d9e43d" diff --git a/recipes/sjson-cpp/config.yml b/recipes/sjson-cpp/config.yml index a3d24ea0c5588..49ca784cf528f 100644 --- a/recipes/sjson-cpp/config.yml +++ b/recipes/sjson-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: "all" "0.8.3": folder: "all" "0.8.2": From 101d252a5f4966deb67f361b6aa94c74c705445a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 00:57:16 +0300 Subject: [PATCH 2487/4087] (#21084) roaring: add 2.0.4 --- 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 f16d216d33bdd..d4d90409ecc54 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 3518f9cac57d3..e36bb7126c070 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.4": + folder: all "2.0.2": folder: all "1.3.0": From e8a6b5bc0d1d06d77983cfbf5088af33e6f4cb07 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 01:17:18 +0300 Subject: [PATCH 2488/4087] (#21082) flecs: add 3.2.8 --- recipes/flecs/all/conandata.yml | 3 +++ recipes/flecs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/flecs/all/conandata.yml b/recipes/flecs/all/conandata.yml index cdf9c604ba992..aa41772cdfb91 100644 --- a/recipes/flecs/all/conandata.yml +++ b/recipes/flecs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.8": + url: "https://github.com/SanderMertens/flecs/archive/refs/tags/v3.2.8.tar.gz" + sha256: "b40453a77b66e220408c50b119da54b153c248cf6f7025575e3fd1a8ff79f748" "3.2.4": url: "https://github.com/SanderMertens/flecs/archive/v3.2.4.tar.gz" sha256: "0b65426053418911cae1c3f347748fba6eb7d4ae8860ce7fcc91ef25f386d4a1" diff --git a/recipes/flecs/config.yml b/recipes/flecs/config.yml index 629ecd74c6c0c..df52862429336 100644 --- a/recipes/flecs/config.yml +++ b/recipes/flecs/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.8": + folder: all "3.2.4": folder: all "3.1.4": From 6d88e5b3866d605c12fe759b7b80a880f157ce2e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 01:39:36 +0300 Subject: [PATCH 2489/4087] (#21081) Bump libjpeg-turbo/3.0.1 --- 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 fed4921e77f53..6b84ea73c442f 100644 --- a/recipes/libjpeg-turbo/all/conandata.yml +++ b/recipes/libjpeg-turbo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.1": + url: "https://sourceforge.net/projects/libjpeg-turbo/files/3.0.1/libjpeg-turbo-3.0.1.tar.gz" + sha256: "22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75" "3.0.0": url: "https://sourceforge.net/projects/libjpeg-turbo/files/3.0.0/libjpeg-turbo-3.0.0.tar.gz" sha256: "c77c65fcce3d33417b2e90432e7a0eb05f59a7fff884022a9d931775d583bfaa" diff --git a/recipes/libjpeg-turbo/config.yml b/recipes/libjpeg-turbo/config.yml index d646887ca99a3..382a6fb1070c9 100644 --- a/recipes/libjpeg-turbo/config.yml +++ b/recipes/libjpeg-turbo/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.1": + folder: all "3.0.0": folder: all "2.1.5": From a1c121b6d54fccc47be52e14b2922d6850271f09 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 01:47:41 +0300 Subject: [PATCH 2490/4087] (#21083) ezc3d: add 1.5.5 --- recipes/ezc3d/all/conandata.yml | 3 +++ recipes/ezc3d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ezc3d/all/conandata.yml b/recipes/ezc3d/all/conandata.yml index cba9d2eb45320..4d18399acd0fa 100644 --- a/recipes/ezc3d/all/conandata.yml +++ b/recipes/ezc3d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.5": + url: "https://github.com/pyomeca/ezc3d/archive/refs/tags/Release_1.5.5.tar.gz" + sha256: "93641b100f982d4297a8cee9bb06b2c1facddfca638cde8259e783174a5f68ca" "1.5.4": url: "https://github.com/pyomeca/ezc3d/archive/Release_1.5.4.tar.gz" sha256: "d27a1d8ffc5cebf47b53c2d263a1c4dbb4a6dc2f474c6978b3588bbb143e272f" diff --git a/recipes/ezc3d/config.yml b/recipes/ezc3d/config.yml index 13db8816b3037..9f04ee1babe86 100644 --- a/recipes/ezc3d/config.yml +++ b/recipes/ezc3d/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.5": + folder: all "1.5.4": folder: all "1.5.0": From 3951b996a51c689516f2d544c6827757f09c8722 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 13 Nov 2023 07:57:28 +0100 Subject: [PATCH 2491/4087] (#21051) zbar: bump pkgconf --- recipes/zbar/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zbar/all/conanfile.py b/recipes/zbar/all/conanfile.py index 3611c54ea21e1..277b16ca05ae4 100644 --- a/recipes/zbar/all/conanfile.py +++ b/recipes/zbar/all/conanfile.py @@ -89,7 +89,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if Version(self.version) >= "0.22": self.tool_requires("gettext/0.21") self.tool_requires("libtool/2.4.7") From f73c6cfa92fca2f53586a0910a3fd463a99833ab Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 13 Nov 2023 16:59:01 +0900 Subject: [PATCH 2492/4087] (#21087) harfbuzz: add version 8.3.0 --- recipes/harfbuzz/all/conandata.yml | 3 +++ recipes/harfbuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conandata.yml b/recipes/harfbuzz/all/conandata.yml index 22af954513093..0621f68bfe102 100644 --- a/recipes/harfbuzz/all/conandata.yml +++ b/recipes/harfbuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.3.0": + url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.3.0/harfbuzz-8.3.0.tar.xz" + sha256: "109501eaeb8bde3eadb25fab4164e993fbace29c3d775bcaa1c1e58e2f15f847" "8.2.2": url: "https://github.com/harfbuzz/harfbuzz/releases/download/8.2.2/harfbuzz-8.2.2.tar.xz" sha256: "e433ad85fbdf57f680be29479b3f964577379aaf319f557eb76569f0ecbc90f3" diff --git a/recipes/harfbuzz/config.yml b/recipes/harfbuzz/config.yml index b1db9524d3543..d5a1a8bf9dfc4 100644 --- a/recipes/harfbuzz/config.yml +++ b/recipes/harfbuzz/config.yml @@ -1,4 +1,6 @@ versions: + "8.3.0": + folder: all "8.2.2": folder: all "8.2.1": From 56aab239611af381c17c5e2b904507d64fa75c9a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 10:24:03 +0200 Subject: [PATCH 2493/4087] (#18793) libcheck: migrate to Conan v2 * libcheck: migrate to Conan v2 * drop test_v1_package * libcheck: adjust required_conan_version * libcheck: no need to modify PATH Co-authored-by: Jordan Williams * libcheck: transitive_libs=True * libcheck: set subunit link_directories for Conan v1 * libcheck: don't build the irrelevant target --------- Co-authored-by: Chris Mc Co-authored-by: Jordan Williams --- recipes/libcheck/all/CMakeLists.txt | 7 -- recipes/libcheck/all/conandata.yml | 5 - recipes/libcheck/all/conanfile.py | 107 +++++++++--------- .../0003-don-t-check-subunit-dependency.patch | 6 +- .../libcheck/all/test_package/CMakeLists.txt | 5 +- .../libcheck/all/test_package/conanfile.py | 19 +++- 6 files changed, 70 insertions(+), 79 deletions(-) delete mode 100644 recipes/libcheck/all/CMakeLists.txt diff --git a/recipes/libcheck/all/CMakeLists.txt b/recipes/libcheck/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/libcheck/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/libcheck/all/conandata.yml b/recipes/libcheck/all/conandata.yml index 767df99b3d51a..fbaed8dabebec 100644 --- a/recipes/libcheck/all/conandata.yml +++ b/recipes/libcheck/all/conandata.yml @@ -5,12 +5,7 @@ sources: patches: "0.15.2": - patch_file: "patches/0001-remove-check-h-header.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-disable-cmake-subproject-check.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-don-t-check-subunit-dependency.patch" - base_path: "source_subfolder" - patch_file: "patches/0004-install-shared-static-exclusive.patch" - base_path: "source_subfolder" - patch_file: "patches/0005-add-missing-lib-pthread_mutex-c.patch" - base_path: "source_subfolder" diff --git a/recipes/libcheck/all/conanfile.py b/recipes/libcheck/all/conanfile.py index 5113b075852b0..4837f11de4b81 100644 --- a/recipes/libcheck/all/conanfile.py +++ b/recipes/libcheck/all/conanfile.py @@ -1,17 +1,22 @@ -from conans import CMake, ConanFile, tools import os -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.52.0" class LibCheckConan(ConanFile): name = "libcheck" description = "A unit testing framework for C" - topics = ("libcheck", "unit", "testing", "framework", "C") license = "LGPL-2.1-or-later" - homepage = "https://github.com/libcheck/check" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/libcheck/check" + topics = ("unit", "testing", "framework", "C") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,25 +29,8 @@ class LibCheckConan(ConanFile): "with_subunit": True, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -50,70 +38,77 @@ 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): if self.options.with_subunit: - self.requires("subunit/1.4.0") + self.requires("subunit/1.4.0", transitive_headers=True, transitive_libs=True) 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["CHECK_ENABLE_TESTS"] = False - self._cmake.definitions["ENABLE_MEMORY_LEAKING_TESTS"] = False - self._cmake.definitions["CHECK_ENABLE_TIMEOUT_TESTS"] = False - self._cmake.definitions["HAVE_SUBUNIT"] = self.options.with_subunit - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CHECK_ENABLE_TESTS"] = False + tc.variables["ENABLE_MEMORY_LEAKING_TESTS"] = False + tc.variables["CHECK_ENABLE_TIMEOUT_TESTS"] = False + tc.variables["HAVE_SUBUNIT"] = self.options.with_subunit + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # Do not build the unnecessary target + disabled_target = "check" if self.options.shared else "checkShared" + save(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), + f"set_target_properties({disabled_target} PROPERTIES EXCLUDE_FROM_ALL TRUE)\n", + append=True) + def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("COPYING.LESSER", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "COPYING.LESSER", 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")) + 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): target = "checkShared" if self.options.shared else "check" self.cpp_info.set_property("cmake_file_name", "check") - self.cpp_info.set_property("cmake_target_name", "Check::{}".format(target)) + self.cpp_info.set_property("cmake_target_name", f"Check::{target}") self.cpp_info.set_property("pkg_config_name", "check") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - libsuffix = "Dynamic" if self._is_msvc and self.options.shared else "" - self.cpp_info.components["liblibcheck"].libs = ["check{}".format(libsuffix)] + libsuffix = "Dynamic" if is_msvc(self) and self.options.shared else "" + self.cpp_info.components["liblibcheck"].libs = [f"check{libsuffix}"] if self.options.with_subunit: - self.cpp_info.components["liblibcheck"].requires.append("subunit::libsubunit") + self.cpp_info.components["liblibcheck"].requires.append("subunit::subunit") if not self.options.shared: if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["liblibcheck"].system_libs = ["m", "pthread", "rt"] + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "check" self.cpp_info.filenames["cmake_find_package_multi"] = "check" self.cpp_info.names["cmake_find_package"] = "Check" self.cpp_info.names["cmake_find_package_multi"] = "Check" - self.cpp_info.names["pkg_config"] = "check" self.cpp_info.components["liblibcheck"].names["cmake_find_package"] = target self.cpp_info.components["liblibcheck"].names["cmake_find_package_multi"] = target - self.cpp_info.components["liblibcheck"].set_property("cmake_target_name", "Check::{}".format(target)) + self.cpp_info.components["liblibcheck"].set_property("cmake_target_name", f"Check::{target}") self.cpp_info.components["liblibcheck"].set_property("pkg_config_name", "check") diff --git a/recipes/libcheck/all/patches/0003-don-t-check-subunit-dependency.patch b/recipes/libcheck/all/patches/0003-don-t-check-subunit-dependency.patch index 320eb687dab0f..55bb33e3fe378 100644 --- a/recipes/libcheck/all/patches/0003-don-t-check-subunit-dependency.patch +++ b/recipes/libcheck/all/patches/0003-don-t-check-subunit-dependency.patch @@ -1,12 +1,14 @@ --- CMakeLists.txt +++ CMakeLists.txt -@@ -393,7 +393,7 @@ +@@ -393,7 +393,9 @@ ADD_DEFINITIONS(-DHAVE_LIBRT=1) endif (HAVE_LIBRT) -check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT) -+option(HAVE_SUBUNIT "Do you have subunit" ON) if (HAVE_SUBUNIT) ++ find_package(subunit REQUIRED CONFIG) ++ link_libraries(subunit::subunit) ++ link_directories(${subunit_INCLUDE_DIR}/../lib) # Conan v1 does not set the lib dirs correctly for some reason set(SUBUNIT "subunit") set(ENABLE_SUBUNIT 1) diff --git a/recipes/libcheck/all/test_package/CMakeLists.txt b/recipes/libcheck/all/test_package/CMakeLists.txt index d0ea6b764c70f..c0946969bf599 100644 --- a/recipes/libcheck/all/test_package/CMakeLists.txt +++ b/recipes/libcheck/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(check REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/libcheck/all/test_package/conanfile.py b/recipes/libcheck/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/libcheck/all/test_package/conanfile.py +++ b/recipes/libcheck/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") From 49d0a7d765d31a8944d7e0a7ab792a93b386ccf4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 11:05:15 +0200 Subject: [PATCH 2494/4087] (#18729) libusb-compat: migrate to Conan v2 * libusb-compat: migrate to Conan v2 * libusb-compat: add fix_apple_shared_install_name() * libusb-compat: fix file export * libusb-compat: restore VirtualRunEnv in test_package * libusb-compat: bump deps * libusb-compat: fix path on Windows * libusb-compat: fix build * libusb-compat: mark dirent as transitive dep --- recipes/libusb-compat/all/CMakeLists.txt.in | 10 +- recipes/libusb-compat/all/conandata.yml | 2 - recipes/libusb-compat/all/conanfile.py | 231 ++++++++++-------- .../all/test_package/CMakeLists.txt | 7 +- .../all/test_package/conanfile.py | 21 +- .../all/test_package/test_package.c | 3 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 8 files changed, 172 insertions(+), 127 deletions(-) create mode 100644 recipes/libusb-compat/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libusb-compat/all/test_v1_package/conanfile.py diff --git a/recipes/libusb-compat/all/CMakeLists.txt.in b/recipes/libusb-compat/all/CMakeLists.txt.in index 36dea026beea9..f7d86f158ac89 100644 --- a/recipes/libusb-compat/all/CMakeLists.txt.in +++ b/recipes/libusb-compat/all/CMakeLists.txt.in @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(cmake_wrapper) -include("${{CMAKE_BINARY_DIR}}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) +find_package(libusb REQUIRED CONFIG) # autotools project does not allow building a shared mpfr library (because of libtool limitation) @@ -14,10 +13,11 @@ if(BUILD_SHARED_LIBS) else() target_compile_definitions(usb PRIVATE LIBUSB_COMPAT_STATIC) endif() -target_link_libraries(usb PRIVATE $) +target_link_libraries(usb PRIVATE $) if(MSVC) + find_package(dirent REQUIRED CONFIG) target_compile_definitions(usb PRIVATE _CRT_SECURE_NO_WARNINGS) - target_link_libraries(usb PRIVATE CONAN_PKG::dirent) + target_link_libraries(usb PRIVATE dirent::dirent) endif() install(TARGETS usb diff --git a/recipes/libusb-compat/all/conandata.yml b/recipes/libusb-compat/all/conandata.yml index 8e55c99a4d6e0..3be5eb4b77caf 100644 --- a/recipes/libusb-compat/all/conandata.yml +++ b/recipes/libusb-compat/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "0.1.7": - patch_file: "patches/0001-fix-autoconf-msvc-mingw.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-fix-msvc-linkage-and-fix-msvc-vararg-macros.patch" - base_path: "source_subfolder" diff --git a/recipes/libusb-compat/all/conanfile.py b/recipes/libusb-compat/all/conanfile.py index 0319dc88794d1..a4a005540368d 100644 --- a/recipes/libusb-compat/all/conanfile.py +++ b/recipes/libusb-compat/all/conanfile.py @@ -1,23 +1,29 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, CMake, tools -from conans.errors import ConanException -from contextlib import contextmanager import os import re import shlex -import shutil -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanException +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 Environment +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, load, replace_in_file, rmdir, save +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.microsoft import is_msvc, unix_path + +required_conan_version = ">=1.53.0" class LibUSBCompatConan(ConanFile): name = "libusb-compat" description = "A compatibility layer allowing applications written for libusb-0.1 to work with libusb-1.0" license = ("LGPL-2.1", "BSD-3-Clause") - homepage = "https://github.com/libusb/libusb-compat-0.1" url = "https://github.com/conan-io/conan-center-index" - exports_sources = "patches/**", "CMakeLists.txt.in" - topics = ("conan", "libusb", "compatibility", "usb") - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/libusb/libusb-compat-0.1" + topics = ("libusb", "compatibility", "usb") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -28,14 +34,14 @@ class LibUSBCompatConan(ConanFile): "fPIC": True, "enable_logging": False, } - generators = "cmake", "pkg_config" - - _autotools = None - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" + def _settings_build(self): + return self.settings_build if hasattr(self, "settings_build") else self.settings + + def export_sources(self): + export_conandata_patches(self) + copy(self, "CMakeLists.txt.in", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -43,44 +49,47 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def requirements(self): - self.requires("libusb/1.0.24") - if self.settings.compiler == "Visual Studio": - self.requires("dirent/1.23.2") + def layout(self): + cmake_layout(self, src_folder="src") - @property - def _settings_build(self): - return self.settings_build if hasattr(self, "settings_build") else self.settings + def requirements(self): + self.requires("libusb/1.0.26") + if is_msvc(self): + self.requires("dirent/1.24", transitive_headers=True, transitive_libs=True) def build_requirements(self): - self.build_requires("gnu-config/cci.20201022") - self.build_requires("libtool/2.4.6") - self.build_requires("pkgconf/1.7.4") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + self.tool_requires("gnu-config/cci.20210814") + 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.0.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): - 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 _iterate_lib_paths_win(self, lib): """Return all possible library paths for lib""" - for lib_path in self.deps_cpp_info.lib_paths: + libdirs = sum([dep.cpp_info.libdirs for dep in self.dependencies.values()], []) + for lib_path in libdirs: for prefix in "", "lib": for suffix in "", ".a", ".dll.a", ".lib", ".dll.lib": - fn = os.path.join(lib_path, "{}{}{}".format(prefix, lib, suffix)) + fn = os.path.join(lib_path, f"{prefix}{lib}{suffix}") if not fn.endswith(".a") and not fn.endswith(".lib"): continue yield fn @property def _absolute_dep_libs_win(self): + libs = sum([dep.cpp_info.libs for dep in self.dependencies.values()], []) absolute_libs = [] - for lib in self.deps_cpp_info.libs: + for lib in libs: for fn in self._iterate_lib_paths_win(lib): if not os.path.isfile(fn): continue @@ -88,122 +97,128 @@ def _absolute_dep_libs_win(self): break return absolute_libs - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(source_dir=os.path.join(self._source_subfolder, "libusb")) - return self._cmake - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.compiler == "Visual Studio": + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + + tc = AutotoolsToolchain(self) + if is_msvc(self): # Use absolute paths of the libraries instead of the library names only. # Otherwise, the configure script will say that the compiler not working # (because it interprets the libs as input source files) - self._autotools.libs = list(tools.unix_path(l) for l in self._absolute_dep_libs_win) + self.deps_cpp_info.system_libs - conf_args = [ + tc.libs = list(unix_path(self, l) for l in self._absolute_dep_libs_win) + tc.libs += sum([dep.cpp_info.system_libs for dep in self.dependencies.values()], []) + tc.configure_args += [ "--disable-examples-build", "--enable-log" if self.options.enable_logging else "--disable-log", ] - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - pkg_config_paths = [tools.unix_path(os.path.abspath(self.install_folder))] - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder, pkg_config_paths=pkg_config_paths) - return self._autotools - - @contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - env = { - "CC": "{} cl -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)), - "CXX": "{} cl -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)), - "LD": "link -nologo", - "AR": "{} lib".format(tools.unix_path(self.deps_user_info["automake"].ar_lib)), - "DLLTOOL": ":", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("CXX", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.define("AR", f'{ar_wrapper} "lib -nologo"') + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") def _extract_makefile_variable(self, makefile, variable): - makefile_contents = tools.load(makefile) - match = re.search("{}[ \t]*=[ \t]*((?:(?:[a-zA-Z0-9 \t.=/_-])|(?:\\\\\"))*(?:\\\\\n(?:(?:[a-zA-Z0-9 \t.=/_-])|(?:\\\"))*)*)\n".format(variable), makefile_contents) + makefile_contents = load(self, makefile) + match = re.search( + fr'^{variable}\s*=\s*((?:[\w \t.=/-]|\")*(?:\\\n(?:[\w \t.=/-]|\")*)*)$', + makefile_contents, + flags=re.MULTILINE, + ) if not match: - raise ConanException("Cannot extract variable {} from {}".format(variable, makefile_contents)) + raise ConanException(f"Cannot extract variable {variable} from {makefile_contents}") lines = [line.strip(" \t\\") for line in match.group(1).split()] return [item for line in lines for item in shlex.split(line) if item] def _extract_autotools_variables(self): - makefile = os.path.join(self._source_subfolder, "libusb", "Makefile.am") + makefile = os.path.join(self.source_folder, "libusb", "Makefile.am") sources = self._extract_makefile_variable(makefile, "libusb_la_SOURCES") headers = self._extract_makefile_variable(makefile, "include_HEADERS") return sources, headers def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "config.guess")) + apply_conandata_patches(self) + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), + src=os.path.dirname(gnu_config), + dst=self.source_folder) if self.settings.os == "Windows": api = "__declspec(dllexport)" if self.options.shared else "" - tools.replace_in_file(os.path.join(self._source_subfolder, "configure.ac"), - "\nAC_DEFINE([API_EXPORTED]", - "\nAC_DEFINE([API_EXPORTED], [{}], [API])\n#".format(api)) + replace_in_file( + self, + os.path.join(self.source_folder, "configure.ac"), + "\nAC_DEFINE([API_EXPORTED]", + f"\nAC_DEFINE([API_EXPORTED], [{api}], [API])\n#", + ) # libtool disallows building shared libraries that link to static libraries # This will override this and add the dependency - tools.replace_in_file(os.path.join(self._source_subfolder, "ltmain.sh"), - "droppeddeps=yes", "droppeddeps=no && func_append newdeplibs \" $a_deplib\"") - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", None) or self.deps_user_info + replace_in_file( + self, + os.path.join(self.source_folder, "ltmain.sh"), + "droppeddeps=yes", + 'droppeddeps=no && func_append newdeplibs " $a_deplib"', + ) def build(self): self._patch_sources() - with self._build_context(): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() if self.settings.os == "Windows": - cmakelists_in = tools.load("CMakeLists.txt.in") + cmakelists_in = load(self, os.path.join(self.export_sources_folder, "CMakeLists.txt.in")) sources, headers = self._extract_autotools_variables() - tools.save(os.path.join(self._source_subfolder, "libusb", "CMakeLists.txt"), cmakelists_in.format( + save(self, os.path.join(self.source_folder, "libusb", "CMakeLists.txt"), cmakelists_in.format( libusb_sources=" ".join(sources), libusb_headers=" ".join(headers), )) - tools.replace_in_file("config.h", "\n#define API_EXPORTED", "\n#define API_EXPORTED //") - cmake = self._configure_cmake() + replace_in_file(self, os.path.join(self.source_folder, "config.h"), + "\n#define API_EXPORTED", "\n#define API_EXPORTED //") + copy(self, "config.h", self.source_folder, os.path.join(self.source_folder, "libusb")) + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "libusb")) cmake.build() else: - with self._build_context(): + with chdir(self, self.source_folder): autotools.make() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") + copy(self, "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) if self.settings.os == "Windows": - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() else: - with self._build_context(): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) autotools.install() - os.unlink(os.path.join(self.package_folder, "bin", "libusb-config")) os.unlink(os.path.join(self.package_folder, "lib", "libusb.la")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.names["pkg_config"] = "libusb" + self.cpp_info.set_property("pkg_config_name", "libusb") self.cpp_info.libs = ["usb"] if not self.options.shared: self.cpp_info.defines = ["LIBUSB_COMPAT_STATIC"] diff --git a/recipes/libusb-compat/all/test_package/CMakeLists.txt b/recipes/libusb-compat/all/test_package/CMakeLists.txt index a5ffd526aaea7..016043e24e629 100644 --- a/recipes/libusb-compat/all/test_package/CMakeLists.txt +++ b/recipes/libusb-compat/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(libusb-compat REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.c) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${CMAKE_PROJECT_NAME} libusb-compat::libusb-compat) diff --git a/recipes/libusb-compat/all/test_package/conanfile.py b/recipes/libusb-compat/all/test_package/conanfile.py index 4fdc223664bd8..ef5d7042163ec 100644 --- a/recipes/libusb-compat/all/test_package/conanfile.py +++ b/recipes/libusb-compat/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/libusb-compat/all/test_package/test_package.c b/recipes/libusb-compat/all/test_package/test_package.c index 6cdda7a4a359c..bd44d95c27b01 100644 --- a/recipes/libusb-compat/all/test_package/test_package.c +++ b/recipes/libusb-compat/all/test_package/test_package.c @@ -2,8 +2,7 @@ #include - -int main(int argc, char *argv[]) { +int main() { usb_init(); usb_find_busses(); usb_find_devices(); diff --git a/recipes/libusb-compat/all/test_v1_package/CMakeLists.txt b/recipes/libusb-compat/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libusb-compat/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/libusb-compat/all/test_v1_package/conanfile.py b/recipes/libusb-compat/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..852f062fd4f80 --- /dev/null +++ b/recipes/libusb-compat/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin","test_package") + self.run(bin_path, run_environment=True) From b2b014262a5e4f316fc2d814b0b6bd026827c5a2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 12:28:17 +0300 Subject: [PATCH 2495/4087] (#20920) duckdb: do not remove import lib during packaging if mingw shared * do not remove import lib if mingw shared * don't apply patch 0.6.0-0002-include-stdlib.patch after 0.7.0 since it's has been fixed upstream * simplify rm pattern * Revert "simplify rm pattern" This reverts commit 64b3cdf872d0c17754f58aead2286e5989fbde67. --- recipes/duckdb/all/conandata.yml | 14 ++------------ recipes/duckdb/all/conanfile.py | 5 ++++- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index c19e39efb88f4..619c9622f6e4c 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -25,30 +25,18 @@ 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" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - 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" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - 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" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - 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" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - 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" @@ -56,6 +44,7 @@ patches: - 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" @@ -63,6 +52,7 @@ patches: - 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" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index f5223884b8f74..cac6731cc1f7d 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.microsoft import is_msvc from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import glob import os required_conan_version = ">=1.53.0" @@ -147,8 +148,10 @@ def package(self): cmake.install() if self.options.shared: - rm(self, "*.a", os.path.join(self.package_folder, "lib")) rm(self, "duckdb_*.lib", os.path.join(self.package_folder, "lib")) + for lib in glob.glob(os.path.join(self.package_folder, "lib", "*.a")): + if not lib.endswith(".dll.a"): + os.remove(lib) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "cmake")) From 50e704fb1ce1a4d91dd0ba85f1f593fdd9da3b59 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 12:31:17 +0200 Subject: [PATCH 2496/4087] (#18749) open-simulation-interface: migrate to Conan v2 * open-simulation-interface: migrate to Conan v2 * open-simulation-interface: get_safe("cppstd") * open-simulation-interface: bump deps * open-simulation-interface: update required_conan_version for host_version * open-simulation-interface: transitive_libs=True --- .../all/CMakeLists.txt | 8 -- .../all/conandata.yml | 3 - .../all/conanfile.py | 104 +++++++++--------- .../all/test_package/CMakeLists.txt | 11 +- .../all/test_package/conanfile.py | 21 +++- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 17 +++ 8 files changed, 94 insertions(+), 80 deletions(-) delete mode 100644 recipes/open-simulation-interface/all/CMakeLists.txt create mode 100644 recipes/open-simulation-interface/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/open-simulation-interface/all/test_v1_package/conanfile.py diff --git a/recipes/open-simulation-interface/all/CMakeLists.txt b/recipes/open-simulation-interface/all/CMakeLists.txt deleted file mode 100644 index 5cfb924ad4de7..0000000000000 --- a/recipes/open-simulation-interface/all/CMakeLists.txt +++ /dev/null @@ -1,8 +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/open-simulation-interface/all/conandata.yml b/recipes/open-simulation-interface/all/conandata.yml index e0a816774466a..0a86437ce1ae3 100644 --- a/recipes/open-simulation-interface/all/conandata.yml +++ b/recipes/open-simulation-interface/all/conandata.yml @@ -12,10 +12,7 @@ sources: patches: 3.1.2: - patch_file: "patches/3.1.2_single_lib.patch" - base_path: "source_subfolder" 3.3.1: - patch_file: "patches/3.3.x_single_lib.patch" - base_path: "source_subfolder" 3.4.0: - patch_file: "patches/3.4.0_single_lib.patch" - base_path: "source_subfolder" diff --git a/recipes/open-simulation-interface/all/conanfile.py b/recipes/open-simulation-interface/all/conanfile.py index 971823690f5f9..b0e3cac24d6f1 100644 --- a/recipes/open-simulation-interface/all/conanfile.py +++ b/recipes/open-simulation-interface/all/conanfile.py @@ -1,17 +1,23 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -import shutil -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import 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.60.0 <2.0 || >=2.0.5" + class OpenSimulationInterfaceConan(ConanFile): name = "open-simulation-interface" + description = "Generic interface environmental perception of automated driving functions in virtual scenarios" + license = "MPL-2.0" + url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/OpenSimulationInterface/open-simulation-interface" - description = 'Generic interface environmental perception of automated driving functions in virtual scenarios' topics = ("asam", "adas", "open-simulation", "automated-driving", "openx") - url = "https://github.com/conan-io/conan-center-index" - license = "MPL-2.0" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -21,77 +27,67 @@ class OpenSimulationInterfaceConan(ConanFile): "shared": False, "fPIC": True, } - generators = "cmake", "cmake_find_package" - _cmake = None - short_paths = True - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def validate(self): - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) - if self.options.shared: - if self.settings.os == "Windows": - raise ConanInvalidConfiguration("Shared Libraries are not supported on windows because of the missing symbol export in the library.") - def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("protobuf/3.17.1") + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if self.options.shared and self.settings.os == "Windows": + raise ConanInvalidConfiguration( + "Shared Libraries are not supported on windows because of the missing symbol export in the library." + ) def build_requirements(self): - self.build_requires("protobuf/3.17.1") + self.tool_requires("protobuf/") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - try: - if self.settings.os == "Windows": - shutil.rmtree(os.path.join(self.package_folder, "CMake")) - else: - shutil.rmtree(os.path.join(self.package_folder, "lib", "cmake")) - except: - pass + if self.settings.os == "Windows": + rmdir(self, os.path.join(self.package_folder, "CMake")) + else: + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "open_simulation_interface") + self.cpp_info.set_property("cmake_target_name", "open_simulation_interface::open_simulation_interface") + self.cpp_info.components["libopen_simulation_interface"].libs = ["open_simulation_interface"] + self.cpp_info.components["libopen_simulation_interface"].requires = ["protobuf::libprotobuf"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "open_simulation_interface" self.cpp_info.names["cmake_find_package_multi"] = "open_simulation_interface" self.cpp_info.components["libopen_simulation_interface"].names["cmake_find_package"] = "open_simulation_interface" self.cpp_info.components["libopen_simulation_interface"].names["cmake_find_package_multi"] = "open_simulation_interface" - self.cpp_info.components["libopen_simulation_interface"].libs = ["open_simulation_interface"] - self.cpp_info.components["libopen_simulation_interface"].requires = ["protobuf::libprotobuf"] - diff --git a/recipes/open-simulation-interface/all/test_package/CMakeLists.txt b/recipes/open-simulation-interface/all/test_package/CMakeLists.txt index 34497df14111e..27d995312b038 100644 --- a/recipes/open-simulation-interface/all/test_package/CMakeLists.txt +++ b/recipes/open-simulation-interface/all/test_package/CMakeLists.txt @@ -1,16 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(open_simulation_interface REQUIRED) +find_package(open_simulation_interface REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) - -target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) - target_link_libraries(${PROJECT_NAME} open_simulation_interface::open_simulation_interface ) +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) diff --git a/recipes/open-simulation-interface/all/test_package/conanfile.py b/recipes/open-simulation-interface/all/test_package/conanfile.py index 3da371b660e0a..ef5d7042163ec 100644 --- a/recipes/open-simulation-interface/all/test_package/conanfile.py +++ b/recipes/open-simulation-interface/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" + 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/open-simulation-interface/all/test_package/test_package.cpp b/recipes/open-simulation-interface/all/test_package/test_package.cpp index 2b6c34045d39d..231a6941a54bb 100644 --- a/recipes/open-simulation-interface/all/test_package/test_package.cpp +++ b/recipes/open-simulation-interface/all/test_package/test_package.cpp @@ -3,7 +3,7 @@ #include int main() { - + osi3::SensorData d; // Version d.mutable_version()->set_version_major(3); diff --git a/recipes/open-simulation-interface/all/test_v1_package/CMakeLists.txt b/recipes/open-simulation-interface/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/open-simulation-interface/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/open-simulation-interface/all/test_v1_package/conanfile.py b/recipes/open-simulation-interface/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/open-simulation-interface/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 35e591807c0c606435a22943127bb188424290ff Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 12:55:50 +0200 Subject: [PATCH 2497/4087] (#19979) spirv-tools: add new versions, remove old ones * spirv-tools: add new versions, remove old ones * spirv-tools: update versions list To match https://github.com/conan-io/conan-center-index/pull/20838 * spirv-tools: bump min GCC and Clang for and * spirv-tools: fix v1.2 compatibility * spirv-tools: bump compiler requirements only for latest versions --- recipes/spirv-tools/all/conandata.yml | 22 ++++++++++------------ recipes/spirv-tools/all/conanfile.py | 7 +++++-- recipes/spirv-tools/config.yml | 12 +++++------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/recipes/spirv-tools/all/conandata.yml b/recipes/spirv-tools/all/conandata.yml index f29ee8c3fbf96..aec3e6ece4050 100644 --- a/recipes/spirv-tools/all/conandata.yml +++ b/recipes/spirv-tools/all/conandata.yml @@ -1,4 +1,11 @@ +# Add only the SDK release versions from https://github.com/KhronosGroup/SPIRV-Tools/tags for consistency sources: + "1.3.268.0": + url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" + sha256: "4c19fdcffb5fe8ef8dc93d7a65ae78b64edc7a5688893ee381c57f70be77deaf" + "1.3.261.1": + url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.261.1.tar.gz" + sha256: "ead95c626ad482882a141d1aa0ce47b9453871f72c42c0b28d39c82f60a52008" "1.3.243.0": url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.243.0.tar.gz" sha256: "684a29e37bfdc6e151fe1d3ec4b87c5396c17a439de545d81ea05d4ee6fbc86e" @@ -8,15 +15,6 @@ sources: "1.3.236.0": url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.236.0.tar.gz" sha256: "6789c782a8ba8fa127c3d579f9362f0cdde7a9ccc2e8513cdf217bba579dfda9" - "1.3.231.1": - url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.231.1.tar.gz" - sha256: "b97df7fdac617878668762ab452ae2ae425a0f36e29711b4cc6c4ae216e32309" - "1.3.224.0": - url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.224.0.tar.gz" - sha256: "428b83f2710c07123cf2ec21934389f893aa0b570d1fe4aba6e38718c9a6ea69" - "1.3.216.0": - url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.216.0.tar.gz" - sha256: "b4b9abeb59deda20c41808ac4cd5f9faf6f0a9daa51a8c82e13ca47c045e982f" - "1.3.211.0": - url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.211.0.tar.gz" - sha256: "5466e628c92c30aeb45547b9d836dcf7b6249afb94de9dea4ac4449a82202b50" + "1.2.198.0": + url: "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.2.198.0.tar.gz" + sha256: "e8a9fec946f8473129374ad6b98ee690ac9a4574ace7cb3b46bbeb4eddfdc33b" diff --git a/recipes/spirv-tools/all/conanfile.py b/recipes/spirv-tools/all/conanfile.py index efb00f02f9f61..5530f21ad5289 100644 --- a/recipes/spirv-tools/all/conanfile.py +++ b/recipes/spirv-tools/all/conanfile.py @@ -43,8 +43,8 @@ def _compilers_minimum_version(self): return { "17": { "apple-clang": "10", - "clang": "5", - "gcc": "7", + "clang": "7" if Version(self.version) >= "1.3.250" else "5", + "gcc": "8" if Version(self.version) >= "1.3.250" else "7", "msvc": "191", "Visual Studio": "15", } @@ -275,3 +275,6 @@ def package_info(self): self.cpp_info.components["spirv-tools-diff"].names["cmake_find_package_multi"] = "SPIRV-Tools-diff" self.cpp_info.components["spirv-tools-diff"].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components["spirv-tools-diff"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + + if Version(self.version) < "1.3" and not self.options.shared: + del self.cpp_info.components["spirv-tools-diff"] diff --git a/recipes/spirv-tools/config.yml b/recipes/spirv-tools/config.yml index 292ee24f61cbb..87519b61c9623 100644 --- a/recipes/spirv-tools/config.yml +++ b/recipes/spirv-tools/config.yml @@ -1,15 +1,13 @@ versions: + "1.3.268.0": + folder: all + "1.3.261.1": + folder: all "1.3.243.0": folder: all "1.3.239.0": folder: all "1.3.236.0": folder: all - "1.3.231.1": - folder: all - "1.3.224.0": - folder: all - "1.3.216.0": - folder: all - "1.3.211.0": + "1.2.198.0": folder: all From bb9fb231e287b6eed871e5fc815e3872cbbc6a0a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:28:18 +0300 Subject: [PATCH 2498/4087] (#20923) libarchive: fix mingw shared build either shared or static in 3.7.1 like all other previous versions, and avoid this removal of .a files which breaks mingw shared since import lib is .dll.a --- recipes/libarchive/all/conanfile.py | 6 ++-- .../all/patches/0003-3.7.1-cmake.patch | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index 68c352dbc326a..f6981be4bf4f1 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration @@ -149,6 +149,7 @@ def generate(self): tc.variables["ENABLE_CPIO"] = False tc.variables["ENABLE_CAT"] = False tc.variables["ENABLE_TEST"] = False + tc.variables["ENABLE_UNZIP"] = False # too strict check tc.variables["ENABLE_WERROR"] = False if Version(self.version) >= "3.4.2": @@ -172,9 +173,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) - if self.options.shared: - rm(self, "*.a", os.path.join(self.package_folder, "lib")) - def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "LibArchive") diff --git a/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch index d4c2879103cd6..67a75a07b08b2 100644 --- a/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch +++ b/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch @@ -56,3 +56,36 @@ index 6849ce40..8d5b6018 100644 FIND_PACKAGE(OpenSSL) IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) +diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index f7fdfb68..9d2915ac 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -251,6 +251,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_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) + SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS +@@ -259,6 +260,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 +@@ -268,10 +270,12 @@ IF(ENABLE_INSTALL) + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + ENDIF(BUILD_SHARED_LIBS) ++ if(NOT BUILD_SHARED_LIBS) + 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() From 5c59b70e72816e6aabf18302fdfb709fa60bc502 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 14:26:33 +0200 Subject: [PATCH 2499/4087] (#18833) hexl: migrate to Conan v2 * hexl: migrate to Conan v2 * hexl: add support for shared build on Windows * hexl: fix easylogging dependency in CMake * hexl: simplify patching and package_info() * hexl: add v1.2.5 * hexl: bump easyloggingpp * hexl: fix v1 package_info --- recipes/hexl/all/CMakeLists.txt | 7 - recipes/hexl/all/conandata.yml | 7 +- recipes/hexl/all/conanfile.py | 175 +++++++++--------- recipes/hexl/all/patches/fix-cmake.patch | 122 ------------ recipes/hexl/all/test_package/CMakeLists.txt | 5 +- recipes/hexl/all/test_package/conanfile.py | 22 ++- .../hexl/all/test_v1_package/CMakeLists.txt | 8 + recipes/hexl/all/test_v1_package/conanfile.py | 20 ++ recipes/hexl/config.yml | 2 + 9 files changed, 138 insertions(+), 230 deletions(-) delete mode 100644 recipes/hexl/all/CMakeLists.txt delete mode 100644 recipes/hexl/all/patches/fix-cmake.patch create mode 100644 recipes/hexl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/hexl/all/test_v1_package/conanfile.py diff --git a/recipes/hexl/all/CMakeLists.txt b/recipes/hexl/all/CMakeLists.txt deleted file mode 100644 index 8b3b9ef203c08..0000000000000 --- a/recipes/hexl/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.13.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory("source_subfolder") diff --git a/recipes/hexl/all/conandata.yml b/recipes/hexl/all/conandata.yml index 8ed6d6d348eaa..78aeef07d0a65 100644 --- a/recipes/hexl/all/conandata.yml +++ b/recipes/hexl/all/conandata.yml @@ -1,8 +1,7 @@ sources: + "1.2.5": + url: "https://github.com/intel/hexl/archive/refs/tags/v1.2.5.tar.gz" + sha256: "3692e6e6183dbc49253e51e86c3e52e7affcac925f57db0949dbb4d34b558a9a" "1.2.4": url: "https://github.com/intel/hexl/archive/refs/tags/v1.2.4.tar.gz" sha256: "f91dd158e3faa8795035f618286cdef7dacbf488fd0ba4f44409880997b4549f" -patches: - "1.2.4": - - patch_file: "patches/fix-cmake.patch" - base_path: "source_subfolder" diff --git a/recipes/hexl/all/conanfile.py b/recipes/hexl/all/conanfile.py index 820c3b5030b0a..c5006ac155cfc 100644 --- a/recipes/hexl/all/conanfile.py +++ b/recipes/hexl/all/conanfile.py @@ -1,158 +1,161 @@ -from conans import CMake, tools +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration +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, replace_in_file, get, rmdir from conan.tools.microsoft import is_msvc -from conan.tools.files import get, rmdir from conan.tools.scm import Version -from conan.tools.build import cross_building -import os +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.43.0" class HexlConan(ConanFile): name = "hexl" + description = "Intel Homomorphic Encryption (HE) Acceleration Library" license = "Apache-2.0" - homepage = "https://github.com/intel/hexl" url = "https://github.com/conan-io/conan-center-index" - description = "Intel Homomorphic Encryption (HE) Acceleration Library" + homepage = "https://github.com/intel/hexl" topics = ("homomorphic", "encryption", "privacy") - settings = "os", "compiler", "build_type", "arch" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake", "cmake_find_package" - - _cmake = None + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "experimental": [True, False], "fpga_compatibility_dyadic_multiply": [True, False], - "fpga_compatibility_keyswitch": [True, False] + "fpga_compatibility_keyswitch": [True, False], } - default_options = { "shared": False, "fPIC": True, "experimental": False, "fpga_compatibility_dyadic_multiply": False, - "fpga_compatibility_keyswitch": False + "fpga_compatibility_keyswitch": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) - - def build_requirements(self): - self.build_requires("cmake/3.22.0") - - def requirements(self): - self.requires("cpu_features/0.7.0") - - if self.settings.build_type == "Debug": - self.requires("easyloggingpp/9.97.0") - @property def _compilers_minimum_version(self): return { "gcc": "7", "Visual Studio": "15.7", + "msvc": "191", "clang": "7", "apple-clang": "11", } + 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("cpu_features/0.9.0") + + if self.settings.build_type == "Debug": + self.requires("easyloggingpp/9.97.1") + def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 17) + check_min_cppstd(self, 17) 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("{} requires C++17, which your compiler does not support.".format(self.name)) - else: - self.output.warn("{} requires C++17. Your compiler is unknown. Assuming it supports C++17.".format(self.name)) + raise ConanInvalidConfiguration( + f"{self.name} requires C++17, which your compiler does not support." + ) if self.settings.arch not in ["x86", "x86_64"]: - raise ConanInvalidConfiguration("Hexl only supports x86 architecture") + raise ConanInvalidConfiguration("Hexl only supports x86 architectures") - if self.options.shared and is_msvc(self): - raise ConanInvalidConfiguration("Hexl only supports static linking with msvc") - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self); + def build_requirements(self): + self.tool_requires("cmake/[>=3.24 <4]") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - self._cmake.definitions["HEXL_BENCHMARK"] = False - self._cmake.definitions["HEXL_TESTING"] = False - self._cmake.definitions["HEXL_EXPERIMENTAL"] = self.options.experimental + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["HEXL_BENCHMARK"] = False + tc.cache_variables["HEXL_TESTING"] = False + tc.cache_variables["HEXL_EXPERIMENTAL"] = self.options.experimental if self.options.fpga_compatibility_dyadic_multiply and self.options.fpga_compatibility_keyswitch: - self._cmake.definitions["HEXL_FPGA_COMPATIBILITY"] = 3 + tc.cache_variables["HEXL_FPGA_COMPATIBILITY"] = 3 elif self.options.fpga_compatibility_dyadic_multiply: - self._cmake.definitions["HEXL_FPGA_COMPATIBILITY"] = 1 + tc.cache_variables["HEXL_FPGA_COMPATIBILITY"] = 1 elif self.options.fpga_compatibility_keyswitch: - self._cmake.definitions["HEXL_FPGA_COMPATIBILITY"] = 2 + tc.cache_variables["HEXL_FPGA_COMPATIBILITY"] = 2 else: - self._cmake.definitions["HEXL_FPGA_COMPATIBILITY"] = 0 + tc.cache_variables["HEXL_FPGA_COMPATIBILITY"] = 0 - self._cmake.definitions["HEXL_SHARED_LIB"] = self.options.shared - self._cmake.definitions["HEXL_CROSS_COMPILED"] = cross_building(self) + tc.cache_variables["HEXL_SHARED_LIB"] = self.options.shared + tc.cache_variables["HEXL_CROSS_COMPILED"] = cross_building(self) - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared - def configure(self): - if self.options.shared: - del self.options.fPIC + tc.generate() + + tc = CMakeDeps(self) + tc.set_property("easyloggingpp", "cmake_file_name", "EASYLOGGINGPP") + tc.set_property("easyloggingpp", "cmake_target_name", "easyloggingpp") + tc.generate() + + def _patch_sources(self): + rmdir(self, os.path.join(self.package_folder, "cmake", "third-party")) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_POSITION_INDEPENDENT_CODE ON)", "") + replace_in_file(self, os.path.join(self.source_folder, "hexl", "CMakeLists.txt"), + "set_target_properties(hexl PROPERTIES POSITION_INDEPENDENT_CODE ON)", "") + # Should come from compiler.sanitizer=Address + replace_in_file(self, os.path.join(self.source_folder, "hexl", "CMakeLists.txt"), + "hexl_add_asan_flag(hexl)", "") + if cross_building(self): + replace_in_file(self, os.path.join(self.source_folder, "hexl", "CMakeLists.txt"), + "-march=native", "") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "Hexl") - # TODO: Remove in Conan 2.0 - self.cpp_info.names["cmake_find_package"] = "Hexl" - self.cpp_info.names["cmake_find_package_multi"] = "Hexl" - - if self.settings.build_type == "Debug": - if not is_msvc(self): - self.cpp_info.components["Hexl"].libs = ["hexl_debug"] - else: - self.cpp_info.components["Hexl"].libs = ["hexl"] + self.cpp_info.set_property("cmake_target_name", "Hexl::Hexl") + self.cpp_info.set_property("pkg_config_name", "hexl") - self.cpp_info.components["Hexl"].requires.append("easyloggingpp::easyloggingpp") + if not is_msvc(self) and self.settings.build_type == "Debug": + self.cpp_info.components["Hexl"].libs = ["hexl_debug"] else: self.cpp_info.components["Hexl"].libs = ["hexl"] - self.cpp_info.components["Hexl"].names["cmake_find_package"] = "hexl" - self.cpp_info.components["Hexl"].names["cmake_find_package_multi"] = "hexl" - self.cpp_info.components["Hexl"].set_property("cmake_target_name", "Hexl::hexl") - self.cpp_info.components["Hexl"].set_property("pkg_config_name", "hexl") - self.cpp_info.components["Hexl"].requires.append("cpu_features::libcpu_features") - if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["Hexl"].system_libs = ["pthread", "m"] + self.cpp_info.components["Hexl"].set_property("cmake_target_name", "Hexl::hexl") + self.cpp_info.components["Hexl"].requires.append("cpu_features::libcpu_features") + if self.settings.build_type == "Debug": + self.cpp_info.components["Hexl"].requires.append("easyloggingpp::easyloggingpp") + + # TODO: Remove in Conan 2.0 + self.cpp_info.names["cmake_find_package"] = "Hexl" + self.cpp_info.names["cmake_find_package_multi"] = "Hexl" + self.cpp_info.components["Hexl"].names["cmake_find_package"] = "hexl" + self.cpp_info.components["Hexl"].names["cmake_find_package_multi"] = "hexl" diff --git a/recipes/hexl/all/patches/fix-cmake.patch b/recipes/hexl/all/patches/fix-cmake.patch deleted file mode 100644 index 8aeb45bf1b421..0000000000000 --- a/recipes/hexl/all/patches/fix-cmake.patch +++ /dev/null @@ -1,122 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1cee76b..0db1f9c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -28,10 +28,6 @@ if(CMAKE_BUILD_TYPE) - endif() - endif() - --if(NOT CMAKE_BUILD_TYPE) -- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE) --endif() -- - if (CMAKE_BUILD_TYPE STREQUAL "Debug") - set(HEXL_DEBUG ON) - else() -@@ -139,18 +135,12 @@ message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") - #------------------------------------------------------------------------------ - # Third-party code... - #------------------------------------------------------------------------------ --find_package(CpuFeatures CONFIG) --if (NOT CpuFeatures_FOUND) -- message(STATUS "CpuFeatures: pre-installed CpuFeatures not found") -- add_subdirectory(cmake/third-party/cpu-features) --else() -- message(STATUS "CpuFeatures: found") -- add_library(cpu_features ALIAS CpuFeatures::cpu_features) -- get_target_property( -- CpuFeatures_INCLUDE_DIR -- CpuFeatures::cpu_features -- INTERFACE_INCLUDE_DIRECTORIES) --endif() -+find_package(CpuFeatures REQUIRED) -+add_library(cpu_features ALIAS CpuFeatures::cpu_features) -+get_target_property( -+ CpuFeatures_INCLUDE_DIR -+ CpuFeatures::cpu_features -+ INTERFACE_INCLUDE_DIRECTORIES) - - if (HEXL_TESTING OR HEXL_BENCHMARK OR HEXL_DEBUG) - if(NOT TARGET Threads::Threads) -@@ -168,18 +158,11 @@ if (HEXL_BENCHMARK) - endif() - - if (HEXL_DEBUG) -- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/third-party/easylogging") -- find_package(EASYLOGGINGPP MODULE) -- if (EASYLOGGINGPP_FOUND) -- message(STATUS "easyloggingpp: pre-installed easyloggingpp found") -- get_target_property( -- EASYLOGGINGPP_INCLUDE_DIR -- easyloggingpp -- INTERFACE_INCLUDE_DIRECTORIES) -- else() -- message(STATUS "easyloggingpp: pre-installed easyloggingpp NOT found, building from source") -- add_subdirectory(cmake/third-party/easylogging) -- endif() -+ find_package(easyloggingpp REQUIRED) -+ get_target_property( -+ EASYLOGGINGPP_INCLUDE_DIR -+ easyloggingpp::easyloggingpp -+ INTERFACE_INCLUDE_DIRECTORIES) - endif() - - #------------------------------------------------------------------------------ -diff --git a/hexl/CMakeLists.txt b/hexl/CMakeLists.txt -index 139f17c..6558256 100644 ---- a/hexl/CMakeLists.txt -+++ b/hexl/CMakeLists.txt -@@ -53,7 +53,8 @@ else() - endif() - add_library(HEXL::hexl ALIAS hexl) - --hexl_add_asan_flag(hexl) -+# Should come from compiler.sanitizer=Address -+# hexl_add_asan_flag(hexl) - - set(HEXL_DEFINES_IN_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/include/hexl/util/defines.hpp.in) - set(HEXL_DEFINES_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/include/hexl/util/defines.hpp) -@@ -89,10 +90,15 @@ endif() - - if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - target_compile_options(hexl PRIVATE -Wall -Wconversion -Wshadow -pedantic -Wextra -- -Wno-unknown-pragmas -march=native -O3 -fomit-frame-pointer -+ -Wno-unknown-pragmas -O3 -fomit-frame-pointer - -Wno-sign-conversion - -Wno-implicit-int-conversion - ) -+ -+ if(NOT HEXL_CROSS_COMPILED) -+ target_compile_options(hexl PRIVATE -march=native) -+ endif() -+ - # Avoid 3rd-party dependency warnings when including HEXL as a dependency - target_compile_options(hexl PUBLIC - -Wno-unknown-warning -@@ -121,7 +127,7 @@ if (HEXL_SHARED_LIB) - target_link_libraries(hexl PUBLIC easyloggingpp) - # Manually add logging include directory - target_include_directories(hexl -- PUBLIC $> -+ PUBLIC ${EASYLOGGINGPP_INCLUDE_DIR} - ) - endif() - else () -@@ -132,7 +138,7 @@ else () - if (HEXL_DEBUG) - # Manually add logging include directory - target_include_directories(hexl -- PUBLIC $> -+ PUBLIC ${EASYLOGGINGPP_INCLUDE_DIR} - ) - if (EASYLOGGINGPP_FOUND) - target_link_libraries(hexl PRIVATE easyloggingpp) -@@ -152,8 +158,6 @@ else () - PRIVATE $) - endif() - --install(TARGETS hexl DESTINATION ${CMAKE_INSTALL_LIBDIR}) -- - #------------------------------------------------------------------------------ - # Config export... - #------------------------------------------------------------------------------ diff --git a/recipes/hexl/all/test_package/CMakeLists.txt b/recipes/hexl/all/test_package/CMakeLists.txt index cf18c1281c79a..6b4c1055e308d 100644 --- a/recipes/hexl/all/test_package/CMakeLists.txt +++ b/recipes/hexl/all/test_package/CMakeLists.txt @@ -1,12 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(Hexl REQUIRED CONFIG) find_package(Hexl COMPONENTS hexl REQUIRED) add_executable(example example.cpp) diff --git a/recipes/hexl/all/test_package/conanfile.py b/recipes/hexl/all/test_package/conanfile.py index 417bb10e807de..8d52b7021efe1 100644 --- a/recipes/hexl/all/test_package/conanfile.py +++ b/recipes/hexl/all/test_package/conanfile.py @@ -1,13 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" -class HexlTestConan(ConanFile): - settings = "os", "build_type", "arch", "compiler" - generators = "cmake", "cmake_find_package" + def requirements(self): + self.requires(self.tested_reference_str) + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -15,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not 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/hexl/all/test_v1_package/CMakeLists.txt b/recipes/hexl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/hexl/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/hexl/all/test_v1_package/conanfile.py b/recipes/hexl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..0a70df7062409 --- /dev/null +++ b/recipes/hexl/all/test_v1_package/conanfile.py @@ -0,0 +1,20 @@ +import os + +from conans import ConanFile, CMake, tools +from conan.tools.build import cross_building + + +class HexlTestConan(ConanFile): + settings = "os", "build_type", "arch", "compiler" + 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", "example") + self.run(bin_path, run_environment=True) diff --git a/recipes/hexl/config.yml b/recipes/hexl/config.yml index 5c12183246809..e06c947a952fd 100644 --- a/recipes/hexl/config.yml +++ b/recipes/hexl/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.5": + folder: all "1.2.4": folder: all From 754bdb3744f7caabf13abb855870291872005905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Nadeau?= Date: Mon, 13 Nov 2023 07:37:23 -0500 Subject: [PATCH 2500/4087] (#20932) qt: fix minor issues in 6.x --- recipes/qt/6.x.x/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index cd60c2ee9d0e5..1c1294ee7eaa0 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -181,6 +181,7 @@ def _minimum_compilers_version(self): # Qt6 requires C++17 return { "Visual Studio": "16", + "msvc": "192", "gcc": "8", "clang": "9", "apple-clang": "12" if Version(self.version) >= "6.5.0" else "11" @@ -1035,7 +1036,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.settings.os == "Windows": self.cpp_info.components["qtGui"].system_libs = ["advapi32", "gdi32", "ole32", "shell32", "user32", "d3d11", - "dxgi", "dxguid", "d2d1", "dwrite"] + "dxgi", "dxguid", "d2d1", "dwrite", "d3d9", "setupapi", "SHCore"] if self.settings.compiler == "gcc": self.cpp_info.components["qtGui"].system_libs.append("uuid") _create_plugin("QWindowsIntegrationPlugin", "qwindows", "platforms", ["Core", "Gui"]) @@ -1147,6 +1148,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.qtsvg and self.options.gui: _create_module("Svg", ["Gui"]) + _create_plugin("QSvgIconPlugin", "qsvgicon", "iconengines", []) + _create_plugin("QSvgPlugin", "qsvg", "imageformats", []) if self.options.widgets: _create_module("SvgWidgets", ["Gui", "Svg", "Widgets"]) From bcfb2126a46a7efc7fcf71dd793153a2b3dad60c Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 13 Nov 2023 13:59:02 +0100 Subject: [PATCH 2501/4087] (#20703) Opencolorio 2.3.0, bump requirements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * opencolorio: add version 2.3.0, update dependencies * drop support gcc 5 * downgrade yaml-cpp * use yaml-cpp/0.7.0 on opencolorio<=2.0.0 * drop support clang with libc++ * Remove fixed version hint * Add configuration check for MSVC 2022 with OCIO < 2.0 * Add missin Version call * Update recipes/opencolorio/all/conandata.yml --------- Co-authored-by: toge Co-authored-by: Francisco Ramírez --- recipes/opencolorio/all/conandata.yml | 14 ++ recipes/opencolorio/all/conanfile.py | 29 ++- ...001-fix-cmake-source-dir-and-targets.patch | 15 +- ...001-fix-cmake-source-dir-and-targets.patch | 101 +++++++++ .../all/patches/2.3.0-0002-fix-pystring.patch | 195 ++++++++++++++++++ recipes/opencolorio/config.yml | 2 + 6 files changed, 347 insertions(+), 9 deletions(-) create mode 100644 recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch create mode 100644 recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch diff --git a/recipes/opencolorio/all/conandata.yml b/recipes/opencolorio/all/conandata.yml index 7b09a12ca594b..a48a93147f585 100644 --- a/recipes/opencolorio/all/conandata.yml +++ b/recipes/opencolorio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.0.tar.gz" + sha256: "32b7be676c110d849a77886d8a409159f0367309b2b2f5dae5aa0c38f42b445a" "2.2.1": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.2.1.tar.gz" sha256: "36f27c5887fc4e5c241805c29b8b8e68725aa05520bcaa7c7ec84c0422b8580e" @@ -9,6 +12,17 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: + "2.3.0": + - patch_file: "patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" + - patch_file: "patches/2.3.0-0002-fix-pystring.patch" + patch_description: "fix include path for pystring" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1901" + - patch_file: "patches/2.2.1-0003-strlen.patch" + patch_description: "add std namespace for strlen" + patch_type: "portability" "2.2.1": - patch_file: "patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 35b16f76f4166..3a0853bf1de74 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -50,17 +50,20 @@ def requirements(self): if Version(self.version) < "2.2.0": self.requires("openexr/2.5.7") else: - self.requires("openexr/3.1.7") - self.requires("imath/3.1.6") + self.requires("openexr/3.1.9") + self.requires("imath/3.1.9") - self.requires("yaml-cpp/0.7.0") if Version(self.version) < "2.0.0": self.requires("tinyxml/2.6.2") + self.requires("yaml-cpp/0.7.0") else: self.requires("pystring/1.1.4") + self.requires("yaml-cpp/0.8.0") - if Version(self.version) >= "2.2.0": - self.requires("minizip-ng/3.0.7") + if Version(self.version) >= "2.3.0": + self.requires("minizip-ng/4.0.1") + elif Version(self.version) >= "2.2.0": + self.requires("minizip-ng/3.0.9") # for tools only self.requires("lcms/2.14") @@ -69,6 +72,20 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) + if Version(self.version) >= "2.3.0" and \ + self.settings.compiler == "gcc" and \ + Version(self.settings.compiler.version) < "6.0": + raise ConanInvalidConfiguration(f"{self.ref} requires gcc >= 6.0") + + if Version(self.version) < "2.0.0" and \ + self.settings.compiler.value == "msvc" and \ + Version(self.settings.compiler.version) >= "17.0": + raise ConanInvalidConfiguration(f"{self.ref} < 2.0 not building on MSVC 2022") + + if Version(self.version) >= "2.3.0" and \ + self.settings.compiler == "clang" and \ + self.settings.compiler.libcxx == "libc++": + raise ConanInvalidConfiguration(f"{self.ref} deosn't support clang with libc++") # opencolorio>=2.2.0 requires minizip-ng with with_zlib if Version(self.version) >= "2.2.0" and \ @@ -77,7 +94,7 @@ def validate(self): if Version(self.version) == "1.1.1" and self.options.shared and self.dependencies["yaml-cpp"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires static build yaml-cpp") - if Version(self.version) == "2.2.1" and self.options.shared and self.dependencies["minizip-ng"].options.shared: + if Version(self.version) >= "2.2.1" and self.options.shared and self.dependencies["minizip-ng"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires static build minizip-ng") def build_requirements(self): diff --git a/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch index 7ddacb8e6a532..b4e6f3c13f990 100644 --- a/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch +++ b/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch @@ -12,15 +12,24 @@ index 17e188d..91af0ec 100755 install(FILES ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake diff --git a/share/cmake/modules/FindExtPackages.cmake b/share/cmake/modules/FindExtPackages.cmake -index 5455a08..eb91a37 100644 +index 5455a08..420fbd4 100644 --- a/share/cmake/modules/FindExtPackages.cmake +++ b/share/cmake/modules/FindExtPackages.cmake +@@ -41,7 +41,7 @@ find_package(expat 2.4.1 REQUIRED) + + # yaml-cpp + # https://github.com/jbeder/yaml-cpp +-find_package(yaml-cpp 0.7.0 REQUIRED) ++find_package(yaml-cpp REQUIRED) + + # pystring + # https://github.com/imageworks/pystring @@ -138,7 +138,7 @@ endif() # minizip-ng # https://github.com/zlib-ng/minizip-ng -find_package(minizip-ng 3.0.7 REQUIRED) -+find_package(minizip 3.0.7 REQUIRED) ++find_package(minizip REQUIRED) if(OCIO_BUILD_APPS) @@ -29,7 +38,7 @@ index 5455a08..eb91a37 100644 # lcms2 # https://github.com/mm2/Little-CMS - find_package(lcms2 2.2 REQUIRED) -+ find_package(lcms 2.2 REQUIRED) ++ find_package(lcms REQUIRED) endif() if(OCIO_BUILD_OPENFX) diff --git a/recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch new file mode 100644 index 0000000000000..30c7ddf4a390d --- /dev/null +++ b/recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch @@ -0,0 +1,101 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a36a0d8..650a3c5 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -508,7 +508,7 @@ install( + FILE ${OCIO_TARGETS_EXPORT_NAME} + ) + +-if (NOT BUILD_SHARED_LIBS) ++if (0) + # Install custom macros used in the find modules. + install(FILES + ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake +diff --git a/share/cmake/modules/FindExtPackages.cmake b/share/cmake/modules/FindExtPackages.cmake +index 2625242..dcb41cf 100644 +--- a/share/cmake/modules/FindExtPackages.cmake ++++ b/share/cmake/modules/FindExtPackages.cmake +@@ -63,7 +63,7 @@ ocio_handle_dependency( expat REQUIRED ALLOW_INSTALL + # https://github.com/jbeder/yaml-cpp + ocio_handle_dependency( yaml-cpp REQUIRED ALLOW_INSTALL + MIN_VERSION 0.6.3 +- RECOMMENDED_VERSION 0.7.0 ++ RECOMMENDED_VERSION 0.8.0 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") + + # pystring +@@ -110,9 +110,9 @@ ocio_handle_dependency( ZLIB REQUIRED ALLOW_INSTALL + + # minizip-ng + # https://github.com/zlib-ng/minizip-ng +-ocio_handle_dependency( minizip-ng REQUIRED ALLOW_INSTALL ++ocio_handle_dependency( minizip REQUIRED ALLOW_INSTALL + MIN_VERSION 3.0.6 +- RECOMMENDED_VERSION 3.0.7 ++ RECOMMENDED_VERSION 4.0.1 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") + + ############################################################################### +@@ -131,7 +131,7 @@ if(OCIO_BUILD_APPS) + + # lcms2 + # https://github.com/mm2/Little-CMS +- ocio_handle_dependency( lcms2 REQUIRED ALLOW_INSTALL ++ ocio_handle_dependency( lcms REQUIRED ALLOW_INSTALL + MIN_VERSION 2.2 + RECOMMENDED_VERSION 2.2 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") +diff --git a/share/cmake/utils/CppVersion.cmake b/share/cmake/utils/CppVersion.cmake +index 175d89c..2d34a65 100644 +--- a/share/cmake/utils/CppVersion.cmake ++++ b/share/cmake/utils/CppVersion.cmake +@@ -16,8 +16,6 @@ elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS) + "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.") + endif() + +-set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") +- + include(CheckCXXCompilerFlag) + + # As CheckCXXCompilerFlag implicitly uses CMAKE_CXX_FLAGS some custom flags could trigger unrelated +diff --git a/src/OpenColorIO/CMakeLists.txt b/src/OpenColorIO/CMakeLists.txt +index 7ff40bf..dec2bda 100755 +--- a/src/OpenColorIO/CMakeLists.txt ++++ b/src/OpenColorIO/CMakeLists.txt +@@ -309,8 +309,8 @@ target_link_libraries(OpenColorIO + "$" + "$" + "$" +- ${YAML_CPP_LIBRARIES} +- MINIZIP::minizip-ng ++ yaml-cpp ++ MINIZIP::minizip + ) + + if(OCIO_USE_SIMD AND OCIO_USE_SSE2NEON AND COMPILER_SUPPORTS_SSE_WITH_SSE2NEON) +diff --git a/src/apps/ocioarchive/CMakeLists.txt b/src/apps/ocioarchive/CMakeLists.txt +index 599d706..efe6cd5 100644 +--- a/src/apps/ocioarchive/CMakeLists.txt ++++ b/src/apps/ocioarchive/CMakeLists.txt +@@ -21,7 +21,7 @@ target_link_libraries(ocioarchive + PRIVATE + apputils + OpenColorIO +- MINIZIP::minizip-ng ++ MINIZIP::minizip + ) + + include(StripUtils) +diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt +index 3d6e586..f7069a1 100755 +--- a/src/apps/ociobakelut/CMakeLists.txt ++++ b/src/apps/ociobakelut/CMakeLists.txt +@@ -29,7 +29,7 @@ set_target_properties(ociobakelut + target_link_libraries(ociobakelut + PRIVATE + apputils +- lcms2::lcms2 ++ lcms::lcms + OpenColorIO + ) + diff --git a/recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch b/recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch new file mode 100644 index 0000000000000..020aa7dccfebc --- /dev/null +++ b/recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch @@ -0,0 +1,195 @@ +diff --git a/src/OpenColorIO/Config.cpp b/src/OpenColorIO/Config.cpp +index f09b9ee..7f66ab1 100644 +--- a/src/OpenColorIO/Config.cpp ++++ b/src/OpenColorIO/Config.cpp +@@ -34,7 +34,7 @@ + #include "Platform.h" + #include "PrivateTypes.h" + #include "Processor.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" + #include "ViewingRules.h" +diff --git a/src/OpenColorIO/Context.cpp b/src/OpenColorIO/Context.cpp +index bb6fb07..a8890ed 100644 +--- a/src/OpenColorIO/Context.cpp ++++ b/src/OpenColorIO/Context.cpp +@@ -15,7 +15,7 @@ + #include "OCIOZArchive.h" + #include "PathUtils.h" + #include "PrivateTypes.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + namespace OCIO_NAMESPACE +diff --git a/src/OpenColorIO/OCIOYaml.cpp b/src/OpenColorIO/OCIOYaml.cpp +index 62cbb0d..59c1564 100644 +--- a/src/OpenColorIO/OCIOYaml.cpp ++++ b/src/OpenColorIO/OCIOYaml.cpp +@@ -19,7 +19,7 @@ + #include "ParseUtils.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "ViewingRules.h" + #include "yaml-cpp/yaml.h" +diff --git a/src/OpenColorIO/OCIOZArchive.cpp b/src/OpenColorIO/OCIOZArchive.cpp +index 24d836e..a9177eb 100644 +--- a/src/OpenColorIO/OCIOZArchive.cpp ++++ b/src/OpenColorIO/OCIOZArchive.cpp +@@ -11,7 +11,7 @@ + #include + #include "Mutex.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "transforms/FileTransform.h" + +diff --git a/src/OpenColorIO/Op.cpp b/src/OpenColorIO/Op.cpp +index e1bd564..cf05c37 100755 +--- a/src/OpenColorIO/Op.cpp ++++ b/src/OpenColorIO/Op.cpp +@@ -20,7 +20,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/lut3d/Lut3DOp.h" + #include "ops/range/RangeOp.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + + namespace OCIO_NAMESPACE + { +diff --git a/src/OpenColorIO/PathUtils.cpp b/src/OpenColorIO/PathUtils.cpp +index 9dc8c6b..4a1096d 100644 +--- a/src/OpenColorIO/PathUtils.cpp ++++ b/src/OpenColorIO/PathUtils.cpp +@@ -10,7 +10,7 @@ + #include "Mutex.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + #include "OCIOZArchive.h" + +diff --git a/src/OpenColorIO/fileformats/FileFormatCTF.cpp b/src/OpenColorIO/fileformats/FileFormatCTF.cpp +index ebed326..9f70ff8 100644 +--- a/src/OpenColorIO/fileformats/FileFormatCTF.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatCTF.cpp +@@ -23,7 +23,7 @@ + #include "OpBuilders.h" + #include "ops/noop/NoOps.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "TransformBuilder.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" +diff --git a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +index a52bc72..bd827f0 100755 +--- a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +@@ -16,7 +16,7 @@ + #include "ops/lut1d/Lut1DOp.h" + #include "ops/lut3d/Lut3DOp.h" + #include "ParseUtils.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "Platform.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" +diff --git a/src/OpenColorIO/fileformats/FileFormatICC.cpp b/src/OpenColorIO/fileformats/FileFormatICC.cpp +index 1fcfd9a..ca5d9b4 100755 +--- a/src/OpenColorIO/fileformats/FileFormatICC.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatICC.cpp +@@ -15,7 +15,7 @@ + #include "ops/matrix/MatrixOp.h" + #include "ops/range/RangeOp.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + + +diff --git a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp +index 7402efd..cc3acb4 100755 +--- a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp ++++ b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp +@@ -13,7 +13,7 @@ + #include "ops/lut3d/Lut3DOp.h" + #include "ParseUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "transforms/FileTransform.h" + #include "utils/StringUtils.h" + #include "utils/NumberUtils.h" +diff --git a/src/OpenColorIO/transforms/FileTransform.cpp b/src/OpenColorIO/transforms/FileTransform.cpp +index 4fd4d5d..dc5eb3c 100755 +--- a/src/OpenColorIO/transforms/FileTransform.cpp ++++ b/src/OpenColorIO/transforms/FileTransform.cpp +@@ -19,7 +19,7 @@ + #include "ops/noop/NoOps.h" + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "utils/StringUtils.h" + + namespace OCIO_NAMESPACE +diff --git a/tests/cpu/ColorSpace_tests.cpp b/tests/cpu/ColorSpace_tests.cpp +index 8c37c37..9791e05 100644 +--- a/tests/cpu/ColorSpace_tests.cpp ++++ b/tests/cpu/ColorSpace_tests.cpp +@@ -6,7 +6,7 @@ + + #include "ColorSpace.cpp" + +-#include ++#include + #include "testutils/UnitTest.h" + #include "UnitTestUtils.h" + +diff --git a/tests/cpu/Config_tests.cpp b/tests/cpu/Config_tests.cpp +index 5d30fda..6d4b70d 100644 +--- a/tests/cpu/Config_tests.cpp ++++ b/tests/cpu/Config_tests.cpp +@@ -7,7 +7,7 @@ + #include "Config.cpp" + #include "utils/StringUtils.h" + +-#include ++#include + #include "testutils/UnitTest.h" + #include "UnitTestLogUtils.h" + #include "UnitTestUtils.h" +diff --git a/tests/cpu/Context_tests.cpp b/tests/cpu/Context_tests.cpp +index f78bad8..86d6b62 100644 +--- a/tests/cpu/Context_tests.cpp ++++ b/tests/cpu/Context_tests.cpp +@@ -8,7 +8,7 @@ + + #include "PathUtils.h" + #include "Platform.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + #include "testutils/UnitTest.h" + + namespace OCIO = OCIO_NAMESPACE; +diff --git a/vendor/openfx/OCIOUtils.cpp b/vendor/openfx/OCIOUtils.cpp +index ca44905..469ed35 100644 +--- a/vendor/openfx/OCIOUtils.cpp ++++ b/vendor/openfx/OCIOUtils.cpp +@@ -9,7 +9,7 @@ namespace OCIO = OCIO_NAMESPACE; + #include + + #include "ofxsLog.h" +-#include "pystring/pystring.h" ++#include "pystring.h" + + namespace + { diff --git a/recipes/opencolorio/config.yml b/recipes/opencolorio/config.yml index f6a7702dbfaa4..89be14d13a1d0 100644 --- a/recipes/opencolorio/config.yml +++ b/recipes/opencolorio/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: "all" "2.2.1": folder: "all" "2.1.0": From 13dad9761cbbe51529ef9fb49d57193f57f22039 Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Mon, 13 Nov 2023 07:57:17 -0600 Subject: [PATCH 2502/4087] (#17246) cyclonedds: add idlc code generator support * Add idlc code generator * Update package info for v1 * Tweak naming * Tweak components * Clean up and synchronize vars with cmake vars with source * Add support for v0.10.3 and type discovery * Update config.yml * Tweak cmake version * Remove custom target properties * Omit error * Cleanup * Remove extraneous windows files * cleanup * Typo * Define as final * Revert conan component name * Cleanup * More cleanup * More cleanup * Streamline * Add test for idl target * Add builddirs * Add build dirs * Add lib to path * Use conan2 env vars * Remove unused variable * Streamline --- .../all/cmake/CycloneDDS_idlc.cmake | 21 ++++++++++ recipes/cyclonedds/all/conanfile.py | 40 +++++++++++++++---- .../all/test_package/CMakeLists.txt | 8 +++- .../cyclonedds/all/test_package/conanfile.py | 2 + .../cyclonedds/all/test_package/test_idl.c | 20 ++++++++++ .../all/test_package/test_message.idl | 6 +++ 6 files changed, 89 insertions(+), 8 deletions(-) create mode 100644 recipes/cyclonedds/all/cmake/CycloneDDS_idlc.cmake create mode 100644 recipes/cyclonedds/all/test_package/test_idl.c create mode 100644 recipes/cyclonedds/all/test_package/test_message.idl diff --git a/recipes/cyclonedds/all/cmake/CycloneDDS_idlc.cmake b/recipes/cyclonedds/all/cmake/CycloneDDS_idlc.cmake new file mode 100644 index 0000000000000..19242c4dfa87c --- /dev/null +++ b/recipes/cyclonedds/all/cmake/CycloneDDS_idlc.cmake @@ -0,0 +1,21 @@ +if(NOT TARGET CycloneDDS::idlc) + if(CMAKE_CROSSCOMPILING) + find_program(_idlc_executable + NAMES idlc + PATHS ENV PATH + NO_DEFAULT_PATH + ) + else() + find_program(_idlc_executable + NAMES idlc + PATHS "${CMAKE_CURRENT_LIST_DIR}/../../../bin/" + NO_DEFAULT_PATH + ) + endif() + + if(_idlc_executable) + get_filename_component(_idlc_executable "${_idlc_executable}" ABSOLUTE) + add_executable(CycloneDDS::idlc IMPORTED) + set_property(TARGET CycloneDDS::idlc PROPERTY IMPORTED_LOCATION ${_idlc_executable}) + endif() +endif() diff --git a/recipes/cyclonedds/all/conanfile.py b/recipes/cyclonedds/all/conanfile.py index d4aabff510cc1..f35480b98cba1 100644 --- a/recipes/cyclonedds/all/conanfile.py +++ b/recipes/cyclonedds/all/conanfile.py @@ -53,7 +53,13 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def _has_idlc(self, info=False): + # don't build idlc when it makes little sense or not supported + host_os = self.info.settings.os if info else self.settings.os + return host_os not in ["Android", "iOS", "watchOS", "tvOS", "Neutrino"] + def export_sources(self): + copy(self, os.path.join("cmake", "CycloneDDS_idlc.cmake"), self.recipe_folder, self.export_sources_folder) export_conandata_patches(self) def config_options(self): @@ -96,10 +102,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) # TODO : determine how to do in conan : - # - idlc is a code generator that is used as tool (and so not cross compiled) # - other tools like ddsperf is cross compiled for target - # - maybe separate package like cyclonedds_idlc - tc.variables["BUILD_IDLC"] = False + tc.variables["BUILD_IDLC"] = self._has_idlc() tc.variables["BUILD_IDLC_TESTING"] = False tc.variables["BUILD_DDSPERF"] = False tc.variables["BUILD_IDLC_TESTING"] = False @@ -126,12 +130,13 @@ def package(self): copy(self, "LICENSE", 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")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - if self.settings.os == "Windows" and self.options.shared: + rm(self, "*.cmake", os.path.join(self.package_folder, "lib", "cmake", "CycloneDDS")) + copy(self, "CycloneDDS_idlc.cmake", + src=os.path.join(self.source_folder, os.pardir, "cmake"), + dst=os.path.join(self.package_folder, "lib", "cmake", "CycloneDDS")) + if self.settings.os == "Windows": for p in ("*.pdb", "concrt*.dll", "msvcp*.dll", "vcruntime*.dll"): rm(self, p, os.path.join(self.package_folder, "bin")) - else: - rmdir(self, os.path.join(self.package_folder, "bin")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "CycloneDDS") @@ -155,6 +160,17 @@ def package_info(self): "iphlpapi" ] + build_modules = [ + os.path.join("lib", "cmake", "CycloneDDS", "CycloneDDS_idlc.cmake"), + os.path.join("lib", "cmake", "CycloneDDS", "idlc", "Generate.cmake"), + ] + self.cpp_info.set_property("cmake_build_modules", build_modules) + build_dirs = [ + os.path.join(self.package_folder, "lib", "cmake", "CycloneDDS"), + os.path.join(self.package_folder, "lib", "cmake", "CycloneDDS", "idlc"), + ] + self.cpp_info.builddirs = build_dirs + # TODO: to remove in conan v2 self.cpp_info.names["cmake_find_package"] = "CycloneDDS" self.cpp_info.names["cmake_find_package_multi"] = "CycloneDDS" @@ -162,3 +178,13 @@ def package_info(self): self.cpp_info.components["CycloneDDS"].names["cmake_find_package_multi"] = "ddsc" self.cpp_info.components["CycloneDDS"].set_property("cmake_target_name", "CycloneDDS::ddsc") self.cpp_info.components["CycloneDDS"].set_property("pkg_config_name", "CycloneDDS") + if self._has_idlc(): + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + self.buildenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) + self.runenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) + self.cpp_info.components["idl"].libs = ["cycloneddsidl"] + self.cpp_info.components["idl"].names["cmake_find_package"] = "idl" + self.cpp_info.components["idl"].names["cmake_find_package_multi"] = "idl" + self.cpp_info.components["idl"].set_property("cmake_target_name", "CycloneDDS::idl") + self.cpp_info.components["idl"].build_modules["cmake_find_package"] = build_modules + self.cpp_info.components["idl"].build_modules["cmake_find_package_multi"] = build_modules diff --git a/recipes/cyclonedds/all/test_package/CMakeLists.txt b/recipes/cyclonedds/all/test_package/CMakeLists.txt index f30c0b29578a0..c780bdda5e0ab 100644 --- a/recipes/cyclonedds/all/test_package/CMakeLists.txt +++ b/recipes/cyclonedds/all/test_package/CMakeLists.txt @@ -1,8 +1,14 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package C CXX) find_package(CycloneDDS REQUIRED CONFIG) add_executable(test_package test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE CycloneDDS::ddsc) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) + +if(NOT CMAKE_CROSSCOMPILING) + IDLC_GENERATE(TARGET test_message FILES test_message.idl) + add_executable(test_idl test_idl.c) + target_link_libraries(test_idl PRIVATE test_message CycloneDDS::ddsc CycloneDDS::idl) +endif() diff --git a/recipes/cyclonedds/all/test_package/conanfile.py b/recipes/cyclonedds/all/test_package/conanfile.py index 422a7d5c03da2..913d902444f12 100644 --- a/recipes/cyclonedds/all/test_package/conanfile.py +++ b/recipes/cyclonedds/all/test_package/conanfile.py @@ -23,3 +23,5 @@ def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_idl") + self.run(bin_path, env="conanrun") diff --git a/recipes/cyclonedds/all/test_package/test_idl.c b/recipes/cyclonedds/all/test_package/test_idl.c new file mode 100644 index 0000000000000..74667e344bd06 --- /dev/null +++ b/recipes/cyclonedds/all/test_package/test_idl.c @@ -0,0 +1,20 @@ +#include +#include "dds/dds.h" +#include "test_message.h" +#include "idl/string.h" + +int main() { + dds_entity_t participant; + participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL); + if (participant < 0) + DDS_FATAL("dds_create_participant: %s\n", dds_strretcode(-participant)); + + conan_test_message msg; + msg.payload._length = 0; + unsigned int val = idl_isalnum('1'); + + if(!val) + return EXIT_FAILURE; + + return EXIT_SUCCESS; +} diff --git a/recipes/cyclonedds/all/test_package/test_message.idl b/recipes/cyclonedds/all/test_package/test_message.idl new file mode 100644 index 0000000000000..9aceea2e838b4 --- /dev/null +++ b/recipes/cyclonedds/all/test_package/test_message.idl @@ -0,0 +1,6 @@ +module conan { + @final + struct test_message { + sequence payload; + }; +}; From ec2feee672e08a27fc16e19c96128fffacf260b6 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 13 Nov 2023 15:56:17 +0100 Subject: [PATCH 2503/4087] (#21095) [bot] Update authorized users list (2023-11-13) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 00cc9961055cb..da6e1c6820c61 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1261,3 +1261,5 @@ authorized_users: - Kischy - MangaD - fabiorossetto +- Bronek +- agdavydov81 From e5070e62e49cd316b6bb7fd6974ad864bdae3793 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 17:06:42 +0200 Subject: [PATCH 2504/4087] (#19857) llvm-openmp: add versions v13, v14, v15, v16 and v17-rc4 * llvm-openmp: add versions v13, v14, v15, v16 and v17-rc4 * llvm-openmp: disable armv8 Debug builds * llvm-openmp: disable LIBOMPTARGET_LLVM_INCLUDE_DIRS check * llvm-openmp: add build_libomptarget, default to False libomptarget is a relatively advanced library and much more complex to configure and build than libomp. * llvm-openmp: more robust version checks * llvm-openmp: bump v17 * llvm-openmp: fix copying of sources for v14 * llvm-openmp: rmdir lib/cmake --- recipes/llvm-openmp/all/conandata.yml | 72 +++++++++++-- recipes/llvm-openmp/all/conanfile.py | 101 ++++++++++++++---- .../0002-disable-omp-target_12.0.1.patch | 15 --- .../0001-disable-build-testing.patch} | 15 --- .../0001-disable-build-testing.patch} | 15 --- .../0002-fix-armv8-build.patch} | 0 .../0001-disable-build-testing.patch} | 17 +-- .../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 | 13 --- recipes/llvm-openmp/config.yml | 10 ++ 14 files changed, 407 insertions(+), 103 deletions(-) delete mode 100644 recipes/llvm-openmp/all/patches/0002-disable-omp-target_12.0.1.patch rename recipes/llvm-openmp/all/patches/{0001-disable-build-testing_10.0.0.patch => 10/0001-disable-build-testing.patch} (55%) rename recipes/llvm-openmp/all/patches/{0001-disable-build-testing_11.1.0.patch => 11/0001-disable-build-testing.patch} (55%) rename recipes/llvm-openmp/all/patches/{0003-fix-armv8-build_11.1.0.patch => 11/0002-fix-armv8-build.patch} (100%) rename recipes/llvm-openmp/all/patches/{0001-disable-build-testing_12.0.1.patch => 12/0001-disable-build-testing.patch} (58%) 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 rename recipes/llvm-openmp/all/patches/{ => 8}/0001-disable-build-testing.patch (51%) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index eebc958f499eb..c96fd7042c681 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "17.0.4": + openmp: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.4/openmp-17.0.4.src.tar.xz" + sha256: "535cbcca075430cb2d4e54a8062cb9646938170aeb72d359f13183f2a31b701a" + cmake: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.4/cmake-17.0.4.src.tar.xz" + sha256: "1a5cbe4a1fcda56ecdd80f42c3437060a28c97ec31de1748f6ba6aa84948fb0f" + "16.0.6": + openmp: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/openmp-16.0.6.src.tar.xz" + sha256: "a2536f06373774f2829d892b72eea5f97bab20e69b26b03042d947f992eb8e38" + cmake: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/cmake-16.0.6.src.tar.xz" + sha256: "39d342a4161095d2f28fb1253e4585978ac50521117da666e2b1f6f28b62f514" + "15.0.7": + openmp: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/openmp-15.0.7.src.tar.xz" + sha256: "3f168d38e7a37b928dcb94b33ce947f75d81eef6fa6a4f9d16b6dc5511c07358" + cmake: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/cmake-15.0.7.src.tar.xz" + sha256: "8986f29b634fdaa9862eedda78513969fe9788301c9f2d938f4c10a3e7a3e7ea" + "14.0.6": + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/openmp-14.0.6.src.tar.xz" + sha256: "4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f" + "13.0.1": + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/openmp-13.0.1.src.tar.xz" + sha256: "6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f" "12.0.1": url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/openmp-12.0.1.src.tar.xz" sha256: "60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091" @@ -15,15 +42,46 @@ sources: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/openmp-8.0.1.src.tar.xz" sha256: "3e85dd3cad41117b7c89a41de72f2e6aa756ea7b4ef63bb10dcddf8561a7722c" patches: + "17.0.0-rc4": + - 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/0001-disable-build-testing_12.0.1.patch" - - patch_file: "patches/0002-disable-omp-target_12.0.1.patch" + - 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/0001-disable-build-testing_11.1.0.patch" - - patch_file: "patches/0003-fix-armv8-build_11.1.0.patch" + - 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/0001-disable-build-testing_10.0.0.patch" + - 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/0001-disable-build-testing.patch" + - 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/0001-disable-build-testing.patch" + - 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 11666c28d78a0..14e375a798b6c 100644 --- a/recipes/llvm-openmp/all/conanfile.py +++ b/recipes/llvm-openmp/all/conanfile.py @@ -4,8 +4,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, save +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.scm import Version required_conan_version = ">=1.53.0" @@ -21,7 +23,7 @@ class LLVMOpenMpConan(ConanFile): "implementation.") license = "Apache-2.0 WITH LLVM-exception" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/llvm/llvm-project/tree/master/openmp" + homepage = "https://github.com/llvm/llvm-project/blob/main/openmp" topics = ("llvm", "openmp", "parallelism") package_type = "library" @@ -29,18 +31,19 @@ class LLVMOpenMpConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "build_libomptarget": [True, False], } default_options = { "shared": False, "fPIC": True, + "build_libomptarget": False, + } + options_description = { + "build_libomptarget": ( + "Build the LLVM OpenMP Offloading Runtime Library (libomptarget) " + "in addition to the OpenMP Runtime Library (libomp)." + ) } - - def export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC def _supports_compiler(self): supported_compilers_by_os = { @@ -51,40 +54,93 @@ def _supports_compiler(self): the_compiler, the_os = self.settings.compiler.value, self.settings.os.value return the_compiler in supported_compilers_by_os.get(the_os, []) + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "6", + "apple-clang": "10", + } + + @property + def _version_major(self): + return Version(self.version).major + + 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 not self._supports_compiler(): - raise ConanInvalidConfiguration("llvm-openmp doesn't support compiler: {} on OS: {}.". - format(self.settings.compiler, self.settings.os)) + def requirements(self): + if self.options.build_libomptarget and self._version_major >= 13: + self.requires(f"llvm-core/{self.version}") def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if ( - Version(self.version) <= "10.0.0" - and is_apple_os(self) - and self.settings.arch == "armv8" - ): - raise ConanInvalidConfiguration("ARM v8 not supported") + if not self._supports_compiler(): + raise ConanInvalidConfiguration("llvm-openmp doesn't support compiler: " + f"{self.settings.compiler} on OS: {self.settings.os}.") + 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": + # All versions except for v11 crash with a segfault for the simple test_package.cpp test + 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]") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + if self._version_major >= 15: + get(self, **self.conan_data["sources"][self.version]["openmp"], strip_root=True) + get(self, **self.conan_data["sources"][self.version]["cmake"], strip_root=True, destination=self.export_sources_folder) + copy(self, "*.cmake", + src=os.path.join(self.export_sources_folder, "Modules"), + dst=os.path.join(self.source_folder, "cmake")) + elif self._version_major == 14: + # v14 source archives also includes a cmake/ directory in the archive root + get(self, **self.conan_data["sources"][self.version], destination=self.export_sources_folder) + move_folder_contents(self, os.path.join(self.export_sources_folder, f"openmp-{self.version}.src"), self.source_folder) + copy(self, "*.cmake", + src=os.path.join(self.export_sources_folder, "cmake", "Modules"), + dst=os.path.join(self.source_folder, "cmake")) + else: + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() tc = CMakeToolchain(self) tc.variables["OPENMP_STANDALONE_BUILD"] = True tc.variables["LIBOMP_ENABLE_SHARED"] = self.options.shared - if self.settings.os in ["Linux", "FreeBSD"]: - tc.variables["OPENMP_ENABLE_LIBOMPTARGET"] = 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 tc.generate() def _patch_sources(self): apply_conandata_patches(self) - replace_in_file(self,os.path.join(self.source_folder, "runtime", "CMakeLists.txt"), + replace_in_file(self, os.path.join(self.source_folder, "runtime", "CMakeLists.txt"), "add_subdirectory(test)", "") + 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)") def build(self): self._patch_sources() @@ -98,6 +154,7 @@ def package(self): dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) # TODO: to remove in conan v2 once cmake_find_package* generators removed self._create_cmake_module_alias_targets( diff --git a/recipes/llvm-openmp/all/patches/0002-disable-omp-target_12.0.1.patch b/recipes/llvm-openmp/all/patches/0002-disable-omp-target_12.0.1.patch deleted file mode 100644 index cd1c4ba9b8096..0000000000000 --- a/recipes/llvm-openmp/all/patches/0002-disable-omp-target_12.0.1.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/libomptarget/CMakeLists.txt b/libomptarget/CMakeLists.txt -index 6c90ced..629e20a 100644 ---- a/libomptarget/CMakeLists.txt -+++ b/libomptarget/CMakeLists.txt -@@ -30,10 +30,6 @@ include(LibomptargetUtils) - # Get dependencies for the different components of the project. - include(LibomptargetGetDependencies) - --# LLVM source tree is required at build time for libomptarget --if (NOT LIBOMPTARGET_LLVM_INCLUDE_DIRS) -- message(FATAL_ERROR "Missing definition for LIBOMPTARGET_LLVM_INCLUDE_DIRS") --endif() - - # This is a list of all the targets that are supported/tested right now. - set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} aarch64-unknown-linux-gnu") diff --git a/recipes/llvm-openmp/all/patches/0001-disable-build-testing_10.0.0.patch b/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch similarity index 55% rename from recipes/llvm-openmp/all/patches/0001-disable-build-testing_10.0.0.patch rename to recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch index 09c16d7b0bef6..65692e0ed9c15 100644 --- a/recipes/llvm-openmp/all/patches/0001-disable-build-testing_10.0.0.patch +++ b/recipes/llvm-openmp/all/patches/10/0001-disable-build-testing.patch @@ -1,20 +1,5 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt_dum -index 9825183..4b4359b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -21,12 +21,6 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S - # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. - set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}") - -- # Group test settings. -- set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING -- "C compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING -- "C++ compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing.") - else() - set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) - # If building in tree, we honor the same install suffix LLVM uses. @@ -45,14 +39,6 @@ endif() include(config-ix) include(HandleOpenMPOptions) diff --git a/recipes/llvm-openmp/all/patches/0001-disable-build-testing_11.1.0.patch b/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch similarity index 55% rename from recipes/llvm-openmp/all/patches/0001-disable-build-testing_11.1.0.patch rename to recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch index 910ab03dc90e1..dde4403117078 100644 --- a/recipes/llvm-openmp/all/patches/0001-disable-build-testing_11.1.0.patch +++ b/recipes/llvm-openmp/all/patches/11/0001-disable-build-testing.patch @@ -1,20 +1,5 @@ -diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt -index 6f0d9e728002..cf7bd7590f43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -21,12 +21,6 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S - # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. - set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}") - -- # Group test settings. -- set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING -- "C compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING -- "C++ compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing.") - else() - set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) - # If building in tree, we honor the same install suffix LLVM uses. @@ -45,15 +39,6 @@ endif() include(config-ix) include(HandleOpenMPOptions) diff --git a/recipes/llvm-openmp/all/patches/0003-fix-armv8-build_11.1.0.patch b/recipes/llvm-openmp/all/patches/11/0002-fix-armv8-build.patch similarity index 100% rename from recipes/llvm-openmp/all/patches/0003-fix-armv8-build_11.1.0.patch rename to recipes/llvm-openmp/all/patches/11/0002-fix-armv8-build.patch diff --git a/recipes/llvm-openmp/all/patches/0001-disable-build-testing_12.0.1.patch b/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch similarity index 58% rename from recipes/llvm-openmp/all/patches/0001-disable-build-testing_12.0.1.patch rename to recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch index a1716382cf4d8..f455aa8e37168 100644 --- a/recipes/llvm-openmp/all/patches/0001-disable-build-testing_12.0.1.patch +++ b/recipes/llvm-openmp/all/patches/12/0001-disable-build-testing.patch @@ -1,20 +1,5 @@ -diff --git a/CMakeLists_orig.txt b/CMakeLists.txt -index b8a2822..7950dde 100644 ---- a/CMakeLists_orig.txt +--- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -21,12 +21,6 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S - # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. - set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}") - -- # Group test settings. -- set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING -- "C compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING -- "C++ compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing.") - else() - set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) - # If building in tree, we honor the same install suffix LLVM uses. @@ -47,14 +41,6 @@ endif() include(config-ix) include(HandleOpenMPOptions) 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/0001-disable-build-testing.patch b/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch similarity index 51% rename from recipes/llvm-openmp/all/patches/0001-disable-build-testing.patch rename to recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch index 2266bee5e1d73..3215d61a23b9f 100644 --- a/recipes/llvm-openmp/all/patches/0001-disable-build-testing.patch +++ b/recipes/llvm-openmp/all/patches/8/0001-disable-build-testing.patch @@ -2,19 +2,6 @@ diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt index 597eedcec0b..4395761dac4 100644 --- CMakeLists.txt +++ CMakeLists.txt -@@ -21,12 +21,6 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S - # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. - set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}") - -- # Group test settings. -- set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING -- "C compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING -- "C++ compiler to use for testing OpenMP runtime libraries.") -- set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing.") - else() - set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) - # If building in tree, we honor the same install suffix LLVM uses. @@ -45,14 +39,6 @@ endif() include(config-ix) include(HandleOpenMPOptions) diff --git a/recipes/llvm-openmp/config.yml b/recipes/llvm-openmp/config.yml index 5f6a2e2df9402..99c6f0e0e936a 100644 --- a/recipes/llvm-openmp/config.yml +++ b/recipes/llvm-openmp/config.yml @@ -1,4 +1,14 @@ versions: + "17.0.4": + folder: all + "16.0.6": + folder: all + "15.0.7": + folder: all + "14.0.6": + folder: all + "13.0.1": + folder: all "12.0.1": folder: all "11.1.0": From 0659c331a8715800e47f0730d87200e7df760039 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 13 Nov 2023 17:44:51 +0200 Subject: [PATCH 2505/4087] (#19508) libmagic: add new recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libmagic: add new recipe * libmagic: disable Windows builds * libmagic: PkgConfigDeps is not necessary * libmagic: require libtool * libmagic: disable cross-compilation * libmagic: move magic.mgc to res dir * libmagic: add lzip * libmagic: fix_apple_shared_install_name() * Apply suggestions from code review Co-authored-by: Rubén Rincón Blanco * libmagic: fix lzip configuration * libmagic: explicitly pass all dependencies * libmagic: update URL Co-authored-by: Jordan Williams * libmagic: fix tags Co-authored-by: Jordan Williams * libmagic: add cross-building support * libmagic: use the main source * libmagic: need lzlib, which is not available on CCI --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Jordan Williams --- recipes/libmagic/all/conandata.yml | 4 + recipes/libmagic/all/conanfile.py | 102 ++++++++++++++++++ .../libmagic/all/test_package/CMakeLists.txt | 7 ++ .../libmagic/all/test_package/conanfile.py | 27 +++++ .../libmagic/all/test_package/test_package.c | 31 ++++++ recipes/libmagic/config.yml | 3 + 6 files changed, 174 insertions(+) create mode 100644 recipes/libmagic/all/conandata.yml create mode 100644 recipes/libmagic/all/conanfile.py create mode 100644 recipes/libmagic/all/test_package/CMakeLists.txt create mode 100644 recipes/libmagic/all/test_package/conanfile.py create mode 100644 recipes/libmagic/all/test_package/test_package.c create mode 100644 recipes/libmagic/config.yml diff --git a/recipes/libmagic/all/conandata.yml b/recipes/libmagic/all/conandata.yml new file mode 100644 index 0000000000000..f585a96bf81ba --- /dev/null +++ b/recipes/libmagic/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "5.45": + url: "http://ftp.astron.com/pub/file/file-5.45.tar.gz" + sha256: "fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82" diff --git a/recipes/libmagic/all/conanfile.py b/recipes/libmagic/all/conanfile.py new file mode 100644 index 0000000000000..6d0843dc3f3f3 --- /dev/null +++ b/recipes/libmagic/all/conanfile.py @@ -0,0 +1,102 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rm, rmdir, rename +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + +class LibmagicConan(ConanFile): + name = "libmagic" + description = "Magic number recognition library - detect files with data in particular fixed formats." + license = "DocumentRef-COPYING:LicenseRef-BSD-2-Clause-File" # Modified BSD 2-Clause that states no restrictions on US export + homepage = "https://www.darwinsys.com/file/" + url = "https://github.com/conan-io/conan-center-index" + topics = "file", "format", "magic" + + 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") + 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("bzip2/1.0.8") + self.requires("xz_utils/5.4.4") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("zstd/1.5.5") + # TODO: Add lzlib recipe + # self.requires("lzlib/1.13") + + def validate(self): + if self.settings.os == "Windows": + raise ConanInvalidConfiguration("Windows is not supported yet") + + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + if cross_building(self): + self.tool_requires(str(self.ref)) + + 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) + # Set from 'auto' to explicitly enabled + tc.configure_args.append(f"--enable-bzlib={self.dependencies['bzip2'].package_folder}") + tc.configure_args.append(f"--enable-xzlib={self.dependencies['xz_utils'].package_folder}") + tc.configure_args.append(f"--enable-zlib={self.dependencies['zlib'].package_folder}") + tc.configure_args.append(f"--enable-zstdlib={self.dependencies['zstd'].package_folder}") + tc.configure_args.append(f"--disable-lzlib") + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() + + def package(self): + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + autotools = Autotools(self) + autotools.install() + fix_apple_shared_install_name(self) + rename(self, os.path.join(self.package_folder, "share", "misc"), + os.path.join(self.package_folder, "res")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "libmagic") + self.cpp_info.libs = ["magic"] + self.runenv_info.define_path("MAGIC", os.path.join(self.package_folder, "res", "magic.mgc")) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/libmagic/all/test_package/CMakeLists.txt b/recipes/libmagic/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c8e4d0491b35e --- /dev/null +++ b/recipes/libmagic/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package C) + +find_package(libmagic REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libmagic::libmagic) diff --git a/recipes/libmagic/all/test_package/conanfile.py b/recipes/libmagic/all/test_package/conanfile.py new file mode 100644 index 0000000000000..fafe4ac251f83 --- /dev/null +++ b/recipes/libmagic/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 + + +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, run=True) + + 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("file --version", env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libmagic/all/test_package/test_package.c b/recipes/libmagic/all/test_package/test_package.c new file mode 100644 index 0000000000000..64afba96e3118 --- /dev/null +++ b/recipes/libmagic/all/test_package/test_package.c @@ -0,0 +1,31 @@ +#include + +#include +#include + +int main(int argc, char **argv) +{ + const char *magic_full; + magic_t magic_cookie; + + magic_cookie = magic_open(MAGIC_MIME); + + if (magic_cookie == NULL) { + printf("unable to initialize magic library\n"); + return 1; + } + + char *mgc_path = getenv("MAGIC"); + printf("Loading default magic database from %s\n", mgc_path); + + if (magic_load(magic_cookie, NULL) != 0) { + printf("cannot load magic database - %s\n", magic_error(magic_cookie)); + magic_close(magic_cookie); + return 1; + } + + magic_full = magic_file(magic_cookie, argv[0]); + printf("%s\n", magic_full); + magic_close(magic_cookie); + return 0; +} diff --git a/recipes/libmagic/config.yml b/recipes/libmagic/config.yml new file mode 100644 index 0000000000000..6655b3c6cb852 --- /dev/null +++ b/recipes/libmagic/config.yml @@ -0,0 +1,3 @@ +versions: + "5.45": + folder: all From 5a5eae07ab274885ce5b5230ea88ea411ba134f8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 01:07:50 +0900 Subject: [PATCH 2506/4087] (#19769) libcurl: add version 8.4.0 (fix CVE-2023-38545) * libcurl: add version 8.3.0 * disable HAVE_SSL_SET0_WBIO on 8.3.0 * update 8.4.0 * enable CurlSymbolHiding in 8.4.0 * fix other `check_symbol_exists` issues --- recipes/libcurl/all/conandata.yml | 3 +++ recipes/libcurl/all/conanfile.py | 14 +++++++++++--- recipes/libcurl/config.yml | 2 ++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index df4b2442214e4..372042901c2cc 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.4.0": + url: "https://curl.se/download/curl-8.4.0.tar.gz" + sha256: "816e41809c043ff285e8c0f06a75a1fa250211bbfb2dc0a037eeef39f1a9e427" "8.2.1": url: - "https://curl.se/download/curl-8.2.1.tar.xz" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 2d7615fa13540..f900348955a32 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -303,7 +303,7 @@ def _patch_autotools(self): "AC_CHECK_LIB(z,", f"AC_CHECK_LIB({zlib_name},") replace_in_file(self, configure_ac, - "-lz ", + "-lz", f"-l{zlib_name} ") if self._is_mingw and self.options.shared: @@ -330,8 +330,9 @@ def _patch_cmake(self): return cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") # TODO: check this patch, it's suspicious - replace_in_file(self, cmakelists, - "include(CurlSymbolHiding)", "") + if Version(self.version) < "8.4.0": + replace_in_file(self, cmakelists, + "include(CurlSymbolHiding)", "") # brotli if Version(self.version) < "8.2.0": @@ -624,6 +625,13 @@ def _generate_with_cmake(self): tc.cache_variables["CURL_CA_FALLBACK"] = self.options.with_ca_fallback + # TODO: remove this when https://github.com/conan-io/conan/issues/12180 will be fixed. + if Version(self.version) >= "8.3.0": + tc.variables["HAVE_SSL_SET0_WBIO"] = False + if Version(self.version) >= "8.4.0": + tc.variables["HAVE_OPENSSL_SRP"] = True + tc.variables["HAVE_SSL_CTX_SET_QUIC_METHOD"] = True + tc.generate() deps = CMakeDeps(self) diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 91b7536f966b4..3f099810578c8 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.4.0": + folder: all "8.2.1": folder: all "8.2.0": From 71d0fbdecf900c23f9633a5010ef8a79b6b128fa Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 13 Nov 2023 20:50:38 +0300 Subject: [PATCH 2507/4087] (#19823) sdl_net: add package_type + bump sdl + fix transitive_headers of sdl * bump sdl * add package_type * add transitive_headers to sdl dependency * link to sdl in test package since it's a direct dependency of test_package.c * typo * simplify souce() --- recipes/sdl_net/all/conanfile.py | 8 ++++---- recipes/sdl_net/all/test_package/CMakeLists.txt | 3 ++- recipes/sdl_net/all/test_package/conanfile.py | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/recipes/sdl_net/all/conanfile.py b/recipes/sdl_net/all/conanfile.py index c899c658f21bc..ce2f6091ea9cd 100644 --- a/recipes/sdl_net/all/conanfile.py +++ b/recipes/sdl_net/all/conanfile.py @@ -15,7 +15,7 @@ class SdlnetConan(ConanFile): topics = ("sdl2", "sdl2_net", "sdl", "sdl_net", "net", "networking") homepage = "https://www.libsdl.org/projects/SDL_net" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -42,15 +42,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("sdl/2.26.0") + # SDL_net.h includes SDL.h, SDL_endian.h and SDL_version.h + self.requires("sdl/2.28.2", transitive_headers=True) def validate(self): if Version(self.version).major != Version(self.dependencies["sdl"].ref.version).major: raise ConanInvalidConfiguration(f"The major versions of {self.name} and sdl must be the same") 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/sdl_net/all/test_package/CMakeLists.txt b/recipes/sdl_net/all/test_package/CMakeLists.txt index 2337a1a3efdef..221605e46a6cf 100644 --- a/recipes/sdl_net/all/test_package/CMakeLists.txt +++ b/recipes/sdl_net/all/test_package/CMakeLists.txt @@ -1,7 +1,8 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) +find_package(SDL2 REQUIRED CONFIG) find_package(SDL2_net REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net) +target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2 SDL2_net::SDL2_net) diff --git a/recipes/sdl_net/all/test_package/conanfile.py b/recipes/sdl_net/all/test_package/conanfile.py index 744f9cf00c80f..3a507f665d331 100644 --- a/recipes/sdl_net/all/test_package/conanfile.py +++ b/recipes/sdl_net/all/test_package/conanfile.py @@ -14,6 +14,7 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + self.requires("sdl/2.28.2") def build(self): cmake = CMake(self) From a59115d1d7cc4d1063d1aa353decb774c459081f Mon Sep 17 00:00:00 2001 From: Matthias Schneider Date: Mon, 13 Nov 2023 19:46:53 +0100 Subject: [PATCH 2508/4087] (#20588) fast-cdr: add version 2.0.0 * fast-cdr: add version 2.0.0 * Backport patch for 2.0.0 to allow compilation with gcc 5. * Fix warning due to missing system dependency to libm. * Improve description of patch required for non-CWG 1270 revision compliant compilers. --- recipes/fast-cdr/all/conandata.yml | 9 +++++ recipes/fast-cdr/all/conanfile.py | 9 ++++- ...1270-revision-compliant-compilers-17.patch | 33 +++++++++++++++++++ .../all/test_package/test_package.cpp | 9 ++++- recipes/fast-cdr/config.yml | 2 ++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 recipes/fast-cdr/all/patches/2.0.0-0001-Fix-for-non-CWG-1270-revision-compliant-compilers-17.patch diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index 48019c99a1647..ab77bae161d30 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/eProsima/Fast-CDR/archive/v2.0.0.tar.gz" + sha256: "66234a5504879f7af706530996177df930d61dd88045dcafb73799458413ee93" "1.1.0": url: "https://github.com/eProsima/Fast-CDR/archive/v1.1.0.tar.gz" sha256: "5c4b2ad5493abd30b9475b14856641a8944c98077a36bd0760c1d83c65216e67" @@ -20,3 +23,9 @@ sources: "1.0.21": url: "https://github.com/eProsima/Fast-CDR/archive/refs/tags/v1.0.21.tar.gz" sha256: "C1F32BDD76910ADA00D551EB8828DE7561AD2B2846D063CB4316F9262C03C77D" +patches: + "2.0.0": + - patch_file: "patches/2.0.0-0001-Fix-for-non-CWG-1270-revision-compliant-compilers-17.patch" + patch_type: "portability" + patch_description: "Fix for non CWG 1270 revision compliant compilers" + patch_source: "https://github.com/eProsima/Fast-CDR/pull/173" diff --git a/recipes/fast-cdr/all/conanfile.py b/recipes/fast-cdr/all/conanfile.py index 29f8a4528ad1d..be8d79ee8f187 100644 --- a/recipes/fast-cdr/all/conanfile.py +++ b/recipes/fast-cdr/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rm, rmdir, save +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os @@ -30,6 +30,9 @@ class FastCDRConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -64,6 +67,7 @@ def generate(self): tc.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -105,6 +109,9 @@ def package_info(self): if self.settings.os == "Windows" and self.options.shared: self.cpp_info.defines.append("FASTCDR_DYN_LINK") + if self.settings.os in ["Linux"]: + self.cpp_info.system_libs.append("m") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "fastcdr" self.cpp_info.names["cmake_find_package_multi"] = "fastcdr" diff --git a/recipes/fast-cdr/all/patches/2.0.0-0001-Fix-for-non-CWG-1270-revision-compliant-compilers-17.patch b/recipes/fast-cdr/all/patches/2.0.0-0001-Fix-for-non-CWG-1270-revision-compliant-compilers-17.patch new file mode 100644 index 0000000000000..40b2a62ac988a --- /dev/null +++ b/recipes/fast-cdr/all/patches/2.0.0-0001-Fix-for-non-CWG-1270-revision-compliant-compilers-17.patch @@ -0,0 +1,33 @@ +From fe9a125ba5809fc1f7aa5799d4285392e837f35e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Utkan=20K=C4=B1l=C4=B1=C3=A7?= + <65946928+utkankilic@users.noreply.github.com> +Date: Wed, 25 Oct 2023 08:33:08 +0300 +Subject: [PATCH] Fix for non CWG 1270 revision compliant compilers (#173) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Utkan Kılıç utkankilic@gmail.com + +Signed-off-by: utkan.kilic +Co-authored-by: utkan.kilic +--- + include/fastcdr/Cdr.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/fastcdr/Cdr.h b/include/fastcdr/Cdr.h +index 254cd08..9d08820 100644 +--- a/include/fastcdr/Cdr.h ++++ b/include/fastcdr/Cdr.h +@@ -3263,7 +3263,7 @@ private: + EncodingAlgorithmFlag current_encoding_ {EncodingAlgorithmFlag::PLAIN_CDR2}; + + //! @brief This attribute stores the option flags when the CDR type is DDS_CDR; +- std::array options_ {0}; ++ std::array options_{{0}}; + + //! @brief The endianness that will be applied over the buffer. + uint8_t endianness_ {Endianness::LITTLE_ENDIANNESS}; +-- +2.34.1 + diff --git a/recipes/fast-cdr/all/test_package/test_package.cpp b/recipes/fast-cdr/all/test_package/test_package.cpp index 3a437b366c3c4..f7a2f9396b6e8 100644 --- a/recipes/fast-cdr/all/test_package/test_package.cpp +++ b/recipes/fast-cdr/all/test_package/test_package.cpp @@ -61,14 +61,21 @@ int main() // Serialization. FastBuffer cdrbuffer(buffer, BUFFER_LENGTH); Cdr cdr_ser(cdrbuffer); +#if FASTCDR_VERSION_MAJOR >=2 + cdr_ser.serialize_sequence(char_seq_t, 5); +#else cdr_ser.serializeSequence(char_seq_t, 5); +#endif // Deserialization. Cdr cdr_des(cdrbuffer); char* char_seq_value = NULL; size_t char_seq_len = 0; - +#if FASTCDR_VERSION_MAJOR >=2 + cdr_des.deserialize_sequence(char_seq_value, char_seq_len); +#else cdr_des.deserializeSequence(char_seq_value, char_seq_len); +#endif return 0; } diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index c67335370b9c4..6bee921fe6e28 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "1.1.0": folder: all "1.0.27": From 8beaf14b31f1639c3e1fd31d96a506c06d01cd41 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:26:49 -0500 Subject: [PATCH 2509/4087] (#20844) libassert: add 1.2.1 * Try to add libassert 1.2.1 * Fix * Fix * Fix * Fix custom command to copy cpptrace.dll on windows * Remove commented lines * Linter warning * merge back into all/ * Fix version access * V1 fix * Cleanup for generate() Co-authored-by: Carlos Zoido * Set include directories and fix patch * Fix * some improvements * remove CONAN_ASSERT_ASSERT_ASSERT * fix line ending --------- Co-authored-by: Carlos Zoido --- recipes/libassert/all/conandata.yml | 8 ++++ recipes/libassert/all/conanfile.py | 47 ++++++++++++++----- .../1.2.1/0001-cpptrace-dll-copy.patch | 13 +++++ .../libassert/all/test_package/conanfile.py | 8 +--- .../all/test_package/test_package.cpp | 2 +- .../all/test_v1_package/conanfile.py | 4 -- recipes/libassert/config.yml | 2 + 7 files changed, 61 insertions(+), 23 deletions(-) create mode 100644 recipes/libassert/all/patches/1.2.1/0001-cpptrace-dll-copy.patch diff --git a/recipes/libassert/all/conandata.yml b/recipes/libassert/all/conandata.yml index ce3617941de3e..d4b509c40e9c9 100644 --- a/recipes/libassert/all/conandata.yml +++ b/recipes/libassert/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "1.2.1": + url: + - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.2.1.tar.gz" + sha256: "58538368751d59f2fc756046eaa4cc926b994ba930f1889d770106c9a1db3425" "1.1": url: - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.1.tar.gz" @@ -10,6 +14,10 @@ sources: sha256: "e1bb3b50767994ca4d0f60b7977b279cf32b8569ff92c5830e7a1de567b82fd5" patches: + "1.2.1": + - patch_file: "patches/1.2.1/0001-cpptrace-dll-copy.patch" + patch_type: "conan" + patch_description: "Disable custom command to copy cpptrace.dll on windows" "1.1": - patch_file: "patches/1.1/0001-fix-max_line_number_width-miscalculation.patch" patch_type: "bugfix" diff --git a/recipes/libassert/all/conanfile.py b/recipes/libassert/all/conanfile.py index 8b59411a354b3..6f1972a5ee404 100644 --- a/recipes/libassert/all/conanfile.py +++ b/recipes/libassert/all/conanfile.py @@ -4,15 +4,13 @@ from conan.tools.files import get, copy, rm, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches import os - required_conan_version = ">=1.53.0" - -class LibAssertConan(ConanFile): +class LibassertConan(ConanFile): name = "libassert" description = "The most over-engineered and overpowered C++ assertion library." license = "MIT" @@ -53,6 +51,10 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if Version(self.version) >= Version("1.2.1"): + self.requires("cpptrace/0.2.1") + def validate(self): if self.settings.compiler == "apple-clang": raise ConanInvalidConfiguration("apple-clang not supported") @@ -73,11 +75,19 @@ def export_sources(self): export_conandata_patches(self) def generate(self): - toolchain = CMakeToolchain(self) + tc = CMakeToolchain(self) + if is_msvc(self): - toolchain.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + + if Version(self.version) >= Version("1.2.1"): + if not self.options.shared: + tc.variables["ASSERT_STATIC"] = True + tc.variables["ASSERT_USE_EXTERNAL_CPPTRACE"] = True + deps = CMakeDeps(self) + deps.generate() - toolchain.generate() + tc.generate() def build(self): apply_conandata_patches(self) @@ -92,6 +102,15 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() + + 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")) @@ -105,6 +124,10 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "assert") self.cpp_info.set_property("cmake_target_name", "assert::assert") + + # the first version of this library used assert/assert as include folder + # appending this one but not removing the default to not break consumers + self.cpp_info.includedirs.append(os.path.join("include", "assert")) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "assert" @@ -112,7 +135,9 @@ def package_info(self): self.cpp_info.names["cmake_find_package"] = "assert" self.cpp_info.names["cmake_find_package_multi"] = "assert" - if self.settings.os == "Linux": - self.cpp_info.system_libs.append("dl") - if self.settings.os == "Windows": - self.cpp_info.system_libs.append("dbghelp") + if Version(self.version) < Version("1.2.1"): + # pre-cpptrace + if self.settings.os == "Linux": + self.cpp_info.system_libs.append("dl") + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("dbghelp") diff --git a/recipes/libassert/all/patches/1.2.1/0001-cpptrace-dll-copy.patch b/recipes/libassert/all/patches/1.2.1/0001-cpptrace-dll-copy.patch new file mode 100644 index 0000000000000..feca84df9664e --- /dev/null +++ b/recipes/libassert/all/patches/1.2.1/0001-cpptrace-dll-copy.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce5dbcf..085a1aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -161,7 +161,7 @@ + + # Don't run tests when library is used with add_subdirectory + if(PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) +- if(WIN32) ++ if(0) + add_custom_command( + TARGET assert POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/recipes/libassert/all/test_package/conanfile.py b/recipes/libassert/all/test_package/conanfile.py index 32641e4d3c230..f5cf204295e19 100644 --- a/recipes/libassert/all/test_package/conanfile.py +++ b/recipes/libassert/all/test_package/conanfile.py @@ -1,10 +1,8 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake -from conan.tools.files import copy import os - class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" @@ -16,10 +14,6 @@ def requirements(self): def layout(self): cmake_layout(self) - def generate(self): - for dep in self.dependencies.values(): - copy(self, "*.dll", dep.cpp_info.libdirs[0], self.build_folder) - def build(self): cmake = CMake(self) cmake.configure() @@ -27,5 +21,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/libassert/all/test_package/test_package.cpp b/recipes/libassert/all/test_package/test_package.cpp index 4bd48fe4effaa..751d401023f78 100644 --- a/recipes/libassert/all/test_package/test_package.cpp +++ b/recipes/libassert/all/test_package/test_package.cpp @@ -1,6 +1,6 @@ #include #include -#include +#include int main(void) { std::cout << "Testing libassert\n"; diff --git a/recipes/libassert/all/test_v1_package/conanfile.py b/recipes/libassert/all/test_v1_package/conanfile.py index 74182229a4469..7e264aad8e8ec 100644 --- a/recipes/libassert/all/test_v1_package/conanfile.py +++ b/recipes/libassert/all/test_v1_package/conanfile.py @@ -2,7 +2,6 @@ from conan.tools.build import cross_building import os - # legacy validation with Conan 1.x class TestPackageV1Conan(ConanFile): settings = "os", "arch", "compiler", "build_type" @@ -13,9 +12,6 @@ def build(self): cmake.configure() cmake.build() - def imports(self): - self.copy("*.dll", dst="bin", src="lib") - def test(self): if not cross_building(self): bin_path = os.path.join("bin", "test_package") diff --git a/recipes/libassert/config.yml b/recipes/libassert/config.yml index b0be8446640a5..9e967f0ed7597 100644 --- a/recipes/libassert/config.yml +++ b/recipes/libassert/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "1.2.1": + folder: all "1.1": folder: all "1.0": From be5766e4a4f6eea9072c883d8e06d5d8e9873c43 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 13 Nov 2023 20:47:16 +0100 Subject: [PATCH 2510/4087] (#20850) openexr: Add some missing #include definitions for newer gcc * Add some missing #include definitions for newer gcc * Add missing newline * Fix missing system library info * Revert "Fix missing system library info" This reverts commit 1de0bf166b36a067c76f795338c6a2235b11783c. * Add latest version 2 release (2.5.9) with upstream fix for gcc 13 * Add missing version to config.yml * Add patch_source and change patch_type --- recipes/openexr/2.x/conandata.yml | 34 +++++++++++++++++ recipes/openexr/2.x/conanfile.py | 7 +++- .../patches/2.4.0-0001-cstdint-include.patch | 37 +++++++++++++++++++ .../patches/2.5.4-0001-cstdint-include.patch | 37 +++++++++++++++++++ .../patches/2.5.7-0001-cstdint-include.patch | 37 +++++++++++++++++++ recipes/openexr/config.yml | 2 + 6 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 recipes/openexr/2.x/patches/2.4.0-0001-cstdint-include.patch create mode 100644 recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch create mode 100644 recipes/openexr/2.x/patches/2.5.7-0001-cstdint-include.patch diff --git a/recipes/openexr/2.x/conandata.yml b/recipes/openexr/2.x/conandata.yml index 95068ca05e4d4..6cbbea809703f 100644 --- a/recipes/openexr/2.x/conandata.yml +++ b/recipes/openexr/2.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.9": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.9.tar.gz" + sha256: "05bb9c2da3ff3508eee51c30f59c7f2c59bf068f3b636d12d5991e8bbaf13e01" "2.5.7": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.7.tar.gz" sha256: "36ecb2290cba6fc92b2ec9357f8dc0e364b4f9a90d727bf9a57c84760695272d" @@ -17,3 +20,34 @@ sources: "2.4.0": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.4.0.tar.gz" sha256: "4904c5ea7914a58f60a5e2fbc397be67e7a25c380d7d07c1c31a3eefff1c92f1" +patches: + "2.5.7": + - patch_file: "patches/2.5.7-0001-cstdint-include.patch" + patch_description: "Add #include as required by newer gcc versions" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" + "2.5.5": + - patch_file: "patches/2.5.7-0001-cstdint-include.patch" + patch_description: "Add #include as required by newer gcc versions" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" + "2.5.4": + - patch_file: "patches/2.5.4-0001-cstdint-include.patch" + patch_description: "Add #include as required by newer gcc versions" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" + "2.5.3": + - patch_file: "patches/2.5.4-0001-cstdint-include.patch" + patch_description: "Add #include as required by newer gcc versions" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" + "2.5.2": + - patch_file: "patches/2.5.4-0001-cstdint-include.patch" + patch_description: "Add #include as required by newer gcc versions" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" + "2.4.0": + - patch_file: "patches/2.4.0-0001-cstdint-include.patch" + patch_description: "Add #include as required by newer gcc versions" + patch_type: "portability" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" diff --git a/recipes/openexr/2.x/conanfile.py b/recipes/openexr/2.x/conanfile.py index b23f21238a92e..564b19b00cd64 100644 --- a/recipes/openexr/2.x/conanfile.py +++ b/recipes/openexr/2.x/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building, stdcpp_library from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.scm import Version import os import textwrap @@ -29,6 +29,9 @@ class OpenEXRConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -69,6 +72,8 @@ def generate(self): cd.generate() def _patch_sources(self): + apply_conandata_patches(self) + pkg_version = Version(self.version) if pkg_version < "2.5.2" and self.settings.os == "Windows": # This fixes symlink creation on Windows. diff --git a/recipes/openexr/2.x/patches/2.4.0-0001-cstdint-include.patch b/recipes/openexr/2.x/patches/2.4.0-0001-cstdint-include.patch new file mode 100644 index 0000000000000..3f4c78fc6bea5 --- /dev/null +++ b/recipes/openexr/2.x/patches/2.4.0-0001-cstdint-include.patch @@ -0,0 +1,37 @@ +diff --git OpenEXR/IlmImf/ImfDwaCompressor.cpp OpenEXR/IlmImf/ImfDwaCompressor.cpp +index 59d1d5d..585a3e6 100644 +--- OpenEXR/IlmImf/ImfDwaCompressor.cpp ++++ OpenEXR/IlmImf/ImfDwaCompressor.cpp +@@ -158,6 +158,7 @@ + #include + #include + #include ++#include + + // Windows specific addition to prevent the indirect import of the redefined min/max macros + #if defined _WIN32 || defined _WIN64 +diff --git OpenEXR/IlmImf/ImfHuf.cpp OpenEXR/IlmImf/ImfHuf.cpp +index 271849b..165fac5 100644 +--- OpenEXR/IlmImf/ImfHuf.cpp ++++ OpenEXR/IlmImf/ImfHuf.cpp +@@ -53,6 +53,7 @@ + #include + #include + #include ++#include + + + using namespace std; +diff --git OpenEXR/IlmImf/ImfMisc.cpp OpenEXR/IlmImf/ImfMisc.cpp +index d2c8478..0451a33 100644 +--- OpenEXR/IlmImf/ImfMisc.cpp ++++ OpenEXR/IlmImf/ImfMisc.cpp +@@ -54,6 +54,8 @@ + #include + #include "ImfNamespace.h" + ++#include ++ + OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER + + using IMATH_NAMESPACE::Box2i; diff --git a/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch b/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch new file mode 100644 index 0000000000000..a30277a2740a5 --- /dev/null +++ b/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch @@ -0,0 +1,37 @@ +diff --git OpenEXR/IlmImf/ImfDwaCompressor.cpp OpenEXR/IlmImf/ImfDwaCompressor.cpp +index 59d1d5d..585a3e6 100644 +--- OpenEXR/IlmImf/ImfDwaCompressor.cpp ++++ OpenEXR/IlmImf/ImfDwaCompressor.cpp +@@ -158,6 +158,7 @@ + #include + + #include ++#include + + + // Windows specific addition to prevent the indirect import of the redefined min/max macros +diff --git OpenEXR/IlmImf/ImfHuf.cpp OpenEXR/IlmImf/ImfHuf.cpp +index 271849b..165fac5 100644 +--- OpenEXR/IlmImf/ImfHuf.cpp ++++ OpenEXR/IlmImf/ImfHuf.cpp +@@ -53,6 +53,7 @@ + #include + #include + #include ++#include + + + using namespace std; +diff --git OpenEXR/IlmImf/ImfMisc.cpp OpenEXR/IlmImf/ImfMisc.cpp +index d2c8478..0451a33 100644 +--- OpenEXR/IlmImf/ImfMisc.cpp ++++ OpenEXR/IlmImf/ImfMisc.cpp +@@ -54,6 +54,8 @@ + #include + #include "ImfNamespace.h" + ++#include ++ + OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER + + using IMATH_NAMESPACE::Box2i; diff --git a/recipes/openexr/2.x/patches/2.5.7-0001-cstdint-include.patch b/recipes/openexr/2.x/patches/2.5.7-0001-cstdint-include.patch new file mode 100644 index 0000000000000..64f13c78d3ce8 --- /dev/null +++ b/recipes/openexr/2.x/patches/2.5.7-0001-cstdint-include.patch @@ -0,0 +1,37 @@ +diff --git OpenEXR/IlmImf/ImfDwaCompressor.cpp OpenEXR/IlmImf/ImfDwaCompressor.cpp +index 59d1d5d..585a3e6 100644 +--- OpenEXR/IlmImf/ImfDwaCompressor.cpp ++++ OpenEXR/IlmImf/ImfDwaCompressor.cpp +@@ -159,6 +159,7 @@ + #include + + #include ++#include + + + // Windows specific addition to prevent the indirect import of the redefined min/max macros +diff --git OpenEXR/IlmImf/ImfHuf.cpp OpenEXR/IlmImf/ImfHuf.cpp +index 271849b..165fac5 100644 +--- OpenEXR/IlmImf/ImfHuf.cpp ++++ OpenEXR/IlmImf/ImfHuf.cpp +@@ -53,6 +53,7 @@ + #include + #include + #include ++#include + + + using namespace std; +diff --git OpenEXR/IlmImf/ImfMisc.cpp OpenEXR/IlmImf/ImfMisc.cpp +index d2c8478..0451a33 100644 +--- OpenEXR/IlmImf/ImfMisc.cpp ++++ OpenEXR/IlmImf/ImfMisc.cpp +@@ -54,6 +54,8 @@ + #include + #include "ImfNamespace.h" + ++#include ++ + OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER + + using IMATH_NAMESPACE::Box2i; diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index 60f47136f648e..c5e2b53e89f02 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -7,6 +7,8 @@ versions: folder: "3.x" "3.1.5": folder: "3.x" + "2.5.9": + folder: "2.x" "2.5.7": folder: "2.x" "2.5.5": From a841b582014179fa9ded3eddde428ee5fd121361 Mon Sep 17 00:00:00 2001 From: sean <43609023+spnda@users.noreply.github.com> Date: Mon, 13 Nov 2023 21:27:16 +0100 Subject: [PATCH 2511/4087] (#20866) fastgltf: Update to 0.6.1 * fastgltf: Update to 0.6.0 * Switch to 0.6.1 * Fix options for older package versions --- recipes/fastgltf/all/conandata.yml | 8 ++++++++ recipes/fastgltf/all/conanfile.py | 14 +++++++++++++- .../patches/0.6.1-0001-find_package-simdjson.patch | 13 +++++++++++++ recipes/fastgltf/config.yml | 2 ++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 recipes/fastgltf/all/patches/0.6.1-0001-find_package-simdjson.patch diff --git a/recipes/fastgltf/all/conandata.yml b/recipes/fastgltf/all/conandata.yml index 04bdef83a98c4..7785359a1abd0 100644 --- a/recipes/fastgltf/all/conandata.yml +++ b/recipes/fastgltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.1": + url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.6.1.tar.gz" + sha256: "5f10b153ec941f5e6465425f542d3864f586aca040b0b659cb9ae70d42369390" "0.5.0": url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.5.0.tar.gz" sha256: "f67558da009bfd1174b3f32606c41c20fe6fbcb70fc516e9f7bf0f63c06e87ff" @@ -6,6 +9,11 @@ sources: url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.4.0.tar.gz" sha256: "77debe12acb6b498ea77306ce64277cedb14ad803b461ea677a61bc604bb59b5" patches: + "0.6.1": + - patch_file: "patches/0.6.1-0001-find_package-simdjson.patch" + patch_description: "find_package simdjson" + patch_type: "conan" + patch_source: "https://github.com/spnda/fastgltf/issues/22" "0.5.0": - patch_file: "patches/0.5.0-0001-find_package-simdjson.patch" patch_description: "find_package simdjson" diff --git a/recipes/fastgltf/all/conanfile.py b/recipes/fastgltf/all/conanfile.py index 133ac9360d184..9eda29e2b49eb 100644 --- a/recipes/fastgltf/all/conanfile.py +++ b/recipes/fastgltf/all/conanfile.py @@ -12,7 +12,7 @@ class fastgltf(ConanFile): name = "fastgltf" - description = "A blazing fast C++17 glTF 2.0 library powered by SIMD." + description = "A modern C++17 glTF 2.0 library focused on speed, correctness, and usability" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/spnda/fastgltf" @@ -23,11 +23,15 @@ class fastgltf(ConanFile): "shared": [True, False], "fPIC": [True, False], "enable_small_vector": [True, False], + "disable_custom_memory_pool": [True, False], + "use_64bit_float": [True, False], } default_options = { "shared": False, "fPIC": True, "enable_small_vector": False, + "disable_custom_memory_pool": False, + "use_64bit_float": False, } @property @@ -51,6 +55,10 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) <= "0.6.0": + del self.options.disable_custom_memory_pool + del self.options.use_64bit_float + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -78,6 +86,10 @@ def generate(self): tc.variables["FASTGLTF_DOWNLOAD_SIMDJSON"] = False if self.options.enable_small_vector: tc.variables["FASTGLTF_USE_SMALL_VECTOR"] = True + if self.options.get_safe("disable_custom_memory_pool"): + tc.variables["FASTGLTF_DISABLE_CUSTOM_MEMORY_POOL"] = True + if self.options.get_safe("use_64bit_float"): + tc.variables["FASTGLTF_USE_64BIT_FLOAT"] = True tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/fastgltf/all/patches/0.6.1-0001-find_package-simdjson.patch b/recipes/fastgltf/all/patches/0.6.1-0001-find_package-simdjson.patch new file mode 100644 index 0000000000000..d3ad49785a09a --- /dev/null +++ b/recipes/fastgltf/all/patches/0.6.1-0001-find_package-simdjson.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 250ee84..1877f54 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -79,6 +79,8 @@ if (FASTGLTF_DOWNLOAD_SIMDJSON) + NAMESPACE fastgltf:: + DESTINATION lib/cmake/fastgltf + ) ++else() ++ find_package(simdjson CONFIG REQUIRED) + endif() + + # Create the library target diff --git a/recipes/fastgltf/config.yml b/recipes/fastgltf/config.yml index d13fcfd021b7b..355c180a5e90b 100644 --- a/recipes/fastgltf/config.yml +++ b/recipes/fastgltf/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.1": + folder: all "0.5.0": folder: all "0.4.0": From e09acddad2c80b3e94d7cb16fcbc1636bd69c21a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 05:47:46 +0900 Subject: [PATCH 2512/4087] (#20956) scnlib: add version 1.1.3 --- recipes/scnlib/all/conandata.yml | 13 +++++++++++ .../1.1.3-0001-install-dll-windows.patch | 12 ++++++++++ ...1.1.3-0002-remove-header-only-target.patch | 20 +++++++++++++++++ .../patches/1.1.3-0003-fix-link-keyword.patch | 22 +++++++++++++++++++ recipes/scnlib/config.yml | 2 ++ 5 files changed, 69 insertions(+) create mode 100644 recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch create mode 100644 recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch create mode 100644 recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml index 3a41a75a21f73..fc615b57c8109 100644 --- a/recipes/scnlib/all/conandata.yml +++ b/recipes/scnlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.3": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.1.3.tar.gz" + sha256: "32ca1baed2da5d86aa03273c87580ef32e95925697d252138507ec0545d86ab2" "1.1.2": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.1.2.tar.gz" sha256: "5ed3ec742302c7304bf188bde9c4012a65dc8124ff4e1a69b598480d664250e6" @@ -9,6 +12,16 @@ sources: url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v0.4.tar.gz" sha256: "f23e66b00c9d38671b39b83c082a5b2db1cf05b3e3eff7b4a769487d9ed9d366" patches: + "1.1.3": + - patch_file: "patches/1.1.3-0001-install-dll-windows.patch" + patch_description: "add runtime destination path on install" + patch_type: "portability" + - patch_file: "patches/1.1.3-0002-remove-header-only-target.patch" + patch_description: "prevent to generate header only target for conan package" + patch_type: "conan" + - patch_file: "patches/1.1.3-0003-fix-link-keyword.patch" + patch_description: "use PRIVATE instead of INTERFACE" + patch_type: "conan" "1.1.2": - patch_file: "patches/1.1.2-0001-install-dll-windows.patch" patch_description: "add runtime destination path on install" diff --git a/recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch b/recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch new file mode 100644 index 0000000000000..97cf567063d67 --- /dev/null +++ b/recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7caf642..05bbf4a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -205,6 +205,7 @@ if (SCN_INSTALL) + install(TARGETS ${SCN_EXPORT_TARGETS_LIST} + COMPONENT scnlib_Development + EXPORT scnTargets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch b/recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch new file mode 100644 index 0000000000000..5a50483b54c0f --- /dev/null +++ b/recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 05bbf4a..fe6647b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -135,12 +135,12 @@ function(generate_header_only_target target_name) + endfunction() + + generate_library_target(scn) +-generate_header_only_target(scn-header-only) ++# generate_header_only_target(scn-header-only) + + set(SCN_EXPORT_TARGETS_LIST +- scn scn-header-only) ++ scn) + add_library(scn::scn ALIAS scn) +-add_library(scn::scn-header-only ALIAS scn-header-only) ++# add_library(scn::scn-header-only ALIAS scn-header-only) + + set_property(TARGET scn PROPERTY SOVERSION 0) + diff --git a/recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch b/recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch new file mode 100644 index 0000000000000..1b34af4ceeb25 --- /dev/null +++ b/recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fe6647b..6f34c67 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -112,7 +112,7 @@ function(generate_library_target target_name) + target_include_directories(${target_name} PRIVATE + $) + else () +- target_link_libraries(${target_name} INTERFACE ++ target_link_libraries(${target_name} PRIVATE + FastFloat::fast_float) + endif () + endfunction() +@@ -129,7 +129,7 @@ function(generate_header_only_target target_name) + target_include_directories(${target_name} INTERFACE + $) + else () +- target_link_libraries(${target_name} INTERFACE ++ target_link_libraries(${target_name} PRIVATE + FastFloat::fast_float) + endif () + endfunction() diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml index 7205ca311ab8d..3305d97b32797 100644 --- a/recipes/scnlib/config.yml +++ b/recipes/scnlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.3": + folder: all "1.1.2": folder: all "1.0": From dd49dd02ba35acbd63e32c14cc4dbe179fb167e0 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 13 Nov 2023 22:21:48 +0100 Subject: [PATCH 2513/4087] (#21103) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index a63afb45c7821..4cb491771469d 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -268,6 +268,7 @@ required_for_references: - detools - di - dice-template-library +- dime - directx-headers - dirent - discount @@ -313,9 +314,11 @@ required_for_references: - embree3 - emio - emsdk +- enchant - enet - enhex-generic_serialization - enhex-strong_type +- enjincppsdk - enkits - ensmallen - entityx @@ -424,6 +427,7 @@ required_for_references: - glshaderpp - glslang - glu +- gm2calc - gmp - gnu-config - gnutls @@ -445,6 +449,7 @@ required_for_references: - gtk - gtk-doc-stub - gtsam +- guetzli - gumbo-parser - gurkenlaeufer - gzip-hpp @@ -477,7 +482,9 @@ required_for_references: - hwdata - hwloc - hyperscan +- i2c-tools - icecream-cpp +- iceoryx - iconfontcppheaders - icu - id3v2lib @@ -543,6 +550,7 @@ required_for_references: - kmod - ktx - kuba-zip +- lager - laszip - lazycsv - lcms @@ -574,10 +582,13 @@ required_for_references: - libcbor - libccd - libcds +- libcheck +- libcoap - libconfig - libconfuse - libcoro - libcorrect +- libcpuid - libcuckoo - libcurl - libdaemon @@ -665,6 +676,7 @@ required_for_references: - libpng - libpq - libpqxx +- libproperties - libpsl - libqrencode - librasterlite @@ -688,6 +700,7 @@ required_for_references: - libsmacker - libsndfile - libsodium +- libsolace - libspatialindex - libspatialite - libspng @@ -708,6 +721,7 @@ required_for_references: - libunistring - libunwind - libusb +- libusb-compat - libuuid - libuv - libuvc @@ -914,6 +928,7 @@ required_for_references: - opencore-amr - opencv - openddl-parser +- opene57 - openexr - openfbx - openfst @@ -1054,6 +1069,7 @@ required_for_references: - rapidyaml - raylib - re2 +- re2c - reactiveplusplus - read-excel - readerwriterqueue @@ -1093,6 +1109,7 @@ required_for_references: - samurai - sbepp - sbp +- scdoc - scip - scippp - scnlib @@ -1153,10 +1170,12 @@ required_for_references: - spirv-tools - spscqueue - spy +- sqlcipher - sqlite3 - sqlite_orm - sqlitecpp - sqlpp11 +- sqlpp11-connector-sqlite3 - squirrel - ssht - ssp @@ -1200,6 +1219,7 @@ required_for_references: - tcl - tclap - tcp-wrappers +- tcsbank-uconfig - tcsbank-uri-template - tensorflow-lite - tensorpipe @@ -1265,6 +1285,7 @@ required_for_references: - turtle - tweetnacl - twitch-native-ipc +- twitchtv-libsoundtrackutil - type_safe - tz - ua-nodeset @@ -1286,6 +1307,7 @@ required_for_references: - utf8.h - utf8proc - utfcpp +- uthash - util-linux-libuuid - uvw - uwebsockets @@ -1299,6 +1321,7 @@ required_for_references: - vectorclass - vectorial - veque +- very-simple-smtps - vincentlaucsb-csv-parser - vir-simd - visit_struct @@ -1315,6 +1338,7 @@ required_for_references: - vulkan-validationlayers - vvenc - wasm-micro-runtime +- wasmedge - wasmer - wasmtime - wasmtime-cpp @@ -1370,6 +1394,7 @@ required_for_references: - yaclib - yajl - yaml-cpp +- yandex-ozo - yas - yasm - yder From e05bc39b8108aaaf255a85b04bd372061f858a4a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 06:47:52 +0900 Subject: [PATCH 2514/4087] (#20967) libuv: add version 1.47.0 --- recipes/libuv/all/conandata.yml | 7 ++ .../libuv/all/patches/1.47.0/fix-cmake.patch | 65 +++++++++++++++++++ recipes/libuv/config.yml | 2 + 3 files changed, 74 insertions(+) create mode 100644 recipes/libuv/all/patches/1.47.0/fix-cmake.patch diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml index c45d8fcd3b551..de25f5782ee20 100644 --- a/recipes/libuv/all/conandata.yml +++ b/recipes/libuv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.47.0": + url: "https://github.com/libuv/libuv/archive/v1.47.0.tar.gz" + sha256: "d50af7e6d72526db137e66fad812421c8a1cae09d146b0ec2bb9a22c5f23ba93" "1.46.0": url: "https://github.com/libuv/libuv/archive/v1.46.0.tar.gz" sha256: "7aa66be3413ae10605e1f5c9ae934504ffe317ef68ea16fdaa83e23905c681bd" @@ -30,6 +33,10 @@ sources: url: "https://github.com/libuv/libuv/archive/v1.38.1.zip" sha256: "0359369492742eb2a36312fffe26f80bcffe4cec981a4fd72d182b061ee14890" patches: + "1.47.0": + - patch_file: "patches/1.47.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" "1.46.0": - patch_file: "patches/1.45.0/fix-cmake.patch" patch_description: "separate shared and static library build" diff --git a/recipes/libuv/all/patches/1.47.0/fix-cmake.patch b/recipes/libuv/all/patches/1.47.0/fix-cmake.patch new file mode 100644 index 0000000000000..9a4ee2265047a --- /dev/null +++ b/recipes/libuv/all/patches/1.47.0/fix-cmake.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7237785..3707621 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -461,7 +461,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}) +@@ -481,7 +481,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. +@@ -733,18 +733,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. +@@ -758,6 +758,15 @@ if(LIBUV_BUILD_SHARED) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++else() ++ configure_file(libuv-static.pc.in libuv-static.pc @ONLY) ++ install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ install(TARGETS uv_a EXPORT libuvConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(EXPORT libuvConfig ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv ++ NAMESPACE libuv::) + endif() + + if(MSVC) diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml index db07c8e653143..4c8ae03d813d7 100644 --- a/recipes/libuv/config.yml +++ b/recipes/libuv/config.yml @@ -1,4 +1,6 @@ versions: + "1.47.0": + folder: all "1.46.0": folder: all "1.45.0": From 52bf9e1feb329142ca466e0ea17e87eb2988e9f4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 13 Nov 2023 23:08:07 +0100 Subject: [PATCH 2515/4087] (#20975) oatpp-postgresql/all: bump deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * oatpp-postgresql/all/: bump deps * oatpp-postgresql/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * oatpp-postgresql/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * transitive_headers for oatpp * use rm_safe * Add missing package_type --------- Co-authored-by: Rubén Rincón Blanco --- recipes/oatpp-postgresql/all/conanfile.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/recipes/oatpp-postgresql/all/conanfile.py b/recipes/oatpp-postgresql/all/conanfile.py index 5aa80c1777d6d..e1a3c065c3b16 100644 --- a/recipes/oatpp-postgresql/all/conanfile.py +++ b/recipes/oatpp-postgresql/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class OatppPostgresqlConan(ConanFile): @@ -18,6 +18,7 @@ class OatppPostgresqlConan(ConanFile): description = "oat++ PostgreSQL library" topics = ("oat", "postgresql", "orm", "database") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -37,17 +38,15 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires(f"oatpp/{self.version}") - self.requires("libpq/14.5") + # Most headers include oatpp's + self.requires(f"oatpp/{self.version}", transitive_headers=True) + self.requires("libpq/15.4") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): From d0fc51d52a40650a2376437935e1d353003ebfc4 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 14 Nov 2023 00:27:21 +0200 Subject: [PATCH 2516/4087] (#20977) onnx: pass path to python executable Co-authored-by: Carlos Zoido --- recipes/onnx/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index e0e3f67083793..7b6ca25709aef 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -8,6 +8,7 @@ from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os +import sys import textwrap required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" @@ -99,6 +100,9 @@ def generate(self): env = VirtualRunEnv(self) env.generate(scope="build") tc = CMakeToolchain(self) + # https://cmake.org/cmake/help/v3.28/module/FindPythonInterp.html + # https://github.com/onnx/onnx/blob/1014f41f17ecc778d63e760a994579d96ba471ff/CMakeLists.txt#L119C1-L119C50 + tc.variables["PYTHON_EXECUTABLE"] = sys.executable.replace("\\", "/") tc.variables["ONNX_BUILD_BENCHMARKS"] = False tc.variables["ONNX_USE_PROTOBUF_SHARED_LIBS"] = self.dependencies.host["protobuf"].options.shared tc.variables["BUILD_ONNX_PYTHON"] = False From 45967453cd61074760191dcdbc29525ad9c8fefe Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 08:07:54 +0900 Subject: [PATCH 2517/4087] (#20985) si: add version 2.5.3 * si: add version 2.5.3 * revert 2.5.1 * build require cmake --- recipes/si/all/conandata.yml | 3 +++ recipes/si/all/conanfile.py | 4 ++++ recipes/si/config.yml | 2 ++ 3 files changed, 9 insertions(+) diff --git a/recipes/si/all/conandata.yml b/recipes/si/all/conandata.yml index a84644449fec8..b17e4f76ae2c0 100644 --- a/recipes/si/all/conandata.yml +++ b/recipes/si/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 2.5.3: + url: "https://github.com/bernedom/SI/archive/2.5.3.tar.gz" + sha256: "5c06f9f471474b97ed16e0f63f301d41702d27f6b9f340f0420eb0cfb928d0c6" 2.5.1: url: "https://github.com/bernedom/SI/archive/2.5.1.tar.gz" sha256: "b7b977c04c220a47a2bd3b8e2b6acfd640d286dfe1ae609f20e184cfec998798" diff --git a/recipes/si/all/conanfile.py b/recipes/si/all/conanfile.py index 592ef3c7ad910..ef396846127aa 100644 --- a/recipes/si/all/conanfile.py +++ b/recipes/si/all/conanfile.py @@ -57,6 +57,10 @@ def validate(self): else: self.output.warning("'si' requires C++17. Your compiler is unknown. Assuming it supports C++17.") + def build_requirements(self): + if Version(self.version) >= "2.5.1": + self.tool_requires("cmake/[>=3.23 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/si/config.yml b/recipes/si/config.yml index 7296df14f7ece..338eb274bf5be 100644 --- a/recipes/si/config.yml +++ b/recipes/si/config.yml @@ -1,4 +1,6 @@ versions: + 2.5.3: + folder: all 2.5.1: folder: all 2.5.0: From bb63517449f36dbc0524ef08be16a6c65d254249 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 08:27:20 +0900 Subject: [PATCH 2518/4087] (#20986) create-dmg: add version 1.2.1, add package_type --- recipes/create-dmg/all/conandata.yml | 11 +++++++++-- recipes/create-dmg/all/conanfile.py | 8 ++++---- ...s.patch => 1.1.0-0001-change-share-to-res.patch} | 0 .../patches/1.2.1-0001-change-share-to-res.patch | 13 +++++++++++++ recipes/create-dmg/config.yml | 2 ++ 5 files changed, 28 insertions(+), 6 deletions(-) rename recipes/create-dmg/all/patches/{0001-change-share-to-res.patch => 1.1.0-0001-change-share-to-res.patch} (100%) create mode 100644 recipes/create-dmg/all/patches/1.2.1-0001-change-share-to-res.patch diff --git a/recipes/create-dmg/all/conandata.yml b/recipes/create-dmg/all/conandata.yml index 3bee38ab2012d..ee05f9df79b21 100644 --- a/recipes/create-dmg/all/conandata.yml +++ b/recipes/create-dmg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.1": + url: "https://github.com/create-dmg/create-dmg/archive/refs/tags/v1.2.1.tar.gz" + sha256: "434746a84ed7e4a04b1d1977503e2a23ff79dac480cb86b24aae7b112e3b7524" "1.1.0": url: "https://github.com/create-dmg/create-dmg/archive/refs/tags/v1.1.0.tar.gz" sha256: "d50e14a00b73a3f040732b4cfa11361f5786521719059ce2dfcccd9088d3bf32" @@ -6,7 +9,11 @@ sources: url: "https://github.com/create-dmg/create-dmg/archive/refs/tags/v1.0.10.tar.gz" sha256: "8fd43498988f6d334d483faf4e4a330a25228784995d72c57e4565967d09e6ab" patches: - "1.1.0": - - patch_file: "patches/0001-change-share-to-res.patch" + "1.2.1": + - patch_file: "patches/1.2.1-0001-change-share-to-res.patch" + patch_description: "Change share folder to res" patch_type: "conan" + "1.1.0": + - patch_file: "patches/1.1.0-0001-change-share-to-res.patch" patch_description: "Change share folder to res" + patch_type: "conan" diff --git a/recipes/create-dmg/all/conanfile.py b/recipes/create-dmg/all/conanfile.py index 5730582863e8c..e4d468f0643af 100644 --- a/recipes/create-dmg/all/conanfile.py +++ b/recipes/create-dmg/all/conanfile.py @@ -11,9 +11,10 @@ class CreateDmgConan(ConanFile): name = "create-dmg" description = "A shell script to build fancy DMGs" license = "MIT" - topics = "command-line", "dmg" - homepage = "https://github.com/create-dmg/create-dmg" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/create-dmg/create-dmg" + topics = ("command-line", "dmg") + package_type = "application" settings = "os", "arch", "compiler", "build_type" def export_sources(self): @@ -30,8 +31,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.name} works only on MacOS") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) diff --git a/recipes/create-dmg/all/patches/0001-change-share-to-res.patch b/recipes/create-dmg/all/patches/1.1.0-0001-change-share-to-res.patch similarity index 100% rename from recipes/create-dmg/all/patches/0001-change-share-to-res.patch rename to recipes/create-dmg/all/patches/1.1.0-0001-change-share-to-res.patch diff --git a/recipes/create-dmg/all/patches/1.2.1-0001-change-share-to-res.patch b/recipes/create-dmg/all/patches/1.2.1-0001-change-share-to-res.patch new file mode 100644 index 0000000000000..8befadff184bc --- /dev/null +++ b/recipes/create-dmg/all/patches/1.2.1-0001-change-share-to-res.patch @@ -0,0 +1,13 @@ +diff --git a/create-dmg b/create-dmg +index d2039bd..dc35068 100755 +--- a/create-dmg ++++ b/create-dmg +@@ -320,7 +320,7 @@ else + # We're running inside an installed location + bin_dir="$SCRIPT_DIR" + prefix_dir=$(dirname "$bin_dir") +- CDMG_SUPPORT_DIR="$prefix_dir/share/create-dmg/support" ++ CDMG_SUPPORT_DIR="$prefix_dir/res" + fi + + if [[ -z "$VOLUME_NAME" ]]; then diff --git a/recipes/create-dmg/config.yml b/recipes/create-dmg/config.yml index d8aafe5a32208..cc3bbf3e41e1f 100644 --- a/recipes/create-dmg/config.yml +++ b/recipes/create-dmg/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.1": + folder: all "1.1.0": folder: all "1.0.10": From 004f7d23c3130b25bf06d374bf419b4f18ea3ecd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 02:46:47 +0300 Subject: [PATCH 2519/4087] (#20993) stx: simplify validate() --- recipes/stx/all/conanfile.py | 50 ++++++++---------------------------- 1 file changed, 11 insertions(+), 39 deletions(-) diff --git a/recipes/stx/all/conanfile.py b/recipes/stx/all/conanfile.py index 631f348c12a9f..a4d52d28312f9 100644 --- a/recipes/stx/all/conanfile.py +++ b/recipes/stx/all/conanfile.py @@ -1,10 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc_static_runtime, is_msvc +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, export_conandata_patches, get, copy -from conan.tools.build import check_min_cppstd from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout import os required_conan_version = ">=1.53.0" @@ -58,50 +57,23 @@ def requirements(self): self.requires('abseil/20230125.3') def validate(self): - compiler = self.settings.compiler - compiler_version = Version(self.settings.compiler.version) - 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 is_msvc(self) and compiler_version < 16: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} language and standard library features " - "which VS < 2019 lacks" - ) - - if compiler == 'gcc' and compiler_version < 8: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} language and standard library features " - "which GCC < 8 lacks" - ) - - if compiler == 'clang' and compiler.libcxx and \ - compiler.libcxx in ['libstdc++', 'libstdc++11'] and \ - compiler_version < 9: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} language and standard library features " - "which clang < 9 with libc++ lacks" - ) - - if (compiler == 'clang' and compiler.libcxx and - compiler.libcxx == 'libc++' and - compiler_version < 10): - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} language and standard library features " - "which clang < 10 with libc++ lacks" - ) - - if compiler == 'apple-clang' and compiler_version < 12: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} language and standard library features " - "which apple-clang < 12 with libc++ lacks" - ) + if self.settings.compiler == "clang": + libcxx = stdcpp_library(self) + compiler_version = Version(self.settings.compiler.version) + if (libcxx == "stdc++" and compiler_version < 9) or (libcxx == "c++" and compiler_version < 10): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd} language and standard library features " + f"which clang < {compiler_version} with lib{libcxx} lacks" + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From cb87f4717bdbe98ee20f63ee87567f05c7ec85cd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 03:08:18 +0300 Subject: [PATCH 2520/4087] (#20995) tcsbank-uconfig: robust to "unknow compilers" in validate() --- recipes/tcsbank-uconfig/all/conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/tcsbank-uconfig/all/conanfile.py b/recipes/tcsbank-uconfig/all/conanfile.py index a4005d4ad03ba..c374a3551f1f2 100644 --- a/recipes/tcsbank-uconfig/all/conanfile.py +++ b/recipes/tcsbank-uconfig/all/conanfile.py @@ -53,16 +53,13 @@ def package_id(self): self.info.clear() def validate(self): - compiler = str(self.settings.compiler) - compiler_version = Version(self.settings.compiler.version) - if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - if compiler_version < self._compilers_minimum_version[compiler]: + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}. " - f"{compiler} {compiler_version} is not supported." + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) def source(self): From 3e7e0ea53afe51c2eebd2d3a7e585e3730c7edad Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 03:27:21 +0300 Subject: [PATCH 2521/4087] (#20996) libcoap: move checks to validate() (instead of configure()) + fix CMake target name * move checks to validate() instead of configure() * fix CMake target name * still provide `libcoap::coap` as an alias target --- recipes/libcoap/all/conanfile.py | 25 ++++++++++++++----- .../libcoap/all/test_package/CMakeLists.txt | 8 ++++-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/recipes/libcoap/all/conanfile.py b/recipes/libcoap/all/conanfile.py index 73ba749ccb3bf..eebfa5aaa0ba0 100644 --- a/recipes/libcoap/all/conanfile.py +++ b/recipes/libcoap/all/conanfile.py @@ -37,8 +37,6 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.settings.os == "Windows" or is_apple_os(self): - raise ConanInvalidConfiguration("Platform is currently not supported") if self.options.shared: self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.libcxx") @@ -54,6 +52,9 @@ def requirements(self): self.requires("mbedtls/3.2.1") def validate(self): + if self.settings.os == "Windows" or is_apple_os(self): + raise ConanInvalidConfiguration("Platform is currently not supported") + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) if self.options.dtls_backend in ["gnutls", "tinydtls"]: @@ -89,22 +90,34 @@ def package(self): def package_info(self): if self.version == "cci.20200424": library_name = "coap" + cmake_target_name = "coap" pkgconfig_filename = "libcoap-2" else: library_name = "coap-3" + cmake_target_name = "coap-3" pkgconfig_filename = "libcoap-3" if self.options.dtls_backend: pkgconfig_filename += f"-{self.options.dtls_backend}" - self.cpp_info.components["coap"].names["cmake_find_package"] = "coap" - self.cpp_info.components["coap"].names["cmake_find_package_multi"] = "coap" - self.cpp_info.components["coap"].set_property("pkg_config_name", pkgconfig_filename) - self.cpp_info.components["coap"].libs = [library_name] + self.cpp_info.set_property("cmake_file_name", "libcoap") + self.cpp_info.set_property("cmake_target_name", f"libcoap::{cmake_target_name}") + if cmake_target_name != "coap": + # Old target, still provided to not break users + self.cpp_info.set_property("cmake_target_aliases", ["libcoap::coap"]) + self.cpp_info.set_property("pkg_config_name", pkgconfig_filename) + # TODO: back to global scope once legacy generators support removed + self.cpp_info.components["coap"].libs = [library_name] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["coap"].system_libs = ["pthread"] if self.options.dtls_backend == "openssl": self.cpp_info.components["coap"].requires = ["openssl::openssl"] elif self.options.dtls_backend == "mbedtls": self.cpp_info.components["coap"].requires = ["mbedtls::mbedtls"] + + # TODO: to remove once legacy generators support removed + self.cpp_info.components["coap"].names["cmake_find_package"] = cmake_target_name + self.cpp_info.components["coap"].names["cmake_find_package_multi"] = cmake_target_name + self.cpp_info.components["coap"].set_property("cmake_target_name", f"libcoap::{cmake_target_name}") + self.cpp_info.components["coap"].set_property("pkg_config_name", pkgconfig_filename) diff --git a/recipes/libcoap/all/test_package/CMakeLists.txt b/recipes/libcoap/all/test_package/CMakeLists.txt index 56a2af225094f..999bf7cd574a5 100644 --- a/recipes/libcoap/all/test_package/CMakeLists.txt +++ b/recipes/libcoap/all/test_package/CMakeLists.txt @@ -4,5 +4,9 @@ project(test_package LANGUAGES CXX) find_package(libcoap REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} libcoap::libcoap) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +if(TARGET libcoap::coap-3) + target_link_libraries(${PROJECT_NAME} libcoap::coap-3) +else() + target_link_libraries(${PROJECT_NAME} libcoap::coap) +endif() +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) From 670fa22ab79783e0137f10adbaac974633c14502 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 13 Nov 2023 18:47:01 -0600 Subject: [PATCH 2522/4087] (#21003) glew: Add package type * Remove destination argument to get method * Use rm_safe * Add package type * Update CMake minimum version * Bump required_conan_version to 1.53.0 for rm_safe --- recipes/glew/all/conanfile.py | 22 ++++++-------------- recipes/glew/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/recipes/glew/all/conanfile.py b/recipes/glew/all/conanfile.py index 75e5f17da8e37..3aaec716377cb 100644 --- a/recipes/glew/all/conanfile.py +++ b/recipes/glew/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" class GlewConan(ConanFile): @@ -13,7 +13,7 @@ class GlewConan(ConanFile): homepage = "http://github.com/nigels-com/glew" topics = ("glew", "opengl", "wrangler", "loader", "binding") license = "MIT" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,18 +36,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") @@ -57,8 +48,7 @@ def requirements(self): self.requires("glu/system") 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/glew/all/test_package/CMakeLists.txt b/recipes/glew/all/test_package/CMakeLists.txt index f7e367639f538..116694086f70b 100644 --- a/recipes/glew/all/test_package/CMakeLists.txt +++ b/recipes/glew/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(GLEW REQUIRED) From 20267a2e7378efd99126ed2145d66118d0ad214c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 04:07:27 +0300 Subject: [PATCH 2523/4087] (#21012) abseil: fix build of 20230802.1 with MinGW backport https://github.com/abseil/abseil-cpp/commit/2f77684e8dc473a48dbc19167ffe69c40ce8ada4 --- recipes/abseil/all/conandata.yml | 4 ++ .../patches/20230802.1-0001-fix-mingw.patch | 40 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 recipes/abseil/all/patches/20230802.1-0001-fix-mingw.patch diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index b5f52d98430d0..1f04efd630a51 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -29,6 +29,10 @@ patches: patch_description: "link libm to absl string" patch_type: "portability" patch_source: "https://github.com/abseil/abseil-cpp/issues/1100" + - patch_file: "patches/20230802.1-0001-fix-mingw.patch" + patch_description: "Fix build with MinGW" + patch_type: "portability" + patch_source: "https://github.com/abseil/abseil-cpp/commit/2f77684e8dc473a48dbc19167ffe69c40ce8ada4" "20230125.3": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" diff --git a/recipes/abseil/all/patches/20230802.1-0001-fix-mingw.patch b/recipes/abseil/all/patches/20230802.1-0001-fix-mingw.patch new file mode 100644 index 0000000000000..fcb5987e76570 --- /dev/null +++ b/recipes/abseil/all/patches/20230802.1-0001-fix-mingw.patch @@ -0,0 +1,40 @@ +--- a/absl/synchronization/internal/pthread_waiter.h ++++ b/absl/synchronization/internal/pthread_waiter.h +@@ -16,7 +16,7 @@ + #ifndef ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_ + #define ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_ + +-#ifndef _WIN32 ++#if !defined(_WIN32) && !defined(__MINGW32__) + #include + + #include "absl/base/config.h" +@@ -55,6 +55,6 @@ class PthreadWaiter : public WaiterCrtp { + ABSL_NAMESPACE_END + } // namespace absl + +-#endif // ndef _WIN32 ++#endif // !defined(_WIN32) && !defined(__MINGW32__) + + #endif // ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_ +--- a/absl/synchronization/internal/win32_waiter.h ++++ b/absl/synchronization/internal/win32_waiter.h +@@ -20,7 +20,8 @@ + #include + #endif + +-#if defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA ++#if defined(_WIN32) && !defined(__MINGW32__) && \ ++ _WIN32_WINNT >= _WIN32_WINNT_VISTA + + #include "absl/base/config.h" + #include "absl/synchronization/internal/kernel_timeout.h" +@@ -65,6 +66,7 @@ class Win32Waiter : public WaiterCrtp { + ABSL_NAMESPACE_END + } // namespace absl + +-#endif // defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA ++#endif // defined(_WIN32) && !defined(__MINGW32__) && ++ // _WIN32_WINNT >= _WIN32_WINNT_VISTA + + #endif // ABSL_SYNCHRONIZATION_INTERNAL_WIN32_WAITER_H_ From 74f25a1565f3f9dc8a1dd14cc87c182f5258d33e Mon Sep 17 00:00:00 2001 From: Steve Robinson Date: Mon, 13 Nov 2023 17:27:07 -0800 Subject: [PATCH 2524/4087] (#21015) Upgrade SDL 'requires' in sdl_ttf --- recipes/sdl_ttf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sdl_ttf/all/conanfile.py b/recipes/sdl_ttf/all/conanfile.py index 3766809402fca..a1a255cd20f36 100644 --- a/recipes/sdl_ttf/all/conanfile.py +++ b/recipes/sdl_ttf/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.12.1") # https://github.com/conan-io/conan-center-index/pull/18366#issuecomment-1625464996 - self.requires("sdl/2.26.5", transitive_headers=True, transitive_libs=True) + self.requires("sdl/2.28.3", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_harfbuzz"): self.requires("harfbuzz/6.0.0") From 0746087d43164a884da8f68e48d218171a7bc719 Mon Sep 17 00:00:00 2001 From: Steve Robinson Date: Mon, 13 Nov 2023 17:46:56 -0800 Subject: [PATCH 2525/4087] (#21018) Fix SFML linker error on Linux * Fix SFML linker error on Linux * Make fix specific to versions of SFML that need it Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/sfml/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 3ec973dc4a906..53306f385e8c4 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -147,6 +147,9 @@ def winmm(): def ws2_32(): return ["ws2_32"] if self.settings.os == "Windows" else [] + def dl(): + return ["dl"] if self.settings.os in ["Linux", "FreeBSD"] and Version(self.version) >= "2.6.0" else [] + def libudev(): return ["libudev::libudev"] if self.settings.os == "Linux" else [] @@ -235,7 +238,7 @@ def objc(): "target": "sfml-window", "libs": [f"sfml-window{suffix}"], "requires": ["system"] + opengl() + xorg() + libudev(), - "system_libs": gdi32() + winmm() + usbhid() + android() + opengles_android(), + "system_libs": dl() + gdi32() + winmm() + usbhid() + android() + opengles_android(), "frameworks": foundation() + appkit() + iokit() + carbon() + uikit() + coregraphics() + quartzcore() + coreservices() + coremotion() + opengles_ios(), From 7ac403add1d17881a9a8e6d478609754ccf3a60c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 03:07:34 +0100 Subject: [PATCH 2526/4087] (#21021) libpqxx: remove outdated versions * libpqxx: remove outdated versions * bump libpq --- recipes/libpqxx/all/conandata.yml | 80 ------------------- recipes/libpqxx/all/conanfile.py | 2 +- .../fix-apple-clang-compilation-7.4.0.patch | 25 ------ .../patches/fix-clang-compilation-7.7.0.patch | 25 ------ .../fix-install-library-symlink-7.7.2.patch | 14 ---- .../patches/fix-missing-limits-include.patch | 13 --- ...red-dumb_stringstream-7.0.1_to_7.0.5.patch | 21 ----- ...red-dumb_stringstream-7.0.6_to_7.0.7.patch | 21 ----- ...not-declared-dumb_stringstream-7.1.1.patch | 21 ----- .../patches/stop-using-strnlen-7.2.1.patch | 28 ------- recipes/libpqxx/config.yml | 16 ---- 11 files changed, 1 insertion(+), 265 deletions(-) delete mode 100644 recipes/libpqxx/all/patches/fix-apple-clang-compilation-7.4.0.patch delete mode 100644 recipes/libpqxx/all/patches/fix-clang-compilation-7.7.0.patch delete mode 100644 recipes/libpqxx/all/patches/fix-install-library-symlink-7.7.2.patch delete mode 100644 recipes/libpqxx/all/patches/fix-missing-limits-include.patch delete mode 100644 recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.1_to_7.0.5.patch delete mode 100644 recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.6_to_7.0.7.patch delete mode 100644 recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.1.1.patch delete mode 100644 recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch diff --git a/recipes/libpqxx/all/conandata.yml b/recipes/libpqxx/all/conandata.yml index be515b537e23b..dcbdf0b15a551 100644 --- a/recipes/libpqxx/all/conandata.yml +++ b/recipes/libpqxx/all/conandata.yml @@ -8,24 +8,9 @@ sources: "7.7.5": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.7.5.tar.gz" sha256: "c7dc3e8fa2eee656f2b6a8179d72f15db10e97a80dc4f173f806e615ea990973" - "7.7.4": - url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.7.4.tar.gz" - sha256: "65b0a06fffd565a19edacedada1dcfa0c1ecd782cead0ee067b19e2464875c36" - "7.7.3": - url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.7.3.tar.gz" - sha256: "11e147bbe2d3024d68d29b38eab5d75899dbb6131e421a2dbf9f88bac9bf4b0d" - "7.7.2": - url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.7.2.tar.gz" - sha256: "4b7a0b67cbd75d1c31e1e8a07c942ffbe9eec4e32c29b15d71cc225dc737e243" - "7.7.0": - url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.7.0.tar.gz" - sha256: "2d99de960aa3016915bc69326b369fcee04425e57fbe9dad48dd3fa6203879fb" "7.6.1": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.6.1.tar.gz" sha256: "7f4ad37fce20e8c9a61387cd5d6f85cf264f2bc9c0e6b27e8d5751a5429f87d0" - "7.6.0": - url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.6.0.tar.gz" - sha256: "8194ce4eff3fee5325963ccc28d3542cfaa54ba1400833d0df6948de3573c118" "7.5.3": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.5.3.tar.gz" sha256: "4229ed9205e484a4bafb10edd6ce75b98c12d63c082a98baada0c01766d218e0" @@ -35,15 +20,6 @@ sources: "7.3.2": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.3.2.tar.gz" sha256: "493991345de5cbddfed8836917a333add2cd00ecbfd21b1acbc9345ce784225f" - "7.2.1": - url: "https://github.com/jtv/libpqxx/archive/7.2.1.tar.gz" - sha256: "3fd8318d2e421483495bf1a8ea1365fce4105934e9600ca87be0dff470d8c8dc" - "7.1.2": - url: "https://github.com/jtv/libpqxx/archive/7.1.2.tar.gz" - sha256: "3af7b4cfd572c67275ad24fea31bcf9d9f365ec16a1b7e90d4bde930936707f3" - "7.0.7": - url: "https://github.com/jtv/libpqxx/archive/7.0.7.tar.gz" - sha256: "856fffb76141a236df608a86aa7d63b04f82816c9bbf80d33189705a0b2682eb" "6.4.8": url: "https://github.com/jtv/libpqxx/archive/6.4.8.tar.gz" sha256: "3f7aba951822e01f1b9f9f353702954773323dd9f9dc376ffb57cb6bbd9a7a2f" @@ -64,30 +40,6 @@ patches: - patch_file: "patches/0001-cmake-fix-module.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." patch_type: "conan" - "7.7.4": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - "7.7.3": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - "7.7.2": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - - patch_file: "patches/fix-install-library-symlink-7.7.2.patch" - patch_source: "https://github.com/jtv/libpqxx/pull/552" - patch_description: "Fix install library symlink error." - patch_type: "bugfix" - "7.7.0": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - - patch_file: "patches/fix-clang-compilation-7.7.0.patch" - patch_source: "https://github.com/jtv/libpqxx/pull/519" - patch_description: "Fix clang compile error." - patch_type: "bugfix" "7.6.1": - patch_file: "patches/0001-cmake-fix-module.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." @@ -100,18 +52,6 @@ patches: patch_source: "https://github.com/jtv/libpqxx/pull/476" patch_description: "fix: Remove `unlikely` annotation before `return`" patch_type: "bugfix" - "7.6.0": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - - patch_file: "patches/fix-inline-constexpr-local-variable-problem-7.6.0.patch" - patch_source: "https://github.com/jtv/libpqxx/pull/468" - patch_description: "Fixed a problem that some compilers did not allow `inline constexpr` local variable declarations." - patch_type: "bugfix" - - patch_file: "patches/fix-remove-unlikely-annotation-before-return-7.6.0_to_7.6.1.patch" - patch_source: "https://github.com/jtv/libpqxx/pull/476" - patch_description: "fix: Remove `unlikely` annotation before `return`" - patch_type: "bugfix" "7.5.3": - patch_file: "patches/0001-cmake-fix-module.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." @@ -136,26 +76,6 @@ patches: patch_source: "https://github.com/jtv/libpqxx/commit/df30e186e148acb031244ed0ab1151731d3501a4" patch_description: "Fix MSVC 2022 compile error: '<': no operator found which takes a right-hand operand of type 'std::_String_view_iterator<_Traits>'" patch_type: "bugfix" - "7.2.1": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - - patch_file: "patches/stop-using-strnlen-7.2.1.patch" - patch_source: "https://github.com/jtv/libpqxx/commit/df30e186e148acb031244ed0ab1151731d3501a4" - patch_description: "Fix MSVC 2022 compile error: '<': no operator found which takes a right-hand operand of type 'std::_String_view_iterator<_Traits>'" - patch_type: "bugfix" - "7.1.2": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - "7.0.7": - - patch_file: "patches/0001-cmake-fix-module.patch" - patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." - patch_type: "conan" - - patch_file: "patches/fix-not-declared-dumb_stringstream-7.0.6_to_7.0.7.patch" - patch_source: "https://github.com/jtv/libpqxx/commit/0e81d36f522093d7215b3792f1c62dcd06a34ad1" - patch_description: "Fix 'dumb_stringstream' was not declared." - patch_type: "bugfix" "6.4.8": - patch_file: "patches/0001-cmake-fix-module-6.4.8.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." diff --git a/recipes/libpqxx/all/conanfile.py b/recipes/libpqxx/all/conanfile.py index 2c06284a7d4d7..078a64288a676 100644 --- a/recipes/libpqxx/all/conanfile.py +++ b/recipes/libpqxx/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libpq/14.5") + self.requires("libpq/15.4") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/libpqxx/all/patches/fix-apple-clang-compilation-7.4.0.patch b/recipes/libpqxx/all/patches/fix-apple-clang-compilation-7.4.0.patch deleted file mode 100644 index f09c9055d160c..0000000000000 --- a/recipes/libpqxx/all/patches/fix-apple-clang-compilation-7.4.0.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fix Apple clang compilation 7.4.0 only (https://github.com/jtv/libpqxx/commit/cbd2b35ef5bce8a1fc8bfd1efd804d965976ce23) -diff --git a/include/pqxx/connection.hxx b/include/pqxx/connection.hxx -index b44daa18..21dc1fd3 100644 ---- a/include/pqxx/connection.hxx -+++ b/include/pqxx/connection.hxx -@@ -33,6 +33,7 @@ - #include "pqxx/errorhandler.hxx" - #include "pqxx/except.hxx" - #include "pqxx/prepared_statement.hxx" -+#include "pqxx/separated_list.hxx" - #include "pqxx/strconv.hxx" - #include "pqxx/util.hxx" - #include "pqxx/zview.hxx" -diff --git a/include/pqxx/stream_to.hxx b/include/pqxx/stream_to.hxx -index 96ddbf56..5ed91b23 100644 ---- a/include/pqxx/stream_to.hxx -+++ b/include/pqxx/stream_to.hxx -@@ -16,6 +16,7 @@ - #include "pqxx/compiler-public.hxx" - #include "pqxx/internal/compiler-internal-pre.hxx" - -+#include "pqxx/separated_list.hxx" - #include "pqxx/transaction_base.hxx" - - diff --git a/recipes/libpqxx/all/patches/fix-clang-compilation-7.7.0.patch b/recipes/libpqxx/all/patches/fix-clang-compilation-7.7.0.patch deleted file mode 100644 index ad9d3eeea1da7..0000000000000 --- a/recipes/libpqxx/all/patches/fix-clang-compilation-7.7.0.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fix clang compile error 7.7.0 (https://github.com/jtv/libpqxx/pull/519) -diff --git a/src/strconv.cxx b/src/strconv.cxx -index 36758307..824d0d28 100644 ---- a/src/strconv.cxx -+++ b/src/strconv.cxx -@@ -438,7 +438,8 @@ template - if (pqxx::internal::is_digit(initial)) - { - for (; pqxx::internal::is_digit(data[i]); ++i) -- result = absorb_digit_positive(result, digit_to_number(data[i])); -+ result = absorb_digit_positive( -+ result, pqxx::internal::digit_to_number(data[i])); - } - else if (initial == '-') - { -@@ -452,7 +453,8 @@ template - "Converting string to " + pqxx::type_name + - ", but it contains only a sign."}; - for (; i < std::size(text) and pqxx::internal::is_digit(data[i]); ++i) -- result = absorb_digit_negative(result, digit_to_number(data[i])); -+ result = absorb_digit_negative( -+ result, pqxx::internal::digit_to_number(data[i])); - } - else - { diff --git a/recipes/libpqxx/all/patches/fix-install-library-symlink-7.7.2.patch b/recipes/libpqxx/all/patches/fix-install-library-symlink-7.7.2.patch deleted file mode 100644 index 076ad6cc874e3..0000000000000 --- a/recipes/libpqxx/all/patches/fix-install-library-symlink-7.7.2.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix install library symlink error 7.7.2 (https://github.com/jtv/libpqxx/pull/552) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 6eafd7b3..1d697ab7 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -58,7 +58,7 @@ macro(library_target_setup tgt) - VERBATIM - COMMAND_EXPAND_LISTS - ) -- install(FILES $/${library_prefix}${name}${library_suffix} -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${library_prefix}${name}${library_suffix} - DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) - endif() diff --git a/recipes/libpqxx/all/patches/fix-missing-limits-include.patch b/recipes/libpqxx/all/patches/fix-missing-limits-include.patch deleted file mode 100644 index 7e3e49e4fe91c..0000000000000 --- a/recipes/libpqxx/all/patches/fix-missing-limits-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -Fix the bug that `` is missing in versions less than 7.0.5 (https://github.com/jtv/libpqxx/commit/143e139fafadfb153a5d0c84c429e6ced3ed06fc) -diff --git a/include/pqxx/util.hxx b/include/pqxx/util.hxx -index d91d978e..c589a42c 100644 ---- a/include/pqxx/util.hxx -+++ b/include/pqxx/util.hxx -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.1_to_7.0.5.patch b/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.1_to_7.0.5.patch deleted file mode 100644 index c32258155f947..0000000000000 --- a/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.1_to_7.0.5.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix 'dumb_stringstream' was not declared (https://github.com/jtv/libpqxx/commit/0e81d36f522093d7215b3792f1c62dcd06a34ad1) -diff --git a/src/strconv.cxx b/src/strconv.cxx -index 66276802..390192ac 100644 ---- a/src/strconv.cxx -+++ b/src/strconv.cxx -@@ -587,6 +587,7 @@ template char * - float_traits::into_buf(char *, char *, long double const &); - - -+#if !defined(PQXX_HAVE_CHARCONV_FLOAT) - template - inline std::string to_dumb_stringstream(dumb_stringstream &s, F value) - { -@@ -594,6 +595,7 @@ inline std::string to_dumb_stringstream(dumb_stringstream &s, F value) - s << value; - return s.str(); - } -+#endif - - - /// Floating-point implementations for @c pqxx::to_string(). diff --git a/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.6_to_7.0.7.patch b/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.6_to_7.0.7.patch deleted file mode 100644 index e372b90444861..0000000000000 --- a/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.0.6_to_7.0.7.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix 'dumb_stringstream' was not declared (https://github.com/jtv/libpqxx/commit/0e81d36f522093d7215b3792f1c62dcd06a34ad1) -diff --git a/src/strconv.cxx b/src/strconv.cxx -index 72217455..b34bd394 100644 ---- a/src/strconv.cxx -+++ b/src/strconv.cxx -@@ -591,6 +591,7 @@ template char * - float_traits::into_buf(char *, char *, long double const &); - - -+#if !defined(PQXX_HAVE_CHARCONV_FLOAT) - template - inline std::string to_dumb_stringstream(dumb_stringstream &s, F value) - { -@@ -598,6 +599,7 @@ inline std::string to_dumb_stringstream(dumb_stringstream &s, F value) - s << value; - return s.str(); - } -+#endif - - - /// Floating-point implementations for @c pqxx::to_string(). diff --git a/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.1.1.patch b/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.1.1.patch deleted file mode 100644 index acc981628428c..0000000000000 --- a/recipes/libpqxx/all/patches/fix-not-declared-dumb_stringstream-7.1.1.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix 'dumb_stringstream' was not declared (https://github.com/jtv/libpqxx/commit/0e81d36f522093d7215b3792f1c62dcd06a34ad1) -diff --git a/src/strconv.cxx b/src/strconv.cxx -index 13b0b9ab..c0b7510d 100644 ---- a/src/strconv.cxx -+++ b/src/strconv.cxx -@@ -591,6 +591,7 @@ template char * - float_traits::into_buf(char *, char *, long double const &); - - -+#if !defined(PQXX_HAVE_CHARCONV_FLOAT) - template - inline std::string to_dumb_stringstream(dumb_stringstream &s, F value) - { -@@ -598,6 +599,7 @@ inline std::string to_dumb_stringstream(dumb_stringstream &s, F value) - s << value; - return s.str(); - } -+#endif - - - /// Floating-point implementations for @c pqxx::to_string(). diff --git a/recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch b/recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch deleted file mode 100644 index 39e7b4ab81e4e..0000000000000 --- a/recipes/libpqxx/all/patches/stop-using-strnlen-7.2.1.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/strconv.cxx b/src/strconv.cxx -index 4339625e..200b416a 100644 ---- a/src/strconv.cxx -+++ b/src/strconv.cxx -@@ -265,18 +265,18 @@ namespace - template - [[maybe_unused]] inline TYPE from_string_arithmetic(std::string_view in) - { -- char const *begin; -+ char const *here; -+ auto const end{in.data() + std::size(in)}; - - // Skip whitespace. This is not the proper way to do it, but I see no way - // that any of the supported encodings could ever produce a valid character - // whose byte sequence would confuse this code. -- for (begin = in.data(); -- begin < std::end(in) and (*begin == ' ' or *begin == '\t'); ++begin) -+ for (here = in.data(); -+ here < end and (*here == ' ' or *here == '\t'); ++here) - ; - -- auto const end{in.data() + std::size(in)}; - TYPE out; -- auto const res{std::from_chars(begin, end, out)}; -+ auto const res{std::from_chars(here, end, out)}; - if (res.ec == std::errc() and res.ptr == end) - return out; - diff --git a/recipes/libpqxx/config.yml b/recipes/libpqxx/config.yml index e221557dc8d32..9d72f7f742ccb 100644 --- a/recipes/libpqxx/config.yml +++ b/recipes/libpqxx/config.yml @@ -5,29 +5,13 @@ versions: folder: all "7.7.5": folder: all - "7.7.4": - folder: all - "7.7.3": - folder: all - "7.7.2": - folder: all - "7.7.0": - folder: all "7.6.1": folder: all - "7.6.0": - folder: all "7.5.3": folder: all "7.4.2": folder: all "7.3.2": folder: all - "7.2.1": - folder: all - "7.1.2": - folder: all - "7.0.7": - folder: all "6.4.8": folder: all From 948185c6f2f5283faefb4f61c77ff66e68016ffc Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 14 Nov 2023 04:46:52 +0200 Subject: [PATCH 2527/4087] (#20955) onnxruntime: don't bring link dependency to boost on conanv1 --- recipes/onnxruntime/all/conanfile.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 7413919fad0ee..7fc9af001a2ac 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -271,6 +271,28 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs.append("shlwapi") + # conanv1 doesn't support traits and we only need headers from boost + self.cpp_info.requires = [ + "abseil::abseil", + "protobuf::protobuf", + "date::date", + "re2::re2", + "onnx::onnx", + "flatbuffers::flatbuffers", + "boost::headers", + "safeint::safeint", + "nlohmann_json::nlohmann_json", + "eigen::eigen", + "ms-gsl::ms-gsl", + "cpuinfo::cpuinfo" + ] + if self.settings.os != "Windows": + self.cpp_info.requires.append("nsync::nsync") + else: + self.cpp_info.requires.append("wil::wil") + if self.options.with_xnnpack: + self.cpp_info.requires.append("xnnpack::xnnpack") + # https://github.com/microsoft/onnxruntime/blob/v1.16.0/cmake/CMakeLists.txt#L1759-L1763 self.cpp_info.set_property("cmake_file_name", "onnxruntime") self.cpp_info.set_property("cmake_target_name", "onnxruntime::onnxruntime") From 4eb9d409bcb6bf93b7b618a4dfb5869d4c40db08 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 04:27:06 +0100 Subject: [PATCH 2528/4087] (#21022) aws-c-io: remove old versions * aws-c-io: remove old versions they don't have any dependants in conan-center, and they depend on aws-c-common/0.6.11 which is not maintained any more * Update config.yml --- recipes/aws-c-io/all/conandata.yml | 6 ------ recipes/aws-c-io/all/conanfile.py | 5 +---- recipes/aws-c-io/config.yml | 4 ---- 3 files changed, 1 insertion(+), 14 deletions(-) diff --git a/recipes/aws-c-io/all/conandata.yml b/recipes/aws-c-io/all/conandata.yml index 41a965e1e143c..1e15f1d87d7c3 100644 --- a/recipes/aws-c-io/all/conandata.yml +++ b/recipes/aws-c-io/all/conandata.yml @@ -17,9 +17,3 @@ sources: "0.10.13": url: "https://github.com/awslabs/aws-c-io/archive/v0.10.13.tar.gz" sha256: "ee34a93190e35a5c372ba73661dd69c48986e051a4b26dedb62bc5aa78f1660f" - "0.10.9": - url: "https://github.com/awslabs/aws-c-io/archive/v0.10.9.tar.gz" - sha256: "c64464152abe8b7e23f10bc026ed54a15eaf0ec0aae625d28e2caf4489090327" - "0.10.5": - url: "https://github.com/awslabs/aws-c-io/archive/v0.10.5.tar.gz" - sha256: "59abd4606661790cc0b777807938f3134cce77c03383015781498cfbfd191811" diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index f84be2b82b611..9f7b5e29793d0 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -42,10 +42,7 @@ def layout(self): 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.10.9": - self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.11") - elif Version(self.version) <= "0.13.4": + 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: diff --git a/recipes/aws-c-io/config.yml b/recipes/aws-c-io/config.yml index d086ea94712c2..8a602cc8c0e60 100644 --- a/recipes/aws-c-io/config.yml +++ b/recipes/aws-c-io/config.yml @@ -11,7 +11,3 @@ versions: folder: all "0.10.13": folder: all - "0.10.9": - folder: all - "0.10.5": - folder: all From 6d17ecd4efe02c4472c41ac4b56f616bd7542910 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 05:07:08 +0100 Subject: [PATCH 2529/4087] (#21023) aws-c-cal: remove 0.5.11 * aws-c-cal: remove 0.5.11 the only dependents are aws-c-io 0.10.9 and 0.10.5 which are removed in https://github.com/conan-io/conan-center-index/pull/21022 * fixup config.yml --- recipes/aws-c-cal/all/conandata.yml | 9 --------- recipes/aws-c-cal/all/conanfile.py | 7 +------ recipes/aws-c-cal/config.yml | 2 -- 3 files changed, 1 insertion(+), 17 deletions(-) diff --git a/recipes/aws-c-cal/all/conandata.yml b/recipes/aws-c-cal/all/conandata.yml index a90192c07e6c7..0bf0d966b7d3a 100644 --- a/recipes/aws-c-cal/all/conandata.yml +++ b/recipes/aws-c-cal/all/conandata.yml @@ -20,9 +20,6 @@ sources: "0.5.12": url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.12.tar.gz" sha256: "350c29a288d5d498bd6574fca659cffc9453bf62691fbde5788399716c2bd132" - "0.5.11": - url: "https://github.com/awslabs/aws-c-cal/archive/v0.5.11.tar.gz" - sha256: "ef46e121b2231a0b19afce8af4b32d77501df4d470e926990918456636cd83c0" patches: "0.6.9": - patch_file: "patches/0002-apple-corefoundation-0.6.9.patch" @@ -60,9 +57,3 @@ patches: patch_description: "Link to CoreFoundation on Apple" patch_type: "backport" patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" - "0.5.11": - - patch_file: "patches/0001-use-openssl-cmake-imported-target.patch" - - patch_file: "patches/0002-apple-corefoundation-0.5.11.patch" - patch_description: "Link to CoreFoundation on Apple" - patch_type: "backport" - patch_source: "https://github.com/awslabs/aws-c-cal/pull/126" diff --git a/recipes/aws-c-cal/all/conanfile.py b/recipes/aws-c-cal/all/conanfile.py index 5f4acadf108f8..de7ce7d5e222d 100644 --- a/recipes/aws-c-cal/all/conanfile.py +++ b/recipes/aws-c-cal/all/conanfile.py @@ -48,12 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) <= "0.5.11": - # transitive_libs probably not strictly required, but it's impossible to write a robust test package - # without it for conan v2 (we would have to required aws-c-common in test package, but we can't know - # which version to require in test package) - self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) - elif Version(self.version) <= "0.5.20": + if Version(self.version) <= "0.5.20": 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) diff --git a/recipes/aws-c-cal/config.yml b/recipes/aws-c-cal/config.yml index 0db6c8cf45251..f62f1684b8f2a 100644 --- a/recipes/aws-c-cal/config.yml +++ b/recipes/aws-c-cal/config.yml @@ -13,5 +13,3 @@ versions: folder: all "0.5.12": folder: all - "0.5.11": - folder: all From c72c187cf9ec48f369b1e095291996ebbae2903c Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Tue, 14 Nov 2023 05:46:51 +0100 Subject: [PATCH 2530/4087] (#21024) Add llhttp v9.1.3 --- recipes/llhttp/all/conandata.yml | 5 +++++ recipes/llhttp/all/conanfile.py | 2 +- .../patches/v9.1.3-cmake_remove_pcfiles.patch | 18 ++++++++++++++++++ recipes/llhttp/config.yml | 2 ++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 recipes/llhttp/all/patches/v9.1.3-cmake_remove_pcfiles.patch diff --git a/recipes/llhttp/all/conandata.yml b/recipes/llhttp/all/conandata.yml index c0d216898aa55..20fe56b5f368c 100644 --- a/recipes/llhttp/all/conandata.yml +++ b/recipes/llhttp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.1.3": + url: https://github.com/nodejs/llhttp/archive/refs/tags/release/v9.1.3.tar.gz + sha256: "49405a7bcb4312b29b91408ee1395de3bc3b29e3bdd10380dc4eb8210912f295" "8.1.0": url: https://github.com/nodejs/llhttp/archive/refs/tags/release/v8.1.0.tar.gz sha256: "9da0d23453e8e242cf3b2bc5d6fb70b1517b8a70520065fcbad6be787e86638e" @@ -6,6 +9,8 @@ sources: url: https://github.com/nodejs/llhttp/archive/refs/tags/release/v6.0.6.tar.gz sha256: "14023d0efce07a996a197d3b6b15020b26526605277e521f5aa10dacc3af67ad" patches: + "9.1.3": + - patch_file: "patches/v9.1.3-cmake_remove_pcfiles.patch" "8.1.0": - patch_file: "patches/cmake_remove_pcfiles.patch" "6.0.6": diff --git a/recipes/llhttp/all/conanfile.py b/recipes/llhttp/all/conanfile.py index d481feee9f858..8b1f11d122f18 100644 --- a/recipes/llhttp/all/conanfile.py +++ b/recipes/llhttp/all/conanfile.py @@ -42,6 +42,7 @@ def layout(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) @@ -51,7 +52,6 @@ def generate(self): tc.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/llhttp/all/patches/v9.1.3-cmake_remove_pcfiles.patch b/recipes/llhttp/all/patches/v9.1.3-cmake_remove_pcfiles.patch new file mode 100644 index 0000000000000..7d7c1649ff686 --- /dev/null +++ b/recipes/llhttp/all/patches/v9.1.3-cmake_remove_pcfiles.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,14 +63,10 @@ + EXPORT llhttp + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + +- install(FILES +- ${CMAKE_CURRENT_SOURCE_DIR}/libllhttp.pc +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig +- ) +- + # This is required to work with FetchContent + install(EXPORT llhttp + FILE llhttp-config.cmake diff --git a/recipes/llhttp/config.yml b/recipes/llhttp/config.yml index 047cd19c4e9fa..bd0d914a57968 100644 --- a/recipes/llhttp/config.yml +++ b/recipes/llhttp/config.yml @@ -1,4 +1,6 @@ versions: + "9.1.3": + folder: all "8.1.0": folder: all "6.0.6": From 90242e7e54f58f3c2a9664f7bae9c24eec9c3f0a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 14:06:35 +0900 Subject: [PATCH 2531/4087] (#21027) commata: add version 0.2.6-bug1 --- 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 e7ea4a174774d..0bbd21e7700bf 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.6-bug1": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.6-bug1.tar.gz" + sha256: "141eb86f9033a808b6ead22a9367fc4d18a3047f55255ddf67d60e90f46b8f60" "0.2.6": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.6.tar.gz" sha256: "bc91f496cb261e5627fb39d8e79d1aaa924975332d9957de4cb4097db6957815" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 571d6667fb3be..02125db50fd0d 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.6-bug1": + folder: all "0.2.6": folder: all "0.2.5": From 92c70e1a71998ce80a525cbf53ecb3dc87077ca7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 08:26:36 +0300 Subject: [PATCH 2532/4087] (#21031) clhep: fix build of 2.4.6.4 with MinGW by adding patch which has been forgotten in #19944 --- recipes/clhep/all/conandata.yml | 31 +++++++------- ...ake.patch => 2.4.1.3-0001-fix-cmake.patch} | 0 ...patch => 2.4.1.3-0002-mingw-support.patch} | 0 ...=> 2.4.1.3-0003-msvc-2015-no-SFINAE.patch} | 0 ...6_4.patch => 2.4.6.4-0001-fix-cmake.patch} | 0 .../patches/2.4.6.4-0002-mingw-support.patch | 42 +++++++++++++++++++ 6 files changed, 59 insertions(+), 14 deletions(-) rename recipes/clhep/all/patches/{fix-cmake.patch => 2.4.1.3-0001-fix-cmake.patch} (100%) rename recipes/clhep/all/patches/{mingw-support.patch => 2.4.1.3-0002-mingw-support.patch} (100%) rename recipes/clhep/all/patches/{msvc-2015-no-SFINAE.patch => 2.4.1.3-0003-msvc-2015-no-SFINAE.patch} (100%) rename recipes/clhep/all/patches/{fix-cmake-2_4_6_4.patch => 2.4.6.4-0001-fix-cmake.patch} (100%) create mode 100644 recipes/clhep/all/patches/2.4.6.4-0002-mingw-support.patch diff --git a/recipes/clhep/all/conandata.yml b/recipes/clhep/all/conandata.yml index 97723c6543a1b..048d5c59d63e1 100644 --- a/recipes/clhep/all/conandata.yml +++ b/recipes/clhep/all/conandata.yml @@ -7,19 +7,22 @@ sources: sha256: "27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913" patches: "2.4.6.4": - - patch_file: "patches/fix-cmake-2_4_6_4.patch" - patch_description: The CLHEP build system builds BOTH shared and static by default, change that behaviour - patch_type: conan - - patch_file: "patches/msvc-2015-no-SFINAE.patch" - patch_description: work around a compiler bug in MSVC 2015 - patch_type: portability + - patch_file: "patches/2.4.6.4-0001-fix-cmake.patch" + patch_description: "The CLHEP build system builds BOTH shared and static by default, change that behaviour" + patch_type: "conan" + - patch_file: "patches/2.4.6.4-0002-mingw-support.patch" + patch_description: "allow CLHEP to build and link properly under mingw environments" + patch_type: "portability" + - patch_file: "patches/2.4.1.3-0003-msvc-2015-no-SFINAE.patch" + patch_description: "work around a compiler bug in MSVC 2015" + patch_type: "portability" "2.4.1.3": - - patch_file: "patches/fix-cmake.patch" - patch_description: The CLHEP build system builds BOTH shared and static by default, change that behaviour + - patch_file: "patches/2.4.1.3-0001-fix-cmake.patch" + patch_description: "The CLHEP build system builds BOTH shared and static by default, change that behaviour" patch_type: conan - - patch_file: "patches/mingw-support.patch" - patch_description: allow CLHEP to build and link properly under mingw environments - patch_type: portability - - patch_file: "patches/msvc-2015-no-SFINAE.patch" - patch_description: work around a compiler bug in MSVC 2015 - patch_type: portability + - patch_file: "patches/2.4.1.3-0002-mingw-support.patch" + patch_description: "allow CLHEP to build and link properly under mingw environments" + patch_type: "portability" + - patch_file: "patches/2.4.1.3-0003-msvc-2015-no-SFINAE.patch" + patch_description: "work around a compiler bug in MSVC 2015" + patch_type: "portability" diff --git a/recipes/clhep/all/patches/fix-cmake.patch b/recipes/clhep/all/patches/2.4.1.3-0001-fix-cmake.patch similarity index 100% rename from recipes/clhep/all/patches/fix-cmake.patch rename to recipes/clhep/all/patches/2.4.1.3-0001-fix-cmake.patch diff --git a/recipes/clhep/all/patches/mingw-support.patch b/recipes/clhep/all/patches/2.4.1.3-0002-mingw-support.patch similarity index 100% rename from recipes/clhep/all/patches/mingw-support.patch rename to recipes/clhep/all/patches/2.4.1.3-0002-mingw-support.patch diff --git a/recipes/clhep/all/patches/msvc-2015-no-SFINAE.patch b/recipes/clhep/all/patches/2.4.1.3-0003-msvc-2015-no-SFINAE.patch similarity index 100% rename from recipes/clhep/all/patches/msvc-2015-no-SFINAE.patch rename to recipes/clhep/all/patches/2.4.1.3-0003-msvc-2015-no-SFINAE.patch diff --git a/recipes/clhep/all/patches/fix-cmake-2_4_6_4.patch b/recipes/clhep/all/patches/2.4.6.4-0001-fix-cmake.patch similarity index 100% rename from recipes/clhep/all/patches/fix-cmake-2_4_6_4.patch rename to recipes/clhep/all/patches/2.4.6.4-0001-fix-cmake.patch diff --git a/recipes/clhep/all/patches/2.4.6.4-0002-mingw-support.patch b/recipes/clhep/all/patches/2.4.6.4-0002-mingw-support.patch new file mode 100644 index 0000000000000..ab753ce5e9b81 --- /dev/null +++ b/recipes/clhep/all/patches/2.4.6.4-0002-mingw-support.patch @@ -0,0 +1,42 @@ +--- a/CLHEP/GenericFunctions/src/AnalyticConvolution.cc ++++ b/CLHEP/GenericFunctions/src/AnalyticConvolution.cc +@@ -5,7 +5,7 @@ + #include "CLHEP/GenericFunctions/Gaussian.hh" + #include "CLHEP/GenericFunctions/Exponential.hh" + #include // for isfinite +-#if (defined _WIN32) ++#ifdef _MSC_VER + #include // Visual C++ _finite + #endif + #include +@@ -81,7 +81,7 @@ double AnalyticConvolution::operator() (double argument) const { + if (_type==SMEARED_NEG_EXP) { + expG = exp((xsigma*xsigma +2*tau*(/*xoffset*/x))/(2.0*tau*tau)) * + erfc((xsigma*xsigma+tau*(/*xoffset*/x))/(sqrtTwo*xsigma*tau))/(2.0*tau); +-#if (defined _WIN32) ++#ifdef _MSC_VER + if (!_finite(expG)) { + expG=0.0; + } +@@ -99,7 +99,7 @@ double AnalyticConvolution::operator() (double argument) const { + + // Both sign distribution=> return smeared exponential: + if (_type==SMEARED_EXP) { +-#if (defined _WIN32) ++#ifdef _MSC_VER + if (!_finite(expG)) { + expG=0.0; + } +--- a/CLHEP/Random/src/DRand48Engine.cc ++++ b/CLHEP/Random/src/DRand48Engine.cc +@@ -38,6 +38,10 @@ + #include // for strcmp + #include // for std::abs(int) + ++#if !defined(HAVE_DRAND48) && defined(__MINGW32__) ++#include "drand48.src" ++#endif ++ + //#define TRACE_IO + + #include From 452c20084926d53dc78f5f09e0d5823091914892 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 08:46:45 +0300 Subject: [PATCH 2533/4087] (#21032) alembic: add 1.8.6 + bump hdf5 * add alembic/1.8.6 * bump hdf5 --- recipes/alembic/all/conandata.yml | 19 +++++++++++++++---- recipes/alembic/all/conanfile.py | 2 +- recipes/alembic/config.yml | 2 ++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/alembic/all/conandata.yml b/recipes/alembic/all/conandata.yml index c09b44adc0b83..cc8bcf0f12467 100644 --- a/recipes/alembic/all/conandata.yml +++ b/recipes/alembic/all/conandata.yml @@ -1,19 +1,30 @@ sources: + "1.8.6": + url: "https://github.com/alembic/alembic/archive/refs/tags/1.8.6.tar.gz" + sha256: "c572ebdea3a5f0ce13774dd1fceb5b5815265cd1b29d142cf8c144b03c131c8c" "1.8.5": - url: "https://github.com/alembic/alembic/archive/1.8.5.tar.gz" + url: "https://github.com/alembic/alembic/archive/refs/tags/1.8.5.tar.gz" sha256: "180a12f08d391cd89f021f279dbe3b5423b1db751a9898540c8059a45825c2e9" "1.8.3": - url: "https://github.com/alembic/alembic/archive/1.8.3.tar.gz" + url: "https://github.com/alembic/alembic/archive/refs/tags/1.8.3.tar.gz" sha256: "b0bc74833bff118a869e81e6acb810a58797e77ef63143954b2f8e817c7f65cb" "1.8.2": url: "https://github.com/alembic/alembic/archive/refs/tags/1.8.2.tar.gz" sha256: "3f1c466ee1600578689b32b1f2587066d3259704ec7ed1fcf80c324d01274f48" patches: + "1.8.6": + - patch_file: "patches/1.8.5-0001-fix-cmake.patch" + patch_description: "CMake: fix install layout, don't link directly to zlib if hdf5, relocatable shared lib for macOS" + patch_type: "conan" "1.8.5": - patch_file: "patches/1.8.5-0001-fix-cmake.patch" - patch_description: "Disable a line in a CMakeLists.txt to build with shared=True" - patch_type: "portability" + patch_description: "CMake: fix install layout, don't link directly to zlib if hdf5, relocatable shared lib for macOS" + patch_type: "conan" "1.8.3": - patch_file: "patches/1.8.2-0001-fix-cmake.patch" + patch_description: "CMake: fix install layout, don't link directly to zlib if hdf5, relocatable shared lib for macOS" + patch_type: "conan" "1.8.2": - patch_file: "patches/1.8.2-0001-fix-cmake.patch" + patch_description: "CMake: fix install layout, don't link directly to zlib if hdf5, relocatable shared lib for macOS" + patch_type: "conan" diff --git a/recipes/alembic/all/conanfile.py b/recipes/alembic/all/conanfile.py index a05a7f705ff40..81ce4ae17f4f7 100644 --- a/recipes/alembic/all/conanfile.py +++ b/recipes/alembic/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): self.requires("imath/3.1.9", transitive_headers=True) if self.options.with_hdf5: - self.requires("hdf5/1.14.1") + self.requires("hdf5/1.14.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/alembic/config.yml b/recipes/alembic/config.yml index d20dd33414a44..079098b5ad92b 100644 --- a/recipes/alembic/config.yml +++ b/recipes/alembic/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.6": + folder: all "1.8.5": folder: all "1.8.3": From e474338461ae9f0aac3f91eb7b79a2e4ff27ab14 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 15:50:22 +0900 Subject: [PATCH 2534/4087] (#21036) blend2d: add version 0.10.6, add with_jit option --- recipes/blend2d/all/conandata.yml | 7 +++++ recipes/blend2d/all/conanfile.py | 6 +++- .../0.10.6-0001-disable-embed-asmjit.patch | 29 +++++++++++++++++++ recipes/blend2d/config.yml | 2 ++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 recipes/blend2d/all/patches/0.10.6-0001-disable-embed-asmjit.patch diff --git a/recipes/blend2d/all/conandata.yml b/recipes/blend2d/all/conandata.yml index 70d8d5d6571cb..06ef79b273e89 100644 --- a/recipes/blend2d/all/conandata.yml +++ b/recipes/blend2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.6": + url: "https://blend2d.com/download/blend2d-0.10.6.tar.xz" + sha256: "0377f747b76d5602874351501bbbd648ba73b486273a5dcabfd6dc85c4d289b4" "0.10.5": url: "https://blend2d.com/download/blend2d-0.10.5.tar.xz" sha256: "fff5a7b1a6b16c986f3d02052a9a030f138fbae3a9c16bf07915416515d6b9cd" @@ -21,6 +24,10 @@ sources: url: "https://blend2d.com/download/blend2d-beta17.zip" sha256: "06ee8fb0bea281d09291e498900093139426501a1a7f09dba0ec801dd340635e" patches: + "0.10.6": + - patch_file: "patches/0.10.6-0001-disable-embed-asmjit.patch" + patch_description: "use asmjit cci package" + patch_type: "conan" "0.10.5": - patch_file: "patches/0.10-0001-disable-embed-asmjit.patch" patch_description: "use asmjit cci package" diff --git a/recipes/blend2d/all/conanfile.py b/recipes/blend2d/all/conanfile.py index 4c280dceae1ea..adbef317cace4 100644 --- a/recipes/blend2d/all/conanfile.py +++ b/recipes/blend2d/all/conanfile.py @@ -21,10 +21,12 @@ class Blend2dConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_jit": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_jit": True, } def export_sources(self): @@ -42,7 +44,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("asmjit/cci.20230325") + if self.options.with_jit: + self.requires("asmjit/cci.20230325") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -68,6 +71,7 @@ def generate(self): tc.variables["CMAKE_CXX_STANDARD"] = 11 if not self.options.shared: tc.preprocessor_definitions["BL_STATIC"] = "1" + tc.variables["BLEND2D_NO_JIT"] = not self.options.with_jit tc.generate() deps = CMakeDeps(self) diff --git a/recipes/blend2d/all/patches/0.10.6-0001-disable-embed-asmjit.patch b/recipes/blend2d/all/patches/0.10.6-0001-disable-embed-asmjit.patch new file mode 100644 index 0000000000000..fb535df020d2b --- /dev/null +++ b/recipes/blend2d/all/patches/0.10.6-0001-disable-embed-asmjit.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea49ca0..24532fe 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -392,7 +392,7 @@ endif() + + # Find asmjit dependency if building with JIT support. + if (NOT BLEND2D_NO_JIT) +- if (NOT DEFINED ASMJIT_DIR) ++ if (0) + foreach(dir "${BLEND2D_DIR}/3rdparty/asmjit" + "${CMAKE_CURRENT_LIST_DIR}/../asmjit") + if (EXISTS ${dir}/CMakeLists.txt) +@@ -409,11 +409,10 @@ if (NOT BLEND2D_NO_JIT) + set(ASMJIT_EMBED TRUE CACHE BOOL "") + endif() + +- include("${ASMJIT_DIR}/CMakeLists.txt") +- list(APPEND BLEND2D_DEPS ${ASMJIT_LIBS}) +- list(APPEND BLEND2D_PRIVATE_CFLAGS ${ASMJIT_CFLAGS}) +- list(APPEND BLEND2D_PRIVATE_CFLAGS -DASMJIT_NO_STDCXX -DASMJIT_NO_FOREIGN) +- ++ find_package(asmjit CONFIG REQUIRED) ++ list(APPEND BLEND2D_DEPS asmjit::asmjit) ++ list(APPEND BLEND2D_PRIVATE_CFLAGS ${asmjit_DEFINITIONS_DEBUG}${asmjit_DEFINITIONS_RELEASE}) ++ + # A possibility to reduce the resulting binary size by disabling asmjit logging. + if (BLEND2D_NO_JIT_LOGGING) + message("-- Disabling AsmJit logging functionality (JIT)") diff --git a/recipes/blend2d/config.yml b/recipes/blend2d/config.yml index 741838b7d4752..219f4d22f536c 100644 --- a/recipes/blend2d/config.yml +++ b/recipes/blend2d/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.6": + folder: all "0.10.5": folder: all "0.10.4": From b95d271b242a39dba5d65044aba9f4c3055af550 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 08:56:01 +0100 Subject: [PATCH 2535/4087] (#21050) linter: fix name detection fixes error raised on sdbs-cpp/all/test_pkgconf test recipe for example --- linter/check_package_name.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linter/check_package_name.py b/linter/check_package_name.py index 9068241f96b18..4c302243ff26c 100644 --- a/linter/check_package_name.py +++ b/linter/check_package_name.py @@ -32,7 +32,7 @@ class PackageName(BaseChecker): def visit_classdef(self, node: nodes) -> None: filename = Path(node.root().file) - is_test = filename.match('test_package/*.py') or filename.match('test_v1_package/*.py') + is_test = filename.match('test_*/*.py') if node.basenames == ['ConanFile']: for attr in node.body: From 011f159400e96fdb5fbe0bda039e4571eb748075 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 11:09:20 +0300 Subject: [PATCH 2536/4087] (#21067) zyre: relocatable shared lib for macos + fix CMake target name * relocatable shared lib for macOS * fix target name in CMakeDeps according to upstream config file * bump zeromq & libsystemd --- recipes/zyre/all/conanfile.py | 10 +++++++--- recipes/zyre/all/test_package/CMakeLists.txt | 6 +++++- recipes/zyre/all/test_v1_package/CMakeLists.txt | 8 -------- recipes/zyre/all/test_v1_package/conanfile.py | 17 ----------------- 4 files changed, 12 insertions(+), 29 deletions(-) delete mode 100644 recipes/zyre/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/zyre/all/test_v1_package/conanfile.py diff --git a/recipes/zyre/all/conanfile.py b/recipes/zyre/all/conanfile.py index 44689dcc28f85..bd990107ea362 100644 --- a/recipes/zyre/all/conanfile.py +++ b/recipes/zyre/all/conanfile.py @@ -46,9 +46,9 @@ def layout(self): def requirements(self): self.requires("czmq/4.2.1", transitive_headers=True) - self.requires("zeromq/4.3.4") + self.requires("zeromq/4.3.5") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("libsystemd/253.6") + self.requires("libsystemd/253.10") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -62,6 +62,8 @@ def generate(self): tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared if not self.options.shared: tc.preprocessor_definitions["ZYRE_STATIC"] = "" + # Relocatable shared lib on Macos + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() deps = CMakeDeps(self) deps.set_property("zeromq", "cmake_file_name", "LIBZMQ") @@ -89,9 +91,11 @@ def package(self): cmake.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, "cmake")) + rmdir(self, os.path.join(self.package_folder, "CMake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "zyre") + self.cpp_info.set_property("cmake_target_name", "zyre" if self.options.shared else "zyre-static") self.cpp_info.set_property("pkg_config_name", "libzyre") libname = "zyre" diff --git a/recipes/zyre/all/test_package/CMakeLists.txt b/recipes/zyre/all/test_package/CMakeLists.txt index c012d5f284e96..fb8dcf9d49558 100644 --- a/recipes/zyre/all/test_package/CMakeLists.txt +++ b/recipes/zyre/all/test_package/CMakeLists.txt @@ -4,5 +4,9 @@ project(test_package LANGUAGES CXX) find_package(zyre REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} zyre::zyre) +if(TARGET zyre-static) + target_link_libraries(${PROJECT_NAME} PRIVATE zyre-static) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE zyre) +endif() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/zyre/all/test_v1_package/CMakeLists.txt b/recipes/zyre/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/zyre/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -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/zyre/all/test_v1_package/conanfile.py b/recipes/zyre/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zyre/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 53373711199b7bd1f931b1efd2db94e428c69c4a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 11:27:44 +0300 Subject: [PATCH 2537/4087] (#21071) opene57: add min version for `compiler=msvc` --- recipes/opene57/all/conanfile.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/recipes/opene57/all/conanfile.py b/recipes/opene57/all/conanfile.py index 7fad4691111be..f3bcaea5080c3 100644 --- a/recipes/opene57/all/conanfile.py +++ b/recipes/opene57/all/conanfile.py @@ -2,7 +2,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, export_conandata_patches, get, replace_in_file @@ -33,10 +32,15 @@ class Opene57Conan(ConanFile): "with_tools": False, } + @property + def _min_cppstd(self): + return "17" + @property def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "gcc": "7", "clang": "6", "apple-clang": "10", @@ -67,13 +71,13 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) - if not minimum_version: - self.output.warning("C++17 support required. Your compiler is unknown. Assuming it supports C++17.") - elif Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 0c3791593c326961226fc91362bff1806259f412 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 14 Nov 2023 09:48:36 +0100 Subject: [PATCH 2538/4087] (#21078) wil: add version 1.0.231028.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 0c0fd9c9b3f6e..f61d76458812c 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.231028.1": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.231028.1.tar.gz" + sha256: "ac18bc7638f32ec2468bbde1f40153204ad9ae9016058720440bc8f5449f48c5" "1.0.230824.2": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.230824.2.tar.gz" sha256: "15c6f90653fe91d2ab3c0c010735aee629c80519b4237611344f2e623f06aad2" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index 98a5d552e5d6c..f2dcd6f1c34e1 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.231028.1": + folder: "all" "1.0.230824.2": folder: "all" "1.0.230629.1": From e8655ec4e256d1f04537ee07647cbe7a42d644e3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 10:07:37 +0100 Subject: [PATCH 2539/4087] (#21089) libdc1394: bump pkgconf * libdc1394/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libdc1394/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libdc1394/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libdc1394/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libdc1394/all/conanfile.py b/recipes/libdc1394/all/conanfile.py index f52cb3b808339..0ac48cba03bef 100644 --- a/recipes/libdc1394/all/conanfile.py +++ b/recipes/libdc1394/all/conanfile.py @@ -54,7 +54,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], From df4e34e10f4e78080a21fb4ef4d8d7c30ce01fb0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 10:27:25 +0100 Subject: [PATCH 2540/4087] (#21091) mozjpeg/all: bump deps * mozjpeg/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * mozjpeg/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * mozjpeg/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/mozjpeg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mozjpeg/all/conanfile.py b/recipes/mozjpeg/all/conanfile.py index 3dcf78b0f0e8e..117852b445d53 100644 --- a/recipes/mozjpeg/all/conanfile.py +++ b/recipes/mozjpeg/all/conanfile.py @@ -82,7 +82,7 @@ def build_requirements(self): if not self._use_cmake: self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self.options.get_safe("SIMD"): self.tool_requires("nasm/2.15.05") From 339bf73d0e7950d2731606062bdcd5e96bff41c3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 11:08:15 +0100 Subject: [PATCH 2541/4087] (#21092) msys2: bump * msys2: bump * Update conandata.yml --- recipes/msys2/all/conandata.yml | 11 +++++------ recipes/msys2/config.yml | 5 ++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/msys2/all/conandata.yml b/recipes/msys2/all/conandata.yml index 01aa597548f23..1485bf6ada2af 100644 --- a/recipes/msys2/all/conandata.yml +++ b/recipes/msys2/all/conandata.yml @@ -1,8 +1,7 @@ sources: "cci.latest": - url: [ - "https://github.com/msys2/msys2-installer/releases/download/2022-01-18/msys2-base-x86_64-20220118.tar.xz", - "http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20220118.tar.xz", - "https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20220118.tar.xz", - ] - sha256: "2ec6fe9c3e01ecba10b9ffa708ea13bf1f8c9739e5ce9da853b77f1f3e270034" + url: + - "https://github.com/msys2/msys2-installer/releases/download/2023-10-26/msys2-base-x86_64-20231026.tar.xz" + - "http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20231026.tar.xz" + - "https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20231026.tar.xz" + sha256: "fa75120560563a311241c05882016978bd35612692c7f0d39815a27837bff27d" diff --git a/recipes/msys2/config.yml b/recipes/msys2/config.yml index 608a5b0c8a900..807ada4348c72 100644 --- a/recipes/msys2/config.yml +++ b/recipes/msys2/config.yml @@ -1,4 +1,3 @@ versions: - "cci.latest": - folder: "all" - + "cci.latest": + folder: "all" From 5cd071944747da60e0315cada75ff0aa6105a83c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 11:27:50 +0100 Subject: [PATCH 2542/4087] (#21094) imake/all: bump deps * imake/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * imake/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * imake/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * imake/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * disable clang * imake 1.0.9 --- recipes/imake/all/conandata.yml | 6 ++++++ recipes/imake/all/conanfile.py | 8 +++++++- recipes/imake/all/test_package/conanfile.py | 2 +- recipes/imake/config.yml | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/recipes/imake/all/conandata.yml b/recipes/imake/all/conandata.yml index e9b2090bb9e33..36a5068b003f9 100644 --- a/recipes/imake/all/conandata.yml +++ b/recipes/imake/all/conandata.yml @@ -1,8 +1,14 @@ sources: + "1.0.9": + url: "https://www.x.org/releases/individual/util/imake-1.0.9.tar.gz" + sha256: "ca53ad18c683091490596d72fee8dbee4c6ddb7693709e25f26da140d29687c1" "1.0.8": url: "https://www.x.org/releases/individual/util/imake-1.0.8.tar.gz" sha256: "8178a09bfef33ad5f61cb5cb62283df7d3a5682f014507d2e7cfd922485a5c00" patches: + "1.0.9": + - patch_file: "patches/0001-reproducible-behavior.patch" + - patch_file: "patches/0002-msvc-debug-build_type.patch" "1.0.8": - patch_file: "patches/0001-reproducible-behavior.patch" - patch_file: "patches/0002-msvc-debug-build_type.patch" diff --git a/recipes/imake/all/conanfile.py b/recipes/imake/all/conanfile.py index 5e4171b55257f..490f157a75b1f 100644 --- a/recipes/imake/all/conanfile.py +++ b/recipes/imake/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.tools.env import VirtualBuildEnv +from conan.errors import ConanInvalidConfiguration from conan.tools.files import get, copy, rmdir, export_conandata_patches, apply_conandata_patches from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout @@ -46,6 +47,11 @@ def layout(self): @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + + def validate(self): + if self.settings.compiler == "clang": + # See https://github.com/conan-io/conan-center-index/pull/16267#issuecomment-1469824504 + raise ConanInvalidConfiguration("Recipe cannot be built with clang") def requirements(self): self.requires("xorg-proto/2022.2") @@ -53,7 +59,7 @@ def requirements(self): def build_requirements(self): self.tool_requires("automake/1.16.5") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/imake/all/test_package/conanfile.py b/recipes/imake/all/test_package/conanfile.py index 4251d2cffa421..9f73275ca1219 100644 --- a/recipes/imake/all/test_package/conanfile.py +++ b/recipes/imake/all/test_package/conanfile.py @@ -18,7 +18,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:make_program", check_type=str): - self.tool_requires("make/4.3") + self.tool_requires("make/4.4") def layout(self): basic_layout(self) diff --git a/recipes/imake/config.yml b/recipes/imake/config.yml index 28e3ee22ca8ac..1c656ce0b375f 100644 --- a/recipes/imake/config.yml +++ b/recipes/imake/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.9": + folder: all "1.0.8": folder: all From 2861325fe4e64c22dce523e6a0cf55e0705e32f1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 13:48:46 +0300 Subject: [PATCH 2543/4087] (#20899) vulkan-loader: add 1.3.250.0 and 1.3.268.0 + remove old versions + don't allow to build static for Apple anymore * add 1.3.250.0, 1.3.261.1 and 1.3.268.0 * remove old versions * update CMake config name and target in CMakeDeps according to upstream config file see https://github.com/KhronosGroup/Vulkan-Loader/pull/1310 * cleanup a little bit * remove support of official names in cmake_find_package * fix install of static lib for Apple in 1.3.268.0 * remove fPIC if not apple os since lib is shared in this case * remove possibility to build static lib for Apple see discussions in https://github.com/KhronosGroup/Vulkan-Loader/pull/1362. Vulkan-Loader developers don't want static flavor to be package, it's only for Chromium developers. Therefore shared & fPIC are removed, Vulkan-Loader is always shared * fix iOS/tvOS and macOS for M1 in 1.3.268.0 * do not package 1.3.261.1, too tedious to fix build for apple M1 --- recipes/vulkan-loader/all/conandata.yml | 20 +-- recipes/vulkan-loader/all/conanfile.py | 59 ++++--- ...6.0-0001-cmake-minimum-required-3.10.patch | 24 --- .../1.3.268.0-0001-fix-apple-arm.patch | 147 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 4 +- .../all/test_v1_package/CMakeLists.txt | 8 - .../all/test_v1_package/conanfile.py | 17 -- recipes/vulkan-loader/config.yml | 8 +- 8 files changed, 190 insertions(+), 97 deletions(-) delete mode 100644 recipes/vulkan-loader/all/patches/1.3.236.0-0001-cmake-minimum-required-3.10.patch create mode 100644 recipes/vulkan-loader/all/patches/1.3.268.0-0001-fix-apple-arm.patch delete mode 100644 recipes/vulkan-loader/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/vulkan-loader/all/test_v1_package/conanfile.py diff --git a/recipes/vulkan-loader/all/conandata.yml b/recipes/vulkan-loader/all/conandata.yml index d46482c317467..b31ce6fd5b07a 100644 --- a/recipes/vulkan-loader/all/conandata.yml +++ b/recipes/vulkan-loader/all/conandata.yml @@ -1,22 +1,22 @@ sources: + "1.3.268.0": + url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" + sha256: "404fa621f1ab2731bcc68bcbff64d8c6de322faad2d87f9198641bd37255fd39" + "1.3.250.0": + url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.250.0.tar.gz" + sha256: "17f8683fd8320d5dfebdb22879f26f82c014d320a6a0622118cd298887626295" "1.3.243.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.243.0.tar.gz" sha256: "89a09547be30491ee0a11cd7c883e78a637fb761280d6c6c2174f37188527dc3" "1.3.239.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.239.0.tar.gz" sha256: "fa2078408793b2173f174173a8784de56b6bbfbcb5fb958a07e46ef126c7eada" - "1.3.236.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.236.0.tar.gz" - sha256: "157d2230b50bb5be3ef9b9467aa90d1c109d5f188a49b11f741246d7ca583bf3" - "1.3.211.0": - url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.3.211.0.tar.gz" - sha256: "bb42a8e0dda103f98bddb9ae2311ae8e8e988588b600a1114b74a1ba3a0843f4" "1.2.198.0": url: "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/sdk-1.2.198.0.tar.gz" sha256: "7d5d56296dcd88af84ed0fde969038370cac8600c4ef7e328788b7422d9025bb" patches: - "1.3.236.0": - - patch_file: "patches/1.3.236.0-0001-cmake-minimum-required-3.10.patch" - patch_description: "Do not use features of CMake 3.16, back to 3.10 as min version" + "1.3.268.0": + - patch_file: "patches/1.3.268.0-0001-fix-apple-arm.patch" + patch_description: "Apple: fix M1 build, as well as iOS & tvOS" patch_type: "portability" - patch_source: "https://github.com/KhronosGroup/Vulkan-Loader/pull/1102" + patch_source: "https://github.com/KhronosGroup/Vulkan-Loader/pull/1349" diff --git a/recipes/vulkan-loader/all/conanfile.py b/recipes/vulkan-loader/all/conanfile.py index b8abe5e70b213..408b02f227457 100644 --- a/recipes/vulkan-loader/all/conanfile.py +++ b/recipes/vulkan-loader/all/conanfile.py @@ -1,6 +1,5 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir @@ -19,19 +18,15 @@ class VulkanLoaderConan(ConanFile): homepage = "https://github.com/KhronosGroup/Vulkan-Loader" url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" - + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], - "fPIC": [True, False], "with_wsi_xcb": [True, False], "with_wsi_xlib": [True, False], "with_wsi_wayland": [True, False], "with_wsi_directfb": [True, False], } default_options = { - "shared": True, - "fPIC": True, "with_wsi_xcb": True, "with_wsi_xlib": True, "with_wsi_wayland": True, @@ -51,8 +46,6 @@ def export_sources(self): export_conandata_patches(self) def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC if self.settings.os != "Linux": del self.options.with_wsi_xcb del self.options.with_wsi_xlib @@ -60,12 +53,6 @@ def config_options(self): del self.options.with_wsi_directfb def configure(self): - if not is_apple_os(self): - # static builds are not supported - self.options.rm_safe("shared") - self.package_type = "shared-library" - if self.options.get_safe("shared"): - self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -117,8 +104,6 @@ def generate(self): tc.variables["BUILD_WSI_DIRECTFB_SUPPORT"] = self.options.with_wsi_directfb if self.settings.os == "Windows": tc.variables["ENABLE_WIN10_ONECORE"] = False - if is_apple_os(self): - tc.variables["BUILD_STATIC_LOADER"] = not self.options.shared tc.variables["BUILD_LOADER"] = True if self.settings.os == "Windows": tc.variables["USE_MASM"] = True @@ -138,12 +123,28 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "cmake", "FindVulkanHeaders.cmake"), "HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry", "HINTS ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry") - # Honor settings.compiler.runtime - replace_in_file(self, os.path.join(self.source_folder, "loader", "CMakeLists.txt"), - "if(${configuration} MATCHES \"/MD\")", - "if(FALSE)") cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + + # Honor settings.compiler.runtime + if Version(self.version) < "1.3.254": + replace_in_file(self, os.path.join(self.source_folder, "loader", "CMakeLists.txt"), + "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})", + ) + replace_in_file( + self, + cmakelists, + "set(CMAKE_MSVC_RUNTIME_LIBRARY \"MultiThreaded$<$:Debug>\")", + "", + ) + # No warnings as errors if Version(self.version) < "1.3.212": replace_in_file(self, cmakelists, "/WX", "") @@ -168,30 +169,24 @@ def package(self): cmake = CMake(self) cmake.install() copy(self, "LICENSE.txt", 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, "loader")) def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") - self.cpp_info.set_property("cmake_file_name", "Vulkan") - self.cpp_info.set_property("cmake_target_name", "Vulkan::Vulkan") + self.cpp_info.set_property("cmake_module_file_name", "Vulkan") + self.cpp_info.set_property("cmake_file_name", "VulkanLoader") + self.cpp_info.set_property("cmake_module_target_name", "Vulkan::Vulkan") + self.cpp_info.set_property("cmake_target_name", "Vulkan::Loader") self.cpp_info.set_property("pkg_config_name", "vulkan") suffix = "-1" if self.settings.os == "Windows" else "" self.cpp_info.libs = [f"vulkan{suffix}"] - # allow to properly set Vulkan_INCLUDE_DIRS in CMake like generators + # allow to properly set Vulkan_INCLUDE_DIRS in FindVulkan.cmake self.cpp_info.includedirs = self.dependencies["vulkan-headers"].cpp_info.aggregated_components().includedirs if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["dl", "pthread", "m"] elif self.settings.os == "Macos": self.cpp_info.frameworks = ["CoreFoundation"] - - vulkan_sdk_path = self.package_folder - self.output.info(f"Create VULKAN_SDK environment variable: {vulkan_sdk_path}") - self.env_info.VULKAN_SDK = vulkan_sdk_path - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "Vulkan" - self.cpp_info.names["cmake_find_package_multi"] = "Vulkan" - self.cpp_info.names["pkg_config"] = "vulkan" diff --git a/recipes/vulkan-loader/all/patches/1.3.236.0-0001-cmake-minimum-required-3.10.patch b/recipes/vulkan-loader/all/patches/1.3.236.0-0001-cmake-minimum-required-3.10.patch deleted file mode 100644 index fe88588420cd9..0000000000000 --- a/recipes/vulkan-loader/all/patches/1.3.236.0-0001-cmake-minimum-required-3.10.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/loader/CMakeLists.txt -+++ b/loader/CMakeLists.txt -@@ -160,9 +160,7 @@ if(WIN32) - target_link_libraries(asm_offset PRIVATE loader_specific_options) - # If not cross compiling, run asm_offset to generage gen_defines.asm - if (NOT CMAKE_CROSSCOMPILING) -- add_custom_command(TARGET asm_offset POST_BUILD -- COMMAND asm_offset MASM -- BYPRODUCTS gen_defines.asm) -+ add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset MASM) - else() - # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it. - target_compile_options(asm_offset PRIVATE "/Fa$/asm_offset.asm" /FA) -@@ -236,9 +234,7 @@ else() # i.e.: Linux - target_link_libraries(asm_offset loader_specific_options) - # If not cross compiling, run asm_offset to generage gen_defines.asm - if (NOT CMAKE_CROSSCOMPILING) -- add_custom_command(TARGET asm_offset POST_BUILD -- COMMAND asm_offset GAS -- BYPRODUCTS gen_defines.asm) -+ add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset GAS) - else() - # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it. - target_compile_options(asm_offset PRIVATE -save-temps=obj) diff --git a/recipes/vulkan-loader/all/patches/1.3.268.0-0001-fix-apple-arm.patch b/recipes/vulkan-loader/all/patches/1.3.268.0-0001-fix-apple-arm.patch new file mode 100644 index 0000000000000..28d9fbd552cb1 --- /dev/null +++ b/recipes/vulkan-loader/all/patches/1.3.268.0-0001-fix-apple-arm.patch @@ -0,0 +1,147 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 273c09f31..b06b7e73a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,7 +99,13 @@ if(WIN32) + elseif(ANDROID) + message(FATAL_ERROR "Android build not supported!") + elseif(APPLE) +- target_compile_definitions(platform_wsi INTERFACE VK_USE_PLATFORM_MACOS_MVK VK_USE_PLATFORM_METAL_EXT) ++ target_compile_definitions(platform_wsi INTERFACE VK_USE_PLATFORM_METAL_EXT) ++ if (IOS) ++ target_compile_definitions(platform_wsi INTERFACE VK_USE_PLATFORM_IOS_MVK) ++ endif() ++ if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ target_compile_definitions(platform_wsi INTERFACE VK_USE_PLATFORM_MACOS_MVK) ++ endif() + elseif(UNIX AND NOT APPLE) # i.e.: Linux + option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) + option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) +@@ -149,12 +155,6 @@ set(LOADER_STANDARD_CXX_PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED YES CXX + + set(TESTS_STANDARD_CXX_PROPERTIES ${LOADER_STANDARD_CXX_PROPERTIES} MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + +-# Build for iOS and tvOS +-option(APPLE_EMBEDDED "Apple non desktop devices" OFF) +-if (APPLE_EMBEDDED) +- add_definitions(-D__APPLE_EMBEDDED__) +-endif() +- + # Force the use of the multithreaded, static version of the C runtime. + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + +diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt +index c6366eef5..c1e8c3477 100644 +--- a/loader/CMakeLists.txt ++++ b/loader/CMakeLists.txt +@@ -201,6 +201,21 @@ end + message(WARNING "Could not find working MASM assembler\n${ASM_FAILURE_MSG}") + endif() + elseif(UNIX) # i.e.: Linux & Apple ++ ++ # This is hacky but works for now to get iOS/tvOS working. ++ # The problem is CMAKE_SYSTEM_PROCESSOR is empty when compiling for these platforms. ++ # This is likely due to the fact that CMAKE_OSX_ARCHITECTURES lets you compile for ++ # multiple archs at the same time. ++ # ++ # EX: ++ # -D CMAKE_OSX_ARCHITECTURES="x86_64;arm64" ++ if (APPLE AND CMAKE_CROSSCOMPILING) ++ set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}") ++ endif() ++ if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES ";") ++ message(FATAL_ERROR "Cannot handle multiple archs ( ${CMAKE_OSX_ARCHITECTURES} ) at the same time!") ++ endif() ++ + option(USE_GAS "Use GAS" ON) + if(USE_GAS) + enable_language(ASM) +@@ -208,12 +223,12 @@ elseif(UNIX) # i.e.: Linux & Apple + set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}") + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + +- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64") ++ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64|arm64") + try_compile(ASSEMBLER_WORKS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/asm_test_aarch64.S) + if(ASSEMBLER_WORKS) + set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas_aarch64.S) + endif() +- elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^i.86$") ++ elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64|amd64|x86|^i.86$") + check_include_file("cet.h" HAVE_CET_H) + if(HAVE_CET_H) + target_compile_definitions(loader_specific_options INTERFACE HAVE_CET_H) +diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h +index 3a8cafb7e..08e2d301b 100644 +--- a/loader/vk_loader_platform.h ++++ b/loader/vk_loader_platform.h +@@ -275,13 +275,16 @@ static inline char *loader_platform_executable_path(char *buffer, size_t size) { + return buffer; + } + #elif defined(__APPLE__) +-#if defined(__APPLE_EMBEDDED__) ++#include ++// TARGET_OS_IPHONE isn't just iOS it's also iOS/tvOS/watchOS. See TargetConditionals.h documentation. ++#if TARGET_OS_IPHONE + static inline char *loader_platform_executable_path(char *buffer, size_t size) { + (void)size; + buffer[0] = '\0'; + return buffer; + } +-#else ++#endif ++#if TARGET_OS_OSX + #include + static inline char *loader_platform_executable_path(char *buffer, size_t size) { + pid_t pid = getpid(); +diff --git a/loader/wsi.c b/loader/wsi.c +index 8c86733c5..bd9604a02 100644 +--- a/loader/wsi.c ++++ b/loader/wsi.c +@@ -1308,6 +1308,33 @@ out: + return vkRes; + } + ++// Ensure we are properly setting VK_USE_PLATFORM_METAL_EXT, VK_USE_PLATFORM_IOS_MVK, and VK_USE_PLATFORM_MACOS_MVK. ++#if __APPLE__ ++ ++#ifndef VK_USE_PLATFORM_METAL_EXT ++#error "VK_USE_PLATFORM_METAL_EXT not defined!" ++#endif ++ ++#include ++ ++#if TARGET_OS_IOS ++ ++#ifndef VK_USE_PLATFORM_IOS_MVK ++#error "VK_USE_PLATFORM_IOS_MVK not defined!" ++#endif ++ ++#endif // TARGET_OS_IOS ++ ++#if TARGET_OS_OSX ++ ++#ifndef VK_USE_PLATFORM_MACOS_MVK ++#error "VK_USE_PLATFORM_MACOS_MVK not defined!" ++#endif ++ ++#endif // TARGET_OS_OSX ++ ++#endif // __APPLE__ ++ + #if defined(VK_USE_PLATFORM_MACOS_MVK) + + // Functions for the VK_MVK_macos_surface extension: +diff --git a/scripts/parse_asm_values.py b/scripts/parse_asm_values.py +index e6ae90f5f..87d669326 100644 +--- a/scripts/parse_asm_values.py ++++ b/scripts/parse_asm_values.py +@@ -72,7 +72,7 @@ with open(destination_file, "w", encoding="utf-8") as dest: + # let the assembler know which platform to use + if arch == "x86_64": + dest.write(".set X86_64, 1\n") +- elif arch == "aarch64": ++ elif arch == "aarch64" or arch == "arm64": + dest.write(".set AARCH_64, 1\n") + # Nothing to write in the x86 case + diff --git a/recipes/vulkan-loader/all/test_package/CMakeLists.txt b/recipes/vulkan-loader/all/test_package/CMakeLists.txt index 5a43176c74c66..b086288213558 100644 --- a/recipes/vulkan-loader/all/test_package/CMakeLists.txt +++ b/recipes/vulkan-loader/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -find_package(Vulkan REQUIRED) +find_package(VulkanLoader REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Vulkan) +target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Loader) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/vulkan-loader/all/test_v1_package/CMakeLists.txt b/recipes/vulkan-loader/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/vulkan-loader/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/vulkan-loader/all/test_v1_package/conanfile.py b/recipes/vulkan-loader/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/vulkan-loader/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" - - 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/vulkan-loader/config.yml b/recipes/vulkan-loader/config.yml index adbbc65a8cb73..a9f30cdd286b9 100644 --- a/recipes/vulkan-loader/config.yml +++ b/recipes/vulkan-loader/config.yml @@ -1,11 +1,11 @@ versions: - "1.3.243.0": + "1.3.268.0": folder: all - "1.3.239.0": + "1.3.250.0": folder: all - "1.3.236.0": + "1.3.243.0": folder: all - "1.3.211.0": + "1.3.239.0": folder: all "1.2.198.0": folder: all From 47fbe2d1c7561677e23ef67081ddf40d7bab8152 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 12:07:15 +0100 Subject: [PATCH 2544/4087] (#21096) very-simple-smtps/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/very-simple-smtps/all/conanfile.py | 4 ++-- recipes/very-simple-smtps/all/test_package/conanfile.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/very-simple-smtps/all/conanfile.py b/recipes/very-simple-smtps/all/conanfile.py index 05577269f4e54..cd85fab595e54 100644 --- a/recipes/very-simple-smtps/all/conanfile.py +++ b/recipes/very-simple-smtps/all/conanfile.py @@ -83,9 +83,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") def build_requirements(self): - self.tool_requires("meson/1.2.0") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/very-simple-smtps/all/test_package/conanfile.py b/recipes/very-simple-smtps/all/test_package/conanfile.py index 8447f0b111a8d..7433710099642 100644 --- a/recipes/very-simple-smtps/all/test_package/conanfile.py +++ b/recipes/very-simple-smtps/all/test_package/conanfile.py @@ -16,9 +16,9 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("meson/1.2.0") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): meson = Meson(self) From 0ba5658252baf85da84f7258c8af3862bd515840 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 14 Nov 2023 14:27:50 +0300 Subject: [PATCH 2545/4087] (#21060) libavif >= 0.11.0: add libwebp to requirements in order to get sharpyuv and therefore ensure reproducible build --- recipes/libavif/all/conanfile.py | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/recipes/libavif/all/conanfile.py b/recipes/libavif/all/conanfile.py index 247dc536d3759..49fe058e91455 100644 --- a/recipes/libavif/all/conanfile.py +++ b/recipes/libavif/all/conanfile.py @@ -1,10 +1,12 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class LibAVIFConan(ConanFile): @@ -13,7 +15,8 @@ class LibAVIFConan(ConanFile): license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/AOMediaCodec/libavif" - topics = ("avif") + topics = ("avif",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,6 +29,10 @@ class LibAVIFConan(ConanFile): "with_decoder": "dav1d", } + @property + def _depends_on_sharpyuv(self): + return Version(self.version) >= "0.11.0" + def export_sources(self): export_conandata_patches(self) @@ -51,10 +58,15 @@ def requirements(self): self.requires("libyuv/1854") if self._has_dav1d: self.requires("dav1d/1.2.1") + if self._depends_on_sharpyuv: + self.requires("libwebp/1.3.2") + + 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 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) @@ -63,8 +75,6 @@ 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 - # 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.generate() deps = CMakeDeps(self) deps.generate() @@ -110,10 +120,6 @@ def package(self): save(self, alias, content) def package_info(self): - self.cpp_info.requires = ["libyuv::libyuv", "libaom-av1::libaom-av1"] - if self._has_dav1d: - self.cpp_info.requires.append("dav1d::dav1d") - self.cpp_info.libs = ["avif"] if self.options.shared: self.cpp_info.defines = ["AVIF_DLL"] @@ -122,6 +128,12 @@ def package_info(self): if self._has_dav1d: self.cpp_info.system_libs.append("dl") + self.cpp_info.requires = ["libyuv::libyuv", "libaom-av1::libaom-av1"] + if self._has_dav1d: + self.cpp_info.requires.append("dav1d::dav1d") + if self._depends_on_sharpyuv: + self.cpp_info.requires.append("libwebp::sharpyuv") + self.cpp_info.set_property("cmake_file_name", "libavif") self.cpp_info.set_property("cmake_target_name", "avif") self.cpp_info.set_property("pkg_config_name", "libavif") From 6a37da34a8db3bbda8d8d0902bd229ac64d4a892 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 14 Nov 2023 13:44:52 +0200 Subject: [PATCH 2546/4087] (#19238) ftjam: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ftjam: migrate to Conan v2 * ftjam: fix test_v1_package * ftjam: apply review suggestions * ftjam: move cross-building check to validate_build() Co-authored-by: Rubén Rincón Blanco --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Blanco --- recipes/ftjam/all/conandata.yml | 3 - recipes/ftjam/all/conanfile.py | 173 ++++++++++-------- recipes/ftjam/all/test_package/conanfile.py | 36 ++-- .../ftjam/all/test_v1_package/conanfile.py | 32 ++++ 4 files changed, 143 insertions(+), 101 deletions(-) create mode 100644 recipes/ftjam/all/test_v1_package/conanfile.py diff --git a/recipes/ftjam/all/conandata.yml b/recipes/ftjam/all/conandata.yml index 11d1d96f36866..c3fe801d090c2 100644 --- a/recipes/ftjam/all/conandata.yml +++ b/recipes/ftjam/all/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "2.5.2": - patch_file: "patches/0001-jam-2.5-overflow.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-msvc-mingw-fix-makefile.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-missing-includes.patch" - base_path: "source_subfolder" diff --git a/recipes/ftjam/all/conanfile.py b/recipes/ftjam/all/conanfile.py index 3a86cd556cb4a..9297683794c7e 100644 --- a/recipes/ftjam/all/conanfile.py +++ b/recipes/ftjam/all/conanfile.py @@ -1,127 +1,142 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, load, replace_in_file, save +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, NMakeToolchain + +required_conan_version = ">=1.47.0" class FtjamConan(ConanFile): name = "ftjam" description = "Jam (ftjam) is a small open-source build tool that can be used as a replacement for Make." - topics = ("conan", "ftjam", "build", "make") + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.freetype.org/jam/" - license = "BSD-3-Clause" - exports_sources = "patches/*" - settings = "os", "arch", "compiler", "build_type" + topics = ("build", "make") - _autotools = None + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property - def _source_subfolder(self): - return "source_subfolder" + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def export_sources(self): + export_conandata_patches(self) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def validate(self): - if self.settings.compiler == "Visual Studio": - raise ConanInvalidConfiguration("ftjam doesn't build with Visual Studio yet") - if hasattr(self, "settings_build") and tools.cross_building(self): - raise ConanInvalidConfiguration("ftjam can't be cross-built") + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.compiler - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + def validate(self): + if is_msvc(self): + # Build fails with + # NMAKE : fatal error U1077: 'jam0 JamFile' : return code '0xc0000005' + raise ConanInvalidConfiguration("ftjam doesn't build with Visual Studio yet") + + def validate_build(self): + if hasattr(self, "settings_build") and cross_building(self): + raise ConanInvalidConfiguration("ftjam can't be cross-built") def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.2") - if self.settings.os != "Windows": - self.build_requires("bison/3.7.1") + if self._settings_build.os == "Windows": + self.tool_requires("winflexbison/2.5.24") + else: + self.tool_requires("bison/3.8.2") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - tools.replace_in_file(os.path.join(self._source_subfolder, "jamgram.c"), - "\n#line", "\n//#line") - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.libs = [] - # The configure MUST be run inside this directory - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder, "builds", "unix")): - self._autotools.configure() - return self._autotools + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "jamgram.c"), "\n#line", "\n//#line") + + def _jam_toolset(self, os, compiler): + if is_msvc(self): + return "VISUALC" + if compiler == "intel-cc": + return "INTELC" + if os == "Windows": + return "MINGW" + return None def build(self): self._patch_sources() - with tools.chdir(self._source_subfolder): + with chdir(self, self.source_folder): if self.settings.os == "Windows": # toolset name of the system building ftjam jam_toolset = self._jam_toolset(self.settings.os, self.settings.compiler) - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.libs = [] - env = autotools.vars - with tools.environment_append(env): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - self.run("nmake -f builds/win32-visualc.mk JAM_TOOLSET={}".format(jam_toolset)) - else: - with tools.environment_append({"PATH": [os.getcwd()]}): - autotools.make(args=["JAM_TOOLSET={}".format(jam_toolset), "-f", "builds/win32-gcc.mk"]) + if is_msvc(self): + self.run(f"nmake -f builds/win32-visualc.mk JAM_TOOLSET={jam_toolset}") + else: + os.environ["PATH"] += os.pathsep + os.getcwd() + autotools = Autotools(self) + autotools.make(args=[f"JAM_TOOLSET={jam_toolset}", "-f", "builds/win32-gcc.mk"]) else: - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure(build_script_folder=os.path.join(self.source_folder, "builds", "unix")) autotools.make() + def _extract_license(self): + txt = load(self, os.path.join(self.source_folder, "jam.c")) + license_txt = txt[: txt.find("*/") + 3] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_txt) + def package(self): - txt = tools.load(os.path.join(self._source_subfolder, "jam.c")) - license_txt = txt[:txt.find("*/")+3] - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), license_txt) + self._extract_license() if self.settings.os == "Windows": - if self.settings.compiler == "Visual Studio": - pass - else: - self.copy("*.exe", src=os.path.join(self._source_subfolder, "bin.nt"), dst=os.path.join(self.package_folder, "bin")) + if not is_msvc(self): + copy(self, "*.exe", + src=os.path.join(self.source_folder, "bin.nt"), + dst=os.path.join(self.package_folder, "bin")) else: - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.install() - - def _jam_toolset(self, os, compiler): - if compiler == "Visual Studio": - return "VISUALC" - if compiler == "intel": - return "INTELC" - if os == "Windows": - return "MINGW" - return None + copy(self, "jam", + src=os.path.join(self.source_folder, "bin.unix"), + dst=os.path.join(self.package_folder, "bin")) def package_info(self): - jam_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(jam_path)) - self.env_info.PATH.append(jam_path) + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + jam_path = os.path.join(self.package_folder, "bin") jam_bin = os.path.join(jam_path, "jam") if self.settings.os == "Windows": jam_bin += ".exe" - self.output.info("Setting JAM environment variable: {}".format(jam_bin)) - self.env_info.JAM = jam_bin + self.buildenv.define_path("JAM", jam_bin) + self.runenv.define_path("JAM", jam_bin) # toolset of the system using ftjam jam_toolset = self._jam_toolset(self.settings.os, self.settings.compiler) if jam_toolset: - self.output.info("Setting JAM_TOOLSET environment variable: {}".format(jam_toolset)) + self.buildenv.define("JAM_TOOLSET", jam_toolset) + self.runenv.define("JAM_TOOLSET", jam_toolset) + + # TODO: Legacy, to be removed on Conan 2.0 + self.env_info.PATH.append(jam_path) + self.env_info.JAM = jam_bin + if jam_toolset: self.env_info.JAM_TOOLSET = jam_toolset diff --git a/recipes/ftjam/all/test_package/conanfile.py b/recipes/ftjam/all/test_package/conanfile.py index da7d45af31ef5..d071a67caf36c 100644 --- a/recipes/ftjam/all/test_package/conanfile.py +++ b/recipes/ftjam/all/test_package/conanfile.py @@ -1,31 +1,29 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools import os import shutil +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout -class TestPackage(ConanFile): + +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" def build_requirements(self): - if hasattr(self, "settings_build"): - self.build_requires(str(self.requires["ftjam"])) + self.tool_requires(self.tested_reference_str) + + def layout(self): + basic_layout(self) def build(self): for f in ("header.h", "main.c", "source.c", "Jamfile"): - shutil.copy(os.path.join(self.source_folder, f), - os.path.join(self.build_folder, f)) - if not tools.cross_building(self): - assert os.path.isfile(tools.get_env("JAM")) - - vars = AutoToolsBuildEnvironment(self).vars - vars["CCFLAGS"] = vars["CFLAGS"] - vars["C++FLAGS"] = vars["CXXFLAGS"] - vars["LINKFLAGS"] = vars["LDFLAGS"] - vars["LINKLIBS"] = vars["LIBS"] - with tools.environment_append(vars): - self.run("{} -d7".format(tools.get_env("JAM")), run_environment=True) + shutil.copy(os.path.join(self.source_folder, f), os.path.join(self.build_folder, f)) + if can_run(self): + self.run("jam -d7") def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ftjam/all/test_v1_package/conanfile.py b/recipes/ftjam/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2c48aab90b45b --- /dev/null +++ b/recipes/ftjam/all/test_v1_package/conanfile.py @@ -0,0 +1,32 @@ +from conans import AutoToolsBuildEnvironment, ConanFile, tools +import os +import shutil + + +class TestPackage(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def build_requirements(self): + if hasattr(self, "settings_build"): + self.build_requires(str(self.requires["ftjam"])) + + def build(self): + source_folder = os.path.join(self.source_folder, "..", "test_package") + for f in ("header.h", "main.c", "source.c", "Jamfile"): + shutil.copy(os.path.join(source_folder, f), + os.path.join(self.build_folder, f)) + if not tools.cross_building(self): + assert os.path.isfile(tools.get_env("JAM")) + + vars = AutoToolsBuildEnvironment(self).vars + vars["CCFLAGS"] = vars["CFLAGS"] + vars["C++FLAGS"] = vars["CXXFLAGS"] + vars["LINKFLAGS"] = vars["LDFLAGS"] + vars["LINKLIBS"] = vars["LIBS"] + with tools.environment_append(vars): + self.run("{} -d7".format(tools.get_env("JAM")), run_environment=True) + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join(".", "test_package") + self.run(bin_path, run_environment=True) From 1ec0492572b659357bea33f91e4ba881eca849ef Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 13:07:52 +0100 Subject: [PATCH 2547/4087] (#21099) elfutils: bump deps --- recipes/elfutils/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index afd0ce98df71a..587120d32dbbb 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -65,11 +65,11 @@ def layout(self): def requirements(self): self.requires("zlib/1.2.13") if self.options.with_sqlite3: - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.44.0") if self.options.with_bzlib: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.2") + self.requires("xz_utils/5.4.4") if self.options.get_safe("libdebuginfod"): self.requires("libcurl/8.1.2") if self.options.debuginfod: @@ -82,7 +82,7 @@ def build_requirements(self): self.build_requires("flex/2.6.4") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 20af9d3ecb15125e56eb44ecd8cfd6209454a620 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 21:47:50 +0900 Subject: [PATCH 2548/4087] (#21101) cpr: update libcurl/8.4.0 --- recipes/cpr/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index dc8630b8a6edd..b285ccfc9ac18 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -123,7 +123,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.2.1", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/8.4.0", transitive_headers=True, transitive_libs=True) # FIXME: This is a very dirty hack. # with_ssl == _AUTO_SSL, cpr needs the openssl header to compile. But Conan recipe does not know which SSL library to use. # because cpr's CMakeLists.txt automatically detects SSL libraries with CPR_ENABLE_SSL == ON. From e5890e712517a474895ea5f5209f376422f5608c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 14 Nov 2023 15:24:48 +0200 Subject: [PATCH 2549/4087] (#18792) tgbot: migrate to Conan v2 * tgbot: migrate to Conan v2 * tgbot: drop the older v1.2 and v1.2.1 * tgbot: fix test_v1_package * tgbot: fix_apple_shared_install_name() * tgbot: add missing boost::stacktrace require * tgbot: just require boost::boost Would need to add boost::stacktrace_backtrace, but it's an optional indirect component. * tgbot: improvements from review Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/tgbot/all/CMakeLists.txt | 7 -- recipes/tgbot/all/conandata.yml | 6 -- recipes/tgbot/all/conanfile.py | 92 ++++++++++--------- recipes/tgbot/all/test_package/CMakeLists.txt | 7 +- recipes/tgbot/all/test_package/conanfile.py | 20 +++- .../tgbot/all/test_v1_package/CMakeLists.txt | 8 ++ .../tgbot/all/test_v1_package/conanfile.py | 16 ++++ recipes/tgbot/config.yml | 4 - 8 files changed, 92 insertions(+), 68 deletions(-) delete mode 100644 recipes/tgbot/all/CMakeLists.txt create mode 100644 recipes/tgbot/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tgbot/all/test_v1_package/conanfile.py diff --git a/recipes/tgbot/all/CMakeLists.txt b/recipes/tgbot/all/CMakeLists.txt deleted file mode 100644 index 959835f6b0885..0000000000000 --- a/recipes/tgbot/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/tgbot/all/conandata.yml b/recipes/tgbot/all/conandata.yml index 054b04f19ea35..e2625bd0a2fbb 100644 --- a/recipes/tgbot/all/conandata.yml +++ b/recipes/tgbot/all/conandata.yml @@ -5,9 +5,3 @@ sources: "1.3": url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.3.tar.gz" sha256: "85b9aef49c595d39fc9dc330b1b83625bea9509966dc623f7b4c1ee7309679c9" - "1.2.1": - url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.2.1.tar.gz" - sha256: "bcc82cc8c421e96098ba6ef350acc0c1ce9fbbc21a11b91eb8643324757d09f2" - "1.2": - url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.2.tar.gz" - sha256: "6d5158db38fb092e12060080a611ccdccde35cfb85f030996daee9619bebc513" diff --git a/recipes/tgbot/all/conanfile.py b/recipes/tgbot/all/conanfile.py index b7db60eafd261..1fb99e68206f6 100644 --- a/recipes/tgbot/all/conanfile.py +++ b/recipes/tgbot/all/conanfile.py @@ -1,19 +1,24 @@ -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 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 + +required_conan_version = ">=1.53.0" class TgbotConan(ConanFile): name = "tgbot" - - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://reo7sp.github.io/tgbot-cpp" description = "C++ library for Telegram bot API" - topics = ("tgbot", "telegram", "telegram-api", "telegram-bot", "bot") license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://reo7sp.github.io/tgbot-cpp" + topics = ("telegram", "telegram-api", "telegram-bot", "bot") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,27 +29,23 @@ class TgbotConan(ConanFile): "fPIC": True, } - generators = "cmake", "cmake_find_package" - exports_sources = ["CMakeLists.txt"] - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.79.0") - self.requires("libcurl/7.84.0") - self.requires("openssl/1.1.1q") + # tgbot/Api.h:#include + self.requires("boost/1.83.0", transitive_headers=True, transitive_libs=True) + # tgbot/net/CurlHttpClient.h:#include + self.requires("libcurl/[>=7.78 <9]", transitive_headers=True, transitive_libs=True) + self.requires("openssl/[>=1.1 <4]") @property def _required_boost_components(self): @@ -52,41 +53,50 @@ def _required_boost_components(self): def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) - 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))) + check_min_cppstd(self, 11) + 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( + f"{self.name} requires non header-only boost with these components: " + + ", ".join(self._required_boost_components) + ) 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["ENABLE_TESTS"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): # Don't force PIC - tools.replace_in_file( - os.path.join(self._source_subfolder, "CMakeLists.txt"), + replace_in_file( + self, + os.path.join(self.source_folder, "CMakeLists.txt"), "set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)", - "" + "", ) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["ENABLE_TESTS"] = False - self._cmake.configure() - return self._cmake - 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", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + fix_apple_shared_install_name(self) def package_info(self): self.cpp_info.libs = ["TgBot"] - self.cpp_info.requires = ["boost::headers", "boost::system", "libcurl::libcurl", "openssl::openssl"] + self.cpp_info.defines = ["HAVE_CURL=1"] diff --git a/recipes/tgbot/all/test_package/CMakeLists.txt b/recipes/tgbot/all/test_package/CMakeLists.txt index b41fdddf1c066..ebe398c29035c 100644 --- a/recipes/tgbot/all/test_package/CMakeLists.txt +++ b/recipes/tgbot/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tgbot REQUIRED) +find_package(tgbot REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/tgbot/all/test_package/conanfile.py b/recipes/tgbot/all/test_package/conanfile.py index 7122b776c7119..ef5d7042163ec 100644 --- a/recipes/tgbot/all/test_package/conanfile.py +++ b/recipes/tgbot/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package", "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tgbot/all/test_v1_package/CMakeLists.txt b/recipes/tgbot/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/tgbot/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/tgbot/all/test_v1_package/conanfile.py b/recipes/tgbot/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..80f8edbcec938 --- /dev/null +++ b/recipes/tgbot/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake_find_package_multi", "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/tgbot/config.yml b/recipes/tgbot/config.yml index 220c83c443ceb..39a996dda935d 100644 --- a/recipes/tgbot/config.yml +++ b/recipes/tgbot/config.yml @@ -3,7 +3,3 @@ versions: folder: all "1.3": folder: all - "1.2.1": - folder: all - "1.2": - folder: all From ed2ef8002b52bc673aae8b427ab2a0a818878198 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 22:47:43 +0900 Subject: [PATCH 2550/4087] (#21104) minizip-ng: add version 4.0.3 --- recipes/minizip-ng/all/conandata.yml | 3 +++ recipes/minizip-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index cea39ab395159..3d2b61dbae697 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.3": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.3.tar.gz" + sha256: "e39a736d4f55c22fa548e68225b2e92bc22aedd9ab90d002b0c5851e3a7bdace" "4.0.2": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.2.tar.gz" sha256: "22008b4639197edfc3c5797c8bd1d7a3b2e684bf669a26834faf12b4026dba1c" diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index 4a5dbdbac3fe0..30253cff927d4 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.3": + folder: all "4.0.2": folder: all "4.0.1": From bec5eafe667ca0d1d4c898e9a12422c0398ba91c Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 14 Nov 2023 17:08:42 +0300 Subject: [PATCH 2551/4087] (#21105) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 3db38e267e0c3..dc1231d30c7ad 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.2.tar.gz" + sha256: "4d5a0f7ed250cbcb8a3a1f4244f8413ed854e538406c571e83ebccf709cff49e" "2.2.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.1.tar.gz" sha256: "1e774a01d866c2738e1ec897ebb58057bf0eb7d7895aed48904907a77934c459" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index d58d3cd0ced6a..abdfa70d5200d 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.2": + folder: all "2.2.1": folder: all "2.2.0": From 36123f25d85fe1510b776975cffcef2b832b8393 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 14 Nov 2023 23:28:31 +0900 Subject: [PATCH 2552/4087] (#21108) fast_float: add version 5.3.0 --- recipes/fast_float/all/conandata.yml | 3 +++ recipes/fast_float/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index 639141632b5b0..c4a46f9c557aa 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.0": + url: "https://github.com/fastfloat/fast_float/archive/v5.3.0.tar.gz" + sha256: "2f3bc50670455534dcaedc9dcd0517b71152f319d0cec8625f21c51d23eaf4b9" "5.2.0": url: "https://github.com/fastfloat/fast_float/archive/v5.2.0.tar.gz" sha256: "72bbfd1914e414c920e39abdc81378adf910a622b62c45b4c61d344039425d18" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index e3868aa3d0506..92a05dc14b869 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.0": + folder: all "5.2.0": folder: all "5.1.0": From 3117ddbc450b58927b3b76ced10e866abb382e90 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 14 Nov 2023 17:23:16 +0200 Subject: [PATCH 2553/4087] (#20962) libdicom: add a new recipe * libdicom: add new recipe * libdicom: fix lib name * libdicom: fix test_package * libdicom: export required env var Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libdicom/all/conandata.yml | 4 + recipes/libdicom/all/conanfile.py | 85 +++++++++++++++++++ .../libdicom/all/test_package/conanfile.py | 32 +++++++ recipes/libdicom/all/test_package/meson.build | 5 ++ .../libdicom/all/test_package/test_package.c | 7 ++ recipes/libdicom/config.yml | 3 + 6 files changed, 136 insertions(+) create mode 100644 recipes/libdicom/all/conandata.yml create mode 100644 recipes/libdicom/all/conanfile.py create mode 100644 recipes/libdicom/all/test_package/conanfile.py create mode 100644 recipes/libdicom/all/test_package/meson.build create mode 100644 recipes/libdicom/all/test_package/test_package.c create mode 100644 recipes/libdicom/config.yml diff --git a/recipes/libdicom/all/conandata.yml b/recipes/libdicom/all/conandata.yml new file mode 100644 index 0000000000000..8eb7bfa03fad7 --- /dev/null +++ b/recipes/libdicom/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.5": + url: "https://github.com/ImagingDataCommons/libdicom/archive/refs/tags/v1.0.5.tar.gz" + sha256: "ebf5f7c0d1a0f802c1801f2f762537f014f2a431be3e063142f6ed3c96878abb" diff --git a/recipes/libdicom/all/conanfile.py b/recipes/libdicom/all/conanfile.py new file mode 100644 index 0000000000000..ab459c73d54b3 --- /dev/null +++ b/recipes/libdicom/all/conanfile.py @@ -0,0 +1,85 @@ +import os + +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain + +required_conan_version = ">=1.53.0" + + +class LibdicomConan(ConanFile): + name = "libdicom" + description = "libdicom is a C library and a set of command-line tools for reading DICOM WSI files." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ImagingDataCommons/libdicom" + topics = ("dicom", "medical-imaging") + + 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") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def requirements(self): + self.requires("uthash/2.3.0") + + def layout(self): + basic_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["tests"] = "false" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + 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 = ["dicom"] + self.cpp_info.set_property("pkg_config_name", "libdicom") + if not self.options.shared: + self.cpp_info.defines = ["DCM_STATIC"] diff --git a/recipes/libdicom/all/test_package/conanfile.py b/recipes/libdicom/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2e3df45816e5a --- /dev/null +++ b/recipes/libdicom/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/libdicom/all/test_package/meson.build b/recipes/libdicom/all/test_package/meson.build new file mode 100644 index 0000000000000..706b1702c86ed --- /dev/null +++ b/recipes/libdicom/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('libdicom') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/libdicom/all/test_package/test_package.c b/recipes/libdicom/all/test_package/test_package.c new file mode 100644 index 0000000000000..1c30db0e66514 --- /dev/null +++ b/recipes/libdicom/all/test_package/test_package.c @@ -0,0 +1,7 @@ +#include + +int main(void) { + DcmError *error = NULL; + dcm_filehandle_create_from_file(&error, "xyz"); + return 0; +} diff --git a/recipes/libdicom/config.yml b/recipes/libdicom/config.yml new file mode 100644 index 0000000000000..84f5016ed4a14 --- /dev/null +++ b/recipes/libdicom/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.5": + folder: all From a24477f681a36c2c5ac5ce8ad046df4dd554ddbc Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Tue, 14 Nov 2023 11:26:20 -0500 Subject: [PATCH 2554/4087] (#21061) liburing: Add 2.3+2.4 and update to Conan 2 * Update recipe for liburing 2.3 * Add new version to config.yml * Try to migrate to Conan 2 * Lint recipe * Only build src directory * Misc Conan 2 fixes * Fix nolibc option on older versions * Bandaid fix for broken symlinks * Fix conan2 lint * Use relative symlink instead of absolute * Add 2.4 * Add v1 test package * Incorporate review suggestions --------- Co-authored-by: John Freeman --- recipes/liburing/all/conandata.yml | 9 +- recipes/liburing/all/conanfile.py | 95 +++++++++---------- .../liburing/all/test_package/CMakeLists.txt | 3 - .../liburing/all/test_package/conanfile.py | 18 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../liburing/all/test_v1_package/conanfile.py | 17 ++++ recipes/liburing/config.yml | 4 + 7 files changed, 94 insertions(+), 60 deletions(-) create mode 100644 recipes/liburing/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/liburing/all/test_v1_package/conanfile.py diff --git a/recipes/liburing/all/conandata.yml b/recipes/liburing/all/conandata.yml index ca85945754398..c886933bedcfe 100644 --- a/recipes/liburing/all/conandata.yml +++ b/recipes/liburing/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.4": + url: "https://github.com/axboe/liburing/archive/liburing-2.4.tar.gz" + sha256: "2398ec82d967a6f903f3ae1fd4541c754472d3a85a584dc78c5da2fabc90706b" + "2.3": + url: "https://github.com/axboe/liburing/archive/liburing-2.3.tar.gz" + sha256: "60b367dbdc6f2b0418a6e0cd203ee0049d9d629a36706fcf91dfb9428bae23c8" "2.2": url: "https://github.com/axboe/liburing/archive/liburing-2.2.tar.gz" sha256: "e092624af6aa244ade2d52181cc07751ac5caba2f3d63e9240790db9ed130bbc" @@ -14,5 +20,4 @@ sources: patches: "2.1": - - base_path: "source_subfolder" - patch_file: "patches/0001-liburing-2.1-memfd-create.patch" + - patch_file: "patches/0001-liburing-2.1-memfd-create.patch" diff --git a/recipes/liburing/all/conanfile.py b/recipes/liburing/all/conanfile.py index 9035e2b799208..b1e4b79034482 100644 --- a/recipes/liburing/all/conanfile.py +++ b/recipes/liburing/all/conanfile.py @@ -1,14 +1,15 @@ -from conans import AutoToolsBuildEnvironment from conan import ConanFile -from conan.tools.files import get, patch, chdir, rmdir, copy +from conan.tools.files import get, rmdir, copy, apply_conandata_patches, chdir, export_conandata_patches, rm from conan.tools.scm import Version +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.54.0" -class LiburingConan(ConanFile): +class Liburing(ConanFile): name = "liburing" license = "GPL-2.0-or-later" homepage = "https://github.com/axboe/liburing" @@ -29,13 +30,12 @@ class LiburingConan(ConanFile): "with_libc": True, } - exports_sources = ["patches/*"] + def export_sources(self): + export_conandata_patches(self) - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def requirements(self): + if Version(self.version) < "2.3": + self.requires("linux-headers-generic/5.13.9") def config_options(self): if self.settings.os == "Windows": @@ -45,13 +45,9 @@ 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 - - def requirements(self): - self.requires("linux-headers-generic/5.13.9") + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def validate(self): # FIXME: use kernel version of build/host machine. @@ -60,49 +56,50 @@ def validate(self): raise ConanInvalidConfiguration( "liburing is supported only on linux") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools + def layout(self): + basic_layout(self, src_folder='src') - self._autotools = AutoToolsBuildEnvironment(self) - args = [] - if self.options.get_safe("with_libc") == False: - args.append("--nolibc") - self._autotools.configure(args=args) - self._autotools.flags.append("-std=gnu99") - return self._autotools - - def _patch_sources(self): - for data in self.conan_data.get("patches", {}).get(self.version, []): - patch(self, **data) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.update_configure_args({ + "--nolibc": None if self.options.get_safe("with_libc", default=True) else "", + "--enable-shared": None, + "--disable-shared": None, + "--enable-static": None, + "--disable-static": None, + "--bindir": None, + "--sbindir": None, + "--oldincludedir": None, + "--libdevdir": "${prefix}/lib", # pointing to libdir + }) + tc.generate() def build(self): - self._patch_sources() - with chdir(self, self._source_subfolder): - autotools = self._configure_autotools() - autotools.make() + apply_conandata_patches(self) + with chdir(self, self.source_folder): + at = Autotools(self) + at.configure() + at.make(target="src") def package(self): - copy(self, "COPYING*", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) - copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - with chdir(self, self._source_subfolder): - autotools = self._configure_autotools() - install_args = [ - "ENABLE_SHARED={}".format(1 if self.options.shared else 0) - ] - autotools.install(args=install_args) + with chdir(self, self.source_folder): + at = Autotools(self) + at.install( + args=[f"ENABLE_SHARED={1 if self.options.shared else 0}"] + ) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "man")) if self.options.shared: - os.remove(os.path.join(self.package_folder, "lib", "liburing.a")) + rm(self, "*.a", os.path.join(self.package_folder, "lib")) def package_info(self): - self.cpp_info.names["pkg_config"] = "liburing" + self.cpp_info.set_property("pkg_config_name", "liburing") self.cpp_info.libs = ["uring"] diff --git a/recipes/liburing/all/test_package/CMakeLists.txt b/recipes/liburing/all/test_package/CMakeLists.txt index b8135611cec52..7ccf5415cdb07 100644 --- a/recipes/liburing/all/test_package/CMakeLists.txt +++ b/recipes/liburing/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(liburing REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/liburing/all/test_package/conanfile.py b/recipes/liburing/all/test_package/conanfile.py index 6fbb963afebbd..ead8e42a0dc6d 100644 --- a/recipes/liburing/all/test_package/conanfile.py +++ b/recipes/liburing/all/test_package/conanfile.py @@ -1,6 +1,6 @@ -from conans import CMake from conan import ConanFile -from conan.tools.build import cross_building +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout from conan.tools.scm import Version import platform import re @@ -9,7 +9,13 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + 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) @@ -23,6 +29,6 @@ def _sufficient_linux_kernel_version(self): return Version(linux_kernel_version) >= "5.1" def test(self): - if not cross_building(self) and self._sufficient_linux_kernel_version: - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self) and self._sufficient_linux_kernel_version: + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/liburing/all/test_v1_package/CMakeLists.txt b/recipes/liburing/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..de3b75d9538de --- /dev/null +++ b/recipes/liburing/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +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/liburing/all/test_v1_package/conanfile.py b/recipes/liburing/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/liburing/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) diff --git a/recipes/liburing/config.yml b/recipes/liburing/config.yml index 7c72c93d4edcd..264b68e5678d7 100644 --- a/recipes/liburing/config.yml +++ b/recipes/liburing/config.yml @@ -1,4 +1,8 @@ versions: + "2.4": + folder: all + "2.3": + folder: all "2.2": folder: all "2.1": From cac90798dbebb137f6b48cf9278658a8fd5cd52b Mon Sep 17 00:00:00 2001 From: Frank Schoenmann Date: Tue, 14 Nov 2023 18:05:01 +0000 Subject: [PATCH 2555/4087] (#19152) Add mold 2.0.0 * mold: add version 2.0.0 * Requires at least CMake 3.18 --- recipes/mold/all/conandata.yml | 3 +++ recipes/mold/all/conanfile.py | 11 ++++++++++- recipes/mold/config.yml | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 22885d71a0ad6..3cb117fe8e4d9 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/rui314/mold/archive/refs/tags/v2.0.0.tar.gz" + sha256: "2ae8a22db09cbff626df74c945079fa29c1e5f60bbe02502dcf69191cf43527b" "1.4.2": url: "https://github.com/rui314/mold/archive/refs/tags/v1.4.2.tar.gz" sha256: "47e6c48d20f49e5b47dfb8197dd9ffcb11a8833d614f7a03bd29741c658a69cd" diff --git a/recipes/mold/all/conanfile.py b/recipes/mold/all/conanfile.py index 7a48206ed3782..5fbdddad5364f 100644 --- a/recipes/mold/all/conanfile.py +++ b/recipes/mold/all/conanfile.py @@ -10,7 +10,7 @@ class MoldConan(ConanFile): name = "mold" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rui314/mold/" - license = "AGPL-3.0" + license = ("AGPL-3.0", "MIT") description = ("mold is a faster drop-in replacement for existing Unix linkers. It is several times faster than the LLVM lld linker") topics = ("mold", "ld", "linkage", "compilation") @@ -22,6 +22,12 @@ class MoldConan(ConanFile): "with_mimalloc": False, } + def configure(self): + if Version(self.version) < "2.0.0": + self.license = "AGPL-3.0" + else: + self.license = "MIT" + def validate(self): #TODO most of these checks should run on validate_build, but the conan-center hooks are broken and fail the PR because they # think we're raising on the build() method @@ -44,6 +50,9 @@ def layout(self): def package_id(self): del self.info.settings.compiler + def build_requirements(self): + self.tool_requires("cmake/[>=3.18.0 <4]") + def requirements(self): self.requires("zlib/1.2.13") self.requires("openssl/1.1.1q") diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index b98e60e56dc68..213ce3dd01a93 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "1.3.1": folder: 1.3.1 "1.4.2": From 069896f16d8bac0efcc0c34f45d58295bd8917f6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 20:27:19 +0100 Subject: [PATCH 2556/4087] (#21116) libgpiod/all: bump deps * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libgpiod/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgpiod/all/conanfile.py b/recipes/libgpiod/all/conanfile.py index 0ef6b491e9243..f35d2c80dd4b3 100644 --- a/recipes/libgpiod/all/conanfile.py +++ b/recipes/libgpiod/all/conanfile.py @@ -45,11 +45,11 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("linux-headers-generic/5.14.9") + self.requires("linux-headers-generic/6.5.9") def build_requirements(self): self.build_requires("libtool/2.4.7") - self.build_requires("pkgconf/1.9.5") + self.build_requires("pkgconf/2.0.3") self.build_requires("autoconf-archive/2022.09.03") def source(self): From ca2d1f2e7360948c0cf3534cdb50376fc7f22074 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 21:30:09 +0100 Subject: [PATCH 2557/4087] (#21117) libsecret/all: bump deps * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsecret/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libsecret/all/conanfile.py b/recipes/libsecret/all/conanfile.py index d8c295c9287a3..db4251a471dac 100644 --- a/recipes/libsecret/all/conanfile.py +++ b/recipes/libsecret/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.2", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self._use_gcrypt: self.requires("libgcrypt/1.8.4") @@ -64,9 +64,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") if self.settings.os == "Macos": From 72c69920bf92f1b76fb1f09242840808de22bdea Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 21:47:21 +0100 Subject: [PATCH 2558/4087] (#21118) libnetfilter queue/all: bump deps * libnetfilter_queue/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnetfilter_queue/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libnetfilter_queue/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libnetfilter_queue/all/conanfile.py b/recipes/libnetfilter_queue/all/conanfile.py index 73bddfa9c2d3a..3552a30ecc625 100644 --- a/recipes/libnetfilter_queue/all/conanfile.py +++ b/recipes/libnetfilter_queue/all/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 3212a360fd177881614a98da2930477ace8fba26 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 22:07:27 +0100 Subject: [PATCH 2559/4087] (#21121) avahi/all: bump deps * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/avahi/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index c48041220143e..fdd5b5034805a 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -42,10 +42,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.1") + self.requires("glib/2.78.1") self.requires("expat/2.5.0") self.requires("libdaemon/0.14") - self.requires("dbus/1.15.6") + self.requires("dbus/1.15.8") self.requires("gdbm/1.23") self.requires("libevent/2.1.12") @@ -56,7 +56,7 @@ def validate(self): def build_requirements(self): self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c8fe4d9340f36ac701cd2616da897f4077c98f24 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 22:27:45 +0100 Subject: [PATCH 2560/4087] (#21122) libverto/all: bump deps * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libverto/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libverto/all/conanfile.py b/recipes/libverto/all/conanfile.py index e1a3593480924..a7c33c03726fe 100644 --- a/recipes/libverto/all/conanfile.py +++ b/recipes/libverto/all/conanfile.py @@ -75,7 +75,7 @@ def layout(self): def requirements(self): if self.options.with_glib: - self.requires("glib/2.77.2") + self.requires("glib/2.78.1") if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_libev: @@ -109,7 +109,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("libtool/2.4.7") if self._settings_build.os == "Windows": self.win_bash = True From 492d5fb9f30ae750911aff88f71773b4c2a04998 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 22:47:17 +0100 Subject: [PATCH 2561/4087] (#21124) libxshmfence/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libxshmfence/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxshmfence/all/conanfile.py b/recipes/libxshmfence/all/conanfile.py index c2a5a359ad39a..486b79c2c29b4 100644 --- a/recipes/libxshmfence/all/conanfile.py +++ b/recipes/libxshmfence/all/conanfile.py @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("automake/1.16.5") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 39d5605e5b1f211daa98f1cb3508490849fa95ce Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 23:09:37 +0100 Subject: [PATCH 2562/4087] (#21127) libsigcpp/2.x.x: bump deps * libsigcpp/2.x.x/: bump deps * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsigcpp/2.x.x/conanfile.py | 2 +- recipes/libsigcpp/2.x.x/test_package/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libsigcpp/2.x.x/conanfile.py b/recipes/libsigcpp/2.x.x/conanfile.py index 9cb40725e278e..b771abcbf3d00 100644 --- a/recipes/libsigcpp/2.x.x/conanfile.py +++ b/recipes/libsigcpp/2.x.x/conanfile.py @@ -45,7 +45,7 @@ def validate(self): check_min_cppstd(self, 11) def build_requirements(self): - self.tool_requires("meson/0.64.1") + self.tool_requires("meson/1.2.3") def source(self): get(self, **self.conan_data["sources"][self.version], diff --git a/recipes/libsigcpp/2.x.x/test_package/conanfile.py b/recipes/libsigcpp/2.x.x/test_package/conanfile.py index d5daeb4ad5467..0401e0f4d83ce 100644 --- a/recipes/libsigcpp/2.x.x/test_package/conanfile.py +++ b/recipes/libsigcpp/2.x.x/test_package/conanfile.py @@ -18,7 +18,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def generate(self): # TODO: to remove once conan 1.55.0 deployed in c3i (see https://github.com/conan-io/conan/pull/12513) From e57f6851551dc3ab4e076a02225d912d76e91947 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 23:47:57 +0100 Subject: [PATCH 2563/4087] (#21128) coin-osi: bump deps --- recipes/coin-osi/all/test_v1_package/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/coin-osi/all/test_v1_package/conanfile.py b/recipes/coin-osi/all/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/coin-osi/all/test_v1_package/conanfile.py +++ b/recipes/coin-osi/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From ee5db665cb4a11aa3cd5ae9932f7fac65e53f728 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 00:08:03 +0100 Subject: [PATCH 2564/4087] (#21120) libnice/all:bump deps * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libnice/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libnice/all/conanfile.py b/recipes/libnice/all/conanfile.py index 22dc5eaaf2efa..e35ebe0fd7925 100644 --- a/recipes/libnice/all/conanfile.py +++ b/recipes/libnice/all/conanfile.py @@ -61,15 +61,15 @@ def validate(self): "-o glib/*:shared=True with static runtime is not supported") def requirements(self): - self.requires("glib/2.77.2", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self.options.crypto_library == "openssl": self.requires("openssl/[>=1.1 <4]") if self.options.with_gstreamer: self.requires("gstreamer/1.22.3") def build_requirements(self): - self.tool_requires("meson/1.2.1") - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("meson/1.2.3") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") # for glib-mkenums if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") From a6742067f3eda38cc233666010239328bb3eed4a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 00:27:52 +0100 Subject: [PATCH 2565/4087] (#21129) sdbus-cpp: bump deps --- recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py index 5daabc3db91f3..47a93884e54ef 100644 --- a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py @@ -11,7 +11,7 @@ class SdbusCppTestConan(ConanFile): generators = ("cmake", "pkg_config") def build_requirements(self): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 88f1e651317ba146199fd70db078da56557e5caa Mon Sep 17 00:00:00 2001 From: Kyle Kloberdanz Date: Tue, 14 Nov 2023 20:26:44 -0600 Subject: [PATCH 2566/4087] (#20504) Update mongo-cxx-driver to 3.8.1 * Update mongo-cxx-driver to 3.8.1 * Update recipes/mongo-cxx-driver/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/mongo-cxx-driver/all/conandata.yml | 10 +++ .../all/patches/3.8.1-0001-dirs.patch | 80 +++++++++++++++++++ recipes/mongo-cxx-driver/config.yml | 2 + 3 files changed, 92 insertions(+) create mode 100644 recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 3d37bb8ee6cf3..58272018f4021 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.1": + url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.8.1/mongo-cxx-driver-r3.8.1.tar.gz" + sha256: "b12c96670e1e68bae1a6f5cb08541f3da52f5ddeb5def274d2cf5d662ef73160" "3.8.0": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.8.0/mongo-cxx-driver-r3.8.0.tar.gz" sha256: "60c7a53a0f6b984aab0b231dc0b31c85c8950059f42a354fb522672b059d5089" @@ -21,6 +24,13 @@ sources: url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.1/mongo-cxx-driver-r3.6.1.tar.gz" sha256: "83523e897ef18f7ce05d85d1632dd4ba486c264a1b89c09020163ab29e11eab7" patches: + "3.8.1": + - patch_file: "patches/3.8.1-0001-dirs.patch" + patch_description: "disable documentation features, fix directories" + patch_type: "conan" + - patch_file: "patches/3.7.2-0002-poly_use_std_define.patch" + patch_description: "use poly macro instead __cplusplus" + patch_type: "portability" "3.8.0": - patch_file: "patches/3.8.0-0001-dirs.patch" patch_description: "disable documentation features, fix directories" diff --git a/recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch b/recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch new file mode 100644 index 0000000000000..d7084612ddc1d --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch @@ -0,0 +1,80 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d09a395ce..93992709e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -209,6 +209,7 @@ set (BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR}) + + include (MakeDistFiles) + ++if(FALSE) + add_custom_target(hugo_dir + COMMAND ${CMAKE_COMMAND} -E make_directory hugo + ) +@@ -264,6 +265,7 @@ add_custom_target(format-lint + add_custom_target(docs + DEPENDS hugo doxygen-current + ) ++endif() + + set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party) + +@@ -273,6 +275,9 @@ if (ENABLE_TESTS) + enable_testing() + endif () + ++set(MONGO_CXX_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++set(MONGO_CXX_PROJECT_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}) ++ + add_subdirectory(src) + + add_subdirectory(examples EXCLUDE_FROM_ALL) +@@ -284,6 +289,7 @@ add_subdirectory(benchmark EXCLUDE_FROM_ALL) + # CMake does not implement anything like 'dist' from autotools. + # This implementation is based on the one in GnuCash. + ++if(FALSE) + add_subdirectory (cmake) + add_subdirectory (data) + add_subdirectory (docs) +@@ -385,3 +391,5 @@ if (CMAKE_GENERATOR_TOOLSET) + message (STATUS "\tinstance: ${CMAKE_GENERATOR_TOOLSET}") + endif () + ++endif () ++ +diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt +index f30aea836..f51e76bca 100644 +--- a/src/bsoncxx/CMakeLists.txt ++++ b/src/bsoncxx/CMakeLists.txt +@@ -71,7 +71,7 @@ set(BSONCXX_VERSION_NO_EXTRA ${BSONCXX_VERSION_MAJOR}.${BSONCXX_VERSION_MINOR}.$ + set(BSONCXX_VERSION ${BSONCXX_VERSION_NO_EXTRA}${BSONCXX_VERSION_EXTRA}) + message ("bsoncxx version: ${BSONCXX_VERSION}") + set(BSONCXX_INLINE_NAMESPACE "v${BSONCXX_ABI_VERSION}") +-set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/${BSONCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE INTERNAL "") + + set(LIBBSON_REQUIRED_VERSION 1.24.0) + set(LIBBSON_REQUIRED_ABI_VERSION 1.0) +@@ -95,7 +95,8 @@ if(TARGET bson_shared OR TARGET bson_static) + endif() + else() + # Attempt to find libbson by new package name (without lib). +- find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} ${LIBBSON_REQUIRED_VERSION} QUIET) ++ find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} REQUIRED) ++ set(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND TRUE) + + if(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND) + message ("found libbson version ${bson-${LIBBSON_REQUIRED_ABI_VERSION}_VERSION}") +diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt +index 45fd3ad4f..324865543 100644 +--- a/src/mongocxx/CMakeLists.txt ++++ b/src/mongocxx/CMakeLists.txt +@@ -27,7 +27,7 @@ set(MONGOCXX_VERSION_NO_EXTRA ${MONGOCXX_VERSION_MAJOR}.${MONGOCXX_VERSION_MINOR + set(MONGOCXX_VERSION ${MONGOCXX_VERSION_NO_EXTRA}${MONGOCXX_VERSION_EXTRA}) + message ("mongocxx version: ${MONGOCXX_VERSION}") + set(MONGOCXX_INLINE_NAMESPACE "v${MONGOCXX_ABI_VERSION}") +-set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/${MONGOCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/" CACHE INTERNAL "") + + set(LIBMONGOC_REQUIRED_VERSION 1.24.0) + set(LIBMONGOC_REQUIRED_ABI_VERSION 1.0) diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index 21ad02b8d9466..dfc6d8b54584e 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.1": + folder: all "3.8.0": folder: all "3.7.2": From ce7434eeefe28254eac52f0e214a0c7f830e7020 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 04:34:39 +0100 Subject: [PATCH 2567/4087] (#21125) pupnp/all: bump deps * pupnp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pupnp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pupnp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pupnp/all/conanfile.py b/recipes/pupnp/all/conanfile.py index eda427ac46bf0..718caaaae44f4 100644 --- a/recipes/pupnp/all/conanfile.py +++ b/recipes/pupnp/all/conanfile.py @@ -80,7 +80,7 @@ def validate(self): def build_requirements(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 938d74a1e32522bfb71345c83a79cb734db97bf5 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 15 Nov 2023 07:47:14 +0100 Subject: [PATCH 2568/4087] (#21106) ffmpeg: Add version 6.0.1 * Add version 6.0.1 of ffmpeg which fixes build problems on archlinux * Add version to config.yml --- recipes/ffmpeg/all/conandata.yml | 3 +++ recipes/ffmpeg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 668b92e9cff67..12d1c617655b5 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0.1": + url: "http://ffmpeg.org/releases/ffmpeg-6.0.1.tar.bz2" + sha256: "2c6e294569d1ba8e99cbf1acbe49e060a23454228a540a0f45d679d72ec69a06" "6.0": url: "https://ffmpeg.org/releases/ffmpeg-6.0.tar.bz2" sha256: "47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d" diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 5ba65ef918e0d..7e2ba252c7111 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,4 +1,6 @@ versions: + "6.0.1": + folder: "all" "6.0": folder: "all" "5.1.3": From 5c370e4d775d38f52f1eed1dd4c8b84ffab62940 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 08:07:32 +0100 Subject: [PATCH 2569/4087] (#21114) keychain/all: bump deps * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/keychain/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/keychain/all/conanfile.py b/recipes/keychain/all/conanfile.py index 102f9369ebd89..64b3ee8743d71 100644 --- a/recipes/keychain/all/conanfile.py +++ b/recipes/keychain/all/conanfile.py @@ -34,11 +34,11 @@ def validate(self): def requirements(self): if self.settings.os == "Linux": self.requires("libsecret/0.20.5") - self.requires("glib/2.77.2") + self.requires("glib/2.78.1") def build_requirements(self): if self.settings.os == "Linux": - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def layout(self): cmake_layout(self, src_folder="src") From e6a4d123aa99f06e5416b06c1a1e6af1f24f26b7 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 15 Nov 2023 16:27:23 +0900 Subject: [PATCH 2570/4087] (#21136) cpr: add version 1.10.5 --- recipes/cpr/all/conandata.yml | 7 +++++++ recipes/cpr/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cpr/all/conandata.yml b/recipes/cpr/all/conandata.yml index f5be9d26f2ba8..02059bab669a9 100644 --- a/recipes/cpr/all/conandata.yml +++ b/recipes/cpr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.5": + url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.5.tar.gz" + sha256: "c8590568996cea918d7cf7ec6845d954b9b95ab2c4980b365f582a665dea08d8" "1.10.4": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.4.tar.gz" sha256: "88462d059cd3df22c4d39ae04483ed50dfd2c808b3effddb65ac3b9aa60b542d" @@ -12,6 +15,10 @@ sources: url: "https://github.com/libcpr/cpr/archive/refs/tags/1.7.2.tar.gz" sha256: "aa38a414fe2ffc49af13a08b6ab34df825fdd2e7a1213d032d835a779e14176f" patches: + "1.10.5": + - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" + patch_description: "disable warning flags and warning as error" + patch_type: "portability" "1.10.4": - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" diff --git a/recipes/cpr/config.yml b/recipes/cpr/config.yml index 235f485f4ee68..48b580f3173d9 100644 --- a/recipes/cpr/config.yml +++ b/recipes/cpr/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.5": + folder: all "1.10.4": folder: all "1.9.3": From 93429551b9eaafb226867811d8c5b36c86f82e5e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 09:27:40 +0100 Subject: [PATCH 2571/4087] (#21097) tsil: use rm_safe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tsil: use rm_safe * Add package_type, set correct min conan version --------- Co-authored-by: Rubén Rincón Blanco --- recipes/tsil/all/conandata.yml | 7 +++---- recipes/tsil/all/conanfile.py | 19 +++++-------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/recipes/tsil/all/conandata.yml b/recipes/tsil/all/conandata.yml index f95fe9a099612..3281d0221c878 100644 --- a/recipes/tsil/all/conandata.yml +++ b/recipes/tsil/all/conandata.yml @@ -1,7 +1,6 @@ sources: "1.45": - url: [ - "http://www.niu.edu/spmartin/TSIL/tsil-1.45.tar.gz", - "http://faculty.otterbein.edu/DRobertson/tsil/tsil-1.45.tar.gz" - ] + url: + - "http://www.niu.edu/spmartin/TSIL/tsil-1.45.tar.gz" + - "http://faculty.otterbein.edu/DRobertson/tsil/tsil-1.45.tar.gz" sha256: "420e389af9a77edcc373b88893bf13c9dddfea1d760219dc9a932f28ea0d5d24" diff --git a/recipes/tsil/all/conanfile.py b/recipes/tsil/all/conanfile.py index 81d982b72282a..049388ce41611 100644 --- a/recipes/tsil/all/conanfile.py +++ b/recipes/tsil/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class TsilConan(ConanFile): @@ -16,6 +16,7 @@ class TsilConan(ConanFile): description = "Two-loop Self-energy Integral Library" topics = ("high-energy", "physics", "hep", "two-loop", "integrals") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -40,18 +41,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") @@ -88,5 +80,4 @@ def package_info(self): # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) From 18355a8ef3a65f66344eca2af46e8333ec5e325e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 13:29:15 +0300 Subject: [PATCH 2572/4087] (#21141) czmq: use version range for libcurl + add package_type * use version range for libcurl * add package_type --- recipes/czmq/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/czmq/all/conanfile.py b/recipes/czmq/all/conanfile.py index bf8c54b3b8949..7b0ce0b66f5a1 100644 --- a/recipes/czmq/all/conanfile.py +++ b/recipes/czmq/all/conanfile.py @@ -18,6 +18,7 @@ class CzmqConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zeromq/czmq" topics = ("zmq", "libzmq", "message-queue", "asynchronous") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,7 +67,7 @@ def requirements(self): if self.options.get_safe("with_libmicrohttpd"): self.requires("libmicrohttpd/0.9.75") if self.options.get_safe("with_libcurl"): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.get_safe("with_libuuid"): From 09f48d6664017709db738caf6e9297789ab0b018 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 14:10:27 +0300 Subject: [PATCH 2573/4087] (#21142) libgphoto2: use version range for libcurl + bump deps * use version range for libcurl * bump libxml2 --- recipes/libgphoto2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index ea327fb8a2c33..af18cb02458ef 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -55,9 +55,9 @@ def requirements(self): if self.options.with_libusb: self.requires("libusb/1.0.26") if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: From 6666ae49c890636ee05e84368f30f04430a086bb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 15 Nov 2023 21:09:13 +0900 Subject: [PATCH 2574/4087] (#21134) c4core: update fast_float/5.3.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index 7d65b437dcf21..4caf7065d65d3 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/5.2.0", transitive_headers=True) + self.requires("fast_float/5.3.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 79e2da6a6f7064cf7f15dd65764ffc82cfe857e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 15 Nov 2023 15:27:21 +0200 Subject: [PATCH 2575/4087] (#20849) thrust: bump onetbb --- recipes/thrust/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/thrust/all/conanfile.py b/recipes/thrust/all/conanfile.py index 01049f1cfb97f..1519ec256e76b 100644 --- a/recipes/thrust/all/conanfile.py +++ b/recipes/thrust/all/conanfile.py @@ -35,7 +35,7 @@ def requirements(self): self.requires("cub/1.17.2") if self.options.device_system == "tbb": - self.requires("onetbb/2021.9.0") + self.requires("onetbb/2021.10.0") if self.options.device_system in ["cuda", "omp"]: dev = str(self.options.device_system).upper() From 8c827c53ff33b295756b271c5c37fee8c698882c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 16:42:47 +0300 Subject: [PATCH 2576/4087] (#17186) rocksdb: conan v2 support * conan v2 support * use cache_variables for CMAKE_CXX_FLAGS * bump dependencies * remove 6.0.2 * set property names of jamalloc in CMakeDeps instead of patches * rename recipe class * drop 6.8.1 & 6.10.2 * remove useless injection of march in CMAKE_CXX_FLAGS * don't remove .dll.a import lib if shared=True for MinGW * fix gcc 13 --- recipes/rocksdb/all/CMakeLists.txt | 7 - recipes/rocksdb/all/conandata.yml | 36 +--- recipes/rocksdb/all/conanfile.py | 191 ++++++++---------- ...jemalloc-according-to-conan-packages.patch | 9 - ...jemalloc-according-to-conan-packages.patch | 14 -- ...jemalloc-according-to-conan-packages.patch | 14 -- ...jemalloc-according-to-conan-packages.patch | 14 -- ...-0001-add-include-cstdint-for-gcc-13.patch | 30 +++ ...jemalloc-according-to-conan-packages.patch | 14 -- ...jemalloc-according-to-conan-packages.patch | 14 -- .../rocksdb/all/test_package/CMakeLists.txt | 19 +- recipes/rocksdb/all/test_package/conanfile.py | 29 ++- .../all/test_v1_package/CMakeLists.txt | 10 + .../rocksdb/all/test_v1_package/conanfile.py | 16 ++ recipes/rocksdb/config.yml | 6 - 15 files changed, 172 insertions(+), 251 deletions(-) delete mode 100644 recipes/rocksdb/all/CMakeLists.txt delete mode 100644 recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch create mode 100644 recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch delete mode 100644 recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch create mode 100644 recipes/rocksdb/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rocksdb/all/test_v1_package/conanfile.py diff --git a/recipes/rocksdb/all/CMakeLists.txt b/recipes/rocksdb/all/CMakeLists.txt deleted file mode 100644 index f287ed21516c7..0000000000000 --- a/recipes/rocksdb/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index 2e0d65d48f078..af19cfe0abbd7 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -1,38 +1,16 @@ sources: "6.29.5": - url: "https://github.com/facebook/rocksdb/archive/v6.29.5.tar.gz" + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.29.5.tar.gz" sha256: "ddbf84791f0980c0bbce3902feb93a2c7006f6f53bfd798926143e31d4d756f0" "6.27.3": - url: "https://github.com/facebook/rocksdb/archive/v6.27.3.tar.gz" + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.27.3.tar.gz" sha256: "ee29901749b9132692b26f0a6c1d693f47d1a9ed8e3771e60556afe80282bf58" "6.20.3": - url: "https://github.com/facebook/rocksdb/archive/v6.20.3.tar.gz" + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.20.3.tar.gz" sha256: "c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca" - "6.10.2": - url: "https://github.com/facebook/rocksdb/archive/v6.10.2.tar.gz" - sha256: "514b315c64159dd767bbbf6430d33313903c0c9240d4249bddead5c4297d128f" - "6.8.1": - url: "https://github.com/facebook/rocksdb/archive/v6.8.1.tar.gz" - sha256: "ca192a06ed3bcb9f09060add7e9d0daee1ae7a8705a3d5ecbe41867c5e2796a2" - "6.0.2": - url: "https://github.com/facebook/rocksdb/archive/v6.0.2.tar.gz" - sha256: "89e0832f1fb00ac240a9438d4bbdae37dd3e52f7c15c3f646dc26887da16f342" patches: "6.29.5": - - patch_file: "patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.27.3": - - patch_file: "patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.20.3": - - patch_file: "patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.10.2": - - patch_file: "patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.8.1": - - patch_file: "patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.0.2": - - patch_file: "patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" + - patch_file: "patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch" + patch_description: "Fix build with gcc 13 by including cstdint" + patch_type: "portability" + patch_source: "https://github.com/facebook/rocksdb/pull/11118" diff --git a/recipes/rocksdb/all/conanfile.py b/recipes/rocksdb/all/conanfile.py index b10e35fb91648..5962da8487f2b 100644 --- a/recipes/rocksdb/all/conanfile.py +++ b/recipes/rocksdb/all/conanfile.py @@ -1,22 +1,27 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os import glob import shutil -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version +required_conan_version = ">=1.53.0" -class RocksDB(ConanFile): + +class RocksDBConan(ConanFile): name = "rocksdb" homepage = "https://github.com/facebook/rocksdb" license = ("GPL-2.0-only", "Apache-2.0") url = "https://github.com/conan-io/conan-center-index" description = "A library that provides an embeddable, persistent key-value store for fast storage" - topics = ("rocksdb", "database", "leveldb", "facebook", "key-value") - - settings = "os", "compiler", "build_type", "arch" + topics = ("database", "leveldb", "facebook", "key-value") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -46,25 +51,8 @@ class RocksDB(ConanFile): "use_rtti": False, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -76,115 +64,98 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_gflags: self.requires("gflags/2.2.2") if self.options.with_snappy: - self.requires("snappy/1.1.9") + self.requires("snappy/1.1.10") if self.options.with_lz4: - self.requires("lz4/1.9.3") + self.requires("lz4/1.9.4") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") if self.options.get_safe("with_tbb"): - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") if self.options.with_jemalloc: - self.requires("jemalloc/5.2.1") + self.requires("jemalloc/5.3.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) + if self.settings.arch not in ["x86_64", "ppc64le", "ppc64", "mips64", "armv8"]: raise ConanInvalidConfiguration("Rocksdb requires 64 bits") - if self.settings.os == "Windows" and \ - self.settings.compiler == "Visual Studio" and \ - tools.Version(self.settings.compiler.version) < "15": - raise ConanInvalidConfiguration("Rocksdb requires Visual Studio 15 or later.") - - if self.version == "6.0.2" and \ - self.settings.os == "Windows" and \ - self.settings.compiler == "Visual Studio" and \ - tools.Version(self.settings.compiler.version) > "15": - raise ConanInvalidConfiguration("Rocksdb 6.0.2 is not compilable with Visual Studio >15.") # See https://github.com/facebook/rocksdb/issues/6048 - - if self.version == "6.0.2" and \ - self.settings.os == "Linux" and \ - self.settings.compiler == "clang" and \ - tools.Version(self.settings.compiler.version) > "9": - raise ConanInvalidConfiguration("Rocksdb 6.0.2 is not compilable with clang >9.") # See https://github.com/facebook/rocksdb/pull/7265 + check_min_vs(self, "191") if self.version == "6.20.3" and \ self.settings.os == "Linux" and \ self.settings.compiler == "gcc" and \ - tools.Version(self.settings.compiler.version) < "5": + Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration("Rocksdb 6.20.3 is not compilable with gcc <5.") # See https://github.com/facebook/rocksdb/issues/3522 def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - - self._cmake.definitions["FAIL_ON_WARNINGS"] = False - self._cmake.definitions["WITH_TESTS"] = False - self._cmake.definitions["WITH_TOOLS"] = False - self._cmake.definitions["WITH_CORE_TOOLS"] = False - self._cmake.definitions["WITH_BENCHMARK_TOOLS"] = False - self._cmake.definitions["WITH_FOLLY_DISTRIBUTED_MUTEX"] = False - if self._is_msvc: - self._cmake.definitions["WITH_MD_LIBRARY"] = "MD" in msvc_runtime_flag(self) - self._cmake.definitions["ROCKSDB_INSTALL_ON_WINDOWS"] = self.settings.os == "Windows" - self._cmake.definitions["ROCKSDB_LITE"] = self.options.lite - self._cmake.definitions["WITH_GFLAGS"] = self.options.with_gflags - self._cmake.definitions["WITH_SNAPPY"] = self.options.with_snappy - self._cmake.definitions["WITH_LZ4"] = self.options.with_lz4 - self._cmake.definitions["WITH_ZLIB"] = self.options.with_zlib - self._cmake.definitions["WITH_ZSTD"] = self.options.with_zstd - self._cmake.definitions["WITH_TBB"] = self.options.get_safe("with_tbb", False) - self._cmake.definitions["WITH_JEMALLOC"] = self.options.with_jemalloc - self._cmake.definitions["ROCKSDB_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["ROCKSDB_LIBRARY_EXPORTS"] = self.settings.os == "Windows" and self.options.shared - self._cmake.definitions["ROCKSDB_DLL" ] = self.settings.os == "Windows" and self.options.shared - - self._cmake.definitions["USE_RTTI"] = self.options.use_rtti - if self.options.enable_sse == "False": - self._cmake.definitions["PORTABLE"] = True - self._cmake.definitions["FORCE_SSE42"] = False + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FAIL_ON_WARNINGS"] = False + tc.variables["WITH_TESTS"] = False + tc.variables["WITH_TOOLS"] = False + tc.variables["WITH_CORE_TOOLS"] = False + tc.variables["WITH_BENCHMARK_TOOLS"] = False + tc.variables["WITH_FOLLY_DISTRIBUTED_MUTEX"] = False + if is_msvc(self): + tc.variables["WITH_MD_LIBRARY"] = not is_msvc_static_runtime(self) + tc.variables["ROCKSDB_INSTALL_ON_WINDOWS"] = self.settings.os == "Windows" + tc.variables["ROCKSDB_LITE"] = self.options.lite + tc.variables["WITH_GFLAGS"] = self.options.with_gflags + tc.variables["WITH_SNAPPY"] = self.options.with_snappy + tc.variables["WITH_LZ4"] = self.options.with_lz4 + tc.variables["WITH_ZLIB"] = self.options.with_zlib + tc.variables["WITH_ZSTD"] = self.options.with_zstd + tc.variables["WITH_TBB"] = self.options.get_safe("with_tbb", False) + tc.variables["WITH_JEMALLOC"] = self.options.with_jemalloc + tc.variables["ROCKSDB_BUILD_SHARED"] = self.options.shared + tc.variables["ROCKSDB_LIBRARY_EXPORTS"] = self.settings.os == "Windows" and self.options.shared + tc.variables["ROCKSDB_DLL" ] = self.settings.os == "Windows" and self.options.shared + tc.variables["USE_RTTI"] = self.options.use_rtti + if not bool(self.options.enable_sse): + tc.variables["PORTABLE"] = True + tc.variables["FORCE_SSE42"] = False elif self.options.enable_sse == "sse42": - self._cmake.definitions["PORTABLE"] = True - self._cmake.definitions["FORCE_SSE42"] = True + tc.variables["PORTABLE"] = True + tc.variables["FORCE_SSE42"] = True elif self.options.enable_sse == "avx2": - self._cmake.definitions["PORTABLE"] = False - self._cmake.definitions["FORCE_SSE42"] = False - + tc.variables["PORTABLE"] = False + tc.variables["FORCE_SSE42"] = False # not available yet in CCI + tc.variables["WITH_NUMA"] = False + tc.generate() - self._cmake.definitions["WITH_NUMA"] = False - - if self.settings.os == "Macos" and self.settings.arch == "armv8": - self._cmake.definitions["CMAKE_CXX_FLAGS"] = "-march=armv8-a" - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + deps = CMakeDeps(self) + if self.options.with_jemalloc: + deps.set_property("jemalloc", "cmake_file_name", "JeMalloc") + deps.set_property("jemalloc", "cmake_target_name", "JeMalloc::JeMalloc") + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def _remove_static_libraries(self): - for static_lib_name in ["lib*.a", "rocksdb.lib"]: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), static_lib_name) + rm(self, "rocksdb.lib", os.path.join(self.package_folder, "lib")) + for lib in glob.glob(os.path.join(self.package_folder, "lib", "*.a")): + if not lib.endswith(".dll.a"): + os.remove(lib) def _remove_cpp_headers(self): for path in glob.glob(os.path.join(self.package_folder, "include", "rocksdb", "*")): @@ -195,21 +166,21 @@ def _remove_cpp_headers(self): shutil.rmtree(path) def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() if self.options.shared: self._remove_static_libraries() self._remove_cpp_headers() # Force stable ABI for shared libraries - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): cmake_target = "rocksdb-shared" if self.options.shared else "rocksdb" self.cpp_info.set_property("cmake_file_name", "RocksDB") - self.cpp_info.set_property("cmake_target_name", "RocksDB::{}".format(cmake_target)) + self.cpp_info.set_property("cmake_target_name", f"RocksDB::{cmake_target}") # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["librocksdb"].libs = tools.collect_libs(self) + self.cpp_info.components["librocksdb"].libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.components["librocksdb"].system_libs = ["shlwapi", "rpcrt4"] if self.options.shared: @@ -224,7 +195,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "RocksDB" self.cpp_info.components["librocksdb"].names["cmake_find_package"] = cmake_target self.cpp_info.components["librocksdb"].names["cmake_find_package_multi"] = cmake_target - self.cpp_info.components["librocksdb"].set_property("cmake_target_name", "RocksDB::{}".format(cmake_target)) + self.cpp_info.components["librocksdb"].set_property("cmake_target_name", f"RocksDB::{cmake_target}") if self.options.with_gflags: self.cpp_info.components["librocksdb"].requires.append("gflags::gflags") if self.options.with_snappy: diff --git a/recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index fa3904b84954a..0000000000000 --- a/recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -66,5 +66,5 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) diff --git a/recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 2e8cfd1a8a8aa..0000000000000 --- a/recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -101,9 +101,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 99195907c0c6a..0000000000000 --- a/recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -100,9 +100,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 862805a12fdf1..0000000000000 --- a/recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -108,9 +108,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch b/recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch new file mode 100644 index 0000000000000..05725bf2c9a65 --- /dev/null +++ b/recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch @@ -0,0 +1,30 @@ +--- a/include/rocksdb/utilities/checkpoint.h ++++ b/include/rocksdb/utilities/checkpoint.h +@@ -8,6 +8,7 @@ + #pragma once + #ifndef ROCKSDB_LITE + ++#include + #include + #include + #include "rocksdb/status.h" +--- a/table/block_based/data_block_hash_index.h ++++ b/table/block_based/data_block_hash_index.h +@@ -5,6 +5,7 @@ + + #pragma once + ++#include + #include + #include + +--- a/util/string_util.h ++++ b/util/string_util.h +@@ -6,6 +6,7 @@ + + #pragma once + ++#include + #include + #include + #include diff --git a/recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 862805a12fdf1..0000000000000 --- a/recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -108,9 +108,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index acaacf5868a66..0000000000000 --- a/recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -97,9 +97,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/test_package/CMakeLists.txt b/recipes/rocksdb/all/test_package/CMakeLists.txt index cab2ad0ef9d57..81aa571c924fc 100644 --- a/recipes/rocksdb/all/test_package/CMakeLists.txt +++ b/recipes/rocksdb/all/test_package/CMakeLists.txt @@ -1,18 +1,19 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +enable_testing() find_package(RocksDB REQUIRED CONFIG) add_executable(${PROJECT_NAME}_stable_abi test_package_stable_abi.cpp) +add_test(NAME ${PROJECT_NAME}_stable_abi COMMAND ${PROJECT_NAME}_stable_abi) if(ROCKSDB_SHARED) - target_link_libraries(${PROJECT_NAME}_stable_abi RocksDB::rocksdb-shared) + target_link_libraries(${PROJECT_NAME}_stable_abi PRIVATE RocksDB::rocksdb-shared) else() - target_link_libraries(${PROJECT_NAME}_stable_abi RocksDB::rocksdb) + target_link_libraries(${PROJECT_NAME}_stable_abi PRIVATE RocksDB::rocksdb) - add_executable(${PROJECT_NAME}_cpp test_package.cpp) - target_link_libraries(${PROJECT_NAME}_cpp RocksDB::rocksdb) - set_property(TARGET ${PROJECT_NAME}_cpp PROPERTY CXX_STANDARD 11) + add_executable(${PROJECT_NAME}_cpp test_package.cpp) + target_link_libraries(${PROJECT_NAME}_cpp PRIVATE RocksDB::rocksdb) + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) + add_test(NAME ${PROJECT_NAME}_cpp COMMAND ${PROJECT_NAME}_cpp) endif() diff --git a/recipes/rocksdb/all/test_package/conanfile.py b/recipes/rocksdb/all/test_package/conanfile.py index 326ef695da52e..06b097c220e7c 100644 --- a/recipes/rocksdb/all/test_package/conanfile.py +++ b/recipes/rocksdb/all/test_package/conanfile.py @@ -1,22 +1,29 @@ -from conans import ConanFile, CMake, tools -import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ROCKSDB_SHARED"] = self.dependencies["rocksdb"].options.shared + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["ROCKSDB_SHARED"] = self.options["rocksdb"].shared cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self): - if not self.options["rocksdb"].shared: - bin_path = os.path.join("bin", "test_package_cpp") - self.run(bin_path, run_environment=True) - - bin_path = os.path.join("bin", "test_package_stable_abi") - self.run(bin_path, run_environment=True) + if can_run(self): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", env="conanrun") diff --git a/recipes/rocksdb/all/test_v1_package/CMakeLists.txt b/recipes/rocksdb/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..c23ed5cfe6d98 --- /dev/null +++ b/recipes/rocksdb/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_v1_package) + +enable_testing() + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rocksdb/all/test_v1_package/conanfile.py b/recipes/rocksdb/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5fc2cee9c5517 --- /dev/null +++ b/recipes/rocksdb/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.definitions["ROCKSDB_SHARED"] = self.options["rocksdb"].shared + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index 51a8046980930..c4e32f27c353e 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -5,9 +5,3 @@ versions: folder: all "6.20.3": folder: all - "6.10.2": - folder: all - "6.8.1": - folder: all - "6.0.2": - folder: all From 7fd0f883ee08cffc5b6a785963ebb31e353996d4 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Wed, 15 Nov 2023 15:07:31 +0100 Subject: [PATCH 2577/4087] (#21098) Update RESTinio to version 0.7.0 --- recipes/restinio/config.yml | 2 + recipes/restinio/v0.7/conandata.yml | 4 + recipes/restinio/v0.7/conanfile.py | 102 ++++++++++++++++++ .../restinio/v0.7/test_package/CMakeLists.txt | 8 ++ .../restinio/v0.7/test_package/conanfile.py | 26 +++++ .../v0.7/test_package/test_package.cpp | 21 ++++ 6 files changed, 163 insertions(+) create mode 100644 recipes/restinio/v0.7/conandata.yml create mode 100644 recipes/restinio/v0.7/conanfile.py create mode 100644 recipes/restinio/v0.7/test_package/CMakeLists.txt create mode 100644 recipes/restinio/v0.7/test_package/conanfile.py create mode 100644 recipes/restinio/v0.7/test_package/test_package.cpp diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml index ee5e9f8ed6a0a..224a43066392f 100644 --- a/recipes/restinio/config.yml +++ b/recipes/restinio/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: "v0.7" "0.6.19": folder: all "0.6.18": diff --git a/recipes/restinio/v0.7/conandata.yml b/recipes/restinio/v0.7/conandata.yml new file mode 100644 index 0000000000000..1b3707b68b5bb --- /dev/null +++ b/recipes/restinio/v0.7/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.7.0": + url: "https://github.com/Stiffstream/restinio/archive/v.0.7.0.tar.gz" + sha256: "1d6ad5812c02ee42342ed0ed78678a4e37c1cfe87f2f7c32c2862f825062feaa" diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py new file mode 100644 index 0000000000000..962616c9f35c2 --- /dev/null +++ b/recipes/restinio/v0.7/conanfile.py @@ -0,0 +1,102 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.52.0" + + +class RestinioConan(ConanFile): + name = "restinio" + license = "BSD-3-Clause" + homepage = "https://github.com/Stiffstream/restinio" + url = "https://github.com/conan-io/conan-center-index" + description = "RESTinio is a header-only C++17 library that gives you an embedded HTTP/Websocket server." + topics = ("http-server", "websockets", "rest", "tls-support") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "asio": ["boost", "standalone"], + "with_openssl": [True, False], + "with_zlib": [True, False], + "with_pcre": [1, 2, None], + } + default_options = { + "asio": "standalone", + "with_openssl": False, + "with_zlib": False, + "with_pcre": None, + } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("llhttp/9.1.3") + self.requires("fmt/10.1.1") + self.requires("expected-lite/0.6.3") + + if self.options.asio == "standalone": + self.requires("asio/1.28.2") + else: + self.requires("boost/1.83.0") + + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + + if self.options.with_zlib: + self.requires("zlib/[>=1.2.11 <2]") + + if self.options.with_pcre == 1: + self.requires("pcre/8.45") + elif self.options.with_pcre == 2: + self.requires("pcre2/10.42") + + def package_id(self): + self.info.clear() + + def validate(self): + minimal_cpp_standard = "17" + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, minimal_cpp_standard) + + minimal_version = { + "gcc": "9", + "clang": "10", + "apple-clang": "11", + "Visual Studio": "17", + "msvc": "191" + } + + compiler = str(self.settings.compiler) + if compiler not in minimal_version: + self.output.warning( + "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) + self.output.warning( + "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + return + + version = Version(self.settings.compiler.version) + if version < minimal_version[compiler]: + raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + + def build(self): + pass + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "*.*pp", src=os.path.join(self.source_folder, "dev", "restinio"), dst=os.path.join(self.package_folder, "include", "restinio")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "restinio") + self.cpp_info.set_property("cmake_target_name", "restinio::restinio") + if self.options.asio == "boost": + self.cpp_info.defines.append("RESTINIO_USE_BOOST_ASIO") diff --git a/recipes/restinio/v0.7/test_package/CMakeLists.txt b/recipes/restinio/v0.7/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1f4ba6e706df2 --- /dev/null +++ b/recipes/restinio/v0.7/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) + +find_package(restinio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} restinio::restinio) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/restinio/v0.7/test_package/conanfile.py b/recipes/restinio/v0.7/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/restinio/v0.7/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/restinio/v0.7/test_package/test_package.cpp b/recipes/restinio/v0.7/test_package/test_package.cpp new file mode 100644 index 0000000000000..ac78ee51f9a8d --- /dev/null +++ b/recipes/restinio/v0.7/test_package/test_package.cpp @@ -0,0 +1,21 @@ +#include +#include + +using namespace restinio; + +int main() { + // Create express router for our service. + auto router = std::make_unique>(); + router->http_get( + R"(/data/meter/:meter_id(\d+))", + [](auto req, auto params) { + const auto qp = parse_query(req->header().query()); + return req->create_response() + .set_body(fmt::format("meter_id={}", cast_to(params["meter_id"]))) + .done(); + }); + + std::cout << "success\n"; + + return 0; +} From 1aea611bb0e972fd308156341dd4bd9db124f64a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 17:30:53 +0300 Subject: [PATCH 2578/4087] (#21042) ffmpeg: bump dependencies + disable with_vulkan by default * bump dependencies * disable with_vulkan by default --- recipes/ffmpeg/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 21f8ed905bd3b..2547d9542895b 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -140,7 +140,7 @@ class FFMpegConan(ConanFile): "with_pulse": True, "with_vaapi": True, "with_vdpau": True, - "with_vulkan": True, + "with_vulkan": False, "with_xcb": True, "with_appkit": True, "with_avfoundation": True, @@ -275,9 +275,9 @@ def requirements(self): if self.options.with_opus: self.requires("opus/1.4") if self.options.with_zeromq: - self.requires("zeromq/4.3.4") + self.requires("zeromq/4.3.5") if self.options.with_sdl: - self.requires("sdl/2.28.2") + self.requires("sdl/2.28.5") if self.options.with_libx264: self.requires("libx264/cci.20220602") if self.options.with_libx265: @@ -303,7 +303,7 @@ def requirements(self): if self.options.get_safe("with_vdpau"): self.requires("vdpau/system") if self._version_supports_vulkan and self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-loader/1.3.243.0") def validate(self): if self.options.with_ssl == "securetransport" and not is_apple_os(self): From 3c5fc4878c06860a7c7494b8737a6ad0896eca39 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Wed, 15 Nov 2023 16:28:16 +0100 Subject: [PATCH 2579/4087] (#21088) bump ffmpeg dependencies From be31b3a7383d7e818295114f200834f287da79a6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 00:48:51 +0900 Subject: [PATCH 2580/4087] (#21110) magic_enum: add version 0.9.4, remove older versions --- recipes/magic_enum/all/conandata.yml | 21 +++---------------- .../all/test_package/CMakeLists.txt | 4 ++++ .../all/test_package/test_package.cpp | 6 +++++- recipes/magic_enum/config.yml | 14 ++----------- 4 files changed, 14 insertions(+), 31 deletions(-) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index 94cca110de7e5..c3f7fa0da1d35 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.4": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.4.tar.gz" + sha256: "0ffc840d881a377a520e999b79ec2823b3b8ffadccad5d94084cc37fcf6fe2c9" "0.9.3": url: "https://github.com/Neargye/magic_enum/archive/v0.9.3.tar.gz" sha256: "3cadd6a05f1bffc5141e5e731c46b2b73c2dbff025e723c8abaa659e0a24f072" @@ -20,21 +23,3 @@ sources: "0.8.0": url: "https://github.com/Neargye/magic_enum/archive/v0.8.0.tar.gz" sha256: "5e7680e877dd4cf68d9d0c0e3c2a683b432a9ba84fc1993c4da3de70db894c3c" - "0.7.3": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.3.tar.gz" - sha256: "b8d0cd848546fee136dc1fa4bb021a1e4dc8fe98e44d8c119faa3ef387636bf7" - "0.7.2": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.2.tar.gz" - sha256: "a77895ebc684f7a4dd2e4e06529b22e9ae694037f6dee0753d3ce0bbcd5b3e38" - "0.7.1": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.1.tar.gz" - sha256: "11bb590dd055194e92936fa4d0652084c14bd23ac8e4b5a02271b6259a05cec9" - "0.7.0": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.0.tar.gz" - sha256: "4fe6627407a656d0d73879c0346b251ccdcfb718c37bef5410ba172c7c7d5f9a" - "0.6.6": - url: "https://github.com/Neargye/magic_enum/archive/v0.6.6.tar.gz" - sha256: "1033f9a9315023feebb48f20d5a572149ec72c1e95a52bcf7042a412ff9d2e28" - "0.6.5": - url: "https://github.com/Neargye/magic_enum/archive/v0.6.5.tar.gz" - sha256: "37A69482517C8976CB48CD271DA8C6BA92E07EE2AB2BDD7CAEF4C8158AF77359" diff --git a/recipes/magic_enum/all/test_package/CMakeLists.txt b/recipes/magic_enum/all/test_package/CMakeLists.txt index c185d76435a4f..f5917740f5800 100644 --- a/recipes/magic_enum/all/test_package/CMakeLists.txt +++ b/recipes/magic_enum/all/test_package/CMakeLists.txt @@ -6,3 +6,7 @@ find_package(magic_enum REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE magic_enum::magic_enum) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + +if(magic_enum_VERSION VERSION_GREATER_EQUAL "0.9.4") + target_compile_definitions(${PROJECT_NAME} PRIVATE MAGIC_ENUM_INCLUDE_WITH_FOLDER) +endif() diff --git a/recipes/magic_enum/all/test_package/test_package.cpp b/recipes/magic_enum/all/test_package/test_package.cpp index fcb911e1f966e..208a3dd5fc806 100644 --- a/recipes/magic_enum/all/test_package/test_package.cpp +++ b/recipes/magic_enum/all/test_package/test_package.cpp @@ -1,4 +1,8 @@ -#include +#ifdef MAGIC_ENUM_INCLUDE_WITH_FOLDER +# include +#else +# include +#endif #include #include diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index 469bd978f09f4..4e7d6ac81384d 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.4": + folder: all "0.9.3": folder: all "0.9.2": @@ -13,15 +15,3 @@ versions: folder: all "0.8.0": folder: all - "0.7.3": - folder: all - "0.7.2": - folder: all - "0.7.1": - folder: all - "0.7.0": - folder: all - "0.6.6": - folder: all - "0.6.5": - folder: all From 92ddb7cedc74df486c0d6a57818a1fa947d25a1f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 17:08:25 +0100 Subject: [PATCH 2581/4087] (#21115) xorg-cf-files/all: bump deps * xorg-cf-files/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-cf-files/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * disable clang --- recipes/xorg-cf-files/all/conanfile.py | 5 ++++- recipes/xorg-cf-files/all/test_package/conanfile.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/xorg-cf-files/all/conanfile.py b/recipes/xorg-cf-files/all/conanfile.py index aa2cb1d905e4c..1b0174ae22ceb 100644 --- a/recipes/xorg-cf-files/all/conanfile.py +++ b/recipes/xorg-cf-files/all/conanfile.py @@ -48,10 +48,13 @@ def package_id(self): def validate(self): if is_apple_os(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Apple operating systems.") + if self.settings.compiler == "clang": + # See https://github.com/conan-io/conan-center-index/pull/16267#issuecomment-1469824504 + raise ConanInvalidConfiguration("Recipe cannot be built with clang") def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/xorg-cf-files/all/test_package/conanfile.py b/recipes/xorg-cf-files/all/test_package/conanfile.py index a1d91cfb0034d..3f15b70b2d474 100644 --- a/recipes/xorg-cf-files/all/test_package/conanfile.py +++ b/recipes/xorg-cf-files/all/test_package/conanfile.py @@ -16,9 +16,9 @@ class TestPackageConan(ConanFile): def build_requirements(self): self.tool_requires(self.tested_reference_str) - self.tool_requires("imake/1.0.8") + self.tool_requires("imake/1.0.9") if not self.conf_info.get("tools.gnu:make_program", check_type=str): - self.tool_requires("make/4.3") + self.tool_requires("make/4.4") @property def _settings_build(self): From 461b2619ef6efa426317140a8c1bc6e25bc8b999 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 15 Nov 2023 18:28:02 +0200 Subject: [PATCH 2582/4087] (#21130) pdfium: migrate to Conan v2 * pdfium: migrate to Conan v2 * pdfium: fix AppKit framework spelling * pdfium: add zlib dependency --- recipes/pdfium/all/CMakeLists.txt | 7 -- recipes/pdfium/all/conandata.yml | 10 +- recipes/pdfium/all/conanfile.py | 107 +++++++++--------- .../pdfium/all/test_package/CMakeLists.txt | 7 +- recipes/pdfium/all/test_package/conanfile.py | 22 ++-- .../pdfium/all/test_v1_package/CMakeLists.txt | 8 ++ .../pdfium/all/test_v1_package/conanfile.py | 18 +++ recipes/pdfium/config.yml | 2 +- 8 files changed, 106 insertions(+), 75 deletions(-) delete mode 100644 recipes/pdfium/all/CMakeLists.txt create mode 100644 recipes/pdfium/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pdfium/all/test_v1_package/conanfile.py diff --git a/recipes/pdfium/all/CMakeLists.txt b/recipes/pdfium/all/CMakeLists.txt deleted file mode 100644 index f083cc38ef65c..0000000000000 --- a/recipes/pdfium/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(pdfium-cmake/cmake) diff --git a/recipes/pdfium/all/conandata.yml b/recipes/pdfium/all/conandata.yml index 06bb1b45201c1..914f93df79f0d 100644 --- a/recipes/pdfium/all/conandata.yml +++ b/recipes/pdfium/all/conandata.yml @@ -1,11 +1,11 @@ sources: - "cci.20210730": + "95.0.4629": pdfium-cmake: - # FIXME: create release + use hash - url: "https://github.com/madebr/pdfium-cmake/archive/0abc6ac8b3ecd2faac45bf46ee79bf381b5b5890.zip" - sha256: "8bcbb1eb6ec171604d669585f289c609d3b6c95045525d0e510c3fee7851d44e" + # FIXME: create release + url: "https://github.com/madebr/pdfium-cmake/archive/9611e37f688e9881b50aef7e7775accdda6cd98f.zip" + sha256: "9085c22bd9d21acede4f5f26be0b6a0f82346e2ea53cc8bcddd785a4190d7a84" pdfium: - url: "https://pdfium.googlesource.com/pdfium/+archive/6c8cd905587809a0ff299d1edb34fc85bed4c976.tar.gz" + url: "https://pdfium.googlesource.com/pdfium/+archive/refs/heads/chromium/4629.tar.gz" # sha256 is volatile on googlesource, no up-to-date github fork trace_event: url: "https://chromium.googlesource.com/chromium/src/base/trace_event/common/+archive/ad56859ef8c85cc09a3d8e95dcedadb5109a0af8.tar.gz" diff --git a/recipes/pdfium/all/conanfile.py b/recipes/pdfium/all/conanfile.py index 83fc48daf1b64..a4c53251f460c 100644 --- a/recipes/pdfium/all/conanfile.py +++ b/recipes/pdfium/all/conanfile.py @@ -1,20 +1,26 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, stdcpp_library +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version -from conans import CMake, tools -import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class PdfiumConan(ConanFile): name = "pdfium" description = "PDF generation and rendering library." license = "BSD-3-Clause" - topics = ("conan", "pdfium", "generate", "generation", "rendering", "pdf", "document", "print") - homepage = "https://opensource.google/projects/pdfium" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://opensource.google/projects/pdfium" + topics = ("generate", "generation", "rendering", "pdf", "document", "print") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -27,84 +33,83 @@ class PdfiumConan(ConanFile): "with_libjpeg": "libjpeg", } - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package", "pkg_config" - short_paths = True - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): self.requires("freetype/2.13.0") - self.requires("icu/73.2") + self.requires("icu/74.1") self.requires("lcms/2.14") self.requires("openjpeg/2.5.0") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - - def build_requirements(self): - self.build_requires("pkgconf/1.9.5") + self.requires("libjpeg-turbo/3.0.1") def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, 14) minimum_compiler_versions = { - "gcc": 8, - "Visual Studio": 15, + "gcc": "8", + "msvc": "191", + "Visual Studio": "15", } min_compiler_version = minimum_compiler_versions.get(str(self.settings.compiler)) - if min_compiler_version: - if Version(self.settings.compiler.version) < min_compiler_version: - raise ConanInvalidConfiguration("pdfium needs at least compiler version {}".format(min_compiler_version)) + if min_compiler_version and Version(self.settings.compiler.version) < min_compiler_version: + raise ConanInvalidConfiguration( + f"pdfium needs at least compiler version {min_compiler_version}" + ) + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version]["pdfium-cmake"], - destination="pdfium-cmake", strip_root=True) + destination=os.path.join(self.source_folder, "pdfium-cmake"), strip_root=True) get(self, **self.conan_data["sources"][self.version]["pdfium"], - destination=self._source_subfolder) + destination=self.source_folder) get(self, **self.conan_data["sources"][self.version]["trace_event"], - destination=os.path.join(self._source_subfolder, "base", "trace_event", "common")) + destination=os.path.join(self.source_folder, "base", "trace_event", "common")) get(self, **self.conan_data["sources"][self.version]["chromium_build"], - destination=os.path.join(self._source_subfolder, "build")) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["PDFIUM_ROOT"] = os.path.join(self.source_folder, self._source_subfolder).replace("\\", "/") - self._cmake.definitions["PDF_LIBJPEG_TURBO"] = self.options.with_libjpeg == "libjpeg-turbo" - self._cmake.configure() - return self._cmake + destination=os.path.join(self.source_folder, "build")) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["PDFIUM_ROOT"] = self.source_folder.replace("\\", "/") + tc.variables["PDF_LIBJPEG_TURBO"] = self.options.with_libjpeg == "libjpeg-turbo" + tc.variables["PDF_ENABLE_XFA"] = False # TODO: pdfium-cmake needs updating + tc.variables["PDF_ENABLE_V8"] = False # TODO: requires v8 + tc.generate() + deps = CMakeDeps(self) + deps.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): - cmake = self._configure_cmake() - cmake.build() - cmake.configure() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join("pdfium-cmake", "cmake")) cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.libs = ["pdfium"] - if tools.is_apple_os(self.settings.os): - self.cpp_info.frameworks.extend(["Appkit", "CoreFoundation", "CoreGraphics"]) + if is_apple_os(self): + self.cpp_info.frameworks.extend(["AppKit", "CoreFoundation", "CoreGraphics"]) - stdcpp_library = tools.stdcpp_library(self) - if stdcpp_library: - self.cpp_info.system_libs.append(stdcpp_library) + stdcpp = stdcpp_library(self) + if stdcpp: + self.cpp_info.system_libs.append(stdcpp) diff --git a/recipes/pdfium/all/test_package/CMakeLists.txt b/recipes/pdfium/all/test_package/CMakeLists.txt index 7b9b613cbb24a..ca11fa5323a30 100644 --- a/recipes/pdfium/all/test_package/CMakeLists.txt +++ b/recipes/pdfium/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(pdfium REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE pdfium::pdfium) diff --git a/recipes/pdfium/all/test_package/conanfile.py b/recipes/pdfium/all/test_package/conanfile.py index 32e61b0a20959..ef5d7042163ec 100644 --- a/recipes/pdfium/all/test_package/conanfile.py +++ b/recipes/pdfium/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pdfium/all/test_v1_package/CMakeLists.txt b/recipes/pdfium/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pdfium/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdfium/all/test_v1_package/conanfile.py b/recipes/pdfium/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4c2f046547705 --- /dev/null +++ b/recipes/pdfium/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools +from conan.tools.build import cross_building + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/pdfium/config.yml b/recipes/pdfium/config.yml index a851713f93a20..6425f0ce6fe06 100644 --- a/recipes/pdfium/config.yml +++ b/recipes/pdfium/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20210730": + "95.0.4629": # released 2021-08-28 folder: all From 5445fdd9eab2c54e2c05ae0c312da14d56606c06 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 17:48:33 +0100 Subject: [PATCH 2583/4087] (#21147) llvm-openmp: fix patching identified in https://github.com/conan-io/conan-center-index/issues/21146 --- recipes/llvm-openmp/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index c96fd7042c681..ce869816491ae 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -42,7 +42,7 @@ sources: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/openmp-8.0.1.src.tar.xz" sha256: "3e85dd3cad41117b7c89a41de72f2e6aa756ea7b4ef63bb10dcddf8561a7722c" patches: - "17.0.0-rc4": + "17.0.4": - patch_file: "patches/17/0001-disable-build-testing.patch" patch_description: "Disable building of tools, gdb-plugin, tests and docs" patch_type: "conan" From 1b757774fa88825fc3545d1f6e960b61d0650fce Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 20:08:39 +0300 Subject: [PATCH 2584/4087] (#21066) serf: relocatable shared lib for macOS --- recipes/serf/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/serf/all/conanfile.py b/recipes/serf/all/conanfile.py index ba3f81c9de9df..cf758acbc390f 100644 --- a/recipes/serf/all/conanfile.py +++ b/recipes/serf/all/conanfile.py @@ -2,7 +2,7 @@ import re from conan import ConanFile -from conan.tools.apple import is_apple_os +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os from conan.tools.env import Environment, VirtualBuildEnv from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, load, mkdir, rm, rmdir, save from conan.tools.gnu import AutotoolsToolchain @@ -165,6 +165,7 @@ def package(self): for fn in os.listdir(os.path.join(self.package_folder, "lib")): if any(re.finditer("\\.{}(\.?|$)".format(ext_to_remove), fn)): os.unlink(os.path.join(self.package_folder, "lib", fn)) + fix_apple_shared_install_name(self) def package_info(self): libprefix = "" From 0593c490fd7e44f0aec5893c208d25fddc0a1659 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 15 Nov 2023 18:43:08 +0100 Subject: [PATCH 2585/4087] (#20860) [mariadb-connection-c] Version 3.3.0 requires zstd * MariaDB 3.3.0 requires zstd Signed-off-by: Uilian Ries * Fix zstd library name Signed-off-by: Uilian Ries * Revert "Fix zstd library name" This reverts commit b513d4daf028ce2229c087049e550f55619c1cce. * Use Findzstd.cmake from Conan Signed-off-by: Uilian Ries * Update recipes/mariadb-connector-c/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Signed-off-by: Uilian Ries Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Daniel --- recipes/mariadb-connector-c/all/conandata.yml | 3 +++ recipes/mariadb-connector-c/all/conanfile.py | 6 ++++++ .../all/patches/3.3.3-0002-find-package-zstd.patch | 13 +++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch diff --git a/recipes/mariadb-connector-c/all/conandata.yml b/recipes/mariadb-connector-c/all/conandata.yml index 74a7f76fab54c..df3894df1372a 100644 --- a/recipes/mariadb-connector-c/all/conandata.yml +++ b/recipes/mariadb-connector-c/all/conandata.yml @@ -13,6 +13,9 @@ sources: sha256: "3e6f6c399493fe90efdc21a3fe70c30434b7480e8195642a959f1dd7a0fa5b0f" patches: "3.3.3": + - patch_file: "patches/3.3.3-0002-find-package-zstd.patch" + patch_description: "Use ZSTD cmake file from Conan" + patch_type: "conan" - patch_file: "patches/3.3.3-0001-fix-install-and-static-or-shared.patch" patch_description: "fix install path, separate static/shared build" patch_type: "conan" diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 835db83c0b42d..303b45aa1d4b4 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -61,6 +62,9 @@ def requirements(self): self.requires("libcurl/8.2.1") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") + if Version(self.version) >= "3.3": + # INFO: https://mariadb.com/kb/en/mariadb-connector-c-330-release-notes + self.requires("zstd/1.5.5") def validate(self): if self.settings.os != "Windows" and self.options.with_ssl == "schannel": @@ -92,6 +96,8 @@ def generate(self): tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "3.3": + deps.set_property("zstd", "cmake_file_name", "ZSTD") deps.generate() def _patch_sources(self): diff --git a/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch b/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch new file mode 100644 index 0000000000000..19168ffa68018 --- /dev/null +++ b/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f3b6cbd..5a60394 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -221,7 +221,7 @@ INCLUDE(${CC_SOURCE_DIR}/cmake/SearchLibrary.cmake) + + # Compression plugins: ZSTD, ZLIB + +-INCLUDE(${CC_SOURCE_DIR}/cmake/FindZStd.cmake) ++find_package(ZSTD REQUIRED CONFIG) + + IF(WITH_EXTERNAL_ZLIB) + IF(NOT ZLIB_FOUND) From 7cb42372de8b86f9f222b15c70c69b62af501521 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 19:07:58 +0100 Subject: [PATCH 2586/4087] (#21148) rangesnext: remove bogus patches section There never was any patch in this recipe identified in https://github.com/conan-io/conan-center- index/issues/21146 --- recipes/rangesnext/all/conandata.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes/rangesnext/all/conandata.yml b/recipes/rangesnext/all/conandata.yml index 29a3d8ef00ff0..f52ac4400f69a 100644 --- a/recipes/rangesnext/all/conandata.yml +++ b/recipes/rangesnext/all/conandata.yml @@ -2,6 +2,3 @@ sources: "cci.20210426": url: "https://github.com/cor3ntin/rangesnext/archive/10fd1cffe7a2a9688a31f91ec8754668c4cdd9a6.tar.gz" sha256: "8b4ba9129346818d1ad2ab1fe00ccb85c5c1b35fef91868aece97aa079e0dec4" -patches: - "cci.20210426": - - patch_file: "patches/0001-cmake-disable-tests.patch" From 831b72a1a9ae9475de709a7c0f0f2619f64cb05c Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 16 Nov 2023 01:27:18 +0400 Subject: [PATCH 2587/4087] (#21143) ffmpeg: added 6.1 version --- recipes/ffmpeg/all/conandata.yml | 3 +++ recipes/ffmpeg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 12d1c617655b5..83ed14628cf42 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1": + url: "http://ffmpeg.org/releases/ffmpeg-6.1.tar.bz2" + sha256: "eb7da3de7dd3ce48a9946ab447a7346bd11a3a85e6efb8f2c2ce637e7f547611" "6.0.1": url: "http://ffmpeg.org/releases/ffmpeg-6.0.1.tar.bz2" sha256: "2c6e294569d1ba8e99cbf1acbe49e060a23454228a540a0f45d679d72ec69a06" diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 7e2ba252c7111..0ea4ae6cca888 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,4 +1,6 @@ versions: + "6.1": + folder: "all" "6.0.1": folder: "all" "6.0": From cf33d0e3a555aa00d7db6c6b836f4449660458c0 Mon Sep 17 00:00:00 2001 From: Francois Poizat Date: Thu, 16 Nov 2023 06:26:01 +0100 Subject: [PATCH 2588/4087] (#20374) Package/implot add implot demo.cpp * ImPlot recipe should build implot_demo.cpp As for imgui, implot_demo.cpp is the primary source of documentation for this library. imgui_demo.cpp is built in the imgui recipe implot_demo.cpp should be built by this recipe * update cmake version in test package to match the one in the main CMakeLists --- recipes/implot/all/CMakeLists.txt | 1 + recipes/implot/all/test_package/CMakeLists.txt | 2 +- recipes/implot/all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/implot/all/CMakeLists.txt b/recipes/implot/all/CMakeLists.txt index 84afb4ed40721..8f2c9651b41e6 100644 --- a/recipes/implot/all/CMakeLists.txt +++ b/recipes/implot/all/CMakeLists.txt @@ -6,6 +6,7 @@ file(GLOB HEADER_FILES ${IMPLOT_SRC_DIR}/*.h) add_library(${PROJECT_NAME} ${IMPLOT_SRC_DIR}/implot.cpp ${IMPLOT_SRC_DIR}/implot_items.cpp + ${IMPLOT_SRC_DIR}/implot_demo.cpp ) target_include_directories(${PROJECT_NAME} PRIVATE ${IMPLOT_SRC_DIR}) diff --git a/recipes/implot/all/test_package/CMakeLists.txt b/recipes/implot/all/test_package/CMakeLists.txt index 945aea8b2724f..e39ff9333e1cc 100644 --- a/recipes/implot/all/test_package/CMakeLists.txt +++ b/recipes/implot/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.4) project(test_package) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/recipes/implot/all/test_v1_package/CMakeLists.txt b/recipes/implot/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..8d8cf1572027f 100644 --- a/recipes/implot/all/test_v1_package/CMakeLists.txt +++ b/recipes/implot/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.4) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From a17fd0cbd85ecdab5332fea83f6acf960f75fe9b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 15:29:27 +0900 Subject: [PATCH 2589/4087] (#21155) ssp: update fast_float/5.3.0 --- recipes/ssp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ssp/all/conanfile.py b/recipes/ssp/all/conanfile.py index 7d75955713fe5..4df3741e9cacb 100644 --- a/recipes/ssp/all/conanfile.py +++ b/recipes/ssp/all/conanfile.py @@ -37,7 +37,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("fast_float/5.2.0") + self.requires("fast_float/5.3.0") def package_id(self): self.info.clear() From a97768a696ede2093cb83cc49e82b5c8c94c484c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 16:07:49 +0900 Subject: [PATCH 2590/4087] (#21154) dacap-clip: add version 1.7 --- recipes/dacap-clip/all/conandata.yml | 3 +++ recipes/dacap-clip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dacap-clip/all/conandata.yml b/recipes/dacap-clip/all/conandata.yml index 19103af57600d..f4f5540f11df5 100644 --- a/recipes/dacap-clip/all/conandata.yml +++ b/recipes/dacap-clip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7": + url: "https://github.com/dacap/clip/archive/refs/tags/v1.7.tar.gz" + sha256: "f494d306f3425e984368cbd94ffb213e0a3b3d44c3ab169e5134788d3342535c" "1.6": url: "https://github.com/dacap/clip/archive/refs/tags/v1.6.tar.gz" sha256: "fc37319775ec1b6a75475b46696f5014418d90676359b96b894f646241dcbb7e" diff --git a/recipes/dacap-clip/config.yml b/recipes/dacap-clip/config.yml index 68f5d1fe1295a..f10766e09880a 100644 --- a/recipes/dacap-clip/config.yml +++ b/recipes/dacap-clip/config.yml @@ -1,4 +1,6 @@ versions: + "1.7": + folder: "all" "1.6": folder: "all" "1.5": From f5fa4d5c88cb6142a98bec12da010812b31e1256 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 16:27:15 +0900 Subject: [PATCH 2591/4087] (#21156) c-ares: add version 1.22.0 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 182f723ac016b..8a35305c85a73 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.22.0": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_0/c-ares-1.22.0.tar.gz" + sha256: "ad2e205088083317147c9f9eab5f24b82c3d50927c381a7c963deeb1182dbc21" "1.21.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_21_0/c-ares-1.21.0.tar.gz" sha256: "cd7aa3af1d3ee780d6437039a7ddb7f1ec029f9c4f7aabb0197e384eb5bc2f2d" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index f12f37d3b9d21..8554b774a5c3a 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.22.0": + folder: all "1.21.0": folder: all "1.20.1": From 71b82701d768a332ea97a9874a1fd01942ec1440 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 16:48:14 +0900 Subject: [PATCH 2592/4087] (#21133) scnlib: update fast_float/5.3.0 --- recipes/scnlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index d88df6abc4e63..1e79fd87d6da6 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.0": - self.requires("fast_float/5.2.0") + self.requires("fast_float/5.3.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 8550175273e515034a15d548e9f964427b090ad1 Mon Sep 17 00:00:00 2001 From: SSE4 Date: Thu, 16 Nov 2023 15:26:47 +0700 Subject: [PATCH 2593/4087] (#20888) [fftw] support multiple precisions * [fftw] support multiple precisions * Update recipes/fftw/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/test_v1_package/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/test_package/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries Co-authored-by: Daniel --- recipes/fftw/all/conanfile.py | 111 ++++++++++++------ recipes/fftw/all/test_package/CMakeLists.txt | 15 +-- recipes/fftw/all/test_package/conanfile.py | 7 +- recipes/fftw/all/test_package/test_package.c | 3 + recipes/fftw/all/test_v1_package/conanfile.py | 7 +- 5 files changed, 93 insertions(+), 50 deletions(-) diff --git a/recipes/fftw/all/conanfile.py b/recipes/fftw/all/conanfile.py index 633f3bfb2dc71..72c620e240684 100644 --- a/recipes/fftw/all/conanfile.py +++ b/recipes/fftw/all/conanfile.py @@ -6,6 +6,12 @@ required_conan_version = ">=1.54.0" +SINGLE = 'single' +DOUBLE = 'double' +LONGDOUBLE = 'longdouble' +QUAD = 'quad' +ALL = [SINGLE, DOUBLE, LONGDOUBLE, QUAD] + class FFTWConan(ConanFile): name = "fftw" @@ -20,7 +26,11 @@ class FFTWConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "precision": ["double", "single", "longdouble"], + "precision": ALL + ['deprecated'], + 'precision_single': [True, False], + 'precision_double': [True, False], + 'precision_longdouble': [True, False], + 'precision_quad': [True, False], "openmp": [True, False], "threads": [True, False], "combinedthreads": [True, False], @@ -29,12 +39,17 @@ class FFTWConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "precision": "double", + "precision": 'deprecated', + 'precision_single': True, + 'precision_double': True, + 'precision_longdouble': True, + 'precision_quad': False, "openmp": False, "threads": False, "combinedthreads": False, "simd": False, } + _current_precision = None def export_sources(self): export_conandata_patches(self) @@ -50,6 +65,8 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") if not self.options.threads: del self.options.combinedthreads + if self.options.precision != "deprecated": + self.output.warning("precision options is deprecated! use dedicated options 'precision_single', 'precision_double', 'precision_longdouble' and 'precision_quad' instead") def layout(self): cmake_layout(self, src_folder="src") @@ -70,64 +87,88 @@ def generate(self): tc.variables["ENABLE_OPENMP"] = self.options.openmp tc.variables["ENABLE_THREADS"] = self.options.threads tc.variables["WITH_COMBINED_THREADS"] = self.options.get_safe("combinedthreads", False) - tc.variables["ENABLE_FLOAT"] = self.options.precision == "single" - tc.variables["ENABLE_LONG_DOUBLE"] = self.options.precision == "longdouble" tc.variables["ENABLE_SSE"] = self.options.simd == "sse" tc.variables["ENABLE_SSE2"] = self.options.simd == "sse2" tc.variables["ENABLE_AVX"] = self.options.simd == "avx" tc.variables["ENABLE_AVX2"] = self.options.simd == "avx2" tc.generate() + @property + def build_folder(self): + bf = super().build_folder + return os.path.join(bf, self._current_precision) if self._current_precision else bf + + @property + def _all_precisions(self): + return [p for p in ALL if self.options.get_safe(f"precision_{p}")] + def build(self): + def on_off(value): + return "ON" if value else 'OFF' + apply_conandata_patches(self) - cmake = CMake(self) - cmake.configure() - cmake.build() + for self._current_precision in self._all_precisions: + cmake = CMake(self) + variables = { + "ENABLE_FLOAT": on_off(self._current_precision == SINGLE), + "ENABLE_LONG_DOUBLE": on_off(self._current_precision == LONGDOUBLE), + "EENABLE_QUAD_PRECISION": on_off(self._current_precision == QUAD) + } + cmake.configure(variables=variables) + cmake.build() def package(self): copy(self, "COPYRIGHT", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - cmake = CMake(self) - cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + for self._current_precision in self._all_precisions: + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - prec_suffix = self._prec_suffix[str(self.options.precision)] - cmake_config_name = "FFTW3" + prec_suffix - cmake_namespace = "FFTW3" - cmake_target_name = "fftw3" + prec_suffix - pkgconfig_name = "fftw3" + prec_suffix - lib_name = "fftw3" + prec_suffix + cmake_config_name = cmake_namespace = "FFTW3" self.cpp_info.set_property("cmake_file_name", cmake_config_name) - self.cpp_info.set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") - self.cpp_info.set_property("pkg_config_name", pkgconfig_name) - - # TODO: back to global scope in conan v2 once cmake_find_package_* & pkg_config generators removed - if self.options.openmp: - self.cpp_info.components["fftwlib"].libs.append(lib_name + "_omp") - if self.options.threads and not self.options.combinedthreads: - self.cpp_info.components["fftwlib"].libs.append(lib_name + "_threads") - self.cpp_info.components["fftwlib"].libs.append(lib_name) - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["fftwlib"].system_libs.append("m") - if self.options.threads: - self.cpp_info.components["fftwlib"].system_libs.append("pthread") # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = cmake_config_name self.cpp_info.filenames["cmake_find_package_multi"] = cmake_config_name self.cpp_info.names["cmake_find_package"] = cmake_namespace self.cpp_info.names["cmake_find_package_multi"] = cmake_namespace - self.cpp_info.components["fftwlib"].names["cmake_find_package"] = cmake_target_name - self.cpp_info.components["fftwlib"].names["cmake_find_package_multi"] = cmake_target_name - self.cpp_info.components["fftwlib"].set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") - self.cpp_info.components["fftwlib"].set_property("pkg_config_name", pkgconfig_name) + + for self._current_precision in self._all_precisions: + prec_suffix = self._prec_suffix[self._current_precision] + cmake_target_name = pkgconfig_name = lib_name = "fftw3" + prec_suffix + component_name = f"fftwlib_{self._current_precision}" + component = self.cpp_info.components[component_name] + + # TODO: back to global scope in conan v2 once cmake_find_package_* & pkg_config generators removed + if self.options.openmp: + component.libs.append(lib_name + "_omp") + if self.options.threads and not self.options.combinedthreads: + component.libs.append(lib_name + "_threads") + self.cpp_info.components[component_name].libs.append(lib_name) + if self.settings.os in ["Linux", "FreeBSD"]: + component.system_libs.append("m") + if self._current_precision == QUAD: + component.system_libs.extend(['quadmath']) + if self.options.threads: + component.system_libs.append("pthread") + self.cpp_info.components[component_name].includedirs.append(os.path.join(self.package_folder, "include")) + + component.names["cmake_find_package"] = cmake_target_name + component.names["cmake_find_package_multi"] = cmake_target_name + component.set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") + component.set_property("pkg_config_name", pkgconfig_name) + + def package_id(self): + del self.info.options.precision @property def _prec_suffix(self): return { "double": "", "single": "f", - "longdouble": "l" + "longdouble": "l", + 'quad': 'q' } diff --git a/recipes/fftw/all/test_package/CMakeLists.txt b/recipes/fftw/all/test_package/CMakeLists.txt index 3943d935ac8c2..e2445bdf7545e 100644 --- a/recipes/fftw/all/test_package/CMakeLists.txt +++ b/recipes/fftw/all/test_package/CMakeLists.txt @@ -4,21 +4,18 @@ project(test_package LANGUAGES C) option(ENABLE_DOUBLE_PRECISION "Enable FFTW single precision" ON) option(ENABLE_SINGLE_PRECISION "Enable FFTW single precision" OFF) option(ENABLE_LONG_DOUBLE_PRECISION "Enable FFTW single precision" OFF) +option(ENABLE_QUAD_PRECISION "Enable FFTW quad precision" OFF) -if(ENABLE_SINGLE_PRECISION) - find_package(FFTW3f REQUIRED CONFIG) -elseif(ENABLE_LONG_DOUBLE_PRECISION) - find_package(FFTW3l REQUIRED CONFIG) -else() - find_package(FFTW3 REQUIRED CONFIG) -endif() +find_package(FFTW3 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} $<$:FFTW3::fftw3> $<$:FFTW3::fftw3f> - $<$:FFTW3::fftw3l>) + $<$:FFTW3::fftw3l> + $<$:FFTW3::fftw3q>) target_compile_options(${PROJECT_NAME} PRIVATE $<$:-DENABLE_SINGLE_PRECISION=1> - $<$:-DENABLE_LONG_DOUBLE_PRECISION=1>) + $<$:-DENABLE_LONG_DOUBLE_PRECISION=1> + $<$:-DENABLE_QUAD_PRECISION=1>) diff --git a/recipes/fftw/all/test_package/conanfile.py b/recipes/fftw/all/test_package/conanfile.py index ae78315e3f3d3..bf64344b75e94 100644 --- a/recipes/fftw/all/test_package/conanfile.py +++ b/recipes/fftw/all/test_package/conanfile.py @@ -17,9 +17,10 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["ENABLE_DOUBLE_PRECISION"] = self.dependencies["fftw"].options.precision == "double" - tc.variables["ENABLE_SINGLE_PRECISION"] = self.dependencies["fftw"].options.precision == "single" - tc.variables["ENABLE_LONG_DOUBLE_PRECISION"] = self.dependencies["fftw"].options.precision == "longdouble" + tc.variables["ENABLE_DOUBLE_PRECISION"] = self.dependencies['fftw'].options.precision_double + tc.variables["ENABLE_SINGLE_PRECISION"] = self.dependencies['fftw'].options.precision_single + tc.variables["ENABLE_LONG_DOUBLE_PRECISION"] = self.dependencies['fftw'].options.precision_longdouble + tc.variables["ENABLE_QUAD_PRECISION"] = self.dependencies['fftw'].options.precision_quad tc.generate() def build(self): diff --git a/recipes/fftw/all/test_package/test_package.c b/recipes/fftw/all/test_package/test_package.c index b098fdf9507b1..41b92c011b487 100644 --- a/recipes/fftw/all/test_package/test_package.c +++ b/recipes/fftw/all/test_package/test_package.c @@ -7,6 +7,9 @@ typedef float real_t; #elif defined(ENABLE_LONG_DOUBLE_PRECISION) typedef long double real_t; #define FFTW_MANGLE(name) FFTW_MANGLE_LONG_DOUBLE(name) +#elif defined(ENABLE_QUAD_PRECISION) +typedef __float128 real_t; +#define FFTW_MANGLE(name) FFTW_MANGLE_QUAD(name) #else typedef double real_t; #define FFTW_MANGLE(name) FFTW_MANGLE_DOUBLE(name) diff --git a/recipes/fftw/all/test_v1_package/conanfile.py b/recipes/fftw/all/test_v1_package/conanfile.py index 0608a56e96b9b..bc42b2f516ea2 100644 --- a/recipes/fftw/all/test_v1_package/conanfile.py +++ b/recipes/fftw/all/test_v1_package/conanfile.py @@ -8,9 +8,10 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) - cmake.definitions["ENABLE_DOUBLE_PRECISION"] = self.options["fftw"].precision == "double" - cmake.definitions["ENABLE_SINGLE_PRECISION"] = self.options["fftw"].precision == "single" - cmake.definitions["ENABLE_LONG_DOUBLE_PRECISION"] = self.options["fftw"].precision == "longdouble" + cmake.definitions["ENABLE_DOUBLE_PRECISION"] = self.options["fftw"].precision_double + cmake.definitions["ENABLE_SINGLE_PRECISION"] = self.options["fftw"].precision_single + cmake.definitions["ENABLE_LONG_DOUBLE_PRECISION"] = self.options["fftw"].precision_longdouble + cmake.definitions["ENABLE_QUAD_PRECISION"] = self.options["fftw"].precision_quad cmake.configure() cmake.build() From b0fcb6fc6b6b0997b3b3fb7a8578bf18a7f5545e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 04:47:36 -0600 Subject: [PATCH 2594/4087] (#20324) libdisplay-info: Add recipe * libdisplay-info: Add recipe * Don't set PATH * Bump Meson version * Ensure that hwdata is found * Make the recipe work without a build profile * Set default for getattr * Disable on macOS Apple's linker doesn't support '--version-script'. * Only build for Linux / FreeBSD * Add missing colon * Update recipes/libdisplay-info/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Martin Valgur --- recipes/libdisplay-info/all/conandata.yml | 4 + recipes/libdisplay-info/all/conanfile.py | 101 ++++++++++++++++++ .../all/test_package/conanfile.py | 32 ++++++ .../all/test_package/meson.build | 5 + .../all/test_package/test_package.c | 8 ++ recipes/libdisplay-info/config.yml | 3 + 6 files changed, 153 insertions(+) create mode 100644 recipes/libdisplay-info/all/conandata.yml create mode 100644 recipes/libdisplay-info/all/conanfile.py create mode 100644 recipes/libdisplay-info/all/test_package/conanfile.py create mode 100644 recipes/libdisplay-info/all/test_package/meson.build create mode 100644 recipes/libdisplay-info/all/test_package/test_package.c create mode 100644 recipes/libdisplay-info/config.yml diff --git a/recipes/libdisplay-info/all/conandata.yml b/recipes/libdisplay-info/all/conandata.yml new file mode 100644 index 0000000000000..916fa487be227 --- /dev/null +++ b/recipes/libdisplay-info/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.1": + url: "https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.1.1/libdisplay-info-0.1.1.tar.bz2" + sha256: "51cdb0362882ca2af62532ab4d95e60d81e9890b339264719fd55f8e3945d695" diff --git a/recipes/libdisplay-info/all/conanfile.py b/recipes/libdisplay-info/all/conanfile.py new file mode 100644 index 0000000000000..4bb6e6e322b36 --- /dev/null +++ b/recipes/libdisplay-info/all/conanfile.py @@ -0,0 +1,101 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class LibdisplayInfoConan(ConanFile): + name = "libdisplay-info" + description = "EDID and DisplayID library." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://gitlab.freedesktop.org/emersion/libdisplay-info" + topics = ("display", "DisplayID", "EDID") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _has_build_profile(self): + return getattr(self, "settings_build", None) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if not self._has_build_profile: + self.requires("hwdata/0.374") + + def validate(self): + if not self.settings.os in ["FreeBSD", "Linux"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}") + + def build_requirements(self): + if self._has_build_profile: + self.tool_requires("hwdata/0.374") + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + if cross_building(self): + tc.project_options["build.pkg_config_path"] = self.generators_folder + tc.generate() + pkg_config_deps = PkgConfigDeps(self) + if self._has_build_profile: + pkg_config_deps.build_context_activated = ["hwdata"] + pkg_config_deps.generate() + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "# subdir('test')") + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["display-info"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m"]) diff --git a/recipes/libdisplay-info/all/test_package/conanfile.py b/recipes/libdisplay-info/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2e3df45816e5a --- /dev/null +++ b/recipes/libdisplay-info/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + basic_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libdisplay-info/all/test_package/meson.build b/recipes/libdisplay-info/all/test_package/meson.build new file mode 100644 index 0000000000000..3b75f6e4e942b --- /dev/null +++ b/recipes/libdisplay-info/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('libdisplay-info') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/libdisplay-info/all/test_package/test_package.c b/recipes/libdisplay-info/all/test_package/test_package.c new file mode 100644 index 0000000000000..21c1bf8b467cd --- /dev/null +++ b/recipes/libdisplay-info/all/test_package/test_package.c @@ -0,0 +1,8 @@ +#include + +#include + +int main() +{ + return di_info_parse_edid("", 0) != 0; +} diff --git a/recipes/libdisplay-info/config.yml b/recipes/libdisplay-info/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/libdisplay-info/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 1a33f11006df7aecbf7dcc9bae37dd82492ca66a Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 07:10:32 -0600 Subject: [PATCH 2595/4087] (#20289) libxcrypt: Add version 4.4.36 * libxcrypt: Add version 4.4.36 * Add package_type --- recipes/libxcrypt/all/conandata.yml | 3 +++ recipes/libxcrypt/all/conanfile.py | 1 + recipes/libxcrypt/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libxcrypt/all/conandata.yml b/recipes/libxcrypt/all/conandata.yml index 812907a83d051..fb3a279cbaa17 100644 --- a/recipes/libxcrypt/all/conandata.yml +++ b/recipes/libxcrypt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.36": + url: "https://github.com/besser82/libxcrypt/archive/v4.4.36.tar.gz" + sha256: "b979838d5f1f238869d467484793b72b8bca64c4eae696fdbba0a9e0b6c28453" "4.4.35": url: "https://github.com/besser82/libxcrypt/archive/v4.4.35.tar.gz" sha256: "15981f2ffb82d70f07285f9683c485c4774083057564a2e7e74236c19e8e9f7b" diff --git a/recipes/libxcrypt/all/conanfile.py b/recipes/libxcrypt/all/conanfile.py index 7f1e95bcfd907..9535c01222b44 100644 --- a/recipes/libxcrypt/all/conanfile.py +++ b/recipes/libxcrypt/all/conanfile.py @@ -19,6 +19,7 @@ class LibxcryptConan(ConanFile): topics = ("hash", "password", "one-way", "bcrypt", "md5", "sha256", "sha512") license = ("LGPL-2.1-or-later", ) settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], diff --git a/recipes/libxcrypt/config.yml b/recipes/libxcrypt/config.yml index bdbb3cb2f74cf..e6406af656d46 100644 --- a/recipes/libxcrypt/config.yml +++ b/recipes/libxcrypt/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.36": + folder: all "4.4.35": folder: all "4.4.34": From 251834d19eeb763a23816ef2179fc951137faef9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 16 Nov 2023 16:27:10 +0200 Subject: [PATCH 2596/4087] (#19229) rmm: add 23.10.00, bump deps * rmm: add 23.08.00, bump deps * rmm: bump fmt to 10.1.0 * rmm: use lazy_lt_semver() for gcc * rmm: add v23.12.00 * rmm: bump fmt, tidy * rmm: 23.12 is pre-release, replace with 23.10 --- recipes/rmm/all/conandata.yml | 3 +++ recipes/rmm/all/conanfile.py | 45 +++++++++++++++-------------------- recipes/rmm/config.yml | 2 ++ 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/recipes/rmm/all/conandata.yml b/recipes/rmm/all/conandata.yml index 7df46299a9c8a..67683994d5b6f 100644 --- a/recipes/rmm/all/conandata.yml +++ b/recipes/rmm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "23.10.00": + url: "https://github.com/rapidsai/rmm/archive/v23.10.00.tar.gz" + sha256: "4e2408073662fdfd92ca21d87f7d2afc64d2595fd5a1e3fa321d3472cfbd7f7a" "23.06.00": url: "https://github.com/rapidsai/rmm/archive/refs/tags/v23.06.00.tar.gz" sha256: "3dade75a6ba21041e47493a6514513aa01d40e19bba500f5e648e399744e1a24" diff --git a/recipes/rmm/all/conanfile.py b/recipes/rmm/all/conanfile.py index e9bb7d0e98006..ca0e3861927c1 100644 --- a/recipes/rmm/all/conanfile.py +++ b/recipes/rmm/all/conanfile.py @@ -4,7 +4,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import export_conandata_patches, get, copy, replace_in_file, save +from conan.tools.files import get, copy, replace_in_file, save from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -37,16 +37,13 @@ def _compilers_minimum_version(self): "apple-clang": "14.0", } - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") def requirements(self): self.requires("thrust/1.17.2") - self.requires("spdlog/1.11.0") - self.requires("fmt/9.1.0") + self.requires("spdlog/1.12.0") + self.requires("fmt/10.1.1") def package_id(self): self.info.clear() @@ -54,8 +51,13 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + + def lazy_lt_semver(v1, v2): + # Needed to allow version "9" >= "9.3" for gcc + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: + if minimum_version and lazy_lt_semver(self.settings.compiler.version, minimum_version): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) @@ -83,12 +85,8 @@ def _patch_sources(self): if Version(self.version) < "23.08": # https://github.com/rapidsai/rmm/pull/1295 # Add missing include in logger.hpp - replace_in_file( - self, - os.path.join(self.source_folder, "include", "rmm", "logger.hpp"), - "#include ", - "#include \n#include ", - ) + replace_in_file(self, os.path.join(self.source_folder, "include", "rmm", "logger.hpp"), + "#include ", "#include \n#include ") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -96,23 +94,18 @@ def source(self): self._patch_sources() def package(self): - copy( - self, - pattern="LICENSE", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder, - ) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) for pattern in ["*.hpp", "*.h"]: - copy( - self, - pattern=pattern, - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include"), - ) + copy(self, pattern, + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("dl") diff --git a/recipes/rmm/config.yml b/recipes/rmm/config.yml index e04fd963f4a5f..20cd4f56dc99f 100644 --- a/recipes/rmm/config.yml +++ b/recipes/rmm/config.yml @@ -1,3 +1,5 @@ versions: + "23.10.00": + folder: all "23.06.00": folder: all From 4ba947a246c45e72fa3c51e75ec6a3a846b7a195 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 16 Nov 2023 20:32:59 +0100 Subject: [PATCH 2597/4087] (#21162) [bot] Update authorized users list (2023-11-16) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index da6e1c6820c61..710c4ab0338e0 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1263,3 +1263,5 @@ authorized_users: - fabiorossetto - Bronek - agdavydov81 +- sizeak +- johannes-wolf From 24b9b5e75e7d74f8bed1d08f81857c2f4809791a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 16 Nov 2023 21:28:58 +0100 Subject: [PATCH 2598/4087] (#21166) Remove missing users from authorized_users.yml * Remove missing users from authorized_users.yml * Re-add number usernames --- .c3i/authorized_users.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 710c4ab0338e0..eb2fa30e632e6 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -45,7 +45,6 @@ authorized_users: - datalogics-robb - PinkySan - keysight-daryl -- gunmetal313 - rdeterre - Hopobcn - rikdev @@ -56,7 +55,6 @@ authorized_users: - ledocc - fpelliccioni - PierreRamoin -- yipdw - soporide - detwiler - hrantzsch @@ -82,7 +80,6 @@ authorized_users: - BlueSolei - AndWass - SpaceIm -- prsolucoes - yssource - dheater - GavinNL @@ -109,20 +106,16 @@ authorized_users: - mbodmer - feragon - claremacrae -- nicolastagliani - samuelpmish - Garcia6l20 -- RemySphere - pleroux0 - qchateau - datalogics-kam - tt4g - akshit-sharma -- jargonzombies - xqp - alnkpa - prince-chrismc -- bk2221 - igl42 - casabre - Nipheris @@ -135,7 +128,6 @@ authorized_users: - zod - Twon - miketsukerman -- mgoldshteyn - dab0bby - atilag - floriansimon1 @@ -144,7 +136,6 @@ authorized_users: - mapau - igor-sadchenko - fulara -- BNL-Corp - pyrige - ZaMaZaN4iK - rudolfheszele @@ -189,7 +180,6 @@ authorized_users: - pavanbadugu - isnullxbh - Michanne -- markusgod - syoliver - daravi - museghost @@ -234,7 +224,6 @@ authorized_users: - yelu - bibermann - baltendorf -- Mahe-Thomas - Eremiell - d70-t - ufkesba @@ -272,7 +261,6 @@ authorized_users: - greeng3 - mattgodbolt - mathbunnyru -- ngerke - TheLavaBlock - greeng3 - ItsBasi @@ -289,7 +277,6 @@ authorized_users: - mjvankampen - ivan-kulikov-dev - ntagliani -- bnlcorp - Alberto-Izquierdo - an-tao - p-ranav @@ -381,10 +368,8 @@ authorized_users: - ubnt-kannan - taoyouh - skannan89 -- paulo-coutinho - AndreyMlashkin - AndyMender -- triangulumlabs - Woazim - shubhamck - Lukas-Heiligenbrunner @@ -402,11 +387,9 @@ authorized_users: - Jonathan-Eid - ihsandemir - Marks101 -- whuji - jiangdawhy - MichelleHetzel - Pro -- anton-dirac - petiaccja - Expander - kdsx @@ -421,7 +404,6 @@ authorized_users: - TheSalvator - fcelda - toge -- maksim-0 - blackencino - lukaszlaszko - pichi-router @@ -547,7 +529,6 @@ authorized_users: - AshleyRoll - inparallel - vcampmany -- 3d4m-vladimir - thesummer - NolanC33 - Chnossos @@ -589,7 +570,6 @@ authorized_users: - claudius-kienle - choll - erikzenker -- dannftk - Jairard - Nicky-D - pgeler @@ -638,7 +618,6 @@ authorized_users: - woidpointer - dkruempe - ehds -- sase-cs - idealvin - seemk - chausner @@ -673,7 +652,6 @@ authorized_users: - gjasny - eirikb - wpalfi -- vkes - wouterz - szigetics - kovdan01 @@ -740,7 +718,6 @@ authorized_users: - jt416 - Pollux42 - gracicot -- Siviuze - ggulgulia - ondrej-benus - RubyNova @@ -750,7 +727,6 @@ authorized_users: - eerimoq - bb010g - paulocoutinhox -- WilliamBehrens - greg7mdp - ruurdadema - steromano87 @@ -809,14 +785,12 @@ authorized_users: - luizgabriel - kshehata - dietssa -- simoncent - staskau - Iswenzz - DAP-IT-Aachen - VladyslavUsenko - vdsbenoit - Macfly -- hesham-essam - mkviatkovskii - sgoth - hellozee @@ -868,7 +842,6 @@ authorized_users: - EstebanDugueperoux2 - suhasHere - Tradias -- NeXuS4Developer - jellespijker - bshoshany - Chrismarsh @@ -1009,7 +982,6 @@ authorized_users: - ashley-b - psmitsu - Viatorus -- mkoviazin - shtanko-sv - larshg - Wuqiqi123 @@ -1110,7 +1082,6 @@ authorized_users: - carterian8 - jdoubleu - poretga99 -- stefanpantic-smallpdf - sebsnyk - mercierd - Tobulus From 2b6e90b5014d2126aa0576181295b05ff765bd2e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 16 Nov 2023 23:05:51 +0200 Subject: [PATCH 2599/4087] (#18831) ags: migrate to Conan v2 * ags: migrate to Conan v2 * ags: add v6.1.0 for VS 2022 support * ags: get rid of vs_ide_version() * ags: restore shared option * ags: drop v6.0 * ags: add v6.2.0 * ags: recipe tweaks --- recipes/ags/all/conandata.yml | 9 +- recipes/ags/all/conanfile.py | 131 ++++++++++-------- recipes/ags/all/test_package/CMakeLists.txt | 7 +- recipes/ags/all/test_package/conanfile.py | 20 ++- .../ags/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/ags/all/test_v1_package/conanfile.py | 16 +++ recipes/ags/config.yml | 6 +- 7 files changed, 125 insertions(+), 72 deletions(-) create mode 100644 recipes/ags/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ags/all/test_v1_package/conanfile.py diff --git a/recipes/ags/all/conandata.yml b/recipes/ags/all/conandata.yml index 80c23a11369cc..85726b0fe607b 100644 --- a/recipes/ags/all/conandata.yml +++ b/recipes/ags/all/conandata.yml @@ -2,9 +2,12 @@ sources: "5.4.1": url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v5.4.1.tar.gz sha256: d72766152bc83fe75c12a26db02fcf01dcff269817994dc337c7eca52d69a669 - "6.0": - url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v6.0.tar.gz - sha256: 3278ae381b1169f2f70be4412e351a427686cca9728dd6870fbb0c26d8d33b5b "6.0.1": url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v6.0.1.tar.gz sha256: 7827e3c48b09a216b539c70d861e49580d57ae5fb6808f34dcf97067281c2a52 + "6.1.0": + url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v6.1.0.tar.gz + sha256: 718c2ca4a6b5b7b0d35d6cdba2ae38bea4be7c01039a9093a5b13dd87c3fb8fd + "6.2.0": + url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/refs/tags/v6.2.0.tar.gz + sha256: 7fe211ff3856bb806da24d7988ddbf9dcb5d3395a1795ca68d510f7c29fe43cb diff --git a/recipes/ags/all/conanfile.py b/recipes/ags/all/conanfile.py index ce3253516ac16..40fbf18e98b65 100644 --- a/recipes/ags/all/conanfile.py +++ b/recipes/ags/all/conanfile.py @@ -1,22 +1,30 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, check_min_vs +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class AGSConan(ConanFile): name = "ags" - description = "The AMD GPU Services (AGS) library provides software developers with the ability to query AMD GPU " \ - "software and hardware state information that is not normally available through standard operating " \ - "systems or graphics APIs." - homepage = "https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK" - topics = ("conan", "amd", "gpu") + description = ( + "The AMD GPU Services (AGS) library provides software developers with the ability to query AMD GPU " + "software and hardware state information that is not normally available through standard operating " + "systems or graphics APIs." + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK" + topics = ("amd", "gpu", "pre-built") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - license = "MIT" - no_copy_source = True options = { "shared": [True, False], } @@ -24,66 +32,73 @@ class AGSConan(ConanFile): "shared": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _supported_msvc_versions(self): - return ["14", "15", "16"] + def layout(self): + basic_layout(self, src_folder="src") @property def _supported_archs(self): return ["x86_64", "x86"] - def configure(self): - if self.settings.os != "Windows": - raise ConanInvalidConfiguration("ags doesn't support OS: {}.".format(self.settings.os)) - if self.settings.compiler != "Visual Studio": - raise ConanInvalidConfiguration("ags doesn't support compiler: {} on OS: {}.". - format(self.settings.compiler, self.settings.os)) - - if self.settings.compiler == "Visual Studio": - if self.settings.compiler.version not in self._supported_msvc_versions: - raise ConanInvalidConfiguration("ags doesn't support MSVC version: {}".format(self.settings.compiler.version)) - if self.settings.arch not in self._supported_archs: - raise ConanInvalidConfiguration("ags doesn't support arch: {}".format(self.settings.arch)) + def validate(self): + if not is_msvc(self): + raise ConanInvalidConfiguration("AGS SDK only supports MSVC and Windows") + check_min_vs(self, 190) + if Version(self.version) < "6.1.0" and check_min_vs(self, 193, raise_invalid=False): + raise ConanInvalidConfiguration(f"Visual Studio 2019 or older is required for v{self.version}") + if self.settings.arch not in self._supported_archs: + raise ConanInvalidConfiguration(f"AGS SDK doesn't support arch: {self.settings.arch}") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _convert_msvc_version_to_vs_version(self, msvc_version): - vs_versions = { - "14": "2015", - "15": "2017", - "16": "2019", - } - return vs_versions.get(str(msvc_version), None) + @property + def _vs_ide_year(self): + compiler_version = str(self.settings.compiler.version) + if str(self.settings.compiler) == "Visual Studio": + return { + "14": "2015", + "15": "2017", + "16": "2019", + "17": "2022", + }[compiler_version] + else: + return { + "190": "2015", + "191": "2017", + "192": "2019", + "193": "2022", + }[compiler_version] - def _convert_arch_to_win_arch(self, msvc_version): - vs_versions = { + @property + def _win_arch(self): + return { "x86_64": "x64", "x86": "x86", - } - return vs_versions.get(str(msvc_version), None) + }[str(self.settings.arch)] - def package(self): - ags_lib_path = os.path.join(self.source_folder, self._source_subfolder, "ags_lib") - self.copy("LICENSE.txt", dst="licenses", src=ags_lib_path) - self.copy("*.h", dst="include", src=os.path.join(ags_lib_path, "inc")) + @property + def _lib_name(self): + if self.options.shared: + return f"amd_ags_{self._win_arch}" + return f"amd_ags_{self._win_arch}_{self._vs_ide_year}_{msvc_runtime_flag(self)}" - if self.settings.compiler == "Visual Studio": - win_arch = self._convert_arch_to_win_arch(self.settings.arch) - if self.options.shared: - shared_lib = "amd_ags_{arch}.dll".format(arch=win_arch) - symbol_lib = "amd_ags_{arch}.lib".format(arch=win_arch) - self.copy(shared_lib, dst="bin", src=os.path.join(ags_lib_path, "lib")) - self.copy(symbol_lib, dst="lib", src=os.path.join(ags_lib_path, "lib")) - else: - vs_version = self._convert_msvc_version_to_vs_version(self.settings.compiler.version) - static_lib = "amd_ags_{arch}_{vs_version}_{runtime}.lib".format(arch=win_arch, vs_version=vs_version, runtime=self.settings.compiler.runtime) - self.copy(static_lib, dst="lib", src=os.path.join(ags_lib_path, "lib")) + def package(self): + ags_lib_path = os.path.join(self.source_folder, "ags_lib") + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=ags_lib_path) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(ags_lib_path, "inc")) + copy(self, f"{self._lib_name}.lib", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(ags_lib_path, "lib")) + if self.options.shared: + copy(self, f"{self._lib_name}.dll", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(ags_lib_path, "lib")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = [self._lib_name] diff --git a/recipes/ags/all/test_package/CMakeLists.txt b/recipes/ags/all/test_package/CMakeLists.txt index 523fab4f02b6a..1a7621b5c42d8 100644 --- a/recipes/ags/all/test_package/CMakeLists.txt +++ b/recipes/ags/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(ags REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CONAN_PKG::ags) +target_link_libraries(${PROJECT_NAME} PRIVATE ags::ags) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) diff --git a/recipes/ags/all/test_package/conanfile.py b/recipes/ags/all/test_package/conanfile.py index c08206c505563..ef5d7042163ec 100644 --- a/recipes/ags/all/test_package/conanfile.py +++ b/recipes/ags/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ags/all/test_v1_package/CMakeLists.txt b/recipes/ags/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/ags/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ags/all/test_v1_package/conanfile.py b/recipes/ags/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..d026b4c142f4c --- /dev/null +++ b/recipes/ags/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/ags/config.yml b/recipes/ags/config.yml index a799261020b31..df03f21bccdc5 100644 --- a/recipes/ags/config.yml +++ b/recipes/ags/config.yml @@ -1,7 +1,9 @@ versions: "5.4.1": folder: all - "6.0": - folder: all "6.0.1": folder: all + "6.1.0": + folder: all + "6.2.0": + folder: all From dfb179aadf55045390f75cd213231874445ae2e3 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 16 Nov 2023 23:35:26 +0100 Subject: [PATCH 2600/4087] (#21159) [cimq] Reduce number of versions supported Signed-off-by: Uilian Ries --- recipes/cimg/all/conandata.yml | 15 --------------- recipes/cimg/config.yml | 10 ---------- 2 files changed, 25 deletions(-) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index 110b573ab51e1..df56684723fbd 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -5,27 +5,12 @@ sources: "3.2.6": url: "https://cimg.eu/files/CImg_3.2.6.zip" sha256: "8da3aa995027231bb18f97bb986e12788ef464b3ab8a34151650bf1217baeda7" - "3.2.5": - url: "https://cimg.eu/files/CImg_3.2.5.zip" - sha256: "3ab9f25cd7e5f7256dde67b4ea78ead05834bee0db9160c89668a388ba141cd9" - "3.2.0": - url: "https://cimg.eu/files/CImg_3.2.0.zip" - sha256: "7a923357c3127d8839696c7b0f4eb4c23982c090d3f49fb133f2c8556ca74a88" "3.0.2": url: "https://cimg.eu/files/CImg_3.0.2.zip" sha256: "ee55a37c33d503a64ff264b53952e502ba7c2887b59ded47c47c86ea52ac5c31" - "3.0.0": - url: "https://cimg.eu/files/CImg_3.0.0.zip" - sha256: "8ec6e9d87459a3cb85bddcd5ae8a4891bc734957ea4aa3089dcf1d234e8d0525" "2.9.9": url: "https://cimg.eu/files/CImg_2.9.9.zip" sha256: "c94412f26800ea318fa79410c58da1cf3df71771d07e515c39b16ee743f68e92" - "2.9.4": - url: "https://cimg.eu/files/CImg_2.9.4.zip" - sha256: "455945dc035d50bbc042450e2dc81b2ca19ea74cd3bc38b46ac623df6997dfff" - "2.9.2": - url: "https://cimg.eu/files/CImg_2.9.2.zip" - sha256: "58ffe77bfc25bd90bb3f8185cd7ed8427e2e4f95ce5b748ae2f6291d026b5e90" "2.8.3": url: "https://cimg.eu/files/CImg_2.8.3.zip" sha256: "8d92e4cc271568c5aeca6e6b1f28f620fcf161ef99ce9d070ed1905d92caec4c" diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index 9b44fb64c63a1..0ba296b3e93c6 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -3,19 +3,9 @@ versions: folder: all "3.2.6": folder: all - "3.2.5": - folder: all - "3.2.0": - folder: all "3.0.2": folder: all - "3.0.0": - folder: all "2.9.9": folder: all - "2.9.4": - folder: all - "2.9.2": - folder: all "2.8.3": folder: all From eb0cfc9132214e9298ffc7a75494a70b66d6e045 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 17 Nov 2023 02:07:48 +0200 Subject: [PATCH 2601/4087] (#18848) mold: drop 1.3.1, add package_type * mold: migrate 1.3.1 to Conan v2, adjust exported vars * mold/1.3.1: drop outdated recipe * mold: tweak conf variable Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/mold/1.3.1/conandata.yml | 4 - recipes/mold/1.3.1/conanfile.py | 104 ------------------- recipes/mold/1.3.1/test_package/conanfile.py | 9 -- recipes/mold/all/conanfile.py | 68 ++++++------ recipes/mold/all/test_package/conanfile.py | 1 - recipes/mold/config.yml | 2 - 6 files changed, 39 insertions(+), 149 deletions(-) delete mode 100644 recipes/mold/1.3.1/conandata.yml delete mode 100644 recipes/mold/1.3.1/conanfile.py delete mode 100644 recipes/mold/1.3.1/test_package/conanfile.py diff --git a/recipes/mold/1.3.1/conandata.yml b/recipes/mold/1.3.1/conandata.yml deleted file mode 100644 index 5d89f31c243f2..0000000000000 --- a/recipes/mold/1.3.1/conandata.yml +++ /dev/null @@ -1,4 +0,0 @@ -sources: - "1.3.1": - url: "https://github.com/rui314/mold/archive/refs/tags/v1.3.1.tar.gz" - sha256: "d436e2d4c1619a97aca0e28f26c4e79c0242d10ce24e829c1b43cfbdd196fd77" diff --git a/recipes/mold/1.3.1/conanfile.py b/recipes/mold/1.3.1/conanfile.py deleted file mode 100644 index 628628b349c7b..0000000000000 --- a/recipes/mold/1.3.1/conanfile.py +++ /dev/null @@ -1,104 +0,0 @@ -from conan import ConanFile -from conan.tools.scm import Version -from conan.tools import files -from conan.tools.files import copy -from conan.errors import ConanInvalidConfiguration -from conans import AutoToolsBuildEnvironment -import os - -required_conan_version = ">=1.47.0" - -class MoldConan(ConanFile): - name = "mold" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/rui314/mold/" - license = "AGPL-3.0" - description = ("mold is a faster drop-in replacement for existing Unix linkers. It is several times faster than the LLVM lld linker") - topics = ("mold", "ld", "linkage", "compilation") - - settings = "os", "arch", "compiler", "build_type" - - generators = "make" - - def validate(self): - if self.settings.build_type == "Debug": - raise ConanInvalidConfiguration('Mold is a build tool, specify mold:build_type=Release in your build profile, see https://github.com/conan-io/conan-center-index/pull/11536#issuecomment-1195607330') - if self.settings.compiler in ["gcc", "clang", "intel-cc"] and self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration('Mold can only be built with libstdc++11; specify mold:compiler.libcxx=libstdc++11 in your build profile') - if self.settings.os == "Windows": - raise ConanInvalidConfiguration(f'{self.name} can not be built on {self.settings.os}.') - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "10": - raise ConanInvalidConfiguration("GCC version 10 or higher required") - if (self.settings.compiler == "clang" or self.settings.compiler == "apple-clang") and Version(self.settings.compiler.version) < "12": - raise ConanInvalidConfiguration("Clang version 12 or higher required") - if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch : - raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.') - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def _get_include_path(self, dependency): - include_path = self.deps_cpp_info[dependency].rootpath - include_path = os.path.join(include_path, "include") - return include_path - - def _patch_sources(self): - if self.settings.compiler == "apple-clang" or (self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "11"): - files.replace_in_file(self, "source_subfolder/Makefile", "-std=c++20", "-std=c++2a") - - files.replace_in_file(self, "source_subfolder/Makefile", "-Ithird-party/xxhash ", "-I{} -I{} -I{} -I{} -I{}".format( - self._get_include_path("zlib"), - self._get_include_path("openssl"), - self._get_include_path("xxhash"), - self._get_include_path("mimalloc"), - self._get_include_path("onetbb") - )) - - files.replace_in_file(self, "source_subfolder/Makefile", "MOLD_LDFLAGS += -ltbb", "MOLD_LDFLAGS += -L{} -ltbb".format( - self.deps_cpp_info["onetbb"].lib_paths[0])) - - files.replace_in_file(self, "source_subfolder/Makefile", "MOLD_LDFLAGS += -lmimalloc", "MOLD_LDFLAGS += -L{} -lmimalloc".format( - self.deps_cpp_info["mimalloc"].lib_paths[0])) - - def requirements(self): - self.requires("zlib/[>=1.2.11 <2]") - self.requires("openssl/1.1.1q") - self.requires("xxhash/0.8.1") - self.requires("onetbb/2021.3.0") - self.requires("mimalloc/2.0.6") - - def source(self): - files.get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def build(self): - self._patch_sources() - with files.chdir(self, self._source_subfolder): - autotools = AutoToolsBuildEnvironment(self) - autotools.make(target="mold", args=['SYSTEM_TBB=1', 'SYSTEM_MIMALLOC=1']) - - def package(self): - copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) - copy(self, "mold", src="bin", dst=os.path.join(self.package_folder, "bin"), keep_path=False) - copy(self, "mold", src=self._source_subfolder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - - def package_id(self): - del self.info.settings.compiler - - def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - mold_location = os.path.join(bindir, "bindir") - - self.output.info('Appending PATH environment variable: {}'.format(bindir)) - self.env_info.PATH.append(bindir) - self.env_info.LD = mold_location - self.buildenv_info.prepend_path("MOLD_ROOT", bindir) - self.cpp_info.includedirs = [] - - if self.settings.os == "Linux": - self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) diff --git a/recipes/mold/1.3.1/test_package/conanfile.py b/recipes/mold/1.3.1/test_package/conanfile.py deleted file mode 100644 index f4c00d1c189e7..0000000000000 --- a/recipes/mold/1.3.1/test_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building - -class TestPackageConan(ConanFile): - settings = "os", "arch", "build_type", "compiler" - - def test(self): - if not cross_building(self): - self.run("mold -v", run_environment=True) diff --git a/recipes/mold/all/conanfile.py b/recipes/mold/all/conanfile.py index 5fbdddad5364f..a760cce0d4728 100644 --- a/recipes/mold/all/conanfile.py +++ b/recipes/mold/all/conanfile.py @@ -6,14 +6,21 @@ from conan.tools.scm import Version from conan.tools.env import VirtualBuildEnv +required_conan_version = ">=1.47.0" + + class MoldConan(ConanFile): name = "mold" + description = ( + "mold is a faster drop-in replacement for existing Unix linkers. " + "It is several times faster than the LLVM lld linker." + ) + license = ("AGPL-3.0", "MIT") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rui314/mold/" - license = ("AGPL-3.0", "MIT") - description = ("mold is a faster drop-in replacement for existing Unix linkers. It is several times faster than the LLVM lld linker") - topics = ("mold", "ld", "linkage", "compilation") + topics = ("ld", "linkage", "compilation", "pre-built") + package_type = "application" settings = "os", "arch", "compiler", "build_type" options = { "with_mimalloc": [True, False], @@ -28,8 +35,22 @@ def configure(self): else: self.license = "MIT" + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("zlib/[>=1.2.11 <2]") + self.requires("openssl/[>=1.1 <4]") + self.requires("xxhash/0.8.2") + self.requires("onetbb/2021.10.0") + if self.options.with_mimalloc: + self.requires("mimalloc/2.1.2") + + def package_id(self): + del self.info.settings.compiler + def validate(self): - #TODO most of these checks should run on validate_build, but the conan-center hooks are broken and fail the PR because they + # TODO most of these checks should run on validate_build, but the conan-center hooks are broken and fail the PR because they # think we're raising on the build() method if self.settings.build_type == "Debug": raise ConanInvalidConfiguration('Mold is a build tool, specify mold:build_type=Release in your build profile, see https://github.com/conan-io/conan-center-index/pull/11536#issuecomment-1195607330') @@ -44,26 +65,11 @@ def validate(self): if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch : raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.') - def layout(self): - cmake_layout(self, src_folder="src") - - def package_id(self): - del self.info.settings.compiler - def build_requirements(self): self.tool_requires("cmake/[>=3.18.0 <4]") - def requirements(self): - self.requires("zlib/1.2.13") - self.requires("openssl/1.1.1q") - self.requires("xxhash/0.8.1") - self.requires("onetbb/2021.3.0") - if self.options.with_mimalloc: - self.requires("mimalloc/2.0.6") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -93,17 +99,21 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - mold_location = os.path.join(bindir, "mold") - - self.output.info('Appending PATH environment variable: {}'.format(bindir)) - self.env_info.PATH.append(bindir) - self.env_info.LD = mold_location - self.buildenv_info.prepend_path("MOLD_ROOT", bindir) self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] self.cpp_info.frameworkdirs = [] self.cpp_info.resdirs = [] - if self.settings.os == "Linux": - self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread", "dl"] + + bindir = os.path.join(self.package_folder, "bin") + mold_executable = os.path.join(bindir, "mold") + self.conf_info.define("user.mold:path", mold_executable) + self.buildenv_info.define_path("MOLD_ROOT", bindir) + self.buildenv_info.define("LD", mold_executable) + + # For legacy Conan 1.x consumers only: + self.env_info.PATH.append(bindir) + self.env_info.MOLD_ROOT = bindir + self.env_info.LD = mold_executable diff --git a/recipes/mold/all/test_package/conanfile.py b/recipes/mold/all/test_package/conanfile.py index 60e9ac3ecf6ee..551d50ce9428a 100644 --- a/recipes/mold/all/test_package/conanfile.py +++ b/recipes/mold/all/test_package/conanfile.py @@ -13,4 +13,3 @@ def build_requirements(self): def test(self): if can_run(self): self.run("mold -v") - diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index 213ce3dd01a93..eb4087643c784 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,8 +1,6 @@ versions: "2.0.0": folder: all - "1.3.1": - folder: 1.3.1 "1.4.2": folder: all "1.5.1": From e53df2372a42cddce712ff1eedb3c227948b4482 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 17 Nov 2023 02:53:30 +0200 Subject: [PATCH 2602/4087] (#18884) cairomm: migrate to Conan v2 * cairomm: migrate to Conan v2 * cairomm: update versions * cairomm: add missing fontconfig dependency * cairomm: remove freetype, which was required for cairo only --- recipes/cairomm/all/conandata.yml | 26 +- recipes/cairomm/all/conanfile.py | 232 +++++++----------- .../patches/enable_static_lib_1_14_3.patch | 37 --- .../patches/enable_static_lib_1_16_1.patch | 38 --- .../cairomm/all/test_package/CMakeLists.txt | 12 +- recipes/cairomm/all/test_package/conanfile.py | 20 +- .../cairomm/all/test_package/test_package.cpp | 5 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../cairomm/all/test_v1_package/conanfile.py | 18 ++ recipes/cairomm/config.yml | 8 +- 10 files changed, 160 insertions(+), 244 deletions(-) delete mode 100644 recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch delete mode 100644 recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch create mode 100644 recipes/cairomm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cairomm/all/test_v1_package/conanfile.py diff --git a/recipes/cairomm/all/conandata.yml b/recipes/cairomm/all/conandata.yml index e9529d1b4235f..9763146e05947 100644 --- a/recipes/cairomm/all/conandata.yml +++ b/recipes/cairomm/all/conandata.yml @@ -1,15 +1,13 @@ sources: - "1.16.1": - url: "https://cairographics.org/releases/cairomm-1.16.1.tar.xz" - sha256: "6f6060d8e98dd4b8acfee2295fddbdd38cf487c07c26aad8d1a83bb9bff4a2c6" - "1.14.3": - url: "https://cairographics.org/releases/cairomm-1.14.3.tar.xz" - sha256: "0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78" - -patches: - "1.16.1": - - patch_file: "patches/enable_static_lib_1_16_1.patch" - base_path: "source_subfolder" - "1.14.3": - - patch_file: "patches/enable_static_lib_1_14_3.patch" - base_path: "source_subfolder" + "1.18.0": + url: "https://cairographics.org/releases/cairomm-1.18.0.tar.xz" + sha256: "b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb" + "1.17.1": + url: "https://cairographics.org/releases/cairomm-1.17.1.tar.xz" + sha256: "343e8463ff7dd4d2c90991d6284a2203431e711026575207fd4c313cd323fdbe" + "1.16.2": + url: "https://cairographics.org/releases/cairomm-1.16.2.tar.xz" + sha256: "6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f" + "1.14.5": + url: "https://cairographics.org/releases/cairomm-1.14.5.tar.xz" + sha256: "70136203540c884e89ce1c9edfb6369b9953937f6cd596d97c78c9758a5d48db" diff --git a/recipes/cairomm/all/conanfile.py b/recipes/cairomm/all/conanfile.py index 8a403a49b992b..96f403d024d1e 100644 --- a/recipes/cairomm/all/conanfile.py +++ b/recipes/cairomm/all/conanfile.py @@ -1,20 +1,30 @@ -from conans import ConanFile, Meson, tools -from conan.tools.files import rename -from conan.tools.microsoft import is_msvc -from conans.errors import ConanInvalidConfiguration import glob import os import shutil +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rename, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import MesonToolchain, Meson +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class CairommConan(ConanFile): name = "cairomm" - homepage = "https://github.com/freedesktop/cairomm" - url = "https://github.com/conan-io/conan-center-index" - license = "LGPL-2.0" description = "cairomm is a C++ wrapper for the cairo graphics library." + license = "LGPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.cairographics.org/cairomm/" topics = ["cairo", "wrapper", "graphics"] - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,47 +35,13 @@ class CairommConan(ConanFile): "fPIC": True, } - generators = "pkg_config" - exports_sources = "patches/**" - short_paths = True - - def _abi_version(self): - return "1.16" if tools.Version(self.version) >= "1.16.0" else "1.0" - - def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self): - raise ConanInvalidConfiguration("Cross-building not implemented") - if self.settings.compiler.get_safe("cppstd"): - if self._abi_version() == "1.16": - tools.check_min_cppstd(self, 17) - else: - tools.check_min_cppstd(self, 11) - if self.options.shared and not self.options["cairo"].shared: - raise ConanInvalidConfiguration( - "Linking against static cairo would cause shared cairomm to link " - "against static glib which can cause problems." - ) - @property - def _source_subfolder(self): - return "source_subfolder" + def _abi_version(self): + return "1.16" if Version(self.version) >= "1.16.0" else "1.0" @property - def _build_subfolder(self): - return "build_subfolder" - - def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - if is_msvc(self): - # when using cpp_std=c++11 the /permissive- flag is added which - # attempts enforcing standard conformant c++ code - # the problem is that older versions of Windows SDK is not standard - # conformant! see: - # https://developercommunity.visualstudio.com/t/error-c2760-in-combaseapih-with-windows-sdk-81-and/185399 - tools.replace_in_file( - os.path.join(self._source_subfolder, "meson.build"), - "cpp_std=c++", "cpp_std=vc++") + def _min_cppstd(self): + return 17 if self._abi_version == "1.16" else 11 def config_options(self): if self.settings.os == "Windows": @@ -73,122 +49,104 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if self.options.shared: self.options["cairo"].shared = True - def build_requirements(self): - self.build_requires("meson/0.59.1") - self.build_requires("pkgconf/1.7.4") + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("cairo/1.17.4") - - if self._abi_version() == "1.16": - self.requires("libsigcpp/3.0.7") + self.requires("cairo/1.18.0", transitive_headers=True, transitive_libs=True) + self.requires("fontconfig/2.14.2", transitive_headers=True, transitive_libs=True) + if self._abi_version == "1.16": + self.requires("libsigcpp/3.0.7", transitive_headers=True, transitive_libs=True) else: - self.requires("libsigcpp/2.10.8") + self.requires("libsigcpp/2.10.8", transitive_headers=True, transitive_libs=True) - def source(self): - tools.get( - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder, - ) + def validate(self): + if hasattr(self, "settings_build") and cross_building(self): + raise ConanInvalidConfiguration("Cross-building not implemented") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if self.options.shared and not self.dependencies["cairo"].options.shared: + raise ConanInvalidConfiguration( + "Linking against static cairo would cause shared cairomm to link " + "against static glib which can cause problems." + ) - def build(self): - self._patch_sources() - with tools.environment_append(tools.RunEnvironment(self).vars): - meson = self._configure_meson() - meson.build() + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") - def _configure_meson(self): - meson = Meson(self) - defs = { + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = MesonToolchain(self) + tc.project_options = { "build-examples": "false", "build-documentation": "false", "build-tests": "false", "msvc14x-parallel-installable": "false", "default_library": "shared" if self.options.shared else "static", + "libdir": "lib", } - meson.configure( - defs=defs, - build_folder=self._build_subfolder, - source_folder=self._source_subfolder, - pkg_config_paths=[self.install_folder], - ) - return meson + if not self.options.shared: + tc.preprocessor_definitions["CAIROMM_STATIC_LIB"] = "1" + tc.generate() + + def _patch_sources(self): + if is_msvc(self): + # when using cpp_std=c++11 the /permissive- flag is added which + # attempts enforcing standard conformant c++ code + # the problem is that older versions of Windows SDK is not standard + # conformant! see: + # https://developercommunity.visualstudio.com/t/error-c2760-in-combaseapih-with-windows-sdk-81-and/185399 + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), + "cpp_std=c++", + "cpp_std=vc++") + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - meson = self._configure_meson() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + meson = Meson(self) meson.install() if is_msvc(self): - tools.remove_files_by_mask( - os.path.join(self.package_folder, "bin"), "*.pdb") + rm(self, "*.pdb", os.path.join(self.package_folder, "bin"), recursive=True) if not self.options.shared: - rename( - self, - os.path.join( - self.package_folder, - "lib", - f"libcairomm-{self._abi_version()}.a", - ), - os.path.join(self.package_folder, "lib", - f"cairomm-{self._abi_version()}.lib"), - ) + rename(self, + os.path.join(self.package_folder, "lib", f"libcairomm-{self._abi_version}.a"), + os.path.join(self.package_folder, "lib", f"cairomm-{self._abi_version}.lib")) for header_file in glob.glob( - os.path.join( - self.package_folder, - "lib", - f"cairomm-{self._abi_version()}", - "include", - "*.h", - )): + os.path.join(self.package_folder, "lib", f"cairomm-{self._abi_version}", "include", "*.h") + ): shutil.move( header_file, - os.path.join( - self.package_folder, - "include", - f"cairomm-{self._abi_version()}", - os.path.basename(header_file), - ), + os.path.join(self.package_folder, "include", f"cairomm-{self._abi_version}", os.path.basename(header_file)), ) - for dir_to_remove in ["pkgconfig", f"cairomm-{self._abi_version()}"]: - tools.rmdir(os.path.join(self.package_folder, "lib", - dir_to_remove)) + for dir_to_remove in ["pkgconfig", f"cairomm-{self._abi_version}"]: + rmdir(self, os.path.join(self.package_folder, "lib", dir_to_remove)) def package_info(self): - if self._abi_version() == "1.16": - self.cpp_info.components["cairomm-1.16"].names[ - "pkg_config"] = "cairomm-1.16" - self.cpp_info.components["cairomm-1.16"].includedirs = [ - os.path.join("include", "cairomm-1.16") - ] - self.cpp_info.components["cairomm-1.16"].libs = ["cairomm-1.16"] - self.cpp_info.components["cairomm-1.16"].requires = [ - "libsigcpp::sigc++", "cairo::cairo_" - ] - if tools.is_apple_os(self.settings.os): - self.cpp_info.components["cairomm-1.16"].frameworks = [ - "CoreFoundation" - ] - else: - self.cpp_info.components["cairomm-1.0"].names[ - "pkg_config"] = "cairomm-1.0" - self.cpp_info.components["cairomm-1.0"].includedirs = [ - os.path.join("include", "cairomm-1.0") - ] - self.cpp_info.components["cairomm-1.0"].libs = ["cairomm-1.0"] - self.cpp_info.components["cairomm-1.0"].requires = [ - "libsigcpp::sigc++-2.0", "cairo::cairo_" - ] - if tools.is_apple_os(self.settings.os): - self.cpp_info.components["cairomm-1.0"].frameworks = [ - "CoreFoundation" - ] - - def package_id(self): - self.info.requires["cairo"].full_package_mode() + name = f"cairomm-{self._abi_version}" + self.cpp_info.components[name].set_property("pkg_config_name", name) + self.cpp_info.components[name].includedirs = [os.path.join("include", name)] + self.cpp_info.components[name].libs = [name] + self.cpp_info.components[name].requires = ["libsigcpp::libsigcpp", "cairo::cairo", "fontconfig::fontconfig"] + if not self.options.shared: + self.cpp_info.components[name].defines = ["CAIROMM_STATIC_LIB"] + if is_apple_os(self): + self.cpp_info.components[name].frameworks = ["CoreFoundation"] diff --git a/recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch b/recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch deleted file mode 100644 index f5fcae443d2f0..0000000000000 --- a/recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit 04b20b02cc0ff18f71da693cf2d89709adabd297 -Author: Hesham Essam -Date: Fri May 6 21:26:01 2022 +0200 - - Enable static builds with msvc - - Cairomm exports dll symbols if the macro CAIROMM_STATIC_LIB is not - defined. This patch defines this macro in case of static builds. - -diff --git a/cairommconfig.h.meson b/cairommconfig.h.meson -index 2988edc..b9e5c21 100644 ---- a/cairommconfig.h.meson -+++ b/cairommconfig.h.meson -@@ -18,6 +18,9 @@ - /* Micro version number of cairomm. */ - #mesondefine CAIROMM_MICRO_VERSION - -+/* Define if cairomm is built as a static library */ -+#mesondefine CAIROMM_STATIC_LIB -+ - /* Enable DLL-specific stuff only when not building a static library */ - #if !defined(__CYGWIN__) && \ - (defined(__MINGW32__) || defined (_MSC_VER)) && \ -diff --git a/meson.build b/meson.build -index e130814..54c8d4f 100644 ---- a/meson.build -+++ b/meson.build -@@ -244,6 +244,9 @@ endif - if build_exceptions_api - mm_conf_data.set('CAIROMM_EXCEPTIONS_ENABLED', 1) - endif -+if get_option('default_library') == 'static' -+ mm_conf_data.set('CAIROMM_STATIC_LIB', 1) -+endif - mm_conf_data.set('CAIROMM_MAJOR_VERSION', cairomm_major_version) - mm_conf_data.set('CAIROMM_MINOR_VERSION', cairomm_minor_version) - mm_conf_data.set('CAIROMM_MICRO_VERSION', cairomm_micro_version) diff --git a/recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch b/recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch deleted file mode 100644 index 5d6cd671de960..0000000000000 --- a/recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit cd43f2e55de6db57e561989e7f6ad3765e1d4971 -Author: Hesham Essam -Date: Fri May 6 21:35:47 2022 +0200 - - Enable static builds with msvc - - Cairomm exports dll symbols if the macro CAIROMM_STATIC_LIB is not - defined. This patch defines this macro in case of static builds. - -diff --git a/cairommconfig.h.meson b/cairommconfig.h.meson -index 2988edc..b9e5c21 100644 ---- a/cairommconfig.h.meson -+++ b/cairommconfig.h.meson -@@ -18,6 +18,9 @@ - /* Micro version number of cairomm. */ - #mesondefine CAIROMM_MICRO_VERSION - -+/* Define if cairomm is built as a static library */ -+#mesondefine CAIROMM_STATIC_LIB -+ - /* Enable DLL-specific stuff only when not building a static library */ - #if !defined(__CYGWIN__) && \ - (defined(__MINGW32__) || defined (_MSC_VER)) && \ -diff --git a/meson.build b/meson.build -index 2c0c8bb..5259409 100644 ---- a/meson.build -+++ b/meson.build -@@ -247,6 +247,10 @@ endif - if build_exceptions_api - mm_conf_data.set('CAIROMM_EXCEPTIONS_ENABLED', 1) - endif -+if get_option('default_library') == 'static' -+ mm_conf_data.set('CAIROMM_STATIC_LIB', 1) -+endif -+ - mm_conf_data.set('CAIROMM_MAJOR_VERSION', cairomm_major_version) - mm_conf_data.set('CAIROMM_MINOR_VERSION', cairomm_minor_version) - mm_conf_data.set('CAIROMM_MICRO_VERSION', cairomm_micro_version) diff --git a/recipes/cairomm/all/test_package/CMakeLists.txt b/recipes/cairomm/all/test_package/CMakeLists.txt index 366e829c2704c..ede33192a05dc 100644 --- a/recipes/cairomm/all/test_package/CMakeLists.txt +++ b/recipes/cairomm/all/test_package/CMakeLists.txt @@ -1,16 +1,14 @@ -cmake_minimum_required(VERSION 3.6) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGET) +find_package(cairomm REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) find_package(cairomm REQUIRED CONFIG) -if (TARGET cairomm::cairomm-1.16) +target_link_libraries(${PROJECT_NAME} cairomm::cairomm) +if (cairomm_VERSION VERSION_GREATER_EQUAL 1.6) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) - target_link_libraries(${PROJECT_NAME} cairomm::cairomm-1.16) else() set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) - target_link_libraries(${PROJECT_NAME} cairomm::cairomm-1.0) endif() diff --git a/recipes/cairomm/all/test_package/conanfile.py b/recipes/cairomm/all/test_package/conanfile.py index a691174f8ed16..ef5d7042163ec 100644 --- a/recipes/cairomm/all/test_package/conanfile.py +++ b/recipes/cairomm/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cairomm/all/test_package/test_package.cpp b/recipes/cairomm/all/test_package/test_package.cpp index d802e56f01bd2..5033103959269 100644 --- a/recipes/cairomm/all/test_package/test_package.cpp +++ b/recipes/cairomm/all/test_package/test_package.cpp @@ -5,9 +5,8 @@ #include int main() { -#if CAIROMM_MINOR_VERSION == 16 - auto surface = - Cairo::ImageSurface::create(Cairo::Surface::Format::ARGB32, 600, 400); +#if CAIROMM_MINOR_VERSION >= 16 + auto surface = Cairo::ImageSurface::create(Cairo::Surface::Format::ARGB32, 600, 400); #else auto surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 600, 400); #endif diff --git a/recipes/cairomm/all/test_v1_package/CMakeLists.txt b/recipes/cairomm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cairomm/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cairomm/all/test_v1_package/conanfile.py b/recipes/cairomm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a691174f8ed16 --- /dev/null +++ b/recipes/cairomm/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + diff --git a/recipes/cairomm/config.yml b/recipes/cairomm/config.yml index cc2573070ee79..debfb8cd30b0a 100644 --- a/recipes/cairomm/config.yml +++ b/recipes/cairomm/config.yml @@ -1,5 +1,9 @@ versions: - "1.16.1": + "1.18.0": folder: "all" - "1.14.3": + "1.17.1": + folder: "all" + "1.16.2": + folder: "all" + "1.14.5": folder: "all" From c241a2956fe794138900d12c98d96c2003cb79e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 17 Nov 2023 02:22:30 +0100 Subject: [PATCH 2603/4087] (#20287) Bump nmos-cpp's zlib requirement to [>=1.2.11 <2] range * Bump nmos-cpp's zlib requirement to [>=1.2.11 <2] range * Recipe bumps * Use ranges for cmake and remove custom package id Signed-off-by: Uilian Ries * Use all required dependencies Signed-off-by: Uilian Ries * Simplify test package Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/nmos-cpp/all/conanfile.py | 21 +++++---- .../nmos-cpp/all/test_package/conanfile.py | 32 +------------- .../all/test_package/test_package.cpp | 43 +++++-------------- .../nmos-cpp/all/test_v1_package/conanfile.py | 34 ++------------- 4 files changed, 26 insertions(+), 104 deletions(-) diff --git a/recipes/nmos-cpp/all/conanfile.py b/recipes/nmos-cpp/all/conanfile.py index be9549d77d691..67cbae93e0a0b 100644 --- a/recipes/nmos-cpp/all/conanfile.py +++ b/recipes/nmos-cpp/all/conanfile.py @@ -16,6 +16,8 @@ class NmosCppConan(ConanFile): homepage = "https://github.com/sony/nmos-cpp" topics = ("amwa", "nmos", "is-04", "is-05", "is-07", "is-08", "is-09", "broadcasting", "network", "media") + # https://github.com/sony/nmos-cpp/blob/master/Development/cmake/NmosCppLibraries.cmake#L947 + package_type = "static-library" settings = "os", "compiler", "build_type", "arch" # for now, no "shared" option support options = { @@ -46,13 +48,15 @@ def config_options(self): def requirements(self): # for now, consistent with project's conanfile.txt - self.requires("boost/1.80.0") - self.requires("cpprestsdk/2.10.18") + # INFO: details/system_error.h: #include + self.requires("boost/1.83.0", transitive_headers=True) + # INFO: json_ops.h exposes cpprest/json.h + self.requires("cpprestsdk/2.10.18", transitive_headers=True) self.requires("websocketpp/0.8.2") - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") self.requires("json-schema-validator/2.2.0") self.requires("nlohmann_json/3.11.2") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_dnssd") == "mdnsresponder": self.requires("mdnsresponder/878.200.35") @@ -64,8 +68,7 @@ def requirements(self): self.requires("avahi/0.8") def build_requirements(self): - # nmos-cpp needs CMake 3.17 or higher but CCI doesn't allow version ranges - self.build_requires("cmake/3.24.2") + self.tool_requires("cmake/[>=3.17 <4]") def validate(self): if self.info.settings.os in ["Macos"]: @@ -73,10 +76,6 @@ def validate(self): if self.info.settings.compiler.get_safe("cppstd"): build.check_min_cppstd(self, 11) - def package_id(self): - self.info.requires["boost"].minor_mode() - self.info.requires["nlohmann_json"].patch_mode() - def layout(self): cmake_layout(self, src_folder="src") @@ -227,6 +226,7 @@ def package_info(self): libdir = os.path.join(libdir, config_install_dir) self.cpp_info.bindirs = [bindir] self.cpp_info.libdirs = [libdir] + self.cpp_info.requires = ["nlohmann_json::nlohmann_json", "zlib::zlib"] def _register_components(): components_json_file = files.load(self, self._components_helper_filepath) @@ -252,5 +252,4 @@ def _register_components(): # add nmos-cpp-registry and nmos-cpp-node to the path bin_path = os.path.join(self.package_folder, bindir) - self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/nmos-cpp/all/test_package/conanfile.py b/recipes/nmos-cpp/all/test_package/conanfile.py index dbb752cd0c9a2..14f7348224835 100644 --- a/recipes/nmos-cpp/all/test_package/conanfile.py +++ b/recipes/nmos-cpp/all/test_package/conanfile.py @@ -2,9 +2,6 @@ from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake import os -import shutil -import subprocess -from six import StringIO class NmosCppTestPackageConan(ConanFile): @@ -25,30 +22,5 @@ def build(self): def test(self): if can_run(self): - with open("registry-config.json", "w", encoding="utf-8") as config: - config.write('{"http_port": 10000, "domain": "local.", "pri": 51967}') - with open("node-config.json", "w", encoding="utf-8") as config: - config.write('{"http_port": 20000, "domain": "local.", "highest_pri": 51967, "lowest_pri": 51967}') - - # find and start up the installed nmos-cpp-registry to check it works - registry_path = shutil.which("nmos-cpp-registry", path=os.pathsep.join(self.env["PATH"])) - registry = subprocess.Popen([registry_path, "registry-config.json"], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - universal_newlines=True) - - # run the test_package node which should have time to register and then exit - node_out = StringIO() - try: - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path + " node-config.json", env="conanrun", output=node_out) - finally: - registry.terminate() - if "Adopting registered operation" not in node_out.getvalue(): - self.output.warn("test_package node failed to register with nmos-cpp-registry\n" - "\n" - "nmos-cpp-registry log:\n" - "{}\n" - "test_package log:\n" - "{}" - .format(registry.communicate()[0], node_out.getvalue())) + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/nmos-cpp/all/test_package/test_package.cpp b/recipes/nmos-cpp/all/test_package/test_package.cpp index 56040987cfeb9..38ff2077350ec 100644 --- a/recipes/nmos-cpp/all/test_package/test_package.cpp +++ b/recipes/nmos-cpp/all/test_package/test_package.cpp @@ -1,40 +1,17 @@ -#include -#include -#include "cpprest/json_utils.h" -#include "nmos/id.h" -#include "nmos/log_gate.h" -#include "nmos/model.h" -#include "nmos/node_resource.h" -#include "nmos/node_server.h" -#include "nmos/server.h" +#include +#include "cpprest/http_utils.h" -const web::json::field_with_default how_long{ U("how_long"), 2000 }; -int main(int argc, char* argv[]) -{ - nmos::node_model node_model; - nmos::experimental::log_model log_model; - nmos::experimental::log_gate gate(std::cerr, std::cout, log_model); - nmos::experimental::node_implementation node_implementation; +int main() { - if (argc > 1) - { - std::ifstream file(argv[1]); - node_model.settings = web::json::value::parse(file); - } - nmos::insert_node_default_settings(node_model.settings); + web::http::http_request request; - auto node_server = nmos::experimental::make_node_server(node_model, node_implementation, log_model, gate); - nmos::insert_resource(node_model.node_resources, nmos::make_node(nmos::make_id(), node_model.settings)); + request.headers().add(U("Host"), U("foobar")); + request.headers().add(U("X-Forwarded-Host"), U("baz, qux:57")); - try - { - nmos::server_guard node_server_guard(node_server); - std::this_thread::sleep_for(std::chrono::milliseconds(how_long(node_model.settings))); - } - catch (const std::exception& e) - { - slog::log(gate, SLOG_FLF) << "Exception: " << e.what(); + if (web::http::has_header_value(request.headers(), U("foo"), 42)) { + return EXIT_FAILURE; } - return 0; + + return EXIT_SUCCESS; } diff --git a/recipes/nmos-cpp/all/test_v1_package/conanfile.py b/recipes/nmos-cpp/all/test_v1_package/conanfile.py index bc0089a6ae374..2df20034f628d 100644 --- a/recipes/nmos-cpp/all/test_v1_package/conanfile.py +++ b/recipes/nmos-cpp/all/test_v1_package/conanfile.py @@ -1,11 +1,9 @@ import os -import subprocess -from six import StringIO from conans import ConanFile, CMake, tools + class NmosCppTestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - # use cmake_find_package_multi because the project installs a config-file package generators = "cmake", "cmake_find_package_multi" def build(self): @@ -14,30 +12,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - with open("registry-config.json", "w") as config: - config.write('{"http_port": 10000, "domain": "local.", "pri": 51967}') - with open("node-config.json", "w") as config: - config.write('{"http_port": 20000, "domain": "local.", "highest_pri": 51967, "lowest_pri": 51967}') - - # start up the installed nmos-cpp-registry to check it works - registry = subprocess.Popen(["nmos-cpp-registry", "registry-config.json"], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - universal_newlines=True) - - # run the test_package node which should have time to register and then exit - node_out = StringIO() - try: - bin_path = os.path.join("bin", "test_package") - self.run(bin_path + " node-config.json", run_environment=True, output=node_out) - finally: - registry.terminate() - if "Adopting registered operation" not in node_out.getvalue(): - self.output.warn("test_package node failed to register with nmos-cpp-registry\n" - "\n" - "nmos-cpp-registry log:\n" - "{}\n" - "test_package log:\n" - "{}" - .format(registry.communicate()[0], node_out.getvalue())) + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ef9ceb71b18e189445d26dd0925255e3163de8b0 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 10:44:26 +0900 Subject: [PATCH 2604/4087] (#19281) libhal: add version 2.0.0, add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libhal: add version 2.0.0, add package_type * add end of line * add src_folder * remove cstdio * fix test_v1_package * use boost-leaf instead of boost * apply patch to 0.0.0 for msvc * use boost instead of boost-leaf Co-authored-by: Jordan Williams * create patch file for 0.0.0 * update 2.0.1 * rename test_package.cpp * add end of line * rename test_package.cpp * Remove prealpha 0.0.0 version * Latest minor fixes --------- Co-authored-by: Jordan Williams Co-authored-by: Rubén Rincón Blanco --- recipes/libhal/all/conandata.yml | 6 +- recipes/libhal/all/conanfile.py | 60 ++++++++----- .../libhal/all/test_package/CMakeLists.txt | 5 +- recipes/libhal/all/test_package/conanfile.py | 3 +- recipes/libhal/all/test_package/main.cpp | 30 ------- .../libhal/all/test_package/test_package.cpp | 87 +++++++++++++++++++ .../libhal/all/test_v1_package/CMakeLists.txt | 5 +- recipes/libhal/config.yml | 2 +- 8 files changed, 138 insertions(+), 60 deletions(-) delete mode 100644 recipes/libhal/all/test_package/main.cpp create mode 100644 recipes/libhal/all/test_package/test_package.cpp diff --git a/recipes/libhal/all/conandata.yml b/recipes/libhal/all/conandata.yml index 0a5fcff604fbd..319d522ee3f02 100644 --- a/recipes/libhal/all/conandata.yml +++ b/recipes/libhal/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "0.0.0": - url: "https://github.com/libhal/libhal/archive/refs/tags/0.0.0.tar.gz" - sha256: "f49d6cee9adfe9d98212ba77aa955c88994693185d4870b86a6e12bad4eb9915" + "2.0.1": + url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.1.tar.gz" + sha256: "ba05f9d2172f7afbf816ab18f2dcd7c8cc4452df2b268a832e995a0321c1d2f9" diff --git a/recipes/libhal/all/conanfile.py b/recipes/libhal/all/conanfile.py index c9f4762f7af23..c1302026ed5ab 100644 --- a/recipes/libhal/all/conanfile.py +++ b/recipes/libhal/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile -from conan.tools.files import get, copy +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration import os @@ -12,17 +13,15 @@ class LibHALConan(ConanFile): name = "libhal" license = "Apache-2.0" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://libhal.github.io/libhal" description = ("A collection of interfaces and abstractions for embedded " "peripherals and devices using modern C++") - topics = ("peripherals", "hardware", "abstraction", "devices", "hal") - settings = "os", "compiler", "arch", "build_type" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://libhal.github.io/" + topics = ("peripherals", "hardware", "abstraction", "devices", "hal", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - @property def _min_cppstd(self): return "20" @@ -34,9 +33,21 @@ def _compilers_minimum_version(self): "Visual Studio": "17", "msvc": "193", "clang": "13", - "apple-clang": "13.1.6" + "apple-clang": "14" } + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.83.0", transitive_headers=True) + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -50,28 +61,31 @@ def lazy_lt_semver(v1, v2): compiler = str(self.settings.compiler) version = str(self.settings.compiler.version) minimum_version = self._compilers_minimum_version.get(compiler, False) - if minimum_version and lazy_lt_semver(version, minimum_version): raise ConanInvalidConfiguration( f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") - def layout(self): - basic_layout(self) - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + apply_conandata_patches(self) def package(self): - copy(self, "LICENSE", dst=os.path.join( - self.package_folder, "licenses"), src=self.source_folder) - copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include")) - copy(self, "*.hpp", dst=os.path.join(self.package_folder, - "include"), src=os.path.join(self.source_folder, "include")) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include") + ) + copy( + self, + "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include") + ) def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/libhal/all/test_package/CMakeLists.txt b/recipes/libhal/all/test_package/CMakeLists.txt index e2cd1b5424ba3..1d38a74649aa2 100644 --- a/recipes/libhal/all/test_package/CMakeLists.txt +++ b/recipes/libhal/all/test_package/CMakeLists.txt @@ -3,7 +3,10 @@ project(test_package LANGUAGES CXX) find_package(libhal REQUIRED CONFIG) -add_executable(${PROJECT_NAME} main.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF) target_link_libraries(${PROJECT_NAME} PRIVATE libhal::libhal) +if(libhal_VERSION VERSION_LESS "2.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE LIBHAL_LESS_2) +endif() diff --git a/recipes/libhal/all/test_package/conanfile.py b/recipes/libhal/all/test_package/conanfile.py index 3a8c6c5442b33..0ab1977ef0330 100644 --- a/recipes/libhal/all/test_package/conanfile.py +++ b/recipes/libhal/all/test_package/conanfile.py @@ -7,7 +7,8 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - + test_type = "explicit" + def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/libhal/all/test_package/main.cpp b/recipes/libhal/all/test_package/main.cpp deleted file mode 100644 index 4fb5e3cdcdfd4..0000000000000 --- a/recipes/libhal/all/test_package/main.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include - -#include -#include - -class test_pwm : public hal::pwm -{ -private: - hal::status driver_frequency(hal::hertz p_frequency) noexcept override - { - std::printf("frequency = %f Hz\n", p_frequency); - return {}; - } - hal::status driver_duty_cycle(hal::percentage p_position) noexcept override - { - std::printf("duty cycle = %f %%\n", p_position.value()); - return {}; - } -}; - -int main() -{ - test_pwm pwm; - auto rc_servo = hal::rc_servo::create(pwm).value(); - rc_servo.position(0.25).value(); - rc_servo.position(0.50).value(); - rc_servo.position(-0.25).value(); - rc_servo.position(-1.0).value(); - return 0; -} diff --git a/recipes/libhal/all/test_package/test_package.cpp b/recipes/libhal/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f32cbffd9f13d --- /dev/null +++ b/recipes/libhal/all/test_package/test_package.cpp @@ -0,0 +1,87 @@ +#include + +#ifdef LIBHAL_LESS_2 + +#include +#include + +class test_pwm : public hal::pwm +{ +private: + hal::status driver_frequency(hal::hertz p_frequency) noexcept override + { + std::printf("frequency = %f Hz\n", p_frequency); + return {}; + } + hal::status driver_duty_cycle(hal::percentage p_position) noexcept override + { + std::printf("duty cycle = %f %%\n", p_position.value()); + return {}; + } +}; + +int main() +{ + test_pwm pwm; + auto rc_servo = hal::rc_servo::create(pwm).value(); + rc_servo.position(0.25).value(); + rc_servo.position(0.50).value(); + rc_servo.position(-0.25).value(); + rc_servo.position(-1.0).value(); + return 0; +} + +#else + +#include + +class test_pwm : public hal::pwm { +private: + virtual hal::result driver_frequency(hal::hertz p_frequency) { + std::printf("frequency = %f Hz\n", p_frequency); + + return frequency_t{}; + } + virtual hal::result driver_duty_cycle(float p_position) { + error_count_down--; + if (error_count_down == 0) { + return hal::new_error(std::errc::io_error); + } + + std::printf("duty cycle = %f %%\n", p_position); + + return duty_cycle_t{}; + } + int error_count_down = 2; +}; + +int main() { + using namespace hal::literals; + + int status = 0; + test_pwm pwm; + hal::attempt_all( + [&pwm]() -> hal::status { + HAL_CHECK(pwm.frequency(10.0_kHz)); + + HAL_CHECK(pwm.duty_cycle(0.25)); + HAL_CHECK(pwm.duty_cycle(0.50)); + HAL_CHECK(pwm.duty_cycle(-0.25)); + HAL_CHECK(pwm.duty_cycle(-1.0)); + + return hal::success(); + }, + [](std::errc p_errc) { + std::printf("Caught error successfully!\n"); + std::printf(" Error value: %s\n", + std::strerror(static_cast(p_errc))); + }, + [&status]() { + std::printf("Unknown error!\n"); + status = -1; + }); + + return status; +} + +#endif diff --git a/recipes/libhal/all/test_v1_package/CMakeLists.txt b/recipes/libhal/all/test_v1_package/CMakeLists.txt index 0c60d16c7a716..390a1bca7ce2f 100644 --- a/recipes/libhal/all/test_v1_package/CMakeLists.txt +++ b/recipes/libhal/all/test_v1_package/CMakeLists.txt @@ -6,7 +6,10 @@ conan_basic_setup(TARGETS) find_package(libhal REQUIRED CONFIG) -add_executable(${PROJECT_NAME} ../test_package/main.cpp) +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF) target_link_libraries(${PROJECT_NAME} PRIVATE libhal::libhal) +if(libhal_VERSION VERSION_LESS "2.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE LIBHAL_LESS_2) +endif() diff --git a/recipes/libhal/config.yml b/recipes/libhal/config.yml index ecbb76a96ea8d..6c4e3d9e96f71 100644 --- a/recipes/libhal/config.yml +++ b/recipes/libhal/config.yml @@ -1,3 +1,3 @@ versions: - "0.0.0": + "2.0.1": folder: "all" From ccc3657fe59d77b18731495be1ce8f113b9a690d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 17 Nov 2023 05:06:29 +0300 Subject: [PATCH 2605/4087] (#20770) mariadb-connector-c: version range for libcurl --- recipes/mariadb-connector-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 303b45aa1d4b4..576fa5d4f935e 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -59,7 +59,7 @@ def requirements(self): if self.options.get_safe("with_iconv"): self.requires("libiconv/1.17") if self.options.with_curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") if Version(self.version) >= "3.3": From 067d4e191d3e83742e2e8dcbade15d6ac2972ac7 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 20:27:21 -0600 Subject: [PATCH 2606/4087] (#20913) glfw: Add support for Wayland * glfw: Add support for Wayland Adds with_wayland option to enable Wayland support in GLFW. In the current release, there is no option to toggle X11 support. The current master branch allows choosing between X11, Wayland, or both. I include the logic for enabling X11 / Wayland for the next release. I can remove it of course, but figured it might save future work. Update vulkan-loader. Add patch to workaround issues with ECM not generating sources from Wayland Protocols. * Add patch to use dependencies from Conan * Fix remove of with_x11 option * Update patch for 3.3.5 * Rename the XKBCommon CMakeDeps file to match the one looked for This reduces the amount of patching required. * Default Wayland off as the upstream project does * Use GLFW_BUILD_WAYLAND for newer versions of GLFW * Change patch type from portability to upstream * Fix patch type --- recipes/glfw/all/conandata.yml | 34 +++++ recipes/glfw/all/conanfile.py | 60 +++++++-- ...emove-extra-cmake-modules-dependency.patch | 122 ++++++++++++++++++ ...emove-extra-cmake-modules-dependency.patch | 122 ++++++++++++++++++ ...emove-extra-cmake-modules-dependency.patch | 122 ++++++++++++++++++ 5 files changed, 450 insertions(+), 10 deletions(-) create mode 100644 recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch create mode 100644 recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch create mode 100644 recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch diff --git a/recipes/glfw/all/conandata.yml b/recipes/glfw/all/conandata.yml index 43e8790efbe29..bb5660da3ad7d 100644 --- a/recipes/glfw/all/conandata.yml +++ b/recipes/glfw/all/conandata.yml @@ -21,6 +21,36 @@ sources: url: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip" sha256: "08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7" patches: + "3.3.8": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.7": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.6": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.5": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.4": + - patch_file: "patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.3": + - patch_file: "patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" "3.3.2": - patch_file: "patches/3.3.2-0001-fix-objc-cmake3.19+.patch" patch_description: "Fix ObjC handling while using recent CMake versions" @@ -30,3 +60,7 @@ patches: patch_description: "Relocatable shared lib on macOS" patch_type: "portability" patch_source: "https://github.com/glfw/glfw/commit/5a15d8a7842fbc4b5260eac2335a6691bca9be4b" + - patch_file: "patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index f7a8579bcc74f..29249e91fd11c 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -1,7 +1,11 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save +from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import textwrap @@ -23,19 +27,31 @@ class GlfwConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "vulkan_static": [True, False], + "with_x11": [True, False], + "with_wayland": [True, False], } default_options = { "shared": False, "fPIC": True, "vulkan_static": False, + "with_x11": True, + "with_wayland": False, } + @property + def _has_build_profile(self): + return hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") + if self.settings.os != "Linux": + self.options.rm_safe("with_wayland") + if not self.settings.os in ["Linux", "FreeBSD"] or self.version <= Version("3.3.8"): + self.options.rm_safe("with_x11") def configure(self): if self.options.shared: @@ -43,29 +59,53 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") + if self.options.get_safe("with_wayland"): + self.options["xkbcommon"].with_wayland = True + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): self.requires("opengl/system") if self.options.vulkan_static: - self.requires("vulkan-loader/1.3.239.0") - if self.settings.os in ["Linux", "FreeBSD"]: + self.requires("vulkan-loader/1.3.243.0") + if self.options.get_safe("with_x11") or self.version <= Version("3.3.8"): self.requires("xorg/system") + if self.options.get_safe("with_wayland"): + self.requires("wayland/1.22.0") + self.requires("wayland-protocols/1.32") + self.requires("xkbcommon/1.6.0") + + def validate(self): + if self.options.get_safe("with_wayland") and not self.dependencies["xkbcommon"].options.with_wayland: + raise ConanInvalidConfiguration(f"{self.ref} requires the with_wayland option in xkbcommon to be enabled when the with_wayland option is enabled") + + def build_requirements(self): + if self.options.get_safe("with_wayland"): + self.tool_requires("wayland/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["GLFW_BUILD_EXAMPLES"] = False - tc.variables["GLFW_BUILD_TESTS"] = False - tc.variables["GLFW_BUILD_DOCS"] = False - tc.variables["GLFW_INSTALL"] = True + tc.cache_variables["GLFW_BUILD_DOCS"] = False + tc.cache_variables["GLFW_BUILD_EXAMPLES"] = False + tc.cache_variables["GLFW_BUILD_TESTS"] = False + tc.cache_variables["GLFW_BUILD_X11"] = self.options.get_safe("with_x11") + tc.cache_variables["GLFW_INSTALL"] = True + tc.variables["GLFW_USE_WAYLAND" if self.version <= "3.3.8" else "GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland") tc.variables["GLFW_VULKAN_STATIC"] = self.options.vulkan_static if is_msvc(self): - tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.cache_variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) tc.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.set_property("xkbcommon", "cmake_file_name", "XKBCommon") + cmake_deps.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() def _patch_sources(self): apply_conandata_patches(self) @@ -100,7 +140,7 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) diff --git a/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 0000000000000..c2db9f04c4980 --- /dev/null +++ b/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,122 @@ +From 8622c81fe5271d10650e4007e96bc5342ac87ec1 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 3 Nov 2023 08:51:04 -0500 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. +--- + CMakeLists.txt | 11 ++++---- + src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- + 2 files changed, 48 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e9888624..33d1a0c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -237,12 +237,13 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-egl") + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e3463639..76c25251 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -30,31 +30,6 @@ elseif (_GLFW_WAYLAND) + set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) +- +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) +@@ -62,6 +37,48 @@ elseif (_GLFW_OSMESA) + null_joystick.c posix_time.c posix_thread.c osmesa_context.c) + endif() + ++if (_GLFW_WAYLAND) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ ++ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) ++endif() ++ + if (_GLFW_X11 OR _GLFW_WAYLAND) + if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) +-- +2.41.0 + diff --git a/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 0000000000000..9ad41b0f7b967 --- /dev/null +++ b/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,122 @@ +From 95e47a77801c9ab91ebfcb740d9ad6ce9861f2ab Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 3 Nov 2023 08:51:04 -0500 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. +--- + CMakeLists.txt | 11 ++++---- + src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- + 2 files changed, 48 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4f30293..097e5931 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -244,12 +244,13 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-client") + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a409459b..03aaacf6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -30,31 +30,6 @@ elseif (_GLFW_WAYLAND) + set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) +- +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) +@@ -62,6 +37,48 @@ elseif (_GLFW_OSMESA) + null_joystick.c posix_time.c posix_thread.c osmesa_context.c) + endif() + ++if (_GLFW_WAYLAND) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ ++ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) ++endif() ++ + if (_GLFW_X11 OR _GLFW_WAYLAND) + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) +-- +2.41.0 + diff --git a/recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 0000000000000..a07360f22d403 --- /dev/null +++ b/recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,122 @@ +From 3b10bdd8590ae788ff7ae3d8fe570480a8dcbda9 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 3 Nov 2023 08:51:04 -0500 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. +--- + CMakeLists.txt | 11 ++++---- + src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- + 2 files changed, 48 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 35835833..964c12aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -249,12 +249,13 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-client") + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b6dd86c5..066f4d98 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -39,31 +39,6 @@ elseif (_GLFW_WAYLAND) + set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) +- +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) +@@ -71,6 +46,48 @@ elseif (_GLFW_OSMESA) + null_joystick.c posix_time.c posix_thread.c osmesa_context.c) + endif() + ++if (_GLFW_WAYLAND) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ ++ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) ++endif() ++ + if (_GLFW_X11 OR _GLFW_WAYLAND) + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) +-- +2.41.0 + From fad57ff76e947e518da94ed7cf8b5b3e647bfffc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 21:26:49 -0600 Subject: [PATCH 2607/4087] (#20953) mesa-glu: Add recipe * mesa-glu: Add recipe Add a recipe for Mesa's GLU library. * Don't build on macOS * Revert "Don't build on macOS" This reverts commit 26043fe64bdd5acb01d65b224a638433b869edbb. * Add patch for macOS * Prefer the OpenGL framework on macOS * Fix variable * Fix typo * Update patch * Add patch to fix GL includes for macOS * Update patch to include gl3.h on macOS * Include both GL headers * Make OpenGL a transitive library on macOS * Disable building for macOS * Attempt to build with macOS again * Add patch for OpenGL detection on Windows * Fix patch * Drop Windows and macOS support until a Windows Conan package exists * Lowercase libglu in provides, even though the library is libGLU * Update recipes/mesa-glu/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/mesa-glu/all/conandata.yml | 4 + recipes/mesa-glu/all/conanfile.py | 103 ++++++++++++++++++ .../mesa-glu/all/test_package/conanfile.py | 32 ++++++ recipes/mesa-glu/all/test_package/meson.build | 5 + .../mesa-glu/all/test_package/test_package.c | 9 ++ recipes/mesa-glu/config.yml | 3 + 6 files changed, 156 insertions(+) create mode 100644 recipes/mesa-glu/all/conandata.yml create mode 100644 recipes/mesa-glu/all/conanfile.py create mode 100644 recipes/mesa-glu/all/test_package/conanfile.py create mode 100644 recipes/mesa-glu/all/test_package/meson.build create mode 100644 recipes/mesa-glu/all/test_package/test_package.c create mode 100644 recipes/mesa-glu/config.yml diff --git a/recipes/mesa-glu/all/conandata.yml b/recipes/mesa-glu/all/conandata.yml new file mode 100644 index 0000000000000..777327d35cae6 --- /dev/null +++ b/recipes/mesa-glu/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "9.0.3": + url: "https://gitlab.freedesktop.org/mesa/glu/-/archive/glu-9.0.3/glu-glu-9.0.3.tar.bz2" + sha256: "38044ee4f255578165a54eaeb089b67fb64f7f7c0ce5fa690cd47c9df10b263c" diff --git a/recipes/mesa-glu/all/conanfile.py b/recipes/mesa-glu/all/conanfile.py new file mode 100644 index 0000000000000..116b5d7d6af29 --- /dev/null +++ b/recipes/mesa-glu/all/conanfile.py @@ -0,0 +1,103 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, load, rm, rmdir, save +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class MesaGluConan(ConanFile): + name = "mesa-glu" + description = "Mesa's implementation of the OpenGL utility library" + license = ("SGI-B-1.1", "SGI-B-2.0", "MIT") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.mesa3d.org/" + topics = ("gl", "glu", "mesa", "opengl") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + provides = "glu" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _with_libglvnd(self): + return self.settings.os in ["FreeBSD", "Linux"] + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + # The glu headers include OpenGL headers. + if self._with_libglvnd: + self.requires("libglvnd/1.7.0", transitive_headers=True) + + def validate(self): + if is_apple_os(self) or self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}") + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["gl_provider"] = "glvnd" if self._with_libglvnd else "gl" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() + + def _extract_license(self): + glu_header = load(self, os.path.join(self.source_folder, "include", "GL", "glu.h")) + begin = glu_header.find("/*") + end = glu_header.find("*/", begin) + return glu_header[begin:end] + + def package(self): + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["GLU"] + self.cpp_info.set_property("pkg_config_name", "glu") diff --git a/recipes/mesa-glu/all/test_package/conanfile.py b/recipes/mesa-glu/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2e3df45816e5a --- /dev/null +++ b/recipes/mesa-glu/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + basic_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mesa-glu/all/test_package/meson.build b/recipes/mesa-glu/all/test_package/meson.build new file mode 100644 index 0000000000000..4b86ab32d1e30 --- /dev/null +++ b/recipes/mesa-glu/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('glu') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/mesa-glu/all/test_package/test_package.c b/recipes/mesa-glu/all/test_package/test_package.c new file mode 100644 index 0000000000000..1edc7d437e36b --- /dev/null +++ b/recipes/mesa-glu/all/test_package/test_package.c @@ -0,0 +1,9 @@ +#include + +#include + +int main() +{ + printf("GLU %s\n", gluGetString(GLU_VERSION)); + return 0; +} diff --git a/recipes/mesa-glu/config.yml b/recipes/mesa-glu/config.yml new file mode 100644 index 0000000000000..55cef0386047b --- /dev/null +++ b/recipes/mesa-glu/config.yml @@ -0,0 +1,3 @@ +versions: + "9.0.3": + folder: all From 758fd2083ac4e53f94bba6de5713daae735c3569 Mon Sep 17 00:00:00 2001 From: Peter Bauer Date: Fri, 17 Nov 2023 04:46:55 +0100 Subject: [PATCH 2608/4087] (#20969) re-add QuickTest module in package_info Co-authored-by: Uilian Ries --- recipes/qt/6.x.x/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 1c1294ee7eaa0..aee4e88a1d5de 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -1121,6 +1121,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("QuickWidgets", ["Gui", "Qml", "Quick", "Widgets"]) _create_module("QuickShapes", ["Gui", "Qml", "Quick"]) _create_module("QmlWorkerScript", ["Qml"]) + _create_module("QuickTest", ["Test"]) if self.options.qttools and self.options.gui and self.options.widgets: self.cpp_info.components["qtLinguistTools"].set_property("cmake_target_name", "Qt6::LinguistTools") From 6e5846d9aa4f917bbe3192a71eed9047940fa90c Mon Sep 17 00:00:00 2001 From: Matthias Schneider Date: Fri, 17 Nov 2023 05:07:03 +0100 Subject: [PATCH 2609/4087] (#21160) fast-cdr: add version 2.1.0 Signed-off-by: Matthias Schneider --- recipes/fast-cdr/all/conandata.yml | 3 +++ recipes/fast-cdr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index ab77bae161d30..021355947389f 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/eProsima/Fast-CDR/archive/v2.1.0.tar.gz" + sha256: "7ee3b3e977381f76f8d9ab1e1df7b5202556505b104afb3f03ee79bbe6507aa0" "2.0.0": url: "https://github.com/eProsima/Fast-CDR/archive/v2.0.0.tar.gz" sha256: "66234a5504879f7af706530996177df930d61dd88045dcafb73799458413ee93" diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index 6bee921fe6e28..9cc6db5bd0315 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.0": folder: all "1.1.0": From 667b4821a85ab749d70986eddf9d9058465aa7ce Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 13:26:52 +0900 Subject: [PATCH 2610/4087] (#21168) glaze: add version 1.6.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index d8c540e579afd..96f185a6420f5 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/stephenberry/glaze/archive/v1.6.0.tar.gz" + sha256: "1206421e4dfd259b9c3cd012adc35946cc27a19f10083040b353a78520ad1bee" "1.5.7": url: "https://github.com/stephenberry/glaze/archive/v1.5.7.tar.gz" sha256: "3bd40d0a2547fb9ee0fb94894dc13ba0bc37dac6d26ee292941e7a5203702c84" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index fd8a761b3ff21..3b631d52275ed 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.7": folder: all "1.5.6": From 0d16e0f4c836e6466ed70b77eb917fea464b7208 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 14:07:07 +0900 Subject: [PATCH 2611/4087] (#21171) iowow: add version 1.4.17 --- recipes/iowow/all/conandata.yml | 7 +++++++ recipes/iowow/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/iowow/all/conandata.yml b/recipes/iowow/all/conandata.yml index af9c35abfe648..3dc81fcb10588 100644 --- a/recipes/iowow/all/conandata.yml +++ b/recipes/iowow/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.4.17": + url: "https://github.com/Softmotions/iowow/archive/refs/tags/v1.4.17.tar.gz" + sha256: "13a851026dbc1f31583fba96986e86e94a7554f9e7d38aa12a9ea5dbebdf328b" "1.4.16": url: "https://github.com/Softmotions/iowow/archive/refs/tags/v1.4.16.tar.gz" sha256: "6e3b92b6c342ef6ef4a2731ca2d43368749d66ca876b24b773587364cff01003" patches: + "1.4.17": + - patch_file: "patches/1.4.16-0002-fix-uint64_t-format.patch" + patch_description: "fix uint64_t printf format" + patch_type: "portability" "1.4.16": - patch_file: "patches/1.4.16-0001-some-fix-for-macOS.patch" patch_description: "Some fixes for macOS" diff --git a/recipes/iowow/config.yml b/recipes/iowow/config.yml index f0c63cbdbe5f3..764e66b7855a6 100644 --- a/recipes/iowow/config.yml +++ b/recipes/iowow/config.yml @@ -1,3 +1,5 @@ versions: + "1.4.17": + folder: all "1.4.16": folder: all From b3ceee4c0e52bc028eb35bdd471f7797fddf79b8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 15:07:32 +0900 Subject: [PATCH 2612/4087] (#21172) magic_enum: add version 0.9.5 --- recipes/magic_enum/all/conandata.yml | 3 +++ recipes/magic_enum/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index c3f7fa0da1d35..dd9aed1156ca9 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.5": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.5.tar.gz" + sha256: "44ad80db5a72f5047e01d90e18315751d9ac90c0ab42cbea7a6f9ec66a4cd679" "0.9.4": url: "https://github.com/Neargye/magic_enum/archive/v0.9.4.tar.gz" sha256: "0ffc840d881a377a520e999b79ec2823b3b8ffadccad5d94084cc37fcf6fe2c9" diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index 4e7d6ac81384d..45e3b1189db90 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.5": + folder: all "0.9.4": folder: all "0.9.3": From b21341f8675ef7e21dfce0115f1e95de40966290 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 17 Nov 2023 08:27:36 +0200 Subject: [PATCH 2613/4087] (#21169) coin-utils: add v2.11.10 --- recipes/coin-utils/all/conandata.yml | 8 ++++++++ recipes/coin-utils/config.yml | 2 ++ 2 files changed, 10 insertions(+) diff --git a/recipes/coin-utils/all/conandata.yml b/recipes/coin-utils/all/conandata.yml index a58d95ee0972a..b7e4e62e0653d 100644 --- a/recipes/coin-utils/all/conandata.yml +++ b/recipes/coin-utils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.10": + url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.10.tar.gz" + sha256: "80c7c215262df8d6bd2ba171617c5df844445871e9891ec6372df12ccbe5bcfd" "2.11.9": url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.9.tar.gz" sha256: "15d572ace4cd3b7c8ce117081b65a2bd5b5a4ebaba54fadc99c7a244160f88b8" @@ -9,6 +12,11 @@ sources: url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.4.tar.gz" sha256: "d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81" patches: + "2.11.10": + - patch_file: "patches/0001-no-check-pkgconfig.patch" + - patch_file: "patches/0003-cpp17-compat.patch" + patch_description: "C++17 compatibility" + patch_type: "portability" "2.11.9": - patch_file: "patches/0001-no-check-pkgconfig.patch" - patch_file: "patches/0003-cpp17-compat.patch" diff --git a/recipes/coin-utils/config.yml b/recipes/coin-utils/config.yml index 07a06aecfba33..3e9050a77e486 100644 --- a/recipes/coin-utils/config.yml +++ b/recipes/coin-utils/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.10": + folder: "all" "2.11.9": folder: "all" "2.11.6": From 042b4ce18b82dcf8739b880bef6a40053332e781 Mon Sep 17 00:00:00 2001 From: hegyizs <148948080+hegyizs@users.noreply.github.com> Date: Fri, 17 Nov 2023 09:59:37 +0100 Subject: [PATCH 2614/4087] (#20764) icu/73.2 recipe, #20760 dat_package_file option fixed. Fixed conversion from PackageOption to os.path in validate() function. Co-authored-by: Uilian Ries --- recipes/icu/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 7c1ed7f4b7c6e..9e343976b416b 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -72,7 +72,7 @@ def configure(self): def validate(self): if self.options.dat_package_file: - if not os.path.exists(self.options.dat_package_file): + if not os.path.exists(str(self.options.dat_package_file)): raise ConanInvalidConfiguration("Non-existent dat_package_file specified") def layout(self): From fc7256557d8d26d6b06f739a2f761e7226e06c18 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 17 Nov 2023 14:27:11 +0400 Subject: [PATCH 2615/4087] (#21149) openvino: added 2023.2.0 version --- recipes/openvino/all/conandata.yml | 21 +++++++++++++ .../dependencies/dependencies-2023.2.0.yml | 2 ++ .../patches/2023.2.0/0001-git-version.patch | 31 +++++++++++++++++++ recipes/openvino/config.yml | 2 ++ 4 files changed, 56 insertions(+) create mode 100644 recipes/openvino/all/dependencies/dependencies-2023.2.0.yml create mode 100644 recipes/openvino/all/patches/2023.2.0/0001-git-version.patch diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index 9793599fa9b8d..c1fa2ac395507 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "2023.2.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.2.0.tar.gz" + sha256: "419b3137a1a549fc5054edbba5b71da76cbde730e8a271769126e021477ad47b" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz" + sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/2ead5d4fe5993a797d9a7a4b8b5557b96f6ec90e.tar.gz" + sha256: "3c51d577f9e7e4cbd94ad08d267502953ec64513241dda6595b2608fafc8314c" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/f6425b1394334822390fcd9da12788c9cd0d11da.tar.gz" + sha256: "707a6634d62ea5563042a67161472b4be3ffe73c9783719519abdd583b0295f4" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/284ad4574939fa784e4ddaa1f4aa577b8eb7a017.tar.gz" + sha256: "16f36078339cd08b949efea1d863344cb0b742d9f5898937d07a591b0c4da517" "2023.1.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.1.0.tar.gz" @@ -16,6 +32,11 @@ sources: url: "https://github.com/oneapi-src/oneDNN/archive/4b82a66ed38ecaa993352e5cc6ed7753656b8a26.tar.gz" sha256: "cb17c003fe51bc9b4e20189573956b4446468162adf0fc4cea2ee0820cff0cd0" patches: + "2023.2.0": + - patch_file: "patches/2023.2.0/0001-git-version.patch" + patch_description: "Fixed issue with version on Windows" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19628" "2023.1.0": - patch_file: "patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch" patch_description: "Fixed CPU plugin compilation with C++17" diff --git a/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml b/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml new file mode 100644 index 0000000000000..aaa60d5c30197 --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml @@ -0,0 +1,2 @@ +onnx: "1.14.1" +ade: "0.1.2d" diff --git a/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch b/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch new file mode 100644 index 0000000000000..36844097643e0 --- /dev/null +++ b/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch @@ -0,0 +1,31 @@ +diff --git a/cmake/developer_package/version.cmake b/cmake/developer_package/version.cmake +index 1b71befe44..b78f44995a 100644 +--- a/cmake/developer_package/version.cmake ++++ b/cmake/developer_package/version.cmake +@@ -5,7 +5,7 @@ + find_package(Git QUIET) + + function(ov_branch_name VAR REPO_ROOT) +- if(GIT_FOUND) ++ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${REPO_ROOT} +@@ -16,7 +16,7 @@ function(ov_branch_name VAR REPO_ROOT) + endfunction() + + function(ov_commit_hash VAR REPO_ROOT) +- if(GIT_FOUND) ++ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --short=11 HEAD + WORKING_DIRECTORY ${REPO_ROOT} +@@ -27,7 +27,7 @@ function(ov_commit_hash VAR REPO_ROOT) + endfunction() + + function(ov_commit_number VAR REPO_ROOT) +- if(GIT_FOUND) ++ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-list --count --first-parent HEAD + WORKING_DIRECTORY ${REPO_ROOT} diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index ab4b77f972946..60f706469b185 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,3 +1,5 @@ versions: + "2023.2.0": + folder: "all" "2023.1.0": folder: "all" From 2652dac0da036f1b13df040eb462d483107b857c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 19:49:08 +0900 Subject: [PATCH 2616/4087] (#21170) imgui: add version 1.90, 1.90-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 58720d3d51f67..5a380f8aab078 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90": + url: "https://github.com/ocornut/imgui/archive/v1.90.tar.gz" + sha256: "170986e6a4b83d165bfc1d33c2c5a5bc2d67e5b97176287485c51a2299249296" + "1.90-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90-docking.tar.gz" + sha256: "d4b7fd185443111a3a892d4625c85ab9666c6c9cb5484e3a447de6af419f8d2f" "1.89.9": url: "https://github.com/ocornut/imgui/archive/v1.89.9.tar.gz" sha256: "1acc27a778b71d859878121a3f7b287cd81c29d720893d2b2bf74455bf9d52d6" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 138b61745517a..8714c2dcec41f 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90": + folder: all + "1.90-docking": + folder: all "1.89.9": folder: all "1.89.9-docking": From 26d8785880f677ddc0c036698b3b58cc51f9312d Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 17 Nov 2023 16:09:11 +0400 Subject: [PATCH 2617/4087] (#21144) onnx: make static-library only --- recipes/onnx/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index 7b6ca25709aef..4c5cfb0ecfc0d 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -65,7 +65,10 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if is_msvc(self): + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): @@ -83,8 +86,6 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration("onnx shared is broken with Visual Studio") def build_requirements(self): if not self._is_legacy_one_profile: From 88c13aa60f27d86c5f583cd96ff1009fe128e3de Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 00:10:25 +0900 Subject: [PATCH 2618/4087] (#20072) libarchive: add version 3.7.2 --- recipes/libarchive/all/conandata.yml | 16 +++++++++ .../all/patches/0001-3.7.2-zlib-winapi.patch | 35 +++++++++++++++++++ recipes/libarchive/config.yml | 2 ++ 3 files changed, 53 insertions(+) create mode 100644 recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index d6397b39df999..b08c943036aa4 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.2": + url: "https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.tar.xz" + sha256: "04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb" "3.7.1": url: "https://github.com/libarchive/libarchive/releases/download/v3.7.1/libarchive-3.7.1.tar.xz" sha256: "b17403ce670ff18d8e06fea05a9ea9accf70678c88f1b9392a2e29b51127895f" @@ -24,6 +27,19 @@ sources: url: "https://github.com/libarchive/libarchive/releases/download/v3.4.0/libarchive-3.4.0.tar.gz" sha256: "8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e" patches: + "3.7.2": + - patch_file: "patches/0001-3.7.2-zlib-winapi.patch" + patch_description: "Remove broken ZLIB WINAPI check" + patch_type: "portability" + - patch_file: "patches/0003-3.7.1-cmake.patch" + patch_description: "Make CMake build-system compatible with Conan" + patch_type: "conan" + - patch_file: "patches/0005-3.7.1-try-compile-cmakedeps.patch" + patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" + patch_type: "conan" + - patch_file: "patches/0006-3.7.1-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.7.1": - patch_file: "patches/0007-3.7.1-include-getopt.patch" patch_description: "include getopt.h if HAVE_GETOPT_OPTRESET is defined" diff --git a/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch new file mode 100644 index 0000000000000..9c5a48b11c9e1 --- /dev/null +++ b/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ff1b025..53ecd0e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,6 @@ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) + endif() +-# + # Set the Build type for make based generators. + # You can choose following types: + # Debug : Debug build +@@ -445,14 +444,14 @@ IF(ZLIB_FOUND) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) + IF(WIN32 AND NOT CYGWIN) +- # +- # Test if ZLIB_WINAPI macro is needed to use. +- # +- TRY_MACRO_FOR_LIBRARY( +- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +- RUNS +- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" +- ZLIB_WINAPI) ++ ++ ++ ++ ++ ++ ++ ++ SET(ZLIB_WINAPI yes) + IF(ZLIB_WINAPI) + ADD_DEFINITIONS(-DZLIB_WINAPI) + ELSE(ZLIB_WINAPI) diff --git a/recipes/libarchive/config.yml b/recipes/libarchive/config.yml index 3abc948fc7161..0331875919146 100644 --- a/recipes/libarchive/config.yml +++ b/recipes/libarchive/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.2": + folder: all "3.7.1": folder: all "3.6.2": From 79bf5105f43877686d574c565e87205eed526835 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:39:09 +0300 Subject: [PATCH 2619/4087] (#19194) Bump opencv/4.8.1 * add opencv/4.8.0 * remove freetype from optional dependencies of highgui also remove extra module folders if unused since it may lead to side effects in other modules * handle conan v2 in _solve_internal_dependency_graph() * avdevice is not a dependency before OpenCV 4.7.0 * disable avdevice for the moment (it's the default anyway) * also check with_cuda option while setting OPENCV_EXTRA_MODULES_PATH * use for protobug in tool_requires * use version range for zlib * always use protobuf from build requirements if 2 profiles * cleanup imports * small change * bump several dependencies * bump harfbuzz * fix mingw build * more fix for MinGW * link all ffmpeg components to opencv_videoio as a workaround * add 4.8.1 instead of 4.8.0 * Revert "link all ffmpeg components to opencv_videoio as a workaround" This reverts commit 630f408fef120469ca8d16e7a4327493cd4b6595. * comment out 4.8.1 to test if there is the same issue for other versions * test * Revert "test" This reverts commit 1dcd6571877b5de650c186d822b56febf43bb817. * Revert "comment out 4.8.1 to test if there is the same issue for other versions" This reverts commit 75e8817587a4d05b77942f10de8c861aea7a3471. * enable verbose makefile to debug 4.8.1 * use wayland backend * fix version conflict for conan v1 * Revert "enable verbose makefile to debug 4.8.1" This reverts commit 024d733b5ab6db7ee1bbde7a6043cd4be21a820c. * remove more vendored libs * fix link to wayland & xkbcommon * more fixes for wayland * bump dependencies * bump openexr --- recipes/opencv/4.x/conandata.yml | 31 +++ recipes/opencv/4.x/conanfile.py | 245 +++++++++++++++--- .../4.x/patches/4.8.1-0001-find-ade.patch | 11 + .../4.8.1-0002-mingw-disable-obsensor.patch | 11 + recipes/opencv/config.yml | 2 + 5 files changed, 265 insertions(+), 35 deletions(-) create mode 100644 recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch create mode 100644 recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml index 694b74e2be5aa..867bde99de61c 100644 --- a/recipes/opencv/4.x/conandata.yml +++ b/recipes/opencv/4.x/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.8.1": + - url: "https://github.com/opencv/opencv/archive/refs/tags/4.8.1.tar.gz" + sha256: "62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.8.1.tar.gz" + sha256: "0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e" "4.5.5": - url: "https://github.com/opencv/opencv/archive/refs/tags/4.5.5.tar.gz" sha256: "a1cfdcf6619387ca9e232687504da996aaa9f7b5689986b8331ec02cb61d28ad" @@ -15,6 +20,32 @@ sources: - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.1.2.tar.gz" sha256: "0f6c3d30baa39e3e7611afb481ee86dea45dafb182cac87d570c95dccd83eb8b" patches: + "4.8.1": + - patch_file: "patches/4.5.5-0001-find-openexr.patch" + patch_description: "Robust discovery & injection of OpenEXR" + patch_type: "conan" + - patch_file: "patches/4.5.5-0003-find-quirc.patch" + patch_description: "Robust discovery & injection of quirc" + patch_type: "conan" + - patch_file: "patches/4.8.1-0001-find-ade.patch" + patch_description: "Robust discovery & injection of ade" + patch_type: "conan" + - patch_file: "patches/4.5.1-0001-tracking-no-plot-deps.patch" + patch_description: "Fix requirements of tracking module" + patch_type: "conan" + - patch_file: "patches/4.1.2-0006-hdf.patch" + patch_description: "Robust discovery of hdf" + patch_type: "conan" + - patch_file: "patches/4.5.2-0001-fix-zlib-static-android.patch" + patch_description: "Fix discovery of zlib static if Android" + patch_type: "conan" + - patch_file: "patches/4.1.2-0007-android-install-layout.patch" + patch_description: "Honor install layout from conan if Android" + patch_type: "conan" + - patch_file: "patches/4.8.1-0002-mingw-disable-obsensor.patch" + patch_description: "MinGW: disable obsensor to avoid build issue" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv/pull/24478" "4.5.5": - patch_file: "patches/4.5.5-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 9110c31c6b1fb..31a4382eaa728 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rename, replace_in_file, rmdir, save +from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os @@ -118,12 +119,16 @@ class OpenCVConan(ConanFile): "world": [True, False], "nonfree": [True, False], # dnn module options + "with_flatbuffers": [True, False], + "with_protobuf": [True, False], "with_vulkan": [True, False], "dnn_cuda": [True, False], # highgui module options "with_gtk": [True, False], "with_qt": [True, False], + "with_wayland": [True, False], # imgcodecs module options + "with_avif": [True, False], "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], "with_png": [True, False], "with_tiff": [True, False], @@ -173,12 +178,16 @@ class OpenCVConan(ConanFile): "world": False, "nonfree": False, # dnn module options + "with_flatbuffers": True, + "with_protobuf": True, "with_vulkan": False, "dnn_cuda": False, # highgui module options - "with_gtk": True, + "with_gtk": False, "with_qt": False, + "with_wayland": True, # imgcodecs module options + "with_avif": False, "with_jpeg": "libjpeg", "with_png": True, "with_tiff": True, @@ -211,6 +220,10 @@ class OpenCVConan(ConanFile): short_paths = True + @property + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" + @property def _is_legacy_one_profile(self): return not hasattr(self, "settings_build") @@ -219,6 +232,10 @@ def _is_legacy_one_profile(self): def _contrib_folder(self): return os.path.join(self.source_folder, "contrib") + @property + def _extra_modules_folder(self): + return os.path.join(self._contrib_folder, "modules") + @property def _has_with_jpeg2000_option(self): return self.settings.os != "iOS" @@ -257,7 +274,19 @@ def _has_wechat_qrcode_option(self): @property def _has_barcode_option(self): - return Version(self.version) >= "4.5.3" + return Version(self.version) >= "4.5.3" and Version(self.version) < "4.8.0" + + @property + def _has_with_wayland_option(self): + return Version(self.version) >= "4.7.0" and self.settings.os in ["Linux", "FreeBSD"] + + @property + def _has_with_avif_option(self): + return Version(self.version) >= "4.8.0" + + @property + def _has_with_flatbuffers_option(self): + return Version(self.version) >= "4.8.0" def export_sources(self): export_conandata_patches(self) @@ -302,11 +331,32 @@ def config_options(self): del self.options.wechat_qrcode if not self._has_barcode_option: del self.options.barcode + if not self._has_with_wayland_option: + del self.options.with_wayland + if not self._has_with_avif_option: + del self.options.with_avif + if not self._has_with_flatbuffers_option: + del self.options.with_flatbuffers + + # Conditional default options + if self._is_mingw: + # These options are visible for Windows, but upstream disables them + # by default for MinGW (actually it would fail otherwise) + self.options.with_msmf = False + self.options.with_msmf_dxva = False + if self.settings.os == "Linux": + # Use Wayland by default, but fallback to GTK for old OpenCV versions. + # gtk/system is problematic for this recpe, there might be side effects + # in a big dependency graph + if not self._has_with_wayland_option: + self.options.with_gtk = True @property def _opencv_modules(self): def imageformats_deps(): components = [] + if self.options.get_safe("with_avif"): + components.append("libavif::libavif") if self.options.get_safe("with_jpeg2000"): components.append("{0}::{0}".format(self.options.with_jpeg2000)) if self.options.get_safe("with_png"): @@ -333,15 +383,10 @@ def eigen(): return ["eigen::eigen"] if self.options.with_eigen else [] def ffmpeg(): + components = [] if self.options.get_safe("with_ffmpeg"): - return [ - "ffmpeg::avcodec", "ffmpeg::avdevice", "ffmpeg::avformat", - "ffmpeg::avutil", "ffmpeg::swscale", - ] - return [] - - def freetype(): - return ["freetype::freetype"] if self.options.freetype else [] + components = ["ffmpeg::avcodec", "ffmpeg::avformat", "ffmpeg::avutil", "ffmpeg::swscale"] + return components def gtk(): return ["gtk::gtk"] if self.options.get_safe("with_gtk") else [] @@ -356,6 +401,9 @@ def ipp(): def parallel(): return ["onetbb::onetbb"] if self.options.parallel == "tbb" else [] + def protobuf(): + return ["protobuf::protobuf"] if self.options.get_safe("with_protobuf") else [] + def qt(): return ["qt::qt"] if self.options.get_safe("with_qt") else [] @@ -368,6 +416,12 @@ def tesseract(): def vulkan(): return ["vulkan-headers::vulkan-headers"] if self.options.get_safe("with_vulkan") else [] + def wayland(): + return ["wayland::wayland-client", "wayland::wayland-cursor"] if self.options.get_safe("with_wayland") else [] + + def xkbcommon(): + return ["xkbcommon::libxkbcommon"] if self.options.get_safe("with_wayland") else [] + def opencv_calib3d(): return ["opencv_calib3d"] if self.options.calib3d else [] @@ -442,7 +496,7 @@ def opencv_xfeatures2d(): "dnn": { "is_built": self.options.dnn, "mandatory_options": ["imgproc"], - "requires": ["opencv_core", "opencv_imgproc", "protobuf::protobuf"] + vulkan() + ipp(), + "requires": ["opencv_core", "opencv_imgproc"] + protobuf() + vulkan() + ipp(), }, "features2d": { "is_built": self.options.features2d, @@ -465,7 +519,7 @@ def opencv_xfeatures2d(): "is_built": self.options.highgui, "mandatory_options": ["imgproc"], "requires": ["opencv_core", "opencv_imgproc"] + opencv_imgcodecs() + - opencv_videoio() + freetype() + gtk() + qt() + ipp(), + opencv_videoio() + gtk() + qt() + xkbcommon() + wayland() + ipp(), "system_libs": [ (self.settings.os == "Windows", ["comctl32", "gdi32", "ole32", "setupapi", "ws2_32", "vfw32"]), ], @@ -569,7 +623,7 @@ def opencv_xfeatures2d(): "cudacodec": { "is_built": self.options.cudacodec, "mandatory_options": ["with_cuda", "videoio"], - "requires": ["opencv_core", "opencv_videoio", "opencv_cudev"] + ipp(), + "requires": ["opencv_core", "opencv_videoio"] + ipp(), }, "cudafeatures2d": { "is_built": self.options.cudafeatures2d, @@ -854,6 +908,17 @@ def opencv_xfeatures2d(): if Version(self.version) < "4.3.0": opencv_modules["stereo"].setdefault("mandatory_options", []).extend(["calib3d", "video"]) opencv_modules["stereo"].setdefault("requires", []).extend(["opencv_calib3d", "opencv_video"]) + if Version(self.version) >= "4.7.0": + opencv_modules["aruco"].setdefault("mandatory_options", []).append("objdetect") + opencv_modules["aruco"].setdefault("requires", []).append("opencv_objdetect") + opencv_modules["cudacodec"].setdefault("mandatory_options", []).extend(["cudaarithm", "cudawarping"]) + opencv_modules["cudacodec"].setdefault("requires", []).extend(["opencv_cudaarithm", "opencv_cudawarping"]) + opencv_modules["wechat_qrcode"].setdefault("mandatory_options", []).append("objdetect") + opencv_modules["wechat_qrcode"].setdefault("requires", []).append("opencv_objdetect") + else: + opencv_modules["cudacodec"].setdefault("requires", []).append("opencv_cudev") + if Version(self.version) < "4.8.0": + opencv_modules["dnn"].setdefault("mandatory_options", []).append("with_protobuf") return opencv_modules @@ -900,7 +965,11 @@ def _solve_internal_dependency_graph(self, opencv_modules): "they are required by modules you have explicitly requested:\n") for option_to_enable in all_options_to_enable: - setattr(self.options, option_to_enable, True) + try: + setattr(self.options, option_to_enable, True) + except ConanException: + # It may not work in conan v2 and raise ConanException "Incorrect attempt to modify option" + continue direct_and_transitive = [] direct = ", ".join(direct_options_to_enable.get(option_to_enable, [])) @@ -963,12 +1032,16 @@ def configure(self): if not self.options.dnn: self.options.rm_safe("dnn_cuda") + self.options.rm_safe("with_flatbuffers") + self.options.rm_safe("with_protobuf") self.options.rm_safe("with_vulkan") if not self.options.highgui: self.options.rm_safe("with_gtk") + self.options.rm_safe("with_wayland") if not (self.options.highgui or self.options.cvv): self.options.rm_safe("with_qt") if not self.options.imgcodecs: + self.options.rm_safe("with_avif") self.options.rm_safe("with_jpeg") self.options.rm_safe("with_jpeg2000") self.options.rm_safe("with_openexr") @@ -1016,11 +1089,11 @@ def requirements(self): if self.options.with_ipp == "intel-ipp": self.requires("intel-ipp/2020") # dnn module dependencies - if self.options.dnn: + if self.options.get_safe("with_protobuf"): # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16678#issuecomment-1507811867 self.requires("protobuf/3.21.12", transitive_libs=True) if self.options.get_safe("with_vulkan"): - self.requires("vulkan-headers/1.3.250.0") + self.requires("vulkan-headers/1.3.268.0") # gapi module dependencies if self.options.gapi: self.requires("ade/0.1.2d") @@ -1029,7 +1102,12 @@ def requirements(self): self.requires("gtk/system") if self.options.get_safe("with_qt"): self.requires("qt/5.15.11") + if self.options.get_safe("with_wayland"): + self.requires("xkbcommon/1.6.0") + self.requires("wayland/1.22.0") # imgcodecs module dependencies + if self.options.get_safe("with_avif"): + self.requires("libavif/1.0.1") if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": @@ -1043,7 +1121,7 @@ def requirements(self): if self.options.get_safe("with_png"): self.requires("libpng/1.6.40") if self.options.get_safe("with_openexr"): - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_webp"): @@ -1065,7 +1143,7 @@ def requirements(self): self.requires("harfbuzz/8.2.2") # hdf module dependencies if self.options.hdf: - self.requires("hdf5/1.14.1") + self.requires("hdf5/1.14.2") # ovis module dependencies if self.options.ovis: self.requires("ogre/1.10.2") @@ -1128,8 +1206,15 @@ def validate(self): ) def build_requirements(self): - if self.options.dnn and not self._is_legacy_one_profile: - self.tool_requires("protobuf/") + if self.options.get_safe("with_protobuf"): + if not self._is_legacy_one_profile: + self.tool_requires("protobuf/") + if self.options.get_safe("with_wayland"): + self.tool_requires("wayland-protocols/1.31") + if not self._is_legacy_one_profile: + self.tool_requires("wayland/") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version][0], strip_root=True) @@ -1139,19 +1224,72 @@ def source(self): def _patch_sources(self): apply_conandata_patches(self) - for directory in ["libjasper", "libjpeg-turbo", "libjpeg", "libpng", "libtiff", "libwebp", "openexr", "protobuf", "zlib", "quirc"]: + + # Patches in opencv + # ----------------- + + ## Remove 3rd party libs + for directory in [ + "libjasper", "libjpeg", "libjpeg-turbo", "libpng", "libspng", "libtiff", + "libwebp", "openexr", "openjpeg", "protobuf", "quirc", "tbb", "zlib", + ]: rmdir(self, os.path.join(self.source_folder, "3rdparty", directory)) replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "ANDROID OR NOT UNIX", "FALSE") replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "elseif(EMSCRIPTEN)", "elseif(QNXNTO)\nelseif(EMSCRIPTEN)") + + ## Fix link to several dependencies replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "JASPER_", "Jasper_") replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "${GDAL_LIBRARY}", "GDAL::GDAL") + if Version(self.version) >= "4.8.0": + replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "${AVIF_LIBRARY}", "avif") - # Fix detection of ffmpeg + ## Fix detection of ffmpeg replace_in_file(self, os.path.join(self.source_folder, "modules", "videoio", "cmake", "detect_ffmpeg.cmake"), "FFMPEG_FOUND", "ffmpeg_FOUND") - # Cleanup RPATH + ## Robust handling of wayland + if self.options.get_safe("with_wayland"): + detect_wayland = os.path.join(self.source_folder, "modules", "highgui", "cmake", "detect_wayland.cmake") + + # We have to override *_LINK_LIBRARIES variables linked to highui because they are just link fkags, not cflags + # so include dirs are missing (OpenCV seems to assume system libs for wayland) + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(WAYLAND_CLIENT wayland-client)", + "ocv_check_modules(WAYLAND_CLIENT wayland-client)\nfind_package(wayland REQUIRED CONFIG)\nset(WAYLAND_CLIENT_LINK_LIBRARIES wayland::wayland-client)", + ) + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(WAYLAND_CURSOR wayland-cursor)", + "ocv_check_modules(WAYLAND_CURSOR wayland-cursor)\nset(WAYLAND_CURSOR_LINK_LIBRARIES wayland::wayland-cursor)", + ) + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(XKBCOMMON xkbcommon)", + "ocv_check_modules(XKBCOMMON xkbcommon)\nfind_package(xkbcommon REQUIRED CONFIG)\nset(XKBCOMMON_LINK_LIBRARIES xkbcommon::libxkbcommon)", + ) + # OpenCV uses pkgconfig to find wayland-protocols files, but we can't generate + # pkgconfig files of a build requirement with 1 profile, so here is a workaround + if self._is_legacy_one_profile: + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(WAYLAND_PROTOCOLS wayland-protocols>=1.13)", + "set(HAVE_WAYLAND_PROTOCOLS TRUE)", + ) + pkgdatadir = os.path.join(self.dependencies["wayland-protocols"].package_folder, "res", "wayland-protocols") + replace_in_file( + self, + detect_wayland, + "pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir)", + f"set(WAYLAND_PROTOCOLS_BASE {pkgdatadir})", + ) + + ## Cleanup RPATH if Version(self.version) < "4.1.2": install_layout_file = os.path.join(self.source_folder, "CMakeLists.txt") else: @@ -1161,7 +1299,8 @@ def _patch_sources(self): "") replace_in_file(self, install_layout_file, "set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)", "") - if self.options.dnn: + ## Fix discovery & link of protobuf + if self.options.get_safe("with_protobuf"): find_protobuf = os.path.join(self.source_folder, "cmake", "OpenCVFindProtobuf.cmake") # OpenCV expects to find FindProtobuf.cmake, not the config file replace_in_file(self, find_protobuf, @@ -1173,8 +1312,21 @@ def _patch_sources(self): 'if(TARGET "${Protobuf_LIBRARIES}")', 'if(FALSE) # patch: disable if(TARGET "${Protobuf_LIBRARIES}")') + # Patches in opencv_contrib + # ------------------------- + + ## Remove unused extra modules to avoid side effects + if not self.options.with_cuda: + rmdir(self, os.path.join(self._extra_modules_folder, "cudev")) + for module in OPENCV_EXTRA_MODULES_OPTIONS: + if not self.options.get_safe(module): + rmdir(self, os.path.join(self._extra_modules_folder, module)) + for module in ["cnn_3dobj", "julia", "matlab"]: + rmdir(self, os.path.join(self._extra_modules_folder, module)) + + ## Fix Freetype discovery logic in freetype extra module if self.options.freetype: - freetype_cmake = os.path.join(self._contrib_folder, "modules", "freetype", "CMakeLists.txt") + freetype_cmake = os.path.join(self._extra_modules_folder, "freetype", "CMakeLists.txt") replace_in_file(self, freetype_cmake, "ocv_check_modules(FREETYPE freetype2)", "find_package(Freetype REQUIRED MODULE)") replace_in_file(self, freetype_cmake, "FREETYPE_", "Freetype_") @@ -1182,11 +1334,10 @@ def _patch_sources(self): replace_in_file(self, freetype_cmake, "HARFBUZZ_", "harfbuzz_") def generate(self): - if self.options.dnn: - if self._is_legacy_one_profile: + VirtualBuildEnv(self).generate() + if self._is_legacy_one_profile: + if self.options.get_safe("with_protobuf") or self.options.get_safe("with_wayland"): VirtualRunEnv(self).generate(scope="build") - else: - VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["OPENCV_CONFIG_INSTALL_PATH"] = "cmake" @@ -1244,8 +1395,10 @@ def generate(self): # libavcodec;libavformat;libavutil;libswscale modules tc.variables["OPENCV_FFMPEG_USE_FIND_PACKAGE"] = "ffmpeg" tc.variables["OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT"] = False + if Version(self.version) >= "4.7.0": + tc.variables["OPENCV_FFMPEG_ENABLE_LIBAVDEVICE"] = False ffmpeg_libraries = [] - for component in ["avcodec", "avdevice", "avformat", "avutil", "swscale", "avresample"]: + for component in ["avcodec", "avformat", "avutil", "swscale", "avresample"]: if component == "avutil" or self.dependencies["ffmpeg"].options.get_safe(component): ffmpeg_libraries.append(f"ffmpeg::{component}") ffmpeg_component_version = self.dependencies["ffmpeg"].cpp_info.components[component].get_property("component_version") @@ -1259,7 +1412,6 @@ def generate(self): tc.variables["WITH_IMGCODEC_PFM"] = self.options.get_safe("with_imgcodec_pfm", False) tc.variables["WITH_IMGCODEC_PXM"] = self.options.get_safe("with_imgcodec_pxm", False) tc.variables["WITH_IMGCODEC_SUNRASTER"] = self.options.get_safe("with_imgcodec_sunraster", False) - tc.variables["WITH_INF_ENGINE"] = False tc.variables["WITH_IPP"] = bool(self.options.with_ipp) if self.options.with_ipp == "intel-ipp": ipp_root = self.dependencies["intel-ipp"].package_folder.replace("\\", "/") @@ -1268,7 +1420,6 @@ def generate(self): tc.variables["WITH_ITT"] = False tc.variables["WITH_LIBREALSENSE"] = False tc.variables["WITH_MFX"] = False - tc.variables["WITH_NGRAPH"] = False tc.variables["WITH_OPENCL"] = self.options.get_safe("with_opencl", False) tc.variables["WITH_OPENCLAMDBLAS"] = False tc.variables["WITH_OPENCLAMDFFT"] = False @@ -1324,6 +1475,23 @@ def generate(self): tc.variables["OPENCV_DNN_CUDA"] = self.options.get_safe("dnn_cuda", False) + if Version(self.version) >= "4.6.0": + tc.variables["WITH_OPENVINO"] = False + tc.variables["WITH_TIMVX"] = False + else: + tc.variables["WITH_INF_ENGINE"] = False + tc.variables["WITH_NGRAPH"] = False + + if Version(self.version) >= "4.7.0": + tc.variables["ENABLE_DELAYLOAD"] = False + tc.variables["WITH_CANN"] = False + tc.variables["WITH_SPNG"] = False # TODO: change with_png recipe option in order to use either libpng or libspng + tc.variables["WITH_WAYLAND"] = self.options.get_safe("with_wayland", False) + + if Version(self.version) >= "4.8.0": + tc.variables["WITH_AVIF"] = self.options.get_safe("with_avif", False) + tc.variables["WITH_FLATBUFFERS"] = self.options.get_safe("with_flatbuffers", False) + # Special world option merging all enabled modules into one big library file tc.variables["BUILD_opencv_world"] = self.options.world @@ -1331,15 +1499,16 @@ def generate(self): tc.variables["BUILD_opencv_core"] = True for module in OPENCV_MAIN_MODULES_OPTIONS: tc.variables[f"BUILD_opencv_{module}"] = self.options.get_safe(module, False) - tc.variables["WITH_PROTOBUF"] = self.options.dnn - if self.options.dnn: + tc.variables["WITH_PROTOBUF"] = self.options.get_safe("with_protobuf", False) + if self.options.get_safe("with_protobuf"): tc.variables["PROTOBUF_UPDATE_FILES"] = True tc.variables["WITH_ADE"] = self.options.gapi if self.options.objdetect: tc.variables["HAVE_QUIRC"] = self.options.with_quirc # force usage of quirc requirement # Extra modules - tc.variables["OPENCV_EXTRA_MODULES_PATH"] = os.path.join(self._contrib_folder, "modules").replace("\\", "/") + if any([self.options.get_safe(module) for module in OPENCV_EXTRA_MODULES_OPTIONS]) or self.options.with_cuda: + tc.variables["OPENCV_EXTRA_MODULES_PATH"] = self._extra_modules_folder.replace("\\", "/") tc.variables["BUILD_opencv_cudev"] = self.options.with_cuda for module in OPENCV_EXTRA_MODULES_OPTIONS: tc.variables[f"BUILD_opencv_{module}"] = self.options.get_safe(module, False) @@ -1379,6 +1548,12 @@ def generate(self): CMakeDeps(self).generate() + if self.options.get_safe("with_wayland"): + deps = PkgConfigDeps(self) + if not self._is_legacy_one_profile: + deps.build_context_activated = ["wayland-protocols"] + deps.generate() + def build(self): self._patch_sources() cmake = CMake(self) diff --git a/recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch b/recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch new file mode 100644 index 0000000000000..0e70b9535811f --- /dev/null +++ b/recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch @@ -0,0 +1,11 @@ +--- a/modules/gapi/cmake/init.cmake ++++ b/modules/gapi/cmake/init.cmake +@@ -8,7 +8,7 @@ if(NOT WITH_ADE) + return() + endif() + +-if(ade_DIR) ++if(1) + # if ade_DIR is set, use ADE-supplied CMake script + # to set up variables to the prebuilt ADE + find_package(ade 0.1.0) diff --git a/recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch b/recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch new file mode 100644 index 0000000000000..33c9550f7c325 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -468,7 +468,7 @@ OCV_OPTION(WITH_TIMVX "Include Tim-VX support" OFF + VISIBLE_IF TRUE + VERIFY HAVE_TIMVX) + OCV_OPTION(WITH_OBSENSOR "Include obsensor support (Orbbec RGB-D modules: Astra+/Femto)" ON +- VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT) OR ( UNIX AND NOT APPLE AND NOT ANDROID) ++ VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT AND NOT MINGW) OR ( UNIX AND NOT APPLE AND NOT ANDROID) + VERIFY HAVE_OBSENSOR) + OCV_OPTION(WITH_CANN "Include CANN support" OFF + VISIBLE_IF TRUE diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 89ac415345456..4ca870469c580 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -1,4 +1,6 @@ versions: + "4.8.1": + folder: "4.x" "4.5.5": folder: "4.x" "4.5.3": From 4bc612673d57fecc4cec9b308e37bc5c669da155 Mon Sep 17 00:00:00 2001 From: Corentin Schreiber Date: Fri, 17 Nov 2023 18:02:59 +0000 Subject: [PATCH 2620/4087] (#19551) Add snitch 1.2.3 * Add snitch 1.2.0 * Fixed url * Updated to v1.2.1 to use upstream patches * Fix recipe for conan v2 * Update to 1.2.2 * Updated sha * Update sha * Fix v1 test package * Update to 1.2.2 * Fix v1 test package * Remove bitcase check -- handled by the library already * Clear bindir and libdir * Don't read option values in config_options(), that's for configure() * Removed linking to m, seems not required * Fix header-only hooks * Fix using self.info in configure() * Add back build_type * Keep build_type * Don't bother clearing settings in configure() * Follow fmt recipe * Fixed leftover reference to fmt * Fix warning aboutmissing `m` and unused import * Update URL to new organisation * Add v1.2.3 * Update SHA after changing URL --- recipes/snitch/all/conandata.yml | 7 + recipes/snitch/all/conanfile.py | 199 ++++++++++++++++++ .../all/test_package/100-standalone.cpp | 11 + .../200-standalone-with-shorthand.cpp | 11 + .../snitch/all/test_package/CMakeLists.txt | 19 ++ recipes/snitch/all/test_package/conanfile.py | 31 +++ .../snitch/all/test_v1_package/CMakeLists.txt | 8 + .../snitch/all/test_v1_package/conanfile.py | 18 ++ recipes/snitch/config.yml | 5 + 9 files changed, 309 insertions(+) create mode 100644 recipes/snitch/all/conandata.yml create mode 100644 recipes/snitch/all/conanfile.py create mode 100644 recipes/snitch/all/test_package/100-standalone.cpp create mode 100644 recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp create mode 100644 recipes/snitch/all/test_package/CMakeLists.txt create mode 100644 recipes/snitch/all/test_package/conanfile.py create mode 100644 recipes/snitch/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/snitch/all/test_v1_package/conanfile.py create mode 100644 recipes/snitch/config.yml diff --git a/recipes/snitch/all/conandata.yml b/recipes/snitch/all/conandata.yml new file mode 100644 index 0000000000000..c99303582e711 --- /dev/null +++ b/recipes/snitch/all/conandata.yml @@ -0,0 +1,7 @@ +sources: + "1.2.3": + url: "https://github.com/snitch-org/snitch/archive/refs/tags/v1.2.3.zip" + sha256: "f2649e716b612f3dbb5f109b7250be80e2d7e43c7827034a270bd1ca91eafb12" + "1.2.2": + url: "https://github.com/snitch-org/snitch/archive/refs/tags/v1.2.2.zip" + sha256: "01eefb4a5368974cbfc14fbae93a5ccdd1f9d7f63d102784f914083b79d264a0" diff --git a/recipes/snitch/all/conanfile.py b/recipes/snitch/all/conanfile.py new file mode 100644 index 0000000000000..a4bcbd5587b10 --- /dev/null +++ b/recipes/snitch/all/conanfile.py @@ -0,0 +1,199 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class SnitchConan(ConanFile): + name = "snitch" + description = "Lightweight C++20 testing framework" + topics = ("snitch", "unit-test") + license = "BSL-1.0" + homepage = "https://github.com/snitch-org/snitch" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "header_only": [True, False], + "with_main": [True, False], + "with_exceptions": [True, False], + "with_timings": [True, False], + "with_shorthand_macros": [True, False], + "with_default_color": [True, False], + "with_success_decompose": [True, False], + "with_reporters": [None, "ANY"], + "max_test_cases": ["ANY"], # integer + "max_nested_sections": ["ANY"], # integer + "max_expr_length": ["ANY"], # integer + "max_message_length": ["ANY"], # integer + "max_test_name_length": ["ANY"], # integer + "max_tag_length": ["ANY"], # integer + "max_captures": ["ANY"], # integer + "max_capture_length": ["ANY"], # integer + "max_unique_tags": ["ANY"], # integer + "max_command_line_args": ["ANY"], # integer + "max_registered_reporters": ["ANY"], # integer + "max_path_length": ["ANY"] # integer + } + default_options = { + "shared": False, + "fPIC": True, + "header_only": False, + "with_main": True, + "with_exceptions": True, + "with_timings": True, + "with_shorthand_macros": True, + "with_default_color": True, + "with_success_decompose": False, + "with_reporters": "all", + "max_test_cases": 5000, + "max_nested_sections": 8, + "max_expr_length": 1024, + "max_message_length": 1024, + "max_test_name_length": 1024, + "max_tag_length": 256, + "max_captures": 8, + "max_capture_length": 256, + "max_unique_tags": 1024, + "max_command_line_args": 1024, + "max_registered_reporters": 8, + "max_path_length": 1024 + } + + @property + def _min_cppstd(self): + return "20" + + @property + def _compilers_minimum_version(self): + return { + "gcc": "10", + "Visual Studio": "17", + "msvc": "193", + "clang": "10", + "apple-clang": "10", + } + + @property + def _available_reporters(self): + return ["xml", "teamcity"] + + def config_options(self): + if self.settings.os == "Windows": + # Position-independent code is irrelevant on Windows; this is UNIX only. + del self.options.fPIC + + def configure(self): + if self.options.shared or self.options.header_only: + # Position-independent code is only relevant for static builds. + self.options.rm_safe("fPIC") + + if self.options.header_only: + # Shared vs static is irrelevant in header-only mode, so should be removed. + del self.options.shared + + def package_id(self): + if self.info.options.header_only: + # In header-only mode, the OS, architecture, and compiler don't matter. + # However do not clear options; they influence the content of the header file. + self.info.settings.clear() + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler doesn't support") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + + # Basic configuration + tc.cache_variables["SNITCH_DO_TEST"] = False + tc.cache_variables["SNITCH_UNITY_BUILD"] = True + + # Library format + tc.cache_variables["SNITCH_HEADER_ONLY"] = self.options.header_only + + # Feature toggles + tc.cache_variables["SNITCH_DEFINE_MAIN"] = self.options.with_main + tc.cache_variables["SNITCH_WITH_EXCEPTIONS"] = self.options.with_exceptions + tc.cache_variables["SNITCH_WITH_TIMINGS"] = self.options.with_timings + tc.cache_variables["SNITCH_WITH_SHORTHAND_MACROS"] = self.options.with_shorthand_macros + tc.cache_variables["SNITCH_DEFAULT_WITH_COLOR"] = self.options.with_default_color + tc.cache_variables["SNITCH_DECOMPOSE_SUCCESSFUL_ASSERTIONS"] = self.options.with_success_decompose + + for reporter in str(self.options.with_reporters).split(','): + reporter = reporter.strip() + if reporter == "all": + tc.cache_variables["SNITCH_WITH_ALL_REPORTERS"] = True + break + elif reporter in self._available_reporters: + tc.cache_variables["SNITCH_WITH_ALL_REPORTERS"] = False + tc.cache_variables[f"SNITCH_WITH_{reporter.upper()}_REPORTER"] = True + else: + raise ConanInvalidConfiguration(f"unknown reporter '{reporter}'") + + # Configurable limits + tc.cache_variables["SNITCH_MAX_TEST_CASES"] = str(self.options.max_test_cases) + tc.cache_variables["SNITCH_MAX_NESTED_SECTIONS"] = str(self.options.max_nested_sections) + tc.cache_variables["SNITCH_MAX_EXPR_LENGTH"] = str(self.options.max_expr_length) + tc.cache_variables["SNITCH_MAX_MESSAGE_LENGTH"] = str(self.options.max_message_length) + tc.cache_variables["SNITCH_MAX_TEST_NAME_LENGTH"] = str(self.options.max_test_name_length) + tc.cache_variables["SNITCH_MAX_TAG_LENGTH"] = str(self.options.max_tag_length) + tc.cache_variables["SNITCH_MAX_CAPTURES"] = str(self.options.max_captures) + tc.cache_variables["SNITCH_MAX_CAPTURE_LENGTH"] = str(self.options.max_capture_length) + tc.cache_variables["SNITCH_MAX_UNIQUE_TAGS"] = str(self.options.max_unique_tags) + tc.cache_variables["SNITCH_MAX_COMMAND_LINE_ARGS"] = str(self.options.max_command_line_args) + tc.cache_variables["SNITCH_MAX_REGISTERED_REPORTERS"] = str(self.options.max_registered_reporters) + tc.cache_variables["SNITCH_MAX_PATH_LENGTH"] = str(self.options.max_path_length) + + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + target = "snitch-header-only" if self.options.header_only else "snitch" + + self.cpp_info.set_property("cmake_file_name", "snitch") + self.cpp_info.set_property("cmake_target_name", f"snitch::{target}") + self.cpp_info.set_property("pkg_config_name", "snitch") + + if self.options.header_only: + self.cpp_info.components["_snitch"].bindirs = [] + self.cpp_info.components["_snitch"].libdirs = [] + else: + self.cpp_info.components["_snitch"].libs = ['snitch'] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + # TODO: to remove in conan v2 once legacy generators removed + self.cpp_info.names["cmake_find_package"] = "snitch" + self.cpp_info.names["cmake_find_package_multi"] = "snitch" + self.cpp_info.names["pkg_config"] = "snitch" + self.cpp_info.components["_snitch"].names["cmake_find_package"] = target + self.cpp_info.components["_snitch"].names["cmake_find_package_multi"] = target + self.cpp_info.components["_snitch"].set_property("cmake_target_name", f"snitch::{target}") diff --git a/recipes/snitch/all/test_package/100-standalone.cpp b/recipes/snitch/all/test_package/100-standalone.cpp new file mode 100644 index 0000000000000..a3fbd51a23a25 --- /dev/null +++ b/recipes/snitch/all/test_package/100-standalone.cpp @@ -0,0 +1,11 @@ +#if defined(HEADER_ONLY) +# define SNITCH_IMPLEMENTATION +# include +#else +# include +# include +#endif + +SNITCH_TEST_CASE("compiles and runs") { + SNITCH_REQUIRE(true == !false); +} diff --git a/recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp b/recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp new file mode 100644 index 0000000000000..bfdc6f47fe273 --- /dev/null +++ b/recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp @@ -0,0 +1,11 @@ +#if defined(HEADER_ONLY) +# define SNITCH_IMPLEMENTATION +# include +#else +# include +# include +#endif + +TEST_CASE("compiles and runs") { + REQUIRE(true == !false); +} diff --git a/recipes/snitch/all/test_package/CMakeLists.txt b/recipes/snitch/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..19d7688a6e4c0 --- /dev/null +++ b/recipes/snitch/all/test_package/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(snitch REQUIRED CONFIG) + +if (WITH_SHORTHAND) + add_executable(standalone 200-standalone-with-shorthand.cpp) +else() + add_executable(standalone 100-standalone.cpp) +endif() + +if (HEADER_ONLY) + target_compile_definitions(standalone PRIVATE HEADER_ONLY) + target_link_libraries(standalone PRIVATE snitch::snitch-header-only) +else() + target_link_libraries(standalone PRIVATE snitch::snitch) +endif() + +target_compile_features(standalone PRIVATE cxx_std_20) diff --git a/recipes/snitch/all/test_package/conanfile.py b/recipes/snitch/all/test_package/conanfile.py new file mode 100644 index 0000000000000..21081577ec035 --- /dev/null +++ b/recipes/snitch/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_SHORTHAND"] = self.dependencies[self.tested_reference_str].options.with_shorthand_macros + tc.variables["HEADER_ONLY"] = self.dependencies[self.tested_reference_str].options.header_only + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "standalone"), env="conanrun") diff --git a/recipes/snitch/all/test_v1_package/CMakeLists.txt b/recipes/snitch/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/snitch/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/snitch/all/test_v1_package/conanfile.py b/recipes/snitch/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c8d1d20a4e7d2 --- /dev/null +++ b/recipes/snitch/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.definitions["WITH_SHORTHAND"] = self.options["snitch"].with_shorthand_macros + cmake.definitions["HEADER_ONLY"] = self.options["snitch"].header_only + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(os.path.join("bin", "standalone"), run_environment=True) diff --git a/recipes/snitch/config.yml b/recipes/snitch/config.yml new file mode 100644 index 0000000000000..6d9f399765e2d --- /dev/null +++ b/recipes/snitch/config.yml @@ -0,0 +1,5 @@ +versions: + "1.2.3": + folder: all + "1.2.2": + folder: all From 3e4bf39ccf94ffe3da5efdbef365939d0510a371 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 04:26:15 +0900 Subject: [PATCH 2621/4087] (#20648) freetype: add version 2.13.2 --- recipes/freetype/all/conandata.yml | 5 +++++ recipes/freetype/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/freetype/all/conandata.yml b/recipes/freetype/all/conandata.yml index ba0c7f323c387..8e6b6b6c5bfe8 100644 --- a/recipes/freetype/all/conandata.yml +++ b/recipes/freetype/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "2.13.2": + url: + - "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.2.tar.xz" + - "https://sourceforge.net/projects/freetype/files/freetype2/2.13.2/freetype-2.13.2.tar.xz" + sha256: "12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d" "2.13.0": url: - "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.0.tar.xz" diff --git a/recipes/freetype/config.yml b/recipes/freetype/config.yml index 03088d905ff89..a1ef7bebb603a 100644 --- a/recipes/freetype/config.yml +++ b/recipes/freetype/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.2": + folder: all "2.13.0": folder: all "2.12.1": From 28d8a49e1899d1d4db40179866c54243e88b38cb Mon Sep 17 00:00:00 2001 From: George Shramov Date: Sat, 18 Nov 2023 00:38:40 +0400 Subject: [PATCH 2622/4087] (#21175) cityhash: add version 1.0.1 --- recipes/cityhash/all/conandata.yml | 3 +++ recipes/cityhash/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cityhash/all/conandata.yml b/recipes/cityhash/all/conandata.yml index 77c6f2317b0e8..35df63b093df5 100644 --- a/recipes/cityhash/all/conandata.yml +++ b/recipes/cityhash/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/google/cityhash/archive/8eded14d8e7cabfcdb10d4be35d521683edc0407.zip" + sha256: "e49f5bdb0f93d303bf18cb72f2f18e10ac3b4f2734da7cc1d708f7f2d2674c7c" "cci.20130801": url: "https://github.com/google/cityhash/archive/8af9b8c2b889d80c22d6bc26ba0df1afb79a30db.zip" sha256: "3524f5ed43143974a29fddeeece29c8b6348f05db08dd180452da01a2837ddce" diff --git a/recipes/cityhash/config.yml b/recipes/cityhash/config.yml index 489bded5765de..6e8b7ecbe183c 100644 --- a/recipes/cityhash/config.yml +++ b/recipes/cityhash/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.1": + folder: all "cci.20130801": folder: all From ed6402bfc55bc29562e626295a479778e8ad138f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 17 Nov 2023 22:38:38 +0100 Subject: [PATCH 2623/4087] (#21187) wavelet_buffer/all: bump deps * wavelet_buffer/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wavelet_buffer/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wavelet_buffer/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wavelet_buffer/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wavelet_buffer/all/conanfile.py b/recipes/wavelet_buffer/all/conanfile.py index f5ce671013fd5..f322218f978f0 100644 --- a/recipes/wavelet_buffer/all/conanfile.py +++ b/recipes/wavelet_buffer/all/conanfile.py @@ -60,9 +60,9 @@ def layout(self): def requirements(self): self.requires("blaze/3.8", transitive_headers=True) - self.requires("cimg/3.2.5") + self.requires("cimg/3.3.0") if self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") else: self.requires("libjpeg/9e") # FIXME: unvendor SfCompressor which is currently downloaded at build time :s From 6762cddc2af38bbc7d0e64722d14eb067ace2d22 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 17 Nov 2023 23:50:09 +0100 Subject: [PATCH 2624/4087] (#21192) certify/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/certify/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/certify/all/conanfile.py b/recipes/certify/all/conanfile.py index c1cb170b0ac8c..89408b2501d3b 100644 --- a/recipes/certify/all/conanfile.py +++ b/recipes/certify/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") self.requires("openssl/[>=1.1 <4]") def package_id(self): From 0bab04ddd2c654c4212cbc486307ad6dded95883 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 17 Nov 2023 19:08:18 -0600 Subject: [PATCH 2625/4087] (#20628) shapelib: Fix RPATH on macOS * Bump the CMake minimum version used in the test packages * Set USE_RPATH as a cache variable --- recipes/shapelib/all/conanfile.py | 2 +- recipes/shapelib/all/test_package/CMakeLists.txt | 2 +- recipes/shapelib/all/test_v1_package/CMakeLists.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index 2af042f9dfcea..bed1f979c1ec8 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -47,7 +47,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False - tc.variables["USE_RPATH"] = False + tc.cache_variables["USE_RPATH"] = False tc.generate() def build(self): diff --git a/recipes/shapelib/all/test_package/CMakeLists.txt b/recipes/shapelib/all/test_package/CMakeLists.txt index 30289c1a8112b..2d8b5a050f64f 100644 --- a/recipes/shapelib/all/test_package/CMakeLists.txt +++ b/recipes/shapelib/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(shapelib REQUIRED CONFIG) diff --git a/recipes/shapelib/all/test_v1_package/CMakeLists.txt b/recipes/shapelib/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..2f11d9b196ef7 100644 --- a/recipes/shapelib/all/test_v1_package/CMakeLists.txt +++ b/recipes/shapelib/all/test_v1_package/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) From 584701506e0446586026e1247d1a5059e61c21e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 18 Nov 2023 03:49:27 +0200 Subject: [PATCH 2626/4087] (#21188) cfitsio: more accurate license identifier --- recipes/cfitsio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cfitsio/all/conanfile.py b/recipes/cfitsio/all/conanfile.py index 7b4f8cb364951..782f21cb2a73b 100644 --- a/recipes/cfitsio/all/conanfile.py +++ b/recipes/cfitsio/all/conanfile.py @@ -12,7 +12,7 @@ class CfitsioConan(ConanFile): name = "cfitsio" description = "C library for reading and writing data files in FITS " \ "(Flexible Image Transport System) data format" - license = "ISC" + license = "CFITSIO" topics = ("fits", "image", "nasa", "astronomy", "astrophysics", "space") homepage = "https://heasarc.gsfc.nasa.gov/fitsio/" url = "https://github.com/conan-io/conan-center-index" From 44977152b1f6ee64480a6d5b41175e6db44853d5 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 18 Nov 2023 05:27:14 +0100 Subject: [PATCH 2627/4087] (#21203) soci: bump sqlite3 --- recipes/soci/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index d800bb3ba6042..2ff7486399f30 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -62,7 +62,7 @@ def configure(self): def requirements(self): if self.options.with_sqlite3: - self.requires("sqlite3/3.43.0") + self.requires("sqlite3/3.44.0") if self.options.with_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.with_mysql: From 584788db86bc39b05aa17aacb5d7f26bb2847cdb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 18 Nov 2023 07:27:40 +0100 Subject: [PATCH 2628/4087] (#21205) libwebsockets: bump deps --- recipes/libwebsockets/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index b15cf76410c45..050d4a84dde11 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -205,7 +205,7 @@ def configure(self): def requirements(self): if self.options.with_libuv: - self.requires("libuv/1.44.1") + self.requires("libuv/1.47.0") if self.options.with_libevent == "libevent": self.requires("libevent/2.1.12") @@ -218,10 +218,10 @@ def requirements(self): self.requires("miniz/2.2.0") if self.options.with_libmount: - self.requires("libmount/2.36.2") + self.requires("libmount/2.39") if self.options.with_sqlite3: - self.requires("sqlite3/3.37.2") + self.requires("sqlite3/3.44.0") if self.options.with_ssl == "openssl": # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail From b79cbd6b1db2e5f323e90ef1b6081714dacd7e10 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 18 Nov 2023 08:08:07 +0100 Subject: [PATCH 2629/4087] (#21206) sqlitecpp: bump sqlite3 --- recipes/sqlitecpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py index 836b5676e62e1..cb53fcb31537f 100644 --- a/recipes/sqlitecpp/all/conanfile.py +++ b/recipes/sqlitecpp/all/conanfile.py @@ -43,7 +43,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.44.0") def validate(self): if Version(self.version) >= "3.0.0" and self.info.settings.compiler.get_safe("cppstd"): From 8b561c20e5ad4518b87d1362ec98a5c4bfbc130d Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 18:47:16 +0900 Subject: [PATCH 2630/4087] (#21211) samurai: add version 0.9.0 --- recipes/samurai/all/conandata.yml | 3 +++ recipes/samurai/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/samurai/all/conandata.yml b/recipes/samurai/all/conandata.yml index ee0badb79a35b..b4ff07102a673 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.9.0.tar.gz" + sha256: "49f94a7451b1b50cab335a62e294e612fea27cbf5b131827eb69a8e228ad8010" "0.8.0": url: "https://github.com/hpc-maths/samurai/archive/v0.8.0.tar.gz" sha256: "c20c4cdcc7c5a29d6f44369d5b1addee4237b8282b5cce88be4113367d90d82d" diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml index 3cb0f24be34a7..b54c9224b6c19 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: all "0.8.0": folder: all "0.7.0": From 2cdfe438f4b057c10307d68cd3ffefbb0d0b6493 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 19:47:08 +0900 Subject: [PATCH 2631/4087] (#21210) mcap: add version 1.3.0 --- recipes/mcap/all/conandata.yml | 3 +++ recipes/mcap/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mcap/all/conandata.yml b/recipes/mcap/all/conandata.yml index 4b98eb916b67c..4ede1237bc36c 100644 --- a/recipes/mcap/all/conandata.yml +++ b/recipes/mcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/foxglove/mcap/archive/releases/cpp/v1.3.0.tar.gz" + sha256: "41acf6e85d75556c64407f077e05492d31db1f099e07242ef04364bb2939acf1" "1.2.1": url: "https://github.com/foxglove/mcap/archive/releases/cpp/v1.2.1.tar.gz" sha256: "fdc0c351bbcf8883fec0047ff84fed74da88446859083beb6624a584e2cde669" diff --git a/recipes/mcap/config.yml b/recipes/mcap/config.yml index f50a75ba292e8..fb6aa455469ea 100644 --- a/recipes/mcap/config.yml +++ b/recipes/mcap/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.1": folder: all 1.2.0: From 97a8e6c4ff6dd1a4d2674b8c2532358f244a4dd2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 20:27:28 +0900 Subject: [PATCH 2632/4087] (#21212) simdutf: add version 4.0.4 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index ff02cf20bb0de..ced370b48d8cb 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/simdutf/simdutf/archive/v4.0.4.tar.gz" + sha256: "fd24bab9754e24f42e6cd2c9d336accb2674c306f9221c00fb095fe95cfe9247" "4.0.3": url: "https://github.com/simdutf/simdutf/archive/v4.0.3.tar.gz" sha256: "00429eca296f00d9b93939d2561538bad601602ad02fd01ba9ad366268773751" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 6dcda9d7383b8..45f2cb8a32ffa 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.3": folder: all "3.2.17": From b70b7204653bbf8efd90094d679e323a6df306ce Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sat, 18 Nov 2023 14:27:16 +0100 Subject: [PATCH 2633/4087] (#21214) [uncrustify] Add version 0.78.0 --- recipes/uncrustify/all/conandata.yml | 3 +++ recipes/uncrustify/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uncrustify/all/conandata.yml b/recipes/uncrustify/all/conandata.yml index db432bb0bfdf7..994dd9df8f5c3 100644 --- a/recipes/uncrustify/all/conandata.yml +++ b/recipes/uncrustify/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.78.0": + url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.78.0.tar.gz" + sha256: "377efec187c26c7ad77900d94032fa51b029831c69442d607a6e53ef2115928f" "0.77.1": url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.77.1.tar.gz" sha256: "414bbc9f7860eb18a53074f9af14ed04638a633b2216a73f2629291300d37c1b" diff --git a/recipes/uncrustify/config.yml b/recipes/uncrustify/config.yml index 14c80b15beabd..67d12c21bb4ac 100644 --- a/recipes/uncrustify/config.yml +++ b/recipes/uncrustify/config.yml @@ -1,4 +1,6 @@ versions: + "0.78.0": + folder: all "0.77.1": folder: all "0.75.1": From b02fd8cfee6183d49245b49df235fc302546a682 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 22:47:35 +0900 Subject: [PATCH 2634/4087] (#21215) shield: add version 0.5 --- recipes/shield/all/conandata.yml | 3 +++ recipes/shield/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/shield/all/conandata.yml b/recipes/shield/all/conandata.yml index 38803c2a64ad9..76d8f2a0a392d 100644 --- a/recipes/shield/all/conandata.yml +++ b/recipes/shield/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5": + url: "https://github.com/holoplot/shield/archive/0.5.tar.gz" + sha256: "f6494b1c95aeddb23fe507ab8da17234ecd7ca6aff97a92112e1e6459b343ff3" "0.4": url: "https://github.com/holoplot/shield/archive/0.4.tar.gz" sha256: "b93661c463b6a3af1900b9ea94bf0f75bc1bc6bd4d98b700cb29a62249fb6089" diff --git a/recipes/shield/config.yml b/recipes/shield/config.yml index b3c1faaf54b2b..ab08cd3e58a8c 100644 --- a/recipes/shield/config.yml +++ b/recipes/shield/config.yml @@ -1,4 +1,6 @@ versions: + "0.5": + folder: all "0.4": folder: all "0.3": From a21c74b3763e994c5ff39be3d9ea2099a79ba319 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 00:08:40 +0900 Subject: [PATCH 2635/4087] (#21216) hictk: update dependencies --- recipes/hictk/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index a654990739eee..1af6d90119f0c 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -40,14 +40,14 @@ def layout(self): def requirements(self): self.requires("bshoshany-thread-pool/3.5.0", transitive_headers=True) - self.requires("fast_float/5.2.0", transitive_headers=True) + self.requires("fast_float/5.3.0", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) self.requires("fmt/10.1.1", transitive_headers=True) self.requires("hdf5/1.14.1", transitive_headers=True) self.requires("highfive/2.7.1", transitive_headers=True) - self.requires("libdeflate/1.18", transitive_headers=True) - self.requires("parallel-hashmap/1.3.11", transitive_headers=True) + self.requires("libdeflate/1.19", transitive_headers=True) + self.requires("parallel-hashmap/1.37", transitive_headers=True) self.requires("span-lite/0.10.3", transitive_headers=True) self.requires("spdlog/1.12.0", transitive_headers=True) self.requires("xxhash/0.8.2", transitive_headers=True) From d513925b315f7dfed4a189ba2ff8dd923e306bc8 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Sat, 18 Nov 2023 17:11:11 +0100 Subject: [PATCH 2636/4087] (#21201) perfetto: Bump version: 39.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 1455ad80e4419..6d72ce39c85b1 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "39.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v39.0.tar.gz" + sha256: "241cbaddc9ff4e5d1de2d28497fef40b5510e9ca60808815bf4944d0d2f026db" "38.0": url: "https://github.com/google/perfetto/archive/refs/tags/v38.0.tar.gz" sha256: "92160b0fbeb8c4992cc0690d832dd923cee1dda466f3364ef4ed26a835e55e40" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 0ec522826b476..03c6316a5eb58 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "39.0": + folder: all "38.0": folder: all "37.0": From 5b8a9b996d725f63204e55d855392ad6b8968383 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 03:27:28 +0300 Subject: [PATCH 2637/4087] (#21224) rtmidi: bump libalsa --- recipes/rtmidi/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rtmidi/all/conanfile.py b/recipes/rtmidi/all/conanfile.py index ab614a8ee05fb..c7428d7707336 100644 --- a/recipes/rtmidi/all/conanfile.py +++ b/recipes/rtmidi/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): if self._with_alsa: - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") def build_requirements(self): self.tool_requires("cmake/[>=3.24 <4]") From 908aab927c4eca0852fff22c9b907e4912e58531 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 04:47:45 +0300 Subject: [PATCH 2638/4087] (#21225) openal-soft: bump libalsa --- recipes/openal-soft/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openal-soft/all/conanfile.py b/recipes/openal-soft/all/conanfile.py index 5401a9836e21a..83f92f752bca9 100644 --- a/recipes/openal-soft/all/conanfile.py +++ b/recipes/openal-soft/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): def requirements(self): if self.settings.os == "Linux": - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") def validate(self): if self._openal_cxx_backend: From 5ba5f9c6db4b4f7c5a21c5c5523727cac3b8c428 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 13:07:14 +0900 Subject: [PATCH 2639/4087] (#21232) s2n: add version 1.3.56 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index de2f57abb815c..8805728159ae7 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.56": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.56.tar.gz" + sha256: "5d7bab81357a564453bc453469b4ae02936f1f35225ad297b8d846d2ecdda521" "1.3.55": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.55.tar.gz" sha256: "3b4d51d08326757440a7a134dd4d73c904b700d64837aa7fec0aca908b70fd9b" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 794b8718cbfe9..541cd4177faf3 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.56": + folder: all "1.3.55": folder: all "1.3.52": From 3947495600fe2849a9de2518d18c48872cb62e7b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 10:07:38 +0300 Subject: [PATCH 2640/4087] (#21234) fontconfig: bump dependencies --- recipes/fontconfig/all/conanfile.py | 6 +++--- recipes/fontconfig/meson/conanfile.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index 1a6adb5ab1e22..ddc997bea245a 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -47,10 +47,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") def validate(self): if is_msvc(self): @@ -59,7 +59,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index ab15f87fd4486..550cc9984a1bb 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -49,14 +49,14 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") def build_requirements(self): self.tool_requires("gperf/3.1") - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") From 66383dd08cea496b4c0dae269f9d85415970c77a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 21:16:03 +0900 Subject: [PATCH 2641/4087] (#21243) stringzilla: add version 2.0.3 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index 99f4cab53f768..63892a4c139d3 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.3.tar.gz" + sha256: "6b52a7b4eb8383cbcf83608eaa08e5ba588a378449439b73584713a16d8920e3" "2.0.1": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.1.tar.gz" sha256: "804baa0ed8bb530de25390b21d5d51059644d5b1306364edf948c27157029793" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index 1c8c15b143b3d..bb807cfa42498 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: all "2.0.1": folder: all "1.2.2": From 286faeedfe2ae734d21b274fc4c7453d46394ca4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 21:07:55 +0300 Subject: [PATCH 2642/4087] (#21236) harfbuzz: bump dependencies --- recipes/harfbuzz/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index 29d9a1aea73ba..d4c8b382c09ed 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -76,11 +76,11 @@ def layout(self): def requirements(self): if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.with_icu: - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.1") def validate(self): if self.options.shared and self.options.with_glib and not self.dependencies["glib"].options.shared: @@ -96,7 +96,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") if self.options.with_glib: From 934aa4c004374a2fb65ba9300e1f02a12dce3d57 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 19 Nov 2023 23:07:56 +0200 Subject: [PATCH 2643/4087] (#21237) proj: bump sqlite3 dependency --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index f38fb9b497bc3..96746a5b96715 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.0") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_curl"): From b27b5cf7005abc004aa81e1735b851f400757358 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 10:47:25 +0900 Subject: [PATCH 2644/4087] (#21244) miniaudio: add version 0.11.21 --- recipes/miniaudio/all/conandata.yml | 3 +++ recipes/miniaudio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/miniaudio/all/conandata.yml b/recipes/miniaudio/all/conandata.yml index 44320f99355f1..061502ec47da0 100644 --- a/recipes/miniaudio/all/conandata.yml +++ b/recipes/miniaudio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.21": + url: "https://github.com/mackron/miniaudio/archive/0.11.21.tar.gz" + sha256: "6afb5c231613d2fab4f1c668b7243ff9a7d6d78a7f5a2692c133f026fe508506" "0.11.18": url: "https://github.com/mackron/miniaudio/archive/0.11.18.tar.gz" sha256: "85ca916266d809b39902e180a6d16f82caea9c2ea1cea6d374413641b7ba48c3" diff --git a/recipes/miniaudio/config.yml b/recipes/miniaudio/config.yml index 314177c344ff6..4db3fb9d24db2 100644 --- a/recipes/miniaudio/config.yml +++ b/recipes/miniaudio/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.21": + folder: all "0.11.18": folder: all "0.11.17": From ca820064a0bea7042b50f0b5a8c4d077ee11cb72 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 12:07:29 +0900 Subject: [PATCH 2645/4087] (#21251) aggeom-agg: update freetype/2.13.2 --- recipes/aggeom-agg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aggeom-agg/all/conanfile.py b/recipes/aggeom-agg/all/conanfile.py index 991d2d1af6b1e..de0179059224e 100644 --- a/recipes/aggeom-agg/all/conanfile.py +++ b/recipes/aggeom-agg/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): def requirements(self): if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.with_platform and self.settings.os in ["Linux"]: self.requires("xorg/system") From cd2af099a4667558088a86dbfdaa5885e49a7729 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 12:27:19 +0900 Subject: [PATCH 2646/4087] (#21250) pdfuim: update freetype/2.13.2 --- recipes/pdfium/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pdfium/all/conanfile.py b/recipes/pdfium/all/conanfile.py index a4c53251f460c..7a5488384bc9e 100644 --- a/recipes/pdfium/all/conanfile.py +++ b/recipes/pdfium/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("icu/74.1") self.requires("lcms/2.14") self.requires("openjpeg/2.5.0") From a1a290cc03ffc3e9e51c64604fa2a896b7a37587 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 14:47:38 +0900 Subject: [PATCH 2647/4087] (#21254) sfml: update freetype/2.13.2 --- recipes/sfml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 53306f385e8c4..c29aef0d78113 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("libudev/system") self.requires("xorg/system") if self.options.graphics: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("stb/cci.20230920") if self.options.audio: self.requires("flac/1.4.2") From 69163df6002a76e280efecf2eb5a2cff42af5e38 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 15:07:54 +0900 Subject: [PATCH 2648/4087] (#21256) sdl_ttf: update dependencies --- recipes/sdl_ttf/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sdl_ttf/all/conanfile.py b/recipes/sdl_ttf/all/conanfile.py index a1a255cd20f36..3fb325e526385 100644 --- a/recipes/sdl_ttf/all/conanfile.py +++ b/recipes/sdl_ttf/all/conanfile.py @@ -51,11 +51,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.2") # https://github.com/conan-io/conan-center-index/pull/18366#issuecomment-1625464996 self.requires("sdl/2.28.3", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_harfbuzz"): - self.requires("harfbuzz/6.0.0") + self.requires("harfbuzz/8.3.0") def validate(self): if Version(self.version).major != Version(self.dependencies["sdl"].ref.version).major: From 830715a1b5046aea1c3ba6dce8a24eec85dcf3d3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:27:48 +0300 Subject: [PATCH 2649/4087] (#21240) wayland: bump dependencies --- recipes/wayland/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index fd8bace1e9cb7..40f32dc534514 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") self.requires("expat/2.5.0") def validate(self): @@ -58,7 +58,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") if cross_building(self): From 3c9cb0cedb20fd45b5c4e7e53a4bdf1dcf563e1f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 20 Nov 2023 09:49:44 +0100 Subject: [PATCH 2650/4087] (#21258) meson 1.3.0 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index d3dbac49e9710..581541e8b30e4 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/mesonbuild/meson/releases/download/1.3.0/meson-1.3.0.tar.gz" + sha256: "4ba253ef60e454e23234696119cbafa082a0aead0bd3bbf6991295054795f5dc" "1.2.3": url: "https://github.com/mesonbuild/meson/releases/download/1.2.3/meson-1.2.3.tar.gz" sha256: "4533a43c34548edd1f63a276a42690fce15bde9409bcf20c4b8fa3d7e4d7cac1" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 5fe93c9a6d5cd..04538c604ee46 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.3": folder: all "1.2.2": From 297ca6bb1561c63425f426c8b17e9ccb0ffdfd6b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 19:08:26 +0900 Subject: [PATCH 2651/4087] (#21260) libxft: update freetype/2.13.2 --- recipes/libxft/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxft/all/conanfile.py b/recipes/libxft/all/conanfile.py index 43f3c70609f9f..fdb9b1a6c8663 100644 --- a/recipes/libxft/all/conanfile.py +++ b/recipes/libxft/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): def requirements(self): self.requires("xorg/system") - self.requires("freetype/2.13.0", transitive_headers=True) + self.requires("freetype/2.13.2", transitive_headers=True) self.requires("fontconfig/2.14.2", transitive_headers=True) def build_requirements(self): From 33c8f9932dd149fe9cfd52bea5b15b382c605a4d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 20:48:41 +0900 Subject: [PATCH 2652/4087] (#21174) aws-c-io: make aws-c-cal transitive_libs Co-authored-by: Uilian Ries --- recipes/aws-c-io/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 9f7b5e29793d0..36c3965b9abd8 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): self.requires("aws-c-cal/0.5.13") else: self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.9", transitive_headers=True) + self.requires("aws-c-cal/0.6.9", transitive_headers=True, transitive_libs=True) if self.settings.os in ["Linux", "FreeBSD", "Android"]: self.requires("s2n/1.3.55") From f2a66255bdf1fdb6358332a72154498cd419e615 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Mon, 20 Nov 2023 04:28:48 -0800 Subject: [PATCH 2653/4087] (#21248) Add kammce as reviewer for libhal recipe --- .github/workflows/alert-community.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index 17c21b9aa39f5..405926199ff5e 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -430,3 +430,8 @@ jobs: with: files: "recipes/zstd/*/*" reviewers: "@Hopobcn" + + - uses: ./.github/actions/alert-community + with: + files: "recipes/libhal/*/*" + reviewers: "@kammce" From 69d8bda9ffb05c6720eff8a8099c4f56210bd999 Mon Sep 17 00:00:00 2001 From: temap Date: Mon, 20 Nov 2023 14:48:16 +0200 Subject: [PATCH 2654/4087] (#21230) elfutils: Bump zlib requirement to [>=1.2.11 <2] --- recipes/elfutils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index 587120d32dbbb..eed1654a5e9c9 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: self.requires("sqlite3/3.44.0") if self.options.with_bzlib: From 29e5bcea659b5fa2c3f8fce3dd295828d339ea2d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 20 Nov 2023 17:48:24 +0300 Subject: [PATCH 2655/4087] (#21209) libyuv: add 1880 + remove shared option if msvc instead of raising * remove shared option if msvc instead of raising * bump libjpeg-turbo & mozjpeg * add libyuv/1880 --- recipes/libyuv/all/conandata.yml | 6 ++ recipes/libyuv/all/conanfile.py | 21 +++--- .../all/patches/1880-0001-fix-cmake.patch | 68 +++++++++++++++++++ recipes/libyuv/config.yml | 2 + 4 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 recipes/libyuv/all/patches/1880-0001-fix-cmake.patch diff --git a/recipes/libyuv/all/conandata.yml b/recipes/libyuv/all/conandata.yml index e839599c0c5fc..3b9b5764537d0 100644 --- a/recipes/libyuv/all/conandata.yml +++ b/recipes/libyuv/all/conandata.yml @@ -1,6 +1,8 @@ # Versions from LIBYUV_VERSION definition in include/libyuv/version.h # Pay attention to package commits incrementing this definition sources: + "1880": + url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/fb6341d326846fbbe669ad5173e520f66b339621.tar.gz" "1854": url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/3abd6f36b6e4f5a2e0ce236580a8bc1da3c7cf7e.tar.gz" "1845": @@ -10,6 +12,10 @@ sources: "1768": url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/dfaf7534e0e536f7e5ef8ddd7326797bd09b8622.tar.gz" patches: + "1880": + - patch_file: "patches/1880-0001-fix-cmake.patch" + patch_description: "Fix CMake to be more robust & predictable" + patch_type: "conan" "1854": - patch_file: "patches/1854-0001-fix-cmake.patch" patch_description: "Fix CMake to be more robust & predictable" diff --git a/recipes/libyuv/all/conanfile.py b/recipes/libyuv/all/conanfile.py index 4fea1b63b21f1..4d851737efc1b 100644 --- a/recipes/libyuv/all/conanfile.py +++ b/recipes/libyuv/all/conanfile.py @@ -1,5 +1,4 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.microsoft import is_msvc @@ -15,7 +14,7 @@ class LibyuvConan(ConanFile): description = "libyuv is an open source project that includes YUV scaling and conversion functionality." topics = ["YUV", "libyuv", "google", "chromium"] license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,7 +35,12 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if is_msvc(self): + # Only static for msvc + # Injecting CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not sufficient since there are global symbols + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): @@ -46,17 +50,12 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") - - def validate(self): - if is_msvc(self) and self.options.shared: - # Injecting CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not sufficient since there are global symbols - raise ConanInvalidConfiguration(f"{self.ref} shared not supported for msvc.") + self.requires("mozjpeg/4.1.3") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version]) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/libyuv/all/patches/1880-0001-fix-cmake.patch b/recipes/libyuv/all/patches/1880-0001-fix-cmake.patch new file mode 100644 index 0000000000000..b44803ec7ecf3 --- /dev/null +++ b/recipes/libyuv/all/patches/1880-0001-fix-cmake.patch @@ -0,0 +1,68 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,8 +2,8 @@ + # Originally created for "roxlu build system" to compile libyuv on windows + # Run with -DTEST=ON to build unit tests + ++CMAKE_MINIMUM_REQUIRED( VERSION 3.8 ) + PROJECT ( YUV C CXX ) # "C" is required even for C++ projects +-CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) + OPTION( UNIT_TEST "Built unit tests" OFF ) + + SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) +@@ -27,15 +27,10 @@ if(MSVC) + endif() + + # this creates the static library (.a) +-ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) ++ADD_LIBRARY ( ${ly_lib_static} ${ly_source_files} ) ++target_compile_features(${ly_lib_static} PUBLIC cxx_std_11) + + # this creates the shared library (.so) +-ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) +-SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) +-SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) +-if(WIN32) +- SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES IMPORT_PREFIX "lib" ) +-endif() + + # this creates the conversion tool + ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) +@@ -44,12 +39,18 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) + # this creates the yuvconstants tool + ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) + TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) ++include(CheckFunctionExists) ++check_function_exists(round HAVE_MATH_SYSTEM) ++if(NOT HAVE_MATH_SYSTEM) ++ target_link_libraries(yuvconstants m) ++endif() + +-find_package ( JPEG ) +-if (JPEG_FOUND) +- include_directories( ${JPEG_INCLUDE_DIR} ) +- target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} ) +- add_definitions( -DHAVE_JPEG ) ++option(LIBYUV_WITH_JPEG "Build libyuv with jpeg" ON) ++if (LIBYUV_WITH_JPEG) ++ find_package(JPEG REQUIRED) ++ target_link_libraries(${ly_lib_static} JPEG::JPEG ) ++ target_compile_definitions(${ly_lib_static} PRIVATE HAVE_JPEG) ++ target_compile_definitions(yuvconvert PRIVATE HAVE_JPEG) + endif() + + if(UNIT_TEST) +@@ -94,11 +95,9 @@ endif() + + + # install the conversion tool, .so, .a, and all the header files +-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS yuvconvert yuvconstants DESTINATION bin) ++INSTALL ( TARGETS ${ly_lib_static} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) + INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + + # create the .deb and .rpm packages using cpack +-INCLUDE ( CM_linux_packages.cmake ) + diff --git a/recipes/libyuv/config.yml b/recipes/libyuv/config.yml index c1f0cfd37130f..fe46d8f150b2c 100644 --- a/recipes/libyuv/config.yml +++ b/recipes/libyuv/config.yml @@ -1,4 +1,6 @@ versions: + "1880": + folder: all "1854": folder: all "1845": From 7673f0c816ccae861a2ba9eeb92de29064ca4745 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 20 Nov 2023 18:49:25 +0300 Subject: [PATCH 2656/4087] (#21217) fftw: fix typo in quad precision CMake option --- recipes/fftw/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fftw/all/conanfile.py b/recipes/fftw/all/conanfile.py index 72c620e240684..ef1e6d55efb6e 100644 --- a/recipes/fftw/all/conanfile.py +++ b/recipes/fftw/all/conanfile.py @@ -112,7 +112,7 @@ def on_off(value): variables = { "ENABLE_FLOAT": on_off(self._current_precision == SINGLE), "ENABLE_LONG_DOUBLE": on_off(self._current_precision == LONGDOUBLE), - "EENABLE_QUAD_PRECISION": on_off(self._current_precision == QUAD) + "ENABLE_QUAD_PRECISION": on_off(self._current_precision == QUAD) } cmake.configure(variables=variables) cmake.build() From 7d5bf48260f629176a8b1f53f06779273ded5aaa Mon Sep 17 00:00:00 2001 From: igormironchik Date: Mon, 20 Nov 2023 21:05:57 +0300 Subject: [PATCH 2657/4087] (#21269) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index dc1231d30c7ad..59870ccc4500d 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.3.tar.gz" + sha256: "31f6de553700b25e4ed8517bcde24bd43b18c3fda1260f968aa5c393a7491783" "2.2.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.2.tar.gz" sha256: "4d5a0f7ed250cbcb8a3a1f4244f8413ed854e538406c571e83ebccf709cff49e" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index abdfa70d5200d..291422959f744 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.3": + folder: all "2.2.2": folder: all "2.2.1": From c4e4e107a6c253ec9fb25bc60c2c6d44f1436c03 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 20 Nov 2023 19:28:50 +0100 Subject: [PATCH 2658/4087] (#21266) wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 40f32dc534514..7e341eb9914d7 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -58,7 +58,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") if cross_building(self): From 2fd99ebbdc629d4a53dcd0a01135840e6a244854 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 20 Nov 2023 22:29:16 +0100 Subject: [PATCH 2659/4087] (#21265) xkbcommon: bump libxml2 --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 73fdaedd84c66..0de07aab1e6af 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if not self._has_build_profile: From c68e4c99973cee80c74bbf84d40e233175e87213 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 21 Nov 2023 00:41:52 +0100 Subject: [PATCH 2660/4087] (#21284) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 4cb491771469d..415f49a1f1360 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -14,6 +14,7 @@ required_for_references: - ade - aeron - aggeom-agg +- ags - alac - alembic - alpaca @@ -129,6 +130,7 @@ required_for_references: - c-dbg-macro - c4core - caf +- cairomm - cajun-jsonapi - calceph - canary @@ -385,6 +387,7 @@ required_for_references: - frozen - frugally-deep - fruit +- ftjam - ftxui - function2 - functionalplus @@ -466,6 +469,7 @@ required_for_references: - hdrhistogram-c - heatshrink - hedley +- hexl - hffix - hictk - hidapi @@ -596,7 +600,9 @@ required_for_references: - libdc1394 - libde265 - libdeflate +- libdicom - libdisasm +- libdisplay-info - libdivide - libdmtx - libdrawille @@ -640,6 +646,7 @@ required_for_references: - libltc - liblzf - libmad +- libmagic - libmaxminddb - libmbus - libmediainfo @@ -720,6 +727,7 @@ required_for_references: - libudev - libunistring - libunwind +- liburing - libusb - libusb-compat - libuuid @@ -806,6 +814,7 @@ required_for_references: - mdns - mdnsresponder - mdspan +- mesa-glu - meshoptimizer - meson - metall @@ -831,6 +840,7 @@ required_for_references: - mio - mm_file - modern-cpp-kafka +- mold - moltenvk - mongo-c-driver - mongo-cxx-driver @@ -878,6 +888,7 @@ required_for_references: - nlohmann_json - nlopt - nmea +- nmos-cpp - nmslib - nng - nodejs @@ -895,6 +906,7 @@ required_for_references: - nv-codec-headers - nvtx - oatpp +- oatpp-postgresql - objectbox - objectbox-generator - observer-ptr-lite @@ -915,6 +927,7 @@ required_for_references: - onnx - onnxruntime - open-dis-cpp +- open-simulation-interface - open62541 - openal - openal-soft @@ -974,6 +987,7 @@ required_for_references: - pcre2 - pdf-writer - pdfgen +- pdfium - pdqsort - perf - perfetto @@ -1092,6 +1106,7 @@ required_for_references: - rmm - roaring - robin-hood-hashing +- rocksdb - rpclib - rply - rsync @@ -1120,6 +1135,7 @@ required_for_references: - sdf - sdl - sdl_image +- sdl_net - sdl_ttf - seadex-essentials - seasocks @@ -1149,6 +1165,7 @@ required_for_references: - skyr-url - sml - snappy +- snitch - snowhouse - so5extra - sobjectizer @@ -1226,6 +1243,7 @@ required_for_references: - termcap - termcolor - tesseract +- tgbot - tgc - thelink2012-any - threadpool From 87bc98bd3a353c8694b9a65d10e1297bd9a540cc Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 11:08:55 +0300 Subject: [PATCH 2661/4087] (#21275) libgeotiff: add package_type --- recipes/libgeotiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index 85af88ca0856c..8420d20d07e09 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -15,7 +15,7 @@ class LibgeotiffConan(ConanFile): topics = ("geotiff", "tiff") homepage = "https://github.com/OSGeo/libgeotiff" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], From 38556dbd5da8547f5e9bf8ad2e672d4ffd080a16 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 21 Nov 2023 17:49:50 +0900 Subject: [PATCH 2662/4087] (#21177) highfive: update dependencies * highfive: update dependencies * add condition for hdf5 --- recipes/highfive/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index 5a1f607f99989..c3667bcf95e14 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -36,13 +37,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hdf5/1.14.1") + if Version(self.version) < "2.5.1": + self.requires("hdf5/1.14.1") + else: + self.requires("hdf5/1.14.2") if self.options.with_boost: self.requires("boost/1.83.0") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.with_xtensor: - self.requires("xtensor/0.24.6") + self.requires("xtensor/0.24.7") if self.options.with_opencv: self.requires("opencv/4.5.5") From 764f1e3a06e55701c08661d11fd657767d96f46e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 21 Nov 2023 10:08:23 +0100 Subject: [PATCH 2663/4087] (#21185) protobuf: cleanup remove dead code and patches identified in https://github.com/conan-io/conan-center-index/issues/21163 and https://github.com/conan-io/conan-center-index/issues/21146 --- recipes/protobuf/all/conanfile.py | 14 +++----------- .../patches/upstream-pr-9153-msvc-runtime.patch | 15 --------------- 2 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index b83d4db6fde56..eb5f365e1eb56 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -48,18 +48,12 @@ def _is_clang_cl(self): def _is_clang_x86(self): return self.settings.compiler == "clang" and self.settings.arch == "x86" - @property - def _can_disable_rtti(self): - return Version(self.version) >= "3.15.4" - def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._can_disable_rtti: - del self.options.with_rtti def configure(self): if self.options.shared: @@ -79,7 +73,7 @@ def validate(self): check_min_vs(self, "190") if self.settings.compiler == "clang": - if Version(self.version) >= "3.15.4" and Version(self.settings.compiler.version) < "4": + if Version(self.settings.compiler.version) < "4": raise ConanInvalidConfiguration(f"{self.ref} doesn't support clang < 4") def source(self): @@ -97,10 +91,8 @@ def generate(self): tc.cache_variables["protobuf_BUILD_PROTOC_BINARIES"] = self.settings.os != "tvOS" if not self.options.debug_suffix: tc.cache_variables["protobuf_DEBUG_POSTFIX"] = "" - if Version(self.version) >= "3.14.0": - tc.cache_variables["protobuf_BUILD_LIBPROTOC"] = self.settings.os != "tvOS" - if self._can_disable_rtti: - tc.cache_variables["protobuf_DISABLE_RTTI"] = not self.options.with_rtti + tc.cache_variables["protobuf_BUILD_LIBPROTOC"] = self.settings.os != "tvOS" + tc.cache_variables["protobuf_DISABLE_RTTI"] = not self.options.with_rtti if is_msvc(self) or self._is_clang_cl: runtime = msvc_runtime_flag(self) if not runtime: diff --git a/recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch b/recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch deleted file mode 100644 index e55d642882aa3..0000000000000 --- a/recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch +++ /dev/null @@ -1,15 +0,0 @@ -upstream PR: https://github.com/protocolbuffers/protobuf/pull/9153 - ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -182,7 +182,9 @@ else (protobuf_BUILD_SHARED_LIBS) - # making programmatic control difficult. Prefer the functionality in newer - # CMake versions when available. - if(CMAKE_VERSION VERSION_GREATER 3.15 OR CMAKE_VERSION VERSION_EQUAL 3.15) -- set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$:Debug>) -+ if(protobuf_MSVC_STATIC_RUNTIME) -+ set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$:Debug>) -+ endif() - else() - # In case we are building static libraries, link also the runtime library statically - # so that MSVCR*.DLL is not required at runtime. From 1bd648eb56dcbe3c5c086105be02040a6c578652 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 21 Nov 2023 10:47:57 +0100 Subject: [PATCH 2664/4087] (#21186) redis-plus-plus: cleanup remove dead code and patches also, bump deps identified in https://github.com/conan-io/conan-center-index/issues/21163 and https://github.com/conan-io/conan-center-index/issues/21146 --- recipes/redis-plus-plus/all/conanfile.py | 13 ++-- .../1.2.1-0001-fix-hiredis-consumption.patch | 62 ------------------- .../1.2.1-0002-cmake-minimum-required.patch | 15 ----- 3 files changed, 4 insertions(+), 86 deletions(-) delete mode 100644 recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch delete mode 100644 recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch diff --git a/recipes/redis-plus-plus/all/conanfile.py b/recipes/redis-plus-plus/all/conanfile.py index 5895ab8dac984..d7fbaf589b20b 100644 --- a/recipes/redis-plus-plus/all/conanfile.py +++ b/recipes/redis-plus-plus/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os @@ -64,9 +64,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hiredis/1.1.0", transitive_headers=True, transitive_libs=True) + self.requires("hiredis/1.2.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("build_async"): - self.requires("libuv/1.46.0") + self.requires("libuv/1.47.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -97,18 +97,13 @@ def generate(self): tc.variables["REDIS_PLUS_PLUS_BUILD_TEST"] = False tc.variables["REDIS_PLUS_PLUS_BUILD_STATIC"] = not self.options.shared tc.variables["REDIS_PLUS_PLUS_BUILD_SHARED"] = self.options.shared - if Version(self.version) >= "1.2.3": - tc.variables["REDIS_PLUS_PLUS_BUILD_STATIC_WITH_PIC"] = self.options.shared + tc.variables["REDIS_PLUS_PLUS_BUILD_STATIC_WITH_PIC"] = self.options.shared tc.generate() deps = CMakeDeps(self) deps.generate() def _patch_sources(self): apply_conandata_patches(self) - if Version(self.version) < "1.2.3": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "set_target_properties(${STATIC_LIB} PROPERTIES POSITION_INDEPENDENT_CODE ON)", - "") def build(self): self._patch_sources() diff --git a/recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch b/recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch deleted file mode 100644 index de2b4ddbe2f80..0000000000000 --- a/recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,6 +29,7 @@ if (REDIS_PLUS_PLUS_USE_TLS) - message(STATUS "Build with TLS support") - - set(TLS_SUB_DIR "${PROJECT_SOURCE_DIR}/tls") -+ find_package(hiredis REQUIRED hiredis_ssl CONFIG) - else() - set(TLS_SUB_DIR "${PROJECT_SOURCE_DIR}/no_tls") - endif() -@@ -36,8 +37,7 @@ endif() - file(GLOB TLS_SOURCE_FILES "${TLS_SUB_DIR}/*.cpp") - - # hiredis dependency --find_path(HIREDIS_HEADER hiredis) --find_library(HIREDIS_LIB hiredis) -+find_package(hiredis REQUIRED hiredis CONFIG) - - # Build static library - option(REDIS_PLUS_PLUS_BUILD_STATIC "Build static library" ON) -@@ -48,7 +48,7 @@ if (REDIS_PLUS_PLUS_BUILD_STATIC) - add_library(${STATIC_LIB} STATIC ${PROJECT_SOURCE_FILES} ${TLS_SOURCE_FILES}) - - target_include_directories(${STATIC_LIB} PUBLIC ${PROJECT_SOURCE_DIR} ${TLS_SUB_DIR}) -- target_include_directories(${STATIC_LIB} PUBLIC ${HIREDIS_HEADER}) -+ target_link_libraries(${STATIC_LIB} PUBLIC hiredis::hiredis) - - if (WIN32) - target_compile_definitions(${STATIC_LIB} PRIVATE NOMINMAX) -@@ -58,6 +58,10 @@ if (REDIS_PLUS_PLUS_BUILD_STATIC) - set_target_properties(${STATIC_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) - endif() - -+ if (REDIS_PLUS_PLUS_USE_TLS) -+ target_link_libraries(${STATIC_LIB} PUBLIC hiredis::hiredis_ssl) -+ endif() -+ - set_target_properties(${STATIC_LIB} PROPERTIES CLEAN_DIRECT_OUTPUT 1) - set_target_properties(${STATIC_LIB} PROPERTIES POSITION_INDEPENDENT_CODE ON) - endif() -@@ -71,7 +75,7 @@ if (REDIS_PLUS_PLUS_BUILD_SHARED) - add_library(${SHARED_LIB} SHARED ${PROJECT_SOURCE_FILES} ${TLS_SOURCE_FILES}) - - target_include_directories(${SHARED_LIB} PUBLIC ${PROJECT_SOURCE_DIR} ${TLS_SUB_DIR}) -- target_include_directories(${SHARED_LIB} PUBLIC ${HIREDIS_HEADER}) -+ target_link_libraries(${SHARED_LIB} PUBLIC hiredis::hiredis) - - if (WIN32) - target_compile_definitions(${SHARED_LIB} PRIVATE NOMINMAX) -@@ -79,11 +83,9 @@ if (REDIS_PLUS_PLUS_BUILD_SHARED) - set_target_properties(${SHARED_LIB} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) - endif() - -- target_link_libraries(${SHARED_LIB} ${HIREDIS_LIB}) - - if (REDIS_PLUS_PLUS_USE_TLS) -- find_library(HIREDIS_TLS_LIB hiredis_ssl) -- target_link_libraries(${SHARED_LIB} ${HIREDIS_TLS_LIB}) -+ target_link_libraries(${SHARED_LIB} PUBLIC hiredis::hiredis_ssl) - endif() - - set_target_properties(${SHARED_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) diff --git a/recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch b/recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch deleted file mode 100644 index d00f3b331f4ab..0000000000000 --- a/recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,10 +1,10 @@ --project(redis++) - - if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - cmake_minimum_required(VERSION 3.0.0) - else() -- cmake_minimum_required(VERSION 2.8.0) -+ cmake_minimum_required(VERSION 3.0.0) - endif() -+project(redis++) - - if (NOT DEFINED REDIS_PLUS_PLUS_CXX_STANDARD) - set(REDIS_PLUS_PLUS_CXX_STANDARD 11) From f3394226c2ff9ba8d13cde1e6d90c3a31663a2b0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 12:27:35 +0200 Subject: [PATCH 2665/4087] (#21189) ccfits: use a more accurate license identifier --- recipes/ccfits/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ccfits/all/conanfile.py b/recipes/ccfits/all/conanfile.py index d767889c1ed3b..ddf9d5732efd3 100644 --- a/recipes/ccfits/all/conanfile.py +++ b/recipes/ccfits/all/conanfile.py @@ -11,7 +11,7 @@ class CcfitsConan(ConanFile): name = "ccfits" description = "CCfits is an object oriented interface to the cfitsio library." - license = "ISC" + license = "CFITSIO" topics = ("fits", "image", "nasa", "astronomy", "astrophysics", "space") homepage = "https://heasarc.gsfc.nasa.gov/fitsio/ccfits" url = "https://github.com/conan-io/conan-center-index" From c2239e211a5134ff43c165092ebe6b67c9ababf1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 12:46:59 +0200 Subject: [PATCH 2666/4087] (#21190) fltk: use a more accurate license identifier * fltk: use a more accurate license identifier * Replace deprecated license ID Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams --- recipes/fltk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 476a0b8ff9627..4b4a216b2a0e2 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -11,7 +11,7 @@ class FltkConan(ConanFile): name = "fltk" description = "Fast Light Toolkit is a cross-platform C++ GUI toolkit" - license = "LGPL-2.0-custom" + license = "LGPL-2.1-or-later WITH FLTK-exception" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.fltk.org" topics = ("gui",) From f73e574f73e8238cc5a37b461c7eee8bd21893c2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 13:07:51 +0200 Subject: [PATCH 2667/4087] (#21194) libselinux: use a more specific license identifier --- recipes/libselinux/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libselinux/all/conanfile.py b/recipes/libselinux/all/conanfile.py index eb1d902d82d02..11d688ce34c15 100644 --- a/recipes/libselinux/all/conanfile.py +++ b/recipes/libselinux/all/conanfile.py @@ -24,7 +24,7 @@ class LibSELinuxConan(ConanFile): license = ( # https://github.com/SELinuxProject/selinux/blob/main/libselinux/LICENSE # For the libselinux component: public domain with a limited liability clause - "LicenseRef-LICENSE-libselinux", + "libselinux-1.0", # https://github.com/SELinuxProject/selinux/blob/main/libsepol/LICENSE # For the libsepol component: LGPL-2.1 "LGPL-2.1-or-later", From 0476139302da6bb7f7c83eb290eedc782ba61b27 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 13:29:08 +0200 Subject: [PATCH 2668/4087] (#21195) openjdk: use a more specific license identifier --- recipes/openjdk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openjdk/all/conanfile.py b/recipes/openjdk/all/conanfile.py index b9d462756f800..becd2ce7c641c 100644 --- a/recipes/openjdk/all/conanfile.py +++ b/recipes/openjdk/all/conanfile.py @@ -13,7 +13,7 @@ class OpenJDK(ConanFile): url = "https://github.com/conan-io/conan-center-index/" description = "Java Development Kit builds, from Oracle" homepage = "https://jdk.java.net" - license = "GPL-2.0-with-classpath-exception" + license = "GPL-2.0-only WITH Classpath-exception-2.0", "GPL-2.0-only WITH OpenJDK-assembly-exception-1.0" topics = ("java", "jdk", "openjdk") settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 83d6655997920f608c7e391d781947d4cd2d361f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 14:47:50 +0300 Subject: [PATCH 2669/4087] (#21226) libsixel: use version range for libcurl * use version range for libcurl * bump meson --- recipes/libsixel/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libsixel/all/conanfile.py b/recipes/libsixel/all/conanfile.py index 182d8500c1d8a..941e12b139215 100644 --- a/recipes/libsixel/all/conanfile.py +++ b/recipes/libsixel/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): def requirements(self): if self.options.with_curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_gd: self.requires("libgd/2.3.3") if self.options.with_gdk_pixbuf2: @@ -75,7 +75,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") From a8e11a52b1110e9a30048a03d65d3c585b3f95c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:07:29 +0300 Subject: [PATCH 2670/4087] (#21228) imutils-cpp: use version range for libcurl + bump opencv * bump opencv * use version range for libcurl --- recipes/imutils-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/imutils-cpp/all/conanfile.py b/recipes/imutils-cpp/all/conanfile.py index f542311be0b20..d9f313c9e9b84 100644 --- a/recipes/imutils-cpp/all/conanfile.py +++ b/recipes/imutils-cpp/all/conanfile.py @@ -56,8 +56,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("opencv/4.5.5", transitive_headers=True, transitive_libs=True) - self.requires("libcurl/8.2.1") + self.requires("opencv/4.8.1", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/[>=7.78.0 <9]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From ebc56d7326584926f784c701946f872b65da5164 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:27:49 +0300 Subject: [PATCH 2671/4087] (#21229) prometheus-cpp: use version range for libcurl + add package_type * use version range for libcurl * add package_type --- recipes/prometheus-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index ad2bd633fa595..10a8edf3a1e5e 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -17,7 +17,7 @@ class PrometheusCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jupp0r/prometheus-cpp" topics = ("metrics", "prometheus", "networking") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,7 +66,7 @@ def requirements(self): if self.options.with_pull: self.requires("civetweb/1.16") if self.options.with_push: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("with_compression"): self.requires("zlib/[>=1.2.11 <2]") From e8d411bd8a8904d4c7bade63379f8c66ff5265bb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 21 Nov 2023 14:09:39 +0100 Subject: [PATCH 2672/4087] (#21263) qt6: fix QuickTest declaration * qt6: fix cppstd fixes https://github.com/conan-io/conan-center-index/issues/20921 * enable cross-compilation * Update conanfile.py * re-disable cross compilation * qt6: fix QuickTest declaration It requires `Quick`, as the name suggests see also https://github.com/qt/qtdeclarative/blob/v6.6.0/src/qmltest/CMakeLists.txt#L44 * add all *Extras.cmake files to modules * bump freetype --- recipes/qt/6.x.x/conanfile.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index aee4e88a1d5de..c2c05cdf445ec 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -326,7 +326,7 @@ def requirements(self): if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): @@ -575,6 +575,8 @@ def generate(self): self.output.warning(f"host not supported: {self.settings.os} {self.settings.compiler} {self.settings.compiler.version} {self.settings.arch}") if self.options.cross_compile: tc.variables["QT_QMAKE_DEVICE_OPTIONS"] = f"CROSS_COMPILE={self.options.cross_compile}" + if cross_building(self): + tc.variables["QT_HOST_PATH"] = self.dependencies.direct_build["qt"].package_folder tc.variables["FEATURE_pkg_config"] = "ON" if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and not self.options.shared: @@ -589,12 +591,17 @@ def generate(self): current_cpp_std = self.settings.get_safe("compiler.cppstd", default_cppstd(self)) current_cpp_std = str(current_cpp_std).replace("gnu", "") cpp_std_map = { - "20": "FEATURE_cxx20" + 11: "FEATURE_cxx11", + 14: "FEATURE_cxx14", + 17: "FEATURE_cxx17", + 20: "FEATURE_cxx20" } if Version(self.version) >= "6.5.0": - cpp_std_map["23"] = "FEATURE_cxx2b" + cpp_std_map[23] = "FEATURE_cxx2b" + + for std,feature in cpp_std_map.items(): + tc.variables[feature] = "ON" if int(current_cpp_std) >= std else "OFF" - tc.variables[cpp_std_map.get(current_cpp_std, "FEATURE_cxx17")] = "ON" tc.variables["QT_USE_VCPKG"] = False tc.cache_variables["QT_USE_VCPKG"] = False @@ -1120,8 +1127,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.widgets: _create_module("QuickWidgets", ["Gui", "Qml", "Quick", "Widgets"]) _create_module("QuickShapes", ["Gui", "Qml", "Quick"]) + _create_module("QuickTest", ["Test", "Quick"]) _create_module("QmlWorkerScript", ["Qml"]) - _create_module("QuickTest", ["Test"]) if self.options.qttools and self.options.gui and self.options.widgets: self.cpp_info.components["qtLinguistTools"].set_property("cmake_target_name", "Qt6::LinguistTools") @@ -1359,10 +1366,15 @@ def _create_plugin(pluginname, libname, plugintype, requires): _add_build_module("qtCore", self._cmake_entry_point_file) for m in os.listdir(os.path.join("lib", "cmake")): - module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") component_name = m.replace("Qt6", "qt") if component_name == "qt": component_name = "qtCore" + + module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") + if os.path.isfile(module): + _add_build_module(component_name, module) + + module = os.path.join("lib", "cmake", m, f"{m}ConfigExtras.cmake") if os.path.isfile(module): _add_build_module(component_name, module) @@ -1398,6 +1410,4 @@ def _add_build_modules_for_component(component): for c in self.cpp_info.components: _add_build_modules_for_component(c) - build_modules_list.append(os.path.join(self.package_folder, "lib", "cmake", "Qt6Core", "Qt6CoreConfigExtras.cmake")) - self.cpp_info.set_property("cmake_build_modules", build_modules_list) From 587f411ccb637bff348132f5f9a319bafde26bed Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 21 Nov 2023 22:27:51 +0900 Subject: [PATCH 2673/4087] (#21273) lodepng: add version cci.20230410 --- recipes/lodepng/all/conandata.yml | 3 +++ recipes/lodepng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lodepng/all/conandata.yml b/recipes/lodepng/all/conandata.yml index bc34ea30306f5..c67c30a9939fd 100644 --- a/recipes/lodepng/all/conandata.yml +++ b/recipes/lodepng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230410": + url: "https://github.com/lvandeve/lodepng/archive/c18b949b71f45e78b1f9a28c5d458bce0da505d6.tar.gz" + sha256: "915d1bf834e67632b87bd18c932e6041ed0ca46a7e3493f5e3290980092cf2d9" "cci.20200615": url: "https://github.com/lvandeve/lodepng/archive/34628e89e80cd007179b25b0b2695e6af0f57fac.tar.gz" sha256: "486ece0b661e83e509f1c6c9a05ca8dd1dd0008eec47d2aad9359e3609ab44a9" diff --git a/recipes/lodepng/config.yml b/recipes/lodepng/config.yml index 4b29d9b93e715..7d5d008d1120b 100644 --- a/recipes/lodepng/config.yml +++ b/recipes/lodepng/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230410": + folder: all "cci.20200615": folder: all From 4af83b3ca5df6cc006d168c9e8eac9d4c56b71f2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 16:48:10 +0300 Subject: [PATCH 2674/4087] (#21277) entt: add package_type --- recipes/entt/3.x.x/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/entt/3.x.x/conanfile.py b/recipes/entt/3.x.x/conanfile.py index bcce48c1ce46c..3247530d794dc 100644 --- a/recipes/entt/3.x.x/conanfile.py +++ b/recipes/entt/3.x.x/conanfile.py @@ -15,6 +15,7 @@ class EnttConan(ConanFile): homepage = "https://github.com/skypjack/entt" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -41,7 +42,6 @@ def package_id(self): self.info.clear() def validate(self): - # TODO: use self.info.settings in validate() instead of self.settings if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -58,8 +58,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) From 209e89b0166ac6fc08bd8174e0d8a9e93ac8d7ad Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:08:39 +0300 Subject: [PATCH 2675/4087] (#21278) glm: add package_type --- recipes/glm/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/glm/all/conanfile.py b/recipes/glm/all/conanfile.py index b86499dcc4c3d..468e10f82d8df 100644 --- a/recipes/glm/all/conanfile.py +++ b/recipes/glm/all/conanfile.py @@ -14,6 +14,7 @@ class GlmConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/g-truc/glm" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 9dd858cb7b6fd955cc98ec65a14d0892cc895211 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:28:25 +0300 Subject: [PATCH 2676/4087] (#21279) jwasm: add package_type & modernize more --- recipes/jwasm/all/conanfile.py | 37 ++++++++++++---------------------- 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/recipes/jwasm/all/conanfile.py b/recipes/jwasm/all/conanfile.py index 682db91532894..fb10aeba03ec3 100644 --- a/recipes/jwasm/all/conanfile.py +++ b/recipes/jwasm/all/conanfile.py @@ -1,44 +1,36 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get import os -required_conan_version = ">=1.46.0" +required_conan_version = ">=1.53.0" class JwasmConan(ConanFile): name = "jwasm" description = "JWasm is intended to be a free Masm-compatible assembler." license = "Watcom-1.0" - topics = ("jwasm", "masm", "assembler") + topics = ("masm", "assembler") homepage = "https://github.com/JWasm/JWasm" url = "https://github.com/conan-io/conan-center-index" - + package_type = "application" settings = "os", "arch", "compiler", "build_type" def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def configure(self): - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass - - def package_id(self): - del self.info.settings.compiler + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") + def package_id(self): + del self.info.settings.compiler + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -56,11 +48,8 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.frameworkdirs = [] self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") - self.env_info.PATH.append(bin_path) + # TODO: to remove once conan v1 support dropped + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From 33385904c200e9e18b76acdb1ff341bb32908063 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:50:29 +0300 Subject: [PATCH 2677/4087] (#21280) nlohmann_json: add package_type --- recipes/nlohmann_json/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/nlohmann_json/all/conanfile.py b/recipes/nlohmann_json/all/conanfile.py index 83bc77059e036..98eaf15380fff 100644 --- a/recipes/nlohmann_json/all/conanfile.py +++ b/recipes/nlohmann_json/all/conanfile.py @@ -14,6 +14,7 @@ class NlohmannJsonConan(ConanFile): topics = "json", "header-only" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -32,8 +33,7 @@ def validate(self): check_min_cppstd(self, self._minimum_cpp_standard) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): pass From 51fba871e8341d6dcbe65e8b1a1002a218731d60 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 18:09:29 +0300 Subject: [PATCH 2678/4087] (#21281) spirv-headers: add package_type --- recipes/spirv-headers/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/spirv-headers/all/conanfile.py b/recipes/spirv-headers/all/conanfile.py index 852af3d493684..854ef17328263 100644 --- a/recipes/spirv-headers/all/conanfile.py +++ b/recipes/spirv-headers/all/conanfile.py @@ -13,6 +13,7 @@ class SpirvheadersConan(ConanFile): license = "MIT-KhronosGroup" topics = ("spirv", "spirv-v", "vulkan", "opengl", "opencl", "khronos") url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" def layout(self): @@ -22,8 +23,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 0b2d635b746cc108719dbd60f8d638e08c095c1a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 18:30:59 +0300 Subject: [PATCH 2679/4087] (#21285) stb: add package_type + fix package id * add package_type * fix package id * typo --- recipes/stb/all/conanfile.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/stb/all/conanfile.py b/recipes/stb/all/conanfile.py index 540bdbac942b9..7c777ca96ad4c 100644 --- a/recipes/stb/all/conanfile.py +++ b/recipes/stb/all/conanfile.py @@ -14,9 +14,9 @@ class StbConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nothings/stb" license = ("Unlicense", "MIT") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - options = { "with_deprecated": [True, False], } @@ -39,11 +39,17 @@ def layout(self): basic_layout(self, src_folder="src") def package_id(self): - self.info.clear() + # Can't call self.info.clear() because options contribute to package id + self.info.settings.clear() + self.info.requires.clear() + try: + # conan v2 specific + self.info.conf.clear() + except AttributeError: + pass def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 33ad9746433d2e5c71fe0c35820c269df87d7975 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 01:08:52 +0900 Subject: [PATCH 2680/4087] (#21287) cairo: update dependencies --- recipes/cairo/meson/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 5246b94916751..76c7813fd5b69 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -85,7 +85,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("pixman/0.40.0") + self.requires("pixman/0.42.2") if self.options.with_zlib and self.options.with_png: self.requires("expat/2.5.0") if self.options.with_lzo: @@ -93,13 +93,13 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_freetype: - self.requires("freetype/2.13.0", transitive_headers=True, transitive_libs=True) + self.requires("freetype/2.13.2", transitive_headers=True, transitive_libs=True) if self.options.with_fontconfig: self.requires("fontconfig/2.14.2", transitive_headers=True, transitive_libs=True) if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.1") if self.settings.os in ["Linux", "FreeBSD"]: if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system", transitive_headers=True, transitive_libs=True) @@ -127,7 +127,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") From 8d6e4eb9858e781d752ff85adcbbcb6319e1dfa0 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 01:30:46 +0900 Subject: [PATCH 2681/4087] (#21289) ada: add version 2.7.4 --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 58db4c867f55a..e07ea43a3e678 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.4": + url: "https://github.com/ada-url/ada/archive/v2.7.4.tar.gz" + sha256: "897942ba8c99153f916c25698a49604022f3e54441cfa9b76f657ad15b6ca041" "2.7.3": url: "https://github.com/ada-url/ada/archive/v2.7.3.tar.gz" sha256: "8e222d536d237269488f7d454544eedf12847f47b3d42651e8c9963c3fb0cf5e" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 2ef669e41a802..e97d7f2aa5a29 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.4": + folder: all "2.7.3": folder: all "2.7.2": From 16f7b6097c325e06ec1551fa4170c9f05665d408 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 01:49:04 +0900 Subject: [PATCH 2682/4087] (#21294) c-ares: add version 1.22.1 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 8a35305c85a73..71897bd8283d0 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.22.1": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_1/c-ares-1.22.1.tar.gz" + sha256: "f67c180deb799c670d9dda995a18ce06f6c7320b6c6363ff8fa85b77d0da9db8" "1.22.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_0/c-ares-1.22.0.tar.gz" sha256: "ad2e205088083317147c9f9eab5f24b82c3d50927c381a7c963deeb1182dbc21" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 8554b774a5c3a..fcaa857492587 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.22.1": + folder: all "1.22.0": folder: all "1.21.0": From 5b9745fa92eedbc9394e9922323f1338443b1f6f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 02:09:31 +0900 Subject: [PATCH 2683/4087] (#21295) quill: add version 3.4.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 7582dc1978f3c..aebded6d0ed89 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.1": + url: "https://github.com/odygrd/quill/archive/v3.4.1.tar.gz" + sha256: "99f6497b8ba37c30c871fab89f14cd7bc989f3eaa921ccd940a521ee60a6a1c5" "3.4.0": url: "https://github.com/odygrd/quill/archive/v3.4.0.tar.gz" sha256: "16a6cfadc288953f07d128bb51e8ebd4ca6bb8ce4175b5a8af53ce7dde324d8d" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 5b6996c9d6283..085eaabd5901d 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.1": + folder: "all" "3.4.0": folder: "all" "3.3.1": From da5d617fc86ceee1840ffbfb2f2a47cfdf3a34b1 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Tue, 21 Nov 2023 18:27:49 +0100 Subject: [PATCH 2684/4087] (#21300) [emsdk] bump to 3.1.49 --- recipes/emsdk/all/conandata.yml | 3 +++ recipes/emsdk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index 03d78ede4c0b8..e702ac23683fc 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.49": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.49.tar.gz" + sha256: "c99d98da9241c7e72784bc764a3e60a65d8f27202d45f3cd422b2ac7245380d9" "3.1.48": url: "https://github.com/emscripten-core/emsdk/archive/3.1.48.tar.gz" sha256: "94b965ba8f2ff0949ff67c6943bf5638a1b8850e4491a25413cdaff5b18da42b" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index 663ad23c939e1..cc4300b7acb96 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.49": + folder: all "3.1.48": folder: all "3.1.47": From 35a87b183016474de2ad838c57e59fb479c86353 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 02:47:40 +0900 Subject: [PATCH 2685/4087] (#21301) ktx: update lodepng --- recipes/ktx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ktx/all/conanfile.py b/recipes/ktx/all/conanfile.py index 872df15047bc5..5d9cc3ea68050 100644 --- a/recipes/ktx/all/conanfile.py +++ b/recipes/ktx/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("lodepng/cci.20200615") + self.requires("lodepng/cci.20230410") self.requires("zstd/1.5.5") def validate(self): From 24b5c223cf07208044a8d556aee51789f0479bbf Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 22:28:29 +0300 Subject: [PATCH 2686/4087] (#21276) trantor: remove legacy output.warn in order to properly support conan v2 + bump c-ares * remove legacy conan v1 output.warn * bump c-ares --- recipes/trantor/all/conanfile.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 6445f7c107ca0..3345447fe2f12 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -61,18 +61,17 @@ def layout(self): def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_c_ares: - self.requires("c-ares/1.19.1") + self.requires("c-ares/1.22.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version: - if Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") - else: - self.output.warn(f"{self.ref} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") + if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) # TODO: Compilation succeeds, but execution of test_package fails on Visual Studio with MDd if is_msvc(self) and self.options.shared and "MDd" in msvc_runtime_flag(self): From 546b5008a3cc3ba8047fe31e1ddfa564baede980 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 05:07:56 +0900 Subject: [PATCH 2687/4087] (#21288) libgd: update freetype/2.13.2, add patch for freetype --- recipes/libgd/all/conandata.yml | 15 +++++++++++++++ recipes/libgd/all/conanfile.py | 2 +- recipes/libgd/all/patches/2.2.5-use-cci.patch | 13 +++++++++++++ recipes/libgd/all/patches/2.3.0-use-cci.patch | 13 +++++++++++++ recipes/libgd/all/patches/2.3.2-use-cci.patch | 13 +++++++++++++ recipes/libgd/all/patches/2.3.3-use-cci.patch | 13 +++++++++++++ 6 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 recipes/libgd/all/patches/2.2.5-use-cci.patch create mode 100644 recipes/libgd/all/patches/2.3.0-use-cci.patch create mode 100644 recipes/libgd/all/patches/2.3.2-use-cci.patch create mode 100644 recipes/libgd/all/patches/2.3.3-use-cci.patch diff --git a/recipes/libgd/all/conandata.yml b/recipes/libgd/all/conandata.yml index e4acad43d15b2..f0b126888eb32 100644 --- a/recipes/libgd/all/conandata.yml +++ b/recipes/libgd/all/conandata.yml @@ -22,6 +22,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" + - patch_file: "patches/2.3.3-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.3.2": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -32,6 +35,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" + - patch_file: "patches/2.3.2-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.3.1": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -42,6 +48,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" + - patch_file: "patches/2.3.0-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.3.0": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -52,6 +61,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "conan" + - patch_file: "patches/2.3.0-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.2.5": - patch_file: "patches/2.2.5-msvc-static-lib.patch" patch_description: "support static build on msvc" @@ -59,3 +71,6 @@ patches: - patch_file: "patches/2.2.5-qualify-nondll.patch" patch_description: "use BGD_NONDLL instead NONDLL" patch_type: "conan" + - patch_file: "patches/2.2.5-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 5776782b6abbc..5de7e7911d0ed 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): if self.options.with_tiff: self.requires("libtiff/4.6.0") if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/libgd/all/patches/2.2.5-use-cci.patch b/recipes/libgd/all/patches/2.2.5-use-cci.patch new file mode 100644 index 0000000000000..7a3609a12620d --- /dev/null +++ b/recipes/libgd/all/patches/2.2.5-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5b764eb..c411860 100755 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -110,7 +110,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} diff --git a/recipes/libgd/all/patches/2.3.0-use-cci.patch b/recipes/libgd/all/patches/2.3.0-use-cci.patch new file mode 100644 index 0000000000000..cdb3bfc14381a --- /dev/null +++ b/recipes/libgd/all/patches/2.3.0-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e1f8eda..aa06600 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,7 +125,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} diff --git a/recipes/libgd/all/patches/2.3.2-use-cci.patch b/recipes/libgd/all/patches/2.3.2-use-cci.patch new file mode 100644 index 0000000000000..489c66beb6236 --- /dev/null +++ b/recipes/libgd/all/patches/2.3.2-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1d1be42..447458f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -122,7 +122,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} diff --git a/recipes/libgd/all/patches/2.3.3-use-cci.patch b/recipes/libgd/all/patches/2.3.3-use-cci.patch new file mode 100644 index 0000000000000..4a067840ce98f --- /dev/null +++ b/recipes/libgd/all/patches/2.3.3-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3b271a8..2ee5ef9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -102,7 +102,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} From 1a23f83199b8590211d6e81698eb0a47659e2c0c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 22 Nov 2023 11:27:32 +0300 Subject: [PATCH 2688/4087] (#21180) wt: fix `*_PREFIX` variables passed to CMakeToolchain + bump sqlite3 * fix several paths passed to *_PREFIX variables * bump sqlite3 --- recipes/wt/all/conanfile.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 1e23253caacc0..50a93cf1536b8 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -103,7 +103,7 @@ def requirements(self): if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.43.0") + self.requires("sqlite3/3.44.0") if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): @@ -157,7 +157,7 @@ def _get_library_prefix(self): return "" if self.settings.os == "Windows" else "lib" def _cmakify_path_list(self, paths): - return ";".join(paths).replace("\\", "/") + return ";".join([p.replace("\\", "/") for p in paths]) def _find_library(self, libname, dep): for path in self.dependencies[dep].cpp_info.aggregated_components().libdirs: @@ -201,16 +201,16 @@ def generate(self): # FIXME: all this logic coming from upstream custom find module files seems fragile, to improve later ! # we can't even inject cmake_find_package generator, it breaks the all upstream logic - tc.variables["BOOST_PREFIX"] = self._cmakify_path_list(self.dependencies["boost"].package_folder) + tc.variables["BOOST_PREFIX"] = self._cmakify_path_list([self.dependencies["boost"].package_folder]) if self.options.connector_http: - tc.variables["ZLIB_PREFIX"] = self._cmakify_path_list(self.dependencies["zlib"].package_folder) + tc.variables["ZLIB_PREFIX"] = self._cmakify_path_list([self.dependencies["zlib"].package_folder]) if self.options.with_ssl: - tc.variables["SSL_PREFIX"] = self._cmakify_path_list(self.dependencies["openssl"].package_folder) + tc.variables["SSL_PREFIX"] = self._cmakify_path_list([self.dependencies["openssl"].package_folder]) tc.variables["OPENSSL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("openssl")) tc.variables["OPENSSL_INCLUDE_DIR"] = self._cmakify_path_list(self.dependencies["openssl"].cpp_info.aggregated_components().includedirs) tc.variables["OPENSSL_FOUND"] = True if self.options.get_safe("with_sqlite"): - tc.variables["SQLITE3_PREFIX"] = self._cmakify_path_list(self.dependencies["sqlite3"].package_folder) + tc.variables["SQLITE3_PREFIX"] = self._cmakify_path_list([self.dependencies["sqlite3"].package_folder]) if self.options.get_safe("with_mysql"): tc.variables["MYSQL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libmysqlclient")) libmysqlclient_cppinfo = self.dependencies["libmysqlclient"].cpp_info.aggregated_components() @@ -218,17 +218,17 @@ def generate(self): tc.variables["MYSQL_DEFINITIONS"] = ";".join(f"-D{d}" for d in libmysqlclient_cppinfo.defines) tc.variables["MYSQL_FOUND"] = True if self.options.get_safe("with_postgres"): - tc.variables["POSTGRES_PREFIX"] = self._cmakify_path_list(self.dependencies["libpq"].package_folder) + tc.variables["POSTGRES_PREFIX"] = self._cmakify_path_list([self.dependencies["libpq"].package_folder]) tc.variables["POSTGRES_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libpq")) tc.variables["POSTGRES_INCLUDE"] = self._cmakify_path_list(self.dependencies["libpq"].cpp_info.aggregated_components().includedirs) tc.variables["POSTGRES_FOUND"] = True if self.options.get_safe("with_mssql") and self.settings.os != "Windows": - tc.variables["ODBC_PREFIX"] = self._cmakify_path_list(self.dependencies["odbc"].package_folder) + tc.variables["ODBC_PREFIX"] = self._cmakify_path_list([self.dependencies["odbc"].package_folder]) tc.variables["ODBC_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("odbc")) tc.variables["ODBC_INCLUDE"] = self._cmakify_path_list(self.dependencies["odbc"].cpp_info.aggregated_components().includedirs) tc.variables["ODBC_FOUND"] = True if self.options.get_safe("with_unwind"): - tc.variables["UNWIND_PREFIX"] = self._cmakify_path_list(self.dependencies["libunwind"].package_folder) + tc.variables["UNWIND_PREFIX"] = self._cmakify_path_list([self.dependencies["libunwind"].package_folder]) if self.settings.os == "Windows": tc.variables["CONNECTOR_FCGI"] = False tc.variables["CONNECTOR_ISAPI"] = self.options.connector_isapi From df61f06090cf7e79526dfdae390e3ec47d7505fb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:28:38 +0100 Subject: [PATCH 2689/4087] (#21262) [bot] Update authorized users list (2023-11-20) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index eb2fa30e632e6..b4ac09c53df56 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1236,3 +1236,7 @@ authorized_users: - agdavydov81 - sizeak - johannes-wolf +- cyberflashguru +- OndrejSlamecka +- correaa +- jakeheke75 From 50b5b1f3db1ae934da49373d7dc17b2f6453664a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 22 Nov 2023 11:47:31 +0300 Subject: [PATCH 2690/4087] (#21199) glfw: fix regressions introduced by #20913 * do not require xorg for non-Linux platforms it fixes a regression introduced by https://github.com/conan-io/conan-center-index/pull/20913 * update required_conan_version due to host_version in build requirements * better way to handle CMake variables related to x11 and wayland and fix version comparison related to these options * do not add wayland in build requirements if 1 profile as it may lead to conflicts impossible to resolve for consumers * move wayland-protocols to build requirements * use legacy deps_cpp_info for wayland-protocols workaround with 1 profile * more elegant workaround for wayland-protocols and 1 profile * reduce PR diff --- recipes/glfw/all/conanfile.py | 59 ++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index 29249e91fd11c..c27f9801a9ee6 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualBuildEnv +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime @@ -9,7 +9,7 @@ import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" class GlfwConan(ConanFile): @@ -50,7 +50,7 @@ def config_options(self): self.options.rm_safe("fPIC") if self.settings.os != "Linux": self.options.rm_safe("with_wayland") - if not self.settings.os in ["Linux", "FreeBSD"] or self.version <= Version("3.3.8"): + if self.settings.os not in ["Linux", "FreeBSD"] or Version(self.version) <= "3.3.8": self.options.rm_safe("with_x11") def configure(self): @@ -69,11 +69,11 @@ def requirements(self): self.requires("opengl/system") if self.options.vulkan_static: self.requires("vulkan-loader/1.3.243.0") - if self.options.get_safe("with_x11") or self.version <= Version("3.3.8"): - self.requires("xorg/system") + if self.settings.os in ["Linux", "FreeBSD"]: + if self.options.get_safe("with_x11", True): + self.requires("xorg/system") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") - self.requires("wayland-protocols/1.32") self.requires("xkbcommon/1.6.0") def validate(self): @@ -82,30 +82,61 @@ def validate(self): def build_requirements(self): if self.options.get_safe("with_wayland"): - self.tool_requires("wayland/") + self.tool_requires("wayland-protocols/1.32") + if self._has_build_profile: + self.tool_requires("wayland/") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if self.options.get_safe("with_wayland") and not self._has_build_profile: + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = CMakeToolchain(self) tc.cache_variables["GLFW_BUILD_DOCS"] = False tc.cache_variables["GLFW_BUILD_EXAMPLES"] = False tc.cache_variables["GLFW_BUILD_TESTS"] = False - tc.cache_variables["GLFW_BUILD_X11"] = self.options.get_safe("with_x11") tc.cache_variables["GLFW_INSTALL"] = True - tc.variables["GLFW_USE_WAYLAND" if self.version <= "3.3.8" else "GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland") + if Version(self.version) > "3.3.8": + tc.cache_variables["GLFW_BUILD_X11"] = self.options.get_safe("with_x11", False) + tc.cache_variables["GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland", False) + else: + tc.cache_variables["GLFW_USE_WAYLAND"] = self.options.get_safe("with_wayland", False) tc.variables["GLFW_VULKAN_STATIC"] = self.options.vulkan_static if is_msvc(self): tc.cache_variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) tc.generate() cmake_deps = CMakeDeps(self) - cmake_deps.set_property("xkbcommon", "cmake_file_name", "XKBCommon") + if self.options.get_safe("with_wayland"): + cmake_deps.set_property("xkbcommon", "cmake_file_name", "XKBCommon") cmake_deps.generate() - pkg_config_deps = PkgConfigDeps(self) - pkg_config_deps.generate() - virtual_build_env = VirtualBuildEnv(self) - virtual_build_env.generate() + if self.options.get_safe("with_wayland"): + pkg_config_deps = PkgConfigDeps(self) + if self._has_build_profile: + pkg_config_deps.build_context_activated = ["wayland-protocols"] + else: + # Manually generate pkgconfig file of wayland-protocols since + # PkgConfigDeps.build_context_activated can't work with legacy 1 profile + # We must use legacy conan v1 deps_cpp_info because self.dependencies doesn't + # contain build requirements when using 1 profile. + wp_prefix = self.deps_cpp_info["wayland-protocols"].rootpath + wp_version = self.deps_cpp_info["wayland-protocols"].version + wp_pkg_content = textwrap.dedent(f"""\ + prefix={wp_prefix} + datarootdir=${{prefix}}/res + pkgdatadir=${{datarootdir}}/wayland-protocols + Name: Wayland Protocols + Description: Wayland protocol files + Version: {wp_version} + """) + save(self, os.path.join(self.generators_folder, "wayland-protocols.pc"), wp_pkg_content) + pkg_config_deps.generate() def _patch_sources(self): apply_conandata_patches(self) From c0f8ed59c5a278faf346f1cce64cc8b7de83b917 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 22 Nov 2023 12:28:05 +0300 Subject: [PATCH 2691/4087] (#21200) sofa: add 20231011 --- recipes/sofa/all/conandata.yml | 3 +++ recipes/sofa/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sofa/all/conandata.yml b/recipes/sofa/all/conandata.yml index 7a99aaa5b5893..d4de8c6bcf502 100644 --- a/recipes/sofa/all/conandata.yml +++ b/recipes/sofa/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20231011": + url: "http://www.iausofa.org/2023_1011_C/sofa_c-20231011.tar.gz" + sha256: "d9c10833cae8b4d9361a0ffda31ec361fd1262362025bec4d4e51a880150ace2" "20210512": url: "http://www.iausofa.org/2021_0512_C/sofa_c-20210512.tar.gz" sha256: "3362baba47ce965af1fc6a3141052a0e1f643d186e8deca83df1ea97455bb2fd" diff --git a/recipes/sofa/config.yml b/recipes/sofa/config.yml index de0c26b7bcf2a..a6912b42b0a98 100644 --- a/recipes/sofa/config.yml +++ b/recipes/sofa/config.yml @@ -1,4 +1,6 @@ versions: + "20231011": + folder: all "20210512": folder: all "20210125_a": From e70b0d30401de78beaf143da8762ba2a47327f9c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 18:53:02 +0900 Subject: [PATCH 2692/4087] (#21307) implot: update imgui/1.90 --- recipes/implot/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/implot/all/conanfile.py b/recipes/implot/all/conanfile.py index 6bc9eddf1f5d2..0f83131c24116 100644 --- a/recipes/implot/all/conanfile.py +++ b/recipes/implot/all/conanfile.py @@ -39,7 +39,7 @@ def configure(self): def requirements(self): if Version(self.version) >= "0.15": - self.requires("imgui/1.89.9", transitive_headers=True) + self.requires("imgui/1.90", transitive_headers=True) elif Version(self.version) >= "0.14": self.requires("imgui/1.89.4", transitive_headers=True) elif Version(self.version) >= "0.13": From 739df54852cc97c9168cf3ce1d0a0d38e292a9f9 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 22 Nov 2023 11:49:03 +0100 Subject: [PATCH 2693/4087] (#21184) libcurl: cleanup remove dead code after bed40ca0a7eb45a7b1c8882ef4be2c79b48563b0 also, bump deps identified in https://github.com/conan-io/conan-center-index/issues/21146 and https://github.com/conan-io/conan-center-index/issues/21163 --- recipes/libcurl/all/conanfile.py | 41 +++++-------------- .../libcurl/all/patches/004-no-checksrc.patch | 12 ------ 2 files changed, 10 insertions(+), 43 deletions(-) delete mode 100644 recipes/libcurl/all/patches/004-no-checksrc.patch diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index f900348955a32..60998d280ae09 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -49,7 +49,6 @@ class LibcurlConan(ConanFile): "with_libidn": [True, False], "with_librtmp": [True, False], "with_libgsasl": [True, False], - "with_libmetalink": [True, False], "with_libpsl": [True, False], "with_largemaxwritesize": [True, False], "with_nghttp2": [True, False], @@ -95,7 +94,6 @@ class LibcurlConan(ConanFile): "with_libidn": False, "with_librtmp": False, "with_libgsasl": False, - "with_libmetalink": False, "with_libpsl": False, "with_largemaxwritesize": False, "with_nghttp2": False, @@ -136,11 +134,6 @@ def _is_win_x_android(self): def _is_using_cmake_build(self): return is_msvc(self) or self._is_win_x_android - @property - def _has_metalink_option(self): - # Support for metalink was removed in version 7.78.0 https://github.com/curl/curl/pull/7176 - return Version(self.version) < "7.78.0" and not self._is_using_cmake_build - @property def _has_with_libpsl_option(self): return not (self._is_using_cmake_build and Version(self.version) < "7.84.0") @@ -152,8 +145,6 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._has_metalink_option: - del self.options.with_libmetalink if not self._has_with_libpsl_option: del self.options.with_libpsl if self._is_using_cmake_build: @@ -185,7 +176,7 @@ def requirements(self): elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.6.3") if self.options.with_nghttp2: - self.requires("libnghttp2/1.56.0") + self.requires("libnghttp2/1.58.0") if self.options.with_libssh2: self.requires("libssh2/1.11.0") if self.options.with_zlib: @@ -195,7 +186,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_c_ares: - self.requires("c-ares/1.19.1") + self.requires("c-ares/1.22.0") if self.options.get_safe("with_libpsl"): self.requires("libpsl/0.21.1") @@ -216,7 +207,7 @@ def build_requirements(self): else: self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.2") + self.tool_requires("pkgconf/2.0.3") if self.settings.os in [ "tvOS", "watchOS" ]: self.tool_requires("gnu-config/cci.20210814") if self._settings_build.os == "Windows": @@ -436,15 +427,14 @@ def _generate_with_autotools(self): ]) # Since 7.77.0, disabling TLS must be explicitly requested otherwise it fails - if Version(self.version) >= "7.77.0" and not self.options.with_ssl: + if not self.options.with_ssl: tc.configure_args.append("--without-ssl") - openssl_option = "ssl" if Version(self.version) < "7.77.0" else "openssl" if self.options.with_ssl == "openssl": path = unix_path(self, self.dependencies["openssl"].package_folder) - tc.configure_args.append(f"--with-{openssl_option}={path}") + tc.configure_args.append(f"--with-openssl={path}") else: - tc.configure_args.append(f"--without-{openssl_option}") + tc.configure_args.append("--without-openssl") if self.options.with_ssl == "wolfssl": path = unix_path(self, self.dependencies["wolfssl"].package_folder) @@ -470,9 +460,6 @@ def _generate_with_autotools(self): else: tc.configure_args.append("--without-zlib") - if self._has_metalink_option: - tc.configure_args.append(f"--with-libmetalink={self._yes_no(self.options.with_libmetalink)}") - if not self.options.with_proxy: tc.configure_args.append("--disable-proxy") @@ -484,10 +471,7 @@ def _generate_with_autotools(self): # ntlm will default to enabled if any SSL options are enabled if not self.options.with_ntlm: - if Version(self.version) <= "7.77.0": - tc.configure_args.append("--disable-crypto-auth") - else: - tc.configure_args.append("--disable-ntlm") + tc.configure_args.append("--disable-ntlm") if not self.options.with_ntlm_wb: tc.configure_args.append("--disable-ntlm-wb") @@ -607,10 +591,7 @@ def _generate_with_cmake(self): # Also disables NTLM_WB if set to false if not self.options.with_ntlm: - if Version(self.version) <= "7.77.0": - tc.variables["CURL_DISABLE_CRYPTO_AUTH"] = True - else: - tc.variables["CURL_DISABLE_NTLM"] = True + tc.variables["CURL_DISABLE_NTLM"] = True tc.variables["NTLM_WB_ENABLED"] = self.options.with_ntlm_wb if self.options.with_ca_bundle: @@ -684,10 +665,8 @@ def package_info(self): if self.options.with_ssl == "schannel": self.cpp_info.components["curl"].system_libs.append("crypt32") elif is_apple_os(self): - if Version(self.version) >= "7.78.0" or self.options.with_ssl == "darwinssl": - self.cpp_info.components["curl"].frameworks.append("CoreFoundation") - if Version(self.version) >= "7.77.0": - self.cpp_info.components["curl"].frameworks.append("SystemConfiguration") + self.cpp_info.components["curl"].frameworks.append("CoreFoundation") + self.cpp_info.components["curl"].frameworks.append("SystemConfiguration") if self.options.with_ldap: self.cpp_info.components["curl"].system_libs.append("ldap") if self.options.with_ssl == "darwinssl": diff --git a/recipes/libcurl/all/patches/004-no-checksrc.patch b/recipes/libcurl/all/patches/004-no-checksrc.patch deleted file mode 100644 index 7a5cb866faa93..0000000000000 --- a/recipes/libcurl/all/patches/004-no-checksrc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN a/lib/Makefile.am b/lib/Makefile.am ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -138,8 +138,6 @@ - CS_ = $(CS_0) - - checksrc: -- $(CHECKSRC)(@PERL@ $(srcdir)/checksrc.pl -D$(srcdir) -W$(srcdir)/curl_config.h \ -- $(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] $(srcdir)/vtls/*.[ch] $(srcdir)/vquic/*.[ch] $(srcdir)/vssh/*.[ch]) - - if CURLDEBUG - # for debug builds, we scan the sources on all regular make invokes From 2df61c8065e3114fc2e6d62c6882d62c394892f7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Nov 2023 21:45:15 +0100 Subject: [PATCH 2694/4087] (#21319) [config] Add parallel strategy for BuildSingleReference --- .c3i/config_v1.yml | 1 + .c3i/config_v2.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index e7fe571c34fb5..bb61be1f4e1b0 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -49,6 +49,7 @@ tasks: - boost - qt - llvm + parallel_strategy: unlimited cci: conan_v2_run_export: false write_comments: true diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 677e540455c59..69f002da7a538 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -41,6 +41,7 @@ tasks: - qt - llvm - gstreamer + parallel_strategy: unlimited cci: conan_v2_run_export: false detailed_status_checks: false From 487f86b8e0a915db3554ed01d9c5353bc45597c5 Mon Sep 17 00:00:00 2001 From: ashley-b Date: Thu, 23 Nov 2023 09:45:15 +1100 Subject: [PATCH 2695/4087] (#18813) libgpiod: Added version 1.6.4 and 2.0.1 * libgpiod: Added version 1.6.4 and 2.0.1 - Added version 1.6.4 - Added new major version 2.0.1 with breaking API change - Fixed test_package to work with version 1 & 2 * Update config.yml with new versions * WIP * Reorder the versions * libgpiod: Added version 2.1 --- recipes/libgpiod/all/conandata.yml | 9 +++++++++ recipes/libgpiod/all/test_package/test_package.c | 2 +- recipes/libgpiod/config.yml | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/recipes/libgpiod/all/conandata.yml b/recipes/libgpiod/all/conandata.yml index 851ae98da0f81..e57f9b7713c5f 100644 --- a/recipes/libgpiod/all/conandata.yml +++ b/recipes/libgpiod/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "2.1": + url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-2.1.tar.gz" + sha256: "fd6ed4b2c674fe6cc3b481880f6cde1eea79e296e95a139b85401eaaea6de3fc" + "2.0.1": + url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-2.0.1.tar.gz" + sha256: "b6eda55356160a8e73906e3d48e959ef81296787d764975b10f257e9660668e9" + "1.6.4": + url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-1.6.4.tar.gz" + sha256: "829d4ac268df07853609d67cfc7f476e9aa736cb2a68a630be99e8fad197be0a" "1.6.3": url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-1.6.3.tar.gz" sha256: "eb446070be1444fd7d32d32bbca53c2f3bbb0a21193db86198cf6050b7a28441" diff --git a/recipes/libgpiod/all/test_package/test_package.c b/recipes/libgpiod/all/test_package/test_package.c index 686dc9682cd7d..624c4536ecb0e 100644 --- a/recipes/libgpiod/all/test_package/test_package.c +++ b/recipes/libgpiod/all/test_package/test_package.c @@ -2,6 +2,6 @@ int main(int argc, char *argv[]) { struct gpiod_chip *chip; - chip = gpiod_chip_open_by_name("gpiochip0"); + chip = gpiod_chip_open("/dev/gpiochip0"); return 0; } diff --git a/recipes/libgpiod/config.yml b/recipes/libgpiod/config.yml index bfd56b0a1b59f..032322a67e7ab 100644 --- a/recipes/libgpiod/config.yml +++ b/recipes/libgpiod/config.yml @@ -1,3 +1,9 @@ versions: + "2.1": + folder: all + "2.0.1": + folder: all + "1.6.4": + folder: all "1.6.3": folder: all From 98446ff031d58a61d6a2b3e34b172f40e5127b7f Mon Sep 17 00:00:00 2001 From: Fabio Rossetto Date: Thu, 23 Nov 2023 00:47:29 +0100 Subject: [PATCH 2696/4087] (#18983) capnproto: zlib is a dependency of kj-http The conanfile of capnproto was failing to list zlib::zlib as a requirement for kj-http. This is wrong, as kj-http uses zlib directly in the websocket implementation, if zlib is used. --- recipes/capnproto/all/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index 5c1f1850cd6c9..8b8d3ca76e788 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -205,11 +205,13 @@ def package_info(self): {"name": "capnpc", "requires": ["capnp", "kj"]}, {"name": "kj", "requires": []}, {"name": "kj-async", "requires": ["kj"]}, - {"name": "kj-http", "requires": ["kj", "kj-async"]}, {"name": "kj-test", "requires": ["kj"]}, - ] + ] if self.options.get_safe("with_zlib"): components.append({"name": "kj-gzip", "requires": ["kj", "kj-async", "zlib::zlib"]}) + components.append({"name": "kj-http", "requires": ["kj", "kj-async", "zlib::zlib"]}) + else: + components.append({"name": "kj-http", "requires": ["kj", "kj-async"]}) if self.options.with_openssl: components.append({"name": "kj-tls", "requires": ["kj", "kj-async", "openssl::openssl"]}) if Version(self.version) >= "0.9.0": From 0845ed0c0141f5c4babd1f1314f7641667ab7b39 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 03:26:02 +0300 Subject: [PATCH 2697/4087] (#20566) replxx: fix MinGW shared + remove old version + fix cpp_info.libs for RelWithDebInfo --- recipes/replxx/all/conandata.yml | 14 +- recipes/replxx/all/conanfile.py | 25 ++- ....0.3-0001-fix-export-symbols-windows.patch | 51 ++++++ ....0.4-0001-fix-export-symbols-windows.patch | 151 ++++++++++++++++++ recipes/replxx/config.yml | 2 - 5 files changed, 224 insertions(+), 19 deletions(-) create mode 100644 recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch create mode 100644 recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch diff --git a/recipes/replxx/all/conandata.yml b/recipes/replxx/all/conandata.yml index 6dce0f8a4cabd..cc779ef163dc2 100644 --- a/recipes/replxx/all/conandata.yml +++ b/recipes/replxx/all/conandata.yml @@ -5,6 +5,14 @@ sources: "0.0.3": url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.3.tar.gz" sha256: "72ad0655eead16544645b1724b27a988543fcefd14d46df6e8dfef17d9ba50ac" - "0.0.2": - url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.2.tar.gz" - sha256: "6f5c58b4cd23550d5a589d134727296438793cb818ce7158fbd5e1b0db1548ba" +patches: + "0.0.4": + - patch_file: "patches/0.0.4-0001-fix-export-symbols-windows.patch" + patch_description: "Fix export of symbols for Windows" + patch_type: "portability" + patch_source: "https://github.com/AmokHuginnsson/replxx/pull/151" + "0.0.3": + - patch_file: "patches/0.0.3-0001-fix-export-symbols-windows.patch" + patch_description: "Fix export of symbols for Windows" + patch_type: "portability" + patch_source: "https://github.com/AmokHuginnsson/replxx/pull/151" diff --git a/recipes/replxx/all/conanfile.py b/recipes/replxx/all/conanfile.py index 1d287dc51fe1f..72beed1028bdc 100644 --- a/recipes/replxx/all/conanfile.py +++ b/recipes/replxx/all/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir, replace_in_file from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc import os @@ -33,6 +32,9 @@ class ReplxxConan(ConanFile): def _min_cppstd(self): return 11 + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -53,17 +55,12 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["REPLXX_BuildExamples"] = False - tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.variables["REPLXX_BUILD_EXAMPLES"] = False + tc.variables["REPLXX_BUILD_PACKAGE"] = False tc.generate() def build(self): - if Version(self.version) < "0.0.3": - replace_in_file(self, - os.path.join(self.source_folder, "src", "io.cxx"), - "#include \n", - "#include \n#include \n" - ) + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -75,18 +72,18 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "replxx") + self.cpp_info.set_property("cmake_target_name", "replxx::replxx") libname = "replxx" if is_msvc(self) and not self.options.shared: libname += "-static" if self.settings.build_type == "Debug": libname += "-d" + elif self.settings.build_type == "RelWithDebInfo": + libname += "-rd" self.cpp_info.libs = [libname] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "m"] if not self.options.shared: self.cpp_info.defines.append("REPLXX_STATIC") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "replxx" - self.cpp_info.filenames["cmake_find_package_multi"] = "replxx" diff --git a/recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch b/recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch new file mode 100644 index 0000000000000..752c888324f23 --- /dev/null +++ b/recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch @@ -0,0 +1,51 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,7 +15,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 99) + endif() + +-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS ON) + +@@ -77,8 +76,8 @@ target_compile_definitions( + replxx + PUBLIC + $<$>:REPLXX_STATIC> +- $<$:REPLXX_BUILDING_DLL> + PRIVATE ++ $<$:REPLXX_BUILDING_DLL> + $<$:_CRT_SECURE_NO_WARNINGS=1 /ignore:4503> + ) + target_compile_options( +--- a/include/replxx.h ++++ b/include/replxx.h +@@ -435,7 +435,7 @@ REPLXX_IMPEXP void replxx_bind_key( Replxx*, int code, key_press_handler_t handl + * \param actionName - name of internal action to be invoked on key press. + * \return -1 if invalid action name was used, 0 otherwise. + */ +-int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); ++REPLXX_IMPEXP int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); + + REPLXX_IMPEXP void replxx_set_preload_buffer( Replxx*, const char* preloadText ); + +@@ -552,7 +552,7 @@ REPLXX_IMPEXP int replxx_history_load( Replxx*, const char* filename ); + REPLXX_IMPEXP void replxx_history_clear( Replxx* ); + REPLXX_IMPEXP void replxx_clear_screen( Replxx* ); + #ifdef __REPLXX_DEBUG__ +-void replxx_debug_dump_print_codes(void); ++REPLXX_IMPEXP void replxx_debug_dump_print_codes(void); + #endif + /* the following is extension to the original linenoise API */ + REPLXX_IMPEXP int replxx_install_window_change_handler( Replxx* ); +--- a/include/replxx.hxx ++++ b/include/replxx.hxx +@@ -242,7 +242,7 @@ public: + } + }; + class HistoryScanImpl; +- class HistoryScan { ++ class REPLXX_IMPEXP HistoryScan { + public: + typedef std::unique_ptr impl_t; + private: diff --git a/recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch b/recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch new file mode 100644 index 0000000000000..12104832cd70d --- /dev/null +++ b/recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch @@ -0,0 +1,151 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,7 +15,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 99) + endif() + +-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS ON) + +@@ -77,8 +76,8 @@ target_compile_definitions( + replxx + PUBLIC + $<$>:REPLXX_STATIC> +- $<$:REPLXX_BUILDING_DLL> + PRIVATE ++ $<$:REPLXX_BUILDING_DLL> + $<$:_CRT_SECURE_NO_WARNINGS=1 /ignore:4503> + ) + target_compile_options( +--- a/include/replxx.h ++++ b/include/replxx.h +@@ -449,7 +449,7 @@ REPLXX_IMPEXP void replxx_bind_key( Replxx*, int code, key_press_handler_t handl + * \param actionName - name of internal action to be invoked on key press. + * \return -1 if invalid action name was used, 0 otherwise. + */ +-int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); ++REPLXX_IMPEXP int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); + + REPLXX_IMPEXP void replxx_set_preload_buffer( Replxx*, const char* preloadText ); + +@@ -572,7 +572,7 @@ REPLXX_IMPEXP int replxx_history_load( Replxx*, const char* filename ); + REPLXX_IMPEXP void replxx_history_clear( Replxx* ); + REPLXX_IMPEXP void replxx_clear_screen( Replxx* ); + #ifdef __REPLXX_DEBUG__ +-void replxx_debug_dump_print_codes(void); ++REPLXX_IMPEXP void replxx_debug_dump_print_codes(void); + #endif + /* the following is extension to the original linenoise API */ + REPLXX_IMPEXP int replxx_install_window_change_handler( Replxx* ); +@@ -587,35 +587,35 @@ REPLXX_IMPEXP void replxx_disable_bracketed_paste( Replxx* ); + * \param color2 - second input color. + * \return A new color definition that represent combined input colors. + */ +-ReplxxColor replxx_color_combine( ReplxxColor color1, ReplxxColor color2 ); ++REPLXX_IMPEXP ReplxxColor replxx_color_combine( ReplxxColor color1, ReplxxColor color2 ); + + /*! \brief Transform foreground color definition into a background color definition. + * + * \param color - an input foreground color definition. + * \return A background color definition that is a transformed input \e color. + */ +-ReplxxColor replxx_color_bg( ReplxxColor color ); ++REPLXX_IMPEXP ReplxxColor replxx_color_bg( ReplxxColor color ); + + /*! \brief Add `bold` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with bold attribute set. + */ +-ReplxxColor replxx_color_bold( ReplxxColor color ); ++REPLXX_IMPEXP ReplxxColor replxx_color_bold( ReplxxColor color ); + + /*! \brief Add `underline` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with underline attribute set. + */ +-ReplxxColor replxx_color_underline( ReplxxColor color ); ++REPLXX_IMPEXP ReplxxColor replxx_color_underline( ReplxxColor color ); + + /*! \brief Create a new grayscale color of given brightness level. + * + * \param level - a brightness level for new color, must be between 0 (darkest) and 23 (brightest). + * \return A new grayscale color of a given brightest \e level. + */ +-ReplxxColor replxx_color_grayscale( int level ); ++REPLXX_IMPEXP ReplxxColor replxx_color_grayscale( int level ); + + /*! \brief Create a new color in 6×6×6 RGB color space from base component levels. + * +@@ -624,7 +624,7 @@ ReplxxColor replxx_color_grayscale( int level ); + * \param blue - a blue (of RGB) component level, must be 0 and 5. + * \return A new color in 6×6×6 RGB color space. + */ +-ReplxxColor replxx_color_rgb666( int red, int green, int blue ); ++REPLXX_IMPEXP ReplxxColor replxx_color_rgb666( int red, int green, int blue ); + + #ifdef __cplusplus + } +--- a/include/replxx.hxx ++++ b/include/replxx.hxx +@@ -249,7 +249,7 @@ public: + } + }; + class HistoryScanImpl; +- class HistoryScan { ++ class REPLXX_IMPEXP HistoryScan { + public: + typedef std::unique_ptr impl_t; + private: +@@ -646,35 +646,35 @@ namespace color { + * \param color2 - second input color. + * \return A new color definition that represent combined input colors. + */ +-Replxx::Color operator | ( Replxx::Color color1, Replxx::Color color2 ); ++REPLXX_IMPEXP Replxx::Color operator | ( Replxx::Color color1, Replxx::Color color2 ); + + /*! \brief Transform foreground color definition into a background color definition. + * + * \param color - an input foreground color definition. + * \return A background color definition that is a transformed input \e color. + */ +-Replxx::Color bg( Replxx::Color color ); ++REPLXX_IMPEXP Replxx::Color bg( Replxx::Color color ); + + /*! \brief Add `bold` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with bold attribute set. + */ +-Replxx::Color bold( Replxx::Color color ); ++REPLXX_IMPEXP Replxx::Color bold( Replxx::Color color ); + + /*! \brief Add `underline` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with underline attribute set. + */ +-Replxx::Color underline( Replxx::Color color ); ++REPLXX_IMPEXP Replxx::Color underline( Replxx::Color color ); + + /*! \brief Create a new grayscale color of given brightness level. + * + * \param level - a brightness level for new color, must be between 0 (darkest) and 23 (brightest). + * \return A new grayscale color of a given brightest \e level. + */ +-Replxx::Color grayscale( int level ); ++REPLXX_IMPEXP Replxx::Color grayscale( int level ); + + /*! \brief Create a new color in 6×6×6 RGB color space from base component levels. + * +@@ -683,7 +683,7 @@ Replxx::Color grayscale( int level ); + * \param blue - a blue (of RGB) component level, must be 0 and 5. + * \return A new color in 6×6×6 RGB color space. + */ +-Replxx::Color rgb666( int red, int green, int blue ); ++REPLXX_IMPEXP Replxx::Color rgb666( int red, int green, int blue ); + + } + diff --git a/recipes/replxx/config.yml b/recipes/replxx/config.yml index 280ae0c8f5550..9579ce3b8a9cd 100644 --- a/recipes/replxx/config.yml +++ b/recipes/replxx/config.yml @@ -3,5 +3,3 @@ versions: folder: "all" "0.0.3": folder: "all" - "0.0.2": - folder: "all" From c1fa15593c21a24665f630bf09fda26e0799f4d3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 03:47:24 +0300 Subject: [PATCH 2698/4087] (#21202) libvpx: add 1.13.1 + remove shared option and set package_type to static-library if Windows instead of raising for shared=True * remove shared option if Windows instead of raising * add patch_source * add libvpx/1.13.1 * add another patch_source --- recipes/libvpx/all/conandata.yml | 13 ++++++++++--- recipes/libvpx/all/conanfile.py | 9 +++++---- recipes/libvpx/config.yml | 2 ++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/recipes/libvpx/all/conandata.yml b/recipes/libvpx/all/conandata.yml index a64c42db322ce..6d2cd13499015 100644 --- a/recipes/libvpx/all/conandata.yml +++ b/recipes/libvpx/all/conandata.yml @@ -1,26 +1,33 @@ sources: + "1.13.1": + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.13.1.tar.gz" + sha256: "00dae80465567272abd077f59355f95ac91d7809a2d3006f9ace2637dd429d14" "1.11.0": - url: "https://github.com/webmproject/libvpx/archive/v1.11.0.tar.gz" + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.11.0.tar.gz" sha256: "965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83" "1.10.0": - url: "https://github.com/webmproject/libvpx/archive/v1.10.0.tar.gz" + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.10.0.tar.gz" sha256: "85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a" "1.9.0": - url: "https://github.com/webmproject/libvpx/archive/v1.9.0.tar.gz" + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.9.0.tar.gz" sha256: "d279c10e4b9316bf11a570ba16c3d55791e1ad6faa4404c67422eb631782c80a" patches: "1.11.0": - patch_file: "patches/0001-extended-support-1.10.0.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" "1.10.0": - patch_file: "patches/0001-extended-support-1.10.0.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" "1.9.0": - patch_file: "patches/0001-extended-support-1.9.0.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" - patch_file: "patches/0002-msvc_conan_build.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/04086a30664d2a3e89d6a6e4e1c18f1a82c8f958" diff --git a/recipes/libvpx/all/conanfile.py b/recipes/libvpx/all/conanfile.py index e431a16c35a92..42873e7560c7d 100644 --- a/recipes/libvpx/all/conanfile.py +++ b/recipes/libvpx/all/conanfile.py @@ -53,15 +53,16 @@ def config_options(self): delattr(self.options, name) def configure(self): - if self.options.shared: + if self.settings.os == "Windows": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): basic_layout(self, src_folder="src") def validate(self): - if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("Windows shared builds are not supported") if str(self.settings.compiler) not in ["Visual Studio", "msvc", "gcc", "clang", "apple-clang"]: raise ConanInvalidConfiguration(f"Unsupported compiler {self.settings.compiler}") if self.settings.os == "Macos" and self.settings.arch == "armv8" and Version(self.version) < "1.10.0": @@ -255,7 +256,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "vpx") self.cpp_info.libs = [self._lib_name] - if not self.options.shared: + if not self.options.get_safe("shared"): libcxx = stdcpp_library(self) if libcxx: self.cpp_info.system_libs.append(libcxx) diff --git a/recipes/libvpx/config.yml b/recipes/libvpx/config.yml index 460cf69bd04b2..a39af33955838 100644 --- a/recipes/libvpx/config.yml +++ b/recipes/libvpx/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.1": + folder: all "1.11.0": folder: all "1.10.0": From 891714aa5849feeb8b7146b053ff14e3cef4569e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 10:26:57 +0900 Subject: [PATCH 2699/4087] (#21218) aws-lambda-cpp: add version 0.2.10 --- recipes/aws-lambda-cpp/all/conandata.yml | 3 +++ recipes/aws-lambda-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-lambda-cpp/all/conandata.yml b/recipes/aws-lambda-cpp/all/conandata.yml index ecbfb0f0cbde4..22a060a14124f 100644 --- a/recipes/aws-lambda-cpp/all/conandata.yml +++ b/recipes/aws-lambda-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.10": + url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/v0.2.10.tar.gz" + sha256: "fee8e465ac63efaa6252aa2a108183ef174cbc5ed3e56e4de4986846f89a76ee" "0.2.9": url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/0.2.9.tar.gz" sha256: "4fb98483248adf0a2b251cb1b06df8b19bbd40e7f015dccfc32b7eaae6a294e7" diff --git a/recipes/aws-lambda-cpp/config.yml b/recipes/aws-lambda-cpp/config.yml index 4a43b4a490f8c..6cead73879d2a 100644 --- a/recipes/aws-lambda-cpp/config.yml +++ b/recipes/aws-lambda-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.10": + folder: all "0.2.9": folder: all "0.2.8": From 4d68464f6bc7077dfa10cfa2e0cc1b4b3ec33be1 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 10:48:07 +0900 Subject: [PATCH 2700/4087] (#21219) aws-c-event-stream: add version 0.3.2 --- recipes/aws-c-event-stream/all/conandata.yml | 3 +++ recipes/aws-c-event-stream/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-event-stream/all/conandata.yml b/recipes/aws-c-event-stream/all/conandata.yml index 4c8f01cd490cb..dd1f6736ca7be 100644 --- a/recipes/aws-c-event-stream/all/conandata.yml +++ b/recipes/aws-c-event-stream/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.2.tar.gz" + sha256: "3134b35a45e9f9d974c2b78ee44fd2ea0aebc04df80236b80692aa63bee2092e" "0.3.1": url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.1.tar.gz" sha256: "bdbc420efc2572689fb167ac288e982a01224876eb79d80e2411fad4c43e9dc0" diff --git a/recipes/aws-c-event-stream/config.yml b/recipes/aws-c-event-stream/config.yml index 4a2530c32b47b..38b22762f5273 100644 --- a/recipes/aws-c-event-stream/config.yml +++ b/recipes/aws-c-event-stream/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.2": + folder: all "0.3.1": folder: all "0.2.15": From 18a53b9b45090d6d66386d746b7cdbc57d4b1e37 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 11:07:07 +0900 Subject: [PATCH 2701/4087] (#21233) serdepp: update magic_enum/0.9.5 --- recipes/serdepp/all/conandata.yml | 6 +++++ recipes/serdepp/all/conanfile.py | 14 +++++++--- .../0.1.4.1-0001-fix-magic_enum-path.patch | 26 +++++++++++++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch diff --git a/recipes/serdepp/all/conandata.yml b/recipes/serdepp/all/conandata.yml index a5bc02fad6305..48987703821e7 100644 --- a/recipes/serdepp/all/conandata.yml +++ b/recipes/serdepp/all/conandata.yml @@ -2,3 +2,9 @@ sources: "0.1.4.1": url: "https://github.com/injae/serdepp/archive/refs/tags/v0.1.4.1.tar.gz" sha256: "0a1112e5fb929e22eba14c8699cfcd4b58cfcbb70068149a6a7ed2a532800972" +patches: + "0.1.4.1": + - patch_file: "patches/0.1.4.1-0001-fix-magic_enum-path.patch" + patch_description: "fix magic_enum path" + patch_type: "conan" + patch_source: "https://github.com/injae/serdepp/pull/57" diff --git a/recipes/serdepp/all/conanfile.py b/recipes/serdepp/all/conanfile.py index db1294b2b4673..433b310f78080 100644 --- a/recipes/serdepp/all/conanfile.py +++ b/recipes/serdepp/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get +from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -49,12 +49,15 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") def requirements(self): self.requires("nameof/0.10.3") - self.requires("magic_enum/0.9.3") + self.requires("magic_enum/0.9.5") if self.options.with_toml11: self.requires("toml11/3.7.1") if self.options.with_yamlcpp: @@ -76,13 +79,16 @@ def validate(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warning(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") + self.output.warning(f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") elif Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++17") + raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def build(self): + apply_conandata_patches(self) + def package(self): s = lambda x: os.path.join(self.source_folder, x) p = lambda x: os.path.join(self.package_folder, x) diff --git a/recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch b/recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch new file mode 100644 index 0000000000000..1d276241e168b --- /dev/null +++ b/recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch @@ -0,0 +1,26 @@ +diff --git a/include/serdepp/meta.hpp b/include/serdepp/meta.hpp +index d0a607a..5e6674f 100644 +--- a/include/serdepp/meta.hpp ++++ b/include/serdepp/meta.hpp +@@ -11,7 +11,7 @@ + #include + #include + #include +-#include ++#include + #include + + #ifndef __SERDEPP_META_HPP__ +diff --git a/include/serdepp/serializer.hpp b/include/serdepp/serializer.hpp +index 2e984af..d8b7247 100644 +--- a/include/serdepp/serializer.hpp ++++ b/include/serdepp/serializer.hpp +@@ -14,7 +14,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include "serdepp/meta.hpp" From dbf53c3d09f32e978192d0ae021cb878da8a1f37 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 05:30:29 +0300 Subject: [PATCH 2702/4087] (#21264) ms-gsl: remove conan v1 warning for unknown compilers * remove conan v1 warnings for unknown compilers * add package_type & clear bindirs & libdirs --- recipes/ms-gsl/all/conanfile.py | 42 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/recipes/ms-gsl/all/conanfile.py b/recipes/ms-gsl/all/conanfile.py index 1f2447a4480af..22f61968c9ba8 100644 --- a/recipes/ms-gsl/all/conanfile.py +++ b/recipes/ms-gsl/all/conanfile.py @@ -5,7 +5,6 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version required_conan_version = ">=1.50.0" @@ -19,6 +18,7 @@ class MicrosoftGslConan(ConanFile): license = "MIT" topics = ("gsl", "guidelines", "core", "span") no_copy_source = True + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "on_contract_violation": ["terminate", "throw", "unenforced"] @@ -45,6 +45,8 @@ def _compilers_minimum_version(self): "gcc": "5", "clang": "3.4", "apple-clang": "3.4", + "msvc": "190", + "Visual Studio": "14", } def config_options(self): @@ -58,24 +60,17 @@ def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._minimum_cpp_standard) - check_min_vs(self, "190") - - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not fully support.") - else: - self.output.warn(f"{self.ref} requires C++{self._minimum_cpp_standard}. " - "Your compiler is unknown. Assuming it supports C++{self._minimum_cpp_standard}.") + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not fully support." + ) def layout(self): basic_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): pass @@ -90,16 +85,21 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "Microsoft.GSL") self.cpp_info.set_property("cmake_target_name", "Microsoft.GSL::GSL") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + # TODO: back to global scope once support for legacy generators dropped + if Version(self.version) < "3.0.0": + self.cpp_info.components["_ms-gsl"].defines = [ + self._contract_map[str(self.options.on_contract_violation)] + ] - self.cpp_info.filenames["cmake_find_package"] = "Microsoft.GSL" - self.cpp_info.filenames["cmake_find_package_multi"] = "Microsoft.GSL" + # TODO: to remove once support for legacy generators dropped self.cpp_info.names["cmake_find_package"] = "Microsoft.GSL" self.cpp_info.names["cmake_find_package_multi"] = "Microsoft.GSL" self.cpp_info.components["_ms-gsl"].names["cmake_find_package"] = "GSL" self.cpp_info.components["_ms-gsl"].names["cmake_find_package_multi"] = "GSL" - - if Version(self.version) < "3.0.0": - self.cpp_info.components["_ms-gsl"].defines = [ - self._contract_map[str(self.options.on_contract_violation)] - ] + self.cpp_info.components["_ms-gsl"].set_property("cmake_target_name", "Microsoft.GSL::GSL") + self.cpp_info.components["_ms-gsl"].bindirs = [] + self.cpp_info.components["_ms-gsl"].libdirs = [] From 88cd07bd7afefc1082b75a1b389b8c547e7b8fd6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 05:47:49 +0300 Subject: [PATCH 2703/4087] (#21270) hictk: add package_type + remove legacy conan v1 output.warn which breaks conan v2 with "unknown compilers" * remove legacy conan v1 output.warn * add package_type & cleanup recipe * cast self.settings.compiler.version --- recipes/hictk/all/conanfile.py | 37 ++++++++++------------------------ 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 1af6d90119f0c..1951fe8bdc793 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -16,13 +16,13 @@ class HictkConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/paulsengroup/hictk" topics = "hictk", "bioinformatics", "hic" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True options = {"with_eigen": [True, False]} default_options = {"with_eigen": True} @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property @@ -58,7 +58,7 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -66,29 +66,18 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - compiler = str(self.settings.compiler) - version = str(self.settings.compiler.version) - try: - minimum_version = self._compilers_minimum_version[str(compiler)] - if minimum_version and loose_lt_semver(version, minimum_version): - msg = ( - f"{self.ref} requires C++{self._minimum_cpp_standard} features " - f"which are not supported by compiler {compiler} {version}." - ) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - f"{self.ref} recipe lacks information about the {compiler} compiler, " - f"support for the required C++{self._minimum_cpp_standard} features is assumed" + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - self.output.warn(msg) - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) def build_requirements(self): self.tool_requires("cmake/[>=3.25 <4]") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): tc = CMakeToolchain(self) tc.variables["HICTK_BUILD_BENCHMARKS"] = "OFF" @@ -121,11 +110,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "hictk") self.cpp_info.set_property("cmake_target_name", "hictk::libhictk") - self.cpp_info.set_property("pkg_config_name", "hictk") - - # TODO: to remove in conan v2 once legacy generators removed - self.cpp_info.names["cmake_find_package"] = "hictk" - self.cpp_info.names["cmake_find_package_multi"] = "hictk" From d7616607d9bb100c32e3e5276464892aca7aa5d7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 06:07:16 +0300 Subject: [PATCH 2704/4087] (#21272) refl-cpp: add package_type + remove legacy conan v1 output.warn which breaks conan v2 with "unknown compilers" * remove legacy conan v1 output.warn * add package_type --- recipes/refl-cpp/all/conanfile.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/refl-cpp/all/conanfile.py b/recipes/refl-cpp/all/conanfile.py index 7ba2308354522..cfecdf8a0b5ec 100644 --- a/recipes/refl-cpp/all/conanfile.py +++ b/recipes/refl-cpp/all/conanfile.py @@ -15,6 +15,7 @@ class ReflCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/veselink1/refl-cpp" topics = ("header", "header-only", "reflection", "modern", "metaprogramming") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -43,15 +44,12 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if not min_version: - self.output.warn(f"{self.ref} recipe lacks information about the {self.settings.compiler} compiler support.") - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} support. " - f"The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it." - ) + + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 64c660d48fc6de981e3d6a473a19e38b76f11139 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 12:27:10 +0900 Subject: [PATCH 2705/4087] (#21306) rapidjson: add version cci.20230929 --- recipes/rapidjson/all/conandata.yml | 3 +++ recipes/rapidjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidjson/all/conandata.yml b/recipes/rapidjson/all/conandata.yml index dd7649f2b814f..4f7c0b1008ac2 100644 --- a/recipes/rapidjson/all/conandata.yml +++ b/recipes/rapidjson/all/conandata.yml @@ -3,6 +3,9 @@ sources: url: "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz" sha256: bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e # More recent unofficial releases based on commits + "cci.20230929": + url: "https://github.com/Tencent/rapidjson/archive/f9d53419e912910fd8fa57d5705fa41425428c35.tar.gz" + sha256: "2b521dba5c22eaae6e6e7d4d304cb317e2cf8c687c70046b02792c02f78c127e" "cci.20220822": url: "https://github.com/Tencent/rapidjson/archive/06d58b9e848c650114556a23294d0b6440078c61.tar.gz" sha256: 30d28bbe0bfff9d8dc5d3cf62799b6ee550499cc1520e44bdece81e002480d19 diff --git a/recipes/rapidjson/config.yml b/recipes/rapidjson/config.yml index 82e5350012d0b..e55a15ea06b31 100644 --- a/recipes/rapidjson/config.yml +++ b/recipes/rapidjson/config.yml @@ -1,6 +1,8 @@ versions: "1.1.0": folder: "all" + "cci.20230929": + folder: "all" "cci.20220822": folder: "all" "cci.20211112": From f03ee897dfc685503e4e975567ec126c0bba4554 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 06:47:03 +0300 Subject: [PATCH 2706/4087] (#21310) psimd: add package_type --- recipes/psimd/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/psimd/all/conanfile.py b/recipes/psimd/all/conanfile.py index 138520809226b..977da9b21114c 100644 --- a/recipes/psimd/all/conanfile.py +++ b/recipes/psimd/all/conanfile.py @@ -13,6 +13,7 @@ class PsimdConan(ConanFile): topics = ("psimd", "simd") homepage = "https://github.com/Maratyszcza/psimd" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From ef4e6ba98161c3f25418146231f4d07a5ce22863 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:07:31 +0300 Subject: [PATCH 2707/4087] (#21311) nanoflann: add package_type --- recipes/nanoflann/all/conanfile.py | 14 ++++++-------- recipes/nanoflann/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/recipes/nanoflann/all/conanfile.py b/recipes/nanoflann/all/conanfile.py index 5e499d9aae48d..47bfe18256ddd 100644 --- a/recipes/nanoflann/all/conanfile.py +++ b/recipes/nanoflann/all/conanfile.py @@ -13,13 +13,17 @@ class NanoflannConan(ConanFile): of datasets with different topologies: R2, R3 (point clouds), SO(2) and SO(3) (2D and 3D rotation groups). """ - topics = ("nanoflann", "nearest-neighbor", "kd-trees") + topics = ("flann", "nearest-neighbor", "kd-trees") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jlblancoc/nanoflann" license = "BSD-2-Clause" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -27,12 +31,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -47,6 +47,4 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "nanoflann::nanoflann") self.cpp_info.set_property("pkg_config_name", "nanoflann") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/nanoflann/all/test_package/conanfile.py b/recipes/nanoflann/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/nanoflann/all/test_package/conanfile.py +++ b/recipes/nanoflann/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From eecc6a6c7fa6d0840ffc9eb209c766e0cf552555 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 13:27:14 +0900 Subject: [PATCH 2708/4087] (#21317) sqlite3: add version 3.44.1 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index 9e950697ed913..c9ab9c78e3f98 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.44.1": + url: "https://sqlite.org/2023/sqlite-amalgamation-3440100.zip" + sha256: "cc6545b71ca188e245d5d668543c01f61175f0228a0e1b4ced76fabc75ea6b2e" "3.44.0": url: "https://sqlite.org/2023/sqlite-amalgamation-3440000.zip" sha256: "93299c8d2c8397622fe00bd807204b1f58815f45bda8097bf93b3bf759a3ebad" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index b5aee54f1ff24..3cd6bbcc4b83a 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.44.1": + folder: all "3.44.0": folder: all "3.43.2": From 3fa48aeb54118f6cbf503a88beb2edf0d0d5577d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 13:47:13 +0900 Subject: [PATCH 2709/4087] (#21318) glaze: add version 1.6.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 96f185a6420f5..011b6dae9a20b 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.1": + url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" + sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" "1.6.0": url: "https://github.com/stephenberry/glaze/archive/v1.6.0.tar.gz" sha256: "1206421e4dfd259b9c3cd012adc35946cc27a19f10083040b353a78520ad1bee" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 3b631d52275ed..24e8aaec36afd 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.1": + folder: all "1.6.0": folder: all "1.5.7": From 7cae68e2de36273b9a4c5b8c8e3cabaebddaa82a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 16:48:17 +0900 Subject: [PATCH 2710/4087] (#21220) libavif: add version 1.0.2 --- recipes/libavif/all/conandata.yml | 7 +++++++ recipes/libavif/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index 853cd880f3a20..4c6e091c13d31 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.2": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.2.tar.gz" + sha256: "de8bf79488c5b523b77358df8b85ae69c3078e6b3f1636fc1f313f952269ad20" "1.0.1": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.1.tar.gz" sha256: "398fe7039ce35db80fe7da8d116035924f2c02ea4a4aa9f4903df6699287599c" @@ -9,6 +12,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.0.2": + - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.0.1": - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 5cf9b4e379877..4c37b1d7a9e9a 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.2": + folder: all "1.0.1": folder: all "0.11.1": From ee15583406a8bf5304c34d9c260f8901ea331562 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 23 Nov 2023 11:08:09 +0100 Subject: [PATCH 2711/4087] (#21314) g3log: remove 1.3.2-86 version it never was an actual version, and newer version have been created since then. also, this recipe has no dependants in CCI --- recipes/g3log/all/conandata.yml | 3 --- recipes/g3log/config.yml | 2 -- 2 files changed, 5 deletions(-) diff --git a/recipes/g3log/all/conandata.yml b/recipes/g3log/all/conandata.yml index 1ad5a5433b5fb..bb193ad6a160e 100644 --- a/recipes/g3log/all/conandata.yml +++ b/recipes/g3log/all/conandata.yml @@ -14,9 +14,6 @@ sources: "1.3.3": url: "https://github.com/KjellKod/g3log/archive/1.3.3.tar.gz" sha256: "d8cae14e1508490145d710f10178b2da9b86ce03fb2428a684fff35576fe5d5c" - "1.3.2-86": - url: "https://github.com/KjellKod/g3log/archive/4000c5c899c0ae58b8b851f9b66e1a2ac0fe2bff.tar.gz" - sha256: "4572b723458fbe2b3bf620e2bd47ecfab2975c16369dc6390ffa27e177b33c88" "1.3.2": url: "https://github.com/KjellKod/g3log/archive/1.3.2.tar.gz" sha256: "0ed1983654fdd8268e051274904128709c3d9df8234acf7916e9015199b0b247" diff --git a/recipes/g3log/config.yml b/recipes/g3log/config.yml index 0452fc2e8e027..fd39876109b97 100644 --- a/recipes/g3log/config.yml +++ b/recipes/g3log/config.yml @@ -9,7 +9,5 @@ versions: folder: all "1.3.3": folder: all - "1.3.2-86": - folder: all "1.3.2": folder: all From 810bc47902d4ed17911cde998ad0492ea108ac8c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 19:27:33 +0900 Subject: [PATCH 2712/4087] (#21016) aws-c-http: add version 0.7.14, update dependencies * aws-c-http: add version 0.7.14, update dependencies * fix version check for aws-c-io * make transitive_libs true --- recipes/aws-c-http/all/conandata.yml | 3 +++ recipes/aws-c-http/all/conanfile.py | 17 ++++++++++++----- recipes/aws-c-http/config.yml | 2 ++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/recipes/aws-c-http/all/conandata.yml b/recipes/aws-c-http/all/conandata.yml index 09a36b1a86c13..68fa29d3753e7 100644 --- a/recipes/aws-c-http/all/conandata.yml +++ b/recipes/aws-c-http/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.14": + url: "https://github.com/awslabs/aws-c-http/archive/v0.7.14.tar.gz" + sha256: "afb935395c93427ac0853d6363900a71816a0508f18c86e84da0e6ebe7271429" "0.6.22": url: "https://github.com/awslabs/aws-c-http/archive/v0.6.22.tar.gz" sha256: "a178fd04bd1618469cd21afc5b84cbe436d1f9d9e036fefbd3a8f00356da4d4c" diff --git a/recipes/aws-c-http/all/conanfile.py b/recipes/aws-c-http/all/conanfile.py index 2d95021a30464..a9bb3bc67dc42 100644 --- a/recipes/aws-c-http/all/conanfile.py +++ b/recipes/aws-c-http/all/conanfile.py @@ -40,12 +40,19 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-compression/0.2.15") - if Version(self.version) < "0.6.22": - self.requires("aws-c-io/0.10.20", transitive_headers=True) + if Version(self.version) <= "0.6.22": + self.requires("aws-c-compression/0.2.15") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) else: - self.requires("aws-c-io/0.13.4", transitive_headers=True) + self.requires("aws-c-compression/0.2.17") + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + + if Version(self.version) <= "0.6.13": + self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) + elif Version(self.version) <= "0.6.22": + self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True) + else: + self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-http/config.yml b/recipes/aws-c-http/config.yml index ab4b9f0488086..febd9410cb93f 100644 --- a/recipes/aws-c-http/config.yml +++ b/recipes/aws-c-http/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.14": + folder: all "0.6.22": folder: all "0.6.13": From 8ca43be53d5f96c34c46443def79e71c8ae6e7d5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 23 Nov 2023 13:08:30 +0200 Subject: [PATCH 2713/4087] (#21197) tcp-wrappers: use correct license identifier --- recipes/tcp-wrappers/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tcp-wrappers/all/conanfile.py b/recipes/tcp-wrappers/all/conanfile.py index 654c207b466b2..3089488940a7d 100644 --- a/recipes/tcp-wrappers/all/conanfile.py +++ b/recipes/tcp-wrappers/all/conanfile.py @@ -15,7 +15,7 @@ class TcpWrappersConan(ConanFile): name = "tcp-wrappers" description = "A security tool which acts as a wrapper for TCP daemons" - license = "BSD" + license = "TCP-wrappers" url = "https://github.com/conan-io/conan-center-index" homepage = "http://ftp.porcupine.org/pub/security/" topics = ("tcp", "ip", "daemon", "wrapper") From 5598d6b26ea41dde932c15b16aee21e471e7bea4 Mon Sep 17 00:00:00 2001 From: Dean Moldovan Date: Thu, 23 Nov 2023 16:09:03 +0100 Subject: [PATCH 2714/4087] (#21329) pfr: Bump to v2.2.0 --- recipes/pfr/all/conandata.yml | 3 +++ recipes/pfr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pfr/all/conandata.yml b/recipes/pfr/all/conandata.yml index a92db9416c3b3..ad60c0a68373e 100644 --- a/recipes/pfr/all/conandata.yml +++ b/recipes/pfr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/boostorg/pfr/archive/refs/tags/2.2.0.tar.gz" + sha256: "6f490ec1383de5855dcf801c23f0a967f888eb6e1440b6ca0bf36c12d4ae7ac7" "2.1.0": url: "https://github.com/boostorg/pfr/archive/refs/tags/2.1.0.tar.gz" sha256: "7c18a4ab73b70f8b3513fa3a836c6f4310f627bbf55f62b89bdd7aa787c7da31" diff --git a/recipes/pfr/config.yml b/recipes/pfr/config.yml index 656874f312592..979e702ffcb5f 100644 --- a/recipes/pfr/config.yml +++ b/recipes/pfr/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.1.0": folder: "all" "2.0.3": From 2576d9cc11a579ef543641cf48748d99e321cfcd Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Thu, 23 Nov 2023 17:29:27 +0200 Subject: [PATCH 2715/4087] (#21330) xz_utils: add 5.4.5 --- recipes/xz_utils/all/conandata.yml | 3 +++ recipes/xz_utils/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xz_utils/all/conandata.yml b/recipes/xz_utils/all/conandata.yml index 458ec76199721..09ca27188fcd2 100644 --- a/recipes/xz_utils/all/conandata.yml +++ b/recipes/xz_utils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.5": + url: "https://tukaani.org/xz/xz-5.4.5.tar.xz" + sha256: "da9dec6c12cf2ecf269c31ab65b5de18e8e52b96f35d5bcd08c12b43e6878803" "5.4.4": url: "https://tukaani.org/xz/xz-5.4.4.tar.gz" sha256: "aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8" diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index 88aa46f065b92..d950dab72f7d0 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.5": + folder: all "5.4.4": folder: all "5.4.2": From 9c4e9bd9a82102607fae8a256c2be1948b6affce Mon Sep 17 00:00:00 2001 From: James Date: Thu, 23 Nov 2023 18:46:35 +0100 Subject: [PATCH 2716/4087] (#20984) fix exiv2 provides --- recipes/exiv2/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 19688c15f33b3..94d55cc8a9289 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -44,8 +44,6 @@ class Exiv2Conan(ConanFile): "win_unicode": False, } - provides = [] - def export_sources(self): export_conandata_patches(self) @@ -67,7 +65,7 @@ def configure(self): if self.options.with_xmp == "bundled": # recipe has bundled xmp-toolkit-sdk of old version # avoid conflict with a future xmp recipe - self.provides.append("xmp-toolkit-sdk") + self.provides = ["xmp-toolkit-sdk"] def layout(self): cmake_layout(self, src_folder="src") From f4c0e2d9803672be3fd79490934e150af28b37db Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:27:17 +0300 Subject: [PATCH 2717/4087] (#21309) fp16: add package_type --- recipes/fp16/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/fp16/all/conanfile.py b/recipes/fp16/all/conanfile.py index 75666c9f3bd71..92f6f21bd74b0 100644 --- a/recipes/fp16/all/conanfile.py +++ b/recipes/fp16/all/conanfile.py @@ -13,6 +13,7 @@ class Fp16Conan(ConanFile): topics = ("half-precision-floating-point") homepage = "https://github.com/Maratyszcza/FP16" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -20,14 +21,13 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("psimd/cci.20200517", transitive_headers=True) + self.requires("psimd/cci.20200517") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 13b0b66abf3e46c99101cb4f8bd176d514337e94 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:48:58 +0300 Subject: [PATCH 2718/4087] (#21312) parallel-hashmap: add package_type * add package_type * remove old versions --- recipes/parallel-hashmap/all/conandata.yml | 6 ------ recipes/parallel-hashmap/all/conanfile.py | 13 ++++++------- .../parallel-hashmap/all/test_package/conanfile.py | 7 ++++--- recipes/parallel-hashmap/config.yml | 4 ---- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/recipes/parallel-hashmap/all/conandata.yml b/recipes/parallel-hashmap/all/conandata.yml index e810473c6e2e7..3e06bdb26e652 100644 --- a/recipes/parallel-hashmap/all/conandata.yml +++ b/recipes/parallel-hashmap/all/conandata.yml @@ -23,9 +23,3 @@ sources: "1.32": url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.32.tar.gz" sha256: "50cc7abc08f78c6396a33a334e5bc0b3ade121af8604690dae13a1bad47cf07c" - "1.31": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.31.tar.gz" - sha256: "1826589041140837f91ab0e3421abbf7e9184454bb83403b5a0359a0bf87bd68" - "1.30": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.30.tar.gz" - sha256: "ae14fa41110b5fe211d3f7599318fb1a3e862353c7110cd8370cdc044a98d815" diff --git a/recipes/parallel-hashmap/all/conanfile.py b/recipes/parallel-hashmap/all/conanfile.py index d8dcf1537c358..5f3e3f51ac110 100644 --- a/recipes/parallel-hashmap/all/conanfile.py +++ b/recipes/parallel-hashmap/all/conanfile.py @@ -12,12 +12,16 @@ class ParallelHashmapConan(ConanFile): name = "parallel-hashmap" description = "A family of header-only, very fast and memory-friendly hashmap and btree containers." license = "Apache-2.0" - topics = ("parallel-hashmap", "parallel", "hashmap", "btree") + topics = ("parallel", "hashmap", "btree") homepage = "https://github.com/greg7mdp/parallel-hashmap" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -25,12 +29,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -66,7 +66,6 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "phmap") self.cpp_info.set_property("cmake_target_name", "phmap") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed diff --git a/recipes/parallel-hashmap/all/test_package/conanfile.py b/recipes/parallel-hashmap/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/parallel-hashmap/all/test_package/conanfile.py +++ b/recipes/parallel-hashmap/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/parallel-hashmap/config.yml b/recipes/parallel-hashmap/config.yml index a8a50d11cadad..a1c1439981d11 100644 --- a/recipes/parallel-hashmap/config.yml +++ b/recipes/parallel-hashmap/config.yml @@ -15,7 +15,3 @@ versions: folder: all "1.32": folder: all - "1.31": - folder: all - "1.30": - folder: all From 2da1b80169224212cdb04956ce54e443680787ea Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 22:07:47 +0300 Subject: [PATCH 2719/4087] (#21316) onetbb: don't require pkgconf when tbbbind is disabled --- recipes/onetbb/all/conanfile.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 86585126d6bb5..6fafa4d81ece1 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, load, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version @@ -97,13 +98,17 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") def build_requirements(self): - if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + if self._tbbbind_build and not self._tbbbind_explicit_hwloc: + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() + toolchain = CMakeToolchain(self) toolchain.variables["TBB_TEST"] = False toolchain.variables["TBB_STRICT"] = False @@ -126,7 +131,7 @@ def generate(self): os.path.join(hwloc_package_folder, "bin", "hwloc.dll").replace("\\", "/") toolchain.generate() - if self._tbbbind_build: + if self._tbbbind_build and not self._tbbbind_explicit_hwloc: deps = PkgConfigDeps(self) deps.generate() From cbc45f4a086c4f18f011407648f7d2194d183a86 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 24 Nov 2023 04:27:28 +0900 Subject: [PATCH 2720/4087] (#21335) metall: add version 0.27 --- recipes/metall/all/conandata.yml | 3 +++ recipes/metall/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/metall/all/conandata.yml b/recipes/metall/all/conandata.yml index 96fee3029b84f..107baf765b6af 100644 --- a/recipes/metall/all/conandata.yml +++ b/recipes/metall/all/conandata.yml @@ -17,3 +17,6 @@ sources: "0.26": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" + "0.27": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.27.tar.gz" + sha256: "6e6f17a760778f9162def939701f9381a75e5275fd1eb1b2af4b2e89e86e1c58" diff --git a/recipes/metall/config.yml b/recipes/metall/config.yml index 11daea4abf351..8abab3ff86ffd 100644 --- a/recipes/metall/config.yml +++ b/recipes/metall/config.yml @@ -11,3 +11,5 @@ versions: folder: all "0.26": folder: all + "0.27": + folder: all From 6988f02eb06a16f66335e294a300f5493e6a564e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:27:53 +0300 Subject: [PATCH 2721/4087] (#21308) cereal: add package_type --- recipes/cereal/all/conanfile.py | 15 ++++++--------- recipes/cereal/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/recipes/cereal/all/conanfile.py b/recipes/cereal/all/conanfile.py index 7523bebc550cf..c0fce5f2a6d25 100644 --- a/recipes/cereal/all/conanfile.py +++ b/recipes/cereal/all/conanfile.py @@ -11,10 +11,10 @@ class CerealConan(ConanFile): name = "cereal" description = "Serialization header-only library for C++11." license = "BSD-3-Clause" - topics = ("cereal", "header-only", "serialization", "cpp11") + topics = ("header-only", "serialization", "cpp11") homepage = "https://github.com/USCiLab/cereal" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "thread_safe": [True, False], @@ -23,15 +23,14 @@ class CerealConan(ConanFile): "thread_safe": False, } - def package_id(self): - self.info.clear() - def layout(self): cmake_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -81,9 +80,7 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "cereal::cereal") self.cpp_info.set_property("cmake_target_aliases", ["cereal"]) # target before 1.3.1 self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.options.thread_safe: self.cpp_info.defines = ["CEREAL_THREAD_SAFE=1"] if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/cereal/all/test_package/conanfile.py b/recipes/cereal/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/cereal/all/test_package/conanfile.py +++ b/recipes/cereal/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From bf0e321e9f0f2b62df69647f9e4afb395ffd04d9 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 24 Nov 2023 13:07:45 +0300 Subject: [PATCH 2722/4087] (#21223) qt6: bump dependencies + fix condition for winflexbison in build requirements + depends on openal-soft instead of deprecated openal recipe * bump dependencies * required winflexbison based on build machine, not host * replace openal by openal-soft since openal recipe is deprecated * bump xkbcommon * Revert "bump xkbcommon" This reverts commit 4327bcdf8dfd60ed5261a48219181c2544bee404. --- recipes/qt/6.x.x/conanfile.py | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index c2c05cdf445ec..3124fbfcf843c 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -322,7 +322,7 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.1") if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: @@ -330,47 +330,47 @@ def requirements(self): if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/8.2.1") + self.requires("harfbuzz/8.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.1") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.44.0") if self.options.get_safe("with_mysql", False): - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.with_pq: - self.requires("libpq/15.3") + self.requires("libpq/15.4") if self.options.with_odbc: if self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("with_openal", False): - self.requires("openal/1.22.2") + self.requires("openal-soft/1.22.2") if self.options.get_safe("with_libalsa", False): - self.requires("libalsa/1.2.7.2") - if self.options.get_safe("with_x11", False): + self.requires("libalsa/1.2.10") + if self.options.get_safe("with_x11") or self.options.qtwayland: self.requires("xkbcommon/1.5.0") + if self.options.get_safe("with_x11", False): self.requires("xorg/system") if self.settings.os != "Windows" and self.options.get_safe("opengl", "no") != "no": self.requires("opengl/system") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.qtwayland: - self.requires("xkbcommon/1.5.0") self.requires("wayland/1.22.0") if self.options.with_brotli: self.requires("brotli/1.1.0") if self.options.get_safe("qtwebengine") and self.settings.os == "Linux": self.requires("expat/2.5.0") - self.requires("opus/1.3.1") + self.requires("opus/1.4") self.requires("xorg-proto/2022.2") self.requires("libxshmfence/1.3") - self.requires("nss/3.89") + self.requires("nss/3.93") self.requires("libdrm/2.4.114") if self.options.get_safe("with_gstreamer", False): self.requires("gst-plugins-base/1.19.2") @@ -387,7 +387,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.2") + self.tool_requires("pkgconf/2.0.3") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') @@ -395,11 +395,11 @@ def build_requirements(self): self.tool_requires("nodejs/18.15.0") self.tool_requires("gperf/3.1") # gperf, bison, flex, python >= 2.7.5 & < 3 - if self.settings.os != "Windows": + if self._settings_build.os == "Windows": + self.tool_requires("winflexbison/2.5.25") + else: self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") - else: - self.tool_requires("winflexbison/2.5.24") if self.options.qtwayland: self.tool_requires("wayland/1.22.0") @@ -1231,7 +1231,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.get_safe("with_libalsa", False): multimedia_reqs.append("libalsa::libalsa") if self.options.with_openal: - multimedia_reqs.append("openal::openal") + multimedia_reqs.append("openal-soft::openal-soft") if self.options.get_safe("with_pulseaudio", False): multimedia_reqs.append("pulseaudio::pulse") _create_module("Multimedia", multimedia_reqs) From 685ce4e6773efc1b979adcc4200f550c2a7be1a1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 24 Nov 2023 13:21:39 +0100 Subject: [PATCH 2723/4087] (#21327) [bot] Update authorized users list (2023-11-23) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index b4ac09c53df56..e492f7b97c587 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1240,3 +1240,6 @@ authorized_users: - OndrejSlamecka - correaa - jakeheke75 +- NelDav +- utelle +- har-bw From 35d081612727c323cf5b8b698fe68dcb413353da Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 24 Nov 2023 13:42:57 +0100 Subject: [PATCH 2724/4087] (#21348) [docs] Use official windows PS for sha256sum Signed-off-by: Uilian Ries --- docs/adding_packages/conandata_yml_format.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adding_packages/conandata_yml_format.md b/docs/adding_packages/conandata_yml_format.md index e1b7f89ee3173..ed96865802cc0 100644 --- a/docs/adding_packages/conandata_yml_format.md +++ b/docs/adding_packages/conandata_yml_format.md @@ -127,7 +127,7 @@ Usually, `url` has a [https](https://tools.ietf.org/html/rfc2660) scheme, but ot [sha256](https://tools.ietf.org/html/rfc6234) is a preferred method to specify hash sum for the released sources. It allows to check the integrity of sources downloaded. You may use an [online service](https://hash.online-convert.com/sha256-generator) to compute `sha256` sum for the given `url`. -Also, you may use [sha256sum](https://linux.die.net/man/1/sha256sum) command ([windows](http://www.labtestproject.com/files/win/sha256sum/sha256sum.exe)). +Also, you may use [sha256sum](https://linux.die.net/man/1/sha256sum) command ([windows](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.4) you can use PowerShell). ## patches From 0a3d265ff60f66781ec7f12717146e6720ff04c2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 24 Nov 2023 14:02:17 +0100 Subject: [PATCH 2725/4087] (#21325) [pcl] Hotfix: export qhull define Signed-off-by: Uilian Ries --- recipes/pcl/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index fc423168869ea..b172e88fb5927 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -574,6 +574,13 @@ def package_info(self): if self.settings.os == "Windows": common.system_libs.append("ws2_32") + if self.options.with_qhull: + self.cpp_info.defines.append('HAVE_QHULL=1') + if self.options.with_png: + self.cpp_info.defines.append('HAVE_PNG=1') + if self.options.with_cuda: + self.cpp_info.defines.append('HAVE_CUDA=1') + # TODO: Legacy, to be removed on Conan 2.0 self.cpp_info.names["cmake_find_package"] = "PCL" self.cpp_info.names["cmake_find_package_multi"] = "PCL" From 7a524496823225ea5d5f7b6835c6616a5e5a7ea6 Mon Sep 17 00:00:00 2001 From: Andrei Davydov Date: Fri, 24 Nov 2023 21:46:24 +0300 Subject: [PATCH 2726/4087] (#21102) dfp: Add DFP recipe. * feat: DFP: Add DFP recipe. * fix: dfp: Move sources from the 'native' sub-folder to the top level. * fix: dfp: Add Conan 1.6 test_v1_package * fix: dfp: Switch from ZIP to TAR.GZ * fix: dfp: Fix Liner errors * Added source method. Removed test_v1_package * Using cmake_layout and cmake >=3.22.0 as a tool requirement * Linter complains * Ensuring std++11 in test package demo * fix: dfp: test_package: More correct way to set c++11 * Avoiding stdin. Demo simplified * fix: dfp: test_package: Statically link with MSVC runtime * Update recipes/dfp/all/conanfile.py * fix: dfp: Resolve review request: Add fPIC option. * fix: dfp: Fix sources archive URL * fix: dfp: Add proper fPIC option processing in script * fix: dfp: Replace option 'del' with safe 'rm_safe' --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/dfp/all/conandata.yml | 4 ++ recipes/dfp/all/conanfile.py | 71 +++++++++++++++++++++ recipes/dfp/all/test_package/CMakeLists.txt | 10 +++ recipes/dfp/all/test_package/conanfile.py | 27 ++++++++ recipes/dfp/all/test_package/src/demo.cpp | 10 +++ recipes/dfp/config.yml | 3 + 6 files changed, 125 insertions(+) create mode 100644 recipes/dfp/all/conandata.yml create mode 100644 recipes/dfp/all/conanfile.py create mode 100644 recipes/dfp/all/test_package/CMakeLists.txt create mode 100644 recipes/dfp/all/test_package/conanfile.py create mode 100644 recipes/dfp/all/test_package/src/demo.cpp create mode 100644 recipes/dfp/config.yml diff --git a/recipes/dfp/all/conandata.yml b/recipes/dfp/all/conandata.yml new file mode 100644 index 0000000000000..ef5dd3970cc87 --- /dev/null +++ b/recipes/dfp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/epam/DFP/releases/download/1.0.2-cxx/native-sources.tar.gz" + sha256: "f62acab311086c1207f7d58185232c7e86e11ed606596d9afcff49703c196058" diff --git a/recipes/dfp/all/conanfile.py b/recipes/dfp/all/conanfile.py new file mode 100644 index 0000000000000..93d025c258e68 --- /dev/null +++ b/recipes/dfp/all/conanfile.py @@ -0,0 +1,71 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import copy, get + +required_conan_version = ">=1.54.0" + + +class DfpConan(ConanFile): + name = "dfp" + package_type = "library" + + # Optional metadata + description = "Decimal Floating Point Arithmetic Library" + homepage = "https://github.com/epam/DFP/" + url = "https://github.com/conan-io/conan-center-index" + license = ("Apache-2.0", "Intel") + topics = ("decimal", "dfp", "ieee-754", "deltix") + + # Binary configuration + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + # it's a C library + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.22.0 <4]") + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "intel-eula.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ddfp"] diff --git a/recipes/dfp/all/test_package/CMakeLists.txt b/recipes/dfp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0fc7fa3dfb5a0 --- /dev/null +++ b/recipes/dfp/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 11) + +find_package(dfp CONFIG REQUIRED) + + +add_executable(${PROJECT_NAME} src/demo.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE dfp::dfp) +set_property(TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") diff --git a/recipes/dfp/all/test_package/conanfile.py b/recipes/dfp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..32f908420470d --- /dev/null +++ b/recipes/dfp/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class TestExampleConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/dfp/all/test_package/src/demo.cpp b/recipes/dfp/all/test_package/src/demo.cpp new file mode 100644 index 0000000000000..69d2647abc971 --- /dev/null +++ b/recipes/dfp/all/test_package/src/demo.cpp @@ -0,0 +1,10 @@ +#include +#include + +using namespace epam::deltix::dfp; + +int main(void) { + const Decimal64 number("42"); + std::cout << number << " : " << number.toUnderlying() << std::endl; + return 0; +} diff --git a/recipes/dfp/config.yml b/recipes/dfp/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/dfp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all From b4de1e443bbf3ff32ef0b87802a7bf1d1a7ce21c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 25 Nov 2023 09:49:44 +0900 Subject: [PATCH 2727/4087] (#21356) glaze: add version 1.7.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 011b6dae9a20b..6350539fe7901 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/stephenberry/glaze/archive/v1.7.0.tar.gz" + sha256: "e8ccb925cf45f8974ba8d9af56c29eed12dd5fd9253c02015a6780b7c861e4df" "1.6.1": url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 24e8aaec36afd..a5c7ebbca4dd3 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.1": folder: all "1.6.0": From 0df24827bee4eff8f3c82fd3344132150419e263 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Sat, 25 Nov 2023 02:27:00 -0600 Subject: [PATCH 2728/4087] (#21304) [cpptrace] Add v0.3.0 * Try to add v0.3.0 * Fixes * Bump hash * Bump * Update * Set to 0.3.0 * Bump hash --- recipes/cpptrace/all/conandata.yml | 4 ++++ recipes/cpptrace/all/conanfile.py | 11 ++++++++--- recipes/cpptrace/all/test_package/test_package.cpp | 2 +- recipes/cpptrace/config.yml | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index df698c75da843..3cac71ee486fa 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.3.0": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.0.tar.gz" + sha256: "1650d760ff0c0f9763de7e1e04285033f2b0189df87398ba8bf76e9937d5a4ee" "0.2.1": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py index be00c8ea4cc5a..f96b276006f6d 100644 --- a/recipes/cpptrace/all/conanfile.py +++ b/recipes/cpptrace/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -59,9 +60,13 @@ def generate(self): tc = CMakeToolchain(self) if is_msvc(self): tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) - if not self.options.shared: - tc.variables["CPPTRACE_STATIC"] = True - tc.variables["CPPTRACE_USE_SYSTEM_LIBDWARF"] = True + if Version(self.version) >= Version("0.3.0"): + tc.variables["CPPTRACE_USE_EXTERNAL_LIBDWARF"] = True + tc.variables["CPPTRACE_CONAN"] = True + else: + if not self.options.shared: + tc.variables["CPPTRACE_STATIC"] = True + tc.variables["CPPTRACE_USE_SYSTEM_LIBDWARF"] = True tc.generate() tc = CMakeDeps(self) tc.generate() diff --git a/recipes/cpptrace/all/test_package/test_package.cpp b/recipes/cpptrace/all/test_package/test_package.cpp index 27e7cbc21a5cb..bc640e59ffc24 100644 --- a/recipes/cpptrace/all/test_package/test_package.cpp +++ b/recipes/cpptrace/all/test_package/test_package.cpp @@ -1,6 +1,6 @@ #include #include -#include "cpptrace/cpptrace.hpp" +#include int main() { cpptrace::generate_trace().print(); diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index c9540bd54bac5..182eea5248ab1 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,4 +1,6 @@ versions: # Newer versions at the top + "0.3.0": + folder: all "0.2.1": folder: all From 463c062170f09dee2bdc9d2f9e59b25ca34adfb7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 25 Nov 2023 15:27:22 +0100 Subject: [PATCH 2729/4087] (#21359) sqlite3: add version 3.44.2 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index c9ab9c78e3f98..d1238ae4e2a8d 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.44.2": + url: "https://sqlite.org/2023/sqlite-amalgamation-3440200.zip" + sha256: "833be89b53b3be8b40a2e3d5fedb635080e3edb204957244f3d6987c2bb2345f" "3.44.1": url: "https://sqlite.org/2023/sqlite-amalgamation-3440100.zip" sha256: "cc6545b71ca188e245d5d668543c01f61175f0228a0e1b4ced76fabc75ea6b2e" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 3cd6bbcc4b83a..8f761c32c82b7 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.44.2": + folder: all "3.44.1": folder: all "3.44.0": From 22f5d3d825a544852e29a0962479042067fdb192 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 25 Nov 2023 23:47:19 +0900 Subject: [PATCH 2730/4087] (#21361) simdutf: add version 4.0.5 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index ced370b48d8cb..b28c517c6191a 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.5": + url: "https://github.com/simdutf/simdutf/archive/v4.0.5.tar.gz" + sha256: "040d80ff4321f89ea9739ccc7f468ece9c4bc2630f3d4762b6d829000d2ec625" "4.0.4": url: "https://github.com/simdutf/simdutf/archive/v4.0.4.tar.gz" sha256: "fd24bab9754e24f42e6cd2c9d336accb2674c306f9221c00fb095fe95cfe9247" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 45f2cb8a32ffa..d16a8ca4a324b 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.5": + folder: all "4.0.4": folder: all "4.0.3": From 523b606f1f15d696c9c92474cf50dbaf5ac826f0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 25 Nov 2023 20:07:25 +0100 Subject: [PATCH 2731/4087] (#21367) apr-util: bump sqlite3 --- recipes/apr-util/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/apr-util/all/conanfile.py b/recipes/apr-util/all/conanfile.py index cdc91defc9dca..c6efeb71fc33d 100644 --- a/recipes/apr-util/all/conanfile.py +++ b/recipes/apr-util/all/conanfile.py @@ -88,7 +88,7 @@ def requirements(self): if self.options.with_mysql: self.requires("libmysqlclient/8.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.1") + self.requires("sqlite3/3.44.2") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_postgresql: From 44201f969073b0884bea1409dc17922361cabd40 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 25 Nov 2023 20:27:47 +0100 Subject: [PATCH 2732/4087] (#21363) poco: bump sqlite3 --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index cf4c0eaeba152..6ede924a2f329 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -136,7 +136,7 @@ def requirements(self): if self.options.enable_xml: self.requires("expat/2.5.0") if self.options.enable_data_sqlite: - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") if self.options.enable_apacheconnector: self.requires("apr/1.7.4") self.requires("apr-util/1.6.1") From 84a432dbad7ec6e02f6b0956e84f143c1c6d9aaf Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 02:47:52 +0100 Subject: [PATCH 2733/4087] (#21365) cyrus-sasl: bump sqlite3 --- recipes/cyrus-sasl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cyrus-sasl/all/conanfile.py b/recipes/cyrus-sasl/all/conanfile.py index 908fb513cf279..d9623fba3aec4 100644 --- a/recipes/cyrus-sasl/all/conanfile.py +++ b/recipes/cyrus-sasl/all/conanfile.py @@ -84,7 +84,7 @@ def requirements(self): if self.options.with_mysql: self.requires("libmysqlclient/8.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") def validate(self): if self.settings.os == "Windows": From 9b4cd6ea2aa9de9f29a141399d621ec45873b5bd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 04:08:01 +0100 Subject: [PATCH 2734/4087] (#21364) drogon: bump sqlite3 --- recipes/drogon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index e5fe1d6704648..44120c268dd5c 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -127,7 +127,7 @@ def requirements(self): if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_redis"): self.requires("hiredis/1.2.0") if self.options.get_safe("with_yaml_cpp", False): From cb36d9c057f57b5dfee5b15ce1b2469bcb8eb750 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 04:47:40 +0100 Subject: [PATCH 2735/4087] (#21368) dlib: bump sqlite3 --- recipes/dlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index 39ff8fcf414f8..bad5b166dc9bf 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -96,7 +96,7 @@ def requirements(self): if self.options.get_safe("with_webp"): self.requires("libwebp/1.3.2") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") if self.options.with_openblas: self.requires("openblas/0.3.20") From 573bf9be0e3bbc596ef4b1f64c51b0b2d1e37b67 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 12:53:22 +0100 Subject: [PATCH 2736/4087] (#21372) sqlite_orm: bump sqlite3 --- recipes/sqlite_orm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlite_orm/all/conanfile.py b/recipes/sqlite_orm/all/conanfile.py index 343f40bded77d..23fa807bf57d5 100644 --- a/recipes/sqlite_orm/all/conanfile.py +++ b/recipes/sqlite_orm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sqlite3/3.43.0", transitive_headers=True, transitive_libs=True) + self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True) def package_id(self): self.info.clear() From 82a6c3338289babf91af917bbdada9a9bb993169 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 17:52:34 +0100 Subject: [PATCH 2737/4087] (#21374) soci: bump sqlite3 --- recipes/soci/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index 2ff7486399f30..1f10648c31235 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -62,7 +62,7 @@ def configure(self): def requirements(self): if self.options.with_sqlite3: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.with_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.with_mysql: From e5612acdeb4584a136c6a5bb4655c5276cfdbb4c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 19:08:13 +0100 Subject: [PATCH 2738/4087] (#21377) libwebsockets: bump sqlite3 --- recipes/libwebsockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index 050d4a84dde11..4bd1dccf1a09f 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -221,7 +221,7 @@ def requirements(self): self.requires("libmount/2.39") if self.options.with_sqlite3: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.with_ssl == "openssl": # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail From 72482cd6ffbcdd9e68b5552705503be2f45dd7dd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 05:57:09 +0900 Subject: [PATCH 2739/4087] (#21381) daw_json_link: add version 3.23.0 --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index a5b0b4f48353b..3262aaa6ca666 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.23.0": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.0.tar.gz" + sha256: "a01e9a3a48784a47dbb60bd21ecbe7e05a7d30cec75ea6d55b1789f6aefe5f05" "3.20.1": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.20.1.tar.gz" sha256: "046638bc4437d138cc8bdc882027d318ca3e267f33d1b419c5bdecb45b595a47" diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index 97a23d5d14600..cd93a25c55255 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.23.0": + folder: "all" "3.20.1": folder: "all" "3.19.0": From 42c0aef8f37d2e128d5de81d4c749700811ec6d0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 23:49:06 +0100 Subject: [PATCH 2740/4087] (#21376) sqlitecpp: bump sqlite3 --- recipes/sqlitecpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py index cb53fcb31537f..c0bfff9f89eee 100644 --- a/recipes/sqlitecpp/all/conanfile.py +++ b/recipes/sqlitecpp/all/conanfile.py @@ -43,7 +43,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") def validate(self): if Version(self.version) >= "3.0.0" and self.info.settings.compiler.get_safe("cppstd"): From d7b65f350edf866f3f8f9bf445af70036fcb5840 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 23:58:46 +0100 Subject: [PATCH 2741/4087] (#21379) qt/6.x.x: bump sqlite3 --- recipes/qt/6.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 3124fbfcf843c..e2aed1b2ad68e 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -341,7 +341,7 @@ def requirements(self): if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.1.0") if self.options.with_pq: From e37878b7deda67e8c53724819069221ba77a6ea7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 00:27:29 +0100 Subject: [PATCH 2742/4087] (#21375) elfutils: bump deps --- recipes/elfutils/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index eed1654a5e9c9..ca68760068c83 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -65,13 +65,13 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.with_bzlib: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/8.1.2") + self.requires("libcurl/8.3.0") if self.options.debuginfod: self.requires("libmicrohttpd/0.9.75") From ebbecc095a0c4429d3dade2a61d024ff006cbc88 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 08:47:33 +0900 Subject: [PATCH 2743/4087] (#21384) nghttp3: add version 1.1.0 --- recipes/nghttp3/all/conandata.yml | 3 +++ recipes/nghttp3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index dab729864ca6f..3d19ff221c51b 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.1.0/nghttp3-1.1.0.tar.bz2" + sha256: "5a203bf6e3129a9c23b06207c0fa3b05b26066ea28c037a62c9fea8cffecd85f" "1.0.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.0.0/nghttp3-1.0.0.tar.bz2" sha256: "c4aa8a38056e3b286a4102612d690e0c21f584784364f04215100e74efc95a61" diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index b80b93245d90a..f581e0802958e 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.15.0": From 2cf6518731e053a91c897152e821678f29e0d20f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 03:30:46 +0100 Subject: [PATCH 2744/4087] (#21373) proj: bump sqlite3 --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index 96746a5b96715..ee6edd6244053 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_curl"): From b6c7299553f875d6e624d9aa7e828d844c7221fe Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 04:08:09 +0100 Subject: [PATCH 2745/4087] (#21378) wt: bump sqlite3 --- recipes/wt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 50a93cf1536b8..fc0eb757303bd 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -103,7 +103,7 @@ def requirements(self): if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): From 26ee7779caa1c291517e6dbc70efb2a7bff60003 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 04:47:51 +0100 Subject: [PATCH 2746/4087] (#21362) qt/5.x.x: bump sqlite3 * qt/5.x.x: bump sqlite3 * bump harfbuzz & freetype --- recipes/qt/5.x.x/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 6dcdc8e7ad5c1..a4c631120b356 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -355,13 +355,13 @@ def requirements(self): if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/8.2.1") + self.requires("harfbuzz/8.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.0") @@ -370,7 +370,7 @@ def requirements(self): if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.43.1") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.1.0") if self.options.with_pq: From 5449d4082153237cc1ee38695e0cd055f83f9f1f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 10:08:56 +0100 Subject: [PATCH 2747/4087] (#21395) elfutils/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/elfutils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index ca68760068c83..b8aafd509dd45 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self.options.with_lzma: self.requires("xz_utils/5.4.5") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/8.3.0") + self.requires("libcurl/8.4.0") if self.options.debuginfod: self.requires("libmicrohttpd/0.9.75") From 05ef10d4ec27f1103e3f1bce1e47082d53b9e7f6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 27 Nov 2023 11:28:46 +0100 Subject: [PATCH 2748/4087] (#21322) capnproto: remove zlib from dependencies of kj-http before 1.0.0 refactor components block in package_info in order to extend more easily properties of each component --- recipes/capnproto/all/conanfile.py | 81 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index 8b8d3ca76e788..591f5effa85d6 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -193,55 +193,54 @@ def package(self): "function(CAPNP_GENERATE_CPP SOURCES HEADERS)", find_execs) - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "CapnProto") - capnprotomacros = os.path.join(self._cmake_folder, "CapnProtoMacros.cmake") - self.cpp_info.set_property("cmake_build_modules", [capnprotomacros]) + @property + def _capnp_components(self): + def libm(): + return ["m"] if self.settings.os in ["Linux", "FreeBSD"] else [] + + def pthread(): + return ["pthread"] if self.settings.os in ["Linux", "FreeBSD"] else [] + + def ws2_32(): + return ["ws2_32"] if self.settings.os == "Windows" else [] + + components = { + "capnp": {"requires": ["kj"]}, + "capnp-json": {"requires": ["capnp", "kj"]}, + "capnp-rpc": {"requires": ["capnp", "kj", "kj-async"]}, + "capnpc": {"requires": ["capnp", "kj"], "system_libs": libm() + pthread()}, + "kj": {"system_libs": libm() + pthread()}, + "kj-async": {"requires": ["kj"], "system_libs": libm() + pthread() + ws2_32()}, + "kj-http": {"requires": ["kj", "kj-async"]}, + "kj-test": {"requires": ["kj"]}, + } - components = [ - {"name": "capnp", "requires": ["kj"]}, - {"name": "capnp-json", "requires": ["capnp", "kj"]}, - {"name": "capnp-rpc", "requires": ["capnp", "kj", "kj-async"]}, - {"name": "capnpc", "requires": ["capnp", "kj"]}, - {"name": "kj", "requires": []}, - {"name": "kj-async", "requires": ["kj"]}, - {"name": "kj-test", "requires": ["kj"]}, - ] if self.options.get_safe("with_zlib"): - components.append({"name": "kj-gzip", "requires": ["kj", "kj-async", "zlib::zlib"]}) - components.append({"name": "kj-http", "requires": ["kj", "kj-async", "zlib::zlib"]}) - else: - components.append({"name": "kj-http", "requires": ["kj", "kj-async"]}) + components.update({"kj-gzip": {"requires": ["kj", "kj-async", "zlib::zlib"]}}) + if Version(self.version) >= "1.0.0": + components["kj-http"].setdefault("requires", []).append("zlib::zlib") if self.options.with_openssl: - components.append({"name": "kj-tls", "requires": ["kj", "kj-async", "openssl::openssl"]}) + components.update({"kj-tls": {"requires": ["kj", "kj-async", "openssl::openssl"]}}) if Version(self.version) >= "0.9.0": - components.append({ - "name": "capnp-websocket", - "requires": ["capnp", "capnp-rpc", "kj-http", "kj-async", "kj"], - }) + components.update({"capnp-websocket": {"requires": ["capnp", "capnp-rpc", "kj-http", "kj-async", "kj"]}}) + + return components - for component in components: - self._register_component(component) + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "CapnProto") + capnprotomacros = os.path.join(self._cmake_folder, "CapnProtoMacros.cmake") + self.cpp_info.set_property("cmake_build_modules", [capnprotomacros]) - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["capnpc"].system_libs = ["pthread", "m"] - self.cpp_info.components["kj"].system_libs = ["pthread", "m"] - self.cpp_info.components["kj-async"].system_libs = ["pthread", "m"] - elif self.settings.os == "Windows": - self.cpp_info.components["kj-async"].system_libs = ["ws2_32"] + for name, comp_info in self._capnp_components.items(): + self.cpp_info.components[name].set_property("cmake_target_name", f"CapnProto::{name}") + self.cpp_info.components[name].builddirs.append(self._cmake_folder) + self.cpp_info.components[name].set_property("pkg_config_name", name) + self.cpp_info.components[name].libs = [name] + self.cpp_info.components[name].requires = comp_info.get("requires", []) + self.cpp_info.components[name].system_libs = comp_info.get("system_libs", []) # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "CapnProto" self.cpp_info.names["cmake_find_package_multi"] = "CapnProto" self.cpp_info.components["kj"].build_modules = [capnprotomacros] - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH env var with: {bin_path}") - self.env_info.PATH.append(bin_path) - - def _register_component(self, component): - name = component["name"] - self.cpp_info.components[name].set_property("cmake_target_name", f"CapnProto::{name}") - self.cpp_info.components[name].builddirs.append(self._cmake_folder) - self.cpp_info.components[name].set_property("pkg_config_name", name) - self.cpp_info.components[name].libs = [name] - self.cpp_info.components[name].requires = component["requires"] + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From 531cb010644191e4e6bea61f244242db0b064300 Mon Sep 17 00:00:00 2001 From: temap Date: Mon, 27 Nov 2023 14:27:19 +0200 Subject: [PATCH 2749/4087] (#19494) libxslt: add version 1.1.37 --- recipes/libxslt/all/conandata.yml | 3 +++ recipes/libxslt/all/conanfile.py | 1 + recipes/libxslt/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libxslt/all/conandata.yml b/recipes/libxslt/all/conandata.yml index 8795d460be899..535fcb94f934b 100644 --- a/recipes/libxslt/all/conandata.yml +++ b/recipes/libxslt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.37": + sha256: "3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4" + url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz" "1.1.34": sha256: "28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824" url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.34.tar.xz" diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index f3241de947d7f..b8980d5d2465d 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -190,6 +190,7 @@ def package(self): autotools.install() os.remove(os.path.join(self.package_folder, "bin", "xslt-config")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rm(self, "*.la", os.path.join(self.package_folder, "lib")) rm(self, "*.sh", os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "share")) diff --git a/recipes/libxslt/config.yml b/recipes/libxslt/config.yml index 9aafb604e965b..d53687ed0c186 100644 --- a/recipes/libxslt/config.yml +++ b/recipes/libxslt/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.37": + folder: all "1.1.34": folder: all From 8a4759f52b7e8d9c48f094e3127dfe0d421ee78e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 13:49:22 +0100 Subject: [PATCH 2750/4087] (#21336) bzip3: cleanup patches also, use more compact archive for 1.1.8 identified by https://github.com/conan-io/conan-center-index/issues/21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ --- recipes/bzip3/all/conandata.yml | 4 +- .../1.1.4-0001-make-restrict-alias.patch | 114 ------------------ .../patches/1.1.4-0002-export-symbols.patch | 95 --------------- .../patches/1.1.5-0002-export-symbols.patch | 83 ------------- 4 files changed, 2 insertions(+), 294 deletions(-) delete mode 100644 recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch delete mode 100644 recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch delete mode 100644 recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch diff --git a/recipes/bzip3/all/conandata.yml b/recipes/bzip3/all/conandata.yml index e5219a4ddad45..464608d61d50a 100644 --- a/recipes/bzip3/all/conandata.yml +++ b/recipes/bzip3/all/conandata.yml @@ -21,5 +21,5 @@ sources: url: "https://github.com/kspalaiologos/bzip3/releases/download/1.2.0/bzip3-1.2.0.tar.xz" sha256: "f0441519321070e03708638b37bdeb9105aff8f0a5c838e45aff1b0cbe752572" "1.1.8": - url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.8/bzip3-1.1.8.tar.bz2" - sha256: "bc15d0e4599aad18d9ed71ee0f7e859af89051bf5105b0751e8ca3a26117567d" + url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.8/bzip3-1.1.8.tar.xz" + sha256: "80a226950832df5674e012a38cf5f45efc6405d51a1caceb96f80ec2861a6111" diff --git a/recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch b/recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch deleted file mode 100644 index 20195b834da7b..0000000000000 --- a/recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch +++ /dev/null @@ -1,114 +0,0 @@ -diff --git a/src/crc32.c b/src/crc32.c -index 856fcd4..d9fb87a 100644 ---- a/src/crc32.c -+++ b/src/crc32.c -@@ -19,6 +19,14 @@ - - #include "crc32.h" - -+#if defined(__GNUC__) || defined(__clang__) -+ #define RESTRICT __restrict__ -+#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -+ #define RESTRICT __restrict -+#else -+ #error Your compiler, configuration or platform is not supported. -+#endif -+ - static const u32 crc32Table[256] = { - 0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L, 0xC79A971FL, 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL, 0x8AD958CFL, - 0x78B2DBCCL, 0x6BE22838L, 0x9989AB3BL, 0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L, 0x5E133C24L, 0x105EC76FL, 0xE235446CL, -@@ -51,7 +59,7 @@ static const u32 crc32Table[256] = { - 0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L, 0xAD7D5351L - }; - --u32 crc32sum(u32 crc, u8 * restrict buf, size_t size) { -+u32 crc32sum(u32 crc, u8 * RESTRICT buf, size_t size) { - while (size--) crc = crc32Table[(crc ^ *(buf++)) & 0xff] ^ (crc >> 8); - return crc; - } -diff --git a/src/lzp.c b/src/lzp.c -index c19580d..2206673 100644 ---- a/src/lzp.c -+++ b/src/lzp.c -@@ -11,8 +11,16 @@ - - #define MATCH 0xf2 - --static s32 lzp_encode_block(const u8 * restrict in, const u8 * in_end, u8 * restrict out, u8 * out_end, -- s32 * restrict lut, s32 mask, s32 m_len) { -+#if defined(__GNUC__) || defined(__clang__) -+ #define RESTRICT __restrict__ -+#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -+ #define RESTRICT __restrict -+#else -+ #error Your compiler, configuration or platform is not supported. -+#endif -+ -+static s32 lzp_encode_block(const u8 * RESTRICT in, const u8 * in_end, u8 * RESTRICT out, u8 * out_end, -+ s32 * RESTRICT lut, s32 mask, s32 m_len) { - const u8 *ins = in, *outs = out; - const u8 * out_eob = out_end - 8; - const u8 * heur = in; -@@ -28,7 +36,7 @@ static s32 lzp_encode_block(const u8 * restrict in, const u8 * in_end, u8 * rest - s32 val = lut[idx]; - lut[idx] = in - ins; - if (val > 0) { -- const u8 * restrict ref = ins + val; -+ const u8 * RESTRICT ref = ins + val; - if (memcmp(in + m_len - 4, ref + m_len - 4, sizeof(u32)) == 0 && memcmp(in, ref, sizeof(u32)) == 0) { - if (heur > in && *(u32 *)heur != *(u32 *)(ref + (heur - in))) goto not_found; - -@@ -85,7 +93,7 @@ static s32 lzp_encode_block(const u8 * restrict in, const u8 * in_end, u8 * rest - return out >= out_eob ? -1 : (s32)(out - outs); - } - --static s32 lzp_decode_block(const u8 * restrict in, const u8 * in_end, s32 * restrict lut, u8 * restrict out, s32 hash, -+static s32 lzp_decode_block(const u8 * RESTRICT in, const u8 * in_end, s32 * RESTRICT lut, u8 * RESTRICT out, s32 hash, - s32 m_len) { - if (in_end - in < 4) return -1; - -@@ -129,7 +137,7 @@ static s32 lzp_decode_block(const u8 * restrict in, const u8 * in_end, s32 * res - return out - outs; - } - --s32 lzp_compress(const u8 * restrict in, u8 * restrict out, s32 n, s32 hash, s32 m_len, s32 * restrict lut) { -+s32 lzp_compress(const u8 * RESTRICT in, u8 * RESTRICT out, s32 n, s32 hash, s32 m_len, s32 * RESTRICT lut) { - if (n - m_len < 32) return -1; - - memset(lut, 0, sizeof(s32) * (1 << hash)); -@@ -137,6 +145,6 @@ s32 lzp_compress(const u8 * restrict in, u8 * restrict out, s32 n, s32 hash, s32 - return lzp_encode_block(in, in + n, out, out + n, lut, (s32)(1 << hash) - 1, m_len); - } - --s32 lzp_decompress(const u8 * restrict in, u8 * restrict out, s32 n, s32 hash, s32 m_len, s32 * restrict lut) { -+s32 lzp_decompress(const u8 * RESTRICT in, u8 * RESTRICT out, s32 n, s32 hash, s32 m_len, s32 * RESTRICT lut) { - return lzp_decode_block(in, in + n, lut, out, hash, m_len); - } -diff --git a/src/rle.c b/src/rle.c -index b1f0340..2cb2e53 100644 ---- a/src/rle.c -+++ b/src/rle.c -@@ -19,6 +19,14 @@ - - #include "rle.h" - -+#if defined(__GNUC__) || defined(__clang__) -+ #define RESTRICT __restrict__ -+#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -+ #define RESTRICT __restrict -+#else -+ #error Your compiler, configuration or platform is not supported. -+#endif -+ - s32 mrlec(u8 * in, s32 inlen, u8 * out) { - u8 *ip = in, *in_end = in + inlen; - s32 op = 0; -@@ -57,7 +65,7 @@ s32 mrlec(u8 * in, s32 inlen, u8 * out) { - return op; - } - --void mrled(u8 * restrict in, u8 * restrict out, s32 outlen) { -+void mrled(u8 * RESTRICT in, u8 * RESTRICT out, s32 outlen) { - s32 op = 0, ip = 0; - - s32 c, pc = -1; diff --git a/recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch b/recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch deleted file mode 100644 index 3bdf13582cc59..0000000000000 --- a/recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch +++ /dev/null @@ -1,95 +0,0 @@ ---- a/include/common.h -+++ b/include/common.h -@@ -46,10 +46,6 @@ static void write_neutral_s32(u8 * data, s32 value) { - data[3] = (value >> 24) & 0xFF; - } - --#ifdef __MINGW32__ -- #define PUBLIC_API __declspec(dllexport) --#else -- #define PUBLIC_API --#endif -+#define PUBLIC_API - - #endif ---- a/include/libbz3.h -+++ b/include/libbz3.h -@@ -22,6 +22,16 @@ - - #include - -+#ifdef bzip3_EXPORTS -+#ifdef _WIN32 -+ #define BZIP3_API __declspec(dllexport) -+#else -+ #define BZIP3_API __attribute__((visibility("default"))) -+#endif -+#else -+ #define BZIP3_API -+#endif -+ - #define BZ3_OK 0 - #define BZ3_ERR_OUT_OF_BOUNDS -1 - #define BZ3_ERR_BWT -2 -@@ -35,31 +45,31 @@ struct bz3_state; - /** - * @brief Get the last error number associated with a given state. - */ --int8_t bz3_last_error(struct bz3_state * state); -+BZIP3_API int8_t bz3_last_error(struct bz3_state * state); - - /** - * @brief Return a user-readable message explaining the cause of the last error. - */ --const char * bz3_strerror(struct bz3_state * state); -+BZIP3_API const char * bz3_strerror(struct bz3_state * state); - - /** - * @brief Construct a new block encoder state, which will encode blocks as big as the given block size. - * The decoder will be able to decode blocks at most as big as the given block size. - * Returns NULL in case allocation fails or the block size is not between 65K and 511M - */ --struct bz3_state * bz3_new(int32_t block_size); -+BZIP3_API struct bz3_state * bz3_new(int32_t block_size); - - /** - * @brief Free the memory occupied by a block encoder state. - */ --void bz3_free(struct bz3_state * state); -+BZIP3_API void bz3_free(struct bz3_state * state); - - /** - * @brief Encode a single block. Returns the amount of bytes written to `buffer'. - * `buffer' must be able to hold at least `size + size / 50 + 32' bytes. The size must not - * exceed the block size associated with the state. - */ --int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); -+BZIP3_API int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); - - /** - * @brief Decode a single block. -@@ -68,7 +78,7 @@ int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * @param size The size of the compressed data in `buffer' - * @param orig_size The original size of the data before compression. - */ --int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); -+BZIP3_API int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); - - /** - * @brief Encode `n' blocks, all in parallel. -@@ -80,13 +90,13 @@ int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * - * Present in the shared library only if -lpthread was present during building. - */ --void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); -+BZIP3_API void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); - - /** - * @brief Decode `n' blocks, all in parallel. - * Same specifics as `bz3_encode_blocks', but doesn't overwrite `sizes'. - */ --void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], -+BZIP3_API void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], - int32_t n); - - #endif diff --git a/recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch b/recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch deleted file mode 100644 index e76dc6e0d184e..0000000000000 --- a/recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/include/libbz3.h b/include/libbz3.h -index a5ac58a..a9b13fd 100644 ---- a/include/libbz3.h -+++ b/include/libbz3.h -@@ -22,6 +22,16 @@ - - #include - -+#ifdef bzip3_EXPORTS -+#ifdef _WIN32 -+ #define BZIP3_API __declspec(dllexport) -+#else -+ #define BZIP3_API __attribute__((visibility("default"))) -+#endif -+#else -+ #define BZIP3_API -+#endif -+ - #define BZ3_OK 0 - #define BZ3_ERR_OUT_OF_BOUNDS -1 - #define BZ3_ERR_BWT -2 -@@ -35,31 +45,31 @@ struct bz3_state; - /** - * @brief Get the last error number associated with a given state. - */ --int8_t bz3_last_error(struct bz3_state * state); -+BZIP3_API int8_t bz3_last_error(struct bz3_state * state); - - /** - * @brief Return a user-readable message explaining the cause of the last error. - */ --const char * bz3_strerror(struct bz3_state * state); -+BZIP3_API const char * bz3_strerror(struct bz3_state * state); - - /** - * @brief Construct a new block encoder state, which will encode blocks as big as the given block size. - * The decoder will be able to decode blocks at most as big as the given block size. - * Returns NULL in case allocation fails or the block size is not between 65K and 511M - */ --struct bz3_state * bz3_new(int32_t block_size); -+BZIP3_API struct bz3_state * bz3_new(int32_t block_size); - - /** - * @brief Free the memory occupied by a block encoder state. - */ --void bz3_free(struct bz3_state * state); -+BZIP3_API void bz3_free(struct bz3_state * state); - - /** - * @brief Encode a single block. Returns the amount of bytes written to `buffer'. - * `buffer' must be able to hold at least `size + size / 50 + 32' bytes. The size must not - * exceed the block size associated with the state. - */ --int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); -+BZIP3_API int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); - - /** - * @brief Decode a single block. -@@ -68,7 +78,7 @@ int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * @param size The size of the compressed data in `buffer' - * @param orig_size The original size of the data before compression. - */ --int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); -+BZIP3_API int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); - - /** - * @brief Encode `n' blocks, all in parallel. -@@ -80,13 +90,13 @@ int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * - * Present in the shared library only if -lpthread was present during building. - */ --void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); -+BZIP3_API void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); - - /** - * @brief Decode `n' blocks, all in parallel. - * Same specifics as `bz3_encode_blocks', but doesn't overwrite `sizes'. - */ --void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], -+BZIP3_API void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], - int32_t n); - - #endif From d4b37567ccf49f37da36933c9fcd8257fb9e132d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 27 Nov 2023 14:01:56 +0100 Subject: [PATCH 2751/4087] (#21399) [bot] Update authorized users list (2023-11-27) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index e492f7b97c587..0cbf772510706 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1243,3 +1243,5 @@ authorized_users: - NelDav - utelle - har-bw +- abedra +- bennettgoble From 4533956c5c6b6d6457328847e81b3e5146d0a4de Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 27 Nov 2023 15:24:26 +0200 Subject: [PATCH 2752/4087] (#19073) ignition-cmake: migrate to Conan v2 * ignition-cmake: migrate to Conan v2 * ignition-cmake: fix Windows build, use tool_requires() in test_package * ignition-cmake: remove redundant test sources * ignition-cmake: add "gazebo" tag * ignition-cmake: clean up package_info() a bit * ignition-cmake: use as both regular and build req in test_package * ignition-cmake: v1 fix * ignition-math: fix test_v1_package --- recipes/ignition-cmake/all/CMakeLists.txt | 7 - recipes/ignition-cmake/all/conandata.yml | 6 +- recipes/ignition-cmake/all/conanfile.py | 136 +++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 42 ++++-- .../all/test_package/src/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 23 +++ 8 files changed, 139 insertions(+), 90 deletions(-) delete mode 100644 recipes/ignition-cmake/all/CMakeLists.txt create mode 100644 recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ignition-cmake/all/test_v1_package/conanfile.py diff --git a/recipes/ignition-cmake/all/CMakeLists.txt b/recipes/ignition-cmake/all/CMakeLists.txt deleted file mode 100644 index 8d6da516c42c7..0000000000000 --- a/recipes/ignition-cmake/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.10.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/ignition-cmake/all/conandata.yml b/recipes/ignition-cmake/all/conandata.yml index 91e85702d37b5..ccb98d28636f3 100644 --- a/recipes/ignition-cmake/all/conandata.yml +++ b/recipes/ignition-cmake/all/conandata.yml @@ -8,8 +8,6 @@ sources: patches: "2.5.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-cmake-fixes.patch" + - patch_file: "patches/0001-cmake-fixes.patch" "2.10.0": - - base_path: "source_subfolder" - patch_file: "patches/0002-ignition-cmake-2.10.0-fixes.patch" + - patch_file: "patches/0002-ignition-cmake-2.10.0-fixes.patch" diff --git a/recipes/ignition-cmake/all/conanfile.py b/recipes/ignition-cmake/all/conanfile.py index f09f2bd8badbc..90598402ac8d1 100644 --- a/recipes/ignition-cmake/all/conanfile.py +++ b/recipes/ignition-cmake/all/conanfile.py @@ -1,115 +1,121 @@ -from conans import CMake, ConanFile, tools, RunEnvironment -import conan.tools.files import os import textwrap +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class IgnitionCmakeConan(ConanFile): name = "ignition-cmake" + description = "A set of CMake modules that are used by the C++-based Ignition projects." license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/gazebosim/gz-cmake" - description = "A set of CMake modules that are used by the C++-based Ignition projects." - topics = ("ignition", "robotics", "cmake") - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - exports_sources = "CMakeLists.txt", "patches/**" + topics = ("ignition", "robotics", "cmake", "gazebo", "header-only") - _cmake = None + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + def export_sources(self): + export_conandata_patches(self) - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") def package_id(self): - self.info.header_only() - - def _configure_cmake(self): - if self._cmake is not None: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["CMAKE_INSTALL_DATAROOTDIR"] = "lib" - self._cmake.definitions["SKIP_component_name"] = False - self._cmake.configure(source_folder=self._source_subfolder) - return self._cmake + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_INSTALL_DATAROOTDIR"] = "lib" + tc.variables["SKIP_component_name"] = False + tc.generate() def build(self): - version_major = tools.Version(self.version).major - env_build = RunEnvironment(self) - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - version_major = tools.Version(self.version).major - cmake_config_files_dir = os.path.join(self.package_folder, "lib", "cmake",f"ignition-cmake{version_major}") - files = os.listdir(cmake_config_files_dir) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "bin")) - # retain the special config file for utilities target provided by ignition-cmake - # removing it from the list - files.remove(f"ignition-cmake{version_major}-utilities-targets.cmake") - - # remove all other xxx.cmake files from the list - for file in files: + version_major = Version(self.version).major + cmake_config_files_dir = os.path.join(self.package_folder, "lib", "cmake", f"ignition-cmake{version_major}") + for file in os.listdir(cmake_config_files_dir): if file.endswith(".cmake"): + if file == f"ignition-cmake{version_major}-utilities-targets.cmake": + # retain the special config file for utilities target provided by ignition-cmake + continue os.remove(os.path.join(cmake_config_files_dir, file)) - - # add version information for downstream dependencies consuming ign-cmake through cmake_find_package generators + + # add version information for downstream dependencies consuming ign-cmake through CMake generators self._create_cmake_module_variables( os.path.join(self.package_folder, self._module_file_rel_path), - tools.Version(self.version) + Version(self.version) ) - @staticmethod - def _create_cmake_module_variables(module_file, version): + def _create_cmake_module_variables(self, module_file, version): # the version info is needed by downstream ignition-dependencies - content = textwrap.dedent("""\ - set(ignition-cmake{major}_VERSION_MAJOR {major}) - set(ignition-cmake{major}_VERSION_MINOR {minor}) - set(ignition-cmake{major}_VERSION_PATCH {patch}) - set(ignition-cmake{major}_VERSION_STRING "{major}.{minor}.{patch}") - """.format(major=version.major, minor=version.minor, patch=version.patch)) - tools.save(module_file, content) + content = textwrap.dedent(f"""\ + set(ignition-cmake{version.major}_VERSION_MAJOR {version.major}) + set(ignition-cmake{version.major}_VERSION_MINOR {version.minor}) + set(ignition-cmake{version.major}_VERSION_PATCH {version.patch}) + set(ignition-cmake{version.major}_VERSION_STRING "{version.major}.{version.minor}.{version.patch}") + """) + save(self, module_file, content) + + + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") def package_info(self): - version_major = tools.Version(self.version).major + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.frameworkdirs = [] + + version_major = Version(self.version).major ign_cmake_component = f"ignition-cmake{version_major}" - base_module_path = os.path.join(self.package_folder, "lib", "cmake", ign_cmake_component) + self.cpp_info.set_property("cmake_file_name", ign_cmake_component) + + base_module_path = os.path.join("lib", "cmake", ign_cmake_component) ign_cmake_file = os.path.join(base_module_path, f"cmake{version_major}", "IgnCMake.cmake") utils_targets_file = os.path.join(base_module_path, f"{ign_cmake_component}-utilities-targets.cmake") - + self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path, ign_cmake_file, utils_targets_file]) + + self.cpp_info.components[ign_cmake_component].set_property("cmake_target_name", f"{ign_cmake_component}::{ign_cmake_component}") + self.cpp_info.components[ign_cmake_component].builddirs.append(os.path.join(base_module_path, f"cmake{version_major}")) + + self.cpp_info.components["utilities"].set_property("cmake_target_name", f"{ign_cmake_component}::utilities") + self.cpp_info.components["utilities"].builddirs.append(os.path.join(base_module_path, f"cmake{version_major}")) + self.cpp_info.components["utilities"].includedirs.append(os.path.join("include", "ignition", f"cmake{version_major}")) + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = ign_cmake_component self.cpp_info.names["cmake_find_package_multi"] = ign_cmake_component self.cpp_info.names["cmake_paths"] = ign_cmake_component - self.cpp_info.components[ign_cmake_component].names["cmake_find_package"] = ign_cmake_component self.cpp_info.components[ign_cmake_component].names["cmake_find_package_multi"] = ign_cmake_component self.cpp_info.components[ign_cmake_component].names["cmake_paths"] = ign_cmake_component - self.cpp_info.components[ign_cmake_component].builddirs.append(os.path.join(base_module_path, f"cmake{version_major}")) - self.cpp_info.components[ign_cmake_component].build_modules["cmake_find_package"] = [self._module_file_rel_path, ign_cmake_file] self.cpp_info.components[ign_cmake_component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path, ign_cmake_file] self.cpp_info.components[ign_cmake_component].build_modules["cmake_paths"] = [self._module_file_rel_path, ign_cmake_file] - self.cpp_info.components["utilities"].names["cmake_find_package"] = "utilities" self.cpp_info.components["utilities"].names["cmake_find_package_multi"] = "utilities" self.cpp_info.components["utilities"].names["cmake_paths"] = "utilities" - self.cpp_info.components["utilities"].includedirs.append(f"include/ignition/cmake{version_major}") - - self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path, ign_cmake_file]) self.cpp_info.components["utilities"].build_modules["cmake_find_package"] = [self._module_file_rel_path, ign_cmake_file, utils_targets_file] self.cpp_info.components["utilities"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path, ign_cmake_file, utils_targets_file] self.cpp_info.components["utilities"].build_modules["cmake_paths"] = [self._module_file_rel_path, ign_cmake_file, utils_targets_file] diff --git a/recipes/ignition-cmake/all/test_package/CMakeLists.txt b/recipes/ignition-cmake/all/test_package/CMakeLists.txt index 9595663869a7f..de43752ed5575 100644 --- a/recipes/ignition-cmake/all/test_package/CMakeLists.txt +++ b/recipes/ignition-cmake/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.10.2) +cmake_minimum_required(VERSION 3.15) project(test_package VERSION 1.0) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(IGN_CMAKE_VER "" CACHE STRING "Version of igition-cmake") if(NOT IGN_CMAKE_VER) diff --git a/recipes/ignition-cmake/all/test_package/conanfile.py b/recipes/ignition-cmake/all/test_package/conanfile.py index 5b49fe0a15144..708eb36d16238 100644 --- a/recipes/ignition-cmake/all/test_package/conanfile.py +++ b/recipes/ignition-cmake/all/test_package/conanfile.py @@ -1,23 +1,47 @@ import os -from conans import CMake, ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" test_type = "explicit" + def requirements(self): - self.requires(self.tested_reference_str) + # For headers + self.requires(self.tested_reference_str) + + def build_requirements(self): + # For *.cmake files + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["IGN_CMAKE_VER"] = Version(self.dependencies["ignition-cmake"].ref.version).major + tc.generate() + deps = CMakeDeps(self) + # If using as a build requirement, the following lines are necessary + # deps.build_context_activated = ["ignition-cmake"] + # deps.build_context_build_modules = ["ignition-cmake"] + deps.generate() def build(self): cmake = CMake(self) - cmake.definitions["IGN_CMAKE_VER"] = tools.Version(self.deps_cpp_info["ignition-cmake"].version).major cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + if is_msvc(self): + bin_path = os.path.join(self.build_folder, "bin", str(self.settings.build_type), "test_package") + else: + bin_path = os.path.join(self.build_folder, "bin", "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt b/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt index e050db890afd7..3934b5db47f4a 100644 --- a/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt +++ b/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt @@ -1,3 +1,3 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) ign_add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} ignition-cmake${IGN_CMAKE_VER}::utilities) diff --git a/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt b/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ignition-cmake/all/test_v1_package/conanfile.py b/recipes/ignition-cmake/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..8f851887ec419 --- /dev/null +++ b/recipes/ignition-cmake/all/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +import os + +from conans import CMake, ConanFile, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.definitions["IGN_CMAKE_VER"] = tools.Version(self.deps_cpp_info["ignition-cmake"].version).major + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join(self.build_folder, "bin", "test_package") + self.run(bin_path, run_environment=True) From 812e92c681878a0867423d04cbc697beaaafda3c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 14:48:26 +0100 Subject: [PATCH 2753/4087] (#21337) libssh2: cleanup patches * libssh2: cleanup patches also, use more compact archive for 1.11.0 identified by #21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ * Update conandata.yml --- recipes/libssh2/all/conandata.yml | 4 ++-- recipes/libssh2/all/patches/0001-threads.patch | 16 ---------------- 2 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 recipes/libssh2/all/patches/0001-threads.patch diff --git a/recipes/libssh2/all/conandata.yml b/recipes/libssh2/all/conandata.yml index f30a9ab38ce9b..46c0ee9468864 100644 --- a/recipes/libssh2/all/conandata.yml +++ b/recipes/libssh2/all/conandata.yml @@ -1,7 +1,7 @@ sources: "1.11.0": - sha256: 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461 - url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.0/libssh2-1.11.0.tar.gz + sha256: a488a22625296342ddae862de1d59633e6d446eff8417398e06674a49be3d7c2 + url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.0/libssh2-1.11.0.tar.xz "1.10.0": sha256: 2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51 url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.10.0/libssh2-1.10.0.tar.gz diff --git a/recipes/libssh2/all/patches/0001-threads.patch b/recipes/libssh2/all/patches/0001-threads.patch deleted file mode 100644 index 05985dac07a46..0000000000000 --- a/recipes/libssh2/all/patches/0001-threads.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index eee1a80..3373f2a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -42,6 +42,11 @@ include(CheckSymbolExists) - include(CheckNonblockingSocketSupport) - include(SocketLibraries) - -+if(UNIX AND NOT APPLE) -+ find_package(Threads REQUIRED) -+ list(APPEND LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) -+endif() -+ - ## Cryptography backend choice - - set(CRYPTO_BACKEND From 4231631ba75228ccc440e1efb6a804d0eedc5d02 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 15:08:15 +0100 Subject: [PATCH 2754/4087] (#21338) m4: cleanup patches patch was introduced in https://github.com/conan-io/conan-center-index/pull/346/files but never applied also, use more compact archives identified by #21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ --- recipes/m4/all/conandata.yml | 12 ++++++------ .../patches/1.4.18-0003-secure_snprintf.patch | 16 ---------------- 2 files changed, 6 insertions(+), 22 deletions(-) delete mode 100644 recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch diff --git a/recipes/m4/all/conandata.yml b/recipes/m4/all/conandata.yml index 3b25f4d23294d..6dc3bb1b5c347 100644 --- a/recipes/m4/all/conandata.yml +++ b/recipes/m4/all/conandata.yml @@ -1,14 +1,14 @@ sources: "1.4.19": url: - - "https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.gz" - - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.19.tar.gz" - sha256: "3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70" + - "https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz" + - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.19.tar.xz" + sha256: "63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96" "1.4.18": url: - - "https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.gz" - - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.18.tar.gz" - sha256: "ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab" + - "https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz" + - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.18.tar.xz" + sha256: "f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07" patches: "1.4.19": - patch_file: "patches/1.4.19-0001-open-files-in-binary-mode.patch" diff --git a/recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch b/recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch deleted file mode 100644 index 0afa4da0a47d0..0000000000000 --- a/recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch +++ /dev/null @@ -1,16 +0,0 @@ -patch taken from https://github.com/macports/macports-ports/blob/master/devel/m4/files/secure_snprintf.patch -to fix invalid instruction error on OSX when running m4 - -diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c -index 246831f..ae47ebf 100644 ---- a/lib/vasnprintf.c -+++ b/lib/vasnprintf.c -@@ -4858,7 +4858,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - #endif - *fbp = dp->conversion; - #if USE_SNPRINTF --# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -+#if !defined(__APPLE__) && !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; From a45917ad303f3391c1a4d0b2e3af49ddcce03ba6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 15:28:14 +0100 Subject: [PATCH 2755/4087] (#21339) mpfr: cleanup patches they were introduced in https://github.com/conan-io/conan-center-index/pull/14687 but never applied also, use more compact archives identified by #21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ --- recipes/mpfr/all/conandata.yml | 16 +++++++------- .../4.0.2-0001-configure.ac-fixes.patch | 21 ------------------ .../4.1.0-0001-configure.ac-fixes.patch | 22 ------------------- .../4.2.0-0001-configure.ac-fixes.patch | 10 --------- 4 files changed, 8 insertions(+), 61 deletions(-) delete mode 100644 recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch delete mode 100644 recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch delete mode 100644 recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch diff --git a/recipes/mpfr/all/conandata.yml b/recipes/mpfr/all/conandata.yml index bdecd0395c37d..afd84455cac46 100644 --- a/recipes/mpfr/all/conandata.yml +++ b/recipes/mpfr/all/conandata.yml @@ -1,16 +1,16 @@ sources: "4.2.1": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.gz" - sha256: "116715552bd966c85b417c424db1bbdf639f53836eb361549d1f8d6ded5cb4c6" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz" + sha256: "277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2" "4.2.0": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.gz" - sha256: "f1cc1c6bb14d18f0c61cc416e083f5e697b6e0e3cf9630b9b33e8e483fc960f0" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.xz" + sha256: "06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993" "4.1.0": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.gz" - sha256: "3127fe813218f3a1f0adf4e8899de23df33b4cf4b4b3831a5314f78e65ffa2d6" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz" + sha256: "0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f" "4.0.2": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.gz" - sha256: "ae26cace63a498f07047a784cd3b0e4d010b44d2b193bab82af693de57a19a78" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz" + sha256: "1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a" patches: "4.2.1": - patch_file: "patches/4.2.0-0002-windows-header-dll.patch" diff --git a/recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch deleted file mode 100644 index c6b67dbae98b2..0000000000000 --- a/recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -27,6 +27,7 @@ - - dnl Add check-news when it checks for more than 15 lines - AC_INIT([MPFR],[4.0.2]) -+AC_CANONICAL_TARGET - - dnl Older Automake versions than 1.13 may still be supported, but no longer - dnl tested, and many things have changed in 1.13. Moreover the INSTALL file - ---- acinclude.m4 -+++ acinclude.m4 -@@ -41,7 +41,6 @@ - AC_REQUIRE([AC_OBJEXT]) - AC_REQUIRE([MPFR_CHECK_LIBM]) - AC_REQUIRE([MPFR_CHECK_LIBQUADMATH]) --AC_REQUIRE([AC_HEADER_TIME]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - dnl Features for the MPFR shared cache. This needs to be done diff --git a/recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch deleted file mode 100644 index 888d7d12deb82..0000000000000 --- a/recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -27,6 +27,7 @@ - - dnl Add check-news when it checks for more than 15 lines - AC_INIT([MPFR],[4.1.0]) -+AC_CANONICAL_TARGET - - dnl Older Automake versions than 1.13 may still be supported, but no longer - dnl tested, and many things have changed in 1.13. Moreover the INSTALL file - ---- acinclude.m4 -+++ acinclude.m4 -@@ -40,7 +40,6 @@ - AC_REQUIRE([AC_OBJEXT]) - AC_REQUIRE([MPFR_CHECK_LIBM]) - AC_REQUIRE([MPFR_CHECK_LIBQUADMATH]) --AC_REQUIRE([AC_HEADER_TIME]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - dnl Features for the MPFR shared cache. This needs to be done - diff --git a/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch deleted file mode 100644 index 59480e9bde74c..0000000000000 --- a/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -44,6 +44,7 @@ - dnl as it could cause confusion. But let's keep AC_CANONICAL_HOST here, - dnl since this may be a better place than later. - AC_CANONICAL_HOST -+AC_CANONICAL_TARGET - - dnl Older Automake versions than 1.13 may still be supported, but no longer - dnl tested, and many things have changed in 1.13. Moreover the INSTALL file From fbbe79c0b62a6ca30eee9969dd58175101a7a467 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 23:47:59 +0900 Subject: [PATCH 2756/4087] (#21343) suyash-ulid: add recipe * ulid: add recipe * rename ulid to suyash-ulid --- recipes/suyash-ulid/all/conandata.yml | 4 ++ recipes/suyash-ulid/all/conanfile.py | 51 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../suyash-ulid/all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 11 ++++ recipes/suyash-ulid/config.yml | 3 ++ 6 files changed, 103 insertions(+) create mode 100644 recipes/suyash-ulid/all/conandata.yml create mode 100644 recipes/suyash-ulid/all/conanfile.py create mode 100644 recipes/suyash-ulid/all/test_package/CMakeLists.txt create mode 100644 recipes/suyash-ulid/all/test_package/conanfile.py create mode 100644 recipes/suyash-ulid/all/test_package/test_package.cpp create mode 100644 recipes/suyash-ulid/config.yml diff --git a/recipes/suyash-ulid/all/conandata.yml b/recipes/suyash-ulid/all/conandata.yml new file mode 100644 index 0000000000000..31eb78c9466e9 --- /dev/null +++ b/recipes/suyash-ulid/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20201213": + url: "https://github.com/suyash/ulid/archive/3a46362db2c0f5fece10e59a52bdefbf7eec0877.tar.gz" + sha256: "4a9756e5d481f591c0ea4f4e767b5eecf05fea32e5b74915b044d1401548485a" diff --git a/recipes/suyash-ulid/all/conanfile.py b/recipes/suyash-ulid/all/conanfile.py new file mode 100644 index 0000000000000..df3cfccf4abd0 --- /dev/null +++ b/recipes/suyash-ulid/all/conanfile.py @@ -0,0 +1,51 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class SuyashUlidConan(ConanFile): + name = "suyash-ulid" + description = "ulids in C++, Header Only" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://suy.io/ulid/" + topics = ("ulid", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + # Copy all files to the package folder + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.hh", + os.path.join(self.source_folder, "src"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/suyash-ulid/all/test_package/CMakeLists.txt b/recipes/suyash-ulid/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..16ec5b9fe9802 --- /dev/null +++ b/recipes/suyash-ulid/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(suyash-ulid REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE suyash-ulid::suyash-ulid) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/suyash-ulid/all/test_package/conanfile.py b/recipes/suyash-ulid/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/suyash-ulid/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/suyash-ulid/all/test_package/test_package.cpp b/recipes/suyash-ulid/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c6c6528f85a1f --- /dev/null +++ b/recipes/suyash-ulid/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include + +#include "ulid.hh" + +int main(void) { + ulid::ULID ulid = ulid::Create(1484581420, []() { return 4; }); + std::string str = ulid::Marshal(ulid); + std::cout << str << '\n'; // 0001C7STHC0G2081040G208104 + + return EXIT_SUCCESS; +} diff --git a/recipes/suyash-ulid/config.yml b/recipes/suyash-ulid/config.yml new file mode 100644 index 0000000000000..3d9ceb6ab28c0 --- /dev/null +++ b/recipes/suyash-ulid/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20201213": + folder: all From 98c2841d48957f14752c1064b9098862bbf6522f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 16:08:17 +0100 Subject: [PATCH 2757/4087] (#21401) qarchive: add version 2.2.8 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/qarchive/all/conandata.yml | 3 +++ recipes/qarchive/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/qarchive/all/conandata.yml b/recipes/qarchive/all/conandata.yml index 421701414538e..5c350fe46c402 100644 --- a/recipes/qarchive/all/conandata.yml +++ b/recipes/qarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.8": + url: "https://github.com/antony-jr/QArchive/archive/v2.2.8.tar.gz" + sha256: "2f231b48b51de5d730f98bffbff34d7791b61ea766429230d81bce82c7ce1bf9" "2.2.6": url: "https://github.com/antony-jr/QArchive/archive/v2.2.6.tar.gz" sha256: "c0cad2bc79eeb4ab4180fd97822a967b8a0e3c594387ccf921733449ee5bd3e6" diff --git a/recipes/qarchive/config.yml b/recipes/qarchive/config.yml index b9579224638bc..201ce057fb3e5 100644 --- a/recipes/qarchive/config.yml +++ b/recipes/qarchive/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.8": + folder: all "2.2.6": folder: all "2.2.4": From 1ca07bc24a4c55cae7624fcb8261fd43e68a7655 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 01:09:07 +0900 Subject: [PATCH 2758/4087] (#21393) mozjpeg: add version 4.1.5 --- recipes/mozjpeg/all/conandata.yml | 7 ++++ .../all/patches/4.1.5-0001-cmake-fixes.patch | 34 +++++++++++++++++++ recipes/mozjpeg/config.yml | 2 ++ 3 files changed, 43 insertions(+) create mode 100644 recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch diff --git a/recipes/mozjpeg/all/conandata.yml b/recipes/mozjpeg/all/conandata.yml index 972600a1f5a90..16c60131167b1 100644 --- a/recipes/mozjpeg/all/conandata.yml +++ b/recipes/mozjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.5": + url: "https://github.com/mozilla/mozjpeg/archive/v4.1.5.tar.gz" + sha256: "9fcbb7171f6ac383f5b391175d6fb3acde5e64c4c4727274eade84ed0998fcc1" "4.1.3": url: "https://github.com/mozilla/mozjpeg/archive/v4.1.3.tar.gz" sha256: "f6ce89f616b30c498d1fb3b0f0940914557d8393a79c9e7aafff72032446bca0" @@ -12,6 +15,10 @@ sources: url: "https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz" sha256: "aebbea60ea038a84a2d1ed3de38fdbca34027e2e54ee2b7d08a97578be72599d" patches: + "4.1.5": + - patch_file: "patches/4.1.5-0001-cmake-fixes.patch" + patch_description: "fix install folder and disable /NODEFAULT in MSVC" + patch_type: "conan" "4.1.3": - patch_file: "patches/4.1.3-0001-cmake-fixes.patch" patch_description: "fix install folder and disable /NODEFAULT in MSVC" diff --git a/recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch b/recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch new file mode 100644 index 0000000000000..d3dd3fde8807b --- /dev/null +++ b/recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 939625d..c234c44 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1518,7 +1518,7 @@ if(WITH_TURBOJPEG) + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() +- install(PROGRAMS ${DIR}/tjbench-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) + endif() + endif() +@@ -1536,16 +1536,16 @@ if(ENABLE_STATIC) + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() +- install(PROGRAMS ${DIR}/cjpeg-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME cjpeg${EXE}) +- install(PROGRAMS ${DIR}/djpeg-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME djpeg${EXE}) +- install(PROGRAMS ${DIR}/jpegtran-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE}) + endif() + endif() + +-install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS rdjpgcom wrjpgcom DESTINATION ${CMAKE_INSTALL_BINDIR}) + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg + ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt diff --git a/recipes/mozjpeg/config.yml b/recipes/mozjpeg/config.yml index 980a55d043dc8..ae34a5e9040b3 100644 --- a/recipes/mozjpeg/config.yml +++ b/recipes/mozjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.5": + folder: all "4.1.3": folder: all "4.1.1": From a0789b2c77078a79afc1ecb3f7704cf63048f089 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 01:39:22 +0900 Subject: [PATCH 2759/4087] (#21385) protobuf-c: add version 1.5.0 * protobuf-c: add version 1.5.0 * build require cmake * remove cmake files * disable MSVC RUNTIME setting --- recipes/protobuf-c/all/conandata.yml | 7 +++++++ recipes/protobuf-c/all/conanfile.py | 6 +++++- .../all/patches/1.5.0-disable-msvc-runtime.patch | 13 +++++++++++++ recipes/protobuf-c/config.yml | 2 ++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch diff --git a/recipes/protobuf-c/all/conandata.yml b/recipes/protobuf-c/all/conandata.yml index 9007e5a9a5e00..76c13c0bb2057 100644 --- a/recipes/protobuf-c/all/conandata.yml +++ b/recipes/protobuf-c/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.5.0": + url: "https://github.com/protobuf-c/protobuf-c/archive/v1.5.0.tar.gz" + sha256: "d4cb022d55f49796959b07a9d83040822e39129bc0eb28f4e8301da17d758f62" "1.4.1": url: https://github.com/protobuf-c/protobuf-c/archive/v1.4.1.tar.gz sha256: 99be336cdb15dfc5827efe34e5ac9aaa962e2485db547dd254d2a122a7d23102 patches: + "1.5.0": + - patch_file: "patches/1.5.0-disable-msvc-runtime.patch" + patch_description: "disable msvc runtime setting" + patch_type: conan "1.4.1": # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged - patch_file: "patches/1.4.1-cmake-protobuf-target.patch" diff --git a/recipes/protobuf-c/all/conanfile.py b/recipes/protobuf-c/all/conanfile.py index 83f6ad3e9a327..2111ba51320e0 100644 --- a/recipes/protobuf-c/all/conanfile.py +++ b/recipes/protobuf-c/all/conanfile.py @@ -55,6 +55,8 @@ def build_requirements(self): self.tool_requires("protobuf/3.21.9", visible=True) else: self.tool_requires("protobuf/3.21.9") + if Version(self.version) >= "1.5.0": + self.tool_requires("cmake/[>=3.19 <4]") def requirements(self): self.requires("protobuf/3.21.9") @@ -89,9 +91,11 @@ def package(self): cmake = CMake(self) cmake.install() copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged copy(self, "protobuf-c.cmake", dst=os.path.join(self.package_folder, self._cmake_install_base_path), src=self.export_sources_folder) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): # upstream CMake config file name and target name matches the package name diff --git a/recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch b/recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch new file mode 100644 index 0000000000000..babf079071444 --- /dev/null +++ b/recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch @@ -0,0 +1,13 @@ +diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt +index f46fba7..bac3ce4 100644 +--- a/build-cmake/CMakeLists.txt ++++ b/build-cmake/CMakeLists.txt +@@ -68,7 +68,7 @@ if(MSVC) + + # Allow matching protobuf runtime dependency + if(NOT BUILD_SHARED_LIBS) +- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") ++# set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + endif(NOT BUILD_SHARED_LIBS) + + ENDIF() diff --git a/recipes/protobuf-c/config.yml b/recipes/protobuf-c/config.yml index 4709a2eb80f4c..e8bcb86099429 100644 --- a/recipes/protobuf-c/config.yml +++ b/recipes/protobuf-c/config.yml @@ -1,3 +1,5 @@ versions: + "1.5.0": + folder: all "1.4.1": folder: all From 2ad6bd093eef1c9510cfd6847257846b81698781 Mon Sep 17 00:00:00 2001 From: Kischy <42995291+Kischy@users.noreply.github.com> Date: Mon, 27 Nov 2023 18:07:18 +0100 Subject: [PATCH 2760/4087] (#20892) Open62541 - Allow more clang versions * Added open62541 v1.3.8 * Added libary version check to clang support check * Updated invalid configuration string * Added -fsanitize=address compile flag to test_package for clang and debug * Removed support for clang-12 * Readded support for clang-12 * Added compiler option -fsanitize=address to test_package * Removed cmake generator expression and switched to if * Corrected cmake of test_package * - Added -fsanitize=address to test_package of v1 * - Added debug_sanitizer option to recipe - Removed linker option -fsanitize=address from test_packes * Removed lower bug versions of open62541 for each minor version * Updated supported clang versions to allow a broader variity of clang and open62541 versions * Updated forgotten config.yml * Added usage of debug_sanitizer to generate() * Deleted old patch files * - Removed debug_sanitizer option from conanfile.py - Added patch to remove the sanitizers for v. 1.3.8 * Switched to f-string instead of format string * Updated patch so unused code is removed instead of commented --- recipes/open62541/all/conandata.yml | 75 +------ recipes/open62541/all/conanfile.py | 13 +- .../0001-disable-sanitizers-1_3_x.patch | 24 +++ .../0001-fix-cmake-find-deps-1_3_1.patch | 200 ------------------ .../0001-fix-cmake-find-deps-1_3_4.patch | 196 ----------------- ...2-disable-sanitizers-1_1_3-and-1_1_5.patch | 23 -- recipes/open62541/all/submoduledata.yml | 37 +--- .../open62541/all/test_package/CMakeLists.txt | 1 + .../all/test_v1_package/CMakeLists.txt | 1 + recipes/open62541/config.yml | 16 +- 10 files changed, 41 insertions(+), 545 deletions(-) create mode 100644 recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch delete mode 100644 recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch delete mode 100644 recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch delete mode 100644 recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch diff --git a/recipes/open62541/all/conandata.yml b/recipes/open62541/all/conandata.yml index e50e7d9a28e65..41d18d560523a 100644 --- a/recipes/open62541/all/conandata.yml +++ b/recipes/open62541/all/conandata.yml @@ -1,67 +1,22 @@ sources: - "1.3.6": - url: "https://github.com/open62541/open62541/archive/v1.3.6.tar.gz" - sha256: "0751ce6273908b1e571f36591665f3d5b9451514c2478ea5f6b4b466d7da6b02" - "1.3.4": - url: "https://github.com/open62541/open62541/archive/v1.3.4.tar.gz" - sha256: "3489cfa2f98c52df252adc8e641a9e59cb675bdfd5ef413b0d947e667cddd16d" - "1.3.1": - url: "https://github.com/open62541/open62541/archive/v1.3.1.tar.gz" - sha256: "f54d10325fd08fc1505aea37d83daa085912a269521e6d018bfc41a744ba57aa" + "1.3.8": + url: "https://github.com/open62541/open62541/archive/v1.3.8.tar.gz" + sha256: "b6943b564787c4953b77ca8d7f987c4b896b3f3e91f45d9f13e9056b6148bc1d" "1.2.6": url: "https://github.com/open62541/open62541/archive/v1.2.6.tar.gz" sha256: "7470c1e2f97d0e7dad9632ced7b62f0add66a3c689532204ef85b0556d129106" - "1.2.4": - url: "https://github.com/open62541/open62541/archive/v1.2.4.tar.gz" - sha256: "b2d00b91e8315b61efaef6398f0902a0c9a8f357aa6d02f7f000a429048c97ae" - "1.2.2": - url: "https://github.com/open62541/open62541/archive/v1.2.2.tar.gz" - sha256: "9b5bfd811ee523be601f11abc514a93c67fe5c6e957cd6c36fe6ea4f28e009bb" "1.1.6": url: "https://github.com/open62541/open62541/archive/v1.1.6.tar.gz" sha256: "005bb336ba52f2c0add479bb46de8aa4216efa7f2bfd8b1c24a0271494edbd3f" - "1.1.5": - url: "https://github.com/open62541/open62541/archive/v1.1.5.tar.gz" - sha256: "a3e689216d75c3313bffdbb1cb7190d63b173410f392b8c558062fdd667635d7" - "1.1.3": - url: "https://github.com/open62541/open62541/archive/v1.1.3.tar.gz" - sha256: "12770bf9f5d9f44dedce0d1b34066dd14111d24c73a2f0153420e0a750e85d19" "1.0.6": url: "https://github.com/open62541/open62541/archive/v1.0.6.tar.gz" sha256: "299940025c14929533064abe0044d5805ea50d52b32d05ad9bc0e6996569c2a6" - "1.0.3": - url: "https://github.com/open62541/open62541/archive/v1.0.3.tar.gz" - sha256: "3e4c939d702d06d89f32a1cafe2b992c7f3d81c8f8579e093a972d4bc4fb3d50" patches: - "1.3.4": - - patch_file: "patches/0001-fix-cmake-find-deps-1_3_4.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - "1.3.1": - - patch_file: "patches/0001-fix-cmake-find-deps-1_3_1.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - "1.2.6": - - patch_file: "patches/0001-fix-cmake-find-deps-1_2_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0003-disable-sanitizers-1_2_x.patch" - patch_description: "Disable static code analysis" - patch_type: "conan" - - patch_file: "patches/0003-fix-use-usr-bin-env-python3.patch" - patch_description: "Use python3 instead of default python interpreter" - patch_type: "conan" - "1.2.4": - - patch_file: "patches/0001-fix-cmake-find-deps-1_2_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0003-disable-sanitizers-1_2_x.patch" + "1.3.8": + - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" patch_description: "Disable static code analysis" patch_type: "conan" - - patch_file: "patches/0003-fix-use-usr-bin-env-python3.patch" - patch_description: "Use python3 instead of default python interpreter" - patch_type: "conan" - "1.2.2": + "1.2.6": - patch_file: "patches/0001-fix-cmake-find-deps-1_2_x.patch" patch_description: "Use Cmake find_package(*) to resolve external dependencies" patch_type: "portability" @@ -78,25 +33,7 @@ patches: - patch_file: "patches/0003-disable-sanitizers-1_1_6.patch" patch_description: "Disable static code analysis" patch_type: "conan" - "1.1.5": - - patch_file: "patches/0001-fix-cmake-find-deps-1_1_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch" - patch_description: "Disable static code analysis" - patch_type: "conan" - "1.1.3": - - patch_file: "patches/0001-fix-cmake-find-deps-1_1_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch" - patch_description: "Disable static code analysis" - patch_type: "conan" "1.0.6": - patch_file: "patches/1_0_x.patch" patch_description: "Fix CMAKE_MODULE_PATH and PROJECT_VERSION variables, remove -Werror flag, disable static code analysis, use Cmake find_package(*) to resolve external dependencies, fix include paths" patch_type: "conan" - "1.0.3": - - patch_file: "patches/1_0_x.patch" - patch_description: "Fix CMAKE_MODULE_PATH and PROJECT_VERSION variables, remove -Werror flag, disable static code analysis, use Cmake find_package(*) to resolve external dependencies, fix include paths" - patch_type: "conan" diff --git a/recipes/open62541/all/conanfile.py b/recipes/open62541/all/conanfile.py index a620f7d0b2c63..2321b74998973 100644 --- a/recipes/open62541/all/conanfile.py +++ b/recipes/open62541/all/conanfile.py @@ -108,7 +108,7 @@ class Open62541Conan(ConanFile): # UA_COMPILE_AS_CXX=cpp_compatible "cpp_compatible": [True, False], # UA_ENABLE_STATUSCODE_DESCRIPTIONS=readable_statuscodes - "readable_statuscodes": [True, False] + "readable_statuscodes": [True, False], } default_options = { "fPIC": True, @@ -136,7 +136,7 @@ class Open62541Conan(ConanFile): "typenames": True, "hardening": True, "cpp_compatible": False, - "readable_statuscodes": True + "readable_statuscodes": True, } exports = "submoduledata.yml" @@ -215,10 +215,10 @@ def validate(self): raise ConanInvalidConfiguration( "Lower Open62541 versions than 1.1.0 are not cpp compatible due to -fpermisive flags") - max_clang_version = "8" if Version(self.version) < "1.1.0" else "9" - if self.settings.compiler == "clang" and Version(self.settings.compiler.version) > max_clang_version: + unsupported_clang_version = "8" if Version(self.version) < "1.1.0" else "9" + if self.settings.compiler == "clang" and Version(self.settings.compiler.version) == unsupported_clang_version: raise ConanInvalidConfiguration( - "Open62541 supports Clang up to {} compiler version".format(max_clang_version)) + f"{self.ref} does not support Clang version {self.settings.compiler.version}") if self.settings.compiler == "clang": if Version(self.settings.compiler.version) < "5": @@ -353,7 +353,7 @@ def generate(self): tc.variables["UA_MSVC_FORCE_STATIC_CRT"] = True tc.variables["UA_COMPILE_AS_CXX"] = self.options.cpp_compatible - + # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" @@ -451,3 +451,4 @@ def package_info(self): self._module_file_rel_path] self.cpp_info.set_property("cmake_build_modules", [ self._module_file_rel_path]) + diff --git a/recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch b/recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch new file mode 100644 index 0000000000000..a2c9d60322e4f --- /dev/null +++ b/recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5300b12f6..9a80321da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -749,19 +749,6 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST + # Linker + set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default + +- # Debug +- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND +- "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) +- # Add default sanitizer settings when using clang and Debug build. +- # This allows e.g. CLion to find memory locations for SegFaults +- message(STATUS "Sanitizer enabled") +- set(SANITIZER_FLAGS "-g -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize=undefined") +- if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0) +- set(SANITIZER_FLAGS "${SANITIZER_FLAGS} -fsanitize-coverage=trace-pc-guard") +- endif() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") +- endif() + + if(NOT MINGW AND UA_ENABLE_HARDENING AND ((CMAKE_BUILD_TYPE STREQUAL "Release") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))) + check_add_cc_flag("-D_FORTIFY_SOURCE=2") # run-time buffer overflow detection (needs at least -O1) diff --git a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch b/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch deleted file mode 100644 index 470202a51fce2..0000000000000 --- a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch +++ /dev/null @@ -1,200 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2a140ebd..bbca9b1f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -11,7 +11,7 @@ endif() - - string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER_CASE) - --set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/tools/cmake") -+set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR};${PROJECT_SOURCE_DIR}/tools/cmake") - find_package(Python3 REQUIRED) - set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) - find_package(Git) -@@ -40,15 +40,12 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - # The current version information. On the master branch, we take the version - # number from the latest release plus the "-undefined" label. Will be - # overwritten with more detailed information if git is available. --set(OPEN62541_VER_MAJOR 1) --set(OPEN62541_VER_MINOR 2) --set(OPEN62541_VER_PATCH 2) --set(OPEN62541_VER_LABEL "-unknown") # like "-rc1" or "-g4538abcd" or "-g4538abcd-dirty" --set(OPEN62541_VER_COMMIT "undefined") - --# Overwrite the version information based on git if available --include(SetGitBasedVersion) --set_open62541_version() -+set(OPEN62541_VER_MINOR "0" CACHE STRING "Set the major version. Used by conan") -+set(OPEN62541_VER_MAJOR "0" CACHE STRING "Set the minor version. Used by conan") -+set(OPEN62541_VER_PATCH "0" CACHE STRING "Set the patch version. Used by conan") -+set(OPEN62541_VER_LABEL "") -+set(OPEN62541_VER_COMMIT "${OPEN62541_VER_MAJOR}.${OPEN62541_VER_MINOR}.${OPEN62541_VER_PATCH}") - - # Examples for the version string are: - # v1.2 -@@ -580,7 +577,7 @@ if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) - # use the OpenSSL encryption library - # https://cmake.org/cmake/help/v3.0/module/FindOpenSSL.html - find_package(OpenSSL REQUIRED) -- list(APPEND open62541_LIBRARIES ${OPENSSL_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${OpenSSL_LIBRARIES}) - endif () - - if(UA_ENABLE_ENCRYPTION_LIBRESSL) -@@ -598,7 +595,7 @@ if(UA_ENABLE_ENCRYPTION_MBEDTLS OR UA_ENABLE_PUBSUB_ENCRYPTION) - # that is not possible, manually compile mbedTLS and set the cmake variables - # defined in /tools/cmake/FindMbedTLS.cmake. - find_package(MbedTLS REQUIRED) -- list(APPEND open62541_LIBRARIES ${MBEDTLS_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${MbedTLS_LIBRARIES}) - endif() - - if(UA_ENABLE_TPM2_SECURITY) -@@ -609,8 +606,10 @@ if(UA_ENABLE_WEBSOCKET_SERVER) - # The recommended way is to install libwebsockets via the OS package manager. If - # that is not possible, manually compile libwebsockets and set the cmake variables - # defined in /tools/cmake/Findlibwebsockets.cmake -- find_package(libwebsockets REQUIRED) -- list(APPEND open62541_LIBRARIES ${LIBWEBSOCKETS_LIBRARIES}) -+ find_package(Libwebsockets REQUIRED) -+ list(APPEND open62541_LIBRARIES ${Libwebsockets_LIBRARIES}) -+ message(STATUS "Libwebsockets library: ${Libwebsockets_LIBRARIES}") -+ message(STATUS "Libwebsockets includes: ${Libwebsockets_INCLUDE_DIRS}") - - set(ua_architecture_directories_to_include ${ua_architecture_directories_to_include} - ${LIBWEBSOCKETS_INCLUDE_DIR}) -@@ -725,7 +724,7 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default - - # Debug -- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND -+ if(FALSE AND BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND - "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) - # Add default sanitizer settings when using clang and Debug build. - # This allows e.g. CLion to find memory locations for SegFaults -@@ -811,24 +810,7 @@ configure_file(include/open62541/config.h.in ${PROJECT_BINARY_DIR}/src_generated - configure_file(tools/open62541.pc.in ${PROJECT_BINARY_DIR}/src_generated/open62541.pc @ONLY) - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- include(GenerateExportHeader) -- set(MDNSD_LOGLEVEL 300 CACHE STRING "Level at which logs shall be reported" FORCE) -- # create a "fake" empty library to generate the export header macros -- add_library(libmdnsd ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h) -- if (UA_FORCE_CPP) -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE CXX) -- else() -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE C) -- endif() -- set_property(TARGET libmdnsd PROPERTY DEFINE_SYMBOL "MDNSD_DYNAMIC_LINKING_EXPORT") -- configure_file("deps/mdnsd/libmdnsd/mdnsd_config_extra.in" -- "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra") -- file(READ "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra" MDNSD_CONFIG_EXTRA) -- generate_export_header(libmdnsd -- EXPORT_FILE_NAME "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h" -- BASE_NAME MDNSD -- DEFINE_NO_DEPRECATED -- CUSTOM_CONTENT_FROM_VARIABLE MDNSD_CONFIG_EXTRA) -+ find_package(mdnsd) - endif() - - set(exported_headers ${ua_architecture_headers_beginning}) -@@ -1133,18 +1115,7 @@ if(UA_DEBUG_DUMP_PKGS) - endif() - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- # prepend in list, otherwise it complains that winsock2.h has to be included before windows.h -- set(internal_headers ${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h -- ${internal_headers} ) - set(lib_sources ${PROJECT_SOURCE_DIR}/src/server/ua_server_discovery_mdns.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.c - ${lib_sources}) - endif() - -@@ -1349,10 +1320,10 @@ if(UA_ENABLE_AMALGAMATION) - target_include_directories(open62541-object PRIVATE ${PROJECT_BINARY_DIR}) - target_include_directories(open62541-object PRIVATE "${ua_architecture_directories_to_include}") - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- target_include_directories(open62541-object PRIVATE ${MBEDTLS_INCLUDE_DIRS}) -+ target_include_directories(open62541-object PRIVATE ${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- target_include_directories(open62541-object PRIVATE ${OPENSSL_INCLUDE_DIR}) -+ target_include_directories(open62541-object PRIVATE ${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - target_include_directories(open62541-object PRIVATE ${LIBRESSL_INCLUDE_DIR}) -@@ -1391,6 +1362,12 @@ else() - ) - - target_include_directories(open62541-object PRIVATE ${PROJECT_SOURCE_DIR}/src) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ target_include_directories(open62541-object PUBLIC ${mdnsd_INCLUDE_DIRS}) -+ endif() -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ target_include_directories(open62541-object PUBLIC ${Libwebsockets_INCLUDE_DIRS}) -+ endif() - - add_library(open62541-plugins OBJECT ${default_plugin_sources} ${ua_architecture_sources} ${exported_headers}) - add_dependencies(open62541-plugins open62541-generator-types open62541-generator-transport open62541-generator-namespace) -@@ -1404,6 +1381,13 @@ else() - set_target_properties(open62541-static PROPERTIES OUTPUT_NAME open62541) - endif() - add_library(open62541 $ $) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ list(APPEND open62541_LIBRARIES mdnsd::mdnsd) -+ endif() -+ -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ list(APPEND open62541_LIBRARIES Libwebsockets::Libwebsockets) -+ endif() - - if(UA_FORCE_CPP) - set_source_files_properties(${lib_sources} PROPERTIES LANGUAGE CXX) -@@ -1444,10 +1428,10 @@ else() - include_directories_private("${PROJECT_BINARY_DIR}") - - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- include_directories_private(${MBEDTLS_INCLUDE_DIRS}) -+ include_directories_private(${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- include_directories_private(${OPENSSL_INCLUDE_DIR}) -+ include_directories_private(${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - include_directories_private(${LIBRESSL_INCLUDE_DIR}) -diff --git a/src/server/ua_discovery_manager.h b/src/server/ua_discovery_manager.h -index e0f48c0f..bae9bd65 100644 ---- a/src/server/ua_discovery_manager.h -+++ b/src/server/ua_discovery_manager.h -@@ -44,7 +44,7 @@ typedef struct periodicServerRegisterCallback_entry { - - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - --#include "mdnsd/libmdnsd/mdnsd.h" -+#include "libmdnsd/mdnsd.h" - - /** - * TXT record: -diff --git a/src/server/ua_server_discovery_mdns.c b/src/server/ua_server_discovery_mdns.c -index fccb9c73..aa585b8f 100644 ---- a/src/server/ua_server_discovery_mdns.c -+++ b/src/server/ua_server_discovery_mdns.c -@@ -11,8 +11,8 @@ - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - - #ifndef UA_ENABLE_AMALGAMATION --#include "mdnsd/libmdnsd/xht.h" --#include "mdnsd/libmdnsd/sdtxt.h" -+#include "libmdnsd/xht.h" -+#include "libmdnsd/sdtxt.h" - #endif - - #ifdef _WIN32 diff --git a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch b/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch deleted file mode 100644 index c1c291956aa8a..0000000000000 --- a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch +++ /dev/null @@ -1,196 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1934374e..199df369 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -11,7 +11,7 @@ endif() - - string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER_CASE) - --set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/tools/cmake") -+set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR};${PROJECT_SOURCE_DIR}/tools/cmake") - find_package(Python3 REQUIRED) - set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) - find_package(Git) -@@ -41,11 +41,11 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - # The current version information. On the master branch, we take the version - # number from the latest release plus the "-undefined" label. Will be - # overwritten with more detailed information if git is available. --set(OPEN62541_VER_MAJOR 1) --set(OPEN62541_VER_MINOR 3) --set(OPEN62541_VER_PATCH 3) --set(OPEN62541_VER_LABEL "-undefined") # like "-rc1" or "-g4538abcd" or "-g4538abcd-dirty" --set(OPEN62541_VER_COMMIT "unknown-commit") -+set(OPEN62541_VER_MINOR "0" CACHE STRING "Set the major version. Used by conan") -+set(OPEN62541_VER_MAJOR "0" CACHE STRING "Set the minor version. Used by conan") -+set(OPEN62541_VER_PATCH "0" CACHE STRING "Set the patch version. Used by conan") -+set(OPEN62541_VER_LABEL "") -+set(OPEN62541_VER_COMMIT "${OPEN62541_VER_MAJOR}.${OPEN62541_VER_MINOR}.${OPEN62541_VER_PATCH}") - - # Overwrite the version information based on git if available - include(SetGitBasedVersion) -@@ -601,7 +601,7 @@ if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) - # use the OpenSSL encryption library - # https://cmake.org/cmake/help/v3.0/module/FindOpenSSL.html - find_package(OpenSSL REQUIRED) -- list(APPEND open62541_LIBRARIES ${OPENSSL_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${OpenSSL_LIBRARIES}) - endif () - - if(UA_ENABLE_ENCRYPTION_LIBRESSL) -@@ -619,7 +619,7 @@ if(UA_ENABLE_ENCRYPTION_MBEDTLS OR UA_ENABLE_PUBSUB_ENCRYPTION) - # that is not possible, manually compile mbedTLS and set the cmake variables - # defined in /tools/cmake/FindMbedTLS.cmake. - find_package(MbedTLS REQUIRED) -- list(APPEND open62541_LIBRARIES ${MBEDTLS_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${MbedTLS_LIBRARIES}) - endif() - - if(UA_ENABLE_TPM2_SECURITY) -@@ -630,8 +630,10 @@ if(UA_ENABLE_WEBSOCKET_SERVER) - # The recommended way is to install libwebsockets via the OS package manager. If - # that is not possible, manually compile libwebsockets and set the cmake variables - # defined in /tools/cmake/Findlibwebsockets.cmake -- find_package(libwebsockets REQUIRED) -- list(APPEND open62541_LIBRARIES ${LIBWEBSOCKETS_LIBRARIES}) -+ find_package(Libwebsockets REQUIRED) -+ list(APPEND open62541_LIBRARIES ${Libwebsockets_LIBRARIES}) -+ message(STATUS "Libwebsockets library: ${Libwebsockets_LIBRARIES}") -+ message(STATUS "Libwebsockets includes: ${Libwebsockets_INCLUDE_DIRS}") - - set(ua_architecture_directories_to_include ${ua_architecture_directories_to_include} - ${LIBWEBSOCKETS_INCLUDE_DIR}) -@@ -746,7 +748,7 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default - - # Debug -- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND -+ if(FALSE AND BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND - "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) - # Add default sanitizer settings when using clang and Debug build. - # This allows e.g. CLion to find memory locations for SegFaults -@@ -832,24 +834,7 @@ configure_file(include/open62541/config.h.in ${PROJECT_BINARY_DIR}/src_generated - configure_file(tools/open62541.pc.in ${PROJECT_BINARY_DIR}/src_generated/open62541.pc @ONLY) - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- include(GenerateExportHeader) -- set(MDNSD_LOGLEVEL 300 CACHE STRING "Level at which logs shall be reported" FORCE) -- # create a "fake" empty library to generate the export header macros -- add_library(libmdnsd ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h) -- if (UA_FORCE_CPP) -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE CXX) -- else() -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE C) -- endif() -- set_property(TARGET libmdnsd PROPERTY DEFINE_SYMBOL "MDNSD_DYNAMIC_LINKING_EXPORT") -- configure_file("deps/mdnsd/libmdnsd/mdnsd_config_extra.in" -- "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra") -- file(READ "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra" MDNSD_CONFIG_EXTRA) -- generate_export_header(libmdnsd -- EXPORT_FILE_NAME "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h" -- BASE_NAME MDNSD -- DEFINE_NO_DEPRECATED -- CUSTOM_CONTENT_FROM_VARIABLE MDNSD_CONFIG_EXTRA) -+ find_package(mdnsd) - endif() - - set(exported_headers ${ua_architecture_headers_beginning}) -@@ -1154,18 +1139,7 @@ if(UA_DEBUG_DUMP_PKGS) - endif() - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- # prepend in list, otherwise it complains that winsock2.h has to be included before windows.h -- set(internal_headers ${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h -- ${internal_headers} ) - set(lib_sources ${PROJECT_SOURCE_DIR}/src/server/ua_server_discovery_mdns.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.c - ${lib_sources}) - endif() - -@@ -1370,10 +1344,10 @@ if(UA_ENABLE_AMALGAMATION) - target_include_directories(open62541-object PRIVATE ${PROJECT_BINARY_DIR}) - target_include_directories(open62541-object PRIVATE "${ua_architecture_directories_to_include}") - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- target_include_directories(open62541-object PRIVATE ${MBEDTLS_INCLUDE_DIRS}) -+ target_include_directories(open62541-object PRIVATE ${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- target_include_directories(open62541-object PRIVATE ${OPENSSL_INCLUDE_DIR}) -+ target_include_directories(open62541-object PRIVATE ${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - target_include_directories(open62541-object PRIVATE ${LIBRESSL_INCLUDE_DIR}) -@@ -1412,6 +1386,12 @@ else() - ) - - target_include_directories(open62541-object PRIVATE ${PROJECT_SOURCE_DIR}/src) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ target_include_directories(open62541-object PUBLIC ${mdnsd_INCLUDE_DIRS}) -+ endif() -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ target_include_directories(open62541-object PUBLIC ${Libwebsockets_INCLUDE_DIRS}) -+ endif() - - add_library(open62541-plugins OBJECT ${default_plugin_sources} ${ua_architecture_sources} ${exported_headers}) - add_dependencies(open62541-plugins open62541-generator-types open62541-generator-transport open62541-generator-namespace) -@@ -1425,6 +1405,13 @@ else() - set_target_properties(open62541-static PROPERTIES OUTPUT_NAME open62541) - endif() - add_library(open62541 $ $) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ list(APPEND open62541_LIBRARIES mdnsd::mdnsd) -+ endif() -+ -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ list(APPEND open62541_LIBRARIES Libwebsockets::Libwebsockets) -+ endif() - - if(UA_FORCE_CPP) - set_source_files_properties(${lib_sources} PROPERTIES LANGUAGE CXX) -@@ -1465,10 +1452,10 @@ else() - include_directories_private("${PROJECT_BINARY_DIR}") - - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- include_directories_private(${MBEDTLS_INCLUDE_DIRS}) -+ include_directories_private(${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- include_directories_private(${OPENSSL_INCLUDE_DIR}) -+ include_directories_private(${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - include_directories_private(${LIBRESSL_INCLUDE_DIR}) -diff --git a/src/server/ua_discovery_manager.h b/src/server/ua_discovery_manager.h -index e0f48c0f..bae9bd65 100644 ---- a/src/server/ua_discovery_manager.h -+++ b/src/server/ua_discovery_manager.h -@@ -44,7 +44,7 @@ typedef struct periodicServerRegisterCallback_entry { - - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - --#include "mdnsd/libmdnsd/mdnsd.h" -+#include "libmdnsd/mdnsd.h" - - /** - * TXT record: -diff --git a/src/server/ua_server_discovery_mdns.c b/src/server/ua_server_discovery_mdns.c -index fccb9c73..aa585b8f 100644 ---- a/src/server/ua_server_discovery_mdns.c -+++ b/src/server/ua_server_discovery_mdns.c -@@ -11,8 +11,8 @@ - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - - #ifndef UA_ENABLE_AMALGAMATION --#include "mdnsd/libmdnsd/xht.h" --#include "mdnsd/libmdnsd/sdtxt.h" -+#include "libmdnsd/xht.h" -+#include "libmdnsd/sdtxt.h" - #endif - - #ifdef _WIN32 diff --git a/recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch b/recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch deleted file mode 100644 index d8c1db13840da..0000000000000 --- a/recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2fd6ef29..cde6a08c 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -576,18 +576,6 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST - # Linker - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default - -- # Debug -- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX) -- if("x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) -- # Add default sanitizer settings when using clang and Debug build. -- # This allows e.g. CLion to find memory locations for SegFaults -- message(STATUS "Sanitizer enabled") -- set(SANITIZER_FLAGS "-g -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp -fsanitize=leak -fsanitize=undefined") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") -- endif() -- endif() -- - if (NOT MINGW) - if(UA_ENABLE_HARDENING AND ((CMAKE_BUILD_TYPE STREQUAL "Release") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))) - check_add_cc_flag("-D_FORTIFY_SOURCE=2") # run-time buffer overflow detection (needs at least -O1) diff --git a/recipes/open62541/all/submoduledata.yml b/recipes/open62541/all/submoduledata.yml index 5a2a7e3ff90b7..1de1304b65b1e 100644 --- a/recipes/open62541/all/submoduledata.yml +++ b/recipes/open62541/all/submoduledata.yml @@ -1,55 +1,20 @@ submodules: - "1.0.3": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" "1.0.6": deps/ua-nodeset: sha256: c9c0228ce640bf4eead31b9c0b5b7190bc197a2d393a8e90328d14cb45805637 url: https://github.com/OPCFoundation/UA-Nodeset/archive/UA-1.04.8-2020-11-20.zip archive_pattern: "UA-Nodeset-{version}" - "1.1.3": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.1.5": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" "1.1.6": deps/ua-nodeset: sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip archive_pattern: "UA-Nodeset-{version}" - "1.2.2": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.2.4": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" "1.2.6": deps/ua-nodeset: sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip archive_pattern: "UA-Nodeset-{version}" - "1.3.1": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.3.4": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.3.6": + "1.3.8": deps/ua-nodeset: sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip diff --git a/recipes/open62541/all/test_package/CMakeLists.txt b/recipes/open62541/all/test_package/CMakeLists.txt index 553baebf9bc49..099ba922c1149 100644 --- a/recipes/open62541/all/test_package/CMakeLists.txt +++ b/recipes/open62541/all/test_package/CMakeLists.txt @@ -28,6 +28,7 @@ add_executable(${PROJECT_NAME} ${UA_TYPES_FOO_FLT_SOURCES} test_package.c ) + # Make sure the nodeset compiler is executed before compiling the main file add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}-ns-foo_flt) target_link_libraries(${PROJECT_NAME} PRIVATE open62541::open62541) diff --git a/recipes/open62541/all/test_v1_package/CMakeLists.txt b/recipes/open62541/all/test_v1_package/CMakeLists.txt index bd17b291f8bc6..8113fa1875eb6 100644 --- a/recipes/open62541/all/test_v1_package/CMakeLists.txt +++ b/recipes/open62541/all/test_v1_package/CMakeLists.txt @@ -31,6 +31,7 @@ add_executable(${PROJECT_NAME} ${UA_TYPES_FOO_FLT_SOURCES} ../test_package/test_package.c ) + # Make sure the nodeset compiler is executed before compiling the main file add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}-ns-foo_flt) target_link_libraries(${PROJECT_NAME} PRIVATE open62541::open62541) diff --git a/recipes/open62541/config.yml b/recipes/open62541/config.yml index a82ee371e80a5..6a69381fdd40f 100644 --- a/recipes/open62541/config.yml +++ b/recipes/open62541/config.yml @@ -1,23 +1,9 @@ versions: - "1.3.6": - folder: all - "1.3.4": - folder: all - "1.3.1": + "1.3.8": folder: all "1.2.6": folder: all - "1.2.4": - folder: all - "1.2.2": - folder: all "1.1.6": folder: all - "1.1.5": - folder: all - "1.1.3": - folder: all "1.0.6": folder: all - "1.0.3": - folder: all From 390290889ced6458f009fa2fab14deff784a3d55 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Mon, 27 Nov 2023 09:47:22 -0800 Subject: [PATCH 2761/4087] (#21247) libhal: Correct 2.0.1 dependency on conan center MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libhal: Correct 2.0.1 dependency on conan center * Update sha hash for 2.0.1 package * Add version 2.0.2 - Replace the old 2.0.1 hash - Add missing bare metal os property - Add missing BOOST_LEAF macros for bare metal targets * Add header only validation check for boost leaf * Add version and baremetal check for header-only validation * Fix boost header_only check in validation * Reorder versions * Revert back to boost-leaf usage --------- Co-authored-by: Rubén Rincón --- recipes/libhal/all/conandata.yml | 3 +++ recipes/libhal/all/conanfile.py | 43 +++++++++++++++++++++++--------- recipes/libhal/config.yml | 2 ++ 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/recipes/libhal/all/conandata.yml b/recipes/libhal/all/conandata.yml index 319d522ee3f02..5f30969947a89 100644 --- a/recipes/libhal/all/conandata.yml +++ b/recipes/libhal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.2.tar.gz" + sha256: "bb69fffbff58ac9a91f71636422d81a4426fe70c3b47ca9b07c87fb074c989dc" "2.0.1": url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.1.tar.gz" sha256: "ba05f9d2172f7afbf816ab18f2dcd7c8cc4452df2b268a832e995a0321c1d2f9" diff --git a/recipes/libhal/all/conanfile.py b/recipes/libhal/all/conanfile.py index c1302026ed5ab..4d6375a4008aa 100644 --- a/recipes/libhal/all/conanfile.py +++ b/recipes/libhal/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -36,14 +36,18 @@ def _compilers_minimum_version(self): "apple-clang": "14" } - def export_sources(self): - export_conandata_patches(self) + @property + def _bare_metal(self): + return self.settings.os == "baremetal" def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.83.0", transitive_headers=True) + # NOTE from the author, kammce, and CCI maintainers: + # although boost-leaf is deprecated, we've kept it for 2.x versions, + # don't update it as upstream code won't work with boost itself + self.requires("boost-leaf/1.81.0") def package_id(self): self.info.clear() @@ -63,29 +67,44 @@ def lazy_lt_semver(v1, v2): minimum_version = self._compilers_minimum_version.get(compiler, False) if minimum_version and lazy_lt_semver(version, minimum_version): raise ConanInvalidConfiguration( - f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") + f"{self.ref} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - apply_conandata_patches(self) + pass def package(self): copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( - self, - "*.h", - dst=os.path.join(self.package_folder, "include"), + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include") ) copy( - self, - "*.hpp", - dst=os.path.join(self.package_folder, "include"), + self, + "*.hpp", + dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include") ) def package_info(self): self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + + version = Version(self.version) + if self._bare_metal and version < "3.0.0": + self.cpp_info.defines = [ + "BOOST_LEAF_EMBEDDED", + "BOOST_LEAF_NO_THREADS" + ] + + # Note from CCI maintainers: Ensure users are aware of the deprecated dependency + if Version(self.version) < "3.0": + self.output.warning(f"{self.name} < 3.0.0 uses boost-leaf which is a deprecated recipe. " + f"Once 3.0 is released, 2.x will also be deprecated.") diff --git a/recipes/libhal/config.yml b/recipes/libhal/config.yml index 6c4e3d9e96f71..855e335e2fd53 100644 --- a/recipes/libhal/config.yml +++ b/recipes/libhal/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.2": + folder: "all" "2.0.1": folder: "all" From 6b24c4c1830f2419b3ce7cbaf8e3153b906c338e Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 27 Nov 2023 10:14:49 -0800 Subject: [PATCH 2762/4087] (#21392) openssl: add 3.2.0 --- recipes/openssl/3.x.x/conandata.yml | 5 +++++ recipes/openssl/config.yml | 3 +++ 2 files changed, 8 insertions(+) diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index 4dc7c65bc721c..c4de0d1d32358 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,4 +1,9 @@ sources: + 3.2.0: + url: + - "https://www.openssl.org/source/openssl-3.2.0.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.2.0/openssl-3.2.0.tar.gz" + sha256: 14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e 3.1.4: url: - "https://www.openssl.org/source/openssl-3.1.4.tar.gz" diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index a33ff6a80ee4d..816020f3de15e 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,4 +1,7 @@ versions: + # 3.2.x releases + 3.2.0: + folder: "3.x.x" # 3.1.x releases 3.1.4: folder: "3.x.x" From 3e6f514828f2f9266cbfb2747a6f1b26589cd831 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 03:49:30 +0900 Subject: [PATCH 2763/4087] (#21394) nng: add version 1.6.0 --- recipes/nng/all/conandata.yml | 15 +++++++++++++++ recipes/nng/all/conanfile.py | 18 +++++++++++++----- recipes/nng/all/test_package/CMakeLists.txt | 3 +-- recipes/nng/config.yml | 2 ++ 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index 7f6a9a4f236ee..821ab71934ba1 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.6.0.tar.gz" + sha256: "f639e77911ef935a13e9779d4a18d45490433ba744f89752a15b84c929ce2725" "1.5.2": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.5.2.tar.gz" sha256: "f8b25ab86738864b1f2e3128e8badab581510fa8085ff5ca9bb980d317334c46" @@ -17,9 +20,21 @@ sources: patches: "1.5.1": - patch_file: patches/0001-fix-ios-tvos-watchos-1.5.1.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" "1.3.2": - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.1.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" "1.3.1": - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.1.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" "1.3.0": - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.0.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 38c580aa2cc03..184a8d520a4c2 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -11,11 +11,11 @@ class NngConan(ConanFile): name = "nng" description = "nanomsg-next-generation: light-weight brokerless messaging" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nanomsg/nng" - license = "MIT" topics = ("nanomsg", "communication", "messaging", "protocols") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -23,7 +23,8 @@ class NngConan(ConanFile): "nngcat": [True, False], "http": [True, False], "tls": [True, False], - "max_taskq_threads": ["ANY"] + "max_taskq_threads": ["ANY"], + "max_expire_threads": ["ANY"], } default_options = { "shared": False, @@ -31,7 +32,8 @@ class NngConan(ConanFile): "nngcat": False, "http": True, "tls": False, - "max_taskq_threads": "16" + "max_taskq_threads": "16", + "max_expire_threads": "8", } def export_sources(self): @@ -40,6 +42,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.6.0": + del self.options.max_expire_threads def configure(self): if self.options.shared: @@ -55,7 +59,7 @@ def requirements(self): if Version(self.version) < "1.5.2": self.requires("mbedtls/2.25.0") else: - self.requires("mbedtls/3.0.0") + self.requires("mbedtls/3.5.0") def validate(self): compiler_minimum_version = { @@ -69,6 +73,8 @@ def validate(self): ) if not self.options.max_taskq_threads.value.isdigit(): raise ConanInvalidConfiguration("max_taskq_threads must be an integral number") + if "max_expire_threads" in self.options and not self.options.max_expire_threads.value.isdigit(): + raise ConanInvalidConfiguration("max_expire_threads must be an integral number") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -80,6 +86,8 @@ def generate(self): tc.variables["NNG_ENABLE_NNGCAT"] = self.options.nngcat tc.variables["NNG_ENABLE_HTTP"] = self.options.http tc.variables["NNG_MAX_TASKQ_THREADS"] = self.options.max_taskq_threads + if "max_expire_threads" in self.options: + tc.variables["NNG_MAX_EXPIRE_THREADS"] = self.options.max_expire_threads tc.generate() def build(self): diff --git a/recipes/nng/all/test_package/CMakeLists.txt b/recipes/nng/all/test_package/CMakeLists.txt index 6c83380e0106e..7a60c8282db34 100644 --- a/recipes/nng/all/test_package/CMakeLists.txt +++ b/recipes/nng/all/test_package/CMakeLists.txt @@ -1,7 +1,6 @@ cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES C) -project(test_package C) - find_package(nng REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index ba169426f19de..07341cd03187d 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.2": folder: all "1.5.1": From ea2c3648e8d49d800620ea452b0405ec4f44cab7 Mon Sep 17 00:00:00 2001 From: fdgStilla <79465612+fdgStilla@users.noreply.github.com> Date: Mon, 27 Nov 2023 20:28:03 +0100 Subject: [PATCH 2764/4087] (#21397) Add spix/0.6 * Add spix 0.6 * Update qt version * Conan 2 compatibility --- recipes/spix/all/conandata.yml | 7 +++++++ recipes/spix/all/conanfile.py | 6 +++--- recipes/spix/all/patches/0001-use-conan-libs-0.6.patch | 10 ++++++++++ recipes/spix/config.yml | 2 ++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 recipes/spix/all/patches/0001-use-conan-libs-0.6.patch diff --git a/recipes/spix/all/conandata.yml b/recipes/spix/all/conandata.yml index 85ea4e8fd6a62..69403c56106cb 100644 --- a/recipes/spix/all/conandata.yml +++ b/recipes/spix/all/conandata.yml @@ -5,6 +5,9 @@ sources: "0.5": url: "https://github.com/faaxm/spix/archive/refs/tags/v0.5.tar.gz" sha256: "d3fd9bb069aef6ff6c93c69524ed3603afd24e6b52e4bb8d093c80cec255d4dc" + "0.6": + url: "https://github.com/faaxm/spix/archive/refs/tags/v0.6.tar.gz" + sha256: "5b2f4b89e112f3b31d8576923c2ac4a6913ae3c2a0042640846a65c4af39ac05" patches: "0.4": - patch_file: "patches/0001-use-conan-libs-0.4.patch" @@ -14,3 +17,7 @@ patches: - patch_file: "patches/0001-use-conan-libs-0.5.patch" patch_description: "Link to conan libs" patch_type: "conan" + "0.6": + - patch_file: "patches/0001-use-conan-libs-0.6.patch" + patch_description: "Link to conan libs" + patch_type: "conan" diff --git a/recipes/spix/all/conanfile.py b/recipes/spix/all/conanfile.py index 375acd44db4e0..e4a33c59e2c81 100644 --- a/recipes/spix/all/conanfile.py +++ b/recipes/spix/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): self.requires("anyrpc/1.0.2") - self.requires("qt/6.4.2") + self.requires("qt/6.5.3") def validate(self): if self.settings.compiler.cppstd: @@ -77,9 +77,9 @@ def validate(self): f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support." ) - if Version(self.dependencies["qt"].ref.version).major == 6 and not self.options["qt"].qtshadertools: + if Version(self.dependencies["qt"].ref.version).major == 6 and not self.dependencies["qt"].options.qtshadertools: raise ConanInvalidConfiguration(f"{self.ref} requires qt:qtshadertools to get the Quick module") - if not (self.options["qt"].gui and self.options["qt"].qtdeclarative): + if not (self.dependencies["qt"].options.gui and self.dependencies["qt"].options.qtdeclarative): raise ConanInvalidConfiguration(f"{self.ref} requires qt:gui and qt:qtdeclarative to get the Quick module") def source(self): diff --git a/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch b/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch new file mode 100644 index 0000000000000..0746373586081 --- /dev/null +++ b/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch @@ -0,0 +1,10 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,7 +5,6 @@ option(SPIX_BUILD_EXAMPLES "Build Spix examples." ON) + option(SPIX_BUILD_TESTS "Build Spix unit tests." OFF) + set(SPIX_QT_MAJOR "6" CACHE STRING "Major Qt version to build Spix against") + +-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/modules") + set(CMAKE_CXX_STANDARD 17) + + # Hide symbols unless explicitly flagged with SPIX_EXPORT diff --git a/recipes/spix/config.yml b/recipes/spix/config.yml index 57a887729c2ab..74b40e9de2d7f 100644 --- a/recipes/spix/config.yml +++ b/recipes/spix/config.yml @@ -3,3 +3,5 @@ versions: folder: all "0.5": folder: all + "0.6": + folder: all From a6f8c59208f80d4ac32f8d953fad398d56011db8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 05:30:37 +0900 Subject: [PATCH 2765/4087] (#21404) djinni-generator: add version 1.4.0 --- recipes/djinni-generator/all/conandata.yml | 3 +++ recipes/djinni-generator/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/djinni-generator/all/conandata.yml b/recipes/djinni-generator/all/conandata.yml index f0faa524fc522..3079ff3808154 100644 --- a/recipes/djinni-generator/all/conandata.yml +++ b/recipes/djinni-generator/all/conandata.yml @@ -29,3 +29,6 @@ sources: "1.3.2": url: https://github.com/cross-language-cpp/djinni-generator/releases/download/v1.3.2/djinni sha256: "8e618aeb8e9138e7fefaca804263317846799fee59d9465a4eee6625b8266ea1" + "1.4.0": + url: "https://github.com/cross-language-cpp/djinni-generator/releases/download/v1.4.0/djinni" + sha256: "1838504f29e9bd8d7246710cbf31d17abb44b2dbd7df91e08cc7566167fee068" diff --git a/recipes/djinni-generator/config.yml b/recipes/djinni-generator/config.yml index 47d0ee6875d8a..c523a45caabe7 100644 --- a/recipes/djinni-generator/config.yml +++ b/recipes/djinni-generator/config.yml @@ -19,3 +19,5 @@ versions: folder: "all" "1.3.2": folder: "all" + "1.4.0": + folder: "all" From feef4d621d5be810536b691276e9c55213cf629d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 27 Nov 2023 23:01:52 +0100 Subject: [PATCH 2766/4087] (#21432) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 415f49a1f1360..3f4ed4cf0b99e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -268,6 +268,7 @@ required_for_references: - decimal_for_cpp - deco - detools +- dfp - di - dice-template-library - dime From 2fa507f7ce905c920058312e1f553bf22186f567 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:08:04 +0100 Subject: [PATCH 2767/4087] (#21428) circularbuffer: modernize more for conan v2 - add package_type - fix required_conan_version - default cmake names since there is no config file upstream - remove dead code --- recipes/circularbuffer/all/conanfile.py | 36 +++++++------------ .../all/test_package/CMakeLists.txt | 9 +++-- .../all/test_v1_package/CMakeLists.txt | 10 ++---- .../all/test_v1_package/conanfile.py | 2 +- .../all/test_v1_package/test_package.cpp | 10 ------ 5 files changed, 20 insertions(+), 47 deletions(-) delete mode 100644 recipes/circularbuffer/all/test_v1_package/test_package.cpp diff --git a/recipes/circularbuffer/all/conanfile.py b/recipes/circularbuffer/all/conanfile.py index c3948bef41ba8..695a6ea119334 100644 --- a/recipes/circularbuffer/all/conanfile.py +++ b/recipes/circularbuffer/all/conanfile.py @@ -1,11 +1,10 @@ from conan import ConanFile from conan.tools.files import get, copy from conan.tools.layout import basic_layout -from conan.tools.cmake import CMakeToolchain import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.50.0" class CircularBufferConan(ConanFile): @@ -15,37 +14,26 @@ class CircularBufferConan(ConanFile): license = "LGPL-3.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rlogiacco/CircularBuffer" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, - "licenses"), src=self.source_folder) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "CircularBuffer.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) copy(self, "CircularBuffer.tpp", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.clear() - - def generate(self): - tc = CMakeToolchain(self) - tc.generate() - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "CircularBuffer") - self.cpp_info.set_property( - "cmake_target_name", "CircularBuffer::CircularBuffer") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "CircularBuffer" - self.cpp_info.filenames["cmake_find_package_multi"] = "CircularBuffer" - self.cpp_info.names["cmake_find_package"] = "CircularBuffer" - self.cpp_info.names["cmake_find_package_multi"] = "CircularBuffer" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/circularbuffer/all/test_package/CMakeLists.txt b/recipes/circularbuffer/all/test_package/CMakeLists.txt index d331e75f3a1ad..933c1c7ab13f6 100644 --- a/recipes/circularbuffer/all/test_package/CMakeLists.txt +++ b/recipes/circularbuffer/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) - -find_package(CircularBuffer CONFIG REQUIRED) +find_package(circularbuffer CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE CircularBuffer::CircularBuffer) +target_link_libraries(${PROJECT_NAME} PRIVATE circularbuffer::circularbuffer) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt b/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt index 3ddfb18ba1fed..0d20897301b68 100644 --- a/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt +++ b/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ - cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(CircularBuffer CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CircularBuffer::CircularBuffer) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/circularbuffer/all/test_v1_package/conanfile.py b/recipes/circularbuffer/all/test_v1_package/conanfile.py index 0a93a273ba575..90eb89e3f2f46 100644 --- a/recipes/circularbuffer/all/test_v1_package/conanfile.py +++ b/recipes/circularbuffer/all/test_v1_package/conanfile.py @@ -2,7 +2,7 @@ from conans import ConanFile, CMake, tools -class TestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "cmake", "cmake_find_package_multi" diff --git a/recipes/circularbuffer/all/test_v1_package/test_package.cpp b/recipes/circularbuffer/all/test_v1_package/test_package.cpp deleted file mode 100644 index c9d59e4b258c6..0000000000000 --- a/recipes/circularbuffer/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include - -int main() { - CircularBuffer buffer; - - buffer.push(5); - buffer.unshift(1); - - return 0; -} From e2e4cd13ad238ad3cec16dd5900330ff05a3f01e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:28:49 +0100 Subject: [PATCH 2768/4087] (#21429) cista: add package_type --- recipes/cista/all/conanfile.py | 7 ++++--- recipes/cista/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/recipes/cista/all/conanfile.py b/recipes/cista/all/conanfile.py index a5a461c964a04..98e6da7d482b1 100644 --- a/recipes/cista/all/conanfile.py +++ b/recipes/cista/all/conanfile.py @@ -18,6 +18,7 @@ class CistaConan(ConanFile): topics = ("cista", "serialization", "deserialization", "reflection") homepage = "https://github.com/felixguendling/cista" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -35,6 +36,9 @@ def _compilers_minimum_version(self): "apple-clang": "9.1" } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -54,9 +58,6 @@ def loose_lt_semver(v1, v2): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): for file in self.conan_data["sources"][self.version]: filename = os.path.basename(file["url"]) diff --git a/recipes/cista/all/test_package/conanfile.py b/recipes/cista/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/cista/all/test_package/conanfile.py +++ b/recipes/cista/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From 824333940428ba7482c7dc88a754fce3bf0eed98 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:48:20 +0100 Subject: [PATCH 2769/4087] (#21430) clipp: modernize more for conan v2 - add package_type - add layout - add test package with v2 helpers - check min cppstd 11 - empty bindirs & libdirs in package_info() - explicit cmake names since there is a config file upstream --- recipes/clipp/all/conanfile.py | 43 +++++++++++++++---- recipes/clipp/all/test_package/CMakeLists.txt | 11 +++-- recipes/clipp/all/test_package/conanfile.py | 20 ++++++--- .../clipp/all/test_v1_package/CMakeLists.txt | 8 ++++ .../clipp/all/test_v1_package/conanfile.py | 17 ++++++++ 5 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 recipes/clipp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/clipp/all/test_v1_package/conanfile.py diff --git a/recipes/clipp/all/conanfile.py b/recipes/clipp/all/conanfile.py index 2a4b7c31a6543..772d6c4ae0f5d 100644 --- a/recipes/clipp/all/conanfile.py +++ b/recipes/clipp/all/conanfile.py @@ -1,25 +1,50 @@ import os -from conan import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout required_conan_version = ">=1.50.0" + class ClippConan(ConanFile): name = "clipp" - description = """Easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation.""" - topics = ("clipp", "argparse", "cli", "usage", "options", "subcommands") + description = ( + "Easy to use, powerful & expressive command line argument parsing " + "for modern C++ / single header / usage & doc generation." + ) + topics = ("argparse", "cli", "usage", "options", "subcommands") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/muellan/clipp" license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - tools.files.get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + @property + def _min_cppstd(self): + return "11" - def package(self): - tools.files.copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - tools.files.copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "clipp") + self.cpp_info.set_property("cmake_target_name", "clipp::clipp") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/clipp/all/test_package/CMakeLists.txt b/recipes/clipp/all/test_package/CMakeLists.txt index 829b5ca81b9ce..a7580c7f51d5d 100644 --- a/recipes/clipp/all/test_package/CMakeLists.txt +++ b/recipes/clipp/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(clipp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE clipp::clipp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/clipp/all/test_package/conanfile.py b/recipes/clipp/all/test_package/conanfile.py index 70924c438164e..81d4d29e64c73 100644 --- a/recipes/clipp/all/test_package/conanfile.py +++ b/recipes/clipp/all/test_package/conanfile.py @@ -1,11 +1,17 @@ import os -from conans import CMake -from conan import ConanFile, tools + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) @@ -16,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.build.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/clipp/all/test_v1_package/CMakeLists.txt b/recipes/clipp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/clipp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/clipp/all/test_v1_package/conanfile.py b/recipes/clipp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/clipp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 1bc5ee90c9a986104cd8cc408a4d677b441fdef1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:08:20 +0100 Subject: [PATCH 2770/4087] (#21411) blaze: add package_type --- recipes/blaze/all/conanfile.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/recipes/blaze/all/conanfile.py b/recipes/blaze/all/conanfile.py index a5d62edf842a5..576d457372823 100644 --- a/recipes/blaze/all/conanfile.py +++ b/recipes/blaze/all/conanfile.py @@ -12,11 +12,15 @@ class BlazeConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://bitbucket.org/blaze-lib/blaze" description = "open-source, high-performance C++ math library for dense and sparse arithmetic" - topics = ("blaze", "math", "algebra", "linear algebra", "high-performance") + topics = ("math", "algebra", "linear algebra", "high-performance") license = "BSD-3-Clause" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,9 +28,6 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 14) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): base_source_dir = os.path.join(self.source_folder, os.pardir) get(self, **self.conan_data["sources"][self.version], @@ -46,6 +47,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "blaze") self.cpp_info.set_property("cmake_target_name", "blaze::blaze") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From a99534751f2a9d5564cefe101b656dcc15778715 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:30:33 +0100 Subject: [PATCH 2771/4087] (#21407) backport-cpp: add package_type --- recipes/backport-cpp/all/conanfile.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/backport-cpp/all/conanfile.py b/recipes/backport-cpp/all/conanfile.py index a114a54bf9ff4..7bd9c00c00321 100644 --- a/recipes/backport-cpp/all/conanfile.py +++ b/recipes/backport-cpp/all/conanfile.py @@ -9,22 +9,22 @@ class BackportCppRecipe(ConanFile): name = "backport-cpp" description = "An ongoing effort to bring modern C++ utilities to be compatible with C++11" - topics = ("backport-cpp", "header-only", "backport") + topics = ("header-only", "backport") homepage = "https://github.com/bitwizeshift/BackportCpp" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source=True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -37,9 +37,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "Backport") self.cpp_info.set_property("cmake_target_name", "Backport::Backport") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "Backport" From e1426f1e52faf7d1ee1cb0733bfe98d3f7db8064 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:49:31 +0100 Subject: [PATCH 2772/4087] (#21408) bit-lite: add package_type --- recipes/bit-lite/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/bit-lite/all/conanfile.py b/recipes/bit-lite/all/conanfile.py index b0529cb7abe9a..9057f4c627521 100644 --- a/recipes/bit-lite/all/conanfile.py +++ b/recipes/bit-lite/all/conanfile.py @@ -14,18 +14,18 @@ class BitLiteConan(ConanFile): in a single-file header-only library.") topics = ("bit-lite", "bit", "manipulation", ) license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,9 +38,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "bit-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::bit-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "bit-lite" From e53a85c3105227389fb854c3ab5093b6ba8c82f9 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:09:29 +0100 Subject: [PATCH 2773/4087] (#21352) pcl: properly configure pcl_configure.h regarding qhull * remove unofficial interface definitions and properly configure pcl_configure.h * less verbose package_info() --- recipes/pcl/all/conanfile.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index b172e88fb5927..481bfcadd49be 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -440,6 +440,10 @@ def generate(self): tc.cache_variables["WITH_PCAP"] = self._is_enabled("pcap") tc.cache_variables["WITH_PNG"] = self._is_enabled("png") tc.cache_variables["WITH_QHULL"] = self._is_enabled("qhull") + if self._is_enabled("qhull"): + # Upstream FindQhull.cmake defines HAVE_QHULL which changes content of pcl_config.h + # Since we use CMakeDeps instead of this file, we have to manually inject HAVE_QHULL + tc.cache_variables["HAVE_QHULL"] = True tc.cache_variables["WITH_QT"] = self._is_enabled("qt") tc.cache_variables["WITH_VTK"] = self._is_enabled("vtk") tc.cache_variables["WITH_CUDA"] = self._is_enabled("cuda") @@ -539,7 +543,6 @@ def package_info(self): component.requires.append(opt_dep) for dep in self._external_deps.get(name, []) + self._external_optional_deps.get(name, []): component.requires += self._ext_dep_to_conan_target(dep) - self.output.info(f"Component {name} requires: {component.requires}") if self.options.apps: component = self.cpp_info.components["apps"] @@ -574,13 +577,6 @@ def package_info(self): if self.settings.os == "Windows": common.system_libs.append("ws2_32") - if self.options.with_qhull: - self.cpp_info.defines.append('HAVE_QHULL=1') - if self.options.with_png: - self.cpp_info.defines.append('HAVE_PNG=1') - if self.options.with_cuda: - self.cpp_info.defines.append('HAVE_CUDA=1') - # TODO: Legacy, to be removed on Conan 2.0 self.cpp_info.names["cmake_find_package"] = "PCL" self.cpp_info.names["cmake_find_package_multi"] = "PCL" From 5ec9fd48348bb90f444e7d245ffb976755c97509 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 19:18:06 +0900 Subject: [PATCH 2774/4087] (#21382) clipper2: add version 1.2.4 * clipper2: add version 1.2.4 * remove macos suffix --- recipes/clipper2/all/conandata.yml | 7 +++++++ .../patches/1.2.4-0001-remove-macos-suffix.patch | 13 +++++++++++++ recipes/clipper2/config.yml | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml index f81cdc19e4abe..1b524aee1941a 100644 --- a/recipes/clipper2/all/conandata.yml +++ b/recipes/clipper2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.4": + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.4.tar.gz" + sha256: "a013d391c25c5f665cdb5cbd75cdd842dcc28f6e1bd098454beb359f6f212f33" "1.2.3": url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.3.tar.gz" sha256: "d65bd45f50331e9dd2de3c68137c6be069fe25732095bef0128d547c997b1fda" @@ -6,6 +9,10 @@ sources: url: "https://github.com/AngusJohnson/Clipper2/files/11071418/Clipper2_1.2.2.zip" sha256: "ec28bc4e05a86cb0be81a872e8d90a4d575b63882ef3ac78f06662358e410f89" patches: + "1.2.4": + - patch_file: "patches/1.2.4-0001-remove-macos-suffix.patch" + patch_description: "fix install for windows shared build" + patch_type: "portability" "1.2.2": - patch_file: "patches/1.2.2-0001-fix-install.patch" patch_description: "fix install for windows shared build" diff --git a/recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch b/recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch new file mode 100644 index 0000000000000..bdf115e1c468c --- /dev/null +++ b/recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch @@ -0,0 +1,13 @@ +diff --git a/CPP/CMakeLists.txt b/CPP/CMakeLists.txt +index 817cf01..cd17e84 100644 +--- a/CPP/CMakeLists.txt ++++ b/CPP/CMakeLists.txt +@@ -19,7 +19,7 @@ set(CLIPPER2_USINGZ "ON" CACHE STRING "Build Clipper2Z, either \"ON\" or \"OFF\" + set(CLIPPER2_MAX_PRECISION 8 CACHE STRING "Maximum precision allowed for double to int64 scaling") + + if (APPLE) +- set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") ++# set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") + endif () + + include(GNUInstallDirs) diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml index 6d9f399765e2d..66e7ce883e15d 100644 --- a/recipes/clipper2/config.yml +++ b/recipes/clipper2/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.4": + folder: all "1.2.3": folder: all "1.2.2": From 9321528317bca5ab1e4cf26c759e4f8d0e29d874 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:41:26 +0100 Subject: [PATCH 2775/4087] (#21386) base64: modernize more + avoid to build tests and warnings as errors in CMake build + fix cmake target name * modernize more * fix cmake_target_name * reproducible CMake build and avoid warnings as errors * fix install destination --- recipes/base64/all/conanfile.py | 53 ++++++++----------- .../base64/all/patches/0.4.0-0002-cmake.patch | 10 ++-- .../base64/all/test_package/CMakeLists.txt | 5 +- .../base64/all/test_v1_package/CMakeLists.txt | 11 ---- .../base64/all/test_v1_package/conanfile.py | 18 ------- 5 files changed, 29 insertions(+), 68 deletions(-) delete mode 100644 recipes/base64/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/base64/all/test_v1_package/conanfile.py diff --git a/recipes/base64/all/conanfile.py b/recipes/base64/all/conanfile.py index d56ae8c5bcf10..e01cf8be42f58 100644 --- a/recipes/base64/all/conanfile.py +++ b/recipes/base64/all/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.env import Environment -from conan.tools.files import copy, get, apply_conandata_patches, chdir, export_conandata_patches, rmdir from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, apply_conandata_patches, chdir, export_conandata_patches, rmdir +from conan.tools.env import Environment from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc @@ -10,7 +9,8 @@ import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" + class Base64Conan(ConanFile): name = "base64" @@ -18,7 +18,8 @@ class Base64Conan(ConanFile): license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/aklomp/base64" - topics = ("base64", "codec", "encoder", "decoder") + topics = ("codec", "encoder", "decoder") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,23 +34,17 @@ def export_sources(self): export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + if Version(self.version) < "0.5.0": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): if self._use_cmake: @@ -57,13 +52,8 @@ def layout(self): else: basic_layout(self, src_folder="src") - def validate(self): - if Version(self.version) < "0.5.0" and self.info.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support build shared.") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _use_cmake(self): @@ -72,6 +62,10 @@ def _use_cmake(self): def generate(self): if self._use_cmake: tc = CMakeToolchain(self) + tc.variables["BASE64_BUILD_CLI"] = False + tc.variables["BASE64_WERROR"] = False + tc.variables["BASE64_BUILD_TESTS"] = False + tc.variables["BASE64_WITH_OpenMP"] = False tc.generate() else: tc = AutotoolsToolchain(self) @@ -82,10 +76,7 @@ def build(self): if self._use_cmake: cmake = CMake(self) cmake.configure() - if Version(self.version) >= "0.5.0": - cmake.build() - else: - cmake.build(target="base64") + cmake.build() else: env = Environment() if self.settings.arch == "x86" or self.settings.arch == "x86_64": @@ -111,14 +102,14 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) else: rmdir(self, os.path.join(self.package_folder, "cmake")) - rmdir(self, os.path.join(self.package_folder, "lib")) - copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) else: copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) copy(self, pattern="*.a", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "base64") + self.cpp_info.set_property("cmake_target_name", "aklomp::base64") self.cpp_info.libs = ["base64"] if Version(self.version) >= "0.5.0" and not self.options.shared: diff --git a/recipes/base64/all/patches/0.4.0-0002-cmake.patch b/recipes/base64/all/patches/0.4.0-0002-cmake.patch index 4b833cc2f77c3..27b194373c867 100644 --- a/recipes/base64/all/patches/0.4.0-0002-cmake.patch +++ b/recipes/base64/all/patches/0.4.0-0002-cmake.patch @@ -29,7 +29,7 @@ +# Compilation options +option(BASE64_INSTALL_TARGET "add an install target" ON) +option(BASE64_BUILD_TESTS "add test projects" ON) -+option(BASE64_WITH_OPENMP "use openmp" OFF) ++option(BASE64_WITH_OpenMP "use openmp" OFF) + +if (_TARGET_ARCH STREQUAL "x86" OR _TARGET_ARCH STREQUAL "x64") + option(BASE64_WITH_FAST_UNALIGNED_ACCESS "vectorization: unaligned access enabled" ON) @@ -49,7 +49,7 @@ + +################################################################### +# OpenMP -+if(BASE64_WITH_OPENMP) ++if(BASE64_WITH_OpenMP) + find_package(OpenMP) + if (OPENMP_FOUND) + option(BASE64_USE_OpenMP "Utilize OpenMP to parallelize encoding and decoding." ON) @@ -180,9 +180,9 @@ +# install target +if (BASE64_INSTALL_TARGET) + install(TARGETS base64 EXPORT base64-targets -+ RUNTIME DESTINATION bin/$ -+ LIBRARY DESTINATION lib/$ -+ ARCHIVE DESTINATION lib/$ ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib + INCLUDES DESTINATION include + ) + install(FILES include/libbase64.h DESTINATION include) diff --git a/recipes/base64/all/test_package/CMakeLists.txt b/recipes/base64/all/test_package/CMakeLists.txt index 195fdf269b250..d13d382a6be8a 100644 --- a/recipes/base64/all/test_package/CMakeLists.txt +++ b/recipes/base64/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) - -project(test_package C) +project(test_package LANGUAGES C) find_package(base64 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE base64::base64) +target_link_libraries(${PROJECT_NAME} PRIVATE aklomp::base64) diff --git a/recipes/base64/all/test_v1_package/CMakeLists.txt b/recipes/base64/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 6c32de99d28f7..0000000000000 --- a/recipes/base64/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(base64 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE base64::base64) diff --git a/recipes/base64/all/test_v1_package/conanfile.py b/recipes/base64/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/base64/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 629b5ae962f24ab2d2989a9fadb5924f7cc0082a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 20:09:16 +0900 Subject: [PATCH 2776/4087] (#21390) jsoncons: add version 0.172.0 * jsoncons: add version 0.172.0 * drop support gcc5 in 0.172.0 * check C++14 on jsoncons/0.172.0 * support test_v1_package --- recipes/jsoncons/all/conandata.yml | 3 ++ recipes/jsoncons/all/conanfile.py | 28 +++++++++++++++++++ .../jsoncons/all/test_package/CMakeLists.txt | 6 +++- .../all/test_v1_package/CMakeLists.txt | 6 +++- recipes/jsoncons/config.yml | 2 ++ 5 files changed, 43 insertions(+), 2 deletions(-) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 7c01d444fb091..4ac7b31b02bf9 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.172.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.0.tar.gz" + sha256: "a0b9f8c9afcfc30993bc9122a659e3790351b621c354e5dee09dd7c53665df14" "0.171.1": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.1.tar.gz" sha256: "e84d71bcf7c78f21de8bbd88a8da6f6afa458f562f6b846ef51f1aa5697ad904" diff --git a/recipes/jsoncons/all/conanfile.py b/recipes/jsoncons/all/conanfile.py index acb202ad18e68..54b1abb2a2c3e 100644 --- a/recipes/jsoncons/all/conanfile.py +++ b/recipes/jsoncons/all/conanfile.py @@ -1,6 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import get, copy from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -23,12 +26,37 @@ class JsonconsConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "0.172.0" else "14" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + def layout(self): basic_layout(self, src_folder="src") def package_id(self): self.info.clear() + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/jsoncons/all/test_package/CMakeLists.txt b/recipes/jsoncons/all/test_package/CMakeLists.txt index 15f5b1aabdb29..067c8673df55b 100644 --- a/recipes/jsoncons/all/test_package/CMakeLists.txt +++ b/recipes/jsoncons/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(jsoncons CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jsoncons) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(jsoncons_VERSION VERSION_LESS "0.172.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/jsoncons/all/test_v1_package/CMakeLists.txt b/recipes/jsoncons/all/test_v1_package/CMakeLists.txt index 2e4adc0eddf16..a5743e33125cd 100644 --- a/recipes/jsoncons/all/test_v1_package/CMakeLists.txt +++ b/recipes/jsoncons/all/test_v1_package/CMakeLists.txt @@ -8,4 +8,8 @@ find_package(jsoncons CONFIG REQUIRED) add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jsoncons::jsoncons) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(jsoncons_VERSION VERSION_LESS "0.172.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index f6d765635e5eb..b73a3c682c9d1 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.172.0": + folder: "all" "0.171.1": folder: "all" "0.171.0": From 626ed31a228756a5d73b670efec216d08fec902a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:28:00 +0100 Subject: [PATCH 2777/4087] (#21402) cpuinfo: remove shared option if msvc (always static) + allow shared for windows & non-msvc + add cmake_file_name property * remove shared option if msvc instead of raising also allow shared for non-msvc compiler on Windows * add cmake_file_name property --- recipes/cpuinfo/all/conanfile.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/recipes/cpuinfo/all/conanfile.py b/recipes/cpuinfo/all/conanfile.py index d109a4b7e8b2f..24edf5382c77c 100644 --- a/recipes/cpuinfo/all/conanfile.py +++ b/recipes/cpuinfo/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.53.0" @@ -15,7 +15,7 @@ class CpuinfoConan(ConanFile): topics = ("cpu", "cpuid", "cpu-cache", "cpu-model", "instruction-set", "cpu-topology") homepage = "https://github.com/pytorch/cpuinfo" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,7 +33,12 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if is_msvc(self): + # Only static for msvc + # Injecting CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not sufficient since there are global symbols + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -41,10 +46,6 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - def validate(self): - if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("shared cpuinfo not supported on Windows") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -65,10 +66,19 @@ def generate(self): tc.generate() def _patch_sources(self): + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + + # Fix install dir of dll + replace_in_file( + self, + cmakelists, + "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}", + "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}", + ) + if self.version < "cci.20230118": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)", - "") + # Honor fPIC option + replace_in_file(self, cmakelists, "SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)", "") def build(self): self._patch_sources() @@ -84,6 +94,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "cpuinfo") self.cpp_info.set_property("pkg_config_name", "libcpuinfo") if self.version < "cci.20230118": From cb3d56d604017acb0795eaa6d0b6beaad7a6eb7b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:49:10 +0100 Subject: [PATCH 2778/4087] (#21409) bertrand: add package_type --- recipes/bertrand/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/bertrand/all/conanfile.py b/recipes/bertrand/all/conanfile.py index 3e410daba2d59..1373f8df7a23f 100644 --- a/recipes/bertrand/all/conanfile.py +++ b/recipes/bertrand/all/conanfile.py @@ -15,6 +15,7 @@ class BertrandConan(ConanFile): homepage = "https://github.com/bernedom/bertrand" description = "A C++ header only library providing a trivial implementation for design by contract." topics = ("design by contract", "dbc", "cplusplus-library", "cplusplus-17") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -31,6 +32,9 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + cmake_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -50,12 +54,8 @@ def loose_lt_semver(v1, v2): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -78,6 +78,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "bertrand") self.cpp_info.set_property("cmake_target_name", "bertrand::bertrand") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 46d49e3ea50c18bf618e5a87d29bcdc17a4ad0ca Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:36:36 +0100 Subject: [PATCH 2779/4087] (#21412) boolean-lite: add package_type --- recipes/boolean-lite/all/conanfile.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/boolean-lite/all/conanfile.py b/recipes/boolean-lite/all/conanfile.py index 312d87af87164..d7d42e0dd8b35 100644 --- a/recipes/boolean-lite/all/conanfile.py +++ b/recipes/boolean-lite/all/conanfile.py @@ -11,20 +11,20 @@ class BooleanLiteConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/boolean-lite" description = "boolean lite - A strong boolean type for C++98 and later in a single-file header-only library" - topics = ("boolean-lite", "strong bool", "cpp98/11/17") + topics = ("strong bool", "cpp98/11/17") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -37,9 +37,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "boolean-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::boolean-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "boolean-lite" @@ -49,3 +47,5 @@ def package_info(self): self.cpp_info.components["booleanlite"].names["cmake_find_package"] = "boolean-lite" self.cpp_info.components["booleanlite"].names["cmake_find_package_multi"] = "boolean-lite" self.cpp_info.components["booleanlite"].set_property("cmake_target_name", "nonstd::boolean-lite") + self.cpp_info.components["booleanlite"].bindirs = [] + self.cpp_info.components["booleanlite"].libdirs = [] From 7bdba0f5d16d8fe5e66c6d9681fefc92aa7decdb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:46:15 +0100 Subject: [PATCH 2780/4087] (#21413) boolinq: add package_type --- recipes/boolinq/all/conanfile.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/boolinq/all/conanfile.py b/recipes/boolinq/all/conanfile.py index b9eaad3c63e47..6aee6c7437722 100644 --- a/recipes/boolinq/all/conanfile.py +++ b/recipes/boolinq/all/conanfile.py @@ -10,13 +10,17 @@ class BoolinqConan(ConanFile): name = "boolinq" description = "Super tiny C++11 single-file header-only LINQ template library" - topics = ("boolinq", "linq", "header-only") + topics = ("linq", "header-only") license = "MIT" homepage = "https://github.com/k06a/boolinq" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,12 +28,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 27955a8e6c345fb4553f55ece8dea7cff362d90c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:15:20 +0100 Subject: [PATCH 2781/4087] (#21414) brigand: add package_type --- recipes/brigand/all/conanfile.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/recipes/brigand/all/conanfile.py b/recipes/brigand/all/conanfile.py index d205988b4830f..21dde9eb4313f 100644 --- a/recipes/brigand/all/conanfile.py +++ b/recipes/brigand/all/conanfile.py @@ -14,7 +14,7 @@ class BrigandConan(ConanFile): topics = ("meta-programming", "boost", "runtime", "header-only") homepage = "https://github.com/edouarda/brigand" license = "BSL-1.0" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_boost": [True, False], @@ -25,9 +25,11 @@ class BrigandConan(ConanFile): no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): if self.options.with_boost: - # TODO: add transitive_headers=True & bump required_conan_version to >=1.52.0 self.requires("boost/1.79.0") def package_id(self): @@ -37,12 +39,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -55,9 +53,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "libbrigand") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.options.with_boost: self.cpp_info.requires = ["boost::headers"] else: From cb907e41c208d213acbf9e3d43323be70e5651c7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:38:57 +0100 Subject: [PATCH 2782/4087] (#21415) bshoshany-thread-pool: modernize more - add layout - add package_type - properly copy headers depending on versions in package() --- .../bshoshany-thread-pool/all/conanfile.py | 43 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 2 +- .../all/test_v1_package/CMakeLists.txt | 14 ++---- .../all/test_v1_package/conanfile.py | 2 +- 5 files changed, 31 insertions(+), 37 deletions(-) diff --git a/recipes/bshoshany-thread-pool/all/conanfile.py b/recipes/bshoshany-thread-pool/all/conanfile.py index 29f20f3aa9b91..3da6e90d6c057 100644 --- a/recipes/bshoshany-thread-pool/all/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/conanfile.py @@ -4,20 +4,22 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get +from conan.tools.layout import basic_layout from conan.tools.scm import Version required_conan_version = ">=1.43.0" class BShoshanyThreadPoolConan(ConanFile): + name = "bshoshany-thread-pool" description = "BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library" homepage = "https://github.com/bshoshany/thread-pool" license = "MIT" - name = "bshoshany-thread-pool" - no_copy_source = True - settings = "arch", "build_type", "compiler", "os" topics = ("concurrency", "cpp17", "header-only", "library", "multi-threading", "parallel-computing", "thread-pool", "threads") url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "arch", "build_type", "compiler", "os" + no_copy_source = True @property def _minimum_compilers_version(self): @@ -33,27 +35,12 @@ def _minimum_compilers_version(self): def _min_cppstd(self): return "17" - @property - def _source_subfolder(self): - return "source_subfolder" - - def package(self): - copy(self, "*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) - copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) - copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() - def package_info(self): - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["pthread"] - self.cpp_info.names["cmake_find_package"] = "bshoshany-thread-pool" - self.cpp_info.names["cmake_find_package_multi"] = "bshoshany-thread-pool" - - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -63,3 +50,19 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "3.5.0": + copy(self, "*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) + else: + copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt index ef975b6d66e03..28d8252a78110 100644 --- a/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt +++ b/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) - find_package(bshoshany-thread-pool REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} bshoshany-thread-pool::bshoshany-thread-pool) +target_link_libraries(${PROJECT_NAME} PRIVATE bshoshany-thread-pool::bshoshany-thread-pool) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/bshoshany-thread-pool/all/test_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_package/conanfile.py index a154ce8fd694e..b16654fc86e82 100644 --- a/recipes/bshoshany-thread-pool/all/test_package/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/test_package/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.cmake import CMake, cmake_layout -class BshoshanyThreadPoolTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt index 0ad87e39bce01..be00a8c7f57c7 100644 --- a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt +++ b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt @@ -1,14 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +cmake_minimum_required(VERSION 3.8) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(bshoshany-thread-pool REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} bshoshany-thread-pool::bshoshany-thread-pool) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py index e3619171241a6..2fc6ad2a6a2ba 100644 --- a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py @@ -3,7 +3,7 @@ from conans import CMake, ConanFile, tools -class BshoshanyThreadPoolTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "cmake", "cmake_find_package_multi" From e70701bf47aacc5984e80477fbce0a27da73e6c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:51:39 +0100 Subject: [PATCH 2783/4087] (#21416) bvdberg-ctest: add package_type --- recipes/bvdberg-ctest/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/bvdberg-ctest/all/conanfile.py b/recipes/bvdberg-ctest/all/conanfile.py index ac8c63a98f38c..7786a8fb5c6c8 100644 --- a/recipes/bvdberg-ctest/all/conanfile.py +++ b/recipes/bvdberg-ctest/all/conanfile.py @@ -14,9 +14,13 @@ class BvdbergCtestConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "ctest is a unit test framework for software written in C." topics = ("testing", "testing-framework", "unit-testing") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,12 +28,8 @@ def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("Windows not supported") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 817e1e8af23b4a26812fab45dfe29440222fc15c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:10:16 +0100 Subject: [PATCH 2784/4087] (#21418) c-dbg-macro: add package_type --- recipes/c-dbg-macro/all/conanfile.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/recipes/c-dbg-macro/all/conanfile.py b/recipes/c-dbg-macro/all/conanfile.py index d30bb72e433f7..96423bd2a8bac 100644 --- a/recipes/c-dbg-macro/all/conanfile.py +++ b/recipes/c-dbg-macro/all/conanfile.py @@ -5,7 +5,8 @@ import os -required_conan_version = ">=1.46.0" +required_conan_version = ">=1.50.0" + class DbgMacroConan(ConanFile): name = "c-dbg-macro" @@ -14,18 +15,22 @@ class DbgMacroConan(ConanFile): license = "MIT" description = "A dbg(...) macro for C" topics = ("debugging", "macro", "pretty-printing", "header-only") + package_type = "header-library" settings = ("compiler", "build_type", "os", "arch") no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("This library is not compatible with Windows") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "dbg.h", @@ -34,6 +39,6 @@ def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - - def package_id(self): - self.info.clear() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From 07f7a6d5c53ba669cdc737263838003ceb8ffbce Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:18:43 +0100 Subject: [PATCH 2785/4087] (#21419) cajun-jsonapi: modernize more for conan v2 - add package_type - add layout - empty bindirs & libdirs - fix required_conan_version --- recipes/cajun-jsonapi/all/conanfile.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/recipes/cajun-jsonapi/all/conanfile.py b/recipes/cajun-jsonapi/all/conanfile.py index 55cd07447203f..4c40bccc4e945 100644 --- a/recipes/cajun-jsonapi/all/conanfile.py +++ b/recipes/cajun-jsonapi/all/conanfile.py @@ -1,34 +1,37 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy, load, save +from conan.tools.layout import basic_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.50.0" class CajunJsonApiConan(ConanFile): name = "cajun-jsonapi" description = "CAJUN* is a C++ API for the JSON object interchange format." - topics = ("conan", "cajun", "json") + topics = ("cajun", "json") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/cajun-jsonapi/cajun-jsonapi" license = "BSD-3-Clause" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True - ) + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, 11) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def _extract_license(self): file_content = load(self, os.path.join(self.source_folder, "test.cpp")) return ( @@ -82,8 +85,7 @@ def package(self): src=self.source_folder, ) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.includedirs.append(os.path.join("include", "cajun")) + self.cpp_info.libdirs = [] From 53f13e1ba371607b838ff39a3cdfcf10d2505703 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:38:01 +0100 Subject: [PATCH 2786/4087] (#21421) canvas_ity: add package_type --- recipes/canvas_ity/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/canvas_ity/all/conanfile.py b/recipes/canvas_ity/all/conanfile.py index b4527ac4677c7..9b0e2c5ceee1d 100644 --- a/recipes/canvas_ity/all/conanfile.py +++ b/recipes/canvas_ity/all/conanfile.py @@ -14,6 +14,7 @@ class CanvasItyConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/a-e-k/canvas_ity" topics = ("rasterizer", "canvas", "2d", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -24,7 +25,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From e341ed29661e720babf3d6d9574b4c830b7fa836 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:06:32 +0100 Subject: [PATCH 2787/4087] (#21422) cd3-boost-unit-definitions: modernize more for conan v2 - add package_type - fix msvc min version - put src code under src folder --- recipes/cd3-boost-unit-definitions/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/cd3-boost-unit-definitions/all/conanfile.py b/recipes/cd3-boost-unit-definitions/all/conanfile.py index 23bdb146d0b4e..2b48b57aef4a1 100644 --- a/recipes/cd3-boost-unit-definitions/all/conanfile.py +++ b/recipes/cd3-boost-unit-definitions/all/conanfile.py @@ -10,13 +10,14 @@ required_conan_version = ">=1.52.0" -class PackageConan(ConanFile): +class Cd3BoostUnitDefinitionsConan(ConanFile): name = "cd3-boost-unit-definitions" description = "A collection of pre-defined types and unit instances for working with Boost.Units quantities." license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/CD3/BoostUnitDefinitions" topics = ("physical dimensions", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,20 +29,17 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "19.0", + "msvc": "191", "gcc": "5", "clang": "5", "apple-clang": "5.1", } - def export_sources(self): - pass - def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.80.0", transitive_headers=True) + self.requires("boost/1.80.0") def package_id(self): self.info.clear() From 0406eef581563db43d051fd11a41239f9a03b88c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:56:43 +0100 Subject: [PATCH 2788/4087] (#21423) chef-fun: add package_type & cleanup recipe - add package_type - fix required_conan_version - remove dead code --- recipes/chef-fun/all/conandata.yml | 4 +- recipes/chef-fun/all/conanfile.py | 54 ++----------------- .../chef-fun/all/test_package/conanfile.py | 1 - recipes/chef-fun/config.yml | 1 - 4 files changed, 4 insertions(+), 56 deletions(-) diff --git a/recipes/chef-fun/all/conandata.yml b/recipes/chef-fun/all/conandata.yml index b1d88fa4a923c..9532bc9181c94 100644 --- a/recipes/chef-fun/all/conandata.yml +++ b/recipes/chef-fun/all/conandata.yml @@ -1,6 +1,4 @@ sources: - # Newer versions at the top "1.0.1": - url: - - "https://gitlab.com/libchef/chef-fun/-/archive/1.0.1/chef-fun-1.0.1.tar.gz" + url: "https://gitlab.com/libchef/chef-fun/-/archive/1.0.1/chef-fun-1.0.1.tar.gz" sha256: "52a4facb3b1de9f1a8ed4f3314fc5e2190fab1f5564c04c7071361fb08ca837e" diff --git a/recipes/chef-fun/all/conanfile.py b/recipes/chef-fun/all/conanfile.py index e764b383caf1b..8958e9403c1fa 100644 --- a/recipes/chef-fun/all/conanfile.py +++ b/recipes/chef-fun/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class ChefFunConan(ConanFile): @@ -17,40 +17,28 @@ class ChefFunConan(ConanFile): topics = ("functional programming", "cpp", "library" ) url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - # Keep these or explain why it's not required for this particular case - # Do not copy sources to build folder for header only projects, unless you need to apply patches no_copy_source = True @property def _min_cppstd(self): return 20 - # In case the project requires C++14/17/20/... the minimum compiler version should be listed - # Not tested on "msvc", "clang", and "apple-clang". Possibly it works there - # given a sufficient recent version @property def _compilers_minimum_version(self): return { "gcc": "9.4.0", } - # Use the export_sources(self) method instead of the exports_sources attribute. - # This allows finer grain exportation of patches per version - def export_sources(self): - export_conandata_patches(self) - def layout(self): - # src_folder must use the same source folder name than the project basic_layout(self, src_folder="src") - # same package ID for any package def package_id(self): self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - # Validate the minimum cpp standard supported when installing the package. For C++ projects only check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: @@ -58,21 +46,9 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) -# def requirements(self): -# # Prefer self.requires method instead of requires attribute -# # Direct dependencies of header only libs are always transitive since they are included in public headers -# self.requires("dependency/0.8.1", transitive_headers=True) - def source(self): - # Download source package and extract to source folder get(self, **self.conan_data["sources"][self.version], strip_root=True) - # Not mandatory when there is no patch, but will suppress warning message about missing build() method - def build(self): - # The attribute no_copy_source should not be used when applying patches in build - apply_conandata_patches(self) - - # Copy all files to the package folder def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( @@ -89,29 +65,5 @@ def package(self): ) def package_info(self): - # Folders not used for header-only self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - - # Set these to the appropriate values if the package has an official FindPACKAGE.cmake - # listed in https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules - # examples: bzip2, freetype, gdal, icu, libcurl, libjpeg, libpng, libtiff, openssl, sqlite3, zlib... - self.cpp_info.set_property("cmake_module_file_name", "ChefFun") - self.cpp_info.set_property("cmake_module_target_name", "ChefFun::ChefFun") - # Set these to the appropriate values if package provides a CMake config file - # (package-config.cmake or packageConfig.cmake, with package::package target, usually installed in /lib/cmake//) - self.cpp_info.set_property("cmake_file_name", "chef-fun") - self.cpp_info.set_property("cmake_target_name", "chef-fun::chef-fun") - # Set this to the appropriate value if the package provides a pkgconfig file - # (package.pc, usually installed in /lib/pkgconfig/) - self.cpp_info.set_property("pkg_config_name", "chef-fun") - - ## Add m, pthread and dl if needed in Linux/FreeBSD - #if self.settings.os in ["Linux", "FreeBSD"]: - # self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "chef-fun" - self.cpp_info.names["cmake_find_package_multi"] = "chef-fun" - self.cpp_info.filenames["cmake_find_package"] = "chef-fun" - self.cpp_info.filenames["cmake_find_package_multi"] = "chef-fun" diff --git a/recipes/chef-fun/all/test_package/conanfile.py b/recipes/chef-fun/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/chef-fun/all/test_package/conanfile.py +++ b/recipes/chef-fun/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" diff --git a/recipes/chef-fun/config.yml b/recipes/chef-fun/config.yml index d8a13868268e6..715e55357a17b 100644 --- a/recipes/chef-fun/config.yml +++ b/recipes/chef-fun/config.yml @@ -1,4 +1,3 @@ versions: - # Newer versions at the top "1.0.1": folder: all From a6bf8ccac1adbe0d188b70d7d2d9a62053daefc8 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Tue, 28 Nov 2023 11:20:24 -0800 Subject: [PATCH 2789/4087] (#21425) Add missing requirement for libhal * Add missing requirement for libhal libhal 2.Y.Z requires tl-function-ref as well as boost-leaf. * Add to test package This file uses the tl-function-ref dependency is used. --- recipes/libhal/all/conanfile.py | 26 ++++++----- .../libhal/all/test_package/test_package.cpp | 43 ++++++++++++++++--- 2 files changed, 52 insertions(+), 17 deletions(-) diff --git a/recipes/libhal/all/conanfile.py b/recipes/libhal/all/conanfile.py index 4d6375a4008aa..b711596878185 100644 --- a/recipes/libhal/all/conanfile.py +++ b/recipes/libhal/all/conanfile.py @@ -44,6 +44,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): + self.requires("tl-function-ref/1.0.0") # NOTE from the author, kammce, and CCI maintainers: # although boost-leaf is deprecated, we've kept it for 2.x versions, # don't update it as upstream code won't work with boost itself @@ -77,18 +78,20 @@ def build(self): pass def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, + copy(self, + "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses") + ) + copy(self, "*.h", - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include") + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include") ) - copy( - self, + copy(self, "*.hpp", - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include") + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include") ) def package_info(self): @@ -104,7 +107,8 @@ def package_info(self): "BOOST_LEAF_NO_THREADS" ] - # Note from CCI maintainers: Ensure users are aware of the deprecated dependency - if Version(self.version) < "3.0": + # Note from CCI maintainers: Ensure users are aware of the deprecated + # dependency + if version < "3.0": self.output.warning(f"{self.name} < 3.0.0 uses boost-leaf which is a deprecated recipe. " f"Once 3.0 is released, 2.x will also be deprecated.") diff --git a/recipes/libhal/all/test_package/test_package.cpp b/recipes/libhal/all/test_package/test_package.cpp index f32cbffd9f13d..f702ac0fa8617 100644 --- a/recipes/libhal/all/test_package/test_package.cpp +++ b/recipes/libhal/all/test_package/test_package.cpp @@ -20,7 +20,8 @@ class test_pwm : public hal::pwm } }; -int main() +int +main() { test_pwm pwm; auto rc_servo = hal::rc_servo::create(pwm).value(); @@ -34,15 +35,20 @@ int main() #else #include +#include +#include -class test_pwm : public hal::pwm { +class test_pwm : public hal::pwm +{ private: - virtual hal::result driver_frequency(hal::hertz p_frequency) { + hal::result driver_frequency(hal::hertz p_frequency) override + { std::printf("frequency = %f Hz\n", p_frequency); return frequency_t{}; } - virtual hal::result driver_duty_cycle(float p_position) { + hal::result driver_duty_cycle(float p_position) override + { error_count_down--; if (error_count_down == 0) { return hal::new_error(std::errc::io_error); @@ -55,13 +61,36 @@ class test_pwm : public hal::pwm { int error_count_down = 2; }; -int main() { +class test_timer : public hal::timer +{ +private: + hal::result driver_is_running() override + { + return is_running_t{}; + } + hal::result driver_cancel() override + { + return cancel_t{}; + } + hal::result driver_schedule( + hal::callback, + hal::time_duration) override + { + return schedule_t{}; + } +}; + +int +main() +{ using namespace hal::literals; + using namespace std::literals; int status = 0; test_pwm pwm; + test_timer timer; hal::attempt_all( - [&pwm]() -> hal::status { + [&pwm, &timer]() -> hal::status { HAL_CHECK(pwm.frequency(10.0_kHz)); HAL_CHECK(pwm.duty_cycle(0.25)); @@ -69,6 +98,8 @@ int main() { HAL_CHECK(pwm.duty_cycle(-0.25)); HAL_CHECK(pwm.duty_cycle(-1.0)); + HAL_CHECK(timer.schedule([]() {}, 1ms)); + return hal::success(); }, [](std::errc p_errc) { From bdc4e8e9bb289a3514391d81a4d1eaca37af3747 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 04:28:38 +0900 Subject: [PATCH 2790/4087] (#21435) glaze: add version 1.8.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6350539fe7901..0f33621d3e035 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.1": + url: "https://github.com/stephenberry/glaze/archive/v1.8.1.tar.gz" + sha256: "ea804976d55a27e6df49390c3ec8600daea0c72780ea7094d79d1edcbe525fcd" "1.7.0": url: "https://github.com/stephenberry/glaze/archive/v1.7.0.tar.gz" sha256: "e8ccb925cf45f8974ba8d9af56c29eed12dd5fd9253c02015a6780b7c861e4df" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a5c7ebbca4dd3..c83a25c985852 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.1": + folder: all "1.7.0": folder: all "1.6.1": From de9163332446f36a6d5cd5dd9e919d9d57dcd32a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 20:49:06 +0100 Subject: [PATCH 2791/4087] (#21438) cppzmq: add package_type + bump zeromq * add package_type * bump zeromq --- recipes/cppzmq/all/conanfile.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/cppzmq/all/conanfile.py b/recipes/cppzmq/all/conanfile.py index 44e3718dd5de3..5a976b586d2ff 100644 --- a/recipes/cppzmq/all/conanfile.py +++ b/recipes/cppzmq/all/conanfile.py @@ -12,25 +12,23 @@ class CppZmqConan(ConanFile): description = "C++ binding for 0MQ" homepage = "https://github.com/zeromq/cppzmq" license = "MIT" - topics = ("cppzmq", "zmq-cpp", "zmq", "cpp-bind") + topics = ("zmq-cpp", "zmq", "cpp-bind") url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zeromq/4.3.4", transitive_headers=True, transitive_libs=True) + self.requires("zeromq/4.3.5") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From a8536b38a7ef148c7b6384414e5a880b0049cb29 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 05:08:30 +0900 Subject: [PATCH 2792/4087] (#21441) zlib-ng: add version 2.1.5 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 83e5af856aeeb..7e85151017f0d 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.5": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.5.tar.gz" + sha256: "3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04" "2.1.4": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.4.tar.gz" sha256: "a0293475e6a44a3f6c045229fe50f69dc0eebc62a42405a51f19d46a5541e77a" diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index cc680233f4b5c..b48f6e22e71f3 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.5": + folder: all "2.1.4": folder: all "2.1.3": From 120fa739b1ef1471e8f48d2d4e963ef96c87c544 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 28 Nov 2023 23:28:18 +0300 Subject: [PATCH 2793/4087] (#21446) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 59870ccc4500d..8b39ba21d27ff 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.0.tar.gz" + sha256: "e8a37c80f1823bbac9cbfd6bbd662ee14e8ff0ac9e97966aa34cb2d0eed18e72" "2.2.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.3.tar.gz" sha256: "31f6de553700b25e4ed8517bcde24bd43b18c3fda1260f968aa5c393a7491783" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 291422959f744..ea0e83069f215 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.3": folder: all "2.2.2": From e4b5bc24efc8075fcf436591cc0ee990caaaf80a Mon Sep 17 00:00:00 2001 From: Hans-Joachim Krauch Date: Tue, 28 Nov 2023 19:58:53 -0300 Subject: [PATCH 2794/4087] (#21452) foxglove-websocket: Add version 1.2.0 --- recipes/foxglove-websocket/all/conandata.yml | 3 +++ recipes/foxglove-websocket/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/foxglove-websocket/all/conandata.yml b/recipes/foxglove-websocket/all/conandata.yml index 8f15ef7f494fb..697b11f6c928c 100644 --- a/recipes/foxglove-websocket/all/conandata.yml +++ b/recipes/foxglove-websocket/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 1.2.0: + url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.2.0.tar.gz + sha256: 0471d3932500ed6acd87a99cd76e048366c82f2527c1631afcee4f8ab71c4ab7 1.1.0: url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.1.0.tar.gz sha256: 3ad1f639e340e878dd638d542e57185b8c7c08fdfcb03d8c43d054957078a81f diff --git a/recipes/foxglove-websocket/config.yml b/recipes/foxglove-websocket/config.yml index 29bb1651937f8..6f923ecb4a132 100644 --- a/recipes/foxglove-websocket/config.yml +++ b/recipes/foxglove-websocket/config.yml @@ -1,4 +1,6 @@ versions: + 1.2.0: + folder: all 1.1.0: folder: all 1.0.0: From a48a4bc322a6fc12d163988584b0bc8f298f24b6 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 09:47:42 +0900 Subject: [PATCH 2795/4087] (#21447) quill: add version 3.5.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index aebded6d0ed89..665850c7b00b6 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + url: "https://github.com/odygrd/quill/archive/v3.5.0.tar.gz" + sha256: "47a69465cddeb05645745bed0b3099b49cb627464782f765ce9545723ff1fe84" "3.4.1": url: "https://github.com/odygrd/quill/archive/v3.4.1.tar.gz" sha256: "99f6497b8ba37c30c871fab89f14cd7bc989f3eaa921ccd940a521ee60a6a1c5" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 085eaabd5901d..c12fd98d1c139 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: "all" "3.4.1": folder: "all" "3.4.0": From 23cf6c4c03d3e164ccdebeffd0893df62ce826d7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 02:29:34 +0100 Subject: [PATCH 2796/4087] (#21437) cppcodec: add package_type --- recipes/cppcodec/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/cppcodec/all/conanfile.py b/recipes/cppcodec/all/conanfile.py index 59f96dbe4a59f..abb2abaee1872 100644 --- a/recipes/cppcodec/all/conanfile.py +++ b/recipes/cppcodec/all/conanfile.py @@ -17,6 +17,7 @@ class CppcodecConan(ConanFile): "base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32" ) topics = ("base64", "cpp11", "codec", "base32") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -31,8 +32,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -45,4 +45,3 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "cppcodec-1") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 4336a68a1fef94e6c9704100a436c3a1a72f600d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 11:29:41 +0900 Subject: [PATCH 2797/4087] (#21451) clipper2: add version 1.3.0 --- recipes/clipper2/all/conandata.yml | 3 +++ recipes/clipper2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml index 1b524aee1941a..317fd4373a1de 100644 --- a/recipes/clipper2/all/conandata.yml +++ b/recipes/clipper2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Cliper2_1.3.0.tar.gz" + sha256: "f7e1a706f5f786ed1be8ae969ce15ca569ce36d8de1c3d3f3dacfb3ce0c493e8" "1.2.4": url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.4.tar.gz" sha256: "a013d391c25c5f665cdb5cbd75cdd842dcc28f6e1bd098454beb359f6f212f33" diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml index 66e7ce883e15d..49b239cf22a6f 100644 --- a/recipes/clipper2/config.yml +++ b/recipes/clipper2/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.4": folder: all "1.2.3": From 51ea3c6f4b80bf62928b163828da7c1a04b8d396 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 11:48:18 +0900 Subject: [PATCH 2798/4087] (#21461) nlohmann_json: add version 3.11.3 --- recipes/nlohmann_json/all/conandata.yml | 3 +++ recipes/nlohmann_json/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nlohmann_json/all/conandata.yml b/recipes/nlohmann_json/all/conandata.yml index 3da3e0aae2e97..971d0191590f9 100644 --- a/recipes/nlohmann_json/all/conandata.yml +++ b/recipes/nlohmann_json/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.11.3": + url: "https://github.com/nlohmann/json/archive/v3.11.3.tar.gz" + sha256: "0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406" "3.11.2": url: "https://github.com/nlohmann/json/archive/v3.11.2.tar.gz" sha256: "d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273" diff --git a/recipes/nlohmann_json/config.yml b/recipes/nlohmann_json/config.yml index e38fadbe1b4de..ad526c439b84b 100644 --- a/recipes/nlohmann_json/config.yml +++ b/recipes/nlohmann_json/config.yml @@ -1,4 +1,6 @@ versions: + "3.11.3": + folder: all "3.11.2": folder: all "3.11.1": From 31bca922dacac3f2608a44736cddb6bf3e920e4f Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Wed, 29 Nov 2023 04:37:50 +0100 Subject: [PATCH 2799/4087] (#21058) [ginkgo] add version 1.7.0 * [ginkgo] add versions up to 1.7.0 * remove intermediate versions * patch libc++ issue * add cmake requirement * improve patch descriptions * list sources as string * fix tool_requires * remove old versions * fix cmake requirement * fix patch * fix SYCL warning * disable shared debug on MSVC for 1.7.0 * revert formatting changes --------- Co-authored-by: Uilian Ries --- recipes/ginkgo/all/conandata.yml | 17 +++++++++++ recipes/ginkgo/all/conanfile.py | 29 ++++++++++++++++--- .../ginkgo/all/patches/libc++-chrono.patch | 17 +++++++++++ recipes/ginkgo/config.yml | 2 ++ 4 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 recipes/ginkgo/all/patches/libc++-chrono.patch diff --git a/recipes/ginkgo/all/conandata.yml b/recipes/ginkgo/all/conandata.yml index 1b82b82c2ec35..8927c006e472b 100644 --- a/recipes/ginkgo/all/conandata.yml +++ b/recipes/ginkgo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/ginkgo-project/ginkgo/archive/v1.7.0.tar.gz" + sha256: "f4b362bcb046bc53fbe2e578662b939222d0c44b96449101829e73ecce02bcb3" "1.4.0": url: "https://github.com/ginkgo-project/ginkgo/archive/v1.4.0.tar.gz" sha256: "6dcadbd3e93f6ec58ef6cda5b980fbf51ea3c7c13e27952ef38804058ac93f08" @@ -6,8 +9,22 @@ sources: url: "https://github.com/ginkgo-project/ginkgo/archive/v1.3.0.tar.gz" sha256: "1b0e907b4046cdf7cef16d1730c12ba812b38f2764f49f74f454239a27f63596" patches: + "1.7.0": + - patch_file: "patches/libc++-chrono.patch" + patch_type: "official" + patch_description: "Fix for std::chrono incompatibility with libc++" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/1463" "1.4.0": - patch_file: "patches/windows-symbols.patch" + patch_type: "official" + patch_description: "Fix for excessive link symbol count with MSVC" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/868" "1.3.0": - patch_file: "patches/cmake-fixes.patch" + patch_type: "official" + patch_description: "Fixes for CMake issues" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/713, https://github.com/ginkgo-project/ginkgo/pull/720" - patch_file: "patches/windows-iterator.patch" + patch_type: "official" + patch_description: "Fixes for MSVC compatibility" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/665" diff --git a/recipes/ginkgo/all/conanfile.py b/recipes/ginkgo/all/conanfile.py index 89838bc8bd072..6c4dd324e58d0 100644 --- a/recipes/ginkgo/all/conanfile.py +++ b/recipes/ginkgo/all/conanfile.py @@ -57,6 +57,9 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -74,13 +77,27 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + minimum_version = self._minimum_compilers_version.get( + str(self.settings.compiler) + ) + if minimum_version and loose_lt_semver( + str(self.settings.compiler.version), minimum_version + ): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): + is_windows_shared = self.options.shared and is_msvc(self) + + if ( + is_windows_shared + and self.settings.build_type == "Debug" + and Version(self.version) >= "1.7.0" + ): + raise ConanInvalidConfiguration( + "Ginkgo >= 1.7.0 cannot be built in shared debug mode on Windows" + ) + if is_windows_shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( "Ginkgo does not support mixing static CRT and shared library" ) @@ -98,8 +115,12 @@ def generate(self): tc.variables["GINKGO_BUILD_OMP"] = self.options.openmp tc.variables["GINKGO_BUILD_CUDA"] = self.options.cuda tc.variables["GINKGO_BUILD_HIP"] = False - tc.variables["GINKGO_BUILD_DPCPP"] = False + if Version(self.version) >= "1.7.0": + tc.variables["GINKGO_BUILD_SYCL"] = False + else: + tc.variables["GINKGO_BUILD_DPCPP"] = False tc.variables["GINKGO_BUILD_HWLOC"] = False + tc.variables["GINKGO_BUILD_MPI"] = False tc.generate() def build(self): diff --git a/recipes/ginkgo/all/patches/libc++-chrono.patch b/recipes/ginkgo/all/patches/libc++-chrono.patch new file mode 100644 index 0000000000000..81e20b2bc3b95 --- /dev/null +++ b/recipes/ginkgo/all/patches/libc++-chrono.patch @@ -0,0 +1,17 @@ +--- + core/base/timer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/core/base/timer.cpp b/core/base/timer.cpp +index 786c31cae39..2c587ff0d8c 100644 +--- a/core/base/timer.cpp ++++ b/core/base/timer.cpp +@@ -124,7 +124,7 @@ void CpuTimer::wait(time_point& time) {} + std::chrono::nanoseconds CpuTimer::difference_async(const time_point& start, + const time_point& stop) + { +- return std::chrono::duration_cast( ++ return std::chrono::duration_cast( + stop.data_.chrono - start.data_.chrono); + } + diff --git a/recipes/ginkgo/config.yml b/recipes/ginkgo/config.yml index 25c9b4921636c..4283c517286f9 100644 --- a/recipes/ginkgo/config.yml +++ b/recipes/ginkgo/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.4.0": folder: all "1.3.0": From 75ca185b6ec09f479753f94ab5d36241fc10658f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 12:58:27 +0900 Subject: [PATCH 2800/4087] (#21459) c-blosc2: update zlib-ng/2.1.5 --- recipes/c-blosc2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 591fa3d30b1d6..9f202af962843 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.4") + self.requires("zlib-ng/2.1.5") elif self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: From 55985a0b66596fa162c92f62a70d9e8ebd2ac5a3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:29:33 +0100 Subject: [PATCH 2801/4087] (#21431) cpp-lazy: add package_type & explicit cmake names --- recipes/cpp-lazy/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/cpp-lazy/all/conanfile.py b/recipes/cpp-lazy/all/conanfile.py index 431ebcb132c22..eff5d319df990 100644 --- a/recipes/cpp-lazy/all/conanfile.py +++ b/recipes/cpp-lazy/all/conanfile.py @@ -16,8 +16,8 @@ class CpplazyConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/MarcDirven/cpp-lazy" topics = ("lazy evaluation", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -55,5 +55,7 @@ def package(self): ) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "cpp-lazy") + self.cpp_info.set_property("cmake_target_name", "cpp-lazy::cpp-lazy") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From 5f553ba24abde0241ebf602993612076c564c6e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 29 Nov 2023 12:30:30 +0200 Subject: [PATCH 2802/4087] (#18736) djinni-support-lib: migrate to Conan v2, remove deprecated option * djinni-support-lib: migrate to Conan v2 * djinni-support-lib: restore VirtualRunEnv in test_package * djinni-support-lib: fix path issue with CMake * djinni-support-lib: fix a missing include * djinni-support-lib: add -pthread * djinni-support-lib: fix CMake path * djinni-support-lib: add system frameworks --- .../djinni-support-lib/1.x.x/CMakeLists.txt | 11 - .../djinni-support-lib/1.x.x/conandata.yml | 34 ++- recipes/djinni-support-lib/1.x.x/conanfile.py | 204 ++++++++++-------- .../1.x.x/patches/fix-missing-include.patch | 22 ++ .../1.x.x/test_package/CMakeLists.txt | 9 +- .../1.x.x/test_package/conanfile.py | 29 ++- .../1.x.x/test_package/test_package.cpp | 8 +- .../1.x.x/test_v1_package/CMakeLists.txt | 8 + .../1.x.x/test_v1_package/conanfile.py | 19 ++ recipes/djinni-support-lib/all/CMakeLists.txt | 11 - recipes/djinni-support-lib/all/conandata.yml | 4 +- recipes/djinni-support-lib/all/conanfile.py | 129 ++++++----- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 29 ++- .../all/test_package/test_package.cpp | 8 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 19 ++ 17 files changed, 339 insertions(+), 222 deletions(-) delete mode 100644 recipes/djinni-support-lib/1.x.x/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch create mode 100644 recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py delete mode 100644 recipes/djinni-support-lib/all/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/all/test_v1_package/conanfile.py diff --git a/recipes/djinni-support-lib/1.x.x/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/CMakeLists.txt deleted file mode 100644 index 0afabb3cbe2e0..0000000000000 --- a/recipes/djinni-support-lib/1.x.x/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(conan_cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/djinni-support-lib/1.x.x/conandata.yml b/recipes/djinni-support-lib/1.x.x/conandata.yml index d35c553da9ba8..10c1b916311e1 100644 --- a/recipes/djinni-support-lib/1.x.x/conandata.yml +++ b/recipes/djinni-support-lib/1.x.x/conandata.yml @@ -1,13 +1,29 @@ sources: - "1.0.0": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.0.0.tar.gz - sha256: "25f8c648c3bec78a54d5387a792f1d7cd3c073c4477dc50ad2b9c5270a590779" + "1.2.1": + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.1.tar.gz" + sha256: "ed64d3466ad7f13971913b5bd70c608a558a6b8574d9dbd8779dcdce9b97521b" + "1.2.0": + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.0.tar.gz" + sha256: "3630870c2b3305dc6216f8ca8e37139f3f59f2ea7bd600a1154c5aa1c4d983a9" "1.1.0": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.1.0.tar.gz + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.1.0.tar.gz" sha256: "3a67d1c26959a9df5c158fdf0792e036149009b206ed89fcee8c7b1608187336" + "1.0.0": + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.0.0.tar.gz" + sha256: "25f8c648c3bec78a54d5387a792f1d7cd3c073c4477dc50ad2b9c5270a590779" +patches: "1.2.0": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.0.tar.gz - sha256: "3630870c2b3305dc6216f8ca8e37139f3f59f2ea7bd600a1154c5aa1c4d983a9" - "1.2.1": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.1.tar.gz - sha256: "ed64d3466ad7f13971913b5bd70c608a558a6b8574d9dbd8779dcdce9b97521b" + - patch_file: "patches/fix-missing-include.patch" + patch_source: "https://github.com/cross-language-cpp/djinni-support-lib/commit/ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f" + patch_description: "Fix missing #include " + patch_type: "backport" + "1.1.0": + - patch_file: "patches/fix-missing-include.patch" + patch_source: "https://github.com/cross-language-cpp/djinni-support-lib/commit/ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f" + patch_description: "Fix missing #include " + patch_type: "backport" + "1.0.0": + - patch_file: "patches/fix-missing-include.patch" + patch_source: "https://github.com/cross-language-cpp/djinni-support-lib/commit/ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f" + patch_description: "Fix missing #include " + patch_type: "backport" diff --git a/recipes/djinni-support-lib/1.x.x/conanfile.py b/recipes/djinni-support-lib/1.x.x/conanfile.py index 61920459f5086..ef96684a7eec4 100644 --- a/recipes/djinni-support-lib/1.x.x/conanfile.py +++ b/recipes/djinni-support-lib/1.x.x/conanfile.py @@ -1,145 +1,175 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import collect_libs, copy, get, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version +required_conan_version = ">=1.53.0" -class DjinniSuppotLib(ConanFile): + +class DjinniSupportLib(ConanFile): name = "djinni-support-lib" - homepage = "https://djinni.xlcpp.dev" - url = "https://github.com/conan-io/conan-center-index" description = "Djinni is a tool for generating cross-language type declarations and interface bindings" - topics = ("java", "Objective-C", "Android", "iOS") license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://djinni.xlcpp.dev" + topics = ("java", "Objective-C", "Android", "iOS") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False], - "target": ["jni", "objc", "python", "cppcli", "auto", "deprecated"], - "with_jni": [True, False, "auto"], - "with_objc": [True, False, "auto"], - "with_python": [True, False, "auto"], - "with_cppcli": [True, False, "auto"], - "system_java": [True, False] - } - default_options = {"shared": False, - "fPIC": True, - "target": "deprecated", - "with_jni": "auto", - "with_objc": "auto", - "with_python": "auto", - "with_cppcli": "auto", - "system_java": False, - } - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - - _cmake = None + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_jni": [True, False, "auto"], + "with_objc": [True, False, "auto"], + "with_python": [True, False, "auto"], + "with_cppcli": [True, False, "auto"], + "system_java": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_jni": "auto", + "with_objc": "auto", + "with_python": "auto", + "with_cppcli": "auto", + "system_java": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + elif self.settings.os == "Android": + self.options.system_java = True @property def _objc_support(self): - if self.options.with_objc == "auto" or self.options.target == "auto": - return tools.is_apple_os(self.settings.os) + if self.options.with_objc == "auto": + return is_apple_os(self) else: - return self.options.with_objc == True or self.options.target == "objc" + return self.options.with_objc @property def _jni_support(self): - if self.options.with_jni == "auto" or self.options.target == "auto": + if self.options.with_jni == "auto": return self.settings.os == "Android" else: - return self.options.with_jni == True or self.options.target == "jni" + return self.options.with_jni @property def _python_support(self): - return self.options.with_python == True or self.options.target == "python" + return self.options.with_python @property def _cppcli_support(self): - if self.options.with_cppcli == "auto" or self.options.target == "auto": + if self.options.with_cppcli == "auto": return self.settings.os == "Windows" else: - return self.options.with_cppcli == True or self.options.target == "cppcli" - - def configure(self): - if self.settings.compiler == "Visual Studio" or self.options.shared: - del self.options.fPIC - - @property - def _source_subfolder(self): - return "source_subfolder" - - def build_requirements(self): - if not self.options.system_java and self._jni_support: - self.build_requires("zulu-openjdk/11.0.12@") - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - elif self.settings.os == "Android": - self.options.system_java = True + return self.options.with_cppcli @property def _supported_compilers(self): return { "gcc": "8", "clang": "7", - "Visual Studio": "15", "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", } + def configure(self): + if is_msvc(self) or self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + def validate(self): - if self.options.target != "deprecated": - self.output.warn("The 'target' option is deprecated and will be removed soon. Use 'with_jni', 'with_objc', 'with_python' or 'with_cppcli' options instead.") if not (self._objc_support or self._jni_support or self._python_support or self._cppcli_support): - raise ConanInvalidConfiguration("Target language could not be determined automatically. Set at least one of 'with_jni', 'with_objc', 'with_python' or 'with_cppcli' options to `True`.") + raise ConanInvalidConfiguration( + "Target language could not be determined automatically. Set at least one of 'with_jni'," + " 'with_objc', 'with_python' or 'with_cppcli' options to `True`." + ) if self._cppcli_support: if self.settings.os != "Windows": - raise ConanInvalidConfiguration("C++/CLI has been enabled on a non-Windows operating system. This is not supported.") + raise ConanInvalidConfiguration( + "C++/CLI has been enabled on a non-Windows operating system. This is not supported." + ) + if self._objc_support or self._jni_support or self._python_support: + raise ConanInvalidConfiguration( + "C++/CLI is not yet supported with other languages enabled as well. " + "Disable 'with_jni', 'with_objc' and 'with_python' options for a valid configuration." + ) if self.options.shared: raise ConanInvalidConfiguration("C++/CLI does not support building as shared library") - if self.settings.compiler.runtime == "MT" or self.settings.compiler.runtime == "MTd": + if is_msvc_static_runtime(self): raise ConanInvalidConfiguration("'/clr' and '/MT' command-line options are incompatible") - if self._objc_support or self._jni_support or self._python_support: - raise ConanInvalidConfiguration( - "C++/CLI is not yet supported with other languages enabled as well. Disable 'with_jni', 'with_objc' and 'with_python' options for a valid configuration.") if self._python_support: if self.settings.os == "Windows": - raise ConanInvalidConfiguration("Python on Windows is not fully yet supported, please see https://github.com/cross-language-cpp/djinni-support-lib/issues.") + raise ConanInvalidConfiguration( + "Python on Windows is not fully yet supported, please see" + " https://github.com/cross-language-cpp/djinni-support-lib/issues." + ) if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, "17") + check_min_cppstd(self, "17") try: minimum_required_compiler_version = self._supported_compilers[str(self.settings.compiler)] - if tools.Version(self.settings.compiler.version) < minimum_required_compiler_version: - raise ConanInvalidConfiguration("This package requires c++17 support. The current compiler does not support it.") + if Version(self.settings.compiler.version) < minimum_required_compiler_version: + raise ConanInvalidConfiguration( + "This package requires c++17 support. The current compiler does not support it." + ) except KeyError: - self.output.warn("This recipe has no support for the current compiler. Please consider adding it.") + self.output.warning( + "This recipe has no support for the current compiler. Please consider adding it." + ) + + def build_requirements(self): + if not self.options.system_java and self._jni_support: + self.build_requires("zulu-openjdk/11.0.19") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["DJINNI_WITH_OBJC"] = self._objc_support - self._cmake.definitions["DJINNI_WITH_JNI"] = self._jni_support - self._cmake.definitions["DJINNI_WITH_PYTHON"] = self._python_support - self._cmake.definitions["DJINNI_WITH_CPPCLI"] = self._cppcli_support - self._cmake.definitions["BUILD_TESTING"] = False + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.variables["DJINNI_WITH_OBJC"] = self._objc_support + tc.variables["DJINNI_WITH_JNI"] = self._jni_support + tc.variables["DJINNI_WITH_PYTHON"] = self._python_support + tc.variables["DJINNI_WITH_CPPCLI"] = self._cppcli_support + tc.variables["BUILD_TESTING"] = False if self._jni_support: - self._cmake.definitions["JAVA_AWT_LIBRARY"] = "NotNeeded" - self._cmake.definitions["JAVA_AWT_INCLUDE_PATH"] = "NotNeeded" - self._cmake.configure() - return self._cmake + tc.variables["JAVA_AWT_LIBRARY"] = "NotNeeded" + tc.variables["JAVA_AWT_INCLUDE_PATH"] = "NotNeeded" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch b/recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch new file mode 100644 index 0000000000000..03996b5c26511 --- /dev/null +++ b/recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch @@ -0,0 +1,22 @@ +From ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f Mon Sep 17 00:00:00 2001 +From: Denis Pershin +Date: Tue, 9 Nov 2021 19:36:50 +0700 +Subject: [PATCH] Fix compilation on gcc 11.2 (#67) + +Add include memory for standard smart pointer +--- + djinni/cwrapper/wrapper_marshal.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/djinni/cwrapper/wrapper_marshal.hpp b/djinni/cwrapper/wrapper_marshal.hpp +index 75a75d1..6d6a7cc 100644 +--- a/djinni/cwrapper/wrapper_marshal.hpp ++++ b/djinni/cwrapper/wrapper_marshal.hpp +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { diff --git a/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt index 6c1d84c7e3d82..b118a50a53af8 100644 --- a/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt +++ b/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(djinni-support-lib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE djinni-support-lib::djinni-support-lib) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py b/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py index ed8aa8b7e0ebb..ef5d7042163ec 100644 --- a/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py +++ b/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp b/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp index 9228c8f56407e..acdc2e577622c 100644 --- a/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp +++ b/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp @@ -1,11 +1,9 @@ #include + #include // since we would either need objective C++ or Java (jni) there is not a lot to test -// just that we have the hearders and can link +// just that we have the headers and can link int main() { - return EXIT_SUCCESS ; + return EXIT_SUCCESS; } - - - diff --git a/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py b/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c534d392ac09f --- /dev/null +++ b/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def _configure_cmake(self): + cmake = CMake(self) + cmake.configure() + return cmake + + def build(self): + cmake = self._configure_cmake() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/djinni-support-lib/all/CMakeLists.txt b/recipes/djinni-support-lib/all/CMakeLists.txt deleted file mode 100644 index 0afabb3cbe2e0..0000000000000 --- a/recipes/djinni-support-lib/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(conan_cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/djinni-support-lib/all/conandata.yml b/recipes/djinni-support-lib/all/conandata.yml index dea5fe156fcc1..fae655bf2e6d5 100644 --- a/recipes/djinni-support-lib/all/conandata.yml +++ b/recipes/djinni-support-lib/all/conandata.yml @@ -1,9 +1,7 @@ sources: "0.0.1": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v0.0.1.tar.gz + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v0.0.1.tar.gz" sha256: "ddef30a95a8bd325446d3a76ea9c11f198f3b33f66157217bd46fb13d75c43d2" patches: "0.0.1": - patch_file: "patches/cmake_install.patch" - base_path: "source_subfolder" - diff --git a/recipes/djinni-support-lib/all/conanfile.py b/recipes/djinni-support-lib/all/conanfile.py index 97c05458fb360..0957b9e7315cf 100644 --- a/recipes/djinni-support-lib/all/conanfile.py +++ b/recipes/djinni-support-lib/all/conanfile.py @@ -1,93 +1,104 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get -class DjinniSuppotLib(ConanFile): +required_conan_version = ">=1.53.0" + + +class DjinniSupportLib(ConanFile): name = "djinni-support-lib" - homepage = "https://djinni.xlcpp.dev" - url = "https://github.com/conan-io/conan-center-index" description = "Djinni is a tool for generating cross-language type declarations and interface bindings" - topics = ("java", "Objective-C", "Android", "iOS") license = "Apache-2.0" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False], - "target": ["jni", "objc", "auto"], - "system_java": [True, False] - } - default_options = {"shared": False, - "fPIC": True , - "target": "auto", - "system_java": False - } - exports_sources = ["patches/**", "CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - - _cmake = None + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://djinni.xlcpp.dev" + topics = ("java", "Objective-C", "Android", "iOS") - @property - def objc_support(self): - if self.options.target == "auto": - return tools.is_apple_os(self.settings.os) - else: - return self.options.target == "objc" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "target": ["jni", "objc", "auto"], + "system_java": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "target": "auto", + "system_java": False, + } @property - def jni_support(self): - if self.options.target == "auto": - return self.settings.os not in ["iOS", "watchOS", "tvOS"] - else: - return self.options.target == "jni" + def _objc_support(self): + return self.options.target == "objc" @property - def _source_subfolder(self): - return "source_subfolder" + def _jni_support(self): + return self.options.target == "jni" - def build_requirements(self): - if not self.options.system_java: - self.build_requires("zulu-openjdk/11.0.8@") + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + # Set default target based on OS + self.options.target = "objc" if is_apple_os(self) else "jni" def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + if not self.options.system_java and self._jni_support: + self.tool_requires("zulu-openjdk/21.0.1") def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True if not self.options.shared: - self._cmake.definitions["DJINNI_STATIC_LIB"] = True - self._cmake.definitions["DJINNI_WITH_OBJC"] = self.objc_support - self._cmake.definitions["DJINNI_WITH_JNI"] = self.jni_support - if self.jni_support: - self._cmake.definitions["JAVA_AWT_LIBRARY"] = "NotNeeded" - self._cmake.definitions["JAVA_AWT_INCLUDE_PATH"] = "NotNeeded" - self._cmake.configure() - return self._cmake + tc.variables["DJINNI_STATIC_LIB"] = True + tc.variables["DJINNI_WITH_OBJC"] = self._objc_support + tc.variables["DJINNI_WITH_JNI"] = self._jni_support + if self._jni_support: + tc.variables["JAVA_AWT_LIBRARY"] = "NotNeeded" + tc.variables["JAVA_AWT_INCLUDE_PATH"] = self.source_folder.replace("\\", "/") + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) # these should not be here, but to support old generated files .... - if self.objc_support: + if self._objc_support: self.cpp_info.includedirs.append(os.path.join("include", "djinni", "objc")) - if self.jni_support: + if self._jni_support: self.cpp_info.includedirs.append(os.path.join("include", "djinni", "jni")) + + if self._objc_support: + self.cpp_info.frameworks = ["Foundation", "CoreFoundation"] diff --git a/recipes/djinni-support-lib/all/test_package/CMakeLists.txt b/recipes/djinni-support-lib/all/test_package/CMakeLists.txt index 33ae887aa6aea..67f60b7a2aed7 100644 --- a/recipes/djinni-support-lib/all/test_package/CMakeLists.txt +++ b/recipes/djinni-support-lib/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(djinni-support-lib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE djinni-support-lib::djinni-support-lib) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/djinni-support-lib/all/test_package/conanfile.py b/recipes/djinni-support-lib/all/test_package/conanfile.py index ed8aa8b7e0ebb..ef5d7042163ec 100644 --- a/recipes/djinni-support-lib/all/test_package/conanfile.py +++ b/recipes/djinni-support-lib/all/test_package/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/djinni-support-lib/all/test_package/test_package.cpp b/recipes/djinni-support-lib/all/test_package/test_package.cpp index 9228c8f56407e..acdc2e577622c 100644 --- a/recipes/djinni-support-lib/all/test_package/test_package.cpp +++ b/recipes/djinni-support-lib/all/test_package/test_package.cpp @@ -1,11 +1,9 @@ #include + #include // since we would either need objective C++ or Java (jni) there is not a lot to test -// just that we have the hearders and can link +// just that we have the headers and can link int main() { - return EXIT_SUCCESS ; + return EXIT_SUCCESS; } - - - diff --git a/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt b/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/djinni-support-lib/all/test_v1_package/conanfile.py b/recipes/djinni-support-lib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c534d392ac09f --- /dev/null +++ b/recipes/djinni-support-lib/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def _configure_cmake(self): + cmake = CMake(self) + cmake.configure() + return cmake + + def build(self): + cmake = self._configure_cmake() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0ed34193b3c0ce104c78db4f4c188de292fcc078 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 13:03:08 +0100 Subject: [PATCH 2803/4087] (#21420) canary: modernize more for conan v2 - add package_type - add layout - empty bindirs & libdirs --- recipes/canary/all/conanfile.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/recipes/canary/all/conanfile.py b/recipes/canary/all/conanfile.py index 1a102a8feb035..a8399d13089c4 100644 --- a/recipes/canary/all/conanfile.py +++ b/recipes/canary/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir required_conan_version = ">=1.53.0" @@ -16,7 +16,7 @@ class SocketcanCanaryConan(ConanFile): license = "BSL-1.0" homepage = "https://github.com/djarek/canary" topics = ("socketcan", "can-bus", "can") - + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" no_copy_source = True @@ -24,17 +24,23 @@ class SocketcanCanaryConan(ConanFile): def _min_cppstd(self): return 11 + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.74.0") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration(f"{self.ref} only supports Linux.") if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - def requirements(self): - self.requires("boost/1.74.0", transitive_headers=True) - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -43,19 +49,19 @@ def generate(self): tc.generate() def build(self): - pass + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): copy(self, "LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) - cmake.configure() cmake.install() rmdir(self, os.path.join(self.package_folder, "lib")) - def package_id(self): - self.info.clear() - def package_info(self): self.cpp_info.requires = ["boost::headers", "boost::system"] self.cpp_info.set_property("cmake_file_name", "canary") self.cpp_info.set_property("cmake_target_name", "canary::canary") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From 56e548eea9299c933eb3e13cd02997702ba5e798 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 29 Nov 2023 16:52:01 +0200 Subject: [PATCH 2804/4087] (#18730) libftdi/0.x: migrate to Conan v2 * libftdi: migrate to Conan v2 * libftdi: bump deps * libftdi: fix transitive_headers=True * libftdi: fix_apple_shared_install_name() --- recipes/libftdi/0.x/CMakeLists.txt | 11 +-- recipes/libftdi/0.x/conandata.yml | 1 - recipes/libftdi/0.x/conanfile.py | 93 ++++++++++--------- .../libftdi/0.x/test_package/CMakeLists.txt | 7 +- recipes/libftdi/0.x/test_package/conanfile.py | 21 +++-- .../0.x/test_v1_package/CMakeLists.txt | 8 ++ .../libftdi/0.x/test_v1_package/conanfile.py | 18 ++++ recipes/libftdi/1.x/conanfile.py | 64 +++++++------ .../libftdi/1.x/test_package/CMakeLists.txt | 3 +- .../1.x/test_v1_package/CMakeLists.txt | 3 +- 10 files changed, 134 insertions(+), 95 deletions(-) create mode 100644 recipes/libftdi/0.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/libftdi/0.x/test_v1_package/conanfile.py diff --git a/recipes/libftdi/0.x/CMakeLists.txt b/recipes/libftdi/0.x/CMakeLists.txt index 5b33131a68c48..922dfc4a145e3 100644 --- a/recipes/libftdi/0.x/CMakeLists.txt +++ b/recipes/libftdi/0.x/CMakeLists.txt @@ -1,10 +1,9 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.12) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(libusb-compat CONFIG REQUIRED) +find_package(Boost CONFIG REQUIRED) -link_libraries(CONAN_PKG::libusb-compat) -include_directories(${CONAN_INCLUDE_DIRS_BOOST}) +link_libraries(libusb-compat::libusb-compat Boost::boost) -add_subdirectory(source_subfolder) +add_subdirectory(src) diff --git a/recipes/libftdi/0.x/conandata.yml b/recipes/libftdi/0.x/conandata.yml index 87f1338e3ed67..362a6680a8215 100644 --- a/recipes/libftdi/0.x/conandata.yml +++ b/recipes/libftdi/0.x/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "0.20": - patch_file: "patches/0001-cmake-fixes.patch" - base_path: "source_subfolder" diff --git a/recipes/libftdi/0.x/conanfile.py b/recipes/libftdi/0.x/conanfile.py index bdc298e883977..3ae320b47fbec 100644 --- a/recipes/libftdi/0.x/conanfile.py +++ b/recipes/libftdi/0.x/conanfile.py @@ -1,16 +1,22 @@ -from conans import CMake, ConanFile, tools -from contextlib import contextmanager import os +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir + +required_conan_version = ">=1.53.0" + class LibFtdi(ConanFile): name = "libftdi" description = "libFTDI - FTDI USB driver with bitbang mode" - topics = ("conan", "libconfuse", "configuration", "parser") + license = "LGPL-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.intra2net.com/en/developer/libftdi" - license = "LGPL-2.0" - exports_sources = "CMakeLists.txt", "patches/**" + topics = ("libconfuse", "configuration", "parser") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,17 +28,10 @@ class LibFtdi(ConanFile): "fPIC": True, "enable_cpp_wrapper": True, } - generators = "cmake" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -40,51 +39,55 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.enable_cpp_wrapper: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("libftdi-{}".format(self.version), self._source_subfolder) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libusb-compat/0.1.7") + self.requires("libusb-compat/0.1.7", transitive_headers=True, transitive_libs=True) if self.options.enable_cpp_wrapper: - self.requires("boost/1.74.0") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["FTDIPP"] = self.options.enable_cpp_wrapper - self._cmake.definitions["PYTHON_BINDINGS"] = False - self._cmake.definitions["EXAMPLES"] = False - self._cmake.definitions["DOCUMENTATION"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + self.requires("boost/1.83.0", transitive_headers=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FTDIPP"] = self.options.enable_cpp_wrapper + tc.variables["PYTHON_BINDINGS"] = False + tc.variables["EXAMPLES"] = False + tc.variables["DOCUMENTATION"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), "CMAKE_BINARY_DIR", "PROJECT_BINARY_DIR") - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") - tools.replace_in_file(os.path.join(self._source_subfolder, "ftdipp", "CMakeLists.txt"), "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "CMAKE_BINARY_DIR", "PROJECT_BINARY_DIR") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") + replace_in_file(self, os.path.join(self.source_folder, "ftdipp", "CMakeLists.txt"), + "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy(pattern="COPYING*", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "COPYING*", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): + self.cpp_info.libs = ["ftdi"] + self.cpp_info.requires = ["libusb-compat::libusb-compat"] if self.options.enable_cpp_wrapper: self.cpp_info.libs.append("ftdipp") - self.cpp_info.libs.append("ftdi") + self.cpp_info.requires.append("boost::headers") diff --git a/recipes/libftdi/0.x/test_package/CMakeLists.txt b/recipes/libftdi/0.x/test_package/CMakeLists.txt index 7b9b613cbb24a..6f4e1992a2351 100644 --- a/recipes/libftdi/0.x/test_package/CMakeLists.txt +++ b/recipes/libftdi/0.x/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libftdi REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libftdi::libftdi) diff --git a/recipes/libftdi/0.x/test_package/conanfile.py b/recipes/libftdi/0.x/test_package/conanfile.py index 8c64bd2e6fd24..35930df6e35fd 100644 --- a/recipes/libftdi/0.x/test_package/conanfile.py +++ b/recipes/libftdi/0.x/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") config_path = os.path.join(self.source_folder, "hello.conf") - self.run("{} {}".format(bin_path, config_path), run_environment=True) + self.run(f"{bin_path} {config_path}", env="conanrun") diff --git a/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt b/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libftdi/0.x/test_v1_package/conanfile.py b/recipes/libftdi/0.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a86b3a5dad12e --- /dev/null +++ b/recipes/libftdi/0.x/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + config_path = os.path.join(self.source_folder, "hello.conf") + self.run("{} {}".format(bin_path, config_path), run_environment=True) diff --git a/recipes/libftdi/1.x/conanfile.py b/recipes/libftdi/1.x/conanfile.py index 16c0bb3e46d34..93a939465107f 100644 --- a/recipes/libftdi/1.x/conanfile.py +++ b/recipes/libftdi/1.x/conanfile.py @@ -1,20 +1,23 @@ import os + from conan import ConanFile -from conan.tools.files import get, rmdir, export_conandata_patches -from conan.tools.files import apply_conandata_patches, copy +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout +from conan.tools.files import get, rmdir, export_conandata_patches, apply_conandata_patches, copy from conan.tools.microsoft import is_msvc -from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.53.0" + class LibFtdiConan(ConanFile): name = "libftdi" description = "A library to talk to FTDI chips" - license = "LGPL-2.0-only", "GPLv2-or-later" - topics = "ftdi" - homepage = "https://www.intra2net.com/en/developer/libftdi/" + license = ("LGPL-2.0-only", "GPLv2-or-later") url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.intra2net.com/en/developer/libftdi/" + topics = "ftdi" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared" : [True, False], @@ -34,23 +37,36 @@ class LibFtdiConan(ConanFile): def export_sources(self): export_conandata_patches(self) - def source(self): - get(self, **self.conan_data["sources"][self.version], - strip_root=True) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC if is_msvc(self): self.options.use_streaming = False - def layout(self): - cmake_layout(self, src_folder="src") - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.license = ("LGPL-2.1-only", "GPL-2.0-only") if self.options.build_eeprom_tool or self.options.enable_cpp_wrapper else ("LGPL-2.1-only") + if self.options.build_eeprom_tool or self.options.enable_cpp_wrapper: + self.license = ("LGPL-2.1-only", "GPL-2.0-only") + else: + self.license = "LGPL-2.1-only" + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # libusb.h is used in public ftdi.h + self.requires("libusb/1.0.26", transitive_headers=True, transitive_libs=True) + if self.options.enable_cpp_wrapper: + # boost/shared_ptr.hpp is used in public ftdi.hpp + self.requires("boost/1.83.0", transitive_headers=True) + + def validate(self): + if is_msvc(self) and self.options.use_streaming: + raise ConanInvalidConfiguration("VS doesn't not compile with enabled option use_streaming") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -64,15 +80,6 @@ def generate(self): tc = CMakeDeps(self) tc.generate() - def requirements(self): - self.requires("libusb/1.0.26") - if self.options.enable_cpp_wrapper: - self.requires("boost/1.80.0") - - def validate(self): - if is_msvc(self) and self.options.use_streaming: - raise ConanInvalidConfiguration("VS doesn't not compile with enabled option use_streaming") - def build(self): apply_conandata_patches(self) cmake = CMake(self) @@ -91,21 +98,20 @@ def package(self): rmdir(self, os.path.join(lib_folder, "pkgconfig")) def package_info(self): - # Remove "self.cpp_info.filenames.." statements in Conan V2 - self.cpp_info.filenames['cmake_find_package'] = "LibFTDI1" - self.cpp_info.filenames['cmake_find_package_multi'] = "LibFTDI1" - self.cpp_info.set_property("cmake_file_name", "LibFTDI1") + self.cpp_info.components["ftdi"].set_property("pkg_config_name", "libftdi1") self.cpp_info.components["ftdi"].libs = ["ftdi1"] self.cpp_info.components["ftdi"].requires = ["libusb::libusb"] self.cpp_info.components["ftdi"].includedirs.append(os.path.join("include", "libftdi1")) - self.cpp_info.components["ftdi"].names["pkg_config"] = "libftdi1" if self.options.enable_cpp_wrapper: self.cpp_info.components["ftdipp"].set_property("pkg_config_name", "libftdipp1") self.cpp_info.components["ftdipp"].libs = ["ftdipp1"] self.cpp_info.components["ftdipp"].requires = ["ftdi", "boost::headers"] - self.cpp_info.components["ftdipp"].names["pkg_config"] = "libftdipp1" if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["ftdipp"].system_libs.append("m") + + # TODO: Remove "self.cpp_info.filenames.." statements in Conan V2 + self.cpp_info.filenames["cmake_find_package"] = "LibFTDI1" + self.cpp_info.filenames["cmake_find_package_multi"] = "LibFTDI1" diff --git a/recipes/libftdi/1.x/test_package/CMakeLists.txt b/recipes/libftdi/1.x/test_package/CMakeLists.txt index efdfd6bd92c12..40064cdad12f4 100644 --- a/recipes/libftdi/1.x/test_package/CMakeLists.txt +++ b/recipes/libftdi/1.x/test_package/CMakeLists.txt @@ -1,5 +1,4 @@ -cmake_minimum_required(VERSION 3.1) - +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) diff --git a/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt b/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt index eb26d0c1b0943..65f19e16d7a62 100644 --- a/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt +++ b/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt @@ -1,5 +1,4 @@ -cmake_minimum_required(VERSION 3.1) - +cmake_minimum_required(VERSION 3.15) project(test_package) From 72627a7f41aa7ce02babf8b366775464fdd5511e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 16:18:53 +0100 Subject: [PATCH 2805/4087] (#21469) gsl-lite: modernize more for conan v2 * modernize more for conan v2 - add package_type - use a layout - empty bindirs & libdirs since it's header-only - fix required_conan_version * fix installation of headers * remove old versions --- recipes/gsl-lite/all/conandata.yml | 6 ----- recipes/gsl-lite/all/conanfile.py | 25 +++++++++++-------- .../gsl-lite/all/test_package/CMakeLists.txt | 4 +-- .../all/test_v1_package/CMakeLists.txt | 9 +++---- .../gsl-lite/all/test_v1_package/conanfile.py | 4 --- recipes/gsl-lite/config.yml | 4 --- 6 files changed, 19 insertions(+), 33 deletions(-) diff --git a/recipes/gsl-lite/all/conandata.yml b/recipes/gsl-lite/all/conandata.yml index cc6eafeeee69d..48441a1526519 100644 --- a/recipes/gsl-lite/all/conandata.yml +++ b/recipes/gsl-lite/all/conandata.yml @@ -17,9 +17,3 @@ sources: "0.37.0": url: "https://github.com/gsl-lite/gsl-lite/archive/0.37.0.zip" sha256: "980c8e91dd25bfaac7bfbd7151f04027fa68ff0bf652baa11de137242641e399" - "0.36.0": - url: "https://github.com/martinmoene/gsl-lite/archive/v0.36.0.zip" - sha256: "ab1bb560611dcf9cef2265b8e40e59689bb4af1fd64914aa4a8eff945dd75057" - "0.34.0": - url: "https://github.com/martinmoene/gsl-lite/archive/v0.34.0.zip" - sha256: "44255fd8aab1780773a5a2a16703c9c5a95f8c944d95caa7c468b229c0fcd1ff" diff --git a/recipes/gsl-lite/all/conanfile.py b/recipes/gsl-lite/all/conanfile.py index d59ea8610e6a3..498e3972927b9 100644 --- a/recipes/gsl-lite/all/conanfile.py +++ b/recipes/gsl-lite/all/conanfile.py @@ -1,8 +1,9 @@ from conan import ConanFile from conan.tools.files import get, copy +from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.50.0" class GslLiteConan(ConanFile): @@ -10,10 +11,10 @@ class GslLiteConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/gsl-lite" - topics = ("GSL") + topics = ("GSL",) description = "A single-file header-only version of ISO C++ " \ "Guideline Support Library (GSL) for C++98, C++11 and later" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" # There are three configuration options for this GSL implementation's behavior # when pre/post conditions on the GSL types are violated: @@ -31,10 +32,6 @@ class GslLiteConan(ConanFile): no_copy_source = True - @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") - @property def _contract_map(self): return { @@ -43,20 +40,24 @@ def _contract_map(self): "unenforced": "GSL_UNENFORCED_ON_CONTRACT_VIOLATION" } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy(self, "*gsl-lite.hpp", src=self._source_subfolder, dst=self.package_folder) - copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "gsl-lite") self.cpp_info.set_property("cmake_target_name", "gsl::gsl-lite") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: back to global scope in conan v2 once cmake_find_package* generators removed self.cpp_info.components["gsllite"].defines = [self._contract_map[str(self.options.on_contract_violation)]] @@ -68,3 +69,5 @@ def package_info(self): self.cpp_info.components["gsllite"].names["cmake_find_package"] = "gsl-lite" self.cpp_info.components["gsllite"].names["cmake_find_package_multi"] = "gsl-lite" self.cpp_info.components["gsllite"].set_property("cmake_target_name", "gsl::gsl-lite") + self.cpp_info.components["gsllite"].bindirs = [] + self.cpp_info.components["gsllite"].libdirs = [] diff --git a/recipes/gsl-lite/all/test_package/CMakeLists.txt b/recipes/gsl-lite/all/test_package/CMakeLists.txt index 0063a1958556f..b4d8ae0dd1ce8 100644 --- a/recipes/gsl-lite/all/test_package/CMakeLists.txt +++ b/recipes/gsl-lite/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(gsl-lite REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} gsl::gsl-lite) +target_link_libraries(${PROJECT_NAME} PRIVATE gsl::gsl-lite) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt b/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt index 6042a2363b626..b21cc49efde95 100644 --- a/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt +++ b/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(gsl-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gsl::gsl-lite) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gsl-lite/all/test_v1_package/conanfile.py b/recipes/gsl-lite/all/test_v1_package/conanfile.py index db36d97f3c465..7895db93c24a6 100644 --- a/recipes/gsl-lite/all/test_v1_package/conanfile.py +++ b/recipes/gsl-lite/all/test_v1_package/conanfile.py @@ -7,10 +7,6 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) diff --git a/recipes/gsl-lite/config.yml b/recipes/gsl-lite/config.yml index cec66ae3b5e02..587567b5e7b67 100644 --- a/recipes/gsl-lite/config.yml +++ b/recipes/gsl-lite/config.yml @@ -11,7 +11,3 @@ versions: folder: all "0.37.0": folder: all - "0.36.0": - folder: all - "0.34.0": - folder: all From a2ac1a5e6142b9703796bc7e19a5ba9d576d4376 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshev Date: Wed, 29 Nov 2023 18:46:17 +0300 Subject: [PATCH 2806/4087] (#20788) [sail] Update to 0.9.0 and remove rc2 as incompatible * [sail] Update to 0.9.0 (draft) and remove rc2 as incompatible * [sail] Fix lint * [sail] Update to the latest master * [sail] Remove rc2 artifacts * [sail] Remove patches * [sail] Fix webp in upstream * [sail] Disable SVG and JPEGXL * [sail] Allow disabling forced codecs with SAIL_DISABLE_CODECS * [sail] Use BUILD_TESTING * [sail] Update URL * [sail] Update URL * [sail] Update release hash * [sail] Added _codecs suffix to priorities to make priorities more clear * [sail] Use libavif 1.0.1 * [sail] Use libavif 1.0.2 * Deprecate codes Signed-off-by: Uilian Ries * Add options description Signed-off-by: Uilian Ries * Use options.get_safe * Update description for codecs lists --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/sail/all/conandata.yml | 11 +- recipes/sail/all/conanfile.py | 145 +++++++++++------- .../patches/0.9.0-rc2-avif-find-package.patch | 22 --- recipes/sail/config.yml | 2 +- 4 files changed, 93 insertions(+), 87 deletions(-) delete mode 100644 recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch diff --git a/recipes/sail/all/conandata.yml b/recipes/sail/all/conandata.yml index 3233a1960c7bf..f34812471ebce 100644 --- a/recipes/sail/all/conandata.yml +++ b/recipes/sail/all/conandata.yml @@ -1,9 +1,4 @@ sources: - "0.9.0-rc2": - url: "https://github.com/smoked-herring/sail/archive/v0.9.0-rc2.tar.gz" - sha256: "988d318fd4cfbc77ccbda49f4ac751d1998b990db157aef32b0dbd32d11f8fd6" -patches: - "0.9.0-rc2": - - patch_file: "patches/0.9.0-rc2-avif-find-package.patch" - patch_type: "conan" - patch_description: "Make the AVIF codec use find_package()" + "0.9.0": + url: "https://github.com/HappySeaFox/sail/archive/v0.9.0.tar.gz" + sha256: "892738e0f56fed8c6387e1045bba2bfbf1b095024a495845d4879edb310cd1a7" diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index b4491bf395758..5f767c3bd62c5 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -18,27 +18,53 @@ class SAILConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "thread_safe": [True, False], - "with_avif": [True, False], - "with_gif": [True, False], - "with_jpeg2000": [True, False], - "with_jpeg": ["libjpeg", "libjpeg-turbo", False], - "with_png": [True, False], - "with_tiff": [True, False], - "with_webp": [True, False], + "with_highest_priority_codecs": [True, False], + "with_high_priority_codecs": [True, False], + "with_medium_priority_codecs": [True, False], + "with_low_priority_codecs": [True, False], + "with_lowest_priority_codecs": [True, False], + "with_avif": [True, False, "deprecated"], + "with_gif": [True, False, "deprecated"], + "with_jpeg2000": [True, False, "deprecated"], + "with_jpeg": ["libjpeg", "libjpeg-turbo", False, "deprecated"], + "with_png": [True, False, "deprecated"], + "with_tiff": [True, False, "deprecated"], + "with_webp": [True, False, "deprecated"], + } default_options = { "shared": False, "fPIC": True, "thread_safe": True, - "with_avif": True, - "with_gif": True, - "with_jpeg2000": True, - "with_jpeg": "libjpeg", - "with_png": True, - "with_tiff": True, - "with_webp": True, + "with_highest_priority_codecs": True, + "with_high_priority_codecs": True, + "with_medium_priority_codecs": True, + "with_low_priority_codecs": True, + "with_lowest_priority_codecs": True, + "with_avif": "deprecated", + "with_gif": "deprecated", + "with_jpeg2000": "deprecated", + "with_jpeg": "deprecated", + "with_png": "deprecated", + "with_tiff": "deprecated", + "with_webp": "deprecated", + } + options_description = { + "with_avif": "Deprecated", + "with_gif": "Deprecated", + "with_jpeg2000": "Deprecated", + "with_jpeg": "Deprecated", + "with_png": "Deprecated", + "with_tiff": "Deprecated", + "with_webp": "Deprecated", + "with_highest_priority_codecs": "Enable codecs: GIF, JPEG, PNG, TIFF", + "with_high_priority_codecs": "Enable codecs: BMP, SVG", + "with_medium_priority_codecs": "Enable codecs: AVIF, JPEG2000, JPEGXL, WEBL", + "with_low_priority_codecs": "Enable codecs: ICO, PCX, PNM, PSD, QOI, TGA", + "with_lowest_priority_codecs": "Enable codecs: WAL, XBM", } + def export_sources(self): export_conandata_patches(self) @@ -51,23 +77,34 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - if self.options.with_avif: - self.requires("libavif/0.11.1") - if self.options.with_gif: + if self.options.with_highest_priority_codecs: self.requires("giflib/5.2.1") - if self.options.with_jpeg2000: - self.requires("jasper/4.0.0") - if self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") - elif self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") - if self.options.with_png: self.requires("libpng/1.6.40") - if self.options.with_tiff: self.requires("libtiff/4.6.0") - if self.options.with_webp: + if self.options.with_medium_priority_codecs: + self.requires("libavif/1.0.2") + self.requires("jasper/4.0.0") + # TODO Re-enable JPEG XL after merging either of the following: + # - https://github.com/conan-io/conan-center-index/pull/13898 + # - https://github.com/conan-io/conan-center-index/pull/18812 + # self.requires("libjxl/0.6.1") self.requires("libwebp/1.3.2") + def package_id(self): + del self.info.options.with_avif + del self.info.options.with_gif + del self.info.options.with_jpeg2000 + del self.info.options.with_jpeg + del self.info.options.with_png + del self.info.options.with_tiff + del self.info.options.with_webp + + def validate(self): + for option_name in ["with_avif", "with_gif", "with_jpeg2000", "with_jpeg", "with_png", "with_tiff", "with_webp"]: + if self.options.get_safe(option_name, "deprecated") != "deprecated": + self.output.warning(f"{self.ref}:{option_name} option is deprecated, please, use 'with_xxx_priority_codecs' instead.") + def layout(self): cmake_layout(self, src_folder="src") @@ -76,31 +113,30 @@ def source(self): strip_root=True, destination=self.source_folder) def generate(self): - enable_codecs = [] - - if self.options.with_avif: - enable_codecs.append("avif") - if self.options.with_gif: - enable_codecs.append("gif") - if self.options.with_jpeg2000: - enable_codecs.append("jpeg2000") - if self.options.with_jpeg: - enable_codecs.append("jpeg") - if self.options.with_png: - enable_codecs.append("png") - if self.options.with_tiff: - enable_codecs.append("tiff") - if self.options.with_webp: - enable_codecs.append("webp") + only_codecs = [] + + if self.options.with_highest_priority_codecs: + only_codecs.append("highest-priority") + if self.options.with_high_priority_codecs: + only_codecs.append("high-priority") + if self.options.with_medium_priority_codecs: + only_codecs.append("medium-priority") + if self.options.with_low_priority_codecs: + only_codecs.append("low-priority") + if self.options.with_lowest_priority_codecs: + only_codecs.append("lowest-priority") tc = CMakeToolchain(self) - tc.variables["SAIL_BUILD_APPS"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["SAIL_BUILD_APPS"] = False tc.variables["SAIL_BUILD_EXAMPLES"] = False - tc.variables["SAIL_BUILD_TESTS"] = False tc.variables["SAIL_COMBINE_CODECS"] = True - tc.variables["SAIL_ENABLE_CODECS"] = ";".join(enable_codecs) - tc.variables["SAIL_INSTALL_PDB"] = False - tc.variables["SAIL_THREAD_SAFE"] = self.options.thread_safe + tc.variables["SAIL_ONLY_CODECS"] = ";".join(only_codecs) + # SVG requires resvg which is not in Conan yet + # JPEGXL needs porting to Conan2 + tc.variables["SAIL_DISABLE_CODECS"] = "svg;jpegxl" + tc.variables["SAIL_INSTALL_PDB"] = False + tc.variables["SAIL_THREAD_SAFE"] = self.options.thread_safe # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012 if is_msvc(self): tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) @@ -151,19 +187,16 @@ def package_info(self): self.cpp_info.components["sail-codecs"].names["cmake_find_package_multi"] = "SailCodecs" self.cpp_info.components["sail-codecs"].libs = ["sail-codecs"] self.cpp_info.components["sail-codecs"].requires = ["sail-common"] - if self.options.with_avif: - self.cpp_info.components["sail-codecs"].requires.append("libavif::libavif") - if self.options.with_gif: + + if self.options.with_highest_priority_codecs: self.cpp_info.components["sail-codecs"].requires.append("giflib::giflib") - if self.options.with_jpeg2000: - self.cpp_info.components["sail-codecs"].requires.append("jasper::jasper") - if self.options.with_jpeg: - self.cpp_info.components["sail-codecs"].requires.append("{0}::{0}".format(self.options.with_jpeg)) - if self.options.with_png: + self.cpp_info.components["sail-codecs"].requires.append("libjpeg::libjpeg") self.cpp_info.components["sail-codecs"].requires.append("libpng::libpng") - if self.options.with_tiff: self.cpp_info.components["sail-codecs"].requires.append("libtiff::libtiff") - if self.options.with_webp: + if self.options.with_medium_priority_codecs: + self.cpp_info.components["sail-codecs"].requires.append("libavif::libavif") + self.cpp_info.components["sail-codecs"].requires.append("jasper::jasper") + # self.cpp_info.components["sail-codecs"].requires.append("libjxl::libjxl") self.cpp_info.components["sail-codecs"].requires.append("libwebp::libwebp") self.cpp_info.components["libsail"].set_property("cmake_target_name", "SAIL::Sail") diff --git a/recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch b/recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch deleted file mode 100644 index 98ec3b23d5ae9..0000000000000 --- a/recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/sail-codecs/avif/CMakeLists.txt b/src/sail-codecs/avif/CMakeLists.txt -index 3f36e0c8..1e31be83 100644 ---- a/src/sail-codecs/avif/CMakeLists.txt -+++ b/src/sail-codecs/avif/CMakeLists.txt -@@ -1,7 +1,6 @@ --find_library(AVIF_LIBRARY avif ${SAIL_CODEC_AVIF_REQUIRED_OPTION}) --find_path(AVIF_INCLUDE_DIRS avif/avif.h ${SAIL_CODEC_AVIF_REQUIRED_OPTION}) -+find_package(libavif ${SAIL_CODEC_AVIF_REQUIRED_OPTION}) - --if (NOT AVIF_LIBRARY OR NOT AVIF_INCLUDE_DIRS) -+if (NOT libavif_FOUND) - return() - endif() - -@@ -18,5 +17,5 @@ set(SAIL_CODECS_FIND_DEPENDENCIES ${SAIL_CODECS_FIND_DEPENDENCIES} "find_depende - sail_codec(NAME avif - SOURCES helpers.h helpers.c io.h io.c avif.c - ICON avif.png -- DEPENDENCY_INCLUDE_DIRS ${AVIF_INCLUDE_DIRS} -- DEPENDENCY_LIBS ${AVIF_LIBRARY}) -+ DEPENDENCY_INCLUDE_DIRS ${avif_INCLUDE_DIRS} -+ DEPENDENCY_LIBS avif) diff --git a/recipes/sail/config.yml b/recipes/sail/config.yml index 4b9680ce33efb..7dbf8a1dbf4a8 100644 --- a/recipes/sail/config.yml +++ b/recipes/sail/config.yml @@ -1,3 +1,3 @@ versions: - "0.9.0-rc2": + "0.9.0": folder: all From 09c104cfc28baa1a5b4da0f6206f1333509510c2 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Wed, 29 Nov 2023 11:05:26 -0500 Subject: [PATCH 2807/4087] (#19964) [google-cloud-cpp] update to v2.15.1 Accept newer versions of gRPC and other dependencies Avoid over pinning direct dependencies Disable -Werror, this was the default in v2.5.0 and no longer compiles Use documented requirements for libcurl Patch source to deal with DYLD_LIBRARY_PATH overwrites --- .../google-cloud-cpp/2.x/components_2_15_1.py | 441 ++++++++++++++++++ recipes/google-cloud-cpp/2.x/conandata.yml | 7 + recipes/google-cloud-cpp/2.x/conanfile.py | 69 ++- .../2.x/extract_dependencies.py | 31 +- .../2.15.1/001-use-conan-msvc-runtime.patch | 53 +++ recipes/google-cloud-cpp/config.yml | 2 + 6 files changed, 577 insertions(+), 26 deletions(-) create mode 100644 recipes/google-cloud-cpp/2.x/components_2_15_1.py create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch diff --git a/recipes/google-cloud-cpp/2.x/components_2_15_1.py b/recipes/google-cloud-cpp/2.x/components_2_15_1.py new file mode 100644 index 0000000000000..6de02bc36704b --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/components_2_15_1.py @@ -0,0 +1,441 @@ +# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT +DEPENDENCIES = { + "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "advisorynotifications_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "aiplatform_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos', 'type_money_protos'], + "alloydb_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apikeys_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'], + "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'], + "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "billing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos', 'type_money_protos'], + "binaryauthorization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "certificatemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "channel_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_decimal_protos', 'type_money_protos', 'type_postal_address_protos'], + "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "commerce_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "cloud_common_common_protos": ['api_field_behavior_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "composer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "confidentialcomputing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "connectors_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "contactcenterinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "container_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "containeranalysis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "contentwarehouse_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'documentai_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_expr_protos', 'type_interval_protos', 'type_money_protos', 'type_postal_address_protos'], + "datacatalog_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "datafusion_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "datamigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "dataplex_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "datastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "datastream_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "deploy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "dialogflow_cx_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "dialogflow_es_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "discoveryengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'], + "domains_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_money_protos', 'type_postal_address_protos'], + "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "essentialcontacts_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "gkebackup_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkemulticloud_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "iam_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "iap_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "ids_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "language_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "logging_type_protos": ['grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "metastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos'], + "migrationcenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_money_protos'], + "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'], + "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networksecurity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'], + "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "policysimulator_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_expr_protos'], + "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'iam_v2_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "rapidmigrationassessment_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "recaptchaenterprise_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'], + "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "resourcesettings_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "retail_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_context_attribute_context_protos', 'rpc_status_protos'], + "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_policy_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'], + "storageinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos'], + "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'], + "support_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'], + "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "timeseriesinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "tpu_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_datetime_protos'], + "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'], + "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'], + "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "workflows_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "workstations_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "api_annotations_protos": ['api_http_protos'], + "api_auth_protos": ['api_annotations_protos'], + "api_billing_protos": ['api_annotations_protos', 'api_metric_protos'], + "api_client_protos": ['api_launch_stage_protos'], + "api_distribution_protos": ['api_annotations_protos'], + "api_endpoint_protos": ['api_annotations_protos'], + "api_log_protos": ['api_label_protos'], + "api_logging_protos": ['api_annotations_protos', 'api_label_protos'], + "api_metric_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitored_resource_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitoring_protos": ['api_annotations_protos'], + "api_quota_protos": ['api_annotations_protos'], + "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'], + "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'], + "iam_credentials_v1_common_protos": ['api_field_behavior_protos', 'api_resource_protos'], + "iam_credentials_v1_iamcredentials_protos": ['api_annotations_protos', 'api_client_protos', 'iam_credentials_v1_common_protos'], + "iam_v1_iam_policy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_resource_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos'], + "iam_v1_options_protos": ['api_annotations_protos'], + "iam_v1_policy_protos": ['api_annotations_protos', 'type_expr_protos'], +} + +PROTO_COMPONENTS = { + "accessapproval_protos", + "accesscontextmanager_protos", + "advisorynotifications_protos", + "aiplatform_protos", + "alloydb_protos", + "api_annotations_protos", + "api_auth_protos", + "api_backend_protos", + "api_billing_protos", + "api_client_protos", + "api_config_change_protos", + "api_context_protos", + "api_control_protos", + "api_distribution_protos", + "api_documentation_protos", + "api_endpoint_protos", + "api_field_behavior_protos", + "api_http_protos", + "api_httpbody_protos", + "api_label_protos", + "api_launch_stage_protos", + "api_log_protos", + "api_logging_protos", + "api_metric_protos", + "api_monitored_resource_protos", + "api_monitoring_protos", + "api_policy_protos", + "api_quota_protos", + "api_resource_protos", + "api_routing_protos", + "api_service_protos", + "api_source_info_protos", + "api_system_parameter_protos", + "api_usage_protos", + "api_visibility_protos", + "apigateway_protos", + "apigeeconnect_protos", + "apikeys_protos", + "appengine_protos", + "artifactregistry_protos", + "asset_protos", + "assuredworkloads_protos", + "automl_protos", + "baremetalsolution_protos", + "batch_protos", + "beyondcorp_protos", + "bigquery_protos", + "bigtable_protos", + "billing_protos", + "binaryauthorization_protos", + "certificatemanager_protos", + "channel_protos", + "cloud_common_common_protos", + "cloudbuild_protos", + "commerce_protos", + "composer_protos", + "confidentialcomputing_protos", + "connectors_protos", + "contactcenterinsights_protos", + "container_protos", + "containeranalysis_protos", + "contentwarehouse_protos", + "datacatalog_protos", + "datafusion_protos", + "datamigration_protos", + "dataplex_protos", + "dataproc_protos", + "datastore_protos", + "datastream_protos", + "deploy_protos", + "devtools_source_v1_source_context_protos", + "dialogflow_cx_protos", + "dialogflow_es_protos", + "discoveryengine_protos", + "dlp_protos", + "documentai_protos", + "domains_protos", + "edgecontainer_protos", + "essentialcontacts_protos", + "eventarc_protos", + "filestore_protos", + "functions_protos", + "gkebackup_protos", + "gkehub_protos", + "gkemulticloud_protos", + "grafeas_protos", + "iam_credentials_v1_common_protos", + "iam_credentials_v1_iamcredentials_protos", + "iam_protos", + "iam_v1_iam_policy_protos", + "iam_v1_options_protos", + "iam_v1_policy_protos", + "iam_v2_protos", + "iap_protos", + "ids_protos", + "kms_protos", + "language_protos", + "logging_protos", + "logging_type_protos", + "logging_type_type_protos", + "longrunning_operations_protos", + "managedidentities_protos", + "memcache_protos", + "metastore_protos", + "migrationcenter_protos", + "monitoring_protos", + "networkconnectivity_protos", + "networkmanagement_protos", + "networksecurity_protos", + "networkservices_protos", + "notebooks_protos", + "optimization_protos", + "orgpolicy_protos", + "osconfig_protos", + "oslogin_protos", + "policysimulator_protos", + "policytroubleshooter_protos", + "privateca_protos", + "profiler_protos", + "pubsub_protos", + "rapidmigrationassessment_protos", + "recaptchaenterprise_protos", + "recommender_protos", + "redis_protos", + "resourcemanager_protos", + "resourcesettings_protos", + "retail_protos", + "rpc_code_protos", + "rpc_context_attribute_context_protos", + "rpc_error_details_protos", + "rpc_status_protos", + "run_protos", + "scheduler_protos", + "secretmanager_protos", + "securitycenter_protos", + "servicecontrol_protos", + "servicedirectory_protos", + "servicemanagement_protos", + "serviceusage_protos", + "shell_protos", + "spanner_protos", + "speech_protos", + "storage_protos", + "storageinsights_protos", + "storagetransfer_protos", + "support_protos", + "talent_protos", + "tasks_protos", + "texttospeech_protos", + "timeseriesinsights_protos", + "tpu_protos", + "trace_protos", + "translate_protos", + "type_calendar_period_protos", + "type_color_protos", + "type_date_protos", + "type_datetime_protos", + "type_dayofweek_protos", + "type_decimal_protos", + "type_expr_protos", + "type_interval_protos", + "type_latlng_protos", + "type_money_protos", + "type_postal_address_protos", + "type_timeofday_protos", + "video_protos", + "videointelligence_protos", + "vision_protos", + "vmmigration_protos", + "vmwareengine_protos", + "vpcaccess_protos", + "webrisk_protos", + "websecurityscanner_protos", + "workflows_protos", + "workstations_protos" +} + +COMPONENTS = { + "accessapproval", + "accesscontextmanager", + "advisorynotifications", + "aiplatform", + "alloydb", + "apigateway", + "apigeeconnect", + "apikeys", + "appengine", + "artifactregistry", + "asset", + "assuredworkloads", + "automl", + "baremetalsolution", + "batch", + "beyondcorp", + "bigquery", + "bigtable", + "billing", + "binaryauthorization", + "certificatemanager", + "channel", + "cloudbuild", + "commerce", + "composer", + "confidentialcomputing", + "connectors", + "contactcenterinsights", + "container", + "containeranalysis", + "contentwarehouse", + "datacatalog", + "datafusion", + "datamigration", + "dataplex", + "dataproc", + "datastore", + "datastream", + "deploy", + "dialogflow_cx", + "dialogflow_es", + "discoveryengine", + "dlp", + "documentai", + "domains", + "edgecontainer", + "essentialcontacts", + "eventarc", + "filestore", + "functions", + "gkebackup", + "gkehub", + "gkemulticloud", + "iam", + "iap", + "ids", + "kms", + "language", + "logging", + "managedidentities", + "memcache", + "metastore", + "migrationcenter", + "monitoring", + "networkconnectivity", + "networkmanagement", + "networksecurity", + "networkservices", + "notebooks", + "optimization", + "orgpolicy", + "osconfig", + "oslogin", + "policysimulator", + "policytroubleshooter", + "privateca", + "profiler", + "pubsub", + "rapidmigrationassessment", + "recaptchaenterprise", + "recommender", + "redis", + "resourcemanager", + "resourcesettings", + "retail", + "run", + "scheduler", + "secretmanager", + "securitycenter", + "servicecontrol", + "servicedirectory", + "servicemanagement", + "serviceusage", + "shell", + "spanner", + "speech", + "storage", + "storageinsights", + "storagetransfer", + "support", + "talent", + "tasks", + "texttospeech", + "timeseriesinsights", + "tpu", + "trace", + "translate", + "video", + "videointelligence", + "vision", + "vmmigration", + "vmwareengine", + "vpcaccess", + "webrisk", + "websecurityscanner", + "workflows", + "workstations" +} diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml index f9eb9c4dbc523..dfb3c94da034e 100644 --- a/recipes/google-cloud-cpp/2.x/conandata.yml +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -5,6 +5,9 @@ sources: "2.12.0": url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.12.0.tar.gz" sha256: "8cda870803925c62de8716a765e03eb9d34249977e5cdb7d0d20367e997a55e2" + "2.15.1": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.15.1.tar.gz" + sha256: "47a5c6beff48625fa1b65b1ddc575247def80c88d29062c66d463172280d3959" patches: "2.5.0": - patch_file: "patches/2.5.0/002-interface-library-properties.patch" @@ -30,3 +33,7 @@ patches: - patch_file: "patches/2.12.0/001-use-conan-msvc-runtime.patch" patch_description: "Let Conan select the MSVC runtime" patch_type: conan + "2.15.1": + - patch_file: "patches/2.15.1/001-use-conan-msvc-runtime.patch" + patch_description: "Let Conan select the MSVC runtime" + patch_type: conan diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py index a3283204d6ead..e3b497dfc81db 100644 --- a/recipes/google-cloud-cpp/2.x/conanfile.py +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd, cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualRunEnv, VirtualBuildEnv +from conan.tools.env import VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version @@ -21,6 +21,7 @@ # than writing long lists of dependencies by hand. import components_2_5_0 import components_2_12_0 +import components_2_15_1 required_conan_version = ">=1.56.0" @@ -46,6 +47,7 @@ class GoogleCloudCppConan(ConanFile): default_options = {"shared": False, "fPIC": True} exports = ["components_2_5_0.py", "components_2_12_0.py", + "components_2_15_1.py", ] short_paths = True @@ -53,14 +55,17 @@ class GoogleCloudCppConan(ConanFile): _GA_COMPONENTS = { '2.5.0': components_2_5_0.COMPONENTS, '2.12.0': components_2_12_0.COMPONENTS, + '2.15.1': components_2_15_1.COMPONENTS, } _PROTO_COMPONENTS = { '2.5.0': components_2_5_0.PROTO_COMPONENTS, '2.12.0': components_2_12_0.PROTO_COMPONENTS, + '2.15.1': components_2_15_1.PROTO_COMPONENTS, } _PROTO_COMPONENT_DEPENDENCIES = { "2.5.0": components_2_5_0.DEPENDENCIES, "2.12.0": components_2_12_0.DEPENDENCIES, + "2.15.1": components_2_15_1.DEPENDENCIES, } # Some components require custom dependency definitions. _REQUIRES_CUSTOM_DEPENDENCIES = { @@ -180,7 +185,7 @@ def _patch_sources(self): else: replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), "${Protobuf_PROTOC_EXECUTABLE} ARGS", - '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${Protobuf_PROTOC_EXECUTABLE}') + '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${Protobuf_PROTOC_EXECUTABLE} ARGS') def build(self): self._patch_sources() @@ -226,6 +231,11 @@ def _proto_components(self): if self.settings.os == "Android": result.remove('accesscontextmanager_protos') result.remove('talent_protos') + if Version(self.version) >= '2.15.1': + # This was converted to an interface library starting on 2.15.1 + result.remove('logging_type_type_protos') + # These were removed (as they are not used) starting on 2.15.1 + result.remove('devtools_source_v1_source_context_protos') return result def package(self): @@ -257,7 +267,21 @@ def package_info(self): # A small number of gRPC-generated stubs are used directly in the common components # shared by all gRPC-based libraries. These must be defined without reference to `grpc_utils`. - GRPC_UTILS_REQUIRED_PROTOS={"iam_protos", "longrunning_operations_protos", "rpc_error_details_protos", "rpc_status_protos"} + if Version(self.version) >= '2.15.1': + GRPC_UTILS_REQUIRED_PROTOS = { + "iam_credentials_v1_iamcredentials_protos", + "iam_v1_policy_protos", + "longrunning_operations_protos", + "rpc_error_details_protos", + "rpc_status_protos", + } + else: + GRPC_UTILS_REQUIRED_PROTOS = { + "iam_protos", + "longrunning_operations_protos", + "rpc_error_details_protos", + "rpc_status_protos", + } for component in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) @@ -266,36 +290,51 @@ def package_info(self): self.cpp_info.components["grpc_utils"].names["pkg_config"] = "google_cloud_cpp_grpc_utils" for component in self._proto_components(): + if Version(self.version) >= '2.15.1' and component == 'storage_protos': + # Starting with v2.15.1 the `storage_protos` are compiled only + # when needed. They are not used in Conan because they are only + # needed for an experimental library, supporting an allow-listed + # service. + continue if component not in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) # Interface libraries for backwards compatibility - self.cpp_info.components["dialogflow_es_protos"].requires = ["cloud_dialogflow_v2_protos"] - self.cpp_info.components["logging_type_protos"].requires = ["logging_type_type_protos"] - self.cpp_info.components["speech_protos"].requires = ["cloud_speech_protos"] - self.cpp_info.components["texttospeech_protos"].requires = ["cloud_texttospeech_protos"] - self.cpp_info.components["trace_protos"].requires = [ - "devtools_cloudtrace_v2_trace_protos", - "devtools_cloudtrace_v2_tracing_protos", - ] + if Version(self.version) < '2.15.1': + self.cpp_info.components["dialogflow_es_protos"].requires = ["cloud_dialogflow_v2_protos"] + self.cpp_info.components["logging_type_protos"].requires = ["logging_type_type_protos"] + self.cpp_info.components["speech_protos"].requires = ["cloud_speech_protos"] + self.cpp_info.components["texttospeech_protos"].requires = ["cloud_texttospeech_protos"] + self.cpp_info.components["trace_protos"].requires = [ + "devtools_cloudtrace_v2_trace_protos", + "devtools_cloudtrace_v2_tracing_protos", + ] + self._add_grpc_component("bigquery", "cloud_bigquery_protos") + else: + self.cpp_info.components["cloud_bigquery_protos"].requires = ["bigquery_protos"] + self.cpp_info.components["cloud_dialogflow_v2_protos"].requires = ["dialogflow_es_protos"] + self.cpp_info.components["cloud_speech_protos"].requires = ["speech_protos"] + self.cpp_info.components["cloud_texttospeech_protos"].requires = ["texttospeech_protos"] + self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].requires = ["trace_protos"] + self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].requires = ["trace_protos"] + self.cpp_info.components["logging_type_type_protos"].requires = ["logging_type_protos"] for component in self._components(): + protos=f"{component}_protos" # bigquery proto library predates the adoption of more consistent naming - if component == 'bigquery': + if component == 'bigquery' and Version(self.version) < '2.15.1': self._add_proto_component("cloud_bigquery_protos") self._add_grpc_component(component, "cloud_bigquery_protos") continue - if component == 'dialogflow_es': + if component == 'dialogflow_es' and Version(self.version) < '2.15.1': self._add_proto_component("cloud_dialogflow_v2_protos") self._add_grpc_component(component, "cloud_dialogflow_v2_protos") continue # `storage` is the only component that does not depend on a matching `*_protos` library - protos=f"{component}_protos" if component in self._REQUIRES_CUSTOM_DEPENDENCIES: continue self._add_grpc_component(component, protos) - self._add_grpc_component("bigquery", "cloud_bigquery_protos") self._add_grpc_component("bigtable", "bigtable_protos") self._add_grpc_component("iam", "iam_protos") self._add_grpc_component("pubsub", "pubsub_protos", ["abseil::absl_flat_hash_map"]) diff --git a/recipes/google-cloud-cpp/2.x/extract_dependencies.py b/recipes/google-cloud-cpp/2.x/extract_dependencies.py index 1a7607684544a..a957a6eca412b 100755 --- a/recipes/google-cloud-cpp/2.x/extract_dependencies.py +++ b/recipes/google-cloud-cpp/2.x/extract_dependencies.py @@ -41,17 +41,12 @@ "cloud_osconfig_v1_osconfig_protos": "osconfig_protos", "devtools_source_v1_source_protos": "devtools_source_v1_source_context_protos", "cloud_documentai_v1_documentai_protos": "documentai_protos", + "iam_v2_policy_protos": "iam_v2_protos", } # A few *.deps files use ad-hoc naming. _PROTO_DEPS_REPLACED_NAMES = { "common": "cloud_common_common", - "bigquery": "cloud_bigquery", - "dialogflow": "cloud_dialogflow_v2", - "logging_type": "logging_type_type", - "texttospeech": "cloud_texttospeech", - "speech": "cloud_speech", - "trace": "devtools_cloudtrace_v2_trace", } # A few *.deps files are not used. @@ -90,7 +85,6 @@ "type_expr_protos", "api_routing_protos", "api_usage_protos", - "logging_type_type_protos", "type_calendar_period_protos", "rpc_code_protos", "api_system_parameter_protos", @@ -109,6 +103,9 @@ "api_field_behavior_protos", "api_context_protos", "api_logging_protos", + + "iam_credentials_v1_common_protos", + "iam_credentials_v1_iamcredentials_protos", } # A list of experimental components used when `google-cloud-cpp` does not @@ -256,12 +253,24 @@ "api_system_parameter_protos", "api_usage_protos", ], - "devtools_cloudtrace_v2_tracing_protos": [ - "devtools_cloudtrace_v2_trace_protos", - "devtools_cloudtrace_v2_trace_protos", + "iam_v1_options_protos": ["api_annotations_protos"], + "iam_v1_policy_protos": ["api_annotations_protos", "type_expr_protos"], + "iam_v1_iam_policy_protos": [ + "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", - "rpc_status_protos", + "api_resource_protos", + "iam_v1_options_protos", + "iam_v1_policy_protos", + ], + "iam_credentials_v1_common_protos": [ + "api_field_behavior_protos", + "api_resource_protos", + ], + "iam_credentials_v1_iamcredentials_protos": [ + "api_annotations_protos", + "api_client_protos", + "iam_credentials_v1_common_protos", ], } diff --git a/recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch b/recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch new file mode 100644 index 0000000000000..f1d07df826202 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 66e3e7c3..32e64b5d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + endif () + + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +-include(SelectMSVCRuntime) + + option(GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK + "If enabled, check that the user has defined OPENSSL_ROOT_DIR on macOS" +diff --git a/cmake/GoogleCloudCppCommon.cmake b/cmake/GoogleCloudCppCommon.cmake +index b487a1bc..880c98fe 100644 +--- a/cmake/GoogleCloudCppCommon.cmake ++++ b/cmake/GoogleCloudCppCommon.cmake +@@ -17,9 +17,6 @@ + # Get the destination directories based on the GNU recommendations. + include(GNUInstallDirs) + +-# Pick the right MSVC runtime libraries. +-include(SelectMSVCRuntime) +- + # Enable Werror + include(EnableWerror) + +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index ec8b7395..91a7b32d 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -20,9 +20,6 @@ if (NOT GOOGLE_CLOUD_CPP_ENABLE_EXAMPLES) + return() + endif () + +-# Pick the right MSVC runtime libraries. +-include(SelectMSVCRuntime) +- + if (bigtable IN_LIST GOOGLE_CLOUD_CPP_ENABLE AND storage IN_LIST + GOOGLE_CLOUD_CPP_ENABLE) + add_executable(gcs2cbt gcs2cbt.cc) +diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt +index 15dcc92f..b6146bfe 100644 +--- a/external/googleapis/CMakeLists.txt ++++ b/external/googleapis/CMakeLists.txt +@@ -163,8 +163,6 @@ externalproject_add( + + google_cloud_cpp_find_proto_include_dir(PROTO_INCLUDE_DIR) + +-include(SelectMSVCRuntime) +- + google_cloud_cpp_add_protos_property() + + function (external_googleapis_short_name var proto) diff --git a/recipes/google-cloud-cpp/config.yml b/recipes/google-cloud-cpp/config.yml index d5603efb5114a..ad2df7e79e43a 100644 --- a/recipes/google-cloud-cpp/config.yml +++ b/recipes/google-cloud-cpp/config.yml @@ -13,3 +13,5 @@ versions: folder: "2.x" "2.12.0": folder: "2.x" + "2.15.1": + folder: "2.x" From 8211fbce5ecdc308f23605ddefb1db69683c9736 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 01:28:08 +0900 Subject: [PATCH 2808/4087] (#21344) aws-c-mqtt: add version 0.8.12, 0.9.10 * aws-c-mqtt: add version 0.8.12 * add version 0.9.10 --- recipes/aws-c-mqtt/all/conandata.yml | 6 ++++++ recipes/aws-c-mqtt/all/conanfile.py | 12 +++++++----- recipes/aws-c-mqtt/config.yml | 4 ++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/recipes/aws-c-mqtt/all/conandata.yml b/recipes/aws-c-mqtt/all/conandata.yml index 6240cf10ee0f5..275052c56df7c 100644 --- a/recipes/aws-c-mqtt/all/conandata.yml +++ b/recipes/aws-c-mqtt/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.9.10": + url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.9.10.tar.gz" + sha256: "a8f92cb045e2c1e0b7e87e5c43ca373eb020014b5d3ebd75ed67ffff430d9ab6" + "0.8.12": + url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.8.12.tar.gz" + sha256: "df02de478ab1806bb57bcb78e5faa21b567716dcb64f8a52ae90a2b84f43cba1" "0.7.12": url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.12.tar.gz" sha256: "cf80f1b4f37aa8a6b8698315fae32cbf2bd944b67784f07b5762f392f18e64df" diff --git a/recipes/aws-c-mqtt/all/conanfile.py b/recipes/aws-c-mqtt/all/conanfile.py index bb0adaf793c0c..d97246f605d3f 100644 --- a/recipes/aws-c-mqtt/all/conanfile.py +++ b/recipes/aws-c-mqtt/all/conanfile.py @@ -41,14 +41,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - if Version(self.version) < "0.7.12": + if Version(self.version) <= "0.7.12": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.13") self.requires("aws-c-io/0.10.20", transitive_headers=True) self.requires("aws-c-http/0.6.13") else: - self.requires("aws-c-io/0.13.4", transitive_headers=True) - self.requires("aws-c-http/0.6.22") + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9") + self.requires("aws-c-io/0.13.32", transitive_headers=True) + self.requires("aws-c-http/0.7.14") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-mqtt/config.yml b/recipes/aws-c-mqtt/config.yml index edbab7e67d700..788eeccfb0963 100644 --- a/recipes/aws-c-mqtt/config.yml +++ b/recipes/aws-c-mqtt/config.yml @@ -1,4 +1,8 @@ versions: + "0.9.10": + folder: all + "0.8.12": + folder: all "0.7.12": folder: all "0.7.10": From 762606a3c7af2bd8f02eb5109304e6631e10ed54 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 29 Nov 2023 18:55:06 +0200 Subject: [PATCH 2809/4087] (#18861) pdcurses: migrate to Conan v2 * pdcurses: migrate to Conan v2 * pdcurses: bump deps * pdcurses: add support for sdl2, add with_x11 option * pdcurses: get rid of MakeDeps * pdcurses: disable cross-building * pdcurses: with_sdl does not support shared libs * pdcurses: bump deps * pdcurses: make cross-building check more specific --- recipes/pdcurses/all/CMakeLists.txt | 7 - recipes/pdcurses/all/conanfile.py | 239 +++++++++++------- .../pdcurses/all/test_package/CMakeLists.txt | 7 +- .../pdcurses/all/test_package/conanfile.py | 22 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../pdcurses/all/test_v1_package/conanfile.py | 18 ++ 6 files changed, 188 insertions(+), 113 deletions(-) delete mode 100644 recipes/pdcurses/all/CMakeLists.txt create mode 100644 recipes/pdcurses/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pdcurses/all/test_v1_package/conanfile.py diff --git a/recipes/pdcurses/all/CMakeLists.txt b/recipes/pdcurses/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/pdcurses/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/pdcurses/all/conanfile.py b/recipes/pdcurses/all/conanfile.py index c9fb1fa9f32f7..3a01de34987fe 100644 --- a/recipes/pdcurses/all/conanfile.py +++ b/recipes/pdcurses/all/conanfile.py @@ -1,149 +1,198 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanException, ConanInvalidConfiguration import os import re +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration, ConanException +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, load, replace_in_file, rmdir, save, rename +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path, NMakeToolchain, NMakeDeps + +required_conan_version = ">=1.53.0" + class PDCursesConan(ConanFile): name = "pdcurses" description = "PDCurses - a curses library for environments that don't fit the termcap/terminfo model" - topics = ("conan", "pdcurses", "curses", "ncurses") + license = "LicenseRef-LICENSE" url = "https://github.com/conan-io/conan-center-index" homepage = "https://pdcurses.org/" - license = "Unlicense", "MITX", "CC-BY-4.0", "GPL", "FSFUL" + topics = ("curses", "ncurses") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "enable_widec": [True, False], - "with_sdl": [None, "1", "2"], + "with_sdl": [True, False], + "with_x11": [True, False], } default_options = { "shared": False, "fPIC": True, "enable_widec": False, - "with_sdl": None, + "with_sdl": False, + "with_x11": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os not in ("FreeBSD", "Linux"): - del self.options.enable_widec + if self.settings.os not in ["FreeBSD", "Linux"]: + del self.options.with_x11 + if is_apple_os(self): + # Only the sdl2 subsystem is supported on macOS + self.options.with_sdl = True def configure(self): - if tools.is_apple_os(self.settings.os): - raise ConanInvalidConfiguration("pdcurses does not support Apple") - if self.options.with_sdl: - raise ConanInvalidConfiguration("conan-center-index has no packages for sdl (yet)") if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - if self.settings.os in ("FreeBSD", "Linux"): + if self.options.with_sdl: + self.requires("sdl/2.28.3", transitive_libs=True) + if self.options.get_safe("with_x11"): self.requires("xorg/system") + def validate(self): + if self.options.with_sdl and self.settings.os == "Windows": + raise ConanInvalidConfiguration("with_sdl option is not yet supported on Windows") + if self.settings.os != "Windows" and not self.options.get_safe("with_x11") and not self.options.with_sdl: + raise ConanInvalidConfiguration("At least one of with_x11 or with_sdl options must be enabled") + if self.options.with_sdl: + if self.options.shared: + raise ConanInvalidConfiguration("Shared library output is not available for with_sdl option") + if cross_building(self): + raise ConanInvalidConfiguration("Cross-building is not supported for with_sdl option") + def build_requirements(self): - if self.settings.compiler != "Visual Studio": - self.build_requires("make/4.2.1") + if not is_msvc(self): + if not self.conf.get("tools.gnu:make_program", check_type=str): + self.tool_requires("make/4.4") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("PDCurses-{}".format(self.version), self._source_subfolder) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - conf_args = [ - "--enable-shared" if self.options.shared else "--disable-shared", - "--enable-widec" if self.options.enable_widec else "--disable-widec", - ] - self._autotools.configure(args=conf_args) - return self._autotools - - def _build_windows(self): - with tools.chdir(os.path.join(self._source_subfolder, "wincon")): - args = [] + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + deps = NMakeDeps(self) + deps.generate() + else: + tc = AutotoolsToolchain(self) + tc.configure_args.append("--prefix={}".format(unix_path(self, self.package_folder))) + tc.configure_args.append("--enable-widec" if self.options.enable_widec else "--disable-widec") if self.options.shared: - args.append("DLL=Y") - args = " ".join(args) - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - self.run("nmake -f Makefile.vc {}".format(args)) - else: - self.run("{} libs {}".format(os.environ["CONAN_MAKE_PROGRAM"], args)) + tc.make_args.append("DLL=Y") + if self.options.with_sdl: + self.dependencies["sdl"].cpp_info.includedirs.append(os.path.join("include", "SDL2")) + sdl_info = self.dependencies["sdl"].cpp_info.aggregated_components() + def_flags = " ".join(f"-D{x}" for x in sdl_info.defines) + includedir_flags = " ".join(f"-I{x}" for x in sdl_info.includedirs) + libdir_flags = " ".join(f"-L{x}" for x in sdl_info.libdirs) + lib_flags = " ".join(f"-l{x}" for x in (sdl_info.libs + sdl_info.system_libs)) + tc.make_args += [ + f"CFLAGS={includedir_flags} {def_flags}", + f"LDFLAGS={libdir_flags} {lib_flags}", + ] + if self.options.enable_widec: + tc.make_args.append("WIDE=Y") + tc.generate() def _patch_sources(self): - if self.settings.compiler == "Visual Studio": - tools.replace_in_file(os.path.join(self._source_subfolder, "wincon", "Makefile.vc"), - "$(CFLAGS)", - "$(CFLAGS) -{}".format(self.settings.compiler.runtime)) - tools.replace_in_file(os.path.join(self._source_subfolder, "x11", "Makefile.in"), - "$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a", - "-$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a") - tools.replace_in_file(os.path.join(self._source_subfolder, "x11", "Makefile.in"), - "\nall:\t", - "\nall:\t{}\t#".format("@SHL_TARGETS@" if self.options.shared else "$(LIBCURSES)")) + if is_msvc(self): + replace_in_file(self, os.path.join(self.source_folder, "wincon", "Makefile.vc"), + "$(CFLAGS)", + "$(CFLAGS) -{}".format(msvc_runtime_flag(self))) + replace_in_file(self, os.path.join(self.source_folder, "x11", "Makefile.in"), + "$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a", + "-$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a") + replace_in_file(self, os.path.join(self.source_folder, "x11", "Makefile.in"), + "\nall:\t", + "\nall:\t{}\t#".format("@SHL_TARGETS@" if self.options.shared else "$(LIBCURSES)")) def build(self): self._patch_sources() - if self.settings.os == "Windows": - self._build_windows() + if is_msvc(self): + self._build_msvc() else: - with tools.chdir(os.path.join(self._source_subfolder, "x11")): - autotools = self._configure_autotools() + self._build_autotools() + + def _build_autotools(self): + if self.options.get_safe("with_x11"): + with chdir(self, os.path.join(self.source_folder, "x11")): + autotools = Autotools(self) + autotools.configure(build_script_folder=os.path.join(self.source_folder, "x11")) + autotools.make() + if self.options.with_sdl: + with chdir(self, os.path.join(self.source_folder, "sdl2")): + autotools = Autotools(self) autotools.make() - @property - def _subsystem_folder(self): - return { - "Windows": "wincon", - }.get(str(self.settings.os), "x11") + + def _build_msvc(self): + with chdir(self, os.path.join(self.source_folder, "wincon")): + args = [] + if self.options.shared: + args.append("DLL=Y") + if self.options.enable_widec: + args.append("WIDE=Y") + args = " ".join(args) + if is_msvc(self): + self.run(f"nmake -f Makefile.vc {args}") + else: + self.run(f"make libs {args}") @property def _license_text(self): - readme = tools.load(os.path.join(self._source_subfolder, self._subsystem_folder, "README.md")) - match = re.search(r"Distribution Status\n[\-]+(?:[\r\n])+((?:[0-9a-z .,;*]+[\r\n])+)", readme, - re.IGNORECASE | re.MULTILINE) - if not match: - raise ConanException("Cannot extract distribution status") - return match.group(1).strip() + "\n" + readme = load(self, os.path.join(self.source_folder, "README.md")) + match = re.search(r"Legal Stuff\n[\-]+[\r\n]+((?:.*\n)+)\n\nMaintainer", readme, re.IGNORECASE | re.MULTILINE) + license = match.group(1).strip() + "\n" + if self.options.get_safe("with_x11"): + readme = load(self, os.path.join(self.source_folder, "x11", "README.md")) + match = re.search(r"Distribution Status\n[\-]+[\r\n]+((?:[0-9a-z .,;*]+[\r\n])+)", readme, re.IGNORECASE | re.MULTILINE) + if not match: + raise ConanException("Cannot extract distribution status") + license += "\n" + match.group(1).strip() + "\n" + return license - def package(self): - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) - if self.settings.os == "Windows": - self.copy(pattern="curses.h", src=self._source_subfolder, dst="include") - self.copy(pattern="*.dll", dst="bin", keep_path=False) - self.copy(pattern="*.lib", dst="lib", keep_path=False) - self.copy(pattern="*.a", dst="lib", keep_path=False) - - if self.settings.compiler != "Visual Studio": - os.rename(os.path.join(self.package_folder, "lib", "pdcurses.a"), - os.path.join(self.package_folder, "lib", "libpdcurses.a")) - else: - with tools.chdir(os.path.join(self._source_subfolder, "x11")): - autotools = self._configure_autotools() + def package(self): + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) + if self.options.get_safe("with_x11"): + with chdir(self, os.path.join(self.source_folder, "x11")): + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "bin")) + copy(self, "curses.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + build_folders = [] + if self.settings.os == "Windows": + build_folders += [self.source_folder] + if self.options.with_sdl: + build_folders += [os.path.join(self.source_folder, "sdl2")] + for build_folder in build_folders: + copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=build_folder, keep_path=False) + for pattern in ["*.lib", "*.a", "*.so*", "*.dylib*"]: + copy(self, pattern, dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) + if (self.settings.os == "Windows" or self.options.with_sdl) and not is_msvc(self): + rename(self, os.path.join(self.package_folder, "lib", "pdcurses.a"), + os.path.join(self.package_folder, "lib", "libpdcurses.a")) def package_info(self): - if self.settings.os == "Windows": + if self.settings.os == "Windows" or self.options.with_sdl: self.cpp_info.libs = ["pdcurses"] - elif self.settings.os in ("FreeBSD", "Linux"): + if self.options.get_safe("with_x11"): self.cpp_info.includedirs.append(os.path.join("include", "xcurses")) - self.cpp_info.libs = ["XCurses"] + self.cpp_info.libs += ["XCurses"] diff --git a/recipes/pdcurses/all/test_package/CMakeLists.txt b/recipes/pdcurses/all/test_package/CMakeLists.txt index 7b9b613cbb24a..06f34416c70f6 100644 --- a/recipes/pdcurses/all/test_package/CMakeLists.txt +++ b/recipes/pdcurses/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(pdcurses REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE pdcurses::pdcurses) diff --git a/recipes/pdcurses/all/test_package/conanfile.py b/recipes/pdcurses/all/test_package/conanfile.py index 4aebe114eeb59..ef5d7042163ec 100644 --- a/recipes/pdcurses/all/test_package/conanfile.py +++ b/recipes/pdcurses/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pdcurses/all/test_v1_package/CMakeLists.txt b/recipes/pdcurses/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pdcurses/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdcurses/all/test_v1_package/conanfile.py b/recipes/pdcurses/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3f4a9f50f389e --- /dev/null +++ b/recipes/pdcurses/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e70ab4a9e72b69a53e3269e154e5c0d15a5a0462 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:17:37 -0500 Subject: [PATCH 2810/4087] (#21064) tinyalsa: conan2 * tinyalsa: conan2 * Remove 1.1.1, use CMake to build * Set src_folder * Remove tinyalsa 1.1.1 * Add v1 test package * Revert "Remove tinyalsa 1.1.1" This reverts commit c0034d1f07d532cbffdffdff90cb2af0bd71266e. * Revert "Set src_folder" This reverts commit 686a6489d9cc9c78e4c836b8b4801cbe922fcd31. * Revert "Remove 1.1.1, use CMake to build" This reverts commit 244b84b9795101dd3fa795efaa5c055d37ba8a2a. * Add patches for fixing clang build * Simplify removing extra packaged files * Patch source should just be a URL Co-authored-by: Uilian Ries * Readd + deprecate with_utils option * Restore with_utils option --------- Co-authored-by: Uilian Ries --- recipes/tinyalsa/all/conandata.yml | 12 ++- recipes/tinyalsa/all/conanfile.py | 78 +++++++++++-------- .../tinyalsa-1.1.1-fix-hardcoded-gcc.patch | 46 +++++++++++ .../tinyalsa-1.1.1-fix-make-clang-build.patch | 40 ++++++++++ .../tinyalsa-2.0.0-fix-hardcoded-gcc.patch | 46 +++++++++++ .../tinyalsa/all/test_package/CMakeLists.txt | 5 +- .../tinyalsa/all/test_package/conanfile.py | 30 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../tinyalsa/all/test_v1_package/conanfile.py | 17 ++++ 9 files changed, 236 insertions(+), 46 deletions(-) create mode 100644 recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch create mode 100644 recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch create mode 100644 recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch create mode 100644 recipes/tinyalsa/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tinyalsa/all/test_v1_package/conanfile.py diff --git a/recipes/tinyalsa/all/conandata.yml b/recipes/tinyalsa/all/conandata.yml index e736cb9ab9606..2fbff13d26bb3 100644 --- a/recipes/tinyalsa/all/conandata.yml +++ b/recipes/tinyalsa/all/conandata.yml @@ -8,4 +8,14 @@ sources: patches: "2.0.0": - patch_file: "patches/tinyalsa-2.0.0-strncpy-warning.patch" - base_path: "source_subfolder" + - patch_file: "patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch" + patch_description: "Fix hardcoded references to GCC" + patch_type: "portability" + "1.1.1": + - patch_file: "patches/tinyalsa-1.1.1-fix-make-clang-build.patch" + patch_description: "fix clang build using make" + patch_type: "backport" + patch_source: "https://github.com/tinyalsa/tinyalsa/commit/1c13f7cbe1ebee24c2b62d5ba16f2702882da49a" + - patch_file: "patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch" + patch_description: "Fix hardcoded references to GCC" + patch_type: "portability" diff --git a/recipes/tinyalsa/all/conanfile.py b/recipes/tinyalsa/all/conanfile.py index 3475e6c4f17af..e88da3d9b79db 100644 --- a/recipes/tinyalsa/all/conanfile.py +++ b/recipes/tinyalsa/all/conanfile.py @@ -1,68 +1,78 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import get, export_conandata_patches, apply_conandata_patches, chdir, copy, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class TinyAlsaConan(ConanFile): name = "tinyalsa" + description = "A small library to interface with ALSA in the Linux kernel" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tinyalsa/tinyalsa" topics = ("tiny", "alsa", "sound", "audio", "tinyalsa") - description = "A small library to interface with ALSA in the Linux kernel" - exports_sources = ["patches/*",] - options = {"shared": [True, False], "with_utils": [True, False]} - default_options = {'shared': False, 'with_utils': False} + package_type = "library" settings = "os", "compiler", "build_type", "arch" + options = {"shared": [True, False], "with_utils": [True, False]} + default_options = {"shared": False, "with_utils": False} - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("{} only works for Linux.".format(self.name)) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def export_sources(self): + export_conandata_patches(self) def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - env_build = AutoToolsBuildEnvironment(self) - env_build.make() + apply_conandata_patches(self) + with chdir(self, self.source_folder): + at = Autotools(self) + at.make() def package(self): - self.copy("NOTICE", dst="licenses", src=self._source_subfolder) + copy(self, "NOTICE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - with tools.chdir(self._source_subfolder): - env_build = AutoToolsBuildEnvironment(self) - env_build_vars = env_build.vars - env_build_vars['PREFIX'] = self.package_folder - env_build.install(vars=env_build_vars) + with chdir(self, self.source_folder): + at = Autotools(self) + at.install(args=[f"DESTDIR={self.package_folder}", "PREFIX="]) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) - if not self.options.with_utils: - tools.rmdir(os.path.join(self.package_folder, "bin")) + pattern_to_remove = "*.a" if self.options.shared else "*.so" + rm(self, pattern_to_remove, os.path.join(self.package_folder, "lib")) - with tools.chdir(os.path.join(self.package_folder, "lib")): - files = os.listdir() - for f in files: - if (self.options.shared and f.endswith(".a")) or (not self.options.shared and not f.endswith(".a")): - os.unlink(f) + if not self.options.with_utils: + rmdir(self, os.path.join(self.package_folder, "bin")) def package_info(self): self.cpp_info.libs = ["tinyalsa"] - if tools.Version(self.version) >= "2.0.0": + if Version(self.version) >= "2.0.0": self.cpp_info.system_libs.append("dl") + if self.options.with_utils: bin_path = os.path.join(self.package_folder, "bin") - self.output.info('Appending PATH environment variable: %s' % bin_path) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.path.append(bin_path) + + # Needed for compatibility with v1.x - Remove when 2.0 becomes the default + bin_path = os.path.join(self.package_folder, "bin") + self.output.info(f'Appending PATH environment variable: {bin_path}') + self.env_info.PATH.append(bin_path) diff --git a/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch new file mode 100644 index 0000000000000..06261e0620b0d --- /dev/null +++ b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch @@ -0,0 +1,46 @@ +diff --git a/examples/Makefile b/examples/Makefile +index 807d4c8..32a8a9b 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -1,6 +1,5 @@ + CROSS_COMPILE ?= + +-CC = $(CROSS_COMPILE)gcc + CFLAGS = -Wall -Wextra -Werror -Wfatal-errors -I ../include + + VPATH = ../src +diff --git a/src/Makefile b/src/Makefile +index d33c9f1..0e5c054 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -7,9 +7,6 @@ LIBDIR := $(LIBDIR)/$(DEB_HOST_MULTIARCH) + endif + + CROSS_COMPILE = +-CC = $(CROSS_COMPILE)gcc +-AR = $(CROSS_COMPILE)ar +-LD = $(CROSS_COMPILE)gcc + + WARNINGS = -Wall -Wextra -Werror -Wfatal-errors + INCLUDE_DIRS = -I ../include +@@ -37,7 +34,7 @@ libtinyalsa.so.1: libtinyalsa.so.1.1.1 + ln -sf $< $@ + + libtinyalsa.so.1.1.1: $(OBJECTS) +- $(LD) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.1 $^ -o $@ ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.1 $^ -o $@ + + .PHONY: clean + clean: +diff --git a/utils/Makefile b/utils/Makefile +index ad4bc5c..ab90c79 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -4,7 +4,6 @@ BINDIR ?= $(PREFIX)/bin + MANDIR ?= $(PREFIX)/man + + CROSS_COMPILE ?= +-CC = $(CROSS_COMPILE)gcc + + CFLAGS += -Wall -Wextra -Werror -Wfatal-errors + CFLAGS += -I ../include diff --git a/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch new file mode 100644 index 0000000000000..c0749bfad8d12 --- /dev/null +++ b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch @@ -0,0 +1,40 @@ +diff --git a/utils/Makefile b/utils/Makefile +index ad4bc5c..fb52cd3 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -8,21 +8,30 @@ CC = $(CROSS_COMPILE)gcc + + CFLAGS += -Wall -Wextra -Werror -Wfatal-errors + CFLAGS += -I ../include +-CFLAGS += -L ../src + CFLAGS += -O2 + ++LDFLAGS += -L ../src ++ + VPATH = ../src:../include/tinyalsa + + .PHONY: all + all: -ltinyalsa tinyplay tinycap tinymix tinypcminfo + +-tinyplay: tinyplay.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinyplay: tinyplay.o libtinyalsa.a ++ ++tinyplay.o: tinyplay.c pcm.h mixer.h asoundlib.h ++ ++tinycap: tinycap.o libtinyalsa.a ++ ++tinycap.o: tinycap.c pcm.h mixer.h asoundlib.h ++ ++tinymix: tinymix.o libtinyalsa.a + +-tinycap: tinycap.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinymix.o: tinymix.c pcm.h mixer.h asoundlib.h + +-tinymix: tinymix.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinypcminfo: tinypcminfo.o libtinyalsa.a + +-tinypcminfo: tinypcminfo.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinypcminfo.o: tinypcminfo.c pcm.h mixer.h asoundlib.h + + .PHONY: clean + clean: diff --git a/recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch b/recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch new file mode 100644 index 0000000000000..db679cccf2ab7 --- /dev/null +++ b/recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch @@ -0,0 +1,46 @@ +diff --git a/examples/Makefile b/examples/Makefile +index 650966d..1f68ff6 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -1,6 +1,5 @@ + CROSS_COMPILE ?= + +-CC = $(CROSS_COMPILE)gcc + CFLAGS = -Wall -Wextra -Werror -Wfatal-errors -I ../include + + VPATH = ../src +diff --git a/src/Makefile b/src/Makefile +index aaa84b8..ac86400 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -6,9 +6,6 @@ ifdef DEB_HOST_MULTIARCH + LIBDIR := $(LIBDIR)/$(DEB_HOST_MULTIARCH) + endif + +-CC = $(CROSS_COMPILE)gcc +-AR = $(CROSS_COMPILE)ar +-LD = $(CROSS_COMPILE)gcc + + WARNINGS = -Wall -Wextra -Werror -Wfatal-errors + INCLUDE_DIRS = -I ../include +@@ -49,7 +46,7 @@ libtinyalsa.so.$(LIBVERSION_MAJOR): libtinyalsa.so.$(LIBVERSION) + ln -sf $< $@ + + libtinyalsa.so.$(LIBVERSION): $(OBJECTS) +- $(LD) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.$(LIBVERSION_MAJOR) $^ -o $@ ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.$(LIBVERSION_MAJOR) $^ -o $@ + + .PHONY: clean + clean: +diff --git a/utils/Makefile b/utils/Makefile +index f733c39..38a9cb5 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -4,7 +4,6 @@ BINDIR ?= $(PREFIX)/bin + MANDIR ?= $(PREFIX)/man + + CROSS_COMPILE ?= +-CC = $(CROSS_COMPILE)gcc + + CFLAGS += -Wall -Wextra -Werror -Wfatal-errors + CFLAGS += -I ../include diff --git a/recipes/tinyalsa/all/test_package/CMakeLists.txt b/recipes/tinyalsa/all/test_package/CMakeLists.txt index 05e771029ef2c..164aea9790081 100644 --- a/recipes/tinyalsa/all/test_package/CMakeLists.txt +++ b/recipes/tinyalsa/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(PackageTest) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(PackageTest LANGUAGES C) find_package(tinyalsa CONFIG REQUIRED) diff --git a/recipes/tinyalsa/all/test_package/conanfile.py b/recipes/tinyalsa/all/test_package/conanfile.py index 481a3b9adeaa2..03f3d654478f9 100644 --- a/recipes/tinyalsa/all/test_package/conanfile.py +++ b/recipes/tinyalsa/all/test_package/conanfile.py @@ -1,9 +1,23 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.files import load, save import os -from conans import ConanFile, CMake, tools -class LibalsaTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str, run=True) + + def layout(self): + cmake_layout(self) + + def generate(self): + save(self, os.path.join(self.build_folder, "with_utils"), + str(self.dependencies["tinyalsa"].options.with_utils)) def build(self): cmake = CMake(self) @@ -11,6 +25,8 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "example") + self.run(bin_path, env="conanrun") + if load(self, os.path.join(self.build_folder, "with_utils")) == "True": + self.run("tinymix --help", env="conanrun") diff --git a/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt b/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinyalsa/all/test_v1_package/conanfile.py b/recipes/tinyalsa/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..bb566468b9731 --- /dev/null +++ b/recipes/tinyalsa/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From 3d3e379b717aabd0ae62ff40a6347072debbd18a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 02:38:13 +0900 Subject: [PATCH 2811/4087] (#21331) aws-c-auth: add version 0.7.7, update dependencies * aws-c-auth: add version 0.7.7, update dependencies * create patch for 0.6.17 * make aws-c-io transitive_libs * downgrade dependencies versions Co-authored-by: Gregor Jasny --------- Co-authored-by: Gregor Jasny --- recipes/aws-c-auth/all/conandata.yml | 9 ++ recipes/aws-c-auth/all/conanfile.py | 33 +++-- .../patches/0.6.17-0001-fix-macro-usage.patch | 132 ++++++++++++++++++ recipes/aws-c-auth/config.yml | 2 + 4 files changed, 165 insertions(+), 11 deletions(-) create mode 100644 recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch diff --git a/recipes/aws-c-auth/all/conandata.yml b/recipes/aws-c-auth/all/conandata.yml index 3f6bee7b4b086..47648a4e54a57 100644 --- a/recipes/aws-c-auth/all/conandata.yml +++ b/recipes/aws-c-auth/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.7": + url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.7.tar.gz" + sha256: "ea3c9e75b59b36aaf9147deec655d1669f197745bbe914cd3b8e234740be29ba" "0.6.17": url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.17.tar.gz" sha256: "b43678ad3a779c9c7fccf8f931c162eaaf4d5d64d2955ac1fcfd32e538545c0f" @@ -14,3 +17,9 @@ sources: "0.6.0": url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.0.tar.gz" sha256: "5f5fff63110c3e8f619385ca563f77886bc101d3e054987eecbb87586e27b651" +patches: + "0.6.17": + - patch_file: "patches/0.6.17-0001-fix-macro-usage.patch" + patch_description: "Fix inconsistent usage of macros" + patch_type: "backport" + patch_source: "https://github.com/awslabs/aws-c-auth/pull/181" diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index 93acb4732d6f3..0181ea2ac5e2c 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, copy, rmdir, save +from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches from conan.tools.scm import Version import os @@ -30,6 +30,9 @@ class AwsCAuth(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -44,19 +47,26 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - if Version(self.version) < "0.6.17": - self.requires("aws-c-io/0.10.20", transitive_headers=True) - self.requires("aws-c-http/0.6.13", transitive_headers=True) + if Version(self.version) <= "0.6.17": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.13") + if Version(self.version) < "0.6.17": + self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.6.13", transitive_headers=True) + else: + self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.6.22", transitive_headers=True) + if Version(self.version) >= "0.6.5": + self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True) else: - self.requires("aws-c-io/0.13.4", transitive_headers=True) - self.requires("aws-c-http/0.6.22", transitive_headers=True) - if Version(self.version) >= "0.6.5": - self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9") + self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.7.14", transitive_headers=True) + self.requires("aws-c-sdkutils/0.1.12", transitive_headers=True) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -67,6 +77,7 @@ def generate(self): deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch b/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch new file mode 100644 index 0000000000000..bed12b1bd563b --- /dev/null +++ b/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch @@ -0,0 +1,132 @@ +diff --git a/source/aws_signing.c b/source/aws_signing.c +index 940d7be..ecc1144 100644 +--- a/source/aws_signing.c ++++ b/source/aws_signing.c +@@ -2500,7 +2500,7 @@ int aws_verify_sigv4a_signing( + aws_credentials_release(signing_state->config.credentials); + signing_state->config.credentials = ecc_credentials; + if (signing_state->config.credentials == NULL) { +- AWS_LOGF_ERROR(AWS_LS_AUTH_SIGNING, "Unable to create ECC from provided credentials") ++ AWS_LOGF_ERROR(AWS_LS_AUTH_SIGNING, "Unable to create ECC from provided credentials"); + goto done; + } + } +diff --git a/source/credentials_provider_process.c b/source/credentials_provider_process.c +index 655df86..29f99d0 100644 +--- a/source/credentials_provider_process.c ++++ b/source/credentials_provider_process.c +@@ -187,7 +187,7 @@ static struct aws_string *s_get_command(struct aws_allocator *allocator, struct + if (!command_buf.len) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to resolve credentials_process command during process credentials provider initialization.") ++ "Failed to resolve credentials_process command during process credentials provider initialization."); + goto on_finish; + } + +@@ -202,7 +202,7 @@ static struct aws_string *s_get_command(struct aws_allocator *allocator, struct + + AWS_LOGF_DEBUG( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Successfully loaded credentials_process command for process credentials provider.") ++ "Successfully loaded credentials_process command for process credentials provider."); + + on_finish: + aws_string_destroy(profile_name); +diff --git a/source/credentials_provider_sts_web_identity.c b/source/credentials_provider_sts_web_identity.c +index cb03cb5..c3e4697 100644 +--- a/source/credentials_provider_sts_web_identity.c ++++ b/source/credentials_provider_sts_web_identity.c +@@ -231,7 +231,7 @@ static bool s_parse_retryable_error_from_response(struct aws_allocator *allocato + if (xml_parser == NULL) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to init xml parser for sts web identity credentials provider to parse error information.") ++ "Failed to init xml parser for sts web identity credentials provider to parse error information."); + return false; + } + bool get_retryable_error = false; +@@ -330,14 +330,14 @@ static struct aws_credentials *s_parse_credentials_from_response( + if (xml_parser == NULL) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to init xml parser for sts web identity credentials provider to parse error information.") ++ "Failed to init xml parser for sts web identity credentials provider to parse error information."); + return NULL; + } + uint64_t now = UINT64_MAX; + if (aws_sys_clock_get_ticks(&now) != AWS_OP_SUCCESS) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to get sys clock for sts web identity credentials provider to parse error information.") ++ "Failed to get sys clock for sts web identity credentials provider to parse error information."); + goto on_finish; + } + uint64_t now_seconds = aws_timestamp_convert(now, AWS_TIMESTAMP_NANOS, AWS_TIMESTAMP_SECS, NULL); +@@ -998,7 +998,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, + "Failed to resolve either region, role arn or token file path during sts web identity provider " +- "initialization.") ++ "initialization."); + goto on_finish; + + } else { +@@ -1021,7 +1021,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + aws_byte_buf_init_copy_from_cursor(¶meters->role_arn, allocator, aws_byte_cursor_from_string(role_arn))) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to resolve role arn during sts web identity provider initialization.") ++ "Failed to resolve role arn during sts web identity provider initialization."); + goto on_finish; + } + +@@ -1031,7 +1031,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + ¶meters->token_file_path, allocator, aws_byte_cursor_from_string(token_file_path))) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to resolve token file path during sts web identity provider initialization.") ++ "Failed to resolve token file path during sts web identity provider initialization."); + goto on_finish; + } + +@@ -1047,7 +1047,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + + AWS_LOGF_DEBUG( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Successfully loaded all required parameters for sts web identity credentials provider.") ++ "Successfully loaded all required parameters for sts web identity credentials provider."); + success = true; + + on_finish: +diff --git a/source/credentials_utils.c b/source/credentials_utils.c +index 061e26b..2cb61d6 100644 +--- a/source/credentials_utils.c ++++ b/source/credentials_utils.c +@@ -98,7 +98,7 @@ static bool s_parse_expiration_value_from_json_object( + + if (expiration_cursor.len == 0) { + AWS_LOGF_INFO( +- AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed a credentials json document with empty expiration.") ++ AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed a credentials json document with empty expiration."); + return false; + } + +@@ -211,7 +211,7 @@ struct aws_credentials *aws_parse_credentials_from_aws_json_object( + if (access_key_id_cursor.len == 0 || secrete_access_key_cursor.len == 0) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Parsed an unexpected credentials json document, either access key, secret key is empty.") ++ "Parsed an unexpected credentials json document, either access key, secret key is empty."); + goto done; + } + +@@ -222,7 +222,7 @@ struct aws_credentials *aws_parse_credentials_from_aws_json_object( + aws_json_value_get_string(token, &session_token_cursor); + if (options->token_required && session_token_cursor.len == 0) { + AWS_LOGF_ERROR( +- AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed an unexpected credentials json document with empty token.") ++ AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed an unexpected credentials json document with empty token."); + goto done; + } + } diff --git a/recipes/aws-c-auth/config.yml b/recipes/aws-c-auth/config.yml index 503ab418198f1..244301baade46 100644 --- a/recipes/aws-c-auth/config.yml +++ b/recipes/aws-c-auth/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.7": + folder: all "0.6.17": folder: all "0.6.11": From 0760063a6faa03edb63dacfde67ef1e950aa35bd Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 29 Nov 2023 19:03:26 +0100 Subject: [PATCH 2812/4087] (#21158) [pulseaudio] Update fftw options * Update fftw dependency Signed-off-by: Uilian Ries * Fix comment Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/pulseaudio/all/conanfile.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py index e50cb73ff538a..1a469fa5694df 100644 --- a/recipes/pulseaudio/all/conanfile.py +++ b/recipes/pulseaudio/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_alsa: self.requires("libalsa/1.2.10") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.1") if self.options.get_safe("with_fftw"): self.requires("fftw/3.3.10") if self.options.with_x11: @@ -79,11 +79,10 @@ def validate(self): raise ConanInvalidConfiguration("pulseaudio supports only linux currently") if self.options.get_safe("with_fftw"): - fftw_precision = self.dependencies["fftw"].options.precision - if fftw_precision != "single": + if not self.dependencies["fftw"].options.precision_single: raise ConanInvalidConfiguration( - f"Pulse audio cannot use fftw {fftw_precision} precision. " - "Either set option fftw:precision=single or pulseaudio:with_fftw=False" + f"Pulse audio uses fftw single precision. " + "Either set option -o fftw/*:precision_single=True or -o pulseaudio/*:with_fftw=False" ) def build_requirements(self): From 57c9deab7313f6193aad505598aa55b03dcd4b28 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 03:29:08 +0900 Subject: [PATCH 2813/4087] (#21370) stx: add version 1.0.5 --- recipes/stx/all/conandata.yml | 10 ++++++++++ .../patches/1.0.5-0002-add-installer.patch | 20 +++++++++++++++++++ recipes/stx/config.yml | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 recipes/stx/all/patches/1.0.5-0002-add-installer.patch diff --git a/recipes/stx/all/conandata.yml b/recipes/stx/all/conandata.yml index 581d965091806..d0f1a667ea097 100644 --- a/recipes/stx/all/conandata.yml +++ b/recipes/stx/all/conandata.yml @@ -1,8 +1,18 @@ sources: + "1.0.5": + url: "https://github.com/lamarrr/STX/archive/v1.0.5.tar.gz" + sha256: "d21a1895bc7057c8c6118a042ec39f364b2ad768394d4facb2fd64b73b07d97f" "1.0.4": url: "https://github.com/lamarrr/STX/archive/v1.0.4.tar.gz" sha256: "89c61efb84828e42ddd6765e323e12b7b8de7ff68116f93227a87c56159c34ab" patches: + "1.0.5": + - patch_file: "patches/1.0.4-0001-cmake_module_path.patch" + patch_description: "append CMAKE_MODULE_PATH instead of setting CMAKE_MODULE_PATH" + patch_type: "conan" + - patch_file: "patches/1.0.5-0002-add-installer.patch" + patch_description: "use GNUInstallDirs for target path" + patch_type: "portability" "1.0.4": - patch_file: "patches/1.0.4-0001-cmake_module_path.patch" patch_description: "append CMAKE_MODULE_PATH instead of setting CMAKE_MODULE_PATH" diff --git a/recipes/stx/all/patches/1.0.5-0002-add-installer.patch b/recipes/stx/all/patches/1.0.5-0002-add-installer.patch new file mode 100644 index 0000000000000..76dc480783923 --- /dev/null +++ b/recipes/stx/all/patches/1.0.5-0002-add-installer.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ee82585..bea77c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,10 +113,14 @@ target_include_directories(stx PRIVATE src) + # === Install + # + # =============================================== ++include(GNUInstallDirs) + install( + TARGETS stx + EXPORT stx +- LIBRARY DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) + install(DIRECTORY include/stx DESTINATION include) + + # =============================================== diff --git a/recipes/stx/config.yml b/recipes/stx/config.yml index c20e44b006f1a..267193202c4e1 100644 --- a/recipes/stx/config.yml +++ b/recipes/stx/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.5": + folder: all "1.0.4": folder: all From e2c405b7a7bc0b97c9014db16ada29a18f2cae2a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 03:47:57 +0900 Subject: [PATCH 2814/4087] (#21383) jasper: add version 4.1.0 --- recipes/jasper/all/conandata.yml | 14 ++++++++++ .../all/patches/4.1.0-0001-skip-rpath.patch | 28 +++++++++++++++++++ .../all/patches/4.1.0-0002-find-libjpeg.patch | 25 +++++++++++++++++ .../4.1.0-0003-deterministic-libname.patch | 13 +++++++++ recipes/jasper/config.yml | 2 ++ 5 files changed, 82 insertions(+) create mode 100644 recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch create mode 100644 recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch create mode 100644 recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml index 249c9d8054efc..6e9ac4e8ea75b 100644 --- a/recipes/jasper/all/conandata.yml +++ b/recipes/jasper/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.0/jasper-4.1.0.tar.gz" + sha256: "ffe1543d87f7ffc5039d2415afd48c314a7cc0b0c750b4982cd881d6ed4b5743" "4.0.0": url: "https://github.com/jasper-software/jasper/releases/download/version-4.0.0/jasper-4.0.0.tar.gz" sha256: "39514e1b53a5333fcff817e19565371f016ea536c36fd2d13a9c4d8da8f0be0c" @@ -9,6 +12,17 @@ sources: url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz" sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a" patches: + "4.1.0": + - patch_file: "patches/4.1.0-0001-skip-rpath.patch" + patch_description: "Do not enforce rpath configuration" + patch_source: "https://github.com/jasper-software/jasper/pull/347" + patch_type: "conan" + - patch_file: "patches/4.1.0-0002-find-libjpeg.patch" + patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" + patch_type: "conan" + - patch_file: "patches/4.1.0-0003-deterministic-libname.patch" + patch_description: "No generator dependent libname" + patch_type: "conan" "4.0.0": - patch_file: "patches/4.0.0-0001-skip-rpath.patch" patch_description: "Do not enforce rpath configuration" diff --git a/recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch b/recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch new file mode 100644 index 0000000000000..9ebb0ac66b98c --- /dev/null +++ b/recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ba6f117..6b79a94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -804,19 +804,19 @@ if(JAS_ENABLE_SHARED) + # (but later on when installing) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + +- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++# set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + + # add the automatically determined parts of the RPATH + # which point to directories outside the build tree to the install RPATH +- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) ++# set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + # The RPATH to be used when installing, but only if it's not a + # system directory + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) + if(isSystemDir EQUAL -1) +- set(CMAKE_INSTALL_RPATH +- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") ++# set(CMAKE_INSTALL_RPATH ++# "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + endif() + diff --git a/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch b/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch new file mode 100644 index 0000000000000..05dd6ce68abe8 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b79a94..86eb065 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -742,13 +742,13 @@ if(JAS_ENABLE_LIBJPEG) + # (e.g., stdio.h and stdint.h). So, we cannot reliably use + # check_include_file here. + jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) +- check_c_source_compiles(" +- #include +- #include +- #include +- int main() {} +- " JAS_HAVE_JPEGLIB_H) +- if(JAS_HAVE_JPEGLIB_H) ++ # check_c_source_compiles(" ++ # #include ++ # #include ++ # #include ++ # int main() {} ++ # " JAS_HAVE_JPEGLIB_H) ++ if(1) + set(JAS_HAVE_LIBJPEG 1) + set(JAS_LIBJPEG_TARGET JPEG::JPEG) + list(APPEND JAS_PKGCONFIG_REQUIRES libjpeg) diff --git a/recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch b/recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch new file mode 100644 index 0000000000000..0603e4f665033 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86eb065..9c2da51 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,7 @@ endif() + # If a multiconfiguration generator is used, ensure that various output + # files are not placed in subdirectories (such as Debug and Release) + # as this will cause the CTest test suite to fail. +-if(JAS_MULTICONFIGURATION_GENERATOR) ++if(0) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY .) diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml index 4a60a36eef3ae..70e516cc72ceb 100644 --- a/recipes/jasper/config.yml +++ b/recipes/jasper/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.0": + folder: all "4.0.0": folder: all "3.0.6": From a9161945c30953fce08e3c496eeef14bfc5e2b31 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 29 Nov 2023 20:08:21 +0100 Subject: [PATCH 2815/4087] (#21439) openssl: backport openssl/openssl#22811 fix * openssl: backport openssl/openssl#22811 fix * fixup line endings --- recipes/openssl/3.x.x/conandata.yml | 6 ++++ recipes/openssl/3.x.x/conanfile.py | 6 +++- .../3.x.x/patches/3.2.0-fix-winsock2.patch | 36 +++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index c4de0d1d32358..ca3f66a360ac3 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -34,3 +34,9 @@ sources: - "https://www.openssl.org/source/openssl-3.0.11.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.0.11/openssl-3.0.11.tar.gz" sha256: b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 +patches: + 3.2.0: + - patch_file: "patches/3.2.0-fix-winsock2.patch" + patch_description: "Only include winsock2.h for struct timeval if needed" + patch_type: "bugfix" + patch_source: "https://github.com/openssl/openssl/commit/ba58e9f1e22dd9ee2e37078640dcbe9f520a555d" diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 82d58e0af07f6..0aebce72e25fa 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun from conan.tools.build import build_jobs -from conan.tools.files import chdir, copy, get, rename, replace_in_file, rmdir, save +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rename, replace_in_file, rmdir, save from conan.tools.gnu import AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path @@ -126,6 +126,9 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -516,6 +519,7 @@ def _make_install(self): self._run_make(targets=["install_sw"], parallel=False, install=True) def build(self): + apply_conandata_patches(self) self._make() configdata_pm = self._adjust_path(os.path.join(self.source_folder, "configdata.pm")) self.run(f"{self._perl} {configdata_pm} --dump") diff --git a/recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch b/recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch new file mode 100644 index 0000000000000..6e91678b02dd7 --- /dev/null +++ b/recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch @@ -0,0 +1,36 @@ +From ba58e9f1e22dd9ee2e37078640dcbe9f520a555d Mon Sep 17 00:00:00 2001 +From: Hugo Landau +Date: Fri, 24 Nov 2023 10:03:30 +0000 +Subject: [PATCH] Only include winsock2.h for struct timeval if needed + +Fixes #22811 + +Reviewed-by: Tomas Mraz +Reviewed-by: Matt Caswell +Reviewed-by: Matthias St. Pierre +(Merged from https://github.com/openssl/openssl/pull/22813) +--- + include/openssl/e_ostime.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/include/openssl/e_ostime.h b/include/openssl/e_ostime.h +index 8a7cc9880fa79..0e17487504992 100644 +--- a/include/openssl/e_ostime.h ++++ b/include/openssl/e_ostime.h +@@ -22,7 +22,15 @@ + */ + + # if defined(OPENSSL_SYS_WINDOWS) +-# include ++# if !defined(_WINSOCKAPI_) ++ /* ++ * winsock2.h defines _WINSOCK2API_ and both winsock2.h and winsock.h define ++ * _WINSOCKAPI_. Both of these provide struct timeval. Don't include ++ * winsock2.h if either header has been included to avoid breakage with ++ * applications that prefer to use over . ++ */ ++# include ++# endif + # else + # include + # endif From d880fcd7c7d6894b6e1bbb98140435ebadd8e6e3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:37:44 +0100 Subject: [PATCH 2816/4087] (#21454) egl-headers: add package_type --- recipes/egl-headers/all/conanfile.py | 7 ++++--- recipes/egl-headers/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/egl-headers/all/conanfile.py b/recipes/egl-headers/all/conanfile.py index 5f6e1786a60cb..d9fb3976353e3 100644 --- a/recipes/egl-headers/all/conanfile.py +++ b/recipes/egl-headers/all/conanfile.py @@ -13,6 +13,7 @@ class EglHeadersConan(ConanFile): topics = ("egl-headers", "egl") homepage = "https://github.com/KhronosGroup/EGL-Registry" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,4 +43,5 @@ def package(self): copy(self, "*", src=os.path.join(self.source_folder, "api", "EGL"), dst=os.path.join(self.package_folder, "include", "EGL")) def package_info(self): - pass + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/egl-headers/all/test_package/CMakeLists.txt b/recipes/egl-headers/all/test_package/CMakeLists.txt index 8c6a625d847ec..26e09ca1aa867 100644 --- a/recipes/egl-headers/all/test_package/CMakeLists.txt +++ b/recipes/egl-headers/all/test_package/CMakeLists.txt @@ -4,4 +4,4 @@ project(test_package LANGUAGES C) find_package(egl-headers REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} egl-headers::egl-headers) +target_link_libraries(${PROJECT_NAME} PRIVATE egl-headers::egl-headers) From 44c4af38fa38be391b75f8f375f39b95011fc32c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:59:34 +0100 Subject: [PATCH 2817/4087] (#21475) hlslpp: add package_type --- recipes/hlslpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/hlslpp/all/conanfile.py b/recipes/hlslpp/all/conanfile.py index d8ccb3fef6db2..5e20f46efc9b0 100644 --- a/recipes/hlslpp/all/conanfile.py +++ b/recipes/hlslpp/all/conanfile.py @@ -14,6 +14,7 @@ class HlslppConan(ConanFile): license = "MIT" homepage = "https://github.com/redorav/hlslpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 2e7d17cd29c9d9f227b54664a255f68ea5a19a9e Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Wed, 29 Nov 2023 23:08:23 +0300 Subject: [PATCH 2818/4087] (#21483) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 8b39ba21d27ff..794fbb3011f17 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.1.tar.gz" + sha256: "7126ecc34f9808943b76b05106ebd42ef01b7b812416efc2382de68a13804d01" "2.3.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.0.tar.gz" sha256: "e8a37c80f1823bbac9cbfd6bbd662ee14e8ff0ac9e97966aa34cb2d0eed18e72" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index ea0e83069f215..1875f7359c680 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.1": + folder: all "2.3.0": folder: all "2.2.3": From 9d704b21c5320777869c96489950f39664d59336 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 29 Nov 2023 21:47:29 +0100 Subject: [PATCH 2819/4087] (#21440) libvips/all: bump deps * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * workaround conan-io/conan#14213 --- recipes/libvips/all/conanfile.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/recipes/libvips/all/conanfile.py b/recipes/libvips/all/conanfile.py index 41fc3c25f6348..4e9baa365d40f 100644 --- a/recipes/libvips/all/conanfile.py +++ b/recipes/libvips/all/conanfile.py @@ -116,9 +116,9 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") - self.requires("glib/2.78.0", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self.options.with_cfitsio: - self.requires("cfitsio/4.2.0") + self.requires("cfitsio/4.3.0") if self.options.with_cgif: self.requires("cgif/0.3.2") if self.options.with_exif: @@ -132,9 +132,9 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/4.1.5") if self.options.with_jpeg_xl: self.requires("libjxl/0.6.1") if self.options.with_lcms: @@ -142,15 +142,15 @@ def requirements(self): if self.options.with_magick: self.requires("imagemagick/7.0.11-14") if self.options.with_matio: - self.requires("matio/1.5.23") + self.requires("matio/1.5.24") if self.options.with_openexr: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_pangocairo: self.requires("pango/1.50.10") if self.options.with_pdfium: - self.requires("pdfium/cci.20210730") + self.requires("pdfium/95.0.4629") if self.options.with_png == "libpng": self.requires("libpng/1.6.40") elif self.options.with_png == "libspng": @@ -199,7 +199,7 @@ def validate(self): raise ConanInvalidConfiguration("librsvg recipe not available in conancenter yet") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") if self.options.introspection: @@ -281,6 +281,12 @@ def _patch_sources(self): replace_in_file(self, meson_build, "subdir('test')", "") replace_in_file(self, meson_build, "subdir('fuzz')", "") + # workaround https://github.com/conan-io/conan/issues/14213 + replace_in_file(self, meson_build, + "cfg_var.set_quoted('VIPS_PREFIX', prefix_dir)", + "cfg_var.set_quoted('VIPS_PREFIX', prefix_dir.replace('\\\\', '/'))" + ) + def build(self): self._patch_sources() meson = Meson(self) From 00b4a6463e6e29c013230fde8c6eff50d96b4097 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:08:31 +0100 Subject: [PATCH 2820/4087] (#21442) cs_libguarded: add package_type --- recipes/cs_libguarded/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/cs_libguarded/all/conanfile.py b/recipes/cs_libguarded/all/conanfile.py index 39578ddadb423..7a321e4ffe729 100644 --- a/recipes/cs_libguarded/all/conanfile.py +++ b/recipes/cs_libguarded/all/conanfile.py @@ -15,6 +15,7 @@ class CsLibguardedConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/copperspice/libguarded" topics = ("multithreading", "templates", "cpp14", "mutexes", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -66,7 +67,7 @@ def loose_lt_semver(v1, v2): f"{self.ref} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) From 485c82cd0c3ce7e1d19f77201c39d8bed5ebb5e2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:28:26 +0100 Subject: [PATCH 2821/4087] (#21443) cxxopts: add package_type + bump icu * add package_type * bump icu --- recipes/cxxopts/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cxxopts/all/conanfile.py b/recipes/cxxopts/all/conanfile.py index 03ec452dcf0b8..face2572c75dd 100644 --- a/recipes/cxxopts/all/conanfile.py +++ b/recipes/cxxopts/all/conanfile.py @@ -15,7 +15,7 @@ class CxxOptsConan(ConanFile): description = "Lightweight C++ option parser library, supporting the standard GNU style syntax for options." license = "MIT" topics = ("option-parser", "positional-arguments ", "header-only") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "unicode": [True, False], @@ -44,7 +44,7 @@ def layout(self): def requirements(self): if self.options.unicode: - self.requires("icu/72.1") + self.requires("icu/74.1") def package_id(self): self.info.clear() From b0c90ba70c7ba6b4540a33518284e66019e1f69f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:48:05 +0100 Subject: [PATCH 2822/4087] (#21445) decimal_for_cpp: add package_type --- recipes/decimal_for_cpp/all/conanfile.py | 14 ++++++-------- .../decimal_for_cpp/all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 9 +++------ 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/recipes/decimal_for_cpp/all/conanfile.py b/recipes/decimal_for_cpp/all/conanfile.py index 3e6a2b2a8d7a3..52caed052e558 100644 --- a/recipes/decimal_for_cpp/all/conanfile.py +++ b/recipes/decimal_for_cpp/all/conanfile.py @@ -10,21 +10,21 @@ class DecimalforcppConan(ConanFile): name = "decimal_for_cpp" description = "Decimal data type support, for COBOL-like fixed-point operations on currency values." license = "BSD-3-Clause" - topics = ("decimal_for_cpp", "currency", "money-library", "decimal-numbers") + topics = ("currency", "money-library", "decimal-numbers") homepage = "https://github.com/vpiotr/decimal_for_cpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,6 +35,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/decimal_for_cpp/all/test_package/conanfile.py b/recipes/decimal_for_cpp/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/decimal_for_cpp/all/test_package/conanfile.py +++ b/recipes/decimal_for_cpp/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt b/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt index 99324bd86f533..be00a8c7f57c7 100644 --- a/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt +++ b/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(decimal_for_cpp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} decimal_for_cpp::decimal_for_cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 5cc8200a89be00f1c041f57a3c3ceff9fed9f7e1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 30 Nov 2023 00:05:22 +0200 Subject: [PATCH 2823/4087] (#20025) hlslpp: add version 3.3.1 * hlslpp: add version 3.3.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * hlslpp: add version 3.2.3 * hlslpp: require GCC 6 * hlslpp: tidy * hlslpp: fix config.yml * Update recipes/hlslpp/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: Uilian Ries --- recipes/hlslpp/all/conandata.yml | 12 ++++++------ recipes/hlslpp/all/conanfile.py | 17 ++++++++++++++++- recipes/hlslpp/config.yml | 4 ++-- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/recipes/hlslpp/all/conandata.yml b/recipes/hlslpp/all/conandata.yml index 41a6668e87c71..213b230fcc1d6 100644 --- a/recipes/hlslpp/all/conandata.yml +++ b/recipes/hlslpp/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "3.2.2": - url: "https://github.com/redorav/hlslpp/archive/refs/tags/3.2.2.tar.gz" - sha256: "f8fae38e6f02920f24344a86397f03b2a7a1fe18bbcb77f4c39bc33978c4a058" - "3.2": - url: "https://github.com/redorav/hlslpp/archive/3.2.tar.gz" - sha256: "23ab0b7f392c518185157e9b1e099eac0a560f4932cebbdf8ccb4a533a0d0336" + "3.3.1": + url: "https://github.com/redorav/hlslpp/archive/3.3.1.tar.gz" + sha256: "0756161beb8dd9eae377dc11e933d045618fea7ac93674f60eb8cffc04080499" + "3.2.3": + url: "https://github.com/redorav/hlslpp/archive/refs/tags/3.2.3.tar.gz" + sha256: "132149d25306cdc56a87c1d6a4a93d3200de4864b5d27d758d235ce4ace64498" "3.1": url: "https://github.com/redorav/hlslpp/archive/refs/tags/3.1.tar.gz" sha256: "6f933e43bf8150a41d76a188377e59007897dc87e96be30608e7f2007605d5c4" diff --git a/recipes/hlslpp/all/conanfile.py b/recipes/hlslpp/all/conanfile.py index 5e20f46efc9b0..89394902b2939 100644 --- a/recipes/hlslpp/all/conanfile.py +++ b/recipes/hlslpp/all/conanfile.py @@ -1,7 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -18,6 +20,14 @@ class HlslppConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return 11 + + @property + def _compilers_minimum_version(self): + return {"gcc": "6"} if Version(self.version) >= "3.3" else {} + def layout(self): basic_layout(self, src_folder="src") @@ -26,7 +36,12 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/hlslpp/config.yml b/recipes/hlslpp/config.yml index 199b902f23539..6f4aad719df58 100644 --- a/recipes/hlslpp/config.yml +++ b/recipes/hlslpp/config.yml @@ -1,7 +1,7 @@ versions: - "3.2.2": + "3.3.1": folder: all - "3.2": + "3.2.3": folder: all "3.1": folder: all From 9c4d063e93f10a7d1478bab4c99f4f2a58a41ef3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:27:49 +0100 Subject: [PATCH 2824/4087] (#21453) earcut: modernize more for conan v2 - add package_type - empty bindirs & libdirs in package_info() - no warning messages for "unknown compilers" --- recipes/earcut/all/conanfile.py | 51 ++++++++++--------- .../earcut/all/test_package/CMakeLists.txt | 4 +- recipes/earcut/all/test_package/conanfile.py | 12 ++--- .../{example.cpp => test_package.cpp} | 0 .../earcut/all/test_v1_package/conanfile.py | 2 +- 5 files changed, 35 insertions(+), 34 deletions(-) rename recipes/earcut/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/earcut/all/conanfile.py b/recipes/earcut/all/conanfile.py index 9ff1959d206ff..c1034e73dab2e 100644 --- a/recipes/earcut/all/conanfile.py +++ b/recipes/earcut/all/conanfile.py @@ -1,9 +1,12 @@ import os + from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.errors import ConanInvalidConfiguration + +required_conan_version = ">=1.50.0" class EarcutPackage(ConanFile): @@ -13,8 +16,9 @@ class EarcutPackage(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "ISC" topics = ("algorithm", "cpp", "geometry", "rendering", "triangulation", - "polygon", "header-only", "tessellation", "earcut") - settings = "compiler" + "polygon", "header-only", "tessellation") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property @@ -29,35 +33,35 @@ def _minimum_compilers_version(self): "gcc": "4.9", "intel": "15", "sun-cc": "5.14", - "Visual Studio": "12" + "Visual Studio": "12", + "msvc": "180", } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 11 + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) - def lazy_lt_semver(v1, v2): + def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] lv2 = [int(v) for v in v2.split(".")] min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - min_version = self._minimum_compilers_version.get( - str(self.settings.compiler)) - if not min_version: - self.output.warning( - f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") - else: - if lazy_lt_semver(str(self.settings.compiler.version), min_version): - raise ConanInvalidConfiguration( - f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") - - def layout(self): - basic_layout(self, src_folder="src") + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if min_version and loose_lt_semver(str(self.settings.compiler.version), min_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -71,12 +75,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "earcut_hpp") self.cpp_info.set_property("cmake_target_name", "earcut_hpp::earcut_hpp") - + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "earcut_hpp" - self.cpp_info.filenames["cmake_find_package_multi"] = "earcut_hpp" self.cpp_info.names["cmake_find_package"] = "earcut_hpp" self.cpp_info.names["cmake_find_package_multi"] = "earcut_hpp" - - def package_id(self): - self.info.clear() diff --git a/recipes/earcut/all/test_package/CMakeLists.txt b/recipes/earcut/all/test_package/CMakeLists.txt index a6d943d926668..c341471bb32de 100644 --- a/recipes/earcut/all/test_package/CMakeLists.txt +++ b/recipes/earcut/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(earcut_hpp REQUIRED CONFIG) -add_executable(${PROJECT_NAME} example.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE earcut_hpp::earcut_hpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/earcut/all/test_package/conanfile.py b/recipes/earcut/all/test_package/conanfile.py index 0246d899d7bc9..12503ced11f45 100644 --- a/recipes/earcut/all/test_package/conanfile.py +++ b/recipes/earcut/all/test_package/conanfile.py @@ -4,22 +4,22 @@ from conan.tools.cmake import CMake, cmake_layout -class EarcutTestPackage(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - def layout(self): cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") diff --git a/recipes/earcut/all/test_package/example.cpp b/recipes/earcut/all/test_package/test_package.cpp similarity index 100% rename from recipes/earcut/all/test_package/example.cpp rename to recipes/earcut/all/test_package/test_package.cpp diff --git a/recipes/earcut/all/test_v1_package/conanfile.py b/recipes/earcut/all/test_v1_package/conanfile.py index 0357a45cbaadf..a8c92dea63335 100644 --- a/recipes/earcut/all/test_v1_package/conanfile.py +++ b/recipes/earcut/all/test_v1_package/conanfile.py @@ -3,7 +3,7 @@ from conans import ConanFile, CMake, tools -class EarcutTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" From 63cee51e42b9134d13419c31cfea6fdf4f04444c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:47:34 +0100 Subject: [PATCH 2825/4087] (#21455) enum-flags: add package_type --- recipes/enum-flags/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/enum-flags/all/conanfile.py b/recipes/enum-flags/all/conanfile.py index 81ac78601093a..5d86c60a02e47 100644 --- a/recipes/enum-flags/all/conanfile.py +++ b/recipes/enum-flags/all/conanfile.py @@ -14,7 +14,7 @@ class EnumFlagsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("bitmask", "enum") license = "MIT" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "forbid_implicit_conversions": [True, False], @@ -36,8 +36,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From d37f9461e40ad7a2fa0869493af67c3545e9d2b6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:07:37 +0100 Subject: [PATCH 2826/4087] (#21457) eternal: add package_type & cleanup recipe --- recipes/eternal/all/conanfile.py | 12 +++--------- recipes/eternal/all/test_package/CMakeLists.txt | 3 +-- recipes/eternal/all/test_v1_package/CMakeLists.txt | 10 +++------- 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/recipes/eternal/all/conanfile.py b/recipes/eternal/all/conanfile.py index fd3a53c2138bb..e5e54e89f5ce3 100644 --- a/recipes/eternal/all/conanfile.py +++ b/recipes/eternal/all/conanfile.py @@ -7,7 +7,7 @@ import os -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.50.0" class EternalConan(ConanFile): @@ -17,6 +17,7 @@ class EternalConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mapbox/eternal" topics = ("hashing", "map", "constexpr", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -34,10 +35,6 @@ def _compilers_minimum_version(self): "apple-clang": "10", } - def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) - def layout(self): basic_layout(self, src_folder="src") @@ -52,8 +49,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -64,6 +60,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/eternal/all/test_package/CMakeLists.txt b/recipes/eternal/all/test_package/CMakeLists.txt index 8d5920de9d2e0..332722f9d1b68 100644 --- a/recipes/eternal/all/test_package/CMakeLists.txt +++ b/recipes/eternal/all/test_package/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(eternal REQUIRED CONFIG) diff --git a/recipes/eternal/all/test_v1_package/CMakeLists.txt b/recipes/eternal/all/test_v1_package/CMakeLists.txt index e900db203f73f..be00a8c7f57c7 100644 --- a/recipes/eternal/all/test_v1_package/CMakeLists.txt +++ b/recipes/eternal/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(eternal REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE eternal::eternal) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 56a4a58693611cb3d38c60b5f881001f43aef02b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:27:30 +0100 Subject: [PATCH 2827/4087] (#21458) fast-cpp-csv-parser: add package_type --- recipes/fast-cpp-csv-parser/all/conanfile.py | 13 +++++-------- .../all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 9 +++------ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/recipes/fast-cpp-csv-parser/all/conanfile.py b/recipes/fast-cpp-csv-parser/all/conanfile.py index f20fc50349a4e..8073da0d1b137 100644 --- a/recipes/fast-cpp-csv-parser/all/conanfile.py +++ b/recipes/fast-cpp-csv-parser/all/conanfile.py @@ -14,7 +14,7 @@ class FastcppcsvparserConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ben-strasser/fast-cpp-csv-parser" topics = ("csv", "parser", "header-only") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_thread": [True, False], @@ -25,6 +25,9 @@ class FastcppcsvparserConan(ConanFile): no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -32,12 +35,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -48,9 +47,7 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.includedirs.append(os.path.join("include", "fast-cpp-csv-parser")) if not self.options.with_thread: self.cpp_info.defines.append("CSV_IO_NO_THREAD") diff --git a/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py b/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py index ca068b831644c..ef08a7439d5d1 100644 --- a/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py +++ b/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt b/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt index c53b3fb245385..be00a8c7f57c7 100644 --- a/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt +++ b/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(fast-cpp-csv-parser REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE fast-cpp-csv-parser::fast-cpp-csv-parser) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 37772115e0136667d4b637168ba70fa0ab68ed7f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:47:39 +0100 Subject: [PATCH 2828/4087] (#21462) fast_double_parser: add package_type * add package_type * layout cci convention --- recipes/fast_double_parser/all/conanfile.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/recipes/fast_double_parser/all/conanfile.py b/recipes/fast_double_parser/all/conanfile.py index a704c8e783d7f..872d82f578707 100644 --- a/recipes/fast_double_parser/all/conanfile.py +++ b/recipes/fast_double_parser/all/conanfile.py @@ -14,12 +14,12 @@ class FastDoubleParserConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/lemire/fast_double_parser" license = ("Apache-2.0", "BSL-1.0") - + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" no_copy_source = True def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -29,10 +29,13 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): include_folder = os.path.join(self.source_folder, "include") copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=include_folder) copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From 74e6a01be5b452a0eded2334c5d56489b431d2ec Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:24:33 +0100 Subject: [PATCH 2829/4087] (#21463) fastprng: add package_type --- recipes/fastprng/all/conanfile.py | 19 +++++++++++-------- .../fastprng/all/test_package/conanfile.py | 1 - 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/recipes/fastprng/all/conanfile.py b/recipes/fastprng/all/conanfile.py index c83ba01f89440..5c6a15b03e066 100644 --- a/recipes/fastprng/all/conanfile.py +++ b/recipes/fastprng/all/conanfile.py @@ -9,16 +9,20 @@ class FastPRNGConan(ConanFile): name = "fastprng" - description = "FAST 32/64 bit PRNG (pseudo-random generator), highly optimized, based on xoshiro* / xoroshiro*, xorshift and other Marsaglia algorithms." + description = ( + "FAST 32/64 bit PRNG (pseudo-random generator), highly optimized, based " + "on xoshiro* / xoroshiro*, xorshift and other Marsaglia algorithms." + ) topics = ("random", "prng", "xorshift", "xoshiro", ) license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/BrutPitt/fastPRNG" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -28,13 +32,12 @@ def validate(self): check_min_cppstd(self, "11") def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "*.h", self.source_folder, os.path.join(self.package_folder, "include")) copy(self, "license.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fastprng/all/test_package/conanfile.py b/recipes/fastprng/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/fastprng/all/test_package/conanfile.py +++ b/recipes/fastprng/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From a58140aff047500022b36bcf77a1fef000498436 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:32:48 +0100 Subject: [PATCH 2830/4087] (#21464) gcem: add package_type --- recipes/gcem/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/gcem/all/conanfile.py b/recipes/gcem/all/conanfile.py index 90bc15dd9edc5..a5ff425216138 100644 --- a/recipes/gcem/all/conanfile.py +++ b/recipes/gcem/all/conanfile.py @@ -13,11 +13,12 @@ class GcemConan(ConanFile): description = "A C++ compile-time math library using generalized " \ "constant expressions." license = "Apache-2.0" - topics = ("gcem", "math", "header-only") + topics = ("math", "header-only") homepage = "https://github.com/kthohr/gcem" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "os", "arch", "compiler", "build_type", def layout(self): basic_layout(self, src_folder="src") @@ -30,8 +31,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 42df5cea4e0fd7e2fc2e014a426cc3bbea8290c6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:40:55 +0100 Subject: [PATCH 2831/4087] (#21465) ghc-filesystem: add package_type --- recipes/ghc-filesystem/all/conanfile.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/recipes/ghc-filesystem/all/conanfile.py b/recipes/ghc-filesystem/all/conanfile.py index e7b402102ac33..0f9f45315ad03 100644 --- a/recipes/ghc-filesystem/all/conanfile.py +++ b/recipes/ghc-filesystem/all/conanfile.py @@ -9,47 +9,46 @@ class GhcFilesystemRecipe(ConanFile): name = "ghc-filesystem" description = "A header-only single-file std::filesystem compatible helper library" - topics = ("ghc-filesystem", "header-only", "filesystem") + topics = ("header-only", "filesystem") homepage = "https://github.com/gulrak/filesystem" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): - cmake_layout(self) + cmake_layout(self, src_folder="src") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["GHC_FILESYSTEM_BUILD_TESTING"] = False tc.variables["GHC_FILESYSTEM_BUILD_EXAMPLES"] = False tc.variables["GHC_FILESYSTEM_WITH_INSTALL"] = True - tc.generate() + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder,"licenses"), src=self.source_folder) cmake = CMake(self) - cmake.configure() cmake.install() rmdir(self, os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ghc_filesystem") self.cpp_info.set_property("cmake_target_name", "ghcFilesystem::ghc_filesystem") - # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["ghc_filesystem"].bindirs = [] - self.cpp_info.components["ghc_filesystem"].frameworkdirs = [] - self.cpp_info.components["ghc_filesystem"].libdirs = [] - self.cpp_info.components["ghc_filesystem"].resdirs = [] + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "ghc_filesystem" @@ -59,3 +58,5 @@ def package_info(self): self.cpp_info.components["ghc_filesystem"].names["cmake_find_package"] = "ghc_filesystem" self.cpp_info.components["ghc_filesystem"].names["cmake_find_package_multi"] = "ghc_filesystem" self.cpp_info.components["ghc_filesystem"].set_property("cmake_target_name", "ghcFilesystem::ghc_filesystem") + self.cpp_info.components["ghc_filesystem"].bindirs = [] + self.cpp_info.components["ghc_filesystem"].libdirs = [] From c8bb43c517f913426f07ea1056ddeadb63838845 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:48:40 +0100 Subject: [PATCH 2832/4087] (#21466) gli: add package_type & fix target name --- recipes/gli/all/conanfile.py | 23 ++++++++++--------- recipes/gli/all/test_package/CMakeLists.txt | 2 +- .../gli/all/test_v1_package/CMakeLists.txt | 8 ------- recipes/gli/all/test_v1_package/conanfile.py | 17 -------------- 4 files changed, 13 insertions(+), 37 deletions(-) delete mode 100644 recipes/gli/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/gli/all/test_v1_package/conanfile.py diff --git a/recipes/gli/all/conanfile.py b/recipes/gli/all/conanfile.py index 7eb260e9e7202..0cb3644185589 100644 --- a/recipes/gli/all/conanfile.py +++ b/recipes/gli/all/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.files import copy, get, load, save from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.52.0" class GliConan(ConanFile): @@ -17,6 +16,7 @@ class GliConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/g-truc/gli" license = "LicenseRef-copying.txt" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -30,13 +30,15 @@ def _compilers_minimum_version(self): "gcc": "4.7", "clang": "3.4", "apple-clang": "6", + "Visual Studio": "12", + "msvc": "180", } def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glm/cci.20230113", transitive_headers=True) + self.requires("glm/cci.20230113") def package_id(self): self.info.clear() @@ -44,13 +46,12 @@ def package_id(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 180) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -72,6 +73,6 @@ def _get_license(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "gli") - self.cpp_info.set_property("cmake_target_name", "gli::gli") + self.cpp_info.set_property("cmake_target_name", "gli") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/gli/all/test_package/CMakeLists.txt b/recipes/gli/all/test_package/CMakeLists.txt index f7789e29322d3..928ba41028f6b 100644 --- a/recipes/gli/all/test_package/CMakeLists.txt +++ b/recipes/gli/all/test_package/CMakeLists.txt @@ -4,5 +4,5 @@ project(test_package LANGUAGES CXX) find_package(gli REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gli::gli) +target_link_libraries(${PROJECT_NAME} PRIVATE gli) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/gli/all/test_v1_package/CMakeLists.txt b/recipes/gli/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gli/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gli/all/test_v1_package/conanfile.py b/recipes/gli/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gli/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 6c3b55f6a5efb97bb5db7678bb4e64669734b945 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:07:43 +0100 Subject: [PATCH 2833/4087] (#21467) gnu-config: add package_type --- recipes/gnu-config/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/gnu-config/all/conanfile.py b/recipes/gnu-config/all/conanfile.py index 21b5d5bd14970..ad0c56aabe7bd 100644 --- a/recipes/gnu-config/all/conanfile.py +++ b/recipes/gnu-config/all/conanfile.py @@ -14,8 +14,8 @@ class GnuConfigConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("gnu", "config", "autotools", "canonical", "host", "build", "target", "triplet") license = "GPL-3.0-or-later", "autoconf-special-exception" + package_type = "build-scripts" os = "arch", "compiler", "build_type", "arch" - no_copy_source = True def export_sources(self): export_conandata_patches(self) @@ -27,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) From 5e1084c1aa0c52f3932f98f76a9873f21be8ea08 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:28:22 +0100 Subject: [PATCH 2834/4087] (#21468) godot_headers: add package_type --- recipes/godot_headers/all/conanfile.py | 4 ++-- recipes/godot_headers/all/test_v1_package/CMakeLists.txt | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/godot_headers/all/conanfile.py b/recipes/godot_headers/all/conanfile.py index 0a0d46219f9db..ed0b3120bd04c 100644 --- a/recipes/godot_headers/all/conanfile.py +++ b/recipes/godot_headers/all/conanfile.py @@ -13,6 +13,7 @@ class GodotHeadersConan(ConanFile): homepage = "https://github.com/godotengine/godot_headers" description = "Godot Native interface headers" topics = ("game-engine", "game-development") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/godot_headers/all/test_v1_package/CMakeLists.txt b/recipes/godot_headers/all/test_v1_package/CMakeLists.txt index 643dedc50d02a..de3b75d9538de 100644 --- a/recipes/godot_headers/all/test_v1_package/CMakeLists.txt +++ b/recipes/godot_headers/all/test_v1_package/CMakeLists.txt @@ -4,7 +4,5 @@ project(test_package LANGUAGES C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(godot_headers REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE godot_headers::godot_headers) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 9cc88551948cc60f1b46898c5d499bfe5e7dd00b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:47:25 +0100 Subject: [PATCH 2835/4087] (#21470) gzip-hpp: add package_type --- recipes/gzip-hpp/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/gzip-hpp/all/conanfile.py b/recipes/gzip-hpp/all/conanfile.py index 54790b6d2c564..8e576978736f7 100644 --- a/recipes/gzip-hpp/all/conanfile.py +++ b/recipes/gzip-hpp/all/conanfile.py @@ -16,6 +16,7 @@ class GzipHppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mapbox/gzip-hpp" topics = ("gzip", "zlib", "compression", "decompression", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -27,7 +28,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) + self.requires("zlib/[>=1.2.11 <2]") def package_id(self): self.info.clear() @@ -37,7 +38,7 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 4864f767d5bf6faa3633155ca1cc434c9d85da8d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:07:31 +0100 Subject: [PATCH 2836/4087] (#21471) half: add package_type --- recipes/half/all/conanfile.py | 13 ++++++------- recipes/half/all/test_package/conanfile.py | 7 ++++--- recipes/half/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/recipes/half/all/conanfile.py b/recipes/half/all/conanfile.py index 64b104957470d..07e6b8fcf90e0 100644 --- a/recipes/half/all/conanfile.py +++ b/recipes/half/all/conanfile.py @@ -15,20 +15,21 @@ class HalfConan(ConanFile): "functions." ) license = "MIT" - topics = ("half", "half-precision", "float", "arithmetic") + topics = ("half-precision", "float", "arithmetic") homepage = "https://sourceforge.net/projects/half" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version]) def build(self): pass @@ -39,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/half/all/test_package/conanfile.py b/recipes/half/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/half/all/test_package/conanfile.py +++ b/recipes/half/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/half/all/test_v1_package/CMakeLists.txt b/recipes/half/all/test_v1_package/CMakeLists.txt index c8aa9412f7287..b21cc49efde95 100644 --- a/recipes/half/all/test_v1_package/CMakeLists.txt +++ b/recipes/half/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(half REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE half::half) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 170d7442379b3a3de2aada503d2a4aab2248f098 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:27:37 +0100 Subject: [PATCH 2837/4087] (#21472) hedley: add package_type --- recipes/hedley/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/hedley/all/conanfile.py b/recipes/hedley/all/conanfile.py index 835a13a80a59b..b59e08a89ffbb 100644 --- a/recipes/hedley/all/conanfile.py +++ b/recipes/hedley/all/conanfile.py @@ -13,6 +13,7 @@ class HedleyConan(ConanFile): homepage = "https://nemequ.github.io/hedley/" description = "A C/C++ header to help move #ifdefs out of your code" topics = ("header", "header-only", "preprocessor", "#ifdef", "cross-platform") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 9c3b049a30a8615e05a983491514fd0622bcf2ee Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:47:28 +0100 Subject: [PATCH 2838/4087] (#21473) hffix: add package_type --- recipes/hffix/all/conanfile.py | 14 +++++--------- recipes/hffix/all/test_package/CMakeLists.txt | 2 +- recipes/hffix/all/test_package/conanfile.py | 7 ++++--- recipes/hffix/all/test_v1_package/CMakeLists.txt | 10 ++++------ 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/recipes/hffix/all/conanfile.py b/recipes/hffix/all/conanfile.py index b8be09b23ee81..daed63ba031a6 100644 --- a/recipes/hffix/all/conanfile.py +++ b/recipes/hffix/all/conanfile.py @@ -13,20 +13,18 @@ class HffixConan(ConanFile): topics = ("fixprotocol", "financial") homepage = "https://github.com/jamesdbrock/hffix" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,5 +36,3 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.frameworkdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/hffix/all/test_package/CMakeLists.txt b/recipes/hffix/all/test_package/CMakeLists.txt index bea843560a088..c27ed0c7d9302 100644 --- a/recipes/hffix/all/test_package/CMakeLists.txt +++ b/recipes/hffix/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(hffix REQUIRED CONFIG) diff --git a/recipes/hffix/all/test_package/conanfile.py b/recipes/hffix/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/hffix/all/test_package/conanfile.py +++ b/recipes/hffix/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/hffix/all/test_v1_package/CMakeLists.txt b/recipes/hffix/all/test_v1_package/CMakeLists.txt index 31a17e5e32684..b21cc49efde95 100644 --- a/recipes/hffix/all/test_v1_package/CMakeLists.txt +++ b/recipes/hffix/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(hffix REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE hffix::hffix) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 02a4dcab6341431cbf55baa36d3e3de739fab0b0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:08:01 +0100 Subject: [PATCH 2839/4087] (#21474) highfive: add package_type + bump opencv * add package_type * bump opencv --- recipes/highfive/all/conanfile.py | 8 +++----- recipes/highfive/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index c3667bcf95e14..d86d1301d6ab8 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -16,7 +16,7 @@ class HighFiveConan(ConanFile): topics = ("hdf5", "hdf", "data") homepage = "https://github.com/BlueBrain/HighFive" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_boost": [True, False], @@ -48,7 +48,7 @@ def requirements(self): if self.options.with_xtensor: self.requires("xtensor/0.24.7") if self.options.with_opencv: - self.requires("opencv/4.5.5") + self.requires("opencv/4.8.1") def package_id(self): self.info.clear() @@ -58,8 +58,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -128,7 +127,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "HighFive") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.requires = ["hdf5::hdf5"] if self.options.with_boost: self.cpp_info.requires.append("boost::headers") diff --git a/recipes/highfive/all/test_v1_package/CMakeLists.txt b/recipes/highfive/all/test_v1_package/CMakeLists.txt index 671f071b8ed9f..b21cc49efde95 100644 --- a/recipes/highfive/all/test_v1_package/CMakeLists.txt +++ b/recipes/highfive/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(HighFive REQUIRED CONFIG) - -add_executable(test_package ../test_package/test_package.cpp) -target_link_libraries(test_package PRIVATE HighFive) -target_compile_features(test_package PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 19bc3f238858ff249e3f8f8d42181e91a4dc49a4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:27:36 +0100 Subject: [PATCH 2840/4087] (#21477) ginkgo: cmake >= 3.16 required for ginkgo >= 1.7.0 only --- recipes/ginkgo/all/conanfile.py | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/recipes/ginkgo/all/conanfile.py b/recipes/ginkgo/all/conanfile.py index 6c4dd324e58d0..89bbd2a608d1e 100644 --- a/recipes/ginkgo/all/conanfile.py +++ b/recipes/ginkgo/all/conanfile.py @@ -57,9 +57,6 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def build_requirements(self): - self.tool_requires("cmake/[>=3.16 <4]") - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -87,20 +84,19 @@ def loose_lt_semver(v1, v2): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - is_windows_shared = self.options.shared and is_msvc(self) + if is_msvc(self) and self.options.shared: + if self.settings.build_type == "Debug" and Version(self.version) >= "1.7.0": + raise ConanInvalidConfiguration( + "Ginkgo >= 1.7.0 cannot be built in shared debug mode on Windows" + ) + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration( + "Ginkgo does not support mixing static CRT and shared library" + ) - if ( - is_windows_shared - and self.settings.build_type == "Debug" - and Version(self.version) >= "1.7.0" - ): - raise ConanInvalidConfiguration( - "Ginkgo >= 1.7.0 cannot be built in shared debug mode on Windows" - ) - if is_windows_shared and is_msvc_static_runtime(self): - raise ConanInvalidConfiguration( - "Ginkgo does not support mixing static CRT and shared library" - ) + def build_requirements(self): + if Version(self.version) >= "1.7.0": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c228453498060a80e87bcc40d819117d0e198504 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:47:28 +0100 Subject: [PATCH 2841/4087] (#21478) im95able-rea: add package_type --- recipes/im95able-rea/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/im95able-rea/all/conanfile.py b/recipes/im95able-rea/all/conanfile.py index 74423119b2602..66b814aa4851f 100644 --- a/recipes/im95able-rea/all/conanfile.py +++ b/recipes/im95able-rea/all/conanfile.py @@ -18,6 +18,7 @@ class Im95ableReaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/im95able/Rea/" topics = ("slot_map", "slot_list", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property From 8e48a2b77597ff6eafe5f727d5496e5cb0e0d10d Mon Sep 17 00:00:00 2001 From: temap Date: Thu, 30 Nov 2023 06:07:40 +0200 Subject: [PATCH 2842/4087] (#21484) libxslt/all: bump libxml2 --- recipes/libxslt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index b8980d5d2465d..6e5032ab98195 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): def requirements(self): # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.11.4", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From accd225418f0135e3efe042dc87c5cdb78760962 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 15:27:32 +0900 Subject: [PATCH 2843/4087] (#21486) glaze: add version 1.8.2 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 0f33621d3e035..ad3008a3795df 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.2": + url: "https://github.com/stephenberry/glaze/archive/v1.8.2.tar.gz" + sha256: "dddc7b9c87739e0266a6a868316e692975651e9e77684cfb7d3a6a4be32c95fc" "1.8.1": url: "https://github.com/stephenberry/glaze/archive/v1.8.1.tar.gz" sha256: "ea804976d55a27e6df49390c3ec8600daea0c72780ea7094d79d1edcbe525fcd" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index c83a25c985852..c312a071c43c9 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.2": + folder: all "1.8.1": folder: all "1.7.0": From 5fd0bc87f6f9c93cdfdef882eab6009936d8c373 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 08:20:15 +0100 Subject: [PATCH 2844/4087] (#21479) incbin: set empty bindirs & libdirs since it's header-only --- recipes/incbin/all/conanfile.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/incbin/all/conanfile.py b/recipes/incbin/all/conanfile.py index 2e27608fee20f..446fadbc04892 100644 --- a/recipes/incbin/all/conanfile.py +++ b/recipes/incbin/all/conanfile.py @@ -16,12 +16,15 @@ class IncbinConan(ConanFile): homepage = "https://github.com/graphitemaster/incbin/" topics = ("include", "binary", "preprocess", "header-only") package_type = "header-library" - settings = "compiler" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def validate(self): if is_msvc(self): raise ConanInvalidConfiguration("Currently incbin recipe is not supported for Visual Studio because it requires external command 'incbin'.") @@ -33,5 +36,6 @@ def package(self): copy(self, "UNLICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy(self, "incbin.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.clear() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From eefcc70337fb431252cb30f0533140252565d5fa Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 08:29:55 +0100 Subject: [PATCH 2845/4087] (#21476) homog2d: add package_type --- recipes/homog2d/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/homog2d/all/conanfile.py b/recipes/homog2d/all/conanfile.py index 126a1b155e8d7..ba7c79a56f0f0 100644 --- a/recipes/homog2d/all/conanfile.py +++ b/recipes/homog2d/all/conanfile.py @@ -15,6 +15,7 @@ class Homog2dConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/skramm/homog2d" topics = ("computational-geometry", "homography", "2d-geometric", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property From e589d90a96d22318a1a6d7b004d66b207fc02fc4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 08:39:43 +0100 Subject: [PATCH 2846/4087] (#21481) indicators: add package_type + explicit cmake names * add package_type * explicit cmake names since there is a config file upstream * fix required_conan_version 1.50.0 is sufficient --- recipes/indicators/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/indicators/all/conanfile.py b/recipes/indicators/all/conanfile.py index e0917bf5ba07b..fa47f76cede99 100644 --- a/recipes/indicators/all/conanfile.py +++ b/recipes/indicators/all/conanfile.py @@ -7,7 +7,8 @@ from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.50.0" + class IndicatorsConan(ConanFile): name = "indicators" @@ -16,6 +17,7 @@ class IndicatorsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/p-ranav/indicators" topics = ("activity", "indicator", "loading", "spinner", "animation", "progress", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -47,6 +49,8 @@ def package(self): copy(self, pattern="*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "indicators") + self.cpp_info.set_property("cmake_target_name", "indicators::indicators") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From 590955cdaabfe730afcc6c7b4d5bc1e8f8967dea Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 16:48:02 +0900 Subject: [PATCH 2847/4087] (#21482) itlib: add version 1.10.3 --- recipes/itlib/all/conandata.yml | 3 +++ recipes/itlib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/itlib/all/conandata.yml b/recipes/itlib/all/conandata.yml index 3f5420a88ffc2..4f1d604b9b789 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.3": + url: "https://github.com/iboB/itlib/archive/v1.10.3.tar.gz" + sha256: "e533c44354d48b2251ca57f1502778033b38170d9d6aba6bb2bbad90f2bf9d27" "1.10.0": url: "https://github.com/iboB/itlib/archive/v1.10.0.tar.gz" sha256: "a97b98514aa7194241383b537c368a01d4a56e05316a94551cd183a986caa9c7" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index b9ca7db67bf08..09616d2e081cf 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.3": + folder: all "1.10.0": folder: all "1.9.2": From 0e5515a951dceac98a1ec96c45ed5d0facefe364 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 30 Nov 2023 13:15:49 +0100 Subject: [PATCH 2848/4087] (#21400) qt 6.6.1 * qt 6.6.1 generated with: ``` conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.6.1 ``` * disable xcode < 13.1 * fixup * remove old versions * also remove from config.yml --- recipes/qt/6.x.x/conandata.yml | 76 +--- recipes/qt/6.x.x/conanfile.py | 3 + .../patches/qt6.5.0-pri-helpers-fix.diff | 15 - recipes/qt/6.x.x/qtmodules6.2.4.conf | 299 ---------------- recipes/qt/6.x.x/qtmodules6.4.1.conf | 318 ----------------- recipes/qt/6.x.x/qtmodules6.5.0.conf | 331 ------------------ recipes/qt/6.x.x/qtmodules6.5.2.conf | 331 ------------------ ...tmodules6.5.1.conf => qtmodules6.6.1.conf} | 91 ++--- recipes/qt/config.yml | 8 +- 9 files changed, 64 insertions(+), 1408 deletions(-) delete mode 100644 recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff delete mode 100644 recipes/qt/6.x.x/qtmodules6.2.4.conf delete mode 100644 recipes/qt/6.x.x/qtmodules6.4.1.conf delete mode 100644 recipes/qt/6.x.x/qtmodules6.5.0.conf delete mode 100644 recipes/qt/6.x.x/qtmodules6.5.2.conf rename recipes/qt/6.x.x/{qtmodules6.5.1.conf => qtmodules6.6.1.conf} (88%) diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index c7703da5dc28f..cb7797f109eaf 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,10 @@ sources: + "6.6.1": + url: + - "https://download.qt.io/official_releases/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" + - "https://download.qt.io/archive/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" + sha256: "dd3668f65645fe270bc615d748bd4dc048bd17b9dc297025106e6ecc419ab95d" "6.6.0": url: - "https://download.qt.io/official_releases/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" @@ -40,54 +46,6 @@ sources: - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" sha256: "7cda4d119aad27a3887329cfc285f2aba5da85601212bcb0aea27bd6b7b544cb" - "6.5.2": - url: - - "https://download.qt.io/official_releases/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://download.qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://master.qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - sha256: "cde57be663d0f875759797298bdc37a936d517c39f2013e4e6ece5e12edeed12" - "6.5.1": - url: - - "https://download.qt.io/official_releases/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://download.qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp1.nluug.nl/languages/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp2.nluug.nl/languages/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://master.qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - sha256: "a2d88a6f8c3835dca52f3b7433149c3de606a96bbf024640c27657276cc7350a" - "6.5.0": - url: - - "https://download.qt.io/official_releases/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://download.qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp1.nluug.nl/languages/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp2.nluug.nl/languages/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://master.qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - sha256: "dba376e110e53895c7c827eea389dc12aa9c45862cd197d2f0d37ee472baf0b0" "6.4.2": url: - "https://download.qt.io/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" @@ -105,32 +63,18 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: - "6.6.0": + "6.6.1": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" - "6.5.3": + "6.6.0": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" - "patch_file": "patches/c72097e.diff" - "6.5.2": + "patch_file": "patches/c72097e_6.6.0.diff" + "6.5.3": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e.diff" - "6.5.1": - - base_path: "qtwebengine" - patch_description: "Workaround for too long .rps file name" - patch_file: "patches/c72097e.diff" - - base_path: "qtbase/cmake" - patch_description: "Fix pri helpers, see PR #6668 and QTBUG-95569" - patch_file: "patches/qt6.5.0-pri-helpers-fix.diff" - "6.5.0": - - base_path: "qtwebengine" - patch_description: "Workaround for too long .rps file name" - patch_file: "patches/c72097e.diff" - - base_path: "qtbase/cmake" - patch_description: "Fix pri helpers, see PR #6668 and QTBUG-95569" - patch_file: "patches/qt6.5.0-pri-helpers-fix.diff" "6.4.2": - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index e2aed1b2ad68e..6113ac9cd6f54 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -253,6 +253,9 @@ def validate(self): if Version(self.version) >= "6.4.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "12": raise ConanInvalidConfiguration("apple-clang >= 12 required by qt >= 6.4.0") + if Version(self.version) >= "6.6.1" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "13.1": + raise ConanInvalidConfiguration("apple-clang >= 13.1 is required by qt >= 6.6.1 cf QTBUG-119490") + if self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): raise ConanInvalidConfiguration("Qt needs recent libstdc++, with charconv. please switch to gcc, or to libc++") diff --git a/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff b/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff deleted file mode 100644 index 47eb2e5ecb95f..0000000000000 --- a/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- QtPriHelpers.cmake 2023-05-12 12:40:15.000000000 +0800 -+++ QtPriHelpers.cmake 2023-07-06 11:39:58.305927536 +0800 -@@ -33,7 +33,11 @@ - if(lib_target_type STREQUAL "INTERFACE_LIBRARY") - get_target_property(iface_libs ${lib_target} INTERFACE_LINK_LIBRARIES) - if(iface_libs) -- list(PREPEND lib_targets ${iface_libs}) -+ foreach (iface_lib ${iface_libs}) -+ if (NOT "${iface_lib}" STREQUAL "${lib_target}") -+ list(PREPEND lib_targets ${iface_lib}) -+ endif () -+ endforeach () - endif() - else() - list(APPEND lib_libs "$") diff --git a/recipes/qt/6.x.x/qtmodules6.2.4.conf b/recipes/qt/6.x.x/qtmodules6.2.4.conf deleted file mode 100644 index 92bee3c5b0551..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.2.4.conf +++ /dev/null @@ -1,299 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.2.4 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.2.4 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.2.4 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.2.4 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.2.4 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.2.4 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = 6.2.4 - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.2.4 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.2.4 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.2.4 - status = ignore -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.2.4 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.2.4 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.2.4 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.2.4 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.2.4 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.2.4 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.2.4 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.2.4 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.2.4 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.2.4 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.2.4 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = 6.2.4 - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.2.4 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.2.4 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.2.4 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.2.4 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = 6.2.4 - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.2.4 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.2.4 - status = ignore -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.2.4 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.2.4 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = 6.2.4 - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.2.4 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.2.4 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.2.4 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.2.4 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.2.4 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.2.4 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.2.4 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.2.4 - status = addon \ No newline at end of file diff --git a/recipes/qt/6.x.x/qtmodules6.4.1.conf b/recipes/qt/6.x.x/qtmodules6.4.1.conf deleted file mode 100644 index 0ab0c4ef10277..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.4.1.conf +++ /dev/null @@ -1,318 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.4.1 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.4.1 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.4.1 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.4.1 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.4.1 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.4.1 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.4.1 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.4.1 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = dev - status = ignore -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.4.1 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.4.1 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.4.1 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.4.1 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.4.1 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.4.1 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.4.1 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.4.1 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.4.1 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.4.1 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.4.1 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.4.1 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.4.1 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.4.1 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.4.1 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.4.1 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.4.1 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.4.1 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.4.1 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.4.1 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.4.1 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.4.1 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.4.1 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.4.1 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.4.1 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.4.1 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.4.1 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.4.1 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.4.1 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.4.1 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.5.0.conf b/recipes/qt/6.x.x/qtmodules6.5.0.conf deleted file mode 100644 index 809df6bd31582..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.5.0.conf +++ /dev/null @@ -1,331 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.5.0 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.5.0 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.5.0 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.5.0 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.5.0 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.5.0 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.5.0 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.5.0 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.5.0 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.5.0 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.5.0 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.5.0 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.5.0 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.5.0 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.5.0 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.5.0 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.5.0 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.5.0 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.5.0 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.5.0 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.5.0 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.5.0 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.5.0 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.5.0 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.5.0 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.5.0 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.5.0 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.5.0 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.5.0 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.5.0 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.5.0 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.5.0 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.5.0 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.5.0 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.5.0 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.5.0 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.5.0 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.5.0 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.5.0 - status = addon -[submodule "qtgrpc"] - depends = qtbase - path = qtgrpc - url = ../qtgrpc.git - branch = 6.5.0 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.5.0 - status = addon diff --git a/recipes/qt/6.x.x/qtmodules6.5.2.conf b/recipes/qt/6.x.x/qtmodules6.5.2.conf deleted file mode 100644 index b8053b7bdfcc3..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.5.2.conf +++ /dev/null @@ -1,331 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.5.2 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.5.2 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.5.2 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.5.2 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.5.2 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.5.2 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.5.2 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.5.2 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.5.2 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.5.2 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.5.2 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.5.2 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.5.2 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.5.2 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.5.2 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.5.2 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.5.2 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.5.2 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.5.2 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.5.2 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.5.2 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.5.2 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.5.2 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.5.2 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.5.2 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.5.2 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.5.2 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.5.2 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.5.2 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.5.2 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.5.2 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.5.2 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.5.2 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.5.2 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.5.2 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.5.2 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.5.2 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.5.2 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.5.2 - status = addon -[submodule "qtgrpc"] - depends = qtbase - path = qtgrpc - url = ../qtgrpc.git - branch = 6.5.2 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.5.2 - status = addon diff --git a/recipes/qt/6.x.x/qtmodules6.5.1.conf b/recipes/qt/6.x.x/qtmodules6.6.1.conf similarity index 88% rename from recipes/qt/6.x.x/qtmodules6.5.1.conf rename to recipes/qt/6.x.x/qtmodules6.6.1.conf index 32adb4f64f412..3d1fa112d7390 100644 --- a/recipes/qt/6.x.x/qtmodules6.5.1.conf +++ b/recipes/qt/6.x.x/qtmodules6.6.1.conf @@ -1,40 +1,40 @@ [submodule "qtbase"] path = qtbase url = ../qtbase.git - branch = 6.5.1 + branch = 6.6.1 status = essential [submodule "qtsvg"] depends = qtbase path = qtsvg url = ../qtsvg.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtdeclarative"] depends = qtbase recommends = qtimageformats qtshadertools qtsvg qtlanguageserver path = qtdeclarative url = ../qtdeclarative.git - branch = 6.5.1 + branch = 6.6.1 status = essential [submodule "qtactiveqt"] depends = qtbase path = qtactiveqt url = ../qtactiveqt.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtmultimedia"] depends = qtbase qtshadertools recommends = qtdeclarative qtquick3d path = qtmultimedia url = ../qtmultimedia.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qttools"] depends = qtbase recommends = qtdeclarative qtactiveqt path = qttools url = ../qttools.git - branch = 6.5.1 + branch = 6.6.1 status = essential [submodule "qtxmlpatterns"] depends = qtbase @@ -47,7 +47,7 @@ depends = qttools path = qttranslations url = ../qttranslations.git - branch = 6.5.1 + branch = 6.6.1 status = essential priority = 30 [submodule "qtdoc"] @@ -55,7 +55,7 @@ recommends = qtmultimedia qtshadertools qtwebengine path = qtdoc url = ../qtdoc.git - branch = 6.5.1 + branch = 6.6.1 status = essential priority = 40 [submodule "qtrepotools"] @@ -76,21 +76,21 @@ recommends = qtdeclarative path = qtlocation url = ../qtlocation.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qtpositioning"] depends = qtbase recommends = qtdeclarative qtserialport path = qtpositioning url = ../qtpositioning.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtsensors"] depends = qtbase recommends = qtdeclarative path = qtsensors url = ../qtsensors.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtsystems"] depends = qtbase @@ -117,61 +117,61 @@ recommends = qtdeclarative path = qtconnectivity url = ../qtconnectivity.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwayland"] depends = qtbase recommends = qtdeclarative path = qtwayland url = ../qtwayland.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qt3d"] depends = qtbase - recommends = qtdeclarative qtshadertools + recommends = qtdeclarative qtshadertools qtmultimedia path = qt3d url = ../qt3d.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtimageformats"] depends = qtbase path = qtimageformats url = ../qtimageformats.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtserialbus"] depends = qtbase recommends = qtserialport path = qtserialbus url = ../qtserialbus.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtserialport"] depends = qtbase path = qtserialport url = ../qtserialport.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebsockets"] depends = qtbase recommends = qtdeclarative path = qtwebsockets url = ../qtwebsockets.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebchannel"] depends = qtbase recommends = qtdeclarative qtwebsockets path = qtwebchannel url = ../qtwebchannel.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebengine"] depends = qtdeclarative recommends = qtwebchannel qttools qtpositioning path = qtwebengine url = ../qtwebengine.git - branch = 6.5.1 + branch = 6.6.1 status = addon priority = 10 [submodule "qtcanvas3d"] @@ -185,28 +185,28 @@ recommends = qtwebengine path = qtwebview url = ../qtwebview.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtcharts"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtcharts url = ../qtcharts.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtdatavis3d"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtdatavis3d url = ../qtdatavis3d.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtvirtualkeyboard"] depends = qtbase qtdeclarative qtsvg recommends = qtmultimedia path = qtvirtualkeyboard url = ../qtvirtualkeyboard.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtgamepad"] depends = qtbase @@ -219,27 +219,27 @@ depends = qtbase qtdeclarative path = qtscxml url = ../qtscxml.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtspeech"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtspeech url = ../qtspeech.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtnetworkauth"] depends = qtbase path = qtnetworkauth url = ../qtnetworkauth.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtremoteobjects"] depends = qtbase recommends = qtdeclarative path = qtremoteobjects url = ../qtremoteobjects.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebglplugin"] depends = qtbase qtwebsockets @@ -252,80 +252,87 @@ depends = qtbase qtdeclarative path = qtlottie url = ../qtlottie.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtquicktimeline"] depends = qtbase qtdeclarative path = qtquicktimeline url = ../qtquicktimeline - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtquick3d"] depends = qtbase qtdeclarative qtshadertools recommends = qtquicktimeline path = qtquick3d url = ../qtquick3d.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtshadertools"] depends = qtbase path = qtshadertools url = ../qtshadertools.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qt5compat"] depends = qtbase qtdeclarative path = qt5compat url = ../qt5compat.git - branch = 6.5.1 + branch = 6.6.1 status = deprecated [submodule "qtcoap"] depends = qtbase path = qtcoap url = ../qtcoap.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtmqtt"] depends = qtbase qtdeclarative path = qtmqtt url = ../qtmqtt.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtopcua"] depends = qtbase qtdeclarative path = qtopcua url = ../qtopcua.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtlanguageserver"] depends = qtbase path = qtlanguageserver url = ../qtlanguageserver.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qthttpserver"] depends = qtbase recommends = qtwebsockets path = qthttpserver url = ../qthttpserver.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qtquick3dphysics"] depends = qtbase qtdeclarative qtquick3d qtshadertools path = qtquick3dphysics url = ../qtquick3dphysics.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtgrpc"] depends = qtbase + recommends = qtdeclarative path = qtgrpc url = ../qtgrpc.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qtquickeffectmaker"] depends = qtbase qtdeclarative qtshadertools recommends = qtquick3d path = qtquickeffectmaker url = ../qtquickeffectmaker.git - branch = 6.5.1 + branch = 6.6.1 status = addon +[submodule "qtgraphs"] + depends = qtbase qtdeclarative qtquick3d + path = qtgraphs + url = ../qtgraphs.git + branch = 6.6.1 + status = preview diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 787fe5656bf21..a8db7bd315aab 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,14 +1,10 @@ versions: + "6.6.1": + folder: 6.x.x "6.6.0": folder: 6.x.x "6.5.3": folder: 6.x.x - "6.5.2": - folder: 6.x.x - "6.5.1": - folder: 6.x.x - "6.5.0": - folder: 6.x.x "6.4.2": folder: 6.x.x "6.3.2": From fa6b08c4da31c62ca6deeae7cd36353c9669b281 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 23:03:19 +0900 Subject: [PATCH 2849/4087] (#20247) mosquitto: add version 2.0.18, update dependencies, add package_type --- recipes/mosquitto/2.x/conandata.yml | 3 +++ recipes/mosquitto/2.x/conanfile.py | 7 ++++--- recipes/mosquitto/config.yml | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/mosquitto/2.x/conandata.yml b/recipes/mosquitto/2.x/conandata.yml index 622f72a77af8b..8200a378ca1b5 100644 --- a/recipes/mosquitto/2.x/conandata.yml +++ b/recipes/mosquitto/2.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.18": + url: "https://github.com/eclipse/mosquitto/archive/v2.0.18.tar.gz" + sha256: "25499231664bc5338f9f05eb1815f4d5878f0c6c97e03afb3463a7b139a7e775" "2.0.15": url: "https://github.com/eclipse/mosquitto/archive/v2.0.15.tar.gz" sha256: "26dc3f1758b00c1725a0e4dd32f40c61f374375717f09b6af2bac62c5b44f1eb" diff --git a/recipes/mosquitto/2.x/conanfile.py b/recipes/mosquitto/2.x/conanfile.py index 6af30191cdf13..c221f41ff8ca8 100644 --- a/recipes/mosquitto/2.x/conanfile.py +++ b/recipes/mosquitto/2.x/conanfile.py @@ -12,11 +12,12 @@ class Mosquitto(ConanFile): name = "mosquitto" + description = """Eclipse Mosquitto MQTT library, broker and more""" license = "EPL-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://mosquitto.org" - description = """Eclipse Mosquitto MQTT library, broker and more""" topics = ("MQTT", "IoT", "eclipse") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,9 +67,9 @@ def requirements(self): if self.options.ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("cjson"): - self.requires("cjson/1.7.14") + self.requires("cjson/1.7.16") if self.options.get_safe("websockets"): - self.requires("libwebsockets/4.2.0") + self.requires("libwebsockets/4.3.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/mosquitto/config.yml b/recipes/mosquitto/config.yml index 7627743e2625f..0e19ca6c8d04b 100644 --- a/recipes/mosquitto/config.yml +++ b/recipes/mosquitto/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.18": + folder: "2.x" "2.0.15": folder: "2.x" "2.0.14": From 3d66a5e7d536448462ca4a8ef4c32acd7a1a1624 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 1 Dec 2023 10:57:03 +0100 Subject: [PATCH 2850/4087] (#20870) harfbuzz: add with_coretext option --- recipes/harfbuzz/all/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index d4c8b382c09ed..ea4c431577332 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -34,6 +34,7 @@ class HarfbuzzConan(ConanFile): "with_uniscribe": [True, False], "with_directwrite": [True, False], "with_subset": [True, False], + "with_coretext": [True, False], } default_options = { "shared": False, @@ -45,6 +46,7 @@ class HarfbuzzConan(ConanFile): "with_uniscribe": True, "with_directwrite": False, "with_subset": False, + "with_coretext": True, } short_paths = True @@ -63,6 +65,8 @@ def config_options(self): del self.options.with_gdi del self.options.with_uniscribe del self.options.with_directwrite + if not is_apple_os(self): + del self.options.with_coretext def configure(self): if self.options.shared: @@ -142,6 +146,7 @@ def is_vs_2017(): "icu": is_enabled(self.options.with_icu), "freetype": is_enabled(self.options.with_freetype), "gdi": is_enabled(self.options.get_safe("with_gdi")), + "coretext": is_enabled(self.options.get_safe("with_coretext")), "directwrite": is_enabled(self.options.get_safe("with_directwrite")), "gobject": is_enabled(can_run(self) and self.options.with_glib), "introspection": is_enabled(False), From d783b0d0229a291a1018d9ccea1c1c7a95071dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 14:47:37 +0100 Subject: [PATCH 2851/4087] (#21546) Add Juan as team member --- .c3i/authorized_users.yml | 1 + .c3i/reviewers.yml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 0cbf772510706..a11ae5706964d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1245,3 +1245,4 @@ authorized_users: - har-bw - abedra - bennettgoble +- juansblanco diff --git a/.c3i/reviewers.yml b/.c3i/reviewers.yml index 8f6463b4a33c6..3578b7dccdc68 100644 --- a/.c3i/reviewers.yml +++ b/.c3i/reviewers.yml @@ -84,3 +84,6 @@ reviewers: - user: "davidsanfal" type: "team" request_reviews: false + - user: "juansblanco" + type: "team" + request_reviews: false From 3148417879da905b64b4ab230b8476417b1d9661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 14:52:46 +0100 Subject: [PATCH 2852/4087] (#21538) glog: Bump deps to fix conflicts --- recipes/glog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/glog/all/conanfile.py b/recipes/glog/all/conanfile.py index f0db480178e58..7e06e74b5074e 100644 --- a/recipes/glog/all/conanfile.py +++ b/recipes/glog/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): self.requires("gflags/2.2.2", transitive_headers=True, transitive_libs=True) # 0.4.0 requires libunwind unconditionally if self.options.get_safe("with_unwind") or (Version(self.version) < "0.5.0" and self.settings.os in ["Linux", "FreeBSD"]): - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.2") def build_requirements(self): if Version(self.version) >= "0.6.0": From 0bfd6da773f1cd22c687f293025850e215e770ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 15:12:31 +0100 Subject: [PATCH 2853/4087] (#21540) libtiff: Bump deps to fix conflicts --- recipes/libtiff/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index efce29ff02503..6904690444761 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -67,13 +67,13 @@ def requirements(self): if self.options.libdeflate: self.requires("libdeflate/1.19") if self.options.lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/4.1.5") if self.options.jbig: self.requires("jbig/20160605") if self.options.zstd: From d66018d81e48e2fcdf3d3e82ed1c846fe654b0c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 15:32:35 +0100 Subject: [PATCH 2854/4087] (#21541) libunwind: Bump deps to fix conflicts --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 4739138df383b..002c9bf613f23 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if self.options.minidebuginfo: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.zlibdebuginfo: self.requires("zlib/[>=1.2.11 <2]") From d8020fdb6317e31ed040e361ed12412660ea7ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 15:52:41 +0100 Subject: [PATCH 2855/4087] (#21542) libwebsockets: Bump deps to fix conflicts --- recipes/libwebsockets/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index 4bd1dccf1a09f..0fd0cf66a67ea 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -215,10 +215,10 @@ def requirements(self): if self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") elif self.options.with_zlib == "miniz": - self.requires("miniz/2.2.0") + self.requires("miniz/3.0.2") if self.options.with_libmount: - self.requires("libmount/2.39") + self.requires("libmount/2.39.2") if self.options.with_sqlite3: self.requires("sqlite3/3.44.2") @@ -227,9 +227,9 @@ def requirements(self): # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail self.requires("openssl/1.1.1w", transitive_headers=True) elif self.options.with_ssl == "mbedtls": - self.requires("mbedtls/2.25.0") + self.requires("mbedtls/3.5.0") elif self.options.with_ssl == "wolfssl": - self.requires("wolfssl/4.8.1") + self.requires("wolfssl/5.6.3") def validate(self): if self.options.shared and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": From 2c0e6a2efc898eab8052218ede54cc2ef184d594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 16:12:54 +0100 Subject: [PATCH 2856/4087] (#21543) libzip: Bump deps to fix conflicts --- recipes/libzip/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index f1b7abe19d90c..ef4f7c2c57579 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.get_safe("with_zstd"): self.requires("zstd/1.5.5") From e149e5799e85ab72a3e2442481ca272a7f3be9a8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 2 Dec 2023 17:41:06 +0200 Subject: [PATCH 2857/4087] (#20355) ncurses: migrate to Conan v2 * ncurses: migrate to Conan v2 * ncurses: fix Conan v1 compatibility * ncurses: fix linter error * ncurses: add "util" from libc as a system dependency * ncurses: update MSVC version check * ncurses: add libcxx to system_libs To fix the 'undefined symbol: _ZNSt3__14cerrE' error when using the shared lib with libc++. * ncurses: add automake dependency * ncurses: remove -nologo * ncurses: revert to not using ar-lib * ncurses: remove -nologo * ncurses: disable MSVC 193, fix -FS * ncurses: link against naive-tsearch on MSVC * ncurses: add AutotoolsDeps for MSVC dependencies * ncurses: add AutotoolsDeps workaround * ncurses: add -nologo * ncurses: do not override the include dir path * ncurses: drop test_v1_package * ncurses: more reliable -FS * ncurses: add /DEBUG:NONE * ncurses: force -DEBUG:NONE * ncurses: make sure CURSES_LIBRARIES contains absolute paths to match CMake * ncurses: fix_apple_shared_install_name() * ncurses: tidy * ncurses: Revert "drop test_v1_package" * ncurses: fix test_v1_package * ncurses: fix exported CMake vars in Conan v1 * ncurses: drop test_v1_package The legacy generators work ok on non-Windows single-config CMake setups, but not on MSVC. * ncurses: set env var in generator * ncurses: fix options handling * ncurses: restore "auto" option values for clarity and backwards-compatibility * ncurses: fix -FS not being applied on Conan v1 --- .../conan-official-ncurses-targets.cmake | 36 ++ recipes/ncurses/all/conanfile.py | 375 +++++++++--------- .../ncurses/all/test_package/CMakeLists.txt | 9 +- recipes/ncurses/all/test_package/conanfile.py | 28 +- 4 files changed, 255 insertions(+), 193 deletions(-) create mode 100644 recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake diff --git a/recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake b/recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake new file mode 100644 index 0000000000000..c890b5d0ddfab --- /dev/null +++ b/recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake @@ -0,0 +1,36 @@ +# Reproduces the variables set by https://cmake.org/cmake/help/latest/module/FindCurses.html +set(CURSES_FOUND ON) +set(CURSES_INCLUDE_DIRS ${Curses_INCLUDE_DIRS}) +set(CURSES_CFLAGS ${Curses_DEFINITIONS} ${Curses_COMPILE_OPTIONS_C}) +set(CURSES_HAVE_CURSES_H OFF) +set(CURSES_HAVE_NCURSES_H OFF) +if(CURSES_NEED_NCURSES) + set(CURSES_HAVE_NCURSES_CURSES_H ON) + set(CURSES_HAVE_NCURSES_NCURSES_H ON) +endif() + +# For backward compatibility with Conan v1 +string(TOUPPER "${CMAKE_BUILD_TYPE}" _CONFIG) +set(CURSES_INCLUDE_DIRS ${CURSES_INCLUDE_DIRS} + ${ncurses_INCLUDE_DIRS_${_CONFIG}} + ${Curses_INCLUDE_DIRS_${_CONFIG}} +) +set(CURSES_CFLAGS ${CURSES_CFLAGS} + ${ncurses_DEFINITIONS_${_CONFIG}} ${ncurses_COMPILE_OPTIONS_C_${_CONFIG}} + ${Curses_DEFINITIONS_${_CONFIG}} ${Curses_COMPILE_OPTIONS_C_${_CONFIG}} +) + +# CURSES_LIBRARIES output from CMake uses absolute paths for the libraries +list (GET CURSES_INCLUDE_DIRS 0 _first_include_dir) +get_filename_component(CURSES_LIB_DIRS "${_first_include_dir}/../lib" ABSOLUTE) +foreach(_LIB ${Curses_LIBRARIES} ${ncurses_LIBRARIES_${_CONFIG}} ${Curses_LIBRARIES_${_CONFIG}}) + if(TARGET ${_LIB} OR IS_ABSOLUTE ${_LIB}) + list(APPEND CURSES_LIBRARIES ${_LIB}) + else() + find_library(_LIB ${_LIB} PATHS ${CURSES_LIB_DIRS}) + list(APPEND CURSES_LIBRARIES ${_LIB}) + endif() +endforeach() + +set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_DIRS}) +set(CURSES_LIBRARY ${CURSES_LIBRARIES}) diff --git a/recipes/ncurses/all/conanfile.py b/recipes/ncurses/all/conanfile.py index 3adc44c41e54c..0e692c25e7249 100644 --- a/recipes/ncurses/all/conanfile.py +++ b/recipes/ncurses/all/conanfile.py @@ -1,21 +1,29 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import contextlib -import functools import os -import textwrap -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building, stdcpp_library +from conan.tools.env import Environment +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, unix_path +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class NCursesConan(ConanFile): name = "ncurses" description = "The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0 (SVr4), and more" - topics = ("ncurses", "terminal", "screen", "tui") + license = "X11" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.gnu.org/software/ncurses" - license = "X11" - settings = "os", "compiler", "build_type", "arch" + topics = ("terminal", "screen", "tui") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -41,90 +49,85 @@ class NCursesConan(ConanFile): "with_pcre2": False, } - generators = "pkg_config" - exports_sources = "patches/*" - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @property - def _with_ticlib(self): - if self.options.with_ticlib == "auto": - return self.settings.os != "Windows" - else: - return self.options.with_ticlib + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" - @property - def _with_tinfo(self): - if self.options.with_tinfo == "auto": - return self.settings.os != "Windows" - else: - return self.options.with_tinfo + def export_sources(self): + export_conandata_patches(self) + copy(self, "*.cmake", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + # Set the default value based on OS + self.options.with_ticlib = self.settings.os != "Windows" + self.options.with_tinfo = self.settings.os != "Windows" def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.with_cxx: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if not self.options.with_widec: - del self.options.with_extended_colors + self.options.rm_safe("with_extended_colors") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_pcre2: - self.requires("pcre2/10.37") - if self.settings.compiler == "Visual Studio": + self.requires("pcre2/10.42") + if is_msvc(self): self.requires("getopt-for-visual-studio/20200201") - self.requires("dirent/1.23.2") - if self.options.get_safe("with_extended_colors", False): + self.requires("dirent/1.24") + if self.options.get_safe("with_extended_colors"): self.requires("naive-tsearch/0.1.1") - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - def validate(self): - if any("arm" in arch for arch in (self.settings.arch, self._settings_build.arch)) and tools.cross_building(self): + if cross_building(self) and ("arm" in str(self.settings.arch) or "arm" in str(self._settings_build.arch)): # FIXME: Cannot build ncurses from x86_64 to armv8 (Apple M1). Cross building from Linux/x86_64 to Mingw/x86_64 works flawless. # FIXME: Need access to environment of build profile to set build compiler (BUILD_CC/CC_FOR_BUILD) raise ConanInvalidConfiguration("Cross building to/from arm is (currently) not supported") - if self.options.shared and self.settings.compiler == "Visual Studio" and "MT" in self.settings.compiler.runtime: + if self.options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Cannot build shared libraries with static (MT) runtime") if self.settings.os == "Windows": - if self._with_tinfo: + if self.options.with_tinfo: raise ConanInvalidConfiguration("terminfo cannot be built on Windows because it requires a term driver") - if self.options.shared and self._with_ticlib: + if self.options.shared and self.options.with_ticlib: raise ConanInvalidConfiguration("ticlib cannot be built separately as a shared library on Windows") + def build_requirements(self): + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + def generate(self): + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - conf_args = [ + tc.configure_args += [ "--with-shared={}".format(yes_no(self.options.shared)), "--with-cxx-shared={}".format(yes_no(self.options.shared)), "--with-normal={}".format(yes_no(not self.options.shared)), "--enable-widec={}".format(yes_no(self.options.with_widec)), - "--enable-ext-colors={}".format(yes_no(self.options.get_safe("with_extended_colors", False))), + "--enable-ext-colors={}".format(yes_no(self.options.get_safe("with_extended_colors"))), "--enable-reentrant={}".format(yes_no(self.options.with_reentrant)), "--with-pcre2={}".format(yes_no(self.options.with_pcre2)), "--with-cxx-binding={}".format(yes_no(self.options.with_cxx)), "--with-progs={}".format(yes_no(self.options.with_progs)), - "--with-termlib={}".format(yes_no(self._with_tinfo)), - "--with-ticlib={}".format(yes_no(self._with_ticlib)), + "--with-termlib={}".format(yes_no(self.options.with_tinfo)), + "--with-ticlib={}".format(yes_no(self.options.with_ticlib)), "--without-libtool", "--without-ada", "--without-manpages", @@ -134,108 +137,118 @@ def _configure_autotools(self): "--without-profile", "--with-sp-funcs", "--disable-rpath", - "--datarootdir={}".format(tools.unix_path(os.path.join(self.package_folder, "res"))), "--disable-pc-files", + "--datarootdir=${prefix}/res", ] build = None host = None if self.settings.os == "Windows": - conf_args.extend([ + tc.configure_args += [ "--disable-macros", "--disable-termcap", "--enable-database", "--enable-sp-funcs", "--enable-term-driver", "--enable-interop", - ]) - if self.settings.compiler == "Visual Studio": - build = host = "{}-w64-mingw32-msvc".format(self.settings.arch) - conf_args.extend([ + ] + if is_msvc(self): + build = host = f"{self.settings.arch}-w64-mingw32-msvc" + tc.configure_args += [ "ac_cv_func_getopt=yes", "ac_cv_func_setvbuf_reversed=no", - ]) - autotools.cxx_flags.append("-EHsc") - if tools.Version(self.settings.compiler.version) >= 12: - autotools.flags.append("-FS") - if (self.settings.os, self.settings.compiler) == ("Windows", "gcc"): + ] + # The env vars below are used by ./configure, but not during make + tc.make_args += [ + "CC=cl -nologo", + "CPP=cl -nologo -E", + ] + tc.extra_cflags.append("-FS") + tc.extra_cxxflags.append("-FS") + tc.extra_cxxflags.append("-EHsc") + if self.options.get_safe("with_extended_colors"): + tc.extra_cflags.append(" ".join(f"-I{dir}" for dir in self.dependencies["naive-tsearch"].cpp_info.includedirs)) + tc.extra_ldflags.append(" ".join(f"-l{lib}" for lib in self.dependencies["naive-tsearch"].cpp_info.libs)) + if self._is_mingw: # add libssp (gcc support library) for some missing symbols (e.g. __strcpy_chk) - autotools.libs.extend(["mingwex", "ssp"]) + tc.extra_ldflags.extend(["-lmingwex", "-lssp"]) if build: - conf_args.append(f"ac_cv_build={build}") + tc.configure_args.append(f"ac_cv_build={build}") if host: - conf_args.append(f"ac_cv_host={host}") - conf_args.append(f"ac_cv_target={host}") - autotools.configure(args=conf_args, configure_dir=self._source_subfolder, host=host, build=build) - return autotools - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "cl -nologo", - "CXX": "cl -nologo", - "LD": "link -nologo", - "LDFLAGS": "", - "NM": "dumpbin -symbols", - "STRIP": ":", - "AR": "lib -nologo", - "RANLIB": ":", - } - with tools.environment_append(env): - yield - else: - yield + tc.configure_args.append(f"ac_cv_host={host}") + tc.configure_args.append(f"ac_cv_target={host}") + # Allow ncurses to set the include dir with an appropriate subdir + tc.configure_args.remove("--includedir=${prefix}/include") + tc.generate() + + if is_msvc(self): + env = Environment() + env.define("CC", "cl -nologo -FS") + env.define("CXX", "cl -nologo -FS") + env.define("LD", "link") + env.define("AR", "lib") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") + + if is_msvc(self): + # Custom AutotoolsDeps for cl like compilers + # workaround for https://github.com/conan-io/conan/issues/12784 + includedirs = [] + defines = [] + libs = [] + libdirs = [] + linkflags = [] + cxxflags = [] + cflags = [] + for dependency in self.dependencies.values(): + deps_cpp_info = dependency.cpp_info.aggregated_components() + includedirs.extend(deps_cpp_info.includedirs) + defines.extend(deps_cpp_info.defines) + libs.extend(deps_cpp_info.libs + deps_cpp_info.system_libs) + libdirs.extend(deps_cpp_info.libdirs) + linkflags.extend(deps_cpp_info.sharedlinkflags + deps_cpp_info.exelinkflags) + cxxflags.extend(deps_cpp_info.cxxflags) + cflags.extend(deps_cpp_info.cflags) + env = Environment() + env.append("CPPFLAGS", [f"-I{unix_path(self, p)}" for p in includedirs] + [f"-D{d}" for d in defines]) + env.append("_LINK_", [lib if lib.endswith(".lib") else f"{lib}.lib" for lib in libs]) + env.append("LDFLAGS", [f"-L{unix_path(self, p)}" for p in libdirs] + linkflags) + env.append("CXXFLAGS", cxxflags) + env.append("CFLAGS", cflags) + env.vars(self).save_script("conanautotoolsdeps_cl_workaround") + + deps = PkgConfigDeps(self) + deps.generate() def build(self): - self._patch_sources() - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() + autotools.make() @property def _major_version(self): - return tools.Version(self.version).major - - @staticmethod - def _create_cmake_module_alias_targets(module_file): - tools.save(module_file, textwrap.dedent("""\ - set(CURSES_FOUND ON) - set(CURSES_INCLUDE_DIRS ${ncurses_libcurses_INCLUDE_DIRS}) - set(CURSES_LIBRARIES ${ncurses_libcurses_LINK_LIBS}) - set(CURSES_CFLAGS ${ncurses_DEFINITIONS} ${ncurses_COMPILE_OPTIONS_C}) - set(CURSES_HAVE_CURSES_H OFF) - set(CURSES_HAVE_NCURSES_H OFF) - if(CURSES_NEED_NCURSES) - set(CURSES_HAVE_NCURSES_CURSES_H ON) - set(CURSES_HAVE_NCURSES_NCURSES_H ON) - endif() - - # Backward Compatibility - set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_DIRS}) - set(CURSES_LIBRARY ${CURSES_LIBRARIES}) - """)) + return Version(self.version).major def package(self): - # return - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.install() - - os.unlink(os.path.join(self.package_folder, "bin", "ncurses{}{}-config".format(self._suffix, self._major_version))) - - self._create_cmake_module_alias_targets(os.path.join(self.package_folder, self._module_subfolder, self._module_file)) + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + os.unlink(os.path.join(self.package_folder, "bin", f"ncurses{self._suffix}{self._major_version}-config")) + copy(self, "*.cmake", + src=os.path.join(self.export_sources_folder, "cmake"), + dst=os.path.join(self.package_folder, self._module_subfolder)) + fix_apple_shared_install_name(self) @property def _suffix(self): res = "" + # https://github.com/mirror/ncurses/blob/v6.4/configure.in#L1393 if self.options.with_reentrant: res += "t" + # https://github.com/mirror/ncurses/blob/v6.4/configure.in#L959 if self.options.with_widec: res += "w" return res @@ -248,80 +261,80 @@ def _lib_suffix(self): res += ".dll" return res - def package_id(self): - self.info.options.with_ticlib = self._with_ticlib - self.info.options.with_tinfo = self._with_tinfo - @property def _module_subfolder(self): return os.path.join("lib", "cmake") @property def _module_file(self): - return "conan-official-{}-targets.cmake".format(self.name) + return f"conan-official-{self.name}-targets.cmake" def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "Curses" - self.cpp_info.filenames["cmake_find_package_multi"] = "Curses" - if self._with_tinfo: - self.cpp_info.components["tinfo"].libs = ["tinfo" + self._lib_suffix] - self.cpp_info.components["tinfo"].names["pkg_config"] = "tinfo" + self._lib_suffix - self.cpp_info.components["tinfo"].includedirs.append(os.path.join("include", "ncurses" + self._suffix)) - - self.cpp_info.components["libcurses"].libs = ["ncurses" + self._lib_suffix] - self.cpp_info.components["libcurses"].names["pkg_config"] = "ncurses" + self._lib_suffix - self.cpp_info.components["libcurses"].includedirs.append(os.path.join("include", "ncurses" + self._suffix)) - if not self.options.shared: - self.cpp_info.components["libcurses"].defines = ["NCURSES_STATIC"] - if self.settings.os == "Linux": - self.cpp_info.components["libcurses"].system_libs = ["dl", "m"] - if self._with_tinfo: - self.cpp_info.components["libcurses"].requires.append("tinfo") + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "Curses") - if self.settings.compiler == "Visual Studio": - self.cpp_info.components["libcurses"].requires.extend([ - "getopt-for-visual-studio::getopt-for-visual-studio", - "dirent::dirent", - ]) - if self.options.get_safe("with_extended_colors", False): - self.cpp_info.components["libcurses"].requires.append("naive-tsearch::naive-tsearch") + # CMake's standard FindCurses module does not define a target. + # Adding one nevertheless for consistency with other packages. + # https://gitlab.kitware.com/cmake/cmake/-/issues/23051 + self.cpp_info.set_property("cmake_target_name", "Curses::Curses") - module_rel_path = os.path.join(self._module_subfolder, self._module_file) - self.cpp_info.components["libcurses"].builddirs.append(self._module_subfolder) - self.cpp_info.components["libcurses"].build_modules["cmake_find_package"] = [module_rel_path] - self.cpp_info.components["libcurses"].build_modules["cmake_find_package_multi"] = [module_rel_path] + def _add_component(name, lib_name=None, requires=None): + lib_name = lib_name or name + self.cpp_info.components[name].libs = [lib_name + self._lib_suffix] + self.cpp_info.components[name].set_property("pkg_config_name", lib_name + self._lib_suffix) + self.cpp_info.components[name].includedirs.append(os.path.join("include", "ncurses" + self._suffix)) + self.cpp_info.components[name].requires = requires if requires else [] - self.cpp_info.components["panel"].libs = ["panel" + self._lib_suffix] - self.cpp_info.components["panel"].names["pkg_config"] = "panel" + self._lib_suffix - self.cpp_info.components["panel"].requires = ["libcurses"] + _add_component("libcurses", lib_name="ncurses") + _add_component("panel", requires=["libcurses"]) + _add_component("menu", requires=["libcurses"]) + _add_component("form", requires=["libcurses"]) - self.cpp_info.components["menu"].libs = ["menu" + self._lib_suffix] - self.cpp_info.components["menu"].names["pkg_config"] = "menu" + self._lib_suffix - self.cpp_info.components["menu"].requires = ["libcurses"] + if self.options.with_tinfo: + _add_component("tinfo") + self.cpp_info.components["libcurses"].requires += ["tinfo"] - self.cpp_info.components["form"].libs = ["form" + self._lib_suffix] - self.cpp_info.components["form"].names["pkg_config"] = "form" + self._lib_suffix - self.cpp_info.components["form"].requires = ["libcurses"] - if self.options.with_pcre2: - self.cpp_info.components["form"].requires.append("pcre2::pcre2") + if self.options.with_ticlib: + _add_component("ticlib", lib_name="tic", requires=["libcurses"]) if self.options.with_cxx: - self.cpp_info.components["curses++"].libs = ["ncurses++" + self._lib_suffix] - self.cpp_info.components["curses++"].names["pkg_config"] = "ncurses++" + self._lib_suffix - self.cpp_info.components["curses++"].requires = ["libcurses"] + _add_component("curses++", lib_name="ncurses++", requires=["libcurses"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libcurses++"].system_libs.append("util") + libcxx = stdcpp_library(self) + if libcxx: + self.cpp_info.components["libcurses++"].system_libs.append(libcxx) + + if is_msvc(self): + self.cpp_info.components["libcurses"].requires += [ + "getopt-for-visual-studio::getopt-for-visual-studio", + "dirent::dirent", + ] + if self.options.get_safe("with_extended_colors"): + self.cpp_info.components["libcurses"].requires += [ + "naive-tsearch::naive-tsearch" + ] + if self.options.with_pcre2: + self.cpp_info.components["form"].requires.append("pcre2::pcre2") - if self._with_ticlib: - self.cpp_info.components["ticlib"].libs = ["tic" + self._lib_suffix] - self.cpp_info.components["ticlib"].names["pkg_config"] = "tic" + self._lib_suffix - self.cpp_info.components["ticlib"].requires = ["libcurses"] + if not self.options.shared: + self.cpp_info.components["libcurses"].defines = ["NCURSES_STATIC"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libcurses"].system_libs = ["dl", "m"] - if self.options.with_progs: - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + module_rel_path = os.path.join(self._module_subfolder, self._module_file) + self.cpp_info.components["libcurses"].builddirs.append(self._module_subfolder) + self.cpp_info.set_property("cmake_build_modules", [module_rel_path]) terminfo = os.path.join(self.package_folder, "res", "terminfo") - self.output.info("Setting TERMINFO environment variable: {}".format(terminfo)) - self.env_info.TERMINFO = terminfo + self.buildenv_info.define_path("TERMINFO", terminfo) + self.runenv_info.define_path("TERMINFO", terminfo) + self.conf_info.define("user.ncurses:lib_suffix", self._lib_suffix) + # TODO: Legacy, to be removed on Conan 2.0 + self.cpp_info.names["cmake_find_package"] = "Curses" + self.cpp_info.names["cmake_find_package_multi"] = "Curses" + self.cpp_info.components["libcurses"].build_modules["cmake_find_package"] = [module_rel_path] + self.cpp_info.components["libcurses"].build_modules["cmake_find_package_multi"] = [module_rel_path] + self.env_info.TERMINFO = terminfo self.user_info.lib_suffix = self._lib_suffix diff --git a/recipes/ncurses/all/test_package/CMakeLists.txt b/recipes/ncurses/all/test_package/CMakeLists.txt index 6742c96b11c21..98c789fb359ec 100644 --- a/recipes/ncurses/all/test_package/CMakeLists.txt +++ b/recipes/ncurses/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.0) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) set(CURSES_NEED_NCURSES TRUE) -find_package(Curses REQUIRED) +find_package(Curses CONFIG REQUIRED) if(NOT CURSES_HAVE_NCURSES_NCURSES_H) message(FATAL_ERROR "ncurses/ncurses.h is not available (CURSES_HAVE_NCURSES_NCURSES_H)") diff --git a/recipes/ncurses/all/test_package/conanfile.py b/recipes/ncurses/all/test_package/conanfile.py index 430a3b6ec8e18..d78cda6c6388d 100644 --- a/recipes/ncurses/all/test_package/conanfile.py +++ b/recipes/ncurses/all/test_package/conanfile.py @@ -1,10 +1,26 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import Environment + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + env = Environment() + env.define("TERM", "dumb") + env.vars(self, scope="run").save_script("conanrun_term") def build(self): cmake = CMake(self) @@ -12,6 +28,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - with tools.environment_append({"TERM": "dumb"}): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From eea45a16d2795aa739673ee51d2706103daf097b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 00:49:29 +0900 Subject: [PATCH 2858/4087] (#21241) libxml2: add version 2.12.1 * libxml2: add version 2.12.0 * update libxml2 * include stdlib.h --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/all/test_package/test_package.c | 1 + recipes/libxml2/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index e2e7415898919..68fe5669e65f4 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.1": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" + sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" "2.11.5": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" diff --git a/recipes/libxml2/all/test_package/test_package.c b/recipes/libxml2/all/test_package/test_package.c index b4b977f00d342..01dc455ced597 100644 --- a/recipes/libxml2/all/test_package/test_package.c +++ b/recipes/libxml2/all/test_package/test_package.c @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 7a7b2cea0b90c..aece5e69bedd8 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.1": + folder: all "2.11.5": folder: all "2.11.4": From df3fbfc1dbe0908ad8c40a90fbdad05032b23153 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 17:08:04 +0100 Subject: [PATCH 2859/4087] (#21489) inja: add package_type + bump nlohmann_json * add package_type * bump nlohmann_json --- recipes/inja/all/conanfile.py | 16 ++++++---------- recipes/inja/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/recipes/inja/all/conanfile.py b/recipes/inja/all/conanfile.py index e211c74ba199b..e6c08750f5681 100644 --- a/recipes/inja/all/conanfile.py +++ b/recipes/inja/all/conanfile.py @@ -16,6 +16,7 @@ class InjaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "Inja is a template engine for modern C++, loosely inspired by jinja for python" topics = ("jinja2", "string templates", "templates engine") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -35,8 +36,11 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") def package_id(self): self.info.clear() @@ -50,12 +54,8 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -68,9 +68,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "inja") self.cpp_info.set_property("cmake_target_name", "pantor::inja") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once legacy generators removed self.cpp_info.filenames["cmake_find_package"] = "inja" @@ -82,6 +80,4 @@ def package_info(self): self.cpp_info.components["libinja"].set_property("cmake_target_name", "pantor::inja") self.cpp_info.components["libinja"].requires = ["nlohmann_json::nlohmann_json"] self.cpp_info.components["libinja"].bindirs = [] - self.cpp_info.components["libinja"].frameworkdirs = [] self.cpp_info.components["libinja"].libdirs = [] - self.cpp_info.components["libinja"].resdirs = [] diff --git a/recipes/inja/all/test_package/conanfile.py b/recipes/inja/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/inja/all/test_package/conanfile.py +++ b/recipes/inja/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From 8a6d9852ed4dadac2bf35bc998c745396b2bf979 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 17:49:39 +0100 Subject: [PATCH 2860/4087] (#21490) intel-neon2sse: add package_type --- recipes/intel-neon2sse/all/conanfile.py | 22 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 10 ++++----- .../all/test_v1_package/conanfile.py | 2 +- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/recipes/intel-neon2sse/all/conanfile.py b/recipes/intel-neon2sse/all/conanfile.py index a50107175e466..9d152bb546968 100644 --- a/recipes/intel-neon2sse/all/conanfile.py +++ b/recipes/intel-neon2sse/all/conanfile.py @@ -4,6 +4,9 @@ from conan.tools.files import copy, get, rmdir from os import path +required_conan_version = ">=1.50.0" + + class IntelNeon2sseConan(ConanFile): name = "intel-neon2sse" url = "https://github.com/conan-io/conan-center-index" @@ -11,6 +14,7 @@ class IntelNeon2sseConan(ConanFile): description = "Header only library intended to simplify ARM->IA32 porting" license = "BSD-2-Clause" topics = "neon", "sse", "port", "translation", "intrinsics" + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" options = { "SSE4": [True, False], @@ -21,16 +25,18 @@ class IntelNeon2sseConan(ConanFile): "disable_performance_warnings": False, } + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.arch not in ("x86", "x86_64"): raise ConanInvalidConfiguration("neon2sse only supports arch={x86,x86_64}") - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -47,13 +53,11 @@ def package(self): copy(self, "LICENSE", dst=path.join(self.package_folder, "licenses"), src=self.source_folder) rmdir(self, path.join(self.package_folder, "lib")) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "NEON_2_SSE") - self.cpp_info.set_property("cmake_target_name", "NEON_2_SSE::NEON_2_SSE") + self.cpp_info.set_property("cmake_target_name", "NEON_2_SSE::NEON_2_SSE") if self.options.SSE4: self.cpp_info.defines.append("USE_SSE4") if self.options.disable_performance_warnings: diff --git a/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt b/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt index 0f78273600853..b21cc49efde95 100644 --- a/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt +++ b/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(NEON_2_SSE REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} NEON_2_SSE::NEON_2_SSE) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/intel-neon2sse/all/test_v1_package/conanfile.py b/recipes/intel-neon2sse/all/test_v1_package/conanfile.py index 5493d58611803..1bf1c7e26255d 100644 --- a/recipes/intel-neon2sse/all/test_v1_package/conanfile.py +++ b/recipes/intel-neon2sse/all/test_v1_package/conanfile.py @@ -3,7 +3,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + generators = "cmake", "cmake_find_package_multi" def build(self): cmake = CMake(self) From 4814d60e5da7ba4f8681d47dd645d586517a4d8e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 18:07:53 +0100 Subject: [PATCH 2861/4087] (#21491) jeaiii-itoa: add package_type --- recipes/jeaiii-itoa/all/conanfile.py | 14 ++++---------- .../jeaiii-itoa/all/test_package/CMakeLists.txt | 3 +-- .../jeaiii-itoa/all/test_v1_package/CMakeLists.txt | 12 ++++-------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/recipes/jeaiii-itoa/all/conanfile.py b/recipes/jeaiii-itoa/all/conanfile.py index e7cabf3b1a327..43dfc55725a27 100644 --- a/recipes/jeaiii-itoa/all/conanfile.py +++ b/recipes/jeaiii-itoa/all/conanfile.py @@ -15,30 +15,26 @@ class ItoaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jeaiii/itoa/" topics = ("string-conversion", "itona", "integer-conversion",) + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 - def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) - def layout(self): basic_layout(self, src_folder="src") def validate(self): if self.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -49,6 +45,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt b/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt index d27bc00b65615..09813e133a472 100644 --- a/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt +++ b/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(jeaiii-itoa REQUIRED CONFIG) diff --git a/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt b/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt index f35b931b51133..b21cc49efde95 100644 --- a/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt +++ b/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(jeaiii-itoa REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE jeaiii-itoa::jeaiii-itoa) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 240a6edf66221db4adababc7825c2455a21a6559 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 18:27:55 +0100 Subject: [PATCH 2862/4087] (#21494) jfalcou-eve: add package_type --- recipes/jfalcou-eve/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/jfalcou-eve/all/conanfile.py b/recipes/jfalcou-eve/all/conanfile.py index dbd0bf0ff0d12..51aa78ce2dd31 100644 --- a/recipes/jfalcou-eve/all/conanfile.py +++ b/recipes/jfalcou-eve/all/conanfile.py @@ -20,6 +20,7 @@ class JfalcouEveConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://jfalcou.github.io/eve/" topics = ("cpp", "simd", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From c46b1ce3239e39c5b8f39fbd93c42121dcdfd48f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 18:48:19 +0100 Subject: [PATCH 2863/4087] (#21496) jsmn: add package_type --- recipes/jsmn/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/jsmn/all/conanfile.py b/recipes/jsmn/all/conanfile.py index 80c11f45949cb..eff4b5d9d9571 100644 --- a/recipes/jsmn/all/conanfile.py +++ b/recipes/jsmn/all/conanfile.py @@ -16,6 +16,7 @@ class JsmnConan(ConanFile): topics = ("json", "parser") homepage = "https://github.com/zserge/jsmn" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 66e5eb6efc7b5ca07462bfb0fe84dd66d977d416 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:07:30 +0100 Subject: [PATCH 2864/4087] (#21499) jthread-lite: add package_type --- recipes/jthread-lite/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/jthread-lite/all/conanfile.py b/recipes/jthread-lite/all/conanfile.py index efd2ef2fde6ab..b1f862a6ab31f 100644 --- a/recipes/jthread-lite/all/conanfile.py +++ b/recipes/jthread-lite/all/conanfile.py @@ -12,8 +12,9 @@ class JthreadLiteConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/jthread-lite" description = "jthread lite - C++20's jthread for C++11 and later in a single-file header-only library " - topics = ("jthread-lite", "jthread", "cpp11") + topics = ("jthread", "cpp11") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From c23ef9a369a21a893d33ee65395934850754d919 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:27:38 +0100 Subject: [PATCH 2865/4087] (#21503) khrplatform: add package_type --- recipes/khrplatform/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/khrplatform/all/conanfile.py b/recipes/khrplatform/all/conanfile.py index 4125f97c39bdb..8a3e15b829a64 100644 --- a/recipes/khrplatform/all/conanfile.py +++ b/recipes/khrplatform/all/conanfile.py @@ -13,6 +13,7 @@ class KhrplatformConan(ConanFile): homepage = "https://www.khronos.org/registry/EGL/" description = "Khronos EGL platform interfaces" topics = ("opengl", "gl", "egl", "khr", "khronos") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 9a70aa461bc7e496b3c1ce2b91bac435608d5955 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:48:45 +0100 Subject: [PATCH 2866/4087] (#21504) linmath.h: add package_type --- recipes/linmath.h/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/linmath.h/all/conanfile.py b/recipes/linmath.h/all/conanfile.py index 72dbc48e507a8..aeda5df97ec0f 100644 --- a/recipes/linmath.h/all/conanfile.py +++ b/recipes/linmath.h/all/conanfile.py @@ -16,18 +16,18 @@ class LinmathConan(ConanFile): topics = ("math", "graphics", "linear-algebra", "vector", "matrix", "quaternion") homepage = "https://github.com/datenwolf/linmath.h" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 80b7870c5e0a78c663d91b72a4b8a7b50ed6cab1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 2 Dec 2023 20:08:57 +0100 Subject: [PATCH 2867/4087] (#21516) pcl/all: bump deps * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pcl/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index 481bfcadd49be..3d3a9f2fd7b3e 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -361,7 +361,7 @@ def _is_enabled(self, dep): return is_available and is_used def requirements(self): - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) self.requires("eigen/3.4.0", transitive_headers=True) if self._is_enabled("flann"): self.requires("flann/1.9.2", transitive_headers=True) @@ -370,7 +370,7 @@ def requirements(self): if self._is_enabled("qhull"): self.requires("qhull/8.0.1", transitive_headers=True) if self._is_enabled("qt"): - self.requires("qt/6.5.1") + self.requires("qt/6.6.1") if self._is_enabled("libusb"): self.requires("libusb/1.0.26", transitive_headers=True) if self._is_enabled("pcap"): @@ -382,7 +382,7 @@ def requirements(self): self.requires("glew/2.2.0", transitive_headers=True) self.requires("glu/system", transitive_headers=True) if self._is_enabled("opencv"): - self.requires("opencv/4.5.5", transitive_headers=True) + self.requires("opencv/4.8.1", transitive_headers=True) if self._is_enabled("zlib"): self.requires("zlib/[>=1.2.11 <2]") # TODO: From 7d51f74b3c514b7e61d3c37e22b37a71203b49e7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 20:29:56 +0100 Subject: [PATCH 2868/4087] (#21517) mikelankamp-fpm: add package_type --- recipes/mikelankamp-fpm/all/conanfile.py | 4 +++- recipes/mikelankamp-fpm/all/test_package/conanfile.py | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/mikelankamp-fpm/all/conanfile.py b/recipes/mikelankamp-fpm/all/conanfile.py index 4f1037ea6348f..d62613b715193 100644 --- a/recipes/mikelankamp-fpm/all/conanfile.py +++ b/recipes/mikelankamp-fpm/all/conanfile.py @@ -4,7 +4,8 @@ from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" + class MikeLankampFpmConan(ConanFile): name = "mikelankamp-fpm" @@ -13,6 +14,7 @@ class MikeLankampFpmConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/MikeLankamp/fpm" topics = ("fixed-point", "math", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/mikelankamp-fpm/all/test_package/conanfile.py b/recipes/mikelankamp-fpm/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/mikelankamp-fpm/all/test_package/conanfile.py +++ b/recipes/mikelankamp-fpm/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From 3b910749408350d70377496022182dccad134da4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 20:38:33 +0100 Subject: [PATCH 2869/4087] (#21520) modern-cpp-kafka: add package_type + reset cmake names to default value - add package_type - do not invent unofficial target name (there is no config file upstream) - empty cpp_info.bindirs & libdirs - bump librdkafka --- recipes/modern-cpp-kafka/all/conanfile.py | 32 ++++++++----------- .../all/test_package/CMakeLists.txt | 4 +-- .../all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/recipes/modern-cpp-kafka/all/conanfile.py b/recipes/modern-cpp-kafka/all/conanfile.py index a89b6dfd7b4a5..404038dfda2d5 100644 --- a/recipes/modern-cpp-kafka/all/conanfile.py +++ b/recipes/modern-cpp-kafka/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.scm import Version -from conan.tools.microsoft import check_min_vs, is_msvc import os required_conan_version = ">=1.52.0" @@ -16,6 +15,7 @@ class ModernCppKafkaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/morganstanley/modern-cpp-kafka" topics = ("kafka", "librdkafka", "kafkaproducer", "kafkaconsumer", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -29,13 +29,15 @@ def _compilers_minimum_version(self): "gcc": "8", "clang": "7", "apple-clang": "12", + "msvc": "192", + "Visual Studio": "16", } def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("librdkafka/2.0.2") + self.requires("librdkafka/2.3.0") def package_id(self): self.info.clear() @@ -43,17 +45,15 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 192) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) @@ -65,11 +65,7 @@ def package(self): ) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "ModernCppKafka") - self.cpp_info.set_property("cmake_target_name", "ModernCppKafka::ModernCppKafka") - - self.cpp_info.names["cmake_find_package"] = "ModernCppKafka" - self.cpp_info.names["cmake_find_package_multi"] = "ModernCppKafka" - - if self.settings.os in ["Linux", "Macos"]: + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") diff --git a/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt b/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt index e00b58eaa4743..2b86f2fbd7132 100644 --- a/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt +++ b/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -find_package(ModernCppKafka REQUIRED CONFIG) +find_package(modern-cpp-kafka REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ModernCppKafka::ModernCppKafka) +target_link_libraries(${PROJECT_NAME} PRIVATE modern-cpp-kafka::modern-cpp-kafka) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt b/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..91630d79f4abb 100644 --- a/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt +++ b/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From 25103427069f2021d487fd32dd3132275761ec8a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 05:01:57 +0900 Subject: [PATCH 2870/4087] (#21548) glaze: add version 1.8.3 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ad3008a3795df..413146e306cd6 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.3": + url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz" + sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8" "1.8.2": url: "https://github.com/stephenberry/glaze/archive/v1.8.2.tar.gz" sha256: "dddc7b9c87739e0266a6a868316e692975651e9e77684cfb7d3a6a4be32c95fc" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index c312a071c43c9..807437035ff2a 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.3": + folder: all "1.8.2": folder: all "1.8.1": From 0b2c9c4ab90d32f3fe2f4d8af3a84870891a9f9f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:10:21 +0100 Subject: [PATCH 2871/4087] (#21508) md4qt: add package_type + bump icu * add package_type * bump icu --- recipes/md4qt/all/conanfile.py | 18 ++++++++---------- recipes/md4qt/all/test_package/conanfile.py | 9 +++++---- .../md4qt/all/test_v1_package/CMakeLists.txt | 11 ++++------- recipes/md4qt/all/test_v1_package/conanfile.py | 2 +- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/recipes/md4qt/all/conanfile.py b/recipes/md4qt/all/conanfile.py index ce75e30212e5e..90fcedd907a99 100644 --- a/recipes/md4qt/all/conanfile.py +++ b/recipes/md4qt/all/conanfile.py @@ -16,6 +16,7 @@ class Md4QtConan(ConanFile): license = "MIT" description = "Header-only C++ library for parsing Markdown." topics = ("markdown", "gfm", "parser", "icu", "ast", "commonmark", "md", "qt6", "stl", "cpp17") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -33,13 +34,16 @@ def _compilers_minimum_version(self): "apple-clang": "14", } - def package_id(self): - self.info.clear() + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("icu/72.1") + self.requires("icu/74.1") self.requires("uriparser/0.9.7") + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -49,12 +53,8 @@ def validate(self): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -67,6 +67,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "md4qt") self.cpp_info.set_property("cmake_target_name", "md4qt::md4qt") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/md4qt/all/test_package/conanfile.py b/recipes/md4qt/all/test_package/conanfile.py index c78095722f7aa..b5553413c7eed 100644 --- a/recipes/md4qt/all/test_package/conanfile.py +++ b/recipes/md4qt/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() @@ -23,4 +24,4 @@ def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") md_path = os.path.join(self.source_folder, "test.md") - self.run("{} \"{}\"".format(bin_path, md_path), env="conanrun") + self.run(f"{bin_path} \"{md_path}\"", env="conanrun") diff --git a/recipes/md4qt/all/test_v1_package/CMakeLists.txt b/recipes/md4qt/all/test_v1_package/CMakeLists.txt index b24e1b03fbf83..b21cc49efde95 100644 --- a/recipes/md4qt/all/test_v1_package/CMakeLists.txt +++ b/recipes/md4qt/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(md4qt REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE md4qt::md4qt) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/md4qt/all/test_v1_package/conanfile.py b/recipes/md4qt/all/test_v1_package/conanfile.py index df702b6f48d7c..e62a3cb2d7440 100644 --- a/recipes/md4qt/all/test_v1_package/conanfile.py +++ b/recipes/md4qt/all/test_v1_package/conanfile.py @@ -15,4 +15,4 @@ def test(self): if not tools.cross_building(self): bin_path = os.path.join("bin", "test_package") md_path = os.path.join(self.source_folder, os.pardir, "test_package", "test.md") - self.run("{} \"{}\"".format(bin_path, md_path), run_environment=True) + self.run(f"{bin_path} \"{md_path}\"", run_environment=True) From 1168f39211f2d05e5b5b48056ab487363fd4496a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:18:46 +0100 Subject: [PATCH 2872/4087] (#21515) metall: add package_type --- recipes/metall/all/conandata.yml | 30 +++++++++---------- recipes/metall/all/conanfile.py | 12 ++++---- recipes/metall/all/test_package/conanfile.py | 11 +++---- .../metall/all/test_v1_package/CMakeLists.txt | 11 +++---- recipes/metall/config.yml | 12 ++++---- 5 files changed, 36 insertions(+), 40 deletions(-) diff --git a/recipes/metall/all/conandata.yml b/recipes/metall/all/conandata.yml index 107baf765b6af..023411b883cb5 100644 --- a/recipes/metall/all/conandata.yml +++ b/recipes/metall/all/conandata.yml @@ -1,22 +1,22 @@ sources: + "0.27": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.27.tar.gz" + sha256: "6e6f17a760778f9162def939701f9381a75e5275fd1eb1b2af4b2e89e86e1c58" + "0.26": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" + sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" + "0.25": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.25.tar.gz" + sha256: "223cb54543b62a62fdbbe6274b02ddcc14b29806e344ee7e2fd3f055c2374295" + "0.24": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.24.tar.gz" + sha256: "872de2a1b76d44e6876c0b672c0cc518c6f334959e4a229f2f18cc7e01edf477" + "0.23.1": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.23.1.tar.gz" + sha256: "25e8fbc424e66d09e0faf60029288e4612685675bfd947cc142bd9d6d0645ac4" "0.21": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.21.tar.gz" sha256: "feaff7a935f98d3cc1e2b21f6eae40edc674a5bd0133306afd3851148aaed026" "0.20": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.20.tar.gz" sha256: "cafe54c682004a66a059f54e2d7128ea7622e9941ea492297d04c260675e9af4" - "0.23.1": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.23.1.tar.gz" - sha256: "25e8fbc424e66d09e0faf60029288e4612685675bfd947cc142bd9d6d0645ac4" - "0.24": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.24.tar.gz" - sha256: "872de2a1b76d44e6876c0b672c0cc518c6f334959e4a229f2f18cc7e01edf477" - "0.25": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.25.tar.gz" - sha256: "223cb54543b62a62fdbbe6274b02ddcc14b29806e344ee7e2fd3f055c2374295" - "0.26": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" - sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" - "0.27": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.27.tar.gz" - sha256: "6e6f17a760778f9162def939701f9381a75e5275fd1eb1b2af4b2e89e86e1c58" diff --git a/recipes/metall/all/conanfile.py b/recipes/metall/all/conanfile.py index c629633bf0094..b13166986c15d 100644 --- a/recipes/metall/all/conanfile.py +++ b/recipes/metall/all/conanfile.py @@ -16,6 +16,7 @@ class MetallConan(ConanFile): description = "Meta allocator for persistent memory" license = "MIT", "Apache-2.0" topics = "cpp", "allocator", "memory-allocator", "persistent-memory", "ecp", "exascale-computing" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,6 +27,9 @@ def _compilers_minimum_version(self): "clang": "9", } + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("boost/1.81.0") @@ -52,12 +56,8 @@ def lazy_lt_semver(v1, v2): raise ConanInvalidConfiguration( "{} {} requires C++17, which your compiler does not support.".format(self.name, self.version)) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -75,9 +75,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "Metall" self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") diff --git a/recipes/metall/all/test_package/conanfile.py b/recipes/metall/all/test_package/conanfile.py index 3a8c6c5442b33..0a6bc68712d90 100644 --- a/recipes/metall/all/test_package/conanfile.py +++ b/recipes/metall/all/test_package/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.build import cross_building +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout import os @@ -7,19 +7,20 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if not cross_building(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/metall/all/test_v1_package/CMakeLists.txt b/recipes/metall/all/test_v1_package/CMakeLists.txt index 90ab90a88d549..b21cc49efde95 100644 --- a/recipes/metall/all/test_v1_package/CMakeLists.txt +++ b/recipes/metall/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(Metall REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE Metall::Metall) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/metall/config.yml b/recipes/metall/config.yml index 8abab3ff86ffd..1d869b27d6481 100644 --- a/recipes/metall/config.yml +++ b/recipes/metall/config.yml @@ -1,15 +1,15 @@ versions: - "0.21": + "0.27": folder: all - "0.20": + "0.26": folder: all - "0.23.1": + "0.25": folder: all "0.24": folder: all - "0.25": + "0.23.1": folder: all - "0.26": + "0.21": folder: all - "0.27": + "0.20": folder: all From d56c4017fbe2ce63ffb11c291747fa0fb9a2593e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:38:03 +0100 Subject: [PATCH 2873/4087] (#21518) mio: add package_type & modernize more * add package_type & modernize more * add description to patch --- recipes/mio/all/conandata.yml | 8 +++--- recipes/mio/all/conanfile.py | 27 +++++++------------ recipes/mio/all/test_package/conanfile.py | 7 ++--- .../mio/all/test_v1_package/CMakeLists.txt | 11 +++----- recipes/mio/config.yml | 4 +-- 5 files changed, 24 insertions(+), 33 deletions(-) diff --git a/recipes/mio/all/conandata.yml b/recipes/mio/all/conandata.yml index fdad8f55da413..6e7bb1d711691 100644 --- a/recipes/mio/all/conandata.yml +++ b/recipes/mio/all/conandata.yml @@ -1,11 +1,13 @@ sources: + "cci.20230303": + url: "https://github.com/mandreyel/mio/archive/8b6b7d878c89e81614d05edca7936de41ccdd2da.tar.gz" + sha256: "86248113bb2f1484f9cd44a260fe09beaa911307073c6f21fa9e765588d54b4b" "cci.20201220": url: "https://github.com/mandreyel/mio/archive/3f86a95c0784d73ce6815237ec33ed25f233b643.tar.gz" sha256: "056ae59d63c5d7f34dd90510adf2996ef1c4c17ec2b26ba9c9cb9974025b2c2c" - "cci.20230303": - url: "https://github.com/mandreyel/mio/archive/8b6b7d878c89e81614d05edca7936de41ccdd2da.tar.gz" - sha256: "86248113BB2F1484F9CD44A260FE09BEAA911307073C6F21FA9E765588D54B4B" patches: "cci.20201220": - patch_file: "patches/0001-fix-include-windows.patch" + patch_description: "Add missing includes for Windows" + patch_type: "portability" patch_source: "https://github.com/mandreyel/mio/pull/73" diff --git a/recipes/mio/all/conanfile.py b/recipes/mio/all/conanfile.py index 469a34156ae79..a91c01d248f09 100644 --- a/recipes/mio/all/conanfile.py +++ b/recipes/mio/all/conanfile.py @@ -1,24 +1,27 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, copy, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.52.0" class MioConan(ConanFile): name = "mio" description = "Cross-platform C++11 header-only library for memory mapped file IO." license = "MIT" - topics = ("mio", "mmap", "memory-mapping", "fileviewer") + topics = ("mmap", "memory-mapping", "fileviewer") homepage = "https://github.com/mandreyel/mio" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -27,12 +30,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) @@ -45,26 +44,18 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "mio") self.cpp_info.set_property("cmake_target_name", "mio::mio") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.components["mio-headers"].set_property("cmake_target_name", "mio::mio-headers") self.cpp_info.components["mio-headers"].bindirs = [] - self.cpp_info.components["mio-headers"].frameworkdirs = [] self.cpp_info.components["mio-headers"].libdirs = [] - self.cpp_info.components["mio-headers"].resdirs = [] if self.settings.os == "Windows": self.cpp_info.components["mio_full_winapi"].set_property("cmake_target_name", "mio::mio_full_winapi") self.cpp_info.components["mio_full_winapi"].bindirs = [] - self.cpp_info.components["mio_full_winapi"].frameworkdirs = [] self.cpp_info.components["mio_full_winapi"].libdirs = [] - self.cpp_info.components["mio_full_winapi"].resdirs = [] self.cpp_info.components["mio_min_winapi"].set_property("cmake_target_name", "mio::mio_min_winapi") self.cpp_info.components["mio_min_winapi"].defines = ["WIN32_LEAN_AND_MEAN", "NOMINMAX"] self.cpp_info.components["mio_min_winapi"].bindirs = [] - self.cpp_info.components["mio_min_winapi"].frameworkdirs = [] self.cpp_info.components["mio_min_winapi"].libdirs = [] - self.cpp_info.components["mio_min_winapi"].resdirs = [] diff --git a/recipes/mio/all/test_package/conanfile.py b/recipes/mio/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/mio/all/test_package/conanfile.py +++ b/recipes/mio/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mio/all/test_v1_package/CMakeLists.txt b/recipes/mio/all/test_v1_package/CMakeLists.txt index 84deeaa812c31..b21cc49efde95 100644 --- a/recipes/mio/all/test_v1_package/CMakeLists.txt +++ b/recipes/mio/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mio REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE mio::mio) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mio/config.yml b/recipes/mio/config.yml index ce9e92b9275c8..023d02b706f66 100644 --- a/recipes/mio/config.yml +++ b/recipes/mio/config.yml @@ -1,5 +1,5 @@ versions: - "cci.20201220": - folder: all "cci.20230303": folder: all + "cci.20201220": + folder: all From 589a045982995c3c408927e0a03823d1782930d8 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 06:57:40 +0900 Subject: [PATCH 2874/4087] (#21527) xsimd: add version 12.0.0 --- recipes/xsimd/all/conandata.yml | 3 +++ recipes/xsimd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xsimd/all/conandata.yml b/recipes/xsimd/all/conandata.yml index 08fff036a5b79..b536c5e9c148f 100644 --- a/recipes/xsimd/all/conandata.yml +++ b/recipes/xsimd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.0.0": + url: "https://github.com/xtensor-stack/xsimd/archive/12.0.0.tar.gz" + sha256: "6f156ec9bcc602d2581ef023ef0e927e3759c30cf1405028210e8c103a4f846d" "11.2.0": url: "https://github.com/xtensor-stack/xsimd/archive/11.2.0.tar.gz" sha256: "509bbfe12e78ee1a0e81711019e7c7a372dabcff566dbf15b95cc94339443242" diff --git a/recipes/xsimd/config.yml b/recipes/xsimd/config.yml index 7fbfea9297599..77e2aa7fb0ba8 100644 --- a/recipes/xsimd/config.yml +++ b/recipes/xsimd/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.0": + folder: all "11.2.0": folder: all "11.1.0": From 569ff70f8bace05a0970aee1d7925f5656842db8 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 07:17:42 +0900 Subject: [PATCH 2875/4087] (#21528) simdjson: add version 3.6.1 --- recipes/simdjson/all/conandata.yml | 3 +++ recipes/simdjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index 8afd1c08b02ab..3f7b97847e169 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.1": + url: "https://github.com/simdjson/simdjson/archive/v3.6.1.tar.gz" + sha256: "76601d1701232a212b62d25d3a6518219b2504ff84e8073c6df7393b2ead3176" "3.6.0": url: "https://github.com/simdjson/simdjson/archive/v3.6.0.tar.gz" sha256: "9eab3197231382b8b99d14d8ca647d6ab6bea1b40008df086d25e6f687309bf6" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 7c6ab96d71b1b..c4ccbb7735a04 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.1": + folder: all "3.6.0": folder: all "3.5.0": From 2ca9a8e1d1f4b5409418b077377d00f442a8cfd1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 3 Dec 2023 12:30:41 +0100 Subject: [PATCH 2876/4087] (#21498) json_dto: add package_type + add test package for conan v2 * add package_type * add test package for conan v2 * sort versions by desc order * change class name * remove transitive_headers of requirements since it's implicit for header-only recipes --- recipes/json_dto/all/conandata.yml | 38 +++++++++---------- recipes/json_dto/all/conanfile.py | 7 ++-- .../json_dto/all/test_package/CMakeLists.txt | 13 +++---- .../json_dto/all/test_package/conanfile.py | 23 +++++++---- .../{example.cpp => test_package.cpp} | 0 .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../json_dto/all/test_v1_package/conanfile.py | 17 +++++++++ recipes/json_dto/config.yml | 12 +++--- 8 files changed, 75 insertions(+), 43 deletions(-) rename recipes/json_dto/all/test_package/{example.cpp => test_package.cpp} (100%) create mode 100644 recipes/json_dto/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/json_dto/all/test_v1_package/conanfile.py diff --git a/recipes/json_dto/all/conandata.yml b/recipes/json_dto/all/conandata.yml index 3d6e5b35876d7..48460b81acb17 100644 --- a/recipes/json_dto/all/conandata.yml +++ b/recipes/json_dto/all/conandata.yml @@ -1,22 +1,22 @@ sources: - "0.2.11": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.11.tar.gz" - sha256: "9ce409a8210ee78ef5b1e60dfb919186ba6a2e928e391e46f0e1d36049e06b1c" - "0.2.12": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.12.tar.gz" - sha256: "3b1ca412a74c339c01bcbf739542fa69b2391d24c321742098a2d6dfa7402d84" - "0.2.13": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.13.tar.gz" - sha256: "ed4138bf86e0724c95508a9c74bed6fa0c98814b96f4cb3a1b540857e2302663" - "0.2.14": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.14.tar.gz" - sha256: "d885fe16cf621f7470a45fb6e955e8aded02958bb2212819dc151feac930905b" - "0.2.15": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.15.tar.gz" - sha256: "d7631d21785ddddc81b2fe04a7998d0d49323c2224168568cb80cc32093da3ac" - "0.3.0": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.3.0.tar.gz" - sha256: "cd497c9ee5556c45aaa3402a23ab935e6a90c1e62076562efd0708d1ec8f4c30" "0.3.1": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.3.1.tar.gz" + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.1.tar.gz" sha256: "515a2d1510d3d8f8b240eb2149f44aeb47a70d26a7071609cca45c0ee198d1d1" + "0.3.0": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.0.tar.gz" + sha256: "cd497c9ee5556c45aaa3402a23ab935e6a90c1e62076562efd0708d1ec8f4c30" + "0.2.15": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.15.tar.gz" + sha256: "d7631d21785ddddc81b2fe04a7998d0d49323c2224168568cb80cc32093da3ac" + "0.2.14": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.14.tar.gz" + sha256: "d885fe16cf621f7470a45fb6e955e8aded02958bb2212819dc151feac930905b" + "0.2.13": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.13.tar.gz" + sha256: "ed4138bf86e0724c95508a9c74bed6fa0c98814b96f4cb3a1b540857e2302663" + "0.2.12": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.12.tar.gz" + sha256: "3b1ca412a74c339c01bcbf739542fa69b2391d24c321742098a2d6dfa7402d84" + "0.2.11": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.11.tar.gz" + sha256: "9ce409a8210ee78ef5b1e60dfb919186ba6a2e928e391e46f0e1d36049e06b1c" diff --git a/recipes/json_dto/all/conanfile.py b/recipes/json_dto/all/conanfile.py index 44aa1adf3256a..59d836f777070 100644 --- a/recipes/json_dto/all/conanfile.py +++ b/recipes/json_dto/all/conanfile.py @@ -10,13 +10,14 @@ required_conan_version = ">=1.52.0" -class PackageConan(ConanFile): +class JsonDtoConan(ConanFile): name = "json_dto" license = "BSD-3-Clause" homepage = "https://github.com/Stiffstream/json_dto" url = "https://github.com/conan-io/conan-center-index" description = "A small header-only helper for converting data between json representation and c++ structs" topics = ("json", "dto", "serialization") + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" no_copy_source = True @@ -38,7 +39,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rapidjson/1.1.0", transitive_headers=True) + self.requires("rapidjson/1.1.0") def package_id(self): self.info.clear() @@ -53,7 +54,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) diff --git a/recipes/json_dto/all/test_package/CMakeLists.txt b/recipes/json_dto/all/test_package/CMakeLists.txt index 45401a5b844ae..b20143685a5e9 100644 --- a/recipes/json_dto/all/test_package/CMakeLists.txt +++ b/recipes/json_dto/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(json-dto REQUIRED CONFIG) -add_executable(example example.cpp) -target_link_libraries(example json-dto::json-dto) -set_property(TARGET example PROPERTY CXX_STANDARD 14) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE json-dto::json-dto) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/json_dto/all/test_package/conanfile.py b/recipes/json_dto/all/test_package/conanfile.py index 21d7adcc4bb1c..81d4d29e64c73 100644 --- a/recipes/json_dto/all/test_package/conanfile.py +++ b/recipes/json_dto/all/test_package/conanfile.py @@ -1,11 +1,20 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout -class JsondtoTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -13,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/json_dto/all/test_package/example.cpp b/recipes/json_dto/all/test_package/test_package.cpp similarity index 100% rename from recipes/json_dto/all/test_package/example.cpp rename to recipes/json_dto/all/test_package/test_package.cpp diff --git a/recipes/json_dto/all/test_v1_package/CMakeLists.txt b/recipes/json_dto/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/json_dto/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/json_dto/all/test_v1_package/conanfile.py b/recipes/json_dto/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/json_dto/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/json_dto/config.yml b/recipes/json_dto/config.yml index 464caddcd4136..87de86e844c69 100644 --- a/recipes/json_dto/config.yml +++ b/recipes/json_dto/config.yml @@ -1,15 +1,15 @@ versions: - "0.2.11": + "0.3.1": folder: all - "0.2.12": + "0.3.0": folder: all - "0.2.13": + "0.2.15": folder: all "0.2.14": folder: all - "0.2.15": + "0.2.13": folder: all - "0.3.0": + "0.2.12": folder: all - "0.3.1": + "0.2.11": folder: all From 61f59735f719ac75f32807811a58bdfd1109033c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 3 Dec 2023 12:47:54 +0100 Subject: [PATCH 2877/4087] (#21524) raylib: fix build with mingw * fix build with mingw * try to define GLFW_NATIVE_INCLUDE_NONE * backport upstream patch for win32 with external glfw --- recipes/raylib/all/conandata.yml | 8 ++++++++ .../3.5.0-0001-enable-cmake-build-android.patch | 9 --------- .../all/patches/3.5.0-0003-win32-glfw3native.patch | 14 ++++++++++++++ .../4.0.0-0001-enable-cmake-build-android.patch | 13 ------------- .../all/patches/4.0.0-0002-win32-glfw3native.patch | 14 ++++++++++++++ 5 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch create mode 100644 recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch diff --git a/recipes/raylib/all/conandata.yml b/recipes/raylib/all/conandata.yml index 8757de8ae9e8a..03de4ecb0f5c2 100644 --- a/recipes/raylib/all/conandata.yml +++ b/recipes/raylib/all/conandata.yml @@ -8,6 +8,14 @@ sources: patches: "4.0.0": - patch_file: "patches/4.0.0-0001-enable-cmake-build-android.patch" + - patch_file: "patches/4.0.0-0002-win32-glfw3native.patch" + patch_description: "Win32: resolve some symbols re-definition of windows.h in glfw3native.h" + patch_type: "portability" + patch_source: "https://github.com/raysan5/raylib/pull/2643" "3.5.0": - patch_file: "patches/3.5.0-0001-enable-cmake-build-android.patch" - patch_file: "patches/3.5.0-0002-cmake-project.patch" + - patch_file: "patches/3.5.0-0003-win32-glfw3native.patch" + patch_description: "Win32: resolve some symbols re-definition of windows.h in glfw3native.h" + patch_type: "portability" + patch_source: "https://github.com/raysan5/raylib/pull/2643" diff --git a/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch b/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch index 41d8a0a51669a..18b6559a6f285 100644 --- a/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch +++ b/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch @@ -15,15 +15,6 @@ diff --git a/src/core.c b/src/core.c index e6d27e5f..fb7014b0 100644 --- a/src/core.c +++ b/src/core.c -@@ -186,7 +186,7 @@ - - // Support retrieving native window handlers - #if defined(_WIN32) -- #define GLFW_EXPOSE_NATIVE_WIN32 -+ - #include // WARNING: It requires customization to avoid windows.h inclusion! - - #if !defined(SUPPORT_BUSY_WAIT_LOOP) @@ -3346,10 +3346,12 @@ static bool InitGraphicsDevice(int width, int height) glfwSwapInterval(0); // No V-Sync by default #endif diff --git a/recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch b/recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch new file mode 100644 index 0000000000000..d302d880e5990 --- /dev/null +++ b/recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch @@ -0,0 +1,14 @@ +--- a/src/core.c ++++ b/src/core.c +@@ -186,7 +186,11 @@ + + // Support retrieving native window handlers + #if defined(_WIN32) ++ typedef void *PVOID; ++ typedef PVOID HANDLE; ++ typedef HANDLE HWND; + #define GLFW_EXPOSE_NATIVE_WIN32 ++ #define GLFW_NATIVE_INCLUDE_NONE // To avoid some symbols re-definition in windows.h + #include // WARNING: It requires customization to avoid windows.h inclusion! + + #if !defined(SUPPORT_BUSY_WAIT_LOOP) diff --git a/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch b/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch index 6b4ff9b463c46..4ff586ccfe20d 100644 --- a/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch +++ b/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch @@ -11,16 +11,3 @@ index c156d6b3..608fe531 100644 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate") find_library(OPENGL_LIBRARY OpenGL) -diff --git a/src/rcore.c b/src/rcore.c -index 3b451552..d7e58c1c 100644 ---- a/src/rcore.c -+++ b/src/rcore.c -@@ -196,7 +196,7 @@ - - // Support retrieving native window handlers - #if defined(_WIN32) -- #define GLFW_EXPOSE_NATIVE_WIN32 -+ - #include "GLFW/glfw3native.h" // WARNING: It requires customization to avoid windows.h inclusion! - - #if defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP) diff --git a/recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch b/recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch new file mode 100644 index 0000000000000..292c7cf7b3f37 --- /dev/null +++ b/recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch @@ -0,0 +1,14 @@ +--- a/src/rcore.c ++++ b/src/rcore.c +@@ -196,7 +196,11 @@ + + // Support retrieving native window handlers + #if defined(_WIN32) ++ typedef void *PVOID; ++ typedef PVOID HANDLE; ++ typedef HANDLE HWND; + #define GLFW_EXPOSE_NATIVE_WIN32 ++ #define GLFW_NATIVE_INCLUDE_NONE // To avoid some symbols re-definition in windows.h + #include "GLFW/glfw3native.h" // WARNING: It requires customization to avoid windows.h inclusion! + + #if defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP) From 9fa27af55ab28b73f7a00ee8f4e9b0a93004258f Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 21:07:57 +0900 Subject: [PATCH 2878/4087] (#21529) strong_type: add version v13 --- recipes/strong_type/all/conandata.yml | 3 +++ recipes/strong_type/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/strong_type/all/conandata.yml b/recipes/strong_type/all/conandata.yml index 1b5da1a4d1c20..6f362b86eb346 100644 --- a/recipes/strong_type/all/conandata.yml +++ b/recipes/strong_type/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "v13": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v13.tar.gz" + sha256: "96a799dff6ed8d83040703c6f79162fc5ddf13d1aea4e56ce456736a30e07c5a" "v12": url: "https://github.com/rollbear/strong_type/archive/refs/tags/v12.tar.gz" sha256: "8af0400c7ae76c7ec8646e929bacb37fc7fcae33e54eeaa61fa9f9df508a9248" diff --git a/recipes/strong_type/config.yml b/recipes/strong_type/config.yml index 3fcbeb72e7dd9..cf589fbd0a896 100644 --- a/recipes/strong_type/config.yml +++ b/recipes/strong_type/config.yml @@ -1,4 +1,6 @@ versions: + "v13": + folder: all "v12": folder: all "v11": From fa88d250d0c87e9a40dd130f3c318d16f7344123 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 21:27:40 +0900 Subject: [PATCH 2879/4087] (#21549) glaze: add version 1.8.4 --- recipes/glaze/all/conandata.yml | 4 ++++ recipes/glaze/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 413146e306cd6..b542b9d9e6886 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "1.8.4": + url: "https://github.com/stephenberry/glaze/archive/v1.8.4.tar.gz" + sha256: "794f68d74264ebd4d26c9e1b2a9098134622751a089a45ed5a97d90e58b7d9e6" + "1.8.3": url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz" sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 807437035ff2a..5971823a629d4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.4": + folder: all "1.8.3": folder: all "1.8.2": From 1be82b30f89ed9e01c2b3eeaa73afbe8ba7dffdf Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 21:47:37 +0900 Subject: [PATCH 2880/4087] (#21550) jsoncons: add version 0.172.1 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 4ac7b31b02bf9..612bdd0c9980f 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.172.1": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.1.tar.gz" + sha256: "710ac7656373a118cee4ad10ecb2225d331ca5b4706a4add3a2b482b7fceef1f" "0.172.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.0.tar.gz" sha256: "a0b9f8c9afcfc30993bc9122a659e3790351b621c354e5dee09dd7c53665df14" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index b73a3c682c9d1..d03c26c731d88 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.172.1": + folder: "all" "0.172.0": folder: "all" "0.171.1": From 872725d1692f12090dc17a3426637244550befe1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 22:07:41 +0900 Subject: [PATCH 2881/4087] (#21551) tinydir: add version 1.2.6 --- recipes/tinydir/all/conandata.yml | 3 +++ recipes/tinydir/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinydir/all/conandata.yml b/recipes/tinydir/all/conandata.yml index 16d1524b1696f..b8405fd5f1756 100644 --- a/recipes/tinydir/all/conandata.yml +++ b/recipes/tinydir/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.6": + url: "https://github.com/cxong/tinydir/archive/refs/tags/1.2.6.tar.gz" + sha256: "1ecbdf8d04b079f8a9404662708d2333d6b72b956effb0d5296d063db3a02b4e" "1.2.5": url: "https://github.com/cxong/tinydir/archive/refs/tags/1.2.5.tar.gz" sha256: "7ab150a16fa78ea76e9fd58ef88922c03eca2334c023b8d9bc94755fdde522c7" diff --git a/recipes/tinydir/config.yml b/recipes/tinydir/config.yml index 712ebbf8b5754..065b272032773 100644 --- a/recipes/tinydir/config.yml +++ b/recipes/tinydir/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.6": + folder: "all" "1.2.5": folder: "all" "1.2.4": From 055237bb0abef87f7eda663909e1dc82ed2d3310 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 23:47:52 +0900 Subject: [PATCH 2882/4087] (#21552) c-blosc2: add version 2.11.3 --- recipes/c-blosc2/all/conandata.yml | 7 +++++++ recipes/c-blosc2/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 22390332df6d5..0708127cd17a6 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.3": + url: "https://github.com/Blosc/c-blosc2/archive/v2.11.3.tar.gz" + sha256: "7273ec3ab42adc247425ab34b0601db86a6e2a6aa1a97a11e29df02e078f5037" "2.11.2": url: "https://github.com/Blosc/c-blosc2/archive/v2.11.2.tar.gz" sha256: "4a508362653468d8948762886c6b24e6bafb70e02709aa31284c0ff9db62b83d" @@ -27,6 +30,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz" sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036" patches: + "2.11.3": + - patch_file: "patches/2.11.1-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.11.2": - patch_file: "patches/2.11.1-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 74736080601ac..217462db7de18 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.3": + folder: all "2.11.2": folder: all "2.11.1": From 111ea906b01f4c50ae7b523d566247b0112999b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sun, 3 Dec 2023 17:04:05 +0100 Subject: [PATCH 2883/4087] (#21537) re2: Bump deps to fix conflicts --- recipes/re2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/re2/all/conanfile.py b/recipes/re2/all/conanfile.py index b0f960a2c6e3c..8d2e83b161ad9 100644 --- a/recipes/re2/all/conanfile.py +++ b/recipes/re2/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): if self.options.get_safe("with_icu"): self.requires("icu/73.2") if Version(self.version) >= "20230601": - self.requires("abseil/20230125.3", transitive_headers=True) + self.requires("abseil/20230802.1", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From b60786d5105e04a27af01d75ddd9094c417ce731 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 02:33:19 +0900 Subject: [PATCH 2884/4087] (#21555) cpp-jwt: update nlohmann_json/3.11.3 * cpp-jwt: update nlohmann_json/3.11.3 * json-schema-validator: add version 2.3.0, downgrade nolhmann_json in older versions * revert invalid commit * add empty line --- recipes/cpp-jwt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-jwt/all/conanfile.py b/recipes/cpp-jwt/all/conanfile.py index 71a7e1defc3e4..0fc99db4a9b5a 100644 --- a/recipes/cpp-jwt/all/conanfile.py +++ b/recipes/cpp-jwt/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("openssl/[>=1.1 <4]") def package_id(self): From de919269eabec1a70c208546b5f944ff6e497817 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 3 Dec 2023 20:01:17 +0100 Subject: [PATCH 2885/4087] (#21553) harfbuzz: fix frameworks used in package_info Apple frameworks are only used when `with_coretext=True`. On macOS, harfbuzz links against the ApplicationServices framework. For other OS, it links against CoreFoundation, CoreGraphics & CoreText frameworks. --- recipes/harfbuzz/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index ea4c431577332..7904abea985f6 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -197,8 +197,11 @@ def package_info(self): self.cpp_info.system_libs.append("usp10") if self.options.with_directwrite: self.cpp_info.system_libs.append("dwrite") - if is_apple_os(self): - self.cpp_info.frameworks.extend(["CoreFoundation", "CoreGraphics", "CoreText", "ApplicationServices"]) + if is_apple_os(self) and self.options.get_safe("with_coretext", False): + if self.settings.os == "Macos": + self.cpp_info.frameworks.append("ApplicationServices") + else: + self.cpp_info.frameworks.extend(["CoreFoundation", "CoreGraphics", "CoreText"]) if not self.options.shared: libcxx = stdcpp_library(self) if libcxx: From 674da5c10a1d40f6233bbbab6abfa6f7e4a6679d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 06:03:08 +0900 Subject: [PATCH 2886/4087] (#21559) skyr-url: update nlohmann_json --- recipes/skyr-url/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/skyr-url/all/conanfile.py b/recipes/skyr-url/all/conanfile.py index 11f0da24114c2..86286a2a911c0 100644 --- a/recipes/skyr-url/all/conanfile.py +++ b/recipes/skyr-url/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): self.requires("tl-expected/1.1.0", transitive_headers=True) self.requires("range-v3/0.12.0", transitive_headers=True) if self.options.with_json: - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 579e20f6427858ecdee27c7fb4492a0310910485 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 06:12:23 +0900 Subject: [PATCH 2887/4087] (#21560) xtensor: update dependencies --- recipes/xtensor/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xtensor/all/conanfile.py b/recipes/xtensor/all/conanfile.py index 91b15e6e0415a..892b72ea17486 100644 --- a/recipes/xtensor/all/conanfile.py +++ b/recipes/xtensor/all/conanfile.py @@ -52,12 +52,12 @@ def layout(self): def requirements(self): self.requires("xtl/0.7.5") - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") if self.options.xsimd: if Version(self.version) < "0.24.0": self.requires("xsimd/7.5.0") else: - self.requires("xsimd/11.1.0") + self.requires("xsimd/12.0.0") if self.options.tbb: self.requires("onetbb/2021.10.0") From 787d2a0b7545fffdb27d2f661302f2332309320b Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Dec 2023 01:19:09 +0100 Subject: [PATCH 2888/4087] (#21578) minizip-ng: Update xz_utils requirements --- recipes/minizip-ng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 299908786c8dc..01cfddc75128c 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -83,7 +83,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_openssl: From b0233c574f50c2fad566084f885fcddb15dbe013 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Mon, 4 Dec 2023 10:19:01 +0300 Subject: [PATCH 2889/4087] (#21531) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 794fbb3011f17..5afd49cb17918 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.2.tar.gz" + sha256: "0a89854d639a3710ab89611333fd1a1047cd5edc87ba767fbefdc37e701ae671" "2.3.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.1.tar.gz" sha256: "7126ecc34f9808943b76b05106ebd42ef01b7b812416efc2382de68a13804d01" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 1875f7359c680..baed679ffd429 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.2": + folder: all "2.3.1": folder: all "2.3.0": From 965ce89bcb3830f4e1993e4f1dd83493d5faf19a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Mon, 4 Dec 2023 10:39:46 +0100 Subject: [PATCH 2890/4087] (#21544) onetbb: Fix hwloc shared detection after changes to that recipe --- recipes/onetbb/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 6fafa4d81ece1..1651c9800e6fd 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -94,7 +94,8 @@ def validate(self): if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "11.0": raise ConanInvalidConfiguration(f"{self.ref} couldn't be built by apple-clang < 11.0") - if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.shared: + # Old versions used to have shared option before hwloc dependency was moved to shared only + if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.get_safe("shared", True): raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") def build_requirements(self): From 162359bfa9c12d7e03488095068b89a934b5dcb7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 12:14:54 +0100 Subject: [PATCH 2891/4087] (#21506) mapbox-geometry: add package_type --- recipes/mapbox-geometry/all/conanfile.py | 8 ++++---- .../all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/recipes/mapbox-geometry/all/conanfile.py b/recipes/mapbox-geometry/all/conanfile.py index 9edf42d2b8db1..38350b712a514 100644 --- a/recipes/mapbox-geometry/all/conanfile.py +++ b/recipes/mapbox-geometry/all/conanfile.py @@ -13,10 +13,11 @@ class MapboxGeometryConan(ConanFile): "Provides header-only, generic C++ interfaces for geometry types, " "geometry collections, and features." ) - topics = ("geometry") + topics = ("geometry",) license = "ISC" homepage = "https://github.com/mapbox/geometry.hpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -24,7 +25,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("mapbox-variant/1.2.0", transitive_headers=True) + self.requires("mapbox-variant/1.2.0") def package_id(self): self.info.clear() @@ -34,8 +35,7 @@ def validate(self): check_min_cppstd(self, 14) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt b/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt index e4046b86f9232..b21cc49efde95 100644 --- a/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt +++ b/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mapbox-geometry REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE mapbox-geometry::mapbox-geometry) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 4524ed66f2f324533941b9ee0c4fda1d86d890e4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 4 Dec 2023 15:37:12 +0200 Subject: [PATCH 2892/4087] (#18759) lightgbm: migrate to Conan v2, add v4.0.0 * lightgbm: migrate to Conan v2, add v4.0.0 * lightgbm: enable llvm-openmp * lightgbm: bump version * lightgbm: unvendor Eigen fully * lightgbm: bump llvm-openmp, export OpenMP flags correctly * lightgbm: restore patches for the Clang OpenMP support fix * lightgbm: simplify patching * lightgbm: add -fopenmp to linker flags * lightgbm: disable openmp on apple-clang for Conan v1 --- recipes/lightgbm/all/CMakeLists.txt | 23 +++- recipes/lightgbm/all/conandata.yml | 29 +++-- recipes/lightgbm/all/conanfile.py | 112 +++++++++++------- .../all/patches/0001-fix-includes.patch | 16 --- ...atch => 3.3.2-0001-fix-openmp-clang.patch} | 0 ...atch => 3.3.5-0001-fix-openmp-clang.patch} | 0 .../patches/4.1.0-0001-fix-openmp-clang.patch | 11 ++ .../lightgbm/all/test_package/CMakeLists.txt | 9 +- .../lightgbm/all/test_package/conanfile.py | 23 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../lightgbm/all/test_v1_package/conanfile.py | 17 +++ recipes/lightgbm/config.yml | 4 +- 12 files changed, 163 insertions(+), 89 deletions(-) delete mode 100644 recipes/lightgbm/all/patches/0001-fix-includes.patch rename recipes/lightgbm/all/patches/{0002-fix-openmp-clang.patch => 3.3.2-0001-fix-openmp-clang.patch} (100%) rename recipes/lightgbm/all/patches/{0003-fix-openmp-clang.patch => 3.3.5-0001-fix-openmp-clang.patch} (100%) create mode 100644 recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch create mode 100644 recipes/lightgbm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/lightgbm/all/test_v1_package/conanfile.py diff --git a/recipes/lightgbm/all/CMakeLists.txt b/recipes/lightgbm/all/CMakeLists.txt index 61f3d3b039e2b..d250cd86d5991 100644 --- a/recipes/lightgbm/all/CMakeLists.txt +++ b/recipes/lightgbm/all/CMakeLists.txt @@ -1,7 +1,20 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper LANGUAGES CXX) -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) +find_package(Eigen3 REQUIRED CONFIG) +find_package(fast_double_parser REQUIRED CONFIG) +find_package(fmt REQUIRED CONFIG) -add_subdirectory("source_subfolder") +add_subdirectory(src) + +if(_MAJOR_VERSION GREATER_EQUAL 4) + set(TARGETS lightgbm_objs lightgbm_capi_objs) + set(VISIBILITY PRIVATE) +else() + set(TARGETS lightgbm _lightgbm) + set(VISIBILITY "") +endif() + +foreach(target ${TARGETS}) + target_link_libraries(${target} ${VISIBILITY} Eigen3::Eigen fast_double_parser::fast_double_parser fmt::fmt) +endforeach() diff --git a/recipes/lightgbm/all/conandata.yml b/recipes/lightgbm/all/conandata.yml index 2fac2e54523aa..5c29f9403b5ce 100644 --- a/recipes/lightgbm/all/conandata.yml +++ b/recipes/lightgbm/all/conandata.yml @@ -1,18 +1,23 @@ sources: - "3.3.2": - url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v3.3.2.tar.gz" - sha256: "d7c0f842e94165578d5a0c046ca942838d1574149f98c84400ce511239d17b9f" + "4.1.0": + url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v4.1.0.tar.gz" + sha256: "eb896dc21c7afec95d10327777f6e77163b5bcd35f6ce5d152e6feefbe3328a5" "3.3.5": url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v3.3.5.tar.gz" sha256: "16fb9e299ced37be5ac69dd510e7323337e623019c9c578628c43b285f764be7" -patches: "3.3.2": - - patch_file: "patches/0001-fix-includes.patch" - base_path: "source_subfolder" - - patch_file: "patches/0002-fix-openmp-clang.patch" - base_path: "source_subfolder" + url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v3.3.2.tar.gz" + sha256: "d7c0f842e94165578d5a0c046ca942838d1574149f98c84400ce511239d17b9f" +patches: + "4.1.0": + - patch_file: "patches/4.1.0-0001-fix-openmp-clang.patch" + patch_type: "portability" + patch_description: "Fix OpenMP support for Clang" "3.3.5": - - patch_file: "patches/0001-fix-includes.patch" - base_path: "source_subfolder" - - patch_file: "patches/0003-fix-openmp-clang.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.3.5-0001-fix-openmp-clang.patch" + patch_type: "portability" + patch_description: "Fix OpenMP support for Clang" + "3.3.2": + - patch_file: "patches/3.3.2-0001-fix-openmp-clang.patch" + patch_type: "portability" + patch_description: "Fix OpenMP support for Clang" diff --git a/recipes/lightgbm/all/conanfile.py b/recipes/lightgbm/all/conanfile.py index d00e21c352364..cae89a9218102 100644 --- a/recipes/lightgbm/all/conanfile.py +++ b/recipes/lightgbm/all/conanfile.py @@ -1,82 +1,107 @@ -from conans import CMake, ConanFile, tools +import os + +from conan import ConanFile, conan_version +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, export_conandata_patches, apply_conandata_patches from conan.tools.microsoft import is_msvc -import functools +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class LightGBMConan(ConanFile): name = "lightgbm" - description = "A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks." - topics = ("machine-learning", "boosting") + description = ( + "A fast, distributed, high performance gradient boosting " + "(GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, " + "used for ranking, classification and many other machine learning tasks." + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/microsoft/LightGBM" - license = "MIT" + topics = ("machine-learning", "boosting") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake", "cmake_find_package" options = { "shared": [True, False], "fPIC": [True, False], - "with_openmp": [True, False] + "with_openmp": [True, False], } default_options = { "shared": False, "fPIC": True, - "with_openmp": True + "with_openmp": True, } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if conan_version.major == 1 and self.settings.compiler == "apple-clang": + # https://github.com/conan-io/conan-center-index/pull/18759#issuecomment-1817470331 + del self.options.with_openmp def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): self.requires("eigen/3.4.0") - self.requires("fast_double_parser/0.6.0") - self.requires("fmt/9.0.0") - if self.options.with_openmp and self.settings.compiler in ("clang", "apple-clang"): - self.requires("llvm-openmp/11.1.0") + self.requires("fast_double_parser/0.7.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.1.1", transitive_headers=True, transitive_libs=True) + if self.options.get_safe("with_openmp") and self.settings.compiler in ["clang", "apple-clang"]: + self.requires("llvm-openmp/17.0.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_STATIC_LIB"] = not self.options.shared + tc.cache_variables["USE_DEBUG"] = self.settings.build_type in ["Debug", "RelWithDebInfo"] + tc.cache_variables["USE_OPENMP"] = self.options.get_safe("with_openmp", False) + tc.cache_variables["BUILD_CLI"] = False + if is_apple_os(self): + tc.cache_variables["APPLE_OUTPUT_DYLIB"] = True + tc.variables["_MAJOR_VERSION"] = Version(self.version).major + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_STATIC_LIB"] = not self.options.shared - cmake.definitions["USE_DEBUG"] = self.settings.build_type == "Debug" - cmake.definitions["USE_OPENMP"] = self.options.with_openmp - if self.settings.os == "Macos": - cmake.definitions["APPLE_OUTPUT_DYLIB"] = True - cmake.configure() - return cmake + apply_conandata_patches(self) + # Fix vendored dependency includes + common_h = os.path.join(self.source_folder, "include", "LightGBM", "utils", "common.h") + for lib in ["fmt", "fast_double_parser"]: + replace_in_file(self, common_h, f"../../../external_libs/{lib}/include/", "") + # Unvendor Eigen3 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "include_directories(${EIGEN_DIR})", "") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): @@ -90,16 +115,19 @@ def package_info(self): self.cpp_info.libs = ["lib_lightgbm"] if is_msvc(self) else ["_lightgbm"] if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["ws2_32", "iphlpapi"]) - elif self.settings.os == "Linux": + elif self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") - if not self.options.shared and self.options.with_openmp: + + # OpenMP preprocessor directives are used in a number of public headers, such as: + # https://github.com/microsoft/LightGBM/blob/master/include/LightGBM/tree.h#L188 + if self.options.get_safe("with_openmp"): + openmp_flags = [] if is_msvc(self): openmp_flags = ["-openmp"] elif self.settings.compiler == "gcc": openmp_flags = ["-fopenmp"] - elif self.settings.compiler in ("clang", "apple-clang"): + elif self.settings.compiler in ["clang", "apple-clang"]: openmp_flags = ["-Xpreprocessor", "-fopenmp"] - else: - openmp_flags = [] + self.cpp_info.cxxflags.extend(openmp_flags) self.cpp_info.exelinkflags.extend(openmp_flags) self.cpp_info.sharedlinkflags.extend(openmp_flags) diff --git a/recipes/lightgbm/all/patches/0001-fix-includes.patch b/recipes/lightgbm/all/patches/0001-fix-includes.patch deleted file mode 100644 index 13fa0fe43a998..0000000000000 --- a/recipes/lightgbm/all/patches/0001-fix-includes.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/include/LightGBM/utils/common.h b/include/LightGBM/utils/common.h -index af981062..097f20d4 100644 ---- a/include/LightGBM/utils/common.h -+++ b/include/LightGBM/utils/common.h -@@ -33,9 +33,9 @@ - - #if (!((defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__)))) - #define FMT_HEADER_ONLY --#include "../../../external_libs/fmt/include/fmt/format.h" -+#include - #endif --#include "../../../external_libs/fast_double_parser/include/fast_double_parser.h" -+#include - - #ifdef _MSC_VER - #include diff --git a/recipes/lightgbm/all/patches/0002-fix-openmp-clang.patch b/recipes/lightgbm/all/patches/3.3.2-0001-fix-openmp-clang.patch similarity index 100% rename from recipes/lightgbm/all/patches/0002-fix-openmp-clang.patch rename to recipes/lightgbm/all/patches/3.3.2-0001-fix-openmp-clang.patch diff --git a/recipes/lightgbm/all/patches/0003-fix-openmp-clang.patch b/recipes/lightgbm/all/patches/3.3.5-0001-fix-openmp-clang.patch similarity index 100% rename from recipes/lightgbm/all/patches/0003-fix-openmp-clang.patch rename to recipes/lightgbm/all/patches/3.3.5-0001-fix-openmp-clang.patch diff --git a/recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch b/recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch new file mode 100644 index 0000000000000..4de5b0a2d1c8e --- /dev/null +++ b/recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -526,7 +526,7 @@ + endif() + + if(USE_OPENMP) +- if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") ++ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang|AppleClang") + target_link_libraries(lightgbm_objs PUBLIC OpenMP::OpenMP_CXX) + # c_api headers also includes OpenMP headers, thus compiling + # lightgbm_capi_objs needs include directory for OpenMP. diff --git a/recipes/lightgbm/all/test_package/CMakeLists.txt b/recipes/lightgbm/all/test_package/CMakeLists.txt index 12b8a397ff5d3..1fc3dbaef1eaa 100644 --- a/recipes/lightgbm/all/test_package/CMakeLists.txt +++ b/recipes/lightgbm/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(LightGBM CONFIG REQUIRED) +find_package(LightGBM REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} LightGBM::LightGBM) diff --git a/recipes/lightgbm/all/test_package/conanfile.py b/recipes/lightgbm/all/test_package/conanfile.py index 746d011e4501a..ef5d7042163ec 100644 --- a/recipes/lightgbm/all/test_package/conanfile.py +++ b/recipes/lightgbm/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class LightGBMTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/lightgbm/all/test_v1_package/CMakeLists.txt b/recipes/lightgbm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/lightgbm/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lightgbm/all/test_v1_package/conanfile.py b/recipes/lightgbm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..746d011e4501a --- /dev/null +++ b/recipes/lightgbm/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class LightGBMTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/lightgbm/config.yml b/recipes/lightgbm/config.yml index 185a3ba9f96e0..eba2ef0bbf4fd 100644 --- a/recipes/lightgbm/config.yml +++ b/recipes/lightgbm/config.yml @@ -1,5 +1,7 @@ versions: - "3.3.2": + "4.1.0": folder: all "3.3.5": folder: all + "3.3.2": + folder: all From 55836f6713c285f4ddfc678f8e3c9ced98b20671 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:12:41 +0100 Subject: [PATCH 2893/4087] (#21505) lyra: add package_type --- recipes/lyra/all/conanfile.py | 39 ++++++++++---------- recipes/lyra/all/test_package/CMakeLists.txt | 8 ++-- recipes/lyra/all/test_package/conanfile.py | 12 +++--- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/recipes/lyra/all/conanfile.py b/recipes/lyra/all/conanfile.py index 676ec9b46357a..c094e45b8f49c 100644 --- a/recipes/lyra/all/conanfile.py +++ b/recipes/lyra/all/conanfile.py @@ -1,8 +1,9 @@ import os + from conan import ConanFile -import conan.tools.files -import conan.tools.layout -import conan.tools.build +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout required_conan_version = ">=1.50.0" @@ -13,33 +14,28 @@ class LyraConan(ConanFile): description = "A simple to use, composing, header only, command line arguments parser for C++ 11 and beyond." topics = ("cli", "cli-parser", "argparse", "commandline", "flags", "header-only", "no-dependencies", "c++11") - no_copy_source = True - settings = "compiler" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - conan.tools.build.check_min_cppstd(self, 11) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() - def layout(self): - conan.tools.layout.basic_layout(self, src_folder="root") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - conan.tools.files.get( - self, - **self.conan_data["sources"][self.version], - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - conan.tools.files.copy( - self, "LICENSE.txt", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder) - conan.tools.files.copy( + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy( self, "*.h*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) @@ -47,6 +43,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "lyra") self.cpp_info.set_property("cmake_target_name", "bfg::lyra") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components["_lyra"].set_property( "cmake_target_name", "bfg::lyra") @@ -56,5 +55,5 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "bfg" self.cpp_info.components["_lyra"].names["cmake_find_package"] = "lyra" self.cpp_info.components["_lyra"].names["cmake_find_package_multi"] = "lyra" + self.cpp_info.components["_lyra"].bindirs = [] self.cpp_info.components["_lyra"].libdirs = [] - self.cpp_info.libdirs = [] diff --git a/recipes/lyra/all/test_package/CMakeLists.txt b/recipes/lyra/all/test_package/CMakeLists.txt index 294a9afb37677..8b31e74af3444 100644 --- a/recipes/lyra/all/test_package/CMakeLists.txt +++ b/recipes/lyra/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(lyra REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} bfg::lyra) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE bfg::lyra) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/lyra/all/test_package/conanfile.py b/recipes/lyra/all/test_package/conanfile.py index 0b275b10a2f3c..98ab55852ad56 100644 --- a/recipes/lyra/all/test_package/conanfile.py +++ b/recipes/lyra/all/test_package/conanfile.py @@ -1,26 +1,26 @@ from conan import ConanFile -import conan.tools.build -import conan.tools.cmake +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" def layout(self): - conan.tools.cmake.cmake_layout(self) + cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) def build(self): - cmake = conan.tools.cmake.CMake(self) + cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if conan.tools.build.can_run(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") From 6c1960623205fd02fab31440257eceea46ff7190 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 4 Dec 2023 17:01:55 +0100 Subject: [PATCH 2894/4087] (#21497) libcurl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libcurl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 60998d280ae09..6ad8bd967a379 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -186,7 +186,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_c_ares: - self.requires("c-ares/1.22.0") + self.requires("c-ares/1.22.1") if self.options.get_safe("with_libpsl"): self.requires("libpsl/0.21.1") From 815df01a404cba122850028422fb6bb724b3c332 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 4 Dec 2023 18:36:50 +0100 Subject: [PATCH 2895/4087] (#21493) cpr: drop dead code * cpr: drop dead code identfied by https://github.com/conan-io/conan-center-index/issues/21163 * let's go further --- recipes/cpr/all/conanfile.py | 129 ++++++----------------------------- 1 file changed, 20 insertions(+), 109 deletions(-) diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index b285ccfc9ac18..60560152c702a 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -55,43 +55,11 @@ def _compilers_minimum_version(self): }, }.get(self._min_cppstd, {}) - @property - def _supports_openssl(self): - # https://github.com/libcpr/cpr/commit/b036a3279ba62720d1e43362d32202bf412ea152 - # https://github.com/libcpr/cpr/releases/tag/1.5.0 - return Version(self.version) >= "1.5.0" and not is_apple_os(self) - - @property - def _supports_winssl(self): - # https://github.com/libcpr/cpr/commit/18e1fc5c3fc0ffc07695f1d78897fb69e7474ea9 - # https://github.com/libcpr/cpr/releases/tag/1.5.1 - return Version(self.version) >= "1.5.1" and self.settings.os == "Windows" - - @property - def _supports_darwinssl(self): - # https://github.com/libcpr/cpr/releases/tag/1.6.1 - return Version(self.version) >= "1.6.1" and is_apple_os(self) - - @property - def _can_auto_ssl(self): - # https://github.com/libcpr/cpr/releases/tag/1.6.0 - return not self._uses_old_cmake_options and not ( - # https://github.com/libcpr/cpr/issues/546 - Version(self.version) in ["1.6.0", "1.6.1"] - and is_apple_os(self) - ) - - @property - def _uses_old_cmake_options(self): - # https://github.com/libcpr/cpr/releases/tag/1.6.0 - return Version(self.version) < "1.6.0" - @property def _uses_valid_abi_and_compiler(self): # https://github.com/conan-io/conan-center-index/pull/5194#issuecomment-821908385 return not ( - Version(self.version) >= "1.6.0" - and self.settings.compiler == "clang" + self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libstdc++" and Version(self.settings.compiler.version) < "9" ) @@ -103,15 +71,6 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - ssl_library = str(self.options.get_safe("with_ssl")) - if not self._can_auto_ssl and ssl_library == CprConan._AUTO_SSL: - if self._supports_openssl: - self.output.info("Auto SSL is not available below version 1.6.0. Falling back to openssl") - self.options.with_ssl = "openssl" - else: - self.output.info("Auto SSL is not available below version 1.6.0 (or below 1.6.2 on macOS), and openssl not supported. Disabling SSL") - self.options.with_ssl = CprConan._NO_SSL - if Version(self.version) < "1.10.0": del self.options.verbose_logging @@ -130,23 +89,6 @@ def requirements(self): if self.settings.os in ["Linux", "FreeBSD"] and self.options.with_ssl in ["openssl", CprConan._AUTO_SSL]: self.requires("openssl/[>=1.1 <4]") - # Check if the system supports the given ssl library - def _supports_ssl_library(self, library): - if library == CprConan._NO_SSL: - return True - elif library == CprConan._AUTO_SSL: - return self._can_auto_ssl - - validators = { - "openssl": self._supports_openssl, - "darwinssl": self._supports_darwinssl, - "winssl": self._supports_winssl, - CprConan._AUTO_SSL: self._can_auto_ssl - } - - # A KeyError should never happen, as the options are validated by conan. - return validators[library] - def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -156,23 +98,17 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - SSL_FAILURE_MESSAGES = { - "openssl": "OpenSSL is not supported on macOS or on CPR versions < 1.5.0", - "darwinssl": "DarwinSSL is only supported on macOS and on CPR versions >= 1.6.1", - "winssl": "WinSSL is only on Windows and on CPR versions >= 1.5.1", - CprConan._AUTO_SSL: "Automatic SSL selection is only available on CPR versions >= 1.6.0 (and only >= 1.6.2 on macOS)" - } - if not self._uses_valid_abi_and_compiler: raise ConanInvalidConfiguration(f"Cannot compile {self.ref} with libstdc++ on clang < 9") ssl_library = str(self.options.with_ssl) - if not self._supports_ssl_library(ssl_library): - raise ConanInvalidConfiguration( - f"Invalid SSL selection for the given configuration: {SSL_FAILURE_MESSAGES[ssl_library]}" - if ssl_library in SSL_FAILURE_MESSAGES - else f"Invalid value of ssl option, {ssl_library}" - ) + + if ssl_library == "openssl" and is_apple_os(self): + raise ConanInvalidConfiguration("OpenSSL is not supported on macOS") + if ssl_library == "darwinssl" and not is_apple_os(self): + raise ConanInvalidConfiguration("DarwinSSL is only supported on macOS") + if ssl_library == "winssl" and self.settings.os != "Windows": + raise ConanInvalidConfiguration("WinSSL is only on Windows") if ssl_library not in (CprConan._AUTO_SSL, CprConan._NO_SSL, "winssl") and ssl_library != self.dependencies["libcurl"].options.with_ssl: raise ConanInvalidConfiguration( @@ -193,47 +129,22 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _get_cmake_option(self, option): - CPR_1_6_CMAKE_OPTIONS_TO_OLD = { - "CPR_FORCE_USE_SYSTEM_CURL": "USE_SYSTEM_CURL", - "CPR_BUILD_TESTS": "BUILD_CPR_TESTS", - "CPR_BUILD_TESTS_SSL": "BUILD_CPR_TESTS_SSL", - "CPR_GENERATE_COVERAGE": "GENERATE_COVERAGE", - "CPR_USE_SYSTEM_GTEST": "USE_SYSTEM_GTEST", - "CPR_FORCE_OPENSSL_BACKEND": "USE_OPENSSL", - "CPR_FORCE_WINSSL_BACKEND": "USE_WINSSL", - } - - if self._uses_old_cmake_options: - # Get the translated option if we can, or the original if one isn't defined. - return CPR_1_6_CMAKE_OPTIONS_TO_OLD.get(option, option) - - CPR_1_6_CMAKE_OPTIONS_TO_1_10 = { - "CPR_FORCE_USE_SYSTEM_CURL": "CPR_USE_SYSTEM_CURL" - } - - if Version(self.version) >= "1.10.0": - return CPR_1_6_CMAKE_OPTIONS_TO_1_10.get(option, option) - return option - def generate(self): tc = CMakeToolchain(self) - tc.variables[self._get_cmake_option("CPR_FORCE_USE_SYSTEM_CURL")] = True - tc.variables[self._get_cmake_option("CPR_BUILD_TESTS")] = False - tc.variables[self._get_cmake_option("CPR_GENERATE_COVERAGE")] = False - tc.variables[self._get_cmake_option("CPR_USE_SYSTEM_GTEST")] = False + if Version(self.version) >= "1.10.0": + tc.variables["CPR_USE_SYSTEM_CURL"] = True + else: + tc.variables["CPR_FORCE_USE_SYSTEM_CURL"] = True + tc.variables["CPR_BUILD_TESTS"] = False + tc.variables["CPR_GENERATE_COVERAGE"] = False + tc.variables["CPR_USE_SYSTEM_GTEST"] = False tc.variables["CPR_CURL_NOSIGNAL"] = not self.options.signal - ssl_value = str(self.options.get_safe("with_ssl")) - SSL_OPTIONS = { - "CPR_FORCE_DARWINSSL_BACKEND": ssl_value == "darwinssl", - "CPR_FORCE_OPENSSL_BACKEND": ssl_value == "openssl", - "CPR_FORCE_WINSSL_BACKEND": ssl_value == "winssl", - "CMAKE_USE_OPENSSL": ssl_value == "openssl" - } - for cmake_option, value in SSL_OPTIONS.items(): - tc.variables[self._get_cmake_option(cmake_option)] = value + tc.variables["CPR_FORCE_DARWINSSL_BACKEND"] = (self.options.with_ssl == "darwinssl") + tc.variables["CPR_FORCE_OPENSSL_BACKEND"] = (self.options.with_ssl == "openssl") + tc.variables["CPR_FORCE_WINSSL_BACKEND"] = (self.options.with_ssl == "winssl") + tc.variables["CMAKE_USE_OPENSSL"] = (self.options.with_ssl == "openssl") # If we are on a version where disabling SSL requires a cmake option, disable it - if not self._uses_old_cmake_options and str(self.options.get_safe("with_ssl")) == CprConan._NO_SSL: + if self.options.with_ssl == CprConan._NO_SSL: tc.variables["CPR_ENABLE_SSL"] = False if self.options.get_safe("verbose_logging", False): From e6590534067869efe0afe523929000ff7fa28df1 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Dec 2023 19:10:43 +0100 Subject: [PATCH 2896/4087] (#21579) ffmpeg: Update xz_utils requirements --- recipes/ffmpeg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 2547d9542895b..b62169338c0de 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -261,7 +261,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_libiconv: self.requires("libiconv/1.17") if self.options.with_freetype: From 3add1c1df06805d3f6594dfb5ffc55caf473bd17 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 19:19:46 +0100 Subject: [PATCH 2897/4087] (#21507) mapbox-variant: add package_type --- recipes/mapbox-variant/all/conanfile.py | 14 ++++++-------- .../mapbox-variant/all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 11 ++++------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/recipes/mapbox-variant/all/conanfile.py b/recipes/mapbox-variant/all/conanfile.py index dd51a969a8f23..e84afc0329042 100644 --- a/recipes/mapbox-variant/all/conanfile.py +++ b/recipes/mapbox-variant/all/conanfile.py @@ -10,13 +10,17 @@ class MapboxVariantConan(ConanFile): name = "mapbox-variant" description = "An header-only alternative to boost::variant for C++11 and C++14" - topics = ("variant") + topics = ("variant",) license = "BSD-3-Clause" homepage = "https://github.com/mapbox/variant" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,12 +28,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/mapbox-variant/all/test_package/conanfile.py b/recipes/mapbox-variant/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/mapbox-variant/all/test_package/conanfile.py +++ b/recipes/mapbox-variant/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt b/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt index 5f12dfeb0954a..b21cc49efde95 100644 --- a/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt +++ b/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mapbox-variant REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE mapbox-variant::mapbox-variant) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 5c0817efc2dc0c2774c08bd1de6600bc36ce0a34 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:32:52 -0500 Subject: [PATCH 2898/4087] (#21574) cpptrace: Add 0.3.1 * Add cpptrace 0.3.1 and patch 0.3.0 * Bump hash --- recipes/cpptrace/all/conandata.yml | 9 +++++++++ .../all/patches/0.3.0/0001-cpptrace_export.patch | 13 +++++++++++++ recipes/cpptrace/config.yml | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index 3cac71ee486fa..d032d0a5a873d 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.3.1": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.1.tar.gz" + sha256: "3c4c5b3406c2b598e5cd2a8cb97f9e8e1f54d6df087a0e62564e6fb68fed852d" "0.3.0": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.0.tar.gz" @@ -9,6 +13,11 @@ sources: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" sha256: "3184f404c61b6b8ba6fe7c64fc40d1c3d6d87df59bcacf1845d846101bc22f9a" patches: + "0.3.0": + - patch_file: "patches/0.3.0/0001-cpptrace_export.patch" + patch_type: "bugfix" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/b3b9d5fda6c7f53b069848e7e79454f3618ca356" + patch_description: "Fix an incorrect CPPTRACE_EXPORT annotation" "0.2.1": - patch_file: "patches/0.2.1/0001-to_uintptr.patch" patch_type: "bugfix" diff --git a/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch b/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch new file mode 100644 index 0000000000000..d75b21cd35c7f --- /dev/null +++ b/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch @@ -0,0 +1,13 @@ +diff --git a/include/cpptrace/cpptrace.hpp b/include/cpptrace/cpptrace.hpp +index b35bed1..27b626b 100644 +--- a/include/cpptrace/cpptrace.hpp ++++ b/include/cpptrace/cpptrace.hpp +@@ -90,7 +90,7 @@ namespace cpptrace { + // This is used over std::optional because the library is C++11 and also std::optional is a bit heavy-duty for this + // use. + template::value, int>::type = 0> +- struct CPPTRACE_EXPORT nullable { ++ struct nullable { + T raw_value; + nullable& operator=(T value) { + raw_value = value; diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index 182eea5248ab1..c4a25b816da1e 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.3.1": + folder: all "0.3.0": folder: all "0.2.1": From f89a07b9898baca5d84ca1a096966be4446b655c Mon Sep 17 00:00:00 2001 From: Kilian <12865310+KingKili@users.noreply.github.com> Date: Mon, 4 Dec 2023 19:58:01 +0100 Subject: [PATCH 2899/4087] (#21000) hdf5: add version 1.14.3 * hdf5: add version 1.14.3 * Do not use conf.get to check if conf item exits * Rename tools.qemu:path to user.qemu:path * Remove exception for crossbuilding environments --- recipes/hdf5/all/conandata.yml | 3 +++ recipes/hdf5/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hdf5/all/conandata.yml b/recipes/hdf5/all/conandata.yml index 3a6f50129df1b..c5d710eb6a95b 100644 --- a/recipes/hdf5/all/conandata.yml +++ b/recipes/hdf5/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.3": + url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_3/hdf5-1_14_3.tar.gz" + sha256: "df5ee33c74d5efb59738075ef96f4201588e1f1eeb233f047ac7fd1072dee1f6" "1.14.2": url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_2.tar.gz" sha256: "83eaee3f9d1790bb4b29368bf1a648ece763097a4122c80a81076e8fb1e890e6" diff --git a/recipes/hdf5/config.yml b/recipes/hdf5/config.yml index 19837ccfc8822..78000beb7c226 100644 --- a/recipes/hdf5/config.yml +++ b/recipes/hdf5/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.3": + folder: all "1.14.2": folder: all "1.14.1": From e150dc6cb5f9c17d66df70330f1f6624a456cd70 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 04:17:58 +0900 Subject: [PATCH 2900/4087] (#21460) libbigwig: update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libbigwig/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index 92c3a5f4a85af..d8ac63458a127 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -45,9 +45,9 @@ def requirements(self): if self.options.with_curl: # transitive_headers=True is required due to includes in bigWigIO.h # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 - self.requires("libcurl/8.2.1", transitive_headers=True) + self.requires("libcurl/8.4.0", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.1.3") + self.requires("zlib-ng/2.1.5") else: self.requires("zlib/[>=1.2.11 <2]") From 96f4d9200bb6dc342984de236839ff206dd6eca6 Mon Sep 17 00:00:00 2001 From: Charles Brunet Date: Mon, 4 Dec 2023 14:38:42 -0500 Subject: [PATCH 2901/4087] (#21533) pkgconf: add version 2.1.0 --- recipes/pkgconf/all/conandata.yml | 5 +++++ ...KG_CONF_PATH-allow-colon+semicolon-separator.patch | 11 +++++++++++ recipes/pkgconf/config.yml | 2 ++ 3 files changed, 18 insertions(+) create mode 100644 recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch diff --git a/recipes/pkgconf/all/conandata.yml b/recipes/pkgconf/all/conandata.yml index 30195c0bf1274..413c62bff29ba 100644 --- a/recipes/pkgconf/all/conandata.yml +++ b/recipes/pkgconf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.1.0.tar.xz" + sha256: "266d5861ee51c52bc710293a1d36622ae16d048d71ec56034a02eb9cf9677761" "2.0.3": url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.0.3.tar.xz" sha256: "cabdf3c474529854f7ccce8573c5ac68ad34a7e621037535cbc3981f6b23836c" @@ -18,6 +21,8 @@ sources: url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.3.tar.xz" sha256: "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" patches: + "2.1.0": + - patch_file: "patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "2.0.3": - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "2.0.2": diff --git a/recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch b/recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch new file mode 100644 index 0000000000000..ad4d094366b00 --- /dev/null +++ b/recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch @@ -0,0 +1,11 @@ +--- libpkgconf/path.c ++++ libpkgconf/path.c +@@ -170,7 +170,7 @@ + return 0; + + iter = workbuf = strdup(text); +- while ((p = strtok(iter, PKG_CONFIG_PATH_SEP_S)) != NULL) ++ while ((p = strtok(iter, ":;")) != NULL) + { + pkgconf_path_add(p, dirlist, filter); + diff --git a/recipes/pkgconf/config.yml b/recipes/pkgconf/config.yml index 0ccc580d4eb3c..f64bc13961492 100644 --- a/recipes/pkgconf/config.yml +++ b/recipes/pkgconf/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: "all" "2.0.3": folder: "all" "2.0.2": From 38045d497723243062a4b41c743e8a849cb6e059 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 20:58:01 +0100 Subject: [PATCH 2902/4087] (#21554) cmake: add versions 3.26.6 & 3.27.9 --- recipes/cmake/binary/conandata.yml | 38 ++++++++++++++++++++++++++++++ recipes/cmake/config.yml | 4 ++++ 2 files changed, 42 insertions(+) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 9c2494ef70ebb..6eae0c6e97427 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.9": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-linux-aarch64.tar.gz" + sha256: "11bf3d30697df465cdf43664a9473a586f010c528376a966fd310a3a22082461" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-linux-x86_64.tar.gz" + sha256: "72b01478eeb312bf1a0136208957784fe55a7b587f8d9f9142a7fc9b0b9e9a28" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-macos10.10-universal.tar.gz" + sha256: "2ced09b99b265d18c5e215984e5898b7e3a0cc7a1293c3f3b45e4bec87a46814" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-windows-arm64.zip" + sha256: "bca795134956264ede142f79aa513476985f4f410f6501a727d602760e9212dd" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-windows-x86_64.zip" + sha256: "c14e8b5d1c7be0baf0e7936ce8b5a39c5ee3450b14d7e3b32435083eddd9aff7" "3.27.7": Linux: armv8: @@ -75,6 +94,25 @@ sources: x86_64: url: "https://cmake.org/files/v3.27/cmake-3.27.4-windows-x86_64.zip" sha256: "e5e060756444d0b2070328a8821c1ceb62bd6d267aae61bfff06f96c7ec943a6" + "3.26.6": + Linux: + armv8: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-linux-aarch64.tar.gz" + sha256: "7b91a212b9e8ca38c1482ae40ff2d3e33e9d1c7b337b39f74bd4f34fd070bb1d" + x86_64: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-linux-x86_64.tar.gz" + sha256: "2dd48ccd3e3d872ee4cc916f3f4e24812612421007e895f82bf9fc7e49831d62" + Macos: + universal: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-macos10.10-universal.tar.gz" + sha256: "7a4500989351e1319bb86802ead09a13d2394636efeb5da6d78212e12f2cb961" + Windows: + armv8: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-windows-arm64.zip" + sha256: "16cf13c42d3f4d63ad1d61d0333b6101c0e88f893ac39f435ef472b46f50e9b2" + x86_64: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-windows-x86_64.zip" + sha256: "07b1c4cae3182ca1782a4d9775b5e5d164b475eb010e1dd98ce0c206c38fa73d" "3.26.5": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 7c56e333cf666..cdf491b2833f0 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.27.9": + folder: "binary" "3.27.7": folder: "binary" "3.27.6": @@ -7,6 +9,8 @@ versions: folder: "binary" "3.27.4": folder: "binary" + "3.26.6": + folder: "binary" "3.26.5": folder: "binary" "3.25.3": From ad9b452540e07fcf8a178d5258ec5860e42279a6 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 21:22:09 +0100 Subject: [PATCH 2903/4087] (#21556) very-simple-smtps: use version range for libcurl --- recipes/very-simple-smtps/all/conanfile.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/recipes/very-simple-smtps/all/conanfile.py b/recipes/very-simple-smtps/all/conanfile.py index cd85fab595e54..d2c2b6bd073a1 100644 --- a/recipes/very-simple-smtps/all/conanfile.py +++ b/recipes/very-simple-smtps/all/conanfile.py @@ -55,13 +55,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - required_packages = [ - "libcurl/8.0.1", - "doctest/2.4.11", - ] - - for package in required_packages: - self.requires(package) + self.requires("doctest/2.4.11") + self.requires("libcurl/[>=7.78.0 <9]") def validate(self): if self.settings.os != "Linux": @@ -108,7 +103,7 @@ def package(self): copy(self, pattern="include/*.hpp", dst=os.path.join(self.package_folder, ""), src=self.source_folder) meson = Meson(self) meson.install() - + rmdir(self, os.path.join(self.package_folder, "share")) rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) From fc03f53ca214135e692846905d16ec70a9f8983d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 21:32:45 +0100 Subject: [PATCH 2904/4087] (#21561) exiv2: bump deps, use version range for libcurl --- recipes/exiv2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 94d55cc8a9289..0df5814a8917e 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -78,9 +78,9 @@ def requirements(self): if self.options.with_xmp == "bundled": self.requires("expat/2.5.0") if self.options.with_curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("with_brotli"): - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") if self.options.get_safe("with_inih"): self.requires("inih/57") From 0456a76852bd80ea1545d847fbfe8b609fcebd77 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 21:45:28 +0100 Subject: [PATCH 2905/4087] (#21563) ulfius: use version range for libcurl --- recipes/ulfius/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ulfius/all/conanfile.py b/recipes/ulfius/all/conanfile.py index ef99e9603e550..cfafd90c8a600 100644 --- a/recipes/ulfius/all/conanfile.py +++ b/recipes/ulfius/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): if self.options.with_jansson: self.requires("jansson/2.14", transitive_headers=True) if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def source(self): get(self, **self.conan_data["sources"][self.version], From f750d8723f4881427bde2ab179de00721cd7e621 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 22:31:06 +0100 Subject: [PATCH 2906/4087] (#21568) coost: use version range for libcurl --- recipes/coost/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/coost/all/conanfile.py b/recipes/coost/all/conanfile.py index 6bdf895367ac5..8c56318918c27 100644 --- a/recipes/coost/all/conanfile.py +++ b/recipes/coost/all/conanfile.py @@ -44,7 +44,7 @@ def configure(self): def requirements(self): if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libcurl or self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.settings.os == "Linux": From 903f007ae6b22a865de82460063dd307d4d9b90b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 22:40:31 +0100 Subject: [PATCH 2907/4087] (#21569) tixi3: use version range for libcurl --- recipes/tixi3/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index f552a4f54ec24..945f16516ecaa 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -33,9 +33,9 @@ def generate(self): deps.generate() def requirements(self): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") self.requires("libxslt/1.1.34") - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def layout(self): cmake_layout(self, src_folder="src") From 779429ebadd2c02fea52e6aaae4e4d14214c9e1c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 22:50:36 +0100 Subject: [PATCH 2908/4087] (#21572) sentry-crashpad: use version range for libcurl --- recipes/sentry-crashpad/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-crashpad/all/conanfile.py b/recipes/sentry-crashpad/all/conanfile.py index 097dc9f7336e9..b18eacff4f64c 100644 --- a/recipes/sentry-crashpad/all/conanfile.py +++ b/recipes/sentry-crashpad/all/conanfile.py @@ -62,7 +62,7 @@ def build_requirements(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("with_tls"): self.requires("openssl/[>=1.1 <4]") From 745611050e1f0678c421b3f22b3d6f8a1d8122eb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 22:59:17 +0100 Subject: [PATCH 2909/4087] (#21576) mpark-variant: add package_type --- recipes/mpark-variant/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/mpark-variant/all/conanfile.py b/recipes/mpark-variant/all/conanfile.py index e015db951bf2d..1796ef9e9cc74 100644 --- a/recipes/mpark-variant/all/conanfile.py +++ b/recipes/mpark-variant/all/conanfile.py @@ -15,6 +15,7 @@ class MparkVariantConan(ConanFile): description = "C++17 std::variant for C++11/14/17" license = "BSL-1.0" topics = ("variant", "mpark-variant") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -29,8 +30,7 @@ def validate(self): check_min_cppstd(self, "11") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 66bd02213b619a2d80268cd8e29fd6e6e4c82106 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 23:25:15 +0100 Subject: [PATCH 2910/4087] (#21366) sqlpp11-connector-sqlite3: bump sqlite3 --- recipes/sqlpp11-connector-sqlite3/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlpp11-connector-sqlite3/all/conanfile.py b/recipes/sqlpp11-connector-sqlite3/all/conanfile.py index 323830b296d9a..ceff1e9e63969 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/conanfile.py +++ b/recipes/sqlpp11-connector-sqlite3/all/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): if self.options.with_sqlcipher: self.requires("sqlcipher/4.5.1", transitive_headers=True, transitive_libs=True) else: - self.requires("sqlite3/3.43.2", transitive_headers=True, transitive_libs=True) + self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 421ee23231656807c963eba01d7e794f84f0274b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 01:07:56 +0100 Subject: [PATCH 2911/4087] (#21562) cpr: use version range for libcurl --- recipes/cpr/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index 60560152c702a..b2e254935a1fd 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -82,7 +82,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.4.0", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True, transitive_libs=True) # FIXME: This is a very dirty hack. # with_ssl == _AUTO_SSL, cpr needs the openssl header to compile. But Conan recipe does not know which SSL library to use. # because cpr's CMakeLists.txt automatically detects SSL libraries with CPR_ENABLE_SSL == ON. From d7f6378ff3b0137a86ab231f328479dbed3924a2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 5 Dec 2023 01:15:41 +0000 Subject: [PATCH 2912/4087] (#21594) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 3f4ed4cf0b99e..296aece8ce97e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -172,6 +172,7 @@ required_for_references: - cli11 - clickhouse-cpp - clipboard_lite +- clipp - clipper - clipper2 - clove-unit @@ -276,6 +277,7 @@ required_for_references: - dirent - discount - djinni-generator +- djinni-support-lib - dlib - dlpack - docopt.cpp @@ -493,6 +495,7 @@ required_for_references: - iconfontcppheaders - icu - id3v2lib +- ignition-cmake - iir1 - im95able-rea - imagl @@ -534,6 +537,7 @@ required_for_references: - jsmn - json-c - json-schema-validator +- json_dto - jsoncons - jsoncpp - jsonnet @@ -621,6 +625,7 @@ required_for_references: - libfdk_aac - libffi - libfreenect +- libftdi - libfuse - libgcrypt - libgd @@ -878,6 +883,7 @@ required_for_references: - nanosvg - nas - nasm +- ncurses - neargye-semver - netcdf - nettle @@ -986,6 +992,7 @@ required_for_references: - pcl - pcre - pcre2 +- pdcurses - pdf-writer - pdfgen - pdfium @@ -1216,6 +1223,7 @@ required_for_references: - stx - subunit - sundials +- suyash-ulid - svector - svgpp - svgwrite @@ -1258,6 +1266,7 @@ required_for_references: - tiny-dnn - tiny-regex-c - tiny-utf8 +- tinyalsa - tinycbor - tinycthread - tinycthreadpool From 22a72cadcbe81b785e9739adf93fbe796b887ab2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 02:50:33 +0100 Subject: [PATCH 2913/4087] (#21570) libucl: use version range for libcurl --- recipes/libucl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libucl/all/conanfile.py b/recipes/libucl/all/conanfile.py index 5962211b5f08a..f81b0da544841 100644 --- a/recipes/libucl/all/conanfile.py +++ b/recipes/libucl/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): if self.options.enable_url_include: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.enable_url_sign: self.requires("openssl/[>=1.1 <4]") if self.options.with_lua == "lua": From d370c29a57cff7eb8524df75f1faeb492f85f49e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 5 Dec 2023 03:01:41 +0100 Subject: [PATCH 2914/4087] (#21577) mpmcqueue: add package_type --- recipes/mpmcqueue/all/conanfile.py | 14 ++++++-------- recipes/mpmcqueue/all/test_package/conanfile.py | 7 ++++--- .../mpmcqueue/all/test_v1_package/CMakeLists.txt | 12 ++++-------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/recipes/mpmcqueue/all/conanfile.py b/recipes/mpmcqueue/all/conanfile.py index f31d795bc0cc2..956244df07486 100644 --- a/recipes/mpmcqueue/all/conanfile.py +++ b/recipes/mpmcqueue/all/conanfile.py @@ -13,12 +13,16 @@ class MpmcqueueConan(ConanFile): name = "mpmcqueue" description = "A bounded multi-producer multi-consumer concurrent queue written in C++11." license = "MIT" - topics = ("mpmcqueue", "queue", "concurrency") + topics = ("queue", "concurrency") homepage = "https://github.com/rigtorp/MPMCQueue" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -28,12 +32,8 @@ def validate(self): if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration("gcc < 5 not supported") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -46,9 +46,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "MPMCQueue") self.cpp_info.set_property("cmake_target_name", "MPMCQueue::MPMCQueue") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "MPMCQueue" diff --git a/recipes/mpmcqueue/all/test_package/conanfile.py b/recipes/mpmcqueue/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/mpmcqueue/all/test_package/conanfile.py +++ b/recipes/mpmcqueue/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt b/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt index e299736630b60..b21cc49efde95 100644 --- a/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt +++ b/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(MPMCQueue REQUIRED CONFIG) -find_package(Threads REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE MPMCQueue::MPMCQueue Threads::Threads) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From e1e932ea05c6e039969110cf5d26c750015b7c02 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 04:12:17 +0200 Subject: [PATCH 2915/4087] (#21580) opencolorio: bump deps --- recipes/opencolorio/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 3a0853bf1de74..13719aad33361 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if Version(self.version) < "2.2.0": self.requires("openexr/2.5.7") else: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") self.requires("imath/3.1.9") if Version(self.version) < "2.0.0": @@ -61,7 +61,7 @@ def requirements(self): self.requires("yaml-cpp/0.8.0") if Version(self.version) >= "2.3.0": - self.requires("minizip-ng/4.0.1") + self.requires("minizip-ng/4.0.3") elif Version(self.version) >= "2.2.0": self.requires("minizip-ng/3.0.9") From 8284c645009e26bbb035af7a1c43809f1de2e70c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 04:21:12 +0200 Subject: [PATCH 2916/4087] (#21583) xerces-c: bump icu --- recipes/xerces-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index f1c41e9279b85..ea827bcd4bbeb 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -70,7 +70,7 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.network_accessor == "curl": self.requires("libcurl/[>=7.78.0 <9]") From f9421168bccc65317e470a145be14f1946e57c77 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 03:48:59 +0100 Subject: [PATCH 2917/4087] (#21573) sentry-native: use version range for libcurl --- recipes/sentry-native/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 64c0a526c8730..35bd2e66caa37 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -103,7 +103,7 @@ def layout(self): def requirements(self): if self.options.transport == "curl": - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.backend == "crashpad": if self.options.with_crashpad == "sentry": self.requires(f"sentry-crashpad/{self.version}") From 198873b10142d6d3589417b995f17980353c3adc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 05:18:51 +0200 Subject: [PATCH 2918/4087] (#21582) libmysqlclient: bump libunwind --- recipes/libmysqlclient/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 37c00e1110d01..10ca9c1297853 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -70,7 +70,7 @@ def requirements(self): self.requires("zstd/1.5.5") self.requires("lz4/1.9.4") if self.settings.os == "FreeBSD": - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.2") def validate_build(self): if self.settings.compiler.get_safe("cppstd"): From 6f09c2400ecf6ea109e9ee9fb2a58d63df11fa2e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 04:48:42 +0100 Subject: [PATCH 2919/4087] (#21584) libsigcpp: bump pkgconf --- recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py b/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py +++ b/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 420cf4527b7bc5ad47bebce72bcf796036b8cd8f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 05:08:44 +0100 Subject: [PATCH 2920/4087] (#21586) proj/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index ee6edd6244053..cc5091962196d 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("sqlite3/3.44.2") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") From a95332913b9c193d0fdf3c8d8a63adc691f9e4e2 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Tue, 5 Dec 2023 07:47:51 +0300 Subject: [PATCH 2921/4087] (#21587) md4qt: bump version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 5afd49cb17918..d96eda05407e0 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.3.tar.gz" + sha256: "89584d77d7e338d858e2198b20cd091cc713aef74880ef1fccc6c1e9d8b74acd" "2.3.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.2.tar.gz" sha256: "0a89854d639a3710ab89611333fd1a1047cd5edc87ba767fbefdc37e701ae671" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index baed679ffd429..deba7afb70efc 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.3": + folder: all "2.3.2": folder: all "2.3.1": From e069c27f626886b42ec99a19648d4a28e2cec073 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 14:08:01 +0900 Subject: [PATCH 2922/4087] (#21589) libserial: add version cci.20230909 --- recipes/libserial/all/conandata.yml | 3 +++ recipes/libserial/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libserial/all/conandata.yml b/recipes/libserial/all/conandata.yml index f2d6529173319..3c560a2bb697e 100644 --- a/recipes/libserial/all/conandata.yml +++ b/recipes/libserial/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230909": + url: "https://github.com/crayzeewulf/libserial/archive/ee1992dc3c5dc41a0e18e2d1dad18c103eb405ec.tar.gz" + sha256: "2b83141630c76e119b19d85958c8685efab6eff3e2af3435933b8f2ac147f62a" "cci.20200930": url: "https://github.com/crayzeewulf/libserial/archive/1d1e47a2faae0470f93eb291263b0ce7ea119a81.tar.gz" sha256: "a433b04bd42e8b4504e5e1fbe7ec22b648f2872d3d125e58c17b9c6c1b171bba" diff --git a/recipes/libserial/config.yml b/recipes/libserial/config.yml index 27812caf46f4d..3318e67617d62 100644 --- a/recipes/libserial/config.yml +++ b/recipes/libserial/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230909": + folder: all "cci.20200930": folder: all From 2e5aa01189dfd04207ed77b2e3fbecfe70ac3d2c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 14:27:51 +0900 Subject: [PATCH 2923/4087] (#21590) etl: add version 20.38.7 --- recipes/etl/all/conandata.yml | 3 +++ recipes/etl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index b8a091482c8ef..279507cf9ffbe 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.38.7": + url: "https://github.com/ETLCPP/etl/archive/20.38.7.tar.gz" + sha256: "65cfc033bacab452af05a36bd53b8cdc2bdfd1492b2adc5bb51d2f00e451491f" "20.38.6": url: "https://github.com/ETLCPP/etl/archive/20.38.6.tar.gz" sha256: "95515f2229fe75393d18ee95548998a06e65a02acd5eedae5808dd34f8201462" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 31df60b3dd01f..6e14699582a88 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.7": + folder: all "20.38.6": folder: all "20.38.4": From f207db06250beb6fd762bcb5e89a7c4c1f2c6e71 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 17:09:00 +0900 Subject: [PATCH 2924/4087] (#21598) cpp-httplib: add version 0.14.2 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 89e0040b5d9cb..7e54c58b1975d 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.2": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.2.tar.gz" + sha256: "dbcf5590e8ed35c6745c2ad659a5ebec92f05187d1506eec24449d6db95e5084" "0.14.1": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.1.tar.gz" sha256: "2d4fb5544da643e5d0a82585555d8b7502b4137eb321a4abbb075e21d2f00e96" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 44182a765684d..190ca8b340419 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.2": + folder: all "0.14.1": folder: all "0.14.0": From 1bb8f6e57006e429c5f0ec2659843330ba7780c2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 5 Dec 2023 11:02:23 +0200 Subject: [PATCH 2925/4087] (#21603) [docs] Add changelog 05-December-2023 --- docs/changelog.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index c81677698b9e5..10cbbd6810dde 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,14 @@ # Changelog +### 05-December-2023 - 16:23 CET + +- [fix] Use the correct profile to test a tool_require. +- [feature] Add armv8 extra flag in profile arch when building in Macos M1. +- [fix] Prioritization of non-shared builds. +- [fix] Do not raise an exception in case slack fails. +- [fix] Remove epochs. +- [fix] Remove some dead code. + ### 26-Oct-2023 - 12:13 CEST - [feature] Allow X.Y semver for version bumps From 36487cb11d3cd6a6ea84e33009c3b945941ca6ba Mon Sep 17 00:00:00 2001 From: temap Date: Tue, 5 Dec 2023 11:17:34 +0200 Subject: [PATCH 2926/4087] (#21227) Add version libbpf v1.1.0, replace libelf dependency, bump linux-headers-generic, and add UAPI headers installation option * libbpf: Add version 1.1.0 * libbpf: Add UAPI headers installation option * libbpf: Bump linux-headers-generic to v5.15.128 * libbpf: Replace libelf requirement with elfutils v0.180 --- recipes/libbpf/all/conandata.yml | 3 +++ recipes/libbpf/all/conanfile.py | 12 ++++++++---- recipes/libbpf/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/libbpf/all/conandata.yml b/recipes/libbpf/all/conandata.yml index dced81ebf510c..911aa968231c9 100644 --- a/recipes/libbpf/all/conandata.yml +++ b/recipes/libbpf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/libbpf/libbpf/archive/refs/tags/v1.1.0.tar.gz" + sha256: "5da826c968fdb8a2f714701cfef7a4b7078be030cf58b56143b245816301cbb8" "0.7.0": url: "https://github.com/libbpf/libbpf/archive/refs/tags/v0.7.0.tar.gz" sha256: "5083588ce5a3a620e395ee1e596af77b4ec5771ffc71cff2af49dfee38c06361" diff --git a/recipes/libbpf/all/conanfile.py b/recipes/libbpf/all/conanfile.py index 6ed8f1c59f1d0..cff329c2d8d07 100644 --- a/recipes/libbpf/all/conanfile.py +++ b/recipes/libbpf/all/conanfile.py @@ -19,11 +19,13 @@ class LibbpfConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], + "with_uapi_headers": [True, False] } default_options = { "shared": False, - "fPIC": True + "fPIC": True, + "with_uapi_headers": False } def config_options(self): @@ -40,8 +42,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("linux-headers-generic/5.14.9", transitive_headers=True) - self.requires("libelf/0.8.13") + self.requires("linux-headers-generic/5.15.128", transitive_headers=True) + self.requires("elfutils/0.180", transitive_headers=True, transitive_libs=True) self.requires("zlib/[>=1.2.11 <2]") def validate(self): @@ -75,6 +77,8 @@ def build(self): with chdir(self, os.path.join(self.source_folder, "src")): autotools = Autotools(self) autotools.make() + if self.options.with_uapi_headers: + autotools.make('install_uapi_headers') def package(self): copy(self, pattern="LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) diff --git a/recipes/libbpf/config.yml b/recipes/libbpf/config.yml index 4383f9baf5229..da5d208551b71 100644 --- a/recipes/libbpf/config.yml +++ b/recipes/libbpf/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "0.7.0": folder: all "0.5.0": From 5afb6aac7a1d3ece981f730f428739cdac3531c8 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 5 Dec 2023 10:15:12 +0000 Subject: [PATCH 2927/4087] (#21608) [bot] Update authorized users list (2023-12-05) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index a11ae5706964d..5681376346c2d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1246,3 +1246,6 @@ authorized_users: - abedra - bennettgoble - juansblanco +- jmalopoy +- mlutken +- hoyhoy From ec23def443236505a01b9dd0e0a0457965bc0373 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 12:46:41 +0200 Subject: [PATCH 2928/4087] (#18902) jerryscript: migrate to Conan v2 * jerryscript: migrate to Conan v2 * jerryscript: fix_apple_shared_install_name() * jerryscript: fix incorrect option name --- recipes/jerryscript/all/CMakeLists.txt | 7 - recipes/jerryscript/all/conandata.yml | 12 +- recipes/jerryscript/all/conanfile.py | 195 +++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../jerryscript/all/test_package/conanfile.py | 23 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 7 files changed, 151 insertions(+), 118 deletions(-) delete mode 100644 recipes/jerryscript/all/CMakeLists.txt create mode 100644 recipes/jerryscript/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jerryscript/all/test_v1_package/conanfile.py diff --git a/recipes/jerryscript/all/CMakeLists.txt b/recipes/jerryscript/all/CMakeLists.txt deleted file mode 100644 index 361b35d4c17d9..0000000000000 --- a/recipes/jerryscript/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/jerryscript/all/conandata.yml b/recipes/jerryscript/all/conandata.yml index f587b0a08830d..466f9de6c36b3 100644 --- a/recipes/jerryscript/all/conandata.yml +++ b/recipes/jerryscript/all/conandata.yml @@ -10,13 +10,9 @@ sources: url: https://github.com/jerryscript-project/jerryscript/archive/v2.4.0.zip patches: "2.2.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-2.3.0-remove-werror.patch" + - patch_file: "patches/0001-2.3.0-remove-werror.patch" "2.3.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-2.3.0-remove-werror.patch" + - patch_file: "patches/0001-2.3.0-remove-werror.patch" "2.4.0": - - base_path: "source_subfolder" - patch_file: "patches/0002-2.4.0-remove-werror.patch" - - base_path: "source_subfolder" - patch_file: "patches/0003-2.4.0-no-CMAKE_SOURCE_DIR.patch" + - patch_file: "patches/0002-2.4.0-remove-werror.patch" + - patch_file: "patches/0003-2.4.0-no-CMAKE_SOURCE_DIR.patch" diff --git a/recipes/jerryscript/all/conanfile.py b/recipes/jerryscript/all/conanfile.py index d7fc6037445eb..b262445d3a489 100644 --- a/recipes/jerryscript/all/conanfile.py +++ b/recipes/jerryscript/all/conanfile.py @@ -1,18 +1,26 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, load, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class JerryScriptStackConan(ConanFile): name = "jerryscript" + description = "Ultra-lightweight JavaScript engine for the Internet of Things" license = "Apache-2.0" - homepage = "https://github.com/jerryscript-project/jerryscript" url = "https://github.com/conan-io/conan-center-index" - description = "Ultra-lightweight JavaScript engine for the Internet of Things" - topics = ["javascript", "iot", "jerryscript", "javascript-engine"] - exports_sources = "CMakeLists.txt", "patches/**" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/jerryscript-project/jerryscript" + topics = ("javascript", "iot", "javascript-engine") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -27,7 +35,7 @@ class JerryScriptStackConan(ConanFile): "amalgamated": [True, False], "debugger": [True, False], "keep_line_info": [True, False], - "profile": "ANY", + "profile": ["ANY"], "promise_callback": [True, False], "external_context": [True, False], "snapshot_execution": [True, False], @@ -39,10 +47,10 @@ class JerryScriptStackConan(ConanFile): "error_messages": [True, False], "logging": [True, False], "memory_statistics": [True, False], - "heap_size": "ANY", - "gc_limit": "ANY", - "gc_mark_limit": "ANY", - "stack_limit": "ANY", + "heap_size": ["ANY"], + "gc_limit": ["ANY"], + "gc_mark_limit": ["ANY"], + "stack_limit": ["ANY"], "cpointer_32_bit": [True, False], "system_allocator": [True, False], "valgrind": [True, False], @@ -85,47 +93,41 @@ class JerryScriptStackConan(ConanFile): "gc_before_each_alloc": False, "vm_exec_stop": False, } - generators = "cmake" - short_paths = True - - _cmake = None - _predefined_profiles = ["es.next", "es5.1", "minimal"] - - @property - def _source_subfolder(self): - return "source_subfolder" @property - def _build_subfolder(self): - return "build_subfolder" + def _predefined_profiles(self): + return ["es.next", "es5.1", "minimal"] @property def _jerry_math(self): return self.options.get_safe("jerry_math", False) + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC # profile and jerry_match default option value depend on version - if tools.Version(self.version) < "2.4.0": + if Version(self.version) < "2.4.0": self.options.profile = "es5.1" self.options.jerry_math = True - if self.settings.compiler == "Visual Studio": + if is_msvc(self): del self.options.jerry_math # forced to False else: self.options.profile = "es.next" self.options.jerry_math = False - if self.settings.os == "Macos": + if is_apple_os(self): del self.options.jerry_math # forced to False del self.options.link_time_optimization # forced to False - del self.options.strip # forced to False + del self.options.strip_symbols # forced to False def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.debugger: del self.options.keep_line_info @@ -133,6 +135,13 @@ def configure(self): if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("jerryscript shared lib is not yet supported under windows") + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + if self.info.options.profile not in self._predefined_profiles: + self.info.options.profile = load(self, str(self.info.options.profile)) + def validate(self): # validate integers try: @@ -146,105 +155,107 @@ def validate(self): if not check_res: raise ConanInvalidConfiguration(txt) except ValueError as e: - raise ConanInvalidConfiguration("jerryscript heap size, gc mark limit, stack limit, gc limit should be a positive integer") + raise ConanInvalidConfiguration( + "jerryscript heap size, gc mark limit, stack limit, " + "gc limit should be a positive integer" + ) # validate profile file if self.options.profile not in self._predefined_profiles and not os.path.isfile(str(self.options.profile)): - raise ConanInvalidConfiguration("Invalid profile option. Feature profile must either be a valid file or one of these: es.next, es5.1, minimal") + raise ConanInvalidConfiguration( + "Invalid profile option. " + "Feature profile must either be a valid file or one of these: es.next, es5.1, minimal" + ) # validate the use of the system allocator option if self.settings.arch == "x86_64" and self.options.system_allocator: raise ConanInvalidConfiguration("jerryscript system allocator not available on 64bit systems") if self.options.system_allocator and not self.options.cpointer_32_bit: raise ConanInvalidConfiguration("jerryscript system allocator must be used with 32 bit pointers") - def package_id(self): - if self.options.profile not in self._predefined_profiles: - self.info.options.profile = tools.load(str(self.options.profile)) - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) amalgamation_definition = "ENABLE_AMALGAM" libmath_definition = "JERRY_MATH" - if tools.Version(self.version) < tools.Version("2.4.0"): + if Version(self.version) < "2.4.0": amalgamation_definition = "ENABLE_ALL_IN_ONE" libmath_definition = "JERRY_LIBM" - self._cmake.definitions["JERRY_CMDLINE"] = self.options.tool_cmdline - self._cmake.definitions["JERRY_CMDLINE_TEST"] = self.options.tool_cmdline_test - self._cmake.definitions["JERRY_CMDLINE_SNAPSHOT"] = self.options.tool_cmdline_snapshot - self._cmake.definitions["JERRY_PORT_DEFAULT"] = self.options.default_port_implementation - self._cmake.definitions["JERRY_EXT"] = self.options.jerry_ext - self._cmake.definitions[libmath_definition] = self._jerry_math - self._cmake.definitions["ENABLE_STRIP"] = self.options.get_safe("jerry_strip", False) - self._cmake.definitions["ENABLE_LTO"] = self.options.get_safe("link_time_optimization", False) - self._cmake.definitions[amalgamation_definition] = self.options.amalgamated - self._cmake.definitions["JERRY_DEBUGGER"] = self.options.debugger - self._cmake.definitions["JERRY_LINE_INFO"] = self.options.get_safe("keep_line_info", False) - self._cmake.definitions["JERRY_PROFILE"] = self.options.profile - self._cmake.definitions["JERRY_EXTERNAL_CONTEXT"] = self.options.external_context - self._cmake.definitions["JERRY_SNAPSHOT_EXEC"] = self.options.snapshot_execution - self._cmake.definitions["JERRY_SNAPSHOT_SAVE"] = self.options.snapshot_saving - self._cmake.definitions["JERRY_PARSER"] = self.options.parser - self._cmake.definitions["JERRY_PARSER_DUMP_BYTE_CODE"] = self.options.enable_dump_bytecode - self._cmake.definitions["JERRY_REGEXP_DUMP_BYTE_CODE"] = self.options.enable_dump_regexp_bytecode - self._cmake.definitions["JERRY_REGEXP_STRICT_MODE"] = self.options.strict_regexp - self._cmake.definitions["JERRY_ERROR_MESSAGES"] = self.options.error_messages - self._cmake.definitions["JERRY_LOGGING"] = self.options.logging - self._cmake.definitions["JERRY_MEM_STATS"] = self.options.memory_statistics - self._cmake.definitions["JERRY_GLOBAL_HEAP_SIZE"] = "(%s)" % self.options.heap_size - self._cmake.definitions["JERRY_GC_LIMIT"] = "(%s)" % self.options.gc_limit - self._cmake.definitions["JERRY_GC_MARK_LIMIT"] = "(%s)" % self.options.gc_mark_limit - self._cmake.definitions["JERRY_STACK_LIMIT"] = "(%s)" % self.options.stack_limit - self._cmake.definitions["JERRY_CPOINTER_32_BIT"] = self.options.cpointer_32_bit - self._cmake.definitions["JERRY_SYSTEM_ALLOCATOR"] = self.options.system_allocator - self._cmake.definitions["JERRY_VALGRIND"] = self.options.valgrind - self._cmake.definitions["JERRY_MEM_GC_BEFORE_EACH_ALLOC"] = self.options.gc_before_each_alloc - self._cmake.definitions["JERRY_VM_EXEC_STOP"] = self.options.vm_exec_stop - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["JERRY_CMDLINE"] = self.options.tool_cmdline + tc.variables["JERRY_CMDLINE_TEST"] = self.options.tool_cmdline_test + tc.variables["JERRY_CMDLINE_SNAPSHOT"] = self.options.tool_cmdline_snapshot + tc.variables["JERRY_PORT_DEFAULT"] = self.options.default_port_implementation + tc.variables["JERRY_EXT"] = self.options.jerry_ext + tc.variables[libmath_definition] = self._jerry_math + tc.variables["ENABLE_STRIP"] = self.options.get_safe("jerry_strip", False) + tc.variables["ENABLE_LTO"] = self.options.get_safe("link_time_optimization", False) + tc.variables[amalgamation_definition] = self.options.amalgamated + tc.variables["JERRY_DEBUGGER"] = self.options.debugger + tc.variables["JERRY_LINE_INFO"] = self.options.get_safe("keep_line_info", False) + tc.variables["JERRY_PROFILE"] = self.options.profile + tc.variables["JERRY_EXTERNAL_CONTEXT"] = self.options.external_context + tc.variables["JERRY_SNAPSHOT_EXEC"] = self.options.snapshot_execution + tc.variables["JERRY_SNAPSHOT_SAVE"] = self.options.snapshot_saving + tc.variables["JERRY_PARSER"] = self.options.parser + tc.variables["JERRY_PARSER_DUMP_BYTE_CODE"] = self.options.enable_dump_bytecode + tc.variables["JERRY_REGEXP_DUMP_BYTE_CODE"] = self.options.enable_dump_regexp_bytecode + tc.variables["JERRY_REGEXP_STRICT_MODE"] = self.options.strict_regexp + tc.variables["JERRY_ERROR_MESSAGES"] = self.options.error_messages + tc.variables["JERRY_LOGGING"] = self.options.logging + tc.variables["JERRY_MEM_STATS"] = self.options.memory_statistics + tc.variables["JERRY_GLOBAL_HEAP_SIZE"] = "(%s)" % self.options.heap_size + tc.variables["JERRY_GC_LIMIT"] = "(%s)" % self.options.gc_limit + tc.variables["JERRY_GC_MARK_LIMIT"] = "(%s)" % self.options.gc_mark_limit + tc.variables["JERRY_STACK_LIMIT"] = "(%s)" % self.options.stack_limit + tc.variables["JERRY_CPOINTER_32_BIT"] = self.options.cpointer_32_bit + tc.variables["JERRY_SYSTEM_ALLOCATOR"] = self.options.system_allocator + tc.variables["JERRY_VALGRIND"] = self.options.valgrind + tc.variables["JERRY_MEM_GC_BEFORE_EACH_ALLOC"] = self.options.gc_before_each_alloc + tc.variables["JERRY_VM_EXEC_STOP"] = self.options.vm_exec_stop + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.components["libjerry-port-default"].names["pkg_config"] = ["libjerry-port-default"] + self.cpp_info.components["libjerry-port-default"].set_property("pkg_config_name", "libjerry-port-default") self.cpp_info.components["libjerry-port-default"].libs = ["jerry-port-default"] if self._jerry_math: - mathlibname = "jerry-libm" if tools.Version(self.version) < "2.4.0" else "jerry-math" - self.cpp_info.components["libjerry-math"].names["pkg_config"] = "lib{}".format(mathlibname) + mathlibname = "jerry-libm" if Version(self.version) < "2.4.0" else "jerry-math" + self.cpp_info.components["libjerry-math"].set_property("pkg_config_name", f"lib{mathlibname}") self.cpp_info.components["libjerry-math"].libs = [mathlibname] self.cpp_info.components["libjerry-math"].requires = ["libjerry-port-default"] self.cpp_info.components["libjerry-core"].requires.append("libjerry-math") - if tools.Version(self.version) < "2.4.0": - self.cpp_info.components["libjerry-port-default-minimal"].names["pkg_config"] = ["libjerry-port-default-minimal"] + if Version(self.version) < "2.4.0": + self.cpp_info.components["libjerry-port-default-minimal"].set_property("pkg_config_name", "libjerry-port-default-minimal") self.cpp_info.components["libjerry-port-default-minimal"].libs = ["jerry-port-default-minimal"] self.cpp_info.components["libjerry-port-default"].requires.append("libjerry-port-default-minimal") - self.cpp_info.components["libjerry-core"].names["pkg_config"] = "libjerry-core" + self.cpp_info.components["libjerry-core"].set_property("pkg_config_name", "libjerry-core") self.cpp_info.components["libjerry-core"].libs = ["jerry-core"] # The pc file does not explicitly add the port. But it's needed for the test self.cpp_info.components["libjerry-core"].requires = ["libjerry-port-default"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["libjerry-core"].system_libs.append("m") - self.cpp_info.components["libjerry-ext"].names["pkg_config"] = "libjerry-ext" + self.cpp_info.components["libjerry-ext"].set_property("pkg_config_name", "libjerry-ext") self.cpp_info.components["libjerry-ext"].libs = ["jerry-ext"] self.cpp_info.components["libjerry-ext"].requires = ["libjerry-core"] diff --git a/recipes/jerryscript/all/test_package/CMakeLists.txt b/recipes/jerryscript/all/test_package/CMakeLists.txt index 7b9b613cbb24a..d0cab5c74bc2f 100644 --- a/recipes/jerryscript/all/test_package/CMakeLists.txt +++ b/recipes/jerryscript/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(jerryscript REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE jerryscript::jerryscript) diff --git a/recipes/jerryscript/all/test_package/conanfile.py b/recipes/jerryscript/all/test_package/conanfile.py index bbf2351737349..ef5d7042163ec 100644 --- a/recipes/jerryscript/all/test_package/conanfile.py +++ b/recipes/jerryscript/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/jerryscript/all/test_v1_package/CMakeLists.txt b/recipes/jerryscript/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/jerryscript/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jerryscript/all/test_v1_package/conanfile.py b/recipes/jerryscript/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f575dfc3e9c8a --- /dev/null +++ b/recipes/jerryscript/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2512a5face08cba16c68f981190c7e2d206c48ef Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 19:55:31 +0900 Subject: [PATCH 2929/4087] (#20526) cpp-validator: add recipe * cpp-validator: add recipe * remove unused functions * drop support gcc 5,6 * support msvc --- recipes/cpp-validator/all/conandata.yml | 4 + recipes/cpp-validator/all/conanfile.py | 89 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 12 +++ .../all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 25 ++++++ recipes/cpp-validator/config.yml | 3 + 6 files changed, 159 insertions(+) create mode 100644 recipes/cpp-validator/all/conandata.yml create mode 100644 recipes/cpp-validator/all/conanfile.py create mode 100644 recipes/cpp-validator/all/test_package/CMakeLists.txt create mode 100644 recipes/cpp-validator/all/test_package/conanfile.py create mode 100644 recipes/cpp-validator/all/test_package/test_package.cpp create mode 100644 recipes/cpp-validator/config.yml diff --git a/recipes/cpp-validator/all/conandata.yml b/recipes/cpp-validator/all/conandata.yml new file mode 100644 index 0000000000000..77d92b9be932b --- /dev/null +++ b/recipes/cpp-validator/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.0.3": + url: "https://github.com/evgeniums/cpp-validator/archive/refs/tags/v2.0.3.tar.gz" + sha256: "0afc607377518edd6adc1612962ed5d5808d96e5b40944d9ce7e91a1aa9ab1d8" diff --git a/recipes/cpp-validator/all/conanfile.py b/recipes/cpp-validator/all/conanfile.py new file mode 100644 index 0000000000000..3da277d18f9a6 --- /dev/null +++ b/recipes/cpp-validator/all/conanfile.py @@ -0,0 +1,89 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.52.0" + + +class CPPValidatorConan(ConanFile): + name = "cpp-validator" + description = "C++ header-only library for generic data validation" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/evgeniums/cpp-validator" + topics = ("validator", "validation", "boost", "hana", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + # cpp-validator rquires C++17 on MSVC + # https://github.com/evgeniums/cpp-validator/blob/v2.0.3/CMakeLists.txt#L241 + return "17" if is_msvc(self) else "14" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + }.get(self._min_cppstd, {}) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def requirements(self): + self.requires("boost/1.83.0") + self.requires("fmt/10.1.1") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE.md", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + copy( + self, + pattern="*.ipp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cpp-validator/all/test_package/CMakeLists.txt b/recipes/cpp-validator/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..aaf79983c7d60 --- /dev/null +++ b/recipes/cpp-validator/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cpp-validator REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} cpp-validator::cpp-validator) +if(MSVC) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/cpp-validator/all/test_package/conanfile.py b/recipes/cpp-validator/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cpp-validator/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cpp-validator/all/test_package/test_package.cpp b/recipes/cpp-validator/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9b71de3f6c7ab --- /dev/null +++ b/recipes/cpp-validator/all/test_package/test_package.cpp @@ -0,0 +1,25 @@ +#include + +#include "dracosha/validator/validator.hpp" +#include "dracosha/validator/validate.hpp" +using namespace DRACOSHA_VALIDATOR_NAMESPACE; + +int main() +{ + + // define validator + auto v=validator(gt,100); // value must be greater than 100 + + // validate variables + error err; + + validate(90,v,err); + assert(err); // validation failed, 90 is less than 100 + + validate(200,v,err); + assert(!err); // validation succeeded, 200 is greater than 100 + + std::cout << "Example 1 done" << std::endl; + + return 0; +} diff --git a/recipes/cpp-validator/config.yml b/recipes/cpp-validator/config.yml new file mode 100644 index 0000000000000..7f57148a20478 --- /dev/null +++ b/recipes/cpp-validator/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.3": + folder: all From 1fe836a5da4a1fb5f02316ddf94857f532124e8d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 20:45:54 +0900 Subject: [PATCH 2930/4087] (#20537) teemo: make deprecate * teemo: make deprecate * update checksum * make transitive_headers * require openssl --- recipes/teemo/all/conandata.yml | 2 +- recipes/teemo/all/conanfile.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/teemo/all/conandata.yml b/recipes/teemo/all/conandata.yml index 490c174ebfda5..0b1e02d58ccdc 100644 --- a/recipes/teemo/all/conandata.yml +++ b/recipes/teemo/all/conandata.yml @@ -1,7 +1,7 @@ sources: "2.7": url: "https://github.com/winsoft666/teemo/archive/refs/tags/v2.7.tar.gz" - sha256: "97be8ae62cd3e2e92ed0ff405dfaf5e6cb6e323b21c53e798adfa5872a2f7084" + sha256: "0cf4f90d22b1c19845db08ff1addc5872327b33f020e8d5409f3819391afaf79" patches: "2.7": diff --git a/recipes/teemo/all/conanfile.py b/recipes/teemo/all/conanfile.py index c34c6cc5a1060..a35d4e5eeaf64 100644 --- a/recipes/teemo/all/conanfile.py +++ b/recipes/teemo/all/conanfile.py @@ -27,6 +27,7 @@ class TeemoConan(ConanFile): "shared": False, "fPIC": True, } + deprecated = "zoe" @property def _min_cppstd(self): @@ -48,12 +49,13 @@ def layout(self): def requirements(self): self.requires("libcurl/7.86.0") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): if self.info.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) if self.info.settings.compiler == "apple-clang" and Version(self.info.settings.compiler.version) < "12.0": - raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") + raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) @@ -96,6 +98,6 @@ def package_info(self): self.cpp_info.defines.append("TEEMO_EXPORTS") else: self.cpp_info.defines.append("TEEMO_STATIC") - + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") From 1519ba0f024ba27100e20b28c27d14afa79e3003 Mon Sep 17 00:00:00 2001 From: xyz1001 Date: Tue, 5 Dec 2023 19:53:23 +0800 Subject: [PATCH 2931/4087] (#20988) libx264: fix build error with visual studio when specific different build and host profile --- recipes/libx264/all/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/libx264/all/conanfile.py b/recipes/libx264/all/conanfile.py index 8463ca0ac6637..3312e7972a7a4 100644 --- a/recipes/libx264/all/conanfile.py +++ b/recipes/libx264/all/conanfile.py @@ -142,6 +142,11 @@ def generate(self): extra_cflags.append("-FS") env.vars(self).save_script("conanbuild_msvc") + if is_msvc(self) or self.settings.os in ["iOS", "watchOS", "tvOS"]: + # autotools does not know about the msvc and Apple embedded OS canonical name(s) + args["--build"] = None + args["--host"] = None + # The finite-math-only optimization has no effect and can cause linking errors # when linked against glibc >= 2.31 extra_cflags += ["-fno-finite-math-only"] From 0289b114b3e17e4340433e1fea0132aea2674939 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 13:05:17 +0100 Subject: [PATCH 2932/4087] (#21545) libjpeg-turbo: add missing IJG license * libjpeg-turbo: add missing IJG license * Use a tuple of licenses Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libjpeg-turbo/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libjpeg-turbo/all/conanfile.py b/recipes/libjpeg-turbo/all/conanfile.py index 9405b0c63aaf6..ebe4c40f12545 100644 --- a/recipes/libjpeg-turbo/all/conanfile.py +++ b/recipes/libjpeg-turbo/all/conanfile.py @@ -13,7 +13,7 @@ class LibjpegTurboConan(ConanFile): name = "libjpeg-turbo" description = "SIMD-accelerated libjpeg-compatible JPEG codec library" - license = "BSD-3-Clause, Zlib" + license = ("IJG", "BSD-3-Clause", "Zlib") url = "https://github.com/conan-io/conan-center-index" homepage = "https://libjpeg-turbo.org" topics = ("jpeg", "libjpeg", "image", "multimedia", "format", "graphics") @@ -139,6 +139,7 @@ def build(self): def package(self): copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "README.ijg", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() # remove unneeded directories From 4b177db1288b58ccd7ea4c0b09f06e3c85571733 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 14:00:56 +0100 Subject: [PATCH 2933/4087] (#21565) libbigwig: use version range for libcurl --- recipes/libbigwig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index d8ac63458a127..e242d7f2f554c 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -45,7 +45,7 @@ def requirements(self): if self.options.with_curl: # transitive_headers=True is required due to includes in bigWigIO.h # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 - self.requires("libcurl/8.4.0", transitive_headers=True) + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) if self.options.with_zlibng: self.requires("zlib-ng/2.1.5") else: From 93fb1ef11127c4051cdadb607262fe5ac62d5cb2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 14:57:25 +0100 Subject: [PATCH 2934/4087] (#21566) cocoyaxi: use version range for libcurl --- recipes/cocoyaxi/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cocoyaxi/all/conanfile.py b/recipes/cocoyaxi/all/conanfile.py index adafa0cb6a0df..1209ab9f83764 100644 --- a/recipes/cocoyaxi/all/conanfile.py +++ b/recipes/cocoyaxi/all/conanfile.py @@ -42,7 +42,7 @@ def configure(self): def requirements(self): if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libcurl or self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") From e1d2375e6fd5c2318838d9779709c9aa9fe035b6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 17:33:13 +0200 Subject: [PATCH 2935/4087] (#18745) waf: migrate to Conan v2 * waf: migrate to Conan v2 * waf: make it work on macOS * Restore v2.0.19 Should not remove the most recent current version from an existing recipe to not break deps for consumers. * waf: fix tests * waf: fix DYLD_LIBRARY_PATH in tests * waf: waf fails with cmake_layout() * waf: bump version --------- Co-authored-by: Piotr Gaczkowski --- recipes/waf/all/conandata.yml | 6 ++ recipes/waf/all/conanfile.py | 57 +++++++++-------- recipes/waf/all/test_package/conanfile.py | 67 ++++++++++---------- recipes/waf/all/test_v1_package/conanfile.py | 43 +++++++++++++ recipes/waf/config.yml | 4 ++ 5 files changed, 120 insertions(+), 57 deletions(-) create mode 100644 recipes/waf/all/test_v1_package/conanfile.py diff --git a/recipes/waf/all/conandata.yml b/recipes/waf/all/conandata.yml index 4d28ed8ee8074..07871b61a4101 100644 --- a/recipes/waf/all/conandata.yml +++ b/recipes/waf/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.0.26": + url: "https://waf.io/waf-2.0.26.tar.bz2" + sha256: "c33d19c1bdfae1b078edaef2fab19b1bc734294edd4cc005d4881e9d53ed219c" + "2.0.25": + url: "https://waf.io/waf-2.0.25.tar.bz2" + sha256: "66cff7beed0e77db874e9232cc08874abb3e866c7f0f1f34ba2f959fde44fdd4" "2.0.19": url: "https://waf.io/waf-2.0.19.tar.bz2" sha256: "d8402689b72fe75f759a83b5f6bdf9b4f34ca7fd6007d80680ecfcbef5c2bba5" diff --git a/recipes/waf/all/conanfile.py b/recipes/waf/all/conanfile.py index cc8d7cdece540..6d2f8a76078a0 100644 --- a/recipes/waf/all/conanfile.py +++ b/recipes/waf/all/conanfile.py @@ -1,28 +1,37 @@ -from conans import ConanFile, tools import os +from conan import ConanFile +from conan.tools.files import copy, get, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.47.0" + class WafConan(ConanFile): name = "waf" description = "The Waf build system" - topics = ("conan", "waf", "builsystem") + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://waf.io" - license = "BSD-3-Clause" - settings = "os", "arch" + topics = ("buildsystem", "pre-built") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("waf-{}".format(self.version), self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _license_text(self): - [_, license, _] = open(os.path.join(self.source_folder, self._source_subfolder, "waf"), "rb").read().split(b"\"\"\"", 3) - return license.decode().lstrip() + license_text = self.source_path.joinpath("waf").read_bytes().split(b'"""', 3)[1] + return license_text.decode().lstrip() def build(self): pass @@ -31,30 +40,28 @@ def package(self): binpath = os.path.join(self.package_folder, "bin") libpath = os.path.join(self.package_folder, "lib") - os.mkdir(binpath) - os.mkdir(libpath) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) - - self.copy("waf", src=self._source_subfolder, dst=binpath) - self.copy("waf-light", src=self._source_subfolder, dst=binpath) - self.copy("waflib/*", src=self._source_subfolder, dst=libpath) + copy(self, "waf", src=self.source_folder, dst=binpath) + copy(self, "waf-light", src=self.source_folder, dst=binpath) + copy(self, "waflib/*", src=self.source_folder, dst=libpath) if self.settings.os == "Windows": - self.copy("waf.bat", src=os.path.join(self._source_subfolder, "utils"), dst=binpath) + copy(self, "waf.bat", src=os.path.join(self.source_folder, "utils"), dst=binpath) os.chmod(os.path.join(binpath, "waf"), 0o755) os.chmod(os.path.join(binpath, "waf-light"), 0o755) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] + wafdir = os.path.join(self.package_folder, "lib") + self.buildenv_info.define_path("WAFDIR", wafdir) + + # TODO: Legacy, remove in 2.0 binpath = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var: {}".format(binpath)) self.env_info.PATH.append(binpath) - - wafdir = os.path.join(self.package_folder, "lib") - self.output.info("Setting WAFDIR env var: {}".format(wafdir)) self.env_info.WAFDIR = wafdir - - diff --git a/recipes/waf/all/test_package/conanfile.py b/recipes/waf/all/test_package/conanfile.py index 9d956eec26829..f47744ecfec84 100644 --- a/recipes/waf/all/test_package/conanfile.py +++ b/recipes/waf/all/test_package/conanfile.py @@ -1,42 +1,45 @@ -from conans import ConanFile, tools -from contextlib import contextmanager import os import shutil +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import chdir +from conan.tools.layout import basic_layout + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" exports_sources = "a.cpp", "b.cpp", "main.c", "main.cpp", "wscript" + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + basic_layout(self) + + def generate(self): + buildenv = VirtualBuildEnv(self) + buildenv.generate() + + env = Environment() + for var in ["DYLD_LIBRARY_PATH", "LD_LIBRARY_PATH"]: + env.append_path(var, self.build_folder) + env.vars(self, scope="run").save_script("conanrun_macos_dyld_path") + def build(self): - if tools.cross_building(self.settings): - return - - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), self.build_folder) - - waf_path = tools.which("waf") - if waf_path: - waf_path = waf_path.replace("\\", "/") - assert waf_path.startswith(str(self.deps_cpp_info["waf"].rootpath)) - - with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): - self.run("waf -h") - self.run("waf configure") - self.run("waf") - - @contextmanager - def _add_ld_search_path(self): - env = {} - if self.settings.os == "Linux": - env["LD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] - elif self.settings.os == "Macos": - env["DYLD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] - with tools.environment_append(env): - yield + if can_run(self): + for src in self.exports_sources: + shutil.copy(os.path.join(self.source_folder, src), self.build_folder) + + with chdir(self, self.build_folder): + self.run(f"waf configure -o {self.cpp.build.bindir}") + self.run("waf") def test(self): - if not tools.cross_building(self.settings): - with self._add_ld_search_path(): - self.run(os.path.join("build", "app"), run_environment=True) - self.run(os.path.join("build", "app2"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "app") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "app2") + self.run(bin_path, env="conanrun") diff --git a/recipes/waf/all/test_v1_package/conanfile.py b/recipes/waf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..252c1f1ae1d96 --- /dev/null +++ b/recipes/waf/all/test_v1_package/conanfile.py @@ -0,0 +1,43 @@ +from conan.tools.apple import is_apple_os +from conans import ConanFile, tools +from contextlib import contextmanager +import os +import shutil + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + exports_sources = "a.cpp", "b.cpp", "main.c", "main.cpp", "wscript" + + def build(self): + if tools.cross_building(self.settings): + return + + for src in self.exports_sources: + shutil.copy(os.path.join(self.source_folder, os.pardir, "test_package", src), self.build_folder) + + waf_path = tools.which("waf") + if waf_path: + waf_path = waf_path.replace("\\", "/") + assert waf_path.startswith(str(self.deps_cpp_info["waf"].rootpath)) + + with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): + self.run("waf -h") + self.run("waf configure") + self.run("waf") + + @contextmanager + def _add_ld_search_path(self): + env = {} + if self.settings.os in ["Linux", "FreeBSD"]: + env["LD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] + elif is_apple_os(self): + env["DYLD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] + with tools.environment_append(env): + yield + + def test(self): + if not tools.cross_building(self.settings): + with self._add_ld_search_path(): + self.run(os.path.join("build", "app"), run_environment=True) + self.run(os.path.join("build", "app2"), run_environment=True) diff --git a/recipes/waf/config.yml b/recipes/waf/config.yml index e3883114dd1bb..9df1d7fdf59a0 100644 --- a/recipes/waf/config.yml +++ b/recipes/waf/config.yml @@ -1,3 +1,7 @@ versions: + "2.0.26": + folder: all + "2.0.25": + folder: all "2.0.19": folder: all From b68bfcf503348fc3c7316cbfebd5910f1fe4c1dd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 17:47:12 +0200 Subject: [PATCH 2936/4087] (#21165) elfutils: bump version and deps, add zstd support * elfutils: bump version and deps, add zstd support * elfutils: fix with_zstd option use --- recipes/elfutils/all/conandata.yml | 10 +++-- recipes/elfutils/all/conanfile.py | 37 ++++++++++++++----- ...-0001-remove-werror-configure-option.patch | 18 --------- ...-0001-remove-werror-configure-option.patch | 18 --------- ...-0001-remove-werror-configure-option.patch | 22 ----------- recipes/elfutils/config.yml | 2 + 6 files changed, 37 insertions(+), 70 deletions(-) delete mode 100644 recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch diff --git a/recipes/elfutils/all/conandata.yml b/recipes/elfutils/all/conandata.yml index 5d70f514c9ba8..69b00d0652d9d 100644 --- a/recipes/elfutils/all/conandata.yml +++ b/recipes/elfutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.190": + url: "https://sourceware.org/elfutils/ftp/0.190/elfutils-0.190.tar.bz2" + sha256: "8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692" "0.189": url: "https://sourceware.org/elfutils/ftp/0.189/elfutils-0.189.tar.bz2" sha256: "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8" @@ -9,10 +12,11 @@ sources: url: "https://sourceware.org/elfutils/ftp/0.180/elfutils-0.180.tar.bz2" sha256: "b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d" patches: - "0.189": - - patch_file: "patches/0.189-0001-remove-werror-configure-option.patch" - patch_description: "Disable -Werror flag." + "0.190": + - patch_file: "patches/0.189-0002-add-enable-static-option-to-configure.patch" + patch_description: "Enable static library building." patch_type: "conan" + "0.189": - patch_file: "patches/0.189-0002-add-enable-static-option-to-configure.patch" patch_description: "Enable static library building." patch_type: "conan" diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index b8aafd509dd45..7d15bdd2937ed 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.env import VirtualBuildEnv -from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rm, rmdir +from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rm, rmdir, replace_in_file from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import unix_path, is_msvc @@ -19,6 +19,7 @@ class ElfutilsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("libelf", "libdw", "libasm") license = ["GPL-1.0-or-later", "LGPL-3.0-or-later", "GPL-2.0-or-later"] + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -28,6 +29,7 @@ class ElfutilsConan(ConanFile): "libdebuginfod": [True, False], "with_bzlib": [True, False], "with_lzma": [True, False], + "with_zstd": [True, False], "with_sqlite3": [True, False], } default_options = { @@ -37,6 +39,7 @@ class ElfutilsConan(ConanFile): "libdebuginfod": False, "with_bzlib": True, "with_lzma": True, + "with_zstd": True, "with_sqlite3": False, } @@ -52,6 +55,7 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "0.186": del self.options.libdebuginfod + del self.options.with_zstd def configure(self): if self.options.shared: @@ -70,8 +74,10 @@ def requirements(self): self.requires("bzip2/1.0.8") if self.options.with_lzma: self.requires("xz_utils/5.4.5") + if self.options.get_safe("with_zstd"): + self.requires("zstd/1.5.5") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/8.4.0") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.debuginfod: self.requires("libmicrohttpd/0.9.75") @@ -121,19 +127,28 @@ def generate(self): "--with-zlib", "--with-bzlib" if self.options.with_bzlib else "--without-bzlib", "--with-lzma" if self.options.with_lzma else "--without-lzma", + "--with-zstd" if self.options.get_safe("with_zstd") else "--without-zstd", "--enable-debuginfod" if self.options.debuginfod else "--disable-debuginfod", ]) if Version(self.version) >= "0.186": tc.configure_args.append("--enable-libdebuginfod" if self.options.libdebuginfod else "--disable-libdebuginfod") tc.configure_args.append(f"BUILD_STATIC={'0' if self.options.shared else '1'}") + if self.options.get_safe("with_zstd"): + # ./configure ignores system_libs + tc.extra_ldflags.append("-pthread") tc.generate() deps = AutotoolsDeps(self) deps.generate() deps = PkgConfigDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "config", "eu.am"), + "-Werror", "", strict=False) + + def build(self): + self._patch_sources() autotools = Autotools(self) autotools.autoreconf(args=["-fiv"]) autotools.configure() @@ -156,14 +171,18 @@ def package_info(self): # library components self.cpp_info.components["libelf"].libs = ["elf"] self.cpp_info.components["libelf"].requires = ["zlib::zlib"] - - self.cpp_info.components["libdw"].libs = ["dw"] - self.cpp_info.components["libdw"].requires = ["libelf", "zlib::zlib"] if self.options.with_bzlib: - self.cpp_info.components["libdw"].requires.append("bzip2::bzip2") + self.cpp_info.components["libelf"].requires.append("bzip2::bzip2") if self.options.with_lzma: - self.cpp_info.components["libdw"].requires.append("xz_utils::xz_utils") - if self.settings.os == "Linux": + self.cpp_info.components["libelf"].requires.append("xz_utils::xz_utils") + if self.options.get_safe("with_zstd"): + self.cpp_info.components["libelf"].requires.append("zstd::zstd") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libelf"].system_libs.append("pthread") + + self.cpp_info.components["libdw"].libs = ["dw"] + self.cpp_info.components["libdw"].requires = ["libelf"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libdw"].system_libs.extend(["dl"]) self.cpp_info.components["libasm"].includedirs = ["include/elfutils"] diff --git a/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch index 332c215103f1f..a5b39f30d22c8 100644 --- a/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch +++ b/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch @@ -1,21 +1,3 @@ ---- config/eu.am -+++ config/eu.am -@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes -Wtrampolines \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ -@@ -83,7 +82,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - -Wtrampolines \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ diff --git a/source/source_subfolder/configure.ac b/source/source_subfolder/configure.ac index 74cc749..634858d 100644 --- configure.ac diff --git a/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch index 789694c1fe951..0cf39dab8bc5b 100644 --- a/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch +++ b/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch @@ -1,21 +1,3 @@ ---- config/eu.am -+++ config/eu.am -@@ -91,7 +91,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ -@@ -101,7 +101,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - $(TRAMPOLINES_WARNING) \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/source/source_subfolder/configure.ac b/source/source_subfolder/configure.ac index 74cc749..634858d 100644 --- configure.ac diff --git a/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch deleted file mode 100644 index 2c7be1ea5314e..0000000000000 --- a/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/config/eu.am b/config/eu.am -index e6c241f..fb92465 100644 ---- a/config/eu.am -+++ b/config/eu.am -@@ -99,7 +99,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ - $(USE_AFTER_FREE3_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ -+ $(if $($(*F)_no_Werror),,) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ -@@ -109,7 +109,7 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - $(TRAMPOLINES_WARNING) \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ -+ $(if $($(*F)_no_Werror),,) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/recipes/elfutils/config.yml b/recipes/elfutils/config.yml index afca319dbca9e..2b63e87901919 100644 --- a/recipes/elfutils/config.yml +++ b/recipes/elfutils/config.yml @@ -1,4 +1,6 @@ versions: + "0.190": + folder: all "0.189": folder: all "0.186": From 36db4d88d1182926579bdc95c68bcbcf6d404762 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 01:08:38 +0900 Subject: [PATCH 2937/4087] (#21333) duckdb: add version 0.9.2 * duckdb: add version 0.9.2 * drop support msvc shared debug build in 0.9.2 --- recipes/duckdb/all/conandata.yml | 7 ++ recipes/duckdb/all/conanfile.py | 5 + .../all/patches/0.9.2-0001-fix-cmake.patch | 117 ++++++++++++++++++ recipes/duckdb/config.yml | 2 + 4 files changed, 131 insertions(+) create mode 100644 recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 619c9622f6e4c..82ad639285d87 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.2": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.2.tar.gz" + sha256: "afff7bd925a98dc2af4039b8ab2159b0705cbf5e0ee05d97f7bb8dce5f880dc2" "0.9.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.0.tar.gz" sha256: "3dbf3326a831bf0797591572440e81a3d6d668f8e33a25ce04efae19afc3a23d" @@ -21,6 +24,10 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "0.9.2": + - patch_file: "patches/0.9.2-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" "0.9.0": - patch_file: "patches/0.9.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index cac6731cc1f7d..2010b8b18210e 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -89,6 +90,10 @@ def requirements(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) + # FIXME: drop support MSVC debug shared build + if Version(self.version) >= "0.9.2" and \ + is_msvc(self) and self.options.shared and self.settings.build_type == "Debug": + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC debug shared build") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) diff --git a/recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c7d4c07c092db --- /dev/null +++ b/recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch @@ -0,0 +1,117 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 67444db..c34c3ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -721,7 +721,7 @@ function(build_static_extension NAME PARAMETERS) + set(FILES ${ARGV}) + list(REMOVE_AT FILES 0) + add_library(${NAME}_extension STATIC ${FILES}) +- target_link_libraries(${NAME}_extension duckdb_static) ++# target_link_libraries(${NAME}_extension duckdb_static) + endfunction() + + # Internal extension register function +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cda2d86..011ecb5 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -76,21 +76,21 @@ else() + duckdb_hyperloglog + duckdb_fastpforlib + duckdb_mbedtls) +- ++ if(BUILD_SHARED_LIBS) + add_library(duckdb SHARED ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) + link_threads(duckdb) + link_extension_libraries(duckdb) +- ++ endif() + add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) + link_threads(duckdb_static) + link_extension_libraries(duckdb_static) +- ++ if(BUILD_SHARED_LIBS) + target_include_directories( + duckdb PUBLIC $ + $) +- ++ endif() + target_include_directories( + duckdb_static PUBLIC $ + $) +@@ -105,10 +105,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt +index 4a8e7e1..8ae9681 100644 +--- a/tools/odbc/CMakeLists.txt ++++ b/tools/odbc/CMakeLists.txt +@@ -53,6 +53,13 @@ add_library( + + set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") + target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) ++install( ++ TARGETS duckdb_odbc ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++) + + if(NOT CLANG_TIDY) + add_subdirectory(test) +diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt +index 3fa4166..42af485 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -25,20 +25,20 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() + +-include_directories(../../third_party/catch) ++# include_directories(../../third_party/catch) + +-include_directories(test/include) +-add_subdirectory(test) ++# include_directories(test/include) ++# add_subdirectory(test) + +-add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) +-if(WIN32 OR ZOS) +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) +-else() +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) +-endif() ++#add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) ++#if(WIN32 OR ZOS) ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) ++#else() ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) ++#endif() diff --git a/recipes/duckdb/config.yml b/recipes/duckdb/config.yml index a69b0b52d6903..77e20cf10a797 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.2": + folder: "all" "0.9.0": folder: "all" "0.8.1": From f8186e3b676c2c687500359cf5dbb235b5416527 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Tue, 5 Dec 2023 11:48:35 -0500 Subject: [PATCH 2938/4087] (#21403) [libassert] Add 1.2.2 * Add libassert 1.2.2 * Bump cpptrace --- recipes/libassert/all/conandata.yml | 8 ++++++++ recipes/libassert/all/conanfile.py | 8 +++++--- .../all/patches/1.2.2/0001-cpptrace-dll-copy.patch | 13 +++++++++++++ recipes/libassert/config.yml | 2 ++ 4 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch diff --git a/recipes/libassert/all/conandata.yml b/recipes/libassert/all/conandata.yml index d4b509c40e9c9..1cae5dc94ff57 100644 --- a/recipes/libassert/all/conandata.yml +++ b/recipes/libassert/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "1.2.2": + url: + - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.2.2.tar.gz" + sha256: "68206b43bc4803357ba7d366574b4631bd327c46ab76ddef6ff9366784fa6b3c" "1.2.1": url: - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.2.1.tar.gz" @@ -14,6 +18,10 @@ sources: sha256: "e1bb3b50767994ca4d0f60b7977b279cf32b8569ff92c5830e7a1de567b82fd5" patches: + "1.2.2": + - patch_file: "patches/1.2.2/0001-cpptrace-dll-copy.patch" + patch_type: "conan" + patch_description: "Disable custom command to copy cpptrace.dll on windows" "1.2.1": - patch_file: "patches/1.2.1/0001-cpptrace-dll-copy.patch" patch_type: "conan" diff --git a/recipes/libassert/all/conanfile.py b/recipes/libassert/all/conanfile.py index 6f1972a5ee404..c596be696aeb2 100644 --- a/recipes/libassert/all/conanfile.py +++ b/recipes/libassert/all/conanfile.py @@ -52,7 +52,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= Version("1.2.1"): + if Version(self.version) >= Version("1.2.2"): + self.requires("cpptrace/0.3.1") + elif Version(self.version) >= Version("1.2.1"): self.requires("cpptrace/0.2.1") def validate(self): @@ -102,7 +104,7 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() - + if self.settings.os == "Windows" and self.options.shared: copy( self, @@ -124,7 +126,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "assert") self.cpp_info.set_property("cmake_target_name", "assert::assert") - + # the first version of this library used assert/assert as include folder # appending this one but not removing the default to not break consumers self.cpp_info.includedirs.append(os.path.join("include", "assert")) diff --git a/recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch b/recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch new file mode 100644 index 0000000000000..27871ced2d3f0 --- /dev/null +++ b/recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce5dbcf..085a1aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -163,7 +163,7 @@ + + # Don't run tests when library is used with add_subdirectory + if(PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) +- if(WIN32) ++ if(0) + add_custom_command( + TARGET assert POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/recipes/libassert/config.yml b/recipes/libassert/config.yml index 9e967f0ed7597..8ade508384535 100644 --- a/recipes/libassert/config.yml +++ b/recipes/libassert/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "1.2.2": + folder: all "1.2.1": folder: all "1.1": From 4bf5b5d457729a2507339128f0159044c475c0dc Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 18:11:42 +0100 Subject: [PATCH 2939/4087] (#21595) leptonica: bump dependencies --- recipes/leptonica/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index e749f2b2e4eb1..6bcb75d8840d6 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -72,9 +72,9 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.5") if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_tiff: @@ -87,7 +87,7 @@ def requirements(self): def build_requirements(self): if self.options.with_webp or self.options.with_openjpeg: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 90e6a053f61b78f456dec8e66a859b0b7f0edbfa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 03:24:09 +0900 Subject: [PATCH 2940/4087] (#21599) poco: add version 1.12.5p2 --- recipes/poco/all/conandata.yml | 10 ++++++++++ recipes/poco/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index fa93dac290dc4..44d50ff4a064f 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.12.5p2": + url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p2-release.tar.gz" + sha256: "08d201bb287cb59e13577901758aeb3ced7ea44627c79f5c162eb60323812685" "1.12.5p1": url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p1-release.tar.gz" sha256: "8ba10b69c815e95e1c8776af0143aa8603088b84e3f6a8447994c6b92d7522f0" @@ -21,6 +24,13 @@ sources: url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" patches: + "1.12.5p2": + - patch_file: patches/1.12.3.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.12.5-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.5p1": - patch_file: patches/1.12.3.patch patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index 2d62c53468641..c50a32bedbc58 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.12.5p2": + folder: all "1.12.5p1": folder: all "1.12.4": From 56bbd14b946499928120210bcde21f83450ca113 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 03:49:51 +0900 Subject: [PATCH 2941/4087] (#21600) cpprestsdk: add version 2.10.19 --- recipes/cpprestsdk/all/conandata.yml | 10 ++++++++++ recipes/cpprestsdk/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/cpprestsdk/all/conandata.yml b/recipes/cpprestsdk/all/conandata.yml index 5216074c76f9d..632826ffef040 100644 --- a/recipes/cpprestsdk/all/conandata.yml +++ b/recipes/cpprestsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.19": + url: "https://github.com/microsoft/cpprestsdk/archive/refs/tags/v2.10.19.tar.gz" + sha256: "4b0d14e5bfe77ce419affd253366e861968ae6ef2c35ae293727c1415bd145c8" "2.10.18": url: "https://github.com/Microsoft/cpprestsdk/archive/2.10.18.tar.gz" sha256: "6bd74a637ff182144b6a4271227ea8b6b3ea92389f88b25b215e6f94fd4d41cb" @@ -12,6 +15,13 @@ sources: url: "https://github.com/Microsoft/cpprestsdk/archive/v2.10.15.tar.gz" sha256: "1c027a53457e87b0b3a475e5c8045b94400c475898c8bd51b0fbd218b99a7f7b" patches: + "2.10.19": + - patch_file: "patches/0003-find-cmake-targets.patch" + patch_type: "conan" + patch_description: "CMake: internal targets" + - patch_file: "patches/0002-remove-wconversion.patch" + patch_type: "conan" + patch_description: "fix warnings" "2.10.18": - patch_file: "patches/0003-find-cmake-targets.patch" patch_type: "conan" diff --git a/recipes/cpprestsdk/config.yml b/recipes/cpprestsdk/config.yml index d4be51c9a70c3..00ffc5b18bc36 100644 --- a/recipes/cpprestsdk/config.yml +++ b/recipes/cpprestsdk/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.19": + folder: "all" "2.10.18": folder: "all" "2.10.17": From 700f205d4c8a92eecd7fcb0ecdb20859e9dad77c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 20:09:06 +0100 Subject: [PATCH 2942/4087] (#21605) coin-clp: bump pkgconf --- recipes/coin-clp/all/conanfile.py | 2 +- recipes/coin-clp/all/test_package/conanfile.py | 2 +- recipes/coin-clp/all/test_v1_package/conanfile.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/coin-clp/all/conanfile.py b/recipes/coin-clp/all/conanfile.py index 4a12a71981848..7d2a72db5923b 100644 --- a/recipes/coin-clp/all/conanfile.py +++ b/recipes/coin-clp/all/conanfile.py @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/coin-clp/all/test_package/conanfile.py b/recipes/coin-clp/all/test_package/conanfile.py index 160bdaf5610e0..f085dad93e383 100644 --- a/recipes/coin-clp/all/test_package/conanfile.py +++ b/recipes/coin-clp/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.1.0") def build(self): cmake = CMake(self) diff --git a/recipes/coin-clp/all/test_v1_package/conanfile.py b/recipes/coin-clp/all/test_v1_package/conanfile.py index 9b15feda1ca30..6b31eec8506a4 100644 --- a/recipes/coin-clp/all/test_v1_package/conanfile.py +++ b/recipes/coin-clp/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.1.0") def build(self): cmake = CMake(self) From 9a8767e8cb1f3cb6fcf0b8702dcb5ab960231e18 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 20:29:06 +0100 Subject: [PATCH 2943/4087] (#21607) sdl/all: bump deps * sdl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sdl/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index 56e164e58a14f..03ff0430a22b1 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -158,10 +158,10 @@ def requirements(self): self.requires("nas/1.9.5") if self.options.wayland: self.requires("wayland/1.22.0") - self.requires("xkbcommon/1.4.1") + self.requires("xkbcommon/1.6.0") self.requires("egl/system") if self.options.libunwind: - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.2") def validate(self): # SDL>=2.0.18 requires xcode 12 or higher because it uses CoreHaptics. @@ -189,9 +189,9 @@ def build_requirements(self): # set. This could be because you are using a Mac OS X version less than 10.5 # or because CMake's platform configuration is corrupt. # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/3.27.9") if self.settings.os == "Linux" and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.1.0") if hasattr(self, "settings_build") and self.options.get_safe("wayland"): self.build_requires("wayland/1.22.0") # Provides wayland-scanner From 93f09eace3459d98225889121baed646674e1901 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 22:05:24 +0200 Subject: [PATCH 2944/4087] (#18643) pexports: migrate to Conan v2 * pexports: migrate to Conan v2pexports: migrate to Conan v2 * pexports: fix Windows build * pexports: fix test_package * pexports: fix MacOS armv8 build * pexports: disable armv8 cross-compilation * Update recipes/pexports/all/conanfile.py Co-authored-by: Uilian Ries * pexports: fix invalid import --------- Co-authored-by: Uilian Ries --- recipes/pexports/all/conandata.yml | 3 - recipes/pexports/all/conanfile.py | 136 ++++++++++-------- .../pexports/all/test_package/CMakeLists.txt | 5 +- .../pexports/all/test_package/conanfile.py | 32 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../pexports/all/test_v1_package/conanfile.py | 26 ++++ 6 files changed, 133 insertions(+), 77 deletions(-) create mode 100644 recipes/pexports/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pexports/all/test_v1_package/conanfile.py diff --git a/recipes/pexports/all/conandata.yml b/recipes/pexports/all/conandata.yml index 5b08eb793f8dc..17b38bf1e163f 100644 --- a/recipes/pexports/all/conandata.yml +++ b/recipes/pexports/all/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "0.47": - patch_file: "patches/0001-add-help.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-fix-MSVC-stack-overflow.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-fix-MSVC-x86.patch" - base_path: "source_subfolder" diff --git a/recipes/pexports/all/conanfile.py b/recipes/pexports/all/conanfile.py index 44edf44c3e48f..88c3b2437f34a 100644 --- a/recipes/pexports/all/conanfile.py +++ b/recipes/pexports/all/conanfile.py @@ -1,94 +1,110 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import contextlib import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, chdir, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import unix_path, is_msvc + +required_conan_version = ">=1.52.0" class PExportsConan(ConanFile): name = "pexports" description = "pexports is a program to extract exported symbols from a PE image (executable)." - homepage = "https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/" license = "GPL-2.0-or-later" - topics = ("windows", "dll", "PE", "symbols", "import", "library") url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - - exports_sources = "patches/*" - - _autotools = None + homepage = "https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/" + topics = ("windows", "dll", "PE", "symbols", "import", "library") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) + def configure(self): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - def build_requirements(self): - self.build_requires("automake/1.16.3") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.compiler - def source(self): - filename = "pexports.tar.xz" - tools.get(**self.conan_data["sources"][self.version], filename=filename, - destination=self._source_subfolder, strip_root=True) + def validate(self): + # FIXME: Need to build with Mac M1 + if self.settings.arch in ["armv8", "armv8.3"] and cross_building(self): + raise ConanInvalidConfiguration(f"Conan recipe {self.ref} does not support armv8. Contributions are welcome!") - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "{} cl -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - "LD": "{} link -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - } - with tools.environment_append(env): - yield + def build_requirements(self): + self.tool_requires("automake/1.16.5") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + self.tool_requires("winflexbison/2.5.25") else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - host = build = None - if self.settings.compiler == "Visual Studio": - self._autotools.defines.append("YY_NO_UNISTD_H") - host = build = False - self._autotools.configure(configure_dir=self._source_subfolder, host=host, build=build) - return self._autotools + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") + + def source(self): + filename = "pexports.tar.xz" + get(self, **self.conan_data["sources"][self.version], filename=filename, strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args.append(f"--prefix={unix_path(self, self.package_folder)}") + if is_msvc(self): + tc.extra_defines.append("YY_NO_UNISTD_H") + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.vars(self).save_script("conanbuild_msvc") + + def _patch_sources(self): + apply_conandata_patches(self) + # Fix for: Invalid configuration `aarch64-apple-darwin': machine `aarch64-apple' not recognized + replace_in_file(self, os.path.join(self.source_folder, "build-aux", "config.sub"), + "avr | avr32 ", "avr | avr32 | aarch64") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - with self._build_context(): - autotools = self._configure_autotools() + self._patch_sources() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + suffix = ".exe" if self.settings.os == "Windows" else "" + copy(self, "pexports" + suffix, src=self.source_folder, dst=os.path.join(self.package_folder, "bin")) def package_info(self): + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) self.env_info.PATH.append(bin_path) diff --git a/recipes/pexports/all/test_package/CMakeLists.txt b/recipes/pexports/all/test_package/CMakeLists.txt index 7345b4f993eae..c25a9626aeb52 100644 --- a/recipes/pexports/all/test_package/CMakeLists.txt +++ b/recipes/pexports/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) if(NOT WIN32) message(FATAL_ERROR "pexports only supports Windows") endif() -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_program(PEXPORTS_BIN "pexports") set(EXPORTS_DEF_PATH "${CMAKE_BINARY_DIR}/exports.def") if(MSVC) diff --git a/recipes/pexports/all/test_package/conanfile.py b/recipes/pexports/all/test_package/conanfile.py index cd2e47277e1d7..8919154c6885e 100644 --- a/recipes/pexports/all/test_package/conanfile.py +++ b/recipes/pexports/all/test_package/conanfile.py @@ -1,11 +1,22 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException import os +from conan import ConanFile +from conan.errors import ConanException +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.files import load + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): if self.settings.os == "Windows": @@ -14,13 +25,14 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run("pexports -H", run_environment=True) + if can_run(self): + self.run("pexports -H") + if self.settings.os == "Windows": - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") exports_def_path = os.path.join(self.build_folder, "exports.def") - exports_def_contents = tools.load(exports_def_path) - self.output.info("{} contents:\n{}".format(exports_def_path, exports_def_contents)) - if not "test_package_function" in exports_def_contents: + exports_def_contents = load(self, exports_def_path) + self.output.info(f"{exports_def_path} contents:\n{exports_def_contents}") + if "test_package_function" not in exports_def_contents: raise ConanException("pexport could not detect `test_package_function` in the dll") diff --git a/recipes/pexports/all/test_v1_package/CMakeLists.txt b/recipes/pexports/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pexports/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pexports/all/test_v1_package/conanfile.py b/recipes/pexports/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..ecb888f16f156 --- /dev/null +++ b/recipes/pexports/all/test_v1_package/conanfile.py @@ -0,0 +1,26 @@ +from conans import ConanFile, CMake, tools +from conans.errors import ConanException +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + if self.settings.os == "Windows": + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + self.run("pexports -H", run_environment=True) + if self.settings.os == "Windows": + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + exports_def_path = os.path.join(self.build_folder, "exports.def") + exports_def_contents = tools.load(exports_def_path) + self.output.info("{} contents:\n{}".format(exports_def_path, exports_def_contents)) + if not "test_package_function" in exports_def_contents: + raise ConanException("pexport could not detect `test_package_function` in the dll") From af1d897b1e604879cf3d36437f2eba9537debf46 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 22:24:10 +0200 Subject: [PATCH 2945/4087] (#18955) isa-l: migrate to Conan v2 * isa-l: migrate to Conan v2 * isa-l: add Windows support * isa-l: add autoreconf call * isa-l: add new cci.20230818 version for armv8 support * isa-l: armv8 is not supported https://github.com/conan-io/conan-center-index/pull/18955#issuecomment-1790028151 * isa-l: revert the addition of custom version --- recipes/isa-l/all/conanfile.py | 121 +++++++++++------- recipes/isa-l/all/test_package/CMakeLists.txt | 10 +- recipes/isa-l/all/test_package/conanfile.py | 27 ++-- .../isa-l/all/test_v1_package/CMakeLists.txt | 8 ++ .../isa-l/all/test_v1_package/conanfile.py | 23 ++++ 5 files changed, 129 insertions(+), 60 deletions(-) create mode 100644 recipes/isa-l/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/isa-l/all/test_v1_package/conanfile.py diff --git a/recipes/isa-l/all/conanfile.py b/recipes/isa-l/all/conanfile.py index 56f45edf048a4..09af37c4cc900 100644 --- a/recipes/isa-l/all/conanfile.py +++ b/recipes/isa-l/all/conanfile.py @@ -1,17 +1,24 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration - import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, collect_libs, copy, get, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, NMakeToolchain + +required_conan_version = ">=1.53.0" + class LibisalConan(ConanFile): name = "isa-l" description = "Intel's Intelligent Storage Acceleration Library" - license = "BSD-3" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/intel/isa-l" - topics = ("isa-l", "compression") + topics = "compression" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -19,54 +26,82 @@ class LibisalConan(ConanFile): } default_options = { "shared": False, - "fPIC" :True + "fPIC": True, } - build_requires = ( - "libtool/2.4.6", - "nasm/2.15.05", - ) - - @property - def _source_subfolder(self): - return "source_subfolder" - def validate(self): - if self.settings.arch not in [ "x86", "x86_64", "armv8" ]: - raise ConanInvalidConfiguration("CPU Architecture not supported") - if self.settings.os not in ["Linux", "FreeBSD"]: - raise ConanInvalidConfiguration("Only Linux and FreeBSD builds are supported") + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.settings.arch} architecture is not supported") + if self.version == "2.30.0" and self.settings.arch == "armv8": + raise ConanInvalidConfiguration(f"Version {self.version} does not support armv8") + + def build_requirements(self): + self.tool_requires("nasm/2.15.05") + if self.settings.os != "Windows": + self.tool_requires("libtool/2.4.7") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + # ./configure bugs out if $AS executable has an absolute path + env = tc.environment() + env.define("AS", "nasm") + tc.generate(env) def build(self): - with tools.chdir(self._source_subfolder): - self.run("./autogen.sh") - env_build = AutoToolsBuildEnvironment(self) - extra_args = list() - if self.options.shared: - extra_args.extend(('--enable-static=no',)) + with chdir(self, self.source_folder): + if is_msvc(self): + replace_in_file(self, "Makefile.nmake", + " static" if self.options.shared else " dll", "") + self.run("nmake /f Makefile.nmake") else: - extra_args.extend(('--enable-shared=no',)) - env_build.configure(".", args=extra_args, build=False, host=False, target=False) - env_build.make() + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*/isa-l.h", dst="include/isa-l", keep_path=False) - self.copy("*.h", dst="include/isa-l", src="%s/include" % (self._source_subfolder) , keep_path=False) - if self.options.shared: - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.so*", dst="lib", keep_path=False, symlinks=True) - self.copy("*.dylib", dst="lib", keep_path=False) - else: - self.copy("*.a", dst="lib", keep_path=False) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*/isa-l.h", + dst=os.path.join(self.package_folder, "include/isa-l"), + src=self.source_folder, + keep_path=False) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include/isa-l"), + src=os.path.join(self.source_folder, "include"), + keep_path=False) + copy(self, "*.dll", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder, + keep_path=False) + for pattern in ["*.so*", "*.dylib", "*.lib", "*.a"]: + copy(self, pattern, + dst=os.path.join(self.package_folder, "lib"), + src=self.source_folder, + keep_path=False) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) diff --git a/recipes/isa-l/all/test_package/CMakeLists.txt b/recipes/isa-l/all/test_package/CMakeLists.txt index 196188113685c..9e88b9de0b709 100644 --- a/recipes/isa-l/all/test_package/CMakeLists.txt +++ b/recipes/isa-l/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(isa-l REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE isa-l::isa-l) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/isa-l/all/test_package/conanfile.py b/recipes/isa-l/all/test_package/conanfile.py index e1f2192537436..ef5d7042163ec 100644 --- a/recipes/isa-l/all/test_package/conanfile.py +++ b/recipes/isa-l/all/test_package/conanfile.py @@ -1,16 +1,19 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from conans import ConanFile, CMake, tools, RunEnvironment -from conan.tools.build import cross_building +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -import subprocess -import re class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -18,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/isa-l/all/test_v1_package/CMakeLists.txt b/recipes/isa-l/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/isa-l/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/isa-l/all/test_v1_package/conanfile.py b/recipes/isa-l/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9d2678d8486a0 --- /dev/null +++ b/recipes/isa-l/all/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from conans import ConanFile, CMake, tools, RunEnvironment +from conan.tools.build import cross_building +import os +import subprocess +import re + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ba5db84721f8f3a18c65cedf91d0bf7c3a9032b9 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 21:48:41 +0100 Subject: [PATCH 2946/4087] (#21609) aravis: add version 0.8.30 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/aravis/all/conandata.yml | 49 ++++++++++++++++++-------------- recipes/aravis/config.yml | 2 ++ 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/recipes/aravis/all/conandata.yml b/recipes/aravis/all/conandata.yml index 6d7da524affcc..768365163e373 100644 --- a/recipes/aravis/all/conandata.yml +++ b/recipes/aravis/all/conandata.yml @@ -1,23 +1,30 @@ sources: - "0.8.29": - url: "https://github.com/AravisProject/aravis/releases/download/0.8.29/aravis-0.8.29.tar.xz" - sha256: "12e5f2f0e1a966c3a6dce0a42d96b2f24497f42ae6051d6f026811124e986963" - "0.8.25": # latest version that supports GenDC data format (supported by U3V 1.1) - url: "https://github.com/AravisProject/aravis/releases/download/0.8.25/aravis-0.8.25.tar.xz" - sha256: "3ba18f941ae4e2c898fed1f63c4ce67ea41a800a902ee5684eef4ffdb87f1c09" - "0.8.20": - url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" - sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" + "0.8.30": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis-0.8.30.tar.xz" + sha256: "40380f06fa04524a7875bd456e5a5ea78b2c058fa84b5598bc6e0642fcef00b0" + "0.8.29": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.29/aravis-0.8.29.tar.xz" + sha256: "12e5f2f0e1a966c3a6dce0a42d96b2f24497f42ae6051d6f026811124e986963" + "0.8.25": # latest version that supports GenDC data format (supported by U3V 1.1) + url: "https://github.com/AravisProject/aravis/releases/download/0.8.25/aravis-0.8.25.tar.xz" + sha256: "3ba18f941ae4e2c898fed1f63c4ce67ea41a800a902ee5684eef4ffdb87f1c09" + "0.8.20": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" + sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" patches: - "0.8.29": - - patch_file: "patches/0.8.29-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan - "0.8.25": - - patch_file: "patches/0.8.25-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan - "0.8.20": - - patch_file: "patches/0.8.19-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan + "0.8.30": + - patch_file: "patches/0.8.29-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.29": + - patch_file: "patches/0.8.29-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.25": + - patch_file: "patches/0.8.25-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.20": + - patch_file: "patches/0.8.19-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan diff --git a/recipes/aravis/config.yml b/recipes/aravis/config.yml index 366a3a6468f96..1aa8532edf0e6 100644 --- a/recipes/aravis/config.yml +++ b/recipes/aravis/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.30": + folder: all "0.8.29": folder: all # 0.8.25 is the last version to support GenDC data format From 853a6a62397f1caba5b6dc6efe73c53b2fd09bd3 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Tue, 5 Dec 2023 22:32:06 +0100 Subject: [PATCH 2947/4087] (#21619) perfetto: Bump version: 40.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 6d72ce39c85b1..d490b5c402d8e 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "40.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v40.0.tar.gz" + sha256: "bd78f0165e66026c31c8c39221ed2863697a8bba5cd39b12e4b43d0b7f71626f" "39.0": url: "https://github.com/google/perfetto/archive/refs/tags/v39.0.tar.gz" sha256: "241cbaddc9ff4e5d1de2d28497fef40b5510e9ca60808815bf4944d0d2f026db" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 03c6316a5eb58..52841e460eedc 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "40.0": + folder: all "39.0": folder: all "38.0": From bded910f3589a45c6603174184f58feb24e8999d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 07:41:26 +0900 Subject: [PATCH 2948/4087] (#21621) glaze: add version 1.8.5 --- recipes/glaze/all/conandata.yml | 4 +++- recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index b542b9d9e6886..ad71e5b609c26 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,8 +1,10 @@ sources: + "1.8.5": + url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz" + sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4" "1.8.4": url: "https://github.com/stephenberry/glaze/archive/v1.8.4.tar.gz" sha256: "794f68d74264ebd4d26c9e1b2a9098134622751a089a45ed5a97d90e58b7d9e6" - "1.8.3": url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz" sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5971823a629d4..0cda01a7a8583 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.5": + folder: all "1.8.4": folder: all "1.8.3": From 04d80636b8e6de2b3f849f60b5da57a4688015b3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Dec 2023 02:56:01 +0200 Subject: [PATCH 2949/4087] (#21623) libtins: bump libpcap --- recipes/libtins/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtins/all/conanfile.py b/recipes/libtins/all/conanfile.py index d5656f7267688..c84ea4afb38c0 100644 --- a/recipes/libtins/all/conanfile.py +++ b/recipes/libtins/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libpcap/1.10.1", transitive_headers=True, transitive_libs=True) + self.requires("libpcap/1.10.4", transitive_headers=True, transitive_libs=True) if self.options.with_ack_tracker or self.options.with_tcp_stream_custom_data: # Used in two public headers: # - https://github.com/mfontanini/libtins/blob/v4.4/include/tins/tcp_ip/ack_tracker.h#L38 From 0b5684535054a2e337f2fbba263ad18a30c4cf7f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Dec 2023 15:51:28 +0200 Subject: [PATCH 2950/4087] (#18834) libfreenect2: migrate to Conan v2, add CUDA support * libfreenect2: migrate to Conan v2, add CUDA support * libfreenect2: use cuda-samples package for with_cuda * libfreenect2: explicitly list requires * libfreenect2: link against freenect2::freenect2 * libfreenect2: fix libjpeg-turbo linking --- recipes/libfreenect2/all/CMakeLists.txt | 7 +- recipes/libfreenect2/all/conandata.yml | 2 - recipes/libfreenect2/all/conanfile.py | 164 ++++++++++----- .../all/patches/0.2.1-fix-cmake.patch | 189 ++++-------------- .../all/test_package/CMakeLists.txt | 14 +- .../all/test_package/conanfile.py | 26 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 8 files changed, 206 insertions(+), 221 deletions(-) create mode 100644 recipes/libfreenect2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libfreenect2/all/test_v1_package/conanfile.py diff --git a/recipes/libfreenect2/all/CMakeLists.txt b/recipes/libfreenect2/all/CMakeLists.txt index c986d294c7547..ff20e4a7a17dd 100644 --- a/recipes/libfreenect2/all/CMakeLists.txt +++ b/recipes/libfreenect2/all/CMakeLists.txt @@ -1,7 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") +add_subdirectory(src) diff --git a/recipes/libfreenect2/all/conandata.yml b/recipes/libfreenect2/all/conandata.yml index 7fab4fd83db66..95824e496a47a 100644 --- a/recipes/libfreenect2/all/conandata.yml +++ b/recipes/libfreenect2/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "0.2.1": - patch_file: "patches/0.2.1-fix-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/0.2.1-generate-resources.patch" - base_path: "source_subfolder" diff --git a/recipes/libfreenect2/all/conanfile.py b/recipes/libfreenect2/all/conanfile.py index dbb951cc733d9..b9a827fb5ffdb 100644 --- a/recipes/libfreenect2/all/conanfile.py +++ b/recipes/libfreenect2/all/conanfile.py @@ -1,21 +1,32 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.gnu import PkgConfigDeps + +required_conan_version = ">=1.53.0" + class Libfreenect2Conan(ConanFile): name = "libfreenect2" + description = "Open source drivers for the Kinect for Windows v2 device." license = ("Apache-2.0", "GPL-2.0") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/OpenKinect/libfreenect2" - description = "Open source drivers for the Kinect for Windows v2 device." topics = ("usb", "camera", "kinect") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "with_opencl": [True, False], "with_opengl": [True, False], "with_vaapi": [True, False], + "with_cuda": [True, False], } default_options = { "shared": False, @@ -23,88 +34,133 @@ class Libfreenect2Conan(ConanFile): "with_opencl": True, "with_opengl": True, "with_vaapi": True, + "with_cuda": False, } - generators = "cmake", "cmake_find_package" - exports_sources = ["CMakeLists.txt", "patches/*"] - - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os != "Linux": - del self.options.with_vaapi + if self.settings.os not in ["Linux", "FreeBSD"]: + self.options.rm_safe("with_vaapi") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libusb/1.0.24") - self.requires("libjpeg-turbo/2.1.1") + self.requires("libusb/1.0.26") + self.requires("libjpeg-turbo/3.0.0") if self.options.with_opencl: - self.requires("opencl-headers/2021.04.29") - self.requires("opencl-icd-loader/2021.04.29") + # 2023.02.06 is the latest compatible version + self.requires("opencl-headers/2023.02.06") + self.requires("opencl-icd-loader/2023.02.06") if self.options.with_opengl: self.requires("opengl/system") - self.requires("glfw/3.3.4") + self.requires("glfw/3.3.8") if self.options.get_safe("with_vaapi"): self.requires("vaapi/system") + if self.options.with_cuda: + self.requires("cuda-samples/12.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) + if self.options.with_cuda: + self.output.warning("Conan package for CUDA is not available, will use system CUDA") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_FIND_ROOT_PATH_MODE_PACKAGE"] = "NONE" + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_OPENNI2_DRIVER"] = False + tc.variables["ENABLE_CXX11"] = True + tc.variables["ENABLE_OPENCL"] = self.options.with_opencl + tc.variables["ENABLE_CUDA"] = self.options.with_cuda + tc.variables["ENABLE_OPENGL"] = self.options.with_opengl + tc.variables["ENABLE_VAAPI"] = self.options.get_safe("with_vaapi", False) + tc.variables["ENABLE_TEGRAJPEG"] = False # TODO: TegraJPEG + tc.variables["ENABLE_PROFILING"] = False + if self.options.with_cuda: + tc.variables["NVCUDASAMPLES_ROOT"] = os.path.join(self.dependencies["cuda-samples"].package_folder, "include") + # Required for deprecated FindCUDA support + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0146"] = "OLD" + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("libusb", "cmake_file_name", "LibUSB") + deps.set_property("glfw3", "cmake_file_name", "GLFW3") + deps.set_property("libjpeg-turbo", "cmake_file_name", "TurboJPEG") + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_EXAMPLES"] = False - self._cmake.definitions["BUILD_OPENNI2_DRIVER"] = False - self._cmake.definitions["ENABLE_CXX11"] = True - self._cmake.definitions["ENABLE_OPENCL"] = self.options.with_opencl - self._cmake.definitions["ENABLE_CUDA"] = False # TODO: CUDA - self._cmake.definitions["ENABLE_OPENGL"] = self.options.with_opengl - self._cmake.definitions["ENABLE_VAAPI"] = self.options.get_safe("with_vaapi", False) - self._cmake.definitions["ENABLE_TEGRAJPEG"] = False # TODO: TegraJPEG - self._cmake.definitions["ENABLE_PROFILING"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "FIND_PACKAGE(JPEG)", "FIND_PACKAGE(TurboJPEG REQUIRED CONFIG)") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " JPEG_FOUND", " TRUE") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("APACHE20", src=self._source_subfolder, dst="licenses", keep_path=False) - self.copy("GPL2", src=self._source_subfolder, dst="licenses", keep_path=False) - cmake = self._configure_cmake() + copy(self, "APACHE20", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + copy(self, "GPL2", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "freenect2" - self.cpp_info.names["cmake_find_package_multi"] = "freenect2" - self.cpp_info.names["pkg_config"] = "freenect2" - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == "Linux": + self.cpp_info.set_property("cmake_file_name", "freenect2") + self.cpp_info.set_property("cmake_target_name", "freenect2::freenect2") + self.cpp_info.set_property("pkg_config_name", "freenect2") + self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) - elif self.settings.os == "Macos": + elif is_apple_os(self): self.cpp_info.frameworks.extend(["VideoToolbox", "CoreFoundation", "CoreMedia", "CoreVideo"]) + + self.cpp_info.requires += [ + "libusb::libusb", + "libjpeg-turbo::jpeg", + "libjpeg-turbo::turbojpeg", + ] + if self.options.with_opencl: + self.cpp_info.requires += [ + "opencl-headers::opencl-headers", + "opencl-icd-loader::opencl-icd-loader", + ] + if self.options.with_opengl: + self.cpp_info.requires += [ + "opengl::opengl", + "glfw::glfw", + ] + if self.options.get_safe("with_vaapi"): + self.cpp_info.requires += ["vaapi::vaapi"] + if self.options.with_cuda: + self.cpp_info.requires += ["cuda-samples::cuda-samples"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "freenect2" + self.cpp_info.names["cmake_find_package_multi"] = "freenect2" diff --git a/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch b/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch index 93324460a3d71..fcc8f8dfa20e8 100644 --- a/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch +++ b/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch @@ -1,27 +1,6 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d8ef047..a81aa8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -90,8 +90,7 @@ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - - # dependencies --FIND_PACKAGE(PkgConfig) # try find PKGConfig as it will be used if found --FIND_PACKAGE(LibUSB REQUIRED) -+find_package(libusb REQUIRED) - - # Add includes - INCLUDE_DIRECTORIES( -@@ -99,7 +98,7 @@ INCLUDE_DIRECTORIES( - "${MY_DIR}/include/internal" - ${PROJECT_BINARY_DIR} # for generated headers - ${LIBFREENECT2_THREADING_INCLUDE_DIR} -- ${LibUSB_INCLUDE_DIRS} -+ # ${LibUSB_INCLUDE_DIRS} - ) - - SET(RESOURCES_INC_FILE "${PROJECT_BINARY_DIR}/resources.inc.h") -@@ -157,12 +156,12 @@ SET(SOURCES +@@ -157,7 +157,7 @@ ) SET(LIBRARIES @@ -30,174 +9,88 @@ index d8ef047..a81aa8e 100644 ${LIBFREENECT2_THREADING_LIBRARIES} ) - SET(LIBFREENECT2_DLLS -- ${LibUSB_DLL} -+ #${LibUSB_DLL} - ) - - SET(HAVE_VideoToolbox "no (Apple only)") -@@ -193,13 +192,14 @@ ENDIF(APPLE) - - SET(HAVE_VAAPI disabled) - IF(ENABLE_VAAPI) -- IF(PKG_CONFIG_FOUND) -- PKG_CHECK_MODULES(VAAPI libva libva-drm) -- ENDIF() -- FIND_PACKAGE(JPEG) -+ # IF(PKG_CONFIG_FOUND) -+ # PKG_CHECK_MODULES(VAAPI libva libva-drm) -+ # ENDIF() -+ find_package(vaapi REQUIRED) -+ find_package(libjpeg-turbo REQUIRED) - - SET(HAVE_VAAPI no) -- IF(VAAPI_FOUND AND JPEG_FOUND) -+ # IF(VAAPI_FOUND AND JPEG_FOUND) - SET(LIBFREENECT2_WITH_VAAPI_SUPPORT 1) - SET(HAVE_VAAPI yes) - -@@ -209,10 +209,10 @@ IF(ENABLE_VAAPI) - src/vaapi_rgb_packet_processor.cpp - ) - LIST(APPEND LIBRARIES -- ${VAAPI_LIBRARIES} -- ${JPEG_LIBRARY} -+ vaapi::vaapi -+ libjpeg-turbo::libjpeg-turbo - ) -- ENDIF() -+ # ENDIF() - ENDIF(ENABLE_VAAPI) - - SET(HAVE_TegraJPEG disabled) -@@ -237,38 +237,38 @@ IF(ENABLE_TEGRAJPEG) - ENDIF() - - IF(LIBFREENECT2_WITH_VT_SUPPORT) -- FIND_PACKAGE(TurboJPEG) -+ find_package(libjpeg-turbo REQUIRED) - ELSE() - # VAAPI can fail to start at runtime. It must have a fallback. -- FIND_PACKAGE(TurboJPEG REQUIRED) -+ find_package(libjpeg-turbo REQUIRED) - ENDIF() - - SET(HAVE_TurboJPEG no) --IF(TurboJPEG_FOUND) -+IF(libjpeg-turbo_FOUND) - SET(LIBFREENECT2_WITH_TURBOJPEG_SUPPORT 1) - SET(HAVE_TurboJPEG yes) - -- INCLUDE_DIRECTORIES(${TurboJPEG_INCLUDE_DIRS}) -+ #INCLUDE_DIRECTORIES(${TurboJPEG_INCLUDE_DIRS}) - - LIST(APPEND SOURCES - src/turbo_jpeg_rgb_packet_processor.cpp - ) - - LIST(APPEND LIBRARIES -- ${TurboJPEG_LIBRARIES} -+ libjpeg-turbo::libjpeg-turbo - ) - - LIST(APPEND LIBFREENECT2_DLLS -- ${TurboJPEG_DLL} -+ #${TurboJPEG_DLL} - ) - ENDIF() - - SET(HAVE_OpenGL disabled) - IF(ENABLE_OPENGL) -- FIND_PACKAGE(GLFW3) -- FIND_PACKAGE(OpenGL) -+ find_package(glfw3 REQUIRED) -+ find_package(opengl_system REQUIRED) - SET(HAVE_OpenGL no) -- IF(GLFW3_FOUND AND OPENGL_FOUND) -+ # IF(GLFW3_FOUND AND OPENGL_FOUND) - SET(LIBFREENECT2_WITH_OPENGL_SUPPORT 1) - SET(HAVE_OpenGL yes) - -@@ -276,8 +276,8 @@ IF(ENABLE_OPENGL) +@@ -276,8 +272,8 @@ LIST(APPEND LIBFREENECT2_DLLS ${GLFW3_DLL}) LIST(APPEND LIBRARIES - ${GLFW3_LIBRARIES} - ${OPENGL_gl_LIBRARY} -+ glfw::glfw -+ opengl::opengl ++ ${GLFW3_LIBRARIES} glfw ++ ${OPENGL_gl_LIBRARY} opengl::opengl ) LIST(APPEND SOURCES src/flextGL.cpp -@@ -292,19 +292,19 @@ IF(ENABLE_OPENGL) - src/shader/stage1.fs - src/shader/stage2.fs - ) -- ENDIF() -+ # ENDIF() - ENDIF(ENABLE_OPENGL) +@@ -297,10 +293,10 @@ SET(HAVE_OpenCL disabled) IF(ENABLE_OPENCL) - FIND_PACKAGE(OpenCL) -+ find_package(opencl-icd-loader REQUIRED) ++ find_package(OpenCLICDLoader REQUIRED) ++ find_package(OpenCLHeaders REQUIRED) SET(HAVE_OpenCL no) - IF(OpenCL_FOUND) -+ #IF(OpenCL_FOUND) SET(LIBFREENECT2_WITH_OPENCL_SUPPORT 1) SET(HAVE_OpenCL yes) -- IF(UNIX AND NOT APPLE) -+ IF(0) - INCLUDE(CheckOpenCLICDLoader) - IF(OpenCL_C_WORKS AND NOT OpenCL_CXX_WORKS) - SET(LIBFREENECT2_OPENCL_ICD_LOADER_IS_OLD 1) -@@ -312,7 +312,7 @@ IF(ENABLE_OPENCL) +@@ -312,7 +308,7 @@ MESSAGE(WARNING "Your libOpenCL.so is incompatible with CL/cl.h. Install ocl-icd-opencl-dev to update libOpenCL.so?") ENDIF() ENDIF() - INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIRS}) -+ #INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIRS}) ++ INCLUDE_DIRECTORIES(${OpenCLHeaders_INCLUDE_DIRS}) LIST(APPEND SOURCES src/opencl_depth_packet_processor.cpp -@@ -320,7 +320,7 @@ IF(ENABLE_OPENCL) +@@ -320,7 +316,7 @@ ) LIST(APPEND LIBRARIES - ${OpenCL_LIBRARIES} -+ opencl-icd-loader::opencl-icd-loader ++ OpenCL::Headers OpenCL::OpenCL ) LIST(APPEND RESOURCES -@@ -334,7 +334,7 @@ IF(ENABLE_OPENCL) +@@ -334,12 +330,11 @@ IF(UNIX AND NOT APPLE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") ENDIF() - ENDIF(OpenCL_FOUND) -+ #ENDIF(OpenCL_FOUND) ENDIF(ENABLE_OPENCL) SET(HAVE_CUDA disabled) -@@ -385,7 +385,7 @@ IF(ENABLE_CUDA) - ENDIF(ENABLE_CUDA) - - # RPATH handling for CUDA 8.0 libOpenCL.so conflict. See #804. --IF(HAVE_OpenCL STREQUAL yes AND UNIX AND NOT APPLE) -+IF(0) - FILE(GLOB CUDA_ld_so_conf /etc/ld.so.conf.d/cuda*.conf) - IF(CUDA_ld_so_conf) - MESSAGE(WARNING "Your CUDA installation overrides OpenCL system library path.") -@@ -403,9 +403,9 @@ ENDIF() + IF(ENABLE_CUDA) +- FIND_PACKAGE(CUDA) ++ FIND_PACKAGE(CUDA REQUIRED) + SET(HAVE_CUDA no) + IF(CUDA_FOUND AND MSVC14 AND CUDA_VERSION VERSION_LESS 8.0) + SET(HAVE_CUDA "no (VS2015 not supported)") +@@ -347,12 +342,15 @@ + SET(LIBFREENECT2_WITH_CUDA_SUPPORT 1) + SET(HAVE_CUDA yes) + +- STRING(REPLACE "\\" "/" NVCUDASAMPLES_ROOT "$ENV{NVCUDASAMPLES_ROOT}") ++ IF(NOT DEFINED NVCUDASAMPLES_ROOT) ++ STRING(REPLACE "\\" "/" NVCUDASAMPLES_ROOT "$ENV{NVCUDASAMPLES_ROOT}") ++ ENDIF() + STRING(REPLACE "\\" "/" NVCUDASAMPLES8_0_ROOT "$ENV{NVCUDASAMPLES8_0_ROOT}") + CUDA_INCLUDE_DIRECTORIES( + "${MY_DIR}/include/" + "${CUDA_TOOLKIT_ROOT_DIR}/samples/common/inc" + "${NVCUDASAMPLES_ROOT}/common/inc" ++ "${NVCUDASAMPLES_ROOT}/Common" + "${NVCUDASAMPLES8_0_ROOT}/common/inc" + ) + SET(CUDA_FLAGS -use_fast_math) +@@ -403,11 +401,6 @@ # Both command line -DCMAKE_INSTALL_RPATH=... and CMake GUI settings are accepted. # # Anyway if wrong versions of libusb is used, errors will be reported explicitly. -IF(NOT DEFINED CMAKE_INSTALL_RPATH AND NOT ${LibUSB_LIBDIR} MATCHES "^/usr/lib") -+IF(0 AND NOT DEFINED CMAKE_INSTALL_RPATH AND NOT ${LibUSB_LIBDIR} MATCHES "^/usr/lib") - SET(CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR} CACHE STRING "Set RPATH for a private libusb") +- SET(CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR} CACHE STRING "Set RPATH for a private libusb") -ELSEIF(DEFINED CMAKE_INSTALL_RPATH) -+ELSEIF(0 AND DEFINED CMAKE_INSTALL_RPATH) - SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH} CACHE STRING "Set RPATH for a private libusb") - ENDIF() +- SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH} CACHE STRING "Set RPATH for a private libusb") +-ENDIF() IF(DEFINED CMAKE_INSTALL_RPATH) + MESSAGE(STATUS "RPATH set to ${CMAKE_INSTALL_RPATH}") + ENDIF() diff --git a/recipes/libfreenect2/all/test_package/CMakeLists.txt b/recipes/libfreenect2/all/test_package/CMakeLists.txt index 5742a7e29c0d5..9acae9b976620 100644 --- a/recipes/libfreenect2/all/test_package/CMakeLists.txt +++ b/recipes/libfreenect2/all/test_package/CMakeLists.txt @@ -1,12 +1,14 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(freenect2 REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ${freenect2_LIBRARIES}) -target_include_directories(${PROJECT_NAME} PRIVATE ${freenect2_INCLUDE_DIRS}) +target_link_libraries(${PROJECT_NAME} PRIVATE freenect2::freenect2) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) + +if (WITH_CUDA) + cmake_minimum_required(VERSION 3.17) + find_package(CUDAToolkit REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE CUDA::cudart) +endif() diff --git a/recipes/libfreenect2/all/test_package/conanfile.py b/recipes/libfreenect2/all/test_package/conanfile.py index 3da371b660e0a..66cde37e06dd2 100644 --- a/recipes/libfreenect2/all/test_package/conanfile.py +++ b/recipes/libfreenect2/all/test_package/conanfile.py @@ -1,10 +1,24 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_CUDA"] = self.dependencies[self.tested_reference_str].options.with_cuda + tc.generate() def build(self): cmake = CMake(self) @@ -12,6 +26,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt b/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libfreenect2/all/test_v1_package/conanfile.py b/recipes/libfreenect2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/libfreenect2/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 7ca697799c5b7d5fe20dc3b9e2708c70e925d243 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Dec 2023 20:13:25 +0200 Subject: [PATCH 2951/4087] (#21632) libxml2: add version 2.12.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 68fe5669e65f4..37ac179d3514e 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.2": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.2.tar.xz" + sha256: "3f2e6464fa15073eb8f3d18602d54fafc489b7715171064615a40490c6be9f4f" "2.12.1": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index aece5e69bedd8..cde8f92b31014 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.2": + folder: all "2.12.1": folder: all "2.11.5": From 2bc3490a5f18aec4ee6bef00c4f3ebb966d77c7b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 7 Dec 2023 08:16:32 +0200 Subject: [PATCH 2952/4087] (#21633) nanoflann: add version 1.5.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/nanoflann/all/conandata.yml | 3 +++ recipes/nanoflann/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nanoflann/all/conandata.yml b/recipes/nanoflann/all/conandata.yml index b6d2b6c2d459b..f8c576a4749fe 100644 --- a/recipes/nanoflann/all/conandata.yml +++ b/recipes/nanoflann/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.2": + url: "https://github.com/jlblancoc/nanoflann/archive/v1.5.2.tar.gz" + sha256: "2adcea7821445119a7a4f83c27abd56dba963e1e9c05a3f58bdb2273ae1b4698" "1.5.0": url: "https://github.com/jlblancoc/nanoflann/archive/v1.5.0.tar.gz" sha256: "89aecfef1a956ccba7e40f24561846d064f309bc547cc184af7f4426e42f8e65" diff --git a/recipes/nanoflann/config.yml b/recipes/nanoflann/config.yml index 6332b5bdd9493..42431fc83ed1e 100644 --- a/recipes/nanoflann/config.yml +++ b/recipes/nanoflann/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.2": + folder: "all" "1.5.0": folder: "all" "1.4.3": From 23c84b31ab953a0ff401f53f91d51d820cd528f1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 8 Dec 2023 02:12:16 +0100 Subject: [PATCH 2953/4087] (#21157) libmysqlclient: allow shared with apple-clang * conditionally remove shared option and set package type * remove unused files in lib folder if Windows - remove libmysql.dll - remove either static or import lib depending on shared option * allow shared for macOS * remove lib/plugin folder --- recipes/libmysqlclient/all/conanfile.py | 28 +++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 10ca9c1297853..3222c3020d2f0 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.build import check_min_cppstd, cross_building, stdcpp_library from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.env import VirtualRunEnv, VirtualBuildEnv -from conan.tools.files import rename, get, apply_conandata_patches, replace_in_file, rmdir, rm, export_conandata_patches, copy, mkdir +from conan.tools.files import rename, get, apply_conandata_patches, replace_in_file, rmdir, rm, export_conandata_patches, mkdir from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version @@ -90,11 +90,6 @@ def loose_lt_semver(v1, v2): if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} {minimum_version} or newer") - # Sice 8.0.17 this doesn't support shared library on MacOS. - # https://github.com/mysql/mysql-server/blob/mysql-8.0.17/cmake/libutils.cmake#L333-L335 - if self.settings.compiler == "apple-clang" and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared library") - # mysql < 8.0.29 uses `requires` in source code. It is the reserved keyword in C++20. # https://github.com/mysql/mysql-server/blob/mysql-8.0.0/include/mysql/components/services/dynamic_loader.h#L270 if self.settings.compiler.get_safe("cppstd") == "20" and Version(self.version) < "8.0.29": @@ -255,16 +250,23 @@ def package(self): rm(self, "README", self.package_folder) rm(self, "*.pdb", self.package_folder, recursive=True) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "plugin")) rmdir(self, os.path.join(self.package_folder, "docs")) rmdir(self, os.path.join(self.package_folder, "share")) - if self.settings.os == "Windows" and self.options.shared: - copy(self, "*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - if self.options.shared: - rm(self, "*.a", self.package_folder, recursive=True) + if self.settings.os == "Windows": + if self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "libmysql.dll"), + os.path.join(self.package_folder, "bin", "libmysql.dll")) + rm(self, "*mysqlclient.*", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.dll", os.path.join(self.package_folder, "lib")) + rm(self, "*libmysql.*", os.path.join(self.package_folder, "lib")) else: - rm(self, "*.dll", self.package_folder, recursive=True) - rm(self, "*.dylib", self.package_folder, recursive=True) - rm(self, "*.so*", self.package_folder, recursive=True) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.dylib", os.path.join(self.package_folder, "lib")) + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "mysqlclient") From 98bd2cfc0c1223e5730144419a27407b5e4b145c Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Sat, 9 Dec 2023 06:44:15 -0600 Subject: [PATCH 2954/4087] (#17344) cyclonedds-cxx: Add new recipe * Add cyclonedds-cxx recipe * Streamline * remove conan v1 vars * Tweak * Add 0.10.4 * Require cyclonedds * Add find_package * Use transitive headers * Update src folder * Set minimum conan version to >=1.61.0 * Require cxx17 for test package * Handle cross-compilation * Try to handle win32 dll scenario * Help find dll * Wrong function call * Mark message as debug * Appease the linting gods * Add m to system_libs * Remove older versions * Tweak recipe with review feedback * Document transitive_header reasoning * Refactor code generation support and use CMakeDeps to include cycloneidlcxx lib * Use default paths as well * Tweak search path * Refactor generate script * Add builddirs * Revert back to cmake 3.16+ * Removed unused export_conan_data --- .../cyclonedds-cxx/all/cmake/Generate.cmake | 64 +++++++ recipes/cyclonedds-cxx/all/conandata.yml | 4 + recipes/cyclonedds-cxx/all/conanfile.py | 162 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 15 ++ .../all/test_package/Message.idl | 6 + .../all/test_package/conanfile.py | 27 +++ .../all/test_package/test_message.cpp | 12 ++ .../all/test_package/test_package.cpp | 11 ++ recipes/cyclonedds-cxx/config.yml | 3 + 9 files changed, 304 insertions(+) create mode 100644 recipes/cyclonedds-cxx/all/cmake/Generate.cmake create mode 100644 recipes/cyclonedds-cxx/all/conandata.yml create mode 100644 recipes/cyclonedds-cxx/all/conanfile.py create mode 100644 recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt create mode 100644 recipes/cyclonedds-cxx/all/test_package/Message.idl create mode 100644 recipes/cyclonedds-cxx/all/test_package/conanfile.py create mode 100644 recipes/cyclonedds-cxx/all/test_package/test_message.cpp create mode 100644 recipes/cyclonedds-cxx/all/test_package/test_package.cpp create mode 100644 recipes/cyclonedds-cxx/config.yml diff --git a/recipes/cyclonedds-cxx/all/cmake/Generate.cmake b/recipes/cyclonedds-cxx/all/cmake/Generate.cmake new file mode 100644 index 0000000000000..a399ac1aa2efe --- /dev/null +++ b/recipes/cyclonedds-cxx/all/cmake/Generate.cmake @@ -0,0 +1,64 @@ +# +# Copyright(c) 2020 to 2022 ZettaScale Technology and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License v. 2.0 which is available at +# http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License +# v. 1.0 which is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause +# + +# NOTE: This function was leveraged from the upstream cyclonedds-cxx project +# and modified to find the direct path to the cycloneddsidlcxx library as +# opposed to leveraging the native CycloneDDS-CXX::idlcxx cmake target. +# Because Conan redeclares its own targets using INTERFACE libs, the upstream +# version of this function was incompatible. If the upstream implementation of +# this functionality changes, a modification to this file may be required. +# See: https://github.com/eclipse-cyclonedds/cyclonedds-cxx/blob/master/src/idlcxx/Generate.cmake + +find_package(CycloneDDS REQUIRED) + +# find idlcxx shared library +set(CMAKE_FIND_LIBRARY_SUFFIXES .dll ${CMAKE_FIND_LIBRARY_SUFFIXES}) +if(CMAKE_CROSSCOMPILING) + find_library(_idlcxx_shared_lib cycloneddsidlcxx NO_CMAKE_FIND_ROOT_PATH REQUIRED) +else() + find_library(_idlcxx_shared_lib + NAMES cycloneddsidlcxx + PATHS ${CMAKE_CURRENT_LIST_DIR}/../../bin/ + ${CMAKE_CURRENT_LIST_DIR}/../../lib/ + NO_DEFAULT_PATH) +endif() + +if(_idlcxx_shared_lib) + set(_idlcxx_depends "") +else() + message(FATAL_ERROR "Cannot find idlcxx shared library") +endif() + +function(IDLCXX_GENERATE) + set(one_value_keywords TARGET DEFAULT_EXTENSIBILITY BASE_DIR OUTPUT_DIR) + set(multi_value_keywords FILES FEATURES INCLUDES WARNINGS) + cmake_parse_arguments( + IDLCXX "" "${one_value_keywords}" "${multi_value_keywords}" "" ${ARGN}) + + idlc_generate_generic(TARGET ${IDLCXX_TARGET} + BACKEND ${_idlcxx_shared_lib} + BASE_DIR ${IDLCXX_BASE_DIR} + FILES ${IDLCXX_FILES} + FEATURES ${IDLCXX_FEATURES} + INCLUDES ${IDLCXX_INCLUDES} + WARNINGS ${IDLCXX_WARNINGS} + DEFAULT_EXTENSIBILITY ${IDLCXX_DEFAULT_EXTENSIBILITY} + SUFFIXES .hpp .cpp + OUTPUT_DIR ${IDLCXX_OUTPUT_DIR} + DEPENDS ${_idlcxx_depends} + ) + if(CYCLONEDDS_CXX_ENABLE_LEGACY) + target_include_directories(${IDLCXX_TARGET} + INTERFACE ${Boost_INCLUDE_DIR} + ) + endif() +endfunction() diff --git a/recipes/cyclonedds-cxx/all/conandata.yml b/recipes/cyclonedds-cxx/all/conandata.yml new file mode 100644 index 0000000000000..46c0203bb55c2 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.10.4": + url: "https://github.com/eclipse-cyclonedds/cyclonedds-cxx/archive/refs/tags/0.10.4.tar.gz" + sha256: "ca09d738b150a7dc1fa63dcb5ad211a4ba516c92710ebff7b9fe817c7c5a257e" diff --git a/recipes/cyclonedds-cxx/all/conanfile.py b/recipes/cyclonedds-cxx/all/conanfile.py new file mode 100644 index 0000000000000..723b2660aff69 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/conanfile.py @@ -0,0 +1,162 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, replace_in_file +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.61.0" + +class CycloneDDSCXXConan(ConanFile): + name = "cyclonedds-cxx" + license = "EPL-2.0" + homepage = "https://cyclonedds.io/" + url = "https://github.com/conan-io/conan-center-index" + description = "Eclipse Cyclone DDS C++ Binding- An implementation"\ + " of the OMG Data Distribution Service (DDS) specification" + topics = ("dds", "ipc", "ros", "middleware") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return "17" + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "Visual Studio": "16", + "msvc": "192", + "clang": "7", + "apple-clang": "10", + } + + def _has_idlc(self, info=False): + # don't build idllib when it makes little sense or not supported + host_os = self.info.settings.os if info else self.settings.os + return host_os not in ["Android", "iOS", "watchOS", "tvOS", "Neutrino"] + + def export_sources(self): + copy(self, os.path.join("cmake", "Generate.cmake"), self.recipe_folder, self.export_sources_folder) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # Use the corresponding version of cyclonedds with transitive headers + #INFO: is used in several public headers including: + # :29 + # :31 + # :26 + # :34 + self.requires("cyclonedds/{}".format(self.version), transitive_headers=True) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_DDSLIB"] = True + tc.variables["BUILD_IDLLIB"] = self._has_idlc() + tc.variables["BUILD_DOCS"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_EXAMPLES"] = False + # variables which effects build + tc.variables["ENABLE_LEGACY"] = False + tc.variables["ENABLE_SHM"] = self.dependencies["cyclonedds"].options.with_shm + tc.variables["ENABLE_TYPE_DISCOVERY"] = self.dependencies["cyclonedds"].options.enable_discovery + tc.variables["ENABLE_TOPIC_DISCOVERY"] = self.dependencies["cyclonedds"].options.enable_discovery + tc.variables["ENABLE_COVERAGE"] = False + tc.generate() + cd = CMakeDeps(self) + cd.generate() + + def _patch_sources(self): + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, + "get_target_property(cyclonedds_has_shm CycloneDDS::ddsc SHM_SUPPORT_IS_AVAILABLE)", + "set(cyclonedds_has_shm {})".format(self.dependencies["cyclonedds"].options.with_shm)) + replace_in_file(self, cmakelists, + "get_target_property(cyclonedds_has_type_discovery CycloneDDS::ddsc TYPE_DISCOVERY_IS_AVAILABLE)", + "set(cyclonedds_has_type_discovery {})".format(self.dependencies["cyclonedds"].options.enable_discovery)) + replace_in_file(self, cmakelists, + "get_target_property(cyclonedds_has_topic_discovery CycloneDDS::ddsc TOPIC_DISCOVERY_IS_AVAILABLE)", + "set(cyclonedds_has_topic_discovery {})".format(self.dependencies["cyclonedds"].options.enable_discovery)) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "CycloneDDS-CXX")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "Generate.cmake", + src=os.path.join(self.source_folder, os.pardir, "cmake"), + dst=os.path.join(self.package_folder, self._module_path)) + if self.settings.os == "Windows": + for p in ("*.pdb", "concrt*.dll", "msvcp*.dll", "vcruntime*.dll"): + rm(self, p, os.path.join(self.package_folder, "bin")) + + @property + def _module_path(self): + return os.path.join("lib", "cmake") + + def package_info(self): + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_module_file_name", "CycloneDDS-CXX") + self.cpp_info.set_property("cmake_file_name", "CycloneDDS-CXX") + self.cpp_info.set_property("cmake_target_name", "CycloneDDS-CXX::CycloneDDS-CXX") + self.cpp_info.set_property("pkg_config_name", "CycloneDDS-CXX") + build_modules = [ + os.path.join(self._module_path, "Generate.cmake"), + ] + self.cpp_info.set_property("cmake_build_modules", build_modules) + self.cpp_info.includedirs = ["include/ddscxx"] + self.cpp_info.builddirs = [self._module_path] + self.cpp_info.components["ddscxx"].libs = ["ddscxx"] + self.cpp_info.components["ddscxx"].includedirs = ["include/ddscxx"] + self.cpp_info.components["ddscxx"].set_property("cmake_target_name", "CycloneDDS-CXX::ddscxx") + self.cpp_info.components["ddscxx"].set_property("pkg_config_name", "CycloneDDS-CXX") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["ddscxx"].system_libs = ["m"] + self.cpp_info.components["idlcxx"].libs = ["cycloneddsidlcxx"] + self.cpp_info.components["idlcxx"].set_property("cmake_target_name", "CycloneDDS-CXX::idlcxx") + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + self.buildenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) + self.runenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) diff --git a/recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt b/recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4092a05fa5b94 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +find_package(CycloneDDS-CXX REQUIRED) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE CycloneDDS-CXX::ddscxx CycloneDDS::ddsc) + +if(NOT CMAKE_CROSSCOMPILING) + IDLCXX_GENERATE(TARGET MessageLib FILES Message.idl) + add_executable(test_message test_message.cpp) + target_link_libraries(test_message PRIVATE MessageLib CycloneDDS-CXX::ddscxx CycloneDDS::ddsc) +endif() diff --git a/recipes/cyclonedds-cxx/all/test_package/Message.idl b/recipes/cyclonedds-cxx/all/test_package/Message.idl new file mode 100644 index 0000000000000..46b201f63a878 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/Message.idl @@ -0,0 +1,6 @@ +module conan { + struct Message { + sequence payload; + }; + #pragma keylist Message +}; diff --git a/recipes/cyclonedds-cxx/all/test_package/conanfile.py b/recipes/cyclonedds-cxx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..50b7ececfcd17 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + +class CycloneDDSCXXTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_message") + self.run(bin_path, env="conanrun") diff --git a/recipes/cyclonedds-cxx/all/test_package/test_message.cpp b/recipes/cyclonedds-cxx/all/test_package/test_message.cpp new file mode 100644 index 0000000000000..2bc38e32ae1ab --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/test_message.cpp @@ -0,0 +1,12 @@ +#include +#include "dds/dds.hpp" +#include "Message.hpp" + +int main() { + dds::domain::DomainParticipant domain_(0); + + conan::Message message; + std::vector payload; + message.payload(std::move(payload)); + return 0; +} diff --git a/recipes/cyclonedds-cxx/all/test_package/test_package.cpp b/recipes/cyclonedds-cxx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..b4cf37cb3f9e2 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include "dds/dds.hpp" + +int main() { + + dds::domain::DomainParticipant participant(0); + dds::topic::PublicationBuiltinTopicData topic; + dds::sub::Subscriber subscriber(participant); + + return 0; +} diff --git a/recipes/cyclonedds-cxx/config.yml b/recipes/cyclonedds-cxx/config.yml new file mode 100644 index 0000000000000..87e6038632c05 --- /dev/null +++ b/recipes/cyclonedds-cxx/config.yml @@ -0,0 +1,3 @@ +versions: + "0.10.4": + folder: all From 2d7593b11ebf2bb8bc5e28ee16a983479a8cf51c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 10 Dec 2023 20:38:32 +0100 Subject: [PATCH 2955/4087] (#21444) date: add package_type --- recipes/date/all/conanfile.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 94529453674c1..315ca73f8ae1f 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -16,7 +16,7 @@ class DateConan(ConanFile): description = "A date and time library based on the C++11/14/17 header" topics = ("datetime", "timezone", "calendar", "time", "iana-database") license = "MIT" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -47,6 +47,7 @@ def configure(self): self.options.rm_safe("fPIC") if self.options.header_only: del self.options.shared + self.package_type = "header-library" def layout(self): cmake_layout(self, src_folder="src") @@ -106,20 +107,19 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "CMake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "date") self.cpp_info.set_property("cmake_target_name", "date::date") - # TODO: Remove legacy .names attribute when conan 2.0 is released - self.cpp_info.names["cmake_find_package"] = "date" - self.cpp_info.names["cmake_find_package_multi"] = "date" # date-tz - if not self.options.header_only: + if self.options.header_only: + self.cpp_info.bindirs = [] + self.cpp_info.defines.append("DATE_HEADER_ONLY") + self.cpp_info.libdirs = [] + else: self.cpp_info.components["date-tz"].set_property("cmake_target_name", "date::date-tz") - # TODO: Remove legacy .names attribute when conan 2.0 is released - self.cpp_info.components["date-tz"].names["cmake_find_package"] = "date-tz" - self.cpp_info.components["date-tz"].names["cmake_find_package_multi"] = "date-tz" lib_name = "{}tz".format("date-" if Version(self.version) >= "3.0.0" else "") self.cpp_info.components["date-tz"].libs = [lib_name] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["date-tz"].system_libs.append("pthread") self.cpp_info.components["date-tz"].system_libs.append("m") @@ -136,6 +136,3 @@ def package_info(self): defines.append("DATE_USE_DLL=1") self.cpp_info.components["date-tz"].defines.extend(defines) - else: - self.cpp_info.defines.append("DATE_HEADER_ONLY") - self.cpp_info.libdirs = [] From 7ba21bc7a16265bac215b6f325f933339f3085b3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 07:12:58 +0200 Subject: [PATCH 2956/4087] (#21592) protobuf: bump patch versions --- recipes/protobuf/all/conandata.yml | 30 ++++-------- ...rotobuf-3.19.4-upstream-macos-macros.patch | 46 ------------------- ...rotobuf-3.21.4-upstream-macos-macros.patch | 25 ---------- recipes/protobuf/config.yml | 6 +-- 4 files changed, 11 insertions(+), 96 deletions(-) delete mode 100644 recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch delete mode 100644 recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch diff --git a/recipes/protobuf/all/conandata.yml b/recipes/protobuf/all/conandata.yml index 76af562b2e6c0..0417c4d805f42 100644 --- a/recipes/protobuf/all/conandata.yml +++ b/recipes/protobuf/all/conandata.yml @@ -5,21 +5,18 @@ sources: "3.21.9": url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.9.tar.gz" sha256: "1add10f9bd92775b91f326da259f243881e904dd509367d5031d4c782ba82810" - "3.21.4": - url: "https://github.com/protocolbuffers/protobuf/archive/v3.21.4.tar.gz" - sha256: "85d42d4485f36f8cec3e475a3b9e841d7d78523cd775de3a86dba77081f4ca25" + "3.20.3": + url: "https://github.com/protocolbuffers/protobuf/archive/v3.20.3.tar.gz" + sha256: "9c0fd39c7a08dff543c643f0f4baf081988129a411b977a07c46221793605638" "3.20.0": url: "https://github.com/protocolbuffers/protobuf/archive/v3.20.0.tar.gz" sha256: "b07772d38ab07e55eca4d50f4b53da2d998bb221575c60a4f81100242d4b4889" "3.19.6": url: "https://github.com/protocolbuffers/protobuf/archive/v3.19.6.tar.gz" sha256: "9a301cf94a8ddcb380b901e7aac852780b826595075577bb967004050c835056" - "3.19.4": - url: "https://github.com/protocolbuffers/protobuf/archive/v3.19.4.tar.gz" - sha256: "3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568" - "3.18.1": - url: "https://github.com/protocolbuffers/protobuf/archive/v3.18.1.tar.gz" - sha256: "9111bf0b542b631165fadbd80aa60e7fb25b25311c532139ed2089d76ddf6dd7" + "3.18.3": + url: "https://github.com/protocolbuffers/protobuf/archive/v3.18.3.tar.gz" + sha256: "663b3a6d56605e6ab7888d32a1525c34f34639b25b8996337821591e60c37041" "3.17.1": url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.17.1.tar.gz" sha256: "036d66d6eec216160dd898cfb162e9d82c1904627642667cc32b104d407bb411" @@ -34,8 +31,8 @@ patches: patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" - "3.21.4": - - patch_file: "patches/protobuf-3.21.4-upstream-macos-macros.patch" + "3.20.3": + - patch_file: "patches/protobuf-3.20.0-upstream-macos-macros.patch" patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" @@ -53,16 +50,7 @@ patches: patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" - "3.19.4": - - patch_file: "patches/upstream-pr-9437-msvc-runtime.patch" - patch_description: "Properly handle CMAKE_MSVC_RUNTIME_LIBRARY when using CMake >= 3.15" - patch_type: "portability" - patch_source: "https://github.com/protocolbuffers/protobuf/pull/9437" - - patch_file: "patches/protobuf-3.19.4-upstream-macos-macros.patch" - patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" - patch_type: "bugfix" - patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" - "3.18.1": + "3.18.3": - patch_file: "patches/protobuf-3.18.1-upstream-macos-macros.patch" patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" diff --git a/recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch b/recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch deleted file mode 100644 index b0f3ddc092047..0000000000000 --- a/recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 37632cf..561fd0f 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -763,6 +763,22 @@ - #undef timezone - #endif // _MSC_VER - -+#ifdef __APPLE__ -+// Inconvenient macro names from usr/include/math.h in some macOS SDKs. -+#pragma push_macro("DOMAIN") -+#undef DOMAIN -+// Inconvenient macro names from /usr/include/mach/boolean.h in some macOS SDKs. -+#pragma push_macro("TRUE") -+#undef TRUE -+#pragma push_macro("FALSE") -+#undef FALSE -+// Inconvenient macro names from usr/include/sys/syslimits.h in some macOS SDKs. -+#pragma push_macro("UID_MAX") -+#undef UID_MAX -+#pragma push_macro("GID_MAX") -+#undef GID_MAX -+#endif // __APPLE__ -+ - #if defined(__clang__) || PROTOBUF_GNUC_MIN(3, 0) || defined(_MSC_VER) - // Don't let Objective-C Macros interfere with proto identifiers with the same - // name. -diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc -index 579eb41..7a179f9 100644 ---- a/src/google/protobuf/port_undef.inc -+++ b/src/google/protobuf/port_undef.inc -@@ -129,6 +129,14 @@ - #pragma pop_macro("timezone") - #endif - -+#ifdef __APPLE__ -+#pragma pop_macro("DOMAIN") -+#pragma pop_macro("TRUE") -+#pragma pop_macro("FALSE") -+#pragma pop_macro("UID_MAX") -+#pragma pop_macro("GID_MAX") -+#endif // __APPLE__ -+ - #if defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) - #pragma pop_macro("DEBUG") - #endif // defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) diff --git a/recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch b/recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch deleted file mode 100644 index 6cf85b0ac3941..0000000000000 --- a/recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index b7af780..d50ac87 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -870,6 +870,8 @@ - // Inconvenient macro names from usr/include/sys/syslimits.h in some macOS SDKs. - #pragma push_macro("UID_MAX") - #undef UID_MAX -+#pragma push_macro("GID_MAX") -+#undef GID_MAX - #endif // __APPLE__ - - #if defined(__clang__) || PROTOBUF_GNUC_MIN(3, 0) || defined(_MSC_VER) -diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc -index e880fa5..f8968d9 100644 ---- a/src/google/protobuf/port_undef.inc -+++ b/src/google/protobuf/port_undef.inc -@@ -144,6 +144,7 @@ - #pragma pop_macro("TRUE") - #pragma pop_macro("FALSE") - #pragma pop_macro("UID_MAX") -+#pragma pop_macro("GID_MAX") - #endif // __APPLE__ - - #if defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) diff --git a/recipes/protobuf/config.yml b/recipes/protobuf/config.yml index 1c42531d91fe0..89750d93410cc 100644 --- a/recipes/protobuf/config.yml +++ b/recipes/protobuf/config.yml @@ -3,15 +3,13 @@ versions: folder: all "3.21.9": folder: all - "3.21.4": + "3.20.3": folder: all "3.20.0": folder: all "3.19.6": folder: all - "3.19.4": - folder: all - "3.18.1": + "3.18.3": folder: all "3.17.1": folder: all From 2282449e27510108779452d72cc564195c142eef Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 07:27:17 +0100 Subject: [PATCH 2957/4087] (#21613) nuklear: add package_type --- recipes/nuklear/all/conanfile.py | 14 ++++++-------- recipes/nuklear/all/test_package/conanfile.py | 7 ++++--- recipes/nuklear/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/recipes/nuklear/all/conanfile.py b/recipes/nuklear/all/conanfile.py index 6e91081b7e51f..b3be73bced4e2 100644 --- a/recipes/nuklear/all/conanfile.py +++ b/recipes/nuklear/all/conanfile.py @@ -10,21 +10,21 @@ class NuklearConan(ConanFile): name = "nuklear" description = "A single-header ANSI C immediate mode cross-platform GUI library." license = ["MIT", "Unlicense"] - topics = ("nuklear", "gui", "header-only") + topics = ("gui", "header-only") homepage = "https://github.com/Immediate-Mode-UI/Nuklear" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,8 +35,6 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/nuklear/all/test_package/conanfile.py b/recipes/nuklear/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/nuklear/all/test_package/conanfile.py +++ b/recipes/nuklear/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/nuklear/all/test_v1_package/CMakeLists.txt b/recipes/nuklear/all/test_v1_package/CMakeLists.txt index 9898e4868ff3c..b21cc49efde95 100644 --- a/recipes/nuklear/all/test_v1_package/CMakeLists.txt +++ b/recipes/nuklear/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(nuklear REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE nuklear::nuklear) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 03fa145c6fafc45a93b13b5c8d6eedeb4f627824 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 08:18:33 +0100 Subject: [PATCH 2958/4087] (#21614) nvtx: add package_type --- recipes/nvtx/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/nvtx/all/conanfile.py b/recipes/nvtx/all/conanfile.py index fbe722ba0c892..049e362302672 100644 --- a/recipes/nvtx/all/conanfile.py +++ b/recipes/nvtx/all/conanfile.py @@ -16,6 +16,7 @@ class NVTXConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" topics = ("profiler", "nvidia", "nsight") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 626abbd3e2f86d813b2d0133bfedb0905e3040c7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 08:40:50 +0100 Subject: [PATCH 2959/4087] (#21615) observer-ptr-lite: add package_type --- recipes/observer-ptr-lite/all/conanfile.py | 14 +++++--------- .../all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/recipes/observer-ptr-lite/all/conanfile.py b/recipes/observer-ptr-lite/all/conanfile.py index 3d66f15a4c9af..6e4898b3c5824 100644 --- a/recipes/observer-ptr-lite/all/conanfile.py +++ b/recipes/observer-ptr-lite/all/conanfile.py @@ -14,18 +14,18 @@ class ObserverPtrLiteConan(ConanFile): std::experimental::observer_ptr for C++98 and later.") topics = ("cpp98", "cpp11", "cpp14", "cpp17") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,9 +38,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "observer-ptr-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::observer-ptr-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "observer-ptr-lite" @@ -51,6 +49,4 @@ def package_info(self): self.cpp_info.components["observerptrlite"].names["cmake_find_package_multi"] = "observer-ptr-lite" self.cpp_info.components["observerptrlite"].set_property("cmake_target_name", "nonstd::observer-ptr-lite") self.cpp_info.components["observerptrlite"].bindirs = [] - self.cpp_info.components["observerptrlite"].frameworkdirs = [] self.cpp_info.components["observerptrlite"].libdirs = [] - self.cpp_info.components["observerptrlite"].resdirs = [] diff --git a/recipes/observer-ptr-lite/all/test_package/conanfile.py b/recipes/observer-ptr-lite/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/observer-ptr-lite/all/test_package/conanfile.py +++ b/recipes/observer-ptr-lite/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt b/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt index 20353a906da64..b21cc49efde95 100644 --- a/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt +++ b/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(observer-ptr-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::observer-ptr-lite) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 8b9808d8845e146a82af0e9768787a2cc8cf5ace Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 08:51:02 +0100 Subject: [PATCH 2960/4087] (#21617) opengl-registry: add package_type and set cpp_info.resdirs --- recipes/opengl-registry/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/opengl-registry/all/conanfile.py b/recipes/opengl-registry/all/conanfile.py index 46486aec2fc82..5e0a3df392096 100644 --- a/recipes/opengl-registry/all/conanfile.py +++ b/recipes/opengl-registry/all/conanfile.py @@ -13,6 +13,7 @@ class OpenGLRegistryConan(ConanFile): topics = ("opengl-registry", "opengl") homepage = "https://github.com/KhronosGroup/OpenGL-Registry" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -46,3 +46,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = ["res"] From 075833aa575c6eb86a083895096da238e83ec98d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 11 Dec 2023 09:05:38 +0100 Subject: [PATCH 2961/4087] (#21625) aravis: fixup version comparison --- recipes/aravis/all/conanfile.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index 15265ff0ba50f..19795c53aec2d 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -54,7 +54,8 @@ def config_options(self): del self.options.fPIC if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.packet_socket - if Version(self.version) < "8.25": + # https://github.com/AravisProject/aravis/commit/b4211e5e0266d0226e936818b3faefd6d0daaa3a#diff-f28598af2e23aa5d2bc7c72e022ae2c56a33802eb970afffaeca1e40607f97fe + if Version(self.version) < "0.8.21": del self.options.gv_n_buffers @@ -66,15 +67,6 @@ def configure(self): if self.options.shared: self.options["glib"].shared = True - if self.options.get_safe("gv_n_buffers"): - try: - gv_n_buffers_val = int(str(self.options.gv_n_buffers)) - if not (1 <= gv_n_buffers_val ): - raise ConanInvalidConfiguration( - f"gv_n_buffers_val must be greater than 1 Provided: {gv_n_buffers_val}") - except ValueError as e: - raise ConanInvalidConfiguration("gv_n_buffers_val must be an integer.") from e - def layout(self): basic_layout(self, src_folder="src") @@ -101,6 +93,15 @@ def validate(self): "conan-io/conan#7324 gets merged to fix macOS SIP issue #8443" ) + if self.options.get_safe("gv_n_buffers"): + try: + gv_n_buffers_val = int(str(self.options.gv_n_buffers)) + if gv_n_buffers_val < 1: + raise ConanInvalidConfiguration( + f"gv_n_buffers_val must be greater than 1 Provided: {gv_n_buffers_val}") + except ValueError as e: + raise ConanInvalidConfiguration("gv_n_buffers_val must be an integer.") from e + def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! self.tool_requires("meson/1.2.1") From 5b966349d10a5bc7020619756c82ccd84bcd4cf1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 10:47:25 +0100 Subject: [PATCH 2962/4087] (#19501) libtool: less verbose package_info() Co-authored-by: Daniel --- recipes/libtool/all/conanfile.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/recipes/libtool/all/conanfile.py b/recipes/libtool/all/conanfile.py index 6f90b31da6ebc..d832ae4219971 100644 --- a/recipes/libtool/all/conanfile.py +++ b/recipes/libtool/all/conanfile.py @@ -54,7 +54,7 @@ def requirements(self): #TODO: consider adding m4 as direct dependency, perhaps when we start using version ranges. # https://github.com/conan-io/conan-center-index/pull/16248#discussion_r1116332095 - #self.requires("m4/1.4.19") + #self.requires("m4/1.4.19") @property def _settings_build(self): @@ -72,8 +72,7 @@ def build_requirements(self): self.tool_requires("msys2/cci.latest") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _datarootdir(self): @@ -230,12 +229,8 @@ def package_info(self): self.buildenv_info.append_path("AUTOMAKE_CONAN_INCLUDES", libtool_aclocal_dir) self.runenv_info.append_path("ACLOCAL_PATH", libtool_aclocal_dir) self.runenv_info.append_path("AUTOMAKE_CONAN_INCLUDES", libtool_aclocal_dir) - - # For Conan 1.x downstream consumers, can be removed once recipe is Conan 1.x only: - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH env: bin_path{bin_path}") - self.env_info.PATH.append(bin_path) + # For Conan 1.x downstream consumers, can be removed once recipe is Conan 1.x only: + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.env_info.ACLOCAL_PATH.append(unix_path_package_info_legacy(self, libtool_aclocal_dir)) self.env_info.AUTOMAKE_CONAN_INCLUDES.append(unix_path_package_info_legacy(self, libtool_aclocal_dir)) - From 8f558c4074da508ab26e7e9e2ec701f652fa3ef5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 12:29:53 +0200 Subject: [PATCH 2963/4087] (#21631) libssh2: bump mbedtls --- recipes/libssh2/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/libssh2/all/conanfile.py b/recipes/libssh2/all/conanfile.py index 6da888df38a6f..3ccfe30d867cc 100644 --- a/recipes/libssh2/all/conanfile.py +++ b/recipes/libssh2/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, collect_libs from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -84,8 +85,10 @@ def requirements(self): if self.options.crypto_backend == "openssl": self.requires("openssl/[>=1.1 <4]") elif self.options.crypto_backend == "mbedtls": - # libssh2/<=1.10.0 doesn't support mbedtls/3.x.x - self.requires("mbedtls/2.25.0") + if Version(self.version) >= "1.11": + self.requires("mbedtls/3.5.0") + else: + self.requires("mbedtls/2.28.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 45eef3c760eadb0e7d2d9fc5511d212ee62027f4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 12:39:01 +0200 Subject: [PATCH 2964/4087] (#21634) xbyak: add version 7.00 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index a0e8dd18cf451..a117cdd9c7b95 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.00": + url: "https://github.com/herumi/xbyak/archive/v7.00.tar.gz" + sha256: "9bc479d99bb3bbd30669813ca9719126fe93ab1bae857bd799d2b16a1fcb4c32" "6.73": url: "https://github.com/herumi/xbyak/archive/v6.73.tar.gz" sha256: "41f3dc7727a48c751024c92fa4da24a4a1e0ed16b7930c79d05b76960b19562d" diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index 65c8029e207c3..e1673a246df2d 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "7.00": + folder: all "6.73": folder: all "6.62": From 262eec05f634fe235d75f9b22d434bbe3869a13b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 11:59:47 +0100 Subject: [PATCH 2965/4087] (#21612) nanobench: add package_type --- recipes/nanobench/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/nanobench/all/conanfile.py b/recipes/nanobench/all/conanfile.py index 67a58bc871cff..7697075d83fd1 100644 --- a/recipes/nanobench/all/conanfile.py +++ b/recipes/nanobench/all/conanfile.py @@ -14,6 +14,7 @@ class NanobenchConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinus/nanobench" topics = ("benchmark", "microbenchmark", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property From d3dcc491add6a19a75303e48bc1776d11e845628 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 14:37:31 +0200 Subject: [PATCH 2966/4087] (#21636) libbpf: add version 1.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libbpf/all/conandata.yml | 3 +++ recipes/libbpf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libbpf/all/conandata.yml b/recipes/libbpf/all/conandata.yml index 911aa968231c9..2d16ec7238800 100644 --- a/recipes/libbpf/all/conandata.yml +++ b/recipes/libbpf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/libbpf/libbpf/archive/v1.3.0.tar.gz" + sha256: "11db86acd627e468bc48b7258c1130aba41a12c4d364f78e184fd2f5a913d861" "1.1.0": url: "https://github.com/libbpf/libbpf/archive/refs/tags/v1.1.0.tar.gz" sha256: "5da826c968fdb8a2f714701cfef7a4b7078be030cf58b56143b245816301cbb8" diff --git a/recipes/libbpf/config.yml b/recipes/libbpf/config.yml index da5d208551b71..6fd5fe398b43d 100644 --- a/recipes/libbpf/config.yml +++ b/recipes/libbpf/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.1.0": folder: all "0.7.0": From ee0c6ff8c0d95e443f140ad8515a412c9c47cfb9 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Mon, 11 Dec 2023 15:02:55 +0100 Subject: [PATCH 2967/4087] (#21618) [emsdk] bump to 3.1.50 --- recipes/emsdk/all/conandata.yml | 3 +++ recipes/emsdk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index e702ac23683fc..09c67e41502df 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.50": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.50.tar.gz" + sha256: "7491a881eb5ee15fe81bbabcfff1fd571e45ccdb24a81890af429f9970cbd1f3" "3.1.49": url: "https://github.com/emscripten-core/emsdk/archive/3.1.49.tar.gz" sha256: "c99d98da9241c7e72784bc764a3e60a65d8f27202d45f3cd422b2ac7245380d9" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index cc4300b7acb96..3fd73e6da5530 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.50": + folder: all "3.1.49": folder: all "3.1.48": From bd8cd040e287712bd674f16793142db600644ba6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 16:38:53 +0100 Subject: [PATCH 2968/4087] (#21222) ceres-solver: add 2.2.0 + define several extra CMake vars in CMakeDeps * add legacy ceres alias target and define several upstream CMake vars - Add ceres target as an alias target. It's the old target, defined in upstream config file for backward compatibility - Define several CMake vars which are defined upstream: CERES_LIBRARIES, CERES_VERSION and CERES_FOUND * add ceres-solver/2.2.0 --- recipes/ceres-solver/all/conandata.yml | 10 +++ recipes/ceres-solver/all/conanfile.py | 64 ++++++++++++++++--- .../2.2.0-0001-find-libraries-conan.patch | 54 ++++++++++++++++ .../patches/2.2.0-0002-fix-mingw-build.patch | 12 ++++ recipes/ceres-solver/config.yml | 2 + 5 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch create mode 100644 recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch diff --git a/recipes/ceres-solver/all/conandata.yml b/recipes/ceres-solver/all/conandata.yml index 47afe48e93634..7118801d3af54 100644 --- a/recipes/ceres-solver/all/conandata.yml +++ b/recipes/ceres-solver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "http://ceres-solver.org/ceres-solver-2.2.0.tar.gz" + sha256: "48b2302a7986ece172898477c3bcd6deb8fb5cf19b3327bc49969aad4cede82d" "2.1.0": url: "http://ceres-solver.org/ceres-solver-2.1.0.tar.gz" sha256: "f7d74eecde0aed75bfc51ec48c91d01fe16a6bf16bce1987a7073286701e2fc6" @@ -9,6 +12,13 @@ sources: url: "http://ceres-solver.org/ceres-solver-1.14.0.tar.gz" sha256: "4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e" patches: + "2.2.0": + - patch_file: "patches/2.2.0-0001-find-libraries-conan.patch" + patch_description: "Robust dependencies handling" + patch_type: "conan" + - patch_file: "patches/2.2.0-0002-fix-mingw-build.patch" + patch_description: "Fix MinGW build" + patch_type: "portability" "2.1.0": - patch_file: "patches/2.1.0-0001-find-libraries-conan.patch" patch_description: "Robust dependencies handling" diff --git a/recipes/ceres-solver/all/conanfile.py b/recipes/ceres-solver/all/conanfile.py index e4ca7cba349d0..10d2f4e9f0019 100644 --- a/recipes/ceres-solver/all/conanfile.py +++ b/recipes/ceres-solver/all/conanfile.py @@ -3,10 +3,11 @@ from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd, stdcpp_library from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os +import textwrap required_conan_version = ">=1.54.0" @@ -51,7 +52,11 @@ class CeressolverConan(ConanFile): @property def _min_cppstd(self): - return "98" if Version(self.version) < "2.0.0" else "14" + if Version(self.version) >= "2.2.0": + return "17" + if Version(self.version) >= "2.0.0": + return "14" + return "98" @property def _compilers_minimum_version(self): @@ -63,6 +68,13 @@ def _compilers_minimum_version(self): "msvc": "190", "Visual Studio": "14", }, + "17": { + "apple-clang": "10", + "clang": "7", + "gcc": "8", + "msvc": "191", + "Visual Studio": "15", + }, }.get(self._min_cppstd, {}) def export_sources(self): @@ -105,6 +117,10 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) + def build_requirements(self): + if Version(self.version) >= "2.2.0": + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -113,7 +129,6 @@ def generate(self): tc.variables["MINIGLOG"] = not self.options.use_glog tc.variables["GFLAGS"] = False # useless for the lib itself, gflags is not a direct dependency tc.variables["SUITESPARSE"] = False - tc.variables["CXSPARSE"] = False tc.variables["LAPACK"] = False tc.variables["SCHUR_SPECIALIZATIONS"] = self.options.use_schur_specializations tc.variables["CUSTOM_BLAS"] = self.options.use_custom_blas @@ -122,17 +137,25 @@ def generate(self): tc.variables["BUILD_DOCUMENTATION"] = False tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_BENCHMARKS"] = False - if is_msvc(self): - tc.variables["MSVC_USE_STATIC_CRT"] = is_msvc_static_runtime(self) - if Version(self.version) >= "2.1.0": + + ceres_version = Version(self.version) + if ceres_version >= "2.2.0": + tc.variables["USE_CUDA"] = False + elif ceres_version >= "2.1.0": tc.variables["CUDA"] = False - if Version(self.version) >= "2.0.0": + if ceres_version >= "2.2.0": + tc.variables["EIGENMETIS"] = False + if ceres_version >= "2.0.0": tc.variables["PROVIDE_UNINSTALL_TARGET"] = False if is_apple_os(self): tc.variables["ACCELERATESPARSE"] = True - if Version(self.version) < "2.1.0": + if ceres_version < "2.2.0": + tc.variables["CXSPARSE"] = False + if is_msvc(self): + tc.variables["MSVC_USE_STATIC_CRT"] = is_msvc_static_runtime(self) + if ceres_version < "2.1.0": tc.variables["LIB_SUFFIX"] = "" - if Version(self.version) < "2.0": + if ceres_version < "2.0.0": tc.variables["CXX11"] = self.options.use_CXX11 tc.variables["OPENMP"] = False tc.variables["TBB"] = self.options.use_TBB @@ -153,10 +176,31 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "CMake")) + self._create_cmake_module_variables(os.path.join(self.package_folder, self._module_variables_file_rel_path)) + + def _create_cmake_module_variables(self, module_file): + # Define several variables of upstream CMake config file which are not + # defined out of the box by CMakeDeps. + # See https://github.com/ceres-solver/ceres-solver/blob/master/cmake/CeresConfig.cmake.in + content = textwrap.dedent(f"""\ + set(CERES_FOUND TRUE) + set(CERES_VERSION {self.version}) + if(NOT DEFINED CERES_LIBRARIES) + set(CERES_LIBRARIES Ceres::ceres) + endif() + """) + save(self, module_file, content) + + @property + def _module_variables_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") def package_info(self): self.cpp_info.set_property("cmake_file_name", "Ceres") self.cpp_info.set_property("cmake_target_name", "Ceres::ceres") + # see https://github.com/ceres-solver/ceres-solver/blob/2.2.0/cmake/CeresConfig.cmake.in#L334-L340 + self.cpp_info.set_property("cmake_target_aliases", ["ceres"]) + self.cpp_info.set_property("cmake_build_modules", [self._module_variables_file_rel_path]) libsuffix = "" if self.settings.build_type == "Debug": @@ -186,4 +230,6 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "Ceres" self.cpp_info.names["cmake_find_package_multi"] = "Ceres" + self.cpp_info.components["ceres"].build_modules["cmake_find_package"] = [self._module_variables_file_rel_path] + self.cpp_info.components["ceres"].build_modules["cmake_find_package_multi"] = [self._module_variables_file_rel_path] self.cpp_info.components["ceres"].set_property("cmake_target_name", "Ceres::ceres") diff --git a/recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch b/recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch new file mode 100644 index 0000000000000..aabc47a84c955 --- /dev/null +++ b/recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch @@ -0,0 +1,54 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -433,13 +433,14 @@ else (MINIGLOG) + unset(MINIGLOG_MAX_LOG_LEVEL CACHE) + # Don't search with REQUIRED so that configuration continues if not found and + # we can output an error messages explaining MINIGLOG option. +- find_package(Glog) +- if (NOT GLOG_FOUND) ++ find_package(glog REQUIRED CONFIG) ++ if (0) + message(FATAL_ERROR "Can't find Google Log (glog). Please set either: " + "glog_DIR (newer CMake built versions of glog) or GLOG_INCLUDE_DIR & " + "GLOG_LIBRARY or enable MINIGLOG option to use minimal glog " + "implementation.") +- endif(NOT GLOG_FOUND) ++ endif() ++ if(0) + # By default, assume gflags was found, updating the message if it was not. + set(GLOG_GFLAGS_DEPENDENCY_MESSAGE + " Assuming glog was built with gflags support as gflags was found. " +@@ -452,7 +453,8 @@ else (MINIGLOG) + "Otherwise, Ceres may fail to link due to missing gflags symbols.") + endif(NOT gflags_FOUND) + message("-- Found Google Log (glog)." ${GLOG_GFLAGS_DEPENDENCY_MESSAGE}) +-endif (MINIGLOG) ++ endif() ++endif () + + if (NOT SCHUR_SPECIALIZATIONS) + list(APPEND CERES_COMPILE_OPTIONS CERES_RESTRICT_SCHUR_SPECIALIZATION) +--- a/internal/ceres/CMakeLists.txt ++++ b/internal/ceres/CMakeLists.txt +@@ -85,9 +85,9 @@ endif (SCHUR_SPECIALIZATIONS) + set_source_files_properties(${CERES_INTERNAL_SCHUR_FILES} PROPERTIES + SKIP_UNITY_BUILD_INCLUSION ON) + +-if (NOT MINIGLOG AND GLOG_FOUND) +- list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES}) +- if (gflags_FOUND) ++if (NOT MINIGLOG) ++ list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES glog::glog) ++ if (0) + # If glog & gflags are both found, we assume that glog was built with + # gflags, as it is awkward to perform a try_compile() to verify this + # when gflags is an imported target (as it is in newer versions). +@@ -95,7 +95,7 @@ if (NOT MINIGLOG AND GLOG_FOUND) + # gflags, it is thus a public dependency for Ceres in this case. + list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES gflags) + endif() +-endif (NOT MINIGLOG AND GLOG_FOUND) ++endif () + + if (SUITESPARSE AND SuiteSparse_FOUND) + # Define version information for use in Solver::FullReport. diff --git a/recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch b/recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch new file mode 100644 index 0000000000000..2978c914e5d8d --- /dev/null +++ b/recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -514,6 +514,9 @@ if (MINGW) + "to a MinGW bug: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556") + string(REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + update_cache_variable(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") ++ # Add the equivalent of /bigobj for MSVC for MinGW to fix 'too many sections' ++ # compile errors due to extensive use of templates. ++ add_compile_options(-Wa,-mbig-obj) + endif (MINGW) + + # After the tweaks for the compile settings, disable some warnings on MSVC. diff --git a/recipes/ceres-solver/config.yml b/recipes/ceres-solver/config.yml index 95ff77359ef24..c6e7e2c924085 100644 --- a/recipes/ceres-solver/config.yml +++ b/recipes/ceres-solver/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: all "2.1.0": folder: all "2.0.0": From ffc32c7ef66e52fc51482bf4abb5d8b47a5b2e2f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:19:25 +0000 Subject: [PATCH 2969/4087] (#21682) [bot] Update authorized users list (2023-12-07) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 5681376346c2d..70239a094fd32 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1249,3 +1249,4 @@ authorized_users: - jmalopoy - mlutken - hoyhoy +- stevenhartley From c9a9cf93c6c22f6304bb6e86c82d31bd045b8301 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Dec 2023 05:10:20 +0900 Subject: [PATCH 2970/4087] (#21630) mppp: add version 1.0.0 --- recipes/mppp/all/conandata.yml | 11 ++++++++++ .../1.0.0-0001-disable-warning-error.patch | 22 +++++++++++++++++++ .../1.0.0-0002-remove-fmt-version.patch | 13 +++++++++++ recipes/mppp/config.yml | 2 ++ 4 files changed, 48 insertions(+) create mode 100644 recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch create mode 100644 recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch diff --git a/recipes/mppp/all/conandata.yml b/recipes/mppp/all/conandata.yml index 9c91fb1f269aa..9dd5ca329ab04 100644 --- a/recipes/mppp/all/conandata.yml +++ b/recipes/mppp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/bluescarni/mppp/archive/v1.0.0.tar.gz" + sha256: "e58b1a5fb8bdf095261eeb0861c3f46f96c71c4b043d19700e73ce3e4e639268" "0.27": url: "https://github.com/bluescarni/mppp/archive/v0.27.tar.gz" sha256: "a1e04f6605b3242d4361742159cf5ab273162fd7c105c2743a9bebcf44c846c3" @@ -6,6 +9,14 @@ sources: url: "https://github.com/bluescarni/mppp/archive/v0.26.tar.gz" sha256: "4dbfa68802d9a1365eda884f085418afc147d01b7a928e8333e4dcc1c3b3ce9e" patches: + "1.0.0": + - patch_file: "patches/1.0.0-0001-disable-warning-error.patch" + patch_description: "disable the flag for treats warning as errors" + patch_type: "portability" + - patch_file: "patches/1.0.0-0002-remove-fmt-version.patch" + # https://github.com/conan-io/conan/issues/14172 + patch_description: "remove fmt version number from find_package" + patch_type: "conan" "0.27": - patch_file: "patches/0.27-0001-disable-warning-error.patch" patch_description: "disable the flag for treats warning as errors" diff --git a/recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch b/recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch new file mode 100644 index 0000000000000..20284714ba410 --- /dev/null +++ b/recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/yacma/YACMACompilerLinkerSettings.cmake b/cmake/yacma/YACMACompilerLinkerSettings.cmake +index edafe6d..218dc1c 100644 +--- a/cmake/yacma/YACMACompilerLinkerSettings.cmake ++++ b/cmake/yacma/YACMACompilerLinkerSettings.cmake +@@ -95,7 +95,7 @@ if(NOT _YACMACompilerLinkerSettingsRun) + # NOTE: enable unconditionally, as it seems like the CMake + # machinery for detecting this fails. Perhaps the source code + # used for checking the flag emits warnings? +- list(APPEND _YACMA_CXX_FLAGS_DEBUG "-Werror") ++# list(APPEND _YACMA_CXX_FLAGS_DEBUG "-Werror") + # New warnings in clang 8. + # NOTE: a few issues with macros here, let's disable for now. + # _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(-Wextra-semi-stmt) +@@ -191,7 +191,7 @@ if(NOT _YACMACompilerLinkerSettingsRun) + # Enable higher warning level than usual. + _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/W4) + # Treat warnings as errors. +- _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX) ++# _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX) + endif() + + # Set the cache variables. diff --git a/recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch b/recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch new file mode 100644 index 0000000000000..b05a5e6c9a442 --- /dev/null +++ b/recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5cea04c..81337b2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -419,7 +419,7 @@ endif() + # to print 128-bit integers. + set(_MPPP_MIN_FMT_VERSION "6.2") + if(MPPP_WITH_FMT) +- find_package(fmt ${_MPPP_MIN_FMT_VERSION} REQUIRED CONFIG) ++ find_package(fmt REQUIRED CONFIG) + message(STATUS "fmt version: ${fmt_VERSION}") + target_link_libraries(mp++ PUBLIC fmt::fmt) + endif() diff --git a/recipes/mppp/config.yml b/recipes/mppp/config.yml index d4d8ae20a50d8..02775a2352146 100644 --- a/recipes/mppp/config.yml +++ b/recipes/mppp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.27": folder: all "0.26": From 3a7f17f59cc0f9f9bf96ea92b57be2b520555103 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 01:26:20 +0200 Subject: [PATCH 2971/4087] (#21638) evmc: add version 11.0.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/evmc/all/conandata.yml | 3 +++ recipes/evmc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/evmc/all/conandata.yml b/recipes/evmc/all/conandata.yml index 6c98b724e418c..89f67a9cea549 100644 --- a/recipes/evmc/all/conandata.yml +++ b/recipes/evmc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0.0": + url: "https://github.com/ethereum/evmc/archive/v11.0.0.tar.gz" + sha256: "a628ba9062b80540c553e92a44288c696532461ea9c08ef00b2c2a677095727e" "10.1.1": url: "https://github.com/ethereum/evmc/archive/v10.1.1.tar.gz" sha256: "314a18635b2727a5129a7da3e4e15bd2fd76ee0c5ae19f21391b7a94e79cf459" diff --git a/recipes/evmc/config.yml b/recipes/evmc/config.yml index a29f6d72c69f6..78558509f0505 100644 --- a/recipes/evmc/config.yml +++ b/recipes/evmc/config.yml @@ -1,3 +1,5 @@ versions: + "11.0.0": + folder: all "10.1.1": folder: all From 175d83a66bd88ef3ada81916a449839ee17676b1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 02:01:00 +0100 Subject: [PATCH 2972/4087] (#21643) libsndfile: fix version comparison --- recipes/libsndfile/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libsndfile/all/conanfile.py b/recipes/libsndfile/all/conanfile.py index 600abe6411b5e..6ce8582b64685 100644 --- a/recipes/libsndfile/all/conanfile.py +++ b/recipes/libsndfile/all/conanfile.py @@ -92,7 +92,8 @@ def generate(self): if is_msvc(self) and Version(self.version) < "1.0.30": tc.variables["ENABLE_STATIC_RUNTIME"] = is_msvc_static_runtime(self) tc.variables["BUILD_REGTEST"] = False - if Version(self.version) > "1.11.0": + # https://github.com/libsndfile/libsndfile/commit/663a59aa6ea5e24cf5159b8e1c2b0735712ea74e#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20a + if Version(self.version) >= "1.1.0": tc.variables["ENABLE_MPEG"] = self.options.with_mpeg # Fix iOS/tvOS/watchOS tc.variables["CMAKE_MACOSX_BUNDLE"] = False From 53c05971d27c918d230f86ed7eb8d4f4402a583d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 03:33:44 +0100 Subject: [PATCH 2973/4087] (#21646) soxr: fix version comparison identified by https://github.com/conan-io/conan-center-index/issues/21163 --- recipes/soxr/all/conanfile.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes/soxr/all/conanfile.py b/recipes/soxr/all/conanfile.py index d9c0a77657c80..452e658b2375d 100644 --- a/recipes/soxr/all/conanfile.py +++ b/recipes/soxr/all/conanfile.py @@ -52,9 +52,6 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if Version(self.version) < "3.21": - # silence warning - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0115"] = "OLD" if is_msvc(self): tc.variables["BUILD_SHARED_RUNTIME"] = not is_msvc_static_runtime(self) # Disable SIMD based resample engines for Apple Silicon and iOS ARMv8 architecture From 301fbed1a0a6385f914c97e821361659dce50d39 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 03:52:55 +0100 Subject: [PATCH 2974/4087] (#21673) glib: add version 2.78.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 941a0f3c6d91b..826e4f114106f 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.78.3": + url: "https://download.gnome.org/sources/glib/2.78/glib-2.78.3.tar.xz" + sha256: "609801dd373796e515972bf95fc0b2daa44545481ee2f465c4f204d224b2bc21" "2.78.1": url: "https://download.gnome.org/sources/glib/2.78/glib-2.78.1.tar.xz" sha256: "915bc3d0f8507d650ead3832e2f8fb670fce59aac4d7754a7dab6f1e6fed78b2" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index e77e0bdfd8b19..f0bd1289c0ca6 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.78.3": + folder: all "2.78.1": folder: all "2.78.0": From 8ca8274741ce782b4e6ba057e40a9ed311d2c2fa Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Dec 2023 12:03:48 +0900 Subject: [PATCH 2975/4087] (#21691) r8brain-free-src: add version 6.5 --- recipes/r8brain-free-src/all/conandata.yml | 3 +++ recipes/r8brain-free-src/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/r8brain-free-src/all/conandata.yml b/recipes/r8brain-free-src/all/conandata.yml index 66f72e2a32048..1e70527306c74 100644 --- a/recipes/r8brain-free-src/all/conandata.yml +++ b/recipes/r8brain-free-src/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.5": + url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.5.tar.gz" + sha256: "09114b9e6dc6ccee3049534bbb94a7d40a8a07fdfe86e4edce03f76078cee45d" "6.4": url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.4.tar.gz" sha256: "27e6749e140648894b79003fe16a4d416eca3bed8d067e0f00cfb2e246c556ca" diff --git a/recipes/r8brain-free-src/config.yml b/recipes/r8brain-free-src/config.yml index 2402c4c664c5f..79caa70a836d2 100644 --- a/recipes/r8brain-free-src/config.yml +++ b/recipes/r8brain-free-src/config.yml @@ -1,4 +1,6 @@ versions: + "6.5": + folder: all "6.4": folder: all "6.3": From 06831d6e8717a189a047b0a1b44af6afa3420784 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 12 Dec 2023 05:13:08 +0200 Subject: [PATCH 2976/4087] (#21696) xsimd: add version 12.1.0 --- recipes/xsimd/all/conandata.yml | 3 +++ recipes/xsimd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xsimd/all/conandata.yml b/recipes/xsimd/all/conandata.yml index b536c5e9c148f..f65775fd15ca5 100644 --- a/recipes/xsimd/all/conandata.yml +++ b/recipes/xsimd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.1.0": + url: "https://github.com/xtensor-stack/xsimd/archive/12.1.0.tar.gz" + sha256: "86b86e0aeba7a85575f6e079728f0c2b65307dddb7210487f2b7cb261ac8a4a2" "12.0.0": url: "https://github.com/xtensor-stack/xsimd/archive/12.0.0.tar.gz" sha256: "6f156ec9bcc602d2581ef023ef0e927e3759c30cf1405028210e8c103a4f846d" diff --git a/recipes/xsimd/config.yml b/recipes/xsimd/config.yml index 77e2aa7fb0ba8..65384140b0d83 100644 --- a/recipes/xsimd/config.yml +++ b/recipes/xsimd/config.yml @@ -1,4 +1,6 @@ versions: + "12.1.0": + folder: all "12.0.0": folder: all "11.2.0": From 0c374a14cb3c5c409a9b6921e4851fae523df229 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Dec 2023 12:22:11 +0900 Subject: [PATCH 2977/4087] (#21702) quill: add version 3.5.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 665850c7b00b6..2eb1a4d7bd925 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/odygrd/quill/archive/v3.5.1.tar.gz" + sha256: "9fa4ebe594c66ce2a409630c304724fa7a2ada0d842ba9c9aaf05f0a90b461f9" "3.5.0": url: "https://github.com/odygrd/quill/archive/v3.5.0.tar.gz" sha256: "47a69465cddeb05645745bed0b3099b49cb627464782f765ce9545723ff1fe84" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index c12fd98d1c139..bca90bfdc7c02 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: "all" "3.5.0": folder: "all" "3.4.1": From 5d494ef90b0d81009c29a50cad81ed884f4fae0d Mon Sep 17 00:00:00 2001 From: axxel Date: Tue, 12 Dec 2023 04:31:36 +0100 Subject: [PATCH 2978/4087] (#21703) zxing-cpp: add version 2.2.1 --- recipes/zxing-cpp/all/conandata.yml | 3 +++ recipes/zxing-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zxing-cpp/all/conandata.yml b/recipes/zxing-cpp/all/conandata.yml index 52b8beeb98353..de7e69d1a2cb4 100644 --- a/recipes/zxing-cpp/all/conandata.yml +++ b/recipes/zxing-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/zxing-cpp/zxing-cpp/archive/v2.2.1.tar.gz" + sha256: "02078ae15f19f9d423a441f205b1d1bee32349ddda7467e2c84e8f08876f8635" "2.1.0": url: "https://github.com/zxing-cpp/zxing-cpp/archive/v2.1.0.tar.gz" sha256: "6d54e403592ec7a143791c6526c1baafddf4c0897bb49b1af72b70a0f0c4a3fe" diff --git a/recipes/zxing-cpp/config.yml b/recipes/zxing-cpp/config.yml index 8e200e12001c5..335926844a15f 100644 --- a/recipes/zxing-cpp/config.yml +++ b/recipes/zxing-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: all "2.1.0": folder: all "2.0.0": From 35673398f4e04c460e27ab1a2391f12d45857e15 Mon Sep 17 00:00:00 2001 From: temap Date: Tue, 12 Dec 2023 05:42:00 +0200 Subject: [PATCH 2979/4087] (#21705) readline/all: bump ncurses to v6.4 --- recipes/readline/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/readline/all/conanfile.py b/recipes/readline/all/conanfile.py index 607d6921916f3..52881bbd4d54a 100644 --- a/recipes/readline/all/conanfile.py +++ b/recipes/readline/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.with_library == "termcap": self.requires("termcap/1.3.1") elif self.options.with_library == "curses": - self.requires("ncurses/6.2") + self.requires("ncurses/6.4") def configure(self): if self.options.shared: From 525a3eb271c296432237111389e25d80688c26de Mon Sep 17 00:00:00 2001 From: temap Date: Tue, 12 Dec 2023 06:09:51 +0200 Subject: [PATCH 2980/4087] (#21716) recipes/libbpf: bump elfutils to v0.190 --- recipes/libbpf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbpf/all/conanfile.py b/recipes/libbpf/all/conanfile.py index cff329c2d8d07..b154fd66ef174 100644 --- a/recipes/libbpf/all/conanfile.py +++ b/recipes/libbpf/all/conanfile.py @@ -43,7 +43,7 @@ def layout(self): def requirements(self): self.requires("linux-headers-generic/5.15.128", transitive_headers=True) - self.requires("elfutils/0.180", transitive_headers=True, transitive_libs=True) + self.requires("elfutils/0.190", transitive_headers=True, transitive_libs=True) self.requires("zlib/[>=1.2.11 <2]") def validate(self): From c523810c081dd5deb7ef201e4787ef134da47533 Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Tue, 12 Dec 2023 01:15:57 -0500 Subject: [PATCH 2981/4087] (#21723) rtm: add version 2.2.0 --- recipes/rtm/all/conandata.yml | 3 +++ recipes/rtm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rtm/all/conandata.yml b/recipes/rtm/all/conandata.yml index 09d3d16ab4076..97395fe668a67 100644 --- a/recipes/rtm/all/conandata.yml +++ b/recipes/rtm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/nfrechette/rtm/archive/v2.2.0.tar.gz" + sha256: "e627c46de1895b78eee63612ce4e5ade3af28e040edab6ec6f6521366b4e8b9b" "2.1.5": url: "https://github.com/nfrechette/rtm/archive/v2.1.5.tar.gz" sha256: "afb05cb00b59498756ca197028de291a1960e58d5f6fcad161d8240682481eae" diff --git a/recipes/rtm/config.yml b/recipes/rtm/config.yml index 891ce064b3b74..43718a82a0e63 100644 --- a/recipes/rtm/config.yml +++ b/recipes/rtm/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.1.5": folder: "all" "2.1.4": From 7ae9cb1fb4ab83763180432880420527ca280893 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Dec 2023 08:57:57 +0100 Subject: [PATCH 2982/4087] (#21571) tesseract: use version range for libcurl * tesseract: use version range for libcurl * revert to leptonica 1.82.0 --- recipes/tesseract/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index 0970f98b4339d..06e523dc19f28 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -89,7 +89,7 @@ def requirements(self): self.requires("libarchive/3.7.1") # libcurl is not required for 4.x if self.options.get_safe("with_libcurl", default=False): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 03d53621934882a48b99cf59b320d4b46cf8b73f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Dec 2023 18:08:42 +0100 Subject: [PATCH 2983/4087] (#21611) teemo: use version range for libcurl Co-authored-by: Uilian Ries --- recipes/teemo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/teemo/all/conanfile.py b/recipes/teemo/all/conanfile.py index a35d4e5eeaf64..1935bbe91290d 100644 --- a/recipes/teemo/all/conanfile.py +++ b/recipes/teemo/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/7.86.0") + self.requires("libcurl/[>=7.78.0 <9]") self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): From bb2d6f15ea6cc72468c433fa2d6d161180f78da8 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Dec 2023 18:10:40 +0100 Subject: [PATCH 2984/4087] (#21424) onnxruntime: add version 1.16.3, bump dependencies * onnxruntime: add version 1.16.3 * bump dependencies --- recipes/onnxruntime/all/conandata.yml | 10 ++++++++++ recipes/onnxruntime/all/conanfile.py | 8 ++++---- recipes/onnxruntime/config.yml | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index bc779a1ff82c1..b051b06768621 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.16.3": + url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.3.tar.gz" + sha256: "d26b8a7eed1df4440aa3d8eac5049980cbe585514ccedfda809712051a4b1721" "1.16.2": url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.2.tar.gz" sha256: "609a9d31fd9445eb2e737cbb6420100fa7d4e1180b594c1a62505b26f730bfd5" @@ -15,6 +18,13 @@ sources: url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: + "1.16.3": + - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" + patch_description: "CMake: ensure conan dependencies are used" + patch_type: "conan" + - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" + patch_description: "allow to build with abseil built without c++17 support" + patch_type: "portability" "1.16.2": - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 7fc9af001a2ac..8861b22e93f76 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -81,22 +81,22 @@ def _onnx_version(self): }[f"{version.major}.{version.minor}"] def requirements(self): - self.requires("abseil/20230125.3") + self.requires("abseil/20230802.1") self.requires("protobuf/3.21.12") self.requires("date/3.0.1") - self.requires("re2/20230801") + self.requires("re2/20230901") self.requires(f"onnx/{self._onnx_version}") self.requires("flatbuffers/1.12.0") self.requires("boost/1.83.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run self.requires("safeint/3.0.28") - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("eigen/3.4.0") self.requires("ms-gsl/4.0.0") self.requires("cpuinfo/cci.20220618") if self.settings.os != "Windows": self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.230824.2") + self.requires("wil/1.0.231028.1") if self.options.with_xnnpack: self.requires("xnnpack/cci.20220801") diff --git a/recipes/onnxruntime/config.yml b/recipes/onnxruntime/config.yml index 930f2c65d0ccc..7dfea6fd99cd4 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.3": + folder: all "1.16.2": folder: all "1.16.1": From 45a719da750c5d3a9880bf710c7432ec1787c7de Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 12 Dec 2023 17:32:00 +0000 Subject: [PATCH 2985/4087] (#21720) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/conan_v2_ready_references.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 296aece8ce97e..d212e2154e11f 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -204,6 +204,7 @@ required_for_references: - cpp-optparse - cpp-peglib - cpp-sort +- cpp-validator - cpp_project_framework - cppbenchmark - cppcheck @@ -251,6 +252,7 @@ required_for_references: - cwalk - cxxopts - cyclonedds +- cyclonedds-cxx - cyrus-sasl - czmq - dacap-clip @@ -518,6 +520,7 @@ required_for_references: - iowow - iqa - irrxml +- isa-l - iso8601lib - itk - itlib @@ -527,6 +530,7 @@ required_for_references: - jasper - jbig - jeaiii-itoa +- jerryscript - jfalcou-eve - jinja2cpp - joltphysics @@ -625,6 +629,7 @@ required_for_references: - libfdk_aac - libffi - libfreenect +- libfreenect2 - libftdi - libfuse - libgcrypt @@ -763,6 +768,7 @@ required_for_references: - libzip - libzippp - lief +- lightgbm - lightpcapng - linmath.h - linux-headers-generic @@ -1000,6 +1006,7 @@ required_for_references: - perf - perfetto - perlinnoise +- pexports - pffft - pfr - pgm-index @@ -1247,6 +1254,7 @@ required_for_references: - tcp-wrappers - tcsbank-uconfig - tcsbank-uri-template +- teemo - tensorflow-lite - tensorpipe - termcap @@ -1365,6 +1373,7 @@ required_for_references: - vulkan-memory-allocator - vulkan-validationlayers - vvenc +- waf - wasm-micro-runtime - wasmedge - wasmer From 820caa09286da3bece144fa048d34becf0afc2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= Date: Tue, 12 Dec 2023 18:42:40 +0100 Subject: [PATCH 2986/4087] (#21714) [fix][ceres-solver] Added IOS_DEPLOYMENT_TARGET variable Co-authored-by: Uilian Ries --- recipes/ceres-solver/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/ceres-solver/all/conanfile.py b/recipes/ceres-solver/all/conanfile.py index 10d2f4e9f0019..b676ebea4436f 100644 --- a/recipes/ceres-solver/all/conanfile.py +++ b/recipes/ceres-solver/all/conanfile.py @@ -1,3 +1,6 @@ +import os +import textwrap + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os @@ -6,8 +9,6 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version -import os -import textwrap required_conan_version = ">=1.54.0" @@ -160,6 +161,9 @@ def generate(self): tc.variables["OPENMP"] = False tc.variables["TBB"] = self.options.use_TBB tc.variables["CXX11_THREADS"] = self.options.use_CXX11_threads + # IOS_DEPLOYMENT_TARGET variable was added to iOS.cmake file in 1.12.0 version + if self.settings.os == "iOS": + tc.variables["IOS_DEPLOYMENT_TARGET"] = self.settings.os.version tc.generate() CMakeDeps(self).generate() From 71860e93013bd3b8f7762c6408c15f8a21ce4c13 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 20:06:04 +0200 Subject: [PATCH 2987/4087] (#18636) asn1c: migrate to Conan v2 * asn1c: migrate to Conan v2 * asn1c: add support for non-MSVC Windows builds * asn1c: bump deps * asn1c: fix test_package * asn1c: skip printing of PATH --- recipes/asn1c/all/conanfile.py | 111 ++++++++++-------- recipes/asn1c/all/test_package/CMakeLists.txt | 9 +- recipes/asn1c/all/test_package/conanfile.py | 23 ++-- 3 files changed, 83 insertions(+), 60 deletions(-) diff --git a/recipes/asn1c/all/conanfile.py b/recipes/asn1c/all/conanfile.py index 83429575a7f31..c7d26af9b8d79 100644 --- a/recipes/asn1c/all/conanfile.py +++ b/recipes/asn1c/all/conanfile.py @@ -1,82 +1,101 @@ -from conans import AutoToolsBuildEnvironment, tools +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, rmdir, chdir -import os +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rmdir, chdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class Asn1cConan(ConanFile): name = "asn1c" description = "The ASN.1 Compiler" license = "BSD-2-Clause" - topics = ("asn.1", "compiler") - homepage = "https://lionet.info/asn1c" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://lionet.info/asn1c" + topics = ("asn.1", "compiler") + package_type = "application" settings = "os", "arch", "compiler", "build_type" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _datarootdir(self): - return os.path.join(self.package_folder, "res") + def _settings_build(self): + return getattr(self, "settings_build", self.settings) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler def build_requirements(self): - self.tool_requires("bison/3.7.6") - self.tool_requires("flex/2.6.4") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if is_msvc(self): + self.tool_requires("automake/1.16.5") + self.tool_requires("winflexbison/2.5.24") + else: + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") self.tool_requires("libtool/2.4.7") def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("Visual Studio is not supported") - def package_id(self): - del self.info.settings.compiler - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - conf_args = [ - "--datarootdir={}".format(tools.unix_path(self._datarootdir)), - ] - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args += ["--datarootdir=${prefix}/res"] + tc.generate() def build(self): - with chdir(self, self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - autotools = self._configure_autotools() - autotools.make() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() - autotools.install() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() rmdir(self, os.path.join(self.package_folder, "res", "doc")) rmdir(self, os.path.join(self.package_folder, "res", "man")) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = ["res"] # asn1c cannot use environment variables to specify support files path # so `SUPPORT_PATH` should be propagated to command line invocation to `-S` argument - self.env_info.SUPPORT_PATH = os.path.join(self.package_folder, "res/asn1c") + support_path = os.path.join(self.package_folder, "res", "asn1c") + self.buildenv_info.define_path("SUPPORT_PATH", support_path) - self.cpp_info.includedirs = [] + # TODO: to remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) + self.env_info.SUPPORT_PATH = support_path diff --git a/recipes/asn1c/all/test_package/CMakeLists.txt b/recipes/asn1c/all/test_package/CMakeLists.txt index 72f86ddd2bed5..e24e73ab351bc 100644 --- a/recipes/asn1c/all/test_package/CMakeLists.txt +++ b/recipes/asn1c/all/test_package/CMakeLists.txt @@ -1,8 +1,9 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +if (NOT DEFINED ENV{SUPPORT_PATH}) + message(FATAL_ERROR "SUPPORT_PATH environment variable not defined") +endif() set(STANDARD_ASN1_FILES BIT_STRING.c @@ -39,7 +40,7 @@ set(GENERATED_FILES add_custom_command( OUTPUT ${GENERATED_FILES} ${STANDARD_ASN1_FILES} - COMMAND asn1c -S ${SUPPORT_PATH} MyModule.asn1 + COMMAND asn1c -S "$ENV{SUPPORT_PATH}" MyModule.asn1 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DEPENDS MyModule.asn1 ) diff --git a/recipes/asn1c/all/test_package/conanfile.py b/recipes/asn1c/all/test_package/conanfile.py index 534923606ca41..ed96bb307a88d 100644 --- a/recipes/asn1c/all/test_package/conanfile.py +++ b/recipes/asn1c/all/test_package/conanfile.py @@ -1,27 +1,30 @@ -from conans import CMake +import os + from conan import ConanFile +from conan.tools.build import can_run, cross_building +from conan.tools.cmake import cmake_layout, CMake from conan.tools.files import copy -from conan.tools.build import cross_building -import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - - generators = "cmake" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" def build_requirements(self): - self.tool_requires(str(self.requires["asn1c"])) + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): if not cross_building(self): copy(self, "MyModule.asn1", src=self.source_folder, dst=self.build_folder) cmake = CMake(self) - cmake.definitions["SUPPORT_PATH"] = self.deps_env_info["asn1c"].SUPPORT_PATH cmake.configure() cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 9e898b8d5bbf84106eed130a38ec2c96645062ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 20:23:42 +0200 Subject: [PATCH 2988/4087] (#18654) directshowbaseclasses: migrate to Conan v2 * directshowbaseclasses: migrate to Conan v2 * directshowbaseclasses: add short_paths = True for v1 * directshowbaseclasses: fix CMakeLists.txt * directshowbaseclasses: only static output is supported --- .../directshowbaseclasses/all/CMakeLists.txt | 7 +-- .../directshowbaseclasses/all/conanfile.py | 62 ++++++++++++------- .../all/test_package/CMakeLists.txt | 10 +-- .../all/test_package/conanfile.py | 20 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 87 insertions(+), 36 deletions(-) create mode 100644 recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/directshowbaseclasses/all/test_v1_package/conanfile.py diff --git a/recipes/directshowbaseclasses/all/CMakeLists.txt b/recipes/directshowbaseclasses/all/CMakeLists.txt index bb980e8f92249..f15c0b39a2b26 100644 --- a/recipes/directshowbaseclasses/all/CMakeLists.txt +++ b/recipes/directshowbaseclasses/all/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.12) project(strmbas) -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(DSROOT "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/Samples/Win7Samples/multimedia/directshow/baseclasses") +set(DSROOT "${CMAKE_CURRENT_SOURCE_DIR}/src/Samples/Win7Samples/multimedia/directshow/baseclasses") file(GLOB SOURCES "${DSROOT}/*.cpp") file(GLOB HEADERS "${DSROOT}/*.h") diff --git a/recipes/directshowbaseclasses/all/conanfile.py b/recipes/directshowbaseclasses/all/conanfile.py index 4f42eddc66a52..e71fc156ca323 100644 --- a/recipes/directshowbaseclasses/all/conanfile.py +++ b/recipes/directshowbaseclasses/all/conanfile.py @@ -1,40 +1,60 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" + class DirectShowBaseClassesConan(ConanFile): name = "directshowbaseclasses" - description = "Microsoft DirectShow Base Classes are a set of C++ classes and utility functions designed for " \ - "implementing DirectShow filters" + description = ( + "Microsoft DirectShow Base Classes are a set of C++ classes and " + "utility functions designed for implementing DirectShow filters" + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://docs.microsoft.com/en-us/windows/desktop/directshow/directshow-base-classes" - topics = ("conan", "directshow", "dshow") - license = "MIT" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - settings = {"os": ["Windows"], "arch": ["x86", "x86_64"], "compiler": None, "build_type": None} - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" + topics = ("directshow", "dshow") + + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" short_paths = True + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os != "Windows": + raise ConanInvalidConfiguration(f"{self.ref} can only be used on Windows.") + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename('Windows-classic-samples-%s' % self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.libs = ['strmbasd' if self.settings.build_type == 'Debug' else 'strmbase'] - self.cpp_info.system_libs = ['strmiids', 'winmm'] + self.cpp_info.libs = ["strmbasd" if self.settings.build_type == "Debug" else "strmbase"] + self.cpp_info.system_libs = ["strmiids", "winmm"] diff --git a/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt b/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt index 196188113685c..888739db919db 100644 --- a/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt +++ b/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(directshowbaseclasses REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE directshowbaseclasses::directshowbaseclasses) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/directshowbaseclasses/all/test_package/conanfile.py b/recipes/directshowbaseclasses/all/test_package/conanfile.py index b88a6525524a6..ef5d7042163ec 100644 --- a/recipes/directshowbaseclasses/all/test_package/conanfile.py +++ b/recipes/directshowbaseclasses/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt b/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py b/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a9a22676d134f --- /dev/null +++ b/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 6683eef4ac6c747b6c19d86c3f67bc4012f82ba8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 20:33:56 +0200 Subject: [PATCH 2989/4087] (#18819) tar: migrate to Conan v2 * tar: migrate to Conan v2 * tar: improve availability of compression tools * tar: disable check in Conan v1 * tar: skip visible=True on Conan v1 * tar: clear includedirs, etc * tar: fix Conan v1 support * tar: fix broken check * tar: adjust conf_info variable --- recipes/tar/all/conanfile.py | 126 ++++++++++--------- recipes/tar/all/test_package/conanfile.py | 45 +++++-- recipes/tar/all/test_v1_package/conanfile.py | 17 +++ 3 files changed, 121 insertions(+), 67 deletions(-) create mode 100644 recipes/tar/all/test_v1_package/conanfile.py diff --git a/recipes/tar/all/conanfile.py b/recipes/tar/all/conanfile.py index afe93c20c680f..96d4365b7ea60 100644 --- a/recipes/tar/all/conanfile.py +++ b/recipes/tar/all/conanfile.py @@ -1,98 +1,112 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, get, replace_in_file, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class TarConan(ConanFile): name = "tar" description = "GNU Tar provides the ability to create tar archives, as well as various other kinds of manipulation." - topics = ("tar", "archive") license = "GPL-3-or-later" - homepage = "https://www.gnu.org/software/tar/" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - - _autotools = None + homepage = "https://www.gnu.org/software/tar/" + topics = "archive" - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler def requirements(self): - self.requires("bzip2/1.0.8") - self.requires("lzip/1.21") - self.requires("xz_utils/5.2.5") + self.requires("bzip2/1.0.8", run=True, headers=False, libs=False) + self.requires("lzip/1.23", run=True, headers=False, libs=False) + self.requires("xz_utils/5.4.4", run=True, headers=False, libs=False) + self.requires("zstd/1.5.5", run=True, headers=False, libs=False) + # self.requires("lzo/2.10", run=True, headers=False, libs=False) def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("This recipe does not support Windows builds of tar") # FIXME: fails on MSVC and mingw-w64 - if not self.options["bzip2"].build_executable: + if not self.dependencies["bzip2"].options.build_executable: raise ConanInvalidConfiguration("bzip2:build_executable must be enabled") - def package_id(self): - del self.info.settings.compiler - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - self._autotools.libs = [] - bzip2_exe = "bzip2" # FIXME: get from bzip2 recipe - lzip_exe = "lzip" # FIXME: get from lzip recipe - lzma_exe = "lzma" # FIXME: get from xz_utils recipe - xz_exe = "xz" # FIXME: get from xz_utils recipe - args = [ + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.generate() + tc.configure_args += [ "--disable-acl", "--disable-nls", "--disable-rpath", - # "--without-gzip", # FIXME: this will use system gzip "--without-posix-acls", "--without-selinux", - "--with-bzip2={}".format(bzip2_exe), - "--with-lzip={}".format(lzip_exe), - "--with-lzma={}".format(lzma_exe), - # "--without-lzop", # FIXME: this will use sytem lzop - "--with-xz={}".format(xz_exe), - # "--without-zstd", # FIXME: this will use system zstd (current zstd recipe does not build programs) + "--with-gzip=gzip", # FIXME: this will use system gzip + "--with-bzip2=bzip2", + "--with-lzip=lzip", + "--with-lzma=lzma", + "--without-lzop", # FIXME: lzo package does not build an executable + "--with-xz=xz", + "--with-zstd=zstd", ] - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + if is_msvc(self): + replace_in_file( + self, + os.path.join(self.source_folder, "gnu", "faccessat.c"), + "_GL_INCLUDING_UNISTD_H", + "_GL_INCLUDING_UNISTD_H_NOP", + ) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if self.settings.compiler == "Visual Studio": - tools.replace_in_file(os.path.join(self._source_subfolder, "gnu", "faccessat.c"), - "_GL_INCLUDING_UNISTD_H", "_GL_INCLUDING_UNISTD_H_NOP") - autotools = self._configure_autotools() + self._patch_sources() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - autotools = self._configure_autotools() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "libexec")) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] tar_bin = os.path.join(self.package_folder, "bin", "tar") - self.user_info.tar = tar_bin + self.conf_info.define("user.tar:path", tar_bin) self.env_info.TAR = tar_bin + + # TODO: to remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) + self.user_info.tar = tar_bin diff --git a/recipes/tar/all/test_package/conanfile.py b/recipes/tar/all/test_package/conanfile.py index 68b1151321a11..5e1618addc3d0 100644 --- a/recipes/tar/all/test_package/conanfile.py +++ b/recipes/tar/all/test_package/conanfile.py @@ -1,17 +1,40 @@ -from conans import ConanFile, tools import os +from conan import ConanFile +from conan.tools.cmake import cmake_layout +from conan.tools.files import chdir, load, save + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def generate(self): + tar_bin = self.dependencies.build["tar"].conf_info.get("user.tar:path") + save(self, os.path.join(self.build_folder, "tar_bin"), tar_bin) def test(self): - tar_bin = self.deps_user_info["tar"].tar - if not tools.cross_building(self): - with tools.chdir(self.source_folder): - test_tar = os.path.join(self.build_folder, "test.tar.gz") - self.run("{} -czf {} conanfile.py".format(tar_bin, test_tar), run_environment=True) - assert os.path.isfile("test.tar.gz") - self.run("{} -tf test.tar.gz".format(tar_bin), run_environment=True) - self.run("{} -xf test.tar.gz".format(tar_bin), run_environment=True) - assert tools.load(os.path.join(self.source_folder, "conanfile.py")) == tools.load(os.path.join(self.build_folder, "conanfile.py")) + # Verify that the compression tools are available + self.run("gzip --version") + self.run("bzip2 --help") + self.run("lzip --version") + self.run("lzma --version") + self.run("zstd --version") + + tar_bin = load(self, os.path.join(self.build_folder, "tar_bin")) + with chdir(self, self.source_folder): + test_tar = os.path.join(self.build_folder, "test.tar.zstd") + self.run(f"{tar_bin} --zstd -cf {test_tar} conanfile.py") + assert os.path.isfile("test.tar.zstd") + self.run(f"{tar_bin} -tf test.tar.zstd") + self.run(f"{tar_bin} -xf test.tar.zstd") + f1 = load(self, os.path.join(self.source_folder, "conanfile.py")) + f2 = load(self, os.path.join(self.build_folder, "conanfile.py")) + assert f1 == f2 diff --git a/recipes/tar/all/test_v1_package/conanfile.py b/recipes/tar/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..68b1151321a11 --- /dev/null +++ b/recipes/tar/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def test(self): + tar_bin = self.deps_user_info["tar"].tar + if not tools.cross_building(self): + with tools.chdir(self.source_folder): + test_tar = os.path.join(self.build_folder, "test.tar.gz") + self.run("{} -czf {} conanfile.py".format(tar_bin, test_tar), run_environment=True) + assert os.path.isfile("test.tar.gz") + self.run("{} -tf test.tar.gz".format(tar_bin), run_environment=True) + self.run("{} -xf test.tar.gz".format(tar_bin), run_environment=True) + assert tools.load(os.path.join(self.source_folder, "conanfile.py")) == tools.load(os.path.join(self.build_folder, "conanfile.py")) From c86c02c19a903caca7b5e809c7bf83f097ea9cdf Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 03:48:34 +0900 Subject: [PATCH 2990/4087] (#21342) coost: add version 3.0.2 * coost: add version 3.0.2 * drop support msvc shared * add comment for invalid configuration Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/coost/all/conandata.yml | 3 +++ recipes/coost/all/conanfile.py | 4 ++++ recipes/coost/config.yml | 2 ++ 3 files changed, 9 insertions(+) diff --git a/recipes/coost/all/conandata.yml b/recipes/coost/all/conandata.yml index 86d6db4c792ce..4e8bd45da11a5 100644 --- a/recipes/coost/all/conandata.yml +++ b/recipes/coost/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.2": + url: "https://github.com/idealvin/coost/archive/refs/tags/v3.0.2.tar.gz" + sha256: "922ba21fb9a922c84f6a4b3bd568ed3b3463ccb1ae906cd7c49d90c7f0359b24" "3.0.1": url: "https://github.com/idealvin/coost/archive/refs/tags/v3.0.1.tar.gz" sha256: "f2285d59dc8317dd2494d7628a56f10de9b814d90b86aedf93a3305f94c6ae1a" diff --git a/recipes/coost/all/conanfile.py b/recipes/coost/all/conanfile.py index 8c56318918c27..6b2e612afc5c5 100644 --- a/recipes/coost/all/conanfile.py +++ b/recipes/coost/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -53,6 +54,9 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + if Version(self.version) >= "3.0.2" and is_msvc(self) and self.options.shared: + # INFO: src\include\co\thread.h: error C2492: 'g_tid': data with thread storage duration may not have dll interface + raise ConanInvalidConfiguration(f"{self.ref} Conan recipe does not support -o shared=True with Visual Studio. Contributions are welcome.") if self.info.options.with_libcurl: if not self.info.options.with_openssl: raise ConanInvalidConfiguration(f"{self.ref} requires with_openssl=True when using with_libcurl=True") diff --git a/recipes/coost/config.yml b/recipes/coost/config.yml index f1eca9cdf76de..a300de211104b 100644 --- a/recipes/coost/config.yml +++ b/recipes/coost/config.yml @@ -1,3 +1,5 @@ versions: + "3.0.2": + folder: all "3.0.1": folder: all From e83e7a50d6997b3c882310f907e7a3bde6aaaf5e Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Tue, 12 Dec 2023 14:10:05 -0500 Subject: [PATCH 2991/4087] (#21434) vulkan-memory-allocator: Fix GCC 13 build, add cci.20231120 * Add GCC 13 patch, add new cci version * Add patch for 2.3.0 --- .../vulkan-memory-allocator/all/conandata.yml | 20 +++++++++++++++++++ .../all/patches/0001-fix-appleclang.patch | 2 -- .../patches/2.3.0-add-missing-cstdio.patch | 15 ++++++++++++++ .../patches/3.0.0-add-missing-cstdio.patch | 15 ++++++++++++++ .../patches/3.0.1-add-missing-cstdio.patch | 15 ++++++++++++++ recipes/vulkan-memory-allocator/config.yml | 2 ++ 6 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch create mode 100644 recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch create mode 100644 recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch diff --git a/recipes/vulkan-memory-allocator/all/conandata.yml b/recipes/vulkan-memory-allocator/all/conandata.yml index d35351a8d12e7..7d88177b91710 100644 --- a/recipes/vulkan-memory-allocator/all/conandata.yml +++ b/recipes/vulkan-memory-allocator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231120": + url: "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/5e43c795daf43dd09398d8307212e85025215052.tar.gz" + sha256: "1ee9922fb059bc3b1dc5bbf71020e7a590b6ceb27fc3025d746e15be53fe31b7" "3.0.1": url: "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/refs/tags/v3.0.1.tar.gz" sha256: "2a84762b2d10bf540b9dc1802a198aca8ad1f3d795a4ae144212c595696a360c" @@ -9,5 +12,22 @@ sources: url: "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/v2.3.0.zip" sha256: "1c222c372e90f1a0d5e765420974842cf2503683ca14c30f8a0df340ba541f02" patches: + "3.0.1": + - patch_file: "patches/3.0.1-add-missing-cstdio.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c84ca784ea0943efc7d2e6e0f3bdaac + patch_type: backport + patch_description: Needed to build with GCC 13+ "3.0.0": - patch_file: "patches/0001-fix-appleclang.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/3f9f66740aa6cd8a329cc738c21aaff9020fed46 + patch_type: backport + patch_description: Needed to build with apple-clang 13.1+ + - patch_file: "patches/3.0.0-add-missing-cstdio.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c84ca784ea0943efc7d2e6e0f3bdaac + patch_type: backport + patch_description: Needed to build with GCC 13+ + "2.3.0": + - patch_file: "patches/2.3.0-add-missing-cstdio.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c84ca784ea0943efc7d2e6e0f3bdaac + patch_type: backport + patch_description: Needed to build with GCC 13+ diff --git a/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch b/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch index 85be3b03af743..0cfd3c5acf8f4 100644 --- a/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch +++ b/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch @@ -1,5 +1,3 @@ -from https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/3f9f66740aa6cd8a329cc738c21aaff9020fed46 - --- a/include/vk_mem_alloc.h +++ b/include/vk_mem_alloc.h @@ -2569,6 +2569,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( diff --git a/recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch b/recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch new file mode 100644 index 0000000000000..ef7fe08191476 --- /dev/null +++ b/recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch @@ -0,0 +1,15 @@ +diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h +index 32258b4..8da6bba 100644 +--- a/src/vk_mem_alloc.h ++++ b/src/vk_mem_alloc.h +@@ -3470,6 +3470,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage( + #include + #include + ++#if VMA_STATS_STRING_ENABLED ++ #include // For snprintf ++#endif ++ + /******************************************************************************* + CONFIGURATION SECTION + diff --git a/recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch b/recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch new file mode 100644 index 0000000000000..2852a9bd33619 --- /dev/null +++ b/recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch @@ -0,0 +1,15 @@ +diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h +index 3b395a7..542191c 100644 +--- a/include/vk_mem_alloc.h ++++ b/include/vk_mem_alloc.h +@@ -2575,6 +2575,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( + #include // For functions like __popcnt, _BitScanForward etc. + #endif + ++#if VMA_STATS_STRING_ENABLED ++ #include // For snprintf ++#endif ++ + /******************************************************************************* + CONFIGURATION SECTION + diff --git a/recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch b/recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch new file mode 100644 index 0000000000000..bab772d3242d7 --- /dev/null +++ b/recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch @@ -0,0 +1,15 @@ +diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h +index 60f5720..31164bc 100644 +--- a/include/vk_mem_alloc.h ++++ b/include/vk_mem_alloc.h +@@ -2578,6 +2578,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( + #include // For std::popcount + #endif + ++#if VMA_STATS_STRING_ENABLED ++ #include // For snprintf ++#endif ++ + /******************************************************************************* + CONFIGURATION SECTION + diff --git a/recipes/vulkan-memory-allocator/config.yml b/recipes/vulkan-memory-allocator/config.yml index 6220702ac9b05..d260c9a9e2cad 100644 --- a/recipes/vulkan-memory-allocator/config.yml +++ b/recipes/vulkan-memory-allocator/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231120": + folder: all "3.0.1": folder: all "3.0.0": From 39650c788e391a127df8c35c5f7085ce90a7653b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 04:18:48 +0900 Subject: [PATCH 2992/4087] (#21450) trantor: add version 1.5.15, remove old versions * trantor: add version 1.5.15, remove old versions * use del instead of rm_safe * remove BUILD_SHARED_LIBS, update conan version --- recipes/trantor/all/conandata.yml | 23 ++++++----------- recipes/trantor/all/conanfile.py | 25 +++++++++++++------ .../patches/1.5.15-0001-disable-werror.patch | 13 ++++++++++ .../patches/1.5.5-0001-include-cstdint.patch | 12 --------- recipes/trantor/config.yml | 6 ++--- 5 files changed, 39 insertions(+), 40 deletions(-) create mode 100644 recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch delete mode 100644 recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index efeba0b7ed4a1..5d96de887257b 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.15": + url: "https://github.com/an-tao/trantor/archive/v1.5.15.tar.gz" + sha256: "478d33bc2d48ef2511969c1024eeeee5cf0ef4eea6c65761d0a72b8b9b3004be" "1.5.14": url: "https://github.com/an-tao/trantor/archive/v1.5.14.tar.gz" sha256: "80775d65fd49dfb0eb85d70cd9c0f0cff38a7f46c90db918862c46e03ae63810" @@ -20,13 +23,11 @@ sources: "1.5.7": url: "https://github.com/an-tao/trantor/archive/v1.5.7.tar.gz" sha256: "42576563afbf1e58c7d68f758cf3fca4d193496d4e3f82c80069d8389a7839d5" - "1.5.6": - url: "https://github.com/an-tao/trantor/archive/v1.5.6.tar.gz" - sha256: "827aca30e120244a8ede9d07446481328d9a3869228f01fc4978b19301d66e65" - "1.5.5": - url: "https://github.com/an-tao/trantor/archive/refs/tags/v1.5.5.tar.gz" - sha256: "5a549c6efebe7ecba73a944cfba4a9713130704d4ccc82af534a2e108b9a0e71" patches: + "1.5.15": + - patch_file: "patches/1.5.15-0001-disable-werror.patch" + patch_description: "disable -Werror for gcc5" + patch_type: "portability" "1.5.14": - patch_file: "patches/1.5.12-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" @@ -59,13 +60,3 @@ patches: patch_description: "include cstdint for uint8_t, intmax_t" patch_type: "portability" patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.6": - - patch_file: "patches/1.5.6-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t, intmax_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.5": - - patch_file: "patches/1.5.5-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 3345447fe2f12..9deee06df4b9b 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -5,29 +5,31 @@ from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout - import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class TrantorConan(ConanFile): name = "trantor" description = "a non-blocking I/O tcp network lib based on c++14/17" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/an-tao/trantor" topics = ("tcp-server", "asynchronous-programming", "non-blocking-io") - license = "BSD-3-Clause" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], "shared": [True, False], "with_c_ares": [True, False], + "with_spdlog": [True, False], } default_options = { "fPIC": True, "shared": False, "with_c_ares": True, + "with_spdlog": False, + "spdlog/*:header_only": True, } @property @@ -50,6 +52,9 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.5.15": + del self.options.with_spdlog + del self.default_options["spdlog/*:header_only"] def configure(self): if self.options.shared: @@ -62,6 +67,8 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_c_ares: self.requires("c-ares/1.22.0") + if self.options.get_safe("with_spdlog"): + self.requires("spdlog/1.12.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -77,17 +84,19 @@ def validate(self): if is_msvc(self) and self.options.shared and "MDd" in msvc_runtime_flag(self): raise ConanInvalidConfiguration(f"{self.ref} does not support the MDd runtime on Visual Studio.") + if self.options.get_safe("with_spdlog") and not self.dependencies["spdlog"].options.header_only: + raise ConanInvalidConfiguration(f"{self.ref} requires header_only spdlog.") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - if Version(self.version) < "1.5.6": - tc.variables["BUILD_TRANTOR_SHARED"] = self.options.shared - else: - # Trantor's CMakeLists.txt has BUILD_SHARED_LIBS option. - tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + # TODO: support other tls providers + if Version(self.version) >= "1.5.12": + tc.variables["TRANTOR_USE_TLS"] = "openssl" tc.variables["BUILD_C-ARES"] = self.options.with_c_ares + tc.variables["USE_SPDLOG"] = self.options.get_safe("with_spdlog") tc.generate() tc = CMakeDeps(self) diff --git a/recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch b/recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch new file mode 100644 index 0000000000000..bbeb7c91c05b7 --- /dev/null +++ b/recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch @@ -0,0 +1,13 @@ +diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt +index 4ec5461..8ec652a 100755 +--- a/a/CMakeLists.txt ++++ b/b/CMakeLists.txt +@@ -55,7 +55,7 @@ if(MSVC AND MSVC_VERSION GREATER_EQUAL 1914) + endif(MSVC AND MSVC_VERSION GREATER_EQUAL 1914) + + if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES Clang|GNU) +- target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror) ++ target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) + endif() + + if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku") diff --git a/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch b/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch deleted file mode 100644 index 12c881a36cc34..0000000000000 --- a/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/trantor/utils/MsgBuffer.h b/trantor/utils/MsgBuffer.h -index 19d42e2..adeeb1b 100644 ---- a/trantor/utils/MsgBuffer.h -+++ b/trantor/utils/MsgBuffer.h -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index e6a0e702be9d0..dddf9970713ce 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.15": + folder: "all" "1.5.14": folder: "all" "1.5.13": @@ -13,7 +15,3 @@ versions: folder: "all" "1.5.7": folder: "all" - "1.5.6": - folder: "all" - "1.5.5": - folder: "all" From 79b09e1ae3825cbe90fe8d71cc50b4f7ac34c448 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 21:58:06 +0200 Subject: [PATCH 2993/4087] (#21653) backward-cpp: bump deps Co-authored-by: Uilian Ries --- recipes/backward-cpp/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/backward-cpp/all/conanfile.py b/recipes/backward-cpp/all/conanfile.py index bf3c847a28626..66cfef012cf47 100644 --- a/recipes/backward-cpp/all/conanfile.py +++ b/recipes/backward-cpp/all/conanfile.py @@ -79,14 +79,14 @@ def package_id(self): def requirements(self): if self.settings.os in ["Linux", "FreeBSD", "Android"]: if self._has_stack_walking("libunwind"): - self.requires("libunwind/1.6.2", transitive_headers=True) + self.requires("libunwind/1.7.2", transitive_headers=True) if self._has_stack_details("dwarf"): self.requires("libdwarf/20191104", transitive_headers=True, transitive_libs=True) self.requires("libelf/0.8.13") if self._has_stack_details("dw"): - self.requires("elfutils/0.186", transitive_headers=True) + self.requires("elfutils/0.190", transitive_headers=True) if self._has_stack_details("bfd"): - self.requires("binutils/2.38", transitive_headers=True) + self.requires("binutils/2.41", transitive_headers=True) def validate(self): if self.settings.os not in self._supported_os: From 5f5deaa1d999dfaa899be9e28c4aa9bb08e402e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 22:18:13 +0200 Subject: [PATCH 2994/4087] (#21655) wolfssl: add version 5.6.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/wolfssl/all/conandata.yml | 3 +++ recipes/wolfssl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index 45f769c905838..07a88deb272d2 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.6.4": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.4-stable.tar.gz" + sha256: "031691906794ff45e1e792561cf31759f5d29ac74936bc8dffb8b14f16d820b4" "5.6.3": url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.3-stable.tar.gz" sha256: "2e74a397fa797c2902d7467d500de904907666afb4ff80f6464f6efd5afb114a" diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index 92091015e6a56..1d558dac0d232 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.4": + folder: all "5.6.3": folder: all "5.5.1": From 5dc0bc60184c99834267592bf116b74f5d4355b2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 05:39:13 +0900 Subject: [PATCH 2995/4087] (#21678) g3log: add version 2.4 --- recipes/g3log/all/conandata.yml | 3 +++ recipes/g3log/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/g3log/all/conandata.yml b/recipes/g3log/all/conandata.yml index bb193ad6a160e..d0c122e1d915c 100644 --- a/recipes/g3log/all/conandata.yml +++ b/recipes/g3log/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4": + url: "https://github.com/KjellKod/g3log/archive/2.4.tar.gz" + sha256: "a240673f6dda17a8d4d5768b6741534e6863e6c4d786c3678e4fe687eb115902" "2.3": url: "https://github.com/KjellKod/g3log/archive/2.3.tar.gz" sha256: "a27dc3ff0d962cc6e0b4e60890b4904e664b0df16393d27e14c878d7de09b505" diff --git a/recipes/g3log/config.yml b/recipes/g3log/config.yml index fd39876109b97..08a72fff292b3 100644 --- a/recipes/g3log/config.yml +++ b/recipes/g3log/config.yml @@ -1,4 +1,6 @@ versions: + "2.4": + folder: all "2.3": folder: all "2.2": From 7b258139f1d4c783e3c1165ecc75ede5a6f12c1c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 12 Dec 2023 21:55:54 +0100 Subject: [PATCH 2996/4087] (#20089) protobuf: improve discovery of protoc executable in build context * improve discovery of protoc executable in build context * addd more comments * fix test package --- recipes/protobuf/all/conanfile.py | 19 ++++++++++++++++--- .../protobuf/all/test_package/conanfile.py | 13 +++---------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index eb5f365e1eb56..f696a27880684 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -124,20 +124,33 @@ def _patch_sources(self): protoc_filename = "protoc" + exe_ext module_folder_depth = len(os.path.normpath(self._cmake_install_base_path).split(os.path.sep)) protoc_rel_path = "{}bin/{}".format("".join(["../"] * module_folder_depth), protoc_filename) - protoc_target = textwrap.dedent("""\ + protoc_target = textwrap.dedent(f"""\ if(NOT TARGET protobuf::protoc) + # Locate protoc executable + ## Workaround for legacy "cmake" generator in case of cross-build if(CMAKE_CROSSCOMPILING) - find_program(PROTOC_PROGRAM protoc PATHS ENV PATH NO_DEFAULT_PATH) + find_program(PROTOC_PROGRAM NAMES protoc PATHS ENV PATH NO_DEFAULT_PATH) endif() + ## And here this will work fine with "CMakeToolchain" (for native & cross-build) + ## and legacy "cmake" generator in case of native build + if(NOT PROTOC_PROGRAM) + find_program(PROTOC_PROGRAM NAMES protoc) + endif() + ## Last resort: we search in package folder directly if(NOT PROTOC_PROGRAM) set(PROTOC_PROGRAM \"${{CMAKE_CURRENT_LIST_DIR}}/{protoc_rel_path}\") endif() get_filename_component(PROTOC_PROGRAM \"${{PROTOC_PROGRAM}}\" ABSOLUTE) + + # Give opportunity to users to provide an external protoc executable + # (this is a feature of official FindProtobuf.cmake) set(Protobuf_PROTOC_EXECUTABLE ${{PROTOC_PROGRAM}} CACHE FILEPATH \"The protoc compiler\") + + # Create executable imported target protobuf::protoc add_executable(protobuf::protoc IMPORTED) set_property(TARGET protobuf::protoc PROPERTY IMPORTED_LOCATION ${{Protobuf_PROTOC_EXECUTABLE}}) endif() - """.format(protoc_rel_path=protoc_rel_path)) + """) replace_in_file(self, protobuf_config_cmake, "include(\"${CMAKE_CURRENT_LIST_DIR}/protobuf-targets.cmake\")", diff --git a/recipes/protobuf/all/test_package/conanfile.py b/recipes/protobuf/all/test_package/conanfile.py index 3823d923c4684..81404c86104a8 100644 --- a/recipes/protobuf/all/test_package/conanfile.py +++ b/recipes/protobuf/all/test_package/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile -from conan.tools.build import can_run, cross_building +from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps" + generators = "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -17,15 +16,9 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - if cross_building(self) and hasattr(self, "settings_build"): - self.tool_requires(self.tested_reference_str) + self.tool_requires(self.tested_reference_str) def generate(self): - VirtualRunEnv(self).generate() - if cross_building(self) and hasattr(self, "settings_build"): - VirtualBuildEnv(self).generate() - else: - VirtualRunEnv(self).generate(scope="build") tc = CMakeToolchain(self) tc.cache_variables["protobuf_LITE"] = self.dependencies[self.tested_reference_str].options.lite tc.generate() From d8cb8f4d17ea11dbb5c4ea5354530184acf0b493 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 23:38:29 +0200 Subject: [PATCH 2997/4087] (#21684) dependencies: new recipe --- recipes/dependencies/all/conandata.yml | 11 ++++ recipes/dependencies/all/conanfile.py | 50 +++++++++++++++++++ .../all/test_package/conanfile.py | 22 ++++++++ recipes/dependencies/config.yml | 3 ++ 4 files changed, 86 insertions(+) create mode 100644 recipes/dependencies/all/conandata.yml create mode 100644 recipes/dependencies/all/conanfile.py create mode 100644 recipes/dependencies/all/test_package/conanfile.py create mode 100644 recipes/dependencies/config.yml diff --git a/recipes/dependencies/all/conandata.yml b/recipes/dependencies/all/conandata.yml new file mode 100644 index 0000000000000..b54b3a369232f --- /dev/null +++ b/recipes/dependencies/all/conandata.yml @@ -0,0 +1,11 @@ +sources: + "1.11.1": + "x86_64": + url: "https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x64_Release.zip" + sha256: "7d22dc00f1c09fd4415d48ad74d1cf801893e83b9a39944b0fce6dea7ceaea99" + "x86": + url: "https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x86_Release.zip" + sha256: "3e6bc62b4163c4e8035e8a597515c116343fcb76fa4315317c3cafe0bdc9e257" + "license": + url: "https://raw.githubusercontent.com/lucasg/Dependencies/v1.11.1/LICENSE" + sha256: "5d7cbf9b08285c1f89e4f4f1341090c662f4078dbf7ce8a7d392d2482e550fb6" diff --git a/recipes/dependencies/all/conanfile.py b/recipes/dependencies/all/conanfile.py new file mode 100644 index 0000000000000..f0b08ddbf4d87 --- /dev/null +++ b/recipes/dependencies/all/conanfile.py @@ -0,0 +1,50 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get, download +import os + +required_conan_version = ">=1.47.0" + + +class PackageConan(ConanFile): + name = "dependencies" + description = ("Dependencies can help Windows developers troubleshooting their DLL-loading dependency issues. " + "It is a rewrite of the legacy Dependency Walker software, which was shipped along Windows SDKs, " + "but whose development stopped around 2006.") + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/lucasg/Dependencies" + topics = ("windows", "dll", "debugging", "pre-built") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type + + def validate(self): + if self.settings.os != "Windows": + raise ConanInvalidConfiguration("Dependencies is only available on Windows") + if self.settings.arch not in ["x86_64", "x86"]: + raise ConanInvalidConfiguration("Dependencies is only available for x86_64 and x86 architectures") + + def build(self): + get(self, **self.conan_data["sources"][self.version][str(self.settings.arch)], strip_root=False) + download(self, **self.conan_data["sources"][self.version]["license"], filename="LICENSE") + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.exe", self.source_folder, os.path.join(self.package_folder, "bin")) + copy(self, "*.dll", self.source_folder, os.path.join(self.package_folder, "bin"), + excludes=["msvcp*.dll", "msvcr*.dll", "vcruntime*.dll"]) + copy(self, "*.config", self.source_folder, os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 + bin_folder = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_folder) diff --git a/recipes/dependencies/all/test_package/conanfile.py b/recipes/dependencies/all/test_package/conanfile.py new file mode 100644 index 0000000000000..9164a4171506f --- /dev/null +++ b/recipes/dependencies/all/test_package/conanfile.py @@ -0,0 +1,22 @@ +import sys + +from conan import ConanFile +from conan.tools.cmake import cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + self.run(f"dependencies -chain -depth 1 {sys.executable}") + + # FYI, you can get similar info with a VCVars generator and + # self.run(f"dumpbin /imports {sys.executable}") diff --git a/recipes/dependencies/config.yml b/recipes/dependencies/config.yml new file mode 100644 index 0000000000000..2e6b30b92c133 --- /dev/null +++ b/recipes/dependencies/config.yml @@ -0,0 +1,3 @@ +versions: + "1.11.1": + folder: all From 3aac0052d9fa97d74d6ae1d393849965bf795cf2 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 22:59:04 +0100 Subject: [PATCH 2998/4087] (#21711) libarchive/all: bump deps * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libarchive/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index f6981be4bf4f1..41ace49a160e2 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -85,7 +85,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.12.2") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_iconv: @@ -103,11 +103,11 @@ def requirements(self): if self.options.with_lzo: self.requires("lzo/2.10") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.get_safe("with_mbedtls"): - self.requires("mbedtls/3.2.1") + self.requires("mbedtls/3.5.0") def validate(self): if self.settings.os != "Windows" and self.options.with_cng: From 68a710e4c792171ac32981bab95f403bbdd037fa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 07:37:59 +0900 Subject: [PATCH 2999/4087] (#21718) catch2: add version 3.5.0 Co-authored-by: Uilian Ries --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index 49bcf956ad89a..85ef2d28e9683 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + url: "https://github.com/catchorg/Catch2/archive/v3.5.0.tar.gz" + sha256: "f6d4f8d78a9b59ec72a81d49f58d18eb317372ac07f8d9432710a079e69fd66a" "3.4.0": url: "https://github.com/catchorg/Catch2/archive/v3.4.0.tar.gz" sha256: "122928b814b75717316c71af69bd2b43387643ba076a6ec16e7882bfb2dfacbb" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index 846bd38ba4e58..df92faa46a85a 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: 3.x.x "3.4.0": folder: 3.x.x "3.3.2": From d5f311bdcfdde264767adb7703c148cd34b620da Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 12 Dec 2023 23:57:55 +0100 Subject: [PATCH 3000/4087] (#21721) pdqsort: add package_type --- recipes/pdqsort/all/conanfile.py | 12 +++++------- recipes/pdqsort/all/test_package/conanfile.py | 7 ++++--- recipes/pdqsort/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/recipes/pdqsort/all/conanfile.py b/recipes/pdqsort/all/conanfile.py index c6b4987b3d5ef..0a1df56b8a3d7 100644 --- a/recipes/pdqsort/all/conanfile.py +++ b/recipes/pdqsort/all/conanfile.py @@ -13,18 +13,18 @@ class PdqsortConan(ConanFile): topics = ("pdqsort", "sort") homepage = "https://github.com/orlp/pdqsort" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,6 +35,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/pdqsort/all/test_package/conanfile.py b/recipes/pdqsort/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/pdqsort/all/test_package/conanfile.py +++ b/recipes/pdqsort/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/pdqsort/all/test_v1_package/CMakeLists.txt b/recipes/pdqsort/all/test_v1_package/CMakeLists.txt index 400c3982bde1a..b21cc49efde95 100644 --- a/recipes/pdqsort/all/test_v1_package/CMakeLists.txt +++ b/recipes/pdqsort/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(pdqsort REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE pdqsort::pdqsort) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From a11b706c15a42f4cb5c66276d3d0ebd8844bde9a Mon Sep 17 00:00:00 2001 From: temap Date: Wed, 13 Dec 2023 01:18:26 +0200 Subject: [PATCH 3001/4087] (#21727) xmlsec: bump libxslt --- recipes/xmlsec/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 7b8e66f3a136e..282278b7546cb 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: - self.requires("libxslt/1.1.34") + self.requires("libxslt/1.1.37") def validate(self): if self.options.with_nss: From e68f4cdc23dcebe262213027a3a04ea8859309a8 Mon Sep 17 00:00:00 2001 From: Alec Edgington <54802828+cqc-alec@users.noreply.github.com> Date: Tue, 12 Dec 2023 23:48:37 +0000 Subject: [PATCH 3002/4087] (#21728) [symengine] Add version 0.11.2 * Add symengine 0.11.2. * Bump gmp dependency. --- recipes/symengine/all/conandata.yml | 3 +++ recipes/symengine/all/conanfile.py | 2 +- recipes/symengine/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/symengine/all/conandata.yml b/recipes/symengine/all/conandata.yml index c2da1e1b162ec..c52591b647475 100644 --- a/recipes/symengine/all/conandata.yml +++ b/recipes/symengine/all/conandata.yml @@ -11,3 +11,6 @@ sources: "0.11.1": url: "https://github.com/symengine/symengine/releases/download/v0.11.1/symengine-0.11.1.tar.gz" sha256: "217b39955dc19f920c6f54c057fdc89e8e155ddee8f0e3c3cacc67b3e3850b64" + "0.11.2": + url: "https://github.com/symengine/symengine/releases/download/v0.11.2/symengine-0.11.2.tar.gz" + sha256: "f6972acd6a65354f6414e69460d2e175729470632bdac05919bc2f7f32e48cbd" diff --git a/recipes/symengine/all/conanfile.py b/recipes/symengine/all/conanfile.py index ec084a7552d07..c6d7a378b2e21 100644 --- a/recipes/symengine/all/conanfile.py +++ b/recipes/symengine/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.integer_class == "boostmp": self.requires("boost/1.83.0") else: - self.requires("gmp/6.2.1", transitive_headers=True, transitive_libs=True) + self.requires("gmp/6.3.0", transitive_headers=True, transitive_libs=True) def source(self): get( diff --git a/recipes/symengine/config.yml b/recipes/symengine/config.yml index 32a90ea4753f7..b47e71fe86741 100644 --- a/recipes/symengine/config.yml +++ b/recipes/symengine/config.yml @@ -7,3 +7,5 @@ versions: folder: all "0.11.1": folder: all + "0.11.2": + folder: all From 25b4ec7fb6ed5a5c10aa123684b264253d9bf93a Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 13 Dec 2023 01:18:59 +0100 Subject: [PATCH 3003/4087] (#21729) [scip] bump version to 8.1.0 --- recipes/scip/all/conandata.yml | 3 +++ recipes/scip/all/conanfile.py | 1 + recipes/scip/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/scip/all/conandata.yml b/recipes/scip/all/conandata.yml index b92bf4dedd66a..aacd6d1a319fe 100644 --- a/recipes/scip/all/conandata.yml +++ b/recipes/scip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.1.0": + url: "https://github.com/scipopt/scip/archive/refs/tags/v810.tar.gz" + sha256: "b6daf54c37d02564b12fb32ec3bb7a105710eb0026adeafc602af4435fa94685" "8.0.4": url: "https://github.com/scipopt/scip/archive/refs/tags/v804.tar.gz" sha256: "48be3f568763e3fc209803e9426389df107491371cfcce38f73dcc99ede69a51" diff --git a/recipes/scip/all/conanfile.py b/recipes/scip/all/conanfile.py index 127afee9dd22b..30a113fa5330e 100644 --- a/recipes/scip/all/conanfile.py +++ b/recipes/scip/all/conanfile.py @@ -35,6 +35,7 @@ class SCIPConan(ConanFile): "with_sym": "bliss", } soplex_version_belonging_to_me = { + "8.1.0": "6.0.4", "8.0.4": "6.0.4", "8.0.3": "6.0.3" } diff --git a/recipes/scip/config.yml b/recipes/scip/config.yml index 131c324cfccd5..f70b85bc6cf44 100644 --- a/recipes/scip/config.yml +++ b/recipes/scip/config.yml @@ -1,4 +1,6 @@ versions: + "8.1.0": + folder: all "8.0.4": folder: all "8.0.3": From 4d34d332b67a59e5bdda4373be9162c16abd96d8 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Wed, 13 Dec 2023 03:38:13 +0300 Subject: [PATCH 3004/4087] (#21732) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index d96eda05407e0..8c1a73b11f3c4 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.4": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.4.tar.gz" + sha256: "7f356658316da4f4eaf7bde43dd43027a602c49640d297357b12e22a1a842a68" "2.3.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.3.tar.gz" sha256: "89584d77d7e338d858e2198b20cd091cc713aef74880ef1fccc6c1e9d8b74acd" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index deba7afb70efc..396ecace7699b 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.4": + folder: all "2.3.3": folder: all "2.3.2": From 8c5f891af8cdccbf9b07b03063c918a2c40ec40c Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 13 Dec 2023 07:38:13 +0100 Subject: [PATCH 3005/4087] (#21730) [ogdf] bump version to 2023.09 * Bump OGDF version to 2023.09 * Bump dependency pugixml to 1.14 --- recipes/ogdf/all/conandata.yml | 3 +++ recipes/ogdf/all/conanfile.py | 2 +- recipes/ogdf/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/ogdf/all/conandata.yml b/recipes/ogdf/all/conandata.yml index f4dd3d9efc6c3..c6c2b408e36ee 100644 --- a/recipes/ogdf/all/conandata.yml +++ b/recipes/ogdf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.09": + url: "https://github.com/ogdf/ogdf/archive/refs/tags/elderberry-202309.tar.gz" + sha256: "3438205d3a6ff69d24c3a6db748d2a5a78688605baf3092456073901a2b623f3" "2022.02": url: "https://github.com/ogdf/ogdf/archive/refs/tags/dogwood-202202.tar.gz" sha256: "308cc2749c6a63520f7979bac86a04066dfea2fb9d3a5e89831318db404bfbf5" diff --git a/recipes/ogdf/all/conanfile.py b/recipes/ogdf/all/conanfile.py index 84c6c4df651b5..cbdc4032988fc 100644 --- a/recipes/ogdf/all/conanfile.py +++ b/recipes/ogdf/all/conanfile.py @@ -37,7 +37,7 @@ def configure(self): def requirements(self): self.requires("coin-clp/1.17.7") - self.requires("pugixml/1.13") + self.requires("pugixml/1.14") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/ogdf/config.yml b/recipes/ogdf/config.yml index 6ece5a73dbce4..9860e459d4c28 100644 --- a/recipes/ogdf/config.yml +++ b/recipes/ogdf/config.yml @@ -1,3 +1,5 @@ versions: + "2023.09": + folder: all "2022.02": folder: all From 3f347fe7a9f1602d8bff78f549d067c34e692615 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 19:26:16 +0900 Subject: [PATCH 3006/4087] (#21629) glaze: add version 1.9.5, remove older versions, relax gcc version check * glaze: add version 1.9.0, remove older versions, relax gcc version check * drop support gcc 11 * update 1.9.1 * update 1.9.4.1 * add NOT_ON_C3I check * update 1.9.5 * try to remove NOT_ON_C3I Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/glaze/all/conandata.yml | 33 +++------------------------------ recipes/glaze/all/conanfile.py | 3 +-- recipes/glaze/config.yml | 22 ++-------------------- 3 files changed, 6 insertions(+), 52 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ad71e5b609c26..049a93b0fe130 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.5": + url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz" + sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f" "1.8.5": url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz" sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4" @@ -20,33 +23,3 @@ sources: "1.6.1": url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" - "1.6.0": - url: "https://github.com/stephenberry/glaze/archive/v1.6.0.tar.gz" - sha256: "1206421e4dfd259b9c3cd012adc35946cc27a19f10083040b353a78520ad1bee" - "1.5.7": - url: "https://github.com/stephenberry/glaze/archive/v1.5.7.tar.gz" - sha256: "3bd40d0a2547fb9ee0fb94894dc13ba0bc37dac6d26ee292941e7a5203702c84" - "1.5.6": - url: "https://github.com/stephenberry/glaze/archive/v1.5.6.tar.gz" - sha256: "11910435f078a2be66c451413203097197991a4c2d0e5ec5b3e81f5568bfe64d" - "1.5.3": - url: "https://github.com/stephenberry/glaze/archive/v1.5.3.tar.gz" - sha256: "dc0fcd447f9edb65521033466aca820c9a955c696bd51709e12048e0a12291d8" - "1.5.2": - url: "https://github.com/stephenberry/glaze/archive/v1.5.2.tar.gz" - sha256: "d9dff3570ae479123b8eadb890db41255c6c0c74c4cdb1b9ca3d1eb73f8ca5eb" - "1.5.1": - url: "https://github.com/stephenberry/glaze/archive/v1.5.1.tar.gz" - sha256: "b119b0375d13ab34ebc156e1c12eacc65e7f4c8b0cfcf6ae93e8fe18744d1ad5" - "1.5.0": - url: "https://github.com/stephenberry/glaze/archive/v1.5.0.tar.gz" - sha256: "9ab1cc5faa3a1a46b478c884207e6c364e4b6ae9c09f96cbf9f2ef620b3bb3b5" - "1.4.1": - url: "https://github.com/stephenberry/glaze/archive/v1.4.1.tar.gz" - sha256: "fae4188004d383f79225db26e41060aaae9a3eff92da7637aa467749e9590ee6" - "1.4.0": - url: "https://github.com/stephenberry/glaze/archive/v1.4.0.tar.gz" - sha256: "301c831e2476529bfa1ea24d87011186da91644830bdf57e1ed99bc7f6326989" - "1.3.6": - url: "https://github.com/stephenberry/glaze/archive/v1.3.6.tar.gz" - sha256: "c339f036a96fef72f9b8542d6a1e2ecb4bd3fa5d3d09a206da5e844765d2b6c3" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index f2658256e5ba5..f991920259f6a 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -28,7 +28,7 @@ def _compilers_minimum_version(self): return { "Visual Studio": "17", "msvc": "193", - "gcc": "12", + "gcc": "10" if Version(self.version) < "1.9.0" else "11", "clang": "12", "apple-clang": "13.1", } @@ -42,7 +42,6 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 0cda01a7a8583..2c2e8c3fdb89e 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.5": + folder: all "1.8.5": folder: all "1.8.4": @@ -13,23 +15,3 @@ versions: folder: all "1.6.1": folder: all - "1.6.0": - folder: all - "1.5.7": - folder: all - "1.5.6": - folder: all - "1.5.3": - folder: all - "1.5.2": - folder: all - "1.5.1": - folder: all - "1.5.0": - folder: all - "1.4.1": - folder: all - "1.4.0": - folder: all - "1.3.6": - folder: all From 8ecce873f337fc0392e19b48fb47fb0e8b825092 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 14 Dec 2023 11:43:24 +0200 Subject: [PATCH 3007/4087] (#18844) premake: migrate to Conan v2 * premake: migrate to Conan v2 * premake: add VS 2022 support, fix package_type * premake: fix Linux package() * premake: fix package() * premake: get rid of vs_ide_version use * premake: add 5.0.0-beta2 * premake: add libuuid dependency * premake: add layout to test_package * premake: disable beta2 Fails with premake5: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by premake5) premake5: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by premake5) premake5: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by premake5) for v1 in CI during test_package. * premake: workaround for Conan v1 debug build failure * premake: tweak comments --- recipes/premake/5.x/conandata.yml | 7 - recipes/premake/5.x/conanfile.py | 154 ++++++++++++------ .../patches/0001-5.0.0-alpha14-mingw.patch | 72 -------- recipes/premake/5.x/test_package/conanfile.py | 14 +- .../premake/5.x/test_v1_package/conanfile.py | 9 + recipes/premake/config.yml | 4 +- 6 files changed, 125 insertions(+), 135 deletions(-) delete mode 100644 recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch create mode 100644 recipes/premake/5.x/test_v1_package/conanfile.py diff --git a/recipes/premake/5.x/conandata.yml b/recipes/premake/5.x/conandata.yml index d96239dcf6113..91cb25d43c227 100644 --- a/recipes/premake/5.x/conandata.yml +++ b/recipes/premake/5.x/conandata.yml @@ -2,13 +2,6 @@ sources: "5.0.0-alpha15": url: "https://github.com/premake/premake-core/releases/download/v5.0.0-alpha15/premake-5.0.0-alpha15-src.zip" sha256: "880f56e7cb9f4945d1cb879f059189462c1b7bf62ef43ac7d25842dfb177dd53" - "5.0.0-alpha14": - url: "https://github.com/premake/premake-core/releases/download/v5.0.0-alpha14/premake-5.0.0-alpha14-src.zip" - sha256: "7c9fa4488156625c819dd03f2b48bfd4712fbfabdc2b5768e8c7f52dd7d16608" patches: "5.0.0-alpha15": - patch_file: "patches/0001-5.0.0-alpha15-mingw.patch" - base_path: "source_subfolder" - "5.0.0-alpha14": - - patch_file: "patches/0001-5.0.0-alpha14-mingw.patch" - base_path: "source_subfolder" diff --git a/recipes/premake/5.x/conanfile.py b/recipes/premake/5.x/conanfile.py index f0834e0449cd2..d4fa461153f3c 100644 --- a/recipes/premake/5.x/conanfile.py +++ b/recipes/premake/5.x/conanfile.py @@ -1,19 +1,33 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, MSBuild -from conans.errors import ConanInvalidConfiguration import glob import os import re +import shutil + +from conan import ConanFile, conan_version +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, MSBuildToolchain, is_msvc, check_min_vs + +required_conan_version = ">=1.53.0" class PremakeConan(ConanFile): name = "premake" - topics = ("conan", "premake", "build", "build-systems") - description = "Describe your software project just once, using Premake's simple and easy to read syntax, and build it everywhere" + description = ( + "Describe your software project just once, " + "using Premake's simple and easy to read syntax, " + "and build it everywhere" + ) + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://premake.github.io" - license = "BSD-3-Clause" + topics = ("build", "build-systems") + + package_type = "application" settings = "os", "arch", "compiler", "build_type" - exports_sources = "patches/**" options = { "lto": [True, False], } @@ -21,35 +35,53 @@ class PremakeConan(ConanFile): "lto": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + def export_sources(self): + export_conandata_patches(self) def config_options(self): - if self.settings.os != "Windows" or self.settings.compiler == "Visual Studio": - del self.options.lto + if self.settings.os != "Windows" or is_msvc(self): + self.options.rm_safe("lto") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + + def requirements(self): + if self.settings.os != "Windows": + self.requires("util-linux-libuuid/2.39") def validate(self): - if hasattr(self, 'settings_build') and tools.cross_building(self, skip_x64_x86=True): + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") + if conan_version.major == 1 and self.settings.build_type == "Debug": + # This configuration fails without any error messages in C3I. + # https://c3i.jfrog.io/artifactory/misc/logs/pr/18844/15-linux-clang/premake/5.0.0-alpha15/ + raise ConanInvalidConfiguration("Debug build not supported with Conan 1.x") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property - def _msvc_version(self): - return { - "12": "2013", - "14": "2015", - "15": "2017", - "16": "2019", - }.get(str(self.settings.compiler.version), "2017") + def _ide_version(self): + compiler_version = str(self.settings.compiler.version) + if str(self.settings.compiler) == "Visual Studio": + return {"17": "2022", + "16": "2019", + "15": "2017", + "14": "2015", + "12": "2013"}.get(compiler_version) + else: + return {"193": "2022", + "192": "2019", + "191": "2017", + "190": "2015", + "180": "2013"}.get(compiler_version) @property - def _msvc_build_dirname(self): - return "vs{}".format(self._msvc_version) + def _msvc_build_dir(self): + return os.path.join(self.source_folder, "build", f"vs{self._ide_version}") def _version_info(self, version): res = [] @@ -63,13 +95,6 @@ def _version_info(self, version): res.append(p) return tuple(res) - @property - def _gmake_directory_name_prefix(self): - if self._version_info(self.version) <= self._version_info("5.0.0-alpha14"): - return "gmake" - else: - return "gmake2" - @property def _gmake_platform(self): return { @@ -80,8 +105,8 @@ def _gmake_platform(self): }[str(self.settings.os)] @property - def _gmake_build_dirname(self): - return "{}.{}".format(self._gmake_directory_name_prefix, self._gmake_platform) + def _gmake_build_dir(self): + return os.path.join(self.source_folder, "build", f"gmake2.{self._gmake_platform}") @property def _gmake_config(self): @@ -91,35 +116,62 @@ def _gmake_config(self): "x86": "x86", "x86_64": "x64", }[str(self.settings.arch)] - config = "{}_{}".format(build_type, arch) + config = f"{build_type}_{arch}" else: config = build_type return config + def generate(self): + if is_msvc(self): + tc = MSBuildToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + tc.make_args = ["verbose=1", f"config={self._gmake_config}"] + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if self.options.get_safe("lto", None) == False: - for fn in glob.glob(os.path.join(self._source_subfolder, "build", self._gmake_build_dirname, "*.make")): - tools.replace_in_file(fn, "-flto", "", strict=False) + apply_conandata_patches(self) + if self.options.get_safe("lto", None) is False: + for fn in glob.glob(os.path.join(self._gmake_build_dir, "*.make")): + replace_in_file(self, fn, "-flto", "", strict=False) + if check_min_vs(self, 193, raise_invalid=False): + # Create VS 2022 project directory based on VS 2019 one + if "alpha" in str(self.version): + shutil.move(os.path.join(self.source_folder, "build", "vs2019"), + os.path.join(self.source_folder, "build", "vs2022")) + for vcxproj in glob.glob(os.path.join(self.source_folder, "build", "vs2022", "*.vcxproj")): + replace_in_file(self, vcxproj, "v142", "v143") def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": - with tools.chdir(os.path.join(self._source_subfolder, "build", self._msvc_build_dirname)): + if is_msvc(self): + with chdir(self, self._msvc_build_dir): msbuild = MSBuild(self) - msbuild.build("Premake5.sln", platforms={"x86": "Win32", "x86_64": "x64"}) + msbuild.build(sln="Premake5.sln") else: - with tools.chdir(os.path.join(self._source_subfolder, "build", self._gmake_build_dirname)): - env_build = AutoToolsBuildEnvironment(self) - env_build.make(target="Premake5", args=["verbose=1", "config={}".format(self._gmake_config)]) + with chdir(self, self._gmake_build_dir): + autotools = Autotools(self) + autotools.make(target="Premake5") def package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*premake5.exe", dst="bin", keep_path=False) - self.copy(pattern="*premake5", dst="bin", keep_path=False) + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + suffix = ".exe" if self.settings.os == "Windows" else "" + copy(self, f"*/premake5{suffix}", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(self.source_folder, "bin"), + keep_path=False) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) self.env_info.PATH.append(bindir) diff --git a/recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch b/recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch deleted file mode 100644 index 0dd121be8b2ae..0000000000000 --- a/recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- a/contrib/curl/lib/select.h -+++ b/contrib/curl/lib/select.h -@@ -36,7 +36,8 @@ - - #if !defined(HAVE_STRUCT_POLLFD) && \ - !defined(HAVE_SYS_POLL_H) && \ -- !defined(HAVE_POLL_H) -+ !defined(HAVE_POLL_H) && \ -+ !defined(POLLIN) - - #define POLLIN 0x01 - #define POLLPRI 0x02 ---- src/host/os_isdir.c -+++ src/host/os_isdir.c -@@ -9,7 +9,7 @@ - #include "premake.h" - - #ifdef _WIN32 --#include -+#include - #endif - - int os_isdir(lua_State* L) ---- src/host/os_uuid.c -+++ src/host/os_uuid.c -@@ -7,7 +7,7 @@ - #include "premake.h" - - #if PLATFORM_WINDOWS --#include -+#include - #endif - - ---- build/gmake.windows/Premake5.make -+++ build/gmake.windows/Premake5.make -@@ -22,7 +22,7 @@ - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -flto -O3 -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -flto -O3 -Wall -Wextra -fno-stack-protector - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x86/Release/lua-lib.lib bin/x86/Release/zip-lib.lib bin/x86/Release/zlib-lib.lib bin/x86/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x86/Release/lua-lib.lib bin/x86/Release/zip-lib.lib bin/x86/Release/zlib-lib.lib bin/x86/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x86/Release/lua-lib.lib bin/x86/Release/zip-lib.lib bin/x86/Release/zlib-lib.lib bin/x86/Release/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -flto -s - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -@@ -49,7 +49,7 @@ ifeq ($(config),release_x64) - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -flto -O3 -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -flto -O3 -Wall -Wextra -fno-stack-protector - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x64/Release/lua-lib.lib bin/x64/Release/zip-lib.lib bin/x64/Release/zlib-lib.lib bin/x64/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x64/Release/lua-lib.lib bin/x64/Release/zip-lib.lib bin/x64/Release/zlib-lib.lib bin/x64/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x64/Release/lua-lib.lib bin/x64/Release/zip-lib.lib bin/x64/Release/zlib-lib.lib bin/x64/Release/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -flto -s - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -@@ -76,7 +76,7 @@ - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g -Wall -Wextra - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x86/Debug/lua-lib.lib bin/x86/Debug/zip-lib.lib bin/x86/Debug/zlib-lib.lib bin/x86/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x86/Debug/lua-lib.lib bin/x86/Debug/zip-lib.lib bin/x86/Debug/zlib-lib.lib bin/x86/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x86/Debug/lua-lib.lib bin/x86/Debug/zip-lib.lib bin/x86/Debug/zlib-lib.lib bin/x86/Debug/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -@@ -103,7 +103,7 @@ - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g -Wall -Wextra - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x64/Debug/lua-lib.lib bin/x64/Debug/zip-lib.lib bin/x64/Debug/zlib-lib.lib bin/x64/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x64/Debug/lua-lib.lib bin/x64/Debug/zip-lib.lib bin/x64/Debug/zlib-lib.lib bin/x64/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x64/Debug/lua-lib.lib bin/x64/Debug/zip-lib.lib bin/x64/Debug/zlib-lib.lib bin/x64/Debug/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) diff --git a/recipes/premake/5.x/test_package/conanfile.py b/recipes/premake/5.x/test_package/conanfile.py index c300eaeb0abb7..d2d508976967c 100644 --- a/recipes/premake/5.x/test_package/conanfile.py +++ b/recipes/premake/5.x/test_package/conanfile.py @@ -1,9 +1,17 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.cmake import cmake_layout class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def test(self): - if not tools.cross_building(self.settings): - self.run("premake5 --version", run_environment=True) + self.run("premake5 --version") diff --git a/recipes/premake/5.x/test_v1_package/conanfile.py b/recipes/premake/5.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c300eaeb0abb7 --- /dev/null +++ b/recipes/premake/5.x/test_v1_package/conanfile.py @@ -0,0 +1,9 @@ +from conans import ConanFile, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if not tools.cross_building(self.settings): + self.run("premake5 --version", run_environment=True) diff --git a/recipes/premake/config.yml b/recipes/premake/config.yml index e529cc98c1a62..95e71fee0aa88 100644 --- a/recipes/premake/config.yml +++ b/recipes/premake/config.yml @@ -1,5 +1,5 @@ versions: - "5.0.0-alpha14": - folder: "5.x" + # "5.0.0-beta2": + # folder: "5.x" "5.0.0-alpha15": folder: "5.x" From 177f0e3f4da9c633485a3c4a0182620d96f485e3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 14 Dec 2023 10:58:48 +0100 Subject: [PATCH 3008/4087] (#21645) xmlsec: bump * xmlsec: bump * Bump/xmlsec/all (#54) * xmlsec/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * rebump * unbump libxml2 * simplify test package * remove 1.3.2 * Update conanfile.py * Update conanfile.py --- recipes/xmlsec/all/conandata.yml | 3 + recipes/xmlsec/all/conanfile.py | 11 +- .../xmlsec/all/test_package/CMakeLists.txt | 11 +- recipes/xmlsec/all/test_package/conanfile.py | 14 +- recipes/xmlsec/all/test_package/main.c | 28 +++ recipes/xmlsec/all/test_package/rsakey.pem | 9 - .../xmlsec/all/test_package/sign1-tmpl.xml | 26 --- recipes/xmlsec/all/test_package/sign1.c | 211 ------------------ recipes/xmlsec/config.yml | 2 + 9 files changed, 45 insertions(+), 270 deletions(-) create mode 100644 recipes/xmlsec/all/test_package/main.c delete mode 100644 recipes/xmlsec/all/test_package/rsakey.pem delete mode 100644 recipes/xmlsec/all/test_package/sign1-tmpl.xml delete mode 100644 recipes/xmlsec/all/test_package/sign1.c diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index d74fd9230c88c..9dcbff28223be 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.38": + url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec-1_2_38/xmlsec1-1.2.38.tar.gz" + sha256: "9de8cf8d7d2e288a9cef205cc6cb93c926a67dadfaf44aaff76ed63c28ce9902" "1.2.33": url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.33.tar.gz" sha256: "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931" diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 282278b7546cb..30f254478d8cf 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -80,7 +80,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -158,11 +158,13 @@ def build(self): f"static={yes_no(not self.options.shared)}", "include=\"{}\"".format(";".join(deps_includedirs)), "lib=\"{}\"".format(";".join(deps_libdirs)), - "with-dl=no", + "with-dl={}".format(yes_no(Version(self.version) >= "1.2.35" and self.options.shared)), f"xslt={yes_no(self.options.with_xslt)}", "iconv=no", "crypto={}".format(",".join(crypto_engines)), ] + if Version(self.version) >= "1.2.35": + args.append("pedantic=no") with chdir(self, os.path.join(self.source_folder, "win32")): self.run(f"cscript configure.js {' '.join(args)}") @@ -199,8 +201,9 @@ def package(self): if not self.options.shared: rm(self, "*.dll", os.path.join(self.package_folder, "bin")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) - os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec-openssl_a.lib" if self.options.shared else "libxmlsec-openssl.lib")) - os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec_a.lib" if self.options.shared else "libxmlsec.lib")) + if Version(self.version) < "1.2.35": + os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec-openssl_a.lib" if self.options.shared else "libxmlsec-openssl.lib")) + os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec_a.lib" if self.options.shared else "libxmlsec.lib")) else: autotools = Autotools(self) autotools.install() diff --git a/recipes/xmlsec/all/test_package/CMakeLists.txt b/recipes/xmlsec/all/test_package/CMakeLists.txt index 926e0b1fdcb15..80ae5f35a850c 100644 --- a/recipes/xmlsec/all/test_package/CMakeLists.txt +++ b/recipes/xmlsec/all/test_package/CMakeLists.txt @@ -2,13 +2,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) find_package(xmlsec REQUIRED CONFIG) -find_package(LibXml2 REQUIRED MODULE) -if(XMLSEC_WITH_XSLT) - find_package(LibXslt REQUIRED MODULE) -endif() -add_executable(${PROJECT_NAME} sign1.c) -target_link_libraries(${PROJECT_NAME} PRIVATE LibXml2::LibXml2 xmlsec::xmlsec) -if(XMLSEC_WITH_XSLT) - target_link_libraries(${PROJECT_NAME} PRIVATE LibXslt::LibXslt) -endif() +add_executable(${PROJECT_NAME} main.c) +target_link_libraries(${PROJECT_NAME} PRIVATE xmlsec::xmlsec) diff --git a/recipes/xmlsec/all/test_package/conanfile.py b/recipes/xmlsec/all/test_package/conanfile.py index 813061264560d..98ab55852ad56 100644 --- a/recipes/xmlsec/all/test_package/conanfile.py +++ b/recipes/xmlsec/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -14,12 +14,6 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - self.requires("libxml2/2.11.5") - - def generate(self): - tc = CMakeToolchain(self) - tc.variables["XMLSEC_WITH_XSLT"] = self.dependencies["xmlsec"].options.with_xslt - tc.generate() def build(self): cmake = CMake(self) @@ -29,6 +23,4 @@ def build(self): def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - xml_file = os.path.join(self.source_folder, "sign1-tmpl.xml") - pem_file = os.path.join(self.source_folder, "rsakey.pem") - self.run(f"{bin_path} {xml_file} {pem_file}", env="conanrun") + self.run(bin_path, env="conanrun") diff --git a/recipes/xmlsec/all/test_package/main.c b/recipes/xmlsec/all/test_package/main.c new file mode 100644 index 0000000000000..10ac70841525b --- /dev/null +++ b/recipes/xmlsec/all/test_package/main.c @@ -0,0 +1,28 @@ +#include + + +#include + + +int main(int argc, char **argv) { + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + if(xmlSecCheckVersionExact() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not exact.\n"); + return(-1); + } + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + return(0); +} diff --git a/recipes/xmlsec/all/test_package/rsakey.pem b/recipes/xmlsec/all/test_package/rsakey.pem deleted file mode 100644 index de07b7803966b..0000000000000 --- a/recipes/xmlsec/all/test_package/rsakey.pem +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIBPAIBAAJBANPQbQ92nlbeg1Q5JNHSO1Yey46nZ7GJltLWw1ccSvp7pnvmfUm+ -M521CpFpfr4EAE3UVBMoU9j/hqq3dFAc2H0CAwEAAQJBALFVCjmsAZyQ5jqZLO5N -qEfNuHZSSUol+xPBogFIOq3BWa269eNNcAK5or5g0XWWon7EPdyGT4qyDVH9KzXK -RLECIQDzm/Nj0epUGN51/rKJgRXWkXW/nfSCMO9fvQR6Ujoq3wIhAN6WeHK9vgWg -wBWqMdq5sR211+LlDH7rOUQ6rBpbsoQjAiEA7jzpfglgPPZFOOfo+oh/LuP6X3a+ -FER/FQXpRyb7M8kCIETUrwZ8WkiPPxbz/Fqw1W5kjw/g2I5e2uSYaCP2eyuVAiEA -mOI6RhRyMqgxQyy0plJVjG1s4fdu92AWYy9AwYeyd/8= ------END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/recipes/xmlsec/all/test_package/sign1-tmpl.xml b/recipes/xmlsec/all/test_package/sign1-tmpl.xml deleted file mode 100644 index 1c50319fad562..0000000000000 --- a/recipes/xmlsec/all/test_package/sign1-tmpl.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Hello, World! - - - - - - - - - - - - - - - - - - - diff --git a/recipes/xmlsec/all/test_package/sign1.c b/recipes/xmlsec/all/test_package/sign1.c deleted file mode 100644 index c081e62e344fd..0000000000000 --- a/recipes/xmlsec/all/test_package/sign1.c +++ /dev/null @@ -1,211 +0,0 @@ -/** - * XML Security Library example: Signing a template file. - * - * Signs a template file using a key from PEM file - * - * Usage: - * ./sign1 - * - * Example: - * ./sign1 sign1-tmpl.xml rsakey.pem > sign1-res.xml - * - * The result signature could be validated using verify1 example: - * ./verify1 sign1-res.xml rsapub.pem - * - * This is free software; see Copyright file in the source - * distribution for preciese wording. - * - * Copyright (C) 2002-2016 Aleksey Sanin . All Rights Reserved. - */ -#include -#include -#include - -#include -#include -#include - -#ifndef XMLSEC_NO_XSLT -#include -#include -#endif /* XMLSEC_NO_XSLT */ - -#include -#include -#include -#include - -int sign_file(const char* tmpl_file, const char* key_file); - -int -main(int argc, char **argv) { -#ifndef XMLSEC_NO_XSLT - xsltSecurityPrefsPtr xsltSecPrefs = NULL; -#endif /* XMLSEC_NO_XSLT */ - - assert(argv); - - if(argc != 3) { - fprintf(stderr, "Error: wrong number of arguments.\n"); - fprintf(stderr, "Usage: %s \n", argv[0]); - return(1); - } - - /* Init libxml and libxslt libraries */ - xmlInitParser(); - LIBXML_TEST_VERSION - xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; - xmlSubstituteEntitiesDefault(1); -#ifndef XMLSEC_NO_XSLT - xmlIndentTreeOutput = 1; -#endif /* XMLSEC_NO_XSLT */ - - /* Init libxslt */ -#ifndef XMLSEC_NO_XSLT - /* disable everything */ - xsltSecPrefs = xsltNewSecurityPrefs(); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); - xsltSetDefaultSecurityPrefs(xsltSecPrefs); -#endif /* XMLSEC_NO_XSLT */ - - /* Init xmlsec library */ - if(xmlSecInit() < 0) { - fprintf(stderr, "Error: xmlsec initialization failed.\n"); - return(-1); - } - - /* Check loaded library version */ - if(xmlSecCheckVersion() != 1) { - fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); - return(-1); - } - - /* Load default crypto engine if we are supporting dynamic - * loading for xmlsec-crypto libraries. Use the crypto library - * name ("openssl", "nss", etc.) to load corresponding - * xmlsec-crypto library. - */ -#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING - if(xmlSecCryptoDLLoadLibrary(NULL) < 0) { - fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" - "that you have it installed and check shared libraries path\n" - "(LD_LIBRARY_PATH and/or LTDL_LIBRARY_PATH) environment variables.\n"); - return(-1); - } -#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ - - /* Init crypto library */ - if(xmlSecCryptoAppInit(NULL) < 0) { - fprintf(stderr, "Error: crypto initialization failed.\n"); - return(-1); - } - - /* Init xmlsec-crypto library */ - if(xmlSecCryptoInit() < 0) { - fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); - return(-1); - } - - if(sign_file(argv[1], argv[2]) < 0) { - return(-1); - } - - /* Shutdown xmlsec-crypto library */ - xmlSecCryptoShutdown(); - - /* Shutdown crypto library */ - xmlSecCryptoAppShutdown(); - - /* Shutdown xmlsec library */ - xmlSecShutdown(); - - /* Shutdown libxslt/libxml */ -#ifndef XMLSEC_NO_XSLT - xsltFreeSecurityPrefs(xsltSecPrefs); - xsltCleanupGlobals(); -#endif /* XMLSEC_NO_XSLT */ - xmlCleanupParser(); - - return(0); -} - -/** - * sign_file: - * @tmpl_file: the signature template file name. - * @key_file: the PEM private key file name. - * - * Signs the #tmpl_file using private key from #key_file. - * - * Returns 0 on success or a negative value if an error occurs. - */ -int -sign_file(const char* tmpl_file, const char* key_file) { - xmlDocPtr doc = NULL; - xmlNodePtr node = NULL; - xmlSecDSigCtxPtr dsigCtx = NULL; - int res = -1; - - assert(tmpl_file); - assert(key_file); - - /* load template */ - doc = xmlParseFile(tmpl_file); - if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ - fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); - goto done; - } - - /* find start node */ - node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); - if(node == NULL) { - fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); - goto done; - } - - /* create signature context, we don't need keys manager in this example */ - dsigCtx = xmlSecDSigCtxCreate(NULL); - if(dsigCtx == NULL) { - fprintf(stderr,"Error: failed to create signature context\n"); - goto done; - } - - /* load private key, assuming that there is not password */ - dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); - if(dsigCtx->signKey == NULL) { - fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); - goto done; - } - - /* set key name to the file name, this is just an example! */ - if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { - fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); - goto done; - } - - /* sign the template */ - if(xmlSecDSigCtxSign(dsigCtx, node) < 0) { - fprintf(stderr,"Error: signature failed\n"); - goto done; - } - - /* print signed document to stdout */ - xmlDocDump(stdout, doc); - - /* success */ - res = 0; - -done: - /* cleanup */ - if(dsigCtx != NULL) { - xmlSecDSigCtxDestroy(dsigCtx); - } - - if(doc != NULL) { - xmlFreeDoc(doc); - } - return(res); -} diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml index 3853f0ae48f16..ff9c9e19a6b99 100644 --- a/recipes/xmlsec/config.yml +++ b/recipes/xmlsec/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.38": + folder: all "1.2.33": folder: all "1.2.32": From c3b9621e467ca8f616abe9d4ab029f68f17b41be Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 14 Dec 2023 12:29:15 +0200 Subject: [PATCH 3009/4087] (#21659) exiv2: add v0.28.1, simplify patching --- recipes/exiv2/all/conandata.yml | 21 +++------------ recipes/exiv2/all/conanfile.py | 14 +++++++--- .../exiv2/all/patches/0001-link-0.27.5.patch | 16 ------------ .../exiv2/all/patches/0001-link-0.28.0.patch | 22 ---------------- recipes/exiv2/all/patches/0001-link.patch | 26 ------------------- recipes/exiv2/all/patches/0002-fpic.patch | 16 ------------ .../all/patches/0004-find-expat-0.28.0.patch | 16 ------------ .../exiv2/all/patches/0004-find-expat.patch | 15 ----------- recipes/exiv2/config.yml | 4 +-- 9 files changed, 16 insertions(+), 134 deletions(-) delete mode 100644 recipes/exiv2/all/patches/0001-link-0.28.0.patch delete mode 100644 recipes/exiv2/all/patches/0001-link.patch delete mode 100644 recipes/exiv2/all/patches/0002-fpic.patch delete mode 100644 recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch delete mode 100644 recipes/exiv2/all/patches/0004-find-expat.patch diff --git a/recipes/exiv2/all/conandata.yml b/recipes/exiv2/all/conandata.yml index 981b0a2937754..55858f820d83f 100644 --- a/recipes/exiv2/all/conandata.yml +++ b/recipes/exiv2/all/conandata.yml @@ -1,29 +1,14 @@ sources: + "0.28.1": + url: "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.1.tar.gz" + sha256: "3078651f995cb6313b1041f07f4dd1bf0e9e4d394d6e2adc6e92ad0b621291fa" "0.28.0": url: "https://github.com/Exiv2/exiv2/releases/download/v0.28.0/exiv2-0.28.0-Source.tar.gz" sha256: "89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d" "0.27.5": url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.5/exiv2-0.27.5-Source.tar.gz" sha256: "35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2" - "0.27.4": - url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.4/exiv2-0.27.4-Source.tar.gz" - sha256: "84366dba7c162af9a7603bcd6c16f40fe0e9af294ba2fd2f66ffffb9fbec904e" patches: - "0.28.0": - - patch_file: "patches/0001-link-0.28.0.patch" - - patch_file: "patches/0004-find-expat-0.28.0.patch" - patch_description: "enforce usage of FindEXPAT.cmake" - patch_type: "conan" "0.27.5": - patch_file: "patches/0001-link-0.27.5.patch" - patch_file: "patches/0003-fix-ios.patch" - - patch_file: "patches/0004-find-expat.patch" - patch_description: "enforce usage of FindEXPAT.cmake" - patch_type: "conan" - "0.27.4": - - patch_file: "patches/0001-link.patch" - - patch_file: "patches/0002-fpic.patch" - - patch_file: "patches/0003-fix-ios.patch" - - patch_file: "patches/0004-find-expat.patch" - patch_description: "enforce usage of FindEXPAT.cmake" - patch_type: "conan" diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 0df5814a8917e..8957750b23fe0 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps -from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches, replace_in_file from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, check_min_vs from conan.tools.scm import Version import os @@ -138,15 +138,23 @@ def generate(self): if is_msvc(self): tc.variables["EXIV2_ENABLE_DYNAMIC_RUNTIME"] = not is_msvc_static_runtime(self) - # set PIC manually because of object target exiv2_int + # set PIC manually because of the internal static library exiv2_int tc.cache_variables["CMAKE_POSITION_INDEPENDENT_CODE"] = bool(self.options.get_safe("fPIC", True)) tc.generate() deps = CMakeDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), + "POSITION_INDEPENDENT_CODE ON", "") + # Enforce usage of FindEXPAT.cmake + replace_in_file(self, os.path.join(self.source_folder, "cmake", "findDependencies.cmake"), + "find_package(EXPAT REQUIRED)", "find_package(EXPAT REQUIRED MODULE)") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/exiv2/all/patches/0001-link-0.27.5.patch b/recipes/exiv2/all/patches/0001-link-0.27.5.patch index b94b7e7a8c10c..54a08d019d541 100644 --- a/recipes/exiv2/all/patches/0001-link-0.27.5.patch +++ b/recipes/exiv2/all/patches/0001-link-0.27.5.patch @@ -1,19 +1,3 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 26e5a951..141211ef 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -142,11 +142,6 @@ if (MSVC) - set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") - endif() - --set_target_properties( exiv2lib_int PROPERTIES -- POSITION_INDEPENDENT_CODE ON -- COMPILE_DEFINITIONS exiv2lib_EXPORTS --) -- - # NOTE: Cannot use target_link_libraries on OBJECT libraries with old versions of CMake - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) - target_include_directories(exiv2lib SYSTEM PRIVATE diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt index a22698fb..9ef87970 100644 --- a/xmpsdk/CMakeLists.txt diff --git a/recipes/exiv2/all/patches/0001-link-0.28.0.patch b/recipes/exiv2/all/patches/0001-link-0.28.0.patch deleted file mode 100644 index 0c0e5fa28d40c..0000000000000 --- a/recipes/exiv2/all/patches/0001-link-0.28.0.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 41a672e8..93370b5e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -170,10 +170,10 @@ if (MSVC) - set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") - endif() - --set_target_properties( exiv2lib_int PROPERTIES -- POSITION_INDEPENDENT_CODE ON -- COMPILE_DEFINITIONS exiv2lib_EXPORTS --) -+ -+ -+ -+ - - # NOTE: Cannot use target_link_libraries on OBJECT libraries with old versions of CMake - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) --- -2.33.0.windows.1 - diff --git a/recipes/exiv2/all/patches/0001-link.patch b/recipes/exiv2/all/patches/0001-link.patch deleted file mode 100644 index fd93d6c5c3698..0000000000000 --- a/recipes/exiv2/all/patches/0001-link.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c52b352f..2c270c5f 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -215,7 +215,7 @@ else() - endif() - - if( EXIV2_ENABLE_PNG ) -- target_link_libraries( exiv2lib PRIVATE $) -+ target_link_libraries( exiv2lib PRIVATE ZLIB::ZLIB) - endif() - - if( EXIV2_ENABLE_NLS ) -diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt -index a22698fb..9ef87970 100644 ---- a/xmpsdk/CMakeLists.txt -+++ b/xmpsdk/CMakeLists.txt -@@ -28,7 +28,7 @@ add_library(exiv2-xmp STATIC - - target_link_libraries(exiv2-xmp - PRIVATE -- $ -+ EXPAT::EXPAT - ) - - target_include_directories(exiv2-xmp diff --git a/recipes/exiv2/all/patches/0002-fpic.patch b/recipes/exiv2/all/patches/0002-fpic.patch deleted file mode 100644 index 680f251bd8de4..0000000000000 --- a/recipes/exiv2/all/patches/0002-fpic.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c52b352f..92fcd847 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -142,11 +142,6 @@ if (MSVC) - set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") - endif() - --set_target_properties( exiv2lib_int PROPERTIES -- POSITION_INDEPENDENT_CODE ON -- COMPILE_DEFINITIONS exiv2lib_EXPORTS --) -- - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) - target_include_directories(exiv2lib PRIVATE - $ diff --git a/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch b/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch deleted file mode 100644 index 07fb4804513c7..0000000000000 --- a/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index 1075c303..d8b580d4 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -60,7 +60,7 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) - message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") - else() - if (EXIV2_ENABLE_XMP) -- find_package(EXPAT REQUIRED) -+ find_package(EXPAT REQUIRED MODULE) - elseif (EXIV2_ENABLE_EXTERNAL_XMP) - find_package(XmpSdk REQUIRED) - endif () --- -2.33.0.windows.1 - diff --git a/recipes/exiv2/all/patches/0004-find-expat.patch b/recipes/exiv2/all/patches/0004-find-expat.patch deleted file mode 100644 index 5bb571eb0f807..0000000000000 --- a/recipes/exiv2/all/patches/0004-find-expat.patch +++ /dev/null @@ -1,15 +0,0 @@ -Ensure to use FindEXPAT.cmake instead of expat-config.cmake -(side effect of CMAKE_FIND_PACKAGE_PREFER_CONFIG ON, see https://github.com/conan-io/conan/issues/10387) -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index ec3a43f5..27bf42d3 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -42,7 +42,7 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) - message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") - else() - if (EXIV2_ENABLE_XMP) -- find_package(EXPAT REQUIRED) -+ find_package(EXPAT REQUIRED MODULE) - elseif (EXIV2_ENABLE_EXTERNAL_XMP) - find_package(XmpSdk REQUIRED) - endif () diff --git a/recipes/exiv2/config.yml b/recipes/exiv2/config.yml index 01a5aa663306e..d503f95292a28 100644 --- a/recipes/exiv2/config.yml +++ b/recipes/exiv2/config.yml @@ -1,7 +1,7 @@ versions: + "0.28.1": + folder: all "0.28.0": folder: all "0.27.5": folder: all - "0.27.4": - folder: all From e76d3dcf86f67244ee544055909997043282d36c Mon Sep 17 00:00:00 2001 From: temap Date: Thu, 14 Dec 2023 12:38:07 +0200 Subject: [PATCH 3010/4087] (#21706) readline: add version 8.2 --- recipes/readline/all/conandata.yml | 3 +++ recipes/readline/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/readline/all/conandata.yml b/recipes/readline/all/conandata.yml index 08a67ab543d70..e8d782e286b8b 100644 --- a/recipes/readline/all/conandata.yml +++ b/recipes/readline/all/conandata.yml @@ -5,3 +5,6 @@ sources: "8.1.2": url: "https://ftp.gnu.org/pub/gnu/readline/readline-8.1.2.tar.gz" sha256: "7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6" + "8.2": + url: "https://ftp.gnu.org/pub/gnu/readline/readline-8.2.tar.gz" + sha256: "3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" diff --git a/recipes/readline/config.yml b/recipes/readline/config.yml index aafdae05d7dc8..2aedc51249c31 100644 --- a/recipes/readline/config.yml +++ b/recipes/readline/config.yml @@ -3,3 +3,5 @@ versions: folder: "all" "8.1.2": folder: "all" + "8.2": + folder: "all" From 9ce9c5eb129374c929fe6de2a2ee7f0a60555c62 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Dec 2023 19:58:34 +0900 Subject: [PATCH 3011/4087] (#21724) jwt-cpp: add version 0.7.0 * jwt-cpp: add version 0.7.0 * define NOMINMAX on MSVC --- recipes/jwt-cpp/all/conandata.yml | 7 +++++ recipes/jwt-cpp/all/conanfile.py | 28 +++++++++---------- .../jwt-cpp/all/test_package/CMakeLists.txt | 10 ++++++- .../jwt-cpp/all/test_package/test_package.cpp | 7 ++++- .../all/test_v1_package/CMakeLists.txt | 18 ++---------- recipes/jwt-cpp/config.yml | 2 ++ 6 files changed, 40 insertions(+), 32 deletions(-) diff --git a/recipes/jwt-cpp/all/conandata.yml b/recipes/jwt-cpp/all/conandata.yml index bf093248fb260..e8a69c12dceae 100644 --- a/recipes/jwt-cpp/all/conandata.yml +++ b/recipes/jwt-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/Thalhammer/jwt-cpp/archive/v0.7.0.tar.gz" + sha256: "b9eb270e3ba8221e4b2bc38723c9a1cb4fa6c241a42908b9a334daff31137406" "0.6.0": url: "https://github.com/Thalhammer/jwt-cpp/archive/v0.6.0.tar.gz" sha256: "0227bd6e0356b211341075c7997c837f0b388c01379bd256aa525566a5553f03" @@ -15,6 +18,10 @@ sources: url: "https://github.com/Thalhammer/jwt-cpp/archive/v0.3.1.tar.gz" sha256: "399345e81883f2959df658cd945de39548ddfefdab2acf7b23ee07b9e9a02938" patches: + "0.7.0": + - patch_file: "patches/0005-fix-picojson-header-location-for-conan.patch" + patch_description: "Remove picojson namespace from its include" + patch_type: "conan" "0.6.0": - patch_file: "patches/0005-fix-picojson-header-location-for-conan.patch" patch_description: "Remove picojson namespace from its include" diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index 5a0889c19e2e1..9d87ec3c326fb 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -8,10 +8,10 @@ class JwtCppConan(ConanFile): name = "jwt-cpp" + description = "A C++ JSON Web Token library for encoding/decoding" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Thalhammer/jwt-cpp" - description = "A C++ JSON Web Token library for encoding/decoding" topics = ("json", "jwt", "jws", "jwe", "jwk", "jwks", "jose", "header-only") settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,18 +23,21 @@ def _supports_generic_json(self): def export_sources(self): export_conandata_patches(self) + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("openssl/[>=1.1 <4]") if not self._supports_generic_json: self.requires("picojson/1.3.0") + def package_id(self): + self.info.clear() + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - def layout(self): - basic_layout(self, src_folder="src") - def build(self): apply_conandata_patches(self) @@ -43,21 +46,16 @@ def package(self): copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include", "jwt-cpp"), src=header_dir, keep_path=True) copy(self, "LICENSE", dst=os.path.join(self.package_folder,"licenses"), src=self.source_folder) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "jwt-cpp") self.cpp_info.set_property("cmake_target_name", "jwt-cpp::jwt-cpp") - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "jwt-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "jwt-cpp" - if self._supports_generic_json: self.cpp_info.defines.append("JWT_DISABLE_PICOJSON") - self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] - self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.names["cmake_find_package"] = "jwt-cpp" + self.cpp_info.names["cmake_find_package_multi"] = "jwt-cpp" diff --git a/recipes/jwt-cpp/all/test_package/CMakeLists.txt b/recipes/jwt-cpp/all/test_package/CMakeLists.txt index 020cb1aab4c7d..123d03753d8a0 100644 --- a/recipes/jwt-cpp/all/test_package/CMakeLists.txt +++ b/recipes/jwt-cpp/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(jwt-cpp REQUIRED CONFIG) find_package(picojson REQUIRED CONFIG) @@ -8,6 +8,10 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jwt-cpp::jwt-cpp picojson::picojson) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if (MSVC) + target_compile_definitions(${PROJECT_NAME} PRIVATE NOMINMAX) +endif() + if (jwt-cpp_VERSION VERSION_GREATER 0.4.0) target_compile_definitions(${PROJECT_NAME} PRIVATE JSON_TRAITS_NEEDED) endif() @@ -15,3 +19,7 @@ endif() if (jwt-cpp_VERSION VERSION_GREATER_EQUAL 0.6.0) target_compile_definitions(${PROJECT_NAME} PRIVATE HAS_DEFAULT_TRAITS) endif() + +if (jwt-cpp_VERSION VERSION_GREATER_EQUAL 0.7.0) + target_compile_definitions(${PROJECT_NAME} PRIVATE GET_PAYLOAD_JSON) +endif() diff --git a/recipes/jwt-cpp/all/test_package/test_package.cpp b/recipes/jwt-cpp/all/test_package/test_package.cpp index a7af84c85dc7c..64275af84bffa 100644 --- a/recipes/jwt-cpp/all/test_package/test_package.cpp +++ b/recipes/jwt-cpp/all/test_package/test_package.cpp @@ -18,8 +18,13 @@ int main() { .sign(jwt::algorithm::hs256{"secret"}); auto decoded = jwt::decode(token); - for(auto& e : decoded.get_payload_claims()) +#ifdef GET_PAYLOAD_JSON + for(auto& e : decoded.get_payload_json()) + std::cout << e.first << " = " << e.second << std::endl; +#else + for(auto& e : decoded.get_payload_claims()) std::cout << e.first << " = " << e.second.to_json() << std::endl; +#endif auto verifier = jwt::verify() .allow_algorithm(jwt::algorithm::hs256{"secret"}) diff --git a/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt b/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt index d58f9a64ba28e..84b1906ecf746 100644 --- a/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt +++ b/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt @@ -1,20 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package) include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") conan_basic_setup(TARGETS) -find_package(jwt-cpp REQUIRED CONFIG) -find_package(picojson REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE jwt-cpp::jwt-cpp picojson::picojson) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) - -if (jwt-cpp_VERSION VERSION_GREATER 0.4.0) - target_compile_definitions(${PROJECT_NAME} PRIVATE JSON_TRAITS_NEEDED) -endif() - -if (jwt-cpp_VERSION VERSION_GREATER_EQUAL 0.6.0) - target_compile_definitions(${PROJECT_NAME} PRIVATE HAS_DEFAULT_TRAITS) -endif() +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jwt-cpp/config.yml b/recipes/jwt-cpp/config.yml index 49536ba2e770d..ebed14e0108cb 100644 --- a/recipes/jwt-cpp/config.yml +++ b/recipes/jwt-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.5.1": From f8a219bbf0ad0d0fc7ab140c695f05e0fae2bc14 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Dec 2023 20:20:22 +0900 Subject: [PATCH 3012/4087] (#21733) etl: add version 20.38.10 --- recipes/etl/all/conandata.yml | 3 +++ recipes/etl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index 279507cf9ffbe..74e149bfbcab5 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.38.10": + url: "https://github.com/ETLCPP/etl/archive/20.38.10.tar.gz" + sha256: "562f9b5d9e6786350b09d87be9c5f030073e34d7bf0a975de3e91476ddd471a3" "20.38.7": url: "https://github.com/ETLCPP/etl/archive/20.38.7.tar.gz" sha256: "65cfc033bacab452af05a36bd53b8cdc2bdfd1492b2adc5bb51d2f00e451491f" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 6e14699582a88..57618035ca09f 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.10": + folder: all "20.38.7": folder: all "20.38.6": From d57266c3ad9eb3dbda6e369df33a0daa764a39c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:42:48 +0100 Subject: [PATCH 3013/4087] (#17338) coin-lemon: allow to consume coin-lemon with C++20 or higher * allow to consume coin-lemon with C++20 or higher * allow C++20 without dropping C++98 support --- recipes/coin-lemon/all/conandata.yml | 11 +- ... 0001-cmake-add-runtime-destination.patch} | 0 ...pp17-compat-remove-register-keyword.patch} | 0 .../all/patches/0003-cpp20-compat-alloc.patch | 199 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 3 +- 5 files changed, 209 insertions(+), 4 deletions(-) rename recipes/coin-lemon/all/patches/{cmake-add-runtime-destination_1.3.1.patch => 0001-cmake-add-runtime-destination.patch} (100%) rename recipes/coin-lemon/all/patches/{0001-remove-register-keyword.patch => 0002-cpp17-compat-remove-register-keyword.patch} (100%) create mode 100644 recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch diff --git a/recipes/coin-lemon/all/conandata.yml b/recipes/coin-lemon/all/conandata.yml index f00f950c896c3..9db91250ca346 100644 --- a/recipes/coin-lemon/all/conandata.yml +++ b/recipes/coin-lemon/all/conandata.yml @@ -4,5 +4,12 @@ sources: sha256: "71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8" patches: "1.3.1": - - patch_file: "patches/cmake-add-runtime-destination_1.3.1.patch" - - patch_file: "patches/0001-remove-register-keyword.patch" + - patch_file: "patches/0001-cmake-add-runtime-destination.patch" + patch_description: "Fix install destination of dll" + patch_type: "conan" + - patch_file: "patches/0002-cpp17-compat-remove-register-keyword.patch" + patch_description: "C++17 compatibility: remove register keyword" + patch_type: "portability" + - patch_file: "patches/0003-cpp20-compat-alloc.patch" + patch_description: "C++20 compatibility: remove usage of std::allocator::construct & destroy" + patch_type: "portability" diff --git a/recipes/coin-lemon/all/patches/cmake-add-runtime-destination_1.3.1.patch b/recipes/coin-lemon/all/patches/0001-cmake-add-runtime-destination.patch similarity index 100% rename from recipes/coin-lemon/all/patches/cmake-add-runtime-destination_1.3.1.patch rename to recipes/coin-lemon/all/patches/0001-cmake-add-runtime-destination.patch diff --git a/recipes/coin-lemon/all/patches/0001-remove-register-keyword.patch b/recipes/coin-lemon/all/patches/0002-cpp17-compat-remove-register-keyword.patch similarity index 100% rename from recipes/coin-lemon/all/patches/0001-remove-register-keyword.patch rename to recipes/coin-lemon/all/patches/0002-cpp17-compat-remove-register-keyword.patch diff --git a/recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch b/recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch new file mode 100644 index 0000000000000..9aa9db47a396b --- /dev/null +++ b/recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch @@ -0,0 +1,199 @@ +--- a/lemon/bits/array_map.h ++++ b/lemon/bits/array_map.h +@@ -88,7 +88,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + } + +@@ -102,7 +106,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), value); ++#else + allocator.construct(&(values[id]), value); ++#endif + } + } + +@@ -121,7 +129,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), copy.values[id]); ++#else + allocator.construct(&(values[id]), copy.values[id]); ++#endif + } + } + +@@ -218,15 +230,24 @@ namespace lemon { + for (nf->first(it); it != INVALID; nf->next(it)) { + int jd = nf->id(it);; + if (id != jd) { ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(new_values[jd]), values[jd]); ++ std::allocator_traits::destroy(allocator, &(values[jd])); ++#else + allocator.construct(&(new_values[jd]), values[jd]); + allocator.destroy(&(values[jd])); ++#endif + } + } + if (capacity != 0) allocator.deallocate(values, capacity); + values = new_values; + capacity = new_capacity; + } ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + + // \brief Adds more new keys to the map. +@@ -260,8 +281,13 @@ namespace lemon { + } + } + if (found) continue; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(new_values[id]), values[id]); ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.construct(&(new_values[id]), values[id]); + allocator.destroy(&(values[id])); ++#endif + } + if (capacity != 0) allocator.deallocate(values, capacity); + values = new_values; +@@ -269,7 +295,11 @@ namespace lemon { + } + for (int i = 0; i < int(keys.size()); ++i) { + int id = nf->id(keys[i]); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + } + +@@ -279,7 +309,11 @@ namespace lemon { + // and it overrides the erase() member function of the observer base. + virtual void erase(const Key& key) { + int id = Parent::notifier()->id(key); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.destroy(&(values[id])); ++#endif + } + + // \brief Erase more keys from the map. +@@ -289,7 +323,11 @@ namespace lemon { + virtual void erase(const std::vector& keys) { + for (int i = 0; i < int(keys.size()); ++i) { + int id = Parent::notifier()->id(keys[i]); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.destroy(&(values[id])); ++#endif + } + } + +@@ -303,7 +341,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + } + +@@ -317,7 +359,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.destroy(&(values[id])); ++#endif + } + allocator.deallocate(values, capacity); + capacity = 0; +--- a/lemon/path.h ++++ b/lemon/path.h +@@ -582,7 +582,11 @@ namespace lemon { + void clear() { + while (first != 0) { + last = first->next; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::destroy(alloc, first); ++#else + alloc.destroy(first); ++#endif + alloc.deallocate(first, 1); + first = last; + } +@@ -596,7 +600,11 @@ namespace lemon { + /// \brief Add a new arc before the current path + void addFront(const Arc& arc) { + Node *node = alloc.allocate(1); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::construct(alloc, node, Node()); ++#else + alloc.construct(node, Node()); ++#endif + node->prev = 0; + node->next = first; + node->arc = arc; +@@ -617,7 +625,11 @@ namespace lemon { + } else { + last = 0; + } ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::destroy(alloc, node); ++#else + alloc.destroy(node); ++#endif + alloc.deallocate(node, 1); + } + +@@ -629,7 +641,11 @@ namespace lemon { + /// \brief Add a new arc behind the current path. + void addBack(const Arc& arc) { + Node *node = alloc.allocate(1); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::construct(alloc, node, Node()); ++#else + alloc.construct(node, Node()); ++#endif + node->next = 0; + node->prev = last; + node->arc = arc; +@@ -650,7 +666,11 @@ namespace lemon { + } else { + first = 0; + } ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::destroy(alloc, node); ++#else + alloc.destroy(node); ++#endif + alloc.deallocate(node, 1); + } + diff --git a/recipes/coin-lemon/all/test_package/CMakeLists.txt b/recipes/coin-lemon/all/test_package/CMakeLists.txt index 5343530b3b283..2230f5888e397 100644 --- a/recipes/coin-lemon/all/test_package/CMakeLists.txt +++ b/recipes/coin-lemon/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES CXX) find_package(LEMON CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE LEMON::LEMON) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) From 36ce780733aa968a913565eb9a2062436ed4da20 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 17 Dec 2023 16:27:28 +0200 Subject: [PATCH 3014/4087] (#21654) mbedtls: add version 3.5.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/mbedtls/all/conandata.yml | 3 +++ recipes/mbedtls/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index ea482e12f5ff1..6768571f77c35 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.1.tar.gz" + sha256: "0da345cda55ec6f6d71afa84cfae55632a16ba0b8b4644f4d0e8a32c9d1117b0" "3.5.0": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.5.0.tar.gz" sha256: "bdee0e3e45bbf360541306cac0cc27e00402c7a46b9bdf2d24787d5107f008f2" diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 004f51becf1f5..292e2461de0ef 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: all "3.5.0": folder: all "3.4.1": From d82ea7fafb6fb9c37ebd90c8442c4583c2170672 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 17 Dec 2023 23:47:54 +0900 Subject: [PATCH 3015/4087] (#21778) fast_float: add version 6.0.0 --- recipes/fast_float/all/conandata.yml | 3 +++ recipes/fast_float/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index c4a46f9c557aa..291d202302e37 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0.0": + url: "https://github.com/fastfloat/fast_float/archive/v6.0.0.tar.gz" + sha256: "7e98671ef4cc7ed7f44b3b13f80156c8d2d9244fac55deace28bd05b0a2c7c8e" "5.3.0": url: "https://github.com/fastfloat/fast_float/archive/v5.3.0.tar.gz" sha256: "2f3bc50670455534dcaedc9dcd0517b71152f319d0cec8625f21c51d23eaf4b9" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 92a05dc14b869..4e03f0967676d 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "6.0.0": + folder: all "5.3.0": folder: all "5.2.0": From 77acb72e142a7e5edefd6cf992d08ea7b062b2d1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 00:08:36 +0900 Subject: [PATCH 3016/4087] (#21779) valijson: add version 1.0.2 --- recipes/valijson/all/conandata.yml | 3 +++ recipes/valijson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/valijson/all/conandata.yml b/recipes/valijson/all/conandata.yml index 60d1924df1916..9c69d92d45720 100644 --- a/recipes/valijson/all/conandata.yml +++ b/recipes/valijson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.2": + url: "https://github.com/tristanpenman/valijson/archive/v1.0.2.tar.gz" + sha256: "35d86e54fc727f1265226434dc996e33000a570f833537a25c8b702b0b824431" "1.0.1": url: "https://github.com/tristanpenman/valijson/archive/v1.0.1.tar.gz" sha256: "b478b82af1db1d98c2ce47de4ad28647ec66800eaf704dba8b5e785cbca1d785" diff --git a/recipes/valijson/config.yml b/recipes/valijson/config.yml index 12f40d7975787..2244034e46866 100644 --- a/recipes/valijson/config.yml +++ b/recipes/valijson/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.2": + folder: "all" "1.0.1": folder: "all" "1.0": From ce85241908ad693a76133f01c7dc400749c7bd2f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 02:59:31 +0900 Subject: [PATCH 3017/4087] (#21793) objectbox: add version 0.20.0 --- recipes/objectbox/all/conandata.yml | 9 +++++++++ recipes/objectbox/config.yml | 2 ++ 2 files changed, 11 insertions(+) diff --git a/recipes/objectbox/all/conandata.yml b/recipes/objectbox/all/conandata.yml index 6a064833981c3..b4ebf9918d7ba 100644 --- a/recipes/objectbox/all/conandata.yml +++ b/recipes/objectbox/all/conandata.yml @@ -1,4 +1,9 @@ sources: + # The release tarball is invalid, so we need to get the tarball from the v0.20.0 commit. + # https://github.com/objectbox/objectbox-c/issues/38 + "0.20.0": + url: "https://github.com/objectbox/objectbox-c/archive/7e4a5a3ed94aa486acf0737b354726b493fd204c.tar.gz" + sha256: "cb6ec8b7ceaed7963ad582c4519d06ddc887294f0893b3f9bf89e7d0789ce216" "0.19.0": url: "https://github.com/objectbox/objectbox-c/archive/v0.19.0.tar.gz" sha256: "372520a744e9ae135a309ee834e4e936058abb0630fafd70a400546109089a89" @@ -12,6 +17,10 @@ sources: url: "https://github.com/objectbox/objectbox-c/archive/refs/tags/v0.17.0.tar.gz" sha256: "3b936b3352ae0c8ea3706cc0a1790d2714a415cdce16007c2caca367ead5af8d" patches: + "0.20.0": + - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "add sync option, disable tests/examples, support max length of windows path" + patch_type: "conan" "0.19.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" diff --git a/recipes/objectbox/config.yml b/recipes/objectbox/config.yml index e6304cf62bb40..2fdec99a504b8 100644 --- a/recipes/objectbox/config.yml +++ b/recipes/objectbox/config.yml @@ -1,4 +1,6 @@ versions: + "0.20.0": + folder: all "0.19.0": folder: all "0.18.1": From 18907d7b238d7a89a1c4d33baa870acd62efd757 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 04:12:23 +0900 Subject: [PATCH 3018/4087] (#21794) scnlib: update fast_float/6.0.0 --- recipes/scnlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index 1e79fd87d6da6..3760576fb6438 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.0": - self.requires("fast_float/5.3.0") + self.requires("fast_float/6.0.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From a31bb632114a586985c65599ca0c942708de44f5 Mon Sep 17 00:00:00 2001 From: temap Date: Sun, 17 Dec 2023 21:38:19 +0200 Subject: [PATCH 3019/4087] (#21726) readline: fix build with shared ncurses --- recipes/readline/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/readline/all/conanfile.py b/recipes/readline/all/conanfile.py index 52881bbd4d54a..0c46be5b31c24 100644 --- a/recipes/readline/all/conanfile.py +++ b/recipes/readline/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.with_library == "termcap": self.requires("termcap/1.3.1") elif self.options.with_library == "curses": - self.requires("ncurses/6.4") + self.requires("ncurses/6.4", transitive_headers=True, transitive_libs=True) def configure(self): if self.options.shared: @@ -74,9 +74,10 @@ def generate(self): deps.generate() def _patch_sources(self): - replace_in_file(self, os.path.join(self.source_folder, "shlib", "Makefile.in"), "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS)", + if self.options.with_library == "termcap": + replace_in_file(self, os.path.join(self.source_folder, "shlib", "Makefile.in"), "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS)", "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS) -ltermcap") - replace_in_file(self, os.path.join(self.source_folder, "Makefile.in"), "@TERMCAP_LIB@", "-ltermcap") + replace_in_file(self, os.path.join(self.source_folder, "Makefile.in"), "@TERMCAP_LIB@", "-ltermcap") def build(self): self._patch_sources() From 9c1c5d821a3b548f5061c41514bcce827c899a7f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 17 Dec 2023 20:58:36 +0100 Subject: [PATCH 3020/4087] (#21773) wayland/all: bump deps * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland/all/conanfile.py | 4 ++-- recipes/wayland/all/test_package/conanfile.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 7e341eb9914d7..d23bcb66ab8ee 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") self.requires("expat/2.5.0") def validate(self): @@ -60,7 +60,7 @@ def validate(self): def build_requirements(self): self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if cross_building(self): self.tool_requires(str(self.ref)) diff --git a/recipes/wayland/all/test_package/conanfile.py b/recipes/wayland/all/test_package/conanfile.py index e9a83534cede7..ad22b7b8367de 100644 --- a/recipes/wayland/all/test_package/conanfile.py +++ b/recipes/wayland/all/test_package/conanfile.py @@ -21,7 +21,7 @@ def requirements(self): def build_requirements(self): self.tool_requires(self.tested_reference_str) if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def layout(self): cmake_layout(self) From d76c639ae22de3d1dde2a30a0dadc441bf400783 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 17 Dec 2023 21:18:23 +0100 Subject: [PATCH 3021/4087] (#21777) libdrm/all: bump deps * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libdrm/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libdrm/all/conanfile.py b/recipes/libdrm/all/conanfile.py index 9fc352be86811..af355e6b5b875 100644 --- a/recipes/libdrm/all/conanfile.py +++ b/recipes/libdrm/all/conanfile.py @@ -81,16 +81,16 @@ def requirements(self): if self.options.intel: self.requires("libpciaccess/0.17") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("linux-headers-generic/5.15.128") + self.requires("linux-headers-generic/6.5.9") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("libdrm supports only Linux or FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 96163987d7e6a9a97c7b2b1a27d72969e6e7032c Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Sun, 17 Dec 2023 16:19:35 -0500 Subject: [PATCH 3022/4087] (#21797) rtm: add version 2.2.1 --- recipes/rtm/all/conandata.yml | 3 +++ recipes/rtm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rtm/all/conandata.yml b/recipes/rtm/all/conandata.yml index 97395fe668a67..41cc19013d6fa 100644 --- a/recipes/rtm/all/conandata.yml +++ b/recipes/rtm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/nfrechette/rtm/archive/v2.2.1.tar.gz" + sha256: "678989368bc9859138db00719ad9e2f82b51acb0d8da6905426e4134223cee2a" "2.2.0": url: "https://github.com/nfrechette/rtm/archive/v2.2.0.tar.gz" sha256: "e627c46de1895b78eee63612ce4e5ade3af28e040edab6ec6f6521366b4e8b9b" diff --git a/recipes/rtm/config.yml b/recipes/rtm/config.yml index 43718a82a0e63..3a396aa92fa44 100644 --- a/recipes/rtm/config.yml +++ b/recipes/rtm/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: "all" "2.2.0": folder: "all" "2.1.5": From 6d555fbefb71d18005ef93505c3abcf2b3a3af7f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 18 Dec 2023 01:08:09 +0100 Subject: [PATCH 3023/4087] (#21774) wayland-protocols/all: bump deps * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland-protocols/all/conanfile.py | 2 +- recipes/wayland-protocols/all/test_package/conanfile.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland-protocols/all/conanfile.py b/recipes/wayland-protocols/all/conanfile.py index 5888f7b0c3ad1..ad20a22df526e 100644 --- a/recipes/wayland-protocols/all/conanfile.py +++ b/recipes/wayland-protocols/all/conanfile.py @@ -27,7 +27,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/wayland-protocols/all/test_package/conanfile.py b/recipes/wayland-protocols/all/test_package/conanfile.py index 6004f71f93267..d6a32dbe0d2d5 100644 --- a/recipes/wayland-protocols/all/test_package/conanfile.py +++ b/recipes/wayland-protocols/all/test_package/conanfile.py @@ -20,9 +20,9 @@ def requirements(self): self.requires("wayland/1.22.0") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") self.tool_requires("wayland/1.22.0") def layout(self): From c38451acaa0a234a0f8ad2a1de137e3d90e4e557 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 10:30:48 +0900 Subject: [PATCH 3024/4087] (#21801) ssp: update fast_float/6.0.0 --- recipes/ssp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ssp/all/conanfile.py b/recipes/ssp/all/conanfile.py index 4df3741e9cacb..16b88f523f6b2 100644 --- a/recipes/ssp/all/conanfile.py +++ b/recipes/ssp/all/conanfile.py @@ -37,7 +37,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("fast_float/5.3.0") + self.requires("fast_float/6.0.0") def package_id(self): self.info.clear() From 00f832b93d45eaf87b74db8a87887bb25ae6e7cb Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 11:34:06 +0900 Subject: [PATCH 3025/4087] (#21800) highfive: update hdf5/1.14.3 --- recipes/highfive/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index d86d1301d6ab8..0d48c634c34c5 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -40,7 +40,7 @@ def requirements(self): if Version(self.version) < "2.5.1": self.requires("hdf5/1.14.1") else: - self.requires("hdf5/1.14.2") + self.requires("hdf5/1.14.3") if self.options.with_boost: self.requires("boost/1.83.0") if self.options.with_eigen: From f96e079bf910577d829166d0c01c92f719362ec8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 12:27:42 +0900 Subject: [PATCH 3026/4087] (#21799) c4core: update fast_float/6.0.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index 4caf7065d65d3..d0a1927baa811 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/5.3.0", transitive_headers=True) + self.requires("fast_float/6.0.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From ef9fc72cf680d658a7ca4553fda38207cd12a67f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 13:58:34 +0900 Subject: [PATCH 3027/4087] (#21780) jsoncons: add version 0.173.0 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 612bdd0c9980f..b5e73a3ea8b91 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.173.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.0.tar.gz" + sha256: "61abb5e4fbdb3ef7601b4fdc263bc806785609c47b4d7e81f8c3110bd53a9282" "0.172.1": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.1.tar.gz" sha256: "710ac7656373a118cee4ad10ecb2225d331ca5b4706a4add3a2b482b7fceef1f" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index d03c26c731d88..e0e954ddc8022 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.173.0": + folder: "all" "0.172.1": folder: "all" "0.172.0": From 52a7a6cc7f5dd53c74f7fa690b7939a88efa6d31 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 15:08:16 +0900 Subject: [PATCH 3028/4087] (#21701) asio: add version 1.29.0 --- recipes/asio/all/conandata.yml | 3 +++ recipes/asio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/asio/all/conandata.yml b/recipes/asio/all/conandata.yml index 9f0189b8cd3f0..5d0a18b1c54ce 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.29.0": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-29-0.tar.gz" + sha256: "44305859b4e6664dbbf853c1ef8ca0259d694f033753ae309fcb2534ca20f721" "1.28.2": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-2.tar.gz" sha256: "5705a0e403017eba276625107160498518838064a6dd7fd8b00b2e30c0ffbdee" diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index 7bf4410d24d45..5385ba9219644 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,4 +1,6 @@ versions: + "1.29.0": + folder: all "1.28.2": folder: all "1.28.1": From 834a741a3206910ca55b648659c14803d354b4b9 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 15:22:18 +0900 Subject: [PATCH 3029/4087] (#21802) hictk: update dependencies --- recipes/hictk/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 1951fe8bdc793..7e609444e89da 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -40,12 +40,12 @@ def layout(self): def requirements(self): self.requires("bshoshany-thread-pool/3.5.0", transitive_headers=True) - self.requires("fast_float/5.3.0", transitive_headers=True) + self.requires("fast_float/6.0.0", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) self.requires("fmt/10.1.1", transitive_headers=True) - self.requires("hdf5/1.14.1", transitive_headers=True) - self.requires("highfive/2.7.1", transitive_headers=True) + self.requires("hdf5/1.14.3", transitive_headers=True) + self.requires("highfive/2.8.0", transitive_headers=True) self.requires("libdeflate/1.19", transitive_headers=True) self.requires("parallel-hashmap/1.37", transitive_headers=True) self.requires("span-lite/0.10.3", transitive_headers=True) From 5ff3625b6cf3940055fa98e7c49e5648ab1727e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 18 Dec 2023 09:43:43 +0200 Subject: [PATCH 3030/4087] (#18681) libelfin: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libelfin: migrate to Conan v2 * libelfin: restore VirtualRunEnv in test_package * libelfin: fix v1 build * libelfin: fix patched sources not being used * libelfin: add legacy pkg_config names --------- Co-authored-by: Francisco Ramírez --- recipes/libelfin/all/CMakeLists.txt | 51 +++++------ recipes/libelfin/all/conandata.yml | 5 +- recipes/libelfin/all/conanfile.py | 84 +++++++++++-------- .../libelfin/all/test_package/CMakeLists.txt | 7 +- .../libelfin/all/test_package/conanfile.py | 25 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libelfin/all/test_v1_package/conanfile.py | 19 +++++ 7 files changed, 122 insertions(+), 77 deletions(-) create mode 100644 recipes/libelfin/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libelfin/all/test_v1_package/conanfile.py diff --git a/recipes/libelfin/all/CMakeLists.txt b/recipes/libelfin/all/CMakeLists.txt index eb2aa34b81ac8..98010e3796993 100644 --- a/recipes/libelfin/all/CMakeLists.txt +++ b/recipes/libelfin/all/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.12) project(libelfin CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -11,19 +8,21 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(PythonInterp 3 REQUIRED) -file(GLOB_RECURSE elf_sources source_subfolder/elf/*.cc) +set(src ${CMAKE_CURRENT_LIST_DIR}) + +file(GLOB_RECURSE elf_sources ${src}/elf/*.cc) set(elf_headers - source_subfolder/elf/common.hh - source_subfolder/elf/data.hh - source_subfolder/elf/elf++.hh) -file(GLOB_RECURSE dwarf_sources source_subfolder/dwarf/*.cc) + ${src}/elf/common.hh + ${src}/elf/data.hh + ${src}/elf/elf++.hh) +file(GLOB_RECURSE dwarf_sources ${src}/dwarf/*.cc) set(dwarf_headers - source_subfolder/dwarf/data.hh - source_subfolder/dwarf/dwarf++.hh - source_subfolder/dwarf/small_vector.hh) + ${src}/dwarf/data.hh + ${src}/dwarf/dwarf++.hh + ${src}/dwarf/small_vector.hh) add_custom_command( - OUTPUT source_subfolder/elf/to_string.cc + OUTPUT ${src}/elf/to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// Automatically generated' > to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// DO NOT EDIT' >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo >> to_string.cc @@ -34,11 +33,11 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E echo >> to_string.cc COMMAND ${PYTHON_EXECUTABLE} enum-print.py -u --hex --no-type --mask shf --mask pf -x loos -x hios -x loproc -x hiproc < data.hh >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo 'ELFPP_END_NAMESPACE' >> to_string.cc - DEPENDS source_subfolder/elf/enum-print.py source_subfolder/elf/data.hh - WORKING_DIRECTORY source_subfolder/elf) + DEPENDS ${src}/elf/enum-print.py ${src}/elf/data.hh + WORKING_DIRECTORY ${src}/elf) add_custom_command( - OUTPUT source_subfolder/dwarf/to_string.cc + OUTPUT ${src}/dwarf/to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// Automatically generated' > to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// DO NOT EDIT' >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo >> to_string.cc @@ -49,29 +48,23 @@ add_custom_command( COMMAND ${PYTHON_EXECUTABLE} ../elf/enum-print.py < dwarf++.hh >> to_string.cc COMMAND ${PYTHON_EXECUTABLE} ../elf/enum-print.py -s _ -u --hex -x hi_user -x lo_user < data.hh >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo 'DWARFPP_END_NAMESPACE' >> to_string.cc - DEPENDS source_subfolder/elf/enum-print.py source_subfolder/dwarf/data.hh - WORKING_DIRECTORY source_subfolder/dwarf) + DEPENDS ${src}/elf/enum-print.py ${src}/dwarf/data.hh + WORKING_DIRECTORY ${src}/dwarf) -add_library(elf++ ${elf_sources} source_subfolder/elf/to_string.cc) +add_library(elf++ ${elf_sources} ${src}/elf/to_string.cc) set_target_properties(elf++ PROPERTIES PUBLIC_HEADER "${elf_headers}" - VERSION ${CONAN_PACKAGE_VERSION}) + VERSION ${libelfin_VERSION}) -add_library(dwarf++ ${dwarf_sources} source_subfolder/dwarf/to_string.cc) +add_library(dwarf++ ${dwarf_sources} ${src}/dwarf/to_string.cc) set_target_properties(dwarf++ PROPERTIES PUBLIC_HEADER "${dwarf_headers}" - VERSION ${CONAN_PACKAGE_VERSION}) + VERSION ${libelfin_VERSION}) include(GNUInstallDirs) install(TARGETS elf++ - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libelfin/elf) install(TARGETS dwarf++ - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libelfin/dwarf) -install(FILES source_subfolder/LICENSE DESTINATION licenses) +install(FILES ${src}/LICENSE DESTINATION licenses) diff --git a/recipes/libelfin/all/conandata.yml b/recipes/libelfin/all/conandata.yml index e1b6341e83185..c74c8954691d8 100644 --- a/recipes/libelfin/all/conandata.yml +++ b/recipes/libelfin/all/conandata.yml @@ -5,7 +5,6 @@ sources: patches: "0.3": - patch_file: "patches/commit-9d0db16d0a0b3c4f8aaa60a3e4dab295df34b6b2.patch" - base_path: "source_subfolder" - patch_file: "patches/const-fix.patch" - base_path: "source_subfolder" - # patch_source: https://github.com/aclements/libelfin/pull/54 + patch_source: "https://github.com/aclements/libelfin/pull/54" + patch_type: "bugfix" diff --git a/recipes/libelfin/all/conanfile.py b/recipes/libelfin/all/conanfile.py index d53acbbfd0abe..852c1494c8a65 100644 --- a/recipes/libelfin/all/conanfile.py +++ b/recipes/libelfin/all/conanfile.py @@ -1,64 +1,82 @@ -import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class LibelfinConan(ConanFile): name = "libelfin" description = "C++11 library for reading ELF binaries and DWARFv4 debug information" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/aclements/libelfin" - license = "MIT" - topics = ("conan", "elf", "dwarf", "libelfin") + topics = ("elf", "dwarf") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - exports_sources = "CMakeLists.txt", "patches/*" - generators = "cmake" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - _cmake = None - _source_subfolder = "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.compiler == "Visual Studio": - raise ConanInvalidConfiguration("libelfin doesn't support compiler: {} on OS: {}.". - format(self.settings.compiler, self.settings.os)) if self.options.shared: - del self.options.fPIC - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if is_msvc(self): + raise ConanInvalidConfiguration(f"libelfin doesn't support compiler: {self.settings.compiler}.") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["libelfin_VERSION"] = self.version + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + copy(self, "CMakeLists.txt", src=self.export_sources_folder, dst=self.source_folder) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.components["libelf++"].names["pkg_config"] = "libelf++" + self.cpp_info.components["libelf++"].set_property("pkg_config_name", "libelf++") self.cpp_info.components["libelf++"].libs = ["elf++"] - self.cpp_info.components["libdwarf++"].names["pkg_config"] = "libdwarf++" + self.cpp_info.components["libdwarf++"].set_property("pkg_config_name", "libdwarf++") self.cpp_info.components["libdwarf++"].libs = ["dwarf++"] self.cpp_info.components["libdwarf++"].requires = ["libelf++"] + + # TODO: Legacy, to be removed on Conan 2.0 + self.cpp_info.components["libelf++"].names["pkg_config"] = "libelf++" + self.cpp_info.components["libdwarf++"].names["pkg_config"] = "libdwarf++" diff --git a/recipes/libelfin/all/test_package/CMakeLists.txt b/recipes/libelfin/all/test_package/CMakeLists.txt index 36df85d833b7f..3d1d60bfa1834 100644 --- a/recipes/libelfin/all/test_package/CMakeLists.txt +++ b/recipes/libelfin/all/test_package/CMakeLists.txt @@ -1,11 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libelfin REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libelfin::libelfin) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) diff --git a/recipes/libelfin/all/test_package/conanfile.py b/recipes/libelfin/all/test_package/conanfile.py index e2a48eb337ec0..c2a19b9121acf 100644 --- a/recipes/libelfin/all/test_package/conanfile.py +++ b/recipes/libelfin/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,8 +22,7 @@ def build(self): cmake.build() def test(self): - if tools.cross_building(self.settings): - return - bin_path = os.path.join("bin", "test_package") - elf_path = os.path.join(self.source_folder, "hello") - self.run("{} {}".format(bin_path, elf_path), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + elf_path = os.path.join(self.source_folder, "hello") + self.run(f"{bin_path} {elf_path}", env="conanrun") diff --git a/recipes/libelfin/all/test_v1_package/CMakeLists.txt b/recipes/libelfin/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libelfin/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libelfin/all/test_v1_package/conanfile.py b/recipes/libelfin/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fe9ecdf1845cc --- /dev/null +++ b/recipes/libelfin/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if tools.cross_building(self.settings): + return + bin_path = os.path.join("bin", "test_package") + elf_path = os.path.join(self.source_folder, os.pardir, "test_package", "hello") + self.run(f"{bin_path} {elf_path}", run_environment=True) From 2648f71a901b4477dc6df28c05ba9e46ae7c3ce9 Mon Sep 17 00:00:00 2001 From: Theo Martin Date: Mon, 18 Dec 2023 15:27:29 +0100 Subject: [PATCH 3031/4087] (#20326) update kickcat to v2.0-rc1 Co-authored-by: Theo --- recipes/kickcat/all/conandata.yml | 7 +++++-- recipes/kickcat/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/kickcat/all/conandata.yml b/recipes/kickcat/all/conandata.yml index f0a390ebfac91..26db9ceb70f4e 100644 --- a/recipes/kickcat/all/conandata.yml +++ b/recipes/kickcat/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "v2.0-rc1": + url: "https://github.com/leducp/KickCAT/archive/refs/tags/v2.0-rc1.zip" + sha256: "3feec08fd2718d286a041cb83266479840f7739c1203b4450375ea1f59f234c8" "v2-alpha4": - url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha4.zip" + url: "https://github.com/leducp/KickCAT/archive/refs/tags/v2-alpha4.zip" sha256: "483a374f77808cb35823652eb37c5ab864a3f12a1c3a957d3315c319ca0ec528" "v2-alpha3": - url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha3.zip" + url: "https://github.com/leducp/KickCAT/archive/refs/tags/v2-alpha3.zip" sha256: "dadd8518c3232162b7455fdcd837578120ece5a42c3bc2701147a68cbee60da4" diff --git a/recipes/kickcat/config.yml b/recipes/kickcat/config.yml index e031f21fd364a..8eaf698f74187 100644 --- a/recipes/kickcat/config.yml +++ b/recipes/kickcat/config.yml @@ -1,4 +1,6 @@ versions: + "v2.0-rc1": + folder: all "v2-alpha4": folder: all "v2-alpha3": From 046196b1fc55bed67ebcb37cc9ccbbff8e6622a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20Kl=C3=B6ckner?= Date: Mon, 18 Dec 2023 16:08:21 +0100 Subject: [PATCH 3032/4087] (#21019) whisper-cpp: add version 1.4.3 * whisper-cpp: add version 1.4.3 * whisper-cpp: add options for metal * whisper-cpp: delete metal options for older versions --- recipes/whisper-cpp/all/conandata.yml | 3 +++ recipes/whisper-cpp/all/conanfile.py | 18 +++++++++++++----- recipes/whisper-cpp/config.yml | 2 ++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/whisper-cpp/all/conandata.yml b/recipes/whisper-cpp/all/conandata.yml index 8d22eb9400cec..7514fc59eab2f 100644 --- a/recipes/whisper-cpp/all/conandata.yml +++ b/recipes/whisper-cpp/all/conandata.yml @@ -5,6 +5,9 @@ sources: "1.4.2": url: "https://github.com/ggerganov/whisper.cpp/archive/a5defbc1b98bea0f070331ce1e8b62d947b0443d.tar.gz" sha256: "6dd0690b084269b22b1b749103b047e6d45d7b910d7bc9587085ce057dca5431" + "1.4.3": + url: "https://github.com/ggerganov/whisper.cpp/archive/6a5d195109994b865e1c92a88258ac182399eb64.tar.gz" + sha256: "5b6693c314ae6fb362c13d02357a18099ab0ba03abc07c21f2e8c32b42b7b07e" patches: "1.4.2": - patch_file: "patches/1.4.2-0001-find_package_openblas.patch" diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py index bb939dac3e50e..629ef7bb98046 100644 --- a/recipes/whisper-cpp/all/conanfile.py +++ b/recipes/whisper-cpp/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.scm import Version @@ -22,13 +22,13 @@ class WhisperCppConan(ConanFile): options = {"shared": [True, False], "fPIC": [True, False], "sanitize_thread": [True, False], "sanitize_address": [True, False], "sanitize_undefined": [True, False], "no_avx": [True, False], "no_avx2": [True, False], "no_fma": [True, False], "no_f16c": [True, False], - "no_accelerate": [True, False], "with_coreml": [True, False], "coreml_allow_fallback": [True, False], - "with_blas": [True, False]} + "no_accelerate": [True, False], "metal": [True, False], "metal_ndebug": [True, False], + "with_coreml": [True, False], "coreml_allow_fallback": [True, False], "with_blas": [True, False]} default_options = {"shared": False, "fPIC": True, "sanitize_thread": False, "sanitize_address": False, "sanitize_undefined": False, "no_avx": False, "no_avx2": False, "no_fma": False, "no_f16c": False, - "no_accelerate": False, "with_coreml": False, "coreml_allow_fallback": False, - "with_blas": False} + "no_accelerate": False, "metal": False, "metal_ndebug": False, + "with_coreml": False, "coreml_allow_fallback": False, "with_blas": False} package_type = "library" @property @@ -58,6 +58,10 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.4.3": + del self.options.metal + del self.options.metal_ndebug + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -117,6 +121,10 @@ def generate(self): if is_apple_os(self): if self.options.no_accelerate: tc.variables["WHISPER_NO_ACCELERATE"] = True + if not self.options.get_safe("metal"): + tc.variables["WHISPER_METAL"] = False + if self.options.get_safe("metal_ndebug"): + tc.variables["WHISPER_METAL_NDEBUG"] = True if self.options.with_coreml: tc.variables["WHISPER_COREML"] = True if self.options.coreml_allow_fallback: diff --git a/recipes/whisper-cpp/config.yml b/recipes/whisper-cpp/config.yml index df53037008d38..ab276865b774a 100644 --- a/recipes/whisper-cpp/config.yml +++ b/recipes/whisper-cpp/config.yml @@ -3,3 +3,5 @@ versions: folder: "all" "1.4.2": folder: "all" + "1.4.3": + folder: "all" From 5f86889a74f87843bad3877043eab87bab3ba7e6 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 01:48:45 +0900 Subject: [PATCH 3033/4087] (#21786) roaring: add version 2.1.0 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index d4d90409ecc54..ec4f98fdaba4d 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.0.tar.gz" + sha256: "75e2c106bf3c035f92560017b56b01602744b643a3fef08d69255c138c6c6f5c" "2.0.4": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.0.4.tar.gz" sha256: "3c962c196ba28abf2639067f2e2fd25879744ba98152a4e0e74556ca515eda33" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index e36bb7126c070..8cf27c6a95cb1 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.4": folder: all "2.0.2": From d1da991b042542b82ebfc4b7bd68642e47827a08 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 05:08:04 +0900 Subject: [PATCH 3034/4087] (#21677) bzip3: add version 1.4.0 --- recipes/bzip3/all/conandata.yml | 3 +++ recipes/bzip3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/bzip3/all/conandata.yml b/recipes/bzip3/all/conandata.yml index 464608d61d50a..47c1259bdc988 100644 --- a/recipes/bzip3/all/conandata.yml +++ b/recipes/bzip3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/kspalaiologos/bzip3/releases/download/1.4.0/bzip3-1.4.0.tar.xz" + sha256: "516489784351abe027dc8b4bcad74d12937c5668d317e27de8c5cebc4d7884dc" "1.3.2": url: "https://github.com/kspalaiologos/bzip3/releases/download/1.3.2/bzip3-1.3.2.tar.xz" sha256: "b1d04b8b1b89a3c490cf2b89ea8cee1281584b07f25276fcfd8d40ec2c488e94" diff --git a/recipes/bzip3/config.yml b/recipes/bzip3/config.yml index b6e0a161eb7bf..75a3fe45d3d11 100644 --- a/recipes/bzip3/config.yml +++ b/recipes/bzip3/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.2": folder: all "1.3.1": From 11cda087941bfb6c83f1b5e91fe4c44adf52eb36 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 05:28:26 +0900 Subject: [PATCH 3035/4087] (#21809) quill: add version 3.6.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 2eb1a4d7bd925..b6e754cda2c2e 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.0": + url: "https://github.com/odygrd/quill/archive/v3.6.0.tar.gz" + sha256: "ba9dc3df262f2e65c57904580cc8407eba9a462001340c17bab7ae1dccddb4bd" "3.5.1": url: "https://github.com/odygrd/quill/archive/v3.5.1.tar.gz" sha256: "9fa4ebe594c66ce2a409630c304724fa7a2ada0d842ba9c9aaf05f0a90b461f9" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index bca90bfdc7c02..3aa843c1a29c6 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.0": + folder: "all" "3.5.1": folder: "all" "3.5.0": From 92f84dcccb05d39ec83e38e6787fab070266816c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 18 Dec 2023 23:01:51 +0000 Subject: [PATCH 3036/4087] (#21810) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index d212e2154e11f..95743fcd62579 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -47,6 +47,7 @@ required_for_references: - asio - asio-grpc - asmjit +- asn1c - assimp - astc-codec - astro-informatics-so3 @@ -270,11 +271,13 @@ required_for_references: - debug_assert - decimal_for_cpp - deco +- dependencies - detools - dfp - di - dice-template-library - dime +- directshowbaseclasses - directx-headers - dirent - discount @@ -620,6 +623,7 @@ required_for_references: - libdxfrw - libe57format - libelf +- libelfin - libenvpp - libepoxy - libev @@ -1046,6 +1050,7 @@ required_for_references: - poshlib - pprint - pranav-csv2 +- premake - pretty-name - procxx-boost-ext-simd - proj @@ -1246,6 +1251,7 @@ required_for_references: - taocpp-sequences - taocpp-taopq - taocpp-tuple +- tar - taskflow - taywee-args - tcb-span From 30d7b032ae10fece33036c9317928fb5bac63858 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 10:15:54 +0900 Subject: [PATCH 3037/4087] (#21811) unordered_dense: add version 4.3.0 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index cb46afb843f82..68524cf6fdc7c 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.0": + url: "https://github.com/martinus/unordered_dense/archive/v4.3.0.tar.gz" + sha256: "c8ffaf5277dd5c29871cc6359af7823c8137158d47511dd00c8193af84906b9c" "4.1.2": url: "https://github.com/martinus/unordered_dense/archive/v4.1.2.tar.gz" sha256: "300410dbcd32800f83b2113dfecbdfe8cd256caa4cfeb117d646021d6e3209ae" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index ff0267b898526..dde91314b03cb 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.0": + folder: all "4.1.2": folder: all "4.1.0": From 9f3e4869df2e62392f731cc6286ed110811e942d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 17:05:34 +0900 Subject: [PATCH 3038/4087] (#21567) tinygltf: update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/tinygltf/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tinygltf/all/conanfile.py b/recipes/tinygltf/all/conanfile.py index 4f9e36874366d..b9947293a173f 100644 --- a/recipes/tinygltf/all/conanfile.py +++ b/recipes/tinygltf/all/conanfile.py @@ -34,11 +34,11 @@ def package_id(self): self.info.clear() def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") if self.options.draco: self.requires("draco/1.5.6") if self.options.stb_image or self.options.stb_image_write: - self.requires("stb/cci.20220909") + self.requires("stb/cci.20230920") def validate(self): if self.settings.compiler.get_safe("cppstd"): From bba06842a23d4e9d6b263a2f8f8d2b22c5b6671c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 18:44:38 +0900 Subject: [PATCH 3039/4087] (#21693) plf_colony: add version 7.39 --- recipes/plf_colony/all/conandata.yml | 3 +++ recipes/plf_colony/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_colony/all/conandata.yml b/recipes/plf_colony/all/conandata.yml index 7d323fe98a8c9..796a27e497755 100644 --- a/recipes/plf_colony/all/conandata.yml +++ b/recipes/plf_colony/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.39": + url: "https://github.com/mattreecebentley/plf_colony/archive/5bb011979a33ee29b4c57ee6a7813a22efc419b7.tar.gz" + sha256: "15812bbd5899d6845d9aeb38ecc6b2884e221326516496a76ebbcc2fb7c3f48b" "7.06": url: "https://github.com/mattreecebentley/plf_colony/archive/348174f0da2ea65b7a561b08412e81ce1f5e6161.tar.gz" sha256: "c6a34d08d4946f0ce54a9836b564b329afffc7ce173720282c7e2b0b57cbc484" diff --git a/recipes/plf_colony/config.yml b/recipes/plf_colony/config.yml index d7dde26d155d4..36d026c86b004 100644 --- a/recipes/plf_colony/config.yml +++ b/recipes/plf_colony/config.yml @@ -1,4 +1,6 @@ versions: + "7.39": + folder: all "7.06": folder: all "7.03": From ab62de5041845f8928069add9ff5e3576e9e22da Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 19:32:26 +0900 Subject: [PATCH 3040/4087] (#21690) kuba-zip: add version 0.3.0 --- recipes/kuba-zip/all/conandata.yml | 3 +++ recipes/kuba-zip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kuba-zip/all/conandata.yml b/recipes/kuba-zip/all/conandata.yml index 687b00ee7e238..a1cc22f7f211a 100644 --- a/recipes/kuba-zip/all/conandata.yml +++ b/recipes/kuba-zip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.0": + url: "https://github.com/kuba--/zip/archive/v0.3.0.tar.gz" + sha256: "feb70ae0fe5948b805635b3cc2f3b7f074662c481981857bc6b5896a4343fe5e" "0.2.6": url: "https://github.com/kuba--/zip/archive/v0.2.6.tar.gz" sha256: "6a00e10dc5242f614f76f1bd1d814726a41ee6e3856ef3caf7c73de0b63acf0b" diff --git a/recipes/kuba-zip/config.yml b/recipes/kuba-zip/config.yml index 7244cf3b53ff7..12742f0517b7f 100644 --- a/recipes/kuba-zip/config.yml +++ b/recipes/kuba-zip/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.0": + folder: "all" "0.2.6": folder: "all" "0.2.5": From 9e3e21281ae93bc54754f3948819cc7d897beba4 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 20:19:15 +0900 Subject: [PATCH 3041/4087] (#21639) libcurl: add version 8.5.0, add url in 8.4.0, update pem file --- recipes/libcurl/all/conandata.yml | 11 +++++++++-- recipes/libcurl/all/conanfile.py | 6 +++--- recipes/libcurl/config.yml | 2 ++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index 372042901c2cc..3a12a85c5d679 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,7 +1,14 @@ sources: + "8.5.0": + url: + - "https://curl.se/download/curl-8.5.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_5_0/curl-8.5.0.tar.xz" + sha256: "42ab8db9e20d8290a3b633e7fbb3cec15db34df65fd1015ef8ac1e4723750eeb" "8.4.0": - url: "https://curl.se/download/curl-8.4.0.tar.gz" - sha256: "816e41809c043ff285e8c0f06a75a1fa250211bbfb2dc0a037eeef39f1a9e427" + url: + - "https://curl.se/download/curl-8.4.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_4_0/curl-8.4.0.tar.xz" + sha256: "16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d" "8.2.1": url: - "https://curl.se/download/curl-8.2.1.tar.xz" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 6ad8bd967a379..d2f7a3c31bd9a 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -207,7 +207,7 @@ def build_requirements(self): else: self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.settings.os in [ "tvOS", "watchOS" ]: self.tool_requires("gnu-config/cci.20210814") if self._settings_build.os == "Windows": @@ -217,8 +217,8 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - cert_url = self.conf.get("user.libcurl.cert:url", check_type=str) or "https://curl.se/ca/cacert-2023-01-10.pem" - cert_sha256 = self.conf.get("user.libcurl.cert:sha256", check_type=str) or "fb1ecd641d0a02c01bc9036d513cb658bbda62a75e246bedbc01764560a639f0" + cert_url = self.conf.get("user.libcurl.cert:url", check_type=str) or "https://curl.se/ca/cacert-2023-08-22.pem" + cert_sha256 = self.conf.get("user.libcurl.cert:sha256", check_type=str) or "23c2469e2a568362a62eecf1b49ed90a15621e6fa30e29947ded3436422de9b9" download(self, cert_url, "cacert.pem", verify=True, sha256=cert_sha256) def generate(self): diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 3f099810578c8..8e607e7cc2a0e 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.5.0": + folder: all "8.4.0": folder: all "8.2.1": From 546807e13a134a1e4cf96e91b2a7d99bbe80f476 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 23:07:09 +0900 Subject: [PATCH 3042/4087] (#21814) xtl: add version 0.7.6 --- recipes/xtl/all/conandata.yml | 3 +++ recipes/xtl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xtl/all/conandata.yml b/recipes/xtl/all/conandata.yml index 826f7d639e616..de42ad34f303f 100644 --- a/recipes/xtl/all/conandata.yml +++ b/recipes/xtl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.6": + url: "https://github.com/xtensor-stack/xtl/archive/0.7.6.tar.gz" + sha256: "dda442dc81f390f77561913062471c39b6ef19ffc6f64d3cd12b5c4b4607c957" "0.7.5": url: "https://github.com/xtensor-stack/xtl/archive/0.7.5.tar.gz" sha256: "3286fef5fee5d58f82f7b91375cd449c819848584bae9367893501114d923cbe" diff --git a/recipes/xtl/config.yml b/recipes/xtl/config.yml index eb054d979da83..59f6a1275ac35 100644 --- a/recipes/xtl/config.yml +++ b/recipes/xtl/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.6": + folder: all "0.7.5": folder: all "0.7.4": From 79e8a4b1e867d69572985734948bdfd8dc6c8b8f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 23:28:15 +0900 Subject: [PATCH 3043/4087] (#21768) uni-algo: add version 1.2.0 --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index 0aedc7a70319b..8d8acc924ed24 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/uni-algo/uni-algo/archive/v1.2.0.tar.gz" + sha256: "f2a1539cd8635bc6088d05144a73ecfe7b4d74ee0361fabed6f87f9f19e74ca9" "1.1.0": url: "https://github.com/uni-algo/uni-algo/archive/v1.1.0.tar.gz" sha256: "f9aa30df9766fbbc7007b206c6db122313194e75b159dc222cddce016372d2de" diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index aabd23fca0e2d..53399e9671402 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From f89d800e5d4eb8d42af1560bf2cc28ac894428f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 19 Dec 2023 15:49:15 +0100 Subject: [PATCH 3044/4087] (#21813) arrow: add version 14.0.2 --- recipes/arrow/all/conandata.yml | 3 +++ recipes/arrow/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index 3da635cfb0382..4edf7cbfb21e7 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "14.0.2": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.2/apache-arrow-14.0.2.tar.gz?action=download" + sha256: "1304dedb41896008b89fe0738c71a95d9b81752efc77fa70f264cb1da15d9bc2" "14.0.1": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.1/apache-arrow-14.0.1.tar.gz?action=download" sha256: "5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e" diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index b4c3d901fea57..c3c169ecfec73 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "14.0.2": + folder: all "14.0.1": folder: all "14.0.0": From 64319d78ece57ac59afab1f19b1f7ee2b45a8458 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Dec 2023 10:09:27 +0900 Subject: [PATCH 3045/4087] (#21789) uwebsockets: add version 20.49.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index c36f9118f3072..2c922cffaec96 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.49.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.49.0.tar.gz" + sha256: "c596d6f63554a42397a86233aaa47883db1cad2a231ad8608dbaea165c0910b5" "20.48.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.48.0.tar.gz" sha256: "d7455bbbf9829b3960d0478dd36ed0eba82847c4fc801416aaf89ccb7f4dfb85" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 22cf3f5b226bf..d714e6b31716a 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.49.0": + folder: all "20.48.0": folder: all "20.47.0": From 0eabe76e607ac7e3116d6567f738747eb6e9474e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Dec 2023 10:25:58 +0900 Subject: [PATCH 3046/4087] (#21769) s2n: add version 1.4.0 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 8805728159ae7..7cf47057ff944 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.0.tar.gz" + sha256: "3f786cb2f35e0551e120e1747e7b510a8228cd852073afa241313939672046cb" "1.3.56": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.56.tar.gz" sha256: "5d7bab81357a564453bc453469b4ae02936f1f35225ad297b8d846d2ecdda521" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 541cd4177faf3..08d9c1cf6b54d 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.56": folder: all "1.3.55": From 65f566ec6828512ecddec5639aed87f51ce60f2c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 20 Dec 2023 09:27:07 +0100 Subject: [PATCH 3047/4087] (#21821) xkbcommon: partial bump --- recipes/xkbcommon/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 0de07aab1e6af..432d7eeef8795 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,21 +65,21 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if not self._has_build_profile: - self.requires("wayland-protocols/1.31") + self.requires("wayland-protocols/1.32") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._has_build_profile and self.options.get_safe("with_wayland"): self.tool_requires("wayland/") self.tool_requires("wayland-protocols/1.31") From d34e4a1870cd0790a3ee791936ab7fee7d24f0ed Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 20 Dec 2023 17:29:17 +0200 Subject: [PATCH 3048/4087] [config] Change configurations to amrv8 arch for Macos build profiles (#21826) --- .c3i/config_v1.yml | 11 +++-------- .c3i/config_v2.yml | 7 ++----- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index bb61be1f4e1b0..6fd58a85275b0 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -75,7 +75,6 @@ tasks: # Profile configurations to build packages configurations: - id: linux-gcc - epochs: [20211221, 20220120, 20230606] hrname: "Linux, GCC" content: - os: ["Linux"] @@ -86,7 +85,6 @@ configurations: compiler.version: ["5", "7", "9", "10", "11"] build_type: ["Release", "Debug"] - id: linux-clang - epochs: [20211221, 20220120, 20230606] hrname: "Linux, Clang" content: - os: ["Linux"] @@ -97,8 +95,10 @@ configurations: compiler.version: ["12", "13"] build_type: ["Release", "Debug"] - id: macos-clang - epochs: [20220120, 20230606] hrname: "macOS, Clang" + build_profile: + os: "Macos" + arch: "armv8" content: - os: [ "Macos" ] arch: [ "x86_64" ] @@ -108,11 +108,7 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: macos-m1-clang - epochs: [20220120, 20230606] hrname: "macOS, Clang (M1/arm64)" - build_profile: - os: "Macos" - arch: "x86_64" content: - os: [ "Macos" ] arch: [ "armv8" ] @@ -122,7 +118,6 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: windows-visual_studio - epochs: [0, 20211221, 20220120, 20230606] hrname: "Windows, Visual Studio" content: - os: [ "Windows" ] diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 69f002da7a538..712dcc277de49 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -67,7 +67,6 @@ tasks: configurations: - id: linux-gcc - epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "Linux, GCC" build_profile: os: "Linux" @@ -80,10 +79,10 @@ configurations: compiler.version: ["11"] build_type: ["Release"] - id: macos-clang - epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "macOS, Clang" build_profile: os: "Macos" + arch: "armv8" content: - os: [ "Macos" ] arch: [ "x86_64" ] @@ -93,11 +92,10 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - id: macos-m1-clang - epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "macOS M1, Clang" build_profile: os: "Macos" - arch: "x86_64" + arch: "armv8" content: - os: [ "Macos" ] arch: [ "armv8" ] @@ -107,7 +105,6 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - id: windows-msvc - epochs: [20230606] hrname: "Windows, MSVC" build_profile: os: "Windows" From bb888b3aaa8432215c2c20c08ed9cb763a025cae Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 20 Dec 2023 20:22:16 +0000 Subject: [PATCH 3049/4087] (#21749) [bot] Update authorized users list (2023-12-14) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 70239a094fd32..549da8cd3184c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1250,3 +1250,5 @@ authorized_users: - mlutken - hoyhoy - stevenhartley +- RMZeroFour +- rymut From 5f574b52c3ed8676a913757a95dc92858d889478 Mon Sep 17 00:00:00 2001 From: Joris Putcuyps Date: Wed, 20 Dec 2023 21:38:37 +0100 Subject: [PATCH 3050/4087] (#21683) arduinojson: add version 6.21.4 * Add arduinojson-6.21.4 * ArduinoJson also does MessagePack --- recipes/arduinojson/all/conandata.yml | 3 +++ recipes/arduinojson/all/conanfile.py | 2 +- recipes/arduinojson/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/arduinojson/all/conandata.yml b/recipes/arduinojson/all/conandata.yml index d44d34b58314d..7cd1210fd6d95 100644 --- a/recipes/arduinojson/all/conandata.yml +++ b/recipes/arduinojson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.21.4": + url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.4/ArduinoJson-v6.21.4.zip" + sha256: "60a5c4cd28d97047f63a1f9c9e8bd36a72c8b4c86809babcc2bd4b00e0502b9b" "6.21.2": url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.2/ArduinoJson-v6.21.2.zip" sha256: "1dc888061f6e7828f7a0a4e71bf059796e5ce202ce6ddb4e3a2e384d32b5cba0" diff --git a/recipes/arduinojson/all/conanfile.py b/recipes/arduinojson/all/conanfile.py index 74cc1a0a27699..e10c2101ad215 100644 --- a/recipes/arduinojson/all/conanfile.py +++ b/recipes/arduinojson/all/conanfile.py @@ -13,7 +13,7 @@ class ArduinojsonConan(ConanFile): name = "arduinojson" description = "C++ JSON library for IoT. Simple and efficient." homepage = "https://github.com/bblanchon/ArduinoJson" - topics = ("json", "arduino", "iot", "embedded", "esp8266") + topics = ("json", "msgpack", "message-pack", "arduino", "iot", "embedded", "esp8266") license = "MIT" url = "https://github.com/conan-io/conan-center-index" package_type = "header-library" diff --git a/recipes/arduinojson/config.yml b/recipes/arduinojson/config.yml index 3358de6326521..afe4d32db15ff 100644 --- a/recipes/arduinojson/config.yml +++ b/recipes/arduinojson/config.yml @@ -1,4 +1,6 @@ versions: + "6.21.4": + folder: all "6.21.2": folder: all "6.21.0": From cc5692484d667b48e10aec754d498379f2e3ed71 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 21 Dec 2023 00:25:02 +0100 Subject: [PATCH 3051/4087] (#21824) xkbcommon: bump deps --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 432d7eeef8795..8f8538a292739 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -82,7 +82,7 @@ def build_requirements(self): self.tool_requires("pkgconf/2.1.0") if self._has_build_profile and self.options.get_safe("with_wayland"): self.tool_requires("wayland/") - self.tool_requires("wayland-protocols/1.31") + self.tool_requires("wayland-protocols/1.32") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 9ff80591643683d916cd1e81aa180c6865eefb00 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 21 Dec 2023 09:52:09 +0000 Subject: [PATCH 3052/4087] (#21804) [bot] Update authorized users list (2023-12-18) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: conan-center-bot Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 549da8cd3184c..431c8106f9525 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1252,3 +1252,7 @@ authorized_users: - stevenhartley - RMZeroFour - rymut +- MartyMcFlyInTheSky +- piliugin-anton +- Drllap +- i-curve From 7a6c0babf868b1a371ac982219ae3ea5fd9c4daa Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 21 Dec 2023 13:08:40 +0300 Subject: [PATCH 3053/4087] (#21787) libatomic_ops: update to 7.8.2 * update package version from 7.8.0 to 7.8.2 --- recipes/libatomic_ops/all/conandata.yml | 6 +++--- recipes/libatomic_ops/config.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libatomic_ops/all/conandata.yml b/recipes/libatomic_ops/all/conandata.yml index 04ee70160921a..ca0f7bac81a72 100644 --- a/recipes/libatomic_ops/all/conandata.yml +++ b/recipes/libatomic_ops/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "7.8.0": - url: "https://github.com/ivmai/libatomic_ops/releases/download/v7.8.0/libatomic_ops-7.8.0.tar.gz" - sha256: "15676e7674e11bda5a7e50a73f4d9e7d60452271b8acf6fd39a71fefdf89fa31" + "7.8.2": + url: "https://github.com/ivmai/libatomic_ops/releases/download/v7.8.2/libatomic_ops-7.8.2.tar.gz" + sha256: "d305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2419b51" diff --git a/recipes/libatomic_ops/config.yml b/recipes/libatomic_ops/config.yml index 95536563a1815..03c7395ab6c04 100644 --- a/recipes/libatomic_ops/config.yml +++ b/recipes/libatomic_ops/config.yml @@ -1,3 +1,3 @@ versions: - "7.8.0": + "7.8.2": folder: all From d5dc5a71a43590eec60fdb34ee1628bbead585de Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Thu, 21 Dec 2023 11:29:22 +0100 Subject: [PATCH 3054/4087] (#21839) Add restinio v0.7.1 --- recipes/restinio/config.yml | 2 ++ recipes/restinio/v0.7/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml index 224a43066392f..df26f55e95f2c 100644 --- a/recipes/restinio/config.yml +++ b/recipes/restinio/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.1": + folder: "v0.7" "0.7.0": folder: "v0.7" "0.6.19": diff --git a/recipes/restinio/v0.7/conandata.yml b/recipes/restinio/v0.7/conandata.yml index 1b3707b68b5bb..e74209bdf08a6 100644 --- a/recipes/restinio/v0.7/conandata.yml +++ b/recipes/restinio/v0.7/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.1": + url: "https://github.com/Stiffstream/restinio/archive/v.0.7.1.tar.gz" + sha256: "46a3224ad23f768412c3494cd11f973b753b0d0be51906c46176ea7bafa687f6" "0.7.0": url: "https://github.com/Stiffstream/restinio/archive/v.0.7.0.tar.gz" sha256: "1d6ad5812c02ee42342ed0ed78678a4e37c1cfe87f2f7c32c2862f825062feaa" From ee18955997f3e7f4dc4c654dcd04665c995a63c6 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Thu, 21 Dec 2023 21:35:32 +1030 Subject: [PATCH 3055/4087] (#19606) [vulkan-validationlayers] Fix discovery of libVkLayer_khronos_validation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [vulkan-validationlayers] Fix discovery of libVkLayer_khronos_validation * Add libdirs to the runtime lib discovery path to enable libVlLayer_khronos_validation.{so,dll,dylib} to be discovered appropriately at runtime. This package exports both a static library and a shared library, of which, only the static library should be linked against. The shared library is loaded dynamically by vulkan-loader, and still needs to be discoverable. Because this is not a shared library, these paths are not exported automatically and therefore are required to be explicitly set. Closes #19605 * Remove notification of runtime_lib_discovery_path update Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Rubén Rincón Blanco --- recipes/vulkan-validationlayers/all/conanfile.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index 9ce6269563249..c2830d5f99a6c 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -225,5 +225,17 @@ def package_info(self): manifest_subfolder = "bin" if self.settings.os == "Windows" else os.path.join("res", "vulkan", "explicit_layer.d") vk_layer_path = os.path.join(self.package_folder, manifest_subfolder) self.runenv_info.prepend_path("VK_LAYER_PATH", vk_layer_path) + + # Update runtime discovery paths to allow libVkLayer_khronos_validation.{so,dll,dylib} to be discovered + # and loaded by vulkan-loader when the consumer executes + # This is necessary because this package exports a static lib to link against and a dynamic lib to load at runtime + runtime_lib_discovery_path = "LD_LIBRARY_PATH" + if self.settings.os == "Windows": + runtime_lib_discovery_path = "PATH" + if self.settings.os == "Macos": + runtime_lib_discovery_path = "DYLD_LIBRARY_PATH" + for libdir in [os.path.join(self.package_folder, libdir) for libdir in self.cpp_info.libdirs]: + self.runenv_info.prepend_path(runtime_lib_discovery_path, libdir) + # TODO: to remove after conan v2, it allows to not break consumers still relying on virtualenv generator self.env_info.VK_LAYER_PATH.append(vk_layer_path) From cbfbc41bbc5ee8f5fe02dd68cee9845f6c7aa692 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 21 Dec 2023 13:33:26 +0100 Subject: [PATCH 3056/4087] (#20911) tcl: fix MinGW and properly split build and install in autotools branch * fix MinGW and properly split build and install in autotools branch * fix substitution in tclConfig.sh --- recipes/tcl/all/conanfile.py | 99 +++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index 1722816dbfb14..89c037e770f6b 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, chdir, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, NMakeToolchain, NMakeDeps from conan.tools.scm import Version import os @@ -48,9 +49,9 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") def layout(self): - # Not using basic_layout because package() needs the source folder to be a sub-directory of the build folder - self.folders.source = "src" - self.folders.generators = "conan" + basic_layout(self, src_folder="src") + # source folder must be a sub-directory of the build folder + self.folders.build = "." def requirements(self): self.requires("zlib/[>=1.2.11 <2]") @@ -82,7 +83,7 @@ def generate(self): env = VirtualRunEnv(self) env.generate(scope="build") - tc = AutotoolsToolchain(self, prefix=self.package_folder) + tc = AutotoolsToolchain(self) def yes_no(v): return "yes" if v else "no" tc.configure_args.extend([ "--enable-threads", @@ -94,25 +95,14 @@ def yes_no(v): return "yes" if v else "no" deps = AutotoolsDeps(self) deps.generate() - def _get_default_build_system_subdir(self): - return { - "Macos": "macosx", - "Linux": "unix", - "Windows": "win", - }[str(self.settings.os)] - - def _get_configure_dir(self, build_system_subdir=None): - if build_system_subdir is None: - build_system_subdir = self._get_default_build_system_subdir() - return os.path.join(self.source_folder, build_system_subdir) - def _patch_sources(self): apply_conandata_patches(self) if is_apple_os(self) and self.settings.arch not in ("x86", "x86_64"): - replace_in_file(self, os.path.join(self._get_configure_dir(), "configure"), "#define HAVE_CPUID 1", "#undef HAVE_CPUID") + macos_configure = os.path.join(self.source_folder, "macosx", "configure") + replace_in_file(self, macos_configure, "#define HAVE_CPUID 1", "#undef HAVE_CPUID") - unix_config_dir = self._get_configure_dir("unix") + unix_config_dir = os.path.join(self.source_folder, "unix") # When disabling 64-bit support (in 32-bit), this test must be 0 in order to use "long long" for 64-bit ints # (${tcl_type_64bit} can be either "__int64" or "long long") replace_in_file(self, os.path.join(unix_config_dir, "configure"), @@ -127,9 +117,18 @@ def _patch_sources(self): replace_in_file(self, unix_makefile_in, "\nLDFLAGS\t", "\n#LDFLAGS\t") # Use CFLAGS and CPPFLAGS as argument to CC replace_in_file(self, unix_makefile_in, "${CFLAGS}", "${CFLAGS} ${CPPFLAGS}") + + win_config_dir = os.path.join(self.source_folder, "win") + + # Fix install for MinGW + win_makefile_in = os.path.join(win_config_dir, "Makefile.in") + replace_in_file(self, win_makefile_in, "INSTALL_ROOT =", "INSTALL_ROOT = $(DESTDIR)") + # No link to static libgcc for MinGW + win_tcl_m4 = os.path.join(win_config_dir, "tcl.m4") + replace_in_file(self, win_tcl_m4, "-static-libgcc", "") + # nmake creates a temporary file with mixed forward/backward slashes # force the filename to avoid cryptic error messages - win_config_dir = self._get_configure_dir("win") win_makefile_vc = os.path.join(win_config_dir, "makefile.vc") replace_in_file(self, win_makefile_vc, "@type << >$@", "type <$@") @@ -157,26 +156,38 @@ def _build_nmake(self, targets): if "d" not in msvc_runtime_flag(self): opts.append("unchecked") - with chdir(self, self._get_configure_dir("win")): + win_config_dir = os.path.join(self.source_folder, "win") + with chdir(self, win_config_dir): self.run('nmake -nologo -f "{cfgdir}/makefile.vc" INSTALLDIR="{pkgdir}" OPTS={opts} {targets}'.format( - cfgdir=self._get_configure_dir("win"), + cfgdir=win_config_dir, pkgdir=self.package_folder, opts=",".join(opts), targets=" ".join(targets), )) + def _get_configure_subdir(self): + return { + "Macos": "macosx", + "Linux": "unix", + "FreeBSD": "unix", + "Windows": "win", + }[str(self.settings.os)] + def build(self): self._patch_sources() if is_msvc(self): self._build_nmake(["release"]) else: autotools = Autotools(self) - autotools.configure(self._get_configure_dir()) - + autotools.configure(build_script_folder=self._get_configure_subdir()) # https://core.tcl.tk/tcl/tktview/840660e5a1 for root, _, list_of_files in os.walk(self.build_folder): if "Makefile" in list_of_files: replace_in_file(self, os.path.join(root, "Makefile"), "-Dstrtod=fixstrtod", "", strict=False) + # For some reason this target "binaries" may not be built before others + # on Windows while it's a dependency of many other targets + autotools.make(target="binaries") + autotools.make() def package(self): copy(self, "license.terms", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -184,36 +195,30 @@ def package(self): self._build_nmake(["install-binaries", "install-libraries"]) else: autotools = Autotools(self) - autotools.make(target="install") - autotools.make(target="install-private-headers") + autotools.install() + autotools.install(target="install-private-headers") rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "man")) rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) + # Relocatable tclConfig.sh tclConfigShPath = os.path.join(self.package_folder, "lib", "tclConfig.sh") - package_path = self.package_folder - build_folder = self.build_folder - if self.settings.os == "Windows" and not is_msvc(self): - package_path = package_path.replace("\\", "/") - drive, path = os.path.splitdrive(self.build_folder) - build_folder = "".join([drive, path.lower().replace("\\", "/")]) - - replace_in_file(self, tclConfigShPath, - package_path, - "${TCL_ROOT}") - replace_in_file(self, tclConfigShPath, - build_folder, - "${TCL_BUILD_ROOT}") - - replace_in_file(self, tclConfigShPath, - "\nTCL_BUILD_", - "\n#TCL_BUILD_") - replace_in_file(self, tclConfigShPath, - "\nTCL_SRC_DIR", - "\n#TCL_SRC_DIR") - - fix_apple_shared_install_name(self) + ## Comment out references to build folder + replace_in_file(self, tclConfigShPath, "\nTCL_BUILD_", "\n#TCL_BUILD_") + replace_in_file(self, tclConfigShPath, "\nTCL_SRC_DIR", "\n#TCL_SRC_DIR") + ## Replace references to package folder by TCL_ROOT env var supposed to be defined by VirtualRunEnv + if is_msvc(self): + replace_in_file(self, tclConfigShPath, self.package_folder, "${TCL_ROOT}") + else: + replace_in_file(self, tclConfigShPath, "TCL_PREFIX='/'", "TCL_PREFIX='${TCL_ROOT}'") + replace_in_file(self, tclConfigShPath, "TCL_EXEC_PREFIX='/'", "TCL_EXEC_PREFIX='${TCL_ROOT}'") + for to_replace in ["//", "/"]: + replace_in_file(self, tclConfigShPath, f"-L{to_replace}lib", "-L${TCL_ROOT}/lib", strict=False) + replace_in_file(self, tclConfigShPath, f"{{{to_replace}lib}}", "{${TCL_ROOT}/lib}", strict=False) + replace_in_file(self, tclConfigShPath, f"='{to_replace}lib", "='${TCL_ROOT}/lib", strict=False) + replace_in_file(self, tclConfigShPath, f"-I{to_replace}include", "-I${TCL_ROOT}/include", strict=False) def package_info(self): self.cpp_info.set_property("cmake_file_name", "TCL") From a12826d4e9811b09a55f42c25c1b865ddd50e556 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:09:44 +0000 Subject: [PATCH 3057/4087] (#21093) b2: build universal binary with intel and arm * b2: build universal binary with intel and arm * remove older versions * update conandata.yml --- recipes/b2/config.yml | 44 ------------------------- recipes/b2/portable/conandata.yml | 54 ------------------------------- recipes/b2/portable/conanfile.py | 23 ++++++++++--- 3 files changed, 18 insertions(+), 103 deletions(-) diff --git a/recipes/b2/config.yml b/recipes/b2/config.yml index d807a6752466f..7a4ee6b5a0f42 100644 --- a/recipes/b2/config.yml +++ b/recipes/b2/config.yml @@ -1,50 +1,6 @@ versions: - "4.0.0": - folder: standard - "4.0.1": - folder: standard - "4.1.0": - folder: standard - "4.2.0": - folder: standard - "4.3.0": - folder: portable - "4.4.0": - folder: portable - "4.4.1": - folder: portable - "4.4.2": - folder: portable - "4.5.0": - folder: portable - "4.6.0": - folder: portable - "4.6.1": - folder: portable - "4.7.0": - folder: portable - "4.7.1": - folder: portable - "4.7.2": - folder: portable - "4.8.0": - folder: portable - "4.8.1": - folder: portable "4.8.2": folder: portable - "4.9.0": - folder: portable - "4.9.1": - folder: portable - "4.9.2": - folder: portable - "4.9.3": - folder: portable - "4.9.4": - folder: portable - "4.9.5": - folder: portable "4.9.6": folder: portable "4.10.0": diff --git a/recipes/b2/portable/conandata.yml b/recipes/b2/portable/conandata.yml index cc640fa9b092f..b31f151449d95 100644 --- a/recipes/b2/portable/conandata.yml +++ b/recipes/b2/portable/conandata.yml @@ -1,61 +1,7 @@ sources: - "4.3.0": - sha256: 138c90b66edb0a28e225705a2cbf897a8cef5f87e68befc748f8e6808e21628a - url: https://github.com/bfgroup/b2/archive/4.3.0.tar.gz - "4.4.0": - sha256: fa4079370644110604895ff08057fe2eff3289bcffdaec55fcdf43ea33ff25a8 - url: https://github.com/bfgroup/b2/archive/4.4.0.tar.gz - "4.4.1": - sha256: 4fb15abd994968a24868c13502f080c4a28b20f59831acf9eabd64a3b257554f - url: https://github.com/bfgroup/b2/archive/4.4.1.tar.gz - "4.4.2": - sha256: 575e59b89191a6a6780d7165cae3222b8a7a1e7d5e8165b3524eefe32fc3de46 - url: https://github.com/bfgroup/b2/archive/4.4.2.tar.gz - "4.5.0": - url: "https://github.com/bfgroup/b2/archive/4.5.0.tar.gz" - sha256: "39c3b51bf9c5f32b1c249d2d405274976b166e1bdca1fc5205b595f1cb5dbac3" - "4.6.0": - url: "https://github.com/bfgroup/b2/archive/4.6.0.tar.gz" - sha256: "3a308e0f79a039d8a9495b375f3292f5163000c19caa79c5687e4cb5b1938b49" - "4.6.1": - url: "https://github.com/bfgroup/b2/archive/4.6.1.tar.gz" - sha256: "a3f3323eaeb2c27d7a3ca86842665c6c3bc3d93cc626ba362ae6d0c5a7bfbe2c" - "4.7.0": - url: "https://github.com/bfgroup/b2/archive/4.7.0.tar.gz" - sha256: "82c2eb92d6ab2bd447646568ac8430c316cbd2a1819c108136224498c0abed84" - "4.7.1": - url: "https://github.com/bfgroup/b2/archive/4.7.1.tar.gz" - sha256: "30844184ded3217c090b76e6e051c3ac663ea63bd19e1b727b05c54411cac867" - "4.7.2": - url: "https://github.com/bfgroup/b2/archive/4.7.2.tar.gz" - sha256: "70883f8ed82efc49f425f1961a82e961cefdbca3a28581cb57b405bd7516677f" - "4.8.0": - url: "https://github.com/bfgroup/b2/archive/4.8.0.tar.gz" - sha256: "2f18951d4cc267a810e44fc483b747d489e30ed42ee6d9e7c5e19de750ee5cd2" - "4.8.1": - url: "https://github.com/bfgroup/b2/archive/4.8.1.tar.gz" - sha256: "8ecff1025df9473d91a0d116af3e32be6fba6e57d4ea962e033ff1678609d668" "4.8.2": url: "https://github.com/bfgroup/b2/archive/4.8.2.tar.gz" sha256: "220edfbd5022394c5dc264dfdd8bf6d3ec53b784db87461026bb23ea9d9ec4bd" - "4.9.0": - url: "https://github.com/bfgroup/b2/archive/4.9.0.tar.gz" - sha256: "7c614e41f10e004c7539c75c60f7b2df26a61fe35058e9021f8fd5049c97a255" - "4.9.1": - url: "https://github.com/bfgroup/b2/archive/4.9.1.tar.gz" - sha256: "81e49dc85e956c3e708bdd02fcfe0b9f406fca8edca54c75c94ebd6c322ed587" - "4.9.2": - url: "https://github.com/bfgroup/b2/archive/4.9.2.tar.gz" - sha256: "7e1a135b308999d2a65fce3eba8f4ffb41ca82ae133f8494cc42cbca63c890de" - "4.9.3": - url: "https://github.com/bfgroup/b2/archive/4.9.3.tar.gz" - sha256: "4524b8ecf138a9087aa24b8889c44ea7ae9f2d373acc9535d72fb048c213e1b9" - "4.9.4": - url: "https://github.com/bfgroup/b2/releases/download/4.9.4/b2-4.9.4.tar.bz2" - sha256: "1996d8098955ad3fdecab242d784afaef0fba80dd5d2ef0b3a41592e26772312" - "4.9.5": - url: "https://github.com/bfgroup/b2/releases/download/4.9.5/b2-4.9.5.tar.bz2" - sha256: "f81bea44601613f633d3311341f3f63594608537bf38d7073b877ec1edb2760a" "4.9.6": url: "https://github.com/bfgroup/b2/releases/download/4.9.6/b2-4.9.6.tar.bz2" sha256: "10c1344c751fcf5a1f9ec6f52c02626cfbf78a4806f7817949b115e107bbbc5f" diff --git a/recipes/b2/portable/conanfile.py b/recipes/b2/portable/conanfile.py index 829c74015b1ef..f93460f8b28cf 100644 --- a/recipes/b2/portable/conanfile.py +++ b/recipes/b2/portable/conanfile.py @@ -63,10 +63,14 @@ def package_id(self): del self.info.options.use_cxx_env del self.info.options.toolset - def validate(self): - if hasattr(self, "settings_build") and cross_building(self): + if self._is_macos_intel_or_arm(self.info.settings): + self.info.settings.arch = "x86_64,armv8" + + def validate_build(self): + if hasattr(self, "settings_build") and cross_building(self) and not self._is_macos_intel_or_arm(self.settings): raise ConanInvalidConfiguration(f"{self.ref} recipe doesn't support cross-build yet") + def validate(self): if (self.options.toolset == 'cxx' or self.options.toolset == 'cross-cxx') and not self.options.use_cxx_env: raise ConanInvalidConfiguration( "Option toolset 'cxx' and 'cross-cxx' requires 'use_cxx_env=True'") @@ -90,6 +94,9 @@ def _b2_output_dir(self): def _pkg_bin_dir(self): return os.path.join(self.package_folder, "bin") + def _is_macos_intel_or_arm(self, settings): + return settings.os == "Macos" and settings.arch in ["x86_64", "armv8"] + @contextmanager def _bootstrap_env(self): saved_env = dict(os.environ) @@ -145,6 +152,10 @@ def build(self): command += '"'+b2_vcvars+'" && ' command += "build" if use_windows_commands else "./build.sh" + cxxflags = "" + if self._is_macos_intel_or_arm(self.settings): + cxxflags += " -arch arm64 -arch x86_64" + if self.options.use_cxx_env: envvars = VirtualBuildEnv(self).vars() @@ -153,9 +164,11 @@ def build(self): command += f" --cxx={cxx}" self._write_project_config(cxx) - cxxflags = envvars.get("CXXFLAGS") - if cxxflags: - command += f" --cxxflags={cxxflags}" + cxxflags_env = envvars.get("CXXFLAGS") + cxxflags = f"{cxxflags} {cxxflags_env}" + + if cxxflags: + command += f' --cxxflags="{cxxflags}"' if b2_toolset != 'auto': command += " "+str(b2_toolset) From 6591823c347d93d73ea671de49cba56259afd7ca Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:26:40 +0000 Subject: [PATCH 3058/4087] (#16901) vulkan-headers: define package_id_embed_mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/vulkan-headers/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/vulkan-headers/all/conanfile.py b/recipes/vulkan-headers/all/conanfile.py index f2e2e4c12ab8e..beae2e733b6b4 100644 --- a/recipes/vulkan-headers/all/conanfile.py +++ b/recipes/vulkan-headers/all/conanfile.py @@ -14,6 +14,7 @@ class VulkanHeadersConan(ConanFile): homepage = "https://github.com/KhronosGroup/Vulkan-Headers" url = "https://github.com/conan-io/conan-center-index" package_type = "header-library" + package_id_embed_mode = "patch_mode" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From f45ee82f52d0bc35ac1aeef0a4b24053c147e2b4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 21 Dec 2023 20:57:02 +0100 Subject: [PATCH 3059/4087] (#21844) bdwgc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/bdwgc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/bdwgc/all/conanfile.py b/recipes/bdwgc/all/conanfile.py index 304326f5fe9b1..d284939f26c40 100644 --- a/recipes/bdwgc/all/conanfile.py +++ b/recipes/bdwgc/all/conanfile.py @@ -77,7 +77,7 @@ def layout(self): def requirements(self): if self.settings.os == "Windows": - self.requires("libatomic_ops/7.8.0") + self.requires("libatomic_ops/7.8.2") def source(self): get(self, **self.conan_data["sources"][self.version], From 7eb3f3739e023ecff159644bb7d15642852df73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1ll=20Andr=C3=A9s=20P=C3=A1lsson?= Date: Thu, 21 Dec 2023 22:00:27 +0000 Subject: [PATCH 3060/4087] (#21785) opencv/3.x add version 3.4.20 * opencv/3.x add version 3.4.20 * Use 3.4.17 patch for 3.4.20 as well --- recipes/opencv/3.x/conandata.yml | 9 +++++++++ recipes/opencv/config.yml | 2 ++ 2 files changed, 11 insertions(+) diff --git a/recipes/opencv/3.x/conandata.yml b/recipes/opencv/3.x/conandata.yml index fb7fa44fa31ae..147afc1ea676d 100644 --- a/recipes/opencv/3.x/conandata.yml +++ b/recipes/opencv/3.x/conandata.yml @@ -1,10 +1,19 @@ sources: + "3.4.20": + - url: "https://github.com/opencv/opencv/archive/refs/tags/3.4.20.tar.gz" + sha256: "b9eda448a08ba7b10bfd5bd45697056569ebdf7a02070947e1c1f3e8e69280cd" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.20.tar.gz" + sha256: "b0bb3fa7ae4ac00926b83d4d95c6500c2f7af542f8ec78d0f01b2961a690d5dc" "3.4.17": - url: "https://github.com/opencv/opencv/archive/refs/tags/3.4.17.tar.gz" sha256: "1353eec67849aadb20df71d8bae18b83708e18fc5da080fe5efeabb1e99b2ee8" - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.17.tar.gz" sha256: "2b4d3e91a5767a1ae4f4e2a71b0a93c9ec744755763653a650e40ace8f7b9a1b" patches: + "3.4.20": + - patch_file: "patches/3.4.17-0001-find-openexr.patch" + patch_description: "Robust discovery & injection of OpenEXR" + patch_type: "conan" "3.4.17": - patch_file: "patches/3.4.17-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 4ca870469c580..443d5e91a8125 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -7,6 +7,8 @@ versions: folder: "4.x" "4.1.2": folder: "4.x" + "3.4.20": + folder: "3.x" "3.4.17": folder: "3.x" "2.4.13.7": From fe697b9a59dce668468ad6d00c9bbaf16be655f4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 02:01:09 +0200 Subject: [PATCH 3061/4087] (#21661) openblas: add v0.3.25 --- recipes/openblas/all/conandata.yml | 3 +++ recipes/openblas/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openblas/all/conandata.yml b/recipes/openblas/all/conandata.yml index 31efef8e95737..f79b91170955a 100644 --- a/recipes/openblas/all/conandata.yml +++ b/recipes/openblas/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.25": + url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.25.tar.gz" + sha256: "4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543" "0.3.24": url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.24.tar.gz" sha256: "ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132" diff --git a/recipes/openblas/config.yml b/recipes/openblas/config.yml index d12fbd6e7daea..84e082765ab47 100644 --- a/recipes/openblas/config.yml +++ b/recipes/openblas/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.25": + folder: all "0.3.24": folder: all "0.3.20": From 495401ef47c6b6bc8bf844a4adac91d22892a552 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 02:49:45 +0200 Subject: [PATCH 3062/4087] (#21663) raylib: add v5.0 --- recipes/raylib/all/conandata.yml | 3 +++ recipes/raylib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/raylib/all/conandata.yml b/recipes/raylib/all/conandata.yml index 03de4ecb0f5c2..250dbbb87a9bc 100644 --- a/recipes/raylib/all/conandata.yml +++ b/recipes/raylib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0": + url: "https://github.com/raysan5/raylib/archive/refs/tags/5.0.tar.gz" + sha256: "98f049b9ea2a9c40a14e4e543eeea1a7ec3090ebdcd329c4ca2cf98bc9793482" "4.0.0": url: "https://github.com/raysan5/raylib/archive/refs/tags/4.0.0.tar.gz" sha256: "11f6087dc7bedf9efb3f69c0c872f637e421d914e5ecea99bbe7781f173dc38c" diff --git a/recipes/raylib/config.yml b/recipes/raylib/config.yml index b0be0ea520564..c0992b52b18d8 100644 --- a/recipes/raylib/config.yml +++ b/recipes/raylib/config.yml @@ -1,4 +1,6 @@ versions: + "5.0": + folder: "all" "4.0.0": folder: "all" "3.5.0": From 658059b8fc99c0c9d653d56c27bb076ccda6f996 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Fri, 22 Dec 2023 04:00:04 +0300 Subject: [PATCH 3063/4087] (#21847) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 8c1a73b11f3c4..2c60ab126196e 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.9": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.9.tar.gz" + sha256: "0ff833b179e01866296a8b2e36b09c19936c2e4434d9e542be389d8104809523" "2.3.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.4.tar.gz" sha256: "7f356658316da4f4eaf7bde43dd43027a602c49640d297357b12e22a1a842a68" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 396ecace7699b..9ccae22b9f990 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.9": + folder: all "2.3.4": folder: all "2.3.3": From ab4359d40f9e81641b4c6ca8db489c53153c16ae Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 03:09:44 +0200 Subject: [PATCH 3064/4087] (#21864) libnl: add v3.9.0 --- recipes/libnl/all/conandata.yml | 3 +++ recipes/libnl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnl/all/conandata.yml b/recipes/libnl/all/conandata.yml index c4437c5cec3bc..9db76cae21f37 100644 --- a/recipes/libnl/all/conandata.yml +++ b/recipes/libnl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.0": + url: "https://github.com/thom311/libnl/releases/download/libnl3_9_0/libnl-3.9.0.tar.gz" + sha256: "aed507004d728a5cf11eab48ca4bf9e6e1874444e33939b9d3dfed25018ee9bb" "3.8.0": url: "https://github.com/thom311/libnl/releases/download/libnl3_8_0/libnl-3.8.0.tar.gz" sha256: "bb726c6d7a08b121978d73ff98425bf313fa26a27a331d465e4f1d7ec5b838c6" diff --git a/recipes/libnl/config.yml b/recipes/libnl/config.yml index 20abb72c5e1b9..4e17fb9e83226 100644 --- a/recipes/libnl/config.yml +++ b/recipes/libnl/config.yml @@ -1,4 +1,6 @@ versions: + 3.9.0: + folder: all 3.8.0: folder: all 3.7.0: From e5727c4b01112480c009780377dd320170604cc5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 03:58:44 +0200 Subject: [PATCH 3065/4087] (#21849) 7bitdi: add v2.0.0 --- recipes/7bitdi/all/conandata.yml | 3 +++ recipes/7bitdi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/7bitdi/all/conandata.yml b/recipes/7bitdi/all/conandata.yml index 2bc8fbc5ed01d..d7e7e7fe4e22e 100644 --- a/recipes/7bitdi/all/conandata.yml +++ b/recipes/7bitdi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v2.0.0.tar.gz" + sha256: "ae6d01c677b928a9c0979b9b2395692f9a3d876e07189d9b191e7b55c13d9ef4" "1.0.0": url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v1.0.0.tar.gz" sha256: "4a5bfc541bf98b9943a54003c7ad1f8a2a3f879143022be805aaa343852d8279" diff --git a/recipes/7bitdi/config.yml b/recipes/7bitdi/config.yml index 40341aa3db6cd..870fb33e55af0 100644 --- a/recipes/7bitdi/config.yml +++ b/recipes/7bitdi/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.0": + folder: all "1.0.0": folder: all From e73ba14d6bbad92c784dbeeec69f8d372b7059e9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:07:14 +0200 Subject: [PATCH 3066/4087] (#21851) libde265: add v1.0.15 --- recipes/libde265/all/conandata.yml | 3 +++ recipes/libde265/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libde265/all/conandata.yml b/recipes/libde265/all/conandata.yml index d9b1262d06c1f..3dd8fd65fd529 100644 --- a/recipes/libde265/all/conandata.yml +++ b/recipes/libde265/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.15": + url: "https://github.com/strukturag/libde265/releases/download/v1.0.15/libde265-1.0.15.tar.gz" + sha256: "00251986c29d34d3af7117ed05874950c875dd9292d016be29d3b3762666511d" "1.0.12": url: "https://github.com/strukturag/libde265/releases/download/v1.0.12/libde265-1.0.12.tar.gz" sha256: "62185ea2182e68cf68bba20cc6eb4c287407b509cf0a827d7ddb75614db77b5c" diff --git a/recipes/libde265/config.yml b/recipes/libde265/config.yml index 2745db31bb6cd..4323cd76505c9 100644 --- a/recipes/libde265/config.yml +++ b/recipes/libde265/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.15": + folder: all "1.0.12": folder: all "1.0.11": From b479d5450fd532ce463ff91f07931976bdb5b7ac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:15:27 +0200 Subject: [PATCH 3067/4087] (#21850) lightgbm: add v4.2.0 --- recipes/lightgbm/all/conandata.yml | 3 +++ recipes/lightgbm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lightgbm/all/conandata.yml b/recipes/lightgbm/all/conandata.yml index 5c29f9403b5ce..53438b1b2b9ba 100644 --- a/recipes/lightgbm/all/conandata.yml +++ b/recipes/lightgbm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.0": + url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v4.2.0.tar.gz" + sha256: "4b2df6e3c5fa345a2fac6cefff65dd08cbe2fa4717cd8335c2a58c1a0c7c6b02" "4.1.0": url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v4.1.0.tar.gz" sha256: "eb896dc21c7afec95d10327777f6e77163b5bcd35f6ce5d152e6feefbe3328a5" diff --git a/recipes/lightgbm/config.yml b/recipes/lightgbm/config.yml index eba2ef0bbf4fd..5160a2bc07bab 100644 --- a/recipes/lightgbm/config.yml +++ b/recipes/lightgbm/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: all "4.1.0": folder: all "3.3.5": From b186d018c6872a2e4fb61ba39dc06caa9c2e73bf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:27:23 +0200 Subject: [PATCH 3068/4087] (#21854) libraw: add v0.21.2 --- recipes/libraw/all/conandata.yml | 3 +++ recipes/libraw/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libraw/all/conandata.yml b/recipes/libraw/all/conandata.yml index de16dc88c770a..3a0ac9ffca1b4 100644 --- a/recipes/libraw/all/conandata.yml +++ b/recipes/libraw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21.2": + url: "https://github.com/LibRaw/LibRaw/archive/0.21.2.tar.gz" + sha256: "7ac056e0d9e814d808f6973a950bbf45e71b53283eed07a7ea87117a6c0ced96" "0.21.1": url: "https://github.com/LibRaw/LibRaw/archive/0.21.1.tar.gz" sha256: "b63d7ffa43463f74afcc02f9083048c231349b41cc9255dec0840cf8a67b52e0" diff --git a/recipes/libraw/config.yml b/recipes/libraw/config.yml index c99b05f143414..ef61145f2ee72 100644 --- a/recipes/libraw/config.yml +++ b/recipes/libraw/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.2": + folder: all "0.21.1": folder: all "0.20.2": From beebdb3cd80458bf51d9c7bff452c268f9c1799b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:58:16 +0200 Subject: [PATCH 3069/4087] (#21859) zfp: add version 1.0.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/zfp/all/conandata.yml | 3 +++ recipes/zfp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zfp/all/conandata.yml b/recipes/zfp/all/conandata.yml index 308872a236805..626b44e46becd 100644 --- a/recipes/zfp/all/conandata.yml +++ b/recipes/zfp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/LLNL/zfp/archive/1.0.1.tar.gz" + sha256: "4984db6a55bc919831966dd17ba5e47ca7ac58668f4fd278ebd98cd2200da66f" "1.0.0": url: "https://github.com/LLNL/zfp/releases/download/1.0.0/zfp-1.0.0.tar.gz" sha256: "0ea08ae3e50e3c92f8b8cf41ba5b6e2de8892bc4a4ca0c59b8945b6c2ab617c4" diff --git a/recipes/zfp/config.yml b/recipes/zfp/config.yml index 3e7309cad846c..ca1f6c2b3ad6d 100644 --- a/recipes/zfp/config.yml +++ b/recipes/zfp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.1": + folder: all "1.0.0": folder: all "0.5.5": From 2de4432af61d34ffe4548caf11caa41f50e58b2b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 05:18:25 +0200 Subject: [PATCH 3070/4087] (#21866) libwebsockets: add version 4.3.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libwebsockets/all/conandata.yml | 3 +++ recipes/libwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libwebsockets/all/conandata.yml b/recipes/libwebsockets/all/conandata.yml index 119725ef837be..ed95c45ed0deb 100644 --- a/recipes/libwebsockets/all/conandata.yml +++ b/recipes/libwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.3": + url: "https://github.com/warmcat/libwebsockets/archive/v4.3.3.tar.gz" + sha256: "6fd33527b410a37ebc91bb64ca51bdabab12b076bc99d153d7c5dd405e4bdf90" "4.3.2": url: "https://github.com/warmcat/libwebsockets/archive/v4.3.2.tar.gz" sha256: "6a85a1bccf25acc7e8e5383e4934c9b32a102880d1e4c37c70b27ae2a42406e1" diff --git a/recipes/libwebsockets/config.yml b/recipes/libwebsockets/config.yml index 76fbd6a7ba025..f20bf16edc50b 100644 --- a/recipes/libwebsockets/config.yml +++ b/recipes/libwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.3": + folder: all "4.3.2": folder: all "4.3.0": From c6a2b837efbbd05550f064f1145c7a506f02cc99 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Dec 2023 12:57:48 +0900 Subject: [PATCH 3071/4087] (#21828) unordered_dense: add version 4.3.1 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index 68524cf6fdc7c..21a7d366a494c 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.1": + url: "https://github.com/martinus/unordered_dense/archive/v4.3.1.tar.gz" + sha256: "ff069b0b7697a3601cd674e4a4405edc6ec1d60a5cc3e7fff18db9e24ecc8ec3" "4.3.0": url: "https://github.com/martinus/unordered_dense/archive/v4.3.0.tar.gz" sha256: "c8ffaf5277dd5c29871cc6359af7823c8137158d47511dd00c8193af84906b9c" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index dde91314b03cb..15f32e6672d08 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.1": + folder: all "4.3.0": folder: all "4.1.2": From 139cb31eff67ea52ff69837d38fc5767a9e0ff47 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Dec 2023 13:18:10 +0900 Subject: [PATCH 3072/4087] (#21867) cpp-httplib: add version 0.14.3 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 7e54c58b1975d..8c153c2fe947f 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.3": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.3.tar.gz" + sha256: "dcf6486d9030937636d8a4f820ca9531808fd7edb283893dddbaa05f99357e63" "0.14.2": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.2.tar.gz" sha256: "dbcf5590e8ed35c6745c2ad659a5ebec92f05187d1506eec24449d6db95e5084" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 190ca8b340419..7415ed1d11703 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.3": + folder: all "0.14.2": folder: all "0.14.1": From 8d89b1f68813ed82ce7492d6b7232370327163f5 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Dec 2023 13:37:57 +0900 Subject: [PATCH 3073/4087] (#21868) uwebsockets: add version 20.51.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 2c922cffaec96..78605fe3fd6a9 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.51.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.51.0.tar.gz" + sha256: "6794e7895eb8cc182024a0ae482a581eaa82f55f7cca53ae88b30738449f3cb9" "20.49.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.49.0.tar.gz" sha256: "c596d6f63554a42397a86233aaa47883db1cad2a231ad8608dbaea165c0910b5" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index d714e6b31716a..2e74e7a332db3 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.51.0": + folder: all "20.49.0": folder: all "20.48.0": From 54aad97d1eb428b9a7b89dbc93e826a7d7883f26 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 22 Dec 2023 12:18:12 +0100 Subject: [PATCH 3074/4087] (#21871) [openapi-generator] Add version 7.2.0 --- recipes/openapi-generator/all/conandata.yml | 3 +++ recipes/openapi-generator/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml index 9624e0bf21d4b..f0c50c95fa214 100644 --- a/recipes/openapi-generator/all/conandata.yml +++ b/recipes/openapi-generator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.2.0": + url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar" + sha256: "1cf0c80de12c0fdc8594289c19e414b402108ef10b8dd0bfda1953151341ab5d" "7.0.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.0.0/openapi-generator-cli-7.0.0.jar" sha256: "80e8e9d71bdbdf513b8c65cf7d3fc2fe3d88aaeb4e39a2c6e20831f00032c775" diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml index fc03893757ba9..797b4078e69ca 100644 --- a/recipes/openapi-generator/config.yml +++ b/recipes/openapi-generator/config.yml @@ -1,4 +1,6 @@ versions: + "7.2.0": + folder: all "7.0.0": folder: all "6.6.0": From f90ba0d5c864c484aa21312cfd4bc54c71473954 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 23 Dec 2023 00:59:18 +0100 Subject: [PATCH 3075/4087] (#21825) xkeyboard-config: define package_type should unblock https://github.com/conan-io/conan-center-index/pull/21772 --- recipes/xkeyboard-config/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/xkeyboard-config/all/conanfile.py b/recipes/xkeyboard-config/all/conanfile.py index ec1b8c4a6f2ed..bd171724a258d 100644 --- a/recipes/xkeyboard-config/all/conanfile.py +++ b/recipes/xkeyboard-config/all/conanfile.py @@ -8,6 +8,7 @@ class XkeyboardConfigConan(ConanFile): name = "xkeyboard-config" + package_type = "application" url = "https://github.com/conan-io/conan-center-index" license = "MIT" homepage = "https://www.freedesktop.org/wiki/Software/XKeyboardConfig/" From 176eddaff5b768f6c07b056da2ba25297f6f207a Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Dec 2023 17:38:15 +0900 Subject: [PATCH 3076/4087] (#21815) taocpp-taopq: add version cci.20231219 * taocpp-taopq: add version cci.20231219 * fix copying license files * drop older compiler for charconv --- recipes/taocpp-taopq/all/conandata.yml | 3 +++ recipes/taocpp-taopq/all/conanfile.py | 13 +++++++------ recipes/taocpp-taopq/config.yml | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/recipes/taocpp-taopq/all/conandata.yml b/recipes/taocpp-taopq/all/conandata.yml index b825cbd0e993f..b23fe9c84afe7 100644 --- a/recipes/taocpp-taopq/all/conandata.yml +++ b/recipes/taocpp-taopq/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231219": + url: "https://github.com/taocpp/taopq/archive/855ae86e48f2380d230feae22830f0f9664859ed.tar.gz" + sha256: "bb23d88b8fb7737b8c99f8450b5ab19e1072260fc189634f23103198ac524511" "cci.20210727": url: "https://github.com/taocpp/taopq/archive/3212b6eb74637277b40095d2ab2db872a76c6d9f.tar.gz" sha256: "7d5b801984f71140a8579989e29b746d56167eccb710d821b2336eac723b51a3" diff --git a/recipes/taocpp-taopq/all/conanfile.py b/recipes/taocpp-taopq/all/conanfile.py index 7ea861e1070ea..9fd79f18379e3 100644 --- a/recipes/taocpp-taopq/all/conanfile.py +++ b/recipes/taocpp-taopq/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, rmdir +from conan.tools.files import get, rmdir, copy from conan.tools.scm import Version import os @@ -11,13 +11,13 @@ class TaoCPPTaopqConan(ConanFile): name = "taocpp-taopq" + description = "C++ client library for PostgreSQL" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/taocpp/taopq" - description = "C++ client library for PostgreSQL" topics = ("cpp17", "postgresql", "libpq", "data-base", "sql") package_type = "library" - settings = "os", "arch", "build_type", "compiler" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -34,8 +34,8 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "7", - "clang": "6", + "gcc": "7" if self.version < "cci.20231219" else "8", + "clang": "6" if self.version < "cci.20231219" else "7", "apple-clang": "10", "Visual Studio": "15", "msvc": "191", @@ -59,7 +59,6 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( @@ -84,9 +83,11 @@ def build(self): cmake.build() def package(self): + copy(self, "LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "taopq") diff --git a/recipes/taocpp-taopq/config.yml b/recipes/taocpp-taopq/config.yml index 73c3d88a4e083..08774e1ebdda9 100644 --- a/recipes/taocpp-taopq/config.yml +++ b/recipes/taocpp-taopq/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231219": + folder: all "cci.20210727": folder: all "cci.20200222": From 5c6ae6de8388e29c3135136f3a6232152d61f26a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 23 Dec 2023 09:50:20 +0100 Subject: [PATCH 3077/4087] (#21818) wil: add version 1.0.231216.1 --- recipes/wil/all/conandata.yml | 3 +++ recipes/wil/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wil/all/conandata.yml b/recipes/wil/all/conandata.yml index f61d76458812c..d5f4e93a4cb65 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.231216.1": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.231216.1.tar.gz" + sha256: "4c15ba5e357f19449222b89f6e34d590d9d3f3d67e704a5cc5f4caa74228dd7e" "1.0.231028.1": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.231028.1.tar.gz" sha256: "ac18bc7638f32ec2468bbde1f40153204ad9ae9016058720440bc8f5449f48c5" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index f2dcd6f1c34e1..58a0a4f3fc832 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.231216.1": + folder: "all" "1.0.231028.1": folder: "all" "1.0.230824.2": From 7b1fedf06d0e206ef6ff63dfe8a44eb7de4c079d Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Dec 2023 18:18:05 +0900 Subject: [PATCH 3078/4087] (#21834) commata: add version 0.2.7, remove older versions --- recipes/commata/all/conandata.yml | 12 +++--------- recipes/commata/all/conanfile.py | 10 +++++++++- recipes/commata/all/test_package/CMakeLists.txt | 4 ++++ recipes/commata/all/test_package/test_package.cpp | 4 ++++ recipes/commata/config.yml | 8 ++------ 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index 0bbd21e7700bf..91da95d40710f 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.7": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.7.tar.gz" + sha256: "3feeeea8eafa67a0f328382380f193df9a798665e10333e9e5b6db5fe1794283" "0.2.6-bug1": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.6-bug1.tar.gz" sha256: "141eb86f9033a808b6ead22a9367fc4d18a3047f55255ddf67d60e90f46b8f60" @@ -8,12 +11,3 @@ sources: "0.2.5": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.5.tar.gz" sha256: "d1be1f366267af6c466c29f846f5968f57626a8a6635a2ea9a3de3f6fb88e53b" - "0.2.4-bug1": - url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4-bug1.tar.gz" - sha256: "fcde251d9b41f1601e1f8b2181613b4bf33c4318678700e2b3b54bf24bc9e1e3" - "0.2.4": - url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4.tar.gz" - sha256: "2d154c1ed7bbf6551729bcc5baf581613f6605df080ada35a9e107648d255e2e" - "0.2.3": - url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.3.tar.gz" - sha256: "47521aa27b26fe650bd985c4e07df44453f9d09ab0d61ee98dd6877afe4c25a0" diff --git a/recipes/commata/all/conanfile.py b/recipes/commata/all/conanfile.py index bde274af4ceeb..a0114ee35e73d 100644 --- a/recipes/commata/all/conanfile.py +++ b/recipes/commata/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import get, copy +from conan.tools.files import get, copy, replace_in_file from conan.tools.layout import basic_layout from conan.tools.scm import Version import os @@ -53,6 +53,14 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def build(self): + # waiting for merge PR and release newer version. https://github.com/furfurylic/commata/pull/2 + if Version(self.version) >= "0.2.7": + replace_in_file(self, os.path.join(self.source_folder, "include", "commata", "typing_aid.hpp"), + "#include ", + """#include +#include """) + def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( diff --git a/recipes/commata/all/test_package/CMakeLists.txt b/recipes/commata/all/test_package/CMakeLists.txt index f69f5f2677dd5..71a8908c0e315 100644 --- a/recipes/commata/all/test_package/CMakeLists.txt +++ b/recipes/commata/all/test_package/CMakeLists.txt @@ -6,3 +6,7 @@ find_package(commata REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE commata::commata) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + +if (commata_VERSION VERSION_LESS "0.2.7") + target_compile_definitions(${PROJECT_NAME} PRIVATE "COMMATA_VERSION_LESS_0_2_7") +endif() diff --git a/recipes/commata/all/test_package/test_package.cpp b/recipes/commata/all/test_package/test_package.cpp index 5221c81aef901..bb1415b5814ab 100644 --- a/recipes/commata/all/test_package/test_package.cpp +++ b/recipes/commata/all/test_package/test_package.cpp @@ -50,7 +50,11 @@ int main(void) { std::vector> field_values; test_collector collector(field_values); +#ifdef COMMATA_VERSION_LESS_0_2_7 commata::parse_csv(&buf, collector); +#else + commata::parse_csv(buf, collector); +#endif std::cout << field_values.size() << '\n'; diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 02125db50fd0d..d1d1354a69b90 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,13 +1,9 @@ versions: + "0.2.7": + folder: all "0.2.6-bug1": folder: all "0.2.6": folder: all "0.2.5": folder: all - "0.2.4-bug1": - folder: all - "0.2.4": - folder: all - "0.2.3": - folder: all From 9d975c2f02e3fdee04970f475a8cc50366212275 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 23 Dec 2023 11:38:10 +0200 Subject: [PATCH 3079/4087] (#21852) ittapi: add v3.24.4 --- recipes/ittapi/all/conandata.yml | 3 +++ recipes/ittapi/all/conanfile.py | 8 ++++---- recipes/ittapi/config.yml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/ittapi/all/conandata.yml b/recipes/ittapi/all/conandata.yml index 425388a0a3b63..a637e62d86570 100644 --- a/recipes/ittapi/all/conandata.yml +++ b/recipes/ittapi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.24.4": + url: "https://github.com/intel/ittapi/archive/v3.24.4.tar.gz" + sha256: "f7341c563f228f4358b645fce526208c742fe13e61fc3ba2c777ba94d36e98f5" "3.24.0": url: "https://github.com/intel/ittapi/archive/v3.24.0.tar.gz" sha256: "36c42d3f2446ddfaa2d7dfa02dfaa79615933f1a68a72d7e4f1d70de7b56e2c9" diff --git a/recipes/ittapi/all/conanfile.py b/recipes/ittapi/all/conanfile.py index dc49d467bcae0..0e0597fe61fbb 100644 --- a/recipes/ittapi/all/conanfile.py +++ b/recipes/ittapi/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file +from conan.tools.scm import Version import os required_conan_version = ">=1.47.0" @@ -52,10 +53,9 @@ def source(self): def _patch_sources(self): # Don't force PIC - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")", - "" - ) + if Version(self.version) < "3.24.1": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + 'set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")', "") def generate(self): self._patch_sources() diff --git a/recipes/ittapi/config.yml b/recipes/ittapi/config.yml index e8e090e18ce3e..68b246e705157 100644 --- a/recipes/ittapi/config.yml +++ b/recipes/ittapi/config.yml @@ -1,4 +1,6 @@ versions: + "3.24.4": + folder: all "3.24.0": folder: all "3.23.0": From 7465920e86c186fe28352e54f5e38e3bf75fcf5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Ferdinand=20Rivera=20Morell?= Date: Sat, 23 Dec 2023 14:48:13 -0600 Subject: [PATCH 3080/4087] (#21880) B2 5.0.0 --- recipes/b2/config.yml | 2 ++ recipes/b2/portable/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/b2/config.yml b/recipes/b2/config.yml index 7a4ee6b5a0f42..fc7ada07a386e 100644 --- a/recipes/b2/config.yml +++ b/recipes/b2/config.yml @@ -7,3 +7,5 @@ versions: folder: portable "4.10.1": folder: portable + "5.0.0": + folder: portable diff --git a/recipes/b2/portable/conandata.yml b/recipes/b2/portable/conandata.yml index b31f151449d95..4bd954865dc3a 100644 --- a/recipes/b2/portable/conandata.yml +++ b/recipes/b2/portable/conandata.yml @@ -11,3 +11,6 @@ sources: "4.10.1": url: "https://github.com/bfgroup/b2/releases/download/4.10.1/b2-4.10.1.tar.bz2" sha256: "d0818276955c3351eac26e4aa1e61046cfded88773232d76f2833c93bb917633" + "5.0.0": + url: "https://github.com/bfgroup/b2/releases/download/5.0.0/b2-5.0.0.tar.bz2" + sha256: "1ef867f7d374345a948baca025ed277dadda05a68439aa383a06aceb9911f7d3" From 6f87c2c828e6c81c8f3dd6fcb0c899d7ed90a34b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 24 Dec 2023 12:48:23 +0900 Subject: [PATCH 3081/4087] (#21882) commata: add version 0.2.8 --- recipes/commata/all/conandata.yml | 3 +++ recipes/commata/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index 91da95d40710f..fae0216296235 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.8": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.8.tar.gz" + sha256: "a762ec3ef1549aa5aebef78a160a40ee16d396fd976154f1f5c160837d145c8a" "0.2.7": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.7.tar.gz" sha256: "3feeeea8eafa67a0f328382380f193df9a798665e10333e9e5b6db5fe1794283" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index d1d1354a69b90..613aa17053d3e 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.8": + folder: all "0.2.7": folder: all "0.2.6-bug1": From f355b4335091ca0fbcee0e477ab7b2af48efe4c5 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 24 Dec 2023 20:16:52 +0900 Subject: [PATCH 3082/4087] (#21885) unordered_dense: add version 4.4.0 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index 21a7d366a494c..86e169e3f5d8e 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.0": + url: "https://github.com/martinus/unordered_dense/archive/v4.4.0.tar.gz" + sha256: "3976399793e8cb4db1409ce15610fbd9e5e406ced4745f262d393a9311efbd88" "4.3.1": url: "https://github.com/martinus/unordered_dense/archive/v4.3.1.tar.gz" sha256: "ff069b0b7697a3601cd674e4a4405edc6ec1d60a5cc3e7fff18db9e24ecc8ec3" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index 15f32e6672d08..10a6f06d5e35d 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.0": + folder: all "4.3.1": folder: all "4.3.0": From c4454b5a0848630de6749a7bbe2ba0b5bafa7520 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 25 Dec 2023 02:03:14 +0900 Subject: [PATCH 3083/4087] (#21887) libavif: add version 1.0.3 --- recipes/libavif/all/conandata.yml | 7 +++++++ recipes/libavif/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index 4c6e091c13d31..cf855ce45dc5b 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.3": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.3.tar.gz" + sha256: "35e3cb3cd7158209dcc31d3bf222036de5b9597e368a90e18449ecc89bb86a19" "1.0.2": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.2.tar.gz" sha256: "de8bf79488c5b523b77358df8b85ae69c3078e6b3f1636fc1f313f952269ad20" @@ -12,6 +15,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.0.3": + - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.0.2": - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 4c37b1d7a9e9a..74dbb33aa4932 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.3": + folder: all "1.0.2": folder: all "1.0.1": From 912926568d16fa2a8d31c965e536bdf3160e07a2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 14:44:54 +0100 Subject: [PATCH 3084/4087] (#21891) libxslt: add version 1.1.39 --- recipes/libxslt/all/conandata.yml | 3 +++ recipes/libxslt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxslt/all/conandata.yml b/recipes/libxslt/all/conandata.yml index 535fcb94f934b..c4c2c71816465 100644 --- a/recipes/libxslt/all/conandata.yml +++ b/recipes/libxslt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.39": + sha256: "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0" + url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.39.tar.xz" "1.1.37": sha256: "3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4" url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz" diff --git a/recipes/libxslt/config.yml b/recipes/libxslt/config.yml index d53687ed0c186..d65db35f37aec 100644 --- a/recipes/libxslt/config.yml +++ b/recipes/libxslt/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.39": + folder: all "1.1.37": folder: all "1.1.34": From 5d39af0588de0c8866f93efd67b05868d510e38a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 01:36:03 +0900 Subject: [PATCH 3085/4087] (#21895) uwebsockets: add version 20.53.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 78605fe3fd6a9..c0ce42c9c6d8e 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.53.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" + sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" "20.51.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.51.0.tar.gz" sha256: "6794e7895eb8cc182024a0ae482a581eaa82f55f7cca53ae88b30738449f3cb9" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 2e74e7a332db3..2431934b0aaf1 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.53.0": + folder: all "20.51.0": folder: all "20.49.0": From 86b3e50e3b079446eeb4b8bbee942eb7f94a558c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 25 Dec 2023 20:05:46 +0200 Subject: [PATCH 3086/4087] (#21863) tinygltf: add v2.8.19 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/tinygltf/all/conandata.yml | 3 +++ recipes/tinygltf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinygltf/all/conandata.yml b/recipes/tinygltf/all/conandata.yml index ecf335230f785..fb20b704f6ed3 100644 --- a/recipes/tinygltf/all/conandata.yml +++ b/recipes/tinygltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.19": + url: "https://github.com/syoyo/tinygltf/archive/v2.8.19.tar.gz" + sha256: "9e3f6206c6e922c7482e1b4612b62c5cddb7e053b6690fa20edfa5d97805053b" "2.8.13": url: "https://github.com/syoyo/tinygltf/archive/v2.8.13.tar.gz" sha256: "72c3e5affa8389442582e4cf67426376e2dff418e998e19822260f4bf58b74b8" diff --git a/recipes/tinygltf/config.yml b/recipes/tinygltf/config.yml index b8d9dd2cb9e3a..0589bcf5301f7 100644 --- a/recipes/tinygltf/config.yml +++ b/recipes/tinygltf/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.19": + folder: all "2.8.13": folder: all "2.5.0": From 9ffbb46dca1f7ae04e4bff3260aeda0c7e64806c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 21:31:51 +0100 Subject: [PATCH 3087/4087] (#21898) libgphoto2: bump deps --- recipes/libgphoto2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index af18cb02458ef..4ff9ce5a31cae 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): if self.options.with_libcurl: self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: @@ -69,7 +69,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From a08933830d8469ea39cb03c7721834278d409764 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 21:48:30 +0100 Subject: [PATCH 3088/4087] (#21897) aravis: bump deps --- recipes/aravis/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index 19795c53aec2d..dd3d02a581da3 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -72,8 +72,8 @@ def layout(self): def requirements(self): # glib-object.h and gio/gio.h are used in several public headers - self.requires("glib/2.78.0", transitive_headers=True) - self.requires("libxml2/2.11.4") + self.requires("glib/2.78.1", transitive_headers=True) + self.requires("libxml2/2.12.2") self.requires("zlib/[>=1.2.11 <2]") if self.options.usb: @@ -104,10 +104,10 @@ def validate(self): def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.3.0") self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.options.introspection: self.tool_requires("gobject-introspection/1.72.0") From b2aa2e28a910311105e8258e9a6a99383065a098 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 21:58:11 +0100 Subject: [PATCH 3089/4087] (#21902) norm: bump deps --- recipes/norm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/norm/all/conanfile.py b/recipes/norm/all/conanfile.py index d900ba9bfd4b9..631f2c31ff5ee 100644 --- a/recipes/norm/all/conanfile.py +++ b/recipes/norm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.4") # dependency of protolib actually + self.requires("libxml2/2.12.2") # dependency of protolib actually def source(self): get(self, **self.conan_data["sources"][self.version]) From 6c7ceb6f480b963be215900cabb03e19a6f2b2dd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 22:18:49 +0100 Subject: [PATCH 3090/4087] (#21899) libnghttp2: bump deps --- recipes/libnghttp2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index ac841e13b7b86..74a79e9337e57 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -60,10 +60,10 @@ def requirements(self): if self.options.with_app or self.options.get_safe("with_asio"): self.requires("openssl/[>=1.1 <4]") if self.options.with_app: - self.requires("c-ares/1.20.1") + self.requires("c-ares/1.22.0") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") From f1f34c5818befef614d27ca67543513f19632bb1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 03:13:57 +0200 Subject: [PATCH 3091/4087] (#21908) linux-syscall-support: add v2022.10.12 --- recipes/linux-syscall-support/all/conandata.yml | 2 ++ recipes/linux-syscall-support/config.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/recipes/linux-syscall-support/all/conandata.yml b/recipes/linux-syscall-support/all/conandata.yml index e2cbe519dc5b7..ca4a399974573 100644 --- a/recipes/linux-syscall-support/all/conandata.yml +++ b/recipes/linux-syscall-support/all/conandata.yml @@ -1,3 +1,5 @@ sources: + "2022.10.12": + url: "https://chromium.googlesource.com/linux-syscall-support/+archive/refs/tags/v2022.10.12.tar.gz" "cci.20200813": url: "https://chromium.googlesource.com/linux-syscall-support/+archive/29f7c7e018f4ce706a709f0b0afbf8bacf869480.tar.gz" diff --git a/recipes/linux-syscall-support/config.yml b/recipes/linux-syscall-support/config.yml index 701f50987ccf0..13c1a01d76262 100644 --- a/recipes/linux-syscall-support/config.yml +++ b/recipes/linux-syscall-support/config.yml @@ -1,3 +1,5 @@ versions: + "2022.10.12": + folder: all "cci.20200813": folder: all From 6362dd8398f947914beddd6bb20633504fe090e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 03:28:37 +0200 Subject: [PATCH 3092/4087] (#21906) nettle: add v3.9.1 --- recipes/nettle/all/conandata.yml | 3 +++ recipes/nettle/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nettle/all/conandata.yml b/recipes/nettle/all/conandata.yml index 8e0d6c4f8c0c7..8d2046aa39c9c 100644 --- a/recipes/nettle/all/conandata.yml +++ b/recipes/nettle/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.1": + url: "https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz" + sha256: "ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3" "3.8.1": url: "https://ftp.gnu.org/gnu/nettle/nettle-3.8.1.tar.gz" sha256: "364f3e2b77cd7dcde83fd7c45219c834e54b0c75e428b6f894a23d12dd41cbfe" diff --git a/recipes/nettle/config.yml b/recipes/nettle/config.yml index e749bd36291ee..f812356867a67 100644 --- a/recipes/nettle/config.yml +++ b/recipes/nettle/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.1": + folder: "all" "3.8.1": folder: "all" "3.6": From b2be26f1756e3278b8cfb08b379066780c314792 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 04:33:39 +0200 Subject: [PATCH 3093/4087] (#21918) extra-cmake-modules: add v5.113.0 --- recipes/extra-cmake-modules/all/conandata.yml | 3 +++ recipes/extra-cmake-modules/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/extra-cmake-modules/all/conandata.yml b/recipes/extra-cmake-modules/all/conandata.yml index 141faff804ef5..1879a975409f5 100644 --- a/recipes/extra-cmake-modules/all/conandata.yml +++ b/recipes/extra-cmake-modules/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.113.0": + url: "https://download.kde.org/stable/frameworks/5.113/extra-cmake-modules-5.113.0.tar.xz" + sha256: "265e5440eebeca07351a469e617a4bf35748927bd907b00ace9c018392bb3bc4" "5.111.0": url: "https://download.kde.org/stable/frameworks/5.111/extra-cmake-modules-5.111.0.tar.xz" sha256: "555d3c1dfa6727b4e64a35d3f01724c9fcd6209c2a41f2b2297c39ed7aabea9a" diff --git a/recipes/extra-cmake-modules/config.yml b/recipes/extra-cmake-modules/config.yml index 9ff0f9399df41..789c28809f9ae 100644 --- a/recipes/extra-cmake-modules/config.yml +++ b/recipes/extra-cmake-modules/config.yml @@ -1,4 +1,6 @@ versions: + "5.113.0": + folder: "all" "5.111.0": folder: "all" "5.108.0": From 631f9bf5aabc1a6d64eb6c969f1c9ab4b4777570 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 04:43:51 +0200 Subject: [PATCH 3094/4087] (#21913) drflac: add v0.12.42 --- recipes/drflac/all/conandata.yml | 8 +++++--- recipes/drflac/config.yml | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/drflac/all/conandata.yml b/recipes/drflac/all/conandata.yml index 4b8f26778e5b0..a2e60990c6f30 100644 --- a/recipes/drflac/all/conandata.yml +++ b/recipes/drflac/all/conandata.yml @@ -1,9 +1,11 @@ sources: # NOTE: https://github.com/mackron/dr_libs/blob/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb/dr_flac.h#L3 + "0.12.42": + url: "https://github.com/mackron/dr_libs/archive/a4b73d3d423e1cea0652b76d0806e7620337a40f.zip" + sha256: "89729a85f092a81eb6e646c1580525c7738c4780bc59890c908b9582e8e9312b" "0.12.39": - url: https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip + url: "https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip" sha256: "077d6b29a78da5132065fcc9b44ca50e7e168b94250f2c25614101d3f808bcc1" - # NOTE: https://github.com/mackron/dr_libs/blob/089deaa62268e6dacf2026754b1b228e54eb3993/dr_flac.h#L3 "0.12.38": - url: https://github.com/mackron/dr_libs/archive/089deaa62268e6dacf2026754b1b228e54eb3993.zip + url: "https://github.com/mackron/dr_libs/archive/089deaa62268e6dacf2026754b1b228e54eb3993.zip" sha256: "1b9fa02c56c2b42c99dd070c7dc3d4e8dee6a4e49139055e7f79e21aa88070d7" diff --git a/recipes/drflac/config.yml b/recipes/drflac/config.yml index f7ff0941f9f1b..75c09924cb231 100644 --- a/recipes/drflac/config.yml +++ b/recipes/drflac/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.42": + folder: all "0.12.39": folder: all "0.12.38": From 63b6e327e0402ce1ae749d57d0098c02448d7861 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 04:57:39 +0200 Subject: [PATCH 3095/4087] (#21920) cfitsio: add v4.3.1 --- recipes/cfitsio/all/conandata.yml | 6 ++++++ recipes/cfitsio/config.yml | 2 ++ 2 files changed, 8 insertions(+) diff --git a/recipes/cfitsio/all/conandata.yml b/recipes/cfitsio/all/conandata.yml index 8fe35bec67203..6b0480fb20585 100644 --- a/recipes/cfitsio/all/conandata.yml +++ b/recipes/cfitsio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.1": + url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.1.tar.gz" + sha256: "2332b965d327a15c103a7d31d6d1afaf775d00e9785dd25332ae76b9725351e4" "4.3.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.0.tar.gz" sha256: "734ab0198714fe43eab94a67d6987085bde5573e6babde4d05799a8d04ebb04c" @@ -21,6 +24,9 @@ sources: url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.47.tar.gz" sha256: "985606e058403c073a68d95be74e9696f0ded9414520784457a1d4cba8cca7e2" patches: + "4.3.1": + - patch_file: "patches/windows-use-strtok_s.patch" + - patch_file: "patches/fix-cmake-4.2.0.patch" "4.3.0": - patch_file: "patches/windows-use-strtok_s.patch" - patch_file: "patches/fix-cmake-4.2.0.patch" diff --git a/recipes/cfitsio/config.yml b/recipes/cfitsio/config.yml index 052075e2e1199..644678fbd04e4 100644 --- a/recipes/cfitsio/config.yml +++ b/recipes/cfitsio/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.1": + folder: all "4.3.0": folder: all "4.2.0": From 6b221f03024b23f030d1b123f7528edb965375e7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 05:28:48 +0200 Subject: [PATCH 3096/4087] (#21909) lmdb: add v0.9.31 --- recipes/lmdb/all/conandata.yml | 3 +++ recipes/lmdb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lmdb/all/conandata.yml b/recipes/lmdb/all/conandata.yml index 924b591216793..34b1aee159c75 100644 --- a/recipes/lmdb/all/conandata.yml +++ b/recipes/lmdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.31": + url: "https://git.openldap.org/openldap/openldap/-/archive/LMDB_0.9.31/openldap-LMDB_0.9.31.tar.gz" + sha256: "d35d4f6f46313d62fd342c9dcbf574432919ce5e802d2b6cbe2ebd549821e5c4" "0.9.29": url: "https://git.openldap.org/openldap/openldap/-/archive/LMDB_0.9.29/openldap-LMDB_0.9.29.tar.gz" sha256: "d4c668167a2d703ef91db733b4069b8b74dbc374405855be6626b45e2a7e2dd3" diff --git a/recipes/lmdb/config.yml b/recipes/lmdb/config.yml index 34b7a75931b22..3c0c6966f556b 100644 --- a/recipes/lmdb/config.yml +++ b/recipes/lmdb/config.yml @@ -1,3 +1,5 @@ "versions": + "0.9.31": + "folder": "all" "0.9.29": "folder": "all" From c4cc5b2f01d9a3beafee46e1b59603f2b58ea95d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 05:48:41 +0200 Subject: [PATCH 3097/4087] (#21925) aaplus: add v2.53 --- recipes/aaplus/all/conandata.yml | 5 +++++ recipes/aaplus/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/aaplus/all/conandata.yml b/recipes/aaplus/all/conandata.yml index f1c7c0805bfae..4e0f826f773b4 100644 --- a/recipes/aaplus/all/conandata.yml +++ b/recipes/aaplus/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "2.53": + url: "http://www.naughter.com/download/aaplus_v2.53.zip" + sha256: "8b06f597535c1750dba71186e991561adb6c5e2d9678e258a3f7d6bdd0e4fda6" "2.41": url: "http://www.naughter.com/download/aaplus_v2.41.zip" sha256: "7aede2802f3542c91eeefa0cdd4419911c7547073c84a6faa4bf31f6b6f172da" patches: + "2.53": + - patch_file: "patches/0001-fix-cmake.patch" "2.41": - patch_file: "patches/0001-fix-cmake.patch" diff --git a/recipes/aaplus/config.yml b/recipes/aaplus/config.yml index 9e92b3b5d3553..c2d9de5dda8c1 100644 --- a/recipes/aaplus/config.yml +++ b/recipes/aaplus/config.yml @@ -1,3 +1,5 @@ versions: + "2.53": + folder: all "2.41": folder: all From 577e83a1a4d0b2284a92b9894f45316360f8c6d4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 06:08:34 +0200 Subject: [PATCH 3098/4087] (#21928) blaze: add v3.8.2 --- recipes/blaze/all/conandata.yml | 3 +++ recipes/blaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/blaze/all/conandata.yml b/recipes/blaze/all/conandata.yml index a6e5a6aa09753..65e6063976941 100644 --- a/recipes/blaze/all/conandata.yml +++ b/recipes/blaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.2": + url: "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.2.tar.gz" + sha256: "4c4e1915971efbedab95790e4c5cf017d8448057fa8f8c62c46e1643bf72cbb1" "3.8": url: "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.tar.gz" sha256: "dfaae1a3a9fea0b3cc92e78c9858dcc6c93301d59f67de5d388a3a41c8a629ae" diff --git a/recipes/blaze/config.yml b/recipes/blaze/config.yml index df754600895a3..7b9eb7695fc4e 100644 --- a/recipes/blaze/config.yml +++ b/recipes/blaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.2": + folder: all "3.8": folder: all "3.7": From b5638c163fd9ac08e8aaaad61d8cd76b8e572d77 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 06:28:38 +0200 Subject: [PATCH 3099/4087] (#21931) plf_stack: add v2.0.1 --- recipes/plf_stack/all/conandata.yml | 3 +++ recipes/plf_stack/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_stack/all/conandata.yml b/recipes/plf_stack/all/conandata.yml index cf7e7157c6209..033e21f0986b6 100644 --- a/recipes/plf_stack/all/conandata.yml +++ b/recipes/plf_stack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/mattreecebentley/plf_stack/archive/9d11bf2c5de5df739c0943af942a544c95b26ffa.tar.gz" + sha256: "2dd0092fbfc1e3d071398c6ef35cede807b4774fddfd892401f432e7d9efcc5b" "1.64": url: "https://github.com/mattreecebentley/plf_stack/archive/c9d8fae0a66d1d0a19c3d0bf690a2776710511fe.tar.gz" sha256: "8dcca43043a3c5e91a642a3ae84f3acca657c3775536569302bbccc6b70d24e6" diff --git a/recipes/plf_stack/config.yml b/recipes/plf_stack/config.yml index 88575a7de5458..d955d60d65ed1 100644 --- a/recipes/plf_stack/config.yml +++ b/recipes/plf_stack/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "1.64": folder: all "1.63": From 1fa7a385f198fdbbfdd0e7c7b86582242317c2e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 06:48:32 +0200 Subject: [PATCH 3100/4087] (#21932) plf_queue: add v2.0.2 --- recipes/plf_queue/all/conandata.yml | 3 +++ recipes/plf_queue/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_queue/all/conandata.yml b/recipes/plf_queue/all/conandata.yml index c563552517b10..70bc260cc9892 100644 --- a/recipes/plf_queue/all/conandata.yml +++ b/recipes/plf_queue/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/mattreecebentley/plf_queue/archive/1fb9d87a210f7813450ee54a469f9f79ea4ec872.tar.gz" + sha256: "812976e4ebc50556891590e1ba066fbe7b73518749e86bbe227428152a3820c8" "1.22": url: "https://github.com/mattreecebentley/plf_queue/archive/bef2bda67cb4cadfd5dceaaf2c8f037c540a12bc.tar.gz" sha256: "96da3d7f27c62b39a147bc38a8d9f3a1a5f1cb0bfcc3b37d5ee2c7c056ad368e" diff --git a/recipes/plf_queue/config.yml b/recipes/plf_queue/config.yml index 60c525e6c3382..35e06c7f4e645 100644 --- a/recipes/plf_queue/config.yml +++ b/recipes/plf_queue/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "1.22": folder: all "1.21": From 4ba8433baef2b2530a50b5182a5c5bfccdb5caff Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 07:09:02 +0200 Subject: [PATCH 3101/4087] (#21934) plf_indiesort: add v1.41 --- recipes/plf_indiesort/all/conandata.yml | 3 +++ recipes/plf_indiesort/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_indiesort/all/conandata.yml b/recipes/plf_indiesort/all/conandata.yml index 8b79bf367fbc1..9638aa153a749 100644 --- a/recipes/plf_indiesort/all/conandata.yml +++ b/recipes/plf_indiesort/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.41": + url: "https://github.com/mattreecebentley/plf_indiesort/archive/fce3d54ed1a43e9e7008703f79c4f4d2e5259176.tar.gz" + sha256: "34cca5e0a20f278dfcd963d18653b9440b1b590f5f193d0e68115f5a1a80bf6f" "1.18": url: "https://github.com/mattreecebentley/plf_indiesort/archive/1999a3017b3a3699f426608841a5a66e0849880d.tar.gz" sha256: "1c035243adbd63d89a61f8a0e8bbea1911ab9421467da9e5d618c30f10f16f91" diff --git a/recipes/plf_indiesort/config.yml b/recipes/plf_indiesort/config.yml index 5b4c7706184cf..473415a4e082f 100644 --- a/recipes/plf_indiesort/config.yml +++ b/recipes/plf_indiesort/config.yml @@ -1,4 +1,6 @@ versions: + "1.41": + folder: all "1.18": folder: all "1.15": From 6eaf5306e7f60d55adf4ea2a4e84f1a5d7c56e0d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:00:46 +0100 Subject: [PATCH 3102/4087] (#21267) cpp-sort: remove legacy conan v1 output.warn which breaks conan v2 with "unknown compilers" * remove legacy conan v1 output.warn * cast self.settings.compiler.version --- recipes/cpp-sort/all/conanfile.py | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/recipes/cpp-sort/all/conanfile.py b/recipes/cpp-sort/all/conanfile.py index e0e093c1fa165..8dec2c54472db 100644 --- a/recipes/cpp-sort/all/conanfile.py +++ b/recipes/cpp-sort/all/conanfile.py @@ -54,22 +54,11 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - compiler = str(self.settings.compiler) - version = str(self.settings.compiler.version) - try: - minimum_version = self._compilers_minimum_version[str(compiler)] - if minimum_version and loose_lt_semver(version, minimum_version): - msg = ( - f"{self.ref} requires C++{self._min_cppstd} features " - f"which are not supported by compiler {compiler} {version}." - ) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - f"{self.ref} recipe lacks information about the {compiler} compiler, " - f"support for the required C++{self._min_cppstd} features is assumed" + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - self.output.warn(msg) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From aac904ac30103e949c20403cd9284dcbe89789f9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 18:48:37 +0900 Subject: [PATCH 3103/4087] (#21894) shapelib: add version 1.6.0, use tarballs --- recipes/shapelib/all/conandata.yml | 17 ++++++++++++----- recipes/shapelib/all/conanfile.py | 4 ++-- ... => 1.5.0-0001-cmake-minimum-required.patch} | 0 ...ing.patch => 1.5.0-0002-build-testing.patch} | 0 ...> 1.5.0-0003-relocatable-shared-macos.patch} | 0 .../1.6.0-0003-relocatable-shared-macos.patch | 13 +++++++++++++ recipes/shapelib/config.yml | 2 ++ 7 files changed, 29 insertions(+), 7 deletions(-) rename recipes/shapelib/all/patches/{0001-cmake-minimum-required.patch => 1.5.0-0001-cmake-minimum-required.patch} (100%) rename recipes/shapelib/all/patches/{0002-build-testing.patch => 1.5.0-0002-build-testing.patch} (100%) rename recipes/shapelib/all/patches/{0003-relocatable-shared-macos.patch => 1.5.0-0003-relocatable-shared-macos.patch} (100%) create mode 100644 recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch diff --git a/recipes/shapelib/all/conandata.yml b/recipes/shapelib/all/conandata.yml index 16ed675c6719f..1c122519c5ede 100644 --- a/recipes/shapelib/all/conandata.yml +++ b/recipes/shapelib/all/conandata.yml @@ -1,17 +1,24 @@ sources: + "1.6.0": + url: "https://github.com/OSGeo/shapelib/archive/v1.6.0.tar.gz" + sha256: "0bfd1eab9616ca3c420a5ad674b0d07c7c5018620d6ab6ae43917daa18ff0d1e" "1.5.0": - url: "https://github.com/OSGeo/shapelib/archive/v1.5.0.zip" - sha256: "673b00ef6caef254fe16d831b982e6bbed7397615c57b9ed92cf8b59017dd06b" + url: "https://github.com/OSGeo/shapelib/archive/v1.5.0.tar.gz" + sha256: "48de3a6a8691b0b111b909c0b908af4627635c75322b3a501c0c0885f3558cad" patches: + "1.6.0": + - patch_file: "patches/1.6.0-0003-relocatable-shared-macos.patch" + patch_description: "Relocatable shared lib on macOS" + patch_type: "conan" "1.5.0": - - patch_file: "patches/0001-cmake-minimum-required.patch" + - patch_file: "patches/1.5.0-0001-cmake-minimum-required.patch" patch_description: "Place the cmake_minimum_required call before the project command" patch_source: "https://github.com/OSGeo/shapelib/pull/45" patch_type: "portability" - - patch_file: "patches/0002-build-testing.patch" + - patch_file: "patches/1.5.0-0002-build-testing.patch" patch_description: "Use the standard BUILD_TESTING variable to control building tests" patch_source: "https://github.com/OSGeo/shapelib/pull/46" patch_type: "portability" - - patch_file: "patches/0003-relocatable-shared-macos.patch" + - patch_file: "patches/1.5.0-0003-relocatable-shared-macos.patch" patch_description: "Relocatable shared lib on macOS" patch_type: "conan" diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index bed1f979c1ec8..e4deabe7afba9 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -11,9 +11,9 @@ class ShapelibConan(ConanFile): name = "shapelib" description = "C library for reading and writing ESRI Shapefiles" license = "LGPL-2.0-or-later", "MIT" - topics = ("osgeo", "shapefile", "esri", "geospatial") - homepage = "https://github.com/OSGeo/shapelib" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/OSGeo/shapelib" + topics = ("osgeo", "shapefile", "esri", "geospatial") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/shapelib/all/patches/0001-cmake-minimum-required.patch b/recipes/shapelib/all/patches/1.5.0-0001-cmake-minimum-required.patch similarity index 100% rename from recipes/shapelib/all/patches/0001-cmake-minimum-required.patch rename to recipes/shapelib/all/patches/1.5.0-0001-cmake-minimum-required.patch diff --git a/recipes/shapelib/all/patches/0002-build-testing.patch b/recipes/shapelib/all/patches/1.5.0-0002-build-testing.patch similarity index 100% rename from recipes/shapelib/all/patches/0002-build-testing.patch rename to recipes/shapelib/all/patches/1.5.0-0002-build-testing.patch diff --git a/recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch b/recipes/shapelib/all/patches/1.5.0-0003-relocatable-shared-macos.patch similarity index 100% rename from recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch rename to recipes/shapelib/all/patches/1.5.0-0003-relocatable-shared-macos.patch diff --git a/recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch b/recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch new file mode 100644 index 0000000000000..13deeaed93d83 --- /dev/null +++ b/recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 893328e..7d907ad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,7 +137,7 @@ set(shp_VERSION ${PROJECT_VERSION}) + set_target_properties(${PACKAGE} PROPERTIES + SOVERSION ${shp_SOVERSION} + VERSION ${shp_VERSION} +- INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}" ++# INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}" + ) + + if(USE_RPATH) diff --git a/recipes/shapelib/config.yml b/recipes/shapelib/config.yml index 7f3d5d7f62dd8..04ffd79e144a1 100644 --- a/recipes/shapelib/config.yml +++ b/recipes/shapelib/config.yml @@ -1,3 +1,5 @@ versions: + "1.6.0": + folder: all "1.5.0": folder: all From cd08b6e1ffebe7254ed10987169ddb1dc5a191ef Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 26 Dec 2023 11:08:34 +0100 Subject: [PATCH 3104/4087] (#21896) libxslt: bump libxml --- recipes/libxslt/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index 6e5032ab98195..e7922c420ae67 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -7,6 +7,7 @@ from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path, NMakeDeps, NMakeToolchain +from conan.tools.scm import Version import os required_conan_version = ">=1.55.0" @@ -59,8 +60,11 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) + if Version(self.version) >= "1.1.39": + # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 + self.requires("libxml2/2.12.2", transitive_headers=True, transitive_libs=True) + else: + self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From dd912ebdb6a68eab50264b9a984e5cf77747a284 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 26 Dec 2023 11:26:38 +0100 Subject: [PATCH 3105/4087] (#21282) arsenalgear: restore shared option + allow msvc since 2.1.0 + fix CMakeLists of 2.1.0 to avoid building and packaging doctest * explicit cmake names * allow msvc since 2.0.0 * remove dead code * msvc support since 2.1.0 * fix CMakeLists of 2.1.0 - honor compiler.cppstd from profile - do not download & build doctest at build time * allow shared again * add patch_source --- recipes/arsenalgear/all/conandata.yml | 6 +++ recipes/arsenalgear/all/conanfile.py | 23 ++++++---- .../all/patches/2.1.0-0001-fix-cmake.patch | 45 +++++++++++++++++++ 3 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch diff --git a/recipes/arsenalgear/all/conandata.yml b/recipes/arsenalgear/all/conandata.yml index 3b459d19be1fc..0408a2c5f4e26 100644 --- a/recipes/arsenalgear/all/conandata.yml +++ b/recipes/arsenalgear/all/conandata.yml @@ -8,3 +8,9 @@ sources: "1.2.2": url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v1.2.2.tar.gz" sha256: "556155d0be0942bcdd5df02fcda258579915e76b5a70e7220de6ef38c8ca7779" +patches: + "2.1.0": + - patch_file: "patches/2.1.0-0001-fix-cmake.patch" + patch_description: "CMake: allow shared, honor compiler.cppstd, avoid to download and build doctest" + patch_type: "conan" + patch_source: "https://github.com/JustWhit3/arsenalgear-cpp/pull/4" diff --git a/recipes/arsenalgear/all/conanfile.py b/recipes/arsenalgear/all/conanfile.py index 3c60d7e171cb3..b33bbef5afbfc 100644 --- a/recipes/arsenalgear/all/conanfile.py +++ b/recipes/arsenalgear/all/conanfile.py @@ -1,10 +1,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc -from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os @@ -17,12 +17,14 @@ class ArsenalgearConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/JustWhit3/arsenalgear-cpp" topics = ("constants", "math", "operators", "stream") - package_type = "static-library" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { + "shared": [True, False], "fPIC": [True, False], } default_options = { + "shared": False, "fPIC": True, } @@ -37,10 +39,11 @@ def _compilers_minimum_version(self): "msvc": "192", "gcc": "8", "clang": "7", - "apple-clang": "12.0", + "apple-clang": "12", } def export_sources(self): + export_conandata_patches(self) if Version(self.version) < "2.1.0": copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) @@ -49,7 +52,7 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.get_safe("shared"): + if self.options.shared: self.options.rm_safe("fPIC") def layout(self): @@ -64,9 +67,8 @@ def requirements(self): self.requires("exprtk/0.0.2", transitive_headers=True) def validate(self): - # arsenalgear doesn't support Visual Studio(yet). - if is_msvc(self): - raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio(yet)") + if Version(self.version) < "2.1.0" and is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio.") if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) @@ -89,6 +91,7 @@ def generate(self): deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) if Version(self.version) < "2.1.0": cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) @@ -104,6 +107,8 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "arsenalgear") + self.cpp_info.set_property("cmake_target_name", "arsenalgear::arsenalgear") self.cpp_info.libs = ["arsenalgear"] if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch b/recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..a54dc4ff14828 --- /dev/null +++ b/recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch @@ -0,0 +1,45 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,27 +16,26 @@ if( EXISTS "${LOC_PATH}" ) + endif() + + # Set c++ standard options +-set( CMAKE_CXX_STANDARD 17 ) +-set( CMAKE_CXX_STANDARD_REQUIRED ON ) +-set( CMAKE_CXX_EXTENSIONS OFF ) + + # Fetching dependencies +-add_subdirectory( deps ) + + # Include directories + include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include ) + + # Create static library +-add_library( arsenalgear STATIC ++add_library( arsenalgear + src/stream.cpp + src/system.cpp + src/utils.cpp + ) ++set_target_properties(arsenalgear PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++target_compile_features(arsenalgear PUBLIC cxx_std_17) + add_library( arsenalgear::arsenalgear ALIAS arsenalgear ) + + # Compile tests + option( ARSENALGEAR_TESTS "Enable / disable tests." ON ) + if( ARSENALGEAR_TESTS ) ++ add_subdirectory( deps ) + add_subdirectory( test ) + else() + message( STATUS "Skipping tests." ) +@@ -57,7 +56,9 @@ install( + install( + TARGETS arsenalgear + EXPORT arsenalgearTargets +- DESTINATION lib ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + + install( From d20a46c94b25f67dcdcc0e33a643558b7df99171 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 11:50:45 +0100 Subject: [PATCH 3106/4087] (#21750) approvaltests.cpp/all: bump deps * approvaltests.cpp/all/: bump deps * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/approvaltests.cpp/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/approvaltests.cpp/all/conanfile.py b/recipes/approvaltests.cpp/all/conanfile.py index a61797eefb14b..167d80165bb6d 100644 --- a/recipes/approvaltests.cpp/all/conanfile.py +++ b/recipes/approvaltests.cpp/all/conanfile.py @@ -40,8 +40,6 @@ def _header_file(self): return "ApprovalTests.hpp" def config_options(self): - if Version(self.version) < "8.6.0": - del self.options.with_boosttest if Version(self.version) < "10.4.0": del self.options.with_cpputest @@ -49,14 +47,14 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - if self.options.get_safe("with_boosttest"): - self.requires("boost/1.81.0") + if self.options.with_boosttest: + self.requires("boost/1.83.0") if self.options.with_catch2: - self.requires("catch2/2.13.10") + self.requires("catch2/3.5.0") if self.options.with_gtest: - self.requires("gtest/1.12.1") + self.requires("gtest/1.14.0") if self.options.with_doctest: - self.requires("doctest/2.4.10") + self.requires("doctest/2.4.11") if self.options.get_safe("with_cpputest"): self.requires("cpputest/4.0") From 22b4459e118a5acedbfe0fb126934cda0cad47a3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 12:02:01 +0100 Subject: [PATCH 3107/4087] (#21755) librdkafka/all: bump deps * librdkafka/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * librdkafka/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py --- recipes/librdkafka/all/conanfile.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index cd2ea0b4f8630..cca10bb2c76c2 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file from conan.tools.microsoft import is_msvc from conan.tools.gnu import PkgConfigDeps -from conan.tools.scm import Version import os required_conan_version = ">=1.55.0" @@ -70,13 +69,13 @@ def requirements(self): if self.options.ssl: self.requires("openssl/[>=1.1 <4]") if self._depends_on_cyrus_sasl: - self.requires("cyrus-sasl/2.1.27") + self.requires("cyrus-sasl/2.1.28") if self.options.curl: self.requires("libcurl/[>=7.78.0 <9]") def build_requirements(self): if self._depends_on_cyrus_sasl: - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -99,8 +98,7 @@ def generate(self): tc.variables["WITH_SSL"] = self.options.ssl tc.variables["WITH_SASL"] = self.options.sasl tc.variables["ENABLE_LZ4_EXT"] = True - if Version(self.version) >= "1.9.0": - tc.variables["WITH_CURL"] = self.options.curl + tc.variables["WITH_CURL"] = self.options.curl tc.generate() cd = CMakeDeps(self) @@ -113,8 +111,7 @@ def generate(self): def build(self): apply_conandata_patches(self) # There are references to libcrypto.lib and libssl.lib in rdkafka_ssl.c for versions >= 1.8.0 - if Version(self.version) >= "1.8.0" and is_msvc(self) and \ - self.settings.build_type == "Debug" and self.options.get_safe("ssl", False): + if is_msvc(self) and self.settings.build_type == "Debug" and self.options.get_safe("ssl", False): rdkafka_ssl_path = os.path.join(self.source_folder, "src", "rdkafka_ssl.c") replace_in_file(self, rdkafka_ssl_path, "libcrypto.lib", "libcryptod.lib") replace_in_file(self, rdkafka_ssl_path, "libssl.lib", "libssld.lib") From 6abbea2ad513ca662a2eb7b899ba640492c755ab Mon Sep 17 00:00:00 2001 From: i-curve Date: Tue, 26 Dec 2023 19:30:03 +0800 Subject: [PATCH 3108/4087] (#21876) copypp: new version 0.3.0 (#21875) * copypp: new version 0.3.0 (#21875) Signed-off-by: i-curve * copypp: limit compiler version Signed-off-by: i-curve --------- Signed-off-by: i-curve --- recipes/copypp/all/conandata.yml | 4 ++ recipes/copypp/all/conanfile.py | 69 +++++++++++++++++++ .../copypp/all/test_package/CMakeLists.txt | 8 +++ recipes/copypp/all/test_package/conanfile.py | 26 +++++++ .../copypp/all/test_package/test_package.cpp | 38 ++++++++++ recipes/copypp/config.yml | 3 + 6 files changed, 148 insertions(+) create mode 100644 recipes/copypp/all/conandata.yml create mode 100644 recipes/copypp/all/conanfile.py create mode 100644 recipes/copypp/all/test_package/CMakeLists.txt create mode 100644 recipes/copypp/all/test_package/conanfile.py create mode 100644 recipes/copypp/all/test_package/test_package.cpp create mode 100644 recipes/copypp/config.yml diff --git a/recipes/copypp/all/conandata.yml b/recipes/copypp/all/conandata.yml new file mode 100644 index 0000000000000..0570d8ac5e9f4 --- /dev/null +++ b/recipes/copypp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.3.0": + url: "https://github.com/i-curve/copypp/archive/v0.3.0.tar.gz" + sha256: "390dc010597f372015a708d7d37e3d06fdf6a4fe90fb1c0077b45b6da5cb38a2" diff --git a/recipes/copypp/all/conanfile.py b/recipes/copypp/all/conanfile.py new file mode 100644 index 0000000000000..9f6b782973eb5 --- /dev/null +++ b/recipes/copypp/all/conanfile.py @@ -0,0 +1,69 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.52.0" + + +class BasicConanfile(ConanFile): + name = "copypp" + homepage = "https://github.com/i-curve/copypp" + description = "support field copy in different c++ struct." + topics = ("copy", "struct", "header-only") + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "15", + "clang": "13", + "gcc": "11", + "msvc": "19.3", + "Visual Studio": "17", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.hh", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "copypp") + self.cpp_info.set_property("cmake_target_name", "icurve::copypp") + self.cpp_info.set_property("pkg_config_name", "copypp") diff --git a/recipes/copypp/all/test_package/CMakeLists.txt b/recipes/copypp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3e0159dd016c1 --- /dev/null +++ b/recipes/copypp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(copypp CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE icurve::copypp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/copypp/all/test_package/conanfile.py b/recipes/copypp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/copypp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/copypp/all/test_package/test_package.cpp b/recipes/copypp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..2cdae31b2fc4b --- /dev/null +++ b/recipes/copypp/all/test_package/test_package.cpp @@ -0,0 +1,38 @@ +#include +#include +#include "icurve/copypp.hh" + +class A { +public: + int id; + std::string name; + bool sex; + +public: + A() = default; + A(int id, std::string name, bool sex) : id(id), name(name), sex(sex) {} +}; + +class B { +public: + int id; + std::string name; + bool sex; + +public: + B() = default; + B(int id, std::string name, bool sex) : id(id), name(name), sex(sex) {} +}; + +COPYPP_FIELDS_NON_INTRUSIVE(B, A, id, name, sex) + +int main(void) { + A a(1, "curve", true); + B b; + icurve::copy(b, a); + assert(a.id == b.id); + assert(a.name == b.name); + assert(a.sex == b.sex); + std::cout << "copypp ok" << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/copypp/config.yml b/recipes/copypp/config.yml new file mode 100644 index 0000000000000..d126790212e0c --- /dev/null +++ b/recipes/copypp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.3.0": + folder: all From b198cd5becdf521d39312d6a63b4aa778f131997 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 13:33:40 +0200 Subject: [PATCH 3109/4087] (#18694) coz: migrate to Conan v2 * coz: migrate to Conan v2 * coz: use is_apple_os() * coz: update * coz: fix test_package * coz: static build is not supported, mark as shared-library * coz: drop test_v1_package --- recipes/coz/all/CMakeLists.txt | 7 -- recipes/coz/all/conanfile.py | 79 ++++++++++++--------- recipes/coz/all/test_package/CMakeLists.txt | 7 +- recipes/coz/all/test_package/conanfile.py | 37 +++++++--- 4 files changed, 79 insertions(+), 51 deletions(-) delete mode 100644 recipes/coz/all/CMakeLists.txt diff --git a/recipes/coz/all/CMakeLists.txt b/recipes/coz/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/coz/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/coz/all/conanfile.py b/recipes/coz/all/conanfile.py index 525f92fcfbd9c..b3da8b64ac09e 100644 --- a/recipes/coz/all/conanfile.py +++ b/recipes/coz/all/conanfile.py @@ -1,61 +1,76 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class CozConan(ConanFile): name = "coz" - description = """Causal profiler, uses performance experiments - to predict the effect of optimizations""" + description = "Causal profiler, uses performance experiments to predict the effect of optimizations" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "http://coz-profiler.org" - license = "BSD-2-Clause" - topics = ("conan", "coz", "profiler", "causal") + topics = ("profiler", "causal") + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" - requires = "libelfin/0.3" - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package" + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type - _source_subfolder = "source_subfolder" + def requirements(self): + self.requires("libelfin/0.3") def validate(self): - compiler = self.settings.compiler - compiler_version = tools.Version(self.settings.compiler.version) - if self.settings.os == "Macos" or compiler == "Visual Studio" or ( - compiler == "gcc" and compiler_version < "5.0"): - raise ConanInvalidConfiguration( - "coz doesn't support compiler: {} on OS: {}.".format( - self.settings.compiler, self.settings.os)) if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, 11) + compiler_version = Version(self.settings.compiler.version) + if self.settings.compiler == "gcc" and compiler_version < "5.0": + raise ConanInvalidConfiguration("coz requires GCC >= 5.0") + if is_apple_os(self) or is_msvc(self): + raise ConanInvalidConfiguration(f"coz doesn't support {self.settings.os}.") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - _cmake = None - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + # https://github.com/plasma-umass/coz/#cmake + self.cpp_info.set_property("cmake_file_name", "coz-profiler") + self.cpp_info.set_property("cmake_target_name", "coz::coz") + + self.cpp_info.libs = ["coz"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "dl", "pthread", "rt"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "coz-profiler" self.cpp_info.filenames["cmake_find_package_multi"] = "coz-profiler" self.cpp_info.names["cmake_find_package"] = "coz" diff --git a/recipes/coz/all/test_package/CMakeLists.txt b/recipes/coz/all/test_package/CMakeLists.txt index 7b9b613cbb24a..d7ea7e2a51ab7 100644 --- a/recipes/coz/all/test_package/CMakeLists.txt +++ b/recipes/coz/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(coz-profiler REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE coz::coz) diff --git a/recipes/coz/all/test_package/conanfile.py b/recipes/coz/all/test_package/conanfile.py index ad479949b486f..fe45f480669f3 100644 --- a/recipes/coz/all/test_package/conanfile.py +++ b/recipes/coz/all/test_package/conanfile.py @@ -1,19 +1,40 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.files import chdir + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - cmake = CMake(self, build_type="RelWithDebInfo") # To work properly Coz tool requires debug information https://github.com/plasma-umass/coz + cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if tools.cross_building(self.settings): + if self.settings.build_type not in ["Debug", "RelWithDebInfo"]: + self.output.info(f"Skipping coz test because {self.settings.build_type} " + "build type does not contain debug information") return - bin_path = os.path.join("bin", "test_package") - self.run("coz run --- " + bin_path, run_environment=True) - print(open("profile.coz").read()) + if self.settings.os == "Linux": + perf_even_paranoid = int(open("/proc/sys/kernel/perf_event_paranoid").read()) + is_root = os.geteuid() == 0 + if perf_even_paranoid > 2 and not is_root: + self.output.info("Skipping coz test because /proc/sys/kernel/perf_event_paranoid value " + f"must be <= 2 (currently {perf_even_paranoid}) and not running as root") + return + if can_run(self): + with chdir(self, self.cpp.build.bindir): + self.run("coz run --- ./test_package", env="conanrun") + print(open("profile.coz").read()) From d20854ae80cb07b6b06b0df5845e542683a3b293 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 20:49:03 +0900 Subject: [PATCH 3110/4087] (#21884) xmlsec: add version 1.3.2 * xmlsec: add version 1.3.2 * add enable-pedantic for older gcc --- recipes/xmlsec/all/conandata.yml | 3 +++ recipes/xmlsec/all/conanfile.py | 2 ++ recipes/xmlsec/config.yml | 2 ++ 3 files changed, 7 insertions(+) diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index 9dcbff28223be..7f3fc57bc6bab 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec_1_3_2/xmlsec1-1.3.2.tar.gz" + sha256: "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf" "1.2.38": url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec-1_2_38/xmlsec1-1.2.38.tar.gz" sha256: "9de8cf8d7d2e288a9cef205cc6cb93c926a67dadfaf44aaff76ed63c28ce9902" diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 30f254478d8cf..1da9588a9dd91 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -120,6 +120,8 @@ def generate(self): "--enable-docs=no", "--enable-mans=no", ]) + if Version(self.version) >= "1.3.2": + tc.configure_args.append("--enable-pedantic=no") tc.generate() deps = AutotoolsDeps(self) diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml index ff9c9e19a6b99..f6bb070510906 100644 --- a/recipes/xmlsec/config.yml +++ b/recipes/xmlsec/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.2.38": folder: all "1.2.33": From b3579ff5b763ce458a93c75e9b0af4b6b7a34a55 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 14:29:02 +0200 Subject: [PATCH 3111/4087] (#21581) minizip-ng: add v3.0.10, drop old v3 versions --- recipes/minizip-ng/all/conandata.yml | 40 ++++--------------- .../patches/3.0.1-0002-fix-lzma-libdir.patch | 10 ----- ...ch => 3.0.10-0001-fix-cmake-project.patch} | 12 +++--- .../3.0.4-0001-fix-cmake-project.patch | 22 ---------- .../3.0.5-0001-fix-cmake-project.patch | 22 ---------- .../patches/3.0.5-0002-fix-lzma-libdir.patch | 10 ----- recipes/minizip-ng/config.yml | 8 +--- 7 files changed, 15 insertions(+), 109 deletions(-) delete mode 100644 recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch rename recipes/minizip-ng/all/patches/{3.0.6-0001-fix-cmake-project.patch => 3.0.10-0001-fix-cmake-project.patch} (61%) delete mode 100644 recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch delete mode 100644 recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch delete mode 100644 recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index 3d2b61dbae697..5f960210fcf89 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -11,6 +11,9 @@ sources: "4.0.0": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.0.tar.gz" sha256: "f9062e576de026fd5026d65597de3b05263cd4d91400cacdbbe36dfa8a642fff" + "3.0.10": + url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.10.tar.gz" + sha256: "d4a549731d8c7074e421dbab6d8b8ad0a93067752fe767c464f0f40fa5f0a80d" "3.0.9": url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.9.tar.gz" sha256: "992693a532eb15b20d306e6aeea1a1a6501bd19dca993ebe9a95fd22d6b7fd74" @@ -20,16 +23,11 @@ sources: "3.0.7": url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.7.tar.gz" sha256: "39981a0db1bb6da504909bce63d7493286c5e50825c056564544c990d15c55cf" - "3.0.6": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.6.tar.gz" - sha256: "383fa1bdc28c482828a8a8db53f758dbd44291b641182724fda5df5b59cce543" - "3.0.5": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.5.tar.gz" - sha256: "1a248c378fdf4ef6c517024bb65577603d5146cffaebe81900bec9c0a5035d4d" - "3.0.4": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.4.tar.gz" - sha256: "2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c" patches: + "3.0.10": + - patch_file: "patches/3.0.10-0001-fix-cmake-project.patch" + patch_description: "CMake: declare project() sooner" + patch_type: "conan" "3.0.9": - patch_file: "patches/3.0.9-0001-fix-cmake-project.patch" patch_description: "CMake: declare project() sooner" @@ -46,27 +44,3 @@ patches: patch_description: "CMake: inject libdir of lzma" patch_type: "conan" patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.6": - - patch_file: "patches/3.0.6-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.6-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.5": - - patch_file: "patches/3.0.5-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.5-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.4": - - patch_file: "patches/3.0.4-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.1-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" diff --git a/recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch b/recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch deleted file mode 100644 index cb1ecba6e8149..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -312,6 +312,7 @@ if(MZ_LZMA) - - list(APPEND MINIZIP_INC ${LIBLZMA_INCLUDE_DIRS}) - list(APPEND MINIZIP_LIB ${LIBLZMA_LIBRARIES}) -+ list(APPEND MINIZIP_LBD ${LIBLZMA_LIBRARY_DIRS}) - - set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -lliblzma") - elseif(MZ_FETCH_LIBS) diff --git a/recipes/minizip-ng/all/patches/3.0.6-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.10-0001-fix-cmake-project.patch similarity index 61% rename from recipes/minizip-ng/all/patches/3.0.6-0001-fix-cmake-project.patch rename to recipes/minizip-ng/all/patches/3.0.10-0001-fix-cmake-project.patch index e08990e93540e..59a38a7b64d6f 100644 --- a/recipes/minizip-ng/all/patches/3.0.6-0001-fix-cmake-project.patch +++ b/recipes/minizip-ng/all/patches/3.0.10-0001-fix-cmake-project.patch @@ -1,14 +1,14 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,6 +70,7 @@ enable_language(C) +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -80,6 +80,7 @@ # Library version - set(VERSION "3.0.6") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) + set(VERSION "3.0.10") ++project(minizip${MZ_PROJECT_SUFFIX} LANGUAGES C VERSION ${VERSION}) # API version set(SOVERSION "3") -@@ -663,7 +664,6 @@ endif() +@@ -662,7 +663,6 @@ list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) # Create minizip library diff --git a/recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch deleted file mode 100644 index 5ae134194c263..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,10 +63,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.4") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3") -@@ -681,7 +681,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch deleted file mode 100644 index bc28f8055105e..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,10 +66,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.5") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3") -@@ -661,7 +661,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch b/recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch deleted file mode 100644 index 0e4b01050297b..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -303,6 +303,7 @@ if(MZ_LZMA) - - list(APPEND MINIZIP_INC ${LIBLZMA_INCLUDE_DIRS}) - list(APPEND MINIZIP_LIB ${LIBLZMA_LIBRARIES}) -+ list(APPEND MINIZIP_LBD ${LIBLZMA_LIBRARY_DIRS}) - - set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -lliblzma") - elseif(MZ_FETCH_LIBS) diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index 30253cff927d4..b392738806e8d 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -7,15 +7,11 @@ versions: folder: all "4.0.0": folder: all + "3.0.10": + folder: all "3.0.9": folder: all "3.0.8": folder: all "3.0.7": folder: all - "3.0.6": - folder: all - "3.0.5": - folder: all - "3.0.4": - folder: all From 855a5997e03fb50364c0fca87184ad460f48b8a2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 26 Dec 2023 13:40:28 +0100 Subject: [PATCH 3112/4087] (#21900) hwloc: bump deps --- recipes/hwloc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py index b3766fb59545e..06d5183a8393e 100644 --- a/recipes/hwloc/all/conanfile.py +++ b/recipes/hwloc/all/conanfile.py @@ -32,7 +32,7 @@ def configure(self): def requirements(self): if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.12.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 4393fac642bfe53b9d2c6e194872ef6f18b1ba0f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 14:49:52 +0200 Subject: [PATCH 3113/4087] (#21924) cryptopp: add v8.9.0 --- recipes/cryptopp/all/conandata.yml | 7 +++++++ recipes/cryptopp/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 8b52a60c80d57..6ca47dae24406 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "8.9.0": + source: + url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_9_0.tar.gz" + sha256: "ab5174b9b5c6236588e15a1aa1aaecb6658cdbe09501c7981ac8db276a24d9ab" + cmake: + url: "https://github.com/abdes/cryptopp-cmake/archive/CRYPTOPP_8_9_0.tar.gz" + sha256: "191d69061c56602de1610ebf03b44dcf75636006e7e60ef8105bee6472ec0caf" "8.8.0": source: url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_8_0.tar.gz" diff --git a/recipes/cryptopp/config.yml b/recipes/cryptopp/config.yml index 58c17b09dbebf..f7be670f19b31 100644 --- a/recipes/cryptopp/config.yml +++ b/recipes/cryptopp/config.yml @@ -1,4 +1,6 @@ versions: + "8.9.0": + folder: "all" "8.8.0": folder: "all" "8.7.0": From 5e4aca7d74ee78b84f3778b5e8186fe2192c5694 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 14:09:23 +0100 Subject: [PATCH 3114/4087] (#21751) cpp-httplib/all: bump deps * cpp-httplib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py --- recipes/cpp-httplib/all/conanfile.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipes/cpp-httplib/all/conanfile.py b/recipes/cpp-httplib/all/conanfile.py index a9367f94e5c40..7ecbe0a2931e5 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -1,9 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -30,17 +28,13 @@ class CpphttplibConan(ConanFile): } no_copy_source = True - def config_options(self): - if Version(self.version) < "0.7.2": - del self.options.with_brotli - def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") - if self.options.get_safe("with_brotli"): - self.requires("brotli/1.0.9") + if self.options.with_brotli: + self.requires("brotli/1.1.0") def package_id(self): self.info.clear() @@ -72,7 +66,7 @@ def package_info(self): self.cpp_info.defines.append("CPPHTTPLIB_OPENSSL_SUPPORT") if self.options.with_zlib: self.cpp_info.defines.append("CPPHTTPLIB_ZLIB_SUPPORT") - if self.options.get_safe("with_brotli"): + if self.options.with_brotli: self.cpp_info.defines.append("CPPHTTPLIB_BROTLI_SUPPORT") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] From ee69eea932fab3d94d95d71ead5d908f1611ad0a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 15:25:38 +0200 Subject: [PATCH 3115/4087] (#18720) flint: migrate to Conan v2 * flint: migrate to Conan v2 * flint: bump deps * flint: add version 2.9.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * flint: set correct pthreads4w file name, bump deps * flint: conandata hashes have changed * flint: add versions, simplify patching * flint: fix MSVC pthread linking --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/flint/all/CMakeLists.txt | 7 -- recipes/flint/all/conandata.yml | 24 ++-- recipes/flint/all/conanfile.py | 107 ++++++++++-------- .../flint/all/patches/0001-cmake-2.8.1.patch | 63 ----------- recipes/flint/all/patches/0001-cmake.patch | 63 ----------- recipes/flint/all/test_package/CMakeLists.txt | 5 +- recipes/flint/all/test_package/conanfile.py | 21 +++- .../flint/all/test_v1_package/CMakeLists.txt | 8 ++ .../flint/all/test_v1_package/conanfile.py | 17 +++ recipes/flint/config.yml | 6 +- 10 files changed, 121 insertions(+), 200 deletions(-) delete mode 100644 recipes/flint/all/CMakeLists.txt delete mode 100644 recipes/flint/all/patches/0001-cmake-2.8.1.patch delete mode 100644 recipes/flint/all/patches/0001-cmake.patch create mode 100644 recipes/flint/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/flint/all/test_v1_package/conanfile.py diff --git a/recipes/flint/all/CMakeLists.txt b/recipes/flint/all/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/flint/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/flint/all/conandata.yml b/recipes/flint/all/conandata.yml index ca7fe5127f757..9430f00dbd6c3 100644 --- a/recipes/flint/all/conandata.yml +++ b/recipes/flint/all/conandata.yml @@ -1,18 +1,20 @@ sources: - "2.8.1": - url: "https://github.com/wbhart/flint2/archive/refs/tags/v2.8.1.tar.gz" - sha256: "93c4d6acd46d7a4357a2abe313e5f0625fa7e94a1a0e53048f9066f55a7acd49" + "3.0.1": + url: "https://github.com/flintlib/flint/releases/download/v3.0.1/flint-3.0.1.tar.xz" + sha256: "de9ada43c94a69de2e78a5241dc183a1c1ece11e45fe565da7272cf8ed818dd6" + "2.9.0": + url: "https://github.com/wbhart/flint2/archive/v2.9.0.tar.gz" + sha256: "624e0fc343b27a156c0e3bb48d2a644a1ac387aa66217f6753c03a02c80bbf6f" + "2.8.5": + url: "https://github.com/wbhart/flint2/archive/refs/tags/v2.8.5.tar.gz" + sha256: "4d5377e7432e67b0f34f95059a01d243ef29208da86ba3e812d312d323db0d8e" "2.7.1": url: "https://github.com/wbhart/flint2/archive/refs/tags/v2.7.1.tar.gz" - sha256: "bcadc2252e61092a9b3a3198b337e20abeac56078eaa19793ab99ff7a987efb7" + sha256: "80f1b7240f1ee5d15952c33cb0aa27b6395993fe897bc279ad984f4fc2743bd4" patches: - "2.8.1": - - patch_file: "patches/0001-cmake-2.8.1.patch" - base_path: "source_subfolder" + "2.9.0": + - patch_file: "patches/0002-msvc-alloca.patch" + "2.8.5": - patch_file: "patches/0002-msvc-alloca.patch" - base_path: "source_subfolder" "2.7.1": - - patch_file: "patches/0001-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-msvc-alloca.patch" - base_path: "source_subfolder" diff --git a/recipes/flint/all/conanfile.py b/recipes/flint/all/conanfile.py index 29a0ae933dc5f..ef8d2e43bc72f 100644 --- a/recipes/flint/all/conanfile.py +++ b/recipes/flint/all/conanfile.py @@ -1,19 +1,24 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class FlintConan(ConanFile): name = "flint" description = "FLINT (Fast Library for Number Theory)" license = "LGPL-2.1-or-later" - topics = ("math", "numerical") - homepage = "https://www.flintlib.org" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" + homepage = "https://www.flintlib.org" + topics = ("math", "numerical") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,15 +29,8 @@ class FlintConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -40,52 +38,71 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("gmp/6.2.1") - self.requires("mpfr/4.1.0") - if self.settings.compiler == "Visual Studio": + self.requires("gmp/6.3.0", transitive_headers=True, transitive_libs=True) + self.requires("mpfr/4.2.1", transitive_headers=True, transitive_libs=True) + if is_msvc(self): self.requires("pthreads4w/3.0.0") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) - - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() - cmake.build() + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["BUILD_DOCS"] = False - self._cmake.definitions["WITH_NTL"] = False + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["BUILD_DOCS"] = False + tc.cache_variables["WITH_NTL"] = False # IPO/LTO breaks clang builds - self._cmake.definitions["IPO_SUPPORTED"] = False + tc.cache_variables["IPO_SUPPORTED"] = False # No BLAS yet - self._cmake.definitions["CMAKE_DISABLE_FIND_PACKAGE_CBLAS"] = True + tc.cache_variables["CMAKE_DISABLE_FIND_PACKAGE_CBLAS"] = True # handle run in a cross-build - if tools.cross_building(self): - self._cmake.definitions["FLINT_USES_POPCNT_EXITCODE"] = "1" - self._cmake.definitions["FLINT_USES_POPCNT_EXITCODE__TRYRUN_OUTPUT"] = "" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + if cross_building(self): + tc.cache_variables["FLINT_USES_POPCNT_EXITCODE"] = "1" + tc.cache_variables["FLINT_USES_POPCNT_EXITCODE__TRYRUN_OUTPUT"] = "" + tc.generate() + + deps = CMakeDeps(self) + if Version(self.version) <= "3.0.1": + deps.set_property("pthreads4w", "cmake_file_name", "PThreads") + else: + # https://github.com/flintlib/flint/commit/c6cc1078cb55903b0853fb1b6dc660887842dadf + deps.set_property("pthreads4w", "cmake_file_name", "PThreads4W") + deps.set_property("pthreads4w", "cmake_target_name", "PThreads4W::PThreads4W") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "MPFR_", "mpfr_") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.names["cmake_find_package"] = "libflint" - self.cpp_info.names["cmake_find_package_multi"] = "libflint" + self.cpp_info.set_property("cmake_file_name", "libflint") + self.cpp_info.set_property("cmake_target_name", "libflint::libflint") if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["pthread", "m"] self.cpp_info.includedirs.append(os.path.join("include", "flint")) - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ["flint"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "libflint" + self.cpp_info.names["cmake_find_package_multi"] = "libflint" diff --git a/recipes/flint/all/patches/0001-cmake-2.8.1.patch b/recipes/flint/all/patches/0001-cmake-2.8.1.patch deleted file mode 100644 index bfb50ddd978c7..0000000000000 --- a/recipes/flint/all/patches/0001-cmake-2.8.1.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2616d0669..6fa4cf5f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -46,7 +46,10 @@ endif() - # pthread configuration - - if(MSVC) -- find_package(PThreads REQUIRED) -+ #find_package(PThreads REQUIRED) -+ set(PThreads_FOUND TRUE) -+ set(PThreads_LIBRARIES "${CONAN_LIBS_PTHREADS4W}") -+ set(PThreads_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_PTHREADS4W}") - set(FLINT_USES_PTHREAD ON CACHE BOOL "Use POSIX Threads.") - else() - option(CMAKE_THREAD_PREFER_PTHREAD "Prefer pthreads" yes) -@@ -101,9 +104,9 @@ set(HEADERS - ) - - foreach (build_dir IN LISTS BUILD_DIRS TEMPLATE_DIRS) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.c") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.c") - list(APPEND SOURCES ${TEMP}) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.h") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.h") - list(APPEND HEADERS ${TEMP}) - endforeach () - -@@ -112,7 +115,7 @@ execute_process( - " - from os.path import join - --with open(join('${CMAKE_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: -+with open(join('${CMAKE_CURRENT_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: - with open('CPimport.h.in', 'w+') as fout: - while True: - l = fin.readline() -@@ -212,14 +215,14 @@ endif() - set(TEMP ${HEADERS}) - set(HEADERS ) - foreach(header IN LISTS TEMP) -- if(EXISTS ${CMAKE_SOURCE_DIR}/${header}) -+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${header}) - list(APPEND HEADERS ${header}) - else() -- list(APPEND HEADERS ${CMAKE_BINARY_DIR}/${header}) -+ list(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${header}) - endif() - endforeach() - --file(GLOB TEMP "${CMAKE_SOURCE_DIR}/*.h") -+file(GLOB TEMP "${CMAKE_CURRENT_SOURCE_DIR}/*.h") - list(APPEND HEADERS ${TEMP}) - - add_library(flint ${SOURCES}) -@@ -236,6 +239,7 @@ endif() - target_include_directories(flint PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} ${GMP_INCLUDE_DIRS} ${MPFR_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR} ${PThreads_INCLUDE_DIRS} -+ ${CMAKE_BINARY_DIR} - ${NTL_INCLUDE_DIR} - ) - diff --git a/recipes/flint/all/patches/0001-cmake.patch b/recipes/flint/all/patches/0001-cmake.patch deleted file mode 100644 index 9e5780c52e94b..0000000000000 --- a/recipes/flint/all/patches/0001-cmake.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 11ff789a7..80a45f90f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -46,7 +46,10 @@ endif() - # pthread configuration - - if(MSVC) -- find_package(PThreads REQUIRED) -+ #find_package(PThreads REQUIRED) -+ set(PThreads_FOUND TRUE) -+ set(PThreads_LIBRARIES "${CONAN_LIBS_PTHREADS4W}") -+ set(PThreads_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_PTHREADS4W}") - set(FLINT_USES_PTHREAD ON CACHE BOOL "Use POSIX Threads.") - else() - option(CMAKE_THREAD_PREFER_PTHREAD "Prefer pthreads" yes) -@@ -99,9 +102,9 @@ set(HEADERS - ) - - foreach (build_dir IN LISTS BUILD_DIRS TEMPLATE_DIRS) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.c") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.c") - list(APPEND SOURCES ${TEMP}) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.h") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.h") - list(APPEND HEADERS ${TEMP}) - endforeach () - -@@ -110,7 +113,7 @@ execute_process( - " - from os.path import join - --with open(join('${CMAKE_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: -+with open(join('${CMAKE_CURRENT_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: - with open('CPimport.h.in', 'w+') as fout: - while True: - l = fin.readline() -@@ -210,14 +213,14 @@ endif() - set(TEMP ${HEADERS}) - set(HEADERS ) - foreach(header IN LISTS TEMP) -- if(EXISTS ${CMAKE_SOURCE_DIR}/${header}) -+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${header}) - list(APPEND HEADERS ${header}) - else() -- list(APPEND HEADERS ${CMAKE_BINARY_DIR}/${header}) -+ list(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${header}) - endif() - endforeach() - --file(GLOB TEMP "${CMAKE_SOURCE_DIR}/*.h") -+file(GLOB TEMP "${CMAKE_CURRENT_SOURCE_DIR}/*.h") - list(APPEND HEADERS ${TEMP}) - - add_library(flint ${SOURCES}) -@@ -234,6 +237,7 @@ endif() - target_include_directories(flint PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} ${GMP_INCLUDE_DIRS} ${MPFR_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR} ${PThreads_INCLUDE_DIRS} -+ ${CMAKE_BINARY_DIR} - ${NTL_INCLUDE_DIR} - ) - diff --git a/recipes/flint/all/test_package/CMakeLists.txt b/recipes/flint/all/test_package/CMakeLists.txt index e0200ac7628d3..735196242a02e 100644 --- a/recipes/flint/all/test_package/CMakeLists.txt +++ b/recipes/flint/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(libflint REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/flint/all/test_package/conanfile.py b/recipes/flint/all/test_package/conanfile.py index b6a26067f365d..ef5d7042163ec 100644 --- a/recipes/flint/all/test_package/conanfile.py +++ b/recipes/flint/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/flint/all/test_v1_package/CMakeLists.txt b/recipes/flint/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/flint/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flint/all/test_v1_package/conanfile.py b/recipes/flint/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b6a26067f365d --- /dev/null +++ b/recipes/flint/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/flint/config.yml b/recipes/flint/config.yml index fed2a63c4da2b..db7f74434bfa0 100644 --- a/recipes/flint/config.yml +++ b/recipes/flint/config.yml @@ -1,5 +1,9 @@ versions: - "2.8.1": + "3.0.1": + folder: all + "2.9.0": + folder: all + "2.8.5": folder: all "2.7.1": folder: all From 323292d9f87b15edc7dff7a60a49d3daf3c0b988 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 15:56:03 +0200 Subject: [PATCH 3116/4087] (#18987) libid3tag: migrate to Conan v2 * libid3tag: migrate to Conan v2 * libid3tag: use AutotoolsDeps * libid3tag: disable shared build on armv8 * libid3tag: zlib/[>=1.2.11 <2] * libid3tag: replace legacy VS project with CMakeLists.txt * libid3tag: fix autotools package() * libid3tag: make the armv8 check specific to cross-building * Update recipes/libid3tag/all/conanfile.py Co-authored-by: Uilian Ries * libid3tag: add missing import --------- Co-authored-by: Uilian Ries --- recipes/libid3tag/all/CMakeLists.txt | 21 ++ recipes/libid3tag/all/conanfile.py | 179 +++++++++--------- .../libid3tag/all/test_package/CMakeLists.txt | 7 +- .../libid3tag/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 6 files changed, 152 insertions(+), 101 deletions(-) create mode 100644 recipes/libid3tag/all/CMakeLists.txt create mode 100644 recipes/libid3tag/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libid3tag/all/test_v1_package/conanfile.py diff --git a/recipes/libid3tag/all/CMakeLists.txt b/recipes/libid3tag/all/CMakeLists.txt new file mode 100644 index 0000000000000..cbee8d19a93e7 --- /dev/null +++ b/recipes/libid3tag/all/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.15) +project(libid3tag LANGUAGES C) + +file(GLOB SOURCES "*.c" "*.h") +add_library(libid3tag ${SOURCES} ${HEADERS}) +target_include_directories(libid3tag PRIVATE msvc++) + +# https://github.com/markjeee/libid3tag/blob/master/msvc%2B%2B/libid3tag.dsp#L43-L44 +target_compile_options(libid3tag PRIVATE /W2 "$<$:/Od;/GZ>" "$<$:/O2>") +target_compile_definitions(libid3tag PRIVATE HAVE_CONFIG_H "$<$:DEBUG;>" "$<$:NDEBUG>") +set_property(TARGET libid3tag PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS ON) + +find_package(ZLIB REQUIRED CONFIG) +target_link_libraries(libid3tag PRIVATE ZLIB::ZLIB) + +install(TARGETS libid3tag + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) +install(FILES id3tag.h DESTINATION include) diff --git a/recipes/libid3tag/all/conanfile.py b/recipes/libid3tag/all/conanfile.py index ec346961d3ce4..39074d29616bc 100644 --- a/recipes/libid3tag/all/conanfile.py +++ b/recipes/libid3tag/all/conanfile.py @@ -1,28 +1,39 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, MSBuild -from conans.errors import ConanInvalidConfiguration import os -import shutil -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, rm, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class LibId3TagConan(ConanFile): name = "libid3tag" description = "ID3 tag manipulation library." - topics = ("conan", "mad", "id3", "MPEG", "audio", "decoder") + license = "GPL-2.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.underbit.com/products/mad/" - license = "GPL-2.0-or-later" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generator = "pkg_config", "visual_studio" + topics = ("mad", "id3", "MPEG", "audio", "decoder") - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -30,95 +41,81 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def requirements(self): - self.requires("zlib/1.2.11") + def layout(self): + if is_msvc(self): + cmake_layout(self, src_folder="src") + else: + basic_layout(self, src_folder="src") - @property - def _is_msvc(self): - return self.settings.compiler == "Visual Studio" or ( - self.settings.compiler == "clang" and self.settings.os == "Windows" - ) + def requirements(self): + self.requires("zlib/[>=1.2.11 <2]") def validate(self): - if self._is_msvc and self.options.shared: - raise ConanInvalidConfiguration("libid3tag does not support shared library for MSVC") - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + if cross_building(self) and self.settings.arch == "armv8" and self.options.shared: + # https://github.com/conan-io/conan-center-index/pull/18987#issuecomment-1668243831 + raise ConanInvalidConfiguration("shared library cross-building is not supported for armv8") def build_requirements(self): - if not self._is_msvc: - self.build_requires("gnu-config/cci.20201022") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + if not is_msvc(self): + self.tool_requires("gnu-config/cci.20210814") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + tc = CMakeToolchain(self) + tc.preprocessor_definitions["ID3TAG_EXPORT"] = "__declspec(dllexport)" if self.options.shared else "" + tc.generate() + deps = CMakeDeps(self) + deps.generate() + else: + venv = VirtualBuildEnv(self) + venv.generate() + tc = AutotoolsToolchain(self) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() def build(self): - if self._is_msvc: - self._build_msvc() + if is_msvc(self): + # https://github.com/markjeee/libid3tag/blob/master/id3tag.h#L355-L358 + replace_in_file(self, os.path.join(self.source_folder, "id3tag.h"), + "extern char", "ID3TAG_EXPORT extern char") + cmake = CMake(self) + cmake.configure() + cmake.build() else: - self._build_autotools() - - def _build_msvc(self): - kwargs = {} - with tools.chdir(os.path.join(self._source_subfolder, "msvc++")): - # cl : Command line error D8016: '/ZI' and '/Gy-' command-line options are incompatible - tools.replace_in_file("libid3tag.dsp", "/ZI ", "") - if self.settings.compiler == "clang": - tools.replace_in_file("libid3tag.dsp", "CPP=cl.exe", "CPP=clang-cl.exe") - tools.replace_in_file("libid3tag.dsp", "RSC=rc.exe", "RSC=llvm-rc.exe") - kwargs["toolset"] = "ClangCl" - if self.settings.arch == "x86_64": - tools.replace_in_file("libid3tag.dsp", "Win32", "x64") - with tools.vcvars(self.settings): - self.run("devenv /Upgrade libid3tag.dsp") - msbuild = MSBuild(self) - msbuild.build(project_file="libid3tag.vcxproj", **kwargs) - - def _configure_autotools(self): - if not self._autotools: - if self.options.shared: - args = ["--disable-static", "--enable-shared"] - else: - args = ["--disable-shared", "--enable-static"] - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - - def _build_autotools(self): - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "config.guess")) - autotools = self._configure_autotools() - autotools.make() - - def _install_autotools(self): - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), os.path.dirname(gnu_config), self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy("COPYRIGHT", dst="licenses", src=self._source_subfolder) - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("CREDITS", dst="licenses", src=self._source_subfolder) - if self._is_msvc: - self.copy(pattern="*.lib", dst="lib", src=self._source_subfolder, keep_path=False) - self.copy(pattern="id3tag.h", dst="include", src=self._source_subfolder) + for license_file in ["COPYRIGHT", "COPYING", "CREDITS"]: + copy(self, license_file, self.source_folder, os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + cmake = CMake(self) + cmake.install() else: - self._install_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", self.package_folder, recursive=True) def package_info(self): - self.cpp_info.libs = ["libid3tag" if self._is_msvc else "id3tag"] + if is_msvc(self): + self.cpp_info.libs = ["libid3tag"] + self.cpp_info.defines.append("ID3TAG_EXPORT=" + ("__declspec(dllimport)" if self.options.shared else "")) + else: + self.cpp_info.libs = ["id3tag"] diff --git a/recipes/libid3tag/all/test_package/CMakeLists.txt b/recipes/libid3tag/all/test_package/CMakeLists.txt index 7b9b613cbb24a..5735549609ad1 100644 --- a/recipes/libid3tag/all/test_package/CMakeLists.txt +++ b/recipes/libid3tag/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libid3tag REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libid3tag::libid3tag) diff --git a/recipes/libid3tag/all/test_package/conanfile.py b/recipes/libid3tag/all/test_package/conanfile.py index d4128b0450777..ef5d7042163ec 100644 --- a/recipes/libid3tag/all/test_package/conanfile.py +++ b/recipes/libid3tag/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libid3tag/all/test_v1_package/CMakeLists.txt b/recipes/libid3tag/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libid3tag/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libid3tag/all/test_v1_package/conanfile.py b/recipes/libid3tag/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/libid3tag/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 56d66834f2a0c599f8d4e87bf37e6f1f94d1688a Mon Sep 17 00:00:00 2001 From: cyberflashguru Date: Tue, 26 Dec 2023 09:15:58 -0500 Subject: [PATCH 3117/4087] (#20693) libiconv: apply x86 resource patch --- recipes/libiconv/all/conanfile.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/libiconv/all/conanfile.py b/recipes/libiconv/all/conanfile.py index 544fb2b4ab962..2117c9f4edde3 100644 --- a/recipes/libiconv/all/conanfile.py +++ b/recipes/libiconv/all/conanfile.py @@ -9,7 +9,8 @@ get, rename, rm, - rmdir + rmdir, + replace_in_file ) from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -119,8 +120,15 @@ def generate(self): env.define("win32_target", "_WIN32_WINNT_VISTA") tc.generate(env) - def build(self): + def _apply_resource_patch(self): + if self.settings.arch == "x86": + windres_options_path = os.path.join(self.source_folder, "windows", "windres-options") + self.output.info("Applying {} resource patch: {}".format(self.settings.arch, windres_options_path)) + replace_in_file(self, windres_options_path, '# PACKAGE_VERSION_SUBMINOR', '# PACKAGE_VERSION_SUBMINOR\necho "--target=pe-i386"', strict=True) + + def build(self): apply_conandata_patches(self) + self._apply_resource_patch() autotools = Autotools(self) autotools.configure() autotools.make() From 777c51e136b37cf45998d1dc070232f19d92fd93 Mon Sep 17 00:00:00 2001 From: Stanislav Antonov Date: Tue, 26 Dec 2023 17:37:13 +0300 Subject: [PATCH 3118/4087] (#21480) re2c: Add RE2C_STDLIB_DIR variable with re2c stdlib --- recipes/re2c/all/conanfile.py | 8 ++++++++ recipes/re2c/all/test_package/CMakeLists.txt | 4 +++- recipes/re2c/all/test_package/syntax.re | 17 ++++++++++++++--- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/recipes/re2c/all/conanfile.py b/recipes/re2c/all/conanfile.py index dcc666816d3e4..99f065993da70 100644 --- a/recipes/re2c/all/conanfile.py +++ b/recipes/re2c/all/conanfile.py @@ -91,6 +91,10 @@ def package(self): src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), keep_path=False) + copy(self, "*.re", + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include"), + keep_path=False) with chdir(self, self.source_folder): autotools = Autotools(self) autotools.install() @@ -102,6 +106,10 @@ def package_info(self): self.cpp_info.resdirs = [] self.cpp_info.includedirs = [] + include_dir = os.path.join(self.package_folder, "include") + self.buildenv_info.define("RE2C_STDLIB_DIR", include_dir) + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") self.env_info.PATH.append(bin_path) + self.env_info.RE2C_STDLIB_DIR = include_dir diff --git a/recipes/re2c/all/test_package/CMakeLists.txt b/recipes/re2c/all/test_package/CMakeLists.txt index db2c3e52befc0..9ba5cb966b406 100644 --- a/recipes/re2c/all/test_package/CMakeLists.txt +++ b/recipes/re2c/all/test_package/CMakeLists.txt @@ -1,8 +1,10 @@ cmake_minimum_required(VERSION 3.15) project(test_package C) +find_program(RE2C NAMES re2c) + add_custom_command(OUTPUT test_package.c - COMMAND re2c -W "${CMAKE_CURRENT_LIST_DIR}/syntax.re" -o test_package.c + COMMAND "${RE2C}" -W "${CMAKE_CURRENT_LIST_DIR}/syntax.re" -I "$ENV{RE2C_STDLIB_DIR}" -o test_package.c ) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/re2c/all/test_package/syntax.re b/recipes/re2c/all/test_package/syntax.re index b1b909b54562f..b2d424b9894c3 100644 --- a/recipes/re2c/all/test_package/syntax.re +++ b/recipes/re2c/all/test_package/syntax.re @@ -1,16 +1,21 @@ #include +#include + +/*!include:re2c "unicode_categories.re" */ /*!max:re2c*/ /*!re2c digit = [0-9]; number = digit+; + word = L+; */ static int lex(const char *YYCURSOR) { const char *YYMARKER; /*!re2c - re2c:define:YYCTYPE = char; + re2c:flags:utf-8 = 1; + re2c:define:YYCTYPE = 'unsigned char'; re2c:yyfill:enable = 0; * { return 1; } @@ -20,12 +25,18 @@ static int lex(const char *YYCURSOR) return 0; } + word { + printf("word\n"); + return 0; + } + */ } int main() { - lex("1024"); - lex(";]"); + assert(lex("1024") == 0); + assert(lex(";]") == 1); + assert(lex("Слово") == 0); return 0; } From d7324068cc6c4745a74be761644b690f3c146589 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 23:59:58 +0900 Subject: [PATCH 3119/4087] (#21748) glaze: add version 1.9.8.1 * glaze: add version 1.9.6 * update 1.9.7 * add minor version check for Visual Studio * update to 1.9.8.1 * revert Visual Studio version check * revert expected include fix * add condtion to apply patch * remove decay for msvc * use stdd:decay * create PR for MSVC minor bug --- recipes/glaze/all/conandata.yml | 9 +++++++++ recipes/glaze/all/conanfile.py | 9 +++++++-- .../all/patches/1.9.8.1-0001-fix-msvc-bug.patch | 13 +++++++++++++ recipes/glaze/config.yml | 2 ++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 049a93b0fe130..f1d83d415a573 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.8.1": + url: "https://github.com/stephenberry/glaze/archive/v1.9.8.1.tar.gz" + sha256: "f1dd8d93440096d186695814848c9cd350a9ec5b0e114e933579ef2467a35558" "1.9.5": url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz" sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f" @@ -23,3 +26,9 @@ sources: "1.6.1": url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" +patches: + "1.9.8.1": + - patch_file: "patches/1.9.8.1-0001-fix-msvc-bug.patch" + patch_description: "workaround MSVC compilation error for some versions" + patch_type: "portability" + patch_source: "https://github.com/stephenberry/glaze/pull/653" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index f991920259f6a..3e5f358c8c908 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.layout import basic_layout @@ -17,7 +17,6 @@ class GlazeConan(ConanFile): topics = ("json", "memory", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -33,6 +32,9 @@ def _compilers_minimum_version(self): "apple-clang": "13.1", } + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -51,6 +53,9 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def build(self): + apply_conandata_patches(self) + def package(self): copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( diff --git a/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch b/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch new file mode 100644 index 0000000000000..c1c12e5675383 --- /dev/null +++ b/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch @@ -0,0 +1,13 @@ +diff --git a/include/glaze/csv/write.hpp b/include/glaze/csv/write.hpp +index 4c2c24b..68b513a 100644 +--- a/include/glaze/csv/write.hpp ++++ b/include/glaze/csv/write.hpp +@@ -205,7 +205,7 @@ namespace glz + using Element = glaze_tuple_element; + static constexpr size_t member_index = Element::member_index; + +- using item_type = std::decay_t; ++ using item_type = typename std::decay::type; + using value_type = typename item_type::value_type; + + static constexpr sv key = key_name; diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 2c2e8c3fdb89e..67a1488ea93f4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.8.1": + folder: all "1.9.5": folder: all "1.8.5": From 636d3e4dfcc9fd2befc8b98e158b5f6805670209 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 16:20:31 +0100 Subject: [PATCH 3120/4087] (#21803) hazelcast-cpp-client/all: bump deps * hazelcast-cpp-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py * Update conanfile.py * simplify test package * Update recipes/hazelcast-cpp-client/all/conanfile.py Co-authored-by: Uilian Ries * fix test program --------- Co-authored-by: Uilian Ries --- recipes/hazelcast-cpp-client/all/conanfile.py | 5 +---- .../all/test_package/test_package.cpp | 9 ++------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/recipes/hazelcast-cpp-client/all/conanfile.py b/recipes/hazelcast-cpp-client/all/conanfile.py index a46e46f6fda67..b58eed49bb2fa 100644 --- a/recipes/hazelcast-cpp-client/all/conanfile.py +++ b/recipes/hazelcast-cpp-client/all/conanfile.py @@ -2,7 +2,6 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir -from conan.tools.scm import Version import os @@ -44,7 +43,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.79.0", transitive_headers=True, transitive_libs=True) + self.requires("boost/1.83.0", transitive_headers=True, transitive_libs=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") @@ -58,8 +57,6 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["WITH_OPENSSL"] = self.options.with_openssl - if Version(self.version) <= "4.0.0": - tc.variables["BUILD_STATIC_LIB"] = not self.options.shared tc.generate() deps = CMakeDeps(self) diff --git a/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp b/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp index 485a5dcd244e1..1352f7b0b0a1b 100644 --- a/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp +++ b/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp @@ -1,12 +1,7 @@ #include +#include int main() { - hazelcast::client::client_config config; - config.get_connection_strategy_config().get_retry_config().set_cluster_connect_timeout(std::chrono::seconds(1)); - - try { - auto hz = hazelcast::new_client(std::move(config)).get(); - } catch (std::exception &e) { - } + std::cout << "Hazelcast version: " << hazelcast::client::version(); return EXIT_SUCCESS; } From 68dbba3107745eb1823bd20ed9596ae9bfe7b38f Mon Sep 17 00:00:00 2001 From: OgStilla <53813467+OrianeGourdyStilla@users.noreply.github.com> Date: Tue, 26 Dec 2023 16:29:12 +0100 Subject: [PATCH 3121/4087] (#21873) (#21870) restinio/0.7: build with Visual Studio 2019 --- recipes/restinio/v0.7/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py index 962616c9f35c2..b56146cd43b19 100644 --- a/recipes/restinio/v0.7/conanfile.py +++ b/recipes/restinio/v0.7/conanfile.py @@ -67,7 +67,7 @@ def validate(self): "gcc": "9", "clang": "10", "apple-clang": "11", - "Visual Studio": "17", + "Visual Studio": "15", "msvc": "191" } From 15f5dd04355235c143d2864db1b1028b669b4ead Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Tue, 26 Dec 2023 16:48:14 +0100 Subject: [PATCH 3122/4087] (#21886) Add cppcheck 2.13 * Add cppcheck 2.13 * add entry to config.yml * Update conandata.yml * Update conandata.yml --- recipes/cppcheck/all/conandata.yml | 3 +++ recipes/cppcheck/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index 309e9e9115ce0..d0f5a27793e17 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13": + url: "https://github.com/danmar/cppcheck/archive/2.13.0.tar.gz" + sha256: "8229afe1dddc3ed893248b8a723b428dc221ea014fbc76e6289840857c03d450" "2.12.1": url: "https://github.com/danmar/cppcheck/archive/2.12.1.tar.gz" sha256: "2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2" diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 0fb8b3e88183b..654cfb904a00d 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,4 +1,6 @@ versions: + "2.13": + folder: all "2.12.1": folder: all "2.12": From 513bc2c0130ec0301e74a802f85bdcd0437a8f4c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 01:08:28 +0900 Subject: [PATCH 3123/4087] (#21888) commata: create patch file for 0.2.7 --- recipes/commata/all/conandata.yml | 6 ++++++ recipes/commata/all/conanfile.py | 13 +++++-------- .../all/patches/0.2.7-0001-include-optional.patch | 12 ++++++++++++ 3 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 recipes/commata/all/patches/0.2.7-0001-include-optional.patch diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index fae0216296235..2f4d1cb571d15 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -14,3 +14,9 @@ sources: "0.2.5": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.5.tar.gz" sha256: "d1be1f366267af6c466c29f846f5968f57626a8a6635a2ea9a3de3f6fb88e53b" +patches: + "0.2.7": + - patch_file: "patches/0.2.7-0001-include-optional.patch" + patch_description: "include header" + patch_type: "portability" + patch_source: "https://github.com/furfurylic/commata/pull/2" diff --git a/recipes/commata/all/conanfile.py b/recipes/commata/all/conanfile.py index a0114ee35e73d..6ca8695676403 100644 --- a/recipes/commata/all/conanfile.py +++ b/recipes/commata/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import get, copy, replace_in_file +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches from conan.tools.layout import basic_layout from conan.tools.scm import Version import os @@ -19,7 +19,6 @@ class CommataConan(ConanFile): topics = ("csv", "parser", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -35,6 +34,9 @@ def _compilers_minimum_version(self): "apple-clang": "12", } + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -54,12 +56,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - # waiting for merge PR and release newer version. https://github.com/furfurylic/commata/pull/2 - if Version(self.version) >= "0.2.7": - replace_in_file(self, os.path.join(self.source_folder, "include", "commata", "typing_aid.hpp"), - "#include ", - """#include -#include """) + apply_conandata_patches(self) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) diff --git a/recipes/commata/all/patches/0.2.7-0001-include-optional.patch b/recipes/commata/all/patches/0.2.7-0001-include-optional.patch new file mode 100644 index 0000000000000..3ad57ce44c1c1 --- /dev/null +++ b/recipes/commata/all/patches/0.2.7-0001-include-optional.patch @@ -0,0 +1,12 @@ +diff --git a/include/commata/typing_aid.hpp b/include/commata/typing_aid.hpp +index adf9c6e..c1365d4 100644 +--- a/include/commata/typing_aid.hpp ++++ b/include/commata/typing_aid.hpp +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + namespace commata::detail { + From a0fee0e35b2be5d1ef2c8e14e25acbee0cbf601e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 26 Dec 2023 17:28:25 +0100 Subject: [PATCH 3124/4087] (#21901) libmetalink: bump deps --- recipes/libmetalink/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmetalink/all/conanfile.py b/recipes/libmetalink/all/conanfile.py index a17aa7f18af8a..3068e2cbb52f3 100644 --- a/recipes/libmetalink/all/conanfile.py +++ b/recipes/libmetalink/all/conanfile.py @@ -55,7 +55,7 @@ def requirements(self): if self.options.xml_backend == "expat": self.requires("expat/2.5.0") elif self.options.xml_backend == "libxml2": - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.12.2") def validate(self): if is_msvc(self): @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 669b8261c41daebdc7dc99c86c7d9533379e1c88 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 18:48:26 +0200 Subject: [PATCH 3125/4087] (#21935) dav1d: add v1.3.0 --- recipes/dav1d/all/conandata.yml | 3 +++ recipes/dav1d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dav1d/all/conandata.yml b/recipes/dav1d/all/conandata.yml index 7841b712b35c9..a478887dc4fcc 100644 --- a/recipes/dav1d/all/conandata.yml +++ b/recipes/dav1d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "http://ftp.videolan.org/pub/videolan/dav1d/1.3.0/dav1d-1.3.0.tar.xz" + sha256: "6d8be2741c505c47f8f1ced3c9cc427759243436553d01d1acce201f87b39e71" "1.2.1": url: "http://ftp.videolan.org/pub/videolan/dav1d/1.2.1/dav1d-1.2.1.tar.xz" sha256: "4e33eb61ec54c768a16da0cf8fa0928b4c4593f5f804a3c887d4a21c318340b2" diff --git a/recipes/dav1d/config.yml b/recipes/dav1d/config.yml index 2ef77329e43db..21233fe470f83 100644 --- a/recipes/dav1d/config.yml +++ b/recipes/dav1d/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: "all" "1.2.1": folder: "all" "1.1.0": From 84702ed75b2a928acdaf52a7fe69059125ee411b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 19:08:20 +0200 Subject: [PATCH 3126/4087] (#21936) cimg: add v3.3.2 --- recipes/cimg/all/conandata.yml | 3 +++ recipes/cimg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index df56684723fbd..96bd683acd199 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.2": + url: "https://cimg.eu/files/CImg_3.3.2.zip" + sha256: "d49ecd63b46f53ddcee5c7695ddb0fe8b07e033bb81b5ed075cfe352462c5f73" "3.3.0": url: "https://cimg.eu/files/CImg_3.3.0.zip" sha256: "d5eecb3551fc1966a9aac8637dc643bf6049e2b1b1a1f9deec3069e289ee1d65" diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index 0ba296b3e93c6..70cd903d901e9 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.2": + folder: all "3.3.0": folder: all "3.2.6": From 5fc2d193ad4c4035c43426c4616b3161cfe0a984 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 02:31:36 +0900 Subject: [PATCH 3127/4087] (#21487) aws-c-auth: add version 0.7.8 --- recipes/aws-c-auth/all/conandata.yml | 3 +++ recipes/aws-c-auth/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-auth/all/conandata.yml b/recipes/aws-c-auth/all/conandata.yml index 47648a4e54a57..027010126b13f 100644 --- a/recipes/aws-c-auth/all/conandata.yml +++ b/recipes/aws-c-auth/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.8": + url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.8.tar.gz" + sha256: "5db8ab91262b5c055e3634f2c9dc2bc1a3285c2dd5513fdcafcb3e79468dc7de" "0.7.7": url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.7.tar.gz" sha256: "ea3c9e75b59b36aaf9147deec655d1669f197745bbe914cd3b8e234740be29ba" diff --git a/recipes/aws-c-auth/config.yml b/recipes/aws-c-auth/config.yml index 244301baade46..8edcc1ff10f28 100644 --- a/recipes/aws-c-auth/config.yml +++ b/recipes/aws-c-auth/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.8": + folder: all "0.7.7": folder: all "0.6.17": From a04ba3b93e8198e054bfd50d1ea081119e07f168 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 19:48:15 +0200 Subject: [PATCH 3128/4087] (#21939) bzip2: fix project URL --- recipes/bzip2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/bzip2/all/conanfile.py b/recipes/bzip2/all/conanfile.py index 9bba05c82a828..2a39045a8299d 100644 --- a/recipes/bzip2/all/conanfile.py +++ b/recipes/bzip2/all/conanfile.py @@ -11,7 +11,7 @@ class Bzip2Conan(ConanFile): name = "bzip2" url = "https://github.com/conan-io/conan-center-index" - homepage = "http://www.bzip.org" + homepage = "https://sourceware.org/bzip2" license = "bzip2-1.0.8" description = "bzip2 is a free and open-source file compression program that uses the Burrows Wheeler algorithm." topics = ("data-compressor", "file-compression") From 0e62da47718d1fbb60cb68b6dee37f898415707e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 20:10:38 +0200 Subject: [PATCH 3129/4087] (#21940) mozilla-build: add v4.0.2 --- recipes/mozilla-build/all/conandata.yml | 5 +++++ recipes/mozilla-build/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/mozilla-build/all/conandata.yml b/recipes/mozilla-build/all/conandata.yml index 5311816d69140..170e338726163 100644 --- a/recipes/mozilla-build/all/conandata.yml +++ b/recipes/mozilla-build/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.0.2": + - url: "https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-4.0.2.exe" + sha256: "a7b84c266fc8908a925f6a788f46226aa76507e1b43230f7a63db6e1b1384ed1" + - url: "https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt" + sha256: "fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85" "3.3": - url: "https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-3.3.exe" sha256: "ac86e5794c6a99c25dee0b60720c7cfd9833ec64785c74838723179830749c9c" diff --git a/recipes/mozilla-build/config.yml b/recipes/mozilla-build/config.yml index e5e834cfda633..2bc9098fbced7 100644 --- a/recipes/mozilla-build/config.yml +++ b/recipes/mozilla-build/config.yml @@ -1,3 +1,5 @@ versions: + "4.0.2": + folder: all "3.3": folder: all From d7d8c6cdcf69cc740b51848307864a5b9e5e4180 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 20:32:56 +0200 Subject: [PATCH 3130/4087] (#21941) mujs: add v1.3.4 --- recipes/mujs/all/conandata.yml | 3 +++ recipes/mujs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mujs/all/conandata.yml b/recipes/mujs/all/conandata.yml index 8b8c95eb04cf4..3a69126dc4af3 100644 --- a/recipes/mujs/all/conandata.yml +++ b/recipes/mujs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.4": + url: "https://mujs.com/downloads/mujs-1.3.4.tar.gz" + sha256: "c015475880f6a382e706169c94371a7dd6cc22078832f6e0865af8289c2ef42b" "1.1.2": url: "https://mujs.com/downloads/mujs-1.1.2.tar.xz" sha256: "719e882bb7d98640efa163381e9b68ef1ce35c87a422e2aa4190c9e40225875d" diff --git a/recipes/mujs/config.yml b/recipes/mujs/config.yml index 8d13aefb6b4fb..f0766a7d62e0c 100644 --- a/recipes/mujs/config.yml +++ b/recipes/mujs/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.4": + folder: all "1.1.2": folder: all From 6e0881230686ac0e947ea001faac7e40f299713e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 03:42:17 +0900 Subject: [PATCH 3131/4087] (#21946) rapidfuzz: add version 3.0.0 --- recipes/rapidfuzz/all/conandata.yml | 3 +++ recipes/rapidfuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index f9ef7412f8274..c548146b1f784 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v3.0.0.tar.gz" + sha256: "26a76c5a881c07638567557c1d73f6601f0d444816de03f297d731b1e019f21b" "2.2.3": url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.3.tar.gz" sha256: "df4412e9593945782de2212095bd4b70a8f8e63ae8f313976c616809be124d2c" diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index 71b60f681064b..ccf581bfbc4ab 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: "all" "2.2.3": folder: "all" "2.2.0": From da6f6de8f4dec19196cdc100866d5b6aec3d3eff Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 00:28:22 +0200 Subject: [PATCH 3132/4087] (#21955) libunistring: add v1.1 --- recipes/libunistring/all/conandata.yml | 7 +++++-- recipes/libunistring/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libunistring/all/conandata.yml b/recipes/libunistring/all/conandata.yml index c22acd0ca0e42..60207a8f26db0 100644 --- a/recipes/libunistring/all/conandata.yml +++ b/recipes/libunistring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1": + url: "https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.xz" + sha256: "827c1eb9cb6e7c738b171745dac0888aa58c5924df2e59239318383de0729b98" "0.9.10": - url: "https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.gz" - sha256: "a82e5b333339a88ea4608e4635479a1cfb2e01aafb925e1290b65710d43f610b" + url: "https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.xz" + sha256: "eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7" diff --git a/recipes/libunistring/config.yml b/recipes/libunistring/config.yml index b2646e05f90e5..1418b6cb6cc09 100644 --- a/recipes/libunistring/config.yml +++ b/recipes/libunistring/config.yml @@ -1,3 +1,5 @@ versions: + "1.1": + folder: all "0.9.10": folder: all From 5aca02748dccfa117b2b94284f262aaf51721e0b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 00:48:07 +0200 Subject: [PATCH 3133/4087] (#21958) libgpg-error: add v1.47 --- recipes/libgpg-error/all/conandata.yml | 3 +++ recipes/libgpg-error/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libgpg-error/all/conandata.yml b/recipes/libgpg-error/all/conandata.yml index 256bc1f28533a..c6271e8ce4d72 100644 --- a/recipes/libgpg-error/all/conandata.yml +++ b/recipes/libgpg-error/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.47": + url: "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.47.tar.gz" + sha256: "685d4bd9d05576c4fc7f0870903dfdfbe41f2dd6a12e76fd8bd1717278f6b365" "1.36": url: "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.gz" sha256: "493a3a5e0ac0eb4df8501039f351459d8901d213a834d8c5a453a8ed94858ba5" diff --git a/recipes/libgpg-error/config.yml b/recipes/libgpg-error/config.yml index f10713a7746e2..be46539e39213 100644 --- a/recipes/libgpg-error/config.yml +++ b/recipes/libgpg-error/config.yml @@ -1,3 +1,5 @@ versions: + "1.47": + folder: all "1.36": folder: all From e4302fc3b12102b075784f7f1c592e099184b739 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 27 Dec 2023 00:08:02 +0100 Subject: [PATCH 3134/4087] (#21960) meson: add version 1.3.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 581541e8b30e4..28c305f4e6b32 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://github.com/mesonbuild/meson/archive/1.3.1.tar.gz" + sha256: "274c121edb859602eb4589d31d8791e980748bb19950fc6f611a21d76dc22cc6" "1.3.0": url: "https://github.com/mesonbuild/meson/releases/download/1.3.0/meson-1.3.0.tar.gz" sha256: "4ba253ef60e454e23234696119cbafa082a0aead0bd3bbf6991295054795f5dc" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 04538c604ee46..391274cd2a1ed 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.3.0": folder: all "1.2.3": From 03d557629425013046bcf09bcad3640b3a849393 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 27 Dec 2023 03:27:42 +0100 Subject: [PATCH 3135/4087] (#20533) libzen: fix build of shared lib with MinGW --- .../0002-export-data-in-windows-dlls.patch | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch b/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch index 17b22fd745f02..75e09bd7ab6b7 100644 --- a/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch +++ b/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch @@ -1,18 +1,3 @@ ---- Source/ZenLib/Conf.cpp -+++ Source/ZenLib/Conf.cpp -@@ -24,8 +24,8 @@ - - //End of line - #ifdef WINDOWS -- const Char* EOL=__T("\r\n"); -- const Char PathSeparator=__T('\\'); -+ ZEN_IMPEXP const Char* EOL=__T("\r\n"); -+ ZEN_IMPEXP const Char PathSeparator=__T('\\'); - #endif - #ifdef UNIX - const Char* EOL=__T("\n"); -diff --git a/source_subfolder/Source/ZenLib/Conf.h b/source_subfolder/Source/ZenLib/Conf.h -index 18264cf..d989fdb 100644 --- Source/ZenLib/Conf.h +++ Source/ZenLib/Conf.h @@ -234,9 +234,22 @@ From 2b09f55576e143656ed06cf1ecc22b267c15e428 Mon Sep 17 00:00:00 2001 From: temap Date: Wed, 27 Dec 2023 04:47:58 +0200 Subject: [PATCH 3136/4087] (#21436) lksctp-tools: add recipe --- recipes/lksctp-tools/all/conandata.yml | 4 + recipes/lksctp-tools/all/conanfile.py | 75 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 26 +++++++ .../all/test_package/test_package.c | 14 ++++ recipes/lksctp-tools/config.yml | 3 + 6 files changed, 129 insertions(+) create mode 100644 recipes/lksctp-tools/all/conandata.yml create mode 100644 recipes/lksctp-tools/all/conanfile.py create mode 100644 recipes/lksctp-tools/all/test_package/CMakeLists.txt create mode 100644 recipes/lksctp-tools/all/test_package/conanfile.py create mode 100644 recipes/lksctp-tools/all/test_package/test_package.c create mode 100644 recipes/lksctp-tools/config.yml diff --git a/recipes/lksctp-tools/all/conandata.yml b/recipes/lksctp-tools/all/conandata.yml new file mode 100644 index 0000000000000..d3fd074d21dd3 --- /dev/null +++ b/recipes/lksctp-tools/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.19": + url: "https://github.com/sctp/lksctp-tools/archive/refs/tags/v1.0.19.tar.gz" + sha256: "9251b1368472fb55aaeafe4787131bdde4e96758f6170620bc75b638449cef01" diff --git a/recipes/lksctp-tools/all/conanfile.py b/recipes/lksctp-tools/all/conanfile.py new file mode 100644 index 0000000000000..c114e01dc9df2 --- /dev/null +++ b/recipes/lksctp-tools/all/conanfile.py @@ -0,0 +1,75 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, chdir, copy, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.53.0" + + +class LKSCTPToolsConan(ConanFile): + name = "lksctp-tools" + settings = "os", "arch", "compiler", "build_type" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/sctp/lksctp-tools" + description = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project" + package_type = "library" + topics = ("sctp") + license = ("GPL-2.0", "LGPL-2.1") + + options = { + "shared": [True, False], + "fPIC": [True, False], + } + + default_options = { + "shared": False, + "fPIC": True, + } + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + if self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} is only available on Linux") + + def layout(self): + basic_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + "--disable-tests", + ]) + tc.generate() + + def build(self): + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() + + def package(self): + with chdir(self, self.source_folder): + autools = Autotools(self) + autools.install() + + rmdir(self, os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "lksctp-tools")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + + copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.libs = ["sctp"] diff --git a/recipes/lksctp-tools/all/test_package/CMakeLists.txt b/recipes/lksctp-tools/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..964f83ff15d38 --- /dev/null +++ b/recipes/lksctp-tools/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(lksctp-tools REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} lksctp-tools::lksctp-tools) diff --git a/recipes/lksctp-tools/all/test_package/conanfile.py b/recipes/lksctp-tools/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/lksctp-tools/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/lksctp-tools/all/test_package/test_package.c b/recipes/lksctp-tools/all/test_package/test_package.c new file mode 100644 index 0000000000000..3a004853d676d --- /dev/null +++ b/recipes/lksctp-tools/all/test_package/test_package.c @@ -0,0 +1,14 @@ +#include +#include +#include +#include +#include + +int main() { + int sockfd; + + sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); + close(sockfd); + + return 0; +} diff --git a/recipes/lksctp-tools/config.yml b/recipes/lksctp-tools/config.yml new file mode 100644 index 0000000000000..682394be2990b --- /dev/null +++ b/recipes/lksctp-tools/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.19": + folder: all From a682aa82fa712972277ab257c977740476a61e83 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 12:18:24 +0900 Subject: [PATCH 3137/4087] (#21964) functionalplus: add version 0.2.22 --- recipes/functionalplus/all/conandata.yml | 3 +++ recipes/functionalplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/functionalplus/all/conandata.yml b/recipes/functionalplus/all/conandata.yml index 0abf05e252793..3d3543e65247e 100644 --- a/recipes/functionalplus/all/conandata.yml +++ b/recipes/functionalplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.22": + url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.22.tar.gz" + sha256: "79378668dff6ffa8abc1abde2c2fe37dc6fe1ac040c55d5ee7886924fa6a1376" "0.2.20-p0": url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.20-p0.tar.gz" sha256: "6a8e56bd7976b7d5a6a31001f36bc199c2997f1144994fa0b48a1a5b8497abbc" diff --git a/recipes/functionalplus/config.yml b/recipes/functionalplus/config.yml index bc5d04d53c4bd..a822e05fbaecb 100644 --- a/recipes/functionalplus/config.yml +++ b/recipes/functionalplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.22": + folder: all "0.2.20-p0": folder: all "0.2.18-p0": From b7763cb07f2b9488910ee156649042cebca23b1f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 12:58:25 +0900 Subject: [PATCH 3138/4087] (#21963) cjson: add version 1.7.17 --- recipes/cjson/all/conandata.yml | 3 +++ recipes/cjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cjson/all/conandata.yml b/recipes/cjson/all/conandata.yml index 3c51bd5b253a1..98903aa382fd7 100644 --- a/recipes/cjson/all/conandata.yml +++ b/recipes/cjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.17": + url: "https://github.com/DaveGamble/cJSON/archive/v1.7.17.tar.gz" + sha256: "c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c" "1.7.16": url: "https://github.com/DaveGamble/cJSON/archive/v1.7.16.tar.gz" sha256: "451131a92c55efc5457276807fc0c4c2c2707c9ee96ef90c47d68852d5384c6c" diff --git a/recipes/cjson/config.yml b/recipes/cjson/config.yml index 7d96cfac89098..8dc9df22965bb 100644 --- a/recipes/cjson/config.yml +++ b/recipes/cjson/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.17": + folder: all "1.7.16": folder: all "1.7.15": From 85879ee5531dd311bfd0574d8d3f3c2d67c71e37 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 08:26:51 +0200 Subject: [PATCH 3139/4087] (#21860) whisper-cpp: add v1.5.2, fix blas support --- recipes/whisper-cpp/all/conandata.yml | 20 ++++---- recipes/whisper-cpp/all/conanfile.py | 47 ++++++++++++++----- ...=> 1.2.1-0001-find_package_openblas.patch} | 13 ++--- recipes/whisper-cpp/config.yml | 6 +-- 4 files changed, 54 insertions(+), 32 deletions(-) rename recipes/whisper-cpp/all/patches/{1.4.2-0001-find_package_openblas.patch => 1.2.1-0001-find_package_openblas.patch} (69%) diff --git a/recipes/whisper-cpp/all/conandata.yml b/recipes/whisper-cpp/all/conandata.yml index 7514fc59eab2f..1c610fb8c4e68 100644 --- a/recipes/whisper-cpp/all/conandata.yml +++ b/recipes/whisper-cpp/all/conandata.yml @@ -1,15 +1,15 @@ sources: - "1.2.1": - url: "https://github.com/ggerganov/whisper.cpp/archive/ad1389003d3f8bd47b8ca7d4c21b4764cc3844fc.tar.gz" - sha256: "e1459ddfe45430b68a1951e4e071478180a3a100a68c0d54f78d113c735e6363" - "1.4.2": - url: "https://github.com/ggerganov/whisper.cpp/archive/a5defbc1b98bea0f070331ce1e8b62d947b0443d.tar.gz" - sha256: "6dd0690b084269b22b1b749103b047e6d45d7b910d7bc9587085ce057dca5431" + "1.5.2": + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.5.2.tar.gz" + sha256: "be9c4d5d4b5f28f02e36f28e602b7d2dcfd734dd1c834ddae91ae8db601e951f" "1.4.3": - url: "https://github.com/ggerganov/whisper.cpp/archive/6a5d195109994b865e1c92a88258ac182399eb64.tar.gz" - sha256: "5b6693c314ae6fb362c13d02357a18099ab0ba03abc07c21f2e8c32b42b7b07e" + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.4.3.tar.gz" + sha256: "5f11c0542639bfb0b3c9d1b033d10ccd69ca26e739aec9366766617bc58a6e7c" + "1.2.1": + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.2.1.tar.gz" + sha256: "69d47fc2ba982c42bd5bade4b7c827d5b3ed74b9c59323991c45a9f0f24eb6ed" patches: - "1.4.2": - - patch_file: "patches/1.4.2-0001-find_package_openblas.patch" + "1.2.1": + - patch_file: "patches/1.2.1-0001-find_package_openblas.patch" patch_description: "Fix OpenBlas cmake target name" patch_type: "conan" diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py index 629ef7bb98046..d3c14cc82e361 100644 --- a/recipes/whisper-cpp/all/conanfile.py +++ b/recipes/whisper-cpp/all/conanfile.py @@ -19,16 +19,40 @@ class WhisperCppConan(ConanFile): homepage = "https://github.com/ggerganov/whisper.cpp" license = "MIT" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False], "sanitize_thread": [True, False], - "sanitize_address": [True, False], "sanitize_undefined": [True, False], - "no_avx": [True, False], "no_avx2": [True, False], "no_fma": [True, False], "no_f16c": [True, False], - "no_accelerate": [True, False], "metal": [True, False], "metal_ndebug": [True, False], - "with_coreml": [True, False], "coreml_allow_fallback": [True, False], "with_blas": [True, False]} - default_options = {"shared": False, "fPIC": True, "sanitize_thread": False, - "sanitize_address": False, "sanitize_undefined": False, - "no_avx": False, "no_avx2": False, "no_fma": False, "no_f16c": False, - "no_accelerate": False, "metal": False, "metal_ndebug": False, - "with_coreml": False, "coreml_allow_fallback": False, "with_blas": False} + options = { + "shared": [True, False], + "fPIC": [True, False], + "sanitize_thread": [True, False], + "sanitize_address": [True, False], + "sanitize_undefined": [True, False], + "no_avx": [True, False], + "no_avx2": [True, False], + "no_fma": [True, False], + "no_f16c": [True, False], + "no_accelerate": [True, False], + "metal": [True, False], + "metal_ndebug": [True, False], + "with_coreml": [True, False], + "coreml_allow_fallback": [True, False], + "with_blas": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "sanitize_thread": False, + "sanitize_address": False, + "sanitize_undefined": False, + "no_avx": False, + "no_avx2": False, + "no_fma": False, + "no_f16c": False, + "no_accelerate": False, + "metal": False, + "metal_ndebug": False, + "with_coreml": False, + "coreml_allow_fallback": False, + "with_blas": False, + } package_type = "library" @property @@ -82,7 +106,7 @@ def validate(self): def requirements(self): if not is_apple_os(self): if self.options.with_blas: - self.requires("openblas/0.3.20") + self.requires("openblas/0.3.24") def layout(self): cmake_layout(self, src_folder="src") @@ -95,6 +119,7 @@ def source(self): def generate(self): deps = CMakeDeps(self) + deps.set_property("openblas", "cmake_file_name", "BLAS") deps.generate() tc = CMakeToolchain(self) diff --git a/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch b/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch similarity index 69% rename from recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch rename to recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch index 52b554a4dff49..c8752384a40d1 100644 --- a/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch +++ b/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch @@ -1,11 +1,9 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 92b5d0c..b0c2c86 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -127,17 +127,9 @@ if (APPLE) +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -100,15 +100,7 @@ endif() - if (WHISPER_OPENBLAS) + if (WHISPER_SUPPORT_OPENBLAS) - find_library(OPENBLAS_LIB - NAMES openblas libopenblas - ) @@ -17,9 +15,8 @@ index 92b5d0c..b0c2c86 100644 - else() - message(WARNING "OpenBLAS not found") - endif() -+ find_package(OpenBLAS REQUIRED CONFIG) ++ find_package(BLAS REQUIRED CONFIG) + set(WHISPER_EXTRA_LIBS ${WHISPER_EXTRA_LIBS} OpenBLAS::OpenBLAS) + set(WHISPER_EXTRA_FLAGS ${WHISPER_EXTRA_FLAGS} -DGGML_USE_OPENBLAS) endif() - if (WHISPER_CUBLAS) diff --git a/recipes/whisper-cpp/config.yml b/recipes/whisper-cpp/config.yml index ab276865b774a..8c62d29e8f324 100644 --- a/recipes/whisper-cpp/config.yml +++ b/recipes/whisper-cpp/config.yml @@ -1,7 +1,7 @@ versions: - "1.2.1": - folder: "all" - "1.4.2": + "1.5.2": folder: "all" "1.4.3": folder: "all" + "1.2.1": + folder: "all" From be77f29f53bfcb017b33aaa91638d19fcc11b27d Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Wed, 27 Dec 2023 07:58:24 +0100 Subject: [PATCH 3140/4087] (#21965) frugally-deep: add version 0.15.29 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index 04211f2fa9dd0..2fda8019e9353 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.29": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.29.tar.gz" + sha256: "032cd525d4a7b9b3ebe28fd5e3984ac3e569da496f65d52c81030aabd9d0c52e" "0.15.25-p0": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.25-p0.tar.gz" sha256: "d1204bc13ace603e97696aa7a1331d6af819c3a9b4952b4fd1e3d72dd8f524c3" diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index f442d1c950420..071eb4ceec642 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.29": + folder: all "0.15.25-p0": folder: all "0.15.24-p0": From 050d13b6fd3aab47cf0ebc6a473092afc786db07 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 27 Dec 2023 10:41:51 +0100 Subject: [PATCH 3141/4087] (#19488) libvault: fix import of Version + decrease min Visual Studio Version + many small fixes * fix import of Version * use export_conandata_patches for patches * remove useless VirtualBuildEnv * bump libcurl * remove useless catch2 in requirements * add package_type * fix min Visual Studio/msvc version * no self.info in validate() * remove useless CMakeLists * add a layout * add libm to system libs on Linux & FreeBSD only * final cleanup * fix traits of requirements * cleanup * do not manually set CMAKE_OSX_DEPLOYMENT_TARGET it's already handled by CMakeToolchain * bump libcurl * use version range for libcurl * fix dll name to avoid conflict with Vault.dll system lib on Windows * fix patch for 0.52.0 --- recipes/libvault/all/CMakeLists.txt | 7 -- recipes/libvault/all/conandata.yml | 6 +- recipes/libvault/all/conanfile.py | 67 ++++++++++--------- .../all/patches/0.48.0-0001-fix-cmake.patch | 42 ++++++++++++ .../all/patches/0.51.0-0001-fix-cmake.patch | 41 ++++++++++++ .../all/patches/0.52.0-0001-fix-cmake.patch | 41 ++++++++++++ .../all/patches/fix-cmake-0.48.0.patch | 63 ----------------- .../all/patches/fix-cmake-0.51.0.patch | 49 -------------- 8 files changed, 162 insertions(+), 154 deletions(-) delete mode 100644 recipes/libvault/all/CMakeLists.txt create mode 100644 recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch create mode 100644 recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch create mode 100644 recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch delete mode 100644 recipes/libvault/all/patches/fix-cmake-0.48.0.patch delete mode 100644 recipes/libvault/all/patches/fix-cmake-0.51.0.patch diff --git a/recipes/libvault/all/CMakeLists.txt b/recipes/libvault/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/libvault/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libvault/all/conandata.yml b/recipes/libvault/all/conandata.yml index c828fc89b0560..fad4071cba2ec 100644 --- a/recipes/libvault/all/conandata.yml +++ b/recipes/libvault/all/conandata.yml @@ -10,14 +10,14 @@ sources: sha256: 0a42be282ff0aff77b68cb7238014aa762df5c6b62e4d3561878874ca3760489 patches: "0.52.0": - - patch_file: "patches/fix-cmake-0.51.0.patch" + - patch_file: "patches/0.52.0-0001-fix-cmake.patch" patch_type: "conan" patch_description: "use libcurl from conan center" "0.51.0": - - patch_file: "patches/fix-cmake-0.51.0.patch" + - patch_file: "patches/0.51.0-0001-fix-cmake.patch" patch_type: "conan" patch_description: "use libcurl from conan center" "0.48.0": - - patch_file: "patches/fix-cmake-0.48.0.patch" + - patch_file: "patches/0.48.0-0001-fix-cmake.patch" patch_type: "conan" patch_description: "use libcurl from conan center" diff --git a/recipes/libvault/all/conanfile.py b/recipes/libvault/all/conanfile.py index 659305c5f732b..408c16f6dbb3b 100644 --- a/recipes/libvault/all/conanfile.py +++ b/recipes/libvault/all/conanfile.py @@ -1,15 +1,14 @@ import os -from conan import ConanFile, Version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain -from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, get, rmdir -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class LibvaultConan(ConanFile): @@ -19,15 +18,24 @@ class LibvaultConan(ConanFile): homepage = "https://github.com/abedra/libvault" description = "A C++ library for Hashicorp Vault" topics = ("vault", "libvault", "secrets", "passwords") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ["CMakeLists.txt", "patches/**"] - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } @property def _mac_os_minimum_required_version(self): return "10.15" + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -36,16 +44,20 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("libcurl/7.86.0") - self.requires("catch2/3.2.0") + # public header VaultClient.h includes curl/curl.h and use several functions + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True, transitive_libs=True) def validate(self): - compiler = str(self.info.settings.compiler) + compiler = str(self.settings.compiler) compiler_version = Version(self.settings.compiler.version.value) minimum_compiler_version = { - "Visual Studio": "19", + "Visual Studio": "16", + "msvc": "192", "gcc": "8", "clang": "7.0", "apple-clang": "12", @@ -63,7 +75,7 @@ def validate(self): raise ConanInvalidConfiguration("clang 11 with libstdc++ is not supported due to old libstdc++ missing C++17 support") if is_apple_os(self): - os_version = self.info.settings.get_safe("os.version") + os_version = self.settings.get_safe("os.version") if os_version and Version(os_version) < self._mac_os_minimum_required_version: raise ConanInvalidConfiguration( "Macos Mojave (10.14) and earlier cannot to be built because C++ standard library too old.") @@ -72,28 +84,21 @@ def validate(self): check_min_cppstd(self, minimum_cpp_standard) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["ENABLE_TEST"] = "OFF" - tc.variables["ENABLE_INTEGRATION_TEST"] = "OFF" - tc.variables["ENABLE_COVERAGE"] = "OFF" - tc.variables["LINK_CURL"] = "OFF" - tc.variables["CMAKE_OSX_DEPLOYMENT_TARGET"] = self._mac_os_minimum_required_version - if is_msvc(self): - tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.generate() - tc = CMakeDeps(self) + tc.variables["ENABLE_TEST"] = False + tc.variables["ENABLE_INTEGRATION_TEST"] = False + tc.variables["ENABLE_COVERAGE"] = False tc.generate() - tc = VirtualBuildEnv(self) - tc.generate(scope="build") + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) cmake = CMake(self) - cmake.configure(build_script_folder=self.build_folder) + cmake.configure() cmake.build() def package(self): @@ -105,12 +110,10 @@ def package(self): def package_info(self): self.cpp_info.libs = ["vault"] - self.cpp_info.system_libs = ["m"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": self.cpp_info.system_libs.append("stdc++fs") - # TODO: Remove after Conan 2.0 - self.cpp_info.names["cmake_find_package"] = "libvault" - self.cpp_info.names["cmake_find_package_multi"] = "libvault" self.cpp_info.set_property("pkg_config_name", "vault") self.cpp_info.set_property("cmake_file_name", "libvault") diff --git a/recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch b/recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..df2816ee6d88d --- /dev/null +++ b/recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch @@ -0,0 +1,42 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,10 +1,6 @@ + cmake_minimum_required(VERSION 3.12) + project(vault VERSION 0.48.0 DESCRIPTION "Vault library for C++") + +-set(CMAKE_CXX_STANDARD 17) +-set(CMAKE_CXX_STANDARD_REQUIRED ON) +-set(CMAKE_CXX_EXTENSIONS OFF) +-set(CMAKE_CXX_FLAGS_DEBUG --coverage) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + option(ENABLE_TEST "Enable tests?" ON) +@@ -14,12 +10,7 @@ option(LINK_CURL "Link curl library for vault" OFF) + option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) + option(INSTALL "Run install targets" ON) + +-find_package(CURL) +-if (CURL_FOUND) +- include_directories(${CURL_INCLUDE_DIR}) +-else (CURL_FOUND) +- message(FATAL_ERROR "CURL not found") +-endif (CURL_FOUND) ++find_package(CURL REQUIRED) + + include(GNUInstallDirs) + include_directories("${PROJECT_SOURCE_DIR}/lib") +@@ -120,9 +111,11 @@ set_target_properties(vault PROPERTIES + + target_include_directories(vault PRIVATE src) + +-if(LINK_CURL) +- target_link_libraries(vault curl) +-endif(LINK_CURL) ++target_link_libraries(vault PUBLIC CURL::libcurl) ++target_compile_features(vault PUBLIC cxx_std_17) ++if(WIN32) ++ set_target_properties(vault PROPERTIES RUNTIME_OUTPUT_NAME "VaultClient") ++endif() + + if (ENABLE_COVERAGE) + target_link_libraries(vault gcov) diff --git a/recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch b/recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..2ff417c356ac8 --- /dev/null +++ b/recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch @@ -0,0 +1,41 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,9 +1,6 @@ + cmake_minimum_required(VERSION 3.12) + project(vault VERSION 0.51.0 DESCRIPTION "Vault library for C++") + +-set(CMAKE_CXX_STANDARD 17) +-set(CMAKE_CXX_STANDARD_REQUIRED ON) +-set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + option(ENABLE_TEST "Enable tests?" ON) +@@ -13,12 +10,7 @@ option(LINK_CURL "Link curl library for vault" OFF) + option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) + option(INSTALL "Run install targets" ON) + +-find_package(CURL) +-if (CURL_FOUND) +- include_directories(${CURL_INCLUDE_DIR}) +-else (CURL_FOUND) +- message(FATAL_ERROR "CURL not found") +-endif (CURL_FOUND) ++find_package(CURL REQUIRED) + + include(GNUInstallDirs) + include_directories("${PROJECT_SOURCE_DIR}/lib") +@@ -119,9 +111,11 @@ set_target_properties(vault PROPERTIES + + target_include_directories(vault PRIVATE src) + +-if(LINK_CURL) +- target_link_libraries(vault curl) +-endif(LINK_CURL) ++target_link_libraries(vault PUBLIC CURL::libcurl) ++target_compile_features(vault PUBLIC cxx_std_17) ++if(WIN32) ++ set_target_properties(vault PROPERTIES RUNTIME_OUTPUT_NAME "VaultClient") ++endif() + + if (ENABLE_COVERAGE) + target_link_libraries(vault gcov) diff --git a/recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch b/recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..70b3ab582fcdc --- /dev/null +++ b/recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch @@ -0,0 +1,41 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,9 +1,6 @@ + cmake_minimum_required(VERSION 3.12) + project(vault VERSION 0.52.0 DESCRIPTION "Vault library for C++") + +-set(CMAKE_CXX_STANDARD 17) +-set(CMAKE_CXX_STANDARD_REQUIRED ON) +-set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + option(ENABLE_TEST "Enable tests?" ON) +@@ -13,12 +10,7 @@ option(LINK_CURL "Link curl library for vault" OFF) + option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) + option(INSTALL "Run install targets" ON) + +-find_package(CURL) +-if (CURL_FOUND) +- include_directories(${CURL_INCLUDE_DIR}) +-else (CURL_FOUND) +- message(FATAL_ERROR "CURL not found") +-endif (CURL_FOUND) ++find_package(CURL REQUIRED) + + include(GNUInstallDirs) + include_directories("${PROJECT_SOURCE_DIR}/lib") +@@ -119,9 +111,11 @@ set_target_properties(vault PROPERTIES + + target_include_directories(vault PRIVATE src) + +-if(LINK_CURL) +- target_link_libraries(vault curl) +-endif(LINK_CURL) ++target_link_libraries(vault PUBLIC CURL::libcurl) ++target_compile_features(vault PUBLIC cxx_std_17) ++if(WIN32) ++ set_target_properties(vault PROPERTIES RUNTIME_OUTPUT_NAME "VaultClient") ++endif() + + if (ENABLE_COVERAGE) + target_link_libraries(vault gcov) diff --git a/recipes/libvault/all/patches/fix-cmake-0.48.0.patch b/recipes/libvault/all/patches/fix-cmake-0.48.0.patch deleted file mode 100644 index 510090973c349..0000000000000 --- a/recipes/libvault/all/patches/fix-cmake-0.48.0.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,7 +4,6 @@ - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) --set(CMAKE_CXX_FLAGS_DEBUG --coverage) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - - option(ENABLE_TEST "Enable tests?" ON) -@@ -14,13 +13,6 @@ - option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) - option(INSTALL "Run install targets" ON) - --find_package(CURL) --if (CURL_FOUND) -- include_directories(${CURL_INCLUDE_DIR}) --else (CURL_FOUND) -- message(FATAL_ERROR "CURL not found") --endif (CURL_FOUND) -- - include(GNUInstallDirs) - include_directories("${PROJECT_SOURCE_DIR}/lib") - -@@ -120,11 +112,20 @@ - - target_include_directories(vault PRIVATE src) - -+OPTION(UseCurl "UseCurl" ON) -+IF (UseCurl) -+ FIND_PACKAGE(CURL) -+ IF (CURL_FOUND) -+ target_link_libraries(vault CURL::libcurl) -+ ENDIF() -+ENDIF() -+ - if(LINK_CURL) - target_link_libraries(vault curl) - endif(LINK_CURL) - - if (ENABLE_COVERAGE) -+ set(CMAKE_CXX_FLAGS_DEBUG --coverage) - target_link_libraries(vault gcov) - endif () - -@@ -155,7 +156,7 @@ - "${CMAKE_CURRENT_BINARY_DIR}/libvaultConfigVersion.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libvault") - -- configure_file(vault.pc.in vault.pc @ONLY) -+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/vault.pc.in" "${CMAKE_BINARY_DIR}/vault.pc" @ONLY) - install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - endif (INSTALL) -@@ -176,7 +177,7 @@ - target_include_directories(libvault_test PRIVATE include) - - target_link_libraries(libvault_test vault) -- target_link_libraries(libvault_test curl) -+ target_link_libraries(libvault_test CURL::libcurl) - target_link_libraries(libvault_test Catch2::Catch2) - - include(CTest) diff --git a/recipes/libvault/all/patches/fix-cmake-0.51.0.patch b/recipes/libvault/all/patches/fix-cmake-0.51.0.patch deleted file mode 100644 index 74ce9e72d06db..0000000000000 --- a/recipes/libvault/all/patches/fix-cmake-0.51.0.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,13 +13,6 @@ option(LINK_CURL "Link curl library for vault" OFF) - option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) - option(INSTALL "Run install targets" ON) - --find_package(CURL) --if (CURL_FOUND) -- include_directories(${CURL_INCLUDE_DIR}) --else (CURL_FOUND) -- message(FATAL_ERROR "CURL not found") --endif (CURL_FOUND) -- - include(GNUInstallDirs) - include_directories("${PROJECT_SOURCE_DIR}/lib") - -@@ -119,6 +112,14 @@ set_target_properties(vault PROPERTIES - - target_include_directories(vault PRIVATE src) - -+OPTION(UseCurl "UseCurl" ON) -+IF (UseCurl) -+ FIND_PACKAGE(CURL) -+ IF (CURL_FOUND) -+ target_link_libraries(vault CURL::libcurl) -+ ENDIF() -+ENDIF() -+ - if(LINK_CURL) - target_link_libraries(vault curl) - endif(LINK_CURL) -@@ -155,7 +156,7 @@ if (INSTALL) - "${CMAKE_CURRENT_BINARY_DIR}/libvaultConfigVersion.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libvault") - -- configure_file(vault.pc.in vault.pc @ONLY) -+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/vault.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/vault.pc" @ONLY) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - endif (INSTALL) -@@ -176,7 +177,7 @@ if (ENABLE_TEST) - target_include_directories(libvault_test PRIVATE include) - - target_link_libraries(libvault_test vault) -- target_link_libraries(libvault_test curl) -+ target_link_libraries(libvault_test CURL::libcurl) - target_link_libraries(libvault_test Catch2::Catch2) - target_link_libraries(libvault_test stdc++fs) - From 35312fd144d71dd175af72674cf7c76ff2472398 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 12:49:12 +0200 Subject: [PATCH 3142/4087] (#21938) bazel: add v7.0.0 --- recipes/bazel/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/bazel/config.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/recipes/bazel/all/conandata.yml b/recipes/bazel/all/conandata.yml index 36326bd6f856a..30dcb9273146b 100644 --- a/recipes/bazel/all/conandata.yml +++ b/recipes/bazel/all/conandata.yml @@ -1,4 +1,30 @@ sources: + "7.0.0": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/7.0.0/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-darwin-x86_64" + sha256: "e0b57be60062f36eceed78d672088c6a2e30bd7de8674e2ee4edcd021b131c8c" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-darwin-arm64" + sha256: "b1cf1c5783fa3eac60942bf2ec6169cfccecd2fa5a355587d8d35983bc1e1310" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-linux-x86_64" + sha256: "8b24f70542f9736e0ccbf9cb3335cb9f049b5a6787f1e5997ed1da80b9bbd46e" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-linux-arm64" + sha256: "cae101d31581a348774526b9d11811b04cc212c943762e6363a85a15bccfca54" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-windows-x86_64.exe" + sha256: "bf4adcd2764dbca6332092950f41c5ae435a38032c1c00a5558ef963b32107a1" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-windows-arm64.exe" + sha256: "7846fc1180c7cf1985f7748db40066590f20a62a9e5c56ee5b1f1f127cb978c5" + "6.2.0": license: url: "https://raw.githubusercontent.com/bazelbuild/bazel/6.2.0/LICENSE" diff --git a/recipes/bazel/config.yml b/recipes/bazel/config.yml index e55e6b68a69ee..94ee5cce25feb 100644 --- a/recipes/bazel/config.yml +++ b/recipes/bazel/config.yml @@ -1,4 +1,6 @@ versions: + "7.0.0": + folder: all "6.2.0": folder: all "4.0.0": From dbf67396c3071d5e972411d2be749940b6b3be86 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 27 Dec 2023 12:11:09 +0100 Subject: [PATCH 3143/4087] (#21966) xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 8f8538a292739..3dd46ad54cd61 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -76,7 +76,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/1.3.1") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") From ce021c119a13f0648542c1789bdf280b98481e44 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 12:39:32 +0100 Subject: [PATCH 3144/4087] (#21944) libxml2: bump deps --- recipes/libxml2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libxml2/all/conanfile.py b/recipes/libxml2/all/conanfile.py index 3a2832d9da9e7..ec0a90e4ddd03 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -97,7 +97,7 @@ def requirements(self): if self.options.zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.iconv: self.requires("libiconv/1.17", transitive_headers=True, transitive_libs=True) if self.options.icu: @@ -107,7 +107,7 @@ def build_requirements(self): if not (is_msvc(self) or self._is_mingw_windows): if self.options.zlib or self.options.lzma or self.options.icu: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From b8b014eb199d283dde937138fad879cbc428d4c2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 13:58:48 +0100 Subject: [PATCH 3145/4087] (#21974) libxml2: add 2.12.3 --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 37ac179d3514e..e11d30875ef01 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.3": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.3.tar.xz" + sha256: "8c8f1092340a89ff32bc44ad5c9693aff9bc8a7a3e161bb239666e5d15ac9aaa" "2.12.2": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.2.tar.xz" sha256: "3f2e6464fa15073eb8f3d18602d54fafc489b7715171064615a40490c6be9f4f" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index cde8f92b31014..c33362995657c 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.3": + folder: all "2.12.2": folder: all "2.12.1": From 985e73ad5efa0fb867212d881e71bb1c87faab8e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 19:46:59 +0100 Subject: [PATCH 3146/4087] (#21976) libxml2: add version 2.11.6 --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index e11d30875ef01..2adc5bf6e1740 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -8,6 +8,9 @@ sources: "2.12.1": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" + "2.11.6": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" + sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" "2.11.5": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index c33362995657c..ba1af564de62a 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -5,6 +5,8 @@ versions: folder: all "2.12.1": folder: all + "2.11.6": + folder: all "2.11.5": folder: all "2.11.4": From 6ff39d747ed42aa01e1445bb70fb94d402c99cf3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 23:08:39 +0200 Subject: [PATCH 3147/4087] (#21970) libnetfilter_conntrack: add v1.0.9 --- recipes/libnetfilter_conntrack/all/conandata.yml | 7 +++++-- recipes/libnetfilter_conntrack/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libnetfilter_conntrack/all/conandata.yml b/recipes/libnetfilter_conntrack/all/conandata.yml index 15ebea6f3f76c..dbaef81342d93 100644 --- a/recipes/libnetfilter_conntrack/all/conandata.yml +++ b/recipes/libnetfilter_conntrack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.9": + url: "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.9.tar.bz2" + sha256: "67bd9df49fe34e8b82144f6dfb93b320f384a8ea59727e92ff8d18b5f4b579a8" "1.0.8": - sha256: 0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf - url: https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.8.tar.bz2 + url: "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.8.tar.bz2" + sha256: "0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf" diff --git a/recipes/libnetfilter_conntrack/config.yml b/recipes/libnetfilter_conntrack/config.yml index 3d5953260054d..f02198b44e348 100644 --- a/recipes/libnetfilter_conntrack/config.yml +++ b/recipes/libnetfilter_conntrack/config.yml @@ -1,3 +1,5 @@ versions: + 1.0.9: + folder: all 1.0.8: folder: all From 2a35197a505726c81b6b59dfad0c54c5402f7593 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 23:08:45 +0100 Subject: [PATCH 3148/4087] (#21977) wayland: bump deps --- recipes/wayland/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index d23bcb66ab8ee..f863770107024 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") self.requires("expat/2.5.0") def validate(self): From 7fb6124cbf15c59951ad9213af64c01d2fb6e109 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 28 Dec 2023 10:01:58 +0000 Subject: [PATCH 3149/4087] (#21890) [bot] Update authorized users list (2023-12-25) * Add/remove users to Access Request * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 431c8106f9525..2e70a86ba0550 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1256,3 +1256,9 @@ authorized_users: - piliugin-anton - Drllap - i-curve +- Mi-La +- gureedo +- cbaecker +- ErixenCruz +- OrianeGourdyStilla +- nikitasinys From 6dc371ffcf6e88809c2ec6dbc4dac4829c0ba404 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 28 Dec 2023 12:19:03 +0200 Subject: [PATCH 3150/4087] (#21914) drmp3: add v0.6.38 * drmp3: add v0.6.38 * drmp3: fix URL --- recipes/drmp3/all/conandata.yml | 8 +++++--- recipes/drmp3/all/conanfile.py | 2 +- recipes/drmp3/config.yml | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/drmp3/all/conandata.yml b/recipes/drmp3/all/conandata.yml index a26d9e9dbb871..58d5499fc9714 100644 --- a/recipes/drmp3/all/conandata.yml +++ b/recipes/drmp3/all/conandata.yml @@ -1,9 +1,11 @@ sources: # NOTE: https://github.com/mackron/dr_libs/blob/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb/dr_mp3.h#L3 + "0.6.38": + url: "https://github.com/mackron/dr_libs/archive/01d23df76776faccee3bc456f685900dcc273b4c.zip" + sha256: "fe82eac7a30c01679ddfdf1d51d1829d72a78b6ec236c47eb03abc089a4457ab" "0.6.34": - url: https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip + url: "https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip" sha256: "077d6b29a78da5132065fcc9b44ca50e7e168b94250f2c25614101d3f808bcc1" - # NOTE: https://github.com/mackron/dr_libs/blob/9497270f581f43e6b795ce5d98d8764861fb6a50/dr_mp3.h#L3 "0.6.32": - url: https://github.com/mackron/dr_libs/archive/9497270f581f43e6b795ce5d98d8764861fb6a50.zip + url: "https://github.com/mackron/dr_libs/archive/9497270f581f43e6b795ce5d98d8764861fb6a50.zip" sha256: "572b59ec9719cf8f4938f982bc1f2e52689a3fbf6cceb4f27478942d7e35456b" diff --git a/recipes/drmp3/all/conanfile.py b/recipes/drmp3/all/conanfile.py index 5ff9719fea314..4e596641bffba 100644 --- a/recipes/drmp3/all/conanfile.py +++ b/recipes/drmp3/all/conanfile.py @@ -9,7 +9,7 @@ class Drmp3Conan(ConanFile): name = "drmp3" description = "MP3 audio decoder." - homepage = "https://mackron.github.io/" + homepage = "https://github.com/mackron/dr_libs" topics = ("audio", "mp3", "sound") license = ("Unlicense", "MIT-0") url = "https://github.com/conan-io/conan-center-index" diff --git a/recipes/drmp3/config.yml b/recipes/drmp3/config.yml index dda44114b507b..cd9d5736792a2 100644 --- a/recipes/drmp3/config.yml +++ b/recipes/drmp3/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.38": + folder: all "0.6.34": folder: all "0.6.32": From 87d0402fdd781e0f69e5e7df110f09949d1fdfd3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 28 Dec 2023 12:38:30 +0200 Subject: [PATCH 3151/4087] (#21916) sbp: add v5.0.4 --- recipes/sbp/all/conandata.yml | 19 +++++++++++++------ recipes/sbp/config.yml | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/recipes/sbp/all/conandata.yml b/recipes/sbp/all/conandata.yml index c5be56f8c3b1f..517606eaacf88 100644 --- a/recipes/sbp/all/conandata.yml +++ b/recipes/sbp/all/conandata.yml @@ -1,22 +1,29 @@ sources: + "5.0.4": + cmake: + url: "https://github.com/swift-nav/cmake/archive/954e6cebe4c902d07d33beef166df89073a7b4f2.zip" + sha256: "910e14e35d02fd766bc885cfc9b99626006c12ef26d6446cfbf728862d7cebab" + source: + url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v5.0.4.tar.gz" + sha256: "0b51707780dec08f24fac091b935e041d0d61abf2093562df829e85b9510d72b" "4.15.0": cmake: url: "https://github.com/swift-nav/cmake/archive/12b7f037e7cc721a9a36c7342ba2ca2b0cafc01e.zip" - sha256: 6a725914bf8c3ed13065812cf4d7b0a69e478eaa150561e0e3be4cd01bf3798f + sha256: "6a725914bf8c3ed13065812cf4d7b0a69e478eaa150561e0e3be4cd01bf3798f" source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v4.15.0.tar.gz" - sha256: e71fd7dd5536058d6b93ade443913e68da7b4f1896aa720dc369baab1864e9e9 + sha256: "e71fd7dd5536058d6b93ade443913e68da7b4f1896aa720dc369baab1864e9e9" "4.2.0": cmake: url: "https://github.com/swift-nav/cmake/archive/31604e72e72c09fa32effdbc37acc79dda7c99d7.zip" - sha256: 22e0ef6915ad5accfa6c0b30cb75a7d409ee1e08746f5ee92311015aa3826246 + sha256: "22e0ef6915ad5accfa6c0b30cb75a7d409ee1e08746f5ee92311015aa3826246" source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v4.2.0.tar.gz" - sha256: 9ee9808394867405938505fb0aa52ffeb8d98b7ce222e47629ffabdc9e23d3e4 + sha256: "9ee9808394867405938505fb0aa52ffeb8d98b7ce222e47629ffabdc9e23d3e4" "3.4.10": cmake: url: "https://github.com/swift-nav/cmake/archive/373d4fcafbbc0c208dc9ecb278d36ed8c9448eda.zip" - sha256: 6077d2a754d013e3cb9826f589e47b19ab01f4d91ede4f5bfc14db74bc5dc894 + sha256: "6077d2a754d013e3cb9826f589e47b19ab01f4d91ede4f5bfc14db74bc5dc894" source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v3.4.10.tar.gz" - sha256: f2fb738f49112b25e7849ca0c75415159127e9b5373b13e7027362b8fa0b1224 + sha256: "f2fb738f49112b25e7849ca0c75415159127e9b5373b13e7027362b8fa0b1224" diff --git a/recipes/sbp/config.yml b/recipes/sbp/config.yml index 6e299a70ad6f8..e2fec4a93304d 100644 --- a/recipes/sbp/config.yml +++ b/recipes/sbp/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.4": + folder: "all" "4.15.0": folder: "all" "4.2.0": From 46f6cdabc575b88add9efaf65de639a5974bc48b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 28 Dec 2023 12:58:42 +0100 Subject: [PATCH 3152/4087] (#21975) cmake: add version 3.28.1 --- recipes/cmake/binary/conandata.yml | 19 +++++++++++++++++++ recipes/cmake/config.yml | 2 ++ 2 files changed, 21 insertions(+) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 6eae0c6e97427..312a7c7d57530 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.28.1": + Linux: + armv8: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-linux-aarch64.tar.gz" + sha256: "e84d88e46ed8c85fbe259bcd4ca07df7a928df87e84013e0da34d91b01a25d71" + x86_64: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-linux-x86_64.tar.gz" + sha256: "f76398c24362ad87bad1a3d6f1e8f4377632b5b1c360c4ba1fd7cd205fd9d8d4" + Macos: + universal: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-macos10.10-universal.tar.gz" + sha256: "f2d296294921b209d9c7edbc12ce175e00644fcabba362b6a24c32b0a4624a9a" + Windows: + armv8: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-windows-arm64.zip" + sha256: "a839b8d32c11b24f078142b5b8c3361a955ebc65788f0f0353b2121fe2f74e49" + x86_64: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-windows-x86_64.zip" + sha256: "671332249bc7cc7424523d6c2b5edd3e3de90a43b8b82e8782f42da4fe4c562d" "3.27.9": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index cdf491b2833f0..7ce9e3ce4a58b 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.28.1": + folder: "binary" "3.27.9": folder: "binary" "3.27.7": From a21ba9f49e3e61d7633ecc6673ccf4065eaeeca2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 28 Dec 2023 14:56:11 +0100 Subject: [PATCH 3153/4087] (#21978) norm: bump deps --- recipes/norm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/norm/all/conanfile.py b/recipes/norm/all/conanfile.py index 631f2c31ff5ee..06df6975769c2 100644 --- a/recipes/norm/all/conanfile.py +++ b/recipes/norm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.12.2") # dependency of protolib actually + self.requires("libxml2/2.12.3") # dependency of protolib actually def source(self): get(self, **self.conan_data["sources"][self.version]) From 690e414f57fd22c3d2447fe28b677bd9b026f4eb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 04:42:17 +0200 Subject: [PATCH 3154/4087] (#21921) cista: add v0.14 --- recipes/cista/all/conandata.yml | 5 +++++ recipes/cista/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/cista/all/conandata.yml b/recipes/cista/all/conandata.yml index 1547b3bc2b229..dddca09a6246d 100644 --- a/recipes/cista/all/conandata.yml +++ b/recipes/cista/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "0.14": + - url: "https://github.com/felixguendling/cista/releases/download/v0.14/cista.h" + sha256: "078933804966439ae105a6a748aa027a2f197351d735712b1efca0453340562d" + - url: "https://raw.githubusercontent.com/felixguendling/cista/v0.14/LICENSE" + sha256: "fcd47e35fd6dc22feec454c5c1e572ccb7587dedd91d824528ebbb00a7f37c56" "0.11": - url: "https://github.com/felixguendling/cista/releases/download/v0.11/cista.h" sha256: "e2e37fa1f7278e7f1a8dab7d84b6b00f5a0a4fb48f42fbe5761b7ddd0d07314c" diff --git a/recipes/cista/config.yml b/recipes/cista/config.yml index ac2c19b16c278..4390251f71953 100644 --- a/recipes/cista/config.yml +++ b/recipes/cista/config.yml @@ -1,4 +1,6 @@ versions: + "0.14": + folder: all "0.11": folder: all "0.10": From 1317bcb93d7e3b46f4e603f72c8e93eb15ce4aaa Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 09:01:21 +0100 Subject: [PATCH 3155/4087] (#21979) libnghttp2: bump deps --- recipes/libnghttp2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index 74a79e9337e57..7a30076b7b190 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): self.requires("c-ares/1.22.0") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") From 3730d5ef0fc3faebb02ef0b7d284d9c1e19afb16 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 10:30:15 +0100 Subject: [PATCH 3156/4087] (#21980) libmetalink: bump deps --- recipes/libmetalink/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmetalink/all/conanfile.py b/recipes/libmetalink/all/conanfile.py index 3068e2cbb52f3..10c23cc875879 100644 --- a/recipes/libmetalink/all/conanfile.py +++ b/recipes/libmetalink/all/conanfile.py @@ -55,7 +55,7 @@ def requirements(self): if self.options.xml_backend == "expat": self.requires("expat/2.5.0") elif self.options.xml_backend == "libxml2": - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") def validate(self): if is_msvc(self): From 077a37ac3211521001e2fdef0c14de2274c59165 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:07:05 +0100 Subject: [PATCH 3157/4087] (#21981) libgphoto2: bump deps --- recipes/libgphoto2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index 4ff9ce5a31cae..42df92be12821 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): if self.options.with_libcurl: self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: From 3887cbe44dd5ee24ce87e6061401386ce5d38944 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:19:34 +0100 Subject: [PATCH 3158/4087] (#21982) libarchive: bump deps --- recipes/libarchive/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index 41ace49a160e2..2f2b32fea9625 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -85,7 +85,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_iconv: @@ -93,7 +93,7 @@ def requirements(self): if self.options.with_pcreposix: self.requires("pcre2/10.42") if self.options.with_nettle: - self.requires("nettle/3.8.1") + self.requires("nettle/3.9.1") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_libb2: @@ -107,7 +107,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.get_safe("with_mbedtls"): - self.requires("mbedtls/3.5.0") + self.requires("mbedtls/3.5.1") def validate(self): if self.settings.os != "Windows" and self.options.with_cng: From 18f158db58410bdd35e914c57def02b65fe23f67 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:29:23 +0100 Subject: [PATCH 3159/4087] (#21983) hwloc: bump deps --- recipes/hwloc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py index 06d5183a8393e..231701d41f587 100644 --- a/recipes/hwloc/all/conanfile.py +++ b/recipes/hwloc/all/conanfile.py @@ -32,7 +32,7 @@ def configure(self): def requirements(self): if self.options.with_libxml2: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 42a931efc8c4deb59b1e76aaf2be4f3961fbde7b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:49:01 +0100 Subject: [PATCH 3160/4087] (#21984) aravis: bump deps --- recipes/aravis/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index dd3d02a581da3..af5a8560dea48 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -73,7 +73,7 @@ def layout(self): def requirements(self): # glib-object.h and gio/gio.h are used in several public headers self.requires("glib/2.78.1", transitive_headers=True) - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") self.requires("zlib/[>=1.2.11 <2]") if self.options.usb: @@ -104,7 +104,7 @@ def validate(self): def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/1.3.1") self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.1.0") From a46f512594fe6021254e2cb1374d3158b5f90d73 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 13:18:49 +0200 Subject: [PATCH 3161/4087] (#21992) libdc1394: add v2.2.7 --- recipes/libdc1394/all/conandata.yml | 3 +++ recipes/libdc1394/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libdc1394/all/conandata.yml b/recipes/libdc1394/all/conandata.yml index f12a9d3794e20..72fa1e3400e1a 100644 --- a/recipes/libdc1394/all/conandata.yml +++ b/recipes/libdc1394/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.7": + url: "https://sourceforge.net/projects/libdc1394/files/libdc1394-2/2.2.7/libdc1394-2.2.7.tar.gz" + sha256: "537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f" "2.2.6": url: "https://sourceforge.net/projects/libdc1394/files/libdc1394-2/2.2.6/libdc1394-2.2.6.tar.gz" sha256: "2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed" diff --git a/recipes/libdc1394/config.yml b/recipes/libdc1394/config.yml index 02d886e69e974..ca2455c42caf9 100644 --- a/recipes/libdc1394/config.yml +++ b/recipes/libdc1394/config.yml @@ -1,3 +1,5 @@ versions: + "2.2.7": + folder: all "2.2.6": folder: all From 15795669c33374a95d2c4e2fb152276ab8c93d2c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 13:39:18 +0200 Subject: [PATCH 3162/4087] (#21993) libdrm: add v2.4.119 --- recipes/libdrm/all/conandata.yml | 3 +++ recipes/libdrm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libdrm/all/conandata.yml b/recipes/libdrm/all/conandata.yml index c664ae449755d..d027d5e2e31c2 100644 --- a/recipes/libdrm/all/conandata.yml +++ b/recipes/libdrm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.119": + url: "https://dri.freedesktop.org/libdrm/libdrm-2.4.119.tar.xz" + sha256: "0a49f12f09b5b6e68eaaaff3f02ca7cff9aa926939b212d343161d3e8ac56291" "2.4.114": url: "https://dri.freedesktop.org/libdrm/libdrm-2.4.114.tar.xz" sha256: "3049cf843a47d12e5eeefbc3be3496d782fa09f42346bf0b7defe3d1e598d026" diff --git a/recipes/libdrm/config.yml b/recipes/libdrm/config.yml index 90fca8a547e3e..856b2ef77e459 100644 --- a/recipes/libdrm/config.yml +++ b/recipes/libdrm/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.119": + folder: all "2.4.114": folder: all "2.4.109": From bd03c3f53cbed498646c2b1fe1325aa3a90400f1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 13:58:26 +0200 Subject: [PATCH 3163/4087] (#21994) libfdk_aac: add v2.0.3 --- recipes/libfdk_aac/all/conandata.yml | 3 +++ recipes/libfdk_aac/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libfdk_aac/all/conandata.yml b/recipes/libfdk_aac/all/conandata.yml index 130e5570f8cdf..516a736a8a125 100644 --- a/recipes/libfdk_aac/all/conandata.yml +++ b/recipes/libfdk_aac/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.3.tar.gz" + sha256: "829b6b89eef382409cda6857fd82af84fabb63417b08ede9ea7a553f811cb79e" "2.0.2": url: "https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.2.tar.gz" sha256: "c9e8630cf9d433f3cead74906a1520d2223f89bcd3fa9254861017440b8eb22f" diff --git a/recipes/libfdk_aac/config.yml b/recipes/libfdk_aac/config.yml index e850754933d82..7529da0511999 100644 --- a/recipes/libfdk_aac/config.yml +++ b/recipes/libfdk_aac/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: all "2.0.2": folder: all "2.0.1": From a582b3a6fd2c202b2201d959568f3d1792bd1735 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 14:19:03 +0200 Subject: [PATCH 3164/4087] (#21998) fontconfig: add v2.15.0 --- recipes/fontconfig/config.yml | 2 ++ recipes/fontconfig/meson/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/fontconfig/config.yml b/recipes/fontconfig/config.yml index a3042d0ed624f..41c4db45e111e 100644 --- a/recipes/fontconfig/config.yml +++ b/recipes/fontconfig/config.yml @@ -1,4 +1,6 @@ versions: + "2.15.0": + folder: meson "2.14.2": folder: meson "2.13.93": diff --git a/recipes/fontconfig/meson/conandata.yml b/recipes/fontconfig/meson/conandata.yml index e2b11bfd27f49..6691cd7b19491 100644 --- a/recipes/fontconfig/meson/conandata.yml +++ b/recipes/fontconfig/meson/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.15.0": + url: "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.xz" + sha256: "63a0658d0e06e0fa886106452b58ef04f21f58202ea02a94c39de0d3335d7c0e" "2.14.2": url: "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.14.2.tar.xz" sha256: "dba695b57bce15023d2ceedef82062c2b925e51f5d4cc4aef736cf13f60a468b" From 6e8d80fc5a6d7b8b146585fbe8df997957be41a1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 14:38:34 +0200 Subject: [PATCH 3165/4087] (#21999) gdcm: add v3.0.22 --- recipes/gdcm/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/gdcm/config.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/recipes/gdcm/all/conandata.yml b/recipes/gdcm/all/conandata.yml index 2a53250fc718c..793cf97224a83 100644 --- a/recipes/gdcm/all/conandata.yml +++ b/recipes/gdcm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.22": + url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.22/gdcm-3.0.22.tar.bz2" + sha256: "40a20aa21d6f5b9710020920a9fbd43ac76149b1097f0fab6f9787513a7a7434" "3.0.21": url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.21/gdcm-3.0.21.tar.bz2" sha256: "f29dbdd3b6b4c30c9803e6466b88b139d67f5585768565fe29f0be65ad737744" @@ -9,6 +12,29 @@ sources: url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.9/gdcm-3.0.9.tar.bz2" sha256: "1d518b0e4709cecfb7330c9bd9b3a73cfd01ffe70d1c178f36a4c847283c4672" patches: + "3.0.22": + - patch_file: "patches/0001-3.0.20-find-charls.patch" + patch_description: "allow using charls >= 2.2.0" + patch_type: "portability" + patch_source: "https://github.com/malaterre/GDCM/pull/157" + - patch_file: "patches/0002-3.0.20-openjpeg.patch" + patch_description: "fix variable names for openjpeg" + patch_type: "conan" + - patch_file: "patches/0004-3.0.20-find-expat.patch" + patch_description: "enforce usage of FindEXPAT.cmake" + patch_type: "conan" + - patch_file: "patches/0005-3.0.20-openssl.patch" + patch_description: "skip check_cxx_source_compiles usage for openssl" + patch_type: "conan" + - patch_file: "patches/0006-json.patch" + patch_description: "skip check_cxx_source_compiles usage for json-c" + patch_type: "conan" + - patch_file: "patches/0007-3.0.20-find-json.patch" + patch_description: "fix find_package for json-c" + patch_type: "conan" + - patch_file: "patches/0008-3.0.20-find-libuuid.patch" + patch_description: "fix find_package for libuuid" + patch_type: "conan" "3.0.21": - patch_file: "patches/0001-3.0.20-find-charls.patch" patch_description: "allow using charls >= 2.2.0" diff --git a/recipes/gdcm/config.yml b/recipes/gdcm/config.yml index 868e7933ac4a6..675075c6ed71e 100644 --- a/recipes/gdcm/config.yml +++ b/recipes/gdcm/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.22": + folder: "all" "3.0.21": folder: "all" "3.0.20": From 1a8a2dcda94c19e7494632a63da1d7051c571aea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 14:58:41 +0200 Subject: [PATCH 3166/4087] (#22000) scdoc: fix invalid version number --- recipes/scdoc/all/conandata.yml | 2 +- recipes/scdoc/config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/scdoc/all/conandata.yml b/recipes/scdoc/all/conandata.yml index 9859fdd9fbe4b..e10d90bd8274f 100644 --- a/recipes/scdoc/all/conandata.yml +++ b/recipes/scdoc/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "1.11.12": + "1.11.2": url: "https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.2.tar.gz" sha256: "e9ff9981b5854301789a6778ee64ef1f6d1e5f4829a9dd3e58a9a63eacc2e6f0" diff --git a/recipes/scdoc/config.yml b/recipes/scdoc/config.yml index 4e3c90e52dc99..68804c58d126a 100644 --- a/recipes/scdoc/config.yml +++ b/recipes/scdoc/config.yml @@ -1,3 +1,3 @@ versions: - "1.11.12": + "1.11.2": folder: all From adc32d374f0a81e8d98416abf30079241d1b1ceb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 15:18:45 +0200 Subject: [PATCH 3167/4087] (#22001) scons: add v4.6.0 --- recipes/scons/all/conandata.yml | 3 +++ recipes/scons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/scons/all/conandata.yml b/recipes/scons/all/conandata.yml index 5c49097cbf659..5a281fd5282bb 100644 --- a/recipes/scons/all/conandata.yml +++ b/recipes/scons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.0": + url: "http://prdownloads.sourceforge.net/scons/SCons-4.6.0.tar.gz" + sha256: "7db28958b188b800f803c287d0680cc3ac7c422ed0b1cf9895042c52567803ec" "4.3.0": url: "http://prdownloads.sourceforge.net/scons/SCons-4.3.0.tar.gz" sha256: "2efc81754a4491299c0c64a6230715dfe33f7a3a42a0834a4ce1756af117bdec" diff --git a/recipes/scons/config.yml b/recipes/scons/config.yml index 26cb9a182f8d1..39ec99bde0cb3 100644 --- a/recipes/scons/config.yml +++ b/recipes/scons/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.0": + folder: all "4.3.0": folder: all "4.2.0": From 2ec76482bf8ec25ef8aa679f1581f25e7cd44388 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 15:38:45 +0200 Subject: [PATCH 3168/4087] (#22006) tinkerforge-bindings: add v2.1.33 * tinkerforge-bindings: add v2.1.33 * make linter happy --- recipes/tinkerforge-bindings/all/conandata.yml | 6 ++++-- recipes/tinkerforge-bindings/config.yml | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/tinkerforge-bindings/all/conandata.yml b/recipes/tinkerforge-bindings/all/conandata.yml index 4a2d6c836c7df..2db4c8cf9a932 100644 --- a/recipes/tinkerforge-bindings/all/conandata.yml +++ b/recipes/tinkerforge-bindings/all/conandata.yml @@ -1,5 +1,7 @@ sources: + "2.1.33": + url: "https://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_33.zip" + sha256: "50501ca76b574ed756fef8e647b2c0b14b8f970c3c7f28824db3b3a841d51798" "2.1.32": - url: https://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_32.zip + url: "https://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_32.zip" sha256: "228f8eb3e64170312ceaca7354ba5f3178e89389782b304657ccdd2a2fd2b6b5" - diff --git a/recipes/tinkerforge-bindings/config.yml b/recipes/tinkerforge-bindings/config.yml index d03f744650d0a..a948d6b05afc2 100644 --- a/recipes/tinkerforge-bindings/config.yml +++ b/recipes/tinkerforge-bindings/config.yml @@ -1,3 +1,5 @@ versions: + "2.1.33": + folder: all "2.1.32": folder: all From d0338b4a02c125f02756fae81c81e6b8b916a338 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 15:58:31 +0200 Subject: [PATCH 3169/4087] (#22007) tllist: add v1.1.0 --- recipes/tllist/all/conandata.yml | 5 ++++- recipes/tllist/config.yml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/tllist/all/conandata.yml b/recipes/tllist/all/conandata.yml index 57b91d7bbc8b2..b5b25e638eacf 100644 --- a/recipes/tllist/all/conandata.yml +++ b/recipes/tllist/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://codeberg.org/dnkl/tllist/archive/1.1.0.tar.gz" + sha256: "3f3fe2f7433719cec816c63937a7aa36e566bd317763ef46d11562073ab6361d" "1.0.5": url: "https://codeberg.org/dnkl/tllist/archive/1.0.5.tar.gz" - sha256: b0f32c9b2c2015c8d8dd068fd4e8b586aa91ca1670badc274ec962559ee0aadd + sha256: "b0f32c9b2c2015c8d8dd068fd4e8b586aa91ca1670badc274ec962559ee0aadd" diff --git a/recipes/tllist/config.yml b/recipes/tllist/config.yml index 9d896aecb9356..2c85a5a09f1df 100644 --- a/recipes/tllist/config.yml +++ b/recipes/tllist/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: "all" "1.0.5": folder: "all" From a46ee314e83ae7a2562492265457efae2b5daca2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 16:39:29 +0200 Subject: [PATCH 3170/4087] (#22008) upx: add v4.2.1 --- recipes/upx/all/conandata.yml | 24 ++++++++++++++++++++++++ recipes/upx/config.yml | 2 ++ 2 files changed, 26 insertions(+) diff --git a/recipes/upx/all/conandata.yml b/recipes/upx/all/conandata.yml index e774dc1feea4d..1f17ad4f588bc 100644 --- a/recipes/upx/all/conandata.yml +++ b/recipes/upx/all/conandata.yml @@ -1,4 +1,28 @@ sources: + "4.2.1": + "Linux": + "x86_64": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-amd64_linux.tar.xz" + sha256: "936e67a23d72338dad3304526a29f405e44e440a9983bbdb2566657d015cc56d" + "armv8": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-arm64_linux.tar.xz" + sha256: "922b4d021a1fdd68a883d9c837b09035317c9a52e8087403bd0d1b062c006f22" + "armv7": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-arm_linux.tar.xz" + sha256: "0ea0ca497b8fd4ecfd9201d100a0fde251214042b09d5e070c3435aae75913e0" + "ppc32": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-powerpc_linux.tar.xz" + sha256: "c96b6c196c31e2d78a4095d1a4c0b1a22050a2141d40c9387806d14d7ed75035" + "ppc64le": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-powerpc64le_linux.tar.xz" + sha256: "3f683b6de4e25c135c8ff7c91f116514b6cb30834a9708f4516b897502f6d34a" + "Windows": + "x86": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-win32.zip" + sha256: "475504d9b2ae5fd9ede27919ee3b3fa8869a1398645c1239fc19193022054268" + "x86_64": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-win64.zip" + sha256: "b6e20e35303a390c3b1211f5ed0559def2c34ec5774176bb22afee19b35b2138" "3.96": "Linux": "x86_64": diff --git a/recipes/upx/config.yml b/recipes/upx/config.yml index ec9befdb55388..417ec321f784d 100644 --- a/recipes/upx/config.yml +++ b/recipes/upx/config.yml @@ -1,3 +1,5 @@ versions: + "4.2.1": + folder: all "3.96": folder: all From a1192ed4da538ee97e079a13318c82e8388bc2ab Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 30 Dec 2023 15:48:29 +0100 Subject: [PATCH 3171/4087] (#21843) qt6: enable clang builds * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt6: enable clang builds fixes conan-io/conan-center-index#21698 * fix gcc 9.2 * satisfy linter * unbump xkbcommon --- recipes/qt/6.x.x/conandata.yml | 29 ++++++++++++++++++++ recipes/qt/6.x.x/conanfile.py | 14 +++------- recipes/qt/6.x.x/patches/32fa63f.patch | 28 +++++++++++++++++++ recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch | 28 +++++++++++++++++++ 4 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 recipes/qt/6.x.x/patches/32fa63f.patch create mode 100644 recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index cb7797f109eaf..d81c0510b2a8f 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -67,21 +67,46 @@ patches: - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" + "patch_type": "bugfix" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + - "base_path": "qtbase" + "patch_description": "Fix build error with lambda on GCC 9.2" + "patch_file": "patches/32fa63f.patch" + "patch_type": "bugfix" + "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920" "6.6.0": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" + "patch_type": "bugfix" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + - "base_path": "qtbase" + "patch_description": "Fix build error with lambda on GCC 9.2" + "patch_file": "patches/32fa63f.patch" + "patch_type": "bugfix" + "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920" "6.5.3": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e.diff" + "patch_type": "bugfix" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + - "base_path": "qtbase" + "patch_description": "Fix build error with lambda on GCC 9.2" + "patch_file": "patches/32fa63f_6.5.0.patch" + "patch_type": "bugfix" + "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920" "6.4.2": - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" + patch_type: "bugfix" + patch_source: "https://bugreports.qt.io/browse/QTBUG-95569" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" + patch_type: "bugfix" + patch_source: "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" - patch_file: "patches/d13958d.diff" base_path: "qtbase" patch_description: "Fix PCRE2 detection" @@ -91,9 +116,13 @@ patches: - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" + patch_type: "bugfix" + patch_source: "https://bugreports.qt.io/browse/QTBUG-95569" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" + patch_type: "bugfix" + patch_source: "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" - patch_file: "patches/d13958d.diff" base_path: "qtbase" patch_description: "Fix PCRE2 detection" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 6113ac9cd6f54..a0967b918228d 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -247,18 +247,12 @@ def validate(self): elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") - if Version(self.version) >= "6.5.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) == "9": - raise ConanInvalidConfiguration("qt 6.5.0 cannot be built with gcc 9, cf QTBUG-112920") - if Version(self.version) >= "6.4.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "12": raise ConanInvalidConfiguration("apple-clang >= 12 required by qt >= 6.4.0") if Version(self.version) >= "6.6.1" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "13.1": raise ConanInvalidConfiguration("apple-clang >= 13.1 is required by qt >= 6.6.1 cf QTBUG-119490") - if self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): - raise ConanInvalidConfiguration("Qt needs recent libstdc++, with charconv. please switch to gcc, or to libc++") - if self.settings.os == "Macos" and self.dependencies["double-conversion"].options.shared: raise ConanInvalidConfiguration("Test recipe fails because of Macos' SIP. Contributions are welcome.") @@ -321,11 +315,11 @@ def requirements(self): if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-loader/1.3.268.0") if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.78.1") + self.requires("glib/2.78.3") if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: @@ -380,7 +374,7 @@ def requirements(self): if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") if self.options.with_dbus: - self.requires("dbus/1.15.6") + self.requires("dbus/1.15.8") if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_md4c", False): @@ -390,7 +384,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') diff --git a/recipes/qt/6.x.x/patches/32fa63f.patch b/recipes/qt/6.x.x/patches/32fa63f.patch new file mode 100644 index 0000000000000..733b0c131f1f5 --- /dev/null +++ b/recipes/qt/6.x.x/patches/32fa63f.patch @@ -0,0 +1,28 @@ +From b404930e122013e76ba8fe165f3432288c051438 Mon Sep 17 00:00:00 2001 +From: shjiu +Date: Fri, 17 Nov 2023 09:41:31 +0900 +Subject: [PATCH] Fix build error with lambda on GCC 9.2 + +This patch is specific to the return type of updatePtrSimd function as boolean to avoid the bug of GCC 9.2. + +Fixes: QTBUG-112920 +Pick-to: 6.7 6.6 6.5 +Change-Id: I21cb1f6dda34448b2290ab72ec280b6b2a3732c9 +Reviewed-by: Volker Hilsheimer +--- + src/corelib/text/qstring.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp +index 2dc415584f3..d9e89f8e5bb 100644 +--- a/src/corelib/text/qstring.cpp ++++ b/src/corelib/text/qstring.cpp +@@ -471,7 +471,7 @@ static bool simdTestMask(const char *&ptr, const char *end, quint32 maskval) + if constexpr (UseSse4_1) { + # ifndef Q_OS_QNX // compiler fails in the code below + __m128i mask; +- auto updatePtrSimd = [&](__m128i data) { ++ auto updatePtrSimd = [&](__m128i data) -> bool { + __m128i masked = _mm_and_si128(mask, data); + __m128i comparison = _mm_cmpeq_epi16(masked, _mm_setzero_si128()); + uint result = _mm_movemask_epi8(comparison); diff --git a/recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch b/recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch new file mode 100644 index 0000000000000..3675cf9dd16d7 --- /dev/null +++ b/recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch @@ -0,0 +1,28 @@ +From b404930e122013e76ba8fe165f3432288c051438 Mon Sep 17 00:00:00 2001 +From: shjiu +Date: Fri, 17 Nov 2023 09:41:31 +0900 +Subject: [PATCH] Fix build error with lambda on GCC 9.2 + +This patch is specific to the return type of updatePtrSimd function as boolean to avoid the bug of GCC 9.2. + +Fixes: QTBUG-112920 +Pick-to: 6.7 6.6 6.5 +Change-Id: I21cb1f6dda34448b2290ab72ec280b6b2a3732c9 +Reviewed-by: Volker Hilsheimer +--- + src/corelib/text/qstring.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp +index 2dc415584f3..d9e89f8e5bb 100644 +--- a/src/corelib/text/qstring.cpp ++++ b/src/corelib/text/qstring.cpp +@@ -461,7 +461,7 @@ static bool simdTestMask(const char *&ptr, const char *end, quint32 maskval) + if constexpr (UseSse4_1) { + # ifndef Q_OS_QNX // compiler fails in the code below + __m128i mask; +- auto updatePtrSimd = [&](__m128i data) { ++ auto updatePtrSimd = [&](__m128i data) -> bool { + __m128i masked = _mm_and_si128(mask, data); + __m128i comparison = _mm_cmpeq_epi16(masked, _mm_setzero_si128()); + uint result = _mm_movemask_epi8(comparison); From eeb16a11e24548b0edad80a1e1ccfb48f0b6d789 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 17:09:07 +0200 Subject: [PATCH 3172/4087] (#22009) vvenc: add v1.10.0 --- recipes/vvenc/all/conandata.yml | 6 ++++-- recipes/vvenc/config.yml | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/vvenc/all/conandata.yml b/recipes/vvenc/all/conandata.yml index ed507f5b4a2bc..a3832678cf3e2 100644 --- a/recipes/vvenc/all/conandata.yml +++ b/recipes/vvenc/all/conandata.yml @@ -1,5 +1,7 @@ sources: + "1.10.0": + url: "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.10.0.tar.gz" + sha256: "579e4b19de3b356a96ec436dbfeb3b9583cb0a854e55f81226990924a5cfd38c" "1.8.0": - url: - - "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.8.0.tar.gz" + url: "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.8.0.tar.gz" sha256: "119970f1e00667045eb12775db10611fc04f9158348144913c9e233f98664714" diff --git a/recipes/vvenc/config.yml b/recipes/vvenc/config.yml index 6088e2f981017..f88ad156fc791 100644 --- a/recipes/vvenc/config.yml +++ b/recipes/vvenc/config.yml @@ -1,3 +1,5 @@ versions: + "1.10.0": + folder: "all" "1.8.0": folder: "all" From 152aa2144c3232710b0cca16548976443a735c0f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 16:41:57 +0100 Subject: [PATCH 3173/4087] (#22013) libxslt: bump deps --- recipes/libxslt/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index e7922c420ae67..711c11f5938b0 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -62,9 +62,9 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.1.39": # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.12.2", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.12.3", transitive_headers=True, transitive_libs=True) else: - self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.11.6", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From c15afeafda4027302243bb4d9113375b38daa250 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 16:51:56 +0100 Subject: [PATCH 3174/4087] (#22014) xkbcommon: bump deps --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 3dd46ad54cd61..aa22ef2b05309 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if not self._has_build_profile: From c9fc16bf2a80b73d35cce9f240b568ee4d54db70 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 18:18:57 +0200 Subject: [PATCH 3175/4087] (#22027) libfuse: add v3.16.2 --- recipes/libfuse/all/conandata.yml | 3 +++ recipes/libfuse/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libfuse/all/conandata.yml b/recipes/libfuse/all/conandata.yml index c5d2a101abf4a..8a9ccf19ae441 100644 --- a/recipes/libfuse/all/conandata.yml +++ b/recipes/libfuse/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.16.2": + url: "https://github.com/libfuse/libfuse/releases/download/fuse-3.16.2/fuse-3.16.2.tar.gz" + sha256: "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87" "3.10.5": url: "https://github.com/libfuse/libfuse/releases/download/fuse-3.10.5/fuse-3.10.5.tar.xz" sha256: "b2e283485d47404ac896dd0bb7f7ba81e1470838e677e45f659804c3a3b69666" diff --git a/recipes/libfuse/config.yml b/recipes/libfuse/config.yml index 3f5d2920bcb10..44d31f4a5151a 100644 --- a/recipes/libfuse/config.yml +++ b/recipes/libfuse/config.yml @@ -1,4 +1,6 @@ versions: + "3.16.2": + folder: all "3.10.5": folder: all "2.9.9": From c628f40956db896b0e2cc4505afd813a770deaee Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 18:41:30 +0200 Subject: [PATCH 3176/4087] (#22036) xorg-makedepend: add v1.0.8 --- recipes/xorg-makedepend/all/conandata.yml | 3 +++ recipes/xorg-makedepend/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xorg-makedepend/all/conandata.yml b/recipes/xorg-makedepend/all/conandata.yml index 17712580498cb..f052e3d0c52d9 100644 --- a/recipes/xorg-makedepend/all/conandata.yml +++ b/recipes/xorg-makedepend/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.8": + url: "https://www.x.org/archive/individual/util/makedepend-1.0.8.tar.xz" + sha256: "bfb26f8025189b2a01286ce6daacc2af8fe647440b40bb741dd5c397572cba5b" "1.0.6": url: "https://www.x.org/archive/individual/util/makedepend-1.0.6.tar.gz" sha256: "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365" diff --git a/recipes/xorg-makedepend/config.yml b/recipes/xorg-makedepend/config.yml index c8c4465c97415..09dfd19800bb5 100644 --- a/recipes/xorg-makedepend/config.yml +++ b/recipes/xorg-makedepend/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.8": + folder: all "1.0.6": folder: all From 10b741a0c273a62055f69ba47819935eda2ecf71 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 18:51:46 +0200 Subject: [PATCH 3177/4087] (#22044) xorg-cf-files: add v1.0.8 --- recipes/xorg-cf-files/all/conandata.yml | 5 +++++ recipes/xorg-cf-files/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/xorg-cf-files/all/conandata.yml b/recipes/xorg-cf-files/all/conandata.yml index 6580982dad473..658b472b4c45f 100644 --- a/recipes/xorg-cf-files/all/conandata.yml +++ b/recipes/xorg-cf-files/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "1.0.8": + url: "https://www.x.org/pub/individual/util/xorg-cf-files-1.0.8.tar.gz" + sha256: "c6f1c9ffce96278a9d7c72d081e508d81c219dec69ae0dbaf8ae88f4bc9ef977" "1.0.7": url: "https://www.x.org/pub/individual/util/xorg-cf-files-1.0.7.tar.gz" sha256: "a49478ba0c2138bc53de38979cd2dee073b6fd6728597c552d266a707747f472" patches: + "1.0.8": + - patch_file: "patches/1.0.7-0001-win-fixes.patch" "1.0.7": - patch_file: "patches/1.0.7-0001-win-fixes.patch" diff --git a/recipes/xorg-cf-files/config.yml b/recipes/xorg-cf-files/config.yml index 377623d3a93f7..b0a4d47458ba1 100644 --- a/recipes/xorg-cf-files/config.yml +++ b/recipes/xorg-cf-files/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.8": + folder: all "1.0.7": folder: all From 32816771e668986381e4b96a183b8878d24ff2d6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 02:53:57 +0900 Subject: [PATCH 3178/4087] (#22068) homo2d: add version 2.11 --- recipes/homog2d/all/conandata.yml | 3 +++ recipes/homog2d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/homog2d/all/conandata.yml b/recipes/homog2d/all/conandata.yml index 376b2a2d1feee..f297bf870a626 100644 --- a/recipes/homog2d/all/conandata.yml +++ b/recipes/homog2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11": + url: "https://github.com/skramm/homog2d/archive/refs/tags/v2.11.tar.gz" + sha256: "469a557b87f3285170d84eb06d9b23c6b422f01b17eb753819bfc488d59bf83a" "2.10": url: "https://github.com/skramm/homog2d/archive/refs/tags/v2.10.tar.gz" sha256: "fb71f709d78c386188894b7f08a2c4690b45a5695b8d988e24efbe1216c53052" diff --git a/recipes/homog2d/config.yml b/recipes/homog2d/config.yml index 7772686420d4e..37be65648ed14 100644 --- a/recipes/homog2d/config.yml +++ b/recipes/homog2d/config.yml @@ -1,4 +1,6 @@ versions: + "2.11": + folder: all "2.10": folder: all "2.9": From 6b7479d0d9caee3600aecb90e2c4f1a2d8cd1275 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 03:32:37 +0900 Subject: [PATCH 3179/4087] (#22017) glaze: add version 1.9.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index f1d83d415a573..6dc39ae7951e9 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.9": + url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz" + sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca" "1.9.8.1": url: "https://github.com/stephenberry/glaze/archive/v1.9.8.1.tar.gz" sha256: "f1dd8d93440096d186695814848c9cd350a9ec5b0e114e933579ef2467a35558" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 67a1488ea93f4..a22a25e3ca7a3 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.9": + folder: all "1.9.8.1": folder: all "1.9.5": From 12a16e65a5060da5ad8a69f506223854cd7773ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 21:23:07 +0200 Subject: [PATCH 3180/4087] (#22028) libgphoto: add v2.5.31 --- recipes/libgphoto2/all/conandata.yml | 5 +++++ recipes/libgphoto2/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/libgphoto2/all/conandata.yml b/recipes/libgphoto2/all/conandata.yml index 1f142a35cee75..8bad48c781d69 100644 --- a/recipes/libgphoto2/all/conandata.yml +++ b/recipes/libgphoto2/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "2.5.31": + url: "https://github.com/gphoto/libgphoto2/releases/download/v2.5.31/libgphoto2-2.5.31.tar.xz" + sha256: "8fc7bf40f979459509b87dd4ff1aae9b6c1c2b4724d37db576081eec15406ace" "2.5.27": url: "https://github.com/gphoto/libgphoto2/releases/download/v2.5.27/libgphoto2-2.5.27.tar.xz" sha256: "a7253bd18c6ef65352150ac36a668f883a5ad2634eb6455b3ca9aa6ac98d0073" patches: + "2.5.31": + - patch_file: "patches/2.5.27-0001-macos_snprintf.patch" "2.5.27": - patch_file: "patches/2.5.27-0001-macos_snprintf.patch" diff --git a/recipes/libgphoto2/config.yml b/recipes/libgphoto2/config.yml index 5139145403d46..90c8118874b7e 100644 --- a/recipes/libgphoto2/config.yml +++ b/recipes/libgphoto2/config.yml @@ -1,3 +1,5 @@ versions: + "2.5.31": + folder: all "2.5.27": folder: all From 175436d351b55b520078f76d55c1c4dbd5f5f0be Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 22:04:28 +0200 Subject: [PATCH 3181/4087] (#22063) uncrustify: add v0.78.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/uncrustify/all/conandata.yml | 3 +++ recipes/uncrustify/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uncrustify/all/conandata.yml b/recipes/uncrustify/all/conandata.yml index 994dd9df8f5c3..b95a9b875d7e4 100644 --- a/recipes/uncrustify/all/conandata.yml +++ b/recipes/uncrustify/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.78.1": + url: "https://github.com/uncrustify/uncrustify/archive/uncrustify-0.78.1.tar.gz" + sha256: "ecaf4c0adca14c36dfffa30bc28e69865115ecd602c90eb16a8cddccb41caad2" "0.78.0": url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.78.0.tar.gz" sha256: "377efec187c26c7ad77900d94032fa51b029831c69442d607a6e53ef2115928f" diff --git a/recipes/uncrustify/config.yml b/recipes/uncrustify/config.yml index 67d12c21bb4ac..d0d1205acdb6e 100644 --- a/recipes/uncrustify/config.yml +++ b/recipes/uncrustify/config.yml @@ -1,4 +1,6 @@ versions: + "0.78.1": + folder: all "0.78.0": folder: all "0.77.1": From 8fefab04c21344e5d0c5109413493333452eaf13 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 05:16:56 +0900 Subject: [PATCH 3182/4087] (#22069) libenvpp: add version 1.4.0 --- recipes/libenvpp/all/conandata.yml | 7 +++++++ recipes/libenvpp/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libenvpp/all/conandata.yml b/recipes/libenvpp/all/conandata.yml index 6d0d3123e3cdf..9ad4addaf724a 100644 --- a/recipes/libenvpp/all/conandata.yml +++ b/recipes/libenvpp/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.4.0": + url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.4.0.tar.gz" + sha256: "3f9a4a4b62abc06522de76e3a999cc3cd6b60299dc26b28ccc2183aa614f10cd" "1.3.0": url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.3.0.tar.gz" sha256: "9201ae39dc67118ee46b4e60fe2e5d22b046faceae4a4b4eec6ab62bc48875dd" patches: + "1.4.0": + - patch_file: "patches/0001-use-cci-fmt.patch" + patch_description: "use cci fmt package, remove static flag from add_library" + patch_type: "conan" "1.3.0": - patch_file: "patches/0001-use-cci-fmt.patch" patch_description: "use cci fmt package, remove static flag from add_library" diff --git a/recipes/libenvpp/config.yml b/recipes/libenvpp/config.yml index 426a0e4c79e9b..25c9b4921636c 100644 --- a/recipes/libenvpp/config.yml +++ b/recipes/libenvpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.4.0": + folder: all "1.3.0": folder: all From 4058b8dc7ef99eee8da9e86dfbbb16088d7015cc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 30 Dec 2023 14:29:50 -0600 Subject: [PATCH 3183/4087] (#22073) boost-ext-ut: Add version 2.0.1 --- recipes/boost-ext-ut/all/conandata.yml | 3 +++ recipes/boost-ext-ut/config.yml | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/boost-ext-ut/all/conandata.yml b/recipes/boost-ext-ut/all/conandata.yml index f123657f3fbe3..6a4836cd7d3f2 100644 --- a/recipes/boost-ext-ut/all/conandata.yml +++ b/recipes/boost-ext-ut/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/boost-ext/ut/archive/v2.0.1.tar.gz" + sha256: "1e43be17045a881c95cedc843d72fe9c1e53239b02ed179c1e39e041ebcd7dad" "2.0.0": url: "https://github.com/boost-ext/ut/archive/v2.0.0.tar.gz" sha256: "8b5b11197d1308dfc1fe20efd6a656e0c833dbec2807e2292967f6e2f7c0420f" diff --git a/recipes/boost-ext-ut/config.yml b/recipes/boost-ext-ut/config.yml index 483296a860daa..c1e4e8bebed11 100644 --- a/recipes/boost-ext-ut/config.yml +++ b/recipes/boost-ext-ut/config.yml @@ -1,7 +1,9 @@ versions: - "2.0.0": + "2.0.1": folder: "all" - "1.1.8": + "2.0.0": folder: "all" "1.1.9": folder: "all" + "1.1.8": + folder: "all" From 75ec76d0950d465768d38c34f2c34ee535bab9e8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 22:43:06 +0200 Subject: [PATCH 3184/4087] (#22057) libnet: add v1.3 --- recipes/libnet/all/conandata.yml | 7 +++++-- recipes/libnet/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libnet/all/conandata.yml b/recipes/libnet/all/conandata.yml index 56c7fdd2f75d8..b6160ca826334 100644 --- a/recipes/libnet/all/conandata.yml +++ b/recipes/libnet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3": + url: "https://github.com/libnet/libnet/releases/download/v1.3/libnet-1.3.tar.gz" + sha256: "ad1e2dd9b500c58ee462acd839d0a0ea9a2b9248a1287840bc601e774fb6b28f" "1.2": - sha256: caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7 - url: https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz + url: "https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz" + sha256: "caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7" diff --git a/recipes/libnet/config.yml b/recipes/libnet/config.yml index a0777b5aa931c..81d0457bb64a7 100644 --- a/recipes/libnet/config.yml +++ b/recipes/libnet/config.yml @@ -1,3 +1,5 @@ versions: + "1.3": + folder: all "1.2": folder: all From b15c903083779de8f482e40534ae93499533aeef Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 06:04:15 +0900 Subject: [PATCH 3185/4087] (#22074) mppp: add version 1.0.2 --- recipes/mppp/all/conandata.yml | 11 +++++++++++ recipes/mppp/config.yml | 2 ++ 2 files changed, 13 insertions(+) diff --git a/recipes/mppp/all/conandata.yml b/recipes/mppp/all/conandata.yml index 9dd5ca329ab04..5ecb23c111e1a 100644 --- a/recipes/mppp/all/conandata.yml +++ b/recipes/mppp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.2": + url: "https://github.com/bluescarni/mppp/archive/v1.0.2.tar.gz" + sha256: "2a537bc339726388fdda39905692d3df92fceee51d264e720e0e7ab7570bcdaf" "1.0.0": url: "https://github.com/bluescarni/mppp/archive/v1.0.0.tar.gz" sha256: "e58b1a5fb8bdf095261eeb0861c3f46f96c71c4b043d19700e73ce3e4e639268" @@ -9,6 +12,14 @@ sources: url: "https://github.com/bluescarni/mppp/archive/v0.26.tar.gz" sha256: "4dbfa68802d9a1365eda884f085418afc147d01b7a928e8333e4dcc1c3b3ce9e" patches: + "1.0.2": + - patch_file: "patches/1.0.0-0001-disable-warning-error.patch" + patch_description: "disable the flag for treats warning as errors" + patch_type: "portability" + - patch_file: "patches/1.0.0-0002-remove-fmt-version.patch" + # https://github.com/conan-io/conan/issues/14172 + patch_description: "remove fmt version number from find_package" + patch_type: "conan" "1.0.0": - patch_file: "patches/1.0.0-0001-disable-warning-error.patch" patch_description: "disable the flag for treats warning as errors" diff --git a/recipes/mppp/config.yml b/recipes/mppp/config.yml index 02775a2352146..460a704f2241d 100644 --- a/recipes/mppp/config.yml +++ b/recipes/mppp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.2": + folder: all "1.0.0": folder: all "0.27": From b17dc7e30893d22c905b9fb653b781eb82bbce07 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 00:43:14 +0200 Subject: [PATCH 3186/4087] (#22020) autoconf-archive: add v2023.02.20 --- recipes/autoconf-archive/all/conandata.yml | 9 ++++++--- recipes/autoconf-archive/config.yml | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/autoconf-archive/all/conandata.yml b/recipes/autoconf-archive/all/conandata.yml index 5443eebf3e116..763c0b5a2581e 100644 --- a/recipes/autoconf-archive/all/conandata.yml +++ b/recipes/autoconf-archive/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "2021.02.19": - url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2021.02.19.tar.xz" - sha256: "e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd" + "2023.02.20": + url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2023.02.20.tar.xz" + sha256: "71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33" "2022.09.03": url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2022.09.03.tar.xz" sha256: "e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423" + "2021.02.19": + url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2021.02.19.tar.xz" + sha256: "e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd" diff --git a/recipes/autoconf-archive/config.yml b/recipes/autoconf-archive/config.yml index d6031b4a79015..8168c2f450f36 100644 --- a/recipes/autoconf-archive/config.yml +++ b/recipes/autoconf-archive/config.yml @@ -1,5 +1,7 @@ versions: - "2021.02.19": + "2023.02.20": folder: all "2022.09.03": folder: all + "2021.02.19": + folder: all From 3b524e579a44b5ecbe1398652860c7dba97483eb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 01:13:27 +0200 Subject: [PATCH 3187/4087] (#22045) xorg-macros: add v1.20.0 --- recipes/xorg-macros/all/conandata.yml | 5 +++++ recipes/xorg-macros/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/xorg-macros/all/conandata.yml b/recipes/xorg-macros/all/conandata.yml index 69af08fff0a8f..2e869ee5f7766 100644 --- a/recipes/xorg-macros/all/conandata.yml +++ b/recipes/xorg-macros/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "1.20.0": + url: "https://www.x.org/releases/individual/util/util-macros-1.20.0.tar.gz" + sha256: "8daf36913d551a90fd1013cb078401375dabae021cb4713b9b256a70f00eeb74" "1.19.3": url: "https://www.x.org/releases/individual/util/util-macros-1.19.3.tar.gz" sha256: "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b" patches: + "1.20.0": + - patch_file: "patches/0001-export-XORG_MACROS_VERSION-macro.patch" "1.19.3": - patch_file: "patches/0001-export-XORG_MACROS_VERSION-macro.patch" diff --git a/recipes/xorg-macros/config.yml b/recipes/xorg-macros/config.yml index 4d76ebbbccd62..5cecce18ebb70 100644 --- a/recipes/xorg-macros/config.yml +++ b/recipes/xorg-macros/config.yml @@ -1,3 +1,5 @@ versions: + "1.20.0": + folder: "all" "1.19.3": folder: "all" From a5f4622a727295aedcb1a35d132cd8f7d46853bd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 02:09:22 +0200 Subject: [PATCH 3188/4087] (#22054) icu: add v74.2 * icu: add v74.2 * icu: update v74.2 URL The non-FIXED version has a broken symlink for the LICENSE file. --- recipes/icu/all/conandata.yml | 5 +++++ recipes/icu/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index 3f814d74e3bae..8f6d4963890d2 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "74.2": + url: "https://github.com/unicode-org/icu/releases/download/release-74-2/icu4c-74_2-src-FIXED.tgz" + sha256: "68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c" "74.1": url: "https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz" sha256: "86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0" @@ -24,6 +27,8 @@ sources: url: "https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz" sha256: "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" patches: + "74.2": + - patch_file: "patches/0001-69.1-fix-mingw.patch" "74.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.2": diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index 4259c6010a85b..bd6c5fcac524c 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "74.2": + folder: all "74.1": folder: all "73.2": From fef763a8866fca4aa05afea83496a486ec915c0a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 03:03:12 +0200 Subject: [PATCH 3189/4087] (#21968) libmnl: add v1.0.5 --- recipes/libmnl/all/conandata.yml | 7 +++++-- recipes/libmnl/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libmnl/all/conandata.yml b/recipes/libmnl/all/conandata.yml index bde6a08f3c7d1..11d5c387c466f 100644 --- a/recipes/libmnl/all/conandata.yml +++ b/recipes/libmnl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.5": + url: "https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.5.tar.bz2" + sha256: "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525" "1.0.4": - sha256: 171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81 - url: https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.4.tar.bz2 + url: "https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.4.tar.bz2" + sha256: "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81" diff --git a/recipes/libmnl/config.yml b/recipes/libmnl/config.yml index 33bdc0114d503..4e7eb0116387e 100644 --- a/recipes/libmnl/config.yml +++ b/recipes/libmnl/config.yml @@ -1,3 +1,5 @@ versions: + 1.0.5: + folder: all 1.0.4: folder: all From c7fbf45e3bfe7b1489aadbfd98e45b7dd5114cd2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 03:34:50 +0200 Subject: [PATCH 3190/4087] (#22050) capstone: add v5.0.1 --- recipes/capstone/all/conandata.yml | 7 +++++++ recipes/capstone/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/capstone/all/conandata.yml b/recipes/capstone/all/conandata.yml index d7a89de82f179..b49957e5739d0 100644 --- a/recipes/capstone/all/conandata.yml +++ b/recipes/capstone/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0.1": + url: "https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.1.tar.gz" + sha256: "2b9c66915923fdc42e0e32e2a9d7d83d3534a45bb235e163a70047951890c01a" "5.0": url: "https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.tar.gz" sha256: "df24344407baa7415eeb006f742afc9b92cd33abf2c4c120a6e97cfb376882dc" @@ -6,6 +9,10 @@ sources: url: "https://github.com/capstone-engine/capstone/archive/refs/tags/4.0.2.tar.gz" sha256: "7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a" patches: + "5.0.1": + - patch_file: "patches/5.0-0001-disable-warning-flags.patch" + patch_description: "disable warning flags for older compilers" + patch_type: "portability" "5.0": - patch_file: "patches/5.0-0001-disable-warning-flags.patch" patch_description: "disable warning flags for older compilers" diff --git a/recipes/capstone/config.yml b/recipes/capstone/config.yml index 62f80ddacb005..77f1d8f750fd6 100644 --- a/recipes/capstone/config.yml +++ b/recipes/capstone/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.1": + folder: "all" "5.0": folder: "all" "4.0.2": From 07928c3eb7d464f57ad9a6549c47c717c069913b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 04:26:17 +0200 Subject: [PATCH 3191/4087] (#21967) libmicrohttpd: add v0.9.77 --- recipes/libmicrohttpd/all/conandata.yml | 3 +++ recipes/libmicrohttpd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmicrohttpd/all/conandata.yml b/recipes/libmicrohttpd/all/conandata.yml index ead353a01eb87..f20a5496c465e 100644 --- a/recipes/libmicrohttpd/all/conandata.yml +++ b/recipes/libmicrohttpd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.77": + url: "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.77.tar.gz" + sha256: "9e7023a151120060d2806a6ea4c13ca9933ece4eacfc5c9464d20edddb76b0a0" "0.9.75": url: "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.75.tar.gz" sha256: "9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb" diff --git a/recipes/libmicrohttpd/config.yml b/recipes/libmicrohttpd/config.yml index 48e6a23d34df6..a945bee94f12c 100644 --- a/recipes/libmicrohttpd/config.yml +++ b/recipes/libmicrohttpd/config.yml @@ -1,3 +1,5 @@ versions: + "0.9.77": + folder: all "0.9.75": folder: all From d715ef04ecfd3b42351ab5082415bdbe9cfd408f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 04:37:19 +0200 Subject: [PATCH 3192/4087] (#22034) libtorrent: add v2.0.9 --- recipes/libtorrent/all/conandata.yml | 3 +++ recipes/libtorrent/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libtorrent/all/conandata.yml b/recipes/libtorrent/all/conandata.yml index c0a04e36275d4..c7cf929c7aa2c 100644 --- a/recipes/libtorrent/all/conandata.yml +++ b/recipes/libtorrent/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.9": + url: "https://github.com/arvidn/libtorrent/releases/download/v2.0.9/libtorrent-rasterbar-2.0.9.tar.gz" + sha256: "90cd92b6061c5b664840c3d5e151d43fedb24f5b2b24e14425ffbb884ef1798e" "2.0.8": url: "https://github.com/arvidn/libtorrent/releases/download/v2.0.8/libtorrent-rasterbar-2.0.8.tar.gz" sha256: "09dd399b4477638cf140183f5f85d376abffb9c192bc2910002988e27d69e13e" diff --git a/recipes/libtorrent/config.yml b/recipes/libtorrent/config.yml index aabaf7330b305..dd7ddb590b4ae 100644 --- a/recipes/libtorrent/config.yml +++ b/recipes/libtorrent/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.9": + folder: "all" "2.0.8": folder: "all" "2.0.1": From 325457de3aa9d72578bb39ff0b97076a4eca601e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 11:47:03 +0900 Subject: [PATCH 3193/4087] (#22075) minizip-ng: add version 4.0.4 --- recipes/minizip-ng/all/conandata.yml | 3 +++ recipes/minizip-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index 5f960210fcf89..59d6ffad1b8f1 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.4.tar.gz" + sha256: "955800fe39f9d830fcb84e60746952f6a48e41093ec7a233c63ad611b5fcfe9f" "4.0.3": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.3.tar.gz" sha256: "e39a736d4f55c22fa548e68225b2e92bc22aedd9ab90d002b0c5851e3a7bdace" diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index b392738806e8d..8a16d3eeb883f 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.3": folder: all "4.0.2": From 7791ff2b68bd8d73b7b4b646d3c28f223d06857f Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 16:55:47 +0900 Subject: [PATCH 3194/4087] (#22077) utfcpp: add version 4.0.4 --- recipes/utfcpp/all/conandata.yml | 3 +++ recipes/utfcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index f78d79ff038b9..03f2a95423481 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/nemtrif/utfcpp/archive/v4.0.4.tar.gz" + sha256: "7c8a403d0c575d52473c8644cd9eb46c6ba028d2549bc3e0cdc2d45f5cfd78a0" "4.0.1": url: "https://github.com/nemtrif/utfcpp/archive/v4.0.1.tar.gz" sha256: "9014342a716258da00b97bf8c201a2edc4d72d2025cd8d62f0650ac627038f95" diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index eabfdbf69a0cc..46e4658742975 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.1": folder: all "4.0.0": From 4e8fa50ac0d98d8f32d309f5ab303ff7e6eb973e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 17:19:03 +0900 Subject: [PATCH 3195/4087] (#22078) s2n: add version 1.4.1 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 7cf47057ff944..23e77bed0050e 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.1.tar.gz" + sha256: "d8c1d8e1142441412434feacb4947ce6430a244dcd8f58921af79b29bd901731" "1.4.0": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.0.tar.gz" sha256: "3f786cb2f35e0551e120e1747e7b510a8228cd852073afa241313939672046cb" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 08d9c1cf6b54d..516ed15f07d2b 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.56": From 83a32518390bcbd57c31dd5230ac642ee5a4d974 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 17:49:04 +0900 Subject: [PATCH 3196/4087] (#22066) c-blosc2: add version 2.12.0 --- recipes/c-blosc2/all/conandata.yml | 7 +++++++ recipes/c-blosc2/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 0708127cd17a6..610af582fe0d6 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.0": + url: "https://github.com/Blosc/c-blosc2/archive/v2.12.0.tar.gz" + sha256: "b8fa07ab0627c19fb652e08a5ada197eb0939b75e97e2fb76bbee145eaedc6e9" "2.11.3": url: "https://github.com/Blosc/c-blosc2/archive/v2.11.3.tar.gz" sha256: "7273ec3ab42adc247425ab34b0601db86a6e2a6aa1a97a11e29df02e078f5037" @@ -30,6 +33,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz" sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036" patches: + "2.12.0": + - patch_file: "patches/2.11.1-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.11.3": - patch_file: "patches/2.11.1-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 217462db7de18..acf966bc19e73 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.0": + folder: all "2.11.3": folder: all "2.11.2": From 907566c43fa3ca9d9b557ac36dcef66f45de6825 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 13:49:10 +0200 Subject: [PATCH 3197/4087] (#21995) gnutls: add v3.8.2 --- recipes/gnutls/all/conandata.yml | 6 ++++++ recipes/gnutls/all/conanfile.py | 4 ++-- recipes/gnutls/config.yml | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/gnutls/all/conandata.yml b/recipes/gnutls/all/conandata.yml index ffbcf3dfbc66a..bdde34580468c 100644 --- a/recipes/gnutls/all/conandata.yml +++ b/recipes/gnutls/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.8.2": + url: + - "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.2.tar.xz" + - "http://www.ring.gr.jp/pub/net/gnupg/gnutls/v3.8/gnutls-3.8.2.tar.xz" + - "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v3.8/gnutls-3.8.2.tar.xz" + sha256: "e765e5016ffa9b9dd243e363a0460d577074444ee2491267db2e96c9c2adef77" "3.7.8": url: - "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.8.tar.xz" diff --git a/recipes/gnutls/all/conanfile.py b/recipes/gnutls/all/conanfile.py index 193f97471c98a..4f1bb9180932b 100644 --- a/recipes/gnutls/all/conanfile.py +++ b/recipes/gnutls/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("nettle/3.8.1") + self.requires("nettle/3.9.1") self.requires("gmp/6.3.0") self.requires("libiconv/1.17") if self.options.with_zlib: @@ -81,7 +81,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/gnutls/config.yml b/recipes/gnutls/config.yml index c993c311a349d..4a62e6bbb26e7 100644 --- a/recipes/gnutls/config.yml +++ b/recipes/gnutls/config.yml @@ -1,3 +1,5 @@ versions: + "3.8.2": + folder: "all" "3.7.8": folder: "all" From f2726bfde86ece45d88deff772e8786749ae6393 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 16:32:09 +0200 Subject: [PATCH 3198/4087] (#21957) libzen: add v0.4.41 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libzen/all/conandata.yml | 6 +++++- recipes/libzen/all/conanfile.py | 10 ++++++++-- .../patches/0001-enable-WIN32-shared-libraries.patch | 11 ----------- recipes/libzen/config.yml | 2 ++ 4 files changed, 15 insertions(+), 14 deletions(-) delete mode 100644 recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch diff --git a/recipes/libzen/all/conandata.yml b/recipes/libzen/all/conandata.yml index c0b761db1ccf7..13b7a5a289581 100644 --- a/recipes/libzen/all/conandata.yml +++ b/recipes/libzen/all/conandata.yml @@ -1,8 +1,12 @@ sources: + "0.4.41": + url: "https://mediaarea.net/download/source/libzen/0.4.41/libzen_0.4.41.tar.bz2" + sha256: "eb237d7d3dca6dc6ba068719420a27de0934a783ccaeb2867562b35af3901e2d" "0.4.38": url: "https://mediaarea.net/download/source/libzen/0.4.38/libzen_0.4.38.tar.bz2" sha256: "594e07bb4a0472cd9da258b3c4e050e9a37a39cccd85e3d8b5bf597d027b7eda" patches: + "0.4.41": + - patch_file: "patches/0002-export-data-in-windows-dlls.patch" "0.4.38": - - patch_file: "patches/0001-enable-WIN32-shared-libraries.patch" - patch_file: "patches/0002-export-data-in-windows-dlls.patch" diff --git a/recipes/libzen/all/conanfile.py b/recipes/libzen/all/conanfile.py index c2222bfee137d..76f22e86e9164 100644 --- a/recipes/libzen/all/conanfile.py +++ b/recipes/libzen/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save, replace_in_file import os import textwrap @@ -57,8 +57,14 @@ def generate(self): tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # Enable WIN32 shared libraries + replace_in_file(self, os.path.join(self.source_folder, "Project", "CMake", "CMakeLists.txt"), + "set(BUILD_SHARED_LIBS OFF)", "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "Project", "CMake")) cmake.build() diff --git a/recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch b/recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch deleted file mode 100644 index f40a66c0fca2f..0000000000000 --- a/recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Project/CMake/CMakeLists.txt -+++ Project/CMake/CMakeLists.txt -@@ -7,7 +7,7 @@ - set(ZenLib_PATCH_VERSION 38) - set(ZenLib_VERSION ${ZenLib_MAJOR_VERSION}.${ZenLib_MINOR_VERSION}.${ZenLib_PATCH_VERSION}) - --if(WIN32) -+if(0) - set(BUILD_SHARED_LIBS OFF) - else() - option(BUILD_SHARED_LIBS "Build shared libs" ON) diff --git a/recipes/libzen/config.yml b/recipes/libzen/config.yml index 49eb7f8b8da5a..ced5a558f9a53 100644 --- a/recipes/libzen/config.yml +++ b/recipes/libzen/config.yml @@ -1,3 +1,5 @@ versions: + "0.4.41": + folder: "all" "0.4.38": folder: "all" From ee956fcd10ae9f8c87cc45611a4a49a4e0161942 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jan 2024 00:55:21 +0900 Subject: [PATCH 3199/4087] (#22084) catch2: add version 3.5.1 --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index 85ef2d28e9683..f42fcf13ad368 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/catchorg/Catch2/archive/v3.5.1.tar.gz" + sha256: "49c3ca7a68f1c8ec71307736bc6ed14fec21631707e1be9af45daf4037e75a08" "3.5.0": url: "https://github.com/catchorg/Catch2/archive/v3.5.0.tar.gz" sha256: "f6d4f8d78a9b59ec72a81d49f58d18eb317372ac07f8d9432710a079e69fd66a" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index df92faa46a85a..1e105253d64f9 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: 3.x.x "3.5.0": folder: 3.x.x "3.4.0": From 063b5d15b6c1cb9ffffd3ec61ac60f08e818ec72 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jan 2024 01:28:45 +0900 Subject: [PATCH 3200/4087] (#22085) tinyxml2: add version 10.0.0 --- recipes/tinyxml2/all/conandata.yml | 3 +++ recipes/tinyxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinyxml2/all/conandata.yml b/recipes/tinyxml2/all/conandata.yml index e2cd904cc1876..f8959f0c1aa8a 100644 --- a/recipes/tinyxml2/all/conandata.yml +++ b/recipes/tinyxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.0.0": + url: "https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz" + sha256: "3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839" "9.0.0": url: "https://github.com/leethomason/tinyxml2/archive/refs/tags/9.0.0.tar.gz" sha256: "cc2f1417c308b1f6acc54f88eb70771a0bf65f76282ce5c40e54cfe52952702c" diff --git a/recipes/tinyxml2/config.yml b/recipes/tinyxml2/config.yml index 0458a9c7b0da4..08bc3b64c9acc 100644 --- a/recipes/tinyxml2/config.yml +++ b/recipes/tinyxml2/config.yml @@ -1,4 +1,6 @@ versions: + "10.0.0": + folder: all "9.0.0": folder: all "8.0.0": From 57825a4b2b95b77823728640ab17de8672669508 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jan 2024 17:50:42 +0900 Subject: [PATCH 3201/4087] (#22086) jsoncons-0.173.2 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index b5e73a3ea8b91..52e32ee921839 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.173.2": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.2.tar.gz" + sha256: "c689e9275fe428abf2914e4588321ed0fa756cce6448af94fbd625eb0a618a57" "0.173.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.0.tar.gz" sha256: "61abb5e4fbdb3ef7601b4fdc263bc806785609c47b4d7e81f8c3110bd53a9282" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index e0e954ddc8022..4ff39c386d267 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.173.2": + folder: "all" "0.173.0": folder: "all" "0.172.1": From badb39ab7176d7b1a9eb5fe3aaba4ec236a6b9ed Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 12:02:26 +0100 Subject: [PATCH 3202/4087] (#22087) proj: add version 9.3.1 --- recipes/proj/all/conandata.yml | 7 +++++++ recipes/proj/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/proj/all/conandata.yml b/recipes/proj/all/conandata.yml index 865b4bba90467..95a7cf689dd27 100644 --- a/recipes/proj/all/conandata.yml +++ b/recipes/proj/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.3.1": + url: "https://github.com/OSGeo/PROJ/releases/download/9.3.1/proj-9.3.1.tar.gz" + sha256: "b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc" "9.3.0": url: "https://github.com/OSGeo/PROJ/archive/9.3.0.tar.gz" sha256: "f48c334eaf56c38d681bcfa37f188f422a562f45a66e6e646a79b4249641ecdb" @@ -27,6 +30,10 @@ sources: url: "https://github.com/OSGeo/PROJ/releases/download/6.3.1/proj-6.3.1.tar.gz" sha256: "6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8" patches: + "9.3.1": + - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" + patch_type: "conan" + patch_description: "Use cmake targets" "9.3.0": - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" patch_type: "conan" diff --git a/recipes/proj/config.yml b/recipes/proj/config.yml index 57e61ab70191e..ab5afce9c830c 100644 --- a/recipes/proj/config.yml +++ b/recipes/proj/config.yml @@ -1,4 +1,6 @@ versions: + "9.3.1": + folder: "all" "9.3.0": folder: "all" "9.2.1": From 38ad7a788eee209a5a6b259c4be85a7e52801f2a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 12:25:50 +0100 Subject: [PATCH 3203/4087] (#22089) xmlsec: bump deps --- recipes/xmlsec/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 1da9588a9dd91..acc967598ba2e 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.5", transitive_headers=True) + self.requires("libxml2/2.12.3", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: From 3a3108797e3acf80fee3c74f7cff9a2baa25975d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 12:44:12 +0100 Subject: [PATCH 3204/4087] (#22090) tmx: bump deps --- recipes/tmx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tmx/all/conanfile.py b/recipes/tmx/all/conanfile.py index 532a780023daa..a45d56f04f970 100644 --- a/recipes/tmx/all/conanfile.py +++ b/recipes/tmx/all/conanfile.py @@ -52,7 +52,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.6") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: From f01528a0f25da93822ff3503c4608596f0f06920 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 14:12:47 +0100 Subject: [PATCH 3205/4087] (#22091) opentdf-client: bump deps --- recipes/opentdf-client/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index 8d420a25df14f..fe131a8a2f728 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -69,11 +69,11 @@ def requirements(self): if Version(self.version) >= "1.4.0": self.requires("magic_enum/0.8.2") self.requires("ms-gsl/2.1.0") - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("jwt-cpp/0.4.0") self.requires("zlib/[>=1.2.11 <2]") self.requires("boost/1.83.0") - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.6") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 6045ba03f43d262507dc730ba6b5f314a2291805 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 15:34:26 +0100 Subject: [PATCH 3206/4087] (#22092) tixi3: bump deps --- recipes/tixi3/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index 945f16516ecaa..9ec42f58000e7 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -33,8 +33,8 @@ def generate(self): deps.generate() def requirements(self): - self.requires("libxml2/2.11.5") - self.requires("libxslt/1.1.34") + self.requires("libxml2/2.11.6") + self.requires("libxslt/1.1.37") self.requires("libcurl/[>=7.78.0 <9]") def layout(self): From 05d8c8eec41a4d2dbeb63f113420a845b0bb2818 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 00:13:44 +0900 Subject: [PATCH 3207/4087] (#22093) gperftools: add version 2.14.0 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index b141978957b85..ea084652a90eb 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.14.0": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.14/gperftools-2.14.tar.gz" + sha256: "6b561baf304b53d0a25311bd2e29bc993bed76b7c562380949e7cb5e3846b299" "2.13.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.13/gperftools-2.13.tar.gz" sha256: "4882c5ece69f8691e51ffd6486df7d79dbf43b0c909d84d3c0883e30d27323e7" diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 65392d0c25ec5..4712364eac217 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.14.0": + folder: all "2.13.0": folder: all "2.12.0": From 6b3c64334af72bbfb31f40d18da384e10ddf64f9 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 17:47:29 +0100 Subject: [PATCH 3208/4087] (#22088) libxmlpp: bump deps --- recipes/libxmlpp/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libxmlpp/all/conanfile.py b/recipes/libxmlpp/all/conanfile.py index 861652e59145b..4a4582e3b0921 100644 --- a/recipes/libxmlpp/all/conanfile.py +++ b/recipes/libxmlpp/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.3") if Version(self.version) <= "2.42.1": self.requires("glibmm/2.66.4", transitive_headers=True, transitive_libs=True) else: @@ -75,9 +75,9 @@ def validate(self): check_min_cppstd(self, 11) def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 3714523d7e8505d15bf04563fb444f5889ff9be3 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 18:41:36 +0100 Subject: [PATCH 3209/4087] (#22095) libgeotiff: bump deps --- recipes/libgeotiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index 8420d20d07e09..557e23e5c4e53 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): def requirements(self): # libgeotiff/include/xtiffio.h includes libtiff/include/tiffio.h self.requires("libtiff/4.6.0", transitive_headers=True, transitive_libs=True) - self.requires("proj/9.3.0") + self.requires("proj/9.3.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 2732a31bb1e79f265f72045d203c18a6bfac778b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 1 Jan 2024 23:57:29 +0000 Subject: [PATCH 3210/4087] (#22102) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 95743fcd62579..2eebaa6113069 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -195,9 +195,11 @@ required_for_references: - console_bridge - continuable - coost +- copypp - corrade - cose-c - cotila +- coz - cpp-httplib - cpp-ipc - cpp-jwt @@ -371,6 +373,7 @@ required_for_references: - flatbush - flecs - flex +- flint - fltk - fmi1 - fmi2 @@ -651,6 +654,7 @@ required_for_references: - libhydrogen - libiberty - libiconv +- libid3tag - libinterpolate - libipt - libjpeg @@ -778,6 +782,7 @@ required_for_references: - linux-headers-generic - linux-syscall-support - litehtml +- lksctp-tools - llhttp - llvm-openmp - lmdb From 582fdadae5a4baa22e7bf94081237527c541bb42 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 16:10:20 +0900 Subject: [PATCH 3211/4087] (#21883) lunasvg: add version 2.3.9 * lunasvg: add version 2.3.9 * support gcc 5 * add patch_source --- recipes/lunasvg/all/conandata.yml | 11 ++++++ recipes/lunasvg/all/conanfile.py | 19 +++++----- .../all/patches/2.3.9-0001-fix-cmake.patch | 38 +++++++++++++++++++ .../2.3.9-0002-rename-inner-selector.patch | 26 +++++++++++++ .../lunasvg/all/test_package/CMakeLists.txt | 4 +- recipes/lunasvg/config.yml | 2 + 6 files changed, 90 insertions(+), 10 deletions(-) create mode 100644 recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch create mode 100644 recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch diff --git a/recipes/lunasvg/all/conandata.yml b/recipes/lunasvg/all/conandata.yml index ae1c5e27df269..841dc89eb9587 100644 --- a/recipes/lunasvg/all/conandata.yml +++ b/recipes/lunasvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.9": + url: "https://github.com/sammycage/lunasvg/archive/v2.3.9.tar.gz" + sha256: "088bc9fd1191a004552c65bdcc260989b83da441b0bdaa965e79d984feba88fa" "2.3.8": url: "https://github.com/sammycage/lunasvg/archive/v2.3.8.tar.gz" sha256: "54d697e271a5aca36f9999d546b1b346e98a8183140027330f69a3eb0c184194" @@ -15,6 +18,14 @@ sources: url: "https://github.com/sammycage/lunasvg/archive/refs/tags/v2.3.1.tar.gz" sha256: "6492bf0f51982f5382f83f1a42f247bb1bbcbaef4a15963bbd53073cd4944a25" patches: + "2.3.9": + - patch_file: "patches/2.3.9-0001-fix-cmake.patch" + patch_description: "use external plutovg and fix installation path for conan" + patch_type: "conan" + - patch_file: "patches/2.3.9-0002-rename-inner-selector.patch" + patch_description: "rename inner selector to subselector" + patch_type: "portability" + patch_source: "https://github.com/sammycage/lunasvg/pull/147" "2.3.8": - patch_file: "patches/2.3.5-0001-fix-cmake.patch" patch_description: "use external plutovg and fix installation path for conan" diff --git a/recipes/lunasvg/all/conanfile.py b/recipes/lunasvg/all/conanfile.py index f1db22cef3305..e2d264c8bbac5 100644 --- a/recipes/lunasvg/all/conanfile.py +++ b/recipes/lunasvg/all/conanfile.py @@ -31,28 +31,29 @@ class LunaSVGConan(ConanFile): @property def _min_cppstd(self): if Version(self.version) <= "2.3.2": - return 14 - else: - return 17 + return "14" + if Version(self.version) <= "2.3.8": + return "17" + return "11" @property def _compilers_minimum_version(self): - if self._min_cppstd == 14: - return { + return { + "14": { "gcc": "5", "clang": "3.5", "apple-clang": "10", "Visual Studio": "15", "msvc": "191", - } - else: - return { + }, + "17": { "gcc": "7.1", "clang": "7", "apple-clang": "12.0", "Visual Studio": "16", "msvc": "192", - } + }, + }.get(self._min_cppstd, {}) def export_sources(self): export_conandata_patches(self) diff --git a/recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch b/recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch new file mode 100644 index 0000000000000..63725e4f5ca8c --- /dev/null +++ b/recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bed8895..4698501 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,8 +12,8 @@ add_library(lunasvg) + + add_subdirectory(include) + add_subdirectory(source) +-add_subdirectory(3rdparty/plutovg) +- ++find_package(plutovg CONFIG REQUIRED) ++target_link_libraries(lunasvg plutovg::plutovg) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lunasvg PUBLIC LUNASVG_SHARED) + target_compile_definitions(lunasvg PRIVATE LUNASVG_EXPORT) +@@ -25,16 +25,16 @@ if(LUNASVG_BUILD_EXAMPLES) + target_include_directories(svg2png PRIVATE 3rdparty/stb) + endif() + +-set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) +-set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) ++#set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) ++#set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) + + install(FILES + include/lunasvg.h +- DESTINATION ${LUNASVG_INCDIR} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + install(TARGETS lunasvg +- LIBRARY DESTINATION ${LUNASVG_LIBDIR} +- ARCHIVE DESTINATION ${LUNASVG_LIBDIR} +- INCLUDES DESTINATION ${LUNASVG_INCDIR} ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) diff --git a/recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch b/recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch new file mode 100644 index 0000000000000..bb8abc7dace76 --- /dev/null +++ b/recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch @@ -0,0 +1,26 @@ +diff --git a/source/parser.cpp b/source/parser.cpp +index 714228b..3ade738 100644 +--- a/source/parser.cpp ++++ b/source/parser.cpp +@@ -1226,8 +1226,8 @@ bool RuleData::matchPseudoClassSelector(const PseudoClassSelector& selector, con + return element->parent == nullptr; + + if(selector.type == PseudoClassSelector::Type::Is) { +- for(auto& selector : selector.subSelectors) { +- for(auto& sel : selector) { ++ for(auto& subselector : selector.subSelectors) { ++ for(auto& sel : subselector) { + if(!matchSimpleSelector(sel, element)) { + return false; + } +@@ -1238,8 +1238,8 @@ bool RuleData::matchPseudoClassSelector(const PseudoClassSelector& selector, con + } + + if(selector.type == PseudoClassSelector::Type::Not) { +- for(auto& selector : selector.subSelectors) { +- for(auto& sel : selector) { ++ for(auto& subselector : selector.subSelectors) { ++ for(auto& sel : subselector) { + if(matchSimpleSelector(sel, element)) { + return false; + } diff --git a/recipes/lunasvg/all/test_package/CMakeLists.txt b/recipes/lunasvg/all/test_package/CMakeLists.txt index 583dafb520bda..29d0fd86a92ba 100644 --- a/recipes/lunasvg/all/test_package/CMakeLists.txt +++ b/recipes/lunasvg/all/test_package/CMakeLists.txt @@ -7,6 +7,8 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE lunasvg::lunasvg) if (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.2") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) -else() +elseif (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.8") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) endif() diff --git a/recipes/lunasvg/config.yml b/recipes/lunasvg/config.yml index ff80eb38ff5be..670758a7b8c7f 100644 --- a/recipes/lunasvg/config.yml +++ b/recipes/lunasvg/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.9": + folder: all "2.3.8": folder: all "2.3.5": From 6a852f7db755780b053e251a51d86e407d9b4485 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 16:50:58 +0900 Subject: [PATCH 3212/4087] (#22103) fmt: add version 10.2.0 * fmt: add version 10.2.0 * follow license file name --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/all/conanfile.py | 5 ++++- recipes/fmt/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index 1ddc76ef1e667..fac8f98c82639 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.2.0": + url: "https://github.com/fmtlib/fmt/releases/download/10.2.0/fmt-10.2.0.zip" + sha256: "8a942861a94f8461a280f823041cde8f620a6d8b0e0aacc98c15bb5a9dd92399" "10.1.1": url: "https://github.com/fmtlib/fmt/releases/download/10.1.1/fmt-10.1.1.zip" sha256: "b84e58a310c9b50196cda48d5678d5fa0849bca19e5fdba6b684f0ee93ed9d1b" diff --git a/recipes/fmt/all/conanfile.py b/recipes/fmt/all/conanfile.py index ab898ea991411..fb9118c45657f 100644 --- a/recipes/fmt/all/conanfile.py +++ b/recipes/fmt/all/conanfile.py @@ -95,7 +95,10 @@ def build(self): cmake.build() def package(self): - copy(self, pattern="*LICENSE.rst", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "10.2.0": + copy(self, pattern="*LICENSE.rst", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + else: + copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) if self.options.header_only: copy(self, pattern="*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) else: diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index 74db66d3ff403..f99965fd80247 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.2.0": + folder: all "10.1.1": folder: all "10.1.0": From bfe35213bae1367cadf4920e14cdef9decff8060 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Jan 2024 09:54:45 +0200 Subject: [PATCH 3213/4087] (#18873) cc65: migrate to Conan v2 * cc65: migrate to Conan v2 * cc65: add VirtualBuildEnv * cc65: fix issue on Windows * cc65: cross-compiling is limited to native architectures only * cc65: drop test_v1_package It refuses to work despite package_info() and test_v1_package being virtually unchanged. * cc65: fix MSVC build * cc65: workaround for an MSVC build issue * Update recipes/cc65/all/conanfile.py * Update recipes/cc65/all/conanfile.py --------- Co-authored-by: Daniel --- recipes/cc65/all/conandata.yml | 4 - recipes/cc65/all/conanfile.py | 241 ++++++++++----------- recipes/cc65/all/test_package/conanfile.py | 42 ++-- 3 files changed, 138 insertions(+), 149 deletions(-) diff --git a/recipes/cc65/all/conandata.yml b/recipes/cc65/all/conandata.yml index 0c7a25432a083..720b04e88ab10 100644 --- a/recipes/cc65/all/conandata.yml +++ b/recipes/cc65/all/conandata.yml @@ -8,11 +8,7 @@ sources: patches: "2.18": - patch_file: "patches/2.18-0001-no-embedded-paths-makefile.patch" - base_path: "source_subfolder" - patch_file: "patches/2.18-0002-libsrc-use-extension.patch" - base_path: "source_subfolder" "2.19": - patch_file: "patches/2.19-0001-no-embedded-paths-makefile.patch" - base_path: "source_subfolder" - patch_file: "patches/2.19-0002-libsrc-use-extension.patch" - base_path: "source_subfolder" diff --git a/recipes/cc65/all/conanfile.py b/recipes/cc65/all/conanfile.py index 242c1cf9eee44..360eeaca72cba 100644 --- a/recipes/cc65/all/conanfile.py +++ b/recipes/cc65/all/conanfile.py @@ -1,163 +1,150 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, MSBuild, tools -from conans.errors import ConanInvalidConfiguration import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import can_run +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, is_msvc, msvs_toolset, MSBuildToolchain + +required_conan_version = ">=1.53.0" + class Cc65Conan(ConanFile): name = "cc65" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://cc65.github.io/" description = "A freeware C compiler for 6502 based systems" license = "Zlib" - topics = ("conan", "cc65", "compiler", "cmos", "6502", "8bit") - exports_sources = "patches/**" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://cc65.github.io/" + topics = ("compiler", "cmos", "6502", "8bit") + package_type = "application" settings = "os", "arch", "compiler", "build_type" - _autotools = None - _source_subfolder = "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - if self.settings.compiler == "Visual Studio": - if self.settings.arch not in ("x86", "x86_64"): - raise ConanInvalidConfiguration("Invalid arch") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + if is_msvc(self.info): + if self.info.settings.arch == "x86_64": + self.info.settings.arch = "x86" + del self.info.settings.compiler + + def validate(self): + if not can_run(self): + raise ConanInvalidConfiguration( + f"Compiling for {self.settings.arch} is not supported. " + "cc65 needs to be able to run the built executables during the build process" + ) + if is_msvc(self): + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.settings.arch} is not supported on MSVC") if self.settings.arch == "x86_64": self.output.info("This recipe will build x86 instead of x86_64 (the binaries are compatible)") def build_requirements(self): - if self.settings.compiler == "Visual Studio" and not tools.which("make"): - self.build_requires("make/4.2.1") + if is_msvc(self): + self.tool_requires("make/4.4") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - @property - def _datadir(self): - return os.path.join(self.package_folder, "bin", "share", "cc65") - - @property - def _samplesdir(self): - return os.path.join(self.package_folder, "samples") - - def _build_msvc(self): - msbuild = MSBuild(self) - msvc_platforms = { - "x86": "Win32", - } - arch = str(self.settings.arch) - if arch != "x86": - self.output.warn("{} detected: building x86 instead".format(self.settings.arch)) - arch = "x86" - - msbuild.build(os.path.join(self._source_subfolder, "src", "cc65.sln"), - build_type="Debug" if self.settings.build_type == "Debug" else "Release", - arch=arch, platforms=msvc_platforms) - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self._source_subfolder, "libsrc")): - autotools.make() - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - return self._autotools - - @property - def _make_args(self): - datadir = self._datadir - prefix = self.package_folder - samplesdir = self._samplesdir - if tools.os_info.is_windows: - datadir = tools.unix_path(datadir) - prefix = tools.unix_path(prefix) - samplesdir = tools.unix_path(samplesdir) - args = [ - "PREFIX={}".format(prefix), - "datadir={}".format(datadir), - "samplesdir={}".format(samplesdir), + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + tc = MSBuildToolchain(self) + tc.generate() + tc = AutotoolsToolchain(self) + tc.make_args += [ + "PREFIX=/", + "datadir=/bin/share/cc65", + "samplesdir=/samples", ] if self.settings.os == "Windows": - args.append("EXE_SUFFIX=.exe") - return args - - def _build_autotools(self): - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self._source_subfolder)): - autotools.make(args=self._make_args) + tc.make_args.append("EXE_SUFFIX=.exe") + tc.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - if self.settings.compiler == "Visual Studio": - with tools.chdir(os.path.join(self._source_subfolder, "src")): - for fn in os.listdir("."): - if not fn.endswith(".vcxproj"): - continue - tools.replace_in_file(fn, "v141", tools.msvs_toolset(self)) - tools.replace_in_file(fn, "10.0.16299.0", "") + apply_conandata_patches(self) + if is_msvc(self): + for vcxproj in self.source_path.joinpath("src").rglob("*.vcxproj"): + replace_in_file(self, vcxproj, "v141", msvs_toolset(self)) + replace_in_file(self, vcxproj, "10.0.16299.0", "") if self.settings.os == "Windows": # Add ".exe" suffix to calls from cl65 to other utilities - for fn, var in (("cc65", "CC65"), ("ca65", "CA65"), ("co65", "CO65"), ("ld65", "LD65"), ("grc65", "GRC")): - v = "{},".format(var).ljust(5) - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "cl65", "main.c"), - "CmdInit (&{v} CmdPath, \"{n}\");".format(v=v, n=fn), - "CmdInit (&{v} CmdPath, \"{n}.exe\");".format(v=v, n=fn)) + for fn, var in [ + ("cc65", "CC65"), + ("ca65", "CA65"), + ("co65", "CO65"), + ("ld65", "LD65"), + ("grc65", "GRC"), + ]: + v = f"{var},".ljust(5) + replace_in_file(self, os.path.join(self.source_folder, "src", "cl65", "main.c"), + f'CmdInit (&{v} CmdPath, "{fn}");', + f'CmdInit (&{v} CmdPath, "{fn}.exe");') + # Fix mkdir failing on Windows due to -p being unavailable there + # https://github.com/conan-io/conan-center-index/pull/18873#issuecomment-1841989876 + replace_in_file(self, os.path.join(self.source_folder, "libsrc", "Makefile"), + r'MKDIR = mkdir $(subst /,\,$1)', + r'MKDIR = if not exist "$(subst /,\,$1)" mkdir "$(subst /,\,$1)"') def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": - self._build_msvc() + if is_msvc(self): + msbuild = MSBuild(self) + msbuild.platform = "Win32" + msbuild.build_type = "Debug" if self.settings.build_type == "Debug" else "Release" + msbuild.build(sln=os.path.join(self.source_folder, "src", "cc65.sln")) + with chdir(self, os.path.join(self.source_folder, "libsrc")): + autotools = Autotools(self) + autotools.make() else: - self._build_autotools() - - def _package_msvc(self): - self.copy("*.exe", src=os.path.join(self._source_subfolder, "bin"), dst=os.path.join(self.package_folder, "bin"), keep_path=False) - for dir in ("asminc", "cfg", "include", "lib", "target"): - self.copy("*", src=os.path.join(self._source_subfolder, dir), dst=os.path.join(self._datadir, dir)) - - def _package_autotools(self): - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder)): - autotools.install(args=self._make_args) - - tools.rmdir(self._samplesdir) - tools.rmdir(os.path.join(self.package_folder, "share")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - if self.settings.compiler == "Visual Studio": - self._package_msvc() + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + copy(self, "*.exe", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(self.source_folder, "bin"), + keep_path=False) + for folder in ("asminc", "cfg", "include", "lib", "target"): + copy(self, "*", + dst=os.path.join(self.package_folder, "bin", "share", "cc65", folder), + src=os.path.join(self.source_folder, folder)) else: - self._package_autotools() - - def package_id(self): - del self.info.settings.compiler - if self.settings.compiler == "Visual Studio": - if self.settings.arch == "x86_64": - self.info.settings.arch = "x86" + with chdir(self, os.path.join(self.source_folder)): + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_path, "samples")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: %s" % bindir) - self.env_info.PATH.append(bindir) - - self.output.info("Seting CC65_HOME environment variable: %s" % self._datadir) - self.env_info.CC65_HOME = self._datadir + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] bin_ext = ".exe" if self.settings.os == "Windows" else "" + bindir = os.path.join(self.package_folder, "bin") + self.buildenv_info.define_path("CC65_HOME", os.path.join(self.package_folder, "bin", "share", "cc65")) + self.buildenv_info.define_path("CC65", os.path.join(bindir, "cc65" + bin_ext)) + self.buildenv_info.define_path("AS65", os.path.join(bindir, "ca65" + bin_ext)) + self.buildenv_info.define_path("LD65", os.path.join(bindir, "cl65" + bin_ext)) - cc65_cc = os.path.join(bindir, "cc65" + bin_ext) - self.output.info("Seting CC65 environment variable: {}".format(cc65_cc)) - self.env_info.CC65 = cc65_cc - - cc65_as = os.path.join(bindir, "ca65" + bin_ext) - self.output.info("Seting AS65 environment variable: {}".format(cc65_as)) - self.env_info.AS65 = cc65_as - - cc65_ld = os.path.join(bindir, "cl65" + bin_ext) - self.output.info("Seting LD65 environment variable: {}".format(cc65_ld)) - self.env_info.LD65 = cc65_ld + # TODO: Legacy, to be removed on Conan 2.0 + self.env_info.PATH.append(bindir) + self.env_info.CC65_HOME = os.path.join(self.package_folder, "bin", "share", "cc65") + self.env_info.CC65 = os.path.join(bindir, "cc65" + bin_ext) + self.env_info.AS65 = os.path.join(bindir, "ca65" + bin_ext) + self.env_info.LD65 = os.path.join(bindir, "cl65" + bin_ext) diff --git a/recipes/cc65/all/test_package/conanfile.py b/recipes/cc65/all/test_package/conanfile.py index b930a6b2cce7f..d7ddd1a009806 100644 --- a/recipes/cc65/all/test_package/conanfile.py +++ b/recipes/cc65/all/test_package/conanfile.py @@ -1,33 +1,39 @@ -from conans import ConanFile, tools import os import shutil +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.files import mkdir, rm +from conan.tools.layout import basic_layout + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - - exports_sources = "hello.c", "text.s" + generators = "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" _targets = ("c64", "apple2") + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + basic_layout(self) + def build(self): - if not tools.cross_building(self.settings): - for src in self.exports_sources: + if can_run(self): + for src in ["hello.c", "text.s"]: shutil.copy(os.path.join(self.source_folder, src), os.path.join(self.build_folder, src)) for target in self._targets: - output = "hello_{}".format(target) - tools.mkdir(target) - try: - # Try removing the output file to give confidence it is created by cc65 - os.unlink(output) - except FileNotFoundError: - pass - self.run("{p} -O -t {t} hello.c -o {t}/hello.s".format(p=os.environ["CC65"], t=target)) - self.run("{p} -t {t} {t}/hello.s -o {t}/hello.o".format(p=os.environ["AS65"], t=target)) - self.run("{p} -t {t} text.s -o {t}/text.o".format(p=os.environ["AS65"], t=target)) - self.run("{p} -o {o} -t {t} {t}/hello.o {t}/text.o {t}.lib".format(o=output, p=os.environ["LD65"], t=target)) + output = f"hello_{target}" + mkdir(self, target) + rm(self, output, self.build_folder) + self.run(f"cc65 -O -t {target} hello.c -o {target}/hello.s") + self.run(f"ca65 -t {target} {target}/hello.s -o {target}/hello.o") + self.run(f"ca65 -t {target} text.s -o {target}/text.o") + self.run(f"ld65 -o {output} -t {target} {target}/hello.o {target}/text.o {target}.lib") def test(self): - if not tools.cross_building(self.settings): + if can_run(self): for target in self._targets: - assert os.path.isfile("hello_{}".format(target)) + assert os.path.isfile(f"hello_{target}") From 0e7abe0eafb2330f3c3e83dfb6ef670fec1336b3 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 2 Jan 2024 08:59:59 +0000 Subject: [PATCH 3214/4087] (#22096) [bot] Update authorized users list (2024-01-01) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 2e70a86ba0550..9213701100475 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1262,3 +1262,4 @@ authorized_users: - ErixenCruz - OrianeGourdyStilla - nikitasinys +- pgrossomoreira From 8a551ab2b9b14ef571a3c9dc0d7844bd1e36d95d Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Tue, 2 Jan 2024 11:21:03 +0100 Subject: [PATCH 3215/4087] (#21686) rapidcheck: add version cci.20230815 * rapidcheck: add version cci.20230815 * fixup! rapidcheck: add version cci.20230815 --- recipes/rapidcheck/all/conandata.yml | 3 +++ recipes/rapidcheck/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidcheck/all/conandata.yml b/recipes/rapidcheck/all/conandata.yml index 51a9ed8cc8578..b501c3fddaaca 100644 --- a/recipes/rapidcheck/all/conandata.yml +++ b/recipes/rapidcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230815": + url: "https://github.com/emil-e/rapidcheck/archive/1c91f40e64d87869250cfb610376c629307bf77d.zip" + sha256: "21dc5ed99390bc62e10f45698aff2704cf994c27cb388b0296db741bf128d803" "cci.20220514": url: "https://github.com/emil-e/rapidcheck/archive/8fafda42e732164db58003e542196e94a28481f9.zip" sha256: "63853f74026678b5cfed5f18f5d8cbd4eccb2f48bb89a8f8cb1cd1cc69f22db8" diff --git a/recipes/rapidcheck/config.yml b/recipes/rapidcheck/config.yml index c35d572c8cdf5..02c0d5b9f9431 100644 --- a/recipes/rapidcheck/config.yml +++ b/recipes/rapidcheck/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20230815": + folder: all "cci.20220514": folder: all "cci.20210702": From c7023c028fa6803d859d2990c5d9dc41fb35edf5 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 21:04:24 +0900 Subject: [PATCH 3216/4087] (#22097) trompeloell: add version 47 --- recipes/trompeloeil/all/conandata.yml | 3 +++ recipes/trompeloeil/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/trompeloeil/all/conandata.yml b/recipes/trompeloeil/all/conandata.yml index aa78e9ef74461..ba2243425c538 100644 --- a/recipes/trompeloeil/all/conandata.yml +++ b/recipes/trompeloeil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "47": + url: "https://github.com/rollbear/trompeloeil/archive/v47.tar.gz" + sha256: "4a1d79260c1e49e065efe0817c8b9646098ba27eed1802b0c3ba7d959e4e5e84" "46": url: "https://github.com/rollbear/trompeloeil/archive/v46.tar.gz" sha256: "dc2c856ab7716ef659f8df7fc5f6740a40e736089f05e0a8251d4ad3ad17ad83" diff --git a/recipes/trompeloeil/config.yml b/recipes/trompeloeil/config.yml index 4cd5ba1f148f2..b8ee3e687f441 100644 --- a/recipes/trompeloeil/config.yml +++ b/recipes/trompeloeil/config.yml @@ -1,4 +1,6 @@ versions: + "47": + folder: all "46": folder: all "45": From f208a22ddc2288c4650de27a7487e22e5b6c8f84 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 02:16:51 +0900 Subject: [PATCH 3217/4087] (#22111) libenvpp: update fmt/10.2.0 --- recipes/libenvpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libenvpp/all/conanfile.py b/recipes/libenvpp/all/conanfile.py index 06b2bc9d3e325..0c66ea51eadfe 100644 --- a/recipes/libenvpp/all/conanfile.py +++ b/recipes/libenvpp/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.1", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) def build_requirements(self): self.tool_requires("cmake/[>=3.16 <4]") From 3fe2ac91eab945e70d346196807dfa0e9c7d62ed Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 04:22:17 +0900 Subject: [PATCH 3218/4087] (#22109) quill: update fmt/10.2.0 --- recipes/quill/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index 311710c99f8c5..f231e678169af 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -69,7 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.1", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] From c1f0537a2143ae1cd61d163fc612b147f687022b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 05:09:52 +0900 Subject: [PATCH 3219/4087] (#22110) jinja2cpp: update fmt/10.2.0 --- recipes/jinja2cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index 7e812e5ef15e3..c95085d906413 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): self.requires("fmt/6.2.1") # not compatible with fmt >= 7.0.0 else: self.requires("nlohmann_json/3.11.2") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 778f384a570dc9d1d6f4f825ad973d6976ef06b4 Mon Sep 17 00:00:00 2001 From: Eyal Rozenberg Date: Wed, 3 Jan 2024 07:43:06 +0200 Subject: [PATCH 3220/4087] (#22072) Remove cuda-api-wrappers/0.7 --- recipes/cuda-api-wrappers/all/conandata.yml | 2 +- recipes/cuda-api-wrappers/config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cuda-api-wrappers/all/conandata.yml b/recipes/cuda-api-wrappers/all/conandata.yml index 5990b0d96ecd6..0a04efd212109 100644 --- a/recipes/cuda-api-wrappers/all/conandata.yml +++ b/recipes/cuda-api-wrappers/all/conandata.yml @@ -1,5 +1,5 @@ sources: - "0.7": + "0.7-b1": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/0.7b1.tar.gz" sha256: "1ed5912d8f602ccd176865b824de17f462cb57142eb2a685d7cc034831e54a71" "0.6.3": diff --git a/recipes/cuda-api-wrappers/config.yml b/recipes/cuda-api-wrappers/config.yml index b1edd3de7d7ae..326304241de6f 100644 --- a/recipes/cuda-api-wrappers/config.yml +++ b/recipes/cuda-api-wrappers/config.yml @@ -1,5 +1,5 @@ versions: - "0.7": + "0.7-b1": folder: all "0.6.3": folder: all From c3ac875e60b201c9134abf3fbba05503ba53605c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 14:52:40 +0900 Subject: [PATCH 3221/4087] (#22119) mbits-diags: update fmt/10.2.0 --- recipes/mbits-diags/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-diags/all/conanfile.py b/recipes/mbits-diags/all/conanfile.py index 204bf4ed9c3fa..f876850381adb 100644 --- a/recipes/mbits-diags/all/conanfile.py +++ b/recipes/mbits-diags/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.0") + self.requires("fmt/10.2.0") self.requires("mbits-semver/0.1.1") def validate(self): From 4986189e703790a08ababd2b37555b8bd11e4ebe Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 17:11:20 +0900 Subject: [PATCH 3222/4087] (#22122) glaze: add version 2.0.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6dc39ae7951e9..89be42a2103fa 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/stephenberry/glaze/archive/v2.0.0.tar.gz" + sha256: "8553ade81a20b1a7c8398f95490ab540f34a78f226f7fe5555dfcbbaf216e108" "1.9.9": url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz" sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a22a25e3ca7a3..aceb307c5a346 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "1.9.9": folder: all "1.9.8.1": From 18f82d334826d772b37be90fdf048442c7659d11 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 18:43:45 +0900 Subject: [PATCH 3223/4087] (#22125) fmtlog: update fmt/10.2.0 --- recipes/fmtlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fmtlog/all/conanfile.py b/recipes/fmtlog/all/conanfile.py index 759d3b12c6861..4b6848110748b 100644 --- a/recipes/fmtlog/all/conanfile.py +++ b/recipes/fmtlog/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.2.0", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: From b015e5e097061434eb26bd6df9d97517d988f895 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 3 Jan 2024 10:52:54 +0100 Subject: [PATCH 3224/4087] (#21756) onetbb/all: bump deps * onetbb/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/onetbb/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 1651c9800e6fd..771f1bcbec3de 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -52,7 +52,7 @@ def _tbbbind_hwloc_version(self): @property def _tbbbind_supported(self): - return Version(self.version) >= "2021.1.1" and not self.settings.os == "Macos" + return self.settings.os != "Macos" @property def _tbbbind_build(self): @@ -101,7 +101,7 @@ def validate(self): def build_requirements(self): if self._tbbbind_build and not self._tbbbind_explicit_hwloc: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c33803d0e8c508cb3fc83341d32f70802461fb1d Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Wed, 3 Jan 2024 11:01:01 +0100 Subject: [PATCH 3225/4087] (#21697) mp-units 2.1.0 added, apple-clang compilation enabled, and invalid range-v3 dependency removed * mp-units 2.1.0 added, apple-clang compilation enabled, and invalid range-v3 dependency removed * version definitions reordered * incorrect and duplicated comment removed * minimum required gcc version changed to 11.2 * gcc-11 support removed because of ICEs --- recipes/mp-units/2.0.0/conandata.yml | 3 +++ recipes/mp-units/2.0.0/conanfile.py | 25 ++++++++----------------- recipes/mp-units/config.yml | 6 ++++-- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/recipes/mp-units/2.0.0/conandata.yml b/recipes/mp-units/2.0.0/conandata.yml index 79322cc88147b..6919665f992c1 100644 --- a/recipes/mp-units/2.0.0/conandata.yml +++ b/recipes/mp-units/2.0.0/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: https://github.com/mpusz/units/archive/v2.1.0.tar.gz + sha256: a42057492f5a8e80442cf13602b97bb48b9c3a408bc91bdb60d86aadc84c95cc "2.0.0": url: https://github.com/mpusz/units/archive/v2.0.0.tar.gz sha256: c04cda9fdaeca3ae42886552658e8bde3b608a24a4a921a621a5db41ec416e0e diff --git a/recipes/mp-units/2.0.0/conanfile.py b/recipes/mp-units/2.0.0/conanfile.py index e7312a805414c..c41e90a14db59 100644 --- a/recipes/mp-units/2.0.0/conanfile.py +++ b/recipes/mp-units/2.0.0/conanfile.py @@ -14,7 +14,7 @@ class MPUnitsConan(ConanFile): name = "mp-units" homepage = "https://github.com/mpusz/mp-units" - description = "A Physical Quantities and Units library for C++" + description = "A Quantities and Units library for C++" topics = ( "units", "dimensions", @@ -42,8 +42,8 @@ def _min_cppstd(self): @property def _minimum_compilers_version(self): - # Note that apple-clang and msvc are disabled for now, their C++ 20 implementations are not up to speed - return {"gcc": "11", "clang": "16"} + # Note that msvc is disabled for now, its C++20 implementation are not up to speed + return {"gcc": "12", "clang": "16", "apple-clang": "15"} @property def _use_libfmt(self): @@ -52,18 +52,10 @@ def _use_libfmt(self): std_support = compiler == "msvc" and version >= 193 and compiler.cppstd == 23 return not std_support - @property - def _use_range_v3(self): - compiler = self.settings.compiler - version = Version(self.settings.compiler.version) - return "clang" in compiler and compiler.libcxx == "libc++" and version < 14 - def requirements(self): self.requires("gsl-lite/0.40.0") if self._use_libfmt: self.requires("fmt/10.1.0") - if self._use_range_v3: - self.requires("range-v3/0.11.0") def validate(self): if self.settings.get_safe("compiler.cppstd"): @@ -81,11 +73,12 @@ def loose_lt_semver(v1, v2): raise ConanInvalidConfiguration( f"{self.ref} requires at least {compiler} {min_version} ({compiler.version} in use)" ) - - # Note that apple-clang and msvc are disabled for now, their C++ 20 implementations are not up to speed + # Re-enable once newer versions with better support come out - if is_msvc(self) or compiler == "apple-clang": - raise ConanInvalidConfiguration(f"{self.ref} disabled for {compiler} as their C++20 implementation is not up to speed yet") + if is_msvc(self): + raise ConanInvalidConfiguration( + f"{self.ref} disabled for {compiler} as their C++20 implementation is not up to speed yet" + ) def layout(self): cmake_layout(self, src_folder="src") @@ -126,8 +119,6 @@ def package_info(self): self.cpp_info.components["core"].requires = ["gsl-lite::gsl-lite"] if compiler == "msvc": self.cpp_info.components["core"].cxxflags = ["/utf-8"] - if self._use_range_v3: - self.cpp_info.components["core"].requires.append("range-v3::range-v3") # rest self.cpp_info.components["core-io"].requires = ["core"] diff --git a/recipes/mp-units/config.yml b/recipes/mp-units/config.yml index 80a7d8dff9ed1..3bf1ad6108b4a 100644 --- a/recipes/mp-units/config.yml +++ b/recipes/mp-units/config.yml @@ -1,5 +1,7 @@ versions: - "0.8.0": - folder: 0.8.0 + "2.1.0": + folder: 2.0.0 "2.0.0": folder: 2.0.0 + "0.8.0": + folder: 0.8.0 From e7195e7ee6539d2de1b5ef0b14220b0262460beb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 19:50:02 +0900 Subject: [PATCH 3226/4087] (#22121) spdlog: update fmt/1.12.0 --- recipes/spdlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index 85bd609950223..82eb2fb07b1de 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): fmt_version = "7.1.3" if self_version >= "1.12.0": - fmt_version = "10.1.1" + fmt_version = "10.2.0" elif self_version >= "1.11.0": fmt_version = "10.0.0" elif self_version >= "1.10.0": From d2fe8abead7548a368b2b9c4d34307147b9cf38b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 3 Jan 2024 12:00:48 +0100 Subject: [PATCH 3227/4087] (#22106) libxml2: remove unused versions --- recipes/libxml2/all/conandata.yml | 9 --------- recipes/libxml2/config.yml | 6 ------ 2 files changed, 15 deletions(-) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 2adc5bf6e1740..680c5c30397da 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -11,15 +11,9 @@ sources: "2.11.6": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" - "2.11.5": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" - sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" "2.11.4": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.4.tar.xz" sha256: "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7" - "2.11.3": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.3.tar.xz" - sha256: "f1acae1664bda006cd81bfc238238217043d586d06659d5c0e3d1bcebe040870" "2.10.4": url: "https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.4.tar.xz" sha256: "ed0c91c5845008f1936739e4eee2035531c1c94742c6541f44ee66d885948d45" @@ -38,6 +32,3 @@ sources: "2.9.10": url: "https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.10.tar.xz" sha256: "593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813" - "2.9.9": - url: "https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.9.tar.xz" - sha256: "58a5c05a2951f8b47656b676ce1017921a29f6b1419c45e3baed0d6435ba03f5" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index ba1af564de62a..fa0445d49d104 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -7,12 +7,8 @@ versions: folder: all "2.11.6": folder: all - "2.11.5": - folder: all "2.11.4": folder: all - "2.11.3": - folder: all "2.10.4": folder: all "2.10.3": @@ -25,5 +21,3 @@ versions: folder: all "2.9.10": folder: all - "2.9.9": - folder: all From 8cc55e7e364388a87d09f2052bf7596208ec5cb0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 3 Jan 2024 13:21:36 +0200 Subject: [PATCH 3228/4087] (#22065) zug: add v0.1.1, drop custom version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * zug: add v0.1.1, drop custom version * Keep old cci version around * zug: fix linter error --------- Co-authored-by: Rubén Rincón Blanco --- recipes/zug/all/conandata.yml | 3 +++ recipes/zug/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zug/all/conandata.yml b/recipes/zug/all/conandata.yml index a182f02902b99..eec3bc50f0058 100644 --- a/recipes/zug/all/conandata.yml +++ b/recipes/zug/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.1": + url: "https://github.com/arximboldi/zug/archive/refs/tags/v0.1.1.tar.gz" + sha256: "1b9c8f962e40baa6f0c6af35f957444850063d550078a3ebd0227727b8ef193c" "cci.20220125": url: "https://github.com/arximboldi/zug/archive/deb266f4c7c35d325de7eb3d033f06e0809495f2.tar.gz" sha256: "4b36442059899b8570336ff9e2901f62fd58b839c9e3ff5d35497454e2324625" diff --git a/recipes/zug/config.yml b/recipes/zug/config.yml index 80463c6cdc5cc..f6a5245cc2d90 100644 --- a/recipes/zug/config.yml +++ b/recipes/zug/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.1": + folder: all "cci.20220125": folder: all "0.1.0": From c64324777e7bc7cecd368beaa7f2400c554e1518 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 3 Jan 2024 14:32:06 +0300 Subject: [PATCH 3229/4087] (#22128) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 2c60ab126196e..7b5cef4721454 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.0.tar.gz" + sha256: "a53c6fb33cfef23f91cc6e967b538cd1940bb765041a0c1c4ac3aa20bf0b5c7c" "2.3.9": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.9.tar.gz" sha256: "0ff833b179e01866296a8b2e36b09c19936c2e4434d9e542be389d8104809523" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 9ccae22b9f990..eb83c8d481931 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.9": folder: all "2.3.4": From c14c3da3f280abfdaaa72ea5629729d3365adb0e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 22:25:29 +0900 Subject: [PATCH 3230/4087] (#22129) cpp-validator: update fmt/10.2.0 --- recipes/cpp-validator/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-validator/all/conanfile.py b/recipes/cpp-validator/all/conanfile.py index 3da277d18f9a6..664a6a31ab470 100644 --- a/recipes/cpp-validator/all/conanfile.py +++ b/recipes/cpp-validator/all/conanfile.py @@ -64,7 +64,7 @@ def validate(self): def requirements(self): self.requires("boost/1.83.0") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From f4eb09ad79e8c869ccaabdc493a660cc91d24a4f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 23:29:43 +0900 Subject: [PATCH 3231/4087] (#22130) svgwrite: update fmt/10.2.0 --- recipes/svgwrite/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/svgwrite/all/conanfile.py b/recipes/svgwrite/all/conanfile.py index 9c1c80b182559..61be81d1368f4 100644 --- a/recipes/svgwrite/all/conanfile.py +++ b/recipes/svgwrite/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): def requirements(self): self.requires("span-lite/0.10.3", transitive_headers=True) - self.requires("fmt/10.1.0") + self.requires("fmt/10.2.0") def validate(self): if self.settings.compiler.cppstd: From 24514f5d0e5e0aa935e789e9446afeb88ef950a1 Mon Sep 17 00:00:00 2001 From: Thomas Sondergaard Date: Wed, 3 Jan 2024 20:45:03 +0100 Subject: [PATCH 3232/4087] (#22108) libtiff: use https for download The conandata.yml files in this git repo contains 6411 https:// uris and 109 http:// uris. There is no reason not to use https with the libtiff downloads from download.osgeo.org and some organizations block http:// file transfers for security reasons. --- recipes/libtiff/all/conandata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/libtiff/all/conandata.yml b/recipes/libtiff/all/conandata.yml index 96a6b01214da4..e73e0da6320f6 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -1,18 +1,18 @@ sources: "4.6.0": - url: "http://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz" sha256: "88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a" "4.5.1": - url: "http://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz" sha256: "d7f38b6788e4a8f5da7940c5ac9424f494d8a79eba53d555f4a507167dca5e2b" "4.5.0": - url: "http://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz" sha256: "c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464" "4.4.0": - url: "http://download.osgeo.org/libtiff/tiff-4.4.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.4.0.tar.gz" sha256: "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed" "4.3.0": - url: "http://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" sha256: "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" patches: "4.6.0": From 0fc9e40fdfc6b4e582a37edaaa5588c50e89e626 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 10:08:27 +0900 Subject: [PATCH 3233/4087] (#22137) glaze: add version 2.0.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 89be42a2103fa..e9aee7a044726 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/stephenberry/glaze/archive/v2.0.1.tar.gz" + sha256: "0f515588189796696a802c88b0308b5386376d202c7ff1875683f38316f09c90" "2.0.0": url: "https://github.com/stephenberry/glaze/archive/v2.0.0.tar.gz" sha256: "8553ade81a20b1a7c8398f95490ab540f34a78f226f7fe5555dfcbbaf216e108" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index aceb307c5a346..b9e6d1d29e9d8 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "2.0.0": folder: all "1.9.9": From e9264eeb006df3dedd19843cdb61b2c4bef9de86 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 14:24:00 +0900 Subject: [PATCH 3234/4087] (#22141) gegles-spdlog_setup: update fmt/10.2.0 --- recipes/gegles-spdlog_setup/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py index fd9faf40ac95a..9df1297d17bd7 100644 --- a/recipes/gegles-spdlog_setup/all/conanfile.py +++ b/recipes/gegles-spdlog_setup/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): def requirements(self): self.requires("cpptoml/0.1.1") self.requires("spdlog/1.12.0") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") def package_id(self): self.info.clear() From ba7b598033e42445ed0a931eab9aaa7641951e42 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 14:41:00 +0900 Subject: [PATCH 3235/4087] (#22139) sbepp: update dependencies --- recipes/sbepp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sbepp/all/conanfile.py b/recipes/sbepp/all/conanfile.py index 550f0466dea48..1f66b3dcaaf1b 100644 --- a/recipes/sbepp/all/conanfile.py +++ b/recipes/sbepp/all/conanfile.py @@ -69,8 +69,8 @@ def requirements(self): self.requires("fmt/9.1.0") self.requires("pugixml/1.12.1") else: - self.requires("fmt/10.1.0") - self.requires("pugixml/1.13") + self.requires("fmt/10.2.0") + self.requires("pugixml/1.14") def validate(self): if self.settings.compiler.cppstd: From df424e9cdd37a3ad95cd7d820c1255af1467702c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 15:14:55 +0900 Subject: [PATCH 3236/4087] (#22140) mppp: update fmt/10.2.0 --- recipes/mppp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index 42fab736847a0..28146b35e0eeb 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): if self.options.with_boost: self.requires("boost/1.83.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/10.1.1", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 82399cbbfbc6154049deec68b659a96b0b52748a Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 4 Jan 2024 12:14:53 +0300 Subject: [PATCH 3237/4087] (#22143) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 7b5cef4721454..b0622b8bf862b 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.1.tar.gz" + sha256: "61a439206e1ed2e68702c9811e3055d0adfda5945fb098ea7bfe8906c33d7b49" "2.4.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.0.tar.gz" sha256: "a53c6fb33cfef23f91cc6e967b538cd1940bb765041a0c1c4ac3aa20bf0b5c7c" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index eb83c8d481931..c2a60b2d90930 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.1": + folder: all "2.4.0": folder: all "2.3.9": From d7b80d60329bd8ee6185c15d77ebd9748bc4fafa Mon Sep 17 00:00:00 2001 From: Thomas Sondergaard Date: Thu, 4 Jan 2024 16:37:50 +0100 Subject: [PATCH 3238/4087] (#22081) xorg: remove xvmc as dependency xvmc is the X-Video Motion Compensation API client library. The xvmc library is not referenced in any other package in conan-center-index. The libXvMC-devel has unceremoniously been removed from RHEL 9. A github search for xvmc finds 15 repositories and not one of them seem to be an important consuming application of this API. libxcb-devel contains libxcb-xvmc.so which provides an XCB based API. As the xvmc library is unused in conan-center-index, appears to be nearly unreferenced in github and has been removed from a major distribution it should not be included in xorg/system either so xorg/system can be built on RHEL 9. Documentation for the removal of libXvMC in RHEL 9: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/considerations_in_adopting_rhel_9/index --- recipes/xorg/all/conanfile.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index b8a810681f531..b43c73d5d9c1a 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -29,7 +29,7 @@ def system_requirements(self): "libxcomposite-dev", "libxcursor-dev", "libxdamage-dev", "libxdmcp-dev", "libxext-dev", "libxfixes-dev", "libxi-dev", "libxinerama-dev", "libxkbfile-dev", "libxmu-dev", "libxmuu-dev", "libxpm-dev", "libxrandr-dev", "libxrender-dev", "libxres-dev", "libxss-dev", "libxt-dev", "libxtst-dev", - "libxv-dev", "libxvmc-dev", "libxxf86vm-dev", "libxcb-render0-dev", + "libxv-dev", "libxxf86vm-dev", "libxcb-render0-dev", "libxcb-render-util0-dev", "libxcb-xkb-dev", "libxcb-icccm4-dev", "libxcb-image0-dev", "libxcb-keysyms1-dev", "libxcb-randr0-dev", "libxcb-shape0-dev", "libxcb-sync-dev", "libxcb-xfixes0-dev", "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev"], update=True, check=True) @@ -39,7 +39,7 @@ def system_requirements(self): yum = package_manager.Yum(self) yum.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel", - "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel", + "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) @@ -47,7 +47,7 @@ def system_requirements(self): dnf = package_manager.Dnf(self) dnf.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel", - "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel", + "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) @@ -55,7 +55,7 @@ def system_requirements(self): zypper = package_manager.Zypper(self) zypper.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel", - "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXss-devel", "libXvMC-devel", + "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXss-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) @@ -63,19 +63,19 @@ def system_requirements(self): pacman = package_manager.PacMan(self) pacman.install(["libxcb", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor", "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres", - "libxss", "libxvmc", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", + "libxss", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", "libxxf86vm", "libxv", "xcb-util", "util-linux-libs", "xcb-util-cursor"], update=True, check=True) package_manager.Pkg(self).install(["libX11", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor", "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres", - "libXScrnSaver", "libxvmc", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", + "libXScrnSaver", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "xcb-util-cursor"], update=True, check=True) def package_info(self): for name in ["x11", "x11-xcb", "fontenc", "ice", "sm", "xau", "xaw7", "xcomposite", "xcursor", "xdamage", "xdmcp", "xext", "xfixes", "xi", "xinerama", "xkbfile", "xmu", "xmuu", "xpm", "xrandr", "xrender", "xres", - "xscrnsaver", "xt", "xtst", "xv", "xvmc", "xxf86vm", + "xscrnsaver", "xt", "xtst", "xv", "xxf86vm", "xcb-xkb", "xcb-icccm", "xcb-image", "xcb-keysyms", "xcb-randr", "xcb-render", "xcb-renderutil", "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xfixes", "xcb-xinerama", "xcb", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util", From 7fdbb2410f2b8e682bfc26aee7b6a0a53ad93bed Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 4 Jan 2024 17:13:13 +0100 Subject: [PATCH 3239/4087] (#22126) [libmysqlclient] Add include/mysql directory Signed-off-by: Uilian Ries --- recipes/libmysqlclient/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 3222c3020d2f0..deb913588e58e 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -271,6 +271,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "mysqlclient") self.cpp_info.libs = ["libmysql" if self.settings.os == "Windows" and self.options.shared else "mysqlclient"] + self.cpp_info.includedirs.append(os.path.join("include", "mysql")) if not self.options.shared: stdcpplib = stdcpp_library(self) if stdcpplib: From 5f6bc3e70d8610524849d6cf19c1bc72bcade6b9 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 02:58:56 +0900 Subject: [PATCH 3240/4087] (#22154) roaring: add version 2.1.1 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index ec4f98fdaba4d..355272cf62ff7 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.1.tar.gz" + sha256: "40a1c04e220bb2305c3adb5347f42b6b435c4bb4ac89dd0047ba8e73a7388dfb" "2.1.0": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.0.tar.gz" sha256: "75e2c106bf3c035f92560017b56b01602744b643a3fef08d69255c138c6c6f5c" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 8cf27c6a95cb1..0285278f20a4c 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: all "2.1.0": folder: all "2.0.4": From 24ffe23e9d9031ee11eef02fee99d4cbaccde0c8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 11:32:41 +0900 Subject: [PATCH 3241/4087] (#22160) glaze: add version 2.0.2 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index e9aee7a044726..d3f62b78045c6 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/stephenberry/glaze/archive/v2.0.2.tar.gz" + sha256: "af65752fb523c82313bfbe9c04ab47e332d881154f06c63967b973ee51e5923d" "2.0.1": url: "https://github.com/stephenberry/glaze/archive/v2.0.1.tar.gz" sha256: "0f515588189796696a802c88b0308b5386376d202c7ff1875683f38316f09c90" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b9e6d1d29e9d8..5ac32437d36ed 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "2.0.1": folder: all "2.0.0": From 4bf9cfaad8b70b26c2b7883363b332d15e9151fb Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 11:43:02 +0900 Subject: [PATCH 3242/4087] (#22161) fmt: add version 10.2.1 --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index fac8f98c82639..1c4bb54e9bf65 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.2.1": + url: "https://github.com/fmtlib/fmt/releases/download/10.2.1/fmt-10.2.1.zip" + sha256: "312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9" "10.2.0": url: "https://github.com/fmtlib/fmt/releases/download/10.2.0/fmt-10.2.0.zip" sha256: "8a942861a94f8461a280f823041cde8f620a6d8b0e0aacc98c15bb5a9dd92399" diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index f99965fd80247..fdd60b40c6f86 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.2.1": + folder: all "10.2.0": folder: all "10.1.1": From ff3595e77a73d1392dbc36a94319f6be9155399b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 11:53:11 +0900 Subject: [PATCH 3243/4087] (#22163) daw_header_libraries: add version 2.97.0 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index f07d3ecdd0bdb..1d91b2a43cc99 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.97.0": + url: "https://github.com/beached/header_libraries/archive/v2.97.0.tar.gz" + sha256: "993cda7ff505e80f54322ce544b8a7b02bfef9673d980e43dafcbd3a9a3228d3" "2.96.1": url: "https://github.com/beached/header_libraries/archive/v2.96.1.tar.gz" sha256: "2a9a5c33baa9e3adc1d82fa13a56522638af13cc39372a0c1c8f5c5d984f1464" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index e5da3ea85fe21..6309a804a4b56 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.97.0": + folder: all "2.96.1": folder: all "2.95.0": From a7bd708f5f0ebd0bfcfa99d13f0e228e3c038df7 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 12:03:15 +0900 Subject: [PATCH 3244/4087] (#22162) uwebsockets: add version 20.55.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index c0ce42c9c6d8e..8d30e31ae6d86 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.55.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.55.0.tar.gz" + sha256: "bf6b22229fcd10c7cbd256bfd9abf31c829d44eefd56341c0f404e0fa0184f2f" "20.53.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 2431934b0aaf1..a90f8a651f17a 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.55.0": + folder: all "20.53.0": folder: all "20.51.0": From f31f15d951179bd26550fdc12344a01e53765ee1 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Fri, 5 Jan 2024 02:57:03 -0500 Subject: [PATCH 3245/4087] (#20894) [openblas] Make build_lapack=True default for >= 0.3.21 * [openblas] Make build_lapack=True default for >= 0.3.21 Version 0.3.21 of openblas introduced the ability to build lapack from C. Make this default to enable CCI recipes to use lapack when depending on openblas. Additionally, fix an inconsistency in version constraint. Review was provided in https://github.com/conan-io/conan-center-index/pull/19808 to constrain it to 0.3.24 as this was the latest version available in CCI. However, the constraint on building lapack really applies to anything newer than 0.3.21, so this is the most appropriate model for the logic. Not modelling this accurately precludes the correct behaviour if intermediate versions are added at a later date. Closes #7361 * [openblas] Switch option change to config_options from configure Modifying defaults in configure is now prohibited and should be done in config_options instead. * [openblas] Only propagate -lgfortran when compiled with fortran * Add note to explain lapack source when no Fortran compiler is available Co-authored-by: Uilian Ries * [openblas] set TARGET for armv8 builds to facilitate architecture detection * [openblas] Add armv8 compatibility * Patch versions earlier than 0.3.24 to include hotfix of OpenMathLib/OpenBLAS#4142, which fixes detection of the armv8 architecture to ARM64 from ARM. * Refactor patches into a _patch_sources method * Revert 0bd65ec and b42908 * [openblas] Disable armv8 builds for versions lower than 0.3.24. * armv8 is not currently supported by versions lower than 0.3.24 due to a bug in the cpu architecture identification erroneously identifying a 32 bit architecture instead of 64. * [openblas] Re-add erroneously removed version check for when to build lapack This check was erroneously removed when the note about an f2c converted copy of lapack being used was added. The f2c version of lapack is only available for versions greater than or equal to 0.3.21, and versions lower than this should not build lapack by default. --------- Co-authored-by: Uilian Ries --- recipes/openblas/all/conanfile.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/openblas/all/conanfile.py b/recipes/openblas/all/conanfile.py index d3f3b247af16a..cb78919db63db 100644 --- a/recipes/openblas/all/conanfile.py +++ b/recipes/openblas/all/conanfile.py @@ -46,12 +46,21 @@ def _fortran_compiler(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "0.3.21": + # INFO: When no Fortran compiler is available, OpenBLAS builds LAPACK from an f2c-converted copy of LAPACK unless the NO_LAPACK option is specified + self.options.build_lapack = True def configure(self): if self.options.shared: self.options.rm_safe("fPIC") def validate(self): + if Version(self.version) < "0.3.24" and self.settings.arch == "armv8": + # OpenBLAS fails to detect the appropriate target architecture for armv8 for versions < 0.3.24, as it matches the 32 bit variant instead of 64. + # This was fixed in https://github.com/OpenMathLib/OpenBLAS/pull/4142, which was introduced in 0.3.24. + # This would be a reasonably trivial hotfix to backport. + raise ConanInvalidConfiguration("armv8 builds are not currently supported for versions lower than 0.3.24. Contributions to support this are welcome.") + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") @@ -87,7 +96,7 @@ def generate(self): # This checks explicit user-specified fortran compiler if self.options.build_lapack: if not self._fortran_compiler: - if Version(self.version) < "0.3.24": + if Version(self.version) < "0.3.21": self.output.warning( "Building with LAPACK support requires a Fortran compiler.") else: @@ -169,7 +178,7 @@ def package_info(self): self.cpp_info.components["openblas_component"].system_libs.append("m") if self.options.use_thread: self.cpp_info.components["openblas_component"].system_libs.append("pthread") - if self.options.build_lapack: + if self.options.build_lapack and self._fortran_compiler: self.cpp_info.components["openblas_component"].system_libs.append("gfortran") self.output.info( From bc7f94ed2520cf20ada79ff2becebbc4ff07c93f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 5 Jan 2024 08:42:37 +0000 Subject: [PATCH 3246/4087] (#22146) [bot] Update authorized users list (2024-01-04) * Add/remove users to Access Request * Remove mike-solar from the list. --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 9213701100475..231ba110a0d98 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1263,3 +1263,5 @@ authorized_users: - OrianeGourdyStilla - nikitasinys - pgrossomoreira +- wu-vincent +- Inujel From 91e2066636a71a2c9c0fdc9cd664ff9f2f2c765d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 17:58:02 +0900 Subject: [PATCH 3247/4087] (#21557) json-schema-validator: add version 2.3.0, downgrade nolhmann_json in older versions * json-schema-validator: add version 2.3.0, downgrade nolhmann_json in older versions * remove space * Try to build on windows Signed-off-by: Uilian Ries * fix bin dir location Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/json-schema-validator/all/conandata.yml | 3 +++ recipes/json-schema-validator/all/conanfile.py | 16 ++++++++++++---- .../all/test_package/CMakeLists.txt | 2 +- recipes/json-schema-validator/config.yml | 2 ++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/json-schema-validator/all/conandata.yml b/recipes/json-schema-validator/all/conandata.yml index 122476811e03f..3c6f2f96fc4ed 100644 --- a/recipes/json-schema-validator/all/conandata.yml +++ b/recipes/json-schema-validator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/pboettch/json-schema-validator/archive/refs/tags/2.3.0.tar.gz" + sha256: "2c00b50023c7d557cdaa71c0777f5bcff996c4efd7a539e58beaa4219fa2a5e1" "2.2.0": url: "https://github.com/pboettch/json-schema-validator/archive/refs/tags/2.2.0.tar.gz" sha256: "03897867bd757ecac1db7545babf0c6c128859655b496582a9cea4809c2260aa" diff --git a/recipes/json-schema-validator/all/conanfile.py b/recipes/json-schema-validator/all/conanfile.py index 2d269b725c767..312888fba61cb 100644 --- a/recipes/json-schema-validator/all/conanfile.py +++ b/recipes/json-schema-validator/all/conanfile.py @@ -13,10 +13,10 @@ class JsonSchemaValidatorConan(ConanFile): name = "json-schema-validator" + description = "JSON schema validator for JSON for Modern C++" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/pboettch/json-schema-validator" - description = "JSON schema validator for JSON for Modern C++ " topics = ("modern-json", "schema-validation", "json") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -37,7 +37,6 @@ class JsonSchemaValidatorConan(ConanFile): "fPIC": True, "json_diagnostics": False, } - short_paths = True @property @@ -69,12 +68,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.11.2", transitive_headers=True) + # to support latest compilers, we have to downgrade nlohmann_json. + # https://github.com/pboettch/json-schema-validator/pull/276 + if Version(self.version) < "2.3.0": + self.requires("nlohmann_json/3.10.5", transitive_headers=True) + else: + self.requires("nlohmann_json/3.11.3", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( @@ -92,6 +95,9 @@ def generate(self): else: tc.variables["JSON_VALIDATOR_BUILD_TESTS"] = False tc.variables["JSON_VALIDATOR_BUILD_EXAMPLES"] = False + tc.variables["JSON_VALIDATOR_INSTALL"] = True + tc.variables["JSON_VALIDATOR_SHARED_LIBS"] = self.options.shared + tc.variables["CMAKE_INSTALL_RUNTIMEDIR"] = "bin" if self.options.json_diagnostics: tc.preprocessor_definitions["JSON_DIAGNOSTICS"] = '1' if Version(self.version) < "2.1.0": @@ -147,6 +153,8 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") + elif self.settings.os == "Windows" and self.options.shared: + self.cpp_info.defines.append("JSON_SCHEMA_VALIDATOR_EXPORTS=1") # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "nlohmann_json_schema_validator" diff --git a/recipes/json-schema-validator/all/test_package/CMakeLists.txt b/recipes/json-schema-validator/all/test_package/CMakeLists.txt index c2d764c121782..193d69ef33260 100644 --- a/recipes/json-schema-validator/all/test_package/CMakeLists.txt +++ b/recipes/json-schema-validator/all/test_package/CMakeLists.txt @@ -4,5 +4,5 @@ project(test_package LANGUAGES CXX) find_package(nlohmann_json_schema_validator CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} nlohmann_json_schema_validator) +target_link_libraries(${PROJECT_NAME} PRIVATE nlohmann_json_schema_validator) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/json-schema-validator/config.yml b/recipes/json-schema-validator/config.yml index ddf20dd4ca819..3d204ba702a0b 100644 --- a/recipes/json-schema-validator/config.yml +++ b/recipes/json-schema-validator/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.0": folder: all "2.1.0": From b1a725a0d540c95788c27a84802686776ab0d182 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 5 Jan 2024 11:30:02 +0200 Subject: [PATCH 3248/4087] (#22055) jasper: add v4.1.1, simplify patching * jasper: add v4.1.1, simplify patching * jasper: add cmake/3.20 --- recipes/jasper/all/conandata.yml | 23 +++++++------- recipes/jasper/all/conanfile.py | 8 +++++ .../patches/2.0.33-0002-find-libjpeg.patch | 18 ----------- .../all/patches/3.0.6-0002-find-libjpeg.patch | 18 ----------- .../all/patches/4.0.0-0002-find-libjpeg.patch | 16 ---------- .../all/patches/4.1.0-0002-find-libjpeg.patch | 25 --------------- .../all/patches/4.1.1-0001-skip-rpath.patch | 31 +++++++++++++++++++ .../4.1.1-0003-deterministic-libname.patch | 13 ++++++++ recipes/jasper/config.yml | 2 ++ 9 files changed, 65 insertions(+), 89 deletions(-) delete mode 100644 recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch delete mode 100644 recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch delete mode 100644 recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch delete mode 100644 recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch create mode 100644 recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch create mode 100644 recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml index 6e9ac4e8ea75b..e552f7fe9fae8 100644 --- a/recipes/jasper/all/conandata.yml +++ b/recipes/jasper/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.1": + url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.1/jasper-4.1.1.tar.gz" + sha256: "03ba86823f8798f3f60a5a34e36f3eff9e9cbd76175643a33d4aac7c0390240a" "4.1.0": url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.0/jasper-4.1.0.tar.gz" sha256: "ffe1543d87f7ffc5039d2415afd48c314a7cc0b0c750b4982cd881d6ed4b5743" @@ -12,14 +15,19 @@ sources: url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz" sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a" patches: + "4.1.1": + - patch_file: "patches/4.1.1-0001-skip-rpath.patch" + patch_description: "Do not enforce rpath configuration" + patch_source: "https://github.com/jasper-software/jasper/pull/347" + patch_type: "conan" + - patch_file: "patches/4.1.1-0003-deterministic-libname.patch" + patch_description: "No generator dependent libname" + patch_type: "conan" "4.1.0": - patch_file: "patches/4.1.0-0001-skip-rpath.patch" patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/4.1.0-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" - patch_file: "patches/4.1.0-0003-deterministic-libname.patch" patch_description: "No generator dependent libname" patch_type: "conan" @@ -28,9 +36,6 @@ patches: patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/4.0.0-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" - patch_file: "patches/4.0.0-0003-deterministic-libname.patch" patch_description: "No generator dependent libname" patch_type: "conan" @@ -39,9 +44,6 @@ patches: patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/3.0.6-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" - patch_file: "patches/3.0.6-0003-deterministic-libname.patch" patch_description: "No generator dependent libname" patch_type: "conan" @@ -50,6 +52,3 @@ patches: patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/2.0.33-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" diff --git a/recipes/jasper/all/conanfile.py b/recipes/jasper/all/conanfile.py index 9a1c9b8badf36..758b12ef086f4 100644 --- a/recipes/jasper/all/conanfile.py +++ b/recipes/jasper/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.scm import Version import os @@ -53,10 +54,16 @@ def requirements(self): elif self.options.with_libjpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") + def build_requirements(self): + if Version(self.version) >= "4.1.1": + self.tool_requires("cmake/[>=3.20 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() + tc = CMakeToolchain(self) if Version(self.version) >= "4.0.0": tc.variables["JAS_ENABLE_PIC"] = self.options.get_safe("fPIC", True) @@ -66,6 +73,7 @@ def generate(self): tc.variables["JAS_ENABLE_SHARED"] = self.options.shared tc.variables["JAS_LIBJPEG_REQUIRED"] = "REQUIRED" tc.variables["JAS_ENABLE_LIBJPEG"] = bool(self.options.with_libjpeg) + tc.variables["JAS_HAVE_JPEGLIB_H"] = True if Version(self.version) >= "3.0.0": tc.variables["JAS_ENABLE_LIBHEIF"] = False tc.variables["JAS_ENABLE_OPENGL"] = False diff --git a/recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch b/recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch deleted file mode 100644 index e95e029549359..0000000000000 --- a/recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 79081c2..38b6238 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -244,12 +244,7 @@ if (JAS_ENABLE_LIBJPEG AND JPEG_FOUND) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - set(CMAKE_REQUIRED_INCLUDES ${JPEG_INCLUDE_DIR}) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -+ set(JAS_HAVE_JPEGLIB_H 1) - if(JAS_HAVE_JPEGLIB_H) - set(JAS_HAVE_LIBJPEG 1) - include_directories(${JPEG_INCLUDE_DIR}) diff --git a/recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch b/recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch deleted file mode 100644 index 47a8350d738d4..0000000000000 --- a/recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a0d253d..19518af 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -680,12 +680,7 @@ if(JAS_ENABLE_LIBJPEG) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -+ set(JAS_HAVE_JPEGLIB_H 1) - if(JAS_HAVE_JPEGLIB_H) - set(JAS_HAVE_LIBJPEG 1) - set(JAS_LIBJPEG_TARGET JPEG::JPEG) diff --git a/recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch b/recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch deleted file mode 100644 index b98de65fb7adf..0000000000000 --- a/recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -731,12 +731,7 @@ if(JAS_ENABLE_LIBJPEG) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -+ set(JAS_HAVE_JPEGLIB_H 1) - if(JAS_HAVE_JPEGLIB_H) - set(JAS_HAVE_LIBJPEG 1) - set(JAS_LIBJPEG_TARGET JPEG::JPEG) diff --git a/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch b/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch deleted file mode 100644 index 05dd6ce68abe8..0000000000000 --- a/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6b79a94..86eb065 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -742,13 +742,13 @@ if(JAS_ENABLE_LIBJPEG) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -- if(JAS_HAVE_JPEGLIB_H) -+ # check_c_source_compiles(" -+ # #include -+ # #include -+ # #include -+ # int main() {} -+ # " JAS_HAVE_JPEGLIB_H) -+ if(1) - set(JAS_HAVE_LIBJPEG 1) - set(JAS_LIBJPEG_TARGET JPEG::JPEG) - list(APPEND JAS_PKGCONFIG_REQUIRES libjpeg) diff --git a/recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch b/recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch new file mode 100644 index 0000000000000..69c4f82817230 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ba6f117..6b79a94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -800,13 +800,13 @@ + + if(JAS_ENABLE_SHARED) + # use, i.e. don't skip the full RPATH for the build tree +- set(CMAKE_SKIP_BUILD_RPATH FALSE) ++# set(CMAKE_SKIP_BUILD_RPATH FALSE) + + # when building, don't use the install RPATH already + # (but later on when installing) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + +- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++# set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + + # add the automatically determined parts of the RPATH + # which point to directories outside the build tree to the install RPATH +@@ -817,8 +817,8 @@ + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) + if(isSystemDir EQUAL -1) +- set(CMAKE_INSTALL_RPATH +- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") ++# set(CMAKE_INSTALL_RPATH ++# "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + endif() + diff --git a/recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch b/recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch new file mode 100644 index 0000000000000..88f2faa6388a7 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86eb065..9c2da51 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -276,7 +276,7 @@ endif() + # If a multiconfiguration generator is used, ensure that various output + # files are not placed in subdirectories (such as Debug and Release) + # as this will cause the CTest test suite to fail. +-if(JAS_MULTICONFIGURATION_GENERATOR) ++if(0) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY .) diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml index 70e516cc72ceb..a8896535acc48 100644 --- a/recipes/jasper/config.yml +++ b/recipes/jasper/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.1": + folder: all "4.1.0": folder: all "4.0.0": From b99eafe8be06f2f404ec10e5a5d47649c5e56b8d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 19:29:11 +0900 Subject: [PATCH 3249/4087] (#22168) uwebsockets: update libdeflate/1.19 --- recipes/uwebsockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index 4598157564eba..374ab9a0e5e74 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -53,7 +53,7 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_libdeflate"): - self.requires("libdeflate/1.14") + self.requires("libdeflate/1.19") if Version(self.version) > "20.17.0": self.requires("usockets/0.8.6") From 90eb04735f1b812f4504ca68d7a6d8837f821b69 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 03:12:35 +0200 Subject: [PATCH 3250/4087] (#22039) tesseract: add v5.3.3, bump deps * tesseract: add v5.3.3, bump deps * tesseract: downgrade leptonica for older versions --- recipes/tesseract/all/conandata.yml | 7 +++++++ recipes/tesseract/all/conanfile.py | 9 ++++++--- .../patches/0004-control-optimizations-5.3.3.patch | 11 +++++++++++ recipes/tesseract/config.yml | 2 ++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch diff --git a/recipes/tesseract/all/conandata.yml b/recipes/tesseract/all/conandata.yml index 7daa1a412e05d..00a8d11156c81 100644 --- a/recipes/tesseract/all/conandata.yml +++ b/recipes/tesseract/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.3": + url: "https://github.com/tesseract-ocr/tesseract/archive/5.3.3.tar.gz" + sha256: "dc4329f85f41191b2d813b71b528ba6047745813474e583ccce8795ff2ff5681" "5.3.0": url: "https://github.com/tesseract-ocr/tesseract/archive/5.3.0.tar.gz" sha256: "7e70870f8341e5ea228af2836ce79a36eefa11b01b56177b4a8997f330c014b8" @@ -15,6 +18,10 @@ sources: url: "https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz" sha256: "2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb" patches: + "5.3.3": + - patch_file: "patches/0004-control-optimizations-5.3.3.patch" + patch_description: "fix condition for cpu optimizations" + patch_type: "portability" "5.3.0": - patch_file: "patches/0004-control-optimizations-5.3.0.patch" patch_description: "fix condition for cpu optimizations" diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index 06e523dc19f28..861e7b6b85384 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -81,12 +81,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("leptonica/1.82.0") + if Version(self.version) >= "5.2.0": + self.requires("leptonica/1.83.1") + else: + self.requires("leptonica/1.82.0") if self.settings.os == "Windows" and Version(self.version) >= "5.0.0": self.requires("libtiff/4.6.0") # libarchive is required for 4.x so default value is true if self.options.get_safe("with_libarchive", default=True): - self.requires("libarchive/3.7.1") + self.requires("libarchive/3.7.2") # libcurl is not required for 4.x if self.options.get_safe("with_libcurl", default=False): self.requires("libcurl/[>=7.78.0 <9]") @@ -177,7 +180,7 @@ def _module_file_rel_path(self): def package_info(self): # Official CMake imported target is: # - libtesseract if < 5.0.0 - # - Tesseract::libtesseract if >= 5.0.0 (not yet released) + # - Tesseract::libtesseract if >= 5.0.0 # We provide both targets self.cpp_info.set_property("cmake_file_name", "Tesseract") self.cpp_info.set_property("cmake_target_name", "Tesseract::libtesseract") diff --git a/recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch b/recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch new file mode 100644 index 0000000000000..20b11b48bfcb9 --- /dev/null +++ b/recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -166,7 +166,7 @@ + + message(STATUS "CMAKE_SYSTEM_PROCESSOR=<${CMAKE_SYSTEM_PROCESSOR}>") + +-if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86|x86_64|AMD64|amd64|i386|i686") ++if(ENABLE_OPTIMIZATIONS AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86|x86_64|AMD64|amd64|i386|i686") + + set(HAVE_NEON FALSE) + if(MSVC) diff --git a/recipes/tesseract/config.yml b/recipes/tesseract/config.yml index 18a9581e91b42..f1f981966776b 100644 --- a/recipes/tesseract/config.yml +++ b/recipes/tesseract/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.3": + folder: all "5.3.0": folder: all "5.2.0": From a6d9b39b47ff5e5d354c63f05ab764dea418e5d8 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 11:07:39 +0900 Subject: [PATCH 3251/4087] (#21986) pdf-writer: add version 4.6.2 * pdf-writer: add version 4.6.2 * create patch to remove InstallRequiredSystemLibraries --- recipes/pdf-writer/all/conandata.yml | 7 ++++++ .../all/patches/4.6.2-0001-fix-cmake.patch | 25 +++++++++++++++++++ recipes/pdf-writer/config.yml | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml index 396c829a1f253..9ebe345ad6840 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.2": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.2.tar.gz" + sha256: "0a36815ccc9d207028567f90039785c824b211169ba5da68de84d0c15455ab62" "4.6.1": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.1.tar.gz" sha256: "6e95fcb26ec679fa12ce6638d35a591e80960b35956a142d9a80b9a8c80ca824" @@ -6,6 +9,10 @@ sources: url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.2": + - patch_file: "patches/4.6.2-0001-fix-cmake.patch" + patch_description: "disable cpack" + patch_type: "conan" "4.6.1": - patch_file: "patches/4.5.12-0001-fix-cmake.patch" patch_description: "disable test/cpack, use cci package" diff --git a/recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch b/recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..ffff2588e7efa --- /dev/null +++ b/recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e32c883..e9ab456 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -161,13 +161,13 @@ if(PROJECT_IS_TOP_LEVEL AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/PDFWriterTesting) + ADD_SUBDIRECTORY(PDFWriterTesting) + endif() + +-include(InstallRequiredSystemLibraries) +-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +-set(CPACK_PACKAGE_VERSION_MAJOR "${PDFHummus_VERSION_MAJOR}") +-set(CPACK_PACKAGE_VERSION_MINOR "${PDFHummus_VERSION_MINOR}") +-set(CPACK_SOURCE_GENERATOR "ZIP") +-set(CPACK_GENERATOR "ZIP") +-include(CPack) ++#include(InstallRequiredSystemLibraries) ++#set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") ++#set(CPACK_PACKAGE_VERSION_MAJOR "${PDFHummus_VERSION_MAJOR}") ++#set(CPACK_PACKAGE_VERSION_MINOR "${PDFHummus_VERSION_MINOR}") ++#set(CPACK_SOURCE_GENERATOR "ZIP") ++#set(CPACK_GENERATOR "ZIP") ++#include(CPack) + + install(EXPORT PDFHummusTargets + FILE PDFHummusTargets.cmake diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index a4aeb1f1b89b4..5cbc3ea3ae8e3 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.2": + folder: all "4.6.1": folder: all "4.5.12": From 7702f9096923e621bfb62cbbb0e2e61414cabeeb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 04:59:44 +0200 Subject: [PATCH 3252/4087] (#21922) clhep: add v2.4.7.1 --- recipes/clhep/all/conandata.yml | 13 +++++++++++++ recipes/clhep/config.yml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/recipes/clhep/all/conandata.yml b/recipes/clhep/all/conandata.yml index 048d5c59d63e1..0b47cdc0ae08e 100644 --- a/recipes/clhep/all/conandata.yml +++ b/recipes/clhep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.7.1": + url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.7.1.tgz" + sha256: "1c8304a7772ac6b99195f1300378c6e3ddf4ad07c85d64a04505652abb8a55f9" "2.4.6.4": url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.6.4.tgz" sha256: "49c89330f1903ef707d3c5d79c16a7c5a6f2c90fc290e2034ee3834809489e57" @@ -6,6 +9,16 @@ sources: url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.1.3.tgz" sha256: "27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913" patches: + "2.4.7.1": + - patch_file: "patches/2.4.6.4-0001-fix-cmake.patch" + patch_description: "The CLHEP build system builds BOTH shared and static by default, change that behaviour" + patch_type: "conan" + - patch_file: "patches/2.4.6.4-0002-mingw-support.patch" + patch_description: "allow CLHEP to build and link properly under mingw environments" + patch_type: "portability" + - patch_file: "patches/2.4.1.3-0003-msvc-2015-no-SFINAE.patch" + patch_description: "work around a compiler bug in MSVC 2015" + patch_type: "portability" "2.4.6.4": - patch_file: "patches/2.4.6.4-0001-fix-cmake.patch" patch_description: "The CLHEP build system builds BOTH shared and static by default, change that behaviour" diff --git a/recipes/clhep/config.yml b/recipes/clhep/config.yml index ad9dd349ce89d..87edeeec0d29b 100644 --- a/recipes/clhep/config.yml +++ b/recipes/clhep/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.7.1": + folder: all "2.4.6.4": folder: all "2.4.1.3": From a29c9c0f7f7df336c2bdcfdc9715af3d51ba9e2d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 05:10:29 +0200 Subject: [PATCH 3253/4087] (#21907) ode: add v0.16.4 --- recipes/ode/all/conandata.yml | 10 +++++++--- recipes/ode/all/conanfile.py | 1 + .../ode/all/patches/0003-cmake-fix-ccd-target.patch | 11 ----------- recipes/ode/config.yml | 2 ++ 4 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch diff --git a/recipes/ode/all/conandata.yml b/recipes/ode/all/conandata.yml index cb490a2db9ad2..59347531ec928 100644 --- a/recipes/ode/all/conandata.yml +++ b/recipes/ode/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "0.16.4": + url: "https://bitbucket.org/odedevs/ode/downloads/ode-0.16.4.tar.gz" + sha256: "71037b8281c6c86b0a55729f90d5db697abe4cbec1d8118157e00d48ec253467" "0.16.2": url: "https://bitbucket.org/odedevs/ode/downloads/ode-0.16.2.tar.gz" sha256: "b26aebdcb015e2d89720ef48e0cb2e8a3ca77915f89d853893e7cc861f810f22" patches: + "0.16.4": + - patch_file: "patches/0002-dont-force-pic.patch" + patch_description: "Allow to build static library without PIC" + patch_type: "conan" "0.16.2": - patch_file: "patches/0001-fix-apple.patch" patch_description: "Fix cross-build to macOS, iOS, watchOS & tvOS" @@ -10,9 +17,6 @@ patches: - patch_file: "patches/0002-dont-force-pic.patch" patch_description: "Allow to build static library without PIC" patch_type: "conan" - - patch_file: "patches/0003-cmake-fix-ccd-target.patch" - patch_description: "Fix link to CMake imported target of libccd" - patch_type: "conan" - patch_file: "patches/0004-fix-include-ode-timer.patch" patch_description: "Fix casing issue in include of ode/timer.h" patch_type: "conan" diff --git a/recipes/ode/all/conanfile.py b/recipes/ode/all/conanfile.py index 380cefe469f49..0ad8a648e1978 100644 --- a/recipes/ode/all/conanfile.py +++ b/recipes/ode/all/conanfile.py @@ -82,6 +82,7 @@ def generate(self): tc.generate() deps = CMakeDeps(self) + deps.set_property("libccd", "cmake_target_name", "ccd::ccd") deps.generate() def build(self): diff --git a/recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch b/recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch deleted file mode 100644 index e9dd8b78218bb..0000000000000 --- a/recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -572,7 +572,7 @@ if(ODE_WITH_LIBCCD) - if(ODE_WITH_LIBCCD_SYSTEM) - find_package(ccd) - target_compile_definitions(ode PRIVATE -DdLIBCCD_ENABLED -DdLIBCCD_SYSTEM) -- target_link_libraries(ODE ccd::ccd) -+ target_link_libraries(ODE PRIVATE ccd) - else() - target_compile_definitions(ODE PRIVATE -DdLIBCCD_ENABLED -DdLIBCCD_INTERNAL) - target_include_directories( diff --git a/recipes/ode/config.yml b/recipes/ode/config.yml index 62178f7b45783..86a42ef0267a1 100644 --- a/recipes/ode/config.yml +++ b/recipes/ode/config.yml @@ -1,3 +1,5 @@ versions: + "0.16.4": + folder: all "0.16.2": folder: all From d9a611d62b773198121cafac30b503b896531dc0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 05:19:49 +0200 Subject: [PATCH 3254/4087] (#21912) microprofile: add v4.0 --- recipes/microprofile/all/conandata.yml | 13 +++++---- recipes/microprofile/all/conanfile.py | 29 +++++++++++++++---- .../all/test_package/test_package.cpp | 2 +- recipes/microprofile/config.yml | 2 ++ 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/recipes/microprofile/all/conandata.yml b/recipes/microprofile/all/conandata.yml index 144d6e5120836..8c86f1a660d74 100644 --- a/recipes/microprofile/all/conandata.yml +++ b/recipes/microprofile/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "3.1": - - url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v3.1.tar.gz" - sha256: "300e1d0d21e4c13ad1de72c5309ba02fbdb3bcbbe26e5ad9ff8b798380781527" + "4.0": + url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v4.0.tar.gz" + sha256: "59cd3ee7afd3ce5cfeb7599db62ccc0611818985a8e649353bec157122902a5c" + "3.1": + url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v3.1.tar.gz" + sha256: "300e1d0d21e4c13ad1de72c5309ba02fbdb3bcbbe26e5ad9ff8b798380781527" patches: - "3.1": - - patch_file: "patches/sources_fix.patch" + "3.1": + - patch_file: "patches/sources_fix.patch" diff --git a/recipes/microprofile/all/conanfile.py b/recipes/microprofile/all/conanfile.py index 3779e90691c29..b3d0644be3113 100644 --- a/recipes/microprofile/all/conanfile.py +++ b/recipes/microprofile/all/conanfile.py @@ -5,7 +5,10 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, download, export_conandata_patches, get, save, load +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, save, load +from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -91,7 +94,13 @@ def requirements(self): if self.options.enable_timer == "gl": self.requires("opengl/system") if self.options.enable_timer == "vulkan": - self.requires("vulkan-loader/1.3.243.0") + self.requires("vulkan-loader/1.3.268.0") + if Version(self.version) >= "4.0": + self.requires("stb/cci.20230920") + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.1.0") def _validate_int_options(self): positive_int_options = [ @@ -134,15 +143,23 @@ def validate(self): raise ConanInvalidConfiguration("microprofile:webserver_port must be between 0 and 65535.") def source(self): - get(self, **self.conan_data["sources"][self.version][0], strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() + tc = CMakeToolchain(self) tc.variables["MP_MINIZ"] = self.options.with_miniz tc.variables["MP_GPU_TIMERS_VULKAN"] = self.options.enable_timer == "vulkan" + tc.variables["MICROPROFILE_USE_CONFIG_FILE"] = True + tc.preprocessor_definitions["STB_SPRINTF_IMPLEMENTATION"] = 1 tc.generate() - tc = CMakeDeps(self) - tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() def build(self): self._create_defines_file(os.path.join(self.source_folder, "microprofile.config.h")) @@ -203,6 +220,8 @@ def _create_defines_file(self, filename): def package_info(self): self.cpp_info.libs = collect_libs(self) + if Version(self.version) < "4.0": + self.cpp_info.includedirs.append(os.path.join("include", "microprofile")) if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] elif self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/microprofile/all/test_package/test_package.cpp b/recipes/microprofile/all/test_package/test_package.cpp index 2a13e33f9ca1d..ef555a9511bfa 100644 --- a/recipes/microprofile/all/test_package/test_package.cpp +++ b/recipes/microprofile/all/test_package/test_package.cpp @@ -1,6 +1,6 @@ #include -#include +#include int main() { #if MICROPROFILE_ENABLED diff --git a/recipes/microprofile/config.yml b/recipes/microprofile/config.yml index 992d10eb37c11..d0751e6458e77 100644 --- a/recipes/microprofile/config.yml +++ b/recipes/microprofile/config.yml @@ -1,3 +1,5 @@ versions: + "4.0": + folder: all "3.1": folder: all From 546214ee3e547fc19123118929924e0b1a3dfa92 Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Fri, 5 Jan 2024 22:29:26 -0500 Subject: [PATCH 3255/4087] (#21798) nfrechette-acl: add version 2.1.0 --- recipes/nfrechette-acl/all/conandata.yml | 3 +++ recipes/nfrechette-acl/all/conanfile.py | 2 +- recipes/nfrechette-acl/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/nfrechette-acl/all/conandata.yml b/recipes/nfrechette-acl/all/conandata.yml index dca5b638ad1dc..191bbde1ad6d6 100644 --- a/recipes/nfrechette-acl/all/conandata.yml +++ b/recipes/nfrechette-acl/all/conandata.yml @@ -8,3 +8,6 @@ sources: "2.0.6": url: "https://github.com/nfrechette/acl/archive/v2.0.6.tar.gz" sha256: "595575d3470eb3a4a572f7c5cb986ea2205ea1271ca3b32b864c569659106311" + "2.1.0": + url: "https://github.com/nfrechette/acl/archive/v2.1.0.tar.gz" + sha256: "0ac8473cd30eb768bae1ef58558e3088242d6fef81f727ce7b5ff5af9be74fce" diff --git a/recipes/nfrechette-acl/all/conanfile.py b/recipes/nfrechette-acl/all/conanfile.py index 4a590b12eb34e..9486ab8fa1d5e 100644 --- a/recipes/nfrechette-acl/all/conanfile.py +++ b/recipes/nfrechette-acl/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rtm/2.1.5") + self.requires("rtm/2.2.0") def package_id(self): self.info.clear() diff --git a/recipes/nfrechette-acl/config.yml b/recipes/nfrechette-acl/config.yml index 00fcf38029071..1a65a1cc6cec7 100644 --- a/recipes/nfrechette-acl/config.yml +++ b/recipes/nfrechette-acl/config.yml @@ -5,3 +5,5 @@ versions: folder: "all" "2.0.6": folder: "all" + "2.1.0": + folder: "all" From 232de10aac2cfd3b033c8c861f40da0d0cb6d1e0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 6 Jan 2024 04:47:56 +0100 Subject: [PATCH 3256/4087] (#21776) libva/2.20.0 * libva/2.20.0 * don't use release tarball work around https://github.com/intel/libva/issues/781 * fix windows libname * fix windows debug * Update recipes/libva/all/conanfile.py Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams --- recipes/libva/all/conandata.yml | 10 ++ recipes/libva/all/conanfile.py | 144 ++++++++++++++++++ .../all/patches/0001-fix-win32-debug.patch | 27 ++++ recipes/libva/all/test_package/CMakeLists.txt | 7 + recipes/libva/all/test_package/conanfile.py | 26 ++++ recipes/libva/all/test_package/test_package.c | 10 ++ recipes/libva/config.yml | 3 + 7 files changed, 227 insertions(+) create mode 100644 recipes/libva/all/conandata.yml create mode 100644 recipes/libva/all/conanfile.py create mode 100644 recipes/libva/all/patches/0001-fix-win32-debug.patch create mode 100644 recipes/libva/all/test_package/CMakeLists.txt create mode 100644 recipes/libva/all/test_package/conanfile.py create mode 100644 recipes/libva/all/test_package/test_package.c create mode 100644 recipes/libva/config.yml diff --git a/recipes/libva/all/conandata.yml b/recipes/libva/all/conandata.yml new file mode 100644 index 0000000000000..da7a69068bfd9 --- /dev/null +++ b/recipes/libva/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "2.20.0": + url: "https://github.com/intel/libva/archive/refs/tags/2.20.0.tar.gz" + sha256: "117f8d658a5fc9ea406ca80a3eb4ae1d70b15a54807c9ed77199c812bed73b60" +patches: + "2.20.0": + - patch_file: "patches/0001-fix-win32-debug.patch" + patch_description: "Fix win32 debug build break" + patch_type: "backport" + patch_source: "https://github.com/intel/libva/pull/759" diff --git a/recipes/libva/all/conanfile.py b/recipes/libva/all/conanfile.py new file mode 100644 index 0000000000000..47a3e22f2ebe2 --- /dev/null +++ b/recipes/libva/all/conanfile.py @@ -0,0 +1,144 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "libva" + description = "Libva is an implementation for VA-API" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/intel/libva" + topics = ("VA-API", "Video", "Acceleration") + provides = "vaapi" + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_drm": [True, False], + "with_x11": [True, False], + "with_glx": [True, False], + "with_wayland": [True, False], + "with_win32": [True, False], + } + default_options = { + "with_drm": True, + "with_x11": True, + "with_glx": True, + "with_wayland": True, + "with_win32": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os != "Windows": + del self.options.with_win32 + + if self.settings.os not in ["Linux", "FreeBSD"]: + del self.options.with_x11 + del self.options.with_glx + del self.options.with_drm + + if self.settings.os != "Linux": + del self.options.with_wayland + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if self.options.get_safe("with_x11"): + self.requires("xorg/system") + if self.options.get_safe("with_drm"): + self.requires("libdrm/2.4.114") + if self.options.get_safe("with_wayland"): + self.requires("wayland/1.22.0") + if self.options.get_safe("with_glx"): + self.requires("opengl/system") + + def validate(self): + if self.options.get_safe("with_glx") and not self.options.get_safe("with_x11"): + raise ConanInvalidConfiguration(f"{self.ref} requires x11 when glx is enabled") + if not self.options.get_safe("with_drm") and not self.options.get_safe("with_x11") and not self.options.get_safe("with_wayland") and not self.options.get_safe("with_win32"): + raise ConanInvalidConfiguration(f"{self.ref} can not be built without at least one backend dev files.") + + def build_requirements(self): + if self.options.get_safe("with_wayland"): + self.tool_requires("wayland/1.22.0") + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["disable_drm"] = not self.options.get_safe("with_drm") + for opt in ['with_x11', 'with_glx', 'with_wayland', 'with_win32']: + tc.project_options[opt] = "yes" if self.options.get_safe(opt) else "no" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.components["libva_"].libs = ["va"] + self.cpp_info.components["libva_"].set_property("pkg_config_name", "libva") + + if self.options.get_safe("with_drm"): + self.cpp_info.components["libva-drm"].libs = ["va-drm"] + self.cpp_info.components["libva-drm"].set_property("pkg_config_name", "libva-drm") + self.cpp_info.components["libva-drm"].requires = ["libva_", "libdrm::libdrm"] + + if self.options.get_safe("with_x11"): + self.cpp_info.components["libva-x11"].libs = ["va-x11"] + self.cpp_info.components["libva-x11"].set_property("pkg_config_name", "libva-x11") + self.cpp_info.components["libva-x11"].requires = ["libva_", "xorg::xorg"] + + if self.options.get_safe("with_glx"): + self.cpp_info.components["libva-glx"].libs = ["va-glx"] + self.cpp_info.components["libva-glx"].set_property("pkg_config_name", "libva-glx") + self.cpp_info.components["libva-glx"].requires = ["libva_", "opengl::opengl"] + + if self.options.get_safe("with_wayland"): + self.cpp_info.components["libva-wayland"].libs = ["va-wayland"] + self.cpp_info.components["libva-wayland"].set_property("pkg_config_name", "libva-wayland") + self.cpp_info.components["libva-wayland"].requires = ["libva_", "wayland::wayland-client"] + + if self.options.get_safe("with_win32"): + self.cpp_info.components["libva-win32"].libs = ["va_win32"] + self.cpp_info.components["libva-win32"].set_property("pkg_config_name", "libva-win32") + self.cpp_info.components["libva-win32"].requires = ["libva_"] diff --git a/recipes/libva/all/patches/0001-fix-win32-debug.patch b/recipes/libva/all/patches/0001-fix-win32-debug.patch new file mode 100644 index 0000000000000..9a323b9c3f71a --- /dev/null +++ b/recipes/libva/all/patches/0001-fix-win32-debug.patch @@ -0,0 +1,27 @@ +From 2a1536a7d87eee3de17c27d07a40d8578cbf7cc0 Mon Sep 17 00:00:00 2001 +From: Sil Vilerino +Date: Wed, 27 Sep 2023 11:50:16 -0400 +Subject: [PATCH] win32: Fix debug build break + +Fixes: 484f128 ("win32: remove duplicate adapter_luid entry") +Signed-off-by: Sil Vilerino +--- + va/win32/va_win32.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/va/win32/va_win32.c b/va/win32/va_win32.c +index 7a6a895d3..350ee3a27 100644 +--- a/va/win32/va_win32.c ++++ b/va/win32/va_win32.c +@@ -183,9 +183,9 @@ VADisplay vaGetDisplayWin32( + LoadDriverNameFromRegistry(adapter_luid, pWin32Ctx); + #ifdef _DEBUG + if (pWin32Ctx->registry_driver_available_flag) { +- fprintf(stderr, "VA_Win32: Found driver %s in the registry for LUID %ld %ld \n", pWin32Ctx->registry_driver_name, adapter_luid.LowPart, adapter_luid.HighPart); ++ fprintf(stderr, "VA_Win32: Found driver %s in the registry for LUID %ld %ld \n", pWin32Ctx->registry_driver_name, adapter_luid->LowPart, adapter_luid->HighPart); + } else { +- fprintf(stderr, "VA_Win32: Couldn't find a driver in the registry for LUID %ld %ld. Using default driver: %s \n", adapter_luid.LowPart, adapter_luid.HighPart, VAAPI_DEFAULT_DRIVER_NAME); ++ fprintf(stderr, "VA_Win32: Couldn't find a driver in the registry for LUID %ld %ld. Using default driver: %s \n", adapter_luid->LowPart, adapter_luid->HighPart, VAAPI_DEFAULT_DRIVER_NAME); + } + #endif // _DEBUG + } diff --git a/recipes/libva/all/test_package/CMakeLists.txt b/recipes/libva/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7b1b0ee21235e --- /dev/null +++ b/recipes/libva/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(libva REQUIRED CONFIG) + +add_executable(test_package test_package.c) +target_link_libraries(test_package PRIVATE libva::libva) diff --git a/recipes/libva/all/test_package/conanfile.py b/recipes/libva/all/test_package/conanfile.py new file mode 100644 index 0000000000000..abc9920da73b3 --- /dev/null +++ b/recipes/libva/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + cmd = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/libva/all/test_package/test_package.c b/recipes/libva/all/test_package/test_package.c new file mode 100644 index 0000000000000..2731d8afc64df --- /dev/null +++ b/recipes/libva/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include + +#include + +int main() +{ + VADisplay va_display; + printf("Display is valid: %d", vaDisplayIsValid(0)); + return 0; +} diff --git a/recipes/libva/config.yml b/recipes/libva/config.yml new file mode 100644 index 0000000000000..bb6ad1a3e3dc2 --- /dev/null +++ b/recipes/libva/config.yml @@ -0,0 +1,3 @@ +versions: + "2.20.0": + folder: all From b3f75cc6dc93c111e6fce260bf3f45c3ae4df14f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 06:09:19 +0200 Subject: [PATCH 3257/4087] (#21923) cmocka: add v1.1.7 * cmocka: add v1.1.7 * cmocka: fix static build --- recipes/cmocka/all/conandata.yml | 3 +++ recipes/cmocka/all/conanfile.py | 6 +++++- recipes/cmocka/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/cmocka/all/conandata.yml b/recipes/cmocka/all/conandata.yml index d9ca5bcc54526..e378971eb0634 100644 --- a/recipes/cmocka/all/conandata.yml +++ b/recipes/cmocka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.7": + url: "https://cmocka.org/files/1.1/cmocka-1.1.7.tar.xz" + sha256: "810570eb0b8d64804331f82b29ff47c790ce9cd6b163e98d47a4807047ecad82" "1.1.5": url: "https://cmocka.org/files/1.1/cmocka-1.1.5.tar.xz" sha256: "f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6" diff --git a/recipes/cmocka/all/conanfile.py b/recipes/cmocka/all/conanfile.py index 2c0c2ed7806b8..3cba1fe3283f8 100644 --- a/recipes/cmocka/all/conanfile.py +++ b/recipes/cmocka/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -95,7 +96,10 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "cmocka") self.cpp_info.set_property("pkg_config_name", "cmocka") self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) - self.cpp_info.libs = ["cmocka{}".format("" if self.options.shared else "-static")] + lib_suffix = "" + if Version(self.version) < "1.1.7" and not self.options.shared: + lib_suffix = "-static" + self.cpp_info.libs = ["cmocka" + lib_suffix] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] diff --git a/recipes/cmocka/config.yml b/recipes/cmocka/config.yml index e48685771bd64..3996fe27c952c 100644 --- a/recipes/cmocka/config.yml +++ b/recipes/cmocka/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.7": + folder: all "1.1.5": folder: all From 73414f68cf2ef13093093bc57e1c6932fc7a8472 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 06:18:57 +0200 Subject: [PATCH 3258/4087] (#21649) libsystemd: add v255, v253.14, bump deps * libsystemd: add v254.7, v253.14, bump deps * libsystemd: bump to v255, fix extraction of filenames with escaped chars --- recipes/libsystemd/all/conandata.yml | 19 +++++++++++------ recipes/libsystemd/all/conanfile.py | 32 +++++++++++++++++----------- recipes/libsystemd/config.yml | 6 ++++-- 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index 4c9f3dfcddb62..e4def90fd702a 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -1,13 +1,16 @@ sources: + "255": + url: "https://github.com/systemd/systemd-stable/archive/v255.tar.gz" + sha256: "a3eb766ee96eb9f4cc25c2a6c933f3299e1b7ae22e72507dade0a5c86d92534f" + "253.14": + url: "https://github.com/systemd/systemd-stable/archive/v253.14.tar.gz" + sha256: "9c83ac26f691ff2c482659884f01f1155ef5e1bd202204f9e3076a31e54ab155" "253.10": url: "https://github.com/systemd/systemd-stable/archive/v253.10.tar.gz" sha256: "7c869513b2ad015568e8e35304942f84378b0c59972cb44de5ac905b8eea08d4" "253.6": url: "https://github.com/systemd/systemd-stable/archive/v253.6.tar.gz" sha256: "a0aebcfaa2e001a4d846691631d1722c4cfa1a175e4ea62db6edca0ea3cf1e3e" - "253.3": - url: "https://github.com/systemd/systemd-stable/archive/v253.3.tar.gz" - sha256: "569775d77084e45d15e103004cf4fbc00d7249c33791471b80f0c3296962bbfd" "252.9": url: "https://github.com/systemd/systemd-stable/archive/v252.9.tar.gz" sha256: "c386aac4ba39fa1bca3a3c9ef9df5a737e3184c9c6a04340e34d6d0254007845" @@ -27,7 +30,11 @@ sources: url: "https://github.com/systemd/systemd-stable/archive/v246.16.tar.gz" sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2" patches: - "253.10": + "255": + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" + patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" + patch_type: "conan" + "253.14": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" @@ -38,7 +45,7 @@ patches: patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" patch_type: "portability" - "253.6": + "253.10": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" @@ -49,7 +56,7 @@ patches: patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" patch_type: "portability" - "253.3": + "253.6": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 4632a3731b01e..0529c3adb62c2 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -1,10 +1,11 @@ import os import re +import tarfile from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, replace_in_file, download, move_folder_contents from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -53,15 +54,15 @@ def layout(self): def requirements(self): self.requires("libcap/2.69") - self.requires("libmount/2.39") + self.requires("libmount/2.39.2") if Version(self.version) >= "253.6": - self.requires("libxcrypt/4.4.35") + self.requires("libxcrypt/4.4.36") if self.options.with_selinux: - self.requires("libselinux/3.3") + self.requires("libselinux/3.5") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_xz: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_zstd: self.requires("zstd/1.5.5") @@ -70,14 +71,19 @@ def validate(self): raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") self.tool_requires("m4/1.4.19") self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + # Extract using standard Python tools due to Conan's unzip() not handling backslashes in + # 'units/system-systemd\x2dcryptsetup.slice', etc. correctly. + download(self, **self.conan_data["sources"][self.version], filename="sources.tar.gz") + with tarfile.open("sources.tar.gz", "r:gz") as tar: + tar.extractall() + move_folder_contents(self, os.path.join(self.source_folder, f"systemd-stable-{self.version}"), self.source_folder) @property def _so_version(self): @@ -126,7 +132,7 @@ def generate(self): "link-udev-shared", "link-systemctl-shared", "analyze", "pam", "link-networkd-shared", "link-timesyncd-shared", "kernel-install", "libiptc", "elfutils", "repart", "homed", "importd", "acl", - "dns-over-tls", "gnu-efi", "valgrind", "log-trace"] + "dns-over-tls", "log-trace"] if Version(self.version) >= "247.1": unrelated.append("oomd") @@ -136,6 +142,10 @@ def generate(self): unrelated.append("link-boot-shared") if Version(self.version) >= "252.1": unrelated.append("link-journalctl-shared") + if Version(self.version) < "254.7": + unrelated.extend(["gnu-efi", "valgrind"]) + else: + unrelated.extend(["passwdqc", "bootloader", "link-portabled-shared"]) for opt in unrelated: tc.project_options[opt] = "false" @@ -160,10 +170,8 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - meson_build = os.path.join(self.source_folder, "meson.build") - replace_in_file(self, meson_build, "@CONAN_SRC_REL_PATH@", - "'../{}'".format(os.path.basename(self.source_folder))) + replace_in_file(self, meson_build, "@CONAN_SRC_REL_PATH@", f"'../{self.source_path.name}'") def build(self): self._patch_sources() diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml index e30829e3e3474..53e3ab4f8fc90 100644 --- a/recipes/libsystemd/config.yml +++ b/recipes/libsystemd/config.yml @@ -1,10 +1,12 @@ versions: + "255": + folder: all + "253.14": + folder: all "253.10": folder: all "253.6": folder: all - "253.3": - folder: all "252.9": folder: all "251.15": From 698b9ce41157eb606c2b62ed699750f530556238 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 6 Jan 2024 05:59:03 +0100 Subject: [PATCH 3259/4087] (#21943) qt 5.15.12 * qt 5.15.12 generated with: conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 5.15.12 * bump deps created with: conan recipe:bump-deps recipes/qt/5.x.x/ * unbump xkbcommon * disable macos on arm for qt 5.15.9 * Update conanfile.py --- recipes/qt/5.x.x/conandata.yml | 55 +++ recipes/qt/5.x.x/conanfile.py | 11 +- ...12-fix-macos-cpp-lib-memory-resource.patch | 43 +++ recipes/qt/5.x.x/qtmodules5.15.12.conf | 326 ++++++++++++++++++ recipes/qt/config.yml | 2 + 5 files changed, 433 insertions(+), 4 deletions(-) create mode 100644 recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch create mode 100644 recipes/qt/5.x.x/qtmodules5.15.12.conf diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index db92ab6d5dace..bc095a693b2c9 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -1,4 +1,29 @@ sources: + "5.15.12": + url: + - "https://download.qt.io/official_releases/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://download.qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.icm.edu.pl/packages/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirror.web4africa.ng/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.sau.edu.cn/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirror.bjtu.edu.cn/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + sha256: "93f2c0889ee2e9cdf30c170d353c3f829de5f29ba21c119167dee5995e48ccce" "5.15.11": url: - "https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" @@ -77,6 +102,36 @@ sources: - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" sha256: "8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0" patches: + "5.15.12": + - "base_path": "qt5/qtbase" + "patch_file": "patches/aa2a39dea5.diff" + - "base_path": "qt5/qtwebengine" + "patch_file": "patches/c72097e.diff" + - "base_path": "qt5/qttools" + "patch_file": "patches/fix-macdeployqt.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/v8" + "patch_file": "patches/chromium-v8-missing-constexpr.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/chromium-skia-missing-iterator-include.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" + "patch_file": "patches/skia-cd397f3.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-backtrace.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-openssl.diff" + - "base_path": "qt5/qtbase" + "patch_description": "Fix qmake build with apple-clang>=15" + "patch_file": "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + "patch_type": "portability" + - "base_path": "qt5/qtbase" + "patch_description": "Fix usage of memory_resource with apple-clang>=15 and deployment\ + \ target of macOS < 14" + "patch_file": "patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch" + "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/482392" + "patch_type": "portability" "5.15.11": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index a4c631120b356..c3ba904144ea5 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -338,6 +338,9 @@ def validate(self): if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: raise ConanInvalidConfiguration("sqlite3 option enable_column_metadata must be enabled for qt") + if Version(self.version) < "5.15.9" and self.settings.os == "Macos" and self.settings.arch == "armv8": + raise ConanInvalidConfiguration("qt does not support macOS on ARM before 5.15.9 (QTBUG-85279)") + def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.openssl: @@ -345,11 +348,11 @@ def requirements(self): if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-loader/1.3.268.0") if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.3") # if self.options.with_libiconv: # QTBUG-84708 # self.requires("libiconv/1.16")# QTBUG-84708 if self.options.with_doubleconversion and not self.options.multiconfiguration: @@ -359,12 +362,12 @@ def requirements(self): if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: self.requires("harfbuzz/8.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: diff --git a/recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch b/recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch new file mode 100644 index 0000000000000..96fc7fd858e95 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch @@ -0,0 +1,43 @@ +--- a/src/corelib/global/qcompilerdetection.h ++++ b/src/corelib/global/qcompilerdetection.h +@@ -1055,16 +1055,22 @@ + # endif // !_HAS_CONSTEXPR + # endif // !__GLIBCXX__ && !_LIBCPP_VERSION + # endif // Q_OS_QNX +-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \ +- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) ++# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) ++# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) + // Apple has not updated libstdc++ since 2007, which means it does not have + // or std::move. Let's disable these features +-# undef Q_COMPILER_INITIALIZER_LISTS +-# undef Q_COMPILER_RVALUE_REFS +-# undef Q_COMPILER_REF_QUALIFIERS ++# undef Q_COMPILER_INITIALIZER_LISTS ++# undef Q_COMPILER_RVALUE_REFS ++# undef Q_COMPILER_REF_QUALIFIERS + // Also disable , since it's clearly not there +-# undef Q_COMPILER_ATOMICS +-# endif ++# undef Q_COMPILER_ATOMICS ++# endif ++# if defined(__cpp_lib_memory_resource) \ ++ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \ ++ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000)) ++# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17 ++# endif ++# endif // (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) + # if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500 + // ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode + // (probably because libc++'s on OS X failed to compile), but they're missing some +--- a/src/corelib/tools/qduplicatetracker_p.h ++++ b/src/corelib/tools/qduplicatetracker_p.h +@@ -52,7 +52,7 @@ + + #include + +-#if QT_HAS_INCLUDE() && __cplusplus > 201402L ++#if defined(__cpp_lib_memory_resource) && __cplusplus > 201402L + # include + # include + #else diff --git a/recipes/qt/5.x.x/qtmodules5.15.12.conf b/recipes/qt/5.x.x/qtmodules5.15.12.conf new file mode 100644 index 0000000000000..452233655f279 --- /dev/null +++ b/recipes/qt/5.x.x/qtmodules5.15.12.conf @@ -0,0 +1,326 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 5.15 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 5.15 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtsvg + path = qtdeclarative + url = ../qtdeclarative.git + branch = 5.15 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 5.15 + status = addon +[submodule "qtscript"] + depends = qtbase + recommends = qttools + path = qtscript + url = ../qtscript.git + branch = 5.15 + status = deprecated +[submodule "qtmultimedia"] + depends = qtbase + recommends = qtdeclarative + path = qtmultimedia + url = ../qtmultimedia.git + branch = 5.15 + status = essential +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 5.15 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = 5.15 + status = deprecated +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 5.15 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtquickcontrols qtquickcontrols2 + path = qtdoc + url = ../qtdoc.git + branch = 5.15 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = master + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase + recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport + path = qtlocation + url = ../qtlocation.git + branch = 5.15 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 5.15 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtdocgallery"] + depends = qtdeclarative + path = qtdocgallery + url = ../qtdocgallery.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative qtandroidextras + path = qtconnectivity + url = ../qtconnectivity.git + branch = 5.15 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 5.15 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtimageformats qtgamepad + path = qt3d + url = ../qt3d.git + branch = 5.15 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 5.15 + status = addon +[submodule "qtgraphicaleffects"] + depends = qtdeclarative + path = qtgraphicaleffects + url = ../qtgraphicaleffects.git + branch = 5.15 + status = essential +[submodule "qtquickcontrols"] + depends = qtdeclarative + recommends = qtgraphicaleffects + path = qtquickcontrols + url = ../qtquickcontrols.git + branch = 5.15 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 5.15 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 5.15 + status = addon +[submodule "qtx11extras"] + depends = qtbase + path = qtx11extras + url = ../qtx11extras.git + branch = 5.15 + status = addon +[submodule "qtmacextras"] + depends = qtbase + path = qtmacextras + url = ../qtmacextras.git + branch = 5.15 + status = addon +[submodule "qtwinextras"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtwinextras + url = ../qtwinextras.git + branch = 5.15 + status = addon +[submodule "qtandroidextras"] + depends = qtbase + path = qtandroidextras + url = ../qtandroidextras.git + branch = 5.15 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 5.15 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 5.15 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools + path = qtwebengine + url = ../qtwebengine.git + branch = 5.15 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 5.15 + status = addon +[submodule "qtquickcontrols2"] + depends = qtgraphicaleffects + recommends = qtimageformats + path = qtquickcontrols2 + url = ../qtquickcontrols2.git + branch = 5.15 + status = essential +[submodule "qtpurchasing"] + depends = qtbase + recommends = qtdeclarative qtandroidextras + path = qtpurchasing + url = ../qtpurchasing.git + branch = 5.15 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 5.15 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 5.15 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia qtquickcontrols + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 5.15 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = 5.15 + status = addon +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 5.15 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 5.15 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 5.15 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 5.15 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = 5.15 + status = addon +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 5.15 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 5.15 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative + path = qtquick3d + url = ../qtquick3d.git + branch = 5.15 + status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index a8db7bd315aab..0a1aaa3dcf0ce 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -9,6 +9,8 @@ versions: folder: 6.x.x "6.3.2": folder: 6.x.x + "5.15.12": + folder: 5.x.x "5.15.11": folder: 5.x.x "5.15.10": From 89eb69354cd6dab67ff341a84089870bdfacd91d Mon Sep 17 00:00:00 2001 From: Chris Collins Date: Sat, 6 Jan 2024 16:30:42 +1100 Subject: [PATCH 3260/4087] (#22167) wayland: fix cross-building tests to use correct method * Fix #22166: switch from using cross_building to using can_run so the conf option that explicitly says we must (or must not) cross build is respected correctly. --- recipes/wayland/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index f863770107024..7694702f24251 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building +from conan.tools.build import can_run from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import copy, get, replace_in_file, rmdir from conan.tools.gnu import PkgConfigDeps @@ -61,7 +61,7 @@ def build_requirements(self): self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") - if cross_building(self): + if not can_run(self): self.tool_requires(str(self.ref)) def source(self): @@ -70,12 +70,12 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if not cross_building(self): + if can_run(self): env = VirtualRunEnv(self) env.generate(scope="build") pkg_config_deps = PkgConfigDeps(self) - if cross_building(self): + if not can_run(self): pkg_config_deps.build_context_activated = ["wayland"] elif self.dependencies["expat"].is_build_context: # wayland is being built as build_require # If wayland is the build_require, all its dependencies are treated as build_requires @@ -87,7 +87,7 @@ def generate(self): tc.project_options["libraries"] = self.options.enable_libraries tc.project_options["dtd_validation"] = self.options.enable_dtd_validation tc.project_options["documentation"] = False - if cross_building(self): + if not can_run(self): tc.project_options["build.pkg_config_path"] = self.generators_folder if Version(self.version) >= "1.18.91": tc.project_options["scanner"] = True From f1af6ffec63c43236d7bd647dafd0002c7609b0e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 09:18:04 +0200 Subject: [PATCH 3261/4087] (#21861) outcome: add v2.2.8, drop old versions --- recipes/outcome/all/conandata.yml | 21 +++------------------ recipes/outcome/config.yml | 14 ++------------ 2 files changed, 5 insertions(+), 30 deletions(-) diff --git a/recipes/outcome/all/conandata.yml b/recipes/outcome/all/conandata.yml index 68135018bb900..62d76f92e8327 100644 --- a/recipes/outcome/all/conandata.yml +++ b/recipes/outcome/all/conandata.yml @@ -1,28 +1,13 @@ sources: + "2.2.8": + url: "https://github.com/ned14/outcome/archive/v2.2.8.tar.gz" + sha256: "6ef322867aee454792bd71b61950703dd18608670a69a1780cab81be22f78a1e" "2.2.7": url: "https://github.com/ned14/outcome/archive/v2.2.7.tar.gz" sha256: "553fd03bb9684be19dfa251bfa0064e69e30a95b6b0ba9a62d68f8ec4e31662a" "2.2.4": url: "https://github.com/ned14/outcome/archive/v2.2.4.tar.gz" sha256: "29ad35c1980cf7f75294bb52df678c6a08817228e880fac8454cd6ac390fa1fc" - "2.2.3": - url: "https://github.com/ned14/outcome/archive/v2.2.3.tar.gz" - sha256: "31cc987d73b2625a70f35083ccff26d1c2634d89304f1ea606a294da36cb2958" - "2.2.2": - url: "https://github.com/ned14/outcome/archive/v2.2.2.tar.gz" - sha256: "fc16bc24f8a7d10dc24b9cc3abd1609f67b29aab2c8da546d123d518e9c29dbb" - "2.2.1": - url: "https://github.com/ned14/outcome/archive/v2.2.1.tar.gz" - sha256: "cf21a9cba8c7d943a6310012626344618923f2ea367ccee6cb499eee8bb97147" - "2.2.0": - url: "https://github.com/ned14/outcome/archive/v2.2.0.tar.gz" - sha256: "eb7a54e74c7ed7e208ab4a610a56e619c82b2797236aee7cff3303a649f24e0e" "2.1.5": url: "https://github.com/ned14/outcome/archive/v2.1.5.tar.gz" sha256: "e238e545753e2b00a7eefabeb677c9918c7a5402ad347b67de328089b4e15493" - "2.1.4": - url: "https://github.com/ned14/outcome/archive/v2.1.4.tar.gz" - sha256: "19463d2c9bb0bcdc1c0334b02b344caeb5fc723ab060155c959be8e0b551cf76" - "2.1.3": - url: "https://github.com/ned14/outcome/archive/v2.1.3.tar.gz" - sha256: "45ee2f720bd0965047c35bd0ea719656c9de51c49d13c6a82797fca325b8426a" diff --git a/recipes/outcome/config.yml b/recipes/outcome/config.yml index 08abb1cf7e40b..783025ec22c41 100644 --- a/recipes/outcome/config.yml +++ b/recipes/outcome/config.yml @@ -1,19 +1,9 @@ versions: + "2.2.8": + folder: all "2.2.7": folder: all "2.2.4": folder: all - "2.2.3": - folder: all - "2.2.2": - folder: all - "2.2.1": - folder: all - "2.2.0": - folder: all "2.1.5": folder: all - "2.1.4": - folder: all - "2.1.3": - folder: all From f89f22c6d8c0d2913344da28fabab8c159c5730b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 09:39:27 +0200 Subject: [PATCH 3262/4087] (#21953) libselinux: add v3.6 * libselinux: add v3.6 * libselinux: fix a missing include --- recipes/libselinux/all/conandata.yml | 10 ++++++++++ .../all/patches/0003-fix-missing-include-3.6.patch | 10 ++++++++++ recipes/libselinux/config.yml | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch diff --git a/recipes/libselinux/all/conandata.yml b/recipes/libselinux/all/conandata.yml index 3db74c02a2ca7..14380382654d7 100644 --- a/recipes/libselinux/all/conandata.yml +++ b/recipes/libselinux/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "3.6": + - url: "https://github.com/SELinuxProject/selinux/releases/download/3.6/libselinux-3.6.tar.gz" + sha256: "ba4e0ef34b270e7672a5e5f1b523fe2beab3a40bb33d9389f4ad3a8728f21b52" + - url: "https://github.com/SELinuxProject/selinux/releases/download/3.6/libsepol-3.6.tar.gz" + sha256: "c9dc585ea94903d784d597c861cd5dce6459168f95e22b31a0eab1cdd800975a" "3.5": - url: "https://github.com/SELinuxProject/selinux/releases/download/3.5/libselinux-3.5.tar.gz" sha256: "9a3a3705ac13a2ccca2de6d652b6356fead10f36fb33115c185c5ccdf29eec19" @@ -30,6 +35,11 @@ sources: - url: "https://github.com/SELinuxProject/selinux/releases/download/20190315/libsepol-2.9.tar.gz" sha256: "a34b12b038d121e3e459b1cbaca3c9202e983137819c16baf63658390e3f1d5d" patches: + "3.6": + - patch_file: patches/0003-fix-missing-include-3.6.patch + base_path: libselinux-3.6 + patch_description: "Fix a missing #include " + patch_type: "portability" "3.0": - patch_file: patches/0001-fix-fno-common-3.0.patch base_path: libsepol-3.0 diff --git a/recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch b/recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch new file mode 100644 index 0000000000000..8d2025e18034b --- /dev/null +++ b/recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch @@ -0,0 +1,10 @@ +--- src/selinux_internal.c ++++ src/selinux_internal.c +@@ -1,6 +5,7 @@ + #include "selinux_internal.h" + + #include + #include + #include ++#include + diff --git a/recipes/libselinux/config.yml b/recipes/libselinux/config.yml index 761b7522ae137..901df00682822 100644 --- a/recipes/libselinux/config.yml +++ b/recipes/libselinux/config.yml @@ -1,4 +1,6 @@ versions: + "3.6": + folder: all "3.5": folder: all "3.3": From d5cea3e6996d207f79708823ed50e44ef59df3ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 09:48:33 +0200 Subject: [PATCH 3263/4087] (#21959) libgcrypt: add v1.10.3 * libgcrypt: add v1.10.3 * libgcrypt: rmdir lib/pkgconfig * libgcrypt: disable tests --- recipes/libgcrypt/all/conandata.yml | 3 +++ recipes/libgcrypt/all/conanfile.py | 8 +++++++- recipes/libgcrypt/config.yml | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/recipes/libgcrypt/all/conandata.yml b/recipes/libgcrypt/all/conandata.yml index ec37a3b999a57..7c8e4799d8c00 100644 --- a/recipes/libgcrypt/all/conandata.yml +++ b/recipes/libgcrypt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.3": + url: "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.3.tar.gz" + sha256: "946f7e56f795ba2ea88b842a8c6b8f469360cda42c1d3d191f7ac7e9aa8239f8" "1.8.4": url: "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.gz" sha256: "fc3c49cc8611068e6008482c3bbee6c66b9287808bbb4e14a473f4cc347b78ce" diff --git a/recipes/libgcrypt/all/conanfile.py b/recipes/libgcrypt/all/conanfile.py index 825994cdd9480..eb8e63a9f7a93 100644 --- a/recipes/libgcrypt/all/conanfile.py +++ b/recipes/libgcrypt/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building from conan.tools.env import VirtualRunEnv -from conan.tools.files import copy, get, rm, rmdir +from conan.tools.files import copy, get, rm, rmdir, save from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout import os @@ -63,7 +63,12 @@ def generate(self): deps = AutotoolsDeps(self) deps.generate() + def _patch_sources(self): + # Disable the tests subdir + save(self, os.path.join(self.source_folder, "tests", "Makefile.in"), "all:\ninstall:\n") + def build(self): + self._patch_sources() autotools = Autotools(self) autotools.configure() autotools.make() @@ -73,6 +78,7 @@ def package(self): autotools = Autotools(self) autotools.install() rm(self, "*la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): diff --git a/recipes/libgcrypt/config.yml b/recipes/libgcrypt/config.yml index f058837ee5cb1..629c9c832f1c5 100644 --- a/recipes/libgcrypt/config.yml +++ b/recipes/libgcrypt/config.yml @@ -1,3 +1,5 @@ versions: + "1.10.3": + folder: all "1.8.4": folder: all From dbf530490b09578eefd59e5938a7127df289219d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 10:08:28 +0200 Subject: [PATCH 3264/4087] (#21969) libmpdclient: add v2.22 * libmpdclient: add v2.22 * libmpdclient: update license files --- recipes/libmpdclient/all/conandata.yml | 3 +++ recipes/libmpdclient/all/conanfile.py | 8 ++++++-- recipes/libmpdclient/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/libmpdclient/all/conandata.yml b/recipes/libmpdclient/all/conandata.yml index 254f101651949..45f3be3daf711 100644 --- a/recipes/libmpdclient/all/conandata.yml +++ b/recipes/libmpdclient/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.22": + url: "https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.22.tar.xz" + sha256: "eac15b82b5ba5ed0648af580221eb74657394f7fe768e966d9e9ebb27435429f" "2.20": url: "https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.20.tar.xz" sha256: "18793f68e939c3301e34d8fcadea1f7daa24143941263cecadb80126194e277d" diff --git a/recipes/libmpdclient/all/conanfile.py b/recipes/libmpdclient/all/conanfile.py index 6a838ea6cdaa3..7df400a892ea8 100644 --- a/recipes/libmpdclient/all/conanfile.py +++ b/recipes/libmpdclient/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -14,7 +15,7 @@ class LibmpdclientConan(ConanFile): name = "libmpdclient" description = "libmpdclient is a C library which implements the Music Player Daemon protocol." - license = "BSD-3-Clause" + license = "BSD-2-Clause", "BSD-3-Clause" topics = ("music", "music-player-demon", "sound") homepage = "https://www.musicpd.org/libs/libmpdclient" url = "https://github.com/conan-io/conan-center-index" @@ -80,7 +81,10 @@ def build(self): meson.build() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) >= "2.22": + copy(self, "*", os.path.join(self.source_folder, "LICENSES"), os.path.join(self.package_folder, "licenses")) + else: + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) meson = Meson(self) meson.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) diff --git a/recipes/libmpdclient/config.yml b/recipes/libmpdclient/config.yml index e36906bed874c..76913be25172d 100644 --- a/recipes/libmpdclient/config.yml +++ b/recipes/libmpdclient/config.yml @@ -1,3 +1,5 @@ versions: + "2.22": + folder: "all" "2.20": folder: "all" From 00666f89fc977c1ab1620f30fb9a08911b6b6ff8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 10:28:55 +0200 Subject: [PATCH 3265/4087] (#21972) ldns: add v1.8.2 * ldns: add v1.8.2 * ldns: add pkgconf dependency to test_package --- recipes/ldns/all/conandata.yml | 3 +++ recipes/ldns/all/test_package/conanfile.py | 4 ++++ recipes/ldns/all/test_v1_package/conanfile.py | 4 ++++ recipes/ldns/config.yml | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/ldns/all/conandata.yml b/recipes/ldns/all/conandata.yml index a5e4b6259dffa..44d9095cd63eb 100644 --- a/recipes/ldns/all/conandata.yml +++ b/recipes/ldns/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.2": + url: "https://nlnetlabs.nl/downloads/ldns/ldns-1.8.2.tar.gz" + sha256: "b92b001cdd382de653620a05445e42e17a827eec93d64ee587ad291a533cc1e9" "1.8.1": url: "https://nlnetlabs.nl/downloads/ldns/ldns-1.8.1.tar.gz" sha256: "958229abce4d3aaa19a75c0d127666564b17216902186e952ca4aef47c6d7fa3" diff --git a/recipes/ldns/all/test_package/conanfile.py b/recipes/ldns/all/test_package/conanfile.py index b741b0a2b795c..651afdb268a4f 100644 --- a/recipes/ldns/all/test_package/conanfile.py +++ b/recipes/ldns/all/test_package/conanfile.py @@ -14,6 +14,10 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.1.0") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/ldns/all/test_v1_package/conanfile.py b/recipes/ldns/all/test_v1_package/conanfile.py index 648cf88ac9c76..17fb742bffdde 100644 --- a/recipes/ldns/all/test_v1_package/conanfile.py +++ b/recipes/ldns/all/test_v1_package/conanfile.py @@ -7,6 +7,10 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "pkg_config" + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.build_requires("pkgconf/2.1.0") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/ldns/config.yml b/recipes/ldns/config.yml index c3578038cb2a3..29db722a9f041 100644 --- a/recipes/ldns/config.yml +++ b/recipes/ldns/config.yml @@ -1,3 +1,5 @@ versions: - "1.8.1": - folder: all + "1.8.2": + folder: all + "1.8.1": + folder: all From 5a3a25788bc4ad6eb21f9964a0d8b15fde662aca Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 10:48:31 +0200 Subject: [PATCH 3266/4087] (#21996) gsoap: add v2.8.132, drop old versions --- recipes/gsoap/all/conandata.yml | 17 +++++------------ recipes/gsoap/config.yml | 10 ++-------- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/recipes/gsoap/all/conandata.yml b/recipes/gsoap/all/conandata.yml index c340912f08348..cc91f201aaee4 100644 --- a/recipes/gsoap/all/conandata.yml +++ b/recipes/gsoap/all/conandata.yml @@ -1,18 +1,11 @@ sources: + "2.8.132": + url: + - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.132.zip" + - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.132.zip" + sha256: "d6eb5d0d2c31532746f4dc9fa1ce95d4553414e918059eac23cf081d88c2aeee" "2.8.129": url: - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.129.zip" - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.129.zip" sha256: "16cb8852ea791a6aec8f0213d619c15eecc8171e0c888f3b0e0c66d3ef78e20a" - "2.8.117": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.117.zip" - sha256: "7cadf8808cfd982629948fe09e4fa6cd18e23cafd40df0aaaff1b1f5b695c442" - "2.8.116": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.116.zip" - sha256: "2a41e42aaddbcd603b99004af95bb83559dbd4fd2d842920f003d24867599192" - "2.8.115": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.115.zip" - sha256: "6f6813b189d201022254a2879cc8ee005bdb1bcf126bc03238710f19ec4e7268" - "2.8.114": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.114.zip" - sha256: "aa70a999258100c170a3f8750c1f91318a477d440f6a28117f68bc1ded32327f" diff --git a/recipes/gsoap/config.yml b/recipes/gsoap/config.yml index 22f6a1710f735..9a5640854a072 100644 --- a/recipes/gsoap/config.yml +++ b/recipes/gsoap/config.yml @@ -1,11 +1,5 @@ versions: - "2.8.129": - folder: all - "2.8.117": - folder: all - "2.8.116": + "2.8.132": folder: all - "2.8.115": - folder: all - "2.8.114": + "2.8.129": folder: all From a2b94c4247ccd19d8d09af303e677634603e4c2b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 11:09:44 +0200 Subject: [PATCH 3267/4087] (#22010) wasmer: add v4.2.5 * wasmer: add v4.2.5 * wasmer: depend on additional macOS frameworks --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/wasmer/all/conanfile.py | 7 +++++-- recipes/wasmer/config.yml | 2 ++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 8b03fa42930cd..17a89f2c17e7b 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "4.2.5": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-windows-amd64.tar.gz" + sha256: "3811f1637c8f32336aca159e63a0a4e09b3c7f713da3f5a58b0b3326e0ea941c" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-windows-gnu64.tar.gz" + sha256: "8176ae9a3d12d619aa4ef9a56ce6f669af11c4b33a900a73739f8586d3291981" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-linux-amd64.tar.gz" + sha256: "9a21c3a60c2c1f9cdebe91ec56df2d2d753b15d9b7e0be1a67e7a29080ca75f9" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-linux-aarch64.tar.gz" + sha256: "b29117eebce282b63d49de6bb11920da439d68937bd6bc69575fb8f5f29ef293" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-darwin-amd64.tar.gz" + sha256: "77d7baa0e54cbd310c53d93128240a098bf00d787bb7bb9b9661a0a5b09f1779" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-darwin-arm64.tar.gz" + sha256: "0247863cc1546171305d556d69bf7fbad12a170b5a608ff8c9c01480a4af1ee7" "4.2.0": Windows: "x86_64": diff --git a/recipes/wasmer/all/conanfile.py b/recipes/wasmer/all/conanfile.py index 441a5c8738ad6..402e36fdcca0f 100644 --- a/recipes/wasmer/all/conanfile.py +++ b/recipes/wasmer/all/conanfile.py @@ -94,5 +94,8 @@ def package_info(self): self.cpp_info.system_libs.append("rt") elif self.settings.os == "Windows": self.cpp_info.system_libs = ["bcrypt", "userenv", "ws2_32"] - elif is_apple_os(self) and Version(self.version) >= "3.2.0": - self.cpp_info.frameworks = ["Security"] + elif is_apple_os(self): + if Version(self.version) >= "3.2.0": + self.cpp_info.frameworks += ["Security"] + if Version(self.version) >= "4.2.5": + self.cpp_info.frameworks += ["CoreFoundation", "SystemConfiguration"] diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index 1f9b03131e570..4c7ede684889d 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.5": + folder: "all" "4.2.0": folder: "all" "4.1.1": From 9de59b0ebd37e331229693a7959df1851b6591fd Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Sat, 6 Jan 2024 11:19:17 +0200 Subject: [PATCH 3268/4087] (#22018) meshoptimizer: add version 0.20 --- recipes/meshoptimizer/all/conandata.yml | 3 +++ recipes/meshoptimizer/all/conanfile.py | 10 ++++++---- recipes/meshoptimizer/config.yml | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/recipes/meshoptimizer/all/conandata.yml b/recipes/meshoptimizer/all/conandata.yml index 1132907df3841..123647cd81c5f 100644 --- a/recipes/meshoptimizer/all/conandata.yml +++ b/recipes/meshoptimizer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.20": + url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.20.tar.gz" + sha256: "CF1077A83958BED3D8DA28A841CA53A6A42D871E49023EDCE64E37002A0F5A48" "0.17": url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.17.tar.gz" sha256: "50f134da6739702d4398f2a3c614acb1d80afb73afed27ac68bc55c9edae64e2" diff --git a/recipes/meshoptimizer/all/conanfile.py b/recipes/meshoptimizer/all/conanfile.py index 38ff3a5d86908..ee4c17ba67a7c 100644 --- a/recipes/meshoptimizer/all/conanfile.py +++ b/recipes/meshoptimizer/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import stdcpp_library from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.54.0" @@ -50,10 +51,11 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - # No warnings as errors - cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, cmakelists, "add_compile_options(/W4 /WX)", "") - replace_in_file(self, cmakelists, "-Werror", "") + # No warnings as errors - now fine in 0.19 and up + if Version(self.version) < "0.19": + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "add_compile_options(/W4 /WX)", "") + replace_in_file(self, cmakelists, "-Werror", "") def build(self): self._patch_sources() diff --git a/recipes/meshoptimizer/config.yml b/recipes/meshoptimizer/config.yml index 301a8d09f5b3a..31e2badfe4c2f 100644 --- a/recipes/meshoptimizer/config.yml +++ b/recipes/meshoptimizer/config.yml @@ -1,4 +1,6 @@ versions: + "0.20": + folder: all "0.17": folder: all "0.16": From 424abe01db541f277084a4bb82d15a0a8d418671 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 11:48:52 +0200 Subject: [PATCH 3269/4087] (#22024) gsl: add v2.7.1, better URLs --- recipes/gsl/all/conandata.yml | 10 ++++++++-- recipes/gsl/config.yml | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/gsl/all/conandata.yml b/recipes/gsl/all/conandata.yml index ae4c67c1283a1..d61a5f24f34f4 100644 --- a/recipes/gsl/all/conandata.yml +++ b/recipes/gsl/all/conandata.yml @@ -1,11 +1,17 @@ sources: + "2.7.1": + url: "https://ftpmirror.gnu.org/gsl/gsl-2.7.1.tar.gz" + sha256: "dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b" "2.7": - url: "https://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz" + url: "https://ftpmirror.gnu.org/gsl/gsl-2.7.tar.gz" sha256: "efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b" "2.6": - url: "https://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz" + url: "https://ftpmirror.gnu.org/gsl/gsl-2.6.tar.gz" sha256: "b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8" patches: + "2.7.1": + - patch_file: "patches/0001-windows-support.patch" + - patch_file: "patches/0002-export-all-gsl_-symbols.patch" "2.7": - patch_file: "patches/0001-windows-support.patch" - patch_file: "patches/0002-export-all-gsl_-symbols.patch" diff --git a/recipes/gsl/config.yml b/recipes/gsl/config.yml index 15814520e1bfd..6bdfd995018bc 100644 --- a/recipes/gsl/config.yml +++ b/recipes/gsl/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.1": + folder: all "2.7": folder: all "2.6": From e352969a81175f54da63f50b67a04528fe891bdd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 12:09:22 +0200 Subject: [PATCH 3270/4087] (#22026) lcms: add v2.16 * lcms: add v2.16 * lcms: update license file name --- recipes/lcms/all/conandata.yml | 3 +++ recipes/lcms/all/conanfile.py | 4 +++- recipes/lcms/config.yml | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/lcms/all/conandata.yml b/recipes/lcms/all/conandata.yml index 5dfb1d726c592..5887ed1478b6c 100644 --- a/recipes/lcms/all/conandata.yml +++ b/recipes/lcms/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.16": + url: "https://github.com/mm2/Little-CMS/releases/download/lcms2.16/lcms2-2.16.tar.gz" + sha256: "d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51" "2.14": url: "https://github.com/mm2/Little-CMS/releases/download/lcms2.14/lcms2-2.14.tar.gz" sha256: "28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740" diff --git a/recipes/lcms/all/conanfile.py b/recipes/lcms/all/conanfile.py index bc10e97d6f111..42471635a5f47 100644 --- a/recipes/lcms/all/conanfile.py +++ b/recipes/lcms/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import check_min_vs +from conan.tools.scm import Version import os required_conan_version = ">=1.57.0" @@ -70,7 +71,8 @@ def build(self): meson.build() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + license_file = "LICENSE" if Version(self.version) >= "2.16" else "COPYING" + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) meson = Meson(self) meson.install() rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) diff --git a/recipes/lcms/config.yml b/recipes/lcms/config.yml index 8a6c0dd7e6e99..5bef14d0c33a0 100644 --- a/recipes/lcms/config.yml +++ b/recipes/lcms/config.yml @@ -1,4 +1,6 @@ versions: + "2.16": + folder: all "2.14": folder: all "2.13.1": From ae2808e8b6b149beb845d4a4e632b9ed2fe8c8c1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 12:41:00 +0200 Subject: [PATCH 3271/4087] (#22032) libsrtp: add v2.5.0 * libsrtp: add v2.5.0 * libsrtp: rmdir lib/cmake --- recipes/libsrtp/all/conandata.yml | 3 +++ recipes/libsrtp/all/conanfile.py | 20 ++++++++------------ recipes/libsrtp/config.yml | 2 ++ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/recipes/libsrtp/all/conandata.yml b/recipes/libsrtp/all/conandata.yml index b0630ee5a7c2f..d7ca622cbdb82 100644 --- a/recipes/libsrtp/all/conandata.yml +++ b/recipes/libsrtp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/cisco/libsrtp/archive/v2.5.0.tar.gz" + sha256: "8a43ef8e9ae2b665292591af62aa1a4ae41e468b6d98d8258f91478735da4e09" "2.4.2": url: "https://github.com/cisco/libsrtp/archive/v2.4.2.tar.gz" sha256: "3b1bcb14ebda572b04b9bdf07574a449c84cb924905414e4d94e62837d22b628" diff --git a/recipes/libsrtp/all/conanfile.py b/recipes/libsrtp/all/conanfile.py index 3bf9617ba21c6..0ce6d393a93eb 100644 --- a/recipes/libsrtp/all/conanfile.py +++ b/recipes/libsrtp/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, replace_in_file +from conan.tools.files import collect_libs, copy, get, save, rmdir from conan.tools.scm import Version import os @@ -62,18 +62,13 @@ def generate(self): deps = CMakeDeps(self) deps.generate() + def _patch_sources(self): + save(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "\ninstall(TARGETS srtp2 RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)\n", + append=True) + def build(self): - replace_in_file( - self, os.path.join(self.source_folder, "CMakeLists.txt"), - "install(TARGETS srtp2 DESTINATION lib)", - ( - "include(GNUInstallDirs)\n" - "install(TARGETS srtp2\n" - "RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}\n" - "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}\n" - "ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})" - ), - ) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -82,6 +77,7 @@ def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("pkg_config_name", f"libsrtp{Version(self.version).major}") diff --git a/recipes/libsrtp/config.yml b/recipes/libsrtp/config.yml index d17b791c9f454..0abd910fd2126 100644 --- a/recipes/libsrtp/config.yml +++ b/recipes/libsrtp/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.2": folder: all "2.4.0": From 7919bfa38782c26bd8b350b36cda758796a5995f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 12:50:44 +0200 Subject: [PATCH 3272/4087] (#22035) make: add v4.4.1 --- recipes/make/all/conandata.yml | 5 +++++ recipes/make/all/patches/4.4.1-0001-clang.patch | 5 +++++ recipes/make/config.yml | 2 ++ 3 files changed, 12 insertions(+) create mode 100644 recipes/make/all/patches/4.4.1-0001-clang.patch diff --git a/recipes/make/all/conandata.yml b/recipes/make/all/conandata.yml index d11432dff7294..e1b821e38a6db 100644 --- a/recipes/make/all/conandata.yml +++ b/recipes/make/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.1": + url: "http://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz" + sha256: "dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3" "4.4": url: "http://ftpmirror.gnu.org/gnu/make/make-4.4.tar.gz" sha256: "581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18" @@ -9,6 +12,8 @@ sources: url: "http://ftpmirror.gnu.org/gnu/make/make-4.2.1.tar.bz2" sha256: "d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589" patches: + "4.4.1": + - patch_file: "patches/4.4.1-0001-clang.patch" "4.4": - patch_file: "patches/4.3-0001-clang.patch" "4.3": diff --git a/recipes/make/all/patches/4.4.1-0001-clang.patch b/recipes/make/all/patches/4.4.1-0001-clang.patch new file mode 100644 index 0000000000000..3e884bebdc9ef --- /dev/null +++ b/recipes/make/all/patches/4.4.1-0001-clang.patch @@ -0,0 +1,5 @@ +--- lib/glob.c ++++ lib/glob.c +@@ -139,1 +139,1 @@ +-#if !defined __alloca && !defined __GNU_LIBRARY__ ++#if (!defined __alloca && defined __GNU_LIBRARY__ && __linux__) || (!defined __alloca && !defined __GNU_LIBRARY__) diff --git a/recipes/make/config.yml b/recipes/make/config.yml index 34673d1418b17..6c7e54ea2509c 100644 --- a/recipes/make/config.yml +++ b/recipes/make/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.1": + folder: all "4.4": folder: all "4.3": From 50c73974eda00002a1fd0c49e6d4e323010faa19 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 13:09:35 +0200 Subject: [PATCH 3273/4087] (#22056) libmodbus: add v3.1.10 --- recipes/libmodbus/all/conandata.yml | 5 +++++ .../all/patches/3.1.10-0001-msvc-fixes.patch | 20 +++++++++++++++++++ recipes/libmodbus/config.yml | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch diff --git a/recipes/libmodbus/all/conandata.yml b/recipes/libmodbus/all/conandata.yml index 176711066e07f..ed5ad22d14ff2 100644 --- a/recipes/libmodbus/all/conandata.yml +++ b/recipes/libmodbus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.10": + url: "https://github.com/stephane/libmodbus/releases/download/v3.1.10/libmodbus-3.1.10.tar.gz" + sha256: "899be4e25ab7fe5799d43f9567510d6f063d2e8f56136dd726b6fd976f9b2253" "3.1.8": url: "https://github.com/stephane/libmodbus/releases/download/v3.1.8/libmodbus-3.1.8.tar.gz" sha256: "b122f2bc29f749702a22c0a760a7ca2182d541f5fa26bf25e3431f907b606f3c" @@ -6,6 +9,8 @@ sources: url: "https://libmodbus.org/releases/libmodbus-3.1.6.tar.gz" sha256: "d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16" patches: + "3.1.10": + - patch_file: "patches/3.1.10-0001-msvc-fixes.patch" "3.1.8": - patch_file: "patches/3.1.8-0001-msvc-fixes.patch" "3.1.6": diff --git a/recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch b/recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch new file mode 100644 index 0000000000000..876ce8dc08eca --- /dev/null +++ b/recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch @@ -0,0 +1,20 @@ +--- src/Makefile.in ++++ src/Makefile.in +@@ -326,7 +326,7 @@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ +-my_CFLAGS = @my_CFLAGS@ ++my_CFLAGS = + oldincludedir = @oldincludedir@ + pdfdir = @pdfdir@ + prefix = @prefix@ +--- src/modbus-private.h ++++ src/modbus-private.h +@@ -14,5 +14,5 @@ + #else + # include "stdint.h" + # include +-typedef int ssize_t; ++//typedef int ssize_t; + #endif diff --git a/recipes/libmodbus/config.yml b/recipes/libmodbus/config.yml index 49c098a9b7d41..98dbf2345aa1e 100644 --- a/recipes/libmodbus/config.yml +++ b/recipes/libmodbus/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.10": + folder: all "3.1.8": folder: all "3.1.6": From 655fefed56c4d046cbd3d9180eada11a2cd10e1d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 13:29:11 +0200 Subject: [PATCH 3274/4087] (#22058) maven: add v3.9.6, bump JDK --- recipes/maven/all/conandata.yml | 5 +++++ recipes/maven/all/conanfile.py | 2 +- recipes/maven/config.yml | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/maven/all/conandata.yml b/recipes/maven/all/conandata.yml index a0978eddc0d68..f03488696f01d 100644 --- a/recipes/maven/all/conandata.yml +++ b/recipes/maven/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "3.9.6": + url: + - "https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz" + - "https://archive.apache.org/dist/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz" + sha256: "6eedd2cae3626d6ad3a5c9ee324bd265853d64297f07f033430755bd0e0c3a4b" "3.9.4": url: - "https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz" diff --git a/recipes/maven/all/conanfile.py b/recipes/maven/all/conanfile.py index 31d963f2df4c1..4a59f21e6ca9c 100644 --- a/recipes/maven/all/conanfile.py +++ b/recipes/maven/all/conanfile.py @@ -18,7 +18,7 @@ def layout(self): pass def requirements(self): - self.requires("zulu-openjdk/11.0.19") + self.requires("zulu-openjdk/21.0.1") def package_id(self): del self.info.settings.arch diff --git a/recipes/maven/config.yml b/recipes/maven/config.yml index 95a41cd441c27..8e2950a3cb156 100644 --- a/recipes/maven/config.yml +++ b/recipes/maven/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.6": + folder: all "3.9.4": folder: all "3.9.2": From ae7d62362fea919a299ed7d09751268c7bca2500 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 13:50:18 +0200 Subject: [PATCH 3275/4087] (#22059) nv-codec-headers: add v12.1.14.0 --- recipes/nv-codec-headers/all/conandata.yml | 7 +++++-- recipes/nv-codec-headers/all/conanfile.py | 2 +- recipes/nv-codec-headers/config.yml | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/nv-codec-headers/all/conandata.yml b/recipes/nv-codec-headers/all/conandata.yml index df731f0997f31..482c89e58c766 100644 --- a/recipes/nv-codec-headers/all/conandata.yml +++ b/recipes/nv-codec-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.1.14.0": + url: "https://github.com/FFmpeg/nv-codec-headers/archive/n12.1.14.0.tar.gz" + sha256: "2fefaa227d2a3b4170797796425a59d1dd2ed5fd231db9b4244468ba327acd0b" "12.0.16.0": url: "https://github.com/FFmpeg/nv-codec-headers/archive/n12.0.16.0.tar.gz" sha256: "2a1533b65f55f9da52956faf0627ed3b74868ac0c7f269990edd21369113b48f" @@ -6,5 +9,5 @@ sources: url: "https://github.com/FFmpeg/nv-codec-headers/archive/n11.1.5.1.tar.gz" sha256: "d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c" "9.1.23.2": - url: https://github.com/FFmpeg/nv-codec-headers/releases/download/n9.1.23.2/nv-codec-headers-9.1.23.2.tar.gz - sha256: 34c9d1aedf32dc4b9fb22e94dbb041de666b568ceb4bdb317e414b752a3f9a9a + url: "https://github.com/FFmpeg/nv-codec-headers/releases/download/n9.1.23.2/nv-codec-headers-9.1.23.2.tar.gz" + sha256: "34c9d1aedf32dc4b9fb22e94dbb041de666b568ceb4bdb317e414b752a3f9a9a" diff --git a/recipes/nv-codec-headers/all/conanfile.py b/recipes/nv-codec-headers/all/conanfile.py index b85d4da96e184..f21dc25aa7ca9 100644 --- a/recipes/nv-codec-headers/all/conanfile.py +++ b/recipes/nv-codec-headers/all/conanfile.py @@ -33,7 +33,7 @@ def package_id(self): def build_requirements(self): if self._settings_build.os == "Windows": if "CONAN_MAKE_PROGRAM" not in os.environ: - self.build_requires("make/4.2.1") + self.build_requires("make/4.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/nv-codec-headers/config.yml b/recipes/nv-codec-headers/config.yml index 018eb4087b892..21a0b445119b1 100644 --- a/recipes/nv-codec-headers/config.yml +++ b/recipes/nv-codec-headers/config.yml @@ -1,4 +1,6 @@ versions: + "12.1.14.0": + folder: all "12.0.16.0": folder: all "11.1.5.1": From 83b8971e5ff4a6e530b708f6501bad6c39b52d44 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 6 Jan 2024 13:00:32 +0100 Subject: [PATCH 3276/4087] (#22101) taocpp-taopq/cci.20231219: don't build tests (same as previous version) as they may fail due to Werror MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix cmake option names in cci.20231219 * simplify version comparison --------- Co-authored-by: Rubén Rincón Blanco --- recipes/taocpp-taopq/all/conanfile.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/taocpp-taopq/all/conanfile.py b/recipes/taocpp-taopq/all/conanfile.py index 9fd79f18379e3..e186bb806ba1b 100644 --- a/recipes/taocpp-taopq/all/conanfile.py +++ b/recipes/taocpp-taopq/all/conanfile.py @@ -70,8 +70,13 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["TAOPQ_BUILD_TESTS"] = False - tc.variables["TAOPQ_INSTALL_DOC_DIR"] = "licenses" + # Option names changed in https://github.com/taocpp/taopq/commit/d77896ab80369f13512a7f0ba8af818a03de1cdf + if Version(self.version) < "cci.20211017": + tc.variables["TAOPQ_BUILD_TESTS"] = False + tc.variables["TAOPQ_INSTALL_DOC_DIR"] = "licenses" + else: + tc.variables["taopq_BUILD_TESTS"] = False + tc.variables["taopq_INSTALL_DOC_DIR"] = "licenses" tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() deps = CMakeDeps(self) From 2f3371226e60489e92ec4f3c9205e14e6c29b30f Mon Sep 17 00:00:00 2001 From: Thomas Sondergaard Date: Sat, 6 Jan 2024 13:10:24 +0100 Subject: [PATCH 3277/4087] (#22135) xorg: clear bindirs, includedirs, libdirs This is also done in e.g. opengl/system and egl/system. The package itself doesn't actually ship any libraries and headers. --- recipes/xorg/all/conanfile.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index b43c73d5d9c1a..423aec281a1c2 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -1,4 +1,4 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.tools.gnu import PkgConfig from conan.tools.system import package_manager from conan.errors import ConanInvalidConfiguration @@ -72,6 +72,11 @@ def system_requirements(self): "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "xcb-util-cursor"], update=True, check=True) def package_info(self): + if conan_version.major >= 2: + self.cpp_info.bindirs = [] + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + for name in ["x11", "x11-xcb", "fontenc", "ice", "sm", "xau", "xaw7", "xcomposite", "xcursor", "xdamage", "xdmcp", "xext", "xfixes", "xi", "xinerama", "xkbfile", "xmu", "xmuu", "xpm", "xrandr", "xrender", "xres", @@ -88,6 +93,9 @@ def package_info(self): "pkg_config_name", name) self.cpp_info.components[name].set_property( "component_version", pkg_config.version) + self.cpp_info.components[name].bindirs = [] + self.cpp_info.components[name].includedirs = [] + self.cpp_info.components[name].libdirs = [] self.cpp_info.components[name].set_property("pkg_config_custom_content", "\n".join(f"{key}={value}" for key, value in pkg_config.variables.items() if key not in ["pcfiledir","prefix", "includedir"])) From 5421fa3bcc186d5a601457f14938dde6028b198a Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 21:29:59 +0900 Subject: [PATCH 3278/4087] (#22142) nng: add version 1.7.0, update mbedtls/3.5.1 * nng: add version 1.7.0, update mbedtls/3.5.1 * link rt, nsl --- recipes/nng/all/conandata.yml | 3 +++ recipes/nng/all/conanfile.py | 12 ++++++++++-- recipes/nng/config.yml | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index 821ab71934ba1..de439e94ad624 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.0.tar.gz" + sha256: "668325161637a0debcf7fb4340919b81e74b66d38bc7a663e8b55b7e0abd7f57" "1.6.0": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.6.0.tar.gz" sha256: "f639e77911ef935a13e9779d4a18d45490433ba744f89752a15b84c929ce2725" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 184a8d520a4c2..418a70d42be1f 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -25,6 +25,7 @@ class NngConan(ConanFile): "tls": [True, False], "max_taskq_threads": ["ANY"], "max_expire_threads": ["ANY"], + "max_poller_threads": ["ANY"], } default_options = { "shared": False, @@ -34,6 +35,7 @@ class NngConan(ConanFile): "tls": False, "max_taskq_threads": "16", "max_expire_threads": "8", + "max_poller_threads": "8", } def export_sources(self): @@ -44,6 +46,8 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "1.6.0": del self.options.max_expire_threads + if Version(self.version) < "1.7.0": + del self.options.max_poller_threads def configure(self): if self.options.shared: @@ -59,7 +63,7 @@ def requirements(self): if Version(self.version) < "1.5.2": self.requires("mbedtls/2.25.0") else: - self.requires("mbedtls/3.5.0") + self.requires("mbedtls/3.5.1") def validate(self): compiler_minimum_version = { @@ -75,6 +79,8 @@ def validate(self): raise ConanInvalidConfiguration("max_taskq_threads must be an integral number") if "max_expire_threads" in self.options and not self.options.max_expire_threads.value.isdigit(): raise ConanInvalidConfiguration("max_expire_threads must be an integral number") + if "max_poller_threads" in self.options and not self.options.max_poller_threads.value.isdigit(): + raise ConanInvalidConfiguration("max_poller_threads must be an integral number") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -88,6 +94,8 @@ def generate(self): tc.variables["NNG_MAX_TASKQ_THREADS"] = self.options.max_taskq_threads if "max_expire_threads" in self.options: tc.variables["NNG_MAX_EXPIRE_THREADS"] = self.options.max_expire_threads + if "max_poller_threads" in self.options: + tc.variables["NNG_MAX_POLLER_THREADS"] = self.options.max_poller_threads tc.generate() def build(self): @@ -110,7 +118,7 @@ def package_info(self): if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.system_libs.extend(["mswsock", "ws2_32"]) elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.extend(["pthread"]) + self.cpp_info.system_libs.extend(["pthread", "rt", "nsl"]) if self.options.shared: self.cpp_info.defines.append("NNG_SHARED_LIB") diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index 07341cd03187d..ec5073d25aa5c 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.0": folder: all "1.5.2": From 0ec7a357d355ce00144a7a8dee14b52cbe90f000 Mon Sep 17 00:00:00 2001 From: Inujel Date: Sat, 6 Jan 2024 13:59:22 +0100 Subject: [PATCH 3279/4087] (#22144) Remove prints from msys2 test recipes --- recipes/msys2/all/test_package/conanfile.py | 1 - recipes/msys2/all/test_v1_package/conanfile.py | 1 - 2 files changed, 2 deletions(-) diff --git a/recipes/msys2/all/test_package/conanfile.py b/recipes/msys2/all/test_package/conanfile.py index fa7d81b8ee739..e9550182abfe7 100644 --- a/recipes/msys2/all/test_package/conanfile.py +++ b/recipes/msys2/all/test_package/conanfile.py @@ -31,5 +31,4 @@ def test(self): output = StringIO() self.run('bash.exe -c "echo $PKG_CONFIG_PATH"', output) - print(output.getvalue()) assert self._secret_value in output.getvalue() diff --git a/recipes/msys2/all/test_v1_package/conanfile.py b/recipes/msys2/all/test_v1_package/conanfile.py index 9278b74eeb27b..97f1e665d30ac 100644 --- a/recipes/msys2/all/test_v1_package/conanfile.py +++ b/recipes/msys2/all/test_v1_package/conanfile.py @@ -25,5 +25,4 @@ def test(self): with tools.environment_append({"PKG_CONFIG_PATH": secret_value}): output = StringIO() self.run('bash.exe -c "echo $PKG_CONFIG_PATH"', output=output) - print(output.getvalue()) assert secret_value in output.getvalue() From a827371218712ef7d4a0eb1b4f105fa59d145b07 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 22:09:42 +0900 Subject: [PATCH 3280/4087] (#22175) luau: add version 0.607 --- recipes/luau/all/conandata.yml | 3 +++ recipes/luau/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index 6f3f5ad765cc1..6eb7d47405bd9 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.607": + url: "https://github.com/Roblox/luau/archive/0.607.tar.gz" + sha256: "519409d7dbb43da13390131a90c831cb0f2ab9c25e337acf15508313a339bf36" "0.603": url: "https://github.com/Roblox/luau/archive/0.603.tar.gz" sha256: "97687486b0ffe8d7a4917e13648a9776ee015ca9e1c10b6da169caec6ca5b427" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 80fe8362a792c..7e52185e25e09 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.607": + folder: all "0.603": folder: all "0.598": From dba990329c04ef44aee860d45b1b361c4f15a4c2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 22:19:38 +0900 Subject: [PATCH 3281/4087] (#22176) kuba-zip: add version 0.3.1 --- recipes/kuba-zip/all/conandata.yml | 3 +++ recipes/kuba-zip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kuba-zip/all/conandata.yml b/recipes/kuba-zip/all/conandata.yml index a1cc22f7f211a..707848aa88e1e 100644 --- a/recipes/kuba-zip/all/conandata.yml +++ b/recipes/kuba-zip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.1": + url: "https://github.com/kuba--/zip/archive/v0.3.1.tar.gz" + sha256: "775b8a44b53e72a55c13839bf507219c2cf30b26f62e70f1a20bb727db54438f" "0.3.0": url: "https://github.com/kuba--/zip/archive/v0.3.0.tar.gz" sha256: "feb70ae0fe5948b805635b3cc2f3b7f074662c481981857bc6b5896a4343fe5e" diff --git a/recipes/kuba-zip/config.yml b/recipes/kuba-zip/config.yml index 12742f0517b7f..ab67eaba39ebb 100644 --- a/recipes/kuba-zip/config.yml +++ b/recipes/kuba-zip/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.1": + folder: "all" "0.3.0": folder: "all" "0.2.6": From f2561ba56ffc3d38a173e60c02f2e94347d67015 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 22:39:14 +0900 Subject: [PATCH 3282/4087] (#22177) toml11: add version 3.8.0 --- recipes/toml11/all/conandata.yml | 3 +++ recipes/toml11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index 473d7afa5e2db..f17e5e0f8117a 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.0": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.0.tar.gz" + sha256: "36ce64b09f9151b57ba1970f12a591006fcae17b751ba011314c1f5518e77bc7" "3.7.1": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.7.1.tar.gz" sha256: "afeaa9aa0416d4b6b2cd3897ca55d9317084103077b32a852247d8efd4cf6068" diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index 2a3893e072fff..c4cf097c48cb6 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.0": + folder: all "3.7.1": folder: all "3.7.0": From 91e65f9c6b56c73dcc4e2b29e42472f4699f826e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 23:32:45 +0900 Subject: [PATCH 3283/4087] (#21743) drogon: add version 1.9.1, update trantor --- recipes/drogon/all/conandata.yml | 10 ++++++++++ recipes/drogon/all/conanfile.py | 2 +- recipes/drogon/config.yml | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index 32fb63a308bd7..746215039912d 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/drogonframework/drogon/archive/v1.9.1.tar.gz" + sha256: "0f8bab22e02681d05787c88cbef5d04b105f6644ebf7cf29898d0a52ebe959e4" "1.9.0": url: "https://github.com/drogonframework/drogon/archive/v1.9.0.tar.gz" sha256: "35793c1b64c32ebbea5a6cb3b1c22bcd0820e948674ecba92022ec05b41c848b" @@ -27,6 +30,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "1.9.1": + - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" + patch_description: "remove shared libs option" + patch_type: "conan" + - patch_file: "patches/1.9.0-0002-find-cci-packages.patch" + patch_description: "Fix jsoncpp cmake target name" + patch_type: "conan" "1.9.0": - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" patch_description: "remove shared libs option" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 44120c268dd5c..89a3a646123b9 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -110,7 +110,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") def requirements(self): - self.requires("trantor/1.5.14", transitive_headers=True, transitive_libs=True) + self.requires("trantor/1.5.15", transitive_headers=True, transitive_libs=True) self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]") self.requires("zlib/[>=1.2.11 <2]") diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index fb2e690403f06..82e0951737eeb 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: "all" "1.9.0": folder: "all" "1.8.7": From f6b0b10d42db18ebc486c6ba3c0cc611676a2976 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Sat, 6 Jan 2024 15:42:23 +0100 Subject: [PATCH 3284/4087] (#21759) cpuinfo: Add cci.20231129 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/cpuinfo/all/conandata.yml | 3 +++ recipes/cpuinfo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpuinfo/all/conandata.yml b/recipes/cpuinfo/all/conandata.yml index 56ce9c275f3d9..5d3ebdc36307e 100644 --- a/recipes/cpuinfo/all/conandata.yml +++ b/recipes/cpuinfo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231129": + url: "https://github.com/pytorch/cpuinfo/archive/9d809924011af8ff49dadbda1499dc5193f1659c.tar.gz" + sha256: "0d769b7e3cc7d16205f4cc8988f869910db19f2d274db005c1ed74e961936d34" "cci.20230118": url: "https://github.com/pytorch/cpuinfo/archive/3dc310302210c1891ffcfb12ae67b11a3ad3a150.tar.gz" sha256: "f2f4df6d2b01036f36c5e372954e536881cdd59f5c2461c67aa0a92c6d755c61" diff --git a/recipes/cpuinfo/config.yml b/recipes/cpuinfo/config.yml index 8e98d8506c888..a71ccd412f08d 100644 --- a/recipes/cpuinfo/config.yml +++ b/recipes/cpuinfo/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231129": + folder: all "cci.20230118": folder: all "cci.20220618": From 5da1d0537278366cbcda0bc610ca8445a8a51e24 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 23:58:12 +0900 Subject: [PATCH 3285/4087] (#21819) fltk: add version 1.3.9, update libxft * fltk: add version 1.3.9, update libxft * add variables to use cci packages --- recipes/fltk/all/conandata.yml | 6 ++++++ recipes/fltk/all/conanfile.py | 6 +++++- recipes/fltk/config.yml | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/fltk/all/conandata.yml b/recipes/fltk/all/conandata.yml index 0f349ed128921..680f83f1fe74a 100644 --- a/recipes/fltk/all/conandata.yml +++ b/recipes/fltk/all/conandata.yml @@ -1,9 +1,15 @@ sources: + "1.3.9": + url: "https://github.com/fltk/fltk/archive/refs/tags/release-1.3.9.tar.gz" + sha256: "f30661851a61f1931eaaceb9ef4005584c85cb07fd7ffc38a645172b8e4eb3df" "1.3.8": url: "https://github.com/fltk/fltk/archive/refs/tags/release-1.3.8.tar.gz" sha256: "abddf697bf1b0a59462a0d2ec57557f4bfb9c634627e6fa50d8c664112642811" patches: + "1.3.9": + - patch_file: "patches/1.3.8-0001-remove-fluid.patch" + - patch_file: "patches/1.3.8-0003-build-static-only-on-static.patch" "1.3.8": - patch_file: "patches/1.3.8-0001-remove-fluid.patch" - patch_file: "patches/1.3.8-0002-fix-resources.patch" diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 4b4a216b2a0e2..98a5fa5237529 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -76,7 +76,7 @@ def requirements(self): self.requires("fontconfig/2.14.2") self.requires("xorg/system") if self.options.with_xft: - self.requires("libxft/2.3.6") + self.requires("libxft/2.3.8") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -93,6 +93,10 @@ def generate(self): tc.variables["OPTION_USE_XFT"] = self.options.with_xft if self.options.abi_version: tc.variables["OPTION_ABI_VERSION"] = self.options.abi_version + tc.variables["OPTION_USE_SYSTEM_LIBJPEG"] = True + tc.variables["OPTION_USE_SYSTEM_ZLIB"] = True + tc.variables["OPTION_USE_SYSTEM_LIBPNG"] = True + tc.generate() tc = CMakeDeps(self) tc.generate() diff --git a/recipes/fltk/config.yml b/recipes/fltk/config.yml index 76eba86fa7f6d..358eb3f39989f 100644 --- a/recipes/fltk/config.yml +++ b/recipes/fltk/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.9": + folder: "all" "1.3.8": folder: "all" From 489890baa3a5ba986bbd22a5df3007f23c3a0232 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 17:18:20 +0200 Subject: [PATCH 3286/4087] (#21862) vcglib: add v2023.12 --- recipes/vcglib/all/CMakeLists.txt | 4 ++-- recipes/vcglib/all/conandata.yml | 5 +++++ recipes/vcglib/config.yml | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/vcglib/all/CMakeLists.txt b/recipes/vcglib/all/CMakeLists.txt index 503836eca235b..bea5e105e4ff6 100644 --- a/recipes/vcglib/all/CMakeLists.txt +++ b/recipes/vcglib/all/CMakeLists.txt @@ -16,8 +16,8 @@ install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(DIRECTORY "${VCGLIB_SRC_DIR}/vcg" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h" PATTERN "*.ipp") install(DIRECTORY "${VCGLIB_SRC_DIR}/wrap" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") install(DIRECTORY "${VCGLIB_SRC_DIR}/img" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") diff --git a/recipes/vcglib/all/conandata.yml b/recipes/vcglib/all/conandata.yml index d8dc31a26ed34..f9800a56a86d4 100644 --- a/recipes/vcglib/all/conandata.yml +++ b/recipes/vcglib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12": + url: "https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/2023.12.tar.gz" + sha256: "5a84db6d596be1cb4abdc450d130dc8e2224a4c7b4198b60cd9ac55f45ac5c7b" "2022.02": url: "https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/2022.02.tar.gz" sha256: "724f5ef6ab9b9d21ff2e9e965c2ce909cc024b29f2aa7d39e2974b28ff25bc3f" @@ -6,6 +9,8 @@ sources: url: "https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/2020.12.tar.gz" sha256: "731c57435e39c4b958a1d766cadd9865d9db35e36410708f2da7818e9fa5f786" patches: + "2023.12": + - patch_file: "patches/0001-use-external-eigen.patch" "2022.02": - patch_file: "patches/0001-use-external-eigen.patch" "2020.12": diff --git a/recipes/vcglib/config.yml b/recipes/vcglib/config.yml index 8fa4c473789d6..0faefee3a8749 100644 --- a/recipes/vcglib/config.yml +++ b/recipes/vcglib/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12": + folder: all "2022.02": folder: all "2020.12": From ae142f51fa3e21c78ad19490d4ecce9a88875831 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 00:47:45 +0900 Subject: [PATCH 3287/4087] (#21679) hwdata: add version 0.377-2 * hwdata: add version 0.377-2 * update 0.378 --- recipes/hwdata/all/conandata.yml | 3 +++ recipes/hwdata/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hwdata/all/conandata.yml b/recipes/hwdata/all/conandata.yml index 8654aa367ec46..b5373423e2800 100644 --- a/recipes/hwdata/all/conandata.yml +++ b/recipes/hwdata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.378": + url: "https://github.com/vcrhonek/hwdata/archive/v0.378.tar.gz" + sha256: "098ea8db12a50290f4b23f7f521edf9c5bab25935d2740de17e4a487110b40c8" "0.376": url: "https://github.com/vcrhonek/hwdata/archive/v0.376.tar.gz" sha256: "48d85dbf05650b2c382ffaadeb601cac1650f5a34ee5c452df8021af988ea090" diff --git a/recipes/hwdata/config.yml b/recipes/hwdata/config.yml index daf8b29da7dde..edc1993064ac3 100644 --- a/recipes/hwdata/config.yml +++ b/recipes/hwdata/config.yml @@ -1,4 +1,6 @@ versions: + "0.378": + folder: all "0.376": folder: all "0.374": From e7f48bbcc0a6db1f92e5fb0db04565dcc65c42c3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 18:08:46 +0200 Subject: [PATCH 3288/4087] (#21915) drwav: add v0.13.14 * drwav: add v0.13.14 * drwav: fix URL --- recipes/drwav/all/conandata.yml | 11 ++++++----- recipes/drwav/all/conanfile.py | 2 +- recipes/drwav/config.yml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/drwav/all/conandata.yml b/recipes/drwav/all/conandata.yml index cfc31466349bc..7757121179bae 100644 --- a/recipes/drwav/all/conandata.yml +++ b/recipes/drwav/all/conandata.yml @@ -1,13 +1,14 @@ sources: # NOTE: https://github.com/mackron/dr_libs/blob/d35a3bc5efd02455d98cbe12b94647136f09b42d/dr_wav.h#L3 + "0.13.14": + url: "https://github.com/mackron/dr_libs/archive/a4b73d3d423e1cea0652b76d0806e7620337a40f.zip" + sha256: "89729a85f092a81eb6e646c1580525c7738c4780bc59890c908b9582e8e9312b" "0.13.12": - url: https://github.com/mackron/dr_libs/archive/d35a3bc5efd02455d98cbe12b94647136f09b42d.zip + url: "https://github.com/mackron/dr_libs/archive/d35a3bc5efd02455d98cbe12b94647136f09b42d.zip" sha256: "4886462b8ed26f12b8bceccb80f1447075ed5e73240089f2a78e0c32b444b370" - # NOTE: https://github.com/mackron/dr_libs/blob/4f6da71ed357ade92dc91f00e6be7301ec9a82a3/dr_wav.h#L3 "0.13.7": - url: https://github.com/mackron/dr_libs/archive/4f6da71ed357ade92dc91f00e6be7301ec9a82a3.zip + url: "https://github.com/mackron/dr_libs/archive/4f6da71ed357ade92dc91f00e6be7301ec9a82a3.zip" sha256: "0a77850ca558633e0516a68383481fb36823064256f2c50911056714420bc5b1" - # NOTE: https://github.com/mackron/dr_libs/blob/15f37e3ab01654c1a3bc98cff2a9ca64e8296fa9/dr_wav.h#L3 "0.13.6": - url: https://github.com/mackron/dr_libs/archive/15f37e3ab01654c1a3bc98cff2a9ca64e8296fa9.zip + url: "https://github.com/mackron/dr_libs/archive/15f37e3ab01654c1a3bc98cff2a9ca64e8296fa9.zip" sha256: "39ea8c1f9b60a945735dfe4a2e0a2a6bd3bc921619fa7d2612dbc284b68c2419" diff --git a/recipes/drwav/all/conanfile.py b/recipes/drwav/all/conanfile.py index 893c882ec028c..29de2c8e01806 100644 --- a/recipes/drwav/all/conanfile.py +++ b/recipes/drwav/all/conanfile.py @@ -9,7 +9,7 @@ class DrwavConan(ConanFile): name = "drwav" description = "WAV audio loader and writer." - homepage = "https://mackron.github.io/dr_wav" + homepage = "https://github.com/mackron/dr_libs" topics = ("audio", "wav", "wave", "sound") license = ("Unlicense", "MIT-0") url = "https://github.com/conan-io/conan-center-index" diff --git a/recipes/drwav/config.yml b/recipes/drwav/config.yml index b1c16872231f4..35331ff9db236 100644 --- a/recipes/drwav/config.yml +++ b/recipes/drwav/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.14": + folder: all "0.13.12": folder: all "0.13.7": From b5d67d4871a34d3b659fbdd9cdda9cae4443a2e6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 18:38:09 +0200 Subject: [PATCH 3289/4087] (#21641) iceoryx: add version 2.0.5 * iceoryx: add v2.0.5, drop v2.0.2 * iceoryx: make fPIC patching more explicit --- recipes/iceoryx/all/conandata.yml | 6 +++--- recipes/iceoryx/all/conanfile.py | 31 ++++++++++++++++++++++++++----- recipes/iceoryx/config.yml | 4 ++-- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/recipes/iceoryx/all/conandata.yml b/recipes/iceoryx/all/conandata.yml index 15956d577d86b..478d85f83e606 100644 --- a/recipes/iceoryx/all/conandata.yml +++ b/recipes/iceoryx/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "2.0.5": + url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.5.tar.gz" + sha256: "bf6de70e3edee71223f993a29bff5e61af95ce4871104929d8bd1729f544bafb" "2.0.3": url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.3.tar.gz" sha256: "8f391696daf2e63da9437aab8d7154371df630fc93876479f2e84c693fc1ba5a" - "2.0.2": - url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.2.tar.gz" - sha256: "99871BCAA8DA4361D1BAAE9CF1507683058DE8572AC3080EDC41E590FFBA06C0" "1.0.3": url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v1.0.3.tar.gz" sha256: "566b7766fb1fabb48d1ca979f7a31082422d6aa5af014a56c1a6b605c60e33f0" diff --git a/recipes/iceoryx/all/conanfile.py b/recipes/iceoryx/all/conanfile.py index abf2fb7016360..30d23ca370fb4 100644 --- a/recipes/iceoryx/all/conanfile.py +++ b/recipes/iceoryx/all/conanfile.py @@ -107,11 +107,32 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - for cmake_file in self.source_path.rglob("CMakeLists.txt"): - # Honor fPIC option - replace_in_file(self, cmake_file, "POSITION_INDEPENDENT_CODE ON", "", strict=False) - # Use acl::acl target, since acl fails to link - replace_in_file(self, cmake_file, " acl", " acl::acl", strict=False) + if Version(self.version) >= "2.0.0": + hoofs_dir = os.path.join(self.source_folder, "iceoryx_hoofs") + else: + hoofs_dir = os.path.join(self.source_folder, "iceoryx_utils") + + # Use acl::acl target, since plain acl fails to link + replace_in_file(self, os.path.join(hoofs_dir, "CMakeLists.txt"), " acl", " acl::acl") + + # Honor fPIC option + if Version(self.version) >= "2.90": + replace_in_file(self, os.path.join(self.source_folder, "iceoryx_hoofs", "cmake", "IceoryxPackageHelper.cmake"), + "set_target_properties( ${IOX_TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON )", "") + else: + cmakelists_list = [ + os.path.join(self.source_folder, "iceoryx_dds", "CMakeLists.txt"), + os.path.join(self.source_folder, "iceoryx_posh", "CMakeLists.txt"), + os.path.join(self.source_folder, "tools", "introspection", "CMakeLists.txt"), + os.path.join(hoofs_dir, "CMakeLists.txt"), + ] + if Version(self.version) >= "2.0.0": + cmakelists_list += [ + os.path.join(self.source_folder, "iceoryx_binding_c", "CMakeLists.txt"), + os.path.join(hoofs_dir, "platform", "CMakeLists.txt"), + ] + for cmakelists in cmakelists_list: + replace_in_file(self, cmakelists, "POSITION_INDEPENDENT_CODE ON", "") def build(self): self._patch_sources() diff --git a/recipes/iceoryx/config.yml b/recipes/iceoryx/config.yml index 741dce8e70313..8a33c3c252222 100644 --- a/recipes/iceoryx/config.yml +++ b/recipes/iceoryx/config.yml @@ -1,7 +1,7 @@ versions: - "2.0.3": + "2.0.5": folder: all - "2.0.2": + "2.0.3": folder: all "1.0.3": folder: all From 8b8016c8fd1aa7c6f6708d947ce0a6d242a74293 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 18:59:07 +0200 Subject: [PATCH 3290/4087] (#21853) ls-qpack: add v2.5.4, simplify patching * ls-qpack: add v2.5.4, simplify patching * ls-qpack: make linter happy --- recipes/ls-qpack/all/CMakeLists.txt | 16 +++++++++++++ recipes/ls-qpack/all/conandata.yml | 13 ++++++----- recipes/ls-qpack/all/conanfile.py | 3 ++- .../patches/2.5.1-0001-use-cci-package.patch | 11 +++------ .../patches/2.5.1-0002-add-installer.patch | 23 ------------------- .../patches/2.5.3-0002-add-installer.patch | 23 ------------------- recipes/ls-qpack/config.yml | 2 ++ 7 files changed, 30 insertions(+), 61 deletions(-) create mode 100644 recipes/ls-qpack/all/CMakeLists.txt delete mode 100644 recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch delete mode 100644 recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch diff --git a/recipes/ls-qpack/all/CMakeLists.txt b/recipes/ls-qpack/all/CMakeLists.txt new file mode 100644 index 0000000000000..6db820d134e2e --- /dev/null +++ b/recipes/ls-qpack/all/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper) + +add_subdirectory(src) + +install( + TARGETS ls-qpack + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) +install(FILES src/lsqpack.h DESTINATION include) + +if(WIN32) + install(DIRECTORY src/wincompat DESTINATION include) +endif() diff --git a/recipes/ls-qpack/all/conandata.yml b/recipes/ls-qpack/all/conandata.yml index ac7d7d333e78b..e0937f2a8bc1f 100644 --- a/recipes/ls-qpack/all/conandata.yml +++ b/recipes/ls-qpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.4": + url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.4.tar.gz" + sha256: "56b96190a1943d75ef8d384b13cd4592a72e3e2d84284f78d7f8adabbc717f3e" "2.5.3": url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.3.tar.gz" sha256: "075a05efee27961eac5ac92a12a6e28a61bcd6c122a0276938ef993338577337" @@ -6,17 +9,15 @@ sources: url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.1.tar.gz" sha256: "dae1c159afc8541d51c12f5ad78209fe092815d37cb621b5ee46a9db049a283f" patches: - "2.5.3": + "2.5.4": - patch_file: "patches/2.5.1-0001-use-cci-package.patch" patch_description: "use cci packages" patch_type: "conan" - - patch_file: "patches/2.5.3-0002-add-installer.patch" - patch_description: "add installer" + "2.5.3": + - patch_file: "patches/2.5.1-0001-use-cci-package.patch" + patch_description: "use cci packages" patch_type: "conan" "2.5.1": - patch_file: "patches/2.5.1-0001-use-cci-package.patch" patch_description: "use cci packages" patch_type: "conan" - - patch_file: "patches/2.5.1-0002-add-installer.patch" - patch_description: "add installer" - patch_type: "conan" diff --git a/recipes/ls-qpack/all/conanfile.py b/recipes/ls-qpack/all/conanfile.py index 89421636cbe72..d1d1a2870f42b 100644 --- a/recipes/ls-qpack/all/conanfile.py +++ b/recipes/ls-qpack/all/conanfile.py @@ -26,6 +26,7 @@ class LsQpackConan(ConanFile): def export_sources(self): export_conandata_patches(self) + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -61,7 +62,7 @@ def generate(self): def build(self): apply_conandata_patches(self) cmake = CMake(self) - cmake.configure() + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): diff --git a/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch b/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch index 48af51a011e2d..4dd248246392c 100644 --- a/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch +++ b/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch @@ -1,8 +1,6 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d9d9aa3..826e99b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,9 +20,10 @@ add_library(ls-qpack "") +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -20,7 +20,7 @@ add_library(ls-qpack "") target_include_directories(ls-qpack PUBLIC .) target_sources(ls-qpack PRIVATE lsqpack.c) @@ -10,8 +8,5 @@ index d9d9aa3..826e99b 100644 if(LSQPACK_XXH) + find_package(xxHash REQUIRED CONFIG) - target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) -+ # target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) + target_link_libraries(ls-qpack PUBLIC xxHash::xxhash) endif() - - if(MSVC) diff --git a/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch b/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch deleted file mode 100644 index 1acf784e4597a..0000000000000 --- a/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt -index 670ea97..f2dd257 100644 ---- a/a/CMakeLists.txt -+++ b/b/CMakeLists.txt -@@ -100,3 +100,18 @@ endif() - if(LSQPACK_BIN) - add_subdirectory(bin) - endif() -+ -+include(GNUInstallDirs) -+ -+install( -+ TARGETS ls-qpack -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) -+ -+install(FILES lsqpack.h DESTINATION include) -+ -+if(WIN32) -+ install(DIRECTORY wincompat DESTINATION include) -+endif() diff --git a/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch b/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch deleted file mode 100644 index bc34f0724108a..0000000000000 --- a/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7f7cd40..70e8fa8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -102,3 +102,18 @@ endif() - if(LSQPACK_BIN) - add_subdirectory(bin) - endif() -+ -+include(GNUInstallDirs) -+ -+install( -+ TARGETS ls-qpack -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) -+ -+install(FILES lsqpack.h DESTINATION include) -+ -+if(WIN32) -+ install(DIRECTORY wincompat DESTINATION include) -+endif() diff --git a/recipes/ls-qpack/config.yml b/recipes/ls-qpack/config.yml index cbd3f0133afbb..7b62b895ae661 100644 --- a/recipes/ls-qpack/config.yml +++ b/recipes/ls-qpack/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.4": + folder: all "2.5.3": folder: all "2.5.1": From 6bdf8fe2a5b6306cab27edb72b413dd7cccbceae Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 19:18:29 +0200 Subject: [PATCH 3291/4087] (#21858) reactiveplusplus: add v2.0.0 * reactiveplusplus: add v2.0.0 * reactiveplusplus: update min compiler versions * reactiveplusplus: add missing includes to test_package_v2.cpp --- recipes/reactiveplusplus/all/conandata.yml | 3 ++ recipes/reactiveplusplus/all/conanfile.py | 33 +++++++++++-------- .../all/test_package/CMakeLists.txt | 6 +++- .../all/test_package/test_package_v2.cpp | 18 ++++++++++ recipes/reactiveplusplus/config.yml | 2 ++ 5 files changed, 48 insertions(+), 14 deletions(-) create mode 100644 recipes/reactiveplusplus/all/test_package/test_package_v2.cpp diff --git a/recipes/reactiveplusplus/all/conandata.yml b/recipes/reactiveplusplus/all/conandata.yml index 9e638abe5d43a..a8ee60a2f8197 100644 --- a/recipes/reactiveplusplus/all/conandata.yml +++ b/recipes/reactiveplusplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/victimsnino/ReactivePlusPlus/archive/v2.0.0.tar.gz" + sha256: "8950fe579aea23be1a6affd4ec8845c78016454aaf875dbae6a52d10eeb6df02" "0.2.3": url: "https://github.com/victimsnino/ReactivePlusPlus/archive/v0.2.3.tar.gz" sha256: "9542419f8d7da98126ba2c6ae08fab287b4b3798d89cf75ed9bed2a9e3ec1678" diff --git a/recipes/reactiveplusplus/all/conanfile.py b/recipes/reactiveplusplus/all/conanfile.py index d8d1eb5567b3d..44a04efc93ad3 100644 --- a/recipes/reactiveplusplus/all/conanfile.py +++ b/recipes/reactiveplusplus/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -28,13 +29,23 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - return { - "Visual Studio": "16.10", - "msvc": "192", - "gcc": "10", - "clang": "12", - "apple-clang": "14", - } + if Version(self.version) >= "2.0.0": + # For 'consteval' support + return { + "Visual Studio": "17", + "msvc": "193", + "gcc": "12", + "clang": "14", + "apple-clang": "14", + } + else: + return { + "Visual Studio": "16.10", + "msvc": "192", + "gcc": "10", + "clang": "12", + "apple-clang": "14", + } def layout(self): basic_layout(self, src_folder="src") @@ -47,10 +58,7 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): @@ -59,8 +67,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/reactiveplusplus/all/test_package/CMakeLists.txt b/recipes/reactiveplusplus/all/test_package/CMakeLists.txt index 96e89147f81a9..1809dd95e5019 100644 --- a/recipes/reactiveplusplus/all/test_package/CMakeLists.txt +++ b/recipes/reactiveplusplus/all/test_package/CMakeLists.txt @@ -3,6 +3,10 @@ project(test_package LANGUAGES CXX) find_package(RPP REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +if(RPP_VERSION VERSION_GREATER_EQUAL 2) + add_executable(${PROJECT_NAME} test_package_v2.cpp) +else() + add_executable(${PROJECT_NAME} test_package.cpp) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE RPP::rpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/reactiveplusplus/all/test_package/test_package_v2.cpp b/recipes/reactiveplusplus/all/test_package/test_package_v2.cpp new file mode 100644 index 0000000000000..392c29a4ae623 --- /dev/null +++ b/recipes/reactiveplusplus/all/test_package/test_package_v2.cpp @@ -0,0 +1,18 @@ +// Source: https://github.com/victimsnino/ReactivePlusPlus/tree/v2/docs#operators + +#include + +#include +#include +#include + +int main() +{ + rpp::source::from_callable(&::getchar) + | rpp::operators::repeat() + | rpp::operators::take_while([](char v) { return v != '0'; }) + | rpp::operators::filter(std::not_fn(&::isdigit)) + | rpp::operators::map(&::toupper); + + return 0; +} diff --git a/recipes/reactiveplusplus/config.yml b/recipes/reactiveplusplus/config.yml index 34b32de1aab11..feccf8f451435 100644 --- a/recipes/reactiveplusplus/config.yml +++ b/recipes/reactiveplusplus/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "0.2.3": folder: all "0.2.1": From 0e4c7f14f8cad789051ccaa3280361fd8ccfe33a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 19:38:50 +0200 Subject: [PATCH 3292/4087] (#21997) hdf4: add v4.2.16-2 --- recipes/hdf4/all/conandata.yml | 5 +++++ recipes/hdf4/all/conanfile.py | 5 ++++- recipes/hdf4/config.yml | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/hdf4/all/conandata.yml b/recipes/hdf4/all/conandata.yml index b74cc986517d2..b92568111eedd 100644 --- a/recipes/hdf4/all/conandata.yml +++ b/recipes/hdf4/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.2.16-2": + url: + - "https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF4/HDF4.2.16-2/src/hdf-4.2.16-2.tar.bz2" + - "https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.16-2/src/hdf-4.2.16-2.tar.bz2" + sha256: "c5c3234b5012258aef2e4432f649b31c21b26015afba1857ad83640c3f2b692c" "4.2.15": url: "https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.gz" sha256: "dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459" diff --git a/recipes/hdf4/all/conanfile.py b/recipes/hdf4/all/conanfile.py index 161143820d862..daa7c6c3b6c69 100644 --- a/recipes/hdf4/all/conanfile.py +++ b/recipes/hdf4/all/conanfile.py @@ -3,7 +3,8 @@ from conan import ConanFile from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save, move_folder_contents +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -64,6 +65,8 @@ def requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + if Version(self.version) > "4.2.15": + move_folder_contents(self, os.path.join(self.source_folder, f"hdf-{self.version}"), self.source_folder) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/hdf4/config.yml b/recipes/hdf4/config.yml index 64a8c610990e2..da09b79435da4 100644 --- a/recipes/hdf4/config.yml +++ b/recipes/hdf4/config.yml @@ -1,3 +1,5 @@ versions: + "4.2.16-2": + folder: all "4.2.15": folder: all From 2caea7e94c2eea1a5a92d03b7773d80dcd7269e5 Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Sat, 6 Jan 2024 19:58:33 +0200 Subject: [PATCH 3293/4087] (#22016) reflect-cpp: new recipe * Add reflect-cpp, locally tested * Update to 0.5.0 Specify gcc 11.4 as minimum specifically * Change to 0.6.0 * Change options from get_safe to direct check --- recipes/reflect-cpp/all/conandata.yml | 4 + recipes/reflect-cpp/all/conanfile.py | 92 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../reflect-cpp/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 15 +++ .../all/test_v1_package/CMakeLists.txt | 9 ++ .../all/test_v1_package/conanfile.py | 18 ++++ recipes/reflect-cpp/config.yml | 3 + 8 files changed, 175 insertions(+) create mode 100644 recipes/reflect-cpp/all/conandata.yml create mode 100644 recipes/reflect-cpp/all/conanfile.py create mode 100644 recipes/reflect-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/reflect-cpp/all/test_package/conanfile.py create mode 100644 recipes/reflect-cpp/all/test_package/test_package.cpp create mode 100644 recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/reflect-cpp/all/test_v1_package/conanfile.py create mode 100644 recipes/reflect-cpp/config.yml diff --git a/recipes/reflect-cpp/all/conandata.yml b/recipes/reflect-cpp/all/conandata.yml new file mode 100644 index 0000000000000..e8f0dda436088 --- /dev/null +++ b/recipes/reflect-cpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.6.0": + url: "https://github.com/getml/reflect-cpp/archive/v0.6.0.tar.gz" + sha256: "D8231B91989397A67E841B56A0673FDCDF969DBE956D54BB629F14100B030664" diff --git a/recipes/reflect-cpp/all/conanfile.py b/recipes/reflect-cpp/all/conanfile.py new file mode 100644 index 0000000000000..4952fc02f03a6 --- /dev/null +++ b/recipes/reflect-cpp/all/conanfile.py @@ -0,0 +1,92 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.51.1" + +class ReflectCppConan(ConanFile): + name = "reflect-cpp" + description = "C++-20 library for fast serialization, deserialization and validation using reflection" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/getml/reflect-cpp" + topics = ("reflection", "serialization", "memory", "json", "xml", "flatbuffers", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_json" : [True, False], + "with_xml" : [True, False], + "with_flatbuffers" : [True, False], + "with_yaml": [True, False], + } + default_options = { + "with_json" : False, + "with_xml" : False, + "with_flatbuffers" : False, + "with_yaml" : False, + } + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "17", + "msvc": "193", + "gcc": "11.4", + "clang": "16", + "apple-clang": "15", + } + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_json: + self.requires("yyjson/0.8.0", transitive_headers=True) + if self.options.with_xml: + self.requires("pugixml/1.14", transitive_headers=True) + if self.options.with_flatbuffers: + self.requires("flatbuffers/23.5.26", transitive_headers=True) + if self.options.with_yaml: + self.requires("yaml-cpp/0.8.0", transitive_headers=True) + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + apply_conandata_patches(self) + + def package(self): + copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/reflect-cpp/all/test_package/CMakeLists.txt b/recipes/reflect-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..66b58d7b20ff5 --- /dev/null +++ b/recipes/reflect-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(reflect-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE reflect-cpp::reflect-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/reflect-cpp/all/test_package/conanfile.py b/recipes/reflect-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/reflect-cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/reflect-cpp/all/test_package/test_package.cpp b/recipes/reflect-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..04e4309cba5ea --- /dev/null +++ b/recipes/reflect-cpp/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include +#include + +struct TestStruct { + int x; + std::string name; +}; + +int main(void) { + for (const auto& f : rfl::fields()) { + (void) f.name(); + (void) f.type(); + } + return 0; +} diff --git a/recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt b/recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9652e22fc19d5 --- /dev/null +++ b/recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.12) + +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/reflect-cpp/all/test_v1_package/conanfile.py b/recipes/reflect-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/reflect-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/reflect-cpp/config.yml b/recipes/reflect-cpp/config.yml new file mode 100644 index 0000000000000..7d9ba9dbc8ac9 --- /dev/null +++ b/recipes/reflect-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.6.0": + folder: all From 3f2c69324b2097427861e9c77f328f86d8c1d3c4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 20:18:45 +0200 Subject: [PATCH 3294/4087] (#22037) miniupnpc: add v2.2.5, do not run upnpDiscover() in test_package * miniupnpc: add v2.2.5, do not run upnpDiscover() in test_package * miniupnpc: rmdir lib/cmake, lib/pkgconfig * miniupnpc: rmdir share/ * miniupnpc: fix LICENSE installation --- recipes/miniupnpc/all/conandata.yml | 3 +++ recipes/miniupnpc/all/conanfile.py | 14 ++++++++++---- recipes/miniupnpc/all/test_package/test_package.c | 4 +++- recipes/miniupnpc/config.yml | 2 ++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/miniupnpc/all/conandata.yml b/recipes/miniupnpc/all/conandata.yml index c414f1ae3f3a4..a75cdc40ec5d3 100644 --- a/recipes/miniupnpc/all/conandata.yml +++ b/recipes/miniupnpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.5": + url: "https://github.com/miniupnp/miniupnp/archive/refs/tags/miniupnpc_2_2_5.tar.gz" + sha256: "feb2ce11c548115f6e7dead7a523790aceeca92b9fca718f26e5b22303af313c" "2.2.2": url: "https://github.com/miniupnp/miniupnp/archive/refs/tags/miniupnpc_2_2_2.tar.gz" sha256: "a598890cad635170dfce6281d71fc3052dee5c8220da0109281542156267c762" diff --git a/recipes/miniupnpc/all/conanfile.py b/recipes/miniupnpc/all/conanfile.py index 23ce55638aada..46bacdb3551ec 100644 --- a/recipes/miniupnpc/all/conanfile.py +++ b/recipes/miniupnpc/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -41,8 +42,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -67,11 +67,17 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", src=os.path.join(self.source_folder, "miniupnpc"), - dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) >= "2.2.4": + copy(self, "LICENSE", src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + else: + copy(self, "LICENSE", src=os.path.join(self.source_folder, "miniupnpc"), + dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "miniupnpc") diff --git a/recipes/miniupnpc/all/test_package/test_package.c b/recipes/miniupnpc/all/test_package/test_package.c index b7ba38ffbf1f2..43b44d24b83f2 100644 --- a/recipes/miniupnpc/all/test_package/test_package.c +++ b/recipes/miniupnpc/all/test_package/test_package.c @@ -7,6 +7,8 @@ int main(void) { int ipv6 = 0; unsigned char ttl = 2; int error = 0; - struct UPNPDev *devlist = upnpDiscover(2000, multicastif, minissdpdpath, localport, ipv6, ttl, &error); + if (0) { + struct UPNPDev *devlist = upnpDiscover(2000, multicastif, minissdpdpath, localport, ipv6, ttl, &error); + } return 0; } diff --git a/recipes/miniupnpc/config.yml b/recipes/miniupnpc/config.yml index 6d6cfc66eae07..e89bcaea7727b 100644 --- a/recipes/miniupnpc/config.yml +++ b/recipes/miniupnpc/config.yml @@ -1,3 +1,5 @@ versions: + "2.2.5": + folder: all "2.2.2": folder: all From bd9f282cc401f1573b48ede977e2795114364439 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 20:38:44 +0200 Subject: [PATCH 3295/4087] (#22041) uchardet: add v0.0.8 * uchardet: add v0.0.8 * uchardet: rmdir lib/cmake --- recipes/uchardet/all/conandata.yml | 5 ++++- recipes/uchardet/all/conanfile.py | 34 ++++++++++-------------------- recipes/uchardet/config.yml | 2 ++ 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/recipes/uchardet/all/conandata.yml b/recipes/uchardet/all/conandata.yml index 30099f9e54a80..8d50fe442e1ff 100644 --- a/recipes/uchardet/all/conandata.yml +++ b/recipes/uchardet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.8": + url: "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.8.tar.xz" + sha256: "e97a60cfc00a1c147a674b097bb1422abd9fa78a2d9ce3f3fdcc2e78a34ac5f0" "0.0.7": - url: https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.7.tar.xz + url: "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.7.tar.xz" sha256: "3fc79408ae1d84b406922fa9319ce005631c95ca0f34b205fad867e8b30e45b1" diff --git a/recipes/uchardet/all/conanfile.py b/recipes/uchardet/all/conanfile.py index dc6c7c2cfb327..38d486d7a2d81 100644 --- a/recipes/uchardet/all/conanfile.py +++ b/recipes/uchardet/all/conanfile.py @@ -3,7 +3,8 @@ from conan import ConanFile from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.files import copy, get, replace_in_file, rmdir, save +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -62,28 +63,14 @@ def generate(self): tc.generate() def _patch_sources(self): - # the following fixes that apply to uchardet version 0.0.7 - # fix broken cmake - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "${CMAKE_BINARY_DIR}", - "${CMAKE_CURRENT_BINARY_DIR}", - ) - # fix problem with mac os - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)", - 'string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" TARGET_ARCHITECTURE)', - ) - # disable building tests - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "add_subdirectory(test)", - "#add_subdirectory(test)", - ) + if Version(self.version) < "0.0.8": + # fix problem with macOS + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)", + 'string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" TARGET_ARCHITECTURE)') + # disable building of tests + save(self, os.path.join(self.source_folder, "doc", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "test", "CMakeLists.txt"), "") def build(self): self._patch_sources() @@ -97,6 +84,7 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) fix_apple_shared_install_name(self) diff --git a/recipes/uchardet/config.yml b/recipes/uchardet/config.yml index 3b1adbf0ba92f..1c066f06099c5 100644 --- a/recipes/uchardet/config.yml +++ b/recipes/uchardet/config.yml @@ -1,3 +1,5 @@ versions: + "0.0.8": + folder: all "0.0.7": folder: all From 1db3952da2223d4c4e7e10c85c809308962b2a74 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 20:59:07 +0200 Subject: [PATCH 3296/4087] (#22042) wasmtime: add v16.0.0, drop old versions --- recipes/wasmtime/all/conandata.yml | 174 +++++------------------------ recipes/wasmtime/config.yml | 12 +- 2 files changed, 32 insertions(+), 154 deletions(-) diff --git a/recipes/wasmtime/all/conandata.yml b/recipes/wasmtime/all/conandata.yml index c449ffc3965a6..59585bd0e0f08 100644 --- a/recipes/wasmtime/all/conandata.yml +++ b/recipes/wasmtime/all/conandata.yml @@ -1,4 +1,34 @@ sources: + "16.0.0": + Windows: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-windows-c-api.zip" + sha256: "c832e904f0bf0e3958a82efd45f025bfa94bb5629825effb1c5700d47df79629" + MinGW: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-mingw-c-api.zip" + sha256: "dc6ea5781edaa1155cf38da30bf691d543010cb2a0c3c597d75a8e11df96ed25" + Linux: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-linux-c-api.tar.xz" + sha256: "5c67576f977c4373b77fc1304ff56b426a27b3f3ac481437ee51d5e915d43f7b" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-aarch64-linux-c-api.tar.xz" + sha256: "373b2def51a2ba7d1f73e82a5adf62dcf8dfba27149f6ff6ff69cb6bd97a1bfc" + "s390x": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-s390x-linux-c-api.tar.xz" + sha256: "2340ca3abaaf0acf7185fe2e262e492c4b85c8d72fa9f8285ba58eb08418616b" + Macos: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-macos-c-api.tar.xz" + sha256: "f9e4b9df2993f6b0eb6a642b10fc38342e33fb3a9d5deb25dbf765b098bb9069" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-aarch64-macos-c-api.tar.xz" + sha256: "fff9a7516ea3befc23a0d7dcff6b2b23dbccc3674fb27359f2b2798242890943" + Android: + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-aarch64-linux-c-api.tar.xz" + sha256: "373b2def51a2ba7d1f73e82a5adf62dcf8dfba27149f6ff6ff69cb6bd97a1bfc" "12.0.2": Windows: "x86_64": @@ -29,36 +59,6 @@ sources: "armv8": url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-aarch64-linux-c-api.tar.xz" sha256: "daf6ca147b288cf915978f064853f403ca163b52806ae0a52ddd5bd91a5a2507" - "12.0.1": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-windows-c-api.zip" - sha256: "e5da4752260ffd38e28cc56fc1db6f3cec65f9bf352b5e9757a92873e5a6f408" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-mingw-c-api.zip" - sha256: "7b7a6c7d3e2603ec51837c28ec5c9306d599d44b707d052faa5102c691e07685" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-linux-c-api.tar.xz" - sha256: "7f09952cba8e92ff3bd18ad59b847fb353a6cd6c9069b38c1b9763610616347f" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux-c-api.tar.xz" - sha256: "fd7080f59413aca47e473e2f2517fbd75ef16d963925a7333c09d0621c81b449" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-s390x-linux-c-api.tar.xz" - sha256: "4482d42cf683f5ee4213fcb1c69f0b5fa7b4d948186d26ae6f647cc92ac4e779" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-macos-c-api.tar.xz" - sha256: "89059ed138cb59c8c1f9008053da848d3d9e15c5edfe1a3f2f2d7c0c5bbf9597" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-macos-c-api.tar.xz" - sha256: "8dca391f22cf53ae4b19a689e3a2cce87541bb4575a98d2f402f36402be419f7" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux-c-api.tar.xz" - sha256: "fd7080f59413aca47e473e2f2517fbd75ef16d963925a7333c09d0621c81b449" "9.0.1": Windows: "x86_64": @@ -329,117 +329,3 @@ sources: "armv8": url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.39.1/wasmtime-v0.39.1-aarch64-linux-c-api.tar.xz" sha256: "3fb770e9afa3114c3ffe9f60e696ba3e4a74d34e4b50b59cce27c3d118f215b1" - "0.38.0": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-windows-c-api.zip" - sha256: "69b28fe9a89451e4561c628341c960c08d369caecfc319650660586dcf8c0c61" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-mingw-c-api.zip" - sha256: "926177b45afe208e64011a2cb68dc73e064c25391269982ca74678eeade30faf" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-linux-c-api.tar.xz" - sha256: "a4dfe18391feb807ae9c219734bc084ff11c1f2f26762dfb5252f5299cee434e" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-aarch64-linux-c-api.tar.xz" - sha256: "01dd81ac4eeff128ff762b6f2e61336b723a78b940006cd405f135e509046c4e" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-s390x-linux-c-api.tar.xz" - sha256: "552c991ab894fa250a5be296befb1c9f44c115de760ffe80b9ddf430f3e30ec0" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-macos-c-api.tar.xz" - sha256: "651c41d4de8958caf80086bab46d0f326bbfa0f328f544a632df52b050f2776c" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-aarch64-macos-c-api.tar.xz" - sha256: "1e424122c73418c972287043a50555569afb09dc721fb6630503bf455cbd2856" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-aarch64-linux-c-api.tar.xz" - sha256: "01dd81ac4eeff128ff762b6f2e61336b723a78b940006cd405f135e509046c4e" - "0.37.0": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-windows-c-api.zip" - sha256: "1e2db8ccb86d2da0607aca783bb3c929562e4fa688a94452dffa745867494a2d" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-mingw-c-api.zip" - sha256: "62966da16277aaf3312525c1e5ce08202d56c8450855bfaf7b319ffa4355fd52" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-linux-c-api.tar.xz" - sha256: "7b8de351808eb4dd3186bcc18b8f54d6c486ec1f21961521be49d02d38833696" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-aarch64-linux-c-api.tar.xz" - sha256: "926c4736cc79835f880f5b6f193891960a4fc32464ca00871ffd7228605387d9" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-s390x-linux-c-api.tar.xz" - sha256: "cdcefd0394cfaefdac9eba9417016c7a916a063f567b483d6df09b883d9b5976" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-macos-c-api.tar.xz" - sha256: "0f785932fc69105dcecbb2d7c1ceb0cd63dffa5e4b0b3f198c4c56118bdb4ecd" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-aarch64-macos-c-api.tar.xz" - sha256: "0a0f5fd2283f52b3ab725650a5dfc77a8bf53de962344fabc37418af9e5e407a" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-aarch64-linux-c-api.tar.xz" - sha256: "926c4736cc79835f880f5b6f193891960a4fc32464ca00871ffd7228605387d9" - "0.36.0": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-windows-c-api.zip" - sha256: "7c0cc05d73b376bce31964c99720cecd9f595fc4a338e4a45bbc04cca5780508" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-mingw-c-api.zip" - sha256: "c4a6d3f0e428f3c912bef930c2d332fe09939b01b59f37a16ec6f4f7a89119e4" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-linux-c-api.tar.xz" - sha256: "c82c9fd1449a4a78710b8ada47db7386edb1caafcb8baa7cdedb79539fedb372" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-aarch64-linux-c-api.tar.xz" - sha256: "865e73764fca8552734eea72d990d32a670e8e7079f8fc5f15d70cb03ef3c8d9" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-s390x-linux-c-api.tar.xz" - sha256: "ec36bacf5b24b9da5ef1cdc979caf224412146d683ed6021f3bbd75adcb3754e" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-macos-c-api.tar.xz" - sha256: "8a97dfce791d9ad0acb346cdd6aa8f0f9ca85a94aa4c456ac9534c1994867dbf" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-aarch64-linux-c-api.tar.xz" - sha256: "865e73764fca8552734eea72d990d32a670e8e7079f8fc5f15d70cb03ef3c8d9" - "0.35.1": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-windows-c-api.zip" - sha256: "055d0fead69eaf906bb68dd758fe4d59ee3638888503832142857f35feaba782" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-mingw-c-api.zip" - sha256: "aee0f5f58915921191c4f9defda1a7172c6ca76c95e8d562e4cbefc5f0e1fff0" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-linux-c-api.tar.xz" - sha256: "dd6ec4a87eed1a34ad386ca950ef01a7e9300b713beb38da8e51dd3f92ece002" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-aarch64-linux-c-api.tar.xz" - sha256: "8e263a62919a8dc8a7789abe3cfc69bdc0d6ea14b0cabee7a988bac250436785" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-s390x-linux-c-api.tar.xz" - sha256: "ed84e8b4c10c22ee5de3908aa006884bc1c38122e4a020cb9d91d86ed597d8a4" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-macos-c-api.tar.xz" - sha256: "e32b46a537cf4311435477336cbcd30d68099097963b55c62ec5c12834326560" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-aarch64-linux-c-api.tar.xz" - sha256: "8e263a62919a8dc8a7789abe3cfc69bdc0d6ea14b0cabee7a988bac250436785" diff --git a/recipes/wasmtime/config.yml b/recipes/wasmtime/config.yml index e5ce53b819caa..53f9ed2965380 100644 --- a/recipes/wasmtime/config.yml +++ b/recipes/wasmtime/config.yml @@ -1,7 +1,7 @@ versions: - "12.0.2": + "16.0.0": folder: all - "12.0.1": + "12.0.2": folder: all "9.0.1": folder: all @@ -21,11 +21,3 @@ versions: folder: all "0.39.1": folder: all - "0.38.0": - folder: all - "0.37.0": - folder: all - "0.36.0": - folder: all - "0.35.1": - folder: all From 53813eb7e80298e3e407bb5563d01cff612a5d88 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 04:20:20 +0900 Subject: [PATCH 3297/4087] (#22178) mold: add version 2.4.0 --- recipes/mold/all/conandata.yml | 3 +++ recipes/mold/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 3cb117fe8e4d9..27fad647a9723 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/rui314/mold/archive/refs/tags/v2.4.0.tar.gz" + sha256: "be65f3d785d32ece7b3204ecaa57810847fdd25c232cf704cbfff2dafb1ac107" "2.0.0": url: "https://github.com/rui314/mold/archive/refs/tags/v2.0.0.tar.gz" sha256: "2ae8a22db09cbff626df74c945079fa29c1e5f60bbe02502dcf69191cf43527b" diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index eb4087643c784..b4070800652f5 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.0.0": folder: all "1.4.2": From c40d0f76a875093a85b4484d70b95729816cdfaf Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 04:29:52 +0900 Subject: [PATCH 3298/4087] (#22181) stringzilla: add version 2.0.4 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index 63892a4c139d3..182ba818238f7 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.4": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.4.tar.gz" + sha256: "440d3d586f8cfe96bc7648f01f2d3c514c4e2dc22446caeb50599383d1970ed2" "2.0.3": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.3.tar.gz" sha256: "6b52a7b4eb8383cbcf83608eaa08e5ba588a378449439b73584713a16d8920e3" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index bb807cfa42498..c0ea771b63446 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.4": + folder: all "2.0.3": folder: all "2.0.1": From 4c2f6c4ea3ea353947a545c2227c8d8adaa0a608 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 6 Jan 2024 22:38:15 +0100 Subject: [PATCH 3299/4087] (#21770) Opentdf/all: bump deps * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py --- recipes/opentdf-client/all/conanfile.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index fe131a8a2f728..1709d84e6a285 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, replace_in_file, get, copy +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version @@ -41,8 +41,8 @@ def _minimum_cpp_standard(self): @property def _minimum_compilers_version(self): return { - "Visual Studio": "17" if Version(self.version) < "1.1.5" else "15", - "msvc": "193" if Version(self.version) < "1.1.5" else "191", + "Visual Studio": "15", + "msvc": "191", "gcc": "7.5", "clang": "12", "apple-clang": "12", @@ -155,8 +155,6 @@ def package_info(self): ] if Version(self.version) >= "1.4.0": self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") - if Version(self.version) < "1.1.0": - self.cpp_info.components["libopentdf"].requires.append("libarchive::libarchive") if Version(self.version) >= "1.4.0": self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") From d5308f47a74acee8ad7f3e42dc3f15ba0aebd0e2 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 14:50:55 +0900 Subject: [PATCH 3300/4087] (#22179) toml11: add package_type --- recipes/toml11/all/conanfile.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/recipes/toml11/all/conanfile.py b/recipes/toml11/all/conanfile.py index 72284ac7310c2..7d770d91572aa 100644 --- a/recipes/toml11/all/conanfile.py +++ b/recipes/toml11/all/conanfile.py @@ -9,11 +9,12 @@ class Toml11Conan(ConanFile): name = "toml11" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/ToruNiina/toml11" description = "TOML for Modern C++" - topics = ("toml", "c-plus-plus-11", "c-plus-plus", "parser", "serializer") license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ToruNiina/toml11" + topics = ("toml", "c-plus-plus-11", "c-plus-plus", "parser", "serializer", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,11 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - - def build(self): - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "toml.hpp", src=self.source_folder, dst=os.path.join(self.package_folder, "include", "toml11")) From 06b64f7c3933112a0bcf2e15b9a240b15139dea0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 7 Jan 2024 08:53:08 +0100 Subject: [PATCH 3301/4087] (#22182) Bump/cyclonedds/all * cyclonedds/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * cyclonedds/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/cyclonedds/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cyclonedds/all/conanfile.py b/recipes/cyclonedds/all/conanfile.py index f35480b98cba1..18f0542a85ec8 100644 --- a/recipes/cyclonedds/all/conanfile.py +++ b/recipes/cyclonedds/all/conanfile.py @@ -77,7 +77,7 @@ def layout(self): def requirements(self): if self.options.with_shm: - self.requires("iceoryx/2.0.2") + self.requires("iceoryx/2.0.5") if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") From 1e5b0a43622f3f092cb1f0376dcd25fd3ae54e7e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 7 Jan 2024 14:04:58 +0200 Subject: [PATCH 3302/4087] (#21929) openmesh: add v10.0 * openmesh: add v10.0.0 * openmesh: rename to v10.0 * openmesh: ensure cppstd is set * openmesh: libc++ requires C++14 * openmesh: add a patch to fix C++11 compatibility --- recipes/openmesh/all/conandata.yml | 8 ++++++++ recipes/openmesh/all/conanfile.py | 10 ++++++++-- .../patches/restore-cxx11-compatibility.patch | 17 +++++++++++++++++ recipes/openmesh/config.yml | 2 ++ 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 recipes/openmesh/all/patches/restore-cxx11-compatibility.patch diff --git a/recipes/openmesh/all/conandata.yml b/recipes/openmesh/all/conandata.yml index da3df78a47023..a2b42f64b8c89 100644 --- a/recipes/openmesh/all/conandata.yml +++ b/recipes/openmesh/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.0": + url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/10.0/OpenMesh-10.0.0.tar.bz2" + sha256: "af22520a474bb6a3b355eb0867449c6b995126f97632d1ee5ff9c7ebd322fedb" "9.0": url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/9.0/OpenMesh-9.0.tar.gz" sha256: "b9574c921482798ce75a8bf578345a84b928ca26ee759219d21b310e2db9d006" @@ -6,6 +9,11 @@ sources: url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/8.1/OpenMesh-8.1.tar.gz" sha256: "0953777f483d47ea9fa00c329838443a7a09dde8be77bf7de188001cb9e768a7" patches: + "10.0": + - patch_file: "patches/cmake-install_9.0.patch" + - patch_file: "patches/restore-cxx11-compatibility.patch" + patch_description: "Revert a minor change that broke C++11 compatibility for libc++" + patch_type: "portability" "9.0": - patch_file: "patches/cmake-install_9.0.patch" "8.1": diff --git a/recipes/openmesh/all/conanfile.py b/recipes/openmesh/all/conanfile.py index 36d307d2c5111..0c47f08b1897f 100644 --- a/recipes/openmesh/all/conanfile.py +++ b/recipes/openmesh/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.microsoft import is_msvc @@ -29,6 +29,10 @@ class OpenmeshConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 11 + def export_sources(self): export_conandata_patches(self) @@ -45,7 +49,7 @@ def layout(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -56,6 +60,8 @@ def generate(self): tc.variables["OPENMESH_BUILD_SHARED"] = self.options.shared tc.variables["BUILD_APPS"] = False tc.variables["OPENMESH_DOCS"] = False + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() def build(self): diff --git a/recipes/openmesh/all/patches/restore-cxx11-compatibility.patch b/recipes/openmesh/all/patches/restore-cxx11-compatibility.patch new file mode 100644 index 0000000000000..144df56809a27 --- /dev/null +++ b/recipes/openmesh/all/patches/restore-cxx11-compatibility.patch @@ -0,0 +1,17 @@ +Partial revert of https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/commit/998eec1390dcabbb502dc1ac1bc17cd09a16e343 +for compatibility with C++11. + +https://web.archive.org/web/20151001014443/http://en.cppreference.com/w/cpp/container/vector/emplace_back +"The specialization std::vector did not have emplace_back() member until C++14." + +--- src/OpenMesh/Core/Utils/Property.hh ++++ src/OpenMesh/Core/Utils/Property.hh +@@ -250,7 +250,7 @@ + virtual void reserve(size_t _n) override { data_.reserve(_n); } + virtual void resize(size_t _n) override { data_.resize(_n); } + virtual void clear() override { data_.clear(); vector_type().swap(data_); } +- virtual void push_back() override { data_.emplace_back(); } ++ virtual void push_back() override { data_.push_back(bool()); } + virtual void swap(size_t _i0, size_t _i1) override + { bool t(data_[_i0]); data_[_i0]=data_[_i1]; data_[_i1]=t; } + virtual void copy(size_t _i0, size_t _i1) override diff --git a/recipes/openmesh/config.yml b/recipes/openmesh/config.yml index 6b3545daffc92..a5f8255a5ed2a 100644 --- a/recipes/openmesh/config.yml +++ b/recipes/openmesh/config.yml @@ -1,4 +1,6 @@ versions: + "10.0": + folder: all "9.0": folder: all "8.1": From f174071b1e873360c644b401e61a66bd3c8f9aac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 8 Jan 2024 08:43:28 +0200 Subject: [PATCH 3303/4087] (#21933) plf_list: add v2.70 * plf_list: add v2.70 * plf_list: C++17 is required for latest version --- recipes/plf_list/all/conandata.yml | 3 ++ recipes/plf_list/all/conanfile.py | 31 +++++++++++++++++-- .../plf_list/all/test_package/CMakeLists.txt | 3 ++ recipes/plf_list/config.yml | 2 ++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/recipes/plf_list/all/conandata.yml b/recipes/plf_list/all/conandata.yml index 69ea21b761e16..6f1a0b798e6f8 100644 --- a/recipes/plf_list/all/conandata.yml +++ b/recipes/plf_list/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.70": + url: "https://github.com/mattreecebentley/plf_list/archive/c48d271caad535a783a37e418e1f146040934a30.tar.gz" + sha256: "d6bd1dfb4e7e02804ad91c5a06c9d6f3a3512499ce5c3c0a633eba5e67e90930" "2.57": url: "https://github.com/mattreecebentley/plf_list/archive/d7a06d7497dc01261dd2c2fe675a8b605acb7a56.tar.gz" sha256: "4297c7578fe5ea2c6346541b28a57d87ec311522fa55bc8a5ab069921fc073e9" diff --git a/recipes/plf_list/all/conanfile.py b/recipes/plf_list/all/conanfile.py index 93c3eafa9a2e2..a5286712197f8 100644 --- a/recipes/plf_list/all/conanfile.py +++ b/recipes/plf_list/all/conanfile.py @@ -1,8 +1,12 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os + required_conan_version = ">=1.50.0" @@ -15,6 +19,20 @@ class PlflistConan(ConanFile): homepage = "https://github.com/mattreecebentley/plf_list" settings = "os", "arch", "compiler", "build_type" + @property + def _min_cppstd(self): + return 17 + + @property + def _minimum_compilers_version(self): + return { + "gcc": "7", + "clang": "5", + "apple-clang": "9", + "msvc": "191", + "Visual Studio": "15", + } + def export_sources(self): export_conandata_patches(self) @@ -24,9 +42,18 @@ def package_id(self): def layout(self): basic_layout(self, src_folder="src") + def validate(self): + if Version(self.version) >= "2.70": + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", + ) + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) diff --git a/recipes/plf_list/all/test_package/CMakeLists.txt b/recipes/plf_list/all/test_package/CMakeLists.txt index 9871eca4a6f1f..0ca253af213ab 100644 --- a/recipes/plf_list/all/test_package/CMakeLists.txt +++ b/recipes/plf_list/all/test_package/CMakeLists.txt @@ -5,3 +5,6 @@ find_package(plf_list REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE plf_list::plf_list) +if (plf_list_VERSION VERSION_GREATER_EQUAL 2.70) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/plf_list/config.yml b/recipes/plf_list/config.yml index ca1f4fbf159c4..2dc3d36de7cf2 100644 --- a/recipes/plf_list/config.yml +++ b/recipes/plf_list/config.yml @@ -1,4 +1,6 @@ versions: + "2.70": + folder: all "2.57": folder: all "2.52": From ae049ca082b77e7c1c596150cd995acee350e9eb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:49:11 +0100 Subject: [PATCH 3304/4087] (#20943) libtool: use `host_version` for automake and fix conanv1 build with 2 profiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libtool/all/conanfile.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/libtool/all/conanfile.py b/recipes/libtool/all/conanfile.py index d832ae4219971..ff73256ddebc0 100644 --- a/recipes/libtool/all/conanfile.py +++ b/recipes/libtool/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanException from conan.tools.apple import is_apple_os, fix_apple_shared_install_name -from conan.tools.env import Environment +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rename, replace_in_file, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -11,7 +11,8 @@ import re import shutil -required_conan_version = ">=1.57.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" + class LibtoolConan(ConanFile): name = "libtool" @@ -33,6 +34,10 @@ class LibtoolConan(ConanFile): "fPIC": True, } + @property + def _has_dual_profiles(self): + return hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) @@ -61,8 +66,8 @@ def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if hasattr(self, "settings_build"): - self.tool_requires("automake/1.16.5") + if self._has_dual_profiles: + self.tool_requires("automake/") self.tool_requires("m4/1.4.19") # Needed by configure self.tool_requires("gnu-config/cci.20210814") @@ -79,6 +84,10 @@ def _datarootdir(self): return os.path.join(self.package_folder, "res") def generate(self): + VirtualBuildEnv(self).generate() + if not self._has_dual_profiles: + VirtualRunEnv(self).generate(scope="build") + if is_msvc(self): # __VSCMD_ARG_NO_LOGO: this test_package has too many invocations, # this avoids printing the logo everywhere From edf1c5a297df013a55cb2d6ac7bf284681a86f33 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 9 Jan 2024 07:20:28 +0100 Subject: [PATCH 3305/4087] (#21500) jwt-cpp: add package_type & cleanup recipe a little bit * add package_type & cleanup recipe a little bit * limit diff after resolving conflicts --- recipes/jwt-cpp/all/conanfile.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index 9d87ec3c326fb..1e09b3d6625c7 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -13,8 +13,8 @@ class JwtCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Thalhammer/jwt-cpp" topics = ("json", "jwt", "jws", "jwe", "jwk", "jwks", "jose", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _supports_generic_json(self): @@ -35,8 +35,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) @@ -55,7 +54,3 @@ def package_info(self): if self._supports_generic_json: self.cpp_info.defines.append("JWT_DISABLE_PICOJSON") - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "jwt-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "jwt-cpp" From 1c1162e7ffbb5d93f3f95f605f59215a0668d787 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:06:59 +0000 Subject: [PATCH 3306/4087] (#22216) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 2eebaa6113069..13d3b1783e5d0 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -141,6 +141,7 @@ required_for_references: - cargs - cassandra-cpp-driver - catch2 +- cc65 - ccache - cccl - ccfits @@ -752,6 +753,7 @@ required_for_references: - libuuid - libuv - libuvc +- libva - libvault - libverto - libvips @@ -1121,6 +1123,7 @@ required_for_references: - redboltz-mqtt_cpp - redis-plus-plus - refl-cpp +- reflect-cpp - replxx - resource_pool - restbed From a1390a65975fb5c98e3e825cd23cc73e611c819a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jan 2024 15:35:31 +0200 Subject: [PATCH 3307/4087] (#22021) flac: add v1.4.3, simplify patching --- recipes/flac/all/conandata.yml | 7 ++-- recipes/flac/all/conanfile.py | 9 ++++- .../flac/all/patches/fix-cmake-1.3.3.patch | 18 --------- .../flac/all/patches/fix-cmake-1.4.2.patch | 38 ------------------- recipes/flac/config.yml | 2 + 5 files changed, 12 insertions(+), 62 deletions(-) delete mode 100644 recipes/flac/all/patches/fix-cmake-1.4.2.patch diff --git a/recipes/flac/all/conandata.yml b/recipes/flac/all/conandata.yml index b0d1e5271b850..e2b6d7651827c 100644 --- a/recipes/flac/all/conandata.yml +++ b/recipes/flac/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.3": + url: "https://github.com/xiph/flac/releases/download/1.4.3/flac-1.4.3.tar.xz" + sha256: "6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70" "1.4.2": url: "https://github.com/xiph/flac/releases/download/1.4.2/flac-1.4.2.tar.xz" sha256: "e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4" @@ -6,10 +9,6 @@ sources: url: "https://github.com/xiph/flac/archive/1.3.3.tar.gz" sha256: "668cdeab898a7dd43cf84739f7e1f3ed6b35ece2ef9968a5c7079fe9adfe1689" patches: - "1.4.2": - - patch_file: "patches/fix-cmake-1.4.2.patch" - patch_description: "Adapts find_package commands and install destination paths in CMakeLists.txt files." - patch_type: "conan" "1.3.3": - patch_file: "patches/fix-cmake-1.3.3.patch" patch_description: "Various adaptations in CMakeLists.txt files to improve compatibility with Conan." diff --git a/recipes/flac/all/conanfile.py b/recipes/flac/all/conanfile.py index e8e39c9a71f0a..e8bc14ed2a18c 100644 --- a/recipes/flac/all/conanfile.py +++ b/recipes/flac/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, replace_in_file from conan.tools.scm import Version import os @@ -63,8 +63,13 @@ def generate(self): envbuild = VirtualBuildEnv(self) envbuild.generate(scope="build") - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "src", "share", "getopt", "CMakeLists.txt"), + "find_package(Intl)", "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/flac/all/patches/fix-cmake-1.3.3.patch b/recipes/flac/all/patches/fix-cmake-1.3.3.patch index ec7db2f2d00aa..3c5a864e8bbd4 100644 --- a/recipes/flac/all/patches/fix-cmake-1.3.3.patch +++ b/recipes/flac/all/patches/fix-cmake-1.3.3.patch @@ -1,14 +1,5 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -13,7 +13,7 @@ option(BUILD_EXAMPLES "Build and install examples" ON) - option(WITH_OGG "ogg support (default: test for libogg)" ON) - - if(WITH_OGG) -- find_package(OGG REQUIRED) -+ find_package(Ogg REQUIRED CONFIG) - endif() - - if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") @@ -25,9 +25,6 @@ endif() if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef") @@ -55,12 +46,3 @@ install(TARGETS metaflac EXPORT targets - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + DESTINATION "${CMAKE_INSTALL_BINDIR}") ---- a/src/share/getopt/CMakeLists.txt -+++ b/src/share/getopt/CMakeLists.txt -@@ -1,6 +1,5 @@ - check_include_file("string.h" HAVE_STRING_H) - --find_package(Intl) - - add_library(getopt STATIC getopt.c getopt1.c) - diff --git a/recipes/flac/all/patches/fix-cmake-1.4.2.patch b/recipes/flac/all/patches/fix-cmake-1.4.2.patch deleted file mode 100644 index bd5a0ebdb6997..0000000000000 --- a/recipes/flac/all/patches/fix-cmake-1.4.2.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,7 +43,7 @@ if(WITH_OGG) - endif() - else() - if(NOT TARGET Ogg::ogg) -- find_package(Ogg REQUIRED) -+ find_package(Ogg REQUIRED CONFIG) - else() - set(OGG_FOUND 1 CACHE INTERNAL "ogg has already been built") - endif() ---- a/src/flac/CMakeLists.txt -+++ b/src/flac/CMakeLists.txt -@@ -21,4 +21,4 @@ target_link_libraries(flacapp - utf8) - - install(TARGETS flacapp EXPORT targets -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -+ DESTINATION "${CMAKE_INSTALL_BINDIR}") ---- a/src/metaflac/CMakeLists.txt -+++ b/src/metaflac/CMakeLists.txt -@@ -14,4 +14,4 @@ add_executable(metaflac - target_link_libraries(metaflac FLAC getopt utf8) - - install(TARGETS metaflac EXPORT targets -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -+ DESTINATION "${CMAKE_INSTALL_BINDIR}") ---- a/src/share/getopt/CMakeLists.txt -+++ b/src/share/getopt/CMakeLists.txt -@@ -1,8 +1,7 @@ - check_include_file("string.h" HAVE_STRING_H) - - if(NOT WIN32) -- find_package(Intl) - endif() - - add_library(getopt STATIC getopt.c getopt1.c) - diff --git a/recipes/flac/config.yml b/recipes/flac/config.yml index fac8ae5f33f51..05362b19fb86b 100644 --- a/recipes/flac/config.yml +++ b/recipes/flac/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.3": + folder: all "1.4.2": folder: all "1.3.3": From 2f01b4dec10f3d65404c17132694d7f8b1503242 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jan 2024 15:43:05 +0200 Subject: [PATCH 3308/4087] (#21642) z3: add version 4.12.4 * z3: add version 4.12.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * z3: bump deps, do not override CMAKE_CXX_FLAGS * z3: bump to v4.12.4 * z3: restore the stdlib hack --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/z3/all/CMakeLists.txt | 7 ---- recipes/z3/all/conandata.yml | 3 ++ recipes/z3/all/conanfile.py | 62 +++++++++++++++++------------------ recipes/z3/config.yml | 2 ++ 4 files changed, 36 insertions(+), 38 deletions(-) delete mode 100644 recipes/z3/all/CMakeLists.txt diff --git a/recipes/z3/all/CMakeLists.txt b/recipes/z3/all/CMakeLists.txt deleted file mode 100644 index 9304b61295329..0000000000000 --- a/recipes/z3/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/z3/all/conandata.yml b/recipes/z3/all/conandata.yml index 8720c1e15bb24..f57877f85f54a 100644 --- a/recipes/z3/all/conandata.yml +++ b/recipes/z3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.12.4": + url: "https://github.com/Z3Prover/z3/archive/z3-4.12.4.tar.gz" + sha256: "25e9b18d04ee22f1d872dfe0daaf4c39034744525214e34fedd206e25140e96e" "4.12.2": url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.2.tar.gz" sha256: "9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f" diff --git a/recipes/z3/all/conanfile.py b/recipes/z3/all/conanfile.py index b8fb69514925d..6d143a07d34f6 100644 --- a/recipes/z3/all/conanfile.py +++ b/recipes/z3/all/conanfile.py @@ -1,11 +1,12 @@ +import os + from conan import ConanFile -from conan.tools.microsoft import check_min_vs -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import export_conandata_patches, apply_conandata_patches, replace_in_file, get, copy, rmdir, save +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import get, copy, rmdir from conan.tools.scm import Version -from conan.errors import ConanInvalidConfiguration -import os required_conan_version = ">=1.53.0" @@ -18,6 +19,7 @@ class Z3Conan(ConanFile): homepage = "https://github.com/Z3Prover/z3" license = "MIT" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,21 +36,19 @@ class Z3Conan(ConanFile): @property def _min_cppstd(self): - return "17" + return 17 @property def _compilers_minimum_version(self): + # Z3 requires C++17, and it is recommended to use VS2019 or later # Compiling z3 with GCC 7 results in a segfault return { - "17": { - "gcc": "8", - "clang": "5", - "apple-clang": "9.1", - }, - }.get(self._min_cppstd, {}) - - def export_sources(self): - export_conandata_patches(self) + "gcc": "8", + "clang": "5", + "apple-clang": "9", + "msvc": "192", + "Visual Studio": "16", + } def config_options(self): if self.settings.os == "Windows": @@ -63,12 +63,9 @@ def layout(self): def requirements(self): if self.options.use_gmp: - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") def validate(self): - # Z3 requires C++17, and it is recommended to use VS2019 or later - check_min_vs(self, "192") - if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -78,10 +75,16 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + venv = VirtualBuildEnv(self) + venv.generate() + tc = CMakeToolchain(self) tc.variables["Z3_USE_LIB_GMP"] = self.options.use_gmp tc.variables["Z3_SINGLE_THREADED"] = not self.options.multithreaded @@ -96,20 +99,19 @@ def generate(self): stdlib = f" -stdlib={self.settings.compiler.libcxx}".rstrip("1") tc.variables["CMAKE_CXX_FLAGS"] = tc.variables.get("CMAKE_CXX_FLAGS", "") + stdlib tc.generate() - tc = CMakeDeps(self) + + deps = CMakeDeps(self) # Override the target name of the GMP library provided by Conan Center - if self.options.use_gmp: - tc.set_property("gmp", "cmake_target_name", "GMP::GMP") - tc.generate() + deps.set_property("gmp", "cmake_target_name", "GMP::GMP") + deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() def package(self): - copy(self, "LICENSE.txt", src=os.path.join(self.source_folder), dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.txt", os.path.join(self.source_folder), os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) @@ -120,12 +122,10 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "z3::libz3") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["libz3"].libs = [ - "libz3" if self.settings.os == "Windows" else "z3"] - if not self.options.shared: - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["libz3"]\ - .system_libs.extend(["pthread", "m"]) + self.cpp_info.components["libz3"].libs = ["libz3" if self.settings.os == "Windows" else "z3"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libz3"].system_libs.extend(["pthread", "m"]) + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "Z3" self.cpp_info.filenames["cmake_find_package_multi"] = "Z3" diff --git a/recipes/z3/config.yml b/recipes/z3/config.yml index 16c46b24354e5..3fad1114f7caf 100644 --- a/recipes/z3/config.yml +++ b/recipes/z3/config.yml @@ -1,4 +1,6 @@ versions: + "4.12.4": + folder: "all" "4.12.2": folder: "all" "4.12.1": From 66e6642f62ef6255a1b781bf62a7888bf0e47334 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jan 2024 16:15:37 +0200 Subject: [PATCH 3309/4087] (#22061) ptex: add v2.4.2 --- recipes/ptex/all/conandata.yml | 7 ++++++- recipes/ptex/all/conanfile.py | 14 ++++++++++++-- ...cmake.patch => 2.4.0-0001-fix-cmake.patch} | 8 -------- .../all/patches/2.4.2-0001-fix-cmake.patch | 19 +++++++++++++++++++ recipes/ptex/config.yml | 2 ++ 5 files changed, 39 insertions(+), 11 deletions(-) rename recipes/ptex/all/patches/{0001-fix-cmake.patch => 2.4.0-0001-fix-cmake.patch} (90%) create mode 100644 recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch diff --git a/recipes/ptex/all/conandata.yml b/recipes/ptex/all/conandata.yml index 7a294e96324ee..6d50d86a6dad6 100644 --- a/recipes/ptex/all/conandata.yml +++ b/recipes/ptex/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "2.4.2": + url: "https://github.com/wdas/ptex/archive/refs/tags/v2.4.2.tar.gz" + sha256: "c8235fb30c921cfb10848f4ea04d5b662ba46886c5e32ad5137c5086f3979ee1" "2.4.0": url: "https://github.com/wdas/ptex/archive/refs/tags/v2.4.0.tar.gz" sha256: "690d66b72f34a92488d63134ad1f5736078677356b0004070b0169b9e3240f8e" patches: + "2.4.2": + - patch_file: "patches/2.4.2-0001-fix-cmake.patch" "2.4.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/2.4.0-0001-fix-cmake.patch" diff --git a/recipes/ptex/all/conanfile.py b/recipes/ptex/all/conanfile.py index 48fcf6593c820..83f58340ae19c 100644 --- a/recipes/ptex/all/conanfile.py +++ b/recipes/ptex/all/conanfile.py @@ -1,8 +1,11 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save import os +from conan.tools.gnu import PkgConfigDeps + required_conan_version = ">=1.53.0" @@ -54,8 +57,15 @@ def generate(self): cd = CMakeDeps(self) cd.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # disable subdirs + save(self, os.path.join(self.source_folder, "src", "utils", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "src", "tests", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "src", "doc", "CMakeLists.txt"), "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/ptex/all/patches/0001-fix-cmake.patch b/recipes/ptex/all/patches/2.4.0-0001-fix-cmake.patch similarity index 90% rename from recipes/ptex/all/patches/0001-fix-cmake.patch rename to recipes/ptex/all/patches/2.4.0-0001-fix-cmake.patch index f6481be77aa84..df8361be35c65 100644 --- a/recipes/ptex/all/patches/0001-fix-cmake.patch +++ b/recipes/ptex/all/patches/2.4.0-0001-fix-cmake.patch @@ -28,14 +28,6 @@ # Detect the build type from the $FLAVOR environment variable # Default to optimized Release builds when unspecified. if ("$ENV{FLAVOR}" MATCHES "debug") -@@ -116,7 +121,4 @@ endif () - include_directories(src/ptex) - - add_subdirectory(src/ptex) --add_subdirectory(src/utils) --add_subdirectory(src/tests) --add_subdirectory(src/doc) - add_subdirectory(src/build) --- a/src/ptex/CMakeLists.txt +++ b/src/ptex/CMakeLists.txt @@ -21,6 +21,7 @@ if(PTEX_BUILD_STATIC_LIBS) diff --git a/recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch b/recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..cfb56ff285af6 --- /dev/null +++ b/recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch @@ -0,0 +1,19 @@ +--- a/src/ptex/CMakeLists.txt ++++ b/src/ptex/CMakeLists.txt +@@ -22,6 +22,7 @@ if(PTEX_BUILD_STATIC_LIBS) + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}) ++ target_compile_definitions(Ptex_static PUBLIC PTEX_STATIC) + target_link_libraries(Ptex_static + PUBLIC Threads::Threads ZLIB::ZLIB) + install(TARGETS Ptex_static EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) +@@ -40,7 +41,7 @@ if(PTEX_BUILD_SHARED_LIBS) + target_compile_definitions(Ptex_dynamic PRIVATE PTEX_EXPORTS) + target_link_libraries(Ptex_dynamic + PUBLIC Threads::Threads ZLIB::ZLIB) +- install(TARGETS Ptex_dynamic EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(TARGETS Ptex_dynamic EXPORT Ptex RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + install(FILES diff --git a/recipes/ptex/config.yml b/recipes/ptex/config.yml index e1d4aed9fe78f..a61c26db894b1 100644 --- a/recipes/ptex/config.yml +++ b/recipes/ptex/config.yml @@ -1,3 +1,5 @@ versions: + "2.4.2": + folder: all "2.4.0": folder: all From c5a7a88b62151458ca280d14f2b5047cbfb77bfe Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jan 2024 23:26:45 +0900 Subject: [PATCH 3310/4087] (#22123) cppcommon: update fmt/10.2.0 --- recipes/cppcommon/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index 9e2726f3581c5..9677a5747f306 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -62,9 +62,9 @@ def requirements(self): if Version(self.version) < "1.0.3" or self.version == "cci.20201104": self.requires("fmt/8.1.1") else: - self.requires("fmt/10.1.0", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 55636cc2458e4f1e364c8884a386763b5d3f6a1b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 00:29:46 +0900 Subject: [PATCH 3311/4087] (#21879) poco: add version 1.13.0 * poco: add version 1.13.0 * Disable net tests Signed-off-by: Uilian Ries * Disable test tests on Conan 1.x Signed-off-by: Uilian Ries * Add comment about manual file copy --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/poco/all/conandata.yml | 10 ++ recipes/poco/all/conanfile.py | 29 +++- .../patches/1.13.0-0002-mysql-include.patch | 143 ++++++++++++++++++ recipes/poco/all/patches/1.13.0.patch | 39 +++++ recipes/poco/all/test_package/conanfile.py | 4 +- recipes/poco/all/test_v1_package/conanfile.py | 4 +- recipes/poco/config.yml | 2 + 7 files changed, 226 insertions(+), 5 deletions(-) create mode 100644 recipes/poco/all/patches/1.13.0-0002-mysql-include.patch create mode 100644 recipes/poco/all/patches/1.13.0.patch diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index 44d50ff4a064f..c2db4d028c469 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.13.0": + url: "https://github.com/pocoproject/poco/archive/poco-1.13.0-release.tar.gz" + sha256: "0135160663795901f317215272fadf71f3b526f38daacb2ae8d6b07ad11d319b" "1.12.5p2": url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p2-release.tar.gz" sha256: "08d201bb287cb59e13577901758aeb3ced7ea44627c79f5c162eb60323812685" @@ -24,6 +27,13 @@ sources: url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" patches: + "1.13.0": + - patch_file: patches/1.13.0.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.13.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.5p2": - patch_file: patches/1.12.3.patch patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index 6ede924a2f329..4f4346cde29c2 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -29,12 +29,14 @@ class PocoConan(ConanFile): "fPIC": [True, False], "enable_fork": [True, False], "enable_active_record": [True, False, "deprecated"], + "with_sql_parser": [True, False], } default_options = { "shared": False, "fPIC": True, "enable_fork": True, "enable_active_record": "deprecated", + "with_sql_parser": True, } _PocoComponent = namedtuple("_PocoComponent", ("option", "default_option", "dependencies", "external_dependencies", "is_lib")) @@ -83,7 +85,13 @@ def _min_cppstd(self): # https://github.com/pocoproject/poco/releases/tag/poco-1.10.0-release # But poco uses C++11 features only until 1.12.5 # https://github.com/pocoproject/poco/commit/886b76f4faa2007cc0c09dad81f8dcdee6fcb4ac - return "11" if Version(self.version) < "1.12.5" else "14" + if Version(self.version) < "1.12.5": + return "11" + # Since 1.13.0, poco requires C++17 + # https://github.com/pocoproject/poco/releases/tag/poco-1.13.0-release + if Version(self.version) < "1.13.0": + return "14" + return "17" @property def _compilers_minimum_version(self): @@ -95,6 +103,13 @@ def _compilers_minimum_version(self): "Visual Studio": "15", "msvc": "191", }, + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, }.get(self._min_cppstd, {}) def export_sources(self): @@ -108,6 +123,8 @@ def config_options(self): del self.options.enable_netssl_win if Version(self.version) < "1.12.0": del self.options.enable_prometheus + if Version(self.version) < "1.13.0": + del self.options.with_sql_parser def configure(self): if self.options.enable_active_record != "deprecated": @@ -224,6 +241,8 @@ def generate(self): # Disable fork if not self.options.get_safe("enable_fork", True): tc.variables["POCO_NO_FORK_EXEC"] = True + if self.options.get_safe("with_sql_parser", None) is False: + tc.variables["POCO_DATA_NO_SQL_PARSER"] = True # Disable automatic linking on MSVC tc.preprocessor_definitions["POCO_NO_AUTOMATIC_LIBS"] = "1" # Picked up from conan v1 CMake wrapper, don't know the rationale @@ -293,6 +312,14 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "cmake")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + # INFO: missing headers https://github.com/pocoproject/poco/issues/4378 + if self.options.get_safe("with_sql_parser", False): + copy( + self, + "*.h", + os.path.join(self.source_folder, "Data", "src"), + os.path.join(self.package_folder, "include"), + ) def package_info(self): self.cpp_info.set_property("cmake_file_name", "Poco") diff --git a/recipes/poco/all/patches/1.13.0-0002-mysql-include.patch b/recipes/poco/all/patches/1.13.0-0002-mysql-include.patch new file mode 100644 index 0000000000000..259dda55b0a96 --- /dev/null +++ b/recipes/poco/all/patches/1.13.0-0002-mysql-include.patch @@ -0,0 +1,143 @@ +diff --git a/Data/MySQL/include/Poco/Data/MySQL/Binder.h b/Data/MySQL/include/Poco/Data/MySQL/Binder.h +index 82fa617..dd7bf60 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/Binder.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/Binder.h +@@ -22,7 +22,7 @@ + #include "Poco/Data/AbstractBinder.h" + #include "Poco/Data/LOB.h" + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +index 2386590..ba0fa3f 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Foundation.h" +-#include ++#include + + + // +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h b/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h +index 67692df..2d28da3 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h +@@ -20,7 +20,7 @@ + + #include "Poco/Data/MySQL/MySQL.h" + #include "Poco/Data/DataException.h" +-#include ++#include + #include + #include + +diff --git a/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h b/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h +index 8b45e2a..caee854 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MetaColumn.h" +-#include ++#include + #include + + +diff --git a/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h b/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h +index ebfb73e..68ed74e 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h b/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h +index 6767b68..55f0991 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/Utility.h b/Data/MySQL/include/Poco/Data/MySQL/Utility.h +index d6d9b40..1e46074 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/Utility.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/Utility.h +@@ -20,7 +20,7 @@ + + #include "Poco/Data/MySQL/MySQL.h" + #include "Poco/Data/Session.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/Connector.cpp b/Data/MySQL/src/Connector.cpp +index b90abab..43e2432 100644 +--- a/Data/MySQL/src/Connector.cpp ++++ b/Data/MySQL/src/Connector.cpp +@@ -16,7 +16,7 @@ + #include "Poco/Data/MySQL/SessionImpl.h" + #include "Poco/Data/SessionFactory.h" + #include "Poco/Exception.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/StatementExecutor.cpp b/Data/MySQL/src/StatementExecutor.cpp +index b7e8dbc..d1b512d 100644 +--- a/Data/MySQL/src/StatementExecutor.cpp ++++ b/Data/MySQL/src/StatementExecutor.cpp +@@ -14,7 +14,7 @@ + + #include "Poco/Data/MySQL/StatementExecutor.h" + #include "Poco/Format.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/Utility.cpp b/Data/MySQL/src/Utility.cpp +index 84e5cfc..b711901 100644 +--- a/Data/MySQL/src/Utility.cpp ++++ b/Data/MySQL/src/Utility.cpp +@@ -15,7 +15,7 @@ + + + #include "Poco/Data/MySQL/Utility.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/testsuite/src/SQLExecutor.cpp b/Data/MySQL/testsuite/src/SQLExecutor.cpp +index 3803223..2a6110f 100644 +--- a/Data/MySQL/testsuite/src/SQLExecutor.cpp ++++ b/Data/MySQL/testsuite/src/SQLExecutor.cpp +@@ -31,7 +31,7 @@ + #endif + + +-#include ++#include + #include + #include + diff --git a/recipes/poco/all/patches/1.13.0.patch b/recipes/poco/all/patches/1.13.0.patch new file mode 100644 index 0000000000000..063b45f860b0f --- /dev/null +++ b/recipes/poco/all/patches/1.13.0.patch @@ -0,0 +1,39 @@ +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index 41ba999..f4a1fe9 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -99,7 +99,7 @@ set_target_properties(Foundation + ) + + if(POCO_UNBUNDLED) +- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) ++ target_link_libraries(Foundation PUBLIC PCRE2::8BIT ZLIB::ZLIB) + target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) + endif(POCO_UNBUNDLED) + +diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt +index c0e1768..32a1187 100644 +--- a/NetSSL_Win/CMakeLists.txt ++++ b/NetSSL_Win/CMakeLists.txt +@@ -21,7 +21,7 @@ set_target_properties(NetSSLWin + DEFINE_SYMBOL NetSSL_Win_EXPORTS + ) + +-target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) ++target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util crypt32 ws2_32) + target_include_directories(NetSSLWin + PUBLIC + $ +diff --git a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake +index 2ef58c5..5d7d7fa 100644 +--- a/cmake/PocoMacros.cmake ++++ b/cmake/PocoMacros.cmake +@@ -40,7 +40,7 @@ if(WIN32) + endforeach() + endif(X64) + endif() +- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} ++ find_program(CMAKE_MC_COMPILER NAMES mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} + DOC "path to message compiler") + if(NOT CMAKE_MC_COMPILER) + message(FATAL_ERROR "message compiler not found: required to build") diff --git a/recipes/poco/all/test_package/conanfile.py b/recipes/poco/all/test_package/conanfile.py index db2773f5ca2c2..155f2e533fc71 100644 --- a/recipes/poco/all/test_package/conanfile.py +++ b/recipes/poco/all/test_package/conanfile.py @@ -20,8 +20,8 @@ def generate(self): poco_options = self.dependencies["poco"].options tc.variables["TEST_CRYPTO"] = poco_options.enable_crypto tc.variables["TEST_UTIL"] = poco_options.enable_util - tc.variables["TEST_NET"] = poco_options.enable_net - tc.variables["TEST_NETSSL"] = poco_options.get_safe("enable_netssl") or poco_options.get_safe("enable_netssl_win") + tc.variables["TEST_NET"] = False + tc.variables["TEST_NETSSL"] = False tc.variables["TEST_SQLITE"] = poco_options.enable_data_sqlite tc.variables["TEST_ENCODINGS"] = poco_options.get_safe("enable_encodings", False) tc.variables["TEST_JWT"] = poco_options.get_safe("enable_jwt", False) diff --git a/recipes/poco/all/test_v1_package/conanfile.py b/recipes/poco/all/test_v1_package/conanfile.py index 3bca6441d5a9a..ef9bd9175eadb 100644 --- a/recipes/poco/all/test_v1_package/conanfile.py +++ b/recipes/poco/all/test_v1_package/conanfile.py @@ -16,8 +16,8 @@ def build(self): cmake = CMake(self) cmake.definitions["TEST_CRYPTO"] = self.options["poco"].enable_crypto cmake.definitions["TEST_UTIL"] = self.options["poco"].enable_util - cmake.definitions["TEST_NET"] = self.options["poco"].enable_net - cmake.definitions["TEST_NETSSL"] = self._poco_option("enable_netssl", False) or self._poco_option("enable_netssl_win", False) + cmake.definitions["TEST_NET"] = False + cmake.definitions["TEST_NETSSL"] = False cmake.definitions["TEST_SQLITE"] = self.options["poco"].enable_data_sqlite cmake.definitions["TEST_ENCODINGS"] = self._poco_option("enable_encodings", False) cmake.definitions["TEST_JWT"] = self._poco_option("enable_jwt", False) diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index c50a32bedbc58..a59a7f8e7171f 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.0": + folder: all "1.12.5p2": folder: all "1.12.5p1": From 75ee447f7153da38bac34c0f9d0c5c7a0c4bd6a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 9 Jan 2024 17:12:13 +0100 Subject: [PATCH 3312/4087] (#22223) Add cppstd 23 for gcc --- .c3i/config_v2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 712dcc277de49..14bd7fa1314b4 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -123,7 +123,7 @@ cppstd: apple-clang: "13": ["17", "gnu17", "20", "gnu20"] gcc: - "11": ["17", "gnu17", "20", "gnu20"] + "11": ["17", "gnu17", "20", "gnu20", "23", "gnu23"] msvc: "192": ["14", "17", "20"] "193": ["14", "17", "20"] From 1ba5c4da20551d2aeaf1889140f934ad387fed77 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 9 Jan 2024 17:39:15 +0100 Subject: [PATCH 3313/4087] (#21881) onnxruntime: bump wil --- recipes/onnxruntime/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 8861b22e93f76..b91cf5d0a83f9 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -96,7 +96,7 @@ def requirements(self): if self.settings.os != "Windows": self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.231028.1") + self.requires("wil/1.0.231216.1") if self.options.with_xnnpack: self.requires("xnnpack/cci.20220801") From ea275b658a6a7dfb9b4b900c7569b198d558dc30 Mon Sep 17 00:00:00 2001 From: Mi-La Date: Tue, 9 Jan 2024 18:10:02 +0100 Subject: [PATCH 3314/4087] (#21869) Zserio 2.13.0 * zserio: Add ZserioCppRuntime as a static library, provide also zserio.jar * zserio: Provide simplified cmake funciton zserio_generate_cpp * Update recipes/zserio/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/zserio/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/zserio/all/conanfile.py Co-authored-by: Uilian Ries * zserio: Improve zserio_generate_cpp cmake function * zserio: Change the package_type to "library" * zserio: Package LICENSE from GitHub sources * zserio: Support conan < 2.0 * zserio: Set builddirs correctly * zserio: Fix topics to conform to conan hooks * zserio: Make it static-library again and support fPIC * zserio: Allow only Windows and Linux * zserio: Fix missing import of ConanInvalidConfiguration error * zserio: Package the static library correctly on Windows (keep_path=False) * zserio: Move license link to conandata.yml * zserio: Stop using collect_libs * zserio: Do not modify downloaded sources * zserio: Switch package_type to 'library' and forbid shared configuration * zserio: Try to support Macos (experimentally) * zserio: Remove forgotten imports * zserio: Use short_paths on Windows * remove shared option Signed-off-by: Uilian Ries * zserio: Fix LICENSE packaging --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/zserio/all/conandata.yml | 11 +++ recipes/zserio/all/conanfile.py | 99 +++++++++++++++++++ .../zserio/all/test_package/CMakeLists.txt | 21 ++++ recipes/zserio/all/test_package/conanfile.py | 26 +++++ .../zserio/all/test_package/test_package.cpp | 15 +++ recipes/zserio/all/zserio_compiler.cmake | 69 +++++++++++++ recipes/zserio/config.yml | 3 + 7 files changed, 244 insertions(+) create mode 100644 recipes/zserio/all/conandata.yml create mode 100644 recipes/zserio/all/conanfile.py create mode 100644 recipes/zserio/all/test_package/CMakeLists.txt create mode 100644 recipes/zserio/all/test_package/conanfile.py create mode 100644 recipes/zserio/all/test_package/test_package.cpp create mode 100644 recipes/zserio/all/zserio_compiler.cmake create mode 100644 recipes/zserio/config.yml diff --git a/recipes/zserio/all/conandata.yml b/recipes/zserio/all/conandata.yml new file mode 100644 index 0000000000000..9a65ed8b0e67c --- /dev/null +++ b/recipes/zserio/all/conandata.yml @@ -0,0 +1,11 @@ +sources: + "2.13.0": + runtime: + url: "https://github.com/ndsev/zserio/releases/download/v2.13.0/zserio-2.13.0-runtime-libs.zip" + sha256: "a720bd3208190f44b232296c11f1a3880154431f2f005e7db8f07ab01c9d235d" + compiler: + url: "https://github.com/ndsev/zserio/releases/download/v2.13.0/zserio-2.13.0-bin.zip" + sha256: "be5cf2a08aa91adac034f12609ea0a697d9f3ef7a00c1c38e6b997f9455dacd4" + license: + url: "https://raw.githubusercontent.com/ndsev/zserio/v2.13.0/LICENSE" + sha256: "7049b75154737fd45754917ba3d1027ad0b00beac15cb8931edaee4de40978ac" diff --git a/recipes/zserio/all/conanfile.py b/recipes/zserio/all/conanfile.py new file mode 100644 index 0000000000000..34e9e0b178ab6 --- /dev/null +++ b/recipes/zserio/all/conanfile.py @@ -0,0 +1,99 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, download, get +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + +required_conan_version = ">=1.54.0" + +class ZserioConanFile(ConanFile): + name = "zserio" + description = "Zserio C++ Runtime Library" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index/" + homepage = "https://zserio.org" + topics = ("zserio", "cpp", "c++", "serialization") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + short_paths = True # TODO: remove in conan v2 + options = { + "fPIC": [True, False] + } + default_options = { + "fPIC": False + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + copy(self, "zserio_compiler.cmake", self.recipe_folder, self.export_sources_folder) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os not in ["Linux", "Windows", "Macos"]: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support '{self.settings.os}'.") + + # experimental Macos support + if self.settings.os == "Macos": + self.output.warning("Macos is support is experimental! It's not (yet) supported by the upstream!") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + sources = self.conan_data["sources"][self.version] + get(self, **sources["runtime"], strip_root=True) + download(self, filename="LICENSE", **sources["license"]) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder="cpp") + cmake.build() + sources = self.conan_data["sources"][self.version] + get(self, **sources["compiler"], pattern="zserio.jar") + + @property + def _cmake_module_path(self): + return os.path.join("lib", "cmake", "zserio") + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + + include_dir = os.path.join(self.package_folder, "include") + lib_dir = os.path.join(self.package_folder, "lib") + copy(self, "*.h", os.path.join(self.source_folder, "cpp"), include_dir) + copy(self, "*.lib", self.build_folder, lib_dir, keep_path=False) + copy(self, "*.a", self.build_folder, lib_dir, keep_path=False) + + copy(self, "zserio.jar", self.build_folder, os.path.join(self.package_folder, "bin")) + copy(self, "zserio_compiler.cmake", self.export_sources_folder, + os.path.join(self.package_folder, self._cmake_module_path)) + + def package_info(self): + self.cpp_info.libs = ["ZserioCppRuntime"] + self.cpp_info.set_property("cmake_target_name", "zserio::ZserioCppRuntime") + + zserio_jar_file = os.path.join(self.package_folder, "bin", "zserio.jar") + self.buildenv_info.define("ZSERIO_JAR_FILE", zserio_jar_file) + + self.cpp_info.builddirs.append(self._cmake_module_path) + zserio_compiler_module = os.path.join(self.package_folder, self._cmake_module_path, + "zserio_compiler.cmake") + self.cpp_info.set_property("cmake_build_modules", [zserio_compiler_module]) + + # TODO: remove in conan v2 + self.env_info.ZSERIO_JAR_FILE = zserio_jar_file diff --git a/recipes/zserio/all/test_package/CMakeLists.txt b/recipes/zserio/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..e3ab3ca5ca033 --- /dev/null +++ b/recipes/zserio/all/test_package/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(zserio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE zserio::ZserioCppRuntime) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +# check that ZSERIO_JAR_FILE exists +if (NOT DEFINED ENV{ZSERIO_JAR_FILE}) + message(FATAL_ERROR "ZSERIO_JAR_FILE in not defined!") +endif () +if (NOT EXISTS $ENV{ZSERIO_JAR_FILE}) + message(FATAL_ERROR "ZSERIO_JAR_FILE '$ENV{ZSERIO_JAR_FILE}' does not exist!") +endif () +# check that zserio_generate_cpp function is available +if (NOT COMMAND zserio_generate_cpp) + message(FATAL_ERROR("Function 'zserio_generate_cpp' is not available!")) +endif () diff --git a/recipes/zserio/all/test_package/conanfile.py b/recipes/zserio/all/test_package/conanfile.py new file mode 100644 index 0000000000000..174d5cb36b6e7 --- /dev/null +++ b/recipes/zserio/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + +class ZserioTestPackageConanFile(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualBuildEnv", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/zserio/all/test_package/test_package.cpp b/recipes/zserio/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..b1416a5ae2ec0 --- /dev/null +++ b/recipes/zserio/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include +#include + +int main(int argc, char* argv[]) +{ + zserio::BitBuffer bitBuffer(64); + zserio::BitStreamWriter writer(bitBuffer); + const uint64_t value = UINT64_MAX; + writer.writeBits64(value, 64); + + zserio::BitStreamReader reader(writer.getWriteBuffer(), writer.getBitPosition(), zserio::BitsTag()); + const uint64_t readValue = reader.readBits64(64); + + return value == readValue ? 0 : 1; +} diff --git a/recipes/zserio/all/zserio_compiler.cmake b/recipes/zserio/all/zserio_compiler.cmake new file mode 100644 index 0000000000000..7d82a869042ee --- /dev/null +++ b/recipes/zserio/all/zserio_compiler.cmake @@ -0,0 +1,69 @@ +function(zserio_generate_cpp) + find_program(JAVA java) + if (NOT JAVA) + message(FATAL_ERROR "Could not find java!") + endif() + if (NOT DEFINED ENV{ZSERIO_JAR_FILE} OR NOT EXISTS $ENV{ZSERIO_JAR_FILE}) + message(FATAL_ERROR "Could not fine zserio.jar!") + endif() + + cmake_parse_arguments(ZSERIO_GENERATE + "" + "TARGET;SRC_DIR;MAIN_ZS;GEN_DIR" + "EXTRA_ARGS" + ${ARGN}) + + # check required arguments + foreach (ARG TARGET GEN_DIR) + if (NOT DEFINED ZSERIO_GENERATE_${ARG}) + message(FATAL_ERROR "No value defined for required argument ${ARG}!") + endif () + endforeach () + + # default values + if (NOT DEFINED ZSERIO_GENERATE_SRC_DIR) + set(ZSERIO_GENERATE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + endif () + if (NOT DEFINED ZSERIO_GENERATE_MAIN_ZS) + # try to get a single main zs + get_target_property(ZS_SOURCES ${ZSERIO_GENERATE_TARGET} SOURCES) + list(FILTER ZS_SOURCES INCLUDE REGEX "\\.zs$") + list(LENGTH ZS_SOURCES ZS_SOURCES_LENGTH) + if (${ZS_SOURCES_LENGTH} EQUAL 1) + list(GET ZS_SOURCES 0 ZSERIO_GENERATE_MAIN_ZS) + message(STATUS "Found main '*.zs' file: '${ZSERIO_GENERATE_MAIN_ZS}'") + else () + message(FATAL_ERROR "Main '*.zs* file not specifid and cannot be detected!") + endif () + endif () + + set(ZSERIO_COMMAND + ${JAVA} -jar $ENV{ZSERIO_JAR_FILE} + -src ${ZSERIO_GENERATE_SRC_DIR} ${ZSERIO_GENERATE_MAIN_ZS} + -cpp ${ZSERIO_GENERATE_GEN_DIR} + ${ZSERIO_GENERATE_EXTRA_ARGS} + ) + + # run the generator during configure phase, zserio has built in support to prevent sources re-generation + # and thus it should't make problems when cmake reconfigure is triggered from another reason + execute_process( + COMMAND ${ZSERIO_COMMAND} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + RESULT_VARIABLE ZSERIO_GENERATE_RESULT) + + if (NOT ${ZSERIO_GENERATE_RESULT} EQUAL 0) + message(FATAL_ERROR "Zserio generator failed!") + endif () + + # ensure cmake reconfigure when zserio sources are changed + file(GLOB_RECURSE ZSERIO_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" + "${ZSERIO_GENERATE_SRC_DIR}/*.zs") + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${ZSERIO_SOURCES} $ENV{ZSERIO_JAR_FILE}) + + file(GLOB_RECURSE GENERATED_SOURCES RELATIVE "${CMAKE_CURRENT_BINARY_DIR}" + "${ZSERIO_GENERATE_GEN_DIR}/*.h" + "${ZSERIO_GENERATE_GEN_DIR}/*.cpp") + + set_source_files_properties(${GENERATED_SOURCES} PROPERTIES GENERATED TRUE) + target_sources(${ZSERIO_GENERATE_TARGET} PRIVATE ${GENERATED_SOURCES}) +endfunction() diff --git a/recipes/zserio/config.yml b/recipes/zserio/config.yml new file mode 100644 index 0000000000000..319f45f887837 --- /dev/null +++ b/recipes/zserio/config.yml @@ -0,0 +1,3 @@ +versions: + "2.13.0": + folder: all From 8b7f62502ec90c4bea39492251fe9b09112ac666 Mon Sep 17 00:00:00 2001 From: nikitasinys <41003678+nikitasinys@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:20:35 +0100 Subject: [PATCH 3315/4087] (#22211) (#22210) bazel: add version 5.4.1 Reason: The tensorflow_cc package does not support current versions and requires versions >= 4.2.2 and <= 5.99.0 --- recipes/bazel/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/bazel/config.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/recipes/bazel/all/conandata.yml b/recipes/bazel/all/conandata.yml index 30dcb9273146b..243efd0d24b9d 100644 --- a/recipes/bazel/all/conandata.yml +++ b/recipes/bazel/all/conandata.yml @@ -51,6 +51,32 @@ sources: url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-windows-arm64.exe" sha256: "3c23fccd3815933452c859e8482864598b6903d3143f9f18589915bf2c0dd2d4" + "5.4.1": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/5.4.1/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-darwin-x86_64" + sha256: "e8f796d67e9e4b54183c465443158dfb38bfe7df3626c1cfa0a6a3d9866047f9" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-darwin-arm64" + sha256: "f2443a2131e832c2f12d448e673be7dad9cd2822066b4e2d4bd2d634bb2495e6" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-linux-x86_64" + sha256: "5d90515f84b5ee1fd6ec22ee9e83103e77ed1a907ee5eec198fef3a5b45abf13" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-linux-arm64" + sha256: "431dfaf5c0bd264b5753ae7a57f262137394c214c5e83651218887a9155dd010" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-windows-x86_64.exe" + sha256: "f44329c91ee0ca2ea8526f9c0fecb65f1aa483e658f9b09831b16a0e70e16b51" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-windows-arm64.exe" + sha256: "1e273c20dfa8493bf21b002614592a6cb3aa9eabe8b30eda96f8a517fca1a619" + "4.0.0": license: url: "https://raw.githubusercontent.com/bazelbuild/bazel/4.0.0/LICENSE" diff --git a/recipes/bazel/config.yml b/recipes/bazel/config.yml index 94ee5cce25feb..e9824e01dcd11 100644 --- a/recipes/bazel/config.yml +++ b/recipes/bazel/config.yml @@ -3,5 +3,7 @@ versions: folder: all "6.2.0": folder: all + "5.4.1": + folder: all "4.0.0": folder: all From e1502b204eaf2f63300b03e194ca3ff896ff86ab Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 02:30:44 +0900 Subject: [PATCH 3316/4087] (#22226) toml11: add version 3.8.1 --- recipes/toml11/all/conandata.yml | 3 +++ recipes/toml11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index f17e5e0f8117a..4af534aa325d5 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.1": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.1.tar.gz" + sha256: "6a3d20080ecca5ea42102c078d3415bef80920f6c4ea2258e87572876af77849" "3.8.0": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.0.tar.gz" sha256: "36ce64b09f9151b57ba1970f12a591006fcae17b751ba011314c1f5518e77bc7" diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index c4cf097c48cb6..cc2a74e6a20e3 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.1": + folder: all "3.8.0": folder: all "3.7.1": From cc0e2bc29e5145f40b36df76f80ce71ebf740072 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 9 Jan 2024 19:05:36 +0100 Subject: [PATCH 3317/4087] (#22202) at-spi2-core 2.51.0 --- recipes/at-spi2-core/config.yml | 2 ++ recipes/at-spi2-core/new/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index f0d6f514974e4..f37e219eb66cb 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -23,3 +23,5 @@ versions: folder: new "2.50.0": folder: new + "2.51.0": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index b27bb3ef5a258..58e8f4f097094 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.51.0": + sha256: 8dd07c6160e3115f4f77e2205963449def6822a3dc85d495c5db389f56663037 + url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.51/at-spi2-core-2.51.0.tar.xz "2.50.0": sha256: e9f5a8c8235c9dd963b2171de9120301129c677dde933955e1df618b949c4adc url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.50/at-spi2-core-2.50.0.tar.xz From 29de1ad97517624c4642e3df1bb0ce09d6ff0d43 Mon Sep 17 00:00:00 2001 From: Hossein Moein <31854960+hosseinmoein@users.noreply.github.com> Date: Tue, 9 Jan 2024 13:40:02 -0500 Subject: [PATCH 3318/4087] (#22172) Upgrading C++ DataFrame to version 2.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Upgrading C++ DataFrame to version 2.3.0 * Fixed python error --------- Co-authored-by: Rubén Rincón Blanco --- recipes/dataframe/all/conandata.yml | 3 +++ recipes/dataframe/all/conanfile.py | 14 +++++++++++++- recipes/dataframe/all/test_package/CMakeLists.txt | 3 +++ recipes/dataframe/config.yml | 2 ++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 6ea3f55c476e4..8299cf452cbdd 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/v2.3.0.tar.gz" + sha256: "d671a3d47c2ef250cadddbae545b1b7bee51f9411836b627b7860e187c868a72" "2.2.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.2.0.tar.gz" sha256: "289e8f86c9d468ee62508167c202c34d662915922582af73b9d31691feb2b0af" diff --git a/recipes/dataframe/all/conanfile.py b/recipes/dataframe/all/conanfile.py index 33deb412912f9..f523ba86724db 100644 --- a/recipes/dataframe/all/conanfile.py +++ b/recipes/dataframe/all/conanfile.py @@ -50,7 +50,12 @@ class DataFrameConan(ConanFile): @property def _min_cppstd(self): - return "20" if Version(self.version) >= "2.1.0" else "17" + if Version(self.version) < "2.1.0": + return "17" + elif Version(self.version) <= "2.2.0": + return "20" + else: + return "23" @property def _minimum_compilers_version(self): @@ -69,6 +74,13 @@ def _minimum_compilers_version(self): "clang": "12", "apple-clang": "13", }, + "23": { + "Visual Studio": "17", + "msvc": "192", + "gcc": "13", + "clang": "15", + "apple-clang": "15", + }, }.get(self._min_cppstd, {}) def export_sources(self): diff --git a/recipes/dataframe/all/test_package/CMakeLists.txt b/recipes/dataframe/all/test_package/CMakeLists.txt index b1fa419a617f6..f0af8e717acbf 100644 --- a/recipes/dataframe/all/test_package/CMakeLists.txt +++ b/recipes/dataframe/all/test_package/CMakeLists.txt @@ -10,3 +10,6 @@ if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.1.0") else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) endif() +if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.3.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23) +endif() diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml index 7972770297f04..aca71224e11e1 100644 --- a/recipes/dataframe/config.yml +++ b/recipes/dataframe/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.0": folder: all "2.1.0": From fa3829b57566a77ec8092534249018c422cce974 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 05:52:02 +0900 Subject: [PATCH 3319/4087] (#22233) glaze: add version 2.0.3 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index d3f62b78045c6..c00d61094fdb5 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://github.com/stephenberry/glaze/archive/v2.0.3.tar.gz" + sha256: "7e155d2970329ff4a13fe1d4c4e4b63509405a984b4f37ef9f92b8756bb3c8ce" "2.0.2": url: "https://github.com/stephenberry/glaze/archive/v2.0.2.tar.gz" sha256: "af65752fb523c82313bfbe9c04ab47e332d881154f06c63967b973ee51e5923d" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5ac32437d36ed..a06406120e257 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: all "2.0.2": folder: all "2.0.1": From 5231449deb69f6067ac2f31bd9a484fcf9128183 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 12:17:03 +0200 Subject: [PATCH 3320/4087] (#21332) opentelemetry-cpp: add v1.12.0, drop old versions, update and fix options, fix build requirements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * opentelemetry-cpp: drop old versions, bump deps * opentelemetry-cpp: fix with_otlp=False handling * opentelemetry-cpp: fix opentelemetry-proto usage Fixes #18967. * opentelemetry-cpp: simplify patching * opentelemetry-cpp: add v1.12.0, update options * opentelemetry-cpp: add transitive_headers=True * opentelemetry-cpp: rmdir lib/pkgconfig * opentelemetry-cpp: disable failing configuration * Apply suggestions from code review Co-authored-by: Uilian Ries * opentelemetry-cpp: fix formatting --------- Co-authored-by: Francisco Ramírez Co-authored-by: Daniel Co-authored-by: Uilian Ries --- recipes/opentelemetry-cpp/all/conandata.yml | 65 +--- recipes/opentelemetry-cpp/all/conanfile.py | 282 ++++++++---------- .../all/patches/1.0.1-0001-fix-cmake.patch | 28 -- .../all/patches/1.2.0-0001-fix-cmake.patch | 15 - .../all/patches/1.3.0-0001-fix-cmake.patch | 27 -- .../all/patches/1.4.0-0001-fix-cmake.patch | 27 -- .../all/patches/1.6.1-0001-fix-cmake.patch | 27 -- .../all/patches/1.7.0-0001-fix-cmake.patch | 27 -- .../all/patches/1.8.1-0001-fix-cmake.patch | 27 -- .../all/patches/1.9.1-0001-fix-cmake.patch | 27 -- recipes/opentelemetry-cpp/config.yml | 16 +- 11 files changed, 139 insertions(+), 429 deletions(-) delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch diff --git a/recipes/opentelemetry-cpp/all/conandata.yml b/recipes/opentelemetry-cpp/all/conandata.yml index 2342d2e0da093..fb4e67647e394 100644 --- a/recipes/opentelemetry-cpp/all/conandata.yml +++ b/recipes/opentelemetry-cpp/all/conandata.yml @@ -1,66 +1,13 @@ sources: + "1.12.0": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.12.0.tar.gz" + sha256: "09c208a21fb1159d114a3ea15dc1bcc5dee28eb39907ba72a6012d2c7b7564a0" "1.9.1": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.9.1.tar.gz" sha256: "668de24f81c8d36d75092ad9dcb02a97cd41473adbe72485ece05e336db48249" - "1.8.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.8.1.tar.gz" - sha256: "3d640201594b07f08dade9cd1017bd0b59674daca26223b560b9bb6bf56264c2" + "1.8.3": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.8.3.tar.gz" + sha256: "b23d3c80d2e0012734ea343d2be69b2a7139ec5545453c503b13e629eb8fbe05" "1.7.0": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.7.0.tar.gz" sha256: "2ad0911cdc94fe84a93334773bef4789a38bd1f01e39560cabd4a5c267e823c3" - "1.6.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.6.1.tar.gz" - sha256: "1fc371be049b3220b8b9571c8b713f03e9a84f3c5684363f64ccc814638391a5" - "1.4.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.4.1.tar.gz" - sha256: "301b1ab74a664723560f46c29f228360aff1e2d63e930b963755ea077ae67524" - "1.4.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.4.0.tar.gz" - sha256: "110f4fb2e38dcc72a421647631cfbb9429afd3c77c6c98829cc1d11bd0c72563" - "1.3.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.3.0.tar.gz" - sha256: "6a4c43b9c9f753841ebc0fe2717325271f02e2a1d5ddd0b52735c35243629ab3" - "1.2.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.2.0.tar.gz" - sha256: "7a6420f9e4fa44b81a5b06e30e5e116da71decc9086e5cc4f126e1efc8a397c2" - "1.0.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.0.1.tar.gz" - sha256: "32f12ff15ec257e3462883f84bc291c2d5dc30055604c12ec4b46a36dfa3f189" - -patches: - "1.9.1": - - patch_file: "patches/1.9.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.8.1": - - patch_file: "patches/1.8.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.7.0": - - patch_file: "patches/1.7.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.6.1": - - patch_file: "patches/1.6.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.4.1": - - patch_file: "patches/1.4.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.4.0": - - patch_file: "patches/1.4.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.3.0": - - patch_file: "patches/1.3.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.2.0": - - patch_file: "patches/1.2.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.0.1": - - patch_file: "patches/1.0.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index 7d1799e99839a..e13d0077e219b 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -1,16 +1,15 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, replace_in_file, save +from conan.tools.files import get, copy, rmdir, replace_in_file, save from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.microsoft import check_min_vs -from conan.tools.env import Environment +from conan.tools.env import VirtualRunEnv, VirtualBuildEnv import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.56.0 <2 || >=2.0.6" class OpenTelemetryCppConan(ConanFile): name = "opentelemetry-cpp" @@ -28,7 +27,7 @@ class OpenTelemetryCppConan(ConanFile): "with_stl": [True, False], "with_gsl": [True, False], "with_abseil": [True, False], - "with_otlp": [True, False], + "with_otlp": ["deprecated", True, False], "with_otlp_grpc": [True, False], "with_otlp_http": [True, False], "with_zipkin": [True, False], @@ -50,7 +49,7 @@ class OpenTelemetryCppConan(ConanFile): "with_stl": False, "with_gsl": False, "with_abseil": True, - "with_otlp": True, + "with_otlp": "deprecated", "with_otlp_grpc": True, "with_otlp_http": True, "with_zipkin": True, @@ -67,23 +66,39 @@ class OpenTelemetryCppConan(ConanFile): short_paths = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): + if self.options.with_abseil and Version(self.dependencies["abseil"].ref.version) >= "20230125": + return 14 return 11 - def export_sources(self): - export_conandata_patches(self) + @property + def _compilers_minimum_version(self): + if self._min_cppstd == 14: + return { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "16", + "msvc": "192", + } + else: + return { + "Visual Studio": "16", + "msvc": "192", + } def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") + if Version(self.version) >= "1.10": + del self.options.with_jaeger def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - - if not self.options.with_otlp: - self.options.rm_safe("with_otlp_grpc") - self.options.rm_safe("with_otlp_http") + if self.options.with_otlp != "deprecated": + self.output.warning(f"{self.ref}:with_otlp option is deprecated, do not use anymore. " + "Please, consider with_otlp_grpc or with_otlp_http instead.") def layout(self): cmake_layout(self, src_folder="src") @@ -93,21 +108,15 @@ def requirements(self): self.requires("ms-gsl/4.0.0") if self.options.with_abseil: - self.requires("abseil/20220623.0", transitive_headers=True) + self.requires("abseil/20230125.3", transitive_headers=True) - if self.options.with_otlp: - self.requires("protobuf/3.21.9") - if Version(self.version) <= "1.4.1": - self.requires("opentelemetry-proto/0.11.0") - else: - self.requires("opentelemetry-proto/0.20.0") - - if self.options.get_safe("with_otlp_grpc"): - self.requires("grpc/1.50.1") + if self.options.with_otlp_grpc: + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) + self.requires("grpc/1.54.3", transitive_headers=True, transitive_libs=True) if (self.options.with_zipkin or self.options.with_elasticsearch or - self.options.get_safe("with_otlp_http") or + self.options.with_otlp_http or self.options.with_etw ): self.requires("nlohmann_json/3.11.2") @@ -115,38 +124,34 @@ def requirements(self): if (self.options.with_zipkin or self.options.with_elasticsearch or - self.options.get_safe("with_otlp_http") + self.options.with_otlp_http ): - self.requires("libcurl/8.1.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_prometheus: self.requires("prometheus-cpp/1.1.0") - if self.options.with_jaeger: + if self.options.get_safe("with_jaeger"): self.requires("thrift/0.17.0") - - if Version(self.version) >= "1.3.0": - self.requires("boost/1.82.0") + self.requires("boost/1.82.0") @property def _required_boost_components(self): - return ["locale"] if self.options.with_jaeger and Version(self.version) >= "1.3.0" else [] + return ["locale"] if self.options.get_safe("with_jaeger") else [] def validate(self): - if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - check_min_vs(self, "192") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.os != "Linux" and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} supports building shared libraries only on Linux") - if self.options.get_safe("with_otlp_grpc") and not self.options.with_otlp: - raise ConanInvalidConfiguration("Option 'with_otlp_grpc' requires 'with_otlp'") - - if self.options.get_safe("with_otlp_http") and not self.options.with_otlp: - raise ConanInvalidConfiguration("Option 'with_otlp_http' requires 'with_otlp'") - - if self.options.get_safe("with_otlp_grpc"): + if self.options.with_otlp_grpc: if not self.dependencies["grpc"].options.cpp_plugin: raise ConanInvalidConfiguration(f"{self.ref} requires grpc with cpp_plugin=True") @@ -159,11 +164,16 @@ def validate(self): f"{', '.join(self._required_boost_components)}" ) + if conan_version.major == 1 and self.settings.compiler == "apple-clang" and Version(self.version) >= "1.12.0": + # Only fails on apple-clang in this configuration for some reason: + # https://github.com/conan-io/conan-center-index/pull/21332#issuecomment-1830766894 + raise ConanInvalidConfiguration("opentelemetry-cpp >= 1.12.0 does not support Apple Clang on Conan v1") + def build_requirements(self): - if self.options.with_otlp: - self.tool_requires("protobuf/3.21.9") - if self.options.get_safe("with_otlp_grpc"): - self.tool_requires("grpc/1.50.1") + if self.options.with_otlp_grpc: + self.tool_requires("opentelemetry-proto/1.0.0") + self.tool_requires("protobuf/") + self.tool_requires("grpc/") def _create_cmake_module_variables(self, module_file): content = textwrap.dedent("""\ @@ -176,72 +186,68 @@ def _create_cmake_module_variables(self, module_file): """) save(self, module_file, content) + def package_id(self): + # deprecated + del self.info.options.with_otlp + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - tc = CMakeToolchain(self) + VirtualBuildEnv(self).generate(scope="build") + VirtualRunEnv(self).generate(scope="build") - tc.variables["BUILD_TESTING"] = False - tc.variables["BUILD_BENCHMARK"] = False - - tc.variables["WITH_EXAMPLES"] = False - tc.variables["WITH_NO_DEPRECATED_CODE"] = self.options.with_no_deprecated_code - tc.variables["WITH_STL"] = self.options.with_stl - tc.variables["WITH_GSL"] = self.options.with_gsl - tc.variables["WITH_ABSEIL"] = self.options.with_abseil - tc.variables["WITH_OTLP"] = self.options.with_otlp - tc.variables["WITH_OTLP_GRPC"] = self.options.get_safe("with_otlp_grpc") - tc.variables["WITH_OTLP_HTTP"] = self.options.get_safe("with_otlp_http") - tc.variables["WITH_ZIPKIN"] = self.options.with_zipkin - tc.variables["WITH_PROMETHEUS"] = self.options.with_prometheus - tc.variables["WITH_ELASTICSEARCH"] = self.options.with_elasticsearch - tc.variables["WITH_ZPAGES"] = self.options.with_zpages - tc.variables["WITH_JAEGER"] = self.options.with_jaeger - tc.variables["WITH_NO_GETENV"] = self.options.with_no_getenv - tc.variables["WITH_ETW"] = self.options.with_etw - tc.variables["WITH_LOGS_PREVIEW"] = self.options.with_logs_preview - tc.variables["WITH_ASYNC_EXPORT_PREVIEW"] = self.options.with_async_export_preview - tc.variables["WITH_METRICS_EXEMPLAR_PREVIEW"] = self.options.with_metrics_exemplar_preview + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["BUILD_BENCHMARK"] = False + tc.cache_variables["WITH_EXAMPLES"] = False + tc.cache_variables["WITH_NO_DEPRECATED_CODE"] = self.options.with_no_deprecated_code + tc.cache_variables["WITH_STL"] = self.options.with_stl + tc.cache_variables["WITH_GSL"] = self.options.with_gsl + tc.cache_variables["WITH_ABSEIL"] = self.options.with_abseil + if Version(self.version) < "1.10": + tc.cache_variables["WITH_OTLP"] = self.options.with_otlp_grpc or self.options.with_otlp_http + tc.cache_variables["WITH_OTLP_GRPC"] = self.options.with_otlp_grpc + tc.cache_variables["WITH_OTLP_HTTP"] = self.options.with_otlp_http + tc.cache_variables["WITH_ZIPKIN"] = self.options.with_zipkin + tc.cache_variables["WITH_PROMETHEUS"] = self.options.with_prometheus + tc.cache_variables["WITH_ELASTICSEARCH"] = self.options.with_elasticsearch + tc.cache_variables["WITH_ZPAGES"] = self.options.with_zpages + tc.cache_variables["WITH_JAEGER"] = self.options.get_safe("with_jaeger", False) + tc.cache_variables["WITH_NO_GETENV"] = self.options.with_no_getenv + tc.cache_variables["WITH_ETW"] = self.options.with_etw + tc.cache_variables["WITH_LOGS_PREVIEW"] = self.options.with_logs_preview + tc.cache_variables["WITH_ASYNC_EXPORT_PREVIEW"] = self.options.with_async_export_preview + tc.cache_variables["WITH_METRICS_EXEMPLAR_PREVIEW"] = self.options.with_metrics_exemplar_preview + tc.cache_variables["OPENTELEMETRY_INSTALL"] = True + if not self.settings.compiler.cppstd: + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() - tc = CMakeDeps(self) - tc.generate() + deps = CMakeDeps(self) - if self.settings.os == "Linux": - env = Environment() - if self.dependencies["grpc"].options.shared: - env.append_path("LD_LIBRARY_PATH", os.path.join(self.dependencies["grpc"].package_folder, "lib")) - if self.dependencies["protobuf"].options.shared: - env.append_path("LD_LIBRARY_PATH", os.path.join(self.dependencies["protobuf"].package_folder, "lib")) - env.vars(self).save_script("conanbuild_loadpath") + deps.generate() def _patch_sources(self): - protos_path = self.dependencies["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") - protos_cmake_path = os.path.join( - self.source_folder, - "cmake", - "opentelemetry-proto.cmake") - if Version(self.version) >= "1.1.0": - replace_in_file(self, - protos_cmake_path, - "if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto/.git)", - "if(1)") - if Version(self.version) < "1.9.0": - replace_in_file(self, - protos_cmake_path, - "set(PROTO_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", - f"set(PROTO_PATH \"{protos_path}\")") - else: - replace_in_file(self, - protos_cmake_path, - "\"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", - f"\"{protos_path}\")") + if self.options.with_otlp_http or self.options.with_otlp_grpc: + protos_path = self.dependencies.build["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") + protos_cmake_path = os.path.join(self.source_folder, "cmake", "opentelemetry-proto.cmake") + replace_in_file(self, protos_cmake_path, + "if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto/.git)", + "if(1)") + if Version(self.version) < "1.8.3": + replace_in_file(self, protos_cmake_path, + 'set(PROTO_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', + f'set(PROTO_PATH "{protos_path}")') + else: + replace_in_file(self, protos_cmake_path, + '"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', + f'"{protos_path}")') + if self.options.with_otlp_grpc and Version(self.version) < "1.9.1": + save(self, protos_cmake_path, "\ntarget_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++)", append=True) rmdir(self, os.path.join(self.source_folder, "api", "include", "opentelemetry", "nostd", "absl")) - apply_conandata_patches(self) - def build(self): self._patch_sources() cmake = CMake(self) @@ -253,6 +259,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) self._create_cmake_module_variables( os.path.join(self.package_folder, self._otel_cmake_variables_path) ) @@ -272,7 +279,7 @@ def _otel_build_modules(self): @property def _http_client_name(self): - return "http_client_curl" if Version(self.version) < "1.3.0" else "opentelemetry_http_client_curl" + return "opentelemetry_http_client_curl" @property def _otel_libraries(self): @@ -285,64 +292,41 @@ def _otel_libraries(self): "opentelemetry_trace", "opentelemetry_version", ] - - if self.options.with_otlp: + if self.options.with_otlp_grpc or self.options.with_otlp_http: libraries.extend([ "opentelemetry_proto", "opentelemetry_otlp_recordable", ]) - - if self.options.get_safe("with_otlp_grpc"): + if self.options.with_otlp_grpc: libraries.append("opentelemetry_exporter_otlp_grpc") - - if Version(self.version) >= "1.5.0": - libraries.append("opentelemetry_exporter_otlp_grpc_metrics") - + libraries.append("opentelemetry_exporter_otlp_grpc_metrics") if Version(self.version) >= "1.7.0": libraries.append("opentelemetry_exporter_otlp_grpc_client") - if self.options.with_logs_preview: libraries.append("opentelemetry_exporter_otlp_grpc_log") - - if self.options.get_safe("with_otlp_http"): + if self.options.with_otlp_http: libraries.append("opentelemetry_exporter_otlp_http") - - if Version(self.version) >= "1.1.0": - libraries.append("opentelemetry_exporter_otlp_http_client") - - if Version(self.version) >= "1.5.0": - libraries.append("opentelemetry_exporter_otlp_http_metric") - + libraries.append("opentelemetry_exporter_otlp_http_client") + libraries.append("opentelemetry_exporter_otlp_http_metric") if self.options.with_logs_preview: libraries.append("opentelemetry_exporter_otlp_http_log") - if self.options.with_prometheus: libraries.append("opentelemetry_exporter_prometheus") - if self.options.with_elasticsearch and self.options.with_logs_preview: libraries.append("opentelemetry_exporter_elasticsearch_logs") - if self.options.with_zipkin: libraries.append("opentelemetry_exporter_zipkin_trace") - - if self.options.with_jaeger: + if self.options.get_safe("with_jaeger"): libraries.append("opentelemetry_exporter_jaeger_trace") - - if Version(self.version) >= "1.2.0": - libraries.append("opentelemetry_metrics") - - if Version(self.version) >= "1.4.0": - libraries.append("opentelemetry_exporter_ostream_metrics") - + libraries.append("opentelemetry_metrics") + libraries.append("opentelemetry_exporter_ostream_metrics") if self.options.with_logs_preview: libraries.extend([ "opentelemetry_logs", "opentelemetry_exporter_ostream_logs", ]) - if self.settings.os == "Windows" and self.options.with_etw: libraries.append("opentelemetry_exporter_etw") - return libraries def package_info(self): @@ -391,20 +375,16 @@ def package_info(self): self.cpp_info.components["opentelemetry_common"].defines.append("HAVE_ABSEIL") self.cpp_info.components["opentelemetry_common"].requires.append("abseil::abseil") - if self.options.with_otlp: - self.cpp_info.components["opentelemetry_proto"].requires.extend([ - "opentelemetry-proto::opentelemetry-proto", - "protobuf::protobuf", - ]) - + if self.options.with_otlp_http or self.options.with_otlp_grpc: + self.cpp_info.components["opentelemetry_proto"].requires.append("protobuf::protobuf") self.cpp_info.components["opentelemetry_otlp_recordable"].requires.extend([ "opentelemetry_proto", "opentelemetry_resources", "opentelemetry_trace", ]) - if self.options.get_safe("with_otlp_grpc"): - if Version(self.version) >= "1.5.0" and Version(self.version) < "1.7.0": + if self.options.with_otlp_grpc: + if "1.5.0" <= Version(self.version) < "1.7.0": self.cpp_info.components["opentelemetry_exporter_otlp_grpc_metrics"].requires.extend([ "grpc::grpc++", "opentelemetry_otlp_recordable", @@ -438,14 +418,14 @@ def package_info(self): "opentelemetry_exporter_otlp_grpc_client", ]) - if (self.options.get_safe("with_otlp_http") or + if (self.options.with_otlp_http or self.options.with_zipkin or self.options.with_elasticsearch ): self.cpp_info.components[self._http_client_name].requires.append("libcurl::libcurl") self.cpp_info.components[self._http_client_name].requires.append("openssl::openssl") - if self.options.get_safe("with_otlp_http"): + if self.options.with_otlp_http: self.cpp_info.components["opentelemetry_exporter_otlp_http_client"].requires.extend([ self._http_client_name, "nlohmann_json::nlohmann_json", @@ -457,11 +437,10 @@ def package_info(self): "opentelemetry_exporter_otlp_http_client", ]) - if Version(self.version) >= "1.5.0": - self.cpp_info.components["opentelemetry_exporter_otlp_http_metric"].requires.extend([ - "opentelemetry_otlp_recordable", - "opentelemetry_exporter_otlp_http_client" - ]) + self.cpp_info.components["opentelemetry_exporter_otlp_http_metric"].requires.extend([ + "opentelemetry_otlp_recordable", + "opentelemetry_exporter_otlp_http_client" + ]) if self.options.with_logs_preview: self.cpp_info.components["opentelemetry_exporter_otlp_http_log"].requires.extend([ @@ -476,7 +455,7 @@ def package_info(self): "opentelemetry_trace", ]) - if self.options.with_jaeger: + if self.options.get_safe("with_jaeger"): self.cpp_info.components["opentelemetry_exporter_jaeger_trace"].requires.extend([ self._http_client_name, "openssl::openssl", @@ -484,10 +463,9 @@ def package_info(self): "thrift::thrift", ]) - if Version(self.version) >= "1.3.0": - self.cpp_info.components["opentelemetry_exporter_jaeger_trace"].requires.append( - "boost::locale" - ) + self.cpp_info.components["opentelemetry_exporter_jaeger_trace"].requires.append( + "boost::locale" + ) if self.settings.os == "Windows" and self.options.with_etw: self.cpp_info.components["opentelemetry_exporter_etw"].libs = [] diff --git a/recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch deleted file mode 100644 index ecdbb0cf0f9fc..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 9fb6f49..1f1547e 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -162,6 +162,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() -diff --git a/exporters/zipkin/CMakeLists.txt b/exporters/zipkin/CMakeLists.txt -index 2316860..8995b31 100644 ---- a/exporters/zipkin/CMakeLists.txt -+++ b/exporters/zipkin/CMakeLists.txt -@@ -21,7 +21,7 @@ add_library(opentelemetry_exporter_zipkin_trace src/zipkin_exporter.cc - src/recordable.cc) - - target_link_libraries(opentelemetry_exporter_zipkin_trace -- PUBLIC opentelemetry_trace http_client_curl) -+ PUBLIC opentelemetry_trace http_client_curl nlohmann_json::nlohmann_json) - - install( - TARGETS opentelemetry_exporter_zipkin_trace diff --git a/recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch deleted file mode 100644 index 275e2c9b44a66..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 8d8f868..2a78f98 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -214,6 +214,10 @@ else() - ${METRICS_SERVICE_PB_CPP_FILE}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(needs_proto_download) - add_dependencies(opentelemetry_proto opentelemetry-proto) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch deleted file mode 100644 index ce868fbedca22..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 09c21fd..a8d7d16 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -203,7 +203,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 8d8f868..2a78f98 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -214,6 +214,10 @@ else() - ${METRICS_SERVICE_PB_CPP_FILE}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(needs_proto_download) - add_dependencies(opentelemetry_proto opentelemetry-proto) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch deleted file mode 100644 index 1fcf5a0427738..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6d2b274..4611a6b 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -208,7 +208,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 37d45da..89395c0 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -215,6 +215,10 @@ else() - ${METRICS_SERVICE_PB_CPP_FILE}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(needs_proto_download) - add_dependencies(opentelemetry_proto opentelemetry-proto) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch deleted file mode 100644 index b3391855652c4..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a1b6934..d4f5251 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -209,7 +209,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 629ea81..3b09b92 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -242,6 +242,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch deleted file mode 100644 index e5e3898386303..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e7597fc8..d880a90d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -217,7 +217,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 629ea815..3b09b92e 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -242,6 +242,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch deleted file mode 100644 index 5c4fcae46b11b..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9b9710d..6eb42bb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -222,7 +222,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 47f57a6..ebf5869 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -280,6 +280,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch deleted file mode 100644 index 6deba6e434af5..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dbfb6a2..83c92cc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -299,7 +299,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 34b33d3..19e67e9 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -311,6 +311,10 @@ if(WITH_OTLP_GRPC) - endif() - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - foreach(proto_target ${OPENTELEMETRY_PROTO_TARGETS}) - set_property(TARGET ${proto_target} PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/recipes/opentelemetry-cpp/config.yml b/recipes/opentelemetry-cpp/config.yml index 8429e67e0bca0..ea5fa8db677c4 100644 --- a/recipes/opentelemetry-cpp/config.yml +++ b/recipes/opentelemetry-cpp/config.yml @@ -1,19 +1,9 @@ versions: + "1.12.0": + folder: all "1.9.1": folder: all - "1.8.1": + "1.8.3": folder: all "1.7.0": folder: all - "1.6.1": - folder: all - "1.4.1": - folder: all - "1.4.0": - folder: all - "1.3.0": - folder: all - "1.2.0": - folder: all - "1.0.1": - folder: all From 5c6cae59995de472798e98bbec054371f6d032fd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:15:56 +0100 Subject: [PATCH 3321/4087] (#22082) highs: fix installation for mingw & simplify recipe in the meantime * drop 1.4.2 * rely on CMake for installation * explicit cmake & pkgconfig names * more explicit options to cmake * remove dead code * fix include in test package * Revert "fix include in test package" This reverts commit 71e49fcff391271460e554b7050c43570bc3e20c. * fix cpp_info.includedirs --- recipes/highs/all/conandata.yml | 9 --- recipes/highs/all/conanfile.py | 69 ++++++++----------- .../0001-missing-includes-msvc15-1.4.2.patch | 48 ------------- recipes/highs/config.yml | 2 - 4 files changed, 28 insertions(+), 100 deletions(-) delete mode 100644 recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch diff --git a/recipes/highs/all/conandata.yml b/recipes/highs/all/conandata.yml index c88418f873ba7..72761292a635a 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -5,12 +5,3 @@ sources: "1.5.3": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.5.3.tar.gz" sha256: "ce1a7d2f008e60cc69ab06f8b16831bd0fcd5f6002d3bbebae9d7a3513a1d01d" - "1.4.2": - url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.4.2.tar.gz" - sha256: "29330e284491143cd53a547c23178221df46423679a98f6684251e65cc384d2b" -patches: - "1.4.2": - - patch_file: "patches/0001-missing-includes-msvc15-1.4.2.patch" - patch_description: "Add missing includes for std::tolower and std::max in MSVC15" - patch_type: portability - patch_source: "https://github.com/ERGO-Code/HiGHS/pull/1152" diff --git a/recipes/highs/all/conanfile.py b/recipes/highs/all/conanfile.py index bba181cddafd7..0094aa110e305 100644 --- a/recipes/highs/all/conanfile.py +++ b/recipes/highs/all/conanfile.py @@ -1,12 +1,10 @@ +import os + from conan import ConanFile -from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get -from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version -from os.path import join +from conan.tools.files import copy, get, rmdir -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class HiGHSConan(ConanFile): @@ -16,6 +14,7 @@ class HiGHSConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.highs.dev/" topics = ("simplex", "interior point", "solver", "linear", "programming") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,12 +25,6 @@ class HiGHSConan(ConanFile): "fPIC": True, } - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -40,52 +33,46 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): self.requires("zlib/[>=1.2.11 <2]") - def layout(self): - cmake_layout(self, src_folder="src") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["SHARED"] = self.options.shared + tc.variables["FAST_BUILD"] = True tc.variables["BUILD_TESTING"] = False tc.variables["PYTHON"] = False tc.variables["FORTRAN"] = False tc.variables["CSHARP"] = False + tc.variables["EXP"] = False + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["JULIA"] = False tc.generate() - tc = CMakeDeps(self) - tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() - cmake.build(target="highs") + cmake.build() def package(self): - copy(self, pattern="LICENSE", src=self.source_folder, dst=join(self.package_folder, "licenses")) - copy(self, pattern="*.h", src=join(self.source_folder, "src"), dst=join(self.package_folder, "include")) - copy(self, pattern="HConfig.h", src=self.build_folder, dst=join(self.package_folder, "include")) - if self.options.shared: - copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) - copy(self, pattern="*.dll", src=self.build_folder, dst=join(self.package_folder, "bin"), keep_path=False) - else: - copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - if Version(self.version) >= Version("1.5.3"): - # https://github.com/ERGO-Code/HiGHS/commit/2c24b4cb6ecece98ed807dbeff9b27a2fbba8d37 - copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) - else: - copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) - fix_apple_shared_install_name(self) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.libs = collect_libs(self) + self.cpp_info.set_property("cmake_file_name", "highs") + self.cpp_info.set_property("cmake_target_name", "highs::highs") + self.cpp_info.set_property("pkg_config_name", "highs") + self.cpp_info.libs = ["highs"] + self.cpp_info.includedirs = [os.path.join("include", "highs")] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("m") - self.cpp_info.system_libs.append("pthread") - if is_msvc(self) and Version(self.version) < Version("1.5.3"): - # https://github.com/ERGO-Code/HiGHS/commit/7d784db29ab22003670b8b2eb494ab1a97f1815b - self.cpp_info.defines.append("_ITERATOR_DEBUG_LEVEL=0") + self.cpp_info.system_libs.extend(["m", "pthread"]) diff --git a/recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch b/recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch deleted file mode 100644 index 83c7f865fb734..0000000000000 --- a/recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/extern/filereaderlp/reader.cpp b/extern/filereaderlp/reader.cpp -index 86151120..71f6747a 100644 ---- a/extern/filereaderlp/reader.cpp -+++ b/extern/filereaderlp/reader.cpp -@@ -2,6 +2,7 @@ - - #include "builder.hpp" - -+#include - #include - #include - #include -diff --git a/src/lp_data/HighsOptions.cpp b/src/lp_data/HighsOptions.cpp -index 903a7c71..6e66e78e 100644 ---- a/src/lp_data/HighsOptions.cpp -+++ b/src/lp_data/HighsOptions.cpp -@@ -17,6 +17,7 @@ - - #include - #include -+#include - - // void setLogOptions(); - -diff --git a/src/presolve/ICrash.cpp b/src/presolve/ICrash.cpp -index 12a6fc3f..e7bf86a4 100644 ---- a/src/presolve/ICrash.cpp -+++ b/src/presolve/ICrash.cpp -@@ -14,6 +14,7 @@ - #include "presolve/ICrash.h" - - #include -+#include - #include - #include - #include -diff --git a/src/util/HighsTimer.h b/src/util/HighsTimer.h -index 6f1d3047..cabef8c4 100644 ---- a/src/util/HighsTimer.h -+++ b/src/util/HighsTimer.h -@@ -16,6 +16,7 @@ - #ifndef UTIL_HIGHSTIMER_H_ - #define UTIL_HIGHSTIMER_H_ - -+#include - #include - #include - #include diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index ba8bd2230d031..f48a692b61e92 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -3,5 +3,3 @@ versions: folder: all "1.5.3": folder: all - "1.4.2": - folder: all From 799f47ab1903fe96084b5fca48e010c39f524948 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 20:27:50 +0900 Subject: [PATCH 3322/4087] (#21695) quickjs: add version 2023-12-09 * quickjs: add version 2023-12-09 * make USE_BIGNUM as always True on 2023-12-09 --- recipes/quickjs/all/CMakeLists.txt | 4 +++ recipes/quickjs/all/conandata.yml | 3 +++ recipes/quickjs/all/conanfile.py | 25 +++++++------------ .../quickjs/all/test_package/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 +++--- recipes/quickjs/config.yml | 2 ++ 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/recipes/quickjs/all/CMakeLists.txt b/recipes/quickjs/all/CMakeLists.txt index bd4c048f85e13..bcb68cb57eccd 100644 --- a/recipes/quickjs/all/CMakeLists.txt +++ b/recipes/quickjs/all/CMakeLists.txt @@ -42,6 +42,10 @@ set_target_properties(quickjs PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) +if(USE_BIGNUM) + target_compile_definitions(quickjs PRIVATE CONFIG_BIGNUM) +endif() + find_library(LIBM m) target_link_libraries(quickjs PRIVATE $<$:${LIBM}>) diff --git a/recipes/quickjs/all/conandata.yml b/recipes/quickjs/all/conandata.yml index b6c326416c7bf..2aeb216a1e5d0 100644 --- a/recipes/quickjs/all/conandata.yml +++ b/recipes/quickjs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023-12-09": + url: "https://bellard.org/quickjs/quickjs-2023-12-09.tar.xz" + sha256: "e8afe386f875d0e52310ea91aa48e2b0e04182e821f19147794e3e272f4c8d8c" "2021-03-27": url: "https://bellard.org/quickjs/quickjs-2021-03-27.tar.xz" sha256: "a45bface4c3379538dea8533878d694e289330488ea7028b105f72572fe7fe1a" diff --git a/recipes/quickjs/all/conanfile.py b/recipes/quickjs/all/conanfile.py index 8e68a544366f1..6d4979abaf7f7 100644 --- a/recipes/quickjs/all/conanfile.py +++ b/recipes/quickjs/all/conanfile.py @@ -6,7 +6,7 @@ import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class QuickJSConan(ConanFile): name = "quickjs" @@ -35,21 +35,14 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.version >= "2023-12-09": + del self.options.use_bignum def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def validate(self): # TODO: there are forked repository to support MSVC. (https://github.com/c-smile/quickjspp) @@ -60,12 +53,12 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.variables["QUICKJS_SRC_DIR"] = self.source_folder.replace("\\", "/") - tc.variables["USE_BIGNUM"] = self.options.use_bignum + tc.variables["USE_BIGNUM"] = self.options.get_safe("use_bignum", True) tc.variables["DUMP_LEAKS"] = self.options.dump_leaks tc.generate() @@ -82,7 +75,7 @@ def package(self): def package_info(self): self.cpp_info.libs = ["quickjs"] - if self.options.use_bignum == True: + if self.options.get_safe("use_bignum", True): self.cpp_info.defines.append("CONFIG_BIGNUM") if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/quickjs/all/test_package/CMakeLists.txt b/recipes/quickjs/all/test_package/CMakeLists.txt index e6ebd1f3afdc4..d1a90ff4e16f0 100644 --- a/recipes/quickjs/all/test_package/CMakeLists.txt +++ b/recipes/quickjs/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(test_package C) +project(test_package LANGUAGES C) find_package(quickjs REQUIRED CONFIG) diff --git a/recipes/quickjs/all/test_v1_package/CMakeLists.txt b/recipes/quickjs/all/test_v1_package/CMakeLists.txt index 4c0436c623e76..2162b4d53343a 100644 --- a/recipes/quickjs/all/test_v1_package/CMakeLists.txt +++ b/recipes/quickjs/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.0) -project(test_package C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(quickjs REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE quickjs::quickjs) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quickjs/config.yml b/recipes/quickjs/config.yml index 4110c6ceb7c0f..ee7d61b2fc03e 100644 --- a/recipes/quickjs/config.yml +++ b/recipes/quickjs/config.yml @@ -1,3 +1,5 @@ versions: + "2023-12-09": + folder: "all" "2021-03-27": folder: "all" From a3d5eb90b479fc0e0a7284ab745f5699336d00c8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 13:50:19 +0200 Subject: [PATCH 3323/4087] (#22105) llvm-openmp: add v17.0.6, relax OS/compiler checks * llvm-openmp: add v17.0.6 * llvm-openmp: relax OS/compiler checks * llvm-openmp: add v17.0.6 to config.yml --- recipes/llvm-openmp/all/conandata.yml | 7 +++++++ recipes/llvm-openmp/all/conanfile.py | 19 +++++++------------ recipes/llvm-openmp/config.yml | 2 ++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index ce869816491ae..cb5f1104f3fc9 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "17.0.6": + openmp: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/openmp-17.0.6.src.tar.xz" + sha256: "74334cbb4dc8b73a768448a7561d5a3540404940b2267b1fb9813a6464b320de" + cmake: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/cmake-17.0.6.src.tar.xz" + sha256: "807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4" "17.0.4": openmp: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.4/openmp-17.0.4.src.tar.xz" diff --git a/recipes/llvm-openmp/all/conanfile.py b/recipes/llvm-openmp/all/conanfile.py index 14e375a798b6c..a885645ea3471 100644 --- a/recipes/llvm-openmp/all/conanfile.py +++ b/recipes/llvm-openmp/all/conanfile.py @@ -8,6 +8,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, save, move_folder_contents, rmdir +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -45,15 +46,6 @@ class LLVMOpenMpConan(ConanFile): ) } - def _supports_compiler(self): - supported_compilers_by_os = { - "Linux": ["clang", "gcc", "intel-cc"], - "Macos": ["apple-clang", "clang", "gcc", "intel-cc"], - "Windows": ["intel-cc"], - } - the_compiler, the_os = self.settings.compiler.value, self.settings.os.value - return the_compiler in supported_compilers_by_os.get(the_os, []) - @property def _compilers_minimum_version(self): return { @@ -85,9 +77,12 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if not self._supports_compiler(): - raise ConanInvalidConfiguration("llvm-openmp doesn't support compiler: " - f"{self.settings.compiler} on OS: {self.settings.os}.") + if is_msvc(self): + raise ConanInvalidConfiguration("llvm-openmp is not compatible with MSVC") + if self.settings.compiler not in ["apple-clang", "clang", "gcc", "intel-cc"]: + raise ConanInvalidConfiguration( + f"{self.settings.compiler} is not supported by this recipe. Contributions are welcome!" + ) if self._version_major >= 17: if self.settings.compiler.cppstd: check_min_cppstd(self, 17) diff --git a/recipes/llvm-openmp/config.yml b/recipes/llvm-openmp/config.yml index 99c6f0e0e936a..2f6f02e2e7d3f 100644 --- a/recipes/llvm-openmp/config.yml +++ b/recipes/llvm-openmp/config.yml @@ -1,4 +1,6 @@ versions: + "17.0.6": + folder: all "17.0.4": folder: all "16.0.6": From e0fc689ee545d2bb64ee1782c888d4a75b3f26e9 Mon Sep 17 00:00:00 2001 From: Gareth Andrew Lloyd Date: Wed, 10 Jan 2024 12:03:28 +0000 Subject: [PATCH 3324/4087] (#22171) RocksDB v8.8.1 --- recipes/rocksdb/all/conandata.yml | 3 +++ recipes/rocksdb/all/conanfile.py | 23 ++++++++++++++++++- .../rocksdb/all/test_package/CMakeLists.txt | 6 ++++- recipes/rocksdb/config.yml | 2 ++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index af19cfe0abbd7..1792c3284fadc 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -8,6 +8,9 @@ sources: "6.20.3": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.20.3.tar.gz" sha256: "c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca" + "8.8.1": + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v8.8.1.tar.gz" + sha256: "056c7e21ad8ae36b026ac3b94b9d6e0fcc60e1d937fc80330921e4181be5c36e" patches: "6.29.5": - patch_file: "patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch" diff --git a/recipes/rocksdb/all/conanfile.py b/recipes/rocksdb/all/conanfile.py index 5962da8487f2b..09425b9f86390 100644 --- a/recipes/rocksdb/all/conanfile.py +++ b/recipes/rocksdb/all/conanfile.py @@ -51,6 +51,20 @@ class RocksDBConan(ConanFile): "use_rtti": False, } + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "8.8.1" else "17" + + @property + def _compilers_minimum_version(self): + return {} if self._min_cppstd == "11" else { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + def export_sources(self): export_conandata_patches(self) @@ -87,7 +101,13 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.arch not in ["x86_64", "ppc64le", "ppc64", "mips64", "armv8"]: raise ConanInvalidConfiguration("Rocksdb requires 64 bits") @@ -174,6 +194,7 @@ def package(self): self._remove_static_libraries() self._remove_cpp_headers() # Force stable ABI for shared libraries rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): cmake_target = "rocksdb-shared" if self.options.shared else "rocksdb" diff --git a/recipes/rocksdb/all/test_package/CMakeLists.txt b/recipes/rocksdb/all/test_package/CMakeLists.txt index 81aa571c924fc..b23ea40acdad9 100644 --- a/recipes/rocksdb/all/test_package/CMakeLists.txt +++ b/recipes/rocksdb/all/test_package/CMakeLists.txt @@ -14,6 +14,10 @@ else() add_executable(${PROJECT_NAME}_cpp test_package.cpp) target_link_libraries(${PROJECT_NAME}_cpp PRIVATE RocksDB::rocksdb) - target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) + if(RocksDB_VERSION VERSION_LESS "8.8.1") + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) + else() + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_17) + endif() add_test(NAME ${PROJECT_NAME}_cpp COMMAND ${PROJECT_NAME}_cpp) endif() diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index c4e32f27c353e..3691365f4f4a3 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -5,3 +5,5 @@ versions: folder: all "6.20.3": folder: all + "8.8.1": + folder: all From 19512768de572ca2cece91fdc68dd83f7b7bfbd6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 14:51:11 +0200 Subject: [PATCH 3325/4087] (#22188) wolfssl: add version 5.6.6 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/wolfssl/all/conandata.yml | 3 +++ recipes/wolfssl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index 07a88deb272d2..0a393b28e8b4a 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.6.6": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.6-stable.tar.gz" + sha256: "3d2ca672d41c2c2fa667885a80d6fa03c3e91f0f4f72f87aef2bc947e8c87237" "5.6.4": url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.4-stable.tar.gz" sha256: "031691906794ff45e1e792561cf31759f5d29ac74936bc8dffb8b14f16d820b4" diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index 1d558dac0d232..e099f310174af 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.6": + folder: all "5.6.4": folder: all "5.6.3": From 797c09d63ff53560532bfa5f96391223bf4a58f6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 15:03:17 +0200 Subject: [PATCH 3326/4087] (#22192) openblas: add v0.3.26 --- recipes/openblas/all/conandata.yml | 3 +++ recipes/openblas/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openblas/all/conandata.yml b/recipes/openblas/all/conandata.yml index f79b91170955a..d0f076aeb8032 100644 --- a/recipes/openblas/all/conandata.yml +++ b/recipes/openblas/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.26": + url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.26.tar.gz" + sha256: "4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68" "0.3.25": url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.25.tar.gz" sha256: "4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543" diff --git a/recipes/openblas/config.yml b/recipes/openblas/config.yml index 84e082765ab47..e0275b7ea815a 100644 --- a/recipes/openblas/config.yml +++ b/recipes/openblas/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.26": + folder: all "0.3.25": folder: all "0.3.24": From 373684723daf66013220c612637cf577f31abcf8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 15:17:19 +0200 Subject: [PATCH 3327/4087] (#22194) libsass: add v3.6.6 --- recipes/libsass/all/conandata.yml | 3 +++ recipes/libsass/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libsass/all/conandata.yml b/recipes/libsass/all/conandata.yml index a3583eec521db..0d7398fa561ea 100644 --- a/recipes/libsass/all/conandata.yml +++ b/recipes/libsass/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.6": + url: "https://github.com/sass/libsass/archive/3.6.6.tar.gz" + sha256: "11f0bb3709a4f20285507419d7618f3877a425c0131ea8df40fe6196129df15d" "3.6.5": url: "https://github.com/sass/libsass/archive/3.6.5.tar.gz" sha256: "89d8f2c46ae2b1b826b58ce7dde966a176bac41975b82e84ad46b01a55080582" diff --git a/recipes/libsass/config.yml b/recipes/libsass/config.yml index dad090706c27e..58097450a200c 100644 --- a/recipes/libsass/config.yml +++ b/recipes/libsass/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.6": + folder: all "3.6.5": folder: all "3.6.4": From 7ab2d429dbfe39183128332e87b0406b64a418ee Mon Sep 17 00:00:00 2001 From: Mi-La Date: Wed, 10 Jan 2024 14:45:38 +0100 Subject: [PATCH 3328/4087] (#22234) zserio: Hotfix default for -fPIC option to be True --- recipes/zserio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zserio/all/conanfile.py b/recipes/zserio/all/conanfile.py index 34e9e0b178ab6..2ab5a23336294 100644 --- a/recipes/zserio/all/conanfile.py +++ b/recipes/zserio/all/conanfile.py @@ -22,7 +22,7 @@ class ZserioConanFile(ConanFile): "fPIC": [True, False] } default_options = { - "fPIC": False + "fPIC": True } @property From 4d7bb0c2c42c9a21b86659e7f2a0837a00ce9c0f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 Jan 2024 17:33:46 +0100 Subject: [PATCH 3329/4087] (#22239) thrift: bump deps * thrift: bump deps * bump qt --- recipes/thrift/all/conanfile.py | 4 +- recipes/thrift/all/patches/cmake-0.13.0.patch | 80 ------------------- 2 files changed, 2 insertions(+), 82 deletions(-) delete mode 100644 recipes/thrift/all/patches/cmake-0.13.0.patch diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 3f576411eeb0d..81c5ea92e7246 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -75,11 +75,11 @@ def requirements(self): if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_qt5: - self.requires("qt/5.15.9") + self.requires("qt/5.15.12") def build_requirements(self): if self._settings_build.os == "Windows": - self.tool_requires("winflexbison/2.5.24") + self.tool_requires("winflexbison/2.5.25") else: self.tool_requires("flex/2.6.4") self.tool_requires("bison/3.8.2") diff --git a/recipes/thrift/all/patches/cmake-0.13.0.patch b/recipes/thrift/all/patches/cmake-0.13.0.patch deleted file mode 100644 index 1acf18b419ac5..0000000000000 --- a/recipes/thrift/all/patches/cmake-0.13.0.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- a/build/cmake/DefineOptions.cmake -+++ b/build/cmake/DefineOptions.cmake -@@ -39,10 +39,6 @@ option(BUILD_LIBRARIES "Build Thrift libraries" ON) - # and enables the library if all are found. This means the default is to build as - # much as possible but leaving out libraries if their dependencies are not met. - --if (NOT Boost_USE_STATIC_LIBS) -- add_definitions(-DBOOST_ALL_DYN_LINK) -- add_definitions(-DBOOST_TEST_DYN_LINK) --endif() - - # as3 - option(WITH_AS3 "Build ActionScript 3 Thrift Library" ON) -@@ -118,7 +114,12 @@ CMAKE_DEPENDENT_OPTION(BUILD_HASKELL "Build GHC library" ON - # Common library options - # https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html - # Default on Windows is static, shared mode library support needs work... --CMAKE_DEPENDENT_OPTION(BUILD_SHARED_LIBS "Build shared libraries" OFF "WIN32" ON) -+if(WIN32) -+ set(DEFAULT_BUILD_SHARED_LIBS ON) -+else() -+ set(DEFAULT_BUILD_SHARED_LIBS OFF) -+endif() -+option(BUILD_SHARED_LIBS "Build shared libraries" ${DEFAULT_BUILD_SHARED_LIBS}) - - if (WITH_SHARED_LIB) - message(WARNING "WITH_SHARED_LIB is deprecated; use -DBUILD_SHARED_LIBS=ON instead") ---- a/lib/c_glib/CMakeLists.txt -+++ b/lib/c_glib/CMakeLists.txt -@@ -59,13 +59,13 @@ set(thrift_c_glib_SOURCES - ) - - # If OpenSSL is not found just ignore the OpenSSL stuff --find_package(OpenSSL) --if(OPENSSL_FOUND AND WITH_OPENSSL) -+if(WITH_OPENSSL) -+ find_package(OpenSSL REQUIRED) - list( APPEND thrift_c_glib_SOURCES - src/thrift/c_glib/transport/thrift_ssl_socket.c - ) -- include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -- list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}") -+ #include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -+ list(APPEND SYSLIBS OpenSSL::SSL OpenSSL::Crypto) - endif() - - ---- a/lib/cpp/CMakeLists.txt -+++ b/lib/cpp/CMakeLists.txt -@@ -98,13 +98,13 @@ else() - endif() - - # If OpenSSL is not found or disabled just ignore the OpenSSL stuff --if(OPENSSL_FOUND AND WITH_OPENSSL) -+if(WITH_OPENSSL) - list( APPEND thriftcpp_SOURCES - src/thrift/transport/TSSLSocket.cpp - src/thrift/transport/TSSLServerSocket.cpp - ) -- include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -- list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}") -+ #include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -+ list(APPEND SYSLIBS OpenSSL::SSL OpenSSL::Crypto) - endif() - - if(UNIX) -@@ -152,11 +152,11 @@ ADD_PKGCONFIG_THRIFT(thrift) - - if(WITH_LIBEVENT) - find_package(Libevent REQUIRED) # Libevent comes with CMake support form upstream -- include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS}) -+ #include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS}) - - ADD_LIBRARY_THRIFT(thriftnb ${thriftcppnb_SOURCES}) - LINK_AGAINST_THRIFT_LIBRARY(thriftnb thrift) -- TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} ${LIBEVENT_LIBRARIES}) -+ TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} libevent::core libevent::extra) - ADD_PKGCONFIG_THRIFT(thrift-nb) - endif() - From 710c0804cf172a3a594991c33b9c4c4fc9a17394 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 18:44:30 +0200 Subject: [PATCH 3330/4087] (#22191) open62541: add v1.3.9 --- recipes/open62541/all/conandata.yml | 7 +++++++ recipes/open62541/all/submoduledata.yml | 5 +++++ recipes/open62541/config.yml | 2 ++ 3 files changed, 14 insertions(+) diff --git a/recipes/open62541/all/conandata.yml b/recipes/open62541/all/conandata.yml index 41d18d560523a..8fd6ed73c8578 100644 --- a/recipes/open62541/all/conandata.yml +++ b/recipes/open62541/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.9": + url: "https://github.com/open62541/open62541/archive/v1.3.9.tar.gz" + sha256: "71764d4a060cfa07eae7aaabd176da38b155ef01c63103513339699fd8026e2f" "1.3.8": url: "https://github.com/open62541/open62541/archive/v1.3.8.tar.gz" sha256: "b6943b564787c4953b77ca8d7f987c4b896b3f3e91f45d9f13e9056b6148bc1d" @@ -12,6 +15,10 @@ sources: url: "https://github.com/open62541/open62541/archive/v1.0.6.tar.gz" sha256: "299940025c14929533064abe0044d5805ea50d52b32d05ad9bc0e6996569c2a6" patches: + "1.3.9": + - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" + patch_description: "Disable static code analysis" + patch_type: "conan" "1.3.8": - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" patch_description: "Disable static code analysis" diff --git a/recipes/open62541/all/submoduledata.yml b/recipes/open62541/all/submoduledata.yml index 1de1304b65b1e..f60651d6c51ea 100644 --- a/recipes/open62541/all/submoduledata.yml +++ b/recipes/open62541/all/submoduledata.yml @@ -19,3 +19,8 @@ submodules: sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip archive_pattern: "UA-Nodeset-{version}" + "1.3.9": + deps/ua-nodeset: + sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 + url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip + archive_pattern: "UA-Nodeset-{version}" diff --git a/recipes/open62541/config.yml b/recipes/open62541/config.yml index 6a69381fdd40f..02f8b3e330035 100644 --- a/recipes/open62541/config.yml +++ b/recipes/open62541/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.9": + folder: all "1.3.8": folder: all "1.2.6": From 1ae3e2b664f39c5d8f25229f69611b0b021becbf Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 10 Jan 2024 20:20:00 +0300 Subject: [PATCH 3331/4087] (#22243) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index b0622b8bf862b..ed5be88770bcf 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.2.tar.gz" + sha256: "76f3228dd9afa2661fe9326b51e5ec8dc29e364f99fb0f94704792610d543fa2" "2.4.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.1.tar.gz" sha256: "61a439206e1ed2e68702c9811e3055d0adfda5945fb098ea7bfe8906c33d7b49" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index c2a60b2d90930..b4f96dd428767 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.2": + folder: all "2.4.1": folder: all "2.4.0": From 9ef0c5aca866044cd665ba90c6bdcdec0eb8748c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 Jan 2024 18:51:24 +0100 Subject: [PATCH 3332/4087] (#22245) vulkan-validationlayers/all: bump deps * vulkan-validationlayers/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * remove unused patches --- .../vulkan-validationlayers/all/conanfile.py | 2 +- .../all/patches/1.2.182-0001-fix-cmake.patch | 83 ------------------- .../patches/1.2.189.2-0001-fix-cmake.patch | 75 ----------------- .../patches/1.2.198.0-0001-fix-cmake.patch | 75 ----------------- 4 files changed, 1 insertion(+), 234 deletions(-) delete mode 100644 recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch delete mode 100644 recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch delete mode 100644 recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index c2830d5f99a6c..8d5cc5e6efcf4 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -137,7 +137,7 @@ def loose_lt_semver(v1, v2): def build_requirements(self): if self._needs_pkg_config and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if Version(self.version) >= "1.3.239": self.tool_requires("cmake/[>=3.17.2 <4]") diff --git a/recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch deleted file mode 100644 index 1df1151c34367..0000000000000 --- a/recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -102,7 +102,7 @@ if (TARGET Vulkan::Headers) - get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(VulkanRegistry_DIR Vulkan::Registry INTERFACE_INCLUDE_DIRECTORIES) - else() -- find_package(VulkanHeaders REQUIRED) -+ find_package(VulkanHeaders REQUIRED MODULE) - - # xxxnsubtil: this should eventually be replaced by exported targets - add_library(Vulkan-Headers INTERFACE) -@@ -154,7 +154,7 @@ if(UNIX AND NOT APPLE) # i.e. Linux - endif() - - if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -+ find_package(Wayland REQUIRED MODULE) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - endif() -@@ -237,13 +237,10 @@ option(BUILD_LAYERS "Build layers" ON) - option(BUILD_LAYER_SUPPORT_FILES "Generate layer files" OFF) # For generating files when not building layers - option(USE_ROBIN_HOOD_HASHING "Use robin-hood-hashing" ON) - if (USE_ROBIN_HOOD_HASHING) -- if(NOT ROBIN_HOOD_HASHING_INSTALL_DIR) -- set(ROBIN_HOOD_HASHING_INSTALL_DIR $ENV{ROBIN_HOOD_HASHING_INSTALL_DIR} PATH "Path to robin-hood-hashing repository") -- endif() -- set(ROBIN_HOOD_HASHING_INCLUDE_DIR "${ROBIN_HOOD_HASHING_INSTALL_DIR}/src/include" PATH "Path to robin-hood-hashing/src/include") -+ find_package(robin_hood REQUIRED CONFIG) - endif() - --if(BUILD_TESTS OR BUILD_LAYERS) -+if(BUILD_TESTS) - - set(GLSLANG_INSTALL_DIR "GLSLANG-NOTFOUND" CACHE PATH "Absolute path to a glslang install directory") - if(NOT GLSLANG_INSTALL_DIR AND NOT DEFINED ENV{GLSLANG_INSTALL_DIR} AND NOT TARGET glslang) -@@ -302,8 +299,14 @@ if(BUILD_TESTS OR BUILD_LAYERS) - set(GLSLANG_SPIRV_INCLUDE_DIR "${glslang_SOURCE_DIR}" CACHE PATH "Path to glslang spirv headers") - set(GLSLANG_LIBRARIES glslang SPIRV SPVRemapper) - endif() -+endif() - -+if(BUILD_TESTS OR BUILD_LAYERS) - # spirv-tools -+ find_package(SPIRV-Tools REQUIRED CONFIG) -+ if(NOT TARGET SPIRV-Tools-opt) -+ find_package(SPIRV-Tools-opt REQUIRED CONFIG) -+ endif() - if (NOT TARGET SPIRV-Tools) - if(NOT SPIRV_TOOLS_INSTALL_DIR) - set(SPIRV_TOOLS_INSTALL_DIR "${GLSLANG_INSTALL_DIR}") -@@ -389,7 +392,7 @@ target_include_directories(VkLayer_utils - ${VulkanHeaders_INCLUDE_DIR}) - - if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_utils PUBLIC ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -+ target_link_libraries(VkLayer_utils PUBLIC robin_hood::robin_hood) - target_compile_definitions(VkLayer_utils PUBLIC USE_ROBIN_HOOD_HASHING) - endif() - ---- a/cmake/FindVulkanHeaders.cmake -+++ b/cmake/FindVulkanHeaders.cmake -@@ -62,7 +62,7 @@ if(DEFINED VULKAN_HEADERS_INSTALL_DIR) - NO_CMAKE_FIND_ROOT_PATH) - find_path(VulkanRegistry_DIR - NAMES vk.xml -- HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry -+ HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry - NO_CMAKE_FIND_ROOT_PATH) - else() - # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -291,9 +291,6 @@ if(BUILD_LAYERS) - if(INSTRUMENT_OPTICK) - target_include_directories(VkLayer_khronos_validation PRIVATE ${OPTICK_SOURCE_DIR}) - endif() -- if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -- endif() - target_link_libraries(VkLayer_khronos_validation PRIVATE ${SPIRV_TOOLS_LIBRARIES}) - - # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled diff --git a/recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch deleted file mode 100644 index a5cb883c9cc3a..0000000000000 --- a/recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,7 +111,7 @@ if (TARGET Vulkan::Headers) - get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(VulkanRegistry_DIR Vulkan::Registry INTERFACE_INCLUDE_DIRECTORIES) - else() -- find_package(VulkanHeaders REQUIRED) -+ find_package(VulkanHeaders REQUIRED MODULE) - - # xxxnsubtil: this should eventually be replaced by exported targets - add_library(Vulkan-Headers INTERFACE) -@@ -163,7 +163,7 @@ if(UNIX AND NOT APPLE) # i.e. Linux - endif() - - if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -+ find_package(Wayland REQUIRED MODULE) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - endif() -@@ -240,10 +240,7 @@ option(BUILD_LAYERS "Build layers" ON) - option(BUILD_LAYER_SUPPORT_FILES "Generate layer files" OFF) # For generating files when not building layers - option(USE_ROBIN_HOOD_HASHING "Use robin-hood-hashing" ON) - if (USE_ROBIN_HOOD_HASHING) -- if(NOT ROBIN_HOOD_HASHING_INSTALL_DIR) -- set(ROBIN_HOOD_HASHING_INSTALL_DIR $ENV{ROBIN_HOOD_HASHING_INSTALL_DIR} PATH "Path to robin-hood-hashing repository") -- endif() -- set(ROBIN_HOOD_HASHING_INCLUDE_DIR "${ROBIN_HOOD_HASHING_INSTALL_DIR}/src/include" PATH "Path to robin-hood-hashing/src/include") -+ find_package(robin_hood REQUIRED CONFIG) - endif() - - if(BUILD_TESTS) -@@ -307,6 +304,10 @@ endif() - - if(BUILD_TESTS OR BUILD_LAYERS) - # spirv-tools -+ find_package(SPIRV-Tools REQUIRED CONFIG) -+ if(NOT TARGET SPIRV-Tools-opt) -+ find_package(SPIRV-Tools-opt REQUIRED CONFIG) -+ endif() - if (NOT TARGET SPIRV-Tools) - if(NOT SPIRV_TOOLS_INSTALL_DIR) - set(SPIRV_TOOLS_INSTALL_DIR "${GLSLANG_INSTALL_DIR}") -@@ -375,7 +376,7 @@ target_include_directories(VkLayer_utils - ${VulkanHeaders_INCLUDE_DIR}) - - if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_utils PUBLIC ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -+ target_link_libraries(VkLayer_utils PUBLIC robin_hood::robin_hood) - target_compile_definitions(VkLayer_utils PUBLIC USE_ROBIN_HOOD_HASHING) - endif() - ---- a/cmake/FindVulkanHeaders.cmake -+++ b/cmake/FindVulkanHeaders.cmake -@@ -62,7 +62,7 @@ if(DEFINED VULKAN_HEADERS_INSTALL_DIR) - NO_CMAKE_FIND_ROOT_PATH) - find_path(VulkanRegistry_DIR - NAMES vk.xml -- HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry -+ HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry - NO_CMAKE_FIND_ROOT_PATH) - else() - # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -297,9 +297,6 @@ if(BUILD_LAYERS) - if(INSTRUMENT_OPTICK) - target_include_directories(VkLayer_khronos_validation PRIVATE ${OPTICK_SOURCE_DIR}) - endif() -- if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -- endif() - target_link_libraries(VkLayer_khronos_validation PRIVATE ${SPIRV_TOOLS_LIBRARIES}) - - # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled diff --git a/recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch deleted file mode 100644 index e482c6be482cf..0000000000000 --- a/recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -108,7 +108,7 @@ if (TARGET Vulkan::Headers) - get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(VulkanRegistry_DIR Vulkan::Registry INTERFACE_INCLUDE_DIRECTORIES) - else() -- find_package(VulkanHeaders REQUIRED) -+ find_package(VulkanHeaders REQUIRED MODULE) - - # xxxnsubtil: this should eventually be replaced by exported targets - add_library(Vulkan-Headers INTERFACE) -@@ -160,7 +160,7 @@ if(UNIX AND NOT APPLE) # i.e. Linux - endif() - - if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -+ find_package(Wayland REQUIRED MODULE) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - endif() -@@ -237,10 +237,7 @@ option(BUILD_LAYERS "Build layers" ON) - option(BUILD_LAYER_SUPPORT_FILES "Generate layer files" OFF) # For generating files when not building layers - option(USE_ROBIN_HOOD_HASHING "Use robin-hood-hashing" ON) - if (USE_ROBIN_HOOD_HASHING) -- if(NOT ROBIN_HOOD_HASHING_INSTALL_DIR) -- set(ROBIN_HOOD_HASHING_INSTALL_DIR $ENV{ROBIN_HOOD_HASHING_INSTALL_DIR} PATH "Path to robin-hood-hashing repository") -- endif() -- set(ROBIN_HOOD_HASHING_INCLUDE_DIR "${ROBIN_HOOD_HASHING_INSTALL_DIR}/src/include" PATH "Path to robin-hood-hashing/src/include") -+ find_package(robin_hood REQUIRED CONFIG) - endif() - - if(BUILD_TESTS) -@@ -304,6 +301,10 @@ endif() - - if(BUILD_TESTS OR BUILD_LAYERS) - # spirv-tools -+ find_package(SPIRV-Tools REQUIRED CONFIG) -+ if(NOT TARGET SPIRV-Tools-opt) -+ find_package(SPIRV-Tools-opt REQUIRED CONFIG) -+ endif() - if (NOT TARGET SPIRV-Tools) - if(NOT SPIRV_TOOLS_INSTALL_DIR) - set(SPIRV_TOOLS_INSTALL_DIR "${GLSLANG_INSTALL_DIR}") -@@ -372,7 +373,7 @@ target_include_directories(VkLayer_utils - ${VulkanHeaders_INCLUDE_DIR}) - - if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_utils PUBLIC ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -+ target_link_libraries(VkLayer_utils PUBLIC robin_hood::robin_hood) - target_compile_definitions(VkLayer_utils PUBLIC USE_ROBIN_HOOD_HASHING) - endif() - ---- a/cmake/FindVulkanHeaders.cmake -+++ b/cmake/FindVulkanHeaders.cmake -@@ -62,7 +62,7 @@ if(DEFINED VULKAN_HEADERS_INSTALL_DIR) - NO_CMAKE_FIND_ROOT_PATH) - find_path(VulkanRegistry_DIR - NAMES vk.xml -- HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry -+ HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry - NO_CMAKE_FIND_ROOT_PATH) - else() - # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -301,9 +301,6 @@ if(BUILD_LAYERS) - if(INSTRUMENT_OPTICK) - target_include_directories(VkLayer_khronos_validation PRIVATE ${OPTICK_SOURCE_DIR}) - endif() -- if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -- endif() - target_link_libraries(VkLayer_khronos_validation PRIVATE ${SPIRV_TOOLS_LIBRARIES}) - - # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled From 53710fdfe41b57394f9297959ccfbfb2e12ec248 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jan 2024 03:43:17 +0900 Subject: [PATCH 3333/4087] (#22247) libmaxmind: add version 1.9.1 --- recipes/libmaxminddb/all/conandata.yml | 3 +++ recipes/libmaxminddb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmaxminddb/all/conandata.yml b/recipes/libmaxminddb/all/conandata.yml index f8c6fb1bee557..6267e2c13434f 100644 --- a/recipes/libmaxminddb/all/conandata.yml +++ b/recipes/libmaxminddb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/maxmind/libmaxminddb/releases/download/1.9.1/libmaxminddb-1.9.1.tar.gz" + sha256: "a80682a89d915fdf60b35d316232fb04ebf36fff27fda9bd39fe8a38d3cd3f12" "1.8.0": url: "https://github.com/maxmind/libmaxminddb/releases/download/1.8.0/libmaxminddb-1.8.0.tar.gz" sha256: "1107799f77be6aa3b9796ad0eed8ffcc334bf45f8bd18e6a984d8adf3e719c6d" diff --git a/recipes/libmaxminddb/config.yml b/recipes/libmaxminddb/config.yml index 376c8bc0f36ac..0a05d03a9c3a0 100644 --- a/recipes/libmaxminddb/config.yml +++ b/recipes/libmaxminddb/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: all "1.8.0": folder: all "1.7.1": From 757a1f6dc54d6e15ded5c803a57a2cf262441780 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 11 Jan 2024 01:02:31 +0200 Subject: [PATCH 3334/4087] (#18901) mpdecimal/2.4.2: migrate to Conan v2 * mpdecimal/2.4.2: migrate to Conan v2 * mpdecimal: restore VirtualRunEnv in test_package * mpdecimal/2.4.2: fix MSVC build * mpdecimal/2.5.x: make use of self.*_path variables * mpdecimal/2.5.x: fix and simplify test_package * mpdecimal/2.4.2: fix Windows lib name * mpdecimal/2.4.2: fix_apple_shared_install_name() --- recipes/mpdecimal/2.4.2/conandata.yml | 6 +- recipes/mpdecimal/2.4.2/conanfile.py | 321 ++++++++++-------- .../2.4.2/test_package/CMakeLists.txt | 7 +- .../mpdecimal/2.4.2/test_package/conanfile.py | 20 +- .../2.4.2/test_v1_package/CMakeLists.txt | 8 + .../2.4.2/test_v1_package/conanfile.py | 16 + recipes/mpdecimal/2.5.x/conanfile.py | 73 ++-- .../2.5.x/test_package/CMakeLists.txt | 4 +- .../mpdecimal/2.5.x/test_package/conanfile.py | 9 +- .../2.5.x/test_v1_package/CMakeLists.txt | 2 +- .../2.5.x/test_v1_package/conanfile.py | 2 +- 11 files changed, 267 insertions(+), 201 deletions(-) create mode 100644 recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt create mode 100644 recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py diff --git a/recipes/mpdecimal/2.4.2/conandata.yml b/recipes/mpdecimal/2.4.2/conandata.yml index 41a874b9a4e1b..c08ade0abc061 100644 --- a/recipes/mpdecimal/2.4.2/conandata.yml +++ b/recipes/mpdecimal/2.4.2/conandata.yml @@ -4,7 +4,5 @@ sources: url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.4.2.tar.gz" patches: "2.4.2": - - base_path: "source_subfolder" - patch_file: "patches/0001-msvc-fixes.patch" - - base_path: "source_subfolder" - patch_file: "patches/0002-disable-vcstdint-h-vs2015.patch" + - patch_file: "patches/0001-msvc-fixes.patch" + - patch_file: "patches/0002-disable-vcstdint-h-vs2015.patch" diff --git a/recipes/mpdecimal/2.4.2/conanfile.py b/recipes/mpdecimal/2.4.2/conanfile.py index e0edbd2d2f318..c1e944ec6366b 100644 --- a/recipes/mpdecimal/2.4.2/conanfile.py +++ b/recipes/mpdecimal/2.4.2/conanfile.py @@ -1,19 +1,30 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -import shutil + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file, rmdir, mkdir, rename +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, VCVars, NMakeDeps, NMakeToolchain + +required_conan_version = ">=1.53.0" class MpdecimalConan(ConanFile): name = "mpdecimal" - version = "2.4.2" - description = "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." + description = ( + "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." + ) license = "BSD-2-Clause" - topics = ("mpdecimal", "multiprecision", "library") url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.bytereef.org/mpdecimal" - settings = "os", "compiler", "build_type", "arch" - exports_sources = "patches/**" + topics = ("multiprecision", "library") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -23,42 +34,72 @@ class MpdecimalConan(ConanFile): "fPIC": True, } - _autotools = None - @property - def _source_subfolder(self): - return "source_subfolder" + def _settings_build(self): + return getattr(self, "setings_build", self.settings) - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - - def configure(self): - if self._is_msvc and self.settings.arch not in ("x86", "x86_64"): - raise ConanInvalidConfiguration("Arch is unsupported") - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - if self.options.shared: - del self.options.fPIC + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self) and self.settings.arch not in ("x86", "x86_64"): + raise ConanInvalidConfiguration( + f"{self.ref} currently does not supported {self.settings.arch}. Contributions are welcomed") + + def build_requirements(self): + if is_msvc(self): + self.tool_requires("automake/1.16.5") + else: + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - _shared_ext_mapping = { - "Linux": ".so", - "Windows": ".dll", - "Macos": ".dylib", - } + def generate(self): + if is_msvc(self): + vcvars = VCVars(self) + vcvars.generate() + + deps = NMakeDeps(self) + deps.generate() + + tc = NMakeToolchain(self) + tc.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.generate() + + deps = AutotoolsDeps(self) + if is_apple_os(self) and self.settings.arch == "armv8": + deps.environment.append("LDFLAGS", ["-arch arm64"]) + deps.environment.append("LDXXFLAGS", ["-arch arm64"]) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if not self._is_msvc: + apply_conandata_patches(self) + if not is_msvc(self): """ Using autotools: - Build only shared libraries when shared == True @@ -66,142 +107,140 @@ def _patch_sources(self): ! This is more complicated on Windows because when shared=True, an implicit static library has to be built """ - shared_ext = self._shared_ext_mapping[str(self.settings.os)] + shared_ext_mapping = { + "Linux": ".so", + "Windows": ".dll", + "Macos": ".dylib", + } + shared_ext = shared_ext_mapping[str(self.settings.os)] static_ext = ".a" main_version, _ = self.version.split(".", 1) - tools.replace_in_file(os.path.join(self._source_subfolder, "configure"), - "libmpdec.a", - "libmpdec{}".format(static_ext)) - tools.replace_in_file(os.path.join(self._source_subfolder, "configure"), - "libmpdec.so", - "libmpdec{}".format(shared_ext)) - - makefile_in = os.path.join(self._source_subfolder, "Makefile.in") - mpdec_makefile_in = os.path.join(self._source_subfolder, "libmpdec", "Makefile.in") - tools.replace_in_file(makefile_in, - "libdir = @libdir@", - "libdir = @libdir@\n" - "bindir = @bindir@") + replace_in_file(self, os.path.join(self.source_folder, "configure"), + "libmpdec.a", f"libmpdec{static_ext}") + replace_in_file(self, os.path.join(self.source_folder, "configure"), + "libmpdec.so", f"libmpdec{shared_ext}") + + makefile_in = os.path.join(self.source_folder, "Makefile.in") + mpdec_makefile_in = os.path.join(self.source_folder, "libmpdec", "Makefile.in") + replace_in_file(self, makefile_in, "libdir = @libdir@", "libdir = @libdir@\nbindir = @bindir@") if self.options.shared: if self.settings.os == "Windows": - tools.replace_in_file(makefile_in, - "LIBSHARED = @LIBSHARED@", - "LIBSHARED = libmpdec-{}{}".format(main_version, shared_ext)) - tools.replace_in_file(makefile_in, - "install: FORCE", - "install: FORCE\n" - "\t$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)") - tools.replace_in_file(makefile_in, - "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", - "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(bindir)\n") - tools.replace_in_file(makefile_in, - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", - "") + replace_in_file(self, makefile_in, + "LIBSHARED = @LIBSHARED@", + f"LIBSHARED = libmpdec-{main_version}{shared_ext}") + replace_in_file(self, makefile_in, + "install: FORCE", + "install: FORCE\n\t$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)") + replace_in_file(self, makefile_in, + "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", + "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(bindir)\n") + replace_in_file(self, makefile_in, + "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", + "") else: - tools.replace_in_file(makefile_in, - "\t$(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir)\n", - "") - tools.replace_in_file(makefile_in, - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so", - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec{}".format(shared_ext)) + replace_in_file(self, makefile_in, + "\t$(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir)\n", + "") + replace_in_file(self, makefile_in, + "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so", + f"\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec{shared_ext}") else: - tools.replace_in_file(makefile_in, - "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", - "") - tools.replace_in_file(makefile_in, - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", - "") + replace_in_file(self, makefile_in, + "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", + "") + replace_in_file(self, makefile_in, + "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", + "") - tools.replace_in_file(mpdec_makefile_in, - "default: $(LIBSTATIC) $(LIBSHARED)", - "default: $({})".format("LIBSHARED" if self.options.shared else "LIBSTATIC")) + replace_in_file(self, mpdec_makefile_in, + "default: $(LIBSTATIC) $(LIBSHARED)", + "default: $({})".format("LIBSHARED" if self.options.shared else "LIBSTATIC")) if self.settings.os == "Windows": - tools.replace_in_file(mpdec_makefile_in, - "LIBSHARED = @LIBSHARED@", - "LIBSHARED = libmpdec-{}{}".format(main_version, shared_ext)) - tools.replace_in_file(mpdec_makefile_in, - "\tln -sf $(LIBSHARED) libmpdec.so", - "") - tools.replace_in_file(mpdec_makefile_in, - "\tln -sf $(LIBSHARED) $(LIBSONAME)", - "") - tools.replace_in_file(mpdec_makefile_in, - "CONFIGURE_LDFLAGS =", - "CONFIGURE_LDFLAGS = -Wl,--out-implib,libmpdec{}".format(static_ext)) + replace_in_file(self, mpdec_makefile_in, + "LIBSHARED = @LIBSHARED@", + f"LIBSHARED = libmpdec-{main_version}{shared_ext}") + replace_in_file(self, mpdec_makefile_in, "\tln -sf $(LIBSHARED) libmpdec.so", "") + replace_in_file(self, mpdec_makefile_in, "\tln -sf $(LIBSHARED) $(LIBSONAME)", "") + replace_in_file(self, mpdec_makefile_in, + "CONFIGURE_LDFLAGS =", + f"CONFIGURE_LDFLAGS = -Wl,--out-implib,libmpdec{static_ext}") else: - tools.replace_in_file(mpdec_makefile_in, - "libmpdec.so", - "libmpdec{}".format(shared_ext)) + replace_in_file(self, mpdec_makefile_in, "libmpdec.so", f"libmpdec{shared_ext}") - def _build_msvc(self): - libmpdec_folder = os.path.join(self.build_folder, self._source_subfolder, "libmpdec") - vcbuild_folder = os.path.join(self.build_folder, self._source_subfolder, "vcbuild") - arch_ext = "{}".format(32 if self.settings.arch == "x86" else 64) - dist_folder = os.path.join(vcbuild_folder, "dist{}".format(arch_ext)) - os.mkdir(dist_folder) - - shutil.copy(os.path.join(libmpdec_folder, "Makefile.vc"), os.path.join(libmpdec_folder, "Makefile")) - - autotools = AutoToolsBuildEnvironment(self) - - with tools.chdir(libmpdec_folder): - with tools.vcvars(self.settings): - self.run("""nmake /nologo MACHINE={machine} DLL={dll} CONAN_CFLAGS="{cflags}" CONAN_LDFLAGS="{ldflags}" """.format( - machine="ppro" if self.settings.arch == "x86" else "x64", - dll="1" if self.options.shared else "0", - cflags=" ".join(autotools.flags), - ldflags=" ".join(autotools.link_flags), - )) - - shutil.copy("mpdecimal.h", dist_folder) - if self.options.shared: - shutil.copy("libmpdec-{}.dll".format(self.version), os.path.join(dist_folder, "libmpdec-{}.dll".format(self.version))) - shutil.copy("libmpdec-{}.dll.exp".format(self.version), os.path.join(dist_folder, "libmpdec-{}.exp".format(self.version))) - shutil.copy("libmpdec-{}.dll.lib".format(self.version), os.path.join(dist_folder, "libmpdec-{}.lib".format(self.version))) - else: - shutil.copy("libmpdec-{}.lib".format(self.version), dist_folder) + @property + def _libmpdec_folder(self): + return self.source_path / "libmpdec" + + @property + def _dist_folder(self): + vcbuild_folder = self.build_path / "vcbuild" + arch_ext = "32" if self.settings.arch == "x86" else "64" + return vcbuild_folder / f"dist{arch_ext}" - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.os == "Macos" and self.settings.arch == "armv8": - self._autotools.link_flags.append("-arch arm64") - self._autotools .configure() - return self._autotools + def _build_msvc(self): + libmpdec_folder = self._libmpdec_folder + copy(self, "Makefile.vc", libmpdec_folder, self.build_path) + rename(self, self.build_path / "Makefile.vc", libmpdec_folder / "Makefile") + + ext = "dll" if self.options.shared else "lib" + mpdec_target = f"libmpdec-{self.version}.{ext}" + + with chdir(self, libmpdec_folder): + self.run("nmake -f Makefile.vc {target} MACHINE={machine} DEBUG={debug} DLL={dll}".format( + target=mpdec_target, + machine={"x86": "ppro", "x86_64": "x64"}[str(self.settings.arch)], + # FIXME: else, use ansi32 and ansi64 + debug="1" if self.settings.build_type == "Debug" else "0", + dll="1" if self.options.shared else "0", + )) + + dist_folder = self._dist_folder + mkdir(self, dist_folder) + copy(self, "mpdecimal.h", libmpdec_folder, dist_folder) + if self.options.shared: + copy(self, "*.dll", libmpdec_folder, dist_folder) + copy(self, "*.dll.exp", libmpdec_folder, dist_folder) + copy(self, "*.dll.lib", libmpdec_folder, dist_folder) + else: + copy(self, "*.lib", libmpdec_folder, dist_folder) def build(self): self._patch_sources() - if self._is_msvc: + if is_msvc(self): self._build_msvc() else: - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") - if self._is_msvc: - distfolder = os.path.join(self.build_folder, self._source_subfolder, "vcbuild", "dist{}".format(32 if self.settings.arch == "x86" else 64)) - self.copy("vc*.h", src=os.path.join(self.build_folder, self._source_subfolder, "libmpdec"), dst="include") - self.copy("*.h", src=distfolder, dst="include") - self.copy("*.lib", src=distfolder, dst="lib") - self.copy("*.dll", src=distfolder, dst="bin") + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + dist_folder = self._dist_folder + copy(self, "vc*.h", src=self._libmpdec_folder, dst=os.path.join(self.package_folder, "include")) + copy(self, "*.h", src=dist_folder, dst=os.path.join(self.package_folder, "include")) + copy(self, "*.lib", src=dist_folder, dst=os.path.join(self.package_folder, "lib")) + copy(self, "*.dll", src=dist_folder, dst=os.path.join(self.package_folder, "bin")) else: - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder)): - autotools = self._configure_autotools() + with chdir(self, os.path.join(self.source_folder)): + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) def package_info(self): - if self._is_msvc: - self.cpp_info.libs = ["libmpdec-{}".format(self.version)] + if is_msvc(self): + if self.options.shared: + self.cpp_info.libs = [f"libmpdec-{self.version}.dll"] + else: + self.cpp_info.libs = [f"libmpdec-{self.version}"] else: self.cpp_info.libs = ["mpdec"] if self.options.shared: - if self._is_msvc: + if is_msvc(self): self.cpp_info.defines = ["USE_DLL"] else: if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt b/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt index 3a403dc404b41..fecc277bff235 100644 --- a/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt +++ b/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(mpdecimal REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE mpdecimal::mpdecimal) diff --git a/recipes/mpdecimal/2.4.2/test_package/conanfile.py b/recipes/mpdecimal/2.4.2/test_package/conanfile.py index 97c415cdb0a2a..694bc86329208 100644 --- a/recipes/mpdecimal/2.4.2/test_package/conanfile.py +++ b/recipes/mpdecimal/2.4.2/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run("{} 13 100".format(os.path.join("bin", "test_package")), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} 13 100", env="conanrun") diff --git a/recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt b/recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py b/recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fa100896a6cfb --- /dev/null +++ b/recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run("{} 13 100".format(os.path.join("bin", "test_package")), run_environment=True) diff --git a/recipes/mpdecimal/2.5.x/conanfile.py b/recipes/mpdecimal/2.5.x/conanfile.py index 5d90356bfd228..ce8610550b172 100644 --- a/recipes/mpdecimal/2.5.x/conanfile.py +++ b/recipes/mpdecimal/2.5.x/conanfile.py @@ -8,7 +8,6 @@ from conan.tools.apple import is_apple_os from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -import pathlib required_conan_version = ">=1.55.0" @@ -17,10 +16,11 @@ class MpdecimalConan(ConanFile): name = "mpdecimal" description = "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." license = "BSD-2-Clause" - topics = ("mpdecimal", "multiprecision", "library") + topics = ("multiprecision", "library") url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.bytereef.org/mpdecimal" - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -64,9 +64,9 @@ def validate(self): def build_requirements(self): if is_msvc(self): - self.tool_requires("automake/1.16.4") + self.tool_requires("automake/1.16.5") else: - # required to suppport windows as a build machine + # required to support windows as a build machine if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -110,18 +110,18 @@ def generate(self): deps.environment.append("LDXXFLAGS", ["-arch arm64"]) deps.generate() + @property + def _dist_folder(self): + vcbuild_folder = self.build_path / "vcbuild" + arch_ext = "32" if self.settings.arch == "x86" else "64" + return vcbuild_folder / f"dist{arch_ext}" + def _build_msvc(self): - source_dir = pathlib.Path(self.source_folder) - build_dir = pathlib.Path(self.build_folder) - libmpdec_folder = source_dir / "libmpdec" - libmpdecpp_folder = source_dir / "libmpdec++" - vcbuild_folder = build_dir / "vcbuild" - arch_ext = "{}".format(32 if self.settings.arch == "x86" else 64) - dist_folder = vcbuild_folder / "dist{}".format(arch_ext) - mkdir(self, dist_folder) + libmpdec_folder = self.source_path / "libmpdec" + libmpdecpp_folder = self.source_path / "libmpdec++" - copy(self, "Makefile.vc", libmpdec_folder, build_dir) - rename(self, build_dir / "Makefile.vc", libmpdec_folder / "Makefile") + copy(self, "Makefile.vc", libmpdec_folder, self.build_path) + rename(self, self.build_path / "Makefile.vc", libmpdec_folder / "Makefile") mpdec_target = "libmpdec-{}.{}".format(self.version, "dll" if self.options.shared else "lib") mpdecpp_target = "libmpdec++-{}.{}".format(self.version, "dll" if self.options.shared else "lib") @@ -140,16 +140,18 @@ def _build_msvc(self): dll="1" if self.options.shared else "0", )) + dist_folder = self._dist_folder + mkdir(self, dist_folder) copy(self, "mpdecimal.h", libmpdec_folder, dist_folder) if self.options.shared: - copy(self, "libmpdec-{}.dll".format(self.version), libmpdec_folder, dist_folder) - copy(self, "libmpdec-{}.dll.exp".format(self.version), libmpdec_folder, dist_folder) - copy(self, "libmpdec-{}.dll.lib".format(self.version), libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll", libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll.exp", libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll.lib", libmpdec_folder, dist_folder) else: - copy(self, "libmpdec-{}.lib".format(self.version), libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.lib", libmpdec_folder, dist_folder) if self.options.cxx: copy(self, "decimal.hh", libmpdecpp_folder, dist_folder) - copy(self, "libmpdec++-{}.lib".format(self.version), libmpdecpp_folder, dist_folder) + copy(self, f"libmpdec++-{self.version}.lib", libmpdecpp_folder, dist_folder) @property def _shared_suffix(self): @@ -162,10 +164,13 @@ def _shared_suffix(self): @property def _target_names(self): libsuffix = self._shared_suffix if self.options.shared else ".a" - versionsuffix = ".{}".format(self.version) if self.options.shared else "" - suffix = "{}{}".format(versionsuffix, libsuffix) if is_apple_os( - self) or self.settings.os == "Windows" else "{}{}".format(libsuffix, versionsuffix) - return "libmpdec{}".format(suffix), "libmpdec++{}".format(suffix) + versionsuffix = f".{self.version}" if self.options.shared else "" + suffix = ( + f"{versionsuffix}{libsuffix}" + if is_apple_os(self) or self.settings.os == "Windows" + else f"{libsuffix}{versionsuffix}" + ) + return f"libmpdec{suffix}", f"libmpdec++{suffix}" def build(self): apply_conandata_patches(self) @@ -176,32 +181,28 @@ def build(self): autotools.configure() # self.output.info(load(self, pathlib.Path("libmpdec", "Makefile"))) libmpdec, libmpdecpp = self._target_names - copy(self, "*", pathlib.Path(self.source_folder, "libmpdec"), pathlib.Path(self.build_folder, "libmpdec")) + copy(self, "*", self.source_path / "libmpdec", self.build_path / "libmpdec") with chdir(self, "libmpdec"): autotools.make(target=libmpdec) if self.options.cxx: - copy(self, "*", pathlib.Path(self.source_folder, "libmpdec++"), - pathlib.Path(self.build_folder, "libmpdec++")) + copy(self, "*", self.source_path / "libmpdec++", self.build_path / "libmpdec++") with chdir(self, "libmpdec++"): autotools.make(target=libmpdecpp) def package(self): - source_dir = pathlib.Path(self.source_folder) - pkg_dir = pathlib.Path(self.package_folder) + pkg_dir = self.package_path copy(self, "LICENSE.txt", src=self.source_folder, dst=pkg_dir / "licenses") if is_msvc(self): - build_dir = pathlib.Path(self.build_folder) - distfolder = build_dir / "vcbuild" / "dist{}".format(32 if self.settings.arch == "x86" else 64) - copy(self, "vc*.h", src=source_dir / "libmpdec", dst=pkg_dir / "include") + distfolder = self._dist_folder + copy(self, "vc*.h", src=self.source_path / "libmpdec", dst=pkg_dir / "include") copy(self, "*.h", src=distfolder, dst=pkg_dir / "include") if self.options.cxx: copy(self, "*.hh", src=distfolder, dst=pkg_dir / "include") copy(self, "*.lib", src=distfolder, dst=pkg_dir / "lib") copy(self, "*.dll", src=distfolder, dst=pkg_dir / "bin") else: - build_dir = pathlib.Path(self.build_folder) - mpdecdir = build_dir / "libmpdec" - mpdecppdir = build_dir / "libmpdec++" + mpdecdir = self.build_path / "libmpdec" + mpdecppdir = self.build_path / "libmpdec++" copy(self, "mpdecimal.h", src=mpdecdir, dst=pkg_dir / "include") if self.options.cxx: copy(self, "decimal.hh", src=mpdecppdir, dst=pkg_dir / "include") @@ -218,7 +219,7 @@ def package(self): def package_info(self): lib_pre_suf = ("", "") if is_msvc(self): - lib_pre_suf = ("lib", "-{}".format(self.version)) + lib_pre_suf = ("lib", f"-{self.version}") elif self.settings.os == "Windows": if self.options.shared: lib_pre_suf = ("", ".dll") diff --git a/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt b/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt index f5aa7762f69b0..fd62443b2dbe5 100644 --- a/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt +++ b/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15) -project(test_package) +project(test_package LANGUAGES CXX C) enable_testing() @@ -10,7 +10,7 @@ add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE mpdecimal::libmpdecimal) add_test(NAME test_package COMMAND test_package 10 13) -if(MPDECIMAL_CXX) +if(TARGET mpdecimal::libmpdecimal++) add_executable(${PROJECT_NAME}_cpp test_package.cpp) set_propertY(TARGET ${PROJECT_NAME}_cpp PROPERTY CXX_STANDARD 11) target_link_libraries(${PROJECT_NAME}_cpp PRIVATE mpdecimal::libmpdecimal++) diff --git a/recipes/mpdecimal/2.5.x/test_package/conanfile.py b/recipes/mpdecimal/2.5.x/test_package/conanfile.py index 6ee5b409e31d8..24cabf72b9327 100644 --- a/recipes/mpdecimal/2.5.x/test_package/conanfile.py +++ b/recipes/mpdecimal/2.5.x/test_package/conanfile.py @@ -1,11 +1,11 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, cmake_layout from conan.tools.build import can_run, build_jobs class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "VirtualRunEnv", "CMakeDeps" + generators = "VirtualRunEnv", "CMakeToolchain", "CMakeDeps" test_type = "explicit" def layout(self): @@ -14,11 +14,6 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - def generate(self): - tc = CMakeToolchain(self) - tc.variables["MPDECIMAL_CXX"] = self.dependencies["mpdecimal"].options.cxx - tc.generate() - def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt b/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt index c23ed5cfe6d98..4c6b75fcc1914 100644 --- a/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt +++ b/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_v1_package) enable_testing() diff --git a/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py b/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py index 39414f0a3b89d..9f63e99aff76f 100644 --- a/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py +++ b/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py @@ -4,7 +4,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + generators = "cmake", "cmake_find_package_multi" def build(self): cmake = CMake(self) From 4cf16895170b1ac3caa80e0abde359dc1841cadd Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 11 Jan 2024 00:34:31 +0000 Subject: [PATCH 3335/4087] (#22212) [bot] Update authorized users list (2024-01-08) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Do not add mike-solar. Changed username --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 231ba110a0d98..fc765593075be 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1265,3 +1265,4 @@ authorized_users: - pgrossomoreira - wu-vincent - Inujel +- keszegrobert From 2450b3524a166d12883fc69f428f9fe5742e1dd4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jan 2024 11:59:08 +0900 Subject: [PATCH 3336/4087] (#22251) glaze: add version 2.0.5 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index c00d61094fdb5..453113b4c53e7 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.5": + url: "https://github.com/stephenberry/glaze/archive/v2.0.5.tar.gz" + sha256: "a826c823dd125e25ecd29881775df5db07ccacd5358a04efba2b290eb6c945eb" "2.0.3": url: "https://github.com/stephenberry/glaze/archive/v2.0.3.tar.gz" sha256: "7e155d2970329ff4a13fe1d4c4e4b63509405a984b4f37ef9f92b8756bb3c8ce" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a06406120e257..b0766039668ce 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.5": + folder: all "2.0.3": folder: all "2.0.2": From 58a8d2e28230b04d4cbc9b4abafd57da69ba1a48 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jan 2024 12:14:41 +0900 Subject: [PATCH 3337/4087] (#22250) base64: add version 0.5.2 --- recipes/base64/all/conandata.yml | 3 +++ recipes/base64/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/base64/all/conandata.yml b/recipes/base64/all/conandata.yml index 05002bdfb4f04..f8a16e7db8b32 100644 --- a/recipes/base64/all/conandata.yml +++ b/recipes/base64/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.2": + url: "https://github.com/aklomp/base64/archive/v0.5.2.tar.gz" + sha256: "723a0f9f4cf44cf79e97bcc315ec8f85e52eb104c8882942c3f2fba95acc080d" "0.5.1": url: "https://github.com/aklomp/base64/archive/v0.5.1.tar.gz" sha256: "35fd9400ce85ba5fc5455b3f1c8d0078d084ad246bd808315fd01ea8f2876dbf" diff --git a/recipes/base64/config.yml b/recipes/base64/config.yml index f6f488a641c0d..7e8cf882c17d0 100644 --- a/recipes/base64/config.yml +++ b/recipes/base64/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.2": + folder: all "0.5.1": folder: all "0.5.0": From 2a3e1f19a4619dad971ca1772815305c65af7c33 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 11 Jan 2024 08:59:22 +0200 Subject: [PATCH 3338/4087] (#22193) pixman: add v0.43.0 * pixman: add v0.43.0 * pixman: add source mirrors due to instability of cairographics.org --- recipes/pixman/all/conandata.yml | 17 ++++++++++++++--- recipes/pixman/config.yml | 2 ++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/recipes/pixman/all/conandata.yml b/recipes/pixman/all/conandata.yml index 4a6a13bbe99c7..64d7ea0c4a642 100644 --- a/recipes/pixman/all/conandata.yml +++ b/recipes/pixman/all/conandata.yml @@ -1,12 +1,23 @@ sources: + "0.43.0": + url: + - "https://www.cairographics.org/releases/pixman-0.43.0.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.43.0.tar.gz" + sha256: "a65c28209858fb16bee50d809c80f90a8e415c0e4fd8321078a1822785a5560a" "0.42.2": - url: "https://www.cairographics.org/releases/pixman-0.42.2.tar.gz" + url: + - "https://www.cairographics.org/releases/pixman-0.42.2.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.42.2.tar.gz" sha256: "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e" "0.40.0": - url: "https://www.cairographics.org/releases/pixman-0.40.0.tar.gz" + url: + - "https://www.cairographics.org/releases/pixman-0.40.0.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.40.0.tar.gz" sha256: "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc" "0.38.4": - url: "https://www.cairographics.org/releases/pixman-0.38.4.tar.gz" + url: + - "https://www.cairographics.org/releases/pixman-0.38.4.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.38.4.tar.gz" sha256: "da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7" patches: "0.42.2": diff --git a/recipes/pixman/config.yml b/recipes/pixman/config.yml index 6f0c577480090..1daaad4889538 100644 --- a/recipes/pixman/config.yml +++ b/recipes/pixman/config.yml @@ -1,4 +1,6 @@ versions: + "0.43.0": + folder: "all" "0.42.2": folder: "all" "0.40.0": From e712a504b6dd9fa2603c0cff61cb60eb465f5c3c Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Thu, 11 Jan 2024 02:48:08 -0500 Subject: [PATCH 3339/4087] (#20611) andreasbuhr-cppcoro: Conan 2.0 support * cppcoro conan2 support * cppcoro: conan2 cleanup * Lint fixes * cppcoro: Review suggestions and other PR changes * Add andreasbuhr-cppcoro cci.20230629 * cppcoro does not work with clang<14+libstdc++ * Remove cppcoro 20210113 * Add cppcoro windows system deps * Simplify cppcoro v1 test package * cppcoro: Misc hook fixes + misc improvements * Miscellaneous clang testing/fixes * Fix MSVC build * = -> == --- .../andreasbuhr-cppcoro/all/CMakeLists.txt | 7 - recipes/andreasbuhr-cppcoro/all/conandata.yml | 6 +- recipes/andreasbuhr-cppcoro/all/conanfile.py | 139 +++++++++++------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 22 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 +++ recipes/andreasbuhr-cppcoro/config.yml | 2 +- 8 files changed, 129 insertions(+), 77 deletions(-) delete mode 100644 recipes/andreasbuhr-cppcoro/all/CMakeLists.txt create mode 100644 recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py diff --git a/recipes/andreasbuhr-cppcoro/all/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/CMakeLists.txt deleted file mode 100644 index fe06f4e0b9505..0000000000000 --- a/recipes/andreasbuhr-cppcoro/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper CXX) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/andreasbuhr-cppcoro/all/conandata.yml b/recipes/andreasbuhr-cppcoro/all/conandata.yml index 8db5685072de7..be3ba151d034d 100644 --- a/recipes/andreasbuhr-cppcoro/all/conandata.yml +++ b/recipes/andreasbuhr-cppcoro/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "cci.20210113": - url: "https://github.com/andreasbuhr/cppcoro/archive/7cc9433436fe8f2482138019cfaafce8e1d7a896.zip" - sha256: "5edc72bb19616ae5b794c7d83f9a5d4973f32c966f1966ab81779d3a38b36a2c" + "cci.20230629": + url: "https://github.com/andreasbuhr/cppcoro/archive/a3082f56ba135a659f7386b00ff797ba441207ba.zip" + sha256: "8c3283dd7587cdd18b871b290fda9394f262110140685e6de3760ede3b505736" diff --git a/recipes/andreasbuhr-cppcoro/all/conanfile.py b/recipes/andreasbuhr-cppcoro/all/conanfile.py index 2acc06b34e08b..ecc6306553632 100644 --- a/recipes/andreasbuhr-cppcoro/all/conanfile.py +++ b/recipes/andreasbuhr-cppcoro/all/conanfile.py @@ -1,21 +1,24 @@ import os -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import rmdir, get, copy +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class AndreasbuhrCppCoroConan(ConanFile): name = "andreasbuhr-cppcoro" description = "A library of C++ coroutine abstractions for the coroutines TS" - topics = ("conan", "cpp", "async", "coroutines") + topics = ("cpp", "async", "coroutines") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/andreasbuhr/cppcoro" license = "MIT" settings = "os", "compiler", "build_type", "arch" provides = "cppcoro" - - exports_sources = "CMakeLists.txt" - generators = "cmake" + package_type = "library" options = { "shared": [True, False], @@ -26,87 +29,111 @@ class AndreasbuhrCppCoroConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "gcc": "10", "clang": "8", "apple-clang": "10", } + @property + def _min_cppstd(self): + # Clang with libstdc++ always requires C++20 + # Clang 17+ always requires C++20 + # Otherwise, require C++17 + compiler = self.settings.compiler + requires_cpp20 = compiler == "clang" and ("libstdc++" in compiler.get_safe("libcxx", "") or compiler.version >= Version("17")) + return 20 if requires_cpp20 else 17 + + def layout(self): + cmake_layout(self, src_folder="src") + def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + # We can't simply check for C++20, because clang and MSVC support the coroutine TS despite not having labeled (__cplusplus macro) C++20 support min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") else: - if tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires coroutine TS support. The current compiler {} {} does not support it.".format( - self.name, self.settings.compiler, self.settings.compiler.version)) - - # Currently clang expects coroutine to be implemented in a certain way (under std::experiemental::), while libstdc++ puts them under std:: - # There are also other inconsistencies, see https://bugs.llvm.org/show_bug.cgi?id=48172 - # This should be removed after both gcc and clang implements the final coroutine TS - if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libstdc++": - raise ConanInvalidConfiguration("{} does not support clang with libstdc++. Use libc++ instead.".format(self.name)) + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires coroutine TS support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it." + ) + + # Older versions of clang expects coroutine to be put under std::experimental::, while libstdc++ puts them under std::, + # See https://bugs.llvm.org/show_bug.cgi?id=48172 for more context. + if self.settings.compiler == "clang" and "libstdc++" in self.settings.compiler.get_safe("libcxx", ""): + if self.settings.compiler.version < Version("14"): + raise ConanInvalidConfiguration("{self.name} does not support clang<14 with libstdc++. Use libc++ or upgrade to clang 14+ instead.") + if self.settings.compiler.version == Version("14"): + self.output.warning("This build may fail if using libstdc++13 or greater") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - if self.settings.os == "Windows" and self.options.shared: - self._cmake.definitions["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = "ON" - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = "ON" + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "cppcoro" - self.cpp_info.filenames["cmake_find_package_multi"] = "cppcoro" - self.cpp_info.names["cmake_find_package"] = "cppcoro" - self.cpp_info.names["cmake_find_package_multi"] = "cppcoro" + @property + def _needs_fcoroutines_ts_flag(self): + version = Version(self.settings.compiler.version) + if self.settings.compiler == "clang": + # clang 5: Coroutines support added + # somewhere between clang 5 and 11: the requirement to add -fcoroutines-ts was dropped, at least in the context of this recipe. + return version < 11 + elif self.settings.compiler == "apple-clang": + # At some point before apple-clang 13, in the context of this recipe, the requirement for this flag was dropped. + return version < 13 + else: + return False - comp = self.cpp_info.components["cppcoro"] - comp.names["cmake_find_package"] = "cppcoro" - comp.names["cmake_find_package_multi"] = "cppcoro" - comp.libs = ["cppcoro"] + def package_info(self): + self.cpp_info.libs = ["cppcoro"] - if self.settings.os == "Linux" and self.options.shared: - comp.system_libs = ["pthread"] + if self.settings.os in ["Linux", "FreeBSD"] and self.options.shared: + self.cpp_info.system_libs = ["pthread", "m"] if self.settings.os == "Windows": - comp.system_libs = ["synchronization"] + self.cpp_info.system_libs = ["synchronization", "ws2_32", "mswsock"] - if self.settings.compiler == "Visual Studio": - comp.cxxflags.append("/await") + if is_msvc(self): + self.cpp_info.cxxflags.append("/await") elif self.settings.compiler == "gcc": - comp.cxxflags.append("-fcoroutines") - comp.defines.append("CPPCORO_COMPILER_SUPPORTS_SYMMETRIC_TRANSFER=1") - elif self.settings.compiler == "clang" or self.settings.compiler == "apple-clang": - comp.cxxflags.append("-fcoroutines-ts") + self.cpp_info.cxxflags.append("-fcoroutines") + self.cpp_info.defines.append("CPPCORO_COMPILER_SUPPORTS_SYMMETRIC_TRANSFER=1") + elif self._needs_fcoroutines_ts_flag: + self.cpp_info.cxxflags.append("-fcoroutines-ts") + + self.cpp_info.set_property("cmake_file_name", "cppcoro") + self.cpp_info.set_property("cmake_target_name", "cppcoro::cppcoro") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "cppcoro" + self.cpp_info.filenames["cmake_find_package_multi"] = "cppcoro" + self.cpp_info.names["cmake_find_package"] = "cppcoro" + self.cpp_info.names["cmake_find_package_multi"] = "cppcoro" diff --git a/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt index 7c6a625130a35..656a3690c2777 100644 --- a/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt +++ b/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(cppcoro CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py b/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py index 910ae60d10438..0a6bc68712d90 100644 --- a/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py +++ b/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py b/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/andreasbuhr-cppcoro/config.yml b/recipes/andreasbuhr-cppcoro/config.yml index 1ae5eab0b9b8f..1b221bd98d9e3 100644 --- a/recipes/andreasbuhr-cppcoro/config.yml +++ b/recipes/andreasbuhr-cppcoro/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20210113": + "cci.20230629": folder: "all" From 1c560e385ab4719b5a894ead817398e85c359064 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 Jan 2024 10:25:06 +0100 Subject: [PATCH 3340/4087] (#22240) boost 1.83.0: fix windows without NOMINMAX --- recipes/boost/all/conandata.yml | 4 ++++ .../all/patches/1.83.0-locale-msvc.patch | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 recipes/boost/all/patches/1.83.0-locale-msvc.patch diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index ee7228b61bc72..3ffdd91d528ab 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -67,6 +67,10 @@ patches: - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" patch_type: "conan" + - patch_file: "patches/1.83.0-locale-msvc.patch" + patch_description: "Fix compilation on windows when NOMINMAX is not defined" + patch_type: "official" + patch_source: "https://github.com/boostorg/locale/pull/189" "1.82.0": - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" diff --git a/recipes/boost/all/patches/1.83.0-locale-msvc.patch b/recipes/boost/all/patches/1.83.0-locale-msvc.patch new file mode 100644 index 0000000000000..acb9510e6eb2f --- /dev/null +++ b/recipes/boost/all/patches/1.83.0-locale-msvc.patch @@ -0,0 +1,22 @@ +From 0552ffc29ff11e4fe130b7143ea6ac2bee7b15c6 Mon Sep 17 00:00:00 2001 +From: wevsty +Date: Sat, 12 Aug 2023 22:13:48 +0800 +Subject: [PATCH] fix build error on MSVC + +--- + boost/locale/util/string.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boost/locale/util/string.hpp b/boost/locale/util/string.hpp +index 9ab9521c..ba066bd4 100644 +--- a/boost/locale/util/string.hpp ++++ b/boost/locale/util/string.hpp +@@ -38,7 +38,7 @@ namespace boost { namespace locale { namespace util { + /// Cast an unsigned char to a (possibly signed) char avoiding implementation defined behavior + constexpr char to_char(unsigned char c) + { +- return static_cast((c - std::numeric_limits::min()) + std::numeric_limits::min()); ++ return static_cast((c - (std::numeric_limits::min)()) + (std::numeric_limits::min)()); + } + + }}} // namespace boost::locale::util From 8ccef8791c36835b752e4bb5ba403e7a35542012 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 11 Jan 2024 16:10:09 +0200 Subject: [PATCH 3341/4087] (#22189) xerces-c: add v3.2.5, simplify patching * xerces-c: add v3.2.5 * xerces-c: simplify patching * xerces-c: bump icu --- recipes/xerces-c/all/conandata.yml | 8 +++--- recipes/xerces-c/all/conanfile.py | 12 ++++++--- .../0001-remove-test-samples-324.patch | 27 ------------------- .../patches/0001-remove-test-samples.patch | 27 ------------------- recipes/xerces-c/config.yml | 2 ++ 5 files changed, 16 insertions(+), 60 deletions(-) delete mode 100644 recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch delete mode 100644 recipes/xerces-c/all/patches/0001-remove-test-samples.patch diff --git a/recipes/xerces-c/all/conandata.yml b/recipes/xerces-c/all/conandata.yml index b384861145f6b..42c60fa48a45e 100644 --- a/recipes/xerces-c/all/conandata.yml +++ b/recipes/xerces-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.5": + url: "https://github.com/apache/xerces-c/archive/v3.2.5.tar.gz" + sha256: "4042f6f11c9eba745dc0e5f8035d98b442097ee4efc69e4853410e4737a987f8" "3.2.4": url: "https://github.com/apache/xerces-c/archive/v3.2.4.tar.gz" sha256: "8dfaa30d6a641bda113625ef65e43c433e8ffd94fadd3b8d39dfe6faf450f26d" @@ -9,12 +12,11 @@ sources: url: "https://github.com/apache/xerces-c/archive/v3.2.2.tar.gz" sha256: "7fe5af7d7ad9d4a06503c15fb5bb0aa5f2ba7959700d16c21b8bd183ca542e7f" patches: + "3.2.5": + - patch_file: "patches/0002-find-icu-programs.patch" "3.2.4": - - patch_file: "patches/0001-remove-test-samples-324.patch" - patch_file: "patches/0002-find-icu-programs.patch" "3.2.3": - - patch_file: "patches/0001-remove-test-samples.patch" - patch_file: "patches/0002-find-icu-programs.patch" "3.2.2": - - patch_file: "patches/0001-remove-test-samples.patch" - patch_file: "patches/0002-find-icu-programs.patch" diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index ea827bcd4bbeb..915980e982b8c 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir, save from conan.tools.scm import Version import os @@ -70,7 +70,7 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): - self.requires("icu/74.1") + self.requires("icu/74.2") if self.options.network_accessor == "curl": self.requires("libcurl/[>=7.78.0 <9]") @@ -129,8 +129,14 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # Disable subdirectories + for subdir in ["doc", "tests", "samples"]: + save(self, os.path.join(self.source_folder, subdir, "CMakeLists.txt"), "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch b/recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch deleted file mode 100644 index 248d7401136e7..0000000000000 --- a/recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 02f819bfda7f01d53d986db1c14ec704dd290b7b Mon Sep 17 00:00:00 2001 -From: Chris Mc -Date: Fri, 3 Sep 2021 20:30:03 -0400 -Subject: [PATCH] disable extra junk - ---- - CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 33bc40f..ebd70c1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -164,10 +164,10 @@ install( - COMPONENT "development") - - # Process subdirectories --add_subdirectory(doc) -+#add_subdirectory(doc) - add_subdirectory(src) --add_subdirectory(tests) --add_subdirectory(samples) -+#add_subdirectory(tests) -+#add_subdirectory(samples) - - # Display configuration summary - message(STATUS "") diff --git a/recipes/xerces-c/all/patches/0001-remove-test-samples.patch b/recipes/xerces-c/all/patches/0001-remove-test-samples.patch deleted file mode 100644 index 9b610bf94fb8e..0000000000000 --- a/recipes/xerces-c/all/patches/0001-remove-test-samples.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 02f819bfda7f01d53d986db1c14ec704dd290b7b Mon Sep 17 00:00:00 2001 -From: Chris Mc -Date: Fri, 3 Sep 2021 20:30:03 -0400 -Subject: [PATCH] disable extra junk - ---- - CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4254f89bb..dfd4bb01b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -175,10 +175,10 @@ install( - COMPONENT "development") - - # Process subdirectories --add_subdirectory(doc) -+#add_subdirectory(doc) - add_subdirectory(src) --add_subdirectory(tests) --add_subdirectory(samples) -+#add_subdirectory(tests) -+#add_subdirectory(samples) - - # Display configuration summary - message(STATUS "") diff --git a/recipes/xerces-c/config.yml b/recipes/xerces-c/config.yml index 795ad892ef369..a8902c8d470c0 100644 --- a/recipes/xerces-c/config.yml +++ b/recipes/xerces-c/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.5": + folder: all "3.2.4": folder: all "3.2.3": From 094242f88fa5cbfc9fc87e4c3d2d179237513f9d Mon Sep 17 00:00:00 2001 From: Oleksandr Koval <37271580+OleksandrKvl@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:36:55 +0200 Subject: [PATCH 3342/4087] (#22196) recipe for `sbepp/1.2.0` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * recipe for `sbepp/1.2.0` * make recipe and tests backward compatible * import `CMakeToolchain` from `conan.tools.cmake` * remove unused `CMakeDeps` module --------- Co-authored-by: Rubén Rincón Blanco --- recipes/sbepp/all/conandata.yml | 3 ++ recipes/sbepp/all/conanfile.py | 9 +++- recipes/sbepp/all/test_package/CMakeLists.txt | 44 ++++++++++++------- recipes/sbepp/all/test_package/conanfile.py | 9 +++- .../sbepp/all/test_v1_package/conanfile.py | 6 +++ recipes/sbepp/config.yml | 2 + 6 files changed, 53 insertions(+), 20 deletions(-) diff --git a/recipes/sbepp/all/conandata.yml b/recipes/sbepp/all/conandata.yml index 82c17d19658b7..2993d854f596e 100644 --- a/recipes/sbepp/all/conandata.yml +++ b/recipes/sbepp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.2.0.tar.gz" + sha256: "068cb8bc940316f8817af8da5c8de577ab49281308b2125c30f2f4e00431a68a" "1.1.0": url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.1.0.tar.gz" sha256: "a5787c7204a2509c8d1eb6c65f0143020d7c7ceadd4a53d2cb9a64dc4f6b9e9a" diff --git a/recipes/sbepp/all/conanfile.py b/recipes/sbepp/all/conanfile.py index 1f66b3dcaaf1b..f1cab17bf2649 100644 --- a/recipes/sbepp/all/conanfile.py +++ b/recipes/sbepp/all/conanfile.py @@ -111,16 +111,23 @@ def package(self): copy(self, "sbeppcTargets.cmake", src=os.path.join(self.source_folder, os.pardir, "cmake"), dst=os.path.join(self.package_folder, self._module_path)) + if Version(self.version) >= "1.2.0": + copy(self, "sbeppcHelpers.cmake", + src=os.path.join(self.source_folder, "cmake"), + dst=os.path.join(self.package_folder, self._module_path)) @property def _module_path(self): return os.path.join("lib", "cmake") def package_info(self): - # provide sbepp::sbeppc target + # provide sbepp::sbeppc target and CMake helpers from sbeppcHelpers.cmake build_modules = [ os.path.join(self._module_path, "sbeppcTargets.cmake") ] + if Version(self.version) >= "1.2.0": + build_modules.append(os.path.join(self._module_path, "sbeppcHelpers.cmake")) + self.cpp_info.builddirs.append(self._module_path) self.cpp_info.set_property("cmake_build_modules", build_modules) diff --git a/recipes/sbepp/all/test_package/CMakeLists.txt b/recipes/sbepp/all/test_package/CMakeLists.txt index 0d65c50caeceb..de42d2a9dbead 100644 --- a/recipes/sbepp/all/test_package/CMakeLists.txt +++ b/recipes/sbepp/all/test_package/CMakeLists.txt @@ -9,27 +9,37 @@ if(TARGET sbepp::sbeppc) set(sbeppc_test_name "test_sbeppc") set(schema "test_schema") set(schema_path "${CMAKE_CURRENT_LIST_DIR}/${schema}.xml") - set(output_file "${CMAKE_CURRENT_BINARY_DIR}/${schema}/${schema}.hpp") - - add_custom_command( - OUTPUT ${output_file} - COMMAND $ ${schema_path} - DEPENDS ${schema_path} - ) - - add_custom_target(compile_schema DEPENDS ${output_file}) add_executable(${sbeppc_test_name}) - add_dependencies(${sbeppc_test_name} compile_schema) target_sources(${sbeppc_test_name} PRIVATE test_sbeppc.cpp) - - target_include_directories(${sbeppc_test_name} - SYSTEM PRIVATE - ${CMAKE_CURRENT_BINARY_DIR} - ) - - target_link_libraries(${sbeppc_test_name} PRIVATE sbepp::sbepp) target_compile_features(${sbeppc_test_name} PRIVATE cxx_std_11) + + # `sbeppc_compile_schema` was introduced only in `1.2.0` + if(SBEPP_VERSION VERSION_GREATER_EQUAL "1.2.0") + sbeppc_compile_schema( + TARGET_NAME compiled_schema + SCHEMA_FILE "${schema_path}" + ) + + target_link_libraries(${sbeppc_test_name} PRIVATE compiled_schema) + else() + set(output_file "${CMAKE_CURRENT_BINARY_DIR}/${schema}/${schema}.hpp") + + add_custom_command( + OUTPUT "${output_file}" + COMMAND $ "${schema_path}" + DEPENDS "${schema_path}" + ) + + add_custom_target(compile_schema DEPENDS "${output_file}") + add_dependencies(${sbeppc_test_name} compile_schema) + target_include_directories(${sbeppc_test_name} + SYSTEM PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}" + ) + + target_link_libraries(${sbeppc_test_name} PRIVATE sbepp::sbepp) + endif() endif() # test `sbepp::sbepp` header-only library diff --git a/recipes/sbepp/all/test_package/conanfile.py b/recipes/sbepp/all/test_package/conanfile.py index 1111583fea732..f673d7c44446b 100644 --- a/recipes/sbepp/all/test_package/conanfile.py +++ b/recipes/sbepp/all/test_package/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os # It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def requirements(self): @@ -16,6 +16,11 @@ def requirements(self): def layout(self): cmake_layout(self) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SBEPP_VERSION"] = self.dependencies["sbepp"].ref.version + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/sbepp/all/test_v1_package/conanfile.py b/recipes/sbepp/all/test_v1_package/conanfile.py index c492184eec19c..f15a1e8fcf232 100644 --- a/recipes/sbepp/all/test_v1_package/conanfile.py +++ b/recipes/sbepp/all/test_v1_package/conanfile.py @@ -1,4 +1,5 @@ from conans import ConanFile, CMake +from conan.tools.cmake import CMakeToolchain from conan.tools.build import cross_building import os @@ -8,6 +9,11 @@ class TestPackageV1Conan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SBEPP_VERSION"] = self.deps_cpp_info["sbepp"].version + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/sbepp/config.yml b/recipes/sbepp/config.yml index 20ec1c9e2bdee..be97eb7c8428b 100644 --- a/recipes/sbepp/config.yml +++ b/recipes/sbepp/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.1": From c268811795299b0820b4b1d351b5cba69aa3e236 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 11 Jan 2024 21:30:39 +0300 Subject: [PATCH 3343/4087] (#22261) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index ed5be88770bcf..1c84fc42f125f 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.3.tar.gz" + sha256: "b899a290c09ab073341d8924ebbd43694226d9122e0e174264d3a3770814bb15" "2.4.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.2.tar.gz" sha256: "76f3228dd9afa2661fe9326b51e5ec8dc29e364f99fb0f94704792610d543fa2" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index b4f96dd428767..c13479acc9168 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.3": + folder: all "2.4.2": folder: all "2.4.1": From f26fec75d74be6b540c58243ac76b00ffca9a26b Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 Jan 2024 21:44:38 +0100 Subject: [PATCH 3344/4087] (#22254) sfml/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sfml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index c29aef0d78113..ca66440dcf795 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): self.requires("freetype/2.13.2") self.requires("stb/cci.20230920") if self.options.audio: - self.requires("flac/1.4.2") + self.requires("flac/1.4.3") self.requires("openal-soft/1.22.2") self.requires("vorbis/1.3.7") if Version(self.version) >= "2.6.0": From eb09c9ccac22df0a1e177e04720bec8f07cd5970 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Thu, 11 Jan 2024 22:16:22 +0100 Subject: [PATCH 3345/4087] (#22264) perfetto: Bump version: 41.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index d490b5c402d8e..7fcc5a39bf3d7 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "41.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v41.0.tar.gz" + sha256: "4c8fe8a609fcc77ca653ec85f387ab6c3a048fcd8df9275a1aa8087984b89db8" "40.0": url: "https://github.com/google/perfetto/archive/refs/tags/v40.0.tar.gz" sha256: "bd78f0165e66026c31c8c39221ed2863697a8bba5cd39b12e4b43d0b7f71626f" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 52841e460eedc..441b287e9826f 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "41.0": + folder: all "40.0": folder: all "39.0": From 05a6ed5795ff503fe0b258f2e45b47f783bca668 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 Jan 2024 23:03:56 +0100 Subject: [PATCH 3346/4087] (#22253) thrift: bump boost --- recipes/thrift/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 81c5ea92e7246..312d6788c54a2 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: From 3d13f57134259ad4fec34664c8dee4c028c9b28a Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Thu, 11 Jan 2024 14:49:30 -0800 Subject: [PATCH 3347/4087] (#22268) restinio: bump to `fmt/10.2.0` --- recipes/restinio/v0.7/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py index b56146cd43b19..29aee97b93a3d 100644 --- a/recipes/restinio/v0.7/conanfile.py +++ b/recipes/restinio/v0.7/conanfile.py @@ -36,7 +36,7 @@ def layout(self): def requirements(self): self.requires("llhttp/9.1.3") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") self.requires("expected-lite/0.6.3") if self.options.asio == "standalone": From 45f7661f62fb086c671ea513ab46aacf8fe85e71 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 12 Jan 2024 15:49:22 +0900 Subject: [PATCH 3348/4087] (#22270) zlig-nb: add version 2.1.6 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 7e85151017f0d..c46c2b8a3621f 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.6": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.6.tar.gz" + sha256: "a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2" "2.1.5": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.5.tar.gz" sha256: "3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04" diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index b48f6e22e71f3..2b7d8b2941104 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.6": + folder: all "2.1.5": folder: all "2.1.4": From 2fc0f1319fb865e25b3b563879f2658ee461958a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 12 Jan 2024 19:55:44 +0900 Subject: [PATCH 3349/4087] (#22186) roaring: add version 2.1.2 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index 355272cf62ff7..edc3ffb72f6d6 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.2.tar.gz" + sha256: "a53d2f540f78ddae31e30c573b1b7fd41d7257d6a090507ba35d9c398712e5ad" "2.1.1": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.1.tar.gz" sha256: "40a1c04e220bb2305c3adb5347f42b6b435c4bb4ac89dd0047ba8e73a7388dfb" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 0285278f20a4c..cc4a150b9e961 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.2": + folder: all "2.1.1": folder: all "2.1.0": From 71e8de439b57449c44a3bc946d917b3831e6ca71 Mon Sep 17 00:00:00 2001 From: Bruce Emehiser Date: Fri, 12 Jan 2024 04:42:15 -0800 Subject: [PATCH 3350/4087] (#22138) rapidjson/* Specify that rapidjson is a header-only library. * rapidjson/* Specify that rapidjson is a header-only library. * Add package_type and package_id_embed_mode options. --- recipes/rapidjson/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/rapidjson/all/conanfile.py b/recipes/rapidjson/all/conanfile.py index 01002651291b6..49a4bd4e70fd7 100644 --- a/recipes/rapidjson/all/conanfile.py +++ b/recipes/rapidjson/all/conanfile.py @@ -13,11 +13,13 @@ class RapidjsonConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "http://rapidjson.org" license = "MIT" + package_type = "header-library" + package_id_embed_mode = "minor" settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, @@ -33,6 +35,8 @@ def package_id(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "RapidJSON") self.cpp_info.set_property("cmake_target_name", "rapidjson") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "RapidJSON" From 65da40abc3e9bb08a8ccc2aee8ab18fc1869cd88 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 12 Jan 2024 14:47:32 +0200 Subject: [PATCH 3351/4087] (#18947) libest: migrate to Conan v2 * libest: migrate to Conan v2 * libest: transitive_libs=True * libest: strip binaries for Release builds * libest: run autoreconf To hopefully fix configure: error: cannot run C compiled programs. * libest: fix OpenSSL dependency configuration * libest: OpenSSL flags * libest: use version range for openssl Co-authored-by: Uilian Ries * libest: openssl v3 is not supported * libest: revert openssl dep version --------- Co-authored-by: Uilian Ries --- recipes/libest/all/conandata.yml | 2 - recipes/libest/all/conanfile.py | 120 ++++++++++-------- .../libest/all/test_package/CMakeLists.txt | 7 +- recipes/libest/all/test_package/conanfile.py | 24 +++- .../libest/all/test_v1_package/CMakeLists.txt | 8 ++ .../libest/all/test_v1_package/conanfile.py | 16 +++ 6 files changed, 114 insertions(+), 63 deletions(-) create mode 100644 recipes/libest/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libest/all/test_v1_package/conanfile.py diff --git a/recipes/libest/all/conandata.yml b/recipes/libest/all/conandata.yml index b9d0db8b23c2b..eaebe131cc296 100644 --- a/recipes/libest/all/conandata.yml +++ b/recipes/libest/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "3.2.0": - patch_file: "patches/0001-examples-are-broken-don-t-build-them.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-add-extern.patch" - base_path: "source_subfolder" diff --git a/recipes/libest/all/conanfile.py b/recipes/libest/all/conanfile.py index c3b2b423c3d32..ba0d7ffd16a68 100644 --- a/recipes/libest/all/conanfile.py +++ b/recipes/libest/all/conanfile.py @@ -1,80 +1,100 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class LibEstConan(ConanFile): name = "libest" - license = "BSD-3-Clause" description = "EST is used for secure certificate enrollment" - topics = ("conan", "EST", "RFC 7030", "certificate enrollment") - homepage = "https://github.com/cisco/libest" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" - exports_sources = "patches/**" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - _autotools = None + homepage = "https://github.com/cisco/libest" + topics = ("EST", "RFC 7030", "certificate enrollment") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.os in ("Windows", "Macos"): - raise ConanInvalidConfiguration( - "Platform is currently not supported by this recipe") + if self.settings.os == "Windows" or is_apple_os(self): + raise ConanInvalidConfiguration("Platform is currently not supported by this recipe") if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/1.1.1q") + self.requires("openssl/1.1.1w", transitive_headers=True, transitive_libs=True) + + def build_requirements(self): + self.tool_requires("libtool/2.4.7") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-r" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def _configure_autotools(self): - if not self._autotools: - self._autotools = AutoToolsBuildEnvironment(self) - # TODO: - # - Static only build: https://github.com/cisco/libest/blob/70824ddc09bee661329b9416082d88566efefb32/intro.txt#L140 - # - Release build: https://github.com/cisco/libest/blob/70824ddc09bee661329b9416082d88566efefb32/intro.txt#L253 - args = [] - if self.options.shared: - args.extend(["--enable-shared", "--disable-static"]) - else: - args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(args=args) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # Remove duplicate AM_INIT_AUTOMAKE + replace_in_file(self, os.path.join(self.source_folder, "configure.ac"), + "AM_INIT_AUTOMAKE\n", "") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() + self._patch_sources() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() autotools.make() def package(self): - self.copy("*LICENSE", src=self._source_subfolder, dst="licenses") - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.install() + copy(self, "*LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + if self.settings.build_type in ["Release", "MinSizeRel"]: + # https://github.com/cisco/libest/blob/r3.2.0/intro.txt#L244-L254 + autotools.install(target="install-strip") + else: + autotools.install() os.unlink(os.path.join(self.package_folder, "lib", "libest.la")) def package_info(self): self.cpp_info.libs = ["est"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["dl", "pthread"] diff --git a/recipes/libest/all/test_package/CMakeLists.txt b/recipes/libest/all/test_package/CMakeLists.txt index 48b855b8a30aa..38cd9db26265b 100644 --- a/recipes/libest/all/test_package/CMakeLists.txt +++ b/recipes/libest/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libest REQUIRED CONFIG) add_executable(example example.c) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example PRIVATE libest::libest) diff --git a/recipes/libest/all/test_package/conanfile.py b/recipes/libest/all/test_package/conanfile.py index 9f2b070b59136..8d52b7021efe1 100644 --- a/recipes/libest/all/test_package/conanfile.py +++ b/recipes/libest/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class CAresTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/libest/all/test_v1_package/CMakeLists.txt b/recipes/libest/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libest/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libest/all/test_v1_package/conanfile.py b/recipes/libest/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2978938836233 --- /dev/null +++ b/recipes/libest/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class CAresTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From bb3af7d70b23e054b1e4d72b682b741356048528 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 12 Jan 2024 14:10:24 +0100 Subject: [PATCH 3352/4087] (#22236) libvdpau 1.5 --- recipes/libvdpau/all/conandata.yml | 4 + recipes/libvdpau/all/conanfile.py | 85 +++++++++++++++++++ .../libvdpau/all/test_package/CMakeLists.txt | 7 ++ .../libvdpau/all/test_package/conanfile.py | 26 ++++++ .../libvdpau/all/test_package/test_package.c | 46 ++++++++++ recipes/libvdpau/config.yml | 3 + 6 files changed, 171 insertions(+) create mode 100644 recipes/libvdpau/all/conandata.yml create mode 100644 recipes/libvdpau/all/conanfile.py create mode 100644 recipes/libvdpau/all/test_package/CMakeLists.txt create mode 100644 recipes/libvdpau/all/test_package/conanfile.py create mode 100644 recipes/libvdpau/all/test_package/test_package.c create mode 100644 recipes/libvdpau/config.yml diff --git a/recipes/libvdpau/all/conandata.yml b/recipes/libvdpau/all/conandata.yml new file mode 100644 index 0000000000000..8273f43ccd712 --- /dev/null +++ b/recipes/libvdpau/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.5": + url: "https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/1.5/libvdpau-1.5.tar.bz2" + sha256: "a5d50a42b8c288febc07151ab643ac8de06a18446965c7241f89b4e810821913" diff --git a/recipes/libvdpau/all/conanfile.py b/recipes/libvdpau/all/conanfile.py new file mode 100644 index 0000000000000..09d0c693c5905 --- /dev/null +++ b/recipes/libvdpau/all/conanfile.py @@ -0,0 +1,85 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "libvdpau" + description = "Video Decode and Presentation API for UNIX" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.freedesktop.org/wiki/Software/VDPAU/" + topics = ("video", "decode", "presentation") + package_type = "shared-library" + provides = "vdpau" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_dri2": [True, False], + } + default_options = { + "with_dri2": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("xorg/system") + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["dri2"] = "true" if self.options.with_dri2 else "false" + tc.project_options["documentation"] = "false" + tc.project_options["sysconfdir"] = "share" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["vdpau"] + self.cpp_info.set_property("pkg_config_name", "vdpau") + self.cpp_info.system_libs.extend(["pthread", "dl"]) diff --git a/recipes/libvdpau/all/test_package/CMakeLists.txt b/recipes/libvdpau/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d19c6aa2e9305 --- /dev/null +++ b/recipes/libvdpau/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(libvdpau REQUIRED CONFIG) + +add_executable(test_package test_package.c) +target_link_libraries(test_package PRIVATE libvdpau::libvdpau) diff --git a/recipes/libvdpau/all/test_package/conanfile.py b/recipes/libvdpau/all/test_package/conanfile.py new file mode 100644 index 0000000000000..abc9920da73b3 --- /dev/null +++ b/recipes/libvdpau/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + cmd = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/libvdpau/all/test_package/test_package.c b/recipes/libvdpau/all/test_package/test_package.c new file mode 100644 index 0000000000000..f3468bb4d0800 --- /dev/null +++ b/recipes/libvdpau/all/test_package/test_package.c @@ -0,0 +1,46 @@ +#include +#include + +#include + +#include + +int main() +{ + VdpDevice device; + VdpGetProcAddress * get_proc_address; + VdpGetInformationString * get_information_string; + VdpGetApiVersion * get_api_version; + VdpStatus status; + Display * display = XOpenDisplay(NULL); + if (!display) + { + printf("XOpenDisplay failed!\n"); + return 0; + } + status = vdp_device_create_x11(display, 0, &device, &get_proc_address); + if (status != VDP_STATUS_OK) + { + XCloseDisplay(display); + printf("vdp_device_create_x11 failed\n"); + return 0; + } + status = get_proc_address(device, VDP_FUNC_ID_GET_INFORMATION_STRING, (void**) &get_information_string); + if (status == VDP_STATUS_OK) + { + char const * information_string; + status = get_information_string(&information_string); + if (status == VDP_STATUS_OK) + printf("VDPAU information string: %s\n", information_string); + } + status = get_proc_address(device, VDP_FUNC_ID_GET_API_VERSION, (void**) &get_api_version); + if (status == VDP_STATUS_OK) + { + uint32_t api_version; + status = get_api_version(&api_version); + if (status == VDP_STATUS_OK) + printf("VDPAU API version: %d\n", api_version); + } + XCloseDisplay(display); + return 0; +} diff --git a/recipes/libvdpau/config.yml b/recipes/libvdpau/config.yml new file mode 100644 index 0000000000000..289ff2f2a0c3c --- /dev/null +++ b/recipes/libvdpau/config.yml @@ -0,0 +1,3 @@ +versions: + "1.5": + folder: all From 3a67b15269816ec021e75ee20ee81a2d6fdd67c8 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Fri, 12 Jan 2024 15:20:50 +0200 Subject: [PATCH 3353/4087] (#22262) gdcm: add 3.0.23 and update zlib-ng * gdcm: add 3.0.23 * gdcm: bump zlib-ng to 2.1.6 --- recipes/gdcm/all/conandata.yml | 22 +++++++++ recipes/gdcm/all/conanfile.py | 2 +- .../all/patches/0002-3.0.23-openjpeg.patch | 22 +++++++++ .../all/patches/0004-3.0.23-find-expat.patch | 11 +++++ .../all/patches/0007-3.0.23-find-json.patch | 45 +++++++++++++++++++ .../patches/0008-3.0.23-find-libuuid.patch | 40 +++++++++++++++++ recipes/gdcm/config.yml | 2 + 7 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch create mode 100644 recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch create mode 100644 recipes/gdcm/all/patches/0007-3.0.23-find-json.patch create mode 100644 recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch diff --git a/recipes/gdcm/all/conandata.yml b/recipes/gdcm/all/conandata.yml index 793cf97224a83..117073eddcaea 100644 --- a/recipes/gdcm/all/conandata.yml +++ b/recipes/gdcm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.23": + url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.23/gdcm-3.0.23.tar.bz2" + sha256: "711d155ae4ad84a99a38f3b705b5243da346360232c85fe3e2ca575e57e372a1" "3.0.22": url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.22/gdcm-3.0.22.tar.bz2" sha256: "40a20aa21d6f5b9710020920a9fbd43ac76149b1097f0fab6f9787513a7a7434" @@ -12,6 +15,25 @@ sources: url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.9/gdcm-3.0.9.tar.bz2" sha256: "1d518b0e4709cecfb7330c9bd9b3a73cfd01ffe70d1c178f36a4c847283c4672" patches: + "3.0.23": + - patch_file: "patches/0002-3.0.23-openjpeg.patch" + patch_description: "fix variable names for openjpeg" + patch_type: "conan" + - patch_file: "patches/0004-3.0.23-find-expat.patch" + patch_description: "enforce usage of FindEXPAT.cmake" + patch_type: "conan" + - patch_file: "patches/0005-3.0.20-openssl.patch" + patch_description: "skip check_cxx_source_compiles usage for openssl" + patch_type: "conan" + - patch_file: "patches/0006-json.patch" + patch_description: "skip check_cxx_source_compiles usage for json-c" + patch_type: "conan" + - patch_file: "patches/0007-3.0.23-find-json.patch" + patch_description: "fix find_package for json-c" + patch_type: "conan" + - patch_file: "patches/0008-3.0.23-find-libuuid.patch" + patch_description: "fix find_package for libuuid" + patch_type: "conan" "3.0.22": - patch_file: "patches/0001-3.0.20-find-charls.patch" patch_description: "allow using charls >= 2.2.0" diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index d65646a1f9550..5a0b267df427d 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("expat/2.5.0") self.requires("openjpeg/2.5.0") if self.options.with_zlibng: - self.requires("zlib-ng/2.1.3") + self.requires("zlib-ng/2.1.6") else: self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": diff --git a/recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch b/recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch new file mode 100644 index 0000000000000..eeab7fc906123 --- /dev/null +++ b/recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch @@ -0,0 +1,22 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -361,7 +361,7 @@ endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) + find_package(OpenJPEG 2.0.0 REQUIRED) +- set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) ++ set(GDCM_OPENJPEG_LIBRARIES ${OpenJPEG_LIBRARIES}) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) + endif() +--- a/Source/MediaStorageAndFileFormat/CMakeLists.txt ++++ b/Source/MediaStorageAndFileFormat/CMakeLists.txt +@@ -161,7 +161,7 @@ else() + ) + endif() + if(GDCM_USE_SYSTEM_OPENJPEG) +- include_directories(${OPENJPEG_INCLUDE_DIRS} ) ++ include_directories(${OpenJPEG_INCLUDE_DIRS} ) + else() + include_directories( + "${GDCM_BINARY_DIR}/Utilities/gdcmopenjpeg" diff --git a/recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch b/recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch new file mode 100644 index 0000000000000..17f0337ed9cbf --- /dev/null +++ b/recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -420,7 +420,7 @@ endif() + + if(GDCM_USE_SYSTEM_EXPAT) + # If user say so, then this is a requirement ! +- find_package(EXPAT REQUIRED) ++ find_package(EXPAT REQUIRED MODULE) + set(GDCM_EXPAT_LIBRARIES ${EXPAT_LIBRARIES}) + else() + set(GDCM_EXPAT_LIBRARIES "gdcmexpat") diff --git a/recipes/gdcm/all/patches/0007-3.0.23-find-json.patch b/recipes/gdcm/all/patches/0007-3.0.23-find-json.patch new file mode 100644 index 0000000000000..0dc527b8151cf --- /dev/null +++ b/recipes/gdcm/all/patches/0007-3.0.23-find-json.patch @@ -0,0 +1,45 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -427,7 +427,7 @@ else() + endif() + + if(GDCM_USE_SYSTEM_JSON) +- find_package(JSON REQUIRED) ++ find_package(json-c REQUIRED CONFIG) + endif() + if(GDCM_USE_SYSTEM_PAPYRUS3) + find_package(PAPYRUS3 REQUIRED) +--- a/Source/MediaStorageAndFileFormat/CMakeLists.txt ++++ b/Source/MediaStorageAndFileFormat/CMakeLists.txt +@@ -187,11 +187,6 @@ else() + ) + set(GDCMUUID gdcmuuid) + endif() +-if(GDCM_USE_SYSTEM_JSON) +- include_directories( +- ${JSON_INCLUDE_DIRS} +- ) +-endif() + + add_library(gdcmMSFF ${MSFF_SRCS}) + # gdcmPVRGCodec calls gdcmjpeg +@@ -226,7 +221,7 @@ else() + target_link_libraries(gdcmMSFF LINK_PRIVATE ${GDCMUUID}) + endif() + if(GDCM_USE_SYSTEM_JSON) +- target_link_libraries(gdcmMSFF LINK_PRIVATE ${JSON_LIBRARIES}) ++ target_link_libraries(gdcmMSFF PRIVATE json-c::json-c) + endif() + if(UNIX) + find_package(Iconv) +--- a/Source/MediaStorageAndFileFormat/gdcmJSON.cxx ++++ b/Source/MediaStorageAndFileFormat/gdcmJSON.cxx +@@ -18,7 +18,7 @@ + #include "gdcmSystem.h" + + #ifdef GDCM_USE_SYSTEM_JSON +-#include ++#include + #endif + + #ifdef GDCM_HAVE_JSON_OBJECT_OBJECT_GET_EX diff --git a/recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch b/recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch new file mode 100644 index 0000000000000..25a30c12ea4d4 --- /dev/null +++ b/recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch @@ -0,0 +1,40 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -412,7 +412,7 @@ endif() + + if(GDCM_USE_SYSTEM_UUID) + # If user say so, then this is a requirement ! +- find_package(UUID REQUIRED) ++ find_package(libuuid REQUIRED) + set(GDCM_UUID_LIBRARIES ${UUID_LIBRARIES}) + else() + set(GDCM_UUID_LIBRARIES "gdcmuuid") +--- a/Source/MediaStorageAndFileFormat/CMakeLists.txt ++++ b/Source/MediaStorageAndFileFormat/CMakeLists.txt +@@ -176,17 +176,6 @@ if(NOT GDCM_USE_SYSTEM_ZLIB) + "${GDCM_BINARY_DIR}/Utilities/gdcmzlib" + ) + endif() +-if(GDCM_USE_SYSTEM_UUID) +- include_directories( +- ${UUID_INCLUDE_DIR} +- ) +- set(GDCMUUID ${UUID_LIBRARIES}) +-else() +- include_directories( +- "${GDCM_BINARY_DIR}/Utilities/gdcmuuid" # uuid_mangle.h +- ) +- set(GDCMUUID gdcmuuid) +-endif() + + add_library(gdcmMSFF ${MSFF_SRCS}) + # gdcmPVRGCodec calls gdcmjpeg +@@ -218,7 +207,7 @@ if(WIN32) + target_link_libraries(gdcmMSFF LINK_PRIVATE rpcrt4) + #endif() + else() +- target_link_libraries(gdcmMSFF LINK_PRIVATE ${GDCMUUID}) ++ target_link_libraries(gdcmMSFF LINK_PRIVATE libuuid::libuuid) + endif() + if(GDCM_USE_SYSTEM_JSON) + target_link_libraries(gdcmMSFF PRIVATE json-c::json-c) diff --git a/recipes/gdcm/config.yml b/recipes/gdcm/config.yml index 675075c6ed71e..2cf37e22fa2ab 100644 --- a/recipes/gdcm/config.yml +++ b/recipes/gdcm/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.23": + folder: "all" "3.0.22": folder: "all" "3.0.21": From bde9a7ce1e87ff5464222f3eb44fd83a4696556a Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 12 Jan 2024 16:30:25 +0300 Subject: [PATCH 3354/4087] (#22276) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 1c84fc42f125f..3ca452d0f1089 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.4": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.4.tar.gz" + sha256: "03995edbfe6047d047bcd3c5bb4824c3644927437bb60a95f8a3a9c7096ae981" "2.4.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.3.tar.gz" sha256: "b899a290c09ab073341d8924ebbd43694226d9122e0e174264d3a3770814bb15" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index c13479acc9168..b4eee974a862d 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.4": + folder: all "2.4.3": folder: all "2.4.2": From 6e33808aa3b4e19a911f1dccbdc12ace8a92746d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 12 Jan 2024 14:49:50 +0100 Subject: [PATCH 3355/4087] (#22277) libva/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libva/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libva/all/conanfile.py b/recipes/libva/all/conanfile.py index 47a3e22f2ebe2..4020db9e7c63e 100644 --- a/recipes/libva/all/conanfile.py +++ b/recipes/libva/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): if self.options.get_safe("with_x11"): self.requires("xorg/system") if self.options.get_safe("with_drm"): - self.requires("libdrm/2.4.114") + self.requires("libdrm/2.4.119") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if self.options.get_safe("with_glx"): @@ -78,9 +78,9 @@ def validate(self): def build_requirements(self): if self.options.get_safe("with_wayland"): self.tool_requires("wayland/1.22.0") - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From e287853160ae1923f367221ce88b80abb8376e8a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 12 Jan 2024 16:32:37 +0100 Subject: [PATCH 3356/4087] (#22280) libvdpau/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libvdpau/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libvdpau/all/conanfile.py b/recipes/libvdpau/all/conanfile.py index 09d0c693c5905..0ef3234f8182e 100644 --- a/recipes/libvdpau/all/conanfile.py +++ b/recipes/libvdpau/all/conanfile.py @@ -46,9 +46,9 @@ def requirements(self): self.requires("xorg/system") def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From eb116c8d208735267bac93d2940c60f2dead7255 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 02:02:56 +0900 Subject: [PATCH 3357/4087] (#22283) opentelemetry-proto: add version 1.1.0 --- recipes/opentelemetry-proto/all/conandata.yml | 3 +++ recipes/opentelemetry-proto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opentelemetry-proto/all/conandata.yml b/recipes/opentelemetry-proto/all/conandata.yml index 94ffeec1c7831..818f6d6956d04 100644 --- a/recipes/opentelemetry-proto/all/conandata.yml +++ b/recipes/opentelemetry-proto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.1.0.tar.gz" + sha256: "df491a05f3fcbf86cc5ba5c9de81f6a624d74d4773d7009d573e37d6e2b6af64" "1.0.0": url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.0.0.tar.gz" sha256: "a13a1a7b76a1f22a0ca2e6c293e176ffef031413ab8ba653a82a1dbc286a3a33" diff --git a/recipes/opentelemetry-proto/config.yml b/recipes/opentelemetry-proto/config.yml index 64c1fc73aecec..471fe8eea644f 100644 --- a/recipes/opentelemetry-proto/config.yml +++ b/recipes/opentelemetry-proto/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.20.0": From bc7ddaa1dc6d6a72502dea68e1117e3a89b74a82 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 02:33:11 +0900 Subject: [PATCH 3358/4087] (#22282) spdlog: add version 1.13.0 --- recipes/spdlog/all/conandata.yml | 3 +++ recipes/spdlog/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/spdlog/all/conandata.yml b/recipes/spdlog/all/conandata.yml index f320d3a0e0568..be20cdd979110 100644 --- a/recipes/spdlog/all/conandata.yml +++ b/recipes/spdlog/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.13.0": + url: "https://github.com/gabime/spdlog/archive/v1.13.0.tar.gz" + sha256: "534f2ee1a4dcbeb22249856edfb2be76a1cf4f708a20b0ac2ed090ee24cfdbc9" "1.12.0": url: "https://github.com/gabime/spdlog/archive/v1.12.0.tar.gz" sha256: "4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9" diff --git a/recipes/spdlog/config.yml b/recipes/spdlog/config.yml index 0228f28a93d75..86f1d33d1c720 100644 --- a/recipes/spdlog/config.yml +++ b/recipes/spdlog/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.0": + folder: "all" "1.12.0": folder: "all" "1.11.0": From e8ca0789a973084c74e8ea36f835d9baca5141d2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 03:10:32 +0900 Subject: [PATCH 3359/4087] (#22248) uwebsockets: add version 20.56.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 8d30e31ae6d86..2e1be00494550 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.56.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.56.0.tar.gz" + sha256: "bbac3e317eabf4e558dffe9bfeab4f5ae2d23affcc6df54fb8e580a9e0372767" "20.55.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.55.0.tar.gz" sha256: "bf6b22229fcd10c7cbd256bfd9abf31c829d44eefd56341c0f404e0fa0184f2f" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index a90f8a651f17a..1af0d5c400e72 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.56.0": + folder: all "20.55.0": folder: all "20.53.0": From 5818bddcc8d190b2d7a0768860d572cdef404278 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 03:29:22 +0900 Subject: [PATCH 3360/4087] (#22199) redis-plus-plus: add version 1.3.11 --- recipes/redis-plus-plus/all/conandata.yml | 7 +++++++ recipes/redis-plus-plus/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/redis-plus-plus/all/conandata.yml b/recipes/redis-plus-plus/all/conandata.yml index fb21e925b3beb..eb42b97f78519 100644 --- a/recipes/redis-plus-plus/all/conandata.yml +++ b/recipes/redis-plus-plus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.11": + url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.11.tar.gz" + sha256: "bb4990eed60d3654cd6902b9e67b3ab43e52557e84315560660b0c9e64b6ff77" "1.3.10": url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.10.tar.gz" sha256: "85d9d9ff84c873c4a14bd28bee569a1f311285fad8d4f2fb0e472f65d4bb842a" @@ -18,6 +21,10 @@ sources: url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.3.tar.gz" sha256: "1a3336752133019c963e06c28667b96690d6395b804e5e326671777ff88982ea" patches: + "1.3.11": + - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" + patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" + patch_type: "conan" "1.3.10": - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" diff --git a/recipes/redis-plus-plus/config.yml b/recipes/redis-plus-plus/config.yml index 38a930c3be65e..973c54194e222 100644 --- a/recipes/redis-plus-plus/config.yml +++ b/recipes/redis-plus-plus/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.11": + folder: all "1.3.10": folder: all "1.3.8": From 024f068c2f4e70da239f3afe3782453ed2faf61a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 13 Jan 2024 01:39:00 +0100 Subject: [PATCH 3361/4087] (#22198) libsrtp: disable warnings as errors in 2.5.0 --- recipes/libsrtp/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/libsrtp/all/conanfile.py b/recipes/libsrtp/all/conanfile.py index 0ce6d393a93eb..8a081d12ab6ba 100644 --- a/recipes/libsrtp/all/conanfile.py +++ b/recipes/libsrtp/all/conanfile.py @@ -58,6 +58,8 @@ def generate(self): if Version(self.version) < "2.4.0": # Relocatable shared libs on Macos tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + if Version(self.version) >= "2.5.0": + tc.cache_variables["BUILD_WITH_WARNINGS"] = False tc.generate() deps = CMakeDeps(self) deps.generate() From a207fe2c203cde9b33e1580e061fca5acd2f44a5 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 Jan 2024 11:20:47 +0400 Subject: [PATCH 3362/4087] (#22215) opencl-headers: v2023.12.14 --- recipes/opencl-headers/all/conandata.yml | 3 +++ recipes/opencl-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opencl-headers/all/conandata.yml b/recipes/opencl-headers/all/conandata.yml index d57be7c7026e9..c12029431ef1b 100644 --- a/recipes/opencl-headers/all/conandata.yml +++ b/recipes/opencl-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12.14": + url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2023.12.14.tar.gz" + sha256: "407d5e109a70ec1b6cd3380ce357c21e3d3651a91caae6d0d8e1719c69a1791d" "2023.04.17": url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2023.04.17.tar.gz" sha256: "0ce992f4167f958f68a37918dec6325be18f848dee29a4521c633aae3304915d" diff --git a/recipes/opencl-headers/config.yml b/recipes/opencl-headers/config.yml index 2bf575fcc9451..33facd761b66c 100644 --- a/recipes/opencl-headers/config.yml +++ b/recipes/opencl-headers/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12.14": + folder: all "2023.04.17": folder: all "2023.02.06": From 4022e64fbf5ca334114dc2b6efa74eedb899933e Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 Jan 2024 12:19:19 +0400 Subject: [PATCH 3363/4087] (#22287) opencl-clhpp-headers: v2023.12.14 --- recipes/opencl-clhpp-headers/all/conandata.yml | 3 +++ recipes/opencl-clhpp-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opencl-clhpp-headers/all/conandata.yml b/recipes/opencl-clhpp-headers/all/conandata.yml index 8181b741f827c..dccc1bdf6f829 100644 --- a/recipes/opencl-clhpp-headers/all/conandata.yml +++ b/recipes/opencl-clhpp-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12.14": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2023.12.14.tar.gz" + sha256: "9106700634e79cfa0935ebd67197f64689ced24c42da702acf18fa8435bd8a82" "2023.04.17": url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2023.04.17.tar.gz" sha256: "179243843c620ef6f78b52937aaaa0a742c6ff415f9aaefe3c20225ee283b357" diff --git a/recipes/opencl-clhpp-headers/config.yml b/recipes/opencl-clhpp-headers/config.yml index 2bf575fcc9451..33facd761b66c 100644 --- a/recipes/opencl-clhpp-headers/config.yml +++ b/recipes/opencl-clhpp-headers/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12.14": + folder: all "2023.04.17": folder: all "2023.02.06": From 92e860d8fcb11a9d08c370d81206483a313201fb Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 Jan 2024 13:10:12 +0400 Subject: [PATCH 3364/4087] (#22288) opencl-icd-loader: v2023.12.14 --- recipes/opencl-icd-loader/all/conandata.yml | 3 +++ recipes/opencl-icd-loader/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opencl-icd-loader/all/conandata.yml b/recipes/opencl-icd-loader/all/conandata.yml index 5deceedd582f2..41da7d924af19 100644 --- a/recipes/opencl-icd-loader/all/conandata.yml +++ b/recipes/opencl-icd-loader/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12.14": + url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2023.12.14.tar.gz" + sha256: "af8df96f1e1030329e8d4892ba3aa761b923838d4c689ef52d97822ab0bd8917" "2023.04.17": url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2023.04.17.tar.gz" sha256: "173bdc4f321d550b6578ad2aafc2832f25fbb36041f095e6221025f74134b876" diff --git a/recipes/opencl-icd-loader/config.yml b/recipes/opencl-icd-loader/config.yml index 48faee001ea5a..59d020bde1e4e 100644 --- a/recipes/opencl-icd-loader/config.yml +++ b/recipes/opencl-icd-loader/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12.14": + folder: all "2023.04.17": folder: all "2023.02.06": From 07aaf3ee284b06e1657c87dbe280246efb8dcbde Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 21:30:11 +0900 Subject: [PATCH 3365/4087] (#22292) glaze: add version 2.0.6 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 453113b4c53e7..5df1ea4417f3b 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.6": + url: "https://github.com/stephenberry/glaze/archive/v2.0.6.tar.gz" + sha256: "aa5d4921382e9781998ebbf6d36964556daa3367a2aef5ca814122502b450abc" "2.0.5": url: "https://github.com/stephenberry/glaze/archive/v2.0.5.tar.gz" sha256: "a826c823dd125e25ecd29881775df5db07ccacd5358a04efba2b290eb6c945eb" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b0766039668ce..74e4ebae7e752 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.6": + folder: all "2.0.5": folder: all "2.0.3": From 042afe8cf58bf4161cb00d572ca62afd59375abf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 Jan 2024 17:10:39 +0200 Subject: [PATCH 3366/4087] (#22296) lely-core: add v2.3.3 --- recipes/lely-core/all/conandata.yml | 3 +++ recipes/lely-core/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lely-core/all/conandata.yml b/recipes/lely-core/all/conandata.yml index cc7e4931e5ec2..365fdf916f614 100644 --- a/recipes/lely-core/all/conandata.yml +++ b/recipes/lely-core/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.3": + url: "https://gitlab.com/lely_industries/lely-core/-/archive/v2.3.3/lely-core-v2.3.3.tar.gz" + sha256: "6d0810f9e835543f0aeb5f86dcdc7a24578041f5d0a714bf5a14db2cb24ce373" "2.3.2": url: "https://gitlab.com/lely_industries/lely-core/-/archive/v2.3.2/lely-core-v2.3.2.tar.gz" sha256: "c37eb6f004ad1a1ec1f891e31a09b72f588da361fa92888e8edfcf215a1d707a" diff --git a/recipes/lely-core/config.yml b/recipes/lely-core/config.yml index aee8de619ec30..5ca4acfdc4f7b 100644 --- a/recipes/lely-core/config.yml +++ b/recipes/lely-core/config.yml @@ -1,3 +1,5 @@ versions: + "2.3.3": + folder: all "2.3.2": folder: all From 078d2c41ee9dc108318af93ce6f17be4490be5f6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 Jan 2024 17:52:23 +0200 Subject: [PATCH 3367/4087] (#22298) libnuma: add v2.0.16 --- recipes/libnuma/all/conandata.yml | 3 +++ recipes/libnuma/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnuma/all/conandata.yml b/recipes/libnuma/all/conandata.yml index 0c573279e69f1..34ddb5ae1b18a 100644 --- a/recipes/libnuma/all/conandata.yml +++ b/recipes/libnuma/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.16": + url: "https://github.com/numactl/numactl/releases/download/v2.0.16/numactl-2.0.16.tar.gz" + sha256: "1b242f893af977a1d31af6ce9d6b8dafdd2d8ec3dc9207f7c2dc0d3446e7c7c8" "2.0.14": url: "https://github.com/numactl/numactl/releases/download/v2.0.14/numactl-2.0.14.tar.gz" sha256: "826bd148c1b6231e1284e42a4db510207747484b112aee25ed6b1078756bcff6" diff --git a/recipes/libnuma/config.yml b/recipes/libnuma/config.yml index 819ebd6fb8395..e2f73008d4e9a 100644 --- a/recipes/libnuma/config.yml +++ b/recipes/libnuma/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.16": + folder: all "2.0.14": folder: all From 67fc22cd0c446016e70029d430667075bdf082cd Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 02:44:18 +0900 Subject: [PATCH 3368/4087] (#22304) quill: update fmt/10.2.1 --- recipes/quill/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index f231e678169af..96693e04b9fe8 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -69,7 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0", transitive_headers=True) + self.requires("fmt/10.2.1", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] From 3fed93b559b1875468948cac022130ea88da6009 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 03:20:51 +0900 Subject: [PATCH 3369/4087] (#22301) mppp: update fmt/10.2.1 --- recipes/mppp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index 28146b35e0eeb..9510faa71b6c8 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): if self.options.with_boost: self.requires("boost/1.83.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/10.2.0", transitive_headers=True) + self.requires("fmt/10.2.1", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 1e6b4e1f4ef2db4cd5c44f9eab57370b6413ffc2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 Jan 2024 20:30:49 +0200 Subject: [PATCH 3370/4087] (#22305) ecos: add v2.0.10 --- recipes/ecos/all/conandata.yml | 5 +++++ recipes/ecos/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/ecos/all/conandata.yml b/recipes/ecos/all/conandata.yml index 3034805590c75..d01723bbcc421 100644 --- a/recipes/ecos/all/conandata.yml +++ b/recipes/ecos/all/conandata.yml @@ -1,8 +1,13 @@ sources: + "2.0.10": + url: "https://github.com/embotech/ecos/archive/refs/tags/v2.0.10.tar.gz" + sha256: "1aa24b5782b84fa33df2987510fb8f60f5f999cc2d3a5c73cfc3eb5e5f3b46af" "2.0.8": url: "https://github.com/embotech/ecos/archive/refs/tags/v2.0.8.tar.gz" sha256: "d905d16599efd927a75b29852c3476ff1ffd0b97ab27d5b8ad63bb4ff2ad8130" patches: + "2.0.10": + - patch_file: "patches/0001-fix-cmake.patch" "2.0.8": - patch_file: "patches/0001-fix-cmake.patch" - patch_file: "patches/0002-missing-include.patch" diff --git a/recipes/ecos/config.yml b/recipes/ecos/config.yml index ebde7c07fe491..c6ba7fd0862f2 100644 --- a/recipes/ecos/config.yml +++ b/recipes/ecos/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.10": + folder: all "2.0.8": folder: all From 05d8425871a3bccbcb47ad5ff891ecb9efaeaaf7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 14 Jan 2024 00:36:07 +0200 Subject: [PATCH 3371/4087] (#22310) tgbot: add v1.7.2 --- recipes/tgbot/all/conandata.yml | 3 +++ recipes/tgbot/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tgbot/all/conandata.yml b/recipes/tgbot/all/conandata.yml index e2625bd0a2fbb..1279fcb4b2148 100644 --- a/recipes/tgbot/all/conandata.yml +++ b/recipes/tgbot/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.2": + url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.7.2.tar.gz" + sha256: "3a41c25c5e4b60bda3f278550a380f1c7c382fd50ea1ab1801edc837d1535462" "1.5": url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.5.tar.gz" sha256: "ecd5a21ea45b890828aba1639ac49401cfdd5b30f791322cb1ba84c9ac77647c" diff --git a/recipes/tgbot/config.yml b/recipes/tgbot/config.yml index 39a996dda935d..02741b3fbce3e 100644 --- a/recipes/tgbot/config.yml +++ b/recipes/tgbot/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.2": + folder: all "1.5": folder: all "1.3": From 40fe704e47dd922bc85737b65b7439e954866589 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 14 Jan 2024 01:09:45 +0200 Subject: [PATCH 3372/4087] (#22317) hdrhistogram-c: add v0.11.8 --- recipes/hdrhistogram-c/all/conandata.yml | 3 +++ recipes/hdrhistogram-c/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hdrhistogram-c/all/conandata.yml b/recipes/hdrhistogram-c/all/conandata.yml index ed9d533f37715..7332bd3995031 100644 --- a/recipes/hdrhistogram-c/all/conandata.yml +++ b/recipes/hdrhistogram-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.8": + url: "https://github.com/HdrHistogram/HdrHistogram_c/archive/0.11.8.tar.gz" + sha256: "bb95351a6a8b242dc9be1f28562761a84d4cf0a874ffc90a9b630770a6468e94" "0.11.6": url: "https://github.com/HdrHistogram/HdrHistogram_c/archive/0.11.6.tar.gz" sha256: "b9bb6425d9b0ac5424f6d2286a1295900edab0170d1f50767decb00196785de3" diff --git a/recipes/hdrhistogram-c/config.yml b/recipes/hdrhistogram-c/config.yml index 7e06391938f78..9f7269d8ddea4 100644 --- a/recipes/hdrhistogram-c/config.yml +++ b/recipes/hdrhistogram-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.8": + folder: all "0.11.6": folder: all "0.11.1": From 00ce907b910d0d772f1c73bb699971c141c423c1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 14 Jan 2024 02:19:35 +0200 Subject: [PATCH 3373/4087] (#22321) godot_headers: add v3.5.3 --- recipes/godot_headers/all/conandata.yml | 3 +++ recipes/godot_headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/godot_headers/all/conandata.yml b/recipes/godot_headers/all/conandata.yml index de60664696e4b..8f004a1d2a043 100644 --- a/recipes/godot_headers/all/conandata.yml +++ b/recipes/godot_headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.3": + url: "https://github.com/godotengine/godot-headers/archive/godot-3.5.3-stable.tar.gz" + sha256: "98bf368ab07cac91b864e983bffa50757aabf2a8156d3e9f4d81ecbcea77ebd7" "3.5.2": url: "https://github.com/godotengine/godot-headers/archive/godot-3.5.2-stable.tar.gz" sha256: "42e97953d3f193db01cccd856dff0430a6737d47b8496a70e7df34387d870a6e" diff --git a/recipes/godot_headers/config.yml b/recipes/godot_headers/config.yml index 07764b9a8e270..6aadd92e7a3d8 100644 --- a/recipes/godot_headers/config.yml +++ b/recipes/godot_headers/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.3": + folder: all "3.5.2": folder: all "3.5.1": From 754634a8ce1b1eac5139855ae63bab059b86ef7c Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 23:42:31 +0900 Subject: [PATCH 3374/4087] (#22328) libbigwig: update zlib-ng/2.1.6 --- recipes/libbigwig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index e242d7f2f554c..2795e50cf9841 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.1.5") + self.requires("zlib-ng/2.1.6") else: self.requires("zlib/[>=1.2.11 <2]") From 1a70504aacb82b02bd359ecf6d98fa9ab0c7f860 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 23:54:06 +0900 Subject: [PATCH 3375/4087] (#22326) pdf-writer: add version 4.6.3 --- recipes/pdf-writer/all/conandata.yml | 7 +++++++ recipes/pdf-writer/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml index 9ebe345ad6840..b1b2eb4b8f3ff 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.3": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.3.tar.gz" + sha256: "3b5d9ba4b49d0380678e8172f27cdb8eda196ea448e7f1cdd79620066d082ab9" "4.6.2": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.2.tar.gz" sha256: "0a36815ccc9d207028567f90039785c824b211169ba5da68de84d0c15455ab62" @@ -9,6 +12,10 @@ sources: url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.3": + - patch_file: "patches/4.6.2-0001-fix-cmake.patch" + patch_description: "disable cpack" + patch_type: "conan" "4.6.2": - patch_file: "patches/4.6.2-0001-fix-cmake.patch" patch_description: "disable cpack" diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index 5cbc3ea3ae8e3..44bc3d66897b6 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.3": + folder: all "4.6.2": folder: all "4.6.1": From 936f5754d9f5bf3757eb92ad3a5f2d469bc48a8a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 00:16:45 +0900 Subject: [PATCH 3376/4087] (#22225) usockets: add version 0.8.7 --- recipes/usockets/all/conandata.yml | 7 +++++++ recipes/usockets/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/usockets/all/conandata.yml b/recipes/usockets/all/conandata.yml index 1e162a7179edd..df56cdd674867 100644 --- a/recipes/usockets/all/conandata.yml +++ b/recipes/usockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.7": + url: "https://github.com/uNetworking/uSockets/archive/v0.8.7.tar.gz" + sha256: "920313a2ae42bbda17bded6fc83b3df635af24cc9abefc87905ad60fdc596edf" "0.8.6": url: "https://github.com/uNetworking/uSockets/archive/v0.8.6.tar.gz" sha256: "16eba133dd33eade2f5f8dd87612c04b5dd711066e0471c60d641a2f6a988f16" @@ -24,6 +27,10 @@ sources: url: "https://github.com/uNetworking/uSockets/archive/v0.4.0.tar.gz" sha256: "f9f15b395def578cc79a5b32abc64fa9cff5dac873062911f515b984b90f7cc2" patches: + "0.8.7": + - patch_file: "patches/0001-makefile_0.8.6.patch" + patch_description: "remove lto options" + patch_type: "portability" "0.8.6": - patch_file: "patches/0001-makefile_0.8.6.patch" patch_description: "remove lto options" diff --git a/recipes/usockets/config.yml b/recipes/usockets/config.yml index ed2a319a00e8b..c71afbcfba697 100644 --- a/recipes/usockets/config.yml +++ b/recipes/usockets/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.7": + folder: all "0.8.6": folder: all "0.8.5": From 577566f5e40a832aa122d137a0d2f50ac9248370 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 00:26:54 +0900 Subject: [PATCH 3377/4087] (#22330) daw_header_libraries: add version 2.98.5 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index 1d91b2a43cc99..e2ae0afea2244 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.98.5": + url: "https://github.com/beached/header_libraries/archive/v2.98.5.tar.gz" + sha256: "2d548a6f7a860917e2f743ee75e82733cbf0d3720b7296da023c5a17a9010c9a" "2.97.0": url: "https://github.com/beached/header_libraries/archive/v2.97.0.tar.gz" sha256: "993cda7ff505e80f54322ce544b8a7b02bfef9673d980e43dafcbd3a9a3228d3" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 6309a804a4b56..a97facd0bf9ff 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.98.5": + folder: all "2.97.0": folder: all "2.96.1": From 312be141f29808c59e3afb4848fc8f771e7d36fd Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sun, 14 Jan 2024 16:37:56 +0100 Subject: [PATCH 3378/4087] (#20762) [sentry-native] Stop depending other sentry-breakpad/sentry-crashpad recipes * [sentry-native] Stop depending other sentry-breakpad/sentry-crashpad recipes * Remove test_v1_package * Add patches * Improve component management * Works on macos: - Fix global cmake_file_name property - Remove include directories from components since it is not deployed by the install script - Link crashpad::client in test_package * Proper crashpad testing * Fix breakpad * test_package: Link breakpad on Linux * Add patches to conandata.yml * Remove patches were located at the wrong place * Remove gcc < 7 support for breakpad backend * Use C++17 for MSVC and breakpad backend * Remove breakpad include dir * Fix test_package linking for crashpad and breakpad * fixup! Fix test_package linking for crashpad and breakpad * Add cmake_target_name to breakpad component * Remove breakpad linking in test_package * Proper breakpad_client linking on Linux * Use version range for libcurl dependency * Revert "Proper breakpad_client linking on Linux" This reverts commit 1adfb42a9752d9d2dc3cfed8a00c7be01170e927. * Apply conandata patches * Remove patch installing breakpad headers * Add internal components requirements * Remove patch for lss * Remove pkg-config dependency for breakpad backend * Remove breakpad component * Revert "Remove breakpad component" This reverts commit 76c27e3d666ea4c27b54a8a5719fd9ffd4e2ca77. * Add breakpad_client library only when building shared * Revert "Remove patch installing breakpad headers" This reverts commit 7ea13867746d7f7687e85229c49151866ff8aea9. * Fix sentry component dependencies * Remove patch installing breakpad headers * Add breakpad_client to breakpad component even if shared is false * Add breakpad_client library only for static builds * Don't add crashpad libs to cpp_info.libs if shared --- recipes/sentry-native/all/conandata.yml | 7 + recipes/sentry-native/all/conanfile.py | 183 +++++++++++++++--- .../patches/0.6.5-0001-fix-for-gcc13.patch | 20 ++ .../all/test_package/conanfile.py | 17 +- .../all/test_v1_package/CMakeLists.txt | 8 - .../all/test_v1_package/conanfile.py | 17 -- 6 files changed, 200 insertions(+), 52 deletions(-) create mode 100644 recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch delete mode 100644 recipes/sentry-native/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/sentry-native/all/test_v1_package/conanfile.py diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index ced5e36dba275..26aa302e7bd27 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -14,3 +14,10 @@ sources: "0.4.18": url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" + +patches: + "0.6.5": + - patch_file: "patches/0.6.5-0001-fix-for-gcc13.patch" + patch_type: "backport" + patch_description: "Extra header required for gcc13" + patch_source: "https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/4847514" diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 35bd2e66caa37..8964b109c4ad8 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -4,8 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy, get, rm, rmdir -from conan.tools.gnu import PkgConfigDeps +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -34,6 +33,7 @@ class SentryNativeConan(ConanFile): "transport": ["none", "curl", "winhttp"], "qt": [True, False], "with_crashpad": ["google", "sentry"], + "crashpad_with_tls": ["openssl", False], "with_breakpad": ["google", "sentry"], "wer" : [True, False], } @@ -44,6 +44,7 @@ class SentryNativeConan(ConanFile): "transport": "curl", # overwritten in config_options "qt": False, "with_crashpad": "sentry", + "crashpad_with_tls": "openssl", "with_breakpad": "sentry", "wer": False } @@ -52,18 +53,26 @@ class SentryNativeConan(ConanFile): def _min_cppstd(self): if is_msvc(self): return "17" + if self.options.get_safe("backend") == "breakpad" and Version(self.version) >= "0.5.4": + return 17 return "14" @property def _minimum_compilers_version(self): + minimum_gcc_version = "5" + if self.options.get_safe("backend") == "breakpad": + minimum_gcc_version = "7" return { "Visual Studio": "15", "msvc": "191", - "gcc": "5", + "gcc": minimum_gcc_version, "clang": "3.4", "apple-clang": "5.1", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -89,6 +98,8 @@ def config_options(self): self.options.backend = "inproc" else: self.options.backend = "inproc" + if self.settings.os not in ("Linux", "Android") or self.options.backend != "crashpad" or self.options.with_crashpad != "sentry": + del self.options.crashpad_with_tls def configure(self): if self.options.shared: @@ -105,13 +116,15 @@ def requirements(self): if self.options.transport == "curl": self.requires("libcurl/[>=7.78.0 <9]") if self.options.backend == "crashpad": - if self.options.with_crashpad == "sentry": - self.requires(f"sentry-crashpad/{self.version}") if self.options.with_crashpad == "google": self.requires("crashpad/cci.20220219") + else: + self.requires("zlib/[>=1.2.11 <2]") + if self.settings.os in ("Linux", "FreeBSD"): + self.requires("libcurl/[>=7.78.0 <9]") + if self.options.get_safe("crashpad_with_tls"): + self.requires("openssl/[>=1.1 <4]") elif self.options.backend == "breakpad": - if self.options.with_breakpad == "sentry": - self.requires(f"sentry-breakpad/{self.version}") if self.options.with_breakpad == "google": self.requires("breakpad/cci.20210521") if self.options.get_safe("qt"): @@ -135,9 +148,6 @@ def validate(self): def build_requirements(self): if self.settings.os == "Windows": self.tool_requires("cmake/[>=3.16.4 <4]") - if self.options.backend == "breakpad": - if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version]) @@ -146,8 +156,10 @@ def generate(self): VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["SENTRY_BACKEND"] = self.options.backend - tc.variables["SENTRY_CRASHPAD_SYSTEM"] = True - tc.variables["SENTRY_BREAKPAD_SYSTEM"] = True + if self.options.backend == "crashpad": + tc.variables["SENTRY_CRASHPAD_SYSTEM"] = self.options.with_crashpad == "google" + if self.options.backend == "breakpad": + tc.variables["SENTRY_BREAKPAD_SYSTEM"] = self.options.with_breakpad == "google" tc.variables["SENTRY_ENABLE_INSTALL"] = True tc.variables["SENTRY_TRANSPORT"] = self.options.transport tc.variables["SENTRY_PIC"] = self.options.get_safe("fPIC", True) @@ -158,10 +170,9 @@ def generate(self): tc.variables["CRASHPAD_WER_ENABLED"] = True tc.generate() CMakeDeps(self).generate() - if self.options.backend == "breakpad": - PkgConfigDeps(self).generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -175,24 +186,148 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "sentry") - self.cpp_info.set_property("cmake_target_name", "sentry::sentry") - self.cpp_info.libs = ["sentry"] + + self.cpp_info.components["sentry"].set_property("cmake_target_name", "sentry::sentry") + self.cpp_info.components["sentry"].libs = ["sentry"] + if self.settings.os in ("Android", "FreeBSD", "Linux"): - self.cpp_info.exelinkflags = ["-Wl,-E,--build-id=sha1"] - self.cpp_info.sharedlinkflags = ["-Wl,-E,--build-id=sha1"] + self.cpp_info.components["sentry"].exelinkflags = ["-Wl,-E,--build-id=sha1"] + self.cpp_info.components["sentry"].sharedlinkflags = ["-Wl,-E,--build-id=sha1"] if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.system_libs = ["pthread", "dl"] + self.cpp_info.components["sentry"].system_libs = ["pthread", "dl"] elif is_apple_os(self): - self.cpp_info.frameworks = ["CoreGraphics", "CoreText"] + self.cpp_info.components["sentry"].frameworks = ["CoreGraphics", "CoreText"] elif self.settings.os == "Android": - self.cpp_info.system_libs = ["dl", "log"] + self.cpp_info.components["sentry"].system_libs = ["dl", "log"] elif self.settings.os == "Windows": - self.cpp_info.system_libs = ["shlwapi", "dbghelp", "version"] + self.cpp_info.components["sentry"].system_libs = ["shlwapi", "dbghelp", "version"] if self.options.transport == "winhttp": - self.cpp_info.system_libs.append("winhttp") + self.cpp_info.components["sentry"].system_libs.append("winhttp") + if self.options.transport == "curl": + self.cpp_info.components["sentry"].requires.extend(["libcurl::libcurl"]) + if self.options.get_safe("qt"): + self.cpp_info.components["sentry"].requires.extend(["qt::qt", "openssl::openssl"]) if not self.options.shared: - self.cpp_info.defines = ["SENTRY_BUILD_STATIC"] + self.cpp_info.components["sentry"].defines = ["SENTRY_BUILD_STATIC"] + + if self.options.backend == "breakpad" and self.options.with_breakpad == "sentry": + self.cpp_info.components["breakpad"].set_property("cmake_target_name", "breakpad_client") + self.cpp_info.components["breakpad"].libs = [] if self.options.shared else ["breakpad_client"] + if is_apple_os(self): + self.cpp_info.components["breakpad"].frameworks.append("CoreFoundation") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["breakpad"].system_libs.append("pthread") + + self.cpp_info.components["sentry"].requires.append("breakpad") + + if self.options.backend == "crashpad" and self.options.with_crashpad == "sentry": + # mini_chromium + self.cpp_info.components["crashpad_mini_chromium"].set_property("cmake_target_name", "crashpad::mini_chromium") + self.cpp_info.components["crashpad_mini_chromium"].libs = [] if self.options.shared else ["mini_chromium"] + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.components["crashpad_mini_chromium"].system_libs.append("pthread") + elif is_apple_os(self): + self.cpp_info.components["crashpad_mini_chromium"].frameworks = ["CoreFoundation", "Foundation", "Security"] + if self.settings.os == "Macos": + self.cpp_info.components["crashpad_mini_chromium"].frameworks.extend(["ApplicationServices", "IOKit"]) + else: # iOS + self.cpp_info.components["crashpad_mini_chromium"].frameworks.extend(["CoreGraphics", "CoreText"]) + + # compat + self.cpp_info.components["crashpad_compat"].set_property("cmake_target_name", "crashpad::compat") + # On Apple crashpad_compat is an interface library + if not is_apple_os(self): + self.cpp_info.components["crashpad_compat"].libs = [] if self.options.shared else ["crashpad_compat"] + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.components["crashpad_compat"].system_libs.append("dl") + + # util + self.cpp_info.components["crashpad_util"].set_property("cmake_target_name", "crashpad::util") + self.cpp_info.components["crashpad_util"].libs = [] if self.options.shared else ["crashpad_util"] + self.cpp_info.components["crashpad_util"].requires = ["crashpad_compat", "crashpad_mini_chromium", "zlib::zlib"] + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.components["crashpad_util"].system_libs.extend(["pthread", "rt"]) + # Requires libcurl https://github.com/getsentry/crashpad/blob/2237d97ee2c38c930c07001e660be57324f69a37/util/CMakeLists.txt#L256 + self.cpp_info.components["crashpad_util"].requires.extend(["libcurl::libcurl"]) + elif self.settings.os == "Windows": + self.cpp_info.components["crashpad_util"].system_libs.append("winhttp") + elif self.settings.os == "Macos": + self.cpp_info.components["crashpad_util"].frameworks.extend(["CoreFoundation", "Foundation", "IOKit"]) + self.cpp_info.components["crashpad_util"].system_libs.append("bsm") + if self.options.get_safe("crashpad_with_tls") == "openssl": + self.cpp_info.components["crashpad_util"].requires.append("openssl::openssl") + + # client + self.cpp_info.components["crashpad_client"].set_property("cmake_target_name", "crashpad::client") + self.cpp_info.components["crashpad_client"].libs = [] if self.options.shared else ["crashpad_client"] + self.cpp_info.components["crashpad_client"].requires = ["crashpad_util", "crashpad_mini_chromium"] + + self.cpp_info.components["sentry"].requires.append("crashpad_client") + + # snapshot + self.cpp_info.components["crashpad_snapshot"].set_property("cmake_target_name", "crashpad::snapshot") + self.cpp_info.components["crashpad_snapshot"].libs = [] if self.options.shared else ["crashpad_snapshot"] + self.cpp_info.components["crashpad_snapshot"].requires = [ + "crashpad_client", "crashpad_compat", + "crashpad_util", "crashpad_mini_chromium", + ] + if self.settings.os == "Windows": + self.cpp_info.components["snapshot"].system_libs.append("powrprof") + + # minidump + self.cpp_info.components["crashpad_minidump"].set_property("cmake_target_name", "crashpad::minidump") + self.cpp_info.components["crashpad_minidump"].libs = [] if self.options.shared else ["crashpad_minidump"] + self.cpp_info.components["crashpad_minidump"].requires = [ + "crashpad_compat", "crashpad_snapshot", + "crashpad_util", "crashpad_mini_chromium", + ] + + if self.settings.os == "Windows": + # getopt + self.cpp_info.components["crashpad_getopt"].set_property("cmake_target_name", "crashpad::getopt") + self.cpp_info.components["crashpad_getopt"].libs = [] if self.options.shared else ["crashpad_getopt"] + + # handler + self.cpp_info.components["crashpad_handler"].set_property("cmake_target_name", "crashpad::handler") + self.cpp_info.components["crashpad_handler"].libs = [] if self.options.shared else ["crashpad_handler_lib"] + self.cpp_info.components["crashpad_handler"].requires = [ + "crashpad_compat", "crashpad_minidump", "crashpad_snapshot", + "crashpad_util", "crashpad_mini_chromium", + ] + if self.settings.os == "Windows": + self.cpp_info.components["crashpad_handler"].requires.append("crashpad_getopt") + + # tools + self.cpp_info.components["crashpad_tools"].set_property("cmake_target_name", "crashpad::tools") + self.cpp_info.components["crashpad_tools"].libs = [] if self.options.shared else ["crashpad_tools"] + + bin_path = os.path.join(self.package_folder, "bin") + self.output.info(f"Appending PATH environment variable: {bin_path}") + self.env_info.PATH.append(bin_path) + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.names["cmake_find_package"] = "crashpad" + self.cpp_info.names["cmake_find_package_multi"] = "crashpad" + self.cpp_info.components["crashpad_mini_chromium"].names["cmake_find_package"] = "mini_chromium" + self.cpp_info.components["crashpad_mini_chromium"].names["cmake_find_package_multi"] = "mini_chromium" + self.cpp_info.components["crashpad_compat"].names["cmake_find_package"] = "compat" + self.cpp_info.components["crashpad_compat"].names["cmake_find_package_multi"] = "compat" + self.cpp_info.components["crashpad_util"].names["cmake_find_package"] = "util" + self.cpp_info.components["crashpad_util"].names["cmake_find_package_multi"] = "util" + self.cpp_info.components["crashpad_client"].names["cmake_find_package"] = "client" + self.cpp_info.components["crashpad_client"].names["cmake_find_package_multi"] = "client" + self.cpp_info.components["crashpad_snapshot"].names["cmake_find_package"] = "snapshot" + self.cpp_info.components["crashpad_snapshot"].names["cmake_find_package_multi"] = "snapshot" + self.cpp_info.components["crashpad_minidump"].names["cmake_find_package"] = "minidump" + self.cpp_info.components["crashpad_minidump"].names["cmake_find_package_multi"] = "minidump" + if self.settings.os == "Windows": + self.cpp_info.components["crashpad_getopt"].names["cmake_find_package"] = "getopt" + self.cpp_info.components["crashpad_getopt"].names["cmake_find_package_multi"] = "getopt" + self.cpp_info.components["crashpad_handler"].names["cmake_find_package"] = "handler" + self.cpp_info.components["crashpad_handler"].names["cmake_find_package_multi"] = "handler" + self.cpp_info.components["crashpad_tools"].names["cmake_find_package"] = "tools" + self.cpp_info.components["crashpad_tools"].names["cmake_find_package_multi"] = "tools" # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "sentry" diff --git a/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch b/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch new file mode 100644 index 0000000000000..b3a766009b3a7 --- /dev/null +++ b/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch @@ -0,0 +1,20 @@ +--- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 09:55:27.677142704 +0800 ++++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 10:06:01.654142494 +0800 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include "base/check.h" + #include "base/check_op.h" +--- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 10:11:28.084886020 +0800 ++++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 11:06:37.044297949 +0800 +@@ -6,6 +6,7 @@ + #define MINI_CHROMIUM_BASE_STRINGS_UTF_STRING_CONVERSION_UTILS_H_ + + #include ++#include + + namespace base { + diff --git a/recipes/sentry-native/all/test_package/conanfile.py b/recipes/sentry-native/all/test_package/conanfile.py index 0a6bc68712d90..9c636a97657a4 100644 --- a/recipes/sentry-native/all/test_package/conanfile.py +++ b/recipes/sentry-native/all/test_package/conanfile.py @@ -1,12 +1,13 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.files import mkdir, save, load +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -15,6 +16,13 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + handler_exe = "crashpad_handler.exe" if self.settings.os == "Windows" else "crashpad_handler" + handler_bin_path = os.path.join(self.dependencies[self.tested_reference_str].package_folder, "bin", handler_exe) + save(self, os.path.join(self.build_folder, "handler_bin_path"), handler_bin_path) + def build(self): cmake = CMake(self) cmake.configure() @@ -22,5 +30,8 @@ def build(self): def test(self): if can_run(self): + test_env_dir = "test_env" + mkdir(self, test_env_dir) bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") + handler_bin_path = load(self, os.path.join(self.build_folder, "handler_bin_path")) + self.run(f"{bin_path} {test_env_dir} {handler_bin_path}", env="conanrun") diff --git a/recipes/sentry-native/all/test_v1_package/CMakeLists.txt b/recipes/sentry-native/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sentry-native/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sentry-native/all/test_v1_package/conanfile.py b/recipes/sentry-native/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sentry-native/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 025e6fbe2b1e20a6d0035d2f396f914f62788d85 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 01:11:46 +0900 Subject: [PATCH 3379/4087] (#22331) libenvpp: update fmt/10.2.1 --- recipes/libenvpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libenvpp/all/conanfile.py b/recipes/libenvpp/all/conanfile.py index 0c66ea51eadfe..752e254ee325f 100644 --- a/recipes/libenvpp/all/conanfile.py +++ b/recipes/libenvpp/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0", transitive_headers=True) + self.requires("fmt/10.2.1", transitive_headers=True) def build_requirements(self): self.tool_requires("cmake/[>=3.16 <4]") From d01596447442427ec766abe615704a82987e08d5 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 02:07:59 +0900 Subject: [PATCH 3380/4087] (#22332) mbits-diags: update fmt/10.2.1 --- recipes/mbits-diags/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-diags/all/conanfile.py b/recipes/mbits-diags/all/conanfile.py index f876850381adb..c23670e616dd0 100644 --- a/recipes/mbits-diags/all/conanfile.py +++ b/recipes/mbits-diags/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0") + self.requires("fmt/10.2.1") self.requires("mbits-semver/0.1.1") def validate(self): From 63640a0ee4542ca38661a8872c9416c8a11505b3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 03:18:58 +0900 Subject: [PATCH 3381/4087] (#22333) cargs: add version 1.1.0 --- recipes/cargs/all/conandata.yml | 3 +++ recipes/cargs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cargs/all/conandata.yml b/recipes/cargs/all/conandata.yml index 21e38ee9fe720..01238c00f6a56 100644 --- a/recipes/cargs/all/conandata.yml +++ b/recipes/cargs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/likle/cargs/archive/v1.1.0.tar.gz" + sha256: "87e7da5b539f574d48529870cb0620ef5a244a5ee2eac73cc7559dedc04128ca" "1.0.3": url: "https://github.com/likle/cargs/archive/v1.0.3.tar.gz" sha256: "ddba25bd35e9c6c75bc706c126001b8ce8e084d40ef37050e6aa6963e836eb8b" diff --git a/recipes/cargs/config.yml b/recipes/cargs/config.yml index 63312af6d65c1..24b8d6fbb0acc 100644 --- a/recipes/cargs/config.yml +++ b/recipes/cargs/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.3": folder: all "1.0.1": From 0b8d3e000e64ba4a531424db8574320dbcf54b9b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 03:30:40 +0900 Subject: [PATCH 3382/4087] (#22327) c-blosc2: update zlib-ng/2.1.6 --- recipes/c-blosc2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 9f202af962843..7d0ee7490f4cd 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.5") + self.requires("zlib-ng/2.1.6") elif self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: From 43f8bb19ac5bd0345aa5043c3534d129a86d1a6b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 04:20:16 +0900 Subject: [PATCH 3383/4087] (#22335) fmtlog: update fmtlog/10.2.1 --- recipes/fmtlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fmtlog/all/conanfile.py b/recipes/fmtlog/all/conanfile.py index 4b6848110748b..9bc3a7f6a4839 100644 --- a/recipes/fmtlog/all/conanfile.py +++ b/recipes/fmtlog/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.2.1", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: From 378ff313680b3b95c1b5cf8c50f393e9601ce508 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 09:52:05 +0900 Subject: [PATCH 3384/4087] (#22183) gperftools: add version 2.15 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index ea084652a90eb..16ebb90c2322f 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.15": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.15/gperftools-2.15.tar.gz" + sha256: "c69fef855628c81ef56f12e3c58f2b7ce1f326c0a1fe783e5cae0b88cbbe9a80" "2.14.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.14/gperftools-2.14.tar.gz" sha256: "6b561baf304b53d0a25311bd2e29bc993bed76b7c562380949e7cb5e3846b299" diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 4712364eac217..09354ab2fb826 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.15": + folder: all "2.14.0": folder: all "2.13.0": From 821b1d5e68b4a34531c7315b0ff8a6a6840924d8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 10:21:56 +0900 Subject: [PATCH 3385/4087] (#22185) nng: add version 1.7.1 --- recipes/nng/all/conandata.yml | 3 +++ recipes/nng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index de439e94ad624..84d072aa8848a 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.1": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.1.tar.gz" + sha256: "b62b2170d2b4757f9f01fb65e5aa9f078dec726735e9de5ed5d7e332cbbbf2ef" "1.7.0": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.0.tar.gz" sha256: "668325161637a0debcf7fb4340919b81e74b66d38bc7a663e8b55b7e0abd7f57" diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index ec5073d25aa5c..3e8e4d6c71efa 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.1": + folder: all "1.7.0": folder: all "1.6.0": From a8194a8e6ac027f5af7b992c98a184ec1393f44d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 14:51:52 +0900 Subject: [PATCH 3386/4087] (#22339) dice-template-library: add version 1.2.0 --- recipes/dice-template-library/all/conandata.yml | 3 +++ recipes/dice-template-library/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dice-template-library/all/conandata.yml b/recipes/dice-template-library/all/conandata.yml index 3dcfa182d3a53..59191b2c39484 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.2.0.tar.gz" + sha256: "9b21793e158af3ee81ceec827a1a43a87e309e2f7bf0be8ace0f538a95f4865a" "1.1.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.1.0.tar.gz" sha256: "a00ee401379eaf6c8af013fb39d6732fa68c3852e14b50789edde6f054647ca2" diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index f1e3df07fed83..569143d81f56c 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From 7551ae0fe80d9aaadc346da3f058d530b37cfa4b Mon Sep 17 00:00:00 2001 From: igormironchik Date: Mon, 15 Jan 2024 11:55:32 +0300 Subject: [PATCH 3387/4087] (#22344) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 3ca452d0f1089..eff17ed6266f4 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.0.tar.gz" + sha256: "5965552f15d37475f37f644feaee62a89225312e1c82e813b7a119943d82c808" "2.4.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.4.tar.gz" sha256: "03995edbfe6047d047bcd3c5bb4824c3644927437bb60a95f8a3a9c7096ae981" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index b4eee974a862d..b315c5ff7a964 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.4": folder: all "2.4.3": From 4a8bc64ab2003d53c9b4495ae495320fcb6de66f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 11:30:11 +0200 Subject: [PATCH 3388/4087] (#22302) onedpl: add v2022.3.0, drop v20200330 * onedpl: add v2022.3.0, drop v20200330 * onedpl: add minimum compiler versions * onedpl: minor improvements from #21616 * onedpl: msvc 191 is supported * onedpl: v2021.7 does not support MSVC * onedpl: use C++17 for test_package * onedpl: libstdc++ is not supported --- recipes/onedpl/all/conandata.yml | 6 +- recipes/onedpl/all/conanfile.py | 62 ++++++++++++++----- .../onedpl/all/test_package/CMakeLists.txt | 11 ++-- recipes/onedpl/all/test_package/conanfile.py | 21 +++---- .../all/test_package/test_package.2020.cpp | 11 ---- ...test_package.2021.cpp => test_package.cpp} | 0 .../onedpl/all/test_v1_package/CMakeLists.txt | 12 ++-- .../onedpl/all/test_v1_package/conanfile.py | 1 - recipes/onedpl/config.yml | 6 +- 9 files changed, 70 insertions(+), 60 deletions(-) delete mode 100644 recipes/onedpl/all/test_package/test_package.2020.cpp rename recipes/onedpl/all/test_package/{test_package.2021.cpp => test_package.cpp} (100%) diff --git a/recipes/onedpl/all/conandata.yml b/recipes/onedpl/all/conandata.yml index 991993ba67d6e..9e43f2c338c1b 100644 --- a/recipes/onedpl/all/conandata.yml +++ b/recipes/onedpl/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "2022.3.0": + url: "https://github.com/oneapi-src/oneDPL/archive/refs/tags/oneDPL-2022.3.0-rc1.tar.gz" + sha256: "8ada85fc95255d08024ea3fda778a138a3b2efdbeb52468a4bdd08eb04254aa6" "2021.7.0": url: "https://github.com/oneapi-src/oneDPL/archive/refs/tags/oneDPL-2021.7.0-release.tar.gz" sha256: "5484c6de482790206d877a4947dcef6e0a1e082dbfa5c6a5362e18072c4a3de3" "2021.6.1": url: "https://github.com/oneapi-src/oneDPL/archive/refs/tags/oneDPL-2021.6.1-release.tar.gz" sha256: "4995fe2ed2724b89cdb52c4b6c9af22e146b48d2561abdafdaaa06262dbd67c4" - "20200330": - url: "https://github.com/oneapi-src/oneDPL/archive/20200330.tar.gz" - sha256: "3e040f6afdb200229dd58be2cf2a5f1613872f254231b18de2942aaf7e39ae2d" diff --git a/recipes/onedpl/all/conanfile.py b/recipes/onedpl/all/conanfile.py index 26d62f2265887..519736b1d8a3c 100644 --- a/recipes/onedpl/all/conanfile.py +++ b/recipes/onedpl/all/conanfile.py @@ -1,7 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -18,6 +20,8 @@ class OneDplConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/oneapi-src/oneDPL" topics = ("stl", "parallelism") + + package_type = "header-library" settings = "os", "arch", "build_type", "compiler" options = { "backend": ["tbb", "serial"], @@ -27,42 +31,64 @@ class OneDplConan(ConanFile): } no_copy_source = True + @property + def _min_cppstd(self): + if Version(self.version) < "2021.7.0": + return 11 + return 17 + + @property + def _compilers_minimum_version(self): + if Version(self.version) < "2021.7.0": + return {} + return { + "gcc": "7", + "clang": "6", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): if self.options.backend == "tbb": - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - if Version(self.version) >= "2021.7.0": - check_min_cppstd(self, 17) - else: - check_min_cppstd(self, 11) + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) - def layout(self): - basic_layout(self, src_folder="src") + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + if self.settings.get_safe("compiler.libcxx") == "libstdc++": + # https://stackoverflow.com/a/67924408/2997179 + raise ConanInvalidConfiguration("libstdc++ is not supported") + + if "2021.7" <= Version(self.version) < "2022" and is_msvc(self): + raise ConanInvalidConfiguration(f"MSVC is not supported for {self.version} due to " + "std::unary_function and std::binary_function being used") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - version_major = int(str(Version(self.version).major)[0:4]) copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) - if version_major < 2021: - copy(self, "*", src=os.path.join(self.source_folder, "stdlib"), dst=os.path.join(self.package_folder, "include")) - copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - else: - copy(self, "LICENSE.txt", src=os.path.join(self.source_folder, "licensing"), dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.txt", src=os.path.join(self.source_folder, "licensing"), dst=os.path.join(self.package_folder, "licenses")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ParallelSTL") self.cpp_info.set_property("cmake_target_name", "pstl::ParallelSTL") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "ParallelSTL" @@ -72,5 +98,7 @@ def package_info(self): self.cpp_info.components["_onedpl"].names["cmake_find_package"] = "ParallelSTL" self.cpp_info.components["_onedpl"].names["cmake_find_package_multi"] = "ParallelSTL" self.cpp_info.components["_onedpl"].set_property("cmake_target_name", "pstl::ParallelSTL") + self.cpp_info.components["_onedpl"].bindirs = [] + self.cpp_info.components["_onedpl"].libdirs = [] if self.options.backend == "tbb": self.cpp_info.components["_onedpl"].requires = ["onetbb::onetbb"] diff --git a/recipes/onedpl/all/test_package/CMakeLists.txt b/recipes/onedpl/all/test_package/CMakeLists.txt index ae285797ed88a..cad3204918869 100644 --- a/recipes/onedpl/all/test_package/CMakeLists.txt +++ b/recipes/onedpl/all/test_package/CMakeLists.txt @@ -1,9 +1,12 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) find_package(ParallelSTL REQUIRED CONFIG) -message(STATUS "OneDPL test version: ${ONEDPL_VERSION_MAJOR}") -add_executable(${PROJECT_NAME} test_package.${ONEDPL_VERSION_MAJOR}.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE pstl::ParallelSTL) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if (ParallelSTL_VERSION VERSION_GREATER_EQUAL "2021.7") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/onedpl/all/test_package/conanfile.py b/recipes/onedpl/all/test_package/conanfile.py index 5d2f30da145a9..db11bba8a6d83 100644 --- a/recipes/onedpl/all/test_package/conanfile.py +++ b/recipes/onedpl/all/test_package/conanfile.py @@ -1,24 +1,19 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.scm import Version import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" def layout(self): cmake_layout(self) - def generate(self): - tc = CMakeToolchain(self) - tc.variables["ONEDPL_VERSION_MAJOR"] = str(Version(self.dependencies["onedpl"].ref.version).major)[0:4] - tc.generate() + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -26,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/onedpl/all/test_package/test_package.2020.cpp b/recipes/onedpl/all/test_package/test_package.2020.cpp deleted file mode 100644 index 3af6b2f8d8648..0000000000000 --- a/recipes/onedpl/all/test_package/test_package.2020.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include -#include - -int main() -{ - std::vector data(10000000); - std::fill_n(pstl::execution::par_unseq, data.begin(), data.size(), -1); - - return 0; -} diff --git a/recipes/onedpl/all/test_package/test_package.2021.cpp b/recipes/onedpl/all/test_package/test_package.cpp similarity index 100% rename from recipes/onedpl/all/test_package/test_package.2021.cpp rename to recipes/onedpl/all/test_package/test_package.cpp diff --git a/recipes/onedpl/all/test_v1_package/CMakeLists.txt b/recipes/onedpl/all/test_v1_package/CMakeLists.txt index b8bcdb29cc801..91630d79f4abb 100644 --- a/recipes/onedpl/all/test_v1_package/CMakeLists.txt +++ b/recipes/onedpl/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(ParallelSTL REQUIRED CONFIG) - -message(STATUS "OneDPL test version: ${ONEDPL_VERSION_MAJOR}") -add_executable(${PROJECT_NAME} ../test_package/test_package.${ONEDPL_VERSION_MAJOR}.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE pstl::ParallelSTL) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/onedpl/all/test_v1_package/conanfile.py b/recipes/onedpl/all/test_v1_package/conanfile.py index 7982514ebc4f8..38f4483872d47 100644 --- a/recipes/onedpl/all/test_v1_package/conanfile.py +++ b/recipes/onedpl/all/test_v1_package/conanfile.py @@ -8,7 +8,6 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) - cmake.definitions["ONEDPL_VERSION_MAJOR"] = tools.Version(self.deps_cpp_info["onedpl"].version).major[0:4] cmake.configure() cmake.build() diff --git a/recipes/onedpl/config.yml b/recipes/onedpl/config.yml index 24b37db7f2bf3..3d474c4d1d440 100644 --- a/recipes/onedpl/config.yml +++ b/recipes/onedpl/config.yml @@ -1,7 +1,7 @@ versions: - "20200330": - folder: all - "2021.6.1": + "2022.3.0": folder: all "2021.7.0": folder: all + "2021.6.1": + folder: all From 3428655bf8eedcb61b020898ef1ef27095ae19b2 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 15 Jan 2024 09:44:47 +0000 Subject: [PATCH 3389/4087] (#22281) rapidjson/*: Fix incorrect `package_id_embed_mode` value. * rapidjson/*: Fix incorrect `package_id_embed_mode` value. * Undo auto formatting . --- recipes/rapidjson/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rapidjson/all/conanfile.py b/recipes/rapidjson/all/conanfile.py index 49a4bd4e70fd7..c1c772ac9d842 100644 --- a/recipes/rapidjson/all/conanfile.py +++ b/recipes/rapidjson/all/conanfile.py @@ -14,7 +14,7 @@ class RapidjsonConan(ConanFile): homepage = "http://rapidjson.org" license = "MIT" package_type = "header-library" - package_id_embed_mode = "minor" + package_id_embed_mode = "minor_mode" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 9c33e34d25b7df5de756af893d4f9cb85dc5f78a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 12:11:56 +0200 Subject: [PATCH 3390/4087] (#22308) muparserx: add v4.0.12, add package_type * muparserx: add v4.0.12, add package_type * muparserx: update license file --- recipes/muparserx/all/conandata.yml | 3 +++ recipes/muparserx/all/conanfile.py | 12 ++++++++---- recipes/muparserx/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/muparserx/all/conandata.yml b/recipes/muparserx/all/conandata.yml index 9f14a4951a1b8..10adc43806fcb 100644 --- a/recipes/muparserx/all/conandata.yml +++ b/recipes/muparserx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.12": + url: "https://github.com/beltoforion/muparserx/archive/v4.0.12.tar.gz" + sha256: "941c79f9b8b924f2f22406af8587177b4b185da3c968dbe8dc371b9dbe117f6e" "4.0.8": url: "https://github.com/beltoforion/muparserx/archive/v4.0.8.tar.gz" sha256: "5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1" diff --git a/recipes/muparserx/all/conanfile.py b/recipes/muparserx/all/conanfile.py index 565601842d1b8..c9fef57283987 100644 --- a/recipes/muparserx/all/conanfile.py +++ b/recipes/muparserx/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -11,9 +12,10 @@ class MuparserxConan(ConanFile): description = "A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more" license = "BSD-2-Clause" topics = ("math", "parser") - homepage = "https://beltoforion.de/article.php?a=muparserx" + homepage = "https://beltoforion.de/en/muparserx" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,8 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -62,7 +63,10 @@ def build(self): cmake.build() def package(self): - copy(self, "License.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "4.0.10": + copy(self, "License.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + else: + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) diff --git a/recipes/muparserx/config.yml b/recipes/muparserx/config.yml index 5bcadc3524910..fe34cc95b4902 100644 --- a/recipes/muparserx/config.yml +++ b/recipes/muparserx/config.yml @@ -1,3 +1,5 @@ versions: + "4.0.12": + folder: all "4.0.8": folder: all From ffbe86a7f667f3157b9ec072c6d95043b33a1589 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 12:50:25 +0200 Subject: [PATCH 3391/4087] (#22309) osmanip: add v4.6.1, drop older versions * modernize - add package_type - bump boost & arsenalgear - use self.settings/self.compiler in validate() instead of self.info * fix traits * revert bump of arsenalgear * osmanip: simplify CMakeLists.txt a bit * osmanip: add v4.6.1 * osmanip: drop older versions * osmanip: disable tests * osmanip: rmdir lib/cmake * osmanip: re-enable shared build * osmanip: disable libstdc++ --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/osmanip/all/CMakeLists.txt | 32 +++--- recipes/osmanip/all/conandata.yml | 18 +--- recipes/osmanip/all/conanfile.py | 74 ++++++++----- .../0001-replace-runtime_error_func.patch | 102 ------------------ recipes/osmanip/config.yml | 8 +- 5 files changed, 68 insertions(+), 166 deletions(-) delete mode 100644 recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch diff --git a/recipes/osmanip/all/CMakeLists.txt b/recipes/osmanip/all/CMakeLists.txt index ae515532d7df7..61c36dedcabb0 100644 --- a/recipes/osmanip/all/CMakeLists.txt +++ b/recipes/osmanip/all/CMakeLists.txt @@ -1,33 +1,33 @@ -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.15) project(osmanip LANGUAGES CXX) find_package(arsenalgear REQUIRED CONFIG) add_library(osmanip) target_sources(osmanip PRIVATE - ${OSMANIP_SRC_DIR}/src/graphics/canvas.cpp - ${OSMANIP_SRC_DIR}/src/graphics/plot_2D.cpp + src/graphics/canvas.cpp + src/graphics/plot_2D.cpp $<$: - ${OSMANIP_SRC_DIR}/src/manipulators/colsty.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/common.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/cursor.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/decorator.cpp + src/manipulators/colsty.cpp + src/manipulators/common.cpp + src/manipulators/cursor.cpp + src/manipulators/decorator.cpp > $<$,$>: - ${OSMANIP_SRC_DIR}/src/manipulators/colsty.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/common.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/cursor.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/printer.cpp + src/manipulators/colsty.cpp + src/manipulators/common.cpp + src/manipulators/cursor.cpp + src/manipulators/printer.cpp > $<$: - ${OSMANIP_SRC_DIR}/src/manipulators/csmanip.cpp + src/manipulators/csmanip.cpp > $<$: - ${OSMANIP_SRC_DIR}/src/progressbar/progress_bar.cpp + src/progressbar/progress_bar.cpp > - ${OSMANIP_SRC_DIR}/src/utility/windows.cpp + src/utility/windows.cpp ) -target_include_directories(osmanip PUBLIC ${OSMANIP_SRC_DIR}/include/) +target_include_directories(osmanip PUBLIC include/) target_compile_features(osmanip PUBLIC cxx_std_17) set_target_properties(osmanip PROPERTIES PUBLIC_HEADER "${osmanip_inc}" @@ -49,6 +49,6 @@ install( ) install( - DIRECTORY ${OSMANIP_SRC_DIR}/include/ + DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/osmanip ) diff --git a/recipes/osmanip/all/conandata.yml b/recipes/osmanip/all/conandata.yml index 02c907a3fa56b..389cbb0c53e8a 100644 --- a/recipes/osmanip/all/conandata.yml +++ b/recipes/osmanip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.1": + url: "https://github.com/JustWhit3/osmanip/archive/v4.6.1.tar.gz" + sha256: "5454cb0caced1fb9af90666001f2874786a33e6830024cb41c99a5b4ab966f1c" "4.4.0": url: "https://github.com/JustWhit3/osmanip/archive/v4.3.0.tar.gz" sha256: "e0d982d19792c3e438e3be99f789434b66788f9a7114f217b3c5f28d0121af7f" @@ -8,18 +11,3 @@ sources: "4.2.2": url: "https://github.com/JustWhit3/osmanip/archive/v4.2.2.tar.gz" sha256: "841b76bb4f44b66d714858e62661cee75c4fef553300b6da2a6720509421a5fe" - "4.2.1": - url: "https://github.com/JustWhit3/osmanip/archive/refs/tags/v4.2.1.tar.gz" - sha256: "1d1ba3fac66edc7a7e4c480a0c080493d19193f9b63b70d417e2683f8741bf1c" - "4.1.0": - url: "https://github.com/JustWhit3/osmanip/archive/refs/tags/v4.1.0.tar.gz" - sha256: "9830316fea29300aeebadb0cd6cddd6f291a8fa04c397bca9666d045815d1d53" - "4.0.0": - url: "https://github.com/JustWhit3/osmanip/archive/refs/tags/v4.0.0.tar.gz" - sha256: "c6848e1d9b15eb409af88efeee7cd1ce87374ea7ac87424f5d2cf30104f098a0" - -patches: - "4.0.0": - - patch_file: "patches/0001-replace-runtime_error_func.patch" - patch_description: "following function renaming on arsenalgear/1.2.2" - patch_type: "conan" diff --git a/recipes/osmanip/all/conanfile.py b/recipes/osmanip/all/conanfile.py index ccea62899d710..b7b07c911f7e0 100644 --- a/recipes/osmanip/all/conanfile.py +++ b/recipes/osmanip/all/conanfile.py @@ -1,9 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file +from conan.tools.scm import Version import os @@ -11,11 +11,15 @@ class OsmanipConan(ConanFile): name = "osmanip" - description = "Library with useful output stream tools like: color and style manipulators, progress bars and terminal graphics." + description = ( + "Library with useful output stream tools like: color and style " + "manipulators, progress bars and terminal graphics." + ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/JustWhit3/osmanip" topics = ("manipulator", "iostream", "output-stream", "iomanip") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -27,8 +31,8 @@ class OsmanipConan(ConanFile): } def export_sources(self): - copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) - export_conandata_patches(self) + if Version(self.version) < "4.5.0": + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -38,64 +42,80 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") + # osmanip/progressbar/progress_bar.hpp includes arsenalgear/constants.hpp if Version(self.version) < "4.2.0": - self.requires("arsenalgear/1.2.2") + self.requires("arsenalgear/1.2.2", transitive_headers=True) else: - self.requires("arsenalgear/2.0.1") + self.requires("arsenalgear/2.0.1", transitive_headers=True) @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property def _compiler_required_cpp17(self): return { - "Visual Studio": "16", + "Visual Studio": "15", "msvc": "191", "gcc": "8", "clang": "7", - "apple-clang": "12.0", + "apple-clang": "12", } def validate(self): - if self.info.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compiler_required_cpp17.get(str(self.info.settings.compiler), False) - if minimum_version: - if Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") - else: - self.output.warn(f"{self.ref} requires C++{self._minimum_cpp_standard}. Your compiler is unknown. Assuming it supports C++{self._minimum_cpp_standard}") + minimum_version = self._compiler_required_cpp17.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) - def layout(self): - cmake_layout(self, src_folder="src") + if Version(self.version) >= "4.5.0" and self.settings.get_safe("compiler.libcxx") == "libstdc++": + # test_package segfaults with libstdc++ for some reason + raise ConanInvalidConfiguration("osmanip >= 4.5.0 doesn't support libstdc++") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["OSMANIP_VERSION"] = str(self.version) - tc.variables["OSMANIP_SRC_DIR"] = self.source_folder.replace("\\", "/") + if Version(self.version) < "4.5.0": + tc.variables["OSMANIP_VERSION"] = str(self.version) + else: + tc.variables["OSMANIP_TESTS"] = False + tc.variables["FORMAT"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() deps = CMakeDeps(self) deps.generate() + def _patch_sources(self): + if Version(self.version) >= "4.5.0": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " STATIC ", " ") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " DESTINATION lib\n", + " RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib\n") + def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.configure() cmake.build() def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.libs = ["osmanip"] diff --git a/recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch b/recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch deleted file mode 100644 index 8b8b155a0e865..0000000000000 --- a/recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch +++ /dev/null @@ -1,102 +0,0 @@ -diff --git a/src/manipulators/csmanip.cpp b/src/manipulators/csmanip.cpp -index 064c7ba..6363226 100644 ---- a/src/manipulators/csmanip.cpp -+++ b/src/manipulators/csmanip.cpp -@@ -208,7 +208,7 @@ namespace osm - { - if( generic_map.find( feat_string ) == generic_map.end() ) - { -- throw agr::runtime_error_func( generic_map.at( "error" ), feat_string, "is not supported!" ); -+ throw agr::except_error_func( generic_map.at( "error" ), feat_string, "is not supported!" ); - } - return generic_map.at( feat_string ); - } -@@ -228,7 +228,7 @@ namespace osm - { - if( generic_map.find( feat_string ) == generic_map.end() ) - { -- throw agr::runtime_error_func( generic_map.at( "error" ).first, feat_string, "is not supported!" ); -+ throw agr::except_error_func( generic_map.at( "error" ).first, feat_string, "is not supported!" ); - } - else - { -@@ -255,7 +255,7 @@ namespace osm - { - if( rst.find( reset_string ) == rst.end() ) - { -- throw agr::runtime_error_func( rst.at( "error" ), reset_string, "is not supported!" ); -+ throw agr::except_error_func( rst.at( "error" ), reset_string, "is not supported!" ); - } - return rst.at( reset_string ); - } -@@ -295,4 +295,4 @@ namespace osm - std::to_string( g ) + ";"s + - std::to_string( b ) + "m"s; - } -- } -\ No newline at end of file -+ } -diff --git a/src/progressbar/progress_bar.cpp b/src/progressbar/progress_bar.cpp -index 485009f..b12aee4 100644 ---- a/src/progressbar/progress_bar.cpp -+++ b/src/progressbar/progress_bar.cpp -@@ -163,16 +163,16 @@ namespace osm - } - else if( styles_map_.at( type ).find( style ) == styles_map_.at( type ).end() ) - { -- throw agr::runtime_error_func( "Inserted ProgressBar style", style, "is not supported for this type!" ); -+ throw agr::except_error_func( "Inserted ProgressBar style", style, "is not supported for this type!" ); - } - else - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is not supported!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is not supported!" ); - } - } - catch ( std::out_of_range const& exception ) - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is not supported!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is not supported!" ); - } - } - -@@ -201,15 +201,15 @@ namespace osm - } - else if( styles_map_.at( "indicator" ).find( style_p ) == styles_map_.at( "indicator" ).end() ) - { -- throw agr::runtime_error_func( "Inserted indicator style", style_p, "is not supported for this type!" ); -+ throw agr::except_error_func( "Inserted indicator style", style_p, "is not supported for this type!" ); - } - else if( styles_map_.at( "loader" ).find( style_l ) == styles_map_.at( "loader" ).end() ) - { -- throw agr::runtime_error_func( "Inserted loader style", style_l, "is not supported for this type!" ); -+ throw agr::except_error_func( "Inserted loader style", style_l, "is not supported for this type!" ); - } - else - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is not supported!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is not supported!" ); - } - } - -@@ -834,11 +834,11 @@ namespace osm - } - else if( styles_map_.at( type ).find( style ) != styles_map_.at( type ).end() ) - { -- throw agr::runtime_error_func( "Inserted ProgressBar style", style, "is already available!" ); -+ throw agr::except_error_func( "Inserted ProgressBar style", style, "is already available!" ); - } - else - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is already available!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is already available!" ); - } - } - -@@ -869,4 +869,4 @@ namespace osm - * - */ - BOOST_PP_SEQ_FOR_EACH( PROGRESSBAR, _, ARGS( int, long, long long, double, long double, float ) ); -- } -\ No newline at end of file -+ } diff --git a/recipes/osmanip/config.yml b/recipes/osmanip/config.yml index 50f7633ad31f3..2b2e483c60d7b 100644 --- a/recipes/osmanip/config.yml +++ b/recipes/osmanip/config.yml @@ -1,13 +1,9 @@ versions: + "4.6.1": + folder: all "4.4.0": folder: all "4.3.0": folder: all "4.2.2": folder: all - "4.2.1": - folder: all - "4.1.0": - folder: all - "4.0.0": - folder: all From 16f2e40ada0c7c40f83d42172e9d636b66abf116 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 12:53:58 +0200 Subject: [PATCH 3392/4087] (#18657) huffman: migrate to Conan v2 * huffman: migrate to Conan v2 * huffman: drop v1.2.2 v1.2.2 is Makefile-based, not CMake. --- recipes/huffman/all/conandata.yml | 10 --- recipes/huffman/all/conanfile.py | 71 ++++++++++--------- .../all/patches/1.2.2-0001-use-_WIN32.patch | 13 ---- .../all/patches/1.2.7-0001-use-_WIN32.patch | 13 ---- .../huffman/all/test_package/CMakeLists.txt | 7 +- recipes/huffman/all/test_package/conanfile.py | 19 +++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../huffman/all/test_v1_package/conanfile.py | 17 +++++ recipes/huffman/config.yml | 2 - 9 files changed, 78 insertions(+), 82 deletions(-) delete mode 100644 recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch delete mode 100644 recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch create mode 100644 recipes/huffman/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/huffman/all/test_v1_package/conanfile.py diff --git a/recipes/huffman/all/conandata.yml b/recipes/huffman/all/conandata.yml index 25d1ea6cda398..cb51aa08c2967 100644 --- a/recipes/huffman/all/conandata.yml +++ b/recipes/huffman/all/conandata.yml @@ -3,13 +3,3 @@ sources: # Don't use tar.gz because test data files in tar.gz has invalid paths on Windows. url: "https://github.com/drichardson/huffman/archive/refs/tags/v1.2.7.zip" sha256: "0d382f271daf47623676307710cb05d246839247370989b8ffa6fee82bea375a" - "1.2.2": - url: "https://github.com/drichardson/huffman/archive/refs/tags/v1.2.2.zip" - sha256: "7968728c4a0e2705575e9f03e0252cb5195919756d3a64343255f518548cb533" -patches: - "1.2.7": - - patch_file: "patches/1.2.7-0001-use-_WIN32.patch" - base_path: "source_subfolder" - "1.2.2": - - patch_file: "patches/1.2.2-0001-use-_WIN32.patch" - base_path: "source_subfolder" diff --git a/recipes/huffman/all/conanfile.py b/recipes/huffman/all/conanfile.py index 6cbfd60d77f27..236e549a5af09 100644 --- a/recipes/huffman/all/conanfile.py +++ b/recipes/huffman/all/conanfile.py @@ -1,7 +1,11 @@ -from conans import ConanFile, CMake, tools -import functools +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, export_conandata_patches, get, replace_in_file + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class HuffmanConan(ConanFile): name = "huffman" @@ -9,61 +13,60 @@ class HuffmanConan(ConanFile): license = "Unlicense" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/drichardson/huffman" - topics = ["huffman", "encoder", "decoder", "compression"] - settings = "os", "arch", "compiler","build_type" + topics = ("encoder", "decoder", "compression") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], } default_options = { - 'shared': False, - 'fPIC': True, + "shared": False, + "fPIC": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "huffman.c"), + "#ifdef WIN32", + "#if defined _WIN32 || defined __CYGWIN__") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE*", dst="licenses", - src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.libs.append("huffman") + self.cpp_info.libs = ["huffman"] if self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch b/recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch deleted file mode 100644 index f04952ff087f5..0000000000000 --- a/recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/a/huffman.c b/b/huffman.c -index 81959cb..ecea371 100644 ---- a/a/huffman.c -+++ b/b/huffman.c -@@ -11,7 +11,7 @@ - #include - #include - --#ifdef WIN32 -+#if defined _WIN32 || defined __CYGWIN__ - #include - #include - #else diff --git a/recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch b/recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch deleted file mode 100644 index 9c1fe246e8193..0000000000000 --- a/recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/a/huffman.c b/b/huffman.c -index 7cae8c1..34f3101 100644 ---- a/a/huffman.c -+++ b/b/huffman.c -@@ -6,7 +6,7 @@ - #include - #include - --#ifdef WIN32 -+#if defined _WIN32 || defined __CYGWIN__ - #include - #include - #else diff --git a/recipes/huffman/all/test_package/CMakeLists.txt b/recipes/huffman/all/test_package/CMakeLists.txt index cca65fc1e8c24..8c882942df773 100644 --- a/recipes/huffman/all/test_package/CMakeLists.txt +++ b/recipes/huffman/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(huffman REQUIRED CONFIG) diff --git a/recipes/huffman/all/test_package/conanfile.py b/recipes/huffman/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/huffman/all/test_package/conanfile.py +++ b/recipes/huffman/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/huffman/all/test_v1_package/CMakeLists.txt b/recipes/huffman/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/huffman/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/huffman/all/test_v1_package/conanfile.py b/recipes/huffman/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/huffman/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/huffman/config.yml b/recipes/huffman/config.yml index 1bf1c0d4bfeb0..6772821daadb7 100644 --- a/recipes/huffman/config.yml +++ b/recipes/huffman/config.yml @@ -1,5 +1,3 @@ versions: "1.2.7": folder: all - "1.2.2": - folder: all From 6b93e5b75918b32e88077da49095fc9da9b906e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 13:19:57 +0200 Subject: [PATCH 3393/4087] (#22313) playrho: add v1.1.2 * playrho: add v1.1.2 * playrho: require newer CMake --- recipes/playrho/all/conandata.yml | 3 +++ recipes/playrho/all/conanfile.py | 6 ++++++ recipes/playrho/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/recipes/playrho/all/conandata.yml b/recipes/playrho/all/conandata.yml index df36531f2762c..93527003a275f 100644 --- a/recipes/playrho/all/conandata.yml +++ b/recipes/playrho/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.2": + url: "https://github.com/louis-langholtz/PlayRho/archive/refs/tags/v1.1.2.tar.gz" + sha256: "b8e61eace48607c545a495c742479fb58e7ea34b8dfe7f874a14b8414135cccc" "1.1.0": url: "https://github.com/louis-langholtz/PlayRho/archive/refs/tags/v1.1.0.tar.gz" sha256: "45c0337440387a85a97a4b7907b79f780233bf2062635471b71a32245b0c0158" diff --git a/recipes/playrho/all/conanfile.py b/recipes/playrho/all/conanfile.py index 619e24882a463..57ba703a4b37c 100644 --- a/recipes/playrho/all/conanfile.py +++ b/recipes/playrho/all/conanfile.py @@ -4,6 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rename from conan.tools.scm import Version @@ -67,10 +68,15 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16.3 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() + tc = CMakeToolchain(self) tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.variables["PLAYRHO_BUILD_SHARED"] = self.options.shared diff --git a/recipes/playrho/config.yml b/recipes/playrho/config.yml index 11b7aff3a5ac4..0108ac3e087d5 100644 --- a/recipes/playrho/config.yml +++ b/recipes/playrho/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.2": + folder: "all" "1.1.0": folder: "all" From fb9e85947fc8fbb53a9ec654f90505426327825e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 20:30:47 +0900 Subject: [PATCH 3394/4087] (#22324) quickjs: add version 2024-01-13 --- recipes/quickjs/all/conandata.yml | 3 +++ recipes/quickjs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quickjs/all/conandata.yml b/recipes/quickjs/all/conandata.yml index 2aeb216a1e5d0..ab82a3e06acc3 100644 --- a/recipes/quickjs/all/conandata.yml +++ b/recipes/quickjs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2024-01-13": + url: "https://bellard.org/quickjs/quickjs-2024-01-13.tar.xz" + sha256: "3c4bf8f895bfa54beb486c8d1218112771ecfc5ac3be1036851ef41568212e03" "2023-12-09": url: "https://bellard.org/quickjs/quickjs-2023-12-09.tar.xz" sha256: "e8afe386f875d0e52310ea91aa48e2b0e04182e821f19147794e3e272f4c8d8c" diff --git a/recipes/quickjs/config.yml b/recipes/quickjs/config.yml index ee7d61b2fc03e..3e2d478571404 100644 --- a/recipes/quickjs/config.yml +++ b/recipes/quickjs/config.yml @@ -1,4 +1,6 @@ versions: + "2024-01-13": + folder: "all" "2023-12-09": folder: "all" "2021-03-27": From 4202a2f3fa283e25d7993507f5174edd87981093 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 15 Jan 2024 13:22:14 +0100 Subject: [PATCH 3395/4087] (#22207) zyre: bump deps --- recipes/zyre/all/conanfile.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/zyre/all/conanfile.py b/recipes/zyre/all/conanfile.py index bd990107ea362..be3408d481659 100644 --- a/recipes/zyre/all/conanfile.py +++ b/recipes/zyre/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -48,7 +47,7 @@ def requirements(self): self.requires("czmq/4.2.1", transitive_headers=True) self.requires("zeromq/4.3.5") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("libsystemd/253.10") + self.requires("libsystemd/255") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -56,9 +55,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["ENABLE_DRAFTS"] = self.options.drafts - if Version(self.version) >= "2.0.1": - tc.variables["ZYRE_BUILD_SHARED"] = self.options.shared - tc.variables["ZYRE_BUILD_STATIC"] = not self.options.shared + tc.variables["ZYRE_BUILD_SHARED"] = self.options.shared + tc.variables["ZYRE_BUILD_STATIC"] = not self.options.shared tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared if not self.options.shared: tc.preprocessor_definitions["ZYRE_STATIC"] = "" @@ -99,7 +97,7 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "libzyre") libname = "zyre" - if Version(self.version) >= "2.0.1" and is_msvc(self) and not self.options.shared: + if is_msvc(self) and not self.options.shared: libname = "libzyre" self.cpp_info.libs = [libname] if self.settings.os in ["Linux", "FreeBSD"]: From 954125358f57158e70ce0891395eb7b55578c39f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 15:05:14 +0200 Subject: [PATCH 3396/4087] (#22316) osqp: add v0.6.3 --- recipes/osqp/all/conandata.yml | 3 +++ recipes/osqp/all/conanfile.py | 5 +++-- recipes/osqp/config.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/osqp/all/conandata.yml b/recipes/osqp/all/conandata.yml index 905d89304cb35..fa2a0f2f4400c 100644 --- a/recipes/osqp/all/conandata.yml +++ b/recipes/osqp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.3": + url: "https://github.com/osqp/osqp/releases/download/v0.6.3/osqp-v0.6.3-src.tar.gz" + sha256: "285b2a60f68d113a1090767ec8a9c81a65b3af2d258f8c78a31cc3f98ba58456" "0.6.2": url: "https://github.com/osqp/osqp/releases/download/v0.6.2/complete_sources.tar.gz" sha256: "0a7ade2fa19f13e13bc12f6ea0046ef764049023efb4997a4e72a76534f623ec" diff --git a/recipes/osqp/all/conanfile.py b/recipes/osqp/all/conanfile.py index 19c7954ec0859..2aff16badac04 100644 --- a/recipes/osqp/all/conanfile.py +++ b/recipes/osqp/all/conanfile.py @@ -19,7 +19,7 @@ class OsqpConan(ConanFile): "shared": [True, False], "fPIC": [True, False], } - default_options = { + default_options = { "shared": False, "fPIC": True, } @@ -38,7 +38,8 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + strip_root = self.version == "0.6.2" + get(self, **self.conan_data["sources"][self.version], strip_root=strip_root) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/osqp/config.yml b/recipes/osqp/config.yml index a09c617182ab2..5adc30b2f3c24 100644 --- a/recipes/osqp/config.yml +++ b/recipes/osqp/config.yml @@ -1,3 +1,5 @@ versions: + "0.6.3": + folder: all "0.6.2": folder: all From 9f34f21f3d59899cd2cdae69ad0b79702ff36174 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 22:15:54 +0900 Subject: [PATCH 3397/4087] (#22334) imgui: add version 1.90.1/1.90.1-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 5a380f8aab078..99f46ac0b18c0 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.1": + url: "https://github.com/ocornut/imgui/archive/v1.90.1.tar.gz" + sha256: "21dcc985bb2ae8fe48047c86135dbc438d6980a8f2e08babbda5be820592f282" + "1.90.1-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.1-docking.tar.gz" + sha256: "6804c3d8dc6d83b892d3c5491d8164840079d9a795fb7c4cef2eaa1b04c86a0c" "1.90": url: "https://github.com/ocornut/imgui/archive/v1.90.tar.gz" sha256: "170986e6a4b83d165bfc1d33c2c5a5bc2d67e5b97176287485c51a2299249296" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 8714c2dcec41f..5444f395d2f43 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.1": + folder: all + "1.90.1-docking": + folder: all "1.90": folder: all "1.90-docking": From 836c2cc34baf8dd61e69c53f05219d636d58943f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 22:44:39 +0900 Subject: [PATCH 3398/4087] (#22338) xbyak: add version 7.05 * xbyak: add version 7.05 * add validatoion --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/all/conanfile.py | 5 +++++ recipes/xbyak/config.yml | 2 ++ 3 files changed, 10 insertions(+) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index a117cdd9c7b95..19f018739c44d 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.05": + url: "https://github.com/herumi/xbyak/archive/v7.05.tar.gz" + sha256: "853b619a6615985dbb36e8c5528d96d83f7bba3d0728ed3b3ee8ac8f4f96d87f" "7.00": url: "https://github.com/herumi/xbyak/archive/v7.00.tar.gz" sha256: "9bc479d99bb3bbd30669813ca9719126fe93ab1bae857bd799d2b16a1fcb4c32" diff --git a/recipes/xbyak/all/conanfile.py b/recipes/xbyak/all/conanfile.py index 724743a916f47..540cdf1443f84 100644 --- a/recipes/xbyak/all/conanfile.py +++ b/recipes/xbyak/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration import os required_conan_version = ">=1.50.0" @@ -24,6 +25,10 @@ def layout(self): def package_id(self): self.info.clear() + def validate(self): + if self.settings.arch not in ("x86", "x86_64"): + raise ConanInvalidConfiguration(f"{self.ref} is only available for x86 and x86_64 architecture") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index e1673a246df2d..3f41c68a5a75f 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "7.05": + folder: all "7.00": folder: all "6.73": From 840ef68be034aedb17737a711e046d9aacd2fc4a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 15:56:52 +0200 Subject: [PATCH 3399/4087] (#22307) xpack: add v1.0.5 --- recipes/xpack/all/conandata.yml | 3 +++ recipes/xpack/all/conanfile.py | 4 ++-- recipes/xpack/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/xpack/all/conandata.yml b/recipes/xpack/all/conandata.yml index 86baf40457468..1216e4df4ec82 100644 --- a/recipes/xpack/all/conandata.yml +++ b/recipes/xpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.5": + url: "https://github.com/xyz347/xpack/archive/v1.0.5.tar.gz" + sha256: "ea8693dd3a53d54e0c1e3c9e6e06f31ff7f593f7f8cf8fb4889f5c3354dbae8e" "1.0.4": url: "https://github.com/xyz347/xpack/archive/v1.0.4.tar.gz" sha256: "ccea6d986052a9ad8ad859ad42283fc01fed29009133017b231a06ec0b1976b9" diff --git a/recipes/xpack/all/conanfile.py b/recipes/xpack/all/conanfile.py index fb4f7dbe93adb..278c5b2d134b0 100644 --- a/recipes/xpack/all/conanfile.py +++ b/recipes/xpack/all/conanfile.py @@ -28,7 +28,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rapidjson/cci.20220822") + self.requires("rapidjson/cci.20230929") self.requires("rapidxml/1.13") def package_id(self): @@ -51,7 +51,7 @@ def package(self): pattern="*.h", dst=os.path.join(self.package_folder, "include", "xpack"), src=self.source_folder, - excludes=["example", "gtest", "thirdparty"], + excludes=["example", "gtest", "thirdparty", "rapidjson"], ) def package_info(self): diff --git a/recipes/xpack/config.yml b/recipes/xpack/config.yml index 7ae7c5d038959..8588b8510913c 100644 --- a/recipes/xpack/config.yml +++ b/recipes/xpack/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.5": + folder: "all" "1.0.4": folder: "all" "1.0.3": From 560b5d0e163b620e3b86e3265631a919673faa2b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 16:09:41 +0200 Subject: [PATCH 3400/4087] (#22299) iir1: add v1.9.4 --- recipes/iir1/all/conandata.yml | 11 +++-------- recipes/iir1/all/conanfile.py | 10 ++++++++-- .../all/patches/1.9.0-0003-disable-test-demo.patch | 12 ------------ recipes/iir1/config.yml | 2 ++ 4 files changed, 13 insertions(+), 22 deletions(-) delete mode 100644 recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch diff --git a/recipes/iir1/all/conandata.yml b/recipes/iir1/all/conandata.yml index dcf07a8d3050e..f693ec80aa1be 100644 --- a/recipes/iir1/all/conandata.yml +++ b/recipes/iir1/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.4": + url: "https://github.com/berndporr/iir1/archive/refs/tags/1.9.4.tar.gz" + sha256: "67d0982356f33fd37522e4711cda12f70a981a9c83de332386f89de3d7601d2b" "1.9.1": url: "https://github.com/berndporr/iir1/archive/refs/tags/1.9.1.tar.gz" sha256: "97b4a7d62fa4859ac0d80283696b0d91c320b61ec2a455cdd3d8cfbb2be3ad9a" @@ -11,10 +14,6 @@ patches: patch_description: "Avoid to define __declspec(dllexport) on windows at consume time & in static lib" patch_type: "portability" sha256: "b29a0a2f4e6f76c57b7a8e4051173a0e82d7d154571377a0fbd75fd73e4fa73c" - - patch_file: "patches/1.9.0-0003-disable-test-demo.patch" - patch_description: "Do not build test & demo" - patch_type: "conan" - sha256: "5b866e0a6d536f12386ecc212c47a993b9e891584879fd507f8b86f596f97cdd" "1.9.0": - patch_file: "patches/1.9.0-0001-no-export-static-win.patch" patch_description: "Avoid to define __declspec(dllexport) on windows at consume time & in static lib" @@ -24,7 +23,3 @@ patches: patch_description: "Install dll to bin folder" patch_type: "portability" sha256: "2f423eb1ee633a03c30d60f58a125f118cf9323402983c908708e7a6478e4bf6" - - patch_file: "patches/1.9.0-0003-disable-test-demo.patch" - patch_description: "Do not build test & demo" - patch_type: "conan" - sha256: "5b866e0a6d536f12386ecc212c47a993b9e891584879fd507f8b86f596f97cdd" diff --git a/recipes/iir1/all/conanfile.py b/recipes/iir1/all/conanfile.py index 26653fa6b385c..101593b61dcea 100644 --- a/recipes/iir1/all/conanfile.py +++ b/recipes/iir1/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.scm import Version import os @@ -66,8 +66,14 @@ def generate(self): tc.preprocessor_definitions["IIR1_NO_EXCEPTIONS"] = "1" tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # Disable test and demo subdirs + save(self, os.path.join(self.source_folder, "test", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "demo", "CMakeLists.txt"), "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch b/recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch deleted file mode 100644 index 18bc682ab4948..0000000000000 --- a/recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -12,9 +12,6 @@ cmake_policy(SET CMP0048 NEW) # set VERSION in project() - cmake_policy(SET CMP0042 NEW) # enable MACOSX_RPATH by default - - include(GNUInstallDirs) --add_subdirectory(test) --add_subdirectory(demo) --enable_testing () - - if (MSVC) - add_compile_options(/W4) diff --git a/recipes/iir1/config.yml b/recipes/iir1/config.yml index 8e492271b1dfd..01169b44873a4 100644 --- a/recipes/iir1/config.yml +++ b/recipes/iir1/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.4": + folder: "all" "1.9.1": folder: "all" "1.9.0": From 0681c90834e7901836186810e638138775c30a3b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 23:26:50 +0900 Subject: [PATCH 3401/4087] (#22340) json_dto: add version 0.3.2 * json_dto: add version 0.3.2 * drop support gcc<9 and gcc/11 * fix validation condition --- recipes/json_dto/all/conandata.yml | 12 +++--------- recipes/json_dto/all/conanfile.py | 5 +++++ recipes/json_dto/config.yml | 8 ++------ 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/recipes/json_dto/all/conandata.yml b/recipes/json_dto/all/conandata.yml index 48460b81acb17..54794754e12ff 100644 --- a/recipes/json_dto/all/conandata.yml +++ b/recipes/json_dto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.2.tar.gz" + sha256: "425d31c06c4e7f82d6414969fcdeaccb95ab44063c08296984ea0703de445744" "0.3.1": url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.1.tar.gz" sha256: "515a2d1510d3d8f8b240eb2149f44aeb47a70d26a7071609cca45c0ee198d1d1" @@ -11,12 +14,3 @@ sources: "0.2.14": url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.14.tar.gz" sha256: "d885fe16cf621f7470a45fb6e955e8aded02958bb2212819dc151feac930905b" - "0.2.13": - url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.13.tar.gz" - sha256: "ed4138bf86e0724c95508a9c74bed6fa0c98814b96f4cb3a1b540857e2302663" - "0.2.12": - url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.12.tar.gz" - sha256: "3b1ca412a74c339c01bcbf739542fa69b2391d24c321742098a2d6dfa7402d84" - "0.2.11": - url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.11.tar.gz" - sha256: "9ce409a8210ee78ef5b1e60dfb919186ba6a2e928e391e46f0e1d36049e06b1c" diff --git a/recipes/json_dto/all/conanfile.py b/recipes/json_dto/all/conanfile.py index 59d836f777070..df618397bce1c 100644 --- a/recipes/json_dto/all/conanfile.py +++ b/recipes/json_dto/all/conanfile.py @@ -52,6 +52,11 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + # several gcc doesn't allow "this" in noexcept clauses due to bug. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100752 + if Version(self.version) >= "0.3.2" and \ + self.settings.compiler == "gcc" and \ + (Version(self.settings.compiler.version) < "9.0" or Version(self.settings.compiler.version).major == 11): + raise ConanInvalidConfiguration(f"{self.ref} requires gcc 9, 10 or 12 later") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/json_dto/config.yml b/recipes/json_dto/config.yml index 87de86e844c69..2a02e47e426f0 100644 --- a/recipes/json_dto/config.yml +++ b/recipes/json_dto/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.2": + folder: all "0.3.1": folder: all "0.3.0": @@ -7,9 +9,3 @@ versions: folder: all "0.2.14": folder: all - "0.2.13": - folder: all - "0.2.12": - folder: all - "0.2.11": - folder: all From b848bcb08155a592b018dbe62c5163978763cb04 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 17:20:10 +0200 Subject: [PATCH 3402/4087] (#21509) jemalloc: migrate to Conan v2 * jemalloc: Make the recipe compatible with Conan 2.x. * jemalloc: Add the patch that adds support for Visual Studio 2019 and 2022. * jemalloc: Revise the implementation of `validate()`. * jemalloc: Define the env variable `CC` if jemalloc is compiled by MSVC. * jemalloc: Fix the typo. * jemalloc: Patch `configure.ac` to add the missing description in `AC_DEFINE`, fixing the autoreconf errors. * jemalloc: Add `automake` to the build requirements. * jemalloc: Remove the patch that adds the solution files of MSVC 2019 and 2022. * jemalloc: Do not check whether the math library exists when jemalloc is compiled by MSVC. * jemalloc: Remove deprecated functions that set the arguments for Autotools. * jemalloc: Revise the function that computes the name of the library and use it to initialize `self.cpp_info.libs`. * jemalloc: Add the patch file that adds the missing description in `AC_DEFINE` for v5.3.0. * jemalloc: Remove the function that patches the file `configure.ac`. * jemalloc: Remove deprecated implementation of `package()` and `package_info()`. * jemalloc: Copy MSVC compatible headers to the package folder. * jemalloc: Remove the old implementation of `_library_name()`. * jemalloc: Use the helper `is_msvc()` instead of checking the compiler value manually. * jemalloc: Remove the old implementation of `build()`. * jemalloc: Remove the deprecated function `_msvc_build_type()`. * jemalloc: No need to call `autoreconf`. * jemalloc: Add the missing CXX flags for MSVC. * jemalloc: Support for Apple Silicon Macs is only available as of 5.3.0. * jemalloc: Remove unneeded `_patch_sources()` function. * jemalloc: Fix the linter warnings. * jemalloc: No need to set the configuration arguments `--enable-shared/static` manually. * jemalloc: adjust compiler version checks * jemalloc: convert test_package to C * jemalloc: tidy * jemalloc: fix shared install on MSVC * jemalloc: use tool_requires() Co-authored-by: Jordan Williams --------- Co-authored-by: FireWolf Co-authored-by: Jordan Williams --- recipes/jemalloc/all/conandata.yml | 11 + recipes/jemalloc/all/conanfile.py | 272 ++++++++---------- ...02-add-missing-ac-define-description.patch | 13 + ...03-add-missing-cpp-flags-for-windows.patch | 12 + .../jemalloc/all/test_package/CMakeLists.txt | 12 +- .../jemalloc/all/test_package/conanfile.py | 21 +- .../jemalloc/all/test_package/test_package.c | 19 ++ .../all/test_package/test_package.cpp | 21 -- .../all/test_v1_package/CMakeLists.txt | 8 + .../jemalloc/all/test_v1_package/conanfile.py | 17 ++ 10 files changed, 221 insertions(+), 185 deletions(-) create mode 100644 recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch create mode 100644 recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch create mode 100644 recipes/jemalloc/all/test_package/test_package.c delete mode 100644 recipes/jemalloc/all/test_package/test_package.cpp create mode 100644 recipes/jemalloc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jemalloc/all/test_v1_package/conanfile.py diff --git a/recipes/jemalloc/all/conandata.yml b/recipes/jemalloc/all/conandata.yml index 01ec764057557..d4bd61a7e3212 100644 --- a/recipes/jemalloc/all/conandata.yml +++ b/recipes/jemalloc/all/conandata.yml @@ -9,3 +9,14 @@ sources: patches: "5.2.1": - patch_file: "patches/0001-clang12-dont-declare-system-functions-as-nothrow.patch" + patch_description: "Remove nothrow from system function declarations on macOS and FreeBSD." + patch_type: "backport" + "5.3.0": + - patch_file: "patches/0002-add-missing-ac-define-description.patch" + patch_description: "Patch configure.ac to add the missing description in AC_DEFINE." + patch_type: "backport" + patch_source: "https://github.com/jemalloc/jemalloc/pull/2396" + - patch_file: "patches/0003-add-missing-cpp-flags-for-windows.patch" + patch_description: "Add the missing compiler flags for MSVC on Windows." + patch_type: "backport" + patch_source: "https://github.com/jemalloc/jemalloc/issues/2283" diff --git a/recipes/jemalloc/all/conanfile.py b/recipes/jemalloc/all/conanfile.py index 03cf37de219b0..7273a9fcaa3fb 100644 --- a/recipes/jemalloc/all/conanfile.py +++ b/recipes/jemalloc/all/conanfile.py @@ -1,28 +1,29 @@ from conan import ConanFile -from conans import AutoToolsBuildEnvironment, MSBuild from conan.errors import ConanInvalidConfiguration -from conan.tools.scm import Version -from conans import tools as tools_legacy -from conan.tools.files import apply_conandata_patches, get, rename, replace_in_file +from conan.tools.env import VirtualBuildEnv +from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout +from conan.tools.files import export_conandata_patches, apply_conandata_patches, get, copy, rename, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import shutil -import string -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.54.0" + class JemallocConan(ConanFile): name = "jemalloc" description = "jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support." url = "https://github.com/conan-io/conan-center-index" license = "BSD-2-Clause" - homepage = "http://jemalloc.net/" + homepage = "https://jemalloc.net/" topics = ("conan", "jemalloc", "malloc", "free") settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "prefix": "ANY", + "prefix": ["ANY"], "enable_cxx": [True, False], "enable_fill": [True, False], "enable_xmalloc": [True, False], @@ -49,9 +50,36 @@ class JemallocConan(ConanFile): "enable_libdl": True, "enable_prof": False, } - exports_sources = ["patches/**"] - _autotools = None + @property + def _minimum_compilers_version(self): + return { + "clang": "3.9", + "apple-clang": "8", + # The upstream repository provides solution files for Visual Studio 2015, 2017, 2019 and 2022, + # but the 2015 solution does not work properly due to unresolved external symbols: + # `test_hooks_libc_hook` and `test_hooks_arena_new_hook` + "Visual Studio": "15", + "msvc": "191", + } + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + @property + def _library_name(self): + libname = "jemalloc" + if self.settings.os == "Windows": + if not self.options.shared: + libname += "_s" + else: + if not self.options.shared and self.options.fPIC: + libname += "_pic" + return libname + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -59,166 +87,108 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.enable_cxx: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - - def validate(self): - if self.options.enable_cxx and \ - self.settings.compiler.get_safe("libcxx") == "libc++" and \ - self.settings.compiler == "clang" and \ - Version(self.settings.compiler.version) < "10": - raise ConanInvalidConfiguration("clang and libc++ version {} (< 10) is missing a mutex implementation".format(self.settings.compiler.version)) - if self.settings.compiler == "Visual Studio" and \ - self.options.shared and \ - "MT" in self.settings.compiler.runtime: - raise ConanInvalidConfiguration("Visual Studio build for shared library with MT runtime is not supported") - if self.settings.compiler == "Visual Studio" and self.settings.compiler.version != "15": - # https://github.com/jemalloc/jemalloc/issues/1703 - raise ConanInvalidConfiguration("Only Visual Studio 15 2017 is supported. Please fix this if other versions are supported") - if self.settings.build_type not in ("Release", "Debug", None): - raise ConanInvalidConfiguration("Only Release and Debug build_types are supported") - if self.settings.compiler == "Visual Studio" and self.settings.arch not in ("x86_64", "x86"): - raise ConanInvalidConfiguration("Unsupported arch") - if self.settings.compiler == "clang" and Version(self.settings.compiler.version) <= "3.9": - raise ConanInvalidConfiguration("Unsupported compiler version") - if self.settings.os == "Macos" and self.settings.arch not in ("x86_64", "x86"): - raise ConanInvalidConfiguration("Unsupported arch") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): basic_layout(self, src_folder="src") - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - def build_requirements(self): - if self._settings_build.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", default=False, check_type=bool): - self.build_requires("msys2/cci.latest") - - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + self.tool_requires("automake/1.16.5") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") - @property - def _autotools_args(self): - conf_args = [ - "--with-jemalloc-prefix={}".format(self.options.prefix), - "--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug", - "--enable-cxx" if self.options.enable_cxx else "--disable-cxx", - "--enable-fill" if self.options.enable_fill else "--disable-fill", - "--enable-xmalloc" if self.options.enable_cxx else "--disable-xmalloc", - "--enable-readlinkat" if self.options.enable_readlinkat else "--disable-readlinkat", - "--enable-syscall" if self.options.enable_syscall else "--disable-syscall", - "--enable-lazy-lock" if self.options.enable_lazy_lock else "--disable-lazy-lock", - "--enable-log" if self.options.enable_debug_logging else "--disable-log", - "--enable-initial-exec-tls" if self.options.enable_initial_exec_tls else "--disable-initial-exec-tls", - "--enable-libdl" if self.options.enable_libdl else "--disable-libdl", - ] - if self.options.enable_prof: - conf_args.append("--enable-prof") - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - return conf_args - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools_legacy.os_info.is_windows) - self._autotools.configure(args=self._autotools_args, configure_dir=self.source_folder) - return self._autotools - - @property - def _msvc_build_type(self): - build_type = str(self.settings.build_type) or "Release" - if not self.options.shared: - build_type += "-static" - return build_type - - def _patch_sources(self): - if self.settings.os == "Windows": - makefile_in = os.path.join(self.source_folder, "Makefile.in") - replace_in_file(self, makefile_in, - "DSO_LDFLAGS = @DSO_LDFLAGS@", - "DSO_LDFLAGS = @DSO_LDFLAGS@ -Wl,--out-implib,lib/libjemalloc.a", strict=False) - replace_in_file(self, makefile_in, - "\t$(INSTALL) -d $(LIBDIR)\n" - "\t$(INSTALL) -m 755 $(objroot)lib/$(LIBJEMALLOC).$(SOREV) $(LIBDIR)", - "\t$(INSTALL) -d $(BINDIR)\n" - "\t$(INSTALL) -d $(LIBDIR)\n" - "\t$(INSTALL) -m 755 $(objroot)lib/$(LIBJEMALLOC).$(SOREV) $(BINDIR)\n" - "\t$(INSTALL) -m 644 $(objroot)lib/libjemalloc.a $(LIBDIR)", strict=False) - - apply_conandata_patches(self) + def validate(self): + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} >= {minimum_version}") + # 1. MSVC specific checks + if is_msvc(self): + # Building the shared library with a static MSVC runtime is not supported + if self.options.shared and is_msvc_static_runtime(self): + raise ConanInvalidConfiguration("Building the shared library with MT runtime is not supported.") + # Only x86-64 and x86 are supported + if self.settings.arch not in ["x86_64", "x86"]: + raise ConanInvalidConfiguration(f"{self.settings.arch} is not supported.") + # 2. Clang specific checks + if self.settings.compiler == "clang": + if self.options.enable_cxx and self.settings.compiler.get_safe("libcxx") == "libc++" and \ + Version(self.settings.compiler.version) < "10": + raise ConanInvalidConfiguration("Clang 9 or earlier with libc++ is not supported due to the missing mutex implementation.") + # 3. Verify the build type + if self.settings.build_type not in ("Release", "Debug", None): + raise ConanInvalidConfiguration("Only Release and Debug builds are supported.") + # 4: Apple Silicon specific checks + if self.settings.os == "Macos" and self.settings.arch == "armv8": + if Version(self.version) < "5.3.0": + raise ConanInvalidConfiguration("Support for Apple Silicon is only available as of 5.3.0.") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + enable_disable = lambda opt, val: f"--enable-{opt}" if val else f"--disable-{opt}" + tc.configure_args.extend([ + f"--with-jemalloc-prefix={self.options.prefix}", + enable_disable("debug", self.settings.build_type == "Debug"), + enable_disable("cxx", self.options.enable_cxx), + enable_disable("fill", self.options.enable_fill), + enable_disable("xmalloc", self.options.enable_cxx), + enable_disable("readlinkat", self.options.enable_readlinkat), + enable_disable("syscall", self.options.enable_syscall), + enable_disable("lazy-lock", self.options.enable_lazy_lock), + enable_disable("log", self.options.enable_debug_logging), + enable_disable("initial-exec-tls", self.options.enable_initial_exec_tls), + enable_disable("libdl", self.options.enable_libdl), + enable_disable("prof", self.options.enable_prof), + ]) + env = tc.environment() + if is_msvc(self): + # Do not check whether the math library exists when compiled by MSVC + # because MSVC treats the function `char log()` as a intrinsic function + # and therefore complains about insufficient arguments passed to the function + tc.configure_args.append("ac_cv_search_log=none required") + env.define("CC", "cl") + env.define("CXX", "cl") + tc.generate(env) def build(self): - self._patch_sources() - if self.settings.compiler == "Visual Studio": - with tools_legacy.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools_legacy.no_op(): - with tools_legacy.environment_append({"CC": "cl", "CXX": "cl"}) if self.settings.compiler == "Visual Studio" else tools_legacy.no_op(): - with tools_legacy.chdir(self.source_folder): - # Do not use AutoToolsBuildEnvironment because we want to run configure as ./configure - self.run("./configure {}".format(" ".join(self._autotools_args)), win_bash=tools_legacy.os_info.is_windows) - msbuild = MSBuild(self) - # Do not use the 2015 solution: unresolved external symbols: test_hooks_libc_hook and test_hooks_arena_new_hook - sln_file = os.path.join(self.source_folder, "msvc", "jemalloc_vc2017.sln") - msbuild.build(sln_file, targets=["jemalloc"], build_type=self._msvc_build_type) - else: - autotools = self._configure_autotools() - autotools.make() - - @property - def _library_name(self): - libname = "jemalloc" - if self.settings.compiler == "Visual Studio": - if self.options.shared: - if self.settings.build_type == "Debug": - libname += "d" - else: - toolset = tools_legacy.msvs_toolset(self.settings) - toolset_number = "".join(c for c in toolset if c in string.digits) - libname += "-vc{}-{}".format(toolset_number, self._msvc_build_type) - else: - if self.settings.os == "Windows": - if not self.options.shared: - libname += "_s" - else: - if not self.options.shared and self.options.fPIC: - libname += "_pic" - return libname + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy(pattern="COPYING", src=self.source_folder, dst="licenses") - if self.settings.compiler == "Visual Studio": - arch_subdir = { - "x86_64": "x64", - "x86": "x86", - }[str(self.settings.arch)] - self.copy("*.lib", src=os.path.join(self.source_folder, "msvc", arch_subdir, self._msvc_build_type), dst=os.path.join(self.package_folder, "lib")) - self.copy("*.dll", src=os.path.join(self.source_folder, "msvc", arch_subdir, self._msvc_build_type), dst=os.path.join(self.package_folder, "bin")) - self.copy("jemalloc.h", src=os.path.join(self.source_folder, "include", "jemalloc"), dst=os.path.join(self.package_folder, "include", "jemalloc"), keep_path=True) + copy(self, pattern="COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install(target="install_lib_shared" if self.options.shared else "install_lib_static") + autotools.install(target="install_include") + if self.settings.os == "Windows" and self.settings.compiler == "gcc": + rename(self, os.path.join(self.package_folder, "lib", f"{self._library_name}.lib"), + os.path.join(self.package_folder, "lib", f"lib{self._library_name}.a")) + if not self.options.shared: + os.unlink(os.path.join(self.package_folder, "lib", "jemalloc.lib")) + if is_msvc(self): shutil.copytree(os.path.join(self.source_folder, "include", "msvc_compat"), os.path.join(self.package_folder, "include", "msvc_compat")) - else: - autotools = self._configure_autotools() - # Use install_lib_XXX and install_include to avoid mixing binaries and dll's - autotools.make(target="install_lib_shared" if self.options.shared else "install_lib_static") - autotools.make(target="install_include") - if self.settings.os == "Windows" and self.settings.compiler == "gcc": - rename(self, os.path.join(self.package_folder, "lib", "{}.lib".format(self._library_name)), - os.path.join(self.package_folder, "lib", "lib{}.a".format(self._library_name))) - if not self.options.shared: - os.unlink(os.path.join(self.package_folder, "lib", "jemalloc.lib")) + if self.options.shared: + rmdir(self, os.path.join(self.package_folder, "lib")) + copy(self, "*.lib", os.path.join(self.build_folder, "lib"), os.path.join(self.package_folder, "lib")) + copy(self, "*.dll", os.path.join(self.build_folder, "lib"), os.path.join(self.package_folder, "bin")) def package_info(self): - self.cpp_info.names["pkg_config"] = "jemalloc" + self.cpp_info.set_property("pkg_config_name", "jemalloc") self.cpp_info.libs = [self._library_name] self.cpp_info.includedirs = [os.path.join(self.package_folder, "include"), os.path.join(self.package_folder, "include", "jemalloc")] - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self.cpp_info.includedirs.append(os.path.join(self.package_folder, "include", "msvc_compat")) if not self.options.shared: self.cpp_info.defines = ["JEMALLOC_EXPORT="] diff --git a/recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch b/recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch new file mode 100644 index 0000000000000..7799dfb9e80e3 --- /dev/null +++ b/recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index f6d25f334..3115504e2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1592,7 +1592,7 @@ fi + [enable_uaf_detection="0"] + ) + if test "x$enable_uaf_detection" = "x1" ; then +- AC_DEFINE([JEMALLOC_UAF_DETECTION], [ ]) ++ AC_DEFINE([JEMALLOC_UAF_DETECTION], [ ], ["enable UAF"]) + fi + AC_SUBST([enable_uaf_detection]) + diff --git a/recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch b/recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch new file mode 100644 index 0000000000000..6e6e2d1403fb2 --- /dev/null +++ b/recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 3115504e2..ffb504b08 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -749,6 +749,7 @@ case "${host}" in + so="dll" + if test "x$je_cv_msvc" = "xyes" ; then + importlib="lib" ++ JE_APPEND_VS(CPPFLAGS, -DJEMALLOC_NO_PRIVATE_NAMESPACE) + DSO_LDFLAGS="-LD" + EXTRA_LDFLAGS="-link -DEBUG" + CTARGET='-Fo$@' diff --git a/recipes/jemalloc/all/test_package/CMakeLists.txt b/recipes/jemalloc/all/test_package/CMakeLists.txt index 0cc486467b601..718824817866d 100644 --- a/recipes/jemalloc/all/test_package/CMakeLists.txt +++ b/recipes/jemalloc/all/test_package/CMakeLists.txt @@ -1,9 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(jemalloc REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 11) +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE jemalloc::jemalloc) diff --git a/recipes/jemalloc/all/test_package/conanfile.py b/recipes/jemalloc/all/test_package/conanfile.py index d4128b0450777..d60b533632ddd 100644 --- a/recipes/jemalloc/all/test_package/conanfile.py +++ b/recipes/jemalloc/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/jemalloc/all/test_package/test_package.c b/recipes/jemalloc/all/test_package/test_package.c new file mode 100644 index 0000000000000..cf16dc2c9e11e --- /dev/null +++ b/recipes/jemalloc/all/test_package/test_package.c @@ -0,0 +1,19 @@ +#include + +#include + +void do_something(size_t i) { + // Leak some memory. + malloc(i * 100); +} + +int main() { + for (size_t i = 0; i < 1000; i++) { + do_something(i); + } + + // Dump allocator statistics to stderr. + malloc_stats_print(NULL, NULL, NULL); + + return 0; +} diff --git a/recipes/jemalloc/all/test_package/test_package.cpp b/recipes/jemalloc/all/test_package/test_package.cpp deleted file mode 100644 index 5d19fec4f824a..0000000000000 --- a/recipes/jemalloc/all/test_package/test_package.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include - -#include - -void -do_something(size_t i) { - // Leak some memory. - malloc(i * 100); -} - -int -main(int argc, char **argv) { - for (size_t i = 0; i < 1000; i++) { - do_something(i); - } - - // Dump allocator statistics to stderr. - malloc_stats_print(NULL, NULL, NULL); - - return 0; -} diff --git a/recipes/jemalloc/all/test_v1_package/CMakeLists.txt b/recipes/jemalloc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/jemalloc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jemalloc/all/test_v1_package/conanfile.py b/recipes/jemalloc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/jemalloc/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 90fe0a6fcab23168fb818488acfa0a1e76558eec Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 19:09:32 +0200 Subject: [PATCH 3403/4087] (#18602) gnulib: migrate to Conan v2 * gnulib: migrate to Conan v2 * gnulib: add version 20230717 * gnulib: disable Windows builds for Conan 2 for now * gnulib: set public domain license correctly * gnulib: use build-aux/ar-lib, use tool_requires * gnulib: fix MSVC build * gnulib: drop 20200224, add latest version * gnulib: update version * gnulib: set GNULIB_SRCDIR buildenv var * gnulib: add v20230218 for libtasn1 --- recipes/gnulib/all/conandata.yml | 9 +- recipes/gnulib/all/conanfile.py | 54 +++++----- recipes/gnulib/all/test_package/conanfile.py | 100 ++++++++++-------- .../gnulib/all/test_v1_package/conanfile.py | 61 +++++++++++ recipes/gnulib/config.yml | 4 +- 5 files changed, 150 insertions(+), 78 deletions(-) create mode 100644 recipes/gnulib/all/test_v1_package/conanfile.py diff --git a/recipes/gnulib/all/conandata.yml b/recipes/gnulib/all/conandata.yml index 5a178c6fd8562..f0a11d9e7bc47 100644 --- a/recipes/gnulib/all/conandata.yml +++ b/recipes/gnulib/all/conandata.yml @@ -1,4 +1,7 @@ sources: - "20200224": - url: "http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=d279bc6d9f9323e19ad8c32b6d12ff96dfb0f5ba;sf=tgz" - sha256: "171142863dd860b3a5babc0f6172048313cf9d98d00a289be9c154bf015ac68d" + "20231231": + url: "http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=4f6545e79c4a7cd7feb2c8f23f1d5167e7165907;sf=tgz" + sha256: "8b95e1ac4dc3a925dd282031445f544f332cdb0b0df2f0b97f5675b7ec42acff" + "20230218": + url: "http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=bb3fd10;sf=tgz" + sha256: "e94cb8a4f85439e3b6509f22bd8a132bbf0cc0f22996c67cdc0c7329142b6498" diff --git a/recipes/gnulib/all/conanfile.py b/recipes/gnulib/all/conanfile.py index 8f85099afedec..ad906d69a08cb 100644 --- a/recipes/gnulib/all/conanfile.py +++ b/recipes/gnulib/all/conanfile.py @@ -1,51 +1,49 @@ -from conans import ConanFile, tools import os -import shutil -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class GnuLibConanFile(ConanFile): name = "gnulib" description = "Gnulib is a central location for common GNU code, intended to be shared among GNU packages." - homepage = "https://www.gnu.org/software/gnulib/" + license = ("GPL-3.0-or-later", "LGPL-3.0-or-later", "Public-domain") url = "https://github.com/conan-io/conan-center-index" - topics = ("gnulib", "library", "gnu") - license = ("GPL-3.0-or-later", "LGPL-3.0-or-later", "Unlicense") + homepage = "https://www.gnu.org/software/gnulib/" + topics = ("library", "gnu") + package_type = "build-scripts" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _source_subfolder = "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True, filename="gnulib.tar.gz") + get(self, **self.conan_data["sources"][self.version], strip_root=True, filename="gnulib.tar.gz") def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - - # The following line did not work, so do it the long way... - # shutil.copy(os.path.join(self.source_folder, self._source_subfolder), os.path.join(self.package_folder, "bin")) - - gnulib_dir = os.path.join(self.source_folder, self._source_subfolder) - for root, _, files in os.walk(gnulib_dir): - relpath = os.path.relpath(root, gnulib_dir) - dstdir = os.path.join(self.package_folder, "bin", relpath) - try: - os.makedirs(dstdir) - except FileExistsError: - pass - for file in files: - src = os.path.join(root, file) - dst = os.path.join(dstdir, file) - shutil.copy(src, dst) + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder) def package_info(self): + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] + # Set GNULIB_SRCDIR for the standard ./bootstrap script from build-aux + # https://github.com/digitalocean/gnulib/blob/master/build-aux/bootstrap#L58-L62 + self.buildenv_info.define_path("GNULIB_SRCDIR", os.path.join(self.package_folder, "bin")) + + # TODO: Legacy, to be removed on Conan 2.0 binpath = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment var: {}".format(binpath)) self.env_info.PATH.append(binpath) diff --git a/recipes/gnulib/all/test_package/conanfile.py b/recipes/gnulib/all/test_package/conanfile.py index 39d8fd2e49aac..09e7f8d503e60 100644 --- a/recipes/gnulib/all/test_package/conanfile.py +++ b/recipes/gnulib/all/test_package/conanfile.py @@ -1,60 +1,68 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -import contextlib import os -import shutil + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import copy, save, chdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.microsoft import is_msvc, unix_path class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - exports_sources = "configure.ac", "Makefile.am", "test_package.c" + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + win_bash = True # Needed in Conan v1 to avoid "Cannot wrap command with different envs." @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - self.build_requires("automake/1.16.4") - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "AR": "{} lib".format(tools.unix_path(os.path.join(self.build_folder, "build-aux", "ar-lib"))), - "CC": "cl -nologo", - "CXX": "cl -nologo", - "LD": "link -nologo", - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield + self.tool_requires(self.tested_reference_str) + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + self.tool_requires("automake/1.16.5") + self.tool_requires("libtool/2.4.7") + + def layout(self): + cmake_layout(self) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + # ar-lib wrapper is added automatically by ./configure, no need to set AR + env.vars(self).save_script("conanbuild_msvc") def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), dst=os.path.join(self.build_folder, src)) - with tools.chdir(self.build_folder): - for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): - tools.save(fn, "\n") - with tools.run_environment(self): - self.run("gnulib-tool --list", win_bash=tools.os_info.is_windows, run_environment=True) - self.run("gnulib-tool --import getopt-posix", win_bash=tools.os_info.is_windows, run_environment=True) - # m4 built with Visual Studio does not support executing *nix utils (e.g. `test`) - with tools.environment_append({"M4":None}) if self.settings.os == "Windows" else tools.no_op(): - self.run("{} -fiv".format(os.environ["AUTORECONF"]), win_bash=tools.os_info.is_windows, run_environment=True) - - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.configure() - autotools.make() + for src in ["configure.ac", "Makefile.am", "test_package.c"]: + copy(self, src, src=self.source_folder, dst=self.build_folder) + for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): + save(self, os.path.join(self.build_folder, fn), "\n") + self.run("gnulib-tool --list") + self.run("gnulib-tool --import getopt-posix", env="conanbuild") + with chdir(self, self.build_folder): + autotools = Autotools(self) + if self._settings_build.os == "Windows": + # Disable m4 from Conan, which is not able to run shell commands with syscmd() + os.environ["M4"] = "" + # autotools.autoreconf() does not have build_script_folder param in Conan v1, so using .run() + self.run("autoreconf -fiv") + autotools.configure(self.build_folder) + autotools.make() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = unix_path(self, os.path.join(self.build_folder, "test_package")) + self.run(bin_path, env="conanrun") diff --git a/recipes/gnulib/all/test_v1_package/conanfile.py b/recipes/gnulib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..33375b9245e7b --- /dev/null +++ b/recipes/gnulib/all/test_v1_package/conanfile.py @@ -0,0 +1,61 @@ +from conans import ConanFile, tools, AutoToolsBuildEnvironment +import contextlib +import os +import shutil + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + exports_sources = "configure.ac", "Makefile.am", "test_package.c" + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def build_requirements(self): + if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): + self.build_requires("msys2/cci.latest") + self.build_requires("automake/1.16.4") + + @contextlib.contextmanager + def _build_context(self): + if self.settings.compiler == "Visual Studio": + with tools.vcvars(self): + env = { + "AR": "{} lib".format(tools.unix_path(os.path.join(self.build_folder, "build-aux", "ar-lib"))), + "CC": "cl -nologo", + "CXX": "cl -nologo", + "LD": "link -nologo", + "NM": "dumpbin -symbols", + "OBJDUMP": ":", + "RANLIB": ":", + "STRIP": ":", + } + with tools.environment_append(env): + yield + else: + yield + + def build(self): + source_folder = os.path.join(self.source_folder, "..", "test_package") + for src in self.exports_sources: + shutil.copy(os.path.join(source_folder, src), dst=os.path.join(self.build_folder, src)) + with tools.chdir(self.build_folder): + for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): + tools.save(fn, "\n") + with tools.run_environment(self): + self.run("gnulib-tool --list", win_bash=tools.os_info.is_windows, run_environment=True) + self.run("gnulib-tool --import getopt-posix", win_bash=tools.os_info.is_windows, run_environment=True) + # m4 built with Visual Studio does not support executing *nix utils (e.g. `test`) + with tools.environment_append({"M4":None}) if self.settings.os == "Windows" else tools.no_op(): + self.run("{} -fiv".format(os.environ["AUTORECONF"]), win_bash=tools.os_info.is_windows, run_environment=True) + + with self._build_context(): + autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + autotools.configure() + autotools.make() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join(".", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/gnulib/config.yml b/recipes/gnulib/config.yml index 3f6aba5ec0fcc..ee83643c5044f 100644 --- a/recipes/gnulib/config.yml +++ b/recipes/gnulib/config.yml @@ -1,3 +1,5 @@ versions: - "20200224": + "20231231": + folder: all + "20230218": folder: all From fcd28b1a3c5083e1caf8fbd29831837ed343fbea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 19:38:37 +0200 Subject: [PATCH 3404/4087] (#18797) flatcc: migrate to Conan v2 * flatcc: migrate to Conan v2 * flatcc: make test_package test() more robust * flatcc: fix test_package * flatcc: fix shared library access during test build * flatcc: fix_apple_shared_install_name() * flatcc: correct required_conan_version * flatcc: don't print PATH * flatcc: disable cross-building if flatcc_cli cannot be run during the build * flatcc: add macOS workaround * flatcc: skip macOS shared test on Conan v1 --- recipes/flatcc/all/CMakeLists.txt | 7 - recipes/flatcc/all/conanfile.py | 149 +++++++++--------- .../flatcc/all/test_package/CMakeLists.txt | 29 ++-- recipes/flatcc/all/test_package/conanfile.py | 63 +++++--- .../flatcc/all/test_v1_package/CMakeLists.txt | 8 + .../flatcc/all/test_v1_package/conanfile.py | 40 +++++ 6 files changed, 172 insertions(+), 124 deletions(-) delete mode 100644 recipes/flatcc/all/CMakeLists.txt create mode 100644 recipes/flatcc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/flatcc/all/test_v1_package/conanfile.py diff --git a/recipes/flatcc/all/CMakeLists.txt b/recipes/flatcc/all/CMakeLists.txt deleted file mode 100644 index 07ec7f05275cb..0000000000000 --- a/recipes/flatcc/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/flatcc/all/conanfile.py b/recipes/flatcc/all/conanfile.py index 09f5cab415518..8509d971bbcd8 100644 --- a/recipes/flatcc/all/conanfile.py +++ b/recipes/flatcc/all/conanfile.py @@ -1,52 +1,53 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -import functools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building, can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class FlatccConan(ConanFile): name = "flatcc" description = "C language binding for Flatbuffers, an efficient cross platform serialization library" license = "Apache-2.0" - topics = ("flatbuffers", "serialization") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dvidelabs/flatcc" + topics = ("flatbuffers", "serialization") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = { "shared": [True, False], - "fPIC": [True, False], - "portable": [True, False], - "gnu_posix_memalign": [True, False], - "runtime_lib_only": [True, False], - "verify_assert": [True, False], - "verify_trace": [True, False], - "reflection": [True, False], - "native_optim": [True, False], - "fast_double": [True, False], - "ignore_const_condition": [True, False], + options = { + "shared": [True, False], + "fPIC": [True, False], + "portable": [True, False], + "gnu_posix_memalign": [True, False], + "runtime_lib_only": [True, False], + "verify_assert": [True, False], + "verify_trace": [True, False], + "reflection": [True, False], + "native_optim": [True, False], + "fast_double": [True, False], + "ignore_const_condition": [True, False], } - default_options = { "shared": False, - "fPIC": True, - "portable": False, - "gnu_posix_memalign": True, - "runtime_lib_only": False, - "verify_assert": False, - "verify_trace": False, - "reflection": True, - "native_optim": False, - "fast_double": False, - "ignore_const_condition": False + default_options = { + "shared": False, + "fPIC": True, + "portable": False, + "gnu_posix_memalign": True, + "runtime_lib_only": False, + "verify_assert": False, + "verify_trace": False, + "reflection": True, + "native_optim": False, + "fast_double": False, + "ignore_const_condition": False, } - generators = "cmake" - exports_sources = ["CMakeLists.txt"] - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": @@ -54,58 +55,62 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os == "Windows": - if self.settings.compiler == "Visual Studio" and self.options.shared: - #Building flatcc shared libs with Visual Studio is broken + if is_msvc(self) and self.options.shared: + # Building flatcc shared libs with Visual Studio is broken raise ConanInvalidConfiguration("Building flatcc libraries shared is not supported") - if tools.Version(self.version) == "0.6.0" and self.settings.compiler == "gcc": + if Version(self.version) == "0.6.0" and self.settings.compiler == "gcc": raise ConanInvalidConfiguration("Building flatcc with MinGW is not supported") + if cross_building(self) and not can_run(self): + raise ConanInvalidConfiguration(f"Cross-building for a non-native architecture ({self.settings.arch}) is not supported") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["FLATCC_PORTABLE"] = self.options.portable - cmake.definitions["FLATCC_GNU_POSIX_MEMALIGN"] = self.options.gnu_posix_memalign - cmake.definitions["FLATCC_RTONLY"] = self.options.runtime_lib_only - cmake.definitions["FLATCC_INSTALL"] = True - cmake.definitions["FLATCC_COVERAGE"] = False - cmake.definitions["FLATCC_DEBUG_VERIFY"] = self.options.verify_assert - cmake.definitions["FLATCC_TRACE_VERIFY"] = self.options.verify_trace - cmake.definitions["FLATCC_REFLECTION"] = self.options.reflection - cmake.definitions["FLATCC_NATIVE_OPTIM"] = self.options.native_optim - cmake.definitions["FLATCC_FAST_DOUBLE"] = self.options.fast_double - cmake.definitions["FLATCC_IGNORE_CONST_COND"] = self.options.ignore_const_condition - cmake.definitions["FLATCC_TEST"] = False - cmake.definitions["FLATCC_ALLOW_WERROR"] = False - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FLATCC_PORTABLE"] = self.options.portable + tc.variables["FLATCC_GNU_POSIX_MEMALIGN"] = self.options.gnu_posix_memalign + tc.variables["FLATCC_RTONLY"] = self.options.runtime_lib_only + tc.variables["FLATCC_INSTALL"] = True + tc.variables["FLATCC_COVERAGE"] = False + tc.variables["FLATCC_DEBUG_VERIFY"] = self.options.verify_assert + tc.variables["FLATCC_TRACE_VERIFY"] = self.options.verify_trace + tc.variables["FLATCC_REFLECTION"] = self.options.reflection + tc.variables["FLATCC_NATIVE_OPTIM"] = self.options.native_optim + tc.variables["FLATCC_FAST_DOUBLE"] = self.options.fast_double + tc.variables["FLATCC_IGNORE_CONST_COND"] = self.options.ignore_const_condition + tc.variables["FLATCC_TEST"] = False + tc.variables["FLATCC_ALLOW_WERROR"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - if self.settings.build_type == "Debug" and not tools.os_info.is_windows: + if self.settings.build_type == "Debug" and not self.settings.os == "Windows": debug_suffix = "_d" if self.settings.build_type == "Debug" else "" - os.rename(os.path.join(self.package_folder, "bin", "flatcc%s" % debug_suffix), + os.rename(os.path.join(self.package_folder, "bin", f"flatcc{debug_suffix}"), os.path.join(self.package_folder, "bin", "flatcc")) - # Copy license file - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + fix_apple_shared_install_name(self) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info('Appending PATH environment variable: %s' % bin_path) - self.env_info.PATH.append(bin_path) debug_suffix = "_d" if self.settings.build_type == "Debug" else "" if not self.options.runtime_lib_only: - self.cpp_info.libs.append("flatcc%s" % debug_suffix) - self.cpp_info.libs.append("flatccrt%s" % debug_suffix) + self.cpp_info.libs.append(f"flatcc{debug_suffix}") + self.cpp_info.libs.append(f"flatccrt{debug_suffix}") + + # TODO: to remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) diff --git a/recipes/flatcc/all/test_package/CMakeLists.txt b/recipes/flatcc/all/test_package/CMakeLists.txt index 3a1e3c2e0ae88..30545f8db3c32 100644 --- a/recipes/flatcc/all/test_package/CMakeLists.txt +++ b/recipes/flatcc/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(flatcc_example) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(flatcc_example LANGUAGES C) find_package(flatcc REQUIRED CONFIG) @@ -14,20 +11,14 @@ include_directories("${GEN_DIR}" "${INC_DIR}") add_executable(monster monster.c) -#On MacOS System Integrity Protection (SIP) will clear the DYLD_LIBRARY_PATH variable. -#As a result calling flatcc from cmake will currently not work if the flatcc executable -# is linked shared. As a workaround we generate the flatbuffer C files in the Conan recipe -# when on MacOS and flatcc option 'shared' is True. -if (NOT MACOS_SIP_WORKAROUND) - add_custom_target(gen_monster_fbs ALL) - add_custom_command ( - TARGET gen_monster_fbs - COMMAND cmake -E make_directory "${GEN_DIR}" - COMMAND flatcc -a -o "${GEN_DIR}" "${FBS_DIR}/monster.fbs" - DEPENDS flatcc "${FBS_DIR}/monster.fbs" - ) +add_custom_target(gen_monster_fbs ALL) +add_custom_command ( + TARGET gen_monster_fbs + COMMAND cmake -E make_directory "${GEN_DIR}" + COMMAND flatcc -a -o "${GEN_DIR}" "${FBS_DIR}/monster.fbs" + DEPENDS flatcc "${FBS_DIR}/monster.fbs" +) - add_dependencies(monster gen_monster_fbs) -endif() +add_dependencies(monster gen_monster_fbs) target_link_libraries(monster flatcc::flatcc) diff --git a/recipes/flatcc/all/test_package/conanfile.py b/recipes/flatcc/all/test_package/conanfile.py index 35aa66924f6ab..862b0fa5fd360 100644 --- a/recipes/flatcc/all/test_package/conanfile.py +++ b/recipes/flatcc/all/test_package/conanfile.py @@ -1,35 +1,46 @@ -import os.path +import os -from conans import ConanFile, CMake, tools, RunEnvironment -from conans.errors import ConanException +from conan import ConanFile, conan_version +from conan.tools.apple import is_apple_os +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import VirtualRunEnv -class FlatccTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + @property + def _skip_shared_macos(self): + return conan_version.major == 1 and self.options["flatcc"].shared and is_apple_os(self) + + def generate(self): + VirtualRunEnv(self).generate(scope="build") + VirtualRunEnv(self).generate(scope="run") + def build(self): - if tools.cross_building(self): + if self._skip_shared_macos: return - - env_build = RunEnvironment(self) - with tools.environment_append(env_build.vars): - cmake = CMake(self) - if tools.os_info.is_macos and self.options["flatcc"].shared: - # Because of MacOS System Integraty Protection it is currently not possible to run the flatcc - # executable from cmake if it is linked shared. As a temporary work-around run flatcc here in - # the build function. - tools.mkdir(os.path.join(self.build_folder, "generated")) - self.run("flatcc -a -o " + os.path.join(self.build_folder, "generated") + " " + os.path.join(self.source_folder, "monster.fbs"), run_environment=True) - cmake.definitions["MACOS_SIP_WORKAROUND"] = True - cmake.configure() - cmake.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - if tools.cross_building(self): - bin_path = os.path.join(self.deps_cpp_info["flatcc"].rootpath, "bin", "flatcc") - if not os.path.isfile(bin_path) or not os.access(bin_path, os.X_OK): - raise ConanException("flatcc doesn't exist.") - else: - bin_path = os.path.join(self.build_folder, "bin", "monster") - self.run(bin_path, cwd=self.source_folder, run_environment=True) + if self._skip_shared_macos: + return + if can_run(self): + self.run("flatcc --version") + bin_path = os.path.join(self.cpp.build.bindir, "monster") + self.run(bin_path, env="conanrun") diff --git a/recipes/flatcc/all/test_v1_package/CMakeLists.txt b/recipes/flatcc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/flatcc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flatcc/all/test_v1_package/conanfile.py b/recipes/flatcc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..397faab87a163 --- /dev/null +++ b/recipes/flatcc/all/test_v1_package/conanfile.py @@ -0,0 +1,40 @@ +import os.path + +from conans import ConanFile, CMake, tools, RunEnvironment +from conans.errors import ConanException + + +class FlatccTestConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + @property + def _skip_shared_macos(self): + # Because of MacOS System Integraty Protection it is currently not possible to run the flatcc + # executable from cmake if it is linked shared. As a temporary work-around run flatcc here in + # the build function. + return self.options["flatcc"].shared and tools.os_info.is_macos + + def build(self): + if tools.cross_building(self): + return + + if self._skip_shared_macos: + return + + env_build = RunEnvironment(self) + with tools.environment_append(env_build.vars): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if self._skip_shared_macos: + return + if tools.cross_building(self): + bin_path = os.path.join(self.deps_cpp_info["flatcc"].rootpath, "bin", "flatcc") + if not os.path.isfile(bin_path) or not os.access(bin_path, os.X_OK): + raise ConanException("flatcc doesn't exist.") + else: + bin_path = os.path.join(self.build_folder, "bin", "monster") + self.run(bin_path, cwd=self.source_folder, run_environment=True) From 99d6654f4fefd69875f0a2e3d1b1aa3074faf730 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 19:54:19 +0200 Subject: [PATCH 3405/4087] (#18982) depot_tools: migrate to Conan v2 * depot_tools: migrate to Conan v2 * depot_tools: add short_paths = True * depot_tools: self.info.clear(), add layout to test_package --- recipes/depot_tools/all/conandata.yml | 1 - recipes/depot_tools/all/conanfile.py | 114 ++++++++++-------- .../depot_tools/all/test_package/conanfile.py | 15 ++- .../all/test_v1_package/conanfile.py | 7 ++ 4 files changed, 84 insertions(+), 53 deletions(-) create mode 100644 recipes/depot_tools/all/test_v1_package/conanfile.py diff --git a/recipes/depot_tools/all/conandata.yml b/recipes/depot_tools/all/conandata.yml index 76dffe6ab4ef4..ab4c55cfe78ae 100644 --- a/recipes/depot_tools/all/conandata.yml +++ b/recipes/depot_tools/all/conandata.yml @@ -6,4 +6,3 @@ sources: patches: "cci.20201009": - patch_file: "patches/001-use-system-python.patch" - base_path: "source_subfolder" diff --git a/recipes/depot_tools/all/conanfile.py b/recipes/depot_tools/all/conanfile.py index 45bfe37d78533..a56140f75a3c9 100644 --- a/recipes/depot_tools/all/conanfile.py +++ b/recipes/depot_tools/all/conanfile.py @@ -1,24 +1,33 @@ import os import shutil -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class DepotToolsConan(ConanFile): name = "depot_tools" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://chromium.googlesource.com/chromium/tools/depot_tools" description = "Tools for working with Chromium development." - topics = ("depot_tools", "chromium") license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://chromium.googlesource.com/chromium/tools/depot_tools" + topics = ("chromium", "pre-built") + + package_type = "application" + settings = "os", "arch", "compiler", "build_type" short_paths = True - no_copy_source = True - settings = "os", "arch", "build_type", "compiler" - exports_sources = ["patches/**"] + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") - @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") + def package_id(self): + self.info.clear() def _dereference_symlinks(self): """ @@ -30,7 +39,7 @@ def _dereference_symlinks(self): if self.settings.os != "Windows": return - for root, dirs, files in os.walk(self._source_subfolder): + for root, dirs, files in os.walk(self.source_folder): symlinks = [os.path.join(root, f) for f in files if os.path.islink(os.path.join(root, f))] for symlink in symlinks: dest = os.readlink(symlink) @@ -38,55 +47,60 @@ def _dereference_symlinks(self): shutil.copy(os.path.join(root, dest), symlink, follow_symlinks=False) self.output.info("Replaced symlink '%s' with its destination file '%s'" % (symlink, dest)) - def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder) + def build(self): + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) self._dereference_symlinks() - - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="bin", src=self._source_subfolder) - self._fix_permissions() + apply_conandata_patches(self) def _fix_permissions(self): + if self.settings.os == "Windows": + return def chmod_plus_x(name): os.chmod(name, os.stat(name).st_mode | 0o111) - if self.settings.os != "Windows": - for root, _, files in os.walk(self.package_folder): - for file_it in files: - filename = os.path.join(root, file_it) - with open(filename, 'rb') as f: - sig = f.read(4) - if type(sig) is str: - sig = [ord(s) for s in sig] - if len(sig) >= 2 and sig[0] == 0x23 and sig[1] == 0x21: - self.output.info('chmod on script file %s' % file_it) - chmod_plus_x(filename) - elif sig == [0x7F, 0x45, 0x4C, 0x46]: - self.output.info('chmod on ELF file %s' % file_it) - chmod_plus_x(filename) - elif \ - sig == [0xCA, 0xFE, 0xBA, 0xBE] or \ - sig == [0xBE, 0xBA, 0xFE, 0xCA] or \ - sig == [0xFE, 0xED, 0xFA, 0xCF] or \ - sig == [0xCF, 0xFA, 0xED, 0xFE] or \ - sig == [0xFE, 0xED, 0xFA, 0xCE] or \ - sig == [0xCE, 0xFA, 0xED, 0xFE]: - self.output.info('chmod on Mach-O file %s' % file_it) - chmod_plus_x(filename) + for root, _, files in os.walk(self.package_folder): + for file_it in files: + filename = os.path.join(root, file_it) + with open(filename, "rb") as f: + sig = tuple(f.read(4)) + if len(sig) >= 2 and sig[0] == 0x23 and sig[1] == 0x21: + self.output.info(f"chmod on script file {file_it}") + chmod_plus_x(filename) + elif sig == (0x7F, 0x45, 0x4C, 0x46): + self.output.info(f"chmod on ELF file {file_it}") + chmod_plus_x(filename) + elif sig in [ + (0xCA, 0xFE, 0xBA, 0xBE), + (0xBE, 0xBA, 0xFE, 0xCA), + (0xFE, 0xED, 0xFA, 0xCF), + (0xCF, 0xFA, 0xED, 0xFE), + (0xFE, 0xED, 0xFA, 0xCE), + (0xCE, 0xFA, 0xED, 0xFE), + ]: + self.output.info(f"chmod on Mach-O file {file_it}") + chmod_plus_x(filename) - def package_id(self): - del self.info.settings.arch - del self.info.settings.build_type - del self.info.settings.compiler + def package(self): + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder) + self._fix_permissions() def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + self.runenv_info.define("DEPOT_TOOLS_UPDATE", "0") + self.buildenv_info.define("DEPOT_TOOLS_UPDATE", "0") + + # TODO: Legacy, to be removed on Conan 2.0 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var with : {}".format(bin_path)) + self.output.info(f"Appending PATH env var with : {bin_path}") self.env_info.PATH.append(bin_path) - self.env_info.DEPOT_TOOLS_UPDATE = "0" diff --git a/recipes/depot_tools/all/test_package/conanfile.py b/recipes/depot_tools/all/test_package/conanfile.py index 38bf21d14dbee..4315ef29254a7 100644 --- a/recipes/depot_tools/all/test_package/conanfile.py +++ b/recipes/depot_tools/all/test_package/conanfile.py @@ -1,7 +1,18 @@ -from conans import ConanFile +from conan import ConanFile +from conan.tools.cmake import cmake_layout class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + def test(self): # cit: Chrome Infrastructure CLI - self.run("cit --help", run_environment=True) + self.run("cit --help") diff --git a/recipes/depot_tools/all/test_v1_package/conanfile.py b/recipes/depot_tools/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38bf21d14dbee --- /dev/null +++ b/recipes/depot_tools/all/test_v1_package/conanfile.py @@ -0,0 +1,7 @@ +from conans import ConanFile + + +class TestPackageConan(ConanFile): + def test(self): + # cit: Chrome Infrastructure CLI + self.run("cit --help", run_environment=True) From 5401a6706420d3c84915812bda4b4af08127ad29 Mon Sep 17 00:00:00 2001 From: David Aceituno Date: Mon, 15 Jan 2024 19:40:08 +0100 Subject: [PATCH 3406/4087] (#22271) Update to h5pp/1.11.1 * Update to h5pp/1.11.1 * Fixed required components for versions <1.10.0 * Bumped dependency version * Reverted version ranges for dependencies --- recipes/h5pp/all/conandata.yml | 3 ++ recipes/h5pp/all/conanfile.py | 32 ++++++++++++------- .../h5pp/all/test_package/test_package.cpp | 7 ++++ recipes/h5pp/config.yml | 2 ++ 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/recipes/h5pp/all/conandata.yml b/recipes/h5pp/all/conandata.yml index 264046f12084e..bf1850769d043 100644 --- a/recipes/h5pp/all/conandata.yml +++ b/recipes/h5pp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.1": + url: "https://github.com/DavidAce/h5pp/archive/v1.11.1.tar.gz" + sha256: "659d566dcb011e7a0f14f9fec9d6e6c783559eec3fd051de1e5cf44d95fd752b" "1.11.0.1": url: "https://github.com/DavidAce/h5pp/archive/v1.11.0.1.tar.gz" sha256: "73b08273c36220fad2836897138f4e0adbe347ea7d1cc7c22f9783a29b24f967" diff --git a/recipes/h5pp/all/conanfile.py b/recipes/h5pp/all/conanfile.py index 9c9caa28d810e..d86cc080b5e0a 100644 --- a/recipes/h5pp/all/conanfile.py +++ b/recipes/h5pp/all/conanfile.py @@ -25,12 +25,14 @@ class H5ppConan(ConanFile): options = { "with_eigen": [True, False], "with_spdlog": [True, False], - "with_zlib" : [True, False], + "with_zlib" : [True, False], + "with_quadmath": [True, False] } default_options = { "with_eigen": True, "with_spdlog": True, "with_zlib" : True, + "with_quadmath": False } @property @@ -62,15 +64,18 @@ def config_options(self): del self.options.with_zlib else: self.options["hdf5"].with_zlib = self.options.with_zlib + if Version(self.version) < "1.11.1" or self.settings.compiler != "gcc": + # h5pp only supports quadmath with GNU compilers + del self.options.with_quadmath def requirements(self): - self.requires("hdf5/1.14.0", transitive_headers=True, transitive_libs=True) + self.requires("hdf5/1.14.3", transitive_headers=True, transitive_libs=True) if Version(self.version) < "1.10.0" or self.options.get_safe('with_eigen'): self.requires("eigen/3.4.0", transitive_headers=True) if Version(self.version) < "1.10.0" or self.options.get_safe('with_spdlog'): - self.requires("spdlog/1.11.0", transitive_headers=True, transitive_libs=True) + self.requires("spdlog/1.13.0", transitive_headers=True, transitive_libs=True) if Version(self.version) >= "1.10.0" and self.options.with_zlib: - self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) + self.requires("zlib/1.3", transitive_headers=True, transitive_libs=True) def layout(self): basic_layout(self,src_folder="src") @@ -118,20 +123,23 @@ def package_info(self): self.cpp_info.components["h5pp_flags"].bindirs = [] self.cpp_info.components["h5pp_flags"].libdirs = [] - if Version(self.version) >= "1.10.0": - if self.options.with_eigen: + if Version(self.version) < "1.10.0": + self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") + self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") + else: + if self.options.get_safe("with_eigen"): self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_EIGEN3") - if self.options.with_spdlog: + if self.options.get_safe("with_spdlog"): self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_SPDLOG") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_FMT") - if self.options.with_zlib: + if self.options.get_safe("with_zlib"): self.cpp_info.components["h5pp_deps"].requires.append("zlib::zlib") - - else: - self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") - self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") + if self.options.get_safe("with_quadmath"): + self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_FLOAT128") + self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_QUADMATH") + self.cpp_info.system_libs.append('quadmath') if (self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9") or \ (self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") in ["libstdc++", "libstdc++11"]): diff --git a/recipes/h5pp/all/test_package/test_package.cpp b/recipes/h5pp/all/test_package/test_package.cpp index 384a3eda62383..ea55e300f5e70 100644 --- a/recipes/h5pp/all/test_package/test_package.cpp +++ b/recipes/h5pp/all/test_package/test_package.cpp @@ -19,5 +19,12 @@ int main() { // Read dummy data from file auto vectorComplexRead = file.readDataset>("vectorComplex"); + +#if defined(H5PP_USE_FLOAT128) + __float128 f128 = 6.28318530717958623199592693708837032318115234375; + file.writeDataset(f128, "__float128"); + auto f128_read = file.readDataset<__float128>("__float128"); +#endif + return 0; } diff --git a/recipes/h5pp/config.yml b/recipes/h5pp/config.yml index 6a5c9d7731601..6306850e1fb06 100644 --- a/recipes/h5pp/config.yml +++ b/recipes/h5pp/config.yml @@ -15,3 +15,5 @@ versions: folder: "all" "1.11.0.1": folder: "all" + "1.11.1": + folder: "all" From 4dadd3b08835643f14b5fcb186878645443236ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 00:06:18 +0200 Subject: [PATCH 3407/4087] (#22363) libunwind: add v1.8.0 --- recipes/libunwind/all/conandata.yml | 3 +++ recipes/libunwind/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libunwind/all/conandata.yml b/recipes/libunwind/all/conandata.yml index baa8d36f9cd17..642e7bcf9b975 100644 --- a/recipes/libunwind/all/conandata.yml +++ b/recipes/libunwind/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/libunwind/libunwind/releases/download/v1.8.0/libunwind-1.8.0.tar.gz" + sha256: "b6b3df40a0970c8f2865fb39aa2af7b5d6f12ad6c5774e266ccca4d6b8b72268" "1.7.2": url: "https://github.com/libunwind/libunwind/releases/download/v1.7.2/libunwind-1.7.2.tar.gz" sha256: "a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6" diff --git a/recipes/libunwind/config.yml b/recipes/libunwind/config.yml index ce44762c05da1..272599e8759c3 100644 --- a/recipes/libunwind/config.yml +++ b/recipes/libunwind/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.7.2": folder: all "1.7.0": From 2c58fb55eea424406d69b5caf99f1b9b3392619d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 01:24:20 +0200 Subject: [PATCH 3408/4087] (#18862) godot-cpp: migrate to Conan v2 * godot-cpp: migrate to Conan v2 * godot-cpp: mark as static-library --- recipes/godot-cpp/all/conanfile.py | 194 ++++++++++-------- .../godot-cpp/all/test_package/CMakeLists.txt | 11 +- .../godot-cpp/all/test_package/conanfile.py | 22 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ 5 files changed, 159 insertions(+), 94 deletions(-) create mode 100644 recipes/godot-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/godot-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/godot-cpp/all/conanfile.py b/recipes/godot-cpp/all/conanfile.py index 625aabfb6d902..a99c635a67338 100644 --- a/recipes/godot-cpp/all/conanfile.py +++ b/recipes/godot-cpp/all/conanfile.py @@ -1,8 +1,16 @@ -import glob import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class GodotCppConan(ConanFile): @@ -12,20 +20,81 @@ class GodotCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/godotengine/godot-cpp" topics = ("game-engine", "game-development", "c++") + + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" - build_requires = ["scons/3.1.2"] + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires(f"godot_headers/{self.version}", transitive_headers=True) + + def package_id(self): + if self.info.settings.build_type != "Debug": + self.info.settings.build_type = "Release" + + def validate(self): + minimal_cpp_standard = 14 + if self.settings.compiler.cppstd: + check_min_cppstd(self, minimal_cpp_standard) + + minimal_version = { + "gcc": "5", + "clang": "4", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + + compiler = str(self.settings.compiler) + if compiler not in minimal_version: + self.output.warning( + f"{self.name} recipe lacks information about the {compiler} compiler standard version support" + ) + self.output.warning( + f"{self.name} requires a compiler that supports at least C++{minimal_cpp_standard}" + ) + return + + version = Version(self.settings.compiler.version) + if version < minimal_version[compiler]: + if compiler in ["apple-clang", "clang"]: + raise ConanInvalidConfiguration( + f"{self.name} requires a clang version that supports the '-Og' flag" + ) + raise ConanInvalidConfiguration( + f"{self.name} requires a compiler that supports at least C++{minimal_cpp_standard}" + ) + + def build_requirements(self): + self.tool_requires("scons/4.3.0") @property def _bits(self): - return 64 if self.settings.get_safe("arch") in ["x86_64", "armv8"] else 32 + return 32 if self.settings.arch in ["x86"] else 64 + + @property + def _godot_headers(self): + return self.dependencies["godot_headers"].cpp_info @property def _custom_api_file(self): - return "{}/api.json".format(self._godot_headers.res_paths[0]) + return f"{self._godot_headers.resdirs[0]}/api.json" @property def _headers_dir(self): - return self._godot_headers.include_paths[0] + return self._godot_headers.includedirs[0] @property def _platform(self): @@ -34,98 +103,67 @@ def _platform(self): "Linux": "linux", "Macos": "osx", } - return flag_map[self.settings.get_safe("os")] + return flag_map[str(self.settings.os)] @property def _target(self): - return "debug" if self.settings.get_safe("build_type") == "Debug" else "release" + return "debug" if self.settings.build_type == "Debug" else "release" @property def _use_llvm(self): - return self.settings.get_safe("compiler") in ["clang", "apple-clang"] + return self.settings.compiler in ["clang", "apple-clang"] @property def _use_mingw(self): - return self._platform == "windows" and self.settings.compiler == "gcc" + return self.settings.os == "Windows" and self.settings.compiler == "gcc" @property def _libname(self): - return "godot-cpp.{platform}.{target}.{bits}".format(platform=self._platform, target=self._target, bits=self._bits) - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _godot_headers(self): - return self.deps_cpp_info["godot_headers"] + return f"godot-cpp.{self._platform}.{self._target}.{self._bits}" def source(self): - tools.get(**self.conan_data["sources"][self.version]) - tools.rename(glob.glob("godot-cpp-*")[0], self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def requirements(self): - self.requires("godot_headers/{}".format(self.version)) - - def configure(self): - minimal_cpp_standard = "14" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) - - minimal_version = { - "gcc": "5", - "clang": "4", - "apple-clang": "10", - "Visual Studio": "15", - } - - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - "{} recipe lacks information about the {} compiler standard version support".format(self.name, compiler)) - self.output.warn( - "{} requires a compiler that supports at least C++{}".format(self.name, minimal_cpp_standard)) - return - - version = tools.Version(self.settings.compiler.version) - if version < minimal_version[compiler]: - if compiler in ["apple-clang", "clang"]: - raise ConanInvalidConfiguration( - "{} requires a clang version that supports the '-Og' flag".format(self.name)) - raise ConanInvalidConfiguration( - "{} requires a compiler that supports at least C++{}".format(self.name, minimal_cpp_standard)) + def generate(self): + VirtualBuildEnv(self).generate() def build(self): self.run("python --version") - if self.settings.os == "Macos": + if is_apple_os(self): self.run("which python") self.run("scons --version") - self.run( - " ".join([ - "scons", - "-C{}".format(self._source_subfolder), - "-j{}".format(tools.cpu_count()), - "generate_bindings=yes", - "use_custom_api_file=yes", - "bits={}".format(self._bits), - "custom_api_file={}".format(self._custom_api_file), - "headers_dir={}".format(self._headers_dir), - "platform={}".format(self._platform), - "target={}".format(self._target), - "use_llvm={}".format(self._use_llvm), - "use_mingw={}".format(self._use_mingw), - ]) - ) + self.run(" ".join([ + "scons", + f"-C{self.source_folder}", + f"-j{os.cpu_count()}", + "generate_bindings=yes", + "use_custom_api_file=yes", + f"bits={self._bits}", + f"custom_api_file={self._custom_api_file}", + f"headers_dir={self._headers_dir}", + f"platform={self._platform}", + f"target={self._target}", + f"use_llvm={self._use_llvm}", + f"use_mingw={self._use_mingw}", + ])) def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst="include/godot-cpp", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.a", dst="lib", src=os.path.join(self._source_subfolder, "bin")) - self.copy("*.lib", dst="lib", src=os.path.join(self._source_subfolder, "bin")) + copy(self, "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include/godot-cpp"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*.a", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "bin")) + copy(self, "*.lib", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "bin")) def package_info(self): - if self.settings.os == "Windows" and self.settings.compiler == "Visual Studio": - self.cpp_info.libs = ["lib{}".format(self._libname)] + if is_msvc(self): + self.cpp_info.libs = [f"lib{self._libname}"] else: self.cpp_info.libs = [self._libname] @@ -134,9 +172,3 @@ def package_info(self): os.path.join("include", "godot-cpp", "core"), os.path.join("include", "godot-cpp", "gen"), ] - - def package_id(self): - if self._target == "release": - self.info.settings.build_type = "Release" - else: - self.info.settings.build_type = "Debug" diff --git a/recipes/godot-cpp/all/test_package/CMakeLists.txt b/recipes/godot-cpp/all/test_package/CMakeLists.txt index cb623ce6ed58f..49d358aeae0ef 100644 --- a/recipes/godot-cpp/all/test_package/CMakeLists.txt +++ b/recipes/godot-cpp/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION "3.1") +cmake_minimum_required(VERSION 3.15) project("test_package" LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(godot-cpp REQUIRED CONFIG) -add_executable("${PROJECT_NAME}" "test_package.cpp") -target_link_libraries("${PROJECT_NAME}" ${CONAN_LIBS}) -set_property(TARGET "${PROJECT_NAME}" PROPERTY CXX_STANDARD "14") +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} godot-cpp::godot-cpp) +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) diff --git a/recipes/godot-cpp/all/test_package/conanfile.py b/recipes/godot-cpp/all/test_package/conanfile.py index 4dea15a1318e1..ef5d7042163ec 100644 --- a/recipes/godot-cpp/all/test_package/conanfile.py +++ b/recipes/godot-cpp/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt b/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/godot-cpp/all/test_v1_package/conanfile.py b/recipes/godot-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..75634e62bcb66 --- /dev/null +++ b/recipes/godot-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From c2ac2927c3978bba242fb38119ad2f01defa4746 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 02:10:50 +0200 Subject: [PATCH 3409/4087] (#22372) bacnet-stack: add v1.3.2 --- recipes/bacnet-stack/all/conandata.yml | 3 +++ recipes/bacnet-stack/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/bacnet-stack/all/conandata.yml b/recipes/bacnet-stack/all/conandata.yml index d44111989de5e..41d4559c7823d 100644 --- a/recipes/bacnet-stack/all/conandata.yml +++ b/recipes/bacnet-stack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/bacnet-stack/bacnet-stack/archive/refs/tags/bacnet-stack-1.3.2.tar.gz" + sha256: "e38cee9a96485692d5306bcd893ad02244efbecead12be8d2b2e3f3fc50328cb" "1.0.0": url: "https://github.com/bacnet-stack/bacnet-stack/archive/refs/tags/bacnet-stack-1.0.0.tar.gz" sha256: "8dad24decb3870bc8147a1ea5eecd5c6f8c1205ec48d5ae4d454085427122658" diff --git a/recipes/bacnet-stack/config.yml b/recipes/bacnet-stack/config.yml index c7f13630776fb..13d48541c0abc 100644 --- a/recipes/bacnet-stack/config.yml +++ b/recipes/bacnet-stack/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.2": + folder: "all" "1.0.0": folder: "all" From 94d118e207f2e9d9874a9a270238f14360087d44 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 Jan 2024 00:32:10 +0000 Subject: [PATCH 3410/4087] (#22374) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 13d3b1783e5d0..fdbc9c12931b7 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -20,6 +20,7 @@ required_for_references: - alpaca - amgcl - amqp-cpp +- andreasbuhr-cppcoro - android-ndk - angelscript - antlr4-cppruntime @@ -630,6 +631,7 @@ required_for_references: - libelfin - libenvpp - libepoxy +- libest - libev - libevdev - libevent @@ -755,6 +757,7 @@ required_for_references: - libuvc - libva - libvault +- libvdpau - libverto - libvips - libvpx @@ -874,6 +877,7 @@ required_for_references: - mp-units - mpark-variant - mpc +- mpdecimal - mpfr - mpg123 - mpmcqueue @@ -1465,6 +1469,7 @@ required_for_references: - zopfli - zpp_bits - zpp_throwing +- zserio - zstd - zstr - zug From 074585f9ffaae346013e7993d5caec7ecba5d69c Mon Sep 17 00:00:00 2001 From: Artem Panfilov Date: Tue, 16 Jan 2024 03:00:26 +0200 Subject: [PATCH 3411/4087] (#22352) xmlsec: update libxslt/1.1.39 --- recipes/xmlsec/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index acc967598ba2e..6e4e83fb62094 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: - self.requires("libxslt/1.1.37") + self.requires("libxslt/1.1.39") def validate(self): if self.options.with_nss: From 87533cd5c9a164d9ec08a7dd3eadb88e269c71b7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 10:43:48 +0200 Subject: [PATCH 3412/4087] (#22371) oboe: add v1.8.0, allow Conan to set cppstd --- recipes/oboe/all/conandata.yml | 7 +++++ recipes/oboe/all/conanfile.py | 11 +++++-- .../all/patches/1.7.0-0001-fix-cmake.patch | 2 +- .../all/patches/1.8.0-0001-fix-cmake.patch | 30 +++++++++++++++++++ recipes/oboe/config.yml | 2 ++ 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch diff --git a/recipes/oboe/all/conandata.yml b/recipes/oboe/all/conandata.yml index 93bb5ba9ec089..c83ffd5703892 100644 --- a/recipes/oboe/all/conandata.yml +++ b/recipes/oboe/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.8.0": + url: "https://github.com/google/oboe/archive/refs/tags/1.8.0.tar.gz" + sha256: "1ab24ff129af6396b8a5741c12b44b922814337d1b40958ac7ada8e270eb4880" "1.7.0": url: "https://github.com/google/oboe/archive/refs/tags/1.7.0.tar.gz" sha256: "b01896f9180f725a38806cfef73a29b36b2ea37f91389ed4e69d664ce83b79b6" patches: + "1.8.0": + - patch_file: "patches/1.8.0-0001-fix-cmake.patch" + patch_description: "Fix CMakeLists" + patch_type: "conan" "1.7.0": - patch_file: "patches/1.7.0-0001-fix-cmake.patch" patch_description: "Fix CMakeLists" diff --git a/recipes/oboe/all/conanfile.py b/recipes/oboe/all/conanfile.py index ee8b970e7d9a3..a662f73c76364 100644 --- a/recipes/oboe/all/conanfile.py +++ b/recipes/oboe/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get import os @@ -26,6 +26,10 @@ class OboeConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 17 + def export_sources(self): export_conandata_patches(self) @@ -40,13 +44,16 @@ def validate(self): if self.settings.os != "Android": raise ConanInvalidConfiguration("oboe supports Android only") if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() def build(self): diff --git a/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch b/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch index 452cd94a1c2bb..1059375d2b0c8 100644 --- a/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch +++ b/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch @@ -12,7 +12,7 @@ -Ofast - "$<$:-Werror>") +) -+target_compile_features(oboe PUBLIC cxx_std_17) ++ # Enable logging of D,V for debug builds target_compile_definitions(oboe PUBLIC $<$:OBOE_ENABLE_LOGGING=1>) diff --git a/recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch b/recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..46b4a6a56b9f9 --- /dev/null +++ b/recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch @@ -0,0 +1,30 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,14 +81,14 @@ + # Enable -Ofast + target_compile_options(oboe + PRIVATE +- -std=c++17 + -Wall + -Wextra-semi + -Wshadow + -Wshadow-field + "$<$:-Ofast>" + "$<$:-O3>" +- "$<$:-Werror>") ++) ++ + + # Enable logging of D,V for debug builds + target_compile_definitions(oboe PUBLIC $<$:OBOE_ENABLE_LOGGING=1>) +@@ -97,8 +97,8 @@ + + # When installing oboe put the libraries in the lib/ folder e.g. lib/arm64-v8a + install(TARGETS oboe +- LIBRARY DESTINATION lib/${ANDROID_ABI} +- ARCHIVE DESTINATION lib/${ANDROID_ABI}) ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + + # Also install the headers + install(DIRECTORY include/oboe DESTINATION include) diff --git a/recipes/oboe/config.yml b/recipes/oboe/config.yml index 0f57b11de8fb0..651b6092ebbf2 100644 --- a/recipes/oboe/config.yml +++ b/recipes/oboe/config.yml @@ -1,3 +1,5 @@ versions: + "1.8.0": + folder: all "1.7.0": folder: all From f1afb56481a3014774adc4011211ce75599ac7d2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 11:00:38 +0200 Subject: [PATCH 3413/4087] (#22366) libsafec: add v3.7.1 --- recipes/libsafec/all/conandata.yml | 3 +++ recipes/libsafec/all/conanfile.py | 12 ++++++++---- recipes/libsafec/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/libsafec/all/conandata.yml b/recipes/libsafec/all/conandata.yml index 469b7183d9644..35e3bff5ed08e 100644 --- a/recipes/libsafec/all/conandata.yml +++ b/recipes/libsafec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.1": + url: "https://github.com/rurban/safeclib/archive/v3.7.1.tar.gz" + sha256: "baac28b60f8f46ae0f273155f4968b20e84380016629247ed2a4d7e3fbeb4d98" "3.6.0": url: "https://github.com/rurban/safeclib/archive/v3.6.tar.gz" sha256: "bd99d4555030719a83807649b3749bc483143b3548278daaa0a4af0fed5dc4de" diff --git a/recipes/libsafec/all/conanfile.py b/recipes/libsafec/all/conanfile.py index 7086816ccca53..5d916353ec3b4 100644 --- a/recipes/libsafec/all/conanfile.py +++ b/recipes/libsafec/all/conanfile.py @@ -15,7 +15,7 @@ class LibSafeCConan(ConanFile): name = "libsafec" - description = ("This library implements the secure C11 Annex K[^5] functions" + description = ("This library implements the secure C11 Annex K functions" " on top of most libc implementations, which are missing from them.") license = "MIT" url = "https://github.com/conan-io/conan-center-index" @@ -118,10 +118,14 @@ def package(self): fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.includedirs.append(os.path.join("include", "libsafec")) - self.cpp_info.libs = [f"safec-{self.version}"] self.cpp_info.set_property("pkg_config_name", "libsafec") + if Version(self.version) >= "3.7.0": + self.cpp_info.includedirs.append(os.path.join("include", "safeclib")) + self.cpp_info.libs = ["safec"] + else: + self.cpp_info.includedirs.append(os.path.join("include", "libsafec")) + self.cpp_info.libs = [f"safec-{self.version}"] + bin_dir = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_dir}") self.env_info.PATH.append(bin_dir) diff --git a/recipes/libsafec/config.yml b/recipes/libsafec/config.yml index 31ef12415e244..a68f215fba33a 100644 --- a/recipes/libsafec/config.yml +++ b/recipes/libsafec/config.yml @@ -1,3 +1,5 @@ versions: + "3.7.1": + folder: all "3.6.0": folder: all From 9c3145a15460f95e41d19f453542e23a6dfacd94 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 11:10:57 +0200 Subject: [PATCH 3414/4087] (#22311) mathter: add v1.0.1 * mathter: add v1.0.1 * mathter: update include dir in project * mathter: update license file --- recipes/mathter/all/conandata.yml | 3 +++ recipes/mathter/all/conanfile.py | 27 +++++++++++---------------- recipes/mathter/config.yml | 2 ++ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/recipes/mathter/all/conandata.yml b/recipes/mathter/all/conandata.yml index dc5d0897e2e04..d93f0abf24463 100644 --- a/recipes/mathter/all/conandata.yml +++ b/recipes/mathter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/petiaccja/Mathter/archive/v1.0.1.tar.gz" + sha256: "ab90736abfa8774103b53fe2b8962981c5f117dc582b01698c18d66cd2398b8c" "1.0.0": url: "https://github.com/petiaccja/Mathter/archive/v1.0.0.tar.gz" sha256: "c75cca8d8aec627935250908f2c0f9f1839561e7596a4199bcf80e12b0e6c53b" diff --git a/recipes/mathter/all/conanfile.py b/recipes/mathter/all/conanfile.py index 3c07c54ec5fb2..b25becfd19c5b 100644 --- a/recipes/mathter/all/conanfile.py +++ b/recipes/mathter/all/conanfile.py @@ -46,27 +46,22 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " - f"which your compiler does not support.") - else: - self.output.warning(f"{self.name} requires C++{self._min_cppstd}. " - f"Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " + "which your compiler does not support.") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy(self, "*.hpp", - dst=os.path.join(self.package_folder, "include", "Mathter"), - src=os.path.join(self.source_folder, "Mathter")) - copy(self, "*.natvis", - dst=os.path.join(self.package_folder, "include", "Mathter"), - src=os.path.join(self.source_folder, "Mathter")) - copy(self, "LICENCE", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder) + if self.version == "1.0.0": + copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) + include_dir = os.path.join(self.source_folder, "Mathter") + else: + copy(self, "LICENCE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) + include_dir = os.path.join(self.source_folder, "include", "Mathter") + copy(self, "*.hpp", include_dir, os.path.join(self.package_folder, "include", "Mathter")) + copy(self, "*.natvis", include_dir, os.path.join(self.package_folder, "include", "Mathter")) def package_info(self): self.cpp_info.bindirs = [] diff --git a/recipes/mathter/config.yml b/recipes/mathter/config.yml index 40341aa3db6cd..af3bb0714e65c 100644 --- a/recipes/mathter/config.yml +++ b/recipes/mathter/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.1": + folder: all "1.0.0": folder: all From a32a32391f6a0983fa9a7a316c93cea07d51adaa Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Tue, 16 Jan 2024 10:25:34 +0100 Subject: [PATCH 3415/4087] (#22345) frugally-deep: add version 0.15.30 * frugally-deep: add version 0.15.30 * Change nlohmann_json version back up to 3.11.2 * Change nlohmann_json version to the latest 3.11.3 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/all/conanfile.py | 4 ++-- recipes/frugally-deep/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index 2fda8019e9353..a70e10ac28b17 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.30": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.30.tar.gz" + sha256: "8932f7b42612598402269a54f957af09084dc2cb812d32887d991d6e45b280fb" "0.15.29": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.29.tar.gz" sha256: "032cd525d4a7b9b3ebe28fd5e3984ac3e569da496f65d52c81030aabd9d0c52e" diff --git a/recipes/frugally-deep/all/conanfile.py b/recipes/frugally-deep/all/conanfile.py index 45f4704b4ab53..dcd9f307a4d73 100644 --- a/recipes/frugally-deep/all/conanfile.py +++ b/recipes/frugally-deep/all/conanfile.py @@ -39,8 +39,8 @@ def layout(self): def requirements(self): self.requires("eigen/3.4.0") - self.requires("functionalplus/0.2.20-p0") - self.requires("nlohmann_json/3.11.2") + self.requires("functionalplus/0.2.22") + self.requires("nlohmann_json/3.11.3") def package_id(self): self.info.clear() diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index 071eb4ceec642..bc035ffff5654 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.30": + folder: all "0.15.29": folder: all "0.15.25-p0": From 0568aedbebcdd5a1ae10252ba89d722370a70144 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 Jan 2024 09:27:42 +0000 Subject: [PATCH 3416/4087] (#22348) [bot] Update authorized users list (2024-01-15) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Update .c3i/authorized_users.yml * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index fc765593075be..728bf5a4863bf 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1266,3 +1266,7 @@ authorized_users: - wu-vincent - Inujel - keszegrobert +- Mike-Solar +- tomasz-wezyk +- RaguzovaTatyana +- st9007a From 0012f1e4aebfd9246fd3f3ffee95ea379cd2b210 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 11:40:51 +0200 Subject: [PATCH 3417/4087] (#22351) gperftools: set pkg_config_name for components --- recipes/gperftools/all/conanfile.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/gperftools/all/conanfile.py b/recipes/gperftools/all/conanfile.py index d1bcecf43d394..74afc04ddfcc6 100644 --- a/recipes/gperftools/all/conanfile.py +++ b/recipes/gperftools/all/conanfile.py @@ -184,12 +184,7 @@ def build(self): autotools.make() def package(self): - copy( - self, - pattern="COPYING", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder, - ) + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) autotools = Autotools(self) autotools.install() @@ -200,6 +195,7 @@ def package(self): def _add_component(self, lib): self.cpp_info.components[lib].libs = [lib] + self.cpp_info.components[lib].set_property("pkg_config_name", f"lib{lib}") def package_info(self): self._add_component("tcmalloc_minimal") @@ -217,6 +213,8 @@ def package_info(self): for component in self.cpp_info.components.values(): if self.settings.os in ["Linux", "FreeBSD"]: component.system_libs.extend(["pthread", "m"]) + component.cflags.append("-pthread") + component.cxxflags.append("-pthread") if self.options.get_safe("enable_libunwind"): component.requires.append("libunwind::libunwind") From 6489f73ba74ff138472e3672c4869975e18ad095 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 16 Jan 2024 10:51:26 +0100 Subject: [PATCH 3418/4087] (#22255) Bump/cgal/all * cgal/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cgal/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cgal/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * add missing requirement it used to be transitively provided by mpfr, but it needs to be explicit --- recipes/cgal/all/conanfile.py | 10 +++++----- recipes/cgal/all/patches/0001-fix-for-conan.patch | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/cgal/all/conanfile.py b/recipes/cgal/all/conanfile.py index 2d4d74dba1bec..73115e60a2ec6 100644 --- a/recipes/cgal/all/conanfile.py +++ b/recipes/cgal/all/conanfile.py @@ -2,7 +2,7 @@ import textwrap from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import get, replace_in_file, rmdir, rm, copy, save, export_conandata_patches, patch +from conan.tools.files import get, replace_in_file, rmdir, rm, copy, save, export_conandata_patches, apply_conandata_patches from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration @@ -43,9 +43,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") self.requires("eigen/3.4.0") - self.requires("mpfr/4.1.0") + self.requires("mpfr/4.2.1") + self.requires("gmp/6.3.0") def package_id(self): self.info.clear() @@ -62,8 +63,7 @@ def validate(self): def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "if(NOT PROJECT_NAME)", "if(1)", strict=False) - for it in self.conan_data.get("patches", {}).get(self.version, []): - patch(self, **it, strip=2) + apply_conandata_patches(self) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/cgal/all/patches/0001-fix-for-conan.patch b/recipes/cgal/all/patches/0001-fix-for-conan.patch index 9f5f7328fbcd1..36b4eaceca05a 100644 --- a/recipes/cgal/all/patches/0001-fix-for-conan.patch +++ b/recipes/cgal/all/patches/0001-fix-for-conan.patch @@ -1,7 +1,7 @@ -diff --git a/Installation/cmake/modules/CGAL_Eigen3_support.cmake b/Installation/cmake/modules/CGAL_Eigen3_support.cmake +diff --git a/cmake/modules/CGAL_Eigen3_support.cmake b/cmake/modules/CGAL_Eigen3_support.cmake index cc0df0fad10..bfcf56c7c2f 100644 ---- a/Installation/cmake/modules/CGAL_Eigen3_support.cmake -+++ b/Installation/cmake/modules/CGAL_Eigen3_support.cmake +--- a/cmake/modules/CGAL_Eigen3_support.cmake ++++ b/cmake/modules/CGAL_Eigen3_support.cmake @@ -1,9 +1,14 @@ -if(EIGEN3_FOUND AND NOT TARGET CGAL::Eigen3_support) +if((EIGEN3_FOUND OR Eigen3_FOUND) AND NOT TARGET CGAL::Eigen3_support) From b9b2e1b010a22078de101af38cf0f0781437b271 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jan 2024 19:37:00 +0900 Subject: [PATCH 3419/4087] (#21771) libcoro: add version 0.10, update c-ares * libcoro: add version 0.10, update c-ares * use official patch for git config Signed-off-by: Uilian Ries * Update recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libcoro/all/conandata.yml | 11 +++++++ recipes/libcoro/all/conanfile.py | 4 +-- .../patches/0.10-0001-allow-shared-lib.patch | 13 ++++++++ .../0.10-0002-disable-git-config.patch | 32 +++++++++++++++++++ recipes/libcoro/config.yml | 2 ++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch create mode 100644 recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 08d79c6bc3667..2ae02b6941d0a 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.10.tar.gz" + sha256: "0e952e72012925b75910f80772f3642dac631644578dbbc0db4fee047badc745" "0.9": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.9.tar.gz" sha256: "680479582023f019bfa58b17bbcd30aa2ef1a8ba2c09d4ea9b296dbc77e93f1f" @@ -9,6 +12,14 @@ sources: url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.7.tar.gz" sha256: "ce1f3f1c4fa21b53d1cd195a29bd5a2313e53aa35637b402db04207d02316e51" patches: + "0.10": + - patch_file: "patches/0.10-0001-allow-shared-lib.patch" + patch_type: "conan" + patch_description: "Allow to build the library as a shared library" + - patch_file: "patches/0.10-0002-disable-git-config.patch" + patch_type: "official" + patch_description: "Comment out invocation of git config command" + patch_source: "https://github.com/jbaldwin/libcoro/pull/234" "0.9": - patch_file: "patches/0.9-0001-allow-shared-lib.patch" patch_type: "conan" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index 1117b3d012d2a..53cdfa2743c0f 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): def requirements(self): if "with_ssl" not in self.options or self.options.with_ssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) - self.requires("c-ares/1.19.1", transitive_headers=True) + self.requires("c-ares/1.22.1", transitive_headers=True) self.requires("tl-expected/1.1.0", transitive_headers=True) def validate(self): @@ -74,7 +74,7 @@ def validate(self): if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") if self.settings.compiler != "gcc": - raise ConanInvalidConfiguration("gcc is the only compiler supported by libcoro.") + raise ConanInvalidConfiguration(f"The Conan recipe {self.ref} only supports GCC for now. Contributions are welcome!") minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: diff --git a/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch new file mode 100644 index 0000000000000..8eb0ed04c1cfc --- /dev/null +++ b/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b749c11..7398569 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -123,7 +123,7 @@ if(DEFINED EMSCRIPTEN) + add_link_options(-sEXIT_RUNTIME) + endif() + +-add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) ++add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) + set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) + target_include_directories(${PROJECT_NAME} PUBLIC include) diff --git a/recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch b/recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch new file mode 100644 index 0000000000000..c6f4b03da3194 --- /dev/null +++ b/recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b749c11..ce78a2d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,17 +12,20 @@ if (NOT "$ENV{version}" STREQUAL "") + set(PROJECT_VERSION "$ENV{version}" CACHE INTERNAL "Copied from environment variable") + endif() + +-# Set the githooks directory to auto format and update the readme. +-message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") +-execute_process( +- COMMAND git config --local core.hooksPath .githooks +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +-) +- + option(LIBCORO_EXTERNAL_DEPENDENCIES "Use Cmake find_package to resolve dependencies instead of embedded libraries, Default=OFF." OFF) + option(LIBCORO_BUILD_TESTS "Build the tests, Default=ON." ON) + option(LIBCORO_CODE_COVERAGE "Enable code coverage, tests must also be enabled, Default=OFF" OFF) + option(LIBCORO_BUILD_EXAMPLES "Build the examples, Default=ON." ON) ++option(LIBCORO_RUN_GITCONFIG "Set the githooks directory to auto format and update the readme, Default=ON." OFF) ++ ++# Set the githooks directory to auto format and update the readme. ++if (LIBCORO_RUN_GITCONFIG) ++ message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") ++ execute_process( ++ COMMAND git config --local core.hooksPath .githooks ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ ) ++endif() + + cmake_dependent_option(LIBCORO_FEATURE_PLATFORM "Include linux platform features, Default=ON." ON "NOT EMSCRIPTEN; NOT MSVC" OFF) + cmake_dependent_option(LIBCORO_FEATURE_NETWORKING "Include networking features, Default=ON." ON "NOT EMSCRIPTEN; NOT MSVC" OFF) diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index 77538762e21e7..5808152f9189f 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.10": + folder: all "0.9": folder: all "0.8": From ae9569cb354a9f269043275dd2779668024ec193 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Tue, 16 Jan 2024 21:24:51 +1030 Subject: [PATCH 3420/4087] (#22174) [armadillo] Use lapack provided by openblas by default * Openblas now builds lapack by default for versions >= 0.3.25 as of https://github.com/conan-io/conan-center-index/pull/20894. Change the armadillo default to use openblas as lapack provider to make armadillo useful for default build configurations. * Bump openblas and hdf5 dependencies --- recipes/armadillo/all/conanfile.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/recipes/armadillo/all/conanfile.py b/recipes/armadillo/all/conanfile.py index 88da815dbce2a..d37ca846e702e 100644 --- a/recipes/armadillo/all/conanfile.py +++ b/recipes/armadillo/all/conanfile.py @@ -58,7 +58,7 @@ class ArmadilloConan(ConanFile): "shared": False, "fPIC": True, "use_blas": "openblas", - "use_lapack": False, + "use_lapack": "openblas", "use_hdf5": True, "use_superlu": False, "use_extern_rng": False, @@ -102,11 +102,6 @@ def configure(self): self.options.rm_safe("fPIC") if self.options.use_blas == "openblas": - # Note that if you're relying on this to build LAPACK, you _must_ have - # a fortran compiler installed. If you don't, OpenBLAS will build successfully but - # without LAPACK support, which isn't obvious. - # This can be achieved by setting the FC environment variable or the conf tools.build:compiler_executables={"fortran": "/path/to/fortran"} - # in your conan profile. self.options["openblas"].build_lapack = ( self.options.use_lapack == "openblas" ) @@ -190,11 +185,11 @@ def requirements(self): if self.options.use_hdf5 and Version(self.version) < "12": # Use the conan dependency if the system lib isn't being used # Libraries not required to be propagated transitively when the armadillo run-time wrapper is used - self.requires("hdf5/1.14.1", transitive_headers=True, transitive_libs=not self.options.use_wrapper) + self.requires("hdf5/1.14.3", transitive_headers=True, transitive_libs=not self.options.use_wrapper) if self.options.use_blas == "openblas": # Libraries not required to be propagated transitively when the armadillo run-time wrapper is used - self.requires("openblas/0.3.20", transitive_libs=not self.options.use_wrapper) + self.requires("openblas/0.3.25", transitive_libs=not self.options.use_wrapper) if ( self.options.use_blas == "intel_mkl" and self.options.use_lapack == "intel_mkl" From 4fa5a2b61187ee5490da3ec3fe9e7f7a246ad3aa Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 16 Jan 2024 13:06:20 +0200 Subject: [PATCH 3421/4087] (#22272) cryptopp: add patch for CVE-2023-50980 --- recipes/cryptopp/all/conandata.yml | 5 ++ .../patches/8.9.0-0001-cve-2023-50980.patch | 78 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 6ca47dae24406..14741e08f860f 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -49,6 +49,11 @@ sources: url: "https://github.com/noloader/cryptopp-cmake/archive/CRYPTOPP_8_2_0.tar.gz" sha256: "f41f6a32b1177c094c3ef97423916713c902d0ac26cbee30ec70b1e8ab0e6fba" patches: + "8.9.0": + - patch_file: "patches/8.9.0-0001-cve-2023-50980.patch" + patch_description: "Validate PolynomialMod2 coefficients (CVE-2023-50980)" + patch_type: "vulnerability" + patch_source: "https://github.com/weidai11/cryptopp/issues/1248" "8.7.0": - patch_file: "patches/8.7.0-0001-fix-msvc-arm64.patch" "8.6.0": diff --git a/recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch b/recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch new file mode 100644 index 0000000000000..6406e30851781 --- /dev/null +++ b/recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch @@ -0,0 +1,78 @@ +https://github.com/weidai11/cryptopp/issues/1248 +https://github.com/weidai11/cryptopp/commit/eb383b8e1622 +https://github.com/weidai11/cryptopp/commit/641ae35258de +https://github.com/weidai11/cryptopp/commit/93208e83937a +--- a/gf2n.cpp ++++ b/gf2n.cpp +@@ -135,6 +135,14 @@ PolynomialMod2 PolynomialMod2::Monomial(size_t i) + + PolynomialMod2 PolynomialMod2::Trinomial(size_t t0, size_t t1, size_t t2) + { ++ // Asserts and checks due to Bing Shi ++ CRYPTOPP_ASSERT(t0 > t1); ++ CRYPTOPP_ASSERT(t1 > t2); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (t1 > t0 || t2 > t0) ++ throw InvalidArgument("PolynomialMod2: exponents must be in descending order"); ++ + PolynomialMod2 r((word)0, t0+1); + r.SetBit(t0); + r.SetBit(t1); +@@ -144,6 +152,16 @@ PolynomialMod2 PolynomialMod2::Trinomial(size_t t0, size_t t1, size_t t2) + + PolynomialMod2 PolynomialMod2::Pentanomial(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4) + { ++ // Asserts and checks due to Bing Shi ++ CRYPTOPP_ASSERT(t0 > t1); ++ CRYPTOPP_ASSERT(t1 > t2); ++ CRYPTOPP_ASSERT(t2 > t3); ++ CRYPTOPP_ASSERT(t3 > t4); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (t1 > t0 || t2 > t0 || t3 > t0 || t4 > t0) ++ throw InvalidArgument("PolynomialMod2: exponents must be in descending order"); ++ + PolynomialMod2 r((word)0, t0+1); + r.SetBit(t0); + r.SetBit(t1); +@@ -655,7 +673,12 @@ GF2NT::GF2NT(unsigned int c0, unsigned int c1, unsigned int c2) + , t0(c0), t1(c1) + , result((word)0, m) + { ++ // Asserts and checks due to Bing Shi + CRYPTOPP_ASSERT(c0 > c1 && c1 > c2 && c2==0); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (c1 > c0 || c2 > c0) ++ throw InvalidArgument("GF2NT: exponents must be in descending order"); + } + + const GF2NT::Element& GF2NT::MultiplicativeInverse(const Element &a) const +@@ -964,7 +987,12 @@ GF2NP * BERDecodeGF2NP(BufferedTransformation &bt) + GF2NT233::GF2NT233(unsigned int c0, unsigned int c1, unsigned int c2) + : GF2NT(c0, c1, c2) + { ++ // Asserts and checks due to Bing Shi + CRYPTOPP_ASSERT(c0 > c1 && c1 > c2 && c2==0); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (c1 > c0 || c2 > c0) ++ throw InvalidArgument("GF2NT233: exponents must be in descending order"); + } + + const GF2NT::Element& GF2NT233::Multiply(const Element &a, const Element &b) const +--- a/gf2n.h ++++ b/gf2n.h +@@ -69,9 +69,11 @@ public: + static PolynomialMod2 CRYPTOPP_API Monomial(size_t i); + /// \brief Provides x^t0 + x^t1 + x^t2 + /// \return x^t0 + x^t1 + x^t2 ++ /// \pre The coefficients should be provided in descending order. That is,
t0 > t1 > t2
.
+ 		static PolynomialMod2 CRYPTOPP_API Trinomial(size_t t0, size_t t1, size_t t2);
+ 		/// \brief Provides x^t0 + x^t1 + x^t2 + x^t3 + x^t4
+ 		/// \return x^t0 + x^t1 + x^t2 + x^t3 + x^t4
++		/// \pre The coefficients should be provided in descending order. That is, 
t0 > t1 > t2 > t3 > t4
.
+ 		static PolynomialMod2 CRYPTOPP_API Pentanomial(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4);
+ 		/// \brief Provides x^(n-1) + ... + x + 1
+ 		/// \return x^(n-1) + ... + x + 1

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

* libvips: add v8.15.0

* libvips: bump to v8.15.1

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

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

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

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

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

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

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

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

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

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

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

* [sail] Fix lint

* [sail] Update to the latest master

* [sail] Remove rc2 artifacts

* [sail] Remove patches

* [sail] Fix webp in upstream

* [sail] Disable SVG and JPEGXL

* [sail] Allow disabling forced codecs with SAIL_DISABLE_CODECS

* [sail] Use BUILD_TESTING

* [sail] Update URL

* [sail] Update URL

* [sail] Update release hash

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

* [sail] Use libavif 1.0.1

* [sail] Use libavif 1.0.2

* Deprecate codes

Signed-off-by: Uilian Ries 

* Add options description

Signed-off-by: Uilian Ries 

* Use options.get_safe

* Update description for codecs lists

* [sail] Update to 0.9.1

* [sail] Added 0.9.1 to config.yml

* (#22292) glaze: add version 2.0.6

* [sail] Delete with_openmp in package_id()

* [sail] Remove deprecated options

* [sail] Fix high-priority option name

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

* [sail] Set SAIL_ENABLE_OPENMP in >= 0.9.1 only

* [sail] Fix openmp option name

* [sail] Rename openmp option name

* [sail] Bump versions

* [sail] Use tool_requires with nanosvg

* [sail] Require nanosvg only with >= 0.9.1

* [sail] Disable SVG in 0.9.0

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

* [sail] Hardcode OpenMP flags

* [sail] Use get_safe('openmp')

* [sail] Disable OpenMP again because of linking errors

* [sail] Uset tool_requires for nanosvg

* [sail] Use headers=True

* [sail] Add nanosvg to components requires

* Update conanfile.py

---------

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

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

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

* tmxlite: add v1.4.4

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

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

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

* Add version 2.3.1 of opencolorio

* Add missing entry in config.yml

* Fix CI issues

---------

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

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

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

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

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

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

* osmanip: fix 4.4.0 url

* osmanip: bump arsenalgear

* fix 4.4.0 sources

* remove dep on arsenalgear

* don't build examples

* simplify test recipe

* remove boost dep

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

* disable msvc

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

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

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

* gettext:bump deps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* pulseaudio/all: bump deps

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

* pulseaudio/all: bump deps

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

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

* log4cplus: limit v1 to C++14

Due to std::auto_ptr use.

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

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

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

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

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

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

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

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

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

* glbinding: add v3.3.0

* glbinding: do not install() irrelevant files

* glbinding: fix Windows installation

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

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

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

* logr: bump deps

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

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

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

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

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

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

* libepoxy/all: bump deps

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

* libepoxy/all: bump deps

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

* libepoxy/all: bump deps

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

* libepoxy/all: bump deps

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

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

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

* libxft/all: bump deps

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

* libxft/all: bump deps

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

* libxft/all: bump deps

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

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

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

* glfw/all: bump deps

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

* glfw/all: bump deps

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

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

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

* at-spi2-core/new: bump deps

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

* at-spi2-core/new: bump deps

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

* at-spi2-core/new: bump deps

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

* at-spi2-core/new: bump deps

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

* at-spi2-core/new: bump deps

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

* at-spi2-core/new: bump deps

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

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

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

* pdcurses/all: bump deps

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

* pdcurses/all: bump deps

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

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

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

* fltk/all: bump deps

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

* fltk/all: bump deps

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

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

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

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

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

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

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

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

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

* Fix long path on windows

* Add new line at end of file

* Apply suggestions from code review: add patch_source

Co-authored-by: ericLemanissier 

* Update recipe to trigger CI

* Fix compilation with cmake 3.28

* Revert "Update recipe to trigger CI"

This reverts commit 6afe0e7b95bbeface1fc8456eb57db5a791b35d6.

* Update recipe to trigger CI

* Fix patch file

* Update to trigger CI

---------

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

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

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

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

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

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

* gf-complete: migrate to Conan v2

* gf-complete: restore VirtualRunEnv in test_package

* gf-complete: apply MSVC fix from #12784

* gf-complete: add support for shared MSVC build

* gf-complete: add -FS for MSVC

* gf-complete: apply topological sort to aggregated cpp_info

* gf-complete: add -FS, better

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

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

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

* Remove code to calculate the target

* Recovered target code. Added os_name for iOS

* Added another invalid config check

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

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

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

* gamenetworkingsockets: migrate to Conan v2

* gamenetworkingsockets: add iphlpapi dep

* gamenetworkingsockets: add VirtualBuildEnv

* Update recipes/gamenetworkingsockets/all/conanfile.py

---------

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

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

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

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

* Remove 2.5.0

* Bump nlohmann::json version

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

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

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

* mingw-w64: migrate to Conan v2

* mingw-w64: relax settings_target checks

* mingw-w64: bump GCC minor version

* mingw-w64: fix license copying

* mingw-w64: update version in options

* mingw-w64: fix test_v1_package

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

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

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

* cyrus-sasl: add Windows support

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

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

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

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

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

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

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

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

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

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

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

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

* c-ares: add version 1.23.0

* link pthread

* update ot 1.24.0, remove older versions

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

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

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

* bump dependencies and use  in build requirements

* no self.info in validate()

* fix logic regarding flex/bison & winflexbison

check must be done against build machine, not host machine

* relocatable shared libs on macOS

* fix min conan v2 version

* bump meson & winflexbison

* bump deps

* add pkgconf to build requirements of test package

* pkgconf not needed in test v1 package

---------

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

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

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

* Add LASlib package

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

* Updated include in test_package.cpp

* Remove unnecessary part of patch

* Added minimum compiler version property to recipe

* Added missing validate function to handle compilers compatibility

* Add imports function to conanfile.py of test_package

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

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

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

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

* recastnavigation: add v1.6.0, simplify patching

* recastnavigation: restore patches for DLL install on Windows

* recastnavigation: remove pkgconfig and cmake dirs from package

* recastnavigation: add missing -d suffix for Debug builds

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

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

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

* Addition of option securitylevel to define OPENSSL_TLS_SECURITY_LEVEL

* Fixing code style

* Enforcing value checking based on numeric range

* Adoption of suggested improvement

* Renaming option to suggested name

* Removal of obsolete condition

---------

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

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

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

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

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

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

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

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

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

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

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

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

* arsenalgear: add version 2.1.1

* disable cppcheck on debug build

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

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

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

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

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

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

* libversion: new recipe

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

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

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

* Update CI Conan 1.x configurations

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* libe57format: add v3.1.1, drop old version

* libe57format: upgrade cmake

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

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

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

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

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

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

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

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

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

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

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

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

* daw_utf_range: update daw_header_libraries

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Fixing bad behavior for arch64 and iOS

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

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

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

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

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

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

* libsystemd: correct required_conan_version, add v255.2

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

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

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

* qt5: fix qt3D without qtgamepad

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* libxmlpp: add version 5.2.0

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

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

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

* gperftools: fix missing libcxx dependency

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

Co-authored-by: ericLemanissier 

---------

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

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

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

* nasm: add v2.16.01

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

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

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

* md4c: add version 0.5.0

* update 0.5.1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* sassc: migrate to Conan v2

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

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

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

* srt: migrate to Conan v2

* srt: add version 1.5.3

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

* srt: simplify _has_posix_threads

* srt: fix pthreads4w patching

* srt: fix test_v1_package

* srt: drop old versions

---------

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

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

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

* use  in build requirements

* use version range for zlib

* fix min conan version

* add protobuf to requirements & build requirements of test package

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

* typo

* restore some trick for 1 profile in test package

* limit the diff with previous revision

* cleanup package_info()

* improve definition of executable imported targets for conan v2

* remove protobuf tool_requires in test package

* small change

* fix syntax in grpc_plugin_template.cmake.in

* fix build requirements of test package

* typo

---------

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

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

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

* pistache: add version cci.20240107 with several improvements

* fix typo

* require date not in cci.20201127

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* serd: add version 0.32.0

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

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

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* opencv/4.x: bump deps

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

* Update conanfile.py

* Update conanfile.py

* revert gdal

* downgrade qt to 5

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

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

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

* (#20182) glib version updated to 2.77.0

* (#20182) Add 1.22.6 version

* Useless blank space

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* boost: add version 1.84.0

* add C++11 requiring libraries

* add iconv to locale

* remove cobalt on older compilers

* fix condition for default std version

* (trial) disable shared build for fiber

* add fixme comment

* skip fiber on 1.84.0

Signed-off-by: Uilian Ries 

* disable fiber for boost-1.84 on Windows

Signed-off-by: Uilian Ries 

---------

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

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

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

* add libsystemd dependency to grpc

* add libsystemd dependency only if os is Linux/FreeBSD

* hotfix

* correct requirements composition

* Update recipes/grpc/all/conanfile.py

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

* Update recipes/grpc/all/conanfile.py

---------

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

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

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

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

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

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

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

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

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

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

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

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

* Update bump PR review rule

Signed-off-by: Uilian Ries 

* Update rule description for bump prs

Co-authored-by: Daniel 

---------

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

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

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

* pulseaudio: make xorg requirement more specifc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* tweenerspp: add recipe

* add end line

* add _USE_MATH_DEFINITIONS

* fix typo

* fix homepage

Co-authored-by: Uilian Ries 

* set proper file_name, target_name and aliasa

Co-authored-by: Uilian Ries 

* fix target name

Co-authored-by: Uilian Ries 

---------

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

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

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

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

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

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

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

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

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

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

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

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

* Add/remove users to Access Request

* Update .c3i/authorized_users.yml

---------

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

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

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

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

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

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

* Updated Opene57 to 1.6.5

* reverted to use Conan 1.x compatibility

Co-authored-by: Uilian Ries 

* removing 1.6.5, reverted compiler changes

* Update Boost

Co-authored-by: Uilian Ries 

---------

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

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

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

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

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

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

* libpng: add version 1.6.41

* update cmake options to reflect 1.6.41 changes

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

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

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

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

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

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

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

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

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

* circularbuffer: add version 1.4.0

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

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

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

* cppkafka: add version 0.4.1

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

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

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

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

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

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

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

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

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

* cpp-httplib: add version 0.15.0

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

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

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

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

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

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

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

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

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

* pango: Support Conan V2

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

* Fix configure

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

This fix is necessary for Conan V2 only.

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

This reverts commit 0f8289fce36fd1ad3e9f6cad7533a9560b52045e.

* Remove the auto value as an option

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

* Fix options configuration in configure method for Conan V2

* Fix option checking

* Bump glib

* Revert "Fix option checking"

This reverts commit d9665223a41cba33897226f9acf2dbdf98893a25.

* Configure default options in the config_options method

* Use self.info.options

* Bump glib

* bump deps

* fix transitive_headers

* bump libxft

* bump cairo

* bump deps

* remove package_id & configure shared

same as #17844

* add versions 1.50.14 & 1.51.0

---------

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

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

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

* ffmpeg: Add av1 library support

* ffmpeg: Fix linking to shared libaom on msvc

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* [libsystemd] add libcrypt as dependency

there are more backports available

* Update recipes/libsystemd/all/conandata.yml

* Update recipes/libsystemd/all/conandata.yml

* Update recipes/libsystemd/all/conandata.yml

* Update conandata.yml

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Bump highfive

* Bump boost version used by highfive

* add compiler definitions

Signed-off-by: Uilian Ries 

* deprecate with_static_hdf5

Signed-off-by: Uilian Ries 

* fix warning

Signed-off-by: Uilian Ries 

---------

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

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

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

* asio-grpc: Add version 2.9.0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Add support to C++11

Signed-off-by: Uilian Ries 

* update tests

Signed-off-by: Uilian Ries 

* update more tests with c++11

Signed-off-by: Uilian Ries 

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

Signed-off-by: Uilian Ries 

* Use correct cxxstd flag with b2

Signed-off-by: Uilian Ries 

* format nothing in string

Signed-off-by: Uilian Ries 

---------

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

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

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

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

* exclude 3.1.2 from conandata.yml

* Exclude 3.1.2 from config.yml

---------

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

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

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

* eventpp: new recipe

* Update recipes/eventpp/all/conanfile.py

* Update recipes/eventpp/all/conanfile.py

---------

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

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

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

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

* update 1.1.1

* remove unspported version

Co-authored-by: ericLemanissier 

* remove unused code

* remove test_v1_package

---------

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

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

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

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

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

* beauty: add v1.0.2

* beauty: drop v1.0.0-rc1

Pre-release and fails with

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* whisper.cpp: added openvino support

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

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

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

* Properly avoid building tests in newer versions

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

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

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

* orcania: add version 2.3.3

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

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

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

* libpq: fix with openssl>=3.2.x

fixes #21547

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Add components in Linux and FreeBSD

* Write directly to the package index file

* Only use components on Linux

* Convert replace_in_file to patch

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

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

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

* opentelemetry-cpp: bump deps

* don't bump boost

* don't bump thrift

* bump thrift

* Update conanfile.py

* bump boost and thrift

* unbump thrift

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

Co-authored-by: Uilian Ries 

* test recipe: bump cppstd

abseil needs c++14

* fix test_V1_package

---------

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

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

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

* beauty: add version 1.0.3, update boost

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

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

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

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

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

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

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

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

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

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

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

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

* Add hictk v0.0.4

* Bump deps

* Add hictk v0.0.8

* Bump deps

* Bugfix

* Bugfix

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

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

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

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

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

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

* libcbor: add version 0.11.0

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

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

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

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

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

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

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

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

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

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

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

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

* scnlib: add version 2.0.0

* support other options

* remove 0.4, preserve header_only option

* add build_requirements

* drop support gcc11 in 2.0.0

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

* update msvc version

* drop support msvc on C++17

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

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

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

* stale: migrate from bot to action

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

* Apply suggestions from code review

Co-authored-by: Uilian Ries 

---------

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

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

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

* libnabo: add version 1.1.0

* export symbols on windows

* add short_paths

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

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

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

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

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

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

* squish: generate missing binaries

* Update conanfile.py

* Update conanfile.py

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

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

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

* remove version 2.4.3

Signed-off-by: Uilian Ries 

* remove version 2.6.0

Signed-off-by: Uilian Ries 

* remove version 2.10

Signed-off-by: Uilian Ries 

* remove patch files

Signed-off-by: Uilian Ries 

* remove 2.10

Signed-off-by: Uilian Ries 

* update checksum

Signed-off-by: Uilian Ries 

---------

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

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

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

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

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

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

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

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

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

* add llama.cpp

* remove unused option

* invalid for incompatible compilers

* wip

* wip

* minor changes

* revert changes

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

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

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

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

* taglib: v2 requires C++17

* taglib: add 2.0-beta to config.yml

* taglib: fix is_v2 check

* taglib: set cxx_std in test_package

* taglib: add non-beta v2.0

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

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

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

* stale bot: fix permissions and line endings

* re-add issues write permission

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

* Update .github/workflows/stale.yml

Co-authored-by: Uilian Ries 

---------

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

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

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

* graphene/all: bump deps

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

* graphene/all: bump deps

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

* graphene/all: bump deps

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

* graphene/all: bump deps

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

* graphene/all: bump deps

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

* graphene/all: bump deps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Add/remove users to Access Request

* Update .c3i/authorized_users.yml

---------

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

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

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

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

Fixes #22556

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

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

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

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

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

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

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

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

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

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

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

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

* sdl/all: bump deps

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

* remove unused patches

* fixup

* fixup

* sdl/all: bump deps

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

* remove outdated code

* Update conanfile.py

* Update conanfile.py

* Update conanfile.py

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

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

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

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

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

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

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

* Update conandata.yml

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

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

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

* Move users to waitlist

Signed-off-by: Uilian Ries 

* Add change name in docs

Signed-off-by: Uilian Ries 

* Update .c3i/waitlist_users.yml

---------

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

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

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

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

* bump libxml2 and meson

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

* try dependencies.build?

* use legacy deps_cpp_info

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

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

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

This reverts commit d55b7ea4d79c8641ff17f20b35e737c13e37164f.

* small change to make CI happy

---------

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

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

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

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

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

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

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

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

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

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

* mgclient: add recipe

* add CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS

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

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

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

* mapbox-wagyu: add recipe

* fix licese name

Co-authored-by: Uilian Ries 

* remove boost

* remove transitive_headers

---------

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

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

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

* Revert checksum for c-blosc2

Signed-off-by: Uilian Ries 

* more topics

Signed-off-by: Uilian Ries 

---------

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

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

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

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

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

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

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

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

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

* initial implementation of etcd-cpp-apiv3

* make linter happy

* make linter happy

* use CMakeDeps

* update test package; collect libs

* add check for grpc - it shall be static lib

* remove generated cmake files

* add transitive libs

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

Co-authored-by: Uilian Ries 

* disable macos support for now

* prepare to CCI

Signed-off-by: Uilian Ries 

* remove not used import

Signed-off-by: Uilian Ries 

* Fix path separator in Windows

* use C++14 by default

Signed-off-by: Uilian Ries 

---------

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

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

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

* autoconf: add v2.72

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

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

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

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

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

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

* Initial template for opendis6

* Added conandata, test package dirs

* Fixed syntax error in conanfile

* Syntax fix

* Fixed conan build, now works

* prepare for CCI

Signed-off-by: Uilian Ries 

* Added CMake as a build req

* Fixed linter issue

* Updated SHA256 to new release file

* Bumped min compiler versions

* Update recipes/opendis6/all/conanfile.py

* Update recipes/opendis6/all/conanfile.py

* Update recipes/opendis6/all/conanfile.py

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

* Update recipes/opendis6/all/conanfile.py

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

diff --git a/recipes/usockets/all/conandata.yml b/recipes/usockets/all/conandata.yml
index df56cdd674867..3fbcf6ef2a19d 100644
--- a/recipes/usockets/all/conandata.yml
+++ b/recipes/usockets/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.8.8":
+    url: "https://github.com/uNetworking/uSockets/archive/v0.8.8.tar.gz"
+    sha256: "d14d2efe1df767dbebfb8d6f5b52aa952faf66b30c822fbe464debaa0c5c0b17"
   "0.8.7":
     url: "https://github.com/uNetworking/uSockets/archive/v0.8.7.tar.gz"
     sha256: "920313a2ae42bbda17bded6fc83b3df635af24cc9abefc87905ad60fdc596edf"
@@ -27,6 +30,10 @@ sources:
     url: "https://github.com/uNetworking/uSockets/archive/v0.4.0.tar.gz"
     sha256: "f9f15b395def578cc79a5b32abc64fa9cff5dac873062911f515b984b90f7cc2"
 patches:
+  "0.8.8":
+    - patch_file: "patches/0001-makefile_0.8.6.patch"
+      patch_description: "remove lto options"
+      patch_type: "portability"
   "0.8.7":
     - patch_file: "patches/0001-makefile_0.8.6.patch"
       patch_description: "remove lto options"
diff --git a/recipes/usockets/config.yml b/recipes/usockets/config.yml
index c71afbcfba697..a6ec735be30d3 100644
--- a/recipes/usockets/config.yml
+++ b/recipes/usockets/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.8.8":
+    folder: all
   "0.8.7":
     folder: all
   "0.8.6":

From 30c5f6b4aeeb9bce3614b9b2f1db7ea3324d8cdc Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 18:08:24 +0900
Subject: [PATCH 3665/4087] (#22725) wise_enum: add version 3.1.0

---
 recipes/wise_enum/all/conandata.yml | 5 ++++-
 recipes/wise_enum/config.yml        | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/recipes/wise_enum/all/conandata.yml b/recipes/wise_enum/all/conandata.yml
index a7eb4605abb61..05e03d94a0301 100644
--- a/recipes/wise_enum/all/conandata.yml
+++ b/recipes/wise_enum/all/conandata.yml
@@ -1,4 +1,7 @@
-sources: 
+sources:
+  "3.1.0":
+    url: "https://github.com/quicknir/wise_enum/archive/refs/tags/3.1.0.tar.gz"
+    sha256: "79410816314941ea2c00b2bbd6932797caefa397a76db425d2b96e6211d1069b"
   "3.0.0":
     url: "https://github.com/quicknir/wise_enum/archive/refs/tags/3.0.0.tar.gz"
     sha256: "6e0d62855854ea755dd4277e74a599d1f4e7eec95562baf751151cc2e4df5eb8"
diff --git a/recipes/wise_enum/config.yml b/recipes/wise_enum/config.yml
index c6ac749e0b234..fba1ec47d0659 100644
--- a/recipes/wise_enum/config.yml
+++ b/recipes/wise_enum/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "3.1.0":
+    folder: all
   "3.0.0":
     folder: all

From 58d741970cf1915ad54d81b76fab1cd11daa209a Mon Sep 17 00:00:00 2001
From: Martin Delille 
Date: Fri, 9 Feb 2024 11:49:21 +0100
Subject: [PATCH 3666/4087] (#22717) [openapi-generator] Add version 7.3.0

---
 recipes/openapi-generator/all/conandata.yml | 3 +++
 recipes/openapi-generator/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml
index f0c50c95fa214..62465f2d111e7 100644
--- a/recipes/openapi-generator/all/conandata.yml
+++ b/recipes/openapi-generator/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "7.3.0":
+    url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.3.0/openapi-generator-cli-7.3.0.jar"
+    sha256: "879c15340a75a19a7e720efc242c3223e0e4207b0694d6d1cea5c7dd87cf1cce"
   "7.2.0":
     url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar"
     sha256: "1cf0c80de12c0fdc8594289c19e414b402108ef10b8dd0bfda1953151341ab5d"
diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml
index 797b4078e69ca..07bf0a2fcdb65 100644
--- a/recipes/openapi-generator/config.yml
+++ b/recipes/openapi-generator/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "7.3.0":
+    folder: all
   "7.2.0":
     folder: all
   "7.0.0":

From d350f314ca6ee649534b914f6d552969d8310073 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 20:24:03 +0900
Subject: [PATCH 3667/4087] (#19148) influxdb-cxx: add recipe

* influxdb-cxx: add recipe

* remove unused import

* fix compilation error on msvc shared build

* Use 0.7.2, fix test_package, reference github issue

---------

Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com>
---
 recipes/influxdb-cxx/all/conandata.yml        |   4 +
 recipes/influxdb-cxx/all/conanfile.py         | 102 ++++++++++++++++++
 .../all/test_package/CMakeLists.txt           |   8 ++
 .../all/test_package/conanfile.py             |  26 +++++
 .../all/test_package/test_package.cpp         |  16 +++
 recipes/influxdb-cxx/config.yml               |   3 +
 6 files changed, 159 insertions(+)
 create mode 100644 recipes/influxdb-cxx/all/conandata.yml
 create mode 100644 recipes/influxdb-cxx/all/conanfile.py
 create mode 100644 recipes/influxdb-cxx/all/test_package/CMakeLists.txt
 create mode 100644 recipes/influxdb-cxx/all/test_package/conanfile.py
 create mode 100644 recipes/influxdb-cxx/all/test_package/test_package.cpp
 create mode 100644 recipes/influxdb-cxx/config.yml

diff --git a/recipes/influxdb-cxx/all/conandata.yml b/recipes/influxdb-cxx/all/conandata.yml
new file mode 100644
index 0000000000000..465f6aea89730
--- /dev/null
+++ b/recipes/influxdb-cxx/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.7.2":
+    url: "https://github.com/offa/influxdb-cxx/archive/refs/tags/v0.7.2.tar.gz"
+    sha256: "951e067df5731cb23b72f53fcbea8e56920819c6191b6885ea180168eb1950d9"
diff --git a/recipes/influxdb-cxx/all/conanfile.py b/recipes/influxdb-cxx/all/conanfile.py
new file mode 100644
index 0000000000000..c903fb4c5efc1
--- /dev/null
+++ b/recipes/influxdb-cxx/all/conanfile.py
@@ -0,0 +1,102 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.files import get, copy, rmdir
+from conan.tools.build import check_min_cppstd
+from conan.tools.scm import Version
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+import os
+
+required_conan_version = ">=1.53.0"
+
+class InfluxdbCxxConan(ConanFile):
+    name = "influxdb-cxx"
+    description = "InfluxDB C++ client library."
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/offa/influxdb-cxx"
+    topics = ("influxdb", "influxdb-client")
+    settings = "os", "arch", "compiler", "build_type"
+    package_type = "library"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+        "boost": [True, False]
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+        "boost": True,
+    }
+
+    @property
+    def _min_cppstd(self):
+        return 17
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "8",
+            "clang": "7",
+            "apple-clang": "12",
+            "Visual Studio": "16",
+            "msvc": "192",
+        }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def requirements(self):
+        self.requires("cpr/1.10.4")
+        if self.options.boost:
+            self.requires("boost/1.82.0")
+
+    def validate(self):
+        if self.settings.compiler.cppstd:
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        # BUILD_SHARED_LIBS is defined explicitly in CMakeLists.txt
+        tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared
+        tc.cache_variables["INFLUXCXX_TESTING"] = False
+        tc.cache_variables["INFLUXCXX_WITH_BOOST"] = self.options.boost
+        if self.options.shared:
+            # See https://github.com/offa/influxdb-cxx/issues/194
+            tc.preprocessor_definitions["InfluxDB_EXPORTS"] = 1
+        tc.generate()
+        deps = CMakeDeps(self)
+        deps.generate()
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        cmake = CMake(self)
+        cmake.install()
+
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+
+    def package_info(self):
+        self.cpp_info.libs = ["InfluxDB"]
+
+        self.cpp_info.set_property("cmake_file_name", "InfluxDB")
+        self.cpp_info.set_property("cmake_target_name", "InfluxData::InfluxDB")
diff --git a/recipes/influxdb-cxx/all/test_package/CMakeLists.txt b/recipes/influxdb-cxx/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..2f8068d41fdb4
--- /dev/null
+++ b/recipes/influxdb-cxx/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(InfluxDB REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(test_package PRIVATE InfluxData::InfluxDB)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
diff --git a/recipes/influxdb-cxx/all/test_package/conanfile.py b/recipes/influxdb-cxx/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..ef5d7042163ec
--- /dev/null
+++ b/recipes/influxdb-cxx/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/influxdb-cxx/all/test_package/test_package.cpp b/recipes/influxdb-cxx/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..e91f55ee908cc
--- /dev/null
+++ b/recipes/influxdb-cxx/all/test_package/test_package.cpp
@@ -0,0 +1,16 @@
+#include 
+#include 
+#include 
+
+int main()
+{
+    try {
+        auto influxdb = influxdb::InfluxDBFactory::Get("xyz://foobar");
+    }
+    catch(influxdb::InfluxDBException& e) {
+
+    }
+
+    std::cout << "Influxdb-cxx test package successful\n";
+    return 0;
+}
diff --git a/recipes/influxdb-cxx/config.yml b/recipes/influxdb-cxx/config.yml
new file mode 100644
index 0000000000000..eb766ff2f024b
--- /dev/null
+++ b/recipes/influxdb-cxx/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.7.2":
+    folder: all

From aef45be65a8453ae15e00f272ba35084c0ef14c4 Mon Sep 17 00:00:00 2001
From: Ivan Maidanski 
Date: Fri, 9 Feb 2024 15:10:40 +0300
Subject: [PATCH 3668/4087] (#22703) Add gc/8.2.6 recipe

---
 recipes/bdwgc/all/conandata.yml                   |  5 +++++
 .../bdwgc/all/patches/update-cmake-8_2_6.patch    | 15 +++++++++++++++
 recipes/bdwgc/config.yml                          |  2 ++
 3 files changed, 22 insertions(+)
 create mode 100644 recipes/bdwgc/all/patches/update-cmake-8_2_6.patch

diff --git a/recipes/bdwgc/all/conandata.yml b/recipes/bdwgc/all/conandata.yml
index 8dfe6c5a2d882..d463c9bb2301b 100644
--- a/recipes/bdwgc/all/conandata.yml
+++ b/recipes/bdwgc/all/conandata.yml
@@ -11,6 +11,9 @@ sources:
   "8.2.4":
     url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.4/gc-8.2.4.tar.gz"
     sha256: "3d0d3cdbe077403d3106bb40f0cbb563413d6efdbb2a7e1cd6886595dec48fc2"
+  "8.2.6":
+    url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.6/gc-8.2.6.tar.gz"
+    sha256: "b9183fe49d4c44c7327992f626f8eaa1d8b14de140f243edb1c9dcff7719a7fc"
 patches:
   "8.0.4":
     - patch_file: "patches/update-cmake-8_0_4.patch"
@@ -20,3 +23,5 @@ patches:
     - patch_file: "patches/update-cmake-8_2_2.patch"
   "8.2.4":
     - patch_file: "patches/update-cmake-8_2_4.patch"
+  "8.2.6":
+    - patch_file: "patches/update-cmake-8_2_6.patch"
diff --git a/recipes/bdwgc/all/patches/update-cmake-8_2_6.patch b/recipes/bdwgc/all/patches/update-cmake-8_2_6.patch
new file mode 100644
index 0000000000000..1ae810763c0db
--- /dev/null
+++ b/recipes/bdwgc/all/patches/update-cmake-8_2_6.patch
@@ -0,0 +1,15 @@
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -177,6 +177,12 @@ if (enable_threads)
+   message(STATUS "Thread library: ${CMAKE_THREAD_LIBS_INIT}")
+   if (without_libatomic_ops OR BORLAND OR MSVC OR WATCOM)
+     include_directories(libatomic_ops/src)
++    find_package(Atomic_ops CONFIG)
++    if (Atomic_ops_FOUND)
++      get_target_property(AO_INCLUDE_DIRS Atomic_ops::atomic_ops
++                          INTERFACE_INCLUDE_DIRECTORIES)
++      include_directories(${AO_INCLUDE_DIRS})
++    endif()
+     # Note: alternatively, use CFLAGS_EXTRA to pass -I<...>/libatomic_ops/src.
+   else()
+     # Assume the compiler supports GCC atomic intrinsics.
diff --git a/recipes/bdwgc/config.yml b/recipes/bdwgc/config.yml
index b018b2961234b..c736cacb36944 100644
--- a/recipes/bdwgc/config.yml
+++ b/recipes/bdwgc/config.yml
@@ -7,3 +7,5 @@ versions:
     folder: all
   "8.2.4":
     folder: all
+  "8.2.6":
+    folder: all

From 2ccff6880a2a1ffcdfb9a6e4661ac7d6b88ba848 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Fri, 9 Feb 2024 14:26:43 +0200
Subject: [PATCH 3669/4087] (#22115) util-linux-libuuid: bump gettext
 dependency

* util-linux-libuuid: bump gettext dependency

* util-linux-libuuid: try to improve macOS build
---
 recipes/util-linux-libuuid/all/conanfile.py | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py
index e5c35fe2c862b..0a90fad2ce052 100644
--- a/recipes/util-linux-libuuid/all/conanfile.py
+++ b/recipes/util-linux-libuuid/all/conanfile.py
@@ -1,6 +1,6 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.apple import fix_apple_shared_install_name
+from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun
 from conan.tools.files import copy, get, rm, rmdir
 from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps
 from conan.tools.layout import basic_layout
@@ -73,7 +73,7 @@ def validate(self):
     def requirements(self):
         if self.settings.os == "Macos":
             # Required because libintl.{a,dylib} is not distributed via libc on Macos
-            self.requires("libgettext/0.21")
+            self.requires("libgettext/0.22")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
@@ -86,6 +86,22 @@ def generate(self):
             tc.extra_defines.append("HAVE_SYS_FILE_H")
         if "x86" in self.settings.arch:
             tc.extra_cflags.append("-mstackrealign")
+
+        # Based on https://github.com/conan-io/conan-center-index/blob/c647b1/recipes/libx264/all/conanfile.py#L94
+        if is_apple_os(self) and self.settings.arch == "armv8":
+            tc.configure_args.append("--host=aarch64-apple-darwin")
+            tc.extra_asflags = ["-arch arm64"]
+            tc.extra_ldflags = ["-arch arm64"]
+            if self.settings.os != "Macos":
+                xcrun = XCRun(self)
+                platform_flags = ["-isysroot", xcrun.sdk_path]
+                apple_min_version_flag = AutotoolsToolchain(self).apple_min_version_flag
+                if apple_min_version_flag:
+                    platform_flags.append(apple_min_version_flag)
+                tc.extra_asflags.extend(platform_flags)
+                tc.extra_cflags.extend(platform_flags)
+                tc.extra_ldflags.extend(platform_flags)
+
         tc.generate()
 
         deps = AutotoolsDeps(self)

From d48a7d283c0b002b337f941eaf191e2aff637009 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Fri, 9 Feb 2024 14:42:09 +0100
Subject: [PATCH 3670/4087] (#18016) [intel-ipsec-mb] Add new recipe: Intel
 IPSec MB 1.4

* Add Intel IPSec MB

Signed-off-by: Uilian Ries 

* add cmake as build requirement

Signed-off-by: Uilian Ries 

* bump cmake version to 3.16

Signed-off-by: Uilian Ries 

* fix nasm include folders

Signed-off-by: Uilian Ries 

* Fix nasm path

Signed-off-by: Uilian Ries 

* remove unused import

Signed-off-by: Uilian Ries 

* call patch sources

Signed-off-by: Uilian Ries 

* call patch sources

Signed-off-by: Uilian Ries 

* fix cmake target for Windows

Signed-off-by: Uilian Ries 

* enforce install prefix

Signed-off-by: Uilian Ries 

* Fix Windows installation

Signed-off-by: Uilian Ries 

* enforce prefix install

Signed-off-by: Uilian Ries 

* fix windows build

Signed-off-by: Uilian Ries 

* Set nasm path for Conan 1.x

Signed-off-by: Uilian Ries 

* fix nasm path on Windows

Signed-off-by: Uilian Ries 

* Fix asm environment for Windows

Signed-off-by: Uilian Ries 

* Fix build on Linux

Signed-off-by: Uilian Ries 

* improve topics

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
---
 recipes/intel-ipsec-mb/all/conandata.yml      |  12 ++
 recipes/intel-ipsec-mb/all/conanfile.py       | 104 ++++++++++++++++++
 .../all/patches/0001-unix-fpic.patch          |  13 +++
 .../all/patches/0002-install-windows.patch    |  36 ++++++
 .../all/test_package/CMakeLists.txt           |   8 ++
 .../all/test_package/conanfile.py             |  26 +++++
 .../all/test_package/test_package.c           |  13 +++
 recipes/intel-ipsec-mb/config.yml             |   3 +
 8 files changed, 215 insertions(+)
 create mode 100644 recipes/intel-ipsec-mb/all/conandata.yml
 create mode 100644 recipes/intel-ipsec-mb/all/conanfile.py
 create mode 100644 recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch
 create mode 100644 recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch
 create mode 100644 recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt
 create mode 100644 recipes/intel-ipsec-mb/all/test_package/conanfile.py
 create mode 100644 recipes/intel-ipsec-mb/all/test_package/test_package.c
 create mode 100644 recipes/intel-ipsec-mb/config.yml

diff --git a/recipes/intel-ipsec-mb/all/conandata.yml b/recipes/intel-ipsec-mb/all/conandata.yml
new file mode 100644
index 0000000000000..d898ee0ccba2f
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/conandata.yml
@@ -0,0 +1,12 @@
+sources:
+  "1.4":
+    url: "https://github.com/intel/intel-ipsec-mb/archive/refs/tags/v1.4.tar.gz"
+    sha256: "b441b3ecf0a9fe69ff675f2eb9fe4d1304814558a8f15f5617638ddc99e05873"
+patches:
+  "1.4":
+    - patch_file: "patches/0001-unix-fpic.patch"
+      patch_description: "Do not enforce fPIC flag always"
+      patch_type: "conan"
+    - patch_file: "patches/0002-install-windows.patch"
+      patch_description: "Do not enforce Windows folders path when installing"
+      patch_type: "conan"
diff --git a/recipes/intel-ipsec-mb/all/conanfile.py b/recipes/intel-ipsec-mb/all/conanfile.py
new file mode 100644
index 0000000000000..4e9e314b05c43
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/conanfile.py
@@ -0,0 +1,104 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.files import get, copy, rmdir, apply_conandata_patches, export_conandata_patches
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.env import VirtualBuildEnv, Environment
+from conan.tools.microsoft import is_msvc
+import os
+
+required_conan_version = ">=1.53.0"
+
+
+class PackageConan(ConanFile):
+    name = "intel-ipsec-mb"
+    description = "Intel(R) Multi-Buffer Crypto for IPSec"
+    license = "BSD-3-Clause"
+    homepage = "https://github.com/intel/intel-ipsec-mb"
+    url = "https://github.com/conan-io/conan-center-index"
+    topics = ("intel", "ipsec", "crypto", "security")
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+
+    @property
+    def _cmake_target(self):
+        return "libIPSec_MB" if is_msvc(self) else "IPSec_MB"
+
+    @property
+    def _settings_build(self):
+        return getattr(self, "settings_build", self.settings)
+
+    def export_sources(self):
+        export_conandata_patches(self)
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def validate(self):
+        if self.settings.os not in ("FreeBSD", "Linux", "Windows"):
+            raise ConanInvalidConfiguration(f"{self.ref} does not support the O.S. {self.settings.os}.")
+
+    def build_requirements(self):
+        self.tool_requires("nasm/2.15.05")
+        self.tool_requires("cmake/[>3.16 <4]")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        # INFO: Conan 1.x does not find nasm package automatically due PATH priority.
+        nasm_bin_folder = os.path.join(self.dependencies.direct_build["nasm"].package_folder, "bin").replace("\\", "/")
+        nasm_path = os.path.join(nasm_bin_folder, "nasm").replace("\\", "/")
+        env = Environment()
+        env.define("AS", nasm_path)
+        env.prepend("PATH", nasm_bin_folder)
+        envvars = env.vars(self, scope="build")
+        envvars.save_script("asm_configuration")
+
+        env = VirtualBuildEnv(self)
+        env.generate(scope="build")
+        tc = CMakeToolchain(self)
+        # INFO: intel-ipsec-mb project forces shared by default.
+        tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared
+        # INFO: When running on Linux, uses /usr/bin/nasm in case no enforced
+        if self._settings_build.os == "Linux":
+            tc.cache_variables["CMAKE_ASM_NASM_COMPILER"] = nasm_path
+        tc.generate()
+        tc = CMakeDeps(self)
+        tc.generate()
+
+    def build(self):
+        apply_conandata_patches(self)
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build(target=self._cmake_target)
+
+    def package(self):
+        copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        copy(self, "intel-ipsec-mb.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "lib"), keep_path=False)
+        cmake = CMake(self)
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "man"))
+        rmdir(self, os.path.join(self.package_folder, "intel-ipsec-mb"))
+
+    def package_info(self):
+        self.cpp_info.libs = [self._cmake_target]
+        if self.settings.os in ["Linux", "FreeBSD"]:
+            self.cpp_info.system_libs = ["pthread"]
diff --git a/recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch b/recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch
new file mode 100644
index 0000000000000..b4684f31ccc0b
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/cmake/unix.cmake b/lib/cmake/unix.cmake
+index 78aafae..d94297c 100644
+--- a/lib/cmake/unix.cmake
++++ b/lib/cmake/unix.cmake
+@@ -38,7 +38,7 @@ string(APPEND CMAKE_ASM_NASM_FLAGS
+ 
+ # set C compiler flags
+ set(CMAKE_C_FLAGS
+-    "-fPIC -W -Wall -Wextra -Wmissing-declarations \
++    "-W -Wall -Wextra -Wmissing-declarations \
+ -Wpointer-arith -Wcast-qual -Wundef -Wwrite-strings -Wformat \
+ -Wformat-security -Wunreachable-code -Wmissing-noreturn \
+ -Wsign-compare -Wno-endif-labels -Wstrict-prototypes \
diff --git a/recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch b/recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch
new file mode 100644
index 0000000000000..ddaeab8b5f130
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch
@@ -0,0 +1,36 @@
+diff --git a/lib/cmake/windows.cmake b/lib/cmake/windows.cmake
+index 02d39a1..0647029 100644
+--- a/lib/cmake/windows.cmake
++++ b/lib/cmake/windows.cmake
+@@ -93,27 +93,18 @@ endif()
+ add_library(${LIB} ${SRC_FILES_ASM} ${SRC_FILES_C} ${SRC_DEF_FILE})
+ 
+ # set install rules
+-set(CMAKE_INSTALL_PREFIX "c:/Program Files"
+-  CACHE STRING "Set default installation directory" FORCE)
+ install(TARGETS ${LIB}
+-  DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME})
++  RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
++  LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
++  ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
++
+ install(FILES
+   ${IMB_HDR}
+   ${SRC_DEF_FILE}
+   DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME})
+-if(BUILD_SHARED_LIBS)
+-  install(FILES
+-    $/${LIB}.exp
+-    $/${LIB}.pdb
+-    DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME})
+-  install(FILES
+-    $/${LIB}.dll
+-    DESTINATION $ENV{WINDIR}/system32)
+-endif()
+ 
+ execute_process(
+   COMMAND cmd /C ${GEN_DEF_FILE_CMD}
+   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+   OUTPUT_QUIET
+ )
+-
diff --git a/recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt b/recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..094c6cf883fd7
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package C)
+
+find_package(intel-ipsec-mb REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE intel-ipsec-mb::intel-ipsec-mb)
+target_compile_features(${PROJECT_NAME} PRIVATE c_std_99)
diff --git a/recipes/intel-ipsec-mb/all/test_package/conanfile.py b/recipes/intel-ipsec-mb/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..ef5d7042163ec
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/intel-ipsec-mb/all/test_package/test_package.c b/recipes/intel-ipsec-mb/all/test_package/test_package.c
new file mode 100644
index 0000000000000..231c42793f295
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/test_package/test_package.c
@@ -0,0 +1,13 @@
+#include "intel-ipsec-mb.h"
+
+#include 
+#include 
+
+int main() {
+    const char * version = NULL;
+
+    version = imb_get_version_str();
+    printf("Intel IPSec MB Version: %s\n", version);
+
+    return EXIT_SUCCESS;
+}
diff --git a/recipes/intel-ipsec-mb/config.yml b/recipes/intel-ipsec-mb/config.yml
new file mode 100644
index 0000000000000..49afec8b671eb
--- /dev/null
+++ b/recipes/intel-ipsec-mb/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "1.4":
+    folder: all

From 85d840a1312f8ee1bd02ca86cd8d06c14c2dfdbc Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Mon, 12 Feb 2024 10:50:44 +0100
Subject: [PATCH 3671/4087] (#22728) stale: process older PRs first

* stale: process older PRs first

also, increase the number of operations. github has a limit of 15000/hour, so we have some leeway cf https://github.com/conan-io/conan-center-index/actions/runs/7840520311/job/21395244351#step:2:1486

* Update stale.yml
---
 .github/workflows/stale.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 00910a77f7c49..c9c6239fc08ea 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -34,6 +34,8 @@ jobs:
         # Idle number of days before closing stale PRs
         days-before-pr-close: 30
 
+        # process older PRs first
+        ascending: true
 
         # Labels on PRs exempted from stale
         exempt-pr-labels: blocked,infrastructure

From 4612ffa489c29196ef6d3e15df9a3817f7ead7c7 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 19:09:49 +0900
Subject: [PATCH 3672/4087] (#22730) drogon: add version 1.9.3

---
 recipes/drogon/all/conandata.yml             | 10 ++++++++++
 recipes/drogon/all/test_package/conanfile.py |  1 +
 recipes/drogon/config.yml                    |  2 ++
 3 files changed, 13 insertions(+)

diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml
index 363e991a86f99..5ade6257a65f6 100644
--- a/recipes/drogon/all/conandata.yml
+++ b/recipes/drogon/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.9.3":
+    url: "https://github.com/drogonframework/drogon/archive/v1.9.3.tar.gz"
+    sha256: "fb4ef351b3e4c06ed850cfbbf50c571502decb1738fb7d62a9d7d70077c9fc23"
   "1.9.2":
     url: "https://github.com/drogonframework/drogon/archive/v1.9.2.tar.gz"
     sha256: "5bfcb7e11df83de45efc24e2785646276a0166893e0475221d8e7fa82832ffbd"
@@ -21,6 +24,13 @@ sources:
     url: "https://github.com/drogonframework/drogon/archive/v1.8.4.tar.gz"
     sha256: "6f2f59ead0f0c37b0aac4bc889cbaedf3c2540f3020e892596c72f0a4d887a18"
 patches:
+  "1.9.3":
+    - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch"
+      patch_description: "remove shared libs option"
+      patch_type: "conan"
+    - patch_file: "patches/1.9.2-0002-find-cci-packages.patch"
+      patch_description: "Fix jsoncpp cmake target name"
+      patch_type: "conan"
   "1.9.2":
     - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch"
       patch_description: "remove shared libs option"
diff --git a/recipes/drogon/all/test_package/conanfile.py b/recipes/drogon/all/test_package/conanfile.py
index 84eaa369e4a72..99d0db4a34c2c 100644
--- a/recipes/drogon/all/test_package/conanfile.py
+++ b/recipes/drogon/all/test_package/conanfile.py
@@ -7,6 +7,7 @@
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type",
     generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
 
     def requirements(self):
         self.requires(self.tested_reference_str)
diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml
index 0849cdfebfa68..e9c9e23f0ecf5 100644
--- a/recipes/drogon/config.yml
+++ b/recipes/drogon/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.9.3":
+    folder: "all"
   "1.9.2":
     folder: "all"
   "1.9.1":

From 77fb1742549fe162574b9a5a85067881d9e31047 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 19:28:48 +0900
Subject: [PATCH 3673/4087] (#22736) poco: add version 1.13.1

---
 recipes/poco/all/conandata.yml | 10 ++++++++++
 recipes/poco/config.yml        |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml
index c2db4d028c469..67de3df463e94 100644
--- a/recipes/poco/all/conandata.yml
+++ b/recipes/poco/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.13.1":
+    url: "https://github.com/pocoproject/poco/archive/poco-1.13.1-release.tar.gz"
+    sha256: "8accf6c6ebb9ae686e7c8e2390a35beaab08d0ca1abda537cc2d0b7ab9296be5"
   "1.13.0":
     url: "https://github.com/pocoproject/poco/archive/poco-1.13.0-release.tar.gz"
     sha256: "0135160663795901f317215272fadf71f3b526f38daacb2ae8d6b07ad11d319b"
@@ -27,6 +30,13 @@ sources:
     url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz"
     sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37"
 patches:
+  "1.13.1":
+    - patch_file: patches/1.13.0.patch
+      patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program"
+      patch_type: "conan"
+    - patch_file: patches/1.13.0-0002-mysql-include.patch
+      patch_description: "include mysql.h instead of mysql/mysql.h"
+      patch_type: "portability"
   "1.13.0":
     - patch_file: patches/1.13.0.patch
       patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program"
diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml
index a59a7f8e7171f..aa504b39ac1af 100644
--- a/recipes/poco/config.yml
+++ b/recipes/poco/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.13.1":
+    folder: all
   "1.13.0":
     folder: all
   "1.12.5p2":

From 15c464aecbf3f89e42dc512c7cc72492ae2dfc44 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 19:50:05 +0900
Subject: [PATCH 3674/4087] (#22742) libnfs: add version 5.0.3

---
 recipes/libnfs/all/conandata.yml | 8 ++++++++
 recipes/libnfs/config.yml        | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/recipes/libnfs/all/conandata.yml b/recipes/libnfs/all/conandata.yml
index b4b4af80e776c..782953e21dab6 100644
--- a/recipes/libnfs/all/conandata.yml
+++ b/recipes/libnfs/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "5.0.3":
+    url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.3.tar.gz"
+    sha256: "d945cb4f4c8f82ee1f3640893a168810f794a28e1010bb007ec5add345e9df3e"
   "5.0.2":
     url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.2.tar.gz"
     sha256: "637e56643b19da9fba98f06847788c4dad308b723156a64748041035dcdf9bd3"
@@ -6,6 +9,11 @@ sources:
     url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.1.tar.gz"
     sha256: "7ef445410b42f36b9bad426608b53ccb9ccca4101e545c383f564c11db672ca8"
 patches:
+  "5.0.3":
+    - patch_file: "patches/5.0.1-0001-remove-exports.patch"
+      patch_description: "Fix installation"
+      patch_type: "conan"
+      patch_source: "https://github.com/sahlberg/libnfs/pull/377"
   "5.0.2":
     - patch_file: "patches/5.0.1-0001-remove-exports.patch"
       patch_description: "Fix installation"
diff --git a/recipes/libnfs/config.yml b/recipes/libnfs/config.yml
index 7e49cd33d0bdc..7ec3cb9fcf03a 100644
--- a/recipes/libnfs/config.yml
+++ b/recipes/libnfs/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "5.0.3":
+    folder: "all"
   "5.0.2":
     folder: "all"
   "5.0.1":

From c03526a677426444782871e2de9909eccd5bae6b Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 20:10:11 +0900
Subject: [PATCH 3675/4087] (#22723) libuv: add version 1.48.0, remove older
 versions

* libuv: add version 1.48.0, remove older versions

* remove versions in config.yml
---
 recipes/libuv/all/conandata.yml               | 24 ++----
 .../libuv/all/patches/1.38.1/fix-cmake.patch  | 80 -------------------
 .../libuv/all/patches/1.40.0/fix-cmake.patch  | 77 ------------------
 .../libuv/all/patches/1.48.0/fix-cmake.patch  | 65 +++++++++++++++
 recipes/libuv/config.yml                      |  6 +-
 5 files changed, 74 insertions(+), 178 deletions(-)
 delete mode 100644 recipes/libuv/all/patches/1.38.1/fix-cmake.patch
 delete mode 100644 recipes/libuv/all/patches/1.40.0/fix-cmake.patch
 create mode 100644 recipes/libuv/all/patches/1.48.0/fix-cmake.patch

diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml
index de25f5782ee20..578b3b599b79b 100644
--- a/recipes/libuv/all/conandata.yml
+++ b/recipes/libuv/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.48.0":
+    url: "https://github.com/libuv/libuv/archive/v1.48.0.tar.gz"
+    sha256: "8c253adb0f800926a6cbd1c6576abae0bc8eb86a4f891049b72f9e5b7dc58f33"
   "1.47.0":
     url: "https://github.com/libuv/libuv/archive/v1.47.0.tar.gz"
     sha256: "d50af7e6d72526db137e66fad812421c8a1cae09d146b0ec2bb9a22c5f23ba93"
@@ -26,13 +29,11 @@ sources:
   "1.41.0":
     url: "https://github.com/libuv/libuv/archive/v1.41.0.zip"
     sha256: "cb89a8b9f686c5ccf7ed09a9e0ece151a73ebebc17af3813159c335b02181794"
-  "1.40.0":
-    url: "https://github.com/libuv/libuv/archive/v1.40.0.zip"
-    sha256: "61366e30d8484197dc9e4a94dbd98a0ba52fb55cb6c6d991af1f3701b10f322b"
-  "1.38.1":
-    url: "https://github.com/libuv/libuv/archive/v1.38.1.zip"
-    sha256: "0359369492742eb2a36312fffe26f80bcffe4cec981a4fd72d182b061ee14890"
 patches:
+  "1.48.0":
+    - patch_file: "patches/1.48.0/fix-cmake.patch"
+      patch_description: "separate shared and static library build"
+      patch_type: "conan"
   "1.47.0":
     - patch_file: "patches/1.47.0/fix-cmake.patch"
       patch_description: "separate shared and static library build"
@@ -73,14 +74,3 @@ patches:
     - patch_file: "patches/1.40.0/fix-ios.patch"
       patch_description: "fix dlopen filename"
       patch_type: "portability"
-  "1.40.0":
-    - patch_file: "patches/1.40.0/fix-cmake.patch"
-      patch_description: "separate shared and static library build"
-      patch_type: "conan"
-    - patch_file: "patches/1.40.0/fix-ios.patch"
-      patch_description: "fix dlopen filename"
-      patch_type: "portability"
-  "1.38.1":
-    - patch_file: "patches/1.38.1/fix-cmake.patch"
-      patch_description: "separate shared and static library build"
-      patch_type: "conan"
diff --git a/recipes/libuv/all/patches/1.38.1/fix-cmake.patch b/recipes/libuv/all/patches/1.38.1/fix-cmake.patch
deleted file mode 100644
index 752d2ecdc5cea..0000000000000
--- a/recipes/libuv/all/patches/1.38.1/fix-cmake.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2518c747..05b5add1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -297,13 +297,19 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
-   list(APPEND uv_test_libraries util)
- endif()
- 
--add_library(uv SHARED ${uv_sources})
--target_compile_definitions(uv
--  INTERFACE
--    USING_UV_SHARED=1
--  PRIVATE
--    BUILDING_UV_SHARED=1
--    ${uv_defines})
-+add_library(uv ${uv_sources})
-+get_target_property(target_type uv TYPE)
-+if (target_type STREQUAL "SHARED_LIBRARY")
-+  target_compile_definitions(uv
-+    INTERFACE
-+      USING_UV_SHARED=1
-+    PRIVATE
-+      BUILDING_UV_SHARED=1
-+  )
-+else()
-+  set_property(TARGET uv PROPERTY OUTPUT_NAME "uv_a")
-+endif()
-+target_compile_definitions(uv PRIVATE ${uv_defines})
- target_compile_options(uv PRIVATE ${uv_cflags})
- target_include_directories(uv
-   PUBLIC
-@@ -313,17 +319,6 @@ target_include_directories(uv
-     $)
- target_link_libraries(uv ${uv_libraries})
- 
--add_library(uv_a STATIC ${uv_sources})
--target_compile_definitions(uv_a PRIVATE ${uv_defines})
--target_compile_options(uv_a PRIVATE ${uv_cflags})
--target_include_directories(uv_a
--  PUBLIC
--    $
--    $
--  PRIVATE
--    $)
--target_link_libraries(uv_a ${uv_libraries})
--
- if(LIBUV_BUILD_TESTS)
-   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
-   # before the actual tests are added.
-@@ -558,22 +553,20 @@ if(UNIX)
-   set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
-   set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
-   set(prefix ${CMAKE_INSTALL_PREFIX})
--  configure_file(libuv.pc.in libuv.pc @ONLY)
- 
-   install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
--  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
--  install(FILES ${PROJECT_BINARY_DIR}/libuv.pc
--          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--  install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
--  install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- endif()
- 
- if(WIN32)
-   install(DIRECTORY include/ DESTINATION include)
--  install(FILES LICENSE DESTINATION .)
--  install(TARGETS uv uv_a
--          RUNTIME DESTINATION lib/$
--          ARCHIVE DESTINATION lib/$)
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    RUNTIME DESTINATION bin
-+    ARCHIVE DESTINATION lib)
- endif()
- 
- message(STATUS "summary of build options:
diff --git a/recipes/libuv/all/patches/1.40.0/fix-cmake.patch b/recipes/libuv/all/patches/1.40.0/fix-cmake.patch
deleted file mode 100644
index 194123f2f2d1b..0000000000000
--- a/recipes/libuv/all/patches/1.40.0/fix-cmake.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e648b00..080f403 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -326,13 +326,19 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
-   list(APPEND uv_test_libraries util)
- endif()
- 
--add_library(uv SHARED ${uv_sources})
--target_compile_definitions(uv
--  INTERFACE
--    USING_UV_SHARED=1
--  PRIVATE
--    BUILDING_UV_SHARED=1
--    ${uv_defines})
-+add_library(uv ${uv_sources})
-+get_target_property(target_type uv TYPE)
-+if (target_type STREQUAL "SHARED_LIBRARY")
-+  target_compile_definitions(uv
-+    INTERFACE
-+      USING_UV_SHARED=1
-+    PRIVATE
-+      BUILDING_UV_SHARED=1
-+  )
-+else()
-+  set_property(TARGET uv PROPERTY OUTPUT_NAME "uv_a")
-+endif()
-+target_compile_definitions(uv PRIVATE ${uv_defines})
- target_compile_options(uv PRIVATE ${uv_cflags})
- target_include_directories(uv
-   PUBLIC
-@@ -342,17 +348,6 @@ target_include_directories(uv
-     $)
- target_link_libraries(uv ${uv_libraries})
- 
--add_library(uv_a STATIC ${uv_sources})
--target_compile_definitions(uv_a PRIVATE ${uv_defines})
--target_compile_options(uv_a PRIVATE ${uv_cflags})
--target_include_directories(uv_a
--  PUBLIC
--    $
--    $
--  PRIVATE
--    $)
--target_link_libraries(uv_a ${uv_libraries})
--
- if(LIBUV_BUILD_TESTS)
-   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
-   # before the actual tests are added.
-@@ -595,19 +590,18 @@ if(UNIX OR MINGW)
-   configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
- 
-   install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
--  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
--  install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc
--          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--  install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
--  install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- endif()
- 
- if(MSVC)
-   install(DIRECTORY include/ DESTINATION include)
--  install(FILES LICENSE DESTINATION .)
--  install(TARGETS uv uv_a
--          RUNTIME DESTINATION lib/$
--          ARCHIVE DESTINATION lib/$)
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    RUNTIME DESTINATION bin
-+    ARCHIVE DESTINATION lib)
- endif()
- 
- message(STATUS "summary of build options:
diff --git a/recipes/libuv/all/patches/1.48.0/fix-cmake.patch b/recipes/libuv/all/patches/1.48.0/fix-cmake.patch
new file mode 100644
index 0000000000000..4fbe54ddf91e7
--- /dev/null
+++ b/recipes/libuv/all/patches/1.48.0/fix-cmake.patch
@@ -0,0 +1,65 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5e8e016..427bd86 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -465,7 +465,7 @@ if(LIBUV_BUILD_SHARED)
+   endif()
+   target_link_libraries(uv ${uv_libraries})
+   set_target_properties(uv PROPERTIES OUTPUT_NAME "uv")
+-endif()
++else()
+ 
+ add_library(uv_a STATIC ${uv_sources})
+ target_compile_definitions(uv_a PRIVATE ${uv_defines})
+@@ -485,7 +485,7 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv")
+ if(WIN32)
+   set_target_properties(uv_a PROPERTIES PREFIX "lib")
+ endif()
+-
++endif()
+ if(LIBUV_BUILD_TESTS)
+   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
+   # before the actual tests are added.
+@@ -750,18 +750,18 @@ set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}")
+ set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
+ set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+-configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
++# configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
+ 
+ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
+ install(FILES LICENSE-extra DESTINATION ${CMAKE_INSTALL_DOCDIR})
+-install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
+-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-install(TARGETS uv_a EXPORT libuvConfig
+-        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(EXPORT libuvConfig
+-	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv
+-	NAMESPACE libuv::)
++# install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
++#         DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++# install(TARGETS uv_a EXPORT libuvConfig
++#         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++# install(EXPORT libuvConfig
++# 	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv
++# 	NAMESPACE libuv::)
+ 
+ if(LIBUV_BUILD_SHARED)
+   # The version in the filename is mirroring the behaviour of autotools.
+@@ -775,6 +775,15 @@ if(LIBUV_BUILD_SHARED)
+           RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+           LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+           ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++else()
++  configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
++  install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
++          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++  install(TARGETS uv_a EXPORT libuvConfig
++          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++  install(EXPORT libuvConfig
++          DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv
++          NAMESPACE libuv::)
+ endif()
+ 
+ if(MSVC)
diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml
index 4c8ae03d813d7..55c98b3fd5a25 100644
--- a/recipes/libuv/config.yml
+++ b/recipes/libuv/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.48.0":
+    folder: all
   "1.47.0":
     folder: all
   "1.46.0":
@@ -17,7 +19,3 @@ versions:
     folder: all
   "1.41.0":
     folder: all
-  "1.40.0":
-    folder: all
-  "1.38.1":
-    folder: all

From b4fa44e8e28dc286daabe7dbb221ab6caf3ef007 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 20:32:23 +0900
Subject: [PATCH 3676/4087] (#22745) nanomsg: add version 1.2.1

---
 recipes/nanomsg/all/conandata.yml | 3 +++
 recipes/nanomsg/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/nanomsg/all/conandata.yml b/recipes/nanomsg/all/conandata.yml
index 1d7161c198806..dbc431024b1fd 100644
--- a/recipes/nanomsg/all/conandata.yml
+++ b/recipes/nanomsg/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.2.1":
+    url: "https://github.com/nanomsg/nanomsg/archive/refs/tags/1.2.1.tar.gz"
+    sha256: "2e6c20dbfcd4882e133c819ac77501e9b323cb17ae5b3376702c4446261fbc23"
   "1.2":
     url: "https://github.com/nanomsg/nanomsg/archive/refs/tags/1.2.tar.gz"
     sha256: "6ef7282e833df6a364f3617692ef21e59d5c4878acea4f2d7d36e21c8858de67"
diff --git a/recipes/nanomsg/config.yml b/recipes/nanomsg/config.yml
index a0777b5aa931c..faec73d798c80 100644
--- a/recipes/nanomsg/config.yml
+++ b/recipes/nanomsg/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.2.1":
+    folder: all
   "1.2":
     folder: all

From 120e3fea8ef10250cecf353f6954fbeeebc1f5fa Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 20:52:28 +0900
Subject: [PATCH 3677/4087] (#22750) bezier: add recipe

* bezier: add recipe

* drop support gcc 5
---
 recipes/bezier/all/conandata.yml              |  4 ++
 recipes/bezier/all/conanfile.py               | 63 +++++++++++++++++++
 .../bezier/all/test_package/CMakeLists.txt    |  8 +++
 recipes/bezier/all/test_package/conanfile.py  | 26 ++++++++
 .../bezier/all/test_package/test_package.cpp  |  9 +++
 recipes/bezier/config.yml                     |  3 +
 6 files changed, 113 insertions(+)
 create mode 100644 recipes/bezier/all/conandata.yml
 create mode 100644 recipes/bezier/all/conanfile.py
 create mode 100644 recipes/bezier/all/test_package/CMakeLists.txt
 create mode 100644 recipes/bezier/all/test_package/conanfile.py
 create mode 100644 recipes/bezier/all/test_package/test_package.cpp
 create mode 100644 recipes/bezier/config.yml

diff --git a/recipes/bezier/all/conandata.yml b/recipes/bezier/all/conandata.yml
new file mode 100644
index 0000000000000..4bb4e5cf2851f
--- /dev/null
+++ b/recipes/bezier/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.2.1":
+    url: "https://github.com/oysteinmyrmo/bezier/archive/refs/tags/v0.2.1.tar.gz"
+    sha256: "fce93c766f31ec445f6f48d0d1438c128640f0728d29745ca9e5424d9daf944f"
diff --git a/recipes/bezier/all/conanfile.py b/recipes/bezier/all/conanfile.py
new file mode 100644
index 0000000000000..b308756aa16cc
--- /dev/null
+++ b/recipes/bezier/all/conanfile.py
@@ -0,0 +1,63 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import check_min_cppstd
+from conan.tools.files import get, copy
+from conan.tools.layout import basic_layout
+from conan.tools.scm import Version
+import os
+
+
+required_conan_version = ">=1.52.0"
+
+
+class BezierConan(ConanFile):
+    name = "bezier"
+    description = "A single header only C++ library for Bezier curve calculations and manipulations."
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/oysteinmyrmo/bezier"
+    topics = ("curve", "header-only")
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
+
+    @property
+    def _min_cppstd(self):
+        return 11
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "6",
+        }
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def package(self):
+        copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        copy(
+            self,
+            pattern="*.h",
+            dst=os.path.join(self.package_folder, "include"),
+            src=os.path.join(self.source_folder, "include"),
+        )
+
+    def package_info(self):
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
diff --git a/recipes/bezier/all/test_package/CMakeLists.txt b/recipes/bezier/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..b5a9211efc1a8
--- /dev/null
+++ b/recipes/bezier/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(bezier REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE bezier::bezier)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
diff --git a/recipes/bezier/all/test_package/conanfile.py b/recipes/bezier/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..3a91c9439218e
--- /dev/null
+++ b/recipes/bezier/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/bezier/all/test_package/test_package.cpp b/recipes/bezier/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..72113a98c3ad7
--- /dev/null
+++ b/recipes/bezier/all/test_package/test_package.cpp
@@ -0,0 +1,9 @@
+#include 
+#include "bezier/bezier.h"
+
+int main(void) {
+    bezier::Bezier<3> cubicBezier({ {120, 160}, {35, 200}, {220, 260}, {220, 40} });
+
+    bezier::Point p = cubicBezier.valueAt(0.5);
+    std::cout << p.x << " " << p.y << std::endl;
+}
diff --git a/recipes/bezier/config.yml b/recipes/bezier/config.yml
new file mode 100644
index 0000000000000..f975c1e3261f7
--- /dev/null
+++ b/recipes/bezier/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.2.1":
+    folder: all

From 4ac1fbf5dd2b3b9af9a54f7e4f2d6b331da9fda9 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Mon, 12 Feb 2024 13:22:34 +0100
Subject: [PATCH 3678/4087] (#22752) [json-c] Add include folder following the
 upstream

Signed-off-by: Uilian Ries 
---
 recipes/json-c/all/conanfile.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes/json-c/all/conanfile.py b/recipes/json-c/all/conanfile.py
index 8963e15ae1e8f..222938814d365 100644
--- a/recipes/json-c/all/conanfile.py
+++ b/recipes/json-c/all/conanfile.py
@@ -68,3 +68,4 @@ def package_info(self):
         self.cpp_info.set_property("cmake_target_name", "json-c::json-c")
         self.cpp_info.set_property("pkg_config_name", "json-c")
         self.cpp_info.libs = collect_libs(self)
+        self.cpp_info.includedirs = ["include", "include/json-c"]

From 9c2db6b1ebd20687b2be36fb9e7a82941654edc8 Mon Sep 17 00:00:00 2001
From: Klaus Holst Jacobsen
 <48069914+klausholstjacobsen@users.noreply.github.com>
Date: Mon, 12 Feb 2024 14:26:36 +0100
Subject: [PATCH 3679/4087] (#18943) popt/1.19: Added support for popt/1.19 and
 QNX portability

---
 recipes/popt/{all => 1.16}/conandata.yml      |  0
 recipes/popt/{all => 1.16}/conanfile.py       |  4 +
 .../patches/0004-vcpkg-fixmsvc.patch          |  0
 .../{all => 1.16}/test_package/CMakeLists.txt |  0
 .../{all => 1.16}/test_package/conanfile.py   |  0
 .../{all => 1.16}/test_package/test_package.c |  0
 .../test_v1_package/CMakeLists.txt            |  0
 .../test_v1_package/conanfile.py              |  0
 recipes/popt/1.19/conandata.yml               |  4 +
 recipes/popt/1.19/conanfile.py                | 88 +++++++++++++++++++
 recipes/popt/1.19/test_package/CMakeLists.txt |  7 ++
 recipes/popt/1.19/test_package/conanfile.py   | 26 ++++++
 recipes/popt/1.19/test_package/test_package.c | 17 ++++
 recipes/popt/config.yml                       |  4 +-
 14 files changed, 149 insertions(+), 1 deletion(-)
 rename recipes/popt/{all => 1.16}/conandata.yml (100%)
 rename recipes/popt/{all => 1.16}/conanfile.py (97%)
 rename recipes/popt/{all => 1.16}/patches/0004-vcpkg-fixmsvc.patch (100%)
 rename recipes/popt/{all => 1.16}/test_package/CMakeLists.txt (100%)
 rename recipes/popt/{all => 1.16}/test_package/conanfile.py (100%)
 rename recipes/popt/{all => 1.16}/test_package/test_package.c (100%)
 rename recipes/popt/{all => 1.16}/test_v1_package/CMakeLists.txt (100%)
 rename recipes/popt/{all => 1.16}/test_v1_package/conanfile.py (100%)
 create mode 100755 recipes/popt/1.19/conandata.yml
 create mode 100755 recipes/popt/1.19/conanfile.py
 create mode 100755 recipes/popt/1.19/test_package/CMakeLists.txt
 create mode 100755 recipes/popt/1.19/test_package/conanfile.py
 create mode 100755 recipes/popt/1.19/test_package/test_package.c
 mode change 100644 => 100755 recipes/popt/config.yml

diff --git a/recipes/popt/all/conandata.yml b/recipes/popt/1.16/conandata.yml
similarity index 100%
rename from recipes/popt/all/conandata.yml
rename to recipes/popt/1.16/conandata.yml
diff --git a/recipes/popt/all/conanfile.py b/recipes/popt/1.16/conanfile.py
similarity index 97%
rename from recipes/popt/all/conanfile.py
rename to recipes/popt/1.16/conanfile.py
index ce3a9a4e859ec..441401f46468c 100644
--- a/recipes/popt/all/conanfile.py
+++ b/recipes/popt/1.16/conanfile.py
@@ -53,6 +53,10 @@ def validate(self):
         if is_msvc(self) and self.options.shared:
             raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.")
 
+    def requirements(self):
+        if self.settings.os == "Neutrino":
+            self.requires("libiconv/[>=1.15]")
+
     def build_requirements(self):
         self.tool_requires("gnu-config/cci.20210814")
         if self._settings_build.os == "Windows":
diff --git a/recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch b/recipes/popt/1.16/patches/0004-vcpkg-fixmsvc.patch
similarity index 100%
rename from recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch
rename to recipes/popt/1.16/patches/0004-vcpkg-fixmsvc.patch
diff --git a/recipes/popt/all/test_package/CMakeLists.txt b/recipes/popt/1.16/test_package/CMakeLists.txt
similarity index 100%
rename from recipes/popt/all/test_package/CMakeLists.txt
rename to recipes/popt/1.16/test_package/CMakeLists.txt
diff --git a/recipes/popt/all/test_package/conanfile.py b/recipes/popt/1.16/test_package/conanfile.py
similarity index 100%
rename from recipes/popt/all/test_package/conanfile.py
rename to recipes/popt/1.16/test_package/conanfile.py
diff --git a/recipes/popt/all/test_package/test_package.c b/recipes/popt/1.16/test_package/test_package.c
similarity index 100%
rename from recipes/popt/all/test_package/test_package.c
rename to recipes/popt/1.16/test_package/test_package.c
diff --git a/recipes/popt/all/test_v1_package/CMakeLists.txt b/recipes/popt/1.16/test_v1_package/CMakeLists.txt
similarity index 100%
rename from recipes/popt/all/test_v1_package/CMakeLists.txt
rename to recipes/popt/1.16/test_v1_package/CMakeLists.txt
diff --git a/recipes/popt/all/test_v1_package/conanfile.py b/recipes/popt/1.16/test_v1_package/conanfile.py
similarity index 100%
rename from recipes/popt/all/test_v1_package/conanfile.py
rename to recipes/popt/1.16/test_v1_package/conanfile.py
diff --git a/recipes/popt/1.19/conandata.yml b/recipes/popt/1.19/conandata.yml
new file mode 100755
index 0000000000000..9154d03ec87c9
--- /dev/null
+++ b/recipes/popt/1.19/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "1.19":
+    url: "http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.19.tar.gz"
+    sha256: "c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9"
diff --git a/recipes/popt/1.19/conanfile.py b/recipes/popt/1.19/conanfile.py
new file mode 100755
index 0000000000000..a8a39dc69c064
--- /dev/null
+++ b/recipes/popt/1.19/conanfile.py
@@ -0,0 +1,88 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.apple import is_apple_os, fix_apple_shared_install_name
+from conan.tools.env import Environment, VirtualBuildEnv
+from conan.tools.files import collect_libs, copy, get, rmdir, rm
+from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps
+from conan.tools.layout import basic_layout
+from conan.tools.microsoft import is_msvc
+import os
+
+
+required_conan_version = ">=1.54.0"
+
+class PoptConan(ConanFile):
+    name = "popt"
+    description = "Library for parsing command line parameters"
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/rpm-software-management/popt"
+    topics = ("command line", "options", "parsing")
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def requirements(self):
+        if self.settings.os == "Neutrino":
+            self.requires("libiconv/1.15")
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def validate(self):
+        if is_msvc(self):
+            raise ConanInvalidConfiguration(f"{self.ref} can not be built with shared on Visual Studio and msvc, use mingw.")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        ad = AutotoolsDeps(self)
+        ad.generate()
+
+        tc = AutotoolsToolchain(self)
+        tc.ldflags.append("-lintl")
+        tc.generate()
+
+    def build(self):
+        autotools = Autotools(self)
+        autotools.configure()
+        autotools.make()
+
+    def package(self):
+        copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
+
+        autotools = Autotools(self)
+        autotools.install()
+
+        rm(self, "*.la", os.path.join(self.package_folder, "lib"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "share"))
+
+        fix_apple_shared_install_name(self)
+
+    def package_info(self):
+        self.cpp_info.libs = collect_libs(self)
+
+        if is_apple_os(self):
+            self.cpp_info.system_libs = ["iconv"]
+
+        if self.settings.os == "Neutrino":
+            self.cpp_info.system_libs = ["intl"]
diff --git a/recipes/popt/1.19/test_package/CMakeLists.txt b/recipes/popt/1.19/test_package/CMakeLists.txt
new file mode 100755
index 0000000000000..22ec2254e31d1
--- /dev/null
+++ b/recipes/popt/1.19/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.1)
+project(test_package LANGUAGES C)
+
+find_package(popt REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE popt::popt)
diff --git a/recipes/popt/1.19/test_package/conanfile.py b/recipes/popt/1.19/test_package/conanfile.py
new file mode 100755
index 0000000000000..e845ae751a301
--- /dev/null
+++ b/recipes/popt/1.19/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/popt/1.19/test_package/test_package.c b/recipes/popt/1.19/test_package/test_package.c
new file mode 100755
index 0000000000000..1ba85997582a9
--- /dev/null
+++ b/recipes/popt/1.19/test_package/test_package.c
@@ -0,0 +1,17 @@
+#include 
+#include 
+#include "popt.h"
+
+
+int main(int argc, const char* argv[]) {
+    struct poptOption table[] = {
+        POPT_AUTOHELP
+        POPT_TABLEEND
+    };
+
+    poptContext context = poptGetContext(NULL, argc, argv, table, 0);
+    poptGetNextOpt(context);
+    poptFreeContext(context);
+
+    return EXIT_SUCCESS;
+}
diff --git a/recipes/popt/config.yml b/recipes/popt/config.yml
old mode 100644
new mode 100755
index b41d4f764c9b5..5701e758adc33
--- a/recipes/popt/config.yml
+++ b/recipes/popt/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.19":
+    folder: "1.19"
   "1.16":
-    folder: all
+    folder: "1.16"

From 333c1f4276a18013cdb039df9be35b6c00fe8aec Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 22:51:06 +0900
Subject: [PATCH 3680/4087] (#22733) imgui: add version 1.90.2, 1.90.2-docking

---
 recipes/imgui/all/conandata.yml | 6 ++++++
 recipes/imgui/config.yml        | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml
index 99f46ac0b18c0..326ffeb754602 100644
--- a/recipes/imgui/all/conandata.yml
+++ b/recipes/imgui/all/conandata.yml
@@ -1,4 +1,10 @@
 sources:
+  "1.90.2":
+    url: "https://github.com/ocornut/imgui/archive/v1.90.2.tar.gz"
+    sha256: "452d1c11e5c4b4dfcca272915644a65f1c076498e8318b141ca75cd30470dd68"
+  "1.90.2-docking":
+    url: "https://github.com/ocornut/imgui/archive/v1.90.2-docking.tar.gz"
+    sha256: "69f1cd78d49ec9cc847b7082d641434ea731f0be41c6930bea08a46a0794ac17"
   "1.90.1":
     url: "https://github.com/ocornut/imgui/archive/v1.90.1.tar.gz"
     sha256: "21dcc985bb2ae8fe48047c86135dbc438d6980a8f2e08babbda5be820592f282"
diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml
index 5444f395d2f43..86b810236bae7 100644
--- a/recipes/imgui/config.yml
+++ b/recipes/imgui/config.yml
@@ -1,4 +1,8 @@
 versions:
+  "1.90.2":
+    folder: all
+  "1.90.2-docking":
+    folder: all
   "1.90.1":
     folder: all
   "1.90.1-docking":

From 39073effa061fb033e5d1a24e5c93f6656622d7e Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 23:09:11 +0900
Subject: [PATCH 3681/4087] (#22743) libzippp: add version 7.1-1.10.1

---
 recipes/libzippp/all/conandata.yml | 3 +++
 recipes/libzippp/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libzippp/all/conandata.yml b/recipes/libzippp/all/conandata.yml
index 20f731c93139a..8419667338e92 100644
--- a/recipes/libzippp/all/conandata.yml
+++ b/recipes/libzippp/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "7.1-1.10.1":
+    url: "https://github.com/ctabin/libzippp/archive/libzippp-v7.1-1.10.1.tar.gz"
+    sha256: "9ded3c4b5641e65d2b3a3dd0cbc4106209ee17c17df70e5187e7171420752546"
   "7.0-1.10.1":
     url: "https://github.com/ctabin/libzippp/archive/libzippp-v7.0-1.10.1.tar.gz"
     sha256: "67d6808406b4fc255016ede52c7b5105e2d0e43899a3331de9ed86da5dea07a1"
diff --git a/recipes/libzippp/config.yml b/recipes/libzippp/config.yml
index ce3931e22d5f5..eb03fe8bdec4f 100644
--- a/recipes/libzippp/config.yml
+++ b/recipes/libzippp/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "7.1-1.10.1":
+    folder: all
   "7.0-1.10.1":
     folder: all
   "6.1-1.9.2":

From 99ecffbf6c15636c3ff801479ea01cd1754638e0 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 23:30:51 +0900
Subject: [PATCH 3682/4087] (#22749) nng: add version 1.7.2, remove older
 versions, update mbedtls

* nng: add version 1.7.2, remove older versions, update mbedtls

* remove older versions in config.yml
---
 recipes/nng/all/conandata.yml                 | 19 +++----------------
 recipes/nng/all/conanfile.py                  |  8 +++++++-
 .../0001-fix-ios-tvos-watchos-1.3.0.patch     | 11 -----------
 recipes/nng/config.yml                        |  6 ++----
 4 files changed, 12 insertions(+), 32 deletions(-)
 delete mode 100644 recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch

diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml
index 84d072aa8848a..a0f5356224bc7 100644
--- a/recipes/nng/all/conandata.yml
+++ b/recipes/nng/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.7.2":
+    url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.2.tar.gz"
+    sha256: "40e6af7bdd5d02ee98ba8fe5fd5c149ce3e5a555f202cdc837e3ead2d7cc7534"
   "1.7.1":
     url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.1.tar.gz"
     sha256: "b62b2170d2b4757f9f01fb65e5aa9f078dec726735e9de5ed5d7e332cbbbf2ef"
@@ -17,12 +20,6 @@ sources:
   "1.3.2":
     url: "https://github.com/nanomsg/nng/archive/v1.3.2.tar.gz"
     sha256: "0f8f2ede7f5ea2018c7fa615c76f48662eb06d39c71c3339f8ff38da44470855"
-  "1.3.1":
-    url: "https://github.com/nanomsg/nng/archive/v1.3.1.tar.gz"
-    sha256: "3f258514b6aed931485ce1a6e5745e07416d32e6c4315ae771ff358e9fd18e55"
-  "1.3.0":
-    url: "https://github.com/nanomsg/nng/archive/v1.3.0.tar.gz"
-    sha256: "e8fe50d0f79ec3243733f8b4c25099c88b2597ed1bb0d94a27c4385a2a24ecac"
 patches:
   "1.5.1":
     - patch_file: patches/0001-fix-ios-tvos-watchos-1.5.1.patch
@@ -34,13 +31,3 @@ patches:
       patch_description: "add support iOS, tvOS and watchOS"
       patch_type: "portability"
       patch_source: "https://github.com/nanomsg/nng/pull/1474"
-  "1.3.1":
-    - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.1.patch
-      patch_description: "add support iOS, tvOS and watchOS"
-      patch_type: "portability"
-      patch_source: "https://github.com/nanomsg/nng/pull/1474"
-  "1.3.0":
-    - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.0.patch
-      patch_description: "add support iOS, tvOS and watchOS"
-      patch_type: "portability"
-      patch_source: "https://github.com/nanomsg/nng/pull/1474"
diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py
index 418a70d42be1f..3de52cd9ed251 100644
--- a/recipes/nng/all/conanfile.py
+++ b/recipes/nng/all/conanfile.py
@@ -26,6 +26,7 @@ class NngConan(ConanFile):
         "max_taskq_threads": ["ANY"],
         "max_expire_threads": ["ANY"],
         "max_poller_threads": ["ANY"],
+        "compat": [True, False],
     }
     default_options = {
         "shared": False,
@@ -36,6 +37,7 @@ class NngConan(ConanFile):
         "max_taskq_threads": "16",
         "max_expire_threads": "8",
         "max_poller_threads": "8",
+        "compat": True,
     }
 
     def export_sources(self):
@@ -48,6 +50,8 @@ def config_options(self):
             del self.options.max_expire_threads
         if Version(self.version) < "1.7.0":
             del self.options.max_poller_threads
+        if Version(self.version) < "1.7.2":
+            del self.options.compat
 
     def configure(self):
         if self.options.shared:
@@ -63,7 +67,7 @@ def requirements(self):
             if Version(self.version) < "1.5.2":
                 self.requires("mbedtls/2.25.0")
             else:
-                self.requires("mbedtls/3.5.1")
+                self.requires("mbedtls/3.5.2")
 
     def validate(self):
         compiler_minimum_version = {
@@ -96,6 +100,8 @@ def generate(self):
             tc.variables["NNG_MAX_EXPIRE_THREADS"] = self.options.max_expire_threads
         if "max_poller_threads" in self.options:
             tc.variables["NNG_MAX_POLLER_THREADS"] = self.options.max_poller_threads
+        if "compat" in self.options:
+            tc.variables["NNG_ENABLE_COMPAT"] = self.options.compat
         tc.generate()
 
     def build(self):
diff --git a/recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch b/recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch
deleted file mode 100644
index 3b71e923ae407..0000000000000
--- a/recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -214,7 +214,7 @@ elseif (CMAKE_SYSTEM_NAME MATCHES "Android")
-     add_definitions(-DNNG_USE_EVENTFD)
-     set(NNG_PLATFORM_POSIX ON)
- 
--elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
-+elseif (APPLE)
-     add_definitions(-DNNG_PLATFORM_POSIX)
-     add_definitions(-DNNG_PLATFORM_DARWIN)
-     set(NNG_PLATFORM_POSIX ON)
diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml
index 3e8e4d6c71efa..5c118cf597a33 100644
--- a/recipes/nng/config.yml
+++ b/recipes/nng/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.7.2":
+    folder: all
   "1.7.1":
     folder: all
   "1.7.0":
@@ -11,7 +13,3 @@ versions:
     folder: all
   "1.3.2":
     folder: all
-  "1.3.1":
-    folder: all
-  "1.3.0":
-    folder: all

From c631a5e52194a89f17fdad0141aef295d650d807 Mon Sep 17 00:00:00 2001
From: Anton 
Date: Mon, 12 Feb 2024 17:57:37 +0300
Subject: [PATCH 3683/4087] (#16372) dnet: add 1.16.3

* Init libdnet

* move to cmake

* prepare for cmake

* rename package

* fix license

* fix write header

* fix libcxx and cppstd

* bump to upstream

* Apply suggestions from code review

Co-authored-by: Martin Valgur 

* Remove test_v1_package, fix configure method

---------

Co-authored-by: Martin Valgur 
Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com>
---
 recipes/dnet/all/conandata.yml               |  4 ++
 recipes/dnet/all/conanfile.py                | 70 ++++++++++++++++++++
 recipes/dnet/all/test_package/CMakeLists.txt |  7 ++
 recipes/dnet/all/test_package/conanfile.py   | 26 ++++++++
 recipes/dnet/all/test_package/test_package.c | 39 +++++++++++
 recipes/dnet/config.yml                      |  3 +
 6 files changed, 149 insertions(+)
 create mode 100644 recipes/dnet/all/conandata.yml
 create mode 100644 recipes/dnet/all/conanfile.py
 create mode 100644 recipes/dnet/all/test_package/CMakeLists.txt
 create mode 100644 recipes/dnet/all/test_package/conanfile.py
 create mode 100644 recipes/dnet/all/test_package/test_package.c
 create mode 100644 recipes/dnet/config.yml

diff --git a/recipes/dnet/all/conandata.yml b/recipes/dnet/all/conandata.yml
new file mode 100644
index 0000000000000..6e95e35e1a154
--- /dev/null
+++ b/recipes/dnet/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "1.17.0":
+    url: "https://github.com/ofalk/libdnet/archive/refs/tags/libdnet-1.17.0.tar.gz"
+    sha256: "6be1ed0763151ede4c9665a403f1c9d974b2ffab2eacdb26b22078e461aae1dc"
diff --git a/recipes/dnet/all/conanfile.py b/recipes/dnet/all/conanfile.py
new file mode 100644
index 0000000000000..c8d803e208864
--- /dev/null
+++ b/recipes/dnet/all/conanfile.py
@@ -0,0 +1,70 @@
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.files import copy, get, rmdir
+import os
+
+
+required_conan_version = ">=1.56.0"
+
+
+class dnetConan(ConanFile):
+    name = "dnet"
+    description = "Provides a simplified, portable interface to several low-level networking routines."
+    homepage = "https://github.com/ofalk/libdnet"
+    topics = ("dnet", "libdnet", "libdumbnet")
+    license = "BSD-3-Clause"
+    url = "https://github.com/conan-io/conan-center-index"
+    package_type = "library"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True
+    }
+    settings = "os", "arch", "compiler", "build_type"
+
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        # This is a pure C project
+        self.settings.rm_safe("compiler.cppstd")
+        self.settings.rm_safe("compiler.libcxx")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.generate()
+
+        deps = CMakeDeps(self)
+        deps.generate()
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+    
+    def package(self):
+        copy(self,"LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+
+    def package_info(self):
+        self.cpp_info.libs.append("dnet")
+        self.cpp_info.includedirs.append(os.path.join("include", "dnet"))
+ 
+        if self.settings.os == 'Windows':
+            self.cpp_info.system_libs = ['Iphlpapi', 'wsock32']
diff --git a/recipes/dnet/all/test_package/CMakeLists.txt b/recipes/dnet/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..d2b66a2eb9cdf
--- /dev/null
+++ b/recipes/dnet/all/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.1)
+project(test_package C)
+
+find_package(dnet REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE dnet::dnet)
diff --git a/recipes/dnet/all/test_package/conanfile.py b/recipes/dnet/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..dcfce1e159562
--- /dev/null
+++ b/recipes/dnet/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import CMake, cmake_layout
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            self.run("{} {}".format(bin_path, "127.0.0.1"), env="conanrun")
diff --git a/recipes/dnet/all/test_package/test_package.c b/recipes/dnet/all/test_package/test_package.c
new file mode 100644
index 0000000000000..6102a898664e5
--- /dev/null
+++ b/recipes/dnet/all/test_package/test_package.c
@@ -0,0 +1,39 @@
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+#if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
+#include 
+#elif defined(_WIN32)
+#include 
+#endif
+
+void addr_usage(void)
+{
+	fprintf(stderr, "Usage: dnet addr 
...\n"); + exit(1); +} + +int main(int argc, char *argv[]) +{ + struct addr addr; + int c, len; + + if (argc == 1 || *(argv[1]) == '-') + addr_usage(); + + for (c = 1; c < argc; c++) { + if (addr_aton(argv[c], &addr) < 0) + addr_usage(); + + len = addr.addr_bits / 8; + + if (write(1, addr.addr_data8, len) != len) + err(1, "write"); + } + return 0; +} diff --git a/recipes/dnet/config.yml b/recipes/dnet/config.yml new file mode 100644 index 0000000000000..aad66aeff535b --- /dev/null +++ b/recipes/dnet/config.yml @@ -0,0 +1,3 @@ +versions: + "1.17.0": + folder: "all" From d4f8f3fc452a8be89cdc2900c9917a97e5851314 Mon Sep 17 00:00:00 2001 From: Philipp <57151725+philippun1@users.noreply.github.com> Date: Mon, 12 Feb 2024 16:30:09 +0100 Subject: [PATCH 3684/4087] (#22675) qt: update libpng/1.6.42 Co-authored-by: Uilian Ries --- recipes/qt/5.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index ff873bf5ea419..8b1c566af5c7c 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -371,7 +371,7 @@ def requirements(self): else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: - self.requires("libpng/1.6.40") + self.requires("libpng/1.6.42") if self.options.with_sqlite3 and not self.options.multiconfiguration: self.requires("sqlite3/3.45.0") if self.options.get_safe("with_mysql", False): From cc9c2eafb0f71e4f1bce172bd91b8f0d4a270cad Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 01:09:10 +0900 Subject: [PATCH 3685/4087] (#22741) glaze: add version 2.0.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 247424073dd75..082ab5fde6a56 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.9": + url: "https://github.com/stephenberry/glaze/archive/v2.0.9.tar.gz" + sha256: "c1ffede3db5c74d2c46a3abe576985dc729c95df1b48ab575079427b55488bbd" "2.0.7": url: "https://github.com/stephenberry/glaze/archive/v2.0.7.tar.gz" sha256: "1bf981e72733fb5a02a91c9642d91fa39e4a1ebe42f81e8fc6a016c11ed762cb" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 67e6a0900ca46..5d09cdcfa69bd 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.9": + folder: all "2.0.7": folder: all "2.0.6": From 99fc90a31176bc52e6ebefb826d1d284f8d457c9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 01:29:53 +0900 Subject: [PATCH 3686/4087] (#22756) leveldb: update snappy/1.1.10 --- recipes/leveldb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/leveldb/all/conanfile.py b/recipes/leveldb/all/conanfile.py index 25822de4f07a9..8886ea342497d 100644 --- a/recipes/leveldb/all/conanfile.py +++ b/recipes/leveldb/all/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): # there is no "official" conan package yet; when that is available, we # can add similar with options for those if self.options.with_snappy: - self.requires("snappy/1.1.9") + self.requires("snappy/1.1.10") if self.options.with_crc32c: self.requires("crc32c/1.1.2") From 4cd206343279143418283690f95a77256143fee2 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 12 Feb 2024 18:10:02 +0100 Subject: [PATCH 3687/4087] (#22709) aws-c-auth: update dependencies Due to #21033, we'll have to raise the aws-c-io dependency here as well. --- recipes/aws-c-auth/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index 0181ea2ac5e2c..edc82083e9c0b 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): else: self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.6.9") - self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-io/0.13.35", transitive_headers=True, transitive_libs=True) self.requires("aws-c-http/0.7.14", transitive_headers=True) self.requires("aws-c-sdkutils/0.1.12", transitive_headers=True) From 11f8b5b175d9beaac1c4f0b8d293f39f29fc13fb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Feb 2024 18:22:58 +0000 Subject: [PATCH 3688/4087] (#22754) [bot] Update authorized users list (2024-02-12) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 4200ed3ec3c89..37b43973ce278 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1284,3 +1284,7 @@ authorized_users: - MelamudMichael - Rodarin - philippun1 +- Kaaml +- AlexanderBabansky +- matthiasbuhl +- cnicolaescu From f79bb63fc77a749aeb1cac56dda0e5c049094058 Mon Sep 17 00:00:00 2001 From: PeteAudinate <99274874+PeteAudinate@users.noreply.github.com> Date: Mon, 12 Feb 2024 18:49:09 +0000 Subject: [PATCH 3689/4087] (#22732) b2: Don't apply CXXFLAGS env var if it doesn't exist Without this cxxflags are set to "None" which causes a compile failure. --- recipes/b2/portable/conanfile.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/b2/portable/conanfile.py b/recipes/b2/portable/conanfile.py index f93460f8b28cf..eb45936017eef 100644 --- a/recipes/b2/portable/conanfile.py +++ b/recipes/b2/portable/conanfile.py @@ -159,13 +159,14 @@ def build(self): if self.options.use_cxx_env: envvars = VirtualBuildEnv(self).vars() - cxx = envvars.get("CXX") - if cxx: - command += f" --cxx={cxx}" - self._write_project_config(cxx) + cxx_env = envvars.get("CXX") + if cxx_env: + command += f" --cxx={cxx_env}" + self._write_project_config(cxx_env) cxxflags_env = envvars.get("CXXFLAGS") - cxxflags = f"{cxxflags} {cxxflags_env}" + if cxxflags_env: + cxxflags = f"{cxxflags} {cxxflags_env}" if cxxflags: command += f' --cxxflags="{cxxflags}"' From 9540705c64a0b4fb8a375f40b2f793b091826a30 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 05:49:44 +0900 Subject: [PATCH 3690/4087] (#22755) uvw: add version 3.3.0 --- recipes/uvw/all/conandata.yml | 3 +++ recipes/uvw/all/conanfile.py | 1 + recipes/uvw/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/uvw/all/conandata.yml b/recipes/uvw/all/conandata.yml index 2ce44b1f85239..f88dde6763845 100644 --- a/recipes/uvw/all/conandata.yml +++ b/recipes/uvw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/skypjack/uvw/archive/v3.3.0_libuv_v1.47.tar.gz" + sha256: "aabb17d3d8f0b3481b44e981c889dd4a2a6a3f1a96a4d01055e669f4b7d37d0e" "3.2.0": url: "https://github.com/skypjack/uvw/archive/v3.2.0_libuv_v1.46.tar.gz" sha256: "bd5aed741765950074b1ea2507291dce81e528abdf56c406991ad4a27d8d1714" diff --git a/recipes/uvw/all/conanfile.py b/recipes/uvw/all/conanfile.py index af145be3d5ce2..fc221de9ee0df 100644 --- a/recipes/uvw/all/conanfile.py +++ b/recipes/uvw/all/conanfile.py @@ -38,6 +38,7 @@ def _compilers_minimum_version(self): @property def _required_libuv_version(self): return { + "3.3.0": "1.47.0", "3.2.0": "1.46.0", "3.1.0": "1.45.0", "2.12.1": "1.44.2", diff --git a/recipes/uvw/config.yml b/recipes/uvw/config.yml index f7ecad1e5c9ed..7b4a0bac4b71c 100644 --- a/recipes/uvw/config.yml +++ b/recipes/uvw/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: "all" "3.2.0": folder: "all" "3.1.0": From ad0b678359127ee31176de2881c505ffb903aceb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Feb 2024 22:47:20 +0000 Subject: [PATCH 3691/4087] (#22758) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 8eeed5f74f09b..c8822abbf29a6 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -343,6 +343,7 @@ required_for_references: - erikzenker-hsm - erkir - etc2comp +- etcd-cpp-apiv3 - eternal - ethash - etl @@ -530,8 +531,10 @@ required_for_references: - indicators - indirect_value - influxdb-cpp +- influxdb-cxx - inih - inja +- intel-ipsec-mb - intel-neon2sse - intx - inversify-cpp @@ -801,6 +804,7 @@ required_for_references: - linux-syscall-support - litehtml - lksctp-tools +- llama-cpp - llhttp - llvm-openmp - lmdb @@ -831,6 +835,7 @@ required_for_references: - make - mapbox-geometry - mapbox-variant +- mapbox-wagyu - mariadb-connector-c - marisa - matchit @@ -859,6 +864,7 @@ required_for_references: - metall - metis - mfast +- mgclient - mgs - microprofile - microservice-essentials @@ -983,6 +989,7 @@ required_for_references: - opencore-amr - opencv - openddl-parser +- opendis6 - opene57 - openexr - openfbx From b7d0b6343d9648658d971b7468687e55b6cdfef1 Mon Sep 17 00:00:00 2001 From: Cristi N Date: Tue, 13 Feb 2024 09:50:35 +0100 Subject: [PATCH 3692/4087] (#22753) sqlite3: added `use_uri` option - which translates into `SQLITE_USE_URI` compile option --- recipes/sqlite3/all/CMakeLists.txt | 4 ++++ recipes/sqlite3/all/conanfile.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/recipes/sqlite3/all/CMakeLists.txt b/recipes/sqlite3/all/CMakeLists.txt index 1f1e60b9b2dcf..9d6257e47853f 100644 --- a/recipes/sqlite3/all/CMakeLists.txt +++ b/recipes/sqlite3/all/CMakeLists.txt @@ -17,6 +17,7 @@ option(ENABLE_RTREE "Enable support for the R*Tree index extension") option(ENABLE_UNLOCK_NOTIFY "Enable support for the unlock notify API") option(ENABLE_DEFAULT_SECURE_DELETE "Turns on secure deletion by default") option(USE_ALLOCA "The alloca() memory allocator will be used in a few situations where it is appropriate.") +option(USE_URI "This option causes the URI filename process logic to be enabled by default.") option(OMIT_LOAD_EXTENSION "Omits the entire extension loading mechanism from SQLite") option(OMIT_DEPRECATED "Omits deprecated interfaces and features") if(SQLITE3_VERSION VERSION_GREATER_EQUAL "3.35.0") @@ -93,6 +94,9 @@ endif() if(USE_ALLOCA) target_compile_definitions(${PROJECT_NAME} PRIVATE SQLITE_USE_ALLOCA) endif() +if(USE_URI) + target_compile_definitions(${PROJECT_NAME} PRIVATE SQLITE_USE_URI) +endif() if(OMIT_LOAD_EXTENSION) target_compile_definitions(${PROJECT_NAME} PRIVATE SQLITE_OMIT_LOAD_EXTENSION) endif() diff --git a/recipes/sqlite3/all/conanfile.py b/recipes/sqlite3/all/conanfile.py index eddf425a36988..8c9aee8f54806 100644 --- a/recipes/sqlite3/all/conanfile.py +++ b/recipes/sqlite3/all/conanfile.py @@ -35,6 +35,7 @@ class Sqlite3Conan(ConanFile): "enable_preupdate_hook": [True, False], "enable_rtree": [True, False], "use_alloca": [True, False], + "use_uri": [True, False], "omit_load_extension": [True, False], "omit_deprecated": [True, False], "enable_math_functions": [True, False], @@ -64,6 +65,7 @@ class Sqlite3Conan(ConanFile): "enable_preupdate_hook": False, "enable_rtree": True, "use_alloca": False, + "use_uri": False, "omit_load_extension": False, "omit_deprecated": False, "enable_math_functions": True, @@ -130,6 +132,7 @@ def generate(self): tc.variables["ENABLE_UNLOCK_NOTIFY"] = self.options.enable_unlock_notify tc.variables["ENABLE_DEFAULT_SECURE_DELETE"] = self.options.enable_default_secure_delete tc.variables["USE_ALLOCA"] = self.options.use_alloca + tc.variables["USE_URI"] = self.options.use_uri tc.variables["OMIT_LOAD_EXTENSION"] = self.options.omit_load_extension tc.variables["OMIT_DEPRECATED"] = self.options.omit_deprecated if self._has_enable_math_function_option: From 2472bc0fdd9da2f19710d337413db85ee603bb32 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 18:27:56 +0900 Subject: [PATCH 3693/4087] (#22760) glaze: add version 2.1.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 082ab5fde6a56..4e699ca475415 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/stephenberry/glaze/archive/v2.1.0.tar.gz" + sha256: "b3bb4d886f17d266f37a6eec2c42b2e57e287918b20511297c4eb6b9960f0f8f" "2.0.9": url: "https://github.com/stephenberry/glaze/archive/v2.0.9.tar.gz" sha256: "c1ffede3db5c74d2c46a3abe576985dc729c95df1b48ab575079427b55488bbd" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5d09cdcfa69bd..45dcbfc2283ba 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.9": folder: all "2.0.7": From c83402cd0166e66c662b1bbfafcfc130bdf5c8ce Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Tue, 13 Feb 2024 11:47:57 +0100 Subject: [PATCH 3694/4087] (#22757) sfl: Add sfl version 1.2.3 * sfl: Add sfl conan package * sfl: Add sfl conan package --- recipes/sfl/all/conandata.yml | 4 ++ recipes/sfl/all/conanfile.py | 45 +++++++++++++++++++ recipes/sfl/all/test_package/CMakeLists.txt | 8 ++++ recipes/sfl/all/test_package/conanfile.py | 28 ++++++++++++ recipes/sfl/all/test_package/test_package.cpp | 23 ++++++++++ recipes/sfl/config.yml | 3 ++ 6 files changed, 111 insertions(+) create mode 100644 recipes/sfl/all/conandata.yml create mode 100644 recipes/sfl/all/conanfile.py create mode 100644 recipes/sfl/all/test_package/CMakeLists.txt create mode 100644 recipes/sfl/all/test_package/conanfile.py create mode 100644 recipes/sfl/all/test_package/test_package.cpp create mode 100644 recipes/sfl/config.yml diff --git a/recipes/sfl/all/conandata.yml b/recipes/sfl/all/conandata.yml new file mode 100644 index 0000000000000..78138456b199b --- /dev/null +++ b/recipes/sfl/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.2.3": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.3.tar.gz" + sha256: "6111a81b5dcad091c5c8a420d127c1bbfb06f8fbb7d915e6a30b4b7d2d67db71" diff --git a/recipes/sfl/all/conanfile.py b/recipes/sfl/all/conanfile.py new file mode 100644 index 0000000000000..ef6582dd3b15f --- /dev/null +++ b/recipes/sfl/all/conanfile.py @@ -0,0 +1,45 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.62.0" + + +class SflConan(ConanFile): + name = "sfl" + description = "A header-only C++11 library that offers several new containers" + license = "Zlib" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/slavenf/sfl-library" + topics = ("containers", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/sfl/all/test_package/CMakeLists.txt b/recipes/sfl/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f8085bbcbe2d6 --- /dev/null +++ b/recipes/sfl/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(sfl REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE sfl::sfl) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/sfl/all/test_package/conanfile.py b/recipes/sfl/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e62d4fe972ff2 --- /dev/null +++ b/recipes/sfl/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sfl/all/test_package/test_package.cpp b/recipes/sfl/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..78ba6f47df1d5 --- /dev/null +++ b/recipes/sfl/all/test_package/test_package.cpp @@ -0,0 +1,23 @@ +#include + +#include "sfl/small_vector.hpp" +#include "sfl/small_flat_set.hpp" +#include "sfl/small_flat_map.hpp" +#include "sfl/small_flat_multiset.hpp" +#include "sfl/small_flat_multimap.hpp" +#include "sfl/small_unordered_flat_set.hpp" +#include "sfl/small_unordered_flat_map.hpp" +#include "sfl/small_unordered_flat_multiset.hpp" +#include "sfl/small_unordered_flat_multimap.hpp" +#include "sfl/compact_vector.hpp" +#include "sfl/segmented_vector.hpp" + +int main() { + sfl::small_vector v1; + v1.push_back(123); + + sfl::segmented_vector v2; + v2.push_back(123); + + return EXIT_SUCCESS; +} diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml new file mode 100644 index 0000000000000..81ff4bc37c872 --- /dev/null +++ b/recipes/sfl/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.3": + folder: "all" From 1240f77542b77a9b245583162c8b63e980b2a59c Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 13 Feb 2024 14:48:12 +0300 Subject: [PATCH 3695/4087] (#22716) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 16e0c43dea8d2..59b1267eb8b5a 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.1.tar.gz" + sha256: "054cbaa286cfd3ce2d4e5c178b303b80eb23ad5bd54541571d6c9afbd285986e" "2.7.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.0.tar.gz" sha256: "e5722b586fa6c6d126487056fa47f0d933b94413ac44b79f52573226eca04a07" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 36c498e0d5bfd..3527c586022c3 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.1": + folder: all "2.7.0": folder: all "2.6.0": From 5daf02ff7bbafca2444af6c5b4d2c90d777b8176 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 13 Feb 2024 17:28:09 +0300 Subject: [PATCH 3696/4087] (#22762) md4qt: bump version to 2.7.2 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 59b1267eb8b5a..315e8aca50cf0 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.2.tar.gz" + sha256: "2d6b65db799fff944f2ecb8bb411f17687e41e0d5a17a37ad1c4bd22fe997d8b" "2.7.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.1.tar.gz" sha256: "054cbaa286cfd3ce2d4e5c178b303b80eb23ad5bd54541571d6c9afbd285986e" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 3527c586022c3..e03897a5ac97e 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.2": + folder: all "2.7.1": folder: all "2.7.0": From 96c442996dfa00e8ca3bcc1407a4982c49440b27 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 13 Feb 2024 16:02:11 +0100 Subject: [PATCH 3697/4087] (#22763) [hiredis] Use cache variables to make work with Cmake Signed-off-by: Uilian Ries --- recipes/hiredis/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/hiredis/all/conanfile.py b/recipes/hiredis/all/conanfile.py index 4973e6b1da136..f81b8f52adbcd 100644 --- a/recipes/hiredis/all/conanfile.py +++ b/recipes/hiredis/all/conanfile.py @@ -56,9 +56,9 @@ def generate(self): # Since 1.2.0, BUILD_SHARED_LIBS has been defined by option() if Version(self.version) >= "1.2.0": tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["ENABLE_SSL"] = self.options.with_ssl - tc.variables["DISABLE_TESTS"] = True - tc.variables["ENABLE_EXAMPLES"] = False + tc.cache_variables["ENABLE_SSL"] = self.options.with_ssl + tc.cache_variables["DISABLE_TESTS"] = True + tc.cache_variables["ENABLE_EXAMPLES"] = False tc.generate() deps = CMakeDeps(self) deps.generate() From 37ed7f626150388f389b951994bd7a3477c40d45 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 13 Feb 2024 20:07:42 +0200 Subject: [PATCH 3698/4087] (#22295) physx: add v4.1.2, add package_type and no_copy_source=True MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * physx: add v4.1.2 * physx: set no_copy_source = True, package_type = "library" The source archive is more than 600 MB alone. * physx: fix test_package * physx: CMakeDeps is not needed * physx: use f-strings * Patch on source() method instead of build() due to no_copy_source=True We checked that the patches do not depend on the configuration --------- Co-authored-by: Rubén Rincón Blanco --- recipes/physx/4.x.x/conandata.yml | 13 ++++++++++ recipes/physx/4.x.x/conanfile.py | 25 ++++++++----------- recipes/physx/4.x.x/test_package/conanfile.py | 5 ++-- recipes/physx/config.yml | 2 ++ 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/recipes/physx/4.x.x/conandata.yml b/recipes/physx/4.x.x/conandata.yml index 6ce5c7aca0b19..3407713e50946 100644 --- a/recipes/physx/4.x.x/conandata.yml +++ b/recipes/physx/4.x.x/conandata.yml @@ -1,8 +1,21 @@ sources: + "4.1.2": + url: "https://github.com/NVIDIAGameWorks/PhysX/archive/a2c0428acab643e60618c681b501e86f7fd558cc.zip" + sha256: "d9c1939490a990277f8c773f288294cecb10e6fad8c820acad90fd4168b8ace3" "4.1.1": url: "https://github.com/NVIDIAGameWorks/PhysX/archive/ae80dede0546d652040ae6260a810e53e20a06fa.zip" sha256: "dd7db4c7879659658753029de57d04b18047ec04687b60f70335cde148a48d68" patches: + "4.1.2": + - patch_file: "patches/0003-PsWindowsInlineAoS-msvc142-bug-workaround.patch" + patch_description: "Workaround for a MSVC 142 bug on V3LoadA" + patch_type: "portability" + - patch_file: "patches/0004-Conan-PhysXGpu-name-workaround.patch" + patch_description: "Fix PhysXGpu library name" + patch_type: "conan" + - patch_file: "patches/0005-CMake-macos-ios-android-install-targets.patch" + patch_description: "Add installation targets for iOS, MacOS, Android" + patch_type: "portability" "4.1.1": - patch_file: "patches/0001-PsAllocator-include-typeinfo.patch" patch_description: "Fixed typeinfo inclusion for some VS versions" diff --git a/recipes/physx/4.x.x/conanfile.py b/recipes/physx/4.x.x/conanfile.py index 502ac7ccfc798..35264535f45b5 100644 --- a/recipes/physx/4.x.x/conanfile.py +++ b/recipes/physx/4.x.x/conanfile.py @@ -18,6 +18,7 @@ class PhysXConan(ConanFile): homepage = "https://github.com/NVIDIAGameWorks/PhysX" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "compiler", "arch", "build_type" options = { "shared": [True, False], @@ -35,8 +36,7 @@ class PhysXConan(ConanFile): } short_paths = True - - generators = "CMakeDeps" + no_copy_source = True def export_sources(self): export_conandata_patches(self) @@ -64,30 +64,28 @@ def validate(self): if self.settings.os == "Macos": if self.settings.arch not in ["x86", "x86_64"]: - raise ConanInvalidConfiguration("{} only supports x86 and x86_64 on macOS".format(self.name)) - + raise ConanInvalidConfiguration(f"{self.name} only supports x86 and x86_64 on macOS") + if valid_min_cppstd(self, 17): - raise ConanInvalidConfiguration("{} is not supported with C++ 17. Contributions are welcome.".format(self.name)) + raise ConanInvalidConfiguration(f"{self.name} is not supported with C++ 17. Contributions are welcome.") build_type = self.settings.build_type if build_type not in ["Debug", "RelWithDebInfo", "Release"]: raise ConanInvalidConfiguration("Current build_type is not supported") if self.settings.os == "Windows" and not is_msvc(self): - raise ConanInvalidConfiguration("{} only supports Visual Studio on Windows".format(self.name)) + raise ConanInvalidConfiguration(f"{self.name} only supports Visual Studio on Windows") if is_msvc(self): allowed_runtimes = ["MDd", "MTd"] if build_type == "Debug" else ["MD", "MT"] if msvc_runtime_flag(self) not in allowed_runtimes: raise ConanInvalidConfiguration( - "Visual Studio runtime {0} is required for {1} build type".format( - " or ".join(allowed_runtimes), - build_type, - ) + f"Visual Studio runtime {' or '.join(allowed_runtimes)} is required for {build_type} build type" ) def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + self._patch_sources() def generate(self): tc = CMakeToolchain(self) @@ -141,8 +139,6 @@ def generate(self): tc.generate() def build(self): - self._patch_sources() - cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "physx/compiler/public")) cmake.build(build_type=self._get_physx_build_type()) @@ -185,8 +181,7 @@ def _patch_sources(self): ): target, _ = os.path.splitext(os.path.basename(cmake_file)) replace_in_file(self, os.path.join(physx_source_cmake_dir, cmake_file), - "SET_TARGET_PROPERTIES({} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)".format(target), - "") + f"SET_TARGET_PROPERTIES({target} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)", "") # No error for compiler warnings replace_in_file(self, os.path.join(physx_source_cmake_dir, "windows", "CMakeLists.txt"), @@ -263,7 +258,7 @@ def _copy_external_bin(self): "pattern": "PhysXDevice*.dll", "vc_ver": {"180": "vc120", "190": "vc140", "191": "vc141"}.get(str(compiler_version), "vc142") }] - + package_dst_bin_dir = os.path.join(self.package_folder, "bin") for dll_info in dll_info_list: diff --git a/recipes/physx/4.x.x/test_package/conanfile.py b/recipes/physx/4.x.x/test_package/conanfile.py index 3bc1fe0a67f9f..ff6d00f1438e2 100644 --- a/recipes/physx/4.x.x/test_package/conanfile.py +++ b/recipes/physx/4.x.x/test_package/conanfile.py @@ -6,6 +6,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) @@ -15,7 +16,7 @@ def layout(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["TEST_SHARED_LIBRARY"] = True if "fPIC" not in self.options["physx"].fields else self.options["physx"].fPIC + tc.variables["TEST_SHARED_LIBRARY"] = self.dependencies["physx"].options.get_safe("fPIC", True) tc.generate() def build(self): @@ -25,5 +26,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/physx/config.yml b/recipes/physx/config.yml index ff5afb6866457..f46b35cc99652 100644 --- a/recipes/physx/config.yml +++ b/recipes/physx/config.yml @@ -1,3 +1,5 @@ versions: + "4.1.2": + folder: "4.x.x" "4.1.1": folder: "4.x.x" From c9662ba806cbd111fbffc50b0560e743ad26b3f4 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Wed, 14 Feb 2024 12:09:27 +0100 Subject: [PATCH 3699/4087] (#21761) pthreadpool: Add cci.20231129 --- recipes/pthreadpool/all/conandata.yml | 3 +++ recipes/pthreadpool/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pthreadpool/all/conandata.yml b/recipes/pthreadpool/all/conandata.yml index 4a1b5d58d8c57..5b276e0fd5b93 100644 --- a/recipes/pthreadpool/all/conandata.yml +++ b/recipes/pthreadpool/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231129": + url: "https://github.com/Maratyszcza/pthreadpool/archive/4fe0e1e183925bf8cfa6aae24237e724a96479b8.zip" + sha256: "a4cf06de57bfdf8d7b537c61f1c3071bce74e57524fe053e0bbd2332feca7f95" "cci.20210218": url: "https://github.com/Maratyszcza/pthreadpool/archive/b4589998be9a0f794236cf46f1b5b232b2b15ca3.zip" sha256: "b09f79d1b609239861bce5ed4ba4fbcf04f36e2c31471276158c44e5e15fde95" diff --git a/recipes/pthreadpool/config.yml b/recipes/pthreadpool/config.yml index 888d588d579dc..cb37cf1973096 100644 --- a/recipes/pthreadpool/config.yml +++ b/recipes/pthreadpool/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20231129": + folder: all "cci.20210218": folder: all From c05d1e9fe8eef997d59346269594368c4c39824e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Feb 2024 01:47:05 +0900 Subject: [PATCH 3700/4087] (#19698) oatpp-sqlite: update sqlite3, use transitive_headers, use rm_safe * oatpp-sqlite: update sqlite3, use transitive_headers, use rm_safe * update sqlite3/3.43.1 * update dependencies Co-authored-by: Matthieu Darbois * update sqlite3 --------- Co-authored-by: Matthieu Darbois --- recipes/oatpp-sqlite/all/conanfile.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/recipes/oatpp-sqlite/all/conanfile.py b/recipes/oatpp-sqlite/all/conanfile.py index 75896ed5f3e71..5d2b46351ef5e 100644 --- a/recipes/oatpp-sqlite/all/conanfile.py +++ b/recipes/oatpp-sqlite/all/conanfile.py @@ -7,17 +7,17 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=1.53.0" class OatppsqliteConan(ConanFile): name = "oatpp-sqlite" + description = "SQLite adapter for oatpp ORM." license = "Apache-2.0" - homepage = "https://github.com/oatpp/oatpp-sqlite" url = "https://github.com/conan-io/conan-center-index" - description = "oat++ SQLite library" + homepage = "https://github.com/oatpp/oatpp-sqlite" topics = ("oat++", "oatpp", "sqlite") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,17 +34,14 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires(f"oatpp/{self.version}") - self.requires("sqlite3/3.39.4") + self.requires(f"oatpp/{self.version}", transitive_headers=True) + self.requires("sqlite3/3.45.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -57,8 +54,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires GCC >=5") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 02ff9d0d653fa0ca9c2cba9ce1c46bef0e79f176 Mon Sep 17 00:00:00 2001 From: Alexis Placet Date: Wed, 14 Feb 2024 18:11:09 +0100 Subject: [PATCH 3701/4087] (#22710) sqlcipher: Add 4.5.6 * sqlcipher: Add 4.5.6 * sqlcipher: Add 4.5.6 * sqlcipher: Fix topic case and add missing endline * sqlcipher: Fix license for version >4.5.6 * do not enforce cmake in test package Signed-off-by: Uilian Ries * sqlcipher: relax license filename to copy Co-authored-by: Uilian Ries * sqlcipher: Add option to enable column metadata * sqlcipher: do not enforce cmake in test package #2 --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/sqlcipher/all/conandata.yml | 7 + recipes/sqlcipher/all/conanfile.py | 11 +- .../all/patches/Makefile.in-v4.5.6.patch | 25 +++ .../all/patches/Makefile.msc-v4.5.6.patch | 161 ++++++++++++++++++ .../all/patches/fix_configure-v4.5.6.patch | 20 +++ .../sqlcipher/all/test_package/conanfile.py | 9 - .../all/test_v1_package/conanfile.py | 9 - recipes/sqlcipher/config.yml | 2 + 8 files changed, 223 insertions(+), 21 deletions(-) create mode 100644 recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch create mode 100644 recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch create mode 100644 recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch diff --git a/recipes/sqlcipher/all/conandata.yml b/recipes/sqlcipher/all/conandata.yml index a6f870e23b894..b9d316e874757 100644 --- a/recipes/sqlcipher/all/conandata.yml +++ b/recipes/sqlcipher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.5.6": + url: "https://github.com/sqlcipher/sqlcipher/archive/v4.5.6.zip" + sha256: "5d269166c33c39c4dc6fc14be4ac8cd78b022f8bd59b0775becf0c896331a539" "4.5.1": url: "https://github.com/sqlcipher/sqlcipher/archive/v4.5.1.zip" sha256: "08a1024b299b5527d5b5ed79f67957938b516567f68662e973c4bec1b843b28e" @@ -18,6 +21,10 @@ sources: url: "https://github.com/sqlcipher/sqlcipher/archive/v4.3.0.zip" sha256: "41e1408465488e9c478ca5b7c5f8410405a10caa73b82db60ac115a76c563c05" patches: + "4.5.6": + - patch_file: patches/Makefile.in-v4.5.6.patch + - patch_file: patches/Makefile.msc-v4.5.6.patch + - patch_file: patches/fix_configure-v4.5.6.patch "4.5.1": - patch_file: patches/Makefile.in-v4.5.1.patch - patch_file: patches/Makefile.msc-v4.5.1.patch diff --git a/recipes/sqlcipher/all/conanfile.py b/recipes/sqlcipher/all/conanfile.py index d61f784a9ae42..103c2ec526cd3 100644 --- a/recipes/sqlcipher/all/conanfile.py +++ b/recipes/sqlcipher/all/conanfile.py @@ -20,7 +20,7 @@ class SqlcipherConan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.zetetic.net/sqlcipher/" - topics = ("database", "encryption", "SQLite") + topics = ("database", "encryption", "sqlite") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -30,6 +30,7 @@ class SqlcipherConan(ConanFile): "crypto_library": ["openssl", "libressl", "commoncrypto"], "with_largefile": [True, False], "temporary_store": ["always_file", "default_file", "default_memory", "always_memory"], + "enable_column_metadata": [True, False], } default_options = { "shared": False, @@ -37,6 +38,7 @@ class SqlcipherConan(ConanFile): "crypto_library": "openssl", "with_largefile": True, "temporary_store": "default_memory", + "enable_column_metadata": False, } @property @@ -114,7 +116,10 @@ def _generate_msvc(self): env.define("OPTS", f'-I{crypto_dep.includedir} -DSQLITE_HAS_CODEC') env.define("NO_TCL", "1") env.define("USE_AMALGAMATION", "1") - env.define("OPT_FEATURE_FLAGS", "-DSQLCIPHER_CRYPTO_OPENSSL") + opt_feature_flags = "-DSQLCIPHER_CRYPTO_OPENSSL" + if self.options.enable_column_metadata: + opt_feature_flags += " -DSQLITE_ENABLE_COLUMN_METADATA" + env.define("OPT_FEATURE_FLAGS", opt_feature_flags) env.define("SQLITE_TEMP_STORE", self._temp_store_nmake_value) env.define("TCLSH_CMD", self.dependencies.build['tcl'].runenv_info.vars(self)['TCLSH']) @@ -221,7 +226,7 @@ def build(self): autotools.make() def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if is_msvc(self): copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=self.source_folder, keep_path=False) copy(self, "*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) diff --git a/recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch b/recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch new file mode 100644 index 0000000000000..ea44332dff260 --- /dev/null +++ b/recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch @@ -0,0 +1,25 @@ +diff --git a/Makefile.in b/Makefile.in +index 870c5d30..4dc5d292 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -672,8 +672,7 @@ SQLITE3_SHELL_TARGET = $(SQLITE3_SHELL_TARGET_@HAVE_WASI_SDK@) + # This is the default Makefile target. The objects listed here + # are what get build when you type just "make" with no arguments. + # +-all: sqlite3.h libsqlcipher.la $(SQLITE3_SHELL_TARGET) \ +- $(HAVE_TCL:1=libtclsqlite3.la) ++all: sqlite3.h libsqlcipher.la + + Makefile: $(TOP)/Makefile.in + ./config.status +@@ -1557,9 +1556,8 @@ lib_install: libsqlcipher.la + $(INSTALL) -d $(DESTDIR)$(libdir) + $(LTINSTALL) libsqlcipher.la $(DESTDIR)$(libdir) + +-install: sqlcipher$(TEXE) lib_install sqlite3.h sqlcipher.pc ${HAVE_TCL:1=tcl_install} ++install: lib_install sqlite3.h sqlcipher.pc + $(INSTALL) -d $(DESTDIR)$(bindir) +- $(LTINSTALL) sqlcipher$(TEXE) $(DESTDIR)$(bindir) + $(INSTALL) -d $(DESTDIR)$(includedir) + $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(includedir) + $(INSTALL) -m 0644 $(TOP)/src/sqlite3ext.h $(DESTDIR)$(includedir) diff --git a/recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch b/recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch new file mode 100644 index 0000000000000..94b469d07e19d --- /dev/null +++ b/recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch @@ -0,0 +1,161 @@ +diff --git a/Makefile.msc b/Makefile.msc +index 85487315..e3c00752 100644 +--- a/Makefile.msc ++++ b/Makefile.msc +@@ -299,9 +299,9 @@ SQLITE3H = sqlite3.h + # + !IFNDEF SQLITE3DLL + !IF $(FOR_WIN10)!=0 +-SQLITE3DLL = winsqlite3.dll ++SQLITE3DLL = sqlcipher.dll + !ELSE +-SQLITE3DLL = sqlite3.dll ++SQLITE3DLL = sqlcipher.dll + !ENDIF + !ENDIF + +@@ -309,9 +309,9 @@ SQLITE3DLL = sqlite3.dll + # + !IFNDEF SQLITE3LIB + !IF $(FOR_WIN10)!=0 +-SQLITE3LIB = winsqlite3.lib ++SQLITE3LIB = sqlcipher.lib + !ELSE +-SQLITE3LIB = sqlite3.lib ++SQLITE3LIB = sqlcipher.lib + !ENDIF + !ENDIF + +@@ -696,7 +696,7 @@ SHELL_CORE_SRC = $(SQLITE3C) + SHELL_CORE_DEP = $(SQLITE3DLL) + # <> + !ELSEIF $(USE_AMALGAMATION)==0 +-SHELL_CORE_DEP = libsqlite3.lib ++SHELL_CORE_DEP = sqlcipher.lib + # <> + !ELSE + SHELL_CORE_DEP = +@@ -719,7 +719,7 @@ TESTFIXTURE_DEP = zlib $(TESTFIXTURE_DEP) + SHELL_CORE_LIB = $(SQLITE3LIB) + # <> + !ELSEIF $(USE_AMALGAMATION)==0 +-SHELL_CORE_LIB = libsqlite3.lib ++SHELL_CORE_LIB = sqlcipher.lib + # <> + !ELSE + SHELL_CORE_LIB = +@@ -754,8 +754,9 @@ RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP + # C compiler options for the Windows 10 platform (needs MSVC 2015). + # + !IF $(FOR_WIN10)!=0 +-TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE +-BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE ++# /d2guard4 requires /guard:cf to be present as well, but it doesn't work with /Zi (Debug builds) ++TCC = $(TCC) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE ++BCC = $(BCC) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE + !ENDIF + + # Also, we need to dynamically link to the correct MSVC runtime +@@ -1039,8 +1040,10 @@ TLIBS = + # default to file, 2 to default to memory, and 3 to force temporary + # tables to always be in memory. + # +-TCC = $(TCC) -DSQLITE_TEMP_STORE=1 +-RCC = $(RCC) -DSQLITE_TEMP_STORE=1 ++ ++# Allow overriding the value ++TCC = $(TCC) -DSQLITE_TEMP_STORE=$(SQLITE_TEMP_STORE) ++RCC = $(RCC) -DSQLITE_TEMP_STORE=$(SQLITE_TEMP_STORE) + + # Enable/disable loadable extensions, and other optional features + # based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*). +@@ -1206,14 +1209,15 @@ LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)" + !ENDIF + LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE + LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib +-LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib ++# Remove /NODEFAULTLIB:kernel32.lib, required by OpenSSL + !ENDIF + + # When compiling for UWP or the Windows 10 platform, some extra linker + # options are also required. + # + !IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0 +-LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib ++# Remove /NODEFAULTLIB:kernel32.lib, required by OpenSSL ++LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE + LTLINKOPTS = $(LTLINKOPTS) mincore.lib + !IFDEF PSDKLIBPATH + LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)" +@@ -1268,7 +1272,7 @@ LTLIBS = $(LTLIBS) $(LIBICU) + # + LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \ + backup.lo bitvec.lo btmutex.lo btree.lo build.lo \ +- callback.lo complete.lo ctime.lo \ ++ callback.lo complete.lo crypto.lo crypto_impl.lo crypto_openssl.lo ctime.lo \ + date.lo dbpage.lo dbstat.lo delete.lo \ + expr.lo fault.lo fkey.lo \ + fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \ +@@ -1774,7 +1778,7 @@ ALL_TCL_TARGETS = + # This is the default Makefile target. The objects listed here + # are what get build when you type just "make" with no arguments. + # +-core: dll libsqlite3.lib shell ++core: dll sqlcipher.lib shell + + # Targets that require the Tcl library. + # +@@ -1793,11 +1797,12 @@ dll: $(SQLITE3DLL) + shell: $(SQLITE3EXE) + + # <> +-libsqlite3.lib: $(LIBOBJ) +- $(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) ++# LTLIBPATHS is required to find the openssl/libressl libs ++sqlcipher.lib: $(LIBOBJ) ++ $(LTLIB) $(LTLIBPATHS) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) + +-libtclsqlite3.lib: tclsqlite.lo libsqlite3.lib +- $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCLSTUB) $(TLIBS) ++libtclsqlite3.lib: tclsqlite.lo sqlcipher.lib ++ $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo sqlcipher.lib $(LIBTCLSTUB) $(TLIBS) + + tclsqlite3.def: tclsqlite.lo + echo EXPORTS > tclsqlite3.def +@@ -1819,9 +1824,9 @@ $(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP) + $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS) + + # <> +-sqlite3.def: libsqlite3.lib ++sqlite3.def: sqlcipher.lib + echo EXPORTS > sqlite3.def +- dumpbin /all libsqlite3.lib \ ++ dumpbin /all sqlcipher.lib \ + | $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3(?:session|changeset|changegroup|rebaser|rbu)?_[^@]*)(?:@\d+)?$$" \1 \ + | sort >> sqlite3.def + # <> +@@ -2008,6 +2013,15 @@ callback.lo: $(TOP)\src\callback.c $(HDR) + complete.lo: $(TOP)\src\complete.c $(HDR) + $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\complete.c + ++crypto.lo: $(TOP)\src\crypto.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto.c ++ ++crypto_impl.lo: $(TOP)\src\crypto_impl.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto_impl.c ++ ++crypto_openssl.lo: $(TOP)\src\crypto_openssl.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto_openssl.c ++ + ctime.lo: $(TOP)\src\ctime.c $(HDR) + $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\ctime.c + +@@ -2427,7 +2441,7 @@ sqlite3rbu.lo: $(TOP)\ext\rbu\sqlite3rbu.c $(HDR) $(EXTHDR) + # Rules to build the 'testfixture' application. + # + # If using the amalgamation, use sqlite3.c directly to build the test +-# fixture. Otherwise link against libsqlite3.lib. (This distinction is ++# fixture. Otherwise link against sqlcipher.lib. (This distinction is + # necessary because the test fixture requires non-API symbols which are + # hidden when the library is built via the amalgamation). + # diff --git a/recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch b/recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch new file mode 100644 index 0000000000000..92c3d8c91d58c --- /dev/null +++ b/recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch @@ -0,0 +1,20 @@ +diff --git a/configure b/configure +index a2909ce..9c25987 100755 +--- a/configure ++++ b/configure +@@ -12732,7 +12732,6 @@ then : + printf %s "(cached) " >&6 + else $as_nop + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lcrypto $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -12764,7 +12763,6 @@ if test "x$ac_cv_lib_crypto_HMAC_Init_ex" = xyes + then : + printf "%s\n" "#define HAVE_LIBCRYPTO 1" >>confdefs.h + +- LIBS="-lcrypto $LIBS" + + else $as_nop + as_fn_error $? "Library crypto not found. Install openssl!\"" "$LINENO" 5 diff --git a/recipes/sqlcipher/all/test_package/conanfile.py b/recipes/sqlcipher/all/test_package/conanfile.py index a2566c4cce099..f42142315949c 100644 --- a/recipes/sqlcipher/all/test_package/conanfile.py +++ b/recipes/sqlcipher/all/test_package/conanfile.py @@ -13,15 +13,6 @@ class TestPackageConan(ConanFile): def requirements(self): self.requires(self.tested_reference_str) - def build_requirements(self): - if is_apple_os(self) and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.tool_requires("cmake/[>=3.22]") - def layout(self): cmake_layout(self) diff --git a/recipes/sqlcipher/all/test_v1_package/conanfile.py b/recipes/sqlcipher/all/test_v1_package/conanfile.py index 84b7364551610..7bb57d9f4dc6a 100644 --- a/recipes/sqlcipher/all/test_v1_package/conanfile.py +++ b/recipes/sqlcipher/all/test_v1_package/conanfile.py @@ -7,15 +7,6 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" - def build_requirements(self): - if is_apple_os(self) and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.0") - def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/sqlcipher/config.yml b/recipes/sqlcipher/config.yml index 939fca7342f84..e679e5bd0c0e9 100644 --- a/recipes/sqlcipher/config.yml +++ b/recipes/sqlcipher/config.yml @@ -1,4 +1,6 @@ versions: + "4.5.6": + folder: all "4.5.1": folder: all "4.5.0": From aeb46ba84eb9a31e36c57fbdec4f9587f076ae9b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Feb 2024 02:49:57 +0900 Subject: [PATCH 3702/4087] (#22731) jasper: add version 4.2.0, update dependencies --- recipes/jasper/all/conandata.yml | 7 +++++++ recipes/jasper/all/conanfile.py | 12 ++++++------ .../patches/4.2.0-0003-deterministic-libname.patch | 13 +++++++++++++ recipes/jasper/config.yml | 2 ++ 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml index 0873904e06da9..0996a2f915ff8 100644 --- a/recipes/jasper/all/conandata.yml +++ b/recipes/jasper/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.0": + url: "https://github.com/jasper-software/jasper/releases/download/version-4.2.0/jasper-4.2.0.tar.gz" + sha256: "69f0b08a0cc281a06eaf7feed510736854bbff9af89ab1d01b77382ad57ec957" "4.1.2": url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.2/jasper-4.1.2.tar.gz" sha256: "22392e439b87c79aaf8689ec79a286a7147e811c4bee34edf3d0b239798d672b" @@ -18,6 +21,10 @@ sources: url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz" sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a" patches: + "4.2.0": + - patch_file: "patches/4.2.0-0003-deterministic-libname.patch" + patch_description: "No generator dependent libname" + patch_type: "conan" "4.1.2": - patch_file: "patches/4.1.1-0001-skip-rpath.patch" patch_description: "Do not enforce rpath configuration" diff --git a/recipes/jasper/all/conanfile.py b/recipes/jasper/all/conanfile.py index 758b12ef086f4..29bbcb6c115d7 100644 --- a/recipes/jasper/all/conanfile.py +++ b/recipes/jasper/all/conanfile.py @@ -12,11 +12,11 @@ class JasperConan(ConanFile): name = "jasper" + description = "JasPer Image Processing/Coding Tool Kit" license = "JasPer-2.0" - homepage = "https://jasper-software.github.io/jasper" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://jasper-software.github.io/jasper" topics = ("toolkit", "coding", "jpeg", "images") - description = "JasPer Image Processing/Coding Tool Kit" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -50,9 +50,9 @@ def requirements(self): if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.2") elif self.options.with_libjpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.5") def build_requirements(self): if Version(self.version) >= "4.1.1": @@ -77,11 +77,11 @@ def generate(self): if Version(self.version) >= "3.0.0": tc.variables["JAS_ENABLE_LIBHEIF"] = False tc.variables["JAS_ENABLE_OPENGL"] = False - if cross_building(self): tc.cache_variables["JAS_CROSSCOMPILING"] = True tc.cache_variables["JAS_STDC_VERSION"] = "199901L" - + if Version(self.version) >= "4.2.0": + tc.variables["JAS_PACKAGING"] = True tc.generate() cmakedeps = CMakeDeps(self) diff --git a/recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch b/recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch new file mode 100644 index 0000000000000..ed1edf420e3b3 --- /dev/null +++ b/recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6925e4..8392edf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,7 @@ message("JAS_MULTICONFIGURATION_GENERATOR ${JAS_MULTICONFIGURATION_GENERATOR}") + # If a multiconfiguration generator is used, ensure that various output + # files are not placed in subdirectories (such as Debug and Release) + # as this will cause the CTest test suite to fail. +-if(JAS_MULTICONFIGURATION_GENERATOR) ++if(0) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY .) diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml index d3b9298f87c1c..2539649ff499b 100644 --- a/recipes/jasper/config.yml +++ b/recipes/jasper/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: all "4.1.2": folder: all "4.1.1": From 3136377b8cd5ede828526dd7df84746c8100415c Mon Sep 17 00:00:00 2001 From: David Aceituno Date: Wed, 14 Feb 2024 19:29:06 +0100 Subject: [PATCH 3703/4087] (#22767) Update to h5pp/1.11.2 --- recipes/h5pp/all/conandata.yml | 3 +++ recipes/h5pp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/h5pp/all/conandata.yml b/recipes/h5pp/all/conandata.yml index bf1850769d043..8a624a3c51a3b 100644 --- a/recipes/h5pp/all/conandata.yml +++ b/recipes/h5pp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.2": + url: "https://github.com/DavidAce/h5pp/archive/v1.11.2.tar.gz" + sha256: "5638bf699a92049910c80a7af3d6c8495f02253dd32ee0000bc35a29a9e61e9c" "1.11.1": url: "https://github.com/DavidAce/h5pp/archive/v1.11.1.tar.gz" sha256: "659d566dcb011e7a0f14f9fec9d6e6c783559eec3fd051de1e5cf44d95fd752b" diff --git a/recipes/h5pp/config.yml b/recipes/h5pp/config.yml index 6306850e1fb06..a489a477b18f9 100644 --- a/recipes/h5pp/config.yml +++ b/recipes/h5pp/config.yml @@ -17,3 +17,5 @@ versions: folder: "all" "1.11.1": folder: "all" + "1.11.2": + folder: "all" From e49bd288886175aa11ee8eb2799df544f3bb402d Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Wed, 14 Feb 2024 23:47:55 -0500 Subject: [PATCH 3704/4087] (#22727) fontconfig: update expat * fontconfig: update expat * Revert expat on fontconfig<2.13.93 * Only revert expat on Mac * alphabetize * Simplify test package for <2.13.93 * Bump expat again * Re-add return value Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/fontconfig/all/conanfile.py | 2 +- .../all/test_package/test_package.c | 22 ++----------------- recipes/fontconfig/meson/conanfile.py | 2 +- 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index ddc997bea245a..543e746cf6bf8 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.2") - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39.2") diff --git a/recipes/fontconfig/all/test_package/test_package.c b/recipes/fontconfig/all/test_package/test_package.c index 7703ab64bbdec..3d2556b9cca2e 100644 --- a/recipes/fontconfig/all/test_package/test_package.c +++ b/recipes/fontconfig/all/test_package/test_package.c @@ -1,24 +1,6 @@ #include -#include -#include int main() { - FcConfig* config = FcInitLoadConfigAndFonts(); - FcPattern* pat = FcNameParse((const FcChar8*)"Arial"); - FcConfigSubstitute(config, pat, FcMatchPattern); - FcDefaultSubstitute(pat); - char* fontFile; - FcResult result; - FcPattern* font = FcFontMatch(config, pat, &result); - if (font) { - FcChar8* file = NULL; - if (FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) { - fontFile = (char*)file; - printf("%s\n",fontFile); - } - } else { - printf("Ops! I can't find any font!\n"); - } - FcPatternDestroy(pat); - return EXIT_SUCCESS; + FcInit(); + return 0; } diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index 550cc9984a1bb..95e3579f0f549 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -50,7 +50,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.2") - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39.2") From 20afa4f7c2e81bd5a1ea4474ddedec70053168d1 Mon Sep 17 00:00:00 2001 From: sean <43609023+spnda@users.noreply.github.com> Date: Thu, 15 Feb 2024 06:27:46 +0100 Subject: [PATCH 3705/4087] (#22738) [fastgltf] Update to 0.7.0 * [fastgltf] Update to 0.7.0 * use cppstd to configure c++20 Signed-off-by: Uilian Ries * configure only since 0.7.0 Signed-off-by: Uilian Ries * Get compiler.cppstd --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/fastgltf/all/conandata.yml | 3 +++ recipes/fastgltf/all/conanfile.py | 9 +++++++-- recipes/fastgltf/all/test_package/CMakeLists.txt | 4 +++- recipes/fastgltf/all/test_package/test_package.cpp | 4 +++- recipes/fastgltf/config.yml | 2 ++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/recipes/fastgltf/all/conandata.yml b/recipes/fastgltf/all/conandata.yml index 7785359a1abd0..42f9e0fde5669 100644 --- a/recipes/fastgltf/all/conandata.yml +++ b/recipes/fastgltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.7.0.tar.gz" + sha256: "1d0af69db938fd81dd34ea51f99e37f0023852c93befe63e23f9e55abd4a18ec" "0.6.1": url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.6.1.tar.gz" sha256: "5f10b153ec941f5e6465425f542d3864f586aca040b0b659cb9ae70d42369390" diff --git a/recipes/fastgltf/all/conanfile.py b/recipes/fastgltf/all/conanfile.py index 9eda29e2b49eb..507a972f624fe 100644 --- a/recipes/fastgltf/all/conanfile.py +++ b/recipes/fastgltf/all/conanfile.py @@ -83,13 +83,16 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["FASTGLTF_DOWNLOAD_SIMDJSON"] = False + if Version(self.version) <= "0.7.0": + tc.variables["FASTGLTF_DOWNLOAD_SIMDJSON"] = False if self.options.enable_small_vector: - tc.variables["FASTGLTF_USE_SMALL_VECTOR"] = True + tc.variables["FASTGLTF_USE_CUSTOM_SMALLVECTOR"] = True if self.options.get_safe("disable_custom_memory_pool"): tc.variables["FASTGLTF_DISABLE_CUSTOM_MEMORY_POOL"] = True if self.options.get_safe("use_64bit_float"): tc.variables["FASTGLTF_USE_64BIT_FLOAT"] = True + if Version(self.version) >= "0.7.0": + tc.variables["FASTGLTF_COMPILE_AS_CPP20"] = "20" in str(self.settings.get_safe("compiler.cppstd")) tc.generate() deps = CMakeDeps(self) deps.generate() @@ -108,3 +111,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["fastgltf"] + if "20" in str(self.settings.get_safe("compiler.cppstd")): + self.cpp_info.defines.append("FASTGLTF_CPP_20") diff --git a/recipes/fastgltf/all/test_package/CMakeLists.txt b/recipes/fastgltf/all/test_package/CMakeLists.txt index 7718a933cdc53..b4c6d8669be8e 100644 --- a/recipes/fastgltf/all/test_package/CMakeLists.txt +++ b/recipes/fastgltf/all/test_package/CMakeLists.txt @@ -6,6 +6,8 @@ find_package(fastgltf REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE fastgltf::fastgltf) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -if(fastgltf_VERSION VERSION_GREATER_EQUAL "0.5.0") +if(fastgltf_VERSION VERSION_GREATER_EQUAL "0.7.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE FASTGLTF_0_7_0_LATER) +elseif(fastgltf_VERSION VERSION_GREATER_EQUAL "0.5.0") target_compile_definitions(${PROJECT_NAME} PRIVATE FASTGLTF_0_5_0_LATER) endif() diff --git a/recipes/fastgltf/all/test_package/test_package.cpp b/recipes/fastgltf/all/test_package/test_package.cpp index 1e9f5938b4446..b076f02e4cb70 100644 --- a/recipes/fastgltf/all/test_package/test_package.cpp +++ b/recipes/fastgltf/all/test_package/test_package.cpp @@ -1,5 +1,7 @@ #include -#ifdef FASTGLTF_0_5_0_LATER +#if defined(FASTGLTF_0_7_0_LATER) +# include +#elif defined(FASTGLTF_0_5_0_LATER) # include #else # include diff --git a/recipes/fastgltf/config.yml b/recipes/fastgltf/config.yml index 355c180a5e90b..2ea713dd46d98 100644 --- a/recipes/fastgltf/config.yml +++ b/recipes/fastgltf/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.1": folder: all "0.5.0": From e84eaeaf6bbe0d843dd144c7a0ee78c34b6794bf Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 01:08:48 +0900 Subject: [PATCH 3706/4087] (#22773) scnlib: add version 2.0.1 --- recipes/scnlib/all/conandata.yml | 7 +++++++ recipes/scnlib/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml index 28c026a4701a3..959e4c6aa3f22 100644 --- a/recipes/scnlib/all/conandata.yml +++ b/recipes/scnlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.1.tar.gz" + sha256: "f399d1b1f36f5d53a2d63fd2974797ab8f3f7e69c424d9661253830cb793b72e" "2.0.0": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.0.tar.gz" sha256: "2a35356a3a7485fdf97f28cfbea52db077cf4e7bab0a5a0fc3b04e89630334cd" @@ -12,6 +15,10 @@ sources: url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.0.tar.gz" sha256: "5b8333e522206c2a74e57a9c9544c4fe4e7858cfe93e216905b463eaf91af5fe" patches: + "2.0.1": + - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" + patch_description: "remove re2 version on find_package" + patch_type: "portability" "2.0.0": - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" patch_description: "remove re2 version on find_package" diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml index 8d8acc5534543..8c5c4f8a7d9ec 100644 --- a/recipes/scnlib/config.yml +++ b/recipes/scnlib/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "2.0.0": folder: all "1.1.3": From 2f62321e5f969fc78ae8f8849d49e3deb03f8aea Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 01:33:19 +0900 Subject: [PATCH 3707/4087] (#22774) cxxopts: add version 3.2.0 --- recipes/cxxopts/all/conandata.yml | 3 +++ recipes/cxxopts/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cxxopts/all/conandata.yml b/recipes/cxxopts/all/conandata.yml index ed4fef59dd9bc..607b321614b3b 100644 --- a/recipes/cxxopts/all/conandata.yml +++ b/recipes/cxxopts/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.0": + url: "https://github.com/jarro2783/cxxopts/archive/refs/tags/v3.2.0.tar.gz" + sha256: "9f43fa972532e5df6c5fd5ad0f5bac606cdec541ccaf1732463d8070bbb7f03b" "3.1.1": url: "https://github.com/jarro2783/cxxopts/archive/refs/tags/v3.1.1.tar.gz" sha256: "523175f792eb0ff04f9e653c90746c12655f10cb70f1d5e6d6d9491420298a08" diff --git a/recipes/cxxopts/config.yml b/recipes/cxxopts/config.yml index 60f4de8e82260..eeafb07402ec8 100644 --- a/recipes/cxxopts/config.yml +++ b/recipes/cxxopts/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.0": + folder: all "3.1.1": folder: all "3.0.0": From 70e656dafa69928ec981b26989a596e793193a31 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 03:10:10 +0900 Subject: [PATCH 3708/4087] (#22779) imgui: add version 1.90.3 --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 326ffeb754602..467e04fdf9e0f 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.3": + url: "https://github.com/ocornut/imgui/archive/v1.90.3.tar.gz" + sha256: "40b302d01092c9393373b372fe07ea33ac69e9491893ebab3bf952b2c1f5fd23" + "1.90.3-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.3-docking.tar.gz" + sha256: "ebd1da0f76a95a7a690f8a0dfa119e1c6da4eee40383e582fb75374792be0891" "1.90.2": url: "https://github.com/ocornut/imgui/archive/v1.90.2.tar.gz" sha256: "452d1c11e5c4b4dfcca272915644a65f1c076498e8318b141ca75cd30470dd68" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 86b810236bae7..40705063b856e 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.3": + folder: all + "1.90.3-docking": + folder: all "1.90.2": folder: all "1.90.2-docking": From 77e11053c4f860b1c718ddcfaac5d7e35eeb2509 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 17:10:02 +0900 Subject: [PATCH 3709/4087] (#22780) objectbox: add version 0.21.0 --- recipes/objectbox/all/conandata.yml | 17 ++++-- ...make.patch => 0.17.0-0001-fix-cmake.patch} | 0 .../all/patches/0.21.0-0001-fix-cmake.patch | 54 +++++++++++++++++++ recipes/objectbox/config.yml | 2 + 4 files changed, 68 insertions(+), 5 deletions(-) rename recipes/objectbox/all/patches/{0001-fix-cmake.patch => 0.17.0-0001-fix-cmake.patch} (100%) create mode 100644 recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch diff --git a/recipes/objectbox/all/conandata.yml b/recipes/objectbox/all/conandata.yml index b4ebf9918d7ba..ca8ae614b9798 100644 --- a/recipes/objectbox/all/conandata.yml +++ b/recipes/objectbox/all/conandata.yml @@ -1,6 +1,9 @@ sources: # The release tarball is invalid, so we need to get the tarball from the v0.20.0 commit. # https://github.com/objectbox/objectbox-c/issues/38 + "0.21.0": + url: "https://github.com/objectbox/objectbox-c/archive/720559838e78a9fe6252c93ed1a3d46a1025767f.tar.gz" + sha256: "a2e7aa1d455a9703c49661515e820b4b296b6f53da7ab6b467b78776a29b0b93" "0.20.0": url: "https://github.com/objectbox/objectbox-c/archive/7e4a5a3ed94aa486acf0737b354726b493fd204c.tar.gz" sha256: "cb6ec8b7ceaed7963ad582c4519d06ddc887294f0893b3f9bf89e7d0789ce216" @@ -17,23 +20,27 @@ sources: url: "https://github.com/objectbox/objectbox-c/archive/refs/tags/v0.17.0.tar.gz" sha256: "3b936b3352ae0c8ea3706cc0a1790d2714a415cdce16007c2caca367ead5af8d" patches: + "0.21.0": + - patch_file: "patches/0.21.0-0001-fix-cmake.patch" + patch_description: "add sync option, disable tests/examples, support max length of windows path" + patch_type: "conan" "0.20.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.19.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.18.1": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.18.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.17.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" diff --git a/recipes/objectbox/all/patches/0001-fix-cmake.patch b/recipes/objectbox/all/patches/0.17.0-0001-fix-cmake.patch similarity index 100% rename from recipes/objectbox/all/patches/0001-fix-cmake.patch rename to recipes/objectbox/all/patches/0.17.0-0001-fix-cmake.patch diff --git a/recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch b/recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c5c0e8e9c4a85 --- /dev/null +++ b/recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8e826e0..d6a2e18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,8 +20,13 @@ else () + function(defineObjectBoxLibForURL VARIANT DL_URL) + include(FetchContent) + project(objectbox${VARIANT}-download) +- FetchContent_Declare(${PROJECT_NAME} URL ${DL_URL}) +- ++ FetchContent_Declare(${PROJECT_NAME} ++ URL ${DL_URL} ++ # workaround for max path length in Windows (260byte) ++ SUBBUILD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/sub ++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tmp ++ ) ++ + FetchContent_Populate(${PROJECT_NAME}) + set(DL_DIR "${${PROJECT_NAME}_SOURCE_DIR}") + message(STATUS "Pre-compiled ObjectBox library is saved in ${DL_DIR}") +@@ -35,6 +40,22 @@ else () + IMPORTED_IMPLIB ${DL_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX} + INTERFACE_INCLUDE_DIRECTORIES "${objectbox_include_dirs}" + ) ++ if(EXISTS "${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX}") ++ install( ++ FILES ${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX} ++ DESTINATION $,${CMAKE_INSTALL_BINDIR},${CMAKE_INSTALL_LIBDIR}> ++ ) ++ endif() ++ if(EXISTS "${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX}") ++ install( ++ FILES ${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++ endif() ++ install( ++ DIRECTORY ${DL_DIR}/include/ ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ ) + endfunction() + + function(defineObjectBoxLib VARIANT) +@@ -80,7 +101,9 @@ else () + defineObjectBoxLibForURL("" "${DL_URL}") + else () + defineObjectBoxLib("") +- defineObjectBoxLib("-sync") ++ if(OBJECTBOX_WITH_SYNC) ++ defineObjectBoxLib("-sync") ++ endif() + endif () + endif () + diff --git a/recipes/objectbox/config.yml b/recipes/objectbox/config.yml index 2fdec99a504b8..455f77377fdff 100644 --- a/recipes/objectbox/config.yml +++ b/recipes/objectbox/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.0": + folder: all "0.20.0": folder: all "0.19.0": From 8f62df835a07d1a4309b37922f5134b445f92994 Mon Sep 17 00:00:00 2001 From: Philippe Lieser Date: Fri, 16 Feb 2024 10:23:12 +0100 Subject: [PATCH 3710/4087] (#18079) Adding Botan 3.0.0 recipe and make it compatible with Conan 2.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adding Botan 3.0.0 recipe * updated to conan 2 * ci lint fix * ci lint fix * ci lint fix * replacing version check * some more fixes to be ready for 2.0 * fixes * Keep old test package for Conan 1.x * Order imports * Remove unused import * Fix packaging * Fix msvc build and test * Use Version helper in package_info * Small fixes * Don't add -fPIC for msvc * Fix msvc package info for Botan 3.0.0 * Add missing patch_description and patch_type * Revert back to "sources" name for src folder * Try fixing KB-H010 for Conan 1 * Remove base_path for patches and switch again to `src` for src folder * Don't import from conan.tools.microsoft.subsystems * Fix KB-H010 by using double quotes https://github.com/conan-io/hooks/issues/448 * Disable getentropy * Move layout method * Add check for minimal compiler version * Fix getting env variables * Remove some older Botan versions * Fix removal of old versions * Replace apple_deployment_target_flag with apple_min_version_flag * Disable getrandom * Set 11.2 as minimal GCC * Set C++ standard in test package according to Botan version * Add min version for apple-clang * Remove redundant cpp_info.names["pkg_config"] * Use leading _ for member variable extra_cxxflags * Readd comment * Further improvements * Support for the OpenSSL provider was removed in Botan 2.19.2 * Add support for tools.build:sysroot * add a patch to support getrandome() in glibc < 2.25 * add Botan 3.1.0 and 3.1.1 * add Botan 3.2.0 * Botan 2.x is not compatible with OpenSSL 3.x * pin to specific OpenSSL version (1.1.1s) * FIX: warnings KB-H043 and KB-H077 * don't explicitly disable getrandom/getentropy on Linux * Apply suggestions from code review Co-authored-by: Uilian Ries * add patch sources to patches * Apply suggestions from code review Co-authored-by: Uilian Ries * FIX: linter warnings * FIX: default of CXXFLAGS * update recipe's meta data * use self.dependencies['boost'].options * add -o disable_modules * Workaround to support glibc < 2.25 This can (and should) be removed once CCI's CI images are updated with a newer glibc. * Apply suggestions from code review Co-authored-by: Uilian Ries --------- Co-authored-by: Maaown (Leonard Viktor Pooch) Co-authored-by: memsharded Co-authored-by: Rubén Rincón Co-authored-by: Rene Meusel Co-authored-by: René Meusel Co-authored-by: Uilian Ries --- recipes/botan/all/conandata.yml | 69 +++-- recipes/botan/all/conanfile.py | 236 ++++++++++++------ ...kport-getrandom-via-syscall-to-3.0.0.patch | 24 ++ ...kport-getrandom-via-syscall-to-3.1.0.patch | 24 ++ recipes/botan/all/patches/dll-dir.patch | 13 - .../fix-unrecognized-linker-flag.patch | 17 -- .../all/patches/vs2015-install-fix.patch | 56 ----- recipes/botan/all/test_package/CMakeLists.txt | 12 +- recipes/botan/all/test_package/conanfile.py | 25 +- .../botan/all/test_v1_package/CMakeLists.txt | 15 ++ .../botan/all/test_v1_package/conanfile.py | 17 ++ .../all/test_v1_package/test_package.cpp | 7 + recipes/botan/config.yml | 28 +-- 13 files changed, 315 insertions(+), 228 deletions(-) create mode 100644 recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch create mode 100644 recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch delete mode 100644 recipes/botan/all/patches/dll-dir.patch delete mode 100644 recipes/botan/all/patches/fix-unrecognized-linker-flag.patch delete mode 100644 recipes/botan/all/patches/vs2015-install-fix.patch create mode 100644 recipes/botan/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/botan/all/test_v1_package/conanfile.py create mode 100644 recipes/botan/all/test_v1_package/test_package.cpp diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index b4fd5502f1bd3..8bc337e6d41ee 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -1,37 +1,7 @@ sources: - "2.12.1": - url: "https://github.com/randombit/botan/archive/2.12.1.tar.gz" - sha256: "61d27332f053b0b1169659dc0fceb7de7d16cade230df3a14dfaa2c091888b98" - "2.13.0": - url: "https://github.com/randombit/botan/archive/2.13.0.tar.gz" - sha256: "29a57d8efd6ab297eab67cbf489a5a423b06e120e0520aff2583074e8aea151c" - "2.14.0": - url: "https://github.com/randombit/botan/archive/2.14.0.tar.gz" - sha256: "38e34b8ef7652e811382744425b82da1b1a7fb5f14cc281a7d3a18543eaf72f7" - "2.15.0": - url: "https://github.com/randombit/botan/archive/2.15.0.tar.gz" - sha256: "9a86b1a8adbac37fdff9cf5745b3a313020c33579d8fc51cb996c47d3adf5585" - "2.16.0": - url: "https://github.com/randombit/botan/archive/2.16.0.tar.gz" - sha256: "8f448b97120e884d755b946045753876d688b01f48f5e6a1cf37aebd5afecbe5" - "2.17.0": - url: "https://github.com/randombit/botan/archive/2.17.0.tar.gz" - sha256: "32874e4e14bf11428e1bc4919e5ee174a68e2f480d37bc79ed015b2b5ef87fef" - "2.17.1": - url: "https://github.com/randombit/botan/archive/2.17.1.tar.gz" - sha256: "ca562c00e61663c418bd9fdc6c70bdeaedafba8bef328cb6046a1d6390d39a71" - "2.17.2": - url: "https://github.com/randombit/botan/archive/2.17.2.tar.gz" - sha256: "3d99da64573abab6d6e8036a45f8c567a57721c8f23850e05aadd84fc2e0075c" "2.17.3": url: "https://github.com/randombit/botan/archive/2.17.3.tar.gz" sha256: "544c62e43be0c60fff7ac8707ee99fe134c75bef06bded217d04f0a4b333519a" - "2.18.0": - url: "https://github.com/randombit/botan/archive/2.18.0.tar.gz" - sha256: "8556991402f9ecf5f84f1f2c4de20ca3fd14a5ebd775f065ea6676b36646a77d" - "2.18.1": - url: "https://github.com/randombit/botan/archive/2.18.1.tar.gz" - sha256: "4afebf2dbfa2f047d161437dcc544003d5822f47ceac97ada6a24948297bd3ed" "2.18.2": url: "https://github.com/randombit/botan/archive/2.18.2.tar.gz" sha256: "10ded69c4fd4ade9d87527b394787beefa190b4ecb65ed04535bdd00e088cd96" @@ -44,15 +14,36 @@ sources: "2.19.3": url: "https://github.com/randombit/botan/archive/2.19.3.tar.gz" sha256: "8f568bf74c2e476d92ac8a1cfc2ba8407ec038fe9458bd0a11e7da827a9b8199" + "3.0.0": + url: "https://github.com/randombit/botan/archive/3.0.0.tar.gz" + sha256: "8bafe2e965fa9ccf92ef5741165d735c9fbbe6376c373bbf5702495ad2dfb814" + "3.1.0": + url: "https://github.com/randombit/botan/archive/3.1.0.tar.gz" + sha256: "f3680ab11122e581ac08993f149bf519030c7be13b32f5ac1e6bef0a2e6bb88e" + "3.1.1": + url: "https://github.com/randombit/botan/archive/3.1.1.tar.gz" + sha256: "2d0af0c3a7140572f3f7f1a22865f9c5eadc102a7fa58f03314709b0bee26c11" + "3.2.0": + url: "https://github.com/randombit/botan/archive/3.2.0.tar.gz" + sha256: "95af4935d56973000bb6ff20bb54ae56083f8764d5a2c89826cac26ac6127330" patches: - "2.12.1": - - patch_file: "patches/dll-dir.patch" - base_path: "sources" - - patch_file: "patches/fix-unrecognized-linker-flag.patch" - base_path: "sources" - "2.17.2": - - patch_file: "patches/vs2015-install-fix.patch" - base_path: "sources" "2.18.2": - patch_file: "patches/fix-amalgamation-build.patch" - base_path: "sources" + patch_description: "Backport a fix for amalgamation build" + patch_type: "bugfix" + patch_source: "https://github.com/randombit/botan/pull/2835" + "3.0.0": + - patch_file: "patches/backport-getrandom-via-syscall-to-3.0.0.patch" + patch_description: "Backport a fix to support getrandom() with glibc < 2.25" + patch_type: "portability" + patch_source: "https://github.com/randombit/botan/pull/3688" + "3.1.0": + - patch_file: "patches/backport-getrandom-via-syscall-to-3.1.0.patch" + patch_description: "Backport a fix to support getrandom() with glibc < 2.25" + patch_type: "portability" + patch_source: "https://github.com/randombit/botan/pull/3688" + "3.1.1": + - patch_file: "patches/backport-getrandom-via-syscall-to-3.1.0.patch" + patch_description: "Backport a fix to support getrandom() with glibc < 2.25" + patch_type: "portability" + patch_source: "https://github.com/randombit/botan/pull/3688" diff --git a/recipes/botan/all/conanfile.py b/recipes/botan/all/conanfile.py index e8599f32dde75..ce2b978ddda1d 100644 --- a/recipes/botan/all/conanfile.py +++ b/recipes/botan/all/conanfile.py @@ -1,9 +1,21 @@ -from conan.tools.microsoft import is_msvc, msvc_runtime_flag -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os +import shutil +import platform -required_conan_version = ">=1.45.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name, XCRun +from conan.tools.build import build_jobs, check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get +from conan.tools.gnu import AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, VCVars, check_min_vs +from conan.tools.microsoft import unix_path +from conan.tools.scm import Version + + +required_conan_version = ">=1.55" class BotanConan(ConanFile): @@ -11,9 +23,10 @@ class BotanConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/randombit/botan" license = "BSD-2-Clause" - description = "Botan is a cryptography library written in C++11." - topics = ("cryptography", "crypto", "C++11", "tls") + description = "Botan is a cryptography library written in modern C++." + topics = ("cryptography", "crypto", "c++11", "c++20", "tls") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,8 +52,9 @@ class BotanConan(ConanFile): "with_neon": [True, False], "with_armv8crypto": [True, False], "with_powercrypto": [True, False], - "enable_modules": "ANY", - "system_cert_bundle": "ANY", + "enable_modules": [None, "ANY"], + "disable_modules": [None, "ANY"], + "system_cert_bundle": [None, "ANY"], "module_policy": [None, "bsi", "modern", "nist"], } default_options = { @@ -68,10 +82,13 @@ class BotanConan(ConanFile): "with_armv8crypto": True, "with_powercrypto": True, "enable_modules": None, + "disable_modules": None, "system_cert_bundle": None, "module_policy": None, } + _extra_cxxflags = None + @property def _is_x86(self): return str(self.settings.arch) in ['x86', 'x86_64'] @@ -84,14 +101,8 @@ def _is_ppc(self): def _is_arm(self): return 'arm' in str(self.settings.arch) - @property - def _source_subfolder(self): - # Required to build at least 2.12.1 - return "sources" - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == 'Windows': @@ -117,84 +128,149 @@ def config_options(self): # --single-amalgamation option is no longer available # See also https://github.com/randombit/botan/pull/2246 - if tools.Version(self.version) >= '2.14.0': + if Version(self.version) >= '2.14.0': del self.options.single_amalgamation + # Support for the OpenSSL provider was removed in 2.19.2 + if Version(self.version) >= '2.19.2': + del self.options.with_openssl + def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") - if self.options.with_openssl: - self.requires("openssl/1.1.1o") + if self.options.get_safe('with_openssl', False): + self.requires("openssl/[>=1.1 <3]") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: self.requires("sqlite3/3.38.5") if self.options.with_boost: - self.requires("boost/1.79.0") + self.requires("boost/1.83.0") @property def _required_boost_components(self): return ['coroutine', 'system'] + @property + def _min_cppstd(self): + # From the same links as below + return 11 if Version(self.version) < "3.0.0" else 20 + + @property + def _compilers_minimum_version(self): + if Version(self.version).major < 3: + # From https://github.com/randombit/botan/blob/2.19.3/doc/support.rst + return { + "gcc": "4.8", + "clang": "3.5", + "Visual Studio": "14", + "msvc": "190", + } + else: + # From https://github.com/randombit/botan/blob/master/doc/support.rst + return { + "gcc": "11.2", + "clang": "14", + "apple-clang": "14", + "Visual Studio": "17", + "msvc": "193", + } + def validate(self): if self.options.with_boost: - miss_boost_required_comp = any(getattr(self.options['boost'], 'without_{}'.format(boost_comp), True) for boost_comp in self._required_boost_components) - if self.options['boost'].header_only or self.options['boost'].shared or self.options['boost'].magic_autolink or miss_boost_required_comp: - raise ConanInvalidConfiguration('{0} requires non-header-only static boost, without magic_autolink, and with these components: {1}'.format(self.name, ', '.join(self._required_boost_components))) + boost_opts = self.dependencies['boost'].options + miss_boost_required_comp = any(getattr(boost_opts, 'without_{}'.format(boost_comp), True) for boost_comp in self._required_boost_components) + if boost_opts.header_only or boost_opts.shared or boost_opts.magic_autolink or miss_boost_required_comp: + raise ConanInvalidConfiguration( + f"{self.name} requires non-header-only static boost, " + f"without magic_autolink, and with these components: {', '.join(self._required_boost_components)}") + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) compiler = self.settings.compiler - version = tools.Version(self.settings.compiler.version) + compiler_name = str(compiler) + compiler_version = Version(compiler.version) - if compiler == 'Visual Studio' and version < '14': - raise ConanInvalidConfiguration("Botan doesn't support MSVC < 14") + check_min_vs(self, self._compilers_minimum_version["msvc"]) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(compiler_name, False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if not minimum_version: + self.output.warning(f"{self.name} recipe lacks information about the {compiler_name} compiler support.") - elif compiler == 'gcc' and version >= '5' and compiler.libcxx != 'libstdc++11': + if self.settings.compiler == 'gcc' and compiler_version >= "5" and self.settings.compiler.libcxx != 'libstdc++11': raise ConanInvalidConfiguration( 'Using Botan with GCC >= 5 on Linux requires "compiler.libcxx=libstdc++11"') - elif compiler == 'clang' and compiler.libcxx not in ['libstdc++11', 'libc++']: + if self.settings.compiler == 'clang' and self.settings.compiler.libcxx not in ['libstdc++11', 'libc++']: raise ConanInvalidConfiguration( 'Using Botan with Clang on Linux requires either "compiler.libcxx=libstdc++11" ' \ 'or "compiler.libcxx=libc++"') # Some older compilers cannot handle the amalgamated build anymore # See also https://github.com/randombit/botan/issues/2328 - if tools.Version(self.version) >= '2.14.0' and self.options.amalgamation: - if (compiler == 'apple-clang' and version < '10') or \ - (compiler == 'gcc' and version < '8') or \ - (compiler == 'clang' and version < '7'): + if Version(self.version) >= '2.14.0' and self.options.amalgamation: + if (self.settings.compiler == 'apple-clang' and compiler_version < '10') or \ + (self.settings.compiler == 'gcc' and compiler_version < '8') or \ + (self.settings.compiler == 'clang' and compiler_version < '7'): raise ConanInvalidConfiguration( - 'botan amalgamation is not supported for {}/{}'.format(compiler, version)) + f"botan amalgamation is not supported for {compiler}/{compiler_version}") if self.options.get_safe("single_amalgamation", False) and not self.options.amalgamation: raise ConanInvalidConfiguration("botan:single_amalgamation=True requires botan:amalgamation=True") + def layout(self): + basic_layout(self, src_folder="src") + def source(self): - tools.get(**self.conan_data['sources'][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _cxxflags(self): + global_cxxflags = " ".join(self.conf.get("tools.build:cxxflags", default=[], check_type=list)) + env_cxxflags = VirtualBuildEnv(self).vars().get("CXXFLAGS", default="") + cxxflags = f"{env_cxxflags} {global_cxxflags}".strip() + return cxxflags if len(cxxflags) > 1 else None + + def generate(self): + if is_msvc(self): + ms = VCVars(self) + ms.generate() + + # This is to work around botan's configure script that *replaces* its + # standard (platform dependent) flags in presence of an environment + # variable ${CXXFLAGS}. Most notably, this would build botan with + # disabled compiler optimizations. + self._extra_cxxflags = self._cxxflags + self.buildenv.unset('CXXFLAGS') + VirtualBuildEnv(self).generate() def build(self): - for patch in self.conan_data.get('patches', {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): + apply_conandata_patches(self) + with chdir(self, self.source_folder): self.run(self._configure_cmd) self.run(self._make_cmd) def package(self): - self.copy(pattern='license.txt', dst='licenses', src=self._source_subfolder) - with tools.chdir(self._source_subfolder): + copy(self, "license.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + # Note: this will fail to properly consider the package_folder if a "conan build" followed by a "conan export-pkg" is executed self.run(self._make_install_cmd) + fix_apple_shared_install_name(self) def package_info(self): - major_version = tools.Version(self.version).major + major_version = Version(self.version).major self.cpp_info.set_property("pkg_config_name", f"botan-{major_version}") - self.cpp_info.names["pkg_config"] = f"botan-{major_version}" - self.cpp_info.libs = ["botan" if is_msvc(self) else f"botan-{major_version}"] + self.cpp_info.libs = ["botan" if is_msvc(self) and major_version < 3 else f"botan-{major_version}"] if self.settings.os == 'Linux': - self.cpp_info.system_libs.extend(['dl', 'rt', 'pthread']) + self.cpp_info.system_libs.extend(['dl', 'rt', 'pthread', 'm']) if self.settings.os == 'Macos': self.cpp_info.frameworks = ['Security', 'CoreFoundation'] if self.settings.os == 'Windows': @@ -220,10 +296,10 @@ def _botan_os(self): def _dependency_build_flags(self, dependency): # Since botan has a custom build system, we need to specifically inject # these build parameters so that it picks up the correct dependencies. - dep_cpp_info = self.deps_cpp_info[dependency] + dep_cpp_info = self.dependencies[dependency].cpp_info return \ - ['--with-external-includedir={}'.format(include_path) for include_path in dep_cpp_info.include_paths] + \ - ['--with-external-libdir={}'.format(lib_path) for lib_path in dep_cpp_info.lib_paths] + \ + ['--with-external-includedir={}'.format(include_path) for include_path in dep_cpp_info.includedirs] + \ + ['--with-external-libdir={}'.format(lib_path) for lib_path in dep_cpp_info.libdirs] + \ ['--define-build-macro={}'.format(define) for define in dep_cpp_info.defines] @property @@ -256,34 +332,27 @@ def _configure_cmd(self): elif self.settings.arch in ['x86_64']: botan_abi_flags.append('-arch x86_64') - if self.options.get_safe('fPIC', True): + if self.options.get_safe('fPIC', True) and not is_msvc(self): botan_extra_cxx_flags.append('-fPIC') - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): if self.settings.get_safe('os.version'): # Required, see https://github.com/conan-io/conan-center-index/pull/3456 - macos_min_version = tools.apple_deployment_target_flag(self.settings.os, - self.settings.get_safe('os.version'), - self.settings.get_safe('os.sdk'), - self.settings.get_safe('os.subsystem'), - self.settings.get_safe('arch')) + macos_min_version = macos_min_version = AutotoolsToolchain(self).apple_min_version_flag botan_extra_cxx_flags.append(macos_min_version) - macos_sdk_path = '-isysroot {}'.format(tools.XCRun(self.settings).sdk_path) + macos_sdk_path = '-isysroot {}'.format(XCRun(self).sdk_path) botan_extra_cxx_flags.append(macos_sdk_path) - # This is to work around botan's configure script that *replaces* its - # standard (platform dependent) flags in presence of an environment - # variable ${CXXFLAGS}. Most notably, this would build botan with - # disabled compiler optimizations. - environment_cxxflags = tools.get_env('CXXFLAGS') - if environment_cxxflags: - del os.environ['CXXFLAGS'] - botan_extra_cxx_flags.append(environment_cxxflags) + if self._extra_cxxflags: + botan_extra_cxx_flags.append(self._extra_cxxflags) if self.options.enable_modules: build_flags.append('--minimized-build') build_flags.append('--enable-modules={}'.format(self.options.enable_modules)) + if self.options.disable_modules: + build_flags.append('--disable-modules={}'.format(self.options.disable_modules)) + if self.options.amalgamation: build_flags.append('--amalgamation') @@ -293,11 +362,14 @@ def _configure_cmd(self): if self.options.system_cert_bundle: build_flags.append('--system-cert-bundle={}'.format(self.options.system_cert_bundle)) + if self.conf.get("tools.build:sysroot"): + build_flags.append(f'--with-sysroot-dir={self.conf.get("tools.build:sysroot")}') + if self.options.with_bzip2: build_flags.append('--with-bzip2') build_flags.extend(self._dependency_build_flags('bzip2')) - if self.options.with_openssl: + if self.options.get_safe('with_openssl', False): build_flags.append('--with-openssl') build_flags.extend(self._dependency_build_flags('openssl')) @@ -375,11 +447,17 @@ def _configure_cmd(self): if is_msvc(self): build_flags.append(f"--msvc-runtime={msvc_runtime_flag(self)}") + if self._is_glibc_older_than_2_25_on_linux and Version(self.version) >= '3.0': + # INFO: Botan 3.0+ requires glibc >= 2.25. Disable features to make it backward compatible + # FIXME: CCI Docker images are running Ubuntu 16.04. Remove it after supporting later version. + self.output.warning("Disabling usage of getentropy(), getrandom(), and explicit_bzero() due to old glibc version") + build_flags.append('--without-os-features=getentropy,getrandom,explicit_bzero') + build_flags.append('--without-pkg-config') call_python = 'python' if self.settings.os == 'Windows' else '' - prefix = tools.unix_path(self.package_folder) if self._is_mingw_windows else self.package_folder + prefix = unix_path(self, self.package_folder) if self._is_mingw_windows else self.package_folder botan_abi = ' '.join(botan_abi_flags) if botan_abi_flags else ' ' botan_cxx_extras = ' '.join(botan_extra_cxx_flags) if botan_extra_cxx_flags else ' ' @@ -413,27 +491,23 @@ def _make_cmd(self): @property def _make_program(self): - return tools.get_env('CONAN_MAKE_PROGRAM', tools.which('make') or tools.which('mingw32-make')) + return self.conf.get("tools.gnu:make_program", os.getenv('CONAN_MAKE_PROGRAM', shutil.which('make') or shutil.which('mingw32-make'))) @property def _gnumake_cmd(self): make_ldflags = 'LDFLAGS=-lc++abi' if self._is_linux_clang_libcxx else '' - make_cmd = ('{ldflags}' ' {make}' ' -j{cpucount}').format( - ldflags=make_ldflags, make=self._make_program, cpucount=tools.cpu_count()) + make_cmd = f"{make_ldflags} {self._make_program} -j{build_jobs(self)}" return make_cmd @property def _nmake_cmd(self): - vcvars = tools.vcvars_command(self.settings) - make_cmd = vcvars + ' && nmake' - return make_cmd + return 'nmake' @property def _make_install_cmd(self): if is_msvc(self): - vcvars = tools.vcvars_command(self.settings) - make_install_cmd = vcvars + ' && nmake install' + make_install_cmd = '{make} install'.format(make=self._nmake_cmd) else: make_install_cmd = '{make} install'.format(make=self._make_program) return make_install_cmd @@ -445,3 +519,19 @@ def _is_linux_clang_libcxx(self): self.settings.compiler == 'clang' and self.settings.compiler.libcxx == 'libc++' ) + + @property + def _is_glibc_older_than_2_25_on_linux(self): + # FIXME: glibc below 2.25 lacks support for certain syscalls that botan assumes + # to be present. Once CCI updated their CI images and provides a newer + # glibc, we can (and should) remove this workaround. + # + # https://github.com/conan-io/conan-center-index/pull/18079#issuecomment-1919206949 + # https://github.com/conan-io/conan-center-index/pull/18079#issuecomment-1919486839 + + libver = platform.libc_ver() + return ( + self.settings.os == 'Linux' and + libver[0] == 'glibc' and + Version(libver[1]) < '2.25' + ) diff --git a/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch new file mode 100644 index 0000000000000..54f8088a3d1e3 --- /dev/null +++ b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch @@ -0,0 +1,24 @@ +diff --git a/src/lib/rng/system_rng/system_rng.cpp b/src/lib/rng/system_rng/system_rng.cpp +index 8a24ed9f6..45af0c507 100644 +--- a/src/lib/rng/system_rng/system_rng.cpp ++++ b/src/lib/rng/system_rng/system_rng.cpp +@@ -25,6 +25,7 @@ + #include + #elif defined(BOTAN_TARGET_OS_HAS_GETRANDOM) + #include ++ #include + #include + #elif defined(BOTAN_TARGET_OS_HAS_DEV_RANDOM) + #include +@@ -216,7 +217,11 @@ class System_RNG_Impl final : public RandomNumberGenerator + size_t len = output.size(); + while(len > 0) + { ++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 25 ++ const ssize_t got = ::syscall(SYS_getrandom, buf, len, flags); ++#else + const ssize_t got = ::getrandom(buf, len, flags); ++#endif + + if(got < 0) + { diff --git a/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch new file mode 100644 index 0000000000000..dd376536584eb --- /dev/null +++ b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch @@ -0,0 +1,24 @@ +diff --git a/src/lib/rng/system_rng/system_rng.cpp b/src/lib/rng/system_rng/system_rng.cpp +index b42ea5543..dcff78931 100644 +--- a/src/lib/rng/system_rng/system_rng.cpp ++++ b/src/lib/rng/system_rng/system_rng.cpp +@@ -26,6 +26,7 @@ + #elif defined(BOTAN_TARGET_OS_HAS_GETRANDOM) + #include + #include ++ #include + #elif defined(BOTAN_TARGET_OS_HAS_DEV_RANDOM) + #include + #include +@@ -211,7 +212,11 @@ class System_RNG_Impl final : public RandomNumberGenerator { + uint8_t* buf = output.data(); + size_t len = output.size(); + while(len > 0) { ++ #if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 25 ++ const ssize_t got = ::syscall(SYS_getrandom, buf, len, flags); ++ #else + const ssize_t got = ::getrandom(buf, len, flags); ++ #endif + + if(got < 0) { + if(errno == EINTR) { diff --git a/recipes/botan/all/patches/dll-dir.patch b/recipes/botan/all/patches/dll-dir.patch deleted file mode 100644 index d0cda481f6695..0000000000000 --- a/recipes/botan/all/patches/dll-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/scripts/install.py b/src/scripts/install.py -index 4cbce5a8e..ed6fe897f 100755 ---- a/src/scripts/install.py -+++ b/src/scripts/install.py -@@ -191,7 +191,7 @@ def main(args): - libname = cfg['libname'] - soname_base = libname + '.dll' - copy_executable(os.path.join(out_dir, soname_base), -- prepend_destdir(os.path.join(lib_dir, soname_base))) -+ prepend_destdir(os.path.join(bin_dir, soname_base))) - else: - soname_patch = cfg['soname_patch'] - soname_abi = cfg['soname_abi'] diff --git a/recipes/botan/all/patches/fix-unrecognized-linker-flag.patch b/recipes/botan/all/patches/fix-unrecognized-linker-flag.patch deleted file mode 100644 index d70cce86690b9..0000000000000 --- a/recipes/botan/all/patches/fix-unrecognized-linker-flag.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/configure.py b/configure.py -index 8b413db57..46331e78c 100755 ---- a/configure.py -+++ b/configure.py -@@ -2147,6 +2147,12 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, - 'mod_list': sorted([m.basename for m in modules]) - } - -+ if cc.basename == 'msvc' and variables['cxx_abi_flags'] != '': -+ # MSVC linker doesn't support/need the ABI options, -+ # just transfer them over to just the compiler invocations -+ variables['cc_compile_flags'] = '%s %s' % (variables['cxx_abi_flags'], variables['cc_compile_flags']) -+ variables['cxx_abi_flags'] = '' -+ - variables['lib_flags'] = cc.gen_lib_flags(options, variables) - variables['cmake_lib_flags'] = cmake_escape(variables['lib_flags']) - diff --git a/recipes/botan/all/patches/vs2015-install-fix.patch b/recipes/botan/all/patches/vs2015-install-fix.patch deleted file mode 100644 index c53e1a6c17844..0000000000000 --- a/recipes/botan/all/patches/vs2015-install-fix.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 42317bbcc7fe715b0a9f066bb52ed3c59dcc257e Mon Sep 17 00:00:00 2001 -From: Hannes Rantzsch -Date: Tue, 1 Dec 2020 09:40:38 +0100 -Subject: [PATCH] Backport a fix for a build issue in VS 2015 - -See https://github.com/randombit/botan/pull/2526 for details ---- - configure.py | 2 +- - src/build-data/makefile.in | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/configure.py b/configure.py -index 88eeaa575..f7affad72 100755 ---- a/configure.py -+++ b/configure.py -@@ -1994,7 +1994,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, - def choose_python_exe(): - exe = sys.executable - -- if exe[1] == ':': # Windows style paths -+ if options.os == 'mingw': # mingw doesn't handle the backslashes in the absolute path well - return exe.replace('\\', '/') - - return exe -diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in -index 4d68ab1ec..b215bebb5 100644 ---- a/src/build-data/makefile.in -+++ b/src/build-data/makefile.in -@@ -48,19 +48,19 @@ docs: %{doc_stamp_file} - %{endif} - - %{doc_stamp_file}: %{doc_dir}/*.rst %{doc_dir}/api_ref/*.rst %{doc_dir}/dev_ref/*.rst -- $(PYTHON_EXE) $(SCRIPTS_DIR)/build_docs.py --build-dir="%{build_dir}" -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/build_docs.py" --build-dir="%{build_dir}" - - clean: -- $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/cleanup.py" --build-dir="%{build_dir}" - - distclean: -- $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" --distclean -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/cleanup.py" --build-dir="%{build_dir}" --distclean - - install: %{install_targets} -- $(PYTHON_EXE) $(SCRIPTS_DIR)/install.py --prefix="%{prefix}" --build-dir="%{build_dir}" --bindir=%{bindir} --libdir=%{libdir} --docdir=%{docdir} --includedir=%{includedir} -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/install.py" --prefix="%{prefix}" --build-dir="%{build_dir}" --bindir="%{bindir}" --libdir="%{libdir}" --docdir="%{docdir}" --includedir="%{includedir}" - - check: tests -- $(PYTHON_EXE) $(SCRIPTS_DIR)/check.py --build-dir="%{build_dir}" -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/check.py" --build-dir="%{build_dir}" - - # Object Files - LIBOBJS = %{join lib_objs} --- -2.29.2 - diff --git a/recipes/botan/all/test_package/CMakeLists.txt b/recipes/botan/all/test_package/CMakeLists.txt index 5021b4e27691a..65e374a2711cc 100644 --- a/recipes/botan/all/test_package/CMakeLists.txt +++ b/recipes/botan/all/test_package/CMakeLists.txt @@ -1,11 +1,13 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package CXX) find_package(botan REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} botan::botan) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +if(botan_VERSION_STRING VERSION_LESS "3.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +endif() diff --git a/recipes/botan/all/test_package/conanfile.py b/recipes/botan/all/test_package/conanfile.py index f4b0754b85efb..82bdc745af784 100644 --- a/recipes/botan/all/test_package/conanfile.py +++ b/recipes/botan/all/test_package/conanfile.py @@ -1,10 +1,25 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.microsoft import is_msvc, VCVars import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + if is_msvc(self): + ms = VCVars(self) + ms.generate() def build(self): cmake = CMake(self) @@ -12,6 +27,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.build_folder, self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/botan/all/test_v1_package/CMakeLists.txt b/recipes/botan/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..50dcf4911579b --- /dev/null +++ b/recipes/botan/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(botan REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} botan::botan) +if(botan_VERSION_STRING VERSION_LESS "3.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +endif() diff --git a/recipes/botan/all/test_v1_package/conanfile.py b/recipes/botan/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f4b0754b85efb --- /dev/null +++ b/recipes/botan/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/botan/all/test_v1_package/test_package.cpp b/recipes/botan/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..d8ace17201cc0 --- /dev/null +++ b/recipes/botan/all/test_v1_package/test_package.cpp @@ -0,0 +1,7 @@ +#include + +int main() +{ + std::vector key = Botan::hex_decode("000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"); + return 0; +} diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index 7fdc77ee53c3b..aada9ec401094 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -1,26 +1,6 @@ versions: - "2.12.1": - folder: all - "2.13.0": - folder: all - "2.14.0": - folder: all - "2.15.0": - folder: all - "2.16.0": - folder: all - "2.17.0": - folder: all - "2.17.1": - folder: all - "2.17.2": - folder: all "2.17.3": folder: all - "2.18.0": - folder: all - "2.18.1": - folder: all "2.18.2": folder: all "2.19.1": @@ -29,3 +9,11 @@ versions: folder: all "2.19.3": folder: all + "3.0.0": + folder: all + "3.1.0": + folder: all + "3.1.1": + folder: all + "3.2.0": + folder: all From 1c4fc7d6fa6af1e238c9f4a783d5c62fe7601108 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 22:08:16 +0900 Subject: [PATCH 3711/4087] (#22691) libucl: add version 0.9.0 * libucl: add version 0.9.0 * link math lib * remove glib types --- recipes/libucl/all/conandata.yml | 14 +++ recipes/libucl/all/conanfile.py | 4 + ...0-cmake-add-install+use-find_package.patch | 119 ++++++++++++++++++ .../0006-0.9.0-remove-glib-types.patch | 32 +++++ recipes/libucl/config.yml | 2 + 5 files changed, 171 insertions(+) create mode 100644 recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch create mode 100644 recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch diff --git a/recipes/libucl/all/conandata.yml b/recipes/libucl/all/conandata.yml index 11db4b55879f9..656cf543d7403 100644 --- a/recipes/libucl/all/conandata.yml +++ b/recipes/libucl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/vstakhov/libucl/archive/refs/tags/0.9.0.tar.gz" + sha256: "87b233048bca7d307b14cffb882d3c198dc3fff96b19e0c3515428f027b3ebfe" "0.8.2": url: "https://github.com/vstakhov/libucl/archive/refs/tags/0.8.2.tar.gz" sha256: "d95a0e2151cc167a0f3e51864fea4e8977a0f4c473faa805269a347f7fb4e165" @@ -6,6 +9,17 @@ sources: url: "https://github.com/vstakhov/libucl/archive/refs/tags/0.8.1.tar.gz" sha256: "a6397e179672f0e8171a0f9a2cfc37e01432b357fd748b13f4394436689d24ef" patches: + "0.9.0": + - patch_file: "patches/0001-0.8.1-shared-win32.patch" + patch_description: "fix UCL_EXTERN definition for shared build on win32" + patch_type: "portability" + - patch_file: "patches/0002-0.9.0-cmake-add-install+use-find_package.patch" + patch_description: "improve installation, use cci package" + patch_type: "conan" + - patch_file: "patches/0006-0.9.0-remove-glib-types.patch" + patch_description: "remove glib types, use char and size_t instead." + patch_type: "portability" + patch_source: "https://github.com/vstakhov/libucl/pull/283" "0.8.2": - patch_file: "patches/0001-0.8.1-shared-win32.patch" patch_description: "fix UCL_EXTERN definition for shared build on win32" diff --git a/recipes/libucl/all/conanfile.py b/recipes/libucl/all/conanfile.py index f81b0da544841..30bc268f05071 100644 --- a/recipes/libucl/all/conanfile.py +++ b/recipes/libucl/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -90,3 +91,6 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["pkg_config"] = "libucl" + + if Version(self.version) >= "0.9.0" and self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch b/recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch new file mode 100644 index 0000000000000..139c3e606a3ba --- /dev/null +++ b/recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch @@ -0,0 +1,119 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1e23994..c67a5b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,12 +5,15 @@ SET(LIBUCL_VERSION_MAJOR 0) + SET(LIBUCL_VERSION_MINOR 9) + SET(LIBUCL_VERSION_PATCH 0) + +-SET(LIBUCL_VERSION +- "${LIBUCL_VERSION_MAJOR}.${LIBUCL_VERSION_MINOR}.${LIBUCL_VERSION_PATCH}") ++SET(LIBUCL_VERSION "${LIBUCL_VERSION_MAJOR}.${LIBUCL_VERSION_MINOR}.${LIBUCL_VERSION_PATCH}") + + INCLUDE(CheckCCompilerFlag) + INCLUDE(CheckCSourceCompiles) +-INCLUDE(FindOpenSSL) ++IF(ENABLE_URL_SIGN) ++ FIND_PACKAGE(OpenSSL REQUIRED) ++ SET(HAVE_OPENSSL 1) ++ ADD_DEFINITIONS(-DHAVE_OPENSSL) ++ENDIF(ENABLE_URL_SIGN) + INCLUDE(GNUInstallDirs) + + OPTION(ENABLE_URL_INCLUDE "Enable urls in ucl includes (requires libcurl or libfetch) [default: OFF]" OFF) +@@ -135,30 +138,10 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + + IF(ENABLE_URL_INCLUDE MATCHES "ON") +- FIND_LIBRARY(LIBFETCH_LIBRARY NAMES fetch PATHS PATH_SUFFIXES lib64 lib +- PATHS +- ~/Library/Frameworks +- /Library/Frameworks +- /usr/local +- /usr +- /sw +- /opt/local +- /opt/csw +- /opt +- DOC "Path where the libfetch library can be found") +- IF(LIBFETCH_LIBRARY) +- FIND_FILE(HAVE_FETCH_H NAMES fetch.h PATHS /usr/include +- /opt/include +- /usr/local/include +- DOC "Path to libfetch header") +- ELSE(LIBFETCH_LIBRARY) +- # Try to find libcurl +- FIND_PACKAGE(CURL) +- IF(NOT CURL_FOUND) +- MESSAGE(WARNING "Neither libcurl nor libfetch were found, no support of URL includes in configuration") +- ENDIF(NOT CURL_FOUND) +- ENDIF(LIBFETCH_LIBRARY) +-ENDIF(ENABLE_URL_INCLUDE MATCHES "ON") ++ FIND_PACKAGE(CURL REQUIRED) ++ ADD_DEFINITIONS(-DCURL_FOUND) ++ SET(CURL_LIBRARIES CURL::libcurl) ++ENDIF() + + set(SYNC_BUILTINS_TEST_SOURCE [====[ + int main() +@@ -249,35 +232,24 @@ TARGET_COMPILE_DEFINITIONS(ucl + ${UCL_COMPILE_DEFS} + ) + +-IF(ENABLE_LUA MATCHES "ON") +- IF(ENABLE_LUAJIT MATCHES "ON") +- FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}") +- IF(NOT LUA_FOUND) +- MESSAGE(FATAL_ERROR "Lua not found, lua support is required") +- ELSE(NOT LUA_FOUND) +- INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}") +- ENDIF(NOT LUA_FOUND) +- ELSE(ENABLE_LUAJIT MATCHES "ON") +- FindLua(VERSION_MAJOR "5" VERSION_MINOR "2" ROOT "${LUA_ROOT}") +- IF(NOT LUA_FOUND) +- FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}") +- ENDIF(NOT LUA_FOUND) +- IF(NOT LUA_FOUND) +- MESSAGE(FATAL_ERROR "Lua not found, lua support is required") +- ELSE(NOT LUA_FOUND) +- INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}") +- ENDIF(NOT LUA_FOUND) +- ENDIF(ENABLE_LUAJIT MATCHES "ON") ++IF(ENABLE_LUA OR ENABLE_LUAJIT) + SET(UCL_LUA_SRC lua/lua_ucl.c) + ADD_LIBRARY(lua-ucl ${LIB_TYPE} ${UCL_LUA_SRC}) + ADD_LIBRARY(ucl::lua ALIAS lua-ucl) ++ TARGET_LINK_LIBRARIES(lua-ucl ucl) + IF(ENABLE_LUAJIT MATCHES "ON") +- TARGET_LINK_LIBRARIES(lua-ucl "${LUAJIT_LIBRARY}") ++ TARGET_LINK_LIBRARIES(lua-ucl luajit::luajit) + ELSE(ENABLE_LUAJIT MATCHES "ON") +- TARGET_LINK_LIBRARIES(lua-ucl "${LUA_LIBRARY}") ++ TARGET_LINK_LIBRARIES(lua-ucl lua::lua) + ENDIF(ENABLE_LUAJIT MATCHES "ON") +- TARGET_LINK_LIBRARIES(lua-ucl ucl) + TARGET_INCLUDE_DIRECTORIES(lua-ucl PUBLIC include PRIVATE src uthash) ++ IF(ENABLE_LUA) ++ FIND_PACKAGE(lua REQUIRED CONFIG) ++ TARGET_LINK_LIBRARIES(lua-ucl lua::lua) ++ ELSEIF(ENABLE_LUAJIT) ++ FIND_PACKAGE(luajit REQUIRED CONFIG) ++ TARGET_LINK_LIBRARIES(lua-ucl luajit::luajit) ++ ENDIF() + SET_TARGET_PROPERTIES(lua-ucl PROPERTIES + VERSION ${LIBUCL_VERSION} + SOVERSION ${LIBUCL_VERSION_MAJOR} +@@ -306,8 +278,11 @@ ENDIF(UNIX) + SET_TARGET_PROPERTIES(ucl PROPERTIES + PUBLIC_HEADER "${UCLHDR}") + +-INSTALL(TARGETS ucl EXPORT uclConfig DESTINATION ${CMAKE_INSTALL_LIBDIR} +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++INSTALL(TARGETS ucl EXPORT uclConfig ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + IF(ENABLE_UTILS MATCHES "ON") + ADD_SUBDIRECTORY(utils) diff --git a/recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch b/recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch new file mode 100644 index 0000000000000..f63df8c3abd20 --- /dev/null +++ b/recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch @@ -0,0 +1,32 @@ +diff --git a/lua/lua_ucl.c b/lua/lua_ucl.c +index c2e39c4..d6be69e 100644 +--- a/lua/lua_ucl.c ++++ b/lua/lua_ucl.c +@@ -406,7 +406,6 @@ ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags) + + /* Table iterate */ + if (is_array) { +- int i; + + if (!is_implicit) { + top = ucl_object_typed_new (UCL_ARRAY); +@@ -416,7 +415,7 @@ ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags) + top = NULL; + } + +- for (i = 1; i <= max; i ++) { ++ for (size_t i = 1; i <= max; i ++) { + lua_pushinteger (L, i); + lua_gettable (L, idx); + +@@ -886,8 +885,8 @@ lua_ucl_parser_parse_text (lua_State *L) + t = lua_touserdata (L, 2); + } + else if (lua_type (L, 2) == LUA_TSTRING) { +- const gchar *s; +- gsize len; ++ const char *s; ++ size_t len; + static struct _rspamd_lua_text st_t; + + s = lua_tolstring (L, 2, &len); diff --git a/recipes/libucl/config.yml b/recipes/libucl/config.yml index 7a9cbb2ce8ecb..fa8c302279f91 100644 --- a/recipes/libucl/config.yml +++ b/recipes/libucl/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: all "0.8.2": folder: all "0.8.1": From b87c2fc3fcaab40772c2af3e2bb7ba00abd54ef2 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Sat, 17 Feb 2024 22:08:27 +0300 Subject: [PATCH 3712/4087] (#22782) md4qt: bump version to 2.7.3 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 315e8aca50cf0..29dd0361a14fa 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.3.tar.gz" + sha256: "d464cd137a69218f88af1373b198610f1db6971c7aa56c6869219ffb34e6f0dd" "2.7.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.2.tar.gz" sha256: "2d6b65db799fff944f2ecb8bb411f17687e41e0d5a17a37ad1c4bd22fe997d8b" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index e03897a5ac97e..73bd1fd0bdc43 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.3": + folder: all "2.7.2": folder: all "2.7.1": From efe16266d5995ddbc24fd761c1afba58010454c7 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Sat, 17 Feb 2024 20:28:00 +0100 Subject: [PATCH 3713/4087] (#22783) ccache: add version 4.9.1 --- recipes/ccache/all/conandata.yml | 7 +++++++ recipes/ccache/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index 57fc624c15481..5c1cbd2adcc93 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.9.1": + url: "https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1.tar.xz" + sha256: "4c03bc840699127d16c3f0e6112e3f40ce6a230d5873daa78c60a59c7ef59d25" "4.9": url: "https://github.com/ccache/ccache/releases/download/v4.9/ccache-4.9.tar.xz" sha256: "1ebc72324e3ab52af0b562bf54189d108e85eef6478d6304a345a3c2dc4018e0" @@ -18,6 +21,10 @@ sources: url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz" sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36" patches: + "4.9.1": + - patch_file: "patches/4.9-cmake-msvc-runtime.patch" + patch_description: "fixup MSVC runtime" + patch_type: "conan" "4.9": - patch_file: "patches/4.9-cmake-msvc-runtime.patch" patch_description: "fixup MSVC runtime" diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index c2b3794787244..c3b3ce18a0b2b 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,4 +1,6 @@ versions: + "4.9.1": + folder: all "4.9": folder: all "4.8.3": From f0af52dfa9627cb4db2eddb598cfd88db55cbd80 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 18 Feb 2024 04:49:08 +0900 Subject: [PATCH 3714/4087] (#22798) ssp: add version 1.6.2 --- recipes/ssp/all/conandata.yml | 3 +++ recipes/ssp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ssp/all/conandata.yml b/recipes/ssp/all/conandata.yml index 72dce2c480ffe..7b9246ca69c3c 100644 --- a/recipes/ssp/all/conandata.yml +++ b/recipes/ssp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.2": + url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.2.tar.gz" + sha256: "6fa5ae1cd458eae3c1931e8cbcbd8d97956eda37db1388358456ca0743b48b7c" "1.6.1": url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.1.tar.gz" sha256: "4cdf75959b0a5fabd0b3e6ec1bad41d7c3f298d5b7f822d6e12b7e4d7dfcdd34" diff --git a/recipes/ssp/config.yml b/recipes/ssp/config.yml index bd3f43d241a52..8664a344402ec 100644 --- a/recipes/ssp/config.yml +++ b/recipes/ssp/config.yml @@ -1,3 +1,5 @@ versions: + "1.6.2": + folder: all "1.6.1": folder: all From 80a605249e29ca8357f75dfaf380aaf37abeb44a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 18 Feb 2024 05:08:24 +0900 Subject: [PATCH 3715/4087] (#22800) rtm: add version 2.3.0 --- recipes/rtm/all/conandata.yml | 3 +++ recipes/rtm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rtm/all/conandata.yml b/recipes/rtm/all/conandata.yml index 41cc19013d6fa..e9ca9adc1569f 100644 --- a/recipes/rtm/all/conandata.yml +++ b/recipes/rtm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/nfrechette/rtm/archive/v2.3.0.tar.gz" + sha256: "2b5f2c3761bb52ae89802a574e9dc9949aec3b183f7e100b9b66a65adcc6f5ab" "2.2.1": url: "https://github.com/nfrechette/rtm/archive/v2.2.1.tar.gz" sha256: "678989368bc9859138db00719ad9e2f82b51acb0d8da6905426e4134223cee2a" diff --git a/recipes/rtm/config.yml b/recipes/rtm/config.yml index 3a396aa92fa44..92f533de05d77 100644 --- a/recipes/rtm/config.yml +++ b/recipes/rtm/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: "all" "2.2.1": folder: "all" "2.2.0": From ce4acb537ef60008ee8007c25a33e83588d03b73 Mon Sep 17 00:00:00 2001 From: Cameron <54868046+crhowell3@users.noreply.github.com> Date: Mon, 19 Feb 2024 02:49:16 -0600 Subject: [PATCH 3716/4087] (#22794) opendis6: Set Minimum C++ Standard to 14 for RHEL 8 Support [CRITICAL] * Decreased min C++ standard to 14 for RHEL 8 support * Adjusted compiler list and test package CXX standard --- recipes/opendis6/all/conanfile.py | 8 ++++---- recipes/opendis6/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/opendis6/all/conanfile.py b/recipes/opendis6/all/conanfile.py index 7e3a9bc79f7cc..1d7c11b706f15 100644 --- a/recipes/opendis6/all/conanfile.py +++ b/recipes/opendis6/all/conanfile.py @@ -29,16 +29,16 @@ class OpenDis6Conan(ConanFile): @property def _min_cppstd(self): - return "17" + return "14" @property def _compilers_minimum_version(self): return { "Visual Studio": "15", "msvc": "191", - "gcc": "8.5", - "clang": "6", - "apple-clang": "14", + "gcc": "7", + "clang": "7", + "apple-clang": "10", } def config_options(self): diff --git a/recipes/opendis6/all/test_package/CMakeLists.txt b/recipes/opendis6/all/test_package/CMakeLists.txt index c3a404538b736..84b0c539e5ca0 100644 --- a/recipes/opendis6/all/test_package/CMakeLists.txt +++ b/recipes/opendis6/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(OpenDIS CONFIG REQUIRED) add_executable(test_package_dis test_package.cpp) target_link_libraries(test_package_dis PRIVATE OpenDIS::OpenDIS6) -set_target_properties(test_package_dis PROPERTIES CXX_STANDARD 17) +set_target_properties(test_package_dis PROPERTIES CXX_STANDARD 14) From e6d41d3925c6116d1e11366215987ed88c206e2b Mon Sep 17 00:00:00 2001 From: Juan <35701596+juansblanco@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:24:57 +0100 Subject: [PATCH 3717/4087] (#22793) [libgpg-error] Fix crosscompile errors --- recipes/libgpg-error/all/conanfile.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes/libgpg-error/all/conanfile.py b/recipes/libgpg-error/all/conanfile.py index 630c80e0b9233..2ed23af2c2e5b 100644 --- a/recipes/libgpg-error/all/conanfile.py +++ b/recipes/libgpg-error/all/conanfile.py @@ -57,10 +57,6 @@ def generate(self): ]) if self.options.get_safe("fPIC", True): tc.configure_args.append("--with-pic") - host = None - if self.settings.os == "Linux" and self.settings.arch == "x86": - host = "i686-linux-gnu" - tc.update_configure_args({"--host": host}) tc.generate() def build(self): From 04f986643e7cf4a9b3a06e2ee7827f6949258aea Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 19 Feb 2024 05:48:10 -0600 Subject: [PATCH 3718/4087] (#22629) libdwarf: Add 0.9.0 and 0.9.1 * Add libdwarf 0.9.0 and 0.9.1 * Correction for the test package * Try to fix 0.9.0 * comment out remaining 0.9.1 references temporarily * Patch off_t * Try to get 0.9.1 good to go * Update recipes/libdwarf/all/conanfile.py Co-authored-by: Uilian Ries * Remove libdwarf 20191104 * Handle dwarfdump license * Update patches to use lowercasae zstd --------- Co-authored-by: Uilian Ries --- recipes/libdwarf/all/conandata.yml | 21 ++- recipes/libdwarf/all/conanfile.py | 41 ++-- .../all/patches/0.9.0-0001-fixes.patch | 105 +++++++++++ .../all/patches/0.9.1-0001-fixes.patch | 86 +++++++++ .../all/patches/20191104-0001-patch.patch | 178 ------------------ .../libdwarf/all/test_package/CMakeLists.txt | 4 +- .../libdwarf/all/test_package/test_package.c | 8 +- recipes/libdwarf/config.yml | 6 +- 8 files changed, 236 insertions(+), 213 deletions(-) create mode 100644 recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch create mode 100644 recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch delete mode 100644 recipes/libdwarf/all/patches/20191104-0001-patch.patch diff --git a/recipes/libdwarf/all/conandata.yml b/recipes/libdwarf/all/conandata.yml index 6abc97da6d65a..1a5e4c96d2caf 100644 --- a/recipes/libdwarf/all/conandata.yml +++ b/recipes/libdwarf/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.9.1": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.9.1.tar.gz" + sha256: "6da3f46a9f92b4e284c97c733851879d9b91b16642bede90c7614860a946824e" + "0.9.0": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.9.0.tar.gz" + sha256: "6d4c0ee8a869e68dfeb15c99b869cafca7a5f715ecfc699cbf4fd30729b33226" "0.8.0": url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.8.0.tar.gz" sha256: "8ef0dbfb0816b02aac97b87426689ebaa4efb8ec2ca2c759ea34c5e4678dff3f" @@ -8,10 +14,15 @@ sources: "0.5.0": url: "https://www.prevanders.net/libdwarf-0.5.0.tar.xz" sha256: "11fa822c60317fa00e1a01a2ac9e8388f6693e8662ab72d352c5f50c7e0112a9" - "20191104": - url: "https://www.prevanders.net/libdwarf-20191104.tar.gz" - sha256: "45f50a966314421b7dab525859853616df6c9680f0ccf2f44b030c505236eaba" patches: + "0.9.1": + - patch_file: "patches/0.9.1-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" + "0.9.0": + - patch_file: "patches/0.9.0-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" "0.8.0": - patch_file: "patches/0.8.0-0001-fixes.patch" patch_description: "fix DW_API definition and cmake" @@ -30,7 +41,3 @@ patches: - patch_file: "patches/0.5.0-0001-fix-DW_API.patch" patch_description: "fix DW_API definition" patch_type: "portability" - "20191104": - - patch_file: "patches/20191104-0001-patch.patch" - patch_description: "use cci package, remove lib64/bin64 install folders" - patch_type: "conan" diff --git a/recipes/libdwarf/all/conanfile.py b/recipes/libdwarf/all/conanfile.py index 0149255b7e4f0..8eab28c0da9ce 100644 --- a/recipes/libdwarf/all/conanfile.py +++ b/recipes/libdwarf/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, rename from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -9,7 +10,7 @@ class LibdwarfConan(ConanFile): name = "libdwarf" description = "A library and a set of command-line tools for reading and writing DWARF2" - license = ("LGPL-2.1-only", "BSD-2-Clause-Views") + license = ("LGPL-2.1-only", "BSD-2-Clause-Views", "GPL-2.0-only") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.prevanders.net/dwarf.html" topics = ("debug", "dwarf", "dwarf2", "elf") @@ -20,11 +21,13 @@ class LibdwarfConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_dwarfgen": [True, False], + "with_dwarfdump": [True, False], } default_options = { "shared": False, "fPIC": True, "with_dwarfgen": False, + "with_dwarfdump": False, } def export_sources(self): @@ -41,15 +44,19 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") if not self.options.with_dwarfgen: - self.license = "LGPL-2.1-only" + self.license = (l for l in self.license if l != "BSD-2-Clause-Views") + if not self.options.with_dwarfdump: + self.license = (l for l in self.license if l != "GPL-2.0-only") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if self.options.with_dwarfgen or self.version == "20191104": + if self.options.with_dwarfgen: self.requires("libelf/0.8.13") self.requires("zlib/[>=1.2.11 <2]") + if Version(self.version) >= Version("0.9.0"): + self.requires("zstd/1.5.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -60,6 +67,7 @@ def generate(self): tc.variables["BUILD_NON_SHARED"] = not self.options.shared tc.variables["BUILD_SHARED"] = self.options.shared tc.variables["BUILD_DWARFGEN"] = self.options.with_dwarfgen + tc.variables["BUILD_DWARFDUMP"] = self.options.with_dwarfdump tc.variables["BUILD_DWARFEXAMPLE"] = False if cross_building(self): tc.variables["HAVE_UNUSED_ATTRIBUTE_EXITCODE"] = "0" @@ -76,20 +84,15 @@ def build(self): cmake.build() def package(self): - if self.version == "20191104": - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "libdwarf")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-libdwarf")) - if self.options.with_dwarfgen: - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "dwarfgen")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfgen")) - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - else: - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "lib", "libdwarf")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-libdwarf")) - if self.options.with_dwarfgen: - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "bin", "dwarfgen")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfgen")) - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "lib", "libdwarf")) + rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-libdwarf")) + if self.options.with_dwarfgen: + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "bin", "dwarfgen")) + rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfgen")) + if self.options.with_dwarfdump: + copy(self, pattern="GPL.txt", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "bin", "dwarfdump")) + rename(self, os.path.join(self.package_folder, "licenses", "GPL.txt"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfdump")) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() @@ -103,6 +106,4 @@ def package_info(self): bindir = os.path.join(self.package_folder, "bin") self.output.info(f'Appending PATH environment variable: {bindir}') self.env_info.PATH.append(bindir) - - if self.version != "20191104": - self.cpp_info.libs.append("dwarfp") + self.cpp_info.libs.append("dwarfp") diff --git a/recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch b/recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch new file mode 100644 index 0000000000000..5c91298881e9c --- /dev/null +++ b/recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch @@ -0,0 +1,105 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f444af27..5c9390d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -181,14 +181,20 @@ endif() + + # Zlib and ZSTD need to be found otherwise disable it + find_package(ZLIB) +-find_package(ZSTD) +-if (ZLIB_FOUND AND ZSTD_FOUND ) ++find_package(zstd) ++if (ZLIB_FOUND AND zstd_FOUND ) + set(HAVE_ZLIB TRUE) + set(HAVE_ZLIB_H TRUE) + set(HAVE_ZSTD TRUE) + set(HAVE_ZSTD_H TRUE) + endif() + ++if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++else() ++ set(ZSTD_LIB zstd::libzstd_static) ++endif() ++ + message(STATUS "CMAKE_SIZEOF_VOID_P ... " ${CMAKE_SIZEOF_VOID_P} ) + + # DW_FWALLXX are gnu C++ options. +diff --git a/src/bin/dwarfdump/CMakeLists.txt b/src/bin/dwarfdump/CMakeLists.txt +index 6d2c328b..bc105813 100644 +--- a/src/bin/dwarfdump/CMakeLists.txt ++++ b/src/bin/dwarfdump/CMakeLists.txt +@@ -68,7 +68,7 @@ target_compile_options(dwarfdump PRIVATE ${DW_FWALL}) + + target_link_libraries(dwarfdump PRIVATE dwarf) + +-if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) ++if(0) + set(SUFFIX 64) + endif() + set(LIBDIR lib${SUFFIX}) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 4ad5c4fb..052208a1 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -107,11 +107,10 @@ target_include_directories(dwarf PUBLIC + $ + $ + ) +-if(ZLIB_FOUND AND ZSTD_FOUND) +- target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ZSTD::ZSTD ) ++if(ZLIB_FOUND AND zstd_FOUND) ++ target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ${ZSTD_LIB} ) + endif() + +-set(SUFFIX $<$:64>) + set(LIBDIR lib${SUFFIX}) + set(BINDIR bin${SUFFIX}) + +@@ -120,7 +119,7 @@ install(TARGETS dwarf + LIBRARY DESTINATION ${LIBDIR} + ARCHIVE DESTINATION ${LIBDIR}) + +-configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY ) ++# configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY ) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -145,6 +144,8 @@ install( + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/dwarf.h + DESTINATION include/libdwarf) ++if(0) + install( FILES ${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc + DESTINATION lib/pkgconfig + ) ++endif() +diff --git a/src/lib/libdwarf/libdwarf.h b/src/lib/libdwarf/libdwarf.h +index ed3d1d0b..91f2fd8b 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch b/recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch new file mode 100644 index 0000000000000..c7952f7107937 --- /dev/null +++ b/recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch @@ -0,0 +1,86 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70839abd..972a2b9e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -188,14 +188,20 @@ if (ENABLE_DECOMPRESSION) + find_package(ZLIB) + endif() + if(NOT TARGET ZSTD::ZSTD) +- find_package(ZSTD) ++ find_package(zstd) + endif() +- if (ZLIB_FOUND AND ZSTD_FOUND ) ++ if (ZLIB_FOUND AND zstd_FOUND ) + set(HAVE_ZLIB TRUE) + set(HAVE_ZLIB_H TRUE) + set(HAVE_ZSTD TRUE) + set(HAVE_ZSTD_H TRUE) + endif() ++ find_package(zstd CONFIG REQUIRED) ++ if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++ else() ++ set(ZSTD_LIB zstd::libzstd_static) ++ endif() + endif () + + message(STATUS "CMAKE_SIZEOF_VOID_P ... " ${CMAKE_SIZEOF_VOID_P} ) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 7500c9f4..ce1461fb 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -104,8 +104,8 @@ target_include_directories(dwarf PUBLIC + $ + $ + ) +-if(ZLIB_FOUND AND ZSTD_FOUND) +- target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ZSTD::ZSTD ) ++if(ZLIB_FOUND AND zstd_FOUND) ++ target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ${ZSTD_LIB} ) + endif() + set_target_properties(dwarf PROPERTIES PUBLIC_HEADER "libdwarf.h;dwarf.h") + +@@ -116,7 +116,7 @@ install(TARGETS dwarf + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + +-configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY) ++# configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -131,4 +131,4 @@ install(EXPORT libdwarfTargets + NAMESPACE libdwarf:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") + install(FILES cmake/libdwarf-config.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +-install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++# install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +diff --git a/src/lib/libdwarf/libdwarf.h b/src/lib/libdwarf/libdwarf.h +index 380d2ef7..8c62ee7e 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/all/patches/20191104-0001-patch.patch b/recipes/libdwarf/all/patches/20191104-0001-patch.patch deleted file mode 100644 index aadcac9dfe8fd..0000000000000 --- a/recipes/libdwarf/all/patches/20191104-0001-patch.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2607e56..3ca4ac5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,9 +73,9 @@ check_include_file( "unistd.h" HAVE_UNISTD_H ) - check_include_file( "sgidefs.h" HAVE_SGIDEFS_H ) - check_include_file( "stdafx.h" HAVE_STDAFX_H ) - check_include_file( "Windows.h" HAVE_WINDOWS_H ) --check_include_file( "elf.h" HAVE_ELF_H ) --check_include_file( "libelf.h" HAVE_LIBELF_H ) --check_include_file( "libelf/libelf.h" HAVE_LIBELF_LIBELF_H) -+set(HAVE_ELF_H FALSE) -+set(HAVE_LIBELF_H FALSE) -+set(HAVE_LIBELF_LIBELF_H TRUE) - check_include_file( "alloca.h" HAVE_ALLOCA_H ) - check_include_file( "elfaccess.h" HAVE_ELFACCESS_H) - check_include_file( "sys/elf_386.h" HAVE_SYS_ELF_386_H ) -@@ -128,6 +128,8 @@ endif() - # It's not really setting the location of libelfheader, - # it is really # either elf.h, or if that is missing - # it is assuming elf.h data is in the supplied libelf. -+find_package(libelf REQUIRED CONFIG) -+find_package(ZLIB REQUIRED CONFIG) - - if(HAVE_ELF_H) - set(HAVE_LOCATION_OF_LIBELFHEADER "") -@@ -146,12 +148,13 @@ elseif(HAVE_LIBELF_LIBELF_H) - endif() - - if (HAVE_LIBELF_H OR HAVE_LIBELF_LIBELF_H) -- set (CMAKE_REQUIRED_LIBRARIES elf) -+ set (CMAKE_REQUIRED_DEFINITIONS -D__LIBELF64=1) - message(STATUS "libelf header ${PLAIN_JUST_LIBELF} checking for elf64_getehdr") - check_symbol_exists( elf64_getehdr ${PLAIN_JUST_LIBELF} HAVE_ELF64_GETEHDR) - message(STATUS "libelf header ${PLAIN_JUST_LIBELF} checking for elf64_getshdr") - check_symbol_exists( elf64_getshdr ${PLAIN_JUST_LIBELF} HAVE_ELF64_GETSHDR) - set (CMAKE_REQUIRED_LIBRARIES) -+ set (CMAKE_REQUIRED_DEFINITIONS) - endif() - - option(DWARF_WITH_LIBELF "Use libelf (default is YES)" TRUE) -@@ -166,6 +169,9 @@ if (DWARF_WITH_LIBELF) - message(STATUS "checking using HAVE_ELF_H ... ${HAVE_ELF_H}") - message(STATUS "checking using elf header ... ${HAVE_LOCATION_OF_LIBELFHEADER}") - message(STATUS "checking using libelf header ... ${JUST_LIBELF}") -+ -+ set (CMAKE_REQUIRED_DEFINITIONS -D__LIBELF64=1) -+ - check_c_source_compiles(" - #include ${HAVE_LOCATION_OF_LIBELFHEADER} - int main() -@@ -202,7 +208,7 @@ if (DWARF_WITH_LIBELF) - # to set HAVE_LIBELF_OFF64_OK at present. - check_c_source_compiles(" - #define _GNU_SOURCE 1 -- #include ${JUST_LIBELF} -+ #include <${JUST_LIBELF}> - int main() - { - off64_t p; p = 0; -@@ -210,7 +216,7 @@ if (DWARF_WITH_LIBELF) - }" HAVE_LIBELF_OFF64_OK) - - check_c_source_compiles(" -- #include ${JUST_LIBELF} -+ #include <${JUST_LIBELF}> - /* This must be at global scope */ - struct _Elf; - typedef struct _Elf Elf; -@@ -220,6 +226,10 @@ if (DWARF_WITH_LIBELF) - int i = 12; - return 0; - }" HAVE_STRUCT_UNDERSCORE_ELF) -+ -+ set (CMAKE_REQUIRED_LIBRARIES) -+ set (CMAKE_REQUIRED_DEFINITIONS) -+ - endif() - message(STATUS "Assuming struct Elf for the default libdwarf.h") - # Because cmake treats ; in an interesting way attempting -@@ -378,10 +388,9 @@ message(STATUS "Checking producer generates only 32bit... ${HAVE_STRICT_DWARF2_3 - - - # This references cmake/FindLibElf.cmake. See cmake documentation. --find_package(LibElf REQUIRED) - list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBELF_INCLUDE_DIRS}) - --configure_file(config.h.in.cmake config.h) -+configure_file(${CMAKE_SOURCE_DIR}/config.h.in.cmake ${CMAKE_BINARY_DIR}/config.h) - - if(BUILD_NON_SHARED) - set(DWARF_TARGETS dwarf-static) -@@ -395,7 +404,6 @@ if(BUILD_SHARED) - endif() - - add_subdirectory(libdwarf) --add_subdirectory(dwarfdump) - if ( BUILD_DWARFGEN ) - if ( DWARF_WITH_LIBELF ) - add_subdirectory(dwarfgen) -diff --git a/dwarfdump/CMakeLists.txt b/dwarfdump/CMakeLists.txt -index b94f6c8..6bdb57f 100644 ---- a/dwarfdump/CMakeLists.txt -+++ b/dwarfdump/CMakeLists.txt -@@ -31,7 +31,7 @@ set_source_group(CONFIGURATION_FILES "Configuration Files" - ${CMAKE_SOURCE_DIR}/config.h.in.cmake - ${CMAKE_BINARY_DIR}/config.h) - --add_executable(dwarfdump ${SOURCES} ${HEADERS} ${CONFIGURATION_FILES}) -+add_executable(dwarfdump ${SOURCES} ${HEADERS} ${CONFIGURATION_FILES} ${libelf_LIBRARIES}) - - set_folder(dwarfdump dwarfdump) - -diff --git a/dwarfgen/CMakeLists.txt b/dwarfgen/CMakeLists.txt -index 488b820..5bde9eb 100644 ---- a/dwarfgen/CMakeLists.txt -+++ b/dwarfgen/CMakeLists.txt -@@ -20,16 +20,16 @@ set_folder(dwarfgen dwarfgen) - - target_compile_options(dwarfgen PRIVATE ${DW_FWALLXX}) - --target_link_libraries(dwarfgen PRIVATE ${dwarf-target} ${DW_FZLIB}) -+target_link_libraries(dwarfgen PRIVATE ${dwarf-target} ${DW_FZLIB} ${libelf_LIBRARIES}) - - set(SUFFIX $<$:64>) - set(LIBDIR lib${SUFFIX}) - set(BINDIR bin${SUFFIX}) - - install(TARGETS dwarfgen DESTINATION -- RUNTIME DESTINATION ${BINDIR} -- LIBRARY DESTINATION ${LIBDIR} -- ARCHIVE DESTINATION ${LIBDIR}) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - - #install(FILES dwarfgen.conf DESTINATION lib) - -diff --git a/libdwarf/CMakeLists.txt b/libdwarf/CMakeLists.txt -index c610522..3a69533 100644 ---- a/libdwarf/CMakeLists.txt -+++ b/libdwarf/CMakeLists.txt -@@ -81,12 +81,9 @@ foreach(i RANGE ${targetCount}) - ${GENNAMES_OUTPUT} ${CONFIGURATION_FILES}) - - set_folder(${target} libdwarf) -- target_include_directories(${target} PUBLIC -- ${LIBELF_INCLUDE_DIRS}) -- target_compile_options(${target} PRIVATE ${DW_FWALL}) - msvc_posix(${target}) - -- target_link_libraries(${target} PUBLIC ${LIBELF_LIBRARIES}) -+ target_link_libraries(${target} PUBLIC ${libelf_LIBRARIES} ${ZLIB_LIBRARIES}) - - set_target_properties(${target} PROPERTIES OUTPUT_NAME dwarf) - -@@ -95,15 +92,14 @@ foreach(i RANGE ${targetCount}) - set(BINDIR bin${SUFFIX}) - - install(TARGETS ${target} -- RUNTIME DESTINATION ${BINDIR} -- LIBRARY DESTINATION ${LIBDIR} -- ARCHIVE DESTINATION ${LIBDIR}) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - endforeach() - --if(UNIX AND BUILD_SHARED) -- target_link_libraries(dwarf-shared PUBLIC z) --endif() -- -+install(FILES ${CMAKE_BINARY_DIR}/libdwarf/libdwarf.h DESTINATION include) -+install(FILES dwarf.h DESTINATION include) -+ - if (DO_TESTING) - set_source_group(TESTLEB "Source Files" dwarf_leb_test.c - dwarf_leb.c pro_encode_nm.c ) diff --git a/recipes/libdwarf/all/test_package/CMakeLists.txt b/recipes/libdwarf/all/test_package/CMakeLists.txt index a2fbbf0a474e1..8abbd68a6f049 100644 --- a/recipes/libdwarf/all/test_package/CMakeLists.txt +++ b/recipes/libdwarf/all/test_package/CMakeLists.txt @@ -6,6 +6,6 @@ find_package(libdwarf REQUIRED) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE libdwarf::libdwarf) -if(NOT libdwarf_VERSION MATCHES "^[0-9]*$") - target_compile_definitions(${PROJECT_NAME} PRIVATE "LIBDWARF_NEW_STRUCTURE") +if(${libdwarf_VERSION} VERSION_LESS "0.9.1") + target_compile_definitions(${PROJECT_NAME} PRIVATE "LIBDWARF_NESTED_INCLUDE") endif() diff --git a/recipes/libdwarf/all/test_package/test_package.c b/recipes/libdwarf/all/test_package/test_package.c index 27d0d196b5a8d..287828193ab29 100644 --- a/recipes/libdwarf/all/test_package/test_package.c +++ b/recipes/libdwarf/all/test_package/test_package.c @@ -3,12 +3,12 @@ #include #include -#ifndef LIBDWARF_NEW_STRUCTURE - #include "dwarf.h" - #include "libdwarf.h" -#else +#ifdef LIBDWARF_NESTED_INCLUDE #include "libdwarf/dwarf.h" #include "libdwarf/libdwarf.h" +#else + #include "dwarf.h" + #include "libdwarf.h" #endif void example1(Dwarf_Die somedie) { diff --git a/recipes/libdwarf/config.yml b/recipes/libdwarf/config.yml index 2bad80aa2207b..b5a49fc99b335 100644 --- a/recipes/libdwarf/config.yml +++ b/recipes/libdwarf/config.yml @@ -1,9 +1,11 @@ versions: + "0.9.1": + folder: all + "0.9.0": + folder: all "0.8.0": folder: all "0.7.0": folder: all "0.5.0": folder: all - "20191104": - folder: all From f4213db268522332ad65ca7b7b6e550ba9e872a2 Mon Sep 17 00:00:00 2001 From: Rob Baily Date: Mon, 19 Feb 2024 08:47:48 -0500 Subject: [PATCH 3719/4087] (#22673) cli: new recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * cli: new recipe * Ensure files have final endline * cli: new recipe * Ensure files have final endline * Remove share folder for package * Updated checks for minimum cpp and compiler versions * Add import for ConanInvalidConfiguration * Try Apple clang minimum version 12 * Try apple-clang compatibility at version 14 * Apply suggestions from code review Co-authored-by: Rubén Rincón Blanco * Set CMake generated names to lower case * add option for boost and asio Signed-off-by: Uilian Ries * Add test_package example using the with_asio option * Fix newline at end of file * Fix last line for example_complete.cpp * simplify recipe Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/cli/all/conandata.yml | 4 ++ recipes/cli/all/conanfile.py | 64 +++++++++++++++++++ recipes/cli/all/test_package/CMakeLists.txt | 8 +++ recipes/cli/all/test_package/conanfile.py | 29 +++++++++ recipes/cli/all/test_package/test_package.cpp | 22 +++++++ recipes/cli/config.yml | 3 + 6 files changed, 130 insertions(+) create mode 100644 recipes/cli/all/conandata.yml create mode 100644 recipes/cli/all/conanfile.py create mode 100644 recipes/cli/all/test_package/CMakeLists.txt create mode 100644 recipes/cli/all/test_package/conanfile.py create mode 100644 recipes/cli/all/test_package/test_package.cpp create mode 100644 recipes/cli/config.yml diff --git a/recipes/cli/all/conandata.yml b/recipes/cli/all/conandata.yml new file mode 100644 index 0000000000000..10682c56d384f --- /dev/null +++ b/recipes/cli/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.1.0": + url: "https://github.com/daniele77/cli/archive/refs/tags/v2.1.0.tar.gz" + sha256: "dfc9fc7c72a6cdfdf852d89f151699b57460ff49775a8ff27d2a69477649acf9" diff --git a/recipes/cli/all/conanfile.py b/recipes/cli/all/conanfile.py new file mode 100644 index 0000000000000..d36d374460adf --- /dev/null +++ b/recipes/cli/all/conanfile.py @@ -0,0 +1,64 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +import os + +class CLIConan(ConanFile): + name = "cli" + description = "A library for interactive command line interfaces in modern C++" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/daniele77/cli" + topics = "cli-interface", "cpp14", "no-dependencies", "header-only" + package_type = "header-library" + settings = "os", "compiler", "build_type", "arch" + no_copy_source = True + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "6", + "Visual Studio": "16", + "msvc": "192", + "apple-clang": "14", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/cli/all/test_package/CMakeLists.txt b/recipes/cli/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..532e9ff7fa4f7 --- /dev/null +++ b/recipes/cli/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(cli CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} cli::cli) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/cli/all/test_package/conanfile.py b/recipes/cli/all/test_package/conanfile.py new file mode 100644 index 0000000000000..d55c28d73bebf --- /dev/null +++ b/recipes/cli/all/test_package/conanfile.py @@ -0,0 +1,29 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain +from conan.tools.build import can_run + +class cliTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps" + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/cli/all/test_package/test_package.cpp b/recipes/cli/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..238aaf7e42157 --- /dev/null +++ b/recipes/cli/all/test_package/test_package.cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace cli; +using namespace std; + + +int main() +{ + auto rootMenu = make_unique< Menu >( "cli" ); + rootMenu -> Insert( + "hello", + [](std::ostream& out){ out << "Hello, world\n"; }, + "Print hello world" ); + + Cli cli( std::move(rootMenu) ); + cli.ExitAction( [](auto& out){ out << "Goodbye and thanks for all the fish.\n"; } ); + + CliFileSession input(cli); + + return 0; +} diff --git a/recipes/cli/config.yml b/recipes/cli/config.yml new file mode 100644 index 0000000000000..dfff490f9a9b6 --- /dev/null +++ b/recipes/cli/config.yml @@ -0,0 +1,3 @@ +versions: + "2.1.0": + folder: all From 64aba482ce1f61b7746b052373907c7d3a15aefd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Feb 2024 23:30:15 +0900 Subject: [PATCH 3720/4087] (#22764) libcoro: add version 0.11.1 * libcoro: add version 0.11 * relax compiler checks * update to version 0.11.1 Signed-off-by: Uilian Ries * require newer compilers Signed-off-by: Uilian Ries * update config Signed-off-by: Uilian Ries * Update recipes/libcoro/all/conanfile.py * fix library name on Windows Signed-off-by: Uilian Ries * some options are not available on Windows Signed-off-by: Uilian Ries * typo Signed-off-by: Uilian Ries * disable shared Signed-off-by: Uilian Ries * set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * revert CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * manage shared option Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libcoro/all/conandata.yml | 15 ++----- recipes/libcoro/all/conanfile.py | 42 +++++++++++++------ .../patches/0.10-0001-allow-shared-lib.patch | 13 ------ .../patches/0.7-0001-allow-shared-lib.patch | 9 ---- .../patches/0.8-0001-allow-shared-lib.patch | 13 ------ .../patches/0.9-0001-allow-shared-lib.patch | 13 ------ recipes/libcoro/config.yml | 2 + 7 files changed, 35 insertions(+), 72 deletions(-) delete mode 100644 recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch delete mode 100644 recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch delete mode 100644 recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch delete mode 100644 recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 2ae02b6941d0a..1587140b431f7 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.1": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.11.1.tar.gz" + sha256: "c7eb1bf133519ec0e0bc2e3e018ac4d1447a143e5e7385dab19204277d7c7671" "0.10": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.10.tar.gz" sha256: "0e952e72012925b75910f80772f3642dac631644578dbbc0db4fee047badc745" @@ -13,17 +16,11 @@ sources: sha256: "ce1f3f1c4fa21b53d1cd195a29bd5a2313e53aa35637b402db04207d02316e51" patches: "0.10": - - patch_file: "patches/0.10-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.10-0002-disable-git-config.patch" patch_type: "official" patch_description: "Comment out invocation of git config command" patch_source: "https://github.com/jbaldwin/libcoro/pull/234" "0.9": - - patch_file: "patches/0.9-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.9-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" @@ -32,16 +29,10 @@ patches: patch_source: "https://github.com/jbaldwin/libcoro/pull/169" patch_description: "include std headers" "0.8": - - patch_file: "patches/0.8-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.8-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" "0.7": - - patch_file: "patches/0.7-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.7-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index 7873b320afe48..60b120e4f9dc5 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.microsoft import is_msvc from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version @@ -40,8 +41,12 @@ def _min_cppstd(self): @property def _minimum_compilers_version(self): return { - "gcc": "10.2.1", - } + "gcc": "10.2.1", + "clang": "16.0.0", + "apple-clang": "16", + "Visual Studio": "16", + "msvc": "192", + } def export_sources(self): export_conandata_patches(self) @@ -54,10 +59,15 @@ def config_options(self): if Version(self.version) < "0.9": del self.options.with_ssl del self.options.with_threading + if is_msvc(self) or self.settings.os == "Emscripten": + self.options.rm_safe("with_networking") + self.options.rm_safe("with_ssl") def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if Version(self.version) < "0.11": + self.package_type = "static-library" def layout(self): cmake_layout(self, src_folder="src") @@ -71,10 +81,11 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: - raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") - if self.settings.compiler != "gcc": - raise ConanInvalidConfiguration(f"The Conan recipe {self.ref} only supports GCC for now. Contributions are welcome!") + if Version(self.version) < "0.10": + if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + if self.settings.compiler != "gcc": + raise ConanInvalidConfiguration(f"The Conan recipe {self.ref} only supports GCC for now. Contributions are welcome!") minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: @@ -82,6 +93,9 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + if Version(self.version) < "0.11" and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} Only supports shared linking for versions >=0.11") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -91,10 +105,14 @@ def generate(self): tc.variables["LIBCORO_BUILD_EXAMPLES"] = False if Version(self.version) >= "0.8": tc.variables["LIBCORO_EXTERNAL_DEPENDENCIES"] = True - tc.variables["LIBCORO_FEATURE_NETWORKING"] = self.options.with_networking + tc.variables["LIBCORO_FEATURE_NETWORKING"] = self.options.get_safe("with_networking") if Version(self.version) >= "0.9": tc.variables["LIBCORO_FEATURE_THREADING"] = self.options.with_threading - tc.variables["LIBCORO_FEATURE_SSL"] = self.options.with_ssl + tc.variables["LIBCORO_FEATURE_SSL"] = self.options.get_safe("with_ssl", False) + if Version(self.version) >= "0.11": + tc.variables["LIBCORO_RUN_GITCONFIG"] = False + tc.variables["LIBCORO_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["LIBCORO_FEATURE_TLS"] = self.options.get_safe("with_ssl", False) tc.generate() deps = CMakeDeps(self) deps.generate() @@ -115,16 +133,16 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "libcoro") self.cpp_info.set_property("cmake_target_name", "libcoro::libcoro") if Version(self.version) >= "0.8": - self.cpp_info.libs = ["coro"] + self.cpp_info.libs = ["libcoro"] if is_msvc(self) else ["coro"] else: self.cpp_info.libs = ["libcoro"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "m"] if Version(self.version) >= "0.9": - if self.options.with_networking: + if self.options.get_safe("with_networking"): self.cpp_info.defines.append("LIBCORO_FEATURE_NETWORKING") - if self.options.with_ssl: - self.cpp_info.defines.append("LIBCORO_FEATURE_SSL") + if self.options.get_safe("with_ssl"): + self.cpp_info.defines.extend(["LIBCORO_FEATURE_SSL", "LIBCORO_FEATURE_TLS"]) if self.options.with_threading: self.cpp_info.defines.append("LIBCORO_FEATURE_THREADING") diff --git a/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch deleted file mode 100644 index 8eb0ed04c1cfc..0000000000000 --- a/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b749c11..7398569 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -123,7 +123,7 @@ if(DEFINED EMSCRIPTEN) - add_link_options(-sEXIT_RUNTIME) - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) - target_include_directories(${PROJECT_NAME} PUBLIC include) diff --git a/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch deleted file mode 100644 index 9c3ca8de19231..0000000000000 --- a/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -69,4 +69,4 @@ - ) - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX) diff --git a/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch deleted file mode 100644 index 0481b258f7f9a..0000000000000 --- a/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f37206b..8221a5d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -91,7 +91,7 @@ if(LIBCORO_FEATURE_NETWORKING) - ) - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) - target_include_directories(${PROJECT_NAME} PUBLIC inc) diff --git a/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch deleted file mode 100644 index 4838c6103aa0f..0000000000000 --- a/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ef0eea4..4c342e3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -110,7 +110,7 @@ if(LIBCORO_FEATURE_NETWORKING) - endif() - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) - target_include_directories(${PROJECT_NAME} PUBLIC inc) diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index 5808152f9189f..a682e35c6d452 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.1": + folder: all "0.10": folder: all "0.9": From 539b155fd18e99d37e49aef333804e99a431d21a Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 19 Feb 2024 15:48:46 +0100 Subject: [PATCH 3721/4087] (#22777) aws-c-mqtt: update dependencies Due to #21033, we'll have to raise the aws-c-io dependency here as well. --- recipes/aws-c-mqtt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-mqtt/all/conanfile.py b/recipes/aws-c-mqtt/all/conanfile.py index d97246f605d3f..4740c4414b3ba 100644 --- a/recipes/aws-c-mqtt/all/conanfile.py +++ b/recipes/aws-c-mqtt/all/conanfile.py @@ -49,7 +49,7 @@ def requirements(self): else: self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.6.9") - self.requires("aws-c-io/0.13.32", transitive_headers=True) + self.requires("aws-c-io/0.13.35", transitive_headers=True) self.requires("aws-c-http/0.7.14") def source(self): From 5ae630347b31512a7863704d4ee6b09ccbff35d8 Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:08:50 +0200 Subject: [PATCH 3722/4087] (#22810) safe: new recipe --- recipes/safe/all/conandata.yml | 4 ++ recipes/safe/all/conanfile.py | 48 +++++++++++++++++++ recipes/safe/all/test_package/CMakeLists.txt | 8 ++++ recipes/safe/all/test_package/conanfile.py | 26 ++++++++++ .../safe/all/test_package/test_package.cpp | 12 +++++ recipes/safe/config.yml | 3 ++ 6 files changed, 101 insertions(+) create mode 100644 recipes/safe/all/conandata.yml create mode 100644 recipes/safe/all/conanfile.py create mode 100644 recipes/safe/all/test_package/CMakeLists.txt create mode 100644 recipes/safe/all/test_package/conanfile.py create mode 100644 recipes/safe/all/test_package/test_package.cpp create mode 100644 recipes/safe/config.yml diff --git a/recipes/safe/all/conandata.yml b/recipes/safe/all/conandata.yml new file mode 100644 index 0000000000000..31c393ec6520f --- /dev/null +++ b/recipes/safe/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.1": + url: "https://github.com/LouisCharlesC/safe/archive/v1.1.1.tar.gz" + sha256: "A6E161EAFC32AA522CD2CE1A5F95A3DF963C51263053089FC8F7A9765D054F00" diff --git a/recipes/safe/all/conanfile.py b/recipes/safe/all/conanfile.py new file mode 100644 index 0000000000000..c7c9d401cf1af --- /dev/null +++ b/recipes/safe/all/conanfile.py @@ -0,0 +1,48 @@ +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.51.1" + +class SafeConan(ConanFile): + name = "safe" + description = "Header only read and write locks for mutexes" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/LouisCharlesC/safe" + topics = ("multi-threading ", "lock", "guard", "raii", "thread-safety", "mutexes", "lock-guard", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/safe/all/test_package/CMakeLists.txt b/recipes/safe/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..13fdc6eda90ab --- /dev/null +++ b/recipes/safe/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(safe REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE safe::safe) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/safe/all/test_package/conanfile.py b/recipes/safe/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/safe/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/safe/all/test_package/test_package.cpp b/recipes/safe/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9286960794fc7 --- /dev/null +++ b/recipes/safe/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include "safe/safe.h" + +int main(void) { + safe::Safe safeValue; + + { + safe::WriteAccess> value(safeValue); + *value = 5; + } + + return 0; +} diff --git a/recipes/safe/config.yml b/recipes/safe/config.yml new file mode 100644 index 0000000000000..60d31991f5141 --- /dev/null +++ b/recipes/safe/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.1": + folder: all From 59508120c81c4d9fed03dbd4a41d871000c1b0bf Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Mon, 19 Feb 2024 16:28:30 +0100 Subject: [PATCH 3723/4087] (#22813) emio: add version 0.7.0 * add version 0.7.0 * fix license renaming issue --- recipes/emio/all/conandata.yml | 3 +++ recipes/emio/all/conanfile.py | 2 +- recipes/emio/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index 9c81336117348..a9c48f24eeb27 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/viatorus/emio/archive/0.7.0.tar.gz" + sha256: "1ef5304964eee109c13477f2d84822ee474612475049a377b59e33a5fe05d7eb" "0.6.1": url: "https://github.com/viatorus/emio/archive/0.6.1.tar.gz" sha256: "118bb67581d68b33d9764e016700014ad63b68520b5786c0d12036f33bcef0dc" diff --git a/recipes/emio/all/conanfile.py b/recipes/emio/all/conanfile.py index 8eb00bd9ec66b..7785d5a02da74 100644 --- a/recipes/emio/all/conanfile.py +++ b/recipes/emio/all/conanfile.py @@ -57,6 +57,6 @@ def source(self): destination=self.source_folder, strip_root=True) def package(self): - copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index 01ed4761ab018..b957140535721 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.1": folder: all "0.6.0": From 135dc5908869bf3b521bdd86bd1f66062e435e8f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:41:39 +0000 Subject: [PATCH 3724/4087] (#22819) [bot] Update authorized users list (2024-02-19) * Add/remove users to Access Request * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 37b43973ce278..995fbb6e339b3 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1288,3 +1288,5 @@ authorized_users: - AlexanderBabansky - matthiasbuhl - cnicolaescu +- mmomtchev +- ChristianHeinigk From 25e0860a35cc17e929936431ba8e256008b9159b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 19 Feb 2024 18:05:15 +0200 Subject: [PATCH 3725/4087] (#21153) isl: migrate to Conan v2 * isl: migrate to Conan v2 Based on changes by @System-Arch in #14916. * isl: remove unnecessary comments * isl: add v0.26, use .xz * isl: cross-building on macOS is broken * isl: fix_apple_shared_install_name() --- recipes/isl/all/conandata.yml | 21 ++- recipes/isl/all/conanfile.py | 153 +++++++++--------- .../0.24-0001-fix-ac_test_cflags.patch | 11 ++ recipes/isl/all/test_package/CMakeLists.txt | 5 +- recipes/isl/all/test_package/conanfile.py | 19 ++- .../isl/all/test_v1_package/CMakeLists.txt | 8 + recipes/isl/all/test_v1_package/conanfile.py | 17 ++ recipes/isl/config.yml | 6 +- 8 files changed, 142 insertions(+), 98 deletions(-) create mode 100644 recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch create mode 100644 recipes/isl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/isl/all/test_v1_package/conanfile.py diff --git a/recipes/isl/all/conandata.yml b/recipes/isl/all/conandata.yml index cf2c5f3fb54ee..525debaa9344b 100644 --- a/recipes/isl/all/conandata.yml +++ b/recipes/isl/all/conandata.yml @@ -1,10 +1,15 @@ sources: + "0.26": + url: "https://libisl.sourceforge.io/isl-0.26.tar.xz" + sha256: "a0b5cb06d24f9fa9e77b55fabbe9a3c94a336190345c2555f9915bb38e976504" + "0.25": + url: "https://libisl.sourceforge.io/isl-0.25.tar.xz" + sha256: "be7b210647ccadf90a2f0b000fca11a4d40546374a850db67adb32fad4b230d9" "0.24": - url: "https://libisl.sourceforge.io/isl-0.24.tar.gz" - sha256: "26e6e4d60ad59b3fff9948eb36743f0c874e124e410ef5bab930d0f546bc580d" - "0.23": - url: "https://libisl.sourceforge.io/isl-0.23.tar.gz" - sha256: "19e77cb562ab3da5a37f263208d6f902ae3a9d52c756bf6eb1a6b2f8a74b883c" - "0.22": - url: "https://libisl.sourceforge.io/isl-0.22.tar.gz" - sha256: "d0c6714e4427d3eb964388afe526a8e0f69687da7e944f1ad66ffa639923be46" + url: "https://libisl.sourceforge.io/isl-0.24.tar.xz" + sha256: "043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad" +patches: + "0.24": + - patch_file: "patches/0.24-0001-fix-ac_test_cflags.patch" + patch_description: "Fix ac_test_CFLAGS logic error" + patch_type: "portability" diff --git a/recipes/isl/all/conanfile.py b/recipes/isl/all/conanfile.py index 139d5fc0036f3..bd3795141c531 100644 --- a/recipes/isl/all/conanfile.py +++ b/recipes/isl/all/conanfile.py @@ -1,9 +1,14 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from contextlib import contextmanager +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.files import copy, get, rm, rmdir, apply_conandata_patches, export_conandata_patches +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, check_min_vs, unix_path, is_msvc_static_runtime import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.58.0" class IslConan(ConanFile): @@ -13,23 +18,24 @@ class IslConan(ConanFile): license = "MIT" homepage = "https://libisl.sourceforge.io" url = "https://github.com/conan-io/conan-center-index" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "with_int": ["gmp", "imath", "imath-32"], + "autogen": [True, False], } default_options = { "shared": False, "fPIC": True, "with_int": "gmp", + "autogen": False, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -37,97 +43,86 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def validate(self): if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("Cannot build shared isl library on Windows (due to libtool refusing to link to static/import libraries)") - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration("Apple M1 is not yet supported. Contributions are welcome") - if self.options.with_int != "gmp": - # FIXME: missing imath recipe - raise ConanInvalidConfiguration("imath is not (yet) available on cci") - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) < 16 and self.settings.compiler.runtime == "MDd": + if is_apple_os(self) and cross_building(self): + raise ConanInvalidConfiguration("Cross-building with Apple Clang is not supported yet") + if msvc_runtime_flag(self) == "MDd" and not check_min_vs(self, 192, raise_invalid=False): + # isl fails to link with this version of visual studio and MDd runtime: # gmp.lib(bdiv_dbm1c.obj) : fatal error LNK1318: Unexpected PDB error; OK (0) - raise ConanInvalidConfiguration("isl fails to link with this version of visual studio and MDd runtime") + raise ConanInvalidConfiguration("isl cannot be built with MDd runtime with MSVC < 192") def requirements(self): if self.options.with_int == "gmp": - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") + elif self.options.with_int == "imath": + self.requires("imath/3.1.9") @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.4") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if self.options.autogen: + self.tool_requires("autoconf/2.71") + self.tool_requires("automake/1.16.5") + self.tool_requires("libtool/2.4.7") + + def package_id(self): + del self.info.options.autogen + + def layout(self): + basic_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - @contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - env = { - "AR": "{} lib".format(tools.unix_path(self.deps_user_info["automake"].ar_lib)), - "CC": "{} cl -nologo -{}".format(tools.unix_path(self.deps_user_info["automake"].compile), self.settings.compiler.runtime), - "CXX": "{} cl -nologo -{}".format(tools.unix_path(self.deps_user_info["automake"].compile), self.settings.compiler.runtime), - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.libs = [] - yes_no = lambda v: "yes" if v else "no" - conf_args = [ - "--with-int={}".format(self.options.with_int), - "--enable-portable-binary", - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - ] + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args.append(f'--with-int={self.options.with_int}') + tc.configure_args.append("--enable-portable-binary") if self.options.with_int == "gmp": - conf_args.extend([ - "--with-gmp=system", - "--with-gmp-prefix={}".format(self.deps_cpp_info["gmp"].rootpath.replace("\\", "/")), - ]) - if self.settings.compiler == "Visual Studio": - if tools.Version(self.settings.compiler.version) >= 15: - self._autotools.flags.append("-Zf") - if tools.Version(self.settings.compiler.version) >= 12: - self._autotools.flags.append("-FS") - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + tc.configure_args.append("--with-gmp=system") + tc.configure_args.append(f'--with-gmp-prefix={unix_path(self, self.dependencies["gmp"].package_folder)}') + if is_msvc(self): + if check_min_vs(self, 191, raise_invalid=False): + tc.extra_cflags = ["-Zf"] + if check_min_vs(self, 180, raise_invalid=False): + tc.extra_cflags = ["-FS"] + if is_msvc(self) and self.version == "0.24" and not is_msvc_static_runtime(self): + # Pass BUILD flags to avoid confusion with GCC and mixing of runtime variants + tc.configure_args += ['CC_FOR_BUILD=cl -nologo', f'CFLAGS_FOR_BUILD=-{msvc_runtime_flag(self)}'] + env = tc.environment() + if is_msvc(self): + env.define("CC", "cl -nologo") + env.define("CXX", "cl -nologo") + tc.generate(env) def build(self): - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + if self.options.autogen: + apply_conandata_patches(self) # Currently, the only patch is for the autogen use case + self.run("./autogen.sh", cwd=self.source_folder) + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() - - os.unlink(os.path.join(os.path.join(self.package_folder, "lib", "libisl.la"))) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", os.path.join(os.path.join(self.package_folder, "lib"))) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.names["pkg_config"] = "isl" + self.cpp_info.set_property("pkg_config_name", "isl") self.cpp_info.libs = ["isl"] diff --git a/recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch b/recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch new file mode 100644 index 0000000000000..ac347c50759b3 --- /dev/null +++ b/recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch @@ -0,0 +1,11 @@ +--- m4/ax_cc_maxopt.m4 ++++ m4/ax_cc_maxopt.m4 +@@ -65,7 +65,7 @@ + acx_maxopt_portable=$withval, acx_maxopt_portable=no) + + # Try to determine "good" native compiler flags if none specified via CFLAGS +-if test "$ac_test_CFLAGS" != "set"; then ++if test "x$ac_test_CFLAGS" = "x"; then + CFLAGS="" + case $ax_cv_c_compiler_vendor in + dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host" diff --git a/recipes/isl/all/test_package/CMakeLists.txt b/recipes/isl/all/test_package/CMakeLists.txt index 3a403dc404b41..c40193c08604f 100644 --- a/recipes/isl/all/test_package/CMakeLists.txt +++ b/recipes/isl/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(isl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE isl::isl) diff --git a/recipes/isl/all/test_package/conanfile.py b/recipes/isl/all/test_package/conanfile.py index bd7165a553cf4..7b760066c7165 100644 --- a/recipes/isl/all/test_package/conanfile.py +++ b/recipes/isl/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import cross_building import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if not cross_building(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/isl/all/test_v1_package/CMakeLists.txt b/recipes/isl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..33e5f24630032 --- /dev/null +++ b/recipes/isl/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +conan_basic_setup() + +add_executable(${PROJECT_NAME} ../test_package/test_package.c) +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/isl/all/test_v1_package/conanfile.py b/recipes/isl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..bd7165a553cf4 --- /dev/null +++ b/recipes/isl/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/isl/config.yml b/recipes/isl/config.yml index e0fa5e44a1f96..ae426ef703a32 100644 --- a/recipes/isl/config.yml +++ b/recipes/isl/config.yml @@ -1,7 +1,7 @@ versions: - "0.24": + "0.26": folder: "all" - "0.23": + "0.25": folder: "all" - "0.22": + "0.24": folder: "all" From b7618e9570ef6410d13e3b67843074ac6c727895 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 01:28:54 +0900 Subject: [PATCH 3726/4087] (#22799) sfl: add version 1.2.4 --- recipes/sfl/all/conandata.yml | 3 +++ recipes/sfl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sfl/all/conandata.yml b/recipes/sfl/all/conandata.yml index 78138456b199b..cc5806fe1937d 100644 --- a/recipes/sfl/all/conandata.yml +++ b/recipes/sfl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.4": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.4.tar.gz" + sha256: "e24d4adb1aff638e17ef49841881992a1020dc951e4e9721b81b76d44ef89f5b" "1.2.3": url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.3.tar.gz" sha256: "6111a81b5dcad091c5c8a420d127c1bbfb06f8fbb7d915e6a30b4b7d2d67db71" diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml index 81ff4bc37c872..aec9153a51c8d 100644 --- a/recipes/sfl/config.yml +++ b/recipes/sfl/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.4": + folder: "all" "1.2.3": folder: "all" From c723e367a32bdafd5b2dac5173578c0994365a3f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:49:29 +0100 Subject: [PATCH 3727/4087] (#22804) tinyply: do not remove fPIC option if static * do not remove fPIC option if static * add libm to system libs --- recipes/tinyply/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/tinyply/all/conanfile.py b/recipes/tinyply/all/conanfile.py index cd8d6bcce424f..97b1320f978d5 100644 --- a/recipes/tinyply/all/conanfile.py +++ b/recipes/tinyply/all/conanfile.py @@ -31,7 +31,8 @@ def config_options(self): del self.options.fPIC def configure(self): - self.options.rm_safe("fPIC") + if self.options.shared: + self.options.rm_safe("fPIC") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -73,3 +74,5 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tinyply::tinyply") self.cpp_info.set_property("pkg_config_name", "tinyply") self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") From 8f3188b13b7c9f110c31975355fe4793cf737cb7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 17:27:44 +0900 Subject: [PATCH 3728/4087] (#22825) daw_header_libraries: add version 2.101.0 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index e2ae0afea2244..da4d268e47a7d 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.101.0": + url: "https://github.com/beached/header_libraries/archive/v2.101.0.tar.gz" + sha256: "468b3a40b90295f1da8eb79ae5723909269c020e7e8bf3d93d3f4fac7c35195b" "2.98.5": url: "https://github.com/beached/header_libraries/archive/v2.98.5.tar.gz" sha256: "2d548a6f7a860917e2f743ee75e82733cbf0d3720b7296da023c5a17a9010c9a" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index a97facd0bf9ff..209a906c305c7 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.101.0": + folder: all "2.98.5": folder: all "2.97.0": From 106c11a55444e15822572a0f0c351087ade48b2d Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Tue, 20 Feb 2024 02:47:59 -0600 Subject: [PATCH 3729/4087] (#22655) cpptrace: Add v0.4.0 * Prepare for 0.4.0 * Set CPPTRACE_USE_EXTERNAL_ZSTD * Attempt to fix build issue * Try a printbug... * Ok I think actually fixed this time * Fix endline issue * rc2 * Fix test package * oops * Now ready to go I think * Use libdwarf 0.9.1 * Use exact versions * Patch zstd handling --- recipes/cpptrace/all/conandata.yml | 13 ++++ recipes/cpptrace/all/conanfile.py | 8 ++- .../patches/0.4.0/0001-libdwarf_path.patch | 12 ++++ .../all/patches/0.4.0/0002-zstd.patch | 72 +++++++++++++++++++ .../cpptrace/all/test_package/CMakeLists.txt | 4 ++ .../all/test_package/test_package.cpp | 8 +++ recipes/cpptrace/config.yml | 2 + 7 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch create mode 100644 recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index d032d0a5a873d..b9844d75c4190 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.4.0": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.0.tar.gz" + sha256: "eef368f5bed2d85c976ea90b325e4c9bfc1b9618cbbfa15bf088adc8fa98ff89" "0.3.1": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.1.tar.gz" @@ -13,6 +17,15 @@ sources: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" sha256: "3184f404c61b6b8ba6fe7c64fc40d1c3d6d87df59bcacf1845d846101bc22f9a" patches: + "0.4.0": + - patch_file: "patches/0.4.0/0001-libdwarf_path.patch" + patch_type: "conan" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/a1624238000c794243e20801dc2b35b2f847d492" + patch_description: "Use new libdwarf header placement" + - patch_file: "patches/0.4.0/0002-zstd.patch" + patch_type: "conan" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/b7d14bc952111df973268c76133bb8ad99afdeb0" + patch_description: "Zstd is handled by libdwarf" "0.3.0": - patch_file: "patches/0.3.0/0001-cpptrace_export.patch" patch_type: "bugfix" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py index f96b276006f6d..f0aee2a68a632 100644 --- a/recipes/cpptrace/all/conanfile.py +++ b/recipes/cpptrace/all/conanfile.py @@ -43,7 +43,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libdwarf/0.8.0") + if Version(self.version) >= Version("0.4.0"): + self.requires("libdwarf/0.9.1") + else: + self.requires("libdwarf/0.8.0") def validate(self): if self.settings.compiler.cppstd: @@ -105,6 +108,9 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs.append("dbghelp") + if not self.options.shared: + self.cpp_info.defines.append("CPPTRACE_STATIC_DEFINE") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "CPPTRACE" self.cpp_info.filenames["cmake_find_package_multi"] = "cpptrace" diff --git a/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch b/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch new file mode 100644 index 0000000000000..4561234caabeb --- /dev/null +++ b/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e077cf8..2f848dd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -404,7 +404,6 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + endif() + if(CPPTRACE_CONAN) + target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf) +- target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) + elseif(CPPTRACE_VCPKG) + target_link_libraries(${target_name} PRIVATE libdwarf::dwarf) + elseif(CPPTRACE_USE_EXTERNAL_LIBDWARF) diff --git a/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch b/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch new file mode 100644 index 0000000000000..97ccd388d4128 --- /dev/null +++ b/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2f848dd..8f3ec74 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -338,40 +338,39 @@ endif() + + if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + target_compile_definitions(${target_name} PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) +- # First, dependencies: Zstd and zlib (currently relying on system zlib) +- if(CPPTRACE_USE_EXTERNAL_ZSTD) +- find_package(zstd) +- else() +- include(FetchContent) +- cmake_policy(SET CMP0074 NEW) +- FetchContent_Declare( +- zstd +- GIT_REPOSITORY https://github.com/facebook/zstd.git +- GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5 +- GIT_SHALLOW 1 +- SOURCE_SUBDIR build/cmake +- ) +- # FetchContent_MakeAvailable(zstd) +- FetchContent_GetProperties(zstd) +- if(NOT zstd_POPULATED) +- FetchContent_Populate(zstd) +- set(ZSTD_BUILD_PROGRAMS OFF) +- set(ZSTD_BUILD_CONTRIB OFF) +- set(ZSTD_BUILD_TESTS OFF) +- set(ZSTD_BUILD_STATIC ON) +- set(ZSTD_BUILD_SHARED OFF) +- set(ZSTD_LEGACY_SUPPORT OFF) +- add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") +- endif() +- endif() +- # Libdwarf itself + if(CPPTRACE_USE_EXTERNAL_LIBDWARF) + find_package(libdwarf REQUIRED) + else() ++ include(FetchContent) ++ # First, dependencies: Zstd and zlib (currently relying on system zlib) ++ if(CPPTRACE_USE_EXTERNAL_ZSTD) ++ find_package(zstd) ++ else() ++ cmake_policy(SET CMP0074 NEW) ++ FetchContent_Declare( ++ zstd ++ GIT_REPOSITORY https://github.com/facebook/zstd.git ++ GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5 ++ GIT_SHALLOW 1 ++ SOURCE_SUBDIR build/cmake ++ ) ++ # FetchContent_MakeAvailable(zstd) ++ FetchContent_GetProperties(zstd) ++ if(NOT zstd_POPULATED) ++ FetchContent_Populate(zstd) ++ set(ZSTD_BUILD_PROGRAMS OFF) ++ set(ZSTD_BUILD_CONTRIB OFF) ++ set(ZSTD_BUILD_TESTS OFF) ++ set(ZSTD_BUILD_STATIC ON) ++ set(ZSTD_BUILD_SHARED OFF) ++ set(ZSTD_LEGACY_SUPPORT OFF) ++ add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") ++ endif() ++ endif() ++ # Libdwarf itself + set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + # set(PIC_ALWAYS TRUE) + # set(BUILD_DWARFDUMP FALSE) +- include(FetchContent) + FetchContent_Declare( + libdwarf + # GIT_REPOSITORY https://github.com/davea42/libdwarf-code.git diff --git a/recipes/cpptrace/all/test_package/CMakeLists.txt b/recipes/cpptrace/all/test_package/CMakeLists.txt index 413751877cee8..b0651acbdbd44 100644 --- a/recipes/cpptrace/all/test_package/CMakeLists.txt +++ b/recipes/cpptrace/all/test_package/CMakeLists.txt @@ -8,3 +8,7 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE cpptrace::cpptrace) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if(${cpptrace_VERSION} VERSION_GREATER_EQUAL "0.4.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE CTRACE) +endif() diff --git a/recipes/cpptrace/all/test_package/test_package.cpp b/recipes/cpptrace/all/test_package/test_package.cpp index bc640e59ffc24..e663d6aea698f 100644 --- a/recipes/cpptrace/all/test_package/test_package.cpp +++ b/recipes/cpptrace/all/test_package/test_package.cpp @@ -1,9 +1,17 @@ #include #include +#include #include +#ifdef CTRACE +#include +#endif int main() { cpptrace::generate_trace().print(); + + #ifdef CTRACE + ctrace_stacktrace c_trace = ctrace_generate_trace(0, SIZE_MAX); + #endif return EXIT_SUCCESS; } diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index c4a25b816da1e..c04879bd49824 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.4.0": + folder: all "0.3.1": folder: all "0.3.0": From 86e9a819a672f9ed7490c111e9f7b1e83e626c29 Mon Sep 17 00:00:00 2001 From: tt4g <45120617+tt4g@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:07:50 +0900 Subject: [PATCH 3730/4087] (#22814) libpqxx: add version 7.9.0 --- recipes/libpqxx/all/conandata.yml | 7 +++++++ recipes/libpqxx/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libpqxx/all/conandata.yml b/recipes/libpqxx/all/conandata.yml index dcbdf0b15a551..4d1617ceb885b 100644 --- a/recipes/libpqxx/all/conandata.yml +++ b/recipes/libpqxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.9.0": + url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.9.0.tar.gz" + sha256: "a1fafd5f6455f6c66241fca1f35f5cb603251580b99f9a0cf1b5d0a586006f16" "7.8.1": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.8.1.tar.gz" sha256: "0f4c0762de45a415c9fd7357ce508666fa88b9a4a463f5fb76c235bc80dd6a84" @@ -24,6 +27,10 @@ sources: url: "https://github.com/jtv/libpqxx/archive/6.4.8.tar.gz" sha256: "3f7aba951822e01f1b9f9f353702954773323dd9f9dc376ffb57cb6bbd9a7a2f" patches: + "7.9.0": + - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.8.1": - patch_file: "patches/0001-cmake-fix-module.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." diff --git a/recipes/libpqxx/config.yml b/recipes/libpqxx/config.yml index 9d72f7f742ccb..4c8b35797bd1a 100644 --- a/recipes/libpqxx/config.yml +++ b/recipes/libpqxx/config.yml @@ -1,4 +1,6 @@ versions: + "7.9.0": + folder: all "7.8.1": folder: all "7.8.0": From bcf400f4d7c42b564cec10cbd92aa37741ec154f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 18:27:45 +0900 Subject: [PATCH 3731/4087] (#22815) highway: add version 1.1.0 --- recipes/highway/all/conandata.yml | 3 +++ recipes/highway/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/highway/all/conandata.yml b/recipes/highway/all/conandata.yml index 710781f517c65..959f287f753da 100644 --- a/recipes/highway/all/conandata.yml +++ b/recipes/highway/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/google/highway/archive/1.1.0.tar.gz" + sha256: "354a8b4539b588e70b98ec70844273e3f2741302c4c377bcc4e81b3d1866f7c9" "1.0.7": url: "https://github.com/google/highway/archive/1.0.7.tar.gz" sha256: "5434488108186c170a5e2fca5e3c9b6ef59a1caa4d520b008a9b8be6b8abe6c5" diff --git a/recipes/highway/config.yml b/recipes/highway/config.yml index 51114d87501db..1af21a7852ddb 100644 --- a/recipes/highway/config.yml +++ b/recipes/highway/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.7": folder: all "1.0.6": From 516fc44ea0120b66c6ec50ea54888c3af70a6983 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 18:47:53 +0900 Subject: [PATCH 3732/4087] (#22826) scnlib: add version 2.0.2 --- recipes/scnlib/all/conandata.yml | 7 +++++++ recipes/scnlib/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml index 959e4c6aa3f22..6655f8d077d01 100644 --- a/recipes/scnlib/all/conandata.yml +++ b/recipes/scnlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.2.tar.gz" + sha256: "a485076b8710576cf05fbc086d39499d16804575c0660b0dfaeeaf7823660a17" "2.0.1": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.1.tar.gz" sha256: "f399d1b1f36f5d53a2d63fd2974797ab8f3f7e69c424d9661253830cb793b72e" @@ -15,6 +18,10 @@ sources: url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.0.tar.gz" sha256: "5b8333e522206c2a74e57a9c9544c4fe4e7858cfe93e216905b463eaf91af5fe" patches: + "2.0.2": + - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" + patch_description: "remove re2 version on find_package" + patch_type: "portability" "2.0.1": - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" patch_description: "remove re2 version on find_package" diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml index 8c5c4f8a7d9ec..9f31088bdf1c3 100644 --- a/recipes/scnlib/config.yml +++ b/recipes/scnlib/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "2.0.1": folder: all "2.0.0": From 99ebdafc60a6811e5ed63b7c5b4ac9ece9b37fec Mon Sep 17 00:00:00 2001 From: ViktarHasiul231862 <36881808+ViktarHasiul231862@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:02:56 +0100 Subject: [PATCH 3733/4087] (#18009) Allow to set ENABLE_HARU and WT_RASTERIMAGE_IMPLEMENTATION * Allow to set ENABLE_HARU and WT_RASTERIMAGE_IMPLEMENTATION * add libharu to requirements * set HARU_PREFIX and haru package_info --- recipes/wt/all/conanfile.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index fc0eb757303bd..f52c69a8dfbb5 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -32,6 +32,8 @@ class WtConan(ConanFile): "with_dbo": [True, False], "with_opengl": [True, False], "with_unwind": [True, False], + "with_haru": [True, False], + "raster_image": ["none", "Direct2D", "GraphicsMagick"], "no_std_locale": [True, False], "no_std_wstring": [True, False], "multi_threaded": [True, False], @@ -51,6 +53,8 @@ class WtConan(ConanFile): "with_dbo": True, "with_opengl": False, "with_unwind": True, + "with_haru": False, + "raster_image": "none", "no_std_locale": False, "no_std_wstring": False, "multi_threaded": True, @@ -112,7 +116,9 @@ def requirements(self): self.requires("odbc/2.3.11") if self.options.get_safe("with_unwind"): self.requires("libunwind/1.7.2") - + if self.options.with_haru: + self.requires("libharu/2.4.3") + def validate(self): miss_boost_required_comp = any(self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) for boost_comp in self._required_boost_components) @@ -121,6 +127,8 @@ def validate(self): f"{self.ref} requires non header-only boost with these components: " f"{', '.join(self._required_boost_components)}" ) + if self.options.get_safe("raster_image", "none") == "Direct2D" and self.settings.os != "Windows": + raise ConanInvalidConfiguration("Direct2D is supported only on Windows.") # FIXME: https://redmine.emweb.be/issues/12073w if conan_version.major == 2 and Version(self.version) == "4.10.1" and is_msvc(self): @@ -178,7 +186,7 @@ def generate(self): tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_TESTS"] = False tc.variables["ENABLE_SSL"] = self.options.with_ssl - tc.variables["ENABLE_HARU"] = False + tc.variables["ENABLE_HARU"] = self.options.with_haru tc.variables["ENABLE_PANGO"] = False tc.variables["ENABLE_SQLITE"] = self.options.get_safe("with_sqlite", False) tc.variables["ENABLE_POSTGRES"] = self.options.get_safe("with_postgres", False) @@ -191,6 +199,7 @@ def generate(self): tc.variables["ENABLE_LIBWTDBO"] = self.options.with_dbo tc.variables["ENABLE_OPENGL"] = self.options.with_opengl tc.variables["ENABLE_UNWIND"] = self.options.get_safe("with_unwind", False) + tc.variables["WT_WRASTERIMAGE_IMPLEMENTATION"] = self.options.get_safe("raster_image", "none") tc.variables["WT_NO_STD_LOCALE"] = self.options.no_std_locale tc.variables["WT_NO_STD_WSTRING"] = self.options.no_std_wstring tc.variables["MULTI_THREADED"] = self.options.multi_threaded @@ -227,6 +236,8 @@ def generate(self): tc.variables["ODBC_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("odbc")) tc.variables["ODBC_INCLUDE"] = self._cmakify_path_list(self.dependencies["odbc"].cpp_info.aggregated_components().includedirs) tc.variables["ODBC_FOUND"] = True + if self.options.with_haru: + tc.variables["HARU_PREFIX"] = self._cmakify_path_list(self.dependencies["libharu"].package_folder) if self.options.get_safe("with_unwind"): tc.variables["UNWIND_PREFIX"] = self._cmakify_path_list([self.dependencies["libunwind"].package_folder]) if self.settings.os == "Windows": @@ -306,6 +317,8 @@ def package_info(self): self.cpp_info.components["wtmain"].requires.append("openssl::openssl") if self.options.get_safe("with_unwind"): self.cpp_info.components["wtmain"].requires.append("libunwind::libunwind") + if self.options.with_haru: + self.cpp_info.components["wtmain"].requires.append("libharu::libharu") # wttest if self.options.with_test: From 3fd13921873e57fb64a6d17c5f607f7e76f444d2 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 20:27:58 +0900 Subject: [PATCH 3734/4087] (#22729) uwebsockets: add version 20.60.0, remove older versions * uwebsockets: add version 20.59.0, remove older versions * add LANGUAGES in CMakeLists.txt * update 20.60.0 --- recipes/uwebsockets/all/conandata.yml | 18 +++--------------- recipes/uwebsockets/all/conanfile.py | 4 +--- .../all/test_package/CMakeLists.txt | 2 +- recipes/uwebsockets/config.yml | 12 ++---------- 4 files changed, 7 insertions(+), 29 deletions(-) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 45a3d889c4355..cb3f534499ced 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.60.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.60.0.tar.gz" + sha256: "eb72223768f93d40038181653ee5b59a53736448a6ff4e8924fd56b2fcdc00db" "20.58.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.58.0.tar.gz" sha256: "f71ca310cc5c39b12f56db1cf85727ee4d0f03fdf019a9e14ef4ba08addc6077" @@ -14,21 +17,6 @@ sources: "20.53.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" - "20.51.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.51.0.tar.gz" - sha256: "6794e7895eb8cc182024a0ae482a581eaa82f55f7cca53ae88b30738449f3cb9" - "20.49.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.49.0.tar.gz" - sha256: "c596d6f63554a42397a86233aaa47883db1cad2a231ad8608dbaea165c0910b5" - "20.48.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.48.0.tar.gz" - sha256: "d7455bbbf9829b3960d0478dd36ed0eba82847c4fc801416aaf89ccb7f4dfb85" - "20.47.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.47.0.tar.gz" - sha256: "00641b7cd2ffadd2c505e2a83a2e32bf342f01c2538bf7470f655e707adde31a" - "20.45.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.45.0.tar.gz" - sha256: "db7599e9eac0c18b76740e7c391663652e0d7188b992a1a5a8dc28f347f483ec" "19.3.0": url: "https://github.com/uNetworking/uWebSockets/archive/v19.3.0.tar.gz" sha256: "6f709b4e5fe053a94a952da93c07c919b36bcb8c838c69067560ae85f97c5621" diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index 374ab9a0e5e74..27af62e1db549 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -56,9 +56,7 @@ def requirements(self): self.requires("libdeflate/1.19") if Version(self.version) > "20.17.0": - self.requires("usockets/0.8.6") - elif Version(self.version) >= "20.15.0": - self.requires("usockets/0.8.2") + self.requires("usockets/0.8.8") elif Version(self.version) >= "19.0.0": self.requires("usockets/0.8.1") else: diff --git a/recipes/uwebsockets/all/test_package/CMakeLists.txt b/recipes/uwebsockets/all/test_package/CMakeLists.txt index 38145240aeafa..4d46e640ceb5a 100644 --- a/recipes/uwebsockets/all/test_package/CMakeLists.txt +++ b/recipes/uwebsockets/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) find_package(uwebsockets REQUIRED CONFIG) diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index a0a20412a5302..fd6362a846ec1 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.60.0": + folder: all "20.58.0": folder: all "20.57.0": @@ -9,16 +11,6 @@ versions: folder: all "20.53.0": folder: all - "20.51.0": - folder: all - "20.49.0": - folder: all - "20.48.0": - folder: all - "20.47.0": - folder: all - "20.45.0": - folder: all "19.3.0": folder: all "18.3.0": From a1c6c89490c59f5d1b7a7dec0ebf8fa125128283 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 20 Feb 2024 15:23:46 +0200 Subject: [PATCH 3735/4087] (#19298) gdal: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdal: migrate to Conan v2 * gdal/post_3.5.0: bump deps * gdal/post_3.5.0: propagate libjpeg dependency option in graph * gdal/post_3.5.0: migrate to Conan v2, WIP * gdal/post_3.5.0: tidy * gdal/post_3.5.0: adapt ConanFindPackage.cmake to make use of deps.set_properties() for renames * gdal/post_3.5.0: drop v3.5.1 * gdal/post_3.5.0: fix external json-c not being used * gdal/post_3.5.0: update v3.7.0, replace gdal_target_link_libraries everywhere * gdal/post_3.5.0: always use zlib * gdal/post_3.5.0: fix OpenEXR, HDF4, Arrow support * gdal/post_3.5.0: more deps fixes * gdal/post_3.5.0: add libarchive support * gdal/post_3.5.0: add libjxl support * gdal/post_3.5.0: add lerc support * gdal/post_3.5.0: add basisu support * gdal/post_3.5.0: add LZMA support * gdal/post_3.5.0: add pdfium support * gdal/post_3.5.0: add rasterlite2 support * gdal/post_3.5.0: add missing GDAL_USE_*_INTERNAL vars * gdal/post_3.5.0: did not mean to enable rasterlite2 by default * gdal/post_3.5.0: fix rasterlite2 issue * gdal/post_3.5.0: add spatialite support * gdal/post_3.5.0: add external shapelib support * gdal/post_3.5.0: fix typo * gdal/post_3.5.0: make libtiff a required dependency GDAL always requires either an external or internal version of it, so might as well always use the non-vendored one. * gdal/post_3.5.0: make internal-only deps configurable, don't use external shapelib * gdal/post_3.5.0: ignore deprecated options in package_id * gdal/post_3.5.0: bump deps * gdal/post_3.5.0: merge and sort external/internal cmake settings * gdal/post_3.5.0: set GDAL_SET_INSTALL_RELATIVE_RPATH=True * gdal/post_3.5.0: add with_publicdecompwt option * gdal/post_3.5.0: set all recommended and required options to True * gdal/post_3.5.0: proj is not really an optional dependency * gdal/post_3.5.0: separate commercial libs in pkg list * gdal/post_3.5.0: add v3.7.1, simplify patches * gdal/post_3.5.0: downgrade libpq * gdal/post_3.5.0: configure all available GDAL_USE_* variables * gdal/post_3.5.0: prevent any accidental use of system libs * gdal/post_3.5.0: add QUIET to find_package2() * gdal/post_3.5.0: fix libjpeg-turbo support * gdal/post_3.5.0: fix jxl_threads support * gdal: bump deps * gdal: fix shared builds Reverted back to using gdal_target_link_libraries() and fixed a number of issues caused by recursive CMakeDeps targets. * gdal: use version ranges for libcurl and zlib * gdal: fix v5.3.2 patch * gdal: fix includes not being propagated correctly * gdal: Conan v1 issue * gdal: fix linter warnings * gdal: fix patch issue * gdal: bump to 3.7.2 * gdal/post_3.5.0: bump deps * gdal/post_3.5.0: add missing system libs * gdal: add v3.8.0, v3.7.3, v3.5.3, drop old versions * gdal: bump deps * gdal: disable pdfium * gdal: update config.yml * gdal: fix failing compilation checks on MSVC * gdal: downgrade sqlite3 for proj * gdal: fix hdf5 check * gdal: add brunsli support * gdal: add opencl support * gdal: add tiledb * gdal: add ecw support * gdal: bump sqlite3 dependency * gdal: fix brunsli option * gdal: fix gdal data not being packaged Fixes #15660. * gdal: bump deps * gdal: bump to v3.8.1 * gdal: improve patching * gdal: disable libiconv on macOS * gdal: drop ineffective libjpeg-turbo propagation * gdal: bump deps * gdal: add parquet support * gdal: avoid the use of cache_variables * gdal: configure ArrowDataset correctly * gdal: fix ArrowDataset support by version * gdal: fix arrow target name on 3.5 * gdal: disable arrow for v3.5 * gdal: bump to v3.8.2 * gdal: bump arrow * gdal: further mark proprietary deps as such * gdal: add libaec support * gdal: bump proj Co-authored-by: Matthieu Darbois * gdal: add a workaround for iconv() incompatibilities * gdal: fix v3.5.3 URL and related patch * gdal: re-enable libiconv for apple-clang * gdal: add short comments for deprecated options * gdal: libiconv patches can be avoided * gdal: revert 3.5.3 to v3.5.2 due to patching issues * gdal: split two unrelated patches * gdal: fix mistake in patch splitting * gdal: prevent the use of system libs better * gdal: simplify 2-allow-cycles-in-cmake-targets.patch * gdal: bump v3.5.2 -> v3.5.3 * gdal: drop unused import * gdal: bump 3.8.2 -> 3.8.3 * gdal: bump deps * gdal: enable Armadillo * gdal: bump deps * gdal: fix a v3.5.3 CMake bug * gdal: add CMAKE_TRY_COMPILE_CONFIGURATION for try_compile() * Add deprecation warning message * Do not set json-c include folder * fix missing if condition --------- Co-authored-by: Matthieu Darbois Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/gdal/config.yml | 6 +- recipes/gdal/post_3.5.0/CMakeLists.txt | 105 +- .../post_3.5.0/cmake/ConanFindPackage.cmake | 48 + recipes/gdal/post_3.5.0/conandata.yml | 57 +- recipes/gdal/post_3.5.0/conanfile.py | 1207 ++++++++--------- .../3.5.1/0-replace-find-package.patch | 266 ---- .../3.5.2/0-replace-find-package.patch | 266 ---- .../3.5.3/0-replace-find-package.patch | 74 + .../1-do-not-force-private-linking.patch | 20 + .../2-allow-cycles-in-cmake-targets.patch | 22 + .../3.7.0/0-replace-find-package.patch | 282 ---- .../3.7.3/0-replace-find-package.patch | 64 + .../1-do-not-force-private-linking.patch | 20 + .../3.8.1/0-replace-find-package.patch | 52 + .../post_3.5.0/test_package/CMakeLists.txt | 7 +- .../gdal/post_3.5.0/test_package/conanfile.py | 33 +- .../post_3.5.0/test_v1_package/CMakeLists.txt | 8 + .../post_3.5.0/test_v1_package/conanfile.py | 23 + 18 files changed, 960 insertions(+), 1600 deletions(-) create mode 100644 recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake delete mode 100644 recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch delete mode 100644 recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch delete mode 100644 recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt create mode 100644 recipes/gdal/post_3.5.0/test_v1_package/conanfile.py diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index a2ce278d92965..a7240af75cc2e 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,9 +1,9 @@ versions: - "3.7.0": + "3.8.3": folder: "post_3.5.0" - "3.5.2": + "3.7.3": folder: "post_3.5.0" - "3.5.1": + "3.5.3": folder: "post_3.5.0" "3.4.3": folder: "pre_3.5.0" diff --git a/recipes/gdal/post_3.5.0/CMakeLists.txt b/recipes/gdal/post_3.5.0/CMakeLists.txt index 7c7f67a48db89..1a526ad3ffa0e 100644 --- a/recipes/gdal/post_3.5.0/CMakeLists.txt +++ b/recipes/gdal/post_3.5.0/CMakeLists.txt @@ -1,50 +1,7 @@ cmake_minimum_required(VERSION 3.15) project(gdal_cmake_wrapper) -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -include(CMakePushCheckState) - - -if (${GDAL_USE_POPPLER}) - find_package(poppler) - set(Poppler_VERSION_STRING ${poppler_VERSION}) - add_library(Poppler::Poppler ALIAS poppler::libpoppler) -endif() - -file(GLOB CONAN_GENERATED_CMAKE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/Find*.cmake") -foreach(CMAKE_FILE ${CONAN_GENERATED_CMAKE_FILES}) - include(${CMAKE_FILE}) -endforeach() - -if (${GDAL_USE_ARROW}) - find_package(Arrow REQUIRED) - add_library(arrow_shared ALIAS arrow::arrow) -endif() - -if (${GDAL_USE_CRYPTOPP}) - find_package(cryptopp REQUIRED) - add_library(CRYPTOPP::CRYPTOPP ALIAS ${TARGET_FOR_CRYPTOPP}) -endif() - -if (${GDAL_USE_DEFLATE}) - find_package(libdeflate REQUIRED) - add_library(Deflate::Deflate ALIAS ${TARGET_FOR_DEFLATE}) -endif() - -if (${GDAL_USE_LZ4}) - find_package(lz4 REQUIRED) - add_library(LZ4::LZ4 ALIAS lz4::lz4) -endif() - -if (${GDAL_USE_BLOSC}) - find_package(c-blosc REQUIRED) - add_library(Blosc::Blosc ALIAS c-blosc::c-blosc) -endif() - -if (${GDAL_USE_OPENEXR}) +if (GDAL_USE_OPENEXR) find_package(Imath REQUIRED) find_package(OpenEXR REQUIRED) add_library(OpenEXR::IlmImf ALIAS OpenEXR::IlmThread) @@ -56,62 +13,4 @@ if (${GDAL_USE_OPENEXR}) target_include_directories(OpenEXR::OpenEXR INTERFACE ${OpenEXR_INCLUDE_DIR}) endif() -if (${GDAL_USE_FREEXL}) - find_package(freexl REQUIRED) - add_library(FREEXL::freexl ALIAS freexl::freexl) -endif() - -if (${GDAL_USE_OPENJPEG}) - add_library(OPENJPEG::OpenJPEG ALIAS OpenJPEG::OpenJPEG) -endif() - -if (${GDAL_USE_GIF}) - find_package(GIF REQUIRED) -endif() - -if (${GDAL_USE_CFITSIO}) - find_package(cfitsio) - add_library(CFITSIO::CFITSIO ALIAS cfitsio::cfitsio) -endif() - -if (${GDAL_USE_SQLITE3}) - find_package(SQLite3) -endif() - -if (${GDAL_USE_LIBXML2}) - find_package(LibXml2) -endif() - -if (${GDAL_USE_POSTGRESQL}) - find_package(PostgreSQL) - add_library(PostgreSQL::PostgreSQL ALIAS PostgreSQL::pq) -endif() - -if (${GDAL_USE_HDF5}) - find_package(HDF5) - set(HDF5_C_LIBRARIES HDF5::C) -endif() - -if ("${GDAL_CONAN_PACKAGE_FOR_MYSQL}" STREQUAL "libmysqlclient") - find_package(mysql REQUIRED) -endif() -if ("${GDAL_CONAN_PACKAGE_FOR_MYSQL}" STREQUAL "mariadb-connector-c") - find_package(mariadb-connector-c REQUIRED) -endif() - -if (${GDAL_USE_ZLIB}) - find_package(ZLIB) -endif() - -if ("${GDAL_CONAN_PACKAGE_FOR_JPEG}" STREQUAL "libjpeg-turbo") - find_package(libjpeg-turbo REQUIRED) - add_library(JPEG::JPEG ALIAS ${TARGET_FOR_JPEG}) -endif() - -if (${GDAL_USE_PCRE2}) - find_package(PCRE2 REQUIRED) - add_library(PCRE2::PCRE2-8 ALIAS PCRE2::8BIT) -endif() - - -add_subdirectory("source_subfolder") +add_subdirectory(src) diff --git a/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake new file mode 100644 index 0000000000000..cc5455d748073 --- /dev/null +++ b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake @@ -0,0 +1,48 @@ +function(define_find_package2 pkgname include_file library_name) +endfunction() +function(find_package2 pkgname) + # Remove args unsupported by find_package() + list(REMOVE_ITEM ARGN OUT_DEPENDENCY _find_dependency) + # Force CONFIG mode + list(REMOVE_ITEM ARGN MODULE NO_CONFIG NO_MODULE) + string(TOUPPER ${pkgname} key) + if(DEFINED GDAL_USE_${key} AND NOT GDAL_USE_${key}) + set(${pkgname}_FOUND) + set(${key}_FOUND) + return() + endif() + find_package(${pkgname} ${ARGN} + QUIET + CONFIG + GLOBAL + # Forbid the use of system libs entirely + NO_DEFAULT_PATH + PATHS ${CMAKE_PREFIX_PATH} + ) + # Add variables with upper-case package name in addition to the default ones + set(targets "") + foreach(lib ${${pkgname}_LIBRARIES}) + if(TARGET ${lib}) + list(APPEND targets ${lib}) + endif() + endforeach() + # Add upper-case variables + set(${key}_DEFINITIONS "${${pkgname}_DEFINITIONS}" CACHE STRING "") + set(${key}_FOUND ${${pkgname}_FOUND} CACHE BOOL "") + set(${key}_INCLUDE_DIR "${${pkgname}_INCLUDE_DIR}" CACHE STRING "") + set(${key}_INCLUDE_DIRS "${${pkgname}_INCLUDE_DIRS}" CACHE STRING "") + set(${key}_LIBRARIES "${${pkgname}_LIBRARIES}" CACHE STRING "") + set(${key}_LIBRARY "${${pkgname}_LIBRARIES}" CACHE STRING "") + set(${key}_TARGET "${targets}" CACHE STRING "") + set(${key}_VERSION ${${pkgname}_VERSION} CACHE BOOL "") + + # Add as cache vars for global visibility + set(${pkgname}_FOUND ${${pkgname}_FOUND} CACHE BOOL "") + set(${pkgname}_TARGET "${targets}" CACHE STRING "") + set(${pkgname}_VERSION ${${pkgname}_VERSION_STRING} CACHE BOOL "") + + message(STATUS "Found ${pkgname}: ${${pkgname}_FOUND}") + message(STATUS " ${key}_TARGET: ${${key}_TARGET}") + message(STATUS " ${key}_LIBRARIES: ${${key}_LIBRARIES}") + message(STATUS " ${key}_INCLUDE_DIRS: ${${key}_INCLUDE_DIRS}") +endfunction() diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 6ac086393ccfd..159958b913d13 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,20 +1,41 @@ sources: - "3.7.0": - url: "https://github.com/OSGeo/gdal/releases/download/v3.7.0/gdal-3.7.0.tar.gz" - sha256: "5a806d759f403a15bbbf8a14ecc6947071afc5ab91e5abaef0d11d1d2d16bf94" - "3.5.2": - url: "https://github.com/OSGeo/gdal/releases/download/v3.5.2/gdal-3.5.2.tar.gz" - sha256: "fbd696e1b2a858fbd2eb3718db16b14ed9ba82521d3578770d480c74fe1146d2" - "3.5.1": - url: "https://github.com/OSGeo/gdal/releases/download/v3.5.1/gdal-3.5.1.tar.gz" - sha256: "7c4406ca010dc8632703a0a326f39e9db25d9f1f6ebaaeca64a963e3fac123d1" + "3.8.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" + sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" + "3.7.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.7.3/gdal-3.7.3.tar.gz" + sha256: "f66161e10b8b89a8a541cd760cd36d490114ed3f020a26db1489a6154db5d2be" + "3.5.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" + sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.7.0": - - patch_file: "patches/3.7.0/0-replace-find-package.patch" - base_path: "source_subfolder" - "3.5.2": - - patch_file: "patches/3.5.2/0-replace-find-package.patch" - base_path: "source_subfolder" - "3.5.1": - - patch_file: "patches/3.5.1/0-replace-find-package.patch" - base_path: "source_subfolder" + "3.8.3": + - patch_file: "patches/3.8.1/0-replace-find-package.patch" + patch_description: "Use custom version of find_package() for Conan deps" + patch_type: "conan" + - patch_file: "patches/3.7.3/1-do-not-force-private-linking.patch" + patch_description: "Fix private linking not working for some Conan dependencies" + patch_type: "conan" + - patch_file: "patches/3.5.3/2-allow-cycles-in-cmake-targets.patch" + patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" + patch_type: "conan" + "3.7.3": + - patch_file: "patches/3.7.3/0-replace-find-package.patch" + patch_description: "Use custom version of find_package() for Conan deps" + patch_type: "conan" + - patch_file: "patches/3.7.3/1-do-not-force-private-linking.patch" + patch_description: "Fix private linking not working for some Conan dependencies" + patch_type: "conan" + - patch_file: "patches/3.5.3/2-allow-cycles-in-cmake-targets.patch" + patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" + patch_type: "conan" + "3.5.3": + - patch_file: "patches/3.5.3/0-replace-find-package.patch" + patch_description: "Use custom version of find_package() for Conan deps" + patch_type: "conan" + - patch_file: "patches/3.5.3/1-do-not-force-private-linking.patch" + patch_description: "Fix private linking not working for some Conan dependencies" + patch_type: "conan" + - patch_file: "patches/3.5.3/2-allow-cycles-in-cmake-targets.patch" + patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" + patch_type: "conan" diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 3e0847981c026..49c2e7d3e5d6e 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -1,43 +1,42 @@ +import os + from conan import ConanFile -from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.files import apply_conandata_patches, get, files from conan.errors import ConanInvalidConfiguration -from conans import CMake -import functools -import os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class GdalConan(ConanFile): name = "gdal" description = "GDAL is an open source X/MIT licensed translator library " \ "for raster and vector geospatial data formats." license = "MIT" - topics = ("osgeo", "geospatial", "raster", "vector") - homepage = "https://github.com/OSGeo/gdal" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/OSGeo/gdal" + topics = ("osgeo", "geospatial", "raster", "vector") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - - # A list of gdal dependencies can be taken from cmake/helpers/CheckDependentLibraries.cmake - # within gdal sources with the command: - # grep -E '^[ \t]*gdal_check_package\(' cmake/helpers/CheckDependentLibraries.cmake \ - # | sed 's/[ \t]*gdal_check_package(\([a-zA-Z_0-9]\+\) "\(.*\)"\(.*\)/{ 'dep': \'\1\', 'descr': \'\2\' },/' \ - # | sort | uniq - options = { "shared": [True, False], "fPIC": [True, False], "tools": [True, False], "with_armadillo": [True, False], "with_arrow": [True, False], + "with_basisu": [True, False], "with_blosc": [True, False], + "with_brunsli": [True, False], "with_cfitsio": [True, False], # with_cypto option has been renamed with_openssl in version 3.5.1 - "with_crypto": [True, False, "deprecated"], + "with_crypto": ["deprecated", True, False], "with_cryptopp": [True, False], "with_curl": [True, False], "with_dds": [True, False], + "with_ecw": [True, False], "with_expat": [True, False], "with_exr": [True, False], "with_freexl": [True, False], @@ -47,48 +46,64 @@ class GdalConan(ConanFile): "with_hdf4": [True, False], "with_hdf5": [True, False], "with_heif": [True, False], + "with_jpeg": [False, "libjpeg", "libjpeg-turbo"], + "with_jxl": [True, False], "with_kea": [True, False], + "with_lerc": [True, False], + "with_libaec": [True, False], + "with_libarchive": [True, False], + "with_libcsf": [True, False], "with_libdeflate": [True, False], "with_libiconv": [True, False], - "with_jpeg": [None, "libjpeg", "libjpeg-turbo"], "with_libkml": [True, False], - "with_libtiff": [True, False], + "with_libtiff": ["deprecated", True, False], # always enabled + "with_lzma": [True, False], "with_lz4": [True, False], "with_mongocxx": [True, False], - "with_mysql": [None, "libmysqlclient", "mariadb-connector-c"], + "with_mysql": [False, "libmysqlclient", "mariadb-connector-c"], "with_netcdf": [True, False], "with_odbc": [True, False], + "with_opencad": [True, False], + "with_opencl": [True, False], "with_openjpeg": [True, False], "with_openssl": [True, False], "with_pcre": [True, False], "with_pcre2": [True, False], + # "with_pdfium": [True, False], "with_pg": [True, False], "with_png": [True, False], "with_podofo": [True, False], "with_poppler": [True, False], - "with_proj": [True, False], + "with_proj": ["deprecated", True, False], # always enabled + "with_publicdecompwt": [True, False], "with_qhull": [True, False], + "with_rasterlite2": [True, False], + "with_shapelib": [True, False], + "with_spatialite": [True, False], "with_sqlite3": [True, False], + "with_tiledb": [True, False], "with_webp": [True, False], "with_xerces": [True, False], "with_xml2": [True, False], - "with_zlib": [True, False], + "with_zlib": ["deprecated", True, False], # always enabled "with_zstd": [True, False], } - default_options = { "shared": False, "fPIC": True, "tools": False, "with_armadillo": False, - "with_arrow": False, + "with_arrow": True, + "with_basisu": False, "with_blosc": False, + "with_brunsli": False, "with_cfitsio": False, "with_crypto": "deprecated", "with_cryptopp": False, - "with_curl": False, + "with_curl": True, "with_dds": False, - "with_expat": False, + "with_ecw": False, + "with_expat": True, "with_exr": False, "with_freexl": False, "with_geos": True, @@ -97,215 +112,220 @@ class GdalConan(ConanFile): "with_hdf4": False, "with_hdf5": False, "with_heif": False, + "with_jpeg": "libjpeg", + "with_jxl": False, "with_kea": False, + "with_lerc": True, + "with_libaec": False, + "with_libarchive": False, + "with_libcsf": True, "with_libdeflate": True, "with_libiconv": True, - "with_jpeg": "libjpeg", "with_libkml": False, - "with_libtiff": True, + "with_libtiff": "deprecated", + "with_lzma": False, "with_lz4": False, "with_mongocxx": False, - "with_mysql": None, + "with_mysql": False, "with_netcdf": False, "with_odbc": False, + "with_opencad": False, + "with_opencl": True, "with_openjpeg": False, "with_openssl": False, "with_pcre": False, "with_pcre2": False, + # "with_pdfium": False, "with_pg": False, "with_png": True, "with_podofo": False, "with_poppler": False, - "with_proj": True, + "with_proj": "deprecated", + "with_publicdecompwt": False, "with_qhull": True, + "with_rasterlite2": False, + "with_shapelib": True, + "with_spatialite": False, "with_sqlite3": True, + "with_tiledb": False, "with_webp": False, "with_xerces": False, "with_xml2": False, - "with_zlib": True, + "with_zlib": "deprecated", "with_zstd": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + copy(self, "*.cmake", + src=os.path.join(self.recipe_folder, "cmake"), + dst=os.path.join(self.export_sources_folder, "src", "cmake", "helpers")) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "3.7": + # Latest versions of Arrow are no longer compatible with GDAL 3.5 + self.options.with_arrow = False + if Version(self.version) < "3.8": + del self.options.with_libaec def configure(self): - if self.options.with_crypto != "deprecated": - self.output.error("with_crypto option is deprecated, use with_openssl instead.") - if self.options.shared: - try: - del self.options.fPIC - except: - pass + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("json-c/0.16") + self.requires("json-c/0.17") self.requires("libgeotiff/1.7.1") - + self.requires("libtiff/4.6.0") + self.requires("proj/9.3.1") + # Used in a public header here: + # https://github.com/OSGeo/gdal/blob/v3.7.1/port/cpl_minizip_ioapi.h#L26 + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) if self.options.with_armadillo: - self.requires("armadillo/10.7.3") - + self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/8.0.1") - + self.requires("arrow/14.0.2") + if self.options.with_basisu: + self.requires("libbasisu/1.15.0") if self.options.with_blosc: - self.requires("c-blosc/1.21.1") - + self.requires("c-blosc/1.21.5") + if self.options.with_brunsli: + self.requires("brunsli/cci.20231024") if self.options.with_cfitsio: - self.requires("cfitsio/4.1.0") - + self.requires("cfitsio/4.3.1") if self.options.with_cryptopp: - self.requires("cryptopp/8.7.0") - + self.requires("cryptopp/8.9.0") if self.options.with_curl: - self.requires("libcurl/8.2.0") - + self.requires("libcurl/[>=7.78 <9]") if self.options.with_dds: self.requires("crunch/cci.20190615") - + if self.options.with_ecw: + self.requires("libecwj2/3.3") if self.options.with_expat: self.requires("expat/2.5.0") - if self.options.with_exr: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") self.requires("imath/3.1.9") - if self.options.with_freexl: - self.requires("freexl/1.0.6") - + self.requires("freexl/2.0.0") if self.options.with_geos: - self.requires("geos/3.11.1") - + self.requires("geos/3.12.0") if self.options.with_gif: self.requires("giflib/5.2.1") - if self.options.with_gta: self.requires("libgta/1.2.1") - if self.options.with_hdf4: - self.requires("hdf4/4.2.15") - + self.requires("hdf4/4.2.16-2") if self.options.with_hdf5: - self.requires("hdf5/1.13.1") - + self.requires("hdf5/1.14.3") if self.options.with_heif: - self.requires("libheif/1.13.0") - + self.requires("libheif/1.16.2") if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - + self.requires("libjpeg-turbo/3.0.1") + if self.options.with_jxl: + self.requires("libjxl/0.6.1") if self.options.with_kea: self.requires("kealib/1.4.14") - + if self.options.with_lerc: + self.requires("lerc/4.0.1") + if self.options.get_safe("with_libaec"): + self.requires("libaec/1.0.6") + if self.options.with_libarchive: + self.requires("libarchive/3.7.2") if self.options.with_libdeflate: - self.requires("libdeflate/1.18") - + self.requires("libdeflate/1.19") if self.options.with_libiconv: self.requires("libiconv/1.17") - if self.options.with_libkml: self.requires("libkml/1.3.0") - - if self.options.with_libtiff: - self.requires("libtiff/4.5.1") - + if self.options.with_lzma: + self.requires("xz_utils/5.4.5") if self.options.with_lz4: self.requires("lz4/1.9.4") - if self.options.with_mongocxx: - self.requires("mongo-cxx-driver/3.6.7") - + self.requires("mongo-cxx-driver/3.8.1") if self.options.with_mysql == "libmysqlclient": - self.requires("libmysqlclient/8.0.30") + self.requires("libmysqlclient/8.1.0") elif self.options.with_mysql == "mariadb-connector-c": - self.requires("mariadb-connector-c/3.1.12") - + self.requires("mariadb-connector-c/3.3.3") if self.options.with_netcdf: self.requires("netcdf/4.8.1") - if self.options.with_odbc: self.requires("odbc/2.3.11") - + if self.options.with_opencl: + self.requires("opencl-icd-loader/2023.12.14") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") - if self.options.with_openssl: - self.requires("openssl/1.1.1u") - + self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre: self.requires("pcre/8.45") - if self.options.with_pcre2: self.requires("pcre2/10.42") - + # TODO: pdfium recipe needs to be compatible with https://github.com/rouault/pdfium_build_gdal_3_8 + # if self.options.with_pdfium: + # self.requires("pdfium/95.0.4629") if self.options.with_pg: - self.requires("libpq/14.5") - + # libpq 15+ is not supported + self.requires("libpq/14.9") if self.options.with_png: self.requires("libpng/1.6.40") - if self.options.with_podofo: self.requires("podofo/0.9.7") - if self.options.with_poppler: self.requires("poppler/21.07.0") - - if self.options.with_proj: - self.requires("proj/9.1.1") - if self.options.with_qhull: self.requires("qhull/8.0.1") - + if self.options.with_rasterlite2: + self.requires("librasterlite2/1.1.0-beta1") + if self.options.with_spatialite: + self.requires("libspatialite/5.0.1") if self.options.with_sqlite3: - self.requires("sqlite3/3.42.0") - + self.requires("sqlite3/3.44.2") + if self.options.with_tiledb: + self.requires("tiledb/2.17.4") if self.options.with_webp: - self.requires("libwebp/1.3.1") - + self.requires("libwebp/1.3.2") if self.options.with_xerces: - self.requires("xerces-c/3.2.3") - + self.requires("xerces-c/3.2.5") if self.options.with_xml2: - self.requires("libxml2/2.10.3") - - if self.options.with_zlib: - self.requires("zlib/1.2.13") - + self.requires("libxml2/2.12.3") if self.options.with_zstd: self.requires("zstd/1.5.5") + # Use of external shapelib is not recommended and is currently broken. + # https://github.com/OSGeo/gdal/issues/5711 + # if self.options.with_shapelib: + # self.requires("shapelib/1.6.0") def build_requirements(self): # https://github.com/conan-io/conan/issues/3482#issuecomment-662284561 self.tool_requires("cmake/[>=3.18 <4]") def package_id(self): + # Ignore deprecated options del self.info.options.with_crypto + del self.info.options.with_libtiff + del self.info.options.with_proj + del self.info.options.with_zlib def validate(self): - if self.options.get_safe("with_pcre") and self.options.get_safe("with_pcre2"): + for option in ["crypto", "zlib", "proj", "libtiff"]: + if self.options.get_safe(f"with_{option}") != "deprecated": + self.output.warning(f"{self.ref}:with_{option} option is deprecated. The {option} dependecy is always enabled now.") + if self.options.with_pcre and self.options.with_pcre2: raise ConanInvalidConfiguration("Enable either pcre or pcre2, not both") - if self.options.get_safe("with_sqlite3") and not self.options["sqlite3"].enable_column_metadata: + if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: raise ConanInvalidConfiguration("gdql requires sqlite3:enable_column_metadata=True") - if self.options.get_safe("with_libtiff") and self.options["libtiff"].jpeg != self.options.get_safe("with_jpeg"): + if self.dependencies["libtiff"].options.jpeg != self.options.with_jpeg: msg = "libtiff:jpeg and gdal:with_jpeg must be set to the same value, either libjpeg or libjpeg-turbo." # For some reason, the ConanInvalidConfiguration message is not shown, only # ERROR: At least two recipes provides the same functionality: @@ -314,591 +334,488 @@ def validate(self): self.output.error(msg) raise ConanInvalidConfiguration(msg) - if self.options.get_safe("with_poppler") and self.options["poppler"].with_libjpeg != self.options.get_safe("with_jpeg"): + if self.options.with_poppler and self.dependencies["poppler"].options.with_libjpeg != self.options.with_jpeg: msg = "poppler:with_libjpeg and gdal:with_jpeg must be set to the same value, either libjpeg or libjpeg-turbo." self.output.error(msg) raise ConanInvalidConfiguration(msg) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - - if self.options.get_safe("fPIC", True): - cmake.definitions[ - "GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE"] = True - - cmake.definitions["BUILD_JAVA_BINDINGS"] = False - cmake.definitions["BUILD_CSHARP_BINDINGS"] = False - cmake.definitions["BUILD_PYTHON_BINDINGS"] = False - - cmake.definitions["BUILD_TESTING"] = False - cmake.definitions["GDAL_USE_ZLIB_INTERNAL"] = False - cmake.definitions["GDAL_USE_JSONC_INTERNAL"] = False - cmake.definitions["GDAL_USE_JPEG_INTERNAL"] = False - cmake.definitions["GDAL_USE_JPEG12_INTERNAL"] = False - cmake.definitions["GDAL_USE_TIFF_INTERNAL"] = False - cmake.definitions["GDAL_USE_GEOTIFF_INTERNAL"] = False - cmake.definitions["GDAL_USE_GIF_INTERNAL"] = False - cmake.definitions["GDAL_USE_PNG_INTERNAL"] = False - - cmake.definitions["GDAL_USE_LERC_INTERNAL"] = True - cmake.definitions["GDAL_USE_SHAPELIB_INTERNAL"] = True - - cmake.definitions["BUILD_APPS"] = self.options.tools - - cmake.definitions["SQLite3_HAS_COLUMN_METADATA"] = \ - self.options["sqlite3"].enable_column_metadata - - cmake.definitions["SQLite3_HAS_RTREE"] = self.options[ - "sqlite3"].enable_rtree - - cmake.definitions["GDAL_USE_JSONC"] = True - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_JSONC"] = "json-c" - - cmake.definitions["GDAL_USE_GEOTIFF"] = True - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GEOTIFF"] = "libgeotiff" - cmake.definitions["TARGET_FOR_GEOTIFF"] = "GeoTIFF::GeoTIFF" - - cmake.definitions["GDAL_USE_ARMADILLO"] = self.options.with_armadillo - if self.options.with_armadillo: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ARMADILLO"] = "armadillo" - cmake.definitions["TARGET_FOR_ARMADILLO"] = \ - self.dependencies["armadillo"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Armadillo_FOUND"] = False - - cmake.definitions["GDAL_USE_ARROW"] = self.options.with_arrow - if self.options.with_arrow: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ARROW"] = "arrow" - cmake.definitions["TARGET_FOR_ARROW"] = \ - self.dependencies["arrow"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Arrow_FOUND"] = False - - cmake.definitions["GDAL_USE_BLOSC"] = self.options.with_blosc - if self.options.with_blosc: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_BLOSC"] = "c-blosc" - cmake.definitions["TARGET_FOR_BLOSC"] = \ - self.dependencies["c-blosc"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Blosc_FOUND"] = False - - cmake.definitions["GDAL_USE_CFITSIO"] = self.options.with_cfitsio - if self.options.with_cfitsio: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CFITSIO"] = "cfitsio" - cmake.definitions["TARGET_FOR_CFITSIO"] = \ - self.dependencies["cfitsio"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["CFITSIO_FOUND"] = False - - cmake.definitions["GDAL_USE_CRYPTOPP"] = self.options.with_cryptopp - if self.options.with_cryptopp: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CRYPTOPP"] = "cryptopp" - cmake.definitions["TARGET_FOR_CRYPTOPP"] = \ - self.dependencies["cryptopp"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["CryptoPP_FOUND"] = False - - cmake.definitions["GDAL_USE_CURL"] = self.options.with_curl - if self.options.with_curl: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CURL"] = "libcurl" - cmake.definitions["TARGET_FOR_CURL"] = \ - self.dependencies["libcurl"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["CURL_FOUND"] = False - - cmake.definitions["GDAL_USE_CRNLIB"] = self.options.with_dds - if self.options.with_dds: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CRNLIB"] = "crunch" - cmake.definitions["TARGET_FOR_CRNLIB"] = \ - self.dependencies["crunch"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Crnlib_FOUND"] = False - - cmake.definitions["GDAL_USE_EXPAT"] = self.options.with_expat - if self.options.with_expat: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_EXPAT"] = "expat" - cmake.definitions["TARGET_FOR_EXPAT"] = "EXPAT::EXPAT" - else: - cmake.definitions["EXPAT_FOUND"] = False - - cmake.definitions["GDAL_USE_OPENEXR"] = self.options.with_exr - if self.options.with_exr: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_OPENEXR"] = "openexr" - cmake.definitions["TARGET_FOR_OPENEXR"] = \ - self.dependencies["openexr"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["OpenEXR_FOUND"] = False - - cmake.definitions["GDAL_USE_FREEXL"] = self.options.with_freexl - if self.options.with_freexl: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_FREEXL"] = "freexl" - cmake.definitions["TARGET_FOR_FREEXL"] = "freexl::freexl" - else: - cmake.definitions["FreeXL_FOUND"] = False - - cmake.definitions["GDAL_USE_GEOS"] = self.options.with_geos - if self.options.with_geos: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GEOS"] = "geos" - cmake.definitions["TARGET_FOR_GEOS"] = \ - self.dependencies["geos"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["GEOS_FOUND"] = False - - cmake.definitions["GDAL_USE_GIF"] = self.options.with_gif - if self.options.with_gif: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GIF"] = "giflib" - cmake.definitions["TARGET_FOR_GIF"] = \ - self.dependencies["giflib"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["GIF_FOUND"] = False - - cmake.definitions["GDAL_USE_GTA"] = self.options.with_gta - if self.options.with_gta: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GTA"] = "libgta" - cmake.definitions["TARGET_FOR_GTA"] = \ - self.dependencies["libgta"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["GTA_FOUND"] = False - - cmake.definitions["GDAL_USE_HDF4"] = self.options.with_hdf4 - if self.options.with_hdf4: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_HDF4"] = "hdf4" - cmake.definitions["TARGET_FOR_HDF4"] = \ - self.dependencies["hdf4"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["HDF4_FOUND"] = False - - cmake.definitions["GDAL_USE_HDF5"] = self.options.with_hdf5 - if self.options.with_hdf5: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_HDF5"] = "hdf5" - cmake.definitions["TARGET_FOR_HDF5"] = \ - self.dependencies["hdf5"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["HDF5_FOUND"] = False - - cmake.definitions["GDAL_USE_HEIF"] = self.options.with_heif - if self.options.with_heif: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_HEIF"] = "libheif" - cmake.definitions["TARGET_FOR_HEIF"] = \ - self.dependencies["libheif"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["HEIF_FOUND"] = False - - cmake.definitions["GDAL_USE_KEA"] = self.options.with_kea - if self.options.with_kea: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_KEA"] = "kealib" - cmake.definitions["TARGET_FOR_KEA"] = \ - self.dependencies["kealib"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["KEA_FOUND"] = False - - cmake.definitions["GDAL_USE_DEFLATE"] = self.options.with_libdeflate - if self.options.with_libdeflate: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_DEFLATE"] = "libdeflate" - cmake.definitions["TARGET_FOR_DEFLATE"] = \ - self.dependencies["libdeflate"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Deflate_FOUND"] = False - - cmake.definitions["GDAL_USE_ICONV"] = self.options.with_libiconv - if self.options.with_libiconv: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ICONV"] = "libiconv" - cmake.definitions["TARGET_FOR_ICONV"] = \ - self.dependencies["libiconv"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Iconv_FOUND"] = False - - if self.options.with_jpeg == "libjpeg" or self.options.with_jpeg == "libjpeg-turbo": - print(f'self.options.with_jpeg: {self.options.with_jpeg}') - cmake.definitions["GDAL_USE_JPEG"] = True - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_JPEG"] = self.options.with_jpeg - cmake.definitions["TARGET_FOR_JPEG"] = ( - "JPEG::JPEG" if self.options.with_jpeg == "libjpeg" else - self.dependencies["libjpeg-turbo"].cpp_info.components["turbojpeg"] \ - .get_property("cmake_target_name")) - else: - cmake.definitions["JPEG_FOUND"] = False - - cmake.definitions["GDAL_USE_LIBKML"] = self.options.with_libkml - if self.options.with_libkml: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_LIBKML"] = "libkml" - cmake.definitions["TARGET_FOR_LIBKML"] = \ - self.dependencies["libkml"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["LibKML_FOUND"] = False - - cmake.definitions["GDAL_USE_TIFF"] = self.options.with_libtiff - if self.options.with_libtiff: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_TIFF"] = "libtiff" - cmake.definitions["TARGET_FOR_TIFF"] = \ - self.dependencies["libtiff"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["TIFF_FOUND"] = False - - cmake.definitions["GDAL_USE_LZ4"] = self.options.with_lz4 - if self.options.with_lz4: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_LZ4"] = "lz4" - cmake.definitions["TARGET_FOR_LZ4"] = \ - self.dependencies["lz4"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["LZ4_FOUND"] = False - - cmake.definitions["GDAL_USE_MONGOCXX"] = self.options.with_mongocxx - if self.options.with_mongocxx: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_MONGOCXX"] = "mongo-cxx-driver" - cmake.definitions["TARGET_FOR_MONGOCXX"] = \ - self.dependencies["mongo-cxx-driver"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["MONGOCXX_FOUND"] = False - - if self.options.with_mysql == "libmysqlclient" or self.options.with_mysql == "mariadb-connector-c": - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_MYSQL"] = str(self.options.with_mysql) - cmake.definitions["TARGET_FOR_MYSQL"] = \ - "mariadb-connector-c::mariadb-connector-c" \ - if self.options.with_mysql == "mariadb-connector-c" \ - else "libmysqlclient::libmysqlclient" - else: - cmake.definitions["MYSQL_FOUND"] = False - - cmake.definitions["GDAL_USE_NETCDF"] = self.options.with_netcdf - if self.options.with_netcdf: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_NETCDF"] = "netcdf" - cmake.definitions["TARGET_FOR_NETCDF"] = \ - self.dependencies["netcdf"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["NetCDF_FOUND"] = False - - cmake.definitions["GDAL_USE_ODBC"] = self.options.with_odbc - if self.options.with_odbc: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ODBC"] = "odbc" - cmake.definitions["TARGET_FOR_ODBC"] = \ - self.dependencies["odbc"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["ODBC_FOUND"] = False - - cmake.definitions["GDAL_USE_OPENJPEG"] = self.options.with_openjpeg - if self.options.with_openjpeg: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_OPENJPEG"] = "openjpeg" - cmake.definitions["TARGET_FOR_OPENJPEG"] = \ - self.dependencies["openjpeg"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["OPENJPEG_FOUND"] = False - - cmake.definitions["GDAL_USE_OPENSSL"] = self.options.with_openssl - if self.options.with_openssl: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_OPENSSL"] = "openssl" - cmake.definitions["TARGET_FOR_OPENSSL"] = \ - self.dependencies["openssl"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["OpenSSL_FOUND"] = False - - cmake.definitions["GDAL_USE_PCRE"] = self.options.with_pcre - if self.options.with_pcre: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PCRE"] = "pcre" - cmake.definitions["TARGET_FOR_PCRE"] = \ - self.dependencies["pcre"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PCRE_FOUND"] = False - - cmake.definitions["GDAL_USE_PCRE2"] = self.options.with_pcre2 - if self.options.with_pcre2: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PCRE2"] = "pcre2" - cmake.definitions["TARGET_FOR_PCRE2"] = \ - self.dependencies["pcre2"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PCRE2_FOUND"] = False - - cmake.definitions["GDAL_USE_PDFIUM"] = False - cmake.definitions["PDFIUM_FOUND"] = False - - cmake.definitions["GDAL_USE_POSTGRESQL"] = self.options.with_pg - if self.options.with_pg: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_POSTGRESQL"] = "libpq" - cmake.definitions["TARGET_FOR_POSTGRESQL"] = \ - self.dependencies["libpq"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PostgreSQL_FOUND"] = False - - cmake.definitions["GDAL_USE_PNG"] = self.options.with_png - if self.options.with_png: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PNG"] = "libpng" - cmake.definitions["TARGET_FOR_PNG"] = \ - self.dependencies["libpng"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PNG_FOUND"] = False - - cmake.definitions["GDAL_USE_PODOFO"] = self.options.with_podofo - if self.options.with_podofo: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PODOFO"] = "podofo" - cmake.definitions["TARGET_FOR_PODOFO"] = \ - self.dependencies["podofo"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Podofo_FOUND"] = False - - cmake.definitions["GDAL_USE_POPPLER"] = self.options.with_poppler - if self.options.with_poppler: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_POPPLER"] = "poppler" - cmake.definitions["TARGET_FOR_POPPLER"] = \ - self.dependencies["poppler"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Poppler_FOUND"] = False - - cmake.definitions["GDAL_USE_PROJ"] = self.options.with_proj - if self.options.with_proj: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PROJ"] = "proj" - cmake.definitions["TARGET_FOR_PROJ"] = \ - self.dependencies["proj"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PROJ_FOUND"] = False - - cmake.definitions["GDAL_USE_QHULL"] = self.options.with_qhull - if self.options.with_qhull: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_QHULL"] = "qhull" - cmake.definitions["TARGET_FOR_QHULL"] = \ - self.dependencies["qhull"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["QHULL_FOUND"] = False - - cmake.definitions["GDAL_USE_SQLITE3"] = self.options.with_sqlite3 + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + tc.variables["GDAL_SET_INSTALL_RELATIVE_RPATH"] = True + + tc.variables["BUILD_JAVA_BINDINGS"] = False + tc.variables["BUILD_CSHARP_BINDINGS"] = False + tc.variables["BUILD_PYTHON_BINDINGS"] = False + tc.variables["BUILD_APPS"] = self.options.tools + tc.variables["BUILD_TESTING"] = False + + tc.variables["GDAL_USE_ARCHIVE"] = self.options.with_libarchive + tc.variables["GDAL_USE_ARMADILLO"] = self.options.with_armadillo + tc.variables["GDAL_USE_ARROW"] = self.options.with_arrow + tc.variables["GDAL_USE_ARROWDATASET"] = self.options.with_arrow and self.dependencies["arrow"].options.dataset_modules + tc.variables["GDAL_USE_BASISU"] = self.options.with_basisu + tc.variables["GDAL_USE_BLOSC"] = self.options.with_blosc + tc.variables["GDAL_USE_BRUNSLI"] = self.options.with_brunsli + tc.variables["GDAL_USE_CFITSIO"] = self.options.with_cfitsio + tc.variables["GDAL_USE_CRNLIB"] = self.options.with_dds + tc.variables["GDAL_USE_CRYPTOPP"] = self.options.with_cryptopp + tc.variables["GDAL_USE_CURL"] = self.options.with_curl + tc.variables["GDAL_USE_DEFLATE"] = self.options.with_libdeflate + tc.variables["GDAL_USE_ECW"] = self.options.with_ecw + tc.variables["GDAL_USE_EXPAT"] = self.options.with_expat + tc.variables["GDAL_USE_FILEGDB"] = False + tc.variables["GDAL_USE_FREEXL"] = self.options.with_freexl + tc.variables["GDAL_USE_FYBA"] = False + tc.variables["GDAL_USE_GEOS"] = self.options.with_geos + tc.variables["GDAL_USE_GEOTIFF"] = True + tc.variables["GDAL_USE_GEOTIFF_INTERNAL"] = False + tc.variables["GDAL_USE_GIF"] = self.options.with_gif + tc.variables["GDAL_USE_GIF_INTERNAL"] = False + tc.variables["GDAL_USE_GTA"] = self.options.with_gta + tc.variables["GDAL_USE_HDF4"] = self.options.with_hdf4 + tc.variables["GDAL_USE_HDF5"] = self.options.with_hdf5 + tc.variables["GDAL_USE_HDFS"] = False + tc.variables["GDAL_USE_HEIF"] = self.options.with_heif + tc.variables["GDAL_USE_ICONV"] = self.options.with_libiconv + tc.variables["GDAL_USE_IDB"] = False + tc.variables["GDAL_USE_JPEG"] = bool(self.options.with_jpeg) + tc.variables["GDAL_USE_JPEG_INTERNAL"] = False + tc.variables["GDAL_USE_JPEG12_INTERNAL"] = False + tc.variables["GDAL_USE_JSONC"] = True + tc.variables["GDAL_USE_JSONC_INTERNAL"] = False + tc.variables["GDAL_USE_JXL"] = self.options.with_jxl + tc.variables["GDAL_USE_JXL_THREADS"] = self.options.with_jxl + tc.variables["GDAL_USE_KDU"] = False + tc.variables["GDAL_USE_KEA"] = self.options.with_kea + tc.variables["GDAL_USE_LERC"] = self.options.with_lerc + tc.variables["GDAL_USE_LERC_INTERNAL"] = False + tc.variables["GDAL_USE_LIBAEC"] = self.options.get_safe("with_libaec", False) + tc.variables["GDAL_USE_LIBCSF"] = False + tc.variables["GDAL_USE_LIBCSF_INTERNAL"] = self.options.with_libcsf + tc.variables["GDAL_USE_LIBKML"] = self.options.with_libkml + tc.variables["GDAL_USE_LIBLZMA"] = self.options.with_lzma + tc.variables["GDAL_USE_LIBQB3"] = False + tc.variables["GDAL_USE_LIBXML2"] = self.options.with_xml2 + tc.variables["GDAL_USE_LURATECH"] = False + tc.variables["GDAL_USE_LZ4"] = self.options.with_lz4 + tc.variables["GDAL_USE_MONGOCXX"] = self.options.with_mongocxx + tc.variables["GDAL_USE_MRSID"] = False + tc.variables["GDAL_USE_MSSQL_NCLI"] = False + tc.variables["GDAL_USE_MSSQL_ODBC"] = False + tc.variables["GDAL_USE_MYSQL"] = bool(self.options.with_mysql) + tc.variables["GDAL_USE_NETCDF"] = self.options.with_netcdf + tc.variables["GDAL_USE_ODBC"] = self.options.with_odbc + tc.variables["GDAL_USE_ODBCCPP"] = False + tc.variables["GDAL_USE_OGDI"] = False + tc.variables["GDAL_USE_OPENCAD"] = False + tc.variables["GDAL_USE_OPENCAD_INTERNAL"] = self.options.with_opencad + tc.variables["GDAL_USE_OPENCL"] = self.options.with_opencl + tc.variables["GDAL_USE_OPENEXR"] = self.options.with_exr + tc.variables["GDAL_USE_OPENJPEG"] = self.options.with_openjpeg + tc.variables["GDAL_USE_OPENSSL"] = self.options.with_openssl + tc.variables["GDAL_USE_ORACLE"] = False + tc.variables["GDAL_USE_PARQUET"] = self.options.with_arrow and self.dependencies["arrow"].options.parquet + tc.variables["GDAL_USE_PCRE"] = self.options.with_pcre + tc.variables["GDAL_USE_PCRE2"] = self.options.with_pcre2 + tc.variables["GDAL_USE_PDFIUM"] = False # self.options.with_pdfium + tc.variables["GDAL_USE_PNG"] = self.options.with_png + tc.variables["GDAL_USE_PNG_INTERNAL"] = False + tc.variables["GDAL_USE_PODOFO"] = self.options.with_podofo + tc.variables["GDAL_USE_POPPLER"] = self.options.with_poppler + tc.variables["GDAL_USE_POSTGRESQL"] = self.options.with_pg + tc.variables["GDAL_USE_PUBLICDECOMPWT"] = self.options.with_publicdecompwt + tc.variables["GDAL_USE_QHULL"] = self.options.with_qhull + tc.variables["GDAL_USE_QHULL_INTERNAL"] = False + tc.variables["GDAL_USE_RASTERLITE2"] = self.options.with_rasterlite2 + tc.variables["GDAL_USE_SFCGAL"] = False + tc.variables["GDAL_USE_SHAPELIB"] = False + tc.variables["GDAL_USE_SHAPELIB_INTERNAL"] = self.options.with_shapelib + tc.variables["GDAL_USE_SPATIALITE"] = self.options.with_spatialite + tc.variables["GDAL_USE_SQLITE3"] = self.options.with_sqlite3 + tc.variables["GDAL_USE_TEIGHA"] = False + tc.variables["GDAL_USE_TIFF_INTERNAL"] = False + tc.variables["GDAL_USE_TILEDB"] = self.options.with_tiledb + tc.variables["GDAL_USE_WEBP"] = self.options.with_webp + tc.variables["GDAL_USE_XERCESC"] = self.options.with_xerces + tc.variables["GDAL_USE_ZLIB"] = True + tc.variables["GDAL_USE_ZLIB_INTERNAL"] = False + tc.variables["GDAL_USE_ZSTD"] = self.options.with_zstd + + tc.variables["Parquet_FOUND"] = self.options.with_arrow and self.dependencies["arrow"].options.parquet + tc.variables["ArrowDataset_FOUND"] = self.options.with_arrow and self.dependencies["arrow"].options.dataset_modules + + # General workaround for try_compile() tests in the project + # https://github.com/conan-io/conan/issues/12180 + tc.variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = self.settings.build_type + # https://github.com/OSGeo/gdal/blob/v3.8.1/cmake/modules/packages/FindSQLite3.cmake if self.options.with_sqlite3: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_SQLITE3"] = "sqlite3" - cmake.definitions["TARGET_FOR_SQLITE3"] = \ - self.dependencies["sqlite3"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["SQLite3_FOUND"] = False - - cmake.definitions["GDAL_USE_WEBP"] = self.options.with_webp - if self.options.with_webp: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_WEBP"] = "libwebp" - cmake.definitions["TARGET_FOR_WEBP"] = \ - self.dependencies["libwebp"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["WebP_FOUND"] = False - - cmake.definitions["GDAL_USE_XERCESC"] = self.options.with_xerces - if self.options.with_xerces: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_XERCESC"] = "xerces-c" - cmake.definitions["TARGET_FOR_XERCESC"] = \ - self.dependencies["xerces-c"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["XercesC_FOUND"] = False - - cmake.definitions["GDAL_USE_LIBXML2"] = self.options.with_xml2 - if self.options.with_xml2: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_LIBXML2"] = "libxml2" - cmake.definitions["TARGET_FOR_LIBXML2"] = \ - self.dependencies["libxml2"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["LibXml2_FOUND"] = False - - cmake.definitions["GDAL_USE_ZLIB"] = self.options.with_zlib - if self.options.with_zlib: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ZLIB"] = "zlib" - cmake.definitions["TARGET_FOR_ZLIB"] = \ - self.dependencies["zlib"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["ZLIB_FOUND"] = False - - cmake.definitions["GDAL_USE_ZSTD"] = self.options.with_zstd - if self.options.with_zstd: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ZSTD"] = "zstd" - cmake.definitions["TARGET_FOR_ZSTD"] = \ - self.dependencies["zstd"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["ZSTD_FOUND"] = False - - - for k, v in cmake.definitions.items(): - print(k, " = ", v) - - cmake.configure(build_folder=self._build_subfolder) - return cmake - - def build(self): + tc.variables["SQLite3_HAS_COLUMN_METADATA"] = self.dependencies["sqlite3"].options.enable_column_metadata + tc.variables["SQLite3_HAS_RTREE"] = self.dependencies["sqlite3"].options.enable_rtree + tc.variables["SQLite3_HAS_LOAD_EXTENSION"] = not self.dependencies["sqlite3"].options.omit_load_extension + tc.variables["SQLite3_HAS_PROGRESS_HANDLER"] = True + tc.variables["SQLite3_HAS_MUTEX_ALLOC"] = True + tc.preprocessor_definitions["SQLite3_HAS_COLUMN_METADATA"] = 1 if self.dependencies["sqlite3"].options.enable_column_metadata else 0 + tc.preprocessor_definitions["SQLite3_HAS_RTREE"] = 1 if self.dependencies["sqlite3"].options.enable_rtree else 0 + # https://github.com/OSGeo/gdal/blob/v3.8.0/cmake/helpers/CheckDependentLibraries.cmake#L419-L450 + tc.variables["HAVE_JPEGTURBO_DUAL_MODE_8_12"] = ( + self.options.with_jpeg == "libjpeg-turbo" and + bool(self.dependencies["libjpeg-turbo"].options.get_safe("enable12bit")) + ) + # https://github.com/OSGeo/gdal/blob/v3.8.0/port/CMakeLists.txt + tc.variables["BLOSC_HAS_BLOSC_CBUFFER_VALIDATE"] = ( + self.options.with_blosc and + Version(self.dependencies["c-blosc"].ref.version) >= "1.21.5" + ) + # https://github.com/OSGeo/gdal/blob/v3.8.0/frmts/hdf5/CMakeLists.txt#L61-L64 + tc.variables["GDAL_ENABLE_HDF5_GLOBAL_LOCK"] = ( + self.options.with_hdf5 and + bool(self.dependencies["hdf5"].options.get_safe("threadsafe")) + ) + # https://github.com/OSGeo/gdal/blob/v3.8.0/frmts/hdf4/CMakeLists.txt#L28-L46 + tc.variables["HDF4_HAS_MAXOPENFILES"] = ( + self.options.with_hdf4 and + Version(self.dependencies["hdf4"].ref.version) >= "4.2.5" + ) + # https://github.com/OSGeo/gdal/blob/4bb78aab3ae9ab5433042bc27239d1555cbe272e/cmake/helpers/CheckDependentLibraries.cmake#L301-L318 + # The detection fails for some reason + # Setting it to non-const is compatible with all platforms + tc.variables["_ICONV_SECOND_ARGUMENT_IS_NOT_CONST"] = True + tc.generate() + + + deps = CMakeDeps(self) + # https://gdal.org/development/building_from_source.html#cmake-package-dependent-options + # Based on `grep -hPIR '(gdal_check_package|find_package2)\(' ~/.conan2/p/b/gdal*/b/src/cmake | sort -u` + conan_to_cmake_pkg_name = { + "armadillo": "Armadillo", + "arrow": "Arrow", + "brunsli": "BRUNSLI", + "c-blosc": "Blosc", + "cfitsio": "CFITSIO", + "crunch": "Crnlib", + "cryptopp": "CryptoPP", + "expat": "EXPAT", + "freexl": "FreeXL", + # "fyba": "FYBA", + "geos": "GEOS", + "giflib": "GIF", + "hdf4": "HDF4", + "hdf5": "HDF5", + # "hdfs": "HDFS", + "json-c": "JSONC", + "kealib": "KEA", + "lerc": "LERC", + "libaec": "LIBAEC", + "libarchive": "ARCHIVE", + "libbasisu": "basisu", + # "libcsf": "LIBCSF", + "libcurl": "CURL", + "libdeflate": "Deflate", + "libecwj2": "ECW", + "libgeotiff": "GeoTIFF", + "libgta": "GTA", + "libheif": "HEIF", + "libiconv": "Iconv", + "libjpeg": "JPEG", + "libjpeg-turbo": "JPEG", + "libjxl": "JXL", + "libkml": "LibKML", + "libmysqlclient": "MySQL", + "libpng": "PNG", + "libpq": "PostgreSQL", + # "libqb3": "libQB3", + "librasterlite2": "RASTERLITE2", + "libspatialite": "SPATIALITE", + "libtiff": "TIFF", + "libwebp": "WebP", + "libxml2": "LibXml2", + "lz4": "LZ4", + "mariadb-connector-c": "MySQL", + "mongo-cxx-driver": "MONGOCXX", + "netcdf": "NetCDF", + "odbc": "ODBC", + # "odbccpp": "ODBCCPP", + # "ogdi": "OGDI", + # "opencad": "OpenCAD", + "opencl-icd-loader": "OpenCL", + "openexr": "OpenEXR", + "openjpeg": "OpenJPEG", + "openssl": "OpenSSL", + "pcre": "PCRE", + "pcre2": "PCRE2", + "pdfium": "PDFIUM", + "podofo": "Podofo", + "poppler": "Poppler", + "proj": "PROJ", + "qhull": "QHULL", + # "sfcgal": "SFCGAL", + "shapelib": "Shapelib", + "sqlite3": "SQLite3", + "tiledb": "TileDB", + "xerces-c": "XercesC", + "xz_utils": "LibLZMA", + "zlib": "ZLIB", + "zstd": "ZSTD", + # Closed-source/proprietary libraries + # "filegdb": "FileGDB", + # "idb": "IDB", + # "kdu": "KDU", + # "luratech": "LURATECH", + # "mrsid": "MRSID", + # "mssql_ncli": "MSSQL_NCLI", + # "mssql_odbc": "MSSQL_ODBC", + # "oracle": "Oracle", + # "rdb": "rdb", + # "teigha": "TEIGHA", + } + for conan_name, cmake_name in conan_to_cmake_pkg_name.items(): + deps.set_property(conan_name, "cmake_find_mode", "config") + deps.set_property(conan_name, "cmake_file_name", cmake_name) + + renamed_targets = { + "arrow::libarrow": "Arrow::arrow_shared" if Version(self.version) >= "3.7" else "arrow_shared", + "arrow::dataset": "ArrowDataset::arrow_dataset_shared", + "arrow::libparquet": "Parquet::parquet_shared", + "brunsli::brunslidec-c": "BRUNSLI::DECODE", + "brunsli::brunslienc-c": "BRUNSLI::ENCODE", + "c-blosc": "Blosc::Blosc", + "cfitsio": "CFITSIO::CFITSIO", + "crunch": "CRNLIB::Crnlib", + "cryptopp": "CRYPTOPP::CRYPTOPP", + "freexl": "FREEXL::freexl", + "geos": "GEOS::GEOS", + "hdf4": "HDF4::HDF4", + "hdfs": "HDFS::HDFS", + "kealib": "KEA::KEA", + "lerc": "LERC::LERC", + "libaec": "LIBAEC::LIBAEC", + "libarchive": "ARCHIVE::ARCHIVE", + "libbasisu": "basisu::basisu_lib", + "libdeflate": "Deflate::Deflate", + "libecwj2": "ECW::ECW_ALL", + "libgeotiff": "GEOTIFF::GEOTIFF", + "libheif": "HEIF::HEIF", + "libjxl::jxl": "JXL::JXL", + "libjxl::jxl_threads": "JXL_THREADS::JXL_THREADS", + "libjpeg": "JPEG::JPEG", + "libjpeg-turbo::jpeg": "JPEG::JPEG", + "libkml::kmldom": "LIBKML::DOM", + "libkml::kmlengine": "LIBKML::ENGINE", + "libkml": "LIBKML::LibKML", + "librasterlite2": "RASTERLITE2::RASTERLITE2", + "libspatialite": "SPATIALITE::SPATIALITE", + "libwebp": "WEBP::WebP", + "lz4": "LZ4::LZ4", + "mongo-cxx-driver::bsoncxx": "MONGOCXX::BSONCXX", + "mongo-cxx-driver::mongocxx": "MONGOCXX::MONGOCXX", + "netcds": "netCDF::netcdf", + "opencl-icd-loader": "OpenCL::OpenCL", + "openjpeg": "OPENJPEG::OpenJPEG", + "pcre": "PCRE::PCRE", + "pcre2::pcre2-8": "PCRE2::PCRE2-8", + "pdfium": "PDFIUM::PDFIUM", + "podofo": "PODOFO::Podofo", + "poppler": "Poppler::Poppler", + "shapelib": "SHAPELIB::shp", + "tiledb": "TileDB::tiledb_shared", + "xz_utils": "LibLZMA::LibLZMA", + "zstd": "ZSTD::zstd", + } + for component, new_target_name in renamed_targets.items(): + deps.set_property(component, "cmake_target_name", new_target_name) + + deps.generate() + + def _patch_sources(self): apply_conandata_patches(self) - cmake = self._configure_cmake() + # Fix Deflate::Deflate not being correctly propagated internally. + replace_in_file(self, os.path.join(self.source_folder, "port", "CMakeLists.txt"), + "PRIVATE Deflate::Deflate", + "PUBLIC Deflate::Deflate") + # Workaround for JXL_THREADS being provided by the JXL package on CCI. + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), + "JXL_THREADS", "JXL", strict=False) + # Workaround for Parquet and ArrowDataset being provided by Arrow on CCI. + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), + "gdal_check_package(Parquet", "# gdal_check_package(Parquet") + if Version(self.version) >= "3.6.0": + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), + "gdal_check_package(ArrowDataset", "# gdal_check_package(ArrowDataset") + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE.TXT", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.TXT", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - files.rmdir(self, os.path.join(self.package_folder, "share")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - fix_apple_shared_install_name(self) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + os.rename(os.path.join(self.package_folder, "share"), + os.path.join(self.package_folder, "res")) + rmdir(self, os.path.join(self.package_folder, "res", "bash-completion")) + rmdir(self, os.path.join(self.package_folder, "res", "man")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "GDAL") self.cpp_info.set_property("cmake_target_name", "GDAL::GDAL") self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("pkg_config_name", "gdal") - self.cpp_info.names["cmake_find_package"] = "GDAL" - self.cpp_info.names["cmake_find_package_multi"] = "GDAL" - self.cpp_info.filenames["cmake_find_package"] = "GDAL" - self.cpp_info.filenames["cmake_find_package_multi"] = "GDAL" - + # https://github.com/OSGeo/gdal/blob/v3.7.2/gdal.cmake#L384-L392 + # FIXME: set the correct postfix for MinGW shared builds libname = "gdal" - if self.settings.os == "Windows": + if is_msvc(self): if self.settings.build_type == "Debug": libname += "d" - self.cpp_info.libs = [ libname ] - - self.cpp_info.requires.extend(['json-c::json-c']) - self.cpp_info.requires.extend(['libgeotiff::libgeotiff']) - + self.cpp_info.libs = [libname] + self.cpp_info.resdirs = ["res"] + + self.cpp_info.requires.extend(["json-c::json-c"]) + self.cpp_info.requires.extend(["libgeotiff::libgeotiff"]) + self.cpp_info.requires.extend(["libtiff::libtiff"]) + self.cpp_info.requires.extend(["proj::projlib"]) + self.cpp_info.requires.extend(["zlib::zlib"]) if self.options.with_armadillo: - self.cpp_info.requires.extend(['armadillo::armadillo']) - + self.cpp_info.requires.extend(["armadillo::armadillo"]) if self.options.with_arrow: - self.cpp_info.requires.extend(['arrow::libarrow']) - + self.cpp_info.requires.extend(["arrow::libarrow"]) + if self.dependencies["arrow"].options.parquet: + self.cpp_info.requires.extend(["arrow::libparquet"]) + if self.dependencies["arrow"].options.dataset_modules: + self.cpp_info.requires.extend(["arrow::dataset"]) + if self.options.with_basisu: + self.cpp_info.requires.extend(["libbasisu::libbasisu"]) + if self.options.with_brunsli: + self.cpp_info.requires.extend(["brunsli::brunsli"]) if self.options.with_blosc: - self.cpp_info.requires.extend(['c-blosc::c-blosc']) - + self.cpp_info.requires.extend(["c-blosc::c-blosc"]) if self.options.with_cfitsio: - self.cpp_info.requires.extend(['cfitsio::cfitsio']) - + self.cpp_info.requires.extend(["cfitsio::cfitsio"]) if self.options.with_cryptopp: - self.cpp_info.requires.extend(['cryptopp::libcryptopp']) - + self.cpp_info.requires.extend(["cryptopp::libcryptopp"]) if self.options.with_curl: - self.cpp_info.requires.extend(['libcurl::curl']) - + self.cpp_info.requires.extend(["libcurl::curl"]) if self.options.with_dds: - self.cpp_info.requires.extend(['crunch::crunch']) - + self.cpp_info.requires.extend(["crunch::crunch"]) + if self.options.with_ecw: + self.cpp_info.requires.extend(["libecwj2::libecwj2"]) if self.options.with_expat: - self.cpp_info.requires.extend(['expat::expat']) - + self.cpp_info.requires.extend(["expat::expat"]) if self.options.with_exr: - self.cpp_info.requires.extend(['openexr::openexr', 'imath::imath']) - + self.cpp_info.requires.extend(["openexr::openexr", "imath::imath"]) if self.options.with_freexl: - self.cpp_info.requires.extend(['freexl::freexl']) - + self.cpp_info.requires.extend(["freexl::freexl"]) if self.options.with_geos: - self.cpp_info.requires.extend(['geos::geos_c']) - + self.cpp_info.requires.extend(["geos::geos_c"]) if self.options.with_gif: - self.cpp_info.requires.extend(['giflib::giflib']) - + self.cpp_info.requires.extend(["giflib::giflib"]) if self.options.with_gta: - self.cpp_info.requires.extend(['libgta::libgta']) - + self.cpp_info.requires.extend(["libgta::libgta"]) if self.options.with_hdf4: - self.cpp_info.requires.extend(['hdf4::hdf4']) - + self.cpp_info.requires.extend(["hdf4::hdf4"]) if self.options.with_hdf5: - self.cpp_info.requires.extend(['hdf5::hdf5_c']) - + self.cpp_info.requires.extend(["hdf5::hdf5_c"]) if self.options.with_heif: - self.cpp_info.requires.extend(['libheif::libheif']) - + self.cpp_info.requires.extend(["libheif::libheif"]) + if self.options.with_jxl: + self.cpp_info.requires.extend(["libjxl::libjxl"]) if self.options.with_kea: - self.cpp_info.requires.extend(['kealib::kealib']) - + self.cpp_info.requires.extend(["kealib::kealib"]) + if self.options.with_lerc: + self.cpp_info.requires.extend(["lerc::lerc"]) + if self.options.get_safe("with_libaec"): + self.cpp_info.requires.extend(["libaec::libaec"]) + if self.options.with_libarchive: + self.cpp_info.requires.extend(["libarchive::libarchive"]) if self.options.with_libdeflate: - self.cpp_info.requires.extend(['libdeflate::libdeflate']) - + self.cpp_info.requires.extend(["libdeflate::libdeflate"]) if self.options.with_libiconv: - self.cpp_info.requires.extend(['libiconv::libiconv']) - + self.cpp_info.requires.extend(["libiconv::libiconv"]) if self.options.with_jpeg == "libjpeg": - self.cpp_info.requires.extend(['libjpeg::libjpeg']) + self.cpp_info.requires.extend(["libjpeg::libjpeg"]) elif self.options.with_jpeg == "libjpeg-turbo": - self.cpp_info.requires.extend(['libjpeg-turbo::turbojpeg']) - + self.cpp_info.requires.extend(["libjpeg-turbo::turbojpeg"]) if self.options.with_libkml: - self.cpp_info.requires.extend(['libkml::kmldom', 'libkml::kmlengine']) - - if self.options.with_libtiff: - self.cpp_info.requires.extend(['libtiff::libtiff']) - + self.cpp_info.requires.extend(["libkml::kmldom", "libkml::kmlengine"]) + if self.options.with_lzma: + self.cpp_info.requires.extend(["xz_utils::xz_utils"]) if self.options.with_lz4: - self.cpp_info.requires.extend(['lz4::lz4']) - + self.cpp_info.requires.extend(["lz4::lz4"]) if self.options.with_mongocxx: - self.cpp_info.requires.extend(['mongo-cxx-driver::mongo-cxx-driver']) - + self.cpp_info.requires.extend(["mongo-cxx-driver::mongo-cxx-driver"]) if self.options.with_mysql == "libmysqlclient": - self.cpp_info.requires.extend(['libmysqlclient::libmysqlclient']) + self.cpp_info.requires.extend(["libmysqlclient::libmysqlclient"]) elif self.options.with_mysql == "mariadb-connector-c": - self.cpp_info.requires.extend(['mariadb-connector-c::mariadb-connector-c']) - + self.cpp_info.requires.extend(["mariadb-connector-c::mariadb-connector-c"]) if self.options.with_netcdf: - self.cpp_info.requires.extend(['netcdf::netcdf']) - + self.cpp_info.requires.extend(["netcdf::netcdf"]) if self.options.with_odbc: - self.cpp_info.requires.extend(['odbc::odbc']) - + self.cpp_info.requires.extend(["odbc::odbc"]) + if self.options.with_opencl: + self.cpp_info.requires.extend(["opencl-icd-loader::opencl-icd-loader"]) if self.options.with_openjpeg: - self.cpp_info.requires.extend(['openjpeg::openjpeg']) - + self.cpp_info.requires.extend(["openjpeg::openjpeg"]) if self.options.with_openssl: - self.cpp_info.requires.extend(['openssl::ssl']) - + self.cpp_info.requires.extend(["openssl::ssl"]) if self.options.with_pcre: - self.cpp_info.requires.extend(['pcre::pcre']) - + self.cpp_info.requires.extend(["pcre::pcre"]) if self.options.with_pcre2: - self.cpp_info.requires.extend(['pcre2::pcre2-8']) - + self.cpp_info.requires.extend(["pcre2::pcre2-8"]) + # if self.options.with_pdfium: + # self.cpp_info.requires.extend(["pdfium::pdfium"]) if self.options.with_pg: - self.cpp_info.requires.extend(['libpq::pq']) - + self.cpp_info.requires.extend(["libpq::pq"]) if self.options.with_png: - self.cpp_info.requires.extend(['libpng::libpng']) - + self.cpp_info.requires.extend(["libpng::libpng"]) if self.options.with_podofo: - self.cpp_info.requires.extend(['podofo::podofo']) - + self.cpp_info.requires.extend(["podofo::podofo"]) if self.options.with_poppler: - self.cpp_info.requires.extend(['poppler::libpoppler']) - - if self.options.with_proj: - self.cpp_info.requires.extend(['proj::projlib']) - + self.cpp_info.requires.extend(["poppler::libpoppler"]) + if self.options.with_rasterlite2: + self.cpp_info.requires.extend(["librasterlite2::librasterlite2"]) if self.options.with_qhull: - self.cpp_info.requires.extend(['qhull::libqhull']) - + self.cpp_info.requires.extend(["qhull::libqhull"]) + if self.options.with_spatialite: + self.cpp_info.requires.extend(["libspatialite::libspatialite"]) if self.options.with_sqlite3: - self.cpp_info.requires.extend(['sqlite3::sqlite']) - + self.cpp_info.requires.extend(["sqlite3::sqlite"]) + if self.options.with_tiledb: + self.cpp_info.requires.extend(["tiledb::tiledb"]) if self.options.with_webp: - self.cpp_info.requires.extend(['libwebp::libwebp']) - + self.cpp_info.requires.extend(["libwebp::libwebp"]) if self.options.with_xerces: - self.cpp_info.requires.extend(['xerces-c::xerces-c']) - + self.cpp_info.requires.extend(["xerces-c::xerces-c"]) if self.options.with_xml2: - self.cpp_info.requires.extend(['libxml2::libxml2']) - - if self.options.with_zlib: - self.cpp_info.requires.extend(['zlib::zlib']) - + self.cpp_info.requires.extend(["libxml2::libxml2"]) if self.options.with_zstd: - self.cpp_info.requires.extend(['zstd::zstdlib']) + self.cpp_info.requires.extend(["zstd::zstdlib"]) + + # Based on https://github.com/OSGeo/gdal/blob/v3.7.2/port/CMakeLists.txt + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs += ["pthread"] + elif self.settings.os == "Windows": + if is_msvc(self): + self.cpp_info.system_libs += ["wbemuuid"] + if self.options.with_openssl: + self.cpp_info.system_libs += ["crypt32"] gdal_data_path = os.path.join(self.package_folder, "res", "gdal") - self.output.info( - "Prepending to GDAL_DATA environment variable: {}".format( - gdal_data_path)) - self.runenv_info.prepend_path("GDAL_DATA", gdal_data_path) - # TODO: to remove after conan v2, it allows to not break consumers still relying on virtualenv generator - self.env_info.GDAL_DATA = gdal_data_path + self.runenv_info.define_path("GDAL_DATA", gdal_data_path) if self.options.tools: - self.buildenv_info.prepend_path("GDAL_DATA", gdal_data_path) - bin_path = os.path.join(self.package_folder, "bin") - self.output.info( - "Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.buildenv_info.define_path("GDAL_DATA", gdal_data_path) + + # TODO: remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "GDAL" + self.cpp_info.names["cmake_find_package_multi"] = "GDAL" + self.cpp_info.filenames["cmake_find_package"] = "GDAL" + self.cpp_info.filenames["cmake_find_package_multi"] = "GDAL" + self.env_info.GDAL_DATA = gdal_data_path diff --git a/recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch deleted file mode 100644 index e790a586d8abd..0000000000000 --- a/recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff --git a/alg/CMakeLists.txt b/alg/CMakeLists.txt -index edf75158c7..4200309ca8 100644 ---- a/alg/CMakeLists.txt -+++ b/alg/CMakeLists.txt -@@ -72,7 +72,7 @@ if (GDAL_USE_OPENCL) - target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) - endif () - --gdal_target_link_libraries(alg PRIVATE PROJ::proj) -+target_link_libraries(alg PUBLIC PROJ::proj) - - if (GDAL_USE_QHULL_INTERNAL) - target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index a49165d14a..91d6170067 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -25,7 +25,7 @@ target_include_directories( - appslib PRIVATE $ $ - $ $) - --gdal_target_link_libraries(appslib PRIVATE PROJ::proj) -+target_link_libraries(appslib PUBLIC PROJ::proj) - - set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) -diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake -index 7fa3b565c7..77a610f223 100644 ---- a/cmake/helpers/CheckDependentLibraries.cmake -+++ b/cmake/helpers/CheckDependentLibraries.cmake -@@ -11,7 +11,10 @@ Detect GDAL dependencies and set variable HAVE_* - include(CheckFunctionExists) - include(CMakeDependentOption) - include(FeatureSummary) --include(DefineFindPackage2) -+ -+# Conan recipes should rely on config files from generators so let's just disble GDAL's -+include(ConanFindPackage) -+ - include(CheckSymbolExists) - - option( -@@ -111,47 +114,7 @@ macro (gdal_check_package name purpose) - set(_find_dependency_args "") - find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) - if (NOT DEFINED ${key}_FOUND) -- set(_find_package_args) -- if (_GCP_VERSION) -- list(APPEND _find_package_args ${_GCP_VERSION}) -- endif () -- if (_GCP_CONFIG) -- list(APPEND _find_package_args CONFIG) -- endif () -- if (_GCP_COMPONENTS) -- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) -- endif () -- if (_GCP_PATHS) -- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) -- endif () -- if (_GCP_NAMES) -- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) -- endif () -- if (_GCP_TARGETS) -- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) -- endif () -- if (GDAL_CHECK_PACKAGE_${name}_NAMES) -- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) -- if (${name}_FOUND) -- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) -- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") -- endif () -- endif () -- if (NOT ${name}_FOUND) -- find_package(${name} ${_find_package_args}) -- if (${name}_FOUND) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- elseif (${key}_FOUND) # Some find modules do not set _FOUND -- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- set(${name}_FOUND "${key}_FOUND") -- endif () -- if (${name}_FOUND) -- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") -- endif() -- endif () -+ message(FATAL_ERROR "Conan recipes should rely on config files from generators so let's just disble GDAL's") - endif () - if (${key}_FOUND OR ${name}_FOUND) - set(HAVE_${key} ON) -@@ -321,14 +284,15 @@ if (GDAL_USE_CRYPTOPP) - endif () - - # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. --find_package(PROJ 9 CONFIG QUIET) --if (NOT PROJ_FOUND) -- find_package(PROJ 8 CONFIG QUIET) --endif() -+find_package2(PROJ) -+target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) -+#if (NOT PROJ_FOUND) -+# find_package(proj 8 CONFIG QUIET) -+#endif() - if (PROJ_FOUND) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") - else() -- find_package(PROJ 6.0 REQUIRED) -+ find_package(proj 6.0 REQUIRED) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") - endif () - -@@ -379,15 +343,10 @@ gdal_check_package(JSONC "json-c library (external)" CAN_DISABLE - TARGETS json-c::json-c JSONC::JSONC - ) - gdal_internal_library(JSONC REQUIRED) --if(TARGET json-c::json-c) -- get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -- find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) -- list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") -- list(REMOVE_DUPLICATES include_dirs) -- set_target_properties(json-c::json-c PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" -- ) --endif() -+get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -+list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") -+set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") -+message("Setting include for json-c: ${include_dirs}") - - gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) - gdal_internal_library(OPENCAD) -@@ -482,7 +441,7 @@ if (GDAL_USE_RASTERLITE2) - endif () - cmake_dependent_option(GDAL_USE_RASTERLITE2 "Set ON to use Rasterlite2" ON HAVE_RASTERLITE2 OFF) - --find_package(LibKML COMPONENTS DOM ENGINE) -+find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) - if (GDAL_USE_LIBKML) - if (NOT LibKML_FOUND) - message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") -diff --git a/cmake/helpers/ConanFindPackage.cmake b/cmake/helpers/ConanFindPackage.cmake -new file mode 100644 -index 0000000000..9dfa8193a3 ---- /dev/null -+++ b/cmake/helpers/ConanFindPackage.cmake -@@ -0,0 +1,43 @@ -+ -+function(define_find_package2 pkgname include_file library_name) -+endfunction() -+ -+function(find_package2 pkgname) -+ set(_options QUIET REQUIRED) -+ set(_oneValueArgs OUT_DEPENDENCY) -+ set(_multiValueArgs) -+ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) -+ if(arg_QUIET) -+ set(${pkgname}_FIND_QUIETLY TRUE) -+ endif() -+ if(arg_REQUIRED) -+ set(${pkgname}_FIND_REQUIRED TRUE) -+ endif() -+ -+ string(TOUPPER ${pkgname} key) -+ -+ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") -+ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) -+ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") -+ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) -+ string(TOUPPER ${conan_package} conan_package_upper) -+ -+ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) -+ if (NOT TARGET_FOR_${key}) -+ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") -+ endif() -+ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) -+ -+ else () -+ message("dependency ${pkgname} has no conan package") -+ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) -+ endif() -+ -+endfunction() -diff --git a/frmts/hfa/CMakeLists.txt b/frmts/hfa/CMakeLists.txt -index e5b7138e91..039cac7361 100644 ---- a/frmts/hfa/CMakeLists.txt -+++ b/frmts/hfa/CMakeLists.txt -@@ -15,7 +15,8 @@ add_gdal_driver( - hfa_overviews.cpp - BUILTIN) - gdal_standard_includes(gdal_HFA) --target_include_directories(gdal_HFA PRIVATE $) -+target_link_libraries(gdal_HFA INTERFACE PROJ::proj) -+target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) - target_compile_definitions(gdal_HFA PRIVATE $) - - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -diff --git a/gdal.cmake b/gdal.cmake -index ff1ca7e6f6..e98875f1b9 100644 ---- a/gdal.cmake -+++ b/gdal.cmake -@@ -795,25 +795,6 @@ if (NOT GDAL_ENABLE_MACOSX_FRAMEWORK) - ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) - -- # Generate gdal-config utility command and pkg-config module gdal.pc -- include(GdalGenerateConfig) -- gdal_generate_config( -- TARGET -- "${GDAL_LIB_TARGET_NAME}" -- GLOBAL_PROPERTY -- "gdal_private_link_libraries" -- GDAL_CONFIG -- "${PROJECT_BINARY_DIR}/apps/gdal-config" -- PKG_CONFIG -- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") -- install( -- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT applications) -- install( -- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -- COMPONENT libraries) - endif () - - configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) -diff --git a/ogr/CMakeLists.txt b/ogr/CMakeLists.txt -index 19ba4e12fe..87cd123c54 100644 ---- a/ogr/CMakeLists.txt -+++ b/ogr/CMakeLists.txt -@@ -88,12 +88,12 @@ endif () - - target_compile_definitions(ogr PRIVATE HAVE_MITAB) - --gdal_target_link_libraries(ogr PRIVATE PROJ::proj) -+target_link_libraries(ogr PUBLIC PROJ::proj) - - # External libs then - if (GDAL_USE_GEOS) - target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) -- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) -+ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) - endif () - - if (GDAL_USE_SFCGAL) -diff --git a/ogr/ogr_proj_p.h b/ogr/ogr_proj_p.h -index 88928ad1ad..7cdd587db7 100644 ---- a/ogr/ogr_proj_p.h -+++ b/ogr/ogr_proj_p.h -@@ -29,7 +29,7 @@ - #ifndef OGR_PROJ_P_H_INCLUDED - #define OGR_PROJ_P_H_INCLUDED - --#include "proj.h" -+#include - - #include "cpl_mem_cache.h" - diff --git a/recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch deleted file mode 100644 index b01b5b271034c..0000000000000 --- a/recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff --git a/alg/CMakeLists.txt b/alg/CMakeLists.txt -index edf75158c7..4200309ca8 100644 ---- a/alg/CMakeLists.txt -+++ b/alg/CMakeLists.txt -@@ -72,7 +72,7 @@ if (GDAL_USE_OPENCL) - target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) - endif () - --gdal_target_link_libraries(alg PRIVATE PROJ::proj) -+target_link_libraries(alg PUBLIC PROJ::proj) - - if (GDAL_USE_QHULL_INTERNAL) - target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index 8b02cea456..ad4adbfc9e 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -25,7 +25,7 @@ target_include_directories( - appslib PRIVATE $ $ - $ $) - --gdal_target_link_libraries(appslib PRIVATE PROJ::proj) -+target_link_libraries(appslib PUBLIC PROJ::proj) - - set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) -diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake -index 0a66b44fec..152ff42ff7 100644 ---- a/cmake/helpers/CheckDependentLibraries.cmake -+++ b/cmake/helpers/CheckDependentLibraries.cmake -@@ -11,7 +11,10 @@ Detect GDAL dependencies and set variable HAVE_* - include(CheckFunctionExists) - include(CMakeDependentOption) - include(FeatureSummary) --include(DefineFindPackage2) -+ -+# Conan recipes should rely on config files from generators so let's just disble GDAL's -+include(ConanFindPackage) -+ - include(CheckSymbolExists) - - option( -@@ -111,47 +114,7 @@ macro (gdal_check_package name purpose) - set(_find_dependency_args "") - find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) - if (NOT DEFINED ${key}_FOUND) -- set(_find_package_args) -- if (_GCP_VERSION) -- list(APPEND _find_package_args ${_GCP_VERSION}) -- endif () -- if (_GCP_CONFIG) -- list(APPEND _find_package_args CONFIG) -- endif () -- if (_GCP_COMPONENTS) -- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) -- endif () -- if (_GCP_PATHS) -- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) -- endif () -- if (_GCP_NAMES) -- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) -- endif () -- if (_GCP_TARGETS) -- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) -- endif () -- if (GDAL_CHECK_PACKAGE_${name}_NAMES) -- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) -- if (${name}_FOUND) -- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) -- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") -- endif () -- endif () -- if (NOT ${name}_FOUND) -- find_package(${name} ${_find_package_args}) -- if (${name}_FOUND) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- elseif (${key}_FOUND) # Some find modules do not set _FOUND -- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- set(${name}_FOUND "${key}_FOUND") -- endif () -- if (${name}_FOUND) -- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") -- endif() -- endif () -+ message(FATAL_ERROR "Conan recipes should rely on config files from generators so let's just disble GDAL's") - endif () - if (${key}_FOUND OR ${name}_FOUND) - set(HAVE_${key} ON) -@@ -345,14 +308,15 @@ if (GDAL_USE_CRYPTOPP) - endif () - - # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. --find_package(PROJ 9 CONFIG QUIET) --if (NOT PROJ_FOUND) -- find_package(PROJ 8 CONFIG QUIET) --endif() -+find_package2(PROJ) -+target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) -+#if (NOT PROJ_FOUND) -+# find_package(proj 8 CONFIG QUIET) -+#endif() - if (PROJ_FOUND) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") - else() -- find_package(PROJ 6.0 REQUIRED) -+ find_package(proj 6.0 REQUIRED) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") - endif () - -@@ -412,15 +376,10 @@ gdal_check_package(JSONC "json-c library (external)" CAN_DISABLE - TARGETS json-c::json-c JSONC::JSONC - ) - gdal_internal_library(JSONC REQUIRED) --if(TARGET json-c::json-c) -- get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -- find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) -- list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") -- list(REMOVE_DUPLICATES include_dirs) -- set_target_properties(json-c::json-c PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" -- ) --endif() -+get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -+list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") -+set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") -+message("Setting include for json-c: ${include_dirs}") - - gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) - gdal_internal_library(OPENCAD) -@@ -517,7 +476,7 @@ if (GDAL_USE_RASTERLITE2) - endif () - cmake_dependent_option(GDAL_USE_RASTERLITE2 "Set ON to use Rasterlite2" ON HAVE_RASTERLITE2 OFF) - --find_package(LibKML COMPONENTS DOM ENGINE) -+find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) - if (GDAL_USE_LIBKML) - if (NOT LibKML_FOUND) - message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") -diff --git a/cmake/helpers/ConanFindPackage.cmake b/cmake/helpers/ConanFindPackage.cmake -new file mode 100644 -index 0000000000..9dfa8193a3 ---- /dev/null -+++ b/cmake/helpers/ConanFindPackage.cmake -@@ -0,0 +1,43 @@ -+ -+function(define_find_package2 pkgname include_file library_name) -+endfunction() -+ -+function(find_package2 pkgname) -+ set(_options QUIET REQUIRED) -+ set(_oneValueArgs OUT_DEPENDENCY) -+ set(_multiValueArgs) -+ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) -+ if(arg_QUIET) -+ set(${pkgname}_FIND_QUIETLY TRUE) -+ endif() -+ if(arg_REQUIRED) -+ set(${pkgname}_FIND_REQUIRED TRUE) -+ endif() -+ -+ string(TOUPPER ${pkgname} key) -+ -+ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") -+ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) -+ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") -+ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) -+ string(TOUPPER ${conan_package} conan_package_upper) -+ -+ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) -+ if (NOT TARGET_FOR_${key}) -+ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") -+ endif() -+ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) -+ -+ else () -+ message("dependency ${pkgname} has no conan package") -+ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) -+ endif() -+ -+endfunction() -diff --git a/frmts/hfa/CMakeLists.txt b/frmts/hfa/CMakeLists.txt -index e5b7138e91..039cac7361 100644 ---- a/frmts/hfa/CMakeLists.txt -+++ b/frmts/hfa/CMakeLists.txt -@@ -15,7 +15,8 @@ add_gdal_driver( - hfa_overviews.cpp - BUILTIN) - gdal_standard_includes(gdal_HFA) --target_include_directories(gdal_HFA PRIVATE $) -+target_link_libraries(gdal_HFA INTERFACE PROJ::proj) -+target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) - target_compile_definitions(gdal_HFA PRIVATE $) - - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -diff --git a/gdal.cmake b/gdal.cmake -index 4bae2e2760..7695df40c8 100644 ---- a/gdal.cmake -+++ b/gdal.cmake -@@ -787,25 +787,6 @@ if (NOT GDAL_ENABLE_MACOSX_FRAMEWORK) - ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) - -- # Generate gdal-config utility command and pkg-config module gdal.pc -- include(GdalGenerateConfig) -- gdal_generate_config( -- TARGET -- "${GDAL_LIB_TARGET_NAME}" -- GLOBAL_PROPERTY -- "gdal_private_link_libraries" -- GDAL_CONFIG -- "${PROJECT_BINARY_DIR}/apps/gdal-config" -- PKG_CONFIG -- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") -- install( -- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT applications) -- install( -- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -- COMPONENT libraries) - endif () - - configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) -diff --git a/ogr/CMakeLists.txt b/ogr/CMakeLists.txt -index 19ba4e12fe..87cd123c54 100644 ---- a/ogr/CMakeLists.txt -+++ b/ogr/CMakeLists.txt -@@ -88,12 +88,12 @@ endif () - - target_compile_definitions(ogr PRIVATE HAVE_MITAB) - --gdal_target_link_libraries(ogr PRIVATE PROJ::proj) -+target_link_libraries(ogr PUBLIC PROJ::proj) - - # External libs then - if (GDAL_USE_GEOS) - target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) -- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) -+ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) - endif () - - if (GDAL_USE_SFCGAL) -diff --git a/ogr/ogr_proj_p.h b/ogr/ogr_proj_p.h -index 88928ad1ad..7cdd587db7 100644 ---- a/ogr/ogr_proj_p.h -+++ b/ogr/ogr_proj_p.h -@@ -29,7 +29,7 @@ - #ifndef OGR_PROJ_P_H_INCLUDED - #define OGR_PROJ_P_H_INCLUDED - --#include "proj.h" -+#include - - #include "cpl_mem_cache.h" - diff --git a/recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch new file mode 100644 index 0000000000000..a13e4429270d1 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch @@ -0,0 +1,74 @@ +diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake +--- a/cmake/helpers/CheckDependentLibraries.cmake ++++ b/cmake/helpers/CheckDependentLibraries.cmake +@@ -11,7 +11,7 @@ + include(CheckFunctionExists) + include(CMakeDependentOption) + include(FeatureSummary) +-include(DefineFindPackage2) ++include(ConanFindPackage) + include(CheckSymbolExists) + + option( +@@ -109,8 +109,8 @@ + string(TOUPPER ${name} key) + set(_find_dependency "") + set(_find_dependency_args "") +- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) +- if (NOT DEFINED ${key}_FOUND) ++ find_package2(${name} QUIET) ++ if (FALSE) + set(_find_package_args) + if (_GCP_VERSION) + list(APPEND _find_package_args ${_GCP_VERSION}) +@@ -345,7 +345,7 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) ++find_package2(PROJ 9 CONFIG REQUIRED) + if (NOT PROJ_FOUND) + find_package(PROJ 8 CONFIG QUIET) + endif() +@@ -411,8 +411,8 @@ + NAMES json-c + TARGETS json-c::json-c JSONC::JSONC + ) +-gdal_internal_library(JSONC REQUIRED) +-if(TARGET json-c::json-c) ++find_package2(JSONC REQUIRED) ++if(FALSE) + get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) + find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) + list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") +@@ -517,9 +517,9 @@ + endif () + cmake_dependent_option(GDAL_USE_RASTERLITE2 "Set ON to use Rasterlite2" ON HAVE_RASTERLITE2 OFF) + +-find_package(LibKML COMPONENTS DOM ENGINE) ++find_package2(LibKML COMPONENTS DOM ENGINE) + if (GDAL_USE_LIBKML) + if (NOT LibKML_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") + endif () + endif () +@@ -540,8 +540,8 @@ + gdal_check_package(MRSID "MrSID raster SDK" CAN_DISABLE) + gdal_check_package(Armadillo "C++ library for linear algebra (used for TPS transformation)" CAN_DISABLE) + if (ARMADILLO_FOUND) +- # On Conda, the armadillo package has no dependency on lapack, but the later is required for successful linking. So +- # try to build & link a test program using Armadillo. ++ # On Conda, the armadillo package has no dependency on lapack, but the later is required for successful linking. So try to build & link a test program using Armadillo. ++ include(CMakePushCheckState) + cmake_push_check_state(RESET) + set(CMAKE_REQUIRED_INCLUDES "${ARMADILLO_INCLUDE_DIRS}") + set(CMAKE_REQUIRED_LIBRARIES "${ARMADILLO_LIBRARIES}") +@@ -646,7 +646,7 @@ + gdal_check_package(HEIF "HEIF >= 1.1" CAN_DISABLE) + + # OpenJPEG's cmake-CONFIG is broken, so call module explicitly +-find_package(OpenJPEG MODULE) ++find_package2(OpenJPEG MODULE) + if (GDAL_USE_OPENJPEG) + if (NOT OPENJPEG_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_OPENJPEG, but not found") diff --git a/recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch new file mode 100644 index 0000000000000..e45427d007600 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -280,7 +280,7 @@ + set(_oneValueArgs) + set(_multiValueArgs PRIVATE) + cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) +- if (NOT _DRIVER_PRIVATE) ++ if (FALSE AND NOT _DRIVER_PRIVATE) + message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") + endif () + is_plugin(RES ${target}) +@@ -289,6 +289,7 @@ + else () + gdal_target_interfaces(${target} ${_DRIVER_PRIVATE}) + gdal_add_private_link_libraries(${_DRIVER_PRIVATE}) ++ target_link_libraries(${ARGV}) + endif () + endfunction() + diff --git a/recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch b/recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch new file mode 100644 index 0000000000000..31bc2e5a8587d --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -249,6 +249,7 @@ + target_compile_options(${_TARGET} PRIVATE ${_res}) + endif () + get_property(_res TARGET ${_LIB} PROPERTY INTERFACE_LINK_LIBRARIES) ++ list(REMOVE_ITEM _res ${_LIB}) + if (_res) + gdal_target_interfaces(${_TARGET} ${_res}) + endif () +diff --git a/cmake/helpers/GdalGenerateConfig.cmake b/cmake/helpers/GdalGenerateConfig.cmake +--- a/cmake/helpers/GdalGenerateConfig.cmake ++++ b/cmake/helpers/GdalGenerateConfig.cmake +@@ -50,6 +50,7 @@ + if(TARGET "${_lib}") + get_target_property(_link_libraries ${_lib} INTERFACE_LINK_LIBRARIES) + get_target_property(_type ${_lib} TYPE) ++ list(REMOVE_ITEM _link_libraries ${_lib}) + if(_link_libraries AND NOT TYPE STREQUAL "SHARED_LIBRARY") + list(INSERT ARGN 0 ${_link_libraries}) + endif() diff --git a/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch deleted file mode 100644 index 34401a53eae6d..0000000000000 --- a/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch +++ /dev/null @@ -1,282 +0,0 @@ -diff -urN ./a/alg/CMakeLists.txt ./b/alg/CMakeLists.txt ---- ./a/alg/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 -+++ ./b/alg/CMakeLists.txt 2023-06-06 16:47:02.784509800 -0500 -@@ -73,7 +73,7 @@ - target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) - endif () - --gdal_target_link_libraries(alg PRIVATE PROJ::proj) -+target_link_libraries(alg PUBLIC PROJ::proj) - - if (GDAL_USE_QHULL_INTERNAL) - target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) -diff -urN ./a/apps/CMakeLists.txt ./b/apps/CMakeLists.txt ---- ./a/apps/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 -+++ ./b/apps/CMakeLists.txt 2023-06-06 16:46:55.380690700 -0500 -@@ -26,7 +26,7 @@ - appslib PRIVATE $ $ - $ $) - --gdal_target_link_libraries(appslib PRIVATE PROJ::proj) -+target_link_libraries(appslib PUBLIC PROJ::proj) - - set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) -diff -urN ./a/cmake/helpers/CheckDependentLibraries.cmake ./b/cmake/helpers/CheckDependentLibraries.cmake ---- ./a/cmake/helpers/CheckDependentLibraries.cmake 2023-06-07 09:33:06.599777700 -0500 -+++ ./b/cmake/helpers/CheckDependentLibraries.cmake 2023-06-07 13:38:51.722872200 -0500 -@@ -11,7 +11,8 @@ - include(CheckFunctionExists) - include(CMakeDependentOption) - include(FeatureSummary) --include(DefineFindPackage2) -+#include(DefineFindPackage2) -+include(ConanFindPackage) - include(CheckSymbolExists) - - option( -@@ -109,51 +110,8 @@ - string(TOUPPER ${name} key) - set(_find_dependency "") - set(_find_dependency_args "") -- if(FIND_PACKAGE2_${name}_ENABLED) -- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) -- else() -- set(_find_package_args) -- if (_GCP_VERSION) -- list(APPEND _find_package_args ${_GCP_VERSION}) -- endif () -- if (_GCP_CONFIG) -- list(APPEND _find_package_args CONFIG) -- endif () -- if (_GCP_COMPONENTS) -- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) -- endif () -- if (_GCP_PATHS) -- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) -- endif () -- if (_GCP_NAMES) -- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) -- endif () -- if (_GCP_TARGETS) -- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) -- endif () -- if (GDAL_CHECK_PACKAGE_${name}_NAMES) -- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) -- if (${name}_FOUND) -- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) -- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") -- endif () -- endif () -- if (NOT ${name}_FOUND) -- find_package(${name} ${_find_package_args}) -- if (${name}_FOUND) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- elseif (${key}_FOUND) # Some find modules do not set _FOUND -- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- set(${name}_FOUND "${key}_FOUND") -- endif () -- if (${name}_FOUND) -- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") -- endif() -- endif () -- endif () -+ -+ find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) - if (${key}_FOUND OR ${name}_FOUND) - if(_GCP_MINIMUM_VERSION) - -@@ -368,14 +326,12 @@ - endif () - - # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. --find_package(PROJ 9 CONFIG QUIET) --if (NOT PROJ_FOUND) -- find_package(PROJ 8 CONFIG QUIET) --endif() -+find_package2(PROJ) -+target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) - if (PROJ_FOUND) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") - else() -- find_package(PROJ 6.0 REQUIRED) -+ find_package(proj 6.0 REQUIRED) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") - endif () - -@@ -458,15 +414,10 @@ - TARGETS json-c::json-c JSONC::JSONC - ) - gdal_internal_library(JSONC REQUIRED) --if(TARGET json-c::json-c) -- get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -- find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) -- list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") -- list(REMOVE_DUPLICATES include_dirs) -- set_target_properties(json-c::json-c PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" -- ) --endif() -+get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -+list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") -+set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") -+message("Setting include for json-c: ${include_dirs}") - - gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) - gdal_internal_library(OPENCAD) -@@ -527,6 +478,24 @@ - gdal_check_package(SQLite3 "Enable SQLite3 support (used by SQLite/Spatialite, GPKG, Rasterlite, MBTiles, etc.)" - CAN_DISABLE RECOMMENDED) - if (SQLite3_FOUND) -+ set(CMAKE_REQUIRED_INCLUDES ${SQLite3_INCLUDE_DIRS}) -+ check_symbol_exists(sqlite3_mutex_alloc sqlite3ext.h SQLite3_HAS_MUTEX_ALLOC) -+ check_symbol_exists(sqlite3_column_table_name sqlite3ext.h SQLite3_HAS_COLUMN_METADATA) -+ check_symbol_exists(sqlite3_rtree_query_callback sqlite3.h SQLite3_HAS_RTREE) -+ check_symbol_exists(sqlite3_load_extension sqlite3ext.h SQLite3_HAS_LOAD_EXTENSION) -+ # https://www.sqlite.org/compile.html recommends to build with -DSQLITE_OMIT_PROGRESS_CALLBACK -+ # "for applications that are able to use them"... This is sometimes wrongly -+ # understood as recommended in all situations. -+ check_symbol_exists(sqlite3_progress_handler sqlite3.h SQLite3_HAS_PROGRESS_HANDLER) -+ -+ #if(NOT TARGET SQLite::SQLite3) -+ # add_library(SQLite::SQLite3 UNKNOWN IMPORTED) -+ # set_target_properties(SQLite::SQLite3 PROPERTIES -+ # INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIRS}" -+ # IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ # IMPORTED_LOCATION "${SQLite3_LIBRARY}") -+ #endif() -+ - if (NOT DEFINED SQLite3_HAS_COLUMN_METADATA) - message(FATAL_ERROR "missing SQLite3_HAS_COLUMN_METADATA") - endif () -@@ -566,7 +535,7 @@ - gdal_check_package(SPATIALITE "Enable spatialite support for sqlite3" VERSION 4.1.2 CAN_DISABLE) - gdal_check_package(RASTERLITE2 "Enable RasterLite2 support for sqlite3" VERSION 1.1.0 CAN_DISABLE) - --find_package(LibKML COMPONENTS DOM ENGINE) -+find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) - if (GDAL_USE_LIBKML) - if (NOT LibKML_FOUND) - message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") -diff -urN ./a/cmake/helpers/ConanFindPackage.cmake ./b/cmake/helpers/ConanFindPackage.cmake ---- ./a/cmake/helpers/ConanFindPackage.cmake 1969-12-31 18:00:00.000000000 -0600 -+++ ./b/cmake/helpers/ConanFindPackage.cmake 2023-06-06 16:26:55.800008000 -0500 -@@ -0,0 +1,43 @@ -+ -+function(define_find_package2 pkgname include_file library_name) -+endfunction() -+ -+function(find_package2 pkgname) -+ set(_options QUIET REQUIRED) -+ set(_oneValueArgs OUT_DEPENDENCY) -+ set(_multiValueArgs) -+ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) -+ if(arg_QUIET) -+ set(${pkgname}_FIND_QUIETLY TRUE) -+ endif() -+ if(arg_REQUIRED) -+ set(${pkgname}_FIND_REQUIRED TRUE) -+ endif() -+ -+ string(TOUPPER ${pkgname} key) -+ -+ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") -+ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) -+ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") -+ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) -+ string(TOUPPER ${conan_package} conan_package_upper) -+ -+ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) -+ if (NOT TARGET_FOR_${key}) -+ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") -+ endif() -+ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) -+ -+ else () -+ message("dependency ${pkgname} has no conan package") -+ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) -+ endif() -+ -+endfunction() -diff -urN ./a/frmts/hfa/CMakeLists.txt ./b/frmts/hfa/CMakeLists.txt ---- ./a/frmts/hfa/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 -+++ ./b/frmts/hfa/CMakeLists.txt 2023-06-06 16:54:31.162043900 -0500 -@@ -15,7 +15,8 @@ - hfa_overviews.cpp - BUILTIN) - gdal_standard_includes(gdal_HFA) --target_include_directories(gdal_HFA PRIVATE $) -+target_link_libraries(gdal_HFA INTERFACE PROJ::proj) -+target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) - target_compile_definitions(gdal_HFA PRIVATE $) - - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -diff -urN ./a/gdal.cmake ./b/gdal.cmake ---- ./a/gdal.cmake 2023-05-02 08:47:12.000000000 -0500 -+++ ./b/gdal.cmake 2023-06-06 16:55:34.252830900 -0500 -@@ -859,25 +859,6 @@ - ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) - -- # Generate gdal-config utility command and pkg-config module gdal.pc -- include(GdalGenerateConfig) -- gdal_generate_config( -- TARGET -- "${GDAL_LIB_TARGET_NAME}" -- GLOBAL_PROPERTY -- "gdal_private_link_libraries" -- GDAL_CONFIG -- "${PROJECT_BINARY_DIR}/apps/gdal-config" -- PKG_CONFIG -- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") -- install( -- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT applications) -- install( -- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -- COMPONENT libraries) - endif () - - configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) -diff -urN ./a/ogr/CMakeLists.txt ./b/ogr/CMakeLists.txt ---- ./a/ogr/CMakeLists.txt 2023-05-02 08:47:12.000000000 -0500 -+++ ./b/ogr/CMakeLists.txt 2023-06-06 16:56:18.682151700 -0500 -@@ -89,12 +89,12 @@ - - target_compile_definitions(ogr PRIVATE HAVE_MITAB) - --gdal_target_link_libraries(ogr PRIVATE PROJ::proj) -+target_link_libraries(ogr PUBLIC PROJ::proj) - - # External libs then - if (GDAL_USE_GEOS) - target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) -- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) -+ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) - endif () - - if (GDAL_USE_SFCGAL) -diff -urN ./a/ogr/ogr_proj_p.h ./b/ogr/ogr_proj_p.h ---- ./a/ogr/ogr_proj_p.h 2023-05-02 08:47:12.000000000 -0500 -+++ ./b/ogr/ogr_proj_p.h 2023-06-06 16:56:30.772908800 -0500 -@@ -29,7 +29,7 @@ - #ifndef OGR_PROJ_P_H_INCLUDED - #define OGR_PROJ_P_H_INCLUDED - --#include "proj.h" -+#include - - #include "cpl_mem_cache.h" - diff --git a/recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch new file mode 100644 index 0000000000000..e25f0d63223d9 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch @@ -0,0 +1,64 @@ +diff -urN ./a/cmake/helpers/CheckDependentLibraries.cmake ./b/cmake/helpers/CheckDependentLibraries.cmake +--- ./a/cmake/helpers/CheckDependentLibraries.cmake ++++ ./b/cmake/helpers/CheckDependentLibraries.cmake +@@ -11,7 +11,7 @@ + include(CheckFunctionExists) + include(CMakeDependentOption) + include(FeatureSummary) +-include(DefineFindPackage2) ++include(ConanFindPackage) + include(CheckSymbolExists) + + option( +@@ -109,9 +109,8 @@ + string(TOUPPER ${name} key) + set(_find_dependency "") + set(_find_dependency_args "") +- if(FIND_PACKAGE2_${name}_ENABLED) +- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) +- else() ++ find_package2(${name} QUIET) ++ if (FALSE) + set(_find_package_args) + if (_GCP_VERSION) + list(APPEND _find_package_args ${_GCP_VERSION}) +@@ -368,7 +367,7 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) ++find_package2(PROJ 9 CONFIG REQUIRED) + if (NOT PROJ_FOUND) + find_package(PROJ 8 CONFIG QUIET) + endif() +@@ -457,8 +456,8 @@ + NAMES json-c + TARGETS json-c::json-c JSONC::JSONC + ) +-gdal_internal_library(JSONC REQUIRED) +-if(TARGET json-c::json-c) ++find_package2(JSONC REQUIRED) ++if(FALSE) + get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) + find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) + list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") +@@ -566,9 +565,9 @@ + gdal_check_package(SPATIALITE "Enable spatialite support for sqlite3" VERSION 4.1.2 CAN_DISABLE) + gdal_check_package(RASTERLITE2 "Enable RasterLite2 support for sqlite3" VERSION 1.1.0 CAN_DISABLE) + +-find_package(LibKML COMPONENTS DOM ENGINE) ++find_package2(LibKML COMPONENTS DOM ENGINE) + if (GDAL_USE_LIBKML) + if (NOT LibKML_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") + endif () + endif () +@@ -733,7 +732,7 @@ + gdal_check_package(HEIF "HEIF >= 1.1" CAN_DISABLE) + + # OpenJPEG's cmake-CONFIG is broken, so call module explicitly +-find_package(OpenJPEG MODULE) ++find_package2(OpenJPEG MODULE) + if (GDAL_USE_OPENJPEG) + if (NOT OPENJPEG_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_OPENJPEG, but not found") diff --git a/recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch new file mode 100644 index 0000000000000..d5b761df32ded --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -280,7 +280,7 @@ + set(_oneValueArgs) + set(_multiValueArgs PRIVATE) + cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) +- if (NOT _DRIVER_PRIVATE) ++ if (FALSE AND NOT _DRIVER_PRIVATE) + message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") + endif () + is_plugin(RES ${target}) +@@ -297,6 +297,7 @@ + else () + gdal_target_interfaces(${target} ${_DRIVER_PRIVATE}) + gdal_add_private_link_libraries(${_DRIVER_PRIVATE}) ++ target_link_libraries(${ARGV}) + endif () + + # For debugging purposes diff --git a/recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch new file mode 100644 index 0000000000000..c82d659742baf --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch @@ -0,0 +1,52 @@ +--- cmake/helpers/CheckDependentLibraries.cmake ++++ cmake/helpers/CheckDependentLibraries.cmake +@@ -11,7 +11,7 @@ + include(CheckFunctionExists) + include(CMakeDependentOption) + include(FeatureSummary) +-include(DefineFindPackage2) ++include(ConanFindPackage) + include(CheckSymbolExists) + + option( +@@ -109,9 +109,8 @@ + string(TOUPPER ${name} key) + set(_find_dependency "") + set(_find_dependency_args "") +- if(FIND_PACKAGE2_${name}_ENABLED) +- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) +- else() ++ find_package2(${name} QUIET) ++ if(FALSE) + set(_find_package_args) + if (_GCP_VERSION) + list(APPEND _find_package_args ${_GCP_VERSION}) +@@ -368,7 +367,7 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) ++find_package2(PROJ 9 CONFIG REQUIRED) + if (NOT PROJ_FOUND) + find_package(PROJ 8 CONFIG QUIET) + endif() +@@ -457,8 +456,8 @@ + NAMES json-c + TARGETS json-c::json-c JSONC::JSONC + ) +-gdal_internal_library(JSONC REQUIRED) +-if(TARGET json-c::json-c) ++find_package2(JSONC REQUIRED) ++if(FALSE) + get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) + find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) + list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") +@@ -727,7 +726,7 @@ + gdal_check_package(HEIF "HEIF >= 1.1" CAN_DISABLE) + + # OpenJPEG's cmake-CONFIG is broken, so call module explicitly +-find_package(OpenJPEG MODULE) ++find_package2(OpenJPEG MODULE) + if (GDAL_USE_OPENJPEG) + if (NOT OPENJPEG_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_OPENJPEG, but not found") diff --git a/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt b/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt index 861d8d69409b0..356b571fb9c63 100644 --- a/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt +++ b/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(GDAL REQUIRED) +find_package(GDAL REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} GDAL::GDAL) diff --git a/recipes/gdal/post_3.5.0/test_package/conanfile.py b/recipes/gdal/post_3.5.0/test_package/conanfile.py index 9dced2ad9cf71..9ae9dd1c61f74 100644 --- a/recipes/gdal/post_3.5.0/test_package/conanfile.py +++ b/recipes/gdal/post_3.5.0/test_package/conanfile.py @@ -1,12 +1,20 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake import os +from conan import ConanFile, conan_version +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -14,10 +22,11 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - if self.options["gdal"].tools: - self.run("gdal_translate --formats", run_environment=True) - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - bin_path_c = os.path.join("bin", "test_package_c") - self.run(bin_path_c, run_environment=True) + if can_run(self): + gdal_options = self.options["gdal"] if conan_version < "2" else self.dependencies["gdal"].options + if gdal_options.tools: + self.run("gdal_translate --formats", env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") + bin_path_c = os.path.join(self.cpp.build.bindir, "test_package_c") + self.run(bin_path_c, env="conanrun") diff --git a/recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt b/recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gdal/post_3.5.0/test_v1_package/conanfile.py b/recipes/gdal/post_3.5.0/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e5d5a707ca0b3 --- /dev/null +++ b/recipes/gdal/post_3.5.0/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +from conan import ConanFile +from conan.tools.build import cross_building +from conans import CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + if self.options["gdal"].tools: + self.run("gdal_translate --formats", run_environment=True) + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + bin_path_c = os.path.join("bin", "test_package_c") + self.run(bin_path_c, run_environment=True) From 540fe700422c9d5effb6a3e6b6f84e71fcac59b9 Mon Sep 17 00:00:00 2001 From: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Date: Tue, 20 Feb 2024 17:10:16 +0000 Subject: [PATCH 3736/4087] (#22812) [nmos-cpp] Bump dependencies to match upstream --- recipes/nmos-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/nmos-cpp/all/conanfile.py b/recipes/nmos-cpp/all/conanfile.py index 67cbae93e0a0b..d2bed5c1666e3 100644 --- a/recipes/nmos-cpp/all/conanfile.py +++ b/recipes/nmos-cpp/all/conanfile.py @@ -54,8 +54,8 @@ def requirements(self): self.requires("cpprestsdk/2.10.18", transitive_headers=True) self.requires("websocketpp/0.8.2") self.requires("openssl/[>=1.1 <4]") - self.requires("json-schema-validator/2.2.0") - self.requires("nlohmann_json/3.11.2") + self.requires("json-schema-validator/2.3.0") + self.requires("nlohmann_json/3.11.3") self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_dnssd") == "mdnsresponder": From c2f3d1f999853d18cb9c4a1d134dc085f8377bb2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 20 Feb 2024 19:41:47 +0100 Subject: [PATCH 3737/4087] (#22829) [config] Add Valgur as community reviewer Signed-off-by: Uilian Ries --- .c3i/reviewers.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/reviewers.yml b/.c3i/reviewers.yml index 3578b7dccdc68..a5e7a155eee13 100644 --- a/.c3i/reviewers.yml +++ b/.c3i/reviewers.yml @@ -87,3 +87,6 @@ reviewers: - user: "juansblanco" type: "team" request_reviews: false + - user: "valgur" + type: "community" + request_reviews: false From 579766920b3e3c8f9949895c8be18c8926c6774a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Feb 2024 06:29:22 +0900 Subject: [PATCH 3738/4087] (#22792) cctz: add version 2.4 * cctz: add version 2.4 * disable benchmark --- recipes/cctz/all/conandata.yml | 16 ++++++++++++++-- recipes/cctz/all/conanfile.py | 6 +++--- ...ion.patch => 2.3-0001-fix-installation.patch} | 0 ...patch => 2.3-0002-fix-frameworks-apple.patch} | 0 .../all/patches/2.4-0001-fix-installation.patch | 13 +++++++++++++ recipes/cctz/config.yml | 2 ++ 6 files changed, 32 insertions(+), 5 deletions(-) rename recipes/cctz/all/patches/{0001-fix-installation.patch => 2.3-0001-fix-installation.patch} (100%) rename recipes/cctz/all/patches/{0002-fix-frameworks-apple.patch => 2.3-0002-fix-frameworks-apple.patch} (100%) create mode 100644 recipes/cctz/all/patches/2.4-0001-fix-installation.patch diff --git a/recipes/cctz/all/conandata.yml b/recipes/cctz/all/conandata.yml index 112fd00e61958..79ee8c2ac2c09 100644 --- a/recipes/cctz/all/conandata.yml +++ b/recipes/cctz/all/conandata.yml @@ -1,8 +1,20 @@ sources: + "2.4": + url: "https://github.com/google/cctz/archive/v2.4.tar.gz" + sha256: "e1a00957d472044808a24a26f1ba020f36dc26949a69c214562d96b74093adb3" "2.3": url: "https://github.com/google/cctz/archive/v2.3.tar.gz" sha256: "8615b20d4e33e02a271c3b93a3b208e3d7d5d66880f5f6208b03426e448f32db" patches: + "2.4": + - patch_file: "patches/2.4-0001-fix-installation.patch" + patch_description: "fix install destination" + patch_type: "portability" "2.3": - - patch_file: "patches/0001-fix-installation.patch" - - patch_file: "patches/0002-fix-frameworks-apple.patch" + - patch_file: "patches/2.3-0001-fix-installation.patch" + patch_description: "fix install destination" + patch_type: "portability" + - patch_file: "patches/2.3-0002-fix-frameworks-apple.patch" + patch_description: "link CoreFoundation on macOS" + patch_type: "portability" + patch_source: "https://github.com/google/cctz/pull/97" diff --git a/recipes/cctz/all/conanfile.py b/recipes/cctz/all/conanfile.py index f4eb7ecd52b25..ebb60c3eb62b6 100644 --- a/recipes/cctz/all/conanfile.py +++ b/recipes/cctz/all/conanfile.py @@ -10,12 +10,11 @@ class CCTZConan(ConanFile): name = "cctz" + description = "C++ library for translating between absolute and civil times" + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/cctz" - description = "C++ library for translating between absolute and civil times" topics = ("time", "timezones") - license = "Apache-2.0" - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -54,6 +53,7 @@ def generate(self): tc.variables["BUILD_TOOLS"] = self.options.build_tools tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_BENCHMARK"] = False # For shared msvc tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True # Relocatable shared lib on Macos diff --git a/recipes/cctz/all/patches/0001-fix-installation.patch b/recipes/cctz/all/patches/2.3-0001-fix-installation.patch similarity index 100% rename from recipes/cctz/all/patches/0001-fix-installation.patch rename to recipes/cctz/all/patches/2.3-0001-fix-installation.patch diff --git a/recipes/cctz/all/patches/0002-fix-frameworks-apple.patch b/recipes/cctz/all/patches/2.3-0002-fix-frameworks-apple.patch similarity index 100% rename from recipes/cctz/all/patches/0002-fix-frameworks-apple.patch rename to recipes/cctz/all/patches/2.3-0002-fix-frameworks-apple.patch diff --git a/recipes/cctz/all/patches/2.4-0001-fix-installation.patch b/recipes/cctz/all/patches/2.4-0001-fix-installation.patch new file mode 100644 index 0000000000000..14cc64c0dac26 --- /dev/null +++ b/recipes/cctz/all/patches/2.4-0001-fix-installation.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 472f26f..553876c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,7 +170,7 @@ include(GNUInstallDirs) + install(TARGETS cctz + EXPORT ${PROJECT_NAME}-targets + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cctz +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) diff --git a/recipes/cctz/config.yml b/recipes/cctz/config.yml index 3b05bfcc11215..fc444f7e23a6d 100644 --- a/recipes/cctz/config.yml +++ b/recipes/cctz/config.yml @@ -1,3 +1,5 @@ versions: + "2.4": + folder: all "2.3": folder: all From 7c7cb1c44423b3d4a723a14911aac1641f415658 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 21 Feb 2024 00:43:33 +0100 Subject: [PATCH 3739/4087] (#22817) [boost] Hotfix: Detect cxxstd flag correctly * Detect cxxstd flag Signed-off-by: Uilian Ries * fix has cppstd 11 method Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/boost/all/conanfile.py | 66 ++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 3b5363de53882..a8416e04190c4 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -161,6 +161,66 @@ def export(self): def export_sources(self): export_conandata_patches(self) + def _cppstd_flag(self, compiler_cppstd=None): + """Return the flag for the given C++ standard and compiler""" + # TODO: Replace it by Conan tool when available: https://github.com/conan-io/conan/issues/12603 + compiler = self.settings.get_safe("compiler") + compiler_version = self.settings.get_safe("compiler.version") + cppstd = self.settings.get_safe("compiler.cppstd") or compiler_cppstd + if not compiler or not compiler_version or not cppstd: + return "" + + def _cppstd_gcc(gcc_version, cppstd): + """Return the flag for the given C++ standard and GCC version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98" if gcc_version >= "3.4" else None) + cppstd_flags.setdefault("11", "11" if gcc_version >= "4.7" else "0x" if gcc_version >= "4.3" else None) + cppstd_flags.setdefault("14", "14" if gcc_version >= "4.9" else "1y" if gcc_version >= "4.8" else None) + cppstd_flags.setdefault("17", "17" if gcc_version >= "5.2" else "1z" if gcc_version >= "5" else None) + cppstd_flags.setdefault("20", "2a" if gcc_version >= "8" else "20" if gcc_version >= "12" else None) + cppstd_flags.setdefault("23", "2b" if gcc_version >= "11" else None) + return cppstd_flags.get(cppstd.lstrip("gnu")) + + def _cppstd_clang(clang_version, cppstd): + """Return the flag for the given C++ standard and Clang version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98" if clang_version >= "2.1" else None) + cppstd_flags.setdefault("11", "11" if clang_version >= "3.1" else "0x" if clang_version >= "2.1" else None) + cppstd_flags.setdefault("14", "14" if clang_version >= "3.5" else "1y" if clang_version >= "3.4" else None) + cppstd_flags.setdefault("17", "17" if clang_version >= "5" else "1z" if clang_version >= "3.5" else None) + cppstd_flags.setdefault("20", "2a" if clang_version >= "6" else "20" if clang_version >= "12" else None) + cppstd_flags.setdefault("23", "2b" if clang_version >= "13" else "23" if clang_version >= "17" else None) + return cppstd_flags.get(cppstd.lstrip("gnu")) + + + def _cppstd_apple_clang(clang_version, cppstd): + """Return the flag for the given C++ standard and Apple Clang version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98" if clang_version >= "4.0" else None) + cppstd_flags.setdefault("11", "11" if clang_version >= "4.0" else None) + cppstd_flags.setdefault("14", "14" if clang_version >= "6.1" else "1y" if clang_version >= "5.1" else None) + cppstd_flags.setdefault("17", "17" if clang_version >= "9.1" else "1z" if clang_version >= "6.1" else None) + cppstd_flags.setdefault("20", "20" if clang_version >= "13.0" else "2a" if clang_version >= "10.0" else None) + cppstd_flags.setdefault("23", "2b" if clang_version >= "13.0" else None) + return cppstd_flags.get(cppstd.lstrip("gnu")) + + def _cppstd_msvc(visual_version, cppstd): + """Return the flag for the given C++ standard and MSVC version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98") + cppstd_flags.setdefault("11", "11") + cppstd_flags.setdefault("14", "14" if visual_version >= "190" else None) + cppstd_flags.setdefault("17", "17" if visual_version >= "191" else "latest" if visual_version >= "190" else None) + cppstd_flags.setdefault("20", "20" if visual_version >= "192" else "latest" if visual_version >= "191" else None) + cppstd_flags.setdefault("23", "latest" if visual_version >= "193" else None) + return cppstd_flags.get(cppstd) + + func = {"gcc": _cppstd_gcc, "clang": _cppstd_clang, "apple-clang": _cppstd_apple_clang, "msvc": _cppstd_msvc}.get(compiler) + flag = cppstd + if func: + flag = func(Version(compiler_version), str(cppstd)) + return flag + @property def _min_compiler_version_default_cxx11(self): """ Minimum compiler version having c++ standard >= 11 @@ -183,6 +243,7 @@ def _min_compiler_version_default_cxx20(self): "msvc": 999, }.get(str(self.settings.compiler)) + @property def _has_cppstd_11_supported(self): cppstd = self.settings.compiler.get_safe("cppstd") if cppstd: @@ -1104,12 +1165,13 @@ def add_defines(library): safe_cppstd = self.settings.get_safe("compiler.cppstd") if safe_cppstd: - cppstd_version = safe_cppstd.replace("gnu", "") + cppstd_version = self._cppstd_flag(safe_cppstd) flags.append(f"cxxstd={cppstd_version}") if "gnu" in safe_cppstd: flags.append("cxxstd-dialect=gnu") elif self._has_cppstd_11_supported: - flags.append("cxxstd=11") + cppstd_version = self._cppstd_flag("11") + flags.append(f"cxxstd={cppstd_version}") # LDFLAGS link_flags = [] From bf4b77daebe9064a4bdb9781bf6d234979fd54ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Meusel?= Date: Wed, 21 Feb 2024 09:50:15 +0100 Subject: [PATCH 3740/4087] (#22836) botan: add version 2.19.4 --- recipes/botan/all/conandata.yml | 3 +++ recipes/botan/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index 8bc337e6d41ee..ee8935ff07aeb 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -14,6 +14,9 @@ sources: "2.19.3": url: "https://github.com/randombit/botan/archive/2.19.3.tar.gz" sha256: "8f568bf74c2e476d92ac8a1cfc2ba8407ec038fe9458bd0a11e7da827a9b8199" + "2.19.4": + url: "https://github.com/randombit/botan/archive/2.19.4.tar.gz" + sha256: "5754a6b5ddc3c74b0cb8671531feea69d03a4f3b5bdafa5f75e4c73a1242e5b1" "3.0.0": url: "https://github.com/randombit/botan/archive/3.0.0.tar.gz" sha256: "8bafe2e965fa9ccf92ef5741165d735c9fbbe6376c373bbf5702495ad2dfb814" diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index aada9ec401094..d8302fc602e57 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -9,6 +9,8 @@ versions: folder: all "2.19.3": folder: all + "2.19.4": + folder: all "3.0.0": folder: all "3.1.0": From 2a0bbad518104bbae4b4df65d1cf48c767c5286f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 22 Feb 2024 10:24:10 +0100 Subject: [PATCH 3741/4087] (#22830) openexr: Backport libdeflate handling, remove unused options & remove website compilation * Backport openexr libdeflate * Check for version when disabling website subdirectory --- recipes/openexr/2.x/conandata.yml | 32 -------- .../patches/2.5.4-0001-cstdint-include.patch | 37 --------- recipes/openexr/3.x/conandata.yml | 12 +-- recipes/openexr/3.x/conanfile.py | 22 ++++- .../3.x/patches/3.2.1-find-libdeflate.patch | 82 +++++++++++++++++++ recipes/openexr/config.yml | 10 --- 6 files changed, 106 insertions(+), 89 deletions(-) delete mode 100644 recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch create mode 100644 recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch diff --git a/recipes/openexr/2.x/conandata.yml b/recipes/openexr/2.x/conandata.yml index 6cbbea809703f..6ab19656a3a57 100644 --- a/recipes/openexr/2.x/conandata.yml +++ b/recipes/openexr/2.x/conandata.yml @@ -5,18 +5,6 @@ sources: "2.5.7": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.7.tar.gz" sha256: "36ecb2290cba6fc92b2ec9357f8dc0e364b4f9a90d727bf9a57c84760695272d" - "2.5.5": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.tar.gz" - sha256: "59e98361cb31456a9634378d0f653a2b9554b8900f233450f2396ff495ea76b3" - "2.5.4": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.4.tar.gz" - sha256: "dba19e9c6720c6f64fbc8b9d1867eaa75da6438109b941eefdc75ed141b6576d" - "2.5.3": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.3.tar.gz" - sha256: "6a6525e6e3907715c6a55887716d7e42d09b54d2457323fcee35a0376960bebf" - "2.5.2": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.2.tar.gz" - sha256: "5da8dff448d0c4a529e52c97daf238a461d01cd233944f75095668d6d7528761" "2.4.0": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.4.0.tar.gz" sha256: "4904c5ea7914a58f60a5e2fbc397be67e7a25c380d7d07c1c31a3eefff1c92f1" @@ -26,26 +14,6 @@ patches: patch_description: "Add #include as required by newer gcc versions" patch_type: "portability" patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.5": - - patch_file: "patches/2.5.7-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.4": - - patch_file: "patches/2.5.4-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.3": - - patch_file: "patches/2.5.4-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.2": - - patch_file: "patches/2.5.4-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" "2.4.0": - patch_file: "patches/2.4.0-0001-cstdint-include.patch" patch_description: "Add #include as required by newer gcc versions" diff --git a/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch b/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch deleted file mode 100644 index a30277a2740a5..0000000000000 --- a/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git OpenEXR/IlmImf/ImfDwaCompressor.cpp OpenEXR/IlmImf/ImfDwaCompressor.cpp -index 59d1d5d..585a3e6 100644 ---- OpenEXR/IlmImf/ImfDwaCompressor.cpp -+++ OpenEXR/IlmImf/ImfDwaCompressor.cpp -@@ -158,6 +158,7 @@ - #include - - #include -+#include - - - // Windows specific addition to prevent the indirect import of the redefined min/max macros -diff --git OpenEXR/IlmImf/ImfHuf.cpp OpenEXR/IlmImf/ImfHuf.cpp -index 271849b..165fac5 100644 ---- OpenEXR/IlmImf/ImfHuf.cpp -+++ OpenEXR/IlmImf/ImfHuf.cpp -@@ -53,6 +53,7 @@ - #include - #include - #include -+#include - - - using namespace std; -diff --git OpenEXR/IlmImf/ImfMisc.cpp OpenEXR/IlmImf/ImfMisc.cpp -index d2c8478..0451a33 100644 ---- OpenEXR/IlmImf/ImfMisc.cpp -+++ OpenEXR/IlmImf/ImfMisc.cpp -@@ -54,6 +54,8 @@ - #include - #include "ImfNamespace.h" - -+#include -+ - OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER - - using IMATH_NAMESPACE::Box2i; diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 2a41f1e247f6e..778602cf612b4 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -8,15 +8,16 @@ sources: "3.1.7": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" - "3.1.5": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz" - sha256: "93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec" patches: "3.2.1": - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" patch_type: "portability" patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" + - patch_file: "patches/3.2.1-find-libdeflate.patch" + patch_description: "Use find_package for libdeflate" + patch_type: "backport" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/pull/1613" "3.1.9": - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" @@ -27,8 +28,3 @@ patches: patch_description: "Workaround for GCC 5 bug" patch_type: "portability" patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" - "3.1.5": - - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" - patch_description: "Workaround for GCC 5 bug" - patch_type: "portability" - patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" diff --git a/recipes/openexr/3.x/conanfile.py b/recipes/openexr/3.x/conanfile.py index 71838c85f0a04..0948ac5e19152 100644 --- a/recipes/openexr/3.x/conanfile.py +++ b/recipes/openexr/3.x/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, replace_in_file from conan.tools.scm import Version import os @@ -31,6 +31,10 @@ class OpenEXRConan(ConanFile): def _min_cppstd(self): return 11 + @property + def _with_libdeflate(self): + return Version(self.version) >= "3.2" + def export_sources(self): export_conandata_patches(self) @@ -49,6 +53,8 @@ def requirements(self): self.requires("zlib/[>=1.2.11 <2]") # Note: OpenEXR and Imath are versioned independently. self.requires("imath/3.1.9", transitive_headers=True) + if self._with_libdeflate: + self.requires("libdeflate/1.19") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -61,13 +67,23 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["OPENEXR_INSTALL_EXAMPLES"] = False tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_WEBSITE"] = False tc.variables["DOCS"] = False tc.generate() cd = CMakeDeps(self) cd.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + + if Version(self.version) >= "3.2": + # Even with BUILD_WEBSITE, Website target is compiled in 3.2 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "add_subdirectory(website/src)", + "# add_subdirectory(website/src)") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -138,6 +154,8 @@ def package_info(self): OpenEXRCore = self._add_component("OpenEXRCore") OpenEXRCore.libs = [f"OpenEXRCore{lib_suffix}"] OpenEXRCore.requires = [self._conan_comp("OpenEXRConfig"), "zlib::zlib"] + if self._with_libdeflate: + OpenEXRCore.requires.append("libdeflate::libdeflate") if self.settings.os in ["Linux", "FreeBSD"]: OpenEXRCore.system_libs = ["m"] diff --git a/recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch b/recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch new file mode 100644 index 0000000000000..713d06bd8b4c9 --- /dev/null +++ b/recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch @@ -0,0 +1,82 @@ +diff --git a/cmake/OpenEXR.pc.in b/cmake/OpenEXR.pc.in +index bce35c2..88ddc9a 100644 +--- a/cmake/OpenEXR.pc.in ++++ b/cmake/OpenEXR.pc.in +@@ -14,7 +14,7 @@ Name: OpenEXR + Description: OpenEXR image library + Version: @OPENEXR_VERSION@ + +-Libs: @exr_pthread_libs@ -L${libdir} -lOpenEXR${libsuffix} -lOpenEXRUtil${libsuffix} -lOpenEXRCore${libsuffix} -lIex${libsuffix} -lIlmThread${libsuffix} @EXR_DEFLATE_LDFLAGS@ ++Libs: @exr_pthread_libs@ -L${libdir} -lOpenEXR${libsuffix} -lOpenEXRUtil${libsuffix} -lOpenEXRCore${libsuffix} -lIex${libsuffix} -lIlmThread${libsuffix} + Cflags: -I${includedir} -I${OpenEXR_includedir} @exr_pthread_cflags@ + Requires: Imath +- ++Requires.private: @EXR_DEFLATE_PKGCONFIG_REQUIRES@ +diff --git a/cmake/OpenEXRSetup.cmake b/cmake/OpenEXRSetup.cmake +index ef5c6c0..0a7dabc 100644 +--- a/cmake/OpenEXRSetup.cmake ++++ b/cmake/OpenEXRSetup.cmake +@@ -160,15 +160,40 @@ set(OPENEXR_DEFLATE_TAG "v1.18" CACHE STRING "Tag to use for libdeflate source r + if(NOT OPENEXR_FORCE_INTERNAL_DEFLATE) + #TODO: ^^ Release should not clone from main, this is a place holder + set(CMAKE_IGNORE_PATH "${CMAKE_CURRENT_BINARY_DIR}/_deps/deflate-src/config;${CMAKE_CURRENT_BINARY_DIR}/_deps/deflate-build/config") +- include(FindPkgConfig) +- pkg_check_modules(deflate IMPORTED_TARGET GLOBAL libdeflate) +- set(CMAKE_IGNORE_PATH) +- if (deflate_FOUND) +- message(STATUS "Using libdeflate from ${deflate_LINK_LIBRARIES}") ++ # First try cmake config ++ find_package(libdeflate CONFIG QUIET) ++ if(libdeflate_FOUND) ++ if(TARGET libdeflate::libdeflate_shared) ++ set(EXR_DEFLATE_LIB libdeflate::libdeflate_shared) ++ else() ++ set(EXR_DEFLATE_LIB libdeflate::libdeflate_static) ++ endif() ++ set(EXR_DEFLATE_VERSION ${libdeflate_VERSION}) ++ message(STATUS "Using libdeflate from ${libdeflate_DIR}") ++ else() ++ # If not found, try pkgconfig ++ find_package(PkgConfig) ++ if(PKG_CONFIG_FOUND) ++ include(FindPkgConfig) ++ pkg_check_modules(deflate IMPORTED_TARGET GLOBAL libdeflate) ++ if(deflate_FOUND) ++ set(EXR_DEFLATE_LIB PkgConfig::deflate) ++ set(EXR_DEFLATE_VERSION ${deflate_VERSION}) ++ message(STATUS "Using libdeflate from ${deflate_LINK_LIBRARIES}") ++ endif() ++ endif() + endif() ++ set(CMAKE_IGNORE_PATH) + endif() + +-if(NOT TARGET PkgConfig::deflate AND NOT deflate_FOUND) ++if(EXR_DEFLATE_LIB) ++ # Using external library ++ set(EXR_DEFLATE_SOURCES) ++ set(EXR_DEFLATE_INCLUDE_DIR) ++ # For OpenEXR.pc.in for static build ++ set(EXR_DEFLATE_PKGCONFIG_REQUIRES "libdeflate >= ${EXR_DEFLATE_VERSION}") ++else() ++ # Using internal deflate + if(OPENEXR_FORCE_INTERNAL_DEFLATE) + message(STATUS "libdeflate forced internal, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") + else() +@@ -213,16 +238,6 @@ if(NOT TARGET PkgConfig::deflate AND NOT deflate_FOUND) + list(TRANSFORM EXR_DEFLATE_SOURCES PREPEND ${deflate_SOURCE_DIR}/) + set(EXR_DEFLATE_INCLUDE_DIR ${deflate_SOURCE_DIR}) + set(EXR_DEFLATE_LIB) +-else() +- set(EXR_DEFLATE_INCLUDE_DIR) +- set(EXR_DEFLATE_LIB ${deflate_LIBRARIES}) +- # set EXR_DEFATE_LDFLAGS for OpenEXR.pc.in for static build +- if (BUILD_SHARED_LIBS) +- set(EXR_DEFLATE_LDFLAGS "") +- else() +- set(EXR_DEFLATE_LDFLAGS "-l${deflate_LIBRARIES}") +- endif() +- set(EXR_DEFLATE_SOURCES) + endif() + + ####################################### diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index c5e2b53e89f02..79091d0404e1f 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -5,19 +5,9 @@ versions: folder: "3.x" "3.1.7": folder: "3.x" - "3.1.5": - folder: "3.x" "2.5.9": folder: "2.x" "2.5.7": folder: "2.x" - "2.5.5": - folder: "2.x" - "2.5.4": - folder: "2.x" - "2.5.3": - folder: "2.x" - "2.5.2": - folder: "2.x" "2.4.0": folder: "2.x" From a63015048da9c53f6bc45867f156f4e5a5e6a1b3 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 18:49:28 +0900 Subject: [PATCH 3742/4087] (#22585) lua: add options with_tools, with_readline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/lua/all/CMakeLists.txt | 54 ++++++++++++++-------------------- recipes/lua/all/conanfile.py | 20 +++++++++++-- 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/recipes/lua/all/CMakeLists.txt b/recipes/lua/all/CMakeLists.txt index ed493a41f2982..e3f4b3962a3a1 100644 --- a/recipes/lua/all/CMakeLists.txt +++ b/recipes/lua/all/CMakeLists.txt @@ -63,46 +63,36 @@ IF (UNIX) ENDIF () ENDIF () +include(GNUInstallDirs) + INSTALL ( TARGETS lua - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -IF (NOT DEFINED SKIP_INSTALL_TOOLS) +IF (NOT SKIP_INSTALL_TOOLS) ADD_EXECUTABLE ( luac ${SRC_LUAC} ${SRC_LIBLUA} ) # compiler uses non-exported APIs, so must include sources directly. ADD_EXECUTABLE ( luai ${SRC_LUAI} ) # interpreter TARGET_LINK_LIBRARIES ( luai lua ) SET_TARGET_PROPERTIES ( luai PROPERTIES OUTPUT_NAME lua PDB_NAME luai ) - IF (UNIX) - IF (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) - SET (_LIB_READLINE_NAME edit) - ELSE () - SET (_LIB_READLINE_NAME readline) - ENDIF () - FIND_LIBRARY (LIB_READLINE NAMES ${_LIB_READLINE_NAME}) - IF (LIB_READLINE) - TARGET_COMPILE_DEFINITIONS (luai PUBLIC -DLUA_USE_READLINE) - TARGET_LINK_LIBRARIES(luai ${LIB_READLINE}) - IF (_LIB_READLINE_NAME STREQUAL edit) - TARGET_INCLUDE_DIRECTORIES (luai PUBLIC /usr/include/edit) - ENDIF () - ENDIF () + IF (WITH_READLINE) + find_package(readline REQUIRED CONFIG) + TARGET_COMPILE_DEFINITIONS (luai PUBLIC -DLUA_USE_READLINE) + TARGET_LINK_LIBRARIES(luai readline::readline) ENDIF () - INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/lua ) + INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) ENDIF () -IF (NOT DEFINED SKIP_INSTALL_HEADERS) - INSTALL( - FILES - ${SOURCE_DIR}/src/lualib.h - ${SOURCE_DIR}/src/lua.h - ${SOURCE_DIR}/src/luaconf.h - ${SOURCE_DIR}/src/lauxlib.h - DESTINATION include - ) - # If using C++, don't install extern "C" wrapper. - IF (NOT COMPILE_AS_CPP) - INSTALL(FILES ${SOURCE_DIR}/src/lua.hpp DESTINATION include) - ENDIF () +INSTALL( + FILES + ${SOURCE_DIR}/src/lualib.h + ${SOURCE_DIR}/src/lua.h + ${SOURCE_DIR}/src/luaconf.h + ${SOURCE_DIR}/src/lauxlib.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) +# If using C++, don't install extern "C" wrapper. +IF (NOT COMPILE_AS_CPP) + INSTALL(FILES ${SOURCE_DIR}/src/lua.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ENDIF () diff --git a/recipes/lua/all/conanfile.py b/recipes/lua/all/conanfile.py index 72ee3c59253a9..0214442bfcf23 100644 --- a/recipes/lua/all/conanfile.py +++ b/recipes/lua/all/conanfile.py @@ -1,7 +1,8 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import get, copy, load, save, export_conandata_patches, apply_conandata_patches, collect_libs from conan.tools.apple import fix_apple_shared_install_name @@ -22,11 +23,15 @@ class LuaConan(ConanFile): "shared": [False, True], "fPIC": [True, False], "compile_as_cpp": [True, False], + "with_tools": [True, False], + "with_readline": [True, False], } default_options = { "shared": False, "fPIC": True, "compile_as_cpp": False, + "with_tools": False, + "with_readline": False, } def export_sources(self): @@ -47,15 +52,26 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.with_tools and self.options.with_readline: + self.requires("readline/8.2") + + def validate(self): + if not self.options.with_tools and self.options.with_readline: + raise ConanInvalidConfiguration(f"{self.ref} requires readline only with with_tools=True") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.variables["LUA_SRC_DIR"] = self.source_folder.replace("\\", "/") - tc.variables["SKIP_INSTALL_TOOLS"] = True tc.variables["COMPILE_AS_CPP"] = self.options.compile_as_cpp + tc.variables["SKIP_INSTALL_TOOLS"] = not self.options.with_tools + tc.variables["WITH_READLINE"] = self.options.with_readline tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) From 8caefc1795971b08f2b8067f306a6fb86ac315e1 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 19:29:36 +0900 Subject: [PATCH 3743/4087] (#22785) glaze: add version 2.1.4 * glaze: add version 2.1.3 * update 2.1.4 * revert 2.1.3 for gcc 11 * drop 2.1.3, relax gcc version for 2.1.4 --- recipes/glaze/all/conandata.yml | 21 +++------------------ recipes/glaze/all/conanfile.py | 15 ++++++++++++--- recipes/glaze/config.yml | 14 ++------------ 3 files changed, 17 insertions(+), 33 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 4e699ca475415..eac1dcf403a4d 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.4": + url: "https://github.com/stephenberry/glaze/archive/v2.1.4.tar.gz" + sha256: "cbaba4dfbaaf342c8be8e6834cb79933b080ac89f3aa1470bc7a83197d9ebc1a" "2.1.0": url: "https://github.com/stephenberry/glaze/archive/v2.1.0.tar.gz" sha256: "b3bb4d886f17d266f37a6eec2c42b2e57e287918b20511297c4eb6b9960f0f8f" @@ -11,27 +14,9 @@ sources: "2.0.6": url: "https://github.com/stephenberry/glaze/archive/v2.0.6.tar.gz" sha256: "aa5d4921382e9781998ebbf6d36964556daa3367a2aef5ca814122502b450abc" - "2.0.5": - url: "https://github.com/stephenberry/glaze/archive/v2.0.5.tar.gz" - sha256: "a826c823dd125e25ecd29881775df5db07ccacd5358a04efba2b290eb6c945eb" - "2.0.3": - url: "https://github.com/stephenberry/glaze/archive/v2.0.3.tar.gz" - sha256: "7e155d2970329ff4a13fe1d4c4e4b63509405a984b4f37ef9f92b8756bb3c8ce" - "2.0.2": - url: "https://github.com/stephenberry/glaze/archive/v2.0.2.tar.gz" - sha256: "af65752fb523c82313bfbe9c04ab47e332d881154f06c63967b973ee51e5923d" - "2.0.1": - url: "https://github.com/stephenberry/glaze/archive/v2.0.1.tar.gz" - sha256: "0f515588189796696a802c88b0308b5386376d202c7ff1875683f38316f09c90" - "2.0.0": - url: "https://github.com/stephenberry/glaze/archive/v2.0.0.tar.gz" - sha256: "8553ade81a20b1a7c8398f95490ab540f34a78f226f7fe5555dfcbbaf216e108" "1.9.9": url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz" sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca" - "1.9.5": - url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz" - sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f" "1.8.5": url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz" sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index f991920259f6a..4237860bf397f 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -25,13 +25,16 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - return { + versions = { "Visual Studio": "17", "msvc": "193", - "gcc": "10" if Version(self.version) < "1.9.0" else "11", + "gcc": "10", "clang": "12", "apple-clang": "13.1", } + if Version(self.version) >= "1.9.0": + versions["gcc"] = "11" + return versions def layout(self): basic_layout(self, src_folder="src") @@ -40,7 +43,13 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.get_safe("compiler.cppstd"): + if Version(self.version) >= "2.1.4" and \ + self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "11.3": + raise ConanInvalidConfiguration( + f"{self.ref} doesn't support 11.0<=gcc<11.3 due to gcc bug. Please use gcc>=11.3 and set compiler.version.(ex. compiler.version=11.3)", + ) + + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 45dcbfc2283ba..b7b45251fb8a4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.4": + folder: all "2.1.0": folder: all "2.0.9": @@ -7,19 +9,7 @@ versions: folder: all "2.0.6": folder: all - "2.0.5": - folder: all - "2.0.3": - folder: all - "2.0.2": - folder: all - "2.0.1": - folder: all - "2.0.0": - folder: all "1.9.9": folder: all - "1.9.5": - folder: all "1.8.5": folder: all From b03197b110c6f59260089eec788b50bfd8cd10cd Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 19:48:21 +0900 Subject: [PATCH 3744/4087] (#22797) pcre2: add version 10.43 * pcre2: add version 10.43 * pcre2: define PCRE2POSIX_SHARED --- recipes/pcre2/all/conandata.yml | 3 +++ recipes/pcre2/all/conanfile.py | 3 +++ recipes/pcre2/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/pcre2/all/conandata.yml b/recipes/pcre2/all/conandata.yml index 344830544b429..6dadb108df617 100644 --- a/recipes/pcre2/all/conandata.yml +++ b/recipes/pcre2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.43": + url: "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.43/pcre2-10.43.tar.bz2" + sha256: "e2a53984ff0b07dfdb5ae4486bbb9b21cca8e7df2434096cc9bf1b728c350bcb" "10.42": url: "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2" sha256: "8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840" diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index 14600c9abe85c..5c51abac704ec 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -149,6 +149,9 @@ def package_info(self): self.cpp_info.components["pcre2-posix"].set_property("pkg_config_name", "libpcre2-posix") self.cpp_info.components["pcre2-posix"].libs = [self._lib_name("pcre2-posix")] self.cpp_info.components["pcre2-posix"].requires = ["pcre2-8"] + if Version(self.version) >= "10.43" and is_msvc(self) and self.options.shared: + self.cpp_info.components["pcre2-posix"].defines.append("PCRE2POSIX_SHARED=1") + # pcre2-16 if self.options.build_pcre2_16: self.cpp_info.components["pcre2-16"].set_property("cmake_target_name", "PCRE2::16BIT") diff --git a/recipes/pcre2/config.yml b/recipes/pcre2/config.yml index f488a0ecff8cb..946dbc4632734 100644 --- a/recipes/pcre2/config.yml +++ b/recipes/pcre2/config.yml @@ -1,4 +1,6 @@ versions: + "10.43": + folder: all "10.42": folder: all "10.40": From f3042a11387d34897a671c179ea333aa984551e5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 20:28:04 +0900 Subject: [PATCH 3745/4087] (#22809) glog: add version 0.7.0 * glog: add version 0.7.0 * enable C++14 in test_package * update cmake build --- recipes/glog/all/conandata.yml | 15 +++++--- recipes/glog/all/conanfile.py | 40 +++++++++++++++++--- recipes/glog/all/test_package/CMakeLists.txt | 3 ++ recipes/glog/config.yml | 2 + 4 files changed, 49 insertions(+), 11 deletions(-) diff --git a/recipes/glog/all/conandata.yml b/recipes/glog/all/conandata.yml index 280f568cd746b..caa4c720569cf 100644 --- a/recipes/glog/all/conandata.yml +++ b/recipes/glog/all/conandata.yml @@ -1,13 +1,16 @@ sources: + "0.7.0": + url: "https://github.com/google/glog/archive/refs/tags/v0.7.0.tar.gz" + sha256: "375106b5976231b92e66879c1a92ce062923b9ae573c42b56ba28b112ee4cc11" "0.6.0": - sha256: 8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6 - url: https://github.com/google/glog/archive/refs/tags/v0.6.0.tar.gz + url: "https://github.com/google/glog/archive/refs/tags/v0.6.0.tar.gz" + sha256: "8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6" "0.5.0": - sha256: eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5 - url: https://github.com/google/glog/archive/refs/tags/v0.5.0.tar.gz + url: "https://github.com/google/glog/archive/refs/tags/v0.5.0.tar.gz" + sha256: "eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5" "0.4.0": - sha256: f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c - url: https://github.com/google/glog/archive/v0.4.0.tar.gz + url: "https://github.com/google/glog/archive/v0.4.0.tar.gz" + sha256: "f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c" patches: "0.5.0": - patch_file: "patches/0001-fix-msvc-snprintf.patch" diff --git a/recipes/glog/all/conanfile.py b/recipes/glog/all/conanfile.py index 7e06e74b5074e..3b6d58c7ef863 100644 --- a/recipes/glog/all/conanfile.py +++ b/recipes/glog/all/conanfile.py @@ -1,8 +1,10 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd import os required_conan_version = ">=1.54.0" @@ -10,12 +12,11 @@ class GlogConan(ConanFile): name = "glog" + description = "Google logging library" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/glog/" - description = "Google logging library" topics = ("logging",) - license = "BSD-3-Clause" - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -33,6 +34,20 @@ class GlogConan(ConanFile): "with_unwind": True, } + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + def export_sources(self): export_conandata_patches(self) @@ -56,10 +71,23 @@ def requirements(self): self.requires("gflags/2.2.2", transitive_headers=True, transitive_libs=True) # 0.4.0 requires libunwind unconditionally if self.options.get_safe("with_unwind") or (Version(self.version) < "0.5.0" and self.settings.os in ["Linux", "FreeBSD"]): - self.requires("libunwind/1.7.2") + self.requires("libunwind/1.8.0", transitive_headers=True, transitive_libs=True) + + def validate(self): + if Version(self.version) < "0.7.0": + return + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def build_requirements(self): - if Version(self.version) >= "0.6.0": + if Version(self.version) >= "0.7.0": + self.tool_requires("cmake/[>=3.22 <4]") + elif Version(self.version) >= "0.6.0": self.tool_requires("cmake/[>=3.16 <4]") def source(self): @@ -129,3 +157,5 @@ def package_info(self): self.cpp_info.defines.append(f"GOOGLE_GLOG_DLL_DECL={decl}") if self.options.with_gflags and not self.options.shared: self.cpp_info.defines.extend(["GFLAGS_DLL_DECLARE_FLAG=", "GFLAGS_DLL_DEFINE_FLAG="]) + if Version(self.version) >= "0.7.0": + self.cpp_info.defines.extend(["GLOG_USE_GLOG_EXPORT="]) diff --git a/recipes/glog/all/test_package/CMakeLists.txt b/recipes/glog/all/test_package/CMakeLists.txt index 28603535e29e9..846b06b94b1ef 100644 --- a/recipes/glog/all/test_package/CMakeLists.txt +++ b/recipes/glog/all/test_package/CMakeLists.txt @@ -5,3 +5,6 @@ find_package(glog REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE glog::glog) +if (glog_VERSION VERSION_GREATER_EQUAL "0.7.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/glog/config.yml b/recipes/glog/config.yml index babcbfb79d964..a0804c43130f1 100644 --- a/recipes/glog/config.yml +++ b/recipes/glog/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.5.0": From 07cd4a0157a18c382a968585d7d13521239b7ada Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 20:53:57 +0900 Subject: [PATCH 3746/4087] (#22845) perfetto: add version 42.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 7fcc5a39bf3d7..711d2732829d9 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "42.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v42.0.tar.gz" + sha256: "1c474a0f16cc2f9da826fd3f9e44ffd77785c433e997cdaf0ee390ae3d64b53e" "41.0": url: "https://github.com/google/perfetto/archive/refs/tags/v41.0.tar.gz" sha256: "4c8fe8a609fcc77ca653ec85f387ab6c3a048fcd8df9275a1aa8087984b89db8" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 441b287e9826f..f2898b0745aac 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "42.0": + folder: all "41.0": folder: all "40.0": From d82765c89d5903d2d50f40a5702183708e654c20 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 22 Feb 2024 12:04:02 +0000 Subject: [PATCH 3747/4087] (#22848) [bot] Update authorized users list (2024-02-22) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 995fbb6e339b3..e66b2974bcee6 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1290,3 +1290,5 @@ authorized_users: - cnicolaescu - mmomtchev - ChristianHeinigk +- metalMajor +- joergbrech From aa62958b41621487de635c57dccdb4978a4c63d4 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:49:53 +0100 Subject: [PATCH 3748/4087] (#22847) zlib: Bad alternative url for zlib 1.3.1 --- recipes/zlib/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zlib/all/conandata.yml b/recipes/zlib/all/conandata.yml index 6af954549998d..e069fd42a135c 100644 --- a/recipes/zlib/all/conandata.yml +++ b/recipes/zlib/all/conandata.yml @@ -2,7 +2,7 @@ sources: "1.3.1": url: - "https://zlib.net/fossils/zlib-1.3.1.tar.gz" - - "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.1.tar.gz" + - "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz" sha256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" "1.3": url: From 50f06ffad2f50fa78fb70d07602724be95bc8647 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Feb 2024 20:09:37 +0900 Subject: [PATCH 3749/4087] (#22867) imgui: add version 1.90.4 --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 467e04fdf9e0f..e9eda4969aa9b 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.4": + url: "https://github.com/ocornut/imgui/archive/v1.90.4.tar.gz" + sha256: "5d9dc738af74efa357f2a9fc39fe4a28d29ef1dfc725dd2977ccf3f3194e996e" + "1.90.4-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.4-docking.tar.gz" + sha256: "91ac3c6fd83cc3bea38745af57665b13464ba235dc11373d0898ae6fe35a8a65" "1.90.3": url: "https://github.com/ocornut/imgui/archive/v1.90.3.tar.gz" sha256: "40b302d01092c9393373b372fe07ea33ac69e9491893ebab3bf952b2c1f5fd23" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 40705063b856e..9443d0df2e210 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.4": + folder: all + "1.90.4-docking": + folder: all "1.90.3": folder: all "1.90.3-docking": From 3edb6d723ed5a8d1d7fe75a2eee251462845b569 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:01:47 +0000 Subject: [PATCH 3750/4087] (#22871) [doc] Update supported platforms and configurations (2024-02-23) Co-authored-by: conan-center-bot --- docs/supported_platforms_and_configurations.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/supported_platforms_and_configurations.md b/docs/supported_platforms_and_configurations.md index f39ae2fe9c847..156a1c5f868d7 100644 --- a/docs/supported_platforms_and_configurations.md +++ b/docs/supported_platforms_and_configurations.md @@ -61,8 +61,8 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Python: 3.7.13 - CMake: 3.15.7, 3.18.2 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) - Compilers: - - GCC versions: 5, 7, 9, 10, 11 - - Clang versions: 12, 13 + - GCC versions: 5, 7, 9, 11 + - Clang versions: 13 - C++ Standard Library (`libcxx`): - GCC compiler: `libstdc++`, `libstdc++11` - Clang compiler: `libstdc++`, `libc++` @@ -76,11 +76,11 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Python: 3.7.12 - CMake: 3.20.1 -- Compilers: Apple-clang versions 11.0.3, 12.0.5, 13.0.0 -- Macos SDK versions (for each apple-clang version respectively): 10.15, 11.3 -- Macos deployment target (`minos`): 10.15, 11.0, 11.3 +- Compilers: Apple-clang versions 13.0.0 +- Macos SDK versions (for each apple-clang version respectively): 11.3 +- Macos deployment target (`minos`): 11.0 - C++ Standard Library (`libcxx`): `libc++` -- Architectures: x86_64, armv8 +- Architectures: armv8 - Build types: Release, Debug - Options: - Shared, Static (option ``"shared": [True, False]`` in the recipe when available) From 687a20f705c9ad33b1409f7d81d35410155ee479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Meusel?= Date: Fri, 23 Feb 2024 14:48:10 +0100 Subject: [PATCH 3751/4087] (#22837) botan: add version 3.3.0 --- recipes/botan/all/conandata.yml | 3 +++ recipes/botan/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index ee8935ff07aeb..67a7d6257434c 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -29,6 +29,9 @@ sources: "3.2.0": url: "https://github.com/randombit/botan/archive/3.2.0.tar.gz" sha256: "95af4935d56973000bb6ff20bb54ae56083f8764d5a2c89826cac26ac6127330" + "3.3.0": + url: "https://github.com/randombit/botan/archive/3.3.0.tar.gz" + sha256: "57fefda7b9ab6f8409329620cdaf26d2d7e962b6a10eb321d331e9ecb796f804" patches: "2.18.2": - patch_file: "patches/fix-amalgamation-build.patch" diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index d8302fc602e57..9230bceaba6c6 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -19,3 +19,5 @@ versions: folder: all "3.2.0": folder: all + "3.3.0": + folder: all From 23e4d972bbbc82c6c8508607f6231e6cacab5565 Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Fri, 23 Feb 2024 15:10:26 +0100 Subject: [PATCH 3752/4087] (#22846) functionalplus: add version 0.2.23 --- recipes/functionalplus/all/conandata.yml | 3 +++ recipes/functionalplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/functionalplus/all/conandata.yml b/recipes/functionalplus/all/conandata.yml index 3d3543e65247e..a99f4612ba4db 100644 --- a/recipes/functionalplus/all/conandata.yml +++ b/recipes/functionalplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.23": + url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.23.tar.gz" + sha256: "5c2d28d2ba7d0cdeab9e31bbf2e7f8a9d6f2ff6111a54bfc11d1b05422096f19" "0.2.22": url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.22.tar.gz" sha256: "79378668dff6ffa8abc1abde2c2fe37dc6fe1ac040c55d5ee7886924fa6a1376" diff --git a/recipes/functionalplus/config.yml b/recipes/functionalplus/config.yml index a822e05fbaecb..ebd7ef7a33637 100644 --- a/recipes/functionalplus/config.yml +++ b/recipes/functionalplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.23": + folder: all "0.2.22": folder: all "0.2.20-p0": From bf6feedd74034675837b71722dd3c0a04ab31f28 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Feb 2024 23:29:00 +0900 Subject: [PATCH 3753/4087] (#22858) meson: add version 1.3.2 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 28c305f4e6b32..775660b3d07c2 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/mesonbuild/meson/archive/1.3.2.tar.gz" + sha256: "683082fb3c5cddf203b21d29bdf4c227e2f7964da5324a15e1a5f7db94322b4b" "1.3.1": url: "https://github.com/mesonbuild/meson/archive/1.3.1.tar.gz" sha256: "274c121edb859602eb4589d31d8791e980748bb19950fc6f611a21d76dc22cc6" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 391274cd2a1ed..0e150ef5dedd6 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.3.1": folder: all "1.3.0": From 3b5bcb8da34722aaccab993471f1201fffa6ddeb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:46:57 +0100 Subject: [PATCH 3754/4087] (#20449) dcmtk: fix compilation error `ambiguous overload for operator==` with some compilers * fix compilation error with some compilers * add patch_source * prefer to define missiong operator== --- recipes/dcmtk/all/conandata.yml | 8 ++++-- ...03-ambiguous-overload-operator-equal.patch | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch diff --git a/recipes/dcmtk/all/conandata.yml b/recipes/dcmtk/all/conandata.yml index 7ae433b2e0c08..fc800b08330e7 100644 --- a/recipes/dcmtk/all/conandata.yml +++ b/recipes/dcmtk/all/conandata.yml @@ -6,7 +6,11 @@ patches: "3.6.7": - patch_file: "patches/3.6.7-0001-cmake-robust-deps-handling.patch" patch_description: "CMake: robust discovery with find_package() and use imported targets" - patch_type: conan + patch_type: "conan" - patch_file: "patches/3.6.7-0002-cmake-check-openssl-symbol.patch" patch_description: "CMake: fix OpenSSL compatibility checks" - patch_type: conan + patch_type: "conan" + - patch_file: "patches/3.6.7-0003-ambiguous-overload-operator-equal.patch" + patch_description: "C++20: Fix ambiguous overload for operator== between DB_SerializedTagKey and DcmTagKey" + patch_type: "portability" + patch_source: "https://github.com/DCMTK/dcmtk/pull/88" diff --git a/recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch b/recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch new file mode 100644 index 0000000000000..d4b6242e861a2 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch @@ -0,0 +1,26 @@ +--- a/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h ++++ b/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h +@@ -122,10 +122,22 @@ struct DCMTK_DCMQRDB_EXPORT DB_SerializedTagKey + inline DB_SerializedTagKey(const DcmTagKey& rhs) { *this = rhs; } + inline DB_SerializedTagKey& operator=(const DcmTagKey& tk) { key[0] = tk.getGroup(); key[1] = tk.getElement(); return *this; } + inline operator DcmTagKey() const { return DcmTagKey( key[0], key[1] ); } +- inline bool operator==(const DB_SerializedTagKey& rhs) const { return key[0] == rhs.key[0] && key[1] == rhs.key[1]; } + Uint16 key[2]; + }; + ++inline bool operator==(const DB_SerializedTagKey& lhs, const DB_SerializedTagKey& rhs) ++{ ++ return lhs.key[0] == rhs.key[0] && lhs.key[1] == rhs.key[1]; ++} ++inline bool operator==(const DB_SerializedTagKey& lhs, const DcmTagKey& rhs) ++{ ++ return lhs == DB_SerializedTagKey(rhs); ++} ++inline bool operator==(const DcmTagKey& lhs, const DB_SerializedTagKey& rhs) ++{ ++ return rhs == lhs; ++} ++ + /* ENSURE THAT DBVERSION IS INCREMENTED WHENEVER ONE OF THESE STRUCTS IS MODIFIED */ + + struct DCMTK_DCMQRDB_EXPORT DB_SerializedCharPtr From b715728a06dacea71ef37863aac4c6ed30966253 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Fri, 23 Feb 2024 16:26:57 +0100 Subject: [PATCH 3755/4087] (#21492) aws-c-s3: add version 0.3.24 --- recipes/aws-c-s3/all/conandata.yml | 3 +++ recipes/aws-c-s3/all/conanfile.py | 18 ++++++++++++++---- recipes/aws-c-s3/config.yml | 2 ++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/recipes/aws-c-s3/all/conandata.yml b/recipes/aws-c-s3/all/conandata.yml index 776d2c58fad6a..c1055bfac4946 100644 --- a/recipes/aws-c-s3/all/conandata.yml +++ b/recipes/aws-c-s3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.24": + url: "https://github.com/awslabs/aws-c-s3/archive/v0.3.24.tar.gz" + sha256: "09803db4af98bba0af263434e2de432cdccdb3ab709411abba8e05d34840f815" "0.1.49": url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.49.tar.gz" sha256: "71acbba41a02477a6c352172da561bc2138bf239b936490c773d7aaa83afc9ab" diff --git a/recipes/aws-c-s3/all/conanfile.py b/recipes/aws-c-s3/all/conanfile.py index 4854a0ec7c6d5..1813ec30adc8a 100644 --- a/recipes/aws-c-s3/all/conanfile.py +++ b/recipes/aws-c-s3/all/conanfile.py @@ -40,17 +40,27 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") + if Version(self.version) < "0.3.24": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.13") + else: + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9") if Version(self.version) < "0.1.49": self.requires("aws-c-auth/0.6.11", transitive_headers=True) self.requires("aws-c-http/0.6.13") self.requires("aws-c-io/0.10.20", transitive_headers=True) - else: + elif Version(self.version) < "0.3.24": self.requires("aws-c-auth/0.6.17", transitive_headers=True) self.requires("aws-c-http/0.6.22") self.requires("aws-c-io/0.13.4", transitive_headers=True) - if Version(self.version) >= "0.1.36": + else: + self.requires("aws-c-auth/0.7.8", transitive_headers=True) + self.requires("aws-c-http/0.7.14") + self.requires("aws-c-io/0.13.35", transitive_headers=True) + if Version(self.version) >= "0.3.24": + self.requires("aws-checksums/0.1.17") + elif Version(self.version) >= "0.1.36": self.requires("aws-checksums/0.1.13") def source(self): diff --git a/recipes/aws-c-s3/config.yml b/recipes/aws-c-s3/config.yml index 9a2f6a3845f5c..a038f7fe28821 100644 --- a/recipes/aws-c-s3/config.yml +++ b/recipes/aws-c-s3/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.24": + folder: all "0.1.49": folder: all "0.1.37": From 27715fb0b6f4f103e0d1207599423fb2bc37b411 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 23 Feb 2024 18:49:02 +0300 Subject: [PATCH 3756/4087] (#22859) md4qt: bump version to 2.7.4 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 29dd0361a14fa..9b4b6bdb2cefd 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.4": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.4.tar.gz" + sha256: "adef8e96e71f13cb9f4450eee7bb02a43694682dc67519323f8e23f7bf10d0d1" "2.7.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.3.tar.gz" sha256: "d464cd137a69218f88af1373b198610f1db6971c7aa56c6869219ffb34e6f0dd" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 73bd1fd0bdc43..51c0af2212d4c 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.4": + folder: all "2.7.3": folder: all "2.7.2": From a16e564c2fc09da3bed8a99fa8e656b8b787386e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 01:30:29 +0900 Subject: [PATCH 3757/4087] (#22868) libhal: add version 2.2.0 --- recipes/libhal/all/conandata.yml | 3 +++ recipes/libhal/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libhal/all/conandata.yml b/recipes/libhal/all/conandata.yml index 5f30969947a89..c0ad6ccc7db62 100644 --- a/recipes/libhal/all/conandata.yml +++ b/recipes/libhal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/libhal/libhal/archive/refs/tags/2.2.0.tar.gz" + sha256: "4a005cb45bd75662ca7d966a1a55f3570d2a0db01432e17eb1e9889ae7c90ee4" "2.0.2": url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.2.tar.gz" sha256: "bb69fffbff58ac9a91f71636422d81a4426fe70c3b47ca9b07c87fb074c989dc" diff --git a/recipes/libhal/config.yml b/recipes/libhal/config.yml index 855e335e2fd53..a5b4b5f8dd9a9 100644 --- a/recipes/libhal/config.yml +++ b/recipes/libhal/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.0.2": folder: "all" "2.0.1": From 665339d9271ac2f42763ac92f55fb23015dbbbc2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 01:52:32 +0900 Subject: [PATCH 3758/4087] (#22834) daw_utf_range: add version 2.2.4 --- recipes/daw_utf_range/all/conandata.yml | 7 +++++-- recipes/daw_utf_range/all/conanfile.py | 7 +++++-- recipes/daw_utf_range/config.yml | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/recipes/daw_utf_range/all/conandata.yml b/recipes/daw_utf_range/all/conandata.yml index 179be6adbbd6e..274810345e204 100644 --- a/recipes/daw_utf_range/all/conandata.yml +++ b/recipes/daw_utf_range/all/conandata.yml @@ -1,10 +1,13 @@ sources: + "2.2.4": + url: "https://github.com/beached/utf_range/archive/v2.2.4.tar.gz" + sha256: "e6df85d6da445c16507e738d70c6313df2a70e64b739a05d6437b06a5f83b8b1" "2.2.3": url: "https://github.com/beached/utf_range/archive/v2.2.3.tar.gz" sha256: "cfa36285ffbdf8d4d08fbbe95d054e67ad845c064a92419ea68a770415ad7a98" "2.2.2": - url: "https://github.com/beached/utf_range/archive/refs/tags/v2.2.2.tar.gz" + url: "https://github.com/beached/utf_range/archive/v2.2.2.tar.gz" sha256: "5380ade7c7eb5c82a748211896fc7385eaec00d3215af1374aec8f0e326f91fd" "2.2.0": - url: "https://github.com/beached/utf_range/archive/refs/tags/v2.2.0.tar.gz" + url: "https://github.com/beached/utf_range/archive/v2.2.0.tar.gz" sha256: "00f60360736062403c8a7a94dd07c750366958f20d1864578faecf2e09d84265" diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index 0db5a7b2716bd..ad4fd8d98f0b6 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -15,7 +15,7 @@ class DawUtfRangeConan(ConanFile): license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/beached/utf_range/" - topics = ("utf", "validator", "iterator") + topics = ("utf", "validator", "iterator", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -38,7 +38,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.97.0") + if Version(self.version) >= "2.2.4": + self.requires("daw_header_libraries/2.101.0") + else: + self.requires("daw_header_libraries/2.97.0") def package_id(self): self.info.clear() diff --git a/recipes/daw_utf_range/config.yml b/recipes/daw_utf_range/config.yml index 20edb7543cf05..0856bcef8b94d 100644 --- a/recipes/daw_utf_range/config.yml +++ b/recipes/daw_utf_range/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.4": + folder: "all" "2.2.3": folder: "all" "2.2.2": From 228613980fd6451a399611bd3a524cd43c6cc47f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 23 Feb 2024 18:29:51 +0100 Subject: [PATCH 3759/4087] (#22841) botan: remove no-op option * botan: remove no-op option * bump deps these options are disabled by default, so no risk of conflict on C3I --- recipes/botan/all/conanfile.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/recipes/botan/all/conanfile.py b/recipes/botan/all/conanfile.py index ce2b978ddda1d..d211b39ca041f 100644 --- a/recipes/botan/all/conanfile.py +++ b/recipes/botan/all/conanfile.py @@ -34,7 +34,6 @@ class BotanConan(ConanFile): "amalgamation": [True, False], "with_bzip2": [True, False], "with_openssl": [True, False], - "single_amalgamation": [True, False], "with_sqlite3": [True, False], "with_zlib": [True, False], "with_boost": [True, False], @@ -63,7 +62,6 @@ class BotanConan(ConanFile): "amalgamation": True, "with_bzip2": False, "with_openssl": False, - "single_amalgamation": False, "with_sqlite3": False, "with_zlib": False, "with_boost": False, @@ -126,11 +124,6 @@ def config_options(self): del self.options.with_altivec del self.options.with_powercrypto - # --single-amalgamation option is no longer available - # See also https://github.com/randombit/botan/pull/2246 - if Version(self.version) >= '2.14.0': - del self.options.single_amalgamation - # Support for the OpenSSL provider was removed in 2.19.2 if Version(self.version) >= '2.19.2': del self.options.with_openssl @@ -147,9 +140,9 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: - self.requires("sqlite3/3.38.5") + self.requires("sqlite3/3.45.1") if self.options.with_boost: - self.requires("boost/1.83.0") + self.requires("boost/1.84.0") @property def _required_boost_components(self): @@ -216,16 +209,13 @@ def validate(self): # Some older compilers cannot handle the amalgamated build anymore # See also https://github.com/randombit/botan/issues/2328 - if Version(self.version) >= '2.14.0' and self.options.amalgamation: + if self.options.amalgamation: if (self.settings.compiler == 'apple-clang' and compiler_version < '10') or \ (self.settings.compiler == 'gcc' and compiler_version < '8') or \ (self.settings.compiler == 'clang' and compiler_version < '7'): raise ConanInvalidConfiguration( f"botan amalgamation is not supported for {compiler}/{compiler_version}") - if self.options.get_safe("single_amalgamation", False) and not self.options.amalgamation: - raise ConanInvalidConfiguration("botan:single_amalgamation=True requires botan:amalgamation=True") - def layout(self): basic_layout(self, src_folder="src") @@ -356,9 +346,6 @@ def _configure_cmd(self): if self.options.amalgamation: build_flags.append('--amalgamation') - if self.options.get_safe('single_amalgamation'): - build_flags.append('--single-amalgamation-file') - if self.options.system_cert_bundle: build_flags.append('--system-cert-bundle={}'.format(self.options.system_cert_bundle)) From 642fa5c9cb797323fa1438aee2278fedbe73d4de Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 04:29:47 +0900 Subject: [PATCH 3760/4087] (#22824) celero: add version 2.9.0, add patch descriptions * celero: add version 2.9.0, add patch descriptions * fix typo * require cmake >= 3.22 * remove cmake files * fix windows shared build * fix target position --- recipes/celero/all/conandata.yml | 25 ++++++++++++++ recipes/celero/all/conanfile.py | 12 ++++--- .../all/patches/0005-2.9.0-drop-runtime.patch | 33 +++++++++++++++++++ .../0006-2.9.0-fix-install-target.patch | 16 +++++++++ recipes/celero/config.yml | 2 ++ 5 files changed, 84 insertions(+), 4 deletions(-) create mode 100644 recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch create mode 100644 recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch diff --git a/recipes/celero/all/conandata.yml b/recipes/celero/all/conandata.yml index 5c189657151ee..854be338c3c4d 100644 --- a/recipes/celero/all/conandata.yml +++ b/recipes/celero/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.0": + url: "https://github.com/DigitalInBlue/Celero/archive/v2.9.0.tar.gz" + sha256: "d59df84696e0dd58022d2c42837362c06eba6d1e29bac61f7b3143bc73d779e5" "2.8.2": url: "https://github.com/DigitalInBlue/Celero/archive/v2.8.2.tar.gz" sha256: "7d2131ba27ca5343b31f1e04777ed3e666e2ad7f785e79c960c872fc48cd5f88" @@ -6,11 +9,33 @@ sources: url: "https://github.com/DigitalInBlue/Celero/archive/v2.6.0.tar.gz" sha256: "a5b72da254f81d42369382ba3157229b6b32ebbb670a22b185f80db95535e66e" patches: + "2.9.0": + - patch_file: "patches/0005-2.9.0-drop-runtime.patch" + patch_description: "remove /MT /MD flags" + patch_type: "conan" + - patch_file: "patches/0006-2.9.0-fix-install-target.patch" + patch_description: "fix install target for Windows" + patch_type: "portability" "2.8.2": - patch_file: "patches/0004-2.8.2-missing-include.patch" + patch_description: "include memory header" + patch_type: "portability" + patch_source: "https://github.com/DigitalInBlue/Celero/pull/160" - patch_file: "patches/0005-drop-runtime.patch" + patch_description: "remove /MT /MD flags" + patch_type: "conan" "2.6.0": - patch_file: "patches/0001-cmake-install-pic-cxx-standard-sytem-libs.patch" + patch_description: "disable PIC, remove /std:c++14 flag, fix install path" + patch_type: "conan" - patch_file: "patches/0002-lowercase-include-system-libs-windows.patch" + patch_description: "lowercase include file names" + patch_type: "portability" - patch_file: "patches/0003-typo-declspec.patch" + patch_description: "fix typo declspec" + patch_type: "portability" + patch_source: "https://github.com/DigitalInBlue/Celero/pull/147" - patch_file: "patches/0004-2.6.0-missing-include.patch" + patch_description: "include memory header" + patch_type: "portability" + patch_source: "https://github.com/DigitalInBlue/Celero/pull/160" diff --git a/recipes/celero/all/conanfile.py b/recipes/celero/all/conanfile.py index d919314d7d0cb..b3f3afce2b69a 100644 --- a/recipes/celero/all/conanfile.py +++ b/recipes/celero/all/conanfile.py @@ -14,10 +14,9 @@ class CeleroConan(ConanFile): name = "celero" description = "C++ Benchmarking Library" license = "Apache-2.0" - topics = ("benchmark", "benchmark-tests", "measurements", "microbenchmarks") - homepage = "https://github.com/DigitalInBlue/Celero" url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://github.com/DigitalInBlue/Celero" + topics = ("benchmark", "benchmark-tests", "measurements", "microbenchmarks") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -66,6 +65,10 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + def build_requirements(self): + if Version(self.version) >= "2.9.0": + self.tool_requires("cmake/[>=3.22 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,6 +93,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "celero")) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self._create_cmake_module_alias_targets( @@ -119,7 +123,7 @@ def package_info(self): if not self.options.shared: self.cpp_info.defines = ["CELERO_STATIC"] if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.system_libs = ["pthread"] + self.cpp_info.system_libs = ["pthread", "m"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["powrprof", "psapi"] diff --git a/recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch b/recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch new file mode 100644 index 0000000000000..8810f2aa3b2d3 --- /dev/null +++ b/recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f12ab9..73474a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,17 +66,17 @@ macro(CeleroSetDefaultCompilerOptions) + target_compile_options(${PROJECT_NAME} PRIVATE /permissive-) + target_compile_options(${PROJECT_NAME} PRIVATE /MP) + +- if (NOT CELERO_COMPILE_DYNAMIC_LIBRARIES) +- if(VCPKG_CRT_LINKAGE) +- if(VCPKG_CRT_LINKAGE STREQUAL "static") +- target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) +- else() +- target_compile_options(${PROJECT_NAME} PRIVATE /MD$<$:d>) +- endif() +- else() +- target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) +- endif() +- endif() ++ # if (NOT CELERO_COMPILE_DYNAMIC_LIBRARIES) ++ # if(VCPKG_CRT_LINKAGE) ++ # if(VCPKG_CRT_LINKAGE STREQUAL "static") ++ # target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) ++ # else() ++ # target_compile_options(${PROJECT_NAME} PRIVATE /MD$<$:d>) ++ # endif() ++ # else() ++ # target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) ++ # endif() ++ # endif() + + if(CELERO_ENABLE_WARNINGS_AS_ERRORS) + target_compile_options(${PROJECT_NAME} PRIVATE /WX) diff --git a/recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch b/recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch new file mode 100644 index 0000000000000..b8f71eb1f7916 --- /dev/null +++ b/recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f12ab9..8c0c2e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,8 +274,10 @@ install( + ) + install( + TARGETS celero +- DESTINATION ${CMAKE_INSTALL_LIBDIR} + EXPORT celero-targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + install( + EXPORT celero-targets diff --git a/recipes/celero/config.yml b/recipes/celero/config.yml index 3f32427faf7d1..0aacb0a653fc9 100644 --- a/recipes/celero/config.yml +++ b/recipes/celero/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.0": + folder: all "2.8.2": folder: all "2.6.0": From cea2b0ce0ef73b9916d185333e306e67f81e4a68 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 04:50:44 +0900 Subject: [PATCH 3761/4087] (#22856) dice-template-library: add version 1.3.0, support apple-clang --- recipes/dice-template-library/all/conandata.yml | 3 +++ recipes/dice-template-library/all/conanfile.py | 3 +-- recipes/dice-template-library/config.yml | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/dice-template-library/all/conandata.yml b/recipes/dice-template-library/all/conandata.yml index 59191b2c39484..8045d981c24de 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.3.0.tar.gz" + sha256: "2e61e95eeedf31f7041a6694c0789c5d1a5e3f9e4db87546cb83c9189808d4f5" "1.2.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.2.0.tar.gz" sha256: "9b21793e158af3ee81ceec827a1a43a87e309e2f7bf0be8ace0f538a95f4865a" diff --git a/recipes/dice-template-library/all/conanfile.py b/recipes/dice-template-library/all/conanfile.py index 9b90b9971293f..c799a85eb10c5 100644 --- a/recipes/dice-template-library/all/conanfile.py +++ b/recipes/dice-template-library/all/conanfile.py @@ -33,6 +33,7 @@ def _compilers_minimum_version(self): return { "gcc": "10.2", "clang": "12", + "apple-clang": "14", } def layout(self): @@ -42,8 +43,6 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler == "apple-clang": - raise ConanInvalidConfiguration("apple-clang is not supported because a full concept implementation is needed") if is_msvc(self): raise ConanInvalidConfiguration("MSVC is not supported because a full concept implementation is needed") diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index 569143d81f56c..13451667044d0 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.0": folder: all "1.1.0": From 9fce4eb98c4578ea0379886bfa6545a70e4455f6 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 10:52:58 +0900 Subject: [PATCH 3762/4087] (#22869) tree-sitter: add version 0.21.0 * tree-sitter: add version 0.21.0 * use C11 on 0.21.0 --- recipes/tree-sitter/all/CMakeLists.txt | 19 ++++++++++++------- recipes/tree-sitter/all/conandata.yml | 3 +++ recipes/tree-sitter/all/conanfile.py | 10 +++++++--- .../all/test_package/CMakeLists.txt | 7 ++++++- recipes/tree-sitter/config.yml | 2 ++ 5 files changed, 30 insertions(+), 11 deletions(-) diff --git a/recipes/tree-sitter/all/CMakeLists.txt b/recipes/tree-sitter/all/CMakeLists.txt index 5f48ce80be466..25a592da8c101 100644 --- a/recipes/tree-sitter/all/CMakeLists.txt +++ b/recipes/tree-sitter/all/CMakeLists.txt @@ -1,26 +1,31 @@ cmake_minimum_required(VERSION 3.4) -project(tree-sitter C) +project(tree-sitter LANGUAGES C) # Use cmake script instead of Makefile to support MSVC + follow fPIC option -file(GLOB SOURCES RELATIVE "${PROJECT_SOURCE_DIR}" src/lib/src/*.c) -list(REMOVE_ITEM SOURCES src/lib/src/lib.c) +file(GLOB SOURCES ${TREE_SITTER_SRC_DIR}/lib/src/*.c) +list(REMOVE_ITEM SOURCES ${TREE_SITTER_SRC_DIR}/lib/src/lib.c) -file(GLOB HEADERS src/lib/include/tree_sitter/*.h) +file(GLOB HEADERS ${TREE_SITTER_SRC_DIR}/lib/include/tree_sitter/*.h) add_library(${PROJECT_NAME} ${SOURCES}) target_include_directories(${PROJECT_NAME} PRIVATE - $ - $ + $ + $ ) set_target_properties(${PROJECT_NAME} PROPERTIES - C_STANDARD 99 PUBLIC_HEADER "${HEADERS}" WINDOWS_EXPORT_ALL_SYMBOLS ON ) +if(TREE_SITTER_VERSION VERSION_LESS "0.21.0") + target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) +else() + target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) +endif() + include(GNUInstallDirs) install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" diff --git a/recipes/tree-sitter/all/conandata.yml b/recipes/tree-sitter/all/conandata.yml index 43b71bcba5f69..e9e15c0a595de 100644 --- a/recipes/tree-sitter/all/conandata.yml +++ b/recipes/tree-sitter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21.0": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.21.0.tar.gz" + sha256: "6bb60e5b63c1dc18aba57a9e7b3ea775b4f9ceec44cc35dac4634d26db4eb69c" "0.20.8": url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.8.tar.gz" sha256: "6181ede0b7470bfca37e293e7d5dc1d16469b9485d13f13a605baec4a8b1f791" diff --git a/recipes/tree-sitter/all/conanfile.py b/recipes/tree-sitter/all/conanfile.py index db16033332a0c..a0c425765146a 100644 --- a/recipes/tree-sitter/all/conanfile.py +++ b/recipes/tree-sitter/all/conanfile.py @@ -1,7 +1,7 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout from conan.tools.files import get, copy required_conan_version = ">=1.53.0" @@ -24,8 +24,6 @@ class TreeSitterConan(ConanFile): "fPIC": True, "shared": False, } - - generators = "CMakeToolchain" exports_sources = "CMakeLists.txt" def config_options(self): @@ -44,6 +42,12 @@ def layout(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["TREE_SITTER_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.variables["TREE_SITTER_VERSION"] = str(self.version) + tc.generate() + def build(self): cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) diff --git a/recipes/tree-sitter/all/test_package/CMakeLists.txt b/recipes/tree-sitter/all/test_package/CMakeLists.txt index c0b053bd23a36..5946342aa2496 100644 --- a/recipes/tree-sitter/all/test_package/CMakeLists.txt +++ b/recipes/tree-sitter/all/test_package/CMakeLists.txt @@ -1,7 +1,12 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) find_package(tree-sitter REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} tree-sitter::tree-sitter) +if(tree-sitter_VERSION VERSION_LESS "0.21.0") + target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) +else() + target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) +endif() diff --git a/recipes/tree-sitter/config.yml b/recipes/tree-sitter/config.yml index 30720fc6f1016..62dc82320f3ad 100644 --- a/recipes/tree-sitter/config.yml +++ b/recipes/tree-sitter/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.0": + folder: all "0.20.8": folder: all "0.20.6": From 1e82faa96f40bd93868142ac5b10ee29971ad6b0 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 20:29:06 +0900 Subject: [PATCH 3763/4087] (#22857) glaze: add version 2.1.6, 2.1.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * glaze: add version 2.1.6 * update 2.1.7 * revert 2.1.6, drop support clang < 14 on 2.1.7 * Update recipes/glaze/all/conandata.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/glaze/all/conandata.yml | 7 +++++++ recipes/glaze/all/conanfile.py | 3 ++- recipes/glaze/config.yml | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index eac1dcf403a4d..6736bccf09f67 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "2.1.7": + url: "https://github.com/stephenberry/glaze/archive/v2.1.7.tar.gz" + sha256: "e110bfc6494ca3a0616beaec214e61a53d4e0bd1489d8f1a45ca6f87594a3502" + # Keep 2.1.6 for now as 2.1.7 had some breaking changes + "2.1.6": + url: "https://github.com/stephenberry/glaze/archive/v2.1.6.tar.gz" + sha256: "5ae31b1a48a5b54b84e115a12195341bfbe39f03f92bb3bcad074f984380f72d" "2.1.4": url: "https://github.com/stephenberry/glaze/archive/v2.1.4.tar.gz" sha256: "cbaba4dfbaaf342c8be8e6834cb79933b080ac89f3aa1470bc7a83197d9ebc1a" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 4237860bf397f..b7b6a8eb1447b 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -29,7 +29,8 @@ def _compilers_minimum_version(self): "Visual Studio": "17", "msvc": "193", "gcc": "10", - "clang": "12", + # glaze >= 2.1.6 uses std::bit_cast which is supported by clang >= 14 + "clang": "12" if Version(self.version) < "2.1.6" else "14", "apple-clang": "13.1", } if Version(self.version) >= "1.9.0": diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b7b45251fb8a4..e31effcfe238e 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,8 @@ versions: + "2.1.7": + folder: all + "2.1.6": + folder: all "2.1.4": folder: all "2.1.0": From c238545a5b6dc605bf321a8738bf68b927357569 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 26 Feb 2024 07:58:48 +0100 Subject: [PATCH 3764/4087] fix config validate infra entry (#22870) Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 2 +- .c3i/config_v2.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 6bb2f823e1899..ae8f0a7b717cf 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -74,7 +74,7 @@ tasks: validate_infrastructure: macos_executors: 2 windows_executors: 4 - open_docs_pull-request: true + create_docs_pull-request: true # Profile configurations to build packages configurations: diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 765cbc758a9e0..ce873ee6cf673 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -66,7 +66,7 @@ tasks: validate_infrastructure: macos_executors: 2 windows_executors: 4 - open_docs_pull-request: false + create_docs_pull-request: false configurations: - id: linux-gcc From 762c212e2e72629c3572e80c7b6fd981647c0b71 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 26 Feb 2024 09:04:33 +0100 Subject: [PATCH 3765/4087] (#21764) avoid meson creating pycache files, corrupt the package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/meson/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/meson/all/conanfile.py b/recipes/meson/all/conanfile.py index e2d65a1b60825..f11560d3a45d0 100644 --- a/recipes/meson/all/conanfile.py +++ b/recipes/meson/all/conanfile.py @@ -44,11 +44,13 @@ def package(self): # create wrapper scripts save(self, os.path.join(self.package_folder, "bin", "meson.cmd"), textwrap.dedent("""\ @echo off + set PYTHONDONTWRITEBYTECODE=1 CALL python %~dp0/meson.py %* """)) save(self, os.path.join(self.package_folder, "bin", "meson"), textwrap.dedent("""\ #!/usr/bin/env bash meson_dir=$(dirname "$0") + export PYTHONDONTWRITEBYTECODE=1 exec "$meson_dir/meson.py" "$@" """)) From 148835788c1fc8814de32c270acbd554a5a8c534 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Mon, 26 Feb 2024 10:08:25 +0100 Subject: [PATCH 3766/4087] (#22893) hictk: add v0.0.9 --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index c0ae183d99318..ef016828b80db 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.9": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.9.tar.gz" + sha256: "c64cb07a057863baa199b9d344b27b8f15a1db458390ccf7b5cac0627308d8c8" "0.0.8": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.8.tar.gz" sha256: "4bdadf49cb053731ea31f50312c9e4fcbcdcbaf94c39715f7b325641629bed4b" diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 460eb40585b0b..0677603a25aa5 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.9": + folder: all "0.0.8": folder: all "0.0.3": From 5ce904c44cbc906a1d13a06e4d49c55d1a361cfe Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 26 Feb 2024 11:04:45 +0100 Subject: [PATCH 3767/4087] (#19950) OpenImageIO: conan 2 support, old version cleanup & version 2.4.17.0 & 2.5.6.0 added MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Convert OpenImageIO to build with conan 2.0 Initial conversion to Conan 2.0 based on existing Conan 1.0 receip. Updating to OIIO 2.4.15.0 additionally to include patches integrated since last version. * Fix ptex dependency linking/include directory * Update license info to Apache 2 * Convert OpenImageIO to build with conan 2.0 Initial conversion to Conan 2.0 based on existing Conan 1.0 receip. Updating to OIIO 2.4.15.0 additionally to include patches integrated since last version. * Fix ptex dependency linking/include directory * Update license info to Apache 2 * Small cleanup * Fix linter warning for new conanfile * Rename legacy back to all to keep existing files untouched * Update dependencies * Roll back opencolorio change * Bump WebP to 1.3.2 which includes an important security fix * Bump zlib requirement to range style * Cleanup * OpenColorIO version prepared in separate branch * Prepare for ffmpeg/6.0.1 * Try to add Conan v2 and adding latest 2.4.17.0 version * Fix config.yml * Fixed cmake targets patch * Cleanup old versions to reduce the number of needed changes to make everything work again * Apply changes to old and current patches to ensure correct Cmake target use * Fix build for 2.4.7.1 (locally now building with conan 1 and 2) * Fix linking to ensure that the conan fmt is used, build before due to system fmt * Add OpenImageIO 2.5.6.0 * Fix ffmpeg requirement for old OIIO version + bump openexr * Add version to config * Remove accidential blank line * Fix patches for correct libheif linking * Improve some includes and if-conditions * Small fixes in test package & patches * Add fmt required * Set fmt transitive * Set transitive * Transitive imath * OpenColorIO 2.3.1 & attempted fix for test package * Attempted fix for requires * Trying lower case imath requirement * Update recipes/openimageio/all/conanfile.py Impelment suggested change Co-authored-by: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> * Update recipes/openimageio/all/conanfile.py Try to fix windows build errors (aka unintentionally included VC library redistribution) Co-authored-by: Julien Marrec * Import rm * Fix license info * Fix test package path * Try to bypass windows path problem * Fix test path * Adapt test package to package template * Match freetype version of ffmpeg * Adapt to style comments for variable names * Remove old version that requires a missing ffmpeg build of version 4.4.4 * Try bumping all dependencies * Version range for libpng * Apply suggestions from code review Co-authored-by: Rubén Rincón Blanco * Remove testing option * Update recipes/openimageio/all/test_v1_package/CMakeLists.txt * Update recipes/openimageio/all/test_package/CMakeLists.txt --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries Co-authored-by: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Co-authored-by: Julien Marrec Co-authored-by: Rubén Rincón Blanco --- recipes/openimageio/all/CMakeLists.txt | 19 - recipes/openimageio/all/conandata.yml | 38 +- recipes/openimageio/all/conanfile.py | 284 ++++--- .../all/patches/2.2.18.0-cmake-targets.patch | 711 ------------------ .../all/patches/2.2.7.0-cmake-targets.patch | 673 ----------------- .../all/patches/2.3.7.2-cmake-targets.patch | 710 ----------------- .../all/patches/2.4.17.0-cmake-targets.patch | 456 +++++++++++ .../all/patches/2.4.7.1-cmake-targets.patch | 40 +- .../all/patches/2.5.6.0-cmake-targets.patch | 515 +++++++++++++ .../all/test_package/CMakeLists.txt | 11 +- .../openimageio/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 11 + .../all/test_v1_package/conanfile.py | 16 + .../all/test_v1_package/test_package.cpp | 9 + recipes/openimageio/config.yml | 8 +- 15 files changed, 1214 insertions(+), 2308 deletions(-) delete mode 100644 recipes/openimageio/all/CMakeLists.txt delete mode 100644 recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch delete mode 100644 recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch delete mode 100644 recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch create mode 100644 recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch create mode 100644 recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch create mode 100644 recipes/openimageio/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openimageio/all/test_v1_package/conanfile.py create mode 100644 recipes/openimageio/all/test_v1_package/test_package.cpp diff --git a/recipes/openimageio/all/CMakeLists.txt b/recipes/openimageio/all/CMakeLists.txt deleted file mode 100644 index 62d9f71f06583..0000000000000 --- a/recipes/openimageio/all/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include("conanbuildinfo.cmake") -conan_basic_setup(KEEP_RPATHS) - -include_directories( - BEFORE - # OIIO uses CMAKE_BINARY_DIR, we need to set include dirs - # in order to be able to use add_subdirectory - "${CMAKE_BINARY_DIR}/source_subfolder/src/include" - "${CMAKE_BINARY_DIR}/source_subfolder/include" - # Same as above but for CMAKE_SOURCE_DIR - "${CMAKE_SOURCE_DIR}/source_subfolder/src/include" -) - -set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP YES) - -add_subdirectory(source_subfolder) diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index f652a05c49a38..9ae019a09b59e 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -1,32 +1,26 @@ sources: - "2.2.7.0": - url: "https://github.com/OpenImageIO/oiio/archive/Release-2.2.7.0.tar.gz" - sha256: "857ac83798d6d2bda5d4d11a90618ff19486da2e5a4c4ff022c5976b5746fe8c" - "2.2.18.0": - url: "https://github.com/OpenImageIO/oiio/archive/refs/tags/v2.2.18.0.tar.gz" - sha256: "72597619f09b60cc2afc18f378b40fbec62701112957f43cff162dd9a52a26ce" - "2.3.7.2": - url: "https://github.com/OpenImageIO/oiio/archive/refs/tags/v2.3.7.2.tar.gz" - sha256: "829c05d17610f1156c2a777310f4709b81f3a302fd11e3999ea4a865a5b4a5d3" "2.4.7.1": - url: "https://github.com/OpenImageIO/oiio/archive/refs/tags/v2.4.7.1.tar.gz" - sha256: "fd298f71e44c6776863db4b37c4a1388dba0d2eb37378afea95ab07a7cd6ecd4" + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.4.7.1.tar.gz" + sha256: "a3dc6fdb3693eb5f1e22191e41c05800a4944f3c76daffe90bd203f956180126" + "2.4.17.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.4.17.0.tar.gz" + sha256: "7fe81d8e5bce30cc4a212f020ac3cc4344e6b7c1c0842475e3a048515099c65c" + "2.5.6.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.6.0.tar.gz" + sha256: "bcfced40a25ef8576383b44d8bbe3732aa2b8efc7b8614482783d6f90378d307" patches: - "2.2.7.0": - - patch_file: "patches/2.2.7.0-cmake-targets.patch" - base_path: "source_subfolder" - "2.2.18.0": - - patch_file: "patches/2.2.18.0-cmake-targets.patch" - base_path: "source_subfolder" - "2.3.7.2": - - patch_file: "patches/2.3.7.2-cmake-targets.patch" - base_path: "source_subfolder" "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" - base_path: "source_subfolder" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" - patch_file: "patches/2.4.7.1-fix-msvc2017.patch" - base_path: "source_subfolder" patch_description: "Fix compile error with MSVC 2017" patch_type: "official" + "2.4.17.0": + - patch_file: "patches/2.4.17.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" + "2.5.6.0": + - patch_file: "patches/2.5.6.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" diff --git a/recipes/openimageio/all/conanfile.py b/recipes/openimageio/all/conanfile.py index f741a725420ff..16fa1a05a98b9 100644 --- a/recipes/openimageio/all/conanfile.py +++ b/recipes/openimageio/all/conanfile.py @@ -1,10 +1,10 @@ +from conan import ConanFile from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rm, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime -from conan import ConanFile, Version -from conan.tools import files +from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -from conans import CMake -import functools import os required_conan_version = ">=1.53.0" @@ -19,7 +19,7 @@ class OpenImageIOConan(ConanFile): "professional, large-scale animation and visual effects work for film." ) topics = ("vfx", "image", "picture") - license = "BSD-3-Clause" + license = "Apache-2.0", "BSD-3-Clause" homepage = "http://www.openimageio.org/" url = "https://github.com/conan-io/conan-center-index" @@ -65,21 +65,8 @@ class OpenImageIOConan(ConanFile): "with_libwebp": True, } - short_paths = True - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -87,236 +74,235 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): # Required libraries - self.requires("zlib/1.2.13") - self.requires("boost/1.78.0") - self.requires("libtiff/4.5.1") - self.requires("openexr/2.5.7") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("boost/1.84.0") + self.requires("libtiff/4.6.0") + self.requires("imath/3.1.9", transitive_headers=True) + self.requires("openexr/3.2.1") if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - self.requires("pugixml/1.12.1") + self.requires("libjpeg-turbo/3.0.2") + self.requires("pugixml/1.14") self.requires("libsquish/1.15") - self.requires("tsl-robin-map/1.0.1") - self.requires("fmt/8.1.1") + self.requires("tsl-robin-map/1.2.1") + if Version(self.version) >= "2.4.17.0": + self.requires("fmt/10.2.1", transitive_headers=True) + else: + self.requires("fmt/9.1.0", transitive_headers=True) # Optional libraries if self.options.with_libpng: - self.requires("libpng/1.6.40") + self.requires("libpng/1.6.42") if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.with_hdf5: - self.requires("hdf5/1.12.1") + self.requires("hdf5/1.14.3") if self.options.with_opencolorio: - if Version(self.version) < "2.3.7.2": - self.requires("opencolorio/1.1.1") - else: - self.requires("opencolorio/2.1.0") + self.requires("opencolorio/2.3.1") if self.options.with_opencv: - self.requires("opencv/4.5.5") + self.requires("opencv/4.8.1") if self.options.with_tbb: - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") if self.options.with_dicom: - self.requires("dcmtk/3.6.6") + self.requires("dcmtk/3.6.7") if self.options.with_ffmpeg: - self.requires("ffmpeg/4.4") + self.requires("ffmpeg/6.1") # TODO: Field3D dependency if self.options.with_giflib: self.requires("giflib/5.2.1") if self.options.with_libheif: - self.requires("libheif/1.12.0") + self.requires("libheif/1.16.2") if self.options.with_raw: - self.requires("libraw/0.20.2") + self.requires("libraw/0.21.2") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_openvdb: self.requires("openvdb/8.0.1") if self.options.with_ptex: - self.requires("ptex/2.4.0") + self.requires("ptex/2.4.2") if self.options.with_libwebp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") # TODO: R3DSDK dependency # TODO: Nuke dependency def validate(self): - if self.settings.compiler.get_safe("cppstd"): - if Version(self.version) >= "2.3.0.0" or self.options.with_openvdb: - check_min_cppstd(self, 14) - else: - check_min_cppstd(self, 11) + if self.settings.compiler.cppstd: + check_min_cppstd(self, 14) if is_msvc(self) and is_msvc_static_runtime(self) and self.options.shared: raise ConanInvalidConfiguration( "Building shared library with static runtime is not supported!" ) - def source(self): - files.get( - self, - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder - ) + def layout(self): + cmake_layout(self, src_folder="src") - def _patch_sources(self): - files.apply_conandata_patches(self) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) # CMake options - cmake.definitions["CMAKE_DEBUG_POSTFIX"] = "" # Needed for 2.3.x.x+ versions - cmake.definitions["OIIO_BUILD_TOOLS"] = True - cmake.definitions["OIIO_BUILD_TESTS"] = False - cmake.definitions["BUILD_DOCS"] = False - cmake.definitions["INSTALL_DOCS"] = False - cmake.definitions["INSTALL_FONTS"] = False - cmake.definitions["INSTALL_CMAKE_HELPER"] = False - cmake.definitions["EMBEDPLUGINS"] = True - cmake.definitions["USE_PYTHON"] = False - cmake.definitions["USE_EXTERNAL_PUGIXML"] = True + tc.variables["CMAKE_DEBUG_POSTFIX"] = "" # Needed for 2.3.x.x+ versions + tc.variables["OIIO_BUILD_TOOLS"] = True + tc.variables["OIIO_BUILD_TESTS"] = False + tc.variables["BUILD_DOCS"] = False + tc.variables["INSTALL_DOCS"] = False + tc.variables["INSTALL_FONTS"] = False + tc.variables["INSTALL_CMAKE_HELPER"] = False + tc.variables["EMBEDPLUGINS"] = True + tc.variables["USE_PYTHON"] = False + tc.variables["USE_EXTERNAL_PUGIXML"] = True + tc.variables["BUILD_MISSING_FMT"] = False + + # Conan is normally not used for testing, so fixing this option to not build the tests + tc.variables["BUILD_TESTING"] = False # OIIO CMake files are patched to check USE_* flags to require or not use dependencies - cmake.definitions["USE_JPEGTURBO"] = ( + tc.variables["USE_JPEGTURBO"] = ( self.options.with_libjpeg == "libjpeg-turbo" ) - cmake.definitions[ + tc.variables[ "USE_JPEG" ] = True # Needed for jpeg.imageio plugin, libjpeg/libjpeg-turbo selection still works - cmake.definitions["USE_HDF5"] = self.options.with_hdf5 - cmake.definitions["USE_OPENCOLORIO"] = self.options.with_opencolorio - cmake.definitions["USE_OPENCV"] = self.options.with_opencv - cmake.definitions["USE_TBB"] = self.options.with_tbb - cmake.definitions["USE_DCMTK"] = self.options.with_dicom - cmake.definitions["USE_FFMPEG"] = self.options.with_ffmpeg - cmake.definitions["USE_FIELD3D"] = False - cmake.definitions["USE_GIF"] = self.options.with_giflib - cmake.definitions["USE_LIBHEIF"] = self.options.with_libheif - cmake.definitions["USE_LIBRAW"] = self.options.with_raw - cmake.definitions["USE_OPENVDB"] = self.options.with_openvdb - cmake.definitions["USE_PTEX"] = self.options.with_ptex - cmake.definitions["USE_R3DSDK"] = False - cmake.definitions["USE_NUKE"] = False - cmake.definitions["USE_OPENGL"] = False - cmake.definitions["USE_QT"] = False - cmake.definitions["USE_LIBPNG"] = self.options.with_libpng - cmake.definitions["USE_FREETYPE"] = self.options.with_freetype - cmake.definitions["USE_LIBWEBP"] = self.options.with_libwebp - cmake.definitions["USE_OPENJPEG"] = self.options.with_openjpeg - - if self.options.with_openvdb: - cmake.definitions["CMAKE_CXX_STANDARD"] = 14 + tc.variables["USE_HDF5"] = self.options.with_hdf5 + tc.variables["USE_OPENCOLORIO"] = self.options.with_opencolorio + tc.variables["USE_OPENCV"] = self.options.with_opencv + tc.variables["USE_TBB"] = self.options.with_tbb + tc.variables["USE_DCMTK"] = self.options.with_dicom + tc.variables["USE_FFMPEG"] = self.options.with_ffmpeg + tc.variables["USE_FIELD3D"] = False + tc.variables["USE_GIF"] = self.options.with_giflib + tc.variables["USE_LIBHEIF"] = self.options.with_libheif + tc.variables["USE_LIBRAW"] = self.options.with_raw + tc.variables["USE_OPENVDB"] = self.options.with_openvdb + tc.variables["USE_PTEX"] = self.options.with_ptex + tc.variables["USE_R3DSDK"] = False + tc.variables["USE_NUKE"] = False + tc.variables["USE_OPENGL"] = False + tc.variables["USE_QT"] = False + tc.variables["USE_LIBPNG"] = self.options.with_libpng + tc.variables["USE_FREETYPE"] = self.options.with_freetype + tc.variables["USE_LIBWEBP"] = self.options.with_libwebp + tc.variables["USE_OPENJPEG"] = self.options.with_openjpeg - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.generate() + cd = CMakeDeps(self) + cd.generate() def build(self): - self._patch_sources() - - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + copy(self, "LICENSE*.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + if self.settings.os == "Windows": + for vc_file in ("concrt", "msvcp", "vcruntime"): + rm(self, f"{vc_file}*.dll", os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - files.rmdir(self, os.path.join(self.package_folder, "share")) + @staticmethod + def _conan_comp(name): + return f"openimageio_{name.lower()}" - self.copy("LICENSE.md", src=self._source_subfolder, dst="licenses") + def _add_component(self, name): + component = self.cpp_info.components[self._conan_comp(name)] + component.set_property("cmake_target_name", f"OpenImageIO::{name}") + component.names["cmake_find_package"] = name + component.names["cmake_find_package_multi"] = name + return component def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenImageIO") - self.cpp_info.set_property("cmake_target_name", "OpenImageIO::OpenImageIO") self.cpp_info.set_property("pkg_config_name", "OpenImageIO") - self.cpp_info.components["openimageio_util"].set_property( - "cmake_target_name", "OpenImageIO::OpenImageIO_Util" - ) - self.cpp_info.components["openimageio_util"].libs = ["OpenImageIO_Util"] - self.cpp_info.components["openimageio_util"].requires = [ + self.cpp_info.names["cmake_find_package"] = "OpenImageIO" + self.cpp_info.names["cmake_find_package_multi"] = "OpenImageIO" + + # OpenImageIO::OpenImageIO_Util + open_image_io_util = self._add_component("OpenImageIO_Util") + open_image_io_util.libs = ["OpenImageIO_Util"] + open_image_io_util.requires = [ "boost::filesystem", "boost::thread", "boost::system", "boost::regex", + "imath::imath", "openexr::openexr", ] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["openimageio_util"].system_libs.extend( + open_image_io_util.system_libs.extend( ["dl", "m", "pthread"] ) + if self.options.with_tbb: + open_image_io_util.requires.append("onetbb::onetbb") - self.cpp_info.components["main"].set_property( - "cmake_target_name", "OpenImageIO::OpenImageIO" - ) - self.cpp_info.components["main"].set_property("pkg_config_name", "OpenImageIO") - self.cpp_info.components["main"].libs = ["OpenImageIO"] - self.cpp_info.components["main"].requires = [ - "openimageio_util", + # OpenImageIO::OpenImageIO + open_image_io = self._add_component("OpenImageIO") + open_image_io.libs = ["OpenImageIO"] + open_image_io.requires = [ + "openimageio_openimageio_util", "zlib::zlib", "boost::thread", "boost::system", "boost::container", "boost::regex", "libtiff::libtiff", - "openexr::openexr", "pugixml::pugixml", "tsl-robin-map::tsl-robin-map", "libsquish::libsquish", "fmt::fmt", + "imath::imath", + "openexr::openexr", ] + if self.options.with_libjpeg == "libjpeg": - self.cpp_info.components["main"].requires.append("libjpeg::libjpeg") + open_image_io.requires.append("libjpeg::libjpeg") elif self.options.with_libjpeg == "libjpeg-turbo": - self.cpp_info.components["main"].requires.append( + open_image_io.requires.append( "libjpeg-turbo::libjpeg-turbo" ) if self.options.with_libpng: - self.cpp_info.components["main"].requires.append("libpng::libpng") + open_image_io.requires.append("libpng::libpng") if self.options.with_freetype: - self.cpp_info.components["main"].requires.append("freetype::freetype") + open_image_io.requires.append("freetype::freetype") if self.options.with_hdf5: - self.cpp_info.components["main"].requires.append("hdf5::hdf5") + open_image_io.requires.append("hdf5::hdf5") if self.options.with_opencolorio: - self.cpp_info.components["main"].requires.append("opencolorio::opencolorio") + open_image_io.requires.append("opencolorio::opencolorio") if self.options.with_opencv: - self.cpp_info.components["main"].requires.append("opencv::opencv") - if self.options.with_tbb: - self.cpp_info.components["openimageio_util"].requires.append("onetbb::onetbb") + open_image_io.requires.append("opencv::opencv") if self.options.with_dicom: - self.cpp_info.components["main"].requires.append("dcmtk::dcmtk") + open_image_io.requires.append("dcmtk::dcmtk") if self.options.with_ffmpeg: - self.cpp_info.components["main"].requires.append("ffmpeg::ffmpeg") + open_image_io.requires.append("ffmpeg::ffmpeg") if self.options.with_giflib: - self.cpp_info.components["main"].requires.append("giflib::giflib") + open_image_io.requires.append("giflib::giflib") if self.options.with_libheif: - self.cpp_info.components["main"].requires.append("libheif::libheif") + open_image_io.requires.append("libheif::libheif") if self.options.with_raw: - self.cpp_info.components["main"].requires.append("libraw::libraw") + open_image_io.requires.append("libraw::libraw") if self.options.with_openjpeg: - self.cpp_info.components["main"].requires.append("openjpeg::openjpeg") + open_image_io.requires.append("openjpeg::openjpeg") if self.options.with_openvdb: - self.cpp_info.components["main"].requires.append("openvdb::openvdb") + open_image_io.requires.append("openvdb::openvdb") if self.options.with_ptex: - self.cpp_info.components["main"].requires.append("ptex::ptex") + open_image_io.requires.append("ptex::ptex") if self.options.with_libwebp: - self.cpp_info.components["main"].requires.append("libwebp::libwebp") + open_image_io.requires.append("libwebp::libwebp") if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["main"].system_libs.extend(["dl", "m", "pthread"]) + open_image_io.system_libs.extend(["dl", "m", "pthread"]) if not self.options.shared: - self.cpp_info.components["main"].defines.append("OIIO_STATIC_DEFINE") - - # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed - self.cpp_info.names["cmake_find_package"] = "OpenImageIO" - self.cpp_info.names["cmake_find_package_multi"] = "OpenImageIO" - self.cpp_info.names["pkg_config"] = "OpenImageIO" - self.cpp_info.components["openimageio_util"].names[ - "cmake_find_package" - ] = "OpenImageIO_Util" - self.cpp_info.components["main"].names["cmake_find_package"] = "OpenImageIO" + open_image_io.defines.append("OIIO_STATIC_DEFINE") diff --git a/recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch deleted file mode 100644 index 395bff8a6bd10..0000000000000 --- a/recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch +++ /dev/null @@ -1,711 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ccda926b..24b26b8f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -99,7 +99,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") - - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ # "${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -179,7 +179,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ # add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 8747f506..503e2a55 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -92,7 +92,7 @@ if (NOT MSVC) - add_compile_options ("-Wextra") - endif () - if (STOP_ON_WARNING OR DEFINED ENV{CI}) -- add_compile_options ("-Werror") -+ # add_compile_options ("-Werror") - # N.B. Force CI builds to use -Werror, even if STOP_ON_WARNING has - # been switched off by default, which we may do in release - # branches. -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 21e18b53..605d247a 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -46,7 +46,7 @@ endif () - if (MSVC) - # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: - if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -+ # add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - endif () - -@@ -55,7 +55,7 @@ if (BOOST_CUSTOM) - # N.B. For a custom version, the caller had better set up the variables - # Boost_VERSION, Boost_INCLUDE_DIRS, Boost_LIBRARY_DIRS, Boost_LIBRARIES. - else () -- set (Boost_COMPONENTS filesystem system thread) -+ set (Boost_COMPONENTS filesystem system thread container) - if (NOT USE_STD_REGEX) - list (APPEND Boost_COMPONENTS regex) - endif () -@@ -106,16 +106,16 @@ checked_find_package (OpenEXR REQUIRED - # library. This shoudn't be necessary, except for the common case of people - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. --include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) -+# include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) -+if (CMAKE_COMPILER_IS_CLANG AND OpenEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) - endif () - if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+ # add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - --if (OPENEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) -+if (OpenEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) - set (OIIO_USING_IMATH 3) - else () - set (OIIO_USING_IMATH 2) -@@ -123,12 +123,15 @@ endif () - - - # JPEG -- prefer Turbo-JPEG to regular libjpeg --checked_find_package (JPEGTurbo -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED - DEFINITIONS -DUSE_JPEG_TURBO=1 -- PRINT JPEG_INCLUDES JPEG_INCLUDE_DIRS -- JPEG_LIBRARIES) --if (NOT JPEG_FOUND) # Try to find the non-turbo version -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -144,60 +147,83 @@ else () - endif() - - # From pythonutils.cmake --find_python() -+# find_python() - - - ########################################################################### - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -- --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) - endif () - --checked_find_package (Freetype -+# checked_find_package (BZip2) # Used by ffmpeg and freetype -+# if (NOT BZIP2_FOUND) -+# set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+# endif () -+ -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED - DEFINITIONS -DUSE_FREETYPE=1 ) -+endif () - --checked_find_package (HDF5 -+if (USE_HDF5) -+ checked_find_package (HDF5 REQUIRED - ISDEPOF Field3D) --checked_find_package (OpenColorIO -+endif () -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1) --checked_find_package (OpenCV -+endif () -+if (USE_OPENCV) -+ checked_find_package (OpenCV REQUIRED - DEFINITIONS -DUSE_OPENCV=1) -+endif () - - # Intel TBB - set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -+if (USE_TBB) -+ checked_find_package (TBB 2017 REQUIRED - DEFINITIONS -DUSE_TBB=1 - PREFER_CONFIG) -+endif () - --checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images --checked_find_package (FFmpeg VERSION_MIN 2.6) --checked_find_package (Field3D -+if (USE_DCMTK) -+ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images -+endif () -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg REQUIRED VERSION_MIN 2.6) -+endif () -+if (USE_FIELD3D) -+ checked_find_package (Field3D REQUIRED - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) --checked_find_package (GIF -+endif () -+if (USE_GIF) -+ checked_find_package (GIF REQUIRED - VERSION_MIN 4 - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") -+endif () - - # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -+if (USE_LIBHEIF) -+ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 - RECOMMEND_MIN 1.7 - RECOMMEND_MIN_REASON "for AVIF support") --if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -+endif () -+if (0) - message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") - set (Libheif_FOUND 0) - endif () - --checked_find_package (LibRaw -+if (USE_LIBRAW) -+ checked_find_package (libraw REQUIRED - RECOMMEND_MIN 0.18 -- RECOMMEND_MIN_REASON "for ACES support and better camera metadata" -- PRINT LibRaw_r_LIBRARIES) --if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) -+ RECOMMEND_MIN_REASON "for ACES support and better camera metadata") -+endif () -+if (0) - message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") - # Currently, we issue the above warning and let them take their chances. - # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, -@@ -206,12 +232,15 @@ if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VER - # set (LIBRAW_FOUND 0) - endif () - --checked_find_package (OpenJPEG VERSION_MIN 2.0) -- --checked_find_package (OpenVDB -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG REQUIRED VERSION_MIN 2.0) -+endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB REQUIRED - VERSION_MIN 5.0 - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) -+endif () - if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 8.0 - AND CMAKE_CXX_STANDARD VERSION_LESS 14) - set (OpenVDB_FOUND OFF) -@@ -225,23 +254,32 @@ if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 8.0 - message (STATUS "${ColorRed}Not using OpenVDB -- OpenVDB ${OpenVDB_VERSION} requires C++14 or later. ${ColorReset}") - endif () - --checked_find_package (Ptex PREFER_CONFIG) --if (NOT Ptex_FOUND OR NOT Ptex_VERSION) -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED PREFER_CONFIG) -+endif () -+if (0) - # Fallback for inadequate Ptex exported configs. This will eventually - # disappear when we can 100% trust Ptex's exports. - unset (Ptex_FOUND) - checked_find_package (Ptex) - endif () -- --checked_find_package (WebP) -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif () - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - --checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv -+endif () - - # Qt -- used for iv - set (qt5_modules Core Gui Widgets) -@@ -249,7 +287,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) --checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+if (USE_QT) -+ checked_find_package (Qt5 REQUIRED COMPONENTS ${qt5_modules}) -+endif () - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -@@ -270,13 +310,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -294,7 +334,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - -@@ -304,7 +344,7 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (libsquish) - endif () - - -@@ -325,7 +365,7 @@ macro (find_or_download_fmt) - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. -- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) -+ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) - message (STATUS "Downloading local fmtlib/fmt") - set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") - set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453a..7ff6e9ce 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libsquish_FOUND) -+if (libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES libsquish::libsquish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/dicom.imageio/CMakeLists.txt b/src/dicom.imageio/CMakeLists.txt -index ddd72044..3603eaa3 100644 ---- a/src/dicom.imageio/CMakeLists.txt -+++ b/src/dicom.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (DCMTK_FOUND) - add_oiio_plugin (dicominput.cpp -- INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -- LINK_LIBRARIES ${DCMTK_LIBRARIES} -+ # INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -+ LINK_LIBRARIES DCMTK::DCMTK - DEFINITIONS "-DUSE_DCMTK=1") - else () - message (WARNING "DICOM plugin will not be built, no DCMTK") -diff --git a/src/ffmpeg.imageio/CMakeLists.txt b/src/ffmpeg.imageio/CMakeLists.txt -index 614b8843..0df87825 100644 ---- a/src/ffmpeg.imageio/CMakeLists.txt -+++ b/src/ffmpeg.imageio/CMakeLists.txt -@@ -2,13 +2,13 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (FFmpeg_FOUND) -+if (ffmpeg_FOUND) - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ # INCLUDE_DIRS ${FFMPEG_INCLUDES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale -+ # ${BZIP2_LIBRARIES} - DEFINITIONS "-DUSE_FFMPEG" -- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") -+ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") - endif() -diff --git a/src/gif.imageio/CMakeLists.txt b/src/gif.imageio/CMakeLists.txt -index c9e7392c..eda8b482 100644 ---- a/src/gif.imageio/CMakeLists.txt -+++ b/src/gif.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (GIF_FOUND) - add_oiio_plugin (gifinput.cpp gifoutput.cpp -- INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -- LINK_LIBRARIES ${GIF_LIBRARIES} -+ # INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -+ LINK_LIBRARIES GIF::GIF - DEFINITIONS "-DUSE_GIF") - else() - message (WARNING "GIF plugin will not be built") -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed80015..2593f585 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES libheif::libheif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/igrep/CMakeLists.txt b/src/igrep/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/igrep/CMakeLists.txt -+++ b/src/igrep/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/iinfo/CMakeLists.txt b/src/iinfo/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/iinfo/CMakeLists.txt -+++ b/src/iinfo/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt -index 1ea81b64..248e8a25 100644 ---- a/src/include/CMakeLists.txt -+++ b/src/include/CMakeLists.txt -@@ -56,17 +56,20 @@ install (FILES ${detail_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail - COMPONENT developer) - -+set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers - ${FMT_INCLUDES}/fmt/core.h - ${FMT_INCLUDES}/fmt/format-inl.h - ${FMT_INCLUDES}/fmt/format.h - ${FMT_INCLUDES}/fmt/ostream.h - ${FMT_INCLUDES}/fmt/printf.h ) -+if (0) - file (COPY ${fmt_headers} - DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) - install (FILES ${fmt_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail/fmt - COMPONENT developer) -+endif () - - if (NOT USE_EXTERNAL_PUGIXML) - set (pugixml_headers -diff --git a/src/include/OpenImageIO/strutil.h b/src/include/OpenImageIO/strutil.h -index ed68af14..34b83220 100644 ---- a/src/include/OpenImageIO/strutil.h -+++ b/src/include/OpenImageIO/strutil.h -@@ -41,9 +41,9 @@ - #ifndef FMT_USE_GRISU - # define FMT_USE_GRISU 1 - #endif --#include "detail/fmt/ostream.h" --#include "detail/fmt/format.h" --#include "detail/fmt/printf.h" -+#include -+#include -+#include - #if OIIO_GNUC_VERSION >= 70000 - # pragma GCC diagnostic pop - #endif -diff --git a/src/jpeg.imageio/CMakeLists.txt b/src/jpeg.imageio/CMakeLists.txt -index 15d50cad..83830cd2 100644 ---- a/src/jpeg.imageio/CMakeLists.txt -+++ b/src/jpeg.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (jpeginput.cpp jpegoutput.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -+ LINK_LIBRARIES JPEG::JPEG) -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 575ed0b7..5644bcf3 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OPENJPEG_FOUND) -+if (OpenJPEG_FOUND) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ # INCLUDE_DIRS ${OPENJPEG_INCLUDES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index 29923b60..77035aa7 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -136,37 +136,42 @@ endif () - target_link_libraries (OpenImageIO - PUBLIC - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - # For OpenEXR/Imath 3.x: -- $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::OpenEXR> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:OpenEXR::IlmImf> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:OpenEXR::IlmImf> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${OPENEXR_LIBRARIES} -- ${OpenCV_LIBRARIES} -+ # ${OPENEXR_LIBRARIES} -+ # ${OpenCV_LIBRARIES} - ${SANITIZE_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins -+ tsl::robin_map - $<$:OpenColorIO::OpenColorIO> -- $<$:OpenColorIO::OpenColorIOHeaders> -+ # $<$:OpenColorIO::OpenColorIOHeaders> - $<$:pugixml::pugixml> -- ${BZIP2_LIBRARIES} -+ # ${BZIP2_LIBRARIES} - ZLIB::ZLIB -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system Boost::container - ${CMAKE_DL_LIBS} - ) - --if (FREETYPE_FOUND) -- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) -+if (OpenCV_FOUND) -+ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) -+endif () -+ -+if (Freetype_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) - endif() - - if (WIN32) -diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt -index 25d76e5c..c1950e81 100644 ---- a/src/libutil/CMakeLists.txt -+++ b/src/libutil/CMakeLists.txt -@@ -14,19 +14,19 @@ target_include_directories (OpenImageIO_Util - target_link_libraries (OpenImageIO_Util - PUBLIC - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system Boost::regex - ${CMAKE_DL_LIBS} - ) - -diff --git a/src/oiiotool/CMakeLists.txt b/src/oiiotool/CMakeLists.txt -index e281d3f8..0fb1b425 100644 ---- a/src/oiiotool/CMakeLists.txt -+++ b/src/oiiotool/CMakeLists.txt -@@ -4,8 +4,8 @@ - - fancy_add_executable (LINK_LIBRARIES - OpenImageIO -- ${Boost_LIBRARIES} # because regex -- $<$:OpenEXR::OpenEXR> -- $<$:OpenEXR::IlmImf> -- ${OPENEXR_LIBRARIES} -+ Boost::regex # because regex -+ # $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::IlmImf> -+ OpenEXR::OpenEXR - ) -diff --git a/src/openexr.imageio/CMakeLists.txt b/src/openexr.imageio/CMakeLists.txt -index 30758836..1a4d2077 100644 ---- a/src/openexr.imageio/CMakeLists.txt -+++ b/src/openexr.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (exrinput.cpp exroutput.cpp -- INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ # INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -+ LINK_LIBRARIES OpenEXR::OpenEXR) - -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f625..34866390 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OpenVDB_FOUND) -+if (OpenVDB_FOUND AND TBB_FOUND) - add_oiio_plugin (openvdbinput.cpp -- INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ # INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -+ LINK_LIBRARIES OpenVDB::OpenVDB TBB::TBB) - endif() -diff --git a/src/psd.imageio/CMakeLists.txt b/src/psd.imageio/CMakeLists.txt -index 48bf24fb..7e1d9257 100644 ---- a/src/psd.imageio/CMakeLists.txt -+++ b/src/psd.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (psdinput.cpp jpeg_memory_src.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) - -diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt -index 2f47527a..1c3c9800 100644 ---- a/src/ptex.imageio/CMakeLists.txt -+++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Ptex_FOUND) -+if (PTex_FOUND) - add_oiio_plugin (ptexinput.cpp -- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB -+ LINK_LIBRARIES PTex::PTex ZLIB::ZLIB - DEFINITIONS "-DUSE_PTEX") - endif () -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index d235fd9d..ae229e31 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -2,11 +2,11 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (LIBRAW_FOUND) -+if (libraw_FOUND) - add_oiio_plugin (rawinput.cpp -- INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -- DEFINITIONS "-DUSE_LIBRAW=1" ${LibRaw_r_DEFINITIONS}) -+ # INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -+ LINK_LIBRARIES libraw::libraw -+ DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") - endif () -diff --git a/src/tiff.imageio/CMakeLists.txt b/src/tiff.imageio/CMakeLists.txt -index ab94d56d..05820e8f 100644 ---- a/src/tiff.imageio/CMakeLists.txt -+++ b/src/tiff.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (tiffinput.cpp tiffoutput.cpp -- INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -- LINK_LIBRARIES ${TIFF_LIBRARIES} ${JPEG_LIBRARIES} -+ # INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -+ LINK_LIBRARIES TIFF::TIFF JPEG::JPEG - ZLIB::ZLIB) -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 44462c49..78fe1a58 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -4,7 +4,7 @@ - - if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES WebP::WebP WebP::WebPDemux -+ LINK_LIBRARIES WebP::WebP - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") diff --git a/recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch deleted file mode 100644 index 7e2a6e4da94b3..0000000000000 --- a/recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch +++ /dev/null @@ -1,673 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 447c6170..702fb50b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -99,7 +99,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") - - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ # "${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -172,7 +172,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ #add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 12a8e819..46c1d0f8 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -88,7 +88,7 @@ if (NOT MSVC) - add_compile_options ("-Wextra") - endif () - if (STOP_ON_WARNING OR DEFINED ENV{CI}) -- add_compile_options ("-Werror") -+ # add_compile_options ("-Werror") - # N.B. Force CI builds (Travis defines $CI) to use -Werror, even if - # STOP_ON_WARNING has been switched off by default, which we may do - # in release branches. -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 03d521dc..9fe73388 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -39,7 +39,7 @@ if (LINKSTATIC) - endif () - else () - if (MSVC) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -+ # add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - endif () - if (BOOST_CUSTOM) -@@ -89,23 +89,27 @@ checked_find_package (OpenEXR 2.0 REQUIRED - RECOMMEND_MIN 2.2 - RECOMMEND_MIN_REASON "for DWA compression") - # We use Imath so commonly, may as well include it everywhere. --include_directories ("${OPENEXR_INCLUDES}" "${ILMBASE_INCLUDES}" -- "${ILMBASE_INCLUDES}/OpenEXR") --if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) -+# include_directories ("${OPENEXR_INCLUDES}" "${ILMBASE_INCLUDES}" -+# "${ILMBASE_INCLUDES}/OpenEXR") -+if (CMAKE_COMPILER_IS_CLANG AND OpenEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) - endif () - if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+ # add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - - - # JPEG -- prefer Turbo-JPEG to regular libjpeg --checked_find_package (JPEGTurbo -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED - DEFINITIONS -DUSE_JPEG_TURBO=1 -- PRINT JPEG_INCLUDES JPEG_LIBRARIES) --if (NOT JPEG_FOUND) # Try to find the non-turbo version -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -123,56 +127,93 @@ endif() - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -- --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) - endif () - --checked_find_package (Freetype -+# checked_find_package (BZip2) # Used by ffmpeg and freetype -+# if (NOT BZIP2_FOUND) -+# set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+# endif () -+ -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED - DEFINITIONS -DUSE_FREETYPE=1 ) -+endif () - --checked_find_package (HDF5 -+if (USE_HDF5) -+ checked_find_package (HDF5 REQUIRED - ISDEPOF Field3D) --checked_find_package (OpenColorIO -+endif () -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1) --checked_find_package (OpenCV -+endif () -+if (USE_OPENCV) -+ checked_find_package (OpenCV REQUIRED - DEFINITIONS -DUSE_OPENCV=1) -+endif () - - # Intel TBB - set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -+if (USE_TBB) -+ checked_find_package (TBB 2017 REQUIRED - DEFINITIONS -DUSE_TBB=1 - ISDEPOF OpenVDB) -+endif () - --checked_find_package (DCMTK 3.6.1) # For DICOM images --checked_find_package (FFmpeg 2.6) --checked_find_package (Field3D -+if (USE_DCMTK) -+ checked_find_package (DCMTK 3.6.1 REQUIRED) # For DICOM images -+endif () -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg 2.6 REQUIRED) -+endif () -+if (USE_FIELD3D) -+ checked_find_package (Field3D REQUIRED - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) --checked_find_package (GIF 4 -+endif () -+if (USE_GIF) -+ checked_find_package (GIF 4 REQUIRED - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") --checked_find_package (Libheif 1.3) # For HEIF/HEIC format --checked_find_package (LibRaw -- PRINT LibRaw_r_LIBRARIES -+endif () -+if (USE_LIBHEIF) -+ checked_find_package (libheif 1.3 REQUIRED) # For HEIF/HEIC format -+endif () -+if (USE_LIBRAW) -+ checked_find_package (libraw REQUIRED - RECOMMEND_MIN 0.18 - RECOMMEND_MIN_REASON "for ACES support") --checked_find_package (OpenJpeg 2.0) --checked_find_package (OpenVDB 5.0 -+endif () -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG 2.0 REQUIRED) -+endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB 5.0 REQUIRED - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) --checked_find_package (PTex) --checked_find_package (Webp) -+endif () -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED) -+endif () -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif () - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - --checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv -+endif () - - # Qt -- used for iv - set (qt5_modules Core Gui Widgets) -@@ -180,7 +221,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) --checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+if (USE_QT) -+ checked_find_package (Qt5 REQUIRED COMPONENTS ${qt5_modules}) -+endif () - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -@@ -201,13 +244,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -225,7 +268,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - -@@ -235,7 +278,7 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (libsquish REQUIRED) - endif () - - -@@ -251,12 +294,12 @@ macro (find_or_download_fmt) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_FMT_FORCE) -- find_package (fmt QUIET) -+ find_package (fmt REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. -- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) -+ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) - message (STATUS "Downloading local fmtlib/fmt") - set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") - set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453a..7ff6e9ce 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libsquish_FOUND) -+if (libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES libsquish::libsquish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/dicom.imageio/CMakeLists.txt b/src/dicom.imageio/CMakeLists.txt -index ddd72044..3603eaa3 100644 ---- a/src/dicom.imageio/CMakeLists.txt -+++ b/src/dicom.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (DCMTK_FOUND) - add_oiio_plugin (dicominput.cpp -- INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -- LINK_LIBRARIES ${DCMTK_LIBRARIES} -+ # INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -+ LINK_LIBRARIES DCMTK::DCMTK - DEFINITIONS "-DUSE_DCMTK=1") - else () - message (WARNING "DICOM plugin will not be built, no DCMTK") -diff --git a/src/dpx.imageio/CMakeLists.txt b/src/dpx.imageio/CMakeLists.txt -index 858beb9d..dd169af4 100644 ---- a/src/dpx.imageio/CMakeLists.txt -+++ b/src/dpx.imageio/CMakeLists.txt -@@ -6,4 +6,4 @@ add_oiio_plugin (dpxinput.cpp dpxoutput.cpp - libdpx/DPX.cpp libdpx/OutStream.cpp libdpx/RunLengthEncoding.cpp - libdpx/Codec.cpp libdpx/Reader.cpp libdpx/Writer.cpp libdpx/DPXHeader.cpp - libdpx/ElementReadStream.cpp libdpx/InStream.cpp libdpx/DPXColorConverter.cpp -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ LINK_LIBRARIES OpenEXR::OpenEXR) -diff --git a/src/ffmpeg.imageio/CMakeLists.txt b/src/ffmpeg.imageio/CMakeLists.txt -index 6cf07636..d3bb5f61 100644 ---- a/src/ffmpeg.imageio/CMakeLists.txt -+++ b/src/ffmpeg.imageio/CMakeLists.txt -@@ -11,11 +11,11 @@ if (NOT MSVC) - PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations") - endif() - --if (FFmpeg_FOUND) -+if (ffmpeg_FOUND) - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ # INCLUDE_DIRS ${FFMPEG_INCLUDES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale -+ # ${BZIP2_LIBRARIES} - DEFINITIONS "-DUSE_FFMPEG") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") -diff --git a/src/gif.imageio/CMakeLists.txt b/src/gif.imageio/CMakeLists.txt -index c9e7392c..eda8b482 100644 ---- a/src/gif.imageio/CMakeLists.txt -+++ b/src/gif.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (GIF_FOUND) - add_oiio_plugin (gifinput.cpp gifoutput.cpp -- INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -- LINK_LIBRARIES ${GIF_LIBRARIES} -+ # INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -+ LINK_LIBRARIES GIF::GIF - DEFINITIONS "-DUSE_GIF") - else() - message (WARNING "GIF plugin will not be built") -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed80015..2593f585 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES libheif::libheif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/ico.imageio/CMakeLists.txt b/src/ico.imageio/CMakeLists.txt -index 5a46174d..a8919f63 100644 ---- a/src/ico.imageio/CMakeLists.txt -+++ b/src/ico.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (PNG_FOUND) - add_oiio_plugin (icoinput.cpp icooutput.cpp -- INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${PNG_LIBRARIES} ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES PNG::PNG ZLIB::ZLIB) - else () - message (WARNING "libpng not found, so ICO support will not work") - set (format_plugin_definitions ${format_plugin_definitions} DISABLE_ICO=1 PARENT_SCOPE) -diff --git a/src/igrep/CMakeLists.txt b/src/igrep/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/igrep/CMakeLists.txt -+++ b/src/igrep/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/iinfo/CMakeLists.txt b/src/iinfo/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/iinfo/CMakeLists.txt -+++ b/src/iinfo/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt -index a60b3b21..050911c8 100644 ---- a/src/include/CMakeLists.txt -+++ b/src/include/CMakeLists.txt -@@ -44,17 +44,20 @@ install (FILES ${public_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} - COMPONENT developer) - -+set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers - ${FMT_INCLUDES}/fmt/core.h - ${FMT_INCLUDES}/fmt/format-inl.h - ${FMT_INCLUDES}/fmt/format.h - ${FMT_INCLUDES}/fmt/ostream.h - ${FMT_INCLUDES}/fmt/printf.h ) -+if (0) - file (COPY ${fmt_headers} - DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) - install (FILES ${fmt_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail/fmt - COMPONENT developer) -+endif () - - if (NOT USE_EXTERNAL_PUGIXML) - set (pugixml_headers -diff --git a/src/include/OpenImageIO/strutil.h b/src/include/OpenImageIO/strutil.h -index db356f03..003df7f8 100644 ---- a/src/include/OpenImageIO/strutil.h -+++ b/src/include/OpenImageIO/strutil.h -@@ -39,9 +39,9 @@ - #ifndef FMT_USE_GRISU - # define FMT_USE_GRISU 1 - #endif --#include "detail/fmt/ostream.h" --#include "detail/fmt/format.h" --#include "detail/fmt/printf.h" -+#include -+#include -+#include - #if OIIO_GNUC_VERSION >= 70000 - # pragma GCC diagnostic pop - #endif -diff --git a/src/jpeg.imageio/CMakeLists.txt b/src/jpeg.imageio/CMakeLists.txt -index 548faeb7..95e4feb5 100644 ---- a/src/jpeg.imageio/CMakeLists.txt -+++ b/src/jpeg.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (jpeginput.cpp jpegoutput.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 575ed0b7..5644bcf3 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OPENJPEG_FOUND) -+if (OpenJPEG_FOUND) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ # INCLUDE_DIRS ${OPENJPEG_INCLUDES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index fe39cdd4..b877cc4d 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -135,31 +135,33 @@ endif () - - target_link_libraries (OpenImageIO - PUBLIC -- ${ILMBASE_LIBRARIES} -- ${OPENEXR_LIBRARIES} -- ${OpenCV_LIBRARIES} -+ OpenEXR::OpenEXR -+ $<$:OpenColorIO::OpenColorIO> - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins -- $<$:OpenColorIO::OpenColorIO> -- ${BZIP2_LIBRARIES} -- ${ZLIB_LIBRARIES} -- ${Boost_LIBRARIES} -+ tsl::robin_map -+ ZLIB::ZLIB -+ Boost::Boost - ${CMAKE_DL_LIBS} - ) - -+if (OpenCV_FOUND) -+ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) -+endif () -+ - if (USE_EXTERNAL_PUGIXML) -- if(TARGET pugixml) -- target_link_libraries (OpenImageIO PRIVATE pugixml) -+ if(pugixml_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE pugixml::pugixml) - else() - target_include_directories (OpenImageIO PRIVATE ${PUGIXML_INCLUDES}) - target_link_libraries (OpenImageIO PRIVATE ${PUGIXML_LIBRARIES}) - endif() - endif() - --if (FREETYPE_FOUND) -- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) -+if (Freetype_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) - endif() - - if (WIN32) -diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt -index 083b077c..4cdd4e6b 100644 ---- a/src/libutil/CMakeLists.txt -+++ b/src/libutil/CMakeLists.txt -@@ -13,11 +13,11 @@ target_include_directories (OpenImageIO_Util - ) - target_link_libraries (OpenImageIO_Util - PUBLIC -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} -- ${Boost_LIBRARIES} -+ Boost::Boost - ${CMAKE_DL_LIBS} - ) - -diff --git a/src/oiiotool/CMakeLists.txt b/src/oiiotool/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/oiiotool/CMakeLists.txt -+++ b/src/oiiotool/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/openexr.imageio/CMakeLists.txt b/src/openexr.imageio/CMakeLists.txt -index 3226eb13..bf8e0358 100644 ---- a/src/openexr.imageio/CMakeLists.txt -+++ b/src/openexr.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (exrinput.cpp exroutput.cpp -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ LINK_LIBRARIES OpenEXR::OpenEXR) - -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f625..61dc2459 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OpenVDB_FOUND) -+if (OpenVDB_FOUND AND TBB_FOUND) - add_oiio_plugin (openvdbinput.cpp -- INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ # INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -+ LINK_LIBRARIES OpenVDB::OpenVDB TBB::TBB Boost::Boost) - endif() -diff --git a/src/png.imageio/CMakeLists.txt b/src/png.imageio/CMakeLists.txt -index be2724f2..ac16da21 100644 ---- a/src/png.imageio/CMakeLists.txt -+++ b/src/png.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (PNG_FOUND) - add_oiio_plugin (pnginput.cpp pngoutput.cpp -- INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${PNG_LIBRARIES} ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES PNG::PNG ZLIB::ZLIB) - else () - message (WARNING "libpng not found, so PNG support will not work") - set (format_plugin_definitions ${format_plugin_definitions} DISABLE_PNG=1 PARENT_SCOPE) -diff --git a/src/psd.imageio/CMakeLists.txt b/src/psd.imageio/CMakeLists.txt -index 48bf24fb..7e1d9257 100644 ---- a/src/psd.imageio/CMakeLists.txt -+++ b/src/psd.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (psdinput.cpp jpeg_memory_src.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) - -diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt -index 912081b1..6039fc58 100644 ---- a/src/ptex.imageio/CMakeLists.txt -+++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (PTEX_FOUND) -+if (PTex_FOUND) - add_oiio_plugin (ptexinput.cpp -- INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${PTEX_INCLUDE_DIR} -- LINK_LIBRARIES ${PTEX_LIBRARIES} ${ZLIB_LIBRARIES} -+ # INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${PTEX_INCLUDE_DIR} -+ LINK_LIBRARIES PTex::PTex ZLIB::ZLIB - DEFINITIONS "-DUSE_PTEX") - endif () -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index 81a0ff54..ae229e31 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (LIBRAW_FOUND) -+if (libraw_FOUND) - add_oiio_plugin (rawinput.cpp -- INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -+ # INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -+ LINK_LIBRARIES libraw::libraw - DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") -diff --git a/src/tiff.imageio/CMakeLists.txt b/src/tiff.imageio/CMakeLists.txt -index f6d648c8..385607c9 100644 ---- a/src/tiff.imageio/CMakeLists.txt -+++ b/src/tiff.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (tiffinput.cpp tiffoutput.cpp -- INCLUDE_DIRS ${TIFF_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${TIFF_LIBRARIES} ${JPEG_LIBRARIES} -- ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${TIFF_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES TIFF::TIFF JPEG::JPEG -+ ZLIB::ZLIB) -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 9e01bd7f..78fe1a58 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Webp_FOUND) -+if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES Webp::Webp -+ LINK_LIBRARIES WebP::WebP - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") -diff --git a/src/zfile.imageio/CMakeLists.txt b/src/zfile.imageio/CMakeLists.txt -index 36a7ad99..c8fd99d3 100644 ---- a/src/zfile.imageio/CMakeLists.txt -+++ b/src/zfile.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (zfile.cpp -- INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES ZLIB::ZLIB) diff --git a/recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch b/recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch deleted file mode 100644 index ba213765c8530..0000000000000 --- a/recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch +++ /dev/null @@ -1,710 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 54fe7d9c..97a1b8e4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,7 +111,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") - - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ # "${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -191,7 +191,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ #add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 2a513f58..13568140 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -92,7 +92,7 @@ if (NOT MSVC) - add_compile_options ("-Wextra") - endif () - if (STOP_ON_WARNING OR DEFINED ENV{CI}) -- add_compile_options ("-Werror") -+ #add_compile_options ("-Werror") - # N.B. Force CI builds to use -Werror, even if STOP_ON_WARNING has - # been switched off by default, which we may do in release - # branches. -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 957abe34..885becbf 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -46,7 +46,7 @@ endif () - if (MSVC) - # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: - if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -+ # add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - endif () - -@@ -55,7 +55,7 @@ if (BOOST_CUSTOM) - # N.B. For a custom version, the caller had better set up the variables - # Boost_VERSION, Boost_INCLUDE_DIRS, Boost_LIBRARY_DIRS, Boost_LIBRARIES. - else () -- set (Boost_COMPONENTS filesystem system thread) -+ set (Boost_COMPONENTS filesystem system thread container) - # The FindBoost.cmake interface is broken if it uses boost's installed - # cmake output (e.g. boost 1.70.0, cmake <= 3.14). Specifically it fails - # to set the expected variables printed below. So until that's fixed -@@ -103,16 +103,16 @@ checked_find_package (OpenEXR REQUIRED - # library. This shoudn't be necessary, except for the common case of people - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. --include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) -+# include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) -+if (CMAKE_COMPILER_IS_CLANG AND OpenEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) - endif () - if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+ # add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - --if (OPENEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) -+if (OpenEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) - set (OIIO_USING_IMATH 3) - else () - set (OIIO_USING_IMATH 2) -@@ -120,12 +120,15 @@ endif () - - - # JPEG -- prefer Turbo-JPEG to regular libjpeg --checked_find_package (JPEGTurbo -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED - DEFINITIONS -DUSE_JPEG_TURBO=1 -- PRINT JPEG_INCLUDES JPEG_INCLUDE_DIRS -- JPEG_LIBRARIES) --if (NOT JPEG_FOUND) # Try to find the non-turbo version -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -141,62 +144,85 @@ else () - endif() - - # From pythonutils.cmake --find_python() -+# find_python() - - - ########################################################################### - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -- --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) - endif () - --checked_find_package (Freetype -+# checked_find_package (BZip2) # Used by ffmpeg and freetype -+# if (NOT BZIP2_FOUND) -+# set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+# endif () -+ -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED - DEFINITIONS -DUSE_FREETYPE=1 ) -+endif () - --checked_find_package (HDF5 -+if (USE_HDF5) -+ checked_find_package (HDF5 REQUIRED - ISDEPOF Field3D) --checked_find_package (OpenColorIO -+endif () -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 - # PREFER_CONFIG - ) --checked_find_package (OpenCV 3.0 -+endif () -+if (USE_OPENCV) -+ checked_find_package (OpenCV 3.0 REQUIRED - DEFINITIONS -DUSE_OPENCV=1) -+endif () - - # Intel TBB - set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -+if (USE_TBB) -+ checked_find_package (TBB 2017 REQUIRED - DEFINITIONS -DUSE_TBB=1 - PREFER_CONFIG) -+endif () - --checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images --checked_find_package (FFmpeg VERSION_MIN 3.0) --checked_find_package (Field3D -+if (USE_DCMTK) -+ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images -+endif () -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) -+endif () -+if (USE_FIELD3D) -+ checked_find_package (Field3D REQUIRED - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) --checked_find_package (GIF -+endif () -+if (USE_GIF) -+ checked_find_package (GIF REQUIRED - VERSION_MIN 4 - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") -+endif () - - # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -+if (USE_LIBHEIF) -+ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 - RECOMMEND_MIN 1.7 - RECOMMEND_MIN_REASON "for AVIF support") --if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -+endif () -+if (0) - message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") - set (Libheif_FOUND 0) - endif () - --checked_find_package (LibRaw -+if (USE_LIBRAW) -+ checked_find_package (libraw REQUIRED - RECOMMEND_MIN 0.18 -- RECOMMEND_MIN_REASON "for ACES support and better camera metadata" -- PRINT LibRaw_r_LIBRARIES) --if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) -+ RECOMMEND_MIN_REASON "for ACES support and better camera metadata") -+endif () -+if (0) - message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") - # Currently, we issue the above warning and let them take their chances. - # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, -@@ -205,30 +231,43 @@ if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VER - # set (LIBRAW_FOUND 0) - endif () - --checked_find_package (OpenJPEG VERSION_MIN 2.0) -- --checked_find_package (OpenVDB -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG REQUIRED VERSION_MIN 2.0) -+endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB REQUIRED - VERSION_MIN 5.0 - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) -+endif () - --checked_find_package (Ptex PREFER_CONFIG) --if (NOT Ptex_FOUND OR NOT Ptex_VERSION) -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED PREFER_CONFIG) -+endif () -+if (0) - # Fallback for inadequate Ptex exported configs. This will eventually - # disappear when we can 100% trust Ptex's exports. - unset (Ptex_FOUND) - checked_find_package (Ptex) - endif () - --checked_find_package (WebP) -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif () - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - --checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv -+endif () - - # Qt -- used for iv - set (qt5_modules Core Gui Widgets) -@@ -236,7 +275,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) --checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+if (USE_QT) -+ checked_find_package (Qt5 REQUIRED COMPONENTS ${qt5_modules}) -+endif () - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -@@ -257,13 +298,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -281,7 +322,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - -@@ -291,7 +332,7 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (libsquish REQUIRED) - endif () - - -@@ -307,12 +348,12 @@ macro (find_or_download_fmt) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_FMT_FORCE) -- find_package (fmt QUIET) -+ find_package (fmt REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. -- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) -+ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) - message (STATUS "Downloading local fmtlib/fmt") - set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") - set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453a..7ff6e9ce 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libsquish_FOUND) -+if (libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES libsquish::libsquish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/dicom.imageio/CMakeLists.txt b/src/dicom.imageio/CMakeLists.txt -index ddd72044..3603eaa3 100644 ---- a/src/dicom.imageio/CMakeLists.txt -+++ b/src/dicom.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (DCMTK_FOUND) - add_oiio_plugin (dicominput.cpp -- INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -- LINK_LIBRARIES ${DCMTK_LIBRARIES} -+ # INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -+ LINK_LIBRARIES DCMTK::DCMTK - DEFINITIONS "-DUSE_DCMTK=1") - else () - message (WARNING "DICOM plugin will not be built, no DCMTK") -diff --git a/src/ffmpeg.imageio/CMakeLists.txt b/src/ffmpeg.imageio/CMakeLists.txt -index 614b8843..0df87825 100644 ---- a/src/ffmpeg.imageio/CMakeLists.txt -+++ b/src/ffmpeg.imageio/CMakeLists.txt -@@ -2,13 +2,13 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (FFmpeg_FOUND) -+if (ffmpeg_FOUND) - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ # INCLUDE_DIRS ${FFMPEG_INCLUDES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale -+ # ${BZIP2_LIBRARIES} - DEFINITIONS "-DUSE_FFMPEG" -- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") -+ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") - endif() -diff --git a/src/gif.imageio/CMakeLists.txt b/src/gif.imageio/CMakeLists.txt -index c9e7392c..eda8b482 100644 ---- a/src/gif.imageio/CMakeLists.txt -+++ b/src/gif.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (GIF_FOUND) - add_oiio_plugin (gifinput.cpp gifoutput.cpp -- INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -- LINK_LIBRARIES ${GIF_LIBRARIES} -+ # INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -+ LINK_LIBRARIES GIF::GIF - DEFINITIONS "-DUSE_GIF") - else() - message (WARNING "GIF plugin will not be built") -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed80015..2593f585 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES libheif::libheif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/igrep/CMakeLists.txt b/src/igrep/CMakeLists.txt -index 3fde566a..49f063a8 100644 ---- a/src/igrep/CMakeLists.txt -+++ b/src/igrep/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ #${Boost_LIBRARIES} # because regex - ) -diff --git a/src/iinfo/CMakeLists.txt b/src/iinfo/CMakeLists.txt -index 3fde566a..49f063a8 100644 ---- a/src/iinfo/CMakeLists.txt -+++ b/src/iinfo/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ #${Boost_LIBRARIES} # because regex - ) -diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt -index 1ea81b64..248e8a25 100644 ---- a/src/include/CMakeLists.txt -+++ b/src/include/CMakeLists.txt -@@ -56,17 +56,20 @@ install (FILES ${detail_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail - COMPONENT developer) - -+set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers - ${FMT_INCLUDES}/fmt/core.h - ${FMT_INCLUDES}/fmt/format-inl.h - ${FMT_INCLUDES}/fmt/format.h - ${FMT_INCLUDES}/fmt/ostream.h - ${FMT_INCLUDES}/fmt/printf.h ) -+if (0) - file (COPY ${fmt_headers} - DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) - install (FILES ${fmt_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail/fmt - COMPONENT developer) -+endif () - - if (NOT USE_EXTERNAL_PUGIXML) - set (pugixml_headers -diff --git a/src/include/OpenImageIO/strutil.h b/src/include/OpenImageIO/strutil.h -index 030d80a9..d6e768a3 100644 ---- a/src/include/OpenImageIO/strutil.h -+++ b/src/include/OpenImageIO/strutil.h -@@ -41,9 +41,9 @@ - #ifndef FMT_USE_GRISU - # define FMT_USE_GRISU 1 - #endif --#include "detail/fmt/ostream.h" --#include "detail/fmt/format.h" --#include "detail/fmt/printf.h" -+#include -+#include -+#include - #if OIIO_GNUC_VERSION >= 70000 - # pragma GCC diagnostic pop - #endif -diff --git a/src/jpeg.imageio/CMakeLists.txt b/src/jpeg.imageio/CMakeLists.txt -index 15d50cad..83830cd2 100644 ---- a/src/jpeg.imageio/CMakeLists.txt -+++ b/src/jpeg.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (jpeginput.cpp jpegoutput.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -+ LINK_LIBRARIES JPEG::JPEG) -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 575ed0b7..5644bcf3 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OPENJPEG_FOUND) -+if (OpenJPEG_FOUND) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ # INCLUDE_DIRS ${OPENJPEG_INCLUDES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index 1e34593d..103c89de 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -123,37 +123,42 @@ target_link_libraries (OpenImageIO - PUBLIC - OpenImageIO_Util - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - # For OpenEXR/Imath 3.x: -- $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::OpenEXR> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:OpenEXR::IlmImf> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:OpenEXR::IlmImf> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${OPENEXR_LIBRARIES} -- ${OpenCV_LIBRARIES} -+ # ${OPENEXR_LIBRARIES} -+ # ${OpenCV_LIBRARIES} - ${SANITIZE_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins -+ tsl::robin_map - $<$:OpenColorIO::OpenColorIO> -- $<$:OpenColorIO::OpenColorIOHeaders> -+ # $<$:OpenColorIO::OpenColorIOHeaders> - $<$:pugixml::pugixml> -- ${BZIP2_LIBRARIES} -+ # ${BZIP2_LIBRARIES} - ZLIB::ZLIB -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system Boost::container - ${CMAKE_DL_LIBS} - ) - --if (FREETYPE_FOUND) -- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) -+if (OpenCV_FOUND) -+ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) -+endif () -+ -+if (Freetype_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) - endif() - - if (WIN32) -diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt -index 7de38836..3e1609ad 100644 ---- a/src/libutil/CMakeLists.txt -+++ b/src/libutil/CMakeLists.txt -@@ -14,19 +14,19 @@ target_include_directories (OpenImageIO_Util - target_link_libraries (OpenImageIO_Util - PUBLIC - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system - ${CMAKE_DL_LIBS} - ) - -diff --git a/src/oiiotool/CMakeLists.txt b/src/oiiotool/CMakeLists.txt -index e281d3f8..4ee92aad 100644 ---- a/src/oiiotool/CMakeLists.txt -+++ b/src/oiiotool/CMakeLists.txt -@@ -4,8 +4,8 @@ - - fancy_add_executable (LINK_LIBRARIES - OpenImageIO -- ${Boost_LIBRARIES} # because regex -- $<$:OpenEXR::OpenEXR> -- $<$:OpenEXR::IlmImf> -- ${OPENEXR_LIBRARIES} -+ Boost::container -+ # $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::IlmImf> -+ OpenEXR::OpenEXR - ) -diff --git a/src/openexr.imageio/CMakeLists.txt b/src/openexr.imageio/CMakeLists.txt -index d4772880..9f5f8998 100644 ---- a/src/openexr.imageio/CMakeLists.txt -+++ b/src/openexr.imageio/CMakeLists.txt -@@ -12,7 +12,7 @@ if (OIIO_USE_EXR_C_API) - LINK_LIBRARIES OpenEXR::OpenEXRCore) - else() - add_oiio_plugin (exrinput.cpp exroutput.cpp -- INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ #INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -+ LINK_LIBRARIES OpenEXR::OpenEXR) - endif() - -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f625..986f9c21 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OpenVDB_FOUND) -+if (OpenVDB_FOUND AND TBB_FOUND) - add_oiio_plugin (openvdbinput.cpp - INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ LINK_LIBRARIES OpenVDB::OpenVDB TBB::TBB) - endif() -diff --git a/src/psd.imageio/CMakeLists.txt b/src/psd.imageio/CMakeLists.txt -index 48bf24fb..a5acecfd 100644 ---- a/src/psd.imageio/CMakeLists.txt -+++ b/src/psd.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (psdinput.cpp jpeg_memory_src.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ #INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) - -diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt -index 2f47527a..1c3c9800 100644 ---- a/src/ptex.imageio/CMakeLists.txt -+++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Ptex_FOUND) -+if (PTex_FOUND) - add_oiio_plugin (ptexinput.cpp -- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB -+ LINK_LIBRARIES PTex::PTex ZLIB::ZLIB - DEFINITIONS "-DUSE_PTEX") - endif () -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index d235fd9d..6661a2a8 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -4,9 +4,9 @@ - - if (LIBRAW_FOUND) - add_oiio_plugin (rawinput.cpp -- INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -- DEFINITIONS "-DUSE_LIBRAW=1" ${LibRaw_r_DEFINITIONS}) -+ #INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -+ LINK_LIBRARIES libraw::libraw -+ DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") - endif () -diff --git a/src/tiff.imageio/CMakeLists.txt b/src/tiff.imageio/CMakeLists.txt -index ab94d56d..99ee19ae 100644 ---- a/src/tiff.imageio/CMakeLists.txt -+++ b/src/tiff.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (tiffinput.cpp tiffoutput.cpp -- INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -- LINK_LIBRARIES ${TIFF_LIBRARIES} ${JPEG_LIBRARIES} -+ #INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -+ LINK_LIBRARIES TIFF::TIFF JPEG::JPEG - ZLIB::ZLIB) -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 44462c49..78fe1a58 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -4,7 +4,7 @@ - - if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES WebP::WebP WebP::WebPDemux -+ LINK_LIBRARIES WebP::WebP - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") diff --git a/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch new file mode 100644 index 0000000000000..dc76e283d97aa --- /dev/null +++ b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch @@ -0,0 +1,456 @@ +diff --git CMakeLists.txt CMakeLists.txt +index a5a6de1c5..f1801af5a 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -144,7 +144,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -224,7 +224,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index a4f895c07..f55da37cb 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () +- +-set (Boost_COMPONENTS thread) ++# if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++# endif () ++ ++set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++# if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++# endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -141,12 +141,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer Turbo-JPEG to regular libjpeg +-checked_find_package (JPEGTurbo +- DEFINITIONS -DUSE_JPEG_TURBO=1 +- PRINT JPEG_INCLUDES JPEG_INCLUDE_DIRS +- JPEG_LIBRARIES JPEG_VERSION) +-if (NOT JPEG_FOUND) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (JPEGTurbo ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but +@@ -162,106 +165,110 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + + + ########################################################################### + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) +- +-checked_find_package (BZip2) # Used by ffmpeg and freetype +-if (NOT BZIP2_FOUND) +- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? +-endif () ++if (USE_LIBPNG) ++ checked_find_package (PNG) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) ++if (USE_FREETYPE) ++ checked_find_package (Freetype ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) +-if (NOT OpenColorIO_FOUND) +- set (OpenColorIO_FOUND 0) +-endif () +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) ++ if (NOT OpenColorIO_FOUND) ++ set (OpenColorIO_FOUND 0) ++ endif () ++endif() ++if (USE_OPENCV) ++ checked_find_package (OpenCV 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) +- +-checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") +- ++if (USE_TBB)# Intel TBB ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() ++if (USE_DCMTK) ++ checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images ++endif() ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() ++ + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.7 +- RECOMMEND_MIN_REASON "for AVIF support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) +-endif () +- +-checked_find_package (LibRaw +- RECOMMEND_MIN 0.18 +- RECOMMEND_MIN_REASON "for ACES support and better camera metadata" +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.7 ++ RECOMMEND_MIN_REASON "for AVIF support") ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpeVDB_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw ++ RECOMMEND_MIN 0.18 ++ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" ++ PRINT LibRaw_r_LIBRARIES) ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED ++ VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++endif() + +-checked_find_package (WebP) ++if (USE_PTEX) ++ checked_find_package (ptex PREFER_CONFIG) ++endif() + ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++endif() ++ + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK) # RED camera +- ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK REQUIRED) # RED camera ++endif () ++ + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke) ++if (USE_NUKE) ++ checked_find_package (Nuke REQUIRED) ++endif () + + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () +-if (USE_QT AND OPENGL_FOUND) ++if (USE_QT AND USE_OPENGL) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) + if (NOT Qt6_FOUND) + checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) +@@ -285,13 +291,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -309,7 +315,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + +@@ -331,7 +337,7 @@ macro (find_or_download_fmt) + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. +- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) ++ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) + message (STATUS "Downloading local fmtlib/fmt") + set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") + set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 100d4d773..ec7e01884 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,13 +2,11 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index eed740900..72aaaff86 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) ++if (USE_LIBHEIF) + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ #INCLUDE_DIRS ${LIBHEIF_INCLUDES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 006cb65a7..2e2c2c2ea 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -65,6 +65,7 @@ install (FILES ${detail_headers} + COMPONENT developer) + + if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers + ${FMT_INCLUDES}/fmt/core.h + ${FMT_INCLUDES}/fmt/format-inl.h +@@ -74,8 +75,8 @@ if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) + if (fmt_VERSION VERSION_GREATER_EQUAL 90000) + list (APPEND fmt_headers ${FMT_INCLUDES}/fmt/std.h) + endif () +- file (COPY ${fmt_headers} +- DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) ++ # file (COPY ${fmt_headers} ++ # DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) + else () + set (fmt_headers + ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt/format.h +diff --git src/include/OpenImageIO/detail/fmt.h src/include/OpenImageIO/detail/fmt.h +index 31a986d31..9a7e5ce54 100644 +--- src/include/OpenImageIO/detail/fmt.h ++++ src/include/OpenImageIO/detail/fmt.h +@@ -55,9 +55,9 @@ OIIO_PRAGMA_WARNING_PUSH + # pragma GCC diagnostic ignored "-Wtautological-constant-compare" + #endif + +-#include +-#include +-#include ++#include ++#include ++#include + + OIIO_PRAGMA_WARNING_POP + +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..94b5cd2dc 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -4,8 +4,7 @@ + + if (OPENJPEG_FOUND) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index 772b39ff2..898fb2be6 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -141,12 +141,17 @@ target_link_libraries (OpenImageIO + $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) ++endif () ++ +-if (FREETYPE_FOUND) +- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) + endif() + + if (WIN32) +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index 8933bfe5b..3970eb0c3 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,8 +20,8 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index ed42f1c94..82d2b9770 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,8 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch index c909b13a27c9e..c560e5020256a 100644 --- a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch @@ -155,7 +155,7 @@ index 48e871418..21f709b1d 100644 # For HEIF/HEIC/AVIF formats -checked_find_package (Libheif VERSION_MIN 1.3 +if (USE_LIBHEIF) -+checked_find_package (libheif VERSION_MIN 1.3 ++checked_find_package (libheif REQUIRED VERSION_MIN 1.3 RECOMMEND_MIN 1.7 RECOMMEND_MIN_REASON "for AVIF support") -if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) @@ -299,6 +299,24 @@ index 58402060e..5dea82369 100644 else() message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index ece763a27..83abdea66 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: BSD-3-Clause + # https://github.com/OpenImageIO/oiio + +-if (Libheif_FOUND) ++if (USE_LIBHEIF) + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ #INCLUDE_DIRS ${LIBHEIF_INCLUDES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt index 52b0936a6..611eadb4e 100644 --- a/src/include/CMakeLists.txt @@ -348,7 +366,7 @@ index 1f47269bf..85b90d66a 100644 add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp - INCLUDE_DIRS ${OPENJPEG_INCLUDES} - LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG ++ LINK_LIBRARIES openjp2 DEFINITIONS "-DUSE_OPENJPEG") else() message (WARNING "Jpeg-2000 plugin will not be built") @@ -356,11 +374,12 @@ diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.t index 456aab81a..eb5bb00fc 100644 --- a/src/libOpenImageIO/CMakeLists.txt +++ b/src/libOpenImageIO/CMakeLists.txt -@@ -141,10 +141,14 @@ target_link_libraries (OpenImageIO +@@ -141,12 +141,17 @@ target_link_libraries (OpenImageIO $ ${BZIP2_LIBRARIES} ZLIB::ZLIB - $ ++ tsl::robin_map + Boost::filesystem Boost::thread Boost::system Boost::container ${CMAKE_DL_LIBS} ) @@ -370,15 +389,21 @@ index 456aab81a..eb5bb00fc 100644 +endif () + if (FREETYPE_FOUND) - target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) +- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) endif() + + if (WIN32) diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt index 09b9139d0..a2d39982e 100644 --- a/src/libutil/CMakeLists.txt +++ b/src/libutil/CMakeLists.txt -@@ -17,8 +17,7 @@ target_link_libraries (OpenImageIO_Util +@@ -15,8 +15,8 @@ target_link_libraries (OpenImageIO_Util + $ + ${GCC_ATOMIC_LIBRARIES} ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt PRIVATE - $ - $ @@ -390,7 +415,7 @@ diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt index d7f0a9582..7cfce4a35 100644 --- a/src/ptex.imageio/CMakeLists.txt +++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ +@@ -2,8 +2,9 @@ # SPDX-License-Identifier: BSD-3-Clause # https://github.com/OpenImageIO/oiio @@ -398,6 +423,7 @@ index d7f0a9582..7cfce4a35 100644 +if (ptex_FOUND) add_oiio_plugin (ptexinput.cpp - LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB -+ LINK_LIBRARIES Ptex::Ptex ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} DEFINITIONS "-DUSE_PTEX") endif () diff --git a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch new file mode 100644 index 0000000000000..8563d86fcb7db --- /dev/null +++ b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch @@ -0,0 +1,515 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 1ae61f6ae..5c4202395 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -154,7 +154,7 @@ endif () + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -234,7 +234,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index 3cfaedd57..f75fee7a3 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () +- +-set (Boost_COMPONENTS thread) ++#if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++#endif () ++ ++set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++#if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++#endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -137,11 +137,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer JPEG-Turbo to regular libjpeg +-checked_find_package (libjpeg-turbo +- VERSION_MIN 2.1 +- DEFINITIONS -DUSE_JPEG_TURBO=1) +-if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (JPEGTurbo REQUIRED ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but +@@ -157,112 +161,110 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + + + ########################################################################### + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) ++if (USE_LIBPNG) ++ checked_find_package (PNG REQUIRED) ++endif() + +-checked_find_package (BZip2) # Used by ffmpeg and freetype +-if (NOT BZIP2_FOUND) +- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? +-endif () ++if (USE_FREETYPE) ++ checked_find_package (Freetype ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) +- +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) +-if (OpenColorIO_FOUND) +- option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS +- "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) +- if (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS OR "$ENV{OIIO_DISABLE_BUILTIN_OCIO_CONFIGS}") +- add_compile_definitions(OIIO_DISABLE_BUILTIN_OCIO_CONFIGS) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) ++ if (NOT OpenColorIO_FOUND) ++ set (OpenColorIO_FOUND 0) + endif () +-else () +- set (OpenColorIO_FOUND 0) +-endif () +- +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++endif() ++if (USE_OPENCV) ++ checked_find_package (OpenCV 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) +- +-checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") ++if (USE_TBB)# Intel TBB ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() ++if (USE_DCMTK) ++ checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images ++endif() ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() + + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.7 +- RECOMMEND_MIN_REASON "for AVIF support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) +-endif () +- +-checked_find_package (LibRaw +- VERSION_MIN 0.18 +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.7 ++ RECOMMEND_MIN_REASON "for AVIF support") ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpeVDB_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw ++ RECOMMEND_MIN 0.18 ++ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" ++ PRINT LibRaw_r_LIBRARIES) ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED ++ VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++endif() + +-checked_find_package (WebP) ++if (USE_PTEX) ++ checked_find_package (ptex PREFER_CONFIG) ++endif() ++ ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++endif() + + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK) # RED camera ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK REQUIRED) # RED camera ++endif () + + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke) ++if (USE_NUKE) ++ checked_find_package (Nuke REQUIRED) ++endif () + + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () +-if (USE_QT AND OPENGL_FOUND) ++if (USE_QT AND USE_OPENGL) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) + if (NOT Qt6_FOUND) + checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) +@@ -286,13 +288,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -310,7 +312,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + +@@ -332,7 +334,7 @@ macro (find_or_download_fmt) + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. +- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) ++ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) + message (STATUS "Downloading local fmtlib/fmt") + set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") + set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 8e47a8443..e1a1987fe 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,7 +2,7 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + if (LINKSTATIC) + set (_static_suffixes .lib .a) + set (_static_libraries_found 0) +@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) + endif() + + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index 5b6c30a85..17b0243a1 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,32 +2,32 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) +- if (LINKSTATIC) +- set (_static_suffixes .lib .a) +- set (_static_libraries_found 0) ++if (USE_LIBHEIF) ++ # if (LINKSTATIC) ++ # set (_static_suffixes .lib .a) ++ # set (_static_libraries_found 0) + +- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) +- get_filename_component (_ext ${_libeheif_library} LAST_EXT) +- list (FIND _static_suffixes ${_ext} _index) +- if (${_index} GREATER -1) +- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") +- endif() +- endforeach() ++ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) ++ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) ++ # list (FIND _static_suffixes ${_ext} _index) ++ # if (${_index} GREATER -1) ++ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") ++ # endif() ++ # endforeach() + +- if (${_static_libraries_found} GREATER 0) +- message (STATUS "${ColorYellow}") +- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") +- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") +- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") +- message (STATUS "dynamically-linked libheif.") +- message ("${ColorReset}") +- endif() +- endif() ++ # if (${_static_libraries_found} GREATER 0) ++ # message (STATUS "${ColorYellow}") ++ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") ++ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") ++ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") ++ # message (STATUS "dynamically-linked libheif.") ++ # message ("${ColorReset}") ++ # endif() ++ # endif() + + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ #INCLUDE_DIRS ${LIBHEIF_INCLUDES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 006cb65a7..a4ecf23c7 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -65,6 +65,7 @@ install (FILES ${detail_headers} + COMPONENT developer) + + if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers + ${FMT_INCLUDES}/fmt/core.h + ${FMT_INCLUDES}/fmt/format-inl.h +@@ -74,8 +75,8 @@ if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) + if (fmt_VERSION VERSION_GREATER_EQUAL 90000) + list (APPEND fmt_headers ${FMT_INCLUDES}/fmt/std.h) + endif () +- file (COPY ${fmt_headers} +- DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) ++ #file (COPY ${fmt_headers} ++ # DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) + else () + set (fmt_headers + ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt/format.h +diff --git src/include/OpenImageIO/detail/fmt.h src/include/OpenImageIO/detail/fmt.h +index b4f5e7da4..a990f83d4 100644 +--- src/include/OpenImageIO/detail/fmt.h ++++ src/include/OpenImageIO/detail/fmt.h +@@ -58,9 +58,9 @@ OIIO_PRAGMA_WARNING_PUSH + # pragma GCC diagnostic ignored "-Wtautological-constant-compare" + #endif + +-#include +-#include +-#include ++#include ++#include ++#include + + OIIO_PRAGMA_WARNING_POP + +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..402d4adad 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -4,8 +4,7 @@ + + if (OPENJPEG_FOUND) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index 9972a7150..683a66238 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -145,7 +145,6 @@ target_link_libraries (OpenImageIO + ${OPENIMAGEIO_IMATH_TARGETS} + PRIVATE + ${OPENIMAGEIO_OPENEXR_TARGETS} +- ${OpenCV_LIBRARIES} + ${format_plugin_libs} # Add all the target link libraries from the plugins + $ + $ +@@ -153,12 +152,19 @@ target_link_libraries (OpenImageIO + $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + +-if (FREETYPE_FOUND) +- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core ++ opencv::opencv_imgproc ++ opencv::opencv_videoio) ++endif () ++ ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) + endif() + + if (WIN32) +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index 10cc4b0c4..bb632d99a 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,9 +20,9 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index ed42f1c94..82d2b9770 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,8 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/all/test_package/CMakeLists.txt b/recipes/openimageio/all/test_package/CMakeLists.txt index 1644784331f87..2b80f5af75658 100644 --- a/recipes/openimageio/all/test_package/CMakeLists.txt +++ b/recipes/openimageio/all/test_package/CMakeLists.txt @@ -1,10 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(OpenImageIO REQUIRED CONFIG) +find_package(fmt REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} OpenImageIO::OpenImageIO) +target_link_libraries(${PROJECT_NAME} PRIVATE OpenImageIO::OpenImageIO + OpenImageIO::OpenImageIO_Util + fmt::fmt) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/openimageio/all/test_package/conanfile.py b/recipes/openimageio/all/test_package/conanfile.py index d51573f42b4f7..f4262a197701c 100644 --- a/recipes/openimageio/all/test_package/conanfile.py +++ b/recipes/openimageio/all/test_package/conanfile.py @@ -1,18 +1,25 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.build import can_run import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - version = tools.Version(self.deps_cpp_info["openimageio"].version) cmake = CMake(self) - cmake.definitions["CMAKE_CXX_STANDARD"] = 14 if version >= "2.3.0.0" else 11 cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if not can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/openimageio/all/test_v1_package/CMakeLists.txt b/recipes/openimageio/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..4f7b705df9ba0 --- /dev/null +++ b/recipes/openimageio/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(OpenImageIO REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} OpenImageIO::OpenImageIO) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/openimageio/all/test_v1_package/conanfile.py b/recipes/openimageio/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..1bf1c7e26255d --- /dev/null +++ b/recipes/openimageio/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/openimageio/all/test_v1_package/test_package.cpp b/recipes/openimageio/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..e1594d38c661d --- /dev/null +++ b/recipes/openimageio/all/test_v1_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +int main() +{ + std::cout << "OpenImageIO " << OIIO_VERSION_STRING << "\n"; + + std::string formats = OIIO::get_string_attribute("format_list"); + std::cout << "Supported formats:\n" << formats << "\n"; +} diff --git a/recipes/openimageio/config.yml b/recipes/openimageio/config.yml index 3937cac349aec..cd903dbdc9549 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -1,9 +1,7 @@ versions: - "2.2.7.0": - folder: all - "2.2.18.0": + "2.4.7.1": folder: all - "2.3.7.2": + "2.4.17.0": folder: all - "2.4.7.1": + "2.5.6.0": folder: all From 75c9983a947edbbdfc3c4994c5c28f7b9ba488f6 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 26 Feb 2024 11:28:15 +0100 Subject: [PATCH 3768/4087] (#22788) [wayland] Bump required dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [wayland] Bump required dependencies * stay on libxml/2.13.2 --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Co-authored-by: Francisco Ramírez --- recipes/wayland/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 7694702f24251..865c98752b9de 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -51,14 +51,14 @@ def requirements(self): self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: self.requires("libxml2/2.12.3") - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") if not can_run(self): From 2b2e98ec882b67429b84b90cf25b6f9d6a5a1812 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 19:48:05 +0900 Subject: [PATCH 3769/4087] (#22880) glfw: add version 3.4 * glfw: add version 3.4 * fix version number --- recipes/glfw/all/conandata.yml | 3 +++ recipes/glfw/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glfw/all/conandata.yml b/recipes/glfw/all/conandata.yml index bb5660da3ad7d..91c03ba3c213e 100644 --- a/recipes/glfw/all/conandata.yml +++ b/recipes/glfw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4": + url: "https://github.com/glfw/glfw/releases/download/3.4/glfw-3.4.zip" + sha256: "b5ec004b2712fd08e8861dc271428f048775200a2df719ccf575143ba749a3e9" "3.3.8": url: "https://github.com/glfw/glfw/releases/download/3.3.8/glfw-3.3.8.zip" sha256: "4d025083cc4a3dd1f91ab9b9ba4f5807193823e565a5bcf4be202669d9911ea6" diff --git a/recipes/glfw/config.yml b/recipes/glfw/config.yml index a0746c2e38c76..71269a07d6ef0 100644 --- a/recipes/glfw/config.yml +++ b/recipes/glfw/config.yml @@ -1,4 +1,6 @@ versions: + "3.4": + folder: all "3.3.8": folder: all "3.3.7": From c2f63df08695108aa2e1de5f84cb8cc39cb668bd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 20:09:38 +0900 Subject: [PATCH 3770/4087] (#22882) c-ares: add version 1.27.0 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index aa06bcbb6109d..3833dbb894ff0 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.27.0": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_27_0/c-ares-1.27.0.tar.gz" + sha256: "0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b" "1.26.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_26_0/c-ares-1.26.0.tar.gz" sha256: "bed58c4f02b009080ebda6c2467ba469722ac6aebbf4497dc44a83d8c6194e50" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 48280108ceb5c..75dbe67cad1ac 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.27.0": + folder: all "1.26.0": folder: all "1.25.0": From 1d2526fbff2a71142a73e1c42e6580c28a6e3107 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 20:30:00 +0900 Subject: [PATCH 3771/4087] (#22884) libpng: add version 1.6.43 --- recipes/libpng/all/conandata.yml | 3 +++ recipes/libpng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml index 5e7c1a3b6a12f..9d660e1b52521 100644 --- a/recipes/libpng/all/conandata.yml +++ b/recipes/libpng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.43": + url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.43/libpng-1.6.43.tar.xz" + sha256: "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c" "1.6.42": url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.42/libpng-1.6.42.tar.xz" sha256: "c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450" diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml index 52cce5acae391..05a40beb2a7b3 100644 --- a/recipes/libpng/config.yml +++ b/recipes/libpng/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.43": + folder: all "1.6.42": folder: all "1.6.41": From 2b729a1033e6615c538ca8a2b4eb4cc51ae53ca2 Mon Sep 17 00:00:00 2001 From: Guillaume MICHEL Date: Mon, 26 Feb 2024 13:10:29 +0100 Subject: [PATCH 3772/4087] (#22704) liburing: Fix cross-compilation and added version 2.5 --- recipes/liburing/all/conandata.yml | 30 +++++++++++++++++++ recipes/liburing/all/conanfile.py | 11 ++++++- ...buring-0.7-disable_samples_and_tests.patch | 13 ++++++++ ...buring-2.0-disable_samples_and_tests.patch | 13 ++++++++ ...buring-2.2-disable_samples_and_tests.patch | 13 ++++++++ ...buring-2.4-disable_samples_and_tests.patch | 13 ++++++++ recipes/liburing/config.yml | 2 ++ 7 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch create mode 100644 recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch create mode 100644 recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch create mode 100644 recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch diff --git a/recipes/liburing/all/conandata.yml b/recipes/liburing/all/conandata.yml index c886933bedcfe..48e308169639a 100644 --- a/recipes/liburing/all/conandata.yml +++ b/recipes/liburing/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5": + url: "https://github.com/axboe/liburing/archive/liburing-2.5.tar.gz" + sha256: "456f5f882165630f0dc7b75e8fd53bd01a955d5d4720729b4323097e6e9f2a98" "2.4": url: "https://github.com/axboe/liburing/archive/liburing-2.4.tar.gz" sha256: "2398ec82d967a6f903f3ae1fd4541c754472d3a85a584dc78c5da2fabc90706b" @@ -19,5 +22,32 @@ sources: sha256: "8e2842cfe947f3a443af301bdd6d034455536c38a455c7a700d0c1ad165a7543" patches: + "0.7": + - patch_file: "patches/liburing-0.7-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.0": + - patch_file: "patches/liburing-2.0-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" "2.1": - patch_file: "patches/0001-liburing-2.1-memfd-create.patch" + - patch_file: "patches/liburing-2.0-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.2": + - patch_file: "patches/liburing-2.2-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.3": + - patch_file: "patches/liburing-2.2-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.4": + - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.5": + - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" diff --git a/recipes/liburing/all/conanfile.py b/recipes/liburing/all/conanfile.py index b1e4b79034482..c90a304cde4c7 100644 --- a/recipes/liburing/all/conanfile.py +++ b/recipes/liburing/all/conanfile.py @@ -64,8 +64,17 @@ def source(self): def generate(self): tc = AutotoolsToolchain(self) + + if Version(self.version) >= "2.5": + if self.options.with_libc: + tc.configure_args.append("--use-libc") + elif Version(self.version) >= "2.2": + if not self.options.with_libc: + tc.configure_args.append("--nolibc") + tc.update_configure_args({ - "--nolibc": None if self.options.get_safe("with_libc", default=True) else "", + "--host": None, + "--build": None, "--enable-shared": None, "--disable-shared": None, "--enable-static": None, diff --git a/recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..dc56cd825cb84 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 948e004..d4cff97 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,8 +10,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + partcheck: all + @echo "make partcheck => TODO add tests with out kernel support" diff --git a/recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..4f4983d0c9070 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 5d9c4dc..66ee81e 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,8 +10,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + .PHONY: all install default clean test + .PHONY: FORCE cscope diff --git a/recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..7faef951af755 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 686be4f..28d0a7f 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,8 +8,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + .PHONY: all install default clean test + .PHONY: FORCE cscope diff --git a/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..f3b6165682fd2 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 73d021c..74aa8d7 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,8 +8,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + .PHONY: all install default clean test + .PHONY: FORCE cscope diff --git a/recipes/liburing/config.yml b/recipes/liburing/config.yml index 264b68e5678d7..d47042c99f1bb 100644 --- a/recipes/liburing/config.yml +++ b/recipes/liburing/config.yml @@ -1,4 +1,6 @@ versions: + "2.5": + folder: all "2.4": folder: all "2.3": From de3f951acc4aad1b4bf0b62fe6ca977ee472efce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Feb 2024 14:43:23 +0200 Subject: [PATCH 3773/4087] (#18265) libunifex: migrate to Conan v2 * libunifex: migrate to Conan v2, add v0.3.0 * libunifex: ensure liburing from the system is not used * libunifex: bump to v0.4.0 * libunifex: drop the incompatible custom version * libunifex: downgrade liburing * libunifex: disable liburing by default * libunifex: fix a MSVC build issue * libunifex: ensure cppstd is set * libunifex: allow cppstd to be overriden * libunifex: correct min VS version --- recipes/libunifex/all/CMakeLists.txt | 7 - recipes/libunifex/all/conandata.yml | 6 +- recipes/libunifex/all/conanfile.py | 153 +++++++++++------- .../libunifex/all/test_package/CMakeLists.txt | 13 +- .../libunifex/all/test_package/conanfile.py | 19 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ recipes/libunifex/config.yml | 4 +- 8 files changed, 144 insertions(+), 83 deletions(-) delete mode 100644 recipes/libunifex/all/CMakeLists.txt create mode 100644 recipes/libunifex/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libunifex/all/test_v1_package/conanfile.py diff --git a/recipes/libunifex/all/CMakeLists.txt b/recipes/libunifex/all/CMakeLists.txt deleted file mode 100644 index 4beb13671fe5e..0000000000000 --- a/recipes/libunifex/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libunifex/all/conandata.yml b/recipes/libunifex/all/conandata.yml index 2eaea0e7a17a7..f0f7328af9c2a 100644 --- a/recipes/libunifex/all/conandata.yml +++ b/recipes/libunifex/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "cci.20220430": - url: "https://github.com/facebookexperimental/libunifex/archive/c359fd8e7d97d91359cf4a6c1dbef99b0b1767b6.tar.gz" - sha256: "c306891967fa4cc1a22f3401581d35ceea41eb1dbdac3e6157ecf3defaa4b15d" + "0.4.0": + url: "https://github.com/facebookexperimental/libunifex/archive/refs/tags/v0.4.0.tar.gz" + sha256: "d5ce3b616e166da31e6b4284764a1feeba52aade868bcbffa94cfd86b402716e" diff --git a/recipes/libunifex/all/conanfile.py b/recipes/libunifex/all/conanfile.py index 49d7f959dc539..4bcd35d16f99c 100644 --- a/recipes/libunifex/all/conanfile.py +++ b/recipes/libunifex/all/conanfile.py @@ -1,110 +1,143 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import os -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.52.0" class LibunifexConan(ConanFile): name = "libunifex" + description = "A prototype implementation of the C++ sender/receiver async programming model" license = ("Apache-2.0", "LLVM-exception") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/facebookexperimental/libunifex" - description = "A prototype implementation of the C++ sender/receiver async programming model" topics = ("async", "cpp") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" - - generators = "cmake", "cmake_find_package_multi" - no_copy_source = True - exports_sources = ["CMakeLists.txt"] + options = { + "fPIC": [True, False], + "with_liburing": [True, False], + } + default_options = { + "fPIC": True, + "with_liburing": False, # Enabled by default in the project, but incompatible with the Linux version used in C3I + } @property - def _source_subfolder(self): - return "source_subfolder" + def _minimum_standard(self): + if is_msvc(self): + # Otherwise a forward declaration `extern const _schedule::_fn schedule;` + # conflicts with the implementation `inline constexpr _schedule::_fn schedule {};` + # https://github.com/facebookexperimental/libunifex/issues/591 + return 20 + return 17 @property def _compilers_minimum_version(self): return { "gcc": "9", - "Visual Studio": "16", "clang": "10", "apple-clang": "11", + "Visual Studio": "17", + "msvc": "193", } - @property - def _minimum_standard(self): - return "17" + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if not self.settings.os == "Linux": + del self.options.with_liburing + + def layout(self): + cmake_layout(self, src_folder="src") - # FIXME: Add support for liburing - # def requirements(self): - # TODO: Make an option to opt-out of liburing for old kernel versions - # if self.settings.os == "Linux": - # self.requires("liburing/2.1") + def requirements(self): + if self.options.get_safe("with_liburing"): + self.requires("liburing/2.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd( - self, self._minimum_standard) + check_min_cppstd(self, self._minimum_standard) def lazy_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] - - minimum_version = self._compilers_minimum_version.get( - str(self.settings.compiler), False) - if not minimum_version: - self.output.warn( - "{0} {1} requires C++{2}. Your compiler is unknown. Assuming it supports C++{2}." - .format(self.name, self.version, self._minimum_standard)) - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and lazy_lt_semver(self.settings.compiler.version, minimum_version): raise ConanInvalidConfiguration( - "{} {} requires C++{}, which your compiler does not support." - .format(self.name, self.version, self._minimum_standard)) + f"{self.ref} requires C++{self._minimum_standard}, which your compiler does not support." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False + tc.variables["UNIFEX_BUILD_EXAMPLES"] = False + tc.variables["UNIFEX_NO_LIBURING"] = not self.options.get_safe("with_liburing", False) + if not valid_min_cppstd(self, self._minimum_standard): + tc.variables["CMAKE_CXX_STANDARD"] = self._minimum_standard + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.set_property("liburing", "cmake_file_name", "LIBURING") + deps.generate() - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): + self._patch_sources() cmake = CMake(self) - cmake.definitions["BUILD_TESTING"] = "OFF" cmake.configure() - return cmake - - def build(self): - cmake = self._configure_cmake() cmake.build() + def _patch_sources(self): + apply_conandata_patches(self) + # Ensure liburing from the system is not used and that uuper-case variables are generated + required = "REQUIRED" if self.settings.os == "Linux" else "" + replace_in_file(self, os.path.join(self.source_folder, "cmake", "unifex_flags.cmake"), + "find_package(LibUring COMPONENTS)", + f"find_package(LIBURING {required} CONFIG NO_DEFAULT_PATH PATHS ${{CMAKE_PREFIX_PATH}})") + replace_in_file(self, os.path.join(self.source_folder, "cmake", "unifex_env.cmake"), "-Werror", "") + replace_in_file(self, os.path.join(self.source_folder, "cmake", "unifex_env.cmake"), "/WX", "") + # Allow cppstd to be overridden + replace_in_file(self, os.path.join(self.source_folder, "source", "CMakeLists.txt"), + "target_compile_features(unifex PUBLIC cxx_std_17)", "") + def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "unifex") self.cpp_info.set_property("cmake_target_name", "unifex::unifex") self.cpp_info.set_property("pkg_config_name", "unifex") + self.cpp_info.components["unifex"].libs = ["unifex"] + self.cpp_info.components["unifex"].set_property("cmake_target_name", "unifex::unifex") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["unifex"].system_libs = ["pthread"] + if self.options.get_safe("with_liburing"): + self.cpp_info.components["unifex"].requires.append("liburing::liburing") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "unifex" - self.cpp_info.filenames["cmake_find_package_multi"] = "unifex" self.cpp_info.names["cmake_find_package"] = "unifex" self.cpp_info.names["cmake_find_package_multi"] = "unifex" - self.cpp_info.names["pkg_config"] = "unifex" self.cpp_info.components["unifex"].names["cmake_find_package"] = "unifex" self.cpp_info.components["unifex"].names["cmake_find_package_multi"] = "unifex" - self.cpp_info.components["unifex"].set_property( - "cmake_target_name", "unifex::unifex") - self.cpp_info.components["unifex"].libs = ["unifex"] - - if self.settings.os == "Linux": - self.cpp_info.components["unifex"].system_libs = ["pthread"] - # self.cpp_info.components["unifex"].requires.append( - # "liburing::liburing") diff --git a/recipes/libunifex/all/test_package/CMakeLists.txt b/recipes/libunifex/all/test_package/CMakeLists.txt index a487dfdf2b7ad..7c04e7b0b4280 100644 --- a/recipes/libunifex/all/test_package/CMakeLists.txt +++ b/recipes/libunifex/all/test_package/CMakeLists.txt @@ -1,11 +1,12 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(unifex REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE unifex::unifex) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +if(MSVC) + set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20) +else() + set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +endif() diff --git a/recipes/libunifex/all/test_package/conanfile.py b/recipes/libunifex/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/libunifex/all/test_package/conanfile.py +++ b/recipes/libunifex/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libunifex/all/test_v1_package/CMakeLists.txt b/recipes/libunifex/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libunifex/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libunifex/all/test_v1_package/conanfile.py b/recipes/libunifex/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libunifex/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/libunifex/config.yml b/recipes/libunifex/config.yml index 1bf3ed95d8368..af29e78bd9b25 100644 --- a/recipes/libunifex/config.yml +++ b/recipes/libunifex/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20220430": - folder: "all" + "0.4.0": + folder: all From e7d129825e6e0044874eaceb725cc234790761db Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Feb 2024 15:02:56 +0200 Subject: [PATCH 3774/4087] (#18721) sleef: migrate to Conan v2 * sleef: migrate to Conan v2 * sleef: add version cci.20210405 * sleef: fix shared option * sleef: rmdir dummy * sleef: armv8 cross-building is not supported * sleef: cross-compilation to x86_64 is not supported either * sleef: armv8 is not supported either * sleef: add v3.6, drop custom version * sleef: update options * sleef: use newer CMake * sleef: restore apple-clang checks for v3.5 * sleef: cross-building is still broken * Update recipes/sleef/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/sleef/all/CMakeLists.txt | 7 - recipes/sleef/all/conandata.yml | 3 + recipes/sleef/all/conanfile.py | 135 ++++++++++-------- recipes/sleef/all/test_package/CMakeLists.txt | 7 +- recipes/sleef/all/test_package/conanfile.py | 19 ++- .../sleef/all/test_v1_package/CMakeLists.txt | 8 ++ .../sleef/all/test_v1_package/conanfile.py | 17 +++ recipes/sleef/config.yml | 2 + 8 files changed, 126 insertions(+), 72 deletions(-) delete mode 100644 recipes/sleef/all/CMakeLists.txt create mode 100644 recipes/sleef/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sleef/all/test_v1_package/conanfile.py diff --git a/recipes/sleef/all/CMakeLists.txt b/recipes/sleef/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/sleef/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/sleef/all/conandata.yml b/recipes/sleef/all/conandata.yml index d1737a7a842cf..2cb4098c3fd69 100644 --- a/recipes/sleef/all/conandata.yml +++ b/recipes/sleef/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6": + url: "https://github.com/shibatch/sleef/archive/3.6.tar.gz" + sha256: "de4f3d992cf2183a872cd397f517c1defcd3ee6cafa2ce5fa36963bd7e562446" "3.5.1": url: "https://github.com/shibatch/sleef/archive/3.5.1.tar.gz" sha256: "415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab" diff --git a/recipes/sleef/all/conanfile.py b/recipes/sleef/all/conanfile.py index 0496b1b63c7cd..7cba3764e2337 100644 --- a/recipes/sleef/all/conanfile.py +++ b/recipes/sleef/all/conanfile.py @@ -1,19 +1,25 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.32.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class SleefConan(ConanFile): name = "sleef" - description = "SLEEF is a library that implements vectorized versions " \ - "of C standard math functions." + description = "SLEEF is a library that implements vectorized versions of C standard math functions." license = "BSL-1.0" - topics = ("conan", "sleef", "vectorization", "simd") - homepage = "https://sleef.org" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://sleef.org" + topics = ("vectorization", "simd") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,75 +30,92 @@ class SleefConan(ConanFile): "fPIC": True, } - short_paths = True - - exports_sources = "CMakeLists.txt" - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("shared sleef not supported on Windows, it produces runtime errors") + raise ConanInvalidConfiguration( + "shared sleef not supported on Windows, it produces runtime errors" + ) + if self.settings.compiler == "apple-clang": + if cross_building(self): + # Fails with "No rule to make target `/bin/mkrename'" + # https://github.com/shibatch/sleef/issues/308 + raise ConanInvalidConfiguration(f"{self.ref} does not support cross-building with apple-clang") + if Version(self.version) < "3.6" and self.settings.arch == "armv8": + # clang: error: the clang compiler does not support '-march=armv7-a' + # clang: warning: argument unused during compilation: '-mfpu=vfpv4' [-Wunused-command-line-argument] + # clang: warning: argument unused during compilation: '-arch arm64' [-Wunused-command-line-argument] + # clang: warning: argument unused during compilation: '-mmacosx-version-min=11.0' [-Wunused-command-line-argument] + raise ConanInvalidConfiguration(f"{self.ref} does not support Mac M1. Please, use {self.name} version >=3.6.") + + def build_requirements(self): + if Version(self.version) >= "3.6": + self.tool_requires("cmake/[>=3.18 <4]") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_STATIC_TEST_BINS"] = False - self._cmake.definitions["ENABLE_LTO"] = False - self._cmake.definitions["BUILD_LIBM"] = True - self._cmake.definitions["BUILD_DFT"] = False - self._cmake.definitions["BUILD_QUAD"] = False - self._cmake.definitions["BUILD_GNUABI_LIBS"] = False - self._cmake.definitions["BUILD_TESTS"] = False - self._cmake.definitions["BUILD_INLINE_HEADERS"] = False - self._cmake.definitions["SLEEF_TEST_ALL_IUT"] = False - self._cmake.definitions["SLEEF_SHOW_CONFIG"] = True - self._cmake.definitions["SLEEF_SHOW_ERROR_LOG"] = False - self._cmake.definitions["ENFORCE_TESTER"] = False - self._cmake.definitions["ENFORCE_TESTER3"] = False - self._cmake.definitions["ENABLE_ALTDIV"] = False - self._cmake.definitions["ENABLE_ALTSQRT"] = False - self._cmake.definitions["DISABLE_FFTW"] = True - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + if Version(self.version) >= "3.6": + tc.cache_variables["SLEEF_BUILD_STATIC_TEST_BINS"] = False + tc.cache_variables["SLEEF_BUILD_LIBM"] = True + tc.cache_variables["SLEEF_BUILD_DFT"] = False + tc.cache_variables["SLEEF_BUILD_QUAD"] = False + tc.cache_variables["SLEEF_BUILD_GNUABI_LIBS"] = False + tc.cache_variables["SLEEF_BUILD_SCALAR_LIB"] = False + tc.cache_variables["SLEEF_BUILD_TESTS"] = False + tc.cache_variables["SLEEF_BUILD_INLINE_HEADERS"] = False + tc.cache_variables["SLEEF_SHOW_CONFIG"] = True + tc.cache_variables["SLEEF_SHOW_ERROR_LOG"] = False + tc.cache_variables["SLEEF_ENABLE_ALTDIV"] = False + tc.cache_variables["SLEEF_ENABLE_ALTSQRT"] = False + tc.cache_variables["SLEEF_DISABLE_FFTW"] = True + tc.cache_variables["SLEEF_DISABLE_MPFR"] = True + tc.cache_variables["SLEEF_DISABLE_SSL"] = True + tc.cache_variables["SLEEF_ENABLE_CUDA"] = False + tc.cache_variables["SLEEF_ENABLE_CXX"] = False + else: + tc.cache_variables["BUILD_DFT"] = False + tc.cache_variables["BUILD_GNUABI_LIBS"] = False + tc.cache_variables["BUILD_TESTS"] = False + tc.cache_variables["DISABLE_FFTW"] = True + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "dummy")) def package_info(self): - self.cpp_info.names["pkg_config"] = "sleef" + self.cpp_info.set_property("pkg_config_name", "sleef") self.cpp_info.libs = ["sleef"] if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.defines = ["SLEEF_STATIC_LIBS"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] diff --git a/recipes/sleef/all/test_package/CMakeLists.txt b/recipes/sleef/all/test_package/CMakeLists.txt index 7b9b613cbb24a..a5f1ed24ef5f7 100644 --- a/recipes/sleef/all/test_package/CMakeLists.txt +++ b/recipes/sleef/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(sleef REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE sleef::sleef) diff --git a/recipes/sleef/all/test_package/conanfile.py b/recipes/sleef/all/test_package/conanfile.py index 5216332f39f5c..ef5d7042163ec 100644 --- a/recipes/sleef/all/test_package/conanfile.py +++ b/recipes/sleef/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sleef/all/test_v1_package/CMakeLists.txt b/recipes/sleef/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sleef/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sleef/all/test_v1_package/conanfile.py b/recipes/sleef/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a9f777f7680ff --- /dev/null +++ b/recipes/sleef/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/sleef/config.yml b/recipes/sleef/config.yml index 2276d8a2cd6a8..3c718426b97bd 100644 --- a/recipes/sleef/config.yml +++ b/recipes/sleef/config.yml @@ -1,3 +1,5 @@ versions: + "3.6": + folder: all "3.5.1": folder: all From c2a91a2cb6c93c4ec6026cc5e65102ed681b3caa Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 22:30:04 +0900 Subject: [PATCH 3775/4087] (#20388) fast_io: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fast_io: add recipe * Apple-Clang 13 has partial support for Concepts * drop support clang<11 * downgrade to cci.20230418 * Update to latest version * Fix config.yml * update version, fix test_package.cpp --------- Co-authored-by: Rubén Rincón Co-authored-by: Rubén Rincón Blanco --- recipes/fast_io/all/conandata.yml | 4 ++ recipes/fast_io/all/conanfile.py | 68 +++++++++++++++++++ .../fast_io/all/test_package/CMakeLists.txt | 8 +++ recipes/fast_io/all/test_package/conanfile.py | 25 +++++++ .../fast_io/all/test_package/test_package.cpp | 8 +++ recipes/fast_io/config.yml | 3 + 6 files changed, 116 insertions(+) create mode 100644 recipes/fast_io/all/conandata.yml create mode 100644 recipes/fast_io/all/conanfile.py create mode 100644 recipes/fast_io/all/test_package/CMakeLists.txt create mode 100644 recipes/fast_io/all/test_package/conanfile.py create mode 100644 recipes/fast_io/all/test_package/test_package.cpp create mode 100644 recipes/fast_io/config.yml diff --git a/recipes/fast_io/all/conandata.yml b/recipes/fast_io/all/conandata.yml new file mode 100644 index 0000000000000..a32bf70cd25f3 --- /dev/null +++ b/recipes/fast_io/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20240219": + url: "https://github.com/cppfastio/fast_io/archive/316afccde333721b059a761b25217084e84a9ca0.tar.gz" + sha256: "9feab7802957c8069b2a112f97bfb885d503ff5d7f433197f47636f40a20188a" diff --git a/recipes/fast_io/all/conanfile.py b/recipes/fast_io/all/conanfile.py new file mode 100644 index 0000000000000..32f435f8730b5 --- /dev/null +++ b/recipes/fast_io/all/conanfile.py @@ -0,0 +1,68 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + + +class FastIoConan(ConanFile): + name = "fast_io" + description = "fast_io is a C++ io exception-safe RAII library based on C++ 20 Concepts. It is at least 10 times faster than cstdio than iostream." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/cppfastio/fast_io" + topics = ("cstdio", "iostream", "io", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "13", + "clang": "15", + # Apple-Clang 13 is not enough in this case, + # partial support for concepts + "apple-clang": "14", + "Visual Studio": "17", + "msvc": "193", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="license.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fast_io/all/test_package/CMakeLists.txt b/recipes/fast_io/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..091f3e6ef74db --- /dev/null +++ b/recipes/fast_io/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(fast_io REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fast_io::fast_io) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/fast_io/all/test_package/conanfile.py b/recipes/fast_io/all/test_package/conanfile.py new file mode 100644 index 0000000000000..b9d7f11e89dcd --- /dev/null +++ b/recipes/fast_io/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fast_io/all/test_package/test_package.cpp b/recipes/fast_io/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..0e163592d3756 --- /dev/null +++ b/recipes/fast_io/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include "fast_io.h" + +int main() { + fast_io::io::print(4, " " ,4, "\n"); + + return 0; +} diff --git a/recipes/fast_io/config.yml b/recipes/fast_io/config.yml new file mode 100644 index 0000000000000..957c6f90fa002 --- /dev/null +++ b/recipes/fast_io/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20240219": + folder: all From 584c8d8815c8170b2f9f184edeb5e5c2c4374a0b Mon Sep 17 00:00:00 2001 From: "Lucas K. Dal Castel" Date: Mon, 26 Feb 2024 11:08:35 -0300 Subject: [PATCH 3776/4087] (#20851) freealut: add recipe * freealut: add recipe * freealut: [CR] - split patches * Simplify recipe without patches Signed-off-by: Uilian Ries * freealut: portability - make it build for Windows * freealut: Disable static lib build for macOS * remove openal-soft shared option enforcement Co-authored-by: Uilian Ries * remove openal-soft shared option default value Co-authored-by: Uilian Ries * fix comment * Add validation related to openal-soft in Windows freealut's cmake currently is using find_library instead of the package finders so it wouldn't get its public compile definitions. This causes al.h be preprocessed as a dynamic library. Since Windows symbols are different for dynamic and static methods they aren't found. * Add hint to build using openlal-soft as a shared lib in Windows. --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/freealut/all/conandata.yml | 4 + recipes/freealut/all/conanfile.py | 96 +++++++++++++++++++ .../freealut/all/test_package/CMakeLists.txt | 7 ++ .../freealut/all/test_package/conanfile.py | 26 +++++ .../freealut/all/test_package/test_package.c | 40 ++++++++ recipes/freealut/config.yml | 3 + 6 files changed, 176 insertions(+) create mode 100644 recipes/freealut/all/conandata.yml create mode 100644 recipes/freealut/all/conanfile.py create mode 100644 recipes/freealut/all/test_package/CMakeLists.txt create mode 100644 recipes/freealut/all/test_package/conanfile.py create mode 100644 recipes/freealut/all/test_package/test_package.c create mode 100644 recipes/freealut/config.yml diff --git a/recipes/freealut/all/conandata.yml b/recipes/freealut/all/conandata.yml new file mode 100644 index 0000000000000..4ac03e7d67b4e --- /dev/null +++ b/recipes/freealut/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.0": + url: "http://ftp.debian.org/debian/pool/main/f/freealut/freealut_1.1.0.orig.tar.gz" + sha256: "60d1ea8779471bb851b89b49ce44eecb78e46265be1a6e9320a28b100c8df44f" diff --git a/recipes/freealut/all/conanfile.py b/recipes/freealut/all/conanfile.py new file mode 100644 index 0000000000000..42eae88dfb458 --- /dev/null +++ b/recipes/freealut/all/conanfile.py @@ -0,0 +1,96 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.54" + +class FreeAlutConan(ConanFile): + name = "freealut" + description = "freealut is a free implementation of OpenAL's ALUT standard." + topics = ("openal", "audio", "api") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://openal.org" + license = "LGPL-2.0-or-later" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + # FIXME: freealut supports Windows and Macos, but the recipe needs some help to work. + if self.settings.os in ["Windows", "Macos"] and \ + not self.options.shared: + raise ConanInvalidConfiguration( + f"{self.ref} recipe is currently not prepared for Windows or Macos. Contributions are welcome." + ) + + # freealut's cmake currently is using find_library instead of the package finders so it wouldn't get its public compile definitions. + # This causes al.h to be preprocessed as a dynamic library. Since Windows symbols are different for dynamic and static methods they aren't found. + if self.settings.os == "Windows" and \ + not self.dependencies["openal-soft"].options.shared: + raise ConanInvalidConfiguration( + f"{self.ref} cmake is currently not prepared to use openal-soft as a static library on Windows. Add option openal-soft/*:shared=True." + ) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("openal-soft/1.22.2", transitive_headers=True, transitive_libs=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeDeps(self) + tc.generate() + tc = CMakeToolchain(self) + # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0003"] = "NEW" + tc.variables["BUILD_STATIC"] = not self.options.shared + # INFO: CMakeDeps generates CamelCase variables + tc.variables["OPENAL_LIB_DIR"] = os.path.join(self.dependencies["openal-soft"].package_folder, "lib") + tc.variables["OPENAL_INCLUDE_DIR"] = os.path.join(self.dependencies["openal-soft"].package_folder, "include") + if self.settings.os == "Windows": + tc.variables["OPENAL_INCLUDE_DIR"] += ";" + os.path.join(self.dependencies["openal-soft"].package_folder, "include", "AL") + tc.variables["OPENAL_LIB_DIR"] = tc.variables["OPENAL_LIB_DIR"].replace("\\","/") + tc.variables["OPENAL_INCLUDE_DIR"] = tc.variables["OPENAL_INCLUDE_DIR"].replace("\\","/") + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if not self.options.shared: + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) + + def package_info(self): + self.cpp_info.libs = ['alut'] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] + if self.options.shared: + self.cpp_info.defines.append("ALUT_BUILD_LIBRARY") diff --git a/recipes/freealut/all/test_package/CMakeLists.txt b/recipes/freealut/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4ba52d1b57dea --- /dev/null +++ b/recipes/freealut/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(freealut REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE freealut::freealut) diff --git a/recipes/freealut/all/test_package/conanfile.py b/recipes/freealut/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/freealut/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/freealut/all/test_package/test_package.c b/recipes/freealut/all/test_package/test_package.c new file mode 100644 index 0000000000000..eebaa554d158e --- /dev/null +++ b/recipes/freealut/all/test_package/test_package.c @@ -0,0 +1,40 @@ +#include +#include +#include + +/* + This program checks that the version of OpenAL in the + library agrees with the header file we're compiled against. +*/ + +int +main (int argc, char **argv) +{ + ALboolean ok = AL_FALSE; + + alutInit (&argc, argv); + +#ifdef ALUT_API_MAJOR_VERSION + if (alutGetMajorVersion () != ALUT_API_MAJOR_VERSION || + alutGetMinorVersion () != ALUT_API_MINOR_VERSION) + { + fprintf (stderr, + "WARNING: The ALUT library is version %d.%d.x but says it's %d.%d.x!\n", + alutGetMajorVersion (), alutGetMinorVersion (), + ALUT_API_MAJOR_VERSION, ALUT_API_MINOR_VERSION); + } + else + { + fprintf (stderr, "The ALUT library is at version %d.%d.x.\n", + alutGetMajorVersion (), alutGetMinorVersion ()); + ok = AL_TRUE; + } +#else + fprintf (stderr, "WARNING: Your copy of is pre-1.0.0,\n"); + fprintf (stderr, "but you are running the ALUT test suite from ALUT\n"); + fprintf (stderr, "version 1.0.0 or later.\n"); +#endif + + alutExit (); + return ok ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/recipes/freealut/config.yml b/recipes/freealut/config.yml new file mode 100644 index 0000000000000..b5c0d3cb2d409 --- /dev/null +++ b/recipes/freealut/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.0": + folder: all From c87d051c801658a61874d2de6b34975c248cc9d9 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 26 Feb 2024 08:25:06 -0600 Subject: [PATCH 3777/4087] (#20905) freeglut: Add support for Wayland * freeglut: Add support for Wayland * Add patch for 3.2.2 * Use VirtualBuildEnv * Ensure that the GLES libraries are linked in from the libglvnd Conan package * Revert "Use VirtualBuildEnv" This reverts commit b32ddc8c4abd14d89cfa8b9f19967ea01cb5b8bf. * Drop v1 test packages * Bump CMake minimum required to 3.11 to enable policy CMP0072 * Bump the minimum required CMake version * Add a patch to include a missing function definition * Update patches to match the fixes merged upstream * Add patch to pick up the correct GLES libraries * Only allow the gles option on Linux and FreeBSD * Set default for get_safe * Default GLES as the upstream project does --- recipes/freeglut/all/conandata.yml | 36 +++++++ recipes/freeglut/all/conanfile.py | 101 ++++++++++++++++-- ...e-and-pkg_check_modules-to-find-more.patch | 94 ++++++++++++++++ ...defined-reference-to-glutCreateMenuU.patch | 25 +++++ ...-to-locate-GL-libraries-not-provided.patch | 65 +++++++++++ ...e-and-pkg_check_modules-to-find-more.patch | 94 ++++++++++++++++ ...-to-locate-GL-libraries-not-provided.patch | 65 +++++++++++ ...e-and-pkg_check_modules-to-find-more.patch | 100 +++++++++++++++++ ...-to-locate-GL-libraries-not-provided.patch | 65 +++++++++++ .../freeglut/all/test_package/CMakeLists.txt | 2 +- .../all/test_package_module/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 -- .../freeglut/all/test_v1_package/conanfile.py | 22 ---- .../all/test_v1_package_module/CMakeLists.txt | 8 -- .../all/test_v1_package_module/conanfile.py | 22 ---- 15 files changed, 636 insertions(+), 73 deletions(-) create mode 100644 recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch create mode 100644 recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch create mode 100644 recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch create mode 100644 recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch create mode 100644 recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch create mode 100644 recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch create mode 100644 recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch delete mode 100644 recipes/freeglut/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/freeglut/all/test_v1_package/conanfile.py delete mode 100644 recipes/freeglut/all/test_v1_package_module/CMakeLists.txt delete mode 100644 recipes/freeglut/all/test_v1_package_module/conanfile.py diff --git a/recipes/freeglut/all/conandata.yml b/recipes/freeglut/all/conandata.yml index e132a04abbb80..7ae0b0d3b9c12 100644 --- a/recipes/freeglut/all/conandata.yml +++ b/recipes/freeglut/all/conandata.yml @@ -8,3 +8,39 @@ sources: "3.2.1": sha256: "d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68" url: "https://github.com/FreeGLUTProject/freeglut/releases/download/v3.2.1/freeglut-3.2.1.tar.gz" +patches: + "3.4.0": + - patch_file: "patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" + patch_description: "Use find_package and pkg_check_modules to find dependencies" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/147" + patch_type: "conan" + - patch_file: "patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch" + patch_description: "Use find_library to locate GL libraries" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" + patch_type: "portability" + "3.2.2": + - patch_file: "patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch" + patch_description: "Add a missing function definition" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/122" + patch_type: "portability" + - patch_file: "patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" + patch_description: "Use find_package and pkg_check_modules to find dependencies" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/147" + patch_type: "conan" + - patch_file: "patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch" + patch_description: "Use find_library to locate GL libraries" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" + patch_type: "portability" + "3.2.1": + - patch_file: "patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" + patch_description: "Use find_package and pkg_check_modules to find dependencies" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/147" + patch_type: "conan" + - patch_file: "patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch" + patch_description: "Add a missing function definition" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/122" + patch_type: "portability" + - patch_file: "patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch" + patch_description: "Use find_library to locate GL libraries" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" + patch_type: "portability" diff --git a/recipes/freeglut/all/conanfile.py b/recipes/freeglut/all/conanfile.py index d8b38c56cfa8c..941d6703c1432 100644 --- a/recipes/freeglut/all/conanfile.py +++ b/recipes/freeglut/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir +from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version import os @@ -11,7 +12,7 @@ class freeglutConan(ConanFile): name = "freeglut" description = "Open-source alternative to the OpenGL Utility Toolkit (GLUT) library" - topics = ("opengl", "gl", "glut", "utility", "toolkit", "graphics") + topics = ("gl", "glut", "graphics," "opengl", "toolkit", "utility") url = "https://github.com/conan-io/conan-center-index" homepage = "http://freeglut.sourceforge.net" license = "X11" @@ -24,6 +25,8 @@ class freeglutConan(ConanFile): "print_errors_at_runtime": [True, False], "print_warnings_at_runtime": [True, False], "replace_glut": [True, False], + "with_wayland": [True, False], + } default_options = { "shared": False, @@ -32,11 +35,41 @@ class freeglutConan(ConanFile): "print_errors_at_runtime": True, "print_warnings_at_runtime": True, "replace_glut": True, + "with_wayland": True, } + @property + def _requires_libglvnd_egl(self): + return self._requires_libglvnd_gles or self.options.get_safe("with_wayland") + + @property + def _requires_libglvnd_gles(self): + return self._with_libglvnd and self.options.get_safe("gles") + + @property + def _requires_libglvnd_glx(self): + return self._with_libglvnd and not self.options.get_safe("gles") + + @property + def _with_libglvnd(self): + return self.settings.os in ["FreeBSD", "Linux"] + + @property + def _with_x11(self): + return self.settings.os in ["FreeBSD", "Linux"] and not self.options.get_safe("with_wayland") + + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") + if self.settings.os not in ["Android", "FreeBSD", "Linux"]: + self.options.rm_safe("gles") + else: + self.options.gles = self.settings.os == "Android" + if self.settings.os != "Linux": + self.options.rm_safe("with_wayland") def configure(self): if self.options.shared: @@ -44,13 +77,29 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") + if self._requires_libglvnd_egl: + self.options["libglvnd"].egl = True + if self._requires_libglvnd_gles: + self.options["libglvnd"].gles1 = True + self.options["libglvnd"].gles2 = True + if self._requires_libglvnd_glx: + self.options["libglvnd"].glx = True + if self.options.get_safe("with_wayland"): + self.options["xkbcommon"].with_wayland = True + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("opengl/system") self.requires("glu/system") - if self.settings.os == "Linux": + if self._with_libglvnd: + self.requires("libglvnd/1.7.0") + else: + self.requires("opengl/system") + if self.options.get_safe("with_wayland"): + self.requires("wayland/1.22.0") + self.requires("xkbcommon/1.6.0") + if self._with_x11: self.requires("xorg/system") def validate(self): @@ -64,6 +113,17 @@ def validate(self): (self.settings.compiler == "clang" and Version(self.settings.compiler.version) >= "11.0"): # see https://github.com/dcnieho/FreeGLUT/issues/86 raise ConanInvalidConfiguration(f"{self.ref} does not support gcc >= 10 and clang >= 11") + if self._requires_libglvnd_egl and not self.dependencies["libglvnd"].options.egl: + raise ConanInvalidConfiguration(f"{self.ref} requires the egl option of libglvnd to be enabled when either the gles option or with_wayland option is enabled") + if self._requires_libglvnd_gles and not self.dependencies["libglvnd"].options.gles1: + raise ConanInvalidConfiguration(f"{self.ref} requires the gles1 option of libglvnd to be enabled when the gles option is enabled") + if self._requires_libglvnd_gles and not self.dependencies["libglvnd"].options.gles2: + raise ConanInvalidConfiguration(f"{self.ref} requires the gles2 option of libglvnd to be enabled when the gles option is enabled") + if self._requires_libglvnd_glx and not self.dependencies["libglvnd"].options.glx: + raise ConanInvalidConfiguration(f"{self.ref} requires the glx option of libglvnd to be enabled when the gles option is disabled") + if self.options.get_safe("with_wayland") and not self.dependencies["xkbcommon"].options.with_wayland: + raise ConanInvalidConfiguration(f"{self.ref} requires the with_wayland option of xkbcommon to be enabled when the with_wayland option is enabled") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -73,22 +133,28 @@ def generate(self): tc.variables["FREEGLUT_BUILD_DEMOS"] = False tc.variables["FREEGLUT_BUILD_STATIC_LIBS"] = not self.options.shared tc.variables["FREEGLUT_BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["FREEGLUT_GLES"] = self.options.gles + tc.variables["FREEGLUT_GLES"] = self.options.get_safe("gles", False) tc.variables["FREEGLUT_PRINT_ERRORS"] = self.options.print_errors_at_runtime tc.variables["FREEGLUT_PRINT_WARNINGS"] = self.options.print_warnings_at_runtime + tc.variables["FREEGLUT_WAYLAND"] = self.options.get_safe("with_wayland", False) tc.variables["FREEGLUT_INSTALL_PDB"] = False tc.variables["INSTALL_PDB"] = False tc.variables["FREEGLUT_REPLACE_GLUT"] = self.options.replace_glut tc.preprocessor_definitions["FREEGLUT_LIB_PRAGMAS"] = "0" tc.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) @@ -107,7 +173,7 @@ def package_info(self): # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed self.cpp_info.components["freeglut_"].libs = collect_libs(self) - if self.settings.os == "Linux": + if self.settings.os in ["FreeBSD", "Linux"]: self.cpp_info.components["freeglut_"].system_libs.extend(["pthread", "m", "dl", "rt"]) elif self.settings.os == "Windows": if not self.options.shared: @@ -124,6 +190,19 @@ def package_info(self): self.cpp_info.components["freeglut_"].names["cmake_find_package_multi"] = config_target self.cpp_info.components["freeglut_"].set_property("cmake_target_name", f"FreeGLUT::{config_target}") self.cpp_info.components["freeglut_"].set_property("pkg_config_name", pkg_config) - self.cpp_info.components["freeglut_"].requires.extend(["opengl::opengl", "glu::glu"]) - if self.settings.os == "Linux": + self.cpp_info.components["freeglut_"].requires.append("glu::glu") + if self._requires_libglvnd_egl: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::egl") + if self._requires_libglvnd_gles: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::gles1") + self.cpp_info.components["freeglut_"].requires.append("libglvnd::gles2") + if self._requires_libglvnd_glx: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::gl") + if self._with_libglvnd: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::opengl") + else: + self.cpp_info.components["freeglut_"].requires.append("opengl::opengl") + if self._with_x11: self.cpp_info.components["freeglut_"].requires.append("xorg::xorg") + if self.options.get_safe("with_wayland"): + self.cpp_info.components["freeglut_"].requires.extend(["wayland::wayland-client", "wayland::wayland-cursor", "wayland::wayland-egl", "xkbcommon::xkbcommon"]) diff --git a/recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch b/recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch new file mode 100644 index 0000000000000..9e1c3b9056866 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch @@ -0,0 +1,94 @@ +From 4c573afc0453f3572c494d22b4f3bad9a9ce4073 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 07:38:42 -0600 +Subject: [PATCH] Use find_package and pkg_check_modules to find more + dependencies + +This commit enhances the use of the FindOpenGL CMake module. +This requires CMake version 3.10 for the OpenGL::EGL imported target. +CMake 3.11 and later enable CMake policy CMP0072. +This prefers the GLVND libraries when available. + +Finds the Wayland and xkbcommon dependencies with pkg_check_modules. +This works with the pkg-config files provided by the upstream projects. +--- + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6f403afa..a2a95c02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR) +-PROJECT(freeglut) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR) ++PROJECT(freeglut LANGUAGES C) ++ ++if (POLICY CMP0072) ++ cmake_policy(SET CMP0072 NEW) ++endif() + + # for multiarch LIBDIR support (requires cmake>=2.8.8) + INCLUDE(GNUInstallDirs) +@@ -257,17 +261,52 @@ ENDIF() + # GLES1 and GLES2 libraries are compatible and can be co-linked. + IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) +- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.27") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) ++ LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ endif() + ELSE() +- FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) +- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL) ++ LIST(APPEND LIBS OpenGL::GL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL + IF(FREEGLUT_WAYLAND) + ADD_DEFINITIONS(-DFREEGLUT_WAYLAND) +- LIST(APPEND LIBS wayland-client wayland-cursor wayland-egl EGL xkbcommon) ++ INCLUDE(FindPkgConfig) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL) ++ endif() ++ if(NOT CMAKE_VERSION VERSION_LESS "3.6") ++ PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED IMPORTED_TARGET wayland-cursor) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED IMPORTED_TARGET wayland-egl) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED IMPORTED_TARGET xkbcommon) ++ LIST(APPEND LIBS PkgConfig::wayland-client PkgConfig::wayland-cursor PkgConfig::wayland-egl PkgConfig::xkbcommon) ++ else() ++ PKG_CHECK_MODULES(wayland-client REQUIRED) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED) ++ LIST(APPEND LIBS ${wayland-client_LINK_LIBRARIES} ${wayland-cursor_LINK_LIBRARIES} ${wayland-egl_LINK_LIBRARIES} ${xkbcommon_LINK_LIBRARIES}) ++ INCLUDE_DIRECTORIES(${wayland-client_INCLUDE_DIRS} ${wayland-cursor_INCLUDE_DIRS} ${wayland-egl_INCLUDE_DIRS} ${xkbcommon_INCLUDE_DIRS}) ++ endif() + ENDIF() + + # lib m for math, not needed on windows +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch b/recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch new file mode 100644 index 0000000000000..039c12be9d43d --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch @@ -0,0 +1,25 @@ +From 782e63b2eacd47155864d0d1d9b70615418e3083 Mon Sep 17 00:00:00 2001 +From: Jonatha Gabriel +Date: Sun, 4 Sep 2022 23:25:23 -0300 +Subject: [PATCH] fixed android undefined reference to glutCreateMenuUcall + +--- + src/gles_stubs.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/gles_stubs.c b/src/gles_stubs.c +index bc87c0d8..63a19209 100644 +--- a/src/gles_stubs.c ++++ b/src/gles_stubs.c +@@ -18,6 +18,8 @@ GLboolean fgCheckActiveMenu ( SFG_Window *window, int button, GLboolean pressed, + return GL_FALSE; + } + ++int FGAPIENTRY glutCreateMenuUcall( FGCBMenuUC callback, FGCBUserData userData ) { return 0; } ++ + int glutCreateMenu( void (* callback)( int menu ) ) { return 0; } + void glutDestroyMenu( int menu ) {} + int glutGetMenu( void ) { return 0; } +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch b/recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch new file mode 100644 index 0000000000000..2a08c1427e3f1 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch @@ -0,0 +1,65 @@ +From 9564dbb645a4be08aff7b65ac35b56e185a7598c Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 11:00:39 -0600 +Subject: [PATCH] Use find_library to locate GL libraries not provided by + FindOpenGL + +FindOpenGL is used to find the OpenGL libraries. +It doesn't find all of the necessary libraries, however. +These missing libraries have been added to the link line directly. +This is problematic when FindOpenGL is pointed at OpenGL libraries somewhere outside LD_LIBRARY_PATH and the system's default linker paths. +In such cases, the libraries won't be found at link time. + +CMake's find_library function can be used instead to add the libraries as this commit does. +This function can use the location of the GL libraries that were already found as a hint. +Furthermore, this allows consumers to use CMake cache variables to set the exact libraries to use if needed. +--- + CMakeLists.txt | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a2a95c02..772e73f3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -263,13 +263,23 @@ IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) + if(NOT CMAKE_VERSION VERSION_LESS "3.27") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) +- LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ CMAKE_PATH(GET OPENGL_gles2_LIBRARY PARENT_PATH _OPENGL_LIBDIR) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR} REQUIRED) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) + elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) +- LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${OPENGL_egl_LIBRARY} DIRECTORY) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} ${GLES2_LIBRARY} OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY} ${GLES1_LIBRARY} ${GLES2_LIBRARY}) + endif() + ELSE() + if(NOT CMAKE_VERSION VERSION_LESS "3.10") +@@ -291,7 +301,10 @@ IF(FREEGLUT_WAYLAND) + LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY}) + endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.6") + PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch b/recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch new file mode 100644 index 0000000000000..83ea577575c3c --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch @@ -0,0 +1,94 @@ +From 4b4f63a41d4ee33a4b3c048bb4281051acbad106 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 07:38:42 -0600 +Subject: [PATCH] Use find_package and pkg_check_modules to find more + dependencies + +This commit enhances the use of the FindOpenGL CMake module. +This requires CMake version 3.10 for the OpenGL::EGL imported target. +CMake 3.11 and later enable CMake policy CMP0072. +This prefers the GLVND libraries when available. + +Finds the Wayland and xkbcommon dependencies with pkg_check_modules. +This works with the pkg-config files provided by the upstream projects. +--- + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ac8c8df3..f97f14ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR) +-PROJECT(freeglut) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR) ++PROJECT(freeglut LANGUAGES C) ++ ++if (POLICY CMP0072) ++ cmake_policy(SET CMP0072 NEW) ++endif() + + # for multiarch LIBDIR support (requires cmake>=2.8.8) + INCLUDE(GNUInstallDirs) +@@ -261,17 +265,52 @@ ENDIF() + # GLES1 and GLES2 libraries are compatible and can be co-linked. + IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) +- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.27") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) ++ LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ endif() + ELSE() +- FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) +- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL) ++ LIST(APPEND LIBS OpenGL::GL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL + IF(FREEGLUT_WAYLAND) + ADD_DEFINITIONS(-DFREEGLUT_WAYLAND) +- LIST(APPEND LIBS wayland-client wayland-cursor wayland-egl EGL xkbcommon) ++ INCLUDE(FindPkgConfig) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL) ++ endif() ++ if(NOT CMAKE_VERSION VERSION_LESS "3.6") ++ PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED IMPORTED_TARGET wayland-cursor) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED IMPORTED_TARGET wayland-egl) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED IMPORTED_TARGET xkbcommon) ++ LIST(APPEND LIBS PkgConfig::wayland-client PkgConfig::wayland-cursor PkgConfig::wayland-egl PkgConfig::xkbcommon) ++ else() ++ PKG_CHECK_MODULES(wayland-client REQUIRED) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED) ++ LIST(APPEND LIBS ${wayland-client_LINK_LIBRARIES} ${wayland-cursor_LINK_LIBRARIES} ${wayland-egl_LINK_LIBRARIES} ${xkbcommon_LINK_LIBRARIES}) ++ INCLUDE_DIRECTORIES(${wayland-client_INCLUDE_DIRS} ${wayland-cursor_INCLUDE_DIRS} ${wayland-egl_INCLUDE_DIRS} ${xkbcommon_INCLUDE_DIRS}) ++ endif() + ENDIF() + + # lib m for math, not needed on windows +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch b/recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch new file mode 100644 index 0000000000000..42975bdd0a638 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch @@ -0,0 +1,65 @@ +From 0bf1cd0cf4291ef130dcbf708128c72440ed6178 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 11:00:39 -0600 +Subject: [PATCH] Use find_library to locate GL libraries not provided by + FindOpenGL + +FindOpenGL is used to find the OpenGL libraries. +It doesn't find all of the necessary libraries, however. +These missing libraries have been added to the link line directly. +This is problematic when FindOpenGL is pointed at OpenGL libraries somewhere outside LD_LIBRARY_PATH and the system's default linker paths. +In such cases, the libraries won't be found at link time. + +CMake's find_library function can be used instead to add the libraries as this commit does. +This function can use the location of the GL libraries that were already found as a hint. +Furthermore, this allows consumers to use CMake cache variables to set the exact libraries to use if needed. +--- + CMakeLists.txt | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f97f14ff..c2549b1b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -267,13 +267,23 @@ IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) + if(NOT CMAKE_VERSION VERSION_LESS "3.27") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) +- LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ CMAKE_PATH(GET OPENGL_gles2_LIBRARY PARENT_PATH _OPENGL_LIBDIR) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR} REQUIRED) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) + elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) +- LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${OPENGL_egl_LIBRARY} DIRECTORY) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} ${GLES2_LIBRARY} OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY} ${GLES1_LIBRARY} ${GLES2_LIBRARY}) + endif() + ELSE() + if(NOT CMAKE_VERSION VERSION_LESS "3.10") +@@ -295,7 +305,10 @@ IF(FREEGLUT_WAYLAND) + LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY}) + endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.6") + PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch b/recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch new file mode 100644 index 0000000000000..ccc7efdb7a68d --- /dev/null +++ b/recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch @@ -0,0 +1,100 @@ +From c60bc900b74d4e18994200550d26ae860899003f Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Thu, 2 Nov 2023 15:27:49 -0500 +Subject: [PATCH] Use find_package and pkg_check_modules to find more + dependencies + +This commit enhances the use of the FindOpenGL CMake module. +This requires CMake version 3.10 for the OpenGL::EGL imported target. +CMake 3.11 and later enable CMake policy CMP0072. +This prefers the GLVND libraries when available. + +Finds the Wayland and xkbcommon dependencies with pkg_check_modules. +This works with the pkg-config files provided by the upstream projects. +--- + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 832d8672..87a54ae5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR) +-PROJECT(freeglut C) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR) ++PROJECT(freeglut LANGUAGES C) ++ ++if (POLICY CMP0072) ++ cmake_policy(SET CMP0072 NEW) ++endif() + + # for multiarch LIBDIR support (requires cmake>=2.8.8) + INCLUDE(GNUInstallDirs) +@@ -292,7 +296,16 @@ ENDIF() + # GLES1 and GLES2 libraries are compatible and can be co-linked. + IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) +- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.27") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) ++ LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ endif() + ELSE() + # On OS X, we need to link against the X11 OpenGL libraries, NOT the Cocoa OpenGL libraries. + # To do that, you need to manually find two of the libraries before calling FindOpenGL +@@ -304,15 +317,41 @@ ELSE() + find_library(OPENGL_glu_LIBRARY NAME GLU HINTS ${X11_LIB_PATH}) + endif() + +- FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) +- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL) ++ LIST(APPEND LIBS OpenGL::GL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL + IF(FREEGLUT_WAYLAND) + ADD_DEFINITIONS(-DFREEGLUT_WAYLAND) +- LIST(APPEND LIBS wayland-client wayland-cursor wayland-egl EGL xkbcommon) ++ INCLUDE(FindPkgConfig) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL) ++ endif() ++ if(NOT CMAKE_VERSION VERSION_LESS "3.6") ++ PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED IMPORTED_TARGET wayland-cursor) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED IMPORTED_TARGET wayland-egl) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED IMPORTED_TARGET xkbcommon) ++ LIST(APPEND LIBS PkgConfig::wayland-client PkgConfig::wayland-cursor PkgConfig::wayland-egl PkgConfig::xkbcommon) ++ else() ++ PKG_CHECK_MODULES(wayland-client REQUIRED) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED) ++ LIST(APPEND LIBS ${wayland-client_LINK_LIBRARIES} ${wayland-cursor_LINK_LIBRARIES} ${wayland-egl_LINK_LIBRARIES} ${xkbcommon_LINK_LIBRARIES}) ++ INCLUDE_DIRECTORIES(${wayland-client_INCLUDE_DIRS} ${wayland-cursor_INCLUDE_DIRS} ${wayland-egl_INCLUDE_DIRS} ${xkbcommon_INCLUDE_DIRS}) ++ endif() + ENDIF() + + # lib m for math, not needed on windows +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch b/recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch new file mode 100644 index 0000000000000..585a7de277647 --- /dev/null +++ b/recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch @@ -0,0 +1,65 @@ +From 4840a7d77e772d96074af64b6234cbc6e881d223 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 11:00:39 -0600 +Subject: [PATCH] Use find_library to locate GL libraries not provided by + FindOpenGL + +FindOpenGL is used to find the OpenGL libraries. +It doesn't find all of the necessary libraries, however. +These missing libraries have been added to the link line directly. +This is problematic when FindOpenGL is pointed at OpenGL libraries somewhere outside LD_LIBRARY_PATH and the system's default linker paths. +In such cases, the libraries won't be found at link time. + +CMake's find_library function can be used instead to add the libraries as this commit does. +This function can use the location of the GL libraries that were already found as a hint. +Furthermore, this allows consumers to use CMake cache variables to set the exact libraries to use if needed. +--- + CMakeLists.txt | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 87a54ae5..afb4d735 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -298,13 +298,23 @@ IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) + if(NOT CMAKE_VERSION VERSION_LESS "3.27") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) +- LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ CMAKE_PATH(GET OPENGL_gles2_LIBRARY PARENT_PATH _OPENGL_LIBDIR) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR} REQUIRED) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) + elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) +- LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${OPENGL_egl_LIBRARY} DIRECTORY) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} ${GLES2_LIBRARY} OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY} ${GLES1_LIBRARY} ${GLES2_LIBRARY}) + endif() + ELSE() + # On OS X, we need to link against the X11 OpenGL libraries, NOT the Cocoa OpenGL libraries. +@@ -336,7 +346,10 @@ IF(FREEGLUT_WAYLAND) + LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY}) + endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.6") + PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) +-- +2.41.0 + diff --git a/recipes/freeglut/all/test_package/CMakeLists.txt b/recipes/freeglut/all/test_package/CMakeLists.txt index 8010c630a0049..9640aaa16d3b0 100644 --- a/recipes/freeglut/all/test_package/CMakeLists.txt +++ b/recipes/freeglut/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(FreeGLUT REQUIRED CONFIG) diff --git a/recipes/freeglut/all/test_package_module/CMakeLists.txt b/recipes/freeglut/all/test_package_module/CMakeLists.txt index cfee51d49e44b..91faaebf9894b 100644 --- a/recipes/freeglut/all/test_package_module/CMakeLists.txt +++ b/recipes/freeglut/all/test_package_module/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(GLUT REQUIRED MODULE) diff --git a/recipes/freeglut/all/test_v1_package/CMakeLists.txt b/recipes/freeglut/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/freeglut/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/freeglut/all/test_v1_package/conanfile.py b/recipes/freeglut/all/test_v1_package/conanfile.py deleted file mode 100644 index f044ed5376bf7..0000000000000 --- a/recipes/freeglut/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - self.requires("opengl/system") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/freeglut/all/test_v1_package_module/CMakeLists.txt b/recipes/freeglut/all/test_v1_package_module/CMakeLists.txt deleted file mode 100644 index 27f7a57e7a0b3..0000000000000 --- a/recipes/freeglut/all/test_v1_package_module/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package_module - ${CMAKE_CURRENT_BINARY_DIR}/test_package_module) diff --git a/recipes/freeglut/all/test_v1_package_module/conanfile.py b/recipes/freeglut/all/test_v1_package_module/conanfile.py deleted file mode 100644 index f0bc95c494a3c..0000000000000 --- a/recipes/freeglut/all/test_v1_package_module/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - self.requires("opengl/system") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 5fa91903932e331cda514f2cab9d99cf2a2ba34f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 23:45:33 +0900 Subject: [PATCH 3778/4087] (#21323) duckx: add recipe * duckx: add recipe * copy license * fix pugixml link error * fix compilation error on windows * add default_options for pugixml * fix error message Co-authored-by: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> * bump up kuba-zip Co-authored-by: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> --------- Co-authored-by: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> --- recipes/duckx/all/conandata.yml | 9 ++ recipes/duckx/all/conanfile.py | 83 +++++++++++++++++++ recipes/duckx/all/patches/0001-use-cci.patch | 53 ++++++++++++ recipes/duckx/all/test_package/CMakeLists.txt | 8 ++ recipes/duckx/all/test_package/conanfile.py | 25 ++++++ .../duckx/all/test_package/test_package.cpp | 8 ++ recipes/duckx/config.yml | 3 + 7 files changed, 189 insertions(+) create mode 100644 recipes/duckx/all/conandata.yml create mode 100644 recipes/duckx/all/conanfile.py create mode 100644 recipes/duckx/all/patches/0001-use-cci.patch create mode 100644 recipes/duckx/all/test_package/CMakeLists.txt create mode 100644 recipes/duckx/all/test_package/conanfile.py create mode 100644 recipes/duckx/all/test_package/test_package.cpp create mode 100644 recipes/duckx/config.yml diff --git a/recipes/duckx/all/conandata.yml b/recipes/duckx/all/conandata.yml new file mode 100644 index 0000000000000..f22f7365670c4 --- /dev/null +++ b/recipes/duckx/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.2.2": + url: "https://github.com/amiremohamadi/DuckX/archive/refs/tags/v1.2.2.tar.gz" + sha256: "ca924b9dc3a38184f617d2ec96b91deae3f06caf42a4508c23dd9943dcf9da39" +patches: + "1.2.2": + - patch_file: "patches/0001-use-cci.patch" + patch_description: "use cci packages" + patch_type: "conan" diff --git a/recipes/duckx/all/conanfile.py b/recipes/duckx/all/conanfile.py new file mode 100644 index 0000000000000..8afefe6cb2eb7 --- /dev/null +++ b/recipes/duckx/all/conanfile.py @@ -0,0 +1,83 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.build import check_min_cppstd +import os + +required_conan_version = ">=1.53.0" + +class DuckxConan(ConanFile): + name = "duckx" + description = " C++ library for creating and updating Microsoft Word (.docx) files." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/amiremohamadi/DuckX/" + topics = ("docx", "docx-files", "office") + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": False, + "pugixml/*:header_only": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("pugixml/1.14", transitive_headers=True) + self.requires("kuba-zip/0.3.1", transitive_headers=True) + + def validate(self): + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if not self.dependencies["pugixml"].options.header_only: + raise ConanInvalidConfiguration(f"{self.ref} requires header_only pugixml.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["duckx"] + diff --git a/recipes/duckx/all/patches/0001-use-cci.patch b/recipes/duckx/all/patches/0001-use-cci.patch new file mode 100644 index 0000000000000..fc24422c57061 --- /dev/null +++ b/recipes/duckx/all/patches/0001-use-cci.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f452186..14a8c03 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,15 +9,19 @@ endif() + option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF) + option(BUILD_SAMPLE "Build provided sample" OFF) + +-set(HEADERS src/duckx.hpp src/zip.h src/miniz.h +- src/pugixml.hpp src/pugiconfig.hpp) +-set(SOURCES src/duckx.cpp src/zip.c src/pugixml.cpp) ++find_package(pugixml REQUIRED CONFIG) ++find_package(zip REQUIRED CONFIG) ++ ++set(HEADERS src/duckx.hpp ++ ) ++set(SOURCES src/duckx.cpp) + + if(BUILD_SHARED_LIBS) + add_library(duckx SHARED ${HEADERS} ${SOURCES}) + else() + add_library(duckx STATIC ${HEADERS} ${SOURCES}) + endif() ++target_link_libraries(duckx PRIVATE pugixml::pugixml zip::zip) + + add_library(duckx::duckx ALIAS duckx) + +diff --git a/src/duckx.cpp b/src/duckx.cpp +index 7379d02..4d66e62 100644 +--- a/src/duckx.cpp ++++ b/src/duckx.cpp +@@ -292,7 +292,7 @@ void duckx::Document::save() const { + // Open the original zip and copy all files which are not replaced by duckX + zip_t* orig_zip = zip_open(original_file.c_str(), ZIP_DEFAULT_COMPRESSION_LEVEL, 'r'); + // Loop & copy each relevant entry in the original zip +- int orig_zip_entry_ct = zip_total_entries(orig_zip); ++ int orig_zip_entry_ct = zip_entries_total(orig_zip); + for (int i = 0; i < orig_zip_entry_ct; i++) + { + zip_entry_openbyindex(orig_zip, i); +diff --git a/src/duckx.hpp b/src/duckx.hpp +index fd54d10..c3350d3 100644 +--- a/src/duckx.hpp ++++ b/src/duckx.hpp +@@ -12,7 +12,7 @@ + #include + + #include "pugixml.hpp" +-#include "zip.h" ++#include "zip/zip.h" + + + // TODO: Use container-iterator design pattern! diff --git a/recipes/duckx/all/test_package/CMakeLists.txt b/recipes/duckx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fc42d4028cd4f --- /dev/null +++ b/recipes/duckx/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(duckx REQUIRED CONFDIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE duckx::duckx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/duckx/all/test_package/conanfile.py b/recipes/duckx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fbb7f543162 --- /dev/null +++ b/recipes/duckx/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/duckx/all/test_package/test_package.cpp b/recipes/duckx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..053be6a46c0e6 --- /dev/null +++ b/recipes/duckx/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include "duckx.hpp" + +int main() { + duckx::Document doc{}; + + return 0; +} diff --git a/recipes/duckx/config.yml b/recipes/duckx/config.yml new file mode 100644 index 0000000000000..af40d9653a378 --- /dev/null +++ b/recipes/duckx/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.2": + folder: all From 10794170ce5221a18aea25b3600bb3c3222add78 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 00:10:51 +0900 Subject: [PATCH 3779/4087] (#22873) utf8.h: add version cci.20240202 * utf8.h: add version cci.20240202 * fix version --- recipes/utf8.h/all/conandata.yml | 3 +++ recipes/utf8.h/all/test_package/test_package.cpp | 8 +++++++- recipes/utf8.h/config.yml | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/recipes/utf8.h/all/conandata.yml b/recipes/utf8.h/all/conandata.yml index 8841db197744f..35ff55cfedc3d 100644 --- a/recipes/utf8.h/all/conandata.yml +++ b/recipes/utf8.h/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240202": + url: "https://github.com/sheredom/utf8.h/archive/2aa5709fe39c66d2868c0d52d42788899b90dc92.tar.gz" + sha256: "1cce8cad2ab17b9ac4e59c8b06fa6f2bdf729893c7061b734164f2e87ff9f7f9" "cci.20210310": url: "https://github.com/sheredom/utf8.h/archive/ee5a7d4beb7755da13e4d4ec3eccfb65a0530456.tar.gz" sha256: "d7c9ad480b640c76292a1c4b9735497fd635cb8828e95beabb7db91ea4cecf55" diff --git a/recipes/utf8.h/all/test_package/test_package.cpp b/recipes/utf8.h/all/test_package/test_package.cpp index fd1eef99eafd8..66c337dd316fb 100644 --- a/recipes/utf8.h/all/test_package/test_package.cpp +++ b/recipes/utf8.h/all/test_package/test_package.cpp @@ -1,3 +1,9 @@ +#if defined(__cplusplus) && __cplusplus >= 202002L +using char_type = char8_t; +#else +typedef char char_type; +#endif + #include "utf8.h" int main() @@ -7,7 +13,7 @@ int main() char str[] = {'\xcf', '\xb4', '\xce', '\xb8', '\xce', '\x98', '\xcf', '\x91', '\0'}; - int r = utf8ncasecmp(ref, str, 8); + int r = utf8ncasecmp(reinterpret_cast(ref), reinterpret_cast(str), 8); return 0; } diff --git a/recipes/utf8.h/config.yml b/recipes/utf8.h/config.yml index dc79ecf2dafac..fad837c21119c 100644 --- a/recipes/utf8.h/config.yml +++ b/recipes/utf8.h/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240202": + folder: all "cci.20210310": folder: all From 5581e7f81b42de9c9e4e732d5fd58821c29fa59d Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 26 Feb 2024 16:31:22 +0100 Subject: [PATCH 3780/4087] (#22874) aws-crt-cpp: add version 0.24.1 * aws-crt-cpp: add version 0.24.1 * aws-crt-cpp: drop version 0.18.8 with unsatisfyable deps Version 0.18.8 is not used in any aws-sdk-cpp. * aws-crt-cpp: add missing aws-c-sdkutils dependency --- recipes/aws-crt-cpp/all/conandata.yml | 13 +++++---- recipes/aws-crt-cpp/all/conanfile.py | 29 ++++++++++++------- .../patches/0.24.1-disable-sanitizers.patch | 11 +++++++ .../all/patches/0.24.1-fix-cast-error.patch | 13 +++++++++ recipes/aws-crt-cpp/config.yml | 2 +- 5 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch create mode 100644 recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch diff --git a/recipes/aws-crt-cpp/all/conandata.yml b/recipes/aws-crt-cpp/all/conandata.yml index 5615e65f10a0b..9126f56004fa0 100644 --- a/recipes/aws-crt-cpp/all/conandata.yml +++ b/recipes/aws-crt-cpp/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "0.18.8": - url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.18.8.tar.gz" - sha256: "70ea622cf8c1a7028b24078e909ee5898990444436584178f58d61b50b5b197d" + "0.24.1": + url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.24.1.tar.gz" + sha256: "c627fbc76fc31332801e29872203a11ce0234b7c17e75811277aa913f1550d6f" "0.17.23": url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.17.23.tar.gz" sha256: "28061c3efa493519cfae46e4ea96389f03a81eeec7613d7da861dd8c5f4f6598" @@ -12,10 +12,13 @@ sources: url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.14.3.tar.gz" sha256: "3ea16c43e691bab0c373ba1ad072f6535390c516ebda658dfaf4d074d920e0fb" patches: - "0.18.8": - - patch_file: "patches/0.17.23-fix-cast-error.patch" + "0.24.1": + - patch_file: "patches/0.24.1-fix-cast-error.patch" patch_description: "fix const cast error" patch_type: "portability" + - patch_file: "patches/0.24.1-disable-sanitizers.patch" + patch_description: "disable sanitizers" + patch_type: "conan" "0.17.23": - patch_file: "patches/0.17.23-fix-cast-error.patch" patch_description: "fix const cast error" diff --git a/recipes/aws-crt-cpp/all/conanfile.py b/recipes/aws-crt-cpp/all/conanfile.py index 97c0f616bb653..459770aa822b1 100644 --- a/recipes/aws-crt-cpp/all/conanfile.py +++ b/recipes/aws-crt-cpp/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, save from conan.tools.build import check_min_cppstd +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -47,9 +48,14 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-cal/0.5.13", transitive_headers=True) - self.requires("aws-c-common/0.8.2", transitive_headers=True) - self.requires("aws-checksums/0.1.13") + if Version(self.version) < "0.24.1": + self.requires("aws-c-cal/0.5.13", transitive_headers=True) + self.requires("aws-c-common/0.8.2", transitive_headers=True) + self.requires("aws-checksums/0.1.13") + else: + self.requires("aws-c-cal/0.6.9", transitive_headers=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True) + self.requires("aws-checksums/0.1.17") if Version(self.version) < "0.17.29": self.requires("aws-c-auth/0.6.11", transitive_headers=True) self.requires("aws-c-event-stream/0.2.7") @@ -58,12 +64,13 @@ def requirements(self): self.requires("aws-c-mqtt/0.7.10", transitive_headers=True) self.requires("aws-c-s3/0.1.37") else: - self.requires("aws-c-auth/0.6.17", transitive_headers=True) - self.requires("aws-c-event-stream/0.2.15") - self.requires("aws-c-http/0.6.22", transitive_headers=True) - self.requires("aws-c-io/0.13.4", transitive_headers=True) - self.requires("aws-c-mqtt/0.7.12", transitive_headers=True) - self.requires("aws-c-s3/0.1.49") + self.requires("aws-c-auth/0.7.8", transitive_headers=True) + self.requires("aws-c-event-stream/0.3.1") + self.requires("aws-c-http/0.7.14", transitive_headers=True) + self.requires("aws-c-io/0.13.35", transitive_headers=True) + self.requires("aws-c-mqtt/0.9.10", transitive_headers=True) + self.requires("aws-c-s3/0.3.24") + self.requires("aws-c-sdkutils/0.1.12") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -74,8 +81,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["AWS_STATIC_MSVC_RUNTIME_LIBRARY"] = is_msvc_static_runtime(self) tc.variables["BUILD_TESTING"] = False - tc.variables["BUILD_DEPS"] = False + tc.cache_variables["BUILD_DEPS"] = False tc.generate() deps = CMakeDeps(self) diff --git a/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch b/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch new file mode 100644 index 0000000000000..bb37fbe98b61a --- /dev/null +++ b/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2024-02-23 17:49:55 ++++ CMakeLists.txt 2024-02-23 17:50:20 +@@ -314,7 +314,7 @@ + aws_use_package(aws-c-event-stream) + aws_use_package(aws-c-s3) + +-aws_add_sanitizers(${PROJECT_NAME}) ++#aws_add_sanitizers(${PROJECT_NAME}) + + target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS}) + diff --git a/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch b/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch new file mode 100644 index 0000000000000..78b3163f7e6d5 --- /dev/null +++ b/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch @@ -0,0 +1,13 @@ +diff --git a/source/io/TlsOptions.cpp b/source/io/TlsOptions.cpp +index 6077912..74a55c9 100644 +--- a/source/io/TlsOptions.cpp ++++ b/source/io/TlsOptions.cpp +@@ -219,7 +219,7 @@ namespace Aws + + if (m_slotId) + { +- options.slot_id = &(*m_slotId); ++ options.slot_id = const_cast(&(*m_slotId)); + } + + if (m_userPin) diff --git a/recipes/aws-crt-cpp/config.yml b/recipes/aws-crt-cpp/config.yml index a2a8f6922a602..20f59bce0267f 100644 --- a/recipes/aws-crt-cpp/config.yml +++ b/recipes/aws-crt-cpp/config.yml @@ -1,5 +1,5 @@ versions: - "0.18.8": + "0.24.1": folder: all "0.17.23": folder: all From 2cdf80d0e6bf9aabb84b930df05a3affc0484474 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:07:27 +0000 Subject: [PATCH 3781/4087] (#22898) [bot] Update authorized users list (2024-02-26) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index e66b2974bcee6..874e514f2025b 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1292,3 +1292,4 @@ authorized_users: - ChristianHeinigk - metalMajor - joergbrech +- dagon666 From 5897bd22b7bdc89b3d1783f6d310a447fac9aa14 Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Mon, 26 Feb 2024 17:30:33 +0100 Subject: [PATCH 3782/4087] (#22875) frugally-deep: add version 0.15.31 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/all/conanfile.py | 2 +- recipes/frugally-deep/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index a70e10ac28b17..e666368bd2a72 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.31": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.31.tar.gz" + sha256: "49bf5e30ad2d33e464433afbc8b6fe8536fc959474004a1ce2ac03d7c54bc8ba" "0.15.30": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.30.tar.gz" sha256: "8932f7b42612598402269a54f957af09084dc2cb812d32887d991d6e45b280fb" diff --git a/recipes/frugally-deep/all/conanfile.py b/recipes/frugally-deep/all/conanfile.py index dcd9f307a4d73..5fb9992a315dc 100644 --- a/recipes/frugally-deep/all/conanfile.py +++ b/recipes/frugally-deep/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): def requirements(self): self.requires("eigen/3.4.0") - self.requires("functionalplus/0.2.22") + self.requires("functionalplus/0.2.23") self.requires("nlohmann_json/3.11.3") def package_id(self): diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index bc035ffff5654..ef73eeeb31a1b 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.31": + folder: all "0.15.30": folder: all "0.15.29": From 6245a3d9e1f5381e05cba1d9e60265f8b8fb5219 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 01:49:53 +0900 Subject: [PATCH 3783/4087] (#22879) simdjson: add version 3.7.0 * simdjson: add version 3.7.0 * revert 3.6.4 --- recipes/simdjson/all/conandata.yml | 3 +++ recipes/simdjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index a418230173404..ae3a0527eade5 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.0": + url: "https://github.com/simdjson/simdjson/archive/v3.7.0.tar.gz" + sha256: "27315c4861893b3e036c1f672b1c238ee86be6edb84c0824d1ed20dea5999777" "3.6.4": url: "https://github.com/simdjson/simdjson/archive/v3.6.4.tar.gz" sha256: "7e93d5094a47180a3d451cb261ba29ac66f3f6ceb7c2a0884955e9a2bb06d818" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index cb209ae7c28cf..ef93017bac7bb 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.0": + folder: all "3.6.4": folder: all "3.6.1": From 167b1d8b669adead87c0aebb42b71f399a1d70c4 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 02:10:01 +0900 Subject: [PATCH 3784/4087] (#22887) cppcommon: make required library transitive_headers --- recipes/cppcommon/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index 9677a5747f306..68efbdbf960e4 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -60,11 +60,11 @@ def layout(self): def requirements(self): if Version(self.version) < "1.0.3" or self.version == "cci.20201104": - self.requires("fmt/8.1.1") + self.requires("fmt/8.1.1", transitive_headers=True) else: self.requires("fmt/10.2.0", transitive_headers=True) if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39.2") + self.requires("util-linux-libuuid/2.39.2", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 2f06aa8d34607848f661c170f26716ad852df60e Mon Sep 17 00:00:00 2001 From: Noah Miller Date: Tue, 27 Feb 2024 06:49:18 +1300 Subject: [PATCH 3785/4087] (#22808) poco: add transitive_headers on zlib dependency --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index c088845ae6933..d772d089d1b1f 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -149,7 +149,7 @@ def requirements(self): self.requires("pcre/8.45") else: self.requires("pcre2/10.42") - self.requires("zlib/[>=1.2.11 <2]") + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) if self.options.enable_xml: self.requires("expat/2.5.0", transitive_headers=True) if self.options.enable_data_sqlite: From 467a6fcad8aa3344b5c76b05574ce0f471159845 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Mon, 26 Feb 2024 21:29:24 +0300 Subject: [PATCH 3786/4087] (#22860) sdbus-cpp/1.4.0: Bump version and dependencies Bump dependencies: * libsystemd * pkgconf * expat --- recipes/sdbus-cpp/all/conandata.yml | 3 +++ recipes/sdbus-cpp/all/conanfile.py | 6 +++--- recipes/sdbus-cpp/all/test_pkgconf/conanfile.py | 2 +- recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py | 2 +- recipes/sdbus-cpp/config.yml | 2 ++ 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index ac3e9f3df9188..d9206888314d4 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.4.0.tar.gz" + sha256: "ca7405c7f0f9ae3023dcfa37bc68974c4b8a1c9ea2909b970e0aedc3e8657ee6" "1.3.0": url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.3.0.tar.gz" sha256: "d44f59abdd64d8f1ca3af7db58bc6518cb081fc9ff16285c3d75a68f5c073d10" diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index 1f8bc66668fef..b466198f4d0ea 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -56,7 +56,7 @@ def configure(self): del self.options.fPIC def requirements(self): - self.requires("libsystemd/253.10") + self.requires("libsystemd/255.2") def validate(self): if self.info.settings.os != "Linux": @@ -74,9 +74,9 @@ def validate(self): self.name, self._minimum_cpp_standard, self.info.settings.compiler, self.info.settings.compiler.version)) def build_requirements(self): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.options.with_code_gen: - self.tool_requires("expat/2.5.0") + self.tool_requires("expat/2.6.0") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py index 8706e3310f0bf..591a984b8692f 100644 --- a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py @@ -15,7 +15,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def layout(self): cmake_layout(self) diff --git a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py index 47a93884e54ef..29f2d7295e0f4 100644 --- a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py @@ -11,7 +11,7 @@ class SdbusCppTestConan(ConanFile): generators = ("cmake", "pkg_config") def build_requirements(self): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def build(self): cmake = CMake(self) diff --git a/recipes/sdbus-cpp/config.yml b/recipes/sdbus-cpp/config.yml index a48eafa88431d..0908a722615be 100644 --- a/recipes/sdbus-cpp/config.yml +++ b/recipes/sdbus-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.0": folder: all "1.2.0": From 2818e58115c06f9b52a24bf8f3e3c61bd2190526 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 03:49:23 +0900 Subject: [PATCH 3787/4087] (#22877) daw_json_link: add version 3.23.2 --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/all/conanfile.py | 8 ++++++-- recipes/daw_json_link/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 3262aaa6ca666..3284b09ee8d98 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.23.2": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.2.tar.gz" + sha256: "fd1234a14c126c79076e0b6e6eceae42afd465c419dc7a7393c69c28aa7f53d4" "3.23.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.0.tar.gz" sha256: "a01e9a3a48784a47dbb60bd21ecbe7e05a7d30cec75ea6d55b1789f6aefe5f05" diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index 941ce50d79e01..f75c692a8d93d 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,8 +39,12 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.97.0") - self.requires("daw_utf_range/2.2.3") + if Version(self.version) < "3.23.2": + self.requires("daw_header_libraries/2.97.0") + self.requires("daw_utf_range/2.2.3") + else: + self.requires("daw_header_libraries/2.101.0") + self.requires("daw_utf_range/2.2.4") def package_id(self): self.info.clear() diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index cd93a25c55255..e102478003a7f 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.23.2": + folder: "all" "3.23.0": folder: "all" "3.20.1": From ea824c6afded4cc9475f3faa938c5e2898fb416f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 04:08:54 +0900 Subject: [PATCH 3788/4087] (#22881) 7bitconf: add version 1.2.0 --- recipes/7bitconf/all/conandata.yml | 8 ++++++++ recipes/7bitconf/all/conanfile.py | 6 +++++- .../patches/1.2.0-0001-fix-package-name.patch | 16 ++++++++++++++++ recipes/7bitconf/config.yml | 2 ++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch diff --git a/recipes/7bitconf/all/conandata.yml b/recipes/7bitconf/all/conandata.yml index 71f022ca93c84..4ddfe60caee6d 100644 --- a/recipes/7bitconf/all/conandata.yml +++ b/recipes/7bitconf/all/conandata.yml @@ -1,7 +1,15 @@ sources: + "1.2.0": + url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.2.0.tar.gz" + sha256: "c2cc19618dc6616e463dbd7cc72da1fdd5b6df1b4f5d4bf8317455658ac63f0e" "1.1.0": url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.1.0.tar.gz" sha256: "07e5bff366d66c276032021c9a9ca5cdb1d8f097b29c032d07ee6ae1a10885a2" "1.0.0": url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.0.0.tar.gz" sha256: "48a02d331f4281c8ff691d55c54abe744228637e9ad3af500daf526f4c77696d" +patches: + "1.2.0": + - patch_file: "patches/1.2.0-0001-fix-package-name.patch" + patch_description: "fix taocpp-json's package name" + patch_type: "conan" diff --git a/recipes/7bitconf/all/conanfile.py b/recipes/7bitconf/all/conanfile.py index 4865b328bad13..af6c2dd2e898f 100644 --- a/recipes/7bitconf/all/conanfile.py +++ b/recipes/7bitconf/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import get, copy, rmdir +from conan.tools.files import get, copy, rmdir, apply_conandata_patches, copy, export_conandata_patches from conan.tools.scm import Version import os @@ -43,6 +43,9 @@ def _minimum_compilers_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") @@ -80,6 +83,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + apply_conandata_patches(self) if not self.options.header_only: tc = CMakeToolchain(self) tc.variables["_7BIT_CONF_BUILD_EXAMPLES"] = False diff --git a/recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch b/recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch new file mode 100644 index 0000000000000..1d71939004139 --- /dev/null +++ b/recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch @@ -0,0 +1,16 @@ +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt +index 6cdab6c..04c9c4f 100644 +--- a/Source/CMakeLists.txt ++++ b/Source/CMakeLists.txt +@@ -27,9 +27,9 @@ elseif (_7BIT_CONF_HEADER_ONLY_LIB) + endif () + + if (_7BIT_CONF_HEADER_ONLY_LIB) +- target_link_libraries(7bitConf INTERFACE taocpp-json) ++ target_link_libraries(7bitConf INTERFACE taocpp::json) + else () +- target_link_libraries(7bitConf taocpp-json) ++ target_link_libraries(7bitConf taocpp::json) + endif () + + add_library(7bitConf::7bitConf ALIAS 7bitConf) diff --git a/recipes/7bitconf/config.yml b/recipes/7bitconf/config.yml index 73c245662b08d..03495144e3920 100644 --- a/recipes/7bitconf/config.yml +++ b/recipes/7bitconf/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From a984b2241f8d8716606b585c7fbb3af1c26b9d86 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Feb 2024 21:30:47 +0200 Subject: [PATCH 3789/4087] (#22896) velodyne_decoder: add new recipe * velodyne_decoder: new recipe * velodyne_decoder: add a patch for MSVC build flags --- recipes/velodyne_decoder/all/conandata.yml | 10 ++ recipes/velodyne_decoder/all/conanfile.py | 100 ++++++++++++++++++ .../patches/3.0.0-001-fix-msvc-flags.patch | 15 +++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 9 ++ recipes/velodyne_decoder/config.yml | 3 + 7 files changed, 171 insertions(+) create mode 100644 recipes/velodyne_decoder/all/conandata.yml create mode 100644 recipes/velodyne_decoder/all/conanfile.py create mode 100644 recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch create mode 100644 recipes/velodyne_decoder/all/test_package/CMakeLists.txt create mode 100644 recipes/velodyne_decoder/all/test_package/conanfile.py create mode 100644 recipes/velodyne_decoder/all/test_package/test_package.cpp create mode 100644 recipes/velodyne_decoder/config.yml diff --git a/recipes/velodyne_decoder/all/conandata.yml b/recipes/velodyne_decoder/all/conandata.yml new file mode 100644 index 0000000000000..2e0d017fd8b08 --- /dev/null +++ b/recipes/velodyne_decoder/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "3.0.0": + url: "https://github.com/valgur/velodyne_decoder/archive/refs/tags/v3.0.0.tar.gz" + sha256: "bce471232205f9d559464ba8cb99bfb96a2245115e54b744115fe71cd9e42042" +patches: + "3.0.0": + - patch_file: "patches/3.0.0-001-fix-msvc-flags.patch" + patch_type: "portability" + patch_description: "Fix /O2 conflicting with debug flags on MSVC" + patch_source: "https://github.com/valgur/velodyne_decoder/commit/22809df3a4d550c3746b17aaca1d6c20692730c4" diff --git a/recipes/velodyne_decoder/all/conanfile.py b/recipes/velodyne_decoder/all/conanfile.py new file mode 100644 index 0000000000000..680c39d6c8c9b --- /dev/null +++ b/recipes/velodyne_decoder/all/conanfile.py @@ -0,0 +1,100 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class PackageConan(ConanFile): + name = "velodyne_decoder" + description = "A decoder library for raw Velodyne data and telemetry info" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/valgur/velodyne_decoder" + topics = ("velodyne", "lidar", "point-cloud") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "9", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("yaml-cpp/0.8.0") + self.requires("ms-gsl/4.0.0", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["INSTALL_THIRD_PARTY"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "velodyne_decoder") + self.cpp_info.set_property("cmake_target_name", "velodyne_decoder::velodyne_decoder") + self.cpp_info.set_property("pkg_config_name", "velodyne_decoder") + + self.cpp_info.libs = ["velodyne_decoder"] + self.cpp_info.defines = ["_USE_MATH_DEFINES"] diff --git a/recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch b/recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch new file mode 100644 index 0000000000000..35a9576fc8880 --- /dev/null +++ b/recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch @@ -0,0 +1,15 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -17,7 +17,11 @@ + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + if(MSVC) +- add_compile_options(/W4 /O2) ++ add_compile_options( ++ "$<$:/O2>" ++ "$<$:/O2>" ++ /W4 ++ ) + else() + add_compile_options( + "$<$:-ggdb3;-Og>" diff --git a/recipes/velodyne_decoder/all/test_package/CMakeLists.txt b/recipes/velodyne_decoder/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6af2b5f009096 --- /dev/null +++ b/recipes/velodyne_decoder/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(velodyne_decoder REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE velodyne_decoder::velodyne_decoder) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/velodyne_decoder/all/test_package/conanfile.py b/recipes/velodyne_decoder/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/velodyne_decoder/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/velodyne_decoder/all/test_package/test_package.cpp b/recipes/velodyne_decoder/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..bc82a05812525 --- /dev/null +++ b/recipes/velodyne_decoder/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include +#include +#include +#include + +int main() { + velodyne_decoder::Config config; + velodyne_decoder::StreamDecoder stream_decoder(config); +} diff --git a/recipes/velodyne_decoder/config.yml b/recipes/velodyne_decoder/config.yml new file mode 100644 index 0000000000000..c6ac749e0b234 --- /dev/null +++ b/recipes/velodyne_decoder/config.yml @@ -0,0 +1,3 @@ +versions: + "3.0.0": + folder: all From 40330b402c41853e1606ad37f628968b2f193d19 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 26 Feb 2024 13:48:28 -0600 Subject: [PATCH 3790/4087] (#22902) libglvnd: Bump build requirements to support Python 3.12 Meson needs to be a newer version to support Python 3.12. --- recipes/libglvnd/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libglvnd/all/conanfile.py b/recipes/libglvnd/all/conanfile.py index 91471af4e7c75..2362f8db4e5aa 100644 --- a/recipes/libglvnd/all/conanfile.py +++ b/recipes/libglvnd/all/conanfile.py @@ -59,9 +59,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.name} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def layout(self): basic_layout(self, src_folder="src") From 10c84723be7a51174689fb9d4f995be3b66ffcf9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 06:09:05 +0900 Subject: [PATCH 3791/4087] (#22888) poco: add version 1.13.2 --- recipes/poco/all/conandata.yml | 10 ++++++++++ recipes/poco/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index 67de3df463e94..9080050916ffa 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.13.2": + url: "https://github.com/pocoproject/poco/archive/poco-1.13.2-release.tar.gz" + sha256: "c01221870aa9bccedf1de39890279699207848fe61a0cfb6aeec7c5942c4627f" "1.13.1": url: "https://github.com/pocoproject/poco/archive/poco-1.13.1-release.tar.gz" sha256: "8accf6c6ebb9ae686e7c8e2390a35beaab08d0ca1abda537cc2d0b7ab9296be5" @@ -30,6 +33,13 @@ sources: url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" patches: + "1.13.2": + - patch_file: patches/1.13.0.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.13.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.13.1": - patch_file: patches/1.13.0.patch patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index aa504b39ac1af..e7879c451d919 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.2": + folder: all "1.13.1": folder: all "1.13.0": From 74474c0e8795a02b321d3490344a588131b2967f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 07:24:20 +0900 Subject: [PATCH 3792/4087] (#20536) zoe: add recipe * zoe: add recipe * small improvement * teemo: make deprecated * revert teemo deprecated * fix lib name * add openssl * add package_type * update cmake_minium_required Co-authored-by: Jordan Williams * fix license name Co-authored-by: Jordan Williams * update description for zoe Co-authored-by: Jordan Williams * update topics for zoe Co-authored-by: Jordan Williams * use verseion range for libcurl Co-authored-by: Uilian Ries * fix libcurl version --------- Co-authored-by: Jordan Williams Co-authored-by: Uilian Ries --- recipes/zoe/all/conandata.yml | 17 ++++ recipes/zoe/all/conanfile.py | 93 +++++++++++++++++++ .../3.0-0001-follow-cxx-standards.patch | 25 +++++ .../all/patches/3.0-0002-support-macosx.patch | 40 ++++++++ .../patches/3.0-0003-fix-install-target.patch | 13 +++ recipes/zoe/all/test_package/CMakeLists.txt | 9 ++ recipes/zoe/all/test_package/conanfile.py | 26 ++++++ recipes/zoe/all/test_package/test_package.cpp | 28 ++++++ recipes/zoe/config.yml | 3 + 9 files changed, 254 insertions(+) create mode 100644 recipes/zoe/all/conandata.yml create mode 100644 recipes/zoe/all/conanfile.py create mode 100644 recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch create mode 100644 recipes/zoe/all/patches/3.0-0002-support-macosx.patch create mode 100644 recipes/zoe/all/patches/3.0-0003-fix-install-target.patch create mode 100644 recipes/zoe/all/test_package/CMakeLists.txt create mode 100644 recipes/zoe/all/test_package/conanfile.py create mode 100644 recipes/zoe/all/test_package/test_package.cpp create mode 100644 recipes/zoe/config.yml diff --git a/recipes/zoe/all/conandata.yml b/recipes/zoe/all/conandata.yml new file mode 100644 index 0000000000000..568b6a5cdb8e4 --- /dev/null +++ b/recipes/zoe/all/conandata.yml @@ -0,0 +1,17 @@ +sources: + "3.0": + url: "https://github.com/winsoft666/zoe/archive/refs/tags/v3.0.tar.gz" + sha256: "718c6de993bea2a4b1866070a8685e77cfa7929bbd9e22abb29e54c67a687a5e" + +patches: + "3.0": + - patch_file: "patches/3.0-0001-follow-cxx-standards.patch" + patch_description: "include threads header" + patch_type: "portability" + - patch_file: "patches/3.0-0002-support-macosx.patch" + patch_description: "support macosx" + patch_type: "portability" + - patch_file: "patches/3.0-0003-fix-install-target.patch" + patch_description: "fix wrong install target" + patch_type: "bugfix" + patch_source: "https://github.com/winsoft666/zoe/pull/25" diff --git a/recipes/zoe/all/conanfile.py b/recipes/zoe/all/conanfile.py new file mode 100644 index 0000000000000..4e403d637b5d2 --- /dev/null +++ b/recipes/zoe/all/conanfile.py @@ -0,0 +1,93 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class ZoeConan(ConanFile): + name = "zoe" + description = "A multi-protocol, multi-threaded, resumable, cross-platform, open source, C++ file download library." + license = "GPL-3.0-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/winsoft666/zoe" + topics = ("curl", "download", "file", "ftp", "multithreading", "http", "libcurl", "rate-limit") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("libcurl/[>=7.78.0 <9]") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + + def validate(self): + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if self.info.settings.compiler == "apple-clang" and Version(self.info.settings.compiler.version) < "12.0": + raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ZOE_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["ZOE_USE_STATIC_CRT"] = is_msvc_static_runtime(self) + tc.variables["ZOE_BUILD_TESTS"] = False + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + libname = "zoe" if self.options.shared else "zoe-static" + libpostfix = "-d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = [f"{libname}{libpostfix}"] + + if self.options.shared: + self.cpp_info.defines.append("ZOE_EXPORTS") + else: + self.cpp_info.defines.append("ZOE_STATIC") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch b/recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch new file mode 100644 index 0000000000000..ced0610043cd8 --- /dev/null +++ b/recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch @@ -0,0 +1,25 @@ +diff --git a/src/entry_handler.cpp b/src/entry_handler.cpp +index 5844a03..0dc25a5 100644 +--- a/src/entry_handler.cpp ++++ b/src/entry_handler.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include "file_util.h" + #include "string_helper.hpp" + #include "string_encode.h" +diff --git a/src/md5.cpp b/src/md5.cpp +index 93dd21f..78a4b57 100644 +--- a/src/md5.cpp ++++ b/src/md5.cpp +@@ -90,7 +90,7 @@ void byteSwap(UWORD32* buf, unsigned words) { + * the data and converts bytes into longwords for this routine. + */ + void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]) { +- register UWORD32 a, b, c, d; ++ UWORD32 a, b, c, d; + + a = buf[0]; + b = buf[1]; diff --git a/recipes/zoe/all/patches/3.0-0002-support-macosx.patch b/recipes/zoe/all/patches/3.0-0002-support-macosx.patch new file mode 100644 index 0000000000000..64f500a421a85 --- /dev/null +++ b/recipes/zoe/all/patches/3.0-0002-support-macosx.patch @@ -0,0 +1,40 @@ +diff --git a/a/src/file_util.cpp b/b/src/file_util.cpp +index 9cea293..20fb5c6 100644 +--- a/a/src/file_util.cpp ++++ b/b/src/file_util.cpp +@@ -46,6 +46,9 @@ int64_t FileUtil::GetFileSize(FILE* f) { + #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) + _fseeki64(f, 0L, SEEK_END); + int64_t fsize = _ftelli64(f); ++#elif defined(__APPLE__) ++ fseeko(f, 0L, SEEK_END); ++ int64_t fsize = ftello(f); + #else + fseeko64(f, 0L, SEEK_END); + int64_t fsize = ftello64(f); +@@ -181,6 +184,8 @@ int FileUtil::Seek(FILE* f, int64_t offset, int origin) { + if (f) { + #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) + return _fseeki64(f, offset, origin); ++#elif defined(__APPLE__) ++ return fseeko(f, offset, origin); + #else + return fseeko64(f, offset, origin); + #endif +@@ -263,6 +268,16 @@ bool FileUtil::CreateFixedSizeFile(const utf8string& path, int64_t fixed_size) { + } + + return prealloc; ++#elif defined(__APPLE__) ++ int fd = open(path.c_str(), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); ++ fstore_t store = {F_ALLOCATECONTIG, F_PEOFPOSMODE, 0, fixed_size}; ++ if (fcntl(fd, F_PREALLOCATE, &store) == -1) { ++ store.fst_flags = F_ALLOCATEALL; ++ if (fcntl(fd, F_PREALLOCATE, &store) == -1) { ++ return false; ++ } ++ } ++ return ftruncate(fd, fixed_size) == 0; + #else + int fd = open(path.c_str(), O_RDWR | O_CREAT, + S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); diff --git a/recipes/zoe/all/patches/3.0-0003-fix-install-target.patch b/recipes/zoe/all/patches/3.0-0003-fix-install-target.patch new file mode 100644 index 0000000000000..8dc598ccf7ec9 --- /dev/null +++ b/recipes/zoe/all/patches/3.0-0003-fix-install-target.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 34f38b4..85c3a14 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -116,7 +116,7 @@ endif() + + install(DIRECTORY ../include/zoe DESTINATION include) + +-install(TARGETS ${ASHE_LIB_NAME} ++install(TARGETS ${ZOE_LIB_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/recipes/zoe/all/test_package/CMakeLists.txt b/recipes/zoe/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..573c0d90172aa --- /dev/null +++ b/recipes/zoe/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(zoe REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE zoe::zoe) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/zoe/all/test_package/conanfile.py b/recipes/zoe/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/zoe/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/zoe/all/test_package/test_package.cpp b/recipes/zoe/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c802a922c2c55 --- /dev/null +++ b/recipes/zoe/all/test_package/test_package.cpp @@ -0,0 +1,28 @@ +#include +#include "zoe/zoe.h" + +int main(int argc, char** argv) { + using namespace zoe; + + Zoe::GlobalInit(); + + Zoe efd; + + efd.setThreadNum(10); // Optional + efd.setTmpFileExpiredTime(3600); // Optional + efd.setDiskCacheSize(20 * (2 << 19)); // Optional + efd.setMaxDownloadSpeed(50 * (2 << 19)); // Optional + efd.setHashVerifyPolicy(ALWAYS, MD5, "6fe294c3ef4765468af4950d44c65525"); // Optional, support MD5, CRC32, SHA256 + // There are more options available, please check zoe.h + efd.setVerboseOutput([](const utf8string& verbose) { // Optional + printf("%s\n", verbose.c_str()); + }); + efd.setHttpHeaders({ // Optional + {"Origin", "http://xxx.xxx.com"}, + {"User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"} + }); + + Zoe::GlobalUnInit(); + + return 0; +} diff --git a/recipes/zoe/config.yml b/recipes/zoe/config.yml new file mode 100644 index 0000000000000..fdd08f532337f --- /dev/null +++ b/recipes/zoe/config.yml @@ -0,0 +1,3 @@ +versions: + "3.0": + folder: all From a4d1345f82102a2ebcfb5208b8c801c8aca53c11 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 27 Feb 2024 06:49:32 +0100 Subject: [PATCH 3793/4087] (#22900) asio-grpc: use maintained version of libunifex * asio-grpc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * asio-grpc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * asio-grpc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * boost and asio hearders are transitive https://github.com/Tradias/asio-grpc/blob/v2.9.3/src/agrpc/detail/asio_forward.hpp#L73 * grpc lib is transitive * unbump boost --- recipes/asio-grpc/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index 22435c1b8bb72..c686e567d9288 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -56,13 +56,13 @@ def configure(self): raise ConanInvalidConfiguration(f"{self.name} 'recycling_allocator' cannot be used in combination with the 'unifex' backend.") def requirements(self): - self.requires("grpc/1.54.3") + self.requires("grpc/1.54.3", transitive_libs=True) if self._local_allocator_option == "boost_container" or self.options.backend == "boost": - self.requires("boost/1.83.0") + self.requires("boost/1.83.0", transitive_headers=True) if self.options.backend == "asio": - self.requires("asio/1.28.2") + self.requires("asio/1.29.0", transitive_headers=True) if self.options.backend == "unifex": - self.requires("libunifex/cci.20220430") + self.requires("libunifex/0.4.0") def package_id(self): self.info.clear() From 8296da4efec9a887870310477314f9fcc64078bf Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Tue, 27 Feb 2024 13:06:01 +0100 Subject: [PATCH 3794/4087] (#21760) ruy: Add cci.20231129 --- recipes/ruy/all/conandata.yml | 3 +++ recipes/ruy/all/conanfile.py | 8 ++++---- recipes/ruy/config.yml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/ruy/all/conandata.yml b/recipes/ruy/all/conandata.yml index c9acc9f74ac8c..d072c208fb5e1 100644 --- a/recipes/ruy/all/conandata.yml +++ b/recipes/ruy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231129": + url: "https://github.com/google/ruy/archive/690c14c441387a4ea6e07a9ed89657cec8200b92.tar.gz" + sha256: "98077cf3c38f0d8c5156953c4044a6104108f247fab021477d1cff1012eb82f3" "cci.20220628": url: "https://github.com/google/ruy/archive/841ea4172ba904fe3536789497f9565f2ef64129.tar.gz" sha256: "fbd20e6c8cd5cf8ef159f69600ea0c7ef0f1401a4c16a9cd04e5a12ffa9c6e14" diff --git a/recipes/ruy/all/conanfile.py b/recipes/ruy/all/conanfile.py index c508de954594d..5ff76e6c68a9c 100644 --- a/recipes/ruy/all/conanfile.py +++ b/recipes/ruy/all/conanfile.py @@ -31,7 +31,7 @@ class RuyConan(ConanFile): def _minimum_compilers_version(self): return { "Visual Studio": "15", - "msvc": "191", + "msvc": "191", "gcc": "5", "clang": "3.4", "apple-clang": "5.1", @@ -60,7 +60,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("cpuinfo/cci.20220228") + self.requires("cpuinfo/cci.20231129") def layout(self): cmake_layout(self, src_folder="src") @@ -85,8 +85,8 @@ def _patch_sources(self): patches = { #Remove the invocation after project(), see https://github.com/google/ruy/issues/328 "cmake_minimum_required(VERSION 3.13)": "", - # Ensure `cmake_minimum_required` is called first - "# Copyright 2021 Google LLC": "# Copyright 2021 Google LLC\ncmake_minimum_required(VERSION 3.13)", + # Ensure `cmake_minimum_required` is called first + "# Copyright 2021 Google LLC": "# Copyright 2021 Google LLC\ncmake_minimum_required(VERSION 3.13)", } for pattern, patch in patches.items(): diff --git a/recipes/ruy/config.yml b/recipes/ruy/config.yml index f2da5345e749b..1535fe201a121 100644 --- a/recipes/ruy/config.yml +++ b/recipes/ruy/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20231129": + folder: all "cci.20220628": folder: all From 9a9e22a77e83a045ec43d1acd79ae7ee3c104ad1 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Tue, 27 Feb 2024 16:49:53 +0300 Subject: [PATCH 3795/4087] (#22912) sdbus-cpp/1.5.0: Bump version --- recipes/sdbus-cpp/all/conandata.yml | 3 +++ recipes/sdbus-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index d9206888314d4..6379706780143 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.5.0.tar.gz" + sha256: "577986929f911320fb9ef6a3e2badd464dc38411ebc25d2966f5cb85c39f0897" "1.4.0": url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.4.0.tar.gz" sha256: "ca7405c7f0f9ae3023dcfa37bc68974c4b8a1c9ea2909b970e0aedc3e8657ee6" diff --git a/recipes/sdbus-cpp/config.yml b/recipes/sdbus-cpp/config.yml index 0908a722615be..16a0828c0e1fc 100644 --- a/recipes/sdbus-cpp/config.yml +++ b/recipes/sdbus-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: all "1.4.0": folder: all "1.3.0": From 2f12a7055b5603e45a4b15c902f8aab5256b4341 Mon Sep 17 00:00:00 2001 From: Christian Heinigk <159124390+ChristianHeinigk@users.noreply.github.com> Date: Tue, 27 Feb 2024 15:08:50 +0100 Subject: [PATCH 3796/4087] (#22821) Add option to disable xerces-c's network stack. * Add option to disable xerces-c's network stack. * Remove version string recipes/xerces-c/all/conanfile.py Co-authored-by: Uilian Ries * network accessor needs network always Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/xerces-c/all/conanfile.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index 915980e982b8c..88a28ee036fe6 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -26,6 +26,7 @@ class XercesCConan(ConanFile): "fPIC": [True, False], # https://xerces.apache.org/xerces-c/build-3.html "char_type": ["uint16_t", "char16_t", "wchar_t"], + "network": [True, False], "network_accessor": ["curl", "socket", "cfurl", "winsock"], "transcoder": ["gnuiconv", "iconv", "icu", "macosunicodeconverter", "windows"], "message_loader": ["inmemory", "icu", "iconv"], @@ -35,6 +36,7 @@ class XercesCConan(ConanFile): "shared": False, "fPIC": True, "char_type": "uint16_t", + "network": True, "network_accessor": "socket", "transcoder": "gnuiconv", "message_loader": "inmemory", @@ -64,6 +66,8 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if not self.options.network: + self.options.rm_safe("network_accessor") def layout(self): cmake_layout(self, src_folder="src") @@ -71,7 +75,7 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): self.requires("icu/74.2") - if self.options.network_accessor == "curl": + if self.options.get_safe("network_accessor") == "curl": self.requires("libcurl/[>=7.78.0 <9]") def _validate(self, option, value, host_os): @@ -84,7 +88,7 @@ def _validate(self, option, value, host_os): :param os: either a single string or a tuple of strings containing the OS(es) that `value` is valid on """ - if self.settings.os not in host_os and getattr(self.options, option) == value: + if self.settings.os not in host_os and self.options.get_safe(option) == value: raise ConanInvalidConfiguration(f"Option '{option}={value}' is only supported on {host_os}") def validate(self): @@ -117,13 +121,15 @@ def generate(self): # Because upstream overrides BUILD_SHARED_LIBS as a CACHE variable tc.cache_variables["BUILD_SHARED_LIBS"] = "ON" if self.options.shared else "OFF" # https://xerces.apache.org/xerces-c/build-3.html - tc.variables["network-accessor"] = self.options.network_accessor + tc.variables["network"] = self.options.network + if self.options.network: + tc.variables["network-accessor"] = self.options.network_accessor tc.variables["transcoder"] = self.options.transcoder tc.variables["message-loader"] = self.options.message_loader tc.variables["xmlch-type"] = self.options.char_type tc.variables["mutex-manager"] = self.options.mutex_manager # avoid picking up system dependency - tc.variables["CMAKE_DISABLE_FIND_PACKAGE_CURL"] = self.options.network_accessor != "curl" + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_CURL"] = self.options.get_safe("network_accessor") != "curl" tc.variables["CMAKE_DISABLE_FIND_PACKAGE_ICU"] = "icu" not in (self.options.transcoder, self.options.message_loader) tc.generate() deps = CMakeDeps(self) From 3d3d57e300b9855c35cb0b07fdeb7fe3936ed931 Mon Sep 17 00:00:00 2001 From: Dmitry Bely Date: Tue, 27 Feb 2024 14:30:01 +0000 Subject: [PATCH 3797/4087] (#22735) mbedtls: add required Win32 system_libs --- recipes/mbedtls/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/mbedtls/all/conanfile.py b/recipes/mbedtls/all/conanfile.py index b5af5483b03f4..6b9782288fcdd 100644 --- a/recipes/mbedtls/all/conanfile.py +++ b/recipes/mbedtls/all/conanfile.py @@ -108,9 +108,13 @@ def package_info(self): self.cpp_info.components["mbedcrypto"].set_property("cmake_target_name", "MbedTLS::mbedcrypto") self.cpp_info.components["mbedcrypto"].libs = ["mbedcrypto"] + if self.settings.os == "Windows": + self.cpp_info.components["mbedcrypto"].system_libs = ["bcrypt"] self.cpp_info.components["mbedx509"].set_property("cmake_target_name", "MbedTLS::mbedx509") self.cpp_info.components["mbedx509"].libs = ["mbedx509"] + if self.settings.os == "Windows": + self.cpp_info.components["mbedx509"].system_libs = ["ws2_32"] self.cpp_info.components["mbedx509"].requires = ["mbedcrypto"] self.cpp_info.components["libembedtls"].set_property("cmake_target_name", "MbedTLS::mbedtls") From 86284a99ff947d1bb70389f4c1835ef3e5db2528 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 27 Feb 2024 09:09:44 -0600 Subject: [PATCH 3798/4087] (#22428) freeglut: Use the mesa-glu package when not on Apple or Windows The glu/system package installs the Mesa GLU system package on Linux and FreeBSD. Now that the mesa-glu package is available in Conan, use that instead. --- recipes/freeglut/all/conandata.yml | 12 ++++ recipes/freeglut/all/conanfile.py | 12 +++- ...include-directory-for-glu.h-in-CMake.patch | 61 ++++++++++++++++ ...include-directory-for-glu.h-in-CMake.patch | 61 ++++++++++++++++ ...include-directory-for-glu.h-in-CMake.patch | 69 +++++++++++++++++++ 5 files changed, 213 insertions(+), 2 deletions(-) create mode 100644 recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch create mode 100644 recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch create mode 100644 recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch diff --git a/recipes/freeglut/all/conandata.yml b/recipes/freeglut/all/conandata.yml index 7ae0b0d3b9c12..964de8ca2d213 100644 --- a/recipes/freeglut/all/conandata.yml +++ b/recipes/freeglut/all/conandata.yml @@ -18,6 +18,10 @@ patches: patch_description: "Use find_library to locate GL libraries" patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" patch_type: "portability" + - patch_file: "patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch" + patch_description: "Incorporate the include directory for glu.h in CMake" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/154" + patch_type: "portability" "3.2.2": - patch_file: "patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch" patch_description: "Add a missing function definition" @@ -31,6 +35,10 @@ patches: patch_description: "Use find_library to locate GL libraries" patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" patch_type: "portability" + - patch_file: "patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch" + patch_description: "Incorporate the include directory for glu.h in CMake" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/154" + patch_type: "portability" "3.2.1": - patch_file: "patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" patch_description: "Use find_package and pkg_check_modules to find dependencies" @@ -44,3 +52,7 @@ patches: patch_description: "Use find_library to locate GL libraries" patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" patch_type: "portability" + - patch_file: "patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch" + patch_description: "Incorporate the include directory for glu.h in CMake" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/154" + patch_type: "portability" diff --git a/recipes/freeglut/all/conanfile.py b/recipes/freeglut/all/conanfile.py index 941d6703c1432..9b7f21448c416 100644 --- a/recipes/freeglut/all/conanfile.py +++ b/recipes/freeglut/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir from conan.tools.gnu import PkgConfigDeps @@ -91,7 +92,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("glu/system") + if is_apple_os(self) or self.settings.os == "Windows": + self.requires("glu/system") + else: + # FreeGLUT includes glu.h in freeglut_std.h. + self.requires("mesa-glu/9.0.3", transitive_headers=True) if self._with_libglvnd: self.requires("libglvnd/1.7.0") else: @@ -190,7 +195,6 @@ def package_info(self): self.cpp_info.components["freeglut_"].names["cmake_find_package_multi"] = config_target self.cpp_info.components["freeglut_"].set_property("cmake_target_name", f"FreeGLUT::{config_target}") self.cpp_info.components["freeglut_"].set_property("pkg_config_name", pkg_config) - self.cpp_info.components["freeglut_"].requires.append("glu::glu") if self._requires_libglvnd_egl: self.cpp_info.components["freeglut_"].requires.append("libglvnd::egl") if self._requires_libglvnd_gles: @@ -206,3 +210,7 @@ def package_info(self): self.cpp_info.components["freeglut_"].requires.append("xorg::xorg") if self.options.get_safe("with_wayland"): self.cpp_info.components["freeglut_"].requires.extend(["wayland::wayland-client", "wayland::wayland-cursor", "wayland::wayland-egl", "xkbcommon::xkbcommon"]) + if is_apple_os(self) or self.settings.os == "Windows": + self.cpp_info.components["freeglut_"].requires.append("glu::glu") + else: + self.cpp_info.components["freeglut_"].requires.append("mesa-glu::mesa-glu") diff --git a/recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch b/recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch new file mode 100644 index 0000000000000..a2fd409a85d19 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch @@ -0,0 +1,61 @@ +From c81e600ace29bf5f3ded5e2650859f3303aaac6e Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 7 Feb 2024 10:09:25 -0600 +Subject: [PATCH] Incorporate the include directory for glu.h in CMake + +FreeGLUT doesn't properly check for the glu.h header file when it is required. +The glu.h header is not necessary when FreeGLUT is built for GLES. +However, the demos require use libGLU and so require the include and the library. + +CMake's FindOpenGL didn't properly search for the glu.h header file until very recently. +Refer to this PR: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9216. + +This PR checks for the glu.h header and adds the corresponding include directory when it is required. +For versions of CMake prior to 3.29, the include directory for GLU is added even when linking against the OpenGL::GLU target. +Like the FindOpenGL module, GLU include directories are ignored on Windows. +--- + CMakeLists.txt | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 772e73f3..162eec40 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -290,6 +290,17 @@ ELSE() + LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + endif() ++ ++ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ # CMake 3.29 properly locates the include directory for glu.h in the OPENGL_GLU_INCLUDE_DIR variable for us. ++ if(CMAKE_VERSION VERSION_LESS "3.29") ++ FIND_PATH(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR}) ++ endif() ++ if(NOT OPENGL_GLU_INCLUDE_DIR) ++ message(FATAL_ERROR "Failed to find the glu.h header file.") ++ endif() ++ INCLUDE_DIRECTORIES(${OPENGL_GLU_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL +@@ -566,7 +577,15 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL COMPONENT Devel) + # Optionally build demos, on by default. + option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON ) + +-SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS}) ++set(DEMO_LIBS ${LIBS}) ++if (FREEGLUT_BUILD_DEMOS) ++ if (OPENGL_GLU_FOUND) ++ list(APPEND DEMO_LIBS ${OPENGL_glu_LIBRARY}) ++ else() ++ message(FATAL_ERROR "Failed to find the GLU library which is required to build the demos.") ++ endif() ++endif() ++ + # lib m for math, not needed on windows + IF (NOT WIN32) + LIST(APPEND DEMO_LIBS m) +-- +2.43.2 + diff --git a/recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch b/recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch new file mode 100644 index 0000000000000..997edcafc5966 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch @@ -0,0 +1,61 @@ +From 278ac11cf27c8112021735240dc0b34fe849045e Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 7 Feb 2024 10:09:25 -0600 +Subject: [PATCH] Incorporate the include directory for glu.h in CMake + +FreeGLUT doesn't properly check for the glu.h header file when it is required. +The glu.h header is not necessary when FreeGLUT is built for GLES. +However, the demos require use libGLU and so require the include and the library. + +CMake's FindOpenGL didn't properly search for the glu.h header file until very recently. +Refer to this PR: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9216. + +This PR checks for the glu.h header and adds the corresponding include directory when it is required. +For versions of CMake prior to 3.29, the include directory for GLU is added even when linking against the OpenGL::GLU target. +Like the FindOpenGL module, GLU include directories are ignored on Windows. +--- + CMakeLists.txt | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2549b1b..4ebc33af 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -294,6 +294,17 @@ ELSE() + LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + endif() ++ ++ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ # CMake 3.29 properly locates the include directory for glu.h in the OPENGL_GLU_INCLUDE_DIR variable for us. ++ if(CMAKE_VERSION VERSION_LESS "3.29") ++ FIND_PATH(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR}) ++ endif() ++ if(NOT OPENGL_GLU_INCLUDE_DIR) ++ message(FATAL_ERROR "Failed to find the glu.h header file.") ++ endif() ++ INCLUDE_DIRECTORIES(${OPENGL_GLU_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL +@@ -578,7 +589,15 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL COMPONENT Devel) + # Optionally build demos, on by default. + option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON ) + +-SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS}) ++set(DEMO_LIBS ${LIBS}) ++if (FREEGLUT_BUILD_DEMOS) ++ if (OPENGL_GLU_FOUND) ++ list(APPEND DEMO_LIBS ${OPENGL_glu_LIBRARY}) ++ else() ++ message(FATAL_ERROR "Failed to find the GLU library which is required to build the demos.") ++ endif() ++endif() ++ + # lib m for math, not needed on windows + IF (NOT WIN32) + LIST(APPEND DEMO_LIBS m) +-- +2.43.2 + diff --git a/recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch b/recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch new file mode 100644 index 0000000000000..883e8141aa971 --- /dev/null +++ b/recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch @@ -0,0 +1,69 @@ +From 90f733b3adec8b3f97a24d4dd9dc47a595a17c2c Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 7 Feb 2024 10:09:25 -0600 +Subject: [PATCH] Incorporate the include directory for glu.h in CMake + +FreeGLUT doesn't properly check for the glu.h header file when it is required. +The glu.h header is not necessary when FreeGLUT is built for GLES. +However, the demos require use libGLU and so require the include and the library. + +CMake's FindOpenGL didn't properly search for the glu.h header file until very recently. +Refer to this PR: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9216. + +This PR checks for the glu.h header and adds the corresponding include directory when it is required. +For versions of CMake prior to 3.29, the include directory for GLU is added even when linking against the OpenGL::GLU target. +Like the FindOpenGL module, GLU include directories are ignored on Windows. +--- + CMakeLists.txt | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index afb4d735..aaf854d8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -324,6 +324,7 @@ ELSE() + get_filename_component(X11_LIB_PATH ${X11_Xi_LIB} DIRECTORY) + + find_library(OPENGL_gl_LIBRARY NAME GL HINTS ${X11_LIB_PATH}) ++ find_path(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${X11_Xi_INCLUDE_PATH}) + find_library(OPENGL_glu_LIBRARY NAME GLU HINTS ${X11_LIB_PATH}) + endif() + +@@ -335,6 +336,17 @@ ELSE() + LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + endif() ++ ++ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ # CMake 3.29 properly locates the include directory for glu.h in the OPENGL_GLU_INCLUDE_DIR variable for us. ++ if(CMAKE_VERSION VERSION_LESS "3.29") ++ FIND_PATH(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR}) ++ endif() ++ if(NOT OPENGL_GLU_INCLUDE_DIR) ++ message(FATAL_ERROR "Failed to find the glu.h header file.") ++ endif() ++ INCLUDE_DIRECTORIES(${OPENGL_GLU_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL +@@ -599,7 +611,15 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL COMPONENT Devel) + # Optionally build demos, on by default. + option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON ) + +-SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS}) ++set(DEMO_LIBS ${LIBS}) ++if (FREEGLUT_BUILD_DEMOS) ++ if (OPENGL_GLU_FOUND) ++ list(APPEND DEMO_LIBS ${OPENGL_glu_LIBRARY}) ++ else() ++ message(FATAL_ERROR "Failed to find the GLU library which is required to build the demos.") ++ endif() ++endif() ++ + # lib m for math, not needed on windows + IF (NOT WIN32) + LIST(APPEND DEMO_LIBS m) +-- +2.43.2 + From fd503cb9dcd02244e7e1f8739a4d7b942d6e026d Mon Sep 17 00:00:00 2001 From: Gang Wu Date: Tue, 27 Feb 2024 23:29:35 +0800 Subject: [PATCH 3799/4087] (#22854) New package: orc * New package: orc * sort functions and remove cache_variables * simplify patches * remove test_v1_package * Update recipes/orc/all/conanfile.py * use generator expression * Update recipes/orc/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- .../orc/all/ConanThirdpartyToolchain.cmake | 50 ++++++ recipes/orc/all/conandata.yml | 10 ++ recipes/orc/all/conanfile.py | 159 ++++++++++++++++++ recipes/orc/all/test_package/CMakeLists.txt | 8 + recipes/orc/all/test_package/conanfile.py | 26 +++ recipes/orc/all/test_package/test_package.cpp | 8 + recipes/orc/config.yml | 7 + 7 files changed, 268 insertions(+) create mode 100644 recipes/orc/all/ConanThirdpartyToolchain.cmake create mode 100644 recipes/orc/all/conandata.yml create mode 100644 recipes/orc/all/conanfile.py create mode 100644 recipes/orc/all/test_package/CMakeLists.txt create mode 100644 recipes/orc/all/test_package/conanfile.py create mode 100644 recipes/orc/all/test_package/test_package.cpp create mode 100644 recipes/orc/config.yml diff --git a/recipes/orc/all/ConanThirdpartyToolchain.cmake b/recipes/orc/all/ConanThirdpartyToolchain.cmake new file mode 100644 index 0000000000000..7c6f64861a7cd --- /dev/null +++ b/recipes/orc/all/ConanThirdpartyToolchain.cmake @@ -0,0 +1,50 @@ +# ---------------------------------------------------------------------- +# Snappy + +find_package (Snappy REQUIRED) + +add_library (orc_snappy INTERFACE) +add_library (orc::snappy ALIAS orc_snappy) +target_link_libraries(orc_snappy INTERFACE Snappy::snappy) + +# ---------------------------------------------------------------------- +# ZLIB + +find_package (ZLIB REQUIRED) + +add_library (orc_zlib INTERFACE) +add_library (orc::zlib ALIAS orc_zlib) +target_link_libraries (orc_zlib INTERFACE ZLIB::ZLIB) + +# ---------------------------------------------------------------------- +# Zstd + +find_package (ZSTD REQUIRED) + +add_library (orc_zstd INTERFACE) +add_library (orc::zstd ALIAS orc_zstd) +target_link_libraries (orc_zstd INTERFACE + $ + $ +) + +# ---------------------------------------------------------------------- +# LZ4 + +find_package (LZ4 REQUIRED) + +add_library (orc_lz4 INTERFACE) +add_library (orc::lz4 ALIAS orc_lz4) +target_link_libraries (orc_lz4 INTERFACE + $ + $ +) + +# ---------------------------------------------------------------------- +# Protobuf + +find_package (Protobuf REQUIRED) + +add_library (orc_protobuf INTERFACE) +add_library (orc::protobuf ALIAS orc_protobuf) +target_link_libraries (orc_protobuf INTERFACE protobuf::protobuf) diff --git a/recipes/orc/all/conandata.yml b/recipes/orc/all/conandata.yml new file mode 100644 index 0000000000000..8458d41ec33d7 --- /dev/null +++ b/recipes/orc/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "1.9.2": + url: "https://dlcdn.apache.org/orc/orc-1.9.2/orc-1.9.2.tar.gz" + sha256: "7f46f2c184ecefd6791f1a53fb062286818bd8710c3f08b94dd3cac365e240ee" + "1.8.6": + url: "https://dlcdn.apache.org/orc/orc-1.8.6/orc-1.8.6.tar.gz" + sha256: "5675b18118df4dd7f86cc6ba859ed75b425ea1b7ddff805e1d671a17fd57d7f7" + "1.7.10": + url: "https://dlcdn.apache.org/orc/orc-1.7.10/orc-1.7.10.tar.gz" + sha256: "85aef9368dc9bcdffaaf10010b66dfe053ce22f30b64854f63852248164686a3" diff --git a/recipes/orc/all/conanfile.py b/recipes/orc/all/conanfile.py new file mode 100644 index 0000000000000..f246032bfb025 --- /dev/null +++ b/recipes/orc/all/conanfile.py @@ -0,0 +1,159 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rmdir, replace_in_file, mkdir +from conan.tools.scm import Version + +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" + +class OrcRecipe(ConanFile): + name = "orc" + description = "ORC is a self-describing type-aware columnar file format designed for Hadoop workloads" + license = "Apache-2.0" + homepage = "https://orc.apache.org/" + url = "https://github.com/conan-io/conan-center-index" + topics = ("orc", "columnar", "file-format", "hadoop") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "build_tools": [True, False], + "build_avx512": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "build_tools": False, + "build_avx512": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "12", + } + + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + + @property + def _should_patch_thirdparty_toolchain(self): + return self.version < "2.0.0" + + def export_sources(self): + if self._should_patch_thirdparty_toolchain: + copy(self, "ConanThirdpartyToolchain.cmake", + self.recipe_folder, os.path.join(self.export_sources_folder, "src", "cmake_modules")) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if self.settings.compiler == "apple-clang": + # AVX support is not enabled by default, might need to add -mavx512f to CXXFLAGS + del self.options.build_avx512 + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src", build_folder="build") + + def requirements(self): + self.requires("protobuf/3.21.12") + self.requires("lz4/1.9.4") + self.requires("snappy/1.1.9") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("zstd/1.5.5") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + if not self._is_legacy_one_profile: + self.tool_requires("protobuf/") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + VirtualRunEnv(self).generate(scope="build") + + tc = CMakeToolchain(self) + tc.variables["ORC_PACKAGE_KIND"] = "conan" + tc.variables["BUILD_JAVA"] = False + tc.variables["BUILD_CPP_TESTS"] = False + tc.variables["BUILD_TOOLS"] = self.options.build_tools + tc.variables["BUILD_LIBHDFSPP"] = False + tc.variables["BUILD_POSITION_INDEPENDENT_LIB"] = bool(self.options.get_safe("fPIC", True)) + tc.variables["INSTALL_VENDORED_LIBS"] = False + # AVX512 support is determined by ORC_USER_SIMD_LEVEL env var at runtime, defaults to off + tc.variables["BUILD_ENABLE_AVX512"] = self.options.get_safe("build_avx512", False) + tc.variables["STOP_BUILD_ON_WARNING"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + + # CMake versions less than 3.12 are supported by ORC pre-1.9.0 versions. + # Setting policy CMP0077 to NEW to remove unnecessary cache_variables settings. + if self.version < "1.9.0": + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + + protoc_path = os.path.join(self.dependencies["protobuf"].cpp_info.bindir, "protoc") + tc.variables["PROTOBUF_EXECUTABLE"] = protoc_path.replace("\\", "/") + tc.variables["HAS_POST_2038"] = self.settings.os != "Windows" + tc.variables["HAS_PRE_1970"] = self.settings.os != "Windows" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + if self._should_patch_thirdparty_toolchain: + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "ThirdpartyToolchain", "ConanThirdpartyToolchain") + # Allow shared builds + replace_in_file(self, os.path.join(self.source_folder, "c++", "src", "CMakeLists.txt"), + "add_library (orc STATIC ${SOURCE_FILES})", "add_library (orc ${SOURCE_FILES})") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "NOTICE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + if self.settings.os == "Windows" and self.options.shared: + mkdir(self, os.path.join(self.package_folder, "bin")) + os.rename(os.path.join(self.package_folder, "lib", "orc.dll"), + os.path.join(self.package_folder, "bin", "orc.dll")) + + def package_info(self): + self.cpp_info.libs = ["orc"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m"] diff --git a/recipes/orc/all/test_package/CMakeLists.txt b/recipes/orc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..620d40236f2e4 --- /dev/null +++ b/recipes/orc/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(orc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE orc::orc) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/orc/all/test_package/conanfile.py b/recipes/orc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..594384bd24a75 --- /dev/null +++ b/recipes/orc/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/orc/all/test_package/test_package.cpp b/recipes/orc/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ba9153b830bac --- /dev/null +++ b/recipes/orc/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main() { + auto orcType = orc::Type::buildTypeFromString("struct"); + std::cout << orcType->toString() << std::endl; + return 0; +} diff --git a/recipes/orc/config.yml b/recipes/orc/config.yml new file mode 100644 index 0000000000000..dcd92ae52deb2 --- /dev/null +++ b/recipes/orc/config.yml @@ -0,0 +1,7 @@ +versions: + "1.9.2": + folder: all + "1.8.6": + folder: all + "1.7.10": + folder: all From f44659dad5bc94d324f6a583667cee7fb53d2caa Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Tue, 27 Feb 2024 16:49:52 +0100 Subject: [PATCH 3800/4087] (#22889) Add version 3.1.10 for imath library * Add version 3.1.10 for imath library * Add version exclusion for gcc <7 with imath 3.1.10 * Add a patch for the gcc5 compatibility issue * Add patch command to the build process * Add missing function to imports * Fix patch path --- recipes/imath/all/conandata.yml | 9 +++++ recipes/imath/all/conanfile.py | 9 +++-- .../all/patches/3.1.10-gcc5-backport.patch | 34 +++++++++++++++++++ recipes/imath/config.yml | 2 ++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 recipes/imath/all/patches/3.1.10-gcc5-backport.patch diff --git a/recipes/imath/all/conandata.yml b/recipes/imath/all/conandata.yml index 184bb3afe6a05..605325978acfe 100644 --- a/recipes/imath/all/conandata.yml +++ b/recipes/imath/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.10": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.10.tar.gz" + sha256: "f2943e86bfb694e216c60b9a169e5356f8a90f18fbd34d7b6e3450be14f60b10" "3.1.9": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.9.tar.gz" sha256: "f1d8aacd46afed958babfced3190d2d3c8209b66da451f556abd6da94c165cf3" @@ -17,3 +20,9 @@ sources: "3.1.4": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v3.1.4.tar.gz" sha256: "fcca5fbb37d375a252bacd8a29935569bdc28b888f01ef1d9299ca0c9e87c17a" +patches: + "3.1.10": + - patch_file: "patches/3.1.10-gcc5-backport.patch" + patch_description: "Add std:: prefix for isfinite (Backport from main, two commits on the file fix the issue)" + patch_type: "official" + patch_source: "https://github.com/AcademySoftwareFoundation/Imath/blob/main/src/Imath/ImathFun.cpp" diff --git a/recipes/imath/all/conanfile.py b/recipes/imath/all/conanfile.py index ca052909386af..1493689ab88b1 100644 --- a/recipes/imath/all/conanfile.py +++ b/recipes/imath/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc import os @@ -30,6 +30,9 @@ class ImathConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -53,10 +56,12 @@ def generate(self): if is_msvc(self) and self.settings.compiler.get_safe("cppstd"): # when msvc is working with a C++ standard level higher # than the default, we need the __cplusplus macro to be correct - tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" + tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" tc.generate() def build(self): + apply_conandata_patches(self) + cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/imath/all/patches/3.1.10-gcc5-backport.patch b/recipes/imath/all/patches/3.1.10-gcc5-backport.patch new file mode 100644 index 0000000000000..8d27e5461ad48 --- /dev/null +++ b/recipes/imath/all/patches/3.1.10-gcc5-backport.patch @@ -0,0 +1,34 @@ +diff --git src/Imath/ImathFun.cpp src/Imath/ImathFun.cpp +index bfec292..c8c2e7e 100644 +--- src/Imath/ImathFun.cpp ++++ src/Imath/ImathFun.cpp +@@ -10,25 +10,25 @@ IMATH_INTERNAL_NAMESPACE_SOURCE_ENTER + + float succf(float f) IMATH_NOEXCEPT + { +- return isfinite(f) ? ++ return std::isfinite(f) ? + std::nextafter(f, std::numeric_limits::infinity()) : f; + } + + float predf(float f) IMATH_NOEXCEPT + { +- return isfinite(f) ? ++ return std::isfinite(f) ? + std::nextafter(f, -std::numeric_limits::infinity()) : f; + } + + double succd(double d) IMATH_NOEXCEPT + { +- return isfinite(d) ? ++ return std::isfinite(d) ? + std::nextafter(d, std::numeric_limits::infinity()) : d; + } + + double predd(double d) IMATH_NOEXCEPT + { +- return isfinite(d) ? ++ return std::isfinite(d) ? + std::nextafter(d, -std::numeric_limits::infinity()) : d; + } + diff --git a/recipes/imath/config.yml b/recipes/imath/config.yml index e9bdf1c39b31e..a3cca600992b6 100644 --- a/recipes/imath/config.yml +++ b/recipes/imath/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.10": + folder: all "3.1.9": folder: all "3.1.8": From 5f0d20451fd89574e11d0eb8c4c5c8c837bc91a9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 02:08:41 +0900 Subject: [PATCH 3801/4087] (#22890) pathie-cpp: add recipe * pathie-cpp: add recipe * export all symbols * fix install path --- recipes/pathie-cpp/all/conandata.yml | 12 +++ recipes/pathie-cpp/all/conanfile.py | 85 +++++++++++++++++++ .../all/patches/0.1.1-0001-fix-cmake.patch | 47 ++++++++++ .../patches/0.1.1-0002-fix-install-path.patch | 27 ++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../pathie-cpp/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 16 ++++ recipes/pathie-cpp/config.yml | 3 + 8 files changed, 223 insertions(+) create mode 100644 recipes/pathie-cpp/all/conandata.yml create mode 100644 recipes/pathie-cpp/all/conanfile.py create mode 100644 recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch create mode 100644 recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch create mode 100644 recipes/pathie-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/pathie-cpp/all/test_package/conanfile.py create mode 100644 recipes/pathie-cpp/all/test_package/test_package.cpp create mode 100644 recipes/pathie-cpp/config.yml diff --git a/recipes/pathie-cpp/all/conandata.yml b/recipes/pathie-cpp/all/conandata.yml new file mode 100644 index 0000000000000..4046bc50f2738 --- /dev/null +++ b/recipes/pathie-cpp/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "0.1.1": + url: "https://github.com/Quintus/pathie-cpp/archive/refs/tags/v0.1.1.tar.gz" + sha256: "7c2cca0c52ad80792bf6dbeb74213c1791fe9e599058765f5b81fd00f53eb2d3" +patches: + "0.1.1": + - patch_file: "patches/0.1.1-0001-fix-cmake.patch" + patch_description: "separate shtatic and shared build" + patch_type: "conan" + - patch_file: "patches/0.1.1-0002-fix-install-path.patch" + patch_description: "fix install path for windows shared build" + patch_type: "conan" diff --git a/recipes/pathie-cpp/all/conanfile.py b/recipes/pathie-cpp/all/conanfile.py new file mode 100644 index 0000000000000..95acb35802514 --- /dev/null +++ b/recipes/pathie-cpp/all/conanfile.py @@ -0,0 +1,85 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.apple import is_apple_os +import os + +required_conan_version = ">=1.53.0" + +class PathieCppConan(ConanFile): + name = "pathie-cpp" + description = "Small C++ library for crossplatform Unicode path management" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Quintus/pathie-cpp" + topics = ("path", "unicode",) + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_stream_replacement": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_stream_replacement": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["PATHIE_BUILD_STREAM_REPLACEMENTS"] = self.options.with_stream_replacement + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["pathie"] + + self.cpp_info.set_property("cmake_file_name", "Pathie") + self.cpp_info.set_property("cmake_target_name", "Pathie::Pathie") + + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("shlwapi") + + if is_apple_os(self): + self.cpp_info.system_libs.append("iconv") diff --git a/recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch b/recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..50f3218d3b0f1 --- /dev/null +++ b/recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d765179..e31b54b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -116,12 +116,14 @@ file(GLOB_RECURSE test_sources + # Targets + + # Libraries ++if (NOT BUILD_SHARED_LIBS) + add_library(pathie STATIC ${pathie_sources}) + if(APPLE) + target_link_libraries(pathie iconv) + endif() ++endif() + +-if (CMAKE_BUILD_SHARED_LIBS) ++if (BUILD_SHARED_LIBS) + add_library(pathie-dynamic SHARED ${pathie_sources}) + set_target_properties(pathie-dynamic PROPERTIES OUTPUT_NAME pathie) + if(APPLE) +@@ -130,9 +132,10 @@ if (CMAKE_BUILD_SHARED_LIBS) + endif() + + if(WIN32) ++ if (NOT BUILD_SHARED_LIBS) + target_link_libraries(pathie shlwapi) +- +- if (CMAKE_BUILD_SHARED_LIBS) ++ endif() ++ if (BUILD_SHARED_LIBS) + target_link_libraries(pathie-dynamic shlwapi) + endif() + endif() +@@ -152,10 +155,12 @@ endif() + ######################################## + # Installation information + ++if (NOT BUILD_SHARED_LIBS) + install(TARGETS pathie + DESTINATION lib) ++endif() + +-if (CMAKE_BUILD_SHARED_LIBS) ++if (BUILD_SHARED_LIBS) + install(TARGETS pathie-dynamic + DESTINATION lib) + endif() diff --git a/recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch b/recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch new file mode 100644 index 0000000000000..fba8edf003ed6 --- /dev/null +++ b/recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e31b54b..bdf279e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -154,15 +154,19 @@ endif() + + ######################################## + # Installation information +- ++include(GNUInstallDirs) + if (NOT BUILD_SHARED_LIBS) + install(TARGETS pathie +- DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + if (BUILD_SHARED_LIBS) + install(TARGETS pathie-dynamic +- DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + install(FILES diff --git a/recipes/pathie-cpp/all/test_package/CMakeLists.txt b/recipes/pathie-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..00bc659fd0252 --- /dev/null +++ b/recipes/pathie-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(Pathie REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE Pathie::Pathie) diff --git a/recipes/pathie-cpp/all/test_package/conanfile.py b/recipes/pathie-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/pathie-cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pathie-cpp/all/test_package/test_package.cpp b/recipes/pathie-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..62d62074adb6a --- /dev/null +++ b/recipes/pathie-cpp/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include + +static bool callback(const Pathie::Path& entry) +{ + std::cout << entry << std::endl; + return true; +} + +int main() +{ + Pathie::Path dir("."); + dir.find(callback); + + return 0; +} diff --git a/recipes/pathie-cpp/config.yml b/recipes/pathie-cpp/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/pathie-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 4bc06cf81d6f09da987739f1aed71322b489f342 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 27 Feb 2024 19:29:40 +0200 Subject: [PATCH 3802/4087] (#22892) urdfdom: add v4.0.0 * urdfdom: add v4.0.0 * urdfdom: set CMP0077 --- recipes/urdfdom/all/conandata.yml | 22 +++++++++--- recipes/urdfdom/all/conanfile.py | 16 ++++++--- .../{ => 3.1.1}/001-optional-build-apps.patch | 0 .../002-use-conan-dependencies.patch | 35 ------------------- .../003-use-merged-urdfdom_headers.patch | 9 ----- .../4.0.0/001-optional-build-apps.patch | 34 ++++++++++++++++++ .../4.0.0/002-use-conan-dependencies.patch | 14 ++++++++ recipes/urdfdom/config.yml | 2 ++ 8 files changed, 80 insertions(+), 52 deletions(-) rename recipes/urdfdom/all/patches/{ => 3.1.1}/001-optional-build-apps.patch (100%) rename recipes/urdfdom/all/patches/{ => 3.1.1}/002-use-conan-dependencies.patch (63%) rename recipes/urdfdom/all/patches/{ => 3.1.1}/003-use-merged-urdfdom_headers.patch (51%) create mode 100644 recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch create mode 100644 recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch diff --git a/recipes/urdfdom/all/conandata.yml b/recipes/urdfdom/all/conandata.yml index 82a2012232450..c8d87b45ad9b0 100644 --- a/recipes/urdfdom/all/conandata.yml +++ b/recipes/urdfdom/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "4.0.0": + urdfdom: + url: "https://github.com/ros/urdfdom/archive/refs/tags/4.0.0.tar.gz" + sha256: "9848d106dc88dc0b907d5667c09da3ca53241fbcf17e982d8c234fe3e0d6ddcc" + urdfdom_headers: + url: "https://github.com/ros/urdfdom_headers/archive/refs/tags/1.1.1.zip" + sha256: "dde77e3dd96ffa41e2ee0a20bddcd6ef05863e95ce0143ede77130d8cd46c644" "3.1.1": urdfdom: url: "https://github.com/ros/urdfdom/archive/refs/tags/3.1.1.tar.gz" @@ -10,13 +17,20 @@ sources: url: "https://github.com/ros/urdfdom_headers/archive/1fd21b64ed78493508a174f98af982605d1e4607.zip" sha256: "aba42c1c83d6d1fb94e54ec84680a8b9e2417337fbaa85424da0e069d0cc89b6" patches: + "4.0.0": + - patch_file: "patches/4.0.0/001-optional-build-apps.patch" + patch_type: "conan" + patch_description: "Disable building of apps by default" + - patch_file: "patches/4.0.0/002-use-conan-dependencies.patch" + patch_type: "conan" + patch_description: "Use dependencies from Conan, use merged urdfdom_headers" "3.1.1": - - patch_file: "patches/001-optional-build-apps.patch" + - patch_file: "patches/3.1.1/001-optional-build-apps.patch" patch_type: "conan" patch_description: "Disable building of apps by default" - - patch_file: "patches/002-use-conan-dependencies.patch" + - patch_file: "patches/3.1.1/002-use-conan-dependencies.patch" patch_type: "conan" - patch_description: "Use dependencies (console_bridge, TinyXML, GTest) from Conan" - - patch_file: "patches/003-use-merged-urdfdom_headers.patch" + patch_description: "Use dependencies (console_bridge, TinyXML) from Conan" + - patch_file: "patches/3.1.1/003-use-merged-urdfdom_headers.patch" patch_type: "conan" patch_description: "Use merged urdfdom_headers instead of a separate package" diff --git a/recipes/urdfdom/all/conanfile.py b/recipes/urdfdom/all/conanfile.py index f7a710e7f7ea7..92fdbe4fc111e 100644 --- a/recipes/urdfdom/all/conanfile.py +++ b/recipes/urdfdom/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -45,7 +46,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("tinyxml/2.6.2", transitive_headers=True) + if Version(self.version) >= "4.0": + self.requires("tinyxml2/10.0.0", transitive_headers=True, transitive_libs=True) + else: + self.requires("tinyxml/2.6.2", transitive_headers=True, transitive_libs=True) self.requires("console_bridge/1.0.2") def validate(self): @@ -68,6 +72,8 @@ def generate(self): tc.variables["BUILD_APPS"] = False if not self.options.shared: tc.preprocessor_definitions["URDFDOM_STATIC"] = "1" + # Need to set CMP0077 because CMake policy version is too old (3.5 as of v4.0.0) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() CMakeDeps(self).generate() @@ -84,11 +90,13 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + # Copy urdfdom_headers + copy(self, "*", + src=os.path.join(self.source_folder, "urdf_parser", "include"), + dst=os.path.join(self.package_folder, "include")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "urdfdom")) rmdir(self, os.path.join(self.package_folder, "CMake")) diff --git a/recipes/urdfdom/all/patches/001-optional-build-apps.patch b/recipes/urdfdom/all/patches/3.1.1/001-optional-build-apps.patch similarity index 100% rename from recipes/urdfdom/all/patches/001-optional-build-apps.patch rename to recipes/urdfdom/all/patches/3.1.1/001-optional-build-apps.patch diff --git a/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch b/recipes/urdfdom/all/patches/3.1.1/002-use-conan-dependencies.patch similarity index 63% rename from recipes/urdfdom/all/patches/002-use-conan-dependencies.patch rename to recipes/urdfdom/all/patches/3.1.1/002-use-conan-dependencies.patch index cbb6f0fc84fb3..47e25f1f27284 100644 --- a/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch +++ b/recipes/urdfdom/all/patches/3.1.1/002-use-conan-dependencies.patch @@ -46,38 +46,3 @@ diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt target_compile_features(${add_urdfdom_library_LIBNAME} PUBLIC cxx_std_14) endif() -diff --git a/urdf_parser/test/CMakeLists.txt b/urdf_parser/test/CMakeLists.txt ---- a/urdf_parser/test/CMakeLists.txt (revision 1ed7ca95b917f38feb4ff7bd1aa033baf2cfce0e) -+++ b/urdf_parser/test/CMakeLists.txt (revision 6592c04e28cb59b8e9ac5944e3229c50d706a2ee) -@@ -1,18 +1,8 @@ --include_directories( -- ${CMAKE_CURRENT_SOURCE_DIR}/gtest/include -- ${CMAKE_CURRENT_SOURCE_DIR}/gtest -- ${CMAKE_CURRENT_SOURCE_DIR} --) -- --# Build gtest --add_library(gtest STATIC gtest/src/gtest-all.cc) --add_library(gtest_main STATIC gtest/src/gtest_main.cc) --target_link_libraries(gtest_main gtest) --target_compile_features(gtest PUBLIC cxx_std_11) -- - execute_process(COMMAND cmake -E remove_directory ${CMAKE_BINARY_DIR}/test_results) - execute_process(COMMAND cmake -E make_directory ${CMAKE_BINARY_DIR}/test_results) - -+find_package(GTest REQUIRED) -+ - # unit test to fix geometry problems - set(tests - urdf_double_convert.cpp -@@ -27,8 +17,8 @@ - add_executable(${BINARY_NAME} ${GTEST_SOURCE_file}) - - target_link_libraries(${BINARY_NAME} -- gtest_main -- gtest -+ GTest::gtest -+ GTest::gtest_main - urdfdom_model - ) - if (UNIX) diff --git a/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch b/recipes/urdfdom/all/patches/3.1.1/003-use-merged-urdfdom_headers.patch similarity index 51% rename from recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch rename to recipes/urdfdom/all/patches/3.1.1/003-use-merged-urdfdom_headers.patch index b4095fcb7ba42..0fc6cb3bfaa91 100644 --- a/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch +++ b/recipes/urdfdom/all/patches/3.1.1/003-use-merged-urdfdom_headers.patch @@ -10,12 +10,3 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt # Control where libraries and executables are placed during the build -diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt ---- a/urdf_parser/CMakeLists.txt (revision 82fb54588f3ba5091d9a73d072559ac7061eccdf) -+++ b/urdf_parser/CMakeLists.txt (revision 1de2b88f231fa0f7f83a028e971d4ebaed1b164c) -@@ -135,4 +135,4 @@ - FILE "urdfdomExport.cmake" - ) - --INSTALL(DIRECTORY include/urdf_parser DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+INSTALL(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch b/recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch new file mode 100644 index 0000000000000..65518ddc352d0 --- /dev/null +++ b/recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch @@ -0,0 +1,34 @@ +--- urdf_parser/CMakeLists.txt ++++ urdf_parser/CMakeLists.txt +@@ -81,6 +81,7 @@ + + # -------------------------------- + ++if(BUILD_APPS) + add_executable(check_urdf src/check_urdf.cpp) + target_include_directories(check_urdf PUBLIC include) + target_link_libraries(check_urdf urdfdom_model urdfdom_world) +@@ -97,6 +98,7 @@ + add_executable(urdf_mem_test test/memtest.cpp) + target_include_directories(urdf_mem_test PUBLIC include) + target_link_libraries(urdf_mem_test urdfdom_model) ++endif() + + include(CTest) + if(BUILD_TESTING) +@@ -104,6 +106,7 @@ + add_subdirectory(test) + endif() + ++if(BUILD_APPS) + INSTALL( + TARGETS + check_urdf +@@ -114,6 +117,7 @@ + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ++endif() + INSTALL( + TARGETS + urdfdom_model diff --git a/recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch b/recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch new file mode 100644 index 0000000000000..9553d1b1c9713 --- /dev/null +++ b/recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch @@ -0,0 +1,14 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -45,11 +45,8 @@ + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +-find_package(tinyxml2_vendor QUIET) + find_package(TinyXML2 REQUIRED) + +-find_package(urdfdom_headers 1.0 REQUIRED) +-find_package(console_bridge_vendor QUIET) # Provides console_bridge 0.4.0 on platforms without it. + find_package(console_bridge REQUIRED) + + # Control where libraries and executables are placed during the build diff --git a/recipes/urdfdom/config.yml b/recipes/urdfdom/config.yml index fd9669719a7ad..1188e8479ce63 100644 --- a/recipes/urdfdom/config.yml +++ b/recipes/urdfdom/config.yml @@ -1,3 +1,5 @@ versions: + "4.0.0": + folder: all "3.1.1": folder: all From b0df97bfc26eba4150d8346a045d1116a0747673 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Feb 2024 11:04:07 +0200 Subject: [PATCH 3803/4087] (#18823) redradist-icc: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * redradist-icc: migrate to Conan v2 * redradist-icc: restore VirtualRunEnv in test_package * redradist-icc: clean up imports * redradist-icc: tidy validate() * redradist-icc: fix test_v1_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/redradist-icc/all/CMakeLists.txt | 7 - recipes/redradist-icc/all/conanfile.py | 140 +++++++++--------- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 23 ++- .../all/test_package/example.cpp | 7 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 117 insertions(+), 94 deletions(-) delete mode 100644 recipes/redradist-icc/all/CMakeLists.txt create mode 100644 recipes/redradist-icc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/redradist-icc/all/test_v1_package/conanfile.py diff --git a/recipes/redradist-icc/all/CMakeLists.txt b/recipes/redradist-icc/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/redradist-icc/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/redradist-icc/all/conanfile.py b/recipes/redradist-icc/all/conanfile.py index 926df39193116..1c501628eb1da 100644 --- a/recipes/redradist-icc/all/conanfile.py +++ b/recipes/redradist-icc/all/conanfile.py @@ -1,33 +1,35 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration, ConanException -import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import export_conandata_patches, get + +required_conan_version = ">=1.53.0" class ICCConan(ConanFile): - name = 'redradist-icc' - homepage = 'https://github.com/redradist/Inter-Component-Communication' - license = 'MIT' - url = 'https://github.com/conan-io/conan-center-index' - description = "I.C.C. - Inter Component Communication, This is a library created to simplify communication between " \ - "components inside of single application. It is thread safe and could be used for creating " \ - "components that works in different threads. " + name = "redradist-icc" + description = ( + "I.C.C. - Inter Component Communication, This is a library created to simplify communication between " + "components inside of single application. It is thread safe and could be used for creating " + "components that works in different threads. " + ) + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/redradist/Inter-Component-Communication" topics = ("thread-safe", "active-object", "communication") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - 'fPIC': [True, False], + "fPIC": [True, False], } default_options = { - 'shared': False, - 'fPIC': True, + "shared": False, + "fPIC": True, } - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" @property def _minimum_cpp_standard(self): @@ -37,79 +39,75 @@ def _minimum_cpp_standard(self): def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "apple-clang": "9.4", "clang": "3.3", - "gcc": "4.9.4" + "gcc": "4.9.4", } - def _configure_cmake(self): - if self._cmake: - return self._cmake - cmake = CMake(self) - cmake.definitions['ICC_BUILD_SHARED'] = self.options.shared - cmake.configure() - self._cmake = cmake - return self._cmake - - def validate(self): - if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - - os = self.settings.os - if os not in ("Windows", "Linux"): - msg = ( - "OS {} is not supported !!" - ).format(os) - raise ConanInvalidConfiguration(msg) - - compiler = self.settings.compiler - try: - min_version = self._minimum_compilers_version[str(compiler)] - if tools.Version(compiler.version) < min_version: - msg = ( - "{} requires C++{} features which are not supported by compiler {} {} !!" - ).format(self.name, self._minimum_cpp_standard, compiler, compiler.version) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - "{} recipe lacks information about the {} compiler, " - "support for the required C++{} features is assumed" - ).format(self.name, compiler, self._minimum_cpp_standard) - self.output.warn(msg) + def export_sources(self): + export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._minimum_cpp_standard) + + if is_apple_os(self): + raise ConanInvalidConfiguration(f"OS {self.settings.os} is not supported") + + def lazy_lt_semver(v1, v2): + # To allow version "9" >= "9.4" for apple-clang + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + + compiler = self.settings.compiler + min_version = self._minimum_compilers_version.get(str(compiler)) + if min_version and lazy_lt_semver(compiler.version, min_version): + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._minimum_cpp_standard} features " + f"which are not supported by compiler {compiler} {compiler.version}") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ICC_BUILD_SHARED"] = self.options.shared + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.names["cmake_find_package"] = "icc" - self.cpp_info.names["cmake_find_package_multi"] = "icc" + self.cpp_info.set_property("cmake_file_name", "icc") + self.cpp_info.set_property("cmake_target_name", "icc::icc") + if self.options.shared: self.cpp_info.libs = ["ICC"] else: self.cpp_info.libs = ["ICC_static"] - if self.settings.os == 'Windows': - self.cpp_info.system_libs = ['ws2_32', 'wsock32'] - if self.settings.os == 'Linux': - self.cpp_info.system_libs = ['pthread'] + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["ws2_32", "wsock32"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "icc" + self.cpp_info.names["cmake_find_package_multi"] = "icc" diff --git a/recipes/redradist-icc/all/test_package/CMakeLists.txt b/recipes/redradist-icc/all/test_package/CMakeLists.txt index de507b485e0da..1e80ea5e97b76 100644 --- a/recipes/redradist-icc/all/test_package/CMakeLists.txt +++ b/recipes/redradist-icc/all/test_package/CMakeLists.txt @@ -1,12 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(icc REQUIRED) +find_package(icc REQUIRED CONFIG) add_executable(example example.cpp) target_link_libraries(example PRIVATE icc::icc) diff --git a/recipes/redradist-icc/all/test_package/conanfile.py b/recipes/redradist-icc/all/test_package/conanfile.py index b80e4a18de9ec..8d52b7021efe1 100644 --- a/recipes/redradist-icc/all/test_package/conanfile.py +++ b/recipes/redradist-icc/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class ICCTestConan(ConanFile): - settings = 'os', 'compiler', 'build_type', 'arch' - generators = 'cmake', 'cmake_find_package' +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join('bin', 'example') - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/redradist-icc/all/test_package/example.cpp b/recipes/redradist-icc/all/test_package/example.cpp index cbf15d36a28cd..2a8c9ea6d9adf 100644 --- a/recipes/redradist-icc/all/test_package/example.cpp +++ b/recipes/redradist-icc/all/test_package/example.cpp @@ -1,14 +1,15 @@ #include #include #include -#include #include +#include + int main() { auto timer = icc::os::Timer::createTimer(); - timer->setInterval(std::chrono::seconds(10)); + timer->setInterval(std::chrono::milliseconds(100)); timer->enableContinuous(); timer->start(); - std::this_thread::sleep_for(std::chrono::seconds(25)); + std::this_thread::sleep_for(std::chrono::seconds(1)); return 0; } diff --git a/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt b/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/redradist-icc/all/test_v1_package/conanfile.py b/recipes/redradist-icc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fc78d14187e40 --- /dev/null +++ b/recipes/redradist-icc/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class ICCTestConan(ConanFile): + settings = 'os', 'compiler', 'build_type', 'arch' + generators = 'cmake', 'cmake_find_package_multi' + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join('bin', 'example') + self.run(bin_path, run_environment=True) From 06810c49553ef32bc841cad062ec751ead6ed022 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 21:08:43 +0900 Subject: [PATCH 3804/4087] (#22908) openjpeg: add version 2.5.1 * openjpeg: add version 2.5.1 * remove cmake, pkgconfig from upstream, fix pkg_config_name * revert pkg_config_name --- recipes/openjpeg/all/conandata.yml | 3 +++ recipes/openjpeg/all/conanfile.py | 9 +++++---- recipes/openjpeg/config.yml | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/openjpeg/all/conandata.yml b/recipes/openjpeg/all/conandata.yml index 1770aef0faecd..aa3392abe8228 100644 --- a/recipes/openjpeg/all/conandata.yml +++ b/recipes/openjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.1": + url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.1.tar.gz" + sha256: "c0b92dadd65e33b1cf94f39dd9157d5469846744c2e0afb8ca10961f51f61da6" "2.5.0": url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.0.tar.gz" sha256: "0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a" diff --git a/recipes/openjpeg/all/conanfile.py b/recipes/openjpeg/all/conanfile.py index 5b1cc6a995945..74542890fef4f 100644 --- a/recipes/openjpeg/all/conanfile.py +++ b/recipes/openjpeg/all/conanfile.py @@ -10,12 +10,11 @@ class OpenjpegConan(ConanFile): name = "openjpeg" - url = "https://github.com/conan-io/conan-center-index" description = "OpenJPEG is an open-source JPEG 2000 codec written in C language." - topics = ("jpeg2000", "jp2", "openjpeg", "image", "multimedia", "format", "graphics") - homepage = "https://github.com/uclouvain/openjpeg" license = "BSD-2-Clause" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/uclouvain/openjpeg" + topics = ("jpeg2000", "jp2", "openjpeg", "image", "multimedia", "format", "graphics") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -89,6 +88,8 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", self._openjpeg_subdir)) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", self._openjpeg_subdir)) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) self._create_cmake_module_variables( os.path.join(self.package_folder, self._module_vars_rel_path) ) diff --git a/recipes/openjpeg/config.yml b/recipes/openjpeg/config.yml index 2f39469175da4..cfbcc333e7b22 100644 --- a/recipes/openjpeg/config.yml +++ b/recipes/openjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.1": + folder: all "2.5.0": folder: all "2.4.0": From 6ba7fcfa2428017eec758e84398abfe8952e84a4 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Wed, 28 Feb 2024 07:29:29 -0500 Subject: [PATCH 3805/4087] (#22924) cpptrace: Add 0.4.1 --- recipes/cpptrace/all/conandata.yml | 4 ++++ recipes/cpptrace/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index b9844d75c4190..7ebcd5c89c321 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.4.1": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.1.tar.gz" + sha256: "8b6e2c813cf2db332c1aa0502c38afd01a1e00ece0ecc7fcd82fcae4b34e5161" "0.4.0": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.0.tar.gz" diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index c04879bd49824..a7ff5173cbbfa 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.4.1": + folder: all "0.4.0": folder: all "0.3.1": From c3fd99604c2e4fc7b279199a0e2971dd3bcbe45b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 21:52:52 +0900 Subject: [PATCH 3806/4087] (#22904) fast-cpp-csv-parser: add version cci.20240102 --- recipes/fast-cpp-csv-parser/all/conandata.yml | 3 +++ recipes/fast-cpp-csv-parser/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast-cpp-csv-parser/all/conandata.yml b/recipes/fast-cpp-csv-parser/all/conandata.yml index 87d270e80c74e..00225e59aaf16 100644 --- a/recipes/fast-cpp-csv-parser/all/conandata.yml +++ b/recipes/fast-cpp-csv-parser/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240102": + url: "https://github.com/ben-strasser/fast-cpp-csv-parser/archive/a71a87e700b0fb92645c6b124742cbf326e0f7b1.tar.gz" + sha256: "635d34234b9ebfefde42af3431547a5da29a112dd43cdbb532f79844b3b761d8" "cci.20211104": url: "https://github.com/ben-strasser/fast-cpp-csv-parser/archive/5a417973b4cea674a5e4a3b88a23098a2ab75479.zip" sha256: "33a22bda2603a87b8f36c79673339490f58656d92a4882e788de3f4ef7ec57b2" diff --git a/recipes/fast-cpp-csv-parser/config.yml b/recipes/fast-cpp-csv-parser/config.yml index ca4b1e35049ab..383c881ec3492 100644 --- a/recipes/fast-cpp-csv-parser/config.yml +++ b/recipes/fast-cpp-csv-parser/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240102": + folder: all "cci.20211104": folder: all "cci.20200830": From 394bd059c0bf844d1d1fe3bd759548ecb5c36f04 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 28 Feb 2024 14:11:04 +0100 Subject: [PATCH 3807/4087] (#22915) OpenEXR add version 3.2.2 * OpenEXR add version 3.2.2 * Add 3.2.2 to config.yml --- recipes/openexr/3.x/conandata.yml | 12 ++++++++++++ recipes/openexr/config.yml | 2 ++ 2 files changed, 14 insertions(+) diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 778602cf612b4..0195d5928e91c 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.2": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.2.tar.gz" + sha256: "65de6459c245a4977ce4d7777e70b30d7ef48ec38e0cfb10205706ca50a8bf2e" "3.2.1": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.1.tar.gz" sha256: "61e175aa2203399fb3c8c2288752fbea3c2637680d50b6e306ea5f8ffdd46a9b" @@ -9,6 +12,15 @@ sources: url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" patches: + "3.2.2": + - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" + - patch_file: "patches/3.2.1-find-libdeflate.patch" + patch_description: "Use find_package for libdeflate" + patch_type: "backport" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/pull/1613" "3.2.1": - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index 79091d0404e1f..7e99e768ab562 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.2": + folder: "3.x" "3.2.1": folder: "3.x" "3.1.9": From 6e0c5dcc5e8fa0bc5301d9890d100efbc38a2be5 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Wed, 28 Feb 2024 14:25:56 +0100 Subject: [PATCH 3808/4087] (#21762) xnnpack: Add cci.20231026 Co-authored-by: Uilian Ries --- recipes/xnnpack/all/conandata.yml | 3 +++ recipes/xnnpack/all/conanfile.py | 4 ++-- recipes/xnnpack/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/xnnpack/all/conandata.yml b/recipes/xnnpack/all/conandata.yml index 97d441c786f9f..347edb5af1787 100644 --- a/recipes/xnnpack/all/conandata.yml +++ b/recipes/xnnpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231026": + url: "https://github.com/google/XNNPACK/archive/ab16a544c1cbc5ee4ec105a2f35f8adca22e94c1.tar.gz" + sha256: "11c7e0555d2c2c14d812b3fba2a277d59121cfb898dcc99de1c76477ff2055a0" "cci.20230715": url: "https://github.com/google/XNNPACK/archive/645035286fe31d47eeb07900450f4f6540b75c2c.tar.gz" sha256: "4c91153dfe4648dc3b325db0b4d6719d6e16f7ce30940b4ceb65abd033e5245e" diff --git a/recipes/xnnpack/all/conanfile.py b/recipes/xnnpack/all/conanfile.py index 5d80f5f3cd167..579c065b64636 100644 --- a/recipes/xnnpack/all/conanfile.py +++ b/recipes/xnnpack/all/conanfile.py @@ -56,10 +56,10 @@ def requirements(self): if self.version in ["cci.20220801", "cci.20220621", "cci.20211210"]: self.requires("cpuinfo/cci.20220228") else: - self.requires("cpuinfo/cci.20230118") + self.requires("cpuinfo/cci.20231129") self.requires("fp16/cci.20210320") # https://github.com/google/XNNPACK/blob/ed5f9c0562e016a08b274a4579de5ef500fec134/include/xnnpack.h#L15 - self.requires("pthreadpool/cci.20210218", transitive_headers=True) + self.requires("pthreadpool/cci.20231129", transitive_headers=True) self.requires("fxdiv/cci.20200417") def validate(self): diff --git a/recipes/xnnpack/config.yml b/recipes/xnnpack/config.yml index a1c159e3728ee..5e502dd6fac1c 100644 --- a/recipes/xnnpack/config.yml +++ b/recipes/xnnpack/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231026": + folder: all "cci.20230715": folder: all "cci.20220801": From 753532f83637c16158b0f0198085f64359959642 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 22:48:42 +0900 Subject: [PATCH 3809/4087] (#21950) aws-c-s3: add version 0.4.5 * aws-c-s3: add version 0.4.6 * downgrade 0.4.5 --- recipes/aws-c-s3/all/conandata.yml | 3 +++ recipes/aws-c-s3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-s3/all/conandata.yml b/recipes/aws-c-s3/all/conandata.yml index c1055bfac4946..2433ee657645c 100644 --- a/recipes/aws-c-s3/all/conandata.yml +++ b/recipes/aws-c-s3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.4.5": + url: "https://github.com/awslabs/aws-c-s3/archive/v0.4.5.tar.gz" + sha256: "c9b588f5761ae6754dab2b51124784be78887f054856f02e44b6e51c25873055" "0.3.24": url: "https://github.com/awslabs/aws-c-s3/archive/v0.3.24.tar.gz" sha256: "09803db4af98bba0af263434e2de432cdccdb3ab709411abba8e05d34840f815" diff --git a/recipes/aws-c-s3/config.yml b/recipes/aws-c-s3/config.yml index a038f7fe28821..9dc59a14978b9 100644 --- a/recipes/aws-c-s3/config.yml +++ b/recipes/aws-c-s3/config.yml @@ -1,4 +1,6 @@ versions: + "0.4.5": + folder: all "0.3.24": folder: all "0.1.49": From 55752863f305dab2fbeb6d632ac9f587700e8195 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 23:09:45 +0900 Subject: [PATCH 3810/4087] (#22518) sdl_ttf: add version 2.22.0 * sdl_ttf: add version 2.22.0 * add build_requirements --- recipes/sdl_ttf/all/conandata.yml | 3 +++ recipes/sdl_ttf/all/conanfile.py | 3 +++ recipes/sdl_ttf/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/sdl_ttf/all/conandata.yml b/recipes/sdl_ttf/all/conandata.yml index 556b69cb6d777..047b9b76b8975 100644 --- a/recipes/sdl_ttf/all/conandata.yml +++ b/recipes/sdl_ttf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.22.0": + url: "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.22.0/SDL2_ttf-2.22.0.tar.gz" + sha256: "d48cbd1ce475b9e178206bf3b72d56b66d84d44f64ac05803328396234d67723" "2.20.2": url: "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.2/SDL2_ttf-2.20.2.tar.gz" sha256: "9dc71ed93487521b107a2c4a9ca6bf43fb62f6bddd5c26b055e6b91418a22053" diff --git a/recipes/sdl_ttf/all/conanfile.py b/recipes/sdl_ttf/all/conanfile.py index 3fb325e526385..fe9ee6f453b29 100644 --- a/recipes/sdl_ttf/all/conanfile.py +++ b/recipes/sdl_ttf/all/conanfile.py @@ -68,6 +68,9 @@ def validate(self): if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} shared is not supported with Visual Studio") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/sdl_ttf/config.yml b/recipes/sdl_ttf/config.yml index be62a6c021ae5..46db183bdc30c 100644 --- a/recipes/sdl_ttf/config.yml +++ b/recipes/sdl_ttf/config.yml @@ -1,4 +1,6 @@ versions: + "2.22.0": + folder: all "2.20.2": folder: all "2.20.1": From dadf43d2bcddc56aaab9e6781550aec094140347 Mon Sep 17 00:00:00 2001 From: Thomas Steiner <47025493+steinerthomas@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:47:48 +0100 Subject: [PATCH 3811/4087] (#19480) poco: Add option for enabling debug and trace logs * poco: Add option for enabling debug and trace logs * CR --------- Co-authored-by: Uilian Ries --- recipes/poco/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index d772d089d1b1f..ae636de694a7b 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -29,6 +29,7 @@ class PocoConan(ConanFile): "fPIC": [True, False], "enable_fork": [True, False], "enable_active_record": [True, False, "deprecated"], + "log_debug": [True, False], "with_sql_parser": [True, False], } default_options = { @@ -36,6 +37,7 @@ class PocoConan(ConanFile): "fPIC": True, "enable_fork": True, "enable_active_record": "deprecated", + "log_debug": False, "with_sql_parser": True, } @@ -169,6 +171,7 @@ def requirements(self): def package_id(self): del self.info.options.enable_active_record + del self.info.options.log_debug def validate(self): if self.settings.compiler.cppstd: @@ -349,6 +352,9 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["poco_foundation"].system_libs.extend(["pthread", "dl", "rt"]) + if self.options.log_debug: + self.cpp_info.components["poco_foundation"].defines.append("POCO_LOG_DEBUG") + if is_msvc(self): self.cpp_info.components["poco_foundation"].defines.append("POCO_NO_AUTOMATIC_LIBS") if not self.options.shared: From d82b88afceaa82fc86cd2b3932c58973d6477d62 Mon Sep 17 00:00:00 2001 From: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:29:39 +0000 Subject: [PATCH 3812/4087] (#22852) nmos-cpp/cci.20240223: new release --- recipes/nmos-cpp/all/conandata.yml | 3 +++ recipes/nmos-cpp/all/conanfile.py | 5 ++++- recipes/nmos-cpp/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/nmos-cpp/all/conandata.yml b/recipes/nmos-cpp/all/conandata.yml index 94817c0d8466a..48f839443ae06 100644 --- a/recipes/nmos-cpp/all/conandata.yml +++ b/recipes/nmos-cpp/all/conandata.yml @@ -1,5 +1,8 @@ sources: # see https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#what-version-should-packages-use-for-libraries-without-official-releases + "cci.20240223": + url: "https://github.com/sony/nmos-cpp/archive/27dff31919e06a132651291648293ff7b6b38b38.tar.gz" + sha256: "25c5fec843c9ced8061231b44f00942886766008ddbb171b351bf5616c07eccc" "cci.20221203": url: "https://github.com/sony/nmos-cpp/archive/0fb6b51737f737ae011cbcc39cdfb2c5236ec59f.tar.gz" sha256: "9e811b2707afe084c4470fcaa5664f57468fd03e86b1eebd03ec9216cf31cac1" diff --git a/recipes/nmos-cpp/all/conanfile.py b/recipes/nmos-cpp/all/conanfile.py index d2bed5c1666e3..c34c0db4db93c 100644 --- a/recipes/nmos-cpp/all/conanfile.py +++ b/recipes/nmos-cpp/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools import build, files from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import json import os import re @@ -51,12 +52,14 @@ def requirements(self): # INFO: details/system_error.h: #include self.requires("boost/1.83.0", transitive_headers=True) # INFO: json_ops.h exposes cpprest/json.h - self.requires("cpprestsdk/2.10.18", transitive_headers=True) + self.requires("cpprestsdk/2.10.19", transitive_headers=True) self.requires("websocketpp/0.8.2") self.requires("openssl/[>=1.1 <4]") self.requires("json-schema-validator/2.3.0") self.requires("nlohmann_json/3.11.3") self.requires("zlib/[>=1.2.11 <2]") + if Version(self.version) >= "cci.20240222": + self.requires("jwt-cpp/0.7.0") if self.options.get_safe("with_dnssd") == "mdnsresponder": self.requires("mdnsresponder/878.200.35") diff --git a/recipes/nmos-cpp/config.yml b/recipes/nmos-cpp/config.yml index 1ebebe8a73c09..9cc517e0f52ae 100644 --- a/recipes/nmos-cpp/config.yml +++ b/recipes/nmos-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240223": + folder: all "cci.20221203": folder: all "cci.20220620": From 77a76aebc2db6960a9e4d9a26d9158df8242ec59 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Feb 2024 00:48:56 +0900 Subject: [PATCH 3813/4087] (#22914) c4core: update fast_float/6.1.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index d0a1927baa811..d4620ffd7f7a8 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/6.0.0", transitive_headers=True) + self.requires("fast_float/6.1.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 5ea978b9b490690189e0e41f95f7b2777e309d93 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 28 Feb 2024 17:08:20 +0100 Subject: [PATCH 3814/4087] (#22918) Add me for community alerts on packages I'm working on * Add me for community alerts on packages I'm working on regularly right now * Add also libraw for the alerting bot --- .github/workflows/alert-community.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index 405926199ff5e..c557f03f37246 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -186,6 +186,11 @@ jobs: files: "recipes/gtest/*/*" reviewers: "@Hopobcn @jwillikers" + - uses: ./.github/actions/alert-community + with: + files: "recipes/imath/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/imgui/*/*" @@ -266,6 +271,11 @@ jobs: files: "recipes/libpng/*/*" reviewers: "@Hopobcn" + - uses: ./.github/actions/alert-community + with: + files: "recipes/libraw/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/libsodium/*/*" @@ -326,6 +336,16 @@ jobs: files: "recipes/openapi-generator/*/*" reviewers: "@MartinDelille" + - uses: ./.github/actions/alert-community + with: + files: "recipes/opencolorio/*/*" + reviewers: "@irieger" + + - uses: ./.github/actions/alert-community + with: + files: "recipes/openexr/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/opengl/*/*" @@ -336,6 +356,11 @@ jobs: files: "recipes/opengl-registry/*/*" reviewers: "@MartinDelille" + - uses: ./.github/actions/alert-community + with: + files: "recipes/openimageio/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/openssl/*/*" From 4f83da195a9cfe41407637d604479b31456a6ef4 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 28 Feb 2024 17:28:17 +0100 Subject: [PATCH 3815/4087] (#22925) OpenImageIO: Fix CMake patch for non-default option --- recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch | 2 +- recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch | 2 +- recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch index dc76e283d97aa..5ed8bf12ec780 100644 --- a/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch @@ -70,7 +70,7 @@ index a4f895c07..f55da37cb 100644 - JPEG_LIBRARIES JPEG_VERSION) -if (NOT JPEG_FOUND) # Try to find the non-turbo version +if (USE_JPEGTURBO) -+ checked_find_package (JPEGTurbo ++ checked_find_package (libjpeg-turbo REQUIRED + DEFINITIONS -DUSE_JPEG_TURBO=1 + PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) + add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) diff --git a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch index c560e5020256a..0d61414f30ef2 100644 --- a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch @@ -60,7 +60,7 @@ index 48e871418..21f709b1d 100644 - JPEG_LIBRARIES JPEG_VERSION) -if (NOT JPEG_FOUND) # Try to find the non-turbo version +if (USE_JPEGTURBO) -+ checked_find_package (JPEGTurbo ++ checked_find_package (libjpeg-turbo REQUIRED + DEFINITIONS -DUSE_JPEG_TURBO=1 + PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) + add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) diff --git a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch index 8563d86fcb7db..7d45a41ba65a6 100644 --- a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch @@ -69,7 +69,7 @@ index 3cfaedd57..f75fee7a3 100644 - DEFINITIONS -DUSE_JPEG_TURBO=1) -if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version +if (USE_JPEGTURBO) -+ checked_find_package (JPEGTurbo REQUIRED ++ checked_find_package (libjpeg-turbo REQUIRED + DEFINITIONS -DUSE_JPEG_TURBO=1 + PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) + add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) From 0aedd00129b64d2c5acbf0b84a6c2fea814b4894 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Feb 2024 18:49:26 +0200 Subject: [PATCH 3816/4087] (#22927) urdfdom_headers: new recipe * urdfdom_headers: new recipe * urdfdom_headers: C++11 is required --- recipes/urdfdom_headers/all/conandata.yml | 4 ++ recipes/urdfdom_headers/all/conanfile.py | 44 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++++ .../all/test_package/conanfile.py | 26 +++++++++++ .../all/test_package/test_package.cpp | 6 +++ recipes/urdfdom_headers/config.yml | 3 ++ 6 files changed, 91 insertions(+) create mode 100644 recipes/urdfdom_headers/all/conandata.yml create mode 100644 recipes/urdfdom_headers/all/conanfile.py create mode 100644 recipes/urdfdom_headers/all/test_package/CMakeLists.txt create mode 100644 recipes/urdfdom_headers/all/test_package/conanfile.py create mode 100644 recipes/urdfdom_headers/all/test_package/test_package.cpp create mode 100644 recipes/urdfdom_headers/config.yml diff --git a/recipes/urdfdom_headers/all/conandata.yml b/recipes/urdfdom_headers/all/conandata.yml new file mode 100644 index 0000000000000..9c889de9abc7d --- /dev/null +++ b/recipes/urdfdom_headers/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.1": + url: "https://github.com/ros/urdfdom_headers/archive/refs/tags/1.1.1.zip" + sha256: "dde77e3dd96ffa41e2ee0a20bddcd6ef05863e95ce0143ede77130d8cd46c644" diff --git a/recipes/urdfdom_headers/all/conanfile.py b/recipes/urdfdom_headers/all/conanfile.py new file mode 100644 index 0000000000000..a374540200186 --- /dev/null +++ b/recipes/urdfdom_headers/all/conanfile.py @@ -0,0 +1,44 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "urdfdom_headers" + description = "Headers for URDF parsers" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ros/urdfdom_headers" + topics = ("urdf", "ros", "robotics") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + # Add a project prefix to the headers to match the default APPEND_PROJECT_NAME_TO_INCLUDEDIR=ON + copy(self, "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include", "urdfdom")) + + def package_info(self): + self.cpp_info.includedirs.append(os.path.join("include", "urdfdom")) + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/urdfdom_headers/all/test_package/CMakeLists.txt b/recipes/urdfdom_headers/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..733e7c8f06684 --- /dev/null +++ b/recipes/urdfdom_headers/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(urdfdom_headers REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE urdfdom_headers::urdfdom_headers) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/urdfdom_headers/all/test_package/conanfile.py b/recipes/urdfdom_headers/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/urdfdom_headers/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/urdfdom_headers/all/test_package/test_package.cpp b/recipes/urdfdom_headers/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..aa515bd58ffb9 --- /dev/null +++ b/recipes/urdfdom_headers/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + urdf::World world; + return 0; +} diff --git a/recipes/urdfdom_headers/config.yml b/recipes/urdfdom_headers/config.yml new file mode 100644 index 0000000000000..60d31991f5141 --- /dev/null +++ b/recipes/urdfdom_headers/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.1": + folder: all From 76cc54bb433968dbcfc9e37d7c7ad927d701da95 Mon Sep 17 00:00:00 2001 From: HypoYoung <142313125+HypoYoung@users.noreply.github.com> Date: Thu, 29 Feb 2024 01:06:06 +0800 Subject: [PATCH 3817/4087] (#20639) libcurl: conan support mbedtls * libcurl: conan support mbedtls * Apply suggestions from code review Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams Co-authored-by: Uilian Ries --- recipes/libcurl/all/conanfile.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 7c2f02e93b679..41ce8fa327a98 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -30,7 +30,7 @@ class LibcurlConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "with_ssl": [False, "openssl", "wolfssl", "schannel", "darwinssl"], + "with_ssl": [False, "openssl", "wolfssl", "schannel", "darwinssl", "mbedtls"], "with_file": [True, False], "with_ftp": [True, False], "with_http": [True, False], @@ -175,6 +175,8 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.6.6") + elif self.options.with_ssl == "mbedtls": + self.requires("mbedtls/3.5.0") if self.options.with_nghttp2: self.requires("libnghttp2/1.59.0") if self.options.with_libssh2: @@ -443,6 +445,12 @@ def _generate_with_autotools(self): tc.configure_args.append(f"--with-wolfssl={path}") else: tc.configure_args.append("--without-wolfssl") + + if self.options.with_ssl == "mbedtls": + path = unix_path(self, self.dependencies["mbedtls"].package_folder) + tc.configure_args.append(f"--with-mbedtls={path}") + else: + tc.configure_args.append("--without-mbedtls") if self.options.with_libssh2: path = unix_path(self, self.dependencies["libssh2"].package_folder) @@ -571,6 +579,10 @@ def _generate_with_cmake(self): tc.variables["CURL_USE_WOLFSSL"] = self.options.with_ssl == "wolfssl" else: tc.variables["CMAKE_USE_WOLFSSL"] = self.options.with_ssl == "wolfssl" + if Version(self.version) >= "7.81.0": + tc.variables["CURL_USE_MBEDTLS"] = self.options.with_ssl == "mbedtls" + else: + tc.variables["CMAKE_USE_MBEDTLS"] = self.options.with_ssl == "mbedtls" tc.variables["USE_NGHTTP2"] = self.options.with_nghttp2 tc.variables["CURL_ZLIB"] = self.options.with_zlib tc.variables["CURL_BROTLI"] = self.options.with_brotli @@ -687,6 +699,8 @@ def package_info(self): self.cpp_info.components["curl"].requires.append("openssl::openssl") if self.options.with_ssl == "wolfssl": self.cpp_info.components["curl"].requires.append("wolfssl::wolfssl") + if self.options.with_ssl == "mbedtls": + self.cpp_info.components["curl"].requires.append("mbedtls::mbedtls") if self.options.with_nghttp2: self.cpp_info.components["curl"].requires.append("libnghttp2::libnghttp2") if self.options.with_libssh2: From 422efa25d0659ea09bf89d9be602f973fd862cae Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 29 Feb 2024 15:48:16 +0100 Subject: [PATCH 3818/4087] (#22700) Qt6: fix qt multimedia on linux * require explicitely gstreamer * bump deps * fix gstreamer consumption * fix cmake_find_mode of deps --- recipes/qt/6.x.x/conanfile.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 9e3b0dd0a6a02..bff88d44cbcd2 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -64,6 +64,7 @@ class QtConan(ConanFile): "with_gssapi": [True, False], "with_md4c": [True, False], "with_x11": [True, False], + "with_egl": [True, False], "gui": [True, False], "widgets": [True, False], @@ -107,6 +108,7 @@ class QtConan(ConanFile): "with_gssapi": False, "with_md4c": True, "with_x11": True, + "with_egl": False, "gui": True, "widgets": True, @@ -165,6 +167,7 @@ def config_options(self): self.options.with_glib = False del self.options.with_libalsa del self.options.with_x11 + del self.options.with_egl if self.settings.os == "Windows": self.options.opengl = "dynamic" @@ -198,6 +201,7 @@ def configure(self): del self.options.with_libpng del self.options.with_md4c self.options.rm_safe("with_x11") + self.options.rm_safe("with_egl") if not self.options.get_safe("qtmultimedia"): self.options.rm_safe("with_libalsa") @@ -354,6 +358,8 @@ def requirements(self): self.requires("xkbcommon/1.5.0") if self.options.get_safe("with_x11", False): self.requires("xorg/system") + if self.options.get_safe("with_egl"): + self.requires("egl/system") if self.settings.os != "Windows" and self.options.get_safe("opengl", "no") != "no": self.requires("opengl/system") if self.options.with_zstd: @@ -370,6 +376,7 @@ def requirements(self): self.requires("nss/3.93") self.requires("libdrm/2.4.119") if self.options.get_safe("with_gstreamer", False): + self.requires("gstreamer/1.19.2") self.requires("gst-plugins-base/1.19.2") if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") @@ -415,6 +422,16 @@ def generate(self): tc.set_property("wayland::wayland-server", "cmake_target_name", "Wayland::Server") tc.set_property("wayland::wayland-cursor", "cmake_target_name", "Wayland::Cursor") tc.set_property("wayland::wayland-egl", "cmake_target_name", "Wayland::Egl") + + # override https://github.com/qt/qtbase/blob/dev/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake + tc.set_property("egl", "cmake_file_name", "EGL") + tc.set_property("egl", "cmake_find_mode", "module") + tc.set_property("egl::egl", "cmake_target_name", "EGL::EGL") + + # don't override https://github.com/qt/qtmultimedia/blob/dev/cmake/FindGStreamer.cmake + tc.set_property("gstreamer", "cmake_file_name", "gstreamer_conan") + tc.set_property("gstreamer", "cmake_find_mode", "module") + tc.generate() for f in glob.glob("*.cmake"): @@ -510,7 +527,9 @@ def generate(self): ("with_zstd", "zstd"), ("with_vulkan", "vulkan"), ("with_brotli", "brotli"), - ("with_gssapi", "gssapi")]: + ("with_gssapi", "gssapi"), + ("with_egl", "egl"), + ("with_gstreamer", "gstreamer")]: tc.variables[f"FEATURE_{conf_arg}"] = ("ON" if self.options.get_safe(opt, False) else "OFF") @@ -1021,6 +1040,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): gui_reqs.append("xkbcommon::xkbcommon") if self.options.get_safe("with_x11", False): gui_reqs.append("xorg::xorg") + if self.options.get_safe("with_egl"): + gui_reqs.append("egl::egl") if self.settings.os != "Windows" and self.options.get_safe("opengl", "no") != "no": gui_reqs.append("opengl::opengl") if self.options.get_safe("with_vulkan", False): @@ -1235,7 +1256,9 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.qtdeclarative and qt_quick_enabled: _create_module("MultimediaQuick", ["Multimedia", "Quick"]) if self.options.with_gstreamer: - _create_plugin("QGstreamerMediaPlugin", "gstreamermediaplugin", "multimedia", ["gst-plugins-base::gst-plugins-base"]) + _create_plugin("QGstreamerMediaPlugin", "gstreamermediaplugin", "multimedia", [ + "gstreamer::gstreamer", + "gst-plugins-base::gst-plugins-base"]) if self.options.get_safe("qtpositioning"): _create_module("Positioning", []) From 8d9a09891e8b4d55ee92a4d5996a93b1b41e2798 Mon Sep 17 00:00:00 2001 From: Viktor Arvidsson Date: Thu, 29 Feb 2024 18:07:49 +0100 Subject: [PATCH 3819/4087] (#21973) Fix build with libjpeg-turbo See https://github.com/madebr/pdfium-cmake/pull/2 --- recipes/pdfium/all/conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/pdfium/all/conandata.yml b/recipes/pdfium/all/conandata.yml index 914f93df79f0d..77888f52bfe69 100644 --- a/recipes/pdfium/all/conandata.yml +++ b/recipes/pdfium/all/conandata.yml @@ -2,8 +2,8 @@ sources: "95.0.4629": pdfium-cmake: # FIXME: create release - url: "https://github.com/madebr/pdfium-cmake/archive/9611e37f688e9881b50aef7e7775accdda6cd98f.zip" - sha256: "9085c22bd9d21acede4f5f26be0b6a0f82346e2ea53cc8bcddd785a4190d7a84" + url: "https://github.com/madebr/pdfium-cmake/archive/e02962c2ebf6d1a2edc7b05bb4fc8cb73cac5b18.zip" + sha256: "e8454d098af887bc989fbbc955b32566b109b4f03350fb6c08cc7f2e359a909f" pdfium: url: "https://pdfium.googlesource.com/pdfium/+archive/refs/heads/chromium/4629.tar.gz" # sha256 is volatile on googlesource, no up-to-date github fork From 378a21bd4fc62c873c4103b2ae25ff67d08b3f62 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 29 Feb 2024 11:24:11 -0600 Subject: [PATCH 3820/4087] (#20502) xorg/system: Add xcb-dri2, xcb-dri3, xcb-glx, and xcb-present * xorg/system: Add xcb-dri2, xcb-dri3, xcb-glx, and xcb-present * Fix OpenSUSE * Add xcb-xinput, xcb-composite, xcb-ewmh, and xcb-res These are requires for the wlroots package. * Add xwayland * Fix xwayland package for Apt * Remove libxcb-present-dev as it is not in Ubuntu 16.04 * Remove xcb-xinput due to missing libxcb-present-dev package on Ubuntu 16.04 * Drop XWayland since it is not available * Remove reintroduced libxvmc dependency --- recipes/xorg/all/conanfile.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index 423aec281a1c2..4b5a1dfb54844 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -29,10 +29,12 @@ def system_requirements(self): "libxcomposite-dev", "libxcursor-dev", "libxdamage-dev", "libxdmcp-dev", "libxext-dev", "libxfixes-dev", "libxi-dev", "libxinerama-dev", "libxkbfile-dev", "libxmu-dev", "libxmuu-dev", "libxpm-dev", "libxrandr-dev", "libxrender-dev", "libxres-dev", "libxss-dev", "libxt-dev", "libxtst-dev", - "libxv-dev", "libxxf86vm-dev", "libxcb-render0-dev", + "libxv-dev", "libxxf86vm-dev", "libxcb-glx0-dev", "libxcb-render0-dev", "libxcb-render-util0-dev", "libxcb-xkb-dev", "libxcb-icccm4-dev", "libxcb-image0-dev", "libxcb-keysyms1-dev", "libxcb-randr0-dev", "libxcb-shape0-dev", "libxcb-sync-dev", "libxcb-xfixes0-dev", - "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev"], update=True, check=True) + "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev", "libxcb-dri2-0-dev", + "libxcb-dri3-dev", "libxcb-present-dev", "libxcb-composite0-dev", "libxcb-ewmh-dev", + "libxcb-res0-dev"], update=True, check=True) apt.install_substitutes( ["libxcb-util-dev"], ["libxcb-util0-dev"], update=True, check=True) @@ -84,7 +86,8 @@ def package_info(self): "xcb-xkb", "xcb-icccm", "xcb-image", "xcb-keysyms", "xcb-randr", "xcb-render", "xcb-renderutil", "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xfixes", "xcb-xinerama", "xcb", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util", - "xcb-dri3", "xcb-cursor"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]): + "xcb-dri3", "xcb-cursor", "xcb-dri2", "xcb-dri3", "xcb-glx", "xcb-present", + "xcb-composite", "xcb-ewmh", "xcb-res"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]): pkg_config = PkgConfig(self, name) pkg_config.fill_cpp_info( self.cpp_info.components[name], is_system=self.settings.os != "FreeBSD") From 4b480c63858a958e486994842fdea9e1041b6f6c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 1 Mar 2024 02:48:55 +0900 Subject: [PATCH 3821/4087] (#22930) influxdb-cpp: add version cci.20240102 --- recipes/influxdb-cpp/all/conandata.yml | 3 +++ recipes/influxdb-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/influxdb-cpp/all/conandata.yml b/recipes/influxdb-cpp/all/conandata.yml index 08568ef090742..d9e475ef4f194 100644 --- a/recipes/influxdb-cpp/all/conandata.yml +++ b/recipes/influxdb-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 'cci.20240102': + url: 'https://github.com/orca-zhang/influxdb-cpp/archive/db18273f09c113d0bd6037463997389afe978ac7.tar.gz' + sha256: '8c019ca700a723d9ed33d93e366cffac44b99a65485192ab70e760bf4229c7c8' 'cci.20201227': url: 'https://github.com/orca-zhang/influxdb-cpp/archive/800e0912552bc1b261c2afc6553a95caf5e9c66d.tar.gz' sha256: '456f0160cd6b12f88a19dcd0106dc0ba1935841f53ec642bf368843fa28def0e' diff --git a/recipes/influxdb-cpp/config.yml b/recipes/influxdb-cpp/config.yml index a58749d6e9c51..911f00a7a6918 100644 --- a/recipes/influxdb-cpp/config.yml +++ b/recipes/influxdb-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240102": + folder: all "cci.20201227": folder: all From f48eeb726acf6a8a60663db7038c4c9145e20e8f Mon Sep 17 00:00:00 2001 From: Ivan Baidakou Date: Fri, 1 Mar 2024 11:27:10 +0300 Subject: [PATCH 3822/4087] (#22490) Add rotor v0.28, v0.29 * Add rotor v0.28 * Feedback: remove exports_sources * Update receipe * Try to use boost 1.84 * refine cppstd validation Signed-off-by: Uilian Ries * Fix test_package/conanfile.py * Add v0.29 * Add v0.29 * Add test_v1_package --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/rotor/all/conandata.yml | 6 ++ recipes/rotor/all/conanfile.py | 67 ++++++++++--------- recipes/rotor/all/test_package/CMakeLists.txt | 8 +-- recipes/rotor/all/test_package/conanfile.py | 20 ++++-- .../rotor/all/test_v1_package/CMakeLists.txt | 8 +++ .../rotor/all/test_v1_package/conanfile.py | 26 +++++++ .../all/test_v1_package/test_package.cpp | 58 ++++++++++++++++ recipes/rotor/config.yml | 4 ++ 8 files changed, 153 insertions(+), 44 deletions(-) create mode 100644 recipes/rotor/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rotor/all/test_v1_package/conanfile.py create mode 100644 recipes/rotor/all/test_v1_package/test_package.cpp diff --git a/recipes/rotor/all/conandata.yml b/recipes/rotor/all/conandata.yml index b1d2937ec9c70..1b4efa7d91b72 100644 --- a/recipes/rotor/all/conandata.yml +++ b/recipes/rotor/all/conandata.yml @@ -11,3 +11,9 @@ sources: "0.25": url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.25.tar.gz" sha256: "b1de95937adb8d7a9beb93bc4956d8e28ff64a6c0a898e7ce12b22a224bb8f6f" + "0.28": + url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.28.tar.gz" + sha256: "9fc7d1721379adca228ca45d0240b5a0060c993de984f0288c9e4b9cf667b971" + "0.29": + url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.29.tar.gz" + sha256: "e17e25f2d6402389e8fde07a158ca952b815666f0a2b5e07748dfc062834c522" diff --git a/recipes/rotor/all/conanfile.py b/recipes/rotor/all/conanfile.py index 373e87fb89eb0..ab2f66e84b836 100644 --- a/recipes/rotor/all/conanfile.py +++ b/recipes/rotor/all/conanfile.py @@ -6,18 +6,16 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir, copy from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.54.0" class RotorConan(ConanFile): name = "rotor" + description = "Event loop friendly C++ actor micro-framework, supervisable" license = "MIT" homepage = "https://github.com/basiliscos/cpp-rotor" url = "https://github.com/conan-io/conan-center-index" - description = ( - "Event loop friendly C++ actor micro-framework, supervisable" - ) topics = ("concurrency", "actor-framework", "actors", "actor-model", "erlang", "supervising", "supervisor") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -25,6 +23,7 @@ class RotorConan(ConanFile): "enable_asio": [True, False], "enable_thread": [True, False], "multithreading": [True, False], # enables multithreading support + "enable_ev": [True, False], } default_options = { "fPIC": True, @@ -32,24 +31,40 @@ class RotorConan(ConanFile): "enable_asio": False, "enable_thread": False, "multithreading": True, + "enable_ev": False, } + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "12", + } + def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "0.26": + del self.options.enable_ev def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.84.0", transitive_headers=True) + if self.options.get_safe("enable_ev", False): + self.requires("libev/4.33") def layout(self): cmake_layout(self, src_folder="src") @@ -60,31 +75,18 @@ def generate(self): tc.variables["BUILD_THREAD"] = self.options.enable_thread tc.variables["BUILD_THREAD_UNSAFE"] = not self.options.multithreading tc.variables["BUILD_TESTING"] = False + if Version(self.version) >= "0.26": + tc.variables["BUILD_EV"] = self.options.enable_ev tc.generate() tc = CMakeDeps(self) tc.generate() def validate(self): - minimal_cpp_standard = "17" - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { - "gcc": "7", - "clang": "6", - "apple-clang": "10", - "Visual Studio": "15" - } - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - f"{self.ref} recipe lacks information about the {compiler} compiler standard version support") - self.output.warn( - f"{self.ref} requires a compiler that supports at least C++{minimal_cpp_standard}") - return - - compiler_version = Version(self.settings.compiler.version) - if compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration(f"{self.ref} requires a compiler that supports at least C++{minimal_cpp_standard}") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") if self.options.shared and Version(self.version) < "0.23": raise ConanInvalidConfiguration("shared option is available from v0.23") @@ -121,5 +123,6 @@ def package_info(self): self.cpp_info.components["thread"].libs = ["rotor_thread"] self.cpp_info.components["thread"].requires = ["core"] - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "rotor" + if self.options.get_safe("enable_ev", False): + self.cpp_info.components["ev"].libs = ["rotor_ev"] + self.cpp_info.components["ev"].requires = ["core", "libev::libev"] diff --git a/recipes/rotor/all/test_package/CMakeLists.txt b/recipes/rotor/all/test_package/CMakeLists.txt index b48e565513a1d..027b2945e0aad 100644 --- a/recipes/rotor/all/test_package/CMakeLists.txt +++ b/recipes/rotor/all/test_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -find_package("rotor" REQUIRED) +find_package("rotor" COMPONENTS asio thread REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) target_link_libraries(${PROJECT_NAME} rotor::core) - - diff --git a/recipes/rotor/all/test_package/conanfile.py b/recipes/rotor/all/test_package/conanfile.py index 6dfcc57d996c4..a9fb96656f203 100644 --- a/recipes/rotor/all/test_package/conanfile.py +++ b/recipes/rotor/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rotor/all/test_v1_package/CMakeLists.txt b/recipes/rotor/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..027b2945e0aad --- /dev/null +++ b/recipes/rotor/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package("rotor" COMPONENTS asio thread REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +target_link_libraries(${PROJECT_NAME} rotor::core) diff --git a/recipes/rotor/all/test_v1_package/conanfile.py b/recipes/rotor/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/rotor/all/test_v1_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rotor/all/test_v1_package/test_package.cpp b/recipes/rotor/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..bfb89c9986e86 --- /dev/null +++ b/recipes/rotor/all/test_v1_package/test_package.cpp @@ -0,0 +1,58 @@ +#include +#include + + +namespace { +namespace to { +struct on_timer_trigger {}; +} // namespace to +} // namespace + +namespace rotor { +template <> +inline auto rotor::actor_base_t::access(request_id_t request_id, + bool cancelled) noexcept { + on_timer_trigger(request_id, cancelled); +} +} // namespace rotor + +struct dummy_supervisor_t : public rotor::supervisor_t { + using rotor::supervisor_t::supervisor_t; + using timers_map_t = std::unordered_map; + + timers_map_t timers_map; + + void do_start_timer(const rotor::pt::time_duration &, rotor::timer_handler_base_t &handler) noexcept override { + timers_map.emplace(handler.request_id, &handler); + } + + void do_cancel_timer(rotor::request_id_t timer_id) noexcept override { + auto it = timers_map.find(timer_id); + auto &actor_ptr = it->second->owner; + actor_ptr->access(timer_id, true); + timers_map.erase(it); + } + + void start() noexcept override {} + void shutdown() noexcept override {} + void enqueue(rotor::message_ptr_t) noexcept override {} +}; + +struct hello_actor : public rotor::actor_base_t { + using rotor::actor_base_t::actor_base_t; + void on_start() noexcept override { + rotor::actor_base_t::on_start(); + std::cout << "hello world\n"; + supervisor->do_shutdown(); + } +}; + +int main() { + rotor::system_context_t ctx{}; + auto timeout = boost::posix_time::milliseconds{500}; /* does not matter */ + auto sup = ctx.create_supervisor().timeout(timeout).finish(); + sup->create_actor().timeout(timeout).finish(); + sup->do_process(); + return 0; +} + diff --git a/recipes/rotor/config.yml b/recipes/rotor/config.yml index 1dfb74272e8cc..b66cf5d118ce8 100644 --- a/recipes/rotor/config.yml +++ b/recipes/rotor/config.yml @@ -7,3 +7,7 @@ versions: folder: all "0.25": folder: all + "0.28": + folder: all + "0.29": + folder: all From 1c888e8686e4656c5046dd269045c713bd610d4e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 1 Mar 2024 10:45:31 +0200 Subject: [PATCH 3823/4087] (#21511) libspatialite: add v5.1.0, bump deps * libspatialite: bump dependencies * libspatialite: drop force=True * libspatialite: bump deps * libspatialite: add a workaround for NMakeDeps quoting issues https://github.com/conan-io/conan/issues/13603 * libspatialite: add v5.1.0 * libspatialite: bump deps * libspatialite: fix MSVC build --- recipes/libspatialite/all/conandata.yml | 11 +++-- recipes/libspatialite/all/conanfile.py | 46 +++++++++++++------ .../0001-autotools-no-geos-config.patch | 22 --------- .../{ => 5.0.1}/0002-nmake-honor-flags.patch | 0 .../{ => 5.0.1}/0003-msvc-minizip.patch | 0 .../5.1.0/0002-nmake-honor-flags.patch | 36 +++++++++++++++ recipes/libspatialite/config.yml | 2 + 7 files changed, 78 insertions(+), 39 deletions(-) delete mode 100644 recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch rename recipes/libspatialite/all/patches/{ => 5.0.1}/0002-nmake-honor-flags.patch (100%) rename recipes/libspatialite/all/patches/{ => 5.0.1}/0003-msvc-minizip.patch (100%) create mode 100644 recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch diff --git a/recipes/libspatialite/all/conandata.yml b/recipes/libspatialite/all/conandata.yml index c9378f957e838..d34eec9877d84 100644 --- a/recipes/libspatialite/all/conandata.yml +++ b/recipes/libspatialite/all/conandata.yml @@ -1,9 +1,14 @@ sources: + "5.1.0": + url: "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-5.1.0.tar.gz" + sha256: "43be2dd349daffe016dd1400c5d11285828c22fea35ca5109f21f3ed50605080" "5.0.1": url: "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-5.0.1.tar.gz" sha256: "eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98" patches: + "5.1.0": + - patch_file: "patches/5.1.0/0002-nmake-honor-flags.patch" + - patch_file: "patches/5.0.1/0003-msvc-minizip.patch" "5.0.1": - - patch_file: "patches/0001-autotools-no-geos-config.patch" - - patch_file: "patches/0002-nmake-honor-flags.patch" - - patch_file: "patches/0003-msvc-minizip.patch" + - patch_file: "patches/5.0.1/0002-nmake-honor-flags.patch" + - patch_file: "patches/5.0.1/0003-msvc-minizip.patch" diff --git a/recipes/libspatialite/all/conanfile.py b/recipes/libspatialite/all/conanfile.py index 4260480b1b097..f232307e3ab5e 100644 --- a/recipes/libspatialite/all/conanfile.py +++ b/recipes/libspatialite/all/conanfile.py @@ -85,20 +85,22 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sqlite3/3.42.0") - self.requires("zlib/1.2.13") + # Included in public spatialite/sqlite.h + # https://www.gaia-gis.it/fossil/libspatialite/file?name=src/headers/spatialite/sqlite.h&ci=tip + self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_proj: - self.requires("proj/9.1.1") + self.requires("proj/9.3.1") if self.options.with_iconv: self.requires("libiconv/1.17") if self.options.with_freexl: - self.requires("freexl/1.0.6") + self.requires("freexl/2.0.0") if self.options.with_geos: - self.requires("geos/3.11.1") + self.requires("geos/3.12.0") if self.options.get_safe("with_rttopo"): self.requires("librttopo/1.1.0") if self.options.with_libxml2: - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.12.4") if self.options.with_minizip: self.requires("minizip/1.2.13") @@ -106,7 +108,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -118,6 +120,9 @@ def source(self): def generate(self): if is_msvc(self): tc = NMakeToolchain(self) + tc.extra_defines.append("YY_NO_UNISTD_H") + if self.options.shared: + tc.extra_defines.append("DLL_EXPORT") tc.generate() deps = NMakeDeps(self) deps.generate() @@ -154,6 +159,7 @@ def generate(self): "--enable-geosonlyreentrant=no", "--enable-geos370=yes", f"--enable-rttopo={yes_no(self.options.with_rttopo)}", + "--with-geosconfig=true", # Using `true` command for a no-op ]) tc.generate() @@ -192,14 +198,17 @@ def _build_msvc(self): if not self.options.with_minizip: replace_in_file(self, gaiaconfig_msvc, "#define ENABLE_MINIZIP 1", "") + # Workaround for a NMakeDeps define quoting issue: + # https://github.com/conan-io/conan/issues/13603 + replace_in_file(self, os.path.join(self.generators_folder, "conannmakedeps.bat"), + r'/DSQLITE_API#\"__declspec(dllimport)\"', + "/DSQLITE_API#__declspec(dllimport)", strict=False) + target = "spatialite_i.lib" if self.options.shared else "spatialite.lib" - optflags = ["-DYY_NO_UNISTD_H"] - if self.options.shared: - optflags.append("-DDLL_EXPORT") with chdir(self, self.source_folder): - self.run(f"nmake -f makefile.vc {target} OPTFLAGS=\"{' '.join(optflags)}\"") + self.run(f"nmake -f makefile.vc {target}") - def _build_autotools(self): + def _patch_autotools(self): # fix MinGW replace_in_file( self, os.path.join(self.source_folder, "configure.ac"), @@ -208,9 +217,18 @@ def _build_autotools(self): ) # Disable tests replace_in_file(self, os.path.join(self.source_folder, "Makefile.am"), - "SUBDIRS = src test $(EXAMPLES)", - "SUBDIRS = src $(EXAMPLES)") + "SUBDIRS = src test $(EXAMPLES)", + "SUBDIRS = src $(EXAMPLES)") + # We can't use geos-config file in conan because it's a non-relocatable file, + # therefore not packaged by geos recipe of conan-center-index. + # Instead, we rely on AutoToolsBuildEnvironment helper to inject proper flags. + configure_ac = os.path.join(self.source_folder, "configure.ac") + replace_in_file(self, configure_ac, "AC_MSG_ERROR([the user-specified geos-config", "echo # ") + replace_in_file(self, configure_ac, "AC_CHECK_HEADERS([geos_c.h", "# ") + replace_in_file(self, configure_ac, "AC_SEARCH_LIBS(GEOSCoveredBy", "# ") + def _build_autotools(self): + self._patch_autotools() autotools = Autotools(self) autotools.autoreconf() autotools.configure() diff --git a/recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch b/recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch deleted file mode 100644 index 0da26fe7f8512..0000000000000 --- a/recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch +++ /dev/null @@ -1,22 +0,0 @@ -We can't use geos-config file in conan because it's a non-relocatable file, -therefore not packaged by geos recipe of conan-center-index. -Instead we rely on AutoToolsBuildEnvironment helper to inject proper flags. - ---- a/configure.ac -+++ b/configure.ac -@@ -311,6 +311,7 @@ AC_ARG_ENABLE(geos, [AS_HELP_STRING( - [--enable-geos], [enables GEOS inclusion [default=yes]])], - [], [enable_geos=yes]) - if test x"$enable_geos" != "xno"; then -+ if false; then - #----------------------------------------------------------------------- - # --with-geosconfig - # -@@ -352,6 +353,7 @@ if test x"$enable_geos" != "xno"; then - AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([could not find libgeos_c (or obsolete 'libgeos_c' < v.3.3.0 found) - you may need to specify the directory of a geos-config file using --with-geosconfig])) - LIBS="$LIBS_SAVE" - LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" -+ fi - - #----------------------------------------------------------------------- - # --enable-controlpoints diff --git a/recipes/libspatialite/all/patches/0002-nmake-honor-flags.patch b/recipes/libspatialite/all/patches/5.0.1/0002-nmake-honor-flags.patch similarity index 100% rename from recipes/libspatialite/all/patches/0002-nmake-honor-flags.patch rename to recipes/libspatialite/all/patches/5.0.1/0002-nmake-honor-flags.patch diff --git a/recipes/libspatialite/all/patches/0003-msvc-minizip.patch b/recipes/libspatialite/all/patches/5.0.1/0003-msvc-minizip.patch similarity index 100% rename from recipes/libspatialite/all/patches/0003-msvc-minizip.patch rename to recipes/libspatialite/all/patches/5.0.1/0003-msvc-minizip.patch diff --git a/recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch b/recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch new file mode 100644 index 0000000000000..23016b01dd132 --- /dev/null +++ b/recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch @@ -0,0 +1,36 @@ +This patch for msvc build allows to: +* define OPTFLAG ourself from conanfile (allow to honor profile) +* not hardcode this very specific C:\OSGeo4W environment + +--- a/makefile.vc ++++ b/makefile.vc +@@ -2,7 +2,6 @@ + # + # NMAKE Makefile to build libspatialite on Windows + # +-!INCLUDE nmake.opt + + LIBOBJ = src\gaiaaux\gg_sqlaux.obj src\gaiaaux\gg_utf8.obj \ + src\gaiaexif\gaia_exif.obj src\gaiageo\gg_advanced.obj \ +@@ -96,7 +95,7 @@ + SPATIALITE_DLL = spatialite$(VERSION).dll + + CFLAGS = /nologo -I.\src\headers -I.\src\topology \ +- -I. -IC:\OSGeo4W\include $(OPTFLAGS) ++ -I. $(CFLAGS) $(OPTFLAGS) + + default: all + +@@ -111,11 +110,7 @@ + + spatialite_i.lib: $(LIBOBJ) + link /dll /out:$(SPATIALITE_DLL) \ +- /implib:spatialite_i.lib $(LIBOBJ) \ +- C:\OSGeo4W\lib\proj_i.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4w\lib\freexl_i.lib C:\OSGeo4w\lib\iconv.lib \ +- C:\OSGeo4W\lib\sqlite3_i.lib C:\OSGeo4W\lib\zlib.lib \ +- C:\OSGeo4W\lib\libxml2.lib C:\OSGeo4W\lib\librttopo.lib ++ /implib:spatialite_i.lib $(LIBOBJ) + if exist $(SPATIALITE_DLL).manifest mt -manifest \ + $(SPATIALITE_DLL).manifest -outputresource:$(SPATIALITE_DLL);2 + diff --git a/recipes/libspatialite/config.yml b/recipes/libspatialite/config.yml index 5787f28e91cf3..5da3767a58773 100644 --- a/recipes/libspatialite/config.yml +++ b/recipes/libspatialite/config.yml @@ -1,3 +1,5 @@ versions: + "5.1.0": + folder: all "5.0.1": folder: all From 0577ab40e16c9ef5755115d716d2c1714212dc88 Mon Sep 17 00:00:00 2001 From: David Callu Date: Fri, 1 Mar 2024 19:43:49 +0100 Subject: [PATCH 3824/4087] =?UTF-8?q?(#19123)=20fix(libselinux):=20add=20p?= =?UTF-8?q?atch=20to=20link=20with=20pcre2=20from=20conan=20instead=20of?= =?UTF-8?q?=20o=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Uilian Ries --- recipes/libselinux/all/conandata.yml | 3 +++ .../libselinux/all/patches/0003-fix-link-pcre.patch | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 recipes/libselinux/all/patches/0003-fix-link-pcre.patch diff --git a/recipes/libselinux/all/conandata.yml b/recipes/libselinux/all/conandata.yml index 14380382654d7..7387838ec6a10 100644 --- a/recipes/libselinux/all/conandata.yml +++ b/recipes/libselinux/all/conandata.yml @@ -40,6 +40,9 @@ patches: base_path: libselinux-3.6 patch_description: "Fix a missing #include " patch_type: "portability" + "3.3": + - patch_file: patches/0003-fix-link-pcre.patch + base_path: libselinux-3.3 "3.0": - patch_file: patches/0001-fix-fno-common-3.0.patch base_path: libsepol-3.0 diff --git a/recipes/libselinux/all/patches/0003-fix-link-pcre.patch b/recipes/libselinux/all/patches/0003-fix-link-pcre.patch new file mode 100644 index 0000000000000..993246d09e0ea --- /dev/null +++ b/recipes/libselinux/all/patches/0003-fix-link-pcre.patch @@ -0,0 +1,11 @@ +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -43,7 +43,7 @@ endif + + override CFLAGS += -I../include -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS) + override LDFLAGS += -L../src +-override LDLIBS += -lselinux $(FTS_LDLIBS) ++override LDLIBS += -lselinux $(FTS_LDLIBS) $(PCRE_LDLIBS) + PCRE_LDLIBS ?= -lpcre + + ifeq ($(ANDROID_HOST),y) From 56a3277676b5f42ddcbcbc12f6ab97a31c30d321 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 1 Mar 2024 13:09:06 -0600 Subject: [PATCH 3825/4087] (#22929) qt: Bump expat to 2.6.0 to avoid conflicts in xkbcommon and wayland --- recipes/qt/5.x.x/conanfile.py | 2 +- recipes/qt/6.x.x/conanfile.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 8b1c566af5c7c..c8a423d3f890c 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -394,7 +394,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.qtwebengine and self.settings.os in ["Linux", "FreeBSD"]: - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") self.requires("opus/1.4") if not self.options.qtwayland: self.requires("xorg-proto/2022.2") diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index bff88d44cbcd2..e785559243ce4 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -369,7 +369,7 @@ def requirements(self): if self.options.with_brotli: self.requires("brotli/1.1.0") if self.options.get_safe("qtwebengine") and self.settings.os == "Linux": - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") self.requires("opus/1.4") self.requires("xorg-proto/2022.2") self.requires("libxshmfence/1.3") @@ -614,7 +614,7 @@ def generate(self): } if Version(self.version) >= "6.5.0": cpp_std_map[23] = "FEATURE_cxx2b" - + for std,feature in cpp_std_map.items(): tc.variables[feature] = "ON" if int(current_cpp_std) >= std else "OFF" From 215c9f72441b474a14180488c6648d4c9ead14db Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Mon, 4 Mar 2024 18:09:04 +0800 Subject: [PATCH 3826/4087] (#22949) Update alert-community.yml --- .github/workflows/alert-community.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index c557f03f37246..a12c503bcd8f0 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -69,7 +69,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/boost/*/*" - reviewers: "@grafikrobot @Hopobcn @jwillikers" + reviewers: "@grafikrobot @Hopobcn @jwillikers @paulharris" - uses: ./.github/actions/alert-community with: @@ -279,7 +279,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/libsodium/*/*" - reviewers: "@Hopobcn" + reviewers: "@Hopobcn @paulharris" - uses: ./.github/actions/alert-community with: @@ -304,7 +304,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/llvm-core/*/*" - reviewers: "@Hopobcn" + reviewers: "@Hopobcn @paulharris" - uses: ./.github/actions/alert-community with: @@ -379,7 +379,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/qt/*/*" - reviewers: "@ericLemanissier @jwillikers @MartinDelille" + reviewers: "@ericLemanissier @jwillikers @MartinDelille @paulharris" - uses: ./.github/actions/alert-community with: From fdc9b30e1feefd0e398def9fed6149b80109bf7b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 20:08:03 +0900 Subject: [PATCH 3827/4087] (#22802) nghttp3: add version 1.2.0 * nghttp3: add version 1.2.0 * fix windows shared build * remove empty line * remove unused import Co-authored-by: ericLemanissier --------- Co-authored-by: ericLemanissier --- recipes/nghttp3/all/conandata.yml | 8 ++++++++ recipes/nghttp3/all/conanfile.py | 6 +++++- ...2.0-0001-disable-always-static-build.patch | 20 +++++++++++++++++++ recipes/nghttp3/config.yml | 2 ++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index 3d19ff221c51b..d0fe8bd38465c 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.2.0/nghttp3-1.2.0.tar.bz2" + sha256: "da1bc26af1fd8756b59883c256153d2f41064294750454ee4c970fe087a70056" "1.1.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.1.0/nghttp3-1.1.0.tar.bz2" sha256: "5a203bf6e3129a9c23b06207c0fa3b05b26066ea28c037a62c9fea8cffecd85f" @@ -8,3 +11,8 @@ sources: "0.15.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v0.15.0/nghttp3-0.15.0.tar.gz" sha256: "3c56d9fa6f1b58b37bd7b1b53eaf16cd71118bc2d5cadbc904f09d6f6466b42f" +patches: + "1.2.0": + - patch_file: "patches/1.2.0-0001-disable-always-static-build.patch" + patch_description: "disable always static build to avoid overwrite lib file on windows" + patch_type: "conan" diff --git a/recipes/nghttp3/all/conanfile.py b/recipes/nghttp3/all/conanfile.py index 618ddcb3adf32..85e3ee603cc88 100644 --- a/recipes/nghttp3/all/conanfile.py +++ b/recipes/nghttp3/all/conanfile.py @@ -2,7 +2,7 @@ from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import get, rmdir, copy +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc import os @@ -28,6 +28,9 @@ class Nghttp3Conan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -58,6 +61,7 @@ def generate(self): tc.generate(scope="build") def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch b/recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch new file mode 100644 index 0000000000000..3f7e1ccd58d6f --- /dev/null +++ b/recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch @@ -0,0 +1,20 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3928fb3..18bcb04 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -78,6 +78,7 @@ if(ENABLE_SHARED_LIB) + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + endif() + ++if(ENABLE_STATIC_LIB) + # Static library (for unittests because of symbol visibility) + add_library(nghttp3_static STATIC ${nghttp3_SOURCES}) + set_target_properties(nghttp3_static PROPERTIES +@@ -86,7 +87,6 @@ set_target_properties(nghttp3_static PROPERTIES + ARCHIVE_OUTPUT_NAME nghttp3${STATIC_LIB_SUFFIX} + ) + target_compile_definitions(nghttp3_static PUBLIC "-DNGHTTP3_STATICLIB") +-if(ENABLE_STATIC_LIB) + install(TARGETS nghttp3_static + DESTINATION "${CMAKE_INSTALL_LIBDIR}") + endif() diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index f581e0802958e..3550769ed467e 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From 30f235c4e074cccb20328b36248262f4bba6ccb5 Mon Sep 17 00:00:00 2001 From: Eyal Rozenberg Date: Mon, 4 Mar 2024 13:28:21 +0200 Subject: [PATCH 3828/4087] (#22947) Updated cuda-api-wrappers with versions 0.6.8 and 0.7.0-b2 * Updated cuda-api-wrappers with versions 0.6.4, 0.6.6, 0.6.7, 0.6.8 and 0.7.0-b2 * Following CR comments: Only adding latest version + beta of next version --- recipes/cuda-api-wrappers/all/conandata.yml | 6 ++++++ recipes/cuda-api-wrappers/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/cuda-api-wrappers/all/conandata.yml b/recipes/cuda-api-wrappers/all/conandata.yml index 0a04efd212109..a2ea7cff0b936 100644 --- a/recipes/cuda-api-wrappers/all/conandata.yml +++ b/recipes/cuda-api-wrappers/all/conandata.yml @@ -1,7 +1,13 @@ sources: + "0.7.0-b2": + url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.7.0-b2.tar.gz" + sha256: "9439cb2250dd3045a05d43c4ca66b5d49535eeba123b05a2e49169354fdb3123" "0.7-b1": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/0.7b1.tar.gz" sha256: "1ed5912d8f602ccd176865b824de17f462cb57142eb2a685d7cc034831e54a71" + "0.6.8": + url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.6.8.tar.gz" + sha256: "a0d1b062dbe41c99d06df4ae7885a053c2ae3815d6fe12df0458bc5277d08ed7" "0.6.3": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.6.3.tar.gz" sha256: "45d896136dbb4df6c75c36071899b9fe47df9a03629c95208c2d5bda979d109e" diff --git a/recipes/cuda-api-wrappers/config.yml b/recipes/cuda-api-wrappers/config.yml index 326304241de6f..60cce1aaafb6b 100644 --- a/recipes/cuda-api-wrappers/config.yml +++ b/recipes/cuda-api-wrappers/config.yml @@ -1,5 +1,9 @@ versions: + "0.7.0-b2": + folder: all "0.7-b1": folder: all + "0.6.8": + folder: all "0.6.3": folder: all From 8e719a68d7d8f658e150ab8e214d32221645252f Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Mon, 4 Mar 2024 07:09:17 -0500 Subject: [PATCH 3829/4087] (#22953) spdlog: Add option to use std::format * WIP adding std::format support * Additional spdlog with std::format fixes * Fix 1.10 and 1.11 with std::format * Fix test package on older compilers --- recipes/spdlog/all/conanfile.py | 82 ++++++++++++++----- .../spdlog/all/test_package/CMakeLists.txt | 7 +- recipes/spdlog/all/test_package/conanfile.py | 1 + 3 files changed, 69 insertions(+), 21 deletions(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index f48df9bb2bbe0..b0c1ca14504e0 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import get, copy, rmdir, replace_in_file, apply_conandata_patches, export_conandata_patches -from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os @@ -26,6 +26,7 @@ class SpdlogConan(ConanFile): "wchar_support": [True, False], "wchar_filenames": [True, False], "no_exceptions": [True, False], + "use_std_fmt": [True, False], } default_options = { "shared": False, @@ -34,6 +35,7 @@ class SpdlogConan(ConanFile): "wchar_support": False, "wchar_filenames": False, "no_exceptions": False, + "use_std_fmt": False, } def export_sources(self): @@ -42,6 +44,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.10.0": + del self.options.use_std_fmt def configure(self): if self.options.get_safe("shared") or self.options.header_only: @@ -53,53 +57,81 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self_version = Version(self.version) - fmt_version = "7.1.3" - - if self_version >= "1.12.0": - fmt_version = "10.2.1" - elif self_version >= "1.11.0": - fmt_version = "10.0.0" - elif self_version >= "1.10.0": - fmt_version = "8.1.1" - elif self_version >= "1.9.0": - fmt_version = "8.0.1" - elif self_version >= "1.7.0": + if not self.options.get_safe("use_std_fmt"): + self_version = Version(self.version) fmt_version = "7.1.3" - self.requires(f"fmt/{fmt_version}", transitive_headers=True, transitive_libs=True) + if self_version >= "1.12.0": + fmt_version = "10.2.1" + elif self_version >= "1.11.0": + fmt_version = "10.0.0" + elif self_version >= "1.10.0": + fmt_version = "8.1.1" + elif self_version >= "1.9.0": + fmt_version = "8.0.1" + elif self_version >= "1.7.0": + fmt_version = "7.1.3" + + self.requires(f"fmt/{fmt_version}", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: self.info.clear() + + @property + def _std_fmt_compilers_minimum_version(self): + return { + "gcc": "13", + "clang": "14", + "apple-clang": "15", + "Visual Studio": "16", + "msvc": "192", + } def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, 11) + if self.options.get_safe("use_std_fmt"): + check_min_cppstd(self, 20) + else: + check_min_cppstd(self, 11) if self.settings.os != "Windows" and (self.options.wchar_support or self.options.wchar_filenames): raise ConanInvalidConfiguration("wchar is only supported under windows") if self.options.get_safe("shared") and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Visual Studio build for shared library with MT runtime is not supported") + + if self.options.get_safe("use_std_fmt"): + check_min_vs(self, self._std_fmt_compilers_minimum_version["msvc"]) + if not is_msvc(self): + compiler_name = str(self.settings.compiler) + minimum_version = self._std_fmt_compilers_minimum_version.get(compiler_name, False) + if not minimum_version: + self.output.warning(f"{self.name} recipe lacks information about the {compiler_name} compiler support.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} using std::fmt requires std::fmt, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): if not self.options.header_only: - fmt = self.dependencies["fmt"] tc = CMakeToolchain(self) tc.variables["SPDLOG_BUILD_EXAMPLE"] = False tc.variables["SPDLOG_BUILD_EXAMPLE_HO"] = False tc.variables["SPDLOG_BUILD_TESTS"] = False tc.variables["SPDLOG_BUILD_TESTS_HO"] = False tc.variables["SPDLOG_BUILD_BENCH"] = False - tc.variables["SPDLOG_FMT_EXTERNAL"] = not fmt.options.header_only - tc.variables["SPDLOG_FMT_EXTERNAL_HO"] = fmt.options.header_only + if not self.options.get_safe("use_std_fmt"): + fmt = self.dependencies["fmt"] + tc.variables["SPDLOG_FMT_EXTERNAL"] = not fmt.options.header_only + tc.variables["SPDLOG_FMT_EXTERNAL_HO"] = fmt.options.header_only tc.variables["SPDLOG_BUILD_SHARED"] = not self.options.header_only and self.options.shared tc.variables["SPDLOG_WCHAR_SUPPORT"] = self.options.wchar_support tc.variables["SPDLOG_WCHAR_FILENAMES"] = self.options.wchar_filenames tc.variables["SPDLOG_INSTALL"] = True tc.variables["SPDLOG_NO_EXCEPTIONS"] = self.options.no_exceptions + tc.variables["SPDLOG_USE_STD_FORMAT"] = self.options.get_safe("use_std_fmt") if self.settings.os in ("iOS", "tvOS", "watchOS"): tc.variables["SPDLOG_NO_TLS"] = True tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" @@ -110,9 +142,16 @@ def generate(self): def _disable_werror(self): replace_in_file(self, os.path.join(self.source_folder, "cmake", "utils.cmake"), "/WX", "") + def _use_cpp20_for_std_format(self): + # This is properly set in later versions + if self.options.get_safe("use_std_fmt") and Version(self.version) < "1.12": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "CMAKE_CXX_STANDARD 11", "CMAKE_CXX_STANDARD 20") + def build(self): apply_conandata_patches(self) self._disable_werror() + self._use_cpp20_for_std_format() if not self.options.header_only: cmake = CMake(self) cmake.configure() @@ -141,8 +180,11 @@ def package_info(self): # TODO: back to global scope in conan v2 once legacy generators removed self.cpp_info.components["libspdlog"].set_property("cmake_target_name", f"spdlog::{target}") - self.cpp_info.components["libspdlog"].defines.append("SPDLOG_FMT_EXTERNAL") - self.cpp_info.components["libspdlog"].requires = ["fmt::fmt"] + if self.options.get_safe("use_std_fmt"): + self.cpp_info.components["libspdlog"].defines.append("SPDLOG_USE_STD_FORMAT") + else: + self.cpp_info.components["libspdlog"].requires = ["fmt::fmt"] + self.cpp_info.components["libspdlog"].defines.append("SPDLOG_FMT_EXTERNAL") if self.options.header_only: self.cpp_info.components["libspdlog"].libdirs = [] diff --git a/recipes/spdlog/all/test_package/CMakeLists.txt b/recipes/spdlog/all/test_package/CMakeLists.txt index d31b151d6390c..f43e46db5a77d 100644 --- a/recipes/spdlog/all/test_package/CMakeLists.txt +++ b/recipes/spdlog/all/test_package/CMakeLists.txt @@ -9,4 +9,9 @@ if(SPDLOG_HEADER_ONLY) else() target_link_libraries(${PROJECT_NAME} PUBLIC spdlog::spdlog) endif() -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if(SPDLOG_USE_STD_FORMAT) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/spdlog/all/test_package/conanfile.py b/recipes/spdlog/all/test_package/conanfile.py index 81d7c956cf9d2..346d9bd744058 100644 --- a/recipes/spdlog/all/test_package/conanfile.py +++ b/recipes/spdlog/all/test_package/conanfile.py @@ -19,6 +19,7 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) tc.variables["SPDLOG_HEADER_ONLY"] = self.dependencies["spdlog"].options.header_only + tc.variables["SPDLOG_USE_STD_FORMAT"] = self.dependencies["spdlog"].options.get_safe("use_std_fmt", False) tc.generate() def build(self): From 49158e20168fbdcbf76ce8c1b6ef1806dc315b04 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 21:48:42 +0900 Subject: [PATCH 3830/4087] (#22935) ssp: add version 1.7.2 * ssp: add version 1.7.0 * update 1.7.2 --- recipes/ssp/all/conandata.yml | 3 +++ recipes/ssp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ssp/all/conandata.yml b/recipes/ssp/all/conandata.yml index 7b9246ca69c3c..4382623935239 100644 --- a/recipes/ssp/all/conandata.yml +++ b/recipes/ssp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.2": + url: "https://github.com/red0124/ssp/archive/refs/tags/v1.7.2.tar.gz" + sha256: "700e05d304fe10f05331d0a963757257632dddc1f9442b826a85efa545c64772" "1.6.2": url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.2.tar.gz" sha256: "6fa5ae1cd458eae3c1931e8cbcbd8d97956eda37db1388358456ca0743b48b7c" diff --git a/recipes/ssp/config.yml b/recipes/ssp/config.yml index 8664a344402ec..98bae30aec835 100644 --- a/recipes/ssp/config.yml +++ b/recipes/ssp/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.2": + folder: all "1.6.2": folder: all "1.6.1": From 0b852a04bf008c48376e82d0b42349817f85c9ba Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:01:51 +0000 Subject: [PATCH 3831/4087] (#22967) [bot] Update authorized users list (2024-03-04) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Add gagoi --------- Co-authored-by: conan-center-bot Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 874e514f2025b..a09f911a11265 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1293,3 +1293,8 @@ authorized_users: - metalMajor - joergbrech - dagon666 +- elvisdukaj +- vok1980 +- camm73 +- crstzh +- gagoi From ed500d9a2feecd319085d305049324fc8bc3a0cf Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Mon, 4 Mar 2024 08:28:56 -0500 Subject: [PATCH 3832/4087] (#22939) tcl: Don't include extensions in package info libs --- recipes/tcl/all/conanfile.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index 89c037e770f6b..f3487edb47074 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -223,15 +223,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "TCL") - libs = [] - libdirs = [] - for root, _, _ in os.walk(os.path.join(self.package_folder, "lib"), topdown=False): - newlibs = collect_libs(self, root) - if newlibs: - libs.extend(newlibs) - libdirs.append(root) - self.cpp_info.libs = libs - self.cpp_info.libdirs = libdirs + # There are other libs in subfolders, but they are only used + # for TCL extensions and should not be linked against. + self.cpp_info.libs = collect_libs(self, os.path.join(self.package_folder, "lib")) if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["ws2_32", "netapi32", "userenv"]) From 8d7b574da67c5a2896e6ca4450548e14f708a3e6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 22:49:35 +0900 Subject: [PATCH 3833/4087] (#22940) glaze: add version 2.1.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6736bccf09f67..b30f919630ddb 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.9": + url: "https://github.com/stephenberry/glaze/archive/v2.1.9.tar.gz" + sha256: "678126f068e3c21c2b3d2e1ae914c72296b68610a004cf542ea050946ab06416" "2.1.7": url: "https://github.com/stephenberry/glaze/archive/v2.1.7.tar.gz" sha256: "e110bfc6494ca3a0616beaec214e61a53d4e0bd1489d8f1a45ca6f87594a3502" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index e31effcfe238e..4e0d084a17dc7 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.9": + folder: all "2.1.7": folder: all "2.1.6": From 214f901c63a5ecd04262f899172deb883572bc63 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 23:08:30 +0900 Subject: [PATCH 3834/4087] (#22943) wyhash: add version final4 --- recipes/wyhash/all/conandata.yml | 3 +++ recipes/wyhash/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wyhash/all/conandata.yml b/recipes/wyhash/all/conandata.yml index 97f88594e3ec8..585638f0f02fb 100644 --- a/recipes/wyhash/all/conandata.yml +++ b/recipes/wyhash/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "final4": + url: "https://github.com/wangyi-fudan/wyhash/archive/refs/tags/wyhash_final4.tar.gz" + sha256: "a3f2da3acf300fba43f51c8299dae71c4e0774cd6fdd96e264fad5777b12ae3a" "cci.20221102": url: "https://github.com/wangyi-fudan/wyhash/archive/ea3b25e1aef55d90f707c3a292eeb9162e2615d8.tar.gz" sha256: "94c6ca365a1ca39f4327c4e031690441a45a7d9feefbc14f86323d8b42c82cbe" diff --git a/recipes/wyhash/config.yml b/recipes/wyhash/config.yml index eec24bd72e90d..80db1803c9cf5 100644 --- a/recipes/wyhash/config.yml +++ b/recipes/wyhash/config.yml @@ -1,3 +1,5 @@ versions: + "final4": + folder: all "cci.20221102": folder: all From 36f86cd0c3f749414899746a61b51c3ea6f5a5ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20ZANGLA?= <5780920+gagoi@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:28:30 +0100 Subject: [PATCH 3835/4087] (#22948) Bump minizip to 1.3.1 --- recipes/minizip/all/conandata.yml | 5 +++++ recipes/minizip/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/minizip/all/conandata.yml b/recipes/minizip/all/conandata.yml index d1d3166de347b..f8773fd58975f 100644 --- a/recipes/minizip/all/conandata.yml +++ b/recipes/minizip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://zlib.net/fossils/zlib-1.3.1.tar.gz" + sha256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" "1.2.13": url: "https://zlib.net/fossils/zlib-1.2.13.tar.gz" sha256: "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30" @@ -9,6 +12,8 @@ sources: url: "https://zlib.net/fossils/zlib-1.2.11.tar.gz" sha256: "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1" patches: + "1.3.1": + - patch_file: "patches/minizip.patch" "1.2.13": - patch_file: "patches/minizip.patch" "1.2.12": diff --git a/recipes/minizip/config.yml b/recipes/minizip/config.yml index 351c06f68201f..bd5341271951d 100644 --- a/recipes/minizip/config.yml +++ b/recipes/minizip/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.2.13": folder: all "1.2.12": From 537270a48193d83016a2ed0bf2a260588a0e2b36 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 4 Mar 2024 16:46:52 +0200 Subject: [PATCH 3836/4087] (#22187) dcmtk: add v3.6.8 * dcmtk: add v3.6.8 * dcmtk: update component list Grepped for `DCMTK_TARGET_LINK_MODULES` and `DCMTK_TARGET_LINK_LIBRARIES` in the sources and updated the list accordingly. * dcmtk: cross-building on macOS is broken * dcmtk: add /Zc:__cplusplus * dcmtk: add nsl to system_libs --- recipes/dcmtk/all/conandata.yml | 10 ++ recipes/dcmtk/all/conanfile.py | 42 +++-- ....6.8-0001-cmake-robust-deps-handling.patch | 158 ++++++++++++++++++ ....6.8-0002-cmake-check-openssl-symbol.patch | 107 ++++++++++++ recipes/dcmtk/config.yml | 2 + 5 files changed, 308 insertions(+), 11 deletions(-) create mode 100644 recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch create mode 100644 recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch diff --git a/recipes/dcmtk/all/conandata.yml b/recipes/dcmtk/all/conandata.yml index fc800b08330e7..7c6f0a7a01b93 100644 --- a/recipes/dcmtk/all/conandata.yml +++ b/recipes/dcmtk/all/conandata.yml @@ -1,8 +1,18 @@ sources: + "3.6.8": + url: "https://dicom.offis.de/download/dcmtk/dcmtk368/dcmtk-3.6.8.tar.gz" + sha256: "232076655503138debf2f624109f1799e539354f186ce4e04b27cf82a9d8720f" "3.6.7": url: "https://dicom.offis.de/download/dcmtk/dcmtk367/dcmtk-3.6.7.tar.gz" sha256: "7c58298e3e8d60232ee6fc8408cfadd14463cc11a3c4ca4c59af5988c7e9710a" patches: + "3.6.8": + - patch_file: "patches/3.6.8-0001-cmake-robust-deps-handling.patch" + patch_description: "CMake: robust discovery with find_package() and use imported targets" + patch_type: conan + - patch_file: "patches/3.6.8-0002-cmake-check-openssl-symbol.patch" + patch_description: "CMake: fix OpenSSL compatibility checks" + patch_type: conan "3.6.7": - patch_file: "patches/3.6.7-0001-cmake-robust-deps-handling.patch" patch_description: "CMake: robust discovery with find_package() and use imported targets" diff --git a/recipes/dcmtk/all/conanfile.py b/recipes/dcmtk/all/conanfile.py index 6980bbc99c18d..1342755427911 100644 --- a/recipes/dcmtk/all/conanfile.py +++ b/recipes/dcmtk/all/conanfile.py @@ -3,10 +3,11 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building +from conan.tools.build import cross_building, check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version required_conan_version = ">=1.54.0" @@ -114,10 +115,11 @@ def package_id(self): del self.info.options.external_dictionary def validate(self): - if hasattr(self, "settings_build") and cross_building(self) and \ - self.settings.os == "Macos" and self.settings.arch == "armv8": + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if hasattr(self, "settings_build") and cross_building(self) and self.settings.os == "Macos": # FIXME: Probable issue with flags, build includes header 'mmintrin.h' - raise ConanInvalidConfiguration("Cross building to Macos M1 is not supported (yet)") + raise ConanInvalidConfiguration("Cross building on Macos is not supported (yet)") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -287,7 +289,7 @@ def tcpwrappers(): def xml2(): return ["libxml2::libxml2"] if self.options.with_libxml2 else [] - return { + components = { "ofstd" : charset_conversion(), "oflog" : ["ofstd"], "dcmdata" : ["ofstd", "oflog"] + zlib(), @@ -314,7 +316,15 @@ def xml2(): "dcmseg" : ["dcmfg", "dcmiod", "dcmdata", "ofstd", "oflog"], "dcmtract": ["dcmiod", "dcmdata", "ofstd", "oflog"], "dcmpmap" : ["dcmfg", "dcmiod", "dcmdata", "ofstd", "oflog"], + "dcmect" : ["dcmfg", "dcmiod", "dcmdata", "ofstd", "oflog"], } + if Version(self.version) >= "3.6.8": + components["dcmxml"] = ["dcmdata", "ofstd", "oflog"] + zlib() + xml2() + components["oficonv"] = [] + components["dcmpstat"] += ["dcmiod"] + components["i2d"] += ["dcmxml"] + components["ofstd"] += ["oficonv"] + return components @property def _dcm_datadictionary_path(self): @@ -326,7 +336,7 @@ def package_info(self): for target_lib, requires in self._dcmtk_components.items(): self.cpp_info.components[target_lib].set_property("cmake_target_name", f"DCMTK::{target_lib}") - # Before 3.6.7, targets were not namespaced, therefore they are also exposed for conveniency + # Before 3.6.7, targets were not namespaced, therefore they are also exposed for convenience self.cpp_info.components[target_lib].set_property("cmake_target_aliases", [target_lib]) self.cpp_info.components[target_lib].libs = [target_lib] @@ -337,14 +347,24 @@ def package_info(self): self.cpp_info.components[target_lib].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components[target_lib].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + if is_msvc(self): + # Required for the __cplusplus check at + # https://github.com/DCMTK/dcmtk/blob/DCMTK-3.6.8/config/include/dcmtk/config/osconfig.h.in#L1489 + self.cpp_info.components[target_lib].cxxflags.append("/Zc:__cplusplus") + + system_libs = [] if self.settings.os == "Windows": - self.cpp_info.components["ofstd"].system_libs.extend([ - "iphlpapi", "ws2_32", "netapi32", "wsock32" - ]) + system_libs = ["iphlpapi", "ws2_32", "netapi32", "wsock32"] elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["ofstd"].system_libs.append("m") + system_libs = ["m", "nsl"] if self.options.with_multithreading: - self.cpp_info.components["ofstd"].system_libs.append("pthread") + system_libs.append("pthread") + if Version(self.version) >= "3.6.8": + system_libs.append("rt") + if Version(self.version) >= "3.6.8": + self.cpp_info.components["oficonv"].system_libs = system_libs + else: + self.cpp_info.components["ofstd"].system_libs = system_libs if self.options.default_dict == "external": dcmdictpath = os.path.join(self._dcm_datadictionary_path, "dcmtk", "dicom.dic") diff --git a/recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch b/recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch new file mode 100644 index 0000000000000..41e42340ad638 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch @@ -0,0 +1,158 @@ +--- CMake/3rdparty.cmake ++++ CMake/3rdparty.cmake +@@ -25,7 +25,7 @@ + if(DCMTK_USE_FIND_PACKAGE) + # Find TIFF + if(DCMTK_WITH_TIFF) +- find_package(TIFF QUIET) ++ find_package(TIFF REQUIRED) + # turn off library if it could not be found + if(NOT TIFF_FOUND) + message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") +@@ -34,21 +34,13 @@ + else() + set(WITH_LIBTIFF 1) + # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path +- find_package(JPEG QUIET) +- if(NOT JPEG_FOUND) +- message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") +- include_directories(${TIFF_INCLUDE_DIR}) +- else() +- message(STATUS "Info: DCMTK TIFF support will be enabled") +- include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) +- endif() +- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) ++ set(LIBTIFF_LIBS TIFF::TIFF) + endif() + endif() + + # Find PNG + if(DCMTK_WITH_PNG) +- find_package(PNG QUIET) ++ find_package(PNG REQUIRED) + if(NOT PNG_FOUND) + set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) + message(STATUS "Warning: PNG support will be disabled because libpng was not found.") +@@ -57,13 +49,13 @@ + message(STATUS "Info: DCMTK PNG support will be enabled") + set(WITH_LIBPNG 1) + include_directories(${PNG_INCLUDE_DIR}) +- set(LIBPNG_LIBS ${PNG_LIBRARY}) ++ set(LIBPNG_LIBS PNG::PNG) + endif() + endif() + + # Find OpenSSL + if(DCMTK_WITH_OPENSSL) +- find_package(OpenSSL QUIET) ++ find_package(OpenSSL REQUIRED) + if(NOT OPENSSL_FOUND) + message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") + set(WITH_OPENSSL "") +@@ -75,15 +67,11 @@ + list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") + CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10002000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) + set(CMAKE_REQUIRED_INCLUDES "${TEMP_INCLUDES}") +- if(OPENSSL_VERSION_CHECK) ++ if(1) + message(STATUS "Info: DCMTK OPENSSL support will be enabled") + set(WITH_OPENSSL 1) + include_directories(${OPENSSL_INCLUDE_DIR}) +- set(OPENSSL_LIBS ${OPENSSL_LIBRARIES} ${OPENSSL_EXTRA_LIBS_STATIC}) +- CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL) +- if(HAVE_LIBDL) +- set(OPENSSL_LIBS ${OPENSSL_LIBS} dl) +- endif() ++ set(OPENSSL_LIBS OpenSSL::SSL OpenSSL::Crypto) + else() + message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.0.2 or newer") + set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) +@@ -94,7 +82,7 @@ + + # Find libXML2 + if(DCMTK_WITH_XML) +- find_package(LibXml2 QUIET) ++ find_package(LibXml2 REQUIRED MODULE) + if(NOT LIBXML2_FOUND) + message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") + set(WITH_LIBXML "") +@@ -103,13 +91,13 @@ + message(STATUS "Info: DCMTK XML support will be enabled") + set(WITH_LIBXML 1) + include_directories(${LIBXML2_INCLUDE_DIR}) +- set(LIBXML_LIBS ${LIBXML2_LIBRARIES} ${LIBXML2_EXTRA_LIBS_STATIC}) ++ set(LIBXML_LIBS LibXml2::LibXml2) + endif() + endif() + + # Find zlib + if(DCMTK_WITH_ZLIB) +- find_package(ZLIB QUIET) ++ find_package(ZLIB REQUIRED) + if(NOT ZLIB_FOUND) + message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") + set(WITH_ZLIB "") +@@ -118,7 +106,7 @@ + message(STATUS "Info: DCMTK ZLIB support will be enabled") + set(WITH_ZLIB 1) + include_directories(${ZLIB_INCLUDE_DIRS}) +- set(ZLIB_LIBS ${ZLIB_LIBRARIES}) ++ set(ZLIB_LIBS ZLIB::ZLIB) + endif() + endif() + +@@ -139,11 +127,10 @@ + + # Find libiconv + if(DCMTK_WITH_ICONV) +- find_package(Iconv QUIET) +- find_package(LIBCHARSET QUIET) +- if(ICONV_FOUND) ++ find_package(Iconv REQUIRED) ++ if(Iconv_FOUND) + if(NOT Iconv_IS_BUILT_IN) +- set(LIBICONV_FOUND ${ICONV_FOUND}) ++ set(LIBICONV_FOUND ${Iconv_FOUND}) + else() + message(STATUS "Info: found builtin ICONV support inside the C standard library.") + set(DCMTK_WITH_STDLIBC_ICONV ON CACHE BOOL "" FORCE) +@@ -153,7 +140,7 @@ + set(LIBICONV_SECOND_ARGUMENT_CONST ${ICONV_SECOND_ARGUMENT_IS_CONST} CACHE INTERNAL "${HELPSTRING}") + endif() + endif() +- if(NOT LIBICONV_FOUND OR NOT LIBCHARSET_FOUND) ++ if(NOT LIBICONV_FOUND) + message(STATUS "Warning: ICONV support will be disabled because libiconv was not found. Correct LIBICONV_LIBDIR and LIBICONV_INCLUDE_DIR and re-enable DCMTK_WITH_ICONV.") + set(DCMTK_WITH_ICONV OFF CACHE BOOL "" FORCE) + set(WITH_LIBICONV "") +@@ -161,24 +148,24 @@ + message(STATUS "Info: DCMTK ICONV support will be enabled") + set(WITH_LIBICONV 1) + set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) +- set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) +- set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) ++ set(LIBICONV_LIBDIR ${Iconv_LIB_DIRS}) ++ set(LIBICONV_LIBS Iconv::Iconv) + include_directories(${LIBICONV_INCDIR}) + endif() + endif() + + # Find libwrap + if(DCMTK_WITH_WRAP) +- find_package(WRAP QUIET) +- if(NOT WRAP_FOUND) ++ find_package(tcp-wrappers REQUIRED CONFIG) ++ if(NOT tcp-wrappers_FOUND) + message(STATUS "Warning: WRAP support will be disabled because libwrap was not found.") + set(WITH_TCPWRAPPER "") + set(DCMTK_WITH_WRAP OFF CACHE BOOL "" FORCE) + else() + message(STATUS "Info: DCMTK WRAP support will be enabled") + set(WITH_TCPWRAPPER 1) +- include_directories(${WRAP_INCLUDE_DIRS}) +- set(WRAP_LIBS ${WRAP_LIBRARIES} ${WRAP_EXTRA_LIBS_STATIC}) ++ include_directories(${tcp-wrappers_INCLUDE_DIRS}) ++ set(WRAP_LIBS tcp-wrappers::tcp-wrappers) + endif() + endif() + diff --git a/recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch b/recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch new file mode 100644 index 0000000000000..a4cd32b6e2766 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch @@ -0,0 +1,107 @@ +--- CMake/dcmtkPrepare.cmake ++++ CMake/dcmtkPrepare.cmake +@@ -689,57 +689,59 @@ + CHECK_INCLUDE_FILE_CXX("openssl/provider.h" HAVE_OPENSSL_PROVIDER_H) + + # test presence of functions, constants and macros needed for the dcmtls module +- CHECK_FUNCTIONWITHHEADER_EXISTS("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) +- CHECK_FUNCTIONWITHHEADER_EXISTS("NID_dsa_with_SHA512" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512) +- CHECK_FUNCTIONWITHHEADER_EXISTS("NID_ecdsa_with_SHA3_256" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256) +- CHECK_FUNCTIONWITHHEADER_EXISTS("NID_sha512_256WithRSAEncryption" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION) +- CHECK_FUNCTIONWITHHEADER_EXISTS("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_curves(0,0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_ecdh_auto(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_max_proto_version(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_AES_128_CCM_8_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_AES_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_CHACHA20_POLY1305_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_CTX_get0_cert" "openssl/x509_vfy.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) ++ include(CheckSymbolExists) ++ include(CheckCSourceCompiles) ++ check_symbol_exists("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) ++ check_symbol_exists("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) ++ check_symbol_exists("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) ++ check_symbol_exists("NID_dsa_with_SHA512" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512) ++ check_symbol_exists("NID_ecdsa_with_SHA3_256" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256) ++ check_symbol_exists("NID_sha512_256WithRSAEncryption" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION) ++ check_symbol_exists("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) ++ check_symbol_exists("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) ++ check_symbol_exists("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) ++ check_symbol_exists("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) ++ check_symbol_exists("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set1_curves(0,0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) ++ check_symbol_exists("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set_ecdh_auto(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set_max_proto_version(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) ++ check_symbol_exists("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) ++ check_symbol_exists("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) ++ check_symbol_exists("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) ++ check_symbol_exists("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) ++ check_symbol_exists("TLS1_3_RFC_AES_128_CCM_8_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256) ++ check_symbol_exists("TLS1_3_RFC_AES_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384) ++ check_symbol_exists("TLS1_3_RFC_CHACHA20_POLY1305_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256) ++ check_symbol_exists("TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8) ++ check_symbol_exists("TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384) ++ check_symbol_exists("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) ++ check_symbol_exists("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) ++ check_symbol_exists("X509_STORE_CTX_get0_cert" "openssl/x509_vfy.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT) ++ check_symbol_exists("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) ++ check_symbol_exists("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) + + # test presence of functions, constants and macros needed for the dcmsign module +- CHECK_FUNCTIONWITHHEADER_EXISTS("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) +- CHECK_FUNCTIONWITHHEADER_EXISTS("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) ++ check_symbol_exists("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) ++ check_symbol_exists("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) ++ check_symbol_exists("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) ++ check_symbol_exists("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) ++ check_symbol_exists("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) ++ check_symbol_exists("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) ++ check_symbol_exists("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) ++ check_symbol_exists("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) ++ check_c_source_compiles("#include \nint main() {TS_VERIFY_CTS_set_certs(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) ++ check_symbol_exists("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) ++ check_symbol_exists("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) ++ check_symbol_exists("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) ++ check_symbol_exists("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) ++ check_symbol_exists("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) + + # check if type EVP_MD_CTX is defined as typedef for "struct evp_md_ctx_st" (new) or "struct env_md_ctx_st" (old) +- CHECK_FUNCTIONWITHHEADER_EXISTS("struct evp_md_ctx_st *a; EVP_MD_CTX *b=a" "openssl/evp.h" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) ++ check_c_source_compiles("#include \nint main() {struct evp_md_ctx_st *a; EVP_MD_CTX *b=a; return 0;}" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) + + # check if the first parameter passed to X509_ALGOR_get0() should be "const ASN1_OBJECT **" (new) or "ASN1_OBJECT **" (old) +- CHECK_FUNCTIONWITHHEADER_EXISTS("const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)" "openssl/x509.h" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) ++ check_c_source_compiles("#include \nint main() {const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0); return 0;}" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) + + # restore previous value of CMAKE_REQUIRED_LIBRARIES + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_TEMP}) diff --git a/recipes/dcmtk/config.yml b/recipes/dcmtk/config.yml index 8e28175b23370..b11effedf16d6 100644 --- a/recipes/dcmtk/config.yml +++ b/recipes/dcmtk/config.yml @@ -1,3 +1,5 @@ versions: + "3.6.8": + folder: "all" "3.6.7": folder: "all" From 13bc0dd24c3b17194d7c90d939529e64896b47e6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 4 Mar 2024 16:13:35 +0100 Subject: [PATCH 3837/4087] (#22835) Meta qt6 PR * qt: add QT_NO_DEBUG define in release build * fix condition for QT_NO_DEBUG define * Qt6: add d3d12 system lib on Windows Qt 6.6.0 added `d3d12` to the list of system libraries on Windows it links against: https://github.com/qt/qtbase/commit/84fb0de413ec574aab778d863c56e0d9a7f7ef6e#diff-2d8b127aed7a6123be24b80481b760ec4e9cc251e19d668d936dc09e87147a0e This is currently breaking the build in #18794. * Qt6: make d3d12 conditional on Qt version d3d12.dll was added with Windows 10. Don't want to potentially limit the range of supported OS versions unnecessarily. * Qt6: update all system dependency lists * Fix a typo * qt6: add tools macros fixes conan-io/conan-center-index#22530 * require explicitely gstreamer * bump deps * fix gstreamer consumption * fix cmake_find_mode of deps * Qt6: minor formatting fixes * qt 6.6.2 generated with: conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.6.2 * fix patching * trigger CI without conflict Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Alex Maystrenko Co-authored-by: Martin Valgur Co-authored-by: Uilian Ries --- recipes/qt/6.x.x/conandata.yml | 28 +++ recipes/qt/6.x.x/conanfile.py | 224 +++++++++++++----- recipes/qt/6.x.x/qtmodules6.6.2.conf | 338 +++++++++++++++++++++++++++ recipes/qt/config.yml | 2 + 4 files changed, 538 insertions(+), 54 deletions(-) create mode 100644 recipes/qt/6.x.x/qtmodules6.6.2.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index 689f7e5a3e8eb..7d80016fb1b78 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,26 @@ sources: + "6.6.2": + url: + - "https://download.qt.io/official_releases/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://download.qt.io/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.sau.edu.cn/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + sha256: "3c1e42b3073ade1f7adbf06863c01e2c59521b7cc2349df2f74ecd7ebfcb922d" "6.6.1": url: - "https://download.qt.io/official_releases/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" @@ -63,6 +85,12 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: + "6.6.2": + - "base_path": "qtwebengine" + "patch_description": "Workaround for too long .rps file name" + "patch_file": "patches/c72097e_6.6.0.diff" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + "patch_type": "bugfix" "6.6.1": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index e785559243ce4..2d1eda3fcc0bc 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -19,7 +19,7 @@ class QtConan(ConanFile): _submodules = ["qtsvg", "qtdeclarative", "qttools", "qttranslations", "qtdoc", - "qtwayland","qtquickcontrols2", "qtquicktimeline", "qtquick3d", "qtshadertools", "qt5compat", + "qtwayland", "qtquickcontrols2", "qtquicktimeline", "qtquick3d", "qtshadertools", "qt5compat", "qtactiveqt", "qtcharts", "qtdatavis3d", "qtlottie", "qtscxml", "qtvirtualkeyboard", "qt3d", "qtimageformats", "qtnetworkauth", "qtcoap", "qtmqtt", "qtopcua", "qtmultimedia", "qtlocation", "qtsensors", "qtconnectivity", "qtserialbus", @@ -151,7 +151,6 @@ def _get_module_tree(self): if config.has_option(section, "depends"): self._submodules_tree[modulename]["depends"] = [str(i) for i in config.get(section, "depends").split()] - return self._submodules_tree def export_sources(self): @@ -573,7 +572,7 @@ def generate(self): tc.variables["FEATURE_framework"] = "OFF" elif self.settings.os == "Android": tc.variables["CMAKE_ANDROID_NATIVE_API_LEVEL"] = self.settings.os.api_level - tc.variables["ANDROID_ABI"] = {"armv7": "armeabi-v7a", + tc.variables["ANDROID_ABI"] = {"armv7": "armeabi-v7a", "armv8": "arm64-v8a", "x86": "x86", "x86_64": "x86_64"}.get(str(self.settings.arch)) @@ -596,7 +595,7 @@ def generate(self): tc.variables["FEATURE_pkg_config"] = "ON" if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and not self.options.shared: - tc.variables["BUILD_WITH_PCH"]= "OFF" # disabling PCH to save disk space + tc.variables["BUILD_WITH_PCH"] = "OFF" # disabling PCH to save disk space if self.settings.os == "Windows": tc.variables["HOST_PERL"] = self.dependencies.build["strawberryperl"].conf_info.get("user.strawberryperl:perl", check_type=str) @@ -611,11 +610,11 @@ def generate(self): 14: "FEATURE_cxx14", 17: "FEATURE_cxx17", 20: "FEATURE_cxx20" - } + } if Version(self.version) >= "6.5.0": cpp_std_map[23] = "FEATURE_cxx2b" - for std,feature in cpp_std_map.items(): + for std, feature in cpp_std_map.items(): tc.variables[feature] = "ON" if int(current_cpp_std) >= std else "OFF" tc.variables["QT_USE_VCPKG"] = False @@ -670,7 +669,10 @@ def source(self): # use official variable name https://cmake.org/cmake/help/latest/module/FindFontconfig.html replace_in_file(self, os.path.join(self.source_folder, "qtbase", "src", "gui", "configure.cmake"), "FONTCONFIG_FOUND", "Fontconfig_FOUND") - replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", "QtAutoDetect.cmake") , "qt_auto_detect_vcpkg()", "# qt_auto_detect_vcpkg()") + replace_in_file(self, + os.path.join(self.source_folder, "qtbase", "cmake", "QtAutoDetect.cmake" if Version(self.version) < "6.6.2" else "QtAutoDetectHelpers.cmake"), + "qt_auto_detect_vcpkg()", + "# qt_auto_detect_vcpkg()") def _xplatform(self): if self.settings.os == "Linux": @@ -772,8 +774,8 @@ def _xplatform(self): def build(self): if self.settings.os == "Macos": - save(self, ".qmake.stash" , "") - save(self, ".qmake.super" , "") + save(self, ".qmake.stash", "") + save(self, ".qmake.super", "") cmake = CMake(self) cmake.configure() cmake.build() @@ -791,8 +793,8 @@ def _cmake_qt6_private_file(self, module): def package(self): if self.settings.os == "Macos": - save(self, ".qmake.stash" , "") - save(self, ".qmake.super" , "") + save(self, ".qmake.stash", "") + save(self, ".qmake.super", "") cmake = CMake(self) cmake.install() copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses"), @@ -809,10 +811,15 @@ def package(self): os.remove(os.path.join(self.package_folder, "bin", "qt-cmake-private-install.cmake")) for m in os.listdir(os.path.join(self.package_folder, "lib", "cmake")): - module = os.path.join(self.package_folder, "lib", "cmake", m, f"{m}Macros.cmake") - helper_modules = glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")) - if not os.path.isfile(module) and not helper_modules: - rmdir(self, os.path.join(self.package_folder, "lib", "cmake", m)) + if os.path.isfile(os.path.join(self.package_folder, "lib", "cmake", m, f"{m}Macros.cmake")): + continue + if glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")): + continue + if m.endswith("Tools"): + if os.path.isfile(os.path.join(self.package_folder, "lib", "cmake", m, f"{m[:-5]}Macros.cmake")): + continue + + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", m)) extension = "" if self.settings.os == "Windows": @@ -1012,6 +1019,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): ] self.cpp_info.components["qtCore"].set_property("pkg_config_custom_content", "\n".join(pkg_config_vars)) + if self.settings.build_type != "Debug": + self.cpp_info.components['qtCore'].defines.append('QT_NO_DEBUG') if self.settings.os == "Windows": self.cpp_info.components["qtCore"].system_libs.append("authz") if is_msvc(self): @@ -1025,6 +1034,12 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtPlatform"].includedirs = [os.path.join("res", "archdatadir", "mkspecs", self._xplatform())] if self.options.with_dbus: _create_module("DBus", ["dbus::dbus"]) + if self.settings.os == "Windows": + # https://github.com/qt/qtbase/blob/v6.6.1/src/dbus/CMakeLists.txt#L71-L77 + self.cpp_info.components["qtDBus"].system_libs.append("advapi32") + self.cpp_info.components["qtDBus"].system_libs.append("netapi32") + self.cpp_info.components["qtDBus"].system_libs.append("user32") + self.cpp_info.components["qtDBus"].system_libs.append("ws2_32") if self.options.gui: gui_reqs = [] if self.options.with_dbus: @@ -1059,27 +1074,69 @@ def _create_plugin(pluginname, libname, plugintype, requires): _add_build_module("qtGui", self._cmake_qt6_private_file("Gui")) if self.settings.os == "Windows": - self.cpp_info.components["qtGui"].system_libs = ["advapi32", "gdi32", "ole32", "shell32", "user32", "d3d11", - "dxgi", "dxguid", "d2d1", "dwrite", "d3d9", "setupapi", "SHCore"] + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L419-L429 + self.cpp_info.components["qtGui"].system_libs += [ + "advapi32", "gdi32", "ole32", "shell32", "user32", "d3d11", "dxgi", "dxguid" + ] + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L729 + self.cpp_info.components["qtGui"].system_libs.append("d2d1") + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L732-L742 + self.cpp_info.components["qtGui"].system_libs.append("dwrite") + if self.settings.compiler == "gcc": + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L746 + self.cpp_info.components["qtGui"].system_libs.append("uuid") + if Version(self.version) >= "6.6.0": + # https://github.com/qt/qtbase/blob/v6.6.0/src/gui/CMakeLists.txt#L428 + self.cpp_info.components["qtGui"].system_libs.append("d3d12") + if Version(self.version) >= "6.7.0": + # https://github.com/qt/qtbase/blob/v6.7.0-beta1/src/gui/CMakeLists.txt#L430 + self.cpp_info.components["qtGui"].system_libs.append("uxtheme") if self.settings.compiler == "gcc": self.cpp_info.components["qtGui"].system_libs.append("uuid") + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/direct2d/CMakeLists.txt#L60-L82 + self.cpp_info.components["qtGui"].system_libs += [ + "advapi32", "d2d1", "d3d11", "dwmapi", "dwrite", "dxgi", "dxguid", "gdi32", "imm32", "ole32", + "oleaut32", "setupapi", "shell32", "shlwapi", "user32", "version", "winmm", "winspool", + "wtsapi32", "shcore", "comdlg32", "d3d9", "runtimeobject" + ] _create_plugin("QWindowsIntegrationPlugin", "qwindows", "platforms", ["Core", "Gui"]) _create_plugin("QWindowsVistaStylePlugin", "qwindowsvistastyle", "styles", ["Core", "Gui"]) - self.cpp_info.components["qtQWindowsIntegrationPlugin"].system_libs = ["advapi32", "dwmapi", "gdi32", "imm32", - "ole32", "oleaut32", "shell32", "shlwapi", "user32", "winmm", "winspool", "wtsapi32"] + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/windows/CMakeLists.txt#L53-L69 + self.cpp_info.components["qtQWindowsIntegrationPlugin"].system_libs += [ + "advapi32", "dwmapi", "gdi32", "imm32", "ole32", "oleaut32", "setupapi", "shell32", "shlwapi", + "user32", "winmm", "winspool", "wtsapi32", "shcore", "comdlg32", "d3d9", "runtimeobject" + ] elif self.settings.os == "Android": _create_plugin("QAndroidIntegrationPlugin", "qtforandroid", "platforms", ["Core", "Gui"]) + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/android/CMakeLists.txt#L68-L70 self.cpp_info.components["qtQAndroidIntegrationPlugin"].system_libs = ["android", "jnigraphics"] - elif self.settings.os == "Macos": - _create_plugin("QCocoaIntegrationPlugin", "qcocoa", "platforms", ["Core", "Gui"]) - self.cpp_info.components["QCocoaIntegrationPlugin"].frameworks = ["AppKit", "Carbon", "CoreServices", "CoreVideo", - "IOKit", "IOSurface", "Metal", "QuartzCore"] - elif self.settings.os in ["iOS", "tvOS"]: - _create_plugin("QIOSIntegrationPlugin", "qios", "platforms", []) - self.cpp_info.components["QIOSIntegrationPlugin"].frameworks = ["AudioToolbox", "Foundation", "Metal", - "QuartzCore", "UIKit"] - elif self.settings.os == "watchOS": - _create_plugin("QMinimalIntegrationPlugin", "qminimal", "platforms", []) + elif is_apple_os(self): + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L388-L394 + self.cpp_info.components["qtGui"].frameworks = ["CoreFoundation", "CoreGraphics", "CoreText", "Foundation", "ImageIO"] + if self.options.get_safe("opengl", "no") != "no": + # https://github.com/qt/qtbase/commit/2ed63e587eefb246dba9e69aa01fdb2abb2def13 + self.cpp_info.components["qtGui"].frameworks.append("AGL") + if self.settings.os == "Macos": + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L362-L370 + self.cpp_info.components["qtGui"].frameworks += ["AppKit", "Carbon"] + _create_plugin("QCocoaIntegrationPlugin", "qcocoa", "platforms", ["Core", "Gui"]) + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/cocoa/CMakeLists.txt#L51-L58 + self.cpp_info.components["QCocoaIntegrationPlugin"].frameworks = [ + "AppKit", "Carbon", "CoreServices", "CoreVideo", "IOKit", "IOSurface", "Metal", "QuartzCore" + ] + elif self.settings.os in ["iOS", "tvOS"]: + _create_plugin("QIOSIntegrationPlugin", "qios", "platforms", []) + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/ios/CMakeLists.txt#L32-L37 + self.cpp_info.components["QIOSIntegrationPlugin"].frameworks = [ + "AudioToolbox", "Foundation", "Metal", "QuartzCore", "UIKit", "CoreGraphics" + ] + if self.settings.os != "tvOS": + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/ios/CMakeLists.txt#L66-L68 + self.cpp_info.components["QIOSIntegrationPlugin"].frameworks += [ + "AssetsLibrary", "UniformTypeIdentifiers", "Photos", + ] + elif self.settings.os == "watchOS": + _create_plugin("QMinimalIntegrationPlugin", "qminimal", "platforms", []) elif self.settings.os == "Emscripten": _create_plugin("QWasmIntegrationPlugin", "qwasm", "platforms", ["Core", "Gui"]) elif self.options.get_safe("with_x11", False): @@ -1101,8 +1158,11 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.with_pq: _create_plugin("QPSQLDriverPlugin", "qsqlpsql", "sqldrivers", ["libpq::libpq"]) if self.options.with_odbc: + _create_plugin("QODBCDriverPlugin", "qsqlodbc", "sqldrivers", []) if self.settings.os != "Windows": - _create_plugin("QODBCDriverPlugin", "qsqlodbc", "sqldrivers", ["odbc::odbc"]) + self.cpp_info.components["QODBCDriverPlugin"].requires.append("odbc::odbc") + else: + self.cpp_info.components["QODBCDriverPlugin"].system_libs.append("odbc32") networkReqs = [] if self.options.openssl: networkReqs.append("openssl::openssl") @@ -1116,6 +1176,11 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.widgets: _create_module("Widgets", ["Gui"]) _add_build_module("qtWidgets", self._cmake_qt6_private_file("Widgets")) + if self.settings.os == "Windows": + # https://github.com/qt/qtbase/blob/v6.6.1/src/widgets/CMakeLists.txt#L316-L321 + self.cpp_info.components["qtWidgets"].system_libs += [ + "dwmapi", "shell32", "uxtheme", + ] if self.options.gui and self.options.widgets: _create_module("PrintSupport", ["Gui", "Widgets"]) if self.options.get_safe("opengl", "no") != "no" and self.options.gui: @@ -1167,7 +1232,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("Quick3DRuntimeRender", ["Gui", "Quick", "Quick3DAssetImport", "Quick3DUtils", "ShaderTools"]) _create_module("Quick3D", ["Gui", "Qml", "Quick", "Quick3DRuntimeRender"]) - if (self.options.get_safe("qtquickcontrols2") or self.options.qtdeclarative ) and qt_quick_enabled: + if (self.options.get_safe("qtquickcontrols2") or self.options.qtdeclarative) and qt_quick_enabled: _create_module("QuickControls2", ["Gui", "Quick"]) _create_module("QuickTemplates2", ["Gui", "Quick"]) @@ -1357,28 +1422,72 @@ def _create_plugin(pluginname, libname, plugintype, requires): if not self.options.shared: if self.settings.os == "Windows": - self.cpp_info.components["qtCore"].system_libs.append("version") # qtcore requires "GetFileVersionInfoW" and "VerQueryValueW" which are in "Version.lib" library - self.cpp_info.components["qtCore"].system_libs.append("winmm") # qtcore requires "__imp_timeSetEvent" which is in "Winmm.lib" library - self.cpp_info.components["qtCore"].system_libs.append("netapi32") # qtcore requires "NetApiBufferFree" which is in "Netapi32.lib" library - self.cpp_info.components["qtCore"].system_libs.append("userenv") # qtcore requires "__imp_GetUserProfileDirectoryW " which is in "UserEnv.Lib" library - self.cpp_info.components["qtCore"].system_libs.append("ws2_32") # qtcore requires "WSAStartup " which is in "Ws2_32.Lib" library - self.cpp_info.components["qtNetwork"].system_libs.append("dnsapi") # qtnetwork from qtbase requires "DnsFree" which is in "Dnsapi.lib" library + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L527-L541 + self.cpp_info.components["qtCore"].system_libs.append("advapi32") + self.cpp_info.components["qtCore"].system_libs.append("authz") + self.cpp_info.components["qtCore"].system_libs.append("kernel32") + self.cpp_info.components["qtCore"].system_libs.append("netapi32") + self.cpp_info.components["qtCore"].system_libs.append("ole32") + self.cpp_info.components["qtCore"].system_libs.append("shell32") + self.cpp_info.components["qtCore"].system_libs.append("user32") + self.cpp_info.components["qtCore"].system_libs.append("uuid") + self.cpp_info.components["qtCore"].system_libs.append("version") + self.cpp_info.components["qtCore"].system_libs.append("winmm") + self.cpp_info.components["qtCore"].system_libs.append("ws2_32") + self.cpp_info.components["qtCore"].system_libs.append("mpr") + self.cpp_info.components["qtCore"].system_libs.append("userenv") + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L196-L200 + self.cpp_info.components["qtNetwork"].system_libs.append("advapi32") + self.cpp_info.components["qtNetwork"].system_libs.append("dnsapi") self.cpp_info.components["qtNetwork"].system_libs.append("iphlpapi") - self.cpp_info.components["qtNetwork"].system_libs.extend(["winhttp", "secur32"]) - + self.cpp_info.components["qtNetwork"].system_libs.append("secur32") + self.cpp_info.components["qtNetwork"].system_libs.append("winhttp") + # https://github.com/qt/qtbase/blob/v6.6.1/src/printsupport/CMakeLists.txt#L70-L75 + self.cpp_info.components["qtPrintSupport"].system_libs.append("gdi32") + self.cpp_info.components["qtPrintSupport"].system_libs.append("user32") + self.cpp_info.components["qtPrintSupport"].system_libs.append("comdlg32") + self.cpp_info.components["qtPrintSupport"].system_libs.append("winspool") - if self.settings.os == "Macos": - self.cpp_info.components["qtCore"].frameworks.append("IOKit") # qtcore requires "_IORegistryEntryCreateCFProperty", "_IOServiceGetMatchingService" and much more which are in "IOKit" framework - self.cpp_info.components["qtCore"].frameworks.append("Cocoa") # qtcore requires "_OBJC_CLASS_$_NSApplication" and more, which are in "Cocoa" framework - self.cpp_info.components["qtCore"].frameworks.append("Security") # qtcore requires "_SecRequirementCreateWithString" and more, which are in "Security" framework + if is_apple_os(self): + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L580-L584 + self.cpp_info.components["qtCore"].frameworks.append("CoreFoundation") + self.cpp_info.components["qtCore"].frameworks.append("Foundation") + self.cpp_info.components["qtCore"].frameworks.append("IOKit") + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L205-L214 + self.cpp_info.components["qtNetwork"].frameworks.append("CFNetwork") + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L216-L221 + # qtcore requires "_OBJC_CLASS_$_NSApplication" and more, which are in "Cocoa" framework + self.cpp_info.components["qtCore"].frameworks.append("Cocoa") self.cpp_info.components["qtNetwork"].system_libs.append("resolv") - self.cpp_info.components["qtNetwork"].frameworks.append("SystemConfiguration") if self.options.with_gssapi: + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L250C56-L253 self.cpp_info.components["qtNetwork"].frameworks.append("GSS") if self.options.gui and self.options.widgets: + # https://github.com/qt/qtbase/blob/v6.6.1/src/printsupport/CMakeLists.txt#L52-L63 self.cpp_info.components["qtPrintSupport"].system_libs.append("cups") + self.cpp_info.components["qtPrintSupport"].frameworks.append("ApplicationServices") + if self.settings.os == "Macos": + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L598-L606 + self.cpp_info.components["qtCore"].frameworks.append("AppKit") + self.cpp_info.components["qtCore"].frameworks.append("ApplicationServices") + self.cpp_info.components["qtCore"].frameworks.append("CoreServices") + self.cpp_info.components["qtCore"].frameworks.append("CoreServices") + self.cpp_info.components["qtCore"].frameworks.append("Security") + self.cpp_info.components["qtCore"].frameworks.append("DiskArbitration") + else: + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L969-L972 + self.cpp_info.components["qtCore"].frameworks.append("MobileCoreServices") + if self.settings.os not in ["iOS", "tvOS"]: + self.cpp_info.components["qtNetwork"].frameworks.append("CoreServices") + self.cpp_info.components["qtNetwork"].frameworks.append("SystemConfiguration") + else: + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L1074-L1077 + self.cpp_info.components["qtCore"].frameworks.append("UIKit") + if self.settings.os == "watchOS": + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L1079-L1082 + self.cpp_info.components["qtCore"].frameworks.append("WatchKit") - self.cpp_info.components["qtCore"].builddirs.append(os.path.join("res","archdatadir","bin")) + self.cpp_info.components["qtCore"].builddirs.append(os.path.join("res", "archdatadir", "bin")) _add_build_module("qtCore", self._cmake_executables_file) _add_build_module("qtCore", self._cmake_qt6_private_file("Core")) if self.settings.os in ["Windows", "iOS"]: @@ -1389,17 +1498,24 @@ def _create_plugin(pluginname, libname, plugintype, requires): if component_name == "qt": component_name = "qtCore" - module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") - if os.path.isfile(module): - _add_build_module(component_name, module) + if component_name in self.cpp_info.components: + module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") + if os.path.isfile(module): + _add_build_module(component_name, module) + + module = os.path.join("lib", "cmake", m, f"{m}ConfigExtras.cmake") + if os.path.isfile(module): + _add_build_module(component_name, module) - module = os.path.join("lib", "cmake", m, f"{m}ConfigExtras.cmake") - if os.path.isfile(module): - _add_build_module(component_name, module) + for helper_modules in glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")): + _add_build_module(component_name, helper_modules) + self.cpp_info.components[component_name].builddirs.append(os.path.join("lib", "cmake", m)) - for helper_modules in glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")): - _add_build_module(component_name, helper_modules) - self.cpp_info.components[component_name].builddirs.append(os.path.join("lib", "cmake", m)) + elif component_name.endswith("Tools") and component_name[:-5] in self.cpp_info.components: + module = os.path.join("lib", "cmake", f"{m}", f"{m[:-5]}Macros.cmake") + if os.path.isfile(module): + _add_build_module(component_name[:-5], module) + self.cpp_info.components[component_name[:-5]].builddirs.append(os.path.join("lib", "cmake", m)) objects_dirs = glob.glob(os.path.join(self.package_folder, "lib", "objects-*/")) for object_dir in objects_dirs: diff --git a/recipes/qt/6.x.x/qtmodules6.6.2.conf b/recipes/qt/6.x.x/qtmodules6.6.2.conf new file mode 100644 index 0000000000000..1ad0f474e5053 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.6.2.conf @@ -0,0 +1,338 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.6.2 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.6.2 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.6.2 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.6.2 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.6.2 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.6.2 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.6.2 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.6.2 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.6.2 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.6.2 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.6.2 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.6.2 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.6.2 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools qtmultimedia + path = qt3d + url = ../qt3d.git + branch = 6.6.2 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.6.2 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.6.2 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.6.2 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.6.2 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.6.2 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.6.2 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.6.2 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.6.2 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.6.2 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.6.2 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.6.2 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.6.2 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.6.2 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.6.2 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.6.2 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.6.2 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.6.2 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.6.2 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.6.2 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.6.2 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.6.2 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.6.2 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.6.2 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.6.2 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.6.2 + status = addon +[submodule "qtgrpc"] + depends = qtbase + recommends = qtdeclarative + path = qtgrpc + url = ../qtgrpc.git + branch = 6.6.2 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.6.2 + status = addon +[submodule "qtgraphs"] + depends = qtbase qtdeclarative qtquick3d + path = qtgraphs + url = ../qtgraphs.git + branch = 6.6.2 + status = preview diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 0a1aaa3dcf0ce..a0204ce95e6fc 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,4 +1,6 @@ versions: + "6.6.2": + folder: 6.x.x "6.6.1": folder: 6.x.x "6.6.0": From 9de3a9005adc3993a1116f28d6a0eb256426ef12 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 4 Mar 2024 16:48:06 +0100 Subject: [PATCH 3838/4087] (#22422) [sentry-native] Default backend + versions cleaning * [sentry-native] Add 0.6.6 / Remove 0.6.3 and 0.4.18 * Remove SENTRY_CRASHPAD_SYSTEM definition for sentry-native >= 0.7.0 * Add upstream repository pull request * Make crashpad the default backend on Linux from 0.7.0 * Improve transport option logic * Increase the C++ standard to 17 for crashpad backend * Use C++17 instead of C++14 in test package * Use minimum GCC version 7 for crashpad backend too * Respect upstream CMakelists.txt backend selection * Always use C++17 --- recipes/sentry-native/all/conandata.yml | 9 ++---- recipes/sentry-native/all/conanfile.py | 32 ++++++------------- .../all/test_package/CMakeLists.txt | 2 +- recipes/sentry-native/config.yml | 6 ++-- 4 files changed, 16 insertions(+), 33 deletions(-) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 3ae97887a0695..6bde257712f1a 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -2,21 +2,18 @@ sources: "0.7.0": url: "https://github.com/getsentry/sentry-native/releases/download/0.7.0/sentry-native.zip" sha256: "4dfccc879a81771b9da1c335947ffc9e5987ca3d16b3035efa2c66a06f727543" + "0.6.6": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.6/sentry-native.zip" + sha256: "7a98467c0b2571380a3afc5e681cb13aa406a709529be12d74610b0015ccde0c" "0.6.5": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip" sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995" "0.6.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" - "0.6.3": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" - sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" - "0.4.18": - url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" - sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" patches: "0.6.5": diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 8964b109c4ad8..f783754fae680 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -51,16 +51,12 @@ class SentryNativeConan(ConanFile): @property def _min_cppstd(self): - if is_msvc(self): - return "17" - if self.options.get_safe("backend") == "breakpad" and Version(self.version) >= "0.5.4": - return 17 - return "14" + return "17" @property def _minimum_compilers_version(self): minimum_gcc_version = "5" - if self.options.get_safe("backend") == "breakpad": + if self.options.get_safe("backend") == "breakpad" or self.options.get_safe("backend") == "crashpad": minimum_gcc_version = "7" return { "Visual Studio": "15", @@ -82,22 +78,17 @@ def config_options(self): # Configure default transport if self.settings.os == "Windows": + self.options.backend = "crashpad" self.options.transport = "winhttp" - elif self.settings.os in ("FreeBSD", "Linux") or self.settings.os == "Macos": # Don't use tools.is_apple_os(os) here - self.options.transport = "curl" - else: + elif self.settings.os == "Android": self.options.transport = "none" # Configure default backend - if self.settings.os == "Windows" or self.settings.os == "Macos": # Don't use tools.is_apple_os(os) here - # FIXME: for self.version < 0.4: default backend is "breakpad" when building with MSVC for Windows xp; else: backend=none + # See https://github.com/getsentry/sentry-native/pull/927 + if self.settings.os == "Macos": self.options.backend = "crashpad" - elif self.settings.os in ("FreeBSD", "Linux"): - self.options.backend = "breakpad" - elif self.settings.os == "Android": - self.options.backend = "inproc" - else: - self.options.backend = "inproc" + if self.settings.os in ("FreeBSD", "Linux"): + self.options.backend = "breakpad" if Version(self.version) < "0.7.0" else "crashpad" if self.settings.os not in ("Linux", "Android") or self.options.backend != "crashpad" or self.options.with_crashpad != "sentry": del self.options.crashpad_with_tls @@ -120,8 +111,6 @@ def requirements(self): self.requires("crashpad/cci.20220219") else: self.requires("zlib/[>=1.2.11 <2]") - if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("crashpad_with_tls"): self.requires("openssl/[>=1.1 <4]") elif self.options.backend == "breakpad": @@ -156,7 +145,8 @@ def generate(self): VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["SENTRY_BACKEND"] = self.options.backend - if self.options.backend == "crashpad": + # See https://github.com/getsentry/sentry-native/pull/928 + if Version(self.version) < "0.7.0" and self.options.backend == "crashpad": tc.variables["SENTRY_CRASHPAD_SYSTEM"] = self.options.with_crashpad == "google" if self.options.backend == "breakpad": tc.variables["SENTRY_BREAKPAD_SYSTEM"] = self.options.with_breakpad == "google" @@ -248,8 +238,6 @@ def package_info(self): self.cpp_info.components["crashpad_util"].requires = ["crashpad_compat", "crashpad_mini_chromium", "zlib::zlib"] if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.components["crashpad_util"].system_libs.extend(["pthread", "rt"]) - # Requires libcurl https://github.com/getsentry/crashpad/blob/2237d97ee2c38c930c07001e660be57324f69a37/util/CMakeLists.txt#L256 - self.cpp_info.components["crashpad_util"].requires.extend(["libcurl::libcurl"]) elif self.settings.os == "Windows": self.cpp_info.components["crashpad_util"].system_libs.append("winhttp") elif self.settings.os == "Macos": diff --git a/recipes/sentry-native/all/test_package/CMakeLists.txt b/recipes/sentry-native/all/test_package/CMakeLists.txt index 8b84ac464d998..37f553d142dc1 100644 --- a/recipes/sentry-native/all/test_package/CMakeLists.txt +++ b/recipes/sentry-native/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(sentry REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE sentry::sentry) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 367c1c0c7563c..456ef7af835a5 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,13 +1,11 @@ versions: "0.7.0": folder: all + "0.6.6": + folder: all "0.6.5": folder: all "0.6.4": folder: all - "0.6.3": - folder: all "0.5.4": folder: all - "0.4.18": - folder: all From 78ab0ec47a6268829f584dcf9eb17d5c8c7d56e8 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Mon, 4 Mar 2024 19:10:51 +0300 Subject: [PATCH 3839/4087] (#22954) gperf/all: Fix build on FreeBSD The original error was: gperf/3.1: RUN: make -j1 cd lib; make all cc -m64 -O3 -DNDEBUG -I. -c ./getopt.c cc -m64 -O3 -DNDEBUG -I. -c ./getopt1.c c++ -stdlib=libc++ -std=gnu++17 -m64 -O3 -DNDEBUG -I. -c ./getline.cc c++ -stdlib=libc++ -std=gnu++17 -m64 -O3 -DNDEBUG -I. -c ./hash.cc rm -f libgp.a ar rc libgp.a getopt.o getopt1.o getline.o hash.o ranlib libgp.a cd src; make all cd: src: No such file or directory *** [all] Error code 2 --- recipes/gperf/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/gperf/all/conanfile.py b/recipes/gperf/all/conanfile.py index 6527eca9695ee..0ed1afdf40204 100644 --- a/recipes/gperf/all/conanfile.py +++ b/recipes/gperf/all/conanfile.py @@ -39,6 +39,10 @@ def build_requirements(self): if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") + # gperf makefile relies on GNU Make behaviour + if self._settings_build.os == "FreeBSD": + self.tool_requires("make/4.4.1") + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) From 4c128c2c053544f79643a54d511212e635c8fbe9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 01:28:35 +0900 Subject: [PATCH 3840/4087] (#22955) catch2: add version 3.5.3 --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index 56cd441c7c786..cf3bf5f0495f5 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.3": + url: "https://github.com/catchorg/Catch2/archive/v3.5.3.tar.gz" + sha256: "8d723b0535c94860ef8cf6231580fa47d67a3416757ecb10639e40d748ab6c71" "3.5.2": url: "https://github.com/catchorg/Catch2/archive/v3.5.2.tar.gz" sha256: "269543a49eb76f40b3f93ff231d4c24c27a7e16c90e47d2e45bcc564de470c6e" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index 20b1c62d0349a..b24c301a17e49 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.3": + folder: 3.x.x "3.5.2": folder: 3.x.x "3.5.1": From 5087642bd038e688d23b91f12db19aadd542d6c8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 01:48:40 +0900 Subject: [PATCH 3841/4087] (#22963) expat: add version 2.6.1 --- recipes/expat/all/conandata.yml | 3 +++ recipes/expat/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/expat/all/conandata.yml b/recipes/expat/all/conandata.yml index 50ac4905f740e..e8f35976ab73d 100644 --- a/recipes/expat/all/conandata.yml +++ b/recipes/expat/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.1": + url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_1/expat-2.6.1.tar.xz" + sha256: "0c00d2760ad12efef6e26efc8b363c8eb28eb8c8de719e46d5bb67b40ba904a3" "2.6.0": url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_0/expat-2.6.0.tar.xz" sha256: "cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e" diff --git a/recipes/expat/config.yml b/recipes/expat/config.yml index 548e19d13502f..b9184b42c3bb5 100644 --- a/recipes/expat/config.yml +++ b/recipes/expat/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.1": + folder: all "2.6.0": folder: all "2.5.0": From 46f9f2f710fb57ba68deb7b5e44705907bd815ef Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 02:09:20 +0900 Subject: [PATCH 3842/4087] (#22964) nng: add version 1.7.3 --- recipes/nng/all/conandata.yml | 3 +++ recipes/nng/all/conanfile.py | 6 ++++++ recipes/nng/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index a0f5356224bc7..c572a0578b71b 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.3": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.3.tar.gz" + sha256: "035f2c3cad4e45fc0d978c54a338c197d1937527ae6feb82180d428a96b83474" "1.7.2": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.2.tar.gz" sha256: "40e6af7bdd5d02ee98ba8fe5fd5c149ce3e5a555f202cdc837e3ead2d7cc7534" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 3de52cd9ed251..91bc43507421d 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -27,6 +27,7 @@ class NngConan(ConanFile): "max_expire_threads": ["ANY"], "max_poller_threads": ["ANY"], "compat": [True, False], + "with_ipv6": [True, False], } default_options = { "shared": False, @@ -38,6 +39,7 @@ class NngConan(ConanFile): "max_expire_threads": "8", "max_poller_threads": "8", "compat": True, + "with_ipv6": True, } def export_sources(self): @@ -52,6 +54,8 @@ def config_options(self): del self.options.max_poller_threads if Version(self.version) < "1.7.2": del self.options.compat + if Version(self.version) < "1.7.3": + del self.options.with_ipv6 def configure(self): if self.options.shared: @@ -102,6 +106,8 @@ def generate(self): tc.variables["NNG_MAX_POLLER_THREADS"] = self.options.max_poller_threads if "compat" in self.options: tc.variables["NNG_ENABLE_COMPAT"] = self.options.compat + if "with_ipv6" in self.options: + tc.variables["NNG_ENABLE_IPV6"] = self.options.with_ipv6 tc.generate() def build(self): diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index 5c118cf597a33..b2f902db3e414 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.3": + folder: all "1.7.2": folder: all "1.7.1": From b81b43f811be25257bfcc1452badf9650257fda1 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 02:50:17 +0900 Subject: [PATCH 3843/4087] (#22965) crcpp: add recipe --- recipes/crcpp/all/conandata.yml | 4 ++ recipes/crcpp/all/conanfile.py | 51 +++++++++++++++++++ recipes/crcpp/all/test_package/CMakeLists.txt | 8 +++ recipes/crcpp/all/test_package/conanfile.py | 26 ++++++++++ .../crcpp/all/test_package/test_package.cpp | 14 +++++ recipes/crcpp/config.yml | 3 ++ 6 files changed, 106 insertions(+) create mode 100644 recipes/crcpp/all/conandata.yml create mode 100644 recipes/crcpp/all/conanfile.py create mode 100644 recipes/crcpp/all/test_package/CMakeLists.txt create mode 100644 recipes/crcpp/all/test_package/conanfile.py create mode 100644 recipes/crcpp/all/test_package/test_package.cpp create mode 100644 recipes/crcpp/config.yml diff --git a/recipes/crcpp/all/conandata.yml b/recipes/crcpp/all/conandata.yml new file mode 100644 index 0000000000000..f414dda91410c --- /dev/null +++ b/recipes/crcpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.2.0.0": + url: "https://github.com/d-bahr/CRCpp/archive/refs/tags/release-1.2.0.0.tar.gz" + sha256: "382d399b939207d81537a874ec4b05abc7f59772be58425a0dd048711d43db14" diff --git a/recipes/crcpp/all/conanfile.py b/recipes/crcpp/all/conanfile.py new file mode 100644 index 0000000000000..3315a073a6447 --- /dev/null +++ b/recipes/crcpp/all/conanfile.py @@ -0,0 +1,51 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class CRCPPConan(ConanFile): + name = "crcpp" + description = "Easy to use and fast C++ CRC library." + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/d-bahr/CRCpp/" + topics = ("crc", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.h", + os.path.join(self.source_folder, "inc"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/crcpp/all/test_package/CMakeLists.txt b/recipes/crcpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..365caf83cf9bb --- /dev/null +++ b/recipes/crcpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(crcpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE crcpp::crcpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/crcpp/all/test_package/conanfile.py b/recipes/crcpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/crcpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/crcpp/all/test_package/test_package.cpp b/recipes/crcpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4546a70d708c2 --- /dev/null +++ b/recipes/crcpp/all/test_package/test_package.cpp @@ -0,0 +1,14 @@ +#include +#include +#include "CRC.h" + + +int main(void) { + const char myString[] = { 'H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D' }; + + std::uint32_t crc = CRC::Calculate(myString, sizeof(myString), CRC::CRC_32()); + + std::cout << std::hex << crc; + + return 0; +} diff --git a/recipes/crcpp/config.yml b/recipes/crcpp/config.yml new file mode 100644 index 0000000000000..f3be59d8c2e85 --- /dev/null +++ b/recipes/crcpp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.0.0": + folder: all From 202d8e2e9d042f010ea50c7eb2c65eced4cd18e4 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Mar 2024 19:09:30 +0100 Subject: [PATCH 3844/4087] (#22966) OpenImageIO: Add version 2.5.9.0 --- recipes/openimageio/all/conandata.yml | 7 + .../all/patches/2.5.9.0-cmake-targets.patch | 518 ++++++++++++++++++ recipes/openimageio/config.yml | 2 + 3 files changed, 527 insertions(+) create mode 100644 recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index 9ae019a09b59e..67601ed04452c 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -8,6 +8,9 @@ sources: "2.5.6.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.6.0.tar.gz" sha256: "bcfced40a25ef8576383b44d8bbe3732aa2b8efc7b8614482783d6f90378d307" + "2.5.9.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.9.0.tar.gz" + sha256: "b6a68e369bc475525eb843bdc0cb8adc910cc71000825f8db9b5e136166cdc78" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -24,3 +27,7 @@ patches: - patch_file: "patches/2.5.6.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" + "2.5.9.0": + - patch_file: "patches/2.5.9.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" diff --git a/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch new file mode 100644 index 0000000000000..747b79bc8b544 --- /dev/null +++ b/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch @@ -0,0 +1,518 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 8125716a3..dd83c588f 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -154,7 +154,7 @@ endif () + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -233,7 +233,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index 3f73cd266..d03c906d1 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () +- +-set (Boost_COMPONENTS thread) ++#if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++#endif () ++ ++set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++#if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++#endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -137,11 +137,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer JPEG-Turbo to regular libjpeg +-checked_find_package (libjpeg-turbo +- VERSION_MIN 2.1 +- DEFINITIONS -DUSE_JPEG_TURBO=1) +-if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (libjpeg-turbo REQUIRED ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but +@@ -157,7 +161,7 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + if (USE_PYTHON) + checked_find_package (pybind11 REQUIRED VERSION_MIN 2.4.2) + endif () +@@ -167,110 +171,105 @@ endif () + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) ++if (USE_LIBPNG) ++ checked_find_package (PNG REQUIRED) ++endif() + +-checked_find_package (BZip2) # Used by ffmpeg and freetype +-if (NOT BZIP2_FOUND) +- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? +-endif () ++if (USE_FREETYPE) ++ checked_find_package (Freetype REQUIRED ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) +- +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) +-if (OpenColorIO_FOUND) +- option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS +- "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) +- if (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS OR "$ENV{OIIO_DISABLE_BUILTIN_OCIO_CONFIGS}") +- add_compile_definitions(OIIO_DISABLE_BUILTIN_OCIO_CONFIGS) +- endif () +-else () +- set (OpenColorIO_FOUND 0) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO REQUIRED ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) + endif () + +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++if (USE_OPENCV) ++ checked_find_package (OpenCV REQUIRED 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) ++if (USE_TBB)# Intel TBB ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 REQUIRED ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() + + # DCMTK is used to read DICOM images +-checked_find_package (DCMTK VERSION_MIN 3.6.1 +- PREFER_CONFIG) ++if (USE_DCMTK) ++ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images ++endif() + +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF REQUIRED ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() + + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.7 +- RECOMMEND_MIN_REASON "for AVIF support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) +-endif () ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.7 ++ RECOMMEND_MIN_REASON "for AVIF support") ++endif() + +-checked_find_package (LibRaw +- VERSION_MIN 0.18 +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw REQUIRED ++ RECOMMEND_MIN 0.18 ++ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" ++ PRINT LibRaw_r_LIBRARIES) ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpeVDB_FOUND 0) +-endif () ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED ++ VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++endif() + +-checked_find_package (WebP) +-# Note: When WebP 1.1 (released late 2019) is our minimum, we can use their +-# exported configs and remove our FindWebP.cmake module. ++if (USE_PTEX) ++ checked_find_package (ptex REQUIRED PREFER_CONFIG) ++endif() ++ ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++endif() + + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK NO_RECORD_NOTFOUND) # RED camera ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK REQUIRED) # RED camera ++endif () + + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke NO_RECORD_NOTFOUND) ++if (USE_NUKE) ++ checked_find_package (Nuke REQUIRED) ++endif () + + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () +-if (USE_QT AND OPENGL_FOUND) ++if (USE_QT AND USE_OPENGL) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) + if (NOT Qt6_FOUND) + checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) +@@ -294,13 +293,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -318,7 +317,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + find_or_download_robin_map () +@@ -337,7 +336,7 @@ macro (find_or_download_fmt) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_FMT_FORCE) +- find_package (fmt QUIET) ++ find_package (fmt REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then +@@ -372,7 +371,7 @@ macro (find_or_download_fmt) + set (fmt_VERSION "${FMT_VERSION_MAJOR}.${FMT_VERSION_MINOR}.${FMT_VERSION_PATCH}") + list (APPEND CFP_ALL_BUILD_DEPS_FOUND "${pkgname} ${${pkgname}_VERSION}") + else () +- get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) ++ get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) + set (OIIO_USING_FMT_LOCAL FALSE) + checked_find_package (fmt REQUIRED + VERSION_MIN 7.0) +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 8e47a8443..900d23101 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,7 +2,7 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + if (LINKSTATIC) + set (_static_suffixes .lib .a) + set (_static_libraries_found 0) +@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) + endif() + + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index 5b6c30a85..e5bc55ef1 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,32 +2,31 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) +- if (LINKSTATIC) +- set (_static_suffixes .lib .a) +- set (_static_libraries_found 0) ++if (USE_LIBHEIF) ++ # if (LINKSTATIC) ++ # set (_static_suffixes .lib .a) ++ # set (_static_libraries_found 0) + +- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) +- get_filename_component (_ext ${_libeheif_library} LAST_EXT) +- list (FIND _static_suffixes ${_ext} _index) +- if (${_index} GREATER -1) +- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") +- endif() +- endforeach() ++ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) ++ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) ++ # list (FIND _static_suffixes ${_ext} _index) ++ # if (${_index} GREATER -1) ++ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") ++ # endif() ++ # endforeach() + +- if (${_static_libraries_found} GREATER 0) +- message (STATUS "${ColorYellow}") +- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") +- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") +- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") +- message (STATUS "dynamically-linked libheif.") +- message ("${ColorReset}") +- endif() +- endif() ++ # if (${_static_libraries_found} GREATER 0) ++ # message (STATUS "${ColorYellow}") ++ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") ++ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") ++ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") ++ # message (STATUS "dynamically-linked libheif.") ++ # message ("${ColorReset}") ++ # endif() ++ # endif() + + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 7bec09739..3db17086f 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -64,7 +64,8 @@ install (FILES ${detail_headers} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail + COMPONENT developer) + +-if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++if (0) # Don't try to copy fmt libraries to target install folder ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers_base_names) + foreach (header_name core.h format-inl.h format.h ostream.h printf.h + std.h base.h chrono.h) +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..24348fe66 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -2,10 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (OPENJPEG_FOUND) ++if (USE_OPENJPEG) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index aeb7b7f93..9a32e4cf2 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -154,19 +154,27 @@ target_link_libraries (OpenImageIO + ${OPENIMAGEIO_IMATH_TARGETS} + PRIVATE + ${OPENIMAGEIO_OPENEXR_TARGETS} +- ${OpenCV_LIBRARIES} + ${format_plugin_libs} # Add all the target link libraries from the plugins + $ + $ + $ + $ +- $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core ++ opencv::opencv_imgproc ++ opencv::opencv_videoio) ++endif () ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) ++endif() ++ + if (WIN32) + target_link_libraries (OpenImageIO PRIVATE psapi) + endif() +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index f873b3eed..cf5d4e74c 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,20 +20,13 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) + +-if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) +- add_dependencies(OpenImageIO_Util fmt_internal_target) +-else () +- target_link_libraries (OpenImageIO_Util +- PUBLIC fmt::fmt-header-only) +-endif () +- + if (WIN32) + add_definitions(-DWIN32_LEAN_AND_MEAN -DNOMINMAX -DNOGDI -DVC_EXTRALEAN) + target_link_libraries (OpenImageIO_Util PRIVATE psapi) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index 16634fedb..82060ac29 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,12 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) +- set(ptex_target Ptex::Ptex_dynamic) +- if (TARGET Ptex::Ptex_static AND (NOT TARGET Ptex::Ptex_dynamic OR LINKSTATIC)) +- set(ptex_target Ptex::Ptex_static) +- endif() ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES ${ptex_target} ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/config.yml b/recipes/openimageio/config.yml index cd903dbdc9549..95116bd79b886 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -5,3 +5,5 @@ versions: folder: all "2.5.6.0": folder: all + "2.5.9.0": + folder: all From 4662ebbdeba0348dffb6e7580dd4d2d1af3c6467 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Mar 2024 23:09:42 +0100 Subject: [PATCH 3845/4087] (#22916) Add OpenColorIO version 2.3.2 --- recipes/opencolorio/all/conandata.yml | 7 +++++++ recipes/opencolorio/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/opencolorio/all/conandata.yml b/recipes/opencolorio/all/conandata.yml index b92cedca0d55d..840a3b9147df2 100644 --- a/recipes/opencolorio/all/conandata.yml +++ b/recipes/opencolorio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.2": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.2.tar.gz" + sha256: "6bbf4e7fa4ea2f743a238cb22aff44890425771a2f57f62cece1574e46ceec2f" "2.3.1": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.1.tar.gz" sha256: "7196e979a0449ce28afd46a78383476f3b8fc1cc1d3a417192be439ede83437b" @@ -15,6 +18,10 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: + "2.3.2": + - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" "2.3.1": - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" diff --git a/recipes/opencolorio/config.yml b/recipes/opencolorio/config.yml index dc936cbaf95e1..fdcf6dcec8972 100644 --- a/recipes/opencolorio/config.yml +++ b/recipes/opencolorio/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.2": + folder: "all" "2.3.1": folder: "all" "2.3.0": From 9963f7bba712c919ea36355b81fe5638f36c86a1 Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Tue, 5 Mar 2024 00:28:37 +0100 Subject: [PATCH 3846/4087] (#22842) simfil: add version 0.1.1 * simfil: add version 0.1.0 * simfil: add version 0.1.0 * simfil: Check per compiler version for c++concepts * simfil: Fix validate error message * simfil: Fix validate error message * simfil: Apply PR review changes Co-authored-by: Uilian Ries * Update conanfile.py * Update recipes/simfil/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/simfil/all/conandata.yml | 4 + recipes/simfil/all/conanfile.py | 103 ++++++++++++++++++ .../simfil/all/test_package/CMakeLists.txt | 8 ++ recipes/simfil/all/test_package/conanfile.py | 26 +++++ .../simfil/all/test_package/src/example.cpp | 8 ++ recipes/simfil/config.yml | 3 + 6 files changed, 152 insertions(+) create mode 100644 recipes/simfil/all/conandata.yml create mode 100644 recipes/simfil/all/conanfile.py create mode 100644 recipes/simfil/all/test_package/CMakeLists.txt create mode 100644 recipes/simfil/all/test_package/conanfile.py create mode 100644 recipes/simfil/all/test_package/src/example.cpp create mode 100644 recipes/simfil/config.yml diff --git a/recipes/simfil/all/conandata.yml b/recipes/simfil/all/conandata.yml new file mode 100644 index 0000000000000..f6fc491607eb0 --- /dev/null +++ b/recipes/simfil/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.1": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.1.1.tar.gz" + sha256: "e82a9d92ec65b7e27776d5507c78571cecc234f2b6fcdacc7ffcece6198f7f9a" diff --git a/recipes/simfil/all/conanfile.py b/recipes/simfil/all/conanfile.py new file mode 100644 index 0000000000000..7f51c69a00ce9 --- /dev/null +++ b/recipes/simfil/all/conanfile.py @@ -0,0 +1,103 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import copy, get +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +import os + + +required_conan_version = ">=1.53.0" + + +class SimfilRecipe(ConanFile): + name = "simfil" + description = "simfil is a C++ 17 library and a language for querying structured map feature data. The library provides an efficient in-memory storage pool for map data, optimized for the simfil query language, along with a query interpreter to query the actual data." + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Klebert-Engineering/simfil" + license = "BSD-3-Clause" + topics = ["query-language", "json", "data-model"] + + # Binary configuration + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_json": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_json": True, + } + + @property + def _minimum_compilers_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "10", + "clang": "10", + "apple-clang": "14", + } + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def validate(self): + check_min_cppstd(self, 20) + + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if not min_version: + self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + else: + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires Concepts support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") + + def build_requirements(self): + self.tool_requires("cmake/[>3.19 <4]") + + def requirements(self): + self.requires("sfl/1.2.4", transitive_headers=True) + self.requires("fmt/10.0.0", transitive_headers=True) + self.requires("bitsery/5.2.3", transitive_headers=True) + if self.options.with_json: + self.requires("nlohmann_json/3.11.2") + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["SIMFIL_CONAN"] = True + tc.cache_variables["SIMFIL_SHARED"] = self.options.get_safe("shared") + tc.cache_variables["SIMFIL_WITH_REPL"] = False + tc.cache_variables["SIMFIL_WITH_COVERAGE"] = False + tc.cache_variables["SIMFIL_WITH_TESTS"] = False + tc.cache_variables["SIMFIL_WITH_EXAMPLES"] = False + tc.cache_variables["SIMFIL_WITH_MODEL_JSON"] = self.options.with_json + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.libs = ["simfil"] diff --git a/recipes/simfil/all/test_package/CMakeLists.txt b/recipes/simfil/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..33e4104ed085d --- /dev/null +++ b/recipes/simfil/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX) + +find_package(simfil CONFIG REQUIRED) + +add_executable(test_package src/example.cpp) +target_link_libraries(test_package simfil::simfil) +target_compile_features(test_package PRIVATE cxx_std_20) diff --git a/recipes/simfil/all/test_package/conanfile.py b/recipes/simfil/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0c831359c3d24 --- /dev/null +++ b/recipes/simfil/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + +class SimfilTestPackageConanFile(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/simfil/all/test_package/src/example.cpp b/recipes/simfil/all/test_package/src/example.cpp new file mode 100644 index 0000000000000..e263d12871d8b --- /dev/null +++ b/recipes/simfil/all/test_package/src/example.cpp @@ -0,0 +1,8 @@ +#include "simfil/value.h" + +int main() { + auto value = simfil::Value::make((int64_t)123); + (void)value; + + return 0; +} diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/simfil/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 61a276dbaee2eb6ca0b0ae266e9f693e0f2f04e4 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 5 Mar 2024 00:02:53 +0000 Subject: [PATCH 3847/4087] (#22971) Qt6 check if we are on C3I CI --- recipes/qt/6.x.x/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 2d1eda3fcc0bc..02d45875b2ac6 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -235,11 +235,10 @@ def _enablemodule(mod): setattr(self.options, module, False) def validate(self): - if os.getenv('NOT_ON_C3I', '0') == '0': + if os.getenv('CONAN_CENTER_BUILD_SERVICE') is not None: if self.info.settings.compiler == "gcc" and Version(self.info.settings.compiler.version) >= "11" or \ self.info.settings.compiler == "clang" and Version(self.info.settings.compiler.version) >= "12": - raise ConanInvalidConfiguration("qt is not supported on gcc11 and clang >= 12 on C3I until conan-io/conan-center-index#13472 is fixed\n"\ - "If your distro is modern enough (xcb >= 1.12), set environment variable NOT_ON_C3I=1") + raise ConanInvalidConfiguration("qt is not supported on gcc11 and clang >= 12 on C3I until conan-io/conan-center-index#13472 is fixed") # C++ minimum standard required if self.settings.compiler.get_safe("cppstd"): From 650b3ef8bbec00a581b930d9680524366bdb8f2a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 5 Mar 2024 10:02:19 +0100 Subject: [PATCH 3848/4087] (#22978) [config] Remove Conan v2 migration check as mandatory Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index ae8f0a7b717cf..a7779831e1660 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -38,7 +38,6 @@ tasks: # * status_checks refers to notifications coming from external tools (Jenkins, CLA,...) check_runs: - name: "Lint changed files (YAML files)" - - name: "Lint changed conanfile.py (v2 migration)" status_checks: - name: "license/cla" - name: "continuous-integration/jenkins/pr-merge" From 4685e1e7b29c86b091a2aba2e4b3031431f107dc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 18:24:07 +0900 Subject: [PATCH 3849/4087] (#20442) chunkio: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chunkio: add recipe * add package_type, export all symbols, link shlwapi * disable PIC, support relocatable shared lib on macOS * revert disable PIC * disable pic on static build * Update recipes/chunkio/all/conanfile.py * Update recipes/chunkio/all/conanfile.py * Update recipes/chunkio/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Francisco Ramírez Co-authored-by: Martin Valgur --- recipes/chunkio/all/conandata.yml | 16 +++++ recipes/chunkio/all/conanfile.py | 72 +++++++++++++++++++ .../patches/1.1.6-0001-add-installer.patch | 65 +++++++++++++++++ .../patches/1.1.6-0002-fix-wrong-target.patch | 14 ++++ .../all/patches/1.1.6-0003-disable-pic.patch | 15 ++++ .../chunkio/all/test_package/CMakeLists.txt | 7 ++ recipes/chunkio/all/test_package/conanfile.py | 25 +++++++ .../chunkio/all/test_package/test_package.c | 20 ++++++ recipes/chunkio/config.yml | 3 + 9 files changed, 237 insertions(+) create mode 100644 recipes/chunkio/all/conandata.yml create mode 100644 recipes/chunkio/all/conanfile.py create mode 100644 recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch create mode 100644 recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch create mode 100644 recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch create mode 100644 recipes/chunkio/all/test_package/CMakeLists.txt create mode 100644 recipes/chunkio/all/test_package/conanfile.py create mode 100644 recipes/chunkio/all/test_package/test_package.c create mode 100644 recipes/chunkio/config.yml diff --git a/recipes/chunkio/all/conandata.yml b/recipes/chunkio/all/conandata.yml new file mode 100644 index 0000000000000..0ec309fb48a89 --- /dev/null +++ b/recipes/chunkio/all/conandata.yml @@ -0,0 +1,16 @@ +sources: + "1.1.6": + url: "https://github.com/edsiper/chunkio/archive/refs/tags/v1.1.6.tar.gz" + sha256: "755dda0b8ccf6f5ff804b2c1a3caa938bae7b0f37d73afa12c1bf1fab4fd4c86" +patches: + "1.1.6": + - patch_file: "patches/1.1.6-0001-add-installer.patch" + patch_description: "add installer" + patch_type: "conan" + - patch_file: "patches/1.1.6-0002-fix-wrong-target.patch" + patch_description: "fix wrong target" + patch_type: "bugfix" + patch_source: "https://github.com/fluent/chunkio/issues/104" + - patch_file: "patches/1.1.6-0003-disable-pic.patch" + patch_description: "disable pic on static build" + patch_type: "portability" diff --git a/recipes/chunkio/all/conanfile.py b/recipes/chunkio/all/conanfile.py new file mode 100644 index 0000000000000..a32c30c04b01b --- /dev/null +++ b/recipes/chunkio/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class ChunkIOConan(ConanFile): + name = "chunkio" + description = "Simple library to manage chunks of data in memory and file system" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/edsiper/chunkio" + topics = ("chunk", "io", "memory", "file") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_filesystem": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_filesystem": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["CIO_LIB_STATIC"] = not self.options.shared + tc.variables["CIO_LIB_SHARED"] = self.options.shared + tc.variables["CIO_BACKEND_FILESYSTEM"] = self.options.with_filesystem + # Relocatable shared libs on macOS + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["chunkio-shared"] if self.options.shared else ["chunkio-static", "cio-crc32"] + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("shlwapi") diff --git a/recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch b/recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch new file mode 100644 index 0000000000000..52a5dd664faf7 --- /dev/null +++ b/recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e6d5dcb..ebf3c4c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,10 +109,15 @@ include_directories( + + add_subdirectory(deps/crc32) + add_subdirectory(src) +-add_subdirectory(tools) ++#add_subdirectory(tools) + + # Tests + if(CIO_TESTS) + enable_testing() + add_subdirectory(tests) + endif() ++ ++include(GNUInstallDirs) ++ ++install(DIRECTORY include/chunkio DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install(DIRECTORY deps/monkey/include/monkey DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +diff --git a/deps/crc32/CMakeLists.txt b/deps/crc32/CMakeLists.txt +index 8ae1823..0b7dba0 100644 +--- a/deps/crc32/CMakeLists.txt ++++ b/deps/crc32/CMakeLists.txt +@@ -3,3 +3,12 @@ set(src + ) + + add_library(cio-crc32 STATIC ${src}) ++ ++if(CIO_LIB_STATIC) ++ include(GNUInstallDirs) ++ install( ++ TARGETS cio-crc32 ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a4fc2d3..51736bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -50,3 +50,22 @@ endif() + if (NOT CIO_LIB_STATIC AND NOT CIO_LIB_SHARED) + message(FATAL_ERROR "What are you doing?, you should build something") + endif() ++ ++include(GNUInstallDirs) ++ ++if(CIO_LIB_STATIC) ++ install( ++ TARGETS chunkio-static ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++endif() ++ ++if(CIO_LIB_SHARED) ++ install( ++ TARGETS chunkio-shared ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++endif() diff --git a/recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch b/recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch new file mode 100644 index 0000000000000..3b36da5f199b1 --- /dev/null +++ b/recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch @@ -0,0 +1,14 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a4fc2d3..51736bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -41,7 +41,7 @@ endif() + + if (CIO_LIB_SHARED) + add_library(chunkio-shared SHARED ${src}) +- target_link_libraries(chunkio-static ${libs}) ++ target_link_libraries(chunkio-shared ${libs}) + if(CIO_SANITIZE_ADDRESS) + add_sanitizers(chunkio-shared) + endif() + diff --git a/recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch b/recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch new file mode 100644 index 0000000000000..02733d0726a39 --- /dev/null +++ b/recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ebf3c4c..2db2794 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,9 @@ set(CIO_VERSION_PATCH 6) + set(CIO_VERSION_STR "${CIO_VERSION_MAJOR}.${CIO_VERSION_MINOR}.${CIO_VERSION_PATCH}") + + # CFLAGS +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++if(BUILD_SHARED_LIBS) ++ set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++endif() + if(MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4 ") + else() diff --git a/recipes/chunkio/all/test_package/CMakeLists.txt b/recipes/chunkio/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..145508da160d2 --- /dev/null +++ b/recipes/chunkio/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(chunkio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE chunkio::chunkio) diff --git a/recipes/chunkio/all/test_package/conanfile.py b/recipes/chunkio/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/chunkio/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/chunkio/all/test_package/test_package.c b/recipes/chunkio/all/test_package/test_package.c new file mode 100644 index 0000000000000..1c8100c442be2 --- /dev/null +++ b/recipes/chunkio/all/test_package/test_package.c @@ -0,0 +1,20 @@ +#include "chunkio/chunkio.h" +#include + +static int log_cb(struct cio_ctx *ctx, int level, const char *file, int line, + char *str) +{ + (void) ctx; + + printf("[cio-test-fs] %-60s => %s:%i\n", str, file, line); + return 0; +} + +int main() { + int flags = CIO_CHECKSUM; + struct cio_ctx *ctx = cio_create(NULL, log_cb, CIO_LOG_INFO, flags); + + cio_destroy(ctx); + + return 0; +} diff --git a/recipes/chunkio/config.yml b/recipes/chunkio/config.yml new file mode 100644 index 0000000000000..98af2724bf2b9 --- /dev/null +++ b/recipes/chunkio/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.6": + folder: "all" From 5018851920669e1a02aef8347be752dbc48e4590 Mon Sep 17 00:00:00 2001 From: Roberto Turrado Camblor Date: Tue, 5 Mar 2024 10:46:26 +0100 Subject: [PATCH 3850/4087] (#22286) Add `tree-gen` recipe. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * coin-lemon: fixed C++17 and C++20 compilation warnings. * coin-lemon: renamed fix_cpp_20_compilation_warnings.patch to fix_cpp_20_compilation_errors.patch, and updated conandata.yml as suggested in the pull request review. * coin-lemon: updated patch to fix gcc 5 compilation (gcc 5 doesn't allow to use 'using' type aliases). * coin-lemon: fix conandata.yml (by removing an extra blank line). * coin-lemon: fixed C++20 compilation errors for path.h too. * coin-lemon: added patch_source lines to conandata.yml. * Adding a recipe for libqasm at Conan Center. * Trying to fix some Linter errors. * Trying to fix a remaining Linter error. * Revert "coin-lemon: added patch_source lines to conandata.yml." This reverts commit a94d7b1fe8cb38927eab847915cc2113710bde1d. * Revert "coin-lemon: fixed C++20 compilation errors for path.h too." This reverts commit 05fbdb86f066e2b5133c62906d09763dc2ebb135. * Revert "coin-lemon: fix conandata.yml (by removing an extra blank line)." This reverts commit 788b028529483d4057a3e405637bb7c866003467. * Revert "coin-lemon: updated patch to fix gcc 5 compilation (gcc 5 doesn't allow to use 'using' type aliases)." This reverts commit 73c92948992214360669d191aa5916c20f5ed57c. * Revert "coin-lemon: renamed fix_cpp_20_compilation_warnings.patch to fix_cpp_20_compilation_errors.patch, and updated conandata.yml as suggested in the pull request review." This reverts commit 6e1cafee0c7986e10e971ce449183ed29c984529. * Revert "coin-lemon: fixed C++17 and C++20 compilation warnings." This reverts commit 22fc69581904592e0b7a8a0eebc33e2dc6d731cd. * Initial commit. * Rename FuncgenConan to FuncGenConan. Remove actual files, and add golden files. * Remove libqasm recipe. * Require Conan>=2.0. * Initial commit. * This recipe is now in the same state as the func-gen recipe. We build tree-gen, and test the tree-gen executable. I've temporarily removed the test of the tree-gen library. There are a couple of problems with it: - First, '*inc' files are not found during compilation. - If we install these '*inc' files, then linkage fails. I think we shouldn't be installing '*inc' files. It looks like we're not creating the tree-gen library correctly. * Change source method to get sources from conandata.yml. Require Conan version >= 1.53.0. Fix package version at config.yml. * Revert "Change source method to get sources from conandata.yml." This reverts commit 7ce68f23ebf8c77f9d7bde1e956e139309b31ef2. * Require Conan version >= 1.53.0. Update to tree-gen version 1.0.1. Update source method to get sources from conandata.yml. Update test_tree_gen_executable method. * Remove func-gen recipe from this branch. * Remove commented out code from test_package/conanfile.py. * Remove share option. * Fix all/test_package/conanfile.py. * Change print calls to self.output.error. * Change package_test to use tree-gen in the expected way. - generate_tree_py should exercise the tree-gen executable. - Then example links against the tree-gen library. - Add all/test_package/CMakeLists.txt. - Implement example.cpp. Reorganize folder structure: - Move golden files to res. - Expect actual files to be written out to output. TODO: conan create all/conanfile.py --version 1.0.1 cannot find tree-gen package. * Change all/test_package/conanfile.py to look like conan-center-index/docs/package_templates/cmake_package/all/test_package/conanfile.py. Require tree-gen instead of tool_requiring it. TODO: Is this correct? tree-gen should be both tool_required (tree-gen executable) and required (tree-gen library). Make cmakee/generate_tree.cmake available to the clients by using cmake_build_modules in package_info. * Both tool_require and require tree-gen. * Trying to fix KB-H013-DEFAULT-PACKAGE-LAYOUT Conan hook error. * Trying to fix KB-H013-DEFAULT-PACKAGE-LAYOUT Conan hook error. * Apply changes from @RubenRBS code review. * Temporarily changing test_requires back to tool_requires. * Change test_package to a very simple version that just compiles. But doesn't run tree-gen executable. And doesn't compile tree-gen executable output files. * Change tool_requires(gtest) back again to test_requires. Even if this breaks a Linter. Add "lib/cmake" to cpp_info.builddirs. * Remove comments again from test_package. Even if that breaks again the recipe. * Apply most of the changes from uilianries PR. Except that we don't use patches. tree-gen 1.0.3 modifies the generate functions by accepting the path to the tree-gen executable as the first parameter. That allows us to find the tree-gen executable in all/test_package/CMakeLists.txt. Other changes: - all/conanfile.py: do not tool_require flex and bison when building for wasm architecture. * Remove references to tree-gen 1.0.1. * Change apple-clang compiler minimum version to 14. There may be a problem with apple-clang 13.0 and range-v3. * Trying to fix Windows/shared compilations. * Trying to fix Windows/shared compilations. * Trying to fix Windows/shared compilations. tree-gen 1.0.4 should export tree-gen-lib correctly. * Removing copy of hpp and inc files from source folder to package folder. Those files should be installed by tree-gen's CMakeLists.txt. * Remove unused rmdir imported from conan.tools.files. * Trying to use flex/bison Conan packages for armv8 and wasm. * Change apple-clang compiler minimum version back to 13. * Trying to fix apple-clang 13 compilation. * Change apple-clang compiler minimum version back to 14. There seems to be a bug in the Conan CI system when generating ARM binaries. Update to tree-gen version 1.0.6. --------- Co-authored-by: Rubén Rincón Blanco --- recipes/tree-gen/all/conandata.yml | 4 + recipes/tree-gen/all/conanfile.py | 108 ++++++++++++++++++ .../tree-gen/all/test_package/CMakeLists.txt | 28 +++++ .../tree-gen/all/test_package/conanfile.py | 30 +++++ .../all/test_package/res/directory.tree | 74 ++++++++++++ .../all/test_package/src/primitives.hpp | 90 +++++++++++++++ .../all/test_package/src/test_package.cpp | 18 +++ .../tree-gen/all/test_package/src/utils.hpp | 20 ++++ recipes/tree-gen/config.yml | 3 + 9 files changed, 375 insertions(+) create mode 100644 recipes/tree-gen/all/conandata.yml create mode 100644 recipes/tree-gen/all/conanfile.py create mode 100644 recipes/tree-gen/all/test_package/CMakeLists.txt create mode 100644 recipes/tree-gen/all/test_package/conanfile.py create mode 100644 recipes/tree-gen/all/test_package/res/directory.tree create mode 100644 recipes/tree-gen/all/test_package/src/primitives.hpp create mode 100644 recipes/tree-gen/all/test_package/src/test_package.cpp create mode 100644 recipes/tree-gen/all/test_package/src/utils.hpp create mode 100644 recipes/tree-gen/config.yml diff --git a/recipes/tree-gen/all/conandata.yml b/recipes/tree-gen/all/conandata.yml new file mode 100644 index 0000000000000..21ee5b5699adc --- /dev/null +++ b/recipes/tree-gen/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.6": + url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.6.tar.gz" + sha256: "a7f6617830b3817b21cddc0f4442a04c10fbb89a19cabb1bbd0e8facb040cba8" diff --git a/recipes/tree-gen/all/conanfile.py b/recipes/tree-gen/all/conanfile.py new file mode 100644 index 0000000000000..e2afb05918b37 --- /dev/null +++ b/recipes/tree-gen/all/conanfile.py @@ -0,0 +1,108 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class TreeGenConan(ConanFile): + name = "tree-gen" + license = "Apache-2.0" + homepage = "https://github.com/QuTech-Delft/tree-gen" + url = "https://github.com/conan-io/conan-center-index" + description = "C++ and Python code generator for tree-like structures common in parser and compiler codebases." + topics = ("code generation", "tree", "parser", "compiler") + settings = "os", "compiler", "build_type", "arch" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + @property + def _should_build_test(self): + return not self.conf.get("tools.build:skip_test", default=True, check_type=bool) + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "14", + "Visual Studio": "16", + "msvc": "192" + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + if self._should_build_test: + self.test_requires("gtest/1.14.0") + self.tool_requires("m4/1.4.19") + if self.settings.os == "Windows": + self.tool_requires("winflexbison/2.5.24") + else: + self.tool_requires("flex/2.6.4") + self.tool_requires("bison/3.8.2") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def requirements(self): + self.requires("fmt/10.2.1", transitive_headers=True) + self.requires("range-v3/0.12.0", transitive_headers=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.variables["TREE_GEN_BUILD_TESTS"] = self._should_build_test + tc.generate() + env = VirtualBuildEnv(self) + env.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "generate_tree.cmake", src=os.path.join(self.source_folder, "cmake"), dst=os.path.join(self.package_folder, "lib", "cmake")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["tree-gen"] + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "generate_tree.cmake")]) diff --git a/recipes/tree-gen/all/test_package/CMakeLists.txt b/recipes/tree-gen/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1da53d12a62a1 --- /dev/null +++ b/recipes/tree-gen/all/test_package/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.12) + +project(PackageTest CXX) + +find_package(tree-gen REQUIRED CONFIG) + +find_program(TREE_GEN_EXECUTABLE tree-gen REQUIRED) + +# Generate the directory classes. +generate_tree_py( + "${TREE_GEN_EXECUTABLE}" + "${CMAKE_CURRENT_SOURCE_DIR}/res/directory.tree" + "${CMAKE_CURRENT_BINARY_DIR}/directory.hpp" + "${CMAKE_CURRENT_BINARY_DIR}/directory.cpp" + "${CMAKE_CURRENT_BINARY_DIR}/directory.py" +) + +add_executable(test_package + "${CMAKE_CURRENT_SOURCE_DIR}/src/test_package.cpp" + "${CMAKE_CURRENT_BINARY_DIR}/directory.cpp" +) + +target_include_directories(test_package + PRIVATE "${CMAKE_CURRENT_BINARY_DIR}" + PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src" +) +target_compile_features(test_package PRIVATE cxx_std_17) +target_link_libraries(test_package PRIVATE tree-gen::tree-gen) diff --git a/recipes/tree-gen/all/test_package/conanfile.py b/recipes/tree-gen/all/test_package/conanfile.py new file mode 100644 index 0000000000000..d9214e3d91722 --- /dev/null +++ b/recipes/tree-gen/all/test_package/conanfile.py @@ -0,0 +1,30 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv", "VirtualRunEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tree-gen/all/test_package/res/directory.tree b/recipes/tree-gen/all/test_package/res/directory.tree new file mode 100644 index 0000000000000..ef78a5d0d0d14 --- /dev/null +++ b/recipes/tree-gen/all/test_package/res/directory.tree @@ -0,0 +1,74 @@ +// Attach \file docstrings to the generated files for Doxygen. +# Implementation for classes representing a Windows directory tree. +source + +# Header for classes representing a Windows directory tree. +header + +// Include tree base classes. +include "tree-base.hpp" +tree_namespace tree::base + +// Include primitive types. +include "primitives.hpp" +import primitives + +// Initialization function to use to construct default values for the tree base +// classes and primitives. +initialize_function primitives::initialize +serdes_functions primitives::serialize primitives::deserialize + +// Set the namespace for the generated classes and attach a docstring. +# Namespace for classes representing a Windows directory tree. +namespace directory + +# Root node, containing the drives and associated directory trees. +system { + + # The drives available on the system. There must be at least one. + drives: Many; + +} + +# Represents a drive. +drive { + + # The drive letter used to identify it. + letter: primitives::Letter; + + # Root directory. + root_dir: One; + +} + +# Represents a directory entry. +entry { + + # Name of the directory entry. + name: primitives::String; + + # Represents a regular file. + file { + + # The file contents. + contents: primitives::String; + + } + + # Represents a (sub)directory. + directory { + + # The directory contents. Note that directories can be empty. + entries: Any; + + } + + # Represents a link to another directory. + mount { + + # The directory linked to. + target: Link; + + } + +} diff --git a/recipes/tree-gen/all/test_package/src/primitives.hpp b/recipes/tree-gen/all/test_package/src/primitives.hpp new file mode 100644 index 0000000000000..e4b04b69ada62 --- /dev/null +++ b/recipes/tree-gen/all/test_package/src/primitives.hpp @@ -0,0 +1,90 @@ +/** \file + * Defines primitives used in the generated directory tree structure. + */ + +#pragma once + +#include + +/** + * Namespace with primitives used in the generated directory tree structure. + */ +namespace primitives { + +/** + * Letter primitive, used to represent drive letters. + */ +using Letter = char; + +/** + * Strings, used to represent filenames and file contents. + */ +using String = std::string; + +/** + * Initialization function. This must be specialized for any types used as + * primitives in a tree that are actual C primitives (int, char, bool, etc), + * as these are not initialized by the T() construct. + */ +template +T initialize() { return T(); }; + +/** + * Declare the default initializer for drive letters. It's declared inline + * to avoid having to make a cpp file just for this. + */ +template <> +inline Letter initialize() { + return 'A'; +} + +/** + * Serialization function. This must be specialized for any types used as + * primitives in a tree. The default implementation doesn't do anything. + */ +template +void serialize(const T &obj, tree::cbor::MapWriter &map) { +} + +/** + * Serialization function for Letter. + */ +template <> +inline void serialize(const Letter &obj, tree::cbor::MapWriter &map) { + map.append_int("val", obj); +} + +/** + * Serialization function for String. + */ +template <> +inline void serialize(const String &obj, tree::cbor::MapWriter &map) { + map.append_string("val", obj); +} + +/** + * Deserialization function. This must be specialized for any types used as + * primitives in a tree. The default implementation doesn't do anything. + */ +template +T deserialize(const tree::cbor::MapReader &map) { + return initialize(); +} + +/** + * Deserialization function for Letter. + */ +template <> +inline Letter deserialize(const tree::cbor::MapReader &map) { + return map.at("val").as_int(); +} + +/** + * Deserialization function for String. + */ +template <> +inline String deserialize(const tree::cbor::MapReader &map) { + return map.at("val").as_string(); +} + +} // namespace primitives diff --git a/recipes/tree-gen/all/test_package/src/test_package.cpp b/recipes/tree-gen/all/test_package/src/test_package.cpp new file mode 100644 index 0000000000000..34ed4f5d4eea7 --- /dev/null +++ b/recipes/tree-gen/all/test_package/src/test_package.cpp @@ -0,0 +1,18 @@ +#include "directory.hpp" // the generated file +#include "utils.hpp" +#include "version.hpp" // tree-gen version + +#include + + +void print_tree_gen_version() { + std::cout << "tree-gen version: " << get_version() << "\n"; + std::cout << "tree-gen release year: " << get_release_year() << "\n"; +} + +int main() { + print_tree_gen_version(); + + auto system = tree::base::make(); + ASSERT(!system.is_well_formed()); +} diff --git a/recipes/tree-gen/all/test_package/src/utils.hpp b/recipes/tree-gen/all/test_package/src/utils.hpp new file mode 100644 index 0000000000000..09550ab4f6d8e --- /dev/null +++ b/recipes/tree-gen/all/test_package/src/utils.hpp @@ -0,0 +1,20 @@ +#pragma once + +#define ASSERT(x) \ + do { \ + if (!(x)) { \ + throw std::runtime_error("assertion failed: " #x " is false at " __FILE__ ":" + std::to_string(__LINE__)); \ + } \ + } while (0) + +#define ASSERT_RAISES(exc, x) \ + do { \ + try { \ + x; \ + throw std::runtime_error("assertion failed: no exception at " __FILE__ ":" + std::to_string(__LINE__)); \ + } catch (exc &e) { \ + std::cout << #exc << " exception message: " << e.what() << std::endl; \ + } \ + } while (0) + +#define MARKER std::cout << "###MARKER###" << std::endl; diff --git a/recipes/tree-gen/config.yml b/recipes/tree-gen/config.yml new file mode 100644 index 0000000000000..c8c4465c97415 --- /dev/null +++ b/recipes/tree-gen/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.6": + folder: all From a0df9ec5ae4e19bacc1f7c4cebdde22004f8716e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Mar 2024 10:50:09 +0100 Subject: [PATCH 3851/4087] linter: handle test_requires (#22979) it is basically like a build_requires: https://github.com/conan-io/conan/blob/1.63.0/conans/client/graph/graph_manager.py#L321 --- linter/transform_conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/linter/transform_conanfile.py b/linter/transform_conanfile.py index 8e33d368643b1..36846a9b3b44b 100644 --- a/linter/transform_conanfile.py +++ b/linter/transform_conanfile.py @@ -52,6 +52,7 @@ def transform_conanfile(node): dynamic_fields = { "conan_data": str_class, "build_requires": build_requires_class, + "test_requires" : build_requires_class, "tool_requires": build_requires_class, "info_build": info_class, "user_info_build": [_user_info_build_transform()], From 4f9bc0186a6641469acf102cf865f4307b7de8cd Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 5 Mar 2024 04:07:03 -0600 Subject: [PATCH 3852/4087] (#22426) libmount: Make the libblkid and libmount libraries separate components Adding the eudev package requires `libblkid` only. Adding a separate libblkid recipe hasn't gotten anywhere yet. This PR uses an alternative approach and separates the libraries. Each library is split into its own component. --- recipes/libmount/all/conanfile.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/libmount/all/conanfile.py b/recipes/libmount/all/conanfile.py index b9ec541d71963..ea963a9965bfc 100644 --- a/recipes/libmount/all/conanfile.py +++ b/recipes/libmount/all/conanfile.py @@ -72,7 +72,11 @@ def package(self): rm(self, "*.la", os.path.join(self.package_folder, "lib")) def package_info(self): - self.cpp_info.libs = ["mount", "blkid"] - self.cpp_info.system_libs = ["rt"] - self.cpp_info.includedirs.append(os.path.join("include", "libmount")) - self.cpp_info.set_property("pkg_config_name", "mount") + self.cpp_info.components["libblkid"].libs = ["blkid"] + self.cpp_info.components["libblkid"].set_property("pkg_config_name", "blkid") + + self.cpp_info.components["libmount"].libs = ["mount"] + self.cpp_info.components["libmount"].system_libs = ["rt"] + self.cpp_info.components["libmount"].includedirs.append(os.path.join("include", "libmount")) + self.cpp_info.components["libmount"].set_property("pkg_config_name", "mount") + self.cpp_info.components["libmount"].requires = ["libblkid"] From 4b2590afd3914d1e1eb53a9b6a39f73b99f54ad1 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Tue, 5 Mar 2024 05:50:12 -0500 Subject: [PATCH 3853/4087] (#22976) xz_utils: Add 5.6.0 as a new subdir * Add xz_utils 5.6.0 * Convert xz_utils 5.6.0 to a new subdir * Remove extra installed files * Rename liblzma on windows --- recipes/xz_utils/cmake/conandata.yml | 4 + recipes/xz_utils/cmake/conanfile.py | 119 ++++++++++++++++++ .../cmake/test_package/CMakeLists.txt | 26 ++++ .../xz_utils/cmake/test_package/conanfile.py | 26 ++++ .../cmake/test_package/test_package.c | 8 ++ .../cmake/test_v1_package/CMakeLists.txt | 8 ++ .../cmake/test_v1_package/conanfile.py | 17 +++ recipes/xz_utils/config.yml | 2 + 8 files changed, 210 insertions(+) create mode 100644 recipes/xz_utils/cmake/conandata.yml create mode 100644 recipes/xz_utils/cmake/conanfile.py create mode 100644 recipes/xz_utils/cmake/test_package/CMakeLists.txt create mode 100644 recipes/xz_utils/cmake/test_package/conanfile.py create mode 100644 recipes/xz_utils/cmake/test_package/test_package.c create mode 100644 recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt create mode 100644 recipes/xz_utils/cmake/test_v1_package/conanfile.py diff --git a/recipes/xz_utils/cmake/conandata.yml b/recipes/xz_utils/cmake/conandata.yml new file mode 100644 index 0000000000000..457376715689b --- /dev/null +++ b/recipes/xz_utils/cmake/conandata.yml @@ -0,0 +1,4 @@ +sources: + "5.6.0": + url: "https://github.com/tukaani-project/xz/releases/download/v5.6.0/xz-5.6.0.tar.xz" + sha256: "cdafe1632f139c82937cc1ed824f7a60b7b0a0619dfbbd681dcac02b1ac28f5b" diff --git a/recipes/xz_utils/cmake/conanfile.py b/recipes/xz_utils/cmake/conanfile.py new file mode 100644 index 0000000000000..641cb1d252d68 --- /dev/null +++ b/recipes/xz_utils/cmake/conanfile.py @@ -0,0 +1,119 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, rmdir, save +from conan.tools.scm import Version +import os +import textwrap + +required_conan_version = ">=1.54.0" + + +class XZUtilsConan(ConanFile): + name = "xz_utils" + description = ( + "XZ Utils is free general-purpose data compression software with a high " + "compression ratio. XZ Utils were written for POSIX-like systems, but also " + "work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils." + ) + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://tukaani.org/xz" + topics = ("lzma", "xz", "compression") + license = "Unlicense", "LGPL-2.1-or-later", "GPL-2.0-or-later", "GPL-3.0-or-later" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + # This is only from 5.6.0 onwards, they are just in a different recipe so no need to check version. + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration(f"{self.ref} does not work on GCC<7 due to errors with inline assembly") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + self._create_cmake_module_variables( + os.path.join(self.package_folder, self._module_file_rel_path), + ) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "liblzma")) + if self.settings.os == "Windows": + rename(self, os.path.join(self.package_folder, "lib", "liblzma.lib"), os.path.join(self.package_folder, "lib", "lzma.lib")) + + def _create_cmake_module_variables(self, module_file): + # TODO: also add LIBLZMA_HAS_AUTO_DECODER, LIBLZMA_HAS_EASY_ENCODER & LIBLZMA_HAS_LZMA_PRESET + content = textwrap.dedent(f"""\ + set(LIBLZMA_FOUND TRUE) + if(DEFINED LibLZMA_INCLUDE_DIRS) + set(LIBLZMA_INCLUDE_DIRS ${{LibLZMA_INCLUDE_DIRS}}) + endif() + if(DEFINED LibLZMA_LIBRARIES) + set(LIBLZMA_LIBRARIES ${{LibLZMA_LIBRARIES}}) + endif() + set(LIBLZMA_VERSION_MAJOR {Version(self.version).major}) + set(LIBLZMA_VERSION_MINOR {Version(self.version).minor}) + set(LIBLZMA_VERSION_PATCH {Version(self.version).patch}) + set(LIBLZMA_VERSION_STRING "{self.version}") + """) + save(self, module_file, content) + + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + + def package_info(self): + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "LibLZMA") + self.cpp_info.set_property("cmake_target_name", "LibLZMA::LibLZMA") + self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) + self.cpp_info.set_property("pkg_config_name", "liblzma") + self.cpp_info.libs = ["lzma"] + if not self.options.shared: + self.cpp_info.defines.append("LZMA_API_STATIC") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + + # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed + self.cpp_info.names["cmake_find_package"] = "LibLZMA" + self.cpp_info.names["cmake_find_package_multi"] = "LibLZMA" + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] diff --git a/recipes/xz_utils/cmake/test_package/CMakeLists.txt b/recipes/xz_utils/cmake/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..cd4e960a3ff01 --- /dev/null +++ b/recipes/xz_utils/cmake/test_package/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(LibLZMA REQUIRED) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE LibLZMA::LibLZMA) + +# Test whether variables from https://cmake.org/cmake/help/latest/module/FindLibLZMA.html +# are properly defined in conan generators +set(_custom_vars + LIBLZMA_FOUND + LIBLZMA_INCLUDE_DIRS + LIBLZMA_LIBRARIES + LIBLZMA_VERSION_MAJOR + LIBLZMA_VERSION_MINOR + LIBLZMA_VERSION_PATCH + LIBLZMA_VERSION_STRING +) +foreach(_custom_var ${_custom_vars}) + if(DEFINED ${_custom_var}) + message(STATUS "${_custom_var}: ${${_custom_var}}") + else() + message(FATAL_ERROR "${_custom_var} not defined") + endif() +endforeach() diff --git a/recipes/xz_utils/cmake/test_package/conanfile.py b/recipes/xz_utils/cmake/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/xz_utils/cmake/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/xz_utils/cmake/test_package/test_package.c b/recipes/xz_utils/cmake/test_package/test_package.c new file mode 100644 index 0000000000000..a1f55ac414846 --- /dev/null +++ b/recipes/xz_utils/cmake/test_package/test_package.c @@ -0,0 +1,8 @@ +#include +#include +#include + +int main() { + printf("LZMA version %s\n", lzma_version_string()); + return EXIT_SUCCESS; +} diff --git a/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt b/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xz_utils/cmake/test_v1_package/conanfile.py b/recipes/xz_utils/cmake/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..19e6a0c06e3d8 --- /dev/null +++ b/recipes/xz_utils/cmake/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index d950dab72f7d0..0044c059f459b 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.0": + folder: cmake "5.4.5": folder: all "5.4.4": From e41d92b367d723976f164a42cd06372adbcf95e5 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Tue, 5 Mar 2024 12:08:38 +0100 Subject: [PATCH 3854/4087] (#22975) hictk: add v0.0.10 --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index ef016828b80db..ba37c76167468 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.10": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.10.tar.gz" + sha256: "0b2d60af73578b292317e5ab513f24965176f9852ceda29e8d02007a434588c3" "0.0.9": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.9.tar.gz" sha256: "c64cb07a057863baa199b9d344b27b8f15a1db458390ccf7b5cac0627308d8c8" diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 0677603a25aa5..351a3e971990d 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.10": + folder: all "0.0.9": folder: all "0.0.8": From b3c139b51ffc60c22be91c1029de2aed8c39c288 Mon Sep 17 00:00:00 2001 From: Tamas Kenez <126668370+tamaskenezlego@users.noreply.github.com> Date: Tue, 5 Mar 2024 16:44:37 +0100 Subject: [PATCH 3855/4087] (#20521) Fix opencolorio/2.2.1 broken if is_apple_os() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * improve error message if is_apple_os() * Update conanfile.py --------- Co-authored-by: Francisco Ramírez Co-authored-by: Rubén Rincón Blanco --- recipes/opencolorio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 13719aad33361..49d9c8b544de8 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -90,7 +90,7 @@ def validate(self): # opencolorio>=2.2.0 requires minizip-ng with with_zlib if Version(self.version) >= "2.2.0" and \ not self.dependencies["minizip-ng"].options.get_safe("with_zlib", False): - raise ConanInvalidConfiguration(f"{self.ref} requires minizip-ng with with_zlib = True.") + raise ConanInvalidConfiguration(f"{self.ref} requires minizip-ng with with_zlib = True. On Apple platforms with_libcomp = False is also needed to enable the with_zlib option.") if Version(self.version) == "1.1.1" and self.options.shared and self.dependencies["yaml-cpp"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires static build yaml-cpp") From 9e4baa3f09b567ad7968209f4325470798069b21 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 01:28:03 +0900 Subject: [PATCH 3856/4087] (#22968) aws-c-http: add version 0.8.1 --- recipes/aws-c-http/all/conandata.yml | 3 +++ recipes/aws-c-http/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-http/all/conandata.yml b/recipes/aws-c-http/all/conandata.yml index 68fa29d3753e7..6ee734ea998ca 100644 --- a/recipes/aws-c-http/all/conandata.yml +++ b/recipes/aws-c-http/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.1": + url: "https://github.com/awslabs/aws-c-http/archive/v0.8.1.tar.gz" + sha256: "83fb47e2d7956469bb328f16dea96663e96f8f20dc60dc4e9676b82804588530" "0.7.14": url: "https://github.com/awslabs/aws-c-http/archive/v0.7.14.tar.gz" sha256: "afb935395c93427ac0853d6363900a71816a0508f18c86e84da0e6ebe7271429" diff --git a/recipes/aws-c-http/config.yml b/recipes/aws-c-http/config.yml index febd9410cb93f..9ef90600a046d 100644 --- a/recipes/aws-c-http/config.yml +++ b/recipes/aws-c-http/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.1": + folder: all "0.7.14": folder: all "0.6.22": From 1c65a3accdb3b14169f852df010e8d77b042c86e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Mar 2024 17:48:07 +0100 Subject: [PATCH 3857/4087] (#22988) openjpeg: add version 2.5.2 --- recipes/openjpeg/all/conandata.yml | 3 +++ recipes/openjpeg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openjpeg/all/conandata.yml b/recipes/openjpeg/all/conandata.yml index aa3392abe8228..a2bb2c3515805 100644 --- a/recipes/openjpeg/all/conandata.yml +++ b/recipes/openjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.2": + url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz" + sha256: "90e3896fed910c376aaf79cdd98bdfdaf98c6472efd8e1debf0a854938cbda6a" "2.5.1": url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.1.tar.gz" sha256: "c0b92dadd65e33b1cf94f39dd9157d5469846744c2e0afb8ca10961f51f61da6" diff --git a/recipes/openjpeg/config.yml b/recipes/openjpeg/config.yml index cfbcc333e7b22..b4e926204666d 100644 --- a/recipes/openjpeg/config.yml +++ b/recipes/openjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.2": + folder: all "2.5.1": folder: all "2.5.0": From 2ef540a2d3ef8536b1133bdea0848eb493bbc770 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 17:47:41 +0900 Subject: [PATCH 3858/4087] (#22751) s2geometry: add version 0.11.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * s2geometry: add version 0.11.1 * remove share folder, update abseil * fix cmake names Co-authored-by: Uilian Ries * fix target name * Update conanfile.py --------- Co-authored-by: Uilian Ries Co-authored-by: Francisco Ramírez --- recipes/s2geometry/all/conandata.yml | 3 +++ recipes/s2geometry/all/conanfile.py | 10 +++++++--- recipes/s2geometry/all/test_package/CMakeLists.txt | 4 ++-- recipes/s2geometry/config.yml | 2 ++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/recipes/s2geometry/all/conandata.yml b/recipes/s2geometry/all/conandata.yml index 2320f21a27e4c..5cd6ac69f48bf 100644 --- a/recipes/s2geometry/all/conandata.yml +++ b/recipes/s2geometry/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.1": + url: "https://github.com/google/s2geometry/archive/refs/tags/v0.11.1.tar.gz" + sha256: "bdbeb8ebdb88fa934257caf81bb44b55711617a3ab4fdec2c3cfd6cc31b61734" "0.10.0": url: "https://github.com/google/s2geometry/archive/refs/tags/v0.10.0.tar.gz" sha256: "1c17b04f1ea20ed09a67a83151ddd5d8529716f509dde49a8190618d70532a3d" diff --git a/recipes/s2geometry/all/conanfile.py b/recipes/s2geometry/all/conanfile.py index 31e07fd7e0dc3..fd54c4b79443f 100644 --- a/recipes/s2geometry/all/conanfile.py +++ b/recipes/s2geometry/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy, rmdir, export_conandata_patches, apply_conandata_patches from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -36,7 +36,7 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "5", + "gcc": "6", "clang": "7", "apple-clang": "10", "Visual Studio": "15", @@ -58,7 +58,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("abseil/20230125.3", transitive_headers=True, transitive_libs=True) + self.requires("abseil/20230802.1", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): @@ -81,6 +81,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["GOOGLETEST_ROOT"] = False tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_TESTS"] = False tc.generate() tc = CMakeDeps(self) tc.generate() @@ -95,6 +96,9 @@ def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["s2"] + self.cpp_info.set_property("cmake_file_name", "s2") + self.cpp_info.set_property("cmake_target_name", "s2::s2") diff --git a/recipes/s2geometry/all/test_package/CMakeLists.txt b/recipes/s2geometry/all/test_package/CMakeLists.txt index cc8c0e2143602..629a8c3aedf01 100644 --- a/recipes/s2geometry/all/test_package/CMakeLists.txt +++ b/recipes/s2geometry/all/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(s2geometry REQUIRED CONFIG) +find_package(s2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE s2geometry::s2geometry) +target_link_libraries(${PROJECT_NAME} PRIVATE s2::s2) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) if(MSVC) # Use unsigned characters diff --git a/recipes/s2geometry/config.yml b/recipes/s2geometry/config.yml index 1b582dcf6716b..3a159672513b1 100644 --- a/recipes/s2geometry/config.yml +++ b/recipes/s2geometry/config.yml @@ -1,3 +1,5 @@ versions: + "0.11.1": + folder: all "0.10.0": folder: all From 3f827acb71153c5b6dae5c40bad9dee32774d675 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 6 Mar 2024 12:12:01 +0300 Subject: [PATCH 3859/4087] (#22972) md4qt: bump version to 2.8.0 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 9b4b6bdb2cefd..46312df8b8947 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.0.tar.gz" + sha256: "82ef6acc84ea3a7891e4547f7d79af4caaef0f4d6f152bdab2a5c6ed5a48d11b" "2.7.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.4.tar.gz" sha256: "adef8e96e71f13cb9f4450eee7bb02a43694682dc67519323f8e23f7bf10d0d1" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 51c0af2212d4c..fb12b4088b445 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.0": + folder: all "2.7.4": folder: all "2.7.3": From 9c7b034f9668fca48cd41062052218b371aa834e Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Wed, 6 Mar 2024 11:28:55 +0200 Subject: [PATCH 3860/4087] (#22992) libxml2: add 2.12.5 and 2.11.7 --- recipes/libxml2/all/conandata.yml | 6 ++++++ recipes/libxml2/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 6fd6c7f9c74c0..a0070b6bc4a60 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.5": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.5.tar.xz" + sha256: "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21" "2.12.4": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.4.tar.xz" sha256: "497360e423cf0bd99eacdb7c6215dea92e6d6e89ee940393c2bae0e77cb9b7d0" @@ -11,6 +14,9 @@ sources: "2.12.1": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" + "2.11.7": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.7.tar.xz" + sha256: "fb27720e25eaf457f94fd3d7189bcf2626c6dccf4201553bc8874d50e3560162" "2.11.6": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 2edcc26fbec6f..1c968c066198a 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.5": + folder: all "2.12.4": folder: all "2.12.3": @@ -7,6 +9,8 @@ versions: folder: all "2.12.1": folder: all + "2.11.7": + folder: all "2.11.6": folder: all "2.11.4": From 0b3b4ba2e5b67525453598d445662b22da186808 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Mar 2024 14:44:52 +0200 Subject: [PATCH 3861/4087] (#21137) gdk-pixbuf: bump deps and several fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdk-pixbuf: bump deps, fix static build * enable gdk-pixbuf build for clang 13 and newer * Revert "enable gdk-pixbuf build for clang 13 and newer" This reverts commit 3fe80de83a7fbafbf03b288d93a42e59cb1f264c. * Added upstream report for the patch. Removed Macos validation. Added workaround for the breaking change to pkgconfig_variables * Added workaround * Using libgettext provided by Conan * Update recipes/gdk-pixbuf/all/conanfile.py * macOS always uses Conan libgettext * Blank spaces * Improved Conan libgettext requirement line in meson.build * Adding gettext as tool require * blank * Simplifying (a little bit) --------- Co-authored-by: Walid Boussafa Co-authored-by: Rubén Rincón Co-authored-by: Francisco Ramirez de Anton --- recipes/gdk-pixbuf/all/conanfile.py | 76 +++++++++++++++++++---------- 1 file changed, 49 insertions(+), 27 deletions(-) diff --git a/recipes/gdk-pixbuf/all/conanfile.py b/recipes/gdk-pixbuf/all/conanfile.py index 4f44d797427e7..cbbd71f4d5295 100644 --- a/recipes/gdk-pixbuf/all/conanfile.py +++ b/recipes/gdk-pixbuf/all/conanfile.py @@ -1,3 +1,5 @@ +import os + from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name @@ -10,15 +12,13 @@ from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version -import os - -required_conan_version = ">=1.56.0 <2 || >=2.0.6" +required_conan_version = ">=1.56.0 <2 || >=2.0.8" class GdkPixbufConan(ConanFile): name = "gdk-pixbuf" description = "toolkit for image loading and pixel buffer manipulation" - topics = ("image") + topics = "image" url = "https://github.com/conan-io/conan-center-index" homepage = "https://developer.gnome.org/gdk-pixbuf/" license = "LGPL-2.1-or-later" @@ -63,36 +63,35 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.0", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self.options.with_libpng: self.requires("libpng/1.6.40") if self.options.with_libtiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.6.0") if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") def validate(self): if self.options.shared and not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( "Linking a shared library against static glib can cause unexpected behaviour." ) - if self.settings.os == "Macos": - # when running gdk-pixbuf-query-loaders - # dyld: malformed mach-o: load commands size (97560) > 32768 - raise ConanInvalidConfiguration("This package does not support Macos currently") if self.dependencies["glib"].options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( "Linking shared glib with the MSVC static runtime is not supported" ) def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.3") + # FIXME: unify libgettext and gettext?? + # INFO: gettext provides msgfmt, which is required to build the .mo files + self.tool_requires("gettext/0.21") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") @@ -113,7 +112,6 @@ def generate(self): deps = PkgConfigDeps(self) deps.generate() - tc = MesonToolchain(self) enabled_disabled = lambda v: "enabled" if v else "disabled" true_false = lambda v: "true" if v else "false" @@ -140,7 +138,6 @@ def generate(self): "tiff": true_false(self.options.with_libtiff), "jpeg": true_false(self.options.with_libjpeg) }) - # Workaround for https://bugs.llvm.org/show_bug.cgi?id=16404 # Only really for the purposes of building on CCI - end users can # workaround this by appropriately setting global linker flags in their profile @@ -150,21 +147,42 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - meson_build = os.path.join(self.source_folder, "meson.build") + gdk_meson_build = os.path.join(self.source_folder, "gdk-pixbuf", "meson.build") + replace_in_file(self, meson_build, "subdir('tests')", "#subdir('tests')") replace_in_file(self, meson_build, "subdir('thumbnailer')", "#subdir('thumbnailer')") - replace_in_file(self, meson_build, - "gmodule_dep.get_variable(pkgconfig: 'gmodule_supported')" if Version(self.version) >= "2.42.6" - else "gmodule_dep.get_pkgconfig_variable('gmodule_supported')", "'true'") + replace_in_file(self, meson_build, "gmodule_dep.get_variable(pkgconfig: 'gmodule_supported')", "'true'") # workaround https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/203 - if Version(self.version) >= "2.42.6": - replace_in_file(self, os.path.join(self.source_folder, "build-aux", "post-install.py"), - "close_fds=True", "close_fds=(sys.platform != 'win32')") + replace_in_file(self, os.path.join(self.source_folder, "build-aux", "post-install.py"), + "close_fds=True", "close_fds=(sys.platform != 'win32')") if Version(self.version) >= "2.42.9": - replace_in_file(self, meson_build, "is_msvc_like ? 'png' : 'libpng'", "'libpng'") - replace_in_file(self, meson_build, "is_msvc_like ? 'jpeg' : 'libjpeg'", "'libjpeg'") - replace_in_file(self, meson_build, "is_msvc_like ? 'tiff' : 'libtiff-4'", "'libtiff-4'") + replace_in_file(self, meson_build, "is_msvc_like = ", "is_msvc_like = false #") + # Fix libtiff and libpng not being linked against when building statically + # Reported upstream: https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/159 + replace_in_file(self, gdk_meson_build, + "dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ],", + "dependencies: loaders_deps + gdk_pixbuf_deps + [ gdkpixbuf_dep ],") + # Forcing Conan libgettext instead of system one (if OS != Linux) + if self.settings.os != "Linux": + # FIXME: unify libgettext and gettext ?? + replace_in_file(self, meson_build, + "intl_dep = cc.find_library('intl', required: false)", + "intl_dep = dependency('libgettext', version: '>=0.21', required: false, method: 'pkg-config')") + if self.settings.os == "Macos" and self.options.shared: + # Workaround to avoid generating gdk-pixbuf/loaders.cache fails + # Error output: + # [167/167] Generating gdk-pixbuf/loaders.cache with a custom command (wrapped by meson to capture output) + # FAILED: gdk-pixbuf/loaders.cache + # meson.py --internal exe --capture gdk-pixbuf/loaders.cache -- xxxx/gdk-pixbuf/gdk-pixbuf-query-loaders + # --- stderr --- + # dyld[25158]: Library not loaded: /lib/libgnuintl.8.dylib + # Reason: tried: '/lib/libgnuintl.8.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/lib/libgnuintl.8.dylib' (no such file) + # + # Obviously, the libgnuintl.8.dylib is in the VirtualRunEnv, but the current env is not passed to + # the meson custom_target function as it's wrappering the execution + # custom_target admits also an "env" parameter, but it's not working as expected + replace_in_file(self, gdk_meson_build, "build_by_default: true", "build_by_default: false") def build(self): self._patch_sources() @@ -195,10 +213,13 @@ def package_info(self): self.cpp_info.exelinkflags = ldflags self.cpp_info.sharedlinkflags = ldflags + # Breaking change since Conan >= 2.0.8 + # Related to https://github.com/conan-io/conan/pull/14233 + libdir_variable = "libdir1" if Version(conan_version) < "2.0" else "libdir" pkgconfig_variables = { "bindir": "${prefix}/bin", "gdk_pixbuf_binary_version": "2.10.0", - "gdk_pixbuf_binarydir": "${libdir1}/gdk-pixbuf-2.0/2.10", + "gdk_pixbuf_binarydir": "${%s}/gdk-pixbuf-2.0/2.10" % libdir_variable, "gdk_pixbuf_moduledir": "${gdk_pixbuf_binarydir}/loaders", "gdk_pixbuf_cache_file": "${gdk_pixbuf_binarydir}/loaders.cache", "gdk_pixbuf_csource": "${bindir}/gdk-pixbuf-csource", @@ -213,6 +234,7 @@ def package_info(self): self.runenv_info.define_path("GDK_PIXBUF_PIXDATA", gdk_pixbuf_pixdata) self.env_info.GDK_PIXBUF_PIXDATA = gdk_pixbuf_pixdata # remove in conan v2? + def fix_msvc_libname(conanfile, remove_lib_prefix=True): """remove lib prefix & change extension to .lib in case of cl like compiler""" if not conanfile.settings.get_safe("compiler.runtime"): From 00e6aa5e261ad5e8a64d32e9be3fb08d9f82967f Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Wed, 6 Mar 2024 14:08:41 +0100 Subject: [PATCH 3862/4087] (#23002) perfetto: add version 43.1 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 711d2732829d9..7ea6229bf24ad 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "43.1": + url: "https://github.com/google/perfetto/archive/refs/tags/v43.1.tar.gz" + sha256: "0f23ba39520c9ec629c48dc36a3a4bb92ed9653ac6694445be22985205a3f4ce" "42.0": url: "https://github.com/google/perfetto/archive/refs/tags/v42.0.tar.gz" sha256: "1c474a0f16cc2f9da826fd3f9e44ffd77785c433e997cdaf0ee390ae3d64b53e" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index f2898b0745aac..e704c3a7bc879 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "43.1": + folder: all "42.0": folder: all "41.0": From 92bca1270cf999b42431bd314cd3a8b0fa3c1d84 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Wed, 6 Mar 2024 15:02:46 +0000 Subject: [PATCH 3863/4087] (#23004) freetype: use libpng version range --- recipes/freetype/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/freetype/all/conanfile.py b/recipes/freetype/all/conanfile.py index 4b69b608387b5..5543e9e0a5962 100644 --- a/recipes/freetype/all/conanfile.py +++ b/recipes/freetype/all/conanfile.py @@ -64,7 +64,7 @@ def layout(self): def requirements(self): if self.options.with_png: - self.requires("libpng/1.6.42") + self.requires("libpng/[>=1.6 <2]") if self.options.with_zlib: self.requires("zlib/[>=1.2.10 <2]") if self.options.with_bzip2: From 907f096a2e93e4e1dd4daf13f28a22aa32042b48 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 6 Mar 2024 17:48:17 -0600 Subject: [PATCH 3864/4087] (#22919) xkbcommon: Bump wayland-protocols and Meson --- recipes/xkbcommon/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index c646e023dd17c..a8f0e89851c34 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -75,14 +75,14 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.3.1") + self.tool_requires("meson/1.3.2") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") if self.options.get_safe("with_wayland"): if self._has_build_profile: self.tool_requires("wayland/") - self.tool_requires("wayland-protocols/1.32") + self.tool_requires("wayland-protocols/1.33") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From f452bcadb4c1c286bbf3451d516a05497c43563e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Wed, 6 Mar 2024 18:08:40 -0600 Subject: [PATCH 3865/4087] (#22922) glfw: Bump wayland-protocols --- recipes/glfw/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index 21f5e6b8c247b..90b0cfaeecdac 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -82,7 +82,7 @@ def validate(self): def build_requirements(self): if self.options.get_safe("with_wayland"): - self.tool_requires("wayland-protocols/1.32") + self.tool_requires("wayland-protocols/1.33") if self._has_build_profile: self.tool_requires("wayland/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): From 0bff285ebad4febf9e31a1efbf294282a7bdc122 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:48:55 -0500 Subject: [PATCH 3866/4087] (#22577) primesieve: new package * primesieve: add version 11.0 * primesieve: Fix version numer * Update to 11.2 * Simplify test package * Misc conanfile cleanup/fixes, drop GCC 5 for now * Don't build static lib when building shared, add pthread * Fix MSVC shared package * Add m to system libs * Drop 1.x-specific changes --------- Co-authored-by: Alexis Placet --- recipes/primesieve/all/conandata.yml | 4 + recipes/primesieve/all/conanfile.py | 97 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 9 ++ .../primesieve/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 15 +++ recipes/primesieve/config.yml | 3 + 6 files changed, 154 insertions(+) create mode 100644 recipes/primesieve/all/conandata.yml create mode 100644 recipes/primesieve/all/conanfile.py create mode 100644 recipes/primesieve/all/test_package/CMakeLists.txt create mode 100644 recipes/primesieve/all/test_package/conanfile.py create mode 100644 recipes/primesieve/all/test_package/test_package.cpp create mode 100644 recipes/primesieve/config.yml diff --git a/recipes/primesieve/all/conandata.yml b/recipes/primesieve/all/conandata.yml new file mode 100644 index 0000000000000..f4f2c000a99cc --- /dev/null +++ b/recipes/primesieve/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "11.2": + url: "https://github.com/kimwalisch/primesieve/archive/refs/tags/v11.2.tar.gz" + sha256: "86c31bae9c378340b19669eafef8c5e45849adf7b9c92af1d212a2a2bfa0a5db" diff --git a/recipes/primesieve/all/conanfile.py b/recipes/primesieve/all/conanfile.py new file mode 100644 index 0000000000000..c8e88390ec7a5 --- /dev/null +++ b/recipes/primesieve/all/conanfile.py @@ -0,0 +1,97 @@ +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 get, copy, rename, rm, rmdir +from conan.tools.microsoft import is_msvc_static_runtime, is_msvc +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + +class PrimesieveConan(ConanFile): + name = "primesieve" + description = "Fast prime number generator" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kimwalisch/primesieve" + topics = ("math", "prime-numbers", "sieve-of-eratosthenes") + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_multiarch": [True, False], + "with_msvc_crt_static": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_multiarch": True, + "with_msvc_crt_static": False, + } + package_type = "library" + + @property + def _min_cppstd(self): + return 11 + + 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 self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) <= "5": + raise ConanInvalidConfiguration("GCC<=5 is currently not supported. Contributions with fixes are welcome.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_PRIMESIEVE"] = False + tc.variables["BUILD_DOC"] = False + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_TESTS"] = False + tc.variables["WITH_MULTIARCH"] = self.options.with_multiarch + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + if is_msvc(self): + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" + tc.variables["WITH_MSVC_CRT_STATIC"] = self.options.with_msvc_crt_static + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.generate() + + def build(self): + 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, "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")) + if is_msvc(self) and self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "primesieve.dll.lib"), os.path.join(self.package_folder, "lib", "primesieve.lib")) + + def package_info(self): + self.cpp_info.libs = ["primesieve"] + self.cpp_info.set_property("cmake_file_name", "primesieve") + self.cpp_info.set_property("cmake_target_name", "primesieve::primesieve") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m"] diff --git a/recipes/primesieve/all/test_package/CMakeLists.txt b/recipes/primesieve/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ee808a6efb8b5 --- /dev/null +++ b/recipes/primesieve/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.8) + +project(test_package CXX) # if the project uses c++ + +find_package(primesieve REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE primesieve::primesieve) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/primesieve/all/test_package/conanfile.py b/recipes/primesieve/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/primesieve/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/primesieve/all/test_package/test_package.cpp b/recipes/primesieve/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a8281d9952969 --- /dev/null +++ b/recipes/primesieve/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include + +#include +#include +#include + +int main() { + std::vector primes; + primesieve::generate_n_primes(5, &primes); + std::cout << "First 5 primes: "; + for (const auto prime : primes) { + std::cout << prime << ' '; + } + std::cout << '\n'; +} diff --git a/recipes/primesieve/config.yml b/recipes/primesieve/config.yml new file mode 100644 index 0000000000000..3b46283d96d88 --- /dev/null +++ b/recipes/primesieve/config.yml @@ -0,0 +1,3 @@ +versions: + "11.2": + folder: all From 7f8271c397c6c2147fd3255a347c98ea0ed16881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 7 Mar 2024 11:21:48 +0100 Subject: [PATCH 3867/4087] (#23016) Update range list to add libpng (And mention libxml) * Update range list * Review * Review * Move to its own section --- docs/adding_packages/dependencies.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index a69f895483ed0..f22925892a890 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -180,13 +180,11 @@ With the introduction of Conan 2.0, we are currently working to allow the use of Currently, these are: * 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 +* 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 +version range only when a requirement for a newer version is needed. * Libcurl: `[>=X.YY <9]`, where `X.YY` is the minimum version of Libcurl required, starting from `7.78` - -> **Note**: You might also see Zlib ranges in some PR by CCI maintainers. -> We're adding them little by little to avoid missing binaries and conflict errors. -> Please do not open PRs moving Zlib to ranges for now, we'll update this page when PRs are free to add new ranges. - +* Zlib: `[>=1.2.11 <2]` expect if the recipe needs a newer lower version for specific reasons +* Libpng: `[>=1.6 <2]` expect if the recipe needs a newer lower version for specific reasons > **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 @@ -195,7 +193,15 @@ Currently, these are: Conan maintainers may introduce this for other dependencies over time. Outside of the cases outlined above, version ranges are not allowed in ConanCenter recipes. +#### Adding Version Ranges + +You might also see version ranges in some PR by CCI maintainers. + +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. + ## Handling "internal" dependencies -Vendoring in library source code should be removed (best effort) to avoid potential ODR violations. If upstream takes care to rename -symbols, it may be acceptable. +Vendoring in library source code should be removed (in a best effort basis) to avoid potential ODR violations. +If upstream takes care to rename symbols, it may be acceptable. From 82ce59a934733cecd7dc308214a06225908d64c4 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 7 Mar 2024 10:42:14 +0000 Subject: [PATCH 3868/4087] (#23006) tensorflow-lite: resolve conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tensorflow-lite: resolve conflicts * Bump abseil to latest patch available --------- Co-authored-by: Rubén Rincón Blanco --- recipes/tensorflow-lite/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/tensorflow-lite/all/conanfile.py b/recipes/tensorflow-lite/all/conanfile.py index 5b4b074e11411..7a430b9baca1a 100644 --- a/recipes/tensorflow-lite/all/conanfile.py +++ b/recipes/tensorflow-lite/all/conanfile.py @@ -73,7 +73,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("abseil/20230125.1") + self.requires("abseil/20230125.3") self.requires("eigen/3.4.0") self.requires("farmhash/cci.20190513") self.requires("fft/cci.20061228") @@ -83,9 +83,9 @@ def requirements(self): if self.settings.arch in ("x86", "x86_64"): self.requires("intel-neon2sse/cci.20210225") if self.options.with_xnnpack: - self.requires("xnnpack/cci.20220801") + self.requires("xnnpack/cci.20231026") # https://github.com/tensorflow/tensorflow/blob/359c3cdfc5fabac82b3c70b3b6de2b0a8c16874f/tensorflow/lite/delegates/xnnpack/xnnpack_delegate.cc#L165 - self.requires("pthreadpool/cci.20210218") + self.requires("pthreadpool/cci.20231129") if self.options.with_xnnpack or self.options.get_safe("with_nnapi", False): self.requires("fp16/cci.20210320") From ebf0181df2898265487442d7b20bfb89f1b4dc48 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 7 Mar 2024 12:23:32 +0000 Subject: [PATCH 3869/4087] (#23018) [bot] Update authorized users list (2024-03-07) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index a09f911a11265..6a1a5108eaac2 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1298,3 +1298,4 @@ authorized_users: - camm73 - crstzh - gagoi +- dbolduc From 72b035c3cefff9dc5f56a6809252c959f6f59482 Mon Sep 17 00:00:00 2001 From: Tatyana Raguzova Date: Thu, 7 Mar 2024 14:28:09 +0100 Subject: [PATCH 3870/4087] (#22913) openvino: added 2024.0.0 version --- recipes/openvino/all/conandata.yml | 29 + recipes/openvino/all/conanfile.py | 5 +- .../dependencies/dependencies-2024.0.0.yml | 1 + ...0001-Include-mutex-for-std-call_once.patch | 13 + .../0002-Fix-includes-for-dev-api.patch | 13 + ...port-OpenVINO-compilation-with-cpp20.patch | 501 ++++++++++++++++++ .../openvino/all/test_package/test_package.c | 16 +- recipes/openvino/config.yml | 2 + 8 files changed, 570 insertions(+), 10 deletions(-) create mode 100644 recipes/openvino/all/dependencies/dependencies-2024.0.0.yml create mode 100644 recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch create mode 100644 recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch create mode 100644 recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index d95f3c25c32fa..dd23e75ae9252 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "2024.0.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.0.0.tar.gz" + sha256: "b3c257f8af9545ae68a6ea217173b2b2de9dd42d35e8703a7a51d76f4c2bfe2f" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz" + sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/f82148befdbdc9576ec721c9d500155ee4de8060.tar.gz" + sha256: "7fce5c6b499ffe1a30c26b2d4e4a5193a38aa217b6f54e44eea52b21cf38a684" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" + sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/494af5f9921bdae98f1a0e2955fa7d76ff386c4f.tar.gz" + sha256: "e2f36563cecf39197ad8d4f8b351ccc5a431085dad26e47c0ae6f0bb79149df7" "2023.3.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.3.0.tar.gz" @@ -48,6 +64,19 @@ sources: url: "https://github.com/oneapi-src/oneDNN/archive/4b82a66ed38ecaa993352e5cc6ed7753656b8a26.tar.gz" sha256: "cb17c003fe51bc9b4e20189573956b4446468162adf0fc4cea2ee0820cff0cd0" patches: + "2024.0.0": + - patch_file: "patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch" + patch_description: "Include mutex for std::call_once" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/23151" + - patch_file: "patches/2024.0.0/0002-Fix-includes-for-dev-api.patch" + patch_description: "Include tensor for dev api" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/23175" + - patch_file: "patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch" + patch_description: "Add support to OpenVINO to build it with standards newer than cpp11" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/22784" "2023.2.0": - patch_file: "patches/2023.2.0/0001-git-version.patch" patch_description: "Fixed issue with version on Windows" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index d7d8677eb943d..d5b090836295b 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -355,8 +355,9 @@ def package_info(self): if self.options.enable_pytorch_frontend: openvino_runtime.libs.append("openvino_pytorch_frontend") # Common private dependencies should go last, because they satisfy dependencies for all other libraries - openvino_runtime.libs.extend(["openvino_reference", "openvino_builders", - "openvino_shape_inference", "openvino_itt", + if Version(self.version) < "2024.0.0": + openvino_runtime.libs.append("openvino_builders") + openvino_runtime.libs.extend(["openvino_reference", "openvino_shape_inference", "openvino_itt", # utils goes last since all others depend on it "openvino_util"]) # set 'openvino' once again for transformations objects files (cyclic dependency) diff --git a/recipes/openvino/all/dependencies/dependencies-2024.0.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.0.0.yml new file mode 100644 index 0000000000000..f99604741682a --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2024.0.0.yml @@ -0,0 +1 @@ +onnx: "1.15.0" diff --git a/recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch b/recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch new file mode 100644 index 0000000000000..6c0e89e765f9f --- /dev/null +++ b/recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch @@ -0,0 +1,13 @@ +diff --git a/src/inference/src/dev/make_tensor.cpp b/src/inference/src/dev/make_tensor.cpp +index e34497749a..f28c90ccf4 100644 +--- a/src/inference/src/dev/make_tensor.cpp ++++ b/src/inference/src/dev/make_tensor.cpp +@@ -5,6 +5,7 @@ + #include "openvino/runtime/make_tensor.hpp" + + #include ++#include + + #include "openvino/runtime/iremote_tensor.hpp" + #include "openvino/runtime/properties.hpp" + diff --git a/recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch b/recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch new file mode 100644 index 0000000000000..1e33d8172c049 --- /dev/null +++ b/recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch @@ -0,0 +1,13 @@ +diff --git a/src/inference/src/dev/make_tensor.cpp b/src/inference/src/dev/make_tensor.cpp +index f28c90ccf4..e457b81fc0 100644 +--- a/src/inference/src/dev/make_tensor.cpp ++++ b/src/inference/src/dev/make_tensor.cpp +@@ -9,6 +9,7 @@ + + #include "openvino/runtime/iremote_tensor.hpp" + #include "openvino/runtime/properties.hpp" ++#include "openvino/runtime/tensor.hpp" + #ifdef PROXY_PLUGIN_ENABLED + # include "openvino/proxy/plugin.hpp" + #endif + diff --git a/recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch b/recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch new file mode 100644 index 0000000000000..52337a8f822c9 --- /dev/null +++ b/recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch @@ -0,0 +1,501 @@ +diff --git a/.github/workflows/linux_conditional_compilation.yml b/.github/workflows/linux_conditional_compilation.yml +index 4f2d7d8ec9..f74802072c 100644 +--- a/.github/workflows/linux_conditional_compilation.yml ++++ b/.github/workflows/linux_conditional_compilation.yml +@@ -152,6 +152,7 @@ jobs: + run: | + cmake \ + -G "${{ env.CMAKE_GENERATOR }}" \ ++ -DCMAKE_CXX_STANDARD=20 \ + -DBUILD_SHARED_LIBS=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_CPPLINT=OFF \ +diff --git a/.github/workflows/windows_conditional_compilation.yml b/.github/workflows/windows_conditional_compilation.yml +index 6a47f620e7..ead6c37c87 100644 +--- a/.github/workflows/windows_conditional_compilation.yml ++++ b/.github/workflows/windows_conditional_compilation.yml +@@ -147,6 +147,7 @@ jobs: + run: | + cmake -G "${{ env.CMAKE_GENERATOR }}" ` + -DBUILD_SHARED_LIBS=OFF ` ++ -DCMAKE_CXX_STANDARD=20 ` + -DENABLE_TESTS=ON ` + -DENABLE_CPPLINT=OFF ` + -DENABLE_NCC_STYLE=OFF ` +diff --git a/docs/snippets/CMakeLists.txt b/docs/snippets/CMakeLists.txt +index 89c39d706d..415f1dea88 100644 +--- a/docs/snippets/CMakeLists.txt ++++ b/docs/snippets/CMakeLists.txt +@@ -15,6 +15,10 @@ if(UNUSED_BUT_SET_VARIABLE_SUPPORTED) + ov_add_compiler_flags(-Wno-unused-but-set-variable) + endif() + ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() ++ + file(GLOB SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c") +diff --git a/samples/cpp/hello_classification/main.cpp b/samples/cpp/hello_classification/main.cpp +index b0624b9a54..940ab918dd 100644 +--- a/samples/cpp/hello_classification/main.cpp ++++ b/samples/cpp/hello_classification/main.cpp +@@ -28,7 +28,8 @@ int tmain(int argc, tchar* argv[]) { + + // -------- Parsing and validation of input arguments -------- + if (argc != 4) { +- slog::info << "Usage : " << argv[0] << " " << slog::endl; ++ slog::info << "Usage : " << TSTRING2STRING(argv[0]) << " " ++ << slog::endl; + return EXIT_FAILURE; + } + +diff --git a/src/common/low_precision_transformations/CMakeLists.txt b/src/common/low_precision_transformations/CMakeLists.txt +index 215cb74de0..a325407d82 100644 +--- a/src/common/low_precision_transformations/CMakeLists.txt ++++ b/src/common/low_precision_transformations/CMakeLists.txt +@@ -16,6 +16,9 @@ source_group("src" FILES ${LIBRARY_SRC}) + source_group("include" FILES ${PUBLIC_HEADERS}) + + # Create library ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() + + add_library(${TARGET_NAME}_obj OBJECT + ${LIBRARY_SRC} +diff --git a/src/common/snippets/CMakeLists.txt b/src/common/snippets/CMakeLists.txt +index b3d2db77b7..dcde389cde 100644 +--- a/src/common/snippets/CMakeLists.txt ++++ b/src/common/snippets/CMakeLists.txt +@@ -16,6 +16,9 @@ source_group("src" FILES ${LIBRARY_SRC}) + source_group("include" FILES ${PUBLIC_HEADERS}) + + # Create static library ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() + + add_library(${TARGET_NAME} STATIC + ${LIBRARY_SRC} +diff --git a/src/common/transformations/CMakeLists.txt b/src/common/transformations/CMakeLists.txt +index c4c4ccaa9b..1d398b0054 100644 +--- a/src/common/transformations/CMakeLists.txt ++++ b/src/common/transformations/CMakeLists.txt +@@ -16,6 +16,9 @@ source_group("src" FILES ${LIBRARY_SRC}) + source_group("include" FILES ${PUBLIC_HEADERS}) + + # Create library ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() + + add_library(${TARGET_NAME}_obj OBJECT ${LIBRARY_SRC} ${PUBLIC_HEADERS}) + target_compile_definitions(${TARGET_NAME}_obj PRIVATE IMPLEMENT_OPENVINO_API) +diff --git a/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp b/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp +index 0719a5347c..28fa98d324 100644 +--- a/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp ++++ b/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp +@@ -21,7 +21,7 @@ TRANSFORMATIONS_API bool has_nms_selected_indices(const Node* node); + + TRANSFORMATIONS_API void set_nms_selected_indices(Node* node); + +-class TRANSFORMATIONS_API NmsSelectedIndices : ov::RuntimeAttribute { ++class TRANSFORMATIONS_API NmsSelectedIndices : public ov::RuntimeAttribute { + public: + OPENVINO_RTTI("nms_selected_indices", "0"); + NmsSelectedIndices() = default; +diff --git a/src/core/tests/matcher_pass.cpp b/src/core/tests/matcher_pass.cpp +index ae0b6d911c..0ac381a531 100644 +--- a/src/core/tests/matcher_pass.cpp ++++ b/src/core/tests/matcher_pass.cpp +@@ -25,7 +25,7 @@ public: + auto m_relu1 = ov::pass::pattern::wrap_type(pattern::consumers_count(1)); + auto m_relu2 = ov::pass::pattern::wrap_type({m_relu1}); + +- ov::graph_rewrite_callback callback = [=](pattern::Matcher& m) { ++ ov::graph_rewrite_callback callback = [m_relu1, this](pattern::Matcher& m) { + // Map that helps to connect labels with matched outputs + auto& node_to_output = m.get_pattern_value_map(); + +diff --git a/src/frontends/paddle/src/CMakeLists.txt b/src/frontends/paddle/src/CMakeLists.txt +index af0cf0373a..57241ae95a 100644 +--- a/src/frontends/paddle/src/CMakeLists.txt ++++ b/src/frontends/paddle/src/CMakeLists.txt +@@ -2,6 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # + ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() ++ + ov_add_frontend(NAME paddle + LINKABLE_FRONTEND + PROTOBUF_REQUIRED +diff --git a/src/frontends/pytorch/src/CMakeLists.txt b/src/frontends/pytorch/src/CMakeLists.txt +index 814d820b5c..7fb8c4ae50 100644 +--- a/src/frontends/pytorch/src/CMakeLists.txt ++++ b/src/frontends/pytorch/src/CMakeLists.txt +@@ -2,6 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # + ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() ++ + ov_add_frontend(NAME pytorch + LINKABLE_FRONTEND + SHUTDOWN_PROTOBUF +diff --git a/src/frontends/tensorflow/src/variables_index.cpp b/src/frontends/tensorflow/src/variables_index.cpp +index 2dcf3faf9e..3d97022bc6 100644 +--- a/src/frontends/tensorflow/src/variables_index.cpp ++++ b/src/frontends/tensorflow/src/variables_index.cpp +@@ -228,11 +228,11 @@ bool VariablesIndex::read_variables(std::ifstream& vi_stream, const std::wstring + } + if (m_mmap_enabled) { + m_data_files[shard].mmap = load_mmap_object(fullPath); +- FRONT_END_GENERAL_CHECK(m_data_files[shard].mmap->data(), L"Variable index data cannot be mapped"); ++ FRONT_END_GENERAL_CHECK(m_data_files[shard].mmap->data(), "Variable index data cannot be mapped"); + } else { + m_data_files[shard].stream = std::shared_ptr( + new std::ifstream(fullPath.c_str(), std::ifstream::in | std::ifstream::binary)); +- FRONT_END_GENERAL_CHECK(m_data_files[shard].stream->is_open(), L"Variable index data file does not exist"); ++ FRONT_END_GENERAL_CHECK(m_data_files[shard].stream->is_open(), "Variable index data file does not exist"); + } + } + +diff --git a/src/inference/tests/functional/caching_test.cpp b/src/inference/tests/functional/caching_test.cpp +index 1b45c2bd4a..c1a7d685f4 100644 +--- a/src/inference/tests/functional/caching_test.cpp ++++ b/src/inference/tests/functional/caching_test.cpp +@@ -2359,9 +2359,7 @@ TEST_P(CachingTest, LoadBATCHWithConfig) { + EXPECT_CALL(*mockPlugin, get_property(ov::internal::caching_properties.name(), _)).Times(AnyNumber()); + EXPECT_CALL(*mockPlugin, get_property(ov::hint::performance_mode.name(), _)) + .Times(AnyNumber()) +- .WillRepeatedly(Return([] { +- return ov::hint::PerformanceMode::THROUGHPUT; +- })); ++ .WillRepeatedly(Return(ov::hint::PerformanceMode::THROUGHPUT)); + if (m_remoteContext) { + return; // skip the remote Context test for Auto plugin + } +@@ -2490,4 +2488,4 @@ INSTANTIATE_TEST_SUITE_P(CacheTestWithProxyEnabled, + CacheTestWithProxyEnabled, + ::testing::Combine(::testing::ValuesIn(loadVariants), ::testing::ValuesIn(cacheFolders)), + getTestCaseName); +-#endif +\ No newline at end of file ++#endif +diff --git a/src/plugins/auto_batch/src/sync_infer_request.cpp b/src/plugins/auto_batch/src/sync_infer_request.cpp +index c766c521ce..707adedc3b 100644 +--- a/src/plugins/auto_batch/src/sync_infer_request.cpp ++++ b/src/plugins/auto_batch/src/sync_infer_request.cpp +@@ -160,4 +160,4 @@ std::vector SyncInferRequest::get_profiling_info() const { + return m_batched_request_wrapper->_infer_request_batched->get_profiling_info(); + } + } // namespace autobatch_plugin +-} // namespace ov +\ No newline at end of file ++} // namespace ov +diff --git a/src/plugins/intel_cpu/CMakeLists.txt b/src/plugins/intel_cpu/CMakeLists.txt +index 3a15194061..962ba21c0e 100644 +--- a/src/plugins/intel_cpu/CMakeLists.txt ++++ b/src/plugins/intel_cpu/CMakeLists.txt +@@ -8,6 +8,10 @@ endif() + + set(TARGET_NAME "openvino_intel_cpu_plugin") + ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() ++ + if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + # C4267, 4244 issues from oneDNN headers conversion from 'XXX' to 'YYY', possible loss of data + ov_add_compiler_flags(/wd4018) +@@ -205,7 +209,7 @@ if(BUILD_SHARED_LIBS) + $) + + target_include_directories(${TARGET_NAME}_obj SYSTEM PUBLIC $) +- ++ + if(ENABLE_MLAS_FOR_CPU) + target_include_directories(${TARGET_NAME}_obj SYSTEM PUBLIC $) + endif() +diff --git a/src/plugins/intel_cpu/src/cache/multi_cache.h b/src/plugins/intel_cpu/src/cache/multi_cache.h +index 746499bd9b..8225f5ed0f 100644 +--- a/src/plugins/intel_cpu/src/cache/multi_cache.h ++++ b/src/plugins/intel_cpu/src/cache/multi_cache.h +@@ -41,10 +41,14 @@ public: + * Also the builder type is used for the ValueType deduction + * @return result of the operation which is a pair of the requested object of ValType and the status of whether the cache hit or miss occurred + */ +- +- template::type> +- typename CacheEntry::ResultType +- getOrCreate(const KeyType& key, BuilderType builder) { ++ template 201703L)) || (defined(__cplusplus) && (__cplusplus > 201703L)) ++ typename ValueType = std::invoke_result_t> ++#else ++ typename ValueType = typename std::result_of::type> ++#endif ++ typename CacheEntry::ResultType getOrCreate(const KeyType& key, BuilderType builder) { + auto entry = getEntry(); + return entry->getOrCreate(key, std::move(builder)); + } +diff --git a/src/plugins/intel_cpu/src/graph.cpp b/src/plugins/intel_cpu/src/graph.cpp +index 39a72bd80a..e1362e3302 100644 +--- a/src/plugins/intel_cpu/src/graph.cpp ++++ b/src/plugins/intel_cpu/src/graph.cpp +@@ -1093,6 +1093,17 @@ private: + #endif + + #if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO || OV_THREAD == OV_THREAD_OMP) ++ ++# if (defined(_MSVC_LANG) && (_MSVC_LANG > 201703L)) || (defined(__cplusplus) && (__cplusplus > 201703L)) ++# define ov_memory_order_release std::memory_order_release ++# define ov_memory_order_relaxed std::memory_order_relaxed ++# define ov_memory_order_acquire std::memory_order_acquire ++# else ++# define ov_memory_order_release std::memory_order::memory_order_release ++# define ov_memory_order_relaxed std::memory_order::memory_order_relaxed ++# define ov_memory_order_acquire std::memory_order::memory_order_acquire ++# endif ++ + class UpdateNodesBase : public IUpdateNodes { + public: + explicit UpdateNodesBase(std::vector& executableGraphNodes) : m_executableGraphNodes(executableGraphNodes) {} +@@ -1103,22 +1114,22 @@ public: + if (node->isDynamicNode()) { + node->updateShapes(); + } +- m_prepareCounter.store(i, std::memory_order::memory_order_release); ++ m_prepareCounter.store(i, ov_memory_order_release); + } + } + catch(...) { +- m_completion.store(true, std::memory_order::memory_order_relaxed); ++ m_completion.store(true, ov_memory_order_relaxed); + throw; + } +- m_prepareCounter.store(stop_indx, std::memory_order::memory_order_relaxed); +- m_completion.store(true, std::memory_order::memory_order_release); ++ m_prepareCounter.store(stop_indx, ov_memory_order_relaxed); ++ m_completion.store(true, ov_memory_order_release); + } + + void updateDynParams(size_t node_indx, size_t /*unused*/) { + size_t local_counter = node_indx; + while (true) { +- const bool completion = m_completion.load(std::memory_order::memory_order_acquire); +- const size_t prepareCounter = m_prepareCounter.load(std::memory_order::memory_order_relaxed); ++ const bool completion = m_completion.load(ov_memory_order_acquire); ++ const size_t prepareCounter = m_prepareCounter.load(ov_memory_order_relaxed); + if (completion && local_counter == prepareCounter) { + break; + } +diff --git a/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp b/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp +index 0f656c7049..cae4a605f6 100644 +--- a/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp ++++ b/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp +@@ -244,7 +244,10 @@ const std::vector>& getImplementations() { + return true; + }, + // create +- [](const FCAttrs& attrs, const PostOps& postOps, const MemoryArgs& memory, ExecutorContext::CPtr context) { ++ [](const FCAttrs& attrs, ++ const PostOps& postOps, ++ const MemoryArgs& memory, ++ ExecutorContext::CPtr context) -> std::shared_ptr { + struct ConvolutionInstantiator { + std::shared_ptr operator()( + const MemoryArgs& memory, +diff --git a/src/plugins/intel_cpu/src/nodes/inverse.cpp b/src/plugins/intel_cpu/src/nodes/inverse.cpp +index 93f0df2948..04c283fc2f 100644 +--- a/src/plugins/intel_cpu/src/nodes/inverse.cpp ++++ b/src/plugins/intel_cpu/src/nodes/inverse.cpp +@@ -153,7 +153,7 @@ void Inverse::lu_decomposition(const T* data, + + // Find maximum value pivot - non-parallel + for (size_t i = (k + 1) * m_side, j = k + 1; i < m_side_squared; i += m_side, ++j) { +- if (abs(U[i + k]) > abs(U[pivot_idx + k])) { ++ if (std::abs(U[i + k]) > std::abs(U[pivot_idx + k])) { + pivot_row = j; + pivot_idx = pivot_row * m_side; + } +diff --git a/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp b/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp +index e837dc7fdf..ecc3688c68 100644 +--- a/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp ++++ b/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp +@@ -700,6 +700,9 @@ private: + std::unordered_map> _emitters; + }; + ++template <> ++const Xbyak::Reg64& jit_kernel::reserve(); ++ + template + void jit_kernel::copy(const Xbyak::Reg64& dst, + const Xbyak::Reg64& src, +diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt +index e48c985ad7..18a941ca79 100644 +--- a/src/plugins/intel_gpu/CMakeLists.txt ++++ b/src/plugins/intel_gpu/CMakeLists.txt +@@ -8,6 +8,10 @@ endif() + + set (TARGET_NAME "openvino_intel_gpu_plugin") + ++if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) ++ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") ++endif() ++ + if(CMAKE_COMPILER_IS_GNUCXX) + ov_add_compiler_flags(-Wno-strict-aliasing) + endif() +diff --git a/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp b/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp +index 0148026b6c..20b229ad9c 100644 +--- a/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp ++++ b/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp +@@ -689,16 +689,16 @@ void reorder_inputs::run(program& p, layout_optimizer& lo, reorder_factory& rf) + } + + GPU_DEBUG_IF(debug_config->verbose >= 2) { +- reorder_cnt total_reorder_count = std::accumulate( +- p.get_processing_order().begin(), +- p.get_processing_order().end(), +- reorder_cnt{ 0, 0 }, +- [&](reorder_cnt& total, program_node* node) { +- if (fmt_map.count(node) == 0 || fmt_map.at(node) == format::any) +- return total; +- auto count = count_reorders(fmt_map, lo, node); +- return reorder_cnt{ total.number + count.number, total.total_sizes + count.total_sizes }; +- }); ++ reorder_cnt total_reorder_count = ++ std::accumulate(p.get_processing_order().begin(), ++ p.get_processing_order().end(), ++ reorder_cnt{0, 0}, ++ [&](reorder_cnt total, program_node* node) { ++ if (fmt_map.count(node) == 0 || fmt_map.at(node) == format::any) ++ return total; ++ auto count = count_reorders(fmt_map, lo, node); ++ return reorder_cnt{total.number + count.number, total.total_sizes + count.total_sizes}; ++ }); + // Divide results by two as above function will each reorder from both sides + GPU_DEBUG_LOG_PASS << "Total number of reorders: " << total_reorder_count.number / 2 << std::endl; + GPU_DEBUG_LOG_PASS << "Total elements count of all reorders: " << total_reorder_count.total_sizes / 2 << std::endl; +diff --git a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp +index a5d0711f61..d71a6834e8 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp ++++ b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp +@@ -36,6 +36,27 @@ + #include + #endif + ++#if __cplusplus > 201703L ++ ++// Add operators `==` and `!=` for rapidjson::GenericMemberIterator for non const iterator when build with C++20, ++// is more strict regarding type checks. ++namespace rapidjson { ++ ++template ++inline bool operator==(GenericMemberIterator lhs, ++ GenericMemberIterator rhs) { ++ return static_cast>(lhs) == ++ static_cast>(rhs); ++} ++ ++template ++inline bool operator!=(GenericMemberIterator lhs, ++ GenericMemberIterator rhs) { ++ return !(lhs == rhs); ++} ++} // namespace rapidjson ++#endif ++ + namespace kernel_selector { + + class TuningCache::Impl { +diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp b/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp +index 6caa5e75a4..3a14e9d802 100644 +--- a/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp ++++ b/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp +@@ -612,10 +612,8 @@ std::string toString_v2(const DataTensor& tensor) { + std::stringstream s; + s << toString(tensor.GetDType()) << "_"; + s << toString(tensor.GetLayout()); +- int i = 0; + for (auto dim : tensor.GetDims()) { + s << "_v" << dim.v << "_p" << dim.pad.before << "_" << dim.pad.after; +- i++; + } + return s.str(); + } +diff --git a/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp b/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp +index 0390593b59..3e0f608a9e 100644 +--- a/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp ++++ b/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp +@@ -11,6 +11,13 @@ + #include + #include + ++namespace cldnn { ++// For gtest NE compare, class defines only `==` operator. Required when building using C++20 ++inline bool operator!=(const range& lhs, const fully_connected& rhs) { ++ return !(lhs.operator==(rhs)); ++} ++} // namespace cldnn ++ + using namespace cldnn; + using namespace ::tests; + +diff --git a/src/tests/test_utils/common_test_utils/src/file_utils.cpp b/src/tests/test_utils/common_test_utils/src/file_utils.cpp +index b1b8b42797..eadaab6b71 100644 +--- a/src/tests/test_utils/common_test_utils/src/file_utils.cpp ++++ b/src/tests/test_utils/common_test_utils/src/file_utils.cpp +@@ -192,7 +192,7 @@ std::string getRelativePath(const std::string& from, const std::string& to) { + output += std::accumulate(mismatch_it.first, + from_vec.end(), + std::string{}, +- [&separator](std::string& a, const std::string&) -> std::string { ++ [&separator](std::string a, const std::string&) -> std::string { + return a += ".." + separator; + }); + } +@@ -203,7 +203,7 @@ std::string getRelativePath(const std::string& from, const std::string& to) { + output += std::accumulate(mismatch_it.second, + to_vec.end(), + std::string{}, +- [&separator](std::string& a, const std::string& b) -> std::string { ++ [&separator](std::string a, const std::string& b) -> std::string { + return a.empty() ? a += b : a += separator + b; + }); + return output; +diff --git a/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp b/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp +index 18196eda17..a764b27e68 100644 +--- a/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp ++++ b/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp +@@ -327,14 +327,14 @@ SEA_EXPORT int NotifyEvent(iJIT_JVM_EVENT event_type, void* EventSpecificData) { + + switch (event_type) { + case iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED: { +- sea::WriteJit(&(uint32_t)methodData->method_id, sizeof(uint32_t)); ++ sea::WriteJit(&methodData->method_id, sizeof(uint32_t)); + sea::WriteJit(&methodData->method_load_address, sizeof(void*)); +- sea::WriteJit(&(uint32_t)methodData->method_size, sizeof(uint32_t)); +- sea::WriteJit(&(uint32_t)methodData->line_number_size, sizeof(uint32_t)); ++ sea::WriteJit(&methodData->method_size, sizeof(uint32_t)); ++ sea::WriteJit(&methodData->line_number_size, sizeof(uint32_t)); + for (unsigned int i = 0; i < methodData->line_number_size; ++i) { + const LineNumberInfo& lni = methodData->line_number_table[i]; +- sea::WriteJit(&(uint32_t)lni.Offset, sizeof(uint32_t)); +- sea::WriteJit(&(uint32_t)lni.LineNumber, sizeof(uint32_t)); ++ sea::WriteJit(&lni.Offset, sizeof(uint32_t)); ++ sea::WriteJit(&lni.LineNumber, sizeof(uint32_t)); + } + + const char* strings[] = {methodData->method_name, methodData->class_file_name, methodData->source_file_name}; + diff --git a/recipes/openvino/all/test_package/test_package.c b/recipes/openvino/all/test_package/test_package.c index 1cea5771a2dbf..efe358d0b6ecb 100644 --- a/recipes/openvino/all/test_package/test_package.c +++ b/recipes/openvino/all/test_package/test_package.c @@ -23,21 +23,21 @@ int test_available_devices() { OV_FAIL(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); #endif #ifdef ENABLE_AUTO - OV_SUCCESS(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); - OV_SUCCESS(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); + OV_SUCCESS(ov_core_get_property(core, "AUTO", "SUPPORTED_PROPERTIES", &ret)); + OV_SUCCESS(ov_core_get_property(core, "MULTI", "SUPPORTED_PROPERTIES", &ret)); #else - OV_FAIL(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); - OV_FAIL(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); + OV_FAIL(ov_core_get_property(core, "AUTO", "SUPPORTED_PROPERTIES", &ret)); + OV_FAIL(ov_core_get_property(core, "MULTI", "SUPPORTED_PROPERTIES", &ret)); #endif #ifdef ENABLE_HETERO - OV_SUCCESS(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); + OV_SUCCESS(ov_core_get_property(core, "HETERO", "SUPPORTED_PROPERTIES", &ret)); #else - OV_FAIL(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); + OV_FAIL(ov_core_get_property(core, "HETERO", "SUPPORTED_PROPERTIES", &ret)); #endif #ifdef ENABLE_AUTO_BATCH - OV_SUCCESS(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); + OV_SUCCESS(ov_core_get_property(core, "BATCH", "SUPPORTED_PROPERTIES", &ret)); #else - OV_FAIL(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); + OV_FAIL(ov_core_get_property(core, "BATCH", "SUPPORTED_PROPERTIES", &ret)); #endif ov_core_free(core); return 0; diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index 0a0ed9e05655b..c055e48da509b 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,4 +1,6 @@ versions: + "2024.0.0": + folder: "all" "2023.3.0": folder: "all" "2023.2.0": From b7c0af9305ded638c1d18ecb622643c469fae539 Mon Sep 17 00:00:00 2001 From: Steven Lamerton Date: Thu, 7 Mar 2024 15:08:16 +0100 Subject: [PATCH 3871/4087] (#22718) libsvtav1: Unvendor use of cpuinfo * libsvtav1: Unvendor use of cpuinfo * libsvtav1: Unvendor use of cpuinfo * Use cpuinfo on all platforms * Fix patch types --- recipes/libsvtav1/all/conandata.yml | 22 ++++++ recipes/libsvtav1/all/conanfile.py | 6 ++ .../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 +++++++++++++++++++ .../all/patches/external-cpuinfo-1.6.0.patch | 68 +++++++++++++++++++ .../all/patches/external-cpuinfo-1.7.0.patch | 68 +++++++++++++++++++ 7 files changed, 368 insertions(+) create mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch create mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.3.0.patch create mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.4.1.patch create mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.6.0.patch create mode 100644 recipes/libsvtav1/all/patches/external-cpuinfo-1.7.0.patch diff --git a/recipes/libsvtav1/all/conandata.yml b/recipes/libsvtav1/all/conandata.yml index 54555aa218224..fcb9aa5c7563f 100644 --- a/recipes/libsvtav1/all/conandata.yml +++ b/recipes/libsvtav1/all/conandata.yml @@ -15,18 +15,40 @@ sources: 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" + patch_type: "portability" + patch_source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2178 + patch_description: "Allow compiling with external cpuinfo" + "1.6.0": + - patch_file: "patches/external-cpuinfo-1.6.0.patch" + 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 ae303bae006ef..881442bca3f0b 100644 --- a/recipes/libsvtav1/all/conanfile.py +++ b/recipes/libsvtav1/all/conanfile.py @@ -43,6 +43,9 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + self.requires("cpuinfo/cci.20231129") + def build_requirements(self): if Version(self.version) >= "1.3.0": self.tool_requires("cmake/[>=3.16 <4]") @@ -57,6 +60,7 @@ def generate(self): tc.variables["BUILD_APPS"] = False 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"): tc.variables["ENABLE_NASM"] = True tc.generate() @@ -82,11 +86,13 @@ def package_info(self): self.cpp_info.components["encoder"].libs = ["SvtAv1Enc"] self.cpp_info.components["encoder"].includedirs = ["include/svt-av1"] self.cpp_info.components["encoder"].set_property("pkg_config_name", "SvtAv1Enc") + 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: 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") + self.cpp_info.components["decoder"].requires = ["cpuinfo::cpuinfo"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["encoder"].system_libs = ["pthread", "dl", "m"] diff --git a/recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch b/recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch new file mode 100644 index 0000000000000..8e74085d78f88 --- /dev/null +++ b/recipes/libsvtav1/all/patches/external-cpuinfo-1.2.1.patch @@ -0,0 +1,68 @@ +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 new file mode 100644 index 0000000000000..8540fba08ffe5 --- /dev/null +++ b/recipes/libsvtav1/all/patches/external-cpuinfo-1.3.0.patch @@ -0,0 +1,68 @@ +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 new file mode 100644 index 0000000000000..6673e558c5c3e --- /dev/null +++ b/recipes/libsvtav1/all/patches/external-cpuinfo-1.4.1.patch @@ -0,0 +1,68 @@ +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/patches/external-cpuinfo-1.6.0.patch b/recipes/libsvtav1/all/patches/external-cpuinfo-1.6.0.patch new file mode 100644 index 0000000000000..02c89e25a93f1 --- /dev/null +++ b/recipes/libsvtav1/all/patches/external-cpuinfo-1.6.0.patch @@ -0,0 +1,68 @@ +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 b651306f208f2ff0e577e89ce37fed3e80eea0ce..25df70551b8db09becab23cfa5000f03b90a9c77 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 88553bfc4511ffcd5571300d1d45c9302d9316a6..a587e7c6ba15f7528482f476b46506b09c12cf2e 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.7.0.patch b/recipes/libsvtav1/all/patches/external-cpuinfo-1.7.0.patch new file mode 100644 index 0000000000000..c6d38c46f187f --- /dev/null +++ b/recipes/libsvtav1/all/patches/external-cpuinfo-1.7.0.patch @@ -0,0 +1,68 @@ +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 3ed7c05a28ad1b46f2a79e23630d6ad17e6c6741..251a592a46046ae1878e2913683f3417db0260ad 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -152,7 +152,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 58642d108e2a4b042e2f7a66180e1ba2d06f043e..5b7d001473af01305d396b3d2f312adc0b3f5b81 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/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/Source/Lib/Encoder/CMakeLists.txt b/Source/Lib/Encoder/CMakeLists.txt +index e2a1348aa2c07a7283266323bcf58d15dc278555..13be1227444afa74055cd5172ded084de4474b91 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() + From 6965eaab49d3b316a97a312763be32bcba883a21 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 7 Mar 2024 16:43:34 +0200 Subject: [PATCH 3872/4087] (#18978) rdma-core: add new recipe * rdma-core: new recipe * rdma-core: add libnl dependency * rdma-core: fix libnl dependency * rdma-core: bump version to v48.0 * rdma-core: make some libraries optional * rdma-core: fix license copying * rdma-core: tidy package_info() * rdma-core: ignore driver errors in test_package.cpp * rdma-core: limit to Linux only * rdma-core: bump to 49.0 --- recipes/rdma-core/all/conandata.yml | 4 + recipes/rdma-core/all/conanfile.py | 133 ++++++++++++++++++ .../rdma-core/all/test_package/CMakeLists.txt | 7 + .../rdma-core/all/test_package/conanfile.py | 26 ++++ .../all/test_package/test_package.cpp | 62 ++++++++ recipes/rdma-core/config.yml | 3 + 6 files changed, 235 insertions(+) create mode 100644 recipes/rdma-core/all/conandata.yml create mode 100644 recipes/rdma-core/all/conanfile.py create mode 100644 recipes/rdma-core/all/test_package/CMakeLists.txt create mode 100644 recipes/rdma-core/all/test_package/conanfile.py create mode 100644 recipes/rdma-core/all/test_package/test_package.cpp create mode 100644 recipes/rdma-core/config.yml diff --git a/recipes/rdma-core/all/conandata.yml b/recipes/rdma-core/all/conandata.yml new file mode 100644 index 0000000000000..4d08bc2892211 --- /dev/null +++ b/recipes/rdma-core/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "49.0": + url: "https://github.com/linux-rdma/rdma-core/releases/download/v49.0/rdma-core-49.0.tar.gz" + sha256: "953546ad2b179f9ce68dc21eb1eb26003098ea1bf0f87a4baed45bcea134b2b4" diff --git a/recipes/rdma-core/all/conanfile.py b/recipes/rdma-core/all/conanfile.py new file mode 100644 index 0000000000000..99a8017855d89 --- /dev/null +++ b/recipes/rdma-core/all/conanfile.py @@ -0,0 +1,133 @@ +import os +import re + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import get, copy, rmdir, load, save, replace_in_file +from conan.tools.gnu import PkgConfigDeps + +required_conan_version = ">=1.53.0" + +class PackageConan(ConanFile): + name = "rdma-core" + description = ("RDMA core userspace libraries and daemons. " + "Provides userspace components for the Linux Kernel's drivers/infiniband subsystem.") + license = ("GPL-2.0", "Linux-OpenIB", "BSD-2-Clause") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/linux-rdma/rdma-core" + topics = ("linux-kernel", "rdma", "infiniband", "iwarp", "roce", "kernel-rdma-drivers", + "libefa", "libibmad", "libibnetdisc", "libibumad", "libibverbs", "libmana", + "libmlx4", "libmlx5", "librdmacm") + + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "build_libefa": [True, False], + "build_libibnetdisc": [True, False], + "build_libmana": [True, False], + "build_libmlx4": [True, False], + "build_libmlx5": [True, False], + "build_librdmacm": [True, False], + } + default_options = { + "build_libefa": True, + "build_libibnetdisc": True, + "build_libmana": True, + "build_libmlx4": True, + "build_libmlx5": False, + "build_librdmacm": False, + } + + 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 requirements(self): + self.requires("libnl/3.8.0") + if self.settings.os in ["Linux", "FreeBSD"]: + self.requires("libudev/system") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"]: + # libnl is only available on Linux + raise ConanInvalidConfiguration("rdma-core is only supported on Linux") + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.1.0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = VirtualBuildEnv(self) + tc.generate() + tc = CMakeToolchain(self) + # Shared libraries are built by default and even if ENABLE_STATIC is turned on, + # the static libraries still have dependencies on the shared libraries. + # tc.variables["ENABLE_STATIC"] = not self.options.shared + tc.variables["NO_PYVERBS"] = True + tc.variables["NO_MAN_PAGES"] = True + tc.generate() + deps = CMakeDeps(self) + deps.generate() + deps = PkgConfigDeps(self) + deps.generate() + + def _patch_sources(self): + # Build only the libraries and disable everything else + allowed_subdirs = ["ccan", "kernel-boot", "kernel-headers", "libibmad", "libibnetdisc", "libibumad", "libibverbs", + "librdmacm", "providers/efa", "providers/mana", "providers/mlx4", "providers/mlx5", "util"] + allowed_subdirs = [ + subdir for subdir in allowed_subdirs + if self.options.get_safe(f"build_{subdir.replace('providers/', 'lib')}", True) + ] + cmakelists_path = os.path.join(self.source_folder, "CMakeLists.txt") + cmakelists_content = load(self, cmakelists_path) + patched_content = re.sub(r"add_subdirectory\((?!({})\)).+\)".format("|".join(allowed_subdirs)), r"", cmakelists_content) + save(self, cmakelists_path, patched_content) + # Adjust the pkg-config target for libnl + replace_in_file(self, cmakelists_path, "libnl-3.0 libnl-route-3.0", "libnl") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "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, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "etc")) + + def package_info(self): + def _add_component(name, requires, pthread=False): + if not self.options.get_safe(f"build_{name}", True): + return + component = self.cpp_info.components[name] + component.set_property("pkg_config_name", name) + component.libs = [name.replace("lib", "")] + component.requires = requires + ["libudev::libudev"] + if pthread and self.settings.os in ["Linux", "FreeBSD"]: + component.system_libs = ["pthread"] + + _add_component("libefa", ["libibverbs"], pthread=True) + _add_component("libibmad", ["libibumad"]) + _add_component("libibnetdisc", ["libibmad", "libibumad"]) + _add_component("libibumad", []) + _add_component("libibverbs", ["libnl::nl", "libnl::nl-route"], pthread=True) + _add_component("libmana", ["libibverbs"], pthread=True) + _add_component("libmlx4", ["libibverbs"], pthread=True) + _add_component("libmlx5", ["libibverbs"], pthread=True) + _add_component("librdmacm", ["libibverbs", "libnl::nl", "libnl::nl-route"], pthread=True) + diff --git a/recipes/rdma-core/all/test_package/CMakeLists.txt b/recipes/rdma-core/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..232275e72fa44 --- /dev/null +++ b/recipes/rdma-core/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +find_package(rdma-core REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE rdma-core::libibverbs) diff --git a/recipes/rdma-core/all/test_package/conanfile.py b/recipes/rdma-core/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/rdma-core/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/rdma-core/all/test_package/test_package.cpp b/recipes/rdma-core/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..abeb298aef336 --- /dev/null +++ b/recipes/rdma-core/all/test_package/test_package.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2004 Topspin Communications. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include + +#include + +#include + +int main(int argc, char *argv[]) +{ + struct ibv_device **dev_list; + int num_devices, i; + + dev_list = ibv_get_device_list(&num_devices); + if (!dev_list) { + perror("Failed to get IB devices list"); + return 0; + } + + printf(" %-16s\t node GUID\n", "device"); + printf(" %-16s\t----------------\n", "------"); + + for (i = 0; i < num_devices; ++i) { + printf(" %-16s\t%016llx\n", + ibv_get_device_name(dev_list[i]), + (unsigned long long) be64toh(ibv_get_device_guid(dev_list[i]))); + } + + ibv_free_device_list(dev_list); + + return 0; +} diff --git a/recipes/rdma-core/config.yml b/recipes/rdma-core/config.yml new file mode 100644 index 0000000000000..14360fc69dbd2 --- /dev/null +++ b/recipes/rdma-core/config.yml @@ -0,0 +1,3 @@ +versions: + "49.0": + folder: all From f885060de0a0afc79675c5ca047afa7fcf174b8a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 7 Mar 2024 17:23:31 +0200 Subject: [PATCH 3873/4087] (#19618) cn-cbor: remove invalid check_min_cppstd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * cn-cbor: add version cci.20200822, remove invalid check_min_cppstd * Update recipes/cn-cbor/all/conandata.yml * Update recipes/cn-cbor/config.yml --------- Co-authored-by: Francisco Ramírez --- recipes/cn-cbor/all/conandata.yml | 4 ++-- recipes/cn-cbor/all/conanfile.py | 21 ++++++++++++------- recipes/cn-cbor/all/test_package/conanfile.py | 2 +- recipes/cn-cbor/config.yml | 1 - 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/recipes/cn-cbor/all/conandata.yml b/recipes/cn-cbor/all/conandata.yml index 4de861bba88a9..617cedf518b2c 100644 --- a/recipes/cn-cbor/all/conandata.yml +++ b/recipes/cn-cbor/all/conandata.yml @@ -1,4 +1,4 @@ sources: "1.0.0": - sha256: eca2bcc15b8400037fd95748724287afbb966e34d4d0275a496b4872bcea9d77 - url: https://github.com/jimsch/cn-cbor/archive/1.0.0.zip + url: "https://github.com/jimsch/cn-cbor/archive/1.0.0.zip" + sha256: "eca2bcc15b8400037fd95748724287afbb966e34d4d0275a496b4872bcea9d77" diff --git a/recipes/cn-cbor/all/conanfile.py b/recipes/cn-cbor/all/conanfile.py index 91eccd3167699..d10556f9c9031 100644 --- a/recipes/cn-cbor/all/conanfile.py +++ b/recipes/cn-cbor/all/conanfile.py @@ -2,7 +2,6 @@ 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 @@ -42,8 +41,6 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("Windows shared builds are not supported right now") @@ -52,10 +49,16 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["fatal_warnings"] = False - tc.variables["coveralls"] = False - tc.variables["build_tests"] = False - tc.variables["build_docs"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.cache_variables["CN_CBOR_FATAL_WARNINGS"] = False + tc.cache_variables["CN_CBOR_COVERALLS"] = False + tc.cache_variables["CN_CBOR_BUILD_TESTS"] = False + tc.cache_variables["CN_CBOR_BUILD_DOCS"] = False + # For v1.0.0 + tc.cache_variables["fatal_warnings"] = False + tc.cache_variables["coveralls"] = False + tc.cache_variables["build_tests"] = False + tc.cache_variables["build_docs"] = False tc.generate() def build(self): @@ -64,7 +67,9 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) cmake = CMake(self) cmake.install() os.remove(os.path.join(self.package_folder, "README.md")) diff --git a/recipes/cn-cbor/all/test_package/conanfile.py b/recipes/cn-cbor/all/test_package/conanfile.py index fae501d0afb9e..ef5d7042163ec 100644 --- a/recipes/cn-cbor/all/test_package/conanfile.py +++ b/recipes/cn-cbor/all/test_package/conanfile.py @@ -6,7 +6,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" def requirements(self): diff --git a/recipes/cn-cbor/config.yml b/recipes/cn-cbor/config.yml index 8f50af2b049ed..c7f13630776fb 100644 --- a/recipes/cn-cbor/config.yml +++ b/recipes/cn-cbor/config.yml @@ -1,4 +1,3 @@ ---- versions: "1.0.0": folder: "all" From 5df252c7190b202e33b03df70eaf4b21bfcdd2e9 Mon Sep 17 00:00:00 2001 From: Carlos Zoido Date: Thu, 7 Mar 2024 17:42:05 +0100 Subject: [PATCH 3874/4087] (#23015) Add install_substitutes for zypper with "xorgproto-devel" --- recipes/opengl/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/opengl/all/conanfile.py b/recipes/opengl/all/conanfile.py index 5ccf58c206f4b..21ba6fcb6a6e6 100644 --- a/recipes/opengl/all/conanfile.py +++ b/recipes/opengl/all/conanfile.py @@ -36,7 +36,8 @@ def system_requirements(self): pacman.install(["libglvnd"], update=True, check=True) zypper = package_manager.Zypper(self) - zypper.install(["Mesa-libGL-devel", "glproto-devel"], update=True, check=True) + zypper.install_substitutes(["Mesa-libGL-devel", "glproto-devel"], + ["Mesa-libGL-devel", "xorgproto-devel"], update=True, check=True) pkg = package_manager.Pkg(self) pkg.install(["libglvnd"], update=True, check=True) From c4308b493f37390333773d651c80b015b714ae69 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Mar 2024 03:07:48 +0900 Subject: [PATCH 3875/4087] (#22891) idna: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * idna: add recipe * make cmake 3.16 * remove sample topics Co-authored-by: Rubén Rincón Blanco * fix target name * fix license Co-authored-by: Martin Valgur * Add VirtualBuildEnv Co-authored-by: Martin Valgur * Add missing import for VirtualBuildEnv * Explicity disable building benchmarks Co-authored-by: Uilian Ries * Revert license names Co-authored-by: Uilian Ries * update cci.20240228, remove cmake wrapper --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Martin Valgur Co-authored-by: Uilian Ries --- recipes/idna/all/conandata.yml | 4 + recipes/idna/all/conanfile.py | 85 +++++++++++++++++++ recipes/idna/all/test_package/CMakeLists.txt | 8 ++ recipes/idna/all/test_package/conanfile.py | 26 ++++++ .../idna/all/test_package/test_package.cpp | 14 +++ recipes/idna/config.yml | 3 + 6 files changed, 140 insertions(+) create mode 100644 recipes/idna/all/conandata.yml create mode 100644 recipes/idna/all/conanfile.py create mode 100644 recipes/idna/all/test_package/CMakeLists.txt create mode 100644 recipes/idna/all/test_package/conanfile.py create mode 100644 recipes/idna/all/test_package/test_package.cpp create mode 100644 recipes/idna/config.yml diff --git a/recipes/idna/all/conandata.yml b/recipes/idna/all/conandata.yml new file mode 100644 index 0000000000000..9c2dca57fc556 --- /dev/null +++ b/recipes/idna/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20240228": + url: "https://github.com/ada-url/idna/archive/fff988508f659ef5c6494572ebea3d5db2466ed0.tar.gz" + sha256: "68cf182f822d8e8599f827767e215a0c4f67f381d729e4ba15509443b52f849b" diff --git a/recipes/idna/all/conanfile.py b/recipes/idna/all/conanfile.py new file mode 100644 index 0000000000000..2e0091c585904 --- /dev/null +++ b/recipes/idna/all/conanfile.py @@ -0,0 +1,85 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +import os + +required_conan_version = ">=1.52.0" + +class IdnaConan(ConanFile): + name = "idna" + description = "C++ library implementing the to_ascii and to_unicode functions from the Unicode Technical Standard." + license = ("Apache-2.0", "MIT") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ada-url/idna/" + topics = ("unicode", "icu") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False + tc.variables["ADA_IDNA_BENCHMARKS"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE-*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ada-idna"] + self.cpp_info.set_property("cmake_file_name", "ada-idna") + self.cpp_info.set_property("cmake_target_name", "ada-idna") diff --git a/recipes/idna/all/test_package/CMakeLists.txt b/recipes/idna/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..889584ca451e0 --- /dev/null +++ b/recipes/idna/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ada-idna REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ada-idna) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/idna/all/test_package/conanfile.py b/recipes/idna/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/idna/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/idna/all/test_package/test_package.cpp b/recipes/idna/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..cbb7f6eeb2dec --- /dev/null +++ b/recipes/idna/all/test_package/test_package.cpp @@ -0,0 +1,14 @@ +#include +#include + +#include "idna.h" + +int main(void) { + std::string_view input = reinterpret_cast(u8"meßagefactory.ca"); // non-empty UTF-8 string, must be percent decoded + std::string idna_ascii = ada::idna::to_ascii(input); + if(idna_ascii.empty()) { + // There was an error. + } + std::cout << idna_ascii << std::endl; + // outputs 'xn--meagefactory-m9a.ca' if the input is u8"meßagefactory.ca" +} diff --git a/recipes/idna/config.yml b/recipes/idna/config.yml new file mode 100644 index 0000000000000..34cca17a5b748 --- /dev/null +++ b/recipes/idna/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20240228": + folder: all From 659121febb31eb9d73e1347a46765db9673565cc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 8 Mar 2024 01:47:48 -0600 Subject: [PATCH 3876/4087] (#22996) avahi: Fix conflicting definition of strlcpy from glibc * avahi: Fix conflicting definition of strlcpy from glibc I was unable to coerce glibc to not include the function declaration for strlcpy. It's included in `/usr/include/string.h` in recent versions of glibc. At least version 2.38 of glibc. Since I couldn't avoid the definition from glibc, I removed the static keyword to make the definitions the same. Avahi should still use its internal strlcpy in this situation. * Rename the strlcpy function to avoid conflicts * Update recipes/avahi/all/conandata.yml Co-authored-by: Uilian Ries --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Co-authored-by: Uilian Ries --- recipes/avahi/all/conandata.yml | 5 ++ recipes/avahi/all/conanfile.py | 6 +- ...ing-definition-with-strlcpy-in-glibc.patch | 79 +++++++++++++++++++ 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 recipes/avahi/all/patches/0.8-0001-Avoid-conflicting-definition-with-strlcpy-in-glibc.patch diff --git a/recipes/avahi/all/conandata.yml b/recipes/avahi/all/conandata.yml index 49b6c0881959d..6cf843ad984a8 100644 --- a/recipes/avahi/all/conandata.yml +++ b/recipes/avahi/all/conandata.yml @@ -2,3 +2,8 @@ sources: "0.8": url: "https://github.com/lathiat/avahi/releases/download/v0.8/avahi-0.8.tar.gz" sha256: "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda" +patches: + "0.8": + - patch_file: "patches/0.8-0001-Avoid-conflicting-definition-with-strlcpy-in-glibc.patch" + patch_description: "Avoid conflicting definition with glibc strlcpy" + patch_type: "conan" diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index fdd5b5034805a..5aa91dc39e695 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv -from conan.tools.files import copy, get, rmdir, rm +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rm from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.errors import ConanInvalidConfiguration @@ -32,6 +32,9 @@ class AvahiConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -86,6 +89,7 @@ def generate(self): env.vars(self).save_script("conanbuild_pkg_config") def build(self): + apply_conandata_patches(self) autotools = Autotools(self) autotools.configure() autotools.make() diff --git a/recipes/avahi/all/patches/0.8-0001-Avoid-conflicting-definition-with-strlcpy-in-glibc.patch b/recipes/avahi/all/patches/0.8-0001-Avoid-conflicting-definition-with-strlcpy-in-glibc.patch new file mode 100644 index 0000000000000..3a595ccc1cb70 --- /dev/null +++ b/recipes/avahi/all/patches/0.8-0001-Avoid-conflicting-definition-with-strlcpy-in-glibc.patch @@ -0,0 +1,79 @@ +From 495f8868f4cdad235608c7ac732ade17d3d49b17 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 6 Mar 2024 09:44:33 -0600 +Subject: [PATCH] Avoid conflicting definition with strlcpy in glibc + +--- + avahi-common/domain.c | 8 ++------ + avahi-compat-howl/text.c | 8 ++------ + 2 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/avahi-common/domain.c b/avahi-common/domain.c +index 3b1ab68..555aeb3 100644 +--- a/avahi-common/domain.c ++++ b/avahi-common/domain.c +@@ -477,9 +477,7 @@ int avahi_service_name_join(char *p, size_t size, const char *name, const char * + return AVAHI_OK; + } + +-#ifndef HAVE_STRLCPY +- +-static size_t strlcpy(char *dest, const char *src, size_t n) { ++static size_t avahi_strlcpy(char *dest, const char *src, size_t n) { + assert(dest); + assert(src); + +@@ -491,8 +489,6 @@ static size_t strlcpy(char *dest, const char *src, size_t n) { + return strlen(src); + } + +-#endif +- + int avahi_service_name_split(const char *p, char *name, size_t name_size, char *type, size_t type_size, char *domain, size_t domain_size) { + enum { + NAME, +@@ -524,7 +520,7 @@ int avahi_service_name_split(const char *p, char *name, size_t name_size, char * + + switch (state) { + case NAME: +- strlcpy(name, buf, name_size); ++ avahi_strlcpy(name, buf, name_size); + state = TYPE; + break; + +diff --git a/avahi-compat-howl/text.c b/avahi-compat-howl/text.c +index 7ef4df3..45f43ae 100644 +--- a/avahi-compat-howl/text.c ++++ b/avahi-compat-howl/text.c +@@ -37,9 +37,7 @@ struct _sw_text_record { + int buffer_valid; + }; + +-#ifndef HAVE_STRLCPY +- +-static size_t strlcpy(char *dest, const char *src, size_t n) { ++static size_t avahi_strlcpy(char *dest, const char *src, size_t n) { + assert(dest); + assert(src); + +@@ -51,8 +49,6 @@ static size_t strlcpy(char *dest, const char *src, size_t n) { + return strlen(src); + } + +-#endif +- + sw_result sw_text_record_init(sw_text_record *self) { + assert(self); + +@@ -244,7 +240,7 @@ sw_result sw_text_record_iterator_next( + if (avahi_string_list_get_pair(self->index, &mkey, &mvalue, &msize) < 0) + return SW_E_UNKNOWN; + +- strlcpy(key, mkey, SW_TEXT_RECORD_MAX_LEN); ++ avahi_strlcpy(key, mkey, SW_TEXT_RECORD_MAX_LEN); + memset(val, 0, SW_TEXT_RECORD_MAX_LEN); + memcpy(val, mvalue, msize); + *val_len = msize; +-- +2.44.0 + From 544b0cd842c0c9a7cd24c6be305b26babb81b4b5 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 8 Mar 2024 09:07:40 +0100 Subject: [PATCH 3877/4087] (#22895) stale workflow: don't remove stale label twice the stale label is already removed automatically by the action. `labels-to-remove-when-unstale` is used to remove additional labels. https://github.com/actions/stale?tab=readme-ov-file#labels-to-remove-when-unstale https://github.com/conan-io/conan-center-index/actions/runs/8044709241/job/21968729920#step:2:25205 https://github.com/conan-io/conan-center-index/actions/runs/8044709241/job/21968729920#step:2:25208 --- .github/workflows/stale.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index c9c6239fc08ea..5e391a2d5e860 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -42,8 +42,6 @@ jobs: # Label to apply on staled PRs stale-pr-label: 'stale' - # Label to be removed when updating a PR - labels-to-remove-when-unstale: 'stale' # Skip issues when having stale state remove-issue-stale-when-updated: false From 20b2d5041e4c20d61777fa8def7af68c1e1723c2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Mar 2024 17:28:41 +0900 Subject: [PATCH 3878/4087] (#23000) minizip-ng: add version 4.0.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * minizip-ng/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * minizip-ng/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * minizip-ng: add version 4.0.5 * revert xz_utils Co-authored-by: Rubén Rincón Blanco --------- Co-authored-by: Eric Lemanissier (bot) Co-authored-by: ericLemanissier Co-authored-by: Rubén Rincón Blanco --- recipes/minizip-ng/all/conandata.yml | 3 +++ recipes/minizip-ng/all/conanfile.py | 4 ++-- recipes/minizip-ng/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index 59d6ffad1b8f1..1c6819fac1991 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.5": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.5.tar.gz" + sha256: "9bb636474b8a4269280d32aca7de4501f5c24cc642c9b4225b4ed7b327f4ee73" "4.0.4": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.4.tar.gz" sha256: "955800fe39f9d830fcb84e60746952f6a48e41093ec7a233c63ad611b5fcfe9f" diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 01cfddc75128c..7d26ebb7bc61f 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -94,7 +94,7 @@ def requirements(self): def build_requirements(self): if self._needs_pkg_config: - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if Version(self.version) >= "4.0.0": self.tool_requires("cmake/[>=3.19 <4]") @@ -163,7 +163,7 @@ def package_info(self): # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed prefix = "lib" if is_msvc(self) or self._is_clang_cl else "" - suffix = "" if Version(self.version) < "3.0.5" or self.options.mz_compatibility else "-ng" + suffix = "" if self.options.mz_compatibility else "-ng" self.cpp_info.components["minizip"].libs = [f"{prefix}minizip{suffix}"] if self.options.with_lzma: self.cpp_info.components["minizip"].defines.append("HAVE_LZMA") diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index 8a16d3eeb883f..c5531d3a6ec01 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.5": + folder: all "4.0.4": folder: all "4.0.3": From 26060802f4ae6b24df26409bd6e233c4eb1d42fb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 09:01:47 +0000 Subject: [PATCH 3879/4087] (#23017) [docs] Regenerate tables of contents Co-authored-by: conan-center-bot <54393557+conan-center-bot@users.noreply.github.com> --- docs/adding_packages/dependencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index f22925892a890..80a83e5335fbf 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -16,6 +16,7 @@ from handling "vendored" dependencies to what versions should be used. * [Overriding the provided properties from the consumer](#overriding-the-provided-properties-from-the-consumer) * [Adherence to Build Service](#adherence-to-build-service) * [Version Ranges](#version-ranges) + * [Adding Version Ranges](#adding-version-ranges) * [Handling "internal" dependencies](#handling-internal-dependencies) ## List Dependencies From e7fb49ee12bc36f497a0510f744d7936b8adccab Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Fri, 8 Mar 2024 10:28:22 +0100 Subject: [PATCH 3880/4087] (#22679) boost: Honoring tools.build:defines --- recipes/boost/all/conanfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index a8416e04190c4..f2f1c3f6feecd 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1143,6 +1143,9 @@ def add_defines(library): if self._with_zstd: add_defines("zstd") + for define in self.conf.get("tools.build:defines", default=[], check_type=list): + flags.append(f"define={define}") + if is_msvc(self): flags.append(f"runtime-link={'static' if is_msvc_static_runtime(self) else 'shared'}") flags.append(f"runtime-debugging={'on' if 'd' in msvc_runtime_flag(self) else 'off'}") From 15b6bb5de29d7af453b9b1ef3c266245bf797ac5 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 8 Mar 2024 04:07:51 -0600 Subject: [PATCH 3881/4087] (#22957) pcl: Use the mesa-glu Conan package This is done the same way as for the FreeGLUT package in #22428. Requires #22956. Fixes #22944. --- recipes/pcl/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index 3d3a9f2fd7b3e..662a6430c2633 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/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 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, rm @@ -212,7 +213,7 @@ def _ext_dep_to_conan_target(self, dep): "libusb": ["libusb::libusb"], "metslib": [], "opencv": ["opencv::opencv"], - "opengl": ["opengl::opengl", "freeglut::freeglut", "glew::glew", "glu::glu"], + "opengl": ["opengl::opengl", "freeglut::freeglut", "glew::glew", "glu::glu" if is_apple_os(self) or self.settings.os == "Windows" else "mesa-glu::mesa-glu"], "openni": [], "openni2": [], "pcap": ["libpcap::libpcap"], @@ -380,7 +381,10 @@ def requirements(self): self.requires("opengl/system", transitive_headers=True) self.requires("freeglut/3.4.0", transitive_headers=True) self.requires("glew/2.2.0", transitive_headers=True) - self.requires("glu/system", transitive_headers=True) + if is_apple_os(self) or self.settings.os == "Windows": + self.requires("glu/system", transitive_headers=True) + else: + self.requires("mesa-glu/9.0.3", transitive_headers=True) if self._is_enabled("opencv"): self.requires("opencv/4.8.1", transitive_headers=True) if self._is_enabled("zlib"): From 556ff2cbee7c7044d94471048f431eb1125ffeb9 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Mar 2024 19:27:53 +0900 Subject: [PATCH 3882/4087] (#23022) neargye-semver: add version 0.3.1 --- recipes/neargye-semver/all/conandata.yml | 3 +++ recipes/neargye-semver/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/neargye-semver/all/conandata.yml b/recipes/neargye-semver/all/conandata.yml index 98327d51fc307..6859f75eb1461 100644 --- a/recipes/neargye-semver/all/conandata.yml +++ b/recipes/neargye-semver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.1": + url: "https://github.com/Neargye/semver/archive/refs/tags/v0.3.1.tar.gz" + sha256: "422b5882460a685a455fda9da53b85aa1824dcb9ba9dfbd0460ce50393f71061" "0.3.0": url: "https://github.com/Neargye/semver/archive/refs/tags/v0.3.0.tar.gz" sha256: "f88697a059e7a850ca65315828682e14c34958fb585c3b8555b9d89f5c76e3cc" diff --git a/recipes/neargye-semver/config.yml b/recipes/neargye-semver/config.yml index d126790212e0c..f9de643fda854 100644 --- a/recipes/neargye-semver/config.yml +++ b/recipes/neargye-semver/config.yml @@ -1,3 +1,5 @@ versions: + "0.3.1": + folder: all "0.3.0": folder: all From 18dd5145cb58b6cb79b97986c771e7333fb3a1c7 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Mar 2024 19:48:23 +0900 Subject: [PATCH 3883/4087] (#23023) rapidfuzz: add version 3.0.2, fix urls, remove cci version * rapidfuzz: add version 3.0.2, fix homepage url * use C++11 instread of C++98 * remove cci. version --- recipes/rapidfuzz/all/conandata.yml | 18 +++++++++--------- recipes/rapidfuzz/all/conanfile.py | 6 ++---- recipes/rapidfuzz/config.yml | 4 ++-- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index c548146b1f784..79328af160566 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,22 +1,22 @@ sources: + "3.0.2": + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v3.0.2.tar.gz" + sha256: "4fddce5c0368e78bd604c6b820e6be248d669754715e39b4a8a281bda4c06de1" "3.0.0": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v3.0.0.tar.gz" + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v3.0.0.tar.gz" sha256: "26a76c5a881c07638567557c1d73f6601f0d444816de03f297d731b1e019f21b" "2.2.3": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.3.tar.gz" + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v2.2.3.tar.gz" sha256: "df4412e9593945782de2212095bd4b70a8f8e63ae8f313976c616809be124d2c" "2.2.0": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.0.tar.gz" + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v2.2.0.tar.gz" sha256: "8fe2d2792ee8b32598f4aa3aad5db7d449fb3c4a32387080f650335cf4faef81" "2.1.1": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.1.1.tar.gz" + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v2.1.1.tar.gz" sha256: "1680c0dbf77d228ea81825c24755db99ee0e21a8db3663b5136741b3e108c3f2" "2.0.0": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.0.0.tar.gz" + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v2.0.0.tar.gz" sha256: "0d6d399be1de151631bbc189b72089600884831a4dac91e22f17351cef18ae64" "1.10.4": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v1.10.4.tar.gz" + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v1.10.4.tar.gz" sha256: "84a1ea8759aaa5bc8587c26504421d6fd34ad2a8dc74bf469b0cc3cc6758e17a" - "cci.20210513": - url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/d1e82379395cafc6d439c1c1e2cbe7512eaf2518.tar.gz" - sha256: "e5c306aae2fb4b34a381fbffaa97399114f20de14d83914ac2c9013b0226ce57" diff --git a/recipes/rapidfuzz/all/conanfile.py b/recipes/rapidfuzz/all/conanfile.py index 7ffe16027b312..16f3766c7f789 100644 --- a/recipes/rapidfuzz/all/conanfile.py +++ b/recipes/rapidfuzz/all/conanfile.py @@ -15,7 +15,7 @@ class PackageConan(ConanFile): description = "Rapid fuzzy string matching in C++ using the Levenshtein Distance" license = "MIT" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/maxbachmann/rapidfuzz-cpp" + homepage = "https://github.com/rapidfuzz/rapidfuzz-cpp" topics = ("levenshtein", "string-matching", "string-similarity", "string-comparison", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @@ -23,8 +23,6 @@ class PackageConan(ConanFile): @property def _min_cppstd(self): - if self.version == "cci.20210513": - return 98 return 17 @property @@ -34,7 +32,7 @@ def _compilers_minimum_version(self): "msvc": "192", "gcc": "6", "clang": "6", - "apple-clang": "12", + "apple-clang": "12", } def layout(self): diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index ccf581bfbc4ab..f32d6b33d56dc 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.2": + folder: "all" "3.0.0": folder: "all" "2.2.3": @@ -11,5 +13,3 @@ versions: folder: "all" "1.10.4": folder: "all" - "cci.20210513": - folder: "all" From 146b5f8e0f2c5b1f9888eb2fa38fc4dc11337247 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Mar 2024 20:07:51 +0900 Subject: [PATCH 3884/4087] (#23024) strong_type: add version v14 --- 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 6f362b86eb346..33e85e480c828 100644 --- a/recipes/strong_type/all/conandata.yml +++ b/recipes/strong_type/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "v14": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v14.tar.gz" + sha256: "6cc5a6f8de5b52e6c9e4c8b246b6052b5943d6de9b314660009e092af522d2fc" "v13": url: "https://github.com/rollbear/strong_type/archive/refs/tags/v13.tar.gz" sha256: "96a799dff6ed8d83040703c6f79162fc5ddf13d1aea4e56ce456736a30e07c5a" diff --git a/recipes/strong_type/config.yml b/recipes/strong_type/config.yml index cf589fbd0a896..5469ad726c024 100644 --- a/recipes/strong_type/config.yml +++ b/recipes/strong_type/config.yml @@ -1,4 +1,6 @@ versions: + "v14": + folder: all "v13": folder: all "v12": From 18ffa8f5bac259862e5ccf1964ce6ee4c7852cc2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Mar 2024 20:28:35 +0900 Subject: [PATCH 3885/4087] (#23027) xbyak: add version 7.06 --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index 19f018739c44d..ecd59f56a583c 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.06": + url: "https://github.com/herumi/xbyak/archive/v7.06.tar.gz" + sha256: "686c710a67c7fb8e99d8e326cf22aea310a29db27a9db8ba19a9fee44f8ec097" "7.05": url: "https://github.com/herumi/xbyak/archive/v7.05.tar.gz" sha256: "853b619a6615985dbb36e8c5528d96d83f7bba3d0728ed3b3ee8ac8f4f96d87f" diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index 3f41c68a5a75f..d6d3f30f6e896 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "7.06": + folder: all "7.05": folder: all "7.00": From 3b36ae87052c4d0f1a2cbf511cb5027535012c3a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 8 Mar 2024 16:46:40 +0100 Subject: [PATCH 3886/4087] (#22441) pulseaudio 17.0 * pulseaudio 17.0 * Update conanfile.py * remove gettext * enable non-linux * remove unused deps * don't require xorg on non linux * remove alsa dependency * pulseaudio is always shared https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/v17.0/src/meson.build?ref_type=tags#L201 https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/v17.0/src/pulse/meson.build?ref_type=tags#L83 * Revert "remove gettext" This reverts commit 667e54d1abf3a5066844b5813d1196c1ece131af. * gettext is a requirement (not a tool_requirement) * Revert "enable non-linux" This reverts commit bc57129d9c7563360410e392a95e27a3d1873ad5. * Apply suggestions from code review Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/pulseaudio/config.yml | 2 + recipes/pulseaudio/meson/conandata.yml | 4 + recipes/pulseaudio/meson/conanfile.py | 147 ++++++++++++++++++ .../meson/test_package/CMakeLists.txt | 7 + .../meson/test_package/conanfile.py | 26 ++++ .../meson/test_package/test_package.c | 8 + 6 files changed, 194 insertions(+) create mode 100644 recipes/pulseaudio/meson/conandata.yml create mode 100644 recipes/pulseaudio/meson/conanfile.py create mode 100644 recipes/pulseaudio/meson/test_package/CMakeLists.txt create mode 100644 recipes/pulseaudio/meson/test_package/conanfile.py create mode 100644 recipes/pulseaudio/meson/test_package/test_package.c diff --git a/recipes/pulseaudio/config.yml b/recipes/pulseaudio/config.yml index 4aaa9c6cc7082..6c0f518e5ed25 100644 --- a/recipes/pulseaudio/config.yml +++ b/recipes/pulseaudio/config.yml @@ -1,4 +1,6 @@ versions: + "17.0": + folder: meson "14.2": folder: all "14.0": diff --git a/recipes/pulseaudio/meson/conandata.yml b/recipes/pulseaudio/meson/conandata.yml new file mode 100644 index 0000000000000..3380326dc7539 --- /dev/null +++ b/recipes/pulseaudio/meson/conandata.yml @@ -0,0 +1,4 @@ +sources: + "17.0": + url: "https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz" + sha256: "053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5" diff --git a/recipes/pulseaudio/meson/conanfile.py b/recipes/pulseaudio/meson/conanfile.py new file mode 100644 index 0000000000000..a9700e8c612e3 --- /dev/null +++ b/recipes/pulseaudio/meson/conanfile.py @@ -0,0 +1,147 @@ +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, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.53.0" + + +class PulseAudioConan(ConanFile): + name = "pulseaudio" + description = "PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for sound applications." + topics = ("sound", "audio", "sound-server") + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://pulseaudio.org/" + license = "LGPL-2.1" + + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_glib": [True, False], + "with_fftw": [True, False], + "with_x11": [True, False], + "with_openssl": [True, False], + "with_dbus": [True, False], + } + default_options = { + "with_glib": False, + "with_fftw": False, + "with_x11": True, + "with_openssl": True, + "with_dbus": False, + } + + def config_options(self): + if self.settings.os not in ['Linux', 'FreeBSD']: + del self.options.with_x11 + + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if not self.options.with_dbus: + del self.options.with_fftw + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("libgettext/0.22") + self.requires("libiconv/1.17") + self.requires("libsndfile/1.2.2") + if self.options.with_glib: + self.requires("glib/2.78.1") + if self.options.get_safe("with_fftw"): + self.requires("fftw/3.3.10") + if self.options.get_safe("with_x11"): + self.requires("xorg/system") + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + if self.options.with_dbus: + self.requires("dbus/1.15.8") + + def validate(self): + if self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} recipe is only compatible with Linux right now. Contributions are welcome.") + + if self.options.get_safe("with_fftw"): + if not self.dependencies["fftw"].options.precision_single: + raise ConanInvalidConfiguration( + "Pulse audio uses fftw single precision. " + "Either set option -o fftw/*:precision_single=True or -o pulseaudio/*:with_fftw=False" + ) + + def build_requirements(self): + self.tool_requires("meson/1.3.1") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") + + 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 = MesonToolchain(self) + tc.project_options['udevrulesdir']="${prefix}/bin/udev/rules.d" + tc.project_options['systemduserunitdir'] = os.path.join(self.build_folder, 'ignore') + for lib in ["x11", "openssl", "dbus", "glib", "fftw"]: + tc.project_options[lib] = "enabled" if self.options.get_safe(f"with_{lib}") else "disabled" + tc.project_options['database'] = 'simple' + tc.project_options['tests'] = False + tc.project_options['man'] = False + tc.project_options['doxygen'] = False + tc.project_options["daemon"] = False + tc.generate() + pkg = PkgConfigDeps(self) + pkg.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.la", os.path.join(self.package_folder, "lib"), recursive=True) + + def package_info(self): + self.cpp_info.components["pulse"].set_property("pkg_config_name", "libpulse") + self.cpp_info.components["pulse"].libs = ["pulse", f"pulsecommon-{self.version}"] + self.cpp_info.components["pulse"].libdirs.append(os.path.join("lib", "pulseaudio")) + self.cpp_info.components["pulse"].requires = ["libiconv::libiconv", "libsndfile::libsndfile", "libgettext::libgettext"] + if self.options.get_safe("with_fftw"): + self.cpp_info.components["pulse"].requires.append("fftw::fftw") + if self.options.get_safe("with_x11"): + self.cpp_info.components["pulse"].requires.append("xorg::xorg") + if self.options.with_openssl: + self.cpp_info.components["pulse"].requires.append("openssl::openssl") + if self.options.with_dbus: + self.cpp_info.components["pulse"].requires.append("dbus::dbus") + + self.cpp_info.components["pulse-simple"].set_property("pkg_config_name", "libpulse-simple") + self.cpp_info.components["pulse-simple"].libs = ["pulse-simple"] + self.cpp_info.components["pulse-simple"].defines.append("_REENTRANT") + self.cpp_info.components["pulse-simple"].requires = ["pulse"] + + if self.options.with_glib: + self.cpp_info.components["pulse-mainloop-glib"].set_property("pkg_config_name", "libpulse-mainloop-glib") + self.cpp_info.components["pulse-mainloop-glib"].libs = ["pulse-mainloop-glib"] + self.cpp_info.components["pulse-mainloop-glib"].defines.append("_REENTRANT") + self.cpp_info.components["pulse-mainloop-glib"].requires = ["pulse", "glib::glib-2.0"] + + # FIXME: add cmake generators when conan can generate PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY vars diff --git a/recipes/pulseaudio/meson/test_package/CMakeLists.txt b/recipes/pulseaudio/meson/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..a9b88d597549a --- /dev/null +++ b/recipes/pulseaudio/meson/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(pulseaudio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE pulseaudio::pulseaudio) diff --git a/recipes/pulseaudio/meson/test_package/conanfile.py b/recipes/pulseaudio/meson/test_package/conanfile.py new file mode 100644 index 0000000000000..8a5bb47f50c4c --- /dev/null +++ b/recipes/pulseaudio/meson/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 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/pulseaudio/meson/test_package/test_package.c b/recipes/pulseaudio/meson/test_package/test_package.c new file mode 100644 index 0000000000000..bb944137b6045 --- /dev/null +++ b/recipes/pulseaudio/meson/test_package/test_package.c @@ -0,0 +1,8 @@ +#include +#include + +int main() +{ + printf("pulse audio verions %s\n", pa_get_library_version()); + return 0; +} From e5ad80e27ff1e83d587011028bf97173b5d95d8a Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Sun, 10 Mar 2024 00:49:02 +0100 Subject: [PATCH 3887/4087] (#23041) OpenEXR: Add 3.2.3 --- recipes/openexr/3.x/conandata.yml | 8 ++++++++ recipes/openexr/config.yml | 2 ++ 2 files changed, 10 insertions(+) diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 0195d5928e91c..82b1ad8ce0c76 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.3": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.3.tar.gz" + sha256: "f3f6c4165694d5c09e478a791eae69847cadb1333a2948ca222aa09f145eba63" "3.2.2": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.2.tar.gz" sha256: "65de6459c245a4977ce4d7777e70b30d7ef48ec38e0cfb10205706ca50a8bf2e" @@ -12,6 +15,11 @@ sources: url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" patches: + "3.2.3": + - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" "3.2.2": - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index 7e99e768ab562..36bd699167db0 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.3": + folder: "3.x" "3.2.2": folder: "3.x" "3.2.1": From 9fb90d7d64d17442609088c02de35b55ffc6ea9b Mon Sep 17 00:00:00 2001 From: Thomas Beutlich <115483027+thbeu@users.noreply.github.com> Date: Sun, 10 Mar 2024 02:44:45 +0100 Subject: [PATCH 3888/4087] (#20634) libtiff: Update license to libtiff See also https://spdx.org/licenses/libtiff.html. --- recipes/libtiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index 75e73137d3b59..d4918b7ef9fb6 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -13,7 +13,7 @@ class LibtiffConan(ConanFile): name = "libtiff" description = "Library for Tag Image File Format (TIFF)" url = "https://github.com/conan-io/conan-center-index" - license = "MIT" + license = "libtiff" homepage = "http://www.simplesystems.org/libtiff" topics = ("tiff", "image", "bigtiff", "tagged-image-file-format") From ac7582244f20054c2e05ec0d64e053b089632dd4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Mar 2024 11:29:23 +0900 Subject: [PATCH 3889/4087] (#23032) luau: add version 0.615 --- 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 8fdc026015c27..9d1d69b7d2681 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.615": + url: "https://github.com/Roblox/luau/archive/0.615.tar.gz" + sha256: "264192ff1cb1bc3d5c223e5fbe9c4c628d203e2ac6ff72100e09640f43f60a60" "0.610": url: "https://github.com/Roblox/luau/archive/0.610.tar.gz" sha256: "a6ee2cab90c816a86b86113f01d9da865378074ee09dc6122dbe8bfbdf819ede" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 6a02dc4ce2b65..8d347f4e40ba9 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.615": + folder: all "0.610": folder: all "0.607": From e4f170c7cdf0174bd3a621f553c4433c14c9ea31 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 10 Mar 2024 03:49:43 +0100 Subject: [PATCH 3890/4087] (#23037) fast_float: fix digest See https://github.com/fastfloat/fast_float/pull/241 --- recipes/fast_float/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index 53a958df0d784..3a81a600d3f70 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,7 +1,7 @@ sources: "6.1.0": url: "https://github.com/fastfloat/fast_float/archive/v6.1.0.tar.gz" - sha256: "a9c8ca8ca7d68c2dbb134434044f9c66cfd4c383d5e85c36b704d30f6be82506" + sha256: "5a629e1f18f037ad0016c41ead630ea471cccbcdf60239ed3466c491d8e7c908" "6.0.0": url: "https://github.com/fastfloat/fast_float/archive/v6.0.0.tar.gz" sha256: "7e98671ef4cc7ed7f44b3b13f80156c8d2d9244fac55deace28bd05b0a2c7c8e" From f84ed09bb29553ee354957719ae0fe415a3cf536 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sun, 10 Mar 2024 06:09:27 -0500 Subject: [PATCH 3891/4087] (#22956) glew: Use the mesa-glu Conan package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * glew: Use the mesa-glu Conan package This is done the same way as for the FreeGLUT package. Fixes #22944. * Make dependency on GLU headers transitive GL/glew.h includes glu.h. --------- Co-authored-by: Francisco Ramírez --- recipes/glew/all/conanfile.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/glew/all/conanfile.py b/recipes/glew/all/conanfile.py index 3aaec716377cb..6df17e18c3783 100644 --- a/recipes/glew/all/conanfile.py +++ b/recipes/glew/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir import os @@ -45,7 +46,11 @@ def layout(self): def requirements(self): self.requires("opengl/system") - self.requires("glu/system") + # GL/glew.h includes glu.h. + if is_apple_os(self) or self.settings.os == "Windows": + self.requires("glu/system", transitive_headers=True) + else: + self.requires("mesa-glu/9.0.3", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,7 +95,11 @@ def package_info(self): self.cpp_info.components["glewlib"].libs = [lib_name] if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.components["glewlib"].defines.append("GLEW_STATIC") - self.cpp_info.components["glewlib"].requires = ["opengl::opengl", "glu::glu"] + self.cpp_info.components["glewlib"].requires = ["opengl::opengl"] + if is_apple_os(self) or self.settings.os == "Windows": + self.cpp_info.components["glewlib"].requires.append("glu::glu") + else: + self.cpp_info.components["glewlib"].requires.append("mesa-glu::mesa-glu") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "GLEW" From 733711cb7157a9d2aa4ae3a147305c256c02a627 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Mar 2024 01:49:13 +0900 Subject: [PATCH 3892/4087] (#23026) glaze: add version 2.2.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 b30f919630ddb..ea8a28e593a57 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/stephenberry/glaze/archive/v2.2.1.tar.gz" + sha256: "ef0eb30a038c623ca100696e773ba1c9888719ed02c46e9fabf6238ee07026bb" "2.1.9": url: "https://github.com/stephenberry/glaze/archive/v2.1.9.tar.gz" sha256: "678126f068e3c21c2b3d2e1ae914c72296b68610a004cf542ea050946ab06416" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 4e0d084a17dc7..a975091df90db 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: all "2.1.9": folder: all "2.1.7": From f8e0b4337f05bf471f86d6f19092bbf0ce252e8b Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:07:39 +0100 Subject: [PATCH 3893/4087] (#23028) [cppcheck] Add new version and remove old patch versions * Update config.yml * Update conandata.yml --- recipes/cppcheck/all/conandata.yml | 13 +++---------- recipes/cppcheck/config.yml | 6 ++---- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index 71b6f57a8c0f0..0e4ce7f0c9324 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,16 +1,13 @@ sources: + "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.13": - url: "https://github.com/danmar/cppcheck/archive/2.13.0.tar.gz" - sha256: "8229afe1dddc3ed893248b8a723b428dc221ea014fbc76e6289840857c03d450" "2.12.1": url: "https://github.com/danmar/cppcheck/archive/2.12.1.tar.gz" sha256: "2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2" - "2.12": - url: "https://github.com/danmar/cppcheck/archive/2.12.0.tar.gz" - sha256: "7d67776118aee9a4f0214f993a4baa4a168b2dbb10c14b6ec5baf2ca147565b8" "2.11.1": url: "https://github.com/danmar/cppcheck/archive/2.11.1.tar.gz" sha256: "fef6ef868d562d49136f158e1d0f7a38237e7e1c0a91d9189bdd465f1fe54316" @@ -24,10 +21,6 @@ sources: url: "https://github.com/danmar/cppcheck/archive/2.8.2.tar.gz" sha256: "30ba99ab54089c44b83f02e2453da046a7edff5237950d4A0eb1eba4afcb4f45" patches: - "2.12": - - patch_file: "patches/0004-pcre-debuglib-name-2.12.patch" - patch_description: "Consider the Debug suffix for Windows" - patch_type: "portability" "2.11.1": - patch_file: "patches/0003-pcre-debuglib-name.patch" patch_description: "Consider the Debug suffix for Windows" diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 27715122c7600..b1367265202bb 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,12 +1,10 @@ versions: - "2.13.3": + "2.13.4": folder: all - "2.13": + "2.13.3": folder: all "2.12.1": folder: all - "2.12": - folder: all "2.11.1": folder: all "2.10.3": From 7fe8cb859147f6e4ada416e38b2f496a243afdb2 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Mar 2024 02:27:26 +0900 Subject: [PATCH 3894/4087] (#23035) ada: add version 2.7.7 --- 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 1a32e1d601610..8588363204f2a 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "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" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index a50d2c958edf8..2c78344707765 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.7": + folder: all "2.7.5": folder: all "2.7.4": From f083267b04354cf96f41733c5fcfb718ee7941a6 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Mon, 11 Mar 2024 03:08:14 -0400 Subject: [PATCH 3895/4087] (#23044) genie: fix compiler paths --- recipes/genie/all/conanfile.py | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/recipes/genie/all/conanfile.py b/recipes/genie/all/conanfile.py index d29587bee35bc..731e87cc4f266 100644 --- a/recipes/genie/all/conanfile.py +++ b/recipes/genie/all/conanfile.py @@ -57,8 +57,10 @@ def _os(self): }[str(self.settings.os)] def _patch_compiler(self, cc, cxx): - replace_in_file(self, os.path.join(self.source_folder, "build", f"gmake.{self._os}", "genie.make"), "CC = gcc", f"CC = {cc}") - replace_in_file(self, os.path.join(self.source_folder, "build", f"gmake.{self._os}", "genie.make"), "CXX = g++", f"CXX = {cxx}") + makefile = os.path.join(self.source_folder, "build", f"gmake.{self._os}", "genie.make") + + replace_in_file(self, makefile, "CC = gcc", f"CC = {cc}" if cc else "") + replace_in_file(self, makefile, "CXX = g++", f"CXX = {cxx}" if cxx else "") @property def _genie_config(self): @@ -79,19 +81,7 @@ def build(self): self._patch_compiler("cccl", "cccl") self.run("make", cwd=self.source_folder) else: - cc = os.environ.get("CC") - cxx = os.environ.get("CXX") - if is_apple_os(self): - if not cc: - cc = "clang" - if not cxx: - cxx = "clang" - else: - if not cc: - cc = "clang" if self.settings.compiler == "clang" else "gcc" - if not cxx: - cxx = "clang++" if self.settings.compiler == "clang" else "g++" - self._patch_compiler(cc, cxx) + self._patch_compiler("", "") autotools = Autotools(self) autotools.make(args=[f"-C {self.source_folder}", f"OS={self._os}", f"config={self._genie_config}"]) From d5aed8dbe059a3f912a06e08142ba88903c9b48e Mon Sep 17 00:00:00 2001 From: Gang Wu Date: Mon, 11 Mar 2024 15:47:56 +0800 Subject: [PATCH 3896/4087] (#23046) add orc/2.0.0 * add orc/2.0.0 * update config.yml --- recipes/orc/all/conandata.yml | 3 +++ recipes/orc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/orc/all/conandata.yml b/recipes/orc/all/conandata.yml index 8458d41ec33d7..52fa72322f304 100644 --- a/recipes/orc/all/conandata.yml +++ b/recipes/orc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://dlcdn.apache.org/orc/orc-2.0.0/orc-2.0.0.tar.gz" + sha256: "9107730919c29eb39efaff1b9e36166634d1d4d9477e5fee76bfd6a8fec317df" "1.9.2": url: "https://dlcdn.apache.org/orc/orc-1.9.2/orc-1.9.2.tar.gz" sha256: "7f46f2c184ecefd6791f1a53fb062286818bd8710c3f08b94dd3cac365e240ee" diff --git a/recipes/orc/config.yml b/recipes/orc/config.yml index dcd92ae52deb2..956aa2a1d2506 100644 --- a/recipes/orc/config.yml +++ b/recipes/orc/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "1.9.2": folder: all "1.8.6": From e3b2a1b2535c0c271f164aec5f50e43f50b51ee1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Mar 2024 19:58:27 +0900 Subject: [PATCH 3897/4087] (#23049) libavif: add version 1.0.4 --- recipes/libavif/all/conandata.yml | 7 +++++++ recipes/libavif/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index cf855ce45dc5b..f4a45a5fbdb30 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.4": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.4.tar.gz" + sha256: "dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146" "1.0.3": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.3.tar.gz" sha256: "35e3cb3cd7158209dcc31d3bf222036de5b9597e368a90e18449ecc89bb86a19" @@ -15,6 +18,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.0.4": + - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.0.3": - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 74dbb33aa4932..0a86bfa38351a 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.4": + folder: all "1.0.3": folder: all "1.0.2": From 29917ef0647230369b4011ab60f20f260e2e44cc Mon Sep 17 00:00:00 2001 From: Noah Miller Date: Tue, 12 Mar 2024 02:29:13 +1300 Subject: [PATCH 3898/4087] (#22807) poco: add POCO_NO_SHARED_LIBRARY_DEBUG_SUFFIX definition Co-authored-by: Uilian Ries --- recipes/poco/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index ae636de694a7b..b2d6762eae55d 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -31,6 +31,7 @@ class PocoConan(ConanFile): "enable_active_record": [True, False, "deprecated"], "log_debug": [True, False], "with_sql_parser": [True, False], + "comp_foundation_sharedlibrary_debug_suffix": [True, False], } default_options = { "shared": False, @@ -39,6 +40,7 @@ class PocoConan(ConanFile): "enable_active_record": "deprecated", "log_debug": False, "with_sql_parser": True, + "comp_foundation_sharedlibrary_debug_suffix": True, } _PocoComponent = namedtuple("_PocoComponent", ("option", "default_option", "dependencies", "external_dependencies", "is_lib")) @@ -127,6 +129,8 @@ def config_options(self): del self.options.enable_prometheus if Version(self.version) < "1.13.0": del self.options.with_sql_parser + if self.settings.build_type != "Debug": + del self.options.comp_foundation_sharedlibrary_debug_suffix def configure(self): if self.options.enable_active_record != "deprecated": @@ -250,6 +254,9 @@ def generate(self): tc.preprocessor_definitions["POCO_NO_AUTOMATIC_LIBS"] = "1" # Picked up from conan v1 CMake wrapper, don't know the rationale tc.preprocessor_definitions["XML_DTD"] = "1" + # Disable SharedLibrary::suffix() including "d" as part of the platform-specific filename suffix + if not self.options.get_safe("comp_foundation_sharedlibrary_debug_suffix", True): + tc.preprocessor_definitions["POCO_NO_SHARED_LIBRARY_DEBUG_SUFFIX"] = "1" tc.generate() deps = CMakeDeps(self) From 958134dd0b7c148d26e8e2eda0bb70444e0ce69b Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 11 Mar 2024 15:08:28 +0100 Subject: [PATCH 3899/4087] (#23054) cppcheck: remove unused patch following https://github.com/conan-io/conan-center-index/commit/f8e0b4337f05bf471f86d6f19092bbf0ce252e8b --- .../all/patches/0004-pcre-debuglib-name-2.12.patch | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch diff --git a/recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch b/recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch deleted file mode 100644 index 7f30a7cb1d7d4..0000000000000 --- a/recipes/cppcheck/all/patches/0004-pcre-debuglib-name-2.12.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/cmake/findDependencies.cmake 2023-09-09 15:10:31.000000000 +0200 -+++ b/cmake/findDependencies.cmake 2023-09-11 08:44:40.220863900 +0200 -@@ -31,7 +31,7 @@ - - if (HAVE_RULES) - find_path(PCRE_INCLUDE pcre.h) -- find_library(PCRE_LIBRARY pcre) -+ find_library(PCRE_LIBRARY NAMES pcre pcred) - if (NOT PCRE_LIBRARY OR NOT PCRE_INCLUDE) - message(FATAL_ERROR "pcre dependency for RULES has not been found") - endif() From 5b9ff5f781fee9e9eb8eaa9f78796e3277ec8855 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 11 Mar 2024 15:48:04 +0100 Subject: [PATCH 3900/4087] (#23048) sml: add version 1.1.11 --- recipes/sml/all/conandata.yml | 3 +++ recipes/sml/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sml/all/conandata.yml b/recipes/sml/all/conandata.yml index 39d52a814e37c..886d2f2728c4c 100644 --- a/recipes/sml/all/conandata.yml +++ b/recipes/sml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.11": + url: "https://github.com/boost-ext/sml/archive/refs/tags/v1.1.11.tar.gz" + sha256: "8773efd639ce9649dc449135c8c53232e1cb5f4037d44be02c1b9ccc343f246d" "1.1.9": url: "https://github.com/boost-ext/sml/archive/refs/tags/v1.1.9.tar.gz" sha256: "c5ebffcf791ca0b89fd49a410b720432de748a31b7e0c9e5bd5c567d11c8c477" diff --git a/recipes/sml/config.yml b/recipes/sml/config.yml index aff831fd45b0a..a97246e773800 100644 --- a/recipes/sml/config.yml +++ b/recipes/sml/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.11": + folder: all "1.1.9": folder: all "1.1.8": From b5c385cacc09c384b94e0eb8881536b9a3ea01f0 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 11 Mar 2024 19:08:19 -0500 Subject: [PATCH 3901/4087] (#23012) xkbcommon: Disable installing bash completions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * xkbcommon: Disable installing bash completions Installing attempts to install these in the system directory. ``` Installing /var/home/jordan/.conan2/p/b/xkbco18970aa15216b/b/src/tools/xkbcli-bash-completion.sh to /usr/share/bash-completion/completions Installation failed due to insufficient permissions. Attempt to use /usr/bin/sudo to gain elevated privileges? [y/n] Traceback (most recent call last): File "/var/home/jordan/.conan2/p/mesond0eabfb2fb735/p/bin/mesonbuild/mesonmain.py", line 194, in run return options.run_func(options) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/home/jordan/.conan2/p/mesond0eabfb2fb735/p/bin/mesonbuild/minstall.py", line 873, in run installer.do_install(datafilename) File "/var/home/jordan/.conan2/p/mesond0eabfb2fb735/p/bin/mesonbuild/minstall.py", line 557, in do_install self.install_data(d, dm, destdir, fullprefix) File "/var/home/jordan/.conan2/p/mesond0eabfb2fb735/p/bin/mesonbuild/minstall.py", line 631, in install_data if self.do_copyfile(fullfilename, outfilename, makedirs=(dm, outdir), follow_symlinks=i.follow_symlinks): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/home/jordan/.conan2/p/mesond0eabfb2fb735/p/bin/mesonbuild/minstall.py", line 430, in do_copyfile self.copy2(from_file, to_file) File "/var/home/jordan/.conan2/p/mesond0eabfb2fb735/p/bin/mesonbuild/minstall.py", line 327, in copy2 shutil.copy2(*args, **kwargs) File "/usr/lib64/python3.12/shutil.py", line 475, in copy2 copyfile(src, dst, follow_symlinks=follow_symlinks) File "/usr/lib64/python3.12/shutil.py", line 262, in copyfile with open(dst, 'wb') as fdst: ^^^^^^^^^^^^^^^ PermissionError: [Errno 13] Permission denied: '/usr/share/bash-completion/completions/xkbcli' ``` * Add Version check for bash comppletion disabling --------- Co-authored-by: Rubén Rincón Blanco --- recipes/xkbcommon/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index a8f0e89851c34..6c59c78b63932 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -95,6 +95,8 @@ def generate(self): env.generate(scope="build") tc = MesonToolchain(self) + if Version(self.version) >= "1.6": + tc.project_options["enable-bash-completion"] = False tc.project_options["enable-docs"] = False tc.project_options["enable-wayland"] = self.options.get_safe("with_wayland", False) tc.project_options["enable-x11"] = self.options.with_x11 From 878b5e75e2702efc335fe230272c47dcd82f29c8 Mon Sep 17 00:00:00 2001 From: Eric Pederson Date: Tue, 12 Mar 2024 04:07:43 -0400 Subject: [PATCH 3902/4087] (#22740) Set min_cppstd to 11 for redis-plus-plus * (22739) Set min_cppstd to 11 for redis-plus-plus * Changes from review --- recipes/redis-plus-plus/all/conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/recipes/redis-plus-plus/all/conanfile.py b/recipes/redis-plus-plus/all/conanfile.py index d7fbaf589b20b..6370311a8d6a8 100644 --- a/recipes/redis-plus-plus/all/conanfile.py +++ b/recipes/redis-plus-plus/all/conanfile.py @@ -33,7 +33,7 @@ class RedisPlusPlusConan(ConanFile): @property def _min_cppstd(self): - return "11" if Version(self.version) < "1.3.0" else "17" + return "11" @property def _compilers_minimum_version(self): @@ -86,11 +86,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if self.settings.compiler.get_safe("cppstd"): - cppstd = str(self.settings.compiler.cppstd) - if cppstd.startswith("gnu"): - cppstd = cppstd[3:] - tc.cache_variables["REDIS_PLUS_PLUS_CXX_STANDARD"] = cppstd + cppstd = str(self.settings.get_safe("compiler.cppstd", 11)).replace("gnu", "") + tc.cache_variables["REDIS_PLUS_PLUS_CXX_STANDARD"] = cppstd tc.variables["REDIS_PLUS_PLUS_USE_TLS"] = self.options.with_tls if self.options.get_safe("build_async"): tc.cache_variables["REDIS_PLUS_PLUS_BUILD_ASYNC"] = "libuv" From d9c156dd52880698540da31d809875c474db31ce Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 08:41:38 +0000 Subject: [PATCH 3903/4087] (#23056) [bot] Update authorized users list (2024-03-11) 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 6a1a5108eaac2..e630a8c822965 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1299,3 +1299,5 @@ authorized_users: - crstzh - gagoi - dbolduc +- jgaa +- tbsuht From fe76ccb07e5cca5af1b9a3255e04f7fad31864d5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 11:07:49 +0200 Subject: [PATCH 3904/4087] (#22987) opentelemetry-cpp: fix an invalid optional library, drop v1.7.0 * opentelemetry-cpp: fix an invalid optional library, drop v1.7.0 * remove dead code --------- Co-authored-by: ericLemanissier --- recipes/opentelemetry-cpp/all/conandata.yml | 3 --- recipes/opentelemetry-cpp/all/conanfile.py | 21 ++++++--------------- recipes/opentelemetry-cpp/config.yml | 2 -- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/recipes/opentelemetry-cpp/all/conandata.yml b/recipes/opentelemetry-cpp/all/conandata.yml index fb4e67647e394..f30d3731760b0 100644 --- a/recipes/opentelemetry-cpp/all/conandata.yml +++ b/recipes/opentelemetry-cpp/all/conandata.yml @@ -8,6 +8,3 @@ sources: "1.8.3": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.8.3.tar.gz" sha256: "b23d3c80d2e0012734ea343d2be69b2a7139ec5545453c503b13e629eb8fbe05" - "1.7.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.7.0.tar.gz" - sha256: "2ad0911cdc94fe84a93334773bef4789a38bd1f01e39560cabd4a5c267e823c3" diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index 3fbb1802a08da..f96b644388da0 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -235,14 +235,9 @@ def _patch_sources(self): replace_in_file(self, protos_cmake_path, "if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto/.git)", "if(1)") - if Version(self.version) < "1.8.3": - replace_in_file(self, protos_cmake_path, - 'set(PROTO_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', - f'set(PROTO_PATH "{protos_path}")') - else: - replace_in_file(self, protos_cmake_path, - '"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', - f'"{protos_path}")') + replace_in_file(self, protos_cmake_path, + '"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', + f'"{protos_path}")') if self.options.with_otlp_grpc and Version(self.version) < "1.9.1": save(self, protos_cmake_path, "\ntarget_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++)", append=True) @@ -284,7 +279,6 @@ def _http_client_name(self): @property def _otel_libraries(self): libraries = [ - self._http_client_name, "opentelemetry_common", "opentelemetry_exporter_in_memory", "opentelemetry_exporter_ostream_span", @@ -292,6 +286,9 @@ def _otel_libraries(self): "opentelemetry_trace", "opentelemetry_version", ] + if self.options.with_otlp_http or self.options.with_elasticsearch or self.options.get_safe("with_jaeger") or self.options.with_zipkin: + # https://github.com/open-telemetry/opentelemetry-cpp/blob/v1.12.0/CMakeLists.txt#L452-L460 + libraries.append(self._http_client_name) if self.options.with_otlp_grpc or self.options.with_otlp_http: libraries.extend([ "opentelemetry_proto", @@ -383,12 +380,6 @@ def package_info(self): ]) if self.options.with_otlp_grpc: - if Version(self.version) <= "1.7.0": - self.cpp_info.components["opentelemetry_exporter_otlp_grpc"].requires.extend([ - "grpc::grpc++", - "opentelemetry_otlp_recordable", - ]) - self.cpp_info.components["opentelemetry_exporter_otlp_grpc_client"].requires.extend([ "grpc::grpc++", "opentelemetry_proto", diff --git a/recipes/opentelemetry-cpp/config.yml b/recipes/opentelemetry-cpp/config.yml index ea5fa8db677c4..a678af123ada5 100644 --- a/recipes/opentelemetry-cpp/config.yml +++ b/recipes/opentelemetry-cpp/config.yml @@ -5,5 +5,3 @@ versions: folder: all "1.8.3": folder: all - "1.7.0": - folder: all From f6f2e33faed9eb1448bca620f0a704a937376f60 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 12 Mar 2024 04:28:06 -0500 Subject: [PATCH 3905/4087] (#23007) avahi/0.8: Support cross-compilation * avahi: Support cross-compilation To cross-compile Avahi, the --with-distro flag must be passed. Disable introspection. This must be disabled to cross-compile. Strangely enough, it doesn't work when enabled. It only seems to work when set to auto. When gobject-introspection is updated to support Conan V2 an option could be added to control enabling or disabling introspection. * Remove extra check --- recipes/avahi/all/conanfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index 5aa91dc39e695..6dfd0f410cd70 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -59,7 +59,7 @@ def validate(self): def build_requirements(self): self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -69,17 +69,19 @@ def generate(self): virtual_build_env.generate() if can_run(self): VirtualRunEnv(self).generate(scope="build") + tc = AutotoolsToolchain(self) tc.configure_args.append("--enable-compat-libdns_sd") + tc.configure_args.append("--enable-introspection=no") tc.configure_args.append("--disable-gtk3") tc.configure_args.append("--disable-mono") tc.configure_args.append("--disable-monodoc") tc.configure_args.append("--disable-python") tc.configure_args.append("--disable-qt5") tc.configure_args.append("--with-systemdsystemunitdir=/lib/systemd/system") + tc.configure_args.append("--with-distro=none") tc.configure_args.append("ac_cv_func_strlcpy=no") - if self.settings.os in ["Linux", "FreeBSD"]: - tc.configure_args.append("ac_cv_func_setproctitle=no") + tc.configure_args.append("ac_cv_func_setproctitle=no") tc.generate() AutotoolsDeps(self).generate() PkgConfigDeps(self).generate() From 0371d7b05e5cd4447facecf9271a0bf5af9297f0 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Mar 2024 18:48:03 +0900 Subject: [PATCH 3906/4087] (#23061) tree-sitter: add version 0.22.1 --- recipes/tree-sitter/all/conandata.yml | 3 +++ recipes/tree-sitter/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tree-sitter/all/conandata.yml b/recipes/tree-sitter/all/conandata.yml index e9e15c0a595de..8277c606ebb37 100644 --- a/recipes/tree-sitter/all/conandata.yml +++ b/recipes/tree-sitter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.22.1": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.22.1.tar.gz" + sha256: "b21065e78da33e529893c954e712ad15d9ad44a594b74567321d4a3a007d6090" "0.21.0": url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.21.0.tar.gz" sha256: "6bb60e5b63c1dc18aba57a9e7b3ea775b4f9ceec44cc35dac4634d26db4eb69c" diff --git a/recipes/tree-sitter/config.yml b/recipes/tree-sitter/config.yml index 62dc82320f3ad..d166b5cb681fc 100644 --- a/recipes/tree-sitter/config.yml +++ b/recipes/tree-sitter/config.yml @@ -1,4 +1,6 @@ versions: + "0.22.1": + folder: all "0.21.0": folder: all "0.20.8": From e76b2e02a81e9a58392988613415b4dd6fd31f7e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Mar 2024 19:07:55 +0900 Subject: [PATCH 3907/4087] (#23064) uwebsockets: add version 20.62.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 cb3f534499ced..85952f5a23966 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.62.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.62.0.tar.gz" + sha256: "03dfc8037cf43856a41e64bbc7fc5a7cf5e6369c9158682753074ecbbe09eed1" "20.60.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.60.0.tar.gz" sha256: "eb72223768f93d40038181653ee5b59a53736448a6ff4e8924fd56b2fcdc00db" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index fd6362a846ec1..c2e19d13ebc2e 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.62.0": + folder: all "20.60.0": folder: all "20.58.0": From 234a26c18b66109c135cbf83ea0c11b4bd9ed667 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Mar 2024 19:27:56 +0900 Subject: [PATCH 3908/4087] (#23067) xz_utils: add version 5.6.1 --- recipes/xz_utils/cmake/conandata.yml | 3 +++ recipes/xz_utils/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xz_utils/cmake/conandata.yml b/recipes/xz_utils/cmake/conandata.yml index 457376715689b..8825601a50d2d 100644 --- a/recipes/xz_utils/cmake/conandata.yml +++ b/recipes/xz_utils/cmake/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.6.1": + url: "https://github.com/tukaani-project/xz/releases/download/v5.6.1/xz-5.6.1.tar.xz" + sha256: "f334777310ca3ae9ba07206d78ed286a655aa3f44eec27854f740c26b2cd2ed0" "5.6.0": url: "https://github.com/tukaani-project/xz/releases/download/v5.6.0/xz-5.6.0.tar.xz" sha256: "cdafe1632f139c82937cc1ed824f7a60b7b0a0619dfbbd681dcac02b1ac28f5b" diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index 0044c059f459b..7cd5f51b3c3c5 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.1": + folder: cmake "5.6.0": folder: cmake "5.4.5": From f3504d4a41dd690083057f334bdbc6c0a3e84a3a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 12 Mar 2024 15:42:42 +0100 Subject: [PATCH 3909/4087] (#22945) [openssl] Set tls security level to automatic for OpenSSL 3.x * Set tls security level to automatic for openssl 3.x Signed-off-by: Uilian Ries * convert OptionValue to string Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/openssl/3.x.x/conanfile.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index afcc879ec24a9..975619cd1b911 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -88,13 +88,13 @@ class OpenSSLConan(ConanFile): "no_whirlpool": [True, False], "no_zlib": [True, False], "openssldir": [None, "ANY"], - "tls_security_level": [0, 1, 2, 3, 4, 5], + "tls_security_level": [None, 0, 1, 2, 3, 4, 5], } default_options = {key: False for key in options.keys()} default_options["fPIC"] = True default_options["no_md2"] = True default_options["openssldir"] = None - default_options["tls_security_level"] = 1 + default_options["tls_security_level"] = None @property def _is_clang_cl(self): @@ -114,8 +114,6 @@ def _settings_build(self): return getattr(self, "settings_build", self.settings) def config_options(self): - self.options.tls_security_level = 1 if Version(self.version) < "3.2" else 2 - if self.settings.os != "Windows": self.options.rm_safe("capieng_dialog") self.options.rm_safe("enable_capieng") @@ -386,7 +384,8 @@ def _configure_args(self): args.append("no-fips" if self.options.get_safe("no_fips", True) else "enable-fips") args.append("no-md2" if self.options.get_safe("no_md2", True) else "enable-md2") - args.append("-DOPENSSL_TLS_SECURITY_LEVEL=%s" % str(self.options.tls_security_level)) + if str(self.options.tls_security_level) != "None": + args.append(f"-DOPENSSL_TLS_SECURITY_LEVEL={self.options.tls_security_level}") if self.options.get_safe("enable_trace"): args.append("enable-trace") From 7e0ff2a935f1384fc24359bac72dee846e062aa4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 17:43:16 +0200 Subject: [PATCH 3910/4087] (#18959) pciutils: migrate to Conan v2 * pciutils: migrate to Conan v2 * pciutils: set correct compiler and build flags * pciutils: add version 3.10.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/) * pciutils: update zlib version * pciutils: tidy conandata.yml * pciutils: fix shared builds * pciutils: improve CC detection Based on the boost recipe. * pciutils: fix symlink creation * pciutils: move check to validate() --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/pciutils/all/conandata.yml | 7 +- recipes/pciutils/all/conanfile.py | 144 ++++++++++++------ .../pciutils/all/test_package/CMakeLists.txt | 7 +- .../pciutils/all/test_package/conanfile.py | 24 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../pciutils/all/test_v1_package/conanfile.py | 16 ++ recipes/pciutils/config.yml | 2 + 7 files changed, 149 insertions(+), 59 deletions(-) create mode 100644 recipes/pciutils/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pciutils/all/test_v1_package/conanfile.py diff --git a/recipes/pciutils/all/conandata.yml b/recipes/pciutils/all/conandata.yml index 01d5f5a0e9de5..de7711b0170fd 100644 --- a/recipes/pciutils/all/conandata.yml +++ b/recipes/pciutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.10.0": + url: "https://github.com/pciutils/pciutils/archive/v3.10.0.tar.gz" + sha256: "e579d87f1afe2196db7db648857023f80adb500e8194c4488c8b47f9a238c1c6" "3.7.0": - sha256: ea768aa0187ba349391c6c157445ecc2b42e7d671fc1ce8c53ff5ef513f1e2ab - url: https://github.com/pciutils/pciutils/archive/v3.7.0.tar.gz + url: "https://github.com/pciutils/pciutils/archive/v3.7.0.tar.gz" + sha256: "ea768aa0187ba349391c6c157445ecc2b42e7d671fc1ce8c53ff5ef513f1e2ab" diff --git a/recipes/pciutils/all/conanfile.py b/recipes/pciutils/all/conanfile.py index 7de2b56523367..9e375262e618e 100644 --- a/recipes/pciutils/all/conanfile.py +++ b/recipes/pciutils/all/conanfile.py @@ -1,76 +1,128 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration +import shutil + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import XCRun +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class PciUtilsConan(ConanFile): name = "pciutils" - license = "BSD-3-Clause" description = "The PCI Utilities package contains a library for portable access to PCI bus" - topics = ("pci", "pci-bus", "hardware", "local-bus") - homepage = "https://github.com/pciutils/pciutils" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], "fPIC": [True, False], "with_zlib": [True, False], "with_udev": [True, False]} - default_options = {"shared": False, "fPIC": True, "with_zlib": True, "with_udev": False} + homepage = "https://github.com/pciutils/pciutils" + topics = ("pci", "pci-bus", "hardware", "local-bus") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_zlib": [True, False], + "with_udev": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_zlib": True, + "with_udev": True, + } - def configure(self): - if self.settings.os != "Linux": - raise ConanInvalidConfiguration("Platform {} is currently not supported by this recipe".format(self.settings.os)) + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_zlib: - self.requires("zlib/1.2.11") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_udev: - # TODO: Enable libudev option when available - raise ConanInvalidConfiguration("libudev requires conan-io/conan-center-index#2468") - self.requires("systemd/system") + self.requires("libudev/system") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"]: + raise ConanInvalidConfiguration( + f"Platform {self.settings.os} is currently not supported by this recipe" + ) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - tools.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _cc(self): + compilers_by_conf = self.conf.get("tools.build:compiler_executables", default={}, check_type=dict) + cxx = compilers_by_conf.get("c") or VirtualBuildEnv(self).vars().get("CC") + if cxx: + return cxx + if self.settings.compiler == "apple-clang": + return XCRun(self).cxx + compiler_version = str(self.settings.compiler.version) + major = compiler_version.split(".", 1)[0] + if self.settings.compiler == "gcc": + return shutil.which(f"gcc-{compiler_version}") or shutil.which(f"gcc-{major}") or shutil.which("gcc") or "" + if self.settings.compiler == "clang": + return shutil.which(f"clang-{compiler_version}") or shutil.which(f"clang-{major}") or shutil.which("clang") or "" + return "" - def _make(self, targets): + def generate(self): yes_no = lambda v: "yes" if v else "no" - autotools = AutoToolsBuildEnvironment(self) - autotools.make(args=["SHARED={}".format(yes_no(self.options.shared)), - "ZLIB={}".format(yes_no(self.options.with_zlib)), - "HWDB={}".format(yes_no(self.options.with_udev)), - "PREFIX={}".format(self.package_folder), - "OPT={}".format("{} {}".format( - autotools.vars["CPPFLAGS"], autotools.vars["CFLAGS"])), - "DNS=no"], - target=" ".join(targets)) + tc = AutotoolsToolchain(self) + tc.make_args = [ + f"SHARED={yes_no(self.options.shared)}", + f"ZLIB={yes_no(self.options.with_zlib)}", + f"HWDB={yes_no(self.options.with_udev)}", + f"DESTDIR={self.package_folder}", + "PREFIX=/", + "DNS=no", + f"CC={self._cc}", + ] + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() def build(self): - with tools.chdir(self._source_subfolder): - self._make(["all"]) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make(target="all") def package(self): - with tools.chdir(self._source_subfolder): - self._make(["install", "install-pcilib"]) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make(target="install") + autotools.make(target="install-pcilib") - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - self.copy("*.h", src=self._source_subfolder, dst="include", keep_path=True) + copy(self, "COPYING", + 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"), + keep_path=True) if self.options.shared: - tools.rename(src=os.path.join(self._source_subfolder, "lib", "libpci.so.3.7.0"), - dst=os.path.join(self.package_folder, "lib", "libpci.so")) + # libpci.so.3 -> libpci.so + with chdir(self, os.path.join(self.package_folder, "lib")): + os.symlink("libpci.so.3", "libpci.so") - tools.rmdir(os.path.join(self.package_folder, "sbin")) - tools.rmdir(os.path.join(self.package_folder, "share")) - tools.rmdir(os.path.join(self.package_folder, "man")) + rmdir(self, os.path.join(self.package_folder, "sbin")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "man")) def package_info(self): - self.cpp_info.names["pkg_config"] = "libpci" + self.cpp_info.set_property("pkg_config_name", "libpci") self.cpp_info.libs = ["pci"] diff --git a/recipes/pciutils/all/test_package/CMakeLists.txt b/recipes/pciutils/all/test_package/CMakeLists.txt index 48b855b8a30aa..3d69747b2d1ec 100644 --- a/recipes/pciutils/all/test_package/CMakeLists.txt +++ b/recipes/pciutils/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(pciutils REQUIRED CONFIG) add_executable(example example.c) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example pciutils::pciutils) diff --git a/recipes/pciutils/all/test_package/conanfile.py b/recipes/pciutils/all/test_package/conanfile.py index 9f2b070b59136..8d52b7021efe1 100644 --- a/recipes/pciutils/all/test_package/conanfile.py +++ b/recipes/pciutils/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class CAresTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/pciutils/all/test_v1_package/CMakeLists.txt b/recipes/pciutils/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pciutils/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/pciutils/all/test_v1_package/conanfile.py b/recipes/pciutils/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2978938836233 --- /dev/null +++ b/recipes/pciutils/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class CAresTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) diff --git a/recipes/pciutils/config.yml b/recipes/pciutils/config.yml index 20ddf579e6d44..6ece8b7922d9b 100644 --- a/recipes/pciutils/config.yml +++ b/recipes/pciutils/config.yml @@ -1,3 +1,5 @@ versions: + "3.10.0": + folder: all "3.7.0": folder: all From 6f3daac38a6292e8c2e2b62ce7b00ae54390ec30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 12 Mar 2024 18:02:26 +0100 Subject: [PATCH 3911/4087] (#22771) oatpp-libressl: Fix header propagation, moderenize a bit * Fix oatpp-libressl header propagation, moderenize a bit * Fix hooks --- recipes/oatpp-libressl/all/conanfile.py | 26 +++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/recipes/oatpp-libressl/all/conanfile.py b/recipes/oatpp-libressl/all/conanfile.py index 6eec475cde13d..02cb36cfa573c 100644 --- a/recipes/oatpp-libressl/all/conanfile.py +++ b/recipes/oatpp-libressl/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=1.54" class OatppLibresslConan(ConanFile): @@ -18,6 +18,7 @@ class OatppLibresslConan(ConanFile): description = "oat++ libressl library" topics = ("oat++", "oatpp", "libressl") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,21 +35,24 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires(f"oatpp/{self.version}") - self.requires("libressl/3.5.3") + # There's a 1 to 1 match between versions of oatpp and oatpp-libressl + # oatpp-libressl/oatpp-libressl/Config.hpp:28 and 30 contain includes to these libraries + self.requires(f"oatpp/{self.version}", transitive_headers=True) + self.requires("libressl/3.5.3", transitive_headers=True) + + @property + def _min_cppstd(self): + return 11 def validate(self): if self.info.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) if is_msvc(self) and self.info.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared library with msvc") @@ -64,8 +68,6 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["OATPP_BUILD_TESTS"] = False tc.variables["OATPP_MODULES_LOCATION"] = "INSTALLED" - # 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.generate() deps = CMakeDeps(self) deps.generate() @@ -84,6 +86,10 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "oatpp-libressl") self.cpp_info.set_property("cmake_target_name", "oatpp::oatpp-libressl") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + # TODO: back to global scope in conan v2 once legacy generators removed self.cpp_info.components["_oatpp-libressl"].includedirs = [ os.path.join("include", f"oatpp-{self.version}", "oatpp-libressl") From 96e6190eb80cfc5b11727cc0b55cbd24f9c3501e Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 12 Mar 2024 18:23:22 +0100 Subject: [PATCH 3912/4087] (#18444) [nats] Add NATS.C package * add nats-c Signed-off-by: Uilian Ries * Build 3.8.0 Signed-off-by: Uilian Ries * safe check for openssl verion Signed-off-by: Uilian Ries * Disable streaming for now Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/cnats/all/conandata.yml | 4 + recipes/cnats/all/conanfile.py | 110 ++++++++++++++++++ recipes/cnats/all/test_package/CMakeLists.txt | 7 ++ recipes/cnats/all/test_package/conanfile.py | 37 ++++++ .../cnats/all/test_package/test_package.cpp | 10 ++ recipes/cnats/config.yml | 3 + 6 files changed, 171 insertions(+) create mode 100644 recipes/cnats/all/conandata.yml create mode 100644 recipes/cnats/all/conanfile.py create mode 100644 recipes/cnats/all/test_package/CMakeLists.txt create mode 100644 recipes/cnats/all/test_package/conanfile.py create mode 100644 recipes/cnats/all/test_package/test_package.cpp create mode 100644 recipes/cnats/config.yml diff --git a/recipes/cnats/all/conandata.yml b/recipes/cnats/all/conandata.yml new file mode 100644 index 0000000000000..7a17667b0dc32 --- /dev/null +++ b/recipes/cnats/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.8.0": + url: "https://github.com/nats-io/nats.c/archive/refs/tags/v3.8.0.tar.gz" + sha256: "465811380cdc6eab3304e40536d03f99977a69c0e56fcf566000c29dd075e4dd" diff --git a/recipes/cnats/all/conanfile.py b/recipes/cnats/all/conanfile.py new file mode 100644 index 0000000000000..60f15b3b814f2 --- /dev/null +++ b/recipes/cnats/all/conanfile.py @@ -0,0 +1,110 @@ +from conan import ConanFile +from conan.tools.files import get, copy, rename, mkdir, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.54.0" + + +class PackageConan(ConanFile): + name = "cnats" + description = "A C client for NATS" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://nats.io/" + topics = ("messaging", "message-bus", "message-queue", "messaging-library", "nats-client") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_tls": [True, False], + "with_sodium": [True, False], + "enable_streaming": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_tls": True, + "with_sodium": False, + "enable_streaming": 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.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_tls: + self.requires("openssl/[>=1.1 <4]") + if self.options.with_sodium: + self.requires("libsodium/cci.20220430") + # FIXME: C3I Jenkins does not have protobuf-c static x shared deps for now + if self.options.enable_streaming: + self.requires("protobuf-c/1.4.1") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["NATS_BUILD_WITH_TLS"] = self.options.with_tls + tc.variables["NATS_BUILD_USE_SODIUM"] = self.options.with_sodium + tc.variables["NATS_BUILD_EXAMPLES"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["NATS_BUILD_LIB_STATIC"] = not self.options.shared + tc.variables["NATS_BUILD_LIB_SHARED"] = self.options.shared + if self.options.with_tls: + tc.variables["NATS_BUILD_TLS_USE_OPENSSL_1_1_API"] = Version(self.dependencies["openssl"].ref.version) >= "1.1" + tc.variables["NATS_BUILD_STREAMING"] = self.options.enable_streaming + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + if self.settings.os == "Windows" and self.options.shared: + mkdir(self, os.path.join(self.package_folder, "bin")) + rename(self, os.path.join(self.package_folder, "lib", f"{self._nats_library_name}.dll"), os.path.join(self.package_folder, "bin", f"{self._nats_library_name}.dll")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + @property + def _nats_library_name(self): + suffix = "" if self.options.shared else "_static" + debug = "d" if self.settings.build_type == "Debug" else "" + return f"nats{suffix}{debug}" + + def package_info(self): + self.cpp_info.libs = [self._nats_library_name] + self.cpp_info.set_property("cmake_file_name", "cnats") + self.cpp_info.set_property("cmake_target_name", f"cnats::{self._nats_library_name}") + self.cpp_info.set_property("pkg_config_name", "libnats") + + if self.options.enable_streaming: + self.cpp_info.defines.append("NATS_HAS_STREAMING") + if self.settings.os == "Windows" and self.options.shared: + self.cpp_info.defines.append("nats_IMPORTS") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["pthread", "rt"]) + elif self.settings.os == "Windows": + self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/cnats/all/test_package/CMakeLists.txt b/recipes/cnats/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6c0bde85724d3 --- /dev/null +++ b/recipes/cnats/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(cnats REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cnats::${CNATS_TARGET}) diff --git a/recipes/cnats/all/test_package/conanfile.py b/recipes/cnats/all/test_package/conanfile.py new file mode 100644 index 0000000000000..6c38f16815ae8 --- /dev/null +++ b/recipes/cnats/all/test_package/conanfile.py @@ -0,0 +1,37 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + @property + def _nats_library_name(self): + suffix = "" if self.dependencies["cnats"].options.shared else "_static" + debug = "d" if self.dependencies["cnats"].settings.build_type == "Debug" else "" + return f"nats{suffix}{debug}" + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CNATS_TARGET"] = self._nats_library_name + tc.generate() + + 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/cnats/all/test_package/test_package.cpp b/recipes/cnats/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e9578180d8c82 --- /dev/null +++ b/recipes/cnats/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include + +#include "nats/nats.h" + + +int main() { + std::cout << "NATS Version: " << nats_GetVersion() << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/cnats/config.yml b/recipes/cnats/config.yml new file mode 100644 index 0000000000000..ca7b223bb16c2 --- /dev/null +++ b/recipes/cnats/config.yml @@ -0,0 +1,3 @@ +versions: + "3.8.0": + folder: all From 3ec7531aaee84e0baf57065b0ce4f658198c7bc1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 19:42:48 +0200 Subject: [PATCH 3913/4087] (#18788) openvr: migrate to Conan v2 * openvr: migrate to Conan v2 * openvr: transitive_libs=True * openvr: fix jsoncpp target * openvr: fix shared install on Windows * openvr: add CoreFoundation framework dep --- recipes/openvr/all/CMakeLists.txt | 9 -- recipes/openvr/all/conandata.yml | 1 - recipes/openvr/all/conanfile.py | 127 +++++++++++------- .../openvr/all/test_package/CMakeLists.txt | 9 +- recipes/openvr/all/test_package/conanfile.py | 22 ++- .../openvr/all/test_v1_package/CMakeLists.txt | 8 ++ .../openvr/all/test_v1_package/conanfile.py | 16 +++ 7 files changed, 119 insertions(+), 73 deletions(-) delete mode 100644 recipes/openvr/all/CMakeLists.txt create mode 100644 recipes/openvr/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openvr/all/test_v1_package/conanfile.py diff --git a/recipes/openvr/all/CMakeLists.txt b/recipes/openvr/all/CMakeLists.txt deleted file mode 100644 index c4553e469fbbd..0000000000000 --- a/recipes/openvr/all/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -link_libraries(CONAN_PKG::jsoncpp) - -add_subdirectory(source_subfolder) diff --git a/recipes/openvr/all/conandata.yml b/recipes/openvr/all/conandata.yml index 8306fe238fc2a..8a94700e08a51 100644 --- a/recipes/openvr/all/conandata.yml +++ b/recipes/openvr/all/conandata.yml @@ -11,4 +11,3 @@ sources: patches: "1.16.8": - patch_file: "patches/fix-includes-and-assert-1.16.8.patch" - base_path: "source_subfolder" diff --git a/recipes/openvr/all/conanfile.py b/recipes/openvr/all/conanfile.py index 35ae1e9ea460d..482f050fca0c4 100644 --- a/recipes/openvr/all/conanfile.py +++ b/recipes/openvr/all/conanfile.py @@ -1,16 +1,30 @@ import os -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, 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, replace_in_file, rmdir, \ + save, mkdir +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class OpenvrConan(ConanFile): name = "openvr" - description = "API and runtime that allows access to VR hardware from applications have specific knowledge of the hardware they are targeting." - topics = ("conan", "openvr", "vr", ) + description = ( + "API and runtime that allows access to VR hardware from applications " + "have specific knowledge of the hardware they are targeting." + ) + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ValveSoftware/openvr" - license = "BSD-3-Clause" + topics = ("vr", "virtual reality") - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -20,13 +34,8 @@ class OpenvrConan(ConanFile): "fPIC": True, } - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -34,69 +43,83 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + self.options.rm_safe("fPIC") - if self.settings.compiler == "gcc" and tools.Version(self.settings.compiler.version) < "5": - raise ConanInvalidConfiguration("OpenVR can't be compiled by {0} {1}".format(self.settings.compiler, - self.settings.compiler.version)) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("jsoncpp/1.9.4") + self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": + raise ConanInvalidConfiguration( + f"OpenVR can't be compiled by {self.settings.compiler} {self.settings.compiler.version}" + ) def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = "{}-{}".format(self.name, self.version) - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_SHARED"] = self.options.shared + tc.cache_variables["BUILD_UNIVERSAL"] = False + # Let Conan handle the stdlib setting, even if we are using libc++ + tc.cache_variables["USE_LIBCXX"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + apply_conandata_patches(self) # Honor fPIC=False - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), - "-fPIC", "") - # Unvendor jsoncpp (we rely on our CMake wrapper for jsoncpp injection) - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "CMakeLists.txt"), - "jsoncpp.cpp", "") - tools.rmdir(os.path.join(self._source_subfolder, "src", "json")) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_SHARED"] = self.options.shared - self._cmake.definitions["BUILD_UNIVERSAL"] = False - self._cmake.definitions["USE_LIBCXX"] = False - self._cmake.configure() - - return self._cmake + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "-fPIC", "") + # Unvendor jsoncpp + replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), "jsoncpp.cpp", "") + rmdir(self, os.path.join(self.source_folder, "src", "json")) + # Add jsoncpp dependency from Conan + save(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), + "find_package(jsoncpp REQUIRED CONFIG)\n" + "target_link_libraries(${LIBNAME} JsonCpp::JsonCpp)", + append=True) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() + @property + def _lib_name(self): + if self.settings.os == "Windows" and self.settings.arch == "x86_64": + return "openvr_api64" + return "openvr_api" + def package(self): - self.copy("LICENSE", src=os.path.join(self.source_folder, 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() - self.copy(pattern="openvr_api*.dll", dst="bin", src="bin", keep_path=False) - tools.rmdir(os.path.join(self.package_folder, "share")) + if self.settings.os == "Windows" and self.options.shared: + mkdir(self, os.path.join(self.package_folder, "bin")) + os.rename(os.path.join(self.package_folder, "lib", f"{self._lib_name}.dll"), + os.path.join(self.package_folder, "bin", f"{self._lib_name}.dll")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - self.cpp_info.names["pkg_config"] = "openvr" - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.set_property("pkg_config_name", "openvr") + self.cpp_info.libs = [self._lib_name] self.cpp_info.includedirs.append(os.path.join("include", "openvr")) if not self.options.shared: self.cpp_info.defines.append("OPENVR_BUILD_STATIC") - libcxx = tools.stdcpp_library(self) + libcxx = stdcpp_library(self) if libcxx: self.cpp_info.system_libs.append(libcxx) if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("dl") - if tools.is_apple_os(self.settings.os): - self.cpp_info.frameworks.append("Foundation") + if is_apple_os(self): + self.cpp_info.frameworks.extend(["Foundation", "CoreFoundation"]) diff --git a/recipes/openvr/all/test_package/CMakeLists.txt b/recipes/openvr/all/test_package/CMakeLists.txt index aede60e3b1e4a..8759620a94936 100644 --- a/recipes/openvr/all/test_package/CMakeLists.txt +++ b/recipes/openvr/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(openvr REQUIRED CONFIG) add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) -target_link_libraries(${CMAKE_PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE openvr::openvr) set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/openvr/all/test_package/conanfile.py b/recipes/openvr/all/test_package/conanfile.py index 4903f1a7e8fa0..ef5d7042163ec 100644 --- a/recipes/openvr/all/test_package/conanfile.py +++ b/recipes/openvr/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + class 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/openvr/all/test_v1_package/CMakeLists.txt b/recipes/openvr/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/openvr/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/openvr/all/test_v1_package/conanfile.py b/recipes/openvr/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..6c9d5dba712c7 --- /dev/null +++ b/recipes/openvr/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e1e3d156fef7f784655095bcc70bdeec22296028 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 20:03:11 +0200 Subject: [PATCH 3914/4087] (#18952) ofeli: migrate to Conan v2, add v5.1.0 * ofeli: migrate to Conan v2 * ofeli: shared builds are not supported * ofeli: remove incorrect shared/fPIC * ofeli: add v5.1.0 with CMake support * ofeli: shared build does not work * ofeli: install materials under res/ * ofeli: fix license copying * ofeli: add cmake/3.16 dependency * ofeli: improve validation logic, enable MSVC * ofeli: disable MSVC on 5.x --- recipes/ofeli/{all => 4.x}/conandata.yml | 0 recipes/ofeli/4.x/conanfile.py | 82 +++++++++++++++++ .../{all => 4.x}/test_package/CMakeLists.txt | 7 +- recipes/ofeli/4.x/test_package/conanfile.py | 26 ++++++ .../test_package/test_package.cpp | 2 +- .../ofeli/4.x/test_v1_package/CMakeLists.txt | 8 ++ .../test_v1_package}/conanfile.py | 0 recipes/ofeli/5.x/conandata.yml | 4 + recipes/ofeli/5.x/conanfile.py | 88 +++++++++++++++++++ recipes/ofeli/5.x/test_package/CMakeLists.txt | 8 ++ recipes/ofeli/5.x/test_package/conanfile.py | 26 ++++++ .../ofeli/5.x/test_package/test_package.cpp | 76 ++++++++++++++++ recipes/ofeli/all/CMakeLists.txt | 7 -- recipes/ofeli/all/conanfile.py | 73 --------------- recipes/ofeli/config.yml | 4 +- 15 files changed, 324 insertions(+), 87 deletions(-) rename recipes/ofeli/{all => 4.x}/conandata.yml (100%) create mode 100644 recipes/ofeli/4.x/conanfile.py rename recipes/ofeli/{all => 4.x}/test_package/CMakeLists.txt (57%) create mode 100644 recipes/ofeli/4.x/test_package/conanfile.py rename recipes/ofeli/{all => 4.x}/test_package/test_package.cpp (99%) create mode 100644 recipes/ofeli/4.x/test_v1_package/CMakeLists.txt rename recipes/ofeli/{all/test_package => 4.x/test_v1_package}/conanfile.py (100%) create mode 100644 recipes/ofeli/5.x/conandata.yml create mode 100644 recipes/ofeli/5.x/conanfile.py create mode 100644 recipes/ofeli/5.x/test_package/CMakeLists.txt create mode 100644 recipes/ofeli/5.x/test_package/conanfile.py create mode 100644 recipes/ofeli/5.x/test_package/test_package.cpp delete mode 100644 recipes/ofeli/all/CMakeLists.txt delete mode 100644 recipes/ofeli/all/conanfile.py diff --git a/recipes/ofeli/all/conandata.yml b/recipes/ofeli/4.x/conandata.yml similarity index 100% rename from recipes/ofeli/all/conandata.yml rename to recipes/ofeli/4.x/conandata.yml diff --git a/recipes/ofeli/4.x/conanfile.py b/recipes/ofeli/4.x/conanfile.py new file mode 100644 index 0000000000000..1bdb7a7fb9c25 --- /dev/null +++ b/recipes/ofeli/4.x/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 chdir, copy, get +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" + + +class OfeliConan(ConanFile): + name = "ofeli" + description = "An Object Finite Element Library" + license = "LGPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://ofeli.org/index.html" + topics = ("finite-element", "finite-element-library", "finite-element-analysis", "finite-element-solver") + + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.os not in ["Linux", "FreeBSD"]: + raise ConanInvalidConfiguration("Ofeli only supports Linux") + if self.settings.compiler != "gcc": + raise ConanInvalidConfiguration("Ofeli only supports GCC") + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if self.settings.compiler.libcxx != "libstdc++11": + raise ConanInvalidConfiguration("Ofeli only supports libstdc++'s new ABI") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + config = 'release' if self.settings.build_type == 'Release' else 'debug' + tc.configure_args.append(f"--enable-{config}") + tc.generate() + + def build(self): + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*libofeli.a", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "src")) + copy(self, "*.md", + dst=os.path.join(self.package_folder, "res"), + src=os.path.join(self.source_folder, "material")) + copy(self, "COPYING", + dst=os.path.join(self.package_folder, "licenses"), + src=os.path.join(self.source_folder, "doc")) + + def package_info(self): + self.cpp_info.libs = ["ofeli"] + res_path = os.path.join(self.package_folder, "res") + self.runenv_info.define("OFELI_PATH_MATERIAL", res_path) + + # TODO: Legacy, to be removed on Conan 2.0 + self.env_info.OFELI_PATH_MATERIAL.append(res_path) diff --git a/recipes/ofeli/all/test_package/CMakeLists.txt b/recipes/ofeli/4.x/test_package/CMakeLists.txt similarity index 57% rename from recipes/ofeli/all/test_package/CMakeLists.txt rename to recipes/ofeli/4.x/test_package/CMakeLists.txt index 14b7550d3c44c..1e5e727abc890 100644 --- a/recipes/ofeli/all/test_package/CMakeLists.txt +++ b/recipes/ofeli/4.x/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ofeli CONFIG REQUIRED) +find_package(ofeli REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} ofeli::ofeli) diff --git a/recipes/ofeli/4.x/test_package/conanfile.py b/recipes/ofeli/4.x/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/ofeli/4.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/ofeli/all/test_package/test_package.cpp b/recipes/ofeli/4.x/test_package/test_package.cpp similarity index 99% rename from recipes/ofeli/all/test_package/test_package.cpp rename to recipes/ofeli/4.x/test_package/test_package.cpp index 8d7d1aa2db165..618f3ee674c68 100644 --- a/recipes/ofeli/all/test_package/test_package.cpp +++ b/recipes/ofeli/4.x/test_package/test_package.cpp @@ -7,7 +7,7 @@ ============================================================================== Copyright (C) 1998 - 2015 Rachid Touzani - + This file is part of OFELI. OFELI is free software: you can redistribute it and/or modify diff --git a/recipes/ofeli/4.x/test_v1_package/CMakeLists.txt b/recipes/ofeli/4.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/ofeli/4.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ofeli/all/test_package/conanfile.py b/recipes/ofeli/4.x/test_v1_package/conanfile.py similarity index 100% rename from recipes/ofeli/all/test_package/conanfile.py rename to recipes/ofeli/4.x/test_v1_package/conanfile.py diff --git a/recipes/ofeli/5.x/conandata.yml b/recipes/ofeli/5.x/conandata.yml new file mode 100644 index 0000000000000..113211f34c5ac --- /dev/null +++ b/recipes/ofeli/5.x/conandata.yml @@ -0,0 +1,4 @@ +sources: + "5.1.0": + url: "https://github.com/rtouzani/ofeli/archive/0e66d0e5a38b209ee79eab0daf7686562b753536.tar.gz" + sha256: "a2e4e62d912d05e55001a9be7c5c4741a7b8773a399acbbe558bdca0d60d430b" diff --git a/recipes/ofeli/5.x/conanfile.py b/recipes/ofeli/5.x/conanfile.py new file mode 100644 index 0000000000000..ee690068f3c61 --- /dev/null +++ b/recipes/ofeli/5.x/conanfile.py @@ -0,0 +1,88 @@ +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, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir, replace_in_file, rename +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" + + +class OfeliConan(ConanFile): + name = "ofeli" + description = "An Object Finite Element Library" + license = "LGPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://ofeli.org/index.html" + topics = ("finite-element", "finite-element-library", "finite-element-analysis", "finite-element-solver") + + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if self.settings.compiler in ["clang", "apple-clang"] or is_msvc(self): + # Clang fails with + # include/linear_algebra/LocalVect_impl.h:251:42: error: cannot initialize return object of type 'OFELI::Element *' with an lvalue of type 'const OFELI::Element *' + # MSVC fails with a lot of errors + # https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/18952/12-windows-visual_studio/ofeli/5.1.0/summary.json + raise ConanInvalidConfiguration(f"{self.settings.compiler} is not supported due to compilation errors") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) + tc.generate() + + def _patch_sources(self): + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "add_subdirectory (demos)", "") + replace_in_file(self, cmakelists, "add_subdirectory (util)", "") + # Fix incorrect use of add_definitions() for build flags + replace_in_file(self, cmakelists, "add_definitions", "add_compile_options") + # Fix -fPIC support + replace_in_file(self, cmakelists, " -fPIE", "") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rename(self, os.path.join(self.package_folder, "share", "ofeli", "material"), + os.path.join(self.package_folder, "res")) + rmdir(self, os.path.join(self.package_folder, "share")) + + + def package_info(self): + self.cpp_info.libs = ["ofeli"] + self.cpp_info.includedirs = [os.path.join("include", "ofeli")] + res_path = os.path.join(self.package_folder, "res") + self.runenv_info.define_path("OFELI_PATH_MATERIAL", res_path) diff --git a/recipes/ofeli/5.x/test_package/CMakeLists.txt b/recipes/ofeli/5.x/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1e5e727abc890 --- /dev/null +++ b/recipes/ofeli/5.x/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ofeli REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} ofeli::ofeli) +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) diff --git a/recipes/ofeli/5.x/test_package/conanfile.py b/recipes/ofeli/5.x/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/ofeli/5.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/ofeli/5.x/test_package/test_package.cpp b/recipes/ofeli/5.x/test_package/test_package.cpp new file mode 100644 index 0000000000000..618f3ee674c68 --- /dev/null +++ b/recipes/ofeli/5.x/test_package/test_package.cpp @@ -0,0 +1,76 @@ +/*============================================================================== + + O F E L I + + Object Finite Element Library + + ============================================================================== + + Copyright (C) 1998 - 2015 Rachid Touzani + + This file is part of OFELI. + + OFELI is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OFELI is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with OFELI. If not, see . + + ============================================================================== + + An example of a Finite Element Code using OFELI + + Solution of a 1-D Elliptic problem using P1 Finite elements + + ==============================================================================*/ + +#include "OFELI.h" +using namespace OFELI; + +int main(int argc, char *argv[]) +{ + double L=1; + int N=10; + +/// Read and output mesh data + banner(); + if (argc>1) + N = atoi(argv[1]); + Mesh ms(L,N); + int NbN = N+1; + +// Declare problem data (matrix, rhs, boundary conditions, body forces) + TrMatrix A(NbN); + Vect b(ms); + b.set("16*pi*pi*sin(4*pi*x)"); + +// Build matrix and R.H.S. + double h = L/double(N); + b *= h; + for (int i=2; i sol(ms); + sol.set("sin(4*pi*x)"); + cout << "Error = " << (b-sol).getNormMax() << endl; + return 0; +} diff --git a/recipes/ofeli/all/CMakeLists.txt b/recipes/ofeli/all/CMakeLists.txt deleted file mode 100644 index c921d02a0d877..0000000000000 --- a/recipes/ofeli/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/ofeli/all/conanfile.py b/recipes/ofeli/all/conanfile.py deleted file mode 100644 index 0696eaa92f3e6..0000000000000 --- a/recipes/ofeli/all/conanfile.py +++ /dev/null @@ -1,73 +0,0 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -import os -from conans.errors import ConanInvalidConfiguration - -required_conan_version = ">=1.40.0" - - -class OfeliConan(ConanFile): - name = "ofeli" - description = "An Object Finite Element Library" - topics = ("finite-element", "finite-element-library", - "finite-element-analysis", "finite-element-solver") - license = "LGPL-3.0-or-later" - homepage = "http://ofeli.org/index.html" - url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _doc_folder(self): - return os.path.join( - self._source_subfolder, - "doc" - ) - - def validate(self): - if self.settings.os != "Linux": - raise ConanInvalidConfiguration( - "Ofeli is just supported for Linux") - if self.settings.compiler != "gcc": - raise ConanInvalidConfiguration( - "Ofeli is just supported for GCC") - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) - if self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration( - "Ofeli supports only libstdc++'s new ABI") - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - self._autotools.configure(args=["--enable-%s" % ("release" - if self.settings.build_type == "Release" - else "debug")]) - return self._autotools - - def build(self): - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.make() - - def package(self): - self.copy("*.h", dst="include", - src=os.path.join(self._source_subfolder, "include")) - self.copy("*libofeli.a", dst="lib", - src=os.path.join(self._source_subfolder, "src")) - self.copy("*.md", dst="res", - src=os.path.join(self._source_subfolder, "material")) - self.copy("COPYING", dst="licenses", src=self._doc_folder) - - def package_info(self): - self.cpp_info.libs = ["ofeli"] - self.env_info.OFELI_PATH_MATERIAL.append( - os.path.join(self.package_folder, "res")) diff --git a/recipes/ofeli/config.yml b/recipes/ofeli/config.yml index 33a6df35b4e32..ed520cd12092e 100644 --- a/recipes/ofeli/config.yml +++ b/recipes/ofeli/config.yml @@ -1,3 +1,5 @@ versions: + "5.1.0": + folder: 5.x "4.1.2": - folder: all + folder: 4.x From 43bcf2b3b012596a6a34d70aea39849a1320b559 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 20:25:11 +0200 Subject: [PATCH 3915/4087] (#21079) nodejs: update recipe for Conan v2, handle libc issues in C3I MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nodejs: update recipe for Conan v2 * nodejs: skip test on old libc versions (i.e. CI) * nodejs: fix self.output.warn() * nodejs: improve libc detection * nodejs: print detected libc version * nodejs: improve libc check * nodejs: use platform.libc_ver() for libc version detection * nodejs: fix test_v1_package * Remove libc version checks, assume this works by now * Fix test check * nodejs: restore the glibc check --------- Co-authored-by: Rubén Rincón Blanco --- recipes/nodejs/all/conanfile.py | 68 ++++++++----------- recipes/nodejs/all/test_package/conanfile.py | 17 ++++- .../nodejs/all/test_v1_package/conanfile.py | 12 +++- 3 files changed, 54 insertions(+), 43 deletions(-) diff --git a/recipes/nodejs/all/conanfile.py b/recipes/nodejs/all/conanfile.py index c098d4eea4705..077b1d4fb6d5e 100644 --- a/recipes/nodejs/all/conanfile.py +++ b/recipes/nodejs/all/conanfile.py @@ -1,33 +1,35 @@ import os -import re -from six import StringIO -from conan import ConanFile, conan_version -from conan.tools.scm import Version -from conan.tools.files import copy, get + +from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get required_conan_version = ">=1.59.0" class NodejsConan(ConanFile): name = "nodejs" - description = "nodejs binaries for use in recipes" - topics = ("node", "javascript", "runtime") + description = "Node.js is an open-source, cross-platform JavaScript runtime environment." + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://nodejs.org" - license = "MIT" + topics = ("node", "javascript", "runtime", "pre-built") + package_type = "application" - settings = "os", "arch", "compiler" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True short_paths = True - @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") + def layout(self): + pass + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type @property def _nodejs_arch(self): - if str(self.settings.os) == "Linux": + if str(self.settings.os) in ["Linux", "FreeBSD"]: if str(self.settings.arch).startswith("armv7"): return "armv7" if str(self.settings.arch).startswith("armv8") and "32" not in str(self.settings.arch): @@ -35,40 +37,30 @@ def _nodejs_arch(self): return str(self.settings.arch) @property - def _glibc_version(self): - cmd = ['ldd', '--version'] if conan_version.major == "1" else ['ldd --version'] - buff = StringIO() - self.run(cmd, buff) - return str(re.search(r'GLIBC (\d{1,3}.\d{1,3})', buff.getvalue()).group(1)) - - def package_id(self): - del self.info.settings.compiler + def _dl_info(self): + return self.conan_data["sources"].get(self.version, {}).get(str(self.settings.os), {}).get(self._nodejs_arch) def validate(self): - if not self.version in self.conan_data["sources"] or \ - not str(self.settings.os) in self.conan_data["sources"][self.version] or \ - not self._nodejs_arch in self.conan_data["sources"][self.version][str(self.settings.os)]: + if not self._dl_info: raise ConanInvalidConfiguration("Binaries for this combination of architecture/version/os not available") - if Version(self.version) >= "18.0.0": - if str(self.settings.os) == "Linux": - if Version(self._glibc_version) < '2.27': - raise ConanInvalidConfiguration("Binaries for this combination of architecture/version/os not available") - def build(self): - get(self, **self.conan_data["sources"][self.version][str(self.settings.os)][self._nodejs_arch], - destination=self._source_subfolder, strip_root=True) + get(self, **self._dl_info, strip_root=True) def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self._source_subfolder) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self._source_subfolder, "bin")) - copy(self, pattern="*", dst=os.path.join(self.package_folder, "lib"), src=os.path.join(self._source_subfolder, "lib")) - copy(self, pattern="node.exe", dst=os.path.join(self.package_folder, "bin"), src=self._source_subfolder) - copy(self, pattern="npm", dst=os.path.join(self.package_folder, "bin"), src=self._source_subfolder) - copy(self, pattern="npx", dst=os.path.join(self.package_folder, "bin"), src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.build_folder) + copy(self, "*", dst=os.path.join(self.package_folder, "bin"), src=os.path.join(self.build_folder, "bin")) + copy(self, "*", dst=os.path.join(self.package_folder, "lib"), src=os.path.join(self.build_folder, "lib")) + copy(self, "node.exe", dst=os.path.join(self.package_folder, "bin"), src=self.build_folder) + copy(self, "npm", dst=os.path.join(self.package_folder, "bin"), src=self.build_folder) + copy(self, "npx", dst=os.path.join(self.package_folder, "bin"), src=self.build_folder) def package_info(self): self.cpp_info.includedirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 bin_dir = os.path.join(self.package_folder, "bin") - self.output.info('Appending PATH environment variable: {}'.format(bin_dir)) self.env_info.PATH.append(bin_dir) diff --git a/recipes/nodejs/all/test_package/conanfile.py b/recipes/nodejs/all/test_package/conanfile.py index 26c1600e272f4..01953a2dc0788 100644 --- a/recipes/nodejs/all/test_package/conanfile.py +++ b/recipes/nodejs/all/test_package/conanfile.py @@ -1,16 +1,27 @@ +import platform + from conan import ConanFile from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout +from conan.tools.scm import Version class TestPackageConan(ConanFile): - - settings = "os", "arch" + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" test_type = "explicit" + def layout(self): + cmake_layout(self) + def build_requirements(self): self.tool_requires(self.tested_reference_str) def test(self): if can_run(self): - self.output.info("Node version:") + if self.settings.os in ["Linux", "FreeBSD"]: + libc_version = Version(platform.libc_ver()[1]) + if libc_version < "2.29": + self.output.warning(f"System libc version {libc_version} < 2.29, skipping test_package") + return self.run("node --version") diff --git a/recipes/nodejs/all/test_v1_package/conanfile.py b/recipes/nodejs/all/test_v1_package/conanfile.py index 70012946fb840..31062ce8b441a 100644 --- a/recipes/nodejs/all/test_v1_package/conanfile.py +++ b/recipes/nodejs/all/test_v1_package/conanfile.py @@ -1,5 +1,8 @@ +import platform + from conan import ConanFile from conan.tools.build import cross_building +from conans.model.version import Version class TestPackageConan(ConanFile): @@ -7,10 +10,15 @@ class TestPackageConan(ConanFile): settings = "os", "arch" test_type = "explicit" - def requirements(self): - self.requires(self.tested_reference_str) + def build_requirements(self): + self.build_requires(self.tested_reference_str) def test(self): if not cross_building(self): + if self.settings.os in ["Linux", "FreeBSD"]: + libc_version = Version(platform.libc_ver()[1]) + if libc_version < "2.29": + self.output.warning(f"System libc version {libc_version} < 2.29, skipping test_package") + return self.output.info("Node version:") self.run("node --version") From a34410f3d27a31758d0c9dd642591784eb6a0ffd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 20:44:32 +0200 Subject: [PATCH 3916/4087] (#21111) xtr: migrate to Conan v2 * xtr: migrate to Conan v2 * xtr: switch to CMake, enable non-Linux builds * xtr: fix overly strict compiler checks * xtr: handle fPIC on Windows * xtr: enable io_uring only for Linux, not FreeBSD * xtr: enable only for x86_64 * xtr: enable only for Linux and FreeBSD --- recipes/xtr/all/conandata.yml | 6 - recipes/xtr/all/conanfile.py | 169 +++++++++++------- recipes/xtr/all/test_package/CMakeLists.txt | 6 +- recipes/xtr/all/test_package/conanfile.py | 19 +- .../xtr/all/test_v1_package/CMakeLists.txt | 8 + recipes/xtr/all/test_v1_package/conanfile.py | 17 ++ recipes/xtr/config.yml | 4 - 7 files changed, 143 insertions(+), 86 deletions(-) create mode 100644 recipes/xtr/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/xtr/all/test_v1_package/conanfile.py diff --git a/recipes/xtr/all/conandata.yml b/recipes/xtr/all/conandata.yml index c4c7a036934fc..1e78ef99a9e55 100644 --- a/recipes/xtr/all/conandata.yml +++ b/recipes/xtr/all/conandata.yml @@ -5,12 +5,6 @@ sources: "2.0.1": url: "https://github.com/choll/xtr/archive/refs/tags/2.0.1.tar.gz" sha256: "92327264541900a2c9d43aaa3070d143d5e91879737fcea8cbf56065330af059" - "2.0.0": - url: "https://github.com/choll/xtr/archive/refs/tags/2.0.0.tar.gz" - sha256: "1d0113d3551e0d5f5b97228ba245d711c6b66a62a69d62bdf1b206fdf45edd41" "1.0.1": url: "https://github.com/choll/xtr/archive/refs/tags/1.0.1.tar.gz" sha256: "7cc5ec7a2d7d2979e33b928191def79dc05c8074f4c8bb76cd0a20d9b514be0c" - "1.0.0": - url: "https://github.com/choll/xtr/archive/refs/tags/1.0.0.tar.gz" - sha256: "c828883f3045762442fb8a69ed2633e523493a307a0cb2717ac0df93606db7fd" diff --git a/recipes/xtr/all/conanfile.py b/recipes/xtr/all/conanfile.py index 494c8ad3c65f3..267bd2a3780a0 100644 --- a/recipes/xtr/all/conanfile.py +++ b/recipes/xtr/all/conanfile.py @@ -1,125 +1,160 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration - 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 +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.53.0" + class XtrConan(ConanFile): name = "xtr" - description = \ - "C++ Logging Library for Low-latency or Real-time Environments" - topics = ("xtr", "logging", "logger") + description = "C++ Logging Library for Low-latency or Real-time Environments" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/choll/xtr" - license = "MIT" + topics = ("logging", "logger") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { + "shared": [True, False], "fPIC": [True, False], "enable_exceptions": [True, False], "enable_lto": [True, False], "enable_io_uring": ["auto", True, False], "enable_io_uring_sqpoll": [True, False], - "sink_capacity_kb": "ANY" + "sink_capacity_kb": [None, "ANY"], } default_options = { + "shared": False, "fPIC": True, "enable_exceptions": True, "enable_lto": False, "enable_io_uring": "auto", "enable_io_uring_sqpoll": False, - "sink_capacity_kb": None + "sink_capacity_kb": None, } - generators = "make" + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "10", + "clang": "12", + } + def config_options(self): - if tools.Version(self.version) < "1.0.1": - del self.options.sink_capacity_kb - if tools.Version(self.version) < "2.0.0": + if Version(self.version) >= "2.0.0" and self.settings.os == "Linux": + # Require liburing on any Linux system by default as a run-time check will be + # done to detect if the host kernel supports io_uring. + self.options.enable_io_uring = True + else: del self.options.enable_io_uring del self.options.enable_io_uring_sqpoll + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): - self.requires("fmt/7.1.3") - # Require liburing on any Linux system as a run-time check will be - # done to detect if the host kernel supports io_uring. - if tools.Version(self.version) >= "2.0.0" and self.settings.os == "Linux" and self.options.get_safe("enable_io_uring"): - self.requires("liburing/2.1") + # INFO: https://github.com/choll/xtr/blob/2.1.0/include/xtr/detail/buffer.hpp#L27 + self.requires("fmt/10.1.1", transitive_headers=True, transitive_libs=True) + if self.options.get_safe("enable_io_uring"): + self.requires("liburing/2.4") def validate(self): - if self.settings.os not in ("FreeBSD", "Linux"): + if self.settings.os not in ["FreeBSD", "Linux"]: raise ConanInvalidConfiguration(f"Unsupported os={self.settings.os}") - if self.settings.compiler not in ("gcc", "clang"): - raise ConanInvalidConfiguration(f"Unsupported compiler={self.settings.compiler}") - if self.settings.arch not in ("x86_64", ): + if self.settings.arch not in ["x86_64"]: raise ConanInvalidConfiguration(f"Unsupported arch={self.settings.arch}") - if tools.Version(self.version) < "2.0.0" and self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libc++": - raise ConanInvalidConfiguration(f"Use at least version 2.0.0 for libc++ compatibility") - if self.options.get_safe("enable_io_uring_sqpoll") and not self.options.get_safe("enable_io_uring"): - raise ConanInvalidConfiguration(f"io_uring must be enabled if io_uring_sqpoll is enabled") - if self.options.get_safe("sink_capacity_kb") and not str(self.options.get_safe("sink_capacity_kb")).isdigit(): - raise ConanInvalidConfiguration(f"The option 'sink_capacity_kb' must be an integer") - minimal_cpp_standard = 20 if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) + 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 Version(self.version) < "2.0.0" and str(self.settings.compiler.libcxx) == "libc++": + raise ConanInvalidConfiguration("Use at least version 2.0.0 for libc++ compatibility") - minimum_version = {"gcc": 10, "clang": 12} - compiler = str(self.settings.compiler) - version = tools.Version(self.settings.compiler.version) + if self.options.get_safe("enable_io_uring_sqpoll") and not self.options.get_safe("enable_io_uring"): + raise ConanInvalidConfiguration("io_uring must be enabled if io_uring_sqpoll is enabled") + if self.options.get_safe("sink_capacity_kb") and not str(self.options.get_safe("sink_capacity_kb")).isdigit(): + raise ConanInvalidConfiguration("The option 'sink_capacity_kb' must be an integer") - if version < minimum_version[compiler]: - raise ConanInvalidConfiguration( - f"{self.name} requires {self.settings.compiler} version {minimum_version[compiler]} or later") + if Version(self.dependencies["fmt"].ref.version) < 6: + raise ConanInvalidConfiguration("The version of fmt must be >= 6.0.0") + if Version(self.dependencies["fmt"].ref.version) == "8.0.0" and self.settings.compiler == "clang": + raise ConanInvalidConfiguration("fmt/8.0.0 is known to not work with clang (https://github.com/fmtlib/fmt/issues/2377)") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def get_defines(self): + def _get_defines(self): defines = [] enable_io_uring = self.options.get_safe("enable_io_uring") if enable_io_uring in (True, False): - defines += ["XTR_USE_IO_URING={}".format(int(bool(enable_io_uring)))] + defines += [f"XTR_USE_IO_URING={int(bool(enable_io_uring))}"] if self.options.get_safe("enable_io_uring_sqpoll"): defines += ["XTR_IO_URING_POLL=1"] capacity = self.options.get_safe("sink_capacity_kb") if capacity: - defines += ["XTR_SINK_CAPACITY={}".format(int(capacity) * 1024)] + defines += [f"XTR_SINK_CAPACITY={int(capacity) * 1024}"] return defines - def build(self): - # FIXME: should be done in validate (but version is not yet available there) - if tools.Version(self.deps_cpp_info["fmt"].version) < 6: - raise ConanInvalidConfiguration("The version of fmt must >= 6.0.0") - if tools.Version(self.deps_cpp_info["fmt"].version) == "8.0.0" and self.settings.compiler == "clang": - raise ConanInvalidConfiguration("fmt/8.0.0 is known to not work with clang (https://github.com/fmtlib/fmt/issues/2377)") + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ENABLE_EXCEPTIONS"] = self.options.enable_exceptions + tc.cache_variables["ENABLE_LTO"] = self.options.enable_lto + tc.cache_variables["BUILD_SINGLE_HEADER"] = False + tc.cache_variables["BUILD_BENCHMARK"] = False + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["INSTALL_DOCS"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + if Version(self.version) >= "2.0.0": + # Ensure that liburing from Conan is used + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "find_package(liburing)", + "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)") - autotools = AutoToolsBuildEnvironment(self) - env_build_vars = autotools.vars - # Conan uses LIBS, presumably following autotools conventions, while - # the XTR makefile follows GNU make conventions and uses LDLIBS - env_build_vars["LDLIBS"] = env_build_vars["LIBS"] - # fPIC and Release/Debug/RelWithDebInfo etc are set via CXXFLAGS, - # CPPFLAGS etc. - env_build_vars["EXCEPTIONS"] = \ - str(int(bool(self.options.enable_exceptions))) - env_build_vars["LTO"] = str(int(bool(self.options.enable_lto))) - env_build_vars["CXXFLAGS"] += "".join([" -D{}".format(d) for d in self.get_defines()]) - autotools.make(vars=env_build_vars) - autotools.make(vars=env_build_vars, target="xtrctl") + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE", dst="licenses") - self.copy("*.hpp", src="include", dst="include") - self.copy("*/libxtr.a", src="build", dst="lib", keep_path=False) - self.copy("*/xtrctl", src="build", dst="bin", keep_path=False) - - tools.rmdir(os.path.join(self.package_folder, "man")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() def package_info(self): self.cpp_info.libs = ["xtr"] self.cpp_info.system_libs = ["pthread"] - self.cpp_info.defines = self.get_defines() + self.cpp_info.defines = self._get_defines() + + # TODO: Legacy, to be removed on Conan 2.0 bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/xtr/all/test_package/CMakeLists.txt b/recipes/xtr/all/test_package/CMakeLists.txt index 921819122a4a1..3c2e1a85eb695 100644 --- a/recipes/xtr/all/test_package/CMakeLists.txt +++ b/recipes/xtr/all/test_package/CMakeLists.txt @@ -1,11 +1,9 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -find_package(xtr REQUIRED) +find_package(xtr REQUIRED CONFIG) add_executable(${PROJECT_NAME} example.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE xtr::xtr) diff --git a/recipes/xtr/all/test_package/conanfile.py b/recipes/xtr/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/xtr/all/test_package/conanfile.py +++ b/recipes/xtr/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/xtr/all/test_v1_package/CMakeLists.txt b/recipes/xtr/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/xtr/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/xtr/all/test_v1_package/conanfile.py b/recipes/xtr/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/xtr/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/xtr/config.yml b/recipes/xtr/config.yml index ecc6dca2fd252..4f7c23f02e7c5 100644 --- a/recipes/xtr/config.yml +++ b/recipes/xtr/config.yml @@ -3,9 +3,5 @@ versions: folder: all "2.0.1": folder: all - "2.0.0": - folder: all "1.0.1": folder: all - "1.0.0": - folder: all From f87fc31f55a0c49c11dc1302663804f4d1f5b4fc Mon Sep 17 00:00:00 2001 From: Ritobroto Mukherjee Date: Wed, 13 Mar 2024 00:36:07 +0530 Subject: [PATCH 3917/4087] (#21791) openal-soft: add patch for pulseaudio --- recipes/openal-soft/all/conandata.yml | 1 + ....2-0002-fix-pulseaudio-find-package-vars.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 recipes/openal-soft/all/patches/1.22.2-0002-fix-pulseaudio-find-package-vars.patch diff --git a/recipes/openal-soft/all/conandata.yml b/recipes/openal-soft/all/conandata.yml index 39085eaa09938..104b16635107e 100644 --- a/recipes/openal-soft/all/conandata.yml +++ b/recipes/openal-soft/all/conandata.yml @@ -17,6 +17,7 @@ sources: patches: "1.22.2": - patch_file: "patches/1.22.2-0001-fix-al-optional-in-if-compile-error.patch" + - patch_file: "patches/1.22.2-0002-fix-pulseaudio-find-package-vars.patch" "1.21.0": - patch_file: "patches/1.21.0-0001-c++14-does-not-have-std-aligned_alloc.patch" - patch_file: "patches/1.21.0-0002-fix-windows-sdk.patch" diff --git a/recipes/openal-soft/all/patches/1.22.2-0002-fix-pulseaudio-find-package-vars.patch b/recipes/openal-soft/all/patches/1.22.2-0002-fix-pulseaudio-find-package-vars.patch new file mode 100644 index 0000000000000..ff97aae372563 --- /dev/null +++ b/recipes/openal-soft/all/patches/1.22.2-0002-fix-pulseaudio-find-package-vars.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1984ac9..75e904d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1051,8 +1051,8 @@ if(PULSEAUDIO_FOUND) + set(HAVE_PULSEAUDIO 1) + set(BACKENDS "${BACKENDS} PulseAudio${IS_LINKED},") + set(ALC_OBJS ${ALC_OBJS} alc/backends/pulseaudio.cpp alc/backends/pulseaudio.h) +- add_backend_libs(${PULSEAUDIO_LIBRARIES}) +- set(INC_PATHS ${INC_PATHS} ${PULSEAUDIO_INCLUDE_DIRS}) ++ add_backend_libs(${PULSEAUDIO_LIBRARY}) ++ set(INC_PATHS ${INC_PATHS} ${PULSEAUDIO_INCLUDE_DIR}) + endif() + endif() + if(ALSOFT_REQUIRE_PULSEAUDIO AND NOT HAVE_PULSEAUDIO) From df3ba9ab669394474b250ccfab072ca18992ae8e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Mar 2024 21:25:55 +0200 Subject: [PATCH 3918/4087] (#22047) assimp: add v5.3.1, v5.2.5, simplify patching, drop old versions * assimp: always add zlib dependency It's a transitive dependency of minizip anyway. * assimp: simplify patching * assimp: add conan_deps.cmake to inject dependencies * assimp: inject using conan_deps.cmake, drop old versions * assimp: bump deps * assimp: use namespaced CMake targets only * assimp: add v5.3.1, v5.2.5 * assimp: v5.2+ requires C++17 https://github.com/assimp/assimp/commit/af42d53c92487badcb396e9594157dcfdb196d68 * assimp: make _patch_sources() clearer * assimp: fix patching --- recipes/assimp/5.x/conan_deps.cmake | 42 ++ recipes/assimp/5.x/conandata.yml | 25 +- recipes/assimp/5.x/conanfile.py | 148 ++++--- .../patches/0001-unvendor-deps-5.0.x.patch | 292 -------------- .../0002-fix-all-exporters-disabled.patch | 253 ------------ .../patches/0003-unvendor-deps-5.1.x.patch | 364 ------------------ .../patches/0004-unvendor-deps-5.1.6.patch | 340 ---------------- .../patches/0006-unvendor-deps-5.2.x.patch | 340 ---------------- recipes/assimp/config.yml | 10 +- 9 files changed, 153 insertions(+), 1661 deletions(-) create mode 100644 recipes/assimp/5.x/conan_deps.cmake delete mode 100644 recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch delete mode 100644 recipes/assimp/5.x/patches/0002-fix-all-exporters-disabled.patch delete mode 100644 recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch delete mode 100644 recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch delete mode 100644 recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch diff --git a/recipes/assimp/5.x/conan_deps.cmake b/recipes/assimp/5.x/conan_deps.cmake new file mode 100644 index 0000000000000..ed063a23fb273 --- /dev/null +++ b/recipes/assimp/5.x/conan_deps.cmake @@ -0,0 +1,42 @@ +find_package(minizip REQUIRED CONFIG) +link_libraries(minizip::minizip) + +find_package(pugixml REQUIRED CONFIG) +link_libraries(pugixml::pugixml) + +find_package(utf8cpp REQUIRED CONFIG) +link_libraries(utf8cpp::utf8cpp) + +find_package(ZLIB REQUIRED CONFIG) +link_libraries(ZLIB::ZLIB) + +if(WITH_CLIPPER) + find_package(clipper REQUIRED CONFIG) + link_libraries(clipper::clipper) +endif() +if(WITH_DRACO) + find_package(draco REQUIRED CONFIG) + link_libraries(draco::draco) +endif() +if(WITH_KUBAZIP) + find_package(zip REQUIRED CONFIG) + link_libraries(zip::zip) +endif() +if(WITH_OPENDDL) + find_package(openddlparser REQUIRED CONFIG) + link_libraries(openddlparser::openddlparser) +endif() +if(WITH_POLY2TRI) + find_package(poly2tri REQUIRED CONFIG) + link_libraries(poly2tri::poly2tri) +endif() +if(WITH_PUGIXML) +endif() +if(WITH_RAPIDJSON) + find_package(RapidJSON REQUIRED CONFIG) + link_libraries(rapidjson::rapidjson) +endif() +if(WITH_STB) + find_package(stb REQUIRED CONFIG) + link_libraries(stb::stb) +endif() diff --git a/recipes/assimp/5.x/conandata.yml b/recipes/assimp/5.x/conandata.yml index c99892ad1d8a8..42aa3dd3fee85 100644 --- a/recipes/assimp/5.x/conandata.yml +++ b/recipes/assimp/5.x/conandata.yml @@ -1,31 +1,18 @@ sources: + "5.3.1": + url: "https://github.com/assimp/assimp/archive/refs/tags/v5.3.1.tar.gz" + sha256: "a07666be71afe1ad4bc008c2336b7c688aca391271188eb9108d0c6db1be53f1" + "5.2.5": + url: "https://github.com/assimp/assimp/archive/refs/tags/v5.2.5.tar.gz" + sha256: "b5219e63ae31d895d60d98001ee5bb809fb2c7b2de1e7f78ceeb600063641e1a" "5.2.2": url: "https://github.com/assimp/assimp/archive/refs/tags/v5.2.2.tar.gz" sha256: "ad76c5d86c380af65a9d9f64e8fc57af692ffd80a90f613dfc6bd945d0b80bb4" "5.1.6": url: "https://github.com/assimp/assimp/archive/refs/tags/v5.1.6.tar.gz" sha256: "52ad3a3776ce320c8add531dbcb2d3b93f2e1f10fcff5ac30178b09ba934d084" - "5.1.0": - url: "https://github.com/assimp/assimp/archive/refs/tags/v5.1.0.tar.gz" - sha256: "b96f609bca45cc4747bf8ea4b696816ada484aed2812e60ea4d16aae18360b0b" - "5.0.1": - url: "https://github.com/assimp/assimp/archive/refs/tags/v5.0.1.tar.gz" - sha256: "11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc" - "5.0.0": - url: "https://github.com/assimp/assimp/archive/refs/tags/v5.0.0.tar.gz" - sha256: "b0110a91650d6bb4000e3d5c2185bf77b0ff0a2e7a284bc2c4af81b33988b63c" patches: "5.2.2": - patch_file: "patches/0005-fix-unzip.patch" - - patch_file: "patches/0006-unvendor-deps-5.2.x.patch" "5.1.6": - - patch_file: "patches/0004-unvendor-deps-5.1.6.patch" - patch_file: "patches/0005-fix-unzip.patch" - "5.1.0": - - patch_file: "patches/0003-unvendor-deps-5.1.x.patch" - "5.0.1": - - patch_file: "patches/0001-unvendor-deps-5.0.x.patch" - - patch_file: "patches/0002-fix-all-exporters-disabled.patch" - "5.0.0": - - patch_file: "patches/0001-unvendor-deps-5.0.x.patch" - - patch_file: "patches/0002-fix-all-exporters-disabled.patch" diff --git a/recipes/assimp/5.x/conanfile.py b/recipes/assimp/5.x/conanfile.py index 375b192d92523..9d8d654edce03 100644 --- a/recipes/assimp/5.x/conanfile.py +++ b/recipes/assimp/5.x/conanfile.py @@ -1,8 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import stdcpp_library +from conan.tools.build import stdcpp_library, check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -104,8 +104,27 @@ class AssimpConan(ConanFile): options.update(dict.fromkeys(_format_option_map, [True, False])) default_options.update(dict.fromkeys(_format_option_map, True)) + @property + def _min_cppstd(self): + if Version(self.version) < "5.2.0": + return 11 + return 17 + + @property + def _compilers_minimum_version(self): + if Version(self.version) < "5.2.0": + return {} + return { + "gcc": "7", + "clang": "6", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + 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): if self.settings.os == "Windows": @@ -136,8 +155,6 @@ def _depends_on_rapidjson(self): @property def _depends_on_draco(self): - if Version(self.version) < "5.1.0": - return False return self.options.with_gltf or self.options.with_gltf_exporter @property @@ -146,51 +163,46 @@ def _depends_on_clipper(self): @property def _depends_on_stb(self): - if Version(self.version) < "5.1.0": - return False return self.options.with_m3d or self.options.with_m3d_exporter or \ self.options.with_pbrt_exporter - @property - def _depends_on_zlib(self): - return self.options.with_assbin or self.options.with_assbin_exporter or \ - self.options.with_assxml_exporter or self.options.with_blend or self.options.with_fbx or \ - self.options.with_q3bsp or self.options.with_x or self.options.with_xgl - @property def _depends_on_openddlparser(self): - if Version(self.version) < "5.1.0": - return False return self.options.with_opengex def requirements(self): # TODO: unvendor others libs: # - Open3DGC self.requires("minizip/1.2.13") - self.requires("utfcpp/3.2.3") - if Version(self.version) < "5.1.0": - self.requires("irrxml/1.2") - else: - self.requires("pugixml/1.13") + self.requires("pugixml/1.14") + self.requires("utfcpp/4.0.1") + self.requires("zlib/[>=1.2.11 <2]") if self._depends_on_kuba_zip: - self.requires("kuba-zip/0.2.6") + self.requires("kuba-zip/0.3.0") if self._depends_on_poly2tri: self.requires("poly2tri/cci.20130502") if self._depends_on_rapidjson: - self.requires("rapidjson/cci.20220822") - if self._depends_on_zlib: - self.requires("zlib/[>=1.2.11 <2]") + self.requires("rapidjson/cci.20230929") if self._depends_on_draco: self.requires("draco/1.5.6") if self._depends_on_clipper: - self.requires("clipper/4.10.0") # Only 4.x supported + if Version(self.version) >= "5.3.0": + self.requires("clipper/6.4.2") + else: + self.requires("clipper/4.10.0") if self._depends_on_stb: - self.requires("stb/cci.20220909") + self.requires("stb/cci.20230920") if self._depends_on_openddlparser: - self.requires("openddl-parser/0.5.0") + self.requires("openddl-parser/0.5.1") def validate(self): - if self._depends_on_clipper and Version(self.dependencies["clipper"].ref.version).major != "4": + 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 Version(self.version) < "5.3.0" and self._depends_on_clipper and Version(self.dependencies["clipper"].ref.version).major != "4": raise ConanInvalidConfiguration("Only 'clipper/4.x' is supported") def source(self): @@ -198,14 +210,9 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if Version(self.version) >= "5.1.0": - tc.variables["ASSIMP_HUNTER_ENABLED"] = False - tc.variables["ASSIMP_IGNORE_GIT_HASH"] = True - tc.variables["ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR"] = False - else: - tc.variables["HUNTER_ENABLED"] = False - tc.variables["IGNORE_GIT_HASH"] = True - tc.variables["SYSTEM_IRRXML"] = True + tc.variables["ASSIMP_HUNTER_ENABLED"] = False + tc.variables["ASSIMP_IGNORE_GIT_HASH"] = True + tc.variables["ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR"] = False tc.variables["ASSIMP_ANDROID_JNIIOSYSTEM"] = False tc.variables["ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT"] = False tc.variables["ASSIMP_BUILD_ALL_EXPORTERS_BY_DEFAULT"] = False @@ -223,9 +230,20 @@ def generate(self): if self.settings.os == "Windows": tc.preprocessor_definitions["NOMINMAX"] = 1 tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" # to avoid warnings + + tc.cache_variables["CMAKE_PROJECT_Assimp_INCLUDE"] = "conan_deps.cmake" + tc.cache_variables["WITH_CLIPPER"] = self._depends_on_clipper + tc.cache_variables["WITH_DRACO"] = self._depends_on_draco + tc.cache_variables["WITH_KUBAZIP"] = self._depends_on_kuba_zip + tc.cache_variables["WITH_OPENDDL"] = self._depends_on_openddlparser + tc.cache_variables["WITH_POLY2TRI"] = self._depends_on_poly2tri + tc.cache_variables["WITH_RAPIDJSON"] = self._depends_on_rapidjson + tc.cache_variables["WITH_STB"] = self._depends_on_stb tc.generate() cd = CMakeDeps(self) + cd.set_property("rapidjson", "cmake_target_name", "rapidjson::rapidjson") + cd.set_property("utfcpp", "cmake_target_name", "utf8cpp::utf8cpp") cd.generate() def _patch_sources(self): @@ -235,25 +253,61 @@ def _patch_sources(self): replace_mapping = [ ("-fPIC", ""), ("-g ", ""), + ("/WX", ""), + ("-Werror", ""), ("SET(CMAKE_POSITION_INDEPENDENT_CODE ON)", ""), ('SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob2 /DEBUG:FULL /Zi")', ""), ('SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D_DEBUG /Zi /Od")', ""), ('SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")', ""), ('SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG:FULL /PDBALTPATH:%_PDB% /OPT:REF /OPT:ICF")', ""), - ("/WX", "") ] - for before, after in replace_mapping: - replace_in_file(self, os.path.join( - self.source_folder, "CMakeLists.txt"), before, after, strict=False) - # Take care to not use these vendored libs - vendors = ["poly2tri", "rapidjson", "utf8cpp", "zip", "unzip", "stb", "zlib", "clipper"] - if Version(self.version) < "5.1.0": - vendors.append("irrXML") - else: - vendors.extend(["pugixml", "draco", "openddlparser"]) - for vendor in vendors: - rmdir(self, os.path.join(self.source_folder, "contrib", vendor)) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), before, after, strict=False) + replace_in_file(self, os.path.join(self.source_folder, "code", "CMakeLists.txt"), before, after, strict=False) + + # Make sure vendored libs are not used by accident by removing their subdirs + allow_vendored = ["Open3DGC"] + for contrib_dir in self.source_path.joinpath("contrib").iterdir(): + if contrib_dir.is_dir() and contrib_dir.name not in allow_vendored: + rmdir(self, contrib_dir) + + # Do not include add vendored library sources to the build + # https://github.com/assimp/assimp/blob/v5.3.1/code/CMakeLists.txt#L1151-L1159 + code_cmakelists = self.source_path.joinpath("code", "CMakeLists.txt") + content = code_cmakelists.read_text(encoding="utf-8") + for vendored_lib in [ + "unzip_compile", + "Poly2Tri", + "Clipper", + "openddl_parser", + # "open3dgc", + "ziplib", + "Pugixml", + "stb", + ]: + content = content.replace("${%s_SRCS}" % vendored_lib, "") + code_cmakelists.write_text(content, encoding="utf-8") + + # Make vendored headers redirect to external ones. + for contrib_header, include in [ + (os.path.join("clipper", "clipper.hpp"), "polyclipping/clipper.hpp"), + (os.path.join("poly2tri", "poly2tri", "poly2tri.h"), "poly2tri/poly2tri.h"), + (os.path.join("stb", "stb_image.h"), "stb_image.h"), + (os.path.join("utf8cpp", "source", "utf8.h"), "utf8.h"), + (os.path.join("zip", "src", "zip.h"), "zip/zip.h"), + ]: + save(self, os.path.join(self.source_folder, "contrib", contrib_header), + f"#include <{include}>\n") + + # minizip is provided via conan_deps.cmake, no need to use pkgconfig + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "use_pkgconfig(UNZIP minizip)", "set(UNZIP_FOUND TRUE)") + + # ZLIB is unvendored, no need to install it + # https://github.com/assimp/assimp/blob/v5.3.1/CMakeLists.txt#L483-L487 + # https://github.com/assimp/assimp/blob/v5.1.6/CMakeLists.txt#L463-L466 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "INSTALL( TARGETS zlib", "set(_ #") def build(self): self._patch_sources() diff --git a/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch b/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch deleted file mode 100644 index 2797e98541843..0000000000000 --- a/recipes/assimp/5.x/patches/0001-unvendor-deps-5.0.x.patch +++ /dev/null @@ -1,292 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -437,10 +437,14 @@ IF(HUNTER_ENABLED) - set(ASSIMP_BUILD_MINIZIP TRUE) - ELSE(HUNTER_ENABLED) - IF ( NOT ASSIMP_BUILD_ZLIB ) -- FIND_PACKAGE(ZLIB) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ find_package(ZLIB REQUIRED) -+ endif() - ENDIF( NOT ASSIMP_BUILD_ZLIB ) - -- IF( NOT ZLIB_FOUND ) -+ IF(0) - MESSAGE(STATUS "compiling zlib from sources") - INCLUDE(CheckIncludeFile) - INCLUDE(CheckTypeSize) -@@ -461,23 +465,23 @@ ELSE(HUNTER_ENABLED) - SET(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib) - # need to ensure we don't link with system zlib or minizip as well. - SET(ASSIMP_BUILD_MINIZIP 1) -- ELSE(NOT ZLIB_FOUND) -+ ELSE() - ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB) - SET(ZLIB_LIBRARIES_LINKED -lz) -- ENDIF(NOT ZLIB_FOUND) -+ ENDIF() - INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) - ENDIF(HUNTER_ENABLED) - - IF( NOT IOS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF( NOT ASSIMP_BUILD_MINIZIP ) - ELSE ( NOT IOS ) -- IF( NOT BUILD_SHARED_LIBS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF( NOT ASSIMP_BUILD_MINIZIP ) -- ENDIF ( NOT BUILD_SHARED_LIBS ) - ENDIF ( NOT IOS ) - - IF ( ASSIMP_NO_EXPORT ) ---- a/code/3MF/D3MFExporter.cpp -+++ b/code/3MF/D3MFExporter.cpp -@@ -58,7 +58,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - namespace Assimp { ---- a/code/Blender/BlenderTessellator.h -+++ b/code/Blender/BlenderTessellator.h -@@ -147,7 +147,7 @@ namespace Assimp - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - #endif - - namespace Assimp ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -866,6 +866,7 @@ IF(HUNTER_ENABLED) - hunter_add_package(irrXML) - find_package(irrXML CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) -+ find_package(irrxml REQUIRED CONFIG) - # irrXML already included in contrib directory by parent CMakeLists.txt. - ENDIF(HUNTER_ENABLED) - -@@ -874,6 +875,7 @@ IF(HUNTER_ENABLED) - hunter_add_package(utf8) - find_package(utf8 CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) -+ find_package(utf8cpp REQUIRED CONFIG) - # utf8 is header-only, so Assimp doesn't need to do anything. - ENDIF(HUNTER_ENABLED) - -@@ -882,6 +884,9 @@ IF(HUNTER_ENABLED) - hunter_add_package(polyclipping) - find_package(polyclipping CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(clipper REQUIRED CONFIG) -+ endif() - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp -@@ -894,6 +899,9 @@ IF(HUNTER_ENABLED) - hunter_add_package(poly2tri) - find_package(poly2tri CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(poly2tri REQUIRED CONFIG) -+ endif() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -930,6 +938,9 @@ IF(HUNTER_ENABLED) - hunter_add_package(zip) - find_package(zip CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) -+ if(ASSIMP_BUILD_3MF_EXPORTER) -+ find_package(zip REQUIRED CONFIG) -+ endif() - SET( ziplib_SRCS - ../contrib/zip/src/miniz.h - ../contrib/zip/src/zip.c -@@ -1025,8 +1036,9 @@ IF(HUNTER_ENABLED) - hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) -- INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" ) -- INCLUDE_DIRECTORIES( "../contrib" ) -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(RapidJSON REQUIRED CONFIG) -+ endif() - ENDIF(HUNTER_ENABLED) - - # VC2010 fixes -@@ -1076,13 +1088,8 @@ SET( assimp_src - ${ASSIMP_EXPORTER_SRCS} - - # Third-party libraries -- ${IrrXML_SRCS} -- ${unzip_compile_SRCS} -- ${Poly2Tri_SRCS} -- ${Clipper_SRCS} - ${openddl_parser_SRCS} - ${open3dgc_SRCS} -- ${ziplib_SRCS} - # Necessary to show the headers in the project when using the VC++ generator: - - ${PUBLIC_HEADERS} -@@ -1094,6 +1101,7 @@ IF(NOT HUNTER_ENABLED) - INCLUDE_DIRECTORIES( - ${IRRXML_INCLUDE_DIR} - ../contrib/openddlparser/include -+ ../contrib # for Open3DGC - ) - ENDIF(NOT HUNTER_ENABLED) - -@@ -1125,7 +1133,24 @@ IF(HUNTER_ENABLED) - zip::zip - ) - ELSE(HUNTER_ENABLED) -- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} ) -+ target_link_libraries(assimp irrxml::irrxml utf8cpp) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ target_link_libraries(assimp ZLIB::ZLIB) -+ endif() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp clipper::clipper) -+ endif() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp poly2tri::poly2tri) -+ endif() -+ if(ASSIMP_BUILD_3MF_EXPORTER) -+ target_link_libraries(assimp zip::zip) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp rapidjson) -+ endif() - ENDIF(HUNTER_ENABLED) - - if(ASSIMP_ANDROID_JNIIOSYSTEM) -@@ -1210,8 +1235,7 @@ ENDIF(APPLE) - # assimp can #include "unzip.h" - IF(NOT HUNTER_ENABLED) - if (UNZIP_FOUND) -- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) -- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) -+ target_link_libraries(assimp minizip::minizip) - else (UNZIP_FOUND) - INCLUDE_DIRECTORIES("../") - endif (UNZIP_FOUND) ---- a/code/Common/BaseImporter.cpp -+++ b/code/Common/BaseImporter.cpp -@@ -344,7 +344,7 @@ std::string BaseImporter::GetExtension( const std::string& file ) { - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - - // ------------------------------------------------------------------------------------------------ ---- a/code/Common/ZipArchiveIOSystem.cpp -+++ b/code/Common/ZipArchiveIOSystem.cpp -@@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - namespace Assimp { ---- a/code/Importer/IFC/IFCGeometry.cpp -+++ b/code/Importer/IFC/IFCGeometry.cpp -@@ -53,8 +53,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/Importer/IFC/IFCLoader.cpp -+++ b/code/Importer/IFC/IFCLoader.cpp -@@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # ifdef ASSIMP_USE_HUNTER - # include - # else --# include -+# include - # endif - #endif - ---- a/code/Importer/IFC/IFCOpenings.cpp -+++ b/code/Importer/IFC/IFCOpenings.cpp -@@ -53,8 +53,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/Importer/STEPParser/STEPFileEncoding.cpp -+++ b/code/Importer/STEPParser/STEPFileEncoding.cpp -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - #include ---- a/code/MMD/MMDPmxParser.cpp -+++ b/code/MMD/MMDPmxParser.cpp -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - ---- a/code/SIB/SIBImporter.cpp -+++ b/code/SIB/SIBImporter.cpp -@@ -63,7 +63,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # include - #else - //# include "../contrib/ConvertUTF/ConvertUTF.h" --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - #include ---- a/code/X3D/FIReader.cpp -+++ b/code/X3D/FIReader.cpp -@@ -63,7 +63,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - #include diff --git a/recipes/assimp/5.x/patches/0002-fix-all-exporters-disabled.patch b/recipes/assimp/5.x/patches/0002-fix-all-exporters-disabled.patch deleted file mode 100644 index 2e71d7e86ff86..0000000000000 --- a/recipes/assimp/5.x/patches/0002-fix-all-exporters-disabled.patch +++ /dev/null @@ -1,253 +0,0 @@ -patch from https://github.com/assimp/assimp/pull/2759 - ---- a/code/Common/Exporter.cpp -+++ b/code/Common/Exporter.cpp -@@ -105,90 +105,88 @@ void ExportScene3MF( const char*, IOSystem*, const aiScene*, const ExportPropert - void ExportAssimp2Json(const char* , IOSystem*, const aiScene* , const Assimp::ExportProperties*); - - // ------------------------------------------------------------------------------------------------ --// global array of all export formats which Assimp supports in its current build --Exporter::ExportFormatEntry gExporters[] = -+static void setupExporterArray(std::vector &exporters) - { - #ifndef ASSIMP_BUILD_NO_COLLADA_EXPORTER -- Exporter::ExportFormatEntry( "collada", "COLLADA - Digital Asset Exchange Schema", "dae", &ExportSceneCollada ), -+ exporters.push_back(Exporter::ExportFormatEntry( "collada", "COLLADA - Digital Asset Exchange Schema", "dae", &ExportSceneCollada )); - #endif - - #ifndef ASSIMP_BUILD_NO_X_EXPORTER -- Exporter::ExportFormatEntry( "x", "X Files", "x", &ExportSceneXFile, -- aiProcess_MakeLeftHanded | aiProcess_FlipWindingOrder | aiProcess_FlipUVs ), -+ exporters.push_back(Exporter::ExportFormatEntry( "x", "X Files", "x", &ExportSceneXFile, -+ aiProcess_MakeLeftHanded | aiProcess_FlipWindingOrder | aiProcess_FlipUVs )); - #endif - - #ifndef ASSIMP_BUILD_NO_STEP_EXPORTER -- Exporter::ExportFormatEntry( "stp", "Step Files", "stp", &ExportSceneStep, 0 ), -+ exporters.push_back(Exporter::ExportFormatEntry( "stp", "Step Files", "stp", &ExportSceneStep, 0 )); - #endif - - #ifndef ASSIMP_BUILD_NO_OBJ_EXPORTER -- Exporter::ExportFormatEntry( "obj", "Wavefront OBJ format", "obj", &ExportSceneObj, -- aiProcess_GenSmoothNormals /*| aiProcess_PreTransformVertices */ ), -- Exporter::ExportFormatEntry( "objnomtl", "Wavefront OBJ format without material file", "obj", &ExportSceneObjNoMtl, -- aiProcess_GenSmoothNormals /*| aiProcess_PreTransformVertices */ ), -+ exporters.push_back(Exporter::ExportFormatEntry( "obj", "Wavefront OBJ format", "obj", &ExportSceneObj, -+ aiProcess_GenSmoothNormals /*| aiProcess_PreTransformVertices */ )); -+ exporters.push_back(Exporter::ExportFormatEntry( "objnomtl", "Wavefront OBJ format without material file", "obj", &ExportSceneObjNoMtl, -+ aiProcess_GenSmoothNormals /*| aiProcess_PreTransformVertices */ )); - #endif - - #ifndef ASSIMP_BUILD_NO_STL_EXPORTER -- Exporter::ExportFormatEntry( "stl", "Stereolithography", "stl" , &ExportSceneSTL, -+ exporters.push_back(Exporter::ExportFormatEntry( "stl", "Stereolithography", "stl" , &ExportSceneSTL, - aiProcess_Triangulate | aiProcess_GenNormals | aiProcess_PreTransformVertices -- ), -- Exporter::ExportFormatEntry( "stlb", "Stereolithography (binary)", "stl" , &ExportSceneSTLBinary, -+ )); -+ exporters.push_back(Exporter::ExportFormatEntry( "stlb", "Stereolithography (binary)", "stl" , &ExportSceneSTLBinary, - aiProcess_Triangulate | aiProcess_GenNormals | aiProcess_PreTransformVertices -- ), -+ )); - #endif - - #ifndef ASSIMP_BUILD_NO_PLY_EXPORTER -- Exporter::ExportFormatEntry( "ply", "Stanford Polygon Library", "ply" , &ExportScenePly, -+ exporters.push_back(Exporter::ExportFormatEntry( "ply", "Stanford Polygon Library", "ply" , &ExportScenePly, - aiProcess_PreTransformVertices -- ), -- Exporter::ExportFormatEntry( "plyb", "Stanford Polygon Library (binary)", "ply", &ExportScenePlyBinary, -+ )); -+ exporters.push_back(Exporter::ExportFormatEntry( "plyb", "Stanford Polygon Library (binary)", "ply", &ExportScenePlyBinary, - aiProcess_PreTransformVertices -- ), -+ )); - #endif - - #ifndef ASSIMP_BUILD_NO_3DS_EXPORTER -- Exporter::ExportFormatEntry( "3ds", "Autodesk 3DS (legacy)", "3ds" , &ExportScene3DS, -- aiProcess_Triangulate | aiProcess_SortByPType | aiProcess_JoinIdenticalVertices ), -+ exporters.push_back(Exporter::ExportFormatEntry( "3ds", "Autodesk 3DS (legacy)", "3ds" , &ExportScene3DS, -+ aiProcess_Triangulate | aiProcess_SortByPType | aiProcess_JoinIdenticalVertices )); - #endif - - #ifndef ASSIMP_BUILD_NO_GLTF_EXPORTER -- Exporter::ExportFormatEntry( "gltf2", "GL Transmission Format v. 2", "gltf", &ExportSceneGLTF2, -- aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType ), -- Exporter::ExportFormatEntry( "glb2", "GL Transmission Format v. 2 (binary)", "glb", &ExportSceneGLB2, -- aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType ), -- Exporter::ExportFormatEntry( "gltf", "GL Transmission Format", "gltf", &ExportSceneGLTF, -- aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType ), -- Exporter::ExportFormatEntry( "glb", "GL Transmission Format (binary)", "glb", &ExportSceneGLB, -- aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType ), -+ exporters.push_back(Exporter::ExportFormatEntry( "gltf2", "GL Transmission Format v. 2", "gltf", &ExportSceneGLTF2, -+ aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType )); -+ exporters.push_back(Exporter::ExportFormatEntry( "glb2", "GL Transmission Format v. 2 (binary)", "glb", &ExportSceneGLB2, -+ aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType )); -+ exporters.push_back(Exporter::ExportFormatEntry( "gltf", "GL Transmission Format", "gltf", &ExportSceneGLTF, -+ aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType )); -+ exporters.push_back(Exporter::ExportFormatEntry( "glb", "GL Transmission Format (binary)", "glb", &ExportSceneGLB, -+ aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType )); - #endif - - #ifndef ASSIMP_BUILD_NO_ASSBIN_EXPORTER -- Exporter::ExportFormatEntry( "assbin", "Assimp Binary File", "assbin" , &ExportSceneAssbin, 0 ), -+ exporters.push_back(Exporter::ExportFormatEntry( "assbin", "Assimp Binary File", "assbin" , &ExportSceneAssbin, 0 )); - #endif - - #ifndef ASSIMP_BUILD_NO_ASSXML_EXPORTER -- Exporter::ExportFormatEntry( "assxml", "Assimp XML Document", "assxml" , &ExportSceneAssxml, 0 ), -+ exporters.push_back(Exporter::ExportFormatEntry( "assxml", "Assimp XML Document", "assxml" , &ExportSceneAssxml, 0 )); - #endif - - #ifndef ASSIMP_BUILD_NO_X3D_EXPORTER -- Exporter::ExportFormatEntry( "x3d", "Extensible 3D", "x3d" , &ExportSceneX3D, 0 ), -+ exporters.push_back(Exporter::ExportFormatEntry( "x3d", "Extensible 3D", "x3d" , &ExportSceneX3D, 0 )); - #endif - - #ifndef ASSIMP_BUILD_NO_FBX_EXPORTER -- Exporter::ExportFormatEntry( "fbx", "Autodesk FBX (binary)", "fbx", &ExportSceneFBX, 0 ), -- Exporter::ExportFormatEntry( "fbxa", "Autodesk FBX (ascii)", "fbx", &ExportSceneFBXA, 0 ), -+ exporters.push_back(Exporter::ExportFormatEntry( "fbx", "Autodesk FBX (binary)", "fbx", &ExportSceneFBX, 0 )); -+ exporters.push_back(Exporter::ExportFormatEntry( "fbxa", "Autodesk FBX (ascii)", "fbx", &ExportSceneFBXA, 0 )); - #endif - - #ifndef ASSIMP_BUILD_NO_3MF_EXPORTER -- Exporter::ExportFormatEntry( "3mf", "The 3MF-File-Format", "3mf", &ExportScene3MF, 0 ), -+ exporters.push_back(Exporter::ExportFormatEntry( "3mf", "The 3MF-File-Format", "3mf", &ExportScene3MF, 0 )); - #endif - - #ifndef ASSIMP_BUILD_NO_ASSJSON_EXPORTER -- Exporter::ExportFormatEntry( "assjson", "Assimp JSON Document", "json", &ExportAssimp2Json, 0) -+ exporters.push_back(Exporter::ExportFormatEntry( "assjson", "Assimp JSON Document", "json", &ExportAssimp2Json, 0)); - #endif --}; -+} - --#define ASSIMP_NUM_EXPORTERS (sizeof(gExporters)/sizeof(gExporters[0])) - - - class ExporterPimpl { -@@ -205,10 +203,7 @@ public: - GetPostProcessingStepInstanceList(mPostProcessingSteps); - - // grab all built-in exporters -- if ( 0 != ( ASSIMP_NUM_EXPORTERS ) ) { -- mExporters.resize( ASSIMP_NUM_EXPORTERS ); -- std::copy( gExporters, gExporters + ASSIMP_NUM_EXPORTERS, mExporters.begin() ); -- } -+ setupExporterArray(mExporters); - } - - ~ExporterPimpl() { -@@ -252,23 +247,27 @@ Exporter :: Exporter() - - // ------------------------------------------------------------------------------------------------ - Exporter::~Exporter() { -+ ai_assert(nullptr != pimpl); - FreeBlob(); - delete pimpl; - } - - // ------------------------------------------------------------------------------------------------ - void Exporter::SetIOHandler( IOSystem* pIOHandler) { -+ ai_assert(nullptr != pimpl); - pimpl->mIsDefaultIOHandler = !pIOHandler; - pimpl->mIOSystem.reset(pIOHandler); - } - - // ------------------------------------------------------------------------------------------------ - IOSystem* Exporter::GetIOHandler() const { -+ ai_assert(nullptr != pimpl); - return pimpl->mIOSystem.get(); - } - - // ------------------------------------------------------------------------------------------------ - bool Exporter::IsDefaultIOHandler() const { -+ ai_assert(nullptr != pimpl); - return pimpl->mIsDefaultIOHandler; - } - -@@ -295,6 +294,7 @@ void Exporter::SetProgressHandler(ProgressHandler* pHandler) { - // ------------------------------------------------------------------------------------------------ - const aiExportDataBlob* Exporter::ExportToBlob( const aiScene* pScene, const char* pFormatId, - unsigned int pPreprocessing, const ExportProperties* pProperties) { -+ ai_assert(nullptr != pimpl); - if (pimpl->blob) { - delete pimpl->blob; - pimpl->blob = nullptr; -@@ -319,6 +319,7 @@ const aiExportDataBlob* Exporter::ExportToBlob( const aiScene* pScene, const cha - aiReturn Exporter::Export( const aiScene* pScene, const char* pFormatId, const char* pPath, - unsigned int pPreprocessing, const ExportProperties* pProperties) { - ASSIMP_BEGIN_EXCEPTION_REGION(); -+ ai_assert(nullptr != pimpl); - - // when they create scenes from scratch, users will likely create them not in verbose - // format. They will likely not be aware that there is a flag in the scene to indicate -@@ -466,11 +467,13 @@ aiReturn Exporter::Export( const aiScene* pScene, const char* pFormatId, const c - - // ------------------------------------------------------------------------------------------------ - const char* Exporter::GetErrorString() const { -+ ai_assert(nullptr != pimpl); - return pimpl->mError.c_str(); - } - - // ------------------------------------------------------------------------------------------------ - void Exporter::FreeBlob() { -+ ai_assert(nullptr != pimpl); - delete pimpl->blob; - pimpl->blob = nullptr; - -@@ -479,11 +482,13 @@ void Exporter::FreeBlob() { - - // ------------------------------------------------------------------------------------------------ - const aiExportDataBlob* Exporter::GetBlob() const { -+ ai_assert(nullptr != pimpl); - return pimpl->blob; - } - - // ------------------------------------------------------------------------------------------------ - const aiExportDataBlob* Exporter::GetOrphanedBlob() const { -+ ai_assert(nullptr != pimpl); - const aiExportDataBlob* tmp = pimpl->blob; - pimpl->blob = nullptr; - return tmp; -@@ -491,18 +496,20 @@ const aiExportDataBlob* Exporter::GetOrphanedBlob() const { - - // ------------------------------------------------------------------------------------------------ - size_t Exporter::GetExportFormatCount() const { -+ ai_assert(nullptr != pimpl); - return pimpl->mExporters.size(); - } - - // ------------------------------------------------------------------------------------------------ - const aiExportFormatDesc* Exporter::GetExportFormatDescription( size_t index ) const { -+ ai_assert(nullptr != pimpl); - if (index >= GetExportFormatCount()) { - return nullptr; - } - - // Return from static storage if the requested index is built-in. -- if (index < sizeof(gExporters) / sizeof(gExporters[0])) { -- return &gExporters[index].mDescription; -+ if (index < pimpl->mExporters.size()) { -+ return &pimpl->mExporters[index].mDescription; - } - - return &pimpl->mExporters[index].mDescription; -@@ -510,6 +517,7 @@ const aiExportFormatDesc* Exporter::GetExportFormatDescription( size_t index ) c - - // ------------------------------------------------------------------------------------------------ - aiReturn Exporter::RegisterExporter(const ExportFormatEntry& desc) { -+ ai_assert(nullptr != pimpl); - for(const ExportFormatEntry& e : pimpl->mExporters) { - if (!strcmp(e.mDescription.id,desc.mDescription.id)) { - return aiReturn_FAILURE; -@@ -522,6 +530,7 @@ aiReturn Exporter::RegisterExporter(const ExportFormatEntry& desc) { - - // ------------------------------------------------------------------------------------------------ - void Exporter::UnregisterExporter(const char* id) { -+ ai_assert(nullptr != pimpl); - for(std::vector::iterator it = pimpl->mExporters.begin(); - it != pimpl->mExporters.end(); ++it) { - if (!strcmp((*it).mDescription.id,id)) { diff --git a/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch b/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch deleted file mode 100644 index 27151094d0e71..0000000000000 --- a/recipes/assimp/5.x/patches/0003-unvendor-deps-5.1.x.patch +++ /dev/null @@ -1,364 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -459,16 +459,20 @@ IF(ASSIMP_HUNTER_ENABLED) - set(ASSIMP_BUILD_MINIZIP TRUE) - ELSE() - # If the zlib is already found outside, add an export in case assimpTargets can't find it. -- IF( ZLIB_FOUND ) -+ IF(0) - INSTALL( TARGETS zlib zlibstatic - EXPORT "${TARGETS_EXPORT_NAME}") - ENDIF() - - IF ( NOT ASSIMP_BUILD_ZLIB ) -- FIND_PACKAGE(ZLIB) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ find_package(ZLIB REQUIRED) -+ endif() - ENDIF() - -- IF( NOT ZLIB_FOUND ) -+ IF(0) - MESSAGE(STATUS "compiling zlib from sources") - INCLUDE(CheckIncludeFile) - INCLUDE(CheckTypeSize) -@@ -498,12 +502,14 @@ ENDIF() - - IF( NOT IOS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF() - ELSE () - IF( NOT BUILD_SHARED_LIBS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF() - ENDIF () - ENDIF () ---- a/code/AssetLib/3MF/D3MFExporter.cpp -+++ b/code/AssetLib/3MF/D3MFExporter.cpp -@@ -57,7 +57,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include -+#include - #endif - - namespace Assimp { ---- a/code/AssetLib/Blender/BlenderTessellator.h -+++ b/code/AssetLib/Blender/BlenderTessellator.h -@@ -147,7 +147,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - #endif - - namespace Assimp ---- a/code/AssetLib/IFC/IFCGeometry.cpp -+++ b/code/AssetLib/IFC/IFCGeometry.cpp -@@ -53,8 +53,8 @@ - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/AssetLib/IFC/IFCLoader.cpp -+++ b/code/AssetLib/IFC/IFCLoader.cpp -@@ -54,7 +54,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include -+#include - #endif - #endif - ---- a/code/AssetLib/IFC/IFCOpenings.cpp -+++ b/code/AssetLib/IFC/IFCOpenings.cpp -@@ -53,8 +53,8 @@ - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/AssetLib/M3D/M3DWrapper.hpp -+++ b/code/AssetLib/M3D/M3DWrapper.h -@@ -59,7 +59,7 @@ - - // Share stb_image's PNG loader with other importers/exporters instead of bringing our own copy. - #define STBI_ONLY_PNG --#include -+#include - - #include "m3d.h" - ---- a/code/AssetLib/MMD/MMDPmxParser.cpp -+++ b/code/AssetLib/MMD/MMDPmxParser.cpp -@@ -45,7 +45,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - ---- a/code/AssetLib/SIB/SIBImporter.cpp -+++ b/code/AssetLib/SIB/SIBImporter.cpp -@@ -62,7 +62,7 @@ - #include - #else - //# include "../contrib/ConvertUTF/ConvertUTF.h" --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - #include - #include ---- a/code/AssetLib/STEPParser/STEPFileEncoding.cpp -+++ b/code/AssetLib/STEPParser/STEPFileEncoding.cpp -@@ -48,7 +48,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - #include ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -887,6 +887,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(pugixml) - find_package(pugixml CONFIG REQUIRED) - ELSE() -+ find_package(pugixml REQUIRED CONFIG) - SET( Pugixml_SRCS - ../contrib/pugixml/src/pugiconfig.hpp - ../contrib/pugixml/src/pugixml.hpp -@@ -900,6 +901,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(utf8) - find_package(utf8cpp CONFIG REQUIRED) - ELSE() -+ find_package(utf8cpp REQUIRED CONFIG) - # utf8 is header-only, so Assimp doesn't need to do anything. - ENDIF() - -@@ -908,6 +910,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(polyclipping) - find_package(polyclipping CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(clipper REQUIRED CONFIG) -+ endif() - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp -@@ -920,6 +925,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(poly2tri) - find_package(poly2tri CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(poly2tri REQUIRED CONFIG) -+ endif() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -957,6 +965,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(zip) - find_package(zip CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_3MF_EXPORTER) -+ find_package(zip REQUIRED CONFIG) -+ endif() - SET( ziplib_SRCS - ../contrib/zip/src/miniz.h - ../contrib/zip/src/zip.c -@@ -978,6 +989,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(openddlparser) - find_package(openddlparser CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_OPENGEX_IMPORTER) -+ find_package(openddlparser REQUIRED CONFIG) -+ endif() - SET ( openddl_parser_SRCS - ../contrib/openddlparser/code/OpenDDLParser.cpp - ../contrib/openddlparser/code/DDLNode.cpp -@@ -1052,7 +1066,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) - ELSE() -- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(RapidJSON REQUIRED CONFIG) -+ endif() - ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) - option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) - if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) -@@ -1065,10 +1081,12 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(stb) - find_package(stb CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_M3D_IMPORTER OR ASSIMP_BUILD_M3D_EXPORTER OR ASSIMP_BUILD_PBRT_EXPORTER) -+ find_package(stb REQUIRED CONFIG) -+ endif() - SET( stb_SRCS - ../contrib/stb/stb_image.h - ) -- INCLUDE_DIRECTORIES("../contrib") - SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) - ENDIF() - -@@ -1123,14 +1141,7 @@ SET( assimp_src - ${ASSIMP_EXPORTER_SRCS} - - # Third-party libraries -- ${unzip_compile_SRCS} -- ${Poly2Tri_SRCS} -- ${Clipper_SRCS} -- ${openddl_parser_SRCS} - ${open3dgc_SRCS} -- ${ziplib_SRCS} -- ${Pugixml_SRCS} -- ${stb_SRCS} - # Necessary to show the headers in the project when using the VC++ generator: - - ${PUBLIC_HEADERS} -@@ -1141,7 +1152,7 @@ ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - IF(NOT ASSIMP_HUNTER_ENABLED) - INCLUDE_DIRECTORIES( - ${IRRXML_INCLUDE_DIR} -- ../contrib/openddlparser/include -+ ../contrib # for Open3DGC - ) - ENDIF() - -@@ -1150,8 +1161,8 @@ IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) - INCLUDE_DIRECTORIES(${C4D_INCLUDES}) - ENDIF () - --IF (ASSIMP_BUILD_DRACO) -- INCLUDE_DIRECTORIES(${draco_INCLUDE_DIRS}) -+if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(draco REQUIRED CONFIG) - ADD_DEFINITIONS( -DASSIMP_ENABLE_DRACO ) - ENDIF() - -@@ -1162,9 +1173,7 @@ TARGET_USE_COMMON_OUTPUT_DIRECTORY(assimp) - - # enable warnings as errors ######################################## - IF (MSVC) -- TARGET_COMPILE_OPTIONS(assimp PRIVATE /WX) - ELSE() -- TARGET_COMPILE_OPTIONS(assimp PRIVATE -Werror) - ENDIF() - - # adds C_FLAGS required to compile zip.c on old GCC 4.x compiler -@@ -1195,9 +1204,32 @@ IF(ASSIMP_HUNTER_ENABLED) - target_link_libraries(assimp PUBLIC ${draco_LIBRARIES}) - endif() - ELSE() -- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) -- if (ASSIMP_BUILD_DRACO) -- target_link_libraries(assimp ${draco_LIBRARIES}) -+ target_link_libraries(assimp pugixml::pugixml utf8cpp) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ target_link_libraries(assimp ZLIB::ZLIB) -+ endif() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp clipper::clipper) -+ endif() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp poly2tri::poly2tri) -+ endif() -+ if(ASSIMP_BUILD_3MF_EXPORTER) -+ target_link_libraries(assimp zip::zip) -+ endif() -+ if(ASSIMP_BUILD_OPENGEX_IMPORTER) -+ target_link_libraries(assimp openddlparser::openddlparser) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp rapidjson) -+ endif() -+ if(ASSIMP_BUILD_M3D_IMPORTER OR ASSIMP_BUILD_M3D_EXPORTER OR ASSIMP_BUILD_PBRT_EXPORTER) -+ target_link_libraries(assimp stb::stb) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp draco::draco) - endif() - ENDIF() - -@@ -1279,8 +1311,7 @@ ENDIF() - # assimp can #include "unzip.h" - IF(NOT ASSIMP_HUNTER_ENABLED) - if (UNZIP_FOUND) -- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) -- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) -+ target_link_libraries(assimp minizip::minizip) - else () - INCLUDE_DIRECTORIES("../") - endif () ---- a/code/Common/Assimp.cpp -+++ b/code/Common/Assimp.cpp -@@ -1290,7 +1290,7 @@ - # endif - - # define STB_IMAGE_IMPLEMENTATION --# include "stb/stb_image.h" -+# include "stb_image.h" - - # if _MSC_VER - # pragma warning(pop) ---- a/code/Common/BaseImporter.cpp -+++ b/code/Common/BaseImporter.cpp -@@ -330,7 +330,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - - // ------------------------------------------------------------------------------------------------ ---- a/code/Common/ZipArchiveIOSystem.cpp -+++ b/code/Common/ZipArchiveIOSystem.cpp -@@ -54,7 +54,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - namespace Assimp { ---- a/code/Pbrt/PbrtExporter.cpp -+++ b/code/Pbrt/PbrtExporter.cpp -@@ -83,7 +83,7 @@ - #include - #include - --#include "stb/stb_image.h" -+#include "stb_image.h" - - using namespace Assimp; - diff --git a/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch b/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch deleted file mode 100644 index dedc3847ab7ea..0000000000000 --- a/recipes/assimp/5.x/patches/0004-unvendor-deps-5.1.6.patch +++ /dev/null @@ -1,340 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -460,16 +460,20 @@ IF(ASSIMP_HUNTER_ENABLED) - set(ASSIMP_BUILD_MINIZIP TRUE) - ELSE() - # If the zlib is already found outside, add an export in case assimpTargets can't find it. -- IF( ZLIB_FOUND ) -+ IF(0) - INSTALL( TARGETS zlib zlibstatic - EXPORT "${TARGETS_EXPORT_NAME}") - ENDIF() - - IF ( NOT ASSIMP_BUILD_ZLIB ) -- FIND_PACKAGE(ZLIB) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ find_package(ZLIB REQUIRED) -+ endif() - ENDIF() - -- IF( NOT ZLIB_FOUND ) -+ IF(0) - MESSAGE(STATUS "compiling zlib from sources") - INCLUDE(CheckIncludeFile) - INCLUDE(CheckTypeSize) -@@ -499,12 +503,14 @@ ENDIF() - - IF( NOT IOS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF() - ELSE () - IF( NOT BUILD_SHARED_LIBS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF() - ENDIF () - ENDIF () ---- a/code/AssetLib/3MF/D3MFExporter.cpp -+++ b/code/AssetLib/3MF/D3MFExporter.cpp -@@ -57,7 +57,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include -+#include - #endif - - namespace Assimp { ---- a/code/AssetLib/Blender/BlenderTessellator.h -+++ b/code/AssetLib/Blender/BlenderTessellator.h -@@ -147,7 +147,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - #endif - - namespace Assimp ---- a/code/AssetLib/IFC/IFCGeometry.cpp -+++ b/code/AssetLib/IFC/IFCGeometry.cpp -@@ -53,8 +53,8 @@ - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/AssetLib/IFC/IFCOpenings.cpp -+++ b/code/AssetLib/IFC/IFCOpenings.cpp -@@ -53,8 +53,8 @@ - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/AssetLib/M3D/M3DWrapper.h -+++ b/code/AssetLib/M3D/M3DWrapper.h -@@ -59,7 +59,7 @@ - - // Share stb_image's PNG loader with other importers/exporters instead of bringing our own copy. - #define STBI_ONLY_PNG --#include -+#include - - #include "m3d.h" - ---- a/code/AssetLib/MMD/MMDPmxParser.cpp -+++ b/code/AssetLib/MMD/MMDPmxParser.cpp -@@ -45,7 +45,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - ---- a/code/AssetLib/SIB/SIBImporter.cpp -+++ b/code/AssetLib/SIB/SIBImporter.cpp -@@ -62,7 +62,7 @@ - #include - #else - //# include "../contrib/ConvertUTF/ConvertUTF.h" --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - #include - #include ---- a/code/AssetLib/STEPParser/STEPFileEncoding.cpp -+++ b/code/AssetLib/STEPParser/STEPFileEncoding.cpp -@@ -48,7 +48,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - #include ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -888,6 +888,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(pugixml) - find_package(pugixml CONFIG REQUIRED) - ELSE() -+ find_package(pugixml REQUIRED CONFIG) - SET( Pugixml_SRCS - ../contrib/pugixml/src/pugiconfig.hpp - ../contrib/pugixml/src/pugixml.hpp -@@ -901,6 +902,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(utf8) - find_package(utf8cpp CONFIG REQUIRED) - ELSE() -+ find_package(utf8cpp REQUIRED CONFIG) - # utf8 is header-only, so Assimp doesn't need to do anything. - ENDIF() - -@@ -909,6 +911,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(polyclipping) - find_package(polyclipping CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(clipper REQUIRED CONFIG) -+ endif() - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp -@@ -921,6 +926,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(poly2tri) - find_package(poly2tri CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(poly2tri REQUIRED CONFIG) -+ endif() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -960,6 +968,7 @@ IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST) - hunter_add_package(zip) - find_package(zip CONFIG REQUIRED) - ELSE() -+ find_package(zip REQUIRED CONFIG) - SET( ziplib_SRCS - ../contrib/zip/src/miniz.h - ../contrib/zip/src/zip.c -@@ -982,6 +991,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(openddlparser) - find_package(openddlparser CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_OPENGEX_IMPORTER) -+ find_package(openddlparser REQUIRED CONFIG) -+ endif() - SET ( openddl_parser_SRCS - ../contrib/openddlparser/code/OpenDDLParser.cpp - ../contrib/openddlparser/code/DDLNode.cpp -@@ -1056,7 +1068,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) - ELSE() -- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(RapidJSON REQUIRED CONFIG) -+ endif() - ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) - option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) - if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) -@@ -1069,10 +1083,12 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(stb) - find_package(stb CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_M3D_IMPORTER OR ASSIMP_BUILD_M3D_EXPORTER OR ASSIMP_BUILD_PBRT_EXPORTER) -+ find_package(stb REQUIRED CONFIG) -+ endif() - SET( stb_SRCS - ../contrib/stb/stb_image.h - ) -- INCLUDE_DIRECTORIES("../contrib") - SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) - ENDIF() - -@@ -1127,14 +1143,7 @@ SET( assimp_src - ${ASSIMP_EXPORTER_SRCS} - - # Third-party libraries -- ${unzip_compile_SRCS} -- ${Poly2Tri_SRCS} -- ${Clipper_SRCS} -- ${openddl_parser_SRCS} - ${open3dgc_SRCS} -- ${ziplib_SRCS} -- ${Pugixml_SRCS} -- ${stb_SRCS} - # Necessary to show the headers in the project when using the VC++ generator: - - ${PUBLIC_HEADERS} -@@ -1145,7 +1154,7 @@ ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - IF(NOT ASSIMP_HUNTER_ENABLED) - INCLUDE_DIRECTORIES( - ${IRRXML_INCLUDE_DIR} -- ../contrib/openddlparser/include -+ ../contrib # for Open3DGC - ) - ENDIF() - -@@ -1154,8 +1163,8 @@ IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) - INCLUDE_DIRECTORIES(${C4D_INCLUDES}) - ENDIF () - --IF (ASSIMP_BUILD_DRACO) -- INCLUDE_DIRECTORIES(${draco_INCLUDE_DIRS}) -+if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(draco REQUIRED CONFIG) - ADD_DEFINITIONS( -DASSIMP_ENABLE_DRACO ) - ENDIF() - -@@ -1166,9 +1175,7 @@ TARGET_USE_COMMON_OUTPUT_DIRECTORY(assimp) - - # enable warnings as errors ######################################## - IF (MSVC) -- TARGET_COMPILE_OPTIONS(assimp PRIVATE /WX) - ELSE() -- TARGET_COMPILE_OPTIONS(assimp PRIVATE -Werror) - ENDIF() - - # adds C_FLAGS required to compile zip.c on old GCC 4.x compiler -@@ -1201,9 +1208,32 @@ IF(ASSIMP_HUNTER_ENABLED) - target_link_libraries(assimp PUBLIC ${draco_LIBRARIES}) - endif() - ELSE() -- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) -- if (ASSIMP_BUILD_DRACO) -- target_link_libraries(assimp ${draco_LIBRARIES}) -+ target_link_libraries(assimp pugixml::pugixml utf8cpp) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ target_link_libraries(assimp ZLIB::ZLIB) -+ endif() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp clipper::clipper) -+ endif() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp poly2tri::poly2tri) -+ endif() -+ if(ASSIMP_BUILD_3MF_EXPORTER) -+ target_link_libraries(assimp zip::zip) -+ endif() -+ if(ASSIMP_BUILD_OPENGEX_IMPORTER) -+ target_link_libraries(assimp openddlparser::openddlparser) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp rapidjson) -+ endif() -+ if(ASSIMP_BUILD_M3D_IMPORTER OR ASSIMP_BUILD_M3D_EXPORTER OR ASSIMP_BUILD_PBRT_EXPORTER) -+ target_link_libraries(assimp stb::stb) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp draco::draco) - endif() - ENDIF() - -@@ -1291,8 +1321,7 @@ ENDIF() - # assimp can #include "unzip.h" - IF(NOT ASSIMP_HUNTER_ENABLED) - if (UNZIP_FOUND) -- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) -- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) -+ target_link_libraries(assimp minizip::minizip) - else () - INCLUDE_DIRECTORIES("../") - endif () ---- a/code/Common/Assimp.cpp -+++ b/code/Common/Assimp.cpp -@@ -1290,7 +1290,7 @@ - # endif - - # define STB_IMAGE_IMPLEMENTATION --# include "stb/stb_image.h" -+# include "stb_image.h" - - # if _MSC_VER - # pragma warning(pop) ---- a/code/Common/BaseImporter.cpp -+++ b/code/Common/BaseImporter.cpp -@@ -331,7 +331,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - - // ------------------------------------------------------------------------------------------------ ---- a/code/Pbrt/PbrtExporter.cpp -+++ b/code/Pbrt/PbrtExporter.cpp -@@ -83,7 +83,7 @@ - #include - #include - --#include "stb/stb_image.h" -+#include "stb_image.h" - - using namespace Assimp; - diff --git a/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch b/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch deleted file mode 100644 index 9642d329d9a0a..0000000000000 --- a/recipes/assimp/5.x/patches/0006-unvendor-deps-5.2.x.patch +++ /dev/null @@ -1,340 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -482,16 +482,20 @@ IF(ASSIMP_HUNTER_ENABLED) - set(ASSIMP_BUILD_MINIZIP TRUE) - ELSE() - # If the zlib is already found outside, add an export in case assimpTargets can't find it. -- IF( ZLIB_FOUND ) -+ IF(0) - INSTALL( TARGETS zlib zlibstatic - EXPORT "${TARGETS_EXPORT_NAME}") - ENDIF() - - IF ( NOT ASSIMP_BUILD_ZLIB ) -- FIND_PACKAGE(ZLIB) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ find_package(ZLIB REQUIRED) -+ endif() - ENDIF() - -- IF( NOT ZLIB_FOUND ) -+ IF(0) - MESSAGE(STATUS "compiling zlib from sources") - INCLUDE(CheckIncludeFile) - INCLUDE(CheckTypeSize) -@@ -521,12 +525,14 @@ ENDIF() - - IF( NOT IOS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF() - ELSE () - IF( NOT BUILD_SHARED_LIBS ) - IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -+ find_package(minizip REQUIRED CONFIG) -+ set(UNZIP_FOUND TRUE) - ENDIF() - ENDIF () - ENDIF () ---- a/code/AssetLib/3MF/D3MFExporter.cpp -+++ b/code/AssetLib/3MF/D3MFExporter.cpp -@@ -57,7 +57,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include -+#include - #endif - - namespace Assimp { ---- a/code/AssetLib/Blender/BlenderTessellator.h -+++ b/code/AssetLib/Blender/BlenderTessellator.h -@@ -147,7 +147,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - #endif - - namespace Assimp ---- a/code/AssetLib/IFC/IFCGeometry.cpp -+++ b/code/AssetLib/IFC/IFCGeometry.cpp -@@ -53,8 +53,8 @@ - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/AssetLib/IFC/IFCOpenings.cpp -+++ b/code/AssetLib/IFC/IFCOpenings.cpp -@@ -53,8 +53,8 @@ - # include - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" -+# include -+# include - #endif - - #include ---- a/code/AssetLib/M3D/M3DWrapper.h -+++ b/code/AssetLib/M3D/M3DWrapper.h -@@ -59,7 +59,7 @@ - - // Share stb_image's PNG loader with other importers/exporters instead of bringing our own copy. - #define STBI_ONLY_PNG --#include -+#include - - #include "m3d.h" - ---- a/code/AssetLib/MMD/MMDPmxParser.cpp -+++ b/code/AssetLib/MMD/MMDPmxParser.cpp -@@ -45,7 +45,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - ---- a/code/AssetLib/SIB/SIBImporter.cpp -+++ b/code/AssetLib/SIB/SIBImporter.cpp -@@ -59,7 +59,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - #include - #include ---- a/code/AssetLib/STEPParser/STEPFileEncoding.cpp -+++ b/code/AssetLib/STEPParser/STEPFileEncoding.cpp -@@ -48,7 +48,7 @@ - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - #include ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -899,6 +899,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(pugixml) - find_package(pugixml CONFIG REQUIRED) - ELSE() -+ find_package(pugixml REQUIRED CONFIG) - SET( Pugixml_SRCS - ../contrib/pugixml/src/pugiconfig.hpp - ../contrib/pugixml/src/pugixml.hpp -@@ -912,6 +913,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(utf8) - find_package(utf8cpp CONFIG REQUIRED) - ELSE() -+ find_package(utf8cpp REQUIRED CONFIG) - # utf8 is header-only, so Assimp doesn't need to do anything. - ENDIF() - -@@ -920,6 +922,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(polyclipping) - find_package(polyclipping CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(clipper REQUIRED CONFIG) -+ endif() - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp -@@ -932,6 +937,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(poly2tri) - find_package(poly2tri CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ find_package(poly2tri REQUIRED CONFIG) -+ endif() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -971,6 +979,7 @@ IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST) - hunter_add_package(zip) - find_package(zip CONFIG REQUIRED) - ELSE() -+ find_package(zip REQUIRED CONFIG) - SET( ziplib_SRCS - ../contrib/zip/src/miniz.h - ../contrib/zip/src/zip.c -@@ -993,6 +1002,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(openddlparser) - find_package(openddlparser CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_OPENGEX_IMPORTER) -+ find_package(openddlparser REQUIRED CONFIG) -+ endif() - SET ( openddl_parser_SRCS - ../contrib/openddlparser/code/OpenDDLParser.cpp - ../contrib/openddlparser/code/DDLNode.cpp -@@ -1067,7 +1079,9 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) - ELSE() -- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(RapidJSON REQUIRED CONFIG) -+ endif() - ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) - option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) - if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) -@@ -1080,10 +1094,12 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(stb) - find_package(stb CONFIG REQUIRED) - ELSE() -+ if(ASSIMP_BUILD_M3D_IMPORTER OR ASSIMP_BUILD_M3D_EXPORTER OR ASSIMP_BUILD_PBRT_EXPORTER) -+ find_package(stb REQUIRED CONFIG) -+ endif() - SET( stb_SRCS - ../contrib/stb/stb_image.h - ) -- INCLUDE_DIRECTORIES("../contrib") - SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) - ENDIF() - -@@ -1138,14 +1154,7 @@ SET( assimp_src - ${ASSIMP_EXPORTER_SRCS} - - # Third-party libraries -- ${unzip_compile_SRCS} -- ${Poly2Tri_SRCS} -- ${Clipper_SRCS} -- ${openddl_parser_SRCS} - ${open3dgc_SRCS} -- ${ziplib_SRCS} -- ${Pugixml_SRCS} -- ${stb_SRCS} - # Necessary to show the headers in the project when using the VC++ generator: - - ${PUBLIC_HEADERS} -@@ -1156,7 +1165,7 @@ ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - IF(NOT ASSIMP_HUNTER_ENABLED) - INCLUDE_DIRECTORIES( - ${IRRXML_INCLUDE_DIR} -- ../contrib/openddlparser/include -+ ../contrib # for Open3DGC - ) - ENDIF() - -@@ -1165,8 +1174,8 @@ IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) - INCLUDE_DIRECTORIES(${C4D_INCLUDES}) - ENDIF () - --IF (ASSIMP_BUILD_DRACO) -- INCLUDE_DIRECTORIES(${draco_INCLUDE_DIRS}) -+if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ find_package(draco REQUIRED CONFIG) - ADD_DEFINITIONS( -DASSIMP_ENABLE_DRACO ) - ENDIF() - -@@ -1177,9 +1186,7 @@ TARGET_USE_COMMON_OUTPUT_DIRECTORY(assimp) - - # enable warnings as errors ######################################## - IF (MSVC) -- TARGET_COMPILE_OPTIONS(assimp PRIVATE /WX) - ELSE() -- TARGET_COMPILE_OPTIONS(assimp PRIVATE -Werror) - ENDIF() - - # adds C_FLAGS required to compile zip.c on old GCC 4.x compiler -@@ -1212,9 +1219,32 @@ IF(ASSIMP_HUNTER_ENABLED) - target_link_libraries(assimp PUBLIC ${draco_LIBRARIES}) - endif() - ELSE() -- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) -- if (ASSIMP_BUILD_DRACO) -- target_link_libraries(assimp ${draco_LIBRARIES}) -+ target_link_libraries(assimp pugixml::pugixml utf8cpp) -+ if(ASSIMP_BUILD_ASSBIN_IMPORTER OR ASSIMP_BUILD_ASSBIN_EXPORTER OR ASSIMP_BUILD_ASSXML_EXPORTER OR -+ ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_FBX_IMPORTER OR ASSIMP_BUILD_Q3BSP_IMPORTER OR -+ ASSIMP_BUILD_X_IMPORTER OR ASSIMP_BUILD_XGL_IMPORTER) -+ target_link_libraries(assimp ZLIB::ZLIB) -+ endif() -+ if(ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp clipper::clipper) -+ endif() -+ if(ASSIMP_BUILD_BLEND_IMPORTER OR ASSIMP_BUILD_IFC_IMPORTER) -+ target_link_libraries(assimp poly2tri::poly2tri) -+ endif() -+ if(ASSIMP_BUILD_3MF_EXPORTER) -+ target_link_libraries(assimp zip::zip) -+ endif() -+ if(ASSIMP_BUILD_OPENGEX_IMPORTER) -+ target_link_libraries(assimp openddlparser::openddlparser) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp rapidjson) -+ endif() -+ if(ASSIMP_BUILD_M3D_IMPORTER OR ASSIMP_BUILD_M3D_EXPORTER OR ASSIMP_BUILD_PBRT_EXPORTER) -+ target_link_libraries(assimp stb::stb) -+ endif() -+ if(ASSIMP_BUILD_GLTF_IMPORTER OR ASSIMP_BUILD_GLTF_EXPORTER) -+ target_link_libraries(assimp draco::draco) - endif() - ENDIF() - -@@ -1302,8 +1332,7 @@ ENDIF() - # assimp can #include "unzip.h" - IF(NOT ASSIMP_HUNTER_ENABLED) - if (UNZIP_FOUND) -- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) -- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) -+ target_link_libraries(assimp minizip::minizip) - else () - INCLUDE_DIRECTORIES("../") - endif () ---- a/code/Common/Assimp.cpp -+++ b/code/Common/Assimp.cpp -@@ -1290,7 +1290,7 @@ - # endif - - # define STB_IMAGE_IMPLEMENTATION --# include "stb/stb_image.h" -+# include "stb_image.h" - - # if _MSC_VER - # pragma warning(pop) ---- a/code/Common/BaseImporter.cpp -+++ b/code/Common/BaseImporter.cpp -@@ -332,7 +332,7 @@ - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - - // ------------------------------------------------------------------------------------------------ ---- a/code/Pbrt/PbrtExporter.cpp -+++ b/code/Pbrt/PbrtExporter.cpp -@@ -83,7 +83,7 @@ - #include - #include - --#include "stb/stb_image.h" -+#include "stb_image.h" - - using namespace Assimp; - diff --git a/recipes/assimp/config.yml b/recipes/assimp/config.yml index 2542b27436840..c3337bd62baf1 100644 --- a/recipes/assimp/config.yml +++ b/recipes/assimp/config.yml @@ -1,11 +1,9 @@ versions: - "5.2.2": - folder: "5.x" - "5.1.6": + "5.3.1": folder: "5.x" - "5.1.0": + "5.2.5": folder: "5.x" - "5.0.1": + "5.2.2": folder: "5.x" - "5.0.0": + "5.1.6": folder: "5.x" From 4fc538cfcbd63e6d409c546e9e4090c4b2f9e2cb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Mar 2024 04:47:25 +0900 Subject: [PATCH 3919/4087] (#22986) fixed-containers: add recipe * fixed-containers: add recipe * fix package name, drop support apple-clang * support apple-clang/15 --- recipes/fixed-containers/all/conandata.yml | 4 ++ recipes/fixed-containers/all/conanfile.py | 66 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../all/test_package/conanfile.py | 26 ++++++++ .../all/test_package/test_package.cpp | 20 ++++++ recipes/fixed-containers/config.yml | 3 + 6 files changed, 127 insertions(+) create mode 100644 recipes/fixed-containers/all/conandata.yml create mode 100644 recipes/fixed-containers/all/conanfile.py create mode 100644 recipes/fixed-containers/all/test_package/CMakeLists.txt create mode 100644 recipes/fixed-containers/all/test_package/conanfile.py create mode 100644 recipes/fixed-containers/all/test_package/test_package.cpp create mode 100644 recipes/fixed-containers/config.yml diff --git a/recipes/fixed-containers/all/conandata.yml b/recipes/fixed-containers/all/conandata.yml new file mode 100644 index 0000000000000..e2bbaf816f1d4 --- /dev/null +++ b/recipes/fixed-containers/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20240225": + url: "https://github.com/teslamotors/fixed-containers/archive/095b1bc100903a4c49cbec13842288f57e84b4f3.tar.gz" + sha256: "5d3624cd2c1fdfd1b054b03005804f2b7a2a6c2c114943976821c64b20a94588" diff --git a/recipes/fixed-containers/all/conanfile.py b/recipes/fixed-containers/all/conanfile.py new file mode 100644 index 0000000000000..cdfe73d72c2b9 --- /dev/null +++ b/recipes/fixed-containers/all/conanfile.py @@ -0,0 +1,66 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class FixedContainersConan(ConanFile): + name = "fixed-containers" + description = "C++ Fixed Containers" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/teslamotors/fixed-containers/" + topics = ("constexpr", "containers", "compile-time", "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", + "Visual Studio": "16", + "msvc": "192", + # apple-clang has support std::lexicographical_compare_three_way since 15. + "apple-clang": "15", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fixed-containers/all/test_package/CMakeLists.txt b/recipes/fixed-containers/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..697ff29d18c1a --- /dev/null +++ b/recipes/fixed-containers/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(fixed-containers REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fixed-containers::fixed-containers) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/fixed-containers/all/test_package/conanfile.py b/recipes/fixed-containers/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/fixed-containers/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fixed-containers/all/test_package/test_package.cpp b/recipes/fixed-containers/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..aed686f3d1107 --- /dev/null +++ b/recipes/fixed-containers/all/test_package/test_package.cpp @@ -0,0 +1,20 @@ +#include "fixed_containers/fixed_vector.hpp" + +using namespace fixed_containers; + +int main(void) { + constexpr auto v1 = []() { + FixedVector v{}; + v.push_back(0); + v.emplace_back(1); + v.push_back(2); + return v; + }(); + static_assert(v1[0] == 0); + static_assert(v1[1] == 1); + static_assert(v1[2] == 2); + static_assert(v1.size() == 3); + static_assert(v1.capacity() == 11); + + return 0; +} diff --git a/recipes/fixed-containers/config.yml b/recipes/fixed-containers/config.yml new file mode 100644 index 0000000000000..5b3feee9a17dd --- /dev/null +++ b/recipes/fixed-containers/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20240225": + folder: all From b6876c41a7cf7fb2e598d89771032cc7dfc070cb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Mar 2024 05:08:30 +0900 Subject: [PATCH 3920/4087] (#23040) libgd: support xpm and webp, add package_type * libgd: support xpm and webp, add package_type * fix WebP name --- recipes/libgd/all/conandata.yml | 2 +- recipes/libgd/all/conanfile.py | 14 +++- recipes/libgd/all/patches/2.2.5-use-cci.patch | 54 +++++++++++++- recipes/libgd/all/patches/2.3.0-use-cci.patch | 54 +++++++++++++- recipes/libgd/all/patches/2.3.1-use-cci.patch | 72 +++++++++++++++++++ recipes/libgd/all/patches/2.3.2-use-cci.patch | 60 +++++++++++++++- recipes/libgd/all/patches/2.3.3-use-cci.patch | 63 +++++++++++++++- 7 files changed, 307 insertions(+), 12 deletions(-) create mode 100644 recipes/libgd/all/patches/2.3.1-use-cci.patch diff --git a/recipes/libgd/all/conandata.yml b/recipes/libgd/all/conandata.yml index f0b126888eb32..235cf46164b0a 100644 --- a/recipes/libgd/all/conandata.yml +++ b/recipes/libgd/all/conandata.yml @@ -48,7 +48,7 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" - - patch_file: "patches/2.3.0-use-cci.patch" + - patch_file: "patches/2.3.1-use-cci.patch" patch_description: "use cci's package" patch_type: "conan" "2.3.0": diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 5de7e7911d0ed..3c72e55bd83d5 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -15,7 +15,7 @@ class LibgdConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://libgd.github.io" topics = ("images", "graphics") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,6 +24,8 @@ class LibgdConan(ConanFile): "with_jpeg": [True, False], "with_tiff": [True, False], "with_freetype": [True, False], + "with_xpm": [True, False], + "with_webp": [True, False], } default_options = { "shared": False, @@ -32,6 +34,8 @@ class LibgdConan(ConanFile): "with_jpeg": False, "with_tiff": False, "with_freetype": False, + "with_xpm": False, + "with_webp": False, } def export_sources(self): @@ -62,6 +66,10 @@ def requirements(self): self.requires("libtiff/4.6.0") if self.options.with_freetype: self.requires("freetype/2.13.2") + if self.options.with_xpm: + self.requires("libxpm/3.5.13") + if self.options.with_webp: + self.requires("libwebp/1.3.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -77,10 +85,10 @@ def generate(self): tc.variables["ENABLE_JPEG"] = self.options.with_jpeg tc.variables["ENABLE_TIFF"] = self.options.with_tiff tc.variables["ENABLE_ICONV"] = False - tc.variables["ENABLE_XPM"] = False + tc.variables["ENABLE_XPM"] = self.options.with_xpm tc.variables["ENABLE_FREETYPE"] = self.options.with_freetype tc.variables["ENABLE_FONTCONFIG"] = False - tc.variables["ENABLE_WEBP"] = False + tc.variables["ENABLE_WEBP"] = self.options.with_webp if Version(self.version) >= "2.3.2": tc.variables["ENABLE_HEIF"] = False tc.variables["ENABLE_AVIF"] = False diff --git a/recipes/libgd/all/patches/2.2.5-use-cci.patch b/recipes/libgd/all/patches/2.2.5-use-cci.patch index 7a3609a12620d..63805346e86b3 100644 --- a/recipes/libgd/all/patches/2.2.5-use-cci.patch +++ b/recipes/libgd/all/patches/2.2.5-use-cci.patch @@ -1,8 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c99816..63775fd 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -97,7 +97,7 @@ else (USE_EXT_GD) + FIND_PACKAGE(ZLIB) + + IF (ENABLE_WEBP) +- FIND_PACKAGE(WEBP) ++ FIND_PACKAGE(WebP) + ENDIF (ENABLE_WEBP) + + IF (ENABLE_LIQ) +@@ -121,7 +121,7 @@ else (USE_EXT_GD) + endif (ENABLE_FREETYPE) + + if (ENABLE_XPM) +- FIND_PACKAGE(XPM) ++ FIND_PACKAGE(libxpm) + endif (ENABLE_XPM) + + if (ENABLE_FONTCONFIG) +@@ -140,7 +140,7 @@ else (USE_EXT_GD) + ENDIF(ZLIB_FOUND) + + IF(WEBP_FOUND) +- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) + SET(HAVE_LIBWEBP 1) + ENDIF(WEBP_FOUND) + +@@ -161,7 +161,7 @@ else (USE_EXT_GD) + ENDIF(LIQ_FOUND) + + IF(XPM_FOUND) +- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) + SET(HAVE_LIBXPM 1) + ENDIF(XPM_FOUND) + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5b764eb..c411860 100755 +index 5b764eb..11d3a46 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -110,7 +110,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S +@@ -110,15 +110,15 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S SET(LIBGD_DEP_LIBS ${ZLIB_LIBRARIES} @@ -11,3 +51,13 @@ index 5b764eb..c411860 100755 ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARIES} +- ${XPM_LIBRARIES} ++ ${libxpm_LIBRARIES} + ${FONTCONFIG_LIBRARY} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ) + if (BUILD_SHARED_LIBS) + target_link_libraries(${GD_LIB} ${LIBGD_DEP_LIBS}) diff --git a/recipes/libgd/all/patches/2.3.0-use-cci.patch b/recipes/libgd/all/patches/2.3.0-use-cci.patch index cdb3bfc14381a..6083253b1e3db 100644 --- a/recipes/libgd/all/patches/2.3.0-use-cci.patch +++ b/recipes/libgd/all/patches/2.3.0-use-cci.patch @@ -1,8 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc76868..f503436 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,7 +113,7 @@ else (USE_EXT_GD) + FIND_PACKAGE(ZLIB) + + IF (ENABLE_WEBP) +- FIND_PACKAGE(WEBP) ++ FIND_PACKAGE(WebP) + ENDIF (ENABLE_WEBP) + + IF (ENABLE_LIQ) +@@ -137,7 +137,7 @@ else (USE_EXT_GD) + endif (ENABLE_FREETYPE) + + if (ENABLE_XPM) +- FIND_PACKAGE(XPM) ++ FIND_PACKAGE(libxpm) + endif (ENABLE_XPM) + + if (ENABLE_FONTCONFIG) +@@ -162,7 +162,7 @@ else (USE_EXT_GD) + ENDIF(ZLIB_FOUND) + + IF(WEBP_FOUND) +- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) + SET(HAVE_LIBWEBP 1) + ENDIF(WEBP_FOUND) + +@@ -183,7 +183,7 @@ else (USE_EXT_GD) + ENDIF(LIQ_FOUND) + + IF(XPM_FOUND) +- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) + SET(HAVE_LIBXPM 1) + ENDIF(XPM_FOUND) + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e1f8eda..aa06600 100644 +index 98b9e64..0d676ba 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -125,7 +125,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S +@@ -125,14 +125,14 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S SET(LIBGD_DEP_LIBS ${ZLIB_LIBRARIES} @@ -11,3 +51,13 @@ index e1f8eda..aa06600 100644 ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARIES} +- ${XPM_LIBRARIES} ++ ${libxpm_LIBRARIES} + ${FONTCONFIG_LIBRARY} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ${RAQM_LIBRARIES} + ) + if (BUILD_SHARED_LIBS) diff --git a/recipes/libgd/all/patches/2.3.1-use-cci.patch b/recipes/libgd/all/patches/2.3.1-use-cci.patch new file mode 100644 index 0000000000000..540439b9bf43a --- /dev/null +++ b/recipes/libgd/all/patches/2.3.1-use-cci.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bf7836f..c4995b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -116,7 +116,7 @@ else (USE_EXT_GD) + endif (ENABLE_ICONV) + + IF (ENABLE_WEBP) +- FIND_PACKAGE(WEBP REQUIRED) ++ FIND_PACKAGE(WebP REQUIRED) + ENDIF (ENABLE_WEBP) + + IF (ENABLE_LIQ) +@@ -140,7 +140,7 @@ else (USE_EXT_GD) + endif (ENABLE_FREETYPE) + + if (ENABLE_XPM) +- FIND_PACKAGE(XPM REQUIRED) ++ FIND_PACKAGE(libxpm REQUIRED) + endif (ENABLE_XPM) + + if (ENABLE_FONTCONFIG) +@@ -167,7 +167,7 @@ else (USE_EXT_GD) + ENDIF(ZLIB_FOUND) + + IF(WEBP_FOUND) +- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) + SET(HAVE_LIBWEBP 1) + ENDIF(WEBP_FOUND) + +@@ -189,7 +189,7 @@ else (USE_EXT_GD) + ENDIF(LIQ_FOUND) + + IF(XPM_FOUND) +- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) + SET(HAVE_LIBXPM 1) + LIST(APPEND PKG_REQUIRES_PRIVATES xpm) + ENDIF(XPM_FOUND) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e1f8eda..47b1ee8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,15 +125,15 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARIES} +- ${XPM_LIBRARIES} ++ ${libxpm_LIBRARIES} + ${FONTCONFIG_LIBRARY} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ${RAQM_LIBRARIES} + ) + if (BUILD_SHARED_LIBS) +@@ -146,7 +146,7 @@ endif() + SET(LIBS_PRIVATES + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ) + + set(GD_PROGRAMS gdcmpgif) diff --git a/recipes/libgd/all/patches/2.3.2-use-cci.patch b/recipes/libgd/all/patches/2.3.2-use-cci.patch index 489c66beb6236..758709ea2bdc7 100644 --- a/recipes/libgd/all/patches/2.3.2-use-cci.patch +++ b/recipes/libgd/all/patches/2.3.2-use-cci.patch @@ -1,8 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57cd95d..11a8409 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -118,7 +118,7 @@ else (USE_EXT_GD) + endif (ENABLE_ICONV) + + IF (ENABLE_WEBP) +- FIND_PACKAGE(WEBP REQUIRED) ++ FIND_PACKAGE(WebP REQUIRED) + ENDIF (ENABLE_WEBP) + + IF (ENABLE_HEIF) +@@ -153,7 +153,7 @@ else (USE_EXT_GD) + endif (ENABLE_FREETYPE) + + if (ENABLE_XPM) +- FIND_PACKAGE(XPM REQUIRED) ++ FIND_PACKAGE(libxpm REQUIRED) + endif (ENABLE_XPM) + + if (ENABLE_FONTCONFIG) +@@ -180,7 +180,7 @@ else (USE_EXT_GD) + ENDIF(ZLIB_FOUND) + + IF(WEBP_FOUND) +- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) + SET(HAVE_LIBWEBP 1) + ENDIF(WEBP_FOUND) + +@@ -207,7 +207,7 @@ else (USE_EXT_GD) + ENDIF(LIQ_FOUND) + + IF(XPM_FOUND) +- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) + SET(HAVE_LIBXPM 1) + LIST(APPEND PKG_REQUIRES_PRIVATES xpm) + ENDIF(XPM_FOUND) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1d1be42..447458f 100644 +index 1d1be42..2843193 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -122,7 +122,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S +@@ -122,13 +122,13 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S SET(LIBGD_DEP_LIBS ${ZLIB_LIBRARIES} @@ -11,3 +51,19 @@ index 1d1be42..447458f 100644 ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARIES} +- ${XPM_LIBRARIES} ++ ${libxpm_LIBRARIES} + ${FONTCONFIG_LIBRARY} + ${WEBP_LIBRARIES} + ${AVIF_LIBRARIES} +@@ -145,7 +145,7 @@ endif() + SET(LIBS_PRIVATES + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ) + + set(GD_PROGRAMS gdcmpgif) diff --git a/recipes/libgd/all/patches/2.3.3-use-cci.patch b/recipes/libgd/all/patches/2.3.3-use-cci.patch index 4a067840ce98f..fb8b637380621 100644 --- a/recipes/libgd/all/patches/2.3.3-use-cci.patch +++ b/recipes/libgd/all/patches/2.3.3-use-cci.patch @@ -1,8 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b3e5b3..2536fc6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,7 +134,7 @@ else (USE_EXT_GD) + endif (ENABLE_ICONV) + + IF (ENABLE_WEBP) +- FIND_PACKAGE(WEBP REQUIRED) ++ FIND_PACKAGE(WebP REQUIRED) + ENDIF (ENABLE_WEBP) + + IF (ENABLE_HEIF) +@@ -169,7 +169,7 @@ else (USE_EXT_GD) + endif (ENABLE_FREETYPE) + + if (ENABLE_XPM) +- FIND_PACKAGE(XPM REQUIRED) ++ FIND_PACKAGE(libxpm REQUIRED) + endif (ENABLE_XPM) + + if (ENABLE_FONTCONFIG) +@@ -196,7 +196,7 @@ else (USE_EXT_GD) + ENDIF(ZLIB_FOUND) + + IF(WEBP_FOUND) +- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) + SET(HAVE_LIBWEBP 1) + ENDIF(WEBP_FOUND) + +@@ -223,7 +223,7 @@ else (USE_EXT_GD) + ENDIF(LIQ_FOUND) + + IF(XPM_FOUND) +- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) ++ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) + SET(HAVE_LIBXPM 1) + LIST(APPEND PKG_REQUIRES_PRIVATES xpm) + ENDIF(XPM_FOUND) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3b271a8..2ee5ef9 100644 +index 3b271a8..55a8095 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -102,7 +102,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S +@@ -102,15 +102,15 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S SET(LIBGD_DEP_LIBS ${ZLIB_LIBRARIES} @@ -11,3 +51,22 @@ index 3b271a8..2ee5ef9 100644 ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARIES} +- ${XPM_LIBRARIES} ++ ${libxpm_LIBRARIES} + ${FONTCONFIG_LIBRARY} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ${AVIF_LIBRARIES} + ${RAQM_LIBRARIES} + ${HEIF_LIBRARIES} +@@ -125,7 +125,7 @@ endif() + SET(LIBS_PRIVATES + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} +- ${WEBP_LIBRARIES} ++ ${WebP_LIBRARIES} + ) + + set(GD_PROGRAMS gdcmpgif) From 8f9bd107c2af27358a23273f862bacb0797dfea7 Mon Sep 17 00:00:00 2001 From: xyz1001 Date: Wed, 13 Mar 2024 04:27:46 +0800 Subject: [PATCH 3921/4087] (#23047) winreg: add winreg 6.2.0 --- recipes/winreg/all/conandata.yml | 4 ++ recipes/winreg/all/conanfile.py | 53 +++++++++++++++++++ .../winreg/all/test_package/CMakeLists.txt | 8 +++ recipes/winreg/all/test_package/conanfile.py | 26 +++++++++ .../winreg/all/test_package/test_package.cpp | 12 +++++ recipes/winreg/config.yml | 3 ++ 6 files changed, 106 insertions(+) create mode 100644 recipes/winreg/all/conandata.yml create mode 100644 recipes/winreg/all/conanfile.py create mode 100644 recipes/winreg/all/test_package/CMakeLists.txt create mode 100644 recipes/winreg/all/test_package/conanfile.py create mode 100644 recipes/winreg/all/test_package/test_package.cpp create mode 100644 recipes/winreg/config.yml diff --git a/recipes/winreg/all/conandata.yml b/recipes/winreg/all/conandata.yml new file mode 100644 index 0000000000000..4a90ca44d78e9 --- /dev/null +++ b/recipes/winreg/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "6.2.0": + url: "https://github.com/GiovanniDicanio/WinReg/archive/refs/tags/v6.2.0.tar.gz" + sha256: "9dc1b287fb8c765a35791bf0deea0da81e52a969827bc2d8777f54f26ade588d" diff --git a/recipes/winreg/all/conanfile.py b/recipes/winreg/all/conanfile.py new file mode 100644 index 0000000000000..13ef7cc69e291 --- /dev/null +++ b/recipes/winreg/all/conanfile.py @@ -0,0 +1,53 @@ +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 +import os + +required_conan_version = ">=1.50.0" + + +class WinregConan(ConanFile): + name = "winreg" + homepage = "https://github.com/GiovanniDicanio/WinReg" + description = "Convenient high-level C++ wrapper around the Windows Registry API." + topics = "registry", "header-only" + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _minimum_cpp_standard(self): + return 17 + + 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._minimum_cpp_standard) + if self.settings.os != "Windows": + raise ConanInvalidConfiguration("WinReg is only supported on Windows") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + pass + + 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, "WinReg"), os.path.join(self.package_folder, "include/WinReg")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/winreg/all/test_package/CMakeLists.txt b/recipes/winreg/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d6ae3f3d82d9a --- /dev/null +++ b/recipes/winreg/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(winreg REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE winreg::winreg) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/winreg/all/test_package/conanfile.py b/recipes/winreg/all/test_package/conanfile.py new file mode 100644 index 0000000000000..34be4a6e879fa --- /dev/null +++ b/recipes/winreg/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +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, run=can_run(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/winreg/all/test_package/test_package.cpp b/recipes/winreg/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ff8ebb139790c --- /dev/null +++ b/recipes/winreg/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include +#include + +#include "WinReg/WinReg.hpp" + +int main() { + auto subkey = L"Environment"; + winreg::RegKey key{HKEY_CURRENT_USER, subkey}; + auto value = key.GetStringValue(L"Path"); + std::wcout << value << std::endl; + return 0; +} diff --git a/recipes/winreg/config.yml b/recipes/winreg/config.yml new file mode 100644 index 0000000000000..ff45ed79b1303 --- /dev/null +++ b/recipes/winreg/config.yml @@ -0,0 +1,3 @@ +versions: + "6.2.0": + folder: all From 6d031b7f70c6a3199246f03087cb413945fc14a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Wed, 13 Mar 2024 10:23:42 +0100 Subject: [PATCH 3922/4087] (#22770) easyexif: Fix test_package and modernize a tiny bit more * Fix easyexif test package and modernize a tiny bit more * Fully fix this time around * Fix hooks --- recipes/easyexif/all/CMakeLists.txt | 20 +++++++++------- recipes/easyexif/all/conanfile.py | 23 +++++++++++++----- .../easyexif/all/test_package/CMakeLists.txt | 13 +++++----- .../easyexif/all/test_package/conanfile.py | 24 +++++++++++++------ 4 files changed, 52 insertions(+), 28 deletions(-) diff --git a/recipes/easyexif/all/CMakeLists.txt b/recipes/easyexif/all/CMakeLists.txt index de50a2ead5152..0e4ae0258643c 100644 --- a/recipes/easyexif/all/CMakeLists.txt +++ b/recipes/easyexif/all/CMakeLists.txt @@ -1,6 +1,8 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.15) project(easyexif) +include(GNUInstallDirs) + set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_STANDARD 11) @@ -8,12 +10,14 @@ if(WIN32 AND BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() -add_library(easyexif exif.cpp) -target_include_directories(easyexif PUBLIC exif.h) +add_library(easyexif ${EASYEXIF_SRC_DIR}/exif.cpp) +target_include_directories(easyexif PUBLIC ${EASYEXIF_SRC_DIR}/exif.h) +set_target_properties( + easyexif + PROPERTIES + PUBLIC_HEADER "${EASYEXIF_SRC_DIR}/exif.h" +) install(TARGETS easyexif - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) -install(FILES exif.h DESTINATION include/easyexif) - + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/easyexif +) diff --git a/recipes/easyexif/all/conanfile.py b/recipes/easyexif/all/conanfile.py index c2f91926a073b..8b47ebbc93442 100644 --- a/recipes/easyexif/all/conanfile.py +++ b/recipes/easyexif/all/conanfile.py @@ -10,12 +10,13 @@ class EasyExifConan(ConanFile): name = "easyexif" description = "Tiny ISO-compliant C++ EXIF parsing library, third-party dependency free." - topics = ("conan", "exif", "image", "multimedia", "format", "graphics") + topics = ("exif", "image", "multimedia", "format", "graphics") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mayanklahiri/easyexif" license = "BSD-2-Clause" - exports_sources = "CMakeLists.txt" + settings = "os", "compiler", "build_type", "arch" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False] @@ -30,23 +31,31 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + @property + def _min_cppstd(self): + return 11 + def validate(self): - if self.info.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, 11) + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) def layout(self): - cmake_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.variables["EASYEXIF_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.generate() def build(self): cmake = CMake(self) - cmake.configure() + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() def package(self): @@ -56,3 +65,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["easyexif"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/easyexif/all/test_package/CMakeLists.txt b/recipes/easyexif/all/test_package/CMakeLists.txt index 2cf2b33919697..418b220626ca8 100644 --- a/recipes/easyexif/all/test_package/CMakeLists.txt +++ b/recipes/easyexif/all/test_package/CMakeLists.txt @@ -1,10 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +project(test_package LANGUAGES CXX) # if the project uses c++ -add_executable(example example.cpp) +find_package(easyexif REQUIRED CONFIG) -set_target_properties(example PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) -target_link_libraries(example ${CONAN_LIBS}) +add_executable(${PROJECT_NAME} example.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE easyexif::easyexif) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/easyexif/all/test_package/conanfile.py b/recipes/easyexif/all/test_package/conanfile.py index f0acb990f0375..9da36f4d489c2 100644 --- a/recipes/easyexif/all/test_package/conanfile.py +++ b/recipes/easyexif/all/test_package/conanfile.py @@ -1,10 +1,20 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run -class SolaceTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 9209b533557712b17abc7bbae7673c292f7fba8d Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 13 Mar 2024 10:47:38 +0100 Subject: [PATCH 3923/4087] (#23020) Add highs version 1.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add highs version 1.7.0 * Also copy license.txt * Guard LICENSE copy on version * Use pattern when copying the license file --------- Co-authored-by: Rubén Rincón Blanco --- recipes/highs/all/conandata.yml | 3 +++ recipes/highs/all/conanfile.py | 2 +- recipes/highs/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/highs/all/conandata.yml b/recipes/highs/all/conandata.yml index 72761292a635a..412ffae12f185 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.7.0.tar.gz" + sha256: "D10175AD66E7F113AC5DC00C9D6650A620663A6884FBF2942D6EB7A3D854604F" "1.6.0": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.6.0.tar.gz" sha256: "71962981566477c72c51b8b722c5df053d857b05b4f0e6869f455f657b3aa193" diff --git a/recipes/highs/all/conanfile.py b/recipes/highs/all/conanfile.py index 0094aa110e305..31a3a0427b60b 100644 --- a/recipes/highs/all/conanfile.py +++ b/recipes/highs/all/conanfile.py @@ -62,7 +62,7 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", 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")) diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index f48a692b61e92..2fc1c9523304b 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.0": folder: all "1.5.3": From d4d9670d91ba0abfb232d9233170b229fa6a1289 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 13 Mar 2024 11:56:16 +0100 Subject: [PATCH 3924/4087] (#23081) [docs] Changelog March 13th, 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 e5f21f6b7c8bf..8179d56b57c90 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,10 @@ # Changelog +### 13-Mar-2024 - 11:08 CET + +- [feature]: Build with both */*:shared=True/False option when package type is declared as ``shared-library``. +- [fix]: Fix ValidateInfra python version check to be aligned with the latest Jenkins version. + ### 07-February-2024 - 15:43 CET - [feature] Add waiting list for new collaborators that are not found in access request issue. From a4a994fd7dd388dd20a5e8beee65ade4ca0aaf69 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 14 Mar 2024 11:18:44 +0200 Subject: [PATCH 3925/4087] (#22025) kmod: add v31 --- recipes/kmod/all/conandata.yml | 3 +++ recipes/kmod/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kmod/all/conandata.yml b/recipes/kmod/all/conandata.yml index cc817fbafc1ad..e2d88fd85c718 100644 --- a/recipes/kmod/all/conandata.yml +++ b/recipes/kmod/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "31": + url: "https://kernel.org/pub/linux/utils/kernel/kmod/kmod-31.tar.xz" + sha256: "f5a6949043cc72c001b728d8c218609c5a15f3c33d75614b78c79418fcf00d80" "30": url: "https://kernel.org/pub/linux/utils/kernel/kmod/kmod-30.tar.xz" sha256: "f897dd72698dc6ac1ef03255cd0a5734ad932318e4adbaebc7338ef2f5202f9f" diff --git a/recipes/kmod/config.yml b/recipes/kmod/config.yml index 61353908a11fc..6c4bbbc0156bb 100644 --- a/recipes/kmod/config.yml +++ b/recipes/kmod/config.yml @@ -1,4 +1,6 @@ versions: + "31": + folder: all "30": folder: all "29": From cab4970c17199758caa8c74cef7807c710072ac6 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 14 Mar 2024 04:28:58 -0500 Subject: [PATCH 3926/4087] (#20335) eudev: Add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * eudev: Add recipe * Set pkg_config_name to libudev * Enable libblkid * Specify requires and use consistent option name with_selinux * Bump to the latest version * Fix compatibility of the pkg-config file Set the version for pkg-config properly and set exec_prefix. This maps to version checks for libudev. * Bump version * Add PkgConfigDeps to test package * Convert version to string * Fix version for Conan V1 * Save version of libudev to a file for package_info * Bump linux-headers-generic to 6.5.9 --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Daniel --- recipes/eudev/all/conandata.yml | 4 + recipes/eudev/all/conanfile.py | 148 ++++++++++++++++++ recipes/eudev/all/test_package/CMakeLists.txt | 7 + recipes/eudev/all/test_package/conanfile.py | 31 ++++ recipes/eudev/all/test_package/test_package.c | 25 +++ recipes/eudev/config.yml | 3 + 6 files changed, 218 insertions(+) create mode 100644 recipes/eudev/all/conandata.yml create mode 100644 recipes/eudev/all/conanfile.py create mode 100644 recipes/eudev/all/test_package/CMakeLists.txt create mode 100644 recipes/eudev/all/test_package/conanfile.py create mode 100644 recipes/eudev/all/test_package/test_package.c create mode 100644 recipes/eudev/config.yml diff --git a/recipes/eudev/all/conandata.yml b/recipes/eudev/all/conandata.yml new file mode 100644 index 0000000000000..72fcfaa216122 --- /dev/null +++ b/recipes/eudev/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.2.14": + url: "https://github.com/eudev-project/eudev/releases/download/v3.2.14/eudev-3.2.14.tar.gz" + sha256: "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" diff --git a/recipes/eudev/all/conanfile.py b/recipes/eudev/all/conanfile.py new file mode 100644 index 0000000000000..85b6e2350551c --- /dev/null +++ b/recipes/eudev/all/conanfile.py @@ -0,0 +1,148 @@ +import os +import re + +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, load, rm, rmdir, save +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps +from conan.tools.layout import basic_layout + + +required_conan_version = ">=1.54.0" + + +class EudevConan(ConanFile): + name = "eudev" + description = "eudev is a standalone dynamic and persistent device naming support (aka userspace devfs) daemon that runs independently from the init system." + license = "GPL-2.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/eudev-project/eudev" + topics = ("device", "udev") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "hwdb": [True, False], + "mtd_probe": [True, False], + "programs": [True, False], + "with_kmod": [True, False], + "with_libblkid": [True, False], + "with_selinux": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "hwdb": False, + "mtd_probe": False, + "programs": True, + "with_kmod": True, + "with_libblkid": True, + "with_selinux": True, + } + provides = "libudev" + + 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("acl/2.3.1") + self.requires("libcap/2.69") + self.requires("libxslt/1.1.34") + self.requires("linux-headers-generic/6.5.9") + + if self.options.with_kmod: + self.requires("kmod/30") + if self.options.with_libblkid: + self.requires("libmount/2.39.2") + if self.options.with_selinux: + self.requires("libselinux/3.6") + + def validate(self): + if self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + + def build_requirements(self): + self.tool_requires("gperf/3.1") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.1.0") + + 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) + def yes_no(v): + return "yes" if v else "no" + tc.configure_args.extend([ + "--sysconfdir=${prefix}/res", + f"--enable-programs={yes_no(self.options.programs)}", + f"--enable-blkid={yes_no(self.options.with_libblkid)}", + f"--enable-selinux={yes_no(self.options.with_selinux)}", + f"--enable-kmod={yes_no(self.options.with_kmod)}", + f"--enable-hwdb={yes_no(self.options.hwdb)}", + f"--enable-mtd_probe={yes_no(self.options.mtd_probe)}", + "--enable-manpages=no", + ]) + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = AutotoolsDeps(self) + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + @property + def _libudev_version_txt(self): + return os.path.join(self.package_folder, "res", f"{self.name}-libudev-version.txt") + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + + pkg_config = load(self, os.path.join(self.package_folder, "lib", "pkgconfig", "libudev.pc")) + libudev_version = next(re.finditer("^Version: ([^\n$]+)[$\n]", pkg_config, flags=re.MULTILINE)).group(1) + save(self, self._libudev_version_txt, libudev_version) + + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libs = ["udev"] + libudev_version = load(self, self._libudev_version_txt).strip() + self.cpp_info.set_property("pkg_config_name", "libudev") + self.cpp_info.set_property("system_package_version", str(libudev_version)) + pkgconfig_variables = { + 'exec_prefix': '${prefix}', + } + self.cpp_info.set_property( + "pkg_config_custom_content", + "\n".join(f"{key}={value}" for key, value in pkgconfig_variables.items())) + self.cpp_info.requires = ["acl::acl", "libcap::cap", "libxslt::xslt", "linux-headers-generic::linux-headers-generic"] + if self.options.with_kmod: + self.cpp_info.requires.append("kmod::kmod") + if self.options.with_libblkid: + self.cpp_info.requires.append("libmount::libblkid") + if self.options.with_selinux: + self.cpp_info.requires.append("libselinux::selinux") + + # todo Remove this workaround for Conan v1 + self.cpp_info.set_property("component_version", str(libudev_version)) diff --git a/recipes/eudev/all/test_package/CMakeLists.txt b/recipes/eudev/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..ba37277275903 --- /dev/null +++ b/recipes/eudev/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(eudev REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE eudev::eudev) diff --git a/recipes/eudev/all/test_package/conanfile.py b/recipes/eudev/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0ce98f8735f95 --- /dev/null +++ b/recipes/eudev/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.gnu import PkgConfig +from conan.tools.scm import Version + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "PkgConfigDeps", "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): + pkg_config = PkgConfig(self, "libudev", pkg_config_path=self.generators_folder) + assert Version(pkg_config.version) >= 251, f"{pkg_config.version} should be >= 251" + 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/eudev/all/test_package/test_package.c b/recipes/eudev/all/test_package/test_package.c new file mode 100644 index 0000000000000..05b8913de0a37 --- /dev/null +++ b/recipes/eudev/all/test_package/test_package.c @@ -0,0 +1,25 @@ +#include +#include +#include + + +int main() { + struct udev *udev; + struct udev_enumerate *enumerate; + + udev = udev_new(); + if (!udev) { + fprintf(stderr, "Cannot create udev context.\n"); + return 1; + } + + enumerate = udev_enumerate_new(udev); + if (!enumerate) { + fprintf(stderr, "Cannot create enumerate context.\n"); + } + + udev_enumerate_unref(enumerate); + udev_unref(udev); + + return EXIT_SUCCESS; +} diff --git a/recipes/eudev/config.yml b/recipes/eudev/config.yml new file mode 100644 index 0000000000000..3420dd6df85af --- /dev/null +++ b/recipes/eudev/config.yml @@ -0,0 +1,3 @@ +versions: + "3.2.14": + folder: all From b0546ef93267f0ee2eb1eb4958b891880d3c9549 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Thu, 14 Mar 2024 06:29:08 -0400 Subject: [PATCH 3927/4087] (#22982) abseil: Add 20240116.1, remove old versions * Add abseil 20240116.1 * Skip C++17 build on latest version with GCC 7 * Remove old "patch" versions * Convert compiler major version to int in v1 test package * Backport GCC7/C++17/filesystem fix * Revert GCC 7 hacks * Remove std::result_of workaround defines --- recipes/abseil/all/conandata.yml | 44 +++++---------- recipes/abseil/all/conanfile.py | 5 -- .../0003-absl-string-libm-20240116.patch | 15 ++++++ ...240116.1-0001-fix-filesystem-include.patch | 53 +++++++++++++++++++ recipes/abseil/config.yml | 10 +--- 5 files changed, 82 insertions(+), 45 deletions(-) create mode 100644 recipes/abseil/all/patches/0003-absl-string-libm-20240116.patch create mode 100644 recipes/abseil/all/patches/20240116.1-0001-fix-filesystem-include.patch diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index 1f04efd630a51..c6bc5198c7de0 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -1,29 +1,29 @@ sources: + "20240116.1": + url: "https://github.com/abseil/abseil-cpp/archive/20240116.1.tar.gz" + sha256: "3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a" "20230802.1": url: "https://github.com/abseil/abseil-cpp/archive/20230802.1.tar.gz" sha256: "987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed" "20230125.3": url: "https://github.com/abseil/abseil-cpp/archive/20230125.3.tar.gz" sha256: "5366D7E7FA7BA0D915014D387B66D0D002C03236448E1BA9EF98122C13B35C36" - "20230125.2": - url: "https://github.com/abseil/abseil-cpp/archive/20230125.2.tar.gz" - sha256: "9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906" - "20230125.1": - url: "https://github.com/abseil/abseil-cpp/archive/20230125.1.tar.gz" - sha256: "81311c17599b3712069ded20cca09a62ab0bf2a89dfa16993786c8782b7ed145" - "20230125.0": - url: "https://github.com/abseil/abseil-cpp/archive/20230125.0.tar.gz" - sha256: "3ea49a7d97421b88a8c48a0de16c16048e17725c7ec0f1d3ea2683a2a75adc21" "20220623.1": url: "https://github.com/abseil/abseil-cpp/archive/20220623.1.tar.gz" sha256: "91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8" - "20220623.0": - url: "https://github.com/abseil/abseil-cpp/archive/20220623.0.tar.gz" - sha256: "4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602" "20211102.0": url: "https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz" sha256: "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4" patches: + "20240116.1": + - 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" + - patch_file: "patches/20240116.1-0001-fix-filesystem-include.patch" + 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" "20230802.1": - patch_file: "patches/0003-absl-string-libm-20230802.patch" patch_description: "link libm to absl string" @@ -37,18 +37,6 @@ patches: - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" patch_type: "portability" - "20230125.2": - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" - "20230125.1": - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" - "20230125.0": - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" "20220623.1": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" @@ -57,14 +45,6 @@ patches: patch_description: "Workaround bug in GCC 7.2" patch_source: "https://github.com/abseil/abseil-cpp/pull/1250" patch_type: "portability" - "20220623.0": - - patch_file: "patches/0003-absl-string-libm.patch" - patch_description: "link libm to absl string" - patch_type: "portability" - - patch_file: "patches/0005-has-unique-object-representations.patch" - patch_description: "Workaround bug in GCC 7.2" - patch_source: "https://github.com/abseil/abseil-cpp/pull/1250" - patch_type: "portability" "20211102.0": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" diff --git a/recipes/abseil/all/conanfile.py b/recipes/abseil/all/conanfile.py index 1d57cb0be91b0..bcfa3c446e426 100644 --- a/recipes/abseil/all/conanfile.py +++ b/recipes/abseil/all/conanfile.py @@ -232,11 +232,6 @@ def package_info(self): self.cpp_info.components[pkgconfig_name].system_libs = values.get("system_libs", []) self.cpp_info.components[pkgconfig_name].frameworks = values.get("frameworks", []) self.cpp_info.components[pkgconfig_name].requires = values.get("requires", []) - if is_msvc(self) and self.settings.compiler.get_safe("cppstd") == "20": - self.cpp_info.components[pkgconfig_name].defines.extend([ - "_HAS_DEPRECATED_RESULT_OF", - "_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING", - ]) self.cpp_info.components[pkgconfig_name].names["cmake_find_package"] = cmake_target self.cpp_info.components[pkgconfig_name].names["cmake_find_package_multi"] = cmake_target diff --git a/recipes/abseil/all/patches/0003-absl-string-libm-20240116.patch b/recipes/abseil/all/patches/0003-absl-string-libm-20240116.patch new file mode 100644 index 0000000000000..640ce8d7b642d --- /dev/null +++ b/recipes/abseil/all/patches/0003-absl-string-libm-20240116.patch @@ -0,0 +1,15 @@ +--- a/absl/strings/CMakeLists.txt ++++ b/absl/strings/CMakeLists.txt +@@ -32,9 +32,12 @@ + PUBLIC + ) + ++find_library(LIBM m) + absl_cc_library( + NAME + strings ++ LINKOPTS ++ $<$:-lm> + HDRS + "ascii.h" + "charconv.h" diff --git a/recipes/abseil/all/patches/20240116.1-0001-fix-filesystem-include.patch b/recipes/abseil/all/patches/20240116.1-0001-fix-filesystem-include.patch new file mode 100644 index 0000000000000..f29ce6195fad0 --- /dev/null +++ b/recipes/abseil/all/patches/20240116.1-0001-fix-filesystem-include.patch @@ -0,0 +1,53 @@ +From bb83aceacb554e79e7cd2404856f0be30bd00303 Mon Sep 17 00:00:00 2001 +From: Derek Mauro +Date: Tue, 12 Mar 2024 08:33:40 -0700 +Subject: [PATCH] Fix GCC7 C++17 build + +GCC did not support until GCC8. + +Fixes #1635 + +PiperOrigin-RevId: 615051227 +Change-Id: If7cd5802ead40805b1ff1c3bdfc10ba6d2858ef0 +--- + absl/hash/hash_test.cc | 2 +- + absl/hash/internal/hash.h | 12 ++++++++++-- + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/absl/hash/internal/hash.h b/absl/hash/internal/hash.h +index f4a94f9129f..b7d89b01807 100644 +--- a/absl/hash/internal/hash.h ++++ b/absl/hash/internal/hash.h +@@ -24,6 +24,15 @@ + #include + #endif + ++#include "absl/base/config.h" ++ ++// For feature testing and determining which headers can be included. ++#if ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L ++#include ++#else ++#include ++#endif ++ + #include + #include + #include +@@ -47,7 +56,6 @@ + #include + #include + +-#include "absl/base/config.h" + #include "absl/base/internal/unaligned_access.h" + #include "absl/base/port.h" + #include "absl/container/fixed_array.h" +@@ -61,7 +69,7 @@ + #include "absl/types/variant.h" + #include "absl/utility/utility.h" + +-#if ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \ ++#if defined(__cpp_lib_filesystem) && __cpp_lib_filesystem >= 201703L && \ + !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) + #include // NOLINT + #endif diff --git a/recipes/abseil/config.yml b/recipes/abseil/config.yml index a5bf2303085d1..4db2fe8f16b71 100644 --- a/recipes/abseil/config.yml +++ b/recipes/abseil/config.yml @@ -1,17 +1,11 @@ versions: + "20240116.1": + folder: all "20230802.1": folder: all "20230125.3": folder: all - "20230125.2": - folder: all - "20230125.1": - folder: all - "20230125.0": - folder: all "20220623.1": folder: all - "20220623.0": - folder: all "20211102.0": folder: all From e29d0bfe1d4cb260bc7448d916cab0f2d82a33c7 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Thu, 14 Mar 2024 11:47:51 +0100 Subject: [PATCH 3928/4087] (#23072) [openapi-generator] Bump version 7.4.0 and remove older --- recipes/openapi-generator/all/conandata.yml | 12 +++--------- recipes/openapi-generator/config.yml | 8 ++------ 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml index 62465f2d111e7..e13b56c9de28d 100644 --- a/recipes/openapi-generator/all/conandata.yml +++ b/recipes/openapi-generator/all/conandata.yml @@ -1,19 +1,13 @@ sources: + "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" "7.2.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar" sha256: "1cf0c80de12c0fdc8594289c19e414b402108ef10b8dd0bfda1953151341ab5d" - "7.0.0": - url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.0.0/openapi-generator-cli-7.0.0.jar" - sha256: "80e8e9d71bdbdf513b8c65cf7d3fc2fe3d88aaeb4e39a2c6e20831f00032c775" "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" - "6.5.0": - url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.5.0/openapi-generator-cli-6.5.0.jar" - sha256: "f18d771e98f2c5bb169d1d1961de4f94866d2901abc1e16177dd7e9299834721" - "6.4.0": - url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.4.0/openapi-generator-cli-6.4.0.jar" - sha256: "35aead300e0c9469fbd9d30cf46f4153897dcb282912091ca4ec9212dce9d151" diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml index 07bf0a2fcdb65..949f6537e4806 100644 --- a/recipes/openapi-generator/config.yml +++ b/recipes/openapi-generator/config.yml @@ -1,13 +1,9 @@ versions: + "7.4.0": + folder: all "7.3.0": folder: all "7.2.0": folder: all - "7.0.0": - folder: all "6.6.0": folder: all - "6.5.0": - folder: all - "6.4.0": - folder: all From a7a8ddb1eafd85629ce5df3651b46b6a9a526a16 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Mar 2024 20:03:36 +0900 Subject: [PATCH 3929/4087] (#20704) antlr4: add recipe * antlr: add recipe * rename folder name --- recipes/antlr4/all/conandata.yml | 8 +++ recipes/antlr4/all/conanfile.py | 75 ++++++++++++++++++++ recipes/antlr4/all/test_package/conanfile.py | 15 ++++ recipes/antlr4/config.yml | 3 + 4 files changed, 101 insertions(+) create mode 100644 recipes/antlr4/all/conandata.yml create mode 100644 recipes/antlr4/all/conanfile.py create mode 100644 recipes/antlr4/all/test_package/conanfile.py create mode 100644 recipes/antlr4/config.yml diff --git a/recipes/antlr4/all/conandata.yml b/recipes/antlr4/all/conandata.yml new file mode 100644 index 0000000000000..bb6d82645f9fb --- /dev/null +++ b/recipes/antlr4/all/conandata.yml @@ -0,0 +1,8 @@ +sources: + "4.13.1": + jar: + url: "https://www.antlr.org/download/antlr-4.13.1-complete.jar" + sha256: "bc13a9c57a8dd7d5196888211e5ede657cb64a3ce968608697e4f668251a8487" + license: + url: "https://raw.githubusercontent.com/antlr/antlr4/4.13.1/LICENSE.txt" + sha256: "3db1fb3ee79a4b4f9918fc4d0f6133bf18a3cf787f126cd22f8aa9b862281c0c" diff --git a/recipes/antlr4/all/conanfile.py b/recipes/antlr4/all/conanfile.py new file mode 100644 index 0000000000000..b0a45cf87f544 --- /dev/null +++ b/recipes/antlr4/all/conanfile.py @@ -0,0 +1,75 @@ +from conan import ConanFile +from conan.tools.files import copy, download, save +import os +import stat + + +required_conan_version = ">=1.47.0" + + +class Antlr4Conan(ConanFile): + name = "antlr4" + description = "powerful parser generator for reading, processing, executing, or translating structured text or binary files." + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/antlr/antlr4" + topics = ("parser", "generator") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + pass + + def requirements(self): + self.requires("openjdk/21.0.1") + + def package_id(self): + del self.info.settings.arch + del self.info.settings.compiler + del self.info.settings.build_type + + def source(self): + v = self.conan_data["sources"][self.version] + download( + self, + url=v["jar"]["url"], + filename=os.path.join(self.source_folder, "antlr-complete.jar"), + sha256=v["jar"]["sha256"], + ) + download( + self, + url=v["license"]["url"], + filename=os.path.join(self.source_folder, "LICENSE.txt"), + sha256=v["license"]["sha256"], + ) + + def package(self): + copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="antlr-complete.jar", dst=os.path.join(self.package_folder, "res"), src=self.source_folder) + if self.settings.os == "Windows": + save(self, + path=os.path.join(self.package_folder, "bin", "antlr4.bat"), + content="""\ + java -classpath %CLASSPATH% org.antlr.v4.Tool %* + """ + ) + else: + bin_path = os.path.join(self.package_folder, "bin", "antlr4") + save(self, + path=bin_path, + content="""\ + #!/bin/bash + java -classpath $CLASSPATH org.antlr.v4.Tool $@ + """ + ) + st = os.stat(bin_path) + os.chmod(bin_path, st.st_mode | stat.S_IEXEC) + + def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + jar = os.path.join(self.package_folder, "res", "antlr-complete.jar") + self.runenv_info.prepend_path("CLASSPATH", jar) diff --git a/recipes/antlr4/all/test_package/conanfile.py b/recipes/antlr4/all/test_package/conanfile.py new file mode 100644 index 0000000000000..07c30b7476b74 --- /dev/null +++ b/recipes/antlr4/all/test_package/conanfile.py @@ -0,0 +1,15 @@ +from conan import ConanFile +from conan.tools.build import can_run + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + if can_run(self): + self.run("antlr4") diff --git a/recipes/antlr4/config.yml b/recipes/antlr4/config.yml new file mode 100644 index 0000000000000..641cda5e6add7 --- /dev/null +++ b/recipes/antlr4/config.yml @@ -0,0 +1,3 @@ +versions: + "4.13.1": + folder: all From 8ff9c002837c04b3abc925b8c84f72d0bcbf103a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Mar 2024 20:27:09 +0900 Subject: [PATCH 3930/4087] (#23074) sqlite3: add version 3.45.2 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index 79c5bc7cc7480..1f5bb786d1767 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.45.2": + url: "https://sqlite.org/2024/sqlite-amalgamation-3450200.zip" + sha256: "65230414820d43a6d1445d1d98cfe57e8eb9f7ac0d6a96ad6932e0647cce51db" "3.45.1": url: "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" sha256: "5592243caf28b2cdef41e6ab58d25d653dfc53deded8450eb66072c929f030c4" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 922ba60e383e9..97c45a94fa443 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.45.2": + folder: all "3.45.1": folder: all "3.45.0": From 2c12fe30fd472a22e5f885b36e09b7551e7f627b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 14 Mar 2024 13:04:24 +0000 Subject: [PATCH 3931/4087] (#23097) [bot] Update authorized users list (2024-03-14) 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 e630a8c822965..e2da892a9b7e4 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1301,3 +1301,7 @@ authorized_users: - dbolduc - jgaa - tbsuht +- Greendogo +- iso8859-1 +- spiderkeys +- lspintzyk From 40c6cba54590e90f5288f0e7a4aab8c4c42fdcdb Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 14 Mar 2024 11:47:41 -0500 Subject: [PATCH 3932/4087] (#23013) libudev: Set the pkg-config version to the real version number The pkg-config file contains the version of the Conan package. This is problematic because it is `system` which causes version checks for libudev to fail. This happens in Weston I'm making for instance: ``` Dependency libudev found: NO found system but need: '>= 136' Found CMake: /usr/local/bin/cmake (3.28.20240202) Run-time dependency libudev found: NO (tried cmake) ../src/libweston/meson.build:196:2: ERROR: Dependency lookup for libudev with method 'pkgconfig' failed: Invalid version, need 'libudev' ['>= 136'] found 'system'. ``` I've set the version in the pkg-config file to that of the version on the system. This fixes version checks in consumers using pkg-config. --- recipes/libudev/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/libudev/all/conanfile.py b/recipes/libudev/all/conanfile.py index 46c164d11074a..0a4056812ce72 100644 --- a/recipes/libudev/all/conanfile.py +++ b/recipes/libudev/all/conanfile.py @@ -48,3 +48,7 @@ def package_info(self): self.cpp_info.libdirs = [] pkg_config = PkgConfig(self, "libudev") pkg_config.fill_cpp_info(self.cpp_info) + self.cpp_info.set_property("system_package_version", str(pkg_config.version)) + + # todo Remove this workaround for Conan v1 + self.cpp_info.set_property("component_version", str(pkg_config.version)) From a0ec39fe01b42c229e8a66a974c043929922899c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:32:04 +0000 Subject: [PATCH 3933/4087] (#23109) [bot] Update authorized users list (2024-03-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 e2da892a9b7e4..ad6d2b83372d7 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1305,3 +1305,6 @@ authorized_users: - iso8859-1 - spiderkeys - lspintzyk +- js-nano +- matheusgomes28 +- jsinge From 309abf85111c15087164b2cb66d81c951f8912e0 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 16 Mar 2024 03:07:05 -0500 Subject: [PATCH 3934/4087] (#23011) harfbuzz: Disable auto-features which pull in system dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It autodetects cairo and pulls it in, which breaks reproducibility. This also breaks cross compilation by pulling in dependencies on the build system. Co-authored-by: Rubén Rincón Blanco --- recipes/harfbuzz/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index 7904abea985f6..a0f1c1c55554a 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -100,9 +100,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.3") + 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") if self.options.with_glib: self.tool_requires("glib/") if self.settings.os == "Macos": @@ -141,6 +141,7 @@ def is_vs_2017(): backend, cxxflags = meson_backend_and_flags() tc = MesonToolchain(self, backend=backend) + tc.project_options["auto_features"] = "disabled" tc.project_options.update({ "glib": is_enabled(self.options.with_glib), "icu": is_enabled(self.options.with_icu), From c75f7c4927ee13dfdda78f46b06dde1ffa59434f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Mar 2024 13:27:05 +0900 Subject: [PATCH 3935/4087] (#23121) sfl: add version 1.3.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 cc5806fe1937d..b4d8ce3303e28 100644 --- a/recipes/sfl/all/conandata.yml +++ b/recipes/sfl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.3.0.tar.gz" + sha256: "1d0e797c5e11bbc861f9f1ae8eb7d9378d456d6cd1c43e00cdec6d3664e745e6" "1.2.4": url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.4.tar.gz" sha256: "e24d4adb1aff638e17ef49841881992a1020dc951e4e9721b81b76d44ef89f5b" diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml index aec9153a51c8d..5f304ccdf5f5a 100644 --- a/recipes/sfl/config.yml +++ b/recipes/sfl/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: "all" "1.2.4": folder: "all" "1.2.3": From 9b2303a313c10ec14c8bcaa1a8899eeff7992fd2 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Mon, 18 Mar 2024 09:23:52 +0100 Subject: [PATCH 3936/4087] (#20859) Add the package for quickcpplib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add the package for quickcpplib https://github.com/ned14/quickcpplib * Add quickcpplib (ci fixes) * Review on quickcpplib Co-authored-by: Uilian Ries * Update recipes/quickcpplib/all/conanfile.py * fix missing import Signed-off-by: Uilian Ries * Fix * Check cppstd in a v1 compatible way * Remove bad import --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- recipes/quickcpplib/all/conandata.yml | 4 + recipes/quickcpplib/all/conanfile.py | 105 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 13 +++ .../quickcpplib/all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 53 +++++++++ recipes/quickcpplib/config.yml | 3 + 6 files changed, 204 insertions(+) create mode 100644 recipes/quickcpplib/all/conandata.yml create mode 100644 recipes/quickcpplib/all/conanfile.py create mode 100644 recipes/quickcpplib/all/test_package/CMakeLists.txt create mode 100644 recipes/quickcpplib/all/test_package/conanfile.py create mode 100644 recipes/quickcpplib/all/test_package/test_package.cpp create mode 100644 recipes/quickcpplib/config.yml diff --git a/recipes/quickcpplib/all/conandata.yml b/recipes/quickcpplib/all/conandata.yml new file mode 100644 index 0000000000000..c89f6afe4befd --- /dev/null +++ b/recipes/quickcpplib/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20231208": + url: "https://github.com/ned14/quickcpplib/archive/72277c70f925829935a2af846731ab36063ec16f.tar.gz" + sha256: "bb9da86efa2f262e6a292453775fa9b999b422700eb1c1ac390b7cbe5f0ec92f" diff --git a/recipes/quickcpplib/all/conanfile.py b/recipes/quickcpplib/all/conanfile.py new file mode 100644 index 0000000000000..be93e0eb71c55 --- /dev/null +++ b/recipes/quickcpplib/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.files import get, copy, rmdir, rm +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.54.0" + + +class QuickcpplibCodeConan(ConanFile): + name = "quickcpplib" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ned14/quickcpplib" + description = "Eliminate all the tedious hassle when making state-of-the-art C++ 17 - 23 libraries!" + topics = ("header-only", "common") + package_type = "header-library" + settings = "os", "compiler", "build_type", "arch" + + @property + def _compiler_required_version(self): + return { + "gcc": "9", + "clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + @property + def _needs_span_lite(self): + # TODO: Conan 1 only has check_min_cppstd, move to `valid_max_cppstd` when only Conan 2 is required + try: + check_min_cppstd(self, "20") + return False + except ConanInvalidConfiguration: + return True + + @property + def _min_cppstd(self): + return "17" + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if self._needs_span_lite: + self.requires("span-lite/0.10.3") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + # To simplify library integration to CCI + # we require C++17 to be dependency free. + check_min_cppstd(self, self._min_cppstd) + + min_version = self._compiler_required_version.get(str(self.settings.compiler)) + if min_version: + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration(f"This package requires c++ {self._min_cppstd} support. The current compiler does not support it.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], + destination=self.source_folder, strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "*.ipp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + rmdir(self, os.path.join(self.package_folder, "include", "quickcpplib", "byte")) + rmdir(self, os.path.join(self.package_folder, "include", "quickcpplib", "boost")) + rmdir(self, os.path.join(self.package_folder, "include", "quickcpplib", "optional")) + rmdir(self, os.path.join(self.package_folder, "include", "quickcpplib", "span-lite")) + rm(self, "allocator_testing.hpp", os.path.join(self.package_folder, "include", "quickcpplib")) + copy(self, "Licence.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "quickcpplib") + self.cpp_info.set_property("cmake_target_name", "quickcpplib::hl") + + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + + if self._needs_span_lite: + self.cpp_info.requires = ["span-lite::span-lite"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["dl", "pthread", "rt"] + + self.cpp_info.defines.append("QUICKCPPLIB_DISABLE_ABI_PERMUTATION") + + if self._needs_span_lite: + self.cpp_info.defines.append("QUICKCPPLIB_USE_SYSTEM_SPAN_LITE=1") + else: + self.cpp_info.defines.append("QUICKCPPLIB_USE_STD_SPAN=1") + + self.cpp_info.defines.append("QUICKCPPLIB_USE_STD_BYTE=1") + self.cpp_info.defines.append("QUICKCPPLIB_USE_STD_OPTIONAL=1") diff --git a/recipes/quickcpplib/all/test_package/CMakeLists.txt b/recipes/quickcpplib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fc0e3e545987e --- /dev/null +++ b/recipes/quickcpplib/all/test_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +find_package(quickcpplib REQUIRED CONFIG) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package quickcpplib::hl) + +if (TARGET nonstd::span-lite) +target_compile_features(test_package PRIVATE cxx_std_17) +else () +target_compile_features(test_package PRIVATE cxx_std_20) +endif() diff --git a/recipes/quickcpplib/all/test_package/conanfile.py b/recipes/quickcpplib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e845ae751a301 --- /dev/null +++ b/recipes/quickcpplib/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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/quickcpplib/all/test_package/test_package.cpp b/recipes/quickcpplib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..54a5243de2818 --- /dev/null +++ b/recipes/quickcpplib/all/test_package/test_package.cpp @@ -0,0 +1,53 @@ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace ql = ::quickcpplib; + +int main() { + std::uint64_t x = 20230904ULL; + std::uint64_t y = 42ULL; + if( ql::algorithm::hash::fast_hash::hash(reinterpret_cast(&x), sizeof(x)) + == ql::algorithm::hash::fast_hash::hash(reinterpret_cast(&y), sizeof(y)) ) + { + return -1; + } + + return 0; +} diff --git a/recipes/quickcpplib/config.yml b/recipes/quickcpplib/config.yml new file mode 100644 index 0000000000000..1f4ea336bc936 --- /dev/null +++ b/recipes/quickcpplib/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20231208": + folder: all From fca4d560031841226037939a34c95c3660ba7afb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 18 Mar 2024 10:27:24 +0100 Subject: [PATCH 3937/4087] (#23034) qt 5.15.13 * qt 5.15.13 * remove patches merged upstream https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/462017 https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/460367 * shorten the path to ANGLE * remove 5.15.7 * remove 5.15.8 --- recipes/qt/5.x.x/conandata.yml | 117 ++----- recipes/qt/5.x.x/conanfile.py | 12 +- recipes/qt/5.x.x/patches/107ed30ec5.patch | 35 -- ...qmake-default-libdirs-apple-clang-15.patch | 26 -- recipes/qt/5.x.x/patches/QTBUG-98813.patch | 38 -- recipes/qt/5.x.x/patches/d3396fb6fc.patch | 30 -- recipes/qt/5.x.x/patches/dece6f5.diff | 14 - ...dules5.15.7.conf => qtmodules5.15.13.conf} | 0 recipes/qt/5.x.x/qtmodules5.15.8.conf | 326 ------------------ recipes/qt/config.yml | 6 +- 10 files changed, 40 insertions(+), 564 deletions(-) delete mode 100644 recipes/qt/5.x.x/patches/107ed30ec5.patch delete mode 100644 recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch delete mode 100644 recipes/qt/5.x.x/patches/QTBUG-98813.patch delete mode 100644 recipes/qt/5.x.x/patches/d3396fb6fc.patch delete mode 100644 recipes/qt/5.x.x/patches/dece6f5.diff rename recipes/qt/5.x.x/{qtmodules5.15.7.conf => qtmodules5.15.13.conf} (100%) delete mode 100644 recipes/qt/5.x.x/qtmodules5.15.8.conf diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index bc095a693b2c9..a8c2e2c8e2a71 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -1,4 +1,10 @@ sources: + "5.15.13": + url: + - "https://download.qt.io/official_releases/qt/5.15/5.15.13/single/qt-everywhere-opensource-src-5.15.13.tar.xz" + - "https://download.qt.io/archive/qt/5.15/5.15.13/single/qt-everywhere-opensource-src-5.15.13.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/5.15/5.15.13/single/qt-everywhere-opensource-src-5.15.13.tar.xz" + sha256: "9550ec8fc758d3d8d9090e261329700ddcd712e2dda97e5fcfeabfac22bea2ca" "5.15.12": url: - "https://download.qt.io/official_releases/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" @@ -87,21 +93,30 @@ sources: - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.15/5.15.9/single/qt-everywhere-opensource-src-5.15.9.tar.xz" - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.9/single/qt-everywhere-opensource-src-5.15.9.tar.xz" sha256: "26d5f36134db03abe4a6db794c7570d729c92a3fc1b0bf9b1c8f86d0573cd02f" - "5.15.8": - url: - - "https://download.qt.io/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz" - sha256: "776a9302c336671f9406a53bd30b8e36f825742b2ec44a57c08217bff0fa86b9" - "5.15.7": - url: - - "https://download.qt.io/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" - - "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" - sha256: "8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0" patches: + "5.15.13": + - "base_path": "qt5/qtbase" + "patch_file": "patches/aa2a39dea5.diff" + - "base_path": "qt5/qtwebengine" + "patch_file": "patches/c72097e.diff" + - "base_path": "qt5/qttools" + "patch_file": "patches/fix-macdeployqt.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-backtrace.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-openssl.diff" + - "base_path": "qt5/qtbase" + "patch_description": "Fix qmake build with apple-clang>=15" + "patch_file": "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + "patch_type": "portability" + - "base_path": "qt5/qtbase" + "patch_description": "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" + "patch_file": "patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch" + "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/482392" + "patch_type": "portability" "5.15.12": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" @@ -229,77 +244,3 @@ patches: patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" patch_type: "portability" patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" - "5.15.8": - - patch_file: "patches/aa2a39dea5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/c72097e.diff" - base_path: "qt5/qtwebengine" - - patch_file: "patches/fix-macdeployqt.diff" - base_path: "qt5/qttools" - - patch_file: "patches/chromium-v8-missing-constexpr.patch" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/v8" - - patch_file: "patches/chromium-skia-missing-iterator-include.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/skia-cd397f3.diff" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" - - patch_file: "patches/0001-Find-fontconfig-using-pkg-config.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/337f28c9ab-5.15.8.patch" - base_path: "qt5/qtbase" - - patch_file: "patches/android-backtrace.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-openssl.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-new-ndk.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" - base_path: "qt5/qtbase" - patch_description: "Fix build with apple-clang 15" - patch_type: "portability" - patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" - - patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch" - base_path: "qt5/qtbase" - patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" - patch_type: "portability" - patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" - "5.15.7": - - patch_file: "patches/337f28c9ab.patch" - base_path: "qt5/qtbase" - - patch_file: "patches/aa2a39dea5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/c72097e.diff" - base_path: "qt5/qtwebengine" - - patch_file: "patches/fix-macdeployqt.diff" - base_path: "qt5/qttools" - - patch_file: "patches/dece6f5.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/QTBUG-98813.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/d3396fb6fc.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/107ed30ec5.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/chromium-v8-missing-constexpr.patch" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/v8" - - patch_file: "patches/chromium-skia-missing-iterator-include.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/skia-cd397f3.diff" - base_path: "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" - - patch_file: "patches/0001-Find-fontconfig-using-pkg-config.patch" - base_path: "qt5/qtwebengine/src/3rdparty" - - patch_file: "patches/android-backtrace.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-openssl.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/android-new-ndk.diff" - base_path: "qt5/qtbase" - - patch_file: "patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch" - base_path: "qt5/qtbase" - patch_description: "Fix build with apple-clang 15" - patch_type: "portability" - patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916" - - patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch" - base_path: "qt5/qtbase" - patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14" - patch_type: "portability" - patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/482392" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index c8a423d3f890c..9d4a18d87ad0e 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -338,9 +338,6 @@ def validate(self): if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: raise ConanInvalidConfiguration("sqlite3 option enable_column_metadata must be enabled for qt") - if Version(self.version) < "5.15.9" and self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration("qt does not support macOS on ARM before 5.15.9 (QTBUG-85279)") - def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.openssl: @@ -447,6 +444,10 @@ def build_requirements(self): if self.options.qtwayland: self.tool_requires("wayland/") + @property + def angle_path(self): + return os.path.join(self.source_folder, "angle") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, destination="qt5") @@ -463,6 +464,10 @@ def source(self): ) save(self, os.path.join(self.source_folder, "qt5", "qtbase", "mkspecs", "features", "uikit", "bitcode.prf"), "") + # shorten the path to ANGLE to avoid the following error: + # C:\J2\w\prod-v2\bsr@4\104220\ebfcf\p\qtde01f793a6074\s\qt5\qtbase\src\3rdparty\angle\src\libANGLE\renderer\d3d\d3d11\texture_format_table_autogen.cpp : fatal error C1083: Cannot open compiler generated file: '': Invalid argument + copy(self, "*", os.path.join(self.source_folder, "qt5", "qtbase", "src", "3rdparty", "angle"), self.angle_path) + def generate(self): pc = PkgConfigDeps(self) pc.generate() @@ -475,6 +480,7 @@ def generate(self): vre.generate(scope="build") env = Environment() env.define("MAKEFLAGS", f"j{build_jobs(self)}") + env.define("ANGLE_DIR", self.angle_path) env.prepend_path("PKG_CONFIG_PATH", self.generators_folder) if self.settings.os == "Windows": env.prepend_path("PATH", os.path.join(self.source_folder, "qt5", "gnuwin32", "bin")) diff --git a/recipes/qt/5.x.x/patches/107ed30ec5.patch b/recipes/qt/5.x.x/patches/107ed30ec5.patch deleted file mode 100644 index 3dd48a20a04ce..0000000000000 --- a/recipes/qt/5.x.x/patches/107ed30ec5.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 107ed30ec505f20f166cf7df3b99c5c73a680796 Mon Sep 17 00:00:00 2001 -From: Peter Varga -Date: Fri, 4 Mar 2022 10:42:25 +0100 -Subject: [PATCH] [Backport] Fix for non-constant SIGSTKSZ - -On glibc > 2.33, `SIGSTKSZ` might not be constant (in which case -it expands to a call to `sysconf` which returns a `long int`); see -https://sourceware.org/pipermail/libc-alpha/2020-October/118513.html - -Pass unsigned explicitly to std::max, to avoid relying on template -argument deduction. This works both with the old-style constant -`SIGSTKSZ` and the new configurable one. - -Initially based on https://chromium-review.googlesource.com/c/2776379 - -Change-Id: I2279e8423aa70987ce4537674c7291216d23062f -Review-URL: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3340721 -Reviewed-by: Allan Sandfeld Jensen ---- - .../breakpad/src/client/linux/handler/exception_handler.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index ca353c40997..4c73053c513 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { - // SIGSTKSZ may be too small to prevent the signal handlers from overrunning - // the alternative stack. Ensure that the size of the alternative stack is - // large enough. -- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); -+ static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - - // Only set an alternative stack if there isn't already one, or if the current - // one is too small. diff --git a/recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch b/recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch deleted file mode 100644 index 1f9f0f90f6e5b..0000000000000 --- a/recipes/qt/5.x.x/patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/mkspecs/features/toolchain.prf -+++ b/mkspecs/features/toolchain.prf -@@ -283,9 +283,12 @@ isEmpty($${target_prefix}.INCDIRS) { - } - } - } -- isEmpty(QMAKE_DEFAULT_LIBDIRS)|isEmpty(QMAKE_DEFAULT_INCDIRS): \ -+ isEmpty(QMAKE_DEFAULT_INCDIRS): \ - !integrity: \ -- error("failed to parse default search paths from compiler output") -+ error("failed to parse default include paths from compiler output") -+ isEmpty(QMAKE_DEFAULT_LIBDIRS): \ -+ !integrity:!darwin: \ -+ error("failed to parse default library paths from compiler output") - QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS) - } else: ghs { - cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp -@@ -407,7 +410,7 @@ isEmpty($${target_prefix}.INCDIRS) { - QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP) - } - -- unix:if(!cross_compile|host_build) { -+ unix:!darwin:if(!cross_compile|host_build) { - isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include - isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib - } diff --git a/recipes/qt/5.x.x/patches/QTBUG-98813.patch b/recipes/qt/5.x.x/patches/QTBUG-98813.patch deleted file mode 100644 index c7d6fe522ebcf..0000000000000 --- a/recipes/qt/5.x.x/patches/QTBUG-98813.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7ff159da128c4f249b468f3ff972f864d243c742 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Tue, 7 Dec 2021 10:44:51 +0100 -Subject: [PATCH] Try to fix build on Apple Monterey -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -std::basic_string::shrink_to_fit appears to not be inline - -Change-Id: I5bca251bdde433e917879947f97659973c430f54 -Fixes: QTBUG-98813 -Reviewed-by: Peter Varga -Reviewed-by: Allan Sandfeld Jensen -Reviewed-by: Michael Brüning ---- - chromium/base/strings/utf_string_conversions.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/chromium/base/strings/utf_string_conversions.cc b/chromium/base/strings/utf_string_conversions.cc -index 0b55cd9e59d..12ed1f3e010 100644 ---- a/chromium/base/strings/utf_string_conversions.cc -+++ b/chromium/base/strings/utf_string_conversions.cc -@@ -15,6 +15,14 @@ - #include "base/third_party/icu/icu_utf.h" - #include "build/build_config.h" - -+#if defined(OS_MAC) -+namespace std { -+inline namespace __1 { -+template class basic_string; -+} // namespace __1 -+} // namespace std -+#endif // defined(OS_MAC) -+ - namespace base { - - namespace { diff --git a/recipes/qt/5.x.x/patches/d3396fb6fc.patch b/recipes/qt/5.x.x/patches/d3396fb6fc.patch deleted file mode 100644 index 5f832ae4c3873..0000000000000 --- a/recipes/qt/5.x.x/patches/d3396fb6fc.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d3396fb6fcf9e1846de3091ada99284e10e9ee54 Mon Sep 17 00:00:00 2001 -From: Peter Varga -Date: Fri, 10 Dec 2021 14:40:20 +0100 -Subject: [PATCH] [Backport] abseil-cpp: Fixes build with latest glibc - -Fixes https://github.com/abseil/abseil-cpp/issues/952 - -This fix is extracted from: -https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9 - -Change-Id: I337c8c900ef569853046bb9adc3807a3ed12b13b -Reviewed-by: Allan Sandfeld Jensen ---- - .../abseil-cpp/absl/debugging/failure_signal_handler.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -index 5d13bdbbbd1..2ed137b58f1 100644 ---- a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -+++ b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() { - #else - const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; - #endif -- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; -+ size_t stack_size = -+ (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; - #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ - defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) - // Account for sanitizer instrumentation requiring additional stack space. diff --git a/recipes/qt/5.x.x/patches/dece6f5.diff b/recipes/qt/5.x.x/patches/dece6f5.diff deleted file mode 100644 index cd70c3d8f67ab..0000000000000 --- a/recipes/qt/5.x.x/patches/dece6f5.diff +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -index e070ba977d..35a62f59e3 100644 ---- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -+++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -@@ -43,6 +43,9 @@ - #include - #include - -+ -+#include -+ - QT_BEGIN_NAMESPACE - - class QIOSurfaceGraphicsBuffer : public QPlatformGraphicsBuffer diff --git a/recipes/qt/5.x.x/qtmodules5.15.7.conf b/recipes/qt/5.x.x/qtmodules5.15.13.conf similarity index 100% rename from recipes/qt/5.x.x/qtmodules5.15.7.conf rename to recipes/qt/5.x.x/qtmodules5.15.13.conf diff --git a/recipes/qt/5.x.x/qtmodules5.15.8.conf b/recipes/qt/5.x.x/qtmodules5.15.8.conf deleted file mode 100644 index 452233655f279..0000000000000 --- a/recipes/qt/5.x.x/qtmodules5.15.8.conf +++ /dev/null @@ -1,326 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 5.15 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 5.15 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtsvg - path = qtdeclarative - url = ../qtdeclarative.git - branch = 5.15 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 5.15 - status = addon -[submodule "qtscript"] - depends = qtbase - recommends = qttools - path = qtscript - url = ../qtscript.git - branch = 5.15 - status = deprecated -[submodule "qtmultimedia"] - depends = qtbase - recommends = qtdeclarative - path = qtmultimedia - url = ../qtmultimedia.git - branch = 5.15 - status = essential -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 5.15 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = 5.15 - status = deprecated -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 5.15 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtquickcontrols qtquickcontrols2 - path = qtdoc - url = ../qtdoc.git - branch = 5.15 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = master - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase - recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport - path = qtlocation - url = ../qtlocation.git - branch = 5.15 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 5.15 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtdocgallery"] - depends = qtdeclarative - path = qtdocgallery - url = ../qtdocgallery.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative qtandroidextras - path = qtconnectivity - url = ../qtconnectivity.git - branch = 5.15 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 5.15 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtimageformats qtgamepad - path = qt3d - url = ../qt3d.git - branch = 5.15 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 5.15 - status = addon -[submodule "qtgraphicaleffects"] - depends = qtdeclarative - path = qtgraphicaleffects - url = ../qtgraphicaleffects.git - branch = 5.15 - status = essential -[submodule "qtquickcontrols"] - depends = qtdeclarative - recommends = qtgraphicaleffects - path = qtquickcontrols - url = ../qtquickcontrols.git - branch = 5.15 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 5.15 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 5.15 - status = addon -[submodule "qtx11extras"] - depends = qtbase - path = qtx11extras - url = ../qtx11extras.git - branch = 5.15 - status = addon -[submodule "qtmacextras"] - depends = qtbase - path = qtmacextras - url = ../qtmacextras.git - branch = 5.15 - status = addon -[submodule "qtwinextras"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtwinextras - url = ../qtwinextras.git - branch = 5.15 - status = addon -[submodule "qtandroidextras"] - depends = qtbase - path = qtandroidextras - url = ../qtandroidextras.git - branch = 5.15 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 5.15 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 5.15 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools - path = qtwebengine - url = ../qtwebengine.git - branch = 5.15 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 5.15 - status = addon -[submodule "qtquickcontrols2"] - depends = qtgraphicaleffects - recommends = qtimageformats - path = qtquickcontrols2 - url = ../qtquickcontrols2.git - branch = 5.15 - status = essential -[submodule "qtpurchasing"] - depends = qtbase - recommends = qtdeclarative qtandroidextras - path = qtpurchasing - url = ../qtpurchasing.git - branch = 5.15 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 5.15 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 5.15 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia qtquickcontrols - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 5.15 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = 5.15 - status = addon -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 5.15 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 5.15 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 5.15 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 5.15 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = 5.15 - status = addon -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 5.15 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 5.15 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative - path = qtquick3d - url = ../qtquick3d.git - branch = 5.15 - status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index a0204ce95e6fc..026f022cea5e2 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -11,6 +11,8 @@ versions: folder: 6.x.x "6.3.2": folder: 6.x.x + "5.15.13": + folder: 5.x.x "5.15.12": folder: 5.x.x "5.15.11": @@ -19,7 +21,3 @@ versions: folder: 5.x.x "5.15.9": folder: 5.x.x - "5.15.8": - folder: 5.x.x - "5.15.7": - folder: 5.x.x From 8c4c61470af4f78e79e9253229a6cfbe3ac87f57 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 18 Mar 2024 04:47:17 -0500 Subject: [PATCH 3938/4087] (#23119) cpptrace: add 0.5.0 --- 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 7ebcd5c89c321..3c8c1e7ad8901 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "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" diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index a7ff5173cbbfa..1be32f1ad9626 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.5.0": + folder: all "0.4.1": folder: all "0.4.0": From ae76e2ae44bae9f7af947e5ec6aab5408ee03d09 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Mon, 18 Mar 2024 14:28:10 +0200 Subject: [PATCH 3939/4087] (#23099) expat: add 2.6.2 and remove several old versions * expat: add 2.6.2 and remove several old versions * Remove 2.4.1 Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/expat/all/conandata.yml | 27 +++------------------------ recipes/expat/config.yml | 16 +--------------- 2 files changed, 4 insertions(+), 39 deletions(-) diff --git a/recipes/expat/all/conandata.yml b/recipes/expat/all/conandata.yml index e8f35976ab73d..f010a588a6317 100644 --- a/recipes/expat/all/conandata.yml +++ b/recipes/expat/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "2.6.1": - url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_1/expat-2.6.1.tar.xz" - sha256: "0c00d2760ad12efef6e26efc8b363c8eb28eb8c8de719e46d5bb67b40ba904a3" + "2.6.2": + url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_2/expat-2.6.2.tar.xz" + sha256: "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364" "2.6.0": url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_0/expat-2.6.0.tar.xz" sha256: "cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e" @@ -14,27 +14,6 @@ sources: "2.4.8": sha256: "f79b8f904b749e3e0d20afeadecf8249c55b2e32d4ebb089ae378df479dcaf25" url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.xz" - "2.4.7": - sha256: "9875621085300591f1e64c18fd3da3a0eeca4a74f884b9abac2758ad1bd07a7d" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_7/expat-2.4.7.tar.xz" - "2.4.6": - sha256: "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_6/expat-2.4.6.tar.xz" - "2.4.5": - sha256: "f2af8fc7cdc63a87920da38cd6d12cb113c3c3a3f437495b1b6541e0cff32579" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_5/expat-2.4.5.tar.xz" - "2.4.4": - sha256: "b5d25d6e373351c2ed19b562b4732d01d2589ac8c8e9e7962d8df1207cc311b8" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_4/expat-2.4.4.tar.xz" - "2.4.3": - sha256: "b1f9f1b1a5ebb0acaa88c9ff79bfa4e145823b78aa5185e5c5d85f060824778a" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_3/expat-2.4.3.tar.xz" - "2.4.2": - sha256: "a2fb692e8e610406168296f25ba500ae8ce22cb4c8947a8689894d744b6deb02" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_2/expat-2.4.2.tar.gz" - "2.4.1": - sha256: "a00ae8a6b96b63a3910ddc1100b1a7ef50dc26dceb65ced18ded31ab392f132b" - url: "https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.gz" "2.3.0": sha256: "89df123c62f2c2e2b235692d9fe76def6a9ab03dbe95835345bf412726eb1987" url: "https://github.com/libexpat/libexpat/releases/download/R_2_3_0/expat-2.3.0.tar.gz" diff --git a/recipes/expat/config.yml b/recipes/expat/config.yml index b9184b42c3bb5..ee86cf4cc73ee 100644 --- a/recipes/expat/config.yml +++ b/recipes/expat/config.yml @@ -1,5 +1,5 @@ versions: - "2.6.1": + "2.6.2": folder: all "2.6.0": folder: all @@ -9,20 +9,6 @@ versions: folder: all "2.4.8": folder: all - "2.4.7": - folder: all - "2.4.6": - folder: all - "2.4.5": - folder: all - "2.4.4": - folder: all - "2.4.3": - folder: all - "2.4.2": - folder: all - "2.4.1": - folder: all "2.3.0": folder: all "2.2.10": From 2ba975b0faffb580202bbb1b233705f738e852f1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Mar 2024 21:47:40 +0900 Subject: [PATCH 3940/4087] (#23115) iguana: add recipe * iguana: add recipe * drop apple-clang/13 --- recipes/iguana/all/conandata.yml | 4 + recipes/iguana/all/conanfile.py | 78 ++++++++++++++++++ .../iguana/all/test_package/CMakeLists.txt | 8 ++ recipes/iguana/all/test_package/conanfile.py | 26 ++++++ .../iguana/all/test_package/test_package.cpp | 81 +++++++++++++++++++ recipes/iguana/config.yml | 3 + 6 files changed, 200 insertions(+) create mode 100644 recipes/iguana/all/conandata.yml create mode 100644 recipes/iguana/all/conanfile.py create mode 100644 recipes/iguana/all/test_package/CMakeLists.txt create mode 100644 recipes/iguana/all/test_package/conanfile.py create mode 100644 recipes/iguana/all/test_package/test_package.cpp create mode 100644 recipes/iguana/config.yml diff --git a/recipes/iguana/all/conandata.yml b/recipes/iguana/all/conandata.yml new file mode 100644 index 0000000000000..48d127d2fc21f --- /dev/null +++ b/recipes/iguana/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.3": + url: "https://github.com/qicosmos/iguana/archive/refs/tags/v1.0.3.tar.gz" + sha256: "7dcb21a36bd64a63a9ea857f3563ac61e965c49ec60ad7b99a2bfb9192f3e4c3" diff --git a/recipes/iguana/all/conanfile.py b/recipes/iguana/all/conanfile.py new file mode 100644 index 0000000000000..4bbd7a9302f02 --- /dev/null +++ b/recipes/iguana/all/conanfile.py @@ -0,0 +1,78 @@ +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 IguanaConan(ConanFile): + name = "iguana" + description = "universal serialization engine" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/qicosmos/iguana" + topics = ("serialization", "json", "xml", "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 requirements(self): + self.requires("frozen/1.1.1", transitive_headers=True) + + 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, + "*.h", + os.path.join(self.source_folder, "iguana"), + os.path.join(self.package_folder, "include", "iguana"), + ) + copy( + self, + "*.hpp", + os.path.join(self.source_folder, "iguana"), + os.path.join(self.package_folder, "include", "iguana"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("dl") diff --git a/recipes/iguana/all/test_package/CMakeLists.txt b/recipes/iguana/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..96ed5d3dde518 --- /dev/null +++ b/recipes/iguana/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(iguana REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE iguana::iguana) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/iguana/all/test_package/conanfile.py b/recipes/iguana/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/iguana/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/iguana/all/test_package/test_package.cpp b/recipes/iguana/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f97e8fb335c14 --- /dev/null +++ b/recipes/iguana/all/test_package/test_package.cpp @@ -0,0 +1,81 @@ +#include +#include + +namespace client { +struct person { + std::string name; + int64_t age; +}; + +REFLECTION(person, name, age); +} // namespace client + +struct MyStruct { + uint64_t a; +}; +REFLECTION(MyStruct, a); + +struct student { + int id; + std::string name; + int age; +}; +REFLECTION(student, id, name, age); + +void test() { + MyStruct p = {5566777755311}; + iguana::string_stream ss; + iguana::to_json(p, ss); + + MyStruct p2; + iguana::from_json(p2, ss); + std::cout << p2.a << std::endl; +} + +void test_v() { + client::person p1 = {"tom", 20}; + client::person p2 = {"jack", 19}; + client::person p3 = {"mike", 21}; + + std::vector v{p1, p2, p3}; + iguana::string_stream ss; + iguana::to_json(v, ss); + std::cout << ss << std::endl; + + std::vector v1; + iguana::from_json(v1, ss); +} + +void test_disorder() { + student s{1, "tom", 20}; + iguana::string_stream ss; + iguana::to_json(s, ss); + std::cout << ss << std::endl; + + student s1{}; + std::string str = "{\"name\":\"tom\",\"id\":1,\"age\":20}"; + iguana::from_json(s1, str.data(), str.length()); + std::string str1 = "{\"name\":\"tom\",\"age\":20,\"id\":1}"; + iguana::from_json(s1, str1.data(), str1.length()); + + std::string str2 = "{ \"id\":1,\"name\" : \"madoka\",\"age\" : 27 }"; + iguana::from_json(s1, str2.data(), str2.length()); +} + +int main(void) { + test_disorder(); + test_v(); + test(); + client::person p = {"zombie chow", -311}; + iguana::string_stream ss; + iguana::to_json(p, ss); + + std::cout << ss << std::endl; + client::person p2; + + iguana::from_json(p2, ss.data(), ss.length()); + + std::cout << p2.name << " - " << p2.age << std::endl; + + return 0; +} diff --git a/recipes/iguana/config.yml b/recipes/iguana/config.yml new file mode 100644 index 0000000000000..372dd1cb646bd --- /dev/null +++ b/recipes/iguana/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.3": + folder: all From 6b4b3977ed40145eab326145f14862c2365fe220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Mon, 18 Mar 2024 16:02:21 +0100 Subject: [PATCH 3941/4087] (#23078) tensorflow: Fix 2.12.0 URL * Inital fix for tensorflow 2.12 * Import version header * Fix version import missing header * Initial fxdiv support from CCI, still need to patch and pthreadpool * add telemetry to sources * wip * wip * wip --------- Co-authored-by: czoido --- recipes/tensorflow-lite/all/conandata.yml | 17 +-- recipes/tensorflow-lite/all/conanfile.py | 10 +- ...move_simple_memory_arena_debug_dump.patch} | 0 ...> 2.10.0-0002-disable_fetch_content.patch} | 0 ...=> 2.10.0-0003-use-cci-dependencies.patch} | 0 ...emove_simple_memory_arena_debug_dump.patch | 21 ++++ .../2.12.0-0002-disable-fetch-content.patch | 23 ++++ .../2.12.0-0003-use-cci-dependencies.patch | 103 ++++++++++++++++++ .../all/test_package/test_package.cpp | 2 + 9 files changed, 167 insertions(+), 9 deletions(-) rename recipes/tensorflow-lite/all/patches/{remove_simple_memory_arena_debug_dump.patch => 2.10.0-0001-remove_simple_memory_arena_debug_dump.patch} (100%) rename recipes/tensorflow-lite/all/patches/{disable_fetch_content.patch => 2.10.0-0002-disable_fetch_content.patch} (100%) rename recipes/tensorflow-lite/all/patches/{dependencies_2_10.patch => 2.10.0-0003-use-cci-dependencies.patch} (100%) create mode 100644 recipes/tensorflow-lite/all/patches/2.12.0-0001-remove_simple_memory_arena_debug_dump.patch create mode 100644 recipes/tensorflow-lite/all/patches/2.12.0-0002-disable-fetch-content.patch create mode 100644 recipes/tensorflow-lite/all/patches/2.12.0-0003-use-cci-dependencies.patch diff --git a/recipes/tensorflow-lite/all/conandata.yml b/recipes/tensorflow-lite/all/conandata.yml index 4727adcc61017..c5076017657c5 100644 --- a/recipes/tensorflow-lite/all/conandata.yml +++ b/recipes/tensorflow-lite/all/conandata.yml @@ -1,26 +1,27 @@ sources: "2.12.0": - url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.10.0.tar.gz" - sha256: "b5a1bb04c84b6fe1538377e5a1f649bb5d5f0b2e3625a3c526ff3a8af88633e8" + url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.12.0.tar.gz" + sha256: "c030cb1905bff1d2446615992aad8d8d85cbe90c4fb625cee458c63bf466bc8e" "2.10.0": url: "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.10.0.tar.gz" sha256: "b5a1bb04c84b6fe1538377e5a1f649bb5d5f0b2e3625a3c526ff3a8af88633e8" patches: "2.12.0": - - patch_file: "patches/remove_simple_memory_arena_debug_dump.patch" + - 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." - - patch_file: "patches/disable_fetch_content.patch" + patch_type: "conan" + - patch_file: "patches/2.12.0-0002-disable-fetch-content.patch" patch_description: "Fail if the CMake build script tries to fetch external dependencies" patch_type: "conan" - - patch_file: "patches/dependencies_2_10.patch" + - 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" "2.10.0": - - patch_file: "patches/remove_simple_memory_arena_debug_dump.patch" + - 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." - - patch_file: "patches/disable_fetch_content.patch" + - patch_file: "patches/2.10.0-0002-disable_fetch_content.patch" patch_description: "Fail if the CMake build script tries to fetch external dependencies" patch_type: "conan" - - patch_file: "patches/dependencies_2_10.patch" + - 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" diff --git a/recipes/tensorflow-lite/all/conanfile.py b/recipes/tensorflow-lite/all/conanfile.py index 7a430b9baca1a..0ad39bb09b0e6 100644 --- a/recipes/tensorflow-lite/all/conanfile.py +++ b/recipes/tensorflow-lite/all/conanfile.py @@ -1,9 +1,10 @@ +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, CMakeDeps, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import get, save, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, save, copy, export_conandata_patches, apply_conandata_patches, replace_in_file from conan.tools.scm import Version from os.path import join import textwrap @@ -72,6 +73,10 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + @property + def _needs_fxdiv(self): + return Version(self.version) >= "2.12.0" + def requirements(self): self.requires("abseil/20230125.3") self.requires("eigen/3.4.0") @@ -88,6 +93,8 @@ def requirements(self): self.requires("pthreadpool/cci.20231129") if self.options.with_xnnpack or self.options.get_safe("with_nnapi", False): self.requires("fp16/cci.20210320") + if self._needs_fxdiv: + self.requires("fxdiv/cci.20200417") def validate(self): if self.settings.get_safe("compiler.cppstd"): @@ -151,6 +158,7 @@ def _module_file(self): 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")) diff --git a/recipes/tensorflow-lite/all/patches/remove_simple_memory_arena_debug_dump.patch b/recipes/tensorflow-lite/all/patches/2.10.0-0001-remove_simple_memory_arena_debug_dump.patch similarity index 100% rename from recipes/tensorflow-lite/all/patches/remove_simple_memory_arena_debug_dump.patch rename to recipes/tensorflow-lite/all/patches/2.10.0-0001-remove_simple_memory_arena_debug_dump.patch diff --git a/recipes/tensorflow-lite/all/patches/disable_fetch_content.patch b/recipes/tensorflow-lite/all/patches/2.10.0-0002-disable_fetch_content.patch similarity index 100% rename from recipes/tensorflow-lite/all/patches/disable_fetch_content.patch rename to recipes/tensorflow-lite/all/patches/2.10.0-0002-disable_fetch_content.patch diff --git a/recipes/tensorflow-lite/all/patches/dependencies_2_10.patch b/recipes/tensorflow-lite/all/patches/2.10.0-0003-use-cci-dependencies.patch similarity index 100% rename from recipes/tensorflow-lite/all/patches/dependencies_2_10.patch rename to recipes/tensorflow-lite/all/patches/2.10.0-0003-use-cci-dependencies.patch diff --git a/recipes/tensorflow-lite/all/patches/2.12.0-0001-remove_simple_memory_arena_debug_dump.patch b/recipes/tensorflow-lite/all/patches/2.12.0-0001-remove_simple_memory_arena_debug_dump.patch new file mode 100644 index 0000000000000..7347da947b777 --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.12.0-0001-remove_simple_memory_arena_debug_dump.patch @@ -0,0 +1,21 @@ +diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +index c71a392..7260efe 100644 +--- a/tensorflow/lite/CMakeLists.txt ++++ b/tensorflow/lite/CMakeLists.txt +@@ -221,6 +221,9 @@ if(CMAKE_SYSTEM_NAME MATCHES "Android") + endif() + # Build a list of source files to compile into the TF Lite library. + populate_tflite_source_vars("." TFLITE_SRCS) ++if(CMAKE_SYSTEM_NAME MATCHES "Windows" AND BUILD_SHARED_LIBS) ++ list(FILTER TFLITE_SRCS EXCLUDE REGEX ".*simple_memory_arena_debug_dump\\.cc$") ++endif() + + # This particular file is excluded because the more explicit approach to enable + # XNNPACK delegate is preferred to the weak-symbol one. +@@ -654,4 +657,4 @@ target_link_libraries(_pywrap_tensorflow_interpreter_wrapper + target_compile_options(_pywrap_tensorflow_interpreter_wrapper + PUBLIC ${TFLITE_TARGET_PUBLIC_OPTIONS} + PRIVATE ${TFLITE_TARGET_PRIVATE_OPTIONS} +-) +\ No newline at end of file ++) diff --git a/recipes/tensorflow-lite/all/patches/2.12.0-0002-disable-fetch-content.patch b/recipes/tensorflow-lite/all/patches/2.12.0-0002-disable-fetch-content.patch new file mode 100644 index 0000000000000..3e5227f425d87 --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.12.0-0002-disable-fetch-content.patch @@ -0,0 +1,23 @@ +diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +index 24b8265..7260efe 100644 +--- a/tensorflow/lite/CMakeLists.txt ++++ b/tensorflow/lite/CMakeLists.txt +@@ -657,4 +657,4 @@ target_link_libraries(_pywrap_tensorflow_interpreter_wrapper + target_compile_options(_pywrap_tensorflow_interpreter_wrapper + PUBLIC ${TFLITE_TARGET_PUBLIC_OPTIONS} + PRIVATE ${TFLITE_TARGET_PRIVATE_OPTIONS} +-) +\ No newline at end of file ++) +diff --git a/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake b/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake +index 9ed9510..4a6a45d 100644 +--- a/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake ++++ b/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake +@@ -251,6 +251,7 @@ function(OverridableFetchContent_Declare CONTENT_NAME) + URL_HASH + URL_MD5 + ) ++ message(FATAL_ERROR "OverridableFetchContent_Declare called by ${CONTENT_NAME}! Failing build.") + set(ALL_VALUE_ARGS LICENSE_FILE LICENSE_URL ${OVERRIDABLE_ARGS}) + cmake_parse_arguments(ARGS + "" diff --git a/recipes/tensorflow-lite/all/patches/2.12.0-0003-use-cci-dependencies.patch b/recipes/tensorflow-lite/all/patches/2.12.0-0003-use-cci-dependencies.patch new file mode 100644 index 0000000000000..669ae2418a34e --- /dev/null +++ b/recipes/tensorflow-lite/all/patches/2.12.0-0003-use-cci-dependencies.patch @@ -0,0 +1,103 @@ +diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +index 24b8265..9e0d1e0 100644 +--- a/tensorflow/lite/CMakeLists.txt ++++ b/tensorflow/lite/CMakeLists.txt +@@ -142,31 +142,16 @@ + 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) +-find_package(NEON_2_SSE REQUIRED) + find_package(cpuinfo REQUIRED) #CPUINFO is used by XNNPACK and RUY library + find_package(ruy REQUIRED) +-# Download necessary dependencies. +-# Download pthreadpool source package if it doesn't exist. +-if(NOT DEFINED PTHREADPOOL_SOURCE_DIR) +- message(STATUS "Downloading pthreadpool to ${CMAKE_BINARY_DIR}/pthreadpool-source (define PTHREADPOOL_SOURCE_DIR to avoid it)") +- configure_file(cmake/DownloadPThreadPool.cmake "${CMAKE_BINARY_DIR}/pthreadpool-download/CMakeLists.txt") +- execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/pthreadpool-download") +- execute_process(COMMAND "${CMAKE_COMMAND}" --build . +- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/pthreadpool-download") +- set(PTHREADPOOL_SOURCE_DIR "${CMAKE_BINARY_DIR}/pthreadpool-source" CACHE STRING "pthreadpool source directory") +-endif() +-# Configure pthreadpool +-if(NOT TARGET pthreadpool) +- set(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "") +- set(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "") +- set(PTHREADPOOL_ALLOW_DEPRECATED_API OFF CACHE BOOL "") +- add_subdirectory( +- "${PTHREADPOOL_SOURCE_DIR}" +- "${CMAKE_BINARY_DIR}/pthreadpool") ++ ++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$") +@@ -180,6 +165,10 @@ + set(TFLITE_TARGET_PRIVATE_DEFINITIONS "") + # Additional library dependencies based upon enabled features. + set(TFLITE_TARGET_DEPENDENCIES "") ++if (NOT CMAKE_SYSTEM_PROCESSOR OR CMAKE_SYSTEM_PROCESSOR MATCHES "x86") ++ find_package(NEON_2_SSE REQUIRED) ++ list(APPEND TFLITE_TARGET_DEPENDENCIES NEON_2_SSE::NEON_2_SSE) ++endif() + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang$") + # TFLite uses deprecated methods in neon2sse which generates a huge number of + # warnings so surpress these until they're fixed. +@@ -429,13 +418,14 @@ + endif() + if(TFLITE_ENABLE_XNNPACK) + find_package(fp16_headers REQUIRED) +- find_package(XNNPACK REQUIRED) ++ find_package(xnnpack REQUIRED) ++ find_package(pthreadpool 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() +@@ -492,6 +482,7 @@ + TFLITE_KERNEL_INTERNAL_REF_SPARSE_OPS_SRCS + ) + set(TFLITE_PROFILER_SRCS ++${TFLITE_SOURCE_DIR}/profiling/telemetry/telemetry.cc + ${TFLITE_SOURCE_DIR}/profiling/platform_profiler.cc + ${TFLITE_SOURCE_DIR}/profiling/root_profiler.h + ${TFLITE_SOURCE_DIR}/profiling/root_profiler.cc +@@ -555,19 +546,18 @@ + target_link_libraries(tensorflow-lite + PUBLIC + Eigen3::Eigen +- NEON_2_SSE::NEON_2_SSE + absl::flags + absl::hash + absl::status + absl::strings + absl::synchronization + absl::variant +- farmhash +- fft2d_fftsg2d +- flatbuffers::flatbuffers +- gemmlowp ++ 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/all/test_package/test_package.cpp b/recipes/tensorflow-lite/all/test_package/test_package.cpp index 4a4921bbf217f..954d81537da3f 100644 --- a/recipes/tensorflow-lite/all/test_package/test_package.cpp +++ b/recipes/tensorflow-lite/all/test_package/test_package.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -12,6 +13,7 @@ int main(int argc, char * argv[]) { std::cerr << "Pass model file path as argument" << std::endl; return -1; } + std::cout << "Using TensorFlow Lite version " << TFLITE_VERSION_STRING << std::endl; auto model = tflite::FlatBufferModel::BuildFromFile(argv[1]); if (!model) { throw std::runtime_error("Failed to load TFLite model"); From 494327197b35b85a77fb229c8cd43df211736288 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 00:50:13 +0900 Subject: [PATCH 3942/4087] (#23161) flatbuffers: add version 24.3.7 --- recipes/flatbuffers/all/conandata.yml | 3 +++ recipes/flatbuffers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/flatbuffers/all/conandata.yml b/recipes/flatbuffers/all/conandata.yml index bff177589ebd1..0cb168b6cedaa 100644 --- a/recipes/flatbuffers/all/conandata.yml +++ b/recipes/flatbuffers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "24.3.7": + url: "https://github.com/google/flatbuffers/archive/v24.3.7.tar.gz" + sha256: "bfff9d2150fcff88f844e8c608b02b2a0e94c92aea39b04c0624783464304784" "23.5.26": url: "https://github.com/google/flatbuffers/archive/v23.5.26.tar.gz" sha256: "1cce06b17cddd896b6d73cc047e36a254fb8df4d7ea18a46acf16c4c0cd3f3f3" diff --git a/recipes/flatbuffers/config.yml b/recipes/flatbuffers/config.yml index 58021445a86c5..7828770c7bd8a 100644 --- a/recipes/flatbuffers/config.yml +++ b/recipes/flatbuffers/config.yml @@ -1,4 +1,6 @@ versions: + "24.3.7": + folder: all "23.5.26": folder: all "23.3.3": From fcb7405f1e141590b220d11bd216ef34d1fd6556 Mon Sep 17 00:00:00 2001 From: jsinge Date: Mon, 18 Mar 2024 17:49:10 +0100 Subject: [PATCH 3943/4087] (#23107) libvips: add v8.15.2 --- recipes/libvips/all/conandata.yml | 3 +++ recipes/libvips/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libvips/all/conandata.yml b/recipes/libvips/all/conandata.yml index 3a7a741fa16ea..ebae63c90e5b2 100644 --- a/recipes/libvips/all/conandata.yml +++ b/recipes/libvips/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.15.2": + url: "https://github.com/libvips/libvips/releases/download/v8.15.2a/vips-8.15.2.tar.xz" + sha256: "a2ab15946776ca7721d11cae3215f20f1f097b370ff580cd44fc0f19387aee84" "8.15.1": url: "https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz" sha256: "06811f5aed3e7bc03e63d05537ff4b501de5283108c8ee79396c60601a00830c" diff --git a/recipes/libvips/config.yml b/recipes/libvips/config.yml index 93b9203bbe82c..411a90d607682 100644 --- a/recipes/libvips/config.yml +++ b/recipes/libvips/config.yml @@ -1,4 +1,6 @@ versions: + "8.15.2": + folder: all "8.15.1": folder: all "8.14.2": From a5b2d813348e5663f840736e217fd54be5882255 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 18 Mar 2024 22:22:10 +0000 Subject: [PATCH 3944/4087] (#23166) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index c8822abbf29a6..aced003f38780 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 +- antlr4 - antlr4-cppruntime - any-lite - anyrpc @@ -91,6 +92,7 @@ required_for_references: - beauty - benchmark - bertrand +- bezier - bgfx - bigint - bimg @@ -110,6 +112,7 @@ required_for_references: - boost-ext-ut - boost-leaf - boostdep +- botan - box2d - breakpad - brigand @@ -164,6 +167,7 @@ required_for_references: - chef-fun - chipmunk2d - choc +- chunkio - cimg - circularbuffer - cista @@ -172,6 +176,7 @@ required_for_references: - cjson - clara - clhep +- cli - cli11 - clickhouse-cpp - clipboard_lite @@ -184,6 +189,7 @@ required_for_references: - cmocka - cmp - cn-cbor +- cnats - cnpy - cocoyaxi - coin-cgl @@ -233,6 +239,7 @@ required_for_references: - cqrlib - crc32c - crc_cpp +- crcpp - create-dmg - croncpp - crossguid @@ -291,6 +298,7 @@ required_for_references: - djinni-support-lib - dlib - dlpack +- dnet - docopt.cpp - doctest - double-conversion @@ -305,12 +313,14 @@ required_for_references: - dsp-filters - dtl - duckdb +- duckx - duktape - dylib - eabase - earcut - eastl - easy_profiler +- easyexif - easyhttpcpp - easyloggingpp - easylzma @@ -347,6 +357,7 @@ required_for_references: - eternal - ethash - etl +- eudev - eventpp - evmc - exiv2 @@ -363,6 +374,7 @@ required_for_references: - fast-dds - fast_double_parser - fast_float +- fast_io - fastgltf - fastnoise2 - fastpfor @@ -373,6 +385,7 @@ required_for_references: - fft - fftw - fire-hpp +- fixed-containers - flac - flann - flatbuffers @@ -398,6 +411,7 @@ required_for_references: - fp16 - fpgen - fpzip +- freealut - freeglut - freeimage - freetype @@ -418,6 +432,7 @@ required_for_references: - gamenetworkingsockets - gamma - gcem +- gdal - gdbm - gdcm - gdk-pixbuf @@ -516,6 +531,7 @@ required_for_references: - iconfontcppheaders - icu - id3v2lib +- idna - ignition-cmake - iir1 - im95able-rea @@ -542,6 +558,7 @@ required_for_references: - iqa - irrxml - isa-l +- isl - iso8601lib - itk - itlib @@ -762,6 +779,7 @@ required_for_references: - libtorrent - libucl - libudev +- libunifex - libunistring - libunwind - liburing @@ -954,7 +972,9 @@ required_for_references: - nv-codec-headers - nvtx - oatpp +- oatpp-libressl - oatpp-postgresql +- oatpp-sqlite - objectbox - objectbox-generator - observer-ptr-lite @@ -965,6 +985,7 @@ required_for_references: - octomap - odbc - ode +- ofeli - ogdf - ogg - ohnet @@ -999,6 +1020,7 @@ required_for_references: - opengl-registry - opengv - openh264 +- openimageio - openjdk - openjpeg - openmesh @@ -1011,10 +1033,12 @@ required_for_references: - opentelemetry-proto - opentracing-cpp - openvino +- openvr - openxlsx - optional-lite - opus - opusfile +- orc - orcania - osmanip - osqp @@ -1031,9 +1055,11 @@ required_for_references: - parg - parson - patchelf +- pathie-cpp - pbtools - pcapplusplus - pcg-cpp +- pciutils - pcl - pcre - pcre2 @@ -1088,6 +1114,7 @@ required_for_references: - pranav-csv2 - premake - pretty-name +- primesieve - procxx-boost-ext-simd - proj - prometheus-cpp @@ -1138,6 +1165,7 @@ required_for_references: - rapidxml - rapidyaml - raylib +- rdma-core - re2 - re2c - reactiveplusplus @@ -1151,6 +1179,7 @@ required_for_references: - rectpack2d - redboltz-mqtt_cpp - redis-plus-plus +- redradist-icc - refl-cpp - reflect-cpp - replxx @@ -1164,6 +1193,7 @@ required_for_references: - roaring - robin-hood-hashing - rocksdb +- rotor - rpclib - rply - rsync @@ -1176,6 +1206,7 @@ required_for_references: - rxcpp - s2geometry - s2n +- safe - safeint - sail - samurai @@ -1208,6 +1239,7 @@ required_for_references: - serdepp - serf - serial +- sfl - sfml - shapelib - shield @@ -1217,10 +1249,12 @@ required_for_references: - simde - simdjson - simdutf +- simfil - simple-websocket-server - simple-yaml - sjson-cpp - skyr-url +- sleef - sml - snappy - snitch @@ -1351,6 +1385,7 @@ required_for_references: - transwarp - trantor - tre +- tree-gen - tree-sitter - tree-sitter-c - troldal-zippy @@ -1384,6 +1419,7 @@ required_for_references: - unqlite - upx - urdfdom +- urdfdom_headers - uriparser - usockets - usrsctp @@ -1403,6 +1439,7 @@ required_for_references: - vdpau - vectorclass - vectorial +- velodyne_decoder - veque - very-simple-smtps - vincentlaucsb-csv-parser @@ -1440,6 +1477,7 @@ required_for_references: - wildmidi - winflexbison - winmd +- winreg - wiringpi - wise_enum - wolfssl @@ -1471,6 +1509,7 @@ required_for_references: - xsimd - xtensor - xtl +- xtr - xtrans - xxhash - xxsds-sdsl-lite @@ -1494,6 +1533,7 @@ required_for_references: - zlib-ng - zmarok-semver - zmqpp +- zoe - zookeeper-client-c - zopfli - zpp_bits From 0f1b32a38de414cdbdc83e85a3d35f1ee209c9e8 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 19 Mar 2024 08:41:31 +0000 Subject: [PATCH 3945/4087] (#23154) [bot] Update authorized users list (2024-03-18) 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 ad6d2b83372d7..86ea5a6a6dbca 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1308,3 +1308,8 @@ authorized_users: - js-nano - matheusgomes28 - jsinge +- karlworks-dev +- PJBoy +- Ruwei-Liu +- msparapa +- pzheltov From d9f1b88e98e85efaf272c7ab45dc26ee1984a6c3 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 18:07:51 +0900 Subject: [PATCH 3946/4087] (#23031) watcher: add version 0.10.0 * watcher: add version 0.10.0 * link pthread --- recipes/watcher/all/conandata.yml | 3 +++ recipes/watcher/all/conanfile.py | 2 +- recipes/watcher/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index 857cc8ad36367..533a3689631b9 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.0": + url: "https://github.com/e-dant/watcher/archive/release/0.10.0.tar.gz" + sha256: "c15f088ddc41b58100921ea0b630bcbde83c9960aefecf82221da997f4d4b4ec" "0.9.5": url: "https://github.com/e-dant/watcher/archive/release/0.9.5.tar.gz" sha256: "41b74d138eec106c35a99e7544def599453a8bf4cf4887ad627e1c9e3355287c" diff --git a/recipes/watcher/all/conanfile.py b/recipes/watcher/all/conanfile.py index a860da1f34772..e70c9cb544fb1 100644 --- a/recipes/watcher/all/conanfile.py +++ b/recipes/watcher/all/conanfile.py @@ -88,6 +88,6 @@ def package_info(self): self.cpp_info.libdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.extend(["m", "pthread"]) if is_apple_os(self): self.cpp_info.frameworks = ["CoreFoundation", "CoreServices"] diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index 2b4b53a7cfb59..83559e08c8922 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.0": + folder: all "0.9.5": folder: all "0.9.2": From c552a8eb76c3e410f67c7f6ec5620770d7e2f8ad Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 19 Mar 2024 10:24:43 +0100 Subject: [PATCH 3947/4087] (#21242) opencv/4.8.1: fix access to wayland-protocols root path with 1 profile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix access to wayland-protocols root path with 1 profile * more elegant workaround for wayland-protocols and 1 profile * use self.dependencies.build for 1 profile * bump dependencies --------- Co-authored-by: Rubén Rincón Blanco --- recipes/opencv/4.x/conanfile.py | 54 ++++++++++++++++----------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 2c4952f422304..0d5396ed1027e 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -1107,29 +1107,29 @@ def requirements(self): self.requires("wayland/1.22.0") # imgcodecs module dependencies if self.options.get_safe("with_avif"): - self.requires("libavif/1.0.2") + self.requires("libavif/1.0.4") if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.1") + self.requires("libjpeg-turbo/3.0.2") elif self.options.get_safe("with_jpeg") == "mozjpeg": self.requires("mozjpeg/4.1.5") if self.options.get_safe("with_jpeg2000") == "jasper": - self.requires("jasper/4.1.0") + self.requires("jasper/4.2.0") elif self.options.get_safe("with_jpeg2000") == "openjpeg": - self.requires("openjpeg/2.5.0") + self.requires("openjpeg/2.5.2") if self.options.get_safe("with_png"): - self.requires("libpng/1.6.40") + self.requires("libpng/1.6.43") if self.options.get_safe("with_openexr"): - self.requires("openexr/3.2.1") + self.requires("openexr/3.2.3") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_webp"): self.requires("libwebp/1.3.2") if self.options.get_safe("with_gdal"): - self.requires("gdal/3.7.0") + self.requires("gdal/3.8.3") if self.options.get_safe("with_gdcm"): - self.requires("gdcm/3.0.21") + self.requires("gdcm/3.0.23") # objdetect module dependencies if self.options.get_safe("with_quirc"): self.requires("quirc/1.2") @@ -1150,10 +1150,10 @@ def requirements(self): # sfm module dependencies if self.options.sfm: self.requires("gflags/2.2.2") - self.requires("glog/0.6.0") + self.requires("glog/0.7.0") # text module dependencies if self.options.get_safe("with_tesseract"): - self.requires("tesseract/5.3.0") + self.requires("tesseract/5.3.3") def package_id(self): # deprecated options @@ -1210,7 +1210,7 @@ def build_requirements(self): if not self._is_legacy_one_profile: self.tool_requires("protobuf/") if self.options.get_safe("with_wayland"): - self.tool_requires("wayland-protocols/1.32") + self.tool_requires("wayland-protocols/1.33") if not self._is_legacy_one_profile: self.tool_requires("wayland/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): @@ -1272,22 +1272,6 @@ def _patch_sources(self): "ocv_check_modules(XKBCOMMON xkbcommon)", "ocv_check_modules(XKBCOMMON xkbcommon)\nfind_package(xkbcommon REQUIRED CONFIG)\nset(XKBCOMMON_LINK_LIBRARIES xkbcommon::libxkbcommon)", ) - # OpenCV uses pkgconfig to find wayland-protocols files, but we can't generate - # pkgconfig files of a build requirement with 1 profile, so here is a workaround - if self._is_legacy_one_profile: - replace_in_file( - self, - detect_wayland, - "ocv_check_modules(WAYLAND_PROTOCOLS wayland-protocols>=1.13)", - "set(HAVE_WAYLAND_PROTOCOLS TRUE)", - ) - pkgdatadir = os.path.join(self.dependencies["wayland-protocols"].package_folder, "res", "wayland-protocols") - replace_in_file( - self, - detect_wayland, - "pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir)", - f"set(WAYLAND_PROTOCOLS_BASE {pkgdatadir})", - ) ## Cleanup RPATH install_layout_file = os.path.join(self.source_folder, "cmake", "OpenCVInstallLayout.cmake") @@ -1547,7 +1531,21 @@ def generate(self): if self.options.get_safe("with_wayland"): deps = PkgConfigDeps(self) - if not self._is_legacy_one_profile: + if self._is_legacy_one_profile: + # Manually generate pkgconfig file of wayland-protocols since + # PkgConfigDeps.build_context_activated can't work with legacy 1 profile + wp_prefix = self.dependencies.build["wayland-protocols"].package_folder + wp_version = self.dependencies.build["wayland-protocols"].ref.version + wp_pkg_content = textwrap.dedent(f"""\ + prefix={wp_prefix} + datarootdir=${{prefix}}/res + pkgdatadir=${{datarootdir}}/wayland-protocols + Name: Wayland Protocols + Description: Wayland protocol files + Version: {wp_version} + """) + save(self, os.path.join(self.generators_folder, "wayland-protocols.pc"), wp_pkg_content) + else: deps.build_context_activated = ["wayland-protocols"] deps.generate() From 2711a394d0fe78ca384240710bc5ab04900ef280 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 18:48:14 +0900 Subject: [PATCH 3948/4087] (#23063) glaze: add version 2.3.0 * glaze: add version 2.2.2 * update 2.2.4 * update 2.3.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ea8a28e593a57..a15ae462af46d 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/stephenberry/glaze/archive/v2.3.0.tar.gz" + sha256: "9963761337941f4709458155a045ce4ab5dc5edf5e60dca8cc290200fce8330e" "2.2.1": url: "https://github.com/stephenberry/glaze/archive/v2.2.1.tar.gz" sha256: "ef0eb30a038c623ca100696e773ba1c9888719ed02c46e9fabf6238ee07026bb" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a975091df90db..de35ec863def5 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.1": folder: all "2.1.9": From 33a1c95d20e0977b4069e508b15175910c1541d8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 19:07:22 +0900 Subject: [PATCH 3949/4087] (#23103) simde: add version 0.8.0 --- recipes/simde/all/conandata.yml | 4 ++++ recipes/simde/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/simde/all/conandata.yml b/recipes/simde/all/conandata.yml index c108fd42332f1..2710ad3ab19c8 100644 --- a/recipes/simde/all/conandata.yml +++ b/recipes/simde/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "0.8.0": + # same as 0.7.6 + url: "https://github.com/simd-everywhere/simde/archive/refs/tags/v0.8.0.tar.gz" + sha256: "d7c1aef6dd9ef0fbe6f521d1ca3e79afc26deda7d8f857544ca020b42a4b9b97" "0.7.6": # A release tarball exists, but I want to use the archive tarball. # Because the release tarball has only amalgatated(with lots of duplicate lines) header files. diff --git a/recipes/simde/config.yml b/recipes/simde/config.yml index 1d3599e3efc2e..82cc9014779ef 100644 --- a/recipes/simde/config.yml +++ b/recipes/simde/config.yml @@ -1,3 +1,5 @@ versions: + "0.8.0": + folder: all "0.7.6": folder: all From ee5059b6fc22b4c6930eb5d607a1fd94be6e7cbd Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 19 Mar 2024 10:21:17 +0000 Subject: [PATCH 3950/4087] (#23033) add gettext 0.22.5 * add gettext 0.22.5 * patch to fix crossbuild * missing endline * automake 1.16.5 on Linux * fix * simply test package * patch: do not touch .m4 files * windows fixes * fix * cleanup test package --- recipes/gettext/all/conandata.yml | 12 +++- recipes/gettext/all/conanfile.py | 9 ++- .../0.22.5-0001-fix-macos-crossbuild.patch | 26 +++++++ ...emmove-is-intrinsic-function-on-MSVC.patch | 72 ------------------- recipes/gettext/all/test_package/conanfile.py | 36 +--------- .../gettext/all/test_package/src/configure.ac | 6 -- recipes/gettext/config.yml | 2 + 7 files changed, 47 insertions(+), 116 deletions(-) create mode 100644 recipes/gettext/all/patches/0.22.5-0001-fix-macos-crossbuild.patch delete mode 100644 recipes/gettext/all/patches/0002-memmove-is-intrinsic-function-on-MSVC.patch delete mode 100644 recipes/gettext/all/test_package/src/configure.ac diff --git a/recipes/gettext/all/conandata.yml b/recipes/gettext/all/conandata.yml index e03cab34f1431..54ee01473c0ca 100644 --- a/recipes/gettext/all/conandata.yml +++ b/recipes/gettext/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.22.5": + url: "https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.5.tar.gz" + sha256: "ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0" "0.21": url: "https://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.gz" sha256: "c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12" @@ -6,14 +9,19 @@ sources: url: "https://ftp.gnu.org/pub/gnu/gettext/gettext-0.20.1.tar.gz" sha256: "66415634c6e8c3fa8b71362879ec7575e27da43da562c798a8a2f223e6e47f5c" patches: + "0.22.5": + - patch_file: "patches/0004-autopoint-relocatable.patch" + patch_description: "relocatable autopoint with resources relative to script" + patch_type: "conan" + - patch_file: "patches/0.22.5-0001-fix-macos-crossbuild.patch" + patch_description: "fix ability to crossbuild on macos and assume macOS newer than 10.4" + patch_type: "conan" "0.21": - - patch_file: "patches/0002-memmove-is-intrinsic-function-on-MSVC.patch" - patch_file: "patches/0004-autopoint-relocatable.patch" patch_description: "relocatable autopoint with resources relative to script" patch_type: "conan" "0.20.1": - patch_file: "patches/0.20.1-0001-fix-build-errors-with-MSVC.patch" - - patch_file: "patches/0002-memmove-is-intrinsic-function-on-MSVC.patch" - patch_file: "patches/0.20.1-0003-Reported-by-Gabor-Z.-Papp-gzp-papp.hu.patch" - patch_file: "patches/0004-autopoint-relocatable.patch" patch_description: "relocatable autopoint with resources relative to script" diff --git a/recipes/gettext/all/conanfile.py b/recipes/gettext/all/conanfile.py index 433bf975c1087..90ff82b6775b1 100644 --- a/recipes/gettext/all/conanfile.py +++ b/recipes/gettext/all/conanfile.py @@ -50,7 +50,8 @@ def build_requirements(self): 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): + + if self.version >= Version("0.22") or is_msvc(self): self.build_requires("automake/1.16.5") def source(self): @@ -84,6 +85,12 @@ def generate(self): if check_min_vs(self, "180", raise_invalid=False): tc.extra_cflags.append("-FS") #TODO: reference github issue + # prevent redefining compiler instrinsic functions + tc.configure_args.extend([ + 'ac_cv_func_memmove=yes', + 'ac_cv_func_memset=yes' + ]) + # The flag above `--with-libiconv-prefix` fails to correctly detect libiconv on windows+msvc # so it needs an extra nudge. We could use `AutotoolsDeps` but it's currently affected by the # following outstanding issue: https://github.com/conan-io/conan/issues/12784 diff --git a/recipes/gettext/all/patches/0.22.5-0001-fix-macos-crossbuild.patch b/recipes/gettext/all/patches/0.22.5-0001-fix-macos-crossbuild.patch new file mode 100644 index 0000000000000..9deceb328f646 --- /dev/null +++ b/recipes/gettext/all/patches/0.22.5-0001-fix-macos-crossbuild.patch @@ -0,0 +1,26 @@ +diff --git a/gettext-runtime/configure b/gettext-runtime/configure +index 75c8e6f..6e4df72 100755 +--- a/gettext-runtime/configure ++++ b/gettext-runtime/configure +@@ -36149,7 +36149,7 @@ fi + haiku*) use_elf_origin_trick=yes ;; + # On Mac OS X 10.4 or newer, use Mac OS X tools. See + # . +- darwin | darwin[1-7].*) ;; ++ darwin | darwin[1-7].*) use_macos_tools=yes ;; + darwin*) use_macos_tools=yes ;; + esac + if test $is_noop = yes; then +diff --git a/gettext-tools/configure b/gettext-tools/configure +index c62f256..f3a66ed 100755 +--- a/gettext-tools/configure ++++ b/gettext-tools/configure +@@ -49566,7 +49566,7 @@ fi + haiku*) use_elf_origin_trick=yes ;; + # On Mac OS X 10.4 or newer, use Mac OS X tools. See + # . +- darwin | darwin[1-7].*) ;; ++ darwin | darwin[1-7].*) use_macos_tools=yes ;; + darwin*) use_macos_tools=yes ;; + esac + if test $is_noop = yes; then diff --git a/recipes/gettext/all/patches/0002-memmove-is-intrinsic-function-on-MSVC.patch b/recipes/gettext/all/patches/0002-memmove-is-intrinsic-function-on-MSVC.patch deleted file mode 100644 index dbbf7b795a53e..0000000000000 --- a/recipes/gettext/all/patches/0002-memmove-is-intrinsic-function-on-MSVC.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 9b2e480278d36c4d7b6f988621a3a9f699cc730f Mon Sep 17 00:00:00 2001 -From: SSE4 -Date: Wed, 10 Jul 2019 03:55:56 -0700 -Subject: [PATCH 2/2] - memmove is intrinsic function on MSVC - -Signed-off-by: SSE4 ---- - gettext-runtime/gnulib-lib/memmove.c | 4 ++++ - gettext-tools/gnulib-lib/memmove.c | 4 ++++ - gettext-tools/gnulib-lib/memset.c | 4 ++++ - 3 files changed, 12 insertions(+) - -diff --git a/gettext-runtime/gnulib-lib/memmove.c b/gettext-runtime/gnulib-lib/memmove.c -index 0f040540c..bc8883ae4 100644 ---- a/gettext-runtime/gnulib-lib/memmove.c -+++ b/gettext-runtime/gnulib-lib/memmove.c -@@ -7,6 +7,8 @@ - - #include - -+#ifndef _MSC_VER -+ - void * - memmove (void *dest0, void const *source0, size_t length) - { -@@ -24,3 +26,5 @@ memmove (void *dest0, void const *source0, size_t length) - } - return dest0; - } -+ -+#endif -diff --git a/gettext-tools/gnulib-lib/memmove.c b/gettext-tools/gnulib-lib/memmove.c -index 0f040540c..bc8883ae4 100644 ---- a/gettext-tools/gnulib-lib/memmove.c -+++ b/gettext-tools/gnulib-lib/memmove.c -@@ -7,6 +7,8 @@ - - #include - -+#ifndef _MSC_VER -+ - void * - memmove (void *dest0, void const *source0, size_t length) - { -@@ -24,3 +26,5 @@ memmove (void *dest0, void const *source0, size_t length) - } - return dest0; - } -+ -+#endif -diff --git a/gettext-tools/gnulib-lib/memset.c b/gettext-tools/gnulib-lib/memset.c -index 4e60124e7..b595fa966 100644 ---- a/gettext-tools/gnulib-lib/memset.c -+++ b/gettext-tools/gnulib-lib/memset.c -@@ -18,6 +18,8 @@ - - #include - -+#ifndef _MSC_VER -+ - void * - memset (void *str, int c, size_t len) - { -@@ -27,3 +29,5 @@ memset (void *str, int c, size_t len) - *st++ = c; - return str; - } -+ -+#endif --- -2.21.0.windows.1 - diff --git a/recipes/gettext/all/test_package/conanfile.py b/recipes/gettext/all/test_package/conanfile.py index 882b297a65cf5..38cf5d5e86a20 100644 --- a/recipes/gettext/all/test_package/conanfile.py +++ b/recipes/gettext/all/test_package/conanfile.py @@ -1,58 +1,24 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.env import Environment, VirtualRunEnv, VirtualBuildEnv -from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.env import VirtualRunEnv from conan.tools.layout import basic_layout -from conan.tools.microsoft import is_msvc class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - exports_sources = "configure.ac", test_type = "explicit" - win_bash = True - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) def requirements(self): self.requires(self.tested_reference_str) - def build_requirements(self): - self.tool_requires(self.tested_reference_str) - self.tool_requires("automake/1.16.5") - self.tool_requires("xz_utils/5.4.5") - if self._settings_build.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", check_type=str): - self.tool_requires("msys2/cci.latest") - def layout(self): basic_layout(self, src_folder="src") def generate(self): - buildenv = VirtualBuildEnv(self) - buildenv.generate() - - at = AutotoolsToolchain(self) - at.generate() - - if is_msvc(self): - env = Environment() - env.define("CC", "cl -nologo") - env.define("LD", "link -nologo") - env.vars(self).save_script("conanbuild_libsmacker_msvc") - runenv = VirtualRunEnv(self) runenv.generate() - def build(self): - - autotools = Autotools(self) - autotools.autoreconf() - autotools.configure() - - def test(self): if can_run(self): for exe in ["gettext", "ngettext", "msgcat", "msgmerge"]: diff --git a/recipes/gettext/all/test_package/src/configure.ac b/recipes/gettext/all/test_package/src/configure.ac deleted file mode 100644 index b2c4f352a64de..0000000000000 --- a/recipes/gettext/all/test_package/src/configure.ac +++ /dev/null @@ -1,6 +0,0 @@ -AC_INIT([test_package_gettext],[1.0]) -AC_PREREQ([2.69]) - -AM_GNU_GETTEXT_REQUIRE_VERSION([0.20]) -AM_GNU_GETTEXT([external], [need-ngettext]) -AM_ICONV diff --git a/recipes/gettext/config.yml b/recipes/gettext/config.yml index dc03f51a1d462..00bba3996ff90 100644 --- a/recipes/gettext/config.yml +++ b/recipes/gettext/config.yml @@ -1,4 +1,6 @@ versions: + "0.22.5": + folder: all "0.21": folder: all "0.20.1": From 3c2b13fcfac5873b91c9e1bd6418afc251a5f819 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Tue, 19 Mar 2024 11:29:24 +0100 Subject: [PATCH 3951/4087] (#23092) [cgal] add cgal/5.6.1 --- recipes/cgal/all/conandata.yml | 3 +++ recipes/cgal/all/conanfile.py | 2 +- recipes/cgal/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/cgal/all/conandata.yml b/recipes/cgal/all/conandata.yml index eda02a9fb3ec4..c9c061bf70265 100644 --- a/recipes/cgal/all/conandata.yml +++ b/recipes/cgal/all/conandata.yml @@ -17,6 +17,9 @@ sources: "5.6": sha256: dcab9b08a50a06a7cc2cc69a8a12200f8d8f391b9b8013ae476965c10b45161f url: https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6.tar.xz + "5.6.1": + sha256: cdb15e7ee31e0663589d3107a79988a37b7b1719df3d24f2058545d1bcdd5837 + url: https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1.tar.xz patches: "5.3.2": - patch_file: "patches/0001-fix-for-conan.patch" diff --git a/recipes/cgal/all/conanfile.py b/recipes/cgal/all/conanfile.py index 73115e60a2ec6..59ac6cec34475 100644 --- a/recipes/cgal/all/conanfile.py +++ b/recipes/cgal/all/conanfile.py @@ -93,7 +93,7 @@ def package(self): def _create_cmake_module_variables(self, module_file): ''' CGAL requires C++14, and specific compilers flags to enable the possibility to set FPU rounding modes. - This CMake module, from the upsream CGAL pull-request https://github.com/CGAL/cgal/pull/7512, takes + This CMake module, from the upstream CGAL pull-request https://github.com/CGAL/cgal/pull/7512, takes care of all the known compilers CGAL has ever supported. ''' content = textwrap.dedent('''\ diff --git a/recipes/cgal/config.yml b/recipes/cgal/config.yml index 3d807cdb944c7..65c6d1c183e2c 100644 --- a/recipes/cgal/config.yml +++ b/recipes/cgal/config.yml @@ -11,3 +11,5 @@ versions: folder: all "5.6": folder: all + "5.6.1": + folder: all From bc71c97258833a1e0df97183c9515e803d4e53d3 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 19:48:15 +0900 Subject: [PATCH 3952/4087] (#23104) simdjson: add version 3.8.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 ae3a0527eade5..a13784e72fcfe 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.0": + url: "https://github.com/simdjson/simdjson/archive/v3.8.0.tar.gz" + sha256: "e28e3f46f0012d405b67de6c0a75e8d8c9a612b0548cb59687822337d73ca78b" "3.7.0": url: "https://github.com/simdjson/simdjson/archive/v3.7.0.tar.gz" sha256: "27315c4861893b3e036c1f672b1c238ee86be6edb84c0824d1ed20dea5999777" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index ef93017bac7bb..76ac101fa502f 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.0": + folder: all "3.7.0": folder: all "3.6.4": From 9cac2445471124d41ccce93718871680acd76090 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 20:07:11 +0900 Subject: [PATCH 3953/4087] (#23105) ssp: add version 1.8.0 --- recipes/ssp/all/conandata.yml | 3 +++ recipes/ssp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ssp/all/conandata.yml b/recipes/ssp/all/conandata.yml index 4382623935239..220fd55612197 100644 --- a/recipes/ssp/all/conandata.yml +++ b/recipes/ssp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/red0124/ssp/archive/refs/tags/v1.8.0.tar.gz" + sha256: "a4416746023c8a60f6808200193dd207f1044b6e37e6c5bc0462e85452307d1d" "1.7.2": url: "https://github.com/red0124/ssp/archive/refs/tags/v1.7.2.tar.gz" sha256: "700e05d304fe10f05331d0a963757257632dddc1f9442b826a85efa545c64772" diff --git a/recipes/ssp/config.yml b/recipes/ssp/config.yml index 98bae30aec835..e1c88426892a4 100644 --- a/recipes/ssp/config.yml +++ b/recipes/ssp/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.7.2": folder: all "1.6.2": From f45396d7398e284be4b4317db8c83e16f805c4db Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 20:27:04 +0900 Subject: [PATCH 3954/4087] (#23106) wasmtime: add version 18.0.3 --- recipes/wasmtime/all/conandata.yml | 30 ++++++++++++++++++++++++++++++ recipes/wasmtime/config.yml | 2 ++ 2 files changed, 32 insertions(+) diff --git a/recipes/wasmtime/all/conandata.yml b/recipes/wasmtime/all/conandata.yml index 59585bd0e0f08..033b48ec7ab2e 100644 --- a/recipes/wasmtime/all/conandata.yml +++ b/recipes/wasmtime/all/conandata.yml @@ -1,4 +1,34 @@ sources: + "18.0.3": + Windows: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-x86_64-windows-c-api.zip" + sha256: "d23c633e73424304bc926b028a3fb9bed2709bc872414729e356ae66e55eb705" + MinGW: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-x86_64-mingw-c-api.zip" + sha256: "d4b74cf84862c1a3bb29a7a11f6785ed1307628a3f3e9a2b850df19f0c4da659" + Linux: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-x86_64-linux-c-api.tar.xz" + sha256: "c5c67a16386c1b2efc875246cb8c75f45faa806a16979c985842d3ba91502b34" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-aarch64-linux-c-api.tar.xz" + sha256: "c7c790b6e5e3f998f588f2aacda6b39daf4aa59b68e58578a477579312ca0756" + "s390x": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-s390x-linux-c-api.tar.xz" + sha256: "196ec417bd07fe2559381c922434c9908087bd238ed0811b0b81a6a860ff0145" + Macos: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-x86_64-macos-c-api.tar.xz" + sha256: "48a8969fda0abaee08ce17acd1413f21cc1112b2b5de1af00baa647a32d3951f" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-aarch64-macos-c-api.tar.xz" + sha256: "f6faa6ae319d43c7f54892c10742be18aa7cca5ba72fd470a0926f64d0745050" + Android: + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v18.0.3/wasmtime-v18.0.3-aarch64-linux-c-api.tar.xz" + sha256: "c7c790b6e5e3f998f588f2aacda6b39daf4aa59b68e58578a477579312ca0756" "16.0.0": Windows: "x86_64": diff --git a/recipes/wasmtime/config.yml b/recipes/wasmtime/config.yml index 53f9ed2965380..e2a5b299e7fea 100644 --- a/recipes/wasmtime/config.yml +++ b/recipes/wasmtime/config.yml @@ -1,4 +1,6 @@ versions: + "18.0.3": + folder: all "16.0.0": folder: all "12.0.2": From 89f98cee683a1c372aa418a0b914f8c4bc2630cd Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Tue, 19 Mar 2024 07:47:04 -0400 Subject: [PATCH 3955/4087] (#23108) xz_utils: skip building tests --- recipes/xz_utils/cmake/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/xz_utils/cmake/conanfile.py b/recipes/xz_utils/cmake/conanfile.py index 641cb1d252d68..29d660487cdf7 100644 --- a/recipes/xz_utils/cmake/conanfile.py +++ b/recipes/xz_utils/cmake/conanfile.py @@ -57,6 +57,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False tc.generate() def build(self): From 06e03b93a21552263fede4cedb3565fc362369e0 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 21:10:38 +0900 Subject: [PATCH 3956/4087] (#23116) unity: add version 2.6.0 --- recipes/unity/all/conandata.yml | 3 +++ recipes/unity/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unity/all/conandata.yml b/recipes/unity/all/conandata.yml index a3d7facb1dfbb..99c6f0d9d4bf6 100644 --- a/recipes/unity/all/conandata.yml +++ b/recipes/unity/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.0": + url: "https://github.com/ThrowTheSwitch/Unity/archive/refs/tags/v2.6.0.tar.gz" + sha256: "aa4c9fb1ae5fc5242f914c65f3557e817e40cb37f04a31e5ff76d1ab89dbf674" "2.5.2": url: "https://github.com/ThrowTheSwitch/Unity/archive/refs/tags/v2.5.2.tar.gz" sha256: "3786de6c8f389be3894feae4f7d8680a02e70ed4dbcce36109c8f8646da2671a" diff --git a/recipes/unity/config.yml b/recipes/unity/config.yml index 2ac88b6313aec..a6bd532e688f8 100644 --- a/recipes/unity/config.yml +++ b/recipes/unity/config.yml @@ -1,3 +1,5 @@ versions: + "2.6.0": + folder: all "2.5.2": folder: all From 21852721929bb7ebcf987d54a786721385a769b8 Mon Sep 17 00:00:00 2001 From: matheusgomes28 Date: Tue, 19 Mar 2024 12:28:11 +0000 Subject: [PATCH 3957/4087] (#23100) Fix gettext for clang>=16 * Apply noreturn attribute patch * Fix yml schema warning * Update conandata.yml Add patch source * More fixes --------- Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> --- recipes/gettext/all/conandata.yml | 4 + ...-clang-16-noreturn-attribute-warning.patch | 78 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 recipes/gettext/all/patches/0.21-clang-16-noreturn-attribute-warning.patch diff --git a/recipes/gettext/all/conandata.yml b/recipes/gettext/all/conandata.yml index 54ee01473c0ca..71a50d966129d 100644 --- a/recipes/gettext/all/conandata.yml +++ b/recipes/gettext/all/conandata.yml @@ -20,6 +20,10 @@ patches: - patch_file: "patches/0004-autopoint-relocatable.patch" patch_description: "relocatable autopoint with resources relative to script" patch_type: "conan" + - patch_file: "patches/0.21-clang-16-noreturn-attribute-warning.patch" + patch_description: "apply the __atribute_noreturn__ to print_and_abort" + patch_source: "https://github.com/coreutils/gnulib/commit/0cc39712803ade7b2d4b89c36b143dad72404063" + patch_type: "conan" "0.20.1": - patch_file: "patches/0.20.1-0001-fix-build-errors-with-MSVC.patch" - patch_file: "patches/0.20.1-0003-Reported-by-Gabor-Z.-Papp-gzp-papp.hu.patch" diff --git a/recipes/gettext/all/patches/0.21-clang-16-noreturn-attribute-warning.patch b/recipes/gettext/all/patches/0.21-clang-16-noreturn-attribute-warning.patch new file mode 100644 index 0000000000000..59ee5067e98dd --- /dev/null +++ b/recipes/gettext/all/patches/0.21-clang-16-noreturn-attribute-warning.patch @@ -0,0 +1,78 @@ +diff --git a/gettext-tools/gnulib-lib/obstack.c b/gettext-tools/gnulib-lib/obstack.c +index a6757b8..7d4439f 100644 +--- a/gettext-tools/gnulib-lib/obstack.c ++++ b/gettext-tools/gnulib-lib/obstack.c +@@ -326,7 +326,7 @@ int obstack_exit_failure = EXIT_FAILURE; + # include + # endif + +-static _Noreturn void ++static __attribute_noreturn__ void + print_and_abort (void) + { + /* Don't change any of these strings. Yes, it would be possible to add +diff --git a/gettext-tools/gnulib-lib/obstack.h b/gettext-tools/gnulib-lib/obstack.h +index cb59627..e0494a1 100644 +--- a/gettext-tools/gnulib-lib/obstack.h ++++ b/gettext-tools/gnulib-lib/obstack.h +@@ -153,7 +153,7 @@ + + /* Not the same as _Noreturn, since it also works with function pointers. */ + #ifndef __attribute_noreturn__ +-# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ || 0x5110 <= __SUNPRO_C + # define __attribute_noreturn__ __attribute__ ((__noreturn__)) + # else + # define __attribute_noreturn__ +diff --git a/gettext-tools/libgettextpo/obstack.c b/gettext-tools/libgettextpo/obstack.c +index a6757b8..7d4439f 100644 +--- a/gettext-tools/libgettextpo/obstack.c ++++ b/gettext-tools/libgettextpo/obstack.c +@@ -326,7 +326,7 @@ int obstack_exit_failure = EXIT_FAILURE; + # include + # endif + +-static _Noreturn void ++static __attribute_noreturn__ void + print_and_abort (void) + { + /* Don't change any of these strings. Yes, it would be possible to add +diff --git a/gettext-tools/libgettextpo/obstack.h b/gettext-tools/libgettextpo/obstack.h +index cb59627..e0494a1 100644 +--- a/gettext-tools/libgettextpo/obstack.h ++++ b/gettext-tools/libgettextpo/obstack.h +@@ -153,7 +153,7 @@ + + /* Not the same as _Noreturn, since it also works with function pointers. */ + #ifndef __attribute_noreturn__ +-# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ || 0x5110 <= __SUNPRO_C + # define __attribute_noreturn__ __attribute__ ((__noreturn__)) + # else + # define __attribute_noreturn__ +diff --git a/libtextstyle/lib/obstack.c b/libtextstyle/lib/obstack.c +index a6757b8..7d4439f 100644 +--- a/libtextstyle/lib/obstack.c ++++ b/libtextstyle/lib/obstack.c +@@ -326,7 +326,7 @@ int obstack_exit_failure = EXIT_FAILURE; + # include + # endif + +-static _Noreturn void ++static __attribute_noreturn__ void + print_and_abort (void) + { + /* Don't change any of these strings. Yes, it would be possible to add +diff --git a/libtextstyle/lib/obstack.h b/libtextstyle/lib/obstack.h +index cb59627..e0494a1 100644 +--- a/libtextstyle/lib/obstack.h ++++ b/libtextstyle/lib/obstack.h +@@ -153,7 +153,7 @@ + + /* Not the same as _Noreturn, since it also works with function pointers. */ + #ifndef __attribute_noreturn__ +-# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ || 0x5110 <= __SUNPRO_C + # define __attribute_noreturn__ __attribute__ ((__noreturn__)) + # else + # define __attribute_noreturn__ From 0b2cd0d15787a40df8f6402fce5331a5e1f63767 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Mar 2024 22:07:52 +0900 Subject: [PATCH 3958/4087] (#23167) quilll: add version 3.7.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 b6e754cda2c2e..289ea10c9c0f4 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.0": + url: "https://github.com/odygrd/quill/archive/v3.7.0.tar.gz" + sha256: "53afe555c32b4263c9d31ec11bd0d858983374af7a5e79eb26124f803b192515" "3.6.0": url: "https://github.com/odygrd/quill/archive/v3.6.0.tar.gz" sha256: "ba9dc3df262f2e65c57904580cc8407eba9a462001340c17bab7ae1dccddb4bd" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 3aa843c1a29c6..b27bda5fe6f9a 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.0": + folder: "all" "3.6.0": folder: "all" "3.5.1": From ac9eaf1ca456f3d399581e47b343976bdb6b61fa Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 14:27:44 +0100 Subject: [PATCH 3959/4087] (#23139) fltk: use libpng version range --- recipes/fltk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 31462b1c91873..bd7f4d5b1b6f2 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -68,7 +68,7 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") self.requires("libjpeg/9e") - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.settings.os in ["Linux", "FreeBSD"]: if self.options.with_gl: self.requires("opengl/system") From 43563b8d72986bf48cc9a9463ecd1ec417338b6f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 19 Mar 2024 14:48:27 +0100 Subject: [PATCH 3960/4087] (#23155) qt5: remove unused patch cleanup after fca4d560031841226037939a34c95c3660ba7afb --- recipes/qt/5.x.x/patches/337f28c9ab.patch | 40 ----------------------- 1 file changed, 40 deletions(-) delete mode 100644 recipes/qt/5.x.x/patches/337f28c9ab.patch diff --git a/recipes/qt/5.x.x/patches/337f28c9ab.patch b/recipes/qt/5.x.x/patches/337f28c9ab.patch deleted file mode 100644 index 6784be15b8cfe..0000000000000 --- a/recipes/qt/5.x.x/patches/337f28c9ab.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 337f28c9abb12f28538cfe2f49e5afc460578b32 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= -Date: Tue, 5 Jul 2022 15:38:33 +0200 -Subject: Darwin: Replace deprecated symbol kIOMasterPortDefault with - equivalent - -We can't use the replacement kIOMainPortDefault yet, as it's not -available in operating system versions we still support, but the -kIOMasterPortDefault documentation explicitly says that passing -NULL as a port argument indicates "use the default". - -As the underlying type of a mach_port_t is potentially either -a pointer or an unsigned int, we initialize the default to 0. - -Pick-to: 6.2 6.3 6.4 5.15 -Change-Id: I288aa94b8f2fbda47fd1cbaf329799db7ab988a0 -Reviewed-by: Alexandru Croitor ---- - src/corelib/global/qglobal.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -(limited to 'src/corelib/global/qglobal.cpp') - -diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp -index 738e39658f..c894471ad6 100644 ---- a/src/corelib/global/qglobal.cpp -+++ b/src/corelib/global/qglobal.cpp -@@ -3067,7 +3067,8 @@ QByteArray QSysInfo::machineUniqueId() - { - #if defined(Q_OS_DARWIN) && __has_include() - char uuid[UuidStringLen + 1]; -- io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")); -+ static const mach_port_t defaultPort = 0; // Effectively kIOMasterPortDefault/kIOMainPortDefault -+ io_service_t service = IOServiceGetMatchingService(defaultPort, IOServiceMatching("IOPlatformExpertDevice")); - QCFString stringRef = (CFStringRef)IORegistryEntryCreateCFProperty(service, CFSTR(kIOPlatformUUIDKey), kCFAllocatorDefault, 0); - CFStringGetCString(stringRef, uuid, sizeof(uuid), kCFStringEncodingMacRoman); - return QByteArray(uuid); --- -cgit v1.2.1 - From 91f536f978a9b1a7bdc7937410fbba85147372ad Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 15:08:35 +0100 Subject: [PATCH 3961/4087] (#23140) dlib: use libpng version range --- recipes/dlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index 0bfd41e940b0f..a026fc21e83a6 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -92,7 +92,7 @@ def requirements(self): if self.options.with_jpeg: self.requires("libjpeg/9e") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.get_safe("with_webp"): self.requires("libwebp/1.3.2") if self.options.with_sqlite3: From df53eeb2cb3a1499f561c6fb3ee50e17822e6c47 Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Tue, 19 Mar 2024 09:29:14 -0500 Subject: [PATCH 3962/4087] (#23101) fast-dds: add version 2.13.3 * Add v2.13.2 and update requirements * Use older fast-cdr for versions < 2.12.0. Consistent with https://github.com/eProsima/Fast-DDS/blob/v2.11.3/fastrtps.repos * Refactor test to handle different code generation versions * Bump minimum gcc version to 10 * Add gettid patch that addresses https://github.com/eProsima/Fast-DDS/issues/4225 * Tweak version variable * Cleanup * Left config.yml out * Make fast-cdr options consistent with fast-dds * Use v2.13.3 --- recipes/fast-dds/all/conandata.yml | 29 +-- recipes/fast-dds/all/conanfile.py | 13 +- ...13.3-0001-fix-find-asio-and-tinyxml2.patch | 31 +++ ...02-add-gettid-macro-for-glibc-compat.patch | 31 +++ .../fast-dds/all/test_package/CMakeLists.txt | 18 +- .../all/test_package/msg2/HelloWorld.cxx | 165 +++++++++++++ .../all/test_package/msg2/HelloWorld.h | 189 +++++++++++++++ .../all/test_package/msg2/HelloWorld.idl | 5 + .../test_package/msg2/HelloWorldCdrAux.hpp | 48 ++++ .../test_package/msg2/HelloWorldCdrAux.ipp | 128 ++++++++++ .../msg2/HelloWorldPubSubTypes.cxx | 221 ++++++++++++++++++ .../test_package/msg2/HelloWorldPubSubTypes.h | 132 +++++++++++ .../all/test_package/test_package.cpp | 6 +- recipes/fast-dds/config.yml | 8 +- 14 files changed, 987 insertions(+), 37 deletions(-) create mode 100644 recipes/fast-dds/all/patches/2.13.3-0001-fix-find-asio-and-tinyxml2.patch create mode 100644 recipes/fast-dds/all/patches/2.13.3-0002-add-gettid-macro-for-glibc-compat.patch create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorld.cxx create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorld.h create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorld.idl create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.hpp create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.ipp create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.cxx create mode 100644 recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.h diff --git a/recipes/fast-dds/all/conandata.yml b/recipes/fast-dds/all/conandata.yml index ab4d2d857dbe4..38fe2366959a0 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -1,28 +1,25 @@ sources: + "2.13.3": + url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.13.3.tar.gz" + sha256: "0f33596a8a48b5da4c43a964f2dc70127c6449defd5698944dddbdfb16d2b268" "2.11.2": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.11.2.tar.gz" sha256: "711f5d7afc6a31a908ab204f8b67045d5e7cab7b4052614b595b37c774f357fd" - "2.11.1": - url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.11.1.tar.gz" - sha256: "3fe8b9f67a13a5d2aa40c0bd10581bd90f0a192b39c71f92ee233ffe584d3374" "2.10.1": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.10.1.tar.gz" sha256: "2cc2682db5dc7e87684b7f23166e2f32faf8d5c4b4a8c94c6c21211a8a38f553" "2.3.4": url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.4.tar.gz" sha256: "b1b2322de0ca55a16495666e3fbda8aca32b888bbfaecda29f2ffc4b072ef7ac" - "2.3.3": - url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.3.tar.gz" - sha256: "5ebf27d810c6ab68eef7d42937cd421d85e50509ae96883239979a1b3a2f4f82" - "2.3.2": - url: "https://github.com/eProsima/Fast-DDS/archive/refs/tags/v2.3.2.tar.gz" - sha256: "4d8183cf4d37c3de9e6fd28d2850dd08023a9079001c4880b23c95f0d8c0b5ce" patches: - "2.11.2": - - patch_file: "patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch" + "2.13.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.11.1": + - patch_file: "patches/2.13.3-0002-add-gettid-macro-for-glibc-compat.patch" + patch_type: "conan" + patch_description: "Add gettid macro for glibc compat. See: eProsima/Fast-DDS#4565" + "2.11.2": - patch_file: "patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch" patch_type: "conan" patch_description: "Fixup find asio and tinyxml2" @@ -34,11 +31,3 @@ patches: - patch_file: "patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch" patch_type: "conan" patch_description: "Fixup find asio and tinyxml2" - "2.3.3": - - patch_file: "patches/2.3.X-0001-fix-find-asio-and-tinyxml2.patch" - patch_type: "conan" - patch_description: "Fixup find asio and tinyxml2" - "2.3.2": - - patch_file: "patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch" - patch_type: "conan" - patch_description: "Fixup find asio and tinyxml2" diff --git a/recipes/fast-dds/all/conanfile.py b/recipes/fast-dds/all/conanfile.py index e8ad7b42a13f0..624cba722a1e1 100644 --- a/recipes/fast-dds/all/conanfile.py +++ b/recipes/fast-dds/all/conanfile.py @@ -50,7 +50,7 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "5", + "gcc": "10", "clang": "3.9", "apple-clang": "8", } @@ -63,6 +63,7 @@ def config_options(self): del self.options.fPIC def configure(self): + self.options["fast-cdr"].shared = self.options.shared if self.options.shared: self.options.rm_safe("fPIC") @@ -70,9 +71,13 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("tinyxml2/9.0.0") - self.requires("asio/1.28.0") # This is now a package_type = header - self.requires("fast-cdr/1.0.27", transitive_headers=True, transitive_libs=True) + self.requires("tinyxml2/10.0.0") + self.requires("asio/1.29.0") # This is now a package_type = header + # Fast-DDS < 2.12 uses Fast-CDR 1.x + if Version(self.version) < "2.12.0": + self.requires("fast-cdr/1.1.0", transitive_headers=True, transitive_libs=True) + else: + self.requires("fast-cdr/2.1.0", transitive_headers=True, transitive_libs=True) self.requires("foonathan-memory/0.7.3") if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") diff --git a/recipes/fast-dds/all/patches/2.13.3-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.13.3-0001-fix-find-asio-and-tinyxml2.patch new file mode 100644 index 0000000000000..414ee059e1b42 --- /dev/null +++ b/recipes/fast-dds/all/patches/2.13.3-0001-fix-find-asio-and-tinyxml2.patch @@ -0,0 +1,31 @@ +From 7d4f8a198ce34570c3c5b678f74240a8c5b9eae8 Mon Sep 17 00:00:00 2001 +From: Wade Hunkapiller +Date: Mon, 18 Mar 2024 15:57:02 -0500 +Subject: [PATCH] fix find asio and tinyxml2 + +--- + CMakeLists.txt | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ccb97a1b..ac6630c44 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -234,9 +234,11 @@ if(NOT BUILD_SHARED_LIBS) + set(FASTDDS_STATIC ON) + endif() + +-eprosima_find_package(fastcdr REQUIRED) +-eprosima_find_thirdparty(Asio asio VERSION 1.10.8) +-eprosima_find_thirdparty(TinyXML2 tinyxml2) ++eprosima_find_thirdparty(fastcdr REQUIRED) ++eprosima_find_thirdparty(asio REQUIRED) ++eprosima_find_thirdparty(tinyxml2 REQUIRED) ++set(TINYXML2_LIBRARY tinyxml2::tinyxml2) ++set(Asio_INCLUDE_DIR ${asio_INCLUDE_DIR}) + + find_package(foonathan_memory REQUIRED) + message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") +-- +2.39.3 + diff --git a/recipes/fast-dds/all/patches/2.13.3-0002-add-gettid-macro-for-glibc-compat.patch b/recipes/fast-dds/all/patches/2.13.3-0002-add-gettid-macro-for-glibc-compat.patch new file mode 100644 index 0000000000000..da528c2501e0d --- /dev/null +++ b/recipes/fast-dds/all/patches/2.13.3-0002-add-gettid-macro-for-glibc-compat.patch @@ -0,0 +1,31 @@ +From 12de52b7074f653cf9a1d1fed8f9f83a4030319d Mon Sep 17 00:00:00 2001 +From: WADE HUNKAPILLER +Date: Fri, 15 Mar 2024 10:45:45 -0500 +Subject: [PATCH] add gettid macro for glibc compat + +--- + src/cpp/utils/threading/threading_pthread.ipp | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/cpp/utils/threading/threading_pthread.ipp b/src/cpp/utils/threading/threading_pthread.ipp +index 75ad33f2d..252f60c77 100644 +--- a/src/cpp/utils/threading/threading_pthread.ipp ++++ b/src/cpp/utils/threading/threading_pthread.ipp +@@ -25,6 +25,14 @@ + #include + #include + ++#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ <= 30))) ++ #include ++ #ifndef SYS_gettid ++ #error "SYS_gettid unavailable on this system" ++ #endif ++ #define gettid() ((pid_t)syscall(SYS_gettid)) ++#endif ++ + namespace eprosima { + + template +-- +2.39.3 + diff --git a/recipes/fast-dds/all/test_package/CMakeLists.txt b/recipes/fast-dds/all/test_package/CMakeLists.txt index d158385cb30f9..fbfb035dfe0a2 100644 --- a/recipes/fast-dds/all/test_package/CMakeLists.txt +++ b/recipes/fast-dds/all/test_package/CMakeLists.txt @@ -3,11 +3,21 @@ project(test_package CXX) find_package(fastdds REQUIRED CONFIG) -add_executable(${PROJECT_NAME} - test_package.cpp +add_executable(${PROJECT_NAME} test_package.cpp) + +if ("${fastdds_VERSION}" VERSION_LESS "2.12.0") + target_sources(${PROJECT_NAME} PRIVATE msg/HelloWorld.cxx - msg/HelloWorldPubSubTypes.cxx -) + msg/HelloWorldPubSubTypes.cxx) + target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/msg) +else() + target_sources(${PROJECT_NAME} PRIVATE + msg2/HelloWorld.cxx + msg2/HelloWorldPubSubTypes.cxx) + target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/msg2) +endif() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) target_link_libraries(${PROJECT_NAME} fastrtps) diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorld.cxx b/recipes/fast-dds/all/test_package/msg2/HelloWorld.cxx new file mode 100644 index 0000000000000..ef9331d5d9e6d --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorld.cxx @@ -0,0 +1,165 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// 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. + +/*! + * @file HelloWorld.cpp + * This source file contains the implementation of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +#ifdef _WIN32 +// Remove linker warning LNK4221 on Visual Studio +namespace { +char dummy; +} // namespace +#endif // _WIN32 + +#include "HelloWorld.h" + +#include + + +#include +using namespace eprosima::fastcdr::exception; + +#include + + + + +HelloWorld::HelloWorld() +{ +} + +HelloWorld::~HelloWorld() +{ +} + +HelloWorld::HelloWorld( + const HelloWorld& x) +{ + m_index = x.m_index; + m_message = x.m_message; +} + +HelloWorld::HelloWorld( + HelloWorld&& x) noexcept +{ + m_index = x.m_index; + m_message = std::move(x.m_message); +} + +HelloWorld& HelloWorld::operator =( + const HelloWorld& x) +{ + + m_index = x.m_index; + m_message = x.m_message; + return *this; +} + +HelloWorld& HelloWorld::operator =( + HelloWorld&& x) noexcept +{ + + m_index = x.m_index; + m_message = std::move(x.m_message); + return *this; +} + +bool HelloWorld::operator ==( + const HelloWorld& x) const +{ + return (m_index == x.m_index && + m_message == x.m_message); +} + +bool HelloWorld::operator !=( + const HelloWorld& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member index + * @param _index New value for member index + */ +void HelloWorld::index( + uint32_t _index) +{ + m_index = _index; +} + +/*! + * @brief This function returns the value of member index + * @return Value of member index + */ +uint32_t HelloWorld::index() const +{ + return m_index; +} + +/*! + * @brief This function returns a reference to member index + * @return Reference to member index + */ +uint32_t& HelloWorld::index() +{ + return m_index; +} + + +/*! + * @brief This function copies the value in member message + * @param _message New value to be copied in member message + */ +void HelloWorld::message( + const std::string& _message) +{ + m_message = _message; +} + +/*! + * @brief This function moves the value in member message + * @param _message New value to be moved in member message + */ +void HelloWorld::message( + std::string&& _message) +{ + m_message = std::move(_message); +} + +/*! + * @brief This function returns a constant reference to member message + * @return Constant reference to member message + */ +const std::string& HelloWorld::message() const +{ + return m_message; +} + +/*! + * @brief This function returns a reference to member message + * @return Reference to member message + */ +std::string& HelloWorld::message() +{ + return m_message; +} + + +// Include auxiliary functions like for serializing/deserializing. +#include "HelloWorldCdrAux.ipp" + diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorld.h b/recipes/fast-dds/all/test_package/msg2/HelloWorld.h new file mode 100644 index 0000000000000..b95bcb5b146dd --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorld.h @@ -0,0 +1,189 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// 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. + +/*! + * @file HelloWorld.h + * This header file contains the declaration of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_HELLOWORLD_H_ +#define _FAST_DDS_GENERATED_HELLOWORLD_H_ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + + +#if defined(_WIN32) +#if defined(EPROSIMA_USER_DLL_EXPORT) +#define eProsima_user_DllExport __declspec( dllexport ) +#else +#define eProsima_user_DllExport +#endif // EPROSIMA_USER_DLL_EXPORT +#else +#define eProsima_user_DllExport +#endif // _WIN32 + +#if defined(_WIN32) +#if defined(EPROSIMA_USER_DLL_EXPORT) +#if defined(HELLOWORLD_SOURCE) +#define HELLOWORLD_DllAPI __declspec( dllexport ) +#else +#define HELLOWORLD_DllAPI __declspec( dllimport ) +#endif // HELLOWORLD_SOURCE +#else +#define HELLOWORLD_DllAPI +#endif // EPROSIMA_USER_DLL_EXPORT +#else +#define HELLOWORLD_DllAPI +#endif // _WIN32 + +namespace eprosima { +namespace fastcdr { +class Cdr; +class CdrSizeCalculator; +} // namespace fastcdr +} // namespace eprosima + + + + + +/*! + * @brief This class represents the structure HelloWorld defined by the user in the IDL file. + * @ingroup HelloWorld + */ +class HelloWorld +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport HelloWorld(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~HelloWorld(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object HelloWorld that will be copied. + */ + eProsima_user_DllExport HelloWorld( + const HelloWorld& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object HelloWorld that will be copied. + */ + eProsima_user_DllExport HelloWorld( + HelloWorld&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object HelloWorld that will be copied. + */ + eProsima_user_DllExport HelloWorld& operator =( + const HelloWorld& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object HelloWorld that will be copied. + */ + eProsima_user_DllExport HelloWorld& operator =( + HelloWorld&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x HelloWorld object to compare. + */ + eProsima_user_DllExport bool operator ==( + const HelloWorld& x) const; + + /*! + * @brief Comparison operator. + * @param x HelloWorld object to compare. + */ + eProsima_user_DllExport bool operator !=( + const HelloWorld& x) const; + + /*! + * @brief This function sets a value in member index + * @param _index New value for member index + */ + eProsima_user_DllExport void index( + uint32_t _index); + + /*! + * @brief This function returns the value of member index + * @return Value of member index + */ + eProsima_user_DllExport uint32_t index() const; + + /*! + * @brief This function returns a reference to member index + * @return Reference to member index + */ + eProsima_user_DllExport uint32_t& index(); + + + /*! + * @brief This function copies the value in member message + * @param _message New value to be copied in member message + */ + eProsima_user_DllExport void message( + const std::string& _message); + + /*! + * @brief This function moves the value in member message + * @param _message New value to be moved in member message + */ + eProsima_user_DllExport void message( + std::string&& _message); + + /*! + * @brief This function returns a constant reference to member message + * @return Constant reference to member message + */ + eProsima_user_DllExport const std::string& message() const; + + /*! + * @brief This function returns a reference to member message + * @return Reference to member message + */ + eProsima_user_DllExport std::string& message(); + +private: + + uint32_t m_index{0}; + std::string m_message; + +}; + +#endif // _FAST_DDS_GENERATED_HELLOWORLD_H_ + + + diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorld.idl b/recipes/fast-dds/all/test_package/msg2/HelloWorld.idl new file mode 100644 index 0000000000000..0fd2c355aeefa --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorld.idl @@ -0,0 +1,5 @@ +struct HelloWorld +{ + unsigned long index; + string message; +}; diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.hpp b/recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.hpp new file mode 100644 index 0000000000000..9f346d306beca --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.hpp @@ -0,0 +1,48 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// 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. + +/*! + * @file HelloWorldCdrAux.hpp + * This source file contains some definitions of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_HELLOWORLDCDRAUX_HPP_ +#define _FAST_DDS_GENERATED_HELLOWORLDCDRAUX_HPP_ + +#include "HelloWorld.h" + +constexpr uint32_t HelloWorld_max_cdr_typesize {268UL}; +constexpr uint32_t HelloWorld_max_key_cdr_typesize {0UL}; + + +namespace eprosima { +namespace fastcdr { + +class Cdr; +class CdrSizeCalculator; + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const HelloWorld& data); + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_HELLOWORLDCDRAUX_HPP_ + diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.ipp b/recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.ipp new file mode 100644 index 0000000000000..42e91f3cc384a --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorldCdrAux.ipp @@ -0,0 +1,128 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// 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. + +/*! + * @file HelloWorldCdrAux.ipp + * This source file contains some declarations of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_HELLOWORLDCDRAUX_IPP_ +#define _FAST_DDS_GENERATED_HELLOWORLDCDRAUX_IPP_ + +#include "HelloWorldCdrAux.hpp" + +#include +#include + + +#include +using namespace eprosima::fastcdr::exception; + +namespace eprosima { +namespace fastcdr { + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const HelloWorld& data, + size_t& current_alignment) +{ + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.index(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.message(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const HelloWorld& data) +{ + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.index() + << eprosima::fastcdr::MemberId(1) << data.message() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + HelloWorld& data) +{ + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.index(); + break; + + case 1: + dcdr >> data.message(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const HelloWorld& data) +{ + static_cast(scdr); + static_cast(data); +} + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_HELLOWORLDCDRAUX_IPP_ + diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.cxx b/recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.cxx new file mode 100644 index 0000000000000..85cb477896e60 --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.cxx @@ -0,0 +1,221 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// 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. + +/*! + * @file HelloWorldPubSubTypes.cpp + * This header file contains the implementation of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + + +#include + +#include "HelloWorldPubSubTypes.h" +#include "HelloWorldCdrAux.hpp" + +using SerializedPayload_t = eprosima::fastrtps::rtps::SerializedPayload_t; +using InstanceHandle_t = eprosima::fastrtps::rtps::InstanceHandle_t; +using DataRepresentationId_t = eprosima::fastdds::dds::DataRepresentationId_t; + + + +HelloWorldPubSubType::HelloWorldPubSubType() +{ + setName("HelloWorld"); + uint32_t type_size = +#if FASTCDR_VERSION_MAJOR == 1 + static_cast(HelloWorld::getMaxCdrSerializedSize()); +#else + HelloWorld_max_cdr_typesize; +#endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = HelloWorld_max_key_cdr_typesize > 16 ? HelloWorld_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); +} + +HelloWorldPubSubType::~HelloWorldPubSubType() +{ + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } +} + +bool HelloWorldPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) +{ + HelloWorld* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 : eprosima::fastcdr::CdrVersion::XCDRv2); + payload->encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; +#if FASTCDR_VERSION_MAJOR > 1 + ser.set_encoding_flag( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2); +#endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length +#if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); +#else + payload->length = static_cast(ser.get_serialized_data_length()); +#endif // FASTCDR_VERSION_MAJOR == 1 + return true; +} + +bool HelloWorldPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) +{ + try + { + // Convert DATA to pointer of your type + HelloWorld* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + eprosima::fastcdr::Cdr deser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN +#if FASTCDR_VERSION_MAJOR == 1 + , eprosima::fastcdr::Cdr::CdrType::DDS_CDR +#endif // FASTCDR_VERSION_MAJOR == 1 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; +} + +std::function HelloWorldPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) +{ + return [data, data_representation]() -> uint32_t + { +#if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; +#else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } +#endif // FASTCDR_VERSION_MAJOR == 1 + }; +} + +void* HelloWorldPubSubType::createData() +{ + return reinterpret_cast(new HelloWorld()); +} + +void HelloWorldPubSubType::deleteData( + void* data) +{ + delete(reinterpret_cast(data)); +} + +bool HelloWorldPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) +{ + if (!m_isGetKeyDefined) + { + return false; + } + + HelloWorld* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + HelloWorld_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); +#if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); +#else + eprosima::fastcdr::serialize_key(ser, *p_type); +#endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || HelloWorld_max_key_cdr_typesize > 16) + { + m_md5.init(); +#if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); +#else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); +#endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; +} + diff --git a/recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.h b/recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.h new file mode 100644 index 0000000000000..cb61cd6ba2335 --- /dev/null +++ b/recipes/fast-dds/all/test_package/msg2/HelloWorldPubSubTypes.h @@ -0,0 +1,132 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// 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. + +/*! + * @file HelloWorldPubSubTypes.h + * This header file contains the declaration of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + + +#ifndef _FAST_DDS_GENERATED_HELLOWORLD_PUBSUBTYPES_H_ +#define _FAST_DDS_GENERATED_HELLOWORLD_PUBSUBTYPES_H_ + +#include +#include +#include +#include +#include + +#include "HelloWorld.h" + + +#if !defined(GEN_API_VER) || (GEN_API_VER != 2) +#error \ + Generated HelloWorld is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen. +#endif // GEN_API_VER + + + + +/*! + * @brief This class represents the TopicDataType of the type HelloWorld defined by the user in the IDL file. + * @ingroup HelloWorld + */ +class HelloWorldPubSubType : public eprosima::fastdds::dds::TopicDataType +{ +public: + + typedef HelloWorld type; + + eProsima_user_DllExport HelloWorldPubSubType(); + + eProsima_user_DllExport ~HelloWorldPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + +#ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return false; + } + +#endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + +#ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + +#endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + +#ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + +#endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + +}; + +#endif // _FAST_DDS_GENERATED_HELLOWORLD_PUBSUBTYPES_H_ + diff --git a/recipes/fast-dds/all/test_package/test_package.cpp b/recipes/fast-dds/all/test_package/test_package.cpp index 89ac973375f14..f183dbe4586b0 100644 --- a/recipes/fast-dds/all/test_package/test_package.cpp +++ b/recipes/fast-dds/all/test_package/test_package.cpp @@ -5,12 +5,12 @@ #include #include -#include "msg/HelloWorld.h" -#include "msg/HelloWorldPubSubTypes.h" +#include "HelloWorld.h" +#include "HelloWorldPubSubTypes.h" int main() { - // Define msg to send + // Define msg to send HelloWorld hello; hello.index(0); hello.message("HelloWorld"); diff --git a/recipes/fast-dds/config.yml b/recipes/fast-dds/config.yml index 1a933c21ca9ca..7b157442d779f 100644 --- a/recipes/fast-dds/config.yml +++ b/recipes/fast-dds/config.yml @@ -1,13 +1,9 @@ versions: - "2.11.2": + "2.13.3": folder: all - "2.11.1": + "2.11.2": folder: all "2.10.1": folder: all "2.3.4": folder: all - "2.3.3": - folder: all - "2.3.2": - folder: all From 3328030438bd56634802d0517414cf97227e9b78 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 15:50:11 +0100 Subject: [PATCH 3963/4087] (#23141) imagl: use libpng version range --- recipes/imagl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/imagl/all/conanfile.py b/recipes/imagl/all/conanfile.py index e756a56a2d548..485f56d442ad3 100644 --- a/recipes/imagl/all/conanfile.py +++ b/recipes/imagl/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): def requirements(self): if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self._supports_jpeg and self.options.with_jpeg: self.requires("libjpeg/9e") From 5d2702f320094f6745b55a00c9ec08d7a628f487 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 16:08:16 +0100 Subject: [PATCH 3964/4087] (#23142) guetzli: use libpng version range --- recipes/guetzli/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/guetzli/all/conanfile.py b/recipes/guetzli/all/conanfile.py index 55d0965a2f54b..1ca0fe9e70fdd 100644 --- a/recipes/guetzli/all/conanfile.py +++ b/recipes/guetzli/all/conanfile.py @@ -25,7 +25,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") def package_id(self): del self.info.settings.compiler From d80f708e98f5820a29d2ecfc76c8927399356001 Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Tue, 19 Mar 2024 16:28:10 +0100 Subject: [PATCH 3965/4087] (#23019) Add yoga version 3.0.2 * Add yoga version 3.0.0 * yoga 3 needs a c++20 header * Deactivate warnings as errors * v3 required C++20 * Require more recent compilers due to std::bit_cast * Update from yoga 3.0.0 to yoga 3.0.2 --- recipes/yoga/all/conandata.yml | 7 +++++++ recipes/yoga/all/conanfile.py | 21 ++++++++++++------- .../yoga/all/patches/0001-delete-tests.patch | 5 +---- recipes/yoga/config.yml | 2 ++ 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/recipes/yoga/all/conandata.yml b/recipes/yoga/all/conandata.yml index 17011be7f593d..4491f60c4cea8 100644 --- a/recipes/yoga/all/conandata.yml +++ b/recipes/yoga/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.2": + url: "https://github.com/facebook/yoga/archive/refs/tags/v3.0.2.tar.gz" + sha256: "73a81c51d9ceb5b95cd3abcafeb4c840041801d59f5048dacce91fbaab0cc6f9" "2.0.1": url: "https://github.com/facebook/yoga/archive/refs/tags/v2.0.1.tar.gz" sha256: "4c80663b557027cdaa6a836cc087d735bb149b8ff27cbe8442fc5e09cec5ed92" @@ -6,6 +9,10 @@ sources: url: "https://github.com/facebook/yoga/archive/refs/tags/v2.0.0.tar.gz" sha256: "29eaf05191dd857f76b6db97c77cce66db3c0067c88bd5e052909386ea66b8c5" patches: + "3.0.2": + - patch_file: "patches/0001-delete-tests.patch" + patch_description: "Delete test targets from cmake" + patch_type: "conan" "2.0.1": - patch_file: "patches/0001-delete-tests.patch" patch_description: "Delete test targets from cmake" diff --git a/recipes/yoga/all/conanfile.py b/recipes/yoga/all/conanfile.py index e8249b9860f59..f2a7303076d24 100644 --- a/recipes/yoga/all/conanfile.py +++ b/recipes/yoga/all/conanfile.py @@ -26,15 +26,22 @@ class YogaConan(ConanFile): @property def _min_cppstd(self): - return 14 + return 20 if Version(self.version) >= "3.0.0" else 14 @property def _compilers_minimum_version(self): - return { - "gcc": "5", - "clang": "3.4", - "apple-clang": "10", - } + if Version(self.version) >= "3.0.0": + return { # C++20 with bit_cast + "gcc": "11", + "clang": "14", + "apple-clang": "14" + } + else: + return { + "gcc": "5", + "clang": "3.4", + "apple-clang": "10", + } def export_sources(self): export_conandata_patches(self) @@ -49,7 +56,7 @@ def layout(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 191) + check_min_vs(self, 192 if Version(self.version) >= "3.0.0" else 191) if not is_msvc(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: diff --git a/recipes/yoga/all/patches/0001-delete-tests.patch b/recipes/yoga/all/patches/0001-delete-tests.patch index d3a76211634ca..bae612fca66b5 100644 --- a/recipes/yoga/all/patches/0001-delete-tests.patch +++ b/recipes/yoga/all/patches/0001-delete-tests.patch @@ -2,11 +2,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index f4ce73cc..9f414127 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -10,7 +10,6 @@ set(CMAKE_VERBOSE_MAKEFILE on) +@@ -10,4 +10,3 @@ set(CMAKE_VERBOSE_MAKEFILE on) include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/project-defaults.cmake) add_subdirectory(yoga) -add_subdirectory(tests) - - # cmake install config - include(GNUInstallDirs) diff --git a/recipes/yoga/config.yml b/recipes/yoga/config.yml index 184166496d26e..c6a903df77248 100644 --- a/recipes/yoga/config.yml +++ b/recipes/yoga/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.2": + folder: all "2.0.1": folder: all "2.0.0": From d43ed39b4bd7e41a589f3e44b090d2bea6c4548f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 16:48:19 +0100 Subject: [PATCH 3966/4087] (#23144) cimg: use libpng version range --- recipes/cimg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cimg/all/conanfile.py b/recipes/cimg/all/conanfile.py index b626bca664ae6..fa4663a48bbd0 100644 --- a/recipes/cimg/all/conanfile.py +++ b/recipes/cimg/all/conanfile.py @@ -70,7 +70,7 @@ def requirements(self): if self.options.enable_openexr: self.requires("openexr/3.2.1") if self.options.enable_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.enable_tiff: self.requires("libtiff/4.6.0") if self.options.enable_ffmpeg: From 767bb0282c657345b91afea1d4853380ed9ab3db Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 19 Mar 2024 11:07:47 -0500 Subject: [PATCH 3967/4087] (#23111) pulseaudio/17.0: Add missing tool requirement for m4 --- recipes/pulseaudio/meson/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/pulseaudio/meson/conanfile.py b/recipes/pulseaudio/meson/conanfile.py index a9700e8c612e3..470080481b438 100644 --- a/recipes/pulseaudio/meson/conanfile.py +++ b/recipes/pulseaudio/meson/conanfile.py @@ -76,9 +76,10 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.3.1") + self.tool_requires("m4/1.4.19") + 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) From 71ae930b1100ccb886911e8333d79350aaba2e01 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 17:27:50 +0100 Subject: [PATCH 3968/4087] (#23120) sail: use version range for libpng --- recipes/sail/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index 85a8cadc9a916..7651e9b295a4e 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -58,7 +58,7 @@ def requirements(self): if self.options.with_highest_priority_codecs: self.requires("giflib/5.2.1") self.requires("libjpeg/9e") - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") self.requires("libtiff/4.6.0") if self.options.with_high_priority_codecs: if Version(self.version) >= "0.9.1": From ebea754efa941d7d8fda3a70c3994fb6a2dc4f72 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 17:47:49 +0100 Subject: [PATCH 3969/4087] (#23128) pcl: use libpng version range --- recipes/pcl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index 662a6430c2633..2b324ce7e9270 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -367,7 +367,7 @@ def requirements(self): if self._is_enabled("flann"): self.requires("flann/1.9.2", transitive_headers=True) if self._is_enabled("png"): - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self._is_enabled("qhull"): self.requires("qhull/8.0.1", transitive_headers=True) if self._is_enabled("qt"): From fc88753fea140dc87f85618d7b0253dfa3856f89 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 18:11:16 +0100 Subject: [PATCH 3970/4087] (#23133) libgd: use libpng version range --- recipes/libgd/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 3c72e55bd83d5..0c18187731da2 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -57,7 +57,7 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if is_msvc(self): self.requires("getopt-for-visual-studio/20200201") if self.options.with_jpeg: From 9696912ff84dc03ffebd7fd4699921b29c521b6b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 18:28:20 +0100 Subject: [PATCH 3971/4087] (#23146) butteraugli: use libpng version range --- recipes/butteraugli/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/butteraugli/all/conanfile.py b/recipes/butteraugli/all/conanfile.py index 35cd9c65cf914..113630ce7e2ab 100644 --- a/recipes/butteraugli/all/conanfile.py +++ b/recipes/butteraugli/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): def requirements(self): if self.options.tool: - self.requires("libpng/1.6.39") + self.requires("libpng/[>=1.6 <2]") self.requires("libjpeg/9e") def validate(self): From 56d3295f54bd3f44b7161e577999a9a9118c2e85 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Mar 2024 02:48:43 +0900 Subject: [PATCH 3972/4087] (#23159) dnet: add version 1.18.0 --- recipes/dnet/all/conandata.yml | 3 +++ recipes/dnet/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dnet/all/conandata.yml b/recipes/dnet/all/conandata.yml index 6e95e35e1a154..f4b4a52916d3d 100644 --- a/recipes/dnet/all/conandata.yml +++ b/recipes/dnet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.18.0": + url: "https://github.com/ofalk/libdnet/archive/refs/tags/libdnet-1.18.0.tar.gz" + sha256: "a4a82275c7d83b85b1daac6ebac9461352731922161f1dcdcccd46c318f583c9" "1.17.0": url: "https://github.com/ofalk/libdnet/archive/refs/tags/libdnet-1.17.0.tar.gz" sha256: "6be1ed0763151ede4c9665a403f1c9d974b2ffab2eacdb26b22078e461aae1dc" diff --git a/recipes/dnet/config.yml b/recipes/dnet/config.yml index aad66aeff535b..a8840ca57e8bd 100644 --- a/recipes/dnet/config.yml +++ b/recipes/dnet/config.yml @@ -1,3 +1,5 @@ versions: + "1.18.0": + folder: "all" "1.17.0": folder: "all" From 69a28a49ffca8a7330a5456f3faa9ed1200e9d2c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 19:08:27 +0100 Subject: [PATCH 3973/4087] (#23123) pngpp: use libpng version range --- recipes/pngpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pngpp/all/conanfile.py b/recipes/pngpp/all/conanfile.py index 57559867af002..105bf9fe8f655 100644 --- a/recipes/pngpp/all/conanfile.py +++ b/recipes/pngpp/all/conanfile.py @@ -22,7 +22,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") def package_id(self): self.info.clear() From dc53bb656a53459c8f32bb6756096ab80d2eaaa4 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 19:27:40 +0100 Subject: [PATCH 3974/4087] (#23124) exiv2: use version range for libpng --- recipes/exiv2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 8957750b23fe0..84f13196b12f9 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -73,7 +73,7 @@ def layout(self): def requirements(self): self.requires("libiconv/1.17") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_xmp == "bundled": self.requires("expat/2.5.0") From 06e1d8ae5eef01e5071cc395d1ebc3358c98c20e Mon Sep 17 00:00:00 2001 From: Samuel Beer <52746180+MartyMcFlyInTheSky@users.noreply.github.com> Date: Tue, 19 Mar 2024 19:50:17 +0100 Subject: [PATCH 3975/4087] (#23038) added libfork * added libfork * update recipe to 3.7.2 Signed-off-by: Uilian Ries * update min compiler required Signed-off-by: Uilian Ries * update min compiler required Signed-off-by: Uilian Ries * update min compiler required Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libfork/all/conandata.yml | 4 + recipes/libfork/all/conanfile.py | 74 +++++++++++++++++++ .../libfork/all/test_package/CMakeLists.txt | 8 ++ recipes/libfork/all/test_package/conanfile.py | 27 +++++++ .../libfork/all/test_package/test_package.cpp | 24 ++++++ recipes/libfork/config.yml | 3 + 6 files changed, 140 insertions(+) create mode 100644 recipes/libfork/all/conandata.yml create mode 100644 recipes/libfork/all/conanfile.py create mode 100644 recipes/libfork/all/test_package/CMakeLists.txt create mode 100644 recipes/libfork/all/test_package/conanfile.py create mode 100644 recipes/libfork/all/test_package/test_package.cpp create mode 100644 recipes/libfork/config.yml diff --git a/recipes/libfork/all/conandata.yml b/recipes/libfork/all/conandata.yml new file mode 100644 index 0000000000000..29f8392061e5d --- /dev/null +++ b/recipes/libfork/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.7.2": + url: "https://github.com/conorwilliams/libfork/archive/v3.7.2.tar.gz" + sha256: "0c4fbb7a6000c0a93b219b385d9834bd07bc5f19d89aa41ba8e27b5723694b15" diff --git a/recipes/libfork/all/conanfile.py b/recipes/libfork/all/conanfile.py new file mode 100644 index 0000000000000..003c113741bce --- /dev/null +++ b/recipes/libfork/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "libfork" + description = "A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library." + license = "MPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ConorWilliams/libfork" + topics = ("multithreading", + "fork-join", + "parallelism", + "framework", + "continuation-stealing", + "lockfree", + "wait-free", + "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): + # https://en.cppreference.com/w/cpp/utility/source_location requires new compilers + return { + "apple-clang": "15", + "clang": "15", + "gcc": "11", + "msvc": "192.10", + "Visual Studio": "16.10", + } + + 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.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/libfork/all/test_package/CMakeLists.txt b/recipes/libfork/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..23f7d6ffa9876 --- /dev/null +++ b/recipes/libfork/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(libfork REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libfork::libfork) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/libfork/all/test_package/conanfile.py b/recipes/libfork/all/test_package/conanfile.py new file mode 100644 index 0000000000000..502059e940b33 --- /dev/null +++ b/recipes/libfork/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class LibforkPackageTestConan(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): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/libfork/all/test_package/test_package.cpp b/recipes/libfork/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..70ecda89a8887 --- /dev/null +++ b/recipes/libfork/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#include +#include + +#include "libfork.hpp" + +namespace { + constexpr auto hello_async_world = [](auto /* self */) -> lf::task { + std::cout << "Hello, async world!" << std::endl; + co_return 0; + }; +} + +auto main() -> int { + try { + return lf::sync_wait(lf::lazy_pool{}, hello_async_world); + } catch (std::exception const &e) { + std::cerr << "Caught exception: " << e.what() << std::endl; + return EXIT_FAILURE; + } catch (...) { + std::cerr << "Caught unknown exception." << std::endl; + return EXIT_FAILURE; + } + return EXIT_SUCCESS; +} diff --git a/recipes/libfork/config.yml b/recipes/libfork/config.yml new file mode 100644 index 0000000000000..a47dcb81bcc23 --- /dev/null +++ b/recipes/libfork/config.yml @@ -0,0 +1,3 @@ +versions: + "3.7.2": + folder: all From 0bbb7a4758e9c513e4f9df25db9bcc281d5a475c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 20:07:40 +0100 Subject: [PATCH 3976/4087] (#23127) pdf-writer: use libpng version range --- recipes/pdf-writer/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pdf-writer/all/conanfile.py b/recipes/pdf-writer/all/conanfile.py index 976af4f35f825..a535f209e9a7b 100644 --- a/recipes/pdf-writer/all/conanfile.py +++ b/recipes/pdf-writer/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): if self.options.with_png: self.requires("libjpeg/9e") if self.options.with_jpeg: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_tiff: self.requires("libtiff/4.6.0") From 2f7516caa6c021e1923a613f117c10bedcbb06aa Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 19 Mar 2024 20:27:36 +0100 Subject: [PATCH 3977/4087] (#23132) libharu: use libpng version range --- recipes/libharu/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libharu/all/conanfile.py b/recipes/libharu/all/conanfile.py index c35f205e346da..172d75e65c04a 100644 --- a/recipes/libharu/all/conanfile.py +++ b/recipes/libharu/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) From 5c9531d33e9cde95bdd8da160b352ebefc1d8ddc Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Mar 2024 04:48:19 +0900 Subject: [PATCH 3978/4087] (#23160) fast_float: add version 6.1.1 --- 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 3a81a600d3f70..a35ee1375a199 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.1": + url: "https://github.com/fastfloat/fast_float/archive/v6.1.1.tar.gz" + sha256: "10159a4a58ba95fe9389c3c97fe7de9a543622aa0dcc12dd9356d755e9a94cb4" "6.1.0": url: "https://github.com/fastfloat/fast_float/archive/v6.1.0.tar.gz" sha256: "5a629e1f18f037ad0016c41ead630ea471cccbcdf60239ed3466c491d8e7c908" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 94d0f58561b88..dbe55c83d4f49 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.1": + folder: all "6.1.0": folder: all "6.0.0": From 9b8dfef092f8418c760dea909775d9fdadb034a0 Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Tue, 19 Mar 2024 15:09:11 -0500 Subject: [PATCH 3979/4087] (#23162) fast-cdr: Add version 2.2.0 --- recipes/fast-cdr/all/conandata.yml | 18 +++--------------- recipes/fast-cdr/config.yml | 12 ++---------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index 021355947389f..f1fb4fa51912e 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/eProsima/Fast-CDR/archive/v2.2.0.tar.gz" + sha256: "8a75ee3aed59f495e95208050920d2c2146df92f073809505a3bd29011c21f20" "2.1.0": url: "https://github.com/eProsima/Fast-CDR/archive/v2.1.0.tar.gz" sha256: "7ee3b3e977381f76f8d9ab1e1df7b5202556505b104afb3f03ee79bbe6507aa0" @@ -11,21 +14,6 @@ sources: "1.0.27": url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.27.tar.gz" sha256: "a9bc8fd31a2c2b95e6d2fb46e6ce1ad733e86dc4442f733479e33ed9cdc54bf6" - "1.0.26": - url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.26.tar.gz" - sha256: "812b29dd9fa8b79395dea3f4b810f9ab9e820fa4f0a666338c279b739a36595d" - "1.0.24": - url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.24.tar.gz" - sha256: "ecd688ab89ff1c03b9031c314891ae60995e2e73d919b93569eb840d6e87dec2" - "1.0.23": - url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.23.tar.gz" - sha256: "6f7c9c6c0c82c150b5ea2b0a58d5c9a466b87a1fcfca40d5786d99d4963a6721" - "1.0.22": - url: "https://github.com/eProsima/Fast-CDR/archive/v1.0.22.tar.gz" - sha256: "7ca7f09c633963622431bdb216eeb4145e378f81a2ce5113e341b9eee55e4f44" - "1.0.21": - url: "https://github.com/eProsima/Fast-CDR/archive/refs/tags/v1.0.21.tar.gz" - sha256: "C1F32BDD76910ADA00D551EB8828DE7561AD2B2846D063CB4316F9262C03C77D" patches: "2.0.0": - patch_file: "patches/2.0.0-0001-Fix-for-non-CWG-1270-revision-compliant-compilers-17.patch" diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index 9cc6db5bd0315..c6c63a5158e6b 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: all "2.1.0": folder: all "2.0.0": @@ -7,13 +9,3 @@ versions: folder: all "1.0.27": folder: all - "1.0.26": - folder: all - "1.0.24": - folder: all - "1.0.23": - folder: all - "1.0.22": - folder: all - "1.0.21": - folder: all From f115c5765e43ca1c41bd6204b9c72cfc41dea31b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Mar 2024 05:28:19 +0900 Subject: [PATCH 3980/4087] (#23169) simdutf: add version 5.0.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 810965b8af5c2..043f57d573076 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0.0": + url: "https://github.com/simdutf/simdutf/archive/v5.0.0.tar.gz" + sha256: "088d750466bf3487117cce7f828eb94a0a3474d7e76b45d4902c99a2387212b7" "4.0.9": url: "https://github.com/simdutf/simdutf/archive/v4.0.9.tar.gz" sha256: "599E6558FC8D06F8346E5F210564F8B18751C93D83BCE1A40A0E6A326C57B61E" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 150d39023d095..1753ee45a4882 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.0": + folder: all "4.0.9": folder: all "4.0.5": From afd3df26009bc6c6ad2eca85e8f6a93a70ac26b4 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 20 Mar 2024 12:21:44 +0100 Subject: [PATCH 3981/4087] (#23183) [changelog] Deployment March 20, 2023 Signed-off-by: Uilian Ries --- docs/changelog.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 8179d56b57c90..2e9e9d20de17f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,9 +1,14 @@ # Changelog -### 13-Mar-2024 - 11:08 CET +### 20-March-2024 - 11:13 CET -- [feature]: Build with both */*:shared=True/False option when package type is declared as ``shared-library``. -- [fix]: Fix ValidateInfra python version check to be aligned with the latest Jenkins version. +- [fix] Changing Version Ranges in dependencies is now bump dependencies +- [fix] Static library package type should be built with both all static and all shared dependencies + +### 13-March-2024 - 11:08 CET + +- [feature] Build with both */*:shared=True/False option when package type is declared as ``shared-library``. +- [fix] Fix ValidateInfra python version check to be aligned with the latest Jenkins version. ### 07-February-2024 - 15:43 CET From a09dbad48511db1ff91a7026e9ee55e40cf9b97e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Mar 2024 21:09:38 +0900 Subject: [PATCH 3982/4087] (#23177) meson: add version 1.4.0 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 775660b3d07c2..f567bf8d56087 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/mesonbuild/meson/archive/1.4.0.tar.gz" + sha256: "61382f295378bddcd9bebb3a9a9065b1cbc671fa41b80964ab02726f9a5f3a88" "1.3.2": url: "https://github.com/mesonbuild/meson/archive/1.3.2.tar.gz" sha256: "683082fb3c5cddf203b21d29bdf4c227e2f7964da5324a15e1a5f7db94322b4b" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 0e150ef5dedd6..2b56413242adf 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.2": folder: all "1.3.1": From 33f6f284a9bc599cd1f692877f26f939b6e64dee Mon Sep 17 00:00:00 2001 From: Vyacheslav Koscheev Date: Wed, 20 Mar 2024 19:48:07 +0700 Subject: [PATCH 3983/4087] (#22936) android-ndk: add r26c --- 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 788c3990884da..0a73cd9fc973b 100644 --- a/recipes/android-ndk/all/conandata.yml +++ b/recipes/android-ndk/all/conandata.yml @@ -1,4 +1,17 @@ sources: + "r26c": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26c-windows.zip" + sha256: "67d0c7e4ba853e9168584e8640a562af431dcf086c08efef3ec23ee827139303" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26c-linux.zip" + sha256: "6d6e659834d28bb24ba7ae66148ad05115ebbad7dabed1af9b3265674774fcf6" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r26c-darwin.zip" + sha256: "312756dfcbdbf389d35d651e17ca98683bd36cb83cc7bf7ad51cac5c06bd064b" "r26b": "Windows": "x86_64": diff --git a/recipes/android-ndk/config.yml b/recipes/android-ndk/config.yml index a7fa8c97dd42c..2f8b2364c9c1c 100644 --- a/recipes/android-ndk/config.yml +++ b/recipes/android-ndk/config.yml @@ -1,4 +1,6 @@ versions: + "r26c": + folder: all "r26b": folder: all "r26": From 04da1bd79ea20cb712a7950b762f59ee988a3105 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 20 Mar 2024 14:07:39 +0100 Subject: [PATCH 3984/4087] (#23182) fast-dds: remove dangling patch 2.3.2-0001-fix-find-asio-and-tinyxml2.patch is not used sinc https://github.com/conan-io/conan-center-index/commit/df53eeb2cb3a1499f561c6fb3ee50e17822e6c47 also, 2.11.1-0001-fix-find-asio-and-tinyxml2.patch is identical to 2.10.1-0001-fix-find-asio-and-tinyxml2.patch --- recipes/fast-dds/all/conandata.yml | 2 +- ...11.1-0001-fix-find-asio-and-tinyxml2.patch | 31 ------------- ....3.2-0001-fix-find-asio-and-tinyxml2.patch | 46 ------------------- 3 files changed, 1 insertion(+), 78 deletions(-) delete mode 100644 recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch delete mode 100644 recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch diff --git a/recipes/fast-dds/all/conandata.yml b/recipes/fast-dds/all/conandata.yml index 38fe2366959a0..02a8d037bcc07 100644 --- a/recipes/fast-dds/all/conandata.yml +++ b/recipes/fast-dds/all/conandata.yml @@ -20,7 +20,7 @@ patches: patch_type: "conan" patch_description: "Add gettid macro for glibc compat. See: eProsima/Fast-DDS#4565" "2.11.2": - - patch_file: "patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch" + - patch_file: "patches/2.10.1-0001-fix-find-asio-and-tinyxml2.patch" patch_type: "conan" patch_description: "Fixup find asio and tinyxml2" "2.10.1": diff --git a/recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch deleted file mode 100644 index bada751126e81..0000000000000 --- a/recipes/fast-dds/all/patches/2.11.1-0001-fix-find-asio-and-tinyxml2.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b8c533b0fb2b92e9bd2aada5e195d7a0b3c0c6a9 Mon Sep 17 00:00:00 2001 -From: Joakim Haugen -Date: Wed, 10 May 2023 13:17:11 +0200 -Subject: [PATCH] fix find asio and tinyxml2 - ---- - CMakeLists.txt | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b01b2c470..7867feff3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -232,9 +232,11 @@ if(NOT BUILD_SHARED_LIBS) - set(FASTDDS_STATIC ON) - endif() - --eprosima_find_package(fastcdr REQUIRED) --eprosima_find_thirdparty(Asio asio VERSION 1.10.8) --eprosima_find_thirdparty(TinyXML2 tinyxml2) -+eprosima_find_thirdparty(fastcdr REQUIRED) -+eprosima_find_thirdparty(asio REQUIRED) -+eprosima_find_thirdparty(tinyxml2 REQUIRED) -+set(TINYXML2_LIBRARY tinyxml2::tinyxml2) -+set(Asio_INCLUDE_DIR ${asio_INCLUDE_DIR}) - - find_package(foonathan_memory REQUIRED) - message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") --- -2.30.2 - diff --git a/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch b/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch deleted file mode 100644 index 5d4d5bc2037bb..0000000000000 --- a/recipes/fast-dds/all/patches/2.3.2-0001-fix-find-asio-and-tinyxml2.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8a9cb0209..400c681e7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -225,8 +225,8 @@ if(NOT BUILD_SHARED_LIBS) - endif() - - eprosima_find_package(fastcdr REQUIRED) --eprosima_find_thirdparty(Asio asio VERSION 1.10.8) --eprosima_find_thirdparty(TinyXML2 tinyxml2) -+eprosima_find_thirdparty(asio REQUIRED) -+eprosima_find_thirdparty(tinyxml2 REQUIRED) - - find_package(foonathan_memory REQUIRED) - message(STATUS "Found foonathan_memory: ${foonathan_memory_DIR}") -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index 04d313bf2..efd1f9f7a 100644 ---- a/src/cpp/CMakeLists.txt -+++ b/src/cpp/CMakeLists.txt -@@ -434,7 +434,7 @@ elseif(NOT EPROSIMA_INSTALLER) - $ - $ - PRIVATE -- ${Asio_INCLUDE_DIR} -+ ${asio_INCLUDE_DIR} - ${TINYXML2_INCLUDE_DIR} - $<$:${ANDROID_IFADDRS_INCLUDE_DIR}> - ${THIRDPARTY_BOOST_INCLUDE_DIR} -@@ -455,7 +455,7 @@ elseif(NOT EPROSIMA_INSTALLER) - # Link library to external libraries. - target_link_libraries(${PROJECT_NAME} ${PRIVACY} fastcdr foonathan_memory - ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} -- ${TINYXML2_LIBRARY} -+ tinyxml2::tinyxml2 - $<$:OpenSSL::SSL$OpenSSL::Crypto> - $<$:iphlpapi$Shlwapi> - ${THIRDPARTY_BOOST_LINK_LIBS} -@@ -536,7 +536,7 @@ if(UNIX AND EPROSIMA_INSTALLER) - COMPONENT headers - ) - -- set_public_headers_directory(${Asio_INCLUDE_DIR} "" -+ set_public_headers_directory(${asio_INCLUDE_DIR} "" - DESTINATION thirdparty/asio - COMPONENT headers - ) From 6ce2c8fa1d3fd83d237611db242b26b83d4cedbd Mon Sep 17 00:00:00 2001 From: Roberto Turrado Camblor Date: Wed, 20 Mar 2024 16:28:19 +0100 Subject: [PATCH 3985/4087] (#23174) Add tree-gen 1.0.7. * Add tree-gen 1.0.7. * Update sha256. I have updated tree-gen, and made the 1.0.7 tag point to the latest commit. * Update sha256. I have updated tree-gen a second time. And again made the 1.0.7 tag point to the latest commit. * Update sha256. I have updated tree-gen a third time. And again made the 1.0.7 tag point to the latest commit. --- recipes/tree-gen/all/conandata.yml | 3 +++ recipes/tree-gen/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tree-gen/all/conandata.yml b/recipes/tree-gen/all/conandata.yml index 21ee5b5699adc..71aa893da1723 100644 --- a/recipes/tree-gen/all/conandata.yml +++ b/recipes/tree-gen/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.7": + url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.7.tar.gz" + sha256: "bd27c88d789efe1d187846d3b819fbaa1ba3a520d6d4181d1216c4a2e73e4e85" "1.0.6": url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.6.tar.gz" sha256: "a7f6617830b3817b21cddc0f4442a04c10fbb89a19cabb1bbd0e8facb040cba8" diff --git a/recipes/tree-gen/config.yml b/recipes/tree-gen/config.yml index c8c4465c97415..4028d61266d40 100644 --- a/recipes/tree-gen/config.yml +++ b/recipes/tree-gen/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.7": + folder: all "1.0.6": folder: all From 77b212c4564d1b36f826e1e43461ee97ec28f516 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Mar 2024 06:47:57 +0900 Subject: [PATCH 3986/4087] (#23176) tsl-robin-map: add version 1.2.2 --- recipes/tsl-robin-map/all/conandata.yml | 3 +++ recipes/tsl-robin-map/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tsl-robin-map/all/conandata.yml b/recipes/tsl-robin-map/all/conandata.yml index 89211be8fec7b..0898c1e12fe8b 100644 --- a/recipes/tsl-robin-map/all/conandata.yml +++ b/recipes/tsl-robin-map/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.2": + url: "https://github.com/Tessil/robin-map/archive/v1.2.2.tar.gz" + sha256: "c72767ecea2a90074c7efbe91620c8f955af666505e22782e82813c652710821" "1.2.1": url: "https://github.com/Tessil/robin-map/archive/v1.2.1.tar.gz" sha256: "2b54d2c1de2f73bea5c51d5dcbd64813a08caf1bfddcfdeee40ab74e9599e8e3" diff --git a/recipes/tsl-robin-map/config.yml b/recipes/tsl-robin-map/config.yml index 7a3b316dace84..cd852f361a5d2 100644 --- a/recipes/tsl-robin-map/config.yml +++ b/recipes/tsl-robin-map/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.2": + folder: all "1.2.1": folder: all "1.0.1": From 2c9f25c4af3f21f1d65ada7392410b77d538963f Mon Sep 17 00:00:00 2001 From: Alejandro Ramallo Date: Thu, 21 Mar 2024 04:05:40 -0400 Subject: [PATCH 3987/4087] (#22076) openjdk fix JAVA_HOME environment variable --- recipes/openjdk/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/openjdk/all/conanfile.py b/recipes/openjdk/all/conanfile.py index becd2ce7c641c..9da58ed44e05f 100644 --- a/recipes/openjdk/all/conanfile.py +++ b/recipes/openjdk/all/conanfile.py @@ -67,8 +67,8 @@ def package(self): def package_info(self): self.output.info(f"Creating JAVA_HOME environment variable with : {self.package_folder}") - self.runenv_info.append("JAVA_HOME", self.package_folder) - self.buildenv_info.append("JAVA_HOME", self.package_folder) + self.runenv_info.define_path("JAVA_HOME", self.package_folder) + self.buildenv_info.define_path("JAVA_HOME", self.package_folder) # TODO: remove `env_info` once the recipe is only compatible with Conan >= 2.0 self.env_info.JAVA_HOME = self.package_folder From de54cbb614a55377da272031c837676159121035 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Mar 2024 18:48:03 +0900 Subject: [PATCH 3988/4087] (#23190) glaze: add version 2.3.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 a15ae462af46d..a4694a9ba80d2 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.1": + url: "https://github.com/stephenberry/glaze/archive/v2.3.1.tar.gz" + sha256: "941bf3f8cea5b6a024895d37dceaaaa82071a9178af63e9935a1d9fd80caa451" "2.3.0": url: "https://github.com/stephenberry/glaze/archive/v2.3.0.tar.gz" sha256: "9963761337941f4709458155a045ce4ab5dc5edf5e60dca8cc290200fce8330e" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index de35ec863def5..808f5a655fa9c 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.1": + folder: all "2.3.0": folder: all "2.2.1": From d07444d08cb102d61bedfeb04f8a61371777cf0f Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Mar 2024 19:48:11 +0900 Subject: [PATCH 3989/4087] (#23187) roaring: add version 3.0.0 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index edc3ffb72f6d6..afaf790313c5a 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v3.0.0.tar.gz" + sha256: "25183bc54ab650d964256d547869a34573a13d06f7e6a369b79e77f5c1feb8ba" "2.1.2": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.2.tar.gz" sha256: "a53d2f540f78ddae31e30c573b1b7fd41d7257d6a090507ba35d9c398712e5ad" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index cc4a150b9e961..6437564275dee 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: all "2.1.2": folder: all "2.1.1": From e78f2d5937309b5ac478dbe247b68893289dbcdb Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Thu, 21 Mar 2024 07:45:26 -0400 Subject: [PATCH 3990/4087] (#21387) CPython: Conan 2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wip * cpython: migrate to Conan v2 * cpython: fix autotools install step * cpython: fix libuuid requirement * cpython: update test_package * cpython: temporarily disable FindPythonX tests * cpython: package_type should be "library" * cpython: tidy * cpython: ncurses is required transitively * cpython: fix shared test * cpython: use cpp_info.aggregated_components() for deps * cpython: bsddb has been remove in Python 3 * cpython: fix openssl support * Fix package layout * Fix new generators in test package * Misc fixes * Remove redundant test * Add FIXMEs * Fix running test package multiple times in a row * Handle conan 1/2 differences in test_package * Fix MSBuild * Misc Conan 2.0 fixes * cpython: minor tweaks, bump deps * cpython: use altinstall Fixed modules standard library modules not being found in test_package. * Comment out versions with broken patches for now * Fix Autotools build * Restore old versions, temp remove 2.7.18 * Temp remove CPython 2.7.18 * Temp remove 2.7.18 * Misc MSVC fixes * Fix Windows/static build * Readd old test_package as test_v1_package * Add conanrun env to test package self.runs * Fix Linux shared build * Shared by default, don't delete compiler in package ID * Misc Mac fixes/cleanup * libxcrypt is transitive * Static by default for now * Attempt to fix 3.7 on Mac * Remove ssl module FIXME * self.settings.arch * Try using vendored libffi for mac on <3.9 * Fix PYTHONHOME on Linux, always set PYTHONHOME for test * Try vendored libffi on mac in debug mode * Remove "dynamic" check * Remove force on versions * Use Version() when comparing versions * Use a virtualrunenv in build, revert ffi changes * Bandaid fix for Linux * Use virtualrunenvs in v1 test package also * Skip 3.7 build on M1 macs * Set platform toolset directly on <3.8 * Fix issue with pip installed cmake * Python 2 compat in test_package.py * Re-add Python 2.7 + workarounds for MSVC * Misc pre-3.8 msvc fixes * Fix python 2 on Linux * Add 2.7.18 to config.yml * Remove includedirs for all components other than the main one * Use msvc_runtime_flag * Misc MSVC fixes * Skip building _freeze_importlib, fix 3.7.12 in msvc Debug MDd * Shot in the dark attempt at fixing Mac issue * Unconditionally generate VCVars in test package * Print config.log if autotools configure fails * Skip spam module test in 2.7 (debug, MDd) as well * Allow MSVC/Debug/dynamic with newer libffi * Test package cleanup * Fix Debug MSVC test package * Use test_package/test_package.py in test_v1_package * Fix conditional _d in debug mode * Add -Wl,--as-needed * Use extra_ldflags instead * Don't use -Wl,--as-needed on Apple OSs * Manually inject platform toolset on 3.8.x * Always manually specify the platform toolset * Update dependencies * Add patch descriptions * Enable short paths * Add link to nis system library * nis -> nsl * Simplify pkg-config info * Check for Linux or FreeBSD * Fix disabling sqlite3 (on Linux at least) * Simplify some file removing * rm unnecessary rm * Misc configure variable cleanup * Point test_v1_package to test_package sources * Fix lint warning * Diff cleanup * Misc test package cleanup * Bump xz_utils * Bump xz_utils * Fix pymalloc argument * Don't read SSL config file Co-authored-by: Jordan Williams * Bandaid fix for test package overflowing Windows max path length * Remove EOL versions * Remove calculated Python major version * Use autotools.install() directly Co-authored-by: Uilian Ries * Remove outdated configure flags and some hacks * Add 2.0 versions of env variables * Remove PYTHONHOME from env info for now --------- Co-authored-by: memsharded Co-authored-by: Martin Valgur Co-authored-by: Rubén Rincón Blanco Co-authored-by: Jordan Williams Co-authored-by: Uilian Ries --- recipes/cpython/all/conandata.yml | 103 ++- recipes/cpython/all/conanfile.py | 769 +++++++++--------- .../all/patches/2.7.18-0001-msvc.patch | 278 ------- .../2.7.18-0002-add-support-msvc-14.patch | 59 -- .../patches/2.7.18-0003-msvc-fix-static.patch | 11 - .../2.7.18-0004-disable-macos-tcltk.patch | 15 - .../patches/{ => 3.10}/3.10.0-0001-msvc.patch | 22 +- .../{ => 3.10}/3.10.0-0003-_ctypes-ffi.patch | 0 ...0-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch | 0 .../3.10.0-0005-disable-macos-tcltk.patch | 0 .../cpython/all/patches/3.7.9-0001-msvc.patch | 416 ---------- ...9-0002-setup.py-pass-CFLAGS-CPPFLAGS.patch | 15 - .../3.7.9-0003-disable-macos-tcltk.patch | 15 - .../patches/{ => 3.8}/3.8.12-0001-msvc.patch | 22 +- .../{ => 3.8}/3.8.12-0002-_ctypes-ffi.patch | 0 ...2-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch | 0 .../3.8.12-0004-disable-macos-tcltk.patch | 0 .../patches/{ => 3.9}/3.9.7-0001-msvc.patch | 22 +- .../{ => 3.9}/3.9.7-0002-_msi-vcxproj.patch | 0 .../{ => 3.9}/3.9.7-0003-_ctypes-ffi.patch | 0 ...7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch | 0 .../3.9.7-0005-disable-macos-tcltk.patch | 0 .../cpython/all/test_package/CMakeLists.txt | 67 +- recipes/cpython/all/test_package/conanfile.py | 287 +++---- .../all/test_package/py2/test_module.c | 42 - .../all/test_package/py2/test_package.c | 12 - recipes/cpython/all/test_package/setup.py | 17 +- .../all/test_package/{py3 => }/test_module.c | 0 .../all/test_package/{py3 => }/test_package.c | 0 .../cpython/all/test_package/test_package.py | 76 +- .../all/test_v1_package/CMakeLists.txt | 96 +++ .../cpython/all/test_v1_package/conanfile.py | 154 ++++ recipes/cpython/config.yml | 4 - 33 files changed, 925 insertions(+), 1577 deletions(-) delete mode 100644 recipes/cpython/all/patches/2.7.18-0001-msvc.patch delete mode 100644 recipes/cpython/all/patches/2.7.18-0002-add-support-msvc-14.patch delete mode 100644 recipes/cpython/all/patches/2.7.18-0003-msvc-fix-static.patch delete mode 100644 recipes/cpython/all/patches/2.7.18-0004-disable-macos-tcltk.patch rename recipes/cpython/all/patches/{ => 3.10}/3.10.0-0001-msvc.patch (94%) rename recipes/cpython/all/patches/{ => 3.10}/3.10.0-0003-_ctypes-ffi.patch (100%) rename recipes/cpython/all/patches/{ => 3.10}/3.10.0-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch (100%) rename recipes/cpython/all/patches/{ => 3.10}/3.10.0-0005-disable-macos-tcltk.patch (100%) delete mode 100644 recipes/cpython/all/patches/3.7.9-0001-msvc.patch delete mode 100644 recipes/cpython/all/patches/3.7.9-0002-setup.py-pass-CFLAGS-CPPFLAGS.patch delete mode 100644 recipes/cpython/all/patches/3.7.9-0003-disable-macos-tcltk.patch rename recipes/cpython/all/patches/{ => 3.8}/3.8.12-0001-msvc.patch (95%) rename recipes/cpython/all/patches/{ => 3.8}/3.8.12-0002-_ctypes-ffi.patch (100%) rename recipes/cpython/all/patches/{ => 3.8}/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch (100%) rename recipes/cpython/all/patches/{ => 3.8}/3.8.12-0004-disable-macos-tcltk.patch (100%) rename recipes/cpython/all/patches/{ => 3.9}/3.9.7-0001-msvc.patch (95%) rename recipes/cpython/all/patches/{ => 3.9}/3.9.7-0002-_msi-vcxproj.patch (100%) rename recipes/cpython/all/patches/{ => 3.9}/3.9.7-0003-_ctypes-ffi.patch (100%) rename recipes/cpython/all/patches/{ => 3.9}/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch (100%) rename recipes/cpython/all/patches/{ => 3.9}/3.9.7-0005-disable-macos-tcltk.patch (100%) delete mode 100644 recipes/cpython/all/test_package/py2/test_module.c delete mode 100644 recipes/cpython/all/test_package/py2/test_package.c rename recipes/cpython/all/test_package/{py3 => }/test_module.c (100%) rename recipes/cpython/all/test_package/{py3 => }/test_package.c (100%) create mode 100644 recipes/cpython/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cpython/all/test_v1_package/conanfile.py diff --git a/recipes/cpython/all/conandata.yml b/recipes/cpython/all/conandata.yml index f9fd51067c8b3..80e01a0b76111 100644 --- a/recipes/cpython/all/conandata.yml +++ b/recipes/cpython/all/conandata.yml @@ -8,65 +8,58 @@ sources: "3.8.12": url: "https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz" sha256: "316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a" - "3.7.12": - url: "https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz" - sha256: "33b4daaf831be19219659466d12645f87ecec6eb21d4d9f9711018a7b66cce46" - "2.7.18": - url: "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz" - sha256: "da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814" patches: "3.10.0": - - patch_file: "patches/3.10.0-0001-msvc.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.9.7-0002-_msi-vcxproj.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.10.0-0003-_ctypes-ffi.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.10.0-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.10.0-0005-disable-macos-tcltk.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.10/3.10.0-0001-msvc.patch" + patch_description: "Version specific patches to MSVC projects to allow injection of dependencies" + patch_type: "conan" + - patch_file: "patches/3.9/3.9.7-0002-_msi-vcxproj.patch" + patch_description: "Fix ARM/ARM64 mismatch in project file" + patch_type: "bugfix" + - patch_file: "patches/3.10/3.10.0-0003-_ctypes-ffi.patch" + patch_description: "Remove duplicate libffi symbols and support shared libffi" + patch_type: "portability" + - patch_file: "patches/3.10/3.10.0-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch" + patch_description: "Pass C and CPP flags from configure script to setup.py" + patch_type: "bugfix" + - patch_file: "patches/3.10/3.10.0-0005-disable-macos-tcltk.patch" + patch_description: "Unconditionally enable tcl/tk on Mac" + patch_type: "conan" - patch_file: "patches/3.x-0001-relocatable-python-config.patch" - base_path: "source_subfolder" + patch_description: "Allow package to be relocatable" + patch_type: "conan" "3.9.7": - - patch_file: "patches/3.9.7-0001-msvc.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.9.7-0002-_msi-vcxproj.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.9.7-0003-_ctypes-ffi.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.9.7-0005-disable-macos-tcltk.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.9/3.9.7-0001-msvc.patch" + patch_description: "Version specific patches to MSVC projects to allow injection of dependencies" + patch_type: "conan" + - patch_file: "patches/3.9/3.9.7-0002-_msi-vcxproj.patch" + patch_description: "Fix ARM/ARM64 mismatch in project file" + patch_type: "bugfix" + - patch_file: "patches/3.9/3.9.7-0003-_ctypes-ffi.patch" + patch_description: "Remove duplicate libffi symbols and support shared libffi" + patch_type: "portability" + - patch_file: "patches/3.9/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch" + patch_description: "Pass C and CPP flags from configure script to setup.py" + patch_type: "bugfix" + - patch_file: "patches/3.9/3.9.7-0005-disable-macos-tcltk.patch" + patch_description: "Unconditionally enable tcl/tk on Mac" + patch_type: "conan" - patch_file: "patches/3.x-0001-relocatable-python-config.patch" - base_path: "source_subfolder" + patch_description: "Allow package to be relocatable" + patch_type: "conan" "3.8.12": - - patch_file: "patches/3.8.12-0001-msvc.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.8.12-0002-_ctypes-ffi.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.8.12-0004-disable-macos-tcltk.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.8/3.8.12-0001-msvc.patch" + patch_description: "Version specific patches to MSVC projects to allow injection of dependencies" + patch_type: "conan" + - patch_file: "patches/3.8/3.8.12-0002-_ctypes-ffi.patch" + patch_description: "Remove duplicate libffi symbols and support shared libffi" + patch_type: "portability" + - patch_file: "patches/3.8/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch" + patch_description: "Pass C and CPP flags from configure script to setup.py" + patch_type: "bugfix" + - patch_file: "patches/3.8/3.8.12-0004-disable-macos-tcltk.patch" + patch_description: "Unconditionally enable tcl/tk on Mac" + patch_type: "conan" - patch_file: "patches/3.x-0001-relocatable-python-config.patch" - base_path: "source_subfolder" - "3.7.12": - - patch_file: "patches/3.7.9-0001-msvc.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.7.9-0002-setup.py-pass-CFLAGS-CPPFLAGS.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.7.9-0003-disable-macos-tcltk.patch" - base_path: "source_subfolder" - - patch_file: "patches/3.x-0001-relocatable-python-config.patch" - base_path: "source_subfolder" - "2.7.18": - - patch_file: "patches/2.7.18-0001-msvc.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.7.18-0002-add-support-msvc-14.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.7.18-0003-msvc-fix-static.patch" - base_path: "source_subfolder" - - patch_file: "patches/2.7.18-0004-disable-macos-tcltk.patch" - base_path: "source_subfolder" + patch_description: "Allow package to be relocatable" + patch_type: "conan" diff --git a/recipes/cpython/all/conanfile.py b/recipes/cpython/all/conanfile.py index 4fa1d1da6334e..160fe6920a426 100644 --- a/recipes/cpython/all/conanfile.py +++ b/recipes/cpython/all/conanfile.py @@ -1,21 +1,29 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, MSBuild, tools -from conans.errors import ConanInvalidConfiguration -from io import StringIO import os import re import textwrap -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration, ConanException +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.env import VirtualRunEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, replace_in_file, rm, rmdir, unzip +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuildDeps, MSBuildToolchain, MSBuild, is_msvc, is_msvc_static_runtime, msvc_runtime_flag, msvs_toolset +from conan.tools.scm import Version + +required_conan_version = ">=1.58.0" class CPythonConan(ConanFile): name = "cpython" + description = "Python is a programming language that lets you work quickly and integrate systems more effectively." + license = "Python-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.python.org" - description = "Python is a programming language that lets you work quickly and integrate systems more effectively." topics = ("python", "cpython", "language", "script") - license = ("Python-2.0",) - exports_sources = "patches/**" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -30,11 +38,6 @@ class CPythonConan(ConanFile): "with_sqlite3": [True, False], "with_tkinter": [True, False], "with_curses": [True, False], - - # Python 2 options - "unicode": ["ucs2", "ucs4"], - "with_bsddb": [True, False], - # Python 3 options "with_lzma": [True, False], # options that don't change package id @@ -53,168 +56,132 @@ class CPythonConan(ConanFile): "with_sqlite3": True, "with_tkinter": True, "with_curses": True, - - # Python 2 options - "unicode": "ucs2", - "with_bsddb": False, # True, # FIXME: libdb package missing (#5309/#5392) - # Python 3 options "with_lzma": True, # options that don't change package id "env_vars": True, } - - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _version_number_only(self): - return re.match(r"^([0-9.]+)", self.version).group(1) - - @property - def _version_tuple(self): - return tuple(self._version_number_only.split(".")) + short_paths = True @property def _supports_modules(self): - return self.settings.compiler != "Visual Studio" or self.options.shared + return not is_msvc(self) or self.options.shared @property def _version_suffix(self): - if self.settings.compiler == "Visual Studio": - joiner = "" - else: - joiner = "." - return joiner.join(self._version_tuple[:2]) - - @property - def _is_py3(self): - return tools.Version(self._version_number_only).major == "3" + v = Version(self.version) + joiner = "" if is_msvc(self) else "." + return f"{v.major}{joiner}{v.minor}" - @property - def _is_py2(self): - return tools.Version(self._version_number_only).major == "2" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.compiler == "Visual Studio": + if is_msvc(self): del self.options.lto del self.options.docstrings del self.options.pymalloc del self.options.with_curses del self.options.with_gdbm del self.options.with_nis - if self._is_py2: - # Python 2.xx does not support following options - del self.options.with_lzma - elif self._is_py3: - # Python 3.xx does not support following options - del self.options.with_bsddb - del self.options.unicode - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.compiler.rm_safe("libcxx") + self.settings.compiler.rm_safe("cppstd") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self._supports_modules: - del self.options.with_bz2 - del self.options.with_sqlite3 - del self.options.with_tkinter - - del self.options.with_bsddb - del self.options.with_lzma - if self.settings.compiler == "Visual Studio": - # The msbuild generator only works with Visual Studio - self.generators.append("MSBuildDeps") - - def validate(self): - if self.options.shared: - if self.settings.compiler == "Visual Studio" and "MT" in self.settings.compiler.runtime: - raise ConanInvalidConfiguration("cpython does not support MT(d) runtime when building a shared cpython library") - if self.settings.compiler == "Visual Studio": - if self.options.optimizations: - raise ConanInvalidConfiguration("This recipe does not support optimized MSVC cpython builds (yet)") - # FIXME: should probably throw when cross building - # FIXME: optimizations for Visual Studio, before building the final `build_type`: - # 1. build the MSVC PGInstrument build_type, - # 2. run the instrumented binaries, (PGInstrument should have created a `python.bat` file in the PCbuild folder) - # 3. build the MSVC PGUpdate build_type - if self.settings.build_type == "Debug" and "d" not in self.settings.compiler.runtime: - raise ConanInvalidConfiguration("Building debug cpython requires a debug runtime (Debug cpython requires _CrtReportMode symbol, which only debug runtimes define)") - if self._is_py2: - if self.settings.compiler.version >= tools.Version("14"): - self.output.warn("Visual Studio versions 14 and higher were never officially supported by the CPython developers") - if str(self.settings.arch) not in self._msvc_archs: - raise ConanInvalidConfiguration("Visual Studio does not support this architecture") - - if not self.options.shared and tools.Version(self._version_number_only) >= "3.10": - raise ConanInvalidConfiguration("Static msvc build disabled (>=3.10) due to \"AttributeError: module 'sys' has no attribute 'winver'\"") - - if self.options.get_safe("with_curses", False) and not self.options["ncurses"].with_widec: - raise ConanInvalidConfiguration("cpython requires ncurses with wide character support") - - def package_id(self): - del self.info.options.env_vars - - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + self.options.rm_safe("with_bz2") + self.options.rm_safe("with_sqlite3") + self.options.rm_safe("with_tkinter") + self.options.rm_safe("with_lzma") - @property - def _with_libffi(self): - # cpython 3.7.x on MSVC uses an ancient libffi 2.00-beta (which is not available at cci, and is API/ABI incompatible with current 3.2+) - return self._supports_modules \ - and (self.settings.compiler != "Visual Studio" or tools.Version(self._version_number_only) >= "3.8") + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.11") + self.requires("zlib/[>=1.2.11 <2]") if self._supports_modules: - self.requires("openssl/1.1.1l") - self.requires("expat/2.4.1") - if self._with_libffi: - self.requires("libffi/3.2.1") - if tools.Version(self._version_number_only) < "3.8": - self.requires("mpdecimal/2.4.2") - elif tools.Version(self._version_number_only) < "3.10": + self.requires("openssl/[>=1.1 <4]") + self.requires("expat/2.6.0") + self.requires("libffi/3.4.4") + if Version(self.version) < "3.10" or is_apple_os(self): + # FIXME: mpdecimal > 2.5.0 on MacOS causes the _decimal module to not be importable self.requires("mpdecimal/2.5.0") else: - self.requires("mpdecimal/2.5.0") # FIXME: no 2.5.1 to troubleshoot apple + self.requires("mpdecimal/2.5.1") if self.settings.os != "Windows": - if not tools.is_apple_os(self.settings.os): - self.requires("libuuid/1.0.3") - self.requires("libxcrypt/4.4.25") + if not is_apple_os(self): + self.requires("util-linux-libuuid/2.39.2") + # If crypt.h is detected, it is included in the public headers. + self.requires("libxcrypt/4.4.36", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_bz2"): self.requires("bzip2/1.0.8") if self.options.get_safe("with_gdbm", False): - self.requires("gdbm/1.19") + self.requires("gdbm/1.23") if self.options.get_safe("with_nis", False): # TODO: Add nis when available. raise ConanInvalidConfiguration("nis is not available on CCI (yet)") if self.options.get_safe("with_sqlite3"): - self.requires("sqlite3/3.36.0") + self.requires("sqlite3/3.45.0") if self.options.get_safe("with_tkinter"): self.requires("tk/8.6.10") if self.options.get_safe("with_curses", False): - self.requires("ncurses/6.2") - if self.options.get_safe("with_bsddb", False): - self.requires("libdb/5.3.28") + # Used in a public header + # https://github.com/python/cpython/blob/v3.10.13/Include/py_curses.h#L34 + self.requires("ncurses/6.4", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_lzma", False): - self.requires("xz_utils/5.2.5") + self.requires("xz_utils/5.6.1") + + def package_id(self): + del self.info.options.env_vars + + def validate(self): + if self.options.shared: + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration( + "cpython does not support MT(d) runtime when building a shared cpython library" + ) + if is_msvc(self): + if self.options.optimizations: + raise ConanInvalidConfiguration( + "This recipe does not support optimized MSVC cpython builds (yet)" + ) + # FIXME: should probably throw when cross building + # FIXME: optimizations for Visual Studio, before building the final `build_type`: + # 1. build the MSVC PGInstrument build_type, + # 2. run the instrumented binaries, (PGInstrument should have created a `python.bat` file in the PCbuild folder) + # 3. build the MSVC PGUpdate build_type + if self.settings.build_type == "Debug" and "d" not in msvc_runtime_flag(self): + raise ConanInvalidConfiguration( + "Building debug cpython requires a debug runtime (Debug cpython requires _CrtReportMode" + " symbol, which only debug runtimes define)" + ) + if str(self.settings.arch) not in self._msvc_archs: + raise ConanInvalidConfiguration("Visual Studio does not support this architecture") + if not self.options.shared and Version(self.version) >= "3.10": + raise ConanInvalidConfiguration("Static msvc build disabled (>=3.10) due to \"AttributeError: module 'sys' has no attribute 'winver'\"") + + if self.options.get_safe("with_curses", False) and not self.dependencies["ncurses"].options.with_widec: + raise ConanInvalidConfiguration("cpython requires ncurses with wide character support") + + if self._supports_modules: + if Version(self.version) >= "3.9.0": + if self.dependencies["mpdecimal"].ref.version < Version("2.5.0"): + raise ConanInvalidConfiguration("cpython 3.9.0 (and newer) requires (at least) mpdecimal 2.5.0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.libs = [] + def _generate_autotools(self): + tc = AutotoolsToolchain(self, prefix=self.package_folder) + # Not necessary, just cleans up the output + tc.update_configure_args({"--enable-static": None, "--disable-static": None}) yes_no = lambda v: "yes" if v else "no" - conf_args = [ - "--enable-shared={}".format(yes_no(self.options.shared)), + tc.configure_args += [ "--with-doc-strings={}".format(yes_no(self.options.docstrings)), "--with-pymalloc={}".format(yes_no(self.options.pymalloc)), "--with-system-expat", @@ -222,117 +189,157 @@ def _configure_autotools(self): "--enable-optimizations={}".format(yes_no(self.options.optimizations)), "--with-lto={}".format(yes_no(self.options.lto)), "--with-pydebug={}".format(yes_no(self.settings.build_type == "Debug")), + "--with-system-libmpdec", + "--with-openssl={}".format(self.dependencies["openssl"].package_folder), ] - if self._is_py2: - conf_args.extend([ - "--enable-unicode={}".format(yes_no(self.options.unicode)), - ]) - if self._is_py3: - conf_args.extend([ - "--with-system-libmpdec", - "--with-openssl={}".format(self.deps_cpp_info["openssl"].rootpath), - "--enable-loadable-sqlite-extensions={}".format(yes_no(not self.options["sqlite3"].omit_load_extension)), - ]) - if self.settings.compiler == "intel": - conf_args.extend(["--with-icc"]) - if tools.get_env("CC") or self.settings.compiler != "gcc": - conf_args.append("--without-gcc") + if Version(self.version) >= "3.10": + tc.configure_args.append("--disable-test-modules") + if self.options.get_safe("with_sqlite3"): + tc.configure_args.append("--enable-loadable-sqlite-extensions={}".format( + yes_no(not self.dependencies["sqlite3"].options.omit_load_extension) + )) if self.options.with_tkinter: tcltk_includes = [] tcltk_libs = [] # FIXME: collect using some conan util (https://github.com/conan-io/conan/issues/7656) for dep in ("tcl", "tk", "zlib"): - tcltk_includes += ["-I{}".format(d) for d in self.deps_cpp_info[dep].include_paths] - tcltk_libs += ["-l{}".format(lib) for lib in self.deps_cpp_info[dep].libs] - if self.settings.os == "Linux" and not self.options["tk"].shared: + cpp_info = self.dependencies[dep].cpp_info.aggregated_components() + tcltk_includes += [f"-I{d}" for d in cpp_info.includedirs] + tcltk_libs += [f"-L{lib}" for lib in cpp_info.libdirs] + tcltk_libs += [f"-l{lib}" for lib in cpp_info.libs] + if self.settings.os in ["Linux", "FreeBSD"] and not self.dependencies["tk"].options.shared: # FIXME: use info from xorg.components (x11, xscrnsaver) - tcltk_libs.extend(["-l{}".format(lib) for lib in ("X11", "Xss")]) - conf_args.extend([ + tcltk_libs.extend([f"-l{lib}" for lib in ("X11", "Xss")]) + tc.configure_args += [ "--with-tcltk-includes={}".format(" ".join(tcltk_includes)), "--with-tcltk-libs={}".format(" ".join(tcltk_libs)), - ]) - if self.settings.os in ("Linux", "FreeBSD"): - # Building _testembed fails due to missing pthread/rt symbols - self._autotools.link_flags.append("-lpthread") - - build = None - if tools.cross_building(self) and not tools.cross_building(self, skip_x64_x86=True): - # Building from x86_64 to x86 is not a "real" cross build, so set build == host - build = tools.get_gnu_triplet(str(self.settings.os), str(self.settings.arch), str(self.settings.compiler)) - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder, build=build) - return self._autotools + ] + if not is_apple_os(self): + tc.extra_ldflags.append('-Wl,--as-needed') + + tc.generate() + + deps = AutotoolsDeps(self) + deps.generate() + + def generate(self): + VirtualRunEnv(self).generate(scope="build") + + if is_msvc(self): + # The msbuild generator only works with Visual Studio + deps = MSBuildDeps(self) + deps.generate() + # The toolchain.props is not injected yet, but it also generates VCVars + toolchain = MSBuildToolchain(self) + toolchain.properties["IncludeExternals"] = "true" + toolchain.generate() + else: + self._generate_autotools() def _patch_sources(self): - for patch in self.conan_data.get("patches",{}).get(self.version, []): - tools.patch(**patch) - if self._is_py3 and tools.Version(self._version_number_only) < "3.10": - tools.replace_in_file(os.path.join(self._source_subfolder, "setup.py"), - ":libmpdec.so.2", "mpdec") - if self.settings.compiler == "Visual Studio": + apply_conandata_patches(self) + setup_py = os.path.join(self.source_folder, "setup.py") + if Version(self.version) < "3.10": + replace_in_file(self, setup_py, ":libmpdec.so.2", "mpdec") + if is_msvc(self): runtime_library = { "MT": "MultiThreaded", "MTd": "MultiThreadedDebug", "MD": "MultiThreadedDLL", "MDd": "MultiThreadedDebugDLL", - }[str(self.settings.compiler.runtime)] + }[msvc_runtime_flag(self)] self.output.info("Patching runtime") - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pyproject.props"), - "MultiThreadedDLL", runtime_library) - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pyproject.props"), - "MultiThreadedDebugDLL", runtime_library) + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pyproject.props"), + "MultiThreadedDLL", runtime_library) + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pyproject.props"), + "MultiThreadedDebugDLL", runtime_library) # Remove vendored packages - tools.rmdir(os.path.join(self._source_subfolder, "Modules", "_decimal", "libmpdec")) - tools.rmdir(os.path.join(self._source_subfolder, "Modules", "expat")) + rmdir(self, os.path.join(self.source_folder, "Modules", "_decimal", "libmpdec")) + rmdir(self, os.path.join(self.source_folder, "Modules", "expat")) if self.options.get_safe("with_curses", False): # FIXME: this will link to ALL libraries of ncurses. Only need to link to ncurses(w) (+ eventually tinfo) - tools.replace_in_file(os.path.join(self._source_subfolder, "setup.py"), - "curses_libs = ", - "curses_libs = {} #".format(repr(self.deps_cpp_info["ncurses"].libs + self.deps_cpp_info["ncurses"].system_libs))) + ncurses_info = self.dependencies["ncurses"].cpp_info.aggregated_components() + replace_in_file(self, setup_py, + "curses_libs = ", + "curses_libs = {} #".format(repr(ncurses_info.libs + ncurses_info.system_libs))) + + if self._supports_modules: + openssl = self.dependencies["openssl"].cpp_info.aggregated_components() + zlib = self.dependencies["zlib"].cpp_info.aggregated_components() + replace_in_file(self, setup_py, + "openssl_includes = ", + f"openssl_includes = {openssl.includedirs + zlib.includedirs} #") + replace_in_file(self, setup_py, + "openssl_libdirs = ", + f"openssl_libdirs = {openssl.libdirs + zlib.libdirs} #") + replace_in_file(self, setup_py, + "openssl_libs = ", + f"openssl_libs = {openssl.libs + zlib.libs} #") # Enable static MSVC cpython if not self.options.shared: - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pythoncore.vcxproj"), - "","Py_NO_BUILD_SHARED;") - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pythoncore.vcxproj"), - "Py_ENABLE_SHARED", "Py_NO_ENABLE_SHARED") - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pythoncore.vcxproj"), - "DynamicLibrary", "StaticLibrary") - - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "python.vcxproj"), - "", "shlwapi.lib;ws2_32.lib;pathcch.lib;version.lib;%(AdditionalDependencies)") - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "python.vcxproj"), - "", "Py_NO_ENABLE_SHARED;") - - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pythonw.vcxproj"), - "", "shlwapi.lib;ws2_32.lib;pathcch.lib;version.lib;%(AdditionalDependencies)") - tools.replace_in_file(os.path.join(self._source_subfolder, "PCbuild", "pythonw.vcxproj"), - "", "Py_NO_ENABLE_SHARED;%(PreprocessorDefinitions)") - - def _upgrade_single_project_file(self, project_file): - """ - `devenv /upgrade ` will upgrade *ALL* projects referenced by the project. - By temporarily moving the solution project, only one project is upgraded - This is needed for static cpython or for disabled optional dependencies (e.g. tkinter=False) - Restore it afterwards because it is needed to build some targets. - """ - tools.rename(os.path.join(self._source_subfolder, "PCbuild", "pcbuild.sln"), - os.path.join(self._source_subfolder, "PCbuild", "pcbuild.sln.bak")) - tools.rename(os.path.join(self._source_subfolder, "PCbuild", "pcbuild.proj"), - os.path.join(self._source_subfolder, "PCbuild", "pcbuild.proj.bak")) - with tools.vcvars(self.settings): - self.run("devenv \"{}\" /upgrade".format(project_file), run_environment=True) - tools.rename(os.path.join(self._source_subfolder, "PCbuild", "pcbuild.sln.bak"), - os.path.join(self._source_subfolder, "PCbuild", "pcbuild.sln")) - tools.rename(os.path.join(self._source_subfolder, "PCbuild", "pcbuild.proj.bak"), - os.path.join(self._source_subfolder, "PCbuild", "pcbuild.proj")) + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pythoncore.vcxproj"), + "", + "Py_NO_BUILD_SHARED;") + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pythoncore.vcxproj"), + "Py_ENABLE_SHARED", + "Py_NO_ENABLE_SHARED") + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pythoncore.vcxproj"), + "DynamicLibrary", + "StaticLibrary") + + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "python.vcxproj"), + "", + "shlwapi.lib;ws2_32.lib;pathcch.lib;version.lib;%(AdditionalDependencies)") + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "python.vcxproj"), + "", + "Py_NO_ENABLE_SHARED;") + + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pythonw.vcxproj"), + "", + "shlwapi.lib;ws2_32.lib;pathcch.lib;version.lib;%(AdditionalDependencies)") + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", "pythonw.vcxproj"), + "", + "Py_NO_ENABLE_SHARED;%(PreprocessorDefinitions)") + + # Don't import projects that we aren't pulling + deps = [ + # Option suffix, base file name, conan props suffix + ("sqlite3", "_sqlite3", "sqlite3"), + ("tkinter", "_tkinter", "tk"), + ("bz2", "_bz2", "bzip2"), + ("lzma", "_lzma", "xz_utils"), + ] + for opt, fname, propname in deps: + full_file = os.path.join(self.source_folder, "PCbuild", f"{fname}.vcxproj") + if not self.options.get_safe(f"with_{opt}", default=True): + replace_in_file(self, full_file, f'', "") + + # Fix props path for dependencies we are pulling + PCBuild = os.path.join(self.source_folder, "PCbuild") + for filename in os.listdir(PCBuild): + if filename.endswith(".vcxproj"): + replace_in_file(self, os.path.join(PCBuild, filename), "CONAN_REPLACE_HERE", self.generators_folder, strict=False) + + conantoolchain_props = os.path.join(self.generators_folder, MSBuildToolchain.filename) + replace_in_file( + self, os.path.join(self.source_folder, "PCbuild", "pythoncore.vcxproj"), + '', + f'', + ) + + for project in ["python", "pythonw"]: + replace_in_file(self, os.path.join(self.source_folder, "PCbuild", f"{project}.vcxproj"), + '', + f'') @property def _solution_projects(self): if self.options.shared: - solution_path = os.path.join(self._source_subfolder, "PCbuild", "pcbuild.sln") - projects = set(m.group(1) for m in re.finditer("\"([^\"]+)\\.vcxproj\"", open(solution_path).read())) + solution_path = os.path.join(self.source_folder, "PCbuild", "pcbuild.sln") + projects = set(m.group(1) for m in re.finditer('"([^"]+)\\.vcxproj"', open(solution_path).read())) def project_build(name): if os.path.basename(name) in self._msvc_discarded_projects: @@ -341,39 +348,31 @@ def project_build(name): return False return True - def sort_importance(key): - importance = ( - "pythoncore", # The python library MUST be built first. All modules and executables depend on it - "python", # Build the python executable next (for convenience, when debugging) - ) - try: - return importance.index(key) - except ValueError: - return len(importance) - - projects = sorted((p for p in projects if project_build(p)), key=sort_importance) + projects = list(filter(project_build, projects)) return projects else: - return "pythoncore", "python", "pythonw" + return ["pythoncore", "python", "pythonw"] @property def _msvc_discarded_projects(self): - discarded = {"python_uwp", "pythonw_uwp"} + discarded = { + "python_uwp", + "pythonw_uwp", + "_freeze_importlib", + "sqlite3", + "bdist_wininst", + "liblzma", + "openssl", + "xxlimited", + } if not self.options.with_bz2: discarded.add("bz2") if not self.options.with_sqlite3: discarded.add("_sqlite3") if not self.options.with_tkinter: discarded.add("_tkinter") - if self._is_py2: - # Python 2 Visual Studio projects NOT to build - discarded = discarded.union({"bdist_wininst", "libeay", "ssleay", "sqlite3", "tcl", "tk", "tix"}) - if not self.options.with_bsddb: - discarded.add("_bsddb") - elif self._is_py3: - discarded = discarded.union({"bdist_wininst", "liblzma", "openssl", "sqlite3", "xxlimited"}) - if not self.options.with_lzma: - discarded.add("_lzma") + if not self.options.with_lzma: + discarded.add("_lzma") return discarded @property @@ -381,50 +380,31 @@ def _msvc_archs(self): archs = { "x86": "Win32", "x86_64": "x64", + "armv7": "ARM", + "armv8_32": "ARM", + "armv8": "ARM64", } - if tools.Version(self._version_number_only) >= "3.8": - archs.update({ - "armv7": "ARM", - "armv8_32": "ARM", - "armv8": "ARM64", - }) return archs def _msvc_build(self): msbuild = MSBuild(self) - msbuild_properties = { - "IncludeExternals": "true", - } + msbuild.platform = self._msvc_archs[str(self.settings.arch)] + projects = self._solution_projects - self.output.info("Building {} Visual Studio projects: {}".format(len(projects), projects)) + self.output.info(f"Building {len(projects)} Visual Studio projects: {projects}") - with tools.no_op(): - for project_i, project in enumerate(projects, 1): - self.output.info("[{}/{}] Building project '{}'...".format(project_i, len(projects), project)) - project_file = os.path.join(self._source_subfolder, "PCbuild", project + ".vcxproj") - self._upgrade_single_project_file(project_file) - msbuild.build(project_file, upgrade_project=False, build_type="Debug" if self.settings.build_type == "Debug" else "Release", - platforms=self._msvc_archs, properties=msbuild_properties) + sln = os.path.join(self.source_folder, "PCbuild", "pcbuild.sln") + # FIXME: Solution files do not pick up the toolset automatically. + cmd = msbuild.command(sln, targets=projects) + self.run(f"{cmd} /p:PlatformToolset={msvs_toolset(self)}") def build(self): - # FIXME: these checks belong in validate, but the versions of dependencies are not available there yet - if self._supports_modules: - if tools.Version(self._version_number_only) < "3.8.0": - if tools.Version(self.deps_cpp_info["mpdecimal"].version) >= "2.5.0": - raise ConanInvalidConfiguration("cpython versions lesser then 3.8.0 require a mpdecimal lesser then 2.5.0") - elif tools.Version(self._version_number_only) >= "3.9.0": - if tools.Version(self.deps_cpp_info["mpdecimal"].version) < "2.5.0": - raise ConanInvalidConfiguration("cpython 3.9.0 (and newer) requires (at least) mpdecimal 2.5.0") - - if self._with_libffi: - if tools.Version(self.deps_cpp_info["libffi"].version) >= "3.3" and self.settings.compiler == "Visual Studio" and "d" in str(self.settings.compiler.runtime): - raise ConanInvalidConfiguration("libffi versions >= 3.3 cause 'read access violations' when using a debug runtime (MTd/MDd)") - self._patch_sources() - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self._msvc_build() else: - autotools = self._configure_autotools() + autotools = Autotools(self) + autotools.configure() autotools.make() @property @@ -432,44 +412,40 @@ def _msvc_artifacts_path(self): build_subdir_lut = { "x86_64": "amd64", "x86": "win32", + "armv7": "arm32", + "armv8_32": "arm32", + "armv8": "arm64", } - if tools.Version(self._version_number_only) >= "3.8": - build_subdir_lut.update({ - "armv7": "arm32", - "armv8_32": "arm32", - "armv8": "arm64", - }) - return os.path.join(self._source_subfolder, "PCbuild", build_subdir_lut[str(self.settings.arch)]) + return os.path.join(self.source_folder, "PCbuild", build_subdir_lut[str(self.settings.arch)]) @property def _msvc_install_subprefix(self): return "bin" def _copy_essential_dlls(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): # Until MSVC builds support cross building, copy dll's of essential (shared) dependencies to python binary location. # These dll's are required when running the layout tool using the newly built python executable. dest_path = os.path.join(self.build_folder, self._msvc_artifacts_path) - if self._with_libffi: - for bin_path in self.deps_cpp_info["libffi"].bin_paths: - self.copy("*.dll", src=bin_path, dst=dest_path) - for bin_path in self.deps_cpp_info["expat"].bin_paths: - self.copy("*.dll", src=bin_path, dst=dest_path) - for bin_path in self.deps_cpp_info["zlib"].bin_paths: - self.copy("*.dll", src=bin_path, dst=dest_path) + for bin_path in self.dependencies["libffi"].cpp_info.bindirs: + copy(self, "*.dll", src=bin_path, dst=dest_path) + for bin_path in self.dependencies["expat"].cpp_info.bindirs: + copy(self, "*.dll", src=bin_path, dst=dest_path) + for bin_path in self.dependencies["zlib"].cpp_info.bindirs: + copy(self, "*.dll", src=bin_path, dst=dest_path) def _msvc_package_layout(self): self._copy_essential_dlls() install_prefix = os.path.join(self.package_folder, self._msvc_install_subprefix) - tools.mkdir(install_prefix) + mkdir(self, install_prefix) build_path = self._msvc_artifacts_path infix = "_d" if self.settings.build_type == "Debug" else "" # FIXME: if cross building, use a build python executable here - python_built = os.path.join(build_path, "python{}.exe".format(infix)) + python_built = os.path.join(build_path, f"python{infix}.exe") layout_args = [ - os.path.join(self._source_subfolder, "PC", "layout", "main.py"), + os.path.join(self.source_folder, "PC", "layout", "main.py"), "-v", - "-s", self._source_subfolder, + "-s", self.source_folder, "-b", build_path, "--copy", install_prefix, "-p", @@ -481,16 +457,12 @@ def _msvc_package_layout(self): layout_args.append("--include-tcltk") if self.settings.build_type == "Debug": layout_args.append("-d") - python_args = " ".join("\"{}\"".format(a) for a in layout_args) - self.run("{} {}".format(python_built, python_args), run_environment=True) + python_args = " ".join(f'"{a}"' for a in layout_args) + self.run(f"{python_built} {python_args}") - tools.rmdir(os.path.join(self.package_folder, "bin", "tcl")) + rmdir(self, os.path.join(self.package_folder, "bin", "tcl")) - for file in os.listdir(install_prefix): - if re.match("vcruntime.*", file): - os.unlink(os.path.join(install_prefix, file)) - continue - os.unlink(os.path.join(install_prefix, "LICENSE.txt")) + rm(self, "LICENSE.txt", install_prefix) for file in os.listdir(os.path.join(install_prefix, "libs")): if not re.match("python.*", file): os.unlink(os.path.join(install_prefix, "libs", file)) @@ -498,45 +470,61 @@ def _msvc_package_layout(self): def _msvc_package_copy(self): build_path = self._msvc_artifacts_path infix = "_d" if self.settings.build_type == "Debug" else "" - self.copy("*.exe", src=build_path, dst=os.path.join(self.package_folder, self._msvc_install_subprefix)) - self.copy("*.dll", src=build_path, dst=os.path.join(self.package_folder, self._msvc_install_subprefix)) - self.copy("*.pyd", src=build_path, dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "DLLs")) - self.copy("python{}{}.lib".format(self._version_suffix, infix), src=build_path, dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "libs")) - self.copy("*", src=os.path.join(self._source_subfolder, "Include"), dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "include")) - self.copy("pyconfig.h", src=os.path.join(self._source_subfolder, "PC"), dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "include")) - self.copy("*.py", src=os.path.join(self._source_subfolder, "lib"), dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "Lib")) - tools.rmdir(os.path.join(self.package_folder, self._msvc_install_subprefix, "Lib", "test")) + copy(self, "*.exe", + src=build_path, + dst=os.path.join(self.package_folder, self._msvc_install_subprefix)) + copy(self, "*.dll", + src=build_path, + dst=os.path.join(self.package_folder, self._msvc_install_subprefix)) + copy(self, "*.pyd", + src=build_path, + dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "DLLs")) + copy(self, f"python{self._version_suffix}{infix}.lib", + src=build_path, + dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "libs")) + copy(self, "*", + src=os.path.join(self.source_folder, "Include"), + dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "include")) + copy(self, "pyconfig.h", + src=os.path.join(self.source_folder, "PC"), + dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "include")) + copy(self, "*.py", + src=os.path.join(self.source_folder, "lib"), + dst=os.path.join(self.package_folder, self._msvc_install_subprefix, "Lib")) + rmdir(self, os.path.join(self.package_folder, self._msvc_install_subprefix, "Lib", "test")) packages = {} get_name_version = lambda fn: fn.split(".", 2)[:2] - whldir = os.path.join(self._source_subfolder, "Lib", "ensurepip", "_bundled") + whldir = os.path.join(self.source_folder, "Lib", "ensurepip", "_bundled") for fn in filter(lambda n: n.endswith(".whl"), os.listdir(whldir)): name, version = get_name_version(fn) add = True if name in packages: pname, pversion = get_name_version(packages[name]) - add = tools.Version(version) > tools.Version(pversion) + add = Version(version) > Version(pversion) if add: packages[name] = fn for fname in packages.values(): - tools.unzip(filename=os.path.join(whldir, fname), destination=os.path.join(self.package_folder, "bin", "Lib", "site-packages")) + unzip(self, filename=os.path.join(whldir, fname), + destination=os.path.join(self.package_folder, "bin", "Lib", "site-packages")) - self.run("{} -c \"import compileall; compileall.compile_dir('{}')\"".format(os.path.join(build_path, self._cpython_interpreter_name), os.path.join(self.package_folder, self._msvc_install_subprefix, "Lib").replace("\\", "/")), - run_environment=True) + interpreter_path = os.path.join(build_path, self._cpython_interpreter_name) + lib_dir_path = os.path.join(self.package_folder, self._msvc_install_subprefix, "Lib").replace("\\", "/") + self.run(f"{interpreter_path} -c \"import compileall; compileall.compile_dir('{lib_dir_path}')\"") def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - if self.settings.compiler == "Visual Studio": - if self._is_py2 or not self.options.shared: - self._msvc_package_copy() - else: + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + if self.options.shared: self._msvc_package_layout() - tools.remove_files_by_mask(os.path.join(self.package_folder, "bin"), "vcruntime*") + else: + self._msvc_package_copy() + rm(self, "vcruntime*", os.path.join(self.package_folder, "bin"), recursive=True) else: - 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")) + autotools = Autotools(self) + autotools.install(args=["DESTDIR="]) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) # Rewrite shebangs of python scripts for filename in os.listdir(os.path.join(self.package_folder, "bin")): @@ -550,23 +538,23 @@ def package(self): if not(firstline.startswith(b"#!") and b"/python" in firstline and b"/bin/sh" not in firstline): continue text = fn.read() - self.output.info("Rewriting shebang of {}".format(filename)) + self.output.info(f"Rewriting shebang of {filename}") with open(filepath, "wb") as fn: - fn.write(textwrap.dedent("""\ + fn.write(textwrap.dedent(f"""\ #!/bin/sh ''':' __file__="$0" while [ -L "$__file__" ]; do __file__="$(dirname "$__file__")/$(readlink "$__file__")" done - exec "$(dirname "$__file__")/python{}" "$0" "$@" + exec "$(dirname "$__file__")/python{self._version_suffix}" "$0" "$@" ''' - """.format(self._version_suffix)).encode()) + """).encode()) fn.write(text) if not os.path.exists(self._cpython_symlink): - os.symlink("python{}".format(self._version_suffix), self._cpython_symlink) - self._fix_install_name() + os.symlink(f"python{self._version_suffix}", self._cpython_symlink) + fix_apple_shared_install_name(self) @property def _cpython_symlink(self): @@ -577,14 +565,12 @@ def _cpython_symlink(self): @property def _cpython_interpreter_name(self): - if self.settings.compiler == "Visual Studio": - suffix = "" - else: - suffix = self._version_suffix - python = "python{}".format(suffix) - if self.settings.compiler == "Visual Studio": + python = "python" + if is_msvc(self): if self.settings.build_type == "Debug": python += "_d" + else: + python += self._version_suffix if self.settings.os == "Windows": python += ".exe" return python @@ -596,80 +582,71 @@ def _cpython_interpreter_path(self): @property def _abi_suffix(self): res = "" - if self._is_py3: - if self.settings.build_type == "Debug": - res += "d" - if tools.Version(self._version_number_only) < "3.8": - if self.options.get_safe("pymalloc", False): - res += "m" + if self.settings.build_type == "Debug": + res += "d" return res @property def _lib_name(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): if self.settings.build_type == "Debug": lib_ext = "_d" else: lib_ext = "" else: - lib_ext = self._abi_suffix + (".dll.a" if self.options.shared and self.settings.os == "Windows" else "") - return "python{}{}".format(self._version_suffix, lib_ext) - - def _fix_install_name(self): - if tools.is_apple_os(self.settings.os) and self.options.shared: - buffer = StringIO() - python = os.path.join(self.package_folder, "bin", "python") - self.run('otool -L "%s"' % python, output=buffer) - lines = buffer.getvalue().strip().split('\n')[1:] - for line in lines: - library = line.split()[0] - if library.startswith(self.package_folder): - new = library.replace(self.package_folder, "@executable_path/..") - self.output.info("patching {}, replace {} with {}".format(python, library, new)) - self.run("install_name_tool -change {} {} {}".format(library, new, python)) + lib_ext = self._abi_suffix + ( + ".dll.a" if self.options.shared and self.settings.os == "Windows" else "" + ) + return f"python{self._version_suffix}{lib_ext}" def package_info(self): # FIXME: conan components Python::Interpreter component, need a target type # self.cpp_info.names["cmake_find_package"] = "Python" # self.cpp_info.names["cmake_find_package_multi"] = "Python" - # FIXME: conan components need to generate multiple .pc files (python2, python-27) - py_version = tools.Version(self._version_number_only) + py_version = Version(self.version) # python component: "Build a C extension for Python" - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self.cpp_info.components["python"].includedirs = [os.path.join(self._msvc_install_subprefix, "include")] libdir = os.path.join(self._msvc_install_subprefix, "libs") else: - self.cpp_info.components["python"].includedirs.append(os.path.join("include", "python{}{}".format(self._version_suffix, self._abi_suffix))) + self.cpp_info.components["python"].includedirs.append( + os.path.join("include", f"python{self._version_suffix}{self._abi_suffix}") + ) libdir = "lib" if self.options.shared: self.cpp_info.components["python"].defines.append("Py_ENABLE_SHARED") else: self.cpp_info.components["python"].defines.append("Py_NO_ENABLE_SHARED") - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["python"].system_libs.extend(["dl", "m", "pthread", "util"]) elif self.settings.os == "Windows": - self.cpp_info.components["python"].system_libs.extend(["pathcch", "shlwapi", "version", "ws2_32"]) + self.cpp_info.components["python"].system_libs.extend( + ["pathcch", "shlwapi", "version", "ws2_32"] + ) self.cpp_info.components["python"].requires = ["zlib::zlib"] if self.settings.os != "Windows": self.cpp_info.components["python"].requires.append("libxcrypt::libxcrypt") - self.cpp_info.components["python"].names["pkg_config"] = "python-{}.{}".format(py_version.major, py_version.minor) + self.cpp_info.components["python"].set_property( + "pkg_config_name", f"python-{py_version.major}.{py_version.minor}" + ) + self.cpp_info.components["python"].set_property( + "pkg_config_aliases", f"python{py_version.major}" + ) self.cpp_info.components["python"].libdirs = [] - self.cpp_info.components["_python_copy"].names["pkg_config"] = "python{}".format(py_version.major) - self.cpp_info.components["_python_copy"].requires = ["python"] - self.cpp_info.components["_python_copy"].libdirs = [] - # embed component: "Embed Python into an application" self.cpp_info.components["embed"].libs = [self._lib_name] self.cpp_info.components["embed"].libdirs = [libdir] - self.cpp_info.components["embed"].names["pkg_config"] = "python-{}.{}-embed".format(py_version.major, py_version.minor) + self.cpp_info.components["embed"].includedirs = [] + self.cpp_info.components["embed"].set_property( + "pkg_config_name", f"python-{py_version.major}.{py_version.minor}-embed" + ) + self.cpp_info.components["embed"].set_property( + "pkg_config_aliases", f"python{py_version.major}-embed" + ) self.cpp_info.components["embed"].requires = ["python"] - self.cpp_info.components["_embed_copy"].requires = ["embed"] - self.cpp_info.components["_embed_copy"].names["pkg_config"] = ["python{}-embed".format(py_version.major)] - self.cpp_info.components["_embed_copy"].libdirs = [] - if self._supports_modules: # hidden components: the C extensions of python are built as dynamically loaded shared libraries. # C extensions or applications with an embedded Python should not need to link to them.. @@ -677,12 +654,11 @@ def package_info(self): "openssl::openssl", "expat::expat", "mpdecimal::mpdecimal", + "libffi::libffi", ] - if self._with_libffi: - self.cpp_info.components["_hidden"].requires.append("libffi::libffi") if self.settings.os != "Windows": - if not tools.is_apple_os(self.settings.os): - self.cpp_info.components["_hidden"].requires.append("libuuid::libuuid") + if not is_apple_os(self): + self.cpp_info.components["_hidden"].requires.append("util-linux-libuuid::util-linux-libuuid") self.cpp_info.components["_hidden"].requires.append("libxcrypt::libxcrypt") if self.options.with_bz2: self.cpp_info.components["_hidden"].requires.append("bzip2::bzip2") @@ -692,47 +668,68 @@ def package_info(self): self.cpp_info.components["_hidden"].requires.append("sqlite3::sqlite3") if self.options.get_safe("with_curses", False): self.cpp_info.components["_hidden"].requires.append("ncurses::ncurses") - if self.options.get_safe("with_bsddb"): - self.cpp_info.components["_hidden"].requires.append("libdb::libdb") if self.options.get_safe("with_lzma"): self.cpp_info.components["_hidden"].requires.append("xz_utils::xz_utils") if self.options.get_safe("with_tkinter"): self.cpp_info.components["_hidden"].requires.append("tk::tk") + self.cpp_info.components["_hidden"].includedirs = [] self.cpp_info.components["_hidden"].libdirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["_hidden"].system_libs.append("nsl") if self.options.env_vars: bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) + self.runenv_info.append_path("PATH", bindir) + self.buildenv_info.append_path("PATH", bindir) + + # TODO remove once Conan 1.x is no longer supported + self.output.info(f"Appending PATH environment variable: {bindir}") self.env_info.PATH.append(bindir) python = self._cpython_interpreter_path + self.conf_info.define("user.cpython:python", python) self.user_info.python = python if self.options.env_vars: - self.output.info("Setting PYTHON environment variable: {}".format(python)) + self.runenv_info.append_path("PYTHON", python) + self.buildenv_info.append_path("PYTHON", python) + + # TODO remove once Conan 1.x is no longer supported + self.output.info(f"Appending PYTHON environment variable: {python}") self.env_info.PYTHON = python - if self.settings.compiler == "Visual Studio": + if is_msvc(self): pythonhome = os.path.join(self.package_folder, "bin") - elif tools.is_apple_os(self.settings.os): - pythonhome = self.package_folder else: - version = tools.Version(self._version_number_only) - pythonhome = os.path.join(self.package_folder, "lib", "python{}.{}".format(version.major, version.minor)) + pythonhome = self.package_folder + self.conf_info.define("user.cpython:pythonhome", pythonhome) self.user_info.pythonhome = pythonhome - pythonhome_required = self.settings.compiler == "Visual Studio" or tools.is_apple_os(self.settings.os) + pythonhome_required = is_msvc(self) or is_apple_os(self) + self.conf_info.define("user.cpython:module_requires_pythonhome", pythonhome_required) self.user_info.module_requires_pythonhome = pythonhome_required - if self.settings.compiler == "Visual Studio": + if is_msvc(self): if self.options.env_vars: - self.output.info("Setting PYTHONHOME environment variable: {}".format(pythonhome)) + # FIXME: On Windows, defining this breaks the packaged Python executable, but fixes + # separately built executables with an embedded interpreter trying to run standard Python + # modules. However, NOT defining this reverses the situation, normal Python executables + #work, but embedded interpreters break. + # The docs at https://python.readthedocs.io/en/latest/using/cmdline.html#envvar-PYTHONHOME + # seem to not be accurate to Windows (https://discuss.python.org/t/the-document-on-pythonhome-might-be-wrong/19614/5) + #self.runenv_info.append_path("PYTHONHOME", pythonhome) + #self.buildenv_info.append_path("PYTHONHOME", pythonhome) + + # TODO remove once Conan 1.x is no longer supported + self.output.info(f"Setting PYTHONHOME environment variable: {pythonhome}") self.env_info.PYTHONHOME = pythonhome - if self._is_py2: - python_root = "" - else: - python_root = self.package_folder - if self.options.env_vars: - self.output.info("Setting PYTHON_ROOT environment variable: {}".format(python_root)) - self.env_info.PYTHON_ROOT = python_root + python_root = self.package_folder + if self.options.env_vars: + self.runenv_info.append_path("PYTHON_ROOT", python_root) + self.buildenv_info.append_path("PYTHON_ROOT", python_root) + + # TODO remove once Conan 1.x is no longer supported + self.output.info(f"Setting PYTHON_ROOT environment variable: {python_root}") + self.env_info.PYTHON_ROOT = python_root + self.conf_info.define("user.cpython:python_root", python_root) self.user_info.python_root = python_root diff --git a/recipes/cpython/all/patches/2.7.18-0001-msvc.patch b/recipes/cpython/all/patches/2.7.18-0001-msvc.patch deleted file mode 100644 index 2c101049df531..0000000000000 --- a/recipes/cpython/all/patches/2.7.18-0001-msvc.patch +++ /dev/null @@ -1,278 +0,0 @@ ---- PCbuild/_bsddb.vcxproj -+++ PCbuild/_bsddb.vcxproj -@@ -46,7 +46,7 @@ - NotSet - - -- -+ - - .pyd - -@@ -75,7 +75,7 @@ - - - -- -+ - - - ---- PCbuild/_hashlib.vcxproj -+++ PCbuild/_hashlib.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -64,7 +64,7 @@ - $(opensslIncludeDir);%(AdditionalIncludeDirectories) - - -- ws2_32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies) -+ ws2_32.lib;%(AdditionalDependencies) - - - -@@ -75,14 +75,14 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - - - ---- PCbuild/_sqlite3.vcxproj -+++ PCbuild/_sqlite3.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -96,10 +96,10 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - - - ---- PCbuild/_ssl.vcxproj -+++ PCbuild/_ssl.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -64,7 +64,7 @@ - $(opensslIncludeDir);%(AdditionalIncludeDirectories) - - -- ws2_32.lib;crypt32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies) -+ ws2_32.lib;crypt32.lib;%(AdditionalDependencies) - - - -@@ -75,14 +75,14 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - - {86937f53-c189-40ef-8ce8-8759d8e7d480} - false ---- PCbuild/bz2.vcxproj -+++ PCbuild/bz2.vcxproj -@@ -47,7 +47,7 @@ - NotSet - - -- -+ - - .pyd - -@@ -72,13 +72,13 @@ - - - -- -+ - - - ---- PCbuild/_elementtree.vcxproj -+++ PCbuild/_elementtree.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -61,15 +61,15 @@ - - - -- ..\Modules\expat;%(AdditionalIncludeDirectories) -- _CRT_SECURE_NO_WARNINGS;USE_PYEXPAT_CAPI;XML_STATIC;%(PreprocessorDefinitions) -+ %(AdditionalIncludeDirectories) -+ _CRT_SECURE_NO_WARNINGS;USE_PYEXPAT_CAPI;%(PreprocessorDefinitions) - - - 0x1D100000 - - - -- -+ - - - -- -+ - - - ---- PCbuild/pyexpat.vcxproj -+++ PCbuild/pyexpat.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -58,19 +58,19 @@ - - - -- $(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories) -- _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;XML_STATIC;%(PreprocessorDefinitions) -+ %(AdditionalIncludeDirectories) -+ _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;%(PreprocessorDefinitions) - - - -- -- -+ - - - -- -+ - - - ---- PCbuild/_tkinter.vcxproj -+++ PCbuild/_tkinter.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -61,11 +61,11 @@ - - - -- $(tcltkDir)include;%(AdditionalIncludeDirectories) -+ %(AdditionalIncludeDirectories) - WITH_APPINIT;%(PreprocessorDefinitions) - - -- $(tcltkLib);%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - -@@ -77,12 +77,12 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - - - diff --git a/recipes/cpython/all/patches/2.7.18-0002-add-support-msvc-14.patch b/recipes/cpython/all/patches/2.7.18-0002-add-support-msvc-14.patch deleted file mode 100644 index 6034410d3d265..0000000000000 --- a/recipes/cpython/all/patches/2.7.18-0002-add-support-msvc-14.patch +++ /dev/null @@ -1,59 +0,0 @@ -Patches from https://bugs.python.org/issue30742 - ---- Modules/posixmodule.c -+++ Modules/posixmodule.c -@@ -563,7 +563,10 @@ typedef struct { - char osfile; - } my_ioinfo; - -+#if _MSC_VER < 1900 // MSVS2013 and lower (https://bugs.python.org/issue30742) - extern __declspec(dllimport) char * __pioinfo[]; -+#endif -+ - #define IOINFO_L2E 5 - #define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E) - #define IOINFO_ARRAYS 64 -@@ -575,6 +578,7 @@ extern __declspec(dllimport) char * __pioinfo[]; - int - _PyVerify_fd(int fd) - { -+#if _MSC_VER < 1900 // MSVS2013 and lower (https://bugs.python.org/issue30742) - const int i1 = fd >> IOINFO_L2E; - const int i2 = fd & ((1 << IOINFO_L2E) - 1); - -@@ -607,6 +611,13 @@ _PyVerify_fd(int fd) - fail: - errno = EBADF; - return 0; -+#else -+ //a call to _get_osfhandle with invalid fd sets errno to EBADF -+ if (_get_osfhandle(fd) == INVALID_HANDLE_VALUE) -+ return 0; -+ else -+ return 1; -+#endif - } - - /* the special case of checking dup2. The target fd must be in a sensible range */ ---- Modules/timemodule.c -+++ Modules/timemodule.c -@@ -803,7 +803,18 @@ inittimezone(PyObject *m) { - - And I'm lazy and hate C so nyer. - */ --#if defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__) -+#if defined(HAVE_TZNAME) && (_MSC_VER >= 1900) //MSVS2015+ (https://bugs.python.org/issue30742) -+ tzset(); -+ PyModule_AddIntConstant(m, "timezone", _timezone); -+#ifdef HAVE_ALTZONE -+ PyModule_AddIntConstant(m, "altzone", altzone); -+#else -+ PyModule_AddIntConstant(m, "altzone", _timezone - 3600); -+#endif -+ PyModule_AddIntConstant(m, "daylight", _daylight); -+ PyModule_AddObject(m, "tzname", -+ Py_BuildValue("(zz)", _tzname[0], _tzname[1])); -+#elif defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__) - tzset(); - #ifdef PYOS_OS2 - PyModule_AddIntConstant(m, "timezone", _timezone); diff --git a/recipes/cpython/all/patches/2.7.18-0003-msvc-fix-static.patch b/recipes/cpython/all/patches/2.7.18-0003-msvc-fix-static.patch deleted file mode 100644 index 9eb079402733d..0000000000000 --- a/recipes/cpython/all/patches/2.7.18-0003-msvc-fix-static.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- PC/dl_nt.c -+++ PC/dl_nt.c -@@ -107,5 +107,7 @@ - } - return TRUE; - } -- -+#else -+ULONG_PTR _Py_ActivateActCtx() { return 0; } -+void _Py_DeactivateActCtx(ULONG_PTR cookie) {} - #endif /* Py_ENABLE_SHARED */ diff --git a/recipes/cpython/all/patches/2.7.18-0004-disable-macos-tcltk.patch b/recipes/cpython/all/patches/2.7.18-0004-disable-macos-tcltk.patch deleted file mode 100644 index 5c61acd74bd5c..0000000000000 --- a/recipes/cpython/all/patches/2.7.18-0004-disable-macos-tcltk.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- setup.py -+++ setup.py -@@ -1928,9 +1928,9 @@ - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return -+ #if (host_platform == 'darwin' and -+ # self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -+ # return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without diff --git a/recipes/cpython/all/patches/3.10.0-0001-msvc.patch b/recipes/cpython/all/patches/3.10/3.10.0-0001-msvc.patch similarity index 94% rename from recipes/cpython/all/patches/3.10.0-0001-msvc.patch rename to recipes/cpython/all/patches/3.10/3.10.0-0001-msvc.patch index e9b1faf061f3b..9884e12e53f1e 100644 --- a/recipes/cpython/all/patches/3.10.0-0001-msvc.patch +++ b/recipes/cpython/all/patches/3.10/3.10.0-0001-msvc.patch @@ -26,7 +26,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -59,7 +59,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -88,7 +88,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -146,7 +146,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -180,7 +180,7 @@ +++ PCbuild/_sqlite3.vcxproj @@ -74,1 +74,1 @@ - -+ ++ @@ -129,4 +129,4 @@ - + ---- PCbuild/_freeze_importlib.vcxproj -+++ PCbuild/_freeze_importlib.vcxproj -@@ -110,1 +110,1 @@ -- -+ --> ---- PCbuild/_bz2.vcxproj -+++ PCbuild/_bz2.vcxproj -@@ -39,7 +39,7 @@ - bz2 - Win32Proj - -- -+ - - - DynamicLibrary -@@ -69,17 +69,17 @@ - - - -- -+ - - -- -- -+ - - - ---- PCbuild/_decimal.vcxproj -+++ PCbuild/_decimal.vcxproj -@@ -39,7 +39,7 @@ - _decimal - Win32Proj - -- -+ - - - DynamicLibrary -@@ -64,11 +64,11 @@ - _CRT_SECURE_NO_WARNINGS;MASM;%(PreprocessorDefinitions) - CONFIG_32;PPRO;%(PreprocessorDefinitions) - CONFIG_64;%(PreprocessorDefinitions) -- ..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories) -+ ..\Modules\_decimal;%(AdditionalIncludeDirectories) - - - -- -+ - - - -- -+ - - -- -+ - - - ---- PCbuild/_elementtree.vcxproj -+++ PCbuild/_elementtree.vcxproj -@@ -39,7 +39,7 @@ - _elementtree - Win32Proj - -- -+ - - - DynamicLibrary -@@ -65,8 +65,8 @@ -- _CRT_SECURE_NO_WARNINGS;USE_PYEXPAT_CAPI;XML_STATIC;%(PreprocessorDefinitions) -+ _CRT_SECURE_NO_WARNINGS;USE_PYEXPAT_CAPI;%(PreprocessorDefinitions) - - - -- -+ - - - -- -+ - - - ---- PCbuild/_lzma.vcxproj -+++ PCbuild/_lzma.vcxproj -@@ -39,7 +39,7 @@ - lzma - Win32Proj - -- -+ - - - DynamicLibrary -@@ -62,10 +62,10 @@ - - - $(lzmaDir)src/liblzma/api;%(AdditionalIncludeDirectories) -- WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LZMA_API_STATIC;%(PreprocessorDefinitions) -+ $(ConanPreprocessorDefinitions);WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LZMA_API_STATIC;%(PreprocessorDefinitions) - - -- $(OutDir)liblzma$(PyDebugExt).lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - -@@ -79,10 +79,10 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - - - ---- PCbuild/_sqlite3.vcxproj -+++ PCbuild/_sqlite3.vcxproj -@@ -39,7 +39,7 @@ - _sqlite3 - Win32Proj - -- -+ - - - DynamicLibrary -@@ -95,10 +95,10 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - - - ---- PCbuild/openssl.vcxproj -+++ PCbuild/openssl.vcxproj -@@ -74,6 +74,6 @@ nmake - - - -- -+ - - - ---- PCbuild/pyexpat.vcxproj -+++ PCbuild/pyexpat.vcxproj -@@ -39,7 +39,7 @@ - {D06B6426-4762-44CC-8BAD-D79052507F2F} - pyexpat - -- -+ - - - DynamicLibrary -@@ -58,19 +58,19 @@ - - - -- $(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories) -- _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_STATIC;%(PreprocessorDefinitions) -+ %(AdditionalIncludeDirectories) -+ _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - - - -- -- -+ - - - -- -+ - - - ---- PCbuild/pythoncore.vcxproj -+++ PCbuild/pythoncore.vcxproj -@@ -38,7 +38,7 @@ - {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} - pythoncore - -- -+ - - - DynamicLibrary -@@ -215,7 +215,7 @@ - - - -- -+ - - - -@@ -409,7 +409,7 @@ - - - -- -+ - - - ---- PCbuild/_hashlib.vcxproj -+++ PCbuild/_hashlib.vcxproj -@@ -39,7 +39,7 @@ - _hashlib - Win32Proj - -- -+ - - - DynamicLibrary -@@ -54,7 +54,7 @@ - - - -- -+ - - - ---- PCbuild/_ssl.vcxproj -+++ PCbuild/_ssl.vcxproj -@@ -39,7 +39,7 @@ - _ssl - Win32Proj - -- -+ - - - DynamicLibrary -@@ -54,7 +54,7 @@ - - - -- -+ - - - -@@ -67,9 +67,9 @@ - - - -- -+ - - - ---- PCbuild/_tkinter.vcxproj -+++ PCbuild/_tkinter.vcxproj -@@ -45,7 +45,7 @@ - DynamicLibrary - NotSet - -- -+ - - .pyd - -@@ -61,12 +61,12 @@ - - - -- $(tcltkDir)include;%(AdditionalIncludeDirectories) -+ %(AdditionalIncludeDirectories) - WITH_APPINIT;%(PreprocessorDefinitions) -- Py_TCLTK_DIR="$(tcltkDir.TrimEnd('\').Replace('\', '\\'))";%(PreprocessorDefinitions) -+ - - -- $(tcltkLib);%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - -@@ -76,10 +76,10 @@ - - - -- -+ - - - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} ---- PCbuild/pcbuild.sln -+++ PCbuild/pcbuild.sln -@@ -9,9 +9,6 @@ - EndProjectSection - EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcxproj", "{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}" -- ProjectSection(ProjectDependencies) = postProject -- {0E9791DB-593A-465F-98BC-681011311618} = {0E9791DB-593A-465F-98BC-681011311618} -- EndProjectSection - EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}" - EndProject diff --git a/recipes/cpython/all/patches/3.7.9-0002-setup.py-pass-CFLAGS-CPPFLAGS.patch b/recipes/cpython/all/patches/3.7.9-0002-setup.py-pass-CFLAGS-CPPFLAGS.patch deleted file mode 100644 index 92e44c8ea6ee5..0000000000000 --- a/recipes/cpython/all/patches/3.7.9-0002-setup.py-pass-CFLAGS-CPPFLAGS.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- Makefile.pre.in -+++ Makefile.pre.in -@@ -618,10 +618,10 @@ - *\ -s*|s*) quiet="-q";; \ - *) quiet="";; \ - esac; \ -- echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ -+ echo "$(RUNSHARED) CC='$(CC) $(CONFIGURE_CFLAGS) $(CONFIGURE_CPPFLAGS)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ -- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ -+ $(RUNSHARED) CC='$(CC) $(CONFIGURE_CFLAGS) $(CONFIGURE_CPPFLAGS)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build - diff --git a/recipes/cpython/all/patches/3.7.9-0003-disable-macos-tcltk.patch b/recipes/cpython/all/patches/3.7.9-0003-disable-macos-tcltk.patch deleted file mode 100644 index f5ffba2f61232..0000000000000 --- a/recipes/cpython/all/patches/3.7.9-0003-disable-macos-tcltk.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- setup.py -+++ setup.py -@@ -1829,9 +1829,9 @@ - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return -+ #if (host_platform == 'darwin' and -+ # self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -+ # return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without diff --git a/recipes/cpython/all/patches/3.8.12-0001-msvc.patch b/recipes/cpython/all/patches/3.8/3.8.12-0001-msvc.patch similarity index 95% rename from recipes/cpython/all/patches/3.8.12-0001-msvc.patch rename to recipes/cpython/all/patches/3.8/3.8.12-0001-msvc.patch index 4e390810d2dde..3e4f2d86c5335 100644 --- a/recipes/cpython/all/patches/3.8.12-0001-msvc.patch +++ b/recipes/cpython/all/patches/3.8/3.8.12-0001-msvc.patch @@ -26,7 +26,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -59,7 +59,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -88,7 +88,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -145,7 +145,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -182,7 +182,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -206,7 +206,7 @@ pythoncore - -+ ++ DynamicLibrary @@ -253,7 +253,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -273,7 +273,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -305,7 +305,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -349,7 +349,7 @@ pyexpat - -+ ++ DynamicLibrary @@ -384,7 +384,7 @@ NotSet - -+ ++ .pyd diff --git a/recipes/cpython/all/patches/3.8.12-0002-_ctypes-ffi.patch b/recipes/cpython/all/patches/3.8/3.8.12-0002-_ctypes-ffi.patch similarity index 100% rename from recipes/cpython/all/patches/3.8.12-0002-_ctypes-ffi.patch rename to recipes/cpython/all/patches/3.8/3.8.12-0002-_ctypes-ffi.patch diff --git a/recipes/cpython/all/patches/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch b/recipes/cpython/all/patches/3.8/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch similarity index 100% rename from recipes/cpython/all/patches/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch rename to recipes/cpython/all/patches/3.8/3.8.12-0003-setup.py-pass-CFLAGS-CPPFLAGS.patch diff --git a/recipes/cpython/all/patches/3.8.12-0004-disable-macos-tcltk.patch b/recipes/cpython/all/patches/3.8/3.8.12-0004-disable-macos-tcltk.patch similarity index 100% rename from recipes/cpython/all/patches/3.8.12-0004-disable-macos-tcltk.patch rename to recipes/cpython/all/patches/3.8/3.8.12-0004-disable-macos-tcltk.patch diff --git a/recipes/cpython/all/patches/3.9.7-0001-msvc.patch b/recipes/cpython/all/patches/3.9/3.9.7-0001-msvc.patch similarity index 95% rename from recipes/cpython/all/patches/3.9.7-0001-msvc.patch rename to recipes/cpython/all/patches/3.9/3.9.7-0001-msvc.patch index fac9247123880..0c65a84205152 100644 --- a/recipes/cpython/all/patches/3.9.7-0001-msvc.patch +++ b/recipes/cpython/all/patches/3.9/3.9.7-0001-msvc.patch @@ -26,7 +26,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -59,7 +59,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -88,7 +88,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -146,7 +146,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -183,7 +183,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -207,7 +207,7 @@ pythoncore - -+ ++ DynamicLibrary @@ -254,7 +254,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -274,7 +274,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -306,7 +306,7 @@ Win32Proj - -+ ++ DynamicLibrary @@ -350,7 +350,7 @@ pyexpat - -+ ++ DynamicLibrary @@ -387,7 +387,7 @@ NotSet - -+ ++ .pyd diff --git a/recipes/cpython/all/patches/3.9.7-0002-_msi-vcxproj.patch b/recipes/cpython/all/patches/3.9/3.9.7-0002-_msi-vcxproj.patch similarity index 100% rename from recipes/cpython/all/patches/3.9.7-0002-_msi-vcxproj.patch rename to recipes/cpython/all/patches/3.9/3.9.7-0002-_msi-vcxproj.patch diff --git a/recipes/cpython/all/patches/3.9.7-0003-_ctypes-ffi.patch b/recipes/cpython/all/patches/3.9/3.9.7-0003-_ctypes-ffi.patch similarity index 100% rename from recipes/cpython/all/patches/3.9.7-0003-_ctypes-ffi.patch rename to recipes/cpython/all/patches/3.9/3.9.7-0003-_ctypes-ffi.patch diff --git a/recipes/cpython/all/patches/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch b/recipes/cpython/all/patches/3.9/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch similarity index 100% rename from recipes/cpython/all/patches/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch rename to recipes/cpython/all/patches/3.9/3.9.7-0004-setup.py-pass-CFLAGS-CPPFLAGS.patch diff --git a/recipes/cpython/all/patches/3.9.7-0005-disable-macos-tcltk.patch b/recipes/cpython/all/patches/3.9/3.9.7-0005-disable-macos-tcltk.patch similarity index 100% rename from recipes/cpython/all/patches/3.9.7-0005-disable-macos-tcltk.patch rename to recipes/cpython/all/patches/3.9/3.9.7-0005-disable-macos-tcltk.patch diff --git a/recipes/cpython/all/test_package/CMakeLists.txt b/recipes/cpython/all/test_package/CMakeLists.txt index 525329324757f..0d333d99af1e3 100644 --- a/recipes/cpython/all/test_package/CMakeLists.txt +++ b/recipes/cpython/all/test_package/CMakeLists.txt @@ -1,15 +1,19 @@ -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(cpython REQUIRED CONFIG) -set(CACHE PY_VERSION_MAJOR "" CACHE STRING "MAJOR version of python") -set(CACHE PY_VERSION_MAJOR_MINOR "" CACHE STRING "MAJOR.MINOR version of python") -set(CACHE PY_VERSION "" CACHE STRING "Required version of python") -set(CACHE PY_VERSION_SUFFIX "" CACHE STRING "Suffix of python") +# FIXME: We can't modify CMake's FindPython to link dependencies pulled by +# Conan, so here we just include them globally. This is mainly necessary for +# MacOS missing crypt.h, which is available at configure time (in the main recipe) +# but otherwise not at build time (in consumer packages). +link_libraries(cpython::python) -set(Python_ADDITIONAL_VERSIONS ${PY_VERSION}${PY_VERSION_SUFFIX} ${PY_VERSION_MAJOR_MINOR}${PY_VERSION_SUFFIX} ${PY_VERSION_MAJOR}${PY_VERSION_SUFFIX} ${PY_VERSION} ${PY_VERSION_MAJOR_MINOR} ${PY_VERSION_MAJOR}) +set(PY_VERSION_MAJOR_MINOR "" CACHE STRING "MAJOR.MINOR version of python") +set(PY_VERSION "" CACHE STRING "Required version of python") +set(PY_VERSION_SUFFIX "" CACHE STRING "Suffix of python") + +set(Python_ADDITIONAL_VERSIONS ${PY_VERSION}${PY_VERSION_SUFFIX} ${PY_VERSION_MAJOR_MINOR}${PY_VERSION_SUFFIX} 3${PY_VERSION_SUFFIX} ${PY_VERSION} ${PY_VERSION_MAJOR_MINOR} 3) message("Using Python_ADDITIONAL_VERSIONS: ${Python_ADDITIONAL_VERSIONS}") find_package(PythonInterp REQUIRED) @@ -22,7 +26,6 @@ endif() message(STATUS "FindPythonInterp:") message(STATUS "PYTHON_VERSION_STRING: ${PYTHON_VERSION_STRING}") -message(STATUS "PYTHON_VERSION_MAJOR: ${PYTHON_VERSION_MAJOR}") message(STATUS "PYTHON_VERSION_MINOR: ${PYTHON_VERSION_MINOR}") message(STATUS "PYTHON_VERSION_PATCH: ${PYTHON_VERSION_PATCH}") message(STATUS "=============================================") @@ -45,8 +48,8 @@ if(PYTHON_VERSION_STRING) endif() if(PYTHONLIBS_VERSION_STRING) - if(NOT PYTHONLIBS_VERSION_STRING STREQUAL "${PY_FULL_VERSION}") - message("PYTHONLIBS_VERSION_STRING does not match PY_FULL_VERSION") + if(NOT PYTHONLIBS_VERSION_STRING STREQUAL "${PY_VERSION}") + message("PYTHONLIBS_VERSION_STRING does not match PY_VERSION") message(FATAL_ERROR "CMake detected wrong cpython version") endif() endif() @@ -54,7 +57,7 @@ endif() option(BUILD_MODULE "Build python module") if(BUILD_MODULE) - add_library(spam MODULE "py${PY_VERSION_MAJOR}/test_module.c") + add_library(spam MODULE "test_module.c") target_include_directories(spam PRIVATE ${PYTHON_INCLUDE_DIRS} @@ -64,37 +67,29 @@ if(BUILD_MODULE) ) set_property(TARGET spam PROPERTY PREFIX "") if(MSVC) - if(CONAN_SETTINGS_BUILD_TYPE STREQUAL "Debug") - set(SUFFIX "_d.pyd") - else() - set(SUFFIX ".pyd") - endif() - set_property(TARGET spam PROPERTY SUFFIX "${SUFFIX}") + set_target_properties(spam PROPERTIES + DEBUG_POSTFIX "_d" + SUFFIX ".pyd" + ) endif() option(USE_FINDPYTHON_X "Use new-style FindPythonX module") - if(USE_FINDPYTHON_X AND NOT (CMAKE_VERSION VERSION_LESS "3.16")) - # Require CMake 3.16 because this version introduces Python${PY_VERSION_MAJOR}_FIND_ABI - find_package(Python${PY_VERSION_MAJOR} REQUIRED COMPONENTS Interpreter Development) - message("Python${PY_VERSION_MAJOR}_EXECUTABLE: ${Python${PY_VERSION_MAJOR}_EXECUTABLE}") - message("Python${PY_VERSION_MAJOR}_INTERPRETER_ID: ${Python${PY_VERSION_MAJOR}_INTERPRETER_ID}") - message("Python${PY_VERSION_MAJOR}_VERSION: ${Python${PY_VERSION_MAJOR}_VERSION}") - message("Python${PY_VERSION_MAJOR}_INCLUDE_DIRS: ${Python${PY_VERSION_MAJOR}_INCLUDE_DIRS}") - message("Python${PY_VERSION_MAJOR}_LIBRARIES: ${Python${PY_VERSION_MAJOR}_LIBRARIES}") - if(NOT Python${PY_VERSION_MAJOR}_VERSION STREQUAL "${PY_VERSION}") + if(USE_FINDPYTHON_X AND NOT CMAKE_VERSION VERSION_LESS "3.16") + # Require CMake 3.16 because this version introduces Python3_FIND_ABI + find_package(Python3 REQUIRED COMPONENTS Interpreter Development) + message("Python3_EXECUTABLE: ${Python3_EXECUTABLE}") + message("Python3_INTERPRETER_ID: ${Python3_INTERPRETER_ID}") + message("Python3_VERSION: ${Python3_VERSION}") + message("Python3_INCLUDE_DIRS: ${Python3_INCLUDE_DIRS}") + message("Python3_LIBRARIES: ${Python3_LIBRARIES}") + if(NOT Python3_VERSION STREQUAL "${PY_VERSION}") message("Python_ADDITIONAL_VERSIONS does not match PY_VERSION") message(FATAL_ERROR "CMake detected wrong cpython version") endif() - if(PY_VERSION_MAJOR STREQUAL "2") - python2_add_library(spam2 "py${PY_VERSION_MAJOR}/test_module.c") - elseif(PY_VERSION_MAJOR STREQUAL "3") - python3_add_library(spam2 "py${PY_VERSION_MAJOR}/test_module.c") - else() - message(FATAL_ERROR "Unknown PY_VERSION_MAJOR") - endif() + python3_add_library(spam2 "test_module.c") endif() endif() -add_executable(${PROJECT_NAME} "py${PY_VERSION_MAJOR}/test_package.c") -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +add_executable(${PROJECT_NAME} "test_package.c") +target_link_libraries(${PROJECT_NAME} PRIVATE cpython::embed) diff --git a/recipes/cpython/all/test_package/conanfile.py b/recipes/cpython/all/test_package/conanfile.py index 8abc18e4492c5..bca7c7fcfd3b7 100644 --- a/recipes/cpython/all/test_package/conanfile.py +++ b/recipes/cpython/all/test_package/conanfile.py @@ -1,192 +1,193 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, CMake, tools, RunEnvironment -from conans.errors import ConanException -from io import StringIO import os -import re -import shutil - +from io import StringIO -class CmakePython3Abi(object): - def __init__(self, debug, pymalloc, unicode): - self.debug, self.pymalloc, self.unicode = debug, pymalloc, unicode +from conan import ConanFile, conan_version +from conan.errors import ConanException +from conan.tools.apple import is_apple_os +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import Environment, VirtualRunEnv +from conan.tools.gnu import AutotoolsDeps +from conan.tools.microsoft import is_msvc, VCVars +from conan.tools.scm import Version - _cmake_lut = { - None: "ANY", - True: "ON", - False: "OFF", - } +conan2 = conan_version.major >= 2 - @property - def suffix(self): - return "{}{}{}".format( - "d" if self.debug else "", - "m" if self.pymalloc else "", - "u" if self.unicode else "", - ) +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" - @property - def cmake_arg(self): - return ";".join(self._cmake_lut[a] for a in (self.debug, self.pymalloc, self.unicode)) + def requirements(self): + self.requires(self.tested_reference_str) + def build_requirements(self): + # The main recipe does not require CMake, but we test with it. + # The interesting problem that arises here is if you have CMake installed + # with your global pip, then it will fail to run in this test package. + # To avoid that, just add a requirement on CMake. + self.tool_requires("cmake/[>=3.15 <4]") -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + def layout(self): + cmake_layout(self) @property - def _py_version(self): - return re.match(r"^([0-9.]+)", self.deps_cpp_info["cpython"].version).group(1) + def _python(self): + if conan2: + return self.dependencies["cpython"].conf_info.get("user.cpython:python", check_type=str) + else: + return self.deps_user_info["cpython"].python - @property - def _pymalloc(self): - return bool("pymalloc" in self.options["cpython"] and self.options["cpython"].pymalloc) + def _cpython_option(self, name): + if conan2: + return self.dependencies["cpython"].options.get_safe(name, False) + else: + try: + return getattr(self.options["cpython"], name, False) + except ConanException: + return False @property - def _cmake_abi(self): - if self._py_version < tools.Version("3.8"): - return CmakePython3Abi( - debug=self.settings.build_type == "Debug", - pymalloc=self._pymalloc, - unicode=False, - ) + def _py_version(self): + if conan2: + return Version(self.dependencies["cpython"].ref.version) else: - return CmakePython3Abi( - debug=self.settings.build_type == "Debug", - pymalloc=False, - unicode=False, - ) + return Version(self.deps_cpp_info["cpython"].version) @property def _cmake_try_FindPythonX(self): - if self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug": - return False - return True + return not is_msvc(self) or self.settings.build_type != "Debug" @property def _supports_modules(self): - return self.settings.compiler != "Visual Studio" or self.options["cpython"].shared + return not is_msvc(self) or self._cpython_option("shared") + + def generate(self): + tc = CMakeToolchain(self) + version = self._py_version + tc.cache_variables["BUILD_MODULE"] = self._supports_modules + tc.cache_variables["PY_VERSION_MAJOR_MINOR"] = f"{version.major}.{version.minor}" + tc.cache_variables["PY_VERSION"] = str(self._py_version) + tc.cache_variables["PY_VERSION_SUFFIX"] = "d" if self.settings.build_type == "Debug" else "" + tc.cache_variables["PYTHON_EXECUTABLE"] = self._python + tc.cache_variables["USE_FINDPYTHON_X"] = self._cmake_try_FindPythonX + tc.cache_variables["Python3_EXECUTABLE"] = self._python + tc.cache_variables["Python3_ROOT_DIR"] = self.dependencies["cpython"].package_folder + tc.cache_variables["Python3_USE_STATIC_LIBS"] = not self.dependencies["cpython"].options.shared + tc.cache_variables["Python3_FIND_FRAMEWORK"] = "NEVER" + tc.cache_variables["Python3_FIND_REGISTRY"] = "NEVER" + tc.cache_variables["Python3_FIND_IMPLEMENTATIONS"] = "CPython" + tc.cache_variables["Python3_FIND_STRATEGY"] = "LOCATION" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() - def build(self): - if not tools.cross_building(self, skip_x64_x86=True): - command = "{} --version".format(self.deps_user_info["cpython"].python) - buffer = StringIO() - self.run(command, output=buffer, ignore_errors=True, run_environment=True) - self.output.info("output: %s" % buffer.getvalue()) - self.run(command, run_environment=True) + try: + # CMakeToolchain might generate VCVars, but we need it + # unconditionally for the setuptools build. + VCVars(self).generate() + except ConanException: + pass + # The build also needs access to the run environment to run the python executable + VirtualRunEnv(self).generate(scope="run") + VirtualRunEnv(self).generate(scope="build") + # Just for the distutils build + AutotoolsDeps(self).generate(scope="build") + + def build(self): cmake = CMake(self) - py_major = self.deps_cpp_info["cpython"].version.split(".")[0] - cmake.definitions["BUILD_MODULE"] = self._supports_modules - cmake.definitions["PY_VERSION_MAJOR"] = py_major - cmake.definitions["PY_VERSION_MAJOR_MINOR"] = ".".join(self._py_version.split(".")[:2]) - cmake.definitions["PY_FULL_VERSION"] = self.deps_cpp_info["cpython"].version - cmake.definitions["PY_VERSION"] = self._py_version - cmake.definitions["PY_VERSION_SUFFIX"] = self._cmake_abi.suffix - cmake.definitions["PYTHON_EXECUTABLE"] = self.deps_user_info["cpython"].python - cmake.definitions["USE_FINDPYTHON_X".format(py_major)] = self._cmake_try_FindPythonX - cmake.definitions["Python{}_EXECUTABLE".format(py_major)] = self.deps_user_info["cpython"].python - cmake.definitions["Python{}_ROOT_DIR".format(py_major)] = self.deps_cpp_info["cpython"].rootpath - cmake.definitions["Python{}_USE_STATIC_LIBS".format(py_major)] = not self.options["cpython"].shared - cmake.definitions["Python{}_FIND_FRAMEWORK".format(py_major)] = "NEVER" - cmake.definitions["Python{}_FIND_REGISTRY".format(py_major)] = "NEVER" - cmake.definitions["Python{}_FIND_IMPLEMENTATIONS".format(py_major)] = "CPython" - cmake.definitions["Python{}_FIND_STRATEGY".format(py_major)] = "LOCATION" - - if self.settings.compiler != "Visual Studio": - if tools.Version(self._py_version) < tools.Version("3.8"): - cmake.definitions["Python{}_FIND_ABI".format(py_major)] = self._cmake_abi.cmake_arg - - with tools.environment_append(RunEnvironment(self).vars): - cmake.configure() + cmake.configure() cmake.build() - if not tools.cross_building(self, skip_x64_x86=True): - if self._supports_modules: - with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): - modsrcfolder = "py2" if tools.Version(self.deps_cpp_info["cpython"].version).major < "3" else "py3" - tools.mkdir(os.path.join(self.build_folder, modsrcfolder)) - for fn in os.listdir(os.path.join(self.source_folder, modsrcfolder)): - shutil.copy(os.path.join(self.source_folder, modsrcfolder, fn), os.path.join(self.build_folder, modsrcfolder, fn)) - shutil.copy(os.path.join(self.source_folder, "setup.py"), os.path.join(self.build_folder, "setup.py")) - env = { - "DISTUTILS_USE_SDK": "1", - "MSSdk": "1" - } - env.update(**AutoToolsBuildEnvironment(self).vars) - with tools.environment_append(env): - setup_args = [ - "{}/setup.py".format(self.source_folder), - # "conan", - # "--install-folder", self.build_folder, - "build", - "--build-base", self.build_folder, - "--build-platlib", os.path.join(self.build_folder, "lib_setuptools"), - ] - if self.settings.build_type == "Debug": - setup_args.append("--debug") - self.run("{} {}".format(self.deps_user_info["cpython"].python, " ".join("\"{}\"".format(a) for a in setup_args)), run_environment=True) + if can_run(self) and self._supports_modules: + os.environ["DISTUTILS_USE_SDK"] = "1" + os.environ["MSSdk"] = "1" + setup_args = [ + os.path.join(self.source_folder, "setup.py"), + "build", + "--build-base", self.build_folder, + "--build-platlib", os.path.join(self.build_folder, "lib_setuptools"), + # Bandaid fix: setuptools places temporary files in a subdirectory of the build folder where the + # entirety of the absolute path up to this folder is appended (with seemingly no way to stop this), + # essentially doubling the path length. This may run into Windows max path lengths, so we give ourselves + # a little bit of wiggle room by making this directory name as short as possible. One of the directory + # names goes from (for example) "temp.win-amd64-3.10-pydebug" to "t", saving us roughly 25 characters. + "--build-temp", "t", + ] + if self.settings.build_type == "Debug": + setup_args.append("--debug") + args = " ".join(f'"{a}"' for a in setup_args) + self.run(f"{self._python} {args}") def _test_module(self, module, should_work): try: - self.run("{} {}/test_package.py -b {} -t {} ".format( - self.deps_user_info["cpython"].python, self.source_folder, self.build_folder, module), run_environment=True) - works = True - except ConanException as e: - works = False - exception = e - if should_work == works: - self.output.info("Result of test was expected.") - else: - if works: - raise ConanException("Module '{}' works, but should not have worked".format(module)) - else: - self.output.warn("Module '{}' does not work, but should have worked".format(module)) - raise exception - - def _cpython_option(self, name): - try: - return getattr(self.options["cpython"], name, False) + self.run(f"{self._python} {self.source_folder}/test_package.py -b {self.build_folder} -t {module}", env="conanrun") except ConanException: - return False + if should_work: + self.output.warning(f"Module '{module}' does not work, but should have worked") + raise + self.output.info("Module failed as expected") + return + if not should_work: + raise ConanException(f"Module '{module}' works, but should not have worked") + self.output.info("Module worked as expected") def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run("{} -c \"print('hello world')\"".format(self.deps_user_info["cpython"].python), run_environment=True) + if can_run(self): + self.run(f"{self._python} --version", env="conanrun") + + self.run(f"{self._python} -c \"print('hello world')\"", env="conanrun") buffer = StringIO() - self.run("{} -c \"import sys; print('.'.join(str(s) for s in sys.version_info[:3]))\"".format(self.deps_user_info["cpython"].python), run_environment=True, output=buffer) + self.run(f"{self._python} -c \"import sys; print('.'.join(str(s) for s in sys.version_info[:3]))\"", buffer, env="conanrun") self.output.info(buffer.getvalue()) version_detected = buffer.getvalue().splitlines()[-1].strip() if self._py_version != version_detected: - raise ConanException("python reported wrong version. Expected {exp}. Got {res}.".format(exp=self._py_version, res=version_detected)) + raise ConanException( + f"python reported wrong version. Expected {self._py_version}. Got {version_detected}." + ) if self._supports_modules: self._test_module("gdbm", self._cpython_option("with_gdbm")) self._test_module("bz2", self._cpython_option("with_bz2")) - self._test_module("bsddb", self._cpython_option("with_bsddb")) self._test_module("lzma", self._cpython_option("with_lzma")) self._test_module("tkinter", self._cpython_option("with_tkinter")) - with tools.environment_append({"TERM": "ansi"}): - self._test_module("curses", self._cpython_option("with_curses")) - + os.environ["TERM"] = "ansi" + self._test_module("curses", self._cpython_option("with_curses")) self._test_module("expat", True) - self._test_module("sqlite3", True) + self._test_module("sqlite3", self._cpython_option("with_sqlite3")) self._test_module("decimal", True) self._test_module("ctypes", True) - - if tools.is_apple_os(self.settings.os) and not self.options["cpython"].shared: - self.output.info("Not testing the module, because these seem not to work on apple when cpython is built as a static library") + env = Environment() + if self.settings.os != "Windows": + env.define_path("OPENSSL_CONF", os.path.join(os.sep, "dev", "null")) + with env.vars(self).apply(): + self._test_module("ssl", True) + + if is_apple_os(self) and not self._cpython_option("shared"): + self.output.info( + "Not testing the module, because these seem not to work on apple when cpython is built as" + " a static library" + ) # FIXME: find out why cpython on apple does not allow to use modules linked against a static python else: if self._supports_modules: - with tools.environment_append({"PYTHONPATH": [os.path.join(self.build_folder, "lib")]}): - self.output.info("Testing module (spam) using cmake built module") - self._test_module("spam", True) + os.environ["PYTHONPATH"] = os.path.join(self.build_folder, self.cpp.build.libdirs[0]) + self.output.info("Testing module (spam) using cmake built module") + self._test_module("spam", True) + + os.environ["PYTHONPATH"] = os.path.join(self.build_folder, "lib_setuptools") + self.output.info("Testing module (spam) using setup.py built module") + self._test_module("spam", True) - with tools.environment_append({"PYTHONPATH": [os.path.join(self.build_folder, "lib_setuptools")]}): - self.output.info("Testing module (spam) using setup.py built module") - self._test_module("spam", True) + del os.environ["PYTHONPATH"] - # MSVC builds need PYTHONHOME set. - with tools.environment_append({"PYTHONHOME": self.deps_user_info["cpython"].pythonhome}) if self.deps_user_info["cpython"].module_requires_pythonhome == "True" else tools.no_op(): - self.run(os.path.join("bin", "test_package"), run_environment=True) + # MSVC builds need PYTHONHOME set. Linux and Mac don't require it to be set if tested after building, + # but if the package is relocated then it needs to be set. + if conan2: + os.environ["PYTHONHOME"] = self.dependencies["cpython"].conf_info.get("user.cpython:pythonhome", check_type=str) + else: + os.environ["PYTHONHOME"] = self.deps_user_info["cpython"].pythonhome + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cpython/all/test_package/py2/test_module.c b/recipes/cpython/all/test_package/py2/test_module.c deleted file mode 100644 index 9c5af39ab391b..0000000000000 --- a/recipes/cpython/all/test_package/py2/test_module.c +++ /dev/null @@ -1,42 +0,0 @@ -#include - -#include - -static PyObject *SpamError; - -static PyObject * -spam_system(PyObject *self, PyObject *args) -{ - const char *command; - int sts; - - if (!PyArg_ParseTuple(args, "s", &command)) - return NULL; - sts = system(command); - if (sts < 0) { - PyErr_SetString(SpamError, "System command failed"); - return NULL; - } - return PyLong_FromLong(sts); -} - -const char spam_doc[] = "This is an example spam doc."; - -static PyMethodDef SpamMethods[] = { - {"system", spam_system, METH_VARARGS, "Execute a shell command."}, - {NULL, NULL, 0, NULL} /* Sentinel */ -}; - -PyMODINIT_FUNC -initspam(void) -{ - PyObject *m; - - m = Py_InitModule("spam", SpamMethods); - if (m == NULL) - return; - PyModule_AddStringConstant(m, "__doc__", spam_doc); - SpamError = PyErr_NewException("spam.error", NULL, NULL); - Py_INCREF(SpamError); - PyModule_AddObject(m, "error", SpamError); -} diff --git a/recipes/cpython/all/test_package/py2/test_package.c b/recipes/cpython/all/test_package/py2/test_package.c deleted file mode 100644 index 5e5d839b5a6a1..0000000000000 --- a/recipes/cpython/all/test_package/py2/test_package.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -int -main(int argc, char *argv[]) -{ - Py_SetProgramName(argv[0]); /* optional but recommended */ - Py_Initialize(); - PyRun_SimpleString("from time import time,ctime\n" - "print 'Today is',ctime(time())\n"); - Py_Finalize(); - return 0; -} diff --git a/recipes/cpython/all/test_package/setup.py b/recipes/cpython/all/test_package/setup.py index cd1754cef8131..2cf4febef6264 100644 --- a/recipes/cpython/all/test_package/setup.py +++ b/recipes/cpython/all/test_package/setup.py @@ -1,5 +1,4 @@ import os -import sys # Hack to work around Python 3.8+ secure dll loading: # see https://docs.python.org/3/whatsnew/3.8.html#bpo-36085-whatsnew @@ -8,24 +7,14 @@ if os.path.isdir(directory): os.add_dll_directory(directory) -PY2 = (2, 0) <= sys.version_info < (3, 0) -PY3 = (3, 0) <= sys.version_info < (4, 0) - -if PY2: - subdir = "py2" - from distutils.core import setup, Extension -elif PY3: - subdir = "py3" - from setuptools import setup, Extension -else: - raise Exception +from setuptools import setup, Extension +script_dir = os.path.dirname(os.path.realpath(__file__)) setup( name="test_package", version="1.0", - use_2to3=True, ext_modules=[ - Extension("spam", [os.path.join(subdir, "test_module.c")]), + Extension("spam", [os.path.join(script_dir, "test_module.c")]), ], ) diff --git a/recipes/cpython/all/test_package/py3/test_module.c b/recipes/cpython/all/test_package/test_module.c similarity index 100% rename from recipes/cpython/all/test_package/py3/test_module.c rename to recipes/cpython/all/test_package/test_module.c diff --git a/recipes/cpython/all/test_package/py3/test_package.c b/recipes/cpython/all/test_package/test_package.c similarity index 100% rename from recipes/cpython/all/test_package/py3/test_package.c rename to recipes/cpython/all/test_package/test_package.c diff --git a/recipes/cpython/all/test_package/test_package.py b/recipes/cpython/all/test_package/test_package.py index f77d2837c6376..bed43fac74c62 100644 --- a/recipes/cpython/all/test_package/test_package.py +++ b/recipes/cpython/all/test_package/test_package.py @@ -14,12 +14,13 @@ def add_test(fn): global ALL_TESTS - name = fn.__name__[fn.__name__.find("_")+1:] + name = fn.__name__[fn.__name__.find("_") + 1 :] def inner_fn(): print("testing {}".format(name)) sys.stdout.flush() fn() + ALL_TESTS[name] = inner_fn return fn @@ -30,13 +31,13 @@ def test_expat(): # 3 handler functions def start_element(name, attrs): - print('Start element:', name, attrs) + print("Start element:", name, attrs) def end_element(name): - print('End element:', name) + print("End element:", name) def char_data(data): - print('Character data:', repr(data)) + print("Character data:", repr(data)) p = xml.parsers.expat.ParserCreate() @@ -44,18 +45,18 @@ def char_data(data): p.EndElementHandler = end_element p.CharacterDataHandler = char_data - p.Parse(""" + p.Parse( + """ Text goes here More text - """, 1) + """, + 1, + ) @add_test def test_gdbm(): - if sys.version_info < (3, 0): - import gdbm - else: - import dbm.gnu as gdbm + import dbm.gnu as gdbm dbfile = "gdbm.db" @@ -85,10 +86,8 @@ def test_spam(): if "This is an example spam doc." not in spam.__doc__: raise Exception("spam.__doc__ does not contain the expected text") - cmd = { - "Windows": "dir", - }.get(platform.system(), "ls") - print("About to run spam.system(\"{}\")".format(cmd)) + cmd = {"Windows": "dir"}.get(platform.system(), "ls") + print('About to run spam.system("{}")'.format(cmd)) sys.stdout.flush() spam.system(cmd) @@ -103,24 +102,6 @@ def test_bz2(): raise Exception("bz2.compress returned no data") -@add_test -def test_bsddb(): - import bsddb - - db = bsddb.btopen("bsddb.db", "c") - db["key1"] = "value1" - db["key2"] = "value2" - db.close() - - db = bsddb.btopen("bsddb.db", "r") - if len(db) != 2: - raise Exception("Wrong length") - if db["key1"] != "value1": - raise Exception("value1 incorrect {}".format(db["key1"])) - if db["key2"] != "value2": - raise Exception("value2 incorrect {}".format(db["key2"])) - - @add_test def test_lzma(): import lzma @@ -133,6 +114,7 @@ def test_lzma(): @add_test def test_sqlite3(): import sqlite3 + conn = sqlite3.connect("sqlite3.db") c = conn.cursor() @@ -141,16 +123,16 @@ def test_sqlite3(): c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)") conn.commit() - t = ('RHAT',) - c.execute('SELECT * FROM stocks WHERE symbol=?', t) + t = ("RHAT",) + c.execute("SELECT * FROM stocks WHERE symbol=?", t) # Larger example that inserts many records at a time purchases = [ - ('2006-03-28', 'BUY', 'IBM', 1000, 45.00), - ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00), - ('2006-04-06', 'SELL', 'IBM', 500, 53.00), + ("2006-03-28", "BUY", "IBM", 1000, 45.00), + ("2006-04-05", "BUY", "MSFT", 1000, 72.00), + ("2006-04-06", "SELL", "IBM", 500, 53.00), ] - c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases) + c.executemany("INSERT INTO stocks VALUES (?,?,?,?,?)", purchases) conn.commit() conn.close() conn = sqlite3.connect("sqlite3.db") @@ -161,15 +143,15 @@ def test_sqlite3(): raise Exception("Need 4 stocks") print(data) conn.close() + # Remove the file so subsequent tests don't fail + os.remove("sqlite3.db") @add_test def test_decimal(): - if sys.version_info >= (3, ): - # Check whether the _decimal package was built successfully - import _decimal as decimal - else: - import decimal + # Check whether the _decimal package was built successfully + import _decimal as decimal + decimal.getcontext().prec = 6 print("1/7 =", decimal.Decimal(1) / decimal.Decimal(7)) decimal.getcontext().prec = 40 @@ -199,6 +181,14 @@ def test_tkinter(): print("tk version: {}".format(_tkinter.TK_VERSION)) +@add_test +def test_ssl(): + import ssl + + default_context = ssl.create_default_context() + print("default_context.options={}".format(default_context.options)) + + def main(): parser = argparse.ArgumentParser() parser.add_argument("-b", dest="build_folder", help="build_folder", required=True) diff --git a/recipes/cpython/all/test_v1_package/CMakeLists.txt b/recipes/cpython/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..6014dcdd6efcb --- /dev/null +++ b/recipes/cpython/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,96 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +conan_basic_setup() + +set(CACHE PY_VERSION_MAJOR "" CACHE STRING "MAJOR version of python") +set(CACHE PY_VERSION_MAJOR_MINOR "" CACHE STRING "MAJOR.MINOR version of python") +set(CACHE PY_VERSION "" CACHE STRING "Required version of python") +set(CACHE PY_VERSION_SUFFIX "" CACHE STRING "Suffix of python") + +set(Python_ADDITIONAL_VERSIONS ${PY_VERSION}${PY_VERSION_SUFFIX} ${PY_VERSION_MAJOR_MINOR}${PY_VERSION_SUFFIX} 3${PY_VERSION_SUFFIX} ${PY_VERSION} ${PY_VERSION_MAJOR_MINOR} 3) +message("Using Python_ADDITIONAL_VERSIONS: ${Python_ADDITIONAL_VERSIONS}") + +find_package(PythonInterp REQUIRED) +find_package(PythonLibs REQUIRED) + +string(FIND "${PYTHON_EXECUTABLE}" "${CONAN_CPYTHON_ROOT}" ROOT_SUBPOS) +if(ROOT_SUBPOS EQUAL -1) + message(FATAL_ERROR "found wrong python interpreter: ${PYTHON_EXECUTABLE}") +endif() + +message(STATUS "FindPythonInterp:") +message(STATUS "PYTHON_VERSION_STRING: ${PYTHON_VERSION_STRING}") +message(STATUS "PYTHON_VERSION_MAJOR: ${PYTHON_VERSION_MAJOR}") +message(STATUS "PYTHON_VERSION_MINOR: ${PYTHON_VERSION_MINOR}") +message(STATUS "PYTHON_VERSION_PATCH: ${PYTHON_VERSION_PATCH}") +message(STATUS "=============================================") +message(STATUS "FindPythonLibs:") +message(STATUS "PYTHON_LIBRARIES: ${PYTHON_LIBRARIES}") +message(STATUS "PYTHON_INCLUDE_PATH: ${PYTHON_INCLUDE_PATH} (deprecated)") +message(STATUS "PYTHON_INCLUDE_DIRS: ${PYTHON_INCLUDE_DIRS}") +message(STATUS "PYTHON_DEBUG_LIBRARIES: ${PYTHON_DEBUG_LIBRARIES} (deprecated)") +message(STATUS "PYTHONLIBS_VERSION_STRING: ${PYTHONLIBS_VERSION_STRING}") + +if(NOT PYTHON_VERSION_STRING AND NOT PYTHONLIBS_VERSION_STRING) + message(FATAL_ERROR "Version of python interpreter and libraries not found") +endif() + +if(PYTHON_VERSION_STRING) + if(NOT PYTHON_VERSION_STRING VERSION_EQUAL "${PY_VERSION}") + message("PYTHON_VERSION_STRING does not match PY_VERSION") + message(FATAL_ERROR "CMake detected wrong cpython version") + endif() +endif() + +if(PYTHONLIBS_VERSION_STRING) + if(NOT PYTHONLIBS_VERSION_STRING STREQUAL "${PY_FULL_VERSION}") + message("PYTHONLIBS_VERSION_STRING does not match PY_FULL_VERSION") + message(FATAL_ERROR "CMake detected wrong cpython version") + endif() +endif() + +option(BUILD_MODULE "Build python module") + +set(SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../test_package") + +if(BUILD_MODULE) + add_library(spam MODULE "${SOURCE_DIR}/test_module.c") + target_include_directories(spam + PRIVATE + ${PYTHON_INCLUDE_DIRS} + ) + target_link_libraries(spam PRIVATE + ${PYTHON_LIBRARIES} + ) + set_property(TARGET spam PROPERTY PREFIX "") + if(MSVC) + if(CONAN_SETTINGS_BUILD_TYPE STREQUAL "Debug") + set(SUFFIX "_d.pyd") + else() + set(SUFFIX ".pyd") + endif() + set_property(TARGET spam PROPERTY SUFFIX "${SUFFIX}") + endif() + + option(USE_FINDPYTHON_X "Use new-style FindPythonX module") + if(USE_FINDPYTHON_X AND NOT (CMAKE_VERSION VERSION_LESS "3.16")) + # Require CMake 3.16 because this version introduces Python3_FIND_ABI + find_package(Python3 REQUIRED COMPONENTS Interpreter Development) + message("Python3_EXECUTABLE: ${Python3_EXECUTABLE}") + message("Python3_INTERPRETER_ID: ${Python3_INTERPRETER_ID}") + message("Python3_VERSION: ${Python3_VERSION}") + message("Python3_INCLUDE_DIRS: ${Python3_INCLUDE_DIRS}") + message("Python3_LIBRARIES: ${Python3_LIBRARIES}") + if(NOT Python3_VERSION STREQUAL "${PY_VERSION}") + message("Python_ADDITIONAL_VERSIONS does not match PY_VERSION") + message(FATAL_ERROR "CMake detected wrong cpython version") + endif() + + python3_add_library(spam2 "${SOURCE_DIR}/test_module.c") + endif() +endif() + +add_executable(${PROJECT_NAME} "${SOURCE_DIR}/test_package.c") +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/cpython/all/test_v1_package/conanfile.py b/recipes/cpython/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b79e5742735f3 --- /dev/null +++ b/recipes/cpython/all/test_v1_package/conanfile.py @@ -0,0 +1,154 @@ +from conans import AutoToolsBuildEnvironment, ConanFile, CMake, tools, RunEnvironment +from conans.errors import ConanException +from conan.tools.env import VirtualRunEnv +from io import StringIO +import os +import re + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + @property + def _py_version(self): + return re.match(r"^([0-9.]+)", self.deps_cpp_info["cpython"].version).group(1) + + @property + def _cmake_try_FindPythonX(self): + if self.settings.compiler == "Visual Studio" and self.settings.build_type == "Debug": + return False + return True + + @property + def _supports_modules(self): + return self.settings.compiler != "Visual Studio" or self.options["cpython"].shared + + def generate(self): + # The build also needs access to the run environment to run the python executable + VirtualRunEnv(self).generate(scope="run") + VirtualRunEnv(self).generate(scope="build") + + def build_requirements(self): + # The main recipe does not require CMake, but we test with it. + # The interesting problem that arises here is if you have CMake installed + # with your global pip, then it will fail to run in this test package. + # To avoid that, just add a requirement on CMake. + self.tool_requires("cmake/[>=3.15 <4]") + + def build(self): + if not tools.cross_building(self, skip_x64_x86=True): + command = "{} --version".format(self.deps_user_info["cpython"].python) + buffer = StringIO() + self.run(command, output=buffer, ignore_errors=True, run_environment=True) + self.output.info("output: %s" % buffer.getvalue()) + self.run(command, run_environment=True) + + cmake = CMake(self) + cmake.definitions["BUILD_MODULE"] = self._supports_modules + cmake.definitions["PY_VERSION_MAJOR_MINOR"] = ".".join(self._py_version.split(".")[:2]) + cmake.definitions["PY_FULL_VERSION"] = self.deps_cpp_info["cpython"].version + cmake.definitions["PY_VERSION"] = self._py_version + cmake.definitions["PY_VERSION_SUFFIX"] = "d" if self.settings.build_type == "Debug" else "" + cmake.definitions["PYTHON_EXECUTABLE"] = self.deps_user_info["cpython"].python + cmake.definitions["USE_FINDPYTHON_X"] = self._cmake_try_FindPythonX + cmake.definitions["Python3_EXECUTABLE"] = self.deps_user_info["cpython"].python + cmake.definitions["Python3_ROOT_DIR"] = self.deps_cpp_info["cpython"].rootpath + cmake.definitions["Python3_USE_STATIC_LIBS"] = not self.options["cpython"].shared + cmake.definitions["Python3_FIND_FRAMEWORK"] = "NEVER" + cmake.definitions["Python3_FIND_REGISTRY"] = "NEVER" + cmake.definitions["Python3_FIND_IMPLEMENTATIONS"] = "CPython" + cmake.definitions["Python3_FIND_STRATEGY"] = "LOCATION" + + with tools.environment_append(RunEnvironment(self).vars): + cmake.configure() + cmake.build() + + if not tools.cross_building(self, skip_x64_x86=True): + if self._supports_modules: + with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): + env = { + "DISTUTILS_USE_SDK": "1", + "MSSdk": "1" + } + env.update(**AutoToolsBuildEnvironment(self).vars) + with tools.environment_append(env): + setup_args = [ + os.path.join(self.source_folder, "..", "test_package", "setup.py"), + "build", + "--build-base", self.build_folder, + "--build-platlib", os.path.join(self.build_folder, "lib_setuptools"), + # Bandaid fix: setuptools places temporary files in a subdirectory of the build folder where the + # entirety of the absolute path up to this folder is appended (with seemingly no way to stop this), + # essentially doubling the path length. This may run into Windows max path lengths, so we give ourselves + # a little bit of wiggle room by making this directory name as short as possible. One of the directory + # names goes from (for example) "temp.win-amd64-3.10-pydebug" to "t", saving us roughly 25 characters. + "--build-temp", "t", + ] + if self.settings.build_type == "Debug": + setup_args.append("--debug") + self.run("{} {}".format(self.deps_user_info["cpython"].python, " ".join("\"{}\"".format(a) for a in setup_args)), run_environment=True) + + def _test_module(self, module, should_work): + try: + self.run("{} {}/../test_package/test_package.py -b {} -t {} ".format( + self.deps_user_info["cpython"].python, self.source_folder, self.build_folder, module), run_environment=True) + works = True + except ConanException as e: + works = False + exception = e + if should_work == works: + self.output.info("Result of test was expected.") + else: + if works: + raise ConanException("Module '{}' works, but should not have worked".format(module)) + else: + self.output.warn("Module '{}' does not work, but should have worked".format(module)) + raise exception + + def _cpython_option(self, name): + try: + return getattr(self.options["cpython"], name, False) + except ConanException: + return False + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + self.run("{} -c \"print('hello world')\"".format(self.deps_user_info["cpython"].python), run_environment=True) + + buffer = StringIO() + self.run("{} -c \"import sys; print('.'.join(str(s) for s in sys.version_info[:3]))\"".format(self.deps_user_info["cpython"].python), run_environment=True, output=buffer) + self.output.info(buffer.getvalue()) + version_detected = buffer.getvalue().splitlines()[-1].strip() + if self._py_version != version_detected: + raise ConanException("python reported wrong version. Expected {exp}. Got {res}.".format(exp=self._py_version, res=version_detected)) + + if self._supports_modules: + self._test_module("gdbm", self._cpython_option("with_gdbm")) + self._test_module("bz2", self._cpython_option("with_bz2")) + self._test_module("lzma", self._cpython_option("with_lzma")) + self._test_module("tkinter", self._cpython_option("with_tkinter")) + with tools.environment_append({"TERM": "ansi"}): + self._test_module("curses", self._cpython_option("with_curses")) + + self._test_module("expat", True) + self._test_module("sqlite3", True) + self._test_module("decimal", True) + self._test_module("ctypes", True) + + if tools.is_apple_os(self.settings.os) and not self.options["cpython"].shared: + self.output.info("Not testing the module, because these seem not to work on apple when cpython is built as a static library") + # FIXME: find out why cpython on apple does not allow to use modules linked against a static python + else: + if self._supports_modules: + with tools.environment_append({"PYTHONPATH": [os.path.join(self.build_folder, "lib")]}): + self.output.info("Testing module (spam) using cmake built module") + self._test_module("spam", True) + + with tools.environment_append({"PYTHONPATH": [os.path.join(self.build_folder, "lib_setuptools")]}): + self.output.info("Testing module (spam) using setup.py built module") + self._test_module("spam", True) + + # MSVC builds need PYTHONHOME set. Linux and Mac don't require it to be set if tested after building, + # but if the package is relocated then it needs to be set. + with tools.environment_append({"PYTHONHOME": self.deps_user_info["cpython"].pythonhome}): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/cpython/config.yml b/recipes/cpython/config.yml index e3abf3ec8acb2..cce5cc26948d6 100644 --- a/recipes/cpython/config.yml +++ b/recipes/cpython/config.yml @@ -5,7 +5,3 @@ versions: folder: "all" "3.8.12": folder: "all" - "3.7.12": - folder: "all" - "2.7.18": - folder: "all" From e6eaa827b92423c26b6939198126fc1fe34fef3d Mon Sep 17 00:00:00 2001 From: Tux3 Date: Thu, 21 Mar 2024 13:06:27 +0100 Subject: [PATCH 3991/4087] (#22827) android-ndk: add r26c From c8aa3f27320a13bda4c08a671fc4b63ca0d759cf Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Thu, 21 Mar 2024 07:48:24 -0500 Subject: [PATCH 3992/4087] (#23188) cpptrace: add version 0.5.1 --- recipes/cpptrace/all/conandata.yml | 4 ++++ recipes/cpptrace/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index 3c8c1e7ad8901..0eb7e3cd9436a 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "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" diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index 1be32f1ad9626..f119602310f02 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.5.1": + folder: all "0.5.0": folder: all "0.4.1": From d53dbc91ad520a1bfff2ac8f310c2aa958fcae13 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Mar 2024 22:29:08 +0900 Subject: [PATCH 3993/4087] (#23189) openjdk: add version 21.0.2 --- recipes/openjdk/all/conandata.yml | 16 ++++++++++++++++ recipes/openjdk/config.yml | 2 ++ 2 files changed, 18 insertions(+) diff --git a/recipes/openjdk/all/conandata.yml b/recipes/openjdk/all/conandata.yml index bb0f8bea50c9b..41ac854b16462 100644 --- a/recipes/openjdk/all/conandata.yml +++ b/recipes/openjdk/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "21.0.2": + Windows: + url: "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_windows-x64_bin.zip" + sha256: "b6c17e747ae78cdd6de4d7532b3164b277daee97c007d3eaa2b39cca99882664" + Linux_x86_64: + url: "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/12/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz" + sha256: "960a708e76bffa0864e3e756e03314d56aa9dfb253b0803ae8a35eef2188f475" + Linux_armv8: + url: "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/12/GPL/openjdk-21.0.2_linux-aarch64_bin.tar.gz" + sha256: "0fcd2bdd32de146288635e05a362a24217baf669a3fa8e145ed09c6ad96a8c38" + Macos_x86_64: + url: "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/12/GPL/openjdk-21.0.2_macos-x64_bin.tar.gz" + sha256: "2830aa583a7f1e6ea2673ead18c12a2b1f85e9d5b8d69b116666014b14b81656" + Macos_armv8: + url: "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/12/GPL/openjdk-21.0.2_macos-aarch64_bin.tar.gz" + sha256: "997e0797f304a423149fd72284e9bcf7782c4a969fcb49ef05dfa7e5e6b6fbd6" "21.0.1": Windows: url: "https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_windows-x64_bin.zip" diff --git a/recipes/openjdk/config.yml b/recipes/openjdk/config.yml index 1e9a2a92440d2..c2d6c3ae88d91 100644 --- a/recipes/openjdk/config.yml +++ b/recipes/openjdk/config.yml @@ -1,4 +1,6 @@ versions: + "21.0.2": + folder: all "21.0.1": folder: all "19.0.2": From b5aa00dfdd297e54d69b5ef87b361aae6488fcb3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 21 Mar 2024 15:49:17 +0200 Subject: [PATCH 3994/4087] (#23194) metis: fix incorrect default value for with_64bit_types --- recipes/metis/all/conanfile.py | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/recipes/metis/all/conanfile.py b/recipes/metis/all/conanfile.py index 7782c2735e124..d935fb4c025d2 100644 --- a/recipes/metis/all/conanfile.py +++ b/recipes/metis/all/conanfile.py @@ -34,7 +34,7 @@ class METISConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "with_64bit_types": True, + "with_64bit_types": False, "enable_gkrand": False, "enable_gkregex": False, "with_openmp": False, @@ -45,12 +45,7 @@ class METISConan(ConanFile): def export_sources(self): export_conandata_patches(self) copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) - copy( - self, - "gkbuild.cmake", - self.recipe_folder, - os.path.join(self.export_sources_folder, "src"), - ) + copy(self, "gkbuild.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -76,11 +71,11 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.cache_variables["VALGRIND"] = self.options.with_valgrind - tc.cache_variables["OPENMP"] = self.options.with_openmp - tc.cache_variables["PCRE"] = self.options.with_pcre - tc.cache_variables["GKREGEX"] = self.settings.os == "Windows" or self.options.enable_gkregex - tc.cache_variables["GKRAND"] = self.options.enable_gkrand + tc.variables["VALGRIND"] = self.options.with_valgrind + tc.variables["OPENMP"] = self.options.with_openmp + tc.variables["PCRE"] = self.options.with_pcre + tc.variables["GKREGEX"] = self.settings.os == "Windows" or self.options.enable_gkregex + tc.variables["GKRAND"] = self.options.enable_gkrand if self.settings.build_type == "Debug": tc.preprocessor_definitions["DEBUG"] = "" else: @@ -104,12 +99,7 @@ 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, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rm(self, "*.cmake", self.package_folder, recursive=True) From 486d5b9b38f8d7af209a7f774ce9bb85b76b0968 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 21 Mar 2024 15:21:51 +0100 Subject: [PATCH 3995/4087] (#23197) [minicoro] Add new package: minicoro/0.1.3 Signed-off-by: Uilian Ries --- recipes/minicoro/all/conandata.yml | 4 ++ recipes/minicoro/all/conanfile.py | 39 +++++++++++++++++++ .../minicoro/all/test_package/CMakeLists.txt | 7 ++++ .../minicoro/all/test_package/conanfile.py | 26 +++++++++++++ .../minicoro/all/test_package/test_package.c | 22 +++++++++++ recipes/minicoro/config.yml | 3 ++ 6 files changed, 101 insertions(+) create mode 100644 recipes/minicoro/all/conandata.yml create mode 100644 recipes/minicoro/all/conanfile.py create mode 100644 recipes/minicoro/all/test_package/CMakeLists.txt create mode 100644 recipes/minicoro/all/test_package/conanfile.py create mode 100644 recipes/minicoro/all/test_package/test_package.c create mode 100644 recipes/minicoro/config.yml diff --git a/recipes/minicoro/all/conandata.yml b/recipes/minicoro/all/conandata.yml new file mode 100644 index 0000000000000..26ecba7b50b2a --- /dev/null +++ b/recipes/minicoro/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.3": + url: "https://github.com/edubart/minicoro/archive/refs/tags/v0.1.3.tar.gz" + sha256: "4f9d4c3b5f6473f8141ee45e9947a6e7e7ee6665b4d9a8c373c0602495c5f6c9" diff --git a/recipes/minicoro/all/conanfile.py b/recipes/minicoro/all/conanfile.py new file mode 100644 index 0000000000000..de0be35811b00 --- /dev/null +++ b/recipes/minicoro/all/conanfile.py @@ -0,0 +1,39 @@ +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "minicoro" + description = "Single header stackful cross-platform coroutine library in pure C" + license = ("Unlicense", "MIT-0") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/edubart/minicoro" + topics = ("lua", "coroutine", "fibers", "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 build(self): + pass + + def package(self): + copy(self, "LICENSE", 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 = [] diff --git a/recipes/minicoro/all/test_package/CMakeLists.txt b/recipes/minicoro/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2862cc4744006 --- /dev/null +++ b/recipes/minicoro/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(minicoro REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE minicoro::minicoro) diff --git a/recipes/minicoro/all/test_package/conanfile.py b/recipes/minicoro/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/minicoro/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/minicoro/all/test_package/test_package.c b/recipes/minicoro/all/test_package/test_package.c new file mode 100644 index 0000000000000..5c333058e9350 --- /dev/null +++ b/recipes/minicoro/all/test_package/test_package.c @@ -0,0 +1,22 @@ +#define MINICORO_IMPL +#include "minicoro.h" + +#include +#include +#include + +void coro_entry(mco_coro* co) { + printf("coroutine 1\n"); + mco_yield(co); + printf("coroutine 2\n"); +} + +int main(void) { + mco_desc desc = mco_desc_init(coro_entry, 0); + desc.user_data = NULL; + mco_coro* co; + mco_create(&co, &desc); + mco_destroy(co); + + return EXIT_SUCCESS; +} diff --git a/recipes/minicoro/config.yml b/recipes/minicoro/config.yml new file mode 100644 index 0000000000000..b7f57204004e4 --- /dev/null +++ b/recipes/minicoro/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.3": + folder: all From 691adb0ab0ece4d9a285717302cfb1a9442f41c1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 21 Mar 2024 14:41:53 +0000 Subject: [PATCH 3996/4087] (#23196) [bot] Update authorized users list (2024-03-21) 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 86ea5a6a6dbca..c0b8570a8a236 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1313,3 +1313,6 @@ authorized_users: - Ruwei-Liu - msparapa - pzheltov +- igadmg +- eljonny +- VladimirShaleev From 98b2fa7efbf58f93c54f487fa057b2458a56ab26 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 21 Mar 2024 17:03:29 +0200 Subject: [PATCH 3997/4087] (#20010) behaviortree.cpp: add v4.5.0, improve maintainability, unvendor some dependencies * behaviortree.cpp: add v4.3.7 * behaviortree.cpp: bump deps * behaviortree.cpp: simplify patching * behaviortree.cpp: unvendor minitrace * behaviortree.cpp: drop v3.5.6 * behaviortree.cpp: unvendor tinyxml2 * behaviortree.cpp: unvendor lexy * behaviortree.cpp: bump to v4.4.2 * behaviortree.cpp: bump deps * behaviortree.cpp: fix linter error * behaviortree.cpp: add cmake/[>=3.16.3 <4] * behaviortree.cpp: add sqlite3 dependency * behaviortree.cpp: bump tinyxml2 * behaviortree.cpp: bump to v4.4.3 * behaviortree.cpp: add v3.8.6 * behaviortree.cpp: fix unvendored dependencies * behaviortree.cpp: unvendor tinyxml2 only for 4.0+ * behaviortree.cpp: ncurses is no longer used since v4.1 * behaviortree.cpp: add dl system dep * behaviortree.cpp: cross-compiling with apple-clang is broken * behaviortree.cpp: avoid accidental use of system ncurses * behaviortree.cpp: fix ZeroMQ CMake file name * behaviortree.cpp: expose all build options * behaviortree.cpp: bump to v4.5.0 * behaviortree.cpp: update v4.5.0 hash * behaviortree.cpp: bump to v4.5.2 * behaviortree.cpp: revert removal of -Werror=return-type --- recipes/behaviortree.cpp/all/conan_deps.cmake | 16 ++ recipes/behaviortree.cpp/all/conandata.yml | 27 +-- recipes/behaviortree.cpp/all/conanfile.py | 220 ++++++++++++++---- .../all/patches/3.5.6-0001-remove-fpic.patch | 12 - .../all/patches/3.5.6-0002-find-zmq.patch | 68 ------ .../all/patches/3.5.6-0003-no-werror.patch | 17 -- .../patches/3.5.6-0004-win-sigaction.patch | 22 -- .../all/patches/3.5.6-0005-stdc-format.patch | 12 - .../all/patches/3.7.0-0001-remove-fpic.patch | 13 -- .../all/patches/3.7.0-0002-find-zmq.patch | 68 ------ .../all/patches/3.7.0-0003-no-werror.patch | 13 -- .../all/patches/4.0.1-0001-remove-fpic.patch | 13 -- .../all/patches/4.0.1-0002-find-zmq.patch | 57 ----- .../all/patches/4.0.1-0003-no-werror.patch | 13 -- recipes/behaviortree.cpp/config.yml | 6 +- 15 files changed, 204 insertions(+), 373 deletions(-) create mode 100644 recipes/behaviortree.cpp/all/conan_deps.cmake delete mode 100644 recipes/behaviortree.cpp/all/patches/3.5.6-0001-remove-fpic.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.5.6-0002-find-zmq.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.5.6-0003-no-werror.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.5.6-0004-win-sigaction.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.5.6-0005-stdc-format.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.7.0-0001-remove-fpic.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.7.0-0002-find-zmq.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/3.7.0-0003-no-werror.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/4.0.1-0001-remove-fpic.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/4.0.1-0002-find-zmq.patch delete mode 100644 recipes/behaviortree.cpp/all/patches/4.0.1-0003-no-werror.patch diff --git a/recipes/behaviortree.cpp/all/conan_deps.cmake b/recipes/behaviortree.cpp/all/conan_deps.cmake new file mode 100644 index 0000000000000..1bfd028b22003 --- /dev/null +++ b/recipes/behaviortree.cpp/all/conan_deps.cmake @@ -0,0 +1,16 @@ +# Inject unvendored dependencies provided by Conan + +if(WITH_LEXY) + find_package(lexy REQUIRED CONFIG) + link_libraries(foonathan::lexy) +endif() + +if(WITH_MINITRACE) + find_package(minitrace REQUIRED CONFIG) + link_libraries(minitrace::minitrace) +endif() + +if(WITH_TINYXML2) + find_package(tinyxml2 REQUIRED CONFIG) + link_libraries(tinyxml2::tinyxml2) +endif() diff --git a/recipes/behaviortree.cpp/all/conandata.yml b/recipes/behaviortree.cpp/all/conandata.yml index 8e188b3097d43..e0d26c089d74f 100644 --- a/recipes/behaviortree.cpp/all/conandata.yml +++ b/recipes/behaviortree.cpp/all/conandata.yml @@ -1,28 +1,13 @@ sources: + "4.5.2": + url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/4.5.2.tar.gz" + sha256: "1aaac034fc6a2f03d9347934e3baf3cabd5edc8bb416b9d7f5d944598019aeb9" "4.0.1": url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/4.0.1.tar.gz" sha256: "71544f72abea8e8c246b016b7e8d87d96f731c8aa96698058d8e69d40e56f9b9" + "3.8.6": + url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/3.8.6.tar.gz" + sha256: "df01713e61aa3b6f4a637dcff31dfd3c96c3c05fac226da8566a873a24ccde27" "3.7.0": url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/3.7.0.tar.gz" sha256: "ab0d8ac1a0df4dd43cf45da8a784bab7fdedf711bd0e227f7ed071f79b0c7b5c" - "3.5.6": - url: "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/3.5.6.tar.gz" - sha256: "543c428602b5acb7c5666aee34feb532e18ce7200870a79b23ff9aed17ee84c4" -patches: - "4.0.1": - - patch_file: "patches/4.0.1-0001-remove-fpic.patch" - - patch_file: "patches/4.0.1-0002-find-zmq.patch" - - patch_file: "patches/4.0.1-0003-no-werror.patch" - - patch_file: "patches/3.5.6-0005-stdc-format.patch" - - patch_file: "patches/3.5.6-0005-stdc-format.patch" - "3.7.0": - - patch_file: "patches/3.7.0-0001-remove-fpic.patch" - - patch_file: "patches/3.7.0-0002-find-zmq.patch" - - patch_file: "patches/3.7.0-0003-no-werror.patch" - - patch_file: "patches/3.5.6-0005-stdc-format.patch" - "3.5.6": - - patch_file: "patches/3.5.6-0001-remove-fpic.patch" - - patch_file: "patches/3.5.6-0002-find-zmq.patch" - - patch_file: "patches/3.5.6-0003-no-werror.patch" - - patch_file: "patches/3.5.6-0004-win-sigaction.patch" - - patch_file: "patches/3.5.6-0005-stdc-format.patch" diff --git a/recipes/behaviortree.cpp/all/conanfile.py b/recipes/behaviortree.cpp/all/conanfile.py index 54f5ae5ad8322..abd62b04171b4 100644 --- a/recipes/behaviortree.cpp/all/conanfile.py +++ b/recipes/behaviortree.cpp/all/conanfile.py @@ -1,8 +1,8 @@ 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, rmdir -from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import get, copy, rmdir, replace_in_file, save, rm +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 @@ -23,39 +23,70 @@ class BehaviorTreeCPPConan(ConanFile): "fPIC": [True, False], "with_tools": [True, False], "with_coroutines": [True, False], + "enable_groot_interface": [True, False], + "enable_sqlite_logging": [True, False], + "enable_manual_selector": [True, False], + "use_v3_compatible_names": [True, False], } default_options = { "shared": False, "fPIC": True, "with_tools": False, "with_coroutines": False, + "enable_groot_interface": True, + "enable_sqlite_logging": True, + "enable_manual_selector": False, + "use_v3_compatible_names": False, + } + options_description = { + "with_tools": "Build commandline tools", + "with_coroutines": "Enable Boost coroutines", + "enable_groot_interface": "Add Groot2 connection (requires ZeroMQ)", + "enable_sqlite_logging": "Add SQLite logging", + "enable_manual_selector": "Build manual selector node", + "use_v3_compatible_names": "Use v3 compatible names", } @property def _minimum_cppstd_required(self): - return 14 if Version(self.version) < "4.0" else 17 + if Version(self.version) >= "4.0": + return 17 + return 14 @property def _minimum_compilers_version(self): - if Version(self.version) < "4.0": + if Version(self.version) >= "4.0": return { - "gcc": "5", - "clang": "5", + "gcc": "8", + "clang": "7", "apple-clang": "12", + "msvc": "192", + "Visual Studio": "16", } else: return { - "gcc": "8", - "clang": "7", + "gcc": "5", + "clang": "5", "apple-clang": "12", + "msvc": "191", + "Visual Studio": "15", } 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): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "4.0": + del self.options.use_v3_compatible_names + if Version(self.version) >= "4.1.0": + del self.options.with_coroutines + if Version(self.version) >= "4.1.1": + del self.options.enable_manual_selector + else: + del self.options.enable_groot_interface + del self.options.enable_sqlite_logging def configure(self): if self.options.shared: @@ -64,54 +95,150 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + @property + def _with_boost(self): + return self.options.get_safe("with_coroutines", False) + + @property + def _with_lexy(self): + # FIXME: using vendored version temporarily due to a missing CCI binary + # return Version(self.version) >= "4.0.0" + return False + + @property + def _with_minitrace(self): + return Version(self.version) >= "4.3.4" + + @property + def _with_ncurses(self): + return self.options.get_safe("enable_manual_selector", False) + + @property + def _with_sqlite3(self): + return self.options.get_safe("enable_sqlite_logging", False) + + @property + def _with_tinyxml2(self): + return Version(self.version) >= "4.0.0" + + @property + def _with_zeromq(self): + if Version(self.version) >= "4.1.1": + return self.options.enable_groot_interface + return Version(self.version) >= "4.0.0" + def requirements(self): - if self.options.with_coroutines: - self.requires("boost/1.80.0") - self.requires("ncurses/6.3") - self.requires("zeromq/4.3.4") - self.requires("cppzmq/4.9.0") + if self._with_boost: + self.requires("boost/1.83.0") + if self._with_ncurses: + self.requires("ncurses/6.4") + if self._with_lexy: + self.requires("foonathan-lexy/2022.12.1") + if self._with_minitrace: + self.requires("minitrace/cci.20230905") + if self._with_sqlite3: + self.requires("sqlite3/3.44.2") + if self._with_tinyxml2: + self.requires("tinyxml2/10.0.0") + if self._with_zeromq: + self.requires("zeromq/4.3.5") + + # TODO: other vendored dependencies + # - cppzmq is customized and not compatible with Conan version + # - cpp-sqlite + # - minicoro + # - wildcards def validate(self): if self.info.settings.os == "Windows" and self.info.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Windows.") if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._minimum_cppstd_required) - check_min_vs(self, 191 if Version(self.version) < "4.0" else 192) - if not is_msvc(self): - minimum_version = self._minimum_compilers_version.get(str(self.info.settings.compiler), False) - if not minimum_version: - self.output.warn(f"{self.ref} requires C++{self._minimum_cppstd_required}. Your compiler is unknown. Assuming it supports C++{self._minimum_cppstd_required}.") - elif Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration("BehaviorTree.CPP requires C++{}, which your compiler does not support." - .format(self._minimum_cppstd_required)) + minimum_version = self._minimum_compilers_version.get(str(self.info.settings.compiler), False) + if not minimum_version: + self.output.warn(f"{self.ref} requires C++{self._minimum_cppstd_required}. " + f"Your compiler is unknown. Assuming it supports C++{self._minimum_cppstd_required}.") + elif Version(self.info.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"BehaviorTree.CPP requires C++{self._minimum_cppstd_required}, which your compiler does not support." + ) if self.settings.compiler == "clang" and str(self.settings .compiler.libcxx) == "libstdc++": raise ConanInvalidConfiguration(f"{self.ref} needs recent libstdc++ with charconv. please switch to gcc, or to libc++") + if self.settings.compiler == "apple-clang" and cross_building(self) and self.settings.arch in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"Cross-compiling for {self.settings.arch} is not yet supported. Contributions are welcome!") + + def build_requirements(self): + if Version(self.version) >= "4.1.0": + self.tool_requires("cmake/[>=3.16.3 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def generate(self): + venv = VirtualBuildEnv(self) + venv.generate() + tc = CMakeToolchain(self) + tc.variables["CMAKE_PROJECT_behaviortree_cpp_INCLUDE"] = "conan_deps.cmake" + tc.variables["WITH_LEXY"] = self._with_lexy + tc.variables["WITH_MINITRACE"] = self._with_minitrace + tc.variables["WITH_TINYXML2"] = self._with_tinyxml2 + if not self.options.get_safe("enable_manual_selector"): + # Avoid accidental use of system ncurses + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_Curses"] = True if Version(self.version) < "4.0": tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_UNIT_TESTS"] = False tc.variables["BUILD_TOOLS"] = self.options.with_tools tc.variables["ENABLE_COROUTINES"] = self.options.with_coroutines + tc.variables["BUILD_MANUAL_SELECTOR"] = self.options.get_safe("enable_manual_selector", False) else: tc.variables["BTCPP_SHARED_LIBS"] = self.options.shared tc.variables["BTCPP_EXAMPLES"] = False tc.variables["BTCPP_UNIT_TESTS"] = False tc.variables["BTCPP_BUILD_TOOLS"] = self.options.with_tools - tc.variables["BTCPP_ENABLE_COROUTINES"] = self.options.with_coroutines + tc.variables["BTCPP_ENABLE_COROUTINES"] = self.options.get_safe("with_coroutines", False) + tc.variables["BTCPP_MANUAL_SELECTOR"] = self.options.get_safe("enable_manual_selector", False) + tc.variables["BTCPP_GROOT_INTERFACE"] = self.options.get_safe("enable_groot_interface", False) + tc.variables["BTCPP_SQLITE_LOGGING"] = self.options.get_safe("enable_sqlite_logging", False) + tc.variables["USE_V3_COMPATIBLE_NAMES"] = self.options.use_v3_compatible_names tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "4.1.0": + deps.set_property("zeromq", "cmake_file_name", "ZeroMQ") + else: + deps.set_property("zeromq", "cmake_file_name", "ZMQ") deps.generate() + def _patch_sources(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", "") + # Unvendor lexy + if self._with_lexy: + rmdir(self, os.path.join(self.source_folder, "3rdparty", "lexy")) + save(self, os.path.join(self.source_folder, "3rdparty", "lexy", "CMakeLists.txt"), "") + # 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", "") + replace_in_file(self, os.path.join(self.source_folder, "src", "loggers", "bt_minitrace_logger.cpp"), + "minitrace/minitrace.h", "minitrace.h") + # Unvendor tinyxml2 + if self._with_tinyxml2: + rmdir(self, os.path.join(self.source_folder, "3rdparty", "tinyxml2")) + replace_in_file(self, cmakelists, "3rdparty/tinyxml2/tinyxml2.cpp", "") + replace_in_file(self, os.path.join(self.source_folder, "src", "xml_parsing.cpp"), + "tinyxml2/tinyxml2.h", "tinyxml2.h") + # Ensure ZeroMQ and other packages are provided by Conan + rm(self, "Find*.cmake", os.path.join(self.source_folder, "cmake")) + def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -125,39 +252,48 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - if Version(self.version) < "4.0": - self.cpp_info.set_property("cmake_file_name", "BehaviorTreeV3") + if Version(self.version) >= "4.0": + cmake_file_name = "BehaviorTree" + libname = "behaviortree_cpp" else: - self.cpp_info.set_property("cmake_file_name", "BehaviorTree") - - libname = "behaviortree_cpp_v3" if Version(self.version) < "4.0" else "behaviortree_cpp" + cmake_file_name = "BehaviorTreeV3" + libname = "behaviortree_cpp_v3" + self.cpp_info.set_property("cmake_file_name", cmake_file_name) self.cpp_info.set_property("cmake_target_name", f"BT::{libname}") + requires = [] + if self._with_boost: + requires.append("boost::coroutine") + if self._with_lexy: + requires.append("foonathan-lexy::foonathan-lexy") + if self._with_minitrace: + requires.append("minitrace::minitrace") + if self._with_ncurses: + requires.append("ncurses::ncurses") + if self._with_sqlite3: + requires.append("sqlite3::sqlite3") + if self._with_tinyxml2: + requires.append("tinyxml2::tinyxml2") + if self._with_zeromq: + requires.append("zeromq::zeromq") + postfix = "d" if self.settings.os == "Windows" and self.settings.build_type == "Debug" else "" # TODO: back to global scope in conan v2 once cmake_find_package* generators removed self.cpp_info.components[libname].libs = [f"{libname}{postfix}"] - self.cpp_info.components[libname].requires = ["zeromq::zeromq", "cppzmq::cppzmq", "ncurses::ncurses"] - if self.options.with_coroutines: - self.cpp_info.components[libname].requires.append("boost::coroutine") + self.cpp_info.components[libname].requires = requires if self.settings.os in ("Linux", "FreeBSD"): - self.cpp_info.components[libname].system_libs.append("pthread") + self.cpp_info.components[libname].system_libs.extend(["pthread", "dl"]) if Version(self.version) >= "4.0" and \ self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": self.cpp_info.components[libname].system_libs.append("stdc++fs") if self.options.with_tools: 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) # TODO: to remove in conan v2 once cmake_find_package* generators removed - if Version(self.version) < "4.0": - self.cpp_info.filenames["cmake_find_package"] = "BehaviorTreeV3" - self.cpp_info.filenames["cmake_find_package_multi"] = "BehaviorTreeV3" - else: - self.cpp_info.filenames["cmake_find_package"] = "BehaviorTree" - self.cpp_info.filenames["cmake_find_package_multi"] = "BehaviorTree" - + self.cpp_info.filenames["cmake_find_package"] = cmake_file_name + self.cpp_info.filenames["cmake_find_package_multi"] = cmake_file_name self.cpp_info.names["cmake_find_package"] = "BT" self.cpp_info.names["cmake_find_package_multi"] = "BT" self.cpp_info.components[libname].names["cmake_find_package"] = libname diff --git a/recipes/behaviortree.cpp/all/patches/3.5.6-0001-remove-fpic.patch b/recipes/behaviortree.cpp/all/patches/3.5.6-0001-remove-fpic.patch deleted file mode 100644 index 7cb2daad955aa..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.5.6-0001-remove-fpic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a390aed..aff91ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -36,7 +36,6 @@ if(NOT DEFINED BT_COROUTINES) - add_definitions(-DBT_NO_COROUTINES) - endif() - --set(CMAKE_POSITION_INDEPENDENT_CODE ON) - - #---- project configuration ---- - option(BUILD_EXAMPLES "Build tutorials and examples" ON) diff --git a/recipes/behaviortree.cpp/all/patches/3.5.6-0002-find-zmq.patch b/recipes/behaviortree.cpp/all/patches/3.5.6-0002-find-zmq.patch deleted file mode 100644 index c717020c8e00a..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.5.6-0002-find-zmq.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index aff91ec..242c214 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -45,14 +45,14 @@ option(BUILD_SHARED_LIBS "Build shared libraries" ON) - - #---- Find other packages ---- - find_package(Threads) --find_package(ZMQ) -+find_package(ZeroMQ) - - list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} - ) - --if( ZMQ_FOUND ) -+if( ZeroMQ_FOUND ) - message(STATUS "ZeroMQ found.") - add_definitions( -DZMQ_FOUND ) - list(APPEND BT_SOURCE src/loggers/bt_zmq_publisher.cpp) -@@ -202,8 +202,8 @@ if (WIN32) - add_library(${BEHAVIOR_TREE_LIBRARY} STATIC ${BT_SOURCE} ) - endif() - --if( ZMQ_FOUND ) -- list(APPEND BUILD_TOOL_INCLUDE_DIRS ${ZMQ_INCLUDE_DIRS}) -+if( ZeroMQ_FOUND ) -+ list(APPEND BUILD_TOOL_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIRS}) - endif() - - target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PUBLIC -@@ -211,7 +211,7 @@ target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PUBLIC - - target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE - ${Boost_LIBRARIES} -- ${ZMQ_LIBRARIES}) -+ ${ZeroMQ_LIBRARIES}) - - #get_target_property(my_libs ${BEHAVIOR_TREE_LIBRARY} INTERFACE_LINK_LIBRARIES) - #list(REMOVE_ITEM _libs X) -@@ -227,8 +227,8 @@ target_include_directories(${BEHAVIOR_TREE_LIBRARY} PUBLIC - $ - ${BUILD_TOOL_INCLUDE_DIRS}) - --if( ZMQ_FOUND ) -- target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZMQ_FOUND) -+if( ZeroMQ_FOUND ) -+ target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZeroMQ_FOUND) - endif() - - if(MSVC) -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index 0801850..153b447 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -6,9 +6,9 @@ target_link_libraries(bt3_log_cat ${BEHAVIOR_TREE_LIBRARY} ) - install(TARGETS bt3_log_cat - DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION} ) - --if( ZMQ_FOUND ) -+if( ZeroMQ_FOUND ) - add_executable(bt3_recorder bt_recorder.cpp ) -- target_link_libraries(bt3_recorder ${BEHAVIOR_TREE_LIBRARY} ${ZMQ_LIBRARIES}) -+ target_link_libraries(bt3_recorder ${BEHAVIOR_TREE_LIBRARY} ${ZeroMQ_LIBRARIES}) - install(TARGETS bt3_recorder - DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION} ) - endif() diff --git a/recipes/behaviortree.cpp/all/patches/3.5.6-0003-no-werror.patch b/recipes/behaviortree.cpp/all/patches/3.5.6-0003-no-werror.patch deleted file mode 100644 index 4996714060f93..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.5.6-0003-no-werror.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 242c214..cb8d77a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -232,10 +232,10 @@ if( ZeroMQ_FOUND ) - endif() - - if(MSVC) -- target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE /W3 /WX) -+ target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE /W3) - else() - target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE -- -Wall -Wextra -Werror=return-type) -+ -Wall -Wextra) - endif() - - ###################################################### diff --git a/recipes/behaviortree.cpp/all/patches/3.5.6-0004-win-sigaction.patch b/recipes/behaviortree.cpp/all/patches/3.5.6-0004-win-sigaction.patch deleted file mode 100644 index 75f9c74e55e10..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.5.6-0004-win-sigaction.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tools/bt_recorder.cpp b/tools/bt_recorder.cpp -index 3aa6740..4b36414 100644 ---- a/tools/bt_recorder.cpp -+++ b/tools/bt_recorder.cpp -@@ -16,12 +16,17 @@ static void s_signal_handler(int) - - static void CatchSignals(void) - { -+#ifdef _WIN32 -+ signal(SIGINT, s_signal_handler); -+ signal(SIGTERM, s_signal_handler); -+#else - struct sigaction action; - action.sa_handler = s_signal_handler; - action.sa_flags = 0; - sigemptyset(&action.sa_mask); - sigaction(SIGINT, &action, NULL); - sigaction(SIGTERM, &action, NULL); -+#endif - } - - int main(int argc, char* argv[]) diff --git a/recipes/behaviortree.cpp/all/patches/3.5.6-0005-stdc-format.patch b/recipes/behaviortree.cpp/all/patches/3.5.6-0005-stdc-format.patch deleted file mode 100644 index d1b1b47051f32..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.5.6-0005-stdc-format.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/3rdparty/minitrace/minitrace.h b/3rdparty/minitrace/minitrace.h -index c7d5b31..d68dc52 100644 ---- a/3rdparty/minitrace/minitrace.h -+++ b/3rdparty/minitrace/minitrace.h -@@ -21,6 +21,7 @@ - // More: - // http://www.altdevblogaday.com/2012/08/21/using-chrometracing-to-view-your-inline-profiling-data/ - -+#define __STDC_FORMAT_MACROS - #include - - #define MTR_ENABLED diff --git a/recipes/behaviortree.cpp/all/patches/3.7.0-0001-remove-fpic.patch b/recipes/behaviortree.cpp/all/patches/3.7.0-0001-remove-fpic.patch deleted file mode 100644 index b1bd9fd89538c..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.7.0-0001-remove-fpic.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cd490a5..843045e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,8 +15,6 @@ else() - add_definitions(-Wpedantic) - endif() - --set(CMAKE_POSITION_INDEPENDENT_CODE ON) -- - #---- project configuration ---- - option(BUILD_EXAMPLES "Build tutorials and examples" ON) - option(BUILD_SAMPLES "Build sample nodes" ON) diff --git a/recipes/behaviortree.cpp/all/patches/3.7.0-0002-find-zmq.patch b/recipes/behaviortree.cpp/all/patches/3.7.0-0002-find-zmq.patch deleted file mode 100644 index 7290476cc8726..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.7.0-0002-find-zmq.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 843045e..471c00e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -54,14 +54,14 @@ endif() - - #---- Find other packages ---- - find_package(Threads) --find_package(ZMQ) -+find_package(ZeroMQ) - - list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} - ) - --if( ZMQ_FOUND ) -+if( ZeroMQ_FOUND ) - message(STATUS "ZeroMQ found.") - add_definitions( -DZMQ_FOUND ) - list(APPEND BT_SOURCE src/loggers/bt_zmq_publisher.cpp) -@@ -193,8 +193,8 @@ else() - add_library(${BEHAVIOR_TREE_LIBRARY} STATIC ${BT_SOURCE}) - endif() - --if( ZMQ_FOUND ) -- list(APPEND BUILD_TOOL_INCLUDE_DIRS ${ZMQ_INCLUDE_DIRS}) -+if( ZeroMQ_FOUND ) -+ list(APPEND BUILD_TOOL_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIRS}) - endif() - - target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PUBLIC -@@ -202,7 +202,7 @@ target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PUBLIC - - target_link_libraries(${BEHAVIOR_TREE_LIBRARY} PRIVATE - ${Boost_LIBRARIES} -- ${ZMQ_LIBRARIES}) -+ ${ZeroMQ_LIBRARIES}) - - #get_target_property(my_libs ${BEHAVIOR_TREE_LIBRARY} INTERFACE_LINK_LIBRARIES) - #list(REMOVE_ITEM _libs X) -@@ -218,8 +218,8 @@ target_include_directories(${BEHAVIOR_TREE_LIBRARY} PUBLIC - $ - ${BUILD_TOOL_INCLUDE_DIRS}) - --if( ZMQ_FOUND ) -- target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZMQ_FOUND) -+if( ZeroMQ_FOUND ) -+ target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZeroMQ_FOUND) - endif() - - if(MSVC) -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index 2ad33b3..2dc969d 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -6,9 +6,9 @@ target_link_libraries(bt3_log_cat ${BEHAVIOR_TREE_LIBRARY} ) - install(TARGETS bt3_log_cat - DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION} ) - --if( ZMQ_FOUND ) -+if( ZeroMQ_FOUND ) - add_executable(bt3_recorder bt_recorder.cpp ) -- target_link_libraries(bt3_recorder ${BEHAVIOR_TREE_LIBRARY} ${ZMQ_LIBRARIES}) -+ target_link_libraries(bt3_recorder ${BEHAVIOR_TREE_LIBRARY} ${ZeroMQ_LIBRARIES}) - install(TARGETS bt3_recorder - DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION} ) - endif() diff --git a/recipes/behaviortree.cpp/all/patches/3.7.0-0003-no-werror.patch b/recipes/behaviortree.cpp/all/patches/3.7.0-0003-no-werror.patch deleted file mode 100644 index 5bf8893db1770..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/3.7.0-0003-no-werror.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 471c00e..7245461 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -225,7 +225,7 @@ endif() - if(MSVC) - else() - target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE -- -Wall -Wextra -Werror=return-type) -+ -Wall -Wextra) - endif() - - ############################################################# diff --git a/recipes/behaviortree.cpp/all/patches/4.0.1-0001-remove-fpic.patch b/recipes/behaviortree.cpp/all/patches/4.0.1-0001-remove-fpic.patch deleted file mode 100644 index 23931bd446392..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/4.0.1-0001-remove-fpic.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d03b8a7..a2f23cf 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,8 +15,6 @@ else() - add_definitions(-Wpedantic) - endif() - --set(CMAKE_POSITION_INDEPENDENT_CODE ON) -- - #---- project configuration ---- - option(BTCPP_SHARED_LIBS "Build shared libraries" ON) - option(BTCPP_ENABLE_COROUTINES "Enable boost coroutines" ON) diff --git a/recipes/behaviortree.cpp/all/patches/4.0.1-0002-find-zmq.patch b/recipes/behaviortree.cpp/all/patches/4.0.1-0002-find-zmq.patch deleted file mode 100644 index 6753b06f564d0..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/4.0.1-0002-find-zmq.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a2f23cf..d427d37 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -67,14 +67,14 @@ endif() - - #---- Find other packages ---- - find_package(Threads) --find_package(ZMQ) -+find_package(ZeroMQ) - - list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} - ) - --if( ZMQ_FOUND ) -+if( ZeroMQ_FOUND ) - message(STATUS "ZeroMQ found.") - add_definitions( -DZMQ_FOUND ) - list(APPEND BT_SOURCE src/loggers/bt_zmq_publisher.cpp) -@@ -221,7 +221,7 @@ target_link_libraries(${BEHAVIOR_TREE_LIBRARY} - ${BEHAVIOR_TREE_PUBLIC_LIBRARIES} - PRIVATE - ${Boost_LIBRARIES} -- ${ZMQ_LIBRARIES} -+ ${ZeroMQ_LIBRARIES} - $ - ) - -@@ -243,8 +243,8 @@ target_include_directories(${BEHAVIOR_TREE_LIBRARY} PRIVATE - $ - ) - --if( ZMQ_FOUND ) -- target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZMQ_FOUND) -+if( ZeroMQ_FOUND ) -+ target_compile_definitions(${BEHAVIOR_TREE_LIBRARY} PUBLIC ZeroMQ_FOUND) - endif() - - if(MSVC) -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index 163e703..b98f525 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -7,9 +7,9 @@ target_link_libraries(bt3_log_cat ${BEHAVIOR_TREE_LIBRARY} ) - install(TARGETS bt3_log_cat - DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION} ) - --if( ZMQ_FOUND ) -+if( ZeroMQ_FOUND ) - add_executable(bt3_recorder bt_recorder.cpp ) -- target_link_libraries(bt3_recorder ${BEHAVIOR_TREE_LIBRARY} ${ZMQ_LIBRARIES}) -+ target_link_libraries(bt3_recorder ${BEHAVIOR_TREE_LIBRARY} ${ZeroMQ_LIBRARIES}) - install(TARGETS bt3_recorder - DESTINATION ${BEHAVIOR_TREE_BIN_DESTINATION} ) - endif() diff --git a/recipes/behaviortree.cpp/all/patches/4.0.1-0003-no-werror.patch b/recipes/behaviortree.cpp/all/patches/4.0.1-0003-no-werror.patch deleted file mode 100644 index b69541449eb87..0000000000000 --- a/recipes/behaviortree.cpp/all/patches/4.0.1-0003-no-werror.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d427d37..0c10f52 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -250,7 +250,7 @@ endif() - if(MSVC) - else() - target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE -- -Wall -Wextra -Werror=return-type) -+ -Wall -Wextra) - endif() - - ############################################################# diff --git a/recipes/behaviortree.cpp/config.yml b/recipes/behaviortree.cpp/config.yml index e1234d5535a8c..f6b53df246238 100644 --- a/recipes/behaviortree.cpp/config.yml +++ b/recipes/behaviortree.cpp/config.yml @@ -1,7 +1,9 @@ versions: + "4.5.2": + folder: all "4.0.1": folder: all - "3.7.0": + "3.8.6": folder: all - "3.5.6": + "3.7.0": folder: all From 94d7a8daa8e29bc89cb6ca6174d9e2d70dd9acb1 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 21 Mar 2024 16:27:46 +0100 Subject: [PATCH 3998/4087] (#23185) Arrow: Remove older versions not compatible with Macos amrv8 * testing: build arrow recipe * get rid of 1.0.0 * get rid of 2.0.0 * remove recipe edit --- recipes/arrow/all/conandata.yml | 26 -- .../patches/1.0.0-0003-fix-shared-msvc.patch | 13 - .../1.0.0-0005-fix-make12-namespace.patch | 22 -- .../all/patches/1.0.0-0006-fix-cmake.patch | 333 ------------------ .../patches/2.0.0-0003-fix-shared-msvc.patch | 13 - .../patches/2.0.0-0005-gandiva-engine.patch | 13 - .../all/patches/2.0.0-0008-fix-cmake.patch | 273 -------------- recipes/arrow/config.yml | 4 - 8 files changed, 697 deletions(-) delete mode 100644 recipes/arrow/all/patches/1.0.0-0003-fix-shared-msvc.patch delete mode 100644 recipes/arrow/all/patches/1.0.0-0005-fix-make12-namespace.patch delete mode 100644 recipes/arrow/all/patches/1.0.0-0006-fix-cmake.patch delete mode 100644 recipes/arrow/all/patches/2.0.0-0003-fix-shared-msvc.patch delete mode 100644 recipes/arrow/all/patches/2.0.0-0005-gandiva-engine.patch delete mode 100644 recipes/arrow/all/patches/2.0.0-0008-fix-cmake.patch diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index 5521daf96b996..030422c3d34b6 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -38,12 +38,6 @@ sources: "7.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-7.0.0/apache-arrow-7.0.0.tar.gz?action=download" sha256: "e8f49b149a15ecef4e40fcfab1b87c113c6b1ee186005c169e5cdf95d31a99de" - "2.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-2.0.0/apache-arrow-2.0.0.tar.gz?action=download" - sha256: "be0342cc847bb340d86aeaef43596a0b6c1dbf1ede9c789a503d939e01c71fbe" - "1.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-1.0.0/apache-arrow-1.0.0.tar.gz?action=download" - sha256: "86ddb9feb48203a5aaf9cc4f2827525e20a2ca4d7239e492af17e74532ccf243" patches: "8.0.1": - patch_file: "patches/8.0.0-0005-install-utils.patch" @@ -66,23 +60,3 @@ patches: - patch_file: "patches/7.0.0-0007-fix-cmake.patch" patch_description: "use cci package" patch_type: "conan" - "2.0.0": - - patch_file: "patches/2.0.0-0003-fix-shared-msvc.patch" - patch_description: "make shared enabled in msvc" - patch_type: "official" - - patch_file: "patches/2.0.0-0005-gandiva-engine.patch" - patch_description: "fix grandiva compilation error" - patch_type: "official" - - patch_file: "patches/2.0.0-0008-fix-cmake.patch" - patch_description: "use cci package" - patch_type: "conan" - "1.0.0": - - patch_file: "patches/1.0.0-0003-fix-shared-msvc.patch" - patch_description: "make shared enabled in msvc" - patch_type: "official" - - patch_file: "patches/1.0.0-0005-fix-make12-namespace.patch" - patch_description: "fix ambiguous `make12` function between std and date" - patch_type: "official" - - patch_file: "patches/1.0.0-0006-fix-cmake.patch" - patch_description: "use cci package" - patch_type: "conan" diff --git a/recipes/arrow/all/patches/1.0.0-0003-fix-shared-msvc.patch b/recipes/arrow/all/patches/1.0.0-0003-fix-shared-msvc.patch deleted file mode 100644 index 3c7e86d5ff279..0000000000000 --- a/recipes/arrow/all/patches/1.0.0-0003-fix-shared-msvc.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- cpp/src/arrow/CMakeLists.txt -+++ cpp/src/arrow/CMakeLists.txt -@@ -490,6 +490,10 @@ - target_compile_definitions(arrow_static PUBLIC ARROW_STATIC) - endif() - -+if(ARROW_BUILD_SHARED AND WIN32) -+target_compile_definitions(arrow_shared PRIVATE ARROW_EXPORTING) -+endif() -+ - if(ARROW_WITH_BACKTRACE) - find_package(Backtrace) - diff --git a/recipes/arrow/all/patches/1.0.0-0005-fix-make12-namespace.patch b/recipes/arrow/all/patches/1.0.0-0005-fix-make12-namespace.patch deleted file mode 100644 index 5f0f6f4c52d5c..0000000000000 --- a/recipes/arrow/all/patches/1.0.0-0005-fix-make12-namespace.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cpp/src/arrow/vendored/datetime/date.h b/cpp/src/arrow/vendored/datetime/date.h -index 02a4909..2b168d2 100644 ---- a/cpp/src/arrow/vendored/datetime/date.h -+++ b/cpp/src/arrow/vendored/datetime/date.h -@@ -5152,7 +5152,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, - if (modified == CharT{}) - #endif - { -- auto h = *fmt == CharT{'I'} ? make12(hms.hours()) : hms.hours(); -+ auto h = *fmt == CharT{'I'} ? arrow_vendored::date::make12(hms.hours()) : hms.hours(); - if (h < hours{10}) - os << CharT{'0'}; - os << h.count(); -@@ -5366,7 +5366,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, - save_ostream _(os); - os.fill('0'); - os.width(2); -- os << make12(tod.hours()).count() << CharT{':'}; -+ os << arrow_vendored::date::make12(tod.hours()).count() << CharT{':'}; - os.width(2); - os << tod.minutes().count() << CharT{':'}; - os.width(2); diff --git a/recipes/arrow/all/patches/1.0.0-0006-fix-cmake.patch b/recipes/arrow/all/patches/1.0.0-0006-fix-cmake.patch deleted file mode 100644 index eb6816262214b..0000000000000 --- a/recipes/arrow/all/patches/1.0.0-0006-fix-cmake.patch +++ /dev/null @@ -1,333 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index 300f043..0127a7a 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -654,7 +654,7 @@ endif() - - if(ARROW_WITH_BROTLI) - # Order is important for static linking -- set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon) -+ set(ARROW_BROTLI_LIBS brotli::brotlienc brotli::brotlidec brotli::brotlicommon) - list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS}) - list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS}) - endif() -@@ -664,7 +664,7 @@ if(ARROW_WITH_BZ2) - endif() - - if(ARROW_WITH_LZ4) -- list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4) -+ list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4_static) - endif() - - if(ARROW_WITH_SNAPPY) -@@ -800,8 +800,11 @@ endif() - - if(ARROW_MIMALLOC) - add_definitions(-DARROW_MIMALLOC) -- list(APPEND ARROW_LINK_LIBS mimalloc::mimalloc) -- list(APPEND ARROW_STATIC_LINK_LIBS mimalloc::mimalloc) -+ if (TARGET mimalloc-static) -+ list(APPEND ARROW_LINK_LIBS mimalloc-static) -+ else() -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc) -+ endif() - endif() - - # ---------------------------------------------------------------------- -diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake -index eb10ebe..9c81017 100644 ---- a/cpp/cmake_modules/BuildUtils.cmake -+++ b/cpp/cmake_modules/BuildUtils.cmake -@@ -165,10 +165,10 @@ function(create_merged_static_lib output_target) - set(ar_script_path ${CMAKE_BINARY_DIR}/${ARG_NAME}.ar) - - file(WRITE ${ar_script_path}.in "CREATE ${output_lib_path}\n") -- file(APPEND ${ar_script_path}.in "ADDLIB $\n") -+ file(APPEND ${ar_script_path}.in "ADDLIB $\n") - - foreach(lib ${ARG_TO_MERGE}) -- file(APPEND ${ar_script_path}.in "ADDLIB $\n") -+ file(APPEND ${ar_script_path}.in "ADDLIB $\n") - endforeach() - - file(APPEND ${ar_script_path}.in "SAVE\nEND\n") -diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index 807e2b9..016c8db 100644 ---- a/cpp/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake -@@ -154,16 +154,7 @@ macro(build_dependency DEPENDENCY_NAME) - endmacro() - - macro(resolve_dependency DEPENDENCY_NAME) -- if(${DEPENDENCY_NAME}_SOURCE STREQUAL "AUTO") -- find_package(${DEPENDENCY_NAME} MODULE) -- if(NOT ${${DEPENDENCY_NAME}_FOUND}) -- build_dependency(${DEPENDENCY_NAME}) -- endif() -- elseif(${DEPENDENCY_NAME}_SOURCE STREQUAL "BUNDLED") -- build_dependency(${DEPENDENCY_NAME}) -- elseif(${DEPENDENCY_NAME}_SOURCE STREQUAL "SYSTEM") -- find_package(${DEPENDENCY_NAME} REQUIRED) -- endif() -+ find_package(${DEPENDENCY_NAME} REQUIRED) - endmacro() - - macro(resolve_dependency_with_version DEPENDENCY_NAME REQUIRED_VERSION) -@@ -765,6 +756,7 @@ endif() - # - Tests need Boost at runtime. - # - S3FS and Flight benchmarks need Boost at runtime. - if(ARROW_BUILD_INTEGRATION -+ OR ARROW_BOOST_REQUIRED - OR ARROW_BUILD_TESTS - OR ARROW_GANDIVA - OR (ARROW_FLIGHT AND ARROW_BUILD_BENCHMARKS) -@@ -785,7 +777,7 @@ if(ARROW_BOOST_REQUIRED) - elseif(BOOST_SOURCE STREQUAL "BUNDLED") - build_boost() - elseif(BOOST_SOURCE STREQUAL "SYSTEM") -- find_package(BoostAlt ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED) -+ find_package(Boost ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED) - endif() - - if(TARGET Boost::system) -@@ -936,11 +928,11 @@ macro(build_brotli) - endmacro() - - if(ARROW_WITH_BROTLI) -- resolve_dependency(Brotli) -+ resolve_dependency(brotli) - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(BROTLI_INCLUDE_DIR Brotli::brotlicommon -+ get_target_property(BROTLI_INCLUDE_DIR brotli::brotlicommon - INTERFACE_INCLUDE_DIRECTORIES) -- include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) -+ include_directories(SYSTEM ${brotli_INCLUDE_DIR}) - endif() - - if(PARQUET_REQUIRE_ENCRYPTION AND NOT ARROW_PARQUET) -@@ -1146,9 +1138,10 @@ if(ARROW_NEED_GFLAGS) - endif() - endif() - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) -+ include_directories(SYSTEM ${gflags_INCLUDE_DIR}) -+ set(GFLAGS_LIBRARIES ${gflags_LIBRARIES}) - -- if(NOT TARGET ${GFLAGS_LIBRARIES}) -+ if(0) - if(TARGET gflags-shared) - set(GFLAGS_LIBRARIES gflags-shared) - elseif(TARGET gflags_shared) -@@ -1237,12 +1230,13 @@ endmacro() - if(ARROW_WITH_THRIFT) - # We already may have looked for Thrift earlier, when considering whether - # to build Boost, so don't look again if already found. -- if(NOT Thrift_FOUND AND NOT THRIFT_FOUND) -+ if(0) - # Thrift c++ code generated by 0.13 requires 0.11 or greater - resolve_dependency_with_version(Thrift 0.11.0) - endif() -+ find_package(Thrift CONFIG REQUIRED) - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${THRIFT_INCLUDE_DIR}) -+ include_directories(SYSTEM ${Thrift_INCLUDE_DIR}) - endif() - - # ---------------------------------------------------------------------- -@@ -1407,6 +1401,7 @@ endif() - # jemalloc - Unix-only high-performance allocator - - if(ARROW_JEMALLOC) -+if(0) - message(STATUS "Building (vendored) jemalloc from source") - # We only use a vendored jemalloc as we want to control its version. - # Also our build of jemalloc is specially prefixed so that it will not -@@ -1465,12 +1460,18 @@ if(ARROW_JEMALLOC) - add_dependencies(jemalloc::jemalloc jemalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS jemalloc::jemalloc) -+else() -+ find_package(jemalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${jemalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${jemalloc_LIBRARIES_TARGETS} ) -+endif() - endif() - - # ---------------------------------------------------------------------- - # mimalloc - Cross-platform high-performance allocator, from Microsoft - - if(ARROW_MIMALLOC) -+if(0) - message(STATUS "Building (vendored) mimalloc from source") - # We only use a vendored mimalloc as we want to control its build options. - -@@ -1518,6 +1519,11 @@ if(ARROW_MIMALLOC) - add_dependencies(toolchain mimalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS mimalloc::mimalloc) -+else() -+ find_package(mimalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${mimalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${mimalloc_LIBRARIES_TARGETS} ) -+endif() - endif() - - # ---------------------------------------------------------------------- -@@ -1918,11 +1924,16 @@ macro(build_lz4) - endmacro() - - if(ARROW_WITH_LZ4) -- resolve_dependency(Lz4) -+ resolve_dependency(lz4) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(LZ4_INCLUDE_DIR LZ4::lz4 INTERFACE_INCLUDE_DIRECTORIES) -- include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) -+ if(TARGET LZ4::lz4_static) -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_static INTERFACE_INCLUDE_DIRECTORIES) -+ else() -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_shared INTERFACE_INCLUDE_DIRECTORIES) -+ endif() -+ include_directories(SYSTEM ${lz4_INCLUDE_DIR}) -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${lz4_LIBRARIES_TARGETS} ) - endif() - - macro(build_zstd) -@@ -2037,10 +2048,10 @@ macro(build_re2) - endmacro() - - if(ARROW_GANDIVA) -- resolve_dependency(RE2) -+ resolve_dependency(re2) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(RE2_INCLUDE_DIR RE2::re2 INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(RE2_INCLUDE_DIR re2::re2 INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${RE2_INCLUDE_DIR}) - endif() - -@@ -2480,17 +2491,24 @@ if(ARROW_WITH_GRPC) - endif() - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(GRPC_INCLUDE_DIR gRPC::grpc INTERFACE_INCLUDE_DIRECTORIES) -+ # get_target_property(GRPC_INCLUDE_DIR gRPC::grpc INTERFACE_INCLUDE_DIRECTORIES) -+ if(grpc_INCLUDE_DIRS_RELEASE) -+ set(GRPC_INCLUDE_DIR ${grpc_INCLUDE_DIRS_RELEASE}) -+ elseif(grpc_INCLUDE_DIRS_DEBUG) -+ set(GRPC_INCLUDE_DIR ${grpc_INCLUDE_DIRS_DEBUG}) -+ endif() - include_directories(SYSTEM ${GRPC_INCLUDE_DIR}) -+ include_directories(SYSTEM ${absl_INCLUDE_DIR}) -+ include_directories(SYSTEM ${protobuf_INCLUDE_DIR}) - - if(GRPC_VENDORED) - set(GRPCPP_PP_INCLUDE TRUE) - else() - # grpc++ headers may reside in ${GRPC_INCLUDE_DIR}/grpc++ or ${GRPC_INCLUDE_DIR}/grpcpp - # depending on the gRPC version. -- if(EXISTS "${GRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h") -+ if(EXISTS ${GRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE TRUE) -- elseif(EXISTS "${GRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h") -+ elseif(EXISTS ${GRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE FALSE) - else() - message(FATAL_ERROR "Cannot find grpc++ headers in ${GRPC_INCLUDE_DIR}") -diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt -index 5797a78..da6bd4d 100644 ---- a/cpp/src/arrow/CMakeLists.txt -+++ b/cpp/src/arrow/CMakeLists.txt -@@ -292,10 +292,15 @@ set(ARROW_TESTING_SRCS - - set(_allocator_dependencies "") # Empty list - if(ARROW_JEMALLOC) -- list(APPEND _allocator_dependencies jemalloc_ep) -+ list(APPEND _allocator_dependencies jemalloc::jemalloc) - endif() -+ - if(ARROW_MIMALLOC) -- list(APPEND _allocator_dependencies mimalloc_ep) -+ if (TARGET mimalloc-static) -+ list(APPEND _allocator_dependencies mimalloc-static) -+ else() -+ list(APPEND _allocator_dependencies mimalloc) -+ endif() - endif() - - if(_allocator_dependencies) -diff --git a/cpp/src/arrow/memory_pool.cc b/cpp/src/arrow/memory_pool.cc -index 784bf7b..8f005a5 100644 ---- a/cpp/src/arrow/memory_pool.cc -+++ b/cpp/src/arrow/memory_pool.cc -@@ -31,7 +31,7 @@ - // Needed to support jemalloc 3 and 4 - #define JEMALLOC_MANGLE - // Explicitly link to our version of jemalloc --#include "jemalloc_ep/dist/include/jemalloc/jemalloc.h" -+#include "jemalloc/jemalloc.h" - #endif - - #ifdef ARROW_MIMALLOC -diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt -index 85e8db6..cd70c63 100644 ---- a/cpp/src/gandiva/CMakeLists.txt -+++ b/cpp/src/gandiva/CMakeLists.txt -@@ -25,7 +25,7 @@ add_custom_target(gandiva-benchmarks) - - add_dependencies(gandiva-all gandiva gandiva-tests gandiva-benchmarks) - --find_package(LLVMAlt REQUIRED) -+find_package(LLVM REQUIRED) - - if(LLVM_VERSION_MAJOR LESS "10") - set(GANDIVA_CXX_STANDARD ${CMAKE_CXX_STANDARD}) -@@ -88,9 +88,16 @@ set(SRC_FILES - random_generator_holder.cc - ${GANDIVA_PRECOMPILED_CC_PATH}) - --set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared LLVM::LLVM_INTERFACE RE2::re2) - --set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE RE2::re2) -+ function(get_all_targets var) -+ set(targets) -+ get_all_targets_recursive(targets ${CMAKE_CURRENT_SOURCE_DIR}) -+ set(${var} ${targets} PARENT_SCOPE) -+endfunction() -+ -+set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared llvm-core::llvm-core re2::re2) -+ -+set(GANDIVA_STATIC_LINK_LIBS arrow_static llvm-core::llvm-core re2::re2) - - if(ARROW_GANDIVA_STATIC_LIBSTDCPP - AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)) -@@ -131,7 +138,7 @@ add_arrow_lib(gandiva - arrow_dependencies - precompiled - EXTRA_INCLUDES -- $ -+ $ - SHARED_LINK_FLAGS - ${GANDIVA_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS -@@ -203,7 +210,7 @@ endfunction() - - set(GANDIVA_INTERNALS_TEST_ARGUMENTS) - if(WIN32) -- list(APPEND GANDIVA_INTERNALS_TEST_ARGUMENTS EXTRA_LINK_LIBS LLVM::LLVM_INTERFACE) -+ list(APPEND GANDIVA_INTERNALS_TEST_ARGUMENTS EXTRA_LINK_LIBS llvm-core::llvm-core) - endif() - add_gandiva_test(internals-test - SOURCES -@@ -225,9 +232,9 @@ add_gandiva_test(internals-test - decimal_type_util_test.cc - random_generator_holder_test.cc - EXTRA_DEPENDENCIES -- LLVM::LLVM_INTERFACE -+ llvm-core::llvm-core - EXTRA_INCLUDES -- $ -+ $ - ${GANDIVA_INTERNALS_TEST_ARGUMENTS}) - - if(ARROW_GANDIVA_JAVA) diff --git a/recipes/arrow/all/patches/2.0.0-0003-fix-shared-msvc.patch b/recipes/arrow/all/patches/2.0.0-0003-fix-shared-msvc.patch deleted file mode 100644 index f3268abf74e2c..0000000000000 --- a/recipes/arrow/all/patches/2.0.0-0003-fix-shared-msvc.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- cpp/src/arrow/CMakeLists.txt -+++ cpp/src/arrow/CMakeLists.txt -@@ -504,6 +504,10 @@ - target_compile_definitions(arrow_static PUBLIC ARROW_STATIC) - endif() - -+if(ARROW_BUILD_SHARED AND WIN32) -+target_compile_definitions(arrow_shared PRIVATE ARROW_EXPORTING) -+endif() -+ - if(ARROW_WITH_BACKTRACE) - find_package(Backtrace) - diff --git a/recipes/arrow/all/patches/2.0.0-0005-gandiva-engine.patch b/recipes/arrow/all/patches/2.0.0-0005-gandiva-engine.patch deleted file mode 100644 index 9fcc4b1a36a8a..0000000000000 --- a/recipes/arrow/all/patches/2.0.0-0005-gandiva-engine.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- cpp/src/gandiva/engine.cc -+++ cpp/src/gandiva/engine.cc -@@ -64,6 +64,10 @@ - #include - #include - -+#if GANDIVA_LLVM_VERSION >= 11 -+#include -+#endif -+ - #if defined(_MSC_VER) - #pragma warning(pop) - #endif diff --git a/recipes/arrow/all/patches/2.0.0-0008-fix-cmake.patch b/recipes/arrow/all/patches/2.0.0-0008-fix-cmake.patch deleted file mode 100644 index 7153d641e0c61..0000000000000 --- a/recipes/arrow/all/patches/2.0.0-0008-fix-cmake.patch +++ /dev/null @@ -1,273 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index 515e6af..7488161 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -109,7 +109,7 @@ set(BUILD_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/build-support") - set(ARROW_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") - set(ARROW_DOC_DIR "share/doc/${PROJECT_NAME}") - --set(ARROW_LLVM_VERSIONS "10" "9" "8" "7") -+set(ARROW_LLVM_VERSIONS "13" "12" "11" "10" "9" "8" "7") - list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY) - string(REGEX - REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR -@@ -667,7 +667,7 @@ endif() - - if(ARROW_WITH_BROTLI) - # Order is important for static linking -- set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon) -+ set(ARROW_BROTLI_LIBS brotli::brotlienc brotli::brotlidec brotli::brotlicommon) - list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS}) - list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS}) - if(Brotli_SOURCE STREQUAL "SYSTEM") -@@ -683,9 +683,9 @@ if(ARROW_WITH_BZ2) - endif() - - if(ARROW_WITH_LZ4) -- list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4) -+ list(APPEND ARROW_STATIC_LINK_LIBS lz4::lz4) - if(Lz4_SOURCE STREQUAL "SYSTEM") -- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4) -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS lz4::lz4) - endif() - endif() - -@@ -842,8 +842,14 @@ endif() - - if(ARROW_MIMALLOC) - add_definitions(-DARROW_MIMALLOC) -- list(APPEND ARROW_LINK_LIBS mimalloc::mimalloc) -- list(APPEND ARROW_STATIC_LINK_LIBS mimalloc::mimalloc) -+ if (TARGET mimalloc-static) -+ list(APPEND ARROW_LINK_LIBS mimalloc-static) -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc-static) -+ else() -+ list(APPEND ARROW_LINK_LIBS mimalloc) -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc) -+ endif() -+ - endif() - - # ---------------------------------------------------------------------- -diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index cc37a3c..8fe6db9 100644 ---- a/cpp/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake -@@ -171,6 +171,7 @@ macro(provide_find_module DEPENDENCY_NAME) - endmacro() - - macro(resolve_dependency DEPENDENCY_NAME) -+if(0) - set(options) - set(one_value_args REQUIRED_VERSION) - cmake_parse_arguments(ARG -@@ -207,6 +208,14 @@ macro(resolve_dependency DEPENDENCY_NAME) - provide_find_module(${DEPENDENCY_NAME}) - list(APPEND ARROW_SYSTEM_DEPENDENCIES ${DEPENDENCY_NAME}) - endif() -+else() -+ if(ARG_REQUIRED_VERSION) -+ find_package(${DEPENDENCY_NAME} ${ARG_REQUIRED_VERSION} REQUIRED) -+ else() -+ find_package(${DEPENDENCY_NAME} REQUIRED) -+ endif() -+ list(APPEND ARROW_SYSTEM_DEPENDENCIES ${DEPENDENCY_NAME}) -+endif() - endmacro() - - # ---------------------------------------------------------------------- -@@ -826,6 +835,7 @@ endif() - # - Tests need Boost at runtime. - # - S3FS and Flight benchmarks need Boost at runtime. - if(ARROW_BUILD_INTEGRATION -+ OR ARROW_BOOST_REQUIRED - OR ARROW_BUILD_TESTS - OR ARROW_GANDIVA - OR (ARROW_FLIGHT AND ARROW_BUILD_BENCHMARKS) -@@ -846,7 +856,7 @@ if(ARROW_BOOST_REQUIRED) - elseif(BOOST_SOURCE STREQUAL "BUNDLED") - build_boost() - elseif(BOOST_SOURCE STREQUAL "SYSTEM") -- find_package(BoostAlt ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED) -+ find_package(Boost ${ARROW_BOOST_REQUIRED_VERSION} REQUIRED) - endif() - - if(TARGET Boost::system) -@@ -973,11 +983,11 @@ macro(build_brotli) - endmacro() - - if(ARROW_WITH_BROTLI) -- resolve_dependency(Brotli) -+ resolve_dependency(brotli) - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(BROTLI_INCLUDE_DIR Brotli::brotlicommon -+ get_target_property(BROTLI_INCLUDE_DIR brotli::brotlicommon - INTERFACE_INCLUDE_DIRECTORIES) -- include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) -+ include_directories(SYSTEM ${brotli_INCLUDE_DIR}) - endif() - - if(PARQUET_REQUIRE_ENCRYPTION AND NOT ARROW_PARQUET) -@@ -1200,9 +1210,10 @@ if(ARROW_NEED_GFLAGS) - endif() - endif() - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) -+ include_directories(SYSTEM ${gflags_INCLUDE_DIR}) -+ set(GFLAGS_LIBRARIES ${gflags_LIBRARIES}) - -- if(NOT TARGET ${GFLAGS_LIBRARIES}) -+ if(0) - if(TARGET gflags-shared) - set(GFLAGS_LIBRARIES gflags-shared) - elseif(TARGET gflags_shared) -@@ -1291,12 +1302,13 @@ endmacro() - if(ARROW_WITH_THRIFT) - # We already may have looked for Thrift earlier, when considering whether - # to build Boost, so don't look again if already found. -- if(NOT Thrift_FOUND AND NOT THRIFT_FOUND) -+ if(0) - # Thrift c++ code generated by 0.13 requires 0.11 or greater - resolve_dependency(Thrift REQUIRED_VERSION 0.11.0) - endif() -+ find_package(Thrift CONFIG REQUIRED) - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${THRIFT_INCLUDE_DIR}) -+ include_directories(SYSTEM ${Thrift_INCLUDE_DIR}) - endif() - - # ---------------------------------------------------------------------- -@@ -1461,6 +1473,7 @@ endif() - # jemalloc - Unix-only high-performance allocator - - if(ARROW_JEMALLOC) -+if(0) - message(STATUS "Building (vendored) jemalloc from source") - # We only use a vendored jemalloc as we want to control its version. - # Also our build of jemalloc is specially prefixed so that it will not -@@ -1519,12 +1532,18 @@ if(ARROW_JEMALLOC) - add_dependencies(jemalloc::jemalloc jemalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS jemalloc::jemalloc) -+else() -+ find_package(jemalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${jemalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${jemalloc_LIBRARIES_TARGETS} ) -+endif() - endif() - - # ---------------------------------------------------------------------- - # mimalloc - Cross-platform high-performance allocator, from Microsoft - - if(ARROW_MIMALLOC) -+if(0) - message(STATUS "Building (vendored) mimalloc from source") - # We only use a vendored mimalloc as we want to control its build options. - -@@ -1572,6 +1591,11 @@ if(ARROW_MIMALLOC) - add_dependencies(toolchain mimalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS mimalloc::mimalloc) -+else() -+ find_package(mimalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${mimalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${mimalloc_LIBRARIES_TARGETS} ) -+endif() - endif() - - # ---------------------------------------------------------------------- -@@ -1971,11 +1995,16 @@ macro(build_lz4) - endmacro() - - if(ARROW_WITH_LZ4) -- resolve_dependency(Lz4) -+ resolve_dependency(lz4) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(LZ4_INCLUDE_DIR LZ4::lz4 INTERFACE_INCLUDE_DIRECTORIES) -- include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) -+ if(TARGET LZ4::lz4_static) -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_static INTERFACE_INCLUDE_DIRECTORIES) -+ else() -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_shared INTERFACE_INCLUDE_DIRECTORIES) -+ endif() -+ include_directories(SYSTEM ${lz4_INCLUDE_DIR}) -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${lz4_LIBRARIES_TARGETS} ) - endif() - - macro(build_zstd) -@@ -2090,10 +2119,10 @@ macro(build_re2) - endmacro() - - if(ARROW_GANDIVA) -- resolve_dependency(RE2) -+ resolve_dependency(re2) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(RE2_INCLUDE_DIR RE2::re2 INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(RE2_INCLUDE_DIR re2::re2 INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${RE2_INCLUDE_DIR}) - endif() - -@@ -2541,17 +2570,24 @@ if(ARROW_WITH_GRPC) - endif() - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(GRPC_INCLUDE_DIR gRPC::grpc INTERFACE_INCLUDE_DIRECTORIES) -+ if(grpc_INCLUDE_DIRS_RELEASE) -+ set(GRPC_INCLUDE_DIR ${grpc_INCLUDE_DIRS_RELEASE}) -+ elseif(grpc_INCLUDE_DIRS_DEBUG) -+ set(GRPC_INCLUDE_DIR ${grpc_INCLUDE_DIRS_DEBUG}) -+ endif() -+ - include_directories(SYSTEM ${GRPC_INCLUDE_DIR}) -+ include_directories(SYSTEM ${absl_INCLUDE_DIR}) -+ include_directories(SYSTEM ${protobuf_INCLUDE_DIR}) - - if(GRPC_VENDORED) - set(GRPCPP_PP_INCLUDE TRUE) - else() - # grpc++ headers may reside in ${GRPC_INCLUDE_DIR}/grpc++ or ${GRPC_INCLUDE_DIR}/grpcpp - # depending on the gRPC version. -- if(EXISTS "${GRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h") -+ if(EXISTS ${gRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE TRUE) -- elseif(EXISTS "${GRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h") -+ elseif(EXISTS ${gRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE FALSE) - else() - message(FATAL_ERROR "Cannot find grpc++ headers in ${GRPC_INCLUDE_DIR}") -diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt -index 2751254..842fc9e 100644 ---- a/cpp/src/arrow/CMakeLists.txt -+++ b/cpp/src/arrow/CMakeLists.txt -@@ -307,10 +307,14 @@ set(ARROW_TESTING_SRCS - - set(_allocator_dependencies "") # Empty list - if(ARROW_JEMALLOC) -- list(APPEND _allocator_dependencies jemalloc_ep) -+ list(APPEND _allocator_dependencies jemalloc::jemalloc) - endif() - if(ARROW_MIMALLOC) -- list(APPEND _allocator_dependencies mimalloc_ep) -+ if (TARGET mimalloc-static) -+ list(APPEND _allocator_dependencies mimalloc-static) -+ else() -+ list(APPEND _allocator_dependencies mimalloc) -+ endif() - endif() - - if(_allocator_dependencies) -diff --git a/cpp/src/arrow/memory_pool.cc b/cpp/src/arrow/memory_pool.cc -index 784bf7b..8f005a5 100644 ---- a/cpp/src/arrow/memory_pool.cc -+++ b/cpp/src/arrow/memory_pool.cc -@@ -31,7 +31,7 @@ - // Needed to support jemalloc 3 and 4 - #define JEMALLOC_MANGLE - // Explicitly link to our version of jemalloc --#include "jemalloc_ep/dist/include/jemalloc/jemalloc.h" -+#include "jemalloc/jemalloc.h" - #endif - - #ifdef ARROW_MIMALLOC diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index fdbc85ca26541..316731612eda2 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -25,7 +25,3 @@ versions: folder: all "7.0.0": folder: all - "2.0.0": - folder: all - "1.0.0": - folder: all From 10d3d7578b08bfd3413269708e87f3d4e714e179 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 21 Mar 2024 17:49:59 +0200 Subject: [PATCH 3999/4087] (#21911) matio: add v1.5.26, drop old versions * matio: add v1.5.26, drop old versions * matio: bump hdf5 * matio: update config.yml --- recipes/matio/all/conandata.yml | 28 ++++--------------- recipes/matio/all/conanfile.py | 2 +- .../all/patches/disable-hdf5-target.patch | 12 -------- .../patches/patch-apple-no-undefined.patch | 17 ----------- recipes/matio/config.yml | 8 ++---- 5 files changed, 9 insertions(+), 58 deletions(-) delete mode 100644 recipes/matio/all/patches/disable-hdf5-target.patch delete mode 100644 recipes/matio/all/patches/patch-apple-no-undefined.patch diff --git a/recipes/matio/all/conandata.yml b/recipes/matio/all/conandata.yml index 0850bf3d72ee4..9a389d571f858 100644 --- a/recipes/matio/all/conandata.yml +++ b/recipes/matio/all/conandata.yml @@ -1,36 +1,20 @@ sources: - "1.5.18": - url: "https://downloads.sourceforge.net/project/matio/matio/1.5.18/matio-1.5.18.tar.gz" - sha256: "5fad71a63a854d821cc6f4e8c84da837149dd5fb57e1e2baeffd85fa0f28fe25" - "1.5.19": - url: "https://downloads.sourceforge.net/project/matio/matio/1.5.19/matio-1.5.19.tar.gz" - sha256: "a4fa4d248b0414fc72f3d6155f710c470d5628d3c31af834f8d5ccf06b60286f" - "1.5.21": - url: "https://downloads.sourceforge.net/project/matio/matio/1.5.21/matio-1.5.21.tar.gz" - sha256: "21809177e55839e7c94dada744ee55c1dea7d757ddaab89605776d50122fb065" "1.5.23": url: "https://downloads.sourceforge.net/project/matio/matio/1.5.23/matio-1.5.23.tar.gz" sha256: "9f91eae661df46ea53c311a1b2dcff72051095b023c612d7cbfc09406c9f4d6e" "1.5.24": url: "https://downloads.sourceforge.net/project/matio/matio/1.5.24/matio-1.5.24.tar.gz" sha256: "5106ebed5b40d02a2bb968b57bef8876701c566e039e6ebe134bab779c436f7c" + "1.5.26": + url: "https://downloads.sourceforge.net/project/matio/matio/1.5.26/matio-1.5.26.tar.gz" + sha256: "8b47c29f58e468dba7a5555371c6a72ad4c6aa8b15f459b2b0b65a303c063933" patches: - "1.5.18": - - patch_file: "patches/require-cmake-3.10.patch" - - patch_file: "patches/disable-hdf5-target.patch" - - patch_file: "patches/patch-apple-no-undefined.patch" - - patch_file: "patches/cmake-install-bundle.patch" - "1.5.19": - - patch_file: "patches/require-cmake-3.10.patch" - - patch_file: "patches/patch-apple-no-undefined.patch" - - patch_file: "patches/cmake-install-bundle.patch" - "1.5.21": - - patch_file: "patches/require-cmake-3.10.patch" - - patch_file: "patches/patch-apple-no-undefined.patch" - - patch_file: "patches/cmake-install-bundle.patch" "1.5.23": - patch_file: "patches/require-cmake-3.10.patch" - patch_file: "patches/cmake-install-bundle.patch" "1.5.24": - patch_file: "patches/require-cmake-3.10.patch" - patch_file: "patches/cmake-install-bundle.patch" + "1.5.26": + - patch_file: "patches/require-cmake-3.10.patch" + - patch_file: "patches/cmake-install-bundle.patch" diff --git a/recipes/matio/all/conanfile.py b/recipes/matio/all/conanfile.py index 199bb98823415..74cf617347b43 100644 --- a/recipes/matio/all/conanfile.py +++ b/recipes/matio/all/conanfile.py @@ -54,7 +54,7 @@ def layout(self): def requirements(self): if self.options.with_hdf5: - self.requires("hdf5/1.14.1") + self.requires("hdf5/1.14.3") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") diff --git a/recipes/matio/all/patches/disable-hdf5-target.patch b/recipes/matio/all/patches/disable-hdf5-target.patch deleted file mode 100644 index 8f9c45cb87de8..0000000000000 --- a/recipes/matio/all/patches/disable-hdf5-target.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/cmake/thirdParties.cmake -+++ b/cmake/thirdParties.cmake -@@ -29,8 +29,8 @@ if(MATIO_WITH_HDF5) - endif() - endif() - --if(HDF5_FOUND) - set(HAVE_HDF5 1) -+if(0) - add_library(HDF5::HDF5 INTERFACE IMPORTED) - if(MATIO_USE_CONAN AND TARGET CONAN_PKG::hdf5) - # target from Conan diff --git a/recipes/matio/all/patches/patch-apple-no-undefined.patch b/recipes/matio/all/patches/patch-apple-no-undefined.patch deleted file mode 100644 index 6dbb97ff53471..0000000000000 --- a/recipes/matio/all/patches/patch-apple-no-undefined.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/cmake/src.cmake -+++ b/cmake/src.cmake -@@ -37,8 +37,12 @@ if(STDINT_MSVC) - endif() - - if(NOT MSVC) -- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") -- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--retain-symbols-file,${PROJECT_SOURCE_DIR}/src/matio.sym") -+ if(APPLE) -+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-undefined,error") -+ else() -+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") -+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--retain-symbols-file,${PROJECT_SOURCE_DIR}/src/matio.sym") -+ endif() - endif() - - if(MATIO_SHARED) diff --git a/recipes/matio/config.yml b/recipes/matio/config.yml index 32213bb4d952d..aa1f75ac7dd6a 100644 --- a/recipes/matio/config.yml +++ b/recipes/matio/config.yml @@ -1,11 +1,7 @@ versions: - "1.5.18": + "1.5.26": folder: all - "1.5.19": - folder: all - "1.5.21": + "1.5.24": folder: all "1.5.23": folder: all - "1.5.24": - folder: all From 8ef261f37b247e2e58b7e9251bad7adb3fa6de6e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Mar 2024 01:08:45 +0900 Subject: [PATCH 4000/4087] (#22772) duckdb: add version 0.10.1 * duckdb: add version 0.10.0 * add bigobj * link rstrtmgr * add platform option for cross building * update 0.10.1 * link bcrypt * setting DDUCKDB_EXPLICIT_PLATFORM on cross build only Co-authored-by: Uilian Ries * remove platform option Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/duckdb/all/conandata.yml | 10 ++ recipes/duckdb/all/conanfile.py | 11 +- .../all/patches/0.10.1-0001-fix-cmake.patch | 118 ++++++++++++++++++ .../all/patches/0.10.1-0002-msvc-bicobj.patch | 13 ++ recipes/duckdb/config.yml | 2 + 5 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 recipes/duckdb/all/patches/0.10.1-0001-fix-cmake.patch create mode 100644 recipes/duckdb/all/patches/0.10.1-0002-msvc-bicobj.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 82ad639285d87..65a6c49289818 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10.1": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.10.1.tar.gz" + sha256: "83bd4944c070fd0bd287fbe62919fa887f35d7422ba0fa66e13d4ed098f3791a" "0.9.2": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.2.tar.gz" sha256: "afff7bd925a98dc2af4039b8ab2159b0705cbf5e0ee05d97f7bb8dce5f880dc2" @@ -24,6 +27,13 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "0.10.1": + - patch_file: "patches/0.10.1-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/0.10.1-0002-msvc-bicobj.patch" + patch_description: "add /bigobj flag" + patch_type: "portability" "0.9.2": - patch_file: "patches/0.9.2-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index bb764a9d7f7ea..05d51ebfbbe3b 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, cross_building from conan.tools.scm import Version from conan.tools.microsoft import is_msvc from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -108,7 +108,7 @@ def generate(self): tc.variables["DUCKDB_MINOR_VERSION"] = Version(self.version).minor tc.variables["DUCKDB_PATCH_VERSION"] = Version(self.version).patch tc.variables["DUCKDB_DEV_ITERATION"] = 0 - + tc.variables["OVERRIDE_GIT_DESCRIBE"] = f"v{self.version}" if "with_parquet" in self.options: tc.variables["BUILD_PARQUET_EXTENSION"] = self.options.with_parquet @@ -159,6 +159,8 @@ def generate(self): tc.variables["ENABLE_UBSAN"] = False if is_msvc(self) and not self.options.shared: tc.preprocessor_definitions["DUCKDB_API"] = "" + if Version(self.version) >= "0.10.0" and cross_building(self): + tc.variables["DUCKDB_EXPLICIT_PLATFORM"] = f"{self.settings.os}_{self.settings.arch}" tc.generate() dpes = CMakeDeps(self) @@ -211,6 +213,8 @@ def package_info(self): ] if Version(self.version) >= "0.6.0": self.cpp_info.libs.append("duckdb_fsst") + if Version(self.version) >= "0.10.0": + self.cpp_info.libs.append("duckdb_skiplistlib") if self.options.with_autocomplete: self.cpp_info.libs.append("autocomplete_extension") @@ -244,6 +248,9 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") + if Version(self.version) >= "0.10.0": + self.cpp_info.system_libs.extend(["rstrtmgr", "bcrypt"]) + if self.options.with_shell: binpath = os.path.join(self.package_folder, "bin") diff --git a/recipes/duckdb/all/patches/0.10.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.10.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..7843bec6ccf0e --- /dev/null +++ b/recipes/duckdb/all/patches/0.10.1-0001-fix-cmake.patch @@ -0,0 +1,118 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aebc060..4698e32 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -836,7 +836,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 d45ae7f..c13ca96 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -92,21 +92,21 @@ else() + duckdb_fastpforlib + duckdb_skiplistlib + duckdb_mbedtls) +- ++ if(BUILD_SHARED_LIBS) + add_library(duckdb SHARED ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) + link_threads(duckdb) + link_extension_libraries(duckdb) +- ++ endif() + add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) + link_threads(duckdb_static) + link_extension_libraries(duckdb_static) +- ++ if(BUILD_SHARED_LIBS) + target_include_directories( + duckdb PUBLIC $ + $) +- ++ endif() + target_include_directories( + duckdb_static PUBLIC $ + $) +@@ -121,10 +121,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt +index baf7823..4bef643 100644 +--- a/tools/odbc/CMakeLists.txt ++++ b/tools/odbc/CMakeLists.txt +@@ -38,6 +38,14 @@ add_library(duckdb_odbc SHARED ${ALL_OBJECT_FILES} duckdb_odbc.def) + set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") + target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) + ++install( ++ TARGETS duckdb_odbc ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++) ++ + if(NOT CLANG_TIDY) + add_subdirectory(test) + endif() +diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt +index e29c33e..fb926b5 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -26,20 +26,20 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() + +-include_directories(../../third_party/catch) ++# include_directories(../../third_party/catch) + +-include_directories(test/include) +-add_subdirectory(test) ++# include_directories(test/include) ++# add_subdirectory(test) + +-add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) +-if(WIN32 OR ZOS) +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) +-else() +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) +-endif() ++# add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) ++# if(WIN32 OR ZOS) ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) ++# else() ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) ++# endif() diff --git a/recipes/duckdb/all/patches/0.10.1-0002-msvc-bicobj.patch b/recipes/duckdb/all/patches/0.10.1-0002-msvc-bicobj.patch new file mode 100644 index 0000000000000..4dd0c46e33839 --- /dev/null +++ b/recipes/duckdb/all/patches/0.10.1-0002-msvc-bicobj.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aebc060..4a696b6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -508,7 +508,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 77e20cf10a797..60b78863eb1bb 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "0.10.1": + folder: "all" "0.9.2": folder: "all" "0.9.0": From 1fb61063d32d21f788298ae8417a0e5cf101591a Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Thu, 21 Mar 2024 17:29:59 +0100 Subject: [PATCH 4001/4087] (#23195) simfil: Bump 0.1.2 * simfil: Bump 0.1.2 * simfil: Add package type --- recipes/simfil/all/conandata.yml | 3 +++ recipes/simfil/all/conanfile.py | 1 + recipes/simfil/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/simfil/all/conandata.yml b/recipes/simfil/all/conandata.yml index f6fc491607eb0..4fa19c86dbd8c 100644 --- a/recipes/simfil/all/conandata.yml +++ b/recipes/simfil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.2": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.1.2.tar.gz" + sha256: "a903658ff37fa304dc6d8cb65e7923b6857b825ce2ac205522b84e4785d80e8d" "0.1.1": url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.1.1.tar.gz" sha256: "e82a9d92ec65b7e27776d5507c78571cecc234f2b6fcdacc7ffcece6198f7f9a" diff --git a/recipes/simfil/all/conanfile.py b/recipes/simfil/all/conanfile.py index 7f51c69a00ce9..66a16c329cfe6 100644 --- a/recipes/simfil/all/conanfile.py +++ b/recipes/simfil/all/conanfile.py @@ -16,6 +16,7 @@ class SimfilRecipe(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Klebert-Engineering/simfil" license = "BSD-3-Clause" + package_type = "library" topics = ["query-language", "json", "data-model"] # Binary configuration diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml index b893ff21f7c23..eb8addc0ca6d3 100644 --- a/recipes/simfil/config.yml +++ b/recipes/simfil/config.yml @@ -1,3 +1,5 @@ versions: + "0.1.2": + folder: all "0.1.1": folder: all From b0f46b6edd1544e4c1df093e7ce622432becfbad Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Mar 2024 02:09:21 +0900 Subject: [PATCH 4002/4087] (#23172) wasmtime-cpp: add version 18.0.0 --- recipes/wasmtime-cpp/all/conandata.yml | 3 +++ recipes/wasmtime-cpp/all/conanfile.py | 1 + recipes/wasmtime-cpp/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/wasmtime-cpp/all/conandata.yml b/recipes/wasmtime-cpp/all/conandata.yml index 524a7021c9bc2..35283cdf993b9 100644 --- a/recipes/wasmtime-cpp/all/conandata.yml +++ b/recipes/wasmtime-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "18.0.0": + url: "https://github.com/bytecodealliance/wasmtime-cpp/archive/v18.0.0.tar.gz" + sha256: "94478a9465c6f766ebd7999438a89392dcb30f9fe10f772c8669dcd0b7ffbf86" "9.0.0": url: "https://github.com/bytecodealliance/wasmtime-cpp/archive/v9.0.0.tar.gz" sha256: "0ff8242a9dcbe43eb38c6a3e02be40ed585e6b88efd89092bf1b5318cb8fece1" diff --git a/recipes/wasmtime-cpp/all/conanfile.py b/recipes/wasmtime-cpp/all/conanfile.py index 9970e18861d77..9e61f74387ac9 100644 --- a/recipes/wasmtime-cpp/all/conanfile.py +++ b/recipes/wasmtime-cpp/all/conanfile.py @@ -44,6 +44,7 @@ def requirements(self): "1.0.0": "1.0.1", "6.0.0": "6.0.1", "9.0.0": "12.0.2", + "18.0.0": "18.0.3", } self.requires(f"wasmtime/{version_map.get(version, version)}") diff --git a/recipes/wasmtime-cpp/config.yml b/recipes/wasmtime-cpp/config.yml index 37168a28be705..49006a3577c70 100644 --- a/recipes/wasmtime-cpp/config.yml +++ b/recipes/wasmtime-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "18.0.0": + folder: all "9.0.0": folder: all "7.0.0": From 62a7071cddcdd0934640154a3bfeebd1096548ff Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 21 Mar 2024 18:22:02 +0100 Subject: [PATCH 4003/4087] (#23200) [wildcards] Add new package: wilcards 1.4.0 Signed-off-by: Uilian Ries --- recipes/wildcards/all/conandata.yml | 4 ++ recipes/wildcards/all/conanfile.py | 52 +++++++++++++++++++ .../wildcards/all/test_package/CMakeLists.txt | 8 +++ .../wildcards/all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 10 ++++ recipes/wildcards/config.yml | 3 ++ 6 files changed, 103 insertions(+) create mode 100644 recipes/wildcards/all/conandata.yml create mode 100644 recipes/wildcards/all/conanfile.py create mode 100644 recipes/wildcards/all/test_package/CMakeLists.txt create mode 100644 recipes/wildcards/all/test_package/conanfile.py create mode 100644 recipes/wildcards/all/test_package/test_package.cpp create mode 100644 recipes/wildcards/config.yml diff --git a/recipes/wildcards/all/conandata.yml b/recipes/wildcards/all/conandata.yml new file mode 100644 index 0000000000000..466e54e9a7c61 --- /dev/null +++ b/recipes/wildcards/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.4.0": + url: "https://github.com/zemasoft/wildcards/archive/refs/tags/v1.4.0.tar.gz" + sha256: "da8846215df2c1493e9796392d9e17ca2da8cfeae0f718fe1d6e0544cbcfaa0f" diff --git a/recipes/wildcards/all/conanfile.py b/recipes/wildcards/all/conanfile.py new file mode 100644 index 0000000000000..6546c04ceaf0a --- /dev/null +++ b/recipes/wildcards/all/conanfile.py @@ -0,0 +1,52 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "wildcards" + description = "A simple C++ header-only template library implementing matching using wildcards" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/zemasoft/wildcards" + topics = ("template", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + 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, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WILDCARDS_BUILD_TESTS"] = False + tc.variables["WILDCARDS_BUILD_EXAMPLES"] = False + tc.generate() + + def build(self): + # INFO: Wildcards uses CMake to generate wildcards.hpp + cmake = CMake(self) + cmake.configure() + + def package(self): + copy(self, "LICENSE_1_0.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/wildcards/all/test_package/CMakeLists.txt b/recipes/wildcards/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5d849260e8ce8 --- /dev/null +++ b/recipes/wildcards/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(wildcards REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE wildcards::wildcards) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/wildcards/all/test_package/conanfile.py b/recipes/wildcards/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/wildcards/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/wildcards/all/test_package/test_package.cpp b/recipes/wildcards/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..076aaeb8e51e2 --- /dev/null +++ b/recipes/wildcards/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include + +#include "wildcards.hpp" + + +int main(void) { + wildcards::match("Hello, World!", "H*World?"); + + return EXIT_SUCCESS; +} diff --git a/recipes/wildcards/config.yml b/recipes/wildcards/config.yml new file mode 100644 index 0000000000000..c957e4bc2d3c7 --- /dev/null +++ b/recipes/wildcards/config.yml @@ -0,0 +1,3 @@ +versions: + "1.4.0": + folder: all From 1d02e99e78e4e703f334eab18476c118e2a36ba5 Mon Sep 17 00:00:00 2001 From: Ulrich Telle Date: Thu, 21 Mar 2024 19:04:25 +0100 Subject: [PATCH 4004/4087] (#21354) Add recipe for sqlite3mc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add recipe for sqlite3mc * Adjust recipe Remove C++ compiler options, because this library is a C library * Add CMake version requirement * Add CMake requirement to test package * Add missing header in test * Adjust according to review * Fix conan v1 related issues * Apply suggestions from code review Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Remove option SQLITE_ENABLE_JSON1, add FreeBSD to os list --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/sqlite3mc/all/conandata.yml | 4 + recipes/sqlite3mc/all/conanfile.py | 222 ++++++++++++++++++ .../sqlite3mc/all/test_package/CMakeLists.txt | 12 + .../sqlite3mc/all/test_package/conanfile.py | 25 ++ recipes/sqlite3mc/all/test_package/main.c | 73 ++++++ recipes/sqlite3mc/config.yml | 3 + 6 files changed, 339 insertions(+) create mode 100644 recipes/sqlite3mc/all/conandata.yml create mode 100644 recipes/sqlite3mc/all/conanfile.py create mode 100644 recipes/sqlite3mc/all/test_package/CMakeLists.txt create mode 100644 recipes/sqlite3mc/all/test_package/conanfile.py create mode 100644 recipes/sqlite3mc/all/test_package/main.c create mode 100644 recipes/sqlite3mc/config.yml diff --git a/recipes/sqlite3mc/all/conandata.yml b/recipes/sqlite3mc/all/conandata.yml new file mode 100644 index 0000000000000..462228eb46b29 --- /dev/null +++ b/recipes/sqlite3mc/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.8.0": + url: "https://github.com/utelle/SQLite3MultipleCiphers/archive/refs/tags/v1.8.0.tar.gz" + sha256: "13D9B939BEF7C7371D58A3874F83B18CF330EB2171205B3680ACDDB2215BE0E5" diff --git a/recipes/sqlite3mc/all/conanfile.py b/recipes/sqlite3mc/all/conanfile.py new file mode 100644 index 0000000000000..eddb5a88de890 --- /dev/null +++ b/recipes/sqlite3mc/all/conanfile.py @@ -0,0 +1,222 @@ +import os +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMakeDeps, CMakeToolchain, CMake +from conan.tools.files import get, copy + +required_conan_version = ">=1.53.0" + + +class sqlite3mc(ConanFile): + name = "sqlite3mc" + package_type = "library" + + license = "MIT" + homepage = "https://github.com/utelle/SQLite3MultipleCiphers" + url = "https://github.com/conan-io/conan-center-index" + description = "The project SQLite3 Multiple Ciphers implements an encryption extension for SQLite with support for multiple ciphers." + topics = ("sqlite", "sqlite3", "sqlite3-encryption", "database-encryption", "sqlite3-extension") + + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False], + "require_zlib": [True, False], + "static_runtime_link": [True, False], + "build_shell": [True, False], + "with_icu": [True, False], + "enable_debug": [True, False], + "soundex": [True, False], + "enable_column_metadata": [True, False], + "secure_delete": [True, False], + "enable_fts3": [True, False], + "enable_fts3_paranthesis": [True, False], + "enable_fts4": [True, False], + "enable_fts5": [True, False], + "enable_carray": [True, False], + "enable_csv": [True, False], + "enable_extfunc": [True, False], + "enable_geopoly": [True, False], + "enable_rtree": [True, False], + "enable_uuid": [True, False], + "use_uri": [True, False], + "user_authentication": [True, False], + "enable_preupdate_hook": [True, False], + "enable_session": [True, False], + "shell_is_utf8": [True, False], + "enable_fileio": [True, False], + "enable_regexp": [True, False], + "enable_series": [True, False], + "enable_sha3": [True, False], + "enable_explain_comments": [True, False], + "enable_dbpage_vtab": [True, False], + "enable_dbstat_vtab": [True, False], + "enable_stmtvtab": [True, False], + "enable_unknown_sql_function": [True, False], + "use_miniz": [True, False], + "enable_compress": [True, False], + "enable_sqlar": [True, False], + "enable_zipfile": [True, False], + "use_sqleet_legacy": [True, False], + "use_sqlcipher_legacy": [True, False], + "secure_memory": [True, False], + "use_random_fill_memory": [True, False], + "omit_aes_hardware_support": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "require_zlib": False, + "static_runtime_link": False, + "build_shell": False, + "with_icu": False, + "enable_debug": False, + "soundex": True, + "enable_column_metadata": True, + "secure_delete": True, + "enable_fts3": True, + "enable_fts3_paranthesis": True, + "enable_fts4": True, + "enable_fts5": True, + "enable_carray": True, + "enable_csv": True, + "enable_extfunc": True, + "enable_geopoly": True, + "enable_rtree": True, + "enable_uuid": True, + "use_uri": True, + "user_authentication": True, + "enable_preupdate_hook": False, + "enable_session": False, + "shell_is_utf8": True, + "enable_fileio": True, + "enable_regexp": True, + "enable_series": True, + "enable_sha3": True, + "enable_explain_comments": True, + "enable_dbpage_vtab": True, + "enable_dbstat_vtab": True, + "enable_stmtvtab": True, + "enable_unknown_sql_function": True, + "use_miniz": False, + "enable_compress": False, + "enable_sqlar": False, + "enable_zipfile": False, + "use_sqleet_legacy": False, + "use_sqlcipher_legacy": False, + "secure_memory": False, + "use_random_fill_memory": False, + "omit_aes_hardware_support": False + } + + def build_requirements(self): + self.tool_requires("cmake/[>=3.24 <4]") + + 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 source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.require_zlib: + self.requires("zlib/[>=1.2.11 <2]") + if self.options.with_icu: + self.requires("icu/74.1") + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + + tc = CMakeToolchain(self) + tc.variables["_SQLITE3MC_REQUIRE_ZLIB"] = self.options.require_zlib + tc.variables["SQLITE3MC_STATIC_RUNTIME_LINK"] = self.options.static_runtime_link + tc.variables["SQLITE3MC_STATIC"] = not self.options.shared + tc.variables["SQLITE3MC_BUILD_SHELL"] = self.options.build_shell + tc.variables["SQLITE3MC_WITH_ICU"] = self.options.with_icu + + tc.variables["SQLITE_ENABLE_DEBUG"] = self.options.enable_debug + tc.variables["SQLITE_SOUNDEX"] = self.options.soundex + tc.variables["SQLITE_ENABLE_COLUMN_METADATA"] = self.options.enable_column_metadata + tc.variables["SQLITE_SECURE_DELETE"] = self.options.secure_delete + tc.variables["SQLITE_ENABLE_FTS3"] = self.options.enable_fts3 + tc.variables["SQLITE_ENABLE_FTS3_PARENTHESIS"] = self.options.enable_fts3_paranthesis + tc.variables["SQLITE_ENABLE_FTS4"] = self.options.enable_fts4 + tc.variables["SQLITE_ENABLE_FTS5"] = self.options.enable_fts5 + + tc.variables["SQLITE_ENABLE_CARRAY"] = self.options.enable_carray + tc.variables["SQLITE_ENABLE_CSV"] = self.options.enable_csv + tc.variables["SQLITE_ENABLE_EXTFUNC"] = self.options.enable_extfunc + tc.variables["SQLITE_ENABLE_GEOPOLY"] = self.options.enable_geopoly + tc.variables["SQLITE_ENABLE_RTREE"] = self.options.enable_rtree + tc.variables["SQLITE_ENABLE_UUID"] = self.options.enable_uuid + tc.variables["SQLITE_USE_URI"] = self.options.use_uri + tc.variables["SQLITE_USER_AUTHENTICATION"] = self.options.user_authentication + tc.variables["SQLITE_ENABLE_PREUPDATE_HOOK"] = self.options.enable_preupdate_hook + tc.variables["SQLITE_ENABLE_SESSION"] = self.options.enable_session + tc.variables["SQLITE_SHELL_IS_UTF8"] = self.options.shell_is_utf8 + + # Options for library only + tc.variables["SQLITE_ENABLE_FILEIO"] = self.options.enable_fileio + tc.variables["SQLITE_ENABLE_REGEXP"] = self.options.enable_regexp + tc.variables["SQLITE_ENABLE_SERIES"] = self.options.enable_series + tc.variables["SQLITE_ENABLE_SHA3"] = self.options.enable_sha3 + + # Options for shell only (compatibility with official SQLite shell) + tc.variables["SQLITE_ENABLE_EXPLAIN_COMMENTS"] = self.options.enable_explain_comments + tc.variables["SQLITE_ENABLE_DBPAGE_VTAB"] = self.options.enable_dbpage_vtab + tc.variables["SQLITE_ENABLE_DBSTAT_VTAB"] = self.options.enable_dbstat_vtab + tc.variables["SQLITE_ENABLE_STMTVTAB"] = self.options.enable_stmtvtab + tc.variables["SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION"] = self.options.enable_unknown_sql_function + + # Embedded Compression + tc.variables["SQLITE3MC_USE_MINIZ"] = self.options.use_miniz + + # Compression/Options that require ZLIB + tc.variables["SQLITE_ENABLE_COMPRESS"] = self.options.enable_compress + tc.variables["SQLITE_ENABLE_SQLAR"] = self.options.enable_sqlar + tc.variables["SQLITE_ENABLE_ZIPFILE"] = self.options.enable_zipfile + + # Legacy Encryption Extensions + tc.variables["SQLITE3MC_USE_SQLEET_LEGACY"] = self.options.use_sqleet_legacy + tc.variables["SQLITE3MC_USE_SQLCIPHER_LEGACY"] = self.options.use_sqlcipher_legacy + + # Additional memory security (filling freed memory allocations with zeros or random data) + tc.variables["SQLITE3MC_SECURE_MEMORY"] = self.options.secure_memory + tc.variables["SQLITE3MC_USE_RANDOM_FILL_MEMORY"] = self.options.use_random_fill_memory + + # Omit AES hardware support + tc.variables["SQLITE3MC_OMIT_AES_HARDWARE_SUPPORT"] = self.options.omit_aes_hardware_support + + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), keep_path=False) + + def package_info(self): + if self.options.shared: + self.cpp_info.libs = ["sqlite3mc"] + else: + self.cpp_info.libs = ["sqlite3mc_static"] + if self.settings.os in ("Linux", "FreeBSD", "Macos"): + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("dl") + self.cpp_info.system_libs.append("m") + if self.settings.os == "Macos": + self.cpp_info.frameworks.append("Security") diff --git a/recipes/sqlite3mc/all/test_package/CMakeLists.txt b/recipes/sqlite3mc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..79301e1094eb1 --- /dev/null +++ b/recipes/sqlite3mc/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) +project(test_sqlite3mc C) + +find_package(sqlite3mc REQUIRED) + +add_executable(${PROJECT_NAME} + main.c +) + +target_link_libraries(${PROJECT_NAME} + sqlite3mc::sqlite3mc +) diff --git a/recipes/sqlite3mc/all/test_package/conanfile.py b/recipes/sqlite3mc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..1b70bb597a5da --- /dev/null +++ b/recipes/sqlite3mc/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class sqlite3mcTest(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + + 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_sqlite3mc") + self.run(cmd, env="conanrun") diff --git a/recipes/sqlite3mc/all/test_package/main.c b/recipes/sqlite3mc/all/test_package/main.c new file mode 100644 index 0000000000000..efb9f3b4c701d --- /dev/null +++ b/recipes/sqlite3mc/all/test_package/main.c @@ -0,0 +1,73 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + sqlite3 *db; + const char *key = "password"; + const char *wrongKey = "wrongPassword"; + + // Create database + int rc = sqlite3_open("test.db", &db); + if (rc != SQLITE_OK) + { + fprintf(stderr, "Failed to open database: %s\n", sqlite3_errmsg(db)); + sqlite3_close(db); + return 1; + } + + // Encrypt + sqlite3_key(db, key, strlen(key)); + + // Fill db with some data and close it + rc = sqlite3_exec(db, "CREATE TABLE users (name TEXT NOT NULL, ID INTEGER PRIMARY KEY UNIQUE)", NULL, NULL, NULL); + if (rc != SQLITE_OK) + { + fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db)); + sqlite3_close(db); + return 1; + } + rc = sqlite3_exec(db, "INSERT INTO users (name, ID) VALUES ('testUser', '12345')", NULL, NULL, NULL); + if (rc != SQLITE_OK) + { + fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db)); + sqlite3_close(db); + return 1; + } + rc = sqlite3_close(db); + if (rc != SQLITE_OK) + { + fprintf(stderr, "Failed to close database: %s\n", sqlite3_errmsg(db)); + return 1; + } + + // Reopen and provide wrong key + rc = sqlite3_open("test.db", &db); + if (rc != SQLITE_OK) + { + fprintf(stderr, "Failed to open database: %s\n", sqlite3_errmsg(db)); + sqlite3_close(db); + return 1; + } + sqlite3_key(db, wrongKey, strlen(wrongKey)); + + // Try to access the database, should fail + rc = sqlite3_exec(db, "SELECT name FROM users WHERE ID = '12345'", NULL, NULL, NULL); + if (rc == SQLITE_OK) + { + fprintf(stderr, "Access was provided without the proper key\n"); + sqlite3_close(db); + return 1; + } + rc = sqlite3_close(db); + if (rc != SQLITE_OK) + { + fprintf(stderr, "Failed to close database: %s\n", sqlite3_errmsg(db)); + return 1; + } + + + fprintf(stdout, "Test successful\n"); + return 0; +} diff --git a/recipes/sqlite3mc/config.yml b/recipes/sqlite3mc/config.yml new file mode 100644 index 0000000000000..4d72270a88048 --- /dev/null +++ b/recipes/sqlite3mc/config.yml @@ -0,0 +1,3 @@ +versions: + "1.8.0": + folder: all From c1cf27410afbb80d98c41316e583082c1229fd9b Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 21 Mar 2024 18:09:29 -0500 Subject: [PATCH 4005/4087] (#23204) libunwind: Bump xz_utils to avoid a dependency conflict in cpython Fixes a conflicting dependency in #20528. --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 002c9bf613f23..7980721bda607 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if self.options.minidebuginfo: - self.requires("xz_utils/5.4.5") + self.requires("xz_utils/5.6.1") if self.options.zlibdebuginfo: self.requires("zlib/[>=1.2.11 <2]") From dcf57227962a1f140bb2d875baf945b0ecf7ce40 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 22 Mar 2024 10:06:10 +0100 Subject: [PATCH 4006/4087] (#22695) zint: use version range for libpng * zint: bump libpng * zint: use version range for libpng --------- Co-authored-by: Daniel --- recipes/zint/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zint/all/conanfile.py b/recipes/zint/all/conanfile.py index f9c54ff2b86cf..c582bdfe4e8e1 100644 --- a/recipes/zint/all/conanfile.py +++ b/recipes/zint/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): def requirements(self): if self.options.with_libpng: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_qt: self.requires("qt/5.15.10") From 2af167e4c024005364ee8e2deccfcd6047c04a4e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Mar 2024 18:48:05 +0900 Subject: [PATCH 4007/4087] (#23208) sfl: add version 1.3.1 --- 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 b4d8ce3303e28..121900e615afb 100644 --- a/recipes/sfl/all/conandata.yml +++ b/recipes/sfl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.3.1.tar.gz" + sha256: "e541857067ae3e6c8d9933736e70ef92c1ce0a0e374872497328edd2e4e47ae9" "1.3.0": url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.3.0.tar.gz" sha256: "1d0e797c5e11bbc861f9f1ae8eb7d9378d456d6cd1c43e00cdec6d3664e745e6" diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml index 5f304ccdf5f5a..6afe808172f22 100644 --- a/recipes/sfl/config.yml +++ b/recipes/sfl/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: "all" "1.3.0": folder: "all" "1.2.4": From ef502a87eea01b23cd15711404ac80a82fe9b63c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 22 Mar 2024 12:15:57 +0100 Subject: [PATCH 4008/4087] (#22136) opencv: add version 4.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * opencv: add version 4.9.0 * bump deps * bump deps * Fix issue with quirc * Set quirc to false for old versions * use version range for libpng --------- Co-authored-by: Rubén Rincón Blanco --- recipes/opencv/4.x/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/opencv/4.x/conanfile.py | 14 +++++++++++--- recipes/opencv/config.yml | 2 ++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml index 523e50b3b56b9..d536778d0cf88 100644 --- a/recipes/opencv/4.x/conandata.yml +++ b/recipes/opencv/4.x/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.9.0": + - url: "https://github.com/opencv/opencv/archive/refs/tags/4.9.0.tar.gz" + sha256: "ddf76f9dffd322c7c3cb1f721d0887f62d747b82059342213138dc190f28bc6c" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.9.0.tar.gz" + sha256: "8952c45a73b75676c522dd574229f563e43c271ae1d5bbbd26f8e2b6bc1a4dae" "4.8.1": - url: "https://github.com/opencv/opencv/archive/refs/tags/4.8.1.tar.gz" sha256: "62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5" @@ -20,6 +25,28 @@ sources: - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.1.2.tar.gz" sha256: "0f6c3d30baa39e3e7611afb481ee86dea45dafb182cac87d570c95dccd83eb8b" patches: + "4.9.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.5.2-0001-fix-zlib-static-android.patch" + patch_description: "Fix discovery of zlib static if Android" + patch_type: "conan" + - patch_file: "patches/4.1.2-0007-android-install-layout.patch" + patch_description: "Honor install layout from conan if Android" + patch_type: "conan" "4.8.1": - 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 0d5396ed1027e..4f868f3cc469f 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -203,7 +203,7 @@ class OpenCVConan(ConanFile): "with_msmf": True, "with_msmf_dxva": True, # objdetect module options - "with_quirc": True, + "with_quirc": False, # videoio module options "with_ffmpeg": True, "with_v4l": False, @@ -351,6 +351,9 @@ def config_options(self): if not self._has_with_wayland_option: self.options.with_gtk = True + if Version(self.version) >= "4.9": + self.options.with_quirc = True + @property def _opencv_modules(self): def imageformats_deps(): @@ -1119,7 +1122,7 @@ def requirements(self): elif self.options.get_safe("with_jpeg2000") == "openjpeg": self.requires("openjpeg/2.5.2") if self.options.get_safe("with_png"): - self.requires("libpng/1.6.43") + self.requires("libpng/[>=1.6 <2]") if self.options.get_safe("with_openexr"): self.requires("openexr/3.2.3") if self.options.get_safe("with_tiff"): @@ -1238,6 +1241,10 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "ANDROID OR NOT UNIX", "FALSE") replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "elseif(EMSCRIPTEN)", "elseif(QNXNTO)\nelseif(EMSCRIPTEN)") + if self.options.with_quirc: + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "add_subdirectory(3rdparty/quirc)", "# add_subdirectory(3rdparty/quirc)") + + ## Fix link to several dependencies replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "JASPER_", "Jasper_") replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "${GDAL_LIBRARY}", "GDAL::GDAL") @@ -1411,10 +1418,11 @@ def generate(self): tc.variables["WITH_OPENNI"] = False tc.variables["WITH_OPENNI2"] = False tc.variables["WITH_OPENVX"] = False + tc.variables["WITH_CAROTENE"] = False tc.variables["WITH_PLAIDML"] = False tc.variables["WITH_PVAPI"] = False tc.variables["WITH_QT"] = self.options.get_safe("with_qt", False) - tc.variables["WITH_QUIRC"] = False + tc.variables["WITH_QUIRC"] = self.options.get_safe("with_quirc", False) tc.variables["WITH_V4L"] = self.options.get_safe("with_v4l", False) tc.variables["WITH_VA"] = False tc.variables["WITH_VA_INTEL"] = False diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 443d5e91a8125..42e7008ac9ec0 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -1,4 +1,6 @@ versions: + "4.9.0": + folder: "4.x" "4.8.1": folder: "4.x" "4.5.5": From 9c9cdfb517e5fb658c0883f3558567c3410ba1f7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 22 Mar 2024 12:41:52 +0100 Subject: [PATCH 4009/4087] (#23209) [minicoro] Add include folder as namespace Signed-off-by: Uilian Ries --- recipes/minicoro/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/minicoro/all/conanfile.py b/recipes/minicoro/all/conanfile.py index de0be35811b00..77385609248b9 100644 --- a/recipes/minicoro/all/conanfile.py +++ b/recipes/minicoro/all/conanfile.py @@ -32,8 +32,9 @@ def build(self): def package(self): copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) - copy(self, "*.h", self.source_folder, os.path.join(self.package_folder, "include")) + copy(self, "*.h", self.source_folder, os.path.join(self.package_folder, "include", "minicoro")) def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + self.cpp_info.includedirs.append(os.path.join("include", "minicoro")) From fad10d521456364518e3a7a7648a3eea1e5189b7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 22 Mar 2024 13:01:38 +0100 Subject: [PATCH 4010/4087] (#23210) [wildcards] Add include folder as namespace Signed-off-by: Uilian Ries --- recipes/wildcards/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/wildcards/all/conanfile.py b/recipes/wildcards/all/conanfile.py index 6546c04ceaf0a..ea532ea715b2a 100644 --- a/recipes/wildcards/all/conanfile.py +++ b/recipes/wildcards/all/conanfile.py @@ -45,8 +45,9 @@ def build(self): def package(self): copy(self, "LICENSE_1_0.txt", 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, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include", "wildcards")) def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + self.cpp_info.includedirs.append(os.path.join("include", "wildcards")) From 31cb46771d0650831d81c212140b4d2a2e915508 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 22 Mar 2024 07:23:34 -0500 Subject: [PATCH 4011/4087] (#20346) libinput: Add recipe * libinput: Add recipe * Link transitively to both libevdev and mtdev * Revert "Link transitively to both libevdev and mtdev" This reverts commit 20d94b13d7007a924fa839feec838090e21286c5. * Remove comment * Disable debug_gui by default to reduce default number of dependencies * Fix error in the test package * Update * Bump eudev version * Remove comment and only require wayland when debug_gui is enabled --- recipes/libinput/all/conandata.yml | 4 + recipes/libinput/all/conanfile.py | 125 ++++++++++++++++++ .../libinput/all/test_package/conanfile.py | 32 +++++ recipes/libinput/all/test_package/meson.build | 5 + .../libinput/all/test_package/test_package.c | 54 ++++++++ recipes/libinput/config.yml | 3 + 6 files changed, 223 insertions(+) create mode 100644 recipes/libinput/all/conandata.yml create mode 100644 recipes/libinput/all/conanfile.py create mode 100644 recipes/libinput/all/test_package/conanfile.py create mode 100644 recipes/libinput/all/test_package/meson.build create mode 100644 recipes/libinput/all/test_package/test_package.c create mode 100644 recipes/libinput/config.yml diff --git a/recipes/libinput/all/conandata.yml b/recipes/libinput/all/conandata.yml new file mode 100644 index 0000000000000..541bad5e261c8 --- /dev/null +++ b/recipes/libinput/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.25.0": + url: "https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.25.0/libinput-1.25.0.tar.bz2" + sha256: "193bd592298bd9e369c0ef3e5d83a6a9d68ddc4cd3dfc84bbe77920a8d0d57df" diff --git a/recipes/libinput/all/conanfile.py b/recipes/libinput/all/conanfile.py new file mode 100644 index 0000000000000..fe4a2b2983462 --- /dev/null +++ b/recipes/libinput/all/conanfile.py @@ -0,0 +1,125 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class LibinputConan(ConanFile): + name = "libinput" + description = "libinput is a library that handles input devices for display servers and other applications that need to directly deal with input devices." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.freedesktop.org/wiki/Software/libinput/" + topics = ("device", "display", "event", "input") + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "epoll_dir": [None, "ANY"], + "debug_gui": [True, False], + "with_libudev": ["eudev", "systemd"], + "with_libwacom": [True, False], + "with_wayland": [True, False], + "with_x11": [True, False], + } + default_options = { + "epoll_dir": None, + "debug_gui": False, + "with_libudev": "systemd", + # todo Package libwacom and enable this option by default. + "with_libwacom": False, + "with_wayland": True, + "with_x11": True, + } + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + if not self.options.debug_gui: + self.options.rm_safe("with_wayland") + self.options.rm_safe("with_x11") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("mtdev/1.1.6") + self.requires("libevdev/1.13.1") + + if self.options.debug_gui: + self.requires("cairo/1.18.0") + self.requires("glib/2.78.3") + self.requires("gtk/system") + if self.options.with_wayland: + self.requires("wayland/1.22.0") + self.requires("wayland-protocols/1.33") + if self.options.with_x11: + self.requires("xorg/system") + + if self.options.with_libudev == "systemd": + self.requires("libudev/system", transitive_libs=True) + elif self.options.with_libudev == "eudev": + self.requires("eudev/3.2.14", transitive_libs=True) + + def validate(self): + if self.settings.os not in ["FreeBSD", "Linux"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + if self.options.with_libwacom: + raise ConanInvalidConfiguration(f"The with_libwacom option for {self.ref} is not yet supported. Contributions welcome.") + + def build_requirements(self): + self.tool_requires("meson/1.3.2") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.1.0") + if self.options.debug_gui and self.options.get_safe("with_wayland"): + self.tool_requires("wayland/") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["coverity"] = False + tc.project_options["datadir"] = "res" + tc.project_options["documentation"] = False + tc.project_options["epoll-dir"] = '' if self.options.epoll_dir is None else str(self.options.epoll_dir) + tc.project_options["debug-gui"] = self.options.debug_gui + tc.project_options["install-tests"] = False + # Change libexecdir so that the libinput subdirectory in the bin directory doesn't conflict with the libinput executable. + tc.project_options["libexecdir"] = "libexec" + tc.project_options["libwacom"] = self.options.with_libwacom + tc.project_options["tests"] = False + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + copy(self, f"{self.name}-*", os.path.join(self.package_folder, "libexec", self.name), os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "libexec")) + + rmdir(self, os.path.join(self.package_folder, "etc")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "res", "zsh")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libs = ["input"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "rt"]) diff --git a/recipes/libinput/all/test_package/conanfile.py b/recipes/libinput/all/test_package/conanfile.py new file mode 100644 index 0000000000000..cdcf9b281723d --- /dev/null +++ b/recipes/libinput/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.3.2") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.1.0") + + 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/libinput/all/test_package/meson.build b/recipes/libinput/all/test_package/meson.build new file mode 100644 index 0000000000000..2dea5d2c4a326 --- /dev/null +++ b/recipes/libinput/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('libinput') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/libinput/all/test_package/test_package.c b/recipes/libinput/all/test_package/test_package.c new file mode 100644 index 0000000000000..6a8e1e6d99fe9 --- /dev/null +++ b/recipes/libinput/all/test_package/test_package.c @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include + +#include +#include + +static int +open_restricted(const char *path, int flags, void *user_data) +{ + int fd = open(path, flags); + return fd < 0 ? -1 : fd; +} + +static void +close_restricted(int fd, void *user_data) +{ + close(fd); +} + +static const struct libinput_interface interface = { + .open_restricted = open_restricted, + .close_restricted = close_restricted, +}; + +int main(void) { + bool grab = false; + struct libinput *li; + struct udev *udev = udev_new(); + if (!udev) { + fprintf(stderr, "Failed to initialize udev\n"); + return EXIT_FAILURE; + } + + li = libinput_udev_create_context(&interface, &grab, udev); + if (!li) { + fprintf(stderr, "Failed to initialize libinput context from udev\n"); + udev_unref(udev); + return EXIT_FAILURE; + } + + if (libinput_udev_assign_seat(li, "seat0")) { + fprintf(stderr, "Failed to set seat\n"); + libinput_unref(li); + li = NULL; + udev_unref(udev); + return EXIT_FAILURE; + } + + udev_unref(udev); + return EXIT_SUCCESS; +} diff --git a/recipes/libinput/config.yml b/recipes/libinput/config.yml new file mode 100644 index 0000000000000..3f07e920910b2 --- /dev/null +++ b/recipes/libinput/config.yml @@ -0,0 +1,3 @@ +versions: + "1.25.0": + folder: all From 67fc9c7ae2bfcad8cdc9cf062f280b98abdd5347 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 22 Mar 2024 11:46:45 -0500 Subject: [PATCH 4012/4087] (#22920) dbus: Bump expat and glib dependencies to minimize conflicts The expat dependency must be bumped to not conflict with wayland. Additionally, glib/2.78.1 and glib/2.78.3 are used much more than glib/2.77.0. I went with glib/2.78.3 since it is newer and also required in the Qt packages. Bump build dependencies as well. --- recipes/dbus/1.x.x/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/dbus/1.x.x/conanfile.py b/recipes/dbus/1.x.x/conanfile.py index c20fd3f03b189..cd719ddcf771f 100644 --- a/recipes/dbus/1.x.x/conanfile.py +++ b/recipes/dbus/1.x.x/conanfile.py @@ -67,9 +67,9 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.3") if self.options.get_safe("with_systemd"): self.requires("libsystemd/253.6") if self.options.with_selinux: @@ -82,9 +82,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires at least gcc 7.") def build_requirements(self): - self.tool_requires("meson/1.2.0") + self.tool_requires("meson/1.3.2") if not self.conf.get("tools.gnu:pkg_config",check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 05244134cbc5969cf20bec22434d060c995488b2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Mar 2024 19:06:54 +0200 Subject: [PATCH 4013/4087] (#22926) liblzf: avoid WINDOWS_EXPORT_ALL_SYMBOLS --- recipes/liblzf/all/CMakeLists.txt | 13 +++++-------- recipes/liblzf/all/conanfile.py | 7 ++++--- recipes/liblzf/all/liblzf.def | 3 +++ 3 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 recipes/liblzf/all/liblzf.def diff --git a/recipes/liblzf/all/CMakeLists.txt b/recipes/liblzf/all/CMakeLists.txt index a501b15938468..c20ae859c1770 100644 --- a/recipes/liblzf/all/CMakeLists.txt +++ b/recipes/liblzf/all/CMakeLists.txt @@ -2,8 +2,9 @@ cmake_minimum_required(VERSION 3.15) project(liblzf LANGUAGES C) add_library(liblzf - src/lzf_c.c - src/lzf_d.c + lzf_c.c + lzf_d.c + liblzf.def ) set_target_properties(liblzf PROPERTIES OUTPUT_NAME lzf) @@ -20,14 +21,10 @@ if(CMAKE_C_COMPILER_ID STREQUAL "GNU") target_compile_options(liblzf PRIVATE "-funroll-all-loops") endif() -set_target_properties(liblzf PROPERTIES - WINDOWS_EXPORT_ALL_SYMBOLS ON - PUBLIC_HEADER src/lzf.h -) - +include(GNUInstallDirs) install(TARGETS liblzf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) +install(FILES lzf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/liblzf/all/conanfile.py b/recipes/liblzf/all/conanfile.py index 70d2ac9f7171b..0796e45c4ac60 100644 --- a/recipes/liblzf/all/conanfile.py +++ b/recipes/liblzf/all/conanfile.py @@ -29,7 +29,8 @@ class LiblzfConan(ConanFile): } def export_sources(self): - copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) + copy(self, "liblzf.def", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) export_conandata_patches(self) def config_options(self): @@ -55,11 +56,11 @@ def generate(self): def build(self): apply_conandata_patches(self) cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.configure() cmake.build() def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() diff --git a/recipes/liblzf/all/liblzf.def b/recipes/liblzf/all/liblzf.def new file mode 100644 index 0000000000000..2d8efa48df7f7 --- /dev/null +++ b/recipes/liblzf/all/liblzf.def @@ -0,0 +1,3 @@ +EXPORTS + lzf_compress + lzf_decompress From 4f59f50211a8bc1353ec5750008c738940032122 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Mar 2024 19:27:38 +0200 Subject: [PATCH 4014/4087] (#23175) nvcloth: migrate to Conan v2 * nvcloth: migrate to Conan v2 * nvcloth: restore the CMakeLists.txt wrapper --- recipes/nvcloth/1.1.6/CMakeLists.txt | 10 +- recipes/nvcloth/1.1.6/conandata.yml | 3 - recipes/nvcloth/1.1.6/conanfile.py | 219 ++++++++---------- .../nvcloth/1.1.6/test_package/CMakeLists.txt | 8 +- .../nvcloth/1.1.6/test_package/conanfile.py | 24 +- .../1.1.6/test_v1_package/CMakeLists.txt | 8 + .../1.1.6/test_v1_package/conanfile.py | 16 ++ 7 files changed, 147 insertions(+), 141 deletions(-) create mode 100644 recipes/nvcloth/1.1.6/test_v1_package/CMakeLists.txt create mode 100644 recipes/nvcloth/1.1.6/test_v1_package/conanfile.py diff --git a/recipes/nvcloth/1.1.6/CMakeLists.txt b/recipes/nvcloth/1.1.6/CMakeLists.txt index a236130272a84..4cd8eda7866f8 100644 --- a/recipes/nvcloth/1.1.6/CMakeLists.txt +++ b/recipes/nvcloth/1.1.6/CMakeLists.txt @@ -1,7 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) +# Using a CMake wrapper because the project's CMakeLists.txt does not set project() +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper CXX) -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory("source_subfolder/NvCloth/compiler/cmake/${TARGET_BUILD_PLATFORM}") +add_subdirectory("src/NvCloth/compiler/cmake/${TARGET_BUILD_PLATFORM}") diff --git a/recipes/nvcloth/1.1.6/conandata.yml b/recipes/nvcloth/1.1.6/conandata.yml index c37596cc7f7b6..657fa6c95ca38 100644 --- a/recipes/nvcloth/1.1.6/conandata.yml +++ b/recipes/nvcloth/1.1.6/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "1.1.6": - patch_file: "patches/0001-PsAllocator-include-typeinfo.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-CallbackFix.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-PsAllocator.patch" - base_path: "source_subfolder" diff --git a/recipes/nvcloth/1.1.6/conanfile.py b/recipes/nvcloth/1.1.6/conanfile.py index c303576ad28c2..abfae884a66d8 100644 --- a/recipes/nvcloth/1.1.6/conanfile.py +++ b/recipes/nvcloth/1.1.6/conanfile.py @@ -1,175 +1,152 @@ import os import shutil -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -from conan.tools.microsoft import msvc_runtime_flag, is_msvc_static_runtime, is_msvc +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 Environment +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.35.0" class NvclothConan(ConanFile): name = "nvcloth" + description = "NvCloth is a library that provides low level access to a cloth solver designed for realtime interactive applications." license = "Nvidia Source Code License (1-Way Commercial)" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/NVIDIAGameWorks/NvCloth" - description = "NvCloth is a library that provides low level access to a cloth solver designed for realtime interactive applications." topics = ("physics", "physics-engine", "physics-simulation", "game-development", "cuda") - # Binary configuration - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "use_cuda": [True, False], - "use_dx11": [True, False] + "use_dx11": [True, False], } default_options = { "shared": False, "fPIC": True, "use_cuda": False, - "use_dx11": False + "use_dx11": False, } - generators = "cmake" + def export_sources(self): + export_conandata_patches(self) + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) - @property - def _source_subfolder(self): - return "source_subfolder" + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC - @property - def _build_subfolder(self): - return "build_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - def validate(self): - if self.settings.os not in ["Windows", "Linux", "Macos", "Android", "iOS"]: - raise ConanInvalidConfiguration("Current os is not supported") + if self.settings.os not in ["Windows", "Linux", "FreeBSD", "Macos", "Android", "iOS"]: + raise ConanInvalidConfiguration(f"{self.settings.os} is not supported") - build_type = self.settings.build_type - if build_type not in ["Debug", "RelWithDebInfo", "Release"]: - raise ConanInvalidConfiguration("Current build_type is not supported") + if self.settings.os in ["Windows", "Macos"] and not self.options.shared: + raise ConanInvalidConfiguration(f"Static builds are not supported on {self.settings.os}") + if self.settings.os in ["iOS", "Android"] and self.options.shared: + raise ConanInvalidConfiguration(f"Shared builds are not supported on {self.settings.os}") - if is_msvc(self) and tools.Version(self.settings.compiler.version) < 9: - raise ConanInvalidConfiguration("Visual Studio versions < 9 are not supported") + if self.settings.build_type not in ["Debug", "RelWithDebInfo", "Release"]: + raise ConanInvalidConfiguration(f"{self.settings.build_type} build_type is not supported") - def _configure_cmake(self): - cmake = CMake(self) - if not self.options.shared: - cmake.definitions["PX_STATIC_LIBRARIES"] = 1 - cmake.definitions["STATIC_WINCRT"] = is_msvc_static_runtime(self) + check_min_vs(self, 150) + check_min_cppstd(self, 11) - cmake.definitions["NV_CLOTH_ENABLE_CUDA"] = self.options.use_cuda - cmake.definitions["NV_CLOTH_ENABLE_DX11"] = self.options.use_dx11 + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - cmake.definitions["TARGET_BUILD_PLATFORM"] = self._get_target_build_platform() + @property + def _target_build_platform(self): + return { + "Windows": "windows", + "Linux": "linux", + "Macos": "mac", + "Android": "android", + "iOS": "ios", + }.get(str(self.settings.os)) + + def generate(self): + tc = CMakeToolchain(self) + if not self.options.shared: + tc.variables["PX_STATIC_LIBRARIES"] = 1 + tc.variables["STATIC_WINCRT"] = is_msvc_static_runtime(self) + tc.variables["NV_CLOTH_ENABLE_CUDA"] = self.options.use_cuda + tc.variables["NV_CLOTH_ENABLE_DX11"] = self.options.use_dx11 + tc.variables["TARGET_BUILD_PLATFORM"] = self._target_build_platform + tc.generate() + + env = Environment() + env.define_path("GW_DEPS_ROOT", self.source_folder) + env.vars(self).save_script("conan_build_vars") - cmake.configure( - build_folder=os.path.join(self.build_folder, self._build_subfolder) - ) - return cmake - def _remove_samples(self): - tools.rmdir(os.path.join(self._source_subfolder, "NvCloth", "samples")) + rmdir(self, os.path.join(self.source_folder, "NvCloth", "samples")) def _patch_sources(self): # There is no reason to force consumer of PhysX public headers to use one of # NDEBUG or _DEBUG, since none of them relies on NDEBUG or _DEBUG - tools.replace_in_file(os.path.join(self.build_folder, self._source_subfolder, "PxShared", "include", "foundation", "PxPreprocessor.h"), - "#error Exactly one of NDEBUG and _DEBUG needs to be defined!", - "// #error Exactly one of NDEBUG and _DEBUG needs to be defined!") - shutil.copy( - os.path.join(self.build_folder, self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h"), - os.path.join(self.build_folder, self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h.origin") - ) - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - - if self.settings.build_type == "Debug": - shutil.copy( - os.path.join(self.build_folder, self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h"), - os.path.join(self.build_folder, self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h.patched") - ) - shutil.copy( - os.path.join(self.build_folder, self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h.origin"), - os.path.join(self.build_folder, self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h") - ) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + replace_in_file(self, os.path.join(self.source_folder, "PxShared", "include", "foundation", "PxPreprocessor.h"), + "#error Exactly one of NDEBUG and _DEBUG needs to be defined!", + "// #error Exactly one of NDEBUG and _DEBUG needs to be defined!") + shutil.copy(os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h"), + os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h.origin")) + apply_conandata_patches(self) - def configure(self): - if self.options.shared: - del self.options.fPIC + if self.settings.build_type == "Debug": + shutil.copy(os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h"), + os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h.patched")) + shutil.copy(os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h.origin"), + os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h")) def build(self): - with tools.environment_append({"GW_DEPS_ROOT": os.path.abspath(self._source_subfolder)}): - self._patch_sources() - self._remove_samples() - cmake = self._configure_cmake() - cmake.build() - - def _get_build_type(self): - if self.settings.build_type == "Debug": - return "debug" - elif self.settings.build_type == "RelWithDebInfo": - return "checked" - elif self.settings.build_type == "Release": - return "release" - - def _get_target_build_platform(self): - return { - "Windows" : "windows", - "Linux" : "linux", - "Macos" : "mac", - "Android" : "android", - "iOS" : "ios" - }.get(str(self.settings.os)) + self._patch_sources() + self._remove_samples() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) + cmake.build() def package(self): if self.settings.build_type == "Debug": - shutil.copy( - os.path.join(self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h.patched"), - os.path.join(self._source_subfolder, "NvCloth/include/NvCloth/Callbacks.h") - ) - nvcloth_source_subfolder = os.path.join(self.build_folder, self._source_subfolder) - nvcloth_build_subfolder = os.path.join(self.build_folder, self._build_subfolder) - - self.copy(pattern="NvCloth/license.txt", dst="licenses", src=nvcloth_source_subfolder, keep_path=False) - self.copy("*.h", dst="include", src=os.path.join(nvcloth_source_subfolder, "NvCloth", "include")) - self.copy("*.h", dst="include", src=os.path.join(nvcloth_source_subfolder, "NvCloth", "extensions", "include")) - self.copy("*.h", dst="include", src=os.path.join(nvcloth_source_subfolder, "PxShared", "include")) - self.copy("*.a", dst="lib", src=nvcloth_build_subfolder, keep_path=False) - self.copy("*.lib", dst="lib", src=nvcloth_build_subfolder, keep_path=False) - self.copy("*.dylib*", dst="lib", src=nvcloth_build_subfolder, keep_path=False) - self.copy("*.dll", dst="bin", src=nvcloth_build_subfolder, keep_path=False) - self.copy("*.so", dst="lib", src=nvcloth_build_subfolder, keep_path=False) + shutil.copy(os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h.patched"), + os.path.join(self.source_folder, "NvCloth", "include", "NvCloth", "Callbacks.h")) + copy(self, "NvCloth/license.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder, keep_path=False) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "NvCloth", "include")) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "NvCloth", "extensions", "include")) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "PxShared", "include")) + copy(self, "*.a", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) + copy(self, "*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) + copy(self, "*.dylib*", 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) + copy(self, "*.so", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "nvcloth" - self.cpp_info.names["cmake_find_package_multi"] = "nvcloth" + self.cpp_info.set_property("cmake_file_name", "nvcloth") + self.cpp_info.set_property("cmake_target_name", "nvcloth::nvcloth") if self.settings.build_type == "Debug": debug_suffix = "DEBUG" else: debug_suffix = "" - if self.settings.os == "Windows": - if self.settings.arch == "x86_64": - arch_suffix = "x64" - else: - arch_suffix = "" - self.cpp_info.libs = ["NvCloth{}_{}".format(debug_suffix, arch_suffix)] + if self.settings.os == "Windows" and self.settings.arch == "x86_64": + arch_suffix = "_x64" else: - self.cpp_info.libs = ["NvCloth{}".format(debug_suffix)] + arch_suffix = "" - if not self.options.shared: - if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.system_libs.append("m") + self.cpp_info.libs = [f"NvCloth{debug_suffix}{arch_suffix}"] + + if self.settings.os in ("FreeBSD", "Linux"): + self.cpp_info.system_libs.append("m") diff --git a/recipes/nvcloth/1.1.6/test_package/CMakeLists.txt b/recipes/nvcloth/1.1.6/test_package/CMakeLists.txt index e0165aeedb7a2..d8a9e2773d7d6 100644 --- a/recipes/nvcloth/1.1.6/test_package/CMakeLists.txt +++ b/recipes/nvcloth/1.1.6/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(nvcloth REQUIRED CONFIG) find_package(nvcloth REQUIRED nvcloth CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} nvcloth::nvcloth) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/nvcloth/1.1.6/test_package/conanfile.py b/recipes/nvcloth/1.1.6/test_package/conanfile.py index e290e81a631fa..ef5d7042163ec 100644 --- a/recipes/nvcloth/1.1.6/test_package/conanfile.py +++ b/recipes/nvcloth/1.1.6/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -class NvClothTestConan(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) @@ -11,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/nvcloth/1.1.6/test_v1_package/CMakeLists.txt b/recipes/nvcloth/1.1.6/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/nvcloth/1.1.6/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/nvcloth/1.1.6/test_v1_package/conanfile.py b/recipes/nvcloth/1.1.6/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e290e81a631fa --- /dev/null +++ b/recipes/nvcloth/1.1.6/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + +class NvClothTestConan(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 056e2bd6044e6f7784fe304d8ca5ae633c302ec3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Mar 2024 19:45:36 +0200 Subject: [PATCH 4015/4087] (#21971) jom: add v1.1.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * jom: add v1.1.4 * jom: move license URL to conandata.yml * jom: fix license URL Co-authored-by: Rubén Rincón Blanco --------- Co-authored-by: Rubén Rincón Blanco --- recipes/jom/all/conandata.yml | 15 +++++++++++++-- recipes/jom/all/conanfile.py | 4 ++-- recipes/jom/config.yml | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/recipes/jom/all/conandata.yml b/recipes/jom/all/conandata.yml index 0fe464cf0c395..0b87aa433e46a 100644 --- a/recipes/jom/all/conandata.yml +++ b/recipes/jom/all/conandata.yml @@ -1,4 +1,15 @@ sources: + "1.1.4": + x86_64: + url: "http://download.qt.io/official_releases/jom/jom_1_1_4.zip" + sha256: "d533c1ef49214229681e90196ed2094691e8c4a0a0bef0b2c901debcb562682b" + license: + url: "https://code.qt.io/cgit/qt-labs/jom.git/plain/LICENSE.GPL?h=v1.1.3" + sha256: "d3d9052b838761dbe00067168ed9ebc437734d53ebf71dea1c8e9f7532a5333b" "1.1.3": - sha256: "128fdd846fe24f8594eed37d1d8929a0ea78df563537c0c1b1861a635013fff8" - url: "http://download.qt.io/official_releases/jom/jom_1_1_3.zip" + x86_64: + url: "http://download.qt.io/official_releases/jom/jom_1_1_3.zip" + sha256: "128fdd846fe24f8594eed37d1d8929a0ea78df563537c0c1b1861a635013fff8" + license: + url: "https://code.qt.io/cgit/qt-labs/jom.git/plain/LICENSE.GPL?h=v1.1.3" + sha256: "d3d9052b838761dbe00067168ed9ebc437734d53ebf71dea1c8e9f7532a5333b" diff --git a/recipes/jom/all/conanfile.py b/recipes/jom/all/conanfile.py index 4962bc3e3e42f..6605c75c3ffa3 100644 --- a/recipes/jom/all/conanfile.py +++ b/recipes/jom/all/conanfile.py @@ -30,8 +30,8 @@ def source(self): pass def build(self): - get(self, **self.conan_data["sources"][self.version]) - download(self, f"https://code.qt.io/cgit/qt-labs/jom.git/plain/LICENSE.GPL?h=v{self.version}", filename="LICENSE.GPL") + get(self, **self.conan_data["sources"][self.version]["x86_64"]) + download(self, **self.conan_data["sources"][self.version]["license"], filename="LICENSE.GPL") def package(self): copy(self, "LICENSE.GPL", self.build_folder, os.path.join(self.package_folder, "licenses")) diff --git a/recipes/jom/config.yml b/recipes/jom/config.yml index e1c4f3be24983..7f3d713ab8481 100644 --- a/recipes/jom/config.yml +++ b/recipes/jom/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.4": + folder: all "1.1.3": folder: all From 168a7ad6bcca8b5dc95602303b4f9df9a0fc0cc7 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Mar 2024 03:07:52 +0900 Subject: [PATCH 4016/4087] (#23211) glaze: add version 2.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 a4694a9ba80d2..a322f0ae53c98 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.2": + url: "https://github.com/stephenberry/glaze/archive/v2.3.2.tar.gz" + sha256: "360c1eab71afb69d59cc0f0e180d6b214653950340ac267a464a18c81dac585a" "2.3.1": url: "https://github.com/stephenberry/glaze/archive/v2.3.1.tar.gz" sha256: "941bf3f8cea5b6a024895d37dceaaaa82071a9178af63e9935a1d9fd80caa451" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 808f5a655fa9c..17c7299a3f149 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.2": + folder: all "2.3.1": folder: all "2.3.0": From c5b0f5e6a1f3efc5556d805464d10ea9c01f8ac4 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Mar 2024 03:27:21 +0900 Subject: [PATCH 4017/4087] (#23212) wasmer: add version 4.2.7 --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/wasmer/config.yml | 2 ++ 2 files changed, 29 insertions(+) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 17a89f2c17e7b..88b147bfcf235 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "4.2.7": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.7/wasmer-windows-amd64.tar.gz" + sha256: "5e429450a997e9a23b4efb7ad1bfb57a8c4a77436ce2a0c7c160c26576a42562" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.7/wasmer-windows-gnu64.tar.gz" + sha256: "82061836fe79e2d52710ebb48fdffbd82910663ac1bae5bb13e72e6e1a7f0a46" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.7/wasmer-linux-amd64.tar.gz" + sha256: "7fb9c34c42d31cd7ffed956d0e98d620b5fde0c5fccf9af5e58b9177664e25b1" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.7/wasmer-linux-aarch64.tar.gz" + sha256: "5915f617f966cdedd0fe18f26237ef04701c6475c34e5b1cd2ffc0f6e84ffd3a" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.7/wasmer-darwin-amd64.tar.gz" + sha256: "29748cdf51ecd11d10cc819bc568820e6267d658d495f08f4af7b90cf3bd0a35" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.7/wasmer-darwin-arm64.tar.gz" + sha256: "65de621cd931acee76e09505bda28d71b6d955a6b33481ae1251280f0f26ebfc" "4.2.5": Windows: "x86_64": diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index 4c7ede684889d..7d131c7cb3eea 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.7": + folder: "all" "4.2.5": folder: "all" "4.2.0": From f4b52e83bc2d79c3dcf4c983d845d8e9b064312a Mon Sep 17 00:00:00 2001 From: Sil3ntStorm Date: Fri, 22 Mar 2024 23:04:28 +0100 Subject: [PATCH 4018/4087] (#20999) fix(openssl): remove renaming of debug files within the recipe --- recipes/openssl/1.x.x/conanfile.py | 9 ++------- recipes/openssl/3.x.x/conanfile.py | 11 ++--------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/recipes/openssl/1.x.x/conanfile.py b/recipes/openssl/1.x.x/conanfile.py index 073a01dcd3cdc..55815e5161b53 100644 --- a/recipes/openssl/1.x.x/conanfile.py +++ b/recipes/openssl/1.x.x/conanfile.py @@ -539,10 +539,6 @@ def package(self): with chdir(self, self.source_folder): self.run(f"nmake -f Makefile install_sw DESTDIR={self.package_folder}") rm(self, "*.pdb", self.package_folder, recursive=True) - if self.settings.build_type == "Debug": - with chdir(self, os.path.join(self.package_folder, "lib")): - rename(self, "libssl.lib", "libssld.lib") - rename(self, "libcrypto.lib", "libcryptod.lib") else: autotools = Autotools(self) with chdir(self, self.source_folder): @@ -619,9 +615,8 @@ def package_info(self): self.cpp_info.components["ssl"].set_property("cmake_target_name", "OpenSSL::SSL") self.cpp_info.components["ssl"].set_property("pkg_config_name", "libssl") if self._use_nmake: - libsuffix = "d" if self.settings.build_type == "Debug" else "" - self.cpp_info.components["ssl"].libs = ["libssl" + libsuffix] - self.cpp_info.components["crypto"].libs = ["libcrypto" + libsuffix] + self.cpp_info.components["ssl"].libs = ["libssl"] + self.cpp_info.components["crypto"].libs = ["libcrypto"] else: self.cpp_info.components["ssl"].libs = ["ssl"] self.cpp_info.components["crypto"].libs = ["crypto"] diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 975619cd1b911..f1a5c603e6eeb 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -554,12 +554,6 @@ def package(self): for filename in files: if fnmatch.fnmatch(filename, "*.pdb"): os.unlink(os.path.join(self.package_folder, root, filename)) - if self._use_nmake: - if self.settings.build_type == "Debug": - with chdir(self, os.path.join(self.package_folder, "lib")): - rename(self, "libssl.lib", "libssld.lib") - rename(self, "libcrypto.lib", "libcryptod.lib") - if self.options.shared: libdir = os.path.join(self.package_folder, "lib") for file in os.listdir(libdir): @@ -649,9 +643,8 @@ def package_info(self): self.cpp_info.components["crypto"].set_property("cmake_build_modules", [self._module_file_rel_path]) if self._use_nmake: - libsuffix = "d" if self.settings.build_type == "Debug" else "" - self.cpp_info.components["ssl"].libs = ["libssl" + libsuffix] - self.cpp_info.components["crypto"].libs = ["libcrypto" + libsuffix] + self.cpp_info.components["ssl"].libs = ["libssl"] + self.cpp_info.components["crypto"].libs = ["libcrypto"] else: self.cpp_info.components["ssl"].libs = ["ssl"] self.cpp_info.components["crypto"].libs = ["crypto"] From 3079044c0f725f9d8f47e2995d736a2daaf63dc0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 23 Mar 2024 09:23:44 +0200 Subject: [PATCH 4019/4087] (#18891) openvdb: migrate to Conan v2 * openvdb: migrate to Conan v2 * openvdb: the patch is no longer required * openvdb: add v8.2.0 Newer versions require considerable amounts of memory to build, probably too much for the CI. More than 1.5 GB per core. * openvdb: bump deps, use cache_variables * openvdb: remove broken minimum TBB version check * openvdb: enable v9, v10, expose all available options, fix imath use * openvdb: add and disable use_explicit_instantiation to limit memory usage during build * openvdb: disable options not available in older versions * openvdb: require flex and bison for build_ax * openvdb: backport a bugfix for a build issue * openvdb: bump versions * openvdb: openexr requires transitive_libs=True * openvdb: use imath instead of openexr for newer versions * openvdb: use strict version checking * openvdb: set use_imath_half=True To fix error LNK2001: unresolved external symbol "__declspec(dllimport) private: static unsigned short const * const half::_eLut" etc on MSVC. * openvdb: bump deps * openvdb: add v10.1.0 * openvdb: drop v8.0.1 * openvdb: add v11.0.0 * openvdb: fix C++ standard in test_package * openvdb: drop v8 * openvdb: enable log4cplus by default, bump deps * openvdb: deprecation warning for with_exr * openvdb: disable log4cplus * openvdb: don't need cache_variables --- recipes/openvdb/all/CMakeLists.txt | 7 - recipes/openvdb/all/conandata.yml | 16 +- recipes/openvdb/all/conanfile.py | 374 ++++++++++-------- .../patches/0001-Find-packages-fixes.patch | 14 - .../openvdb/all/test_package/CMakeLists.txt | 13 +- recipes/openvdb/all/test_package/conanfile.py | 19 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../openvdb/all/test_v1_package/conanfile.py | 17 + recipes/openvdb/config.yml | 6 +- 9 files changed, 274 insertions(+), 200 deletions(-) delete mode 100644 recipes/openvdb/all/CMakeLists.txt delete mode 100644 recipes/openvdb/all/patches/0001-Find-packages-fixes.patch create mode 100644 recipes/openvdb/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openvdb/all/test_v1_package/conanfile.py diff --git a/recipes/openvdb/all/CMakeLists.txt b/recipes/openvdb/all/CMakeLists.txt deleted file mode 100644 index b71c882d9d33f..0000000000000 --- a/recipes/openvdb/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/openvdb/all/conandata.yml b/recipes/openvdb/all/conandata.yml index 902318df1e3ae..35817586160ea 100644 --- a/recipes/openvdb/all/conandata.yml +++ b/recipes/openvdb/all/conandata.yml @@ -1,8 +1,10 @@ sources: - "8.0.1": - url: "https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v8.0.1.tar.gz" - sha256: "a6845da7c604d2c72e4141c898930ac8a2375521e535f696c2cd92bebbe43c4f" -patches: - "8.0.1": - - patch_file: "patches/0001-Find-packages-fixes.patch" - base_path: "source_subfolder" + "11.0.0": + url: "https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v11.0.0.tar.gz" + sha256: "6314ff1db057ea90050763e7b7d7ed86d8224fcd42a82cdbb9c515e001b96c74" + "10.1.0": + url: "https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.1.0.tar.gz" + sha256: "2746236e29659a0d35ab90d832f7c7987dd2537587a1a2f9237d9c98afcd5817" + "9.1.0": + url: "https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v9.1.0.tar.gz" + sha256: "914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181" diff --git a/recipes/openvdb/all/conanfile.py b/recipes/openvdb/all/conanfile.py index 10e73dc4150e4..3aa277005044c 100644 --- a/recipes/openvdb/all/conanfile.py +++ b/recipes/openvdb/all/conanfile.py @@ -1,11 +1,16 @@ -from conan.tools.microsoft import is_msvc -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import os +import re + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rm, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version - -required_conan_version = ">=1.45.0" +required_conan_version = ">=1.53.0" class OpenVDBConan(ConanFile): @@ -16,232 +21,281 @@ class OpenVDBConan(ConanFile): "manipulation of sparse volumetric data discretized on three-dimensional grids." ) license = "MPL-2.0" - topics = ("voxel", "voxelizer", "volume-rendering", "fx") - homepage = "https://github.com/AcademySoftwareFoundation/openvdb" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/AcademySoftwareFoundation/openvdb" + topics = ("voxel", "voxelizer", "volume-rendering", "fx", "vdb") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], + "build_ax": [True, False], + "simd": [None, "SSE42", "AVX"], + "use_colored_output": [True, False], + "use_delayed_loading": [True, False], + "use_explicit_instantiation": [True, False], + "use_imath_half": [True, False], "with_blosc": [True, False], - "with_zlib": [True, False], + # Deprecated because EXR is only used when building executables, which the recipe does not support + "with_exr": ["deprecated", True, False], "with_log4cplus": [True, False], - "with_exr": [True, False], - "simd": [None, "SSE42", "AVX"], + "with_zlib": [True, False], } default_options = { "shared": False, "fPIC": True, + "build_ax": False, + "simd": None, + "use_colored_output": False, + "use_delayed_loading": False, + "use_explicit_instantiation": False, + "use_imath_half": True, "with_blosc": True, + "with_exr": "deprecated", + "with_log4cplus": False, # Disabled by default because it is not compatible with C++17 "with_zlib": True, - "with_log4cplus": False, - "with_exr": False, - "simd": None, } - - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" + options_description = { + "build_ax": "Build the OpenVDB AX library.", + "simd": ( + "Choose whether to enable SIMD compiler flags or not. " + "Although not required, it is strongly recommended to enable SIMD. AVX implies SSE42." + ), + "use_colored_output": "Always produce ANSI-colored output (GNU/Clang only).", + "use_delayed_loading": "Build the core OpenVDB library with delayed-loading.", + "use_explicit_instantiation": ( + "Use explicit instantiation for all supported classes and methods against a pre-defined " + "list of OpenVDB trees. This makes the core library larger and slower to compile, but speeds up " + "the compilation of all dependent code by bypassing the expensive template instantiation. " + "Disabled by default in ConanCenter to avoid excessive memory usage during compilation." + ), + "use_imath_half": ( + "Use the definition of half-precision floating point types from the Imath library. " + "If False, the embedded definition provided by OpenVDB is used. " + "You may set this to on to force Imath half to be used if you know it to be required." + ), + "with_blosc": "Use Blosc for improved disk compression. Recommended.", + "with_log4cplus": "Use log4cplus for improved OpenVDB Logging.", + "with_zlib": "Use ZLib for disk serialization compression. ZLib can only be disabled if Blosc is also disabled.", + } @property - def _build_subfolder(self): - return "build_subfolder" + def _min_cppstd(self): + return 17 if Version(self.version) >= "10.0.0" else 14 @property def _compilers_min_version(self): - return { - "msvc": "191", - "Visual Studio": "15", # Should we check toolset? - "gcc": "6.3.1", - "clang": "3.8", - "apple-clang": "3.8", - "intel": "17", - } - - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + if Version(self.version) >= "10.0.0": + # https://github.com/AcademySoftwareFoundation/openvdb/blob/v10.0.1/doc/dependencies.txt#L56-L84 + return { + "msvc": "192.8", + "Visual Studio": "16", + "gcc": "9.3.1", + "clang": "5.0", + "apple-clang": "12.0", + "intel-cc": "19", + } + else: + # https://github.com/AcademySoftwareFoundation/openvdb/blob/v9.1.0/doc/dependencies.txt#L56-L84 + return { + "msvc": "191.0", + "Visual Studio": "15", + "gcc": "6.3.1", + "clang": "3.8", + "apple-clang": "10.0", + "intel-cc": "17", + } def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if is_msvc(self): + # Supported by GCC and Clang only + del self.options.use_colored_output + if Version(self.version) < "10.0.0": + del self.options.use_explicit_instantiation + del self.options.use_delayed_loading 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 package_id(self): + # with_exr is deprecated and has no effect + del self.info.options.with_exr def requirements(self): - self.requires("boost/1.79.0") - self.requires("onetbb/2020.3") - self.requires("openexr/2.5.7") # required for IlmBase::Half + # https://github.com/AcademySoftwareFoundation/openvdb/blob/v10.0.1/doc/dependencies.txt#L36-L84 + self.requires("boost/1.84.0", transitive_headers=True) + self.requires("onetbb/2021.10.0", transitive_headers=True, transitive_libs=True) + if self.options.use_imath_half: + self.requires("imath/3.1.10", transitive_headers=True, transitive_libs=True) if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") - if self.options.with_exr: - # Not necessary now. Required for IlmBase::IlmImf - self.requires("openexr/2.5.7") if self.options.with_blosc: - self.requires("c-blosc/1.21.1") + self.requires("c-blosc/1.21.5") if self.options.with_log4cplus: - self.requires("log4cplus/2.0.7") + # log4cplus 2.x is not supported + self.requires("log4cplus/1.2.2", transitive_headers=True) - def _check_compilier_version(self): + def _check_compiler_version(self): compiler = str(self.settings.compiler) - version = tools.Version(self.settings.compiler.version) minimum_version = self._compilers_min_version.get(compiler, False) - if minimum_version and version < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires a {compiler} version greater than {minimum_version}") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.name} requires a {compiler} version greater than {minimum_version}" + ) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, self._min_cppstd) if self.settings.arch not in ("x86", "x86_64"): if self.options.simd: raise ConanInvalidConfiguration("Only intel architectures support SSE4 or AVX.") - self._check_compilier_version() + self._check_compiler_version() + if self.options.with_exr != "deprecated": + self.output.warning("with_exr option is deprecated, do not use anymore.") + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def build_requirements(self): + if Version(self.version) >= "10.0.0": + self.tool_requires("cmake/[>=3.18 <4]") + if self.options.build_ax: + if self._settings_build.os == "Windows": + self.tool_requires("winflexbison/2.5.25") + else: + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + tc = CMakeToolchain(self) + tc.variables["Boost_USE_STATIC_LIBS"] = not self.dependencies["boost"].options.shared + tc.variables["OPENVDB_BUILD_AX"] = self.options.build_ax + tc.variables["OPENVDB_BUILD_BINARIES"] = False + tc.variables["OPENVDB_BUILD_CORE"] = True + tc.variables["OPENVDB_BUILD_DOCS"] = False + tc.variables["OPENVDB_BUILD_HOUDINI_ABITESTS"] = False + tc.variables["OPENVDB_BUILD_HOUDINI_PLUGIN"] = False + tc.variables["OPENVDB_BUILD_MAYA_PLUGIN"] = False + tc.variables["OPENVDB_BUILD_NANOVDB"] = False # nanovdb should be packaged separately in CCI + tc.variables["OPENVDB_BUILD_PYTHON_MODULE"] = False + tc.variables["OPENVDB_CORE_SHARED"] = self.options.shared + tc.variables["OPENVDB_CORE_STATIC"] = not self.options.shared + tc.variables["OPENVDB_CXX_STRICT"] = False + tc.variables["OPENVDB_DISABLE_BOOST_IMPLICIT_LINKING"] = True + tc.variables["OPENVDB_ENABLE_RPATH"] = True + tc.variables["OPENVDB_ENABLE_UNINSTALL"] = False + tc.variables["OPENVDB_FUTURE_DEPRECATION"] = True + tc.variables["OPENVDB_INSTALL_CMAKE_MODULES"] = False + tc.variables["OPENVDB_SIMD"] = self.options.simd + tc.variables["OPENVDB_USE_DELAYED_LOADING"] = self.options.get_safe("use_delayed_loading", False) + tc.variables["USE_AX"] = False # used only by Python bindings and the Houdini plugin + tc.variables["USE_BLOSC"] = self.options.with_blosc + tc.variables["USE_COLORED_OUTPUT"] = self.options.get_safe("use_colored_output", False) + tc.variables["USE_EXPLICIT_INSTANTIATION"] = self.options.get_safe("use_explicit_instantiation", False) + tc.variables["USE_EXR"] = False + tc.variables["USE_HOUDINI"] = False + tc.variables["USE_IMATH_HALF"] = self.options.get_safe("use_imath_half", False) + tc.variables["USE_LOG4CPLUS"] = self.options.with_log4cplus + tc.variables["USE_MAYA"] = False + tc.variables["USE_NANOVDB"] = False + tc.variables["USE_PKGCONFIG"] = False + tc.variables["USE_PNG"] = False + tc.variables["USE_STATIC_DEPENDENCIES"] = False + tc.variables["USE_TBB"] = True # Only affects the nanovdb component + tc.variables["USE_ZLIB"] = self.options.with_zlib + tc.generate() + + tc = CMakeDeps(self) + tc.set_property("c-blosc", "cmake_file_name", "Blosc") + tc.set_property("c-blosc", "cmake_target_name", "Blosc::blosc") + tc.set_property("openexr", "cmake_file_name", "IlmBase") + tc.set_property("openexr::ilmbase_half", "cmake_target_name", "IlmBase::Half") + tc.set_property("log4cplus", "cmake_target_name", "Log4cplus::log4cplus") + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) # Remove FindXXX files from OpenVDB. Let Conan do the job - tools.remove_files_by_mask(os.path.join(self._source_subfolder, "cmake"), "Find*") - with open("FindBlosc.cmake", "w") as f: - f.write( - """find_package(c-blosc) -if(c-blosc_FOUND) - add_library(blosc INTERFACE) - target_link_libraries(blosc INTERFACE c-blosc::c-blosc) - add_library(Blosc::blosc ALIAS blosc) -endif() -""" - ) - with open("FindIlmBase.cmake", "w") as f: - f.write( - """find_package(OpenEXR) -if(OpenEXR_FOUND) - add_library(Half INTERFACE) - add_library(IlmThread INTERFACE) - add_library(Iex INTERFACE) - add_library(Imath INTERFACE) - add_library(IlmImf INTERFACE) - target_link_libraries(Half INTERFACE OpenEXR::OpenEXR) - target_link_libraries(IlmThread INTERFACE OpenEXR::OpenEXR) - target_link_libraries(Iex INTERFACE OpenEXR::OpenEXR) - target_link_libraries(Imath INTERFACE OpenEXR::OpenEXR) - target_link_libraries(IlmImf INTERFACE OpenEXR::OpenEXR) - add_library(IlmBase::Half ALIAS Half) - add_library(IlmBase::IlmThread ALIAS IlmThread) - add_library(IlmBase::Iex ALIAS Iex) - add_library(IlmBase::Imath ALIAS Imath) - add_library(OpenEXR::IlmImf ALIAS IlmImf) - endif() - """ - ) + rm(self, "Find*.cmake", os.path.join(self.source_folder, "cmake"), recursive=True) + # Relax version checks in find_package(), + # since the config/module files produced by CMakeDeps do not support gt major version checks + cmakelists = self.source_path.joinpath("openvdb", "openvdb", "CMakeLists.txt") + cmakelists.write_text(re.sub(r"\$\{MINIMUM_\S+_VERSION}", "", cmakelists.read_text())) + replace_in_file(self, os.path.join(self.source_folder, "openvdb", "openvdb", "CMakeLists.txt"), + "OPENVDB_FUTURE_DEPRECATION", "FALSE") def build(self): self._patch_sources() - cmake = self._configure_cmake() - cmake.build() - - @functools.lru_cache(1) - def _configure_cmake(self): cmake = CMake(self) - # exposed options - cmake.definitions["USE_BLOSC"] = self.options.with_blosc - cmake.definitions["USE_ZLIB"] = self.options.with_zlib - cmake.definitions["USE_LOG4CPLUS"] = self.options.with_log4cplus - cmake.definitions["USE_EXR"] = self.options.with_exr - cmake.definitions["OPENVDB_SIMD"] = self.options.simd - - cmake.definitions["OPENVDB_CORE_SHARED"] = self.options.shared - cmake.definitions["OPENVDB_CORE_STATIC"] = not self.options.shared - - # All available options but not exposed yet. Set to default values - cmake.definitions["OPENVDB_BUILD_CORE"] = True - cmake.definitions["OPENVDB_BUILD_BINARIES"] = False - cmake.definitions["OPENVDB_BUILD_PYTHON_MODULE"] = False - cmake.definitions["OPENVDB_BUILD_UNITTESTS"] = False - cmake.definitions["OPENVDB_BUILD_DOCS"] = False - cmake.definitions["OPENVDB_BUILD_HOUDINI_PLUGIN"] = False - cmake.definitions["OPENVDB_BUILD_HOUDINI_ABITESTS"] = False - - cmake.definitions["OPENVDB_BUILD_AX"] = False - cmake.definitions["OPENVDB_BUILD_AX_BINARIES"] = False - cmake.definitions["OPENVDB_BUILD_AX_UNITTESTS"] = False - - cmake.definitions["OPENVDB_BUILD_MAYA_PLUGIN"] = False - cmake.definitions["OPENVDB_ENABLE_RPATH"] = False - cmake.definitions["OPENVDB_CXX_STRICT"] = False - cmake.definitions["USE_HOUDINI"] = False - cmake.definitions["USE_MAYA"] = False - cmake.definitions["USE_STATIC_DEPENDENCIES"] = False - cmake.definitions["USE_PKGCONFIG"] = False - cmake.definitions["OPENVDB_INSTALL_CMAKE_MODULES"] = False - - cmake.definitions["Boost_USE_STATIC_LIBS"] = not self.options["boost"].shared - cmake.definitions["OPENEXR_USE_STATIC_LIBS"] = not self.options["openexr"].shared - - cmake.definitions["OPENVDB_DISABLE_BOOST_IMPLICIT_LINKING"] = True - - cmake.configure(build_folder=self._build_subfolder) - return cmake + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() + @property + def _public_defines(self): + defines = [] + if self.options.shared: + defines.append("OPENVDB_DLL") + else: + defines.append("OPENVDB_STATICLIB") + if self.settings.os == "Windows": + defines.append("_WIN32") + defines.append("NOMINMAX") + if self.options.with_log4cplus: + defines.append("OPENVDB_USE_LOG4CPLUS") + return defines + def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "OpenVDB") self.cpp_info.set_property("cmake_target_name", "OpenVDB::openvdb") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed + main_component = self.cpp_info.components["openvdb-core"] lib_prefix = "lib" if is_msvc(self) and not self.options.shared else "" - self.cpp_info.components["openvdb-core"].libs = [lib_prefix + "openvdb"] - - lib_define = "OPENVDB_DLL" if self.options.shared else "OPENVDB_STATICLIB" - self.cpp_info.components["openvdb-core"].defines.append(lib_define) - - if self.settings.os == "Windows": - self.cpp_info.components["openvdb-core"].defines.append("_WIN32") - self.cpp_info.components["openvdb-core"].defines.append("NOMINMAX") - - if not self.options["openexr"].shared: - self.cpp_info.components["openvdb-core"].defines.append("OPENVDB_OPENEXR_STATICLIB") - if self.options.with_exr: - self.cpp_info.components["openvdb-core"].defines.append("OPENVDB_TOOLS_RAYTRACER_USE_EXR") - if self.options.with_log4cplus: - self.cpp_info.components["openvdb-core"].defines.append("OPENVDB_USE_LOG4CPLUS") + main_component.libs = [lib_prefix + "openvdb"] + main_component.defines = self._public_defines + if self.settings.os in ("Linux", "FreeBSD"): + main_component.system_libs = ["pthread"] - self.cpp_info.components["openvdb-core"].requires = [ + main_component.requires = [ "boost::iostreams", "boost::system", "onetbb::onetbb", - "openexr::openexr", # should be "openexr::Half", ] if self.settings.os == "Windows": - self.cpp_info.components["openvdb-core"].requires.append("boost::disable_autolinking") - + main_component.requires.append("boost::disable_autolinking") if self.options.with_zlib: - self.cpp_info.components["openvdb-core"].requires.append("zlib::zlib") + main_component.requires.append("zlib::zlib") if self.options.with_blosc: - self.cpp_info.components["openvdb-core"].requires.append("c-blosc::c-blosc") + main_component.requires.append("c-blosc::c-blosc") if self.options.with_log4cplus: - self.cpp_info.components["openvdb-core"].requires.append("log4cplus::log4cplus") - - if self.settings.os in ("Linux", "FreeBSD"): - self.cpp_info.components["openvdb-core"].system_libs = ["pthread"] + main_component.requires.append("log4cplus::log4cplus") + if self.options.use_imath_half: + main_component.requires.append("imath::imath") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "OpenVDB" self.cpp_info.names["cmake_find_package_multi"] = "OpenVDB" - self.cpp_info.components["openvdb-core"].names["cmake_find_package"] = "openvdb" - self.cpp_info.components["openvdb-core"].names["cmake_find_package_multi"] = "openvdb" - self.cpp_info.components["openvdb-core"].set_property("cmake_target_name", "OpenVDB::openvdb") + main_component.names["cmake_find_package"] = "openvdb" + main_component.names["cmake_find_package_multi"] = "openvdb" + main_component.set_property("cmake_target_name", "OpenVDB::openvdb") diff --git a/recipes/openvdb/all/patches/0001-Find-packages-fixes.patch b/recipes/openvdb/all/patches/0001-Find-packages-fixes.patch deleted file mode 100644 index 65027361b1c53..0000000000000 --- a/recipes/openvdb/all/patches/0001-Find-packages-fixes.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- ---- openvdb/openvdb/CMakeLists.txt -+++ openvdb/openvdb/CMakeLists.txt -@@ -413,8 +413,7 @@ if(WIN32) - # @note OPENVDB_OPENEXR_STATICLIB is old functionality from the makefiles - # used in PlatformConfig.h to configure EXR exports. Once this file - # is completely removed, this define can be too -- get_target_property(ILMBASE_LIB_TYPE IlmBase::Half TYPE) -- if(OPENEXR_USE_STATIC_LIBS OR (${ILMBASE_LIB_TYPE} STREQUAL STATIC_LIBRARY)) -+ if(OPENEXR_USE_STATIC_LIBS) - list(APPEND OPENVDB_CORE_PUBLIC_DEFINES -DOPENVDB_OPENEXR_STATICLIB) - endif() - list(APPEND OPENVDB_CORE_PUBLIC_DEFINES -D_WIN32 -DNOMINMAX) - diff --git a/recipes/openvdb/all/test_package/CMakeLists.txt b/recipes/openvdb/all/test_package/CMakeLists.txt index 1016f9a6ff31e..5665948f27dfd 100644 --- a/recipes/openvdb/all/test_package/CMakeLists.txt +++ b/recipes/openvdb/all/test_package/CMakeLists.txt @@ -1,11 +1,12 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(OpenVDB REQUIRED) +find_package(OpenVDB REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE OpenVDB::openvdb) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +if (OpenVDB_VERSION VERSION_GREATER_EQUAL "10.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/openvdb/all/test_package/conanfile.py b/recipes/openvdb/all/test_package/conanfile.py index 19e6a0c06e3d8..ef5d7042163ec 100644 --- a/recipes/openvdb/all/test_package/conanfile.py +++ b/recipes/openvdb/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,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/openvdb/all/test_v1_package/CMakeLists.txt b/recipes/openvdb/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/openvdb/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/openvdb/all/test_v1_package/conanfile.py b/recipes/openvdb/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/openvdb/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/openvdb/config.yml b/recipes/openvdb/config.yml index d603f0308422b..203a6bdcd5a75 100644 --- a/recipes/openvdb/config.yml +++ b/recipes/openvdb/config.yml @@ -1,3 +1,7 @@ versions: - "8.0.1": + "11.0.0": + folder: all + "10.1.0": + folder: all + "9.1.0": folder: all From 09621f986088f9eb8fbeed1d821f65fe405af2b7 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Sun, 24 Mar 2024 16:01:26 +0100 Subject: [PATCH 4020/4087] (#21448) [docs] Allow boost namespace for non official projects Signed-off-by: Uilian Ries --- docs/faqs.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/faqs.md b/docs/faqs.md index b463fc96e8c9b..a1714a7a2b37b 100644 --- a/docs/faqs.md +++ b/docs/faqs.md @@ -453,6 +453,8 @@ and does not install libraries with the boost prefix. Yes, but make sure it does not have Boost in the name. Use the [`author-name` convention](https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#what-is-the-policy-on-recipe-name-collisions) so there are no conflicts. In addition to follow the rules outlined above. +**NOTE**: In case you have no intention to submit to Boost, then you can use the project name as is (e.g `boost-foobar`). + ## Can I add options that do not affect `package_id` or the package contents Generally no, these sorts of options can most likely be set from a profile or downstream recipes. However if the project supports this option from its build script From cd5d2691a06c8f7ab9e98d987020a0ac4bf50f6e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 25 Mar 2024 03:46:50 +0900 Subject: [PATCH 4021/4087] (#23082) fixed-containers: fix cmake names, require magic_enum MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fixed-containers: require magic_enum * fix cmake names * Update recipes/fixed-containers/all/conanfile.py Co-authored-by: ericLemanissier * remove enum_util from test_package --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: ericLemanissier --- recipes/fixed-containers/all/conanfile.py | 6 ++++++ recipes/fixed-containers/all/test_package/CMakeLists.txt | 4 ++-- recipes/fixed-containers/all/test_package/test_package.cpp | 5 ++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/recipes/fixed-containers/all/conanfile.py b/recipes/fixed-containers/all/conanfile.py index cdfe73d72c2b9..9729326c0e725 100644 --- a/recipes/fixed-containers/all/conanfile.py +++ b/recipes/fixed-containers/all/conanfile.py @@ -37,6 +37,9 @@ def _compilers_minimum_version(self): def layout(self): basic_layout(self, src_folder="src") + def requirements(self): + self.requires("magic_enum/0.9.3", transitive_headers=True) + def package_id(self): self.info.clear() @@ -64,3 +67,6 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + + self.cpp_info.set_property("cmake_file_name", "fixed_containers") + self.cpp_info.set_property("cmake_target_name", "fixed_containers::fixed_containers") diff --git a/recipes/fixed-containers/all/test_package/CMakeLists.txt b/recipes/fixed-containers/all/test_package/CMakeLists.txt index 697ff29d18c1a..24c19844b253b 100644 --- a/recipes/fixed-containers/all/test_package/CMakeLists.txt +++ b/recipes/fixed-containers/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(fixed-containers REQUIRED CONFIG) +find_package(fixed_containers) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE fixed-containers::fixed-containers) +target_link_libraries(${PROJECT_NAME} PRIVATE fixed_containers::fixed_containers) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/fixed-containers/all/test_package/test_package.cpp b/recipes/fixed-containers/all/test_package/test_package.cpp index aed686f3d1107..d129e8622b3d9 100644 --- a/recipes/fixed-containers/all/test_package/test_package.cpp +++ b/recipes/fixed-containers/all/test_package/test_package.cpp @@ -1,10 +1,9 @@ #include "fixed_containers/fixed_vector.hpp" - -using namespace fixed_containers; +#include "fixed_containers/enum_utils.hpp" int main(void) { constexpr auto v1 = []() { - FixedVector v{}; + fixed_containers::FixedVector v{}; v.push_back(0); v.emplace_back(1); v.push_back(2); From d1523f9109677fed86075d3e977546323c06dd5f Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Sun, 24 Mar 2024 21:27:18 -0500 Subject: [PATCH 4022/4087] (#23117) libassert: add 2.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add libassert 2.0.0 * Fixes/improvements * Try to fix conan v1 conanfile * Again * Printbug * Fix? * Revert "Fix?" This reverts commit ab47df7fbd80b310c1218d24c9aa3188d0ec7e32. * Silly me * Remove erlier setting of LIBASSERT2 in the main conanfile * Use better way to detect version in test package, and fix Windows shared copy * Add LIBASSERT_STATIC_DEFINE * Fix Conan v1 test package * Fix versions checks * generate cmake target for Conan 1.x Signed-off-by: Uilian Ries * Update recipes/libassert/all/conanfile.py * Fix * Update patch * Export definition via component only * Review comments --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/libassert/all/conandata.yml | 9 +++ recipes/libassert/all/conanfile.py | 62 ++++++++++++++----- .../2.0.0/0001-fix-export-and-include.patch | 13 ++++ .../libassert/all/test_package/CMakeLists.txt | 17 +++-- .../libassert/all/test_package/conanfile.py | 10 ++- .../all/test_package/test_package.cpp | 16 +++++ .../all/test_v1_package/CMakeLists.txt | 2 +- .../all/test_v1_package/conanfile.py | 2 + recipes/libassert/config.yml | 2 + 9 files changed, 111 insertions(+), 22 deletions(-) create mode 100644 recipes/libassert/all/patches/2.0.0/0001-fix-export-and-include.patch diff --git a/recipes/libassert/all/conandata.yml b/recipes/libassert/all/conandata.yml index 1cae5dc94ff57..9cef3e5cfa449 100644 --- a/recipes/libassert/all/conandata.yml +++ b/recipes/libassert/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "2.0.0": + url: + - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.0.tar.gz" + sha256: "d4b2da2179a94637b34d18813a814531a1eceb0ddc6dd6db6098050dd638f4a1" "1.2.2": url: - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.2.2.tar.gz" @@ -18,6 +22,11 @@ sources: sha256: "e1bb3b50767994ca4d0f60b7977b279cf32b8569ff92c5830e7a1de567b82fd5" patches: + "2.0.0": + - patch_file: "patches/2.0.0/0001-fix-export-and-include.patch" + patch_type: "bugfix" + patch_source: https://github.com/jeremy-rifkin/libassert/commit/25c1f3e43737ab18490a0d9430cb1c70f976a662 + patch_description: "Fix export header and an incorrect #include" "1.2.2": - patch_file: "patches/1.2.2/0001-cpptrace-dll-copy.patch" patch_type: "conan" diff --git a/recipes/libassert/all/conanfile.py b/recipes/libassert/all/conanfile.py index c596be696aeb2..0e1e7eaa52d08 100644 --- a/recipes/libassert/all/conanfile.py +++ b/recipes/libassert/all/conanfile.py @@ -1,6 +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.build import check_min_cppstd from conan.tools.scm import Version @@ -52,14 +53,17 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= Version("1.2.2"): + if Version(self.version) >= "2.0.0": + # libassert::detail::process_assert_fail + self.requires("cpptrace/0.5.0", transitive_headers=True, transitive_libs=True) + elif Version(self.version) >= "1.2.2": self.requires("cpptrace/0.3.1") - elif Version(self.version) >= Version("1.2.1"): + elif Version(self.version) >= "1.2.1": self.requires("cpptrace/0.2.1") def validate(self): - if self.settings.compiler == "apple-clang": - raise ConanInvalidConfiguration("apple-clang not supported") + if Version(self.version) <= "2.0.0" and is_apple_os(self): + raise ConanInvalidConfiguration(f"{self.ref} is not supported on Mac. Please, update to version >=2.0.0") if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) @@ -82,7 +86,11 @@ def generate(self): if is_msvc(self): tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) - if Version(self.version) >= Version("1.2.1"): + if Version(self.version) >= "2.0.0": + tc.variables["LIBASSERT_USE_EXTERNAL_CPPTRACE"] = True + deps = CMakeDeps(self) + deps.generate() + elif Version(self.version) >= "1.2.1": if not self.options.shared: tc.variables["ASSERT_STATIC"] = True tc.variables["ASSERT_USE_EXTERNAL_CPPTRACE"] = True @@ -124,22 +132,48 @@ def package(self): def package_info(self): self.cpp_info.libs = ["assert"] - self.cpp_info.set_property("cmake_file_name", "assert") - self.cpp_info.set_property("cmake_target_name", "assert::assert") + if Version(self.version) >= "2.0.0": + self.cpp_info.set_property("cmake_file_name", "libassert") + self.cpp_info.set_property("cmake_target_name", "libassert::assert") + else: + self.cpp_info.set_property("cmake_file_name", "assert") + self.cpp_info.set_property("cmake_target_name", "assert::assert") # the first version of this library used assert/assert as include folder # appending this one but not removing the default to not break consumers - self.cpp_info.includedirs.append(os.path.join("include", "assert")) + if Version(self.version) >= "2.0.0": + self.cpp_info.includedirs.append(os.path.join("include", "libassert")) + else: + self.cpp_info.includedirs.append(os.path.join("include", "assert")) # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "assert" - self.cpp_info.filenames["cmake_find_package_multi"] = "assert" - self.cpp_info.names["cmake_find_package"] = "assert" - self.cpp_info.names["cmake_find_package_multi"] = "assert" - - if Version(self.version) < Version("1.2.1"): + if Version(self.version) >= "2.0.0": + self.cpp_info.filenames["cmake_find_package"] = "libassert" + self.cpp_info.filenames["cmake_find_package_multi"] = "libassert" + self.cpp_info.names["cmake_find_package"] = "libassert" + self.cpp_info.names["cmake_find_package_multi"] = "libassert" + + self.cpp_info.components["assert"].names["cmake_find_package"] = "assert" + self.cpp_info.components["assert"].names["cmake_find_package_multi"] = "assert" + self.cpp_info.components["assert"].requires = ["cpptrace::cpptrace"] + self.cpp_info.components["assert"].libs = ["assert"] + if not self.options.shared: + self.cpp_info.components["assert"].defines.append("LIBASSERT_STATIC_DEFINE") + else: + self.cpp_info.filenames["cmake_find_package"] = "assert" + self.cpp_info.filenames["cmake_find_package_multi"] = "assert" + self.cpp_info.names["cmake_find_package"] = "assert" + self.cpp_info.names["cmake_find_package_multi"] = "assert" + + if Version(self.version) < "1.2.1": # pre-cpptrace if self.settings.os == "Linux": self.cpp_info.system_libs.append("dl") if self.settings.os == "Windows": self.cpp_info.system_libs.append("dbghelp") + + if Version(self.version) >= "2.0.0": + self.cpp_info.system_libs.append("m") + + if Version(self.version) >= "2.0.0": + self.cpp_info.requires = ["cpptrace::cpptrace"] diff --git a/recipes/libassert/all/patches/2.0.0/0001-fix-export-and-include.patch b/recipes/libassert/all/patches/2.0.0/0001-fix-export-and-include.patch new file mode 100644 index 0000000000000..199fdd0350b42 --- /dev/null +++ b/recipes/libassert/all/patches/2.0.0/0001-fix-export-and-include.patch @@ -0,0 +1,13 @@ +diff --git a/include/libassert/assert-gtest.hpp b/include/libassert/assert-gtest.hpp +index 912da40..57dbc91 100644 +--- a/include/libassert/assert-gtest.hpp ++++ b/include/libassert/assert-gtest.hpp +@@ -6,8 +6,6 @@ + #define LIBASSERT_PREFIX_ASSERTIONS + #include + +-#include "tokenizer.hpp" +- + #if defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL != 0 + #error "Libassert integration does not work with MSVC's non-conformant preprocessor. /Zc:preprocessor must be used." + #endif diff --git a/recipes/libassert/all/test_package/CMakeLists.txt b/recipes/libassert/all/test_package/CMakeLists.txt index 97d2bfbc982a3..a3d62a686df6a 100644 --- a/recipes/libassert/all/test_package/CMakeLists.txt +++ b/recipes/libassert/all/test_package/CMakeLists.txt @@ -1,11 +1,18 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -find_package(assert REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package -target_link_libraries(${PROJECT_NAME} PRIVATE assert::assert) -# In case the target project need a specific C++ standard + +if(LIBASSERT2) + find_package(libassert REQUIRED CONFIG) + target_link_libraries(${PROJECT_NAME} PRIVATE libassert::assert) + target_compile_definitions(${PROJECT_NAME} PRIVATE LIBASSERT2) +else() + find_package(assert REQUIRED CONFIG) + target_link_libraries(${PROJECT_NAME} PRIVATE assert::assert) +endif() + + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libassert/all/test_package/conanfile.py b/recipes/libassert/all/test_package/conanfile.py index f5cf204295e19..0dcbd4380c138 100644 --- a/recipes/libassert/all/test_package/conanfile.py +++ b/recipes/libassert/all/test_package/conanfile.py @@ -1,11 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def requirements(self): @@ -14,6 +15,11 @@ def requirements(self): def layout(self): cmake_layout(self) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBASSERT2"] = self.dependencies[self.tested_reference_str].ref.version >= "2.0.0" + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/libassert/all/test_package/test_package.cpp b/recipes/libassert/all/test_package/test_package.cpp index 751d401023f78..b4b1ce192f8af 100644 --- a/recipes/libassert/all/test_package/test_package.cpp +++ b/recipes/libassert/all/test_package/test_package.cpp @@ -1,12 +1,28 @@ #include #include +#ifdef LIBASSERT2 +#include +#else #include +#endif int main(void) { std::cout << "Testing libassert\n"; + + #ifdef LIBASSERT2 + libassert::set_failure_handler([](const libassert::assertion_info& info) { + std::cerr<= "2.0.0" else "OFF" cmake.configure() cmake.build() diff --git a/recipes/libassert/config.yml b/recipes/libassert/config.yml index 8ade508384535..25538d073da91 100644 --- a/recipes/libassert/config.yml +++ b/recipes/libassert/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "2.0.0": + folder: all "1.2.2": folder: all "1.2.1": From 9d6da2719666dcb4d20e7c08bd54e99700ae37b6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 25 Mar 2024 17:47:01 +0900 Subject: [PATCH 4023/4087] (#23005) dacap-clip: add version 1.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dacap-clip: add version 1.8 * Update recipes/dacap-clip/all/conanfile.py --------- Co-authored-by: Rubén Rincón Blanco --- recipes/dacap-clip/all/conandata.yml | 3 +++ recipes/dacap-clip/all/conanfile.py | 16 ++++++++++++---- recipes/dacap-clip/config.yml | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/recipes/dacap-clip/all/conandata.yml b/recipes/dacap-clip/all/conandata.yml index f4f5540f11df5..a548f37295671 100644 --- a/recipes/dacap-clip/all/conandata.yml +++ b/recipes/dacap-clip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8": + url: "https://github.com/dacap/clip/archive/refs/tags/v1.8.tar.gz" + sha256: "a54d243451fb483590ffd9239a3c55f8d8e672d44df63dc2b81da01a229074bc" "1.7": url: "https://github.com/dacap/clip/archive/refs/tags/v1.7.tar.gz" sha256: "f494d306f3425e984368cbd94ffb213e0a3b3d44c3ab169e5134788d3342535c" diff --git a/recipes/dacap-clip/all/conanfile.py b/recipes/dacap-clip/all/conanfile.py index c4021d403c55f..9c743f68fab4e 100644 --- a/recipes/dacap-clip/all/conanfile.py +++ b/recipes/dacap-clip/all/conanfile.py @@ -7,6 +7,7 @@ from conan.tools.microsoft import is_msvc from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -23,11 +24,13 @@ class DacapClipConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_png": [True, False], + "with_image": [True, False], } default_options = { "shared": False, "fPIC": True, "with_png": True, + "with_image": True, } @property @@ -37,19 +40,21 @@ def _min_cppstd(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_png + if Version(self.version) < "1.8": + del self.options.with_image def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - if self.settings.os not in ["Linux", "FreeBSD"]: - del self.options.with_png def layout(self): cmake_layout(self, src_folder="src") def requirements(self): if self.options.get_safe("with_png", False): - self.requires("libpng/1.6.37") + self.requires("libpng/[>=1.6 <2]") if self.settings.os == "Linux": self.requires("xorg/system") @@ -67,6 +72,7 @@ def generate(self): toolchain.variables["CLIP_EXAMPLES"] = False toolchain.variables["CLIP_TESTS"] = False toolchain.variables["CLIP_X11_WITH_PNG"] = self.options.get_safe("with_png", False) + toolchain.variables["CLIP_ENABLE_IMAGE"] = self.options.get_safe("with_image", False) if is_msvc(self): toolchain.cache_variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = bool(self.options.shared) toolchain.generate() @@ -93,6 +99,8 @@ def package_info(self): if self.options.get_safe("with_png", False): self.cpp_info.requires.append("libpng::libpng") + if self.options.get_safe("with_image", False): + self.cpp_info.defines.append("CLIP_ENABLE_IMAGE=1") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.requires.append("xorg::xcb") @@ -108,6 +116,6 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "clip") self.cpp_info.set_property("cmake_target_name", "clip::clip") - # TODO: Remove on Conan 2.0 + # TODO: Remove on Conan 2.0 self.cpp_info.names["cmake_find_package"] = "clip" self.cpp_info.names["cmake_find_package_multi"] = "clip" diff --git a/recipes/dacap-clip/config.yml b/recipes/dacap-clip/config.yml index f10766e09880a..80ca8c43729e6 100644 --- a/recipes/dacap-clip/config.yml +++ b/recipes/dacap-clip/config.yml @@ -1,4 +1,6 @@ versions: + "1.8": + folder: "all" "1.7": folder: "all" "1.6": From 3f569fee2614a54999ba6a7df4c89997fe8ef5c3 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:07:13 +0100 Subject: [PATCH 4024/4087] (#23231) Add use_sse option to pcl recipe Add use_sse option to pcl recipe to be able to disable in case of cross-compilation as for arm64. --- recipes/pcl/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index 2b324ce7e9270..f22cfe52d2e6c 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -91,6 +91,7 @@ class PclConan(ConanFile): "precompile_only_core_point_types": [True, False], # Whether to append a ''/d/rd/s postfix to executables on Windows depending on the build type "add_build_type_postfix": [True, False], + "use_sse": [True, False], } default_options = { "shared": False, @@ -151,6 +152,7 @@ class PclConan(ConanFile): # Enabled to avoid excessive memory usage during compilation in CCI "precompile_only_core_point_types": True, "add_build_type_postfix": False, + "use_sse": True, } short_paths = True @@ -333,6 +335,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.settings.arch not in ["x86", "x86_64"]: + del self.options.use_sse def configure(self): if self.options.shared: @@ -477,6 +481,8 @@ def generate(self): for comp in disabled: tc.cache_variables[f"BUILD_{comp}"] = False + tc.cache_variables["PCL_ENABLE_SSE"] = self.options.get_safe("use_sse", False) + tc.generate() deps = CMakeDeps(self) From 5f7d1bdac0aeedfdfaba5fff4b0bcdfaa2d922d3 Mon Sep 17 00:00:00 2001 From: Tomasz Wisniewski Date: Mon, 25 Mar 2024 17:07:12 +0000 Subject: [PATCH 4025/4087] (#22907) libboxes: add recipe for v0.1.1 --- recipes/libboxes/all/conandata.yml | 4 + recipes/libboxes/all/conanfile.py | 95 +++++++++++++++++++ .../libboxes/all/test_package/CMakeLists.txt | 10 ++ .../libboxes/all/test_package/conanfile.py | 26 +++++ .../libboxes/all/test_package/src/example.cpp | 16 ++++ recipes/libboxes/config.yml | 3 + 6 files changed, 154 insertions(+) create mode 100644 recipes/libboxes/all/conandata.yml create mode 100644 recipes/libboxes/all/conanfile.py create mode 100644 recipes/libboxes/all/test_package/CMakeLists.txt create mode 100644 recipes/libboxes/all/test_package/conanfile.py create mode 100644 recipes/libboxes/all/test_package/src/example.cpp create mode 100644 recipes/libboxes/config.yml diff --git a/recipes/libboxes/all/conandata.yml b/recipes/libboxes/all/conandata.yml new file mode 100644 index 0000000000000..5ed3e25a8e382 --- /dev/null +++ b/recipes/libboxes/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.1": + url: "https://gitlab.com/twdev_projects/boxes/-/archive/v0.1.1/boxes-v0.1.1.tar.gz" + sha256: "a9943a47abd820b7847e1f7abd15fc733c028379542815f8038192a0e4902cd0" diff --git a/recipes/libboxes/all/conanfile.py b/recipes/libboxes/all/conanfile.py new file mode 100644 index 0000000000000..59e6f45a38714 --- /dev/null +++ b/recipes/libboxes/all/conanfile.py @@ -0,0 +1,95 @@ +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, rmdir +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.scm import Version +import os + +class libboxesRecipe(ConanFile): + name = "libboxes" + description = "Boxes is a set of frequently used containers built on top of STL" + + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://gitlab.com/twdev_projects/boxes" + + topics = ("container", "utility") + 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 20 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "13", + "clang": "14", + "gcc": "11", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("xxhash/0.8.2", transitive_headers=True) + + def validate(self): + if self.settings.os == "Windows": + raise ConanInvalidConfiguration("libboxes does not support Windows yet") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.cache_variables["BUILD_EXAMPLES"] = "OFF" + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + 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")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "libboxes") + self.cpp_info.set_property("cmake_target_name", "libboxes::libboxes") + self.cpp_info.set_property("pkg_config_name", "libboxes") + + if self.settings.os in ["Linux", "Android", "FreeBSD", "SunOS", "AIX"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/libboxes/all/test_package/CMakeLists.txt b/recipes/libboxes/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2c73e54e37773 --- /dev/null +++ b/recipes/libboxes/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX) + +find_package(libboxes CONFIG REQUIRED) + + + +add_executable(example src/example.cpp) +target_link_libraries(example libboxes::libboxes) +target_compile_features(example PRIVATE cxx_std_20) diff --git a/recipes/libboxes/all/test_package/conanfile.py b/recipes/libboxes/all/test_package/conanfile.py new file mode 100644 index 0000000000000..fa3590fe7255a --- /dev/null +++ b/recipes/libboxes/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 libboxesTestConan(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, "example") + self.run(cmd, env="conanrun") diff --git a/recipes/libboxes/all/test_package/src/example.cpp b/recipes/libboxes/all/test_package/src/example.cpp new file mode 100644 index 0000000000000..813df03e7c552 --- /dev/null +++ b/recipes/libboxes/all/test_package/src/example.cpp @@ -0,0 +1,16 @@ +#include + +#include + +int main() { + boxes::RingBuffer buf; + buf.push_back(123); + + if (buf.size() == 1 && buf.front() == 123) { + std::cout << "libboxes::RingBuffer works!" << std::endl; + } else { + std::cout << "libboxes::RingBuffer is broken!" << std::endl; + } + + return 0; +} diff --git a/recipes/libboxes/config.yml b/recipes/libboxes/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/libboxes/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 9a67bfc988dff1bfed8c8461cf1efe76bbcf055a Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:22:18 +0000 Subject: [PATCH 4026/4087] (#23268) [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 aced003f38780..cb129d27a5d1b 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -90,6 +90,7 @@ required_for_references: - bdwgc - bear - beauty +- behaviortree.cpp - benchmark - bertrand - bezier @@ -236,6 +237,7 @@ required_for_references: - cprocessing - cpu_features - cpuinfo +- cpython - cqrlib - crc32c - crc_cpp @@ -533,6 +535,7 @@ required_for_references: - id3v2lib - idna - ignition-cmake +- iguana - iir1 - im95able-rea - imagl @@ -670,6 +673,7 @@ required_for_references: - libexif - libfdk_aac - libffi +- libfork - libfreenect - libfreenect2 - libftdi @@ -690,6 +694,7 @@ required_for_references: - libiberty - libiconv - libid3tag +- libinput - libinterpolate - libipt - libjpeg @@ -893,6 +898,7 @@ required_for_references: - mingw-builds - mingw-w64 - miniaudio +- minicoro - minimp3 - minisat - miniscript @@ -970,6 +976,7 @@ required_for_references: - numcpp - nuraft - nv-codec-headers +- nvcloth - nvtx - oatpp - oatpp-libressl @@ -1032,6 +1039,7 @@ required_for_references: - opentelemetry-cpp - opentelemetry-proto - opentracing-cpp +- openvdb - openvino - openvr - openxlsx @@ -1146,6 +1154,7 @@ required_for_references: - quantlib - quaternions - quazip +- quickcpplib - quickfix - quickjs - quill @@ -1281,6 +1290,7 @@ required_for_references: - spy - sqlcipher - sqlite3 +- sqlite3mc - sqlite_orm - sqlitecpp - sqlpp11 @@ -1474,6 +1484,7 @@ required_for_references: - whisper-cpp - wide-integer - wil +- wildcards - wildmidi - winflexbison - winmd From dc660a04ee700f04d164fa100dc9052fa125cb6f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 26 Mar 2024 08:02:00 +0000 Subject: [PATCH 4027/4087] (#23244) [bot] Update authorized users list (2024-03-25) 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 c0b8570a8a236..0079f1d503a7f 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1316,3 +1316,5 @@ authorized_users: - igadmg - eljonny - VladimirShaleev +- phwissmann +- ybogo From 3e3b13b2f0bde2fa903d3eee5f6ca7cc581548fc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Mar 2024 19:27:17 +0900 Subject: [PATCH 4028/4087] (#23136) cpp-channel: add recipe * cpp-channel: add recipe * drop support gcc < 7 * remove conans.errors --- recipes/cpp-channel/all/conandata.yml | 4 ++ recipes/cpp-channel/all/conanfile.py | 59 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../cpp-channel/all/test_package/conanfile.py | 26 ++++++++ .../all/test_package/test_package.cpp | 27 +++++++++ recipes/cpp-channel/config.yml | 3 + 6 files changed, 127 insertions(+) create mode 100644 recipes/cpp-channel/all/conandata.yml create mode 100644 recipes/cpp-channel/all/conanfile.py create mode 100644 recipes/cpp-channel/all/test_package/CMakeLists.txt create mode 100644 recipes/cpp-channel/all/test_package/conanfile.py create mode 100644 recipes/cpp-channel/all/test_package/test_package.cpp create mode 100644 recipes/cpp-channel/config.yml diff --git a/recipes/cpp-channel/all/conandata.yml b/recipes/cpp-channel/all/conandata.yml new file mode 100644 index 0000000000000..8e45b89578701 --- /dev/null +++ b/recipes/cpp-channel/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "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/all/conanfile.py b/recipes/cpp-channel/all/conanfile.py new file mode 100644 index 0000000000000..2dfc0cff05ee7 --- /dev/null +++ b/recipes/cpp-channel/all/conanfile.py @@ -0,0 +1,59 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.52.0" + +class CppCHannelConan(ConanFile): + name = "cpp-channel" + description = "Thread-safe container for sharing data between threads" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/andreiavrammsd/cpp-channel" + topics = ("channel", "golang", "container", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc < 7") + + 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, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + copy( + self, + pattern="*.inl", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cpp-channel/all/test_package/CMakeLists.txt b/recipes/cpp-channel/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6e53e2494f389 --- /dev/null +++ b/recipes/cpp-channel/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cpp-channel REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE cpp-channel::cpp-channel) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cpp-channel/all/test_package/conanfile.py b/recipes/cpp-channel/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cpp-channel/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cpp-channel/all/test_package/test_package.cpp b/recipes/cpp-channel/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f0fa8b9f9e593 --- /dev/null +++ b/recipes/cpp-channel/all/test_package/test_package.cpp @@ -0,0 +1,27 @@ +#include + +#include "msd/channel.hpp" + +int main() +{ + msd::channel ch{10}; + + int in{}; + + in = 1; + ch << in; + + in = 2; + ch << in; + + in = 3; + ch << in; + + for (auto out : ch) { + std::cout << out << '\n'; + + if (ch.empty()) { + break; + } + } +} diff --git a/recipes/cpp-channel/config.yml b/recipes/cpp-channel/config.yml new file mode 100644 index 0000000000000..bed1cdd9bb5b1 --- /dev/null +++ b/recipes/cpp-channel/config.yml @@ -0,0 +1,3 @@ +versions: + "0.8.2": + folder: all From ec38d96aa174e168670e0bd9b82572466ed3ee62 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Tue, 26 Mar 2024 15:50:35 +0100 Subject: [PATCH 4029/4087] (#23271) hictk: add v0.0.11, bump deps and add missing define * Add v0.0.11 * Bump deps * Add missing define --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/all/conanfile.py | 7 +++++-- recipes/hictk/config.yml | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index ba37c76167468..8f7bc333d7e7a 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.11": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.11.tar.gz" + sha256: "a06b674de2301918188d1c890a95aaa4d6164377ebaa44cc07efb77fd9eb654c" "0.0.10": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.10.tar.gz" sha256: "0b2d60af73578b292317e5ab513f24965176f9852ceda29e8d02007a434588c3" diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 5993c72d21567..5e466db516caa 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -41,7 +41,7 @@ def layout(self): def requirements(self): self.requires("bshoshany-thread-pool/4.0.1", transitive_headers=True) - self.requires("fast_float/6.1.0", transitive_headers=True) + self.requires("fast_float/6.1.1", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) self.requires("fmt/10.2.1", transitive_headers=True) @@ -49,7 +49,7 @@ def requirements(self): self.requires("highfive/2.9.0", transitive_headers=True) self.requires("libdeflate/1.19", transitive_headers=True) self.requires("parallel-hashmap/1.3.11", transitive_headers=True) # Note: v1.3.11 is more recent than v1.37 - self.requires("span-lite/0.10.3", transitive_headers=True) + self.requires("span-lite/0.11.0", transitive_headers=True) self.requires("spdlog/1.13.0", transitive_headers=True) self.requires("zstd/1.5.5", transitive_headers=True) @@ -121,3 +121,6 @@ def package_info(self): self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "hictk") self.cpp_info.set_property("cmake_target_name", "hictk::libhictk") + + if self.options.with_eigen: + self.cpp_info.defines.append("HICTK_WITH_EIGEN") diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 351a3e971990d..3ff8e282beaa5 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.11": + folder: all "0.0.10": folder: all "0.0.9": From 2b137798c42caa3c0e1f4e3031b9f7625e948126 Mon Sep 17 00:00:00 2001 From: hoyhoy Date: Tue, 26 Mar 2024 08:27:33 -0700 Subject: [PATCH 4030/4087] (#22449) boost: fix for ppc compile * fix for boost on powerpc linux * ws * Skip checking boost math submodules Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries 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 f2f1c3f6feecd..25b060af95c59 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -1749,6 +1749,8 @@ def filter_transform_module_libraries(names): for name in names: if name in ("boost_stacktrace_windbg", "boost_stacktrace_windbg_cached") and self.settings.os != "Windows": 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",) and self.settings.os == "Windows": continue if name == "boost_stacktrace_addr2line" and not self._stacktrace_addr2line_available: From c9626f9f02679c3dbf7e4261fe320673ca32368a Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Wed, 27 Mar 2024 02:12:25 -0700 Subject: [PATCH 4031/4087] (#23284) cmake: add version `3.29.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 312a7c7d57530..25e592bef0ec8 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.29.0": + Linux: + armv8: + url: "https://cmake.org/files/v3.29/cmake-3.29.0-linux-aarch64.tar.gz" + sha256: "2cb768a14b28a4478bb931d917dbc419305b82433bdecc046df98e7c336225fa" + x86_64: + url: "https://cmake.org/files/v3.29/cmake-3.29.0-linux-x86_64.tar.gz" + sha256: "f06258f52c5649752dfb10c4c2e1d8167c760c8826f078c6f5c332fa9d976bf8" + Macos: + universal: + url: "https://cmake.org/files/v3.29/cmake-3.29.0-macos10.10-universal.tar.gz" + sha256: "868f356c56a3c35e8f39f0d4fb7e579cb2eb0ac06c26520d6a203d91bdc7ad09" + Windows: + armv8: + url: "https://cmake.org/files/v3.29/cmake-3.29.0-windows-arm64.zip" + sha256: "e5bea5c45b61f105429fc664364c5280acd40770cc74235b79e7422f608a9849" + x86_64: + url: "https://cmake.org/files/v3.29/cmake-3.29.0-windows-x86_64.zip" + sha256: "9ab28eba1ab7911a0e57ab274f5990a283fffa1d22eb711792d5562e5869f9ef" "3.28.1": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 7ce9e3ce4a58b..6f9c7e82ab831 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.29.0": + folder: "binary" "3.28.1": folder: "binary" "3.27.9": From e9b307bb8113eb39c776d7424222b281acfaa559 Mon Sep 17 00:00:00 2001 From: phwissmann <33758534+phwissmann@users.noreply.github.com> Date: Wed, 27 Mar 2024 11:08:05 +0100 Subject: [PATCH 4032/4087] (#23239) Alembic: bump imath to 3.1.10 - Avoid conflict with Openvdb 11.0.0 * Alembic: bump imath to 3.1.10 * Bump hdf5 to 1.14.3 Co-authored-by: Martin Valgur --------- Co-authored-by: Martin Valgur --- recipes/alembic/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/alembic/all/conanfile.py b/recipes/alembic/all/conanfile.py index 81ce4ae17f4f7..e7c175aeca597 100644 --- a/recipes/alembic/all/conanfile.py +++ b/recipes/alembic/all/conanfile.py @@ -44,9 +44,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("imath/3.1.9", transitive_headers=True) + self.requires("imath/3.1.10", transitive_headers=True) if self.options.with_hdf5: - self.requires("hdf5/1.14.2") + self.requires("hdf5/1.14.3") def validate(self): if self.settings.compiler.get_safe("cppstd"): From c7676caaf943b1fa6eca343913b06a00b61c55db Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Mar 2024 20:08:41 +0900 Subject: [PATCH 4033/4087] (#23125) sdl: add version 2.30.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sdl: add version 2.30.1 * support macOSX * revert iconv name * remove pdb files * Stop tests from being built * apply CMP0077 --------- Co-authored-by: Rubén Rincón Blanco --- recipes/sdl/all/conandata.yml | 3 +++ recipes/sdl/all/conanfile.py | 44 +++++++++++++++++++++-------------- recipes/sdl/config.yml | 2 ++ 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/recipes/sdl/all/conandata.yml b/recipes/sdl/all/conandata.yml index 5542cc7bb105c..f008d5014f61d 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.30.1": + url: "https://www.libsdl.org/release/SDL2-2.30.1.tar.gz" + sha256: "01215ffbc8cfc4ad165ba7573750f15ddda1f971d5a66e9dcaffd37c587f473a" "2.28.5": url: "https://www.libsdl.org/release/SDL2-2.28.5.tar.gz" sha256: "332cb37d0be20cb9541739c61f79bae5a477427d79ae85e352089afdaf6666e4" diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index 97981518e1f52..cd55e0ceb1b78 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -79,12 +79,12 @@ class SDLConan(ConanFile): "libunwind": True, } generators = "CMakeDeps", "PkgConfigDeps", "VirtualBuildEnv" - + @property def _is_clang_cl(self): return self.settings.os == "Windows" and self.settings.compiler == "clang" and \ self.settings.compiler.get_safe("runtime") - + def layout(self): cmake_layout(self, src_folder="src") @@ -192,22 +192,23 @@ def source(self): def _patch_sources(self): apply_conandata_patches(self) - cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - if self.settings.os == "Macos": - if self.options.iconv: - # If using conan-provided iconv, search for the symbol "libiconv_open" - replace_check = "check_library_exists(iconv libiconv_open" - else: - # When no tusing conan-provided icon, don't check for iconv at all - replace_check = "#check_library_exists(iconv iconv_open" - replace_in_file(self, cmakelists, "check_library_exists(iconv iconv_open", - replace_check) - - # Avoid assuming iconv is available if it is provided by the C runtime, - # and let SDL build the fallback implementation - replace_in_file(self, cmakelists, - 'check_library_exists(c iconv_open "" HAVE_BUILTIN_ICONV)', - '# check_library_exists(c iconv_open "" HAVE_BUILTIN_ICONV)') + if Version(self.version) < "2.30.0": + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + if self.settings.os == "Macos": + if self.options.iconv: + # If using conan-provided iconv, search for the symbol "libiconv_open" + replace_check = "check_library_exists(iconv libiconv_open" + else: + # When no tusing conan-provided icon, don't check for iconv at all + replace_check = "#check_library_exists(iconv iconv_open" + replace_in_file(self, cmakelists, "check_library_exists(iconv iconv_open", + replace_check) + + # Avoid assuming iconv is available if it is provided by the C runtime, + # and let SDL build the fallback implementation + replace_in_file(self, cmakelists, + 'check_library_exists(c iconv_open "" HAVE_BUILTIN_ICONV)', + '# check_library_exists(c iconv_open "" HAVE_BUILTIN_ICONV)') # Ensure to find wayland-scanner from wayland recipe in build requirements (or requirements if 1 profile) if self.options.get_safe("wayland"): @@ -237,6 +238,7 @@ def define_toolchain(self): tc.variables["HAVE_LIBC"] = True tc.variables["SDL_SHARED"] = self.options.shared tc.variables["SDL_STATIC"] = not self.options.shared + tc.variables["SDL_TEST"] = False tc.variables["SDL_OPENGL"] = self.options.opengl tc.variables["SDL_OPENGLES"] = self.options.opengles tc.variables["SDL_VULKAN"] = self.options.vulkan @@ -313,6 +315,9 @@ def define_toolchain(self): if Version(self.version) >= "2.0.22": tc.variables["SDL2_DISABLE_SDL2MAIN"] = not self.options.sdl2main + if Version(self.version) >= "2.30.0": + tc.variables["SDL_LIBICONV"] = self.options.get_safe("iconv", False) + tc.variables["SDL_SYSTEM_ICONV"] = False # Add extra information collected from the deps tc.variables["EXTRA_LDFLAGS"] = ";".join(cmake_extra_ldflags) @@ -320,6 +325,7 @@ def define_toolchain(self): cmake_extra_cflags = ["-I{}".format(path) for _, dep in self.dependencies.items() for path in dep.cpp_info.includedirs] tc.variables["EXTRA_CFLAGS"] = ";".join(cmake_extra_cflags).replace(os.sep, '/') tc.variables["EXTRA_LIBS"] = ";".join(cmake_extra_libs) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() def build(self): @@ -334,6 +340,8 @@ def package(self): copy(self, pattern="LICENSE.txt", src=os.path.join(self.source_folder), dst=os.path.join(self.package_folder, "licenses")) rm(self, "sdl2-config", os.path.join(self.package_folder, "bin")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) 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")) diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index e05c00ea2969e..8dbb1d123695c 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,4 +1,6 @@ versions: + "2.30.1": + folder: all "2.28.5": folder: all "2.28.3": From 032d8120edd968aa54ffa8321fb270336c1e4cdd Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Mar 2024 21:07:58 +0900 Subject: [PATCH 4034/4087] (#23237) rabbitmq-c: add version 0.14.0 --- recipes/rabbitmq-c/all/conandata.yml | 3 +++ recipes/rabbitmq-c/all/conanfile.py | 11 ++++++++++- recipes/rabbitmq-c/config.yml | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/rabbitmq-c/all/conandata.yml b/recipes/rabbitmq-c/all/conandata.yml index 4a93aef8c8422..eeadabf60d0ef 100755 --- a/recipes/rabbitmq-c/all/conandata.yml +++ b/recipes/rabbitmq-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.0": + url: "https://github.com/alanxz/rabbitmq-c/archive/v0.14.0.tar.gz" + sha256: "839b28eae20075ac58f45925fe991d16a3138cbde015db0ee11df1acb1c493df" "0.13.0": url: "https://github.com/alanxz/rabbitmq-c/archive/v0.13.0.tar.gz" sha256: "8b224e41bba504fc52b02f918d8df7e4bf5359d493cbbff36c06078655c676e6" diff --git a/recipes/rabbitmq-c/all/conanfile.py b/recipes/rabbitmq-c/all/conanfile.py index a192092e12ead..278092bcc50b8 100755 --- a/recipes/rabbitmq-c/all/conanfile.py +++ b/recipes/rabbitmq-c/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv import os required_conan_version = ">=1.53.0" @@ -9,10 +10,10 @@ class RabbitmqcConan(ConanFile): name = "rabbitmq-c" + description = "This is a C-language AMQP client library for use with v2.0+ of the RabbitMQ broker." license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/alanxz/rabbitmq-c" - description = "This is a C-language AMQP client library for use with v2.0+ of the RabbitMQ broker." topics = ("rabbitmq", "message queue") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -41,6 +42,10 @@ def requirements(self): if self.options.ssl: self.requires("openssl/[>=1.1 <4]") + def build_requirements(self): + if Version(self.version) >= "0.14.0": + self.tool_requires("cmake/[>=3.22 <4]") + def layout(self): cmake_layout(self, src_folder="src") @@ -68,6 +73,10 @@ def generate(self): deps = CMakeDeps(self) deps.generate() + if Version(self.version) >= "0.14.0": + venv = VirtualBuildEnv(self) + venv.generate(scope="build") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/rabbitmq-c/config.yml b/recipes/rabbitmq-c/config.yml index 5d590dc0b2c3b..b97f7da4c2ee8 100644 --- a/recipes/rabbitmq-c/config.yml +++ b/recipes/rabbitmq-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.0": + folder: all "0.13.0": folder: all "0.11.0": From fa153f00b615449424c1eaab21815111f860f024 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Mar 2024 21:48:24 +0900 Subject: [PATCH 4035/4087] (#23238) libsrtp: add version 2.6.0 * libsrtp: add version 2.6.0 * apply CMP0077 policy Co-authored-by: Martin Valgur * add cmake as build_requirements --------- Co-authored-by: Martin Valgur --- recipes/libsrtp/all/conandata.yml | 3 +++ recipes/libsrtp/all/conanfile.py | 24 +++++++++++++++++++----- recipes/libsrtp/config.yml | 2 ++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/recipes/libsrtp/all/conandata.yml b/recipes/libsrtp/all/conandata.yml index d7ca622cbdb82..04f0998b86517 100644 --- a/recipes/libsrtp/all/conandata.yml +++ b/recipes/libsrtp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.0": + url: "https://github.com/cisco/libsrtp/archive/v2.6.0.tar.gz" + sha256: "bf641aa654861be10570bfc137d1441283822418e9757dc71ebb69a6cf84ea6b" "2.5.0": url: "https://github.com/cisco/libsrtp/archive/v2.5.0.tar.gz" sha256: "8a43ef8e9ae2b665292591af62aa1a4ae41e468b6d98d8258f91478735da4e09" diff --git a/recipes/libsrtp/all/conanfile.py b/recipes/libsrtp/all/conanfile.py index 8a081d12ab6ba..38334eef95695 100644 --- a/recipes/libsrtp/all/conanfile.py +++ b/recipes/libsrtp/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import collect_libs, copy, get, save, rmdir from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv import os required_conan_version = ">=1.53.0" @@ -14,10 +15,10 @@ class LibsrtpRecipe(ConanFile): "Protocol (SRTP), the Universal Security Transform (UST), and a supporting" "cryptographic kernel." ) - topics = ("srtp",) - homepage = "https://github.com/cisco/libsrtp" - 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/cisco/libsrtp" + topics = ("srtp",) package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -48,21 +49,34 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") + def build_requirements(self): + if Version(self.version) >= "2.6.0": + self.tool_requires("cmake/[>=3.21 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.variables["ENABLE_OPENSSL"] = self.options.with_openssl - tc.variables["TEST_APPS"] = False + if Version(self.version) < "2.6.0": + tc.variables["TEST_APPS"] = False + else: + tc.variables["LIBSRTP_TEST_APPS"] = False if Version(self.version) < "2.4.0": # Relocatable shared libs on Macos tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" - if Version(self.version) >= "2.5.0": + if "2.5.0" <= Version(self.version) < "2.6.0": tc.cache_variables["BUILD_WITH_WARNINGS"] = False + if "2.6.0" <= Version(self.version): + tc.cache_variables["ENABLE_WARNINGS"] = False + tc.cache_variables["ENABLE_WARNINGS_AS_ERRORS"] = False + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() deps = CMakeDeps(self) deps.generate() + venv = VirtualBuildEnv(self) + venv.generate(scope="build") def _patch_sources(self): save(self, os.path.join(self.source_folder, "CMakeLists.txt"), diff --git a/recipes/libsrtp/config.yml b/recipes/libsrtp/config.yml index 0abd910fd2126..8daa9e28d8c53 100644 --- a/recipes/libsrtp/config.yml +++ b/recipes/libsrtp/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.0": + folder: all "2.5.0": folder: all "2.4.2": From 48198b1590bd08a123cfde6e75152f0a0c9b280d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Mar 2024 23:28:02 +0900 Subject: [PATCH 4036/4087] (#23224) erkir: add version 2.1.1 * erkir: add version 2.1.0 * link math lib * update 2.1.1 --- recipes/erkir/all/conandata.yml | 13 +++++++++ recipes/erkir/all/conanfile.py | 8 ++++-- .../all/patches/2.1.1-0002-fix-cmake.patch | 22 +++++++++++++++ .../patches/2.1.1-0003-fix-erkir_export.patch | 28 +++++++++++++++++++ recipes/erkir/config.yml | 2 ++ 5 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 recipes/erkir/all/patches/2.1.1-0002-fix-cmake.patch create mode 100644 recipes/erkir/all/patches/2.1.1-0003-fix-erkir_export.patch diff --git a/recipes/erkir/all/conandata.yml b/recipes/erkir/all/conandata.yml index 24a6857c0b7eb..f16d2da6950e6 100644 --- a/recipes/erkir/all/conandata.yml +++ b/recipes/erkir/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/vahancho/erkir/archive/refs/tags/v2.1.1.tar.gz" + sha256: "b314824c126bf933e2f08e5335e12b7ef3ded9ceb341d542276455d991e7e85d" "2.0.0": url: "https://github.com/vahancho/erkir/archive/refs/tags/v2.0.0.tar.gz" sha256: "98d095adcf0f2f11e3ba345bd5bbe890568cde69de9680b2c2a424f0008453ac" @@ -6,6 +9,16 @@ sources: url: "https://github.com/vahancho/erkir/archive/refs/tags/1.0.0.tar.gz" sha256: "0bc5122fe2fef0f9036de275483af7f8adb947f6e8dd63fc18ac085ef31e9421" patches: + "2.1.1": + - patch_file: "patches/2.0.0-0001-remove-specify-architecture.patch" + patch_description: "fix supported architectures limited to x86/x86_64" + patch_type: "conan" + - patch_file: "patches/2.1.1-0002-fix-cmake.patch" + patch_description: "disable shared and fPIC options" + patch_type: "conan" + - patch_file: "patches/2.1.1-0003-fix-erkir_export.patch" + patch_description: "define ERKIR_EXPORT as empty on static build" + patch_type: "conan" "2.0.0": - patch_file: "patches/2.0.0-0001-remove-specify-architecture.patch" patch_description: "fix supported architectures limited to x86/x86_64" diff --git a/recipes/erkir/all/conanfile.py b/recipes/erkir/all/conanfile.py index 941e33312f121..10808e03cf409 100644 --- a/recipes/erkir/all/conanfile.py +++ b/recipes/erkir/all/conanfile.py @@ -81,7 +81,11 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "erkir") - self.cpp_info.set_property("cmake_target_name", "erkir::erkir") postfix = "d" if Version(self.version) >= "2.0.0" and self.settings.build_type == "Debug" else "" self.cpp_info.libs = [f"erkir{postfix}"] + + if Version(self.version) >= "2.1.0" and self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + self.cpp_info.set_property("cmake_file_name", "erkir") + self.cpp_info.set_property("cmake_target_name", "erkir::erkir") diff --git a/recipes/erkir/all/patches/2.1.1-0002-fix-cmake.patch b/recipes/erkir/all/patches/2.1.1-0002-fix-cmake.patch new file mode 100644 index 0000000000000..0a92d7aabdffc --- /dev/null +++ b/recipes/erkir/all/patches/2.1.1-0002-fix-cmake.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d72f102..7bf1655 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.9) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_CXX_STANDARD 11) +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++# set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # The project definition + project(erkir VERSION 2.1.1 +@@ -14,7 +14,7 @@ project(erkir VERSION 2.1.1 + include(GNUInstallDirs) + + # General options +-option(BUILD_SHARED_LIBS "Build using shared libraries" ON) ++# option(BUILD_SHARED_LIBS "Build using shared libraries" ON) + option(ENABLE_TESTING "Enable unit test build" OFF) + + if (0) diff --git a/recipes/erkir/all/patches/2.1.1-0003-fix-erkir_export.patch b/recipes/erkir/all/patches/2.1.1-0003-fix-erkir_export.patch new file mode 100644 index 0000000000000..a12676d0ed400 --- /dev/null +++ b/recipes/erkir/all/patches/2.1.1-0003-fix-erkir_export.patch @@ -0,0 +1,28 @@ +diff --git a/include/export.h b/include/export.h +index edcb0b3..e090174 100644 +--- a/include/export.h ++++ b/include/export.h +@@ -1,7 +1,7 @@ + #ifndef __EXPORT_H_ + #define __EXPORT_H_ + +-#ifdef _WIN32 ++#if defined(_WIN32) && defined(ERKIR_SHARED) + #ifdef MAKEDLL + # define ERKIR_EXPORT __declspec(dllexport) + #else +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ad88fd6..519a300 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -38,6 +38,10 @@ if (MSVC) + target_compile_definitions(${TARGET} PUBLIC MAKEDLL) + endif() + ++if (BUILD_SHARED_LIBS) ++ target_compile_definitions(${TARGET} PUBLIC ERKIR_SHARED) ++endif() ++ + ############################################################################### + # The installation and packaging + # diff --git a/recipes/erkir/config.yml b/recipes/erkir/config.yml index 870fb33e55af0..65dc9fbda0110 100644 --- a/recipes/erkir/config.yml +++ b/recipes/erkir/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: all "2.0.0": folder: all "1.0.0": From 1634381974b91b14804ce996c00fdd1374a29b72 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Mar 2024 17:05:25 +0200 Subject: [PATCH 4037/4087] (#21937) async_simple: add v1.2 --- recipes/async_simple/all/conandata.yml | 6 ++++-- recipes/async_simple/config.yml | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/async_simple/all/conandata.yml b/recipes/async_simple/all/conandata.yml index b0f536ac75473..884ed02955ab2 100644 --- a/recipes/async_simple/all/conandata.yml +++ b/recipes/async_simple/all/conandata.yml @@ -1,5 +1,7 @@ sources: + "1.2": + url: "https://github.com/alibaba/async_simple/archive/refs/tags/1.2.tar.gz" + sha256: "a59a2674ac2b0a3997b90873b2bf0fbe4d96fdedbe6a2628c16c92a65a3fa39a" "1.0.0": - url: - - "https://github.com/alibaba/async_simple/archive/refs/tags/1.0.tar.gz" + url: "https://github.com/alibaba/async_simple/archive/refs/tags/1.0.tar.gz" sha256: "b243fb7af5d61b534fe18b662d16498392bbce1deffdc68e58829aa31db7badf" diff --git a/recipes/async_simple/config.yml b/recipes/async_simple/config.yml index 5d96905a31039..0b3d8acdb470b 100644 --- a/recipes/async_simple/config.yml +++ b/recipes/async_simple/config.yml @@ -1,4 +1,5 @@ versions: - # Newer versions at the top + "1.2": + folder: all "1.0.0": folder: all From 388a1a0fc62b573979872f631386a0a1acee001c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Mar 2024 17:45:45 +0200 Subject: [PATCH 4038/4087] (#21917) ensmallen: add v2.21.0 --- recipes/ensmallen/all/conandata.yml | 3 +++ recipes/ensmallen/all/conanfile.py | 2 +- recipes/ensmallen/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/ensmallen/all/conandata.yml b/recipes/ensmallen/all/conandata.yml index a566be23b4893..31733be82e383 100644 --- a/recipes/ensmallen/all/conandata.yml +++ b/recipes/ensmallen/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.21.0": + url: "https://ensmallen.org/files/ensmallen-2.21.0.tar.gz" + sha256: "076f9d84e1ebc84c0ae19ee63accfc8fd3ec850f8993784bd9277776c3af2932" "2.19.1": url: "https://ensmallen.org/files/ensmallen-2.19.1.tar.gz" sha256: "f36ad7f08b0688d2a8152e1c73dd437c56ed7a5af5facf65db6ffd977b275b2e" diff --git a/recipes/ensmallen/all/conanfile.py b/recipes/ensmallen/all/conanfile.py index 7b6250290ad81..093bca4ec6467 100644 --- a/recipes/ensmallen/all/conanfile.py +++ b/recipes/ensmallen/all/conanfile.py @@ -25,7 +25,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("armadillo/12.2.0") + self.requires("armadillo/12.6.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/ensmallen/config.yml b/recipes/ensmallen/config.yml index 3af3934850762..0bd90f07549cf 100644 --- a/recipes/ensmallen/config.yml +++ b/recipes/ensmallen/config.yml @@ -1,3 +1,5 @@ versions: + "2.21.0": + folder: all "2.19.1": folder: all From f729c980310ae07dc01a9ab07dc52dab9b759b97 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 28 Mar 2024 01:29:34 +0900 Subject: [PATCH 4039/4087] (#23261) libftp: add recipe * libftp: add recipe * support shared build * link math lib * add invalid config for windows shared --------- Co-authored-by: czoido --- recipes/libftp/all/conandata.yml | 4 + recipes/libftp/all/conanfile.py | 106 ++++++++++++++++++ .../libftp/all/test_package/CMakeLists.txt | 8 ++ recipes/libftp/all/test_package/conanfile.py | 26 +++++ .../libftp/all/test_package/test_package.cpp | 14 +++ recipes/libftp/config.yml | 3 + 6 files changed, 161 insertions(+) create mode 100644 recipes/libftp/all/conandata.yml create mode 100644 recipes/libftp/all/conanfile.py create mode 100644 recipes/libftp/all/test_package/CMakeLists.txt create mode 100644 recipes/libftp/all/test_package/conanfile.py create mode 100644 recipes/libftp/all/test_package/test_package.cpp create mode 100644 recipes/libftp/config.yml diff --git a/recipes/libftp/all/conandata.yml b/recipes/libftp/all/conandata.yml new file mode 100644 index 0000000000000..6f6b3ca9dc582 --- /dev/null +++ b/recipes/libftp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.4.1": + url: "https://github.com/deniskovalchuk/libftp/archive/refs/tags/v0.4.1.tar.gz" + sha256: "873dd7647234f72fecfe57150b0a4a60f4c16611d26ad7eb687e0561f54b9eec" diff --git a/recipes/libftp/all/conanfile.py b/recipes/libftp/all/conanfile.py new file mode 100644 index 0000000000000..a3d283d843da6 --- /dev/null +++ b/recipes/libftp/all/conanfile.py @@ -0,0 +1,106 @@ +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 +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class LibFTPConan(ConanFile): + name = "libftp" + description = "A cross-platform FTP client library based on Boost.Asio" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/deniskovalchuk/libftp" + topics = ("ftp", "boost") + 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": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.84.0", transitive_headers=True) + + def validate(self): + if is_msvc(self) and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared builds with Visual Studio.") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["LIBFTP_BUILD_TEST"] = False + tc.variables["LIBFTP_BUILD_EXAMPLE"] = False + tc.variables["LIBFTP_BUILD_CMDLINE_CLIENT"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ftp"] + + self.cpp_info.set_property("cmake_file_name", "ftp") + self.cpp_info.set_property("cmake_target_name", "ftp::ftp") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/libftp/all/test_package/CMakeLists.txt b/recipes/libftp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d4b87e9e23e3a --- /dev/null +++ b/recipes/libftp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ftp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ftp::ftp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libftp/all/test_package/conanfile.py b/recipes/libftp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/libftp/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/libftp/all/test_package/test_package.cpp b/recipes/libftp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8c6d986925378 --- /dev/null +++ b/recipes/libftp/all/test_package/test_package.cpp @@ -0,0 +1,14 @@ +#include +#include "ftp/client.hpp" + +int main(void) { + try { + ftp::client client; + client.get_current_directory(); + client.disconnect(); + } + catch (const std::exception & ex) { + std::cerr << ex.what() << std::endl; + } + return 0; +} diff --git a/recipes/libftp/config.yml b/recipes/libftp/config.yml new file mode 100644 index 0000000000000..3a9d5538921fc --- /dev/null +++ b/recipes/libftp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.4.1": + folder: all From fa476b26520c9d8317ee3781c603a888935d4754 Mon Sep 17 00:00:00 2001 From: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:08:18 +0000 Subject: [PATCH 4040/4087] (#23264) [avahi] Bump expat and glib Match dbus recipe --- recipes/avahi/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index 6dfd0f410cd70..7c5e4d7f868ae 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -45,8 +45,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.78.1") - self.requires("expat/2.5.0") + self.requires("glib/2.78.3") + self.requires("expat/2.6.0") self.requires("libdaemon/0.14") self.requires("dbus/1.15.8") self.requires("gdbm/1.23") From 057d663648abde4c092f6e0136de2dbd1f267cc4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 27 Mar 2024 18:49:17 +0100 Subject: [PATCH 4041/4087] (#23242) opencv 4.x: re-enable quirc by default * re-enable quirc by default for opencv < 4.9 * less confusing patches --- recipes/opencv/4.x/conanfile.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 4f868f3cc469f..27d637332f3ab 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -203,7 +203,7 @@ class OpenCVConan(ConanFile): "with_msmf": True, "with_msmf_dxva": True, # objdetect module options - "with_quirc": False, + "with_quirc": True, # videoio module options "with_ffmpeg": True, "with_v4l": False, @@ -351,9 +351,6 @@ def config_options(self): if not self._has_with_wayland_option: self.options.with_gtk = True - if Version(self.version) >= "4.9": - self.options.with_quirc = True - @property def _opencv_modules(self): def imageformats_deps(): @@ -1241,9 +1238,9 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "ANDROID OR NOT UNIX", "FALSE") replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "elseif(EMSCRIPTEN)", "elseif(QNXNTO)\nelseif(EMSCRIPTEN)") - if self.options.with_quirc: - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "add_subdirectory(3rdparty/quirc)", "# add_subdirectory(3rdparty/quirc)") - + ## Upstream CMakeLists vendors quirc in CMakeLists of 3rdparty/quirc. + ## Instead we rely on find-quirc.patch in order to link external quirc. + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "add_subdirectory(3rdparty/quirc)", "") ## Fix link to several dependencies replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "JASPER_", "Jasper_") @@ -1492,8 +1489,6 @@ def generate(self): if self.options.get_safe("with_protobuf"): tc.variables["PROTOBUF_UPDATE_FILES"] = True tc.variables["WITH_ADE"] = self.options.gapi - if self.options.objdetect: - tc.variables["HAVE_QUIRC"] = self.options.with_quirc # force usage of quirc requirement # Extra modules if any([self.options.get_safe(module) for module in OPENCV_EXTRA_MODULES_OPTIONS]) or self.options.with_cuda: From c7c6e636bd2658b81f8c12a25eaf21ede4bf9f19 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 28 Mar 2024 18:47:27 -0500 Subject: [PATCH 4042/4087] (#23201) libva/2.20.0: Fix discovery of wayland-scanner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libva/2.20.0: Fix discovery of wayland-scanner Cross-compilation is currently broken for the libva package for Conan V1. It doesn't properly make the wayland package available in the build context through pkg-config. This is necessary for the project to find the wayland-scanner program. I've updated libva to use the same procedure as xkbcommon to incorporate Wayland's pkg-config in the build context. Note that this change is not necessary for Conan version 2.2.1 which works out-of-the-box. * Update recipes/libva/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update recipes/libva/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update recipes/libva/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update recipes/libva/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Martin Valgur --- recipes/libva/all/conanfile.py | 39 ++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/recipes/libva/all/conanfile.py b/recipes/libva/all/conanfile.py index 4020db9e7c63e..d92edb9da1d88 100644 --- a/recipes/libva/all/conanfile.py +++ b/recipes/libva/all/conanfile.py @@ -1,15 +1,16 @@ +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 apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain -import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.6" class PackageConan(ConanFile): @@ -37,6 +38,10 @@ class PackageConan(ConanFile): "with_win32": True, } + @property + def _has_build_profile(self): + return hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) @@ -76,9 +81,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} can not be built without at least one backend dev files.") def build_requirements(self): - if self.options.get_safe("with_wayland"): - self.tool_requires("wayland/1.22.0") - self.tool_requires("meson/1.3.1") + if self.options.get_safe("with_wayland") and self._has_build_profile: + self.tool_requires("wayland/") + self.tool_requires("meson/1.3.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") @@ -90,14 +95,30 @@ def generate(self): tc.project_options["disable_drm"] = not self.options.get_safe("with_drm") for opt in ['with_x11', 'with_glx', 'with_wayland', 'with_win32']: tc.project_options[opt] = "yes" if self.options.get_safe(opt) else "no" + tc.project_options["build.pkg_config_path"] = self.generators_folder tc.generate() - tc = PkgConfigDeps(self) - tc.generate() + pkg_config_deps = PkgConfigDeps(self) + if self.options.get_safe("with_wayland") and self._has_build_profile: + pkg_config_deps.build_context_activated = ["wayland"] + pkg_config_deps.build_context_suffix = {"wayland": "_BUILD"} + pkg_config_deps.generate() tc = VirtualBuildEnv(self) tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + if self.options.get_safe("with_wayland") and self._has_build_profile: + # Patch the build system to use the pkg-config files generated for the build context. + meson_build_file = os.path.join(self.source_folder, "meson.build") + replace_in_file( + self, + meson_build_file, + "wayland_scanner_dep = dependency('wayland-scanner',", + "wayland_scanner_dep = dependency('wayland-scanner_BUILD',", + ) + + def build(self): + self._patch_sources() meson = Meson(self) meson.configure() meson.build() From 8cf8e8faf59d8f21c6259756e4cdcbdaefe22558 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 30 Mar 2024 07:48:35 -0500 Subject: [PATCH 4043/4087] (#23311) xz_utils/5.6.x: Remove compromised versions CVE-2024-3094 See #23310. --- recipes/xz_utils/cmake/conandata.yml | 7 - recipes/xz_utils/cmake/conanfile.py | 120 ------------------ .../cmake/test_package/CMakeLists.txt | 26 ---- .../xz_utils/cmake/test_package/conanfile.py | 26 ---- .../cmake/test_package/test_package.c | 8 -- .../cmake/test_v1_package/CMakeLists.txt | 8 -- .../cmake/test_v1_package/conanfile.py | 17 --- recipes/xz_utils/config.yml | 4 - 8 files changed, 216 deletions(-) delete mode 100644 recipes/xz_utils/cmake/conandata.yml delete mode 100644 recipes/xz_utils/cmake/conanfile.py delete mode 100644 recipes/xz_utils/cmake/test_package/CMakeLists.txt delete mode 100644 recipes/xz_utils/cmake/test_package/conanfile.py delete mode 100644 recipes/xz_utils/cmake/test_package/test_package.c delete mode 100644 recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt delete mode 100644 recipes/xz_utils/cmake/test_v1_package/conanfile.py diff --git a/recipes/xz_utils/cmake/conandata.yml b/recipes/xz_utils/cmake/conandata.yml deleted file mode 100644 index 8825601a50d2d..0000000000000 --- a/recipes/xz_utils/cmake/conandata.yml +++ /dev/null @@ -1,7 +0,0 @@ -sources: - "5.6.1": - url: "https://github.com/tukaani-project/xz/releases/download/v5.6.1/xz-5.6.1.tar.xz" - sha256: "f334777310ca3ae9ba07206d78ed286a655aa3f44eec27854f740c26b2cd2ed0" - "5.6.0": - url: "https://github.com/tukaani-project/xz/releases/download/v5.6.0/xz-5.6.0.tar.xz" - sha256: "cdafe1632f139c82937cc1ed824f7a60b7b0a0619dfbbd681dcac02b1ac28f5b" diff --git a/recipes/xz_utils/cmake/conanfile.py b/recipes/xz_utils/cmake/conanfile.py deleted file mode 100644 index 29d660487cdf7..0000000000000 --- a/recipes/xz_utils/cmake/conanfile.py +++ /dev/null @@ -1,120 +0,0 @@ -from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, rmdir, save -from conan.tools.scm import Version -import os -import textwrap - -required_conan_version = ">=1.54.0" - - -class XZUtilsConan(ConanFile): - name = "xz_utils" - description = ( - "XZ Utils is free general-purpose data compression software with a high " - "compression ratio. XZ Utils were written for POSIX-like systems, but also " - "work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils." - ) - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://tukaani.org/xz" - topics = ("lzma", "xz", "compression") - license = "Unlicense", "LGPL-2.1-or-later", "GPL-2.0-or-later", "GPL-3.0-or-later" - package_type = "library" - settings = "os", "arch", "compiler", "build_type" - options = { - "shared": [True, False], - "fPIC": [True, False], - } - default_options = { - "shared": False, - "fPIC": True, - } - - def export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - self.settings.rm_safe("compiler.cppstd") - self.settings.rm_safe("compiler.libcxx") - - def validate(self): - # This is only from 5.6.0 onwards, they are just in a different recipe so no need to check version. - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": - raise ConanInvalidConfiguration(f"{self.ref} does not work on GCC<7 due to errors with inline assembly") - - def layout(self): - cmake_layout(self, src_folder="src") - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - - def generate(self): - tc = CMakeToolchain(self) - tc.variables["BUILD_TESTING"] = False - tc.generate() - - def build(self): - apply_conandata_patches(self) - cmake = CMake(self) - cmake.configure() - cmake.build() - - def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - - self._create_cmake_module_variables( - os.path.join(self.package_folder, self._module_file_rel_path), - ) - cmake = CMake(self) - cmake.install() - - rmdir(self, os.path.join(self.package_folder, "share")) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "liblzma")) - if self.settings.os == "Windows": - rename(self, os.path.join(self.package_folder, "lib", "liblzma.lib"), os.path.join(self.package_folder, "lib", "lzma.lib")) - - def _create_cmake_module_variables(self, module_file): - # TODO: also add LIBLZMA_HAS_AUTO_DECODER, LIBLZMA_HAS_EASY_ENCODER & LIBLZMA_HAS_LZMA_PRESET - content = textwrap.dedent(f"""\ - set(LIBLZMA_FOUND TRUE) - if(DEFINED LibLZMA_INCLUDE_DIRS) - set(LIBLZMA_INCLUDE_DIRS ${{LibLZMA_INCLUDE_DIRS}}) - endif() - if(DEFINED LibLZMA_LIBRARIES) - set(LIBLZMA_LIBRARIES ${{LibLZMA_LIBRARIES}}) - endif() - set(LIBLZMA_VERSION_MAJOR {Version(self.version).major}) - set(LIBLZMA_VERSION_MINOR {Version(self.version).minor}) - set(LIBLZMA_VERSION_PATCH {Version(self.version).patch}) - set(LIBLZMA_VERSION_STRING "{self.version}") - """) - save(self, module_file, content) - - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") - - def package_info(self): - self.cpp_info.set_property("cmake_find_mode", "both") - self.cpp_info.set_property("cmake_file_name", "LibLZMA") - self.cpp_info.set_property("cmake_target_name", "LibLZMA::LibLZMA") - self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) - self.cpp_info.set_property("pkg_config_name", "liblzma") - self.cpp_info.libs = ["lzma"] - if not self.options.shared: - self.cpp_info.defines.append("LZMA_API_STATIC") - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") - - # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed - self.cpp_info.names["cmake_find_package"] = "LibLZMA" - self.cpp_info.names["cmake_find_package_multi"] = "LibLZMA" - self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] diff --git a/recipes/xz_utils/cmake/test_package/CMakeLists.txt b/recipes/xz_utils/cmake/test_package/CMakeLists.txt deleted file mode 100644 index cd4e960a3ff01..0000000000000 --- a/recipes/xz_utils/cmake/test_package/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -find_package(LibLZMA REQUIRED) - -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE LibLZMA::LibLZMA) - -# Test whether variables from https://cmake.org/cmake/help/latest/module/FindLibLZMA.html -# are properly defined in conan generators -set(_custom_vars - LIBLZMA_FOUND - LIBLZMA_INCLUDE_DIRS - LIBLZMA_LIBRARIES - LIBLZMA_VERSION_MAJOR - LIBLZMA_VERSION_MINOR - LIBLZMA_VERSION_PATCH - LIBLZMA_VERSION_STRING -) -foreach(_custom_var ${_custom_vars}) - if(DEFINED ${_custom_var}) - message(STATUS "${_custom_var}: ${${_custom_var}}") - else() - message(FATAL_ERROR "${_custom_var} not defined") - endif() -endforeach() diff --git a/recipes/xz_utils/cmake/test_package/conanfile.py b/recipes/xz_utils/cmake/test_package/conanfile.py deleted file mode 100644 index 0a6bc68712d90..0000000000000 --- a/recipes/xz_utils/cmake/test_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -from conan import ConanFile -from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - test_type = "explicit" - - def layout(self): - cmake_layout(self) - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") diff --git a/recipes/xz_utils/cmake/test_package/test_package.c b/recipes/xz_utils/cmake/test_package/test_package.c deleted file mode 100644 index a1f55ac414846..0000000000000 --- a/recipes/xz_utils/cmake/test_package/test_package.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include -#include - -int main() { - printf("LZMA version %s\n", lzma_version_string()); - return EXIT_SUCCESS; -} diff --git a/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt b/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xz_utils/cmake/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/xz_utils/cmake/test_v1_package/conanfile.py b/recipes/xz_utils/cmake/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/xz_utils/cmake/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" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index 7cd5f51b3c3c5..d950dab72f7d0 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,8 +1,4 @@ versions: - "5.6.1": - folder: cmake - "5.6.0": - folder: cmake "5.4.5": folder: all "5.4.4": From 96c6de1eadf79369c27b9bc7067e666fa84da4e4 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 30 Mar 2024 07:52:38 -0500 Subject: [PATCH 4044/4087] libunwind: Downgrade xz_utils to mitigate CVE-2024-3094 (#23312) See #23310. --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 7980721bda607..002c9bf613f23 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if self.options.minidebuginfo: - self.requires("xz_utils/5.6.1") + self.requires("xz_utils/5.4.5") if self.options.zlibdebuginfo: self.requires("zlib/[>=1.2.11 <2]") From 94c7d2765f9cc06def5142d0bb32058704bfb212 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 30 Mar 2024 07:52:46 -0500 Subject: [PATCH 4045/4087] cpython: Downgrade xz_utils to mitigate CVE-2024-3094 (#23313) See #23310. --- recipes/cpython/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cpython/all/conanfile.py b/recipes/cpython/all/conanfile.py index 160fe6920a426..2c579fc71772b 100644 --- a/recipes/cpython/all/conanfile.py +++ b/recipes/cpython/all/conanfile.py @@ -134,7 +134,7 @@ def requirements(self): # https://github.com/python/cpython/blob/v3.10.13/Include/py_curses.h#L34 self.requires("ncurses/6.4", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_lzma", False): - self.requires("xz_utils/5.6.1") + self.requires("xz_utils/5.4.5") def package_id(self): del self.info.options.env_vars @@ -224,7 +224,7 @@ def _generate_autotools(self): def generate(self): VirtualRunEnv(self).generate(scope="build") - + if is_msvc(self): # The msbuild generator only works with Visual Studio deps = MSBuildDeps(self) From f7621e6b4377d9f6fa513366c94fc0d09257f56f Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 1 Apr 2024 10:45:08 +0200 Subject: [PATCH 4046/4087] (#23322) [libunwind] Fix: Generate new recipe revision to upload it as the latest --- recipes/libunwind/all/conanfile.py | 63 +++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 002c9bf613f23..d96b4cec23a07 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -2,7 +2,14 @@ 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, rm, rmdir +from conan.tools.files import ( + apply_conandata_patches, + copy, + export_conandata_patches, + get, + rm, + rmdir, +) from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps from conan.tools.layout import basic_layout @@ -11,6 +18,7 @@ required_conan_version = ">=1.53.0" + class LiunwindConan(ConanFile): name = "libunwind" description = "Manipulate the preserved state of each call-frame and resume the execution at any point." @@ -59,7 +67,9 @@ def requirements(self): def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: - raise ConanInvalidConfiguration("libunwind is only supported on Linux and FreeBSD") + raise ConanInvalidConfiguration( + "libunwind is only supported on Linux and FreeBSD" + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -71,15 +81,17 @@ def generate(self): tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - tc.configure_args.extend([ - f"--enable-coredump={yes_no(self.options.coredump)}", - f"--enable-ptrace={yes_no(self.options.ptrace)}", - f"--enable-setjmp={yes_no(self.options.setjmp)}", - f"--enable-minidebuginfo={yes_no(self.options.minidebuginfo)}", - f"--enable-zlibdebuginfo={yes_no(self.options.zlibdebuginfo)}", - "--disable-tests", - "--disable-documentation", - ]) + tc.configure_args.extend( + [ + f"--enable-coredump={yes_no(self.options.coredump)}", + f"--enable-ptrace={yes_no(self.options.ptrace)}", + f"--enable-setjmp={yes_no(self.options.setjmp)}", + f"--enable-minidebuginfo={yes_no(self.options.minidebuginfo)}", + f"--enable-zlibdebuginfo={yes_no(self.options.zlibdebuginfo)}", + "--disable-tests", + "--disable-documentation", + ] + ) tc.generate() tc = AutotoolsDeps(self) @@ -92,7 +104,12 @@ def build(self): autotools.make() def package(self): - copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy( + self, + pattern="COPYING", + 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")) @@ -102,8 +119,10 @@ def package(self): # As this seems to be unnecessary for the conan package. # rename the real file to libunwind_generic, lib_ext = "so" if self.options.shared else "a" - symlink_path = os.path.join(self.package_folder, "lib", f"libunwind-generic.{lib_ext}") - source_path = os.path.realpath(symlink_path) + symlink_path = os.path.join( + self.package_folder, "lib", f"libunwind-generic.{lib_ext}" + ) + source_path = os.path.realpath(symlink_path) rm(self, os.path.basename(symlink_path), os.path.dirname(symlink_path)) shutil.copy(source_path, symlink_path) @@ -116,18 +135,26 @@ def package_info(self): self.cpp_info.components["unwind"].requires.append("zlib::zlib") if self.settings.os == "Linux": self.cpp_info.components["unwind"].system_libs.append("pthread") - self.cpp_info.components["generic"].set_property("pkg_config_name", "libunwind-generic") + self.cpp_info.components["generic"].set_property( + "pkg_config_name", "libunwind-generic" + ) self.cpp_info.components["generic"].libs = ["unwind-generic"] self.cpp_info.components["generic"].requires = ["unwind"] if self.options.ptrace: - self.cpp_info.components["ptrace"].set_property("pkg_config_name", "libunwind-ptrace") + self.cpp_info.components["ptrace"].set_property( + "pkg_config_name", "libunwind-ptrace" + ) self.cpp_info.components["ptrace"].libs = ["unwind-ptrace"] self.cpp_info.components["ptrace"].requires = ["generic", "unwind"] if self.options.setjmp: - self.cpp_info.components["setjmp"].set_property("pkg_config_name", "libunwind-setjmp") + self.cpp_info.components["setjmp"].set_property( + "pkg_config_name", "libunwind-setjmp" + ) self.cpp_info.components["setjmp"].libs = ["unwind-setjmp"] self.cpp_info.components["setjmp"].requires = ["unwind"] if self.options.coredump: - self.cpp_info.components["coredump"].set_property("pkg_config_name", "libunwind-coredump") + self.cpp_info.components["coredump"].set_property( + "pkg_config_name", "libunwind-coredump" + ) self.cpp_info.components["coredump"].libs = ["unwind-coredump"] self.cpp_info.components["coredump"].requires = ["generic", "unwind"] From 6a4e42b97e05855a8f1ba31e3e6c2124be0cd2b7 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 1 Apr 2024 11:20:06 +0100 Subject: [PATCH 4047/4087] (#23300) [bot] Update authorized users list (2024-03-28) 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 0079f1d503a7f..1b385acde695e 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1318,3 +1318,7 @@ authorized_users: - VladimirShaleev - phwissmann - ybogo +- ujos +- nclindroos +- es20490446e +- victimsnino From 806008ebdab057578f8029e6312e2ea58136356e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 1 Apr 2024 13:45:46 +0300 Subject: [PATCH 4048/4087] (#22362) proxy: new recipe * proxy: new recipe * proxy: require msvc 193 * proxy: bump to v2.1.1 * proxy: bump to v2.2.1 * proxy: adjust min compiler versions Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/proxy/all/conandata.yml | 4 ++ recipes/proxy/all/conanfile.py | 66 +++++++++++++++++++ recipes/proxy/all/test_package/CMakeLists.txt | 8 +++ recipes/proxy/all/test_package/conanfile.py | 26 ++++++++ .../proxy/all/test_package/test_package.cpp | 47 +++++++++++++ recipes/proxy/config.yml | 3 + 6 files changed, 154 insertions(+) create mode 100644 recipes/proxy/all/conandata.yml create mode 100644 recipes/proxy/all/conanfile.py create mode 100644 recipes/proxy/all/test_package/CMakeLists.txt create mode 100644 recipes/proxy/all/test_package/conanfile.py create mode 100644 recipes/proxy/all/test_package/test_package.cpp create mode 100644 recipes/proxy/config.yml diff --git a/recipes/proxy/all/conandata.yml b/recipes/proxy/all/conandata.yml new file mode 100644 index 0000000000000..6117dde9e8ce1 --- /dev/null +++ b/recipes/proxy/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.2.1": + url: "https://github.com/microsoft/proxy/archive/refs/tags/2.2.1.tar.gz" + sha256: "096f0b2d793dffc54d41def2bca0ced594b6b8efe35ac5ae27db35802e742b96" diff --git a/recipes/proxy/all/conanfile.py b/recipes/proxy/all/conanfile.py new file mode 100644 index 0000000000000..a561cdbfc8a38 --- /dev/null +++ b/recipes/proxy/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 ProxyConan(ConanFile): + name = "proxy" + description = "Proxy: Next Generation Polymorphism in C++" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/microsoft/proxy" + topics = ("runtime-polymorphism", "polymorphism", "duck-typing", "metaprogramming", "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": "15", + "apple-clang": "14", + "msvc": "193", + "Visual Studio": "17", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "proxy.h", self.source_folder, os.path.join(self.package_folder, "include", "proxy")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "proxy") + self.cpp_info.set_property("cmake_target_name", "msft_proxy") + + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/proxy/all/test_package/CMakeLists.txt b/recipes/proxy/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7ca64396c7e13 --- /dev/null +++ b/recipes/proxy/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +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) diff --git a/recipes/proxy/all/test_package/conanfile.py b/recipes/proxy/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/proxy/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/proxy/all/test_package/test_package.cpp b/recipes/proxy/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..09afe4defb583 --- /dev/null +++ b/recipes/proxy/all/test_package/test_package.cpp @@ -0,0 +1,47 @@ +// https://github.com/microsoft/proxy/blob/2.1.0/samples/resource_dictionary/main.cpp +// Copyright (c) Microsoft Corporation. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE + +#include + +#include +#include +#include +#include + + +namespace poly { + +PRO_DEF_MEMBER_DISPATCH(at, std::string(int)); +PRO_DEF_FACADE(Dictionary, at); + +} // namespace poly + +void demo_print(pro::proxy dictionary) { + std::cout << dictionary(1) << std::endl; +} + +int main() { + std::map container1{{1, "hello"}}; + std::vector container2{"hello", "world"}; + demo_print(&container1); // print: hello\n + demo_print(&container2); // print: world\n + return 0; +} diff --git a/recipes/proxy/config.yml b/recipes/proxy/config.yml new file mode 100644 index 0000000000000..a816d92f78ee3 --- /dev/null +++ b/recipes/proxy/config.yml @@ -0,0 +1,3 @@ +versions: + "2.2.1": + folder: all From c0fc38a0d1618218ab3927c45b77a3b253ded7a7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 1 Apr 2024 14:28:36 +0300 Subject: [PATCH 4049/4087] (#23246) zstd: remove vulnerable versions (< 1.4.9) https://repology.org/project/zstd/cves Currently all versions < 1.4.9 are affected. --- recipes/zstd/all/conandata.yml | 29 ------------------- recipes/zstd/all/conanfile.py | 11 ++----- .../all/patches/1.3.5-cmake-project.patch | 12 -------- .../all/patches/1.4.5-cmake-install-dll.patch | 10 ------- recipes/zstd/config.yml | 14 --------- 5 files changed, 2 insertions(+), 74 deletions(-) delete mode 100644 recipes/zstd/all/patches/1.3.5-cmake-project.patch delete mode 100644 recipes/zstd/all/patches/1.4.5-cmake-install-dll.patch diff --git a/recipes/zstd/all/conandata.yml b/recipes/zstd/all/conandata.yml index 0deaf672d11b8..64ae6207e0c7c 100644 --- a/recipes/zstd/all/conandata.yml +++ b/recipes/zstd/all/conandata.yml @@ -17,27 +17,6 @@ sources: "1.4.9": url: "https://github.com/facebook/zstd/releases/download/v1.4.9/zstd-1.4.9.tar.gz" sha256: "29ac74e19ea28659017361976240c4b5c5c24db3b89338731a6feb97c038d293" - "1.4.8": - url: "https://github.com/facebook/zstd/releases/download/v1.4.8/zstd-1.4.8.tar.gz" - sha256: "32478297ca1500211008d596276f5367c54198495cf677e9439f4791a4c69f24" - "1.4.7": - url: "https://github.com/facebook/zstd/releases/download/v1.4.7/zstd-1.4.7.tar.gz" - sha256: "192cbb1274a9672cbcceaf47b5c4e9e59691ca60a357f1d4a8b2dfa2c365d757" - "1.4.5": - url: "https://github.com/facebook/zstd/releases/download/v1.4.5/zstd-1.4.5.tar.gz" - sha256: "98e91c7c6bf162bf90e4e70fdbc41a8188b9fa8de5ad840c401198014406ce9e" - "1.4.4": - url: "https://github.com/facebook/zstd/releases/download/v1.4.4/zstd-1.4.4.tar.gz" - sha256: "59ef70ebb757ffe74a7b3fe9c305e2ba3350021a918d168a046c6300aeea9315" - "1.4.3": - url: "https://github.com/facebook/zstd/releases/download/v1.4.3/zstd-1.4.3.tar.gz" - sha256: "e88ec8d420ff228610b77fba4fbf22b9f8b9d3f223a40ef59c9c075fcdad5767" - "1.3.8": - url: "https://github.com/facebook/zstd/releases/download/v1.3.8/zstd-1.3.8.tar.gz" - sha256: "293fa004dfacfbe90b42660c474920ff27093e3fb6c99f7b76e6083b21d6d48e" - "1.3.5": - url: "https://github.com/facebook/zstd/archive/refs/tags/v1.3.5.tar.gz" - sha256: "d6e1559e4cdb7c4226767d4ddc990bff5f9aab77085ff0d0490c828b025e2eea" patches: "1.5.5": - patch_file: "patches/1.5.2-cmake-remove-asm-except-x86_64.patch" @@ -76,11 +55,3 @@ patches: patch_description: "fix strange performance and scalability issues" patch_type: "bugfix" patch_source: "https://github.com/facebook/zstd/pull/3167" - "1.4.5": - - patch_file: "patches/1.4.5-cmake-install-dll.patch" - patch_description: "fix runtime installation path" - patch_type: "conan" - "1.3.5": - - patch_file: "patches/1.3.5-cmake-project.patch" - patch_description: "fix `project()` position" - patch_type: "portability" diff --git a/recipes/zstd/all/conanfile.py b/recipes/zstd/all/conanfile.py index 5920d50771523..62abbe3967884 100644 --- a/recipes/zstd/all/conanfile.py +++ b/recipes/zstd/all/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir, rm -from conan.tools.scm import Version from conan.tools.microsoft import is_msvc import glob import os @@ -56,21 +55,15 @@ def generate(self): tc.variables["ZSTD_BUILD_STATIC"] = not self.options.shared or self.options.build_programs tc.variables["ZSTD_BUILD_SHARED"] = self.options.shared tc.variables["ZSTD_MULTITHREAD_SUPPORT"] = self.options.threading - if not is_msvc(self): tc.variables["CMAKE_C_FLAGS"] = "-Wno-maybe-uninitialized" - - if Version(self.version) < "1.4.3": - # Generate a relocatable shared lib on Macos - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() def _patch_sources(self): apply_conandata_patches(self) # Don't force PIC - if Version(self.version) >= "1.4.5": - replace_in_file(self, os.path.join(self.source_folder, "build", "cmake", "lib", "CMakeLists.txt"), - "POSITION_INDEPENDENT_CODE On", "") + replace_in_file(self, os.path.join(self.source_folder, "build", "cmake", "lib", "CMakeLists.txt"), + "POSITION_INDEPENDENT_CODE On", "") def build(self): self._patch_sources() diff --git a/recipes/zstd/all/patches/1.3.5-cmake-project.patch b/recipes/zstd/all/patches/1.3.5-cmake-project.patch deleted file mode 100644 index c8c9479c8ede1..0000000000000 --- a/recipes/zstd/all/patches/1.3.5-cmake-project.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/build/cmake/CMakeLists.txt -+++ b/build/cmake/CMakeLists.txt -@@ -7,8 +7,8 @@ - # in the COPYING file in the root directory of this source tree). - # ################################################################ - --PROJECT(zstd) - CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9) -+PROJECT(zstd) - SET(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") - LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules") - INCLUDE(GNUInstallDirs) diff --git a/recipes/zstd/all/patches/1.4.5-cmake-install-dll.patch b/recipes/zstd/all/patches/1.4.5-cmake-install-dll.patch deleted file mode 100644 index 9433dfdbea9cb..0000000000000 --- a/recipes/zstd/all/patches/1.4.5-cmake-install-dll.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- build/cmake/lib/CMakeLists.txt 2020-05-22 05:04:00.000000000 +0000 -+++ build/cmake/lib/CMakeLists.txt 2020-05-22 19:14:38.249960211 +0000 -@@ -161,6 +161,7 @@ - install(TARGETS ${library_targets} - EXPORT zstdExports - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ) diff --git a/recipes/zstd/config.yml b/recipes/zstd/config.yml index ddb81b147ddb6..64f52a6b03fb1 100644 --- a/recipes/zstd/config.yml +++ b/recipes/zstd/config.yml @@ -11,17 +11,3 @@ versions: folder: all "1.4.9": folder: all - "1.4.8": - folder: all - "1.4.7": - folder: all - "1.4.5": - folder: all - "1.4.4": - folder: all - "1.4.3": - folder: all - "1.3.8": - folder: all - "1.3.5": - folder: all From 3dca6fcd527d81a8e960149b7f3a26cd8a9b851d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 1 Apr 2024 13:02:14 +0100 Subject: [PATCH 4050/4087] (#23323) [bot] Update authorized users list (2024-04-01) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 1b385acde695e..523655fa1ea1f 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1322,3 +1322,6 @@ authorized_users: - nclindroos - es20490446e - victimsnino +- dmpriso +- darakelian +- sivachandran From b813d935cf966611954077585fa0c7c0d41ce543 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 1 Apr 2024 07:50:23 -0500 Subject: [PATCH 4051/4087] (#23321) cpptrace: Add v0.5.2 * Add v0.5.2 * Patch * Fix CI * Update for adjusted tag * Workaround msvc bug --- recipes/cpptrace/all/conandata.yml | 9 +++++ .../all/patches/0.5.2/0001-msvc-bug.patch | 36 +++++++++++++++++++ recipes/cpptrace/config.yml | 2 ++ 3 files changed, 47 insertions(+) create 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 0eb7e3cd9436a..82140c1347a01 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "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" @@ -29,6 +33,11 @@ sources: - "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" 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 new file mode 100644 index 0000000000000..b9a184ee0d627 --- /dev/null +++ b/recipes/cpptrace/all/patches/0.5.2/0001-msvc-bug.patch @@ -0,0 +1,36 @@ +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: Mon, 1 Apr 2024 16:48:35 +0300 Subject: [PATCH 4052/4087] (#23290) Bump ReactivePlusPlus v2.1.1 * Add v2.1.1 * Specify 2.1.1 in config * Update hash --- recipes/reactiveplusplus/all/conandata.yml | 3 +++ recipes/reactiveplusplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/reactiveplusplus/all/conandata.yml b/recipes/reactiveplusplus/all/conandata.yml index a8ee60a2f8197..45940f3c98c16 100644 --- a/recipes/reactiveplusplus/all/conandata.yml +++ b/recipes/reactiveplusplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/victimsnino/ReactivePlusPlus/archive/refs/tags/v2.1.1.tar.gz" + sha256: "0b962478d7c973a1f74062ce7f8d24c2fdcd2733031b1f014e65d252d59ebe6a" "2.0.0": url: "https://github.com/victimsnino/ReactivePlusPlus/archive/v2.0.0.tar.gz" sha256: "8950fe579aea23be1a6affd4ec8845c78016454aaf875dbae6a52d10eeb6df02" diff --git a/recipes/reactiveplusplus/config.yml b/recipes/reactiveplusplus/config.yml index feccf8f451435..f409d3e717279 100644 --- a/recipes/reactiveplusplus/config.yml +++ b/recipes/reactiveplusplus/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: all "2.0.0": folder: all "0.2.3": From 35a6c3e810d51cbb40c39a3712475239c45bf252 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Apr 2024 23:28:42 +0900 Subject: [PATCH 4053/4087] (#23314) 7bitdi: add version 3.0.0 --- recipes/7bitdi/all/conandata.yml | 3 +++ recipes/7bitdi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/7bitdi/all/conandata.yml b/recipes/7bitdi/all/conandata.yml index 22d7e84c10e0a..0385266be5999 100644 --- a/recipes/7bitdi/all/conandata.yml +++ b/recipes/7bitdi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v3.0.0.tar.gz" + sha256: "aabb8e907c0cafb8e4b7c8367ed5dbb3cba2d83af090bdef9a7f855c0778c8f3" "2.1.0": url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v2.1.0.tar.gz" sha256: "54edceb4f90bf652126310ca0b78150d05a02d7081cef3c9ccaba5f4dd112935" diff --git a/recipes/7bitdi/config.yml b/recipes/7bitdi/config.yml index 4a1d176d1dc7e..b196dff512285 100644 --- a/recipes/7bitdi/config.yml +++ b/recipes/7bitdi/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: all "2.1.0": folder: all "2.0.0": From 5f288db7e9f49f635cc7f15686f374d1ab9706d0 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Apr 2024 23:48:42 +0900 Subject: [PATCH 4054/4087] (#23316) c-ares: add version 1.28.1 * c-ares: add version 1.28.0 * update 1.28.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 3833dbb894ff0..3a07eb4a811b8 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.28.1": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_28_1/c-ares-1.28.1.tar.gz" + sha256: "675a69fc54ddbf42e6830bc671eeb6cd89eeca43828eb413243fd2c0a760809d" "1.27.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_27_0/c-ares-1.27.0.tar.gz" sha256: "0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 75dbe67cad1ac..78e892e1326a4 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.28.1": + folder: all "1.27.0": folder: all "1.26.0": From 9a896541ba68e4c9d6e8c4b608c469917187eb82 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 00:30:15 +0900 Subject: [PATCH 4055/4087] (#23317) libnghttp2: add version 1.60.0, disable tests and examples build * libnghttp2: add version 1.60.0, disable tests and examples build * support MSVC shared build --- recipes/libnghttp2/all/conandata.yml | 3 +++ recipes/libnghttp2/all/conanfile.py | 15 ++++++++++++--- recipes/libnghttp2/config.yml | 2 ++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml index 66dd4333f96a2..9cb62065c5e94 100644 --- a/recipes/libnghttp2/all/conandata.yml +++ b/recipes/libnghttp2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.60.0": + url: "https://github.com/nghttp2/nghttp2/archive/v1.60.0.tar.gz" + sha256: "3cc9403c64e0a133868f62132ff0884cd5dc567eee5bd7b2d03ac81293695d6b" "1.59.0": url: "https://github.com/nghttp2/nghttp2/archive/v1.59.0.tar.gz" sha256: "0dd5c980f1262ff5f03676fd99f46f250b66c842f7d864fa1ca9f8453e5f8868" diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index 7e54ec938b2f3..8fa456dd4d783 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -83,8 +83,11 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["ENABLE_SHARED_LIB"] = self.options.shared - tc.variables["ENABLE_STATIC_LIB"] = not self.options.shared + if Version(self.version) < "1.60.0": + tc.variables["ENABLE_SHARED_LIB"] = self.options.shared + tc.variables["ENABLE_STATIC_LIB"] = not self.options.shared + else: + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared tc.variables["ENABLE_HPACK_TOOLS"] = self.options.with_hpack tc.variables["ENABLE_APP"] = self.options.with_app tc.variables["ENABLE_EXAMPLES"] = False @@ -96,6 +99,9 @@ def generate(self): tc.variables["WITH_JEMALLOC"] = self.options.get_safe("with_jemalloc", False) if Version(self.version) < "1.52.0": tc.variables["ENABLE_ASIO_LIB"] = self.options.with_asio + # To avoid overwriting dll import lib by static lib + if Version(self.version) >= "1.60.0" and self.options.shared: + tc.variables["STATIC_LIB_SUFFIX"] = "-static" if is_apple_os(self): # workaround for: install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable tc.cache_variables["CMAKE_MACOSX_BUNDLE"] = False @@ -107,7 +113,7 @@ def generate(self): tc.generate() def _patch_sources(self): - if not self.options.shared: + if not self.options.shared and Version(self.version) < "1.60.0": # easier to patch here rather than have patch 'nghttp_static_include_directories' for each version save(self, os.path.join(self.source_folder, "lib", "CMakeLists.txt"), "target_include_directories(nghttp2_static INTERFACE\n" @@ -135,6 +141,8 @@ def _patch_sources(self): "\n" " target_link_libraries(nghttp2_asio\n" f" {target_libnghttp2}\n") + 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"), "add_subdirectory(tests)", "") def build(self): self._patch_sources() @@ -148,6 +156,7 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.components["nghttp2"].set_property("pkg_config_name", "libnghttp2") diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml index 3479f13f33830..f0fc4100dde67 100644 --- a/recipes/libnghttp2/config.yml +++ b/recipes/libnghttp2/config.yml @@ -1,4 +1,6 @@ versions: + "1.60.0": + folder: all "1.59.0": folder: all "1.58.0": From bf218943a89843ef3256b4da015de391b697f959 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 01:07:00 +0900 Subject: [PATCH 4056/4087] (#22941) wiringpi: add version 3.2 * wiringpi: add version 3.0 * check gcc version for 3.0 * update 3.1 * disable support gcc 11 debug build * update 3.2 * require linux_headers * include linux-headers * add comment for validation Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/wiringpi/all/CMakeLists.txt | 4 +++ recipes/wiringpi/all/conandata.yml | 3 ++ recipes/wiringpi/all/conanfile.py | 53 ++++++++++++++++++++--------- recipes/wiringpi/config.yml | 2 ++ 4 files changed, 46 insertions(+), 16 deletions(-) diff --git a/recipes/wiringpi/all/CMakeLists.txt b/recipes/wiringpi/all/CMakeLists.txt index fdd0b1aff610c..6d527ad7fbe95 100644 --- a/recipes/wiringpi/all/CMakeLists.txt +++ b/recipes/wiringpi/all/CMakeLists.txt @@ -20,6 +20,10 @@ if(WIRINGPI_WITH_DEV_LIB) ${WIRINGPI_SRC_DIR}/wiringPi) endif() +if(WIRINGPI_LINUX_HEADERS_DIR) + target_include_directories(${PROJECT_NAME} PUBLIC ${WIRINGPI_LINUX_HEADERS_DIR}) +endif() + install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib diff --git a/recipes/wiringpi/all/conandata.yml b/recipes/wiringpi/all/conandata.yml index 676b9c65bf9fe..307e8283601a9 100644 --- a/recipes/wiringpi/all/conandata.yml +++ b/recipes/wiringpi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2": + url: "https://github.com/WiringPi/WiringPi/archive/refs/tags/3.2.tar.gz" + sha256: "45aeaf52d86631edb7a5c82a4f6d0050ef10c8b4de6c566cd8017fc52a17b68e" "2.61-1": url: "https://github.com/WiringPi/WiringPi/archive/refs/tags/2.61-1.tar.gz" sha256: "b5dc6c6c2ba1349acf602fafd7b58aa81e3fc3216a33b983386264cca0033e12" diff --git a/recipes/wiringpi/all/conanfile.py b/recipes/wiringpi/all/conanfile.py index b1ff871a8a06d..ec52053dc1d9c 100644 --- a/recipes/wiringpi/all/conanfile.py +++ b/recipes/wiringpi/all/conanfile.py @@ -3,26 +3,32 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import get, copy +from conan.tools.scm import Version required_conan_version = ">=1.53.0" class WiringpiConan(ConanFile): name = "wiringpi" - license = "LGPL-3.0" description = "GPIO Interface library for the Raspberry Pi" + license = "LGPL-3.0" + url = "https://github.com/conan-io/conan-center-index" homepage = "http://wiringpi.com" topics = ("wiringpi", "gpio", "raspberrypi") - url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" - options = {"shared": [True, False], - "fPIC": [True, False], - "wpi_extensions": [True, False], - "with_devlib": [True, False]} - default_options = {"shared": False, - "fPIC": True, - "wpi_extensions": False, - "with_devlib": True} - + settings = "os", "arch", "compiler", "build_type" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + "wpi_extensions": [True, False], + "with_devlib": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "wpi_extensions": False, + "with_devlib": True, + } + def export_sources(self): copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) @@ -32,21 +38,36 @@ 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 requirements(self): + if Version(self.version) >= "3.2": + self.requires("linux-headers-generic/6.5.9", transitive_headers=True) + def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration(f"{self.ref} only works for Linux") - - def layout(self): - cmake_layout(self, src_folder="src") + if Version(self.version) >= 3.0: + if self.settings.compiler == "gcc" and \ + Version(self.settings.compiler.version) < 8: + raise ConanInvalidConfiguration(f"{self.ref} requires gcc >= 8") + # wiringPi.c:1755:9: error: case label does not reduce to an integer constant + if self.settings.compiler == "gcc" and \ + Version(self.settings.compiler.version).major == 11 and \ + self.settings.build_type == "Debug": + raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc 11 in Debug build") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - + def generate(self): tc = CMakeToolchain(self) tc.variables["WIRINGPI_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.variables["WIRINGPI_WITH_WPI_EXTENSIONS"] = self.options.wpi_extensions tc.variables["WIRINGPI_WITH_DEV_LIB"] = self.options.with_devlib + if Version(self.version) >= "3.2": + tc.variables["WIRINGPI_LINUX_HEADERS_DIR"] = self.dependencies["linux-headers-generic"].cpp_info.includedirs[0] tc.generate() def build(self): diff --git a/recipes/wiringpi/config.yml b/recipes/wiringpi/config.yml index b0d56a22c2e0d..09456181564b6 100644 --- a/recipes/wiringpi/config.yml +++ b/recipes/wiringpi/config.yml @@ -1,4 +1,6 @@ versions: + "3.2": + folder: "all" "2.61-1": folder: "all" "cci.20210727": From 88f283093301742d8b4e7b1296d469b3fbb249e3 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 01:51:12 +0900 Subject: [PATCH 4057/4087] (#23215) octomap: add version 1.10.0 * octomap: add version 1.10.0 * enable C++11 on 1.10.0 and later * use cppstd in settings Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/octomap/all/conandata.yml | 7 + recipes/octomap/all/conanfile.py | 11 +- ....0-0001-separate-static-shared-build.patch | 120 ++++++++++++++++++ .../octomap/all/test_package/CMakeLists.txt | 4 + recipes/octomap/config.yml | 2 + 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 recipes/octomap/all/patches/1.10.0-0001-separate-static-shared-build.patch diff --git a/recipes/octomap/all/conandata.yml b/recipes/octomap/all/conandata.yml index 4699a071746f8..24483c3d1fc42 100644 --- a/recipes/octomap/all/conandata.yml +++ b/recipes/octomap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.0": + url: "https://github.com/OctoMap/octomap/archive/v1.10.0.tar.gz" + sha256: "8da2576ec6a0993e8900db7f91083be8682d8397a7be0752c85d1b7dd1b8e992" "1.9.8": url: "https://github.com/OctoMap/octomap/archive/v1.9.8.tar.gz" sha256: "417af6da4e855e9a83b93458aa98b01a2c88f880088baad2b59d323ce162586e" @@ -15,6 +18,10 @@ sources: url: "https://github.com/OctoMap/octomap/archive/v1.9.3.tar.gz" sha256: "8488de97ed2c8f4757bfbaf3225e82a9e36783dce1f573b3bde1cf968aa89696" patches: + "1.10.0": + - patch_file: "patches/1.10.0-0001-separate-static-shared-build.patch" + patch_description: "CMake: build either shared or static" + patch_type: "conan" "1.9.8": - patch_file: "patches/1.9.5-0001-targets-outputname-collision.patch" patch_description: "CMake: build either shared or static, and avoid name collision" diff --git a/recipes/octomap/all/conanfile.py b/recipes/octomap/all/conanfile.py index 52d010aca9b55..ced4e906103b0 100644 --- a/recipes/octomap/all/conanfile.py +++ b/recipes/octomap/all/conanfile.py @@ -4,12 +4,12 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd import os import textwrap required_conan_version = ">=1.53.0" - class OctomapConan(ConanFile): name = "octomap" description = "An Efficient Probabilistic 3D Mapping Framework Based on Octrees." @@ -31,6 +31,10 @@ class OctomapConan(ConanFile): "openmp": False, } + @property + def _min_cppstd(self): + return 11 + def export_sources(self): export_conandata_patches(self) @@ -49,6 +53,9 @@ def validate(self): if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("shared octomap doesn't support MT runtime") + if Version(self.version) >= "1.10.0" and self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -58,6 +65,8 @@ def generate(self): tc.variables["BUILD_TESTING"] = False if is_msvc(self) and self.options.shared: tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + if Version(self.version) >= "1.10.0": + tc.variables["CMAKE_CXX_STANDARD"] = self.settings.compiler.get_safe("cppstd", "11").replace("gnu", "") tc.generate() def _patch_sources(self): diff --git a/recipes/octomap/all/patches/1.10.0-0001-separate-static-shared-build.patch b/recipes/octomap/all/patches/1.10.0-0001-separate-static-shared-build.patch new file mode 100644 index 0000000000000..bf38e33037d86 --- /dev/null +++ b/recipes/octomap/all/patches/1.10.0-0001-separate-static-shared-build.patch @@ -0,0 +1,120 @@ +diff --git a/octomap/src/CMakeLists.txt b/octomap/src/CMakeLists.txt +index 45b384f..e870608 100644 +--- a/octomap/src/CMakeLists.txt ++++ b/octomap/src/CMakeLists.txt +@@ -11,24 +11,32 @@ SET (octomap_SRCS + ) + + # dynamic and static libs, see CMake FAQ: ++if(BUILD_SHARED_LIBS) + ADD_LIBRARY( octomap SHARED ${octomap_SRCS}) + set_target_properties( octomap PROPERTIES + VERSION ${OCTOMAP_VERSION} + SOVERSION ${OCTOMAP_SOVERSION} + ) ++TARGET_LINK_LIBRARIES(octomap octomath) ++else() + ADD_LIBRARY( octomap-static STATIC ${octomap_SRCS}) + SET_TARGET_PROPERTIES(octomap-static PROPERTIES OUTPUT_NAME "octomap") + add_dependencies(octomap-static octomath-static) +- +-TARGET_LINK_LIBRARIES(octomap octomath) ++TARGET_LINK_LIBRARIES(octomap-static octomath-static) ++endif() + + if(NOT EXISTS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + file(MAKE_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + endif() + +-export(TARGETS octomap octomap-static ++if(BUILD_SHARED_LIBS) ++export(TARGETS octomap + APPEND FILE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octomap-targets.cmake") +- ++else() ++export(TARGETS octomap-static ++ APPEND FILE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octomap-targets.cmake") ++endif() ++if(0) + ADD_SUBDIRECTORY( testing ) + + ADD_EXECUTABLE(graph2tree graph2tree.cpp) +@@ -66,14 +74,22 @@ TARGET_LINK_LIBRARIES(intersection_example octomap) + + ADD_EXECUTABLE(octree2pointcloud octree2pointcloud.cpp) + TARGET_LINK_LIBRARIES(octree2pointcloud octomap) +- +-install(TARGETS octomap octomap-static ++endif() ++if(BUILD_SHARED_LIBS) ++install(TARGETS octomap + EXPORT octomap-targets + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ${INSTALL_TARGETS_DEFAULT_ARGS} + ) ++else() ++install(TARGETS octomap-static ++ EXPORT octomap-targets ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++ ${INSTALL_TARGETS_DEFAULT_ARGS} ++) ++endif() + install(EXPORT octomap-targets DESTINATION "${CMAKE_INSTALL_DATADIR}/octomap") +- ++if(0) + install(TARGETS + graph2tree + log2graph +@@ -85,4 +101,4 @@ install(TARGETS + compare_octrees + ${INSTALL_TARGETS_DEFAULT_ARGS} + ) +- ++endif() +diff --git a/octomap/src/math/CMakeLists.txt b/octomap/src/math/CMakeLists.txt +index 3b47ec4..596f7d8 100644 +--- a/octomap/src/math/CMakeLists.txt ++++ b/octomap/src/math/CMakeLists.txt +@@ -4,26 +4,37 @@ SET (octomath_SRCS + Pose6D.cpp + ) + +- ++if(BUILD_SHARED_LIBS) + ADD_LIBRARY( octomath SHARED ${octomath_SRCS}) + + SET_TARGET_PROPERTIES( octomath PROPERTIES + VERSION ${OCTOMAP_VERSION} + SOVERSION ${OCTOMAP_SOVERSION} + ) +- ++else() + ADD_LIBRARY( octomath-static STATIC ${octomath_SRCS}) + SET_TARGET_PROPERTIES(octomath-static PROPERTIES OUTPUT_NAME "octomath") +- ++endif() + if(NOT EXISTS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + file(MAKE_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + endif() + +-export(TARGETS octomath octomath-static ++if(BUILD_SHARED_LIBS) ++export(TARGETS octomath + APPEND FILE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octomap-targets.cmake") + +-install(TARGETS octomath octomath-static ++install(TARGETS octomath + EXPORT octomap-targets + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ${INSTALL_TARGETS_DEFAULT_ARGS} + ) ++else() ++export(TARGETS octomath-static ++ APPEND FILE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octomap-targets.cmake") ++ ++install(TARGETS octomath-static ++ EXPORT octomap-targets ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++ ${INSTALL_TARGETS_DEFAULT_ARGS} ++) ++endif() diff --git a/recipes/octomap/all/test_package/CMakeLists.txt b/recipes/octomap/all/test_package/CMakeLists.txt index bb595de7484c4..4ec2de09236c3 100644 --- a/recipes/octomap/all/test_package/CMakeLists.txt +++ b/recipes/octomap/all/test_package/CMakeLists.txt @@ -9,3 +9,7 @@ if(TARGET octomap-static) else() target_link_libraries(${PROJECT_NAME} PRIVATE octomap octomath) endif() + +if(octomap_VERSION VERSION_GREATER_EQUAL "1.10.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/octomap/config.yml b/recipes/octomap/config.yml index 7b6ae3353a6fd..83dd314d86186 100644 --- a/recipes/octomap/config.yml +++ b/recipes/octomap/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.0": + folder: all "1.9.8": folder: all "1.9.7": From ddbeacd43fede68625601422ea221dbdcde6819d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 02:28:25 +0900 Subject: [PATCH 4058/4087] (#23226) libgd: support avif and heif * libgd: support avif and heif * simply patch files * remove unused patches * Update recipes/libgd/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Carlos Zoido Co-authored-by: Martin Valgur --- recipes/libgd/all/conandata.yml | 9 -- recipes/libgd/all/conanfile.py | 19 ++++- recipes/libgd/all/patches/2.2.5-use-cci.patch | 63 -------------- recipes/libgd/all/patches/2.3.0-use-cci.patch | 63 -------------- recipes/libgd/all/patches/2.3.1-use-cci.patch | 72 ---------------- recipes/libgd/all/patches/2.3.2-use-cci.patch | 82 +++++------------- recipes/libgd/all/patches/2.3.3-use-cci.patch | 85 +++++-------------- 7 files changed, 57 insertions(+), 336 deletions(-) delete mode 100644 recipes/libgd/all/patches/2.2.5-use-cci.patch delete mode 100644 recipes/libgd/all/patches/2.3.0-use-cci.patch delete mode 100644 recipes/libgd/all/patches/2.3.1-use-cci.patch diff --git a/recipes/libgd/all/conandata.yml b/recipes/libgd/all/conandata.yml index 235cf46164b0a..1c4db40fa14b0 100644 --- a/recipes/libgd/all/conandata.yml +++ b/recipes/libgd/all/conandata.yml @@ -48,9 +48,6 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" - - patch_file: "patches/2.3.1-use-cci.patch" - patch_description: "use cci's package" - patch_type: "conan" "2.3.0": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -61,9 +58,6 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "conan" - - patch_file: "patches/2.3.0-use-cci.patch" - patch_description: "use cci's package" - patch_type: "conan" "2.2.5": - patch_file: "patches/2.2.5-msvc-static-lib.patch" patch_description: "support static build on msvc" @@ -71,6 +65,3 @@ patches: - patch_file: "patches/2.2.5-qualify-nondll.patch" patch_description: "use BGD_NONDLL instead NONDLL" patch_type: "conan" - - patch_file: "patches/2.2.5-use-cci.patch" - patch_description: "use cci's package" - patch_type: "conan" diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 0c18187731da2..ffc0a4e68966c 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -26,6 +26,8 @@ class LibgdConan(ConanFile): "with_freetype": [True, False], "with_xpm": [True, False], "with_webp": [True, False], + "with_heif": [True, False], + "with_avif": [True, False], } default_options = { "shared": False, @@ -36,6 +38,8 @@ class LibgdConan(ConanFile): "with_freetype": False, "with_xpm": False, "with_webp": False, + "with_heif": False, + "with_avif": False, } def export_sources(self): @@ -44,6 +48,9 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "2.3.2": + del self.options.with_heif + del self.options.with_avif def configure(self): if self.options.shared: @@ -70,6 +77,10 @@ def requirements(self): self.requires("libxpm/3.5.13") if self.options.with_webp: self.requires("libwebp/1.3.2") + if self.options.get_safe("with_heif"): + self.requires("libheif/1.16.2") + if self.options.get_safe("with_avif"): + self.requires("libavif/1.0.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,14 +101,18 @@ def generate(self): tc.variables["ENABLE_FONTCONFIG"] = False tc.variables["ENABLE_WEBP"] = self.options.with_webp if Version(self.version) >= "2.3.2": - tc.variables["ENABLE_HEIF"] = False - tc.variables["ENABLE_AVIF"] = False + tc.variables["ENABLE_HEIF"] = self.options.get_safe("with_heif", False) + tc.variables["ENABLE_AVIF"] = self.options.get_safe("with_avif", False) if Version(self.version) >= "2.3.0": tc.variables["ENABLE_RAQM"] = False tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() deps = CMakeDeps(self) + deps.set_property("libheif", "cmake_file_name", "HEIF") + deps.set_property("webp", "cmake_file_name", "WEBP") + deps.set_property("libxpm", "cmake_file_name", "XPM") + deps.set_property("freetype", "cmake_file_name", "FREETYPE") deps.generate() def _patch(self): diff --git a/recipes/libgd/all/patches/2.2.5-use-cci.patch b/recipes/libgd/all/patches/2.2.5-use-cci.patch deleted file mode 100644 index 63805346e86b3..0000000000000 --- a/recipes/libgd/all/patches/2.2.5-use-cci.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8c99816..63775fd 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -97,7 +97,7 @@ else (USE_EXT_GD) - FIND_PACKAGE(ZLIB) - - IF (ENABLE_WEBP) -- FIND_PACKAGE(WEBP) -+ FIND_PACKAGE(WebP) - ENDIF (ENABLE_WEBP) - - IF (ENABLE_LIQ) -@@ -121,7 +121,7 @@ else (USE_EXT_GD) - endif (ENABLE_FREETYPE) - - if (ENABLE_XPM) -- FIND_PACKAGE(XPM) -+ FIND_PACKAGE(libxpm) - endif (ENABLE_XPM) - - if (ENABLE_FONTCONFIG) -@@ -140,7 +140,7 @@ else (USE_EXT_GD) - ENDIF(ZLIB_FOUND) - - IF(WEBP_FOUND) -- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) - SET(HAVE_LIBWEBP 1) - ENDIF(WEBP_FOUND) - -@@ -161,7 +161,7 @@ else (USE_EXT_GD) - ENDIF(LIQ_FOUND) - - IF(XPM_FOUND) -- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) - SET(HAVE_LIBXPM 1) - ENDIF(XPM_FOUND) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5b764eb..11d3a46 100755 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -110,15 +110,15 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S - - SET(LIBGD_DEP_LIBS - ${ZLIB_LIBRARIES} -- ${FREETYPE_LIBRARIES} -+ ${freetype_LIBRARIES} - ${PNG_LIBRARIES} - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARIES} -- ${XPM_LIBRARIES} -+ ${libxpm_LIBRARIES} - ${FONTCONFIG_LIBRARY} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ) - if (BUILD_SHARED_LIBS) - target_link_libraries(${GD_LIB} ${LIBGD_DEP_LIBS}) diff --git a/recipes/libgd/all/patches/2.3.0-use-cci.patch b/recipes/libgd/all/patches/2.3.0-use-cci.patch deleted file mode 100644 index 6083253b1e3db..0000000000000 --- a/recipes/libgd/all/patches/2.3.0-use-cci.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fc76868..f503436 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -113,7 +113,7 @@ else (USE_EXT_GD) - FIND_PACKAGE(ZLIB) - - IF (ENABLE_WEBP) -- FIND_PACKAGE(WEBP) -+ FIND_PACKAGE(WebP) - ENDIF (ENABLE_WEBP) - - IF (ENABLE_LIQ) -@@ -137,7 +137,7 @@ else (USE_EXT_GD) - endif (ENABLE_FREETYPE) - - if (ENABLE_XPM) -- FIND_PACKAGE(XPM) -+ FIND_PACKAGE(libxpm) - endif (ENABLE_XPM) - - if (ENABLE_FONTCONFIG) -@@ -162,7 +162,7 @@ else (USE_EXT_GD) - ENDIF(ZLIB_FOUND) - - IF(WEBP_FOUND) -- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) - SET(HAVE_LIBWEBP 1) - ENDIF(WEBP_FOUND) - -@@ -183,7 +183,7 @@ else (USE_EXT_GD) - ENDIF(LIQ_FOUND) - - IF(XPM_FOUND) -- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) - SET(HAVE_LIBXPM 1) - ENDIF(XPM_FOUND) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 98b9e64..0d676ba 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -125,14 +125,14 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S - - SET(LIBGD_DEP_LIBS - ${ZLIB_LIBRARIES} -- ${FREETYPE_LIBRARIES} -+ ${freetype_LIBRARIES} - ${PNG_LIBRARIES} - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARIES} -- ${XPM_LIBRARIES} -+ ${libxpm_LIBRARIES} - ${FONTCONFIG_LIBRARY} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ${RAQM_LIBRARIES} - ) - if (BUILD_SHARED_LIBS) diff --git a/recipes/libgd/all/patches/2.3.1-use-cci.patch b/recipes/libgd/all/patches/2.3.1-use-cci.patch deleted file mode 100644 index 540439b9bf43a..0000000000000 --- a/recipes/libgd/all/patches/2.3.1-use-cci.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bf7836f..c4995b0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -116,7 +116,7 @@ else (USE_EXT_GD) - endif (ENABLE_ICONV) - - IF (ENABLE_WEBP) -- FIND_PACKAGE(WEBP REQUIRED) -+ FIND_PACKAGE(WebP REQUIRED) - ENDIF (ENABLE_WEBP) - - IF (ENABLE_LIQ) -@@ -140,7 +140,7 @@ else (USE_EXT_GD) - endif (ENABLE_FREETYPE) - - if (ENABLE_XPM) -- FIND_PACKAGE(XPM REQUIRED) -+ FIND_PACKAGE(libxpm REQUIRED) - endif (ENABLE_XPM) - - if (ENABLE_FONTCONFIG) -@@ -167,7 +167,7 @@ else (USE_EXT_GD) - ENDIF(ZLIB_FOUND) - - IF(WEBP_FOUND) -- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) - SET(HAVE_LIBWEBP 1) - ENDIF(WEBP_FOUND) - -@@ -189,7 +189,7 @@ else (USE_EXT_GD) - ENDIF(LIQ_FOUND) - - IF(XPM_FOUND) -- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) - SET(HAVE_LIBXPM 1) - LIST(APPEND PKG_REQUIRES_PRIVATES xpm) - ENDIF(XPM_FOUND) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e1f8eda..47b1ee8 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -125,15 +125,15 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S - - SET(LIBGD_DEP_LIBS - ${ZLIB_LIBRARIES} -- ${FREETYPE_LIBRARIES} -+ ${freetype_LIBRARIES} - ${PNG_LIBRARIES} - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARIES} -- ${XPM_LIBRARIES} -+ ${libxpm_LIBRARIES} - ${FONTCONFIG_LIBRARY} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ${RAQM_LIBRARIES} - ) - if (BUILD_SHARED_LIBS) -@@ -146,7 +146,7 @@ endif() - SET(LIBS_PRIVATES - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ) - - set(GD_PROGRAMS gdcmpgif) diff --git a/recipes/libgd/all/patches/2.3.2-use-cci.patch b/recipes/libgd/all/patches/2.3.2-use-cci.patch index 758709ea2bdc7..57724df5d1cec 100644 --- a/recipes/libgd/all/patches/2.3.2-use-cci.patch +++ b/recipes/libgd/all/patches/2.3.2-use-cci.patch @@ -1,69 +1,27 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 57cd95d..11a8409 100644 +index 57cd95d..f7640c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -118,7 +118,7 @@ else (USE_EXT_GD) - endif (ENABLE_ICONV) - - IF (ENABLE_WEBP) -- FIND_PACKAGE(WEBP REQUIRED) -+ FIND_PACKAGE(WebP REQUIRED) - ENDIF (ENABLE_WEBP) - - IF (ENABLE_HEIF) -@@ -153,7 +153,7 @@ else (USE_EXT_GD) - endif (ENABLE_FREETYPE) - - if (ENABLE_XPM) -- FIND_PACKAGE(XPM REQUIRED) -+ FIND_PACKAGE(libxpm REQUIRED) - endif (ENABLE_XPM) - - if (ENABLE_FONTCONFIG) -@@ -180,7 +180,7 @@ else (USE_EXT_GD) - ENDIF(ZLIB_FOUND) - - IF(WEBP_FOUND) -- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) - SET(HAVE_LIBWEBP 1) - ENDIF(WEBP_FOUND) - -@@ -207,7 +207,7 @@ else (USE_EXT_GD) - ENDIF(LIQ_FOUND) - - IF(XPM_FOUND) -- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) - SET(HAVE_LIBXPM 1) +@@ -126,7 +126,7 @@ else (USE_EXT_GD) + ENDIF (ENABLE_HEIF) + + IF (ENABLE_AVIF) +- FIND_PACKAGE(libavif 0.8.2 REQUIRED CONFIG) ++ FIND_PACKAGE(libavif REQUIRED CONFIG) + SET(HAVE_LIBAVIF 1) + SET(AVIF_LIBRARIES avif) + SET(AVIF_FOUND 1) +@@ -212,11 +212,11 @@ else (USE_EXT_GD) LIST(APPEND PKG_REQUIRES_PRIVATES xpm) ENDIF(XPM_FOUND) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1d1be42..2843193 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -122,13 +122,13 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S - SET(LIBGD_DEP_LIBS - ${ZLIB_LIBRARIES} -- ${FREETYPE_LIBRARIES} -+ ${freetype_LIBRARIES} - ${PNG_LIBRARIES} - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARIES} -- ${XPM_LIBRARIES} -+ ${libxpm_LIBRARIES} - ${FONTCONFIG_LIBRARY} - ${WEBP_LIBRARIES} - ${AVIF_LIBRARIES} -@@ -145,7 +145,7 @@ endif() - SET(LIBS_PRIVATES - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ) +- IF(JPEG_FOUND) ++ IF(ENABLE_JPEG AND JPEG_FOUND) + INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) + SET(HAVE_LIBJPEG 1) + LIST(APPEND PKG_REQUIRES_PRIVATES libjpeg) +- ENDIF(JPEG_FOUND) ++ ENDIF() - set(GD_PROGRAMS gdcmpgif) + IF(TIFF_FOUND) + INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) diff --git a/recipes/libgd/all/patches/2.3.3-use-cci.patch b/recipes/libgd/all/patches/2.3.3-use-cci.patch index fb8b637380621..561c4e9f127a0 100644 --- a/recipes/libgd/all/patches/2.3.3-use-cci.patch +++ b/recipes/libgd/all/patches/2.3.3-use-cci.patch @@ -1,72 +1,27 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6b3e5b3..2536fc6 100644 +index 6b3e5b3..2b71c74 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -134,7 +134,7 @@ else (USE_EXT_GD) - endif (ENABLE_ICONV) - - IF (ENABLE_WEBP) -- FIND_PACKAGE(WEBP REQUIRED) -+ FIND_PACKAGE(WebP REQUIRED) - ENDIF (ENABLE_WEBP) - - IF (ENABLE_HEIF) -@@ -169,7 +169,7 @@ else (USE_EXT_GD) - endif (ENABLE_FREETYPE) - - if (ENABLE_XPM) -- FIND_PACKAGE(XPM REQUIRED) -+ FIND_PACKAGE(libxpm REQUIRED) - endif (ENABLE_XPM) - - if (ENABLE_FONTCONFIG) -@@ -196,7 +196,7 @@ else (USE_EXT_GD) - ENDIF(ZLIB_FOUND) - - IF(WEBP_FOUND) -- INCLUDE_DIRECTORIES(${WEBP_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${WebP_INCLUDE_DIR}) - SET(HAVE_LIBWEBP 1) - ENDIF(WEBP_FOUND) - -@@ -223,7 +223,7 @@ else (USE_EXT_GD) - ENDIF(LIQ_FOUND) - - IF(XPM_FOUND) -- INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) -+ INCLUDE_DIRECTORIES(${libxpm_INCLUDE_DIR}) - SET(HAVE_LIBXPM 1) +@@ -142,7 +142,7 @@ else (USE_EXT_GD) + ENDIF (ENABLE_HEIF) + + IF (ENABLE_AVIF) +- FIND_PACKAGE(libavif 0.8.2 REQUIRED CONFIG) ++ FIND_PACKAGE(libavif REQUIRED CONFIG) + SET(HAVE_LIBAVIF 1) + SET(AVIF_LIBRARIES avif) + SET(AVIF_FOUND 1) +@@ -228,11 +228,11 @@ else (USE_EXT_GD) LIST(APPEND PKG_REQUIRES_PRIVATES xpm) ENDIF(XPM_FOUND) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3b271a8..55a8095 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -102,15 +102,15 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S - SET(LIBGD_DEP_LIBS - ${ZLIB_LIBRARIES} -- ${FREETYPE_LIBRARIES} -+ ${freetype_LIBRARIES} - ${PNG_LIBRARIES} - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARIES} -- ${XPM_LIBRARIES} -+ ${libxpm_LIBRARIES} - ${FONTCONFIG_LIBRARY} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ${AVIF_LIBRARIES} - ${RAQM_LIBRARIES} - ${HEIF_LIBRARIES} -@@ -125,7 +125,7 @@ endif() - SET(LIBS_PRIVATES - ${ICONV_LIBRARIES} - ${LIQ_LIBRARIES} -- ${WEBP_LIBRARIES} -+ ${WebP_LIBRARIES} - ) +- IF(JPEG_FOUND) ++ IF(ENABLE_JPEG AND JPEG_FOUND) + INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) + SET(HAVE_LIBJPEG 1) + LIST(APPEND PKG_REQUIRES_PRIVATES libjpeg) +- ENDIF(JPEG_FOUND) ++ ENDIF() - set(GD_PROGRAMS gdcmpgif) + IF(TIFF_FOUND) + INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) From 6edbc7ccdce5c4c476b10751d96c63936295e170 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 1 Apr 2024 21:07:41 +0300 Subject: [PATCH 4059/4087] (#23216) libcvd: new recipe * libcvd: new recipe * libcvd: OpenGL is required on Windows * libcvd: tidy conandata.yml * libcvd: fix Windows build * libcvd: add ws2_32 system dep * libcvd: use libglvnd * libcvd: bump to v2.5.1 --- recipes/libcvd/all/conandata.yml | 4 + recipes/libcvd/all/conanfile.py | 177 ++++++++++++++++++ .../libcvd/all/test_package/CMakeLists.txt | 9 + recipes/libcvd/all/test_package/conanfile.py | 26 +++ .../libcvd/all/test_package/test_package.cpp | 85 +++++++++ recipes/libcvd/config.yml | 3 + 6 files changed, 304 insertions(+) create mode 100644 recipes/libcvd/all/conandata.yml create mode 100644 recipes/libcvd/all/conanfile.py create mode 100644 recipes/libcvd/all/test_package/CMakeLists.txt create mode 100644 recipes/libcvd/all/test_package/conanfile.py create mode 100644 recipes/libcvd/all/test_package/test_package.cpp create mode 100644 recipes/libcvd/config.yml diff --git a/recipes/libcvd/all/conandata.yml b/recipes/libcvd/all/conandata.yml new file mode 100644 index 0000000000000..8c0de4fe10731 --- /dev/null +++ b/recipes/libcvd/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.5.1": + url: "https://github.com/edrosten/libcvd/archive/refs/tags/RELEASE_2_5_1.tar.gz" + sha256: "c077e426e1bd6e6c7af3b9330ec1496a59789f2d0c529dc18049fc653947dd6e" diff --git a/recipes/libcvd/all/conanfile.py b/recipes/libcvd/all/conanfile.py new file mode 100644 index 0000000000000..a272a22ebfe97 --- /dev/null +++ b/recipes/libcvd/all/conanfile.py @@ -0,0 +1,177 @@ +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, save, rmdir, replace_in_file +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class LibCVDConan(ConanFile): + name = "libcvd" + description = "libCVD - efficient and easy-to-use C++ computer vision library" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/edrosten/libcvd" + topics = ("computer-vision",) + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_libjpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], + "with_libpng": [True, False], + "with_libtiff": [True, False], + "with_ffmpeg": [True, False], + "with_libdc1394": [True, False], + "with_opengl": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_libjpeg": "libjpeg", + "with_libpng": True, + "with_libtiff": True, + # Build without video support by default + "with_ffmpeg": False, + "with_libdc1394": False, + "with_opengl": False, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "5", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + # OpenGL is always used on Windows + del self.options.with_opengl + + 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/edrosten/libcvd/blob/main/cmake/CVDFindAllDeps.cmake + 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 + if self.options.with_libjpeg == "libjpeg-turbo": + 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.5") + if self.options.with_libpng: + self.requires("libpng/[>=1.6 <2]") + if self.options.with_libtiff: + 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) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CVD_ENABLE_TESTS"] = False + tc.variables["CVD_ENABLE_PROGS"] = False + tc.variables["CVD_ENABLE_EXAMPLES"] = False + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_ffmpeg"] = not self.options.with_ffmpeg + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_libdc1394"] = not self.options.with_libdc1394 + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_JPEG"] = not self.options.with_libjpeg + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_PNG"] = not self.options.with_libpng + 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() + + deps = CMakeDeps(self) + deps.set_property("ffmpeg", "cmake_file_name", "CVD_FFMPEG") + deps.set_property("libdc1394", "cmake_file_name", "CVD_dc1394v2") + deps.set_property("toon", "cmake_file_name", "CVD_TooN") + deps.generate() + + def _patch_sources(self): + # Use deps from Conan + save(self, os.path.join(self.source_folder, "cmake", "CVDFindFFMPEG.cmake"), + "find_package(CVD_FFMPEG REQUIRED)\n" if self.options.with_ffmpeg else "") + save(self, os.path.join(self.source_folder, "cmake", "CVDFinddc1394v2.cmake"), + "find_package(CVD_dc1394v2 REQUIRED)\n" if self.options.with_libdc1394 else "") + save(self, os.path.join(self.source_folder, "cmake", "CVDFindTooN.cmake"), + "set(CVD_TooN_FOUND FALSE)\n") + + # For debugging + save(self, os.path.join(self.source_folder, "cmake", "CVDFindAllDeps.cmake"), + '\nmessage(INFO "CVD_DEP_LIBS: ${CVD_DEP_LIBS}")\n', append=True) + + # Install DLL + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)", + "install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin)") + + + 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, "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "CVD") + self.cpp_info.set_property("cmake_target_name", "cvd") + self.cpp_info.set_property("cmake_find_mode", "both") + + postfix = "_debug" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = ["cvd" + postfix] + + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/libcvd/all/test_package/CMakeLists.txt b/recipes/libcvd/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..22605b8561ab7 --- /dev/null +++ b/recipes/libcvd/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(CVD REQUIRED MODULE) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ${CVD_LIBRARIES}) +target_include_directories(${PROJECT_NAME} PRIVATE ${CVD_INCLUDE_DIRS}) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libcvd/all/test_package/conanfile.py b/recipes/libcvd/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/libcvd/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/libcvd/all/test_package/test_package.cpp b/recipes/libcvd/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4e0988c93bbd2 --- /dev/null +++ b/recipes/libcvd/all/test_package/test_package.cpp @@ -0,0 +1,85 @@ +// https://github.com/edrosten/libcvd/blob/RELEASE_2_5_0/examples/distance_transform.cc + +// Copyright (c) 2005--2013, The Authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS'' +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +#include +#include + +#include +#include + +using CVD::byte; +using CVD::euclidean_distance_transform_sq; +using CVD::Image; +using CVD::ImageRef; +using CVD::img_save; +using CVD::Rgb; +using std::max_element; +using std::mt19937; +using std::uniform_int_distribution; + +int main() +{ + //Create a blank image. + Image im(ImageRef(128, 128), 0); + + mt19937 engine; + uniform_int_distribution rand_x(0, im.size().x - 1); + uniform_int_distribution rand_y(0, im.size().y - 1); + + //Scatter down 7 points at random. + for(int i = 1; i < 8; i++) + im[rand_y(engine)][rand_x(engine)] = i; + + Image dt(im.size()); + Image inverse_dt(im.size()); + + //Perform the distance transform + euclidean_distance_transform_sq(im, dt, inverse_dt); + + //Create an output which is the distance transfom of the input, + //but coloured according to which pixel is closest. + int largest_distance = *max_element(dt.begin(), dt.end()); + + Image> out(im.size()); + + for(int y = 0; y < im.size().y; y++) + for(int x = 0; x < im.size().x; x++) + { + int c = floor(sqrt(dt[y][x] * 1.0 / largest_distance) * 255 + .5); + + Rgb r(0, 0, 0); + if(im[inverse_dt[y][x]] & 1) + r.red = c; + if(im[inverse_dt[y][x]] & 2) + r.green = c; + if(im[inverse_dt[y][x]] & 4) + r.blue = c; + + out[y][x] = r; + } + + img_save(out, "distance_transform_result.png"); +} diff --git a/recipes/libcvd/config.yml b/recipes/libcvd/config.yml new file mode 100644 index 0000000000000..eab83a303df52 --- /dev/null +++ b/recipes/libcvd/config.yml @@ -0,0 +1,3 @@ +versions: + "2.5.1": + folder: all From 7f7399d1e028bf35d2aeab581b63de46224da90a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 03:47:43 +0900 Subject: [PATCH 4060/4087] (#23178) z3: add version 4.13.0 --- recipes/z3/all/conandata.yml | 3 +++ recipes/z3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/z3/all/conandata.yml b/recipes/z3/all/conandata.yml index f57877f85f54a..22ef6c0cbb592 100644 --- a/recipes/z3/all/conandata.yml +++ b/recipes/z3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.13.0": + url: "https://github.com/Z3Prover/z3/archive/z3-4.13.0.tar.gz" + sha256: "01bcc61c8362e37bb89fd2430f7e3385e86df7915019bd2ce45de9d9bd934502" "4.12.4": url: "https://github.com/Z3Prover/z3/archive/z3-4.12.4.tar.gz" sha256: "25e9b18d04ee22f1d872dfe0daaf4c39034744525214e34fedd206e25140e96e" diff --git a/recipes/z3/config.yml b/recipes/z3/config.yml index 3fad1114f7caf..3b0214f4790b4 100644 --- a/recipes/z3/config.yml +++ b/recipes/z3/config.yml @@ -1,4 +1,6 @@ versions: + "4.13.0": + folder: "all" "4.12.4": folder: "all" "4.12.2": From 41a7561a40fc2ae1b928869653e16f0159a2d9ff Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 1 Apr 2024 20:21:37 +0100 Subject: [PATCH 4061/4087] (#23331) [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 cb129d27a5d1b..4d1e0b1a6370f 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -209,6 +209,7 @@ required_for_references: - cose-c - cotila - coz +- cpp-channel - cpp-httplib - cpp-ipc - cpp-jwt @@ -632,6 +633,7 @@ required_for_references: - libbacktrace - libbasisu - libbigwig +- libboxes - libbpf - libbsd - libcap @@ -677,6 +679,7 @@ required_for_references: - libfreenect - libfreenect2 - libftdi +- libftp - libfuse - libgcrypt - libgd From 057c6c5fdb23bac89e8c3b05f38cf17d4598db67 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 1 Apr 2024 22:09:34 +0200 Subject: [PATCH 4062/4087] (#23157) runtimeqml: bump qt * runtimeqml: bump qt * fix linter * Update conanfile.py * put theCMakeLists in the right folder * Apply suggestions from code review Co-authored-by: Martin Valgur --------- Co-authored-by: Martin Valgur --- recipes/runtimeqml/all/conanfile.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/recipes/runtimeqml/all/conanfile.py b/recipes/runtimeqml/all/conanfile.py index 8ed18efdf54c9..cae0fb3d308bb 100644 --- a/recipes/runtimeqml/all/conanfile.py +++ b/recipes/runtimeqml/all/conanfile.py @@ -41,8 +41,7 @@ def _compilers_minimum_version(self): } def export_sources(self): - copy(self, "CMakeLists.txt", self.recipe_folder, - self.export_sources_folder) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -50,19 +49,16 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): - cmake_layout(self) + cmake_layout(self, src_folder="src") def requirements(self): if Version(self.version) <= "cci.20211220": - self.requires("qt/5.15.5") + self.requires("qt/5.15.13") else: - self.requires("qt/6.3.1") + self.requires("qt/6.6.2") def validate(self): if self.info.settings.compiler.cppstd: @@ -81,8 +77,7 @@ def validate(self): f"{self.ref} requires option qt:qtdeclarative=True") def source(self): - get(self, **self.conan_data["sources"][str(self.version)], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][str(self.version)], strip_root=True) def generate(self): tc = CMakeToolchain(self) From b62686a4ad7048ecdf91de1b92a3d123f44be2ea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 1 Apr 2024 23:22:58 +0300 Subject: [PATCH 4063/4087] (#19291) ouster_sdk: add a new package * ouster_sdk: add new recipe * ouster_sdk: bump fmt, fix flatbuffers target * ouster_sdk: fix missing zlib dep * ouster_sdk: bump libtins * ouster_sdk: unvendor optional-lite, remove shared/ * ouster_sdk: improve test_package coverage * ouster_sdk: improve option description * ouster_sdk: add flatbuffers as tool_requires * ouster_sdk: disable Windows builds for Conan v1 * ouster_sdk: update zlib dependency * ouster_sdk: bump version * ouster_sdk: bump deps * ouster_sdk: CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * ouster_sdk: bump glfw * ouster_sdk: disable build_pcap by default on Conan v1 * ouster_sdk: bump deps * ouster_sdk: build_osf requires build_pcap * ouster_sdk: fix osf not supporting shared builds * ouster_sdk: backport a bugfix patch --- recipes/ouster_sdk/all/conandata.yml | 11 + recipes/ouster_sdk/all/conanfile.py | 223 ++++++++++++++++++ .../001-579-fix-cpp20-string-error.patch | 25 ++ .../all/test_package/CMakeLists.txt | 8 + .../ouster_sdk/all/test_package/conanfile.py | 36 +++ .../all/test_package/test_package.cpp | 38 +++ recipes/ouster_sdk/config.yml | 3 + 7 files changed, 344 insertions(+) create mode 100644 recipes/ouster_sdk/all/conandata.yml create mode 100644 recipes/ouster_sdk/all/conanfile.py create mode 100644 recipes/ouster_sdk/all/patches/001-579-fix-cpp20-string-error.patch create mode 100644 recipes/ouster_sdk/all/test_package/CMakeLists.txt create mode 100644 recipes/ouster_sdk/all/test_package/conanfile.py create mode 100644 recipes/ouster_sdk/all/test_package/test_package.cpp create mode 100644 recipes/ouster_sdk/config.yml diff --git a/recipes/ouster_sdk/all/conandata.yml b/recipes/ouster_sdk/all/conandata.yml new file mode 100644 index 0000000000000..72736b062686c --- /dev/null +++ b/recipes/ouster_sdk/all/conandata.yml @@ -0,0 +1,11 @@ +sources: + # The C++ library uses a separate versioning scheme from the overall releases + "0.10.0": + url: "https://github.com/ouster-lidar/ouster_example/archive/refs/tags/20231031.tar.gz" + sha256: "150482d28930308ef089233f3d4eb15d1330727a167aad3f9b2190078dcecfbf" +patches: + "0.10.0": + - patch_file: "patches/001-579-fix-cpp20-string-error.patch" + patch_type: "portability" + patch_description: "Fix non-const string issue with C++20" + patch_source: "https://github.com/ouster-lidar/ouster_example/pull/579" diff --git a/recipes/ouster_sdk/all/conanfile.py b/recipes/ouster_sdk/all/conanfile.py new file mode 100644 index 0000000000000..aca955cd49832 --- /dev/null +++ b/recipes/ouster_sdk/all/conanfile.py @@ -0,0 +1,223 @@ +import os + +from conan import ConanFile, conan_version +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import get, copy, rmdir, rm, save, replace_in_file, export_conandata_patches, apply_conandata_patches +from conan.tools.scm import Version + +required_conan_version = ">=1.60.0 <2.0 || >=2.0.6" + +class PackageConan(ConanFile): + name = "ouster_sdk" + description = "Ouster SDK - tools for working with Ouster Lidars" + license = "BSD 3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ouster-lidar/ouster_example" + topics = ("ouster", "lidar", "driver", "hardware", "point cloud", "3d", "robotics", "automotive") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "build_osf": [True, False], + "build_pcap": [True, False], + "build_viz": [True, False], + "eigen_max_align_bytes": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "build_osf": True, + "build_pcap": True, + "build_viz": False, + "eigen_max_align_bytes": False, + } + options_description = { + "build_osf": "Build Ouster OSF library.", + "build_pcap": "Build pcap utils.", + "build_viz": "Build Ouster visualizer.", + "eigen_max_align_bytes": "Force maximum alignment of Eigen data to 32 bytes.", + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "5", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if conan_version.major == 1: + # Turning off by default due to perpetually missing libtins binaries on CCI + self.options.build_pcap = False + self.options.build_osf = False + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # Used in ouster/types.h + self.requires("eigen/3.4.0", transitive_headers=True) + # Used in ouster/sensor_http.h + self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True) + self.requires("spdlog/1.13.0") + self.requires("fmt/10.2.1") + self.requires("libcurl/[>=7.78 <9]") + # Replaces vendored optional-lite + self.requires("optional-lite/3.6.0", transitive_headers=True) + + if self.options.build_pcap: + self.requires("libtins/4.5") + + if self.options.build_osf: + # Used in fb_generated/*.h + self.requires("flatbuffers/24.3.7", transitive_headers=True) + self.requires("libpng/[>=1.6 <2]") + self.requires("zlib/[>=1.2.11 <2]", transitive_libs=True) + + if self.options.build_viz: + self.requires("glad/0.1.36") + self.requires("CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS/3.4") + if self.settings.os != "Windows": + self.requires("xorg/system") + + def validate(self): + if conan_version.major < 2 and self.settings.os == "Windows": + raise ConanInvalidConfiguration("Windows builds require Conan >= 2.0") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + if self.options.build_osf and not self.options.build_pcap: + raise ConanInvalidConfiguration("build_osf=True requires build_pcap=True") + + if self.options.shared and self.settings.os == "Windows": + raise ConanInvalidConfiguration("Shared builds are not supported on Windows") + + def build_requirements(self): + if self.options.build_osf: + self.tool_requires("flatbuffers/") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) + tc.variables["BUILD_VIZ"] = self.options.build_viz + tc.variables["BUILD_PCAP"] = self.options.build_pcap + tc.variables["BUILD_OSF"] = self.options.build_osf + tc.variables["OUSTER_USE_EIGEN_MAX_ALIGN_BYTES_32"] = self.options.eigen_max_align_bytes + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.set_property("flatbuffers", "cmake_target_name", "flatbuffers::flatbuffers") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + + # Unvendor optional-lite + rmdir(self, os.path.join(self.source_folder, "ouster_client", "include", "optional-lite")) + replace_in_file(self, os.path.join(self.source_folder, "ouster_client", "CMakeLists.txt"), + " include/optional-lite", "") + save(self, os.path.join(self.source_folder, "ouster_client", "CMakeLists.txt"), + "find_package(optional-lite REQUIRED)\n" + "target_link_libraries(ouster_client PUBLIC nonstd::optional-lite)\n", + append=True) + + # Allow non-static ouster_osf for consistency with other components + replace_in_file(self, os.path.join(self.source_folder, "ouster_osf", "CMakeLists.txt"), + "add_library(ouster_osf STATIC", "add_library(ouster_osf") + + def build(self): + self._patch_sources() + 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")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "OusterSDK") + self.cpp_info.set_property("cmake_target_name", "OusterSDK::OusterSDK") + + self.cpp_info.components["ouster_client"].set_property("cmake_target_name", "OusterSDK::ouster_client") + self.cpp_info.components["ouster_client"].libs = ["ouster_client"] + self.cpp_info.components["ouster_client"].requires = [ + "eigen::eigen", + "jsoncpp::jsoncpp", + "spdlog::spdlog", + "fmt::fmt", + "libcurl::libcurl", + "optional-lite::optional-lite", + ] + + if self.options.build_osf: + self.cpp_info.components["ouster_osf"].set_property("cmake_target_name", "OusterSDK::ouster_osf") + self.cpp_info.components["ouster_osf"].libs = ["ouster_osf"] + self.cpp_info.components["ouster_osf"].includedirs.append(os.path.join("include", "fb_generated")) + self.cpp_info.components["ouster_osf"].requires = [ + "ouster_client", + "ouster_pcap", + "flatbuffers::flatbuffers", + "libpng::libpng", + "zlib::zlib", + ] + + if self.options.build_pcap: + self.cpp_info.components["ouster_pcap"].set_property("cmake_target_name", "OusterSDK::ouster_pcap") + self.cpp_info.components["ouster_pcap"].libs = ["ouster_pcap"] + self.cpp_info.components["ouster_pcap"].requires = [ + "ouster_client", + "libtins::libtins", + ] + + if self.options.build_viz: + self.cpp_info.components["ouster_viz"].set_property("cmake_target_name", "OusterSDK::ouster_viz") + self.cpp_info.components["ouster_viz"].libs = ["ouster_viz"] + self.cpp_info.components["ouster_viz"].requires = [ + "ouster_client", + "glad::glad", + "glfw::glfw", + ] + if self.settings.os != "Windows": + self.cpp_info.components["ouster_viz"].requires.append("xorg::xorg") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "OusterSDK" + self.cpp_info.filenames["cmake_find_package_multi"] = "OusterSDK" + self.cpp_info.names["cmake_find_package"] = "OusterSDK" + self.cpp_info.names["cmake_find_package_multi"] = "OusterSDK" + diff --git a/recipes/ouster_sdk/all/patches/001-579-fix-cpp20-string-error.patch b/recipes/ouster_sdk/all/patches/001-579-fix-cpp20-string-error.patch new file mode 100644 index 0000000000000..aa80f65d67d9c --- /dev/null +++ b/recipes/ouster_sdk/all/patches/001-579-fix-cpp20-string-error.patch @@ -0,0 +1,25 @@ +From b2896dee6f43733c832c3a60f09f362abe2c5e79 Mon Sep 17 00:00:00 2001 +From: Kevin Greene +Date: Fri, 23 Feb 2024 10:22:02 -0800 +Subject: [PATCH] Fix non-const string issue with C++20 + +--- + ouster_client/src/curl_client.h | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/ouster_client/src/curl_client.h b/ouster_client/src/curl_client.h +index ce3fb31d..62bcabc0 100644 +--- a/ouster_client/src/curl_client.h ++++ b/ouster_client/src/curl_client.h +@@ -89,9 +89,8 @@ class CurlClient : public ouster::util::HttpClient { + // HTTP 5XX means a server error, so we should re-attempt. + // log a warning and sleep before re-attempting + ouster::sensor::logger().warn( +- std::string("Re-attempting CurlClient::execute_get after " +- "failure for url: ") + +- "[{}] with the code: [{}] - and return: {}", ++ "Re-attempting CurlClient::execute_get after failure for " ++ "url: [{}] with the code: [{}] - and return: {}", + url, http_code, buffer); + std::this_thread::sleep_for( + std::chrono::milliseconds(retry_delay_ms)); diff --git a/recipes/ouster_sdk/all/test_package/CMakeLists.txt b/recipes/ouster_sdk/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..498c697a4f010 --- /dev/null +++ b/recipes/ouster_sdk/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + project(test_package CXX) + +find_package(OusterSDK REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE OusterSDK::OusterSDK) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/ouster_sdk/all/test_package/conanfile.py b/recipes/ouster_sdk/all/test_package/conanfile.py new file mode 100644 index 0000000000000..57c251706a8d6 --- /dev/null +++ b/recipes/ouster_sdk/all/test_package/conanfile.py @@ -0,0 +1,36 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + if self.dependencies["ouster_sdk"].options.build_osf: + tc.preprocessor_definitions["WITH_OSF"] = "1" + if self.dependencies["ouster_sdk"].options.build_pcap: + tc.preprocessor_definitions["WITH_PCAP"] = "1" + if self.dependencies["ouster_sdk"].options.build_viz: + tc.preprocessor_definitions["WITH_VIZ"] = "1" + tc.generate() + + 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/ouster_sdk/all/test_package/test_package.cpp b/recipes/ouster_sdk/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..3190406572ca4 --- /dev/null +++ b/recipes/ouster_sdk/all/test_package/test_package.cpp @@ -0,0 +1,38 @@ +#include "ouster/lidar_scan.h" + +#ifdef WITH_OSF +#include "ouster/osf/writer.h" +#endif +#ifdef WITH_PCAP +#include "ouster/os_pcap.h" +#endif +#ifdef WITH_VIZ +#include "ouster/point_viz.h" +#endif + +#include + +int main() { + size_t w = 100; + size_t h = 100; + using namespace ouster::sensor; + ouster::LidarScan scan(w, h, UDPProfileLidar::PROFILE_RNG19_RFL8_SIG16_NIR16_DUAL); + std::cout << "Successfully created a sensor::LidarScan object" << std::endl; + +#ifdef WITH_OSF + ouster::osf::Writer writer("tmp.osf"); + std::cout << "Successfully created a osf::Writer object" << std::endl; +#endif + +#ifdef WITH_PCAP + try { + ouster::sensor_utils::PcapReader pcap_reader("tmp.pcap"); + } catch (...) { } + std::cout << "Successfully created a sensor_utils::PcapReader object" << std::endl; +#endif + +#ifdef WITH_VIZ + ouster::viz::PointViz viz("Viz example"); + std::cout << "Successfully created a viz::PointViz object" << std::endl; +#endif +} diff --git a/recipes/ouster_sdk/config.yml b/recipes/ouster_sdk/config.yml new file mode 100644 index 0000000000000..1b582dcf6716b --- /dev/null +++ b/recipes/ouster_sdk/config.yml @@ -0,0 +1,3 @@ +versions: + "0.10.0": + folder: all From a6209eab3270dc4cf7c09ad805933098151de124 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 1 Apr 2024 23:08:05 +0200 Subject: [PATCH 4064/4087] (#23240) libdrm: fix freebsd linux-headers-generic is linux only --- recipes/libdrm/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libdrm/all/conanfile.py b/recipes/libdrm/all/conanfile.py index af355e6b5b875..6b0ee32f2161c 100644 --- a/recipes/libdrm/all/conanfile.py +++ b/recipes/libdrm/all/conanfile.py @@ -80,7 +80,7 @@ def layout(self): def requirements(self): if self.options.intel: self.requires("libpciaccess/0.17") - if self.settings.os in ["Linux", "FreeBSD"]: + if self.settings.os == "Linux": self.requires("linux-headers-generic/6.5.9") def validate(self): @@ -139,7 +139,7 @@ def package_info(self): self.cpp_info.components["libdrm_libdrm"].libs = ["drm"] self.cpp_info.components["libdrm_libdrm"].includedirs.append(os.path.join("include", "libdrm")) self.cpp_info.components["libdrm_libdrm"].set_property("pkg_config_name", "libdrm") - if self.settings.os in ["Linux", "FreeBSD"]: + if self.settings.os == "Linux": self.cpp_info.components["libdrm_libdrm"].requires = ["linux-headers-generic::linux-headers-generic"] if Version(self.version) < "2.4.111": From ef3bb029ef69bad215c6608b371196e3f1a75f8c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Apr 2024 00:47:42 +0300 Subject: [PATCH 4065/4087] (#23248) pixman: add v0.43.4, drop vulnerable versions https://repology.org/project/pixman/cves --- recipes/pixman/all/conandata.yml | 29 +- recipes/pixman/all/conanfile.py | 8 +- .../0001-incompatible-pointer-types.patch | 21 -- .../pixman/all/patches/0002-meson-build.patch | 253 ------------------ .../all/patches/0003-meson-static-build.patch | 28 -- recipes/pixman/config.yml | 6 +- 6 files changed, 8 insertions(+), 337 deletions(-) delete mode 100644 recipes/pixman/all/patches/0001-incompatible-pointer-types.patch delete mode 100644 recipes/pixman/all/patches/0002-meson-build.patch delete mode 100644 recipes/pixman/all/patches/0003-meson-static-build.patch diff --git a/recipes/pixman/all/conandata.yml b/recipes/pixman/all/conandata.yml index f712201caaef3..dc1f3f424ea14 100644 --- a/recipes/pixman/all/conandata.yml +++ b/recipes/pixman/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "0.43.4": + url: + - "https://www.cairographics.org/releases/pixman-0.43.4.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.43.4.tar.gz" + sha256: "a0624db90180c7ddb79fc7a9151093dc37c646d8c38d3f232f767cf64b85a226" "0.43.0": url: - "https://www.cairographics.org/releases/pixman-0.43.0.tar.gz" @@ -9,33 +14,9 @@ sources: - "https://www.cairographics.org/releases/pixman-0.42.2.tar.gz" - "https://www.x.org/releases/individual/lib/pixman-0.42.2.tar.gz" sha256: "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e" - "0.40.0": - url: - - "https://www.cairographics.org/releases/pixman-0.40.0.tar.gz" - - "https://www.x.org/releases/individual/lib/pixman-0.40.0.tar.gz" - sha256: "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc" - "0.38.4": - url: - - "https://www.cairographics.org/releases/pixman-0.38.4.tar.gz" - - "https://www.x.org/releases/individual/lib/pixman-0.38.4.tar.gz" - sha256: "da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7" patches: "0.42.2": - patch_file: "patches/0.42.2-0001-pixman-arma64-Adjustments-to-build-with-llvm-integra.patch" patch_description: "Adjustments to build for arm64 with LLVM's assembler" patch_type: "portability" patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/71" - "0.40.0": - - patch_file: "patches/0001-incompatible-pointer-types.patch" - patch_description: "backport fix for clang build" - patch_type: "portability" - patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/48" - - patch_file: "patches/0003-meson-static-build.patch" - patch_description: "backport fix for msvc static build" - patch_type: "bugfix" - patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/commit/48d5df1f3772a08a929dcb3b2fe4d7b1853223c9.patch" - "0.38.4": - - patch_file: "patches/0002-meson-build.patch" - patch_description: "backport meson build files from 0.40.0 to fix windows build" - patch_type: "portability" - patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/tree/pixman-0.40.0" diff --git a/recipes/pixman/all/conanfile.py b/recipes/pixman/all/conanfile.py index 8d655189662cb..c0b64456bcee2 100644 --- a/recipes/pixman/all/conanfile.py +++ b/recipes/pixman/all/conanfile.py @@ -1,7 +1,6 @@ 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 ( @@ -11,7 +10,6 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -50,12 +48,8 @@ def configure(self): def layout(self): basic_layout(self, src_folder="src") - def validate(self): - if self.settings.os == "Windows" and self.options.shared and Version(self.version) < "0.40.0": - raise ConanInvalidConfiguration(f"pixman/{self.version} can only be built as a static library on Windows") - def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.4.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/pixman/all/patches/0001-incompatible-pointer-types.patch b/recipes/pixman/all/patches/0001-incompatible-pointer-types.patch deleted file mode 100644 index ee95a8b091433..0000000000000 --- a/recipes/pixman/all/patches/0001-incompatible-pointer-types.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c -index 4cfabe3..3832e2b 100644 ---- a/pixman/pixman-bits-image.c -+++ b/pixman/pixman-bits-image.c -@@ -1051,14 +1051,14 @@ dest_write_back_narrow (pixman_iter_t *iter) - iter->y++; - } - --static const float -+static float - dither_factor_blue_noise_64 (int x, int y) - { - float m = dither_blue_noise_64x64[((y & 0x3f) << 6) | (x & 0x3f)]; - return m * (1. / 4096.f) + (1. / 8192.f); - } - --static const float -+static float - dither_factor_bayer_8 (int x, int y) - { - uint32_t m; diff --git a/recipes/pixman/all/patches/0002-meson-build.patch b/recipes/pixman/all/patches/0002-meson-build.patch deleted file mode 100644 index 6063b377301a8..0000000000000 --- a/recipes/pixman/all/patches/0002-meson-build.patch +++ /dev/null @@ -1,253 +0,0 @@ -diff --git a/meson.build b/meson.build -index fad22ee..519441b 100644 ---- a/meson.build -+++ b/meson.build -@@ -23,7 +23,7 @@ project( - ['c'], - version : '0.38.4', - license : 'MIT', -- meson_version : '>= 0.47.2', -+ meson_version : '>= 0.50.0', - default_options : ['buildtype=debugoptimized'], - ) - -@@ -36,6 +36,7 @@ add_project_arguments( - '-Wdeclaration-after-statement', - '-fno-strict-aliasing', - '-fvisibility=hidden', -+ '-Wundef', - ]), - language : ['c'] - ) -@@ -50,7 +51,7 @@ endforeach - - use_loongson_mmi = get_option('loongson-mmi') - have_loongson_mmi = false --loongson_mmi_flags = ['-march=loongson2f'] -+loongson_mmi_flags = ['-mloongson-mmi'] - if not use_loongson_mmi.disabled() - if host_machine.cpu_family() == 'mips64' and cc.compiles(''' - #ifndef __mips_loongson_vector_rev -@@ -84,9 +85,17 @@ endif - - use_mmx = get_option('mmx') - have_mmx = false --mmx_flags = ['-mmmx', '-Winline'] -+mmx_flags = [] -+ -+if cc.get_id() == 'msvc' -+ mmx_flags = ['/w14710', '/w14714', '/wd4244'] -+elif cc.get_id() == 'sun' -+ mmx_flags = ['-xarch=sse'] -+else -+ mmx_flags = ['-mmmx', '-Winline'] -+endif - if not use_mmx.disabled() -- if host_machine.cpu_family() == 'x86_64' -+ if host_machine.cpu_family() == 'x86_64' or cc.get_id() == 'msvc' - have_mmx = true - elif host_machine.cpu_family() == 'x86' and cc.compiles(''' - #include -@@ -127,14 +136,23 @@ if not use_mmx.disabled() - endif - - if have_mmx -- config.set10('USE_X86_MMX', true) -+ # Inline assembly do not work on X64 MSVC, so we use -+ # compatibility intrinsics there -+ if cc.get_id() != 'msvc' or host_machine.cpu_family() != 'x86_64' -+ config.set10('USE_X86_MMX', true) -+ endif - elif use_mmx.enabled() - error('MMX Support unavailable, but required') - endif - - use_sse2 = get_option('sse2') - have_sse2 = false --sse2_flags = ['-msse2', '-Winline'] -+sse2_flags = [] -+if cc.get_id() == 'sun' -+ sse2_flags = ['-xarch=sse2'] -+elif cc.get_id() != 'msvc' -+ sse2_flags = ['-msse2', '-Winline'] -+endif - if not use_sse2.disabled() - if host_machine.cpu_family() == 'x86' - if cc.compiles(''' -@@ -169,8 +187,13 @@ endif - - use_ssse3 = get_option('ssse3') - have_ssse3 = false --ssse3_flags =['-mssse3', '-Winline'] --if not use_ssse3.disabled() -+ssse3_flags = [] -+if cc.get_id() != 'msvc' -+ ssse3_flags = ['-mssse3', '-Winline'] -+endif -+ -+# x64 pre-2010 MSVC compilers crashes when building the ssse3 code -+if not use_ssse3.disabled() and not (cc.get_id() == 'msvc' and cc.version().version_compare('<16') and host_machine.cpu_family() == 'x86_64') - if host_machine.cpu_family().startswith('x86') - if cc.compiles(''' - #include -@@ -349,14 +372,21 @@ if get_option('gnuplot') - config.set('PIXMAN_GNUPLOT', 1) - endif - --dep_openmp = dependency('openmp', required : get_option('openmp')) --if dep_openmp.found() -- config.set10('USE_OPENMP', true) --elif meson.version().version_compare('<0.51.0') --# In versions of meson before 0.51 the openmp dependency can still --# inject arguments in the the auto case when it is not found, the --# detection does work correctly in that case however, so we just --# replace dep_openmp with null_dep to work around this. -+if cc.get_id() != 'msvc' -+ dep_openmp = dependency('openmp', required : get_option('openmp')) -+ if dep_openmp.found() -+ config.set10('USE_OPENMP', true) -+ elif meson.version().version_compare('<0.51.0') -+ # In versions of meson before 0.51 the openmp dependency can still -+ # inject arguments in the the auto case when it is not found, the -+ # detection does work correctly in that case however, so we just -+ # replace dep_openmp with null_dep to work around this. -+ dep_openmp = null_dep -+ endif -+else -+ # the MSVC implementation of openmp is not compliant enough for our -+ # uses here, so we disable it here. -+ # Please see: https://stackoverflow.com/questions/12560243/using-threadprivate-directive-in-visual-studio - dep_openmp = null_dep - endif - -@@ -364,17 +394,56 @@ dep_gtk = dependency('gtk+-2.0', version : '>= 2.16', required : get_option('gtk - dep_glib = dependency('glib-2.0', required : get_option('gtk')) - dep_pixman = dependency('pixman-1', required : get_option('gtk'), - version : '>= ' + meson.project_version()) --dep_png = dependency('libpng', required : get_option('libpng')) -+ -+dep_png = null_dep -+if not get_option('libpng').disabled() -+ dep_png = dependency('libpng', required : false) -+ -+ # We need to look for the right library to link to for libpng, -+ # when looking for libpng manually -+ foreach png_ver : [ '16', '15', '14', '13', '12', '10' ] -+ if not dep_png.found() -+ dep_png = cc.find_library('libpng@0@'.format(png_ver), has_headers : ['png.h'], required : false) -+ endif -+ endforeach -+ -+ if get_option('libpng').enabled() and not dep_png.found() -+ error('libpng support requested but libpng library not found') -+ endif -+endif -+ - if dep_png.found() - config.set('HAVE_LIBPNG', 1) - endif - dep_m = cc.find_library('m', required : false) - dep_threads = dependency('threads') --if dep_threads.found() -+ -+# MSVC-style compilers do not come with pthreads, so we must link -+# to it explicitly, currently pthreads-win32 is supported -+pthreads_found = false -+ -+if dep_threads.found() and cc.has_header('pthread.h') -+ if cc.get_argument_syntax() == 'msvc' -+ pthread_lib = null_dep -+ foreach pthread_type : ['VC3', 'VSE3', 'VCE3', 'VC2', 'VSE2', 'VCE2'] -+ if not pthread_lib.found() -+ pthread_lib = cc.find_library('pthread@0@'.format(pthread_type), required : false) -+ endif -+ endforeach -+ if pthread_lib.found() -+ pthreads_found = true -+ dep_threads = pthread_lib -+ endif -+ else -+ pthreads_found = true -+ endif -+endif -+ -+if pthreads_found - config.set('HAVE_PTHREADS', 1) - endif - --funcs = ['sigaction', 'alarm', 'mprotect', 'getpagesize', 'mmap'] -+funcs = ['sigaction', 'alarm', 'mprotect', 'getpagesize', 'mmap', 'getisax', 'gettimeofday'] - # mingw claimes to have posix_memalign, but it doesn't - if host_machine.system() != 'windows' - funcs += 'posix_memalign' -@@ -386,10 +455,6 @@ foreach f : funcs - endif - endforeach - --if cc.has_function('gettimeofday') -- config.set('HAVE_GETTIMEOFDAY', 1) --endif -- - # This is only used in one test, that defines _GNU_SOURCE - if cc.has_function('feenableexcept', - prefix : '#define _GNU_SOURCE\n#include ', -@@ -407,8 +472,12 @@ foreach h : ['sys/mman.h', 'fenv.h', 'unistd.h'] - endif - endforeach - -+# gcc on Windows only warns that __declspec(thread) isn't supported, -+# passing -Werror=attributes makes it fail. - if (host_machine.system() == 'windows' and -- cc.compiles('int __declspec(thread) foo;', name : 'TLS via __declspec(thread)')) -+ cc.compiles('int __declspec(thread) foo;', -+ args : cc.get_supported_arguments(['-Werror=attributes']), -+ name : 'TLS via __declspec(thread)')) - config.set('TLS', '__declspec(thread)') - elif cc.compiles('int __thread foo;', name : 'TLS via __thread') - config.set('TLS', '__thread') -@@ -445,6 +514,8 @@ if host_machine.endian() == 'big' - config.set('WORDS_BIGENDIAN', 1) - endif - -+config.set('SIZEOF_LONG', cc.sizeof('long')) -+ - # Required to make pixman-private.h - config.set('PACKAGE', 'foo') - -diff --git a/pixman/meson.build b/pixman/meson.build -index 6ce87e7..f48357f 100644 ---- a/pixman/meson.build -+++ b/pixman/meson.build -@@ -30,6 +30,11 @@ version_h = configure_file( - install_dir : join_paths(get_option('prefix'), get_option('includedir'), 'pixman-1') - ) - -+libpixman_extra_cargs = [] -+if cc.has_function_attribute('dllexport') -+ libpixman_extra_cargs = ['-DPIXMAN_API=__declspec(dllexport)'] -+endif -+ - pixman_simd_libs = [] - simds = [ - # the mmx library can be compiled with mmx on x86/x86_64, iwmmxt on -@@ -97,10 +102,18 @@ pixman_files = files( - 'pixman-utils.c', - ) - --libpixman = shared_library( -+# We cannot use 'link_with' or 'link_whole' because meson wont do the right -+# thing for static archives. -+_obs = [] -+foreach l : pixman_simd_libs -+ _obs += l.extract_all_objects() -+endforeach -+ -+libpixman = library( - 'pixman-1', - [pixman_files, config_h, version_h], -- link_with : [pixman_simd_libs], -+ objects : _obs, -+ c_args : libpixman_extra_cargs, - dependencies : [dep_m, dep_threads], - version : meson.project_version(), - install : true, diff --git a/recipes/pixman/all/patches/0003-meson-static-build.patch b/recipes/pixman/all/patches/0003-meson-static-build.patch deleted file mode 100644 index 6283ba2680054..0000000000000 --- a/recipes/pixman/all/patches/0003-meson-static-build.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 48d5df1f3772a08a929dcb3b2fe4d7b1853223c9 Mon Sep 17 00:00:00 2001 -From: Benjamin Gilbert -Date: Thu, 5 Jan 2023 20:29:00 -0500 -Subject: [PATCH] meson: don't dllexport when built as static library - -If a static Pixman is linked with a dynamic library, Pixman shouldn't -export its own symbols into the latter's ABI. ---- - pixman/meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/pixman/meson.build b/pixman/meson.build -index 5dce870..62ec66b 100644 ---- a/pixman/meson.build -+++ b/pixman/meson.build -@@ -31,7 +31,8 @@ version_h = configure_file( - ) - - libpixman_extra_cargs = [] --if cc.has_function_attribute('dllexport') -+default_library = get_option('default_library') -+if default_library != 'static' and cc.has_function_attribute('dllexport') - libpixman_extra_cargs = ['-DPIXMAN_API=__declspec(dllexport)'] - endif - --- -GitLab - diff --git a/recipes/pixman/config.yml b/recipes/pixman/config.yml index 1daaad4889538..c3e710db89855 100644 --- a/recipes/pixman/config.yml +++ b/recipes/pixman/config.yml @@ -1,9 +1,7 @@ versions: + "0.43.4": + folder: "all" "0.43.0": folder: "all" "0.42.2": folder: "all" - "0.40.0": - folder: "all" - "0.38.4": - folder: "all" From 8cf6adca2539b2d8d8045b8442db1fc6c301d7dc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Apr 2024 01:28:53 +0300 Subject: [PATCH 4066/4087] (#23254) exiv2: add v0.28.2, bump deps, drop vulnerable v0.28.0 * exiv2: add v0.28.2, bump deps, drop vulnerable v0.28.0 Based on https://repology.org/project/exiv2/information * exiv2: revert expat bump --- recipes/exiv2/all/conandata.yml | 6 +++--- recipes/exiv2/all/conanfile.py | 2 +- recipes/exiv2/config.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/exiv2/all/conandata.yml b/recipes/exiv2/all/conandata.yml index 55858f820d83f..0b36cf903900d 100644 --- a/recipes/exiv2/all/conandata.yml +++ b/recipes/exiv2/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "0.28.2": + url: "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.2.tar.gz" + sha256: "543bead934135f20f438e0b6d8858c55c5fcb7ff80f5d1d55489965f1aad58b9" "0.28.1": url: "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.1.tar.gz" sha256: "3078651f995cb6313b1041f07f4dd1bf0e9e4d394d6e2adc6e92ad0b621291fa" - "0.28.0": - url: "https://github.com/Exiv2/exiv2/releases/download/v0.28.0/exiv2-0.28.0-Source.tar.gz" - sha256: "89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d" "0.27.5": url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.5/exiv2-0.27.5-Source.tar.gz" sha256: "35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2" diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 84f13196b12f9..e0f3dda5c9ab6 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -82,7 +82,7 @@ def requirements(self): if self.options.get_safe("with_brotli"): self.requires("brotli/1.1.0") if self.options.get_safe("with_inih"): - self.requires("inih/57") + self.requires("inih/58") def validate(self): if Version(self.version) >= "0.28.0": diff --git a/recipes/exiv2/config.yml b/recipes/exiv2/config.yml index d503f95292a28..f9244e625c48f 100644 --- a/recipes/exiv2/config.yml +++ b/recipes/exiv2/config.yml @@ -1,7 +1,7 @@ versions: - "0.28.1": + "0.28.2": folder: all - "0.28.0": + "0.28.1": folder: all "0.27.5": folder: all From eb6e1da4cc193f49fa0ce85be51d8cd88aa8c8bc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 08:08:32 +0900 Subject: [PATCH 4067/4087] (#23262) rapidcsv: add version 8.82 --- recipes/rapidcsv/all/conandata.yml | 3 +++ recipes/rapidcsv/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidcsv/all/conandata.yml b/recipes/rapidcsv/all/conandata.yml index 22f73545deb36..350384694edeb 100644 --- a/recipes/rapidcsv/all/conandata.yml +++ b/recipes/rapidcsv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.82": + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.82.tar.gz" + sha256: "4f1f57ca9db0f5447416acbef4e059cbd7cb03f6eb39fec1301732bbedaac927" "8.80": url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.80.tar.gz" sha256: "4c9e01cb2554cc76acac61532ef33b59e5b1f822160d2eb7efee2c128ea7f4c5" diff --git a/recipes/rapidcsv/config.yml b/recipes/rapidcsv/config.yml index 643c892898926..a48e9cfb7dba1 100644 --- a/recipes/rapidcsv/config.yml +++ b/recipes/rapidcsv/config.yml @@ -1,4 +1,6 @@ versions: + "8.82": + folder: "all" "8.80": folder: "all" "8.77": From cad1c20ff725c48795ecce91b5d38cfc121f67a4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Apr 2024 02:48:59 +0300 Subject: [PATCH 4068/4087] (#23265) toon: new recipe * toon: new recipe * toon: set openblas:build_lapack=True * toon: require pkgconf for test_package --- recipes/toon/all/conandata.yml | 10 ++ recipes/toon/all/conanfile.py | 83 ++++++++++++ recipes/toon/all/config.hh | 29 ++++ .../all/patches/001-bugfixes-backport.patch | 127 ++++++++++++++++++ recipes/toon/all/test_package/CMakeLists.txt | 9 ++ recipes/toon/all/test_package/conanfile.py | 30 +++++ .../toon/all/test_package/test_package.cpp | 15 +++ recipes/toon/config.yml | 3 + 8 files changed, 306 insertions(+) create mode 100644 recipes/toon/all/conandata.yml create mode 100644 recipes/toon/all/conanfile.py create mode 100644 recipes/toon/all/config.hh create mode 100644 recipes/toon/all/patches/001-bugfixes-backport.patch create mode 100644 recipes/toon/all/test_package/CMakeLists.txt create mode 100644 recipes/toon/all/test_package/conanfile.py create mode 100644 recipes/toon/all/test_package/test_package.cpp create mode 100644 recipes/toon/config.yml diff --git a/recipes/toon/all/conandata.yml b/recipes/toon/all/conandata.yml new file mode 100644 index 0000000000000..2e5eef4c5773f --- /dev/null +++ b/recipes/toon/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "3.2": + url: "https://github.com/edrosten/TooN/archive/refs/tags/TOON_3.2.tar.gz" + sha256: "62f30dfb92a6f8873e6a42649760e2d1b54e61e1d3bc023d0bb171600b41c759" +patches: + "3.2": + - patch_file: "patches/001-bugfixes-backport.patch" + patch_description: "apply unreleased minor fixes" + patch_type: "backport" + patch_source: "https://github.com/edrosten/TooN/compare/TOON_3.2...370dcd9" diff --git a/recipes/toon/all/conanfile.py b/recipes/toon/all/conanfile.py new file mode 100644 index 0000000000000..49e7347dc80b4 --- /dev/null +++ b/recipes/toon/all/conanfile.py @@ -0,0 +1,83 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + + +class ToonConan(ConanFile): + name = "toon" + description = "TooN - Tom's Object Oriented Numerics library" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://codedocs.xyz/edrosten/TooN/" + topics = ("numerical", "linear-algebra", "matrix", "vector", "optimization", "automatic-differentiation", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + exports_sources = ["config.hh"] + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("openblas/0.3.26", options={"build_lapack": True}) + + 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." + ) + + if not self.dependencies["openblas"].options.build_lapack: + raise ConanInvalidConfiguration("TooN requires LAPACK support in OpenBLAS") + + 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, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*", + os.path.join(self.source_folder, "TooN"), + os.path.join(self.package_folder, "include", "TooN")) + copy(self, "config.hh", self.export_sources_folder, + os.path.join(self.package_folder, "include", "TooN", "internal")) + + def package_info(self): + self.cpp_info.set_property("pkg_config_name", "TooN") + + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "pthread"]) diff --git a/recipes/toon/all/config.hh b/recipes/toon/all/config.hh new file mode 100644 index 0000000000000..ed689361e6c58 --- /dev/null +++ b/recipes/toon/all/config.hh @@ -0,0 +1,29 @@ +/* TooN/internal/config.hh. Generated from config.hh.in by configure. */ +/* TooN/internal/config.hh.in. Generated from configure.ac by autoheader. */ + +/* define if the compiler supports basic C++14 syntax */ +#undef HAVE_CXX14 + +/* Define to 1 if you have the `lapack' library (-llapack). */ +#define HAVE_LIBLAPACK 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://github.com/edrosten/TooN" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "TooN" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "TooN version-3.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "toon" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "https://codedocs.xyz/edrosten/TooN/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-3.2" + +/* Use LAPACK */ +#define TOON_USE_LAPACK diff --git a/recipes/toon/all/patches/001-bugfixes-backport.patch b/recipes/toon/all/patches/001-bugfixes-backport.patch new file mode 100644 index 0000000000000..634a27c8578c0 --- /dev/null +++ b/recipes/toon/all/patches/001-bugfixes-backport.patch @@ -0,0 +1,127 @@ +diff --git a/TooN/QR.h b/TooN/QR.h +index e2273cc..10b33c3 100644 +--- a/TooN/QR.h ++++ b/TooN/QR.h +@@ -29,6 +29,7 @@ + #ifndef TOON_INC_QR_H + #define TOON_INC_QR_H + #include ++#include + #include + + namespace TooN +diff --git a/TooN/QR_Lapack.h b/TooN/QR_Lapack.h +index 6b628d1..67f1fd0 100644 +--- a/TooN/QR_Lapack.h ++++ b/TooN/QR_Lapack.h +@@ -29,6 +29,7 @@ + + #include + #include ++#include + #include + + namespace TooN{ +diff --git a/TooN/SVD.h b/TooN/SVD.h +index a74deed..e22a437 100644 +--- a/TooN/SVD.h ++++ b/TooN/SVD.h +@@ -30,6 +30,7 @@ + + #include + #include ++#include + + namespace TooN { + +diff --git a/TooN/SymEigen.h b/TooN/SymEigen.h +index aa5b434..8c6d42f 100644 +--- a/TooN/SymEigen.h ++++ b/TooN/SymEigen.h +@@ -28,6 +28,7 @@ + #ifndef __SYMEIGEN_H + #define __SYMEIGEN_H + ++#include + #include + #include + #include +diff --git a/TooN/functions/derivatives.h b/TooN/functions/derivatives.h +index 791f71e..9749461 100644 +--- a/TooN/functions/derivatives.h ++++ b/TooN/functions/derivatives.h +@@ -27,6 +27,7 @@ + #define TOON_INCLUDE_DERIVATIVES_NUMERICAL_H + + #include ++#include + #include + #include + +diff --git a/TooN/helpers.h b/TooN/helpers.h +index 8204560..447bca3 100644 +--- a/TooN/helpers.h ++++ b/TooN/helpers.h +@@ -32,6 +32,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/TooN/optimization/brent.h b/TooN/optimization/brent.h +index e117a80..3e60251 100644 +--- a/TooN/optimization/brent.h ++++ b/TooN/optimization/brent.h +@@ -27,6 +27,7 @@ + #define TOON_BRENT_H + #include + #include ++#include + #include + #include + #include +diff --git a/doc/documentation.h b/doc/documentation.h +index 2df5d9e..95276b1 100644 +--- a/doc/documentation.h ++++ b/doc/documentation.h +@@ -1,15 +1,7 @@ + /* + Copyright (c) 2005 Paul Smith, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Edward Rosten + +- Permission is granted to copy, distribute and/or modify this document under +- the terms of the GNU Free Documentation License, Version 1.2 or any later +- version published by the Free Software Foundation; with no Invariant +- Sections, no Front-Cover Texts, and no Back-Cover Texts. +- +- You should have received a copy of the GNU Free Documentation License +- License along with this library; if not, write to the Free Software +- Foundation, Inc. +- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ This library is free software, see COPYING file for details + + */ + /////////////////////////////////////////////////////// +diff --git a/doc/linoperatorsdoc.h b/doc/linoperatorsdoc.h +index b7aa503..f2ec6b1 100644 +--- a/doc/linoperatorsdoc.h ++++ b/doc/linoperatorsdoc.h +@@ -1,16 +1,7 @@ + /* + Copyright (c) 2005 Paul Smith + +- Permission is granted to copy, distribute and/or modify this document under +- the terms of the GNU Free Documentation License, Version 1.2 or any later +- version published by the Free Software Foundation; with no Invariant +- Sections, no Front-Cover Texts, and no Back-Cover Texts. +- +- You should have received a copy of the GNU Free Documentation License +- License along with this library; if not, write to the Free Software +- Foundation, Inc. +- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +- ++ This library is free software, see COPYING file for details + */ + // A proxy version of the Matrix class, + // cleaned up to present a comprehensible diff --git a/recipes/toon/all/test_package/CMakeLists.txt b/recipes/toon/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d0e7f8aeeb811 --- /dev/null +++ b/recipes/toon/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(TooN REQUIRED IMPORTED_TARGET TooN) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::TooN) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/toon/all/test_package/conanfile.py b/recipes/toon/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0ded7848c2ace --- /dev/null +++ b/recipes/toon/all/test_package/conanfile.py @@ -0,0 +1,30 @@ +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 = "PkgConfigDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.1.0") + + 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/toon/all/test_package/test_package.cpp b/recipes/toon/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ac702cc9b641d --- /dev/null +++ b/recipes/toon/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include + +#include +#include + +using namespace TooN; + +int main() { + Matrix<3> t = Data( + 1, 0.5, 0.5, + 0.5, 2, 0.7, + 0.5, 0.7, 3); + Lapack_Cholesky<3> chol(t); + std::cout << chol.determinant() << std::endl; +} diff --git a/recipes/toon/config.yml b/recipes/toon/config.yml new file mode 100644 index 0000000000000..9b5abcde381a5 --- /dev/null +++ b/recipes/toon/config.yml @@ -0,0 +1,3 @@ +versions: + "3.2": + folder: all From 3c3bd9c91e4674db37c4528a7a81aaa63329b387 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 2 Apr 2024 02:29:11 +0200 Subject: [PATCH 4069/4087] (#23269) [sentry-native] Add 0.7.1 and remove old versions * [sentry-native] Add version 0.7.1 * Remove 0.6.4 and 0.6.5 --- recipes/sentry-native/all/conandata.yml | 16 +++------------ recipes/sentry-native/all/conanfile.py | 6 +----- .../patches/0.6.5-0001-fix-for-gcc13.patch | 20 ------------------- recipes/sentry-native/config.yml | 6 ++---- 4 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 6bde257712f1a..daa3f158286e5 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,23 +1,13 @@ sources: + "0.7.1": + url: "https://github.com/getsentry/sentry-native/releases/download/0.7.1/sentry-native.zip" + sha256: "c450a064b0dbb1883a355455db2b6469abef59c04686a53719384bbc7ff507d3" "0.7.0": url: "https://github.com/getsentry/sentry-native/releases/download/0.7.0/sentry-native.zip" sha256: "4dfccc879a81771b9da1c335947ffc9e5987ca3d16b3035efa2c66a06f727543" "0.6.6": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.6/sentry-native.zip" sha256: "7a98467c0b2571380a3afc5e681cb13aa406a709529be12d74610b0015ccde0c" - "0.6.5": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip" - sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995" - "0.6.4": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" - sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" - -patches: - "0.6.5": - - patch_file: "patches/0.6.5-0001-fix-for-gcc13.patch" - patch_type: "backport" - patch_description: "Extra header required for gcc13" - patch_source: "https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/4847514" diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index f783754fae680..2f31f5efdc35b 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import copy, get, rm, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -66,9 +66,6 @@ def _minimum_compilers_version(self): "apple-clang": "5.1", } - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -162,7 +159,6 @@ def generate(self): CMakeDeps(self).generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch b/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch deleted file mode 100644 index b3a766009b3a7..0000000000000 --- a/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 09:55:27.677142704 +0800 -+++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 10:06:01.654142494 +0800 -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - #include "base/check.h" - #include "base/check_op.h" ---- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 10:11:28.084886020 +0800 -+++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 11:06:37.044297949 +0800 -@@ -6,6 +6,7 @@ - #define MINI_CHROMIUM_BASE_STRINGS_UTF_STRING_CONVERSION_UTILS_H_ - - #include -+#include - - namespace base { - diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 456ef7af835a5..9ae5623ea0bea 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,11 +1,9 @@ versions: + "0.7.1": + folder: all "0.7.0": folder: all "0.6.6": folder: all - "0.6.5": - folder: all - "0.6.4": - folder: all "0.5.4": folder: all From 89ffa7d02c5729faec90b17225bec91373713cc6 Mon Sep 17 00:00:00 2001 From: Alberto Salvia Novella Date: Tue, 2 Apr 2024 03:07:48 +0200 Subject: [PATCH 4070/4087] (#23281) Use (ftp.gnu.org) as fallback of (ftpmirror.gnu.org), as the second might fail due to unsafe crypto * Don't use ftpmirror.gnu.org, as it might fail With the departure towards OpenSSL some mirrors are still using old unsafe renegotiation, and that's preventing from building this recipe. I have noticed the mirror here about the issue, but from the time being it's just better to use the non mirrored FTP. autoconf/2.71: ERROR: Error downloading file https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.xz: 'HTTPSConnectionPool(host='ftp.rediris.es', port=443): Max retries exceeded with url: /mirror/GNU/autoconf/autoconf-2.71.tar.xz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1006)')))' ERROR: autoconf/2.71: Error in source() method, line 51 get(self, **self.conan_data["sources"][self.version], strip_root=True) ConanException: Error downloading file https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.xz: 'HTTPSConnectionPool(host='ftp.rediris.es', port=443): Max retries exceeded with url: /mirror/GNU/autoconf/autoconf-2.71.tar.xz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1006)')))' * autoconf/all/conandata.yml: fallback urls: v2.72 Co-authored-by: Martin Valgur * autoconf/all/conandata.yml: fallback urls: v2.71 Co-authored-by: Martin Valgur * autoconf: conandata.yml: Lint urls properly --------- Co-authored-by: Martin Valgur --- recipes/autoconf/all/conandata.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/autoconf/all/conandata.yml b/recipes/autoconf/all/conandata.yml index 48a99f0a3f908..9d182df49e442 100644 --- a/recipes/autoconf/all/conandata.yml +++ b/recipes/autoconf/all/conandata.yml @@ -1,9 +1,13 @@ sources: "2.72": - url: "https://ftpmirror.gnu.org/autoconf/autoconf-2.72.tar.xz" + url: + - "https://ftpmirror.gnu.org/autoconf/autoconf-2.72.tar.xz" + - "https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.xz" sha256: "ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a" "2.71": - url: "https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.xz" + url: + - "https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.xz" + - "https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz" sha256: "f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4" patches: "2.72": From f67a46af379efa199e7de0be400f7db2e7410610 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 10:47:47 +0900 Subject: [PATCH 4071/4087] (#23283) glaze: add version 2.4.0 * glaze: add version 2.3.3 * update 2.4.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index a322f0ae53c98..3e64f60544255 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/stephenberry/glaze/archive/v2.4.0.tar.gz" + sha256: "be8cfb94c0b4b13c0a1fc846e2c112614d2dda02a49977fcdeea544876b3625b" "2.3.2": url: "https://github.com/stephenberry/glaze/archive/v2.3.2.tar.gz" sha256: "360c1eab71afb69d59cc0f0e180d6b214653950340ac267a464a18c81dac585a" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 17c7299a3f149..bd5802e146152 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.2": folder: all "2.3.1": From 012557d3865bbec75e9ddf02e7e62bd5b00af8a8 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Tue, 2 Apr 2024 04:28:54 +0200 Subject: [PATCH 4072/4087] (#23289) RtMidi: Replace https URLs with http ones to prevent cerificate errors --- recipes/rtmidi/all/conandata.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/rtmidi/all/conandata.yml b/recipes/rtmidi/all/conandata.yml index 7f688e03dcce4..ad84f3a29f6e6 100644 --- a/recipes/rtmidi/all/conandata.yml +++ b/recipes/rtmidi/all/conandata.yml @@ -1,12 +1,18 @@ sources: "6.0.0": - url: "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-6.0.0.tar.gz" + url: + - "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-6.0.0.tar.gz" + - "http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-6.0.0.tar.gz" sha256: "5960ccf64b42c23400720ccc880e2f205677ce9457f747ef758b598acd64db5b" "5.0.0": - url: "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-5.0.0.tar.gz" + url: + - "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-5.0.0.tar.gz" + - "http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-5.0.0.tar.gz" sha256: "48db0ed58c8c0e207b5d7327a0210b5bcaeb50e26387935d02829239b0f3c2b9" "4.0.0": - url: "http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz" + url: + - "https://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz" + - "http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz" sha256: "370cfe710f43fbeba8d2b8c8bc310f314338c519c2cf2865e2d2737b251526cd" patches: "4.0.0": From 2cb61c447e1082c322086d8929f9c59de3ab0383 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 2 Apr 2024 06:07:54 +0300 Subject: [PATCH 4073/4087] (#23292) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 46312df8b8947..e21deda7ceec5 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.1.tar.gz" + sha256: "02a046c1586da820be0c5dd36f635ca50060f893fe638b542546f4a7a07d3164" "2.8.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.0.tar.gz" sha256: "82ef6acc84ea3a7891e4547f7d79af4caaef0f4d6f152bdab2a5c6ed5a48d11b" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index fb12b4088b445..88cab2028c7e0 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.1": + folder: all "2.8.0": folder: all "2.7.4": From e18aabd4aa5bed767dc4ae8b98be28a646d9b7ad Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 2 Apr 2024 05:47:45 +0200 Subject: [PATCH 4074/4087] (#23297) libvips 8.15.2: fix url of tarball --- recipes/libvips/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libvips/all/conandata.yml b/recipes/libvips/all/conandata.yml index ebae63c90e5b2..ef20d5b718d8d 100644 --- a/recipes/libvips/all/conandata.yml +++ b/recipes/libvips/all/conandata.yml @@ -1,6 +1,6 @@ sources: "8.15.2": - url: "https://github.com/libvips/libvips/releases/download/v8.15.2a/vips-8.15.2.tar.xz" + url: "https://github.com/libvips/libvips/releases/download/v8.15.2/vips-8.15.2.tar.xz" sha256: "a2ab15946776ca7721d11cae3215f20f1f097b370ff580cd44fc0f19387aee84" "8.15.1": url: "https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz" From 1165392370ccc9276ad20a632a0725524d7aea88 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 13:27:27 +0900 Subject: [PATCH 4075/4087] (#23298) cpp-peglib: add version 1.8.7 --- 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 dc41e18c30f7b..8f4479718aedd 100644 --- a/recipes/cpp-peglib/1.x.x/conandata.yml +++ b/recipes/cpp-peglib/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.7": + url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.7.tar.gz" + sha256: "400696cc7e721b23aeac28a1ae12ceec235e2671888993da2ce012f6acdf83d4" "1.8.6": url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.6.tar.gz" sha256: "b2ebdc135a66074a386d377b761b38e050088fba6482575ca3028d0e184ecd91" diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml index 67a22c2c821e5..1c8807299673f 100644 --- a/recipes/cpp-peglib/config.yml +++ b/recipes/cpp-peglib/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.7": + folder: "1.x.x" "1.8.6": folder: "1.x.x" "1.8.5": From b6964dd08221bef4fd86b3fdbd7e162ee086b434 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Apr 2024 08:07:31 +0300 Subject: [PATCH 4076/4087] (#23299) pybind: add v2.12.0 --- recipes/pybind11/all/conandata.yml | 17 ++++++++++------- recipes/pybind11/config.yml | 2 ++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/recipes/pybind11/all/conandata.yml b/recipes/pybind11/all/conandata.yml index 62adb5a253c62..ad2c426df1a16 100644 --- a/recipes/pybind11/all/conandata.yml +++ b/recipes/pybind11/all/conandata.yml @@ -1,25 +1,28 @@ sources: - 2.7.1: + "2.7.1": url: "https://github.com/pybind/pybind11/archive/v2.7.1.tar.gz" sha256: "616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020" - 2.8.1: + "2.8.1": url: "https://github.com/pybind/pybind11/archive/v2.8.1.tar.gz" sha256: "f1bcc07caa568eb312411dde5308b1e250bd0e1bc020fae855bf9f43209940cc" - 2.9.1: + "2.9.1": url: "https://github.com/pybind/pybind11/archive/v2.9.1.tar.gz" sha256: "c6160321dc98e6e1184cc791fbeadd2907bb4a0ce0e447f2ea4ff8ab56550913" - 2.9.2: + "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: + "2.10.1": url: "https://github.com/pybind/pybind11/archive/v2.10.1.tar.gz" sha256: "111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad" - 2.10.4: + "2.10.4": url: "https://github.com/pybind/pybind11/archive/v2.10.4.tar.gz" sha256: "832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970" - 2.11.1: + "2.11.1": url: "https://github.com/pybind/pybind11/archive/v2.11.1.tar.gz" sha256: "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c" + "2.12.0": + url: "https://github.com/pybind/pybind11/archive/v2.12.0.tar.gz" + sha256: "bf8f242abd1abcd375d516a7067490fb71abd79519a282d22b6e4d19282185a7" diff --git a/recipes/pybind11/config.yml b/recipes/pybind11/config.yml index 0637bb6f5067e..adf07a18a08dd 100644 --- a/recipes/pybind11/config.yml +++ b/recipes/pybind11/config.yml @@ -15,3 +15,5 @@ versions: folder: all "2.11.1": folder: all + "2.12.0": + folder: all From bc30f3f64633e35fcb3051c939ad187f1875aa6c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 14:48:59 +0900 Subject: [PATCH 4077/4087] (#23302) kuba-zip: add version 0.3.2 --- recipes/kuba-zip/all/conandata.yml | 3 +++ recipes/kuba-zip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kuba-zip/all/conandata.yml b/recipes/kuba-zip/all/conandata.yml index 707848aa88e1e..2c9419a46ca41 100644 --- a/recipes/kuba-zip/all/conandata.yml +++ b/recipes/kuba-zip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/kuba--/zip/archive/v0.3.2.tar.gz" + sha256: "0c33740aec7a3913bca07df360420c19cac5e794e0f602f14f798cb2e6f710e5" "0.3.1": url: "https://github.com/kuba--/zip/archive/v0.3.1.tar.gz" sha256: "775b8a44b53e72a55c13839bf507219c2cf30b26f62e70f1a20bb727db54438f" diff --git a/recipes/kuba-zip/config.yml b/recipes/kuba-zip/config.yml index ab67eaba39ebb..b1201b1eaf043 100644 --- a/recipes/kuba-zip/config.yml +++ b/recipes/kuba-zip/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.2": + folder: "all" "0.3.1": folder: "all" "0.3.0": From 0a5a86d32683d2a2d2f9a7fb2b213bf9cfd24d1b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Apr 2024 09:28:08 +0300 Subject: [PATCH 4078/4087] (#23275) imath: add v3.1.11, drop old versions --- recipes/imath/all/conandata.yml | 15 +++------------ recipes/imath/config.yml | 10 ++-------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/recipes/imath/all/conandata.yml b/recipes/imath/all/conandata.yml index 605325978acfe..3f20468a0db96 100644 --- a/recipes/imath/all/conandata.yml +++ b/recipes/imath/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.11": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.11.tar.gz" + sha256: "9057849585e49b8b85abe7cc1e76e22963b01bfdc3b6d83eac90c499cd760063" "3.1.10": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.10.tar.gz" sha256: "f2943e86bfb694e216c60b9a169e5356f8a90f18fbd34d7b6e3450be14f60b10" @@ -8,18 +11,6 @@ sources: "3.1.8": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.8.tar.gz" sha256: "a23a4e2160ca8ff68607a4e129e484edd1d0d13f707394d32af7aed659020803" - "3.1.7": - url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.7.tar.gz" - sha256: "bff1fa140f4af0e7f02c6cb78d41b9a7d5508e6bcdfda3a583e35460eb6d4b47" - "3.1.6": - url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.6.tar.gz" - sha256: "ea5592230f5ab917bea3ceab266cf38eb4aa4a523078d46eac0f5a89c52304db" - "3.1.5": - url: "https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v3.1.5.tar.gz" - sha256: "1e9c7c94797cf7b7e61908aed1f80a331088cc7d8873318f70376e4aed5f25fb" - "3.1.4": - url: "https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v3.1.4.tar.gz" - sha256: "fcca5fbb37d375a252bacd8a29935569bdc28b888f01ef1d9299ca0c9e87c17a" patches: "3.1.10": - patch_file: "patches/3.1.10-gcc5-backport.patch" diff --git a/recipes/imath/config.yml b/recipes/imath/config.yml index a3cca600992b6..61b9f04e8a57f 100644 --- a/recipes/imath/config.yml +++ b/recipes/imath/config.yml @@ -1,15 +1,9 @@ versions: + "3.1.11": + folder: all "3.1.10": folder: all "3.1.9": folder: all "3.1.8": folder: all - "3.1.7": - folder: all - "3.1.6": - folder: all - "3.1.5": - folder: all - "3.1.4": - folder: all From 0f00c5f129c75e6936c47df8605597b7eddcf7f3 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 2 Apr 2024 02:07:42 -0500 Subject: [PATCH 4079/4087] (#23301) libinput: Make wayland-protocols a build dependency This aligns with how wayland-protocols is handled in every other package. --- recipes/libinput/all/conanfile.py | 41 +++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/recipes/libinput/all/conanfile.py b/recipes/libinput/all/conanfile.py index fe4a2b2983462..93eb56ba01fa4 100644 --- a/recipes/libinput/all/conanfile.py +++ b/recipes/libinput/all/conanfile.py @@ -1,11 +1,13 @@ +import os +import textwrap + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy, get, rmdir +from conan.tools.files import copy, get, replace_in_file, rmdir, save from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain -import os required_conan_version = ">=1.53.0" @@ -38,6 +40,10 @@ class LibinputConan(ConanFile): "with_x11": True, } + @property + def _has_build_profile(self): + return hasattr(self, "settings_build") + def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -58,7 +64,6 @@ def requirements(self): self.requires("gtk/system") if self.options.with_wayland: self.requires("wayland/1.22.0") - self.requires("wayland-protocols/1.33") if self.options.with_x11: self.requires("xorg/system") @@ -77,14 +82,17 @@ def build_requirements(self): self.tool_requires("meson/1.3.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") - if self.options.debug_gui and self.options.get_safe("with_wayland"): - self.tool_requires("wayland/") + if self.options.get_safe("with_wayland"): + if self._has_build_profile: + self.tool_requires("wayland/") + self.tool_requires("wayland-protocols/1.33") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = MesonToolchain(self) + tc.project_options["build.pkg_config_path"] = self.generators_folder tc.project_options["coverity"] = False tc.project_options["datadir"] = "res" tc.project_options["documentation"] = False @@ -96,8 +104,27 @@ def generate(self): tc.project_options["libwacom"] = self.options.with_libwacom tc.project_options["tests"] = False tc.generate() - tc = PkgConfigDeps(self) - tc.generate() + pkg_config_deps = PkgConfigDeps(self) + if self.options.get_safe("with_wayland"): + if self._has_build_profile: + pkg_config_deps.build_context_activated = ["wayland-protocols"] + else: + # Manually generate pkgconfig file of wayland-protocols since + # PkgConfigDeps.build_context_activated can't work with legacy 1 profile + # We must use legacy conan v1 deps_cpp_info because self.dependencies doesn't + # contain build requirements when using 1 profile. + wp_prefix = self.deps_cpp_info["wayland-protocols"].rootpath + wp_version = self.deps_cpp_info["wayland-protocols"].version + wp_pkg_content = textwrap.dedent(f"""\ + prefix={wp_prefix} + datarootdir=${{prefix}}/res + pkgdatadir=${{datarootdir}}/wayland-protocols + Name: Wayland Protocols + Description: Wayland protocol files + Version: {wp_version} + """) + save(self, os.path.join(self.generators_folder, "wayland-protocols.pc"), wp_pkg_content) + pkg_config_deps.generate() tc = VirtualBuildEnv(self) tc.generate() From 2d65dd4bd3a23530b458b8cf5258fcfbf66f7e0c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 16:48:57 +0900 Subject: [PATCH 4080/4087] (#23305) mbedtls: add version 3.6.0 * mbedtls: add version 3.6.0 * remove pkgconfig --- recipes/mbedtls/all/conandata.yml | 3 +++ recipes/mbedtls/all/conanfile.py | 7 +++++++ recipes/mbedtls/config.yml | 2 ++ 3 files changed, 12 insertions(+) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index 4fc47c13a49df..bc6f67303c8e3 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.0": + url: "https://github.com/Mbed-TLS/mbedtls/releases/download/v3.6.0/mbedtls-3.6.0.tar.bz2" + sha256: "3ecf94fcfdaacafb757786a01b7538a61750ebd85c4b024f56ff8ba1490fcd38" "3.5.2": url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.2.tar.gz" sha256: "eedecc468b3f8d052ef05a9d42bf63f04c8a1c50d1c5a94c251c681365a2c723" diff --git a/recipes/mbedtls/all/conanfile.py b/recipes/mbedtls/all/conanfile.py index 6b9782288fcdd..64391d08ba541 100644 --- a/recipes/mbedtls/all/conanfile.py +++ b/recipes/mbedtls/all/conanfile.py @@ -100,6 +100,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")) rmdir(self, os.path.join(self.package_folder, "cmake")) def package_info(self): @@ -110,16 +111,22 @@ def package_info(self): self.cpp_info.components["mbedcrypto"].libs = ["mbedcrypto"] if self.settings.os == "Windows": self.cpp_info.components["mbedcrypto"].system_libs = ["bcrypt"] + if Version(self.version) >= "3.6.0": + self.cpp_info.components["mbedcrypto"].set_property("pkg_config_name", "mbedcrypto") self.cpp_info.components["mbedx509"].set_property("cmake_target_name", "MbedTLS::mbedx509") self.cpp_info.components["mbedx509"].libs = ["mbedx509"] if self.settings.os == "Windows": self.cpp_info.components["mbedx509"].system_libs = ["ws2_32"] self.cpp_info.components["mbedx509"].requires = ["mbedcrypto"] + if Version(self.version) >= "3.6.0": + self.cpp_info.components["mbedx509"].set_property("pkg_config_name", "mbedx509") self.cpp_info.components["libembedtls"].set_property("cmake_target_name", "MbedTLS::mbedtls") self.cpp_info.components["libembedtls"].libs = ["mbedtls"] self.cpp_info.components["libembedtls"].requires = ["mbedx509"] + if Version(self.version) >= "3.6.0": + self.cpp_info.components["libembedtls"].set_property("pkg_config_name", "embedtls") if self.options.get_safe("with_zlib"): for component in self.cpp_info.components: diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 0b85d9e34743c..1fa588f3972ec 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.0": + folder: all "3.5.2": folder: all "3.5.1": From 5d83c48ff9f96e1256570b1e35130fceed5d8acc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 17:28:52 +0900 Subject: [PATCH 4081/4087] (#23324) commata: add version 0.2.9 --- 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 2f4d1cb571d15..710727e45a1b4 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.9": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.9.tar.gz" + sha256: "24c404e90e2f01a2f9e46e55c2f8121a3f146d1f2dfb819b8d7ab5cf13bd6a9f" "0.2.8": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.8.tar.gz" sha256: "a762ec3ef1549aa5aebef78a160a40ee16d396fd976154f1f5c160837d145c8a" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 613aa17053d3e..142c2b3beaf0a 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.9": + folder: all "0.2.8": folder: all "0.2.7": From a7c594e0bae066599ef5e24ddc1b3211dee82487 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 2 Apr 2024 03:38:30 -0500 Subject: [PATCH 4082/4087] (#23325) libressl: Add version 3.9.1 --- recipes/libressl/all/conandata.yml | 3 +++ recipes/libressl/all/conanfile.py | 1 + recipes/libressl/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libressl/all/conandata.yml b/recipes/libressl/all/conandata.yml index 8d70158fca32f..c4fc1016c6f77 100644 --- a/recipes/libressl/all/conandata.yml +++ b/recipes/libressl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.1": + url: "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.9.1.tar.gz" + sha256: "6da0b954695f7ee62b03f64200a8a4f02af93717b60cce04ab6c8df262c07a51" "3.5.3": url: "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.5.3.tar.gz" sha256: "3ab5e5eaef69ce20c6b170ee64d785b42235f48f2e62b095fca5d7b6672b8b28" diff --git a/recipes/libressl/all/conanfile.py b/recipes/libressl/all/conanfile.py index 83b9b2abeb131..01fe7dba222cd 100644 --- a/recipes/libressl/all/conanfile.py +++ b/recipes/libressl/all/conanfile.py @@ -88,6 +88,7 @@ def package(self): cmake.install() rm(self, "*.cmake", os.path.join(self.package_folder, "include")) rmdir(self, os.path.join(self.package_folder, "include", "CMakeFiles")) + 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")) diff --git a/recipes/libressl/config.yml b/recipes/libressl/config.yml index bfca6d19b58d7..10de737dfb8f5 100644 --- a/recipes/libressl/config.yml +++ b/recipes/libressl/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.1": + folder: all "3.5.3": folder: all "3.5.2": From eccce7fc3c0eed5b4747657740bcee2061485320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 2 Apr 2024 11:02:18 +0200 Subject: [PATCH 4083/4087] (#23329) xz_utils: Add source backups for old releases --- recipes/xz_utils/all/conandata.yml | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/recipes/xz_utils/all/conandata.yml b/recipes/xz_utils/all/conandata.yml index 09ca27188fcd2..3274a9b4cdc21 100644 --- a/recipes/xz_utils/all/conandata.yml +++ b/recipes/xz_utils/all/conandata.yml @@ -1,24 +1,38 @@ sources: "5.4.5": - url: "https://tukaani.org/xz/xz-5.4.5.tar.xz" + url: + - "https://tukaani.org/xz/xz-5.4.5.tar.xz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/da9dec6c12cf2ecf269c31ab65b5de18e8e52b96f35d5bcd08c12b43e6878803" sha256: "da9dec6c12cf2ecf269c31ab65b5de18e8e52b96f35d5bcd08c12b43e6878803" "5.4.4": - url: "https://tukaani.org/xz/xz-5.4.4.tar.gz" + url: + - "https://tukaani.org/xz/xz-5.4.4.tar.gz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8" sha256: "aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8" "5.4.2": - url: "https://tukaani.org/xz/xz-5.4.2.tar.gz" + url: + - "https://tukaani.org/xz/xz-5.4.2.tar.gz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/87947679abcf77cc509d8d1b474218fd16b72281e2797360e909deaee1ac9d05" sha256: "87947679abcf77cc509d8d1b474218fd16b72281e2797360e909deaee1ac9d05" "5.4.0": - url: "https://tukaani.org/xz/xz-5.4.0.tar.gz" + url: + - "https://tukaani.org/xz/xz-5.4.0.tar.gz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/7471ef5991f690268a8f2be019acec2e0564b7b233ca40035f339fe9a07f830b" sha256: "7471ef5991f690268a8f2be019acec2e0564b7b233ca40035f339fe9a07f830b" "5.2.10": - url: "https://tukaani.org/xz/xz-5.2.10.tar.gz" + url: + - "https://tukaani.org/xz/xz-5.2.10.tar.gz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/eb7a3b2623c9d0135da70ca12808a214be9c019132baaa61c9e1d198d1d9ded3" sha256: "eb7a3b2623c9d0135da70ca12808a214be9c019132baaa61c9e1d198d1d9ded3" "5.2.5": - url: "https://tukaani.org/xz/xz-5.2.5.tar.gz" + url: + - "https://tukaani.org/xz/xz-5.2.5.tar.gz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10" sha256: "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10" "5.2.4": - url: "https://tukaani.org/xz/xz-5.2.4.tar.gz" + url: + - "https://tukaani.org/xz/xz-5.2.4.tar.gz" + - "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/b512f3b726d3b37b6dc4c8570e137b9311e7552e8ccbab4d39d47ce5f4177145" sha256: "b512f3b726d3b37b6dc4c8570e137b9311e7552e8ccbab4d39d47ce5f4177145" patches: "5.2.4": From a7f698304b3f18cd6fc4f0d2120ec86edd5827cd Mon Sep 17 00:00:00 2001 From: Beartama <8091245+uyha@users.noreply.github.com> Date: Tue, 2 Apr 2024 12:47:50 +0300 Subject: [PATCH 4084/4087] (#23338) msgpack-cxx: add version 6.1.1 --- recipes/msgpack-cxx/all/conandata.yml | 3 +++ recipes/msgpack-cxx/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/msgpack-cxx/all/conandata.yml b/recipes/msgpack-cxx/all/conandata.yml index 6af577efebddf..7f56a30465e39 100644 --- a/recipes/msgpack-cxx/all/conandata.yml +++ b/recipes/msgpack-cxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.1": + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-6.1.1/msgpack-cxx-6.1.1.tar.gz" + sha256: "5fd555742e37bbd58d166199e669f01f743c7b3c6177191dd7b31fb0c37fa191" "6.1.0": url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-6.1.0/msgpack-cxx-6.1.0.tar.gz" sha256: "23ede7e93c8efee343ad8c6514c28f3708207e5106af3b3e4969b3a9ed7039e7" diff --git a/recipes/msgpack-cxx/config.yml b/recipes/msgpack-cxx/config.yml index 934a0432a27c7..ed41d0a75c634 100644 --- a/recipes/msgpack-cxx/config.yml +++ b/recipes/msgpack-cxx/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.1": + folder: all "6.1.0": folder: all "6.0.0": From 883746559099a801bcb672290d703f5e3be0f191 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Tue, 2 Apr 2024 14:24:36 +0200 Subject: [PATCH 4085/4087] (#19031) openssh/9.1p1: Added openssh recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * openssh: Added openssh recipe * Update zlib dependency range Co-authored-by: Rubén Rincón Blanco * Empty commit for pipeline re-run * openssh: Disbaled zlib version check during configure * Simplify conditional patching & test package * Update recipes/openssh/all/conanfile.py Co-authored-by: Jordan Williams * Update recipes/openssh/all/conanfile.py Co-authored-by: Jordan Williams * Update recipes/openssh/all/conanfile.py Co-authored-by: Jordan Williams * openssh: Updated recipe according to PR discusion and suggestions * openssh:: Fixed imports and indentation * openssh: Fixed configure args * openssh: removed support for old version 8.1p1 * Update recipes/openssh/all/conanfile.py Co-authored-by: Jordan Williams * openssh: Added support for libressl * Update recipes/openssh/all/conanfile.py Co-authored-by: Rubén Rincón Blanco * Update recipes/openssh/all/conanfile.py Co-authored-by: Martin Valgur * Update recipes/openssh/all/conanfile.py Co-authored-by: Martin Valgur * openssh: Updated with_pam default value * Limited use of virtualrunenv in build scope. Applied suggestions * Solved implicit function declarations errors --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Rubén Rincón Co-authored-by: Jordan Williams Co-authored-by: Martin Valgur Co-authored-by: Francisco Ramirez de Anton --- recipes/openssh/all/conandata.yml | 7 + recipes/openssh/all/conanfile.py | 132 ++++++++++++++++++ recipes/openssh/all/test_package/conanfile.py | 18 +++ recipes/openssh/config.yml | 5 + 4 files changed, 162 insertions(+) create mode 100644 recipes/openssh/all/conandata.yml create mode 100644 recipes/openssh/all/conanfile.py create mode 100644 recipes/openssh/all/test_package/conanfile.py create mode 100644 recipes/openssh/config.yml diff --git a/recipes/openssh/all/conandata.yml b/recipes/openssh/all/conandata.yml new file mode 100644 index 0000000000000..e3ccaa5b6d5e6 --- /dev/null +++ b/recipes/openssh/all/conandata.yml @@ -0,0 +1,7 @@ +sources: + "9.6p1": + url: "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz" + sha256: "910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c" + "9.1p1": + url: "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.1p1.tar.gz" + sha256: "19f85009c7e3e23787f0236fbb1578392ab4d4bf9f8ec5fe6bc1cd7e8bfdd288" diff --git a/recipes/openssh/all/conanfile.py b/recipes/openssh/all/conanfile.py new file mode 100644 index 0000000000000..19003f0d0b8c0 --- /dev/null +++ b/recipes/openssh/all/conanfile.py @@ -0,0 +1,132 @@ +from os.path import join + +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, rmdir, export_conandata_patches +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.54.0" + + +class PackageConan(ConanFile): + name = "openssh" + description = "The OpenSSH (portable) suite of secure connectivity tools" + license = "SSH-OpenSSH" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.openssh.com/portable.html" + topics = ("security", "cryptography", "login", "keychain", "file-sharing", "ssh") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_libcrypto": [False, "libressl", "openssl"], + "with_pam": [False, "openpam"], # linux-pam and Solaris PAM are also supported + "with_selinux": [True, False], + "with_libedit": [True, False], + "with_sandbox": [False, "auto", "capsicum", "darwin", "rlimit", "seccomp_filter", "systrace", "pledge"] + } + default_options = { + "with_libcrypto": "openssl", + "with_pam": False, + "with_selinux": False, + "with_libedit": False, + "with_sandbox": "auto" + } + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + 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("zlib/[>=1.2.11 <2]") + if self.options.with_libcrypto == "openssl": + self.requires("openssl/[>=1.1 <=3.1]") + elif self.options.with_libcrypto == "libressl": + self.requires("libressl/3.9.1") + if self.options.with_pam == "openpam": + self.requires("openpam/20190224") + if self.options.with_libedit: + self.requires("editline/3.1") + + def validate(self): + if self.settings.os in ["baremetal", "Windows"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + ad = AutotoolsDeps(self) + ad.generate() + + tc = AutotoolsToolchain(self) + tc.configure_args.append("--without-zlib-version-check") + + if self.options.with_selinux: + tc.configure_args.append("--with-selinux") + + if self.options.with_pam: + tc.configure_args.append("--with-pam") + + if self.options.with_libedit: + editline = self.dependencies["editline"] + tc.configure_args.append("--with-libedit={}".format(editline.package_folder)) + + if self.options.with_libcrypto == "openssl": + openssl = self.dependencies["openssl"] + tc.configure_args.append("--with-ssl-dir={}".format(openssl.package_folder)) + # It needs libcrypto.so in build time context + if openssl.options.shared: + env = VirtualRunEnv(self) + env.generate(scope="build") + elif self.options.with_libcrypto == "libressl": + libressl = self.dependencies["libressl"] + tc.configure_args.append("--with-ssl-dir={}".format(libressl.package_folder)) + else: + tc.configure_args.append("--without-openssl") + + if self.options.with_sandbox != 'auto': + tc.configure_args.append("--with-sandbox={}".format(self.options.with_sandbox or "no")) + + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + autotools = Autotools(self) + + install_target = 'install-nokeys' if cross_building(self) else 'install' + autotools.install(target=install_target) + + copy(self, "LICENCE", src=self.source_folder, dst=join(self.package_folder, "licenses"), ignore_case=True) + copy(self, "*", src=join(self.package_folder, "libexec"), dst=join(self.package_folder, "bin"), ignore_case=True) + + rmdir(self, join(self.package_folder, "etc")) + rmdir(self, join(self.package_folder, "var")) + rmdir(self, join(self.package_folder, "share")) + rmdir(self, join(self.package_folder, "libexec")) + + def package_info(self): + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + + bindir = join(self.package_folder, "bin") + self.runenv_info.prepend_path("PATH", bindir) diff --git a/recipes/openssh/all/test_package/conanfile.py b/recipes/openssh/all/test_package/conanfile.py new file mode 100644 index 0000000000000..6198df68dc282 --- /dev/null +++ b/recipes/openssh/all/test_package/conanfile.py @@ -0,0 +1,18 @@ +from conan import ConanFile +from conan.tools.build import can_run + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + pass + + def test(self): + if can_run(self): + self.run("ssh -Q help", env="conanrun") diff --git a/recipes/openssh/config.yml b/recipes/openssh/config.yml new file mode 100644 index 0000000000000..a033c3a0343f3 --- /dev/null +++ b/recipes/openssh/config.yml @@ -0,0 +1,5 @@ +versions: + "9.6p1": + folder: all + "9.1p1": + folder: all From 9bdddb3b1504cfe627c7ed7e94ab3d3441961c41 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 2 Apr 2024 15:07:53 +0200 Subject: [PATCH 4086/4087] (#23282) giflib: add version 5.2.2 * giflib: add version 5.2.2 * remove export patch & use CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * Use strtok_s instead of strtok_r with MSVC * split patch * Use patch for symbol export there's a data export that can't be exported using CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS --- recipes/giflib/5.2.x/conandata.yml | 14 + .../5.2.x/patches/0000-msvc-strtok_r.patch | 15 ++ .../5.2.x/patches/0001-msvc-unistd.patch | 245 ------------------ .../patches/5.2.1-0002-msvc-export.patch | 230 ++++++++++++++++ .../patches/5.2.2-0001-msvc-export.patch | 220 ++++++++++++++++ recipes/giflib/config.yml | 2 + 6 files changed, 481 insertions(+), 245 deletions(-) create mode 100644 recipes/giflib/5.2.x/patches/0000-msvc-strtok_r.patch create mode 100644 recipes/giflib/5.2.x/patches/5.2.1-0002-msvc-export.patch create mode 100644 recipes/giflib/5.2.x/patches/5.2.2-0001-msvc-export.patch diff --git a/recipes/giflib/5.2.x/conandata.yml b/recipes/giflib/5.2.x/conandata.yml index e36e2cd9d7be2..ea8a0bcf52687 100644 --- a/recipes/giflib/5.2.x/conandata.yml +++ b/recipes/giflib/5.2.x/conandata.yml @@ -1,7 +1,21 @@ sources: + "5.2.2": + url: "https://downloads.sourceforge.net/project/giflib/giflib-5.2.2.tar.gz" + sha256: "be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb" "5.2.1": url: "https://downloads.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz" sha256: "31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd" patches: + "5.2.2": + - patch_file: "patches/0000-msvc-strtok_r.patch" + patch_description: "Use strtok_s instead of strtok_r with MSVC" + patch_type: "portability" + - patch_file: "patches/5.2.2-0001-msvc-export.patch" + patch_description: "export symbols with MSVC" + patch_type: "portability" "5.2.1": + - patch_file: "patches/0000-msvc-strtok_r.patch" + patch_description: "Use strtok_s instead of strtok_r with MSVC" + patch_type: "portability" - patch_file: "patches/0001-msvc-unistd.patch" + - patch_file: "patches/5.2.1-0002-msvc-export.patch" diff --git a/recipes/giflib/5.2.x/patches/0000-msvc-strtok_r.patch b/recipes/giflib/5.2.x/patches/0000-msvc-strtok_r.patch new file mode 100644 index 0000000000000..e9b7a0f9661b8 --- /dev/null +++ b/recipes/giflib/5.2.x/patches/0000-msvc-strtok_r.patch @@ -0,0 +1,15 @@ +diff --git a/gif_font.c b/gif_font.c +index d90783c..0fd20ed 100644 +--- a/gif_font.c ++++ b/gif_font.c +@@ -11,6 +11,10 @@ SPDX-License-Identifier: MIT + + #include "gif_lib.h" + ++#ifdef _MSC_VER ++# define strtok_r strtok_s ++#endif ++ + /***************************************************************************** + Ascii 8 by 8 regular font - only first 128 characters are supported. + *****************************************************************************/ diff --git a/recipes/giflib/5.2.x/patches/0001-msvc-unistd.patch b/recipes/giflib/5.2.x/patches/0001-msvc-unistd.patch index 05112f7bfb6f7..1a777f5c69b47 100644 --- a/recipes/giflib/5.2.x/patches/0001-msvc-unistd.patch +++ b/recipes/giflib/5.2.x/patches/0001-msvc-unistd.patch @@ -1,18 +1,3 @@ -diff --git a/gif_font.c b/gif_font.c -index d90783c..0fd20ed 100644 ---- a/gif_font.c -+++ b/gif_font.c -@@ -11,6 +11,10 @@ SPDX-License-Identifier: MIT - - #include "gif_lib.h" - -+#ifdef _MSC_VER -+# define strtok_r strtok_s -+#endif -+ - /***************************************************************************** - Ascii 8 by 8 regular font - only first 128 characters are supported. - *****************************************************************************/ diff --git a/gif_hash.h b/gif_hash.h index 6a1b585..6311cd1 100644 --- a/gif_hash.h @@ -29,233 +14,3 @@ index 6a1b585..6311cd1 100644 #include #define HT_SIZE 8192 /* 12bits = 4096 or twice as big! */ -diff --git a/gif_lib.h b/gif_lib.h -index ebdbd3c..bf0d373 100644 ---- a/gif_lib.h -+++ b/gif_lib.h -@@ -13,6 +13,20 @@ SPDX-License-Identifier: MIT - extern "C" { - #endif /* __cplusplus */ - -+#ifdef _MSC_VER -+ #ifdef USE_GIF_LIB -+ #define GIF_EXPORT -+ #else /* USE_GIF_LIB */ -+ #ifdef USE_GIF_DLL -+ #define GIF_EXPORT __declspec(dllimport) -+ #else /* USE_GIF_DLL */ -+ #define GIF_EXPORT __declspec(dllexport) -+ #endif /* USE_GIF_DLL */ -+ #endif /* USE_GIF_LIB */ -+#else -+ #define GIF_EXPORT -+#endif /* _MSC_VER */ -+ - #define GIFLIB_MAJOR 5 - #define GIFLIB_MINOR 2 - #define GIFLIB_RELEASE 1 -@@ -125,13 +139,13 @@ typedef struct GraphicsControlBlock { - ******************************************************************************/ - - /* Main entry points */ --GifFileType *EGifOpenFileName(const char *GifFileName, -+GIF_EXPORT GifFileType *EGifOpenFileName(const char *GifFileName, - const bool GifTestExistence, int *Error); --GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); --GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error); --int EGifSpew(GifFileType * GifFile); --const char *EGifGetGifVersion(GifFileType *GifFile); /* new in 5.x */ --int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); -+GIF_EXPORT GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); -+GIF_EXPORT GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error); -+GIF_EXPORT int EGifSpew(GifFileType * GifFile); -+GIF_EXPORT const char *EGifGetGifVersion(GifFileType *GifFile); /* new in 5.x */ -+GIF_EXPORT int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); - - #define E_GIF_SUCCEEDED 0 - #define E_GIF_ERR_OPEN_FAILED 1 /* And EGif possible errors. */ -@@ -146,31 +160,31 @@ int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); - #define E_GIF_ERR_NOT_WRITEABLE 10 - - /* These are legacy. You probably do not want to call them directly */ --int EGifPutScreenDesc(GifFileType *GifFile, -+GIF_EXPORT int EGifPutScreenDesc(GifFileType *GifFile, - const int GifWidth, const int GifHeight, - const int GifColorRes, - const int GifBackGround, - const ColorMapObject *GifColorMap); --int EGifPutImageDesc(GifFileType *GifFile, -+GIF_EXPORT int EGifPutImageDesc(GifFileType *GifFile, - const int GifLeft, const int GifTop, - const int GifWidth, const int GifHeight, - const bool GifInterlace, - const ColorMapObject *GifColorMap); --void EGifSetGifVersion(GifFileType *GifFile, const bool gif89); --int EGifPutLine(GifFileType *GifFile, GifPixelType *GifLine, -+GIF_EXPORT void EGifSetGifVersion(GifFileType *GifFile, const bool gif89); -+GIF_EXPORT int EGifPutLine(GifFileType *GifFile, GifPixelType *GifLine, - int GifLineLen); --int EGifPutPixel(GifFileType *GifFile, const GifPixelType GifPixel); --int EGifPutComment(GifFileType *GifFile, const char *GifComment); --int EGifPutExtensionLeader(GifFileType *GifFile, const int GifExtCode); --int EGifPutExtensionBlock(GifFileType *GifFile, -+GIF_EXPORT int EGifPutPixel(GifFileType *GifFile, const GifPixelType GifPixel); -+GIF_EXPORT int EGifPutComment(GifFileType *GifFile, const char *GifComment); -+GIF_EXPORT int EGifPutExtensionLeader(GifFileType *GifFile, const int GifExtCode); -+GIF_EXPORT int EGifPutExtensionBlock(GifFileType *GifFile, - const int GifExtLen, const void *GifExtension); --int EGifPutExtensionTrailer(GifFileType *GifFile); --int EGifPutExtension(GifFileType *GifFile, const int GifExtCode, -+GIF_EXPORT int EGifPutExtensionTrailer(GifFileType *GifFile); -+GIF_EXPORT int EGifPutExtension(GifFileType *GifFile, const int GifExtCode, - const int GifExtLen, - const void *GifExtension); --int EGifPutCode(GifFileType *GifFile, int GifCodeSize, -+GIF_EXPORT int EGifPutCode(GifFileType *GifFile, int GifCodeSize, - const GifByteType *GifCodeBlock); --int EGifPutCodeNext(GifFileType *GifFile, -+GIF_EXPORT int EGifPutCodeNext(GifFileType *GifFile, - const GifByteType *GifCodeBlock); - - /****************************************************************************** -@@ -178,11 +192,11 @@ int EGifPutCodeNext(GifFileType *GifFile, - ******************************************************************************/ - - /* Main entry points */ --GifFileType *DGifOpenFileName(const char *GifFileName, int *Error); --GifFileType *DGifOpenFileHandle(int GifFileHandle, int *Error); --int DGifSlurp(GifFileType * GifFile); --GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, int *Error); /* new one (TVT) */ -- int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); -+GIF_EXPORT GifFileType *DGifOpenFileName(const char *GifFileName, int *Error); -+GIF_EXPORT GifFileType *DGifOpenFileHandle(int GifFileHandle, int *Error); -+GIF_EXPORT int DGifSlurp(GifFileType * GifFile); -+GIF_EXPORT GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, int *Error); /* new one (TVT) */ -+GIF_EXPORT int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); - - #define D_GIF_SUCCEEDED 0 - #define D_GIF_ERR_OPEN_FAILED 101 /* And DGif possible errors. */ -@@ -200,26 +214,26 @@ GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, int *Error); /* new - #define D_GIF_ERR_EOF_TOO_SOON 113 - - /* These are legacy. You probably do not want to call them directly */ --int DGifGetScreenDesc(GifFileType *GifFile); --int DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); --int DGifGetImageHeader(GifFileType *GifFile); --int DGifGetImageDesc(GifFileType *GifFile); --int DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); --int DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); --int DGifGetExtension(GifFileType *GifFile, int *GifExtCode, -+GIF_EXPORT int DGifGetScreenDesc(GifFileType *GifFile); -+GIF_EXPORT int DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); -+GIF_EXPORT int DGifGetImageHeader(GifFileType *GifFile); -+GIF_EXPORT int DGifGetImageDesc(GifFileType *GifFile); -+GIF_EXPORT int DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); -+GIF_EXPORT int DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); -+GIF_EXPORT int DGifGetExtension(GifFileType *GifFile, int *GifExtCode, - GifByteType **GifExtension); --int DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); --int DGifGetCode(GifFileType *GifFile, int *GifCodeSize, -+GIF_EXPORT int DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); -+GIF_EXPORT int DGifGetCode(GifFileType *GifFile, int *GifCodeSize, - GifByteType **GifCodeBlock); --int DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); --int DGifGetLZCodes(GifFileType *GifFile, int *GifCode); --const char *DGifGetGifVersion(GifFileType *GifFile); -+GIF_EXPORT int DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); -+GIF_EXPORT int DGifGetLZCodes(GifFileType *GifFile, int *GifCode); -+GIF_EXPORT const char *DGifGetGifVersion(GifFileType *GifFile); - - - /****************************************************************************** - Error handling and reporting. - ******************************************************************************/ --extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ -+GIF_EXPORT extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ - - /***************************************************************************** - Everything below this point is new after version 1.2, supporting `slurp -@@ -230,43 +244,43 @@ extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ - Color map handling from gif_alloc.c - ******************************************************************************/ - --extern ColorMapObject *GifMakeMapObject(int ColorCount, -+GIF_EXPORT extern ColorMapObject *GifMakeMapObject(int ColorCount, - const GifColorType *ColorMap); --extern void GifFreeMapObject(ColorMapObject *Object); --extern ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1, -+GIF_EXPORT extern void GifFreeMapObject(ColorMapObject *Object); -+GIF_EXPORT extern ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1, - const ColorMapObject *ColorIn2, - GifPixelType ColorTransIn2[]); --extern int GifBitSize(int n); -+GIF_EXPORT extern int GifBitSize(int n); - - /****************************************************************************** - Support for the in-core structures allocation (slurp mode). - ******************************************************************************/ - --extern void GifApplyTranslation(SavedImage *Image, GifPixelType Translation[]); --extern int GifAddExtensionBlock(int *ExtensionBlock_Count, -+GIF_EXPORT extern void GifApplyTranslation(SavedImage *Image, GifPixelType Translation[]); -+GIF_EXPORT extern int GifAddExtensionBlock(int *ExtensionBlock_Count, - ExtensionBlock **ExtensionBlocks, - int Function, - unsigned int Len, unsigned char ExtData[]); --extern void GifFreeExtensions(int *ExtensionBlock_Count, -+GIF_EXPORT extern void GifFreeExtensions(int *ExtensionBlock_Count, - ExtensionBlock **ExtensionBlocks); --extern SavedImage *GifMakeSavedImage(GifFileType *GifFile, -+GIF_EXPORT extern SavedImage *GifMakeSavedImage(GifFileType *GifFile, - const SavedImage *CopyFrom); --extern void GifFreeSavedImages(GifFileType *GifFile); -+GIF_EXPORT extern void GifFreeSavedImages(GifFileType *GifFile); - - /****************************************************************************** - 5.x functions for GIF89 graphics control blocks - ******************************************************************************/ - --int DGifExtensionToGCB(const size_t GifExtensionLength, -+GIF_EXPORT int DGifExtensionToGCB(const size_t GifExtensionLength, - const GifByteType *GifExtension, - GraphicsControlBlock *GCB); --size_t EGifGCBToExtension(const GraphicsControlBlock *GCB, -+GIF_EXPORT size_t EGifGCBToExtension(const GraphicsControlBlock *GCB, - GifByteType *GifExtension); - --int DGifSavedExtensionToGCB(GifFileType *GifFile, -+GIF_EXPORT int DGifSavedExtensionToGCB(GifFileType *GifFile, - int ImageIndex, - GraphicsControlBlock *GCB); --int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, -+GIF_EXPORT int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, - GifFileType *GifFile, - int ImageIndex); - -@@ -276,21 +290,21 @@ int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, - - #define GIF_FONT_WIDTH 8 - #define GIF_FONT_HEIGHT 8 --extern const unsigned char GifAsciiTable8x8[][GIF_FONT_WIDTH]; -+GIF_EXPORT extern const unsigned char GifAsciiTable8x8[][GIF_FONT_WIDTH]; - --extern void GifDrawText8x8(SavedImage *Image, -+GIF_EXPORT extern void GifDrawText8x8(SavedImage *Image, - const int x, const int y, - const char *legend, const int color); - --extern void GifDrawBox(SavedImage *Image, -+GIF_EXPORT extern void GifDrawBox(SavedImage *Image, - const int x, const int y, - const int w, const int d, const int color); - --extern void GifDrawRectangle(SavedImage *Image, -+GIF_EXPORT extern void GifDrawRectangle(SavedImage *Image, - const int x, const int y, - const int w, const int d, const int color); - --extern void GifDrawBoxedText8x8(SavedImage *Image, -+GIF_EXPORT extern void GifDrawBoxedText8x8(SavedImage *Image, - const int x, const int y, - const char *legend, - const int border, const int bg, const int fg); diff --git a/recipes/giflib/5.2.x/patches/5.2.1-0002-msvc-export.patch b/recipes/giflib/5.2.x/patches/5.2.1-0002-msvc-export.patch new file mode 100644 index 0000000000000..d9383c54a5729 --- /dev/null +++ b/recipes/giflib/5.2.x/patches/5.2.1-0002-msvc-export.patch @@ -0,0 +1,230 @@ +diff --git a/gif_lib.h b/gif_lib.h +index ebdbd3c..bf0d373 100644 +--- a/gif_lib.h ++++ b/gif_lib.h +@@ -13,6 +13,20 @@ SPDX-License-Identifier: MIT + extern "C" { + #endif /* __cplusplus */ + ++#ifdef _MSC_VER ++ #ifdef USE_GIF_LIB ++ #define GIF_EXPORT ++ #else /* USE_GIF_LIB */ ++ #ifdef USE_GIF_DLL ++ #define GIF_EXPORT __declspec(dllimport) ++ #else /* USE_GIF_DLL */ ++ #define GIF_EXPORT __declspec(dllexport) ++ #endif /* USE_GIF_DLL */ ++ #endif /* USE_GIF_LIB */ ++#else ++ #define GIF_EXPORT ++#endif /* _MSC_VER */ ++ + #define GIFLIB_MAJOR 5 + #define GIFLIB_MINOR 2 + #define GIFLIB_RELEASE 1 +@@ -125,13 +139,13 @@ typedef struct GraphicsControlBlock { + ******************************************************************************/ + + /* Main entry points */ +-GifFileType *EGifOpenFileName(const char *GifFileName, ++GIF_EXPORT GifFileType *EGifOpenFileName(const char *GifFileName, + const bool GifTestExistence, int *Error); +-GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); +-GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error); +-int EGifSpew(GifFileType * GifFile); +-const char *EGifGetGifVersion(GifFileType *GifFile); /* new in 5.x */ +-int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); ++GIF_EXPORT GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); ++GIF_EXPORT GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error); ++GIF_EXPORT int EGifSpew(GifFileType * GifFile); ++GIF_EXPORT const char *EGifGetGifVersion(GifFileType *GifFile); /* new in 5.x */ ++GIF_EXPORT int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); + + #define E_GIF_SUCCEEDED 0 + #define E_GIF_ERR_OPEN_FAILED 1 /* And EGif possible errors. */ +@@ -146,31 +160,31 @@ int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); + #define E_GIF_ERR_NOT_WRITEABLE 10 + + /* These are legacy. You probably do not want to call them directly */ +-int EGifPutScreenDesc(GifFileType *GifFile, ++GIF_EXPORT int EGifPutScreenDesc(GifFileType *GifFile, + const int GifWidth, const int GifHeight, + const int GifColorRes, + const int GifBackGround, + const ColorMapObject *GifColorMap); +-int EGifPutImageDesc(GifFileType *GifFile, ++GIF_EXPORT int EGifPutImageDesc(GifFileType *GifFile, + const int GifLeft, const int GifTop, + const int GifWidth, const int GifHeight, + const bool GifInterlace, + const ColorMapObject *GifColorMap); +-void EGifSetGifVersion(GifFileType *GifFile, const bool gif89); +-int EGifPutLine(GifFileType *GifFile, GifPixelType *GifLine, ++GIF_EXPORT void EGifSetGifVersion(GifFileType *GifFile, const bool gif89); ++GIF_EXPORT int EGifPutLine(GifFileType *GifFile, GifPixelType *GifLine, + int GifLineLen); +-int EGifPutPixel(GifFileType *GifFile, const GifPixelType GifPixel); +-int EGifPutComment(GifFileType *GifFile, const char *GifComment); +-int EGifPutExtensionLeader(GifFileType *GifFile, const int GifExtCode); +-int EGifPutExtensionBlock(GifFileType *GifFile, ++GIF_EXPORT int EGifPutPixel(GifFileType *GifFile, const GifPixelType GifPixel); ++GIF_EXPORT int EGifPutComment(GifFileType *GifFile, const char *GifComment); ++GIF_EXPORT int EGifPutExtensionLeader(GifFileType *GifFile, const int GifExtCode); ++GIF_EXPORT int EGifPutExtensionBlock(GifFileType *GifFile, + const int GifExtLen, const void *GifExtension); +-int EGifPutExtensionTrailer(GifFileType *GifFile); +-int EGifPutExtension(GifFileType *GifFile, const int GifExtCode, ++GIF_EXPORT int EGifPutExtensionTrailer(GifFileType *GifFile); ++GIF_EXPORT int EGifPutExtension(GifFileType *GifFile, const int GifExtCode, + const int GifExtLen, + const void *GifExtension); +-int EGifPutCode(GifFileType *GifFile, int GifCodeSize, ++GIF_EXPORT int EGifPutCode(GifFileType *GifFile, int GifCodeSize, + const GifByteType *GifCodeBlock); +-int EGifPutCodeNext(GifFileType *GifFile, ++GIF_EXPORT int EGifPutCodeNext(GifFileType *GifFile, + const GifByteType *GifCodeBlock); + + /****************************************************************************** +@@ -178,11 +192,11 @@ int EGifPutCodeNext(GifFileType *GifFile, + ******************************************************************************/ + + /* Main entry points */ +-GifFileType *DGifOpenFileName(const char *GifFileName, int *Error); +-GifFileType *DGifOpenFileHandle(int GifFileHandle, int *Error); +-int DGifSlurp(GifFileType * GifFile); +-GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, int *Error); /* new one (TVT) */ +- int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); ++GIF_EXPORT GifFileType *DGifOpenFileName(const char *GifFileName, int *Error); ++GIF_EXPORT GifFileType *DGifOpenFileHandle(int GifFileHandle, int *Error); ++GIF_EXPORT int DGifSlurp(GifFileType * GifFile); ++GIF_EXPORT GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, int *Error); /* new one (TVT) */ ++GIF_EXPORT int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); + + #define D_GIF_SUCCEEDED 0 + #define D_GIF_ERR_OPEN_FAILED 101 /* And DGif possible errors. */ +@@ -200,26 +214,26 @@ GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, int *Error); /* new + #define D_GIF_ERR_EOF_TOO_SOON 113 + + /* These are legacy. You probably do not want to call them directly */ +-int DGifGetScreenDesc(GifFileType *GifFile); +-int DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); +-int DGifGetImageHeader(GifFileType *GifFile); +-int DGifGetImageDesc(GifFileType *GifFile); +-int DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); +-int DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); +-int DGifGetExtension(GifFileType *GifFile, int *GifExtCode, ++GIF_EXPORT int DGifGetScreenDesc(GifFileType *GifFile); ++GIF_EXPORT int DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); ++GIF_EXPORT int DGifGetImageHeader(GifFileType *GifFile); ++GIF_EXPORT int DGifGetImageDesc(GifFileType *GifFile); ++GIF_EXPORT int DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); ++GIF_EXPORT int DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); ++GIF_EXPORT int DGifGetExtension(GifFileType *GifFile, int *GifExtCode, + GifByteType **GifExtension); +-int DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); +-int DGifGetCode(GifFileType *GifFile, int *GifCodeSize, ++GIF_EXPORT int DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); ++GIF_EXPORT int DGifGetCode(GifFileType *GifFile, int *GifCodeSize, + GifByteType **GifCodeBlock); +-int DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); +-int DGifGetLZCodes(GifFileType *GifFile, int *GifCode); +-const char *DGifGetGifVersion(GifFileType *GifFile); ++GIF_EXPORT int DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); ++GIF_EXPORT int DGifGetLZCodes(GifFileType *GifFile, int *GifCode); ++GIF_EXPORT const char *DGifGetGifVersion(GifFileType *GifFile); + + + /****************************************************************************** + Error handling and reporting. + ******************************************************************************/ +-extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ ++GIF_EXPORT extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ + + /***************************************************************************** + Everything below this point is new after version 1.2, supporting `slurp +@@ -230,43 +244,43 @@ extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ + Color map handling from gif_alloc.c + ******************************************************************************/ + +-extern ColorMapObject *GifMakeMapObject(int ColorCount, ++GIF_EXPORT extern ColorMapObject *GifMakeMapObject(int ColorCount, + const GifColorType *ColorMap); +-extern void GifFreeMapObject(ColorMapObject *Object); +-extern ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1, ++GIF_EXPORT extern void GifFreeMapObject(ColorMapObject *Object); ++GIF_EXPORT extern ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1, + const ColorMapObject *ColorIn2, + GifPixelType ColorTransIn2[]); +-extern int GifBitSize(int n); ++GIF_EXPORT extern int GifBitSize(int n); + + /****************************************************************************** + Support for the in-core structures allocation (slurp mode). + ******************************************************************************/ + +-extern void GifApplyTranslation(SavedImage *Image, GifPixelType Translation[]); +-extern int GifAddExtensionBlock(int *ExtensionBlock_Count, ++GIF_EXPORT extern void GifApplyTranslation(SavedImage *Image, GifPixelType Translation[]); ++GIF_EXPORT extern int GifAddExtensionBlock(int *ExtensionBlock_Count, + ExtensionBlock **ExtensionBlocks, + int Function, + unsigned int Len, unsigned char ExtData[]); +-extern void GifFreeExtensions(int *ExtensionBlock_Count, ++GIF_EXPORT extern void GifFreeExtensions(int *ExtensionBlock_Count, + ExtensionBlock **ExtensionBlocks); +-extern SavedImage *GifMakeSavedImage(GifFileType *GifFile, ++GIF_EXPORT extern SavedImage *GifMakeSavedImage(GifFileType *GifFile, + const SavedImage *CopyFrom); +-extern void GifFreeSavedImages(GifFileType *GifFile); ++GIF_EXPORT extern void GifFreeSavedImages(GifFileType *GifFile); + + /****************************************************************************** + 5.x functions for GIF89 graphics control blocks + ******************************************************************************/ + +-int DGifExtensionToGCB(const size_t GifExtensionLength, ++GIF_EXPORT int DGifExtensionToGCB(const size_t GifExtensionLength, + const GifByteType *GifExtension, + GraphicsControlBlock *GCB); +-size_t EGifGCBToExtension(const GraphicsControlBlock *GCB, ++GIF_EXPORT size_t EGifGCBToExtension(const GraphicsControlBlock *GCB, + GifByteType *GifExtension); + +-int DGifSavedExtensionToGCB(GifFileType *GifFile, ++GIF_EXPORT int DGifSavedExtensionToGCB(GifFileType *GifFile, + int ImageIndex, + GraphicsControlBlock *GCB); +-int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, ++GIF_EXPORT int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, + GifFileType *GifFile, + int ImageIndex); + +@@ -276,21 +290,21 @@ int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, + + #define GIF_FONT_WIDTH 8 + #define GIF_FONT_HEIGHT 8 +-extern const unsigned char GifAsciiTable8x8[][GIF_FONT_WIDTH]; ++GIF_EXPORT extern const unsigned char GifAsciiTable8x8[][GIF_FONT_WIDTH]; + +-extern void GifDrawText8x8(SavedImage *Image, ++GIF_EXPORT extern void GifDrawText8x8(SavedImage *Image, + const int x, const int y, + const char *legend, const int color); + +-extern void GifDrawBox(SavedImage *Image, ++GIF_EXPORT extern void GifDrawBox(SavedImage *Image, + const int x, const int y, + const int w, const int d, const int color); + +-extern void GifDrawRectangle(SavedImage *Image, ++GIF_EXPORT extern void GifDrawRectangle(SavedImage *Image, + const int x, const int y, + const int w, const int d, const int color); + +-extern void GifDrawBoxedText8x8(SavedImage *Image, ++GIF_EXPORT extern void GifDrawBoxedText8x8(SavedImage *Image, + const int x, const int y, + const char *legend, + const int border, const int bg, const int fg); diff --git a/recipes/giflib/5.2.x/patches/5.2.2-0001-msvc-export.patch b/recipes/giflib/5.2.x/patches/5.2.2-0001-msvc-export.patch new file mode 100644 index 0000000000000..bdeb9f0885c6a --- /dev/null +++ b/recipes/giflib/5.2.x/patches/5.2.2-0001-msvc-export.patch @@ -0,0 +1,220 @@ +diff --git a/gif_lib.h b/gif_lib.h +--- a/gif_lib.h ++++ b/gif_lib.h +@@ -13,6 +13,20 @@ + extern "C" { + #endif /* __cplusplus */ + ++#ifdef _MSC_VER ++ #ifdef USE_GIF_LIB ++ #define GIF_EXPORT ++ #else /* USE_GIF_LIB */ ++ #ifdef USE_GIF_DLL ++ #define GIF_EXPORT __declspec(dllimport) ++ #else /* USE_GIF_DLL */ ++ #define GIF_EXPORT __declspec(dllexport) ++ #endif /* USE_GIF_DLL */ ++ #endif /* USE_GIF_LIB */ ++#else ++ #define GIF_EXPORT ++#endif /* _MSC_VER */ ++ + #define GIFLIB_MAJOR 5 + #define GIFLIB_MINOR 2 + #define GIFLIB_RELEASE 2 +@@ -125,13 +139,13 @@ + ******************************************************************************/ + + /* Main entry points */ +-GifFileType *EGifOpenFileName(const char *GifFileName, ++GIF_EXPORT GifFileType *EGifOpenFileName(const char *GifFileName, + const bool GifTestExistence, int *Error); +-GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); +-GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error); +-int EGifSpew(GifFileType *GifFile); +-const char *EGifGetGifVersion(GifFileType *GifFile); /* new in 5.x */ +-int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); ++GIF_EXPORT GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); ++GIF_EXPORT GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error); ++GIF_EXPORT int EGifSpew(GifFileType *GifFile); ++GIF_EXPORT const char *EGifGetGifVersion(GifFileType *GifFile); /* new in 5.x */ ++GIF_EXPORT int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); + + #define E_GIF_SUCCEEDED 0 + #define E_GIF_ERR_OPEN_FAILED 1 /* And EGif possible errors. */ +@@ -146,39 +160,39 @@ + #define E_GIF_ERR_NOT_WRITEABLE 10 + + /* These are legacy. You probably do not want to call them directly */ +-int EGifPutScreenDesc(GifFileType *GifFile, const int GifWidth, ++GIF_EXPORT int EGifPutScreenDesc(GifFileType *GifFile, const int GifWidth, + const int GifHeight, const int GifColorRes, + const int GifBackGround, + const ColorMapObject *GifColorMap); +-int EGifPutImageDesc(GifFileType *GifFile, const int GifLeft, const int GifTop, ++GIF_EXPORT int EGifPutImageDesc(GifFileType *GifFile, const int GifLeft, const int GifTop, + const int GifWidth, const int GifHeight, + const bool GifInterlace, + const ColorMapObject *GifColorMap); +-void EGifSetGifVersion(GifFileType *GifFile, const bool gif89); +-int EGifPutLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); +-int EGifPutPixel(GifFileType *GifFile, const GifPixelType GifPixel); +-int EGifPutComment(GifFileType *GifFile, const char *GifComment); +-int EGifPutExtensionLeader(GifFileType *GifFile, const int GifExtCode); +-int EGifPutExtensionBlock(GifFileType *GifFile, const int GifExtLen, ++GIF_EXPORT void EGifSetGifVersion(GifFileType *GifFile, const bool gif89); ++GIF_EXPORT int EGifPutLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); ++GIF_EXPORT int EGifPutPixel(GifFileType *GifFile, const GifPixelType GifPixel); ++GIF_EXPORT int EGifPutComment(GifFileType *GifFile, const char *GifComment); ++GIF_EXPORT int EGifPutExtensionLeader(GifFileType *GifFile, const int GifExtCode); ++GIF_EXPORT int EGifPutExtensionBlock(GifFileType *GifFile, const int GifExtLen, + const void *GifExtension); +-int EGifPutExtensionTrailer(GifFileType *GifFile); +-int EGifPutExtension(GifFileType *GifFile, const int GifExtCode, ++GIF_EXPORT int EGifPutExtensionTrailer(GifFileType *GifFile); ++GIF_EXPORT int EGifPutExtension(GifFileType *GifFile, const int GifExtCode, + const int GifExtLen, const void *GifExtension); +-int EGifPutCode(GifFileType *GifFile, int GifCodeSize, ++GIF_EXPORT int EGifPutCode(GifFileType *GifFile, int GifCodeSize, + const GifByteType *GifCodeBlock); +-int EGifPutCodeNext(GifFileType *GifFile, const GifByteType *GifCodeBlock); ++GIF_EXPORT int EGifPutCodeNext(GifFileType *GifFile, const GifByteType *GifCodeBlock); + + /****************************************************************************** + GIF decoding routines + ******************************************************************************/ + + /* Main entry points */ +-GifFileType *DGifOpenFileName(const char *GifFileName, int *Error); +-GifFileType *DGifOpenFileHandle(int GifFileHandle, int *Error); +-int DGifSlurp(GifFileType *GifFile); +-GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, ++GIF_EXPORT GifFileType *DGifOpenFileName(const char *GifFileName, int *Error); ++GIF_EXPORT GifFileType *DGifOpenFileHandle(int GifFileHandle, int *Error); ++GIF_EXPORT int DGifSlurp(GifFileType *GifFile); ++GIF_EXPORT GifFileType *DGifOpen(void *userPtr, InputFunc readFunc, + int *Error); /* new one (TVT) */ +-int DGifCloseFile(GifFileType *GifFile, int *ErrorCode); ++GIF_EXPORT int DGifCloseFile(GifFileType *GifFile, int *ErrorCode); + + #define D_GIF_SUCCEEDED 0 + #define D_GIF_ERR_OPEN_FAILED 101 /* And DGif possible errors. */ +@@ -196,25 +210,25 @@ + #define D_GIF_ERR_EOF_TOO_SOON 113 + + /* These are legacy. You probably do not want to call them directly */ +-int DGifGetScreenDesc(GifFileType *GifFile); +-int DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); +-int DGifGetImageHeader(GifFileType *GifFile); +-int DGifGetImageDesc(GifFileType *GifFile); +-int DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); +-int DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); +-int DGifGetExtension(GifFileType *GifFile, int *GifExtCode, ++GIF_EXPORT int DGifGetScreenDesc(GifFileType *GifFile); ++GIF_EXPORT int DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); ++GIF_EXPORT int DGifGetImageHeader(GifFileType *GifFile); ++GIF_EXPORT int DGifGetImageDesc(GifFileType *GifFile); ++GIF_EXPORT int DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); ++GIF_EXPORT int DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); ++GIF_EXPORT int DGifGetExtension(GifFileType *GifFile, int *GifExtCode, + GifByteType **GifExtension); +-int DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); +-int DGifGetCode(GifFileType *GifFile, int *GifCodeSize, ++GIF_EXPORT int DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); ++GIF_EXPORT int DGifGetCode(GifFileType *GifFile, int *GifCodeSize, + GifByteType **GifCodeBlock); +-int DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); +-int DGifGetLZCodes(GifFileType *GifFile, int *GifCode); +-const char *DGifGetGifVersion(GifFileType *GifFile); ++GIF_EXPORT int DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); ++GIF_EXPORT int DGifGetLZCodes(GifFileType *GifFile, int *GifCode); ++GIF_EXPORT const char *DGifGetGifVersion(GifFileType *GifFile); + + /****************************************************************************** + Error handling and reporting. + ******************************************************************************/ +-extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ ++GIF_EXPORT extern const char *GifErrorString(int ErrorCode); /* new in 2012 - ESR */ + + /***************************************************************************** + Everything below this point is new after version 1.2, supporting `slurp +@@ -225,42 +239,42 @@ + Color map handling from gif_alloc.c + ******************************************************************************/ + +-extern ColorMapObject *GifMakeMapObject(int ColorCount, ++GIF_EXPORT extern ColorMapObject *GifMakeMapObject(int ColorCount, + const GifColorType *ColorMap); +-extern void GifFreeMapObject(ColorMapObject *Object); +-extern ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1, ++GIF_EXPORT extern void GifFreeMapObject(ColorMapObject *Object); ++GIF_EXPORT extern ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1, + const ColorMapObject *ColorIn2, + GifPixelType ColorTransIn2[]); +-extern int GifBitSize(int n); ++GIF_EXPORT extern int GifBitSize(int n); + + /****************************************************************************** + Support for the in-core structures allocation (slurp mode). + ******************************************************************************/ + +-extern void GifApplyTranslation(SavedImage *Image, ++GIF_EXPORT extern void GifApplyTranslation(SavedImage *Image, + const GifPixelType Translation[]); +-extern int GifAddExtensionBlock(int *ExtensionBlock_Count, ++GIF_EXPORT extern int GifAddExtensionBlock(int *ExtensionBlock_Count, + ExtensionBlock **ExtensionBlocks, int Function, + unsigned int Len, unsigned char ExtData[]); +-extern void GifFreeExtensions(int *ExtensionBlock_Count, ++GIF_EXPORT extern void GifFreeExtensions(int *ExtensionBlock_Count, + ExtensionBlock **ExtensionBlocks); +-extern SavedImage *GifMakeSavedImage(GifFileType *GifFile, ++GIF_EXPORT extern SavedImage *GifMakeSavedImage(GifFileType *GifFile, + const SavedImage *CopyFrom); +-extern void GifFreeSavedImages(GifFileType *GifFile); ++GIF_EXPORT extern void GifFreeSavedImages(GifFileType *GifFile); + + /****************************************************************************** + 5.x functions for GIF89 graphics control blocks + ******************************************************************************/ + +-int DGifExtensionToGCB(const size_t GifExtensionLength, ++GIF_EXPORT int DGifExtensionToGCB(const size_t GifExtensionLength, + const GifByteType *GifExtension, + GraphicsControlBlock *GCB); +-size_t EGifGCBToExtension(const GraphicsControlBlock *GCB, ++GIF_EXPORT size_t EGifGCBToExtension(const GraphicsControlBlock *GCB, + GifByteType *GifExtension); + +-int DGifSavedExtensionToGCB(GifFileType *GifFile, int ImageIndex, ++GIF_EXPORT int DGifSavedExtensionToGCB(GifFileType *GifFile, int ImageIndex, + GraphicsControlBlock *GCB); +-int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, ++GIF_EXPORT int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB, + GifFileType *GifFile, int ImageIndex); + + /****************************************************************************** +@@ -269,18 +283,18 @@ + + #define GIF_FONT_WIDTH 8 + #define GIF_FONT_HEIGHT 8 +-extern const unsigned char GifAsciiTable8x8[][GIF_FONT_WIDTH]; ++GIF_EXPORT extern const unsigned char GifAsciiTable8x8[][GIF_FONT_WIDTH]; + +-extern void GifDrawText8x8(SavedImage *Image, const int x, const int y, ++GIF_EXPORT extern void GifDrawText8x8(SavedImage *Image, const int x, const int y, + const char *legend, const int color); + +-extern void GifDrawBox(SavedImage *Image, const int x, const int y, const int w, ++GIF_EXPORT extern void GifDrawBox(SavedImage *Image, const int x, const int y, const int w, + const int d, const int color); + +-extern void GifDrawRectangle(SavedImage *Image, const int x, const int y, ++GIF_EXPORT extern void GifDrawRectangle(SavedImage *Image, const int x, const int y, + const int w, const int d, const int color); + +-extern void GifDrawBoxedText8x8(SavedImage *Image, const int x, const int y, ++GIF_EXPORT extern void GifDrawBoxedText8x8(SavedImage *Image, const int x, const int y, + const char *legend, const int border, + const int bg, const int fg); + diff --git a/recipes/giflib/config.yml b/recipes/giflib/config.yml index 1ccf672c09135..c70c4f2d279f1 100644 --- a/recipes/giflib/config.yml +++ b/recipes/giflib/config.yml @@ -1,4 +1,6 @@ versions: + "5.2.2": + folder: "5.2.x" "5.2.1": folder: "5.2.x" "5.1.4": From 11ef9513d3efe896afbafa5decce8f17fcfb8c82 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Apr 2024 22:49:25 +0900 Subject: [PATCH 4087/4087] (#23344) cpp-peglib: add version 1.8.8 --- 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 8f4479718aedd..7aa81fd5b52ff 100644 --- a/recipes/cpp-peglib/1.x.x/conandata.yml +++ b/recipes/cpp-peglib/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.8": + url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.8.tar.gz" + sha256: "3019d8084a146562fe2fd4c71e3226ac6e3994e8cee21cab27b3cd5a86bcef34" "1.8.7": url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.7.tar.gz" sha256: "400696cc7e721b23aeac28a1ae12ceec235e2671888993da2ce012f6acdf83d4" diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml index 1c8807299673f..81349971ce40f 100644 --- a/recipes/cpp-peglib/config.yml +++ b/recipes/cpp-peglib/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.8": + folder: "1.x.x" "1.8.7": folder: "1.x.x" "1.8.6":